JFinal Weixin 1.2 主要添加了对多公众号账户的支持,并对原有代码进行小幅重构,具体变化如下:
改进内容:
添加 ApiConfigKit,便于将 ApiConfig 对象与当前线程进行绑定,方便在各处通过 ApiConfigKit.getApiConfig() 进行获取
原有 ApiCofig 对象中的所有属性与方法去掉 static 关键字
WeixinController 更名为 MsgController,WeixinInterceptor 更名为 MsgInterceptor
添加 ApiController、ApiInterceptor
所有对 ApiConfig 静态方法有依赖的地方改为:ApiConfigKit.getApiConfig() 获取对象后再获取属性值,以便支持多公众号账户
demo重构:DemoController 更名为 WeixinMsgController,ApiController更名为WeixinApiController
WeixinConfig 中的路由配置 "/weixin" 改为 "/msg"
升级步骤:
引入新版本 jar 包 jfinal-weixin-1.2-bin-with-src.jar
原来继承自 WeixinController 的类改为继承 MsgController
需要使用 ApiConfig 的自定义 controller 需要继承自 ApiController
去掉YourJFinalConfig 中原来对 ApiConfig 的配置,改而实现控制中的 getApiConfig() 方法
原来对 ApiConfig 静态方法的依赖改为通过 ApiConfigKit.getApiConfig() 获取对象后再获取相关属性
使用 ApiConfigKit.setDevMode(true) 输出消息交互时的xml与json
多公众号支持的建议方案:
创建数据库表 api_config(weixinId, token, appId, appSecret, encodingAesKey, messageEncrypt)
多公众号的微信服务器 url 格式设置为:http://域名/msg?weixinId=123,其中 weixinId 对应 api_config 数据库表中的 weixinId
在 MsgController 继承类中的 getApiConfig() 中动态获取并返回相应的 ApiConfig 对象
public ApiConfig getApiConfig() { Record r = Db.findFrist("select * from api_config where weixinId=? limit 1", getPara("weixinId")); return new ApiConfig(r.get("token"), r.get("appId"), r.get("appSecret"), r.get("encodingAesKey"), r.get("messageEncrypt")); }
One More Thing,JFinal 官方微信又一大波美女来袭,扫描下方二维码可立即查看,我们只看美女 ^_^

引用来自“Chocolee”的评论
针对多公众号账户获取accessToken时是不是每次都要调用refreshAccessToken,直接获取的话有可能得到的是其他账户的accessToken吧引用来自“JFinal”的评论
不需要,并且这个 refreshAccessToken() 一直都不需要自行调用,因为 new ApiResult(jsonStr) 时, jfinal weixin 会自动对返回的 json 数据中有关 accessToken 是否失效进行判断,如果失效,当时就自动 refresh 了,全自动的引用来自“Chocolee”的评论
多公众号账户时 accessToken 不会串了吗?引用来自“Chocolee”的评论
针对多公众号账户获取accessToken时是不是每次都要调用refreshAccessToken,直接获取的话有可能得到的是其他账户的accessToken吧引用来自“JFinal”的评论
不需要,并且这个 refreshAccessToken() 一直都不需要自行调用,因为 new ApiResult(jsonStr) 时, jfinal weixin 会自动对返回的 json 数据中有关 accessToken 是否失效进行判断,如果失效,当时就自动 refresh 了,全自动的引用来自“Chocolee”的评论
针对多公众号账户获取accessToken时是不是每次都要调用refreshAccessToken,直接获取的话有可能得到的是其他账户的accessToken吧引用来自“愚_者”的评论
微信公众平台消息加密的部分,密钥要求32位,解决方案是修改jdk里的内容,只能这样吗?感觉非常蛋疼啊引用来自“JFinal”的评论
微信官方提供的方法是替换 jar 包引用来自“愚_者”的评论
嗯啊,但是这个办法很不舒服啊。难道没有任何一个第三方的jar可以解决这个问题吗引用来自“JFinal”的评论
应该有办法,没研究过,换 jdk 1.8 试试引用来自“愚_者”的评论
想用官方给的C++实现,然后通过JNI实现加解密,但是,我大windows上安装openssl神马的太蛋疼,准备换乌班图虚拟机继续搞,这个思路是否可行呢?引用来自“愚_者”的评论
微信公众平台消息加密的部分,密钥要求32位,解决方案是修改jdk里的内容,只能这样吗?感觉非常蛋疼啊引用来自“JFinal”的评论
微信官方提供的方法是替换 jar 包引用来自“愚_者”的评论
嗯啊,但是这个办法很不舒服啊。难道没有任何一个第三方的jar可以解决这个问题吗引用来自“JFinal”的评论
应该有办法,没研究过,换 jdk 1.8 试试引用来自“OZY”的评论
刚上手,api的调用和信息回复都ok了。就是信息加密一直没有成功,只修改a_little_config就可以了吗?引用来自“玛雅牛”的评论
Jfinal weixin 1.2 对于微信开放来说目前已经做到了极简,开放非常简单,下一步可能需要需要做的工作就是:完善微信相关api的实现了,目前已经有了菜单,用户几个api。未来若能有管理页面/后台的支持那就更好了。引用来自“小强哥unas”的评论
由于工作需要,自己增加了Jfinal weixin 1.2 支持微信服务号模板消息的实现,http://www.oschina.net/code/snippet_923337_44560引用来自“愚_者”的评论
微信公众平台消息加密的部分,密钥要求32位,解决方案是修改jdk里的内容,只能这样吗?感觉非常蛋疼啊引用来自“JFinal”的评论
微信官方提供的方法是替换 jar 包引用来自“简单代码”的评论
虚拟主机岂不是要挂了?引用来自“愚_者”的评论
微信公众平台消息加密的部分,密钥要求32位,解决方案是修改jdk里的内容,只能这样吗?感觉非常蛋疼啊引用来自“JFinal”的评论
微信官方提供的方法是替换 jar 包引用来自“愚_者”的评论
微信公众平台消息加密的部分,密钥要求32位,解决方案是修改jdk里的内容,只能这样吗?感觉非常蛋疼啊引用来自“JFinal”的评论
微信官方提供的方法是替换 jar 包引用来自“愚_者”的评论
嗯啊,但是这个办法很不舒服啊。难道没有任何一个第三方的jar可以解决这个问题吗引用来自“愚_者”的评论
微信公众平台消息加密的部分,密钥要求32位,解决方案是修改jdk里的内容,只能这样吗?感觉非常蛋疼啊引用来自“JFinal”的评论
微信官方提供的方法是替换 jar 包引用来自“愚_者”的评论
微信公众平台消息加密的部分,密钥要求32位,解决方案是修改jdk里的内容,只能这样吗?感觉非常蛋疼啊引用来自“紫电清霜”的评论
波总辛苦了,以 jfinal 为核心的生态圈越来越欣欣向荣了。引用来自“chazz”的评论
感谢紫电捧场。引用来自“小强哥unas”的评论
划时代的版本!!! 期待更强大的简约实现!引用来自“JFinal”的评论
用着感觉如何?引用来自“小强哥unas”的评论
极简,之前自己也封装过的,已经转用这个了引用来自“小强哥unas”的评论
划时代的版本!!! 期待更强大的简约实现!引用来自“本人纯属虚构”的评论
引入新版本 jar 包 jfinal-weixin-1.1-bin-with-src.jar应该是
引入新版本 jar 包 jfinal-weixin-1.2-bin-with-src.jar ?
引用来自“紫电清霜”的评论
波总辛苦了,以 jfinal 为核心的生态圈越来越欣欣向荣了。引用来自“Lyon4j”的评论
波总辛苦了,微信开发包进行无门槛开发,方便不少程序猿,节约更多时间和成本。 :)引用来自“天蓬小猪”的评论
我去!波总Jfinal_weixinSDK又发布了!神速啊!多个公众号码支持!好多群友还问为什么不支持多个公众号了,这下终于有的玩了!用这个来搭建多个公众号的公众管理平台看来是有希望了!!必须在顶一个!要火啦,要火了,二楼火速留名!!引用来自“天蓬小猪”的评论
我去!波总Jfinal_weixinSDK又发布了!神速啊!多个公众号码支持!好多群友还问为什么不支持多个公众号了,这下终于有的玩了!用这个来搭建多个公众号的公众管理平台看来是有希望了!!必须在顶一个!要火啦,要火了,二楼火速留名!!引用来自“紫电清霜”的评论
波总辛苦了,以 jfinal 为核心的生态圈越来越欣欣向荣了。引用来自“南湖船老大”的评论
支持支持。极速开发典范,有了这个,要做个微店,公众号啊什么的完全没门槛了。