投票评选活动小程序获取活动信息并计算距离活动结束天数
投票评选活动小程序首页的设计方案:
首页展示已经发布的投票列表,每个投票项包括标题、选项、投票截止时间等信息。
投票评选活动小程序获取活动信息
监听页面初次渲染完成时,获取活动信息,主要包含投票评选活动的浏览量、累计投票、参与人数、活动结束时间等信息,用于在页面展示信息。
通过异步请求,读取voteActivity数据表的投票评选活动信息,这里使用了Collection.doc(),获取集合中指定记录的引用。方法接受一个 id 参数,指定需引用的记录的 _id。
实现代码如下:
// 显示 loading 提示框
wx.showLoading({
title: '加载活动中'
});
// 数据库集合的聚合操作实例
voteActivity
.doc(id)
.get()
.then(res => {
// 获取集合数据,或获取根据查询条件筛选后的集合数据。
let data = res.data || {};
let activityInfo = data;
// 隐藏 loading 提示框
wx.hideLoading();
})
计算距离活动结束天数
其中,endDate活动结束日期用于计算距离投票评选活动结束天数,解决方案是计算两个日期之间的天数。
代码片段如下:
/**
* 计算两个日期之间的天数
* date1 开始日期 yyyy-MM-dd
* date2 结束日期 yyyy-MM-dd
* 如果日期相同 返回一天 开始日期大于结束日期,返回0
*/
getDaysBetween(date1,date2){
let startDate = Date.parse(date1);
let endDate = Date.parse(date2);
if (startDate>endDate){
return 0;
}
if (startDate==endDate){
return 1;
}
let days = parseInt((endDate - startDate)/(1*24*60*60*1000));
return days;
},