@ebarooni/capacitor-calendar

中文文档
8.10.0发布于 2026/10/17MITTypeScriptESM + CJS零依赖构建来源已验证近 30 天下载 23.5万

一个用于iOS和Android上本土日历事件的Capacitor插件(有iOS上的提醒),和网络上.ics事件创建.

中文使用文档
文档目录64 节
  1. 目录
  2. 特征和平台
  3. 演示
  4. 为什么是这个插件?
  5. MCP 服务器
  6. 电容兼容性
  7. 安装
  8. 设置
  9. 机器人
  10. iOS系统
  11. 官方参考资料
  12. 错误代码
  13. 快速启动
  14. 用法实例
  15. 在网络上创建和下载一个事件
  16. 打开本地事件编辑器
  17. 修改或删除事件
  18. 在一定范围内列出事件
  19. 工作日历
  20. 创建提醒( 只有iOS)
  21. 文档
  22. 更改日志
  23. 中断更改
  24. API 密码
  25. 检查许可(...)
  26. 检查所有许可( A)
  27. 请求许可(...)
  28. 请求全部许可( )
  29. 请求仅写 Calendar 访问 ()
  30. 请求只读 CalendarAccess ()
  31. 请求FullCalendar Access ()
  32. 请求FulllReminders Access( )
  33. 创建 Event With Prompt (...)
  34. 修改 Event With Prompt (...)
  35. 创建 Event (...)
  36. 修改 Event (...)
  37. 删除 EventsById(...)
  38. 删除 Event (...)
  39. 删除 Event With Prompt (...)
  40. 列表 Events In Range (...)
  41. 实施( )
  42. 选择 Calendars With Prompt (...)
  43. 获取 AllCalendar 源代码 ()
  44. 列表计数器( )
  45. 得到DefaultCalendar (...)
  46. 打开日历(...)
  47. 创建 Calendar (...)
  48. 删除日历(...)
  49. 修改日历(...)
  50. 创建 RemindersList (...)
  51. 删除 Reminders 列表(...)
  52. 获取 AllReminders 来源( )
  53. 打开复刻器( )
  54. 获取默认Reminders列表 ()
  55. 获取Reminders 列表 ()
  56. 创建 Reminder (...)
  57. 删除RemindersById(...)
  58. 删除Reminder(...)
  59. 修改Reminder(...)
  60. 获取ReminderById(...)
  61. 获取 Reminders fromLists (...)
  62. 删除 Reminder With Prompt (...)
  63. 更新Reminders列表(...)
  64. 接口

@ebarooni/电容-日历

capacitor-calendar-logo

@ebarooni/capacitor-calendar 连接您的 Capacitor app 到本地日历 。 在iOS和Android上,创建,编辑和列出事件,并管理日历和权限. iOS还支持提醒. 在网络上,插件会构建一个可下载的 .ics 文件; 它不写入设备日历.

目录

特征和平台

能力iOS系统机器人网页
创建、更新和删除事件✅✅仅创建 *
本地提示创建、编辑和删除事件✅✅仅创建 *
列出日期范围内的事件✅✅– 说吧 –
请求日历权限✅✅– 说吧 –
列出、创建、修改和删除日历✅✅– 说吧 –
打开本地日历应用程序✅✅– 说吧 –
日历源和一个日历拾取器提示✅– 说吧 –– 说吧 –
提醒和提醒列表✅– 说吧 –– 说吧 –

在网络上, createEvent 财务报告和审定财务报表 createEventWithPrompt 返回可下载 .ics 文档。 它们不会写入设备日历 。 见 在网络上创建和下载一个事件。 。 。 .

演示

iOS系统机器人

网络 : 在浏览器中运行示例应用程序 。 使用 创建事件 或者说 快速创建事件 页:1 .ics 输出。 不支持的动作被禁用 .

为什么是这个插件?

  • 已建立. 从5号控制器开始就可用 背后有数年的真实世界.
  • 积极维护. 原作者仍拥有代码库和船只修补和特征.
  • 快速支撑. 问题和错误报告得到快速答案.
  • 降低供应商风险. 依靠一个插件作者做每件事都是危险的. 独立,专注的维护者保持了你的堆积弹性.

MCP 服务器

@ebarooni/capacitor-calendar 官员 MCP 磁共振 服务器。 它为AI编码助手提供了对插件的准确,有根据的知识.

docker run --rm -d --name capacitor-calendar-mcp -p 8080:8080 ghcr.io/ebarooni/capacitor-calendar-mcp:1.2.0

见 mcp/README.md 用于客户端配置和全部细节.

电容兼容性

将 npm 标记匹配到您的 Capacitor 主修 。 这个 latest 财务报告和审定财务报表 latest-7 软件包旨在保持特性均等.

电容npm 标签版本
8.xlatestnpm@latest
7.xlatest-7npm@latest-7

安装

电容8:

npm install @ebarooni/capacitor-calendar
# or: npm install @ebarooni/capacitor-calendar@latest
npx cap sync

电容7:

npm install @ebarooni/capacitor-calendar@latest-7
npx cap sync

设置

此插件与本地日历 API 工作, 因此您需要在运行时请求访问之前配置每个平台的权限 。 设置后,看 快速启动 以代码请求权限.

机器人

添加这些权限到 android/app/src/main/AndroidManifest.xml数字 :

<uses-permission android:name="android.permission.READ_CALENDAR" />
<uses-permission android:name="android.permission.WRITE_CALENDAR" />

在从日历读取或写入日历前请求匹配的运行时间权限 .

iOS系统

添加相应的使用描述密钥到 ios/App/App/Info.plist. 从iOS 17开始,苹果公司需要单独的密钥,用于只写和完整的日历访问.

<key>NSCalendarsUsageDescription</key>
<string>This app needs access to your calendar.</string>

<key>NSCalendarsWriteOnlyAccessUsageDescription</key>
<string>This app needs permission to create calendar events.</string>

<key>NSCalendarsFullAccessUsageDescription</key>
<string>This app needs permission to read and manage your calendar events.</string>

<key>NSRemindersUsageDescription</key>
<string>This app needs access to your reminders.</string>

<key>NSRemindersFullAccessUsageDescription</key>
<string>This app needs permission to read and manage your reminders.</string>

[大
只包含您的应用程序实际需要的密钥 。 如果只创建事件,则可以省略全部访问和提醒条目.

官方参考资料

错误代码

在Android和iOS上,一个被拒绝的电话可以曝光 error.code (稳定类别)和 error.message (确切原因). 将代码与导出代码进行比较 CapacitorCalendarErrorCode um. 并不是每个拒绝都有一个代码;后来的发布会添加更多的目录案例.

定义的代码 :

代码名称何时
EB-CLDR-0001InvalidArgument需要的参数缺失或无效 .
EB-CLDR-0002NotFound所请求的日历、事件、列表、提醒或日历源不存在.
EB-CLDR-0004IoError日历存储器读取或写入失败 .
EB-CLDR-0005NotSupported该设备无法打开日历 UI,提醒 UI, 或目标 URL .
EB-CLDR-0020PermissionDenied日历访问被拒绝.
EB-CLDR-0100MissingDeclaration需要的Info.plist使用描述或AndroidManifest权限没有设置.

Android 拒绝非数字或空日历或事件 id 作为 InvalidArgumentiOS 查找系统日历存储中的字符串,并可能拒绝作为 NotFound 当没有匹配.

IoError: Android 和 iOS 地图存储失败,例如失败的创建/删除ID检索并删除失败. 其他不是允许或发射失败的日历存储错误也使用此代码. 在iOS上,EventKit商店或系统拒绝使用此代码,包括一些与授权相关的故障; Android 权限提供者拒绝使用 PermissionDenied (单位:千美元)EB-CLDR-0020) (中文(简体) ). 在 iOS 上,此代码也涵盖编辑即时 processFailed 结果.

NotSupported: Android 映射出一个缺失的日历活动处理器(ActivityNotFoundException,例如 openCalendar)到本码. iOS 地图发布和 URL 失败 (Failed to launch calendar app.,提醒, Unable to open URL.) (中文(简体) ).

在Android上,以权限错误拒绝失败的日历操作 PermissionDenied (单位:千美元)EB-CLDR-0020) (中文(简体) ). 权限检查和请求 API 仍然解决 "denied" android 和 iOS 上,他们不否认 0020。 。 。 .

对于Android和iOS包装系统存储,启动,和权限失败,消息从固定句子开始. 如果操作系统提供了不同的细节,则在括号中附上.

快速启动

以下样本为Android和iOS. 关于Web,见 在网络上创建和下载一个事件。 。 。 .

import { CapacitorCalendar } from '@ebarooni/capacitor-calendar';

const { result } = await CapacitorCalendar.requestFullCalendarAccess();

if (result !== 'granted') {
  throw new Error('Calendar permission denied');
}

// Create an event starting in 1 hour, lasting 1 hour
const startDate = Date.now() + 60 * 60 * 1000;
const endDate = startDate + 60 * 60 * 1000;

const { id } = await CapacitorCalendar.createEvent({
  title: 'Product review',
  location: 'Office',
  startDate,
  endDate,
  description: 'Created with @ebarooni/capacitor-calendar',
});

console.log('Event created with ID:', id);

[注]
日期以毫秒表示.

用法实例

在网络上创建和下载一个事件

网上, createEvent 财务报告和审定财务报表 createEventWithPrompt 构建一个 .ics 文档。 他们不会写信给日历店。 使用 autoDownloadIcsFile (默认 : false 打开 createEvent, (中文(简体) ), true 打开 createEventWithPrompt)或(或) downloadIcsFile。许可 API 未执行。 详情见MCP docs://web-behavior (单位:千美元)mcp/README.md) (中文(简体) ).

import { CapacitorCalendar } from '@ebarooni/capacitor-calendar';

const startDate = Date.now() + 60 * 60 * 1000;
const endDate = startDate + 60 * 60 * 1000;

const { ics } = await CapacitorCalendar.createEvent({
  title: 'Team standup',
  startDate,
  endDate,
  icsFileName: 'team-standup.ics',
  autoDownloadIcsFile: true,
});

打开本地事件编辑器

使用系统日历 UI 允许用户创建或编辑事件( 在 Web: 确认对话框 + ICS 上):

await CapacitorCalendar.createEventWithPrompt({
  title: 'Planning session',
  location: 'Office',
  startDate: Date.now() + 24 * 60 * 60 * 1000,
  endDate: Date.now() + 25 * 60 * 60 * 1000,
});

[注]
在Android上,这种方法总是返回无效 id。如果需要事件标识,请拨 listEventsInRange(...) 后结. 在 Web 上,取消解决方式为 ics: null。 。 。 .

修改或删除事件

以下样本为Android和iOS. 使用一个 id 从 createEvent 或者说 listEventsInRange数字 :

await CapacitorCalendar.modifyEvent({
  id: eventId,
  title: 'Updated title',
});

await CapacitorCalendar.deleteEvent({
  id: eventId,
});

在一定范围内列出事件

listEventsInRange 返回与给定范围相重叠的事件,而不仅仅是在其内部开始或结束的事件。 包括跨间隔的多天活动.

const now = Date.now();
const oneWeekLater = now + 7 * 24 * 60 * 60 * 1000;

const { result: events } = await CapacitorCalendar.listEventsInRange({
  from: now,
  to: oneWeekLater,
});

console.log('Upcoming events:', events);

要列出一天的事件, 请使用当天的界限 :

const startOfDay = new Date();
startOfDay.setHours(0, 0, 0, 0);
const startOfNextDay = new Date(startOfDay);
startOfNextDay.setDate(startOfNextDay.getDate() + 1);

const { result: todaysEvents } = await CapacitorCalendar.listEventsInRange({
  from: startOfDay.getTime(),
  to: startOfNextDay.getTime(),
});

工作日历

// Get all calendars and default calendar
const { result: calendars } = await CapacitorCalendar.listCalendars();
const { result: defaultCalendar } = await CapacitorCalendar.getDefaultCalendar();

// Use default or fall back to first calendar
const targetCalendarId = defaultCalendar?.id ?? calendars[0]?.id;

[注]
在iOS上,您也可以使用 selectCalendarsWithPrompt() 让用户通过本地界面选择日历.

创建提醒( 只有iOS)

const { result } = await CapacitorCalendar.requestFullRemindersAccess();

if (result === 'granted') {
  await CapacitorCalendar.createReminder({
    title: 'Send launch notes',
    dueDate: Date.now() + 2 * 24 * 60 * 60 * 1000,
    notes: 'Created with @ebarooni/capacitor-calendar',
  });
}

文档

完整的文档来自TypeScript定义,可在线查阅:

更改日志

见 变动情况 用于更新和发布历史.

中断更改

见 震动. md 用于打破变化和移民步骤.

API 密码

检查许可(...)

checkPermission(options: CheckPermissionOptions) => Promise<{ result: PermissionState; }>

为给定范围获取当前权限状态. 关于Android, readReminders 财务报告和审定财务报表 writeReminders 决 议 "prompt"。 。 。 .

参数类型
optionsCheckPermissionOptions

回返情况: Promise<{ result: PermissionState; }>

自: 0.1.0 (中文(简体) )

平台: Android, iOS (英语)


检查所有许可( A)

checkAllPermissions() => Promise<{ result: CheckAllPermissionsResult; }>

获取所有权限的当前状态 . 关于Android,提醒键总是决心 "prompt"。 。 。 .

回返情况: Promise<{ result: CheckAllPermissionsResult; }>

自: 0.1.0 (中文(简体) )

平台: Android, iOS (英语)


请求许可(...)

requestPermission(options: RequestPermissionOptions) => Promise<{ result: PermissionState; }>

请求准许某一范围. 关于Android, readReminders 财务报告和审定财务报表 writeReminders 拒绝 Invalid scope.

参数类型
optionsRequestPermissionOptions

回返情况: Promise<{ result: PermissionState; }>

自: 0.1.0 (中文(简体) )

平台: Android, iOS (英语)


请求全部许可( )

requestAllPermissions() => Promise<{ result: RequestAllPermissionsResult; }>

请求允许所有日历和提醒权限 . 在 Android 上, 只请求日历权限; 提醒密钥保留 "prompt"。 。 。 .

回返情况: Promise<{ result: CheckAllPermissionsResult; }>

自: 0.1.0 (中文(简体) )

平台: Android, iOS (英语)


请求仅写 Calendar 访问 ()

requestWriteOnlyCalendarAccess() => Promise<{ result: PermissionState; }>

请求写入日历 .

回返情况: Promise<{ result: PermissionState; }>

自: 5.4.0 (单位:千美元)

平台: Android, iOS (英语)


请求只读 CalendarAccess ()

requestReadOnlyCalendarAccess() => Promise<{ result: PermissionState; }>

请查看日历 .

回返情况: Promise<{ result: PermissionState; }>

自: 5.4.0 (单位:千美元)

平台: 机器人


请求FullCalendar Access ()

requestFullCalendarAccess() => Promise<{ result: PermissionState; }>

请求读取和写入日历.

回返情况: Promise<{ result: PermissionState; }>

自: 5.4.0 (单位:千美元)

平台: Android, iOS (英语)


请求FulllReminders Access( )

requestFullRemindersAccess() => Promise<{ result: PermissionState; }>

请求可读取和写入提醒. 决定: "granted" 或者说 "denied" (从来没有) "prompt") (中文(简体) ). 赠款涵盖两者 readReminders 财务报告和审定财务报表 writeReminders。 。 。 .

回返情况: Promise<{ result: PermissionState; }>

自: 5.4.0 (单位:千美元)

平台: iOS系统


创建 Event With Prompt (...)

createEventWithPrompt(options?: CreateEventWithPromptOptions | undefined) => Promise<CreateEventWithPromptResult>

打开日历 UI 创建事件. 在Android和iOS上,打开系统编辑器. 关于Android, id 总是 null。 。 。 . 在 Web 上显示一个确认对话框,然后构建一个 .ics File 当用户确认. 见MCP docs://web-behavior 详情.

参数类型
optionsCreateEventWithPromptOptions

回返情况: Promise<CreateEventWithPromptResult>

自: 0.1.0 (中文(简体) )

平台: Android, iOS, Web (英语)


修改 Event With Prompt (...)

modifyEventWithPrompt(options: ModifyEventWithPromptOptions) => Promise<{ result: EventEditAction | null; }>

打开系统日历界面来修改一个事件. 安卓总是回来 null。 。 。 .

参数类型
optionsModifyEventWithPromptOptions

回返情况: Promise<{ result: EventEditAction | null; }>

自: 6.6.0 (简体中文)

平台: Android, iOS (英语)


创建 Event (...)

createEvent(options: CreateEventOptions) => Promise<CreateEventResult>

在日历中创建事件. 在Android和iOS上,插入到系统日历并返回其日历 id。 。 。 . 在网络上,构建一个 .ics File 作为 ics (无日历存储). 见MCP docs://web-behavior。 。 。 .

参数类型
optionsCreateEventOptions

回返情况: Promise<CreateEventResult>

自: 0.4.0 (中文(简体) )

平台: Android, iOS, Web (英语)


修改 Event (...)

modifyEvent(options: ModifyEventOptions) => Promise<void>

修改一个事件.

参数类型
optionsModifyEventOptions

自: 6.6.0 (简体中文)

平台: Android, iOS (英语)


删除 EventsById(...)

deleteEventsById(options: DeleteEventsByIdOptions) => Promise<{ result: DeleteEventsByIdResult; }>

删除多个事件.

参数类型
optionsDeleteEventsByIdOptions

回返情况: Promise<{ result: DeleteEventsByIdResult; }>

自: 0.11.0 (中文(简体) )

平台: Android, iOS (英语)


删除 Event (...)

deleteEvent(options: DeleteEventOptions) => Promise<void>

删除事件.

参数类型
optionsDeleteEventOptions

自: 7.1.0 (中文(简体) )

平台: Android, iOS (英语)


删除 Event With Prompt (...)

deleteEventWithPrompt(options: DeleteEventWithPromptOptions) => Promise<{ deleted: boolean; }>

打开对话框删除事件.

参数类型
optionsDeleteEventWithPromptOptions

回返情况: Promise<{ deleted: boolean; }>

自: 7.1.0 (中文(简体) )

平台: Android, iOS (英语)


列表 Events In Range (...)

listEventsInRange(options: ListEventsInRangeOptions) => Promise<ListEventsInRangeResult>

检索重叠日期范围的事件.

时间间隔相交时包含一个事件 [from, to],包括: 跨范围而不开始或结束的多天事件.

参数类型
optionsListEventsInRangeOptions

回返情况: Promise<ListEventsInRangeResult>

自: 0.10.0 (中文(简体) )

平台: Android, iOS (英语)


实施( )

commit() => Promise<void>

保存待定日历更改 .

自: 7.1.0 (中文(简体) )

平台: iOS系统


选择 Calendars With Prompt (...)

selectCalendarsWithPrompt(options?: SelectCalendarsWithPromptOptions | undefined) => Promise<SelectCalendarsWithPromptResult>

打开一个系统接口来选择一个或多个日历.

预计可进入日历。 打电话 requestFullCalendarAccess() 先说. 没有授权, 选择者可以看起来是空的 .

确认后, result 包含所选用户的日历. 取消时, result 是一空数组.

如果选择者已经出现,则拒绝新呼叫;飞行中 呼叫持续到用户确认或取消.

参数类型
optionsSelectCalendarsWithPromptOptions

回返情况: Promise<SelectCalendarsWithPromptResult>

自: 0.2.0 (中文(简体) )

平台: iOS系统


获取 AllCalendar 源代码 ()

fetchAllCalendarSources() => Promise<FetchAllCalendarSourcesResult>

获取日历源列表 .

需要日历访问 。 未经批准, result 通常为 空数组。 这种方法并不仅仅因为缺少许可而拒绝.

回返情况: Promise<FetchAllCalendarSourcesResult>

自: 6.6.0 (简体中文)

平台: iOS系统


列表计数器( )

listCalendars() => Promise<ListCalendarsResult>

获取所有可用的日历列表 .

需要日历读取权限 。 在Android上,通常缺失权限 拒绝。 在 iOS 上, 缺少的授权通常返回空的 result。 。 。 .

回返情况: Promise<ListCalendarsResult>

自: 7.1.0 (中文(简体) )

平台: Android, iOS (英语)


得到DefaultCalendar (...)

getDefaultCalendar(options?: GetDefaultCalendarOptions | undefined) => Promise<{ result: Calendar | null; }>

获取默认日历 .

需要日历读取权限 。 在Android上,通常缺失权限 拒绝。 在iOS上,缺少授权一般产量 result: null。 。 。 .

系统默认是 Android 和 defaultCalendarForNewEvents (原始内容存档于2018-03-31). On iOS. 当两者均不存在时 useFallbackCalendar ,返回第一个可用的日历. 否则方法返回 null 当没有系统默认时.

参数类型
optionsGetDefaultCalendarOptions

回返情况: Promise<{ result: Calendar | null; }>

自: 0.3.0 (中文(简体) )

平台: Android, iOS (英语)


打开日历(...)

openCalendar(options?: OpenCalendarOptions | undefined) => Promise<void>

打开日历应用程序.

参数类型
optionsOpenCalendarOptions

自: 7.1.0 (中文(简体) )

平台: Android, iOS (英语)


创建 Calendar (...)

createCalendar(options: CreateCalendarOptions) => Promise<CreateCalendarResult>

创建日历.

title 需要时间. color 是可选的,默认为 #007AFF。 。 。 . 关于Android, accountName 财务报告和审定财务报表 ownerAccount 运行时需要.

参数类型
optionsCreateCalendarOptions

回返情况: Promise<CreateCalendarResult>

自: 5.2.0 (中文(简体) )

平台: Android, iOS (英语)


删除日历(...)

deleteCalendar(options: DeleteCalendarOptions) => Promise<void>

以 id 删除日历.

参数类型
optionsDeleteCalendarOptions

自: 5.2.0 (中文(简体) )

平台: Android, iOS (英语)


修改日历(...)

modifyCalendar(options: ModifyCalendarOptions) => Promise<void>

修改带有选项的日历 .

参数类型
optionsModifyCalendarOptions

自: 7.2.0 联合国

平台: Android, iOS (英语)


创建 RemindersList (...)

createRemindersList(options: CreateRemindersListOptions) => Promise<CreateRemindersListResult>

创建新的提醒列表.

参数类型
optionsCreateRemindersListOptions

回返情况: Promise<CreateRemindersListResult>

自: 8.1.0 联合国

平台: iOS系统


删除 Reminders 列表(...)

deleteRemindersList(options: DeleteRemindersListOptions) => Promise<void>

删除提醒列表.

参数类型
optionsDeleteRemindersListOptions

自: 8.2.0 (中文(简体) )

平台: iOS系统


获取 AllReminders 来源( )

fetchAllRemindersSources() => Promise<FetchAllCalendarSourcesResult>

获取日历源列表 .

回返情况: Promise<FetchAllCalendarSourcesResult>

自: 6.6.0 (简体中文)

平台: iOS系统


打开复刻器( )

openReminders() => Promise<void>

打开提醒应用程序.

自: 7.1.0 (中文(简体) )

平台: iOS系统


获取默认Reminders列表 ()

getDefaultRemindersList() => Promise<GetDefaultRemindersListResult>

获取默认提醒列表.

回返情况: Promise<GetDefaultRemindersListResult>

自: 7.1.0 (中文(简体) )

平台: iOS系统


获取Reminders 列表 ()

getRemindersLists() => Promise<GetRemindersListsResult>

获取所有可用的提醒列表.

回返情况: Promise<GetRemindersListsResult>

自: 7.1.0 (中文(简体) )

平台: iOS系统


创建 Reminder (...)

createReminder(options: CreateReminderOptions) => Promise<CreateReminderResult>

创建提醒.

参数类型
optionsCreateReminderOptions

回返情况: Promise<CreateReminderResult>

自: 0.5.0 (单位:千美元)

平台: iOS系统


删除RemindersById(...)

deleteRemindersById(options: DeleteRemindersByIdOptions) => Promise<{ result: DeleteRemindersByIdResult; }>

删除多个提醒.

参数类型
optionsDeleteRemindersByIdOptions

回返情况: Promise<{ result: DeleteRemindersByIdResult; }>

自: 5.3.0 (中文(简体) )

平台: iOS系统


删除Reminder(...)

deleteReminder(options: DeleteReminderOptions) => Promise<void>

删除提醒.

参数类型
optionsDeleteReminderOptions

自: 7.1.0 (中文(简体) )

平台: iOS系统


修改Reminder(...)

modifyReminder(options: ModifyReminderOptions) => Promise<void>

修改一个教诲.

参数类型
optionsModifyReminderOptions

自: 6.7.0 (简体中文)

平台: iOS系统


获取ReminderById(...)

getReminderById(options: GetReminderByIdOptions) => Promise<GetReminderByIdResult>

由ID获取一个提醒.

参数类型
optionsGetReminderByIdOptions

回返情况: Promise<GetReminderByIdResult>

自: 7.1.0 (中文(简体) )

平台: iOS系统


获取 Reminders fromLists (...)

getRemindersFromLists(options: GetRemindersFromListsOptions) => Promise<GetRemindersFromListsResult>

从多个列表获取提醒 .

参数类型
optionsGetRemindersFromListsOptions

回返情况: Promise<GetRemindersFromListsResult>

自: 5.3.0 (中文(简体) )

平台: iOS系统


删除 Reminder With Prompt (...)

deleteReminderWithPrompt(options: DeleteReminderWithPromptOptions) => Promise<DeleteReminderWithPromptResult>

打开对话框删除提醒.

参数类型
optionsDeleteReminderWithPromptOptions

回返情况: Promise<DeleteReminderWithPromptResult>

自: 7.2.0 联合国

平台: iOS系统


更新Reminders列表(...)

updateRemindersList(options: UpdateRemindersListOptions) => Promise<UpdateRemindersListResult>

更新提醒列表.

参数类型
optionsUpdateRemindersListOptions

回返情况: Promise<UpdateRemindersListResult>

自: 8.2.0 (中文(简体) )

平台: iOS系统


接口

检查选项

QQlink Calendar Access# checkPermission} 的选项 .

Prop类型说明自兹平台
scopeCalendarPermissionScope检查权限范围 。 关于Android, readReminders 财务报告和审定财务报表 writeReminders 决 议 "prompt" (Android上不支持提醒器).8.3.1 联合国Android, iOS (英语)

请求允许选项

QQlink Calendar Access# requestPermission} 的选项 .

Prop类型说明自兹平台
scopeCalendarPermissionScope请求的许可范围.8.3.1 联合国Android, iOS (英语)

创建成功事件

Prop类型说明自兹平台
icsFile | null一个 .ics 文件( 编号text/calendar1个 VEVENT总是 null (原始内容存档于2019-10-12). Android and iOS. 在网络上,当用户确认时设定; null 当用户取消时.8.8.0 (单位:千美元)网页
idstring | null创建事件标识符 。 永远 null 在Android和Web上。用户保存时在iOS上显示.0.1.0 (中文(简体) )Android, iOS (英语)

创建带有Prompt 选项的事件

Prop类型说明默认自兹平台
alertsnumber[]相对于事件开始,警告时间为分钟。 开始前使用负数提醒;开始后使用正数提醒。 iOS上只支持2个警报.7.1.0 (中文(简体) )iOS, 网络
autoDownloadIcsFileboolean启动对ICS文件的浏览器下载.true8.8.0 (单位:千美元)网页
availabilityEventAvailability7.1.0 (中文(简体) )Android, iOS, Web (英语)
calendarIdstring0.1.0 (中文(简体) )iOS系统
descriptionstring7.1.0 (中文(简体) )Android, iOS, Web (英语)
endDatenumber0.1.0 (中文(简体) )Android, iOS, Web (英语)
icsFileNamestring下载文件名 .ics 文档。 省略时,从 title (倒计时) event.ics) (中文(简体) ). 如果数值为无 .ics 扩展, .ics 页:1.8.8.0 (单位:千美元)网页
inviteesstring[]要邀请的一系列电子邮件 .7.1.0 (中文(简体) )机器人
isAllDayboolean0.1.0 (中文(简体) )Android, iOS, Web (英语)
locationstring0.1.0 (中文(简体) )Android, iOS, Web (英语)
promptMessagestring确认对话框消息 。 省略时,对话框使用事件标题和时间摘要.8.8.0 (单位:千美元)网页
recurrenceEventRecurrenceRule建立经常性活动的规则.7.3.0 (单位:千美元)Android, iOS, Web (英语)
startDatenumber0.1.0 (中文(简体) )Android, iOS, Web (英语)
titlestring0.1.0 (中文(简体) )Android, iOS, Web (英语)
urlstring0.1.0 (中文(简体) )iOS, 网络

重犯规则

Prop类型说明默认自兹平台
byMonthnumber[]将每年的复发限制在一年的特定月份。 数值应在1至12之间.7.1.0 (中文(简体) )Android, iOS, Web (英语)
byMonthDaynumber[]将每月的复发时间限制在每月的具体天数。 数值应在1至31之间.7.1.0 (中文(简体) )Android, iOS, Web (英语)
byWeekDaynumber[]将每周的复发限制为特定工作日。 数值应为1至7. 1为星期一和7为星期日.7.3.0 (单位:千美元)Android, iOS, Web (英语)
countnumber总出事数. 如果设定, 重现会在此众多事件之后结束 。 若为 count 提供, end 被忽略.7.3.0 (单位:千美元)Android, iOS, Web (英语)
daysOfTheYearnumber[]将每年的复发时间限制在一年中的特定天数(1至366).7.3.0 (单位:千美元)iOS, 网络
endnumber以毫秒为单位作为Unix时间戳的重现系列结束日期.7.1.0 (中文(简体) )Android, iOS, Web (英语)
frequencyRecurrenceFrequency事件多频繁地重复.7.3.0 (单位:千美元)Android, iOS, Web (英语)
intervalnumber复发间隔 。 结合使用 frequency例如,一个间隔为2个的每周活动导致每两周发生一次.17.3.0 (单位:千美元)Android, iOS, Web (英语)
weeksOfTheYearnumber[]将每年的重复次数限制在ISO周的具体数目(1至53个).7.3.0 (单位:千美元)iOS, 网络

修改“ 快速” 选项

Prop类型说明自兹平台
alertsnumber[]相对于事件开始,警告时间为分钟。 开始前使用负数提醒;开始后使用正数提醒。 iOS上只支持2个警报.7.1.0 (中文(简体) )iOS系统
availabilityEventAvailability7.1.0 (中文(简体) )Android, iOS (英语)
calendarIdstring0.1.0 (中文(简体) )iOS系统
descriptionstring7.1.0 (中文(简体) )Android, iOS (英语)
endDatenumber0.1.0 (中文(简体) )Android, iOS (英语)
idstring要修改的事件标识 .7.1.0 (中文(简体) )Android, iOS (英语)
inviteesstring[]要邀请的一系列电子邮件 .7.1.0 (中文(简体) )机器人
isAllDayboolean0.1.0 (中文(简体) )Android, iOS (英语)
locationstring0.1.0 (中文(简体) )Android, iOS (英语)
recurrenceEventRecurrenceRule建立经常性活动的规则.7.3.0 (单位:千美元)Android, iOS (英语)
startDatenumber0.1.0 (中文(简体) )Android, iOS (英语)
titlestring0.1.0 (中文(简体) )Android, iOS (英语)
urlstring0.1.0 (中文(简体) )iOS系统

创建活动结果

Prop类型说明自兹平台
icsFile | null一个 .ics 文件( 编号text/calendar1个 VEVENT总是 null (原始内容存档于2019-10-12). Android and iOS.8.5.0 (中文(简体) )网页
idstring | null创建事件标识符 。 永远 null 在网络上。在成功创建后,在Android和iOS上显示.0.4.0 (中文(简体) )Android, iOS (英语)

创建事件选项

Prop类型说明默认自兹平台
alertsnumber[]相对于事件开始,警告时间为分钟。 启动前使用负数警告,启动后使用正数警告.7.1.0 (中文(简体) )Android, iOS, Web (英语)
attendeesEventGuest[]活动嘉宾.7.1.0 (中文(简体) )网络Android
autoDownloadIcsFileboolean启动对ICS文件的浏览器下载.false8.8.0 (单位:千美元)网页
availabilityEventAvailability7.1.0 (中文(简体) )Android, iOS, Web (英语)
calendarIdstring0.1.0 (中文(简体) )Android, iOS (英语)
colorstring7.1.0 (中文(简体) )机器人
commitboolean是否立即保存( I)true)或以后的分批更改(false) (中文(简体) ).true7.1.0 (中文(简体) )iOS系统
descriptionstring7.1.0 (中文(简体) )Android, iOS, Web (英语)
durationstring活动期间采用RFC2445格式. 在网络上, 当 endDate 省略; endDate 如果两者都设定了,则胜出.7.1.0 (中文(简体) )网络Android
endDatenumber0.1.0 (中文(简体) )Android, iOS, Web (英语)
icsFileNamestring下载文件名 .ics 文档。 省略时,从 title (倒计时) event.ics) (中文(简体) ). 如果数值为无 .ics 扩展, .ics 页:1.8.5.0 (中文(简体) )网页
isAllDayboolean0.1.0 (中文(简体) )Android, iOS, Web (英语)
locationstring0.1.0 (中文(简体) )Android, iOS, Web (英语)
organizerstring活动组织者的电子邮件.7.1.0 (中文(简体) )网络Android
recurrenceEventRecurrenceRule建立经常性活动的规则.7.3.0 (单位:千美元)Android, iOS, Web (英语)
startDatenumber0.1.0 (中文(简体) )Android, iOS, Web (英语)
titlestring0.4.0 (中文(简体) )Android, iOS, Web (英语)
urlstring0.1.0 (中文(简体) )iOS, 网络

事件嘉宾

Prop类型自兹
namestring7.1.0 (中文(简体) )
emailstring7.1.0 (中文(简体) )

修改事件选项

Prop类型说明默认自兹平台
alertsnumber[]相对于事件开始,警告时间为分钟。 启动前使用负数警告,启动后使用正数警告.7.1.0 (中文(简体) )Android, iOS (英语)
attendeesEventGuest[]活动嘉宾.7.1.0 (中文(简体) )机器人
availabilityEventAvailability7.1.0 (中文(简体) )Android, iOS (英语)
calendarIdstring0.1.0 (中文(简体) )Android, iOS (英语)
colorstring7.1.0 (中文(简体) )机器人
descriptionstring7.1.0 (中文(简体) )Android, iOS (英语)
durationstring活动期间采用RFC2445格式.7.1.0 (中文(简体) )机器人
endDatenumber0.1.0 (中文(简体) )Android, iOS (英语)
idstring要修改的事件标识 .7.1.0 (中文(简体) )Android, iOS (英语)
isAllDayboolean0.1.0 (中文(简体) )Android, iOS (英语)
locationstring0.1.0 (中文(简体) )Android, iOS (英语)
recurrenceEventRecurrenceRule建立经常性活动的规则.7.3.0 (单位:千美元)Android, iOS (英语)
organizerstring活动组织者的电子邮件.

版本与发布记录

@ebarooni/capacitor-calendar 共发布 56 个版本,首次发布于 2024/02/25;过去 12 个月发布了 17 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
8.10.0latest2026/10/1727 天前
7.5.0latest-72026/10/1727 天前
8.9.02026/10/111 个月前
7.4.02026/10/111 个月前
8.8.02026/10/051 个月前
7.3.02026/10/051 个月前

其他发布通道:latest-5 → 5.5.0,latest-7 → 7.5.0。

关于 @ebarooni/capacitor-calendar 的常见问题

@ebarooni/capacitor-calendar 是什么?

一个用于iOS和Android上本土日历事件的Capacitor插件(有iOS上的提醒),和网络上.ics事件创建.

如何安装 @ebarooni/capacitor-calendar?

在项目目录运行 npm install @ebarooni/capacitor-calendar,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@capacitor/core(>=8.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@ebarooni/capacitor-calendar 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@ebarooni/capacitor-calendar 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@ebarooni/capacitor-calendar 可以商用吗?

@ebarooni/capacitor-calendar 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@ebarooni/capacitor-calendar 的下载量有多少?

根据 npm 官方下载统计,@ebarooni/capacitor-calendar 在 2026/10/13 – 2026/11/11 这 30 天内被下载 235,242 次,日均约 7,841 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@ebarooni/capacitor-calendar 还在维护吗?

最新版本 8.10.0 发布于 2026/10/17(27 天前);至今共发布 56 个版本,其中过去 12 个月发布了 17 个;首次发布于 2024/02/25。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。