let Constant = require('../utils/constant.js') let app = getApp() let ACCESS_TOKEN_KEY = 'AccessToken' let API = (params) => { // console.log(params,2) let tokenInfo = wx.getStorageSync(ACCESS_TOKEN_KEY) // console.log(tokenInfo, 3) let currentDateTime = new Date().getTime() if (!tokenInfo) { wx.reLaunch({ url: '/login/login/index', }) return } //设置登录时间为七天 判断token是否失效 let effectiveTime = 7 * 60 * 60 * 24 * 1000 // 判断当前时间与token存入的时间相比较,如果大于七天则重新登录 if (((currentDateTime - tokenInfo.ExpreTime) > effectiveTime) && tokenInfo.isNeedToken) { wx.reLaunch({ url: '/login/login/index', }) return } let defaultParams = { url: '', method: "GET", data: "", header: { 'content-type': 'application/json' }, success: function () {}, fail: function () {}, complete: function () {} } let requestParam = Object.assign(defaultParams, params) // 判断是否要添加token if (tokenInfo.isNeedToken == true) { requestParam.header.Authorization = 'Bearer ' + tokenInfo.Token } wx.request({ url: requestParam.url, method: requestParam.method, data: requestParam.data, header: requestParam.header, success: res => { let result = res.data if (result.data != undefined && result.data == 401) { RefreshToken() return } if (result.code && result.code != 0) { wx.showToast({ title: result.message, icon: 'error', duration: 1500 }) RefreshToken() return } requestParam.success(res) }, fail: err => { requestParam.fail(err) }, complete: () => { requestParam.complete() } }) } const RefreshToken = () => { wx.reLaunch({ url: '/login/login/index', }) return // 获取账户信息 // let accountInfo = JSON.parse(wx.getStorageSync("AccountInfo")) // console.log(accountInfo,60) // 获取登录的用户信息 // let userInfo = wx.getStorageSync("LoginUserInfo"); // let sysInfo = app.globalData.sysInfo; // console.log('打印userInfo', userInfo) // let data = { // SoftType: Constant.SoftType, // SoftTag: Constant.SoftTag, // LoginName: accountInfo.LoginName, // LoginPwd: accountInfo.LoginPwd, // CorpID: Constant.CorpID, // WxCode: accountInfo.WxCode, // UJsCode: accountInfo.UJsCode, //是否就是jsCode有待确认 // UAvatarUrl: userInfo == null ? "" : userInfo.avatarUrl, // UCity: userInfo == null ? "" : userInfo.city, // UProvince: userInfo == null ? "" : userInfo.province, // UNickName: userInfo == null ? "" : userInfo.nickName, // UGender: userInfo == null ? "" : userInfo.gender + "", // SBrand: sysInfo.brand, // SModel: sysInfo.model, // SPlatform: sysInfo.platform, // SVersion: sysInfo.version // } // console.log(JSON.stringify(data),110) // wx.request({ // url: Constant.BASE_SERVER_URL + "User/UserLogin/FromCorpWechatApplet@V1.0", // method: 'POST', // data: data, // header: { // 'content-type': 'application/json' // }, // fail: function (err) { //请求失败 // wx.showModal({ // content: '网络信号不好', // showCancel: false, // confirmColor: "#39b5de" // }); // }, // success: function (res) { // console.log(res, "新的token信息") // var result = res.data; // // console.log(result); // if (result.Code != 0) { // wx.showToast({ // title: 'token获取失败,请重新登录', // icon: "none", // duration: 2000 // }) // return; // } // var return_data = result.Data; // if (return_data.Status != 0) { // wx.showToast({ // title: 'token获取失败,请重新登录', // icon: "none", // duration: 2000 // }) // return; // } // let Token = return_data.Token // let isNeedToken = false //是否需要Token 当Token失效的时候 判断是否跳转登录 // if (Token) { // isNeedToken = true // } // let ExpreTime = new Date().getTime() //获取当前时间戳 // wx.setStorageSync('AccessToken', { // Token: Token, // ExpreTime: ExpreTime, // isNeedToken: isNeedToken // }) // wx.setStorageSync("AccountInfo", JSON.stringify(data)) // // 获取新的token后重新调用接口 // apiCb(params) // } // }); } export default API