微信小程序> 微信小程序token过期时间后重新获取

微信小程序token过期时间后重新获取

浏览量:1824 时间: 来源:前端阿龙

首先先封装个公用的js

class Config{  constructor() {  }}Config.restUrl = 'https://wx.knowdao.com';export { Config };

再从另一个封装的共用的调token的js里面传入这个模块

import { Config } from 'config.js';class Token {  constructor() {    console.log(this)    this.verifyUrl = Config.restUrl + '/api/validate/token';    this.tokenUrl = Config.restUrl + '/api/login/get_openid';  }  verify() {    var token = wx.getStorageSync('token');    console.log(token)    if(!token) {      this.getTokenFromServer(token);    }else{      this._verifyFromServer(token);    }  }  // 携带令牌去服务器校验令牌  _verifyFromServer(token) {     console.log(11212)    var that = this;    const account = wx.getStorageSync("account")    // console.log(token)    // console.log(wx.getStorageSync("token"))    // console.log(account)    const tokenn = wx.getStorageSync("token")    wx.request({      url: that.verifyUrl,      method: 'POST',      data: {        token: tokenn,        account:account      },      success: function (res) {        console.log(res)        return false        var valid = res.data.isValid;              if (!valid) {          that.getTokenFromServer();        }      }    })  }  // 从服务器获取token  getTokenFromServer(callback) {    var that = this;    wx.login({      success: function(res) {        let code = res.code        wx.getUserInfo({          lang: "zh_CN",          success: res => {            let userInfo = res.userInfo            wx.request({              url: that.tokenUrl,              method: 'POST',              data: {                code: code,                nickname: userInfo.nickName,                gender: userInfo.gender,                avatarUrl: userInfo.avatarUrl,                city: userInfo.city              },              header: {                "content-type": "application/x-www-form-urlencoded",                'content-type': 'application/json'              },              success: function (res) {                console.log(res)                wx.setStorageSync('token', res.data.data.token);                wx.setStorageSync('account', res.data.data.account);                wx.setStorageSync('userid', res.data.data.user_id);              }            })          }        })              }    })  }  }export { Token };

最后在app.js中调用

import { Token } from 'utils/token-model.js';var scence = 0;App({  onLaunch: function () {    var token = new Token();    token.verify();    // token.changlink("wss://wx.knowdao.com/system");  },   onShow: function () {  },  onHide: function () {    this.globalData.scence = 1    wx.setStorageSync('scence', this.globalData.scence)  },  globalData: {    account: '',    stroge: 0,    openid: 0,    userInfo: null,    times: null,    urls: 'https://wx.knowdao.com',    urlst: 'http://test.knowdao.com',    token: ''  }})

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎