"use strict";
|
|
Object.defineProperty(exports, "__esModule", {
|
value: true
|
});
|
exports["default"] = void 0;
|
|
var _axios = _interopRequireDefault(require("axios"));
|
|
var _elementUi = require("element-ui");
|
|
var _auth = require("@/utils/auth");
|
|
var _lockr = _interopRequireDefault(require("lockr"));
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
var showLoginMessageBox = false;
|
_axios["default"].defaults.headers.post['Content-Type'] = 'application/json;charset=UTF-8'; // 创建axios实例
|
|
console.log(process.env);
|
|
var service = _axios["default"].create({
|
baseURL: process.env.BASE_API,
|
// api 的 base_url
|
// baseURL: 'http://192.168.0.107:8080/api',
|
timeout: 15000 // 请求超时时间
|
|
}); // request拦截器
|
|
|
service.interceptors.request.use(function (config) {
|
var flag = config.headers['Content-Type'] && config.headers['Content-Type'].indexOf('application/json') !== -1;
|
|
if (!flag) {
|
var mult = config.headers['Content-Type'] && config.headers['Content-Type'].indexOf('multipart/form-data') !== -1;
|
|
if (mult) {
|
config.data = config.data;
|
} else {
|
// config.data = qs.stringify(config.data)
|
config.data = config.data;
|
}
|
}
|
|
config.headers['token'] = _lockr["default"].get('Admin-Token');
|
var url = config.url;
|
url += url.indexOf('?') >= 0 ? '&' : '?';
|
url += 'r=' + (Math.random() * 100000 + 1);
|
config.url = url;
|
return config;
|
}, function (error) {
|
console.log(error); // Do something with request error
|
|
return Promise.reject(error);
|
}); // response 拦截器
|
|
service.interceptors.response.use(function (response) {
|
/**
|
* code为非200是抛错
|
*/
|
var res = response.data;
|
|
if (response.status === 200 && response.config.responseType === 'blob') {
|
// 文件类型特殊处理
|
return response;
|
} else if (res && !res.ErrorCode) {
|
return response;
|
} else if (res.ErrorCode !== 0) {
|
// 302登录已失效
|
if (res.ErrorCode === 302 || res.ErrorCode === 401) {
|
if (!showLoginMessageBox) {
|
showLoginMessageBox = true;
|
|
_elementUi.MessageBox.confirm('你已被登出,请重新登录', '确定登出', {
|
showCancelButton: false,
|
showClose: false,
|
confirmButtonText: '重新登录',
|
type: 'warning',
|
callback: function callback(action) {
|
showLoginMessageBox = false;
|
|
if (action === 'confirm') {
|
(0, _auth.removeAuth)().then(function () {
|
var rout = window.location.href;
|
var a = rout.lastIndexOf('/');
|
rout = rout.substring(0, a);
|
window.location.href = rout + '/login'; // location.reload() // 为了重新实例化vue-router对象 避免bug
|
})["catch"](function () {
|
location.reload();
|
});
|
}
|
}
|
});
|
}
|
} else if (res.ErrorCode === 200) {
|
return response;
|
} else {
|
if (res.Message) {
|
(0, _elementUi.Message)({
|
message: res.Message,
|
type: 'error'
|
});
|
}
|
}
|
|
return Promise.reject(res);
|
} else {
|
return res;
|
}
|
}, function (error) {
|
(0, _elementUi.Message)({
|
message: '网络请求失败,请稍候再试',
|
type: 'error'
|
});
|
return Promise.reject(error);
|
});
|
var _default = service;
|
exports["default"] = _default;
|