refactor: 删除历史遗留的 selectedHumanId/selectedElementId 字段
这两个字段是早期数字人方案的遗留,当前业务已完全不使用: - types/project.ts: 删除字段定义 - store/projectStore.ts: 删除 setSelectedHumanId/setSelectedAvatarInfo action - api/modules/localStorage.ts: 删除序列化 - VideoCreation/index.tsx: 删除加载恢复逻辑 - utils/projectMeta.ts: 删除默认值 当前素材选择实际只有: - 人物素材: avatarMaterialPath/Name/Duration(对口型用) - 空镜素材: userUploadedMaterials + emptyShotMaterial
This commit is contained in:
@@ -99,8 +99,6 @@ export const localProjectApi = {
|
||||
coverPath: meta.coverPath,
|
||||
finalVideoPath: meta.finalVideoPath,
|
||||
exportedAt: meta.exportedAt,
|
||||
selectedHumanId: meta.selectedHumanId,
|
||||
selectedElementId: meta.selectedElementId,
|
||||
selectedVoiceId: meta.selectedVoiceId,
|
||||
composedVideoUrl: meta.composedVideoUrl,
|
||||
composedVideoPath: meta.composedVideoPath,
|
||||
|
||||
@@ -64,8 +64,6 @@ function VideoCreationContent() {
|
||||
if (meta.subtitleAlignment !== undefined) updates.subtitleAlignment = meta.subtitleAlignment;
|
||||
|
||||
// Step 3 视频生成
|
||||
if (meta.selectedElementId !== undefined) updates.selectedElementId = meta.selectedElementId;
|
||||
if (meta.selectedHumanId !== undefined) updates.selectedHumanId = meta.selectedHumanId;
|
||||
if (meta.avatarMaterialPath !== undefined) updates.avatarMaterialPath = meta.avatarMaterialPath;
|
||||
if (meta.avatarMaterialName !== undefined) updates.avatarMaterialName = meta.avatarMaterialName;
|
||||
if (meta.avatarMaterialDuration !== undefined) updates.avatarMaterialDuration = meta.avatarMaterialDuration;
|
||||
|
||||
@@ -21,8 +21,6 @@ interface ProjectActions {
|
||||
setTopic: (topic: string) => void;
|
||||
setTitle: (title: string) => void;
|
||||
setCurrentStep: (step: number) => void;
|
||||
setSelectedHumanId: (id: string | undefined) => void;
|
||||
setSelectedAvatarInfo: (humanId?: string, elementId?: number, voiceId?: string) => void;
|
||||
setAvatarMaterial: (path?: string, name?: string, duration?: number) => void;
|
||||
setSelectedVoiceId: (voiceId: string) => void;
|
||||
setFinalVideoPath: (path: string | undefined) => void;
|
||||
@@ -173,21 +171,6 @@ export const useProjectStore = create<ProjectStore>()(
|
||||
state.currentStep = step;
|
||||
}),
|
||||
|
||||
setSelectedHumanId: id => {
|
||||
set(state => {
|
||||
state.selectedHumanId = id;
|
||||
state.updatedAt = Date.now();
|
||||
});
|
||||
// 不再即时落盘,统一在视频生成完成回调中保存到 meta.json
|
||||
},
|
||||
setSelectedAvatarInfo: (humanId, elementId, voiceId) => {
|
||||
set(state => {
|
||||
state.selectedHumanId = humanId;
|
||||
state.selectedElementId = elementId;
|
||||
state.selectedVoiceId = voiceId;
|
||||
state.updatedAt = Date.now();
|
||||
});
|
||||
},
|
||||
setAvatarMaterial: (path, name, duration) => {
|
||||
set(state => {
|
||||
state.avatarMaterialPath = path;
|
||||
@@ -254,7 +237,7 @@ export const useProjectStore = create<ProjectStore>()(
|
||||
partialize: (state) => ({
|
||||
// 只保存 UI 状态,不保存项目业务数据
|
||||
_isLoading: state._isLoading,
|
||||
// 不保存: segments, selectedHumanId, finalVideoPath, coverPath 等
|
||||
// 不保存: segments, finalVideoPath, coverPath 等
|
||||
}),
|
||||
onRehydrateStorage: () => state => {
|
||||
if (state) {
|
||||
|
||||
@@ -83,8 +83,6 @@ export interface ProjectMeta {
|
||||
topic?: string;
|
||||
|
||||
// === 素材选择 ===
|
||||
selectedHumanId?: string;
|
||||
selectedElementId?: number;
|
||||
selectedVoiceId?: string;
|
||||
avatarMaterialPath?: string;
|
||||
avatarMaterialName?: string;
|
||||
|
||||
@@ -148,8 +148,6 @@ export function migrateMeta(raw: Record<string, any>): Partial<ProjectMeta> {
|
||||
*/
|
||||
export const BLANK_META_OVERRIDES: MetaOverrides = {
|
||||
topic: undefined,
|
||||
selectedHumanId: undefined,
|
||||
selectedElementId: undefined,
|
||||
selectedVoiceId: undefined,
|
||||
finalVideoPath: undefined,
|
||||
coverPath: undefined,
|
||||
|
||||
Reference in New Issue
Block a user