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

多个测试客户端配置功能

功能概述

本功能允许系统保存和管理多个测试客户端配置,使用服务器地址(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. 创建新配置

  1. 在配置页面输入新的服务器地址
  2. 填写其他配置信息
  3. 点击保存,系统会自动创建新配置

2. 更新现有配置

  1. 输入已存在的服务器地址
  2. 系统会自动加载现有配置
  3. 修改配置信息
  4. 点击保存,系统会更新现有配置

3. 切换配置

  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的唯一性检查
  • 自动配置加载和保存
  • 默认配置的自动创建

注意事项

  1. Address必须是唯一的,不能重复
  2. 系统会自动创建默认配置(如果没有配置存在)
  3. 删除配置时使用Address作为标识
  4. 页面刷新时会加载默认配置(第一个配置)
  5. 所有配置都会持久化到 test_client_configs.json 文件中
  6. 系统已简化为只管理多个配置,不再维护单个配置文件