public ProductHistory() { InitializeComponent(); HistoryBusiness historyBusiness = new HistoryBusiness(); List <Models.History> histories = historyBusiness.GetList().OrderByDescending(x => x.Date).ToList(); _viewModel = new ProductHistoryModel(); _viewModel.Histories = histories; DataContext = _viewModel; }
/// <summary> /// 获取历史记录列表(视频、直播、专栏) /// startId和startTime必须同时使用才有效,分别对应结果中的max和view_at,默认为0 /// </summary> /// <param name="startId">历史记录开始目标ID</param> /// <param name="startTime">历史记录开始时间</param> /// <param name="ps">每页项数</param> /// <param name="business">历史记录ID类型</param> /// <returns></returns> public HistoryData GetHistory(long startId, long startTime, int ps = 30, HistoryBusiness business = HistoryBusiness.ARCHIVE) { string businessStr = string.Empty; switch (business) { case HistoryBusiness.ARCHIVE: businessStr = "archive"; break; case HistoryBusiness.PGC: businessStr = "pgc"; break; case HistoryBusiness.LIVE: businessStr = "live"; break; case HistoryBusiness.ARTICLE_LIST: businessStr = "article-list"; break; case HistoryBusiness.ARTICLE: businessStr = "article"; break; } string url = $"https://api.bilibili.com/x/web-interface/history/cursor?max={startId}&view_at={startTime}&ps={ps}&business={businessStr}"; string referer = "https://www.bilibili.com"; string response = Utils.RequestWeb(url, referer); try { var history = JsonConvert.DeserializeObject <HistoryOrigin>(response); if (history == null || history.Data == null) { return(null); } return(history.Data); } catch (Exception e) { Console.WriteLine("GetHistory()发生异常: {0}", e); return(null); } }