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
2019-04-27 10:32
@hen model 层抽取成独立的类似于 maven module 的东东,或者抽取成独立的项目可以 mvn install 到本地 maven 库供别的项目引用
service 层专注写业务,注意数据库查询也是放在业务层之中的,sql 可以放在外部 sql 模板文件之中,小型项目也可以放在 service 之中
model 里面不要写业务逻辑,更不要有 sql 查询,让其成为一个承载数据的容器以及与数据库表对应的一个东东
model 里面可以添加一些字段常量,以及这些常量判断的方法,例如:
public class User extends BaseUser {
// 以下三个常量为 status 字段的三种值,只允许这三个值存入数据库
public static final int STATUS_LOCK_ID = -1; // 锁定账号,无法做任何事情
public static final int STATUS_REG = 0; // 注册、未激活
public static final int STATUS_OK = 1; // 正常、已激活
// 以下是添加的一些与字段值有关的工具类方法
// 状态是否 ok
public boolean isStatusOk() {
return getStatus() == STATUS_OK;
}
// 状态为注册
public boolean isStatusReg() {
return getStatus() == STATUS_REG;
}
// 状态为锁定
public boolean isStatusLockId() {
return getStatus() == STATUS_LOCK_ID;
}
.... 其它部分省略
}