binarywang/weixin-java-miniapp-demo

微信accesstoken是不是会过期

gp2852 opened this issue · 0 comments

你好,我用的版本是
<dependency> <groupId>com.github.binarywang</groupId> <artifactId>weixin-java-miniapp</artifactId> <version>4.4.4.B</version> </dependency>
目前是将accesstoken存储在redis中,过期时间是7200秒;但是请求微信接口的时候时不时会报accesstoken过期,但是redis中accesstoken未过期(有时候还剩6000多秒),一天会出现两三次这种情况,每次都必须手动删除redis数据
`
@DaTa
@configuration
@ConfigurationProperties(prefix = "wx.login")
public class WxMiniAppConfig {

private String appId;
private String appSecret;

private static final String keyPrefix = "miniapp:wx";

@Resource
private RedissonClient redissonClient;

/**
 *  单机版
 * @return
 */
//@Bean
//public WxMaConfig wxMaConfig() {
//    WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl();
//    config.setAppid(appId);
//    config.setSecret(appSecret);
//    return config;
//}

/**
 * 分布式版
 *
 * @return
 */
@Bean
public WxMaConfig wxMaConfig() {
    WxMaDefaultConfigImpl config = new WxMaRedissonConfigImpl(redissonClient, keyPrefix);
    config.setAppid(appId);
    config.setSecret(appSecret);
    config.setExpiresTime(60*60);
    return config;
}

@Bean
public WxMaService wxMaService(WxMaConfig maConfig) {
    WxMaService service = new WxMaServiceImpl();
    service.setWxMaConfig(maConfig);
    return service;
}

}
`
我在配置文件中设置redis过期时间为1小时,但是这个设置没有起作用,目前已排除了其他程序同时在请求小程序的accesstoken;