feat(T-001): 初始化 Python 项目骨架

- 建立 src/(main.py 最小可运行入口)、tests/(unittest 冒烟测试)、requirements.txt。
- 骨架阶段测试用标准库 unittest,零第三方依赖;pytest 留待后续按需引入。
- 文档占位符验证命令替换为真实命令(pytest -> unittest discover)。
- 同步 tasks.md(T-001 DONE)、progress.md、current-state.md。

验证:compileall OK;unittest 2 passed;python src/main.py exit=0。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
chengma
2026-06-24 17:02:15 +08:00
co-authored by Claude Opus 4.8
parent 541dfab967
commit 2863bf2750
11 changed files with 106 additions and 35 deletions
+8 -7
View File
@@ -17,7 +17,7 @@
| 鉴权方式 | 无工具账号 | 已定 | 本地内部工具;拼多多账号由真机 App 登录态承担。 |
| 后端服务 | 无独立后端 | 已定 | 单机 GUI 内直接调用本地模块。 |
| 日志 | Python `logging` | 已定 | 保存执行日志,便于排查。 |
| 测试 | `pytest` | 待定 | 建议用于 Excel 解析、状态机、SKU 匹配等纯逻辑测试。 |
| 测试 | 标准库 `unittest`(当前);`pytest` 后续按需 | 已定(骨架阶段) | 骨架阶段零第三方依赖,用 `unittest`;需参数化/夹具等能力时再按依赖纪律引入 `pytest`。 |
| 打包 | PyInstaller | 待定 | MVP 稳定后打包为 Windows 可执行程序。 |
## 二、决策记录与演进
@@ -27,10 +27,11 @@
- 当前选择 **Excel 输入输出**,因为运营后期可直接整理历史文档,MVP 不需要数据库。
- 当前不引入 **Web 后台 / 多设备调度 / 数据库**,避免第一版复杂度过高。
- OCR、图像识别、Appium、SQLite 作为后续选项,仅在真实页面验证需要时引入。
- T-001 骨架阶段测试先用**标准库 `unittest`**,不引入 `pytest`:骨架只需冒烟测试,且保持零第三方依赖、不依赖网络即可验证;待出现参数化、夹具、丰富断言等需求时再按依赖纪律引入 `pytest`。
## 三、构建与运行命令
当前代码尚未初始化。以下为计划命令,初始化后必须改成真实命令。
骨架已初始化(T-001)。以下为真实命令;打包命令待 T-402 落地后确认。
| 用途 | 命令 |
| --- | --- |
@@ -38,9 +39,9 @@
| 激活虚拟环境 | `.venv\Scripts\Activate.ps1` |
| 安装依赖 | `pip install -r requirements.txt` |
| 本地运行 | `python src/main.py` |
| 测试 | `python -m pytest` |
| 测试 | `python -m unittest discover -s tests -t .` |
| 语法检查 | `python -m compileall src` |
| 打包 | `pyinstaller app.spec` |
| 打包(待 T-402) | `pyinstaller app.spec` |
Windows PowerShell:
@@ -49,7 +50,7 @@ python -m venv .venv
.venv\Scripts\Activate.ps1
pip install -r requirements.txt
python src/main.py
python -m pytest
python -m unittest discover -s tests -t .
```
## 四、设备与环境要求
@@ -59,7 +60,7 @@ python -m pytest
- ADB 可用,电脑能看到设备。
- 真机已安装拼多多 App,并已登录可下单账号。
- 真机网络稳定,屏幕常亮或执行期间不锁屏。
- 支付默认由运营人工确认;开启受控自动支付时,必须由配置、金额上限和二次校验控制。
- 支付默认由运营人工确认;开启受控自动支付时,必须由配置、金额上限和二次校验控制。
- 验证码、风控、人脸、短信等安全校验节点由运营人工处理。
## 五、依赖纪律
@@ -69,4 +70,4 @@ python -m pytest
- 不允许同一职责并存两套框架或两套状态管理方案。
- 不允许为了绕过平台安全校验而引入逆向、Hook、抓包改包等依赖。