| import axios from 'axios'; | 
| import { API_BASE_URL, TOKEN_HEADER_NAME, UN_AUTH_CODE } from '@/config/setting'; | 
| import { getToken, setToken } from './token-util'; | 
|   | 
| const service = axios.create({ | 
|     baseURL: API_BASE_URL | 
| }); | 
|   | 
| /** | 
|  * pre | 
|  */ | 
| service.interceptors.request.use( | 
|     (config) => { | 
|         const token = getToken(); | 
|         if (token && config.headers) { | 
|             config.headers[TOKEN_HEADER_NAME] = token; | 
|         } | 
|         return config; | 
|     }, | 
|     (error) => { | 
|         return Promise.reject(error); | 
|     } | 
| ); | 
|   | 
| /** | 
|  * post | 
|  */ | 
| service.interceptors.response.use( | 
|     (res) => { | 
|         if (res.data?.code === UN_AUTH_CODE) { | 
|             // Modal.destroyAll(); | 
|             // Modal.info({ | 
|             //     title: 'Token has expired, please log in again!', | 
|             //     okText: 'LOGIN', | 
|             //     style: "top: 20px", | 
|             //     onOk: () => { | 
|             //         logout(); | 
|             //     } | 
|             // }); | 
|             alert('Token has expired, please log in again!'); | 
|             // todo: logout | 
|             return Promise.reject(new Error(res.data.message)); | 
|         } else { | 
|             const token = res.headers[TOKEN_HEADER_NAME.toLowerCase()]; | 
|             if (token) { | 
|                 setToken(token); | 
|             } | 
|             return res; | 
|         } | 
|     }, | 
|     (error) => { | 
|         return Promise.reject(error); | 
|     } | 
| ); | 
|   | 
| export default service; |