feat: 登录页密码+验证码双模式 / 首页岗位优化 / 法律页面 / 后端接口完善

- 前端:登录页重构,支持密码登录、验证码登录、注册三种模式
- 前端:首页热门岗位添加「参考示例」标签,去虚构数据
- 前端:面试页顶部优化,岗位名+状态标签展示
- 前端:新增用户协议、隐私政策页面及免责声明
- 后端:新增 POST /api/user/register 注册接口
- 后端:新增 POST /api/user/set-password 设置密码接口
- 后端:修复 user.schema.ts unique 索引导致 null 冲突问题
- 后端:新增 payment-order.schema、positions.schema、site-config.schema
- 后端:package.json 新增 postbuild 脚本自动复制证书
- 管理后台:新增订单管理 Tab
This commit is contained in:
yuzhiran
2026-06-09 15:39:17 +08:00
parent 511f60d0db
commit 37cfdfe93c
27 changed files with 1045 additions and 195 deletions
+36
View File
@@ -0,0 +1,36 @@
# 2026-06-09 首页岗位 & 面试页优化
## 首页热门岗位去虚构化
- 标题旁增加灰色"参考示例"标签(`.section-tag-demo`),避免用户误以为真实招聘信息
- 公司名和薪资分行展示,薪资用蓝色小标签突出
- 公司名无数据时 fallback 为 "参考公司",薪资为 "参考薪资"
- 去掉虚构的"xx人面过"数字,改为"立即模拟"文字按钮
## 面试页顶部优化
- 岗位名 + "面试中" 状态标签,替代原来的 `{position}面试` 拼接写法
- 岗位名字体加大加粗(26rpx, 600),"面试中"用半透明白底圆角标签
## 登录页 Bug 修复
- 去掉验证码登录中多余的"获取验证码"大按钮(原第57行)
- "获取验证码"按钮改为 inline 形式,放在邮箱输入框旁边
- 按钮文字动态显示:未发送时"获取验证码",已发送后"重新获取",冷却中显示倒计时
- 验证码输入框在 `emailSent=true` 后正常显示
- 登录按钮始终显示,邮箱未验证或验证码为空时 disabled
- 样式更新:`.inline-row` / `.inline-input` / `.code-btn`(蓝色实心按钮)
## 后端编译错误修复
- `wechat-pay.service.ts``createDecipheriv` 第2个参数改为 `Buffer.from(key)`
- `positions.controller.ts``HotPosition & { _id?: string }` 替代 `HotPosition`
- `user.schema.ts`:去掉 `phone`/`wxOpenid`/`email``unique: true`,避免 null 值 duplicate key
- `package.json``postbuild` 脚本用 `fs.cpSync` 自动复制证书到 `dist/certs`
- **后端新增**
- `POST /api/user/register` — 邮箱+密码注册(若已存在但无密码则补设)
- `POST /api/user/set-password` — 已登录用户设置/修改密码
- `loginByEmail` 返回 `isNew` + `hasPassword` 标记
- **前端重构**
- 主 Tab:登录 | 注册 | 微信登录(小程序)
- 登录子 Tab:密码登录(默认) | 验证码登录
- 密码登录:邮箱 + 密码
- 验证码登录:邮箱 + 验证码(新用户自动注册)
- 注册:邮箱 + 密码 + 确认密码
- 验证码登录后若 `!hasPassword`:弹出"设置登录密码"引导弹窗(可跳过)