首页
App
&
Coffee
文档
项目
分享
反馈
俱乐部
登录
注册
jfinal weixin 一个项目集成多个公众号问题
炒鸡大虾
2018-03-30 19:47
jfinal weixin 一个项目集成多个公众号,怎么根据appid获取accesstoken
项目:
JFinal Weixin
1
评论区
JFinal
2018-03-30 20:11
根据文档来配置:
https://gitee.com/jfinal/jfinal-weixin/wikis/JFinal-weixin%E4%B8%AD%E7%9A%84WeixinConfig%E9%85%8D%E7%BD%AE
注意文档中的这行代码:
ApiConfigKit.putApiConfig(ac);
对于多公众号来说,每个号都给一个 ApiConfig 进去,通过 ApiConfigKit.putApiConfig(ac); 来给定
回复
杜福忠
2018-03-30 20:20
Service层里业务需要手动调取:
ApiConfigKit.setThreadLocalAppId(appId); 手动绑定到当前线程
AccessTokenApi.getAccessTokenStr() 返回值
ApiConfigKit.removeThreadLocalAppId();手动释放
通过URL API控制器调取:
只要@Before(ApiInterceptor.class 就能自动根据URL挂参appId(默认可修改)=xxx
Controller 自动绑定 ApiConfig 对象到当前线程, 和释放
所以后面代码能直接调用 AccessTokenApi.getAccessTokenStr()
回复
炒鸡大虾
2018-03-31 08:53
@杜福忠
就是每次AccessTokenApi.getAccessTokenStr() 之前,加句代码ApiConfigKit.setThreadLocalAppId(appId),就行了吧,是这个意思吧
回复
炒鸡大虾
2018-03-31 08:54
@JFinal
这个配置我理解了,,就是AccessTokenApi.getAccessTokenStr(),我要获得指定的appid的accesstoken不知道怎么写
回复
炒鸡大虾
2018-03-31 08:54
@炒鸡大虾
谢谢老大解答
回复
杜福忠
2018-03-31 10:17
@炒鸡大虾
是的, 但是用完一定要记得 ApiConfigKit.removeThreadLocalAppId(); 释放掉 , 不然有可能出现内存泄漏的问题
回复
炒鸡大虾
2018-03-31 13:31
@杜福忠
AccessTokenApi.getAccessTokenStr() 拿到token以后就释放掉吗
回复
杜福忠
2018-03-31 15:22
@炒鸡大虾
如果当前线程不再getAccessTokenStr() , 是的要释放 , 你可以先了解一下ThreadLocal这个类, 再看下jfinal-weixin里面的源码,就什么都清楚了
回复
eddiechow
2018-04-12 15:08
@JFinal
请教一下波总,如果多公众号信息是动态的,存在数据库里面的,要怎么才能做到新增一条公众号记录,后台服务就能增加对这个公众号的响应呢?猜测应该是要通过拦截器之类的来实现,但具体细节怎么操作还没想明白,望波总赐教!另外jfinal-weixin 默认的多公众号的支持,是不是微信公众号配置那里就要把 ?appId=xxx参数带上,然后所有请求url也都需要带上?appId=xxx 这个后缀?谢谢~
回复
eddiechow
2018-04-12 15:15
@JFinal
https://www.oschina.net/question/2303425_243204?sort=time&p=1 翻到您之前的osc回帖记录,大概清楚了流程,我先试一下,有问题再请教波总
回复
JFinal
2018-04-12 18:48
@eddiechow
新版本 jfinal weixin 不需要 getApiConfig() 方法,只需要在启动项目时使用 ApiConfigKit.putApiConfig(apiConfig) 配置一下即可
详见文档:
https://gitee.com/jfinal/jfinal-weixin/wikis/JFinal-weixin%E4%B8%AD%E7%9A%84WeixinConfig%E9%85%8D%E7%BD%AE
回复
eddiechow
2018-04-12 19:05
@JFinal
那如果我是去数据库取配置信息,且接入的公众号会不断增加,这个怎么办呢?我看新版的好像是必须先put进去,然后根据公众号配置的url参数appId,再在拦截器里面去获取之前配置的,那这种情况,在afterJfinalStart里面,我获取的最多是启动当时的已经有的记录,那后面新加的记录我要怎么获取呢?波总
回复
JFinal
2018-04-12 20:50
@eddiechow
做个 action,新增一个公众号就调一下这个 action ,转调一下 ApiConfigKit.putApiConfig(apiConfig) 动态加入新增的即可
回复
eddiechow
2018-04-13 11:27
@JFinal
明白。感谢波总
回复
发送
我要反馈
热门反馈
扫码入社
https://gitee.com/jfinal/jfinal-weixin/wikis/JFinal-weixin%E4%B8%AD%E7%9A%84WeixinConfig%E9%85%8D%E7%BD%AE
注意文档中的这行代码:
ApiConfigKit.putApiConfig(ac);
对于多公众号来说,每个号都给一个 ApiConfig 进去,通过 ApiConfigKit.putApiConfig(ac); 来给定