protected async override void OnActivated(IActivatedEventArgs args) { if (ShowInfo.Current == null) { App.Current.Exit(); return; } RegisterExceptionHandlingSynchronizationContext(); if (args.Kind == ActivationKind.Protocol) { var protocalArgs = (ProtocolActivatedEventArgs)args; //check: if (protocalArgs.Uri.Scheme != "njuloginapp") { return; } switch (protocalArgs.Uri.Authority.ToLower()) { case "saveofflinecontent": DataFetcher tempFetcher = new DataFetcher(); UserPassSaver_Roam tempUPS_R = new UserPassSaver_Roam(); string uname = "", upass = ""; tempUPS_R.Load(ref uname, ref upass); if (uname != null && uname != "") { await tempFetcher.SaveOfflineDebuggingContent(uname, upass); } break; case "testmode": ShowSettings.Current.ShowTestModeSetting(); break; case "toasttest": ToastsDef.SendNotification_TwoString("Test", "通知测试"); break; default: break; } } }
public async Task <string> SaveOfflineDebuggingContent(string username, string password) { string Allcontent = "{ \n"; //0号不保存 for (int i = 0; i < (int)Pages.TopNum; ++i) { await Task.Delay(100); Pages temp = (Pages)i; string content = ""; switch (temp) { case Pages.LoginPage: content = await PostToUrl_WithPagesSelector(temp, username, password);; if (content.Length == 0) { break; } ; //说明没网,不继续这一个了 Allcontent += "\t" + temp.ToString() + ":" + content.RemoveEnter() + ",\n"; break; case Pages.MainPage: Allcontent += "\t" + temp.ToString() + ":{For Offline Debugging Usage. Content Prepared on " + DateTime.Today.ToString("yyyy-MM-dd") + "},\n"; break; case Pages.LogoutPage: break; default: content = await PostToUrl_WithPagesSelector(temp); if (content.Length == 0) { break; } ; //说明没网,不继续这一个了 Allcontent += "\t" + temp.ToString() + ":" + content.RemoveEnter() + ",\n"; break; } } { //string content = await PostToUrl_WithPagesSelector(Pages.LogoutPage); //if (content.Length != 0) // Allcontent += "\t" + Pages.LogoutPage.ToString() + ":" + content.RemoveEnter() + ",\n"; if (Allcontent.Length != 0) { Allcontent += "\t" + Pages.LogoutPage.ToString() + ":" + @"{""reply_code"":101,""reply_msg"":""下线成功!""}" + ",\n"; } } //至此Allcontent的结尾是 "},\n" 删去两个字符可以去除逗号 Allcontent = Allcontent.Remove(Allcontent.Count() - 2); Allcontent += "\n}"; try { StorageFile FormmerFile = await ApplicationData.Current.LocalFolder.GetFileAsync("OfflineDebuggingContent.txt"); await FormmerFile.DeleteAsync(); } catch (Exception e) { Debug.WriteLine("将创建文件OfflineDebuggingContent.txt"); } StorageFile ContentFile = await ApplicationData.Current.LocalFolder.CreateFileAsync("OfflineDebuggingContent.txt"); try { using (Stream stream = await ContentFile.OpenStreamForWriteAsync()) { byte[] content_b = Encoding.UTF8.GetBytes(Allcontent); await stream.WriteAsync(content_b, 0, content_b.Length); } ToastsDef.SendNotification_TwoString("保存数据", "已保存至: " + ContentFile.Path); } catch (Exception e) { Debug.WriteLine("未能成功写入文件"); } try { DataPackage pv = new DataPackage(); pv.SetText(ContentFile.Path); Clipboard.SetContent(pv); } catch (Exception e) { Debug.WriteLine("未能成功复制到剪贴板"); } return(ContentFile.Path); }