protected override void OnResourceLoadComplete(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request, IResponse response, UrlRequestStatus status, long receivedContentLength) { if (request.Method.Equals("POST") && request.Url.Contains("order_list")) { var filter = FilterManager.GetFileter(request.Identifier.ToString()) as TestJsonFilter; if (filter == null) { return; } ASCIIEncoding encoding = new ASCIIEncoding(); //这里截获返回的数据 var data = encoding.GetString(filter.DataAll.ToArray()); var orderList = JsonConvert.DeserializeObject <Order>(data); if (orderList.orders != null && orderList.orders.Count != 0) { Thread.Sleep(1000); FilterManager.AddOrder(orderList); //反向排序 orderList.orders.Reverse(); //获取第一个 var order = orderList.orders.FirstOrDefault(); string json = "{\"timeout\":1300,\"type\":\"all\",\"page\":1,\"pay_channel_list\":[\"9\",\"30\",\"31\",\"35\",\"38\",\"52\",\"97\",\"122\",\"135\",\"322\",\"-1\"],\"origin_host_name\":\"mobile.yangkeduo.com\",\"size\":10,\"offset\":\"#offset#\"}"; json = json.Replace("#offset#", order.order_sn); chromiumWebBrowser.Navigate(Encoding.Default.GetBytes(json), request); } } }
private void button2_Click(object sender, EventArgs e) { if (FilterManager.GetOrderCount() == 0) { MessageBox.Show("没有可查询订单"); } else { MessageBox.Show("总共用了:" + FilterManager.GetOrder().Sum(x => x.orders.Sum(y => y.display_amount)) + "元"); } }
private void button1_Click_1(object sender, EventArgs e) { if (FilterManager.GetOrderCount() == 0) { MessageBox.Show("没有可导出订单"); } else { MessageBox.Show("订单数为:" + FilterManager.GetOrderCount() + "!正在执行Excel导出"); MessageBox.Show("总共用了:" + FilterManager.GetOrder().Sum(x => x.orders.Sum(y => y.display_amount)) + "元"); Thread.Sleep(2000); var dataList = FilterManager.GetOrder(); List <OrderItem> list = new List <OrderItem>(); foreach (var orderList in dataList) { foreach (var order in orderList.orders) { list.Add(order); } } ExportDataToExcel(ListToDt(list), DateTime.Now.ToString("yyyymmddHHmmss") + "pddorder"); } }
protected override IResponseFilter GetResourceResponseFilter(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request, IResponse response) { var filter = FilterManager.CreateFilter(request.Identifier.ToString()); return(filter); }