现有发布文件使用连字符和 Unicode 破折号,人工下载名称不够直观,在线清单名称也不适合作为长期稳定入口。需要统一产物命名,同时保留固定“最新清单”和版本化归档清单,保证旧 Client 配置能迁移并持续发现新版。
CMAutoBuy_<版本>.zip
自动采集采购工具_<版本>.zip
自动采集采购工具.zip
autobuy_manifest.json
autobuy_manifest_<版本>.json
update.file
portable.file
0.1.0
Launcher.exe + app/ + data/
client/packaging/build.ps1
client/build_tools/release_manifest.py
client/src/update_service.py
CMAutoBuy_0.1.0.zip
app/
自动采集采购工具_0.1.0.zip
autobuy_manifest_0.1.0.json
从 client/ 执行:
client/
$env:QT_QPA_PLATFORM="offscreen" C:/Python310/python.exe -m pytest test -q --disable-warnings Remove-Item Env:QT_QPA_PLATFORM .\build_client.bat
检查 client/release/ 的文件名、两个清单内容、两个便携 ZIP 哈希和 Manifest 内的版本化 ZIP 哈希;最后离屏启动版本化发布目录。
client/release/
实现提交:240626f
240626f
完成内容:
0.2.2
验证结果:
build_client.bat
data/
Launcher.exe
未验证:尚未把 0.2.2 文件上传真实发布服务器,也未从旧版 Client 完成一次真实在线升级。服务器切换时应先上传新 ZIP 和 autobuy_manifest.json,并暂时保留旧清单别名供旧 Client 使用。
归档已完成:
docs/task/102-client发布产物命名规范.md
870c95a
工单保持打开,等待用户验收;验收通过后再关闭并更新父工单 #1。
用户要求 Manifest 的便携包字段不要引用带版本号文件,改为:
CMAutoBuy_0.2.2.zip
版本化便携包 自动采集采购工具_0.2.2.zip 仍保留用于归档,两份便携包保持字节一致。本调整不改变更新下载、安全校验、应用替换或采购行为。验收项重新置为待验证。
自动采集采购工具_0.2.2.zip
用户确认本任务版本保持为 0.1.0,不升级到 0.2.2。验收产物相应调整为:
Manifest 的 portable.file 固定为 自动采集采购工具.zip。
实现提交:4dbe519 归档更新提交:ba6710a
4dbe519
ba6710a
最终结果:
验证:
归档:docs/task/102-client发布产物命名规范.md
工单保持打开,等待用户最终验收。
用户已于 2026-08-11 明确验收通过。
eca9289
No dependencies set.
The note is not visible to the blocked user.
基本信息
要解决什么
现有发布文件使用连字符和 Unicode 破折号,人工下载名称不够直观,在线清单名称也不适合作为长期稳定入口。需要统一产物命名,同时保留固定“最新清单”和版本化归档清单,保证旧 Client 配置能迁移并持续发现新版。
做什么 / 不做什么
CMAutoBuy_<版本>.zip。自动采集采购工具_<版本>.zip。自动采集采购工具.zip,方便人工下载。autobuy_manifest.json。autobuy_manifest_<版本>.json。update.file指向版本化更新包,portable.file固定指向自动采集采购工具.zip;文件名、大小和 SHA256 与实际文件一致。autobuy_manifest.json;保存过旧默认地址的本地设置自动迁移到新地址。0.1.0。Launcher.exe + app/ + data/结构。怎么做
client/packaging/build.ps1的 ZIP 与清单输出名称;版本化便携包先生成,固定别名使用复制,保证字节一致;Manifest 使用固定便携包别名。client/build_tools/release_manifest.py的固定清单常量,并增加版本化清单命名函数。client/src/update_service.py的默认清单 URL,保留旧默认 URL 常量供一次性配置迁移。验收标准
CMAutoBuy_0.1.0.zip,内部只包含app/。自动采集采购工具_0.1.0.zip和自动采集采购工具.zip,两者字节和 SHA256 相同。autobuy_manifest.json和autobuy_manifest_0.1.0.json,两者内容相同。update.file为CMAutoBuy_0.1.0.zip,portable.file为自动采集采购工具.zip,大小和 SHA256 与实际 ZIP 一致。autobuy_manifest.json,而不是版本化清单。怎么验证
从
client/执行:检查
client/release/的文件名、两个清单内容、两个便携 ZIP 哈希和 Manifest 内的版本化 ZIP 哈希;最后离屏启动版本化发布目录。风险和回退
实施完成,待用户验收
实现提交:
240626f完成内容:
0.2.2,生成固定清单、版本化清单、版本化更新包及中英文便携包别名。autobuy_manifest.json,仅对完全匹配的旧默认地址执行迁移,用户自定义地址保持不变。验证结果:
build_client.bat成功生成 0.2.2 全部约定产物。app/,不包含data/。Launcher.exe离屏启动成功,运行程序版本为0.2.2。未验证:尚未把 0.2.2 文件上传真实发布服务器,也未从旧版 Client 完成一次真实在线升级。服务器切换时应先上传新 ZIP 和
autobuy_manifest.json,并暂时保留旧清单别名供旧 Client 使用。归档已完成:
docs/task/102-client发布产物命名规范.md870c95a工单保持打开,等待用户验收;验收通过后再关闭并更新父工单 #1。
验收反馈调整
用户要求 Manifest 的便携包字段不要引用带版本号文件,改为:
update.file:仍为CMAutoBuy_0.2.2.zipportable.file:改为自动采集采购工具.zip版本化便携包
自动采集采购工具_0.2.2.zip仍保留用于归档,两份便携包保持字节一致。本调整不改变更新下载、安全校验、应用替换或采购行为。验收项重新置为待验证。版本范围确认
用户确认本任务版本保持为
0.1.0,不升级到 0.2.2。验收产物相应调整为:CMAutoBuy_0.1.0.zip自动采集采购工具_0.1.0.zip自动采集采购工具.zipautobuy_manifest.jsonautobuy_manifest_0.1.0.jsonManifest 的
portable.file固定为自动采集采购工具.zip。验收反馈已实现
实现提交:
4dbe519归档更新提交:
ba6710a最终结果:
0.1.0。update.file为CMAutoBuy_0.1.0.zip。portable.file为自动采集采购工具.zip,不带版本号。自动采集采购工具_0.1.0.zip仍作为归档文件保留,且与固定便携包字节一致。验证:
build_client.bat实际构建成功。app/。归档:
docs/task/102-client发布产物命名规范.md工单保持打开,等待用户最终验收。
用户已于 2026-08-11 明确验收通过。
eca9289