From d4ef09247c5bddc2645462e0e610462ae7d4b7a7 Mon Sep 17 00:00:00 2001 From: WangLeo <690854599@qq.com> Date: Tue, 9 Jun 2026 18:27:11 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E5=88=A0=E9=99=A4=E4=B8=B4=E6=97=B6?= =?UTF-8?q?=E4=B8=8A=E7=BA=BF=E8=AF=B4=E6=98=8E=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 平台参数管理-上线说明.md | 137 --------------------------------------- 1 file changed, 137 deletions(-) delete mode 100644 平台参数管理-上线说明.md diff --git a/平台参数管理-上线说明.md b/平台参数管理-上线说明.md deleted file mode 100644 index ad1d17b..0000000 --- a/平台参数管理-上线说明.md +++ /dev/null @@ -1,137 +0,0 @@ -# 平台参数管理 — 功能上线说明 - -## 概述 - -绘画/视频平台的模型参数配置已从**前端代码硬编码**迁移至**管理后台数据库管理**。新增模型或修改参数无需前端发版,在管理后台配置即可生效。 - -## 变更内容 - -### 1. 新增数据库表 - -`suanli.model_param_configs` — 模型参数配置表 - -| 字段 | 类型 | 说明 | -|------|------|------| -| `model_id` | CHAR(36) | 关联模型 UUID | -| `platform_id` | CHAR(36) | 关联平台 UUID(如 ai_painting_talk / ai_video_talk) | -| `input_type` | VARCHAR(32) | text(文生图)/ image(图片编辑) | -| `max_images` | INT | 最大上传图片数,0=不支持 | -| `prompt_placeholder` | VARCHAR(500) | 提示词输入框占位文本 | -| `params` | JSON | 参数列表,每项含 name/ui/label/default/options 等 | - -唯一约束:`(model_id, platform_id)` — 同一模型在同一平台下仅一份配置。 - -### 2. 新增后端接口 - -| 方法 | 路径 | 说明 | -|------|------|------| -| GET | `/suanli/v1/admin/model-params` | 列表(分页,支持 `?platform_id=` 筛选) | -| GET | `/suanli/v1/admin/model-params/:id` | 详情 | -| POST | `/suanli/v1/admin/model-params` | 新建 | -| PUT | `/suanli/v1/admin/model-params/:id` | 更新 | -| DELETE | `/suanli/v1/admin/model-params/:id` | 删除 | -| GET | `/suanli/v1/models/:modelId/config` | **公共 API**,供客户端拉取参数 schema | - -公共 API 响应示例(含各 ui 类型的完整结构): - -```json -{ - "code": 0, - "data": { - "inputType": "text", - "maxImages": 0, - "promptPlaceholder": "描述你想生成的画面。", - "params": [ - { "name": "prompt", "ui": "textarea", "label": "提示词", "required": true, "default": "" }, - { "name": "aspectRatio", "ui": "proportion", "label": "比例", "default": "1:1", "options": ["1:1","16:9","9:16","custom"] }, - { "name": "resolution", "ui": "resolution", "label": "分辨率", "default": "2k", "options": ["1k","2k","4k"] }, - { - "name": "size", "ui": "dimension", "label": "尺寸", "default": "1024*1024", - "dimension": { - "separator": "*", - "width": { "min": 512, "max": 2048 }, - "height": { "min": 512, "max": 2048 } - } - }, - { "name": "quality", "ui": "select", "label": "画质", "default": "medium", "options": ["low","medium","high"] }, - { "name": "imageNum", "ui": "quantity", "label": "生成张数", "default": 1, "options": [1, 2, 3, 4, 5, 6] }, - { "name": "imageUrls", "ui": "imageUpload", "label": "参考图", "required": true, "maxCount": 10 } - ] - } -} -``` - -### 3. 管理后台页面 - -路径:侧边栏 → **平台参数管理** → **模型参数配置** - -- 进入页面后需先选择平台,才会显示该平台下已配置的模型参数 -- 新建时:选择平台 → 手动填入模型 UUID(从模型管理页复制)→ 配置参数 JSON → 保存 -- params 字段提供 JSON 编辑器和格式化按钮 - -## params 字段说明 - -`ui` 值与前端控件映射: - -| ui | 控件 | 必需字段 | 说明 | -|----|------|---------|------| -| `textarea` | 文本输入框 | name, default | 提示词 | -| `proportion` | 比例选择器 | options | `options` 含 `custom` 时允许自定义宽高 | -| `resolution` | 分辨率选择器 | options | 与 proportion 共用弹窗 | -| `dimension` | 组合尺寸 | `dimension: { separator, width: {min,max}, height: {min,max} }` | 单字段 `"W*H"` 格式,前端根据 separator 生成 parse/format | -| `dimensionWidth` / `dimensionHeight` | 分离尺寸 | min, max | 两个独立字段,共享比例锁。必须传 min/max 作为输入校验边界 | -| `select` | 下拉选择 | options | 通用 | -| `quantity` | 生成数量 | options(**数字数组**) | `options` 必须为数字类型 `[1,2,3]`,前端 `Math.max()` 计算上限 | -| `imageUpload` | 图片上传 | maxCount | 控制上传数量上限。顶层 `maxImages` 仅作 fallback | -| `number` | 数字输入 | min, max | 自定义宽高(如 Flux 的 customWidth/customHight),支持 `showWhen` 条件显示 | -| `hidden` | 不渲染 | default | 静默写入默认值 | - -**`inputType` 枚举值**:`text`(文生图)/ `image`(图生图/图片编辑)/ `both`(同时支持,可传图也可不传) - -**条件显示**:`"showWhen": { "aspectRatio": "custom" }` 使参数仅在比例为自定义时显示。 - -**字段类型速查**: - -| 字段 | 类型 | 适用 ui | 前端读取位置 | -|------|------|---------|-------------| -| `name` | string | 全部 | 各处以 `p.name` 查找 | -| `ui` | string | 全部 | `getDimConfig`、controls `show()` | -| `default` | any | 全部 | `syncDefaults` | -| `options` | array | proportion/resolution/select/quantity | 控件 props、`Math.max` | -| `min` / `max` | number | dimensionWidth/dimensionHeight/number | `getDimConfig` 校验边界 | -| `maxCount` | number | imageUpload | `imageUploadLimit` | -| `dimension.separator` | string | dimension | `syncDefaults` 解析 W*H | -| `dimension.width.min/max` | number | dimension | `getDimConfig` 宽度校验 | -| `dimension.height.min/max` | number | dimension | `getDimConfig` 高度校验 | -| `showWhen` | object | 任意 | 条件显示(需前端改造) | - -## 已配置数据 - -`ai_painting_talk`(AI绘画new)平台下 8 个模型已完成参数配置: - -| 模型 | 输入类型 | 参数数 | -|------|---------|--------| -| Flux 2 | text | 5 | -| Z-Image Turbo | text | 3 | -| 即梦4.6 | text | 4 | -| 通义万相2.0 | text | 3 | -| GPT-Image-2 | text | 4 | -| Nano Pro | image | 4 | -| 通义万相2.0 Pro | image | 4 | -| GPT-Image-2 I2I | image | 5 | - -`ai_video_talk`(AI视频new)暂未配置。 - -## 客户端接入 - -AI_Painting_V2.0 前端可调用 `GET /suanli/v1/models/{modelId}/config` 获取参数配置,替代当前的本地 JS 硬编码和远程 JSON 拉取。接入后删除: - -- `src/platforms/painting/models/` 目录 -- `src/utils/modelConfig.js` -- `src/utils/createTask.js` - -## 注意事项 - -- 参数配置**不同步到转发层**,仅用于驱动前端 UI 渲染,不影响任务执行 -- 模型 ID 为 UUID 格式,需从「模型管理」页面复制 -- 直接操作数据库(手动 SQL 插入/更新)不会触发任何副作用,安全