TianyangZhang
|
b6d5a51c3d
|
fix: 邮箱字段设置为唯一且必填,改善错误提示
后端改动:
- User.email 设置为 unique=True,确保每个邮箱只能注册一次
- 这样 SendCodeView 能正确查找到已注册的邮箱
前端改动:
- LoginView 增加详细的错误日志输出
- 捕获更多错误信息类型帮助调试
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
2026-03-25 16:09:48 +08:00 |
TianyangZhang
|
12697c5750
|
feat: 登入页面支持求职者和管理员两种角色
前端改动:
- LoginView.vue 添加角色选择(求职者/管理员)
- 求职者使用邮箱验证码登入
- 管理员使用用户名密码登入
- 两种方式在同一页面,通过角色选项卡切换
后端改动:
- CustomTokenObtainPairView 改为支持两种登入方式
- 若提供 email+code 则使用邮箱验证码登入
- 若提供 username+password 则使用用户名密码登入
设计:
- 求职者可自助注册和邮箱验证码登入
- 管理员由 superadmin 创建,使用用户名密码登入
- 两种登入都返回同样的 JWT token
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
2026-03-25 15:59:30 +08:00 |
TianyangZhang
|
99220b6daf
|
feat: 改为邮箱验证码注册,注册完成后自动登入
后端改动:
- RegisterSerializer 改为接收用户名+邮箱+手机号+验证码
- 验证邮箱是否已存在、用户名是否已存在
- 验证验证码有效性和正确性
- RegisterView 返回 JWT token,实现自动登入
前端改动:
- RegisterView.vue 改为邮箱验证码注册流程
- 保留用户名、邮箱、手机号字段
- 获取验证码后输入验证码完成注册
- 注册成功后自动保存 token 并跳转到首页
流程:用户名+邮箱+手机号 → 获取验证码 → 输入验证码 → 注册完成并自动登入 → 跳转首页
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
2026-03-25 15:51:03 +08:00 |
TianyangZhang
|
72e7244ea0
|
feat: 将注册手机号改为必填项
|
2026-03-25 15:46:44 +08:00 |
TianyangZhang
|
2edc9beef3
|
feat: 实现邮箱验证码登入功能
后端改动:
- 新增 VerificationCode 模型,支持验证码有效期和重试限制
- 新增 SendCodeView 生成并发送邮箱验证码
- 自定义 TokenObtainPairView 支持邮箱+验证码登入
- 添加 SendCodeSerializer 和 LoginSerializer
前端改动:
- 改写 LoginView.vue 为单页面邮箱+验证码登入流程
- 修改 auth API,新增 sendCode() 和修改 loginApi()
- 更新 auth store 的 login 方法支持邮箱和验证码
功能特性:
- 验证码有效期 10 分钟
- 同一邮箱 5 次错误尝试后锁定 10 分钟
- 支持重新发送验证码
- 完全替换原有用户名密码登入方式
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
2026-03-25 15:30:23 +08:00 |
TianyangZhang
|
c3466f4866
|
feat: add custom User model with role-based permissions
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-03-24 17:11:40 +08:00 |