代码拉取完成,页面将自动刷新
同微信服务器交互,是以http方式交互,总体为主动请求微信服务器获取反馈数据、被动接收微信服务器发送的数据并处理之后反馈数据至微信服务器。即:
关于微信接口收发数据类型分析可参照微信公众号接口分析.xlsx
对微信公众号API接口的封装,官方API文档地址:https://mp.weixin.qq.com/wiki
封装微信接口过程是极度辛苦的,因为腾讯的文档总是写的不明不白,客服也总是联系不上!~
本工具包,参照并借鉴了mybatis、spring MVC的一些设计思路,故使用起来会有熟悉的感觉~
/hm-tools-wxmp-adapter/wxmp-core
本工具包的核心,主要实现 accessToken 的获取、管理、缓存、扩展(自定义分布式方案等),http方式请求微信服务器,基础的数据类型,Javabean与xml的相互转换工具/hm-tools-wxmp-adapter/wxmp-menu
自定义菜单相关api接口、请求/响应数据结构以及事件通知数据结构封装。对应微信公众号开发文档“自定义菜单”章节。/hm-tools-wxmp-adapter/wxmp-message
消息管理相关api接口、请求/响应数据结构以及事件通知数据结构封装。对应微信公众号开发文档“消息管理”章节。/hm-tools-wxmp-adapter/wxmp-webpage
微信网页开发相关接口,对应微信对应微信公众号开发文档“微信网页开发”章节。/hm-tools-wxmp-adapter/wxmp-material
素材管理相关api接口、请求/响应数据结构封装。对应微信对应微信公众号开发文档“素材管理”章节/hm-tools-wxmp-adapter/wxmp-comment
图文消息管理相关api接口、请求/响应数据结构封装。对应微信对应微信公众号开发文档“图文消息管理”章节/hm-tools-wxmp-adapter/wxmp-user
用户管理相关api接口、请求/响应数据结构封装。对应微信对应微信公众号开发文档“用户管理”章节/hm-tools-wxmp-adapter/wxmp-account
账号管理相关api接口、请求/响应数据结构封装。对应微信对应微信公众号开发文档“账号管理”章节<parent>
<groupId>top.hmtools</groupId>
<artifactId>hm-tools-wxmp-adapter</artifactId>
<version>1.0.0</version>
</parent>
//以获取自定义菜单为例
//引用所需要的jar包(本工具包完全对标微信公众号文档分类,按需引用jar包即可)
<dependency>
<groupId>top.hmtools</groupId>
<artifactId>wxmp-menu</artifactId>
<version>1.0.0</version>
</dependency>
//初始化全局所使用的配置文件对象实例
WxmpConfiguration configuration = new WxmpConfiguration();
//设置 存储appid,appsecret 数据对 的盒子
AppIdSecretBox appIdSecretBox = new AppIdSecretBox() {
@Override
public AppIdSecretPair getAppIdSecretPair() {
AppIdSecretPair appIdSecretPair = new AppIdSecretPair();
appIdSecretPair.setAppid("你的微信公众号appid");
appIdSecretPair.setAppsecret("你的微信公众号secret");
return appIdSecretPair;
}
};
//设置 获取access token 的中间件
DefaultAccessTokenHandle accessTokenHandle = new DefaultAccessTokenHandle(appIdSecretBox);
configuration.setAccessTokenHandle(accessTokenHandle);
//获取session创建工厂
WxmpSessionFactory factory = WxmpSessionFactoryBuilder.build(configuration);
//获取会话
WxmpSession wxmpSession = factory.openSession();
//获取被动态代理后的api mapper 对象实例
IMenuApi menuApi = wxmpSession.getMapper(IMenuApi.class);
//执行请求,获取反馈结果并打印
MenuWapperBean menu = menuApi.getMenu();
System.out.println(JSON.toJSONString(menu));
打印的内容是:
{
"menu": {
"button": [
{
"name": "哈哈",
"sub_button": [
{
"name": "官网",
"sub_button": [],
"type": "view",
"url": "http://m.hybo.net/main/index/index.html"
},
{
"name": "动态",
"sub_button": [],
"type": "view",
"url": "http://hm.hn.cn/main/news/index.html"
},
{
"name": "视频",
"sub_button": [],
"type": "view",
"url": "http://hm.hn.cn/main/news/video.html"
}
]
}
]
}
}
TODO
在自己的私服建立一个快照代理仓库即可。https://oss.sonatype.org/content/repositories/snapshots/
将建好的参考纳入公共库
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。