feat: 完善敲木鱼结果页元信息补录

This commit is contained in:
2026-05-24 20:34:36 +08:00
parent 8638397faa
commit 838c74d8fe
14 changed files with 757 additions and 215 deletions

View File

@@ -7699,6 +7699,54 @@ export function PlatformEntryFlowShellImpl({
],
);
const updateWoodenFishWorkMeta = useCallback(
async (payload: {
workTitle: string;
workDescription: string;
themeTags: string[];
}) => {
const sessionId = woodenFishSession?.sessionId?.trim();
const profileId =
woodenFishWork?.summary.profileId?.trim() ||
woodenFishSession?.draft?.profileId?.trim() ||
'';
if (!sessionId || !profileId) {
setWoodenFishError('敲木鱼草稿尚未生成可保存作品信息。');
setSelectionStage('wooden-fish-result');
return false;
}
setIsWoodenFishBusy(true);
setWoodenFishError(null);
try {
const response = await woodenFishClient.executeAction(sessionId, {
actionType: 'update-work-meta',
profileId,
workTitle: payload.workTitle,
workDescription: payload.workDescription,
themeTags: payload.themeTags,
});
setWoodenFishSession(response.session);
setWoodenFishWork(response.work ?? woodenFishWork);
return true;
} catch (error) {
setWoodenFishError(
resolveRpgCreationErrorMessage(error, '保存敲木鱼作品信息失败。'),
);
setSelectionStage('wooden-fish-result');
return false;
} finally {
setIsWoodenFishBusy(false);
}
},
[
setSelectionStage,
woodenFishSession?.draft?.profileId,
woodenFishSession?.sessionId,
woodenFishWork,
],
);
const publishWoodenFishDraft = useCallback(async () => {
const profileId = woodenFishWork?.summary.profileId?.trim();
if (!profileId) {
@@ -14386,6 +14434,7 @@ export function PlatformEntryFlowShellImpl({
onRegenerateHitObject={() => {
void regenerateWoodenFishAsset('regenerate-hit-object');
}}
onUpdateWorkMeta={updateWoodenFishWorkMeta}
/>
</Suspense>
</motion.div>