2020-04-03 17:06
@onizukayao 这个问题估计是你的理解有误,本地与生产环境本质上是一样的
你需要单步调试找到原因
单步调试有两种方法,任选下面其中一种:
1:直接远程调试生产环境的项目:
https://jfinal.com/feedback/5106
https://jfinal.com/share/1528
2:项目部团到本地,利用某种机制让微信服务器可以与本地通信,例如可利用反向隧道:
https://my.oschina.net/jfinal/blog/336861
2020-04-03 17:03
@方涛 可以将老版本的 Duang.java 加到项目中直接使用
我记得 Duang.java 这个类仍然保留了,只是删除了一些很不常用的方法,你再仔细看看
2020-04-03 10:53
当有多个地方同时使用同一个微信公众号的 appId 去申请 token 时,当前申请的 token 会立即让前一个申请的 token 失效
也就是说:同一公众号(appId), 同一时刻,只有一个 token 有效,其它 token 会立即失败
所以开发的时候一定要注意这种情况
jfinal weixin 特意为这种请求做了一个 LocalTestTokenCache.java 用来支持服务器部署 + 本地开发共用同一个公众号的组件:
https://gitee.com/jfinal/jfinal-weixin/blob/master/src/main/java/com/jfinal/weixin/sdk/cache/LocalTestTokenCache.java
使用的时候,在本地开发的项目中配置:
if (isLocalDev) {
String onLineTokenUrl = "http://localhost/weixin/api/getToken";
ApiConfigKit.setAccessTokenCache(new LocalTestTokenCache(onLineTokenUrl));
}
上述代码中的 onLineTokenUrl 是远程生产环境中用于获取 token 值的一个 controller 的 action ,用来为本地开发提供 token 值
这个方案的大致逻辑就是:
1:只让生产环境的公众号去统一请求微信公众号的 token 值
2:其它任何地方,只是去获取生产环境下公众号请求到的这个 token ,达成一个共享的态势
看一下 jfinal weixin 官方配置:
https://gitee.com/jfinal/jfinal-weixin/blob/master/src/main/java/com/jfinal/weixin/demo/WeixinConfig.java
注意看里头被注掉的这行代码是关键:
ApiConfigKit.setAccessTokenCache(new LocalTestTokenCache(onLineTokenUrl));
2020-04-02 21:54
@苦丁香 具体什么时候 removeSharedObject ,得看你什么时候需要,不要限定在 onStart 这个地方
思路再放宽些
2020-04-01 17:39
@xiuj 直接用就好,不一定非要有集成这个动作
具体的办法是在 jfinal 的 onStart 方法中初始化一下 quartz,然后直接用上
2020-04-01 17:38
@Code_Cat 1.8 都好多年历史了,比 1.7 肯定是要稳定得多
升级 JDK 其实就是解压 JDK 1.8, 然后在环境变量的配置中改个目录而已,不能再简单方便了
而且 jdk 1.8 的性能比 1.7 要好很多