首页 > 代码库 > java微信公众号开发思路
java微信公众号开发思路
方法一:不开启开发模式,直接在自定义菜单中跳转到网页,适用于流量较小的公众号。
方法二:开启开发者模式,关闭自带的自定义菜单和消息回复,接入自己开发的应用
1、接入校验:创建servlet,在doGet()中进行校验,校验成功表示微信和当前应用接入成功
2、响应用户发送的消息:在servlet的doPost()中进行响应xml消息,xml消息有以下属性:
FromUserName,ToUserName,MsgType,Content
其中MsgType又分event,text,voice,video,link,location,subscribe等等类型,系统需要先根据MsgType类型来进行响应
3、通过appId和secretId获取accessToken,用于调用微信的接口。token有效时间一般为2小时。
1)可以开启线程用thread.sleep(2000)来不断获取token放到静态字段里,要用的时候到静态字段里取即可
2)将token、过期时间保存到redis等数据库中,用的时候取出,然后判断是否过期,过期则重新获取。
3、创建自定义菜单
组装自定义菜单(json),通过post请求将自定义菜单连带accessToken发送到微信接口。菜单创建
交互图:
以下是acessToken设计伪代码:
class WxServlet extends HttpServlet{ doGet(){//接入校验} doPost(){//响应消息} init(){ WxUtil.createMenu(); } } class AcessToken{ pivate String token; private String expires; //getter setter } class WxUtil{ void createMenu(){ //获取acessToken getAcessToken(); //组装菜单(json)发送post请求到微信服务器,创建成功 } String getAcessToken(){ //校验token是否过期,过期重新获取,否则用数据库中的数据 AcessToken t= getAcessTokenFromDb(); if(checkExpires(t.exprise)) return t.token; else return getAcessTokenFromWx().token; } AcessToken getAcessTokenFromDb(){} AcessToken getAcessTokenFromWx(){ //通过微信接口请求acessToken,保存到数据库 saveToken2Db(t); //返回token } void saveToken2Db(t){ //将token保存到数据库或内存中 } }
java微信公众号开发思路
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。