@@ -307,6 +307,7 @@ async void SetGameStatus(XunYouGameViewModel game, int areaId = 0, int serverId
307307 Games . AddOrUpdate ( CurrentAcceleratorGame ) ;
308308
309309 //加速后
310+ TracepointHelper . TrackEvent ( "AcceleratorGameSuccess" ) ;
310311 Toast . Show ( ToastIcon . Success , "加速成功" ) ;
311312 if ( ProxySettings . AutoShowWattAcceleratorWindow . Value )
312313 {
@@ -628,44 +629,45 @@ public static async Task InstallAccelerator()
628629 } ;
629630 var install = Ioc . Get < IAcceleratorService > ( ) . XY_Install ( GameAcceleratorSettings . WattAcceleratorDirPath . Value ! ) ;
630631
631- td . Opened += async ( s , e ) =>
632+ td . Opened += ( s , e ) =>
632633 {
633- await foreach ( var item in install )
634- {
635- if ( item . HandleUI ( out var content ) )
636- {
637- switch ( content )
638- {
639- case < 100 :
640- Dispatcher . UIThread . Post ( ( ) => { td . Content = $ "正在下载 { item . Content } %"; } ) ;
641- td . SetProgressBarState ( item . Content , TaskDialogProgressState . Normal ) ;
642- break ;
643- case 100 :
644- td . SetProgressBarState ( item . Content , TaskDialogProgressState . Indeterminate ) ;
645- Dispatcher . UIThread . Post ( ( ) => { td . Content = $ "下载完成,正在安装..."; } ) ;
646- break ;
647- case ( int ) XunYouDownLoadCode . 安装成功 :
648- //处理成功
649- //Dispatcher.UIThread.Post(() => { td.Content = $"安装完成"; });
650- Dispatcher . UIThread . Post ( ( ) => { td . Hide ( TaskDialogStandardResult . OK ) ; } ) ;
651- td . Hide ( ) ;
652- break ;
653- case int n when n > 101 && n < ( int ) XunYouDownLoadCode . 启动安装程序失败 :
654- //处理失败
655- break ;
656- // Code 和进度重叠 递进 1000 XunYouInstallOrStartCode.默认 XunYouInstallOrStartCode.已安装
657- case 1000 :
658- Dispatcher . UIThread . Post ( ( ) => { td . Content = $ "默认"; } ) ;
659- // XunYouInstallOrStartCode.默认
660- break ;
661- case 1001 :
662- Dispatcher . UIThread . Post ( ( ) => { td . Content = $ "已安装"; } ) ;
663- // XunYouInstallOrStartCode.已安装
664- Dispatcher . UIThread . Post ( ( ) => { td . Hide ( TaskDialogStandardResult . OK ) ; } ) ;
665- break ;
666- }
667- }
668- }
634+ DownloadCallbackAsync ( td , install ) . Wait ( ) ;
635+ //await foreach (var item in install)
636+ //{
637+ // if (item.HandleUI(out var content))
638+ // {
639+ // switch (content)
640+ // {
641+ // case < 100:
642+ // Dispatcher.UIThread.Post(() => { td.Content = $"正在下载 {item.Content}%"; });
643+ // td.SetProgressBarState(item.Content, TaskDialogProgressState.Normal);
644+ // break;
645+ // case 100:
646+ // td.SetProgressBarState(item.Content, TaskDialogProgressState.Indeterminate);
647+ // Dispatcher.UIThread.Post(() => { td.Content = $"下载完成,正在安装..."; });
648+ // break;
649+ // case (int)XunYouDownLoadCode.安装成功:
650+ // //处理成功
651+ // //Dispatcher.UIThread.Post(() => { td.Content = $"安装完成"; });
652+ // Dispatcher.UIThread.Post(() => { td.Hide(TaskDialogStandardResult.OK); });
653+ // td.Hide();
654+ // break;
655+ // case int n when n > 101 && n < (int)XunYouDownLoadCode.启动安装程序失败:
656+ // //处理失败
657+ // break;
658+ // // Code 和进度重叠 递进 1000 XunYouInstallOrStartCode.默认 XunYouInstallOrStartCode.已安装
659+ // case 1000:
660+ // Dispatcher.UIThread.Post(() => { td.Content = $"默认"; });
661+ // // XunYouInstallOrStartCode.默认
662+ // break;
663+ // case 1001:
664+ // Dispatcher.UIThread.Post(() => { td.Content = $"已安装"; });
665+ // // XunYouInstallOrStartCode.已安装
666+ // Dispatcher.UIThread.Post(() => { td.Hide(TaskDialogStandardResult.OK); });
667+ // break;
668+ // }
669+ // }
670+ //}
669671 } ;
670672
671673 //_ = Task.Run(() => { XunYouSDK.InstallAsync(progress, Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles), "WattAccelerator")); });
@@ -674,6 +676,47 @@ public static async Task InstallAccelerator()
674676 }
675677 }
676678
679+ private static async Task DownloadCallbackAsync ( TaskDialog td , IAsyncEnumerable < ApiRsp < int > > install )
680+ {
681+ await foreach ( var item in install )
682+ {
683+ if ( item . HandleUI ( out var content ) )
684+ {
685+ switch ( content )
686+ {
687+ case < 100 :
688+ Dispatcher . UIThread . Post ( ( ) => { td . Content = $ "正在下载 { item . Content } %"; } ) ;
689+ td . SetProgressBarState ( item . Content , TaskDialogProgressState . Normal ) ;
690+ break ;
691+ case 100 :
692+ td . SetProgressBarState ( item . Content , TaskDialogProgressState . Indeterminate ) ;
693+ Dispatcher . UIThread . Post ( ( ) => { td . Content = $ "下载完成,正在安装..."; } ) ;
694+ break ;
695+ case ( int ) XunYouDownLoadCode . 安装成功 :
696+ //处理成功
697+ //Dispatcher.UIThread.Post(() => { td.Content = $"安装完成"; });
698+ TracepointHelper . TrackEvent ( "DownloadInstallSuccess" ) ;
699+ Dispatcher . UIThread . Post ( ( ) => { td . Hide ( TaskDialogStandardResult . OK ) ; } ) ;
700+ td . Hide ( ) ;
701+ break ;
702+ case int n when n > 101 && n < ( int ) XunYouDownLoadCode . 启动安装程序失败 :
703+ //处理失败
704+ break ;
705+ // Code 和进度重叠 递进 1000 XunYouInstallOrStartCode.默认 XunYouInstallOrStartCode.已安装
706+ case 1000 :
707+ Dispatcher . UIThread . Post ( ( ) => { td . Content = $ "默认"; } ) ;
708+ // XunYouInstallOrStartCode.默认
709+ break ;
710+ case 1001 :
711+ Dispatcher . UIThread . Post ( ( ) => { td . Content = $ "已安装"; } ) ;
712+ // XunYouInstallOrStartCode.已安装
713+ Dispatcher . UIThread . Post ( ( ) => { td . Hide ( TaskDialogStandardResult . OK ) ; } ) ;
714+ break ;
715+ }
716+ }
717+ }
718+ }
719+
677720 public static async void UninstallAccelerator ( )
678721 {
679722 var xunYouIsInstall = await Ioc . Get < IAcceleratorService > ( ) . XY_IsInstall ( ) ;
0 commit comments