From d61274c60afc47f94ead70fe9a54eda42299975e Mon Sep 17 00:00:00 2001 From: xy Date: Mon, 5 May 2025 14:27:21 +0800 Subject: [PATCH] fix error: utf8 to base64 --- src/system/game-data.ts | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/system/game-data.ts b/src/system/game-data.ts index e200fa6b3c7..51e488210be 100644 --- a/src/system/game-data.ts +++ b/src/system/game-data.ts @@ -118,15 +118,17 @@ export function getDataTypeKey(dataType: GameDataType, slotId = 0): string { } export function encrypt(data: string, bypassLogin: boolean): string { - return (bypassLogin ? (data: string) => btoa(data) : (data: string) => AES.encrypt(data, saveKey))( - data, - ) as unknown as string; // TODO: is this correct? + return (bypassLogin + ? (data: string) => btoa(encodeURIComponent(data)) + : (data: string) => AES.encrypt(data, saveKey))(data) as unknown as string; // TODO: is this correct? } export function decrypt(data: string, bypassLogin: boolean): string { - return (bypassLogin ? (data: string) => atob(data) : (data: string) => AES.decrypt(data, saveKey).toString(enc.Utf8))( - data, - ); + return ( + bypassLogin + ? (data: string) => decodeURIComponent(atob(data)) + : (data: string) => AES.decrypt(data, saveKey).toString(enc.Utf8) + )(data); } export interface SystemSaveData {