“重新编辑修改”

This commit is contained in:
sjy
2026-07-11 15:57:34 +08:00
parent fed6ba2e19
commit 4ab2baae43
3 changed files with 93 additions and 55 deletions
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -28,7 +28,7 @@
}
})();
</script>
<script type="module" crossorigin src="/assets/index-BeB-hsdi.js"></script>
<script type="module" crossorigin src="/assets/index-DpuQqyoC.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-JhRVnnL-.css">
</head>
<body>
+47 -9
View File
@@ -165,7 +165,8 @@ const AIChatPage: React.FC = () => {
} = useAppStore();
// 获取当前选中引擎的媒体上传限制
const currentEngineList = mediaType === 'image' ? enginesele?.image : enginesele?.video;
const enginesData = Array.isArray(enginesele) ? {} : enginesele;
const currentEngineList = mediaType === 'image' ? enginesData.image : enginesData.video;
const currentEngine = currentEngineList?.find((e: any) => e.id === countType);
const maxImageCount = currentEngine?.maxImageCount ?? 4;
const maxVideoCount = currentEngine?.maxVideoCount ?? 1;
@@ -547,7 +548,8 @@ const AIChatPage: React.FC = () => {
return;
}
if (!enginesLoaded) return;
const newOptions = mediaType === 'image' ? enginesele.image : enginesele.video;
const enginesData = Array.isArray(enginesele) ? {} : enginesele;
const newOptions = mediaType === 'image' ? enginesData.image : enginesData.video;
if (newOptions && newOptions.length > 0) {
const isValidOption = newOptions.some((item: any) => item.id === countType);
if (!isValidOption) {
@@ -576,13 +578,17 @@ const AIChatPage: React.FC = () => {
if (showVideoSettingsModal && !target.closest('.image-settings-popover') && !target.closest('.image-settings-trigger')) {
setShowVideoSettingsModal(false);
}
// 关闭参考模式选择弹窗
if (referenceModeDropdownVisible && !target.closest('.image-settings-popover') && !target.closest('.image-settings-trigger')) {
setReferenceModeDropdownVisible(false);
}
};
document.addEventListener('mousedown', handleClickOutside);
return () => {
document.removeEventListener('mousedown', handleClickOutside);
};
}, [showMediaTypeModal, showEngineModal, showImageSettingsModal, showVideoSettingsModal]);
}, [showMediaTypeModal, showEngineModal, showImageSettingsModal, showVideoSettingsModal, referenceModeDropdownVisible]);
useEffect(() => {
if (isReEditingRef.current) {
@@ -590,7 +596,7 @@ const AIChatPage: React.FC = () => {
return;
}
if (mediaType !== 'video') return;
const engine = enginesele?.video?.find((e: any) => e.id === countType);
const engine = enginesData.video?.find((e: any) => e.id === countType);
if (!engine) return;
const supportsFLF = engine.supportsFirstLastFrame ?? false;
@@ -2118,7 +2124,7 @@ const AIChatPage: React.FC = () => {
)}
{/* 遍历消息列表 */}
{(() => {
const msgApi = message;
const msgApi = antdMessage;
return gen_list.map((msg) => (
<div
key={msg.id}
@@ -2197,7 +2203,8 @@ const AIChatPage: React.FC = () => {
let engineFound = true;
const engineId = msg.engineId || msg.engineSnapshot?.id || msg.engine_id;
if (engineId && msg.genType) {
const engineList = msg.genType === 'image' ? enginesele.image : enginesele.video;
const enginesData = Array.isArray(enginesele) ? {} : enginesele;
const engineList = msg.genType === 'image' ? enginesData.image : enginesData.video;
const engine = engineList?.find((e: any) => e.id === engineId);
if (engine) {
setCountType(engine.id);
@@ -2270,12 +2277,43 @@ const AIChatPage: React.FC = () => {
})));
setFirstFrame(null);
setLastFrame(null);
setReferenceMode('universal');
if (msg.genType === 'video') {
const videoEngine = enginesData.video?.find((e: any) => e.id === engineId);
if (videoEngine) {
const supportsUR = videoEngine.supportsUniversalReference ?? true;
const supportsFLF = videoEngine.supportsFirstLastFrame ?? false;
if (supportsUR) {
setReferenceMode('universal');
} else if (supportsFLF) {
setReferenceMode('first_last_frame');
} else {
setReferenceMode('universal');
}
} else {
setReferenceMode('universal');
}
} else {
setReferenceMode('universal');
}
}
} else {
setCurrentMedia([]);
setFirstFrame(null);
setLastFrame(null);
if (msg.genType === 'video') {
const videoEngine = enginesele?.video?.find((e: any) => e.id === engineId);
if (videoEngine) {
const supportsUR = videoEngine.supportsUniversalReference ?? true;
const supportsFLF = videoEngine.supportsFirstLastFrame ?? false;
if (supportsUR) {
setReferenceMode('universal');
} else if (supportsFLF) {
setReferenceMode('first_last_frame');
} else {
setReferenceMode('universal');
}
}
}
}
msgApi.success('已加载到编辑区');
}}
@@ -3505,7 +3543,7 @@ const AIChatPage: React.FC = () => {
fontWeight: 500,
color: '#2f3440',
}}>
{mediaType === 'image' ? enginesele.image?.find((e: any) => e.id === countType)?.name : enginesele.video?.find((e: any) => e.id === countType)?.name || '选择引擎'}
{mediaType === 'image' ? enginesData.image?.find((e: any) => e.id === countType)?.name : enginesData.video?.find((e: any) => e.id === countType)?.name || '选择引擎'}
</Text>
<CaretDownOutlined style={{ fontSize: 10, color: '#8b5cf6', marginLeft: 'auto' }} />
</button>
@@ -3544,7 +3582,7 @@ const AIChatPage: React.FC = () => {
flexDirection: 'column',
gap: 4,
}}>
{(mediaType === 'image' ? enginesele.image : enginesele.video)?.map((engine: any) => (
{(mediaType === 'image' ? enginesData.image : enginesData.video)?.map((engine: any) => (
<button
key={engine.id}
onClick={() => {