| 
					
				 | 
			
			
				@@ -1,4 +1,6 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // nova-werun/pages/home/ranking/index.js 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const Parse = getApp().Parse; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const company = getApp().globalData.company; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 Page({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -14,7 +16,10 @@ Page({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         contentHeight2: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         contentpadding: 0, //顶部padding高度 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        changetitle:'yundong' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        changetitle:'today', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //本日排行 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        todayList:[], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        myList:[] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -39,6 +44,7 @@ Page({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             contentpadding, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             contentHeight 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.gettoday() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -89,16 +95,72 @@ Page({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     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({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                changetitle:'yundong' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                todayList, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                myList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            console.log(this.data.todayList, this.data.myList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } catch (error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            console.error('Error fetching today\'s data:', error); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }) 
			 |