12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- 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
|