单应用项目,可以创建很多独立工具类页面 ,不用登录 初始化的页面
zhangchen
2025-09-16 b3e78764e84144a9d64a9d28f293dc4a75e22134
src/utils/axios.ts
@@ -63,7 +63,7 @@
    // 防止同一接口短时间内重复请求
    if (config.url) {
      if (reqList.includes(config.url)) {
        return Promise.reject(new axios.Cancel(`重复请求:${config.url}`))
        // return Promise.reject(new axios.Cancel(`重复请求:${config.url}`))
      } else {
        reqList.push(config.url)
      }
@@ -78,7 +78,7 @@
instance.interceptors.response.use(
  (res: AxiosResponse) => {
    setTimeout(() => allowRequest(res.config.url), 1000)
    // setTimeout(() => allowRequest(res.config.url), 1000)
    if (String(res.status).charAt(0) !== '2') {
      return Promise.reject({
        code: res.status,
@@ -100,13 +100,13 @@
    const anyErr = err as any
    const configUrl = anyErr?.config?.url
    // 失败后 1s 允许再次请求
    setTimeout(() => allowRequest(configUrl), 1000)
    // setTimeout(() => allowRequest(configUrl), 1000)
    // 先判断是否是取消请求
    if (axios.isCancel(err as any)) {
      console.warn('请求被取消:', (err as any)?.message)
      return Promise.reject(err)
    }
    // if (axios.isCancel(err as any)) {
    //   console.warn('请求被取消:', (err as any)?.message)
    //   return Promise.reject(err)
    // }
    // 判断是否为 axios 的错误类型(有 response)
    if (axios.isAxiosError(err)) {