feat: 实现功能3强制更新

- 新增 ForceUpdateCommand 类实现强制更新功能
- 添加 force-update CLI 命令支持
- 实现参数验证、配置对比、CDN缓存刷新
- 添加完整的测试用例和使用示例
- 更新文档和进度跟踪
- 支持模拟环境测试
- 添加警告提示和错误处理

主要文件:
- src/config_man/core/force_update_command.py (新增)
- src/config_man/cli/main.py (更新)
- examples/test_force_update.py (新增)
- examples/force_update_usage.py (新增)
- docs/progress-tracker.md (更新)
This commit is contained in:
2025-08-08 01:50:30 +08:00
parent 9eddb3133c
commit f534dc52cb
19 changed files with 2594 additions and 285 deletions

View File

@@ -66,6 +66,45 @@ config-man suggest-update --platform <平台> --target-version <目标版本> --
- `--platform`: 平台类型,支持 android 或 ios
- `--target-version`: 目标版本号,如 0.29
- `--update-version`: 更新版本号,如 0.30
- `--storage-path`: 对象存储路径前缀(覆盖配置文件)
- `--cdn-url`: CDN基础URL覆盖配置文件
- `--mock`: 使用模拟环境进行测试
**功能特性**:
- 在目标版本配置中添加 `Ver_New` 属性
- `Ver_New` 的值设为更新版本的 `Ver` 属性值
- 自动加密并上传到对象存储
- 自动刷新CDN缓存
**配置变更示例**:
```json
// 修改前
{
"Ver": "0.29.1abc123",
"EventApiURL": "https://n3backend.azurewebsites.net/",
"PlayFabTitle": "B066F"
}
// 修改后
{
"Ver": "0.29.1abc123",
"Ver_New": "0.30.1def456",
"EventApiURL": "https://n3backend.azurewebsites.net/",
"PlayFabTitle": "B066F"
}
```
**使用示例**:
```bash
# 基本用法
config-man suggest-update --platform android --target-version 0.29 --update-version 0.30
# 指定存储路径和CDN URL
config-man suggest-update --platform ios --target-version 0.29 --update-version 0.30 --storage-path custom/path --cdn-url https://custom.cdn.com
# 使用模拟环境测试
config-man suggest-update --platform android --target-version 0.29 --update-version 0.30 --mock
```
### 功能3: 强制更新
@@ -136,8 +175,9 @@ pip install -r requirements.txt
# 配置rclone
rclone config
# 配置Cloudflare API
export CLOUDFLARE_API_TOKEN=your_token
# 配置Cloudflare CDN可选
export CLOUDFLARE_API_TOKEN=your_api_token
export CLOUDFLARE_ZONE_ID=your_zone_id
```
### 使用示例
@@ -145,13 +185,17 @@ export CLOUDFLARE_API_TOKEN=your_token
# 查看配置
config-man view --version 0.30
# 建议更新
# 建议更新自动刷新CDN缓存
config-man suggest-update --platform android --target-version 0.29 --update-version 0.30
# 强制更新
config-man force-update --platform ios --target-version 0.29 --update-version 0.30
```
### Cloudflare CDN 配置
Config-Man 支持 Cloudflare CDN 缓存自动刷新。详细设置请参考:[Cloudflare CDN 设置指南](docs/cloudflare_setup.md)
## 错误处理
### 常见错误场景