Procházet zdrojové kódy

feat: 后台用户ui错误修复

lanjianrong před 4 roky
rodič
revize
b064deef0b

+ 4 - 4
.env.production

@@ -1,8 +1,8 @@
 # Whether to open mock
-VITE_USE_MOCK = true
+VITE_USE_MOCK = false
 
 # public path
-VITE_PUBLIC_PATH = /
+VITE_PUBLIC_PATH = /backstage/
 
 # Delete console
 VITE_DROP_CONSOLE = true
@@ -16,14 +16,14 @@ VITE_BUILD_COMPRESS = 'none'
 VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE = false
 
 # Basic interface address SPA
-VITE_GLOB_API_URL=/basic-api
+VITE_GLOB_API_URL=
 
 # File upload address, optional
 # It can be forwarded by nginx or write the actual address directly
 VITE_GLOB_UPLOAD_URL=/upload
 
 # Interface prefix
-VITE_GLOB_API_URL_PREFIX=
+VITE_GLOB_API_URL_PREFIX=/api
 
 # Whether to enable image compression
 VITE_USE_IMAGEMIN= true

+ 5 - 4
src/enums/httpEnum.ts

@@ -3,9 +3,10 @@
  */
 export enum ResultEnum {
   SUCCESS = 0,
-  ERROR = 1,
+  ERROR = -1,
+  EXPIRED = 1,
   TIMEOUT = 401,
-  TYPE = 'success',
+  TYPE = 'success'
 }
 
 /**
@@ -15,7 +16,7 @@ export enum RequestEnum {
   GET = 'GET',
   POST = 'POST',
   PUT = 'PUT',
-  DELETE = 'DELETE',
+  DELETE = 'DELETE'
 }
 
 /**
@@ -27,5 +28,5 @@ export enum ContentTypeEnum {
   // form-data qs
   FORM_URLENCODED = 'application/x-www-form-urlencoded;charset=UTF-8',
   // form-data  upload
-  FORM_DATA = 'multipart/form-data;charset=UTF-8',
+  FORM_DATA = 'multipart/form-data;charset=UTF-8'
 }

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

@@ -22,6 +22,7 @@ import { errorResult } from './const'
 import { useI18n } from '/@/hooks/web/useI18n'
 import { createNow, formatRequestDate } from './helper'
 import { TOKEN_KEY } from '/@/enums/cacheEnum'
+import router from '/@/router'
 
 const globSetting = useGlobSetting()
 const prefix = globSetting.urlPrefix
@@ -54,19 +55,19 @@ const transform: AxiosTransform = {
     const { code, data: result, msg: message } = data
 
     // 这里逻辑可以根据项目进行修改
-    const hasSuccess = data && Reflect.has(data, 'code') && code === ResultEnum.SUCCESS
-    if (!hasSuccess) {
-      if (message) {
-        // errorMessageMode=‘modal’的时候会显示modal错误弹窗,而不是消息提示,用于一些比较重要的错误
-        if (options.errorMessageMode === 'modal') {
-          createErrorModal({ title: t('sys.api.errorTip'), content: message })
-        } else if (options.errorMessageMode === 'message') {
-          createMessage.error(message)
-        }
-      }
-      Promise.reject(new Error(message))
-      return errorResult
-    }
+    // const hasSuccess = data && Reflect.has(data, 'code') && code === ResultEnum.SUCCESS
+    // if (!hasSuccess) {
+    //   if (message) {
+    //     // errorMessageMode=‘modal’的时候会显示modal错误弹窗,而不是消息提示,用于一些比较重要的错误
+    //     if (options.errorMessageMode === 'modal') {
+    //       createErrorModal({ title: t('sys.api.errorTip'), content: message })
+    //     } else if (options.errorMessageMode === 'message') {
+    //       createMessage.error(message)
+    //     }
+    //   }
+    //   Promise.reject(new Error(message))
+    //   return errorResult
+    // }
 
     // 接口请求成功,直接返回结果
     if (code === ResultEnum.SUCCESS) {
@@ -77,6 +78,21 @@ const transform: AxiosTransform = {
       }
       return result
     }
+    // 用户信息过期了
+    if (code === ResultEnum.EXPIRED) {
+      console.log(111)
+
+      createErrorModal({
+        title: '用户信息过期',
+        content: '请重新登录',
+        okCancel: false,
+        closable: false,
+        okButtonProps: {
+          onClick: () => router.replace('/login')
+        }
+      })
+    }
+
     // 接口请求错误,统一提示错误信息
     if (code === ResultEnum.ERROR) {
       if (message) {
@@ -147,6 +163,9 @@ const transform: AxiosTransform = {
   requestInterceptors: config => {
     // 请求之前处理config
     const token = getToken()
+    // if (config.method?.toUpperCase() === 'POST' && !token) {
+    //   router.replace('/login')
+    // }
     if (token) {
       // jwt token
       // config.headers.Authorization = token

+ 1 - 1
src/views/manager/detail/index.vue

@@ -4,7 +4,7 @@
       <div class="w-170px text-right w-min-170px">用户名 (CLD):</div>
       <div class="ml-4">{{ info?.username }}</div>
     </div>
-    <div class="m-3" flex>
+    <div class="m-3 flex">
       <div class="w-170px text-right w-min-170px">手机:</div>
       <div class="ml-4">{{ info?.telephone }}</div>
     </div>

+ 2 - 2
src/views/sys/login/LoginForm.vue

@@ -123,8 +123,8 @@
       const rememberMe = ref(false)
 
       const formData = reactive({
-        account: '蔡频',
-        password: '123456'
+        account: '',
+        password: ''
       })
 
       onMounted(() => {