Commit Graph

8 Commits

Author SHA1 Message Date
TianyangZhang 5074377ace feat(admin): 投递管理和职位管理添加分页及职位名称跳转链接
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-26 13:23:32 +08:00
TianyangZhang e42dbecf41 feat(api): 为 getManageApplications 添加分页参数 2026-03-25 16:59:15 +08:00
TianyangZhang df1c9b5d1d feat(api): 为 manageJobs 添加分页参数 2026-03-25 16:58:41 +08:00
TianyangZhang 3f62844d82 feat(api): 为 manageOrganizations 添加分页参数 2026-03-25 16:57:34 +08:00
TianyangZhang 911e872a4a feat: 前端认证系统重构 - 密码注册和多种登入方式
前端改动:

RegisterView.vue:
- 改为传统密码注册(邮箱+用户名+手机号+密码)
- 移除邮箱验证码逻辑
- 注册成功后自动登入并跳转到首页

LoginView.vue:
- 求职者和管理员两个角色选项卡
- 求职者支持两种登入方式:
  * 邮箱/用户名 + 密码
  * 邮箱 + 验证码(快速登入)
- 登入方式通过子选项卡切换
- 添加"忘记密码"链接指向密码重置页面
- 管理员仍使用用户名+密码登入

ResetPasswordView.vue (新建):
- 两步流程:
  1. 输入邮箱 → 获取验证码 → 输入验证码
  2. 输入新密码 → 确认密码 → 重置完成
- 验证码倒计时和重新获取
- 密码重置成功后跳转到登入页

API更新 (auth.js):
- 修改 register() 使用 axios 而非 client
- 新增 resetPassword() - 请求密码重置
- 新增 confirmResetPassword() - 确认密码重置

路由更新 (router/index.js):
- 新增 /forgot-password 路由

设计特点:
- 统一的多种登入方式UI
- 清晰的密码重置流程
- 保留邮箱验证码快速登入选项

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-03-25 16:15:58 +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 7e86ec5ea0 feat(frontend): 首页三栏布局完全重设计,新增企业选择器和岗位联动
- 重构首页为三栏联动布局(企业 + 岗位 + 详情)
- 左栏:深蓝背景企业列表,支持集团和子公司分层显示
  - 选中企业时显示金色左边框 + 背景色变化
  - 每个企业/子公司显示实时在招岗位数
  - 子公司采用缩进 + 树形连线视觉
- 中栏:选中企业的岗位列表
  - 岗位卡片显示位置/薪资/类别标签
  - 朱红左边框高亮选中岗位
- 右栏:岗位详情内容(完整复制 JobDetailView)
  - Banner:深蓝红色渐变背景,显示岗位名/薪资/企业
  - 操作:收藏 + 投递按钮,权限校验
  - 详情:信息网格 + 职位介绍 + 工作地点 + 企业卡片
  - 完整的投递流程和状态反馈
- 配色系统:
  - 深蓝 #0E1E3D(左栏背景)
  - 朱红 #B5272C(选中、强调)
  - 金色 #C8973A(accent)
  - 米色 #FAF7F3(右侧背景)
- 完整的加载/错误/空状态处理
- 骨架屏动画和交互反馈

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-03-25 13:12:57 +08:00
TianyangZhang 734c83b7fe feat: initialize Vue3 frontend with router, pinia, element-plus
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 08:37:09 +08:00