public async Task <ImageInfo> SelectArtwork() { await ListUpdate(); ImageInfo img = null; while (true) { if (illustQueue == null) { return(null); } else { if (illustQueue.Count != 0) { illustQueue.TryDequeue(out img); if (img != null && img.WHratio >= 1.33 && !img.isR18) { return(img); } } else if (!await ListUpdate()) { string title = loader.GetString("EmptyQueue"); ToastMessage tm = new ToastMessage(title, null, ToastMessage.ToastMode.OtherMessage); tm.ToastPush(60); return(null); } } } }
/// <summary> /// 列表更新方式2 /// </summary> /// <param name="flag">是否强制更新</param> /// <returns></returns> public async Task <bool> ListUpdate(bool flag = false, string imgId = null) { if (flag || Recomm == null || Recomm.Count == 0) { var t = await pixiv.getRecommenList(imgId, nextUrl); Recomm = t.Item1; nextUrl = t.Item2; if (Recomm != null) { return(true); } else { string title = loader.GetString("FailToGetQueue"); string content = loader.GetString("FailToGetQueueExplanation"); ToastMessage tm = new ToastMessage(title, content, ToastMessage.ToastMode.OtherMessage); tm.ToastPush(60); return(false); } } else { return(false); } }
public async Task <bool> ListUpdate(bool flag = false) { if (flag || illustQueue == null || illustQueue.Count == 0) { var t = await pixiv.getIllustFollowList(nextUrl); illustQueue = t.Item1; nextUrl = t.Item2; if (illustQueue != null) { return(true); } else { string title = loader.GetString("FailToGetFollowingUserUpdatingQueue"); string content = loader.GetString("FailToGetQueueExplanation"); ToastMessage tm = new ToastMessage(title, content, ToastMessage.ToastMode.OtherMessage); tm.ToastPush(60); return(false); } } else { return(false); } }
private async void RegistTask() { // Otherwise request access var status = await BackgroundExecutionManager.RequestAccessAsync(); if (status == BackgroundAccessStatus.DeniedBySystemPolicy || status == BackgroundAccessStatus.Unspecified) { string title = loader.GetString("BackgroundTaskDenied"); string content = loader.GetString("BackgroundTaskDeniedExplanation"); ToastMessage tm = new ToastMessage(title, content, ToastMessage.ToastMode.BatterySetting); tm.ToastPush(120); } else { foreach (var i in BackgroundTaskRegistration.AllTasks.Values) { if (i.Name.Equals("TimeBackgroundTrigger")) { i.Unregister(true);//将之前的时间触发器任务注销 } } //注册新的时间触发器 BackgroundTaskBuilder timeBuilder = new BackgroundTaskBuilder(); timeBuilder.Name = "TimeBackgroundTrigger"; timeBuilder.SetTrigger(new TimeTrigger(Convert.ToUInt32(c.time), true)); timeBuilder.IsNetworkRequested = true; timeBuilder.AddCondition(new SystemCondition(SystemConditionType.InternetAvailable)); BackgroundTaskRegistration task = timeBuilder.Register(); } }
private async void BeginExtendedExecution() { // The previous Extended Execution must be closed before a new one can be requested. ClearExtendedExecution(); var newSession = new ExtendedExecutionSession(); newSession.Reason = ExtendedExecutionReason.Unspecified; newSession.Description = "Raising periodic toasts"; newSession.Revoked += SessionRevoked; ExtendedExecutionResult result = await newSession.RequestExtensionAsync(); switch (result) { case ExtendedExecutionResult.Allowed: session = newSession; break; default: case ExtendedExecutionResult.Denied: newSession.Dispose(); //建立Toast通知 string title = loader.GetString("ExtendedExecutionDenied"); string content = loader.GetString("ExtendedExcutionDeniedExplanation"); ToastMessage tm = new ToastMessage(title, content, ToastMessage.ToastMode.BatterySetting); tm.ToastPush(120); break; } }
public async Task <bool> ListUpdate(string rankingMode, bool flag = false) { if (flag || illustQueue == null || illustQueue.Count == 0 || this.rankingMode != rankingMode) { //日期参数依旧存在问题 if (rankingMode == "day") { ValueTuple <ConcurrentQueue <ImageInfo>, string> vt = new ValueTuple <ConcurrentQueue <ImageInfo>, string>(); if (date.Year == 1) { vt = await pixiv.getRankingList(mode : rankingMode, date : null, nextUrl : nextUrl); } else { vt = await pixiv.getRankingList(mode : rankingMode, date : date.ToString("yyyy-MM-dd"), nextUrl : nextUrl); } illustQueue = vt.Item1; nextUrl = vt.Item2; if (nextUrl == "begin") { date = date.AddDays(-1); } /* * else * { * string dt = System.Web.HttpUtility.ParseQueryString(new Uri(nextUrl).Query).Get("date"); * date = DateTime.ParseExact(System.Web.HttpUtility.ParseQueryString(new Uri(nextUrl).Query).Get("date"), * "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture); * } */ } else { var t = await pixiv.getRankingList(mode : rankingMode, nextUrl : nextUrl); illustQueue = t.Item1; nextUrl = t.Item2; } if (illustQueue != null) { return(true); } else { string title = loader.GetString("FailToGetRankingUpdatingQueue"); string content = loader.GetString("FailToGetQueueExplanation"); ToastMessage tm = new ToastMessage(title, content, ToastMessage.ToastMode.OtherMessage); tm.ToastPush(60); return(false); } } else { return(false); } }
private async void share_btn_Click(object sender, RoutedEventArgs e) //访问p站 { if (c.lastImg != null) { DataPackage dataPackage = new DataPackage(); dataPackage.RequestedOperation = DataPackageOperation.Copy; dataPackage.SetText(@"https://www.pixiv.net/artworks/" + c.lastImg.imgId); string title = loader.GetString("CopyLink"); Clipboard.SetContent(dataPackage); string content = ""; ToastMessage tm = new ToastMessage(title, content, ToastMessage.ToastMode.OtherMessage); tm.ToastPush(1); if (c.mode == "Recommendation") { if (recommend == null) { recommend = new PixivRecommendation(loader, pixiv); } await recommend.ListUpdate(true, c.lastImg.imgId); } } }
public static async Task GetToken(string uri) { Console.WriteLine(uri); try { string[] uriSplit = uri.Split('=', '&'); string monitor = uriSplit[1]; var res = await baseAPI.Code2Token(uriSplit[1]); var currentUser = res.Response.User; pixiv = new Pixiv(baseAPI, currentUser); conf.RefreshToken = res.Response.RefreshToken; frame.Navigate(typeof(MainPage), new ValueTuple <Pixiv, Conf>(pixiv, conf)); } catch (Exception e) { Console.WriteLine(e.Message); string title = lp.loader.GetString("FailToLogin"); ToastMessage message = new ToastMessage(title, "", ToastMessage.ToastMode.OtherMessage); message.ToastPush(30); } }
private async void refresh_btn_Click(object sender, RoutedEventArgs e) { switch (c.mode) { case "Bookmark": if (bookmark == null) { bookmark = new PixivBookmark(loader, pixiv); } if (await bookmark.ListUpdate(true)) { string title = loader.GetString("BookmarkUpdate"); string content = loader.GetString("RefreshExplanation"); ToastMessage tm = new ToastMessage(title, content, ToastMessage.ToastMode.OtherMessage); tm.ToastPush(120); } break; case "FollowIllust": if (follow == null) { follow = new PixivFollowingIllust(loader, pixiv); } if (await follow.ListUpdate(true)) { string title = loader.GetString("FollowingUserUpdatingUpdate"); string content = loader.GetString("RefreshExplanation"); ToastMessage tm = new ToastMessage(title, content, ToastMessage.ToastMode.OtherMessage); tm.ToastPush(120); } break; case "Recommendation": if (recommend == null) { recommend = new PixivRecommendation(loader, pixiv); } if (await recommend.ListUpdate(true)) { string title = loader.GetString("RecommendedRefresh"); string content = loader.GetString("RefreshExplanation"); ToastMessage tm = new ToastMessage(title, content, ToastMessage.ToastMode.OtherMessage); tm.ToastPush(120); } await recommend.ListUpdate(true); break; case "Ranking": if (ranking == null) { ranking = new PixivRanking(loader, pixiv); break; } if (await ranking.ListUpdate(c.rankingMode, true)) { string title = loader.GetString("RankingRefresh"); string content = loader.GetString("RefreshExplanation"); ToastMessage tm = new ToastMessage(title, content, ToastMessage.ToastMode.OtherMessage); tm.ToastPush(120); } break; default: if (recommend == null) { recommend = new PixivRecommendation(loader, pixiv); } if (await recommend.ListUpdate(true)) { string title = loader.GetString("RecommendedRefresh"); string content = loader.GetString("RefreshExplanation"); ToastMessage tm = new ToastMessage(title, content, ToastMessage.ToastMode.OtherMessage); tm.ToastPush(120); } break; } }
public async void SetWallpaper(bool done) { if (done) { var dialog = new MessageDialog(""); if (!UserProfilePersonalizationSettings.IsSupported()) { string title = loader.GetString("NotSupport"); string content = " "; ToastMessage tm = new ToastMessage(title, content, ToastMessage.ToastMode.OtherMessage); tm.ToastPush(60); return; } UserProfilePersonalizationSettings settings = UserProfilePersonalizationSettings.Current; StorageFile file = null; try { file = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appdata:///local/illusts/" + c.lastImg.imgId + '.' + c.lastImg.format)); } catch (Exception) { timer.Interval = TimeSpan.FromSeconds(2); timer.Start(); } if (c.lockscr) { //更换锁屏 bool lockscr = await settings.TrySetLockScreenImageAsync(file); if (!lockscr) { string title = loader.GetString("FailToChangeLock"); string content = " "; ToastMessage tm = new ToastMessage(title, content, ToastMessage.ToastMode.OtherMessage); tm.ToastPush(60); } } //更换壁纸 bool deskscr = await settings.TrySetWallpaperImageAsync(file); if (!deskscr) { string title = loader.GetString("FailToChangeWallpaper"); string content = " "; ToastMessage tm = new ToastMessage(title, content, ToastMessage.ToastMode.OtherMessage); tm.ToastPush(60); } else { //推送Toast通知 string title = loader.GetString("Success"); string content = c.lastImg.title + "\r\n" + "id: " + c.lastImg.imgId + "\r\n" + loader.GetString("Illustrator") + c.lastImg.userName; string imagePath = file.Path; ToastMessage tm = new ToastMessage(title, content, ToastMessage.ToastMode.WallpaperUpdate, imagePath); tm.ToastPush(10); } } }