当前位置: 首页 > news >正文

BuildingAI 二开 平台配置菜单和页面功能PRD

1. 文档概述

1.1 文档目的

本文档用于描述系统设置菜单下“平台配置”模块的功能需求、页面设计、技术实现细节、权限与测试要求,统一规范不同智能体平台的对接方式,便于开发、测试与后续维护。

1.2 文档范围

  • 菜单位置与信息架构(系统设置 → 支付配置之后 → 平台配置)
  • 平台配置页面与弹窗的UI与交互
  • OAuth应用配置的后端API与数据结构
  • 权限控制与国际化
  • 使用流程与安全要求
  • OAuth应用对接原理与流程(以 Coze 为例)

1.3 术语定义

术语 定义
PlatformConfig 平台配置模块简称
智能体平台 提供智能体服务的第三方平台,如 Coze、Dify 等
OAuth 应用 在第三方平台创建的应用,用于授权与 API 访问
client_id OAuth 应用的客户端ID,公开标识
client_secret OAuth 应用的客户端密钥,需加密保存并脱敏展示
redirect_uri 本系统用于接收授权回调的URL
scope OAuth 申请的权限范围

2. 功能需求

2.1 核心功能

  1. 智能体平台列表展示:显示系统支持的所有平台卡片(Logo、名称、已接入应用数)。
  2. 平台管理入口:点击某平台“管理”,打开该平台的 OAuth 应用列表弹窗。
  3. OAuth 应用的增删查改:在弹窗中对应用进行新增、编辑、删除与查看。
  4. 搜索与排序:支持按站点名称或客户端ID搜索,按添加时间排序。
  5. 授权引导与测试:在新增/编辑弹窗提供创建应用与授权引导,支持授权后校验回调状态。
  6. 平台启用/禁用:支持平台维度启用/禁用,用于控制该平台是否在业务流程中可选。

2.2 辅助功能

  1. 表单验证:校验站点名称、client_id、client_secret、redirect_uri、scope 的必填与格式。
  2. 权限控制:仅授权角色可管理 OAuth 应用;普通管理员可查看。
  3. 国际化支持:中/英/日语言包。
  4. 错误提示与操作引导:失败重试、复制引导链接、一键复制回调URL。
  5. 安全要求:client_secret 加密存储、脱敏展示,严禁日志打印与导出。

3. 页面设计

3.1 平台配置列表页(系统设置 → 支付配置之后)

3.1.1 页面布局
  • 页面标题:平台配置
  • 栅格卡片:平台Logo、平台名称、已接入应用数、状态徽标(已启用/已禁用)、操作按钮(管理、添加)、右上角状态开关(USwitch)。
  • 卡片交互:
    • 点击“管理”打开该平台的 OAuth 应用列表弹窗;“添加”直接打开新增应用弹窗并预选平台。
    • 切换 USwitch(启用/禁用)立即更新平台状态;禁用后卡片灰态,“添加”按钮禁用并显示提示“禁用后在业务流程中不可选”。
3.1.2 关键组件
  • UGrid / Card:平台卡片栅格展示
  • UAvatar:Logo展示
  • UBadge:应用计数与状态徽标(启用/禁用)
  • USwitch:平台启用/禁用切换(右上角)
  • UTooltip:禁用状态与权限说明提示
  • UButton:管理、添加(禁用态下“添加”禁用)
  • UConfirmDialog(可选):当平台存在已接入应用时禁用需二次确认
3.1.3 交互与逻辑
  • 状态切换:
    • system-platformconfig:update 权限的用户可操作 USwitch;无权限则隐藏或禁用并展示 UTooltip 提示。
    • 切换时调用 apiUpdatePlatformStatus(platformId, isEnable);成功提示并刷新列表,失败则提示并回滚 USwitch 状态。
  • 禁用态行为:
    • 卡片灰态并显示 UBadge“已禁用”。
    • “添加”按钮禁用并提示“请先启用平台后再添加应用”。
    • “管理”允许进入查看,但增删改由权限与状态共同约束。
  • 可访问性:同时显示文本状态(“已启用/已禁用”),避免仅依赖颜色。
3.1.4 示例代码(文档示例)
const togglePlatformEnable = useThrottleFn(async (platformId: string, nextEnable: BooleanNumberType) => {try {await apiUpdatePlatformStatus(platformId, nextEnable);message.success($t('system.platformConfig.messages.saveSuccess'));await getPlatformList();} catch (_error) {message.error($t('system.platformConfig.messages.saveFailed'));// 回滚:重新拉取列表或本地恢复旧状态await getPlatformList();}
}, 800);
3.1.5 页面截图

参见需求图片(智能体平台卡片列表,含“管理”“添加”与右上角状态开关示意)。

3.2 OAuth 应用列表弹窗(平台管理)

3.2.1 页面布局
  • 标题:平台名称(如“扣子/Coze”)
  • 搜索框:按站点名称或客户端ID搜索
  • 表格列:站点名称、客户端ID、添加时间、操作(编辑、删除)
  • 右上角按钮:添加
3.2.2 关键组件
  • UDialog:弹窗容器
  • UTable:应用列表
  • UInput:搜索框
  • UButton:添加、编辑、删除
3.2.3 页面截图

参见需求图片(Coze 应用列表)。

3.3 OAuth 应用新增/编辑弹窗

3.3.1 页面布局与引导
  • 顶部引导:三步指引
    1. 前往平台 OAuth 应用创建页(如 Coze 链接)。
    2. 在平台端设置重定向URL为系统提供的地址。
    3. 将客户端ID与客户端密钥填写到表单并保存。
  • 表单区:站点名称、client_id、client_secret、redirect_uri(只读,可复制)、scope(复选或输入)。
  • 底部按钮:取消、保存;提供“复制回调URL”按钮与“授权测试”入口。
3.3.2 表单字段
字段名称 类型 说明
站点名称 文本输入 与平台端应用名对应,便于识别
客户端ID 文本输入 平台端生成的 client_id
客户端密钥 文本输入 平台端生成的 client_secret(保存加密、展示脱敏)
重定向URL 只读文本 系统提供的授权回调地址,可一键复制
权限范围 文本/复选 平台端所需 scope,按需填写或选择
3.3.3 页面截图

参见需求图片(授权引导与表单)。

4. 技术实现

4.1 前端实现

4.1.1 主要文件结构
/app/pages/console/system-setting/platformconfig/
├── index.vue                 # 平台列表页
├── manage.vue                # 某平台的 OAuth 应用列表弹窗/页面
├── edit.vue                  # OAuth 应用新增/编辑弹窗
4.1.2 核心功能实现(示例)
  1. 平台列表获取
const getPlatformList = async () => {const data = await apiGetPlatformList();platformList.value = data.map(({ id, name, logo, appCount, isEnable }) => ({ id, name, logo, appCount, isEnable }));
};
  1. OAuth 应用列表获取
const getOauthAppList = async (platformId: string) => {const data = await apiGetOauthAppList(platformId);appList.value = data.map(({ id, siteName, clientId, createdAt }) => ({ id, siteName, clientId, createdAt }));
};
  1. 新增/编辑应用保存
const saveOauthApp = async () => {const payload = { ...formData.value };if (formData.value.id) await apiUpdateOauthApp(formData.value.id, payload);else await apiAddOauthApp(platformId.value, payload);message.success(
http://www.dtcms.com/a/614147.html

相关文章:

  • OFDM、IQ调制与AxC技术介绍
  • Linux快速安装java运行环境
  • div嵌套影响网站收录wordpress后台模版
  • 【工具】BatteryInfoView
  • RGB 颜色值与十六进制颜色码相互转换工具
  • 芜湖市网站开发直播app开发一个需要多少钱
  • 数据类型与变量
  • 如何利用LangChain1.0快速进行天气查询
  • 百度网站公司信息推广怎么做做网站很累
  • 51的DSP来了, 100MHz, STC32G144K246
  • SQL索引失效场景全汇总
  • 启闭机闸门的网站建设上海网站建设 劲晟
  • Windows系统监控利器Sysmon:从安装配置到实战攻防
  • 论文笔记(一百)GEN-0 / Embodied Foundation Models That Scale with Physical Interaction
  • 响应式设计进阶:不同屏幕尺寸下的交互优化方案
  • 指针与一维数组
  • 分销网站建设邯郸服务
  • 前端性能优化指标,最大内容绘制
  • wordpress路由插件开发搜索排名优化
  • Kotlin协程Flow任务流buffer缓冲批量任务,筛选批量中最高优先级任务运行(2)
  • 口碑营销的作用成都抖音seo
  • 12.3 合规保障:GDPR与中国法规的落地实践
  • 怡清源企业网站建设可行性分析最牛餐饮营销手段
  • 门户网站设计要点怎样优化网络速度
  • 《Unity游戏多平台上架风险管控:预研适配与全流程实战指南》
  • 跨域问题解决方案汇总
  • 30-ESP32-S3开发
  • C语言编译爱心 | 深入浅出解析C语言编译过程及技巧
  • SPRING_CACHE_REDIS_技术总结
  • 【LeetCode热题100(67/100)】有效的括号