You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
1.3 KiB
JavaScript
56 lines
1.3 KiB
JavaScript
import {
|
|
getToken,
|
|
delToken
|
|
} from '../tool/member.js';
|
|
import $api from "../api/api.js"
|
|
|
|
const noLogin = [
|
|
'用户信息',
|
|
'微信登录',
|
|
'基础参数',
|
|
]
|
|
const expirationJumpPath = '/pages/main/login/login'
|
|
|
|
const post = (e) => {
|
|
if (typeof e.url === 'undefined') return console.error({
|
|
'data': {
|
|
'message': 'URL没有定义'
|
|
},
|
|
'state': 201
|
|
});
|
|
let url = e.url;
|
|
let data = typeof e.data === 'undefined' ? {} : e.data;
|
|
let done = typeof e.done === 'undefined' ? response => console.log(response) : e.done;
|
|
let then = typeof e.then === 'undefined' ? response => console.log(response) : e.then;
|
|
let error = typeof e.error === 'undefined' ? err => console.log(err) : e.error;
|
|
let token = getToken() ? getToken() : '';
|
|
if (noLogin.indexOf(url) === -1 && token === '') return false
|
|
data.SYSTEM_TYPE = 'WMP';
|
|
let header = typeof e.header === 'undefined' ? {
|
|
'content-type': 'application/json',
|
|
'Authorization': `Bearer ${token}`
|
|
} : {
|
|
'content-type': 'application/json',
|
|
...e.header
|
|
};
|
|
uni.request({
|
|
url: $api(url),
|
|
method: 'POST',
|
|
data: data,
|
|
header: header,
|
|
success: (res) => {
|
|
if (Number(res.data.code) === 20003) {
|
|
delToken()
|
|
uni.navigateTo({
|
|
url: expirationJumpPath
|
|
})
|
|
} else {
|
|
then(res.data)
|
|
}
|
|
},
|
|
fail: (e) => error(e)
|
|
});
|
|
}
|
|
|
|
export default post;
|