{ "ts": "221451", "console_errors": [], "page_errors": [], "results": [ { "step": "登录 debug/token + /auth/me", "ok": true, "note": "" }, { "step": "字典分组列表预加载 dict/group/page(移植回归)", "ok": true, "note": "" }, { "step": "字典项列表预加载 dict/item/page(移植回归)", "ok": true, "note": "" }, { "step": "v3 建演示分组A", "ok": true, "note": "e2d_group_a_221451" }, { "step": "v3 弹窗结构(无键值/无默认勾选/子项编码列)", "ok": true, "note": "键值输入=True 默认勾选=True" }, { "step": "v3 新建项(无键值)编码自动生成", "ok": true, "note": "code=dict_c33ce3ff00d646b3bd054961f3e5362e" }, { "step": "v3 名称组内唯一 63007", "ok": true, "note": "失败: 字典名称[e2d-项1]在本分组内已存在 (code=63007)" }, { "step": "v3 复合编辑加子项(编码自动生成)", "ok": true, "note": "子项code=dict_65ce74e1083948a4b33c06a6e46cdaca" }, { "step": "v3 分组设默认(仅二级项可选 + 父名/子名回显)", "ok": true, "note": "两级提示=True cell=e2d-项1 / e2d-子项1" }, { "step": "v3 分组默认项禁停 63013(行停用路)", "ok": true, "note": "" }, { "step": "v3 演示分组清理", "ok": true, "note": "e2d_group_a_221451 left=0 [子项:0:success | 一级:0:success | 分组:0:success]" }, { "step": "用户分页 users/page", "ok": true, "note": "rows=10" }, { "step": "用户统计出参(三时间戳字段在位)", "ok": true, "note": "部门=814,在职=6157,离职=0,未分配=6150 lastSyncTime=2026-09-08 17:18:35,lastTransferTime=2026-09-09 " }, { "step": "移交预览 transfer-preview", "ok": true, "note": "移交预览就绪:线索=1,商机=11308,项目=0,客户=17 (快照已存,步骤4 返还后与此对照)" }, { "step": "自移交拦截 61019", "ok": true, "note": "61019 自移交拦截生效:移交方与接收人不能相同" }, { "step": "移交执行 admin→BUDDY(清零断言)", "ok": true, "note": "移交执行成功:admin 名下清零;BUDDY 收到 线索=1,商机=11308,项目=0,客户=17 snapshot transferTime=2026-09-09 22:15" }, { "step": "移交返还(BUDDY 净零 + admin 保底)", "ok": true, "note": "返还成功:BUDDY 名下回落至移交前(线索=0,商机=0,项目=0,客户=0);admin 各域 ≥ 原快照" }, { "step": "stats.lastTransferTime 非空", "ok": true, "note": "出参时间戳到位 lastTransferTime=2026-09-09 22:15:13,lastTransferUser=曾偲青 lastSyncTime=2026-09-08 " }, { "step": "演示角色就绪", "ok": true, "note": "演示角色就绪:e2d-演示角色-221451(id=753015620693393408,status=enabled)" }, { "step": "roles/stats 四计数", "ok": true, "note": "角色统计:总数=2,启用=2,停用=0,零使用=1" }, { "step": "assign-roles-batch 增量分配", "ok": true, "note": "批量增量分配生效:BUDDY roles 含演示角色(id=753015620693393408)" }, { "step": "roles/copy 停用草稿 _copy_", "ok": true, "note": "复制产出停用草稿:roleName=e2d-演示角色-221451-副本,roleCode=e2d_role_221451_copy_ApUCLl,status=disabled" }, { "step": "roles/enable 校验 61021", "ok": true, "note": "61021 启用校验生效:角色未授权任何菜单,不可启用;请先在角色管理中分配权限资源" }, { "step": "内置角色禁停保护", "ok": true, "note": "内置角色保护生效:内置角色不允许停用 (code=61012)" }, { "step": "BUDDY 角色还原 + 删演示角色", "ok": true, "note": "BUDDY 角色已还原(基准=[无]);删除角色 2/2 个" }, { "step": "演示权限点 + 禁删链路就绪", "ok": true, "note": "演示权限点就绪:id=753015629547569152(父 menu=747858510854750208);禁删链路就绪:演示角色 RD=753015630210269184" }, { "step": "resources/references 非空", "ok": true, "note": "引用清单非空:管理员(在职7)" }, { "step": "resources 停用→启用 roundtrip", "ok": true, "note": "演示点 停用→启用 roundtrip 成功(幂等)" }, { "step": "resources 禁删两段 61009+61020", "ok": true, "note": "禁删两段生效:启用中删除=61009(仅停用状态的资源可删除,请先停用该节点);停用后删除=61020(资源被 1 个角色授权引用,禁止删除;请先在角色管理中解除引用,角色ID:[7530156302" }, { "step": "演示权限点清理", "ok": true, "note": "演示角色 RD 已删(级联清引用);演示权限点已停用并删除" }, { "step": "推送 R1 草稿(仅步骤①,嵌套绑定)", "ok": true, "note": "R1 草稿就绪:id=753015640054300672,编码=PUSH_RULE_03,版本=V1.0" }, { "step": "D-01 无步骤④发布(回归)", "ok": true, "note": "D-01 修复验证:无步骤④发布成功(status=2 发布中)" }, { "step": "推送 R2 草稿 + 详情回显", "ok": true, "note": "R2 草稿 4 步骤回显一致:basic=方案评审,校验行=1,映射行=1,createMode=auto,applyScope=2 条件值=投标阶段" }, { "step": "推送 R2 发布 + versions", "ok": true, "note": "R2 发布成功:versions 1 行,当前 V1.0 status=2 发布中" }, { "step": "推送 64029 同名发布中唯一", "ok": true, "note": "64029 同名称发布中唯一生效:已存在同名称的发布中规则:e2d-推送R2-221451" }, { "step": "推送 64030 创建方式值域", "ok": true, "note": "64030 创建方式值域校验生效:项目创建方式非法(可选:自动创建/用户交互/关联已有项目)" }, { "step": "推送 copy 新编码 V1.0 草稿", "ok": true, "note": "复制成功:新编码=PUSH_RULE_07,V1.0 草稿(id=753015647998312448)" }, { "step": "推送 disable + 64027 仅草稿可删", "ok": true, "note": "停用成功 + 仅草稿可删拦截生效(64027 仅草稿版本可删除)" }, { "step": "推送草稿清理", "ok": true, "note": "清理草稿 3/3(R1/R2 已发布转停用留存,e2d- 前缀可辨)" }, { "step": "查重 D1 发布 + referenceCount 出参", "ok": true, "note": "D1 发布成功:status=2,referenceCount=0(出参字段在位)" }, { "step": "查重 64031 属地缺对象", "ok": true, "note": "64031 属地档校验生效:按项目属地范围须填写适用对象" }, { "step": "查重 64031 仅全部商机可设默认", "ok": true, "note": "64031 仅全部商机可设默认生效:仅全部商机范围的规则可设为默认" }, { "step": "引用计数草稿引用入账", "ok": true, "note": "引用计数入账:detail.referenceCount=1,versions V1.0 referenceCount=1(草稿引用也计入)" }, { "step": "草稿不可被正式引用 64030", "ok": true, "note": "64030 草稿查重规则引用拦截生效:引用的项目查重规则版本非发布中,草稿不可被正式引用" }, { "step": "查重状态机 copy/删/停用/64033", "ok": true, "note": "复制(新编码 V1.0 草稿)→ 草稿可删 ✓;停用 D1 → 删除被拦(64033 仅草稿版本可删除)" }, { "step": "查重草稿清理", "ok": true, "note": "清理推送/查重草稿 3/3,D1.referenceCount 回落=0" }, { "step": "项目规则 current 5 区块", "ok": true, "note": "项目规则聚合回显:stageAliases=2行,poolMembers=0行,conflictPull=对象,stageReminds=0行,bidConfigs=0行" }, { "step": "项目规则 分区保存 + 回显", "ok": true, "note": "阶段别名保存并回显:2 行,S1.alias=e2d别名一-221451" }, { "step": "项目规则 64036 比例校验", "ok": true, "note": "64036 比例校验生效:标底方认定比例须在 0-100 之间" }, { "step": "线索池建池(三类异人成员提交)", "ok": true, "note": "演示池就绪:id=753015674674085888,名称=e2d-演示池-221451,部门=744636475731083264(三类成员已提交)" }, { "step": "线索池三类成员回填", "ok": true, "note": "三类成员回填一致:负责人=罗伟健,协作人=1 人,部门成员=1 人(uid=744842317625556992)" }, { "step": "线索池导出 xlsx(ZIP 魔数)", "ok": true, "note": "导出成功:4202 字节,ZIP 魔数 PK ✓(xlsx)" }, { "step": "线索池导入 BatchResult", "ok": true, "note": "导入成功:BatchResult total=1,success=1,fail=0" }, { "step": "线索池列表可见(演示+导入)", "ok": true, "note": "列表可见:演示池 + 导入池均在(共 e2d- 池 3 个)" }, { "step": "字典种子 opp_stage 06/07 + opportunity_status", "ok": true, "note": "字典种子在位:opp_stage 7 值含 06技术交流/07竞品打压;opportunity_status 4 值(推进中、暂缓中、已关闭、已转项目)" }, { "step": "线索池清理", "ok": true, "note": "清理演示池/导入池 2/2" }, { "step": "网络层零旧契约形态", "ok": true, "note": "bad_method=[] old_style=[] (共145请求)" }, { "step": "v3 saveOrUpdate 载荷零 value/isDefault", "ok": true, "note": "save提交=3次 bad=[]" } ], "all_pass": true }