feat(client): 迁移Hub更新客户端实现

This commit is contained in:
2026-09-08 17:08:58 +08:00
parent 0c500024e6
commit 8dfef45bc4
34 changed files with 2032 additions and 2903 deletions
+17 -43
View File
@@ -1,59 +1,33 @@
客户端脚本说明
==============
SimCAE Hub 客户端脚本说明
==========================
本目录保存 update-client 的辅助脚本。项目根目录只保留源码、CMake 入口、Docs 和配置模板,脚本统一放在这里。
本目录保存 Qt/C++ 客户端更新链路的辅助脚本。客户端仍然由
Launcher、Updater、Bootstrap 和业务主程序组成,服务端接口使用当前
SimCAE Hub 的 Go API。
脚本列表:
1. package-sdk.ps1
在 Windows 上生成给其他软件接入用的 UpdateClientSDK 包。
注意:SDK 包只面向运行接入,不包含 config/server_config.json 和 config/server_config.qrc。
服务端地址必须在打包前写入源码目录 config/server_config.json,并重新编译进 Launcher/Updater。
在 Windows 上生成给业务软件接入用的客户端更新运行时包。
2. package-client.ps1
Windows 上生成某个具体产品的最终客户端发布包
Windows 本地调试用的客户包脚本,需要手工提供 app_config.json
新流程建议上传完整软件 ZIP 到 SimCAE Hub,由服务端生成最终配置。
3. install-sdk.ps1
将 SDK 运行时复制到业务软件 Release 目录。
把客户端更新运行时复制到业务软件 Release 目录。
4. package-sdk.sh
在 Linux 上生成给其他软件接入用的 UpdateClientSDK 包,输出 tar.gz。
在 Linux 上生成客户端更新运行时包,输出 tar.gz。
5. package-client.sh
Linux 上生成某个具体产品的最终客户端发布包,输出 tar.gz
Linux 本地调试用的客户包脚本,需要手工提供 app_config.json
推荐在 update-client 根目录执行
SDK 打包命令、两种打包模式、参数含义和输出位置,统一看
```powershell
.\scripts\package-sdk.ps1 `
-SourceDir .\out\bin\Release `
-OutputDir .\dist\UpdateClientSDK `
-ZipFile .\dist\UpdateClientSDK.zip `
-SdkVersion 0.1.0
```
../Docs/01-客户端接入打包部署指南.md
```powershell
.\scripts\package-client.ps1 `
-SourceDir .\out\bin\Release `
-ConfigFile .\config\app_config.json `
-OutputDir .\dist\UpdateClient `
-ZipFile .\dist\UpdateClient.zip
```
Linux 示例:
```bash
bash ./scripts/package-sdk.sh \
--source-dir ./out/linux/bin \
--output-dir ./dist/UpdateClientSDK-linux \
--archive ./dist/UpdateClientSDK-linux.tar.gz \
--sdk-version 0.1.0
```
```bash
bash ./scripts/package-client.sh \
--source-dir /path/to/SimCAE \
--config-file /path/to/SimCAE/bin/config/app_config.json \
--output-dir ./dist/UpdateClient-linux \
--archive ./dist/UpdateClient-linux.tar.gz
```
生成 SDK 后,把 Launcher、Updater、Bootstrap 和必要运行库放进业务软件
根目录或 bin 目录,再把完整软件目录压缩上传到 SimCAE Hub 管理后台的
发布包页面。服务端会生成 config/app_config.json,并在启用 Manifest 签名
时生成 config/manifest_public_key.pem。