import axios from 'axios' import store from '@/store' import router from '@/router' import { getToken } from '@/utils/auth' const service = axios.create({ baseURL: store.state.baseURL, // url = base url + request url // withCredentials: false, // send cookies when cross-domain requests timeout: 30000 // request timeout }) // 请求拦截 service.interceptors.request.use( config => { // let url = config.url // store.dispatch('showloader'); config.headers['Content-Type'] = 'application/json;charset=UTF-8' // let token = getToken(); // if (config.url.indexOf('/videoService/accounts/authorize') != -1) { // config.headers['X-Subject-Token'] = token // } if (config.method === 'get') { config.params = { _t: Date.parse(new Date()) / 1000, ...config.params } } return config }, error => { console.log(error) // for debug return Promise.reject(error) } ) // 响应拦截器 service.interceptors.response.use( response => { store.dispatch('hideloader') const res = response.data switch (res.status) { case 1000: // 登陆过期 localStorage.clear() // Toast.message('登陆失效,请重新登陆'); router.replace('/login') break case 999: // 用户不存在 localStorage.clear() router.replace('/login') // Toast.message(res.msg); break case 997: // 用户冻结 router.replace('/login') // Toast.message(res.msg); break } return res }, error => { store.dispatch('hideloader') console.log('err' + error) // for debug // Toast.message('网络错误'); return Promise.reject(error) } ) export default service