forked from gzzfw/frontEnd/gzDyh

liuwh
2024-09-09 e92ddbcdc1cb990de02621bccfa62cc067afd3b9
gz-customerSystem/src/api/apiHandler.js
@@ -2,41 +2,49 @@
 * @Company: hugeInfo
 * @Author: ldh
 * @Date: 2022-02-16 11:28:12
 * @LastEditTime: 2024-09-07 16:45:38
 * @LastEditTime: 2024-09-08 10:31:44
 * @LastEditors: dminyi 1301963064@qq.com
 * @Version: 1.0.0
 * @Description: axios处理方法
 */
import axios from 'axios';
import { catchApiError, appUrl, getSessionStorage, info } from '../utils/utility';
import axios from "axios";
import {
  catchApiError,
  appUrl,
  getSessionStorage,
  info,
} from "../utils/utility";
// 网络异常
function networkException(err) {
   if (err.code >= 400) {
      catchApiError({ content: '抱歉! 网络异常请刷新' });
    catchApiError({ content: "抱歉! 网络异常请刷新" });
   } else {
      catchApiError({ content: '抱歉! 网络错误' });
    catchApiError({ content: "抱歉! 网络错误" });
   }
}
// api返回结果处理
function resHandle(resData) {
   const { code, data, msg } = resData;
   if (code === 0 || code === '0') {
  if (code === 0 || code === "0") {
      // let res_data = data ? aes_decrypt(data) : true;
      return { type: true, data };
   } else if (code === 401 || code === '401') {
      catchApiError({ content: '抱歉! 登录状态已失效请重新登录', loginStatus: 'lose' });
  } else if (code === 401 || code === "401") {
    catchApiError({
      content: "抱歉! 登录状态已失效请重新登录",
      loginStatus: "lose",
    });
      return { type: false };
   } else if (code === 105 || code === '105') {
  } else if (code === 105 || code === "105") {
      return { type: false, code, data, msg };
   } else if (code === 106 || code === '106') {
  } else if (code === 106 || code === "106") {
      return { type: false, code, data, msg };
   } else if (code === -1 || code == '-1') {
  } else if (code === -1 || code == "-1") {
      catchApiError({ content: msg });
      return { type: false };
   } else {
      info({ type: 'warning', content: msg });
    info({ type: "warning", content: msg });
      return { type: false };
   }
}
@@ -44,11 +52,14 @@
export const ax = axios;
export function request(value = {}) {
   let token = getSessionStorage('customerSystemToken');
  let token = getSessionStorage("customerSystemToken");
   // 无token时
   if (!token && value.url !== 'ctAccount/login') {
      catchApiError({ content: '抱歉!登录状态已失效请重新登录', loginStatus: 'lose' });
  if (!token && value.url !== "ctAccount/login") {
    catchApiError({
      content: "抱歉!登录状态已失效请重新登录",
      loginStatus: "lose",
    });
      return { type: false };
   }
@@ -56,23 +67,17 @@
   let data = value.data;
   
   const url =
      value.service === 'sys'
         ? `${appUrl.fileUrl}/${appUrl[value.service] || ''}/api/web/${value.url}`
         : `${appUrl.baseUrl}/${appUrl[value.service] || ''}/api/web/${value.url}`;
    value.service === "sys"
      ? `${appUrl.fileUrl}/${appUrl[value.service] || ""}/api/web/${value.url}`
      : `${appUrl.baseUrl}/${appUrl[value.service] || ""}/api/web/${value.url}`;
   if (value.type === 'get') {
  const urlAi = `${appUrl.fileUrl}/${appUrl[value.service] || ""}/api/ai/${
    value.urlAi
  }`;
  if (value.typeAi === "get") {
      return ax
         .get(url, { params: data, headers: { 'Authorization': token } })
         .then((response) => {
            return resHandle(response.data);
         })
         .catch((err) => {
            networkException(err);
            return { type: false };
         });
   } else if (value.type === 'delete') {
      return ax
         .delete(url, { params: data, headers: { 'Authorization': token } })
      .get(urlAi, { params: data, headers: { Authorization: token } })
         .then((response) => {
            return resHandle(response.data);
         })
@@ -81,9 +86,42 @@
            return { type: false };
         });
   }
   else {
  if (value.typeAi === "post") {
      return ax
         .post(url, data, { headers: { 'Authorization': token } })
      .post(urlAi, data, { headers: { Authorization: token } })
      .then((response) => {
        return resHandle(response.data);
      })
      .catch((err) => {
        networkException(err);
        return { type: false };
      });
  }
  if (value.type === "get") {
    return ax
      .get(url, { params: data, headers: { Authorization: token } })
      .then((response) => {
        return resHandle(response.data);
      })
      .catch((err) => {
        networkException(err);
        return { type: false };
      });
  } else if (value.type === "delete") {
    return ax
      .delete(url, { params: data, headers: { Authorization: token } })
      .then((response) => {
        return resHandle(response.data);
      })
      .catch((err) => {
        networkException(err);
        return { type: false };
      });
  } else {
    return ax
      .post(url, data, { headers: { Authorization: token } })
         .then((response) => {
            return resHandle(response.data);
         })