版本:V1.1 | 日期:2026-09-09 | 状态:评审稿
扫描范围:train-frontend 27 页 + train-backend CaseController / AdminCaseController / PlanController 核查依据:22 课纲汇总 §一 超红线清单 + 11 旧SRS §FR-01/§FR-09 + 06 引流闭环 §学员案例 IP 关联 CR:CR-003、CR-019、CR-020、CR-021、CR-022
| CR | 内容 | 核查结论 | 处置 |
|---|---|---|---|
| CR-003 | 学员页面禁露销售·引流·钩子·L1凭券信息 | ⚠️ 6 处违规 | 需修复(A4) |
| CR-019 | 案例 IP 三段流水线完整性 | ✅ 已完整 | 无需动作 |
| CR-020 | 测评兴趣调研与转化发放规则 | ✅ 已核查(4/5 触发落地) | champion 留待排期 |
| CR-021 | 四线合规红线核查 | ✅ 文案基本合规 | 需法务确认 |
| CR-022 | L0 半天营学员端禁露销售信息 | ⚠️ 与 CR-003 联动 | 随 CR-003 修复 |
train-frontend/pages/mine/index.vue违规内容:
<view class="menu-item" @click="goTo('/pages/share/index')">
<text class="menu-icon">🚀</text>
<text class="menu-text">分享中心</text>
违规类型:引流入口(L0 半天营学员端可见)
修复建议:移除该入口,或改为讲师可见域
train-frontend/pages/mine/index.vue违规内容:
<view class="menu-item" @click="goTo('/pages/survey/index')">
<text class="menu-icon">📝</text>
<text class="menu-text">测评调研</text>
违规类型:钩子入口("提交后有机会获得测评兑换卡")
修复建议:移除该入口,或改为讲师可见域
train-frontend/pages/share/index.vuectx.fillText('邀请你一起加入 AI 成长营', width / 2, 90)train-frontend/pages/share/index.vuectx.fillText('报名时填写邀请码,一起享受专属权益', width / 2, 320)train-frontend/pages/share/stats.vue违规内容:
1. 在我的海报页复制专属邀请码
2. 把海报/邀请码分享给朋友
3. 朋友报名时填写邀请码并完成付费
4. 你将自动获得一张私教激励卡券
违规类型:完整转介绍奖励机制(钩子)+ L1凭券信息("私教激励卡券")
修复建议:移除"私教激励卡券"表述,改为"训练营积分"或中性表述
train-frontend/pages/survey/index.vuevar map = { etotem: '测评兑换卡', L1: 'L1课程券' }pending(待授权) → authorized(已授权) / rejected(已拒绝) → published(已发布)
| 节点 | 接口 | 文件 | 状态 |
|---|---|---|---|
| 采集 | POST /api/admin/case/create |
AdminCaseController.java line 49-75 |
✅ 已实现 |
| 授权 | POST /api/case/decide |
CaseController.java line 62-83 |
✅ 已实现 |
| 发布 | POST /api/admin/case/publish |
AdminCaseController.java line 117-136 |
✅ 已实现 |
/api/case/mine)✅ CR-019 三段流水线已完整实现,无需补缺。
pages/survey/index.vue 提交调研 → submitSurvey({ interest, classId })getMyCoupons)etotem(测评兑换卡)、L1(L1课程券)、private(私教券)PlanController.grantCoupon(uid, type, trigger, remark),幂等:同 uid+type+trigger 不重复发放(selectCount 判重)。research → 测评提交勾选"健康/成长"发放 etotem 测评兑换卡(PlanController.survey);invite → 转介绍报名成功后给邀请人发放 private 私教券(PayService.rewardInviterIfInvited,幂等);vote → 路演投票提交成功后发放 L1 课程券(VoteController.cast → grantL1IfEligible(userId,"vote"),2026-09-09 补实现);finish → 完课 6 项验收达标领取证书时发放 L1 课程券(PlanController.cert → grantL1IfEligible(userId,"finish"),2026-09-09 补实现)。champion(冠军)——依赖比赛结果判定与课程编排,进入待排期清单;L1 券不由此发放。E:\cfc\...\task\CouponGrantTask.java 为会员周期性券补发(PERIODIC,按 grant_period),与 train 的事件触发式券无关;train 的 TrainCoupon 是独立表,不依赖 cfc 券体系。champion 触发点留待 L1 课程排期/比赛判定机制落地后实现(进入待排期清单),当前无合规风险(不发券不会违规)。share/stats.vue 的"私教激励卡券"是券而非返现,符合规则| 优先级 | 违规项 | 修复工作量 |
|---|---|---|
| P0 | 违规 1(mine 分享中心入口) | 1 行删除 |
| P0 | 违规 2(mine 测评调研入口) | 1 行删除 |
| P1 | 违规 3(share 海报引流文案) | 1 行修改 |
| P1 | 违规 4(share 海报钩子文案) | 1 行修改 |
| P1 | 违规 5(share/stats 奖励机制+L1凭券) | 4 行修改 |
| P1 | 违规 6(survey L1课程券标签) | 1 行修改 |
总计:6 处违规,9 行代码修改,1 个 commit。
vote/finish/champion 三个触发点进入待排期清单 ✅b9d8daa)✅爱伴 · AI之旅 训练营小程序 合规核查报告 V1.0 · 2026-09-08