diff --git a/src/utils/request.js b/src/utils/request.js index 7de9ad4cb..3382d9074 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,74 +1,103 @@ -import axios from 'axios' -import Cookies from 'js-cookie' -import router from '@/router' -import qs from 'qs' -import { clearLoginInfo } from '@/utils' -import isPlainObject from 'lodash/isPlainObject' +import axios from "axios"; +import Cookies from "js-cookie"; +import router from "@/router"; +import qs from "qs"; +import { clearLoginInfo } from "@/utils"; +import isPlainObject from "lodash/isPlainObject"; const http = axios.create({ - baseURL: window.SITE_CONFIG['apiURL'], + baseURL: window.SITE_CONFIG["apiURL"], timeout: 1000 * 900, - withCredentials: true -}) + withCredentials: true, +}); /** * 请求拦截 */ -http.interceptors.request.use(config => { - config.headers['Accept-Language'] = localStorage.getItem('language') || 'zh-CN' - config.headers['token'] = localStorage.getItem('token') || '' - config.headers['Authorization'] = localStorage.getItem('token') || '' - // 默认参数 - var defaults = {} - // 防止缓存,GET请求默认带_t参数 - if (config.method == 'get') { - config.params = { - ...config.params, - ...{ '_t': new Date().getTime() } +http.interceptors.request.use( + (config) => { + config.headers["Accept-Language"] = + localStorage.getItem("language") || "zh-CN"; + config.headers["token"] = localStorage.getItem("token") || ""; + config.headers["Authorization"] = localStorage.getItem("token") || ""; + // 默认参数 + var defaults = {}; + // 防止缓存,GET请求默认带_t参数 + if (config.method == "get") { + config.params = { + ...config.params, + ...{ _t: new Date().getTime() }, + }; } - } - if (isPlainObject(config.params)) { - config.params = { - ...defaults, - ...config.params - } - } - if (isPlainObject(config.data)) { - config.data = { - ...defaults, - ...config.data + if (isPlainObject(config.params)) { + config.params = { + ...defaults, + ...config.params, + }; } - if (/^application\/x-www-form-urlencoded/.test(config.headers['content-type'])) { - config.data = qs.stringify(config.data) + if (isPlainObject(config.data)) { + config.data = { + ...defaults, + ...config.data, + }; + if ( + /^application\/x-www-form-urlencoded/.test( + config.headers["content-type"] + ) + ) { + config.data = qs.stringify(config.data); + } } + return config; + }, + (error) => { + return Promise.reject(error); } - return config -}, error => { - return Promise.reject(error) -}) +); /** * 响应拦截 */ -http.interceptors.response.use(response => { - const code = [10007, 401, 10001, 10005] - if (code.includes(response.data.code)) { - clearLoginInfo() - // localStorage.setItem('userType', 'work') - // let userType = localStorage.getItem("userType"); - // if (userType === 'work'){ - // router.replace({ name: 'loginWork' }) - // }else { - // router.replace({ name: 'login' }) - // } - router.replace({ name: 'login' }) - - return Promise.reject(response.data.msg) +http.interceptors.response.use( + (response) => { + const code = [10007, 401, 10001, 10005]; + if (code.includes(response.data.code)) { + clearLoginInfo(); + // localStorage.setItem('userType', 'work') + // let userType = localStorage.getItem("userType"); + // if (userType === 'work'){ + // router.replace({ name: 'loginWork' }) + // }else { + // router.replace({ name: 'login' }) + // } + router.replace({ name: "login" }); + + return Promise.reject(response.data.msg); + } + return response; + }, + (error) => { + console.error(error); + return Promise.reject(error); } - return response -}, error => { - console.error(error) - return Promise.reject(error) -}) +); + +// http.put = function (url, data, config) { +// http.post(url, data, { +// ...config, +// headers: { +// "X-HTTP-Method-Override": "PUT", +// }, +// }); +// }; + +// http.delete = function (url, config) { +// http.post(url, config.data || {}, { +// ...config, +// headers: { +// "X-HTTP-Method-Override": "DELETE", +// }, +// }); +// }; -export default http +export default http;