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.
 
 
 
 
 

5.8 KiB

Wayfinder Map: 前端联调可用性保障(frontend-integration)

Label: wayfinder:map

Destination

前端按接口文档 + 蓝湖原型能走通核心流程(认证登录 → 公共依赖[省市区/字典] → 线索主流程[新增/四列表/流转/公海池]),期间发现的阻塞项全部清零,并以静态 demo 作为正确性参照交付。

Notes

  • 本 effort 携带执行(覆盖 Wayfinder 默认的 plan-don't-do):数据初始化、bug 修复、demo、测试数据铺设均作为地图内票据推进。
  • 必填/非必填判定基准(已与用户对齐):
    • 蓝湖原型表单标注为唯一权威来源;接口文档与原型冲突时,以原型为准改后端。
    • 原型含糊/未标注时宽松优先:服务端不做强制校验,仅对「数据库 NOT NULL 且无默认值」字段做最小校验;宁可放过,不可误拦。
    • 回显规则:详情接口返回字段必须覆盖新建表单全部字段(含字典编码 + 名称快照、区划 ID + 名称)。
  • 钉钉同步方案(已与用户对齐):application.yml 的钉钉配置可用;引入 com.github.tingyugetc520:dt-java:0.1.2;只拉部门树 + 用户;部门负责人是钉钉字段随部门存下,不是系统角色;另写管理员角色配置接口。
  • 字典种子(已与用户对齐,票据 02 落地时以原型实际清单校正):lead_source 选项替换为原型渠道清单(38 项);新增 brand(9 项,非最初记录的仅 itc)/ product(16 项)/ scene(18 项)三个内置分组;customer_status / industry 保留不动;联调库直接重建或手工清理「只加不删」seeder 的残留。
  • 行政区划(已与用户对齐):全量国标三级(约 3200 行),seeder 幂等导入(与 DictDataInitializer 同款模式),非 SQL 脚本。
  • 测试数据(已与用户对齐):用户/组织走钉钉同步端点拉全量真实数据;角色用管理员角色配置接口手工配;公海池 ×2 + 各状态线索种子走后端 API 铺设。
  • 环境流转(已与用户对齐):本地 :8081(连 8.129.84.155 开发库)验证 → 打包 → deploy/restart.sh 更新测试服务器(nginx 80)交付前端;demo 部署至 nginx/html/demo/
  • 相关技能:demo 票据用 /prototype;修复票据酌情用 /tdd。
  • 原型文本位置:.scratch/lanhu-text/(新增线索表单见 a2-1-2-2____.txt);Bruno 集合:.scratch/bruno-coldstart/

Decisions so far

  • dt-java SDK 部门与用户拉取 API 调研 — dt-java 0.1.2 存在于中央仓库(旧版 oapi 封装);实测校正:初始化只需 appKey/appSecret(无需 corp-id/agent-id);部门树 list(null,true) 可用;发布版 jar 的 DtUser isLeaderInDeparts 字段(tmp 源码是更新版),用户链路改 HTTP 直调 /topapi/user/listbypage 自行解析负责人;传递依赖旧需 exclusions(xstream)。
  • 行政区划全量种子导入 — china-division 2.7.0 国标三级 3432 行(34 省含港澳台/342 市/3056 区县镇街)内嵌 resources;RegionDataInitializer(@Order(12) CommandLineRunner)三层 batchUpsert + 回查拿 id,命中 uk_region_code 幂等;开发库两次启动实测写入与幂等通过。
  • 字典种子对齐原型 — SEED_GROUPS 对齐蓝湖 A2-1-2-2:lead_source 改名「渠道」并替换为 38 项原型渠道;新增 brand(9)/product(16)/scene(18) 共 6 组 92 项;crm-lead 分组编码常量由点号改齐 lead_source/brand/product/scene;「只加不删」,旧渠道项待联调库重建或手工停用。
  • 钉钉组织同步端点与管理员角色配置接口POST /api/system/sync/dingtalk(超管):部门走 dt-java SDK、用户因 0.1.2 缺 isLeaderInDeparts 改 HTTP 直调 listbypage;幂等键 sys_dept.dt_dept_id(新增唯一索引)与 account=钉钉 userid;负责人是部门字段反写 leader_user_id 不映射角色;POST /api/system/users/admin-role(超管)增量授予/回收角色,缺省 ROLE_ADMIN;错误码 61017。
  • 公海池与线索种子数据铺设seed-testdata.py(幂等纯 API 铺设):公海池×2(不同部门/省份/领取规则)+ 线索种子×5(待领取/已领取/跟进中)+ 关注×2,四视图均有数据;发现项:转商机 65008(OpportunityCreationPort 无实现,商机模块在目的地外,归票据 07 决策)、过期失效/已转商机状态无 API 可铺;全部种子挂存量单用户,待钉钉同步后补铺。

Not yet specified

  • 盘点产出的具体 bug 修复票据:核心接口对照原型盘点(票据「核心接口对照原型盘点与修复」)会产出问题清单,届时按模块/页面逐一立票修复(含必填误校验、传参返回不合理、字段未回显)。
  • 端到端验收走查:数据、demo、修复齐备后,全流程点击验收 + 前端确认的最终票据,待前置完成后再立。
  • 联调问题回流机制:前端联调期间新反馈的 bug 如何归类进本地图(还是单开 issue),待第一轮联调反馈到来时再定。

Out of scope

  • 系统管理页面(用户/组织/角色管理页)本身的完整联调——本 effort 只做钉钉同步与管理员角色配置接口,管理页 UI 联调不在目的地内。
  • 数据字典管理页联调——只保证读路径可用 + 内置字典齐全,管理页本身的联调 bug 非阻塞。
  • 文件/附件模块联调——线索表单如无附件场景则整体不进核心。
  • 客户/商机/项目管理等后续模块——目的地之外,另起 effort。