Просмотр исходного кода

feat(ratio): parse advanced ratio fields in data initialization

- Parse 5 new JSON fields from props.options
- Extend modelNames Set to include keys from all ratio fields
- Add 5 new fields to model data objects

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
master
fengsilin 1 неделю назад
Родитель
Сommit
0ea023037a
1 измененных файлов: 21 добавлений и 0 удалений
  1. +21
    -0
      web/src/pages/Setting/Ratio/ModelSettingsVisualEditor.jsx

+ 21
- 0
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 !== ''),
};
});


Загрузка…
Отмена
Сохранить