chenyao
2025-02-24 a0f008e1b176ab0c844bc4721f282e12d18f855c
src/api/http/request.ts
@@ -6,7 +6,8 @@
 * isToken是否需要token
 */
import axios, { AxiosRequestConfig, AxiosResponse } from 'axios'
import store from '@/store/user'
// import store from '@/store/user'
import { useMyStore } from '@/store'
import router from '@/router';
import { serialize } from '@/utils/common'
import { getToken } from '@/utils/auth';
@@ -100,9 +101,6 @@
    if (config.method === 'post' && meta.isSerialize === true) {
      config.data = serialize(config.data)
    }
    // config.headers[ELocalStorageKey.Token] = localStorage.getItem(ELocalStorageKey.Token)
    // config.headers[REQUEST_ID] = uuidv4()
    // config.baseURL = CURRENT_CONFIG.baseURL
    return config
  },
  (error: any) => {
@@ -115,10 +113,8 @@
    const status = res.data.code || res.status
    const message = res.data.msg || res.data.message || res.data.error_description || '未知错误'
    // 如果是401则跳转到登录页面
    // const store = useMyStore()
    if (status === 401) {
      store.dispatch('FedLogOut').then(() => router.push({ path: '/login' }))
      // return
    if (status == 401) {
      router.push({ path: '/login' })
    }
    // 如果请求为非200否者默认统一处理
    if (status !== 200) {
@@ -130,10 +126,6 @@
        return Promise.reject(new Error(message))
      }
      if (message === '缺失令牌,鉴权失败') {
        // message({
        //   message: '登录信息已过期,请重新登录',
        //   type: 'warning',
        // })
        ElMessage.warning('登录信息已过期,请重新登录')
      }
      if (
@@ -150,18 +142,6 @@
      }
      return Promise.reject(new Error(message))
    }
    // console.info('URL: ' + response.config.baseURL + response.config.url, '\nData: ', response.data, '\nResponse:', response)
    // const whiteList = ['/manage/api/v1/live/streams/stop']
    // if (whiteList.includes(response.config.url)) {
    //   return Promise.reject(response.data)
    // }
    // 处理消息返回
    // if (response.data.code && !response.data.success) {
    //   message.error(response.data.message)
    // }
    // if (response.data.code && response.data.code !== 0) {
    //   message.error(response.data.message)
    // }
    return res
  },
  (err: {
@@ -181,29 +161,21 @@
    if (err.response?.data && err.response.data.result) {
      description = err.response.data.result.message
    }
    // @See: https://github.com/axios/axios/issues/383
    if (!err.response || !err.response.status) {
      ElMessage.error('网络异常,请检查后端服务后重试')
      return
    }
    if (err.response?.status !== 200) {
      ElMessage.error(`错误码: ${err.response?.status}`)
      if (err.response.data?.msg) {
        ElMessage.error(err.response.data?.msg)
      } else if (err.response.data?.error_description) {
        ElMessage.error(err.response.data?.error_description)
      } else {
        ElMessage.error(`错误码: ${err.response?.status}`)
      }
    }
    // if (err.response?.status === 403) {
    //   // window.location.href = '/'
    // }
    if (err.response?.status === 401) {
      console.error(err.response)
      store.dispatch('FedLogOut').then(() => router.push({ path: '/login' }))
      // const flag: number = Number(localStorage.getItem(ELocalStorageKey.Flag))
      // switch (flag) {
      //   case EUserType.Web:
      //     router.push(ERouterName.PROJECT_LIST)
      //     break
      //   case EUserType.Pilot:
      //     router.push(ERouterName.PILOT)
      //     break
      // }
    if (err.response?.status == 401) {
      router.push({ path: '/login' })
    }
    return Promise.reject(err)
  },