Browse Source

报错弹出优化

wangwei 4 years ago
parent
commit
df00a0dad1
4 changed files with 17 additions and 29 deletions
  1. 1 13
      src/api/sys/user.ts
  2. 2 3
      src/utils/http/axios/Axios.ts
  3. 13 12
      src/utils/http/axios/index.ts
  4. 1 1
      src/utils/http/axios/types.ts

+ 1 - 13
src/api/sys/user.ts

@@ -22,7 +22,7 @@ enum Api {
   //   GetPermCodeByUserId = '/getPermCodeByUserId/',
 
   Login = '/login',
-  GetUserInfoById = '/getUserInfoById',
+  GetUserInfoById = '/userInfo/id',
   GetUserList = '/getUserList',
   AddUser = '/addUser',
   EditUser = '/editUser',
@@ -34,18 +34,6 @@ enum Api {
  * @description: user login api
  */
 export function loginApi(params: LoginParams, mode: ErrorMessageMode = 'modal') {
-  // console.log(
-  //   defHttp.request<LoginResultModel>(
-  //     {
-  //       url: Api.Login,
-  //       method: 'POST',
-  //       params,
-  //     },
-  //     {
-  //       errorMessageMode: mode,
-  //     }
-  //   )
-  // );
   return defHttp.request<LoginResultModel>(
     {
       url: Api.Login,

+ 2 - 3
src/utils/http/axios/Axios.ts

@@ -205,9 +205,7 @@ export class VAxios {
     if (beforeRequestHook && isFunction(beforeRequestHook)) {
       conf = beforeRequestHook(conf, opt);
     }
-    console.log('====================confg');
-    console.log(conf);
-    console.log('====================confg');
+    // 请求信息
     conf = this.supportFormData(conf);
 
     return new Promise((resolve, reject) => {
@@ -216,6 +214,7 @@ export class VAxios {
         .then((res: AxiosResponse<Result>) => {
           if (transformRequestHook && isFunction(transformRequestHook)) {
             let ret = transformRequestHook(res, opt);
+
             if (ret.format) {
               // 权限菜单管理页面数据格式化
               const { t } = useI18n();

+ 13 - 12
src/utils/http/axios/index.ts

@@ -47,21 +47,22 @@ const transform: AxiosTransform = {
       // return '[HTTP] Request has no return value';
       return errorResult;
     }
-    //  这里 code,result,message为 后台统一的字段,需要在 types.ts内修改为项目自己的接口返回格式
-    const { code, result, message } = data;
+    //  这里 code,result,msg为 后台统一的字段,需要在 types.ts内修改为项目自己的接口返回格式
+    const { code, result, msg } = data;
 
     // 这里逻辑可以根据项目进行修改
     const hasSuccess = data && Reflect.has(data, 'code') && code === ResultEnum.SUCCESS;
     if (!hasSuccess) {
-      if (message) {
+      if (msg) {
         // errorMessageMode=‘modal’的时候会显示modal错误弹窗,而不是消息提示,用于一些比较重要的错误
         if (options.errorMessageMode === 'modal') {
-          createErrorModal({ title: t('sys.api.errorTip'), content: message });
+          createErrorModal({ title: t('sys.api.errorTip'), content: msg });
         } else if (options.errorMessageMode === 'message') {
-          createMessage.error(message);
+          createMessage.error(msg);
         }
       }
-      Promise.reject(new Error(message));
+
+      Promise.reject(new Error(msg));
       return errorResult;
     }
 
@@ -71,13 +72,13 @@ const transform: AxiosTransform = {
     }
     // 接口请求错误,统一提示错误信息
     if (code === ResultEnum.ERROR) {
-      if (message) {
-        createMessage.error(data.message);
-        Promise.reject(new Error(message));
-      } else {
-        const msg = t('sys.api.errorMessage');
-        createMessage.error(msg);
+      if (msg) {
+        createMessage.error(data.msg);
         Promise.reject(new Error(msg));
+      } else {
+        const message = t('sys.api.errorMessage');
+        createMessage.error(message);
+        Promise.reject(new Error(message));
       }
       return errorResult;
     }

+ 1 - 1
src/utils/http/axios/types.ts

@@ -29,7 +29,7 @@ export interface CreateAxiosOptions extends AxiosRequestConfig {
 export interface Result<T = any> {
   code: number;
   type: 'success' | 'error' | 'warning';
-  message: string;
+  msg: string;
   result: T;
 }