22
33using System ;
44using System . Collections . Generic ;
5- using System . Drawing . Imaging ;
6- using System . IO ;
75using System . Linq ;
86using System . Net . Http ;
97using System . Runtime . InteropServices . WindowsRuntime ;
@@ -241,7 +239,7 @@ internal async Task<BitmapImage> GetQRImageAsync()
241239 { Query . LocalId , _guid } ,
242240 } ;
243241 var httpProvider = Locator . Instance . GetService < IHttpProvider > ( ) ;
244- var request = await httpProvider . GetRequestMessageAsync ( HttpMethod . Post , Passport . QRCode , queryParameters ) ;
242+ var request = await httpProvider . GetRequestMessageAsync ( HttpMethod . Post , Passport . QRCode , queryParameters , RequestClientType . Login ) ;
245243 var response = await httpProvider . SendAsync ( request ) ;
246244 var result = await httpProvider . ParseAsync < ServerResponse < QRInfo > > ( response ) ;
247245
@@ -305,25 +303,19 @@ private async void OnQRTimerTickAsync(object sender, object e)
305303 {
306304 { Query . AuthCode , _internalQRAuthCode } ,
307305 { Query . LocalId , _guid } ,
306+ { "guid" , Guid . NewGuid ( ) . ToString ( ) } ,
308307 } ;
309308
310309 try
311310 {
312311 var httpProvider = Locator . Instance . GetService < IHttpProvider > ( ) ;
313- var request = await httpProvider . GetRequestMessageAsync ( HttpMethod . Post , Passport . QRCodeCheck , queryParameters ) ;
312+ var request = await httpProvider . GetRequestMessageAsync ( HttpMethod . Post , Passport . QRCodeCheck , queryParameters , RequestClientType . Login ) ;
314313 var response = await httpProvider . SendAsync ( request , _qrPollCancellationTokenSource . Token ) ;
315314 var result = await httpProvider . ParseAsync < ServerResponse < TokenInfo > > ( response ) ;
316315
317316 // 保存cookie
318317 SaveCookie ( result . Data . CookieInfo ) ;
319-
320- // 获取确认链接
321- var confirmUrl = await GetCookieToAccessKeyConfirmUrlAsync ( ) ;
322-
323- // 获取新的访问令牌
324- var accessKey = await GetAccessKeyAsync ( confirmUrl ) ;
325- result . Data . AccessToken = accessKey ;
326-
318+ SaveAuthorizeResult ( result . Data ) ;
327319 QRCodeStatusChanged ? . Invoke ( this , new Tuple < QRCodeStatus , TokenInfo > ( QRCodeStatus . Success , result . Data ) ) ;
328320 }
329321 catch ( ServiceException se )
@@ -336,7 +328,7 @@ private async void OnQRTimerTickAsync(object sender, object e)
336328 if ( se . Error != null )
337329 {
338330 QRCodeStatus qrStatus = default ;
339- if ( se . Error . Code == 86039 )
331+ if ( se . Error . Code == 86039 || se . Error . Code == 86090 )
340332 {
341333 qrStatus = QRCodeStatus . NotConfirm ;
342334 }
0 commit comments