4.4 KiB
4.4 KiB
更新功能使用说明
功能概述
CS工具箱 现已支持自动更新检查、下载和安装功能。系统支持两种更新源:
- 自定义更新服务器(优先使用)
- 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. 使用更新功能
- 打开应用
- 进入 偏好设置 → 通用设置
- 在"更新检查"部分点击"检查更新"按钮
- 如果有新版本,系统会显示更新信息
- 点击"下载更新"开始下载
- 下载完成后,点击"立即安装"进行安装
功能特性
- ✅ 自动检测新版本
- ✅ 支持自定义更新服务器
- ✅ 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
设置步骤
- 在 GitHub 上创建仓库(如果还没有)
- 创建 Release,标签格式:
v0.0.7或0.0.7 - 上传安装包到 Release 资源
- 在
.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 函数。
故障排查
检查更新失败
- 确认网络连接正常
- 检查配置是否正确
- 确认
.env.local文件存在 - 确认环境变量名称正确
- 确认 URL 格式正确
- 确认
- 查看控制台日志
- 打开开发者工具(F12)
- 查看 Console 标签页的错误信息
下载失败
- 检查下载链接是否有效
- 在浏览器中直接访问下载链接
- 确认文件存在且可访问
- 检查磁盘空间
- 确保有足够的磁盘空间
- 检查文件权限
- 确保应用有写入权限
安装失败
- Windows
- 确认有管理员权限
- 检查防病毒软件是否阻止安装
- macOS
- 确认在"系统偏好设置"中允许安装
- 可能需要手动打开 DMG 文件
- Linux
- 确认有 sudo 权限
- 检查包管理器是否正确安装
测试
测试自定义服务器
- 启动本地服务器
- 配置
NEXT_PUBLIC_UPDATE_ENDPOINT=http://localhost:3000/api/update - 在应用中点击"检查更新"
测试 GitHub Release
- 创建一个测试 Release
- 配置
NEXT_PUBLIC_GITHUB_REPO=your-username/your-repo - 确保 Release 版本号高于当前版本
- 在应用中点击"检查更新"
注意事项
- 版本号格式:建议使用语义化版本(如
0.0.7) - HTTPS:生产环境建议使用 HTTPS
- 超时设置:检查更新超时 10 秒,下载超时 5 分钟
- 自动重启:安装完成后会自动重启应用
相关文档
- UPDATE_API.md - 详细的 API 接口文档
- Tauri 官方文档 - Tauri 框架文档