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.
4.3 KiB
4.3 KiB
02 — 主 demo 单入口收编(12 联系人新端点 + 关注列)
Type: task Status: resolved Blocked by: 01
Question
把 12 联系人新端点从图谱 demo 收编进主 demo,实现「主 demo 单页验收」(chart 拍板 1):
- 源:
.scratch/customer-contact-graph/prototype/prototype-contact-graph.html(contact-graph 票 06 已接真实 API;fetch 层 = API_BASE ?api= + apiGet/apiPost/apiDownload + Result 信封)。 - 目标:
.scratch/customer-e2e/demo/index.html(主 demo;详情页已有联系人/成员/导入/交割等页签,走旧联系人端点)。 - 收编面(§2.7b 全清单):图谱面板 + 编辑器全套 + 公司边派生渲染(detail/save)、快速添加 quickAdd、页内批量编辑 batchEdit、电话明文 reveal、联系人导出 export、导入三段式六端点。
- 主 demo 客户列表(mine/overview/pool 三视图共用表格)加「关注」星标列,消费票 01 focusFlag 字段;关注/取关动作端点已有(§2.9)。
- 新旧并存策略:主 demo 联系人页签旧端点(列表/新增/编辑)与新增强端点的分工,按原型 A4-4-2 对照拍板(原型第一)。
- 图谱 demo 退役:文件保留为原型底稿,不再是验收入口。
- 自检:Playwright 冒烟先覆盖收编后的新交互(完整冒烟归票 04);视口 1720×1080。
Answer
已收编落地,冒烟 35/35 ALL_PASS。
- 装配方式:主 demo
index.html960 → 2263 行,apply_t02.py14 锚点替换全断言(count==1)执行成功;CRLF 保持、无 BOM。结构 =contactsShell常驻面板(switchSub('contacts')时隐 subBox 显 shell,互斥显隐),事件bindContactsUI()init 时绑一次;JS 三段注入:p4 图谱核心(G/C 状态、布局派生、渲染)、p5 图谱编辑器(快照/CAS/拖拽)、p6 列表侧(双加载/页内编辑/qa/导入导出)。 - 新旧并存策略(原型第一,对照 A4-4-2):列表 = 旧端点
/api/customer/contacts(ContactDTO 全字段,操作列保留旧 contact/edit 弹窗 + check-phone 查重);图谱 =graph/detail(脱敏+level+edges);快速添加openQa()替换详情页旧「+联系人」按钮;页内批量编辑走batchEdit(原子批);删除走旧contact/delete但升级为 gConfirm + 双刷;reveal双写列表行与图谱节点(服务端埋点一处);导入三段式弹窗 id 全cimp前缀避让客户导入 tab。 - 关注星标列:thead 加「关注」列,
rowHtml按focusFlag(票 01 字段)渲染 ★/☆(.star-link/.off),toggleFocus()POST/focus?id=//unfocus?id=后 loadList+loadSummary 重拉;colspan 11→12。批量关注按钮(focus-batch)保留不变。 - 顺带修复原型潜伏 bug:
applyCellEdit的 jobFull 反查原按类别 code 查 JOB_DICT 恒 miss(页内改职务静默失效),收编版修复为按「类别下的职务 code」反查(g.jobs.some(j => j.code === v))。 - 67017 冲突处理升级:graph/save 版本冲突 →
doExitEdit()退出编辑态 + 重拉图谱(比原型保留编辑态更稳,避免叠脏改)。 - 图谱 demo 退役:
prototype-contact-graph.html头注释已加退役标注(保留为原型底稿/设计参照,验收入口 = 主 demo;全量交互回归仍可跑同目录 selfcheck.py)。 - 冒烟(
demo_t02_smoke.py,route 桩 mock-api + init 注入 token/me,视口 1720×1080):35 步全 PASS——关注列双向(桩记账验证重拉翻转)、contactsShell 显隐互斥、双加载(9 行全字段 + 图谱 9 卡/1 手动边/3 公司派生边无 ×)、reveal 双写、quickAdd 双刷 9→10、batchEdit dirty+保存回显、graph/save 版本链路 1→2(quickAdd bump)→3(batchEdit 职务变更 D1 bump)→4(save CAS) 精确匹配、导入三段式(预检 501/轮询终态/失败明细 1 行)、export POST、delContact gConfirm 双刷 10→9;零 console/pageerror、零 PUT/DELETE;12 端点族触发 11/12(import/template 下载流不点,归票 04 全量)。
证据
- 装配工件:
patch-t02/(p1-css ~ p6e + apply_t02.py,可重放);截图:customer-e2e/shots-t02/(7 张);结果:customer-e2e/t02-smoke-result.json。 - 主 demo 冒烟脚本:
.scratch/customer-e2e/demo_t02_smoke.py(票 04 全量冒烟的基础)。