Files
cstb-next/UPDATE_USAGE.md

4.4 KiB
Raw Permalink Blame History

更新功能使用说明

功能概述

CS工具箱 现已支持自动更新检查、下载和安装功能。系统支持两种更新源:

  1. 自定义更新服务器(优先使用)
  2. GitHub Release(备用方案)

快速开始

1. 配置更新源

在项目根目录创建 .env.local 文件(如果不存在):

# 自定义更新服务器 URL可选
NEXT_PUBLIC_UPDATE_ENDPOINT=https://your-server.com/api/update/check

# GitHub 仓库格式owner/repo可选
NEXT_PUBLIC_GITHUB_REPO=your-username/cstb-next

2. 使用更新功能

  1. 打开应用
  2. 进入 偏好设置通用设置
  3. 在"更新检查"部分点击"检查更新"按钮
  4. 如果有新版本,系统会显示更新信息
  5. 点击"下载更新"开始下载
  6. 下载完成后,点击"立即安装"进行安装

功能特性

  • 自动检测新版本
  • 支持自定义更新服务器
  • GitHub Release 作为备用方案
  • 跨平台支持Windows、macOS、Linux
  • 下载进度显示
  • 更新说明显示(支持 Markdown
  • 自动重启应用

自定义更新服务器

接口要求

你的服务器需要提供一个 GET 接口,返回 JSON 格式的更新信息。

详细格式请参考 UPDATE_API.md

简单示例

{
  "version": "0.0.7",
  "notes": "修复了已知问题",
  "pub_date": "2025-01-15T10:00:00Z",
  "download_url": "https://your-server.com/releases/v0.0.7/cstb-0.0.7.exe"
}

GitHub Release

设置步骤

  1. 在 GitHub 上创建仓库(如果还没有)
  2. 创建 Release标签格式v0.0.70.0.7
  3. 上传安装包到 Release 资源
  4. .env.local 中配置仓库名称:
NEXT_PUBLIC_GITHUB_REPO=your-username/cstb-next

文件命名建议

  • Windows: cstb-0.0.7-windows-x86_64.exe
  • macOS Intel: cstb-0.0.7-darwin-x86_64.dmg
  • macOS Apple Silicon: cstb-0.0.7-darwin-aarch64.dmg
  • Linux: cstb-0.0.7-linux-x86_64.AppImage

更新流程

用户点击"检查更新"
    ↓
检查自定义服务器
    ↓ (失败)
检查 GitHub Release
    ↓
比较版本号
    ↓ (有新版本)
显示更新对话框
    ↓
用户确认下载
    ↓
下载安装包
    ↓
安装并重启

开发说明

Rust 端

更新相关的代码位于:

  • src-tauri/src/tool/updater.rs - 更新逻辑实现
  • src-tauri/src/cmds.rs - Tauri 命令接口
  • src-tauri/src/main.rs - 命令注册

前端

更新相关的代码位于:

  • src/components/cstb/UpdateChecker.tsx - 更新检查组件
  • src/app/(main)/preference/general/page.tsx - 设置页面

添加新的更新源

如果你想添加新的更新源(如 GitLab、自建服务器等可以修改 src-tauri/src/tool/updater.rs 中的 check_update 函数。

故障排查

检查更新失败

  1. 确认网络连接正常
  2. 检查配置是否正确
    • 确认 .env.local 文件存在
    • 确认环境变量名称正确
    • 确认 URL 格式正确
  3. 查看控制台日志
    • 打开开发者工具F12
    • 查看 Console 标签页的错误信息

下载失败

  1. 检查下载链接是否有效
    • 在浏览器中直接访问下载链接
    • 确认文件存在且可访问
  2. 检查磁盘空间
    • 确保有足够的磁盘空间
  3. 检查文件权限
    • 确保应用有写入权限

安装失败

  1. Windows
    • 确认有管理员权限
    • 检查防病毒软件是否阻止安装
  2. macOS
    • 确认在"系统偏好设置"中允许安装
    • 可能需要手动打开 DMG 文件
  3. Linux
    • 确认有 sudo 权限
    • 检查包管理器是否正确安装

测试

测试自定义服务器

  1. 启动本地服务器
  2. 配置 NEXT_PUBLIC_UPDATE_ENDPOINT=http://localhost:3000/api/update
  3. 在应用中点击"检查更新"

测试 GitHub Release

  1. 创建一个测试 Release
  2. 配置 NEXT_PUBLIC_GITHUB_REPO=your-username/your-repo
  3. 确保 Release 版本号高于当前版本
  4. 在应用中点击"检查更新"

注意事项

  1. 版本号格式:建议使用语义化版本(如 0.0.7
  2. HTTPS:生产环境建议使用 HTTPS
  3. 超时设置:检查更新超时 10 秒,下载超时 5 分钟
  4. 自动重启:安装完成后会自动重启应用

相关文档