refactor(*): 稳定期治理 - 收敛核心架构、错误语义并修复跨项目数据竞态

This commit is contained in:
ddCat
2026-09-09 22:02:10 +08:00
parent bacd502f5c
commit b5f3413ded
298 changed files with 12681 additions and 26428 deletions

View File

@@ -10,6 +10,7 @@ import { ListToolbar, PageHeader, PaginationBar, WorkspacePage } from "@/compone
import { WorkspaceState } from "@/components/layout/workspace-state";
import { CONTENT_MODERATION_ERROR_CODE, generationErrorMessage, isContentModerationError } from "@/lib/generation-error";
import { formatTaskKind, isGenerationTaskSubmissionUncertain, operationOptions, statusLabel } from "@/lib/generation-task-display";
import { buildVideoOperationPrompt } from "@/lib/prompts";
import { backendProviderConfig, logicalModelIDForConfig } from "@/services/api/generation-task";
import { createAgentSession, createGenerationTask, deleteGenerationTask, formatTaskLog, listGenerationTasks, listTaskLogs, queryFailedVideoProviderTask, queryGenerationTask, refreshGenerationTaskStatus, retryGenerationTask, type CreateTaskInput, type GenerationTask, type TaskLog } from "@/services/api/task-center";
@@ -54,7 +55,7 @@ function taskStatusFilter(value: string | null): TaskStatusFilter {
}
export default function TasksPage() {
const { message } = App.useApp();
const { message, modal } = App.useApp();
const navigate = useNavigate();
const [searchParams, setSearchParams] = useSearchParams();
const effectiveConfig = useEffectiveConfig();
@@ -191,9 +192,16 @@ export default function TasksPage() {
return;
}
let cancelled = false;
void listProjects().then((result) => {
if (!cancelled) setDomainProjects(result.projects);
}).catch(() => undefined);
void listProjects()
.then((result) => {
if (!cancelled) setDomainProjects(result.projects);
})
.catch((error) => {
if (cancelled) return;
// 领域项目只是任务页的辅助筛选数据;读取失败不能阻断任务列表,但必须清空旧快照并留下可检索的诊断。
setDomainProjects([]);
console.warn("加载任务关联项目失败,已禁用本次项目筛选", error);
});
return () => {
cancelled = true;
};
@@ -315,7 +323,7 @@ export default function TasksPage() {
message.warning("任务正在执行,不能删除本机记录;请等待任务完成");
return;
}
Modal.confirm({
modal.confirm({
title: "删除本机任务记录?",
content: "这只会删除本机任务记录,不会删除已生成的素材。",
okText: "删除本机记录",
@@ -406,7 +414,7 @@ export default function TasksPage() {
input: {
source: "tasks-page",
mode: values.operation === "compare_versions" ? "workflow" : "video",
prompt: buildVideoOperationPrompt(values.operation, values.prompt),
prompt: buildVideoOperationPrompt(values.operation, values.prompt, operationOptions.find((item) => item.value === values.operation)?.label || "其他视频操作"),
config: values.operation === "compare_versions" ? undefined : backendProviderConfig(requestConfig),
metadata: { videoEditOperation: values.operation },
},
@@ -809,9 +817,3 @@ function formatTaskJson(value?: string) {
return value;
}
}
function buildVideoOperationPrompt(operation: string, prompt: string) {
const operationLabel = operationOptions.find((item) => item.value === operation)?.label || "其他视频操作";
if (operation === "compare_versions") return `请对以下视频结果版本做对比分析,输出推荐版本、差异点和修改建议:\n${prompt}`;
return `视频编辑任务:${operationLabel}\n创作要求:${prompt}`;
}