2019-04-28 15:19
@li7 这个改动是被逼的,因为3.6 之前基于 JDK 1.6 编译级别没任何问题,而 3.6 版本基于 JDK 1.8 编译级别以后出现类型转换错误
而出现错误的地方 jfinal 完全没动过代码,本质是 JDK 的兼容性问题
为了将升级 JDK 的问题损失降到最低,才添加了 findByIds
2019-04-28 14:06
@li7 这个是你自己封装过,改进起来更容易,只需要将最后一行代码:
return findById(vals)
改成:
if (vals.length == 1) {
return findById(vals[0]);
} else {
return findByIds(vals);
}
2019-04-28 09:24
@小KKK 为什么不按照文档和 demo 来?
https://gitee.com/jfinal/jfinal-weixin/blob/master/src/main/java/com/jfinal/weixin/demo/WeixinConfig.java
https://gitee.com/jfinal/jfinal-weixin/wikis/JFinal-weixin%E4%B8%AD%E7%9A%84WeixinConfig%E9%85%8D%E7%BD%AE
2019-04-28 09:22
@li7 你的代码里面用了 findById(Object... idValues) 这个,在这个条件下,有两种情况:
1:你的代码确实有两个或更多主键,那么形如:
findById(id1, id2);
这种情况升级到 3.6 以后, eclipse 会提示错误,因为 3.6 的 findById 只接受一个参数,形如:
findById(id1);
2:你的代码确实只有一个主键,形如:
findById(id1);
这种情况,升级后完全没有影响,因为 findById 就是针对一个主键的功能,恰好吻合
因此,你上一个回复的问题肯定是不存在的。
2019-04-28 09:17
@小KKK 这些功能 jfinal weixin 中都是现成的,为什么要自己做呢?
SnsAccessTokenApi.java 很多 API 可以使用,一行代码的事
2019-04-27 18:32
access_token 获取后会被 jfinal weixin 缓存 7200 秒,正好这 7200 秒是微信平台给定的该 access_token 过期时间
你的项目无需关心 access_token 的缓存问题,是自动化完成的
如果你的每次获取 access_token 是不同的值,一定是你自己的代码有问题,例如多个项目在使用你手头的同一个公众号账号
这种情况下,只要某一个应用获取到 access_token,那么之前那个 access_token 即便在 7200 内,但也会失效,这个是微信平台的行为
总之,一个公众号的账号只能一个应用使用,除非你想办法让多个应用同时共享一份 access_token,例如使用 jfinal weixin 中的 RedisAccessTokenCache
具体文档:
https://gitee.com/jfinal/jfinal-weixin/wikis/JFinal-weixin%E4%B8%AD%E7%9A%84WeixinConfig%E9%85%8D%E7%BD%AE