🎨 优化登陆验证逻辑

This commit is contained in:
2026-03-13 21:50:26 +08:00
parent 16116a841d
commit cec46cabbe
4 changed files with 35 additions and 8 deletions

View File

@@ -1 +1 @@
VITE_API_BASE_URL=http://localhost:8888
VITE_API_BASE_URL=http://192.168.100.160:8888

View File

@@ -1,5 +1,12 @@
import apiClient from './client'
// 通用响应结构
export interface ApiResponse<T> {
code: number
data: T
msg: string
}
// 类型定义
export interface RegisterRequest {
username: string
@@ -61,12 +68,12 @@ export const authApi = {
},
// 用户登录
login: (data: LoginRequest): Promise<{ data: LoginResponse }> => {
login: (data: LoginRequest): Promise<ApiResponse<LoginResponse>> => {
return apiClient.post('/app/auth/login', data)
},
// 刷新 Token
refreshToken: (refreshToken: string): Promise<{ data: LoginResponse }> => {
refreshToken: (refreshToken: string): Promise<ApiResponse<LoginResponse>> => {
return apiClient.post('/app/auth/refresh', { refreshToken })
},
@@ -76,7 +83,7 @@ export const authApi = {
},
// 获取用户信息
getUserInfo: (): Promise<{ data: User }> => {
getUserInfo: (): Promise<ApiResponse<User>> => {
return apiClient.get('/app/auth/userinfo')
},

View File

@@ -18,6 +18,12 @@ export default function LoginPage() {
try {
const response = await authApi.login({ username, password })
// 检查业务 code只有 code === 0 才视为登录成功
if (!response || response.code !== 0 || !response.data) {
throw new Error(response?.msg || '用户名或密码错误')
}
const { token, refreshToken, user } = response.data
localStorage.setItem('token', token)
@@ -26,7 +32,8 @@ export default function LoginPage() {
navigate('/profile')
} catch (err: any) {
setError(err || '登录失败,请检查用户名和密码')
const message = err?.message || err || '登录失败,请检查用户名和密码'
setError(message)
} finally {
setLoading(false)
}