191 lines
5.1 KiB
Markdown
191 lines
5.1 KiB
Markdown
# 配置文件编辑器功能说明
|
|
|
|
## 功能概述
|
|
|
|
配置文件编辑器是一个专业的 JSON 配置管理工具,支持对项目配置文件的可视化编辑、验证和保存。
|
|
|
|
## 主要特性
|
|
|
|
### 1. 树形结构编辑
|
|
- **分层显示**: 使用树形结构清晰展示 JSON 的嵌套关系
|
|
- **节点展开/折叠**: 可自由展开或折叠节点以查看/隐藏配置项
|
|
- **路径追踪**: 每个配置项都记录其完整路径
|
|
|
|
### 2. 智能编辑器
|
|
- **类型感知**: 根据值的类型自动选择合适的编辑控件
|
|
- `bool` 类型: 复选框
|
|
- `int` 类型: 整数输入框,范围 -2147483648 到 2147483647
|
|
- `float` 类型: 浮点数输入框,精度 6 位小数
|
|
- `str` 类型: 文本输入框
|
|
|
|
- **实时编辑**: 在表格中直接编辑配置值
|
|
|
|
### 3. 数据验证
|
|
- **JSON 格式验证**: 保存前自动验证 JSON 格式的有效性
|
|
- **类型检查**: 确保编辑的值类型正确
|
|
|
|
### 4. 文件管理
|
|
- **自动备份**: 保存时自动创建 `.bak` 备份文件
|
|
- **修改跟踪**: 实时跟踪配置是否被修改
|
|
- **重新加载**: 支持放弃修改并重新加载原文件
|
|
|
|
## 使用方法
|
|
|
|
### 方式一:通过主窗口菜单
|
|
|
|
1. 打开采集箱出厂测试工具
|
|
2. 点击菜单栏 "工具" → "编辑配置文件"
|
|
3. 在文件选择对话框中选择要编辑的配置文件
|
|
4. 编辑完成后点击 "保存"
|
|
|
|
### 方式二:直接运行编辑器
|
|
|
|
```bash
|
|
# 编辑主配置文件
|
|
python edit_config.py
|
|
```
|
|
|
|
## 界面说明
|
|
|
|
### 树形表格
|
|
- **左列(键)**: 显示配置项的名称或索引
|
|
- 分支节点(蓝色粗体)表示子配置项
|
|
- 叶子节点表示实际的配置值
|
|
|
|
- **右列(值)**: 显示或编辑配置值
|
|
- 点击单元格可进行编辑
|
|
- 编辑器类型根据值类型自动选择
|
|
|
|
### 操作按钮
|
|
|
|
- **重新加载**: 放弃当前修改,从文件重新加载原配置
|
|
- **保存**: 将修改保存到文件,并创建备份
|
|
- **取消**: 关闭编辑器,放弃所有修改
|
|
|
|
## 配置文件路径
|
|
|
|
- **主配置文件**: `config/config.json`
|
|
- **测试项配置**: `config/test_items.json`
|
|
|
|
## 配置项说明
|
|
|
|
### config.json
|
|
|
|
```json
|
|
{
|
|
"application": {
|
|
"name": "应用名称",
|
|
"version": "版本号",
|
|
"company": "公司名",
|
|
"language": "语言设置"
|
|
},
|
|
"serial": {
|
|
"default_baudrate": 115200, // 串口波特率
|
|
"default_timeout": 1.0, // 超时时间(秒)
|
|
"auto_detect_ports": true, // 自动检测端口
|
|
"retry_count": 3 // 重试次数
|
|
},
|
|
"ssh": {
|
|
"default_username": "torizon", // 默认用户名
|
|
"default_port": 22, // SSH 端口
|
|
"connection_timeout": 10, // 连接超时(秒)
|
|
"keepalive_interval": 30 // 保活间隔(秒)
|
|
},
|
|
"network": {
|
|
"eth0": { ... },
|
|
"eth1": { ... }
|
|
}
|
|
}
|
|
```
|
|
|
|
### test_items.json
|
|
|
|
```json
|
|
{
|
|
"test_items": [
|
|
{
|
|
"id": 1,
|
|
"name": "测试项名称",
|
|
"description": "测试项描述",
|
|
"category": "测试类别",
|
|
"command": "执行命令",
|
|
"timeout": 30, // 超时时间(秒)
|
|
"is_required": true, // 是否必需
|
|
"sort_order": 1 // 排序顺序
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|
|
## 常见操作
|
|
|
|
### 修改串口波特率
|
|
|
|
1. 选择 "工具" → "编辑配置文件"
|
|
2. 选择 `config/config.json`
|
|
3. 展开 "serial" 节点
|
|
4. 在 "default_baudrate" 行输入新值
|
|
5. 点击 "保存"
|
|
|
|
### 添加或修改测试项
|
|
|
|
1. 选择 "工具" → "编辑配置文件"
|
|
2. 选择 `config/test_items.json`
|
|
3. 展开 "test_items" 节点
|
|
4. 修改现有项的值
|
|
5. 点击 "保存"
|
|
|
|
## 注意事项
|
|
|
|
⚠️ **重要**:
|
|
|
|
1. **备份文件**: 修改前会自动创建 `.bak` 备份文件,修改出错可从备份恢复
|
|
2. **JSON 格式**: 确保编辑后的配置仍符合 JSON 格式,否则无法保存
|
|
3. **重启应用**: 某些配置修改可能需要重启应用才能生效
|
|
4. **权限**: 确保对配置文件有读写权限
|
|
5. **类型匹配**: 修改值时注意保持原有的数据类型
|
|
|
|
## 快捷键
|
|
|
|
- `Ctrl+,` - 打开配置编辑器
|
|
|
|
## 故障排除
|
|
|
|
### 无法打开编辑器
|
|
- 确保配置文件存在且格式正确
|
|
- 检查文件权限
|
|
|
|
### 修改无法保存
|
|
- 检查 JSON 格式是否正确
|
|
- 查看控制台错误日志
|
|
- 尝试重新加载后重新修改
|
|
|
|
### 修改后配置未生效
|
|
- 检查是否正确选择并保存了配置文件
|
|
- 重启应用程序
|
|
- 查看配置项名称是否与代码中的引用匹配
|
|
|
|
## 技术细节
|
|
|
|
### 类型检测
|
|
|
|
编辑器自动检测并转换数据类型:
|
|
- Python `bool` ↔ JSON `true/false`
|
|
- Python `int` ↔ JSON `number` (整数)
|
|
- Python `float` ↔ JSON `number` (浮点数)
|
|
- Python `str` ↔ JSON `string`
|
|
|
|
### 备份机制
|
|
|
|
保存配置时:
|
|
1. 读取原文件内容
|
|
2. 将原内容保存到 `filename.json.bak`
|
|
3. 将新配置写入原文件
|
|
4. 如果写入失败,用备份文件恢复
|
|
|
|
## 相关文件
|
|
|
|
- `src/ui/config_editor.py` - 编辑器实现
|
|
- `config/config.json` - 主配置文件
|
|
- `config/test_items.json` - 测试项配置
|