2017-08-16 15:50
@素夜儿 获取到的 token 值,在 jfinal weixin 这一端会每次都检测是否有效,所以,无论微信平台的行为是什么,都足以应对了
微信平台的文档经常出错,而且平台也有 bug,经常与文档描停不符
我建议这样,你在用的时候,如果出现了微信平台时间上的不对,看看 jfinal weiwixn 是否重新获取了 token 值,是否解决了平台的错误,作为一个 sdk 如果微信平台有问题,能解决它的问题就很好了
2017-08-15 18:40
@Bay_Max 可以用 Tx 拦截器,但你要确保拦截器可以被触发,触发方式看一下 jfinal 手册,我个人喜欢用 Db.tx(...)
2017-08-15 17:48
@素夜儿 access token 在每次获取以后,都会判断是否有效/是否过期,如果无效就会重新利用 AccessTokenApi 去请求并更新缓存中的 access token
jsapi_ticket 这部分是后来 @如梦技术 大神开发的,里面的细节我不了解,估计与 access token 是一样的,建议看看相关源代码,或者与 @如梦技术 交流一下
2017-08-15 16:24
在 web.xml 中添加 JFinalFilter 就整合完成了,唯一要注意的是 JFinalFilter 与 web.xml 已有的 Filter 拦截的次序问题,如果 SSH 的 Filter 配置在前面,会先拦截请求,如果没有将请求放行的话, jfinal 就收不到请求
建议将 JFinalFilter 配置在 SSH 用的 Filter 之前。 然后为 jfinal 添加一个 handler,放行一些应该老项目处理的 url,大致这样的 handler 代码:
if (isOldProjectNeedProcess(target)) {
return ;
}
next.handled(target, request, response, isHandled);
2017-08-15 16:21
@高达1234 在本站首页右侧可以下载到 Enjoy 3.2 手册,内容很少,一会就看完了。表达式规则与 java 保持一致,所以学习成本很低
2017-08-15 16:14
@Bay_Max 使用 Db.tx(...) 做事务就可以了,看一下 jfinal 手册
2017-08-15 16:09
在 YourJFinalConfig extends JFinalConfig 中添加一个方法解决一下,大致如下:
private void loadConfig() {
// 加载用于指定开发模式的配置文件
PropKit.use("application.properties");
// 读取 dev 模式
boolean dev = PropKit.getToBoolean("dev");
// 移除默认的配置文件,第一个被 use 的文件会成为默认配置文件
PropKit.useless("application.properties");
if (dev) {
PropKit.use("application-dev.properties");
} else {
PropKit.use("application-prod.properties");
}
}
然后在 configConsant(Constants me) 方法的第一行处调用一次即可,如果希望更简单,最的的四行代码可以这样:
PropKit.use(dev ? "application-dev.properties" : "application-prod.properties");
在 jfinal 之下,大概是 5 行代码可满足这个需求,但同时又不限定你的配置文件名称,少了一些约定,学习成本低