Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitba800ed

Browse files
committed
feat: Add check user info
1 parentae5945f commitba800ed

File tree

3 files changed

+85
-1
lines changed

3 files changed

+85
-1
lines changed

‎src/profile.rs‎

Lines changed: 49 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use serde_json::json;
22

33
usecrate::{
44
error::Errors,
5-
resources::{fav_list::FavoriteList, notification::NotificationsData},
5+
resources::{fav_list::FavoriteList, notification::NotificationsData, data_profile::ProfileData},
66
};
77

88
#[derive(Debug)]
@@ -190,6 +190,54 @@ impl MyProfile {
190190

191191
Ok(serde_json::from_str::<NotificationsData>(&problem_info)?)
192192
}
193+
194+
pubasyncfnprofile_data(&self) ->Result<ProfileData,Errors>{
195+
let query =r#"
196+
query globalData {
197+
userStatus {
198+
userId
199+
isSignedIn
200+
isMockUser
201+
isPremium
202+
isVerified
203+
username
204+
avatar
205+
isAdmin
206+
isSuperuser
207+
permissions
208+
isTranslator
209+
activeSessionId
210+
checkedInToday
211+
notificationStatus {
212+
lastModified
213+
numUnread
214+
}
215+
}
216+
}
217+
"#;
218+
219+
let variables =json!({});
220+
let operation_name ="globalData";
221+
222+
let json_data =json!({
223+
"query": query,
224+
"variables": variables,
225+
"operationName": operation_name
226+
});
227+
228+
let query = serde_json::to_string(&json_data).unwrap();
229+
230+
let data_info =self.client
231+
.post("https://leetcode.com/graphql/")
232+
.body(query)
233+
.send()
234+
.await?
235+
.text()
236+
.await?;
237+
238+
Ok(serde_json::from_str::<ProfileData>(&data_info)?)
239+
240+
}
193241
}
194242

195243
pubstructUserProfile{

‎src/resources/data_profile.rs‎

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
use serde::{Deserialize,Serialize};
2+
3+
#[derive(Debug,Deserialize,Serialize)]
4+
pubstructNotificationStatus{
5+
lastModified:i64,
6+
numUnread:i32,
7+
}
8+
9+
#[derive(Debug,Deserialize,Serialize)]
10+
pubstructUserStatus{
11+
userId:i64,
12+
isSignedIn:bool,
13+
isMockUser:bool,
14+
isPremium:bool,
15+
isVerified:bool,
16+
username:String,
17+
avatar:String,
18+
isAdmin:bool,
19+
isSuperuser:bool,
20+
permissions:Vec<String>,
21+
isTranslator:bool,
22+
activeSessionId:i64,
23+
checkedInToday:bool,
24+
notificationStatus:NotificationStatus,
25+
}
26+
27+
#[derive(Debug,Deserialize,Serialize)]
28+
pubstructProfileData{
29+
data:Data,
30+
}
31+
32+
#[derive(Debug,Deserialize,Serialize)]
33+
pubstructData{
34+
userStatus:UserStatus,
35+
}

‎src/resources/mod.rs‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ pub mod problemfulldata;
66
pubmod subm_send;
77
pubmod subm_show;
88
pubmod test_send;
9+
pubmod data_profile;
910

1011
use serde::Deserialize;
1112

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp