几年前无意间接触了微信公众平台开发,这个在当时还是一个新鲜的事物,但现在已经很流行了,发展的类型也特别的多,比如订阅号、服务号、小程序、微信企业号等,这些产品在人们日常的生活与开发中,都是非常常见的。
当时的博主也顺应时代的变化,去尝试着开发公众平台,到目前为止也算得上是得心应手了吧,但平时我不会去开发这种东西,因为我的本职是做Android开发的,所以我会选择在下班或休息时间去专研一下,当然付出是肯定的,目的不是收获,而是积累更多的新知识。最近博主总结了前面做过的微信公众号开发、微信企业号开发的一些思绪,为大家谋了一些福利吧,就是之前写的一些资源需要CSDN下载积分,或者视频教学需要钱,但这次博主抽出时间,把企业号开发相关的接口全部整合优化了一遍,也就是WeChatEnterprise框架了。
回首前面几年我的成果,博主并不觉得自己是什么大神,是跟你们一样的菜鸟,打工仔一枚,只是平时喜欢专研一些技术相关的东西罢了。
最初的源码资源成果,从最初的三次下载量,达到了2450多次,好评率80%以上,但是博主后面发现这个资源莫名其妙的从下载5积分涨到了30积分,还有就是文件有时候下载下来是个rar不带任何后缀,这个是CSDN的问题,绝对不是博主的问题,毕竟30积分对不常玩CSDN的人来说,还是有点高的。
跟CSDN合作的企业号开发视频教学也收获了22740多学员,这也是让我感到很欣慰的,但是出于博主个人的原因,这个视频博主个人觉得是不合格的,因为声音常小而且还带着腼腆,感觉很对不起付费的学员,所以现在准备做一些东西来弥补这个问题,那就是这个懒人式的部署开发框架WeChatEnterprise。
后面博主不推荐大家再去购买这个课程,主要是音质真的不好,加上博主初次做视频,效果真的非常不好,所以不推荐大家再去学习视频,直接使用懒人框架开发学习完全够用了,良心推荐这个懒人式的部署开发框架WeChatEnterprise。
就连博主新出版的书也是用这个懒人式的部署开发框架WeChatEnterprise开发的,里面几乎覆盖了95%以上的开发接口,以及它们的调用、使用。
随便举个栗(例)子,如OAuth2授权、二次验证等。
首先看OAuth2授权,这个也全部都封装好了,可以直接使用。
授权结果:
再来看二次验证:
二次验证的结果:
当然这些只是其中的一部分,其他的接口都是已经封装好的,只需要替换对应的参数即可直接拿来使用。
接下来回到正题,介绍懒人式的部署开发框架WeChatEnterprise的正确使用:
jar下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html,下载后解压,可以看到local_policy.jar和US_export_policy.jar以及readme.txt。
如果安装了JRE,将两个jar文件放到%JRE_HOME% \lib\security目录下覆盖原来的文件。如果安装了JDK,将两个jar文件放到%JDK_HOME%\jre\lib\security目录下覆盖原来文件。
GitHub WeChatEnterprise 框架下载或clone地址:https://github.com/Mr-Jiang/WeChatEnterprise
开发工具下载地址:http://www.engineer-jsp.cn/download/tools/tools.rar
接下来继续给大家介绍WeChatEnterprise 框架的使用以及核心类的解读。
wx.servlet.WXCoreServlet核心类,WeChatEnterprise框架的消息出入口
再部署成功之后,所有的消息请求与收发都在wx.servlet.WXCoreServlet类,这个类将收到的消息进行校验,校验成功之后在解密,解密成功后将协议进行层级分发。该类也是消息的出口,对发送和响应出去的消息进行加密发送。
wx.protocol.WXProtocolManager核心类,WeChatEnterprise框架的消息解析、管理、分发等
在成功收到消息之后,wx.protocol.WXProtocolManager类首先对消息进行解析,数据无误之后将会对协议进行分发,依据消息类型将协议划分为WXTextProtocol、WXImageProtocol、WXVoiceProtocol、WXVideoProtocol、WXLocationProtocol、WXLinkProtocol、WXEventProtocol七大协议场景,即文本协议、图片协议、语音协议、视频协议、位置协议、链接协议、事件协议,其中事件协议WXEventProtocol下又进行了多层级的事件分发。七大协议场景继承自WeChatEnterprise框架的wx.protocol.WXBaseProtocol基础协议,也最终将响应的消息交由wx.protocol.WXBaseProtocol基础协议通过wx.protocol.WXProtocolManager类响应给wx.servlet.WXCoreServlet核心类,wx.servlet.WXCoreServlet核心类再将响应的消息进行加密并发送出去。
在wx.protocol.WXProtocolManager类协议分发的7大场景下,当某个场景所执行的流程全部完成后,由wx.protocol.WXBaseProtocol基础协议类releasProtocol方法将该场景释放,标志下一场景的开始。
上述都是WeChatEnterprise框架最最核心的部分,其他部分都是独立开来的,是开发者主动调用并发送消息给关注者。
接下来具体介绍WeChatEnterprise框架各个包的具体功能:
package wx.api
------ 定义了框架的全局常量、全局变量 :请求地址、Token、EncodingAesKey、CorpId、Secret、获取凭证、封装code请求地址等
package wx.app
------ 应用管理 :获取应用、设置应用、获取应用列表
package wx.contact
------ 通讯录管理 :成员管理、部门管理、标签管理
1.成员管理 :创建成员、读取(获取)成员、更新成员、删除成员、批量删除成员、获取部门成员、获取部门成员详情、userid to openid、openid to userid、二次验证、邀请成员、获取外部联系人详情
2.部门管理 :创建部门、更新部门、删除部门、获取部门列表
3.标签管理 :创建标签、更新标签名字、删除标签、获取标签成员、增加标签成员、删除标签成员、获取标签列表
package wx.encryption
------ 消息的加解密校验、请求校验
package wx.media
------ 素材管理 : 上传临时素材、获取临时素材、上传图片
package wx.menu
------ 自定义菜单 ------ 创建菜单、获取菜单、删除菜单
package wx.msg
------ 基础消息单元类 :文件、照片、MpNews、News、Text、TextCard、Video、Voice
package wx.msg.chat.group
------ 群聊 :创建群聊、修改群聊、获取群聊会话
package wx.msg.push
------- 消息推送:推送文本消息、推送图片消息、推送语音消息、推送视频消息、推送文件消息、推送文本卡片消息、推送news图文消息、推送mpnews消息
package wx.msg.req
------ 发送(请求)消息:发送文本消息、发送图片消息、发送语音消息、发送视频消息、发送文件消息、发送文本卡片消息、发送news图文消息、发送mpnews消息
package wx.msg.resp
------ 被动响应(response) :响应文本消息、响应音乐消息、响应图片消息、响应音频消息、响应视频消息、响应图文消息
package wx.oauth2
------ 授权:code换取成员信息、user_ticket换取用户信息
package wx.protocol
------ 协议核心 :协议解析、协议管理、协议分发、协议划分为7大场景、协议层级下发等
package wx.servlet
------ 请求响应入口 : 消息的请求与响应、二次验证、授权登陆、重定向等
package wx.util
------ 工具包 : IO异步与同步阻塞网络请求、核心消息工具类、线程池管理等
如果你觉得博主写的代码框架不错并且对你的开发有帮助,请在GitHub的WeChatEnterprise仓库页面的右上角点击“Star”,对我的技术分享进行支持,将是我最大的动力,博主会继续分享更多优质的资源给大家。