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

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;