在 Uniapp 中,可以使用 uni.setStorageSyncuni.removeStorageSync 方法来清空缓存。当微信公众号 AccessToken 失效时,需要清空缓存并重新授权获取新的 Token。以下是具体步骤:

  1. 清空缓存

    在需要清空缓存的地方,调用 uni.removeStorageSync 方法,清空缓存中的 access_token

    uni.removeStorageSync('access_token');
    
  2. 重新获取 AccessToken

    调用微信公众平台的授权接口,重新获取 access_token

    uni.login({
      provider: 'weixin',
      success: function (loginRes) {
        if (loginRes.code) {
          //调用后台接口获取access_token
          uni.request({
            url: 'https://api.weixin.qq.com/cgi-bin/token',
            data: {
              grant_type: 'authorization_code',
              appid: 'your appid',
              secret: 'your app secret',
              code: loginRes.code
            },
            success: function (res) {
              if (res.data.access_token) {
                //存储access_token到缓存中
                uni.setStorageSync('access_token', res.data.access_token);
              }
            }
          });
        } else {
          console.log('获取用户登录态失败!' + loginRes.errMsg)
        }
      }
    });
    
  3. 获取缓存中的 AccessToken

    在需要使用 access_token 的地方,调用 uni.getStorageSync 方法获取缓存中的 access_token

    var access_token = uni.getStorageSync('access_token');
    

注意:

  • 在调用微信公众平台的授权接口之前,需要先调用 uni.login 方法获取用户登录凭证。
  • AccessToken 有效期,建议在使用前先进行校验,避免使用失效的 Token。
Uniapp 微信公众号 AccessToken 失效处理:清空缓存并重新授权

原文地址: https://www.cveoy.top/t/topic/oLUB 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录