diff --git a/客户端/齐越慧眼/齐越慧眼/MemoryHelper.cs b/客户端/齐越慧眼/齐越慧眼/MemoryHelper.cs index f4ce52c..a21f332 100644 --- a/客户端/齐越慧眼/齐越慧眼/MemoryHelper.cs +++ b/客户端/齐越慧眼/齐越慧眼/MemoryHelper.cs @@ -4,12 +4,15 @@ using System.IO; using System.IO.MemoryMappedFiles; using System.IO.Pipes; using System.Text; +using System.Threading; using System.Windows; namespace Utils { public class MemoryHelper { + static int time = 10 * 1000; + /// /// 获取token /// @@ -29,14 +32,25 @@ namespace Utils do { temp = sr.ReadLine(); + time -= 1000; + Thread.Sleep(1000); + if (time <= 0) + return string.Empty; } while (!temp.StartsWith("SYNC")); - - while ((temp = sr.ReadLine()) != null) + time = 5 * 1000; + do { - return temp; + Thread.Sleep(1000); + if (time <= 0) + return string.Empty; } + while ((temp = sr.ReadLine()) == null); + + return temp; + + } } diff --git a/客户端/齐越慧眼/齐越慧眼/Models/SearchItemModel.cs b/客户端/齐越慧眼/齐越慧眼/Models/SearchItemModel.cs new file mode 100644 index 0000000..32a019a --- /dev/null +++ b/客户端/齐越慧眼/齐越慧眼/Models/SearchItemModel.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Markup; + +namespace 齐越慧眼.Models +{ + public class SearchItemModel + { + + public string Price { get; set; } + + public string Sales { get; set; } + + public string Title { get; set; } + + public string Img { get; set; } + + public string ItemId { get; set; } + + public string Html { get; set; } + + } + + public class SearchItemModelExt : SearchItemModel + { + public decimal _Price { get; set; } + + public int _Sales { get; set; } + } +} diff --git a/客户端/齐越慧眼/齐越慧眼/UserControls/BrowerControl.xaml b/客户端/齐越慧眼/齐越慧眼/UserControls/BrowerControl.xaml index 7807590..9cd878c 100644 --- a/客户端/齐越慧眼/齐越慧眼/UserControls/BrowerControl.xaml +++ b/客户端/齐越慧眼/齐越慧眼/UserControls/BrowerControl.xaml @@ -6,13 +6,22 @@ xmlns:local="clr-namespace:齐越慧眼.UserControls" mc:Ignorable="d" d:DesignHeight="450" d:DesignWidth="800"> + + + + + + + + - + + diff --git a/客户端/齐越慧眼/齐越慧眼/UserControls/BrowerControl.xaml.cs b/客户端/齐越慧眼/齐越慧眼/UserControls/BrowerControl.xaml.cs index e997167..5878c59 100644 --- a/客户端/齐越慧眼/齐越慧眼/UserControls/BrowerControl.xaml.cs +++ b/客户端/齐越慧眼/齐越慧眼/UserControls/BrowerControl.xaml.cs @@ -273,6 +273,11 @@ namespace 齐越慧眼.UserControls { if (lastUrl.StartsWith("https://s.taobao.com/search")) { + Application.Current.Dispatcher.Invoke(new Action(() => + { + btn_searchItems.Visibility = Visibility.Visible; + })); + nowPatlom = 0; } if (lastUrl.StartsWith("https://search.jd.com/")) @@ -348,6 +353,13 @@ namespace 齐越慧眼.UserControls { AddTaoBaoOptionDiv(); CheckTaoBaoPageItem(); + + Application.Current.Dispatcher.Invoke(new Action(() => + { + btn_searchItems.Visibility = Visibility.Visible; + })); + + } if (nowPatlom == 1) @@ -1315,6 +1327,11 @@ for(var i=0;i + /// 淘宝查询按钮点击 + /// + public void StartTaoBaoSearch() + { + if (!btn_searchItems.IsEnabled) + return; + + + btn_searchItems.IsEnabled = false; + searchLoding.Visibility=Visibility.Visible; + + Task.Factory.StartNew(() => + { + try + { + List totalItems = new List(); + + for (int i = 1; i <= 5; i++) + { + + //等待页面加载完成 + while (!DoJavaScript("return $(document.body).html();").isOk) + { + Thread.Sleep(100); + } + + + //切换到当前页 + int totalPage = (int)DoJavaScript("return $(\"#mainsrp-pager li[class*=item]\").length").result; + if (totalPage > i) + { + DoJavaScript($"$($(\"#mainsrp-pager li[class*=item]\")[{i}]).find(\"a\")[0].click()"); + Thread.Sleep(500); + } + + + //等待页面加载完成 + while (!DoJavaScript("return $(document.body).html();").isOk) + { + Thread.Sleep(100); + } + + while (DoJavaScript(@"return $(""#mainsrp-pager li[class='item active']"")[0].innerText").result?.ToString() != i.ToString()) + { + Thread.Sleep(100); + } + + //获取当前页面的所有商品信息 + + var res = DoJavaScript(@"var ids=[]; + $('div#mainsrp-itemlist .items .item').each(function(){ + + var ele=this; + var itemid= $(ele).find(""a"").attr(""data-nid""); + var infoDiv=$($(ele).find("".J_IconMoreNew"")); + var price=infoDiv.find("".g_price"").text(); + var sales=infoDiv.find("".deal-cnt"").text(); + var title=infoDiv.find("".title"").text(); + var img=$(ele).find(""img"").attr(""src""); + if(img==""//g.alicdn.com/s.gif""||img==null||img==undefined) + { + img=$(ele).find(""img"").attr(""data-src""); + } + ids.push({itemid:itemid,price:price,sales:sales,title:title,img:img,html:$(this).html()}); + + }); + return ids;"); + + List itemHtmls = Newtonsoft.Json.JsonConvert.DeserializeObject>(Newtonsoft.Json.JsonConvert.SerializeObject(res.result)); + + itemHtmls.ForEach(item => + { + item.Price = Regex.Match(item.Price, @"([1-9]\d*\.?\d*)|(0\.\d*[1-9])").Groups[0].Value.Trim(); + item.Sales = Regex.Match(item.Sales, @"([1-9]\d*\.?\d*)|(0\.\d*[1-9])").Groups[0].Value.Trim(); + item.Title = item.Title.Trim(); + item.Img = item.Img.StartsWith("//") ? $"https:{item.Img}" : item.Img; + }); + + //将当前页面的商品加入 + totalItems.AddRange(itemHtmls); + + Thread.Sleep(2000); + } + } + catch (Exception ex) + { + + } + finally + { + Application.Current.Dispatcher.Invoke(() => { + + btn_searchItems.IsEnabled = true; + searchLoding.Visibility = Visibility.Collapsed; + }); + } + }); + } + + } +}