You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
4.0 KiB
4.0 KiB
多个测试客户端配置功能
功能概述
本功能允许系统保存和管理多个测试客户端配置,使用服务器地址(Address)作为唯一标识符。系统已简化为只保留多个配置的管理功能。
主要特性
1. 基于Address的唯一性管理
- 使用服务器地址(Address)作为配置的唯一key
- 保存前自动检查Address是否存在
- 存在则更新,不存在则添加新配置
2. 自动配置加载
- 页面加载时显示默认配置(第一个配置)
- 输入Address时自动查询并加载对应配置
- 支持实时配置切换
3. 简化的配置文件管理
- 只使用
test_client_configs.json
存储所有配置 - 移除了单个配置文件的管理
- 自动创建默认配置(如果没有配置存在)
API接口
获取默认测试客户端配置
GET /api/testconfig/default
获取所有测试客户端配置
GET /api/testconfig
根据地址获取测试客户端配置
GET /api/testconfig/address/{address}
设置默认测试客户端配置
POST /api/testconfig/default
删除测试客户端配置
DELETE /api/testconfig/address/{address}
启动测试客户端
POST /api/testconfig/start
Content-Type: application/json
{
"address": "192.168.13.12:9001" // 可选,如果不提供则使用默认配置
}
停止测试客户端
POST /api/testconfig/stop
Content-Type: application/json
{
"address": "192.168.13.12:9001" // 可选,如果不提供则使用默认配置
}
前端功能
自动配置查询
- 在地址输入框失去焦点时自动查询配置
- 如果找到配置则自动填充表单
- 如果未找到则准备创建新配置
智能保存
- 保存时自动检查Address是否存在
- 存在则更新现有配置
- 不存在则创建新配置
使用示例
1. 创建新配置
- 在配置页面输入新的服务器地址
- 填写其他配置信息
- 点击保存,系统会自动创建新配置
2. 更新现有配置
- 输入已存在的服务器地址
- 系统会自动加载现有配置
- 修改配置信息
- 点击保存,系统会更新现有配置
3. 切换配置
- 在地址输入框中输入不同的地址
- 系统会自动加载对应的配置
- 可以查看和编辑不同地址的配置
技术实现
后端实现
WebSocketManagerService
简化为只管理多个配置- 使用
List<ClientConfig>
存储所有配置 - 基于Address的唯一性检查
- 自动文件持久化
- 移除了单个配置的管理逻辑
前端实现
- JavaScript自动查询功能
- 表单自动填充
- 实时配置切换
文件结构
Services/
├── WebSocketManagerService.cs # 简化的多配置管理逻辑
Controllers/
├── WebSocketController.cs # API接口
Views/Home/
├── TestClientConfig.cshtml # 配置管理页面
配置文件格式
test_client_configs.json
[
{
"name": "TestClient1",
"address": "192.168.13.12:9001",
"enabled": true,
"password": "test123",
"reconnectDelay": 15000,
"ssl": false,
"readonly": false,
"mode": "ran",
"logs": {
"layers": {
"PHY": {
"level": "debug",
"filter": "debug",
"maxSize": 1000,
"payload": true
}
}
}
}
]
简化设计说明
移除的功能
- 单个测试配置文件 (
test_client_config.json
) - 单个配置的独立管理方法
- 复杂的配置切换逻辑
保留的功能
- 多个配置的管理
- 基于Address的唯一性检查
- 自动配置加载和保存
- 默认配置的自动创建
注意事项
- Address必须是唯一的,不能重复
- 系统会自动创建默认配置(如果没有配置存在)
- 删除配置时使用Address作为标识
- 页面刷新时会加载默认配置(第一个配置)
- 所有配置都会持久化到
test_client_configs.json
文件中 - 系统已简化为只管理多个配置,不再维护单个配置文件