Commit Graph

11 Commits

Author SHA1 Message Date
yuzhiran 065fe7a186 feat: 付费体系重构 P0 - 配额独立化/简历付费下载/PDF生成 2026-06-12 09:31:11 +08:00
yuzhiran a69aa31836 fix: 小程序 API 域名改为 zhiyin.yzrcloud.cn(与 H5 同域)避免微信白名单问题 2026-06-11 21:02:14 +08:00
yuzhiran 6dfb6bef48 代码评审 & 安全修复
后端:
- 创建 AdminGuard 替代 12 处手动 role 查库检查,统一用 JWT payload 中的 role
- 密码字段 select: false,所有需密码的查询显式 select('+password')
- 文件上传接口移除 @Public(),需 JWT 认证
- 管理员搜索关键词限长 50 字符防 ReDoS
- CORS 收窄,不再对非生产环境放行所有源
- postbuild 复制 certs 路径同步到 dist/src/certs
- package.json main/start:prod 路径更新为 dist/src/main

前端:
- resume.vue 文件上传补充 Authorization header
- login.vue 移除含用户邮箱的 console.log 日志
2026-06-11 19:55:10 +08:00
yuzhiran f7da843d56 chore: ignore bun cache and clean up 2026-06-11 19:40:10 +08:00
yuzhiran e021e194c4 fix: 小程序/H5 API 地址指向错误导致登录失败
- .env.production VITE_PROD_API_HOST 从旧域名 aicc.yzrcloud.cn 改为
  zhiyinwx.yzrcloud.cn
- config.ts api() 函数增加 MP-WEIXIN 编译分支,小程序直接使用
  VITE_PROD_API_HOST,H5 保持同源请求
2026-06-11 19:39:59 +08:00
yuzhiran c321a8dcb1 chore: clean build artifacts from tracking 2026-06-11 16:40:33 +08:00
yuzhiran 369da9704e H5构建部署 + 小程序上传 v1.0.3
- 构建 H5 并部署至 zhiyin.yzrcloud.cn(含 nginx /api/ 代理)
- 构建并上传微信小程序至微信侧(版本 1.0.3,包体 495KB)
- 启动生产后端(端口 3006,zhiyinwx.yzrcloud.cn 代理)
- 修复 tsconfig.build.json 缺失导致 dist 输出路径错误
2026-06-11 16:39:12 +08:00
yuzhiran e6b79ddb21 v4.3 安全修复+代码质量+测试体系+护城河验证
## 安全修复 (5项)
- CRITICAL JWT 硬编码 fallback(jwt.strategy / app.module / user.module)
- HIGH seed_admin.js MongoDB 凭据泄漏
- MEDIUM 邮箱验证码泄漏
- MEDIUM 支付订单查询 IDOR
- MEDIUM 管理后台 NoSQL 注入

## 代码质量 (14处)
- console.log→Logger(user.service.ts)
- as any 类型化(11处跨7个文件)
- Schema 联合类型修复(progress.schema)
- Module 依赖缺失修复(progress.module)

## 测试体系 (61项)
- 后端单元测试 Jest(43项):BenchmarkService/UserService/PaymentController
- 后端集成测试 Supertest(11项):API 认证/支付/进度/管理
- 前端单元测试 Vitest(7项):配置文件/API端点
- 浏览器自动化 Playwright(7项):API smoke test
- 覆盖率报告 + e2e 配置

## 护城河 P0-P5 启动验证通过 + 编译通过
2026-06-11 10:27:35 +08:00
yuzhiran 9276ab9028 v4.2 冲刺版+每日推送+支付修复+全量代码评审
## 新增功能
- 冲刺版 ¥49.9/月:完整支付→激活→权益扣减链路
- 每日一题定时推送(@nestjs/schedule,早8点微信订阅消息)
- miniprogram-ci 编译上传脚本(scripts/upload-mp.js)

## Bug修复
- 套餐值统一:vip→growth/sprint(interview轮次限制、analyze次数检查)
- member/pay 移除开发绕过:改为订单校验后激活
- progress→report 参数名不匹配:id→interviewId
- result.vue resume.create() 参数传错(对象→独立参数)
- resume.vue analyze请求缺少Authorization header
- bank.vue contribution请求缺少Authorization header
- member.vue startPay() 缺少try/catch导致网络错误崩溃
- login.vue 调试面板 v-if="true" 生产泄漏

## 配置
- 微信支付生产证书就位(商户号1113760598)
- .env 清理冗余文件(删除.example/.production)
- WX_NOTIFY_URL 更新为 zhiyinwx.yzrcloud.cn

## 文档
- PROJECT-STATUS.md v4.1→v4.2,状态全面更新
- DEPLOYMENT.md 新增小程序编译上传章节、清理检查清单
2026-06-09 20:03:05 +08:00
yuzhiran 37cfdfe93c 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
2026-06-09 15:39:17 +08:00
yuzhiran 511f60d0db 初始化:职引项目 v1.0 2026-06-08 16:28:00 +08:00