移除废弃的独立识别路径
让联合识别绑定成为 UI 编辑器唯一实现并清理旧状态投影
This commit is contained in:
@@ -231,16 +231,11 @@ export function useUiEditorSession(
|
||||
useState<PendingResourceRemoval | null>(null);
|
||||
const [isSuggesting, setIsSuggesting] = useState(false);
|
||||
const [suggestionStatus, setSuggestionStatus] = useState<string | null>(null);
|
||||
const [isRecognizing, setIsRecognizing] = useState(false);
|
||||
const [recognitionStatus, setRecognitionStatus] = useState<string | null>(
|
||||
null,
|
||||
);
|
||||
const [isMerging, setIsMerging] = useState(false);
|
||||
const [mergeStatus, setMergeStatus] = useState<string | null>(null);
|
||||
const [isBinding, setIsBinding] = useState(false);
|
||||
const [bindingStatus, setBindingStatus] = useState<string | null>(null);
|
||||
const [hasSuggested, setHasSuggested] = useState(false);
|
||||
const [hasRecognized, setHasRecognized] = useState(false);
|
||||
const [hasBound, setHasBound] = useState(false);
|
||||
|
||||
useEffect(() => {
|
||||
@@ -368,7 +363,7 @@ export function useUiEditorSession(
|
||||
image.metadata.role === 'Page' &&
|
||||
!isSlaveToDescendant(images, id as UIDesignImageId, activeImageId),
|
||||
);
|
||||
const isAiRunning = isSuggesting || isRecognizing || isBinding || isMerging;
|
||||
const isAiRunning = isSuggesting || isBinding || isMerging;
|
||||
const isWorkflowBusy =
|
||||
isAiRunning || isSaving || isGenerating || isLoading || editor.isLocked;
|
||||
const stateSignature = JSON.stringify(editor.state);
|
||||
@@ -948,33 +943,6 @@ export function useUiEditorSession(
|
||||
}
|
||||
}
|
||||
|
||||
async function recognizeUi() {
|
||||
if (isRecognizing || isWorkflowBusy) return;
|
||||
setRecognitionStatus(null);
|
||||
setIsRecognizing(true);
|
||||
try {
|
||||
await editor.runWithStateLocked(async (snapshot) => {
|
||||
const result = await invoke<RecognitionAndBindingDTO>(
|
||||
'recognition_and_binding',
|
||||
{
|
||||
projectPath,
|
||||
state: snapshot,
|
||||
},
|
||||
);
|
||||
editor.replaceState(applyRecognitionAndBindingResult(snapshot, result));
|
||||
setHasRecognized(true);
|
||||
setSelectedNodeId(null);
|
||||
setRecognitionStatus(`已替换 ${result.ui_trees.length} 棵界面树。`);
|
||||
});
|
||||
} catch (cause) {
|
||||
setRecognitionStatus(
|
||||
cause instanceof Error ? cause.message : String(cause),
|
||||
);
|
||||
} finally {
|
||||
setIsRecognizing(false);
|
||||
}
|
||||
}
|
||||
|
||||
async function mergeUi() {
|
||||
// TODO: This experimental operation is intentionally outside the formal workflow.
|
||||
if (isMerging || isWorkflowBusy) return;
|
||||
@@ -1155,17 +1123,14 @@ export function useUiEditorSession(
|
||||
operations: {
|
||||
isBinding,
|
||||
isMerging,
|
||||
isRecognizing,
|
||||
isSuggesting,
|
||||
bindingStatus,
|
||||
mergeStatus,
|
||||
recognitionStatus,
|
||||
suggestionStatus,
|
||||
},
|
||||
checkPrerequisites,
|
||||
bindComponents,
|
||||
mergeUi,
|
||||
recognizeUi,
|
||||
suggestUiDesignSemantics,
|
||||
openImporter: setImportKind,
|
||||
selectDesignImage,
|
||||
@@ -1272,10 +1237,6 @@ export function useUiEditorSession(
|
||||
hasSuggested,
|
||||
suggestionStatus,
|
||||
suggestUiDesignSemantics,
|
||||
isRecognizing,
|
||||
hasRecognized,
|
||||
recognitionStatus,
|
||||
recognizeUi,
|
||||
isBinding,
|
||||
hasBound,
|
||||
bindingStatus,
|
||||
|
||||
Reference in New Issue
Block a user