diff --git a/src/Coldairarrow.Business/HuiYan/teamitemsBusiness.cs b/src/Coldairarrow.Business/HuiYan/teamitemsBusiness.cs index 5244289..6c1ccee 100644 --- a/src/Coldairarrow.Business/HuiYan/teamitemsBusiness.cs +++ b/src/Coldairarrow.Business/HuiYan/teamitemsBusiness.cs @@ -9,6 +9,7 @@ using System.Collections.Generic; using System.Linq; using System.Linq.Dynamic.Core; using System.Linq.Expressions; +using System.Text.RegularExpressions; using System.Threading.Tasks; namespace Coldairarrow.Business.HuiYan @@ -152,11 +153,17 @@ namespace Coldairarrow.Business.HuiYan public AjaxResult SetItem(TeamitemDto model) { + if (model.RivalGoodsId.Contains(".")) + { + model.RivalGoodsId = Regex.Match(model.RivalGoodsId+"&", "id=(.*?)&").Groups[1].Value; + } + int row= Db.Update(c=>c.Id==model.Id,(item)=> { item.ExtensionJson = Newtonsoft.Json.JsonConvert.SerializeObject(model.Extensions); item.RivalGoodsId = model.RivalGoodsId; item.RivalPLCount = model.RivalPLCount; item.RivalPrice = model.RivalPrice; + item.RivalTitle = model.RivalTitle; }); if (row > 0) diff --git a/客户端/齐越慧眼/齐越慧眼/MainWindow.xaml b/客户端/齐越慧眼/齐越慧眼/MainWindow.xaml index 4649d57..4fed154 100644 --- a/客户端/齐越慧眼/齐越慧眼/MainWindow.xaml +++ b/客户端/齐越慧眼/齐越慧眼/MainWindow.xaml @@ -18,10 +18,10 @@ - + - + diff --git a/客户端/齐越慧眼/齐越慧眼/UserControls/BrowerControl.xaml b/客户端/齐越慧眼/齐越慧眼/UserControls/BrowerControl.xaml new file mode 100644 index 0000000..f118b63 --- /dev/null +++ b/客户端/齐越慧眼/齐越慧眼/UserControls/BrowerControl.xaml @@ -0,0 +1,12 @@ + + + + + diff --git a/客户端/齐越慧眼/齐越慧眼/UserControls/BrowerControl.xaml.cs b/客户端/齐越慧眼/齐越慧眼/UserControls/BrowerControl.xaml.cs new file mode 100644 index 0000000..01c7966 --- /dev/null +++ b/客户端/齐越慧眼/齐越慧眼/UserControls/BrowerControl.xaml.cs @@ -0,0 +1,205 @@ +using CefSharp; +using CefSharp.Wpf; +using System; +using System.Collections.Generic; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace 齐越慧眼.UserControls +{ + /// + /// BrowerControl.xaml 的交互逻辑 + /// + public partial class BrowerControl : UserControl + { + ChromiumWebBrowser web; + public BrowerControl() + { + InitializeComponent(); + + web = new ChromiumWebBrowser("https://www.taobao.com") + { + BrowserSettings = + { + DefaultEncoding = "UTF-8", + Plugins= CefState.Enabled, + //关于跨域限制 + WebSecurity = CefState.Disabled, + ApplicationCache=CefState.Enabled, + LocalStorage= CefState.Enabled + + }, + }; + + grid.Children.Add(web); + Loaded += BrowerControl_Loaded; + } + + + private void BrowerControl_Loaded(object sender, RoutedEventArgs e) + { + web.WebBrowser.LoadingStateChanged += WebBrowser_LoadingStateChanged; + } + + private string lastUrl = string.Empty; + + private void WebBrowser_LoadingStateChanged(object sender, LoadingStateChangedEventArgs e) + { + if (lastUrl != e.Browser.MainFrame.Url) + { + lastUrl = e.Browser.MainFrame.Url; + //开始单页查询 + if (lastUrl.StartsWith("https://s.taobao.com/search")) + { + web.ShowDevTools(); + StartPage(); + } + + } + } + + private void StartPage() + { + Thread t = new Thread(() => + { + AddJquery(); + + while (true) + { + + + Task task = null; + + Application.Current.Dispatcher.Invoke(() => + { + task = web.EvaluateScriptAsPromiseAsync("return $($('div#mainsrp-itemlist .items .item')[0]).html();"); + }); + + var result = task.Result; + + //判断是否加载完成 + if (result.Success) + { + AddOptionDiv(); + break; + } + + + + } + + }); + + t.Start(); + } + + + /// + /// 添加jq操作类 + /// + /// + private bool AddJquery() + { + return DoJavaScript("var script=document.createElement('script'); script.type='text/javascript'; script.src='https://code.jquery.com/jquery-1.12.4.min.js'; document.getElementsByTagName('head')[0].appendChild(script); "); + + } + + /// + /// 添加操作面板 + /// + /// + private bool AddOptionDiv() + { + + DoJavaScript("$('div#mainsrp-itemlist .items .item .pic').before('
我擦
')"); + + + ///添加css + return DoJavaScript(@"$('head').append('')".Replace("\n","").Replace("\r\n","")); + } + + + + /// + /// 执行js + /// + /// + /// + private bool DoJavaScript(string js) + { + js = js.Replace("\n", "").Replace("\r\n", "").Replace(System.Environment.NewLine,"").Replace("\r",""); + Task task = null; + + Application.Current.Dispatcher.Invoke(() => + { + task = web.EvaluateScriptAsPromiseAsync(js); + }); + + var result = task.Result; + + //判断是否加载完成 + return result.Success; + } + } +} diff --git a/客户端/齐越慧眼/齐越慧眼/UserControls/CatControl.xaml b/客户端/齐越慧眼/齐越慧眼/UserControls/CatControl.xaml index 894088b..0ba2d53 100644 --- a/客户端/齐越慧眼/齐越慧眼/UserControls/CatControl.xaml +++ b/客户端/齐越慧眼/齐越慧眼/UserControls/CatControl.xaml @@ -8,6 +8,5 @@ mc:Ignorable="d" d:DesignHeight="450" d:DesignWidth="800"> - diff --git a/客户端/齐越慧眼/齐越慧眼/UserControls/ItemControl.xaml b/客户端/齐越慧眼/齐越慧眼/UserControls/ItemControl.xaml new file mode 100644 index 0000000..8db0044 --- /dev/null +++ b/客户端/齐越慧眼/齐越慧眼/UserControls/ItemControl.xaml @@ -0,0 +1,12 @@ + + + + + diff --git a/客户端/齐越慧眼/齐越慧眼/UserControls/ItemControl.xaml.cs b/客户端/齐越慧眼/齐越慧眼/UserControls/ItemControl.xaml.cs new file mode 100644 index 0000000..5bb54f9 --- /dev/null +++ b/客户端/齐越慧眼/齐越慧眼/UserControls/ItemControl.xaml.cs @@ -0,0 +1,47 @@ +using CefSharp; +using CefSharp.Wpf; +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace 齐越慧眼.UserControls +{ + /// + /// ItemControl.xaml 的交互逻辑 + /// + public partial class ItemControl : UserControl + { + public ItemControl() + { + InitializeComponent(); + Loaded += ItemControl_Loaded; + } + + ChromiumWebBrowser web; + private void ItemControl_Loaded(object sender, RoutedEventArgs e) + { + web = new ChromiumWebBrowser("nacollector://home/item") + { + BrowserSettings = + { + DefaultEncoding = "UTF-8", + Plugins= CefState.Enabled, + //关于跨域限制 + WebSecurity = CefState.Disabled + + }, + }; + + grid.Children.Add(web); + } + } +} diff --git a/客户端/齐越慧眼/齐越慧眼/cefhelper/SchemeHandler.cs b/客户端/齐越慧眼/齐越慧眼/cefhelper/SchemeHandler.cs index bca7c09..af34755 100644 --- a/客户端/齐越慧眼/齐越慧眼/cefhelper/SchemeHandler.cs +++ b/客户端/齐越慧眼/齐越慧眼/cefhelper/SchemeHandler.cs @@ -15,10 +15,10 @@ namespace 齐越慧眼.cefhelper var names = this.GetType().Assembly.GetManifestResourceNames(); Uri u = new Uri(request.Url); - String file = "vuepage/client/dist" + u.AbsolutePath; // 注:目录名需全为小写字母,否则将无法得到 Resource + String file = "vuepage/dist" + u.AbsolutePath; // 注:目录名需全为小写字母,否则将无法得到 Resource if (!u.AbsolutePath.Contains(".")) { - file = "vuepage/client/dist/index.html"; + file = "vuepage/dist/index.html"; } Assembly ass = Assembly.GetExecutingAssembly(); String resourcePath = ass.GetName().Name + "." + file.Replace("/", "."); // 你可以设置断点看看这里的值 diff --git a/客户端/齐越慧眼/齐越慧眼/vuepage/client/public/jp.png b/客户端/齐越慧眼/齐越慧眼/vuepage/client/public/jp.png new file mode 100644 index 0000000..dbe1999 Binary files /dev/null and b/客户端/齐越慧眼/齐越慧眼/vuepage/client/public/jp.png differ diff --git a/客户端/齐越慧眼/齐越慧眼/vuepage/client/src/views/items/Index.vue b/客户端/齐越慧眼/齐越慧眼/vuepage/client/src/views/items/Index.vue index 9d0a1d1..d1d9697 100644 --- a/客户端/齐越慧眼/齐越慧眼/vuepage/client/src/views/items/Index.vue +++ b/客户端/齐越慧眼/齐越慧眼/vuepage/client/src/views/items/Index.vue @@ -1,16 +1,16 @@