diff --git a/src/constants/Common.constants.ts b/src/constants/Common.constants.ts
index 34b9302..d7b32ad 100644
--- a/src/constants/Common.constants.ts
+++ b/src/constants/Common.constants.ts
@@ -11,36 +11,27 @@ const SIZE_ICON_MD = '24px'
const SIZE_ICON_LG = '32px'
const SIZE_ICON_XL = '64px'
-// Response Code
-const SYSTEM_OK = 20000
-const LOGIN_SUCCESS = 20010
-const LOGIN_USERNAME_PASSWORD_ERROR = 20011
-const OLD_PASSWORD_NOT_MATCH = 20012
-const LOGOUT_SUCCESS = 20015
-const LOGOUT_FAILED = 20016
-const TOKEN_IS_ILLEGAL = 20017
-const TOKEN_HAS_EXPIRED = 20018
-const TOKEN_RENEW_SUCCESS = 20019
-const DATABASE_SELECT_OK = 20021
-const DATABASE_SAVE_OK = 20022
-const DATABASE_UPDATE_OK = 20023
-const DATABASE_DELETE_OK = 20024
-const DATABASE_SELECT_ERROR = 20031
-const DATABASE_SAVE_ERROR = 20032
-const DATABASE_UPDATE_ERROR = 20033
-const DATABASE_DELETE_ERROR = 20034
-const DATABASE_TIMEOUT_ERROR = 20035
-const DATABASE_CONNECT_ERROR = 20036
-const DATABASE_DATA_TO_LONG = 20037
-const DATABASE_DATA_VALIDATION_FAILED = 20038
-const DATABASE_EXECUTE_ERROR = 20039
-
-const UNAUTHORIZED = 30010
-const ACCESS_DENIED = 30030
-const USER_DISABLE = 30031
-
-const SYSTEM_ERROR = 50001
-const SYSTEM_TIMEOUT = 50002
+/**
+ * Response code
+ */
+const SYSTEM_OK = 10000
+const SYSTEM_LOGIN_SUCCESS = 10020
+const SYSTEM_PASSWORD_CHANGE_SUCCESS = 10021
+const SYSTEM_LOGOUT_SUCCESS = 10022
+const SYSTEM_TOKEN_RENEW_SUCCESS = 10023
+const SYSTEM_UNAUTHORIZED = 10030
+const SYSTEM_USERNAME_NOT_FOUND = 10031
+const SYSTEM_ACCESS_DENIED = 10032
+const SYSTEM_USER_DISABLE = 10033
+const SYSTEM_LOGIN_USERNAME_PASSWORD_ERROR = 10034
+const SYSTEM_OLD_PASSWORD_NOT_MATCH = 10035
+const SYSTEM_LOGOUT_FAILED = 10036
+const SYSTEM_TOKEN_ILLEGAL = 10037
+const SYSTEM_TOKEN_HAS_EXPIRED = 10038
+const SYSTEM_REQUEST_ILLEGAL = 10040
+const SYSTEM_ARGUMENT_NOT_VALID = 10041
+const SYSTEM_ERROR = 10050
+const SYSTEM_TIMEOUT = 10051
export {
PRODUCTION_NAME,
@@ -56,30 +47,21 @@ export {
SIZE_ICON_LG,
SIZE_ICON_XL,
SYSTEM_OK,
- LOGIN_SUCCESS,
- LOGIN_USERNAME_PASSWORD_ERROR,
- OLD_PASSWORD_NOT_MATCH,
- LOGOUT_SUCCESS,
- LOGOUT_FAILED,
- TOKEN_IS_ILLEGAL,
- TOKEN_HAS_EXPIRED,
- TOKEN_RENEW_SUCCESS,
- DATABASE_SELECT_OK,
- DATABASE_SAVE_OK,
- DATABASE_UPDATE_OK,
- DATABASE_DELETE_OK,
- DATABASE_SELECT_ERROR,
- DATABASE_SAVE_ERROR,
- DATABASE_UPDATE_ERROR,
- DATABASE_DELETE_ERROR,
- DATABASE_TIMEOUT_ERROR,
- DATABASE_CONNECT_ERROR,
- DATABASE_DATA_TO_LONG,
- DATABASE_DATA_VALIDATION_FAILED,
- DATABASE_EXECUTE_ERROR,
- UNAUTHORIZED,
- ACCESS_DENIED,
- USER_DISABLE,
+ SYSTEM_LOGIN_SUCCESS,
+ SYSTEM_PASSWORD_CHANGE_SUCCESS,
+ SYSTEM_LOGOUT_SUCCESS,
+ SYSTEM_TOKEN_RENEW_SUCCESS,
+ SYSTEM_UNAUTHORIZED,
+ SYSTEM_USERNAME_NOT_FOUND,
+ SYSTEM_ACCESS_DENIED,
+ SYSTEM_USER_DISABLE,
+ SYSTEM_LOGIN_USERNAME_PASSWORD_ERROR,
+ SYSTEM_OLD_PASSWORD_NOT_MATCH,
+ SYSTEM_LOGOUT_FAILED,
+ SYSTEM_TOKEN_ILLEGAL,
+ SYSTEM_TOKEN_HAS_EXPIRED,
+ SYSTEM_REQUEST_ILLEGAL,
+ SYSTEM_ARGUMENT_NOT_VALID,
SYSTEM_ERROR,
SYSTEM_TIMEOUT
}
diff --git a/src/pages/Login.tsx b/src/pages/Login.tsx
index efa6ee9..d0c4c5c 100644
--- a/src/pages/Login.tsx
+++ b/src/pages/Login.tsx
@@ -1,6 +1,11 @@
import React from 'react'
import { login } from '@/utils/auth.ts'
-import { LOGIN_SUCCESS, LOGIN_USERNAME_PASSWORD_ERROR } from '@/constants/Common.constants.ts'
+import {
+ SYSTEM_LOGIN_SUCCESS,
+ SYSTEM_LOGIN_USERNAME_PASSWORD_ERROR,
+ SYSTEM_USER_DISABLE,
+ SYSTEM_USERNAME_NOT_FOUND
+} from '@/constants/Common.constants.ts'
import { setToken } from '@/utils/common.ts'
import '@/assets/css/pages/login.scss'
@@ -15,14 +20,15 @@ const Login: React.FC = () => {
const res = value.data
const { code, data } = res
switch (code) {
- case LOGIN_SUCCESS:
+ case SYSTEM_LOGIN_SUCCESS:
setToken(data?.token ?? '')
void messageApi.success('登录成功')
setTimeout(() => {
navigate('/')
}, 1500)
break
- case LOGIN_USERNAME_PASSWORD_ERROR:
+ case SYSTEM_USERNAME_NOT_FOUND:
+ case SYSTEM_LOGIN_USERNAME_PASSWORD_ERROR:
void messageApi.error(
<>
用户名或密码错误,请重试
@@ -30,6 +36,14 @@ const Login: React.FC = () => {
)
setIsLoggingIn(false)
break
+ case SYSTEM_USER_DISABLE:
+ void messageApi.error(
+ <>
+ 该用户已被禁用
+ >
+ )
+ setIsLoggingIn(false)
+ break
default:
void messageApi.error(
<>
diff --git a/src/services/index.tsx b/src/services/index.tsx
index 700b7b0..48939ab 100644
--- a/src/services/index.tsx
+++ b/src/services/index.tsx
@@ -2,14 +2,11 @@ import axios, { type AxiosError, AxiosInstance, AxiosRequestConfig, AxiosRespons
import jwtDecode, { JwtPayload } from 'jwt-decode'
import { clearLocalStorage, getToken, setToken } from '@/utils/common'
import {
- ACCESS_DENIED,
- DATABASE_DATA_TO_LONG,
- DATABASE_DATA_VALIDATION_FAILED,
- DATABASE_EXECUTE_ERROR,
- TOKEN_HAS_EXPIRED,
- TOKEN_IS_ILLEGAL,
- TOKEN_RENEW_SUCCESS,
- UNAUTHORIZED
+ SYSTEM_ACCESS_DENIED,
+ SYSTEM_TOKEN_HAS_EXPIRED,
+ SYSTEM_TOKEN_ILLEGAL,
+ SYSTEM_TOKEN_RENEW_SUCCESS,
+ SYSTEM_UNAUTHORIZED
} from '@/constants/Common.constants'
import { message } from 'antd'
@@ -49,7 +46,7 @@ service.interceptors.request.use(
})
.then((value: AxiosResponse<_Response>) => {
const response = value.data
- if (response.code === TOKEN_RENEW_SUCCESS) {
+ if (response.code === SYSTEM_TOKEN_RENEW_SUCCESS) {
setToken(response.data?.token ?? '')
}
})
@@ -68,9 +65,9 @@ service.interceptors.request.use(
service.interceptors.response.use(
(response: AxiosResponse<_Response>) => {
switch (response.data.code) {
- case UNAUTHORIZED:
- case TOKEN_IS_ILLEGAL:
- case TOKEN_HAS_EXPIRED:
+ case SYSTEM_UNAUTHORIZED:
+ case SYSTEM_TOKEN_ILLEGAL:
+ case SYSTEM_TOKEN_HAS_EXPIRED:
clearLocalStorage()
void message.error(
<>
@@ -81,34 +78,13 @@ service.interceptors.response.use(
location.reload()
}, 1500)
throw response?.data
- case ACCESS_DENIED:
+ case SYSTEM_ACCESS_DENIED:
void message.error(
<>
暂无权限操作
>
)
throw response?.data
- case DATABASE_DATA_TO_LONG:
- void message.error(
- <>
- 数据过长
- >
- )
- throw response?.data
- case DATABASE_DATA_VALIDATION_FAILED:
- void message.error(
- <>
- 数据验证失败
- >
- )
- throw response?.data
- case DATABASE_EXECUTE_ERROR:
- void message.error(
- <>
- 数据库执行出错
- >
- )
- throw response?.data
}
return response
},
diff --git a/src/utils/auth.ts b/src/utils/auth.ts
index 197427c..097e112 100644
--- a/src/utils/auth.ts
+++ b/src/utils/auth.ts
@@ -1,5 +1,5 @@
import { clearLocalStorage, getCaptcha, getLocalStorage, setLocalStorage } from './common'
-import { DATABASE_SELECT_OK, TOKEN_NAME } from '@/constants/Common.constants'
+import { SYSTEM_OK, TOKEN_NAME } from '@/constants/Common.constants'
import request from '@/services'
let captcha: Captcha
@@ -35,7 +35,7 @@ export async function requestUser(): Promise {
await request.get('/user/info').then((value) => {
const response = value.data
- if (response.code === DATABASE_SELECT_OK) {
+ if (response.code === SYSTEM_OK) {
user = response.data
setLocalStorage('userInfo', JSON.stringify(user))
}
diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts
index 53a7371..324bb5f 100644
--- a/src/vite-env.d.ts
+++ b/src/vite-env.d.ts
@@ -17,6 +17,7 @@ type RouteHandle = {
type _Response = {
code: number
+ success: boolean
msg: string
data: T | null
}