"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;