From bc3e314a0aa59301a69c8e5d382a1b06ca819f4e Mon Sep 17 00:00:00 2001 From: wule Date: Fri, 3 Jul 2026 22:06:26 +0800 Subject: [PATCH] =?UTF-8?q?ai=E6=99=BA=E8=83=BD=E5=AE=A2=E6=9C=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AllBase/AllBase.csproj | 5 +- AllBase/Model/Result/ShopLoginInfo.cs | 20 +- TEMUKJD CEFv138.sln | 12 +- TEMUKJD/BLL/HttpResponseWxAiTalkBLL.cs | 199 +++ TEMUKJD/ChangeForm.cs | 16 +- TEMUKJD/ChangeForm.designer.cs | 40 +- TEMUKJD/KJD.csproj | 16 +- TEMUKJD/KJD.csproj.user | 2 +- TEMUKJD/Properties/Resources.Designer.cs | 10 + TEMUKJD/Properties/Resources.resx | 3 + TEMUKJD/Resources/choice_chat_ai.png | Bin 0 -> 5564 bytes TEMUKJD/UserComponent/DataGridViewEx.cs | 2 +- .../AiTalkForms/WxAiTalkForm.Designer.cs | 1336 ++++++++++++++++ TEMUKJD/WXForms/AiTalkForms/WxAiTalkForm.cs | 1362 +++++++++++++++++ TEMUKJD/WXForms/AiTalkForms/WxAiTalkForm.resx | 361 +++++ .../ShopForms/WXShopListForm.Designer.cs | 60 +- .../ShopForms/WXShopLoginForm.Designer.cs | 57 +- TEMUKJD/WXForms/ShopForms/WXShopLoginForm.cs | 9 +- .../ShopForms/WXSubAccountListForm.resx | 54 +- TEMUKJD/WXForms/TalkForms/WxTalkForm.resx | 54 +- Work/Work.csproj | 11 +- 21 files changed, 3519 insertions(+), 110 deletions(-) create mode 100644 TEMUKJD/BLL/HttpResponseWxAiTalkBLL.cs create mode 100644 TEMUKJD/Resources/choice_chat_ai.png create mode 100644 TEMUKJD/WXForms/AiTalkForms/WxAiTalkForm.Designer.cs create mode 100644 TEMUKJD/WXForms/AiTalkForms/WxAiTalkForm.cs create mode 100644 TEMUKJD/WXForms/AiTalkForms/WxAiTalkForm.resx diff --git a/AllBase/AllBase.csproj b/AllBase/AllBase.csproj index 91bb89e..a6feb7d 100644 --- a/AllBase/AllBase.csproj +++ b/AllBase/AllBase.csproj @@ -38,6 +38,7 @@ false false false + Auto ..\bin\ @@ -65,7 +66,7 @@ DEBUG;TRACE true full - x64 + AnyCPU false prompt MinimumRecommendedRules.ruleset @@ -89,7 +90,7 @@ DEBUG;TRACE true full - x64 + AnyCPU false 7.3 prompt diff --git a/AllBase/Model/Result/ShopLoginInfo.cs b/AllBase/Model/Result/ShopLoginInfo.cs index 7ac0c6c..b0b5550 100644 --- a/AllBase/Model/Result/ShopLoginInfo.cs +++ b/AllBase/Model/Result/ShopLoginInfo.cs @@ -218,6 +218,11 @@ namespace AllBase.Model.Result } public string CurrentProdId { get; set; } + + /// + /// ai客服账户信息 + /// + public ShopAiTalkInfo shopAiTalkInfo { get; set; } } public class AuthInfo @@ -475,7 +480,6 @@ namespace AllBase.Model.Result public decimal? goodsCost { get; set; } } - public class ShopWorkStatisticsInfo { #region 店铺基础信息 @@ -548,4 +552,18 @@ namespace AllBase.Model.Result // public bool? sevenDaysSaleVolume { get; set; } // public bool? onSaleProductNumber { get; set; } //} + + public class ShopAiTalkInfo + { + public string id { get; set; } // "wx316b1291351558aa", + public string name { get; set; } // "乐乐人小店", + public string appId { get; set; } // "wx316b1291351558aa", + public string apiKey { get; set; } // "848bae86b1aad2a9cfae42c7e8064989", + public string secret { get; set; } // "848bae86b1aad2a9cfae42c7e8064989", + public string token { get; set; } // "wx316b1291351558aa", + public string encodingAesKey { get; set; } // "PZPtKsJ165j3IE1YOe0mxJLwiq125lES2Lq2xplg3KU", + public string callbackUrl { get; set; } // "http://14.103.99.254/wechat/wx316b1291351558aa/callback", + public List ownerIds { get; set; } // [ "user_1783000179570_0758f6" ], + public List ownerNames { get; set; } // [ "16603999390" ] + } } diff --git a/TEMUKJD CEFv138.sln b/TEMUKJD CEFv138.sln index 703d13c..771d1a1 100644 --- a/TEMUKJD CEFv138.sln +++ b/TEMUKJD CEFv138.sln @@ -19,8 +19,8 @@ Global Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {6461D807-B1C8-45F0-B388-E0CA1A418DE0}.Debug|Any CPU.ActiveCfg = Debug|x64 - {6461D807-B1C8-45F0-B388-E0CA1A418DE0}.Debug|Any CPU.Build.0 = Debug|x64 + {6461D807-B1C8-45F0-B388-E0CA1A418DE0}.Debug|Any CPU.ActiveCfg = Debug|x86 + {6461D807-B1C8-45F0-B388-E0CA1A418DE0}.Debug|Any CPU.Build.0 = Debug|x86 {6461D807-B1C8-45F0-B388-E0CA1A418DE0}.Debug|x64.ActiveCfg = Debug|x64 {6461D807-B1C8-45F0-B388-E0CA1A418DE0}.Debug|x64.Build.0 = Debug|x64 {6461D807-B1C8-45F0-B388-E0CA1A418DE0}.Debug|x86.ActiveCfg = Debug|x86 @@ -31,14 +31,14 @@ Global {6461D807-B1C8-45F0-B388-E0CA1A418DE0}.Release|x64.Build.0 = Release|x64 {6461D807-B1C8-45F0-B388-E0CA1A418DE0}.Release|x86.ActiveCfg = Release|x86 {6461D807-B1C8-45F0-B388-E0CA1A418DE0}.Release|x86.Build.0 = Release|x86 - {38E74D4C-2D8D-47D2-8A23-417C3C57ADE5}.Debug|Any CPU.ActiveCfg = Debug|x64 - {38E74D4C-2D8D-47D2-8A23-417C3C57ADE5}.Debug|Any CPU.Build.0 = Debug|x64 + {38E74D4C-2D8D-47D2-8A23-417C3C57ADE5}.Debug|Any CPU.ActiveCfg = Debug|x86 + {38E74D4C-2D8D-47D2-8A23-417C3C57ADE5}.Debug|Any CPU.Build.0 = Debug|x86 {38E74D4C-2D8D-47D2-8A23-417C3C57ADE5}.Debug|x64.ActiveCfg = Debug|x64 {38E74D4C-2D8D-47D2-8A23-417C3C57ADE5}.Debug|x64.Build.0 = Debug|x64 {38E74D4C-2D8D-47D2-8A23-417C3C57ADE5}.Debug|x86.ActiveCfg = Debug|x86 {38E74D4C-2D8D-47D2-8A23-417C3C57ADE5}.Debug|x86.Build.0 = Debug|x86 - {38E74D4C-2D8D-47D2-8A23-417C3C57ADE5}.Release|Any CPU.ActiveCfg = Release|Any CPU - {38E74D4C-2D8D-47D2-8A23-417C3C57ADE5}.Release|Any CPU.Build.0 = Release|Any CPU + {38E74D4C-2D8D-47D2-8A23-417C3C57ADE5}.Release|Any CPU.ActiveCfg = Release|x86 + {38E74D4C-2D8D-47D2-8A23-417C3C57ADE5}.Release|Any CPU.Build.0 = Release|x86 {38E74D4C-2D8D-47D2-8A23-417C3C57ADE5}.Release|x64.ActiveCfg = Release|x64 {38E74D4C-2D8D-47D2-8A23-417C3C57ADE5}.Release|x64.Build.0 = Release|x64 {38E74D4C-2D8D-47D2-8A23-417C3C57ADE5}.Release|x86.ActiveCfg = Release|x86 diff --git a/TEMUKJD/BLL/HttpResponseWxAiTalkBLL.cs b/TEMUKJD/BLL/HttpResponseWxAiTalkBLL.cs new file mode 100644 index 0000000..c223dd9 --- /dev/null +++ b/TEMUKJD/BLL/HttpResponseWxAiTalkBLL.cs @@ -0,0 +1,199 @@ +using AllBase; +using AllBase.Model.Result; +using NaiBa.Util.Extension; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Net; +using System.Text; +using System.Threading.Tasks; + +namespace TemuKJD.BLL +{ + public class HttpResponseWxAiTalkBLL + { + public static string GetResponse(ShopLoginInfo shop, string _url, string referer) + { + + string cookies = ""; + try + { + var cookieLst = JsonHelper.DeserializeJsonToList((shop?.Cookies).ParseToString()); + if (cookieLst == null) + cookieLst = new List(); + foreach (var cook in cookieLst) + { + cookies += cook.Name + "=" + cook.Value + ";"; + } + } + catch { } + + HttpWebResponse response = null; + string result; + try + { + string url = _url; + HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); + + request.KeepAlive = true; + request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36"; + request.ContentType = "application/json"; + request.Accept = "*/*"; + request.Referer = referer; + request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate"); + request.Headers.Set(HttpRequestHeader.AcceptLanguage, "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6"); + if (!string.IsNullOrEmpty(cookies)) + request.Headers.Set(HttpRequestHeader.Cookie, cookies); + + response = (HttpWebResponse)request.GetResponse(); + } + catch (WebException ex) + { + if (ex.Status == WebExceptionStatus.ProtocolError) + { + response = (HttpWebResponse)ex.Response; + result = GetProxyHtml.ReadResponse(response); + return result; + } + else return ex.Message; + } + catch (Exception e) + { + if (response != null) response.Close(); + return e.Message; + } + result = GetProxyHtml.ReadResponse(response); + return result; + } + + public static string PostResponse(ShopLoginInfo shop, string _url, string _body, string referer) + { + + string cookies = ""; + try + { + var cookieLst = JsonHelper.DeserializeJsonToList((shop?.Cookies).ParseToString()); + if (cookieLst == null) + cookieLst = new List(); + foreach (var cook in cookieLst) + { + cookies += cook.Name + "=" + cook.Value + ";"; + } + } + catch { } + + HttpWebResponse response = null; + string result; + try + { + string url = _url; + HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); + + request.KeepAlive = true; + request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36"; + request.ContentType = "application/json"; + request.Accept = "*/*"; + request.Headers.Add("Origin", @"http://14.103.99.254"); + request.Referer = referer; + request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate"); + request.Headers.Set(HttpRequestHeader.AcceptLanguage, "zh-CN,zh;q=0.9"); + if (!string.IsNullOrEmpty(cookies)) + request.Headers.Set(HttpRequestHeader.Cookie, cookies); + + request.Method = "POST"; + request.ServicePoint.Expect100Continue = false; + + string body = _body; + byte[] postBytes = System.Text.Encoding.UTF8.GetBytes(body); + request.ContentLength = postBytes.Length; + Stream stream = request.GetRequestStream(); + stream.Write(postBytes, 0, postBytes.Length); + stream.Close(); + + response = (HttpWebResponse)request.GetResponse(); + } + catch (WebException ex) + { + if (ex.Status == WebExceptionStatus.ProtocolError) + { + response = (HttpWebResponse)ex.Response; + result = GetProxyHtml.ReadResponse(response); + return result; + } + else return ex.Message; + } + catch (Exception e) + { + if (response != null) response.Close(); + return e.Message; + } + result = GetProxyHtml.ReadResponse(response); + return result; + } + + public static string PutResponse(ShopLoginInfo shop, string _url, string _body, string referer) + { + + string cookies = ""; + try + { + var cookieLst = JsonHelper.DeserializeJsonToList((shop?.Cookies).ParseToString()); + if (cookieLst == null) + cookieLst = new List(); + foreach (var cook in cookieLst) + { + cookies += cook.Name + "=" + cook.Value + ";"; + } + } + catch { } + + HttpWebResponse response = null; + string result; + try + { + string url = _url; + HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); + + request.KeepAlive = true; + request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36"; + request.ContentType = "application/json"; + request.Accept = "*/*"; + request.Headers.Add("Origin", @"http://14.103.99.254"); + request.Referer = referer; + request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate"); + request.Headers.Set(HttpRequestHeader.AcceptLanguage, "zh-CN,zh;q=0.9"); + if (!string.IsNullOrEmpty(cookies)) + request.Headers.Set(HttpRequestHeader.Cookie, cookies); + + request.Method = "PUT"; + + string body = _body; + byte[] postBytes = System.Text.Encoding.UTF8.GetBytes(body); + request.ContentLength = postBytes.Length; + Stream stream = request.GetRequestStream(); + stream.Write(postBytes, 0, postBytes.Length); + stream.Close(); + + response = (HttpWebResponse)request.GetResponse(); + } + catch (WebException ex) + { + if (ex.Status == WebExceptionStatus.ProtocolError) + { + response = (HttpWebResponse)ex.Response; + result = GetProxyHtml.ReadResponse(response); + return result; + } + else return ex.Message; + } + catch (Exception e) + { + if (response != null) response.Close(); + return e.Message; + } + result = GetProxyHtml.ReadResponse(response); + return result; + } + } +} diff --git a/TEMUKJD/ChangeForm.cs b/TEMUKJD/ChangeForm.cs index aa4c34e..071a4d2 100644 --- a/TEMUKJD/ChangeForm.cs +++ b/TEMUKJD/ChangeForm.cs @@ -15,6 +15,7 @@ using System.Windows.Forms; //using TemuKJD.ChatForms; //using TemuKJD.DashBoardForms; using TemuKJD.BaseForms; +using TemuKJD.WXForms.AiTalkForms; using TemuKJD.WXForms.TalkForms; using Work; @@ -136,7 +137,7 @@ namespace TemuKJD } } - private void panel4_Click(object sender, EventArgs e) + private void pnlWebOrder_Click(object sender, EventArgs e) { string url = "http://oa.qixiaoke.com/?obj=public/jump_login&url=order&" + UserLogin.GetSignaturex(); GetHtml.OpenUrl(url); @@ -169,9 +170,20 @@ namespace TemuKJD //Hide(); } - private void panel5_Click(object sender, EventArgs e) + private void pnlAiTalk_Click(object sender, EventArgs e) { + WxAiTalkForm aikf = new WxAiTalkForm(); + aikf.Size = new Size(Screen.PrimaryScreen.WorkingArea.Width - 120, Screen.PrimaryScreen.WorkingArea.Height - 100); + aikf.Show(); + Hide(); + } + private void label2_Click(object sender, EventArgs e) + { + WxAiTalkForm aikf = new WxAiTalkForm(); + aikf.Size = new Size(Screen.PrimaryScreen.WorkingArea.Width - 120, Screen.PrimaryScreen.WorkingArea.Height - 100); + aikf.Show(); + Hide(); } } } diff --git a/TEMUKJD/ChangeForm.designer.cs b/TEMUKJD/ChangeForm.designer.cs index adda5e1..1e921c6 100644 --- a/TEMUKJD/ChangeForm.designer.cs +++ b/TEMUKJD/ChangeForm.designer.cs @@ -37,6 +37,8 @@ this.pnlExtend = new DevComponents.DotNetBar.PanelEx(); this.pnlChat = new DevComponents.DotNetBar.PanelEx(); this.panel2 = new System.Windows.Forms.Panel(); + this.pnlAiTalk = new DevComponents.DotNetBar.PanelEx(); + this.label2 = new System.Windows.Forms.Label(); this.panel2.SuspendLayout(); this.SuspendLayout(); // @@ -44,7 +46,7 @@ // this.panel4.Cursor = System.Windows.Forms.Cursors.Hand; this.panel4.DisabledBackColor = System.Drawing.Color.Empty; - this.panel4.Location = new System.Drawing.Point(300, 171); + this.panel4.Location = new System.Drawing.Point(34, 214); this.panel4.Name = "panel4"; this.panel4.Size = new System.Drawing.Size(104, 37); this.panel4.Style.BackgroundImage = global::TemuKJD.Properties.Resources.choice_order; @@ -52,7 +54,7 @@ this.panel4.StyleMouseOver.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(7)))), ((int)(((byte)(157)))), ((int)(((byte)(235))))); this.panel4.TabIndex = 3; this.panel4.Visible = false; - this.panel4.Click += new System.EventHandler(this.panel4_Click); + this.panel4.Click += new System.EventHandler(this.pnlWebOrder_Click); // // pnlPurchase // @@ -108,7 +110,7 @@ // this.pnlExtend.Cursor = System.Windows.Forms.Cursors.Hand; this.pnlExtend.DisabledBackColor = System.Drawing.Color.Empty; - this.pnlExtend.Location = new System.Drawing.Point(300, 128); + this.pnlExtend.Location = new System.Drawing.Point(144, 214); this.pnlExtend.Name = "pnlExtend"; this.pnlExtend.Size = new System.Drawing.Size(104, 37); this.pnlExtend.Style.BackgroundImage = global::TemuKJD.Properties.Resources.choice_extend; @@ -134,6 +136,8 @@ // panel2 // this.panel2.BackColor = System.Drawing.Color.White; + this.panel2.Controls.Add(this.label2); + this.panel2.Controls.Add(this.pnlAiTalk); this.panel2.Controls.Add(this.pnlExtend); this.panel2.Controls.Add(this.label1); this.panel2.Controls.Add(this.pnlChat); @@ -146,6 +150,34 @@ this.panel2.Size = new System.Drawing.Size(440, 258); this.panel2.TabIndex = 8; // + // pnlAiTalk + // + this.pnlAiTalk.Cursor = System.Windows.Forms.Cursors.Hand; + this.pnlAiTalk.DisabledBackColor = System.Drawing.Color.Empty; + this.pnlAiTalk.Location = new System.Drawing.Point(236, 143); + this.pnlAiTalk.Name = "pnlAiTalk"; + this.pnlAiTalk.Size = new System.Drawing.Size(172, 65); + this.pnlAiTalk.Style.BackColor1.Color = System.Drawing.Color.Transparent; + this.pnlAiTalk.Style.BackgroundImage = global::TemuKJD.Properties.Resources.choice_chat_ai; + this.pnlAiTalk.StyleMouseOver.Border = DevComponents.DotNetBar.eBorderType.RaisedInner; + this.pnlAiTalk.StyleMouseOver.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(7)))), ((int)(((byte)(157)))), ((int)(((byte)(235))))); + this.pnlAiTalk.TabIndex = 70; + this.pnlAiTalk.Click += new System.EventHandler(this.pnlAiTalk_Click); + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Cursor = System.Windows.Forms.Cursors.Hand; + this.label2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.label2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(152)))), ((int)(((byte)(99)))), ((int)(((byte)(143))))); + this.label2.Location = new System.Drawing.Point(320, 214); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(56, 17); + this.label2.TabIndex = 0; + this.label2.Text = "流畅稳定"; + this.label2.Visible = false; + this.label2.Click += new System.EventHandler(this.label2_Click); + // // ChangeForm // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; @@ -175,5 +207,7 @@ private DevComponents.DotNetBar.PanelEx pnlExtend; private System.Windows.Forms.Label label1; private System.Windows.Forms.Panel panel2; + private DevComponents.DotNetBar.PanelEx pnlAiTalk; + private System.Windows.Forms.Label label2; } } \ No newline at end of file diff --git a/TEMUKJD/KJD.csproj b/TEMUKJD/KJD.csproj index b487916..b89ea19 100644 --- a/TEMUKJD/KJD.csproj +++ b/TEMUKJD/KJD.csproj @@ -34,7 +34,7 @@ true - x64 + AnyCPU true full false @@ -43,7 +43,7 @@ prompt 4 false - false + true AnyCPU @@ -143,6 +143,7 @@ BaseTalkForm.cs + @@ -200,6 +201,12 @@ PDDDBProdGroupManageFrom.cs + + Form + + + WxAiTalkForm.cs + Form @@ -1363,6 +1370,9 @@ PDDDBProdGroupManageFrom.cs + + WxAiTalkForm.cs + WXUserCollectAuthProdEditNotesForm.cs @@ -1920,6 +1930,8 @@ + + diff --git a/TEMUKJD/KJD.csproj.user b/TEMUKJD/KJD.csproj.user index ce5d74c..10da63c 100644 --- a/TEMUKJD/KJD.csproj.user +++ b/TEMUKJD/KJD.csproj.user @@ -1,7 +1,7 @@  - ProjectFiles + ShowAllFiles publish\ diff --git a/TEMUKJD/Properties/Resources.Designer.cs b/TEMUKJD/Properties/Resources.Designer.cs index 832c386..2b8022c 100644 --- a/TEMUKJD/Properties/Resources.Designer.cs +++ b/TEMUKJD/Properties/Resources.Designer.cs @@ -140,6 +140,16 @@ namespace TemuKJD.Properties { } } + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap choice_chat_ai { + get { + object obj = ResourceManager.GetObject("choice_chat_ai", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// 查找 System.Drawing.Bitmap 类型的本地化资源。 /// diff --git a/TEMUKJD/Properties/Resources.resx b/TEMUKJD/Properties/Resources.resx index 1867569..58183d9 100644 --- a/TEMUKJD/Properties/Resources.resx +++ b/TEMUKJD/Properties/Resources.resx @@ -136,6 +136,9 @@ ..\Resources\choice_chat.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\resources\choice_chat_ai.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\choice_extend.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a diff --git a/TEMUKJD/Resources/choice_chat_ai.png b/TEMUKJD/Resources/choice_chat_ai.png new file mode 100644 index 0000000000000000000000000000000000000000..e49a0f955983ab05106e2183c69bf1ebfc64d30c GIT binary patch literal 5564 zcmc&&30P9;-Un1%(lSjeb3x3k(Iar!NnFxWGt$fmHOm7W6qO}FMJ)%jMccm?Z7Ofh zw5usKWs5D8l{1-XR%U9p*kb9_+|06Uxd*pt=GN5x?)N+&&jat_egE%&{rwln4VxKg zVPB9FG%* z^Oq@L9Mh8o2#7=wM`wCMG>ArK(mZe=5u^}^WC95Uh;$Z(!2-#+ffpVTrx1!*;Q`YI zgdyM9_;{5{&LR*}Q&T-t$(}Mr9D&4SG6_VG0D=HQ0Vva?Do71Tl`exE0$`;;A(pGe zGAT~a5#q~|Rct(>YQGH<`4C&Fa==fB#|UajP9S*_^)~ep3I#)S@?=F)pKzgo04Ko` zSgKMYw4@op-h1A_(Lj%P8TvD0S%xCh!8*}QJ4Tk z5l{fWh{Pa?Ksro@`Ged-6=Ed)p`=f_>a`Lg94Ryr5h77RKtv?L00~hAU@}1>K&6O; zB9e$9BvK$eP9Ja4BG&+`q}B5s?>xr2iZ^kNnE{AIEc~V#LKD z9;b&)zgK4?{o<7c%|%&?q8+&*wu-NJxT749JV1FEz*| zT>n!)Bf{THLlyNE?tl8(ui10j@9SS&*RLrviP(z(V}Mw)iv1`nDMMvrUbM zk?8$R8ugPYWg=B7q=5b6kdS{%rV_rWzf76}D?YJ64k;j{jlc>e8!uAGB)Flh!l`69 zNG?wj3;IAtNRbK$D)o>@@n4jqgi`+AOAykGNJ0n(7(z${&}azK`6Lk&5b|kEG7Y3d zLMno!fA)b=5CR~P4*^601x6rB zhXD~27STWrpWTkuSSU z2rI;&AmCG!4XJ?Z!`uIjyszSo4w6N55aa_wGLs0vd1*`i3Fa z=L+bzW)m_Uv5-dmmDVhv@EH^lgQ4%HNJ}Nb0)R<}`G80y0x3+S-%@FGec<)nWdChz z*4M*6H+(Vx4{jk-wf=Evo=3h6{UU&+NCi?L^ZqUN0|5DH;T9a=7ol$YtspTcdX8mP z^ycrvsb>>949w3Oue=^>xH){aDs`N_k^Hx5XkYmXEpCFA*F0!E9txUCe{SrGBkLHd?7EDRdc-_hXOeZF>YEQ1! zKG)a$T-2~^n`w`;o?%a+o@!oY4bS>edGooSQ}%p}1RG<>B0V_1A;N(YaK!dr_nSOa z@m!-Z)B(O#z-&)hjOs#TVr0UG4E47ih7gc!e?r3 zbPTU^40AfrPF(uPvZd_m)6#i{I??Z2+mkQeI&+i#qz9o2))bTt^DWb4u9nYEert5# z(%YrJo#z*w;_?g|FQ7ZS3u}KrD6J5m5lp^0M?LKDu$QJ&p1=#wpl)xrioJ1ggR$0i zM2(5ID$)Gq8dxh@c<$lb!#9_B8a%wZSFwO#6tm{N*RZ$sJIkV$=&lgY$l~8z4#^&g z>bT){YWWgWh4?=AB{^CCn=#w8$%HjovqNpu?pN)UH4Z-J<{UeT2c)zn_>SIhZOgNr zM#h9R*=Qwe?Tfq0#m411_a-_-l-8!XwC^&(Ndn>@QQklAHudAh7Gs_2%O(Vxm*j_l z1u3zi*i(D5p2)(iRSRbj3x+kBvG$E!I-(9=Wm9TbxD9m7u5E%K?G)d9-z=XtYu+}e zXCLMpftkB0n2Jd2`wQDj%9b=t^9r=Re$hLlu*27S%+80_2Z4pyt5m6G!N)m?S24>C z4FXLY+sAJt}O9+cvq&6N~p-@t}kp0xyL7wV!dCcZAKaF&WXpqf;B|K91E zuGUoz*GKJ)87;VUWa^dZ8@|k9=A#6VpGOqOc8Cqjb7G_7c6LsVdBIG!*n`>rnz`=m zF=zgzWUTY`Wu-+}-~A5{TwLEU+}<_TyJPhV8T)jY)^ofzRP#Y=-s)*__d4cgV{b`q z*UWTO1$8+q%l>qpT)ua#<$SyK>$whodn5PG!{{0~wvOMAZlZ0zK#-;HT9A6^l|{m= zt3JDbOY~mU3QjXk(w-cRsmBaghiv@e(0&`Rpt)(}_kdqkWOUP=V^4mjpnEqvua{xU zYZr43UvF7uX|3&@f|~58QNMH9sXbHRG63 zh53FSq1#K-y|OZMOx4p_KDzW4Cl{^bO;G$h^Zh7!^HbbfS8Bak=j^RTlZuW~XK4=o zShoBMKtxs47&PV@YSuik3drF`So}zL(4O#U(OFuBJhb}3UAsEWcuhr>uFb=yxhtrv z{yE)4*E-^D4W?6K+Q}vsP4t^%kiUOotNZ-sa~TY&>CN3mjtxLthTY483Byk~s8#{O zhqL19j-o1T^P4+w&M413_o8yQStq4>`46Q(CZJy(OUEAG_w&{if!Lkk<)CtFCzSy5 z7)`J5W4C#f(`a&(3bnTI$7!DbcxPWRg%oaWVn`|{mJ%PjMFP@`-H>$M&Hj1$nY4a z^4he1>W=%=6XO#g4~CmFD{yuXnb0sJB}GMaY2@DXnTLN~Ufr9vz3s?;?{}guL*9-k z*)7*;H9b3w7bl37C}Wl>uWS5et_$vPuybg>eWI2#RlPFO2Av#?u3$aW)>lt(ud+V` zPkosYVNrf!OVOT5&ql@?w0E13YM86vd#~5lmT)_5O}F@C6W5`(9pTk`l|R(JFgrkt zbie7U+pnC98I`upH{W7S;IWXq&Mj8rN|Om`@T*oRdx3M}wRlNc<$QNXZ9`DA%0A|FDb91l^L?hgvCZ7Z z`ZuTHo$N%1L#T?A8n)=vm?T#0{@s98&^D83Tc_T|;nQ!qh1{+7F!SAMIQ*7+S7^er zMEfA4l6QjRDonFm> zcI!De4AWV^^vINVHQ4Mm2F-$EZdwA@71QM5#l2pF?y&0F^ULw{^9iZHb~78luMOPf ztBJX&dlcLg#5vtAr6!2HcRRL`wr><&-sCiSDt_1^ALGEE-zaM=vk&Bk;PfL%|Lmb( h^s`4v(5T>#20M#hb*o!>QTqQ^gQw06D4i0! + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(WxAiTalkForm)); + this.panel3 = new System.Windows.Forms.Panel(); + this.splitContainer1 = new System.Windows.Forms.SplitContainer(); + this.splitContainer2 = new System.Windows.Forms.SplitContainer(); + this.btnRefreshAiStatus = new DevComponents.DotNetBar.PanelEx(); + this.lblCurrentShop = new System.Windows.Forms.Label(); + this.btnBatchBindShop = new DevComponents.DotNetBar.PanelEx(); + this.btnMultiLogin = new DevComponents.DotNetBar.PanelEx(); + this.splitContainer4 = new System.Windows.Forms.SplitContainer(); + this.pnlShop = new System.Windows.Forms.Panel(); + this.cmbMessage = new System.Windows.Forms.ComboBox(); + this.chkNotShowMessageWindow = new System.Windows.Forms.CheckBox(); + this.label1 = new System.Windows.Forms.Label(); + this.dgvShop = new TemuKJD.UserComponent.DataGridViewEx(); + this.colSelect = new TemuKJD.UserComponent.UcDataGridViewCheckBoxColumn(this.components); + this.colShopLoginName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colShopId = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colShopName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colGroup = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colShopNotes = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colLoginStatus = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colAiStatus = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colMessage = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colAutoReplyCount = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colWaitSend = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colWayBillError = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colAfterSale = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colPunishCount = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colScore = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colCanUse = new System.Windows.Forms.DataGridViewCheckBoxColumn(); + this.cmbFiltGroups = new TemuKJD.UserComponent.UcComboBoxMutiSelect(); + this.lblTalkCount = new System.Windows.Forms.Label(); + this.label6 = new System.Windows.Forms.Label(); + this.btnRefreshMsgCount = new DevComponents.DotNetBar.PanelEx(); + this.lblUserCount = new System.Windows.Forms.Label(); + this.lblReplyCount = new System.Windows.Forms.Label(); + this.label7 = new System.Windows.Forms.Label(); + this.label4 = new System.Windows.Forms.Label(); + this.btnRefreshAfterSale = new DevComponents.DotNetBar.PanelEx(); + this.cmbFiltNotes = new TemuKJD.UserComponent.UcComboBoxMutiSelect(); + this.btnRestore = new DevComponents.DotNetBar.PanelEx(); + this.txtFiltShopName = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.btnFilterShop = new DevComponents.DotNetBar.PanelEx(); + this.btnRefreshShop = new DevComponents.DotNetBar.PanelEx(); + this.label2 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.line1 = new DevComponents.DotNetBar.Controls.Line(); + this.label5 = new System.Windows.Forms.Label(); + this.pbLoading = new System.Windows.Forms.PictureBox(); + this.panel4 = new System.Windows.Forms.Panel(); + this.btnClose = new DevComponents.DotNetBar.PanelEx(); + this.btnToKfMainPage = new DevComponents.DotNetBar.PanelEx(); + this.ucTabControl1 = new TemuKJD.UserComponent.UcTabControl(); + this.tabPage1 = new System.Windows.Forms.TabPage(); + this.splitContainer3 = new System.Windows.Forms.SplitContainer(); + this.btnNext = new DevComponents.DotNetBar.PanelEx(); + this.btnPrev = new DevComponents.DotNetBar.PanelEx(); + this.txtAddress = new System.Windows.Forms.TextBox(); + this.pnlAiTalk = new System.Windows.Forms.Panel(); + this.pnlCover = new System.Windows.Forms.Panel(); + this.pictureBox1 = new System.Windows.Forms.PictureBox(); + this.btnReLogin = new DevComponents.DotNetBar.PanelEx(); + this.tabPage2 = new System.Windows.Forms.TabPage(); + this.mainPanel = new System.Windows.Forms.Panel(); + this.tpBuyerOrder = new System.Windows.Forms.TabPage(); + this.ColumnShopStatus = new System.Windows.Forms.DataGridViewLinkColumn(); + this.ColumnShopID = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.ColumnShopName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewTextBoxColumn1 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewTextBoxColumn2 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewLinkColumn1 = new System.Windows.Forms.DataGridViewLinkColumn(); + this.dataGridViewTextBoxColumn3 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewTextBoxColumn4 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dataGridViewLinkColumn2 = new System.Windows.Forms.DataGridViewLinkColumn(); + ((System.ComponentModel.ISupportInitialize)(this.pbLogo)).BeginInit(); + this.panel3.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); + this.splitContainer1.Panel1.SuspendLayout(); + this.splitContainer1.Panel2.SuspendLayout(); + this.splitContainer1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit(); + this.splitContainer2.Panel1.SuspendLayout(); + this.splitContainer2.Panel2.SuspendLayout(); + this.splitContainer2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer4)).BeginInit(); + this.splitContainer4.Panel1.SuspendLayout(); + this.splitContainer4.Panel2.SuspendLayout(); + this.splitContainer4.SuspendLayout(); + this.pnlShop.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dgvShop)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.pbLoading)).BeginInit(); + this.panel4.SuspendLayout(); + this.ucTabControl1.SuspendLayout(); + this.tabPage1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).BeginInit(); + this.splitContainer3.Panel1.SuspendLayout(); + this.splitContainer3.Panel2.SuspendLayout(); + this.splitContainer3.SuspendLayout(); + this.pnlAiTalk.SuspendLayout(); + this.pnlCover.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); + this.tabPage2.SuspendLayout(); + this.SuspendLayout(); + // + // pbLogo + // + this.pbLogo.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + // + // lblVersionName + // + this.lblVersionName.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.lblVersionName.Location = new System.Drawing.Point(32767, 33); + // + // panel3 + // + this.panel3.BackColor = System.Drawing.Color.White; + this.panel3.Controls.Add(this.splitContainer1); + this.panel3.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel3.Location = new System.Drawing.Point(1, 81); + this.panel3.Name = "panel3"; + this.panel3.Size = new System.Drawing.Size(1498, 618); + this.panel3.TabIndex = 1; + // + // splitContainer1 + // + this.splitContainer1.BackColor = System.Drawing.Color.White; + this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1; + this.splitContainer1.Location = new System.Drawing.Point(0, 0); + this.splitContainer1.Name = "splitContainer1"; + // + // splitContainer1.Panel1 + // + this.splitContainer1.Panel1.Controls.Add(this.splitContainer2); + this.splitContainer1.Panel1MinSize = 0; + // + // splitContainer1.Panel2 + // + this.splitContainer1.Panel2.Controls.Add(this.panel4); + this.splitContainer1.Panel2MinSize = 0; + this.splitContainer1.Size = new System.Drawing.Size(1498, 618); + this.splitContainer1.SplitterDistance = 379; + this.splitContainer1.TabIndex = 1; + // + // splitContainer2 + // + this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer2.FixedPanel = System.Windows.Forms.FixedPanel.Panel1; + this.splitContainer2.Location = new System.Drawing.Point(0, 0); + this.splitContainer2.Name = "splitContainer2"; + this.splitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal; + // + // splitContainer2.Panel1 + // + this.splitContainer2.Panel1.Controls.Add(this.btnRefreshAiStatus); + this.splitContainer2.Panel1.Controls.Add(this.lblCurrentShop); + this.splitContainer2.Panel1.Controls.Add(this.btnBatchBindShop); + this.splitContainer2.Panel1.Controls.Add(this.btnMultiLogin); + // + // splitContainer2.Panel2 + // + this.splitContainer2.Panel2.Controls.Add(this.splitContainer4); + this.splitContainer2.Panel2.Padding = new System.Windows.Forms.Padding(4, 0, 0, 4); + this.splitContainer2.Size = new System.Drawing.Size(379, 618); + this.splitContainer2.SplitterDistance = 31; + this.splitContainer2.TabIndex = 0; + // + // btnRefreshAiStatus + // + this.btnRefreshAiStatus.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnRefreshAiStatus.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnRefreshAiStatus.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnRefreshAiStatus.DisabledBackColor = System.Drawing.Color.Empty; + this.btnRefreshAiStatus.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnRefreshAiStatus.Location = new System.Drawing.Point(119, 7); + this.btnRefreshAiStatus.Name = "btnRefreshAiStatus"; + this.btnRefreshAiStatus.Size = new System.Drawing.Size(38, 20); + this.btnRefreshAiStatus.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnRefreshAiStatus.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnRefreshAiStatus.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnRefreshAiStatus.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnRefreshAiStatus.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnRefreshAiStatus.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnRefreshAiStatus.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnRefreshAiStatus.Style.GradientAngle = 90; + this.btnRefreshAiStatus.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnRefreshAiStatus.TabIndex = 237; + this.btnRefreshAiStatus.Text = "刷新"; + this.btnRefreshAiStatus.Click += new System.EventHandler(this.btnRefreshAiStatus_Click); + // + // lblCurrentShop + // + this.lblCurrentShop.AutoSize = true; + this.lblCurrentShop.Location = new System.Drawing.Point(160, 9); + this.lblCurrentShop.Name = "lblCurrentShop"; + this.lblCurrentShop.Size = new System.Drawing.Size(68, 17); + this.lblCurrentShop.TabIndex = 227; + this.lblCurrentShop.Text = "当前店铺:"; + // + // btnBatchBindShop + // + this.btnBatchBindShop.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnBatchBindShop.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnBatchBindShop.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnBatchBindShop.DisabledBackColor = System.Drawing.Color.Empty; + this.btnBatchBindShop.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnBatchBindShop.Location = new System.Drawing.Point(4, 7); + this.btnBatchBindShop.Name = "btnBatchBindShop"; + this.btnBatchBindShop.Size = new System.Drawing.Size(111, 20); + this.btnBatchBindShop.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnBatchBindShop.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnBatchBindShop.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnBatchBindShop.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnBatchBindShop.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnBatchBindShop.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnBatchBindShop.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnBatchBindShop.Style.GradientAngle = 90; + this.btnBatchBindShop.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnBatchBindShop.TabIndex = 220; + this.btnBatchBindShop.Text = "批量绑定选中店铺"; + this.btnBatchBindShop.Click += new System.EventHandler(this.btnBatchBindShop_Click); + // + // btnMultiLogin + // + this.btnMultiLogin.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnMultiLogin.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnMultiLogin.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnMultiLogin.DisabledBackColor = System.Drawing.Color.Empty; + this.btnMultiLogin.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnMultiLogin.Location = new System.Drawing.Point(321, 7); + this.btnMultiLogin.Name = "btnMultiLogin"; + this.btnMultiLogin.Size = new System.Drawing.Size(58, 20); + this.btnMultiLogin.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnMultiLogin.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnMultiLogin.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnMultiLogin.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnMultiLogin.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnMultiLogin.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnMultiLogin.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnMultiLogin.Style.GradientAngle = 90; + this.btnMultiLogin.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnMultiLogin.TabIndex = 213; + this.btnMultiLogin.Text = "批量登录"; + this.btnMultiLogin.Click += new System.EventHandler(this.btnMultiLogin_Click); + // + // splitContainer4 + // + this.splitContainer4.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer4.FixedPanel = System.Windows.Forms.FixedPanel.Panel2; + this.splitContainer4.Location = new System.Drawing.Point(4, 0); + this.splitContainer4.Name = "splitContainer4"; + this.splitContainer4.Orientation = System.Windows.Forms.Orientation.Horizontal; + // + // splitContainer4.Panel1 + // + this.splitContainer4.Panel1.Controls.Add(this.pnlShop); + // + // splitContainer4.Panel2 + // + this.splitContainer4.Panel2.Controls.Add(this.cmbFiltGroups); + this.splitContainer4.Panel2.Controls.Add(this.lblTalkCount); + this.splitContainer4.Panel2.Controls.Add(this.label6); + this.splitContainer4.Panel2.Controls.Add(this.btnRefreshMsgCount); + this.splitContainer4.Panel2.Controls.Add(this.lblUserCount); + this.splitContainer4.Panel2.Controls.Add(this.lblReplyCount); + this.splitContainer4.Panel2.Controls.Add(this.label7); + this.splitContainer4.Panel2.Controls.Add(this.label4); + this.splitContainer4.Panel2.Controls.Add(this.btnRefreshAfterSale); + this.splitContainer4.Panel2.Controls.Add(this.cmbFiltNotes); + this.splitContainer4.Panel2.Controls.Add(this.btnRestore); + this.splitContainer4.Panel2.Controls.Add(this.txtFiltShopName); + this.splitContainer4.Panel2.Controls.Add(this.btnFilterShop); + this.splitContainer4.Panel2.Controls.Add(this.btnRefreshShop); + this.splitContainer4.Panel2.Controls.Add(this.label2); + this.splitContainer4.Panel2.Controls.Add(this.label3); + this.splitContainer4.Panel2.Controls.Add(this.line1); + this.splitContainer4.Panel2.Controls.Add(this.label5); + this.splitContainer4.Panel2.Controls.Add(this.pbLoading); + this.splitContainer4.Size = new System.Drawing.Size(375, 579); + this.splitContainer4.SplitterDistance = 481; + this.splitContainer4.TabIndex = 7; + // + // pnlShop + // + this.pnlShop.Controls.Add(this.cmbMessage); + this.pnlShop.Controls.Add(this.chkNotShowMessageWindow); + this.pnlShop.Controls.Add(this.label1); + this.pnlShop.Controls.Add(this.dgvShop); + this.pnlShop.Dock = System.Windows.Forms.DockStyle.Fill; + this.pnlShop.Location = new System.Drawing.Point(0, 0); + this.pnlShop.Name = "pnlShop"; + this.pnlShop.Size = new System.Drawing.Size(375, 481); + this.pnlShop.TabIndex = 8; + // + // cmbMessage + // + this.cmbMessage.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.cmbMessage.BackColor = System.Drawing.Color.White; + this.cmbMessage.Font = new System.Drawing.Font("新宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.cmbMessage.FormattingEnabled = true; + this.cmbMessage.ItemHeight = 12; + this.cmbMessage.Items.AddRange(new object[] { + "默认提示音", + "1号电脑", + "2号电脑", + "3号电脑", + "4号电脑", + "5号电脑", + "6号电脑", + "7号电脑", + "8号电脑", + "9号电脑", + "10号电脑", + "11号电脑", + "12号电脑", + "13号电脑", + "14号电脑", + "15号电脑", + "16号电脑", + "17号电脑", + "18号电脑", + "19号电脑", + "20号电脑", + "无"}); + this.cmbMessage.Location = new System.Drawing.Point(76, 53); + this.cmbMessage.Name = "cmbMessage"; + this.cmbMessage.Size = new System.Drawing.Size(82, 20); + this.cmbMessage.TabIndex = 193; + this.cmbMessage.Visible = false; + // + // chkNotShowMessageWindow + // + this.chkNotShowMessageWindow.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.chkNotShowMessageWindow.AutoSize = true; + this.chkNotShowMessageWindow.Location = new System.Drawing.Point(6, 31); + this.chkNotShowMessageWindow.Name = "chkNotShowMessageWindow"; + this.chkNotShowMessageWindow.Size = new System.Drawing.Size(123, 21); + this.chkNotShowMessageWindow.TabIndex = 201; + this.chkNotShowMessageWindow.Text = "新消息不弹框提示"; + this.chkNotShowMessageWindow.UseVisualStyleBackColor = true; + this.chkNotShowMessageWindow.Visible = false; + this.chkNotShowMessageWindow.CheckedChanged += new System.EventHandler(this.chkNotShowMessageWindow_CheckedChanged); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(3, 55); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(80, 17); + this.label1.TabIndex = 197; + this.label1.Text = "消息提示音:"; + this.label1.Visible = false; + this.label1.Click += new System.EventHandler(this.lblMsgSound_Click); + // + // dgvShop + // + this.dgvShop.AllowUserToAddRows = false; + this.dgvShop.AllowUserToDeleteRows = false; + dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke; + this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1; + this.dgvShop.AutoRowNumber = true; + this.dgvShop.BackgroundColor = System.Drawing.Color.White; + this.dgvShop.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control; + dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText; + dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dgvShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2; + this.dgvShop.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dgvShop.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.colSelect, + this.colShopLoginName, + this.colShopId, + this.colShopName, + this.colGroup, + this.colShopNotes, + this.colLoginStatus, + this.colAiStatus, + this.colMessage, + this.colAutoReplyCount, + this.colWaitSend, + this.colWayBillError, + this.colAfterSale, + this.colPunishCount, + this.colScore, + this.colCanUse}); + this.dgvShop.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgvShop.Location = new System.Drawing.Point(0, 0); + this.dgvShop.MultiSelect = false; + this.dgvShop.MultiSelectCheckBox = true; + this.dgvShop.Name = "dgvShop"; + this.dgvShop.ReadOnly = true; + this.dgvShop.RowHeadersWidth = 25; + this.dgvShop.RowTemplate.Height = 23; + this.dgvShop.Size = new System.Drawing.Size(375, 481); + this.dgvShop.TabIndex = 7; + this.dgvShop.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvShop_CellClick); + this.dgvShop.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvShop_CellContentClick); + this.dgvShop.CellMouseClick += new System.Windows.Forms.DataGridViewCellMouseEventHandler(this.dgvShop_CellMouseClick); + // + // colSelect + // + this.colSelect.Frozen = true; + this.colSelect.HeaderText = "选"; + this.colSelect.Name = "colSelect"; + this.colSelect.ReadOnly = true; + this.colSelect.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colSelect.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colSelect.Width = 28; + // + // colShopLoginName + // + this.colShopLoginName.Frozen = true; + this.colShopLoginName.HeaderText = "店铺登录名"; + this.colShopLoginName.Name = "colShopLoginName"; + this.colShopLoginName.ReadOnly = true; + this.colShopLoginName.Visible = false; + // + // colShopId + // + this.colShopId.Frozen = true; + this.colShopId.HeaderText = "店铺Id"; + this.colShopId.Name = "colShopId"; + this.colShopId.ReadOnly = true; + this.colShopId.Visible = false; + this.colShopId.Width = 55; + // + // colShopName + // + this.colShopName.FillWeight = 150F; + this.colShopName.Frozen = true; + this.colShopName.HeaderText = "店铺名称"; + this.colShopName.Name = "colShopName"; + this.colShopName.ReadOnly = true; + this.colShopName.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colShopName.Width = 70; + // + // colGroup + // + this.colGroup.Frozen = true; + this.colGroup.HeaderText = "分组"; + this.colGroup.Name = "colGroup"; + this.colGroup.ReadOnly = true; + this.colGroup.Width = 70; + // + // colShopNotes + // + this.colShopNotes.HeaderText = "备注"; + this.colShopNotes.Name = "colShopNotes"; + this.colShopNotes.ReadOnly = true; + this.colShopNotes.Width = 70; + // + // colLoginStatus + // + this.colLoginStatus.HeaderText = "状态"; + this.colLoginStatus.Name = "colLoginStatus"; + this.colLoginStatus.ReadOnly = true; + this.colLoginStatus.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colLoginStatus.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colLoginStatus.Width = 38; + // + // colAiStatus + // + this.colAiStatus.HeaderText = "客服绑定"; + this.colAiStatus.Name = "colAiStatus"; + this.colAiStatus.ReadOnly = true; + this.colAiStatus.Width = 80; + // + // colMessage + // + this.colMessage.HeaderText = "信息"; + this.colMessage.Name = "colMessage"; + this.colMessage.ReadOnly = true; + this.colMessage.Width = 90; + // + // colAutoReplyCount + // + this.colAutoReplyCount.HeaderText = "自动回复"; + this.colAutoReplyCount.Name = "colAutoReplyCount"; + this.colAutoReplyCount.ReadOnly = true; + this.colAutoReplyCount.Visible = false; + this.colAutoReplyCount.Width = 62; + // + // colWaitSend + // + this.colWaitSend.HeaderText = "待发货"; + this.colWaitSend.Name = "colWaitSend"; + this.colWaitSend.ReadOnly = true; + this.colWaitSend.Visible = false; + this.colWaitSend.Width = 50; + // + // colWayBillError + // + this.colWayBillError.HeaderText = "物流异常"; + this.colWayBillError.Name = "colWayBillError"; + this.colWayBillError.ReadOnly = true; + this.colWayBillError.Visible = false; + this.colWayBillError.Width = 62; + // + // colAfterSale + // + this.colAfterSale.HeaderText = "售后"; + this.colAfterSale.Name = "colAfterSale"; + this.colAfterSale.ReadOnly = true; + this.colAfterSale.Visible = false; + this.colAfterSale.Width = 38; + // + // colPunishCount + // + this.colPunishCount.HeaderText = "店铺违规"; + this.colPunishCount.Name = "colPunishCount"; + this.colPunishCount.ReadOnly = true; + this.colPunishCount.Visible = false; + this.colPunishCount.Width = 62; + // + // colScore + // + this.colScore.HeaderText = "评分"; + this.colScore.Name = "colScore"; + this.colScore.ReadOnly = true; + this.colScore.Visible = false; + this.colScore.Width = 38; + // + // colCanUse + // + this.colCanUse.HeaderText = "可用"; + this.colCanUse.Name = "colCanUse"; + this.colCanUse.ReadOnly = true; + this.colCanUse.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colCanUse.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colCanUse.Visible = false; + this.colCanUse.Width = 28; + // + // cmbFiltGroups + // + this.cmbFiltGroups.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.cmbFiltGroups.DefaultText = "全部"; + this.cmbFiltGroups.DropDownHeight = 1; + this.cmbFiltGroups.DropDownWidth = 1; + this.cmbFiltGroups.FormattingEnabled = true; + this.cmbFiltGroups.IntegralHeight = false; + this.cmbFiltGroups.Location = new System.Drawing.Point(57, 66); + this.cmbFiltGroups.Name = "cmbFiltGroups"; + this.cmbFiltGroups.Size = new System.Drawing.Size(82, 25); + this.cmbFiltGroups.TabIndex = 772; + this.cmbFiltGroups.Text = "全部"; + // + // lblTalkCount + // + this.lblTalkCount.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.lblTalkCount.AutoSize = true; + this.lblTalkCount.Font = new System.Drawing.Font("微软雅黑", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.lblTalkCount.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.lblTalkCount.Location = new System.Drawing.Point(140, 6); + this.lblTalkCount.Name = "lblTalkCount"; + this.lblTalkCount.Size = new System.Drawing.Size(17, 19); + this.lblTalkCount.TabIndex = 755; + this.lblTalkCount.Text = "0"; + // + // label6 + // + this.label6.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(96, 7); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(56, 17); + this.label6.TabIndex = 754; + this.label6.Text = "对话数:"; + // + // btnRefreshMsgCount + // + this.btnRefreshMsgCount.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.btnRefreshMsgCount.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnRefreshMsgCount.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnRefreshMsgCount.DisabledBackColor = System.Drawing.Color.Empty; + this.btnRefreshMsgCount.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnRefreshMsgCount.Location = new System.Drawing.Point(317, 4); + this.btnRefreshMsgCount.Name = "btnRefreshMsgCount"; + this.btnRefreshMsgCount.Size = new System.Drawing.Size(59, 22); + this.btnRefreshMsgCount.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnRefreshMsgCount.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnRefreshMsgCount.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnRefreshMsgCount.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnRefreshMsgCount.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnRefreshMsgCount.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnRefreshMsgCount.Style.CornerDiameter = 3; + this.btnRefreshMsgCount.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.btnRefreshMsgCount.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnRefreshMsgCount.Style.GradientAngle = 90; + this.btnRefreshMsgCount.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnRefreshMsgCount.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnRefreshMsgCount.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnRefreshMsgCount.TabIndex = 738; + this.btnRefreshMsgCount.Text = "刷新客服"; + this.btnRefreshMsgCount.Click += new System.EventHandler(this.btnRefreshMsgCount_Click); + // + // lblUserCount + // + this.lblUserCount.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.lblUserCount.AutoSize = true; + this.lblUserCount.Font = new System.Drawing.Font("微软雅黑", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.lblUserCount.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.lblUserCount.Location = new System.Drawing.Point(45, 6); + this.lblUserCount.Name = "lblUserCount"; + this.lblUserCount.Size = new System.Drawing.Size(17, 19); + this.lblUserCount.TabIndex = 239; + this.lblUserCount.Text = "0"; + // + // lblReplyCount + // + this.lblReplyCount.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.lblReplyCount.AutoSize = true; + this.lblReplyCount.Font = new System.Drawing.Font("微软雅黑", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.lblReplyCount.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.lblReplyCount.Location = new System.Drawing.Point(232, 6); + this.lblReplyCount.Name = "lblReplyCount"; + this.lblReplyCount.Size = new System.Drawing.Size(17, 19); + this.lblReplyCount.TabIndex = 241; + this.lblReplyCount.Text = "0"; + // + // label7 + // + this.label7.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.label7.AutoSize = true; + this.label7.Location = new System.Drawing.Point(188, 7); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(56, 17); + this.label7.TabIndex = 240; + this.label7.Text = "回复率:"; + // + // label4 + // + this.label4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(1, 7); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(56, 17); + this.label4.TabIndex = 238; + this.label4.Text = "用户数:"; + this.label4.Click += new System.EventHandler(this.label4_Click); + // + // btnRefreshAfterSale + // + this.btnRefreshAfterSale.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.btnRefreshAfterSale.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnRefreshAfterSale.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnRefreshAfterSale.DisabledBackColor = System.Drawing.Color.Empty; + this.btnRefreshAfterSale.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnRefreshAfterSale.Location = new System.Drawing.Point(257, 66); + this.btnRefreshAfterSale.Name = "btnRefreshAfterSale"; + this.btnRefreshAfterSale.Size = new System.Drawing.Size(118, 25); + this.btnRefreshAfterSale.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnRefreshAfterSale.Style.BackColor1.Color = System.Drawing.Color.White; + this.btnRefreshAfterSale.Style.BackColor2.Color = System.Drawing.Color.White; + this.btnRefreshAfterSale.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; + this.btnRefreshAfterSale.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnRefreshAfterSale.Style.ForeColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnRefreshAfterSale.Style.GradientAngle = 90; + this.btnRefreshAfterSale.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnRefreshAfterSale.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnRefreshAfterSale.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnRefreshAfterSale.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; + this.btnRefreshAfterSale.TabIndex = 222; + this.btnRefreshAfterSale.Text = "刷 新 售 后"; + this.btnRefreshAfterSale.Click += new System.EventHandler(this.btnRefreshAfterSale_Click); + // + // cmbFiltNotes + // + this.cmbFiltNotes.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.cmbFiltNotes.DefaultText = "全部"; + this.cmbFiltNotes.DropDownHeight = 1; + this.cmbFiltNotes.DropDownWidth = 1; + this.cmbFiltNotes.FormattingEnabled = true; + this.cmbFiltNotes.IntegralHeight = false; + this.cmbFiltNotes.Location = new System.Drawing.Point(173, 66); + this.cmbFiltNotes.Name = "cmbFiltNotes"; + this.cmbFiltNotes.Size = new System.Drawing.Size(82, 25); + this.cmbFiltNotes.TabIndex = 0; + this.cmbFiltNotes.Text = "全部"; + // + // btnRestore + // + this.btnRestore.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.btnRestore.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnRestore.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnRestore.DisabledBackColor = System.Drawing.Color.Empty; + this.btnRestore.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnRestore.Location = new System.Drawing.Point(213, 41); + this.btnRestore.Name = "btnRestore"; + this.btnRestore.Size = new System.Drawing.Size(42, 23); + this.btnRestore.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnRestore.Style.BackColor1.Color = System.Drawing.Color.White; + this.btnRestore.Style.BackColor2.Color = System.Drawing.Color.White; + this.btnRestore.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; + this.btnRestore.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnRestore.Style.ForeColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnRestore.Style.GradientAngle = 90; + this.btnRestore.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnRestore.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnRestore.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnRestore.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; + this.btnRestore.TabIndex = 207; + this.btnRestore.Text = "还 原"; + this.btnRestore.Click += new System.EventHandler(this.btnEmpty_Click); + // + // txtFiltShopName + // + this.txtFiltShopName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + // + // + // + this.txtFiltShopName.Border.Class = "TextBoxBorder"; + this.txtFiltShopName.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.txtFiltShopName.Location = new System.Drawing.Point(57, 41); + this.txtFiltShopName.Name = "txtFiltShopName"; + this.txtFiltShopName.PreventEnterBeep = true; + this.txtFiltShopName.Size = new System.Drawing.Size(110, 23); + this.txtFiltShopName.TabIndex = 202; + // + // btnFilterShop + // + this.btnFilterShop.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.btnFilterShop.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnFilterShop.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnFilterShop.DisabledBackColor = System.Drawing.Color.Empty; + this.btnFilterShop.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnFilterShop.Location = new System.Drawing.Point(169, 41); + this.btnFilterShop.Name = "btnFilterShop"; + this.btnFilterShop.Size = new System.Drawing.Size(42, 23); + this.btnFilterShop.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnFilterShop.Style.BackColor1.Color = System.Drawing.Color.White; + this.btnFilterShop.Style.BackColor2.Color = System.Drawing.Color.White; + this.btnFilterShop.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; + this.btnFilterShop.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnFilterShop.Style.ForeColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnFilterShop.Style.GradientAngle = 90; + this.btnFilterShop.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnFilterShop.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnFilterShop.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnFilterShop.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; + this.btnFilterShop.TabIndex = 195; + this.btnFilterShop.Text = "搜 索"; + this.btnFilterShop.Click += new System.EventHandler(this.btnFilterShop_Click); + // + // btnRefreshShop + // + this.btnRefreshShop.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.btnRefreshShop.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnRefreshShop.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnRefreshShop.DisabledBackColor = System.Drawing.Color.Empty; + this.btnRefreshShop.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnRefreshShop.Location = new System.Drawing.Point(257, 41); + this.btnRefreshShop.Name = "btnRefreshShop"; + this.btnRefreshShop.Size = new System.Drawing.Size(118, 23); + this.btnRefreshShop.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnRefreshShop.Style.BackColor1.Color = System.Drawing.Color.White; + this.btnRefreshShop.Style.BackColor2.Color = System.Drawing.Color.White; + this.btnRefreshShop.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; + this.btnRefreshShop.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnRefreshShop.Style.ForeColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnRefreshShop.Style.GradientAngle = 90; + this.btnRefreshShop.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnRefreshShop.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnRefreshShop.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnRefreshShop.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; + this.btnRefreshShop.TabIndex = 188; + this.btnRefreshShop.Text = "刷 新 店 铺"; + this.btnRefreshShop.Click += new System.EventHandler(this.pnlRefresh_Click); + // + // label2 + // + this.label2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(0, 44); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(68, 17); + this.label2.TabIndex = 217; + this.label2.Text = "店铺名称:"; + // + // label3 + // + this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(140, 70); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(44, 17); + this.label3.TabIndex = 218; + this.label3.Text = "备注:"; + // + // line1 + // + this.line1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.line1.ForeColor = System.Drawing.Color.Silver; + this.line1.Location = new System.Drawing.Point(4, 26); + this.line1.Name = "line1"; + this.line1.Size = new System.Drawing.Size(366, 10); + this.line1.TabIndex = 242; + this.line1.Text = "line1"; + // + // label5 + // + this.label5.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(0, 70); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(68, 17); + this.label5.TabIndex = 774; + this.label5.Text = "店铺分组:"; + // + // pbLoading + // + this.pbLoading.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.pbLoading.Image = global::TemuKJD.Properties.Resources.loading_blue; + this.pbLoading.Location = new System.Drawing.Point(291, 2); + this.pbLoading.Name = "pbLoading"; + this.pbLoading.Size = new System.Drawing.Size(25, 25); + this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.pbLoading.TabIndex = 8; + this.pbLoading.TabStop = false; + this.pbLoading.Visible = false; + // + // panel4 + // + this.panel4.Controls.Add(this.btnClose); + this.panel4.Controls.Add(this.btnToKfMainPage); + this.panel4.Controls.Add(this.ucTabControl1); + this.panel4.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel4.Location = new System.Drawing.Point(0, 0); + this.panel4.Name = "panel4"; + this.panel4.Size = new System.Drawing.Size(1115, 618); + this.panel4.TabIndex = 906; + // + // btnClose + // + this.btnClose.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.btnClose.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnClose.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnClose.DisabledBackColor = System.Drawing.Color.Empty; + this.btnClose.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnClose.Location = new System.Drawing.Point(2, 284); + this.btnClose.Name = "btnClose"; + this.btnClose.Size = new System.Drawing.Size(12, 50); + this.btnClose.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnClose.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnClose.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnClose.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnClose.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnClose.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnClose.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnClose.Style.GradientAngle = 90; + this.btnClose.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnClose.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnClose.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnClose.TabIndex = 902; + this.btnClose.Text = "<<"; + this.btnClose.Click += new System.EventHandler(this.btnClose_Click); + // + // btnToKfMainPage + // + this.btnToKfMainPage.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnToKfMainPage.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnToKfMainPage.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnToKfMainPage.DisabledBackColor = System.Drawing.Color.Empty; + this.btnToKfMainPage.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnToKfMainPage.Location = new System.Drawing.Point(1023, 12); + this.btnToKfMainPage.Name = "btnToKfMainPage"; + this.btnToKfMainPage.Size = new System.Drawing.Size(88, 23); + this.btnToKfMainPage.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnToKfMainPage.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnToKfMainPage.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnToKfMainPage.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnToKfMainPage.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnToKfMainPage.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnToKfMainPage.Style.CornerDiameter = 3; + this.btnToKfMainPage.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.btnToKfMainPage.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnToKfMainPage.Style.GradientAngle = 90; + this.btnToKfMainPage.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnToKfMainPage.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnToKfMainPage.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnToKfMainPage.TabIndex = 730; + this.btnToKfMainPage.Text = "返回客服首页"; + this.btnToKfMainPage.Click += new System.EventHandler(this.btnToKfMainPage_Click); + // + // ucTabControl1 + // + this.ucTabControl1.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(251)))), ((int)(((byte)(251)))), ((int)(((byte)(251))))); + this.ucTabControl1.Controls.Add(this.tabPage1); + this.ucTabControl1.Controls.Add(this.tabPage2); + this.ucTabControl1.Controls.Add(this.tpBuyerOrder); + this.ucTabControl1.Dock = System.Windows.Forms.DockStyle.Fill; + this.ucTabControl1.Font = new System.Drawing.Font("微软雅黑", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.ucTabControl1.ItemSize = new System.Drawing.Size(330, 36); + this.ucTabControl1.Location = new System.Drawing.Point(0, 0); + this.ucTabControl1.Multiline = true; + this.ucTabControl1.Name = "ucTabControl1"; + this.ucTabControl1.SelectedIndex = 0; + this.ucTabControl1.ShowCloseButton = false; + this.ucTabControl1.Size = new System.Drawing.Size(1115, 618); + this.ucTabControl1.TabIndex = 0; + this.ucTabControl1.TabSelectColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.ucTabControl1.TabSelectTextColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.ucTabControl1.TabTextColor = System.Drawing.Color.Gray; + // + // tabPage1 + // + this.tabPage1.Controls.Add(this.splitContainer3); + this.tabPage1.Font = new System.Drawing.Font("微软雅黑", 9F); + this.tabPage1.Location = new System.Drawing.Point(2, 40); + this.tabPage1.Name = "tabPage1"; + this.tabPage1.Padding = new System.Windows.Forms.Padding(0, 3, 0, 0); + this.tabPage1.Size = new System.Drawing.Size(1109, 574); + this.tabPage1.TabIndex = 0; + this.tabPage1.Text = "客服窗口"; + this.tabPage1.UseVisualStyleBackColor = true; + // + // splitContainer3 + // + this.splitContainer3.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer3.FixedPanel = System.Windows.Forms.FixedPanel.Panel1; + this.splitContainer3.Location = new System.Drawing.Point(0, 3); + this.splitContainer3.Name = "splitContainer3"; + this.splitContainer3.Orientation = System.Windows.Forms.Orientation.Horizontal; + // + // splitContainer3.Panel1 + // + this.splitContainer3.Panel1.Controls.Add(this.btnNext); + this.splitContainer3.Panel1.Controls.Add(this.btnPrev); + this.splitContainer3.Panel1.Controls.Add(this.txtAddress); + this.splitContainer3.Panel1MinSize = 0; + // + // splitContainer3.Panel2 + // + this.splitContainer3.Panel2.Controls.Add(this.pnlAiTalk); + this.splitContainer3.Panel2MinSize = 0; + this.splitContainer3.Size = new System.Drawing.Size(1109, 571); + this.splitContainer3.SplitterDistance = 25; + this.splitContainer3.TabIndex = 2; + // + // btnNext + // + this.btnNext.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnNext.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnNext.DisabledBackColor = System.Drawing.Color.Empty; + this.btnNext.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnNext.Location = new System.Drawing.Point(33, 2); + this.btnNext.Name = "btnNext"; + this.btnNext.Size = new System.Drawing.Size(32, 23); + this.btnNext.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnNext.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnNext.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnNext.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnNext.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnNext.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnNext.Style.CornerDiameter = 3; + this.btnNext.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.btnNext.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnNext.Style.GradientAngle = 90; + this.btnNext.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnNext.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnNext.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnNext.TabIndex = 734; + this.btnNext.Text = "→"; + this.btnNext.Visible = false; + this.btnNext.Click += new System.EventHandler(this.btnNext_Click); + // + // btnPrev + // + this.btnPrev.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnPrev.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnPrev.DisabledBackColor = System.Drawing.Color.Empty; + this.btnPrev.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnPrev.Location = new System.Drawing.Point(0, 2); + this.btnPrev.Name = "btnPrev"; + this.btnPrev.Size = new System.Drawing.Size(32, 23); + this.btnPrev.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnPrev.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnPrev.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnPrev.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnPrev.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnPrev.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnPrev.Style.CornerDiameter = 3; + this.btnPrev.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.btnPrev.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnPrev.Style.GradientAngle = 90; + this.btnPrev.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnPrev.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnPrev.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnPrev.TabIndex = 734; + this.btnPrev.Text = "←"; + this.btnPrev.Visible = false; + this.btnPrev.Click += new System.EventHandler(this.btnPrev_Click); + // + // txtAddress + // + this.txtAddress.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtAddress.Location = new System.Drawing.Point(66, 1); + this.txtAddress.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); + this.txtAddress.Name = "txtAddress"; + this.txtAddress.Size = new System.Drawing.Size(1040, 23); + this.txtAddress.TabIndex = 12; + this.txtAddress.Visible = false; + this.txtAddress.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtAddress_KeyDown); + // + // pnlAiTalk + // + this.pnlAiTalk.BackColor = System.Drawing.Color.White; + this.pnlAiTalk.Controls.Add(this.pnlCover); + this.pnlAiTalk.Dock = System.Windows.Forms.DockStyle.Fill; + this.pnlAiTalk.Location = new System.Drawing.Point(0, 0); + this.pnlAiTalk.Name = "pnlAiTalk"; + this.pnlAiTalk.Size = new System.Drawing.Size(1109, 542); + this.pnlAiTalk.TabIndex = 2; + // + // pnlCover + // + this.pnlCover.Controls.Add(this.pictureBox1); + this.pnlCover.Controls.Add(this.btnReLogin); + this.pnlCover.Location = new System.Drawing.Point(24, 18); + this.pnlCover.Name = "pnlCover"; + this.pnlCover.Size = new System.Drawing.Size(200, 100); + this.pnlCover.TabIndex = 0; + this.pnlCover.Visible = false; + // + // pictureBox1 + // + this.pictureBox1.Anchor = System.Windows.Forms.AnchorStyles.None; + this.pictureBox1.Image = global::TemuKJD.Properties.Resources.loading_blue; + this.pictureBox1.Location = new System.Drawing.Point(75, 25); + this.pictureBox1.Name = "pictureBox1"; + this.pictureBox1.Size = new System.Drawing.Size(50, 50); + this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.pictureBox1.TabIndex = 738; + this.pictureBox1.TabStop = false; + this.pictureBox1.Visible = false; + // + // btnReLogin + // + this.btnReLogin.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.btnReLogin.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnReLogin.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnReLogin.DisabledBackColor = System.Drawing.Color.Empty; + this.btnReLogin.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnReLogin.Location = new System.Drawing.Point(106, 71); + this.btnReLogin.Name = "btnReLogin"; + this.btnReLogin.Size = new System.Drawing.Size(88, 23); + this.btnReLogin.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnReLogin.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnReLogin.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnReLogin.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnReLogin.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnReLogin.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnReLogin.Style.CornerDiameter = 3; + this.btnReLogin.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.btnReLogin.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnReLogin.Style.GradientAngle = 90; + this.btnReLogin.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnReLogin.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnReLogin.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnReLogin.TabIndex = 734; + this.btnReLogin.Text = "重新登录"; + this.btnReLogin.Visible = false; + this.btnReLogin.Click += new System.EventHandler(this.btnReLogin_Click); + // + // tabPage2 + // + this.tabPage2.Controls.Add(this.mainPanel); + this.tabPage2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.tabPage2.Location = new System.Drawing.Point(2, 40); + this.tabPage2.Name = "tabPage2"; + this.tabPage2.Padding = new System.Windows.Forms.Padding(0, 3, 0, 0); + this.tabPage2.Size = new System.Drawing.Size(1109, 574); + this.tabPage2.TabIndex = 1; + this.tabPage2.Text = "店铺后台"; + this.tabPage2.UseVisualStyleBackColor = true; + // + // mainPanel + // + this.mainPanel.Dock = System.Windows.Forms.DockStyle.Fill; + this.mainPanel.Location = new System.Drawing.Point(0, 3); + this.mainPanel.Name = "mainPanel"; + this.mainPanel.Size = new System.Drawing.Size(1109, 571); + this.mainPanel.TabIndex = 1; + // + // tpBuyerOrder + // + this.tpBuyerOrder.Location = new System.Drawing.Point(2, 40); + this.tpBuyerOrder.Name = "tpBuyerOrder"; + this.tpBuyerOrder.Padding = new System.Windows.Forms.Padding(0, 3, 0, 0); + this.tpBuyerOrder.Size = new System.Drawing.Size(1109, 574); + this.tpBuyerOrder.TabIndex = 2; + this.tpBuyerOrder.Text = "订单管理"; + this.tpBuyerOrder.UseVisualStyleBackColor = true; + // + // ColumnShopStatus + // + this.ColumnShopStatus.HeaderText = "登录状态"; + this.ColumnShopStatus.Name = "ColumnShopStatus"; + this.ColumnShopStatus.ReadOnly = true; + this.ColumnShopStatus.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.ColumnShopStatus.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.ColumnShopStatus.Width = 106; + // + // ColumnShopID + // + this.ColumnShopID.HeaderText = "店铺账号"; + this.ColumnShopID.Name = "ColumnShopID"; + this.ColumnShopID.ReadOnly = true; + this.ColumnShopID.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.ColumnShopID.Width = 62; + // + // ColumnShopName + // + this.ColumnShopName.HeaderText = "店铺名称"; + this.ColumnShopName.Name = "ColumnShopName"; + this.ColumnShopName.ReadOnly = true; + this.ColumnShopName.Width = 62; + // + // dataGridViewTextBoxColumn1 + // + this.dataGridViewTextBoxColumn1.HeaderText = "店铺账号"; + this.dataGridViewTextBoxColumn1.Name = "dataGridViewTextBoxColumn1"; + this.dataGridViewTextBoxColumn1.ReadOnly = true; + this.dataGridViewTextBoxColumn1.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.dataGridViewTextBoxColumn1.Width = 62; + // + // dataGridViewTextBoxColumn2 + // + this.dataGridViewTextBoxColumn2.HeaderText = "店铺名称"; + this.dataGridViewTextBoxColumn2.Name = "dataGridViewTextBoxColumn2"; + this.dataGridViewTextBoxColumn2.ReadOnly = true; + this.dataGridViewTextBoxColumn2.Width = 62; + // + // dataGridViewLinkColumn1 + // + this.dataGridViewLinkColumn1.HeaderText = "登录状态"; + this.dataGridViewLinkColumn1.Name = "dataGridViewLinkColumn1"; + this.dataGridViewLinkColumn1.ReadOnly = true; + this.dataGridViewLinkColumn1.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.dataGridViewLinkColumn1.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.dataGridViewLinkColumn1.Width = 106; + // + // dataGridViewTextBoxColumn3 + // + this.dataGridViewTextBoxColumn3.HeaderText = "店铺账号"; + this.dataGridViewTextBoxColumn3.Name = "dataGridViewTextBoxColumn3"; + this.dataGridViewTextBoxColumn3.ReadOnly = true; + this.dataGridViewTextBoxColumn3.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.dataGridViewTextBoxColumn3.Width = 62; + // + // dataGridViewTextBoxColumn4 + // + this.dataGridViewTextBoxColumn4.HeaderText = "店铺名称"; + this.dataGridViewTextBoxColumn4.Name = "dataGridViewTextBoxColumn4"; + this.dataGridViewTextBoxColumn4.ReadOnly = true; + this.dataGridViewTextBoxColumn4.Width = 62; + // + // dataGridViewLinkColumn2 + // + this.dataGridViewLinkColumn2.HeaderText = "登录状态"; + this.dataGridViewLinkColumn2.Name = "dataGridViewLinkColumn2"; + this.dataGridViewLinkColumn2.ReadOnly = true; + this.dataGridViewLinkColumn2.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.dataGridViewLinkColumn2.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.dataGridViewLinkColumn2.Width = 106; + // + // WxAiTalkForm + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.ClientSize = new System.Drawing.Size(1500, 700); + this.Controls.Add(this.panel3); + this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.KeyPreview = true; + this.Name = "WxAiTalkForm"; + this.ShowMaximizeBox = true; + this.Text = "微信小店客服"; + this.TitleText = "微信小店客服"; + this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.WxTalkForm_FormClosed); + this.Load += new System.EventHandler(this.WxTalkForm_Load); + this.Controls.SetChildIndex(this.panel3, 0); + ((System.ComponentModel.ISupportInitialize)(this.pbLogo)).EndInit(); + this.panel3.ResumeLayout(false); + this.splitContainer1.Panel1.ResumeLayout(false); + this.splitContainer1.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); + this.splitContainer1.ResumeLayout(false); + this.splitContainer2.Panel1.ResumeLayout(false); + this.splitContainer2.Panel1.PerformLayout(); + this.splitContainer2.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit(); + this.splitContainer2.ResumeLayout(false); + this.splitContainer4.Panel1.ResumeLayout(false); + this.splitContainer4.Panel2.ResumeLayout(false); + this.splitContainer4.Panel2.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer4)).EndInit(); + this.splitContainer4.ResumeLayout(false); + this.pnlShop.ResumeLayout(false); + this.pnlShop.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dgvShop)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.pbLoading)).EndInit(); + this.panel4.ResumeLayout(false); + this.ucTabControl1.ResumeLayout(false); + this.tabPage1.ResumeLayout(false); + this.splitContainer3.Panel1.ResumeLayout(false); + this.splitContainer3.Panel1.PerformLayout(); + this.splitContainer3.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).EndInit(); + this.splitContainer3.ResumeLayout(false); + this.pnlAiTalk.ResumeLayout(false); + this.pnlCover.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); + this.tabPage2.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Panel panel3; + private System.Windows.Forms.SplitContainer splitContainer1; + private System.Windows.Forms.SplitContainer splitContainer2; + private System.Windows.Forms.CheckBox chkNotShowMessageWindow; + private System.Windows.Forms.ComboBox cmbMessage; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.SplitContainer splitContainer4; + private DevComponents.DotNetBar.PanelEx btnRefreshShop; + private System.Windows.Forms.DataGridViewTextBoxColumn ColumnShopID; + private System.Windows.Forms.DataGridViewTextBoxColumn ColumnShopName; + private System.Windows.Forms.DataGridViewLinkColumn ColumnShopStatus; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn1; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn2; + private System.Windows.Forms.DataGridViewLinkColumn dataGridViewLinkColumn1; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn3; + private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn4; + private System.Windows.Forms.DataGridViewLinkColumn dataGridViewLinkColumn2; + private UserComponent.DataGridViewEx dgvShop; + private UserComponent.UcTabControl ucTabControl1; + private System.Windows.Forms.TabPage tabPage1; + private System.Windows.Forms.TabPage tabPage2; + private System.Windows.Forms.Panel mainPanel; + private System.Windows.Forms.PictureBox pbLoading; + private DevComponents.DotNetBar.PanelEx btnFilterShop; + private DevComponents.DotNetBar.PanelEx btnRestore; + private DevComponents.DotNetBar.Controls.TextBoxX txtFiltShopName; + private UserComponent.UcComboBoxMutiSelect cmbFiltNotes; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label label2; + private DevComponents.DotNetBar.PanelEx btnRefreshAfterSale; + private System.Windows.Forms.SplitContainer splitContainer3; + private System.Windows.Forms.TextBox txtAddress; + private DevComponents.DotNetBar.PanelEx btnNext; + private DevComponents.DotNetBar.PanelEx btnToKfMainPage; + private DevComponents.DotNetBar.PanelEx btnPrev; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.Label lblUserCount; + private System.Windows.Forms.Label lblReplyCount; + private System.Windows.Forms.Label label7; + private DevComponents.DotNetBar.Controls.Line line1; + private DevComponents.DotNetBar.PanelEx btnRefreshMsgCount; + private System.Windows.Forms.Label lblTalkCount; + private System.Windows.Forms.Label label6; + private DevComponents.DotNetBar.PanelEx btnMultiLogin; + private UserComponent.UcComboBoxMutiSelect cmbFiltGroups; + private System.Windows.Forms.Label label5; + private DevComponents.DotNetBar.PanelEx btnClose; + private System.Windows.Forms.Panel panel4; + private System.Windows.Forms.TabPage tpBuyerOrder; + private System.Windows.Forms.Panel pnlAiTalk; + private System.Windows.Forms.Panel pnlShop; + private DevComponents.DotNetBar.PanelEx btnBatchBindShop; + private UserComponent.UcDataGridViewCheckBoxColumn colSelect; + private System.Windows.Forms.DataGridViewTextBoxColumn colShopLoginName; + private System.Windows.Forms.DataGridViewTextBoxColumn colShopId; + private System.Windows.Forms.DataGridViewTextBoxColumn colShopName; + private System.Windows.Forms.DataGridViewTextBoxColumn colGroup; + private System.Windows.Forms.DataGridViewTextBoxColumn colShopNotes; + private System.Windows.Forms.DataGridViewLinkColumn colLoginStatus; + private System.Windows.Forms.DataGridViewTextBoxColumn colAiStatus; + private System.Windows.Forms.DataGridViewTextBoxColumn colMessage; + private System.Windows.Forms.DataGridViewTextBoxColumn colAutoReplyCount; + private System.Windows.Forms.DataGridViewTextBoxColumn colWaitSend; + private System.Windows.Forms.DataGridViewTextBoxColumn colWayBillError; + private System.Windows.Forms.DataGridViewTextBoxColumn colAfterSale; + private System.Windows.Forms.DataGridViewTextBoxColumn colPunishCount; + private System.Windows.Forms.DataGridViewTextBoxColumn colScore; + private System.Windows.Forms.DataGridViewCheckBoxColumn colCanUse; + private System.Windows.Forms.Label lblCurrentShop; + private System.Windows.Forms.Panel pnlCover; + private DevComponents.DotNetBar.PanelEx btnReLogin; + private System.Windows.Forms.PictureBox pictureBox1; + private DevComponents.DotNetBar.PanelEx btnRefreshAiStatus; + } +} \ No newline at end of file diff --git a/TEMUKJD/WXForms/AiTalkForms/WxAiTalkForm.cs b/TEMUKJD/WXForms/AiTalkForms/WxAiTalkForm.cs new file mode 100644 index 0000000..7231e3c --- /dev/null +++ b/TEMUKJD/WXForms/AiTalkForms/WxAiTalkForm.cs @@ -0,0 +1,1362 @@ +using AllBase; +using AllBase.Helper; +using AllBase.Model.Config; +using AllBase.Model.Result; +using CefSharp; +using CefSharp.WinForms; +using NaiBa.CefHelper; +using NaiBa.CefHelper.Handler; +using NaiBa.Util; +using NaiBa.Util.Extension; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Diagnostics; +using System.Drawing; +using System.IO; +using System.IO.Compression; +using System.Linq; +using System.Media; +using System.Runtime.InteropServices; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using System.Windows.Forms; +using TemuKJD.BaseForms; +using TemuKJD.BLL; +using TemuKJD.BLL.Tools; +using TemuKJD.Extension; +using TemuKJD.Helper; +using TemuKJD.ToolForms; +using TemuKJD.WXForms.ShopForms; +using TemuKJD.WXForms.TalkForms; +using TemuKJD.WXForms.TalkForms.TalkHelper; +using TemuKJD.WXForms.TalkForms.TalkModel; + +namespace TemuKJD.WXForms.AiTalkForms +{ + public partial class WxAiTalkForm : BaseTalkForm + { + public string AiTalkUrl = "http://14.103.99.254"; + public string AiTalkUserId = ""; + + public static WxAiTalkForm instance { get; set; } + + /// + /// 自动回复话术信息 + /// + public static List> LstTalkTemplatePair { get; set; } = null; + public Dictionary dicTalkAutoReplyCount = new Dictionary(); + + /// + /// 客服统计信息 + /// + public ConcurrentList lstShopKfStatistics = new ConcurrentList(); + /// + /// 店铺主页统计信息 + /// + public ConcurrentList lstShopAfterSale = new ConcurrentList(); + + /// + /// 等待自动回复的消息队列 + /// + public ConcurrentList lstAutoReplayParam = new ConcurrentList(); + + public delegate void SearchResultReceivedHandler(ShopLoginInfo shop); + /// + /// 查询结果事件通知 + /// + public event SearchResultReceivedHandler SearchResultReceived; + + public delegate void InfomationReceivedHandler(string infomation); + /// + /// 消息事件通知,比如:异常等通知 + /// + /// + public event InfomationReceivedHandler InfomationReceived; + + public static ShopLoginInfo currentShop = null; + ChromiumWebBrowser mainWebBrowser = null; + ChromiumWebBrowser aiTalkWebBrowser = null; + ChromiumWebBrowser aiTalkAdminWebBrowser = null; + + /// + /// 弹出框列表 + /// + public static Dictionary dicRowColor = new Dictionary(); + public List LstTagShop = new List(); + + public PDDBuyerOrderListForm orderListForm = null; + + DateTime nextRefreshTime = DateTime.Now.AddMinutes(30); + + public WxAiTalkForm() + { + InitializeComponent(); + + instance = this; + ChatConfig.LoadChatSetting(); + } + + private void WxTalkForm_FormClosed(object sender, FormClosedEventArgs e) + { + Process.GetCurrentProcess().Kill(); + } + + private void WxTalkForm_Load(object sender, EventArgs e) + { + this.splitContainer3.SplitterDistance = 0; + this.dgvShop.AddSelectorColumn("colSelect"); + + //this.ucTabControl1.SelectedIndex = 2; + //Task.Run(() => + //{ + // Thread.Sleep(2000); + // Invoke(new Action(() => + // { + // this.ucTabControl1.SelectedIndex = 0; + // })); + //}); + + if (BaseClass.LogoImage != null) + pbLogo.Image = BaseClass.LogoImage; + if (BaseClass.Ico != null) + this.Icon = BaseClass.Ico; + else + this.Icon = BaseClass.Ico = ImageBuild.ConvertToIcon(Properties.Resources.icon); + +//#if DEBUG +//#else + ucTabControl1.TabPages.Remove(tpBuyerOrder); +//#endif + + // 点击变绿的店铺 + LstTagShop = NaiBa.Util.Helper.ConfigHelper.LoadConfig>("wx_talk_tag_shop_list"); + if (LstTagShop == null) + LstTagShop = new List(); + + // 记录自动回复数量 + dicTalkAutoReplyCount = NaiBa.Util.Helper.ConfigHelper.LoadConfig>("wx_talk_auto_reply_count"); + if (dicTalkAutoReplyCount == null) + dicTalkAutoReplyCount = new Dictionary(); + + this.chkNotShowMessageWindow.CheckedChanged -= chkNotShowMessageWindow_CheckedChanged; + + if (this.cmbMessage.Items.Contains(ChatConfig.ChatSettingConfig.MessageSound)) + this.cmbMessage.SelectedItem = ChatConfig.ChatSettingConfig.MessageSound; + else + this.cmbMessage.SelectedIndex = 0; + this.chkNotShowMessageWindow.Checked = ChatConfig.ChatSettingConfig.IsNotShowMessageWindow; + + this.cmbMessage.SelectedIndexChanged += cmbMessage_SelectedIndexChanged; + this.chkNotShowMessageWindow.CheckedChanged += chkNotShowMessageWindow_CheckedChanged; + + SearchResultReceived += Chat_SearchResultReceived; + InfomationReceived += Collect_InfomationReceived; + + // 加载店铺后台页面 + if (mainWebBrowser == null) + { + mainWebBrowser = CEFBrowser.CreateChromiumWebBrowser("about:blank", false); + mainWebBrowser.KeyboardHandler = new KeyboardHandler(); + mainWebBrowser.Dock = DockStyle.Fill; + var lifeSpanHandler = new LifeSpanHandlerLocal(PopWindowType.NewTitleWindow); + lifeSpanHandler.parent = mainWebBrowser; + lifeSpanHandler.OnPop += MainLifeHandler_OnPop; + mainWebBrowser.LifeSpanHandler = lifeSpanHandler; + mainWebBrowser.AddressChanged += MainWebBrowser_AddressChanged; + mainWebBrowser.FrameLoadEnd += MainWebBrowser_FrameLoadEnd; + mainPanel.Controls.Add(mainWebBrowser); + } + + // 加载Ai客服页面 + LoadAiTalk(); + LoadAiTalkAdmin(); + + Task.Run(() => + { + // 等待店铺初始化 + // 直到店铺加载完后再加载客服内容 + while (!StartUp.IsShopInit) + Thread.Sleep(100); + + // 店铺加载完成后加载店铺后台页面 + currentShop = GlobalConfig.ValidShopLoginList.FirstOrDefault(); + Invoke(new Action(() => + { + lblCurrentShop.Text = "当前店铺:" + currentShop.ShopAccount; + })); + SetMainBrowserUrl(currentShop); + LoadShop(); + RefreshCookie(true); + Invoke(new Action(() => + { + foreach (var shopNote in GlobalConfig.ValidShopLoginList.Select(s => s.Notes).Where(s => !s.IsNullOrEmpty()).Distinct()) + { + this.cmbFiltNotes.Items.Add(shopNote); + } + foreach (var group in GlobalConfig.ValidShopLoginList.Select(s => s.GroupName).Where(s => !s.IsNullOrEmpty()).Distinct()) + { + this.cmbFiltGroups.Items.Add(group); + } + + lstShopAfterSale = NaiBa.Util.Helper.ConfigHelper.LoadConfig>("wx_shop_after_sale_list"); + if (lstShopAfterSale == null) + lstShopAfterSale = new ConcurrentList(); + })); + // 加载店铺确认默认店铺后再初始化订单列表读取 + InitOrderForm(); + + // 定时刷新 + while (true) + { + Thread.Sleep(1000); + if (DateTime.Now > nextRefreshTime) + { + + Invoke(new Action(() => { pbLoading.Visible = true; })); + nextRefreshTime = DateTime.Now.AddMinutes(30); + try + { + RefreshCookie(true); + LoadShop(); + } + catch (Exception ex) { BaseMsgForm.ShowError("刷新Cookie出错 " + ex.Message); } + try + { + RefreshMsgCount(); + } + catch (Exception ex) { BaseMsgForm.ShowError("刷新客服统计出错 " + ex.Message); } + try + { + RefreshAfterSale(true); + } + catch (Exception ex) { BaseMsgForm.ShowError("刷新售后出错 " + ex.Message); } + + Invoke(new Action(() => { pbLoading.Visible = false; })); + } + var deltaTime = nextRefreshTime - DateTime.Now; + Invoke(new Action(() => + { + this.btnRefreshShop.Text = "刷 新 店 铺 " + deltaTime.Minutes.ToString("00") + ":" + deltaTime.Seconds.ToString("00"); + })); + } + }); + + // 关闭弹窗 + ClosePopWindow(); + } + + /// + /// 初始化买手订单页面 + /// + void InitOrderForm() + { + Invoke(new Action(() => + { + //orderListForm = new PDDBuyerOrderListForm(); + //orderListForm.TopLevel = false; + //orderListForm.FormBorderStyle = FormBorderStyle.None; + //orderListForm.Dock = DockStyle.Fill; + //orderListForm.lblCurrentShop.Text = currentShop?.ShopAccount; + //orderListForm.lblCurrentShop.Tag = currentShop; + //tpBuyerOrder.Controls.Add(orderListForm); + //orderListForm.Show(); + })); + } + + void ClosePopWindow() + { + //Task.Run(() => + //{ + // for (int i = 0; i < 120; i++) + // { + // foreach (var shop in GlobalConfig.ValidShopLoginList) + // { + // if (shop.Chat?.IsBrowserInitialized != true) + // continue; + + // //关闭弹窗 + // var jsStr1 = @"var btnLst = document.getElementsByTagName('button'); + // for (i=0;i + /// 播放提示音 + /// + public void playSound() + { + string musicname = "默认提示音"; + if (!string.IsNullOrEmpty(ChatConfig.ChatSettingConfig.MessageSound)) + musicname = ChatConfig.ChatSettingConfig.MessageSound; + if (musicname == "无") + return; + if (musicname == "默认提示音") + musicname = "9527.wav"; + else + musicname = musicname + ".mp3"; + + if (musicname.Contains("wav")) + { + try + { + SoundPlayer sound = new SoundPlayer("temp/" + musicname); + sound.Play(); + } + catch + { + + } + } + if (musicname.Contains("mp3")) + { + try + { + mciSendString(@"close ""temp/" + musicname + @"""", null, 0, 0); + mciSendString(@"open ""temp/" + musicname + @"""", null, 0, 0); + mciSendString(@"play ""temp/" + musicname + @"""", null, 0, 0); + } + catch + { } + } + } + + + public void ShowChat(ShopLoginInfo shop) + { + //while (shop.Chat?.IsBrowserInitialized != true) + //{ + // Thread.Sleep(50); + //} + //// 设置cef cookie + //if (shop.Chat != null && shop.Chat.IsBrowserInitialized) + //{ + // var cookieManager = shop.Chat.RequestContext.GetCookieManager(null); + + // var cookieLst = new List(); + // try + // { + // cookieLst = JsonHelper.DeserializeJsonToList(shop.Cookies.ParseToString().Replace("empty=true;", "[]")); + // } + // catch + // { + // } + + // cookieManager.DeleteCookies("qq.com", null); + // foreach (var cook in cookieLst) + // { + // var t = CEFBrowser.SetCookieAsync(cook.Domain, cook.Name + "=" + cook.Value + ";", cookieManager); + // t.Wait(5000); + // } + + // if (shop.LoginStatus == "登录成功") + // shop.Chat.Load("https://store.weixin.qq.com/shop/kf"); + //} + } + + + public void LoadShop(List shopList = null) + { + if (shopList == null) + shopList = new List(); + if (shopList.Count == 0) + shopList.AddRange(GlobalConfig.ValidShopLoginList); + + for (int i = 0; i < shopList.Count; i++) + { + var shop = shopList[i]; + + var r = dgvShop.Rows.Cast().FirstOrDefault(x => x.Cells["colShopId"].Value.ToString() == shop.ShopId); + this.Invoke(new Action(() => + { + int iGrid = 0; + if (r == null) + { + iGrid = dgvShop.Rows.Add(); + if (iGrid == 0) + dgvShop.Rows[iGrid].Cells["colSelect"].Value = true; + r = dgvShop.Rows[iGrid]; + } + r.Cells["colShopId"].Value = shop.ShopId; // 店铺ID + r.Cells["colShopName"].Value = shop.ShopAccount; // 店铺名称 + r.Cells["colShopName"].Style.BackColor = LstTagShop.Contains(shop.ShopId) ? Color.LightGreen : (r.Tag is Color ? (Color)r.Tag : Color.White); + r.Cells["colGroup"].Value = shop.GroupName; // 分组 + r.Cells["colShopNotes"].Value = shop.Notes; // 备注 + r.Cells["colAutoReplyCount"].Value = dicTalkAutoReplyCount.FirstOrDefault(t => t.Key == shop.ShopId).Value.ParseToInt(); + r.Cells["colLoginStatus"].Value = shop.LoginStatus == "登录成功" ? "在线" : "掉线"; // 登录状态 + bool canUse = shop.LoginStatus == "登录成功"; + (r.Cells["colLoginStatus"] as DataGridViewLinkCell).Style.ForeColor = canUse ? Color.Blue : Color.Red; + (r.Cells["colLoginStatus"] as DataGridViewLinkCell).LinkColor = canUse ? Color.Blue : Color.Red; + (r.Cells["colLoginStatus"] as DataGridViewLinkCell).ActiveLinkColor = canUse ? Color.LightBlue : Color.OrangeRed; + (r.Cells["colLoginStatus"] as DataGridViewLinkCell).VisitedLinkColor = canUse ? Color.DarkBlue : Color.DarkRed; + dicRowColor[r] = r.DefaultCellStyle.BackColor; + })); + } + } + + void LoadAiTalk() + { + if (aiTalkWebBrowser == null) + { + aiTalkWebBrowser = CEFBrowser.CreateChromiumWebBrowser("about:blank", false); + CustomResourceRequestHandler resourceRequestHandler = new CustomResourceRequestHandler(); + var handler = resourceRequestHandler; + handler.ResourceLoadCompleteEvent += RequestHandler_ResourceLoadComplete; + aiTalkWebBrowser.RequestHandler = new CustomRequestHandler(resourceRequestHandler); + aiTalkWebBrowser.KeyboardHandler = new KeyboardHandler(); + //var lifeHandler = new LifeSpanHandlerLocal(PopWindowType.NewTitleWindow); + //lifeHandler.OnPop += LifeHandler_OnPop; + //lifeHandler.parent = aiTalkWebBrowser; + //aiTalkWebBrowser.LifeSpanHandler = lifeHandler; + //RequestContextSettings requestContextSettings = new RequestContextSettings(); + //requestContextSettings.PersistSessionCookies = false; // 会话 Cookie(未设置过期时间的 Cookie)仅在内存中存在,‌关闭浏览器进程后即被删除‌,下次启动需重新登录。 + //requestContextSettings.PersistUserPreferences = false; + //aiTalkWebBrowser.RequestContext = new RequestContext(requestContextSettings); + aiTalkWebBrowser.Dock = DockStyle.Fill; + aiTalkWebBrowser.Load("http://14.103.99.254"); + pnlAiTalk.Controls.Add(aiTalkWebBrowser); + //while (aiTalkWebBrowser.IsBrowserInitialized != true) + //{ + // Thread.Sleep(50); + //} + } + } + void LoadAiTalkAdmin() + { + pictureBox1.Visible = true; + if (aiTalkAdminWebBrowser == null) + { + aiTalkAdminWebBrowser = CEFBrowser.CreateChromiumWebBrowser("about:blank", false); + CustomResourceRequestHandler resourceRequestHandler = new CustomResourceRequestHandler(); + var adminHandler = resourceRequestHandler; + adminHandler.ResourceLoadCompleteEvent += AdminRequestHandler_ResourceLoadComplete; + aiTalkAdminWebBrowser.RequestHandler = new CustomRequestHandler(resourceRequestHandler); + aiTalkAdminWebBrowser.KeyboardHandler = new KeyboardHandler(); + //var lifeHandler = new LifeSpanHandlerLocal(PopWindowType.NewTitleWindow); + //lifeHandler.OnPop += LifeHandler_OnPop; + //lifeHandler.parent = aiTalkAdminWebBrowser; + //aiTalkAdminWebBrowser.LifeSpanHandler = lifeHandler; + aiTalkAdminWebBrowser.Dock = DockStyle.Fill; + aiTalkAdminWebBrowser.SendToBack(); + } + aiTalkAdminWebBrowser.Load("http://14.103.99.254"); + pnlShop.Controls.Add(aiTalkAdminWebBrowser); + + Task.Run(() => + { + while (!aiTalkAdminWebBrowser.Address.Contains("/admin")) + { + Thread.Sleep(500); + string loginJs = @"document.getElementById('username').value = 'admin'; + document.getElementById('password').value = 'liangna123'; + document.getElementsByTagName('button')[0].click();"; + var response = aiTalkAdminWebBrowser.GetBrowser().MainFrame.EvaluateScriptAsync(loginJs); + response.Wait(2000); + } + + string data = @"{""username"":""" + BaseClass.UserName + @""",""password"":""" + BaseClass.PassWord + @"""}"; + string url = AiTalkUrl + "/login"; + string refer = AiTalkUrl + "/workbench"; + var rst = HttpResponseWxAiTalkBLL.PostResponse(new ShopLoginInfo(), url, data, refer); + if (!rst.Contains("\"ok\":true")) + { + var cookies = CEFBrowser.GetCookieList("", aiTalkAdminWebBrowser.RequestContext.GetCookieManager(null)); + data = @"{""username"":""" + BaseClass.UserName + @""",""password"":""" + BaseClass.PassWord + @""",""role"":""supervisor"",""status"":""active"",""expiresAt"":"""",""storeIds"":[]}"; + url = AiTalkUrl + "/api/users"; + refer = AiTalkUrl + "workbench"; + rst = HttpResponseWxAiTalkBLL.PostResponse(new ShopLoginInfo() { Cookies = JsonHelper.SerializeObject(cookies) }, url, data, refer); + if (!rst.Contains("\"username\":\"" + BaseClass.UserName + "\"")) + { + BaseMsgForm.ShowError("AI客服账户登录失败,请稍候重试!"); + return; + } + } + AiTalkUserId = BaseRegex.GetStringJson(ref rst, "id"); + + aiTalkWebBrowser.Load(AiTalkUrl); + Thread.Sleep(500); + while (!aiTalkWebBrowser.Address.Contains("/workbench")) + { + Thread.Sleep(500); + string loginJs = @"document.getElementById('username').value='" + BaseClass.UserName + @"'; + document.getElementById('password').value='" + BaseClass.PassWord + @"'; + document.getElementsByTagName('button')[0].click();"; + var response = aiTalkWebBrowser.GetBrowser().MainFrame.EvaluateScriptAsync(loginJs); + response.Wait(2000); + } + + var shopIds = string.Join(",", GlobalConfig.ShopLoginList.Select(s => s.ShopId)); + url = AiTalkUrl + "/api/stores?page=1&pageSize=5000&keyword=" + shopIds; + refer = AiTalkUrl + "/api/stores"; + var adminCookies = CEFBrowser.GetCookieList("", aiTalkAdminWebBrowser.RequestContext.GetCookieManager(null)); + rst = HttpResponseWxAiTalkBLL.GetResponse(new ShopLoginInfo() { Cookies = JsonHelper.SerializeObject(adminCookies) }, url, refer); + + if (rst.Contains("\"stores\":[")) + { + List aiTalkInfoLst = JsonHelper.DeserializeJsonToList(JsonHelper.JObjectParse(rst)["stores"].ParseToString()); + foreach (var shop in GlobalConfig.ShopLoginList) + { + shop.shopAiTalkInfo = aiTalkInfoLst.FirstOrDefault(s => s.id == shop.ShopId); + } + } + else + { + BaseMsgForm.ShowError("AI客服账户登录失败,请稍候重试!"); + return; + } + + foreach (var shop in GlobalConfig.ShopLoginList) + { + BindAiTalkStatus(shop); + } + + Thread.Sleep(1000); + + Invoke(new Action(() => { + pnlCover.Visible = false; + pnlCover.SendToBack(); + pictureBox1.Visible = false; + })); + }); + } + + private void BindAiTalkStatus(ShopLoginInfo shop) + { + var dgvRow = this.dgvShop.Rows.Cast().FirstOrDefault(r => r.Cells["colShopId"].Value.ParseToString() == shop.ShopId); + if (dgvRow == null) + return; + + if (shop.shopAiTalkInfo == null) + { + Invoke(new Action(() => + { + dgvRow.Cells["colAiStatus"].Style.ForeColor = Color.Red; + dgvRow.Cells["colAiStatus"].Value = "点击授权"; + })); + } + else if (!shop.shopAiTalkInfo.ownerNames.Contains(BaseClass.UserName)) + { + Invoke(new Action(() => + { + dgvRow.Cells["colAiStatus"].Style.ForeColor = Color.Purple; + dgvRow.Cells["colAiStatus"].Value = "未绑定用户"; + })); + } + else + { + Invoke(new Action(() => + { + dgvRow.Cells["colAiStatus"].Style.ForeColor = Color.Green; + dgvRow.Cells["colAiStatus"].Value = "已绑定"; + })); + } + } + + private void LoadShopAfterSale(WxTalkFormShopMainInfo shopAfterSale, string msg) + { + var r = dgvShop.Rows.Cast().FirstOrDefault(x => x.Cells["colShopId"].Value.ToString() == shopAfterSale.ShopId); + if (r != null) + { + r.Cells["colMessage"].Value = msg; + r.Cells["colWaitSend"].Value = shopAfterSale.WaitSendCount; + r.Cells["colWaitSend"].Style.ForeColor = shopAfterSale.WaitSendCount > 0 ? Color.OrangeRed : Color.Black; + r.Cells["colWaybillError"].Value = shopAfterSale.WaybillError; + r.Cells["colWaybillError"].Style.ForeColor = shopAfterSale.WaybillError > 0 ? Color.OrangeRed : Color.Black; + r.Cells["colAfterSale"].Value = shopAfterSale.AfterSaleCount; + r.Cells["colAfterSale"].Style.ForeColor = shopAfterSale.AfterSaleCount > 0 ? Color.OrangeRed : Color.Black; + r.Cells["colPunishCount"].Value = shopAfterSale.PunishCount; + r.Cells["colPunishCount"].Style.ForeColor = shopAfterSale.PunishCount > 0 ? Color.OrangeRed : Color.Black; + r.Cells["colScore"].Value = shopAfterSale.ShopScore.IsNullOrEmpty() ? "-" : shopAfterSale.ShopScore.ParseToString(); + } + } + + private void RequestHandler_ResourceLoadComplete(object sender, string url, string postData, string responseData) + { + if (responseData.Contains("登录失败") || responseData.Contains("\\u767b\\u5f55\\u5931\\u8d25")) + { + Invoke(new Action(() => + { + this.pnlCover.Visible = true; + this.pnlCover.Dock = DockStyle.Fill; + this.pnlCover.BringToFront(); + this.btnReLogin.Visible = true; + })); + } + } + private void AdminRequestHandler_ResourceLoadComplete(object sender, string url, string postData, string responseData) + { + } + + void FlashDgvRow(DataGridViewRow row) + { + Task.Run(() => + { + if (row.Tag == null) + row.Tag = row.DefaultCellStyle.BackColor; + for (int j = 0; j < 6; j++) + { + Invoke(new Action(() => { row.DefaultCellStyle.BackColor = Color.White; })); + Thread.Sleep(120); + Invoke(new Action(() => { row.DefaultCellStyle.BackColor = Color.FromArgb(245, 95, 50); })); + Thread.Sleep(120); + Invoke(new Action(() => { row.DefaultCellStyle.BackColor = Color.FromArgb(245, 45, 10); })); + Thread.Sleep(120); + } + }); + } + + private void MainLifeHandler_OnPop(object sender, PopData e) + { + var targetUrl = e.Url; + var lifeHandler = sender as LifeSpanHandlerLocal; + + Task.Run(() => + { + if (lifeHandler.parent != null) + { + var cookies = CEFBrowser.GetCookieList("", lifeHandler.parent.RequestContext.GetCookieManager(null)); + Invoke(new Action(() => + { + CefForm cefForm = new CefForm(targetUrl, cookies); + cefForm.Show(); + })); + } + }); + } + + private void LifeHandler_OnPop(object sender, PopData e) + { + var targetUrl = e.Url; + var lifeHandler = sender as LifeSpanHandlerLocal; + + Task.Run(() => + { + }); + } + + + /// + /// 更新店铺后台首页 + /// + /// + private void SetMainBrowserUrl(ShopLoginInfo shop) + { + if (shop == null) + return; + + var cookieLst = new List(); + try + { + cookieLst = JsonHelper.DeserializeJsonToList(shop.Cookies.ParseToString().Replace("empty=true;", "[]")); + } + catch + { + } + + var cookieManager = mainWebBrowser.RequestContext.GetCookieManager(null); + cookieManager.DeleteCookiesAsync("qq.com", null).Wait(); + foreach (var cook in cookieLst) + { + var t = CEFBrowser.SetCookieAsync(cook.Domain, cook.Name + "=" + cook.Value + ";", cookieManager); + t.Wait(5000); + } + + mainWebBrowser.Load("https://store.weixin.qq.com/shop/home"); + } + + private void cmbMessage_SelectedIndexChanged(object sender, EventArgs e) + { + ChatConfig.ChatSettingConfig.MessageSound = this.cmbMessage.SelectedItem.ToString(); + ChatConfig.SaveChatSettingParam(); + } + + private void chkNotShowMessageWindow_CheckedChanged(object sender, EventArgs e) + { + ChatConfig.ChatSettingConfig.IsNotShowMessageWindow = chkNotShowMessageWindow.Checked; + ChatConfig.SaveChatSettingParam(); + + } + + private void Chat_SearchResultReceived(ShopLoginInfo shop) + { + } + private void Collect_InfomationReceived(string infomation) + { + } + + // 右键点击 + private void dgvShop_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e) + { + if (e.ColumnIndex < 0 || e.RowIndex < 0) + return; + + if (e.Button != MouseButtons.Right) + return; + + string shopId = dgvShop.Rows[e.RowIndex].Cells["colShopId"].Value?.ToString(); + if (string.IsNullOrEmpty(shopId)) + return; + var shop = GlobalConfig.ValidShopLoginList.FirstOrDefault(s => s.ShopId == shopId); + if (shop == null) + return; + + if (!LstTagShop.Contains(shop.ShopId)) + { + LstTagShop.Add(shop.ShopId); + //dgvShop.Rows[e.RowIndex].Cells["colShopName"].Style.ForeColor = Color.LightGreen; + dgvShop.Rows[e.RowIndex].Cells["colShopName"].Style.BackColor = Color.LightGreen; + } + else + { + LstTagShop.Remove(shop.ShopId); + dgvShop.Rows[e.RowIndex].Cells["colShopName"].Style.ForeColor = DefaultForeColor; + dgvShop.Rows[e.RowIndex].Cells["colShopName"].Style.BackColor = dgvShop.Rows[e.RowIndex].Tag is Color ? (Color)dgvShop.Rows[e.RowIndex].Tag : Color.White; + } + NaiBa.Util.Helper.ConfigHelper.SaveConfig>("wx_talk_tag_shop_list", LstTagShop); + } + + private void dgvShop_CellContentClick(object sender, DataGridViewCellEventArgs e) + { + if (e.ColumnIndex < 0 || e.RowIndex < 0) + return; + + var row = dgvShop.Rows[e.RowIndex]; + + string shopId = dgvShop.Rows[e.RowIndex].Cells["colShopId"].Value?.ToString(); + if (string.IsNullOrEmpty(shopId)) + return; + var shop = GlobalConfig.ValidShopLoginList.FirstOrDefault(s => s.ShopId == shopId); + if (shop == null) + return; + + if (dgvShop.Columns[e.ColumnIndex].HeaderText == "状态"/* && dgvShop.Rows[e.RowIndex].Cells[e.ColumnIndex].Value?.ToString() == "掉线"*/) + { + Task.Run(() => + { + WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false); + if (shop.LoginStatus != "登录成功") + { + // 如需登录,引导至登录窗口,禁止从聊天窗口登录。 + Invoke(new Action(() => + { + // 登录小店 + WXShopLoginForm lf = new WXShopLoginForm(shop); + lf.openType = EnumOpenType.login; + lf.ShowDialog(); + })); + + //WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false); + // 掉线店铺重登校验后刷新网页 + LoadShop(new List() { shop }); + if (shop.LoginStatus == "登录成功") + { + //ShowChat(shop); + //while (shop.Chat.IsLoading) + //{ + // Thread.Sleep(50); + //} + } + } + else + { + Invoke(new Action(() => + { + // 进入小店 + WXShopLoginForm lf = new WXShopLoginForm(shop); + lf.openType = EnumOpenType.manage; + lf.WindowState = FormWindowState.Maximized; + lf.Show(); + })); + } + + }); + } + else if (dgvShop.Columns[e.ColumnIndex].HeaderText == "客服绑定") + { + if (row.Cells[e.ColumnIndex].Value.ParseToString() == "未授权" || row.Cells[e.ColumnIndex].Value.ParseToString() == "点击授权") + { + WXShopLoginForm lf = new WXShopLoginForm(shop); + lf.openType = EnumOpenType.manage; + lf.InitUrl = "https://store.weixin.qq.com/shop/servicemarket/home"; + lf.TopMost = true; + lf.lblSecret.Visible = lf.txtSecret.Visible = lf.btnSaveAppSecret.Visible = true; + lf.SaveCompleteWithDescribe += Lf_SaveComplete; + lf.Show(); + lf.TopMost = false; + } + + //https://store.weixin.qq.com/shop/customerservice/home + } + } + + private void Lf_SaveComplete(object o_shop, object o_appSecret, object o_wxShopLoginForm) + { + if (o_shop is ShopLoginInfo shop && o_wxShopLoginForm is WXShopLoginForm shopLoginFrom) + { + var appSecret = o_appSecret.ParseToString(); + if (string.IsNullOrEmpty(appSecret)) + { + shopLoginFrom.lblSecret.Text = "小店密钥输入错误!"; + return; + } + var appId = shop.ShopId; + var aesKey = Randomx.GetWordWithNumber(43); + var callbackUrl = AiTalkUrl + "/wechat/" + appId + "/callback"; + + string body = @"{""id"":""" + appId + @""",""appId"":""" + appId + @""",""name"":""" + shop.ShopAccount + + @""",""apiKey"":""" + appSecret + @""",""secret"":""" + appSecret + @""",""token"":""" + appId + + @""",""encodingAesKey"":""" + aesKey + @""",""callbackUrl"":""" + callbackUrl + @"""}"; + string url = AiTalkUrl + "/api/stores"; + string refer = AiTalkUrl + "/workbanch"; + var cookies = CEFBrowser.GetCookieList("", aiTalkAdminWebBrowser.RequestContext.GetCookieManager(null)); + var rst = HttpResponseWxAiTalkBLL.PostResponse(new ShopLoginInfo() { Cookies = JsonHelper.SerializeObject(cookies) }, url, body, refer); + if (!rst.Contains("\"id\":\"" + appId + "\"")) + { + shopLoginFrom.lblSecret.Text = "接入Ai客服错误!请重试!"; + return; + } + + // 拿到密钥去微信小店开通消息推送 + url = "https://store.weixin.qq.com/shop-faas/mmecnodeservicemarket/channel/ChannelsEcVerifyCallbackInfo?token=&lang=zh_CN"; + refer = "https://store.weixin.qq.com/shop/servicemarket/home"; + //{"url":"http://14.103.99.254/wechat/wx316b1291351558aa/callback","token":"wx316b1291351558aa","base64Key":"PZPtKsJ165j3IE1YOe0mxJLwiq125lES2Lq2xplg3KU"} + body = "{\"url\":\"" + callbackUrl + "\",\"token\":\"" + appId + "\",\"base64Key\":\"" + aesKey + "\"}"; + rst = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, refer); + //{"ret":0,"success":true,"code":0} + if (!rst.Contains("\"code\":0")) + { + WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false); + if (shop.LoginStatus != "登录成功") + { + shopLoginFrom.lblSecret.Text = "店铺掉线!请登录店铺后重试!"; + return; + } + shopLoginFrom.lblSecret.Text = "设置Ai客服推送错误!请重试!"; + return; + } + + shopLoginFrom.cefWebBrowser.Load("https://store.weixin.qq.com/shop/customerservice/home"); + shopLoginFrom.lblSecret.Text = "请点击客服设置,接入自研客服,扫码接入(不接入接收不到消息)"; + shopLoginFrom.btnSaveAppSecret.Text = "我已接入,关闭窗口"; + + Task.Run(() => + { + Thread.Sleep(500); + BatchBindShop(new List { shop.ShopId }); + }); + } + } + + private void dgvShop_CellClick(object sender, DataGridViewCellEventArgs e) + { + if (e.ColumnIndex < 0 || e.RowIndex < 0) + return; + + //foreach (DataGridViewRow r in dgvShop.Rows) + // r.Cells["colSelect"].Value = false; + + var row = dgvShop.Rows[e.RowIndex]; + //row.Cells["colSelect"].Value = true; + if (dgvShop.Columns[e.ColumnIndex].Name == "colSelect") + row.Cells["colSelect"].Value = !row.Cells["colSelect"].Value.ParseToBool(); + if (row.DefaultCellStyle.BackColor.R == 245 || row.DefaultCellStyle.BackColor == Color.Yellow) + row.DefaultCellStyle.BackColor = Color.Yellow; + + string shopId = row.Cells["colShopId"].Value?.ToString(); + if (string.IsNullOrEmpty(shopId)) + return; + var shop = GlobalConfig.ValidShopLoginList.Where(s => s.ShopId == shopId).FirstOrDefault(); + if (shop == null) + return; + + // 之前的当前店铺如果不在聊天界面强制转回聊天界面 + if (currentShop?.Chat != null) + { + var script = "document.documentElement.outerHTML;"; + try + { + string htmlContent = currentShop.Chat.EvaluateScriptAsync(script).Result.Result.ParseToString(); + if (currentShop.LoginStatus == "登录成功" && !htmlContent.Contains("按Enter发送")) + currentShop.Chat.Load("https://store.weixin.qq.com/shop/kf"); + } + catch { } + } + + currentShop = shop; + lblCurrentShop.Text = "当前店铺:" + currentShop.ShopAccount; + + if (shop?.Chat != null) + { + if (orderListForm != null) + { + orderListForm.lblCurrentShop.Text = currentShop.ShopAccount; + orderListForm.lblCurrentShop.Tag = currentShop; + } + + shop.Chat.Dock = DockStyle.Fill; + shop.Chat.BringToFront(); + btnPrev.BringToFront(); + btnNext.BringToFront(); + + txtAddress.Text = currentShop.Chat.Address; + } + + Task.Run(() => + { + SetMainBrowserUrl(shop); + }); + } + + private void pnlRefresh_Click(object sender, EventArgs e) + { + //nextRefreshTime = DateTime.Now.AddMinutes(30); + pbLoading.Visible = true; + Task.Run(() => + { + RefreshCookie(); + LoadShop(); + Invoke(new Action(() => { pbLoading.Visible = false; })); + }); + } + + void RefreshCookie(bool isAuto = false) + { + if (ChatConfig.ChatSettingConfig.IsAutoReply) + { + Invoke(new Action(()=> { this.ucTabControl1.SelectedIndex = 0; })); + } + + if (!isAuto) + WXShopListForm.UpdateShop(); + foreach (var shop in GlobalConfig.ValidShopLoginList) + { + var r = dgvShop.Rows.Cast().FirstOrDefault(x => x.Cells["colShopId"].Value.ToString() == shop.ShopId); + Invoke(new Action(() => + { + if (r != null) + r.Cells["colMessage"].Value = "正在刷新店铺"; + })); + WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false); + Invoke(new Action(() => + { + if (r != null) + r.Cells["colMessage"].Value = ""; + })); + } + } + + private void btnFilterShop_Click(object sender, EventArgs e) + { + string shopName = txtFiltShopName.Text.Trim(); + string notes = cmbFiltNotes.Text.Trim().Trim(';'); + string groups = cmbFiltGroups.Text.Trim().Trim(';'); + if (notes == "全部") + notes = ""; + if (groups == "全部") + groups = ""; + List notesLst = notes.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList(); + List groupsLst = groups.Split(new string[] { ";", ";", ",", "," }, StringSplitOptions.RemoveEmptyEntries).ToList(); + foreach (DataGridViewRow row in dgvShop.Rows) + { + if (!row.Cells["colShopName"].Value.ParseToString().Contains(shopName)) + row.Visible = false; + else if (!string.IsNullOrEmpty(notes) && !notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString())) + row.Visible = false; + else if (!string.IsNullOrEmpty(groups) && !groupsLst.Contains(row.Cells["colGroup"].Value.ParseToString())) + row.Visible = false; + else + row.Visible = true; + } + } + + private void btnEmpty_Click(object sender, EventArgs e) + { + cmbFiltGroups.Text = "全部"; + cmbFiltNotes.Text = "全部"; + btnFilterShop_Click(null, null); + } + + private void btnPrev_Click(object sender, EventArgs e) + { + aiTalkWebBrowser.Back(); + } + + private void btnNext_Click(object sender, EventArgs e) + { + aiTalkWebBrowser.Forward(); + } + + private void btnRefreshAfterSale_Click(object sender, EventArgs e) + { + this.pbLoading.Visible = true; + Task.Run(() => + { + RefreshAfterSale(true); + Invoke(new Action(() => { pbLoading.Visible = false; })); + }); + } + + void RefreshAfterSale(bool refreshAll = false) + { + List tList = new List(); + if (refreshAll) + lstShopAfterSale.Clear(); + foreach (var shop in GlobalConfig.ValidShopLoginList) + { + var shopMainInfo = lstShopAfterSale.FirstOrDefault(sa => sa.ShopId == shop.ShopId); + if (shopMainInfo == null) + shopMainInfo = new WxTalkFormShopMainInfo() { ShopId = shop.ShopId }; + Invoke(new Action(() => { LoadShopAfterSale(shopMainInfo, ""); })); + var t = Task.Run(() => + { + try + { + if (shop.LoginStatus != "登录成功") + { + Invoke(new Action(() => { LoadShopAfterSale(new WxTalkFormShopMainInfo() { ShopId = shop.ShopId }, "店铺掉线"); })); + return; + } + + var afterSaleInfo = lstShopAfterSale.FirstOrDefault(sa => sa.ShopId == shop.ShopId); + if (refreshAll || afterSaleInfo == null || afterSaleInfo.RefreshTime.Date != DateTime.Now.Date) + { + lstShopAfterSale.RemoveAll(sa => sa.ShopId == shop.ShopId); + var rst = WxShopStatisticsForm.GetShopMainInfoList(shop); + if (!rst.Contains("\"code\":0")) + rst = WxShopStatisticsForm.GetShopMainInfoList(shop); + if (!rst.Contains("\"code\":0")) + { + WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false); + if (shop.LoginStatus != "登录成功") + { + Invoke(new Action(() => { LoadShopAfterSale(new WxTalkFormShopMainInfo() { ShopId = shop.ShopId }, "店铺掉线"); })); + return; + } + + string errMsg = BaseRegex.GetStringJson(ref rst, "msg"); + if (string.IsNullOrEmpty(errMsg)) errMsg = BaseRegex.GetStringJson(ref rst, "message"); + if (string.IsNullOrEmpty(errMsg)) errMsg = BaseRegex.GetStringJson(ref rst, "errMsg"); + if (string.IsNullOrEmpty(errMsg)) errMsg = BaseRegex.GetStringJson(ref rst, "errmsg"); + if (string.IsNullOrEmpty(errMsg)) errMsg = rst; + + shopMainInfo = new WxTalkFormShopMainInfo() { ShopId = shop.ShopId, RefreshTime = DateTime.Now }; + lstShopAfterSale.Add(shopMainInfo); + Invoke(new Action(() => { LoadShopAfterSale(shopMainInfo, "查询失败 " + errMsg); })); + return; + } + + var afterCount = JsonHelper.JObjectParse(rst)["aftersaleAllRet"]["totalNum"].ParseToInt(); + var waitSendCount = JsonHelper.JObjectParse(rst)["orderNumRet"]["pendingShipNum"].ParseToInt(); + var waybillErrorCount = JsonHelper.JObjectParse(rst)["waybillErrorRet"]["totalNum"].ParseToInt(); + var punishCount = JsonHelper.JObjectParse(rst)["punishRet"]["pendingNum"].ParseToInt(); + shopMainInfo = new WxTalkFormShopMainInfo() + { + ShopId = shop.ShopId, + RefreshTime = DateTime.Now, + AfterSaleCount = afterCount, + WaitSendCount = waitSendCount, + WaybillError = waybillErrorCount, + PunishCount = punishCount, + }; + + var shopScoreRst = WxShopStatisticsForm.GetShopScore(shop); + System.Threading.Thread.Sleep(Randomx.GetId(50, 100)); + if (shopScoreRst.Contains("\"code\":0")) + { + shopMainInfo.ShopScore = BaseRegex.GetDecimalJson(ref shopScoreRst, "curValue"); + } + else + { + string errStr = BaseRegex.GetStringJson(ref shopScoreRst, "errorMsg"); + if (string.IsNullOrEmpty(errStr)) + errStr = BaseRegex.GetStringJson(ref shopScoreRst, "error_msg"); + if (string.IsNullOrEmpty(errStr)) + errStr = shopScoreRst; + WXShopListForm.Instance.CheckShopLogin(new string[] { shop.LoginName }, false); + shopMainInfo.err_msg = errStr; + + Invoke(new Action(() => { LoadShopAfterSale(shopMainInfo, "评分查询失败 " + errStr); })); + return; + } + + lstShopAfterSale.Add(shopMainInfo); + Invoke(new Action(() => { LoadShopAfterSale(shopMainInfo, "已查询"); })); + return; + } + } + catch (Exception ex) + { + } + }); + tList.Add(t); + while (tList.Where(ta => !ta.IsFaulted && !ta.IsCompleted).Count() >= 10) { Thread.Sleep(100); } + } + while (tList.Where(ta => !ta.IsFaulted && !ta.IsCompleted).Count() >= 1) { Thread.Sleep(100); } + NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_shop_after_sale_list", lstShopAfterSale); + } + + private void btnToKfMainPage_Click(object sender, EventArgs e) + { + ucTabControl1.SelectedIndex = 0; + aiTalkWebBrowser.Load(AiTalkUrl + "/workbench"); + } + + private void txtAddress_KeyDown(object sender, KeyEventArgs e) + { + if (e.KeyCode == Keys.Enter) + { + if (aiTalkWebBrowser != null) + { + aiTalkWebBrowser.Load(txtAddress.Text); + } + } + } + + public static string GetKfMsgStatistics(ShopLoginInfo shop, long beginDateTick, long endDateTick) + { + string url = "https://store.weixin.qq.com/shop/kf/cgi/data/getRealTimeShopV2?" + "beginDate=" + (beginDateTick / 1000) + "&endDate=" + (endDateTick / 1000m).ToString("0.000"); + string referer = "https://store.weixin.qq.com/shop/kf/data/store"; + var result = WXHttpResponseBLL.WeiXinGetResponse(shop, url, referer); + return result; + } + + private void btnRefreshMsgCount_Click(object sender, EventArgs e) + { + pbLoading.Visible = true; + Task.Run(() => + { + RefreshMsgCount(); + Invoke(new Action(() => { pbLoading.Visible = false; })); + }); + } + + void RefreshMsgCount() + { + lstShopKfStatistics.Clear(); + foreach (var shop in GlobalConfig.ValidShopLoginList) + { + var kfMsg = new WxShopKfStatistics() { ShopId = shop.ShopId }; + var kfMsgRst = GetKfMsgStatistics(shop, BaseClass.DateTimeToTimestampMilliseconds(DateTime.Now.Date), BaseClass.DateTimeToTimestampMilliseconds(DateTime.Now)); + if (!kfMsgRst.Contains("\"ret\":0")) + continue; + try + { + var jObj = JsonHelper.JObjectParse(kfMsgRst); + kfMsg.user_cnt = jObj["cardResp"]["objects"]["tableValueLine"][0]["columnValue"][1].ParseToInt(); + kfMsg.sesseion_cnt = jObj["cardResp"]["objects"]["tableValueLine"][0]["columnValue"][2].ParseToInt(); + kfMsg.service_noreply_ratio = jObj["cardResp"]["objects"]["tableValueLine"][0]["columnValue"][5].ParseToDecimal(); + lstShopKfStatistics.Add(kfMsg); + + Invoke(new Action(() => + { + int count = Math.Max(1, lstShopKfStatistics.Count()); + lblUserCount.Text = lstShopKfStatistics.Sum(s => s.user_cnt).ParseToString(); + lblTalkCount.Text = lstShopKfStatistics.Sum(s => s.sesseion_cnt).ParseToString(); + lblReplyCount.Text = lstShopKfStatistics.Sum(s => s.service_reply_ratio * 100 / count).ParseToDecimal().ToString("0.0") + "%"; + })); + } + catch + { + } + } + Invoke(new Action(() => + { + int count = Math.Max(1, lstShopKfStatistics.Count()); + lblUserCount.Text = lstShopKfStatistics.Sum(s => s.user_cnt).ParseToString(); + lblTalkCount.Text = lstShopKfStatistics.Sum(s => s.sesseion_cnt).ParseToString(); + lblReplyCount.Text = lstShopKfStatistics.Sum(s => s.service_reply_ratio * 100 / count).ParseToDecimal().ToString("0.0") + "%"; + })); + } + + public static void UpdateAutoReply(string talkTemplate) + { + LstTalkTemplatePair = new List>(); + var keyValueStrLst = talkTemplate.Split(new string[] { "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries); + foreach (var keyValueStr in keyValueStrLst) + { + if (keyValueStr.StartsWith("//")) + continue; + var keyValueLst = keyValueStr.Split(new string[] { "###" }, StringSplitOptions.RemoveEmptyEntries).ToList(); + if (keyValueLst.Count == 1) + keyValueLst.Insert(0, ""); + LstTalkTemplatePair.Add(new KeyValuePair(keyValueLst.FirstOrDefault(), keyValueLst.LastOrDefault())); + } + NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_talk_auto_reply_template", LstTalkTemplatePair); + } + + private void btnMultiLogin_Click(object sender, EventArgs e) + { + if (currentShop == null) + return; + + WXShopListForm.Instance.CheckShopLogin(new string[] { currentShop?.LoginName }, false); + if (currentShop.LoginStatus != "登录成功") + { + BaseMsgForm.ShowError("批量登录需要主店铺处于登录状态!"); + } + else + { + WXShopMultiLoginForm shopMultiLoginForm = new WXShopMultiLoginForm(currentShop); + shopMultiLoginForm.openType = EnumOpenType.multi_login; + shopMultiLoginForm.ShowDialog(); + + var switchShopLst = shopMultiLoginForm.lstSwitchShop.ToList(); + var needUpdateShopLst = shopMultiLoginForm.lstNeedUpdateShop.ToList(); + pbLoading.Visible = true; + Task.Run(() => + { + // 批量登录后刷新网页 + LoadShop(switchShopLst); + foreach (var shop in needUpdateShopLst) + { + ShowChat(shop); + } + Invoke(new Action(() => { pbLoading.Visible = false; })); + }); + } + } + + private void btnClose_Click(object sender, EventArgs e) + { + if (btnClose.Text == ">>") + { + splitContainer1.SplitterDistance = 496; + btnClose.Text = "<<"; + } + else + { + splitContainer1.SplitterDistance = 0; + btnClose.Text = ">>"; + } + } + + private void lblMsgSound_Click(object sender, EventArgs e) + { + } + + private void label4_Click(object sender, EventArgs e) + { + if (BaseClass.ParentUserName == "15288888888" || BaseClass.UserName == "15288888888") + { + if (dgvShop.Parent.Controls[0] != dgvShop) + dgvShop.BringToFront(); + else + dgvShop.SendToBack(); + } + } + + private void btnBatchBindShop_Click(object sender, EventArgs e) + { + var shopIds = dgvShop.Rows.Cast().Where(r => r.Cells["colSelect"].Value.ParseToBool() == true).Select(r => r.Cells["colShopId"].Value.ParseToString()).ToList(); + BatchBindShop(shopIds); + } + + void BatchBindShop(List shopIds) + { + if (shopIds.Count == 0) + { + BaseMsgForm.ShowError("请选择店铺"); + return; + } + + var cookies = CEFBrowser.GetCookieList("", aiTalkAdminWebBrowser.RequestContext.GetCookieManager(null)); + string data = @"{""id"":""" + AiTalkUserId + @""",""username"":""" + BaseClass.UserName + + @""",""role"":""supervisor"",""storeIds"":[""" + string.Join("\",\"", shopIds) + @"""],""status"":""active"",""password"":""""}"; + //data = @"{""id"":""user_1783069143289_df656a"",""username"":""15222220002"",""role"":""supervisor"",""storeIds"":[""shop02"",""wxff3e05179dc3b00d"",""shop01""],""status"":""active"",""expiresAt"":"""",""createdAt"":""2026-07-03T08:59:03.289Z"",""updatedAt"":""2026-07-03T08:59:03.289Z"",""password"":""""}"; + + // string body = @"{""id"":""user_1783069143289_df656a"",""username"":""15222220002"",""role"":""supervisor"",""storeIds"":[""shop02"",""wxff3e05179dc3b00d"",""shop01""],""status"":""active"",""expiresAt"":"""",""createdAt"":""2026-07-03T08:59:03.289Z"",""updatedAt"":""2026-07-03T08:59:03.289Z"",""password"":""""}"; + + var url = AiTalkUrl + "/api/users/" + this.AiTalkUserId + "/stores/bind"; + //url = "http://14.103.99.254/api/users/user_1783069143289_df656a"; + var refer = AiTalkUrl + "/workbench"; + var rst = HttpResponseWxAiTalkBLL.PostResponse(new ShopLoginInfo() { Cookies = JsonHelper.SerializeObject(cookies) }, url, data, refer); + if (!rst.Contains("\"username\":\"" + BaseClass.UserName + "\"")) + { + BaseMsgForm.ShowError("AI客服店铺绑定失败,请稍候重试!"); + return; + } + + refreshAiStatus(shopIds); + + this.aiTalkWebBrowser.Reload(); + } + + private void btnReLogin_Click(object sender, EventArgs e) + { + LoadAiTalkAdmin(); + } + + private void btnRefreshAiStatus_Click(object sender, EventArgs e) + { + pbLoading.Visible = true; + Task.Run(() => + { + refreshAiStatus(GlobalConfig.ShopLoginList.Select(s => s.ShopId).ToList()); + + Thread.Sleep(500); + Invoke(new Action(() => + { + pbLoading.Visible = false; + })); + }); + } + + void refreshAiStatus(List shopIds) + { + var url = AiTalkUrl + "/api/stores?page=1&pageSize=5000&keyword=" + string.Join(",", shopIds); + var refer = AiTalkUrl + "/api/stores"; + var adminCookies = CEFBrowser.GetCookieList("", aiTalkAdminWebBrowser.RequestContext.GetCookieManager(null)); + var rst = HttpResponseWxAiTalkBLL.GetResponse(new ShopLoginInfo() { Cookies = JsonHelper.SerializeObject(adminCookies) }, url, refer); + + if (rst.Contains("\"stores\":[")) + { + List aiTalkInfoLst = JsonHelper.DeserializeJsonToList(JsonHelper.JObjectParse(rst)["stores"].ParseToString()); + foreach (var shopId in shopIds) + { + var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == shopId); + if (shop != null) + shop.shopAiTalkInfo = aiTalkInfoLst.FirstOrDefault(ai => ai.id == shop.ShopId); + } + } + + foreach (var shop in GlobalConfig.ShopLoginList) + { + BindAiTalkStatus(shop); + } + } + + //https://store.weixin.qq.com/shop-faas/mmchannelstradeorder/list/cgi/orderSearch?token=&lang=zh_CN + //https://store.weixin.qq.com/shop/order/list + // 待发货 + //{"isSearch":false,"pageSize":30,"overTime":0,"pengingShipOneDay":0,"pengingShipSixHour":0,"expediteDelivery":0,"stockoutPunishAlert":0,"waybillStatus":0,"pageNum":1,"onAftersaleOrderExist":0,"orderStatus":20} + // 售后中 + //{"isSearch":false,"pageSize":30,"overTime":0,"pengingShipOneDay":0,"pengingShipSixHour":0,"expediteDelivery":0,"stockoutPunishAlert":0,"waybillStatus":0,"pageNum":1,"onAftersaleOrderExist":1,"orderStatus":0} + // 已发货 + //{"isSearch":false,"pageSize":30,"overTime":0,"pengingShipOneDay":0,"pengingShipSixHour":0,"expediteDelivery":0,"stockoutPunishAlert":0,"waybillStatus":0,"pageNum":1,"onAftersaleOrderExist":0,"orderStatus":30} + // 时间段查询全部 + //{"isSearch":true,"pageSize":30,"overTime":0,"pengingShipOneDay":0,"pengingShipSixHour":0,"expediteDelivery":0,"stockoutPunishAlert":0,"waybillStatus":0,"pageNum":1,"onAftersaleOrderExist":0,"orderStatus":0,"orderId":"","orderTime":{"type":0,"time":[1772380800000,1774868515000]},"telNumber":"","title":"","receiverName":"","finderNickName":"","merchantNotes":"","merchantNotesTagColor":0,"waybillId":"","productCode":"","inspectStatus":"","finderWay":0,"searchOrderType":0,"payMethod":0,"orderChannel":0,"bulkbuyActivityId":"","deliveryNegotiationFlag":0,"transactionId":"","page":1,"status":20,"startCreateTime":1772380800000,"endCreateTime":1774868515000} + } +} diff --git a/TEMUKJD/WXForms/AiTalkForms/WxAiTalkForm.resx b/TEMUKJD/WXForms/AiTalkForms/WxAiTalkForm.resx new file mode 100644 index 0000000..5f2f332 --- /dev/null +++ b/TEMUKJD/WXForms/AiTalkForms/WxAiTalkForm.resx @@ -0,0 +1,361 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + + + AAABAAEAgIAQAAAAAABoKAAAFgAAACgAAACAAAAAAAEAAAEABAAAAAAAACgAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP// + AAD///8AAAAAAAAAAAAAAAAzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMQ + AAAAAAAAAAAAAAAAAAAAAAAAABM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZkzEAAAAAAAAAAAAAAAAAAAAAADOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZMwAAAAAAAAAAAAAAAAAAABOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZkzAAAAAAAAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmTEAAAAAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAAAA5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAADmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAA5mZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAADmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAGZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAJmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZAAAAAA + OZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmT + AAAAAZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmRAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZkwAAAZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZkwAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZMAAJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZEAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTADmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkwCZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZOZmZOZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmP+JmZmZmZmZj/////// + ///4OZmZj/eZmZmZmZmZmPg5OZmZmZuI//iIuZmZmZmZmZmZmZM5mZmZmZmZmZmZmb//+JmZmZmZmP// + //////////OZmP//uZmZmZmZmY//+ZmZOZf///////h5k5mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZ + mZ/////////////4mZ///4mZmZmZmZP///uZmZmP////////+JmZmZmZmZmZkzmZmZmZmZmZmZmZj//4 + mZmZmZmf////////////+Jmf//+JmZmZmZmb///4mZmY//////////+JmZmZmZmZmZM5mZmZmZmZmZmZ + mY//+JmZmZmZn/////////////mZmP//iZmZmZmZk///+5mZj/////iP////+JmZmZmZmZmTOZmZmZmZ + mZmZmZmP//iZmZmZmZ////iIiIiIiIiZOZj//4mZmZmZmZP///uZmf////eZmT////+ZmZmZmZmZkzmZ + mZmZmZmZmZmZj//4mZmZmZmf//+JmZmZmZmZk5mY//+JmZmZmZmT///7mZj///+ZmZmZj///uZmZmZmZ + mZM5mZmZmZmZmZmZmY//+JmZmZmZn///iZmZmZmZmZmZmP//iZmZN5k5k///+5mY///zk5mZOT///4mZ + mZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZmZ///4mZmZmZmZmZmZj//4mZmP/5k5P///uZmP//+ZmZmZmY + //+JmZmZmZmZkzmZmZmZmZmZmZmZj//4mZmZmZmf///4iIiIiIg5mZmY//+JOb//+JmT///7mZj//4mZ + mZmZmP//+ZmZmZmZmZM5mZmZmZmZmZmZmY//+JmZmZmZn///////////85mZmP//iZn///+Jk///+5mf + //+JmZmZmZj///mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZmZ////////////+ZmZj//4mY////85v/ + //uZmP//iZmZmZmY///5mZmZmZmZkzmZmZmZmZmZmZmZj//4mZmZmZmf////////////mZmY//+Jv/// + //+Z///7mZj//4mZmZmZmP//+ZmZmZmZmZM5mZmZmZmZmZmZmY//+JmZmZmZn///////////+JmZmP// + if//////if//+5mY//+JmZmZmZj///mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZmZ///////////4mZ + mZj//4j///////j///uZmP//iZmZmZmY///5mZmZmZmZkzmZmZmZmZmZmZmZj//4mZmZmZmf//+JMzMz + MzOZOZmY//////+D///////7mZj//4mZmZmZmP//+ZmZmZmZmZM5mZmZmZmZmZmZmY//+JmZmZmZn/// + iZmZmZmZmZmZmP//////mY//////+5mY//+JmZmZmZj///mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZ + mZ///4mZmZmZmZmZmZj/////+5mf//////uZmP//iZmZmZmY///5mZmZmZmZkzmZmZmZmZmZMzM5j//4 + kzMzmZmf//+JMzMzMzM5mZmY/////4mTk//////7mZj//4mZmZmZmP//+ZmZmZmZmZM5mZmZmZmZmP// + /////////4mZn////////////4mZmP////+ZmZmP////+5mY//+JmZmZmZj///mZmZmZmZmTOZmZmZmZ + mY/////////////4mZ/////////////7mZj////7mZmZn/////uZmP//iZmZmZmY///5mZmZmZmZkzmZ + mZmZmZn//////////////5mf////////////+Jmf////iZmZk5P////4mZ///4mZmZmZmP//+ZmZmZmZ + mZM5mZmZmZmZj/////////////iZn/////////////iZmP///5mZmZmZj///+5mY//+JmZmZmZj//4mZ + mZmZmZmTOZmZmZmZmZ/////////////zmZP///////////+JmZP///uTmZmZmZj//4mZm///mZmZmZmZ + //85mZmZmZmZkzmZmZmZmZOZiIiIiIiIiIiImTmZOIiIiIiIiIiImTmZOIi5mZmZmZOZiIuZmZk4iZOZ + mZmZOZiDmZmZmZmZmZM5mZmZmZmZOZmZmZmZmZmZmZOZmZmZmZmZmZmZmZOZmZmZmZmZmZmZOZmZmZmZ + mZk5mZmZmZOZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmTuIiIiIs5mZmZmZmZ + mTu4i7mZmZmZmZmZmTMzmZOZmZkzOZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmTmbj///////+HmT + mZmZk4j/////iJmZmZk4iP////iZOZmZj/mZOZOIiIiIiIiIiDmZmZmZmZmZkzmZmZmZmZmZj/////// + ///4mZk5k4///4iI///4OZOY////////iZOZmb/5mZmP///////////4mZmZmZmZmZM5mZmZmZmZn/// + //////////mZmY///5mZmZP///iZmP////////+ZOZk/iZmY/////////////4mZmZmZmZmTOZmZmZmZ + mZ/////////////5mZ////+JmZmY////iZl/////////+ZmZP4mZP//////////////7mZmZmZmZkzmZ + mZmZmZmb////////////uZP/j///+HM3j/////+ZmYj///////iZmT+JmY//////////////+JmZmZmZ + mZM5mZmZmZmZmY//////////+JmT+Jv///////////iPmTmZOI/4mP//uTk/iZmP//////////////iZ + mZmZmZmTOZmZmZmZmZmf//////////mZmZmZ///////////5mZmZmZmTOZk///mZP4mZj/////////// + ///4mZmZmZmZkzmZmZmZmZmTmP////////+JOZmZOY//////////iZmZmZmZmZk5mf/4mT+JmY////// + ////////+JmZmZmZmZM5mZmZmZmZmZn/////////mZmZmZk//////////zmZmZmZmZmZmTmP/zm/iZmP + //////////////iZmZmZmZmTOZmZmZmZmZk5v///////85OZmZkzmP////////iZmZmZmZmZmZmZn//4 + /4mZj/////hzN4/////4mZmZmZmZkzmZmZmZmZmZmZj//////4mZmTmY/4j////////4mZmZmZmZmZmZ + mZj///+JmY////+JmZmY////+JmZmZmZmZM5mZmZmZmZmZmZ//////+ZmZmZj////////////4mZmZmZ + mZmZmZmb////+ZmP///4mZu5mY////iZmZmZmZmTOZmZmZmZmZmZOb/////4k5mZmP/////////////7 + mZmZmZmZmZmZk/////OZv///+ZmP+Jmf///4mZmZmZmZkzmZmZmZmZmZmZmf////+ZmZmZj////////4 + eI//+JmZmZmZmZmZmZP////4mb///4mY//+JmP//+5mZmZmZmZM5mZmZmZmZmZk5v/////uTmZmb//// + ///4mZmX//iZmZmZmZmZmZmZ////+Jmf//95n///+Zj///OZmZmZmZmTOZmZmZmZmZmZmf//////mZmZ + mY//////+ZOZmZiJmZmZmZmZmZmZmY////+ZmP//+I////iP//+JmZmZmZmZkzmZmZmZmZmZmZj///// + /4mZmZmf/////5k5mZOZmTmZmZmZmZmZmZmP///4mZP/////////////OZmZmZmZmZM5mZmZmZmZmZk/ + ///////zmZmZm/////iZmZmZmZmZmZmZmZmZmZmZj///85mZj///////////+JmZmZmZmZmTOZmZmZmZ + mZmZv///////+5mZmZmP///5mZmZmZmZmZmZmZmZmZmZmZ///3mZmZj//////////4mZmZmZmZmZkzmZ + mZmZmZmZmb///4j///uZmZmZmP//mTmZmZmZmZmZmZmZmZmZmZmY/4OZmZmZeP///////4eZmZmZmZmZ + mZM5mZmZmZmZmZmY/4OZOP+JmZmZmZmIiZOZmZmZmZmZmZmZmZmZmZmZmYiZmZmZmZk4iIiIiIOZmZmZ + mZmZmZmTOZmZmZmZmZmZmTOZmZkzmZmZmZmZmZk5mZmZmZmZmZmZmZmZmZmZmZmZk5mZmZmZmZmZmZmZ + mZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmTGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZkwmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZADmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZkwA5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZMACZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAABmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTAAADmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAJmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmRAAAAA5mZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAACZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQAAAAAAGZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAOZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkwAAAAAA + AAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTAA + AAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZMAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZkwAAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmTAAAAAAAAAAAAAAGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZEAAAAAAAAAAAAAAAA5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAAAAAAAATmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZMQAAAAAAAAAAAAAAAAAAABOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZMQAAAAAAAAAAAAAAAAAAAAAAAzmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTMAAAAAAAAAAAAAAAAAAAAAAAAAAAEzMzMzMzMzMzMzMzMzMz + MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxAAAAAAAAAAAAAAD////////////////////////4AAAA + AAAAAAAAAB//////wAAAAAAAAAAAAAAD/////wAAAAAAAAAAAAAAAP////wAAAAAAAAAAAAAAAA////w + AAAAAAAAAAAAAAAAD///4AAAAAAAAAAAAAAAAAf//8AAAAAAAAAAAAAAAAAD//+AAAAAAAAAAAAAAAAA + Af//AAAAAAAAAAAAAAAAAAD//gAAAAAAAAAAAAAAAAAAf/wAAAAAAAAAAAAAAAAAAD/4AAAAAAAAAAAA + AAAAAAAf+AAAAAAAAAAAAAAAAAAAH/AAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAP4AAAAAAA + AAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAA8AA + AAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA + AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA + AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA + AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA + AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA + AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA + AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA + AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA + AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA + AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA + AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA + AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA + AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA + AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA + AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA + AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA + AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA + AAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAD4AAAAAAAAAAAAAAAAAAAA+AA + AAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAH8AAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAA + AA/4AAAAAAAAAAAAAAAAAAAf/AAAAAAAAAAAAAAAAAAAH/wAAAAAAAAAAAAAAAAAAD/+AAAAAAAAAAAA + AAAAAAB//wAAAAAAAAAAAAAAAAAA//+AAAAAAAAAAAAAAAAAAf//wAAAAAAAAAAAAAAAAAP//+AAAAAA + AAAAAAAAAAAH///4AAAAAAAAAAAAAAAAD////AAAAAAAAAAAAAAAAD////8AAAAAAAAAAAAAAAD///// + wAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAH////////////////////////w== + + + \ No newline at end of file diff --git a/TEMUKJD/WXForms/ShopForms/WXShopListForm.Designer.cs b/TEMUKJD/WXForms/ShopForms/WXShopListForm.Designer.cs index 97826a1..29544fa 100644 --- a/TEMUKJD/WXForms/ShopForms/WXShopListForm.Designer.cs +++ b/TEMUKJD/WXForms/ShopForms/WXShopListForm.Designer.cs @@ -70,8 +70,6 @@ this.pbLoading = new System.Windows.Forms.PictureBox(); this.btnImport = new TemuKJD.UserControls.ButtonEx(); this.dgvShop = new TemuKJD.UserComponent.DataGridViewEx(); - this.chkAutoDrag = new System.Windows.Forms.CheckBox(); - this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn(); this.colLoginName = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colShopId = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -101,6 +99,8 @@ this.colCopyCookies = new System.Windows.Forms.DataGridViewLinkColumn(); this.colEdit = new System.Windows.Forms.DataGridViewLinkColumn(); this.colDelete = new System.Windows.Forms.DataGridViewLinkColumn(); + this.chkAutoDrag = new System.Windows.Forms.CheckBox(); + this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); @@ -358,7 +358,7 @@ this.cmbGroup.DropDownWidth = 1; this.cmbGroup.FormattingEnabled = true; this.cmbGroup.IntegralHeight = false; - this.cmbGroup.Location = new System.Drawing.Point(385, 5); + this.cmbGroup.Location = new System.Drawing.Point(385, 8); this.cmbGroup.Margin = new System.Windows.Forms.Padding(0, 0, 0, 4); this.cmbGroup.Name = "cmbGroup"; this.cmbGroup.Size = new System.Drawing.Size(74, 25); @@ -384,7 +384,7 @@ this.cmbNotes.DropDownWidth = 1; this.cmbNotes.FormattingEnabled = true; this.cmbNotes.IntegralHeight = false; - this.cmbNotes.Location = new System.Drawing.Point(276, 5); + this.cmbNotes.Location = new System.Drawing.Point(276, 8); this.cmbNotes.Margin = new System.Windows.Forms.Padding(0, 0, 0, 4); this.cmbNotes.Name = "cmbNotes"; this.cmbNotes.Size = new System.Drawing.Size(74, 25); @@ -517,7 +517,7 @@ this.cmbSubAccount.DropDownWidth = 1; this.cmbSubAccount.FormattingEnabled = true; this.cmbSubAccount.IntegralHeight = false; - this.cmbSubAccount.Location = new System.Drawing.Point(506, 5); + this.cmbSubAccount.Location = new System.Drawing.Point(506, 8); this.cmbSubAccount.Margin = new System.Windows.Forms.Padding(0, 0, 0, 4); this.cmbSubAccount.Name = "cmbSubAccount"; this.cmbSubAccount.Size = new System.Drawing.Size(74, 25); @@ -826,31 +826,6 @@ this.dgvShop.TabIndex = 5; this.dgvShop.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvShop_CellContentClick); // - // chkAutoDrag - // - this.chkAutoDrag.Anchor = System.Windows.Forms.AnchorStyles.Right; - this.chkAutoDrag.AutoSize = true; - this.chkAutoDrag.BackColor = System.Drawing.Color.White; - this.chkAutoDrag.Location = new System.Drawing.Point(1238, 2); - this.chkAutoDrag.Name = "chkAutoDrag"; - this.chkAutoDrag.Size = new System.Drawing.Size(159, 21); - this.chkAutoDrag.TabIndex = 3; - this.chkAutoDrag.Text = "登录时自动滑动拼图验证"; - this.chkAutoDrag.UseVisualStyleBackColor = false; - this.chkAutoDrag.Visible = false; - this.chkAutoDrag.Click += new System.EventHandler(this.chkAutoDrag_Click); - // - // statusBar - // - this.statusBar.BackColor = System.Drawing.Color.White; - this.statusBar.Dock = System.Windows.Forms.DockStyle.Bottom; - this.statusBar.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.statusBar.Location = new System.Drawing.Point(0, -1); - this.statusBar.Margin = new System.Windows.Forms.Padding(0); - this.statusBar.Name = "statusBar"; - this.statusBar.Size = new System.Drawing.Size(1394, 29); - this.statusBar.TabIndex = 1; - // // colSelect // this.colSelect.FillWeight = 26F; @@ -1089,6 +1064,31 @@ this.colDelete.Name = "colDelete"; this.colDelete.ReadOnly = true; // + // chkAutoDrag + // + this.chkAutoDrag.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.chkAutoDrag.AutoSize = true; + this.chkAutoDrag.BackColor = System.Drawing.Color.White; + this.chkAutoDrag.Location = new System.Drawing.Point(1238, 2); + this.chkAutoDrag.Name = "chkAutoDrag"; + this.chkAutoDrag.Size = new System.Drawing.Size(159, 21); + this.chkAutoDrag.TabIndex = 3; + this.chkAutoDrag.Text = "登录时自动滑动拼图验证"; + this.chkAutoDrag.UseVisualStyleBackColor = false; + this.chkAutoDrag.Visible = false; + this.chkAutoDrag.Click += new System.EventHandler(this.chkAutoDrag_Click); + // + // statusBar + // + this.statusBar.BackColor = System.Drawing.Color.White; + this.statusBar.Dock = System.Windows.Forms.DockStyle.Bottom; + this.statusBar.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.statusBar.Location = new System.Drawing.Point(0, -1); + this.statusBar.Margin = new System.Windows.Forms.Padding(0); + this.statusBar.Name = "statusBar"; + this.statusBar.Size = new System.Drawing.Size(1394, 29); + this.statusBar.TabIndex = 1; + // // WXShopListForm // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; diff --git a/TEMUKJD/WXForms/ShopForms/WXShopLoginForm.Designer.cs b/TEMUKJD/WXForms/ShopForms/WXShopLoginForm.Designer.cs index fd4947a..464e502 100644 --- a/TEMUKJD/WXForms/ShopForms/WXShopLoginForm.Designer.cs +++ b/TEMUKJD/WXForms/ShopForms/WXShopLoginForm.Designer.cs @@ -34,6 +34,9 @@ this.cmbMultiCookieName = new DevComponents.DotNetBar.Controls.ComboBoxEx(); this.btnMultiLogin = new DevComponents.DotNetBar.PanelEx(); this.btnDel = new DevComponents.DotNetBar.PanelEx(); + this.btnSaveAppSecret = new DevComponents.DotNetBar.PanelEx(); + this.lblSecret = new System.Windows.Forms.Label(); + this.txtSecret = new System.Windows.Forms.TextBox(); this.btnSaveUserInfo = new DevComponents.DotNetBar.PanelEx(); this.btnLoginAgain = new TemuKJD.UserControls.ButtonEx(); this.label2 = new System.Windows.Forms.Label(); @@ -77,6 +80,9 @@ // splitContainer1.Panel2 // this.splitContainer1.Panel2.BackColor = System.Drawing.Color.White; + this.splitContainer1.Panel2.Controls.Add(this.btnSaveAppSecret); + this.splitContainer1.Panel2.Controls.Add(this.lblSecret); + this.splitContainer1.Panel2.Controls.Add(this.txtSecret); this.splitContainer1.Panel2.Controls.Add(this.btnSaveUserInfo); this.splitContainer1.Panel2.Controls.Add(this.btnLoginAgain); this.splitContainer1.Panel2.Controls.Add(this.label2); @@ -89,7 +95,7 @@ this.splitContainer1.Panel2.Controls.Add(this.btnReload); this.splitContainer1.Panel2.Controls.Add(this.chkCloseAfterLogin); this.splitContainer1.Size = new System.Drawing.Size(1438, 736); - this.splitContainer1.SplitterDistance = 669; + this.splitContainer1.SplitterDistance = 672; this.splitContainer1.SplitterWidth = 3; this.splitContainer1.TabIndex = 4; // @@ -167,6 +173,52 @@ this.btnDel.Text = "删"; this.btnDel.Click += new System.EventHandler(this.btnDel_Click); // + // btnSaveAppSecret + // + this.btnSaveAppSecret.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnSaveAppSecret.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnSaveAppSecret.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnSaveAppSecret.DisabledBackColor = System.Drawing.Color.Empty; + this.btnSaveAppSecret.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnSaveAppSecret.Location = new System.Drawing.Point(927, 5); + this.btnSaveAppSecret.Name = "btnSaveAppSecret"; + this.btnSaveAppSecret.Size = new System.Drawing.Size(92, 24); + this.btnSaveAppSecret.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnSaveAppSecret.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSaveAppSecret.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSaveAppSecret.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnSaveAppSecret.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnSaveAppSecret.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnSaveAppSecret.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnSaveAppSecret.Style.GradientAngle = 90; + this.btnSaveAppSecret.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnSaveAppSecret.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnSaveAppSecret.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnSaveAppSecret.TabIndex = 475; + this.btnSaveAppSecret.Text = "保存"; + this.btnSaveAppSecret.Visible = false; + this.btnSaveAppSecret.Click += new System.EventHandler(this.btnSaveAppSecret_Click); + // + // lblSecret + // + this.lblSecret.AutoSize = true; + this.lblSecret.ForeColor = System.Drawing.Color.Tomato; + this.lblSecret.Location = new System.Drawing.Point(521, 8); + this.lblSecret.Name = "lblSecret"; + this.lblSecret.Size = new System.Drawing.Size(404, 17); + this.lblSecret.TabIndex = 471; + this.lblSecret.Text = "请点击右上角自研,重置,并将小店密钥复制到框中点击保存以接入AI客服"; + this.lblSecret.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.lblSecret.Visible = false; + // + // txtSecret + // + this.txtSecret.Location = new System.Drawing.Point(522, 31); + this.txtSecret.Name = "txtSecret"; + this.txtSecret.Size = new System.Drawing.Size(497, 23); + this.txtSecret.TabIndex = 470; + this.txtSecret.Visible = false; + // // btnSaveUserInfo // this.btnSaveUserInfo.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; @@ -436,5 +488,8 @@ public System.Windows.Forms.TextBox txtPassWord; public System.Windows.Forms.TextBox txtUserName; public DevComponents.DotNetBar.PanelEx btnSaveUserInfo; + public DevComponents.DotNetBar.PanelEx btnSaveAppSecret; + public System.Windows.Forms.Label lblSecret; + public System.Windows.Forms.TextBox txtSecret; } } \ No newline at end of file diff --git a/TEMUKJD/WXForms/ShopForms/WXShopLoginForm.cs b/TEMUKJD/WXForms/ShopForms/WXShopLoginForm.cs index a25dc84..4eb66ab 100644 --- a/TEMUKJD/WXForms/ShopForms/WXShopLoginForm.cs +++ b/TEMUKJD/WXForms/ShopForms/WXShopLoginForm.cs @@ -187,7 +187,6 @@ namespace TemuKJD.WXForms.ShopForms s.Cookies = cookies; s.LastRefreshDate = DateTime.Now.ToString("yyyyMMdd"); } - //shop.Cookies = cookies; WXShopListForm.UpdateServerShopCookies(shop); OnSaveComplete(shop); @@ -926,5 +925,13 @@ function getElementWithText(sText) } }); } + + private void btnSaveAppSecret_Click(object sender, EventArgs e) + { + if (btnSaveAppSecret.Text == "保存") + this.OnSaveComplete(shop, txtSecret.Text.Trim(), this); + else + this.Close(); + } } } diff --git a/TEMUKJD/WXForms/ShopForms/WXSubAccountListForm.resx b/TEMUKJD/WXForms/ShopForms/WXSubAccountListForm.resx index 8f494ed..19ec4de 100644 --- a/TEMUKJD/WXForms/ShopForms/WXSubAccountListForm.resx +++ b/TEMUKJD/WXForms/ShopForms/WXSubAccountListForm.resx @@ -1,17 +1,17 @@  - diff --git a/TEMUKJD/WXForms/TalkForms/WxTalkForm.resx b/TEMUKJD/WXForms/TalkForms/WxTalkForm.resx index c72dbf0..c0dfe05 100644 --- a/TEMUKJD/WXForms/TalkForms/WxTalkForm.resx +++ b/TEMUKJD/WXForms/TalkForms/WxTalkForm.resx @@ -1,17 +1,17 @@  - diff --git a/Work/Work.csproj b/Work/Work.csproj index c52e641..f93803d 100644 --- a/Work/Work.csproj +++ b/Work/Work.csproj @@ -44,7 +44,7 @@ ..\bin\ DEBUG;TRACE full - x64 + AnyCPU prompt MinimumRecommendedRules.ruleset @@ -207,17 +207,16 @@ + + + + {6461d807-b1c8-45f0-b388-e0ca1a418de0} AllBase - - - - -