|
|
@@ -4,6 +4,18 @@
|
|
|
|
|
|
---
|
|
|
|
|
|
+## v1.0.2400 (2026-11-12)
|
|
|
+
|
|
|
+### 文档
|
|
|
+- 研发负责人第149轮闭环汇报 2026-11-12 1200(稳态延续轮:池空T6第33轮零派发;S-cfc-162/163契约RED在途lan-189/lan-204;--changes 0新键无add-task;--resume 0候选;--auto 幂等复核 REQUEUE-SKIP-O22 零复发+多键YELLOW✓自动待部署验证;状态机88键 RED2/YELLOW63/GREEN8/DONE15零流转;部署pending13/confirmed77未收口O-24归测试/部署侧;SC 15/241无漂移;主工作树715处他人WIP零接触单文件入库)
|
|
|
+
|
|
|
+### 测试
|
|
|
+- service.role.applyBindInvite 契约登记测试(行为级 Mockito,6/6 绿——实现已链上 9afaa6e46,转测试登记)
|
|
|
+
|
|
|
+### Bug 修复
|
|
|
+- 收敛 P2 幂等抛错误报循环 + P1 status 视图补绑入口(纯前端1文件)\n\nP2 幂等抛错误报循环收敛:后端已实际绑定成功(CF 已发)但响应在传输中丢失时,\n用户点「重试绑定」会命中后端 bindReferral:141 抛错式幂等「已绑定推荐人,不可修改」,\n前端 catch 误弹失败 modal、userRefBound 永远 false 无法收敛。\n在 bindUserReferral 两处失败出口(防御性非200兜底 + catch)加判定:\ne.message / bindRes.message 含「已绑定推荐人」→ 按实质成功收敛——置 userRefBound=true、\n清僵尸码 storage.refCode、toast「推荐人已绑定」、return,不弹失败 modal、不置 bindingRef 失败态\n(finally 仍归 false)。判定位置在 401 提前 return 之后、showBindRetryHint 之前,401 逻辑不动。\n匹配用 indexOf(后端文案带后缀「,不可修改」),禁止改后端。\n\nP1 status 视图补绑入口:checkExistingApply 命中已有记录(status 0/1/2) → showStatusView=true\n→ 表单隐藏,此前绑定失败无任何补绑入口。在 status-view 模板 action-buttons 之前新增:\n v-if="!userRefBound && inviteRefCode" 的 rebind-section,含「推荐人尚未绑定成功,请在网络稳定后补绑」\n 文案 + 「补绑推荐人」按钮(:disabled="bindingRef" 防连点)。\n铁律:@click 直连 bindUserReferral,绝不接 handleSubmit/doSubmit(表单隐藏 + 后端查重会拒)。\n样式沿用 status-tip 卡片 + .btn-reapply 尺寸与品牌渐变,无新增 emoji。\n\n自验:vue-template-compiler 模板编译 + acorn script parse 双 OK(FAIL=0);无可选链/CSS Grid/新增 emoji;\n仅改 1 文件。后端零改动。基于最新 origin/cfclub a0ecc6067,独立分支 feature/team-invite-debt-fix。
|
|
|
+
|
|
|
+
|
|
|
## v1.0.2399 (2026-11-12)
|
|
|
|
|
|
### 文档
|