From a475315eb74f96a3fff7ab16e3a05a6e16236fd5 Mon Sep 17 00:00:00 2001 From: zikai Date: Wed, 22 Jul 2026 04:02:43 +0000 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=A7=A3=E6=9E=90=20ICS=20=E6=97=B6?= =?UTF-8?q?=E7=BC=BA=E5=A4=B1=20UID=20=E5=AF=BC=E8=87=B4=E5=85=A8=E9=83=A8?= =?UTF-8?q?=E6=97=A5=E7=A8=8B=E8=A2=AB=E5=90=8C=E6=97=B6=E9=80=89=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ical-io.js 中 UID 缺失时回退为空字符串, 导致所有事件共享 uid='', EventList 的 active 判断和 selectedEvent 的 find() 全部命中第一个事件。 改为缺失时调用 genUUID() 生成唯一 UID。 --- src/lib/ical-io.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lib/ical-io.js b/src/lib/ical-io.js index 498c62d..606c902 100644 --- a/src/lib/ical-io.js +++ b/src/lib/ical-io.js @@ -1,5 +1,6 @@ import ICAL from 'ical.js' import { pad2, parseISODate } from './date.js' +import { genUUID } from './uuid.js' // ------------------------------------------------------------------ // // 时区注册 (ical.js 不内置 IANA 时区) @@ -77,7 +78,7 @@ function parseEvent(veventComp) { if (dtstamp) _raw.dtstamp = dtstamp.toICALString() return { - uid: veventComp.getFirstPropertyValue('uid') || '', + uid: veventComp.getFirstPropertyValue('uid') || genUUID(), summary: veventComp.getFirstPropertyValue('summary') || '', location: veventComp.getFirstPropertyValue('location') || '', description: veventComp.getFirstPropertyValue('description') || '',