1e41f4b71Sopenharmony_ci# @ohos.calendarManager (日程管理能力) 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ci本模块提供日历与日程管理能力,包括日历和日程的创建、删除、修改、查询等。 4e41f4b71Sopenharmony_ci 5e41f4b71Sopenharmony_ci- 日历管理器[CalendarManager](#calendarmanager)用于管理日历[Calendar](#calendar)。 6e41f4b71Sopenharmony_ci 7e41f4b71Sopenharmony_ci- 日历[Calendar](#calendar)主要包含账户信息[CalendarAccount](#calendaraccount)和配置信息[CalendarConfig](#calendarconfig)。日历Calendar与日程Event属于从属关系,需要先创建日历Calendar对象,然后再通过日历Calendar创建日程Event对象,一个Calendar可以有多个Event,一个Event只属于一个Calendar。日历管理器是对日历的管理,日程过滤器是对日程的管理。 8e41f4b71Sopenharmony_ci 9e41f4b71Sopenharmony_ci> **说明:** 10e41f4b71Sopenharmony_ci> 11e41f4b71Sopenharmony_ci> 本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 12e41f4b71Sopenharmony_ci 13e41f4b71Sopenharmony_ci 14e41f4b71Sopenharmony_ci## 导入模块 15e41f4b71Sopenharmony_ci 16e41f4b71Sopenharmony_ci```typescript 17e41f4b71Sopenharmony_ciimport { calendarManager } from '@kit.CalendarKit' 18e41f4b71Sopenharmony_ci``` 19e41f4b71Sopenharmony_ci 20e41f4b71Sopenharmony_ci## calendarManager.getCalendarManager 21e41f4b71Sopenharmony_ci 22e41f4b71Sopenharmony_cigetCalendarManager(context : Context): CalendarManager 23e41f4b71Sopenharmony_ci 24e41f4b71Sopenharmony_ci根据上下文获取CalendarManager对象,用于管理日历。 25e41f4b71Sopenharmony_ci 26e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 27e41f4b71Sopenharmony_ci 28e41f4b71Sopenharmony_ci**系统能力**: SystemCapability.Applications.CalendarData 29e41f4b71Sopenharmony_ci 30e41f4b71Sopenharmony_ci**模型约束**:此接口仅可在Stage模型下使用。 31e41f4b71Sopenharmony_ci 32e41f4b71Sopenharmony_ci**参数**: 33e41f4b71Sopenharmony_ci 34e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 35e41f4b71Sopenharmony_ci| -------- | --------------------------- | ---- |----------------------------------------------------------------------------------------------------------------| 36e41f4b71Sopenharmony_ci| context | Context | 是 | 应用上下文Context,Stage模型的应用Context定义见[Context](../apis-ability-kit/js-apis-inner-application-uiAbilityContext.md)。 | 37e41f4b71Sopenharmony_ci 38e41f4b71Sopenharmony_ci**返回值**: 39e41f4b71Sopenharmony_ci 40e41f4b71Sopenharmony_ci| 类型 | 说明 | 41e41f4b71Sopenharmony_ci| ------------------------------ | ------------------------------------- | 42e41f4b71Sopenharmony_ci| CalendarManager | 返回创建的CalendarManager对象。 | 43e41f4b71Sopenharmony_ci 44e41f4b71Sopenharmony_ci**示例**: 45e41f4b71Sopenharmony_ci 46e41f4b71Sopenharmony_ci```typescript 47e41f4b71Sopenharmony_ci// 获取上下文mContext 48e41f4b71Sopenharmony_ci// 获取日历管理器calendarMgr 49e41f4b71Sopenharmony_ci// 该文件为系统生成,目录:entry/src/main/ets/entryability/EntryAbility.ets 50e41f4b71Sopenharmony_ciimport { 51e41f4b71Sopenharmony_ci abilityAccessCtrl, 52e41f4b71Sopenharmony_ci AbilityConstant, common, PermissionRequestResult, Permissions, UIAbility, Want } from '@kit.AbilityKit'; 53e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 54e41f4b71Sopenharmony_ciimport { calendarManager } from '@kit.CalendarKit'; 55e41f4b71Sopenharmony_ciimport { window } from '@kit.ArkUI'; 56e41f4b71Sopenharmony_ci 57e41f4b71Sopenharmony_ciexport let calendarMgr: calendarManager.CalendarManager | null = null; 58e41f4b71Sopenharmony_ciexport let mContext: common.UIAbilityContext | null = null; 59e41f4b71Sopenharmony_ciexport default class EntryAbility extends UIAbility { 60e41f4b71Sopenharmony_ci onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void { 61e41f4b71Sopenharmony_ci console.info("Ability onCreate"); 62e41f4b71Sopenharmony_ci } 63e41f4b71Sopenharmony_ci 64e41f4b71Sopenharmony_ci onDestroy(): void { 65e41f4b71Sopenharmony_ci console.info("Ability onDestroy"); 66e41f4b71Sopenharmony_ci } 67e41f4b71Sopenharmony_ci 68e41f4b71Sopenharmony_ci onWindowStageCreate(windowStage: window.WindowStage): void { 69e41f4b71Sopenharmony_ci // Main window is created, set main page for this ability 70e41f4b71Sopenharmony_ci console.info("Ability onWindowStageCreate"); 71e41f4b71Sopenharmony_ci 72e41f4b71Sopenharmony_ci windowStage.loadContent('pages/Index', (err, data) => { 73e41f4b71Sopenharmony_ci if (err.code) { 74e41f4b71Sopenharmony_ci console.error(`Failed to load the content. Code: ${err.code}, message: ${err.message}`); 75e41f4b71Sopenharmony_ci return; 76e41f4b71Sopenharmony_ci } 77e41f4b71Sopenharmony_ci console.info(`Succeeded in loading the content. Data: ${JSON.stringify(data)}`); 78e41f4b71Sopenharmony_ci }); 79e41f4b71Sopenharmony_ci mContext = this.context; 80e41f4b71Sopenharmony_ci const permissions: Permissions[] = ['ohos.permission.READ_CALENDAR', 'ohos.permission.WRITE_CALENDAR']; 81e41f4b71Sopenharmony_ci let atManager = abilityAccessCtrl.createAtManager(); 82e41f4b71Sopenharmony_ci atManager.requestPermissionsFromUser(mContext, permissions).then((result: PermissionRequestResult) => { 83e41f4b71Sopenharmony_ci console.log(`get Permission success, result: ${JSON.stringify(result)}`); 84e41f4b71Sopenharmony_ci calendarMgr = calendarManager.getCalendarManager(mContext); 85e41f4b71Sopenharmony_ci }).catch((error: BusinessError) => { 86e41f4b71Sopenharmony_ci console.error(`get Permission error, error. Code: ${error.code}, message: ${error.message}`); 87e41f4b71Sopenharmony_ci }) 88e41f4b71Sopenharmony_ci } 89e41f4b71Sopenharmony_ci 90e41f4b71Sopenharmony_ci onWindowStageDestroy(): void { 91e41f4b71Sopenharmony_ci // Main window is destroyed, release UI related resources 92e41f4b71Sopenharmony_ci console.info("Ability onWindowStageDestroy"); 93e41f4b71Sopenharmony_ci } 94e41f4b71Sopenharmony_ci 95e41f4b71Sopenharmony_ci onForeground(): void { 96e41f4b71Sopenharmony_ci // Ability has brought to foreground 97e41f4b71Sopenharmony_ci console.info("Ability onForeground"); 98e41f4b71Sopenharmony_ci } 99e41f4b71Sopenharmony_ci 100e41f4b71Sopenharmony_ci onBackground(): void { 101e41f4b71Sopenharmony_ci // Ability has back to background 102e41f4b71Sopenharmony_ci console.info("Ability onBackground"); 103e41f4b71Sopenharmony_ci } 104e41f4b71Sopenharmony_ci} 105e41f4b71Sopenharmony_ci``` 106e41f4b71Sopenharmony_ci 107e41f4b71Sopenharmony_ci## CalendarManager 108e41f4b71Sopenharmony_ci 109e41f4b71Sopenharmony_ci下列API示例中需先通过[getCalendarManager()](#calendarmanagergetcalendarmanager)方法获取CalendarManager对象,再通过此对象调用对应方法,进行Calendar的创建、删除、修改、查询等操作。 110e41f4b71Sopenharmony_ci 111e41f4b71Sopenharmony_ci 112e41f4b71Sopenharmony_ci### createCalendar 113e41f4b71Sopenharmony_ci 114e41f4b71Sopenharmony_cicreateCalendar(calendarAccount: CalendarAccount, callback: AsyncCallback\<Calendar>): void 115e41f4b71Sopenharmony_ci 116e41f4b71Sopenharmony_ci根据日历账户信息,创建一个Calendar对象,使用callback异步回调。 117e41f4b71Sopenharmony_ci 118e41f4b71Sopenharmony_ci**需要权限**: ohos.permission.WRITE_CALENDAR 119e41f4b71Sopenharmony_ci 120e41f4b71Sopenharmony_ci**系统能力**: SystemCapability.Applications.CalendarData 121e41f4b71Sopenharmony_ci 122e41f4b71Sopenharmony_ci**参数**: 123e41f4b71Sopenharmony_ci 124e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 125e41f4b71Sopenharmony_ci| --------------- | ------------------------------------- | ---- | ---------------------------------- | 126e41f4b71Sopenharmony_ci| calendarAccount | [CalendarAccount](#calendaraccount) | 是 | 日历账户信息。 | 127e41f4b71Sopenharmony_ci| callback | AsyncCallback\<[Calendar](#calendar)> | 是 | 回调函数,返回创建的Calendar对象。 | 128e41f4b71Sopenharmony_ci 129e41f4b71Sopenharmony_ci**错误码:** 130e41f4b71Sopenharmony_ci 131e41f4b71Sopenharmony_ci以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)。 132e41f4b71Sopenharmony_ci 133e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 134e41f4b71Sopenharmony_ci| -------- | ------------------------------ | 135e41f4b71Sopenharmony_ci| 201 | Permission denied. | 136e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 137e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 138e41f4b71Sopenharmony_ci 139e41f4b71Sopenharmony_ci**示例**: 140e41f4b71Sopenharmony_ci 141e41f4b71Sopenharmony_ci```typescript 142e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 143e41f4b71Sopenharmony_ciimport { calendarMgr } from '../entryability/EntryAbility'; 144e41f4b71Sopenharmony_ci 145e41f4b71Sopenharmony_cilet calendar: calendarManager.Calendar | undefined = undefined; 146e41f4b71Sopenharmony_ciconst calendarAccount: calendarManager.CalendarAccount = { 147e41f4b71Sopenharmony_ci name: 'CreateMyCalendarByCallBack', 148e41f4b71Sopenharmony_ci type: calendarManager.CalendarType.LOCAL 149e41f4b71Sopenharmony_ci}; 150e41f4b71Sopenharmony_citry { 151e41f4b71Sopenharmony_ci calendarMgr?.createCalendar(calendarAccount, (err: BusinessError, data: calendarManager.Calendar) => { 152e41f4b71Sopenharmony_ci if (err) { 153e41f4b71Sopenharmony_ci console.error(`Failed to create calendar. Code: ${err.code}, message: ${err.message}`); 154e41f4b71Sopenharmony_ci } else { 155e41f4b71Sopenharmony_ci console.info(`Succeeded in creating calendar, data -> ${JSON.stringify(data)}`); 156e41f4b71Sopenharmony_ci calendar = data; 157e41f4b71Sopenharmony_ci } 158e41f4b71Sopenharmony_ci }); 159e41f4b71Sopenharmony_ci} catch (error) { 160e41f4b71Sopenharmony_ci console.error(`Failed to create calendar. Code: ${error.code}, message: ${error.message}`); 161e41f4b71Sopenharmony_ci} 162e41f4b71Sopenharmony_ci``` 163e41f4b71Sopenharmony_ci 164e41f4b71Sopenharmony_ci### createCalendar 165e41f4b71Sopenharmony_ci 166e41f4b71Sopenharmony_cicreateCalendar(calendarAccount: CalendarAccount): Promise\<Calendar> 167e41f4b71Sopenharmony_ci 168e41f4b71Sopenharmony_ci根据日历账户信息,创建一个Calendar对象,使用Promise异步回调。 169e41f4b71Sopenharmony_ci 170e41f4b71Sopenharmony_ci**需要权限**: ohos.permission.WRITE_CALENDAR 171e41f4b71Sopenharmony_ci 172e41f4b71Sopenharmony_ci**系统能力**: SystemCapability.Applications.CalendarData 173e41f4b71Sopenharmony_ci 174e41f4b71Sopenharmony_ci**参数**: 175e41f4b71Sopenharmony_ci 176e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 177e41f4b71Sopenharmony_ci| --------------- | ----------------------------------- | ---- | -------------- | 178e41f4b71Sopenharmony_ci| calendarAccount | [CalendarAccount](#calendaraccount) | 是 | 日历账户信息。 | 179e41f4b71Sopenharmony_ci 180e41f4b71Sopenharmony_ci**返回值**: 181e41f4b71Sopenharmony_ci 182e41f4b71Sopenharmony_ci| 类型 | 说明 | 183e41f4b71Sopenharmony_ci| ------------------------------ | ------------------------------------- | 184e41f4b71Sopenharmony_ci| Promise<[Calendar](#calendar)> | Promise对象,返回创建的Calendar对象。 | 185e41f4b71Sopenharmony_ci 186e41f4b71Sopenharmony_ci**错误码:** 187e41f4b71Sopenharmony_ci 188e41f4b71Sopenharmony_ci以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)。 189e41f4b71Sopenharmony_ci 190e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 191e41f4b71Sopenharmony_ci| -------- | ------------------------------ | 192e41f4b71Sopenharmony_ci| 201 | Permission denied. | 193e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 194e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 195e41f4b71Sopenharmony_ci 196e41f4b71Sopenharmony_ci**示例**: 197e41f4b71Sopenharmony_ci 198e41f4b71Sopenharmony_ci```typescript 199e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 200e41f4b71Sopenharmony_ciimport { calendarMgr } from '../entryability/EntryAbility'; 201e41f4b71Sopenharmony_ci 202e41f4b71Sopenharmony_cilet calendar : calendarManager.Calendar | undefined = undefined; 203e41f4b71Sopenharmony_ciconst calendarAccount: calendarManager.CalendarAccount = { 204e41f4b71Sopenharmony_ci name: 'CreateMyCalendarByPromise', 205e41f4b71Sopenharmony_ci type: calendarManager.CalendarType.LOCAL, 206e41f4b71Sopenharmony_ci displayName : 'MyApplication' 207e41f4b71Sopenharmony_ci}; 208e41f4b71Sopenharmony_cicalendarMgr?.createCalendar(calendarAccount).then((data: calendarManager.Calendar) => { 209e41f4b71Sopenharmony_ci console.info(`Succeeded in creating calendar data->${JSON.stringify(data)}`); 210e41f4b71Sopenharmony_ci calendar = data; 211e41f4b71Sopenharmony_ci}).catch((error : BusinessError) => { 212e41f4b71Sopenharmony_ci console.error(`Failed to create calendar. Code: ${error.code}, message: ${error.message}`); 213e41f4b71Sopenharmony_ci}); 214e41f4b71Sopenharmony_ci``` 215e41f4b71Sopenharmony_ci 216e41f4b71Sopenharmony_ci### deleteCalendar 217e41f4b71Sopenharmony_ci 218e41f4b71Sopenharmony_cideleteCalendar(calendar: Calendar, callback: AsyncCallback\<void>): void 219e41f4b71Sopenharmony_ci 220e41f4b71Sopenharmony_ci删除指定Calendar对象,使用callback异步回调。 221e41f4b71Sopenharmony_ci 222e41f4b71Sopenharmony_ci**需要权限**: ohos.permission.WRITE_CALENDAR 223e41f4b71Sopenharmony_ci 224e41f4b71Sopenharmony_ci**系统能力**: SystemCapability.Applications.CalendarData 225e41f4b71Sopenharmony_ci 226e41f4b71Sopenharmony_ci**参数**: 227e41f4b71Sopenharmony_ci 228e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 229e41f4b71Sopenharmony_ci| -------- | --------------------- | ---- | -------------- | 230e41f4b71Sopenharmony_ci| calendar | [Calendar](#calendar) | 是 | 即将删除的Calendar对象。 | 231e41f4b71Sopenharmony_ci| callback | AsyncCallback\<void> | 是 | 无返回结果的AsyncCallback对象。 | 232e41f4b71Sopenharmony_ci 233e41f4b71Sopenharmony_ci**错误码:** 234e41f4b71Sopenharmony_ci 235e41f4b71Sopenharmony_ci以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)。 236e41f4b71Sopenharmony_ci 237e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 238e41f4b71Sopenharmony_ci| -------- | ------------------------------ | 239e41f4b71Sopenharmony_ci| 201 | Permission denied. | 240e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 241e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 242e41f4b71Sopenharmony_ci 243e41f4b71Sopenharmony_ci**示例**: 244e41f4b71Sopenharmony_ci 245e41f4b71Sopenharmony_ci```typescript 246e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 247e41f4b71Sopenharmony_ciimport { calendarMgr } from '../entryability/EntryAbility'; 248e41f4b71Sopenharmony_ci 249e41f4b71Sopenharmony_ciconst calendarAccount: calendarManager.CalendarAccount = { 250e41f4b71Sopenharmony_ci name: 'DeleteMyCalendarByCallBack', 251e41f4b71Sopenharmony_ci type: calendarManager.CalendarType.LOCAL 252e41f4b71Sopenharmony_ci}; 253e41f4b71Sopenharmony_cicalendarMgr?.createCalendar(calendarAccount).then((data: calendarManager.Calendar) => { 254e41f4b71Sopenharmony_ci console.info(`Succeeded in creating calendar, data -> ${JSON.stringify(data)}`); 255e41f4b71Sopenharmony_ci calendarMgr?.getCalendar(calendarAccount, (err: BusinessError, data: calendarManager.Calendar) => { 256e41f4b71Sopenharmony_ci if (err) { 257e41f4b71Sopenharmony_ci console.error(`Failed to get calendar. Code: ${err.code}, message: ${err.message}`); 258e41f4b71Sopenharmony_ci } else { 259e41f4b71Sopenharmony_ci console.info(`Succeeded in getting calendar, data -> ${JSON.stringify(data)}`); 260e41f4b71Sopenharmony_ci calendarMgr?.deleteCalendar(data, (err1: BusinessError) => { 261e41f4b71Sopenharmony_ci if (err1) { 262e41f4b71Sopenharmony_ci console.error(`Failed to delete calendar. Code: ${err1.code}, message: ${err1.message}`); 263e41f4b71Sopenharmony_ci } else { 264e41f4b71Sopenharmony_ci console.info("Succeeded in deleting calendar"); 265e41f4b71Sopenharmony_ci } 266e41f4b71Sopenharmony_ci }); 267e41f4b71Sopenharmony_ci } 268e41f4b71Sopenharmony_ci }); 269e41f4b71Sopenharmony_ci}).catch((error: BusinessError) => { 270e41f4b71Sopenharmony_ci console.error(`Failed to create calendar. Code: ${error.code}, message: ${error.message}`); 271e41f4b71Sopenharmony_ci}) 272e41f4b71Sopenharmony_ci``` 273e41f4b71Sopenharmony_ci 274e41f4b71Sopenharmony_ci### deleteCalendar 275e41f4b71Sopenharmony_ci 276e41f4b71Sopenharmony_cideleteCalendar(calendar: Calendar): Promise\<void> 277e41f4b71Sopenharmony_ci 278e41f4b71Sopenharmony_ci删除指定Calendar对象,使用Promise异步回调。 279e41f4b71Sopenharmony_ci 280e41f4b71Sopenharmony_ci**需要权限**: ohos.permission.WRITE_CALENDAR 281e41f4b71Sopenharmony_ci 282e41f4b71Sopenharmony_ci**系统能力**: SystemCapability.Applications.CalendarData 283e41f4b71Sopenharmony_ci 284e41f4b71Sopenharmony_ci**参数**: 285e41f4b71Sopenharmony_ci 286e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 287e41f4b71Sopenharmony_ci| -------- | --------------------- | ---- | -------------- | 288e41f4b71Sopenharmony_ci| calendar | [Calendar](#calendar) | 是 | 即将删除的Calendar对象。 | 289e41f4b71Sopenharmony_ci 290e41f4b71Sopenharmony_ci**返回值**: 291e41f4b71Sopenharmony_ci 292e41f4b71Sopenharmony_ci| 类型 | 说明 | 293e41f4b71Sopenharmony_ci| -------------- | ------------------------- | 294e41f4b71Sopenharmony_ci| Promise\<void> | 无返回结果的Promise对象。 | 295e41f4b71Sopenharmony_ci 296e41f4b71Sopenharmony_ci**错误码:** 297e41f4b71Sopenharmony_ci 298e41f4b71Sopenharmony_ci以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)。 299e41f4b71Sopenharmony_ci 300e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 301e41f4b71Sopenharmony_ci| -------- | ------------------------------ | 302e41f4b71Sopenharmony_ci| 201 | Permission denied. | 303e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 304e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 305e41f4b71Sopenharmony_ci 306e41f4b71Sopenharmony_ci**示例**: 307e41f4b71Sopenharmony_ci 308e41f4b71Sopenharmony_ci```typescript 309e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 310e41f4b71Sopenharmony_ciimport { calendarMgr } from '../entryability/EntryAbility'; 311e41f4b71Sopenharmony_ci 312e41f4b71Sopenharmony_ciconst calendarAccount: calendarManager.CalendarAccount = { 313e41f4b71Sopenharmony_ci name: 'DeleteMyCalendarByPromise', 314e41f4b71Sopenharmony_ci type: calendarManager.CalendarType.LOCAL 315e41f4b71Sopenharmony_ci}; 316e41f4b71Sopenharmony_cicalendarMgr?.createCalendar(calendarAccount).then((data: calendarManager.Calendar) => { 317e41f4b71Sopenharmony_ci console.info(`Succeeded in creating calendar, data -> ${JSON.stringify(data)}`); 318e41f4b71Sopenharmony_ci calendarMgr?.getCalendar(calendarAccount).then((data: calendarManager.Calendar) => { 319e41f4b71Sopenharmony_ci console.info(`Succeeded in getting calendar, data -> ${JSON.stringify(data)}`); 320e41f4b71Sopenharmony_ci calendarMgr?.deleteCalendar(data).then(() => { 321e41f4b71Sopenharmony_ci console.info("Succeeded in deleting calendar"); 322e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 323e41f4b71Sopenharmony_ci console.error(`Failed to delete calendar. Code: ${err.code}, message: ${err.message}`); 324e41f4b71Sopenharmony_ci }); 325e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 326e41f4b71Sopenharmony_ci console.error(`Failed to get calendar. Code: ${err.code}, message: ${err.message}`); 327e41f4b71Sopenharmony_ci }); 328e41f4b71Sopenharmony_ci}).catch((error: BusinessError) => { 329e41f4b71Sopenharmony_ci console.error(`Failed to create calendar. Code: ${error.code}, message: ${error.message}`); 330e41f4b71Sopenharmony_ci}) 331e41f4b71Sopenharmony_ci``` 332e41f4b71Sopenharmony_ci 333e41f4b71Sopenharmony_ci### getCalendar 334e41f4b71Sopenharmony_ci 335e41f4b71Sopenharmony_cigetCalendar(callback: AsyncCallback\<Calendar>): void 336e41f4b71Sopenharmony_ci 337e41f4b71Sopenharmony_ci获取默认Calendar对象,默认Calendar是日历存储首次运行时创建的,若创建Event时不关注其Calendar归属,则无须通过[createCalendar()](#createcalendar)创建Calendar,直接使用默认Calendar,使用callback异步回调。 338e41f4b71Sopenharmony_ci 339e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.READ_CALENDAR 340e41f4b71Sopenharmony_ci 341e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 342e41f4b71Sopenharmony_ci 343e41f4b71Sopenharmony_ci**系统能力**: SystemCapability.Applications.CalendarData 344e41f4b71Sopenharmony_ci 345e41f4b71Sopenharmony_ci**参数**: 346e41f4b71Sopenharmony_ci 347e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 348e41f4b71Sopenharmony_ci| -------- | ------------------------------------ | ---- | ------------------------------------ | 349e41f4b71Sopenharmony_ci| callback | AsyncCallback<[Calendar](#calendar)> | 是 | 回调函数,返回查询到的Calendar对象。 | 350e41f4b71Sopenharmony_ci 351e41f4b71Sopenharmony_ci**错误码:** 352e41f4b71Sopenharmony_ci 353e41f4b71Sopenharmony_ci以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)。 354e41f4b71Sopenharmony_ci 355e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 356e41f4b71Sopenharmony_ci| -------- | ------------------------------ | 357e41f4b71Sopenharmony_ci| 201 | Permission denied. | 358e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 359e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 360e41f4b71Sopenharmony_ci 361e41f4b71Sopenharmony_ci**示例**: 362e41f4b71Sopenharmony_ci 363e41f4b71Sopenharmony_ci```typescript 364e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 365e41f4b71Sopenharmony_ciimport { calendarMgr } from '../entryability/EntryAbility'; 366e41f4b71Sopenharmony_ci 367e41f4b71Sopenharmony_cilet calendar : calendarManager.Calendar | undefined = undefined; 368e41f4b71Sopenharmony_cicalendarMgr?.getCalendar((err: BusinessError, data:calendarManager.Calendar) => { 369e41f4b71Sopenharmony_ci if (err) { 370e41f4b71Sopenharmony_ci console.error(`Failed to get calendar. Code: ${err.code}, message: ${err.message}`); 371e41f4b71Sopenharmony_ci } else { 372e41f4b71Sopenharmony_ci console.info(`Succeeded in getting calendar, data -> ${JSON.stringify(data)}`); 373e41f4b71Sopenharmony_ci calendar = data; 374e41f4b71Sopenharmony_ci } 375e41f4b71Sopenharmony_ci}); 376e41f4b71Sopenharmony_ci``` 377e41f4b71Sopenharmony_ci 378e41f4b71Sopenharmony_ci### getCalendar 379e41f4b71Sopenharmony_ci 380e41f4b71Sopenharmony_cigetCalendar(calendarAccount: CalendarAccount, callback: AsyncCallback\<Calendar>): void 381e41f4b71Sopenharmony_ci 382e41f4b71Sopenharmony_ci获取指定Calendar对象,使用callback异步回调。 383e41f4b71Sopenharmony_ci 384e41f4b71Sopenharmony_ci**需要权限**: ohos.permission.READ_CALENDAR 385e41f4b71Sopenharmony_ci 386e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 387e41f4b71Sopenharmony_ci 388e41f4b71Sopenharmony_ci**系统能力**: SystemCapability.Applications.CalendarData 389e41f4b71Sopenharmony_ci 390e41f4b71Sopenharmony_ci**参数**: 391e41f4b71Sopenharmony_ci 392e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 393e41f4b71Sopenharmony_ci| --------------- | ------------------------------------ | ---- | ------------------------------------ | 394e41f4b71Sopenharmony_ci| calendarAccount | [CalendarAccount](#calendaraccount) | 是 | 日历账户信息。 | 395e41f4b71Sopenharmony_ci| callback | AsyncCallback<[Calendar](#calendar)> | 是 | 回调函数,返回查询到的Calendar对象。 | 396e41f4b71Sopenharmony_ci 397e41f4b71Sopenharmony_ci**错误码:** 398e41f4b71Sopenharmony_ci 399e41f4b71Sopenharmony_ci以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)。 400e41f4b71Sopenharmony_ci 401e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 402e41f4b71Sopenharmony_ci| -------- | ------------------------------ | 403e41f4b71Sopenharmony_ci| 201 | Permission denied. | 404e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 405e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 406e41f4b71Sopenharmony_ci 407e41f4b71Sopenharmony_ci**示例**: 408e41f4b71Sopenharmony_ci 409e41f4b71Sopenharmony_ci```typescript 410e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 411e41f4b71Sopenharmony_ciimport { calendarMgr } from '../entryability/EntryAbility'; 412e41f4b71Sopenharmony_ci 413e41f4b71Sopenharmony_cilet calendar : calendarManager.Calendar | undefined = undefined; 414e41f4b71Sopenharmony_ciconst calendarAccount: calendarManager.CalendarAccount = { 415e41f4b71Sopenharmony_ci name: 'MyCalendar', 416e41f4b71Sopenharmony_ci type: calendarManager.CalendarType.LOCAL 417e41f4b71Sopenharmony_ci}; 418e41f4b71Sopenharmony_cicalendarMgr?.createCalendar(calendarAccount).then((data: calendarManager.Calendar) => { 419e41f4b71Sopenharmony_ci console.info(`Succeeded in creating calendar, data -> ${JSON.stringify(data)}`); 420e41f4b71Sopenharmony_ci calendarMgr?.getCalendar(calendarAccount, (err: BusinessError, data: calendarManager.Calendar) => { 421e41f4b71Sopenharmony_ci if (err) { 422e41f4b71Sopenharmony_ci console.error(`Failed to get calendar. Code: ${err.code}, message: ${err.message}`); 423e41f4b71Sopenharmony_ci } else { 424e41f4b71Sopenharmony_ci console.info(`Succeeded in getting calendar data -> ${JSON.stringify(data)}`); 425e41f4b71Sopenharmony_ci calendar = data; 426e41f4b71Sopenharmony_ci } 427e41f4b71Sopenharmony_ci }); 428e41f4b71Sopenharmony_ci}).catch((error: BusinessError) => { 429e41f4b71Sopenharmony_ci console.error(`Failed to create calendar. Code: ${error.code}, message: ${error.message}`); 430e41f4b71Sopenharmony_ci}) 431e41f4b71Sopenharmony_ci``` 432e41f4b71Sopenharmony_ci 433e41f4b71Sopenharmony_ci### getCalendar 434e41f4b71Sopenharmony_ci 435e41f4b71Sopenharmony_cigetCalendar(calendarAccount?: CalendarAccount): Promise\<Calendar> 436e41f4b71Sopenharmony_ci 437e41f4b71Sopenharmony_ci获取默认Calendar对象或者指定Calendar对象,使用Promise异步回调。 438e41f4b71Sopenharmony_ci 439e41f4b71Sopenharmony_ci**需要权限**: ohos.permission.READ_CALENDAR 440e41f4b71Sopenharmony_ci 441e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 442e41f4b71Sopenharmony_ci 443e41f4b71Sopenharmony_ci**系统能力**: SystemCapability.Applications.CalendarData 444e41f4b71Sopenharmony_ci 445e41f4b71Sopenharmony_ci**参数**: 446e41f4b71Sopenharmony_ci 447e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 448e41f4b71Sopenharmony_ci| --------------- | ----------------------------------- | ---- | ------------------------------------------------------------ | 449e41f4b71Sopenharmony_ci| calendarAccount | [CalendarAccount](#calendaraccount) | 否 | 日历账户信息,用来获取指定Calendar对象,不填时,表示获取默认Calendar对象。 | 450e41f4b71Sopenharmony_ci 451e41f4b71Sopenharmony_ci**返回值**: 452e41f4b71Sopenharmony_ci 453e41f4b71Sopenharmony_ci| 类型 | 说明 | 454e41f4b71Sopenharmony_ci| ------------------------------ | --------------------------------------- | 455e41f4b71Sopenharmony_ci| Promise<[Calendar](#calendar)> | Promise对象,返回查询到的Calendar对象。 | 456e41f4b71Sopenharmony_ci 457e41f4b71Sopenharmony_ci**错误码:** 458e41f4b71Sopenharmony_ci 459e41f4b71Sopenharmony_ci以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)。 460e41f4b71Sopenharmony_ci 461e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 462e41f4b71Sopenharmony_ci| -------- | ------------------------------ | 463e41f4b71Sopenharmony_ci| 201 | Permission denied. | 464e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: Incorrect parameter types. | 465e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 466e41f4b71Sopenharmony_ci 467e41f4b71Sopenharmony_ci**示例**: 468e41f4b71Sopenharmony_ci 469e41f4b71Sopenharmony_ci```typescript 470e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 471e41f4b71Sopenharmony_ciimport { calendarMgr } from '../entryability/EntryAbility'; 472e41f4b71Sopenharmony_ci 473e41f4b71Sopenharmony_cilet calendar : calendarManager.Calendar | undefined = undefined; 474e41f4b71Sopenharmony_cicalendarMgr?.getCalendar().then((data: calendarManager.Calendar) => { 475e41f4b71Sopenharmony_ci console.info(`Succeeded in getting calendar, data -> ${JSON.stringify(data)}`); 476e41f4b71Sopenharmony_ci calendar = data; 477e41f4b71Sopenharmony_ci}).catch((err: BusinessError) => { 478e41f4b71Sopenharmony_ci console.error(`Failed to get calendar. Code: ${err.code}, message: ${err.message}`); 479e41f4b71Sopenharmony_ci}); 480e41f4b71Sopenharmony_ci``` 481e41f4b71Sopenharmony_ci 482e41f4b71Sopenharmony_ci### getAllCalendars 483e41f4b71Sopenharmony_ci 484e41f4b71Sopenharmony_cigetAllCalendars(callback: AsyncCallback\<Calendar[]>): void 485e41f4b71Sopenharmony_ci 486e41f4b71Sopenharmony_ci获取当前应用所有创建的Calendar对象以及默认Calendar对象,使用callback异步回调。 487e41f4b71Sopenharmony_ci 488e41f4b71Sopenharmony_ci**需要权限**:ohos.permission.READ_CALENDAR 489e41f4b71Sopenharmony_ci 490e41f4b71Sopenharmony_ci**系统能力**: SystemCapability.Applications.CalendarData 491e41f4b71Sopenharmony_ci 492e41f4b71Sopenharmony_ci**参数**: 493e41f4b71Sopenharmony_ci 494e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 495e41f4b71Sopenharmony_ci| -------- | -------------------------------------- | ---- | ----------------------------------------- | 496e41f4b71Sopenharmony_ci| callback | AsyncCallback<[Calendar](#calendar)[]> | 是 | 回调函数, 返回查询到的Calendar对象数组。 | 497e41f4b71Sopenharmony_ci 498e41f4b71Sopenharmony_ci**错误码:** 499e41f4b71Sopenharmony_ci 500e41f4b71Sopenharmony_ci以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)。 501e41f4b71Sopenharmony_ci 502e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 503e41f4b71Sopenharmony_ci| -------- | ------------------------------ | 504e41f4b71Sopenharmony_ci| 201 | Permission denied. | 505e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 506e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 507e41f4b71Sopenharmony_ci 508e41f4b71Sopenharmony_ci**示例**: 509e41f4b71Sopenharmony_ci 510e41f4b71Sopenharmony_ci```typescript 511e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 512e41f4b71Sopenharmony_ciimport { calendarMgr } from '../entryability/EntryAbility'; 513e41f4b71Sopenharmony_ci 514e41f4b71Sopenharmony_cicalendarMgr?.getAllCalendars((err: BusinessError, data: calendarManager.Calendar[]) => { 515e41f4b71Sopenharmony_ci if (err) { 516e41f4b71Sopenharmony_ci console.error(`Failed to get all calendars. Code: ${err.code}, message: ${err.message}`); 517e41f4b71Sopenharmony_ci } else { 518e41f4b71Sopenharmony_ci console.info(`Succeeded in getting all calendars, data -> ${JSON.stringify(data)}`); 519e41f4b71Sopenharmony_ci data.forEach((calendar) => { 520e41f4b71Sopenharmony_ci const account = calendar.getAccount(); 521e41f4b71Sopenharmony_ci console.info(`account -> ${JSON.stringify(account)}`); 522e41f4b71Sopenharmony_ci }) 523e41f4b71Sopenharmony_ci } 524e41f4b71Sopenharmony_ci}); 525e41f4b71Sopenharmony_ci``` 526e41f4b71Sopenharmony_ci 527e41f4b71Sopenharmony_ci### getAllCalendars 528e41f4b71Sopenharmony_ci 529e41f4b71Sopenharmony_cigetAllCalendars(): Promise\<Calendar[]> 530e41f4b71Sopenharmony_ci 531e41f4b71Sopenharmony_ci获取当前应用所有创建的Calendar对象以及默认Calendar对象,使用Promise异步回调。 532e41f4b71Sopenharmony_ci 533e41f4b71Sopenharmony_ci**需要权限**: ohos.permission.READ_CALENDAR 534e41f4b71Sopenharmony_ci 535e41f4b71Sopenharmony_ci**系统能力**: SystemCapability.Applications.CalendarData 536e41f4b71Sopenharmony_ci 537e41f4b71Sopenharmony_ci**返回值**: 538e41f4b71Sopenharmony_ci 539e41f4b71Sopenharmony_ci| 类型 | 说明 | 540e41f4b71Sopenharmony_ci| -------------------------------- | ------------------------------------------- | 541e41f4b71Sopenharmony_ci| Promise<[Calendar](#calendar)[]> | Promise对象,返回查询到的Calendar对象数组。 | 542e41f4b71Sopenharmony_ci 543e41f4b71Sopenharmony_ci**错误码:** 544e41f4b71Sopenharmony_ci 545e41f4b71Sopenharmony_ci以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)。 546e41f4b71Sopenharmony_ci 547e41f4b71Sopenharmony_ci| 错误码ID | 错误信息 | 548e41f4b71Sopenharmony_ci| -------- | ------------------------------ | 549e41f4b71Sopenharmony_ci| 201 | Permission denied. | 550e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: Incorrect parameter types. | 551e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 552e41f4b71Sopenharmony_ci 553e41f4b71Sopenharmony_ci**示例**: 554e41f4b71Sopenharmony_ci 555e41f4b71Sopenharmony_ci```typescript 556e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 557e41f4b71Sopenharmony_ciimport { calendarMgr } from '../entryability/EntryAbility'; 558e41f4b71Sopenharmony_ci 559e41f4b71Sopenharmony_cicalendarMgr?.getAllCalendars().then((data: calendarManager.Calendar[]) => { 560e41f4b71Sopenharmony_ci console.info(`Succeeded in getting all calendars, data -> ${JSON.stringify(data)}`); 561e41f4b71Sopenharmony_ci data.forEach((calendar) => { 562e41f4b71Sopenharmony_ci const account = calendar.getAccount(); 563e41f4b71Sopenharmony_ci console.info(`account -> ${JSON.stringify(account)}`); 564e41f4b71Sopenharmony_ci }) 565e41f4b71Sopenharmony_ci}).catch((err: BusinessError) => { 566e41f4b71Sopenharmony_ci console.error(`Failed to get all calendars. Code: ${err.code}, message: ${err.message}`); 567e41f4b71Sopenharmony_ci}); 568e41f4b71Sopenharmony_ci``` 569e41f4b71Sopenharmony_ci 570e41f4b71Sopenharmony_ci### editEvent<sup>12+</sup> 571e41f4b71Sopenharmony_ci 572e41f4b71Sopenharmony_cieditEvent(event: Event): Promise\<number> 573e41f4b71Sopenharmony_ci 574e41f4b71Sopenharmony_ci创建单个日程,入参Event不填日程id,调用该接口会跳转到日程创建页面,使用Promise异步回调。 575e41f4b71Sopenharmony_ci 576e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 577e41f4b71Sopenharmony_ci 578e41f4b71Sopenharmony_ci**系统能力**: SystemCapability.Applications.CalendarData 579e41f4b71Sopenharmony_ci 580e41f4b71Sopenharmony_ci**参数**: 581e41f4b71Sopenharmony_ci 582e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 583e41f4b71Sopenharmony_ci| ------ | --------------- | ---- | ----------- | 584e41f4b71Sopenharmony_ci| event | [Event](#event) | 是 | Event对象。 | 585e41f4b71Sopenharmony_ci 586e41f4b71Sopenharmony_ci**返回值**: 587e41f4b71Sopenharmony_ci 588e41f4b71Sopenharmony_ci| 类型 | 说明 | 589e41f4b71Sopenharmony_ci| -------------- |-----------------------------------------------------------------------------| 590e41f4b71Sopenharmony_ci| Promise<number> | Promise对象,返回日程的id,日程id是日程的唯一标识符,是数据库的自增主键,小于0代表日程创建失败,大于0代表日程创建成功,没有等于0的情况。 | 591e41f4b71Sopenharmony_ci 592e41f4b71Sopenharmony_ci**示例**: 593e41f4b71Sopenharmony_ci 594e41f4b71Sopenharmony_ci```typescript 595e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 596e41f4b71Sopenharmony_ciimport { calendarMgr } from '../entryability/EntryAbility'; 597e41f4b71Sopenharmony_ci 598e41f4b71Sopenharmony_ciconst date = new Date(); 599e41f4b71Sopenharmony_ciconst event: calendarManager.Event = { 600e41f4b71Sopenharmony_ci title: 'title', 601e41f4b71Sopenharmony_ci type: calendarManager.EventType.NORMAL, 602e41f4b71Sopenharmony_ci startTime: date.getTime(), 603e41f4b71Sopenharmony_ci endTime: date.getTime() + 60 * 60 * 1000 604e41f4b71Sopenharmony_ci}; 605e41f4b71Sopenharmony_cicalendarMgr?.editEvent(event).then((eventId: number): void => { 606e41f4b71Sopenharmony_ci console.info(`create Event id = ${eventId}`); 607e41f4b71Sopenharmony_ci}).catch((err: BusinessError) => { 608e41f4b71Sopenharmony_ci console.error(`Failed to create Event. Code: ${err.code}, message: ${err.message}`); 609e41f4b71Sopenharmony_ci}); 610e41f4b71Sopenharmony_ci``` 611e41f4b71Sopenharmony_ci 612e41f4b71Sopenharmony_ci## Calendar 613e41f4b71Sopenharmony_ci 614e41f4b71Sopenharmony_ci下列API示例中需先通过[createCalendar()](#createcalendar)、[getCalendar()](#getcalendar)中任一方法获取Calendar对象,再通过此对象调用对应方法,对该Calendar下的日程进行创建、删除、修改、查询等操作。 615e41f4b71Sopenharmony_ci 616e41f4b71Sopenharmony_ci### 属性 617e41f4b71Sopenharmony_ci 618e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 619e41f4b71Sopenharmony_ci 620e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Applications.CalendarData 621e41f4b71Sopenharmony_ci 622e41f4b71Sopenharmony_ci| 名称 | 类型 | 只读 | 可选 | 说明 | 623e41f4b71Sopenharmony_ci| ---- | ------ | ---- |----|--------------------------------------------------------------------------| 624e41f4b71Sopenharmony_ci| id | number | 是 | 否 | 日历账户id,日历账户id是日历账户的唯一标识符,是数据库的自增主键,小于0代表日历账户创建失败,大于0代表日历账户创建成功,没有等于0的情况。 | 625e41f4b71Sopenharmony_ci 626e41f4b71Sopenharmony_ci### addEvent 627e41f4b71Sopenharmony_ci 628e41f4b71Sopenharmony_ciaddEvent(event: Event, callback: AsyncCallback\<number>): void 629e41f4b71Sopenharmony_ci 630e41f4b71Sopenharmony_ci创建日程,入参Event不填日程id,使用callback异步回调。 631e41f4b71Sopenharmony_ci 632e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 633e41f4b71Sopenharmony_ci 634e41f4b71Sopenharmony_ci**系统能力**: SystemCapability.Applications.CalendarData 635e41f4b71Sopenharmony_ci 636e41f4b71Sopenharmony_ci**参数**: 637e41f4b71Sopenharmony_ci 638e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 639e41f4b71Sopenharmony_ci| -------- | ---------------------- | ---- |-----------------------------------------------------------------------| 640e41f4b71Sopenharmony_ci| event | [Event](#event) | 是 | Event对象。 | 641e41f4b71Sopenharmony_ci| callback | AsyncCallback\<number> | 是 | 回调函数,返回日程id,日程id是日程的唯一标识符,是数据库的自增主键,小于0代表日程创建失败,大于0代表日程创建成功,没有等于0的情况。 | 642e41f4b71Sopenharmony_ci 643e41f4b71Sopenharmony_ci**示例**: 644e41f4b71Sopenharmony_ci 645e41f4b71Sopenharmony_ci```typescript 646e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 647e41f4b71Sopenharmony_ciimport { calendarMgr } from '../entryability/EntryAbility'; 648e41f4b71Sopenharmony_ci 649e41f4b71Sopenharmony_cilet calendar : calendarManager.Calendar | undefined = undefined; 650e41f4b71Sopenharmony_ciconst date = new Date(); 651e41f4b71Sopenharmony_ciconst event: calendarManager.Event = { 652e41f4b71Sopenharmony_ci type: calendarManager.EventType.NORMAL, 653e41f4b71Sopenharmony_ci startTime: date.getTime(), 654e41f4b71Sopenharmony_ci endTime: date.getTime() + 60 * 60 * 1000 655e41f4b71Sopenharmony_ci}; 656e41f4b71Sopenharmony_cicalendarMgr?.getCalendar().then((data: calendarManager.Calendar) => { 657e41f4b71Sopenharmony_ci console.info(`Succeeded in getting calendar, data -> ${JSON.stringify(data)}`); 658e41f4b71Sopenharmony_ci calendar = data; 659e41f4b71Sopenharmony_ci calendar.addEvent(event, (err: BusinessError, data: number): void => { 660e41f4b71Sopenharmony_ci if (err) { 661e41f4b71Sopenharmony_ci console.error(`Failed to addEvent. Code: ${err.code}, message: ${err.message}`); 662e41f4b71Sopenharmony_ci } else { 663e41f4b71Sopenharmony_ci console.info(`Succeeded in adding event, id -> ${data}`); 664e41f4b71Sopenharmony_ci } 665e41f4b71Sopenharmony_ci }); 666e41f4b71Sopenharmony_ci}).catch((err: BusinessError) => { 667e41f4b71Sopenharmony_ci console.error(`Failed to get calendar. Code: ${err.code}, message: ${err.message}`); 668e41f4b71Sopenharmony_ci}); 669e41f4b71Sopenharmony_ci``` 670e41f4b71Sopenharmony_ci 671e41f4b71Sopenharmony_ci### addEvent 672e41f4b71Sopenharmony_ci 673e41f4b71Sopenharmony_ciaddEvent(event: Event): Promise\<number> 674e41f4b71Sopenharmony_ci 675e41f4b71Sopenharmony_ci创建日程,入参Event不填日程id,使用Promise异步回调。 676e41f4b71Sopenharmony_ci 677e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 678e41f4b71Sopenharmony_ci 679e41f4b71Sopenharmony_ci**系统能力**: SystemCapability.Applications.CalendarData 680e41f4b71Sopenharmony_ci 681e41f4b71Sopenharmony_ci**参数**: 682e41f4b71Sopenharmony_ci 683e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 684e41f4b71Sopenharmony_ci| ------ | --------------- | ---- | ----------- | 685e41f4b71Sopenharmony_ci| event | [Event](#event) | 是 | Event对象。 | 686e41f4b71Sopenharmony_ci 687e41f4b71Sopenharmony_ci**返回值**: 688e41f4b71Sopenharmony_ci 689e41f4b71Sopenharmony_ci| 类型 | 说明 | 690e41f4b71Sopenharmony_ci| ---------------- | --------------------------- | 691e41f4b71Sopenharmony_ci| Promise\<number> | Promise对象,返回日程的id。 | 692e41f4b71Sopenharmony_ci 693e41f4b71Sopenharmony_ci**示例**: 694e41f4b71Sopenharmony_ci 695e41f4b71Sopenharmony_ci```typescript 696e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 697e41f4b71Sopenharmony_ciimport { calendarMgr } from '../entryability/EntryAbility'; 698e41f4b71Sopenharmony_ci 699e41f4b71Sopenharmony_cilet calendar : calendarManager.Calendar | undefined = undefined; 700e41f4b71Sopenharmony_ciconst date = new Date(); 701e41f4b71Sopenharmony_ciconst event: calendarManager.Event = { 702e41f4b71Sopenharmony_ci type: calendarManager.EventType.NORMAL, 703e41f4b71Sopenharmony_ci startTime: date.getTime(), 704e41f4b71Sopenharmony_ci endTime: date.getTime() + 60 * 60 * 1000 705e41f4b71Sopenharmony_ci}; 706e41f4b71Sopenharmony_cicalendarMgr?.getCalendar((err: BusinessError, data:calendarManager.Calendar) => { 707e41f4b71Sopenharmony_ci if (err) { 708e41f4b71Sopenharmony_ci console.error(`Failed to get calendar. Code: ${err.code}, message: ${err.message}`); 709e41f4b71Sopenharmony_ci } else { 710e41f4b71Sopenharmony_ci console.info(`Succeeded in getting calendar, data -> ${JSON.stringify(data)}`); 711e41f4b71Sopenharmony_ci calendar = data; 712e41f4b71Sopenharmony_ci calendar.addEvent(event).then((data: number) => { 713e41f4b71Sopenharmony_ci console.info(`Succeeded in adding event, id -> ${data}`); 714e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 715e41f4b71Sopenharmony_ci console.error(`Failed to addEvent. Code: ${err.code}, message: ${err.message}`); 716e41f4b71Sopenharmony_ci }); 717e41f4b71Sopenharmony_ci } 718e41f4b71Sopenharmony_ci}); 719e41f4b71Sopenharmony_ci``` 720e41f4b71Sopenharmony_ci 721e41f4b71Sopenharmony_ci### addEvents 722e41f4b71Sopenharmony_ci 723e41f4b71Sopenharmony_ciaddEvents(events: Event[], callback: AsyncCallback\<void>): void 724e41f4b71Sopenharmony_ci 725e41f4b71Sopenharmony_ci批量创建日程,入参Event不填日程id,使用callback异步回调。 726e41f4b71Sopenharmony_ci 727e41f4b71Sopenharmony_ci**系统能力**: SystemCapability.Applications.CalendarData 728e41f4b71Sopenharmony_ci 729e41f4b71Sopenharmony_ci**参数**: 730e41f4b71Sopenharmony_ci 731e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 732e41f4b71Sopenharmony_ci| -------- | -------------------- | ---- | --------------- | 733e41f4b71Sopenharmony_ci| events | [Event](#event)[] | 是 | Event对象数组。 | 734e41f4b71Sopenharmony_ci| callback | AsyncCallback\<void> | 是 | 回调函数。 | 735e41f4b71Sopenharmony_ci 736e41f4b71Sopenharmony_ci**示例**: 737e41f4b71Sopenharmony_ci 738e41f4b71Sopenharmony_ci```typescript 739e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 740e41f4b71Sopenharmony_ciimport { calendarMgr } from '../entryability/EntryAbility'; 741e41f4b71Sopenharmony_ci 742e41f4b71Sopenharmony_cilet calendar : calendarManager.Calendar | undefined = undefined; 743e41f4b71Sopenharmony_ciconst date = new Date(); 744e41f4b71Sopenharmony_ciconst events: calendarManager.Event[] = [ 745e41f4b71Sopenharmony_ci { 746e41f4b71Sopenharmony_ci type: calendarManager.EventType.NORMAL, 747e41f4b71Sopenharmony_ci startTime: date.getTime(), 748e41f4b71Sopenharmony_ci endTime: date.getTime() + 60 * 60 * 1000 749e41f4b71Sopenharmony_ci }, 750e41f4b71Sopenharmony_ci { 751e41f4b71Sopenharmony_ci type: calendarManager.EventType.NORMAL, 752e41f4b71Sopenharmony_ci startTime: date.getTime(), 753e41f4b71Sopenharmony_ci endTime: date.getTime() + 60 * 60 * 1000 754e41f4b71Sopenharmony_ci } 755e41f4b71Sopenharmony_ci]; 756e41f4b71Sopenharmony_cicalendarMgr?.getCalendar((err: BusinessError, data:calendarManager.Calendar) => { 757e41f4b71Sopenharmony_ci if (err) { 758e41f4b71Sopenharmony_ci console.error(`Failed to get calendar. Code: ${err.code}, message: ${err.message}`); 759e41f4b71Sopenharmony_ci } else { 760e41f4b71Sopenharmony_ci console.info(`Succeeded in getting calendar, data -> ${JSON.stringify(data)}`); 761e41f4b71Sopenharmony_ci calendar = data; 762e41f4b71Sopenharmony_ci calendar.addEvents(events, (err: BusinessError) => { 763e41f4b71Sopenharmony_ci if (err) { 764e41f4b71Sopenharmony_ci console.error(`Failed to add events. Code: ${err.code}, message: ${err.message}`); 765e41f4b71Sopenharmony_ci } else { 766e41f4b71Sopenharmony_ci console.info("Succeeded in adding events"); 767e41f4b71Sopenharmony_ci } 768e41f4b71Sopenharmony_ci }); 769e41f4b71Sopenharmony_ci } 770e41f4b71Sopenharmony_ci}); 771e41f4b71Sopenharmony_ci``` 772e41f4b71Sopenharmony_ci 773e41f4b71Sopenharmony_ci### addEvents 774e41f4b71Sopenharmony_ci 775e41f4b71Sopenharmony_ciaddEvents(events: Event[]): Promise\<void> 776e41f4b71Sopenharmony_ci 777e41f4b71Sopenharmony_ci批量创建日程,入参Event不填日程id,使用Promise异步回调。 778e41f4b71Sopenharmony_ci 779e41f4b71Sopenharmony_ci**系统能力**: SystemCapability.Applications.CalendarData 780e41f4b71Sopenharmony_ci 781e41f4b71Sopenharmony_ci**参数**: 782e41f4b71Sopenharmony_ci 783e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 784e41f4b71Sopenharmony_ci| ------ | ----------------- | ---- | --------------- | 785e41f4b71Sopenharmony_ci| events | [Event](#event)[] | 是 | Event对象数组。 | 786e41f4b71Sopenharmony_ci 787e41f4b71Sopenharmony_ci**返回值**: 788e41f4b71Sopenharmony_ci 789e41f4b71Sopenharmony_ci| 类型 | 说明 | 790e41f4b71Sopenharmony_ci| -------------- | ------------------------- | 791e41f4b71Sopenharmony_ci| Promise\<void> | 无返回结果的Promise对象。 | 792e41f4b71Sopenharmony_ci 793e41f4b71Sopenharmony_ci**示例**: 794e41f4b71Sopenharmony_ci 795e41f4b71Sopenharmony_ci```typescript 796e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 797e41f4b71Sopenharmony_ciimport { calendarMgr } from '../entryability/EntryAbility'; 798e41f4b71Sopenharmony_ci 799e41f4b71Sopenharmony_cilet calendar : calendarManager.Calendar | undefined = undefined; 800e41f4b71Sopenharmony_ciconst date = new Date(); 801e41f4b71Sopenharmony_ciconst events: calendarManager.Event[] = [ 802e41f4b71Sopenharmony_ci { 803e41f4b71Sopenharmony_ci type: calendarManager.EventType.NORMAL, 804e41f4b71Sopenharmony_ci startTime: date.getTime(), 805e41f4b71Sopenharmony_ci endTime: date.getTime() + 60 * 60 * 1000 806e41f4b71Sopenharmony_ci }, 807e41f4b71Sopenharmony_ci { 808e41f4b71Sopenharmony_ci type: calendarManager.EventType.NORMAL, 809e41f4b71Sopenharmony_ci startTime: date.getTime(), 810e41f4b71Sopenharmony_ci endTime: date.getTime() + 60 * 60 * 1000 811e41f4b71Sopenharmony_ci } 812e41f4b71Sopenharmony_ci]; 813e41f4b71Sopenharmony_cicalendarMgr?.getCalendar((err: BusinessError, data:calendarManager.Calendar) => { 814e41f4b71Sopenharmony_ci if (err) { 815e41f4b71Sopenharmony_ci console.error(`Failed to get calendar. Code: ${err.code}, message: ${err.message}`); 816e41f4b71Sopenharmony_ci } else { 817e41f4b71Sopenharmony_ci console.info(`Succeeded in getting calendar, data -> ${JSON.stringify(data)}`); 818e41f4b71Sopenharmony_ci calendar = data; 819e41f4b71Sopenharmony_ci calendar.addEvents(events).then(() => { 820e41f4b71Sopenharmony_ci console.info("Succeeded in adding events"); 821e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 822e41f4b71Sopenharmony_ci console.error(`Failed to add event. Code: ${err.code}, message: ${err.message}`); 823e41f4b71Sopenharmony_ci }); 824e41f4b71Sopenharmony_ci } 825e41f4b71Sopenharmony_ci}); 826e41f4b71Sopenharmony_ci``` 827e41f4b71Sopenharmony_ci 828e41f4b71Sopenharmony_ci### deleteEvent 829e41f4b71Sopenharmony_ci 830e41f4b71Sopenharmony_cideleteEvent(id: number, callback: AsyncCallback\<void>): void 831e41f4b71Sopenharmony_ci 832e41f4b71Sopenharmony_ci删除指定id的日程,使用callback异步回调。 833e41f4b71Sopenharmony_ci 834e41f4b71Sopenharmony_ci**系统能力**: SystemCapability.Applications.CalendarData 835e41f4b71Sopenharmony_ci 836e41f4b71Sopenharmony_ci**参数**: 837e41f4b71Sopenharmony_ci 838e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 839e41f4b71Sopenharmony_ci| -------- | -------------------- | ---- |----------------------------------------| 840e41f4b71Sopenharmony_ci| id | number | 是 | 日程id,传入的日程id为正整数,表示已创建日程的id,是日程的唯一标识符。 | 841e41f4b71Sopenharmony_ci| callback | AsyncCallback\<void> | 是 | 回调函数。 | 842e41f4b71Sopenharmony_ci 843e41f4b71Sopenharmony_ci**示例**: 844e41f4b71Sopenharmony_ci 845e41f4b71Sopenharmony_ci```typescript 846e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 847e41f4b71Sopenharmony_ciimport { calendarMgr } from '../entryability/EntryAbility'; 848e41f4b71Sopenharmony_ci 849e41f4b71Sopenharmony_cilet calendar : calendarManager.Calendar | undefined = undefined; 850e41f4b71Sopenharmony_cilet id: number = 0; 851e41f4b71Sopenharmony_ciconst date = new Date(); 852e41f4b71Sopenharmony_ciconst event: calendarManager.Event = { 853e41f4b71Sopenharmony_ci type: calendarManager.EventType.NORMAL, 854e41f4b71Sopenharmony_ci startTime: date.getTime(), 855e41f4b71Sopenharmony_ci endTime: date.getTime() + 60 * 60 * 1000 856e41f4b71Sopenharmony_ci}; 857e41f4b71Sopenharmony_cicalendarMgr?.getCalendar(async (err: BusinessError, data:calendarManager.Calendar) => { 858e41f4b71Sopenharmony_ci if (err) { 859e41f4b71Sopenharmony_ci console.error(`Failed to get calendar. Code: ${err.code}, message: ${err.message}`); 860e41f4b71Sopenharmony_ci } else { 861e41f4b71Sopenharmony_ci console.info(`Succeeded in getting calendar, data -> ${JSON.stringify(data)}`); 862e41f4b71Sopenharmony_ci calendar = data; 863e41f4b71Sopenharmony_ci calendar.addEvent(event).then((data: number) => { 864e41f4b71Sopenharmony_ci console.info(`Succeeded in adding event, id -> ${data}`); 865e41f4b71Sopenharmony_ci id = data; 866e41f4b71Sopenharmony_ci calendar?.deleteEvent(id, (err: BusinessError) => { 867e41f4b71Sopenharmony_ci if (err) { 868e41f4b71Sopenharmony_ci console.error(`Failed to delete event. Code: ${err.code}, message: ${err.message}`); 869e41f4b71Sopenharmony_ci } else { 870e41f4b71Sopenharmony_ci console.info(`Succeeded in deleting event, err -> ${JSON.stringify(err)}`); 871e41f4b71Sopenharmony_ci } 872e41f4b71Sopenharmony_ci }); 873e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 874e41f4b71Sopenharmony_ci console.error(`Failed to add event. Code: ${err.code}, message: ${err.message}`); 875e41f4b71Sopenharmony_ci }); 876e41f4b71Sopenharmony_ci } 877e41f4b71Sopenharmony_ci}); 878e41f4b71Sopenharmony_ci``` 879e41f4b71Sopenharmony_ci 880e41f4b71Sopenharmony_ci### deleteEvent 881e41f4b71Sopenharmony_ci 882e41f4b71Sopenharmony_cideleteEvent(id: number): Promise\<void> 883e41f4b71Sopenharmony_ci 884e41f4b71Sopenharmony_ci删除指定id的日程,使用Promise异步回调。 885e41f4b71Sopenharmony_ci 886e41f4b71Sopenharmony_ci**系统能力**: SystemCapability.Applications.CalendarData 887e41f4b71Sopenharmony_ci 888e41f4b71Sopenharmony_ci**参数**: 889e41f4b71Sopenharmony_ci 890e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 891e41f4b71Sopenharmony_ci| ------ | ------ | ---- | -------- | 892e41f4b71Sopenharmony_ci| id | number | 是 | 日程id。 | 893e41f4b71Sopenharmony_ci 894e41f4b71Sopenharmony_ci**返回值**: 895e41f4b71Sopenharmony_ci 896e41f4b71Sopenharmony_ci| 类型 | 说明 | 897e41f4b71Sopenharmony_ci| -------------- | ------------------------- | 898e41f4b71Sopenharmony_ci| Promise\<void> | 无返回结果的Promise对象。 | 899e41f4b71Sopenharmony_ci 900e41f4b71Sopenharmony_ci**示例**: 901e41f4b71Sopenharmony_ci 902e41f4b71Sopenharmony_ci```typescript 903e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 904e41f4b71Sopenharmony_ciimport { calendarMgr } from '../entryability/EntryAbility'; 905e41f4b71Sopenharmony_ci 906e41f4b71Sopenharmony_cilet calendar : calendarManager.Calendar | undefined = undefined; 907e41f4b71Sopenharmony_cilet id: number = 0; 908e41f4b71Sopenharmony_ciconst date = new Date(); 909e41f4b71Sopenharmony_ciconst event: calendarManager.Event = { 910e41f4b71Sopenharmony_ci type: calendarManager.EventType.NORMAL, 911e41f4b71Sopenharmony_ci startTime: date.getTime(), 912e41f4b71Sopenharmony_ci endTime: date.getTime() + 60 * 60 * 1000 913e41f4b71Sopenharmony_ci}; 914e41f4b71Sopenharmony_cicalendarMgr?.getCalendar(async (err: BusinessError, data:calendarManager.Calendar) => { 915e41f4b71Sopenharmony_ci if (err) { 916e41f4b71Sopenharmony_ci console.error(`Failed to get calendar. Code: ${err.code}, message: ${err.message}`); 917e41f4b71Sopenharmony_ci } else { 918e41f4b71Sopenharmony_ci console.info(`Succeeded in getting calendar data->${JSON.stringify(data)}`); 919e41f4b71Sopenharmony_ci calendar = data; 920e41f4b71Sopenharmony_ci await calendar.addEvent(event).then((data: number) => { 921e41f4b71Sopenharmony_ci console.info(`Succeeded in adding event, id -> ${data}`); 922e41f4b71Sopenharmony_ci id = data; 923e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 924e41f4b71Sopenharmony_ci console.error(`Failed to add event. Code: ${err.code}, message: ${err.message}`); 925e41f4b71Sopenharmony_ci }); 926e41f4b71Sopenharmony_ci calendar.deleteEvent(id).then(() => { 927e41f4b71Sopenharmony_ci console.info("Succeeded in deleting event"); 928e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 929e41f4b71Sopenharmony_ci console.error(`Failed to delete event. Code: ${err.code}, message: ${err.message}`); 930e41f4b71Sopenharmony_ci }); 931e41f4b71Sopenharmony_ci } 932e41f4b71Sopenharmony_ci}); 933e41f4b71Sopenharmony_ci``` 934e41f4b71Sopenharmony_ci 935e41f4b71Sopenharmony_ci### deleteEvents 936e41f4b71Sopenharmony_ci 937e41f4b71Sopenharmony_cideleteEvents(ids: number[], callback: AsyncCallback\<void>): void 938e41f4b71Sopenharmony_ci 939e41f4b71Sopenharmony_ci根据日程id,批量删除日程,使用callback异步回调。 940e41f4b71Sopenharmony_ci 941e41f4b71Sopenharmony_ci**系统能力**: SystemCapability.Applications.CalendarData 942e41f4b71Sopenharmony_ci 943e41f4b71Sopenharmony_ci**参数**: 944e41f4b71Sopenharmony_ci 945e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 946e41f4b71Sopenharmony_ci| -------- | -------------------- | ---- | ------------ | 947e41f4b71Sopenharmony_ci| ids | number[] | 是 | 日程id数组。 | 948e41f4b71Sopenharmony_ci| callback | AsyncCallback\<void> | 是 | 回调函数。 | 949e41f4b71Sopenharmony_ci 950e41f4b71Sopenharmony_ci**示例**: 951e41f4b71Sopenharmony_ci 952e41f4b71Sopenharmony_ci```typescript 953e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 954e41f4b71Sopenharmony_ciimport { calendarMgr } from '../entryability/EntryAbility'; 955e41f4b71Sopenharmony_ci 956e41f4b71Sopenharmony_cilet calendar : calendarManager.Calendar | undefined = undefined; 957e41f4b71Sopenharmony_cilet id1: number = 0; 958e41f4b71Sopenharmony_cilet id2: number = 0; 959e41f4b71Sopenharmony_ciconst date = new Date(); 960e41f4b71Sopenharmony_ciconst event1: calendarManager.Event = { 961e41f4b71Sopenharmony_ci type: calendarManager.EventType.NORMAL, 962e41f4b71Sopenharmony_ci startTime: date.getTime(), 963e41f4b71Sopenharmony_ci endTime: date.getTime() + 60 * 60 * 1000 964e41f4b71Sopenharmony_ci}; 965e41f4b71Sopenharmony_ciconst event2: calendarManager.Event = { 966e41f4b71Sopenharmony_ci type: calendarManager.EventType.IMPORTANT, 967e41f4b71Sopenharmony_ci startTime: date.getTime(), 968e41f4b71Sopenharmony_ci endTime: date.getTime() + 60 * 60 * 1000 969e41f4b71Sopenharmony_ci}; 970e41f4b71Sopenharmony_cicalendarMgr?.getCalendar(async (err: BusinessError, data:calendarManager.Calendar) => { 971e41f4b71Sopenharmony_ci if (err) { 972e41f4b71Sopenharmony_ci console.error(`Failed to get calendar. Code: ${err.code}, message: ${err.message}`); 973e41f4b71Sopenharmony_ci } else { 974e41f4b71Sopenharmony_ci console.info(`Succeeded in getting calendar, data -> ${JSON.stringify(data)}`); 975e41f4b71Sopenharmony_ci calendar = data; 976e41f4b71Sopenharmony_ci await calendar.addEvent(event1).then((data: number) => { 977e41f4b71Sopenharmony_ci console.info(`Succeeded in adding event, id -> ${data}`); 978e41f4b71Sopenharmony_ci id1 = data; 979e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 980e41f4b71Sopenharmony_ci console.error(`Failed to add event. Code: ${err.code}, message: ${err.message}`); 981e41f4b71Sopenharmony_ci }); 982e41f4b71Sopenharmony_ci await calendar.addEvent(event2).then((data: number) => { 983e41f4b71Sopenharmony_ci console.info(`Succeeded in adding event, id -> ${data}`); 984e41f4b71Sopenharmony_ci id2 = data; 985e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 986e41f4b71Sopenharmony_ci console.error(`Failed to add event. Code: ${err.code}, message: ${err.message}`); 987e41f4b71Sopenharmony_ci }); 988e41f4b71Sopenharmony_ci calendar.deleteEvents([id1, id2], (err: BusinessError) => { 989e41f4b71Sopenharmony_ci if (err) { 990e41f4b71Sopenharmony_ci console.error(`Failed to delete events. Code: ${err.code}, message: ${err.message}`); 991e41f4b71Sopenharmony_ci } else { 992e41f4b71Sopenharmony_ci console.info("Succeeded in deleting events"); 993e41f4b71Sopenharmony_ci } 994e41f4b71Sopenharmony_ci }); 995e41f4b71Sopenharmony_ci } 996e41f4b71Sopenharmony_ci}); 997e41f4b71Sopenharmony_ci``` 998e41f4b71Sopenharmony_ci 999e41f4b71Sopenharmony_ci### deleteEvents 1000e41f4b71Sopenharmony_ci 1001e41f4b71Sopenharmony_cideleteEvents(ids: number[]): Promise\<void> 1002e41f4b71Sopenharmony_ci 1003e41f4b71Sopenharmony_ci根据日程id,批量删除日程,使用Promise异步回调。 1004e41f4b71Sopenharmony_ci 1005e41f4b71Sopenharmony_ci**系统能力**: SystemCapability.Applications.CalendarData 1006e41f4b71Sopenharmony_ci 1007e41f4b71Sopenharmony_ci**参数**: 1008e41f4b71Sopenharmony_ci 1009e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1010e41f4b71Sopenharmony_ci| ------ | -------- | ---- | ------------ | 1011e41f4b71Sopenharmony_ci| ids | number[] | 是 | 日程id数组。 | 1012e41f4b71Sopenharmony_ci 1013e41f4b71Sopenharmony_ci**返回值**: 1014e41f4b71Sopenharmony_ci 1015e41f4b71Sopenharmony_ci| 类型 | 说明 | 1016e41f4b71Sopenharmony_ci| -------------- | ------------------------- | 1017e41f4b71Sopenharmony_ci| Promise\<void> | 无返回结果的Promise对象。 | 1018e41f4b71Sopenharmony_ci 1019e41f4b71Sopenharmony_ci**示例**: 1020e41f4b71Sopenharmony_ci 1021e41f4b71Sopenharmony_ci```typescript 1022e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 1023e41f4b71Sopenharmony_ciimport { calendarMgr } from '../entryability/EntryAbility'; 1024e41f4b71Sopenharmony_ci 1025e41f4b71Sopenharmony_cilet calendar : calendarManager.Calendar | undefined = undefined; 1026e41f4b71Sopenharmony_cilet id1: number = 0; 1027e41f4b71Sopenharmony_cilet id2: number = 0; 1028e41f4b71Sopenharmony_ciconst date = new Date(); 1029e41f4b71Sopenharmony_ciconst event1: calendarManager.Event = { 1030e41f4b71Sopenharmony_ci type: calendarManager.EventType.NORMAL, 1031e41f4b71Sopenharmony_ci startTime: date.getTime(), 1032e41f4b71Sopenharmony_ci endTime: date.getTime() + 60 * 60 * 1000 1033e41f4b71Sopenharmony_ci}; 1034e41f4b71Sopenharmony_ciconst event2: calendarManager.Event = { 1035e41f4b71Sopenharmony_ci type: calendarManager.EventType.IMPORTANT, 1036e41f4b71Sopenharmony_ci startTime: date.getTime(), 1037e41f4b71Sopenharmony_ci endTime: date.getTime() + 60 * 60 * 1000 1038e41f4b71Sopenharmony_ci}; 1039e41f4b71Sopenharmony_cicalendarMgr?.getCalendar(async (err: BusinessError, data:calendarManager.Calendar) => { 1040e41f4b71Sopenharmony_ci if (err) { 1041e41f4b71Sopenharmony_ci console.error(`Failed to get calendar. Code: ${err.code}, message: ${err.message}`); 1042e41f4b71Sopenharmony_ci } else { 1043e41f4b71Sopenharmony_ci console.info(`Succeeded in getting calendar, data -> ${JSON.stringify(data)}`); 1044e41f4b71Sopenharmony_ci calendar = data; 1045e41f4b71Sopenharmony_ci await calendar.addEvent(event1).then((data: number) => { 1046e41f4b71Sopenharmony_ci console.info(`Succeeded in adding event, id -> ${data}`); 1047e41f4b71Sopenharmony_ci id1 = data; 1048e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 1049e41f4b71Sopenharmony_ci console.error(`Failed to add event. Code: ${err.code}, message: ${err.message}`); 1050e41f4b71Sopenharmony_ci }); 1051e41f4b71Sopenharmony_ci await calendar.addEvent(event2).then((data: number) => { 1052e41f4b71Sopenharmony_ci console.info(`Succeeded in adding event, id -> ${data}`); 1053e41f4b71Sopenharmony_ci id2 = data; 1054e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 1055e41f4b71Sopenharmony_ci console.error(`Failed to add event. Code: ${err.code}, message: ${err.message}`); 1056e41f4b71Sopenharmony_ci }); 1057e41f4b71Sopenharmony_ci calendar.deleteEvents([id1, id2]).then(() => { 1058e41f4b71Sopenharmony_ci console.info("Succeeded in deleting events"); 1059e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 1060e41f4b71Sopenharmony_ci console.error(`Failed to delete events. Code: ${err.code}, message: ${err.message}`); 1061e41f4b71Sopenharmony_ci }); 1062e41f4b71Sopenharmony_ci } 1063e41f4b71Sopenharmony_ci}); 1064e41f4b71Sopenharmony_ci``` 1065e41f4b71Sopenharmony_ci 1066e41f4b71Sopenharmony_ci### updateEvent 1067e41f4b71Sopenharmony_ci 1068e41f4b71Sopenharmony_ciupdateEvent(event: Event, callback: AsyncCallback\<void>): void 1069e41f4b71Sopenharmony_ci 1070e41f4b71Sopenharmony_ci更新日程,使用callback异步回调。 1071e41f4b71Sopenharmony_ci 1072e41f4b71Sopenharmony_ci**系统能力**: SystemCapability.Applications.CalendarData 1073e41f4b71Sopenharmony_ci 1074e41f4b71Sopenharmony_ci**参数**: 1075e41f4b71Sopenharmony_ci 1076e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1077e41f4b71Sopenharmony_ci| -------- | -------------------- | ---- | ----------- | 1078e41f4b71Sopenharmony_ci| event | [Event](#event) | 是 | Event对象。 | 1079e41f4b71Sopenharmony_ci| callback | AsyncCallback\<void> | 是 | 回调函数。 | 1080e41f4b71Sopenharmony_ci 1081e41f4b71Sopenharmony_ci**示例**: 1082e41f4b71Sopenharmony_ci 1083e41f4b71Sopenharmony_ci```typescript 1084e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 1085e41f4b71Sopenharmony_ciimport { calendarMgr } from '../entryability/EntryAbility'; 1086e41f4b71Sopenharmony_ci 1087e41f4b71Sopenharmony_cilet calendar : calendarManager.Calendar | undefined = undefined; 1088e41f4b71Sopenharmony_ciconst date = new Date(); 1089e41f4b71Sopenharmony_ciconst oriEvent: calendarManager.Event = { 1090e41f4b71Sopenharmony_ci title: 'update', 1091e41f4b71Sopenharmony_ci type: calendarManager.EventType.NORMAL, 1092e41f4b71Sopenharmony_ci description: 'updateEventTest', 1093e41f4b71Sopenharmony_ci startTime: date.getTime(), 1094e41f4b71Sopenharmony_ci endTime: date.getTime() + 60 * 60 * 1000 1095e41f4b71Sopenharmony_ci}; 1096e41f4b71Sopenharmony_cicalendarMgr?.getCalendar(async (err: BusinessError, data:calendarManager.Calendar) => { 1097e41f4b71Sopenharmony_ci if (err) { 1098e41f4b71Sopenharmony_ci console.error(`Failed to get calendar. Code: ${err.code}, message: ${err.message}`); 1099e41f4b71Sopenharmony_ci } else { 1100e41f4b71Sopenharmony_ci console.info(`Succeeded in getting calendar, data -> ${JSON.stringify(data)}`); 1101e41f4b71Sopenharmony_ci calendar = data; 1102e41f4b71Sopenharmony_ci await calendar.addEvent(oriEvent).then((data: number) => { 1103e41f4b71Sopenharmony_ci console.info(`Succeeded in adding event, id -> ${data}`); 1104e41f4b71Sopenharmony_ci oriEvent.id = data; 1105e41f4b71Sopenharmony_ci oriEvent.title = 'newUpdate'; 1106e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 1107e41f4b71Sopenharmony_ci console.error(`Failed to add event. Code: ${err.code}, message: ${err.message}`); 1108e41f4b71Sopenharmony_ci }); 1109e41f4b71Sopenharmony_ci calendar.updateEvent(oriEvent, (err: BusinessError) => { 1110e41f4b71Sopenharmony_ci if (err) { 1111e41f4b71Sopenharmony_ci console.error(`Failed to update event. Code: ${err.code}, message: ${err.message}`); 1112e41f4b71Sopenharmony_ci } else { 1113e41f4b71Sopenharmony_ci console.info("Succeeded in updating event"); 1114e41f4b71Sopenharmony_ci } 1115e41f4b71Sopenharmony_ci }); 1116e41f4b71Sopenharmony_ci } 1117e41f4b71Sopenharmony_ci}); 1118e41f4b71Sopenharmony_ci``` 1119e41f4b71Sopenharmony_ci 1120e41f4b71Sopenharmony_ci### updateEvent 1121e41f4b71Sopenharmony_ci 1122e41f4b71Sopenharmony_ciupdateEvent(event: Event): Promise\<void> 1123e41f4b71Sopenharmony_ci 1124e41f4b71Sopenharmony_ci更新日程,使用Promise异步回调。 1125e41f4b71Sopenharmony_ci 1126e41f4b71Sopenharmony_ci**系统能力**: SystemCapability.Applications.CalendarData 1127e41f4b71Sopenharmony_ci 1128e41f4b71Sopenharmony_ci**参数**: 1129e41f4b71Sopenharmony_ci 1130e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1131e41f4b71Sopenharmony_ci| ------ | --------------- | ---- | ----------- | 1132e41f4b71Sopenharmony_ci| event | [Event](#event) | 是 | Event对象。 | 1133e41f4b71Sopenharmony_ci 1134e41f4b71Sopenharmony_ci**返回值**: 1135e41f4b71Sopenharmony_ci 1136e41f4b71Sopenharmony_ci| 类型 | 说明 | 1137e41f4b71Sopenharmony_ci| -------------- | ------------------------- | 1138e41f4b71Sopenharmony_ci| Promise\<void> | 无返回结果的Promise对象。 | 1139e41f4b71Sopenharmony_ci 1140e41f4b71Sopenharmony_ci**示例**: 1141e41f4b71Sopenharmony_ci 1142e41f4b71Sopenharmony_ci```typescript 1143e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 1144e41f4b71Sopenharmony_ciimport { calendarMgr } from '../entryability/EntryAbility'; 1145e41f4b71Sopenharmony_ci 1146e41f4b71Sopenharmony_cilet calendar : calendarManager.Calendar | undefined = undefined; 1147e41f4b71Sopenharmony_ciconst date = new Date(); 1148e41f4b71Sopenharmony_ciconst oriEvent: calendarManager.Event = { 1149e41f4b71Sopenharmony_ci title: 'update', 1150e41f4b71Sopenharmony_ci type: calendarManager.EventType.NORMAL, 1151e41f4b71Sopenharmony_ci description: 'updateEventTest', 1152e41f4b71Sopenharmony_ci startTime: date.getTime(), 1153e41f4b71Sopenharmony_ci endTime: date.getTime() + 60 * 60 * 1000 1154e41f4b71Sopenharmony_ci}; 1155e41f4b71Sopenharmony_cicalendarMgr?.getCalendar(async (err: BusinessError, data:calendarManager.Calendar) => { 1156e41f4b71Sopenharmony_ci if (err) { 1157e41f4b71Sopenharmony_ci console.error(`Failed to get calendar. Code: ${err.code}, message: ${err.message}`); 1158e41f4b71Sopenharmony_ci } else { 1159e41f4b71Sopenharmony_ci console.info(`Succeeded in getting calendar, data -> ${JSON.stringify(data)}`); 1160e41f4b71Sopenharmony_ci calendar = data; 1161e41f4b71Sopenharmony_ci await calendar.addEvent(oriEvent).then((data: number) => { 1162e41f4b71Sopenharmony_ci console.info(`Succeeded in adding event, id -> ${data}`); 1163e41f4b71Sopenharmony_ci oriEvent.id = data; 1164e41f4b71Sopenharmony_ci oriEvent.title = 'newUpdate'; 1165e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 1166e41f4b71Sopenharmony_ci console.error(`Failed to add event. Code: ${err.code}, message: ${err.message}`); 1167e41f4b71Sopenharmony_ci }); 1168e41f4b71Sopenharmony_ci calendar.updateEvent(oriEvent).then(() => { 1169e41f4b71Sopenharmony_ci console.info(`Succeeded in updating event`); 1170e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 1171e41f4b71Sopenharmony_ci console.error(`Failed to update event. Code: ${err.code}, message: ${err.message}`); 1172e41f4b71Sopenharmony_ci }); 1173e41f4b71Sopenharmony_ci } 1174e41f4b71Sopenharmony_ci}); 1175e41f4b71Sopenharmony_ci``` 1176e41f4b71Sopenharmony_ci 1177e41f4b71Sopenharmony_ci### getEvents 1178e41f4b71Sopenharmony_ci 1179e41f4b71Sopenharmony_cigetEvents(callback: AsyncCallback\<Event[]>): void 1180e41f4b71Sopenharmony_ci 1181e41f4b71Sopenharmony_ci查询当前日历下所有日程,使用callback异步回调。 1182e41f4b71Sopenharmony_ci 1183e41f4b71Sopenharmony_ci**系统能力**: SystemCapability.Applications.CalendarData 1184e41f4b71Sopenharmony_ci 1185e41f4b71Sopenharmony_ci**参数**: 1186e41f4b71Sopenharmony_ci 1187e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1188e41f4b71Sopenharmony_ci| -------- | -------------------------------- | ---- | --------------------------------- | 1189e41f4b71Sopenharmony_ci| callback | AsyncCallback<[Event](#event)[]> | 是 | 回调函数,返回的是Event对象数组。 | 1190e41f4b71Sopenharmony_ci 1191e41f4b71Sopenharmony_ci**示例**: 1192e41f4b71Sopenharmony_ci 1193e41f4b71Sopenharmony_ci```typescript 1194e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 1195e41f4b71Sopenharmony_ciimport { calendarMgr } from '../entryability/EntryAbility'; 1196e41f4b71Sopenharmony_ci 1197e41f4b71Sopenharmony_cilet calendar : calendarManager.Calendar | undefined = undefined; 1198e41f4b71Sopenharmony_cicalendarMgr?.getCalendar((err: BusinessError, data:calendarManager.Calendar) => { 1199e41f4b71Sopenharmony_ci if (err) { 1200e41f4b71Sopenharmony_ci console.error(`Failed to get calendar. Code: ${err.code}, message: ${err.message}`); 1201e41f4b71Sopenharmony_ci } else { 1202e41f4b71Sopenharmony_ci console.info(`Succeeded in getting calendar data -> ${JSON.stringify(data)}`); 1203e41f4b71Sopenharmony_ci calendar = data; 1204e41f4b71Sopenharmony_ci calendar.getEvents((err: BusinessError, data: calendarManager.Event[]) => { 1205e41f4b71Sopenharmony_ci if (err) { 1206e41f4b71Sopenharmony_ci console.error(`Failed to get events. Code: ${err.code}, message: ${err.message}`); 1207e41f4b71Sopenharmony_ci } else { 1208e41f4b71Sopenharmony_ci console.info(`Succeeded in getting events, data -> ${JSON.stringify(data)}`); 1209e41f4b71Sopenharmony_ci } 1210e41f4b71Sopenharmony_ci }); 1211e41f4b71Sopenharmony_ci } 1212e41f4b71Sopenharmony_ci}); 1213e41f4b71Sopenharmony_ci``` 1214e41f4b71Sopenharmony_ci 1215e41f4b71Sopenharmony_ci### getEvents 1216e41f4b71Sopenharmony_ci 1217e41f4b71Sopenharmony_cigetEvents(eventFilter: EventFilter, eventKey: (keyof Event)[], callback: AsyncCallback\<Event[]>):void 1218e41f4b71Sopenharmony_ci 1219e41f4b71Sopenharmony_ci获取Calendar下符合查询条件的Event,使用callback异步回调。 1220e41f4b71Sopenharmony_ci 1221e41f4b71Sopenharmony_ci**系统能力**: SystemCapability.Applications.CalendarData 1222e41f4b71Sopenharmony_ci 1223e41f4b71Sopenharmony_ci**参数**: 1224e41f4b71Sopenharmony_ci 1225e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1226e41f4b71Sopenharmony_ci| ----------- | -------------------------------- | ---- | --------------------------------- | 1227e41f4b71Sopenharmony_ci| eventFilter | [EventFilter](#eventfilter) | 是 | 查询条件。 | 1228e41f4b71Sopenharmony_ci| eventKey | (keyof [Event](#event))[] | 是 | 查询字段。 | 1229e41f4b71Sopenharmony_ci| callback | AsyncCallback<[Event](#event)[]> | 是 | 回调函数,返回的是Event对象数组。 | 1230e41f4b71Sopenharmony_ci 1231e41f4b71Sopenharmony_ci**示例**: 1232e41f4b71Sopenharmony_ci 1233e41f4b71Sopenharmony_ci```typescript 1234e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 1235e41f4b71Sopenharmony_ciimport { calendarMgr } from '../entryability/EntryAbility'; 1236e41f4b71Sopenharmony_ci 1237e41f4b71Sopenharmony_cilet calendar : calendarManager.Calendar | undefined = undefined; 1238e41f4b71Sopenharmony_cilet id1: number = 0; 1239e41f4b71Sopenharmony_cilet id2: number = 0; 1240e41f4b71Sopenharmony_ciconst date = new Date(); 1241e41f4b71Sopenharmony_ciconst event1: calendarManager.Event = { 1242e41f4b71Sopenharmony_ci type: calendarManager.EventType.NORMAL, 1243e41f4b71Sopenharmony_ci startTime: date.getTime(), 1244e41f4b71Sopenharmony_ci endTime: date.getTime() + 60 * 60 * 1000 1245e41f4b71Sopenharmony_ci}; 1246e41f4b71Sopenharmony_ciconst event2: calendarManager.Event = { 1247e41f4b71Sopenharmony_ci type: calendarManager.EventType.IMPORTANT, 1248e41f4b71Sopenharmony_ci startTime: date.getTime(), 1249e41f4b71Sopenharmony_ci endTime: date.getTime() + 60 * 60 * 1000 1250e41f4b71Sopenharmony_ci}; 1251e41f4b71Sopenharmony_cicalendarMgr?.getCalendar(async (err: BusinessError, data:calendarManager.Calendar) => { 1252e41f4b71Sopenharmony_ci if (err) { 1253e41f4b71Sopenharmony_ci console.error(`Failed to get calendar. Code: ${err.code}, message: ${err.message}`); 1254e41f4b71Sopenharmony_ci } else { 1255e41f4b71Sopenharmony_ci console.info(`Succeeded in getting calendar, data -> ${JSON.stringify(data)}`); 1256e41f4b71Sopenharmony_ci calendar = data; 1257e41f4b71Sopenharmony_ci await calendar.addEvent(event1).then((data: number) => { 1258e41f4b71Sopenharmony_ci console.info(`Succeeded in adding event, id -> ${data}`); 1259e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 1260e41f4b71Sopenharmony_ci console.error(`Failed to add event. Code: ${err.code}, message: ${err.message}`); 1261e41f4b71Sopenharmony_ci }); 1262e41f4b71Sopenharmony_ci await calendar.addEvent(event2).then((data: number) => { 1263e41f4b71Sopenharmony_ci console.info(`Succeeded in adding event, id -> ${data}`); 1264e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 1265e41f4b71Sopenharmony_ci console.error(`Failed to add event. Code: ${err.code}, message: ${err.message}`); 1266e41f4b71Sopenharmony_ci }); 1267e41f4b71Sopenharmony_ci const filter = calendarManager.EventFilter.filterById([id1, id2]); 1268e41f4b71Sopenharmony_ci calendar.getEvents(filter, ['title', 'type', 'startTime', 'endTime'], (err: BusinessError, data: calendarManager.Event[]) => { 1269e41f4b71Sopenharmony_ci if (err) { 1270e41f4b71Sopenharmony_ci console.error(`Failed to get events. Code: ${err.code}, message: ${err.message}`); 1271e41f4b71Sopenharmony_ci } else { 1272e41f4b71Sopenharmony_ci console.info(`Succeeded in getting events, data -> ${JSON.stringify(data)}`); 1273e41f4b71Sopenharmony_ci } 1274e41f4b71Sopenharmony_ci }); 1275e41f4b71Sopenharmony_ci } 1276e41f4b71Sopenharmony_ci}); 1277e41f4b71Sopenharmony_ci``` 1278e41f4b71Sopenharmony_ci 1279e41f4b71Sopenharmony_ci### getEvents 1280e41f4b71Sopenharmony_ci 1281e41f4b71Sopenharmony_cigetEvents(eventFilter?: EventFilter, eventKey?: (keyof Event)[]): Promise\<Event[]> 1282e41f4b71Sopenharmony_ci 1283e41f4b71Sopenharmony_ci获取Calendar下符合查询条件的Event,使用Promise异步回调。 1284e41f4b71Sopenharmony_ci 1285e41f4b71Sopenharmony_ci**系统能力**: SystemCapability.Applications.CalendarData 1286e41f4b71Sopenharmony_ci 1287e41f4b71Sopenharmony_ci**参数**: 1288e41f4b71Sopenharmony_ci 1289e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1290e41f4b71Sopenharmony_ci| ----------- | --------------------------- | ---- | ---------- | 1291e41f4b71Sopenharmony_ci| eventFilter | [EventFilter](#eventfilter) | 否 | 查询条件。 | 1292e41f4b71Sopenharmony_ci| eventKey | (keyof [Event](#event))[] | 否 | 查询字段。 | 1293e41f4b71Sopenharmony_ci 1294e41f4b71Sopenharmony_ci**返回值**: 1295e41f4b71Sopenharmony_ci 1296e41f4b71Sopenharmony_ci| 类型 | 说明 | 1297e41f4b71Sopenharmony_ci| -------------------------- | ----------------------------------- | 1298e41f4b71Sopenharmony_ci| Promise<[Event](#event)[]> | Promise对象,返回的是Event对象数组。 | 1299e41f4b71Sopenharmony_ci 1300e41f4b71Sopenharmony_ci**示例**: 1301e41f4b71Sopenharmony_ci 1302e41f4b71Sopenharmony_ci```typescript 1303e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 1304e41f4b71Sopenharmony_ciimport { calendarMgr } from '../entryability/EntryAbility'; 1305e41f4b71Sopenharmony_ci 1306e41f4b71Sopenharmony_cilet calendar : calendarManager.Calendar | undefined = undefined; 1307e41f4b71Sopenharmony_ciconst date = new Date(); 1308e41f4b71Sopenharmony_ciconst event: calendarManager.Event = { 1309e41f4b71Sopenharmony_ci title: 'MyEvent', 1310e41f4b71Sopenharmony_ci type: calendarManager.EventType.IMPORTANT, 1311e41f4b71Sopenharmony_ci startTime: date.getTime(), 1312e41f4b71Sopenharmony_ci endTime: date.getTime() + 60 * 60 * 1000 1313e41f4b71Sopenharmony_ci}; 1314e41f4b71Sopenharmony_cicalendarMgr?.getCalendar(async (err: BusinessError, data:calendarManager.Calendar) => { 1315e41f4b71Sopenharmony_ci if (err) { 1316e41f4b71Sopenharmony_ci console.error(`Failed to get calendar. Code: ${err.code}, message: ${err.message}`); 1317e41f4b71Sopenharmony_ci } else { 1318e41f4b71Sopenharmony_ci console.info(`Succeeded in getting calendar, data -> ${JSON.stringify(data)}`); 1319e41f4b71Sopenharmony_ci calendar = data; 1320e41f4b71Sopenharmony_ci await calendar.addEvent(event).then((data: number) => { 1321e41f4b71Sopenharmony_ci console.info(`Succeeded in adding event, id -> ${data}`); 1322e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 1323e41f4b71Sopenharmony_ci console.error(`Failed to add event. Code: ${err.code}, message: ${err.message}`); 1324e41f4b71Sopenharmony_ci }); 1325e41f4b71Sopenharmony_ci // 根据MyEvent进行模糊查询,如果存在类似标题为MyEvent1类型的日程,也可查询出来 1326e41f4b71Sopenharmony_ci const filter = calendarManager.EventFilter.filterByTitle('MyEvent'); 1327e41f4b71Sopenharmony_ci calendar.getEvents(filter).then((data: calendarManager.Event[]) => { 1328e41f4b71Sopenharmony_ci console.info(`Succeeded in getting events, data -> ${JSON.stringify(data)}`); 1329e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 1330e41f4b71Sopenharmony_ci console.error(`Failed to get events. Code: ${err.code}, message: ${err.message}`); 1331e41f4b71Sopenharmony_ci }); 1332e41f4b71Sopenharmony_ci } 1333e41f4b71Sopenharmony_ci}); 1334e41f4b71Sopenharmony_ci``` 1335e41f4b71Sopenharmony_ci 1336e41f4b71Sopenharmony_ci### getConfig 1337e41f4b71Sopenharmony_ci 1338e41f4b71Sopenharmony_cigetConfig(): CalendarConfig 1339e41f4b71Sopenharmony_ci 1340e41f4b71Sopenharmony_ci获取日历配置信息。 1341e41f4b71Sopenharmony_ci 1342e41f4b71Sopenharmony_ci**系统能力**: SystemCapability.Applications.CalendarData 1343e41f4b71Sopenharmony_ci 1344e41f4b71Sopenharmony_ci**返回值**: 1345e41f4b71Sopenharmony_ci 1346e41f4b71Sopenharmony_ci| 类型 | 说明 | 1347e41f4b71Sopenharmony_ci| --------------------------------- | -------------- | 1348e41f4b71Sopenharmony_ci| [CalendarConfig](#calendarconfig) | 日历配置信息。 | 1349e41f4b71Sopenharmony_ci 1350e41f4b71Sopenharmony_ci**示例**: 1351e41f4b71Sopenharmony_ci 1352e41f4b71Sopenharmony_ci```typescript 1353e41f4b71Sopenharmony_ciimport { calendarMgr } from '../entryability/EntryAbility'; 1354e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 1355e41f4b71Sopenharmony_ci 1356e41f4b71Sopenharmony_cilet calendar : calendarManager.Calendar | undefined = undefined; 1357e41f4b71Sopenharmony_cicalendarMgr?.getCalendar((err: BusinessError, data:calendarManager.Calendar) => { 1358e41f4b71Sopenharmony_ci if (err) { 1359e41f4b71Sopenharmony_ci console.error(`Failed to get calendar. Code: ${err.code}, message: ${err.message}`); 1360e41f4b71Sopenharmony_ci } else { 1361e41f4b71Sopenharmony_ci console.info(`Succeeded in getting calendar, data -> ${JSON.stringify(data)}`); 1362e41f4b71Sopenharmony_ci calendar = data; 1363e41f4b71Sopenharmony_ci const config = calendar.getConfig(); 1364e41f4b71Sopenharmony_ci console.info("Succeeded in getting config"); 1365e41f4b71Sopenharmony_ci } 1366e41f4b71Sopenharmony_ci}); 1367e41f4b71Sopenharmony_ci``` 1368e41f4b71Sopenharmony_ci 1369e41f4b71Sopenharmony_ci### setConfig 1370e41f4b71Sopenharmony_ci 1371e41f4b71Sopenharmony_cisetConfig(config: CalendarConfig, callback: AsyncCallback\<void>): void 1372e41f4b71Sopenharmony_ci 1373e41f4b71Sopenharmony_ci设置日历配置信息,使用callback异步回调。 1374e41f4b71Sopenharmony_ci 1375e41f4b71Sopenharmony_ci**系统能力**: SystemCapability.Applications.CalendarData 1376e41f4b71Sopenharmony_ci 1377e41f4b71Sopenharmony_ci**参数**: 1378e41f4b71Sopenharmony_ci 1379e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1380e41f4b71Sopenharmony_ci| -------- | --------------------------------- | ---- | -------------- | 1381e41f4b71Sopenharmony_ci| config | [CalendarConfig](#calendarconfig) | 是 | 日历配置信息。 | 1382e41f4b71Sopenharmony_ci| callback | AsyncCallback\<void> | 是 | 回调函数。 | 1383e41f4b71Sopenharmony_ci 1384e41f4b71Sopenharmony_ci**示例**: 1385e41f4b71Sopenharmony_ci 1386e41f4b71Sopenharmony_ci```typescript 1387e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 1388e41f4b71Sopenharmony_ciimport { calendarMgr } from '../entryability/EntryAbility'; 1389e41f4b71Sopenharmony_ci 1390e41f4b71Sopenharmony_cilet calendar : calendarManager.Calendar | undefined = undefined; 1391e41f4b71Sopenharmony_ciconst config: calendarManager.CalendarConfig = { 1392e41f4b71Sopenharmony_ci enableReminder: true, 1393e41f4b71Sopenharmony_ci color: '#aabbcc' 1394e41f4b71Sopenharmony_ci}; 1395e41f4b71Sopenharmony_cicalendarMgr?.getCalendar((err: BusinessError, data:calendarManager.Calendar) => { 1396e41f4b71Sopenharmony_ci if (err) { 1397e41f4b71Sopenharmony_ci console.error(`Failed to get calendar. Code: ${err.code}, message: ${err.message}`); 1398e41f4b71Sopenharmony_ci } else { 1399e41f4b71Sopenharmony_ci console.info(`Succeeded in getting calendar, data -> ${JSON.stringify(data)}`); 1400e41f4b71Sopenharmony_ci calendar = data; 1401e41f4b71Sopenharmony_ci calendar.setConfig(config, (err: BusinessError) => { 1402e41f4b71Sopenharmony_ci if (err) { 1403e41f4b71Sopenharmony_ci console.error(`Failed to set config. Code: ${err.code}, message: ${err.message}`); 1404e41f4b71Sopenharmony_ci } else { 1405e41f4b71Sopenharmony_ci console.info(`Succeeded in setting config, config -> ${JSON.stringify(config)}`); 1406e41f4b71Sopenharmony_ci } 1407e41f4b71Sopenharmony_ci }); 1408e41f4b71Sopenharmony_ci } 1409e41f4b71Sopenharmony_ci}); 1410e41f4b71Sopenharmony_ci``` 1411e41f4b71Sopenharmony_ci 1412e41f4b71Sopenharmony_ci### setConfig 1413e41f4b71Sopenharmony_ci 1414e41f4b71Sopenharmony_cisetConfig(config: CalendarConfig): Promise\<void> 1415e41f4b71Sopenharmony_ci 1416e41f4b71Sopenharmony_ci设置日历配置信息,使用Promise异步回调。 1417e41f4b71Sopenharmony_ci 1418e41f4b71Sopenharmony_ci**系统能力**: SystemCapability.Applications.CalendarData 1419e41f4b71Sopenharmony_ci 1420e41f4b71Sopenharmony_ci**参数**: 1421e41f4b71Sopenharmony_ci 1422e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1423e41f4b71Sopenharmony_ci| ------ | --------------------------------- | ---- | -------------- | 1424e41f4b71Sopenharmony_ci| config | [CalendarConfig](#calendarconfig) | 是 | 日历配置信息。 | 1425e41f4b71Sopenharmony_ci 1426e41f4b71Sopenharmony_ci**返回值**: 1427e41f4b71Sopenharmony_ci 1428e41f4b71Sopenharmony_ci| 类型 | 说明 | 1429e41f4b71Sopenharmony_ci| -------------- | ------------------------- | 1430e41f4b71Sopenharmony_ci| Promise\<void> | 无返回结果的Promise对象。 | 1431e41f4b71Sopenharmony_ci 1432e41f4b71Sopenharmony_ci**示例**: 1433e41f4b71Sopenharmony_ci 1434e41f4b71Sopenharmony_ci```typescript 1435e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 1436e41f4b71Sopenharmony_ciimport { calendarMgr } from '../entryability/EntryAbility'; 1437e41f4b71Sopenharmony_ci 1438e41f4b71Sopenharmony_cilet calendar : calendarManager.Calendar | undefined = undefined; 1439e41f4b71Sopenharmony_ciconst config: calendarManager.CalendarConfig = { 1440e41f4b71Sopenharmony_ci enableReminder: true, 1441e41f4b71Sopenharmony_ci color: '#aabbcc' 1442e41f4b71Sopenharmony_ci}; 1443e41f4b71Sopenharmony_cicalendarMgr?.getCalendar((err: BusinessError, data:calendarManager.Calendar) => { 1444e41f4b71Sopenharmony_ci if (err) { 1445e41f4b71Sopenharmony_ci console.error(`Failed to get calendar. Code: ${err.code}, message: ${err.message}`); 1446e41f4b71Sopenharmony_ci } else { 1447e41f4b71Sopenharmony_ci console.info(`Succeeded in getting calendar, data -> ${JSON.stringify(data)}`); 1448e41f4b71Sopenharmony_ci calendar = data; 1449e41f4b71Sopenharmony_ci calendar.setConfig(config).then(() => { 1450e41f4b71Sopenharmony_ci console.info(`Succeeded in setting config, data->${JSON.stringify(config)}`); 1451e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 1452e41f4b71Sopenharmony_ci console.error(`Failed to set config. Code: ${err.code}, message: ${err.message}`); 1453e41f4b71Sopenharmony_ci }); 1454e41f4b71Sopenharmony_ci } 1455e41f4b71Sopenharmony_ci}); 1456e41f4b71Sopenharmony_ci``` 1457e41f4b71Sopenharmony_ci 1458e41f4b71Sopenharmony_ci### getAccount 1459e41f4b71Sopenharmony_ci 1460e41f4b71Sopenharmony_cigetAccount(): CalendarAccount 1461e41f4b71Sopenharmony_ci 1462e41f4b71Sopenharmony_ci获取日历账户信息。 1463e41f4b71Sopenharmony_ci 1464e41f4b71Sopenharmony_ci**系统能力**: SystemCapability.Applications.CalendarData 1465e41f4b71Sopenharmony_ci 1466e41f4b71Sopenharmony_ci**返回值**: 1467e41f4b71Sopenharmony_ci 1468e41f4b71Sopenharmony_ci| 类型 | 说明 | 1469e41f4b71Sopenharmony_ci| ----------------------------------- | -------------- | 1470e41f4b71Sopenharmony_ci| [CalendarAccount](#calendaraccount) | 日历账户信息。 | 1471e41f4b71Sopenharmony_ci 1472e41f4b71Sopenharmony_ci**示例**: 1473e41f4b71Sopenharmony_ci 1474e41f4b71Sopenharmony_ci```typescript 1475e41f4b71Sopenharmony_ciimport { calendarMgr } from '../entryability/EntryAbility'; 1476e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 1477e41f4b71Sopenharmony_ci 1478e41f4b71Sopenharmony_cilet calendar : calendarManager.Calendar | undefined = undefined; 1479e41f4b71Sopenharmony_cicalendarMgr?.getCalendar((err: BusinessError, data:calendarManager.Calendar) => { 1480e41f4b71Sopenharmony_ci if (err) { 1481e41f4b71Sopenharmony_ci console.error(`Failed to get calendar. Code: ${err.code}, message: ${err.message}`); 1482e41f4b71Sopenharmony_ci } else { 1483e41f4b71Sopenharmony_ci console.info(`Succeeded in getting calendar, data -> ${JSON.stringify(data)}`); 1484e41f4b71Sopenharmony_ci calendar = data; 1485e41f4b71Sopenharmony_ci const account = calendar.getAccount(); 1486e41f4b71Sopenharmony_ci console.info(`succeeded in getting account, account -> ${JSON.stringify(account)}`); 1487e41f4b71Sopenharmony_ci } 1488e41f4b71Sopenharmony_ci}); 1489e41f4b71Sopenharmony_ci``` 1490e41f4b71Sopenharmony_ci 1491e41f4b71Sopenharmony_ci## CalendarAccount 1492e41f4b71Sopenharmony_ci 1493e41f4b71Sopenharmony_ci日历账户信息。 1494e41f4b71Sopenharmony_ci 1495e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 1496e41f4b71Sopenharmony_ci 1497e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Applications.CalendarData 1498e41f4b71Sopenharmony_ci 1499e41f4b71Sopenharmony_ci| 名称 | 类型 | 只读 | 可选 | 说明 | 1500e41f4b71Sopenharmony_ci| ----------- | ----------------------------- | ---- |----|----------------------------------| 1501e41f4b71Sopenharmony_ci| name | string | 是 | 否 | 账户名称(面向开发者)。 | 1502e41f4b71Sopenharmony_ci| type | [CalendarType](#calendartype) | 否 | 否 | 账户类型。 | 1503e41f4b71Sopenharmony_ci| displayName | string | 否 | 是 | 账户显示在日历应用上的名称(面向用户)。不填时,默认为空字符串。 | 1504e41f4b71Sopenharmony_ci 1505e41f4b71Sopenharmony_ci## CalendarConfig 1506e41f4b71Sopenharmony_ci 1507e41f4b71Sopenharmony_ci日历配置信息。 1508e41f4b71Sopenharmony_ci 1509e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Applications.CalendarData 1510e41f4b71Sopenharmony_ci 1511e41f4b71Sopenharmony_ci| 名称 | 类型 | 只读 | 可选 | 说明 | 1512e41f4b71Sopenharmony_ci| -------------- |--------|-------|----| ------------------------------------------------------------ | 1513e41f4b71Sopenharmony_ci| enableReminder | boolean | 否 | 是 | 是否打开Calendar下所有Event提醒能力。当取值为true时,该Calendar下所有Event具备提醒能力;当取值为false时,不具备提醒能力,默认具备提醒能力。 | 1514e41f4b71Sopenharmony_ci| color | number \| string | 否 | 是 | 设置Calendar颜色。不填时,默认值为'#0A59F7'。 | 1515e41f4b71Sopenharmony_ci 1516e41f4b71Sopenharmony_ci## Event 1517e41f4b71Sopenharmony_ci 1518e41f4b71Sopenharmony_ci日程对象,包含日程标题、开始时间、结束时间等信息。 1519e41f4b71Sopenharmony_ci 1520e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Applications.CalendarData 1521e41f4b71Sopenharmony_ci 1522e41f4b71Sopenharmony_ci| 名称 | 类型 | 只读 | 可选 | 说明 | 1523e41f4b71Sopenharmony_ci| -------------- | --------------------------------- | ---- |----|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| 1524e41f4b71Sopenharmony_ci| id | number | 否 | 是 | 日程id。当调用[addEvent()](#addevent)、[addEvents()](#addevents)创建日程时,不填写此参数。 <br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 1525e41f4b71Sopenharmony_ci| type | [EventType](#eventtype) | 否 | 否 | 日程类型。 <br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 1526e41f4b71Sopenharmony_ci| title | string | 否 | 是 | 日程标题。不填时,默认为空字符串。 <br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 1527e41f4b71Sopenharmony_ci| location | [Location](#location) | 否 | 是 | 日程地点。不填时,默认为null。 <br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 1528e41f4b71Sopenharmony_ci| startTime | number | 否 | 否 | 日程开始时间,需要13位时间戳。 <br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 1529e41f4b71Sopenharmony_ci| endTime | number | 否 | 否 | 日程结束时间,需要13位时间戳。 <br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 1530e41f4b71Sopenharmony_ci| isAllDay | boolean | 否 | 是 | 是否为全天日程。当取值为true时,说明为全天日程;当取值为false时,说明不是全天日程,默认为非全天日程。 <br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 1531e41f4b71Sopenharmony_ci| attendee | [Attendee](#attendee)[] | 否 | 是 | 会议日程参与者。不填时,默认为null。 <br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 1532e41f4b71Sopenharmony_ci| timeZone | string | 否 | 是 | 日程时区。不填时,默认为当前所在时区,当需要创建与当前不一样的时区时,可填入对应的时区。可通过[getTimeZone()](../apis-basic-services-kit/js-apis-date-time.md#systemdatetimegettimezone)获取当前系统时区。 <br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 1533e41f4b71Sopenharmony_ci| reminderTime | number[] | 否 | 是 | 日程提醒时间,单位为分钟。填写x分钟,即距开始时间提前x分钟提醒,不填时,默认为不提醒。为负值时表示延期多长时间提醒。 <br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 1534e41f4b71Sopenharmony_ci| recurrenceRule | [RecurrenceRule](#recurrencerule) | 否 | 是 | 日程重复规则。不填时,默认为不重复。 <br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 1535e41f4b71Sopenharmony_ci| description | string | 否 | 是 | 日程描述。不填时,默认为空字符串。 <br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 1536e41f4b71Sopenharmony_ci| service | [EventService](#eventservice) | 否 | 是 | 日程服务。不填时,默认没有一键服务。 <br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 1537e41f4b71Sopenharmony_ci| identifier<sup>12+</sup> | string | 否 | 是 | 写入方可指定日程唯一标识。不填时,默认为null。 <br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | 1538e41f4b71Sopenharmony_ci| isLunar<sup>12+</sup> | boolean | 否 | 是 | 是否为农历日程。当取值为true时,说明为农历日程;当取值为false时,说明不是农历日程,默认为非农历日程。 <br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | 1539e41f4b71Sopenharmony_ci 1540e41f4b71Sopenharmony_ci## CalendarType 1541e41f4b71Sopenharmony_ci 1542e41f4b71Sopenharmony_ci账户类型枚举。 1543e41f4b71Sopenharmony_ci 1544e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 1545e41f4b71Sopenharmony_ci 1546e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Applications.CalendarData 1547e41f4b71Sopenharmony_ci 1548e41f4b71Sopenharmony_ci| 名称 | 值 | 说明 | 1549e41f4b71Sopenharmony_ci| ---------- | ------------ | -------------------- | 1550e41f4b71Sopenharmony_ci| LOCAL | 'local' | 本地账户。 | 1551e41f4b71Sopenharmony_ci| EMAIL | 'email' | 邮箱账户。 | 1552e41f4b71Sopenharmony_ci| BIRTHDAY | 'birthday' | 生日账户。 | 1553e41f4b71Sopenharmony_ci| CALDAV | 'caldav' | 支持CalDAV协议账户。 | 1554e41f4b71Sopenharmony_ci| SUBSCRIBED | 'subscribed' | 订阅账户。 | 1555e41f4b71Sopenharmony_ci 1556e41f4b71Sopenharmony_ci## Location 1557e41f4b71Sopenharmony_ci 1558e41f4b71Sopenharmony_ci日程地点。 1559e41f4b71Sopenharmony_ci 1560e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 1561e41f4b71Sopenharmony_ci 1562e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Applications.CalendarData 1563e41f4b71Sopenharmony_ci 1564e41f4b71Sopenharmony_ci| 名称 | 类型 | 只读 | 可选 | 说明 | 1565e41f4b71Sopenharmony_ci| --------- | ------ | ---- |----| ------------------------ | 1566e41f4b71Sopenharmony_ci| location | string | 否 | 是 | 地点位置。默认为空字符串。 | 1567e41f4b71Sopenharmony_ci| longitude | number | 否 | 是 | 地点经度。默认为0。 | 1568e41f4b71Sopenharmony_ci| latitude | number | 否 | 是 | 地点纬度。默认为0。 | 1569e41f4b71Sopenharmony_ci 1570e41f4b71Sopenharmony_ci## EventFilter 1571e41f4b71Sopenharmony_ci 1572e41f4b71Sopenharmony_ci日程过滤器,查询日程时进行筛选过滤,获取符合条件的日程。 1573e41f4b71Sopenharmony_ci 1574e41f4b71Sopenharmony_ci通过[filterById()](#filterbyid)、[filterByTime()](#filterbytime)、[filterByTitle()](#filterbytitle)任一方法获取日程过滤器,传入[getEvents()](#getevents)过滤。 1575e41f4b71Sopenharmony_ci 1576e41f4b71Sopenharmony_ci### filterById 1577e41f4b71Sopenharmony_ci 1578e41f4b71Sopenharmony_cistatic filterById(ids: number[]): EventFilter 1579e41f4b71Sopenharmony_ci 1580e41f4b71Sopenharmony_ci根据日程id过滤日程。 1581e41f4b71Sopenharmony_ci 1582e41f4b71Sopenharmony_ci**系统能力**: SystemCapability.Applications.CalendarData 1583e41f4b71Sopenharmony_ci 1584e41f4b71Sopenharmony_ci**参数**: 1585e41f4b71Sopenharmony_ci 1586e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1587e41f4b71Sopenharmony_ci| ------ | -------- | ---- | ------------ | 1588e41f4b71Sopenharmony_ci| ids | number[] | 是 | 日程id数组。 | 1589e41f4b71Sopenharmony_ci 1590e41f4b71Sopenharmony_ci**返回值**: 1591e41f4b71Sopenharmony_ci 1592e41f4b71Sopenharmony_ci| 类型 | 说明 | 1593e41f4b71Sopenharmony_ci| --------------------------- | -------------------- | 1594e41f4b71Sopenharmony_ci| [EventFilter](#eventfilter) | 返回日程过滤器对象。 | 1595e41f4b71Sopenharmony_ci 1596e41f4b71Sopenharmony_ci**示例**: 1597e41f4b71Sopenharmony_ci 1598e41f4b71Sopenharmony_ci```typescript 1599e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 1600e41f4b71Sopenharmony_ciimport { calendarMgr } from '../entryability/EntryAbility'; 1601e41f4b71Sopenharmony_ci 1602e41f4b71Sopenharmony_cilet calendar : calendarManager.Calendar | undefined = undefined; 1603e41f4b71Sopenharmony_cilet id1: number = 0; 1604e41f4b71Sopenharmony_cilet id2: number = 0; 1605e41f4b71Sopenharmony_ciconst date = new Date(); 1606e41f4b71Sopenharmony_ciconst event1: calendarManager.Event = { 1607e41f4b71Sopenharmony_ci type: calendarManager.EventType.NORMAL, 1608e41f4b71Sopenharmony_ci startTime: date.getTime(), 1609e41f4b71Sopenharmony_ci endTime: date.getTime() + 60 * 60 * 1000 1610e41f4b71Sopenharmony_ci}; 1611e41f4b71Sopenharmony_ciconst event2: calendarManager.Event = { 1612e41f4b71Sopenharmony_ci type: calendarManager.EventType.IMPORTANT, 1613e41f4b71Sopenharmony_ci startTime: date.getTime(), 1614e41f4b71Sopenharmony_ci endTime: date.getTime() + 60 * 60 * 1000 1615e41f4b71Sopenharmony_ci}; 1616e41f4b71Sopenharmony_cicalendarMgr?.getCalendar(async (err: BusinessError, data:calendarManager.Calendar) => { 1617e41f4b71Sopenharmony_ci if (err) { 1618e41f4b71Sopenharmony_ci console.error(`Failed to get calendar. Code: ${err.code}, message: ${err.message}`); 1619e41f4b71Sopenharmony_ci } else { 1620e41f4b71Sopenharmony_ci console.info(`Succeeded in getting calendar, data -> ${JSON.stringify(data)}`); 1621e41f4b71Sopenharmony_ci calendar = data; 1622e41f4b71Sopenharmony_ci await calendar.addEvent(event1).then((data: number) => { 1623e41f4b71Sopenharmony_ci console.info(`Succeeded in adding event, id -> ${data}`); 1624e41f4b71Sopenharmony_ci id1 = data; 1625e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 1626e41f4b71Sopenharmony_ci console.error(`Failed to add event. Code: ${err.code}, message: ${err.message}`); 1627e41f4b71Sopenharmony_ci }); 1628e41f4b71Sopenharmony_ci await calendar.addEvent(event2).then((data: number) => { 1629e41f4b71Sopenharmony_ci console.info(`Succeeded in adding event, id -> ${data}`); 1630e41f4b71Sopenharmony_ci id2 = data; 1631e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 1632e41f4b71Sopenharmony_ci console.error(`Failed to add event. Code: ${err.code}, message: ${err.message}`); 1633e41f4b71Sopenharmony_ci }); 1634e41f4b71Sopenharmony_ci const filter = calendarManager.EventFilter.filterById([id1, id2]); 1635e41f4b71Sopenharmony_ci calendar.getEvents(filter).then((data: calendarManager.Event[]) => { 1636e41f4b71Sopenharmony_ci console.info(`Succeeded in getting events filter by id, data -> ${JSON.stringify(data)}`); 1637e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 1638e41f4b71Sopenharmony_ci console.error(`Failed to filter by id. Code: ${err.code}, message: ${err.message}`); 1639e41f4b71Sopenharmony_ci }); 1640e41f4b71Sopenharmony_ci } 1641e41f4b71Sopenharmony_ci}); 1642e41f4b71Sopenharmony_ci``` 1643e41f4b71Sopenharmony_ci 1644e41f4b71Sopenharmony_ci### filterByTime 1645e41f4b71Sopenharmony_ci 1646e41f4b71Sopenharmony_cistatic filterByTime(start: number, end: number): EventFilter 1647e41f4b71Sopenharmony_ci 1648e41f4b71Sopenharmony_ci根据日程时间过滤日程。 1649e41f4b71Sopenharmony_ci 1650e41f4b71Sopenharmony_ci**系统能力**: SystemCapability.Applications.CalendarData 1651e41f4b71Sopenharmony_ci 1652e41f4b71Sopenharmony_ci**参数**: 1653e41f4b71Sopenharmony_ci 1654e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1655e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ---------- | 1656e41f4b71Sopenharmony_ci| start | number | 是 | 开始时间。 | 1657e41f4b71Sopenharmony_ci| end | number | 是 | 结束时间。 | 1658e41f4b71Sopenharmony_ci 1659e41f4b71Sopenharmony_ci**返回值**: 1660e41f4b71Sopenharmony_ci 1661e41f4b71Sopenharmony_ci| 类型 | 说明 | 1662e41f4b71Sopenharmony_ci| --------------------------- | -------------------- | 1663e41f4b71Sopenharmony_ci| [EventFilter](#eventfilter) | 返回日程过滤器对象。 | 1664e41f4b71Sopenharmony_ci 1665e41f4b71Sopenharmony_ci**示例**: 1666e41f4b71Sopenharmony_ci 1667e41f4b71Sopenharmony_ci```typescript 1668e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 1669e41f4b71Sopenharmony_ciimport { calendarMgr } from '../entryability/EntryAbility'; 1670e41f4b71Sopenharmony_ci 1671e41f4b71Sopenharmony_cilet calendar : calendarManager.Calendar | undefined = undefined; 1672e41f4b71Sopenharmony_ciconst event1: calendarManager.Event = { 1673e41f4b71Sopenharmony_ci type: calendarManager.EventType.NORMAL, 1674e41f4b71Sopenharmony_ci startTime: 1686931200000, 1675e41f4b71Sopenharmony_ci endTime: 1687017600000 1676e41f4b71Sopenharmony_ci}; 1677e41f4b71Sopenharmony_ciconst event2: calendarManager.Event = { 1678e41f4b71Sopenharmony_ci type: calendarManager.EventType.IMPORTANT, 1679e41f4b71Sopenharmony_ci startTime: 1686931200000, 1680e41f4b71Sopenharmony_ci endTime: 1687017600000 1681e41f4b71Sopenharmony_ci}; 1682e41f4b71Sopenharmony_cicalendarMgr?.getCalendar(async (err: BusinessError, data:calendarManager.Calendar) => { 1683e41f4b71Sopenharmony_ci if (err) { 1684e41f4b71Sopenharmony_ci console.error(`Failed to get calendar. Code: ${err.code}, message: ${err.message}`); 1685e41f4b71Sopenharmony_ci } else { 1686e41f4b71Sopenharmony_ci console.info(`Succeeded in getting calendar, data -> ${JSON.stringify(data)}`); 1687e41f4b71Sopenharmony_ci calendar = data; 1688e41f4b71Sopenharmony_ci await calendar.addEvent(event1).then((data: number) => { 1689e41f4b71Sopenharmony_ci console.info(`Succeeded in adding event, id -> ${data}`); 1690e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 1691e41f4b71Sopenharmony_ci console.error(`Failed to add event. Code: ${err.code}, message: ${err.message}`); 1692e41f4b71Sopenharmony_ci }); 1693e41f4b71Sopenharmony_ci await calendar.addEvent(event2).then((data: number) => { 1694e41f4b71Sopenharmony_ci console.info(`Succeeded in adding event, id -> ${data}`); 1695e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 1696e41f4b71Sopenharmony_ci console.error(`Failed to add event. Code: ${err.code}, message: ${err.message}`); 1697e41f4b71Sopenharmony_ci }); 1698e41f4b71Sopenharmony_ci const filter = calendarManager.EventFilter.filterByTime(1686931200000, 1687017600000); 1699e41f4b71Sopenharmony_ci calendar.getEvents(filter).then((data: calendarManager.Event[]) => { 1700e41f4b71Sopenharmony_ci console.info(`Succeeded in getting events filter by time, data -> ${JSON.stringify(data)}`); 1701e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 1702e41f4b71Sopenharmony_ci console.error(`Failed to filter by time. Code: ${err.code}, message: ${err.message}`); 1703e41f4b71Sopenharmony_ci }); 1704e41f4b71Sopenharmony_ci } 1705e41f4b71Sopenharmony_ci}); 1706e41f4b71Sopenharmony_ci``` 1707e41f4b71Sopenharmony_ci 1708e41f4b71Sopenharmony_ci### filterByTitle 1709e41f4b71Sopenharmony_ci 1710e41f4b71Sopenharmony_cistatic filterByTitle(title: string): EventFilter 1711e41f4b71Sopenharmony_ci 1712e41f4b71Sopenharmony_ci根据日程标题过滤日程,该条件为模糊匹配。 1713e41f4b71Sopenharmony_ci 1714e41f4b71Sopenharmony_ci**系统能力**: SystemCapability.Applications.CalendarData 1715e41f4b71Sopenharmony_ci 1716e41f4b71Sopenharmony_ci**参数**: 1717e41f4b71Sopenharmony_ci 1718e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 1719e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ---------- | 1720e41f4b71Sopenharmony_ci| title | string | 是 | 日程标题。 | 1721e41f4b71Sopenharmony_ci 1722e41f4b71Sopenharmony_ci**返回值**: 1723e41f4b71Sopenharmony_ci 1724e41f4b71Sopenharmony_ci| 类型 | 说明 | 1725e41f4b71Sopenharmony_ci| --------------------------- | -------------------- | 1726e41f4b71Sopenharmony_ci| [EventFilter](#eventfilter) | 返回日程过滤器对象。 | 1727e41f4b71Sopenharmony_ci 1728e41f4b71Sopenharmony_ci**示例**: 1729e41f4b71Sopenharmony_ci 1730e41f4b71Sopenharmony_ci```typescript 1731e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 1732e41f4b71Sopenharmony_ciimport { calendarMgr } from '../entryability/EntryAbility'; 1733e41f4b71Sopenharmony_ci 1734e41f4b71Sopenharmony_cilet calendar : calendarManager.Calendar | undefined = undefined; 1735e41f4b71Sopenharmony_ciconst event: calendarManager.Event = { 1736e41f4b71Sopenharmony_ci title: 'MyEvent', 1737e41f4b71Sopenharmony_ci type: calendarManager.EventType.NORMAL, 1738e41f4b71Sopenharmony_ci startTime: 1686931200000, 1739e41f4b71Sopenharmony_ci endTime: 1687017600000 1740e41f4b71Sopenharmony_ci}; 1741e41f4b71Sopenharmony_cicalendarMgr?.getCalendar(async (err: BusinessError, data:calendarManager.Calendar) => { 1742e41f4b71Sopenharmony_ci if (err) { 1743e41f4b71Sopenharmony_ci console.error(`Failed to get calendar. Code: ${err.code}, message: ${err.message}`); 1744e41f4b71Sopenharmony_ci } else { 1745e41f4b71Sopenharmony_ci console.info(`Succeeded in getting calendar, data -> ${JSON.stringify(data)}`); 1746e41f4b71Sopenharmony_ci calendar = data; 1747e41f4b71Sopenharmony_ci await calendar.addEvent(event).then((data: number) => { 1748e41f4b71Sopenharmony_ci console.info(`Succeeded in adding event, id -> ${data}`); 1749e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 1750e41f4b71Sopenharmony_ci console.error(`Failed to add event. Code: ${err.code}, message: ${err.message}`); 1751e41f4b71Sopenharmony_ci }); 1752e41f4b71Sopenharmony_ci const filter = calendarManager.EventFilter.filterByTitle('MyEvent'); 1753e41f4b71Sopenharmony_ci calendar.getEvents(filter).then((data: calendarManager.Event[]) => { 1754e41f4b71Sopenharmony_ci console.info(`Succeeded in getting events filter by title, data -> ${JSON.stringify(data)}`); 1755e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 1756e41f4b71Sopenharmony_ci console.error(`Failed to filter by title. Code: ${err.code}, message: ${err.message}`); 1757e41f4b71Sopenharmony_ci }); 1758e41f4b71Sopenharmony_ci } 1759e41f4b71Sopenharmony_ci}); 1760e41f4b71Sopenharmony_ci``` 1761e41f4b71Sopenharmony_ci 1762e41f4b71Sopenharmony_ci## EventType 1763e41f4b71Sopenharmony_ci 1764e41f4b71Sopenharmony_ci日程类型枚举。 1765e41f4b71Sopenharmony_ci 1766e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 1767e41f4b71Sopenharmony_ci 1768e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Applications.CalendarData 1769e41f4b71Sopenharmony_ci 1770e41f4b71Sopenharmony_ci| 名称 | 值 | 说明 | 1771e41f4b71Sopenharmony_ci| --------- | ---- |-------------------------| 1772e41f4b71Sopenharmony_ci| NORMAL | 0 | 普通日程,例如会议,闹钟等日常提醒的日程。 | 1773e41f4b71Sopenharmony_ci| IMPORTANT | 1 | 重要日程,例如结婚纪念日等具有重要意义的日期,不推荐三方开发者使用,重要日程类型不支持一键服务跳转功能及无法自定义提醒时间。 | 1774e41f4b71Sopenharmony_ci 1775e41f4b71Sopenharmony_ci## RecurrenceRule 1776e41f4b71Sopenharmony_ci 1777e41f4b71Sopenharmony_ci日程重复规则。 1778e41f4b71Sopenharmony_ci 1779e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Applications.CalendarData 1780e41f4b71Sopenharmony_ci 1781e41f4b71Sopenharmony_ci| 名称 | 类型 | 只读 | 可选 | 说明 | 1782e41f4b71Sopenharmony_ci| ------------------- | ------------------------------------------- | ---- |----|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| 1783e41f4b71Sopenharmony_ci| recurrenceFrequency | [RecurrenceFrequency](#recurrencefrequency) | 否 | 否 | 日程重复规则类型。 <br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 1784e41f4b71Sopenharmony_ci| expire | number | 否 | 是 | 重复周期截止日。不填时,默认为0。 <br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 1785e41f4b71Sopenharmony_ci| count<sup>12+</sup> | number | 否 | 是 | 重复日程的重复次数,取值为非负整数,不填时默认为0,表示不会限定重复次数,会一直重复,取值为负时,效果等同于取值为0。当count与expire同时存在时以count为准。 <br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | 1786e41f4b71Sopenharmony_ci| interval<sup>12+</sup> | number | 否 | 是 | 重复日程的重复间隔,取值为非负整数,不填时默认为0,表示日程按照重复规则一直重复,没有间隔。取值为负时,效果等同于取值为0。当interval与expire同时存在时以expire为准。 <br/>此属性与recurrenceFrequency重复规则相关,不同的重复规则下,表示的重复间隔不同,以interval取2为例,分为以下几种情况:<br/>每天重复时:表示日程每隔两天重复一次。<br/>每周重复时:表示日程每隔两周重复一次。<br/>每月重复时:表示日程每隔两月重复一次。<br/>每年重复时:表示日程每隔两年重复一次。<br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | 1787e41f4b71Sopenharmony_ci| excludedDates<sup>12+</sup> | number[] | 否 | 是 | 重复日程的排除日期,参数取值为时间戳格式,不填时,默认为空,表示没有排除的日期,0或负数为无效值,与空值效果相同。 <br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | 1788e41f4b71Sopenharmony_ci| daysOfWeek<sup>12+</sup> | number[] | 否 | 是 | 按照一周第几天重复。不填时,默认为空,表示没有一周第几天重复的规则。范围为1到7,对应周一到周日,其他值为无效值,与空值效果相同。 <br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | 1789e41f4b71Sopenharmony_ci| daysOfMonth<sup>12+</sup> | number[] | 否 | 是 | 按照一个月第几天重复。不填时,默认为空,表示没有一个月第几天重复的规则。范围为1到31,1到31对应1到31号,其他值为无效值,与空值效果相同。若当月没有31号,31也为无效值。 <br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | 1790e41f4b71Sopenharmony_ci| daysOfYear<sup>12+</sup> | number[] | 否 | 是 | 按照一年第几天重复。不填时,默认为空,表示没有一年第几天重复的规则。范围为1到366,1到366表示一年的1到366天,其他值为无效值,与空值效果相同。若当年没有366天,366也为无效值。 <br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | 1791e41f4b71Sopenharmony_ci| weeksOfMonth<sup>12+</sup> | number[] | 否 | 是 | 按照一个月第几周重复。不填时,默认为空,表示没有一个月第几周重复的规则。范围为1到5,1到5为每月的第1到第5周,其他值为无效值,与空值效果相同。若当月没有第五周,5也为无效值。 <br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | 1792e41f4b71Sopenharmony_ci| weeksOfYear<sup>12+</sup> | number[] | 否 | 是 | 按照一年中第几周重复。不填时,默认为空,表示没有一年第几周重复的规则。范围为1到53,1到53为每年的第1到第53周,其他值为无效值,与空值效果相同。 <br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | 1793e41f4b71Sopenharmony_ci| monthsOfYear<sup>12+</sup> | number[] | 否 | 是 | 按照一年中第几个月重复。不填时,默认为空,表示没有一年第几个月重复的规则。范围为1到12,1到12为每年的1到12月,其他值为无效值,与空值效果相同。 <br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | 1794e41f4b71Sopenharmony_ci## RecurrenceFrequency 1795e41f4b71Sopenharmony_ci 1796e41f4b71Sopenharmony_ci日程重复规则类型枚举。 1797e41f4b71Sopenharmony_ci 1798e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 1799e41f4b71Sopenharmony_ci 1800e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Applications.CalendarData 1801e41f4b71Sopenharmony_ci 1802e41f4b71Sopenharmony_ci| 名称 | 值 | 说明 | 1803e41f4b71Sopenharmony_ci| ------- | ---- | ---------- | 1804e41f4b71Sopenharmony_ci| YEARLY | 0 | 每年重复。 | 1805e41f4b71Sopenharmony_ci| MONTHLY | 1 | 每月重复。 | 1806e41f4b71Sopenharmony_ci| WEEKLY | 2 | 每周重复。 | 1807e41f4b71Sopenharmony_ci| DAILY | 3 | 每天重复。 | 1808e41f4b71Sopenharmony_ci 1809e41f4b71Sopenharmony_ci## Attendee 1810e41f4b71Sopenharmony_ci 1811e41f4b71Sopenharmony_ci会议日程参与者。 1812e41f4b71Sopenharmony_ci 1813e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Applications.CalendarData 1814e41f4b71Sopenharmony_ci 1815e41f4b71Sopenharmony_ci| 名称 | 类型 | 只读 | 可选 | 说明 | 1816e41f4b71Sopenharmony_ci| ----- | ------ | ---- |----|--------------------------------------------------------------------| 1817e41f4b71Sopenharmony_ci| name | string | 否 | 否 | 会议日程参与者的姓名。 <br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 1818e41f4b71Sopenharmony_ci| email | string | 否 | 否 | 会议日程参与者的邮箱。 <br/>**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 | 1819e41f4b71Sopenharmony_ci| role<sup>12+</sup> | [AttendeeRole](#attendeerole12) | 否 | 是 | 会议日程参与者的角色。 <br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | 1820e41f4b71Sopenharmony_ci 1821e41f4b71Sopenharmony_ci## EventService 1822e41f4b71Sopenharmony_ci 1823e41f4b71Sopenharmony_ci日程服务。 1824e41f4b71Sopenharmony_ci 1825e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 1826e41f4b71Sopenharmony_ci 1827e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Applications.CalendarData 1828e41f4b71Sopenharmony_ci 1829e41f4b71Sopenharmony_ci| 名称 | 类型 | 只读 | 可选 | 说明 | 1830e41f4b71Sopenharmony_ci| ----------- | --------------------------- | ---- |----|-------------------------------------| 1831e41f4b71Sopenharmony_ci| type | [ServiceType](#servicetype) | 否 | 否 | 服务类型。 | 1832e41f4b71Sopenharmony_ci| uri | string | 否 | 否 | 服务的uri,格式为Deeplink类型。可以跳转到三方应用相应界面。 | 1833e41f4b71Sopenharmony_ci| description | string | 否 | 是 | 服务辅助描述。不填时,默认为空字符串。 | 1834e41f4b71Sopenharmony_ci 1835e41f4b71Sopenharmony_ci## ServiceType 1836e41f4b71Sopenharmony_ci 1837e41f4b71Sopenharmony_ci日程服务类型枚举。 1838e41f4b71Sopenharmony_ci 1839e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 1840e41f4b71Sopenharmony_ci 1841e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Applications.CalendarData 1842e41f4b71Sopenharmony_ci 1843e41f4b71Sopenharmony_ci| 名称 | 值 | 说明 | 1844e41f4b71Sopenharmony_ci| --------------- | ---------------- | ------------ | 1845e41f4b71Sopenharmony_ci| MEETING | 'Meeting' | 一键入会。 | 1846e41f4b71Sopenharmony_ci| WATCHING | 'Watching' | 一键追剧。 | 1847e41f4b71Sopenharmony_ci| REPAYMENT | 'Repayment' | 一键还款。 | 1848e41f4b71Sopenharmony_ci| LIVE | 'Live' | 一键直播。 | 1849e41f4b71Sopenharmony_ci| SHOPPING | 'Shopping' | 一键购物。 | 1850e41f4b71Sopenharmony_ci| TRIP | 'Trip' | 一键查看。 | 1851e41f4b71Sopenharmony_ci| CLASS | 'Class' | 一键上课。 | 1852e41f4b71Sopenharmony_ci| SPORTS_EVENTS | 'SportsEvents' | 一键看赛事。 | 1853e41f4b71Sopenharmony_ci| SPORTS_EXERCISE | 'SportsExercise' | 一键运动。 | 1854e41f4b71Sopenharmony_ci 1855e41f4b71Sopenharmony_ci## AttendeeRole<sup>12+</sup> 1856e41f4b71Sopenharmony_ci 1857e41f4b71Sopenharmony_ci会议日程参与者角色类型枚举。 1858e41f4b71Sopenharmony_ci 1859e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 1860e41f4b71Sopenharmony_ci 1861e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Applications.CalendarData 1862e41f4b71Sopenharmony_ci 1863e41f4b71Sopenharmony_ci| 名称 | 值 | 说明 | 1864e41f4b71Sopenharmony_ci|--------------|---------------|--------| 1865e41f4b71Sopenharmony_ci| ORGANIZER<sup>12+</sup> | 'organizer' | 会议组织者。 | 1866e41f4b71Sopenharmony_ci| PARTICIPANT<sup>12+</sup> | 'participant' | 会议参与者。 |