mirror of
https://gitee.com/novel_dev_team/novel-front-web
synced 2026-07-20 17:54:10 +08:00
49 lines
1.2 KiB
Vue
49 lines
1.2 KiB
Vue
import axios from 'axios'
|
|
import router from '@/router'
|
|
import { ElMessage } from 'element-plus'
|
|
import {getToken,removeToken,removeNickName, setToken} from '@/utils/auth'
|
|
|
|
|
|
|
|
axios.defaults.baseURL = process.env.VUE_APP_BASE_API_URL
|
|
axios.defaults.timeout = 10000
|
|
axios.defaults.withCredentials = true
|
|
axios.defaults.headers['X-Requested-With'] = 'XMLHttpRequest'
|
|
axios.defaults.headers.post['Content-Type'] = 'application/json'
|
|
|
|
axios.interceptors.request.use(config => {
|
|
config.headers['Authorization'] = getToken()
|
|
return config
|
|
}, error => {
|
|
console.log(error)
|
|
Promise.reject(error)
|
|
})
|
|
|
|
axios.interceptors.response.use(res => {
|
|
if (typeof res.data !== 'object') {
|
|
ElMessage.error('服务端异常!')
|
|
return Promise.reject(res)
|
|
}
|
|
if (res.data.code != "00000") {
|
|
if (res.data.message) {
|
|
ElMessage.error(res.data.message)
|
|
}
|
|
// 登录已过期
|
|
if (res.data.code == 'A0230') {
|
|
// 移除 token
|
|
removeToken();
|
|
removeNickName();
|
|
router.push({ path: '/login' })
|
|
}
|
|
|
|
return Promise.reject(res.data)
|
|
}
|
|
|
|
return res.data
|
|
}, error => {
|
|
ElMessage.error('网络异常!')
|
|
console.log(error)
|
|
Promise.reject(error)
|
|
})
|
|
|
|
export default axios |