4.4 KiB
4.4 KiB
id, title, phase, deps, status, created
| id | title | phase | deps | status | created | |||
|---|---|---|---|---|---|---|---|---|
| T-558 | release 发布目录与 zip 使用中文品牌名 | 8 |
|
DONE | 2026-07-08 |
问题 / 背景
T-540 已经把版本号收口到 app/version.py,并让构建脚本统一生成 release\cmshopee-<APP_VERSION>\ 和 release\cmshopee-<APP_VERSION>-portable.zip。这对开发和内部识别足够清晰,但交付给普通用户时仍暴露英文技术代号 cmshopee,不如产品品牌「蝦皮圈優化助手」直观。
正式 release 层应该面向用户展示品牌名,例如当前版本为 0.1.0 时,生成:
release\蝦皮圈優化助手0.1.0\release\蝦皮圈優化助手0.1.0.zip
从全栈工程角度看,这只应影响发布目录名和压缩包文件名。PyInstaller 中间产物 dist\cmshopee\、可执行文件 cmshopee.exe、cmshopee.spec、cmshopee.db、配置键和内部标识符仍保持英文技术代号,避免影响启动、数据迁移、更新覆盖和现有测试。
方案
-
构建脚本 release 命名
scripts\build_exe.ps1继续读取APP_NAME、APP_CODE_NAME、APP_VERSION。dist\cmshopee\仍作为 PyInstaller 中间产物。- 面向用户的
$releaseName改为"$appName$appVersion",不加v、不加连字符、不加portable。 $releaseDir改为release\<APP_NAME><APP_VERSION>\。$portableZip改为release\<APP_NAME><APP_VERSION>.zip。
-
文档同步
- 更新
docs/packaging.md,明确正式分发入口为release\蝦皮圈優化助手<APP_VERSION>.zip。 - 更新
docs/03-tech-stack.md和相关排障文字,避免继续把旧英文 release 名作为正式发包名。 - 保留说明:
dist\cmshopee\cmshopee.exe仍是程序内部/中间产物名,用户无需直接理解。
- 更新
-
测试同步
- 更新
tests/test_packaging.py,断言构建脚本使用$appName$appVersion组装 release 名,zip 为$releaseName.zip。 - 保留对
py -3.10、version.txt、README.txt、_internal、用户数据排除的测试。
- 更新
验收要点
- 运行
scripts\build_exe.ps1后,正式 release 目录命名为release\蝦皮圈優化助手<APP_VERSION>\。 - zip 文件命名为
release\蝦皮圈優化助手<APP_VERSION>.zip。 dist\cmshopee\cmshopee.exe和_internal\结构不变。- 发布目录内仍包含
cmshopee.exe、_internal\、version.txt、README.txt。 - 发布目录和 zip 仍不得包含
data\、DB、配置、图片、日志、Chrome 登录态或运营 Excel。 python -m ruff check app tests main.py、py -3.10 -m compileall app main.py、py -3.10 -m unittest discover -s tests、git diff --check通过。
边界(不改什么)
不改 APP_NAME、APP_CODE_NAME、APP_VERSION 的含义;不改 cmshopee.exe、cmshopee.spec、cmshopee.db、data\ 目录、配置键、DB schema、启动版本检查接口、自动更新逻辑、AI/Excel/Shopee/CDP 业务流程。
执行记录
- 2026-07-08:
scripts\build_exe.ps1的正式 release 命名改为$appName$appVersion,生成目录release\蝦皮圈優化助手<APP_VERSION>\,zip 改为release\蝦皮圈優化助手<APP_VERSION>.zip;dist\cmshopee\cmshopee.exe与_internal\onedir 中间产物保持不变。 - 2026-07-08:同步更新
docs/packaging.md、docs/03-tech-stack.md、docs/troubleshooting.md,明确正式发包名使用中文品牌名,用户更新仍覆盖程序文件和_internal\并保留data\。 - 2026-07-08:更新
tests/test_packaging.py,断言构建脚本使用$appName$appVersion和$releaseName.zip,并防止旧的$appCodeName-$appVersion/-portable.zip命名回归。 - 2026-07-08:实跑打包时发现 Windows
Compress-Archive可能在 PyInstaller 刚复制_internal\base_library.zip后遇到短暂文件占用;已为压缩发布包步骤增加 5 次短重试,避免最后一步偶发失败。 - 验证通过:
python -m ruff check app tests main.py、py -3.10 -m compileall app main.py、py -3.10 -m unittest discover -s tests、powershell -ExecutionPolicy Bypass -File scripts\build_exe.ps1、git diff --check。 - 打包实测输出:
release\蝦皮圈優化助手0.1.1\和release\蝦皮圈優化助手0.1.1.zip;发布目录包含_internal、cmshopee.exe、README.txt、version.txt,未发现data、配置、DB、图片、日志或登录态目录。