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 @@
                 <uc:ItemControl></uc:ItemControl>
             </hc:TabItem>
             <hc:TabItem Header="浏览器">
-                <uc:BrowerControl x:Name="brower"></uc:BrowerControl>
+                <uc:BrowerTabPanelControl x:Name="brower"></uc:BrowerTabPanelControl>
             </hc:TabItem>
         </hc:TabControl>
     </Border>
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">
-    <UserControl.Resources>
-        <Style TargetType="RadioButton">
-            <Setter Property="Cursor" Value="Hand"></Setter>
-            <Setter Property="Template">
-                <Setter.Value>
-                    <ControlTemplate TargetType="RadioButton">
-                        <Border Padding="15 5" x:Name="border" BorderBrush="#8080FF" Background="Transparent">
-                            <TextBlock Text="{TemplateBinding Content}" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
-                        </Border>
-                        <ControlTemplate.Triggers>
-                            <Trigger Property="IsChecked" Value="True">
-                                <Setter TargetName="border" Property="BorderThickness" Value="0 0 0 2"></Setter>
-                            </Trigger>
-                        </ControlTemplate.Triggers>
-                    </ControlTemplate>
-                </Setter.Value>
-            </Setter>
-        </Style>
-    </UserControl.Resources>
     <DockPanel>
-        <StackPanel Orientation="Horizontal" DockPanel.Dock="Top" Margin="0 10 0 10">
-            <RadioButton Content="淘宝" IsChecked="True" x:Name="tbRb" Click="tbRb_Click" GroupName="rbtab"></RadioButton>
-            <RadioButton  Content="京东" x:Name="jdRb" Click="jdRb_Click" GroupName="rbtab"></RadioButton>
-            <RadioButton  Content="阿里巴巴" x:Name="albbRb" Click="albbRb_Click" GroupName="rbtab"></RadioButton>
-        </StackPanel>
-        <Grid x:Name="grid" DockPanel.Dock="Bottom">
-
+        <TextBox x:Name="txtUrl" DockPanel.Dock="Top" Keyboard.KeyUp="txtUrl_KeyUp"></TextBox>
+        <Grid  x:Name="grid" DockPanel.Dock="Bottom" Margin="0 10 0 0">
+            
         </Grid>
     </DockPanel>
 </UserControl>
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
     /// </summary>
     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('<div style=""width:20%;height:20%"" class=""stateYellow"">竞</div>')");
                         }
@@ -372,7 +395,7 @@ namespace 齐越慧眼.UserControls
                     if (item.IsCompeting)
                     {
                         //<div style=""width:20%;height:20%"" class=""bgYellow"">竞</div>
-                        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('<div style=""width:20%;height:20%"" class=""stateYellow"">竞</div>')");
                         }
@@ -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('<div style=""width:20%;height:20%"" class=""stateYellow"">竞</div>')");
+                        Brower.DoJavaScript($@"$($('div#mainsrp-itemlist .items .item').find('a[data-nid=""{itemId}""]').parent().parent()).find('.myitemState').prepend('<div style=""width:20%;height:20%"" class=""stateYellow"">竞</div>')");
                     }
                 }
 
                 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('<div style=""width:20%;height:20%"" class=""stateYellow"">竞</div>')");
+                        Brower.DoJavaScript($@"$($('div#J_goodsList li[data-sku=""{itemId}""]')).find('.myitemState').prepend('<div style=""width:20%;height:20%"" class=""stateYellow"">竞</div>')");
                     }
                 }
 
                 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('<div style=""width:20%;height:20%"" class=""stateYellow"">合</div>')");
+                        Brower.DoJavaScript($@"$($('ul#sm-offer-list div[data-shopId=""{shopId}""]')).find('.myitemState').prepend('<div style=""width:20%;height:20%"" class=""stateYellow"">合</div>')");
                     }
                 }
 
@@ -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 @@
+<UserControl x:Class="齐越慧眼.UserControls.BrowerTabPanelControl"
+             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
+             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
+        xmlns:hc="https://handyorg.github.io/handycontrol"
+             xmlns:local="clr-namespace:齐越慧眼.UserControls"
+             mc:Ignorable="d" 
+             d:DesignHeight="450" d:DesignWidth="800">
+
+    <UserControl.Resources>
+        <Style TargetType="RadioButton">
+            <Setter Property="Cursor" Value="Hand"></Setter>
+            <Setter Property="Template">
+                <Setter.Value>
+                    <ControlTemplate TargetType="RadioButton">
+                        <Border Padding="15 5" x:Name="border" BorderBrush="#8080FF" Background="Transparent">
+                            <TextBlock Text="{TemplateBinding Content}" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock>
+                        </Border>
+                        <ControlTemplate.Triggers>
+                            <Trigger Property="IsChecked" Value="True">
+                                <Setter TargetName="border" Property="BorderThickness" Value="0 0 0 2"></Setter>
+                            </Trigger>
+                        </ControlTemplate.Triggers>
+                    </ControlTemplate>
+                </Setter.Value>
+            </Setter>
+        </Style>
+    </UserControl.Resources>
+    <DockPanel>
+
+        <StackPanel Orientation="Horizontal" DockPanel.Dock="Top" Margin="0 10 0 10">
+            <RadioButton Content="淘宝" IsChecked="True" x:Name="tbRb" Click="tbRb_Click" GroupName="rbtab"></RadioButton>
+            <RadioButton  Content="京东" x:Name="jdRb" Click="jdRb_Click" GroupName="rbtab"></RadioButton>
+            <RadioButton  Content="阿里巴巴" x:Name="albbRb" Click="albbRb_Click" GroupName="rbtab"></RadioButton>
+        </StackPanel>
+
+        <hc:TabControl IsAnimationEnabled="True" IsTabFillEnabled="False" Name="tab" ShowCloseButton="True" DockPanel.Dock="Bottom">
+            
+        </hc:TabControl>
+    </DockPanel>
+</UserControl>
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
+{
+    /// <summary>
+    /// BrowerTabPanelControl.xaml 的交互逻辑
+    /// </summary>
+    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);