From 0669253abbada00fe81742b166bea8cc43bf0042 Mon Sep 17 00:00:00 2001 From: Caelan <79105826+jin-wang-c@users.noreply.github.com> Date: Thu, 25 Dec 2025 13:46:33 +0800 Subject: [PATCH] feat:dmx-painting-add-extend_params (#12098) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * dmx-painting-add-extend_params * format-code * 更新类型 --- .../src/pages/paintings/DmxapiPage.tsx | 31 +++++++++++++------ .../pages/paintings/config/DmxapiConfig.ts | 2 +- src/renderer/src/types/index.ts | 1 + 3 files changed, 24 insertions(+), 10 deletions(-) diff --git a/src/renderer/src/pages/paintings/DmxapiPage.tsx b/src/renderer/src/pages/paintings/DmxapiPage.tsx index 560e3857ba..e4f8323655 100644 --- a/src/renderer/src/pages/paintings/DmxapiPage.tsx +++ b/src/renderer/src/pages/paintings/DmxapiPage.tsx @@ -140,11 +140,14 @@ const DmxapiPage: FC<{ Options: string[] }> = ({ Options }) => { let model = '' let priceModel = '' let image_size = '' + let extend_params = {} + for (const provider of Object.keys(modelGroups)) { if (modelGroups[provider] && modelGroups[provider].length > 0) { model = modelGroups[provider][0].id priceModel = modelGroups[provider][0].price image_size = modelGroups[provider][0].image_sizes[0].value + extend_params = modelGroups[provider][0].extend_params break } } @@ -153,7 +156,8 @@ const DmxapiPage: FC<{ Options: string[] }> = ({ Options }) => { model, priceModel, image_size, - modelGroups + modelGroups, + extend_params } } @@ -162,7 +166,7 @@ const DmxapiPage: FC<{ Options: string[] }> = ({ Options }) => { const generationMode = params?.generationMode || painting?.generationMode || MODEOPTIONS[0].value - const { model, priceModel, image_size, modelGroups } = getFirstModelInfo(generationMode) + const { model, priceModel, image_size, modelGroups, extend_params } = getFirstModelInfo(generationMode) return { ...DEFAULT_PAINTING, @@ -173,6 +177,7 @@ const DmxapiPage: FC<{ Options: string[] }> = ({ Options }) => { modelGroups, priceModel, image_size, + extend_params, ...params } } @@ -190,7 +195,12 @@ const DmxapiPage: FC<{ Options: string[] }> = ({ Options }) => { const onSelectModel = (modelId: string) => { const model = allModels.find((m) => m.id === modelId) if (model) { - updatePaintingState({ model: modelId, priceModel: model.price, image_size: model.image_sizes[0].value }) + updatePaintingState({ + model: modelId, + priceModel: model.price, + image_size: model.image_sizes[0].value, + extend_params: model.extend_params + }) } } @@ -293,7 +303,7 @@ const DmxapiPage: FC<{ Options: string[] }> = ({ Options }) => { clearImages() - const { model, priceModel, image_size, modelGroups } = getFirstModelInfo(v) + const { model, priceModel, image_size, modelGroups, extend_params } = getFirstModelInfo(v) setModelOptions(modelGroups) @@ -309,9 +319,10 @@ const DmxapiPage: FC<{ Options: string[] }> = ({ Options }) => { // 否则更新当前painting updatePaintingState({ generationMode: v, - model: model, - image_size: image_size, - priceModel: priceModel + model, + image_size, + priceModel, + extend_params }) } } @@ -355,7 +366,8 @@ const DmxapiPage: FC<{ Options: string[] }> = ({ Options }) => { const params = { prompt, model: painting.model, - n: painting.n + n: painting.n, + ...painting?.extend_params } const headerExpand = { @@ -397,7 +409,8 @@ const DmxapiPage: FC<{ Options: string[] }> = ({ Options }) => { const params = { prompt, n: painting.n, - model: painting.model + model: painting.model, + ...painting?.extend_params } if (painting.image_size) { diff --git a/src/renderer/src/pages/paintings/config/DmxapiConfig.ts b/src/renderer/src/pages/paintings/config/DmxapiConfig.ts index 7880f6305c..52af9490c8 100644 --- a/src/renderer/src/pages/paintings/config/DmxapiConfig.ts +++ b/src/renderer/src/pages/paintings/config/DmxapiConfig.ts @@ -84,7 +84,7 @@ export const MODEOPTIONS = [ // 获取模型分组数据 export const GetModelGroup = async (): Promise => { try { - const response = await fetch('https://dmxapi.cn/cherry_painting_models_v2.json') + const response = await fetch('https://dmxapi.cn/cherry_painting_models_v3.json') if (response.ok) { const data = await response.json() diff --git a/src/renderer/src/types/index.ts b/src/renderer/src/types/index.ts index 126c97686e..a75fc1ed3e 100644 --- a/src/renderer/src/types/index.ts +++ b/src/renderer/src/types/index.ts @@ -395,6 +395,7 @@ export interface DmxapiPainting extends PaintingParams { autoCreate?: boolean generationMode?: generationModeType priceModel?: string + extend_params?: Record } export interface TokenFluxPainting extends PaintingParams {