|
@@ -1,4 +1,6 @@
|
|
// nova-werun/pages/home/ranking/index.js
|
|
// nova-werun/pages/home/ranking/index.js
|
|
|
|
+const Parse = getApp().Parse;
|
|
|
|
+const company = getApp().globalData.company;
|
|
Page({
|
|
Page({
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -14,7 +16,10 @@ Page({
|
|
contentHeight2: 0,
|
|
contentHeight2: 0,
|
|
contentpadding: 0, //顶部padding高度
|
|
contentpadding: 0, //顶部padding高度
|
|
//
|
|
//
|
|
- changetitle:'yundong'
|
|
|
|
|
|
+ changetitle:'today',
|
|
|
|
+ //本日排行
|
|
|
|
+ todayList:[],
|
|
|
|
+ myList:[]
|
|
},
|
|
},
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -39,6 +44,7 @@ Page({
|
|
contentpadding,
|
|
contentpadding,
|
|
contentHeight
|
|
contentHeight
|
|
});
|
|
});
|
|
|
|
+ this.gettoday()
|
|
},
|
|
},
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -89,16 +95,72 @@ Page({
|
|
onShareAppMessage: function () {
|
|
onShareAppMessage: function () {
|
|
|
|
|
|
},
|
|
},
|
|
- change(){
|
|
|
|
- if(this.data.changetitle=='yundong'){
|
|
|
|
- this.setData({
|
|
|
|
- changetitle:'zhaijia'
|
|
|
|
- })
|
|
|
|
- }else{
|
|
|
|
|
|
+ change() {
|
|
|
|
+ // 使用数组来简化切换逻辑
|
|
|
|
+ const titles = ['today', 'weekdday', 'month'];
|
|
|
|
+ const currentIndex = titles.indexOf(this.data.changetitle);//获取index
|
|
|
|
+ const nextIndex = (currentIndex + 1) % titles.length; // 循环切换
|
|
|
|
+ this.setData({
|
|
|
|
+ changetitle: titles[nextIndex]
|
|
|
|
+ });
|
|
|
|
+ if(this.data.changetitle=='today'){
|
|
|
|
+ this.gettoday()
|
|
|
|
+ }
|
|
|
|
+ if(this.data.changetitle=='weekdday'){
|
|
|
|
+ console.log('weekdday');
|
|
|
|
+ }
|
|
|
|
+ if(this.data.changetitle=='month'){
|
|
|
|
+ console.log('month');
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ // 获取本日排行
|
|
|
|
+ async gettoday() {
|
|
|
|
+ const currentUser = Parse.User.current();
|
|
|
|
+ let ActivityDataquery = new Parse.Query('ActivityData');
|
|
|
|
+ ActivityDataquery.equalTo('company', company);
|
|
|
|
+ ActivityDataquery.equalTo('type', "today");
|
|
|
|
+ ActivityDataquery.notEqualTo('isDeleted', true);
|
|
|
|
+
|
|
|
|
+ // 获取今天的日期
|
|
|
|
+ const today = new Date();
|
|
|
|
+ const todayStart = new Date(today.getFullYear(), today.getMonth(), today.getDate()); // 今天的开始时间
|
|
|
|
+ const todayEnd = new Date(todayStart);
|
|
|
|
+ todayEnd.setHours(23, 59, 59, 999); // 今天的结束时间
|
|
|
|
+
|
|
|
|
+ // 在查询条件中添加对 createdAt 的限制
|
|
|
|
+ ActivityDataquery.greaterThanOrEqualTo('createdAt', todayStart);
|
|
|
|
+ ActivityDataquery.lessThanOrEqualTo('createdAt', todayEnd);
|
|
|
|
+
|
|
|
|
+ // 根据 steps 字段进行降序排序
|
|
|
|
+ ActivityDataquery.descending('steps');
|
|
|
|
+ ActivityDataquery.include('user');
|
|
|
|
+
|
|
|
|
+ try {
|
|
|
|
+ let P = await ActivityDataquery.find();
|
|
|
|
+ let todayList = P.map(item => item.toJSON());
|
|
|
|
+
|
|
|
|
+ // 初始化 myList
|
|
|
|
+ let myList = [];
|
|
|
|
+
|
|
|
|
+ // 找到当前用户的数据并计算排名
|
|
|
|
+ todayList.forEach((item, index) => {
|
|
|
|
+ if (item.user.objectId === currentUser.id) {
|
|
|
|
+ myList.push({
|
|
|
|
+ ...item, // 包含用户数据
|
|
|
|
+ rank: index + 1 // 计算排名(index 从 0 开始,所以加 1)
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ // 更新页面数据
|
|
this.setData({
|
|
this.setData({
|
|
- changetitle:'yundong'
|
|
|
|
- })
|
|
|
|
|
|
+ todayList,
|
|
|
|
+ myList
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ console.log(this.data.todayList, this.data.myList);
|
|
|
|
+ } catch (error) {
|
|
|
|
+ console.error('Error fetching today\'s data:', error);
|
|
}
|
|
}
|
|
-
|
|
|
|
- }
|
|
|
|
|
|
+ },
|
|
})
|
|
})
|