From 92d2e847bd02456cf002be835c0ecd444e62db4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9B=AE=E6=A3=83?= Date: Fri, 10 May 2024 23:40:46 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20=E4=BF=AE=E5=A4=8D=E5=AF=BC?= =?UTF-8?q?=E5=87=BA=E5=AD=97=E6=AE=B5=E6=95=B0=E6=8D=AE=E7=BC=BA=E5=A4=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/data/schema/uiaf-schema.json | 3 +-- src/plugins/Sqlite/modules/userAchi.ts | 4 +++- src/utils/UIAF.ts | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/data/schema/uiaf-schema.json b/src/data/schema/uiaf-schema.json index 60beba8b..9edbab47 100644 --- a/src/data/schema/uiaf-schema.json +++ b/src/data/schema/uiaf-schema.json @@ -41,8 +41,7 @@ "status": { "type": "number", "description": "Finished status", - "enum": [0, 1, 2, 3], - "enumDesc": "ACHIEVEMENT_INVALID = 0; ACHIEVEMENT_UNFINISHED = 1; ACHIEVEMENT_FINISHED = 2;ACHIEVEMENT_POINT_TAKEN = 3;" + "enum": [0, 1, 2, 3] }, "timestamp": { "type": "number", diff --git a/src/plugins/Sqlite/modules/userAchi.ts b/src/plugins/Sqlite/modules/userAchi.ts index a0d4df72..6fad86f1 100644 --- a/src/plugins/Sqlite/modules/userAchi.ts +++ b/src/plugins/Sqlite/modules/userAchi.ts @@ -141,10 +141,12 @@ async function updateAchievement(data: TGApp.Sqlite.Achievement.SingleTable): Pr */ function transDb2Uiaf(data: TGApp.Sqlite.Achievement.SingleTable): TGApp.Plugins.UIAF.Achievement { const isCompleted = data.isCompleted === 1; + let timestamp = 0; + if (isCompleted) timestamp = new Date(data.completedTime).getTime(); const status = getUiafStatus(isCompleted, data.progress); return { id: data.id, - timestamp: data.timestamp, + timestamp: timestamp, current: data.progress, status, }; diff --git a/src/utils/UIAF.ts b/src/utils/UIAF.ts index 907866ba..18e73f54 100644 --- a/src/utils/UIAF.ts +++ b/src/utils/UIAF.ts @@ -54,7 +54,7 @@ export async function getUiafHeader(): Promise { */ export async function verifyUiafData(path: string): Promise { const fileData: string = await fs.readTextFile(path); - const ajv = new Ajv({ strict: false }); + const ajv = new Ajv(); const validate = ajv.compile(UiafSchema); try { const fileJson = JSON.parse(fileData);