feat: 完善敲木鱼结果页元信息补录
This commit is contained in:
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user