@@ -19,10 +19,10 @@ private void UsersPanel_SizeChanged(object sender, EventArgs e)
19
19
20
20
private async void addUserBtn_Click ( object sender , EventArgs e )
21
21
{
22
- await Login ( false , null ) ;
22
+ await Login ( null ) ;
23
23
}
24
24
25
- private async void btnUser_Click ( object sender , MouseEventArgs e )
25
+ private void btnUser_Click ( object sender , MouseEventArgs e )
26
26
{
27
27
if ( e . Button != MouseButtons . Left )
28
28
{
@@ -33,7 +33,7 @@ private async void btnUser_Click(object sender, MouseEventArgs e)
33
33
SteamUserPanel panel = control . Parent as SteamUserPanel ;
34
34
UserClient userClient = panel . Client ;
35
35
36
- await SwitchUser ( userClient ) ;
36
+ SetCurrentClient ( userClient ) ;
37
37
}
38
38
39
39
private void copyCookieMenuItem_Click ( object sender , EventArgs e )
@@ -89,15 +89,15 @@ private void copyRefreshTokenMenuItem_Click(object sender, EventArgs e)
89
89
Utils . CopyText ( refreshToken ) ;
90
90
}
91
91
92
- private async void setCurrentClientMenuItem_Click ( object sender , EventArgs e )
92
+ private void setCurrentClientMenuItem_Click ( object sender , EventArgs e )
93
93
{
94
94
ToolStripMenuItem menuItem = sender as ToolStripMenuItem ;
95
95
ContextMenuStrip menuStrip = ( ContextMenuStrip ) menuItem . GetCurrentParent ( ) ;
96
96
97
97
SteamUserPanel panel = menuStrip . SourceControl . Parent as SteamUserPanel ;
98
98
UserClient userClient = panel . Client ;
99
99
100
- await SwitchUser ( userClient ) ;
100
+ SetCurrentClient ( userClient ) ;
101
101
}
102
102
103
103
private void settingMenuItem_Click ( object sender , EventArgs e )
@@ -157,7 +157,7 @@ private async void reloginMenuItem_Click(object sender, EventArgs e)
157
157
return ;
158
158
}
159
159
160
- await Login ( false , userClient . GetAccount ( ) ) ;
160
+ await Login ( userClient . GetAccount ( ) ) ;
161
161
}
162
162
163
163
private async void logoutMenuItem_Click ( object sender , EventArgs e )
@@ -190,7 +190,7 @@ private void removeUserMenuItem_Click(object sender, EventArgs e)
190
190
191
191
if ( userClient . User . SteamId == currentClient ? . User ? . SteamId )
192
192
{
193
- SetCurrentClient ( Appsetting . Instance . Clients . FirstOrDefault ( ) ?? userClient , true ) ;
193
+ SetCurrentClient ( Appsetting . Instance . Clients . FirstOrDefault ( ) ) ;
194
194
}
195
195
}
196
196
@@ -279,121 +279,84 @@ private async Task LoadUsers()
279
279
}
280
280
}
281
281
282
- private async Task < UserClient > Login ( bool relogin , string account )
282
+ private async Task < UserClient > Login ( string defaultAccount )
283
283
{
284
- if ( relogin )
284
+ Login login = new Login ( defaultAccount ) ;
285
+ if ( login . ShowDialog ( ) != DialogResult . OK || ! ( login . Client ? . LoggedIn ?? false ) )
285
286
{
286
- if ( MessageBox . Show ( $ "帐号 { account } 已掉线,是否请重新登录", "提示" , MessageBoxButtons . YesNo , MessageBoxIcon . Question ) != DialogResult . Yes )
287
- {
288
- return null ;
289
- }
287
+ return null ;
290
288
}
291
289
292
- Login login = new Login ( account ) ;
293
- if ( login . ShowDialog ( ) == DialogResult . OK && ( login . Client ? . LoggedIn ?? false ) )
294
- {
295
- var userClient = await SaveUser ( login . Client ) ;
296
- var user = userClient . User ;
297
-
298
- if ( Appsetting . Instance . Clients . Count == 1 )
299
- {
300
- SetCurrentClient ( Appsetting . Instance . Clients [ 0 ] ) ;
301
- }
290
+ var client = login . Client ;
291
+ client . SetLanguage ( Language . Schinese ) ;
302
292
303
- AddUserPanel ( userClient ) ;
293
+ var account = await client . GetAccountNameAsync ( ) ;
304
294
305
- return userClient ;
306
- }
295
+ var players = await SteamApi . QueryPlayerSummariesAsync ( null , client . WebApiToken , new [ ] { client . SteamId } ) ;
296
+ var player = players . Body ? . Players ? . FirstOrDefault ( ) ;
307
297
308
- return null ;
309
- }
298
+ var localUser = Appsetting . Instance . Manifest . GetSteamUser ( client . SteamId ) ;
310
299
311
- private async Task < UserClient > SaveUser ( SteamCommunityClient client )
312
- {
313
- if ( client ? . LoggedIn ?? false )
300
+ var user = new User
314
301
{
315
- var localUser = Appsetting . Instance . Manifest . GetSteamUser ( client . SteamId ) ;
316
-
317
- client . SetLanguage ( Language . Schinese ) ;
302
+ Account = ! string . IsNullOrWhiteSpace ( account ) ? account : localUser ? . Account ,
318
303
319
- var players = await SteamApi . QueryPlayerSummariesAsync ( null , client . WebApiToken , new [ ] { client . SteamId } ) ;
320
- var player = players . Body ? . Players ? . FirstOrDefault ( ) ;
304
+ SteamId = client . SteamId ,
305
+ RefreshToken = client . RefreshToken ,
321
306
322
- string account = await client . GetAccountNameAsync ( ) ;
323
- var user = new User
324
- {
325
- Account = ! string . IsNullOrWhiteSpace ( account ) ? account : localUser ? . Account ,
326
-
327
- SteamId = client . SteamId ,
328
- RefreshToken = client . RefreshToken ,
329
-
330
- NickName = player ? . SteamName ?? localUser ? . NickName ?? client . SteamId ,
331
- Avatar = player ? . AvatarFull ?? localUser ? . Avatar ?? "" ,
332
-
333
- Setting = localUser ? . Setting ?? new Model . UserSetting ( )
334
- } ;
335
-
336
- UserClient userClient = new UserClient ( user , client , true ) ;
307
+ NickName = player ? . SteamName ?? localUser ? . NickName ?? client . SteamId ,
308
+ Avatar = player ? . AvatarFull ?? localUser ? . Avatar ?? "" ,
337
309
338
- Appsetting . Instance . Manifest . SaveSteamUser ( client . SteamId , user ) ;
310
+ Setting = localUser ? . Setting ?? new Model . UserSetting ( )
311
+ } ;
312
+ UserClient userClient = new UserClient ( user , client , true ) ;
339
313
340
- Appsetting . Instance . Clients . RemoveAll ( c => c . User . SteamId == user . SteamId ) ;
341
- Appsetting . Instance . Clients . Add ( userClient ) ;
342
- return userClient ;
314
+ Appsetting . Instance . Manifest . SaveSteamUser ( client . SteamId , user ) ;
315
+ Appsetting . Instance . Clients . RemoveAll ( c => c . User . SteamId == user . SteamId ) ;
316
+ Appsetting . Instance . Clients . Add ( userClient ) ;
343
317
344
- }
345
- return null ;
346
- }
318
+ AddUserPanel ( userClient ) ;
347
319
348
- private async Task SwitchUser ( UserClient userClient )
349
- {
350
- try
320
+ if ( Appsetting . Instance . Clients . Count == 1 || currentClient . User . SteamId == userClient . User . SteamId )
351
321
{
352
- if ( ! userClient . Client . LoggedIn )
353
- {
354
- if ( ! await userClient . LoginAsync ( ) )
355
- {
356
- userClient = await Login ( true , userClient . GetAccount ( ) ) ?? userClient ;
357
- }
358
- }
359
-
360
322
SetCurrentClient ( userClient ) ;
361
323
}
362
- catch ( Exception ex )
363
- {
364
- MessageBox . Show ( $ "切换用户失败{ Environment . NewLine } { ex . Message } ", "提示" , MessageBoxButtons . OK , MessageBoxIcon . Error ) ;
365
- }
324
+ return userClient ;
366
325
}
367
326
368
- private void SetCurrentClient ( UserClient userClient , bool reload = false )
327
+ private void SetCurrentClient ( UserClient userClient )
369
328
{
370
- if ( ! reload )
329
+ try
371
330
{
372
331
if ( userClient ? . User ? . SteamId == currentClient ? . User ? . SteamId && userClient . Client . LoggedIn == currentClient ? . Client . LoggedIn )
373
332
{
374
333
return ;
375
334
}
376
- }
377
335
378
- usersPanel . SetChecked ( userClient , true ) ;
336
+ usersPanel . SetChecked ( userClient , true ) ;
379
337
380
- UserName . Text = userClient ? . User == null ? "---" : $ "{ userClient . GetAccount ( ) } [{ userClient . User . NickName } ]";
381
- SteamId . Text = userClient ? . User == null ? "---" : $ "{ userClient . User . SteamId } ";
338
+ UserName . Text = userClient ? . User == null ? "---" : $ "{ userClient . GetAccount ( ) } [{ userClient . User . NickName } ]";
339
+ SteamId . Text = userClient ? . User == null ? "---" : $ "{ userClient . User . SteamId } ";
382
340
383
- UserImg . Image = Properties . Resources . userimg ;
384
- if ( ! string . IsNullOrWhiteSpace ( userClient ? . User ? . Avatar ) )
385
- {
386
- UserImg . LoadAsync ( userClient . User . Avatar ) ;
387
- }
341
+ UserImg . Image = Properties . Resources . userimg ;
342
+ if ( ! string . IsNullOrWhiteSpace ( userClient ? . User ? . Avatar ) )
343
+ {
344
+ UserImg . LoadAsync ( userClient . User . Avatar ) ;
345
+ }
388
346
389
- Balance . Text = "---" ;
390
- DelayedBalance . Text = "---" ;
391
- OfferCountLabel . Text = "---" ;
392
- ConfirmationCountLable . Text = "---" ;
347
+ Balance . Text = "---" ;
348
+ DelayedBalance . Text = "---" ;
349
+ OfferCountLabel . Text = "---" ;
350
+ ConfirmationCountLable . Text = "---" ;
393
351
394
- currentClient = userClient ;
395
- Appsetting . Instance . AppSetting . Entry . CurrentUser = currentClient . User . SteamId ;
396
- Appsetting . Instance . AppSetting . Save ( ) ;
352
+ currentClient = userClient ;
353
+ Appsetting . Instance . AppSetting . Entry . CurrentUser = currentClient ? . User ? . SteamId ;
354
+ Appsetting . Instance . AppSetting . Save ( ) ;
355
+ }
356
+ catch ( Exception ex )
357
+ {
358
+ MessageBox . Show ( $ "切换用户失败{ Environment . NewLine } { ex . Message } ", "提示" , MessageBoxButtons . OK , MessageBoxIcon . Error ) ;
359
+ }
397
360
}
398
361
399
362
private SteamUserPanel AddUserPanel ( UserClient userClient )
@@ -415,7 +378,7 @@ private SteamUserPanel AddUserPanel(UserClient userClient)
415
378
416
379
if ( client . User . SteamId == currentClient ? . User ? . SteamId )
417
380
{
418
- SetCurrentClient ( client , true ) ;
381
+ SetCurrentClient ( client ) ;
419
382
}
420
383
} ;
421
384
0 commit comments