feat(update): 实现更新通道管理系统与更新调试页面

本次提交完成以下变更:
1. 实现完整的更新通道管理功能,支持慢走/跑步两种更新模式,可在设置页切换且配置持久化生效
2. 新增更新调试页面,集成检查更新、版本比对、设置测试版本等调试工具
3. 新增快速打开Chromium DevTools的按钮,方便开发调试
4. 完善自动更新后端逻辑,新增版本比对、测试版本覆盖、通道动态获取等IPC接口
5. 调整GitHub Release构建脚本,修复prerelease版本的命名与发布问题
6. 添加semver依赖与类型定义,完善全量类型声明
7. 更新自动更新文档,补充更新通道相关的设计说明
8. 微调默认配置,添加主题暗黑模式的初始配置
This commit is contained in:
2026-08-31 02:20:25 +08:00
parent ca8eeb09ac
commit 8fc6fcaf05
21 changed files with 626 additions and 37 deletions
+24 -6
View File
@@ -92,6 +92,9 @@ importers:
remark-gfm:
specifier: ^4.0.1
version: 4.0.1
semver:
specifier: ^7.8.5
version: 7.8.5
sonner:
specifier: ^2.0.7
version: 2.0.8(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
@@ -120,6 +123,9 @@ importers:
'@types/react-dom':
specifier: ^19.1.6
version: 19.2.5(@types/react@19.2.17)
'@types/semver':
specifier: ^7.8.0
version: 7.8.0
'@vitejs/plugin-react':
specifier: ^4.6.0
version: 4.7.0(vite@7.3.5(@types/node@26.0.1)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.22.4))
@@ -1359,6 +1365,9 @@ packages:
'@types/responselike@1.0.3':
resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==}
'@types/semver@7.8.0':
resolution: {integrity: sha512-1mAINjtQCXXeLkJ9ehXkwOcBpqtLxiVtKhpUf83DdRNdQKV0iXZpaHYqRr7nj+wvxuJzoAmAwXI+sCNMv1CzLQ==}
'@types/stats.js@0.17.4':
resolution: {integrity: sha512-jIBvWWShCvlBqBNIZt0KAshWpvSjhkwkEu4ZUcASoAvhmrgAUI2t1dXrjSL4xXVLB4FznPrIsX3nKXFl/Dt4vA==}
@@ -3723,6 +3732,11 @@ packages:
engines: {node: '>=10'}
hasBin: true
semver@7.8.5:
resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==}
engines: {node: '>=10'}
hasBin: true
send@1.2.1:
resolution: {integrity: sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==}
engines: {node: '>= 18'}
@@ -4613,7 +4627,7 @@ snapshots:
node-gyp: 9.4.1
ora: 5.4.1
read-binary-file-arch: 1.0.6
semver: 7.8.4
semver: 7.8.5
tar: 6.2.1
yargs: 17.7.3
transitivePeerDependencies:
@@ -4985,7 +4999,7 @@ snapshots:
'@npmcli/fs@2.1.2':
dependencies:
'@gar/promisify': 1.1.3
semver: 7.8.4
semver: 7.8.5
'@npmcli/move-file@2.0.1':
dependencies:
@@ -5425,6 +5439,8 @@ snapshots:
dependencies:
'@types/node': 26.0.1
'@types/semver@7.8.0': {}
'@types/stats.js@0.17.4': {}
'@types/three@0.184.1':
@@ -5601,7 +5617,7 @@ snapshots:
minimatch: 10.2.5
resedit: 1.7.2
sanitize-filename: 1.6.4
semver: 7.8.4
semver: 7.8.5
tar: 6.2.1
temp-file: 3.4.0
transitivePeerDependencies:
@@ -7697,14 +7713,14 @@ snapshots:
node-abi@3.92.0:
dependencies:
semver: 7.8.4
semver: 7.8.5
node-addon-api@1.7.2:
optional: true
node-api-version@0.2.1:
dependencies:
semver: 7.8.4
semver: 7.8.5
node-domexception@1.0.0: {}
@@ -7724,7 +7740,7 @@ snapshots:
nopt: 6.0.0
npmlog: 6.0.2
rimraf: 3.0.2
semver: 7.8.4
semver: 7.8.5
tar: 6.2.1
which: 2.0.2
transitivePeerDependencies:
@@ -8267,6 +8283,8 @@ snapshots:
semver@7.8.4: {}
semver@7.8.5: {}
send@1.2.1(supports-color@8.1.1):
dependencies:
debug: 4.4.3(supports-color@8.1.1)