From 66f77da75419d981ca595507d49a52bf23f25c45 Mon Sep 17 00:00:00 2001 From: BTMuli Date: Sat, 14 Mar 2026 00:14:32 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20=E4=BF=AE=E5=A4=8D=E8=A7=92?= =?UTF-8?q?=E8=89=B2=E7=94=9F=E6=97=A5=E5=88=A4=E6=96=AD=E9=80=BB=E8=BE=91?= =?UTF-8?q?=EF=BC=8C=E4=BC=98=E5=8C=96=E8=BF=94=E5=9B=9E=E7=BB=93=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/plugins/Sqlite/modules/avatarBirth.ts | 37 ++++++++++++++--------- 1 file changed, 23 insertions(+), 14 deletions(-) diff --git a/src/plugins/Sqlite/modules/avatarBirth.ts b/src/plugins/Sqlite/modules/avatarBirth.ts index 4d4e19ba..958834a8 100644 --- a/src/plugins/Sqlite/modules/avatarBirth.ts +++ b/src/plugins/Sqlite/modules/avatarBirth.ts @@ -1,6 +1,6 @@ /** * 角色生日模块 - * @since Beta v0.9.1 + * @since Beta v0.9.9 */ import { @@ -12,7 +12,7 @@ import { /** * 判断今天是不是角色生日 - * @since Beta v0.4.6 + * @since Beta v0.9.9 * @returns 角色生日 */ function isAvatarBirth(): Array { @@ -20,19 +20,28 @@ function isAvatarBirth(): Array { const month = date.getMonth() + 1; const day = date.getDate(); const days = ArcBirCalendar[month]; - const find = days.filter((i) => i.role_birthday === `${month}/${day}`); - if (find.length > 0) { - for (const i of find) i.is_subscribe = true; - return find; + const resId = new Set(); + const res: Array = []; + const rawFind = days.filter((i) => i.role_birthday === `${month}/${day}`); + if (rawFind.length > 0) { + res.push(...rawFind); + rawFind.map((i) => resId.add(i.role_id)); } - const find2 = AppCharacterData.filter((i) => i.birthday.toString() === [month, day].toString()); - return find2.map((i) => ({ - role_id: i.id, - name: i.name, - role_birthday: `${month}/${day}`, - head_icon: `/WIKI/character/${i.id}.webp`, - is_subscribe: false, - })); + const wikiFind = AppCharacterData.filter( + (i) => i.birthday.toString() === [month, day].toString(), + ); + for (const i of wikiFind) { + if (resId.has(i.id)) continue; + res.push({ + role_id: i.id, + name: i.name, + role_birthday: `${month}/${day}`, + head_icon: `/WIKI/character/${i.id}.webp`, + is_subscribe: false, + }); + resId.add(i.id); + } + return res; } /**