更新记录
1.0.0(2023-08-18)
实现iOS平台日历事件提醒功能
平台兼容性
uni-app
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|
| √ | √ | - | - | - | - | - | 12 | - |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|
| - | - | - | - | - | - | - | - | - | - | - |
uni-app x
| Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
|---|---|---|---|---|---|
| - | - | - | 12 | - | - |
xwe-calendar(日历事件提醒插件)
HBuilder X 版本支持
| 版本支持(只按较新版本做支持,因为uts较低版本可能一些语法无法兼容) |
|---|
| 3.8.7(测试通过)、3.8.12 Alpha(开发插件的版本) |
语言版本兼容
| vue2 | vue3 |
|---|---|
| √ | √ |
平台兼容
| App-Android | App-iOS |
|---|---|
| x | √(9-16) |
权限说明文档
【ios】
未内置注册权限:下面的权限是要自己在项目中配置的,如下:
NSCalendarsUsageDescription 日历权限
接口使用文档
-
引入插件和实例化
【用的ts语法,非ts自行转换】
import {XWECalendar} from '@/uni_modules/xwe-calendar';
let xweCalendar:XWECalendar = new XWECalendar();
-
初始化插件
xweCalendar.initCalendar(callback)
说明:插件必须先初始化,否则无法使用日历相关的api
callback返回参数说明
| 属性 | 类型 | 说明 |
|---|---|---|
| callbackOption | Object | 返回初始化的状态 |
callbackOption结构说明
| 属性 | 类型 | 说明 |
|---|---|---|
| code | number | 状态返回,详情查看 【code状态码说明】 |
| message | string | 状态提示消息,详情查看 【code状态码说明】 |
-
请求日历权限
xweCalendar.requestAccess(callback)
说明:权限不满足无法使用日历相关的api
callback返回参数说明
| 属性 | 类型 | 说明 |
|---|---|---|
| callbackOption | Object | 返回日历权限的状态 |
callbackOption结构说明
| 属性 | 类型 | 说明 |
|---|---|---|
| code | number | 状态返回,详情查看 【code状态码说明】 |
| message | string | 状态提示消息,详情查看 【code状态码说明】 |
-
创建日历事件提醒
xweCalendar.createCalendarEvent(option)
option结构说明
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| title | string | 是 | 事件标题 | |
| notes | string | 是 | 事件备注 | |
| repeatReminder | number/null | 否 | 事件重复的时间,如果为null则不会设置事件重复 | |
| repeatFrequency | number | 是 | 事件重复的频率,0-天、1-周、2-月、3-年 | |
| reminderTime | number/null | 否 | 事件提前提醒的时间,如果为null则不会设置提醒 | |
| startYear | number | 是 | 事件开始时间-年 | |
| startMonth | number | 是 | 事件开始时间-月 | |
| startDay | number | 是 | 事件开始时间-日 | |
| startHour | number | 是 | 事件开始时间-时 | |
| startMinute | number | 是 | 事件开始时间-分 | |
| endYear | number | 是 | 事件结束时间-年 | |
| endMonth | number | 是 | 事件结束时间-月 | |
| endDay | number | 是 | 事件结束时间-日 | |
| endHour | number | 是 | 事件结束时间-时 | |
| endMinute | number | 是 | 事件结束时间-分 | |
| callback | function/null | 否 | 创建日历事件提醒回调,会返回状态和创建成功的数据,状态码详情查看 【code状态码说明】 |
callback返回参数说明
| 属性 | 类型 | 说明 |
|---|---|---|
| callbackOption | Object | 返回日历创建的状态和创建成功的数据 |
callbackOption结构说明
| 属性 | 类型 | 说明 |
|---|---|---|
| code | number | 状态返回,详情查看 【code状态码说明】 |
| message | string | 状态提示消息,详情查看 【code状态码说明】 |
| data | string | 创建成功的数据和创建失败的错误信息,创建成功(返回的是转成字符串的对象,需要用JSON.parse(data)转换一下),创建失败(返回的是一个字符串错误信息) |
data结构说明
| 属性 | 类型 | 说明 |
|---|---|---|
| title | string | 事件标题 |
| notes | string | 事件备注 |
| repeatReminder | number/null | 事件重复的时间,如果为null则不会设置事件重复 |
| repeatFrequency | number | 事件重复的频率,0-天、1-周、2-月、3-年 |
| reminderTime | number/null | 事件提前提醒的时间,如果为null则不会设置提醒 |
| startYear | number | 事件开始时间-年 |
| startMonth | number | 事件开始时间-月 |
| startDay | number | 事件开始时间-日 |
| startHour | number | 事件开始时间-时 |
| startMinute | number | 事件开始时间-分 |
| endYear | number | 事件结束时间-年 |
| endMonth | number | 事件结束时间-月 |
| endDay | number | 事件结束时间-日 |
| endHour | number | 事件结束时间-时 |
| endMinute | number | 事件结束时间-分 |
| eventIdentifier | string | 事件的标识符,这个标识符是很重要的,删除事件提醒是需要这个标识符去删除的 |
调用代码示例
【用的ts语法,非ts自行转换】
xweCalendar.createCalendarEvent({
title:'事件提醒标题',
notes:'事件提醒备注',
repeatReminder:5,
repeatFrequency:0,
reminderTime:0,
startYear:2023,
startMonth:8,
startDay:17,
startHour:11,
startMinute:5,
endYear:2023,
endMonth:8,
endDay:17,
endHour:11,
endMinute:10,
callback:(callBackOption:Object) => {
if(callBackOption.code == 4){
let dataObj:Object = callBackOption.data ? JSON.parse(callBackOption.data) : {};
console.log('创建事件-成功',callBackOption,dataObj);
}
if(callBackOption.code == -4){
console.log('创建事件-失败',callBackOption);
}
}
});
-
获取创建的日历事件提醒
xweCalendar.getCalendarEvent(option)
option结构说明
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| startYear | number | 是 | 事件开始时间-年 | |
| startMonth | number | 是 | 事件开始时间-月 | |
| startDay | number | 是 | 事件开始时间-日 | |
| startHour | number | 是 | 事件开始时间-时 | |
| startMinute | number | 是 | 事件开始时间-分 | |
| endYear | number | 是 | 事件结束时间-年 | |
| endMonth | number | 是 | 事件结束时间-月 | |
| endDay | number | 是 | 事件结束时间-日 | |
| endHour | number | 是 | 事件结束时间-时 | |
| endMinute | number | 是 | 事件结束时间-分 | |
| callback | function/null | 否 | 获取创建的日历事件提醒回调,会返回状态和创建的日历提醒数据,状态码详情查看 【code状态码说明】 |
callback返回参数说明
| 属性 | 类型 | 说明 |
|---|---|---|
| callbackOption | Object | 返回日历获取的状态和创建的日历提醒数据 |
callbackOption结构说明
| 属性 | 类型 | 说明 |
|---|---|---|
| code | number | 状态返回,详情查看 【code状态码说明】 |
| message | string | 状态提示消息,详情查看 【code状态码说明】 |
| data | string/undefined | 获取创建的日历事件数据,返回的是转成字符串的对象,需要用JSON.parse(data)转换一下,转换得到一个数组对象Array\<Object> |
data数组对象(Array\<Object>)结构说明
| 属性 | 类型 | 说明 |
|---|---|---|
| title | string | 事件标题 |
| notes | string | 事件备注 |
| repeatReminder | number/null | 事件重复的时间,如果为null则不会设置事件重复 |
| repeatFrequency | number | 事件重复的频率,0-天、1-周、2-月、3-年 |
| reminderTime | number/null | 事件提前提醒的时间,如果为null则不会设置提醒 |
| startYear | number | 事件开始时间-年 |
| startMonth | number | 事件开始时间-月 |
| startDay | number | 事件开始时间-日 |
| startHour | number | 事件开始时间-时 |
| startMinute | number | 事件开始时间-分 |
| endYear | number | 事件结束时间-年 |
| endMonth | number | 事件结束时间-月 |
| endDay | number | 事件结束时间-日 |
| endHour | number | 事件结束时间-时 |
| endMinute | number | 事件结束时间-分 |
| eventIdentifier | string | 事件的标识符,这个标识符是很重要的,删除事件提醒是需要这个标识符去删除的 |
调用代码示例
【用的ts语法,非ts自行转换】
xweCalendar.getCalendarEvent({
startYear:2023,
startMonth:8,
startDay:17,
startHour:11,
startMinute:5,
endYear:2023,
endMonth:8,
endDay:17,
endHour:11,
endMinute:10,
callback:(callBackOption:Object) => {
if(callBackOption.code == 5){
let dataObj:Object = callBackOption.data ? JSON.parse(callBackOption.data) : {};
console.log('获取事件数据-成功',callBackOption,dataObj);
}
if(callBackOption.code == -5){
console.log('获取事件数据-失败',callBackOption);
}
}
});
-
删除日历事件提醒
xweCalendar.removeCalendarEvent(option)
option结构说明
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| eventIdentifier | number | 是 | 事件的标识符 | |
| callback | function/null | 否 | 获取创建的日历事件提醒回调,会返回状态和创建的日历提醒数据,状态码详情查看 【code状态码说明】 |
callback返回参数说明
| 属性 | 类型 | 说明 |
|---|---|---|
| callbackOption | Object | 返回日历删除的状态 |
callbackOption结构说明
| 属性 | 类型 | 说明 |
|---|---|---|
| code | number | 状态返回,详情查看 【code状态码说明】 |
| message | string | 状态提示消息,详情查看 【code状态码说明】 |
| data | string/undefined | 删除失败的错误信息 |
调用代码示例
【用的ts语法,非ts自行转换】
xweCalendar.removeCalendarEvent({
eventIdentifier:'738691FC-9785-40F2-BCF8-38E236B09280:52732A2F-403B-4E50-9D9A-F7AF4B85CFE1',
callback:(callBackOption:Object) => {
if(callBackOption.code == 6){
console.log('删除事件-成功',callBackOption);
}
if(callBackOption.code == -6){
console.log('删除事件-失败',callBackOption);
}
}
});
code状态码说明
| code | 类型 | message | 说明 | 平台差异 |
|---|---|---|---|---|
| 0 | number | Calendar permission success | 日历权限满足 | |
| 1 | number | Init success | 初始化成功 | |
| -1 | number | Not init | 未初始化 | |
| -2 | number | Calendar permission refuse | 拒绝了日历权限 | |
| -3 | number | Calendar permission unregistered | 未注册日历权限 | |
| 4 | number | Create calendar success | 创建日历事件提醒成功 | |
| -4 | number | Create calendar failed | 创建日历事件提醒失败 | |
| 5 | number | Get calendar success | 获取日历事件提醒成功 | |
| -5 | number | Get calendar failed | 获取日历事件提醒失败 | |
| 6 | number | Remove calendar success | 删除日历事件提醒成功 | |
| -6 | number | Remove calendar failed | 删除日历事件提醒失败 |

收藏人数:
购买源码授权版(
试用
赞赏(0)
下载 172
赞赏 0
下载 10628864
赞赏 1792
赞赏
京公网安备:11010802035340号