Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }