# 2026-06-05 上线前修复

## 修复的 13 个问题

| # | 问题 | 修复 |
|---|------|------|
| 1 | report.vue onLoad 未导入 → 白屏 | 添加 import onLoad |
| 2 | list/all 路由被 :id 拦截 | `:id` 路由移到静态路由之后 |
| 3 | 无参数验证 | 启用 ValidationPipe + whitelist，改用带 Logger 的异常过滤器 |
| 4 | 双 pages.json 冲突 | 删除外层 pages.json（旧版含已删除的 analyze 路由） |
| 5 | internship.vue 引用不存在 api 服务 | 重写为使用 /api/positions/hot 的简洁页面 |
| 6 | 面试次数未扣减 | UserService 注入 InterviewService，create 时调用 deductRemaining |
| 7 | JWT_SECRET 使用默认值 | 替换为 96 位随机 hex 字符串 |
| 8 | 验证码存内存 | 确认（单实例可用，多实例需 Redis） |
| 9 | Schema 缺索引 | Interview/Resume 添加 userId + createdAt 复合索引 |
| 10 | 页面缺 loading 态 | 首页+记录页添加 loading-tip |
| 11 | login.vue 用原始 URL | 改为 api() 辅助函数 |
| 12 | admin.vue 端口 3000 | 改为 window.location.origin |
| 13 | 渐变样式不一致 | 已在上一轮统一 |
