1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- import axios from 'axios'
- import {history} from './router.config'
- const replaceLogin = () => history.replace('/login')
- let token = sessionStorage.getItem('token')
- token || replaceLogin()
- export const baseURL = process.env.NODE_ENV === 'development' ? '/api' : '/api'
- axios.defaults.baseURL = baseURL
- axios.interceptors.request.use(request => {
- // if (request.url === '/login' || request.url === '/logout') {
- // request.baseURL = process.env.NODE_ENV === 'development' ? '/test': ''
- // }
- if (!token && request.url !== '/admin/login') {
- replaceLogin()
- return Promise.reject('未登录无法请求')
- }
- request.headers.token = token
- return request
- })
- axios.interceptors.response.use(response => {
- if (response.data.code === 401 || response.data.status === 5001 || response.data.code === 5001) {
- sessionStorage.removeItem('token')
- token = null;
- replaceLogin()
- throw new Error('当前用户未登录')
- }
- return response
- })
- export const setToken = (t: any) => {
- token = t
- sessionStorage.setItem('token', t)
- }
- export const removeToken = (t: any) => {
- token = null
- sessionStorage.removeItem('token')
- }
- export default axios
|