Files
cmroubao/docs/tasks/T-004.md
T

72 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
id: T-004
title: 导入本机蝦皮订单验证样本
phase: 0
deps: [T-001]
status: TODO
created: 2026-07-25
context_ref: null
work_branch: null
write_paths:
- docs/tasks/T-004.md
- android-buyer/tools/**
- android-buyer/app/src/debug/**
- android-buyer/app/src/test/**
- .gitignore
- docs/03-tech-stack.md
- docs/04-architecture.md
- docs/05-coding-rules.md
- docs/current-state.md
---
## 问题 / 背景
第一层技术探针需要使用用户已有的蝦皮订单资料,而不是在 Android 代码里硬编码虚构
需求。本机目录中一份文本和一份参考图以蝦皮订单号同名;文本包含自己的店铺名、
待采集商品标题、SKU 和数量。Android 设备不能直接读取 Windows 绝对路径,需要一个
Debug/测试专用导入边界。
首份同名样例已在 2026-07-25 完成非业务内容核实:文本是可按 UTF-8 解码的无 BOM
四行格式,标签为 `店铺名:`、`商品标题:`、`SKU:`、`数量:`;参考图是可解码的
JPEG。正式私有目录、额外图片类型和一单多 SKU 规则仍未固定。
## 关联需求与交互
- 功能:为 F-004 提供第一层原始输入,不改变正式 F-001 创建任务流程。
- 用户故事:US-004。
- 交互:无生产 UI;导入失败通过开发命令和测试报告返回。
- 架构/API:`04-architecture.md` 3.1;不调用正式后台 API。
## 方案
1. 将当前根目录样例迁移或配置到明确的私有样本目录,保持 Git 忽略。
2. 以已核实的 UTF-8 四行标签和 JPEG 为首版契约;一单多 SKU 不明确前拒绝导入。
3. 实现开发机导入工具,按文件主名精确配对文本和唯一参考图。
4. 校验订单号、店铺名、标题、SKU、正整数数量、图片存在且可解码。
5. 生成与未来 HTTP `TaskSource` 同构的 `ProbeTask`,输出到被 Git 忽略的 `.local/`
目录,供 Debug 构建和测试装载。
6. 为有效样本、缺图、多图、重复订单号、未知编码/格式、非法数量和敏感日志编写测试。
## 验收要点
- [ ] 一组合法脱敏文本和参考图能稳定生成一个 `ProbeTask`。
- [ ] `source_order_no` 来自文件主名;标题、SKU 和数量与原文完全一致。
- [ ] 缺失或匹配到多张参考图、必填字段缺失、数量非法时导入明确失败。
- [ ] Android workflow 通过 `TaskSource` 消费结果,不依赖 Windows 路径或导入器类型。
- [ ] 真实订单文件、图片、生成物和本机绝对路径均未进入 Git。
- [ ] 日志不包含完整订单号、店铺名或原图绝对路径。
- [ ] 普通自动化测试不调用真实付费 VLM。
## 边界
- 不实现 Go-Gin、SQLite、任务领取、鉴权或管理 Web。
- 不实现拼多多自动化和 VLM 供应商调用。
- 不把模糊文本解析结果当成成功,不静默选择重名图片。
- 不处理未经确认的一单多 SKU 格式。
## 执行记录
尚未开始,等待 T-001 完成。前置检查已确认一组同名文本/JPEG 存在,文本字段结构和
图片解码有效;未记录或提交实际订单号、店铺名、商品内容及图片。实现时仍需确定正式
私有目录和一单多 SKU 规则。