tcjs/docs/发布与更新.md

2.3 KiB
Raw Blame History

发布与更新(轻量版)

应用内「检查更新」按钮(顶栏右上角)走轻量版本检查:查询 Gitea 最新 release与当前版本号比较有新版则弹窗显示发布说明并提供「前往下载」。不做签名校验、不在应用内静默安装——用户下载安装包后手动运行覆盖安装。

工作原理

  • 检查接口(硬编码于 src-tauri/src/main.rsGITEA_LATEST_RELEASE_API http://gitea.xxhhcty.xyz:8080/api/v1/repos/zcdsj/tcjs/releases/latest
  • 当前版本取自 src-tauri/tauri.conf.jsonversionapp.package_info().version)。
  • 比较规则release 的 tag_name(去掉前导 v/V)按点分十进制与当前版本比大小。
  • 「前往下载」打开 release 资产里第一个 .exe/.msi,没有资产则打开 release 页面。

发布一个新版本

  1. 改版本号:编辑 src-tauri/tauri.conf.jsonversion(如 0.1.00.2.0)。建议同步 package.jsonsrc-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。
    • Tagv0.2.0(与第 1 步版本一致;检查时会去掉前导 v)。
    • 把第 2 步的 .exe(和/或 .msi)作为附件上传。
    • release 正文body会作为「发布说明」显示在更新弹窗里写更新内容即可。
    • 发布(标记为最新 release
  4. 旧版本用户点「检查更新」→ 发现 v0.2.0 比本地新 → 弹窗 → 「前往下载」→ 下载安装包覆盖安装。

备注 / 后续可选

  • HTTP 站点:当前 ureq 关闭了 TLSGitea 走 http。若 Gitea 迁到 https需要给 src-tauri/Cargo.tomlureq 打开 tlsrustls特性。
  • 改成静默自动更新:若以后要"应用内下载+安装+重启",可切换到官方 tauri-plugin-updater(需生成签名密钥、构建时签名、每次发布额外上传 latest.json.sig)。本版刻意不做以保持轻量。
  • API 私有仓库若仓库非公开Gitea API 需要 token当前实现按公开仓库匿名访问。