yuzhiran
59fc35dad9
fix: interview creation show real error msg instead of generic failure
...
- Backend: wrap AI call in try/catch, throw HttpException(503)
with msg 'AI 服务暂时不可用,请稍后重试'
- Backend: AllExceptionsFilter preserve original error message
for non-HttpException errors
- Frontend: handle string/object res.data, show statusCode
as fallback when message is unavailable
2026-07-03 15:32:22 +08:00
yuzhiran
9b1c92464e
fix: gravity deducted before AI call, causing deduction on failure
...
- Split checkAndDeductInterview into checkInterview (read-only) and
deductInterview (deduction only)
- Restructure interview.create(): check gravity -> AI call -> deduct on success
- If AI call fails, gravity is never deducted
- Keep old checkAndDeductInterview for backward compatibility
2026-06-25 08:36:57 +08:00
yuzhiran
18c50726cd
fix: WeChat login Content-Type header, ASR tiny model, re-upload mini-program v1.0.11
2026-06-15 10:00:22 +08:00
yuzhiran
a55cb56be2
feat: TTS服务 + 数字人面试组件 (P1)
2026-06-12 09:42:06 +08:00
yuzhiran
065fe7a186
feat: 付费体系重构 P0 - 配额独立化/简历付费下载/PDF生成
2026-06-12 09:31:11 +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
511f60d0db
初始化:职引项目 v1.0
2026-06-08 16:28:00 +08:00