fix: sessionId 改为请求体传参不再使用 X-Session-Id 请求头
This commit is contained in:
parent
fea5f87e5b
commit
5022404792
@ -168,7 +168,7 @@ props: (config) => ({
|
||||
1. 用户选择模型 → `platform.loadConfig(modelName, modelType)` → 调用 `GET /suanli/v1/models/:id/config`(优先 60s 缓存)加载参数 schema
|
||||
2. 参数 schema 驱动 `controls` 渲染 UI,用户填写参数
|
||||
3. 用户点击发送 → `handleStart()` → `platform.buildTaskBody({ prompt, referenceImages })` 返回扁平 `modelParams`
|
||||
4. `taskPolling.js` 直接读取 `data.body` → `getModelId(type, modelName)` 查找 UUID → POST `/suanli/v1/tasks`(`X-Session-Id` header)
|
||||
4. `taskPolling.js` 直接读取 `data.body` → `getModelId(type, modelName)` 查找 UUID → POST `/suanli/v1/tasks`(请求体含 `sessionId`)
|
||||
5. 20s 间隔轮询直至完成/失败
|
||||
|
||||
### 模型标识与查找
|
||||
@ -298,8 +298,7 @@ Music 平台与 Painting/Video 的关键差异:
|
||||
|
||||
### 关键注意事项
|
||||
|
||||
- **`sessionId`** 来自登录接口返回的 `userInfo.sessionId`,存储在 `useUserStore().userInfo` 中。`taskPolling.js` 必须使用该值,禁止随机生成。
|
||||
- **`X-Session-Id`** 自定义 header 需要 nginx 在 `/suanli/` location 的 `Access-Control-Allow-Headers` 中加入,否则 POST 请求会触发 CORS 预检失败。
|
||||
- **`sessionId`** 来自登录接口返回的 `userInfo.sessionId`,存储在 `useUserStore().userInfo` 中,通过请求体 `sessionId` 字段传递给创建任务接口。`taskPolling.js` 必须使用该值,禁止随机生成。
|
||||
- **模型列表缓存**:`modelApi.js` 中 `fetchPlatformModels` 使用 localStorage 30 秒 TTL + `pendingRequests` Map 并发去重。
|
||||
- **模型配置缓存**:`modelApi.js` 中 `getModelConfig` 使用 localStorage 60 秒 TTL + `pendingConfigRequests` Map 并发去重。`loadModels()` 会在获取模型列表后调用 `preloadModelConfigs` 批量预加载。
|
||||
- **平台包预加载**:dialogBox 顶层 `import` Painting 和 Video 平台包,触发自注册,确保首次使用时 registry 已就绪。
|
||||
@ -344,7 +343,7 @@ Music 平台与 Painting/Video 的关键差异:
|
||||
|
||||
| 函数 | 端点 | 用途 |
|
||||
|------|------|------|
|
||||
| `requestCreateTask` | POST `/suanli/v1/tasks` | 创建任务(带 `X-Session-Id` header) |
|
||||
| `requestCreateTask` | POST `/suanli/v1/tasks` | 创建任务(请求体含 `sessionId`) |
|
||||
| `requestTaskStatus` | GET `/suanli/v1/tasks/:id` | 查询单个任务状态 |
|
||||
| `requestTaskHistory` | GET `/suanli/v1/tasks/history` | 历史任务列表(支持 `user_id`/`platform_code`/`page`/`pageSize`) |
|
||||
| `fetchPlatformModels` | GET `/suanli/v1/platforms/:code/models` | 获取平台模型列表(返回 `{id(UUID), name, display_name, tags, disabled?}`)。`id`=UUID 主键,`name`=内部标识,`display_name`=用户可见名 |
|
||||
|
||||
@ -15,10 +15,8 @@ export function deleteGenerateHistory(query) {
|
||||
// ==================== 任务 API(axios,经由 /suanli 前缀路由到算力调度后端) ====================
|
||||
|
||||
// 创建生成任务(HTTP POST /suanli/v1/tasks)
|
||||
export function requestCreateTask(body, sessionId) {
|
||||
return service.post('/suanli/v1/tasks', body, {
|
||||
headers: { 'X-Session-Id': sessionId }
|
||||
})
|
||||
export function requestCreateTask(body) {
|
||||
return service.post('/suanli/v1/tasks', body)
|
||||
}
|
||||
|
||||
// 查询任务状态 / 获取历史任务结果(HTTP GET /suanli/v1/tasks/:id)
|
||||
|
||||
@ -100,11 +100,12 @@ export async function generate(data, generateData) {
|
||||
model_id: data.modelId,
|
||||
body,
|
||||
request: data.request,
|
||||
platform_code: getPlatformCode(data.type)
|
||||
platform_code: getPlatformCode(data.type),
|
||||
sessionId
|
||||
}
|
||||
|
||||
// POST 创建任务
|
||||
const createResult = await requestCreateTask(requestBody, sessionId)
|
||||
const createResult = await requestCreateTask(requestBody)
|
||||
|
||||
if (createResult.code !== 0) {
|
||||
ElNotification({
|
||||
|
||||
Loading…
Reference in New Issue
Block a user