You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
import config from '@/config/request'
|
|
|
|
let logouted = 0
|
|
|
|
|
|
|
|
const request = options => {
|
|
|
|
const header = Object.assign({}, config.headers, {
|
|
|
|
token: uni.getStorageSync('token') || ''
|
|
|
|
})
|
|
|
|
const otherUrl = ['queryPartnerAccount', 'getSessionKey', 'loginByOpenid', 'partnerAccountApplication', 'checkWorkNumOrAccount']
|
|
|
|
return new Promise((resolve, reject)=>{
|
|
|
|
const { url } = options
|
|
|
|
uni.request({
|
|
|
|
header,
|
|
|
|
// url: (otherUrl.find(e => url.includes(e)) ? 'http://192.168.31.116:9000/' : config.baseURL) + url,
|
|
|
|
url: config.baseURL + url,
|
|
|
|
method: options.method || 'GET', // 请求类型,默认为GET
|
|
|
|
data: options.data || {}, // 请求参数,默认空对象
|
|
|
|
success: ({ data }) => {
|
|
|
|
const { status, message, code } = data
|
|
|
|
// 状态判断,根据后台定义并提示
|
|
|
|
if (status === 200) {
|
|
|
|
resolve(data)
|
|
|
|
} else if (status == 401 || code === 401) {
|
|
|
|
if (!logouted) {
|
|
|
|
// 登录过期
|
|
|
|
uni.clearStorageSync()
|
|
|
|
uni.showToast({
|
|
|
|
title: message || '登录过期,请重新登录',
|
|
|
|
icon: 'none'
|
|
|
|
})
|
|
|
|
setTimeout(() => {
|
|
|
|
logouted = 0
|
|
|
|
uni.reLaunch({
|
|
|
|
url: '/pages/login/login'
|
|
|
|
})
|
|
|
|
}, 1500)
|
|
|
|
reject(data)
|
|
|
|
logouted = 1
|
|
|
|
}
|
|
|
|
} else if (status == 10028 || status == 10014) { // 用户不存在
|
|
|
|
resolve(data)
|
|
|
|
} else if (!status) {
|
|
|
|
resolve(data)
|
|
|
|
} else {
|
|
|
|
uni.showToast({
|
|
|
|
title: message,
|
|
|
|
icon: 'none'
|
|
|
|
})
|
|
|
|
reject(data)
|
|
|
|
}
|
|
|
|
},
|
|
|
|
fail: err => {
|
|
|
|
uni.showToast({
|
|
|
|
title: '请求失败!',
|
|
|
|
icon: 'none'
|
|
|
|
})
|
|
|
|
reject(err)
|
|
|
|
},
|
|
|
|
})
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
const get = (url, data, options = {}) => {
|
|
|
|
options.method = 'GET'
|
|
|
|
options.data = data
|
|
|
|
options.url = url
|
|
|
|
return request(options)
|
|
|
|
}
|
|
|
|
|
|
|
|
const post = (url, data, options = {}) => {
|
|
|
|
options.method = 'POST'
|
|
|
|
options.data = data
|
|
|
|
options.url = url
|
|
|
|
return request(options)
|
|
|
|
}
|
|
|
|
|
|
|
|
export default {
|
|
|
|
request,
|
|
|
|
get,
|
|
|
|
post
|
|
|
|
}
|