import axios from 'axios'
import { Notification } from 'element-ui'
import { gbs } from '@/config/settings'
axios.defaults.baseURL = gbs.host // 配置axios請求的位址
axios.defaults.headers.post['Content-Type'] = 'application/json; charset=utf-8'
axios.defaults.crossDomain = true
axios.defaults.withCredentials = true // 設定cross跨域 并設定通路權限 允許跨域攜帶cookie資訊
// 配置發送請求前的攔截器 可以設定token資訊
axios.interceptors.request.use(
config => {
// 這裡配置全局loading
if (!(/\.json/.test(config.url))) {
// $('#screen').show()
}
return config
// return Promise.resolve(config)
},
error => {
return Promise.reject(error)
}
)
axios.interceptors.response.use(
res => {
// loading結束
$('#screen').hide()
return Promise.resolve(res.data)
},
error => {
$('#screen').hide()
if (error.response && error.response.config.url.includes('findAlertLevelList')) {
return Promise.reject(error)
}
if (gbs.inDev) {
Notification({
message: '連接配接錯誤!',
position: 'bottom-right',
customClass: 'toast toast-error'
})
if (error.toString().includes('776')) {
window.location.href = window.location.origin + '/#/login'
}
} else {
if (error.toString().includes('776')) {
window.location.href = window.location.origin + '/loginPage'
}
tooltip('', '連接配接錯誤!', 'error')
}
return Promise.reject(error)
}
)
export default axios