# @ebarooni/capacitor-calendar 中文文档

规范地址：https://npmcn.com/package/%40ebarooni/capacitor-calendar/

版本：8\.10\.0
npm 元数据更新时间：2026-10-17T10:17:36.552Z
中文译文更新时间：2026-11-13T04:28:34.652Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40ebarooni/capacitor-calendar
原文对照：https://npmcn.com/package/%40ebarooni/capacitor-calendar/?lang=original
项目主页：https://ebarooni.github.io/capacitor-calendar
源码仓库：https://github.com/ebarooni/capacitor-calendar

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：1.1 MB，347 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- peer 依赖：@capacitor/core \>=8\.0\.0
- 首次发布：2024-02-24T20:33:36.215Z
- 最新版本发布：2026-10-17T10:17:36.223Z
- 近 30 天下载量：235242（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：56（近 12 个月 17 个）

## 中文简介

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

## 安装

```sh
npm install @ebarooni/capacitor-calendar
```

也可以使用：`pnpm add @ebarooni/capacitor-calendar`、`yarn add @ebarooni/capacitor-calendar`、`bun add @ebarooni/capacitor-calendar`

## README

# @ebarooni/电容-日历

![](https://img.shields.io/maintenance/yes/2026?style=flat-square) [![](https://img.shields.io/npm/l/@ebarooni/capacitor-calendar?style=flat-square) ](https://www.npmjs.com/package/@ebarooni/capacitor-calendar)[![](https://img.shields.io/npm/dm/@ebarooni/capacitor-calendar?style=flat-square) ](https://www.npmjs.com/package/@ebarooni/capacitor-calendar)[![](https://img.shields.io/npm/v/@ebarooni/capacitor-calendar?style=flat-square) ](https://www.npmjs.com/package/@ebarooni/capacitor-calendar)[![](https://img.shields.io/badge/Capacitor-8.x-119EFF.svg?style=flat-square) ](https://capacitorjs.com/)[![](https://img.shields.io/badge/MCP-161b22?style=flat&logo=modelcontextprotocol&logoColor=5FB8AF)](https://npmcn.com/package/%40ebarooni/capacitor-calendar/mcp/README.md)

![capacitor-calendar-logo](https://npmcn.com/package/%40ebarooni/capacitor-calendar/assets/images/text-logo.png)

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

## 目录

-   [特征和平台](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-features-and-platforms)
-   [演示](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-demo)
-   [为什么是这个插件?](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-why-this-plugin)
-   [MCP 服务器](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-mcp-server)
-   [电容兼容性](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-capacitor-compatibility)
-   [安装](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-installation)
-   [设置](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-setup)
-   [错误代码](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-error-codes)
-   [快速启动](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-quick-start)
-   [用法实例](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-usage-examples)
-   [文档](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-documentation)
-   [更改日志](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-changelog)
-   [中断更改](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-breaking-changes)
-   [API 密码](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-api)
-   [捐款](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-contributing)
-   [许可证](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-license)

## 特征和平台

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

在网络上, `createEvent` 财务报告和审定财务报表 `createEventWithPrompt` 返回可下载 `.ics` 文档。 它们不会写入设备日历 。 见 [在网络上创建和下载一个事件](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-create-and-download-an-event-on-the-web)。 。 。 .

## 演示

| iOS系统 | 机器人 |
| --- | --- |
| ![](https://npmcn.com/package/%40ebarooni/capacitor-calendar/assets/demo/ios-demo.gif) | ![](https://npmcn.com/package/%40ebarooni/capacitor-calendar/assets/demo/android-demo.gif) |

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

## 为什么是这个插件?

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

## MCP 服务器

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

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

见 [`mcp/README.md`](https://npmcn.com/package/%40ebarooni/capacitor-calendar/mcp/README.md) 用于客户端配置和全部细节.

## 电容兼容性

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

| 电容 | npm 标签 | 版本 |
| --- | --- | --- |
| `8.x` | `latest` | ![npm@latest](https://img.shields.io/npm/v/@ebarooni/capacitor-calendar/latest?label=npm%40latest&style=flat-square) |
| `7.x` | `latest-7` | ![npm@latest-7](https://img.shields.io/npm/v/@ebarooni/capacitor-calendar/latest-7?label=npm%40latest-7&style=flat-square) |

## 安装

**电容8:**

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

**电容7:**

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

## 设置

此插件与本地日历 API 工作, 因此您需要在运行时请求访问之前配置每个平台的权限 。 设置后,看 [快速启动](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-quick-start) 以代码请求权限.

### 机器人

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

```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开始,苹果公司需要单独的密钥,用于只写和完整的日历访问.

```xml
<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>
```

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

### 官方参考资料

-   **iOS: (英语)** [移入最新日历访问级别](https://developer.apple.com/documentation/technotes/tn3152-migrating-to-the-latest-calendar-access-levels)
-   **机器人:** [日历提供者用户权限](https://developer.android.com/identity/providers/calendar-provider#manifest)

## 错误代码

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

定义的代码 :

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

Android 拒绝非数字或空日历或事件 `id` 作为 `InvalidArgument`iOS 查找系统日历存储中的字符串,并可能拒绝作为 `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,见 [在网络上创建和下载一个事件](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-create-and-download-an-event-on-the-web)。 。 。 .

```typescript
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`](https://npmcn.com/package/%40ebarooni/capacitor-calendar/mcp/README.md)) (中文(简体) ).

```typescript
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 上):

```typescript
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`数字 :

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

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

### 在一定范围内列出事件

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

```typescript
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);
```

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

```typescript
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(),
});
```

### 工作日历

```typescript
// 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)

```typescript
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定义,可在线查阅:

-   **[完整文档](https://ebarooni.github.io/capacitor-calendar/)** 指南、实例和完整的API参考(建议)
-   **[来源定义](https://npmcn.com/package/%40ebarooni/capacitor-calendar/src/definitions.ts)** — 用于生成文档的 TypeScript 源

## 更改日志

见 [变动情况](https://npmcn.com/package/%40ebarooni/capacitor-calendar/CHANGELOG.md) 用于更新和发布历史.

## 中断更改

见 [震动. md](https://npmcn.com/package/%40ebarooni/capacitor-calendar/BREAKING.md) 用于打破变化和移民步骤.

## API 密码

-   [`checkPermission(...)`](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-checkpermission)
-   [`checkAllPermissions()`](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-checkallpermissions)
-   [`requestPermission(...)`](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-requestpermission)
-   [`requestAllPermissions()`](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-requestallpermissions)
-   [`requestWriteOnlyCalendarAccess()`](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-requestwriteonlycalendaraccess)
-   [`requestReadOnlyCalendarAccess()`](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-requestreadonlycalendaraccess)
-   [`requestFullCalendarAccess()`](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-requestfullcalendaraccess)
-   [`requestFullRemindersAccess()`](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-requestfullremindersaccess)
-   [`createEventWithPrompt(...)`](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-createeventwithprompt)
-   [`modifyEventWithPrompt(...)`](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-modifyeventwithprompt)
-   [`createEvent(...)`](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-createevent)
-   [`modifyEvent(...)`](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-modifyevent)
-   [`deleteEventsById(...)`](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-deleteeventsbyid)
-   [`deleteEvent(...)`](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-deleteevent)
-   [`deleteEventWithPrompt(...)`](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-deleteeventwithprompt)
-   [`listEventsInRange(...)`](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-listeventsinrange)
-   [`commit()`](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-commit)
-   [`selectCalendarsWithPrompt(...)`](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-selectcalendarswithprompt)
-   [`fetchAllCalendarSources()`](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-fetchallcalendarsources)
-   [`listCalendars()`](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-listcalendars)
-   [`getDefaultCalendar(...)`](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-getdefaultcalendar)
-   [`openCalendar(...)`](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-opencalendar)
-   [`createCalendar(...)`](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-createcalendar)
-   [`deleteCalendar(...)`](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-deletecalendar)
-   [`modifyCalendar(...)`](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-modifycalendar)
-   [`createRemindersList(...)`](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-createreminderslist)
-   [`deleteRemindersList(...)`](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-deletereminderslist)
-   [`fetchAllRemindersSources()`](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-fetchallreminderssources)
-   [`openReminders()`](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-openreminders)
-   [`getDefaultRemindersList()`](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-getdefaultreminderslist)
-   [`getRemindersLists()`](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-getreminderslists)
-   [`createReminder(...)`](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-createreminder)
-   [`deleteRemindersById(...)`](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-deleteremindersbyid)
-   [`deleteReminder(...)`](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-deletereminder)
-   [`modifyReminder(...)`](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-modifyreminder)
-   [`getReminderById(...)`](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-getreminderbyid)
-   [`getRemindersFromLists(...)`](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-getremindersfromlists)
-   [`deleteReminderWithPrompt(...)`](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-deletereminderwithprompt)
-   [`updateRemindersList(...)`](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-updatereminderslist)
-   [接口](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-interfaces)
-   [类型异名](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-type-aliases)
-   [数字](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-enums)

### 检查许可(...)

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

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

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[CheckPermissionOptions](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-checkpermissionoptions)` |

**回返情况:** `Promise<{ result: [PermissionState](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-permissionstate); }>`

**自:** 0.1.0 (中文(简体) )

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

* * *

### 检查所有许可( A)

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

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

**回返情况:** `Promise<{ result: [CheckAllPermissionsResult](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-checkallpermissionsresult); }>`

**自:** 0.1.0 (中文(简体) )

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

* * *

### 请求许可(...)

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

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

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[RequestPermissionOptions](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-requestpermissionoptions)` |

**回返情况:** `Promise<{ result: [PermissionState](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-permissionstate); }>`

**自:** 0.1.0 (中文(简体) )

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

* * *

### 请求全部许可( )

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

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

**回返情况:** `Promise<{ result: [CheckAllPermissionsResult](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-checkallpermissionsresult); }>`

**自:** 0.1.0 (中文(简体) )

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

* * *

### 请求仅写 Calendar 访问 ()

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

请求写入日历 .

**回返情况:** `Promise<{ result: [PermissionState](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-permissionstate); }>`

**自:** 5.4.0 (单位:千美元)

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

* * *

### 请求只读 CalendarAccess ()

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

请查看日历 .

**回返情况:** `Promise<{ result: [PermissionState](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-permissionstate); }>`

**自:** 5.4.0 (单位:千美元)

**平台:** 机器人

* * *

### 请求FullCalendar Access ()

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

请求读取和写入日历.

**回返情况:** `Promise<{ result: [PermissionState](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-permissionstate); }>`

**自:** 5.4.0 (单位:千美元)

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

* * *

### 请求FulllReminders Access( )

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

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

**回返情况:** `Promise<{ result: [PermissionState](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-permissionstate); }>`

**自:** 5.4.0 (单位:千美元)

**平台:** iOS系统

* * *

### 创建 Event With Prompt (...)

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

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

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[CreateEventWithPromptOptions](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-createeventwithpromptoptions)` |

**回返情况:** `Promise<[CreateEventWithPromptResult](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-createeventwithpromptresult)>`

**自:** 0.1.0 (中文(简体) )

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

* * *

### 修改 Event With Prompt (...)

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

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

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[ModifyEventWithPromptOptions](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-modifyeventwithpromptoptions)` |

**回返情况:** `Promise<{ result: [EventEditAction](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-eventeditaction) | null; }>`

**自:** 6.6.0 (简体中文)

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

* * *

### 创建 Event (...)

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

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

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[CreateEventOptions](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-createeventoptions)` |

**回返情况:** `Promise<[CreateEventResult](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-createeventresult)>`

**自:** 0.4.0 (中文(简体) )

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

* * *

### 修改 Event (...)

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

修改一个事件.

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[ModifyEventOptions](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-modifyeventoptions)` |

**自:** 6.6.0 (简体中文)

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

* * *

### 删除 EventsById(...)

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

删除多个事件.

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[DeleteEventsByIdOptions](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-deleteeventsbyidoptions)` |

**回返情况:** `Promise<{ result: [DeleteEventsByIdResult](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-deleteeventsbyidresult); }>`

**自:** 0.11.0 (中文(简体) )

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

* * *

### 删除 Event (...)

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

删除事件.

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[DeleteEventOptions](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-deleteeventoptions)` |

**自:** 7.1.0 (中文(简体) )

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

* * *

### 删除 Event With Prompt (...)

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

打开对话框删除事件.

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[DeleteEventWithPromptOptions](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-deleteeventwithpromptoptions)` |

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

**自:** 7.1.0 (中文(简体) )

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

* * *

### 列表 Events In Range (...)

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

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

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

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[ListEventsInRangeOptions](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-listeventsinrangeoptions)` |

**回返情况:** `Promise<[ListEventsInRangeResult](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-listeventsinrangeresult)>`

**自:** 0.10.0 (中文(简体) )

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

* * *

### 实施( )

```typescript
commit() => Promise<void>
```

保存待定日历更改 .

**自:** 7.1.0 (中文(简体) )

**平台:** iOS系统

* * *

### 选择 Calendars With Prompt (...)

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

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

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

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

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

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[SelectCalendarsWithPromptOptions](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-selectcalendarswithpromptoptions)` |

**回返情况:** `Promise<[SelectCalendarsWithPromptResult](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-selectcalendarswithpromptresult)>`

**自:** 0.2.0 (中文(简体) )

**平台:** iOS系统

* * *

### 获取 AllCalendar 源代码 ()

```typescript
fetchAllCalendarSources() => Promise<FetchAllCalendarSourcesResult>
```

获取日历源列表 .

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

**回返情况:** `Promise<[FetchAllCalendarSourcesResult](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-fetchallcalendarsourcesresult)>`

**自:** 6.6.0 (简体中文)

**平台:** iOS系统

* * *

### 列表计数器( )

```typescript
listCalendars() => Promise<ListCalendarsResult>
```

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

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

**回返情况:** `Promise<[ListCalendarsResult](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-listcalendarsresult)>`

**自:** 7.1.0 (中文(简体) )

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

* * *

### 得到DefaultCalendar (...)

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

获取默认日历 .

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

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

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[GetDefaultCalendarOptions](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-getdefaultcalendaroptions)` |

**回返情况:** `Promise<{ result: [Calendar](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-calendar) | null; }>`

**自:** 0.3.0 (中文(简体) )

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

* * *

### 打开日历(...)

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

打开日历应用程序.

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[OpenCalendarOptions](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-opencalendaroptions)` |

**自:** 7.1.0 (中文(简体) )

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

* * *

### 创建 Calendar (...)

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

创建日历.

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

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[CreateCalendarOptions](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-createcalendaroptions)` |

**回返情况:** `Promise<[CreateCalendarResult](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-createcalendarresult)>`

**自:** 5.2.0 (中文(简体) )

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

* * *

### 删除日历(...)

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

以 id 删除日历.

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[DeleteCalendarOptions](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-deletecalendaroptions)` |

**自:** 5.2.0 (中文(简体) )

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

* * *

### 修改日历(...)

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

修改带有选项的日历 .

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[ModifyCalendarOptions](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-modifycalendaroptions)` |

**自:** 7.2.0 联合国

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

* * *

### 创建 RemindersList (...)

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

创建新的提醒列表.

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[CreateRemindersListOptions](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-createreminderslistoptions)` |

**回返情况:** `Promise<[CreateRemindersListResult](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-createreminderslistresult)>`

**自:** 8.1.0 联合国

**平台:** iOS系统

* * *

### 删除 Reminders 列表(...)

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

删除提醒列表.

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[DeleteRemindersListOptions](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-deletereminderslistoptions)` |

**自:** 8.2.0 (中文(简体) )

**平台:** iOS系统

* * *

### 获取 AllReminders 来源( )

```typescript
fetchAllRemindersSources() => Promise<FetchAllCalendarSourcesResult>
```

获取日历源列表 .

**回返情况:** `Promise<[FetchAllCalendarSourcesResult](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-fetchallcalendarsourcesresult)>`

**自:** 6.6.0 (简体中文)

**平台:** iOS系统

* * *

### 打开复刻器( )

```typescript
openReminders() => Promise<void>
```

打开提醒应用程序.

**自:** 7.1.0 (中文(简体) )

**平台:** iOS系统

* * *

### 获取默认Reminders列表 ()

```typescript
getDefaultRemindersList() => Promise<GetDefaultRemindersListResult>
```

获取默认提醒列表.

**回返情况:** `Promise<[GetDefaultRemindersListResult](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-getdefaultreminderslistresult)>`

**自:** 7.1.0 (中文(简体) )

**平台:** iOS系统

* * *

### 获取Reminders 列表 ()

```typescript
getRemindersLists() => Promise<GetRemindersListsResult>
```

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

**回返情况:** `Promise<[GetRemindersListsResult](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-getreminderslistsresult)>`

**自:** 7.1.0 (中文(简体) )

**平台:** iOS系统

* * *

### 创建 Reminder (...)

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

创建提醒.

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[CreateReminderOptions](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-createreminderoptions)` |

**回返情况:** `Promise<[CreateReminderResult](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-createreminderresult)>`

**自:** 0.5.0 (单位:千美元)

**平台:** iOS系统

* * *

### 删除RemindersById(...)

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

删除多个提醒.

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[DeleteRemindersByIdOptions](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-deleteremindersbyidoptions)` |

**回返情况:** `Promise<{ result: [DeleteRemindersByIdResult](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-deleteremindersbyidresult); }>`

**自:** 5.3.0 (中文(简体) )

**平台:** iOS系统

* * *

### 删除Reminder(...)

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

删除提醒.

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[DeleteReminderOptions](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-deletereminderoptions)` |

**自:** 7.1.0 (中文(简体) )

**平台:** iOS系统

* * *

### 修改Reminder(...)

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

修改一个教诲.

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[ModifyReminderOptions](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-modifyreminderoptions)` |

**自:** 6.7.0 (简体中文)

**平台:** iOS系统

* * *

### 获取ReminderById(...)

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

由ID获取一个提醒.

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[GetReminderByIdOptions](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-getreminderbyidoptions)` |

**回返情况:** `Promise<[GetReminderByIdResult](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-getreminderbyidresult)>`

**自:** 7.1.0 (中文(简体) )

**平台:** iOS系统

* * *

### 获取 Reminders fromLists (...)

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

从多个列表获取提醒 .

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[GetRemindersFromListsOptions](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-getremindersfromlistsoptions)` |

**回返情况:** `Promise<[GetRemindersFromListsResult](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-getremindersfromlistsresult)>`

**自:** 5.3.0 (中文(简体) )

**平台:** iOS系统

* * *

### 删除 Reminder With Prompt (...)

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

打开对话框删除提醒.

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[DeleteReminderWithPromptOptions](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-deletereminderwithpromptoptions)` |

**回返情况:** `Promise<[DeleteReminderWithPromptResult](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-deletereminderwithpromptresult)>`

**自:** 7.2.0 联合国

**平台:** iOS系统

* * *

### 更新Reminders列表(...)

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

更新提醒列表.

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[UpdateRemindersListOptions](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-updatereminderslistoptions)` |

**回返情况:** `Promise<[UpdateRemindersListResult](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-updatereminderslistresult)>`

**自:** 8.2.0 (中文(简体) )

**平台:** iOS系统

* * *

### 接口

#### 检查选项

QQlink Calendar Access# checkPermission} 的选项 .

| Prop | 类型 | 说明 | 自兹 | 平台 |
| --- | --- | --- | --- | --- |
| **`scope`** | `[CalendarPermissionScope](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-calendarpermissionscope)` | 检查权限范围 。 关于Android, `readReminders` 财务报告和审定财务报表 `writeReminders` 决 议 `"prompt"` (Android上不支持提醒器). | 8.3.1 联合国 | Android, iOS (英语) |

#### 请求允许选项

QQlink Calendar Access# requestPermission} 的选项 .

| Prop | 类型 | 说明 | 自兹 | 平台 |
| --- | --- | --- | --- | --- |
| **`scope`** | `[CalendarPermissionScope](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-calendarpermissionscope)` | 请求的许可范围. | 8.3.1 联合国 | Android, iOS (英语) |

#### 创建成功事件

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

#### 创建带有Prompt 选项的事件

| Prop | 类型 | 说明 | 默认 | 自兹 | 平台 |
| --- | --- | --- | --- | --- | --- |
| **`alerts`** | `number[]` | 相对于事件开始,警告时间为分钟。 开始前使用负数提醒;开始后使用正数提醒。 iOS上只支持2个警报. |  | 7.1.0 (中文(简体) ) | iOS, 网络 |
| **`autoDownloadIcsFile`** | `boolean` | 启动对ICS文件的浏览器下载. | `true` | 8.8.0 (单位:千美元) | 网页 |
| **`availability`** | `[EventAvailability](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-eventavailability)` |  |  | 7.1.0 (中文(简体) ) | Android, iOS, Web (英语) |
| **`calendarId`** | `string` |  |  | 0.1.0 (中文(简体) ) | iOS系统 |
| **`description`** | `string` |  |  | 7.1.0 (中文(简体) ) | Android, iOS, Web (英语) |
| **`endDate`** | `number` |  |  | 0.1.0 (中文(简体) ) | Android, iOS, Web (英语) |
| **`icsFileName`** | `string` | 下载文件名 `.ics` 文档。 省略时,从 `title` (倒计时) `event.ics`) (中文(简体) ). 如果数值为无 `.ics` 扩展, `.ics` 页:1. |  | 8.8.0 (单位:千美元) | 网页 |
| **`invitees`** | `string[]` | 要邀请的一系列电子邮件 . |  | 7.1.0 (中文(简体) ) | 机器人 |
| **`isAllDay`** | `boolean` |  |  | 0.1.0 (中文(简体) ) | Android, iOS, Web (英语) |
| **`location`** | `string` |  |  | 0.1.0 (中文(简体) ) | Android, iOS, Web (英语) |
| **`promptMessage`** | `string` | 确认对话框消息 。 省略时,对话框使用事件标题和时间摘要. |  | 8.8.0 (单位:千美元) | 网页 |
| **`recurrence`** | `[EventRecurrenceRule](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-eventrecurrencerule)` | 建立经常性活动的规则. |  | 7.3.0 (单位:千美元) | Android, iOS, Web (英语) |
| **`startDate`** | `number` |  |  | 0.1.0 (中文(简体) ) | Android, iOS, Web (英语) |
| **`title`** | `string` |  |  | 0.1.0 (中文(简体) ) | Android, iOS, Web (英语) |
| **`url`** | `string` |  |  | 0.1.0 (中文(简体) ) | iOS, 网络 |

#### 重犯规则

| Prop | 类型 | 说明 | 默认 | 自兹 | 平台 |
| --- | --- | --- | --- | --- | --- |
| **`byMonth`** | `number[]` | 将每年的复发限制在一年的特定月份。 数值应在1至12之间. |  | 7.1.0 (中文(简体) ) | Android, iOS, Web (英语) |
| **`byMonthDay`** | `number[]` | 将每月的复发时间限制在每月的具体天数。 数值应在1至31之间. |  | 7.1.0 (中文(简体) ) | Android, iOS, Web (英语) |
| **`byWeekDay`** | `number[]` | 将每周的复发限制为特定工作日。 数值应为1至7. 1为星期一和7为星期日. |  | 7.3.0 (单位:千美元) | Android, iOS, Web (英语) |
| **`count`** | `number` | 总出事数. 如果设定, 重现会在此众多事件之后结束 。 若为 `count` 提供, `end` 被忽略. |  | 7.3.0 (单位:千美元) | Android, iOS, Web (英语) |
| **`daysOfTheYear`** | `number[]` | 将每年的复发时间限制在一年中的特定天数(1至366). |  | 7.3.0 (单位:千美元) | iOS, 网络 |
| **`end`** | `number` | 以毫秒为单位作为Unix时间戳的重现系列结束日期. |  | 7.1.0 (中文(简体) ) | Android, iOS, Web (英语) |
| **`frequency`** | `[RecurrenceFrequency](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-recurrencefrequency)` | 事件多频繁地重复. |  | 7.3.0 (单位:千美元) | Android, iOS, Web (英语) |
| **`interval`** | `number` | 复发间隔 。 结合使用 `frequency`例如,一个间隔为2个的每周活动导致每两周发生一次. | `1` | 7.3.0 (单位:千美元) | Android, iOS, Web (英语) |
| **`weeksOfTheYear`** | `number[]` | 将每年的重复次数限制在ISO周的具体数目(1至53个). |  | 7.3.0 (单位:千美元) | iOS, 网络 |

#### 修改“ 快速” 选项

| Prop | 类型 | 说明 | 自兹 | 平台 |
| --- | --- | --- | --- | --- |
| **`alerts`** | `number[]` | 相对于事件开始,警告时间为分钟。 开始前使用负数提醒;开始后使用正数提醒。 iOS上只支持2个警报. | 7.1.0 (中文(简体) ) | iOS系统 |
| **`availability`** | `[EventAvailability](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-eventavailability)` |  | 7.1.0 (中文(简体) ) | Android, iOS (英语) |
| **`calendarId`** | `string` |  | 0.1.0 (中文(简体) ) | iOS系统 |
| **`description`** | `string` |  | 7.1.0 (中文(简体) ) | Android, iOS (英语) |
| **`endDate`** | `number` |  | 0.1.0 (中文(简体) ) | Android, iOS (英语) |
| **`id`** | `string` | 要修改的事件标识 . | 7.1.0 (中文(简体) ) | Android, iOS (英语) |
| **`invitees`** | `string[]` | 要邀请的一系列电子邮件 . | 7.1.0 (中文(简体) ) | 机器人 |
| **`isAllDay`** | `boolean` |  | 0.1.0 (中文(简体) ) | Android, iOS (英语) |
| **`location`** | `string` |  | 0.1.0 (中文(简体) ) | Android, iOS (英语) |
| **`recurrence`** | `[EventRecurrenceRule](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-eventrecurrencerule)` | 建立经常性活动的规则. | 7.3.0 (单位:千美元) | Android, iOS (英语) |
| **`startDate`** | `number` |  | 0.1.0 (中文(简体) ) | Android, iOS (英语) |
| **`title`** | `string` |  | 0.1.0 (中文(简体) ) | Android, iOS (英语) |
| **`url`** | `string` |  | 0.1.0 (中文(简体) ) | iOS系统 |

#### 创建活动结果

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

#### 创建事件选项

| Prop | 类型 | 说明 | 默认 | 自兹 | 平台 |
| --- | --- | --- | --- | --- | --- |
| **`alerts`** | `number[]` | 相对于事件开始,警告时间为分钟。 启动前使用负数警告,启动后使用正数警告. |  | 7.1.0 (中文(简体) ) | Android, iOS, Web (英语) |
| **`attendees`** | `EventGuest[]` | 活动嘉宾. |  | 7.1.0 (中文(简体) ) | 网络Android |
| **`autoDownloadIcsFile`** | `boolean` | 启动对ICS文件的浏览器下载. | `false` | 8.8.0 (单位:千美元) | 网页 |
| **`availability`** | `[EventAvailability](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-eventavailability)` |  |  | 7.1.0 (中文(简体) ) | Android, iOS, Web (英语) |
| **`calendarId`** | `string` |  |  | 0.1.0 (中文(简体) ) | Android, iOS (英语) |
| **`color`** | `string` |  |  | 7.1.0 (中文(简体) ) | 机器人 |
| **`commit`** | `boolean` | 是否立即保存( I)`true`)或以后的分批更改(`false`) (中文(简体) ). | `true` | 7.1.0 (中文(简体) ) | iOS系统 |
| **`description`** | `string` |  |  | 7.1.0 (中文(简体) ) | Android, iOS, Web (英语) |
| **`duration`** | `string` | 活动期间采用RFC2445格式. 在网络上, 当 `endDate` 省略; `endDate` 如果两者都设定了,则胜出. |  | 7.1.0 (中文(简体) ) | 网络Android |
| **`endDate`** | `number` |  |  | 0.1.0 (中文(简体) ) | Android, iOS, Web (英语) |
| **`icsFileName`** | `string` | 下载文件名 `.ics` 文档。 省略时,从 `title` (倒计时) `event.ics`) (中文(简体) ). 如果数值为无 `.ics` 扩展, `.ics` 页:1. |  | 8.5.0 (中文(简体) ) | 网页 |
| **`isAllDay`** | `boolean` |  |  | 0.1.0 (中文(简体) ) | Android, iOS, Web (英语) |
| **`location`** | `string` |  |  | 0.1.0 (中文(简体) ) | Android, iOS, Web (英语) |
| **`organizer`** | `string` | 活动组织者的电子邮件. |  | 7.1.0 (中文(简体) ) | 网络Android |
| **`recurrence`** | `[EventRecurrenceRule](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-eventrecurrencerule)` | 建立经常性活动的规则. |  | 7.3.0 (单位:千美元) | Android, iOS, Web (英语) |
| **`startDate`** | `number` |  |  | 0.1.0 (中文(简体) ) | Android, iOS, Web (英语) |
| **`title`** | `string` |  |  | 0.4.0 (中文(简体) ) | Android, iOS, Web (英语) |
| **`url`** | `string` |  |  | 0.1.0 (中文(简体) ) | iOS, 网络 |

#### 事件嘉宾

| Prop | 类型 | 自兹 |
| --- | --- | --- |
| **`name`** | `string` | 7.1.0 (中文(简体) ) |
| **`email`** | `string` | 7.1.0 (中文(简体) ) |

#### 修改事件选项

| Prop | 类型 | 说明 | 默认 | 自兹 | 平台 |
| --- | --- | --- | --- | --- | --- |
| **`alerts`** | `number[]` | 相对于事件开始,警告时间为分钟。 启动前使用负数警告,启动后使用正数警告. |  | 7.1.0 (中文(简体) ) | Android, iOS (英语) |
| **`attendees`** | `EventGuest[]` | 活动嘉宾. |  | 7.1.0 (中文(简体) ) | 机器人 |
| **`availability`** | `[EventAvailability](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-eventavailability)` |  |  | 7.1.0 (中文(简体) ) | Android, iOS (英语) |
| **`calendarId`** | `string` |  |  | 0.1.0 (中文(简体) ) | Android, iOS (英语) |
| **`color`** | `string` |  |  | 7.1.0 (中文(简体) ) | 机器人 |
| **`description`** | `string` |  |  | 7.1.0 (中文(简体) ) | Android, iOS (英语) |
| **`duration`** | `string` | 活动期间采用RFC2445格式. |  | 7.1.0 (中文(简体) ) | 机器人 |
| **`endDate`** | `number` |  |  | 0.1.0 (中文(简体) ) | Android, iOS (英语) |
| **`id`** | `string` | 要修改的事件标识 . |  | 7.1.0 (中文(简体) ) | Android, iOS (英语) |
| **`isAllDay`** | `boolean` |  |  | 0.1.0 (中文(简体) ) | Android, iOS (英语) |
| **`location`** | `string` |  |  | 0.1.0 (中文(简体) ) | Android, iOS (英语) |
| **`recurrence`** | `[EventRecurrenceRule](https://npmcn.com/package/%40ebarooni/capacitor-calendar/#readme-eventrecurrencerule)` | 建立经常性活动的规则. |  | 7.3.0 (单位:千美元) | Android, iOS (英语) |
| **`organizer`** | `string` | 活动组织者的电子邮件. |  |  |  |

## 常见问题

### @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 和提交记录判断。

