From 4edcdd733a6325b097482359117a8eebf24aa207 Mon Sep 17 00:00:00 2001 From: nikelaluo <2135665716@qq.com> Date: Mon, 20 Jul 2026 06:45:59 +0000 Subject: [PATCH] =?UTF-8?q?chore:=20=E6=9B=B4=E6=96=B0=E5=AD=90=E4=BB=93?= =?UTF-8?q?=E5=BA=93=E6=8C=87=E9=92=88=E5=92=8C=E9=A1=B9=E7=9B=AE=E8=AF=B4?= =?UTF-8?q?=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- update-client | 2 +- update-server | 2 +- 项目交付状态一页纸.md | 2 ++ 项目总览.md | 2 ++ 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/update-client b/update-client index fcd67e0..1c8ec37 160000 --- a/update-client +++ b/update-client @@ -1 +1 @@ -Subproject commit fcd67e08aa1f7c51614f6ecdabf67901ed71e64b +Subproject commit 1c8ec37d2b050e04ebdefec779dabe8f60edb8cf diff --git a/update-server b/update-server index bc44ce8..8016229 160000 --- a/update-server +++ b/update-server @@ -1 +1 @@ -Subproject commit bc44ce805313632a1a02364d6a118e4cfdb99d8a +Subproject commit 801622904c1ddc79bb291551732b1af5ee5a4b56 diff --git a/项目交付状态一页纸.md b/项目交付状态一页纸.md index 1d0acf6..2d9301f 100644 --- a/项目交付状态一页纸.md +++ b/项目交付状态一页纸.md @@ -31,12 +31,14 @@ update-server/ FastAPI 后端、Vue 管理后台、Docker 离线部署包 - 发布压缩包支持 zip、tar.gz、tgz、tar.bz2、tbz2、rar。 - 发布任务后台化:上传完成后,服务端后台继续处理,页面轮询任务状态。 - 崩溃报告上传、查询、文件下载和符号包上传接口。 +- Git 标签清单:管理后台策略可控制 Launcher 是否生成 `tags.txt`;服务端用 `GITEA_TOKEN` 拉取仓库 tags,客户端永远拿不到 token,只拿整理后的文本。 ## 当前要特别注意 - `keys/manifest_private_key.pem` 必须在真实服务端部署包里,但不能进 Git、不能给客户端、不能公开传播。 - 客户端 SDK 里的 `manifest_public_key.pem` 必须和服务端私钥配套。 - `config/server_config.json` 会编进客户端程序;改服务端地址后必须重新编译 Launcher / Updater / Bootstrap。 +- `GITEA_TOKEN` 只允许放在服务端 `.env`,不要写进客户端配置、不要给 Launcher、不要提交 Git。 - `app_config.json` 首次启动会导入当前用户配置区,非空配置导入后会清空为 `{}`。 - Manifest 缓存和设备身份等运行态文件默认在当前用户数据目录,不再默认写安装目录。 - 公网部署前仍建议改默认 token/password、配置 HTTPS、限制 MinIO 控制台暴露范围、收紧 CORS。 diff --git a/项目总览.md b/项目总览.md index 56309fb..1241816 100644 --- a/项目总览.md +++ b/项目总览.md @@ -71,6 +71,7 @@ MainApp.exe / MainApp 当前仓库内的示例业务程序 - 升级后健康检查 `--health-file`,业务程序启动成功后写入 `ok`。 - 升级失败回滚。 - 升级日志和下载日志上报服务端。 +- Git 标签清单生成:如果服务端策略开启,`Launcher` 会请求服务端生成 Git tags 文本,并写入 `Launcher` 同目录下的 `tags.txt`;客户端不会接触 Git token。 - Launcher / Updater / Bootstrap 已支持 Windows 和 Linux Qt 跨平台编译。 ## 三、客户端 SDK 交付状态 @@ -135,6 +136,7 @@ Linux 当前已完成 Qt 跨平台编译、Linux SDK 打包脚本、Linux 最终 - 后端工程结构:参考 FastAPI 官方 full-stack 模板、FastAPI Users 等成熟 FastAPI 后台项目的分层方式,拆成 `routes / services / repositories / schemas / core`。 - 管理后台前端:使用 GitHub 上的 `pure-admin-thin` / `vue-pure-admin` 生态,技术栈是 `Vue3 + Element Plus + TypeScript + Vite`。 - 存储组件:元数据使用 SQLite,版本文件和崩溃文件使用 MinIO 对象存储。 +- Git 标签清单:服务端支持通过 `GITEA_BASE_URL` / `GITEA_TOKEN` 访问 Gitea API,管理后台策略页可以控制 Launcher 是否生成 `tags.txt`,并在后台预览当前仓库 tags。`GITEA_TOKEN` 只保存在服务端 `.env`,不会返回给客户端。 - 当前说明:后端已经完成工程化分层,并已加入用户名/密码登录、Argon2 密码哈希、JWT access/refresh token、RBAC 权限检查和管理员用户管理页面。当前实现是轻量用户体系,后续仍可继续接入 FastAPI Users 等更完整的成熟认证组件。 - 自动化测试:使用 pytest,测试会创建隔离的临时数据库、临时 Manifest 私钥和临时存储目录,覆盖管理员登录/JWT、License/设备登记、更新检查、发布事务和崩溃报告核心流程。