# 发布与更新(轻量版) 应用内「检查更新」按钮(顶栏右上角)走**轻量版本检查**:查询 Gitea 最新 release,与当前版本号比较,有新版则弹窗显示发布说明并提供「前往下载」。不做签名校验、不在应用内静默安装——用户下载安装包后手动运行覆盖安装。 ## 工作原理 - 检查接口(硬编码于 `src-tauri/src/main.rs` 的 `GITEA_LATEST_RELEASE_API`): `http://gitea.xxhhcty.xyz:8080/api/v1/repos/zcdsj/tcjs/releases/latest` - 当前版本取自 `src-tauri/tauri.conf.json` 的 `version`(`app.package_info().version`)。 - 比较规则:release 的 `tag_name`(去掉前导 `v`/`V`)按点分十进制与当前版本比大小。 - 「前往下载」打开 release 资产里第一个 `.exe`/`.msi`,没有资产则打开 release 页面。 ## 发布一个新版本 1. **改版本号**:编辑 `src-tauri/tauri.conf.json` 的 `version`(如 `0.1.0` → `0.2.0`)。建议同步 `package.json`、`src-tauri/Cargo.toml`,保持一致。 2. **构建安装包**:`npm run tauri:build` 产物在 `src-tauri/target/release/bundle/`: - `nsis/*.exe`(推荐发布这个) - `msi/*.msi` 3. **在 Gitea 建 release**: - 仓库 `zcdsj/tcjs` → Releases → New Release。 - **Tag** 用 `v0.2.0`(与第 1 步版本一致;检查时会去掉前导 `v`)。 - 把第 2 步的 `.exe`(和/或 `.msi`)作为**附件**上传。 - release 正文(body)会作为「发布说明」显示在更新弹窗里,写更新内容即可。 - 发布(标记为最新 release)。 4. 旧版本用户点「检查更新」→ 发现 `v0.2.0` 比本地新 → 弹窗 → 「前往下载」→ 下载安装包覆盖安装。 ## 备注 / 后续可选 - **HTTP 站点**:当前 ureq 关闭了 TLS(Gitea 走 http)。若 Gitea 迁到 https,需要给 `src-tauri/Cargo.toml` 的 `ureq` 打开 `tls`(rustls)特性。 - **改成静默自动更新**:若以后要"应用内下载+安装+重启",可切换到官方 `tauri-plugin-updater`(需生成签名密钥、构建时签名、每次发布额外上传 `latest.json` 与 `.sig`)。本版刻意不做以保持轻量。 - **API 私有仓库**:若仓库非公开,Gitea API 需要 token;当前实现按公开仓库匿名访问。