微信公众平台环境搭建
准备
微信官方文档
外网映射工具
Natapp网址ngrok
NATAPP-内网穿透 基于ngrok的国内高速内网映射工具
windows环境运行
运行 natapp -authtoken=a021a8fe913ea048
http://dm.natapp1.cc/wx/portal/ wx6f8ce0ccadf3afff
WxJava框架快速开发微信公众号
WxJava 微信公众号框架 GitHub - Wechat-Group/WxJava: 微信开发 Java SDK ,支持包括微信支付,开放平台,小程序,企业微信,公众号等的后端开发
微服务电商项目引入WxJava框架
<dependency>
<groupId>com.github.binarywang</groupId>
<artifactId>weixin-java-mp</artifactId>
<version>3.3.0</version>
</ dependency>
java.lang.NoSuchMethodError: com.thoughtworks.xstream.io.xml.XppDriver.<init>(Lcom/thoughtworks/xstream/io/naming/NameCoder;)
错误原因是微信框架引入了xstream的版本为1.4.1 而springCloud中eureka-client也引入了xstream为了1.4.9从而版本有冲突。
正确方式:
<dependency>
<groupId>com.github.binarywang</groupId>
<artifactId>weixin-java-mp</artifactId>
<version>3.3.0</version>
<exclusions>
<exclusion>
<artifactId>xstream</artifactId>
<groupId>com.thoughtworks.xstream</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>
spring-cloud-starter-netflix-eureka-client
</artifactId>
<exclusions>
<exclusion>
<artifactId>xstream</artifactId>
<groupId>com.thoughtworks.xstream</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<artifactId>xstream</artifactId>
<groupId>com.thoughtworks.xstream</groupId>
<version>1.4.10</version>
</dependency>
yml配置 :
logging:
level:
org.springframework.web: INFO
com.github.binarywang.demo.wx.mp: DEBUG
me.chanjar.weixin: DEBUG
wx:
mp:
configs:
- appId: wx6f8ce0ccadf3afff #(一个公众号的appid)
secret: cf2b0b4908a84d92b38b939a6fbabe09#(公众号的appsecret)
token: dmabc123#(接口配置里的Token值)dm:
weixin:
registration:
code:
###微信注册码消息
message: 您的注册码为:registrationCodeMessage。
###默认提示消息
default:
registration:
code:
message: 您的消息,我们已经收到,会及时回复给您的!
微信公众号开发案例
案例1
关注微信公众号,在公众号输入手机号码,对应返回验证码
@Component
public class MsgHandler extends AbstractHandler {// 用户发送手机验证码提示@Value("${dm.weixin.registration.code.message}")private String registrationCodeMessage;// 默认用户发送验证码提示@Value("${dm.weixin.default.registration.code.message}")private String defaultRegistrationCodeMessage;@Overridepublic WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, Map<String, Object> context, WxMpService weixinService,WxSessionManager sessionManager) {if (!wxMessage.getMsgType().equals(XmlMsgType.EVENT)) {// TODO 可以选择将消息保存到本地}// 当用户输入关键词如“你好”,“客服”等,并且有客服在线时,把消息转发给在线客服try {if (StringUtils.startsWithAny(wxMessage.getContent(), "你好", "客服")&& weixinService.getKefuService().kfOnlineList().getKfOnlineList().size() > 0) {return WxMpXmlOutMessage.TRANSFER_CUSTOMER_SERVICE().fromUser(wxMessage.getToUser()).toUser(wxMessage.getFromUser()).build();}} catch (WxErrorException e) {e.printStackTrace();}// TODO 组装回复消息// 1.验证关键字是否为手机号码类型String fromMsg = wxMessage.getContent();if (RegexUtils.checkMobile(fromMsg)) {// 如果发送消息为手机号码类型,则发送短信验证码int registCode = registCode();String retContext = registrationCodeMessage.replaceAll("registrationCodeMessage", registCode + "");return new TextBuilder().build(retContext, wxMessage, weixinService);}return new TextBuilder().build(defaultRegistrationCodeMessage, wxMessage, weixinService);}// 获取注册码private int registCode() {int registCode = (int) (Math.random() * 9000 + 1000);return registCode;}}
注意:后期可以将验证码放到redis中。
微信公众平台环境搭建相关推荐
- (一)微信公众号环境搭建与开发接入
一.微信公众号平台 微信公众平台,即我们平时所说的"公众号",曾用名"官方平台"."媒体平台",但最终命名为"公众平台" ...
- 微信公众平台python_python搭建微信公众平台
python基于新浪sae开发的微信公众平台,实现功能: 输入段子---回复笑话 输入开源+文章---发送消息到开源中国 输入快递+订单号---查询快递信息 输入天气---查询南京最近五天天气状况 输 ...
- 微信公众平台搭建与开发揭秘
<微信公众平台搭建与开发揭秘> 基本信息 作者: 易伟 出版社:机械工业出版社 ISBN:9787111435716 上架时间:2013-8-8 出版日期:2013 年8月 开本:1 ...
- 使用python-aiohttp搭建微信公众平台
aiohttp是一个基于asyncio的异步http框架,在高并发的情况下具有很好的性能,这也是我选择使用aiohttp来搭建微信公众平台的原因.但是由于网上关于aiohttp的资料较少,再加上自己对 ...
- 微信公众平台搭建与开发揭秘//////微信公众平台应用开发实战
微信公众平台搭建与开发揭秘,完整扫描版 [香港回来了,累啊.这个是从http://www.ckook.com/处获得的电子书,自制的就不上传了,免得被人叽歪] <微信公众平台搭建与开发揭秘> ...
- 微信公众平台开发培训
课程介绍 本次课主要内容是如何对微信公众账号进行再次开发, 不仅系统讲解微信公众平台的搭建以及使用中的难点,更重要的是系统讲解微信公众账号的开发流程和方法,通过一系列常见的公众账号应用实例的开发全过程 ...
- 使用JAVA开发微信公众平台(一)——环境搭建与开发接入
转自:https://www.cnblogs.com/jerehedu/p/6377759.html 一. 初始微信公众平台 微信公众平台,即我们平时所说的"公众号",曾用名&qu ...
- 【微信公众平台开发之一】微信公众平台开发环境搭建
微信公众平台二次开发的环境有3部分:微信公众账号.百度云平台.ide开发工具 当然我们也可以自己搭建服务器来代替百度平台,只要在服务器url那里改成自己对应的服务器url就行,我们后面会说到. 微信公 ...
- 微信公众平台开发之基于百度 BAE3.0 的开发环境搭建(MyEclipse + SVN)
转载请标明出处,谢谢! 版本说明: V1: 2014-3-30 版 前言: 因为要进行微信开发,就必须要成为微信开发者,要想成为微信开发者,就必须要有服务器响应微信的 To ...
最新文章
- DirectFB编译环境
- 中秋之晚开始 编程语言学习之路
- 不显示坐标刻度_如何使用坐标交叉位置来改变Excel图表的展现形态
- 物联网安全威胁及应对措施
- Caffe RPN:把RPN网络layer添加到caffe基础结构中
- Jenkins发布MVC应用程序
- think php 子查询,使用thinkPHP怎么实现一个子查询语句
- Java 8 golang 1.8_Java8 新特性(一) - Lambda
- leetcode组队学习——查找(二)
- clearcase 操作指南
- NYOJ 412 Same binary weight题解
- C语言 输出斐波那契数列
- JavaScript几种继承方式
- 织梦dedecms网站地图生成在根目录的开发教程
- angular ng lint 相关
- SSM框架实战详细教程(十四)贯穿项目实战之三层架构
- Linux内核之vmlinux与vmlinuz
- MarkdownPad 使用 MathJax
- OCR文字识别怎么识别?
- VLC 媒体播放器将登陆 Apple TV
热门文章
- 你是那种只看《XXXXX从入门到精通》的程序员吗?
- 杜亥姆—马居耳公式(Duhem-Margule equations)及其应用
- 基于Java毕业设计疫情期间物资分派管理系统源码+系统+mysql+lw文档+部署软件
- Nginx中保持长连接的配置
- Kibana Unable to connect to Elasticsearch at http.....30000
- SIEMENS SIMATIC STEP 7 v5.7 Professional 2021
- 架构演进思路--淘宝
- CMPP3 消息定义2
- C语言多线程求和并比较时间
- 去中心化的前端构建工具 — Vite