# Config-Man 查看功能使用说明 ## 功能概述 Config-Man 的查看功能允许您对比显示对象存储和CDN中的配置内容,支持Android和iOS平台。 ## 安装依赖 首先安装项目依赖: ```bash pip install -e . ``` ## 基本用法 ### 1. 查看配置文件 ```bash # 查看版本 0.30 的配置文件 python main.py view --version 0.30 # 以JSON格式输出 python main.py view --version 0.30 --json # 使用模拟环境进行测试 python main.py view --version 0.30 --mock ``` ### 2. 查看帮助信息 ```bash # 查看主命令帮助 python main.py --help # 查看view命令帮助 python main.py view --help ``` ## 参数说明 ### view 命令参数 - `--version`: 版本号,格式为 0.29, 0.30, 0.31 等(必需) - `--json`: 以JSON格式输出(可选) - `--storage-path`: 对象存储路径前缀,默认为 'ab'(可选) - `--cdn-url`: CDN基础URL(可选) - `--mock`: 使用模拟环境进行测试(可选) ## 输出格式 ### 表格格式(默认) ``` 版本: 0.30 | 平台: Android ┌─────────────────┬─────────────────────┬─────────────────────┬──────────┐ │ 配置项 │ 对象存储内容 │ CDN内容 │ 状态 │ ├─────────────────┼─────────────────────┼─────────────────────┼──────────┤ │ Ver │ 0.30.2ghi789 │ 0.30.2ghi789 │ ✅ 一致 │ │ EventApiURL │ https://n3backend. │ https://n3backend. │ ✅ 一致 │ │ NewFeature │ enabled │ N/A │ ❌ 不同 │ │ ... │ ... │ ... │ ... │ └─────────────────┴─────────────────────┴─────────────────────┴──────────┘ ``` ### JSON格式 ```json { "version": "0.30", "platform": "android", "storage_config": { "EventApiURL": "https://n3backend.azurewebsites.net/", "Ver": "0.30.2ghi789", "NewFeature": "enabled" }, "cdn_config": { "EventApiURL": "https://n3backend.azurewebsites.net/", "Ver": "0.30.2ghi789" } } ``` ## 模拟环境测试 为了方便测试,项目提供了模拟环境: ```bash # 使用模拟环境测试 python main.py view --version 0.30 --mock ``` 模拟环境会: 1. 自动创建测试配置文件 2. 模拟rclone命令 3. 提供完整的测试数据 ## 错误处理 ### 常见错误 1. **版本号格式错误** ``` 错误: 无效的版本号格式: 1.2.3 ``` 2. **rclone未安装** ``` 错误: rclone 未安装或不可用。请先安装 rclone。 ``` 3. **文件不存在** ``` 警告: 无法从对象存储下载 ab/0_30/androidconfig.json: 文件不存在 ``` 4. **网络连接失败** ``` 警告: 无法从CDN获取 https://cdn.example.com/ab/0_30/androidconfig.json ``` ## 配置说明 ### 配置文件结构 配置文件包含以下主要字段: - **EventApiURL**: API端点URL - **Ver**: 版本信息 - **PlayFabTitle**: PlayFab标题 - **Google_Play_URL**: Google Play商店链接 - **APP_Store_URL**: App Store链接 - **HeartBeat**: 心跳间隔 - **RTMPid**: RTM进程ID - **RTMServerEndpoint**: RTM服务器端点 - **RTMHmacSecret**: RTM HMAC密钥 - **FuncUrl**: 功能URL - **FuncKey**: 功能密钥 ### 版本号转换 版本号会自动转换为存储路径格式: - `0.29` → `0_29` - `0.30` → `0_30` - `1.00` → `1_00` ## 高级用法 ### 自定义存储路径 ```bash python main.py view --version 0.30 --storage-path custom_path ``` ### 指定CDN URL ```bash python main.py view --version 0.30 --cdn-url https://cdn.example.com ``` ### 组合使用 ```bash python main.py view --version 0.30 --json --mock --storage-path test_data/ab ``` ## 故障排除 ### 1. 安装问题 确保安装了所有依赖: ```bash pip install click pycryptodome tabulate requests rich ``` ### 2. rclone配置 如果使用真实环境,需要配置rclone: ```bash rclone config ``` ### 3. 权限问题 确保有足够的权限访问对象存储和CDN。 ### 4. 网络问题 检查网络连接和防火墙设置。 ## 开发说明 ### 项目结构 ``` config-man/ ├── main.py # 主程序入口 ├── appconfig_tool.py # 加密解密工具 ├── config_manager.py # 配置管理器 ├── display_manager.py # 显示管理器 ├── view_command.py # 查看命令处理器 ├── mock_rclone.py # 模拟rclone环境 └── test_configs.py # 测试配置生成器 ``` ### 扩展功能 要添加新的查看功能,可以: 1. 在 `config_manager.py` 中添加新的方法 2. 在 `display_manager.py` 中添加新的显示格式 3. 在 `view_command.py` 中添加新的处理逻辑 4. 在 `main.py` 中添加新的CLI命令 ## 联系支持 如果遇到问题,请检查: 1. 版本号格式是否正确 2. 网络连接是否正常 3. rclone配置是否正确 4. 依赖是否完整安装