66 lines
1.9 KiB
JavaScript
66 lines
1.9 KiB
JavaScript
import config from "@/config.js"
|
|
import useUserStore from '@/stores/useUserStore';
|
|
const request = ({
|
|
url,
|
|
method = 'GET',
|
|
data = {},
|
|
load = false,
|
|
header = {}
|
|
} = {}) => {
|
|
|
|
return new Promise((resolve, reject) => {
|
|
if (load) {
|
|
uni.showLoading({
|
|
title: '请稍候',
|
|
mask: true
|
|
});
|
|
}
|
|
console.log(useUserStore())
|
|
let Authorization = ''
|
|
if (useUserStore().token) {
|
|
Authorization = `${useUserStore().userInfo.token}${useUserStore().token}`
|
|
}
|
|
uni.request({
|
|
url: config.baseUrl + url,
|
|
method,
|
|
data: data,
|
|
header: {
|
|
'Authorization': Authorization || '',
|
|
...header
|
|
},
|
|
success: resData => {
|
|
// 响应拦截
|
|
if (resData.statusCode === 200) {
|
|
const {
|
|
code,
|
|
data,
|
|
message
|
|
} = resData.data
|
|
if (code === 200) {
|
|
resolve(data)
|
|
return
|
|
}
|
|
uni.showToast({
|
|
title: message,
|
|
icon: 'none'
|
|
})
|
|
}
|
|
if (resData.data?.code === 401 || resData.data?.code === 402) {
|
|
store.commit('logout')
|
|
uni.clearStorageSync('userInfo')
|
|
}
|
|
const err = new Error('请求出现异常,请联系工作人员')
|
|
err.error = resData
|
|
reject(err)
|
|
},
|
|
fail: err => reject(err),
|
|
complete() {
|
|
if (load) {
|
|
uni.hideLoading();
|
|
}
|
|
}
|
|
})
|
|
})
|
|
}
|
|
|
|
export default request |