zzzz
2024-04-15 136d5835ef62ecfb9932526c5f48a434988b1be7
1
{"ast":null,"code":"import \"vant/es/toast/style\";\nimport _Toast from \"vant/es/toast\";\nimport axios from \"axios\";\nimport store from \"@/store\";\nimport i18n from \"@/i18n\";\nimport router from \"@/router/router\";\nimport { getSessionStorage } from \"@/utils/utis\";\nimport { signatureGenerate } from \"@/utils/signatureUtil\";\naxios.defaults.headers.post[\"Content-Type\"] = \"application/x-www-form-urlencoded\";\n\n// let baseUrl = \"https://stock.niveshnav.com/wap/\";\nlet baseUrl = \"http://192.168.0.105:18080/wap/\";\nif (getSessionStorage(\"tzlj\")) {\n  baseUrl = getSessionStorage(\"tzlj\");\n}\nconsole.log(baseUrl);\n// 创建\nconst request = axios.create({\n  baseURL: baseUrl,\n  timeout: 8000,\n  // 超时时间\n  //   withCredentials: true,\n  headers: {\n    \"Content-Type\": \"application/json;charset=UTF-8\"\n  }\n  //   transformRequest: [function(data) {\n  //     return data\n  //   }]\n});\n// 拦截请求\nrequest.interceptors.request.use(config => {\n  if (config.loading) {\n    _Toast.loading({\n      duration: 0,\n      forbidClick: true\n    });\n  }\n  //if (store?.state?.user?.userInfo?.token) {\n  if (store.state.user.userInfo.token != undefined && store.state.user.userInfo.token !== \"\") {\n    // config.headers.Authorization = store.state.token\n    if (!config.params) {\n      // 放在哪里\n      config.params = {};\n    }\n    config.params[\"token\"] = store.state.user.userInfo.token;\n  }\n  // 获取请求头参数\n  const {\n    timestamp,\n    signature\n  } = signatureGenerate();\n  if (timestamp) config.headers[\"tissuePaper\"] = timestamp;\n  if (signature) config.headers[\"sign\"] = signature;\n  return config;\n}, error => {\n  Promise.reject(error);\n});\n\n/**\n * 烤猫, [7/27/2022 9:08 PM]\n * 0 成功\n1 直接显示\n105 直接提示“当前还需交易“ + 返回的金额值 + ”,才可提币\"\n401 是需要实名认证,问客户”未实名认证,是否认证?\"\n403 无登录信息,跳转登录页面\n506 \"帐户异常需要进行C3认证,请联系在线客服。\"\n */\n\n// 拦截响应\nrequest.interceptors.response.use(res => {\n  // 200开头的\n  if (res.config.loading) {\n    _Toast.clear();\n  }\n\n  // console.log(res);\n  const {\n    code,\n    data,\n    msg\n  } = res.data;\n  switch (code / 1) {\n    case 0:\n      return Promise.resolve(data);\n    case 403:\n      router.replace({\n        path: \"/login\",\n        query: {\n          redirect: router.currentRoute.fullPath\n        }\n      });\n      store.commit(\"user/SET_OUT\");\n      return Promise.reject(\"reject\");\n    // break;\n    default:\n      if (msg != undefined) {\n        _Toast.fail({\n          // icon: 'none',\n          message: i18n.t(msg)\n        });\n      }\n      //console.log('错误')\n      return Promise.reject(res.data);\n  }\n}, error => {\n  if (error.code == \"ERR_NETWORK\") {\n    _Toast({\n      message: \"ERR_NETWORK\",\n      type: \"fail\",\n      duration: 1000\n    });\n  } else if (error.code == \"ECONNABORTED\") {\n    //Toast({ message: 'Network Timeout', type: 'fail', duration: 2000 })\n    return Promise.reject(error);\n  } else if (error && error.response) {\n    //console.log(error.response);\n    switch (error.response.status) {\n      case 400:\n        error.message = i18n.t(\"请求错误\");\n        break;\n      case 401:\n        error.message = i18n.t(\"未授权,请登录\");\n        break;\n      case 403:\n        error.message = i18n.t(\"拒绝访问\");\n        break;\n      case 404:\n        error.message = i18n.t(`请求地址不存在: ${error.response.config.url}`);\n        break;\n      case 408:\n        error.message = i18n.t(\"请求超时\");\n        break;\n      case 500:\n        error.message = i18n.t(\"服务器内部错误\");\n        break;\n      case 501:\n        error.message = i18n.t(\"服务未实现\");\n        break;\n      case 502:\n        error.message = i18n.t(\"网关错误\");\n        break;\n      case 503:\n        error.message = i18n.t(\"服务不可用\");\n        break;\n      case 504:\n        error.message = i18n.t(\"网关超时\");\n        break;\n      case 505:\n        error.message = i18n.t(\"HTTP版本不受支持\");\n        break;\n      default:\n        error.message = i18n.t(\"未捕获到的状态码\");\n        break;\n    }\n  }\n  // eslint-disable-next-line prefer-promise-reject-errors\n  return Promise.reject(error);\n});\nexport default request;","map":null,"metadata":{},"sourceType":"module","externalDependencies":[]}