feat: 炫酷的登录页

This commit is contained in:
Blizzard
2026-04-28 16:43:34 +08:00
parent 3cade8e7ef
commit ccb36fa59c
34 changed files with 2390 additions and 253 deletions
+7 -7
View File
@@ -1,5 +1,5 @@
import { get, post } from '@/lib/request'
import { USE_MOCK, delay } from '@/mock'
import { USE_MOCK, delay, mockResponse } from '@/mock'
import { mockUsers } from '@/mock/system/users'
// ==================== Types ====================
@@ -51,18 +51,18 @@ export interface LoginResponse { token: string; expiresAt: number; user: SystemU
// ==================== Auth ====================
export async function getCaptcha() {
if (USE_MOCK) { await delay(200); return { data: { captcha: 'data:image/svg+xml;base64,PHN2Zz48L3N2Zz4=', captchaId: 'mock-captcha-id' } } }
return get<{ data: CaptchaRes }>('/auth/captcha')
if (USE_MOCK) { await delay(200); return mockResponse({ captcha: 'data:image/svg+xml;base64,PHN2Zz48L3N2Zz4=', captchaId: 'mock-captcha-id' }) }
return get<{ code: number; data: CaptchaRes; msg: string }>('/auth/captcha')
}
export async function login(data: LoginParams) {
if (USE_MOCK) { await delay(500); return { data: { token: 'mock-token-xxx', expiresAt: Date.now() + 7200000, user: mockUsers[0] }, msg: '登录成功' } }
return post<{ data: LoginResponse; msg: string }>('/auth/login', data)
if (USE_MOCK) { await delay(500); return mockResponse({ token: 'mock-token-xxx', expiresAt: Date.now() + 7200000, user: mockUsers[0] }, '登录成功') }
return post<{ code: number; data: LoginResponse; msg: string }>('/auth/login', data)
}
export async function logout() {
if (USE_MOCK) { await delay(100); return { msg: '已登出' } }
return get<{ msg: string }>('/auth/logout')
if (USE_MOCK) { await delay(100); return mockResponse(null, '已登出') }
return get<{ code: number; data: null; msg: string }>('/auth/logout')
}
// ==================== 以下在各自文件中实现 ====================