tcjs/docs/发布与更新.md

33 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 发布与更新(轻量版)
应用内「检查更新」按钮(顶栏右上角)走**轻量版本检查**:查询 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 关闭了 TLSGitea 走 http。若 Gitea 迁到 https需要给 `src-tauri/Cargo.toml``ureq` 打开 `tls`rustls特性。
- **改成静默自动更新**:若以后要"应用内下载+安装+重启",可切换到官方 `tauri-plugin-updater`(需生成签名密钥、构建时签名、每次发布额外上传 `latest.json``.sig`)。本版刻意不做以保持轻量。
- **API 私有仓库**若仓库非公开Gitea API 需要 token当前实现按公开仓库匿名访问。