Пример #1
0
        public static async Task <BiliMangaMaster> GetMangaMasterAsync(long mc, string sessdata = null)
        {
            var json = await HttpHelper.PostJsonAsync(GetMangaApi, JsonConvert.SerializeObject(new { comic_id = mc }), sessdata);

            if (json.code != 0)
            {
                throw new MangaNotFoundException("找不到该漫画");
            }
            var master = new BiliMangaMaster()
            {
                Mcid               = json.data.id,
                Title              = json.data.title,
                Evaluate           = json.data.evaluate,
                HorizontalCoverUrl = json.data.horizontal_cover,
                VerticalCoverUrl   = json.data.vertical_cover,
                SquareCoverUrl     = json.data.square_cover,
                EpList             = new List <BiliManga>()
            };

            foreach (var ep in json.data.ep_list)
            {
                master.EpList.Add(new BiliManga()
                {
                    Epid       = ep.id,
                    Title      = ep.title,
                    ShortTitle = ep.short_title,
                    CoverUrl   = ep.cover,
                    IsLocked   = ep.is_locked,
                    Order      = ep.ord
                });
            }
            master.EpList = master.EpList.OrderBy(m => m.Order).ToList();
            return(master);
        }
 protected override void OnNavigatedTo(NavigationEventArgs e)
 {
     base.OnNavigatedTo(e);
     _master = (BiliMangaMaster)e.Parameter;
     try
     {
         CoverImg.Source = new BitmapImage(new Uri(_master.VerticalCoverUrl));
     }
     catch
     {
     }
 }
Пример #3
0
        public static async Task <BiliMangaMaster> GetBiliMangaMasterAsync(int mcid, string sESSDATA)
        {
            List <(string, string)> cookies = null;

            if (!string.IsNullOrWhiteSpace(sESSDATA))
            {
                cookies = new List <(string, string)>();
                cookies.Add(("SESSDATA", sESSDATA));
            }

            var payload = JsonConvert.SerializeObject(new { comic_id = mcid });
            var json    = JsonConvert.DeserializeObject <dynamic>(
                (await NetHelper.HttpPostJsonAsync("https://manga.bilibili.com/twirp/comic.v1.Comic/ComicDetail?device=pc&platform=web", cookies, payload)));

            if (json.code != 0)
            {
                throw new MangaNotFoundException();
            }
            var master = new BiliMangaMaster()
            {
                Mcid  = json.data.id,
                Title = json.data.title,
                HorizontalCoverUrl = json.data.horizontal_cover,
                VerticalCoverUrl   = json.data.vertical_cover,
                SquareCoverUrl     = json.data.square_cover,
                EpList             = new List <BiliManga>()
            };

            foreach (var ep in json.data.ep_list)
            {
                master.EpList.Add(new BiliManga()
                {
                    Epid     = ep.id,
                    Title    = ep.title,
                    CoverUrl = ep.cover,
                    Order    = ep.ord
                });
            }
            return(master);
        }
Пример #4
0
 public void CloseMangaWindow(BiliMangaMaster master)
 {
     this.mangaWindowDic[master].Close();
 }