private async Task <List <Feed_Bangumi> > GetPulls() { List <Feed_Bangumi> list = new List <Feed_Bangumi>(); string url = "http://api.bilibili.com/x/feed/pull?type=0&_device=wp&_ulv=10000&build=424000&platform=android&appkey=" + Helper.appkey + "&access_key=" + Helper.GetValue("_accesskey").ToString() + "&pn=1&ps=30&rnd=" + new Random().Next(1000, 2000).ToString(); url += Helper.GetSign(url); JsonObject json = await Helper.GetJson(url); if (json.ContainsKey("data")) { json = json["data"].GetObject(); if (json.ContainsKey("feeds")) { JsonArray array = json["feeds"].GetArray(); foreach (var item in array) { Feed_Bangumi feed = new Feed_Bangumi(); json = item.GetObject(); if (json.ContainsKey("addition")) { JsonObject json2 = json["addition"].GetObject(); if (json2.ContainsKey("title")) { feed.Title = json2["title"].GetString(); } if (json2.ContainsKey("status")) { feed.Status = json2["status"].ToString(); } if (json2.ContainsKey("aid")) { feed.Aid = json2["aid"].ToString(); } if (json2.ContainsKey("create")) { feed.Time = json2["create"].GetString(); } if (json2.ContainsKey("pic")) { feed.Pic = json2["pic"].GetString(); } } if (json.ContainsKey("src_id")) { feed.Sid = json["src_id"].ToString(); } if (json.ContainsKey("source")) { JsonObject json2 = json["source"].GetObject(); if (json2.ContainsKey("new_ep")) { json2 = json2["new_ep"].GetObject(); if (json2.ContainsKey("index")) { feed.New_ep = json2["index"].GetString(); } } } var test = list.Find(o => o.Sid == feed.Sid); if (test == null) { list.Add(feed); } } // string temp = string.Empty; string OldQuene = string.Empty; if (Helper.ContainsKey("_toastquene")) { OldQuene = Helper.GetValue("_toastquene").ToString(); } foreach (var item in list) { // temp += item.Sid + " "; if (OldQuene.Contains(item.Sid)) { continue; } OldQuene += item.Sid + ","; } // foreach (var str in Regex.Match(OldQuene, @"\d*(?=@)").Groups) // { // string value = str.ToString(); // if (!temp.Contains(value))// 最新的推送列表里没有该番剧的信息,它将被删除 // OldQuene = OldQuene.Replace(value + "@,", ""); // } Helper.SetValue("_toastquene", OldQuene); return(list); } } return(null); }
private async Task <List <Feed_Bangumi> > GetPulls() { List <Feed_Bangumi> list = new List <Feed_Bangumi>(); string url = "http://api.bilibili.com/x/feed/pull?type=0&_device=wp&_ulv=10000&build=424000&platform=android&appkey=" + Helper.appkey + "&access_key=" + Helper.GetValue("_accesskey").ToString() + "&pn=1&ps=10&rnd=" + new Random().Next(1000, 2000).ToString(); url += Helper.GetSign(url); JsonObject json = await Helper.GetJson(url); if (json.ContainsKey("data")) { json = json["data"].GetObject(); if (json.ContainsKey("feeds")) { JsonArray array = json["feeds"].GetArray(); //磁贴最多更新5个 for (int i = 0; i < 5; i++) { var item = array[i]; Feed_Bangumi feed = new Feed_Bangumi(); json = item.GetObject(); if (json.ContainsKey("addition")) { JsonObject json2 = json["addition"].GetObject(); if (json2.ContainsKey("title")) { feed.Title = json2["title"].GetString(); } if (json2.ContainsKey("status")) { feed.Status = json2["status"].ToString(); } } if (json.ContainsKey("source")) { JsonObject json2 = json["source"].GetObject(); if (json2.ContainsKey("new_ep")) { json2 = json2["new_ep"].GetObject(); if (json2.ContainsKey("av_id")) { feed.Aid = json2["av_id"].GetString(); } if (json2.ContainsKey("cover")) { feed.Pic = json2["cover"].GetString(); } if (json2.ContainsKey("update_time")) { feed.Time = json2["update_time"].GetString(); } if (json2.ContainsKey("index")) { feed.New_ep = json2["index"].GetString(); } list.Add(feed); } } } return(list); } } return(null); }