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 { } }
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); }
public void CloseMangaWindow(BiliMangaMaster master) { this.mangaWindowDic[master].Close(); }