NutzCN Logo
问答 在群发等时候,access_token没有
发布于 1827天前 作者 qq_91afbf68 1393 次浏览 复制 上一个帖子 下一个帖子
标签: nutzwk

我在使用的时候,调用的WxApi2 getWxApi2没有拿到access_token,
然后我里看到有人用这个@SetupBy,我就放到了前面就能正常获取到了,但是我怕access_token过期,和重复掉去交换access_token,

有时候,不知道怎么的一段时间access_token就是拿到了,这个是为什么?

@IocBean(args = {"refer:dao"})
@SetupBy
public class WxConfigService extends Service<Wx_config> {
    public WxConfigService(Dao dao) {
        super(dao);
    }

    public WxApi2 getWxApi2(String wxid) {
        Wx_config appInfo = this.fetch(Cnd.where("id", "=", wxid));
        DaoAccessTokenStore myDaoAccessTokenStore = new DaoAccessTokenStore(dao());
        Map<String, Object> params = new HashMap<>();
        params.put("id", appInfo.getId());
        myDaoAccessTokenStore.setTableAccessToken("access_token");
        myDaoAccessTokenStore.setTableAccessTokenExpires("access_token_expires");
        myDaoAccessTokenStore.setTableAccessTokenLastat("access_token_lastat");
        myDaoAccessTokenStore.setFetch("select access_token,access_token_expires,access_token_lastat from wx_config where id=@id");
        myDaoAccessTokenStore.setUpdate("update wx_config set access_token=@access_token, access_token_expires=@access_token_expires, access_token_lastat=@access_token_lastat where id=@id");
        myDaoAccessTokenStore.setParams(params);
        WxApi2Impl wxApi2 = new WxApi2Impl();
        wxApi2.setAppid(appInfo.getAppid());
        wxApi2.setAppsecret(appInfo.getAppsecret());
        wxApi2.setEncodingAesKey(appInfo.getEncodingAESKey());
        wxApi2.setToken(appInfo.getToken());
        wxApi2.setAccessTokenStore(myDaoAccessTokenStore);
        return wxApi2;
    }
}

6 回复

把文字整理下再问,看不懂能在问什么o(∩_∩)o 哈哈

就是想知道什么时候,能获取到access_token,我在这个方法里面用了@SetupBy会有什么影响不

你的担心源于不信任

因为我今天弄了一下那个发送信息,一直获取不到那个access_token,一直在失败,我不知道什么没有去拿access_token。我就想了解一下,@SetupBy这个是我不了解,但是我看到用了这个就能拿到了,所以问一下

并不是说不信任,而是说我发送的个信息,不能一直在提示用户报错了,然后其实是可以解决的东西,留下一堆用户不好的体验而已

debug一下myDaoAccessTokenStore吧

添加回复
请先登陆
回到顶部