Files
config-man/docs/USAGE.md
2026-04-15 13:05:45 +08:00

7.4 KiB
Raw Permalink Blame History

Config-Man 查看功能使用说明

功能概述

Config-Man 的查看功能允许您对比显示对象存储和CDN中的配置内容支持Android和iOS平台。

安装依赖

首先安装项目依赖:

pip install -e .

基本用法

1. 查看配置文件

# 查看版本 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. 查看帮助信息

# 查看主命令帮助
python main.py --help

# 查看view命令帮助
python main.py view --help

参数说明

view 命令参数

  • --version: 版本号,格式为 0.29, 0.30, 0.31 等(必需)
  • --json: 以JSON格式输出可选
  • --storage-path: 对象存储路径前缀(覆盖配置文件)
  • --cdn-url: CDN基础URL覆盖配置文件
  • --mock: 使用模拟环境进行测试(可选)

配置管理命令

  • show-config: 显示当前配置
  • set-config: 设置配置值

配置文件

Config-Man 支持多种配置方式:

1. 配置文件

默认配置文件位置:

  • 用户配置: ~/.config/config-man/config-man.json
  • 项目配置: ./config-man.json

配置文件格式:

{
  "storage": {
    "path": "ab",
    "rclone_remote": "remote",
    "timeout": 30
  },
  "cdn": {
    "base_url": "",
    "timeout": 10,
    "retry_count": 3
  },
  "crypto": {
    "algorithm": "DES",
    "key": "tbambooz"
  },
  "display": {
    "table_format": "grid",
    "max_width": 80,
    "truncate_length": 25
  }
}

2. 环境变量

支持以下环境变量:

环境变量 配置项 说明
CONFIG_MAN_STORAGE_PATH storage.path 存储路径
CONFIG_MAN_STORAGE_RCLONE_REMOTE storage.rclone_remote rclone远程名称
CONFIG_MAN_STORAGE_TIMEOUT storage.timeout 存储操作超时时间
CONFIG_MAN_CDN_BASE_URL cdn.base_url CDN基础URL
CONFIG_MAN_CDN_TIMEOUT cdn.timeout CDN请求超时时间
CONFIG_MAN_CDN_RETRY_COUNT cdn.retry_count CDN重试次数
CONFIG_MAN_CRYPTO_KEY crypto.key 加密密钥
CONFIG_MAN_CRYPTO_ALGORITHM crypto.algorithm 加密算法
CONFIG_MAN_DISPLAY_TABLE_FORMAT display.table_format 表格格式
CONFIG_MAN_DISPLAY_MAX_WIDTH display.max_width 最大宽度
CONFIG_MAN_DISPLAY_TRUNCATE_LENGTH display.truncate_length 截断长度

3. 命令行参数

命令行参数会覆盖配置文件和环境变量的设置。

输出格式

表格格式(默认)

版本: 0.30 | 平台: Android
┌─────────────────┬─────────────────────┬─────────────────────┬──────────┐
│ 配置项          │ 对象存储内容        │ CDN内容             │ 状态     │
├─────────────────┼─────────────────────┼─────────────────────┼──────────┤
│ Ver             │ 0.30.2ghi789       │ 0.30.2ghi789       │ ✅ 一致  │
│ EventApiURL     │ https://n3backend. │ https://n3backend. │ ✅ 一致  │
│ NewFeature      │ enabled             │ N/A                 │ ❌ 不同  │
│ ...             │ ...                 │ ...                 │ ...      │
└─────────────────┴─────────────────────┴─────────────────────┴──────────┘

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"
  }
}

模拟环境测试

为了方便测试,项目提供了模拟环境:

# 使用模拟环境测试
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.290_29
  • 0.300_30
  • 1.001_00

高级用法

配置管理

# 显示当前配置
python main.py show-config

# 设置配置值
python main.py set-config --key storage.path --value custom_path
python main.py set-config --key cdn.base_url --value https://cdn.example.com
python main.py set-config --key display.max_width --value 100

环境变量配置

# 使用环境变量设置配置
export CONFIG_MAN_STORAGE_PATH=custom_path
export CONFIG_MAN_CDN_BASE_URL=https://cdn.example.com
export CONFIG_MAN_DISPLAY_MAX_WIDTH=120

# 运行命令
python main.py view --version 0.30

命令行参数覆盖

# 命令行参数会覆盖配置文件设置
python main.py view --version 0.30 --storage-path custom_path --cdn-url https://cdn.example.com

组合使用

python main.py view --version 0.30 --json --mock --storage-path test_data/ab

故障排除

1. 安装问题

确保安装了所有依赖:

pip install click pycryptodome tabulate requests rich

2. rclone配置

如果使用真实环境需要配置rclone

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. 依赖是否完整安装