@@ -7,6 +7,21 @@ const { success, fail } = require("../utils/request");
7
7
const { getDay } = require ( "../utils/day" ) ;
8
8
const { startTime } = require ( "../config/index" ) ;
9
9
10
+ const A = [ ] ;
11
+ for ( const [ login , solution ] of Object . entries ( mySolutions ) ) {
12
+ A . push ( { count : solution . filter ( Boolean ) . length , ...users [ login ] } ) ;
13
+ }
14
+
15
+ const rankings = A . sort ( ( a , b ) => b . count - a . count ) ;
16
+
17
+ for ( let i = 0 ; i < rankings . length ; i ++ ) {
18
+ if ( i > 0 && rankings [ i ] . count === rankings [ i - 1 ] . count ) {
19
+ rankings [ i ] . rank = rankings [ i - 1 ] . rank ;
20
+ } else {
21
+ rankings [ i ] . rank = i + 1 ;
22
+ }
23
+ }
24
+
10
25
router . get ( "/api/v1/daily-problem" , async ( ctx ) => {
11
26
if ( ctx . query . date && ctx . query . date > new Date ( ) . getTime ( ) ) {
12
27
// 活动没有开始,给大家一个体验版本(两道题)
@@ -50,21 +65,6 @@ router.get("/api/v1/daily-problem/solution", async (ctx) => {
50
65
}
51
66
} ) ;
52
67
53
- const A = [ ] ;
54
- for ( const [ login , solution ] of Object . entries ( mySolutions ) ) {
55
- A . push ( { count : solution . filter ( Boolean ) . length , ...users [ login ] } ) ;
56
- }
57
-
58
- const rankings = A . sort ( ( a , b ) => b . count - a . count ) ;
59
-
60
- for ( let i = 0 ; i < rankings . length ; i ++ ) {
61
- if ( i > 0 && rankings [ i ] . count === rankings [ i - 1 ] . count ) {
62
- rankings [ i ] . rank = rankings [ i - 1 ] . rank ;
63
- } else {
64
- rankings [ i ] . rank = i + 1 ;
65
- }
66
- }
67
-
68
68
router . get ( "/api/v1/daily-problem/ranking" , async ( ctx ) => {
69
69
ctx . body = success ( rankings ) ;
70
70
} ) ;
0 commit comments