一、插件简介
Calendar插件允许用户在日历中创建活动、查询活动、删除活动。可以在X5APP内实现对活动的管理,提高用户在你APP小船中的驻留时间。当然,用户也可离开X5APP,在手机的“日历”里查看在活动。
插件ID:cordova-plugin-calendar。
二、插件使用
0、参数准备
require("cordova!cordova-plugin-calendar");
Model.prototype.setParameters = function(event) {
this.title = "X5开发者大会";// 标题
this.location = "北京国际会议中心";// 地点
this.notes = "九点前签到,有大牛到场。干货分享会。";// 内容
this.start = new Date();
this.end = new Date();
this.start.setMinutes(0);
this.end.setMinutes(0);
this.start.setSeconds(0);
this.end.setSeconds(0);
this.start.setHours(this.start.getHours() + 2);
this.end.setHours(this.end.getHours() + 3);
this.calendarName = "我的X5日历";// 活动
this.success = function(message) {
justep.Util.hint("Success: " + JSON.stringify(message));
};
this.error = function(message) {
justep.Util.hint("Error: " + message);
};
};
1、打开日历
Model.prototype.openCalendarClick = function(event) {
var cal = window.plugins.calendar;
cal.openCalendar();
};
2、创建一个活动(交互方式)
Model.prototype.createEventInteractivelyClick = function(event) {
var cal = window.plugins.calendar;
cal.createEventInteractively(this.title, this.location, this.notes, this.start, this.end, this.success, this.error);
};
3、创建一个带通知活动(参数方式)
Model.prototype.createEventWithOptionsClick = function(event) {
var calOptions = window.plugins.calendar.getCalendarOptions();
calOptions.url = "http://www.wex5.com";
calOptions.firstReminderMinutes = 120;
calOptions.secondReminderMinutes = 60;
calOptions.recurrence = "monthly";
calOptions.recurrenceEndDate = new Date(2025, 10, 1, 0, 0, 0, 0, 0);
calOptions.recurrenceInterval = 2;
var cal = window.plugins.calendar;
cal.createEventWithOptions(this.title, this.location, this.notes, this.start, this.end, calOptions, this.success, this.error);
};
4、创建一个无通知活动(参数方式)
Model.prototype.createEventClick = function(event) {
var cal = window.plugins.calendar;
cal.createEvent(this.title, this.location, this.notes, this.start, this.end, this.success, this.error);
};
5、查询活动
Model.prototype.listEventsInRange = function(event) {
var fromDate = new Date();
var toDate = new Date();
toDate.setFullYear(2050);
var cal = window.plugins.calendar;
cal.listEventsInRange(fromDate, toDate, this.success, this.error);
};
6、删除活动
Model.prototype.deleteEventClick = function(event) {
var cal = window.plugins.calendar;
cal.deleteEvent(this.title, this.location, this.notes, this.start, this.end, this.success, this.error);
};
7、Android下按日期范围查询
Model.prototype.findEventClick = function(event) {
var cal = window.plugins.calendar;
cal.findEvent(this.title, this.location, this.notes, this.start, this.end, this.success, this.error);
};
8、IOS下操作个人日历
//创建个人日历
Model.prototype.createCalendar = function(event) {
var cal = window.plugins.calendar;
cal.createCalendar(this.calendarName, this.success, this.error);
};
//在个人日历创建活动
Model.prototype.createEventInNamedCalendar = function(event) {
var cal = window.plugins.calendar;
cal.createEventInNamedCalendar(this.title, this.location, this.notes, this.start, this.end, this.calendarName, this.success, this.error);
};
//在个人日历中查找活动
Model.prototype.findAllEventsInNamedCalendar = function(event) {
var cal = window.plugins.calendar;
cal.findAllEventsInNamedCalendar(this.calendarName, this.success, this.error);
};
//删除个人日历
Model.prototype.deleteCalendar = function(event) {
var cal = window.plugins.calendar;
cal.deleteCalendar(this.calendarName, this.success, this.error);
};
三、说明
在IOS中,如果创建个人日历失败,需要先在IOS设置中,把iCloud日历开启,作用是同步到云。然后进行创建。
评一波