微信企业号开发源码Java编写,懒人开发一键式部署项目,WeChatEnterprise框架你值得拥有

几年前无意间接触了微信公众平台开发,这个在当时还是一个新鲜的事物,但现在已经很流行了,发展的类型也特别的多,比如订阅号、服务号、小程序、微信企业号等,这些产品在人们日常的生活与开发中,都是非常常见的。

当时的博主也顺应时代的变化,去尝试着开发公众平台,到目前为止也算得上是得心应手了吧,但平时我不会去开发这种东西,因为我的本职是做Android开发的,所以我会选择在下班或休息时间去专研一下,当然付出是肯定的,目的不是收获,而是积累更多的新知识。最近博主总结了前面做过的微信公众号开发、微信企业号开发的一些思绪,为大家谋了一些福利吧,就是之前写的一些资源需要CSDN下载积分,或者视频教学需要钱,但这次博主抽出时间,把企业号开发相关的接口全部整合优化了一遍,也就是WeChatEnterprise框架了。

回首前面几年我的成果,博主并不觉得自己是什么大神,是跟你们一样的菜鸟,打工仔一枚,只是平时喜欢专研一些技术相关的东西罢了。

最初的源码资源成果,从最初的三次下载量,达到了2450多次,好评率80%以上,但是博主后面发现这个资源莫名其妙的从下载5积分涨到了30积分,还有就是文件有时候下载下来是个rar不带任何后缀,这个是CSDN的问题,绝对不是博主的问题,毕竟30积分对不常玩CSDN的人来说,还是有点高的。

跟CSDN合作的企业号开发视频教学也收获了22740多学员,这也是让我感到很欣慰的,但是出于博主个人的原因,这个视频博主个人觉得是不合格的,因为声音常小而且还带着腼腆,感觉很对不起付费的学员,所以现在准备做一些东西来弥补这个问题,那就是这个懒人式的部署开发框架WeChatEnterprise

后面博主不推荐大家再去购买这个课程,主要是音质真的不好,加上博主初次做视频,效果真的非常不好,所以不推荐大家再去学习视频,直接使用懒人框架开发学习完全够用了,良心推荐这个懒人式的部署开发框架WeChatEnterprise

就连博主新出版的书也是用这个懒人式的部署开发框架WeChatEnterprise开发的,里面几乎覆盖了95%以上的开发接口,以及它们的调用、使用。

新书发布地址:https://blog.csdn.net/jspping/article/details/82766456

随便举个栗(例)子,如OAuth2授权、二次验证等

首先看OAuth2授权,这个也全部都封装好了,可以直接使用。

授权结果:

再来看二次验证:

二次验证的结果:

当然这些只是其中的一部分,其他的接口都是已经封装好的,只需要替换对应的参数即可直接拿来使用。

接下来回到正题,介绍懒人式的部署开发框架WeChatEnterprise的正确使用:

①首先要确保你的服务器已经搭建好,然后替换微信官方提供解决java.security.InvalidKeyException:illegal Key Size异常的jar包。

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上clone或下载框架代码,导入到开发工具,找到wx.api.WXApi类,将其中的Token、EncodingAesKey、CorpId、Secret参数全部填上自己实际开发的参数然后保存,注意Token、EncodingAesKey参数可到企业号后台随机生成也可自定义,但必须要两端参数完全一致。

GitHub WeChatEnterprise 框架下载或clone地址:https://github.com/Mr-Jiang/WeChatEnterprise

开发工具下载地址:http://www.engineer-jsp.cn/download/tools/tools.rar

③在开发工具中编译之前导入修改参数后的WeChatEnterprise 框架源码,并部署到你的服务器。随后进入到微信企业后台,单击“应用与小程序”选项,进入页面后,单击左侧“应用”选项,找到“自建”选项,单击你要开启API接收的自建应用,单击要开启API接收的自建应用后,进入到自建应用的详细页面,找到“接收消息”选项,单击“设置API接收”选项,进入到API接收消息页面,将随机生成或自定义的Token、EncodingAesKey一并填写在开启API接收消息的web页面内对应的方框。注意,此时填写的Token、EncodingAesKey必须要与WeChatEnterprise 框架源代码下wx.api.WXApi类的Token、EncodingAesKey完全保持一致,否则会一直验证失败。接下来在给大家介绍URL参数填写,这里默认填写http://你的服务器地址或域名地址/WeChatEnterprise/coreServlet,如果需要修改地址的组成,可以修改服务器的项目root目录,也就是你服务器默认访问的那个项目的首页面,servlet名称可修改WeChatEnterprise 框架源码下的WebRoot/WEB-INF/web.xml里servlet-mapping节点的子节点url-pattern,反正最终这个路径一定是外网下可以被访问到的,否则也是会一直提示验证失败。

④完成以上步骤之后,你离成功部署项目只差一步之遥了,在单击“保存”按钮之前,默认不勾选上报地理位置、上报进入应用事件,博主也不建议勾选,因为勾选后每次进入应用都要提示,很烦人,确认是否勾选之后单击“保存”按钮即可完成开启API接收,进行后续的消息收发、自定义菜单等接口的操作,部署项目至此就成功了。

接下来继续给大家介绍WeChatEnterprise 框架的使用以及核心类的解读。

wx.servlet.WXCoreServlet核心类,WeChatEnterprise框架的消息出入口

再部署成功之后,所有的消息请求与收发都在wx.servlet.WXCoreServlet类,这个类将收到的消息进行校验,校验成功之后在解密,解密成功后将协议进行层级分发。该类也是消息的出口,对发送和响应出去的消息进行加密发送。

wx.protocol.WXProtocolManager核心类,WeChatEnterprise框架的消息解析、管理、分发等

在成功收到消息之后,wx.protocol.WXProtocolManager类首先对消息进行解析,数据无误之后将会对协议进行分发,依据消息类型将协议划分为WXTextProtocolWXImageProtocolWXVoiceProtocolWXVideoProtocolWXLocationProtocolWXLinkProtocolWXEventProtocol七大协议场景,即文本协议、图片协议、语音协议、视频协议、位置协议、链接协议、事件协议,其中事件协议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”,对我的技术分享进行支持,将是我最大的动力,博主会继续分享更多优质的资源给大家。

发布了97 篇原创文章 · 获赞 285 · 访问量 36万+

猜你喜欢

转载自blog.csdn.net/jspping/article/details/82784790
今日推荐