@21epub/epub-thirdparty
Version:
epub-thirdparty
68 lines (64 loc) • 2.51 kB
JavaScript
import axios from 'axios';
import { toString } from 'lodash';
// 自定义状态码提示
var codeMessage = {
200: '服务器成功返回请求的数据。',
201: '新建或修改数据成功。',
202: '一个请求已经进入后台排队(异步任务)。',
204: '删除数据成功。',
400: '请求有错误,请重试!',
401: '用户没有权限(令牌、用户名、密码错误)。',
403: '用户得到授权,但是访问是被禁止的。',
404: '发出的请求针对的是不存在的记录,服务器没有进行操作。',
406: '请求的格式不可得。',
410: '请求的资源被永久删除,且不会再得到的。',
422: '当创建一个对象时,发生一个验证错误。',
500: '服务器发生错误,请检查服务器。',
502: '网关错误。',
503: '服务不可用,服务器暂时过载或维护。',
504: '网关超时。',
};
// 将数据转为string
var dataToString = function (value) {
var str = '';
try {
str = toString(value);
if (str === '[object Object]')
str = JSON.stringify(value);
}
catch (_a) {
return value;
}
return str || value;
};
// 获取对应的报错信息
var getErrorMsg = function (error) {
var _a, _b, _c;
var status = (_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.status;
return {
error: error,
status: status,
response: error === null || error === void 0 ? void 0 : error.response,
message: dataToString((_b = error === null || error === void 0 ? void 0 : error.response) === null || _b === void 0 ? void 0 : _b.data),
codeMessage: codeMessage[status],
statusText: (_c = error === null || error === void 0 ? void 0 : error.response) === null || _c === void 0 ? void 0 : _c.statusText,
};
};
// 创建axios实例
var request = axios.create();
axios.defaults.headers.post = {
'Content-type': 'application/x-www-form-urlencoded',
};
// application/x-www-form-urlencoded
// multipart/form-data
// application/json
// 响应拦截,对报错做统一处理
request.interceptors.response.use(function (res) {
// 该返回的数据则是axios.then(res)中接收的数据
return res;
}, function (err) {
// 该返回的数据则是axios.catch(err)中接收的数据
return Promise.reject(getErrorMsg(err));
});
export { request };
//# sourceMappingURL=index.esm.js.map