如图,登陆注册界面、智能体管理、前往论坛界面同用户端是相同的逻辑和界面。在上一篇csdn博客已经介绍过,本次博客介绍管理员端的模型配置页面、用户管理页面、参数管理页面、OTA管理页面(用户端没有)的实现逻辑和方法。

一、模型配置页面

1. 功能概述

模型配置页面主要用于管理智能体设备的语言模型及相关参数,包括:

  • 模型选择:从预定义或动态获取的语言模型列表中选择合适的模型。

  • 参数调整:设置模型运行时的关键参数(如温度、最大生成长度等)。

  • 配置保存:将用户设置的模型参数持久化到后端,并支持设备重启生效。

2. 实现过程与思路

2.1 动态加载模型列表
  • API 设计
    后端需提供接口 /api/v1/models,返回可用语言模型列表:

{
  "code": 0,
  "data": {
    "models": [
      { "id": "qwen-realtime", "name": "Qwen 实时", "description": "低延迟实时模型" },
      { "id": "gpt-3.5", "name": "GPT-3.5", "description": "通用生成模型" }
    ]
  }
}
  • 前端实现
    在 user.js 中扩展API方法,并在 home.vue 中调用:

// user.js
getLanguageModels(callback) {
  RequestService.sendRequest()
    .url(`${getServiceUrl()}/api/v1/models`)
    .method('GET')
    .success((res) => callback(res))
    .send();
}

// home.vue
methods: {
  fetchLanguageModels() {
    Api.user.getLanguageModels(({ data }) => {
      if (data.code === 0) {
        this.options = data.models.map(model => ({
          value: model.id,
          label: model.name
        }));
      }
    });
  }
}
2.2 表单绑定与参数调整
  • 表单结构
    使用 el-select 绑定模型ID,el-slider 或 el-input-number 绑定参数:

<el-form-item label="语言模型">
  <el-select v-model="form.model_id" placeholder="请选择模型">
    <el-option 
      v-for="model in options" 
      :key="model.value" 
      :label="model.label" 
      :value="model.value"
    />
  </el-select>
</el-form-item>
<el-form-item label="温度参数">
  <el-slider 
    v-model="form.temperature" 
    :min="0" 
    :max="1" 
    :step="0.1"
    show-input
  />
</el-form-item>
  • 数据初始化
    从设备详情接口中加载已配置的模型参数:

// 获取设备详情时初始化表单
getDeviceDetail(deviceId) {
  Api.device.getDetail(deviceId, ({ data }) => {
    this.form = {
      model_id: data.model_id,
      temperature: data.temperature || 0.7,
      max_length: data.max_length || 512
    };
  });
}
2.3 配置保存与生效
  • API 设计
    提交配置至 /api/v1/device/{deviceId}/model-config,请求体示例:

{
  "model_id": "qwen-realtime",
  "temperature": 0.5,
  "max_length": 1024
}
  • 前端提交逻辑
    点击“保存配置”按钮时校验并调用接口:

saveModelConfig() {
  if (!this.form.model_id) {
    this.$message.warning('请选择语言模型');
    return;
  }
  Api.device.saveModelConfig(this.deviceId, this.form, ({ data }) => {
    if (data.code === 0) {
      this.$message.success('配置已保存,请重启设备生效');
    }
  });
}
3. 关键技术点
  • 动态数据驱动

    • 通过API动态加载模型列表,避免硬编码,支持后端灵活扩展模型类型。

    • 使用 v-for 渲染下拉选项,确保界面与数据同步更新。

  • 表单验证与反馈

    • 对必填字段(如模型ID)进行非空校验,防止无效提交。

    • 参数范围校验(如温度值限制在0-1之间),通过Element UI组件内置功能实现。

  • 用户体验优化

    • 实时提示:在滑动条旁显示当前值(show-input属性)。

    • 配置预览:展示模型描述信息(需后端返回description字段):

<el-tooltip 
  v-if="selectedModel.description" 
  :content="selectedModel.description" 
  placement="top"
>
  <i  style="margin-left: 5px; color: #909399;" />
</el-tooltip>
  • 异常处理

    • 未选择模型:提示“请选择语言模型”。

    • 接口超时:通过 httpRequest.js 的自动重试机制(reAjaxFun)保障提交可靠性。

二、用户管理界面

1.功能概述

用户管理界面主要面向系统管理员,提供对注册用户的全面管理功能,包括:

  • 用户列表展示:查看所有用户的基本信息(用户名、手机号、角色、状态等)。

  • 用户信息编辑:修改用户角色、禁用/启用账户。

  • 用户删除:安全移除无效或违规账户。

  • 密码重置:管理员强制重置用户密码。

  • 权限控制:确保仅管理员可访问管理功能。

2. 实现过程与思路

2.1 用户列表展示
  • API 设计
    后端提供 /api/v1/admin/users 接口,支持分页、搜索和排序:

//(GET /a