首先先封装个公用的jsclass Config{
constructor() {
}
}
Config.restUrl = 'https://wx.knowdao.com';
export { Config };123456789
再从另一个封装的共用的调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 };123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
最后在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: ''
}
})
作者:前端阿龙
链接:https://blog.csdn.net/weixin_42790916/article/details/82806337
来源:CSDN
著作权归作者所有,转载请联系作者获得授权,切勿私自转载。