refactor: 收口视觉小说详情 session 映射

This commit is contained in:
2026-06-04 05:09:49 +08:00
parent 0dc326b79e
commit 20a21ee78b
6 changed files with 183 additions and 24 deletions

View File

@@ -537,6 +537,7 @@ import {
buildJumpHopPendingSession,
buildPuzzleRuntimeWorkFromSession,
buildSquareHoleProfileFromSession,
buildVisualNovelSessionFromWorkDetail,
buildWoodenFishPendingSession,
buildWoodenFishSessionFromWorkDetail,
} from './platformMiniGameSessionMappingModel';
@@ -736,22 +737,6 @@ const PUZZLE_DRAFT_GENERATION_POINT_COST = 2;
const MATCH3D_DRAFT_GENERATION_POINT_COST = 10;
const BARK_BATTLE_DRAFT_GENERATION_POINT_COST = 3;
function mapVisualNovelWorkDetailToSession(
work: VisualNovelWorkDetail,
): VisualNovelAgentSessionSnapshot {
return {
sessionId: work.sourceSessionId?.trim() || work.workId,
ownerUserId: work.summary.ownerUserId,
sourceMode: work.draft.sourceMode,
status: 'ready',
messages: [],
draft: work.draft,
pendingAction: null,
createdAt: work.createdAt,
updatedAt: work.summary.updatedAt,
};
}
function mergePuzzleWorkSummary(
current: PuzzleWorkSummary,
updated: PuzzleWorkSummary,
@@ -11094,7 +11079,7 @@ export function PlatformEntryFlowShellImpl({
try {
const { work } = await getVisualNovelWorkDetail(item.profileId);
setVisualNovelWork(work);
setVisualNovelSession(mapVisualNovelWorkDetailToSession(work));
setVisualNovelSession(buildVisualNovelSessionFromWorkDetail(work));
enterCreateTab();
setSelectionStage('visual-novel-result');
} catch (error) {