From 12821a166606090424ef4a9b28b8ccbf71cf68d6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=D0=A1=C2=B7=C3=A6?= <279202647@qq.com>
Date: Wed, 3 Nov 2021 10:31:28 +0800
Subject: [PATCH 1/2] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=9C=B0=E5=9D=80?=
=?UTF-8?q?=E6=A0=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../齐越慧眼/齐越慧眼/ApiHelper.cs | 4 +-
.../齐越慧眼/齐越慧眼/MainWindow.xaml | 2 +-
.../齐越慧眼/MainWindow.xaml.cs | 6 +-
.../UserControls/BrowerControl.xaml | 29 +----
.../UserControls/BrowerControl.xaml.cs | 107 ++++++++++--------
.../UserControls/BrowerTabPanelControl.xaml | 42 +++++++
.../BrowerTabPanelControl.xaml.cs | 58 ++++++++++
.../cefhelper/CefRequestHandler.cs | 15 ++-
8 files changed, 182 insertions(+), 81 deletions(-)
create mode 100644 客户端/齐越慧眼/齐越慧眼/UserControls/BrowerTabPanelControl.xaml
create mode 100644 客户端/齐越慧眼/齐越慧眼/UserControls/BrowerTabPanelControl.xaml.cs
diff --git a/客户端/齐越慧眼/齐越慧眼/ApiHelper.cs b/客户端/齐越慧眼/齐越慧眼/ApiHelper.cs
index 34237e5..fbabec6 100644
--- a/客户端/齐越慧眼/齐越慧眼/ApiHelper.cs
+++ b/客户端/齐越慧眼/齐越慧眼/ApiHelper.cs
@@ -10,8 +10,8 @@ namespace 齐越慧眼
{
public class ApiHelper
{
- public static string ApiBase { get; set; } = "http://localhost:5000";
- //public static string ApiBase { get; set; } = "http://hyapi.qiyue666.com";
+ //public static string ApiBase { get; set; } = "http://localhost:5000";
+ public static string ApiBase { get; set; } = "http://hyapi.qiyue666.com";
public static string JwtToken { get; set; }
diff --git a/客户端/齐越慧眼/齐越慧眼/MainWindow.xaml b/客户端/齐越慧眼/齐越慧眼/MainWindow.xaml
index 22d0c63..5594137 100644
--- a/客户端/齐越慧眼/齐越慧眼/MainWindow.xaml
+++ b/客户端/齐越慧眼/齐越慧眼/MainWindow.xaml
@@ -22,7 +22,7 @@
-
+
diff --git a/客户端/齐越慧眼/齐越慧眼/MainWindow.xaml.cs b/客户端/齐越慧眼/齐越慧眼/MainWindow.xaml.cs
index c35a82b..c8786b4 100644
--- a/客户端/齐越慧眼/齐越慧眼/MainWindow.xaml.cs
+++ b/客户端/齐越慧眼/齐越慧眼/MainWindow.xaml.cs
@@ -49,16 +49,16 @@ namespace 齐越慧眼
tab.SelectedIndex = 2;
switch (type) {
case 0:
- brower.web.Load($"https://s.taobao.com/search?q={keyWord}&imgfile=&commend=all&ssid=s5-e&search_type=item&sourceId=tb.index");
+ brower.NewTab($"https://s.taobao.com/search?q={keyWord}&imgfile=&commend=all&ssid=s5-e&search_type=item&sourceId=tb.index");
brower.tbRb.IsChecked = true;
break;
case 1:
- brower.web.Load($"https://search.jd.com/Search?keyword={keyWord}&enc=utf-8");
+ brower.NewTab($"https://search.jd.com/Search?keyword={keyWord}&enc=utf-8");
brower.jdRb.IsChecked = true;
break;
case 2:
keyWord = System.Web.HttpUtility.UrlEncode(keyWord, Encoding.GetEncoding("gb2312"));
- brower.web.Load($"https://s.1688.com/selloffer/offer_search.htm?keywords={keyWord}");
+ brower.NewTab($"https://s.1688.com/selloffer/offer_search.htm?keywords={keyWord}");
brower.albbRb.IsChecked = true;
break;
}
diff --git a/客户端/齐越慧眼/齐越慧眼/UserControls/BrowerControl.xaml b/客户端/齐越慧眼/齐越慧眼/UserControls/BrowerControl.xaml
index 2a5e602..10aa3db 100644
--- a/客户端/齐越慧眼/齐越慧眼/UserControls/BrowerControl.xaml
+++ b/客户端/齐越慧眼/齐越慧眼/UserControls/BrowerControl.xaml
@@ -6,33 +6,10 @@
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 2ae0cdf..83e2a67 100644
--- a/客户端/齐越慧眼/齐越慧眼/UserControls/BrowerControl.xaml.cs
+++ b/客户端/齐越慧眼/齐越慧眼/UserControls/BrowerControl.xaml.cs
@@ -17,13 +17,13 @@ namespace 齐越慧眼.UserControls
///
public partial class BrowerControl : UserControl
{
-
- public static BrowerControl Main = null;
+ public HandyControl.Controls.TabItem Tab { get; set; }
public ExtChromiumBrowser web;
- public BrowerControl()
+ public BrowerControl(string url, HandyControl.Controls.TabItem tabItem)
{
InitializeComponent();
- web = new ExtChromiumBrowser("https://www.taobao.com")
+ Tab = tabItem;
+ web = new ExtChromiumBrowser(url)
{
BrowserSettings =
{
@@ -38,7 +38,7 @@ namespace 齐越慧眼.UserControls
//RequestHandler =new MyRequestHandler()
};
- MyResourceRequestHandlerFactory myResourceRequestHandlerFactory = new MyResourceRequestHandlerFactory();
+ MyResourceRequestHandlerFactory myResourceRequestHandlerFactory = new MyResourceRequestHandlerFactory(this);
myResourceRequestHandlerFactory.Handlers.TryAdd("test",null);
web.ResourceRequestHandlerFactory = myResourceRequestHandlerFactory;
@@ -46,12 +46,34 @@ namespace 齐越慧眼.UserControls
grid.Children.Add(web);
Loaded += BrowerControl_Loaded;
- web.JavascriptObjectRepository.Settings.LegacyBindingEnabled = true;
-
- web.JavascriptObjectRepository.Register("hyCoreModel", new CefAsyncJS(), BindingOptions.DefaultBinder);
- Main = this;
+ web.JavascriptObjectRepository.Settings.LegacyBindingEnabled = true;
+ var cjs = new CefAsyncJS();
+ cjs.Brower = this;
+ web.JavascriptObjectRepository.Register("hyCoreModel", cjs, BindingOptions.DefaultBinder);
web.StartNewWindow += Web_StartNewWindow;
+ web.TitleChanged += Web_TitleChanged;
+ web.AddressChanged += Web_AddressChanged;
+ }
+
+ private void Web_AddressChanged(object sender, DependencyPropertyChangedEventArgs e)
+ {
+ Application.Current.Dispatcher.Invoke(()=> {
+ txtUrl.Text = e.NewValue.ToString();
+ });
+ }
+
+ public void Exit()
+ {
+ web.Dispose();
+ }
+
+ private void Web_TitleChanged(object sender, DependencyPropertyChangedEventArgs e)
+ {
+ Application.Current.Dispatcher.Invoke(() =>
+ {
+ Tab.Header = e.NewValue;
+ });
}
int nowPatlom = 0;
@@ -87,7 +109,8 @@ namespace 齐越慧眼.UserControls
private void Web_StartNewWindow(object sender, NewWindowEventArgs e)
{
- web.Load(e.Url);
+ MainWindow.Main.brower.NewTab(e.Url);
+ //web.Load(e.Url);
}
private void BrowerControl_Loaded(object sender, RoutedEventArgs e)
@@ -269,7 +292,7 @@ namespace 齐越慧眼.UserControls
if (item.IsCompeting)
{
- if ((int)BrowerControl.Main.DoJavaScript(@$"return $($('div#mainsrp-itemlist .items .item').find('a[data-nid=""{item.GoodsId}""]').parent().parent()).find('.stateYellow').length").result <= 0)
+ if ((int)DoJavaScript(@$"return $($('div#mainsrp-itemlist .items .item').find('a[data-nid=""{item.GoodsId}""]').parent().parent()).find('.stateYellow').length").result <= 0)
{
DoJavaScript($@"$($('div#mainsrp-itemlist .items .item').find('a[data-nid=""{item.GoodsId}""]').parent().parent()).find('.myitemState').prepend('
竞
')");
}
@@ -372,7 +395,7 @@ namespace 齐越慧眼.UserControls
if (item.IsCompeting)
{
//竞
- if ((int)BrowerControl.Main.DoJavaScript(@$"return $($('div#J_goodsList li[data-sku=""{item.GoodsId}""]')).find('.stateYellow').length").result <= 0)
+ if ((int)DoJavaScript(@$"return $($('div#J_goodsList li[data-sku=""{item.GoodsId}""]')).find('.stateYellow').length").result <= 0)
{
DoJavaScript($@"$($('div#J_goodsList li[data-sku=""{item.GoodsId}""]')).find('.myitemState').prepend('竞
')");
}
@@ -762,33 +785,23 @@ namespace 齐越慧眼.UserControls
return (result.Success,result.Result);
}
- private void tbRb_Click(object sender, RoutedEventArgs e)
- {
- web.Load("https://www.taobao.com/");
- }
-
- private void jdRb_Click(object sender, RoutedEventArgs e)
+ private void txtUrl_KeyUp(object sender, System.Windows.Input.KeyEventArgs e)
{
- web.Load("https://www.jd.com/");
- }
-
- private void albbRb_Click(object sender, RoutedEventArgs e)
- {
- web.Load("https://www.1688.com/?spm=a26352.13672862.searchbox.1.27bf6ae2slybzR");
+ if (e.Key == System.Windows.Input.Key.Enter)
+ {
+ web.Load(txtUrl.Text);
+ }
}
}
public class CefAsyncJS
{
+ public BrowerControl Brower { get; set; }
- public string getTest()
- {
- return "";
- }
public void onAjaxHook(string url)
{
- MainWindow.Main.brower.OnUrlEnd(url);
+ Brower.OnUrlEnd(url);
}
public bool settaobaoItemData(dynamic data)
@@ -824,29 +837,29 @@ namespace 齐越慧眼.UserControls
//判断是否团队过滤
if (type == 1)
{
- BrowerControl.Main.DoJavaScript($@"$($('div#mainsrp-itemlist .items .item').find('a[data-nid=""{itemId}""]').parent().parent()).find('.myitemState').addClass(""falseBg"")");
+ Brower.DoJavaScript($@"$($('div#mainsrp-itemlist .items .item').find('a[data-nid=""{itemId}""]').parent().parent()).find('.myitemState').addClass(""falseBg"")");
}
if (type == 3)
{
- int row = (int)BrowerControl.Main.DoJavaScript(@$"return $($('div#mainsrp-itemlist .items .item').find('a[data-nid=""{itemId}""]').parent().parent()).find('.myitemState').find('.stateYellow').length").result;
+ int row = (int)Brower.DoJavaScript(@$"return $($('div#mainsrp-itemlist .items .item').find('a[data-nid=""{itemId}""]').parent().parent()).find('.myitemState').find('.stateYellow').length").result;
if (row < 1)
{
- BrowerControl.Main.DoJavaScript($@"$($('div#mainsrp-itemlist .items .item').find('a[data-nid=""{itemId}""]').parent().parent()).find('.myitemState').prepend('竞
')");
+ Brower.DoJavaScript($@"$($('div#mainsrp-itemlist .items .item').find('a[data-nid=""{itemId}""]').parent().parent()).find('.myitemState').prepend('竞
')");
}
}
if (type == 0)
{
- BrowerControl.Main.DoJavaScript($@"$($('div#mainsrp-itemlist .items .item').find('a[data-nid=""{itemId}""]').parent().parent()).find('.myitemState').addClass(""trueBg"")");
+ Brower.DoJavaScript($@"$($('div#mainsrp-itemlist .items .item').find('a[data-nid=""{itemId}""]').parent().parent()).find('.myitemState').addClass(""trueBg"")");
}
if (type == 2)
{
- BrowerControl.Main.DoJavaScript($@"$($('div#mainsrp-itemlist .items .item').find('a[data-nid=""{itemId}""]').parent().parent()).find('.myitemState').addClass(""popBg"")");
+ Brower.DoJavaScript($@"$($('div#mainsrp-itemlist .items .item').find('a[data-nid=""{itemId}""]').parent().parent()).find('.myitemState').addClass(""popBg"")");
}
- BrowerControl.Main.DoJavaScript($@"$($('div#mainsrp-itemlist .items .item').find('a[data-nid=""{itemId}""]').parent().parent()).find('.stateGraydiv').addClass(""divshow"")");
+ Brower.DoJavaScript($@"$($('div#mainsrp-itemlist .items .item').find('a[data-nid=""{itemId}""]').parent().parent()).find('.stateGraydiv').addClass(""divshow"")");
}
@@ -890,29 +903,29 @@ namespace 齐越慧眼.UserControls
//判断是否团队过滤
if (type == 1)
{
- BrowerControl.Main.DoJavaScript($@"$($('div#J_goodsList li[data-sku=""{itemId}""]')).find('.myitemState').addClass(""falseBg"")");
+ Brower.DoJavaScript($@"$($('div#J_goodsList li[data-sku=""{itemId}""]')).find('.myitemState').addClass(""falseBg"")");
}
if (type == 3)
{
- int row = (int)BrowerControl.Main.DoJavaScript(@$"return $($('div#J_goodsList li[data-sku=""{itemId}""]')).find('.myitemState').find('.stateYellow').length").result;
+ int row = (int)Brower.DoJavaScript(@$"return $($('div#J_goodsList li[data-sku=""{itemId}""]')).find('.myitemState').find('.stateYellow').length").result;
if (row < 1)
{
- BrowerControl.Main.DoJavaScript($@"$($('div#J_goodsList li[data-sku=""{itemId}""]')).find('.myitemState').prepend('竞
')");
+ Brower.DoJavaScript($@"$($('div#J_goodsList li[data-sku=""{itemId}""]')).find('.myitemState').prepend('竞
')");
}
}
if (type == 0)
{
- BrowerControl.Main.DoJavaScript($@"$($('div#J_goodsList li[data-sku=""{itemId}""]')).find('.myitemState').addClass(""trueBg"")");
+ Brower.DoJavaScript($@"$($('div#J_goodsList li[data-sku=""{itemId}""]')).find('.myitemState').addClass(""trueBg"")");
}
if (type == 2)
{
- BrowerControl.Main.DoJavaScript($@"$($('div#J_goodsList li[data-sku=""{itemId}""]')).find('.myitemState').addClass(""popBg"")");
+ Brower.DoJavaScript($@"$($('div#J_goodsList li[data-sku=""{itemId}""]')).find('.myitemState').addClass(""popBg"")");
}
- BrowerControl.Main.DoJavaScript($@"$($('div#J_goodsList li[data-sku=""{itemId}""]')).find('.stateGraydiv').addClass(""divshow"")");
+ Brower.DoJavaScript($@"$($('div#J_goodsList li[data-sku=""{itemId}""]')).find('.stateGraydiv').addClass(""divshow"")");
}
@@ -948,10 +961,10 @@ namespace 齐越慧眼.UserControls
if (result.isOk)
{
- int row = (int)BrowerControl.Main.DoJavaScript(@$"return $($('ul#sm-offer-list div[data-shopId=""{shopId}""]')).find('.myitemState').find('.stateYellow').length").result;
+ int row = (int)Brower.DoJavaScript(@$"return $($('ul#sm-offer-list div[data-shopId=""{shopId}""]')).find('.myitemState').find('.stateYellow').length").result;
if (row < 1)
{
- BrowerControl.Main.DoJavaScript($@"$($('ul#sm-offer-list div[data-shopId=""{shopId}""]')).find('.myitemState').prepend('合
')");
+ Brower.DoJavaScript($@"$($('ul#sm-offer-list div[data-shopId=""{shopId}""]')).find('.myitemState').prepend('合
')");
}
}
@@ -977,20 +990,20 @@ namespace 齐越慧眼.UserControls
//判断是否团队过滤
if (type == 1)
{
- BrowerControl.Main.DoJavaScript($@"$($('ul#sm-offer-list div[data-sku=""{itemId}""]')).find('.myitemState').addClass(""falseBg"")");
+ Brower.DoJavaScript($@"$($('ul#sm-offer-list div[data-sku=""{itemId}""]')).find('.myitemState').addClass(""falseBg"")");
}
if (type == 0)
{
- BrowerControl.Main.DoJavaScript($@"$($('ul#sm-offer-list div[data-sku=""{itemId}""]')).find('.myitemState').addClass(""trueBg"")");
+ Brower.DoJavaScript($@"$($('ul#sm-offer-list div[data-sku=""{itemId}""]')).find('.myitemState').addClass(""trueBg"")");
}
if (type == 2)
{
- BrowerControl.Main.DoJavaScript($@"$($('ul#sm-offer-list div[data-sku=""{itemId}""]')).find('.myitemState').addClass(""popBg"")");
+ Brower.DoJavaScript($@"$($('ul#sm-offer-list div[data-sku=""{itemId}""]')).find('.myitemState').addClass(""popBg"")");
}
- BrowerControl.Main.DoJavaScript($@"$($('ul#sm-offer-list div[data-sku=""{itemId}""]')).find('.stateGraydiv').addClass(""divshow"")");
+ Brower.DoJavaScript($@"$($('ul#sm-offer-list div[data-sku=""{itemId}""]')).find('.stateGraydiv').addClass(""divshow"")");
}
WpfNoticeMsg.NoticeMessage.Show(result.msg, "提示");
return result.isOk;
diff --git a/客户端/齐越慧眼/齐越慧眼/UserControls/BrowerTabPanelControl.xaml b/客户端/齐越慧眼/齐越慧眼/UserControls/BrowerTabPanelControl.xaml
new file mode 100644
index 0000000..ed179a4
--- /dev/null
+++ b/客户端/齐越慧眼/齐越慧眼/UserControls/BrowerTabPanelControl.xaml
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/客户端/齐越慧眼/齐越慧眼/UserControls/BrowerTabPanelControl.xaml.cs b/客户端/齐越慧眼/齐越慧眼/UserControls/BrowerTabPanelControl.xaml.cs
new file mode 100644
index 0000000..2e26811
--- /dev/null
+++ b/客户端/齐越慧眼/齐越慧眼/UserControls/BrowerTabPanelControl.xaml.cs
@@ -0,0 +1,58 @@
+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
+{
+ ///
+ /// BrowerTabPanelControl.xaml 的交互逻辑
+ ///
+ public partial class BrowerTabPanelControl : UserControl
+ {
+ public BrowerTabPanelControl()
+ {
+ InitializeComponent();
+ }
+
+ public void NewTab(string url)
+ {
+ var item = new HandyControl.Controls.TabItem() { IsSelected = true };
+ item.Closed += (e, s) => {
+ var obj = e as HandyControl.Controls.TabItem;
+ var brower= obj.Content as BrowerControl;
+ brower.Exit();
+
+ };
+ BrowerControl browerControl = new BrowerControl(url,item);
+ item.Content = browerControl;
+ tab.Items.Add(item);
+ }
+
+ private void tbRb_Click(object sender, RoutedEventArgs e)
+ {
+ NewTab("https://www.taobao.com/");
+ //web.Load("https://www.taobao.com/");
+ }
+
+ private void jdRb_Click(object sender, RoutedEventArgs e)
+ {
+ NewTab("https://www.jd.com/");
+ //web.Load("https://www.jd.com/");
+ }
+
+ private void albbRb_Click(object sender, RoutedEventArgs e)
+ {
+ NewTab("https://www.1688.com/?spm=a26352.13672862.searchbox.1.27bf6ae2slybzR");
+ //web.Load("https://www.1688.com/?spm=a26352.13672862.searchbox.1.27bf6ae2slybzR");
+ }
+ }
+}
diff --git a/客户端/齐越慧眼/齐越慧眼/cefhelper/CefRequestHandler.cs b/客户端/齐越慧眼/齐越慧眼/cefhelper/CefRequestHandler.cs
index 7a21522..58c81a1 100644
--- a/客户端/齐越慧眼/齐越慧眼/cefhelper/CefRequestHandler.cs
+++ b/客户端/齐越慧眼/齐越慧眼/cefhelper/CefRequestHandler.cs
@@ -37,17 +37,28 @@ namespace 齐越慧眼.cefhelper
public class MyResourceRequestHandlerFactory : ResourceRequestHandlerFactory
{
+ public MyResourceRequestHandlerFactory(BrowerControl brower)
+ {
+ Brower = brower;
+ }
+ public BrowerControl Brower;
+
protected override IResourceRequestHandler GetResourceRequestHandler(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request, bool isNavigation, bool isDownload, string requestInitiator, ref bool disableDefaultHandling)
{
- return new MyResourceRequestHandler();
+ return new MyResourceRequestHandler(Brower);
}
}
public class MyResourceRequestHandler : ResourceRequestHandler
{
+ public MyResourceRequestHandler(BrowerControl brower)
+ {
+ Brower = brower;
+ }
+ public BrowerControl Brower;
protected override bool OnResourceResponse(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request, IResponse response)
{
- MainWindow.Main.brower.OnUrlEnd(request.Url);
+ Brower.OnUrlEnd(request.Url);
return base.OnResourceResponse(chromiumWebBrowser, browser, frame, request, response);
}
}
From 40532815a63b4145accf5a36ee037b90456fc5e0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=D0=A1=C2=B7=C3=A6?= <279202647@qq.com>
Date: Wed, 3 Nov 2021 16:39:59 +0800
Subject: [PATCH 2/2] =?UTF-8?q?=E5=A2=9E=E5=8A=A0memberid?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../齐越慧眼/UserControls/BrowerControl.xaml.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/客户端/齐越慧眼/齐越慧眼/UserControls/BrowerControl.xaml.cs b/客户端/齐越慧眼/齐越慧眼/UserControls/BrowerControl.xaml.cs
index 83e2a67..749290e 100644
--- a/客户端/齐越慧眼/齐越慧眼/UserControls/BrowerControl.xaml.cs
+++ b/客户端/齐越慧眼/齐越慧眼/UserControls/BrowerControl.xaml.cs
@@ -487,7 +487,7 @@ namespace 齐越慧眼.UserControls
reports.ForEach(c =>
{
string objid = Regex.Match(c, "object_id\\@(.*?)\\^").Groups[1].Value;
- string shopId= Regex.Match(c, "object_id\\@(.*?)\\^").Groups[1].Value;
+ string shopId= Regex.Match(c, "object_member_id\\@(.*?)\\^").Groups[1].Value;
DoJavaScript(@$"$(""ul#sm-offer-list"").find('div[data-aplus-report=""{c}""]').attr(""data-sku"",""{objid}"")");
DoJavaScript(@$"$(""ul#sm-offer-list"").find('div[data-aplus-report=""{c}""]').attr(""data-shopId"",""{shopId}"")");
itemIds.Add(objid);