diff --git a/web/src/pages/Setting/Ratio/ModelSettingsVisualEditor.jsx b/web/src/pages/Setting/Ratio/ModelSettingsVisualEditor.jsx index 65bfe81..ebfdaf8 100644 --- a/web/src/pages/Setting/Ratio/ModelSettingsVisualEditor.jsx +++ b/web/src/pages/Setting/Ratio/ModelSettingsVisualEditor.jsx @@ -61,12 +61,23 @@ export default function ModelSettingsVisualEditor(props) { const modelPrice = JSON.parse(props.options.ModelPrice || '{}'); const modelRatio = JSON.parse(props.options.ModelRatio || '{}'); const completionRatio = JSON.parse(props.options.CompletionRatio || '{}'); + // 新增:解析高级倍率字段 + const cacheRatio = JSON.parse(props.options.CacheRatio || '{}'); + const createCacheRatio = JSON.parse(props.options.CreateCacheRatio || '{}'); + const imageRatio = JSON.parse(props.options.ImageRatio || '{}'); + const audioRatio = JSON.parse(props.options.AudioRatio || '{}'); + const audioCompletionRatio = JSON.parse(props.options.AudioCompletionRatio || '{}'); // 合并所有模型名称 const modelNames = new Set([ ...Object.keys(modelPrice), ...Object.keys(modelRatio), ...Object.keys(completionRatio), + ...Object.keys(cacheRatio), + ...Object.keys(createCacheRatio), + ...Object.keys(imageRatio), + ...Object.keys(audioRatio), + ...Object.keys(audioCompletionRatio), ]); const modelData = Array.from(modelNames).map((name) => { @@ -74,12 +85,22 @@ export default function ModelSettingsVisualEditor(props) { const ratio = modelRatio[name] === undefined ? '' : modelRatio[name]; const comp = completionRatio[name] === undefined ? '' : completionRatio[name]; + const cacheR = cacheRatio[name] === undefined ? '' : cacheRatio[name]; + const cacheCreationR = createCacheRatio[name] === undefined ? '' : createCacheRatio[name]; + const imageR = imageRatio[name] === undefined ? '' : imageRatio[name]; + const audioR = audioRatio[name] === undefined ? '' : audioRatio[name]; + const audioCompR = audioCompletionRatio[name] === undefined ? '' : audioCompletionRatio[name]; return { name, price, ratio, completionRatio: comp, + cacheRatio: cacheR, + cacheCreationRatio: cacheCreationR, + imageRatio: imageR, + audioRatio: audioR, + audioCompletionRatio: audioCompR, hasConflict: price !== '' && (ratio !== '' || comp !== ''), }; });