Files
GithubStarsManager/UPDATE_FEATURE_GUIDE.md
AmintaCCCP 682695f1d1 0.1.3
2025-08-03 16:49:39 +08:00

3.8 KiB
Raw Permalink Blame History

检查更新功能实现指南

功能概述

已成功为 GitHub Stars Manager 添加了完整的检查更新功能,包括:

  1. 版本信息管理 - 使用XML格式存储版本信息
  2. 自动更新检查 - 应用启动时自动检查更新
  3. 手动更新检查 - 设置页面中的检查更新按钮
  4. 更新提示界面 - 美观的更新对话框
  5. 版本管理工具 - 自动化版本更新脚本

文件结构

├── versions/
│   ├── version-info.xml      # 版本信息XML文件
│   └── README.md            # 版本管理说明
├── src/
│   ├── services/
│   │   └── updateService.ts  # 更新检查服务
│   └── components/
│       └── UpdateChecker.tsx # 更新检查组件
├── scripts/
│   └── update-version.js     # 版本更新脚本
└── test-update.html         # 功能测试页面

使用方法

1. 发布新版本

使用自动化脚本更新版本:

npm run update-version 0.1.4 "新增功能A" "修复bug B" "优化性能C"

这个命令会自动:

  • 更新 package.json 中的版本号
  • versions/version-info.xml 中添加新版本记录
  • 更新 src/services/updateService.ts 中的当前版本号

2. 提交到仓库

git add .
git commit -m "chore: bump version to v0.1.4"
git push origin main

3. 创建GitHub Release

  1. 在GitHub仓库中创建新的Release
  2. 标签名称:v0.1.4
  3. 上传构建好的安装包(如 github-stars-manager-0.1.4.dmg
  4. 确保下载链接与XML中的URL一致

功能特性

自动检查更新

  • 应用启动3秒后自动检查更新
  • 静默检查,不影响用户体验
  • 发现新版本时在控制台记录日志

手动检查更新

  • 设置页面中的"检查更新"按钮
  • 实时显示检查状态
  • 显示详细的更新信息

更新提示界面

  • 美观的模态对话框
  • 显示版本号和发布日期
  • 详细的更新日志列表
  • 一键跳转到下载页面

版本比较算法

  • 支持语义化版本号x.y.z
  • 智能比较版本大小
  • 处理不同长度的版本号

XML文件格式

<?xml version="1.0" encoding="UTF-8"?>
<versions>
  <version>
    <number>0.1.3</number>
    <releaseDate>2025-01-04</releaseDate>
    <changelog>
      <item>添加检查更新功能</item>
      <item>优化用户界面</item>
      <item>修复已知bug</item>
    </changelog>
    <downloadUrl>https://github.com/AmintaCCCP/GithubStarsManager/releases/download/v0.1.3/github-stars-manager-0.1.3.dmg</downloadUrl>
  </version>
</versions>

测试方法

本地测试

  1. 打开 test-update.html 文件
  2. 点击"检查更新"按钮
  3. 验证功能是否正常工作

应用内测试

  1. 启动应用等待3秒观察控制台日志
  2. 进入设置页面,点击"检查更新"
  3. 验证更新对话框是否正确显示

注意事项

  1. 版本号格式:必须使用 x.y.z 格式的语义化版本号
  2. XML文件编码确保使用UTF-8编码
  3. 下载链接确保GitHub Release中的下载链接可用
  4. 网络请求:更新检查需要网络连接
  5. CORS问题:本地测试时可能遇到跨域问题

错误处理

  • 网络连接失败时显示友好错误信息
  • XML解析错误时提供详细错误描述
  • 版本比较异常时使用默认处理逻辑

多语言支持

更新功能已集成应用的多语言系统:

  • 中文界面显示中文提示
  • 英文界面显示英文提示
  • 自动根据应用语言设置调整

未来扩展

可以考虑添加的功能:

  1. 自动下载更新包
  2. 增量更新支持
  3. 更新进度显示
  4. 更新历史记录
  5. 跳过版本功能

技术实现

  • 前端框架React + TypeScript
  • HTTP请求Fetch API
  • XML解析DOMParser
  • 版本比较:自定义算法
  • UI组件Tailwind CSS + Lucide Icons