From 2d9495b013822aa1e54548cb1b35191912990c70 Mon Sep 17 00:00:00 2001 From: Hardy--Lee Date: Tue, 20 Jan 2026 19:09:59 +0800 Subject: [PATCH] fix: update appreciation data properly --- packages/webgal/src/Core/gameScripts/bgm.ts | 4 ++++ packages/webgal/src/Core/gameScripts/changeBg/index.ts | 3 +++ packages/webgal/src/store/userDataReducer.ts | 4 ++-- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/webgal/src/Core/gameScripts/bgm.ts b/packages/webgal/src/Core/gameScripts/bgm.ts index aabd6f9f2..d39a88ed7 100644 --- a/packages/webgal/src/Core/gameScripts/bgm.ts +++ b/packages/webgal/src/Core/gameScripts/bgm.ts @@ -4,6 +4,8 @@ import { playBgm } from '@/Core/controller/stage/playBgm'; import { getNumberArgByKey, getStringArgByKey } from '@/Core/util/getSentenceArg'; import { webgalStore } from '@/store/store'; import { unlockBgmInUserData } from '@/store/userDataReducer'; +import localforage from 'localforage'; +import { WebGAL } from '../WebGAL'; /** * 播放一段bgm @@ -20,6 +22,8 @@ export const bgm = (sentence: ISentence): IPerform => { if (name !== '') { webgalStore.dispatch(unlockBgmInUserData({ name, url, series })); + const userDataState = webgalStore.getState().userData; + localforage.setItem(WebGAL.gameKey, userDataState).then(() => {}); } playBgm(url, enter, volume); diff --git a/packages/webgal/src/Core/gameScripts/changeBg/index.ts b/packages/webgal/src/Core/gameScripts/changeBg/index.ts index 966422df5..c40c98e3b 100644 --- a/packages/webgal/src/Core/gameScripts/changeBg/index.ts +++ b/packages/webgal/src/Core/gameScripts/changeBg/index.ts @@ -14,6 +14,7 @@ import cloneDeep from 'lodash/cloneDeep'; import { getAnimateDuration } from '@/Core/Modules/animationFunctions'; import { WebGAL } from '@/Core/WebGAL'; import { DEFAULT_BG_OUT_DURATION } from '@/Core/constants'; +import localforage from 'localforage'; /** * 进行背景图片的切换 @@ -34,6 +35,8 @@ export const changeBg = (sentence: ISentence): IPerform => { const dispatch = webgalStore.dispatch; if (unlockName !== '') { dispatch(unlockCgInUserData({ name: unlockName, url, series })); + const userDataState = webgalStore.getState().userData; + localforage.setItem(WebGAL.gameKey, userDataState).then(() => {}); } /** diff --git a/packages/webgal/src/store/userDataReducer.ts b/packages/webgal/src/store/userDataReducer.ts index e6b5c7c7b..465aa9211 100644 --- a/packages/webgal/src/store/userDataReducer.ts +++ b/packages/webgal/src/store/userDataReducer.ts @@ -69,7 +69,7 @@ const userDataSlice = createSlice({ state.appreciationData.cg.forEach((e) => { if (url === e.url) { isExist = true; - e.url = url; + e.name = name; e.series = series; } }); @@ -84,7 +84,7 @@ const userDataSlice = createSlice({ state.appreciationData.bgm.forEach((e) => { if (url === e.url) { isExist = true; - e.url = url; + e.name = name; e.series = series; } });