制定日期: 2026-06-02
制定依据: docs/requirements-changelog.md (v20260601.1) + docs/test-coverage-report.md
当前版本: v20260601.1
问题描述: 付费用户在我的页面显示为"普通用户",角色标签错误。
根本原因: ProfileController.getInfo() 未返回 vipType 字段。
修复内容: ProfileController.java 第52行后添加 info.put("vipType", user.getVipType());
验证步骤:
状态: ✅ 代码已提交(dd79a27),需重启后端验证
问题描述: 付费用户页面出现两个付费相关标签。
可能来源:
.seed-badge(🌱 种子价专属会员)在 practitioner 用户的 VIP 卡上方显示.user-card__tag(能量师 🌟)在用户卡片中显示验证步骤: 重启后端后确认是预期行为(多标签分层展示)还是重复标签 bug。
需求: 能量师(practitioner)进入订阅页只能看到"已是能量师"提示,不能再购买能量师方案;C端会员(annual)只能看到"升级能量师"入口。
已实现:
visiblePlans computed:根据 userStore.vipType 过滤 ['annual', 'practitioner']watch 自动调整 selectedPlan 当选中的方案被过滤时already-vip 空状态样式(practitioner 用户)onPay() 导航到 payment 页待验证: 重启后端 + VIP 显示修复后,订阅页过滤是否正确生效。
需求: 能量师方案在订阅页显示 ¥1,314(standardPrice),付费页也显示 ¥1,314,不应显示 ¥1,986(upgradePrice)。
已实现: payment/index.vue 的 onMounted 中先调用 pricingApi.current() 获取基础定价,再 overlay upgrade() 的升级字段。
待验证: 选择能量师方案时,支付金额应为 ¥1,314(非升级场景)。
需求: 用户点击"生成推广海报",后端返回二维码,前端 Canvas 绘制精美海报并保存到相册。
已实现:
GET /api/profile/qrcode 后端端点(ZXing 生成 QR 码)client/utils/api.js 新增 profileApi.qrcode()client/pages/profile/index.vue 实现 generatePoster():下载头像+二维码→Canvas绘制→保存相册getCurrentInstance 从 vue 导入(修复 LSP 错误)待验证:
已知限制: Canvas 绘制在微信小程序中有尺寸限制(375×670),海报为固定尺寸。
当前状态: 已有 27 个 AdminController API 测试通过,但管理后台 UI 可能不完整。
待检查清单:
seed_period_end 日期选择器涉及文件:
client/pages/admin/(如有独立管理后台页面)num-server/.../AdminController.java当前状态: 已有推广码卡片和复制功能,佣金统计 API 存在。
待实现清单(US-6.5 / US-6.6):
涉及文件:
client/pages/commission/index.vueclient/pages/profile/index.vue(推广工具区域)当前状态: 佣金计算逻辑存在于 OrderService,但 C 端推广海报/分享流程可能不完整。
待验证:
涉及文件:
OrderService.handleAnnualCommission()OrderService.handlePractitionerCommission()需求: 年费会员(annual)升级到能量师时,应按已用时间折算扣除费用。
当前状态: PricingController.upgrade() 返回 upgradePrice(已实现),但前端未调用此接口计算显示。
待实现:
pricingApi.upgrade()状态: DifyService.interpretAcademicOrientation() 存在,部分实现。
待完成:
当前状态: 实体、仓库、部分服务代码存在。
待完成:
client/pages/plan/workbench.vue)ChatIntervention 实时注入| # | 问题 | 解决方案 | 涉及文件 |
|---|---|---|---|
| T1 | List.of() 在 Java 8 不支持 |
全量替换为 Arrays.asList() |
DifyService.java(已修复) |
| T2 | 前端 E2E 测试缺失 | 微信小程序环境限制,建议手动测试覆盖 | — |
| T3 | ExportService 无单元测试 | 补充单元测试 | ExportServiceTest.java |
| T4 | getCurrentInstance 导入错误 |
从 vue 而非 @dcloudio/uni-app 导入 |
profile/index.vue(已修复) |
目标: 修复 VIP 显示核心 bug + 验证本次会话新增功能
| # | 任务 | 依赖 | 状态 |
|---|---|---|---|
| 1 | 重启后端,验证 VIP 显示修复 | 后端重启 | ⏳ 待验证 |
| 2 | 验证"两个付费标签"是否为 bug | 步骤1 | ⏳ 待确认 |
| 3 | 验证订阅页 VIP 过滤 | 步骤1 | ⏳ 待验证 |
| 4 | 验证支付页定价统一(¥1,314) | 步骤1 | ⏳ 待验证 |
| 5 | 测试推广海报生成 | 后端 QR 端点 | ⏳ 待验证 |
| 6 | 推送本次所有代码到远程 | 步骤1-5 | ⏳ 待推送 |
目标: Phase 1 功能收尾
| # | 任务 | 优先级 |
|---|---|---|
| 7 | 管理后台配置卡片完善(定价/佣金/种子价) | P2 |
| 8 | 分销面板佣金统计+明细列表 | P2 |
| 9 | C 端分销佣金计算验证 | P2 |
| 10 | 升级定价前端串联(annual→practitioner) | P2 |
目标: EPIC 9 收尾
| # | 任务 | 优先级 |
|---|---|---|
| 11 | 学业方向 AI 完整接入 | P3 |
| 12 | 人工方案工作台 + 协商流程 | P3 |
| 13 | 人工介入 AI 会话 | P3 |
□ 1. 付费用户登录 → 我的页面 → 角色标签显示"能量师 🌟" 或 "C端会员"
□ 2. 订阅页(practitioner 用户)→ 显示"您已是能量师"
□ 3. 订阅页(annual 用户)→ 只显示"升级能量师"入口
□ 4. 能量师方案价格 = ¥1,314(非升级场景)
□ 5. 点击"生成推广海报" → 正确保存到相册
□ 6. 控制台无 Error 日志
最后更新:2026-06-02 by Sisyphus