import config from "../js/config"
|
import {
|
loginInfo
|
} from '../js/login';
|
const app = getApp()
|
let clearStorage = false;
|
let timer = null;
|
let backUrl = null
|
const request = (params) => {
|
let fullUrl = `${config.requestCtx}${params.url}`
|
let token = wx.getStorageSync(config.tokenKey) ? wx.getStorageSync(config.tokenKey) : ''
|
return new Promise((resolve, reject) => {
|
wx.request({
|
url: fullUrl,
|
method: params.method,
|
data: params.data ? params.data : {},
|
header: {
|
'content-type': 'application/json',
|
'Authorization': `bearer ${token}`
|
},
|
success: (res) => {
|
if (res.statusCode == 200) {
|
return resolve(res.data.data)
|
} else if (res.statusCode == 401) {
|
const pages = getCurrentPages()
|
const currentPage = pages[pages.length - 1]
|
const url = currentPage.route
|
let options = currentPage.options
|
let urlargs = `/${url}?`
|
// wx.clearStorageSync();
|
if (!clearStorage) {
|
clearStorage = true;
|
if (!timer) {
|
timer = setTimeout(() => {
|
clearStorage = false
|
}, 4000);
|
}
|
// urlargs = JSON.stringify(urlargs)
|
console.log()
|
let strOpt = JSON.stringify(options)
|
let currentUrl = {
|
options: options,
|
backUrl: urlargs
|
}
|
// currentUrl = JSON.stringify(currentUrl)
|
// 不去首页登录,直接调用公共登录方法
|
// wx.reLaunch({
|
// url: urlargs ? '/pages/home/home?backUrl=' + encodeURIComponent(currentUrl) : '/pages/home/home'
|
// })
|
console.log(currentUrl, 123)
|
loginInfo(app, (data) => {
|
if (data) {
|
if (currentUrl.options) {
|
for (let key in options) {
|
const value = currentUrl.options[key]
|
currentUrl.backUrl += `${key}=${value}&`
|
}
|
backUrl = currentUrl.backUrl
|
console.log(backUrl, "url")
|
if (backUrl) {
|
wx.reLaunch({
|
url: backUrl
|
})
|
} else {
|
wx.reLaunch({
|
url: '/pages/home/home'
|
})
|
}
|
}
|
} else {}
|
})
|
}
|
} else {
|
wx.showToast({
|
title: res.data.msg,
|
icon: 'none'
|
})
|
reject(res.data.message)
|
}
|
},
|
fail: (res) => {
|
wx.showToast({
|
title: '接口请求错误',
|
icon: 'none'
|
})
|
reject('接口请求错误')
|
},
|
complete: () => {}
|
})
|
})
|
}
|
export default request
|