import { useUserStore } from '@/store' import axios from 'axios' axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8' const instance = axios.create({ // baseURL: process.env.NODE_ENV === 'development' ? '/zd-api' : '/crm-api', baseURL: process.env.NODE_ENV === 'development' ? '/zd-api' : '/crm-api', timeout: 30000, headers: { 'Content-Security-Policy': 'default-src \'*\'' } }) /** * 该函数捕获一个错误并返回一个被拒绝的承诺。 * @param {any} error - `error` 参数是 `any` 类型,这意味着它可以是任何数据类型。它用作 `catchErr` 函数的输入参数。 * @returns `catchErr` 函数返回一个被拒绝的 Promise,并传递了 `error` 参数作为拒绝的原因。 */ const catchErr = (response) => { console.log('response:', response); if (response === undefined) return const data = response.data console.log('data', data) if (data.code === 500) { console.log(data.msg) // eslint-disable-next-line no-undef showToast(data.msg) // message.error(data.msg) } else if (data.code === 302) { useUserStore().logout() } } instance.interceptors.request.use(config => { console.log(config) config.headers['admin-token'] = useUserStore().userInfo.token return config }, function (error) { return Promise.reject(error) }) instance.interceptors.response.use(function (response) { catchErr(response) return response.data }, error => { catchErr(error.response) return Promise.reject(error) }) export default instance.request