@szmg-fe/tarco
Version:
function library in Taro
52 lines (47 loc) • 1.56 kB
text/typescript
/*
* @Description: 小程序请求工具
* @Date: 2021-03-30 17:14:21
* @Author: Lemon
* @LastEditTime: 2021-06-03 11:15:54
*/
import Task from 'data.task';
import Taro from './Taro';
const taroHttp = (server: string, method: 'GET' | 'POST', url: string, data: any) => {
return new Task(function (reject, resolve) {
const token = Taro.getStorageSync('token');
const { header = {} } = data || {};
Taro.request({
url: `${server}${url}`,
method,
data,
dataType: 'json',
header: {
'Content-Type': 'application/json; charset=utf-8',
'token': token,
'Authorization': `Bearer ${token}`,
...header
},
success: res => {
const code = res.statusCode + '';
if (code.includes('5') || code.includes('4')) {
reject({
data: res.data,
msg: '服务器异常:' + code
});
return
}
// TODO 需要把整块的业务分离
if (res.data.data || res.data.returnData || res.data.msg === "SUCCESS") {
resolve(res);
return;
}
reject({
data: res.data,
msg: '服务器异常:' + res.data?.msg
});
},
fail: reject
});
})
}
export default taroHttp;