123456789101112131415161718192021222324252627 |
- import type { InternalAxiosRequestConfig, AxiosResponse } from 'axios'
- import { ResultEnum } from '@/enums/HttpEnum'
- import { useUserStoreWithOut } from '@/stores'
- const defaultRequestInterceptors = (config: InternalAxiosRequestConfig) => {
- const userStore = useUserStoreWithOut()
- if (config.headers && typeof config.headers.set === 'function') {
- config.headers.set('Authorization', 'Bearer ' + userStore.token)
- }
- return config
- }
- const defaultResponseInterceptors = (response: AxiosResponse) => {
- const { code, msg } = response.data
- if (response?.config?.responseType === 'blob') {
- // 如果是文件流,直接过
- return response
- } else if (code === ResultEnum.SUCCESS) {
- return response.data
- } else if (code === ResultEnum.FORBIDDEN) {
- ElMessage.error('无权限')
- return response.data
- } else {
- console.error(msg)
- ElMessage.error(msg)
- }
- }
- export { defaultResponseInterceptors, defaultRequestInterceptors }
|