“重新编辑修改”
This commit is contained in:
+45
-45
File diff suppressed because one or more lines are too long
Vendored
+1
-1
@@ -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>
|
||||
|
||||
@@ -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={() => {
|
||||
|
||||
Reference in New Issue
Block a user