jfinal weixin 一个项目集成多个公众号问题

jfinal weixin 一个项目集成多个公众号,怎么根据appid获取accesstoken

评论区

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 明白。感谢波总

热门反馈

扫码入社