const TOKEN = 'token';
App({
//全局数据,其他页面可通过getApp().globalData获取数据
globalData: {
token: ''
},
//监听小程序初始化
onLaunch: function() {
//从缓存中取出token
const token = wx.getStorageSync(TOKEN);
//判断token是否有值
if(token && token.length != 0){//已经有token
//验证token是否过期
this.checkToken(token);
} else { //没有token 进行登录操作
this.login();
}
},
//验证token
checkToken() {
console.log('执行了验证')
wx.request({
url: 'http://123.207.32.32:3000/auth',
method: 'post',
header: {
token
},
success: (res) => {
//根据接口返回的错误码判断
if(!res.data.errCode) {
console.log('token有效')
this.globalData.token = token;
} else {
this.login();
}
},
fail: function(err){
console.log(err)
}
})
},
//登录函数
login() {
console.log('执行了登录')
wx.login({
//code只有5分钟有效期
success: (res) => {
//1.获取code
const code = res.code;
//2.将code发送给服务器
wx.request({
url: 'http://123.207.32.32:3000/login',
method: 'post',
data: {
code
}
}),
success: (res) => {
//1.取出token
const token = res.data.token;
//2.将token保存到globalData中
this.globalData.token = token;
//3.进行本地存储
wx.setStorageSync(TOKEN, token);
}
}
})
}
})