1 changed files with 57 additions and 86 deletions
@ -1,103 +1,74 @@ |
|||
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.params)) { |
|||
config.params = { |
|||
...defaults, |
|||
...config.params |
|||
} |
|||
} |
|||
if (isPlainObject(config.data)) { |
|||
config.data = { |
|||
...defaults, |
|||
...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); |
|||
} |
|||
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" }); |
|||
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 Promise.reject(response.data.msg) |
|||
} |
|||
); |
|||
|
|||
// 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",
|
|||
// },
|
|||
// });
|
|||
// };
|
|||
return response |
|||
}, error => { |
|||
console.error(error) |
|||
return Promise.reject(error) |
|||
}) |
|||
|
|||
export default http; |
|||
export default http |
|||
|
Loading…
Reference in new issue