feat(auth): 集成认证授权功能并优化API客户端

- 实现了完整的登录注册认证流程,包括密码验证和用户资料获取
- 集成了JWT令牌管理和自动刷新机制,支持设备ID生成和管理
- 添加了WebSocket连接配置和API基础URL环境变量设置
- 实现了API客户端的请求拦截器,包括令牌验证和错误处理逻辑
- 集成了MD5加密和认证令牌缓存机制,提升安全性
- 添加了多语言国际化支持,包括英语、中文、马来语和印尼语
- 实现了认证状态管理和本地存储持久化功能
- 添加了表单验证schema和错误处理机制,增强用户体验
This commit is contained in:
JiaJun
2026-05-16 09:03:55 +08:00
parent 6aaf90a6ac
commit 5dd4e31db4
81 changed files with 6086 additions and 627 deletions

View File

@@ -0,0 +1,38 @@
import { z } from 'zod'
const mobilePhonePattern = /^1[3-9]\d{9}$/
const usernameSchema = z
.string()
.trim()
.min(1, 'auth.validation.username.required')
.regex(mobilePhonePattern, 'auth.validation.username.invalidPhone')
const passwordSchema = z
.string()
.min(6, 'auth.validation.password.min')
.max(32, 'auth.validation.password.max')
export const loginFormSchema = z.object({
password: passwordSchema,
username: usernameSchema,
})
export const registerFormSchema = z
.object({
confirmPassword: passwordSchema,
inviteCode: z
.string()
.trim()
.min(1, 'auth.validation.inviteCode.required')
.max(32, 'auth.validation.inviteCode.max'),
password: passwordSchema,
username: usernameSchema,
})
.refine((value) => value.password === value.confirmPassword, {
message: 'auth.validation.confirmPassword.mismatch',
path: ['confirmPassword'],
})
export type LoginFormValues = z.infer<typeof loginFormSchema>
export type RegisterFormValues = z.infer<typeof registerFormSchema>