1 changed files with 86 additions and 57 deletions
@ -1,74 +1,103 @@ |
|||||
import axios from 'axios' |
import axios from "axios"; |
||||
import Cookies from 'js-cookie' |
import Cookies from "js-cookie"; |
||||
import router from '@/router' |
import router from "@/router"; |
||||
import qs from 'qs' |
import qs from "qs"; |
||||
import { clearLoginInfo } from '@/utils' |
import { clearLoginInfo } from "@/utils"; |
||||
import isPlainObject from 'lodash/isPlainObject' |
import isPlainObject from "lodash/isPlainObject"; |
||||
|
|
||||
const http = axios.create({ |
const http = axios.create({ |
||||
baseURL: window.SITE_CONFIG['apiURL'], |
baseURL: window.SITE_CONFIG["apiURL"], |
||||
timeout: 1000 * 900, |
timeout: 1000 * 900, |
||||
withCredentials: true |
withCredentials: true, |
||||
}) |
}); |
||||
|
|
||||
/** |
/** |
||||
* 请求拦截 |
* 请求拦截 |
||||
*/ |
*/ |
||||
http.interceptors.request.use(config => { |
http.interceptors.request.use( |
||||
config.headers['Accept-Language'] = localStorage.getItem('language') || 'zh-CN' |
(config) => { |
||||
config.headers['token'] = localStorage.getItem('token') || '' |
config.headers["Accept-Language"] = |
||||
config.headers['Authorization'] = localStorage.getItem('token') || '' |
localStorage.getItem("language") || "zh-CN"; |
||||
// 默认参数
|
config.headers["token"] = localStorage.getItem("token") || ""; |
||||
var defaults = {} |
config.headers["Authorization"] = localStorage.getItem("token") || ""; |
||||
// 防止缓存,GET请求默认带_t参数
|
// 默认参数
|
||||
if (config.method == 'get') { |
var defaults = {}; |
||||
config.params = { |
// 防止缓存,GET请求默认带_t参数
|
||||
...config.params, |
if (config.method == "get") { |
||||
...{ '_t': new Date().getTime() } |
config.params = { |
||||
|
...config.params, |
||||
|
...{ _t: new Date().getTime() }, |
||||
|
}; |
||||
} |
} |
||||
} |
if (isPlainObject(config.params)) { |
||||
if (isPlainObject(config.params)) { |
config.params = { |
||||
config.params = { |
...defaults, |
||||
...defaults, |
...config.params, |
||||
...config.params |
}; |
||||
} |
|
||||
} |
|
||||
if (isPlainObject(config.data)) { |
|
||||
config.data = { |
|
||||
...defaults, |
|
||||
...config.data |
|
||||
} |
} |
||||
if (/^application\/x-www-form-urlencoded/.test(config.headers['content-type'])) { |
if (isPlainObject(config.data)) { |
||||
config.data = qs.stringify(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 => { |
http.interceptors.response.use( |
||||
const code = [10007, 401, 10001, 10005] |
(response) => { |
||||
if (code.includes(response.data.code)) { |
const code = [10007, 401, 10001, 10005]; |
||||
clearLoginInfo() |
if (code.includes(response.data.code)) { |
||||
// localStorage.setItem('userType', 'work')
|
clearLoginInfo(); |
||||
// let userType = localStorage.getItem("userType");
|
// localStorage.setItem('userType', 'work')
|
||||
// if (userType === 'work'){
|
// let userType = localStorage.getItem("userType");
|
||||
// router.replace({ name: 'loginWork' })
|
// if (userType === 'work'){
|
||||
// }else {
|
// router.replace({ name: 'loginWork' })
|
||||
// router.replace({ name: 'login' })
|
// }else {
|
||||
// }
|
// router.replace({ name: 'login' })
|
||||
router.replace({ name: 'login' }) |
// }
|
||||
|
router.replace({ name: "login" }); |
||||
return Promise.reject(response.data.msg) |
|
||||
|
return Promise.reject(response.data.msg); |
||||
|
} |
||||
|
return response; |
||||
|
}, |
||||
|
(error) => { |
||||
|
console.error(error); |
||||
|
return Promise.reject(error); |
||||
} |
} |
||||
return response |
); |
||||
}, error => { |
|
||||
console.error(error) |
// http.put = function (url, data, config) {
|
||||
return Promise.reject(error) |
// 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; |
||||
|
|||||
Loading…
Reference in new issue