一、小程序日历授权
第一步,要让小程序获取用户的授权,才能使用小程序日历。授权方式如下:
wx.authorize({
scope: 'scope.calendar',
success(res){
console.log(res.errMsg);
},
fail(res){
console.log(res.errMsg);
}
})
其中,scope.calendar
表示授权小程序日历,若授权成功,则打印授权成功的消息,否则打印授权失败的消息。
二、小程序日活查询
要监控小程序日历的使用情况,就需要进行小程序日活查询。可通过如下方式进行查询:
wx.getDailySummary({
startDate: '2020-10-01',
endDate: '2020-10-31',
success(res){
console.log(res.data);
},
fail(res){
console.log(res.errMsg);
}
})
startDate
和endDate
表示查询的起始和结束日期,查询成功后会在控制台输出数据。
三、小程序日历代码带农历
为使小程序日历更加实用,可以在代码中加入农历。如下代码:
import Calendar from 'calendar.js';
let calendar = new Calendar();
let lunar = calendar.solar2lunar(2020, 10, 10);
console.log(lunar);
这样,我们就可以在小程序日历中显示包括农历在内的完整日期。
四、小程序日历添加桌面不显示
在一些手机上,将小程序日历添加到桌面后,会出现不显示的情况。这时,可以通过在代码中加入“全局样式”解决。代码如下:
App({
onLaunch(){
wx.setEnableDebug({
enableDebug: true,
success(res){
console.log('全局样式');
}
})
}
})
这样,在添加到桌面后,小程序日历就能正常显示了。
五、小程序日历提醒
如果需要在小程序日历中设置提醒,可以通过如下代码实现:
import Calendar from 'calendar.js';
let calendar = new Calendar();
let alertInfo = {
title: '日程提醒',
content: '今天有一个重要会议',
startTime: '2020-11-01 10:00',
endTime: '2020-11-01 12:00'
}
calendar.addReminder(alertInfo);
addReminder()
方法可设置提醒的标题、内容、开始时间和结束时间。设置好后,当时间到达提醒时间时,会自动弹出提醒窗口。
六、小程序日历组件
小程序日历组件是一种非常方便的使用方式,可以在页面上直接添加日历。使用代码如下:
//在页面的json文件中加入组件
{
"usingComponents":{
"calendar":"../calendar/calendar"
}
}
//在页面的wxml文件中添加组件
//在页面的js文件中添加事件处理函数
Page({
onSelectDay(event){
console.log(event.detail);
}
})
这样,就可以在页面上添加小程序日历组件,并且可以通过监听select
事件获取选中日期的信息。
七、小程序日历插件
如果需要在小程序中添加其他的日历插件,可以通过微信开放平台获取相应的授权,然后在开发中集成插件。可参考官方文档:https://developers.weixin.qq.com/miniprogram/dev/framework/plugin/using.html
八、小程序日历选择
小程序日历支持多种日期选择方式,包括单选、范围、月份选择等等。使用代码如下:
//在页面的js文件中添加方法
Page({
data: {
currentDate: new Date().getTime(),
minDate: new Date('2020-01-01').getTime(),
maxDate: new Date('2021-12-31').getTime()
},
onSelectedDate(event){
console.log(event.detail);
}
})
//在页面的wxml文件中添加组件
这里的type
指定为range
,表示选择范围;selectedDate
则是用于监听选中日期的事件;currentDate
、minDate
和maxDate
则是用于设置日期范围的属性。
九、小程序日历插件显示甲子
有时需要在小程序日历中显示甲子等生肖纪年,可以通过如下代码实现:
//在页面的wxml文件中添加组件
这里的show-lunar
表示显示农历;show-global-lunar
则是用于显示生肖纪年。