采购管理蝦皮订单号筛选支持批量粘贴并复用现有重试 #356

Open
opened 2026-10-05 16:08:17 +08:00 by ila · 2 comments
Owner

基本信息

  • 类型:需求;单元工单。
  • 所属 Epic / MVP:无;关联 #303(采购管理原任务批量重试)。
  • 阶段:待验收;实现、测试、文档同步、提交推送已完成。尚未合并 main、未部署,不发起真实采购或重试。

原始需求

  • 来源:用户对话,2026-10-05。
  • 用户原话:“先建最小方案工单:把采购管理现有的‘订单号’输入框改成支持批量粘贴”。
  • 目的:SYB 批量采购后部分任务失败,采购员可粘贴多个来源订单号集中检索,再复用已有勾选重试,不逐个查找。
  • 本单“订单号”指采购管理的“蝦皮订单号”(SYB 来源订单号),不是 PDD 订单号,也不是 CG 任务号。

当前事实与核验范围

  • 核验日期:2026-10-05;基线 main e4d4a6fa797c17dab9e7779962cc0ededae10149。
  • web/src/views/goauto/purchase-tasks/index.vue:9:蝦皮订单号为单行 el-input,绑定 query.shopeeOrderNo;另有独立 PDD 订单号输入框。
  • server/app/goauto/purchase/handler.go:56:只读取单值 shopeeOrderNo。
  • server/app/goauto/purchase/admin_query.go:152:现行单号为 shopee_order_no_snapshot LIKE 包含查询,尚未发现多订单号精确集合查询。
  • 页面已有重试(N)、筛选 failed/retryable、结果列表;purchase/retry.go 调用 Reset 原地重试,保留原任务 ID / CG 编号、增加 attempt。旧文档中“新建任务”的描述不作为当前实现依据。
  • 本轮仅核对上述查询与现有重试连接点;未操作线上采购任务、未执行功能测试,不宣称新功能已经实现。

依赖与子项目影响

  • 前置:现有采购管理列表与 #303 批量重试已实现,无新增前置工单。
  • 可与其他不触及采购查询/页面的任务并行;同文件修改需协调。
  • 交付单元:Web、Server 只读列表查询、相关测试与共享契约文档。Android 不变。
  • 不新增数据库字段、迁移、权限、批次实体或任务状态。

做什么 / 不做什么

  • 做:现有蝦皮订单号筛选支持单号与批量粘贴;搜索结果继续使用已有筛选、分页、勾选与重试。
  • 不做:按采购批次管理、跨页全选、自动重试、新建采购任务、扩大重试资格、自动采购、PDD 订单号批量筛选、其他页面改造、发布。

最小方案与目标接口

  1. 保留现有“蝦皮订单号”标签和所在筛选区域,输入支持多行粘贴;接受换行(CR/LF)、中英文逗号、空格和 Tab 分隔,去掉空项、首尾空白、重复值。订单号按字符串处理,不转数值、不丢前导零。
  2. 去重后最多 100 个订单号、每个最多 64 字符;前后端均校验,超限明确报错,不静默截断、不忽略非法项后查全部。
  3. 单号保持原有包含查询行为;两个及以上去重订单号走精确集合查询(OR/IN),不匹配相似订单、商品 ID 或标题。提示明确“单个支持包含查询,多个按完整订单号匹配”。去重后仅一个号按单号规则处理。
  4. 多号时显示“已输入 N 个订单号”。空输入不加该筛选;清空/重置恢复既有规则;查询回第一页,翻页保留本次条件。
  5. GET /api/admin/v1/purchase-tasks 增加可选重复键 shopeeOrderNos(如 shopeeOrderNos=DEMO-A&shopeeOrderNos=DEMO-B),后端以参数化 IN 查询 shopee_order_no_snapshot,在计数和分页之前过滤。旧 shopeeOrderNo 保留原语义。非空单值和集合参数同时提交时返回现有非法请求错误,不隐式选优先级。显式集合参数全为空时同样报错,不能意外扩大为全量查询。
  6. 所选订单号之间为 OR,与状态、采购类型、任务号、执行模式及其他已有筛选条件为 AND;沿用认证和数据范围,不新增查询越权能力。
  7. 100 个订单号不等于 100 个任务:同一订单可有多明细或历史任务,仍按现有分页展示。当前页勾选重试不变;筛选/刷新后清除旧勾选,避免误重试上一组任务。查询不触发任何重试或外部写入。

预计修改:

  • web/src/views/goauto/purchase-tasks/index.vue
  • web/src/api/goauto/purchase-tasks.js(仅列表集合参数序列化)
  • server/app/goauto/purchase/handler.go、admin_query.go
  • 对应查询、参数与页面测试。不改 retry.go / reset.go 执行行为。

设计证据与确认范围

  • 类型:现有筛选组件的小范围增强,不新增页面、独立批次管理或导航。
  • 需求基线:用户于 2026-10-05 要求建立本最小方案工单;不是实施/发布授权。
  • 设计证据:实施前明确复用现有 Element Plus 筛选表单、输入、查询/重置、加载/空/错误反馈规范,并补多行输入布局的轻量标注供核对;当前标记为待补齐,不声称已有已审核原型。
  • 正常:单号可查询,多号显示数量;空:占位提示可粘贴多个订单号;加载:沿用列表 loading,不自动触发重试;失败:保留输入、显示查询错误;超限:字段提示且不提交;禁用与权限:沿用当前页面,不增加审批。
  • 多行输入 Enter 用于换行,使用既有查询按钮提交,避免粘贴/换行误触发请求;其他筛选框原行为保持。
  • 不导出本地 HTML、不建立额外设计页面;轻量设计确认前不编写生产 UI 代码。

验收标准

  • 单号原包含查询兼容,旧客户端调用不受影响。
  • 粘贴换行、逗号、空格、Tab 混排订单号,前后端拆分/去重规则一致,显示正确数量;前导零保留。
  • 多号仅匹配指定完整订单号;不匹配相似订单、标题或商品 ID。
  • 空输入、清空、重置、重复值、100/101 个、单值长度边界、单复参数冲突均行为明确。
  • 状态等条件 AND 生效,计数准确、分页无漏筛;未命中时正常空列表,不自动放宽筛选。
  • 单订单对应多个任务仍全部参与正确分页;翻页不丢条件,搜索/刷新不残留旧勾选。
  • 搜索失败保留输入、不自动重试请求、不触发采购;正常结果可沿用原“重试(N)”入口与确认流程。
  • 不改变同任务重试、最大100任务、重试资格和部分成功规则;PDD订单号/CG筛选保持原样。

验证计划

  • Server:增加 AdminList / handler 参数解析与精确集合查询测试;单号历史测试保持通过;覆盖非法输入、参数化查询、状态组合、total/分页。
  • Web:输入归一化、计数、上限、序列化、清空/重置、分页保留条件及失败保留输入测试;使用模拟数据验证从搜索结果勾选到已有重试确认,不发起真实订单。
  • 受影响文件 lint、Web 生产构建和相关 Go 测试;实施时记录实际命令、结果和未覆盖项。
  • 当前阶段未运行上述测试;真实采购、线上发布需另行明确授权。

风险与回退

  • 主要风险:多值退化成模糊查询、空集合扩大范围、URL数组序列化不一致、旧勾选残留;由双端校验、参数化集合查询、现有清选逻辑和测试约束。
  • 无数据库迁移;Server 先兼容新增参数后发布 Web,防止新前端对旧后端被静默忽略条件。发布与回退应成套处理,不单独回退 Server 留新前端。
  • 范围仅只读检索,不放宽订单安全检查、不涉及付款。

文档影响与交付

  • 实现后更新 Wiki API 契约的采购列表参数与业务规则查询语义,架构/代码地图中补充查询入口的既有描述(如已有相关章节);不引入新架构。
  • Wiki 先线上更新/回读 revision,再一轮 sync 与 sync --check;本次仅建单,不提前把目标写成已实现能力。
  • 单次需求、变更、提交、测试、未验证项与验收结论只记录此工单;不创建 docs/task 或 Wiki 任务快照。
  • 实施完成提交推送并回写证据,保持待验收;用户未明确通过不关闭。
  • 工具说明:本会话未暴露 Gitea MCP,依仓库规则回退 Gitea REST API 建单,凭据仅从用户级私有配置内存读取,不记录到工单。

轻量设计 v1 确认(2026-10-05)

用户在布局确认问题中回复“按此布局实施”。原位置改为默认两行、最多四行的 Element Plus textarea,下方显示数量和查询语义,超限就地提示,Enter 换行,原查询/重置按钮复用。不新建页面,不扩展其他输入框。确认覆盖本单字段的正常、空、加载、失败、禁用状态;覆盖此前待补的轻量设计门禁,无独立 QuantUX 原型或 HTML 导出。实施复用现有组件规范。

## 基本信息 - 类型:需求;单元工单。 - 所属 Epic / MVP:无;关联 #303(采购管理原任务批量重试)。 - 阶段:待验收;实现、测试、文档同步、提交推送已完成。尚未合并 main、未部署,不发起真实采购或重试。 ## 原始需求 - 来源:用户对话,2026-10-05。 - 用户原话:“先建最小方案工单:把采购管理现有的‘订单号’输入框改成支持批量粘贴”。 - 目的:SYB 批量采购后部分任务失败,采购员可粘贴多个来源订单号集中检索,再复用已有勾选重试,不逐个查找。 - 本单“订单号”指采购管理的“蝦皮订单号”(SYB 来源订单号),不是 PDD 订单号,也不是 CG 任务号。 ## 当前事实与核验范围 - 核验日期:2026-10-05;基线 main `e4d4a6fa797c17dab9e7779962cc0ededae10149`。 - `web/src/views/goauto/purchase-tasks/index.vue:9`:蝦皮订单号为单行 el-input,绑定 query.shopeeOrderNo;另有独立 PDD 订单号输入框。 - `server/app/goauto/purchase/handler.go:56`:只读取单值 shopeeOrderNo。 - `server/app/goauto/purchase/admin_query.go:152`:现行单号为 shopee_order_no_snapshot LIKE 包含查询,尚未发现多订单号精确集合查询。 - 页面已有重试(N)、筛选 failed/retryable、结果列表;`purchase/retry.go` 调用 Reset 原地重试,保留原任务 ID / CG 编号、增加 attempt。旧文档中“新建任务”的描述不作为当前实现依据。 - 本轮仅核对上述查询与现有重试连接点;未操作线上采购任务、未执行功能测试,不宣称新功能已经实现。 ## 依赖与子项目影响 - 前置:现有采购管理列表与 #303 批量重试已实现,无新增前置工单。 - 可与其他不触及采购查询/页面的任务并行;同文件修改需协调。 - 交付单元:Web、Server 只读列表查询、相关测试与共享契约文档。Android 不变。 - 不新增数据库字段、迁移、权限、批次实体或任务状态。 ## 做什么 / 不做什么 - 做:现有蝦皮订单号筛选支持单号与批量粘贴;搜索结果继续使用已有筛选、分页、勾选与重试。 - 不做:按采购批次管理、跨页全选、自动重试、新建采购任务、扩大重试资格、自动采购、PDD 订单号批量筛选、其他页面改造、发布。 ## 最小方案与目标接口 1. 保留现有“蝦皮订单号”标签和所在筛选区域,输入支持多行粘贴;接受换行(CR/LF)、中英文逗号、空格和 Tab 分隔,去掉空项、首尾空白、重复值。订单号按字符串处理,不转数值、不丢前导零。 2. 去重后最多 100 个订单号、每个最多 64 字符;前后端均校验,超限明确报错,不静默截断、不忽略非法项后查全部。 3. 单号保持原有包含查询行为;两个及以上去重订单号走精确集合查询(OR/IN),不匹配相似订单、商品 ID 或标题。提示明确“单个支持包含查询,多个按完整订单号匹配”。去重后仅一个号按单号规则处理。 4. 多号时显示“已输入 N 个订单号”。空输入不加该筛选;清空/重置恢复既有规则;查询回第一页,翻页保留本次条件。 5. GET `/api/admin/v1/purchase-tasks` 增加可选重复键 `shopeeOrderNos`(如 `shopeeOrderNos=DEMO-A&shopeeOrderNos=DEMO-B`),后端以参数化 IN 查询 `shopee_order_no_snapshot`,在计数和分页之前过滤。旧 `shopeeOrderNo` 保留原语义。非空单值和集合参数同时提交时返回现有非法请求错误,不隐式选优先级。显式集合参数全为空时同样报错,不能意外扩大为全量查询。 6. 所选订单号之间为 OR,与状态、采购类型、任务号、执行模式及其他已有筛选条件为 AND;沿用认证和数据范围,不新增查询越权能力。 7. 100 个订单号不等于 100 个任务:同一订单可有多明细或历史任务,仍按现有分页展示。当前页勾选重试不变;筛选/刷新后清除旧勾选,避免误重试上一组任务。查询不触发任何重试或外部写入。 预计修改: - `web/src/views/goauto/purchase-tasks/index.vue` - `web/src/api/goauto/purchase-tasks.js`(仅列表集合参数序列化) - `server/app/goauto/purchase/handler.go`、`admin_query.go` - 对应查询、参数与页面测试。不改 retry.go / reset.go 执行行为。 ## 设计证据与确认范围 - 类型:现有筛选组件的小范围增强,不新增页面、独立批次管理或导航。 - 需求基线:用户于 2026-10-05 要求建立本最小方案工单;不是实施/发布授权。 - 设计证据:实施前明确复用现有 Element Plus 筛选表单、输入、查询/重置、加载/空/错误反馈规范,并补多行输入布局的轻量标注供核对;当前标记为待补齐,不声称已有已审核原型。 - 正常:单号可查询,多号显示数量;空:占位提示可粘贴多个订单号;加载:沿用列表 loading,不自动触发重试;失败:保留输入、显示查询错误;超限:字段提示且不提交;禁用与权限:沿用当前页面,不增加审批。 - 多行输入 Enter 用于换行,使用既有查询按钮提交,避免粘贴/换行误触发请求;其他筛选框原行为保持。 - 不导出本地 HTML、不建立额外设计页面;轻量设计确认前不编写生产 UI 代码。 ## 验收标准 - [ ] 单号原包含查询兼容,旧客户端调用不受影响。 - [ ] 粘贴换行、逗号、空格、Tab 混排订单号,前后端拆分/去重规则一致,显示正确数量;前导零保留。 - [ ] 多号仅匹配指定完整订单号;不匹配相似订单、标题或商品 ID。 - [ ] 空输入、清空、重置、重复值、100/101 个、单值长度边界、单复参数冲突均行为明确。 - [ ] 状态等条件 AND 生效,计数准确、分页无漏筛;未命中时正常空列表,不自动放宽筛选。 - [ ] 单订单对应多个任务仍全部参与正确分页;翻页不丢条件,搜索/刷新不残留旧勾选。 - [ ] 搜索失败保留输入、不自动重试请求、不触发采购;正常结果可沿用原“重试(N)”入口与确认流程。 - [ ] 不改变同任务重试、最大100任务、重试资格和部分成功规则;PDD订单号/CG筛选保持原样。 ## 验证计划 - Server:增加 AdminList / handler 参数解析与精确集合查询测试;单号历史测试保持通过;覆盖非法输入、参数化查询、状态组合、total/分页。 - Web:输入归一化、计数、上限、序列化、清空/重置、分页保留条件及失败保留输入测试;使用模拟数据验证从搜索结果勾选到已有重试确认,不发起真实订单。 - 受影响文件 lint、Web 生产构建和相关 Go 测试;实施时记录实际命令、结果和未覆盖项。 - 当前阶段未运行上述测试;真实采购、线上发布需另行明确授权。 ## 风险与回退 - 主要风险:多值退化成模糊查询、空集合扩大范围、URL数组序列化不一致、旧勾选残留;由双端校验、参数化集合查询、现有清选逻辑和测试约束。 - 无数据库迁移;Server 先兼容新增参数后发布 Web,防止新前端对旧后端被静默忽略条件。发布与回退应成套处理,不单独回退 Server 留新前端。 - 范围仅只读检索,不放宽订单安全检查、不涉及付款。 ## 文档影响与交付 - 实现后更新 Wiki API 契约的采购列表参数与业务规则查询语义,架构/代码地图中补充查询入口的既有描述(如已有相关章节);不引入新架构。 - Wiki 先线上更新/回读 revision,再一轮 sync 与 sync --check;本次仅建单,不提前把目标写成已实现能力。 - 单次需求、变更、提交、测试、未验证项与验收结论只记录此工单;不创建 docs/task 或 Wiki 任务快照。 - 实施完成提交推送并回写证据,保持待验收;用户未明确通过不关闭。 - 工具说明:本会话未暴露 Gitea MCP,依仓库规则回退 Gitea REST API 建单,凭据仅从用户级私有配置内存读取,不记录到工单。 ### 轻量设计 v1 确认(2026-10-05) 用户在布局确认问题中回复“按此布局实施”。原位置改为默认两行、最多四行的 Element Plus textarea,下方显示数量和查询语义,超限就地提示,Enter 换行,原查询/重置按钮复用。不新建页面,不扩展其他输入框。确认覆盖本单字段的正常、空、加载、失败、禁用状态;覆盖此前待补的轻量设计门禁,无独立 QuantUX 原型或 HTML 导出。实施复用现有组件规范。
Author
Owner

2026-10-05 开始实施:用户已下达“做#356”。基线 e4d4a6f,在 feat/356-purchase-order-filter 独立 worktree 实施,保留其他改动。先完成 Server 只读列表集合参数与测试;UI 沿用 Element Plus,已向用户补充轻量布局确认:原位置默认两行/最多四行、数量及提示置于输入下方、Enter 换行/原查询按钮提交,等待该布局确认后修改页面。不迁移、不发布、不触发真实采购。Gitea MCP 不可用,沿用 REST API。

2026-10-05 开始实施:用户已下达“做#356”。基线 e4d4a6f,在 feat/356-purchase-order-filter 独立 worktree 实施,保留其他改动。先完成 Server 只读列表集合参数与测试;UI 沿用 Element Plus,已向用户补充轻量布局确认:原位置默认两行/最多四行、数量及提示置于输入下方、Enter 换行/原查询按钮提交,等待该布局确认后修改页面。不迁移、不发布、不触发真实采购。Gitea MCP 不可用,沿用 REST API。
Author
Owner

实施完成,待用户验收(2026-10-05)

交付

  • 代码提交:bb3990e432a206bcf33deee1a65b2f58f19378da;Wiki镜像:1858087a566685f19ba74c3e97c3160a80bd870e。
  • 已推送 feat/356-purchase-order-filter,独立工作区干净。未合并 main,未部署线上,也未重启本地业务服务。
  • 已按用户确认的轻量设计v1实现默认两行/最多四行输入、多值数量、查询说明及字段错误。使用 ui-ux-pro-max 检查标签、键盘换行、可访问错误反馈和窄屏布局;保持现有 Element Plus 样式,没有全局UI改造。
  • 换行/空格/Tab/中英文逗号拆分、去空项去重,最多100号、每号64字符,保留前导零。单号沿用标量包含查询,多号重复键精确 IN;与其他条件AND、分页前计数和筛选。
  • 服务端区分未提供集合与显式空集合,拒绝空集合、单复参数冲突和超限。Web仅修改列表序列化,不改全局超时或其他API。
  • 搜索/刷新清除旧勾选;查询失败保留输入、清除旧结果,不自动重试或触发采购。原采购重试、下单、回填和权限代码未改。

验证结果

  • Server:go test ./app/goauto/purchase -count=1 通过整个采购包;go build ./... 通过。
  • 新增Go测试覆盖:混合分隔、重复值、前导零、100/101及64/65 Unicode字符边界、单复参数冲突/空集合、handler三角色、旧LIKE兼容、精确匹配排除相似订单/标题、状态组合、总数和分页。
  • Web:node --test tests/unit/purchase-order-filter.test.cjs 3/3通过;pnpm run build:prod 通过。
  • 正式构建预览包上:PLAYWRIGHT_TEST_BASE_URL=http://localhost:9558,pnpm exec playwright test tests/e2e/purchase-order-filter.spec.ts tests/e2e/purchase-order-writeback.spec.ts --workers=1 12/12通过(新筛选5项+既有采购/回填7项)。全部使用模拟数据/接口,未调用真实订单或SYB写入。
  • 布局检查:1440桌面、375窄屏、812横屏、减少动画设置、键盘focus通过,并检查模拟页面截图。测试截图仅在忽略的test-results,不提交原型快照。
  • API与新增工具文件ESLint 0错误0警告。采购页面整体lint为26错误11警告,已通过ESLint API与main e4d4a6f逐条对比 rule/message/severity 完全相同,均为原有tab/缩进/brace-style;本单不修复无关历史格式问题。
  • git diff --check 通过。
  • python dev_scripts/harness.py check --strict 因既有 docs/evidence/pdd-home-35727-summary.md 未登记Wiki镜像失败;在未修改的main工作区复现相同1项错误。本单不改该历史文件/校验规则。

测试排错说明

  • 首次新Go测试夹具用正式能力调用演练创建,已改为演练能力,最终整个采购包通过。
  • 首次新浏览器mock缺avatar导致模拟登录跳回登录页,补齐测试字段;另修正测试使用的状态选项文字为现有“采购失败”。没有为通过测试修改生产权限/状态文案。
  • 旧回填浏览器测试在Vite开发模式会误拦截 /src/api/... 模块请求,停在资源加载页;未改旧测试,改用正式构建预览后7项全部通过。不是生产回填回归。

Wiki闭环

已在线更新并回读,随后完成一轮 python dev_scripts/harness.py sync 和 sync --check,均成功;只提交本单3个镜像:

  • Architecture-and-Code-Map:3792feb41f8f74ffc69faae757e631254c3a23e2
  • Business-Rules-and-Glossary:60b4c649f87178c079392a101faf00db9b355263
  • Android-Agent-API-Contract:0d3b04cf5318051b1179cbac47521d88e77e2a57

文档明确为分支实现、尚未合并/发布。没有新增本地任务归档、迁移、权限、Android改动或服务端高风险写操作。

待验收 / 后续

用户可验收“粘贴多个蝦皮订单号 → 查询 → 筛选采购失败 → 勾选 → 原重试确认”。线上真实数据和真实设备采购没有测试;此次不执行真实重试。要用于线上需另行授权合并并成套发布Server/Web,不可只更新Web让旧后端忽略集合参数。

Gitea MCP 本会话未提供,工单和Wiki依规则使用REST API;未把凭据写入源码、文档或消息。工单保持open,不代表已获用户验收。

## 实施完成,待用户验收(2026-10-05) ### 交付 - 代码提交:`bb3990e432a206bcf33deee1a65b2f58f19378da`;Wiki镜像:`1858087a566685f19ba74c3e97c3160a80bd870e`。 - 已推送 `feat/356-purchase-order-filter`,独立工作区干净。未合并 main,未部署线上,也未重启本地业务服务。 - 已按用户确认的轻量设计v1实现默认两行/最多四行输入、多值数量、查询说明及字段错误。使用 ui-ux-pro-max 检查标签、键盘换行、可访问错误反馈和窄屏布局;保持现有 Element Plus 样式,没有全局UI改造。 - 换行/空格/Tab/中英文逗号拆分、去空项去重,最多100号、每号64字符,保留前导零。单号沿用标量包含查询,多号重复键精确 IN;与其他条件AND、分页前计数和筛选。 - 服务端区分未提供集合与显式空集合,拒绝空集合、单复参数冲突和超限。Web仅修改列表序列化,不改全局超时或其他API。 - 搜索/刷新清除旧勾选;查询失败保留输入、清除旧结果,不自动重试或触发采购。原采购重试、下单、回填和权限代码未改。 ### 验证结果 - Server:`go test ./app/goauto/purchase -count=1` **通过整个采购包**;`go build ./...` 通过。 - 新增Go测试覆盖:混合分隔、重复值、前导零、100/101及64/65 Unicode字符边界、单复参数冲突/空集合、handler三角色、旧LIKE兼容、精确匹配排除相似订单/标题、状态组合、总数和分页。 - Web:`node --test tests/unit/purchase-order-filter.test.cjs` **3/3通过**;`pnpm run build:prod` 通过。 - 正式构建预览包上:`PLAYWRIGHT_TEST_BASE_URL=http://localhost:9558`,`pnpm exec playwright test tests/e2e/purchase-order-filter.spec.ts tests/e2e/purchase-order-writeback.spec.ts --workers=1` **12/12通过**(新筛选5项+既有采购/回填7项)。全部使用模拟数据/接口,未调用真实订单或SYB写入。 - 布局检查:1440桌面、375窄屏、812横屏、减少动画设置、键盘focus通过,并检查模拟页面截图。测试截图仅在忽略的test-results,不提交原型快照。 - API与新增工具文件ESLint 0错误0警告。采购页面整体lint为26错误11警告,已通过ESLint API与main e4d4a6f逐条对比 rule/message/severity 完全相同,均为原有tab/缩进/brace-style;本单不修复无关历史格式问题。 - `git diff --check` 通过。 - `python dev_scripts/harness.py check --strict` 因既有 `docs/evidence/pdd-home-35727-summary.md` 未登记Wiki镜像失败;在未修改的main工作区复现相同1项错误。本单不改该历史文件/校验规则。 ### 测试排错说明 - 首次新Go测试夹具用正式能力调用演练创建,已改为演练能力,最终整个采购包通过。 - 首次新浏览器mock缺avatar导致模拟登录跳回登录页,补齐测试字段;另修正测试使用的状态选项文字为现有“采购失败”。没有为通过测试修改生产权限/状态文案。 - 旧回填浏览器测试在Vite开发模式会误拦截 `/src/api/...` 模块请求,停在资源加载页;未改旧测试,改用正式构建预览后7项全部通过。不是生产回填回归。 ### Wiki闭环 已在线更新并回读,随后完成一轮 `python dev_scripts/harness.py sync` 和 `sync --check`,均成功;只提交本单3个镜像: - Architecture-and-Code-Map:`3792feb41f8f74ffc69faae757e631254c3a23e2` - Business-Rules-and-Glossary:`60b4c649f87178c079392a101faf00db9b355263` - Android-Agent-API-Contract:`0d3b04cf5318051b1179cbac47521d88e77e2a57` 文档明确为分支实现、尚未合并/发布。没有新增本地任务归档、迁移、权限、Android改动或服务端高风险写操作。 ### 待验收 / 后续 用户可验收“粘贴多个蝦皮订单号 → 查询 → 筛选采购失败 → 勾选 → 原重试确认”。线上真实数据和真实设备采购没有测试;此次不执行真实重试。要用于线上需另行授权合并并成套发布Server/Web,不可只更新Web让旧后端忽略集合参数。 Gitea MCP 本会话未提供,工单和Wiki依规则使用REST API;未把凭据写入源码、文档或消息。工单保持open,不代表已获用户验收。
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: OPC/goauto#356