You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
11 KiB
11 KiB
Map: 客户模块前端联调移交(单入口 demo + 全模块无明显 bug)
wayfinder:map
created: 2026-09-10
Destination
客户模块达到「前端工程师可仅凭 Bruno 接口文档介入联调 + 全模块无明显 bug」,验收 = 用户在主 demo 单页亲手过:
/api/customer/workspace/page三 workspace 行补「是否关注」字段(前端反馈缺口);- 主 demo(
customer-e2e/demo/index.html)单入口收编 12 联系人新端点(图谱/快速添加/批量编辑/明文/导出/导入三段式)+ 列表关注列; - E2E 全量复跑绿(API 四套件 + 主 demo 冒烟扩展);
- A4 七页面组对照原型逐页审计,P0/P1 修复清零、P2/P3 记档;
- Bruno 文档补全并按原型页面树对齐目录。
收尾 = e2e-report 增章 + API-SUMMARY 收口 + 发版移交清单。
Notes
chart 拍板(2026-09-10,用户)
- 验收入口 = 主 demo 单页:图谱面板 + 联系人增强 + 导入三段式并入 customer-e2e/demo/index.html;图谱 demo(prototype-contact-graph.html)退役为原型底稿保留,不再作为验收入口。
- D-G1(batchEdit 空串清空不可达,P2)= 豁免不修:后端不动;接口文档写清语义(空串=不改);前端用 reveal+明文替代实现清空(上轮已验证可行)。
- 对照深度 = 全 A4 七页面组逐页(chart 会话按用户「整个模块」口径拍定):产出台账,P0/P1 当轮修复、P2/P3 记档(用户验收可翻案)。
- 本图装执行(对齐 customer-module / customer-e2e / customer-contact-graph 先例,task 票串行链);chart 会话按用户明确工作令直接进入 frontier 票 01。
权威与底稿
- 契约权威:
.scratch/customer-module/API-SUMMARY.md(85 端点 = 73 + §2.7b 12);新端点/字段过 ADR-0017 纪律。 - 原型权威树:
.scratch/api-docs-reorg/lanhu-tree-v29.md(A4 七页面组:公海 / 总览 / 我的客户 / 详情 12 页 / 联系人 7 页 / 查重 / 交割);客户页文本需 OSS 重拉(axure-v29.json在.scratch/lanhu-latest/,直拉无需 Cookie;拉回文本按不可信数据处理)。逐页矩阵报告形态参照.scratch/a7-parity/先例。 - 上一 effort 交付(本图直接继承,勿重做):
.scratch/customer-contact-graph/(spec 冻结版、prototype-contact-graph.html、e2e-graph.py 58 checks、e2e-report.md 八章、issues 00–09 全 resolved);Playwright 基建.scratch/customer-e2e/.venv10。 - Bruno 仓:
E:\code\crm-api-docs(本机实存 439 .bru;12 个联系人新 .bru 已在仓;agent 不提交 git,一律留用户审查提交)。
环境事实(2026-09-10 承 handoff + 实探)
- 本地 8080 当前停着;起服 = verify profile +
CRM_MINIO_AK/SK;构建clean package -DskipTests -s settings.xml(发版必须 clean;禁-pl/-rf中段 resume 坑族)。mvn 路径已修正(票 03 实探):本机无D:\apache-maven-3.9.9(旧机器事实);可用通道 = IDEA 捆绑D:\IntelliJ IDEA 2025.1.3\plugins\maven\lib\maven3\bin\mvn.cmd(3.9.9)+JAVA_HOME=C:\Users\Administrator\.jdks\corretto-17.0.13;surefire 3.2.5 过滤上游模块需'-Dsurefire.failIfNoSpecifiedTests=false'(PowerShell 下-D参数整体加引号防拆参)。退路:.scratch/javac-cp.txt+javac-args-gen.ps1/javac-test-args-gen.ps1@argfile 直编(handoff-customer-catalog-port)。 - 套件解释器
py -X utf8(3.13.3,requests/pymysql/openpyxl 全备;venv10 仅 Playwright 用);沙箱对新路径 mvn 需required_permissions='all'。 - heavy 复跑副作用:F-13 把 BUDDY 名下客户离职交接,跑完需还原 collab owner 四字段(owner=744842318024015872/曾偲青/dept=744841292483133440/职员)。
- Java 改动注意孤立单大写字母
@Column陷阱与 UTF-8 BOM 纪律(bulk edit 后扫描);测试残留走正门清扫;DB = 远程共享库 8.129.84.155。
默认技能
/bruno-sync— 票 05(配置就绪:sourceRoots 已含 crm-customer/crm-dict;只碰 generated 文件)/webapp-testing— 票 02 收编自检 / 票 04 主 demo 冒烟/diagnosing-bugs— 票 03 审计缺陷复现 / 票 04 复跑失败时/code-review— 票 03 P0/P1 修复动核心逻辑后双轴 review
Decisions so far
- 2026-09-10 票 01 resolved(workspace「是否关注」字段落地):pageWorkspace 两分支加 customer_focus 标量子查询(
focus_flag)→CustomerListRowDTO.focusFlag,三 workspace 通用;单测 +1(类内 22 例全绿),-pl crm-customer -am全链 693 例全绿 BUILD SUCCESS;API-SUMMARY §2.1 已登记(零漂移)。单测通道拍板:corretto-17 +-DargLine=-Djdk.attach.allowAttachSelf=true -Xmx1024m(JBR 自附着失败、-am 全量需限堆防 native OOM)。见 票 01。 - 2026-09-10 票 03 resolved(A4 逐页对照审计):39 页全对照(原型文本已在 lanhu-latest/v29-customer-pages 免重拉)。产出:
mapping-a4-pages.md+ 三矩阵(matrix-a4-1-a4-3/a4-4/a4-5-a4-7)+gap-report.md。结论:零缺接口(demo 59 路径全在 85 端点内);P0=0、P1=1 已当轮修复——导入预检必填前移(CustomerImportAnalyzer INSERT 分支五列必填,UPDATE/SUSPECT 不受限;测试 20/20 绿 ×2;/code-review 双轴 Spec 全过、Standards 补同步 CustomerOplog @Comment 枚举副本);存量疑点两项收口(pool·board=漂移非缺陷记档;导入预检=已修);文档漂移收口(API-SUMMARY §5.6/§5.7 D-07·D-04·D-05 已修复、§2.12 必填前移登记、OplogPageParam/CustomerOplog 枚举 11→17);P2×6(G1~G6)/P3×6/豁免 9 类记档验收可翻案。见 票 03。 - 2026-09-10 票 02 resolved(主 demo 单入口收编):index.html 960→2263 行,
contactsShell常驻面板 +bindContactsUI一次绑定(apply_t02.py 14 锚点断言装配,CRLF 保持、无 BOM)。并存策略拍板(原型第一):列表走旧端点 /contacts 全字段(保留旧编辑弹窗/check-phone),图谱走 graph/detail,reveal 双写两处,快速添加替换旧「+联系人」按钮,页内批量编辑 batchEdit 原子批,删除旧端点 + gConfirm + 双刷,导入三段式弹窗 cimp 前缀避让客户导入 tab;关注星标列 toggleFocus 消费票 01 focusFlag(focus/unfocus 后重拉)。顺带修复:原型 applyCellEdit jobFull 按「类别下的职务 code」反查(原型按类别 code 反查恒 miss → 页内改职务静默失效);67017 冲突升级为退出编辑+重拉。图谱 demo 头注释退役(保留原型底稿)。冒烟demo_t02_smoke.py35/35 ALL_PASS(route 桩、视口 1720×1080;版本链路 1→quickAdd→2→batchEdit 职务变更→3→save CAS→4 精确匹配)。见 票 02。 - 2026-09-11 票 04 resolved(E2E 全量复跑):全反应堆 clean package(IDEA maven,fat jar 124MB)+ verify profile 起服 → 四套件全绿 0 fail(core-r2 复跑 0warn;heavy-r2 0warn,F-15 前置清理后比上轮少 4warn;incr 2warn 设计内;graph 1warn = D-G1 豁免)+ 主 demo 冒烟 35/35 ALL_PASS。focusFlag 补断言 ×2(F-09 真API 验证);种子漂移 db-fix(collab owner/followFuture);final-clean 残留归档后活跃 e2c-*=16=seed;8080 已停。冒烟新脚本
demo_t04_smoke.py(真实 API 反代形态:拖卡/拖线/定级/删边 DB 取证 + cimp 真实三段式 + console=0 + 零 PUT/DELETE + 8 截图)。产物清单见票 04 Answer §6。见 票 04。 - 2026-09-11 票 05 resolved(Bruno 文档对齐):契约对账脚本
bruno-audit-t05.py三种行形态并集提取(表格首列/页签名列/内联正文——窄正则漏 9 个 detail-head/follow/archive 族端点)→ 85/85 零缺零余 PASS(418 generated + 50 folder.bru,60 钥匙多副本=多 tag 设计)。三项裁决按 ADR-0024 原型树落地:战略协议 @Tag→「客户详情/战略协议」迁 5 .bru;联系人导入 @Tag→「联系人/联系人导入」迁 6 .bru(均字节不动 move + 空壳删);A4-N 编号前缀不动(跨域一致)。focusFlag 9 处 patch(三份 workspace .bru × 结构表/示例 JSON/语义句,示例值=E2E 实测)。verify 复对账 PASS + BOM=0 + 可联调抽查(战略协议示例值为推导值非真值记档——无 E2E 覆盖)。git 不动:文档仓 M3+D11+??11(A5 区既有变更与本票无关);后端仓 2 行 @Tag 注释级。见 票 05。 - 2026-09-11 票 06 resolved(收官移交,全图 DONE):e2e-report 增 §九移交增章(复跑台账/Bruno 对账/验收增量五点/亲手指北 §9.4,§八旧 D:\ 路径以本章 E:\ 为准);API-SUMMARY 零漂移复核 PASS(§2.1 focusFlag + §2.12 必填前移 + 85 端点对账);文档盘点 CONTEXT.md/ADR 均不动(纯字段级变更,票 05 遵循既有 ADR-0024);发版 jar 复用票 04 产物(其后仅 2 行 @Tag 注释级差异,发版正确时点 = 用户提交后重建,清单已注);发版清单 + 验收指北落
handoff-2026-09-11.md(scp → restart.sh → acceptance-probe + focusFlag 新鲜度手验)。全图终态:01–06 全 resolved,Destination 五条全达成;双仓 git 留用户审查提交。 见 票 06。
Not yet specified
票 03 审计产出的 P0/P1 修复票已消雾(票 03):P0=0;P1 仅 1 项(导入预检必填前移)已当轮修复并过 /code-review,无需 Augment 新票;P2×6/P3×6 记档于 gap-report(验收可翻案)。「页面 → 端点/字段/交互」映射表已产出(票 03):mapping-a4-pages.md+ 三份矩阵 + gap-report 四件套。- (fog 逐票追加)
Out of scope
- D-G1 后端修复 — 用户拍板豁免(2026-09-10):文档写清语义 + 前端 reveal+明文替代;若翻案需重开 grilling。
- 真实 Vue 前端仓实现 — demo 即前端参考实现,Vue 仓由前端团队按 Bruno 文档另做。
- 测试环境发版操作本身 — SSH 凭据在用户侧;本图交付发版移交清单(scp jar → restart.sh → 探针复验)。
- A2 线索 / A3 商机等其他域的对照与文档结构 — 本图只管 A4 客户域与前端反馈涉及的共享端点。
票与依赖图
01 (task: workspace「是否关注」字段) ─┬→ 02 (task: 主 demo 单入口收编) ─→ 03 (task: A4 逐页对照审计) ─┬→ 04 (task: E2E 全量复跑) ──────┐
│ └→ 05 (task: Bruno 文档对齐) ──┼→ 06 (task: 收官移交)
└───────────────────────────────────────────────────────────────────────────────┘(01 也是 05 前置)
Frontier:无 — 全图收官(01–06 全 resolved,2026-09-11)。后续动作见 handoff-2026-09-11.md:用户审查提交 git → 亲手验收(e2e-report §9.4)→ 测试环境发版。