feat(client): initialize procurement tool skeleton

This commit is contained in:
QiuSW
2026-08-03 18:32:00 +08:00
parent 2ab5baa776
commit bcec012c8b
18 changed files with 516 additions and 31 deletions
+17 -7
View File
@@ -59,15 +59,25 @@
## 五、构建与运行命令
> 采购服务命令已由 T-001 实际验证;采购工具命令由 T-002 完成后替换剩余占位项。
> 采购服务命令已由 T-001 实际验证。采购工具以下离线测试、编译和 wheel 元数据命令已由
> Python 3.12 实际验证;桌面 GUI 和真机流程不属于 T-002 验收范围。
| 用途 | 采购服务(`admin/`) | 采购工具(`client/`) |
| --- | --- | --- |
| 安装依赖 | `go mod download` | `python -m venv .venv` + `pip install -r requirements.txt` |
| 本地开发 | `go run ./cmd/server` | 【T-002 填写】 |
| 构建 | `go build ./...` | 【T-002 填写】 |
| 测试 | `go test ./...` | `python -m unittest discover -s tests -t .` |
| 静态检查 | `go vet ./...` | `python -m compileall -q src tests` |
| 安装依赖 | `go mod download` | `py -3.12 -m venv .venv` 后运行 `.\.venv\Scripts\python.exe -m pip install -e .` |
| 本地开发 | `go run ./cmd/server` | `.\.venv\Scripts\python.exe -m cmbuyer_client` |
| 构建 | `go build ./...` | `py -3.12 -m pip wheel --no-deps . --wheel-dir <输出目录>`,再运行 `py -3.12 scripts/verify_wheel_metadata.py <wheel 路径>` |
| 测试 | `go test ./...` | `py -3.12 -m unittest discover -s tests -t .` |
| 静态检查 | `go vet ./...` | `py -3.12 -m compileall -q src tests scripts` |
采购工具的运行时依赖只维护在 `client/requirements.txt`。`client/pyproject.toml` 通过 setuptools
动态读取该文件生成 wheel 的 `Requires-Dist`,避免两份依赖列表漂移;
`scripts/verify_wheel_metadata.py` 会验证生成 wheel 已声明全部这些依赖。
当前 Windows 默认 `python` 指向 Python 3.10.11,不满足采购工具的 Python 3.11+ 下限,
不得把未加版本选择器的 `python` 当作采购工具的已验证命令。T-003 负责统一入口与解释器选择;
在此之前使用 `py -3.12` 或 Python 3.11+ 虚拟环境。Python 3.12 虚拟环境中的完整
`pip install -e .` 已验证通过;桌面 GUI 与真机流程不属于 T-002 验收范围。
Windows PowerShell 差异:
@@ -80,7 +90,7 @@ $env:GOTOOLCHAIN = "local"
| 层级 | 触发条件 | 命令 / 操作 | 通过证据 |
| --- | --- | --- | --- |
| 任务相关验证 | 每个任务必跑 | 改 `admin/` 跑 `go test ./...` + `go vet ./...`;改 `client/` 跑 `python -m unittest discover -s tests -t .` + `python -m compileall -q src tests` | 退出码 0、测试数 |
| 任务相关验证 | 每个任务必跑 | 改 `admin/` 跑 `go test ./...` + `go vet ./...`;改 `client/` 跑 `py -3.12 -m unittest discover -s tests -t .` + `py -3.12 -m compileall -q src tests scripts` | 退出码 0、测试数 |
| 完整门禁 | 发布前;修改 HTTP 契约、数据库 schema、依赖或构建配置时;跨端改动时 | 两端全部测试 + 静态检查 + 两端构建 | 退出码 0、测试数、产物路径 |
| 人工 / 设备验收 | 任何涉及真机页面判据、下单动作或付款路径的任务 | 连接真机执行,记录设备型号、Android 版本、拼多多版本、goods_id、截图与页面 XML 路径 | 人工结论 + 证据文件路径 |