From 8ff25086329511b7cf8de9e58dca08f376f1173a Mon Sep 17 00:00:00 2001 From: wule_5900x Date: Sun, 5 Jul 2026 22:53:54 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=90=86=E7=89=88=E6=9C=AC=E8=B0=83?= =?UTF-8?q?=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AllBase/BaseClass.cs | 2 +- .../KJD_WebService/BLL/WXXD/WXShopManage.cs | 111 ++++- .../KJD_WebService/KJD_WebService.csproj | 1 + .../KJD_WebService/KJD_WebService.csproj.user | 2 +- .../Model/ErpModel/ErpMerchantInfo.cs | 64 +++ .../Model/ShopModel/ShopParam.cs | 2 + .../KJD_WebService/WXShopService.asmx.cs | 15 + ...ommon_icon.ico => 29_common_blue_icon.ico} | Bin TEMUKJD/29_common_icon.ico | Bin 0 -> 16958 bytes TEMUKJD/29_common_icon_orange.ico | Bin 0 -> 16958 bytes TEMUKJD/BLL/PDDProdFormConverter.cs | 38 ++ TEMUKJD/Helper/LifeSpanHandlerLocal.cs | 5 +- TEMUKJD/InitForm.Designer.cs | 29 +- TEMUKJD/InitForm.cs | 164 +++---- TEMUKJD/InitForm.resx | 444 +++++++++++------- TEMUKJD/KJD.csproj | 22 +- TEMUKJD/KJD.csproj.user | 2 +- .../ProductSelectForms/DbProductEditForm.cs | 3 +- TEMUKJD/MainForm.cs | 9 +- .../ProductSelectForms/PDDDBProdEditForm.cs | 2 +- .../ProductSelectForms/PDDDBProdUploadForm.cs | 52 +- TEMUKJD/Program.cs | 7 +- TEMUKJD/Resources/buy.ico | Bin 0 -> 270398 bytes TEMUKJD/Resources/common_icon.ico | Bin 16958 -> 4723 bytes TEMUKJD/Resources/main.ico | Bin 0 -> 270398 bytes TEMUKJD/StartUp.cs | 221 ++++++++- TEMUKJD/ToolForms/Old/CefForm.Designer.cs | 15 +- TEMUKJD/ToolForms/Old/CefForm.cs | 17 +- TEMUKJD/UserComponent/DataGridViewEx.cs | 2 +- TEMUKJD/UserForm/LoginForm.cs | 5 +- .../AiTalkForms/WxAiTalkForm.Designer.cs | 32 +- TEMUKJD/WXForms/AiTalkForms/WxAiTalkForm.cs | 91 +++- .../ProductForms/WXDBProdUploadForm.cs | 24 + .../WXUserCollectAuthProdEditNotesForm.cs | 1 - .../WXForms/ShopForms/WXShopBrowserObject.cs | 5 + TEMUKJD/代理文件.txt | 4 + 36 files changed, 1049 insertions(+), 342 deletions(-) create mode 100644 KJDService/KJD_WebService/Model/ErpModel/ErpMerchantInfo.cs rename TEMUKJD/{29common_icon.ico => 29_common_blue_icon.ico} (100%) create mode 100644 TEMUKJD/29_common_icon.ico create mode 100644 TEMUKJD/29_common_icon_orange.ico create mode 100644 TEMUKJD/Resources/buy.ico create mode 100644 TEMUKJD/Resources/main.ico create mode 100644 TEMUKJD/代理文件.txt diff --git a/AllBase/BaseClass.cs b/AllBase/BaseClass.cs index f2146e3..f38c66b 100644 --- a/AllBase/BaseClass.cs +++ b/AllBase/BaseClass.cs @@ -27,7 +27,7 @@ namespace AllBase /// /// 版本ID /// - public static int VersionCount = 1203; + public static int VersionCount = 1207; public static string MainPath = "29wx"; //public static string MainPath = "29wx"; //public static string MainPath = "29pdd"; diff --git a/KJDService/KJD_WebService/BLL/WXXD/WXShopManage.cs b/KJDService/KJD_WebService/BLL/WXXD/WXShopManage.cs index ffcd085..d0db0cd 100644 --- a/KJDService/KJD_WebService/BLL/WXXD/WXShopManage.cs +++ b/KJDService/KJD_WebService/BLL/WXXD/WXShopManage.cs @@ -1,4 +1,5 @@ using KJD_Web.Model; +using KJD_Web.Model.ErpModel; using KJD_Web.Model.ShopModel; using KJD_Web.Model.WxModel; using KJD_Web.Utils; @@ -187,7 +188,7 @@ namespace KJD_Web.BLL.WXXD { conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; mySql = new MysqlUtils(conn); - sql = " SELECT app_key,id " + + sql = " SELECT app_key,id,corporate_account_user_id,manage_user_id " + " FROM erp.o_shop" + " WHERE app_key in ('" + string.Join ("','", shopList.Select(s=>s.shop_id)) + "');"; dt = mySql.ExecuteDataTable(sql); @@ -202,10 +203,16 @@ namespace KJD_Web.BLL.WXXD foreach (DataRow row in dt.Rows) { var erpDbId = row["id"].ParseToNullableLong(); + var erpCorporateUserId = row["corporate_account_user_id"].ParseToNullableLong(); + var erpManageUserId = row["manage_user_id"].ParseToNullableLong(); var appKey = row["app_key"].ParseToString(); var shop = shopList.FirstOrDefault(s => s.shop_id == appKey && !s.shop_id.IsNullOrEmpty()); if (shop != null) + { + shop.erp_corporate_account_user_id = erpCorporateUserId; + shop.erp_manage_user_id = erpManageUserId; shop.erp_shop_id = erpDbId; + } } } } @@ -219,6 +226,108 @@ namespace KJD_Web.BLL.WXXD return "{\"code\":19999,\"msg\":\"未知错误\"}"; } + /// + /// 获取erp店铺对应账户的余额 + /// + /// + /// + /// + public string GetShopErpMerchant(string inputData, bool isAdmin = false) + { + if (!string.IsNullOrEmpty(inputData)) + { + var timeCalc = DateTime.Now; + if (!WXUserManage.GetSign(inputData)) + return "{\"code\":999,\"msg\":\"校验失败\"}"; + + var corporate_account_user_id = RegexUtils.GetStringQuery(ref inputData, "corporate_account_user_id")?.Replace("'", "\\'"); + var manage_user_id = RegexUtils.GetStringQuery(ref inputData, "manage_user_id")?.Replace("'", "\\'"); + var shop_id = RegexUtils.GetStringQuery(ref inputData, "shop_id")?.Replace("'", "\\'"); + if (corporate_account_user_id.IsNullOrEmpty() && manage_user_id.IsNullOrEmpty()) + return "{\"code\":500,\"msg\":\"未指定商户\"}"; + + var page = RegexUtils.GetStringQuery(ref inputData, "page").ParseToInt(); + var page_size = RegexUtils.GetStringQuery(ref inputData, "page_size").ParseToInt(); + + if (page_size == 0) + page_size = 200; + + var manage_user_ids = new List(); + if (!manage_user_id.IsNullOrEmpty()) + manage_user_ids.Add(manage_user_id); + + string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; + MysqlUtils mySql = new MysqlUtils(conn); + string sql; + + if (!string.IsNullOrEmpty(corporate_account_user_id)) + { + sql = "SELECT manage_user_id FROM erp.o_shop_group WHERE corporate_account_user_id = '" + corporate_account_user_id + "';"; + var manage_user_id_tb = mySql.ExecuteDataTable(sql); + if (!string.IsNullOrEmpty(mySql.Message)) + { + mySql.Close(); + return "{\"code\":501,\"msg\":\"" + mySql.Message + "\",\"data\":null}"; + } + if (manage_user_id_tb == null) + { + mySql.Close(); + var seconds = (DateTime.Now - timeCalc).TotalSeconds.ToString("0.000"); + return "{\"code\":200,\"msg\":\"success\",\"data\":[],\"count\":-2,\"seconds\":" + seconds + "}"; + } + manage_user_ids.AddRange(manage_user_id_tb.Rows.Cast().Select(t => t["manage_user_id"].ToString())); + if (manage_user_ids.Count == 0) + { + mySql.Close(); + var seconds = (DateTime.Now - timeCalc).TotalSeconds.ToString("0.000"); + return "{\"code\":200,\"msg\":\"success\",\"data\":[],\"count\":-2,\"seconds\":" + seconds + "}"; + } + } + + sql = "select * FROM erp.o_user_account u where u.user_id in ('" + string.Join("','", manage_user_ids) + "')"; + sql += " LIMIT " + Math.Max(page - 1, 0) * page_size + "," + page_size; + var dt = mySql.ExecuteDataTable(sql); + + mySql.Close(); + if (!string.IsNullOrEmpty(mySql.Message)) + { + return "{\"code\":501,\"msg\":\"" + mySql.Message + "\",\"data\":null}"; + } + if (dt != null) + { + List erpAccountInfo = new List(); + foreach (DataRow row in dt.Rows) + { + ErpMerchantInfo shop = new ErpMerchantInfo + { + id = Convert.ToInt32(row["id"]), + account_name = row["account_name"].ToString(), + account_status = row["account_status"].ParseToInt(), + account_type = row["account_type"].ParseToInt(), + balance = row["balance"].ParseToDecimal(), + create_by = row["create_by"].ParseToNullableLong(), + create_time = row["create_time"].ParseToString().ParseToDateTime(), + frozen_amount = row["frozen_amount"].ParseToDecimal(), + recharge_amount_total = row["recharge_amount_total"].ParseToDecimal(), + update_by = row["update_by"].ParseToNullableLong(), + update_time = row["update_time"].ParseToString().ParseToDateTime(), + user_id = row["user_id"].ParseToLong(), + withdrawn_amount = row["withdrawn_amount"].ParseToDecimal(), + withdraw_account_image_url = row["withdraw_account_image_url"].ParseToString(), + }; + erpAccountInfo.Add(shop); + } + erpAccountInfo = erpAccountInfo.OrderByDescending(s => s.balance).ToList(); + var count = -1; + var data = JsonUtils.SerializeObjectToString(erpAccountInfo); + var seconds = (DateTime.Now - timeCalc).TotalSeconds.ToString("0.000"); + + return "{\"code\":200,\"msg\":\"success\",\"data\":" + data + ",\"count\":" + count + ",\"seconds\":" + seconds + "}"; + } + } + return "{\"code\":19999,\"msg\":\"未知错误\"}"; + } + public string SubSaGetSelectProdShop(string inputData) { if (!string.IsNullOrEmpty(inputData)) diff --git a/KJDService/KJD_WebService/KJD_WebService.csproj b/KJDService/KJD_WebService/KJD_WebService.csproj index 28573b9..e38d8db 100644 --- a/KJDService/KJD_WebService/KJD_WebService.csproj +++ b/KJDService/KJD_WebService/KJD_WebService.csproj @@ -120,6 +120,7 @@ + diff --git a/KJDService/KJD_WebService/KJD_WebService.csproj.user b/KJDService/KJD_WebService/KJD_WebService.csproj.user index c789fae..4bcdc04 100644 --- a/KJDService/KJD_WebService/KJD_WebService.csproj.user +++ b/KJDService/KJD_WebService/KJD_WebService.csproj.user @@ -1,4 +1,4 @@ - + true diff --git a/KJDService/KJD_WebService/Model/ErpModel/ErpMerchantInfo.cs b/KJDService/KJD_WebService/Model/ErpModel/ErpMerchantInfo.cs new file mode 100644 index 0000000..facfb96 --- /dev/null +++ b/KJDService/KJD_WebService/Model/ErpModel/ErpMerchantInfo.cs @@ -0,0 +1,64 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; + +namespace KJD_Web.Model.ErpModel +{ + public class ErpMerchantInfo + { + public long id { get; set; } + /// + /// 唯一用户标识 + /// + public long user_id { get; set; } + /// + /// 账户类型,1:分销商账户,2:供应商账户 + /// + public int? account_type { get; set; } + /// + /// 账户名称 + /// + public string account_name { get; set; } + /// + /// 账户状态(1-正常 2-冻结 3-注销) + /// + public int account_status { get; set; } + /// + /// 账户累计充值金额 + /// + public decimal recharge_amount_total { get; set; } + /// + /// 可用余额 + /// + public decimal balance { get; set; } + /// + /// 冻结金额 + /// + public decimal frozen_amount { get; set; } + /// + /// 提现账户收款图片 + /// + public string withdraw_account_image_url { get; set; } + /// + /// 已提现金额 + /// + public decimal? withdrawn_amount { get; set; } + /// + /// 创建时间 + /// + public DateTime create_time { get; set; } + /// + /// 更新时间 + /// + public DateTime update_time { get; set; } + /// + /// 创建人 + /// + public long? create_by { get; set; } + /// + /// 修改人 + /// + public long? update_by { get; set; } + } +} \ No newline at end of file diff --git a/KJDService/KJD_WebService/Model/ShopModel/ShopParam.cs b/KJDService/KJD_WebService/Model/ShopModel/ShopParam.cs index af0404c..12ea3c1 100644 --- a/KJDService/KJD_WebService/Model/ShopModel/ShopParam.cs +++ b/KJDService/KJD_WebService/Model/ShopModel/ShopParam.cs @@ -72,6 +72,8 @@ namespace KJD_Web.Model.ShopModel //public DateTime mdy_time { get; set; } public bool? is_point_shop_expire { get; set; } = false; public long? erp_shop_id { get; internal set; } + public long? erp_corporate_account_user_id { get; internal set; } + public long? erp_manage_user_id { get; internal set; } } public class AuthInfo diff --git a/KJDService/KJD_WebService/WXShopService.asmx.cs b/KJDService/KJD_WebService/WXShopService.asmx.cs index d9db445..8d707d7 100644 --- a/KJDService/KJD_WebService/WXShopService.asmx.cs +++ b/KJDService/KJD_WebService/WXShopService.asmx.cs @@ -61,6 +61,21 @@ namespace KJD_Web Context.Response.End(); } + /// + /// 获取店铺erp端账户 + /// + [WebMethod] + public void get_shop_erp_merchant() + { + string jsontext = GetRequestJsonString(); + + var result = jsontext; + result = new WXShopManage().GetShopErpMerchant(jsontext); + + Context.Response.Write(result); + Context.Response.End(); + } + [WebMethod] public void get_one_login_name_shop() { diff --git a/TEMUKJD/29common_icon.ico b/TEMUKJD/29_common_blue_icon.ico similarity index 100% rename from TEMUKJD/29common_icon.ico rename to TEMUKJD/29_common_blue_icon.ico diff --git a/TEMUKJD/29_common_icon.ico b/TEMUKJD/29_common_icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..1fb71f3d666259ca6920461b96764fd778c2c9d9 GIT binary patch literal 16958 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 e2i1O;?CZy!e g.type == 1)) + { + var jsonStr = BaseRegex.GetJsonObjStrJson(ref outProdJson, "carousel_section").OrderByDescending(s => s.Length).FirstOrDefault(); + if (jsonStr != null) + { + var jArrStr = BaseRegex.GetJsonArrStrJson(ref jsonStr, "picture_list").OrderByDescending(s => s.Length).FirstOrDefault(); + if (jArrStr != null) + { + foreach (var jObj in JArray.Parse(jArrStr)) + { + var jStr = JsonHelper.SerializeObject(jObj); + var type = BaseRegex.GetIntJson(ref jStr, "type"); + var img_url = BaseRegex.GetStringJson(ref jStr, "url"); + var id = BaseRegex.GetLongJson(ref jStr, "id"); + var goods_id = BaseRegex.GetLongJson(ref jStr, "goods_id"); + var width = BaseRegex.GetIntJson(ref jStr, "width"); + var height = BaseRegex.GetIntJson(ref jStr, "height"); + var enable_share = BaseRegex.GetIntJson(ref jStr, "enable_share"); + var gallery_pic = BaseRegex.GetIntJson(ref jStr, "gallery_pic"); + if (!img_url.IsNullOrEmpty() && !type.IsNullOrZero()) + { + frontProdInfo.goods.gallery.Add(new PDDFrontProductInfo2_gallery() + { + enable_share = enable_share, + goods_id = goods_id, + width = width, + height = height, + id = id, + type = type, + url = img_url, + priority = frontProdInfo.goods.gallery.Count, + }); + } + } + } + } + } + if (!frontProdInfo.goods.gallery.Any(g => g.type == 1) && frontProdInfo.goods.gallery.Any(g => g.type == 13)) { foreach (var g in frontProdInfo.goods.gallery) diff --git a/TEMUKJD/Helper/LifeSpanHandlerLocal.cs b/TEMUKJD/Helper/LifeSpanHandlerLocal.cs index 3d9b5a1..70546a7 100644 --- a/TEMUKJD/Helper/LifeSpanHandlerLocal.cs +++ b/TEMUKJD/Helper/LifeSpanHandlerLocal.cs @@ -62,8 +62,11 @@ namespace TemuKJD.Helper { if (popWindowType == PopWindowType.NewWindow) { + PopData p = new PopData() { Url = targetUrl }; + if (OnPop != null) + OnPop(this, p); newBrowser = null; - return false; + return true; } else if (popWindowType == PopWindowType.NewTitleWindow && popupFeatures.IsPopup) { diff --git a/TEMUKJD/InitForm.Designer.cs b/TEMUKJD/InitForm.Designer.cs index ec1535c..cd9b546 100644 --- a/TEMUKJD/InitForm.Designer.cs +++ b/TEMUKJD/InitForm.Designer.cs @@ -57,8 +57,8 @@ this.panel2.Dock = System.Windows.Forms.DockStyle.Fill; this.panel2.Location = new System.Drawing.Point(1, 33); this.panel2.Name = "panel2"; - this.panel2.Size = new System.Drawing.Size(278, 190); - this.panel2.TabIndex = 39; + this.panel2.Size = new System.Drawing.Size(278, 196); + this.panel2.TabIndex = 40; // // panel4 // @@ -125,6 +125,7 @@ this.rbTemu.TabStop = true; this.rbTemu.Text = "Temu"; this.rbTemu.UseVisualStyleBackColor = true; + this.rbTemu.CheckedChanged += new System.EventHandler(this.rbTemu_CheckedChanged); // // rbPdd // @@ -138,6 +139,7 @@ this.rbPdd.Text = "拼多多"; this.rbPdd.UseVisualStyleBackColor = true; this.rbPdd.Visible = false; + this.rbPdd.CheckedChanged += new System.EventHandler(this.rbTemu_CheckedChanged); // // rbWX // @@ -151,6 +153,7 @@ this.rbWX.Text = "视频号"; this.rbWX.UseVisualStyleBackColor = true; this.rbWX.Visible = false; + this.rbWX.CheckedChanged += new System.EventHandler(this.rbTemu_CheckedChanged); // // chkRemember // @@ -218,15 +221,13 @@ // InitForm // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; - this.ClientSize = new System.Drawing.Size(280, 224); + this.ClientSize = new System.Drawing.Size(280, 230); this.Controls.Add(this.panel2); 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.Name = "InitForm"; - this.ShowIcon = false; this.Text = "软件初始化"; this.TitleText = "软件初始化"; - this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.InitForm_FormClosed); this.Controls.SetChildIndex(this.panel2, 0); this.panel2.ResumeLayout(false); this.panel4.ResumeLayout(false); @@ -242,16 +243,16 @@ #endregion private System.Windows.Forms.Panel panel2; - private System.Windows.Forms.PictureBox pbShopLoading; + private System.Windows.Forms.Panel panel4; + private DevComponents.DotNetBar.PanelEx btnOK; + private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1; + private System.Windows.Forms.RadioButton rbTemu; + private System.Windows.Forms.RadioButton rbPdd; + private System.Windows.Forms.RadioButton rbWX; + private UserComponent.UcCheckBox chkRemember; + private System.Windows.Forms.Panel panel3; private System.Windows.Forms.Label label1; private DevComponents.DotNetBar.Controls.ProgressBarX progressBarX1; - private System.Windows.Forms.Panel panel3; - private UserComponent.UcCheckBox chkRemember; - private System.Windows.Forms.RadioButton rbPdd; - private System.Windows.Forms.RadioButton rbTemu; - private DevComponents.DotNetBar.PanelEx btnOK; - private System.Windows.Forms.Panel panel4; - private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1; - private System.Windows.Forms.RadioButton rbWX; + private System.Windows.Forms.PictureBox pbShopLoading; } } \ No newline at end of file diff --git a/TEMUKJD/InitForm.cs b/TEMUKJD/InitForm.cs index d4c0675..8b9c927 100644 --- a/TEMUKJD/InitForm.cs +++ b/TEMUKJD/InitForm.cs @@ -1,4 +1,5 @@ -using TemuKJD.BaseForms; +using AllBase; +using NaiBa.Util.Helper; using System; using System.Collections.Generic; using System.ComponentModel; @@ -10,25 +11,26 @@ using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; -using AllBase.Helper; -using NaiBa.Util.Helper; -using System.IO; -using AllBase; +using TemuKJD.BaseForms; namespace TemuKJD { - public partial class InitForm : BaseGeneralForm + public partial class InitForm : BaseForms.BaseGeneralForm { InitFormSettings initFormSettings = new InitFormSettings(); public InitForm() { InitializeComponent(); - Load += InitForm_Load; + this.Load += NewInitForm_Load; } - private void InitForm_Load(object sender, EventArgs e) + private void NewInitForm_Load(object sender, EventArgs e) { + this.Icon = BaseClass.Ico; + //if (!BaseClass.AgentCode.IsNullOrEmpty()) + // this.Hide(); + Task.Run(() => { while (!Work.Initialization.IsCheckFilesFinish || !Program.IsInit || this.progressBarX1.Value < 50) @@ -51,84 +53,84 @@ namespace TemuKJD }); return; -// if (File.Exists(System.Environment.CurrentDirectory + "\\YkdChoice.dll")) -// { -// this.panel3.Location = new Point(4, 4); -// this.panel4.Visible = true; -// this.rbPdd.Visible = true; -// } -// if (File.Exists(System.Environment.CurrentDirectory + "\\WxChoice.dll")) -// { -// this.panel3.Location = new Point(4, 4); -// this.panel4.Visible = true; -// this.rbWX.Visible = true; -// } -//#if DEBUG -// this.panel3.Location = new Point(4, 4); -// this.panel4.Visible = true; -// this.rbPdd.Visible = true; -// this.rbWX.Visible = true; -//#endif -// initFormSettings = ConfigHelper.LoadConfig("initFormSettings"); -// if (initFormSettings == null) -// initFormSettings = new InitFormSettings(); -// this.chkRemember.Checked = initFormSettings.Remember; -// this.rbTemu.Checked = initFormSettings.LoginType.ToLower() == "temu"; -// this.rbPdd.Checked = initFormSettings.LoginType.ToLower() == "pdd"; -// this.rbWX.Checked = initFormSettings.LoginType.ToLower() == "wx"; + // if (File.Exists(System.Environment.CurrentDirectory + "\\YkdChoice.dll")) + // { + // this.panel3.Location = new Point(4, 4); + // this.panel4.Visible = true; + // this.rbPdd.Visible = true; + // } + // if (File.Exists(System.Environment.CurrentDirectory + "\\WxChoice.dll")) + // { + // this.panel3.Location = new Point(4, 4); + // this.panel4.Visible = true; + // this.rbWX.Visible = true; + // } + //#if DEBUG + // this.panel3.Location = new Point(4, 4); + // this.panel4.Visible = true; + // this.rbPdd.Visible = true; + // this.rbWX.Visible = true; + //#endif + // initFormSettings = ConfigHelper.LoadConfig("initFormSettings"); + // if (initFormSettings == null) + // initFormSettings = new InitFormSettings(); + // this.chkRemember.Checked = initFormSettings.Remember; + // this.rbTemu.Checked = initFormSettings.LoginType.ToLower() == "temu"; + // this.rbPdd.Checked = initFormSettings.LoginType.ToLower() == "pdd"; + // this.rbWX.Checked = initFormSettings.LoginType.ToLower() == "wx"; -// if (initFormSettings.LoginType.ToLower() == "temu") -// BaseClass.MainPath = "kuajingda"; -// else if (initFormSettings.LoginType.ToLower() == "pdd") -// BaseClass.MainPath = "29pdd"; -// else if (initFormSettings.LoginType.ToLower() == "wx") -// BaseClass.MainPath = "29wx"; -// else if (initFormSettings.LoginType.ToLower() == "dy") -// BaseClass.MainPath = "29dy"; + // if (initFormSettings.LoginType.ToLower() == "temu") + // BaseClass.MainPath = "kuajingda"; + // else if (initFormSettings.LoginType.ToLower() == "pdd") + // BaseClass.MainPath = "29pdd"; + // else if (initFormSettings.LoginType.ToLower() == "wx") + // BaseClass.MainPath = "29wx"; + // else if (initFormSettings.LoginType.ToLower() == "dy") + // BaseClass.MainPath = "29dy"; -// this.rbTemu.CheckedChanged += rbTemu_CheckedChanged; -// this.rbPdd.CheckedChanged += rbTemu_CheckedChanged; -// this.rbWX.CheckedChanged += rbTemu_CheckedChanged; -// if (rbWX.Visible == false || rbPdd.Visible == false) -// flowLayoutPanel1.Location = new Point(38, flowLayoutPanel1.Location.Y); + // this.rbTemu.CheckedChanged += rbTemu_CheckedChanged; + // this.rbPdd.CheckedChanged += rbTemu_CheckedChanged; + // this.rbWX.CheckedChanged += rbTemu_CheckedChanged; + // if (rbWX.Visible == false || rbPdd.Visible == false) + // flowLayoutPanel1.Location = new Point(38, flowLayoutPanel1.Location.Y); -// Task.Run(() => -// { -// while (!Work.Initialization.IsCheckFilesFinish || !Program.IsInit || this.progressBarX1.Value < 50) -// { -// Thread.Sleep(new Random().Next(10, 50)); + // Task.Run(() => + // { + // while (!Work.Initialization.IsCheckFilesFinish || !Program.IsInit || this.progressBarX1.Value < 50) + // { + // Thread.Sleep(new Random().Next(10, 50)); -// Invoke(new Action(() => -// { -// this.progressBarX1.Value = Work.Initialization.InitPercent++; -// this.progressBarX1.Maximum = 50; -// })); -// if (this.progressBarX1.Value >= 50) -// Thread.Sleep(300); -// } -// Invoke(new Action(() => -// { -// btnOK.Visible = true; -// })); + // Invoke(new Action(() => + // { + // this.progressBarX1.Value = Work.Initialization.InitPercent++; + // this.progressBarX1.Maximum = 50; + // })); + // if (this.progressBarX1.Value >= 50) + // Thread.Sleep(300); + // } + // Invoke(new Action(() => + // { + // btnOK.Visible = true; + // })); -//#if DEBUG -// Thread.Sleep(2500); -//#else -// if (File.Exists(System.Environment.CurrentDirectory + "\\YkdChoice.dll")) -// { -// Thread.Sleep(2500); -// } -//#endif -// if (initFormSettings.Remember) -// Thread.Sleep(500); -// Invoke(new Action(() => -// { -// if(initFormSettings.Remember && isChangeType == false) -// { -// OpenNewMainForm(); -// } -// })); -// }); + //#if DEBUG + // Thread.Sleep(2500); + //#else + // if (File.Exists(System.Environment.CurrentDirectory + "\\YkdChoice.dll")) + // { + // Thread.Sleep(2500); + // } + //#endif + // if (initFormSettings.Remember) + // Thread.Sleep(500); + // Invoke(new Action(() => + // { + // if(initFormSettings.Remember && isChangeType == false) + // { + // OpenNewMainForm(); + // } + // })); + // }); } bool isOpen = false; diff --git a/TEMUKJD/InitForm.resx b/TEMUKJD/InitForm.resx index e330b8a..a01b148 100644 --- a/TEMUKJD/InitForm.resx +++ b/TEMUKJD/InitForm.resx @@ -120,179 +120,289 @@ - AAABAAEAgIAQcgAAAABoKAAAFgAAACgAAACAAAAAAAEAAAEABAAAAAAAACgAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP// - AAD///8AAAAAAAAAAAAAAAAABEZmbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMZmZkQAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAZszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM - zMxmAAAAAAAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM - zMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM - zMzMzMzMzMzMzMzMxkAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM - zMzMzMzMzMzMzMzMzMzMzMzGQAAAAAAAAAAAAAAAAAAAbMzMzMzMzMzMzMzMzMzMzMzMzMd3d3d3d3d3 - d3d3fMzMzMzMzMzMzMzMzMzMzMzMzMYAAAAAAAAAAAAAAAAARszMzMzMzMzMzMzMzMzMzMd3d3iIiIiI - iIiIiIiIiIh3d3d8zMzMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAABszMzMzMzMzMzMzMzMzMx3eIiIiI - iIiIiIiIiIiIiIiIiIiIiHd8zMzMzMzMzMzMzMzMzMxgAAAAAAAAAAAAAGzMzMzMzMzMzMzMzMzMd4iI - iIiIiIiIiIiIiIiIiIiIiIiIiIiIiHfMzMzMzMzMzMzMzMzMxgAAAAAAAAAAAAbMzMzMzMzMzMzMzMzH - eIiIiIiIiIiHZmZmZmZmZmZmZ3eIiIiIiIiIiHzMzMzMzMzMzMzMzMxgAAAAAAAAAABszMzMzMzMzMzM - zMzHiIiIiIiHZmZmZmZmZmZmZmZmZmZmZmZmeIiIiIiIfMzMzMzMzMzMzMzMxgAAAAAAAAAGzMzMzMzM - zMzMzMzHiIiIiIdmZmZmZgAAAAAAAAAAAAZmZmZmZmZmeIiIiIh8zMzMzMzMzMzMzMxgAAAAAAAATMzM - zMzMzMzMzMzHiIiIiHZmZgAAAAAAAAAAAAEAAAAAAAAAAGZmZmZniIiIiHzMzMzMzMzMzMzMxAAAAAAA - AGzMzMzMzMzMzMzMeIiIiGZmAAAAAAERERmZmZmZmZmZkRERERAAAGZmZmZ4iIiIfMzMzMzMzMzMzMYA - AAAAAAbMzMzMzMzMzMzMeIiIiGZgAAAAERmZmZmZmZmZmZmZmZmZmZmZkREAAGZmZniIiIfMzMzMzMzM - zMzMYAAAAABMzMzMzMzMzMzMzIiIiHYAAAARGZmZiIiIj///////+IiIiIeZmZmZkREAZmZmiIiIfMzM - zMzMzMzMzMQAAAAAbMzMzMzMzMzMzO6IiIYAAAARmYiI/////////////////////4iHmZmZEQBmZmeI - iIh8zMzMzMzMzMzGAAAABMzMzMzMzMzMzMeIiIdgAAAZmI////////////////////////////iJmZmR - EGZmZ4iIh8zMzMzMzMzMzEAAAAbMzMzMzMzMzMzoiIhwAAAZeP////////////////////////////// - /4iZmZEAZmZ4iIh8zMzMzMzMzMxgAABMzMzMzMzMzMzOiIiGAAABiP////////////////////////// - ////////+JmZkQZmZ4iIh8zMzMzMzMzMxAAAbMzMzMzMzMzM7oiIYAABeP////////////////////// - ///////////////4mZkQZmZ4iIjMzMzMzMzMzMYAAMzMzMzMzMzMzu6IhwAAGP////////////////// - /////////////////////4iZmRZmZ4iIfMzMzMzMzMzMAAbMzMzMzMzMzM7oiHAAB4////////////// - ////////////////////////////iZmRBmZ4iIfMzMzMzMzMzGAGzMzMzMzMzMzuiIcAAHj///////// - //////////////////////////////////iZmRZmZ4iIzMzMzMzMzMxgDMzMzMzMzMzM7ohwAAf///// - ////////////////////////////////////////95mRZmaIiHzMzMzMzMzMwEzMzMzMzMzMzuiIEABo - //////////////////////////////////////////////95mRZmaIiMzMzMzMzMzMRszMzMzMzMzM7o - hwAGj///////////////////////////////////////////////95kQZmeIh8zMzMzMzMzGbMzMzMzM - zMzu6HEAB/////////////////////////////////////////////////+ZkQZmiIjMzMzMzMzMxmzM - zMzMzMzM7ohwAGj/////////////////////////////////////////////////iZkWZniIfMzMzMzM - zMZszMzMzMzMxu6HEAbv/4iI/////////////////////////////////////////4iP//iZEGZoiHzM - zMzMzMzGbMzMzMzMzM7uhxAGj/iIiIj//////////////////////////////////////4iIiI//mZFm - aIiMzMzMzMzMxszMzMzMzMzO6IEAbv+IiIiIj/////////////////////////////////////iIiIiP - /4mRBmeIh8zMzMzMzMbMzMzMzMzMbuhxAG7/iIiIiI////////////////iIj///j//////////////4 - iIiIiP/5mQZmiIfMzMzMzMzMzMzMzMzMzO7ocQDo+IiIiIiP///////////////u7u7u7u7o//////// - ////iIiIiIj/+JkWZoiHzMzMzMzMzMzMzMzMzMzu6BEG7/iIiIiIj/////////////+Hd3ju5maO7v// - /////////4iIiIiI//iZEGaIh8zMzMzMzMzMzMzMzMzM7ugRBu//iIiIiI//////////////kZmZdmAZ - mP/////////////4iIiIiP//mRBmeIjMzMzMzMzMzMzMzMzMzO7nEAbv/4iIiIiP////////////+HiI - mZEBd5n/////////////+IiIiIj//4mQZniIzMzMzMzMzMzMzMzMzMzu5xAO7//4iIiI//ju7o////// - //j//4mZeP/4//////////////iIiIiP//+JkGZ4iHzMzMzMzMzMzMzMzMzG7ocQDu///4iI//ju7u7u - j//////////4mP//////////////7u7uiIiI////iZBmaIh8zMzMzMzMzMzMzMzMzu6HEG7v//////+G - ZmZ47u7//////////4//////////////7u7u7u6P/////4mQBmiIfMzMzMzMzMzMzMzMzM7uhRBu7/// - ///3AAAAF37u7///////////////////////h2AABm7u7v/////5kAZ4iHzMzMzMzMzMzMzMzMzO7oUQ - bu//////gQAAZgEG7u//////////////////////+BAAAAAFfu6P////+ZAGeIjMzMzMzMzMzMzMzMzM - zu6FEG7v////+JEAAXhwAG7o/////////////////////4gAABEGARbu7/////kQBoiIzMzMzMzMzMzM - zMzMzM7uhRBu7/////iZABmZkQBm6P////////////////////+JABGZF2AAbo////+JEGaIiMzMzMzM - zMzMzMzMzMzO7ucRbu/////4mRZ4iZkQBu//////////////////////mQB5mZdgAG7/////iRBmiIfM - zMzMzMzMzMzMzMzMxu7nEQ7v////+Bl+j/iZEAaP/////////////////////5l2/4mRAABu/////4kQ - ZoiHzMzMzMzMzMzMzMzMzMzu5xEO6P//+Phgbu/4kQAI//////////////////////+Zfo/4kQAAeIiP - //+JEGaIh8zMzMzMzMzMzMzMzMzM7ucRBu7///iOYHiI+HAAf///////////////////////mYjv+BAA - BuiIj///iQBniIfMzMzMzMzMzMzMzMzMzO7nEQbu///3EAAG6IcRF4iP/////////////////////4GP - /4cQAAZnbv///5EAaIiMzMzMzMzMzMzMzMzMzMzu5xEW7v//iRF3dmZgAXjmj/////////////////// - ///3ePiBEQAHdm7///iRAGiIfMzMzMzMzMzMzMzMzMzM7u5xFu6P/5EZmXZmZmbmaP////////////// - ///////4/4d2cRAAFwbuj//4kQZoiHzMzMzMzMzMzMzMzMzMzG7ucRDu7/iXiZkQAAZmAH////////// - ////////////+IiIdmYABmAX//j/+BAGeIh8zMzMzMzMzMzMzMzMzMzO7nEQbu/4iP+BERkREZf///// - //////////////////+JmXdxEBEAB3////kQBoiIzMzMzMzMzMzMzMzMzMzMzu5xEW7o+P//gZmZmZmP - ////////////////////////+JmZmZmZl453//+JAGaIh8zMzMzMzMzMzMzMzMzMzM7u5xEO7vj/+IeP - iIj////////////////////////////4iZmZmZiPiP//cQBoiIfMzMzMzMzMzMzMzMzMzMzM7ucRFu6P - //iP//////////////////////////////////////+Jn/j/+JAAaIiMzMzMzMzMzMzMzMzMzMzMzO7n - ERbu7//4/////////////////////////////////////////4j///gQBoiIfMzMzMzMzMzMzMzMzMzM - zMzu7nERbuj////////////////////////////////////////////4//+BAAaIiMzMzMzMzMzMzMzM - zMzMzMzMzu5xEW7u////////////////////////////////////////////////cQBoiIfMzMzMzMzM - zMzMzMzMzMzMzM7u5xEW7u//////////////////////////////////////////////+BAAaIiMzMzM - zMzMzMzMzMzMzMzMzMzO7uYREO7o//7v//////////////////////////////////////////cABoiI - fMzMzMzMzMzMzMzMzMzMzMzMzO7ucRFu7oj/7o////////////////////////////////////////9x - AAeIiMzMzMzMzMzMzMzMzMzMzMzMzMzO7ucRFu7nePju7u7v//////////////////////////////// - 6P/4EAB4iIfMzMzMzMzMzMzMzMzMzMzMzMzMzu7nERBu7nmIiO7oj/////////////////////////// - ju7u7o//hwAGiIh8zMzMzMzMzMzMzMzMzMzMzMzMzMzu7nERbu7nmZl5eP////////////////////// - ///4iPiO5nj/+HAAaIiIzMzMzMzMzMzMzMzMzMzMzMzMzMzM7u7nERbu7oiZeI////////////////// - ////////+ImXd5mP/4cAAHiIh8zMzMzMzMzMzMzMzMzMzMzMzMzMzM7u53ERbu7v//////////////// - ///////////////4iZl4//hgAAeIiHzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM7u53ERBu7v////////// - //////////////////////////+GAAB4iI7MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzO7uiHEADujv//// - ///////////////////////////////3AAAGiIh8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzO7ohwABmP - ////////////////////////////////////iREAZniIjMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzuiI - EAB4f///////////////////////////////////+JmZkWZoiIfMzMzMzMzMzMzMzMzMzMzMzMzMzMzM - zO6IhwBo//////////////////////////////////////iImZl2ZoiIzMzMzMzMzMzMzMzMzMzMzMzM - zMzMzMzuiHAA7////////////////////////////////////////4iZFmZ4iHzMzMzMzMzMzMzMzMzM - zMzMzMzMzMzO6IgQBo/////4j///////////////////////////////////mZFmaIiMzMzMzMzMzMzM - zMzMzMzMzMzMzMzMzuiHAA7/////iIiP//////7o//////////////////iI/////4mRZmeIh8zMzMzM - zMzMzMzMzMzMzMzMzMzMzO6IcQBo////+IiIiI/////+7u7u7uiIiI7u7v////iIiI/////5mRZmiIjM - zMzMzMzMzMzMzMzMzMzMzMzMzMzuiHAA7////4iIiIiIj//3d2bu7u7u7u7u7u7//4iIiIiP////+JkW - ZniIfMzMzMzMzMzMzMzMzMzMzMzMzMzO6IcQBo////+IiIiIiI//+ZkAAGZmZmZmZmbv//iIiIiIiP// - //+ZkWZoiIzMzMzMzMzMzMzMzMzMzMzMzMzMzuiFAG7////4iIiIiIj///iZABEREREREBAG7//4iIiI - iIj/////iZFmaIiMzMzMzMzMzMzMzMzMzMzMzMzMzO6IcQBo////+IiIiIiI///4kQARERERERERDo// - +IiIiIiIj/////mZBmeIh8zMzMzMzMzMzMzMzMzMzMzMzMzuiHAG7////4iIiIiIiP//+JFmeHd3d3dx - EW6P//iIiIiIiI/////4mRZmiIfMzMzMzMzMzMzMzMzMzMzMzMzO7ocQBo////+IiIiIiIj///iQZoiO - 7u7u5xFu7//4iIiIiIiI////+JkWZniIzMzMzMzMzMzMzMzMzMzMzMzMzuiHEA7////4iIiIiIiP///5 - kGaIju7u7ucRbu///4iIiIiIiP////95kGZ4iHzMzMzMzMzMzMzMzMzMzMzMzM7ogQBu////+IiIiIiI - j///+RBmiI7u7u7nEW7v//+IiIiIiIiP////iZFmaIh8zMzMzMzMzMzMzMzMzMzMzMzu6HEAaP////iI - iIiIiI////kQZoiHzMzu5xEO6P//iIiIiIiIj////4mRZmiIjMzMzMzMzMzMzMzMzMzMzMzM7ugRBu// - ///4iIiIiIj///+JEGaIh8zM7ucRBu7//4iIiIiIiI/////5kQZniIzMzMzMzMzMzMzMzMzMzMzMzO6I - EAbv////iIiIiIiI////iQBniIzMzO7oERbu///4iIiIiIiP////+JkGZ4iHzMzMzMzMzMzMzMzMzMzM - zMbuhxAGj////4iIiIiIj////3kAaIiMzMzu7nEW7v//+IiIiIiIiP////iZFmaIh8zMzMzMzMzMzMzM - zMzMzMzO7oUQbv////+IiIiIiI////+RBmiIfMzMzu5xFu6P//+IiIiIiIj////4mRZmiIfMzMzMzMzM - zMzMzMzMzMzMzu6BAG7////4iIiIiIj////4kQZoiHzMzM7ucRDu7///iIiIiIiIj////5kQZoiHzMzM - zMzMzMzMzMzMzMzMzM7ocQBu////+IiIiIiI////+JAGeIh8zMzO7nERbu///4iIiIiIiI////95EGaI - h8zMzMzMzMzMzMzMzMzMzMxu6HEA7v////iIiIiIiP////cQBoiIzMzMzu7lEW7v///4iIiIiIiP//// - iRBmeIjMzMzMzMzMzMzMzMzMzMzM7uhxBuj////4iIiIiI/////5EAaIiMzMzMbu5xEO7v//+IiIiIiI - j////4kQZniIzMzMzMzMzMzMzMzMzMzMzO7oEQbv////+IiIiIj/////iQBmiIfMzMzM7ucRBu7///iI - iIiIiIj///+JkGZ4iMzMzMzMzMzMzMzMzMzMzMzu6BEG7/////iIiIiI/////4EAaIiHzMzMzO7nERbu - j///iIiIiIiI////iZBmaIh8zMzMzMzMzMzMzMzMzMzM7ucRBu/////4iIiIj/////+RAGiIjMzMzMzu - 7nEQ7u////iIiIiIiP///4mQBmiIfMzMzMzMzMzMzMzMzMzMzO7nEAbv////+IiIiP/////4EAZ4iHzM - zMzMzu5xEG7v///4iIiIiIj///+JkAZoiHzMzMzMzMzMxmzMzMzMzMzu5xAO7/////+IiI//////+RAG - iIjMzMzMzM7ucRFu7v///4iIiIiI////+ZAGaIh8zMzMzMzMzMZszMzMzMzG7ocQDu//////+I////// - /4EAZoiIzMzMzMzO7ucRBu7////4iIiIiP////mQBmiIfMzMzMzMzMzGbMzMzMzMzu6HEA7v//////// - //////9xAGiIh8zMzMzMzO7nERbu7///+IiIiI/////5kAZoiHzMzMzMzMzMxmzMzMzMzM7uhxAO7/// - ///////////4EABoiIzMzMzMzMzu7nEQbu////+IiIiP////+ZAGaIh8zMzMzMzMzMZszMzMzMzO7oUQ - Du//////////////9xAGiIh8zMzMzMzM7u5xEW7u/////4iI//////mQBmiIfMzMzMzMzMzGTMzMzMzM - zu6HEA7v/////////////4EABoiIzMzMzMzMzM7u5xEG7v/////////////5kAZoiHzMzMzMzMzMxAzM - zMzMzM7uhxEO7/////////////9wAGiIh8zMzMzMzMzO7ucRFu7v////////////+RAGeIh8zMzMzMzM - zMAGzMzMzMzO7ucRDuj////////////4EAB4iIzMzMzMzMzMzO7ucRBu6P///////////4kQBoiIzMzM - zMzMzMxgBszMzMzMxu7nEQbo////////////gQAGiIh8zMzMzMzMzMzu7nERDu7///////////+JEAaI - iMzMzMzMzMzMYADMzMzMzMzu5xEG7v///////////3EAZ4iIzMzMzMzMzMzMzu7nERbu7/////////// - gQBmiIfMzMzMzMzMzAAAbMzMzMzM7ucRBu7///////////gQAGiIh8zMzMzMzMzMzM7u5xEQbu7///// - /////5EAZ4iHzMzMzMzMzMYAAEzMzMzMzO7nERDu7/////////+HAAaIiIzMzMzMzMzMzMzM7u5xEQ7u - 7/////////gQAGiIjMzMzMzMzMzEAAAGzMzMzMzu7nEQbuj////////4cAAHiIh8zMzMzMzMzMzMzO7u - dxEW7uj////////3AAZoiHzMzMzMzMzMYAAABMzMzMzM7u5xEG7u////////hgAAeIiHzMzMzMzMzMzM - zMzO7ucREW7u7///////gQAGiIh8zMzMzMzMzEAAAABszMzMzM7ucREG7uj/////hmAAB4iI7MzMzMzM - zMzMzMzMzu7ucREG7u6P////+AAAB4iIzMzMzMzMzMYAAAAATMzMzMzO7ucREG7u7oiO7mAAAHiIiMzM - zMzMzMzMzMzMzMzu7ucREG7u7o//+HYAAHiIh8zMzMzMzMzEAAAAAAbMzMzMzu7nEREG7u7u5mAAAAeI - iIfMzMzMzMzMzMzMzMzMzu7ucREQbu7u7uYAAAeIiHzMzMzMzMzMYAAAAAAAbMzMzMzu7nEREAZmZgAA - AAF4iI58zMzMzMzMzMzMzMzMzMzu7ncREQZm7mZgAAB4iI7MzMzMzMzMxgAAAAAAAEzMzMzM7u7nEREQ - AAAAABF4iI7uzMzMzMzMzMzMzMzMzMzM7u7ucRERAAAAAAAHiIiMzMzMzMzMzMQAAAAAAAAGzMzMzM7u - 7nERERERERF3iIju7MzMzMzMzMzMzMzMzMzMzM7u7udREREQAAAReIiIfMzMzMzMzMxgAAAAAAAAAGzM - zMzM7u7udRERERV4iI7u7MzMzMzMzMzMzMzMzMzMzMzM7u7u5xEREREReIiO7MzMzMzMzMzGAAAAAAAA - AAAGzMzMzM7u7u53d3eIiO7u7szMzMzMzMzMzMzMzMzMzMzMzM7u7u7nd1F3eIiO7uzMzMzMzMzMYAAA - AAAAAAAAAGzMzMzM7u7u7u7u7u7u7szMzMzMzMzMzMzMzMzMzMzMzMzMzu7u7u6IiI7u7uzMzMzMzMzM - xgAAAAAAAAAAAAAGzMzMzMzu7u7u7u7u5szMzMzMzMzMzMzMzMzMzMzMzMzMzMzO7u7u7u7u7u7MzMzM - zMzMzGAAAAAAAAAAAAAAAEbMzMzMzG7u7u7ubMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM7u7u7u7uzM - zMzMzMzMzGQAAAAAAAAAAAAAAAAAbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzG7u - 7szMzMzMzMzMzMYAAAAAAAAAAAAAAAAAAARszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM - zMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAABGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM - zMzMzMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM - zMzMzMzMzMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAAAAAAAABmzMzMzMzMzMzMzMzMzMzMzMzM - zMzMzMzMzMzMzMzMzMzMzMzMzMzMzGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARGZmzMzMzMzMzMzMzM - zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMZmZEAAAAAAAAAAAAAAAAD////+AAAAAAAAAAD/////////AAAA - AAAAAAAAAP//////+AAAAAAAAAAAAAAf/////+AAAAAAAAAAAAAAB/////+AAAAAAAAAAAAAAAH////+ - AAAAAAAAAAAAAAAAf////AAAAAAAAAAAAAAAAD////AAAAAAAAAAAAAAAAAP///gAAAAAAAAAAAAAAAA - B///wAAAAAAAAAAAAAAAAAP//4AAAAAAAAAAAAAAAAAB//8AAAAAAAAAAAAAAAAAAP/+AAAAAAAAAAAA - AAAAAAB//gAAAAAAAAAAAAAAAAAAf/wAAAAAAAAAAAAAAAAAAD/4AAAAAAAAAAAAAAAAAAAf+AAAAAAA - AAAAAAAAAAAAH/AAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAP4AAAAAAAAAAAAAAAAAAAB+AA - AAAAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAA - AAOAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA - AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABAAAAAAAA - AAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAABAAEAQEAAAAEAIAAoQgAAFgAAACgAAABAAAAAgAAAAAEAIAAAAAAAAEIAAMQOAADEDgAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+WNVf/ljWe/5Y10f+WNfD/ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y18P+WNdH/ljWe/5Y1VwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/5Y1XP+WNd7/ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljXe/5Y1XAAAAAAAAAAAAAAAAAAAAAAAAAAA/5Y1f/+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljV/AAAAAAAAAAAAAAAA/5Y1XP+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + NVwAAAAAAAAAAP+WNd7/ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljXeAAAAAP+WNVf/ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNVf/ljWe/5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljWe/5Y10f+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y10f+WNfD/ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNfD/ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//nkX//7p8//+8fv//qlv//5g4//+WNf//ok3//8mY//+2dP//p1X//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//55E//7Zt//+9e7//ujV//+gSf//ljX//6VS//738v/+8OP//tWw//+d + Qv//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//r2b//u7g//7+///+6NT//5k7//+X + N///vH///v7///7+///+0af//5g5//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+u + Zf/+8uf//v7///7fw///ljX//5g4///Bif/+/v///v7////Ilv//mDn//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//55F//+hSv//oEn//6BJ//+gSf//oEn//6BI//+gSP//oEj//6BI//+f + R///n0f//59H//+fR///n0f//59H//+fRv//n0b//59H//+fR///oEj//6BI//+fR///n0f//6BI//+f + R///lzf//5Y1//+WNf//ljX//7d0//738v/+/v///tWw//+WNf//mjz//s+k//7+///+/v///7x///+X + N///ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//7hxv/+9Ov//vDk//7y6P/+8uj//vLn//7y + 5//+8eb//vHl//7w4//+8OP//vDj//7w4//+8OP//u/i//7v4v/+7+H//u/h//7v4v/+7+L//vDk//7x + 5f/+8OP//u/i//7x5f/+69r//6lZ//+WNf//ljX//5Y1//+WNf//v4X//vz7//78/P//yZj//5Y1//+d + Qv/+2Lb//v7///7+////sWr//5Y2//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf/+7d///v7///7+ + ///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+ + ///+/v///v7///7+///+/v///v7///7+///+/v///vfx//+ya///ljX//5Y1//+WNf//ljX//5Y1//7L + nP/+/v///vj0//+8fv//ljX//55F//7hxv/+/v///vz6//+pWv//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//ubQ//7+///+6NT//8KL//++g///voP//76C//+/hP//voP//7+E//+/hf//v4X//8CG///A + h///wIf//8CH///Ah///wIf//8CG///Ahv//wIb//8CH///Ah///wIf//8GI//++g///nUL//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//tq4//7+///+9Ov//7Nt//+WNf//oUv//uzd//7+///+8+r//6JN//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//7m0P/+/v///s+j//+ZO///ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+YOv/+38T//v7///7v4v//rGD//5Y1//+m + VP/+9Ov//v7///7s2///mj3//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf/+7+L//v7///7bu///nkT//5Y1//+a + Pf/+3sH//tay//7Nof/+zqL//tGn//7Sqf/+0qr//tKp//7Sqf/+0qn//tKp//7Qpf/+0KX//s6i//7N + of/+zaD//sye//7Mnv/+zqL//sye//+dQv//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//55F//7m + 0P/+/v///ujU//+lUv//ljX//6xh//77+f/+/v7//uHG//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//tm3//7+ + ///+/v///sqa//+aPP//ljb//tOs//7+///+/v///v7///7+///+/v///v7///7+///+/v///v7///7+ + ///+/v///v7///7+///+/v///v7///7+///+/v///v7///727///rWL//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//pFH//uvb//7+///+38L//59H//+WNf//t3b//v7///79/f/+17T//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+dQv/+1K3//v7///7+///+0aj//5g5//+XN///uXr//vn1//7+///+/v///uvb//7W + sf/+3L3//t3A//7ewP/+3sD//t7B//7ewf/+38P//t/D//7fxP/+4MT//uDE//7hxv/+2rn//6NP//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+tYf/+7+L//v7///7Urv//mz///5Y1///E + j//+/v///vz8//7NoP//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5c3//7Kmv/++vf//v7///7Wsv//ljX//5Y1//+u + Zf/+8+r//v7///7r2v//q13//5Y1//+aPP//mj7//5o+//+aPv//mj7//5o+//+aPv//mj7//5o+//+b + P///mz///5o+//+WNv//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//7Z0//71 + 7v/+/v///sqa//+YOP//mDj//s+k//7+///+/Pr//8KL//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//8CH//75 + 9f/+/v///t/E//+ZO///ljX//6td//7u4P/+/v///vLn//+sX///ljb//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//vH///vfy//7+////voP//5Y1//+cQf/+27r//v7///769///uHj//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//t3b//vXu//7+/v/+5tH//6NP//+WNf//qVn//ubQ//7+///+/Pr//72B//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+2c//+9Ov//v7///+ya///ljX//6FK//7j + zP/+/v///vXt//+tYf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+wZ//+8uj//v7///7y6P//rmT//5Y1//+g + SP/+27z//vz8//7+////yJb//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5k7//+lU///nED//uHH//7+ + /v/++/n//6VT//+WNf//qlv//u3f//7+///+7Nz//6NO//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//6hY//7s + 3f/+/v///vPq//+1cP//ljX//5Y1//7Urf/+/f3//v39//7Sqf//lzf//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+XN///p1X//8OM//7d + v//+8uj//vz7//7+///+/v///v7///717f//qFj//5Y1//+zbP/+8+r//v7///7p1v//mTv//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//oUr//uXP//7+///+9vD//7x///+XN///ljX//8eU//7+///+/Pv//tm3//+e + RP//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+g + SP/+0KX//vPq//7+///+/v///v7///759f/+7+L//uzb//7t3v/++vj//vLn//+tYf//ljX//7x+//73 + 8v/+/v///uLJ//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+eRf/+27v//v7///77+f//xI///5k7//+W + Nf//vYH//v7///7+///+4sn//6VT//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+vZv/+7Nz//v7///7+///+8+r//s+k//+3df//qVn//6FL//+fR///oUr//6pc///H + k///xpL//5k7//+WNf//xpL//vr3//7+///+1K3//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5o8//7Q + pf/+/v///v7///7Urf//mDn//5c3//+1cf/++PT//v7///7t3///qVr//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+zbv/+9e7//v7///769//+zqL//6FK//+WNv//ljX//5Y1//+Z + O///oEj//55E//+WNf//ljX//5c3//+XN///ljX//5Y1//7Sqv/+/f3//vz7///Ci///ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljb//8eU//759f/+/v///t/D//+ZO///ljX//69m//7v4v/+/v///vLo//+u + ZP//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+oV//+8uf//v7///78+v//tnP//5Y1//+W + Nf//plT//s2h//7m0f/+8uj//vXt//707P/+8OT//t/D///Civ//n0b//5Y1//+WNf//ljX//ubQ//7+ + ///+9u///61h//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//vH7//vfy//7+///+6NP//6FK//+W + Nf//qFn//ujV//7+///++PP//7Fp//+WNv//ljX//5Y1//+WNf//ljX//5Y1//+WNf/+48z//v7///7+ + ////smz//5Y1//+bP///yZj//vfy//7+///+/v///v7///79/f/+/v7//v7///7+///+/v///uzd//+x + av//ljX//5Y1//+dQ//++vf//v7///7m0P//ljb//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+x + aP/+8+r//v7///7v4f//p1b//5Y1//+jT//+5M3//v7///78+v//qFf//5Y1//+WNf//ljX//5Y1//+W + Nf//xI///vv5//7+////wor//5Y1//+cQP/+2Lb//v7///7+///+7t///sub//+waP//plX//6dW//+2 + dP/+1a///vjz//7+///++/n//7l4//+XN///ljX//7h4//7+///++/n//8SO//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//6hY//7x5v/+/v///vHl//+qXf//ljX//6JM//7r2//+/v///vLn//+X + N///ljX//5Y1//+WNf//mz///uLI//7+///+69r//5k7//+YOP/+y5z//v7///7+/v/+2LX//59G//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+rXf/+6tn//v7///7+////qlv//5Y1//+ZO//+7t///v7///7g + xf//mDr//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//oUv//u7f//7+///+7d7//6pc//+W + Nf//rWH//vXu//7+///+1K3//5Y1//+WNf//ljX//7Vx//717v/+/v///7Vw//+WNv//o07//v7///7+ + ///+2bj//5c3//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//6hZ//7s3P/+/v///uva//+Z + O///lzf//7t8//7+///+8+n//7Fp//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+f + R//+7Nz//v7///7gxf//n0f//5Y1//7Vr//+/f3//vr3//+ZO///ljX//5Y1///Ej//+/v///v7///+j + Tv//ljX//tOr//7+///+7d7//6JM//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//xI7//vv5//7+////rmX//5Y1//+jT//+/v///v7////Ah///ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//6pd//78+v/+/v///8KL//+WNf//mDj//vr3//78/P//xpL//5Y1//+W + Nf/+0af//v7///7m0f//n0b//5Y1//7z6v/+/v///tu6//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5k7//7p1v/+/v///tKp//+WNf//oEn//vHl//7+///+ypr//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//x5X//v7///7kzf//okz//5Y1//7m + 0P/+/v///uHI//+WNf//ljb//tSt//7+///+3Lz//5xB//+WNf/+/v///vr4///Ej///ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf/+4sj//v7///7fw///ljX//59G//7o + 1P/+/v///s+j//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//7Vx//7+ + ///+/Pr//6td//+WNf/+zZ///v7///7u3///ljX//5Y1//7Rp//+/v///t7B//+dQv//ljX//vv5//77 + +f//yZf//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//uLI//7+ + ///+4sj//5Y1//+fRv/+69r//v7///7Mnv//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//7t8//7buv//t3b//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+xaP/++PT//v7///+sYf//ljX//8aS//7+///+8uf//5g4//+WNf//xZH//v7///7s + 3P//oEj//5Y1//7q2f/+/v///uDE//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//7n0v/+/v///ti1//+WNf//okz//vn1//7+////w43//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5g4//+bP///lzf//5Y1//7z6v/+/v///urX//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//t3T//v7///79/f//q17//5Y1//7Po//+/v///u/h//+W + Nf//ljX//7p7//76+P/+/v///6RQ//+WNf/+y5v//v7///7z6f//r2X//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+3dP/+9e7//v7///+5ef//ljX//6pb//7+///++fX//7l4//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//51C///Gkv/+8+r//7Rv//+WNf//tXH//v7///77 + +f/+y5v//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//nEH//ti1//7+///+6tf//6RQ//+W + Nf/+4sj//v7///7kzf//ljX//5Y1//+jTv/+6NP//v7////Fkf//lzf//6BJ//7+/v/+/v///uHH//+b + P///ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+fRv/+5M3//v7///728P//mjz//5g4//7Q + pf/+/v///urY//+mVP//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+cQP/+27v//v7///7n + 0v//n0b//5Y1//7Sqv/+/v///vfy///Ej///mTv//5Y1//+WNf//ljX//5Y1//+WNf//mj7//8mY//7+ + ///+/v///8WR//+WNf//ljX//vn1//79/f/+zaH//5Y1//+WNf//ljX//tSt//7+///++/n//59G//+X + N///uXr//v7///7+///+4sj//6lZ//+XN///ljX//5Y1//+WNf//ljX//5Y2//+oWP/+48v//v7///7+ + ////tnT//5c3//+aPv/+/v///v7///7Ytv//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//7Bn//7x5v/+/v///8SP//+XN///mDr//tq4//7+///+/v///uXP///Ahv//rmP//6pc//+r + Xf//uXn//t3A//7+///+/v///t2+//+fRv//ljX//sye//78/P/++/n//6VS//+WNf//ljX//5Y1//+j + Tv/+7d7//v7///7fxP//ljX//5k7///Gkv/+/f3//v7///7y6P/+z6P//7Fq//+oWf//qVr//7Fp//7M + nv/+8OP//v7///7+////yZj//5o8//+WNf/+1K3//v7///7y5///rmT//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//x5X//vz7//7+////tnP//5Y1//+aPv/+y5v//vfy//7+ + ///+/v///v7///79/f/+/v///v7///7+///++vj//tWv//+hSv//ljX//6hY//707P/+/v///uPL//+W + Nf//ljX//5Y1//+WNf//ljX//8KL//769v/+/v///tCm//+WNf//mDr//7x///7z6f/+/v///v7///7+ + ///++PT//vr3//7+///+/v///v7///717v//wov//5o9//+WNf//uXn//v7///79/f/+1K7//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//7Vr//+/f3//v7///+7 + ff//ljX//5c3//+qXf/+zqL//ufT//7z6f/+9/L//vTr//7p1v/+0qr//7Jr//+YOP//ljX//6lZ//7v + 4v/+/v///vr4//+cQf//ljX//5Y1//+WNf//ljX//5Y1//+WNf/+06v//v39//79/f/+0KX//5c3//+W + Nf//o07//8iW//7iyP/+8+r//v7+//7+///+9vD//uPM//7Kmv//pVL//5Y1//+WNf//uXj//vz6//7+ + /v/+6NP//5Y2//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//lzf//tq5//79/f/+/f3//tez//+kUP//ljX//5Y1//+cQf//pFH//6hZ//+lU///n0b//5Y1//+W + Nf//mj3//8GJ//707P/+/v///v7///+vZv//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//7W + sv/+/v///vz7//7fxP//ql3//5Y1//+WNf//mj7//6ZV//+waP//sWj//6hZ//+bP///ljX//5Y1//+g + SP/+0aj//vr4//7+///+6tn//6FK//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+ZO//+0af//v7///79/f/+8eX//tGo//+ya///mz///5Y1//+W + Nf//ljX//5Y2//+oWP//w43//uPL//77+f/+/v///vPq//+ybP//lzf//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//mDj//8qa//7+///+/v///vn1//7auf//tnT//5o9//+WNf//ljX//5Y1//+W + Nf//mTv//69l//7NoP/+7d7//v39//7+///+38T//6FK//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5c3//+7fP/+69v//v7///7+ + ///++vj//vPq//7s3P/+5c7//ubP//7x5f/+9vD//v7+//7+///+/Pr//tu7//+oWf//ljb//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+XN///r2X//ubR//7+///+/v///vr4//7z + 6v/+5c7//uHH//7hx//+5Mz//vLo//759f/+/v///v7///717f//x5T//51C//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//59G//+9gf/+3sH//vfy//7+///+/v///v7///7+///+/v///v39//7w4//+1K3//61i//+X + N///ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+d + Q///uXr//t2///738v/+/v///v7///7+///+/v///v7///7+///++/n//ujT///Ilv//pFH//5Y2//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljb//5o8//+kUP//tG///76D///DjP//w4z//7x///+u + ZP//n0f//5g5//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y2//+ZO///pVP//7l5///FkP/+0KX//tCm///Hk///vH///6pc//+c + Qf//lzf//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y18P+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y18P+W + NdH/ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNdH/ljWe/5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljWe/5Y1V/+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1VwAAAAD/ljXe/5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y13gAA + AAAAAAAA/5Y1XP+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNVwAAAAAAAAAAAAAAAD/ljV//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNX8AAAAAAAAAAAAAAAAAAAAAAAAAAP+WNVz/ljXe/5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y13v+WNVwAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP+WNVf/ljWe/5Y10f+WNfD/ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y1//+W + Nf//ljX//5Y1//+WNf//ljX//5Y1//+WNf//ljX//5Y18P+WNdH/ljWe/5Y1VwAAAAAAAAAAAAAAAAAA + AAAAAAAA+AAAAAAAAB/gAAAAAAAAB8AAAAAAAAADgAAAAAAAAAGAAAAAAAAAAQAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA - AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA - AAAAAAABgAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAADwAAAAAAA - AAAAAAAAAAAAA+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAH8AAAAAAAAAAAAAAAAAAAD/AA - AAAAAAAAAAAAAAAAAA/4AAAAAAAAAAAAAAAAAAAf+AAAAAAAAAAAAAAAAAAAH/wAAAAAAAAAAAAAAAAA - AD/+AAAAAAAAAAAAAAAAAAB//gAAAAAAAAAAAAAAAAAAf/8AAAAAAAAAAAAAAAAAAP//gAAAAAAAAAAA - AAAAAAH//8AAAAAAAAAAAAAAAAAD///gAAAAAAAAAAAAAAAAB///8AAAAAAAAAAAAAAAAA////wAAAAA - AAAAAAAAAAA////+AAAAAAAAAAAAAAAAf////4AAAAAAAAAAAAAAAf/////gAAAAAAAAAAAAAAf///// - +AAAAAAAAAAAAAAf//////8AAAAAAAAAAAAA/////////gAAAAAAAAAAf////w== + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAA + AAAAAAABgAAAAAAAAAHAAAAAAAAAA+AAAAAAAAAH+AAAAAAAAB8= \ No newline at end of file diff --git a/TEMUKJD/KJD.csproj b/TEMUKJD/KJD.csproj index feb8b7a..f1fa6c5 100644 --- a/TEMUKJD/KJD.csproj +++ b/TEMUKJD/KJD.csproj @@ -55,7 +55,7 @@ 4 - 29common_icon.ico + 29_common_blue_icon.ico true @@ -169,6 +169,12 @@ + + Form + + + InitForm.cs + Form @@ -551,12 +557,6 @@ - - Form - - - InitForm.cs - Form @@ -1355,6 +1355,9 @@ ChangeForm.cs + + InitForm.cs + RandomComProductForm.cs @@ -1541,9 +1544,6 @@ UcSubAccount.cs - - InitForm.cs - AdminAccountForm.cs @@ -1928,6 +1928,8 @@ + + diff --git a/TEMUKJD/KJD.csproj.user b/TEMUKJD/KJD.csproj.user index 10da63c..b64c7a6 100644 --- a/TEMUKJD/KJD.csproj.user +++ b/TEMUKJD/KJD.csproj.user @@ -1,4 +1,4 @@ - + ShowAllFiles diff --git a/TEMUKJD/KJDForms/ProductSelectForms/DbProductEditForm.cs b/TEMUKJD/KJDForms/ProductSelectForms/DbProductEditForm.cs index 6f7bf88..b105c69 100644 --- a/TEMUKJD/KJDForms/ProductSelectForms/DbProductEditForm.cs +++ b/TEMUKJD/KJDForms/ProductSelectForms/DbProductEditForm.cs @@ -57,8 +57,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms BaseMsgForm.ShowError("请输入正确的成本价,必须大于0,整数或者两位以内小数。"); return; } - - //var url = BaseClass.BuildObjString("product/mdy_product_notes"); + var url = BaseClass.BuildObjString("product/mdy_db_product"); var data = UserLogin.GetSignaturex() + "&db_id=" + dbProd.id + "¬es=" + this.txtNotes.Text.Trim(); diff --git a/TEMUKJD/MainForm.cs b/TEMUKJD/MainForm.cs index 99c2c31..cb0e59e 100644 --- a/TEMUKJD/MainForm.cs +++ b/TEMUKJD/MainForm.cs @@ -238,13 +238,16 @@ namespace TemuKJD } if (BaseClass.MainPath == "29wx") { - BaseClass.Ico = Icon.FromHandle(Properties.Resources.weixin_icon.GetHicon()); - BaseClass.LogoImage = Properties.Resources.weixin_logo; navPanel.Style.BackgroundImage = Properties.Resources.weixin_bg; plTopRight.BackgroundImage = null; this.BackColor = GlobalConfig.BorderColor; - BaseClass.ToolName = "29供应链 - 微信小店管理工具"; + if (BaseClass.AgentCode.IsNullOrEmpty()) + { + BaseClass.Ico = Icon.FromHandle(Properties.Resources.weixin_icon.GetHicon()); + BaseClass.LogoImage = Properties.Resources.weixin_logo; + BaseClass.ToolName = "29供应链 - 微信小店管理工具"; + } } Rectangle rect = Screen.GetWorkingArea(this); diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdEditForm.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdEditForm.cs index 4825d6a..13b65c8 100644 --- a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdEditForm.cs +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdEditForm.cs @@ -58,7 +58,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms private void btnOk_Click(object sender, EventArgs e) { - //var url = BaseClass.BuildPDDObjString("product/mdy_product_notes"); var url = BaseClass.BuildPDDObjString("product/mdy_db_product"); var data = UserLogin.GetSignaturex() + "&db_id=" + dbProd.id + "¬es=" + this.txtNotes.Text.Trim(); @@ -70,6 +69,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms data += "&fission_words=" + "fission_goods_names:" + this.txtFissionWords.Text.Trim(); data += "&head_words=" + this.txtHeadWords.Text.Trim(); data += "&end_words=" + this.txtEndWords.Text.Trim(); + data += "&add_user_name" + dbProd.add_user_name; var html = GetHtml.PostUtf8(url, data); if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) html = GetHtml.PostUtf8(url, data); diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUploadForm.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUploadForm.cs index 8307ac8..93be350 100644 --- a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUploadForm.cs +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUploadForm.cs @@ -310,8 +310,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms addUserName = BaseClass.ParentAuthority.Contains("机会商品采集") ? ("admin," + BaseClass.ParentUserName) : "admin"; PDDDBProdListForm.GetPDDProductGroup(cmbGroupFilter, "", "", addUserName); - // 刷新类目信息 - GetPddProductCate(); + // 刷新类目信息 (已通过接口抓取所有拼多多类目,不再实时从库中获取) + //GetPddProductCate(); Invoke(new Action(() => { cmbSourceType_SelectedIndexChanged(null, null); })); }); } @@ -321,30 +321,30 @@ namespace TemuKJD.PDDForms.ProductSelectForms /// void GetPddProductCate() { - var url = BaseClass.BuildObjString("product/get_product_cates"); - var data = UserLogin.GetSignaturex(); - var html = GetHtml.PostUtf8(url, data); - if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) - html = GetHtml.PostUtf8(url, data); - if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) - html = GetHtml.PostUtf8(url, data); - if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) - { - //BaseMsgForm.ShowError("商品分组获取失败,请重试!" + BaseRegex.GetStringJson(ref html, "msg")); - } - else - { - //Invoke(new Action(() => - //{ - // cmbCateFilter1.Items.Clear(); - // var groups = BaseRegex.GetStringJson(ref html, "data"); - // foreach (var item in groups.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries)) - // { - // cmbCateFilter1.Items.Add(item); - // } - // cmbCateFilter1.Items.Add(""); - //})); - } + //var url = BaseClass.BuildObjString("product/get_product_cates"); + //var data = UserLogin.GetSignaturex(); + //var html = GetHtml.PostUtf8(url, data); + //if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) + // html = GetHtml.PostUtf8(url, data); + //if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) + // html = GetHtml.PostUtf8(url, data); + //if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) + //{ + // //BaseMsgForm.ShowError("商品分组获取失败,请重试!" + BaseRegex.GetStringJson(ref html, "msg")); + //} + //else + //{ + // //Invoke(new Action(() => + // //{ + // // cmbCateFilter1.Items.Clear(); + // // var groups = BaseRegex.GetStringJson(ref html, "data"); + // // foreach (var item in groups.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries)) + // // { + // // cmbCateFilter1.Items.Add(item); + // // } + // // cmbCateFilter1.Items.Add(""); + // //})); + //} } private void RefreshShop() diff --git a/TEMUKJD/Program.cs b/TEMUKJD/Program.cs index d09d4e9..2e05940 100644 --- a/TEMUKJD/Program.cs +++ b/TEMUKJD/Program.cs @@ -1,5 +1,7 @@ -using System; +using AllBase; +using System; using System.Collections.Generic; +using System.Drawing; using System.Linq; using System.Threading.Tasks; using System.Windows.Forms; @@ -22,7 +24,8 @@ namespace TemuKJD Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); - System.Threading.Tasks.Task.Run(() => + StartUp.InitOemNew(); + Task.Run(() => { new Initialization().Get(); StartUp.Init(); diff --git a/TEMUKJD/Resources/buy.ico b/TEMUKJD/Resources/buy.ico new file mode 100644 index 0000000000000000000000000000000000000000..c1690a4fdc74c7765cf8ea1d613ee3f07e486b9c GIT binary patch literal 270398 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

poi9NWCJ@%BHqUpl)PaCf>SZ#*&{)x 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%0DrO) z&~FB0e9eg(SNyU#fAP$4KF%3(J|$n|V6r??Tei-FY{9Ae$?f0=@1t?;Zci$q0P9Mq(=ZNFbt=mKQ

  • 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 `zUDa;r=KQIe-8Rpkn4WVb&gJwxi28&rrEH^M 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 vfV1u4b24v&_Tpt(KvlaWkwpRO+sS8DLn* + /// 贴牌管理 + /// + public static void InitOemNew() + { + #region 代理版本获取代理码 + if (File.Exists("locales/io.pak")) + { + //var s = Randomx.GetWordWithNumber(585179); + var ioTxt = FileBase.ReadAllText("locales/io.pak"); + if (ioTxt.StartsWith("MThd") || !ioTxt.Contains("MThd")) + return; + + string agentNameFile = "locales/na.pak"; + if (File.Exists(agentNameFile)) + { + var config = FileBase.ReadAllText(agentNameFile, Encoding.UTF8); + var configArr = config.Split(new string[] { "\r\n", "MThd" }, StringSplitOptions.RemoveEmptyEntries); + if (configArr.Length >= 2) + { + //BaseClass.ProgramName = configArr[1]; + BaseClass.ToolName = configArr[1]; + BaseClass.AgentName = configArr[0]; + } + } + + string LogoPakFile = "locales/lo.pak"; // ico + if (File.Exists(LogoPakFile)) + { + // 直接指定路径,从bitmap转换的可能会丢失颜色 + BaseClass.Ico = new Icon(LogoPakFile); + } + string ImgPakFile = "locales/im.pak"; + if (File.Exists(ImgPakFile)) + { + //BaseClass.LogoImage = Properties.Resources.weixin_logo; + BaseClass.LogoImage = Image.FromFile(ImgPakFile); + } + + // 代理码 + BaseClass.AgentCode = ioTxt.Split(new string[] { "\r", "\n", "MThd" }, StringSplitOptions.RemoveEmptyEntries).FirstOrDefault().ParseToString(); + // 登录窗口图标 + //BaseClass.LoginImage = ImageBuild.BytesToImage(imgBytes); + // 主窗体图标 + //BaseClass.LogoImage = GetHtml.LoadImage(oem_logo_link); + + return; + + string agTxt = ""; + string agVersion = ""; + if (FileBase.Exists("locales/io-T.pak")) + { + var agTxtArr = FileBase.ReadAllText("locales/igx.pak").Split(new string[] { "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries); + agTxt = BaseEncrypt.EncryptDecode(agTxtArr[0], "asdf1357", "vbnm2468"); + if (agTxtArr.Length >= 2) + agVersion = BaseEncrypt.EncryptDecode(agTxtArr[1], "asdf1357", "vbnm2468"); + } + + if (!agTxt.Contains("oem_title") || + !agTxt.Contains("oem_register") || + !agTxt.Contains("oem_reset") || + !agTxt.Contains("oem_notice") || + !agTxt.Contains("oem_video") || + !agTxt.Contains("oem_logo_link") || + !agTxt.Contains("oem_icon_link")) + { + agTxt = ""; + agVersion = ""; + } + + // 获取贴牌版本号 + string url = BaseClass.BuildWXObjString("user/get_oem_version"); + string data = UserLogin.GetSignaturex("", "") + "&agent_code=" + BaseClass.AgentCode; + string html = GetHtml.PostUtf8(url, data); + if (!string.IsNullOrEmpty(html) && html != agVersion) + { + agTxt = ""; + agVersion = html; + } + if (!html.Contains("\"code\":200")) + { + var msg = BaseRegex.GetStringJson(ref html, "msg"); + //BaseMsgForm.ShowError("获取版本信息失败,请检查电脑时间!"); + BaseMsgForm.ShowError(msg); + Process.GetCurrentProcess().Kill(); + return; + } + + if (string.IsNullOrEmpty(agTxt)) + { + // 根据代理码给贴牌信息赋值 + url = BaseClass.BuildWXObjString("user/get_oem_config_info"); + data = UserLogin.GetSignaturex("", "") + "&agent_code=" + BaseClass.AgentCode; + agTxt = GetHtml.PostUtf8(url, data); + if (!agTxt.Contains("\"code\":200")) + { + var msg = BaseRegex.GetStringJson(ref html, "msg"); + BaseMsgForm.ShowError(msg); + Process.GetCurrentProcess().Kill(); + return; + } + + File.WriteAllText("locales/io-T.pak", BaseEncrypt.EncryptEncode(agTxt, "asdf1357", "vbnm2468") + "\r\n" + BaseEncrypt.EncryptEncode(agVersion, "asdf1357", "vbnm2468")); + } + + if (!string.IsNullOrEmpty(agTxt) && agTxt.Contains("获取配置信息成功")) + { + var oem_title = BaseRegex.GetStringJson(ref agTxt, "oem_title"); + var oem_register = BaseRegex.GetStringJson(ref agTxt, "oem_register"); + var oem_reset = BaseRegex.GetStringJson(ref agTxt, "oem_reset"); + var oem_notice = BaseRegex.GetStringJson(ref agTxt, "oem_notice"); + var oem_video = BaseRegex.GetStringJson(ref agTxt, "oem_video"); + var oem_pay = BaseRegex.GetStringJson(ref agTxt, "oem_pay"); + var oem_pay_ip = BaseRegex.GetStringJson(ref agTxt, "oem_pay_ip"); + var oem_logo_link = BaseRegex.GetStringJson(ref agTxt, "oem_logo_link"); + var oem_icon_link = BaseRegex.GetStringJson(ref agTxt, "oem_icon_link"); + var oem_mobile = BaseRegex.GetStringJson(ref agTxt, "oem_mobile"); + var oem_open = BaseRegex.GetStringJson(ref agTxt, "oem_open"); + var oem_header_name = BaseRegex.GetStringJson(ref agTxt, "oem_header_name"); + var oem_qq = BaseRegex.GetStringJson(ref agTxt, "oem_qq"); + + // 软件标题 + if (!string.IsNullOrEmpty(oem_title)) + { + BaseClass.ToolName = oem_title; + } + // 开放注册 + if (!string.IsNullOrEmpty(oem_register)) + { + BaseClass.IsShowRegister = oem_register == "1"; + } + // 开户续费 + if (!string.IsNullOrEmpty(oem_open)) + { + BaseClass.IsShowOpenAccount = oem_open == "1"; + } + //// 找回密码 + //if (!string.IsNullOrEmpty(oem_reset)) + //{ + // BaseClass.IsShowForgetPwd = oem_reset == "1"; + //} + //// 公告显示 + //if (!string.IsNullOrEmpty(oem_notice)) + //{ + // BaseClass.IsHideAnnounce = oem_notice == "0"; + //} + //// 视频显示 + //if (!string.IsNullOrEmpty(oem_video)) + //{ + // BaseClass.IsShowGuidance = oem_video == "1"; + //} + //// 充值元宝 + //if (!string.IsNullOrEmpty(oem_pay)) + //{ + // BaseClass.IsShowRecharge = oem_pay == "1"; + //} + //// 代理ip + //if (!string.IsNullOrEmpty(oem_pay_ip)) + //{ + // BaseClass.IsShowBuyProxyIp = oem_pay_ip == "1"; + //} + // logo图片地址 + if (!string.IsNullOrEmpty(oem_logo_link)) + { + try + { + var bitmapBG = (Bitmap)Properties.Resources.ResourceManager.GetObject("login_bg_agent"); + var img = GetHtml.LoadImage(oem_logo_link); + Graphics g = Graphics.FromImage(bitmapBG); + g.DrawImage(img, new Rectangle(bitmapBG.Width / 2 - img.Width / 2, bitmapBG.Height / 2 - img.Height / 2, img.Width, img.Height)); + var imgBytes = ImageBuild.BitmapToBytes(bitmapBG); + img.Dispose(); + g.Dispose(); + GetHtml.LoadImage(oem_logo_link); + + // 登录窗口图标 + BaseClass.LoginImage = ImageBuild.BytesToImage(imgBytes); + + // 主窗体图标 + BaseClass.LogoImage = GetHtml.LoadImage(oem_logo_link); + } + catch + { + } + if (BaseClass.LoginImage == null || BaseClass.LogoImage == null) + { + BaseMsgForm.ShowError("获取版本信息失败,请检查电脑联网状态或电脑时间!"); + Process.GetCurrentProcess().Kill(); + return; + } + } + // icon图片地址 + if (!string.IsNullOrEmpty(oem_icon_link)) + { + BaseClass.Ico = GetHtml.LoadIcon(oem_icon_link); + if (BaseClass.Ico == null) + { + BaseMsgForm.ShowError("获取版本信息失败,请检查电脑联网状态或电脑时间!"); + Process.GetCurrentProcess().Kill(); + return; + } + } + // 客服QQ(或电话) + if (!string.IsNullOrEmpty(oem_qq)) + { + BaseClass.ServiceQQ = oem_qq; + } + //if (!string.IsNullOrEmpty(oem_header_name)) + //{ + // BaseClass.oem_header = oem_header_name; + //} + } + } + #endregion + } + /// /// 贴牌管理 /// @@ -407,7 +624,7 @@ namespace TemuKJD // 主窗体图标 BaseClass.LogoImage = GetHtml.LoadImage(oem_logo_link); } - catch + catch { } if (BaseClass.LoginImage == null || BaseClass.LogoImage == null) diff --git a/TEMUKJD/ToolForms/Old/CefForm.Designer.cs b/TEMUKJD/ToolForms/Old/CefForm.Designer.cs index a5b9855..a6f4b2d 100644 --- a/TEMUKJD/ToolForms/Old/CefForm.Designer.cs +++ b/TEMUKJD/ToolForms/Old/CefForm.Designer.cs @@ -31,6 +31,7 @@ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(CefForm)); this.btnChangeBuyer = new DevComponents.DotNetBar.PanelEx(); this.splitContainer1 = new System.Windows.Forms.SplitContainer(); + this.txtUrl = new System.Windows.Forms.TextBox(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.SuspendLayout(); @@ -72,14 +73,24 @@ // // splitContainer1.Panel1 // + this.splitContainer1.Panel1.Controls.Add(this.txtUrl); this.splitContainer1.Panel1.Controls.Add(this.btnChangeBuyer); this.splitContainer1.Size = new System.Drawing.Size(1278, 686); this.splitContainer1.SplitterDistance = 26; this.splitContainer1.TabIndex = 432; // + // txtUrl + // + this.txtUrl.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtUrl.Location = new System.Drawing.Point(5, 3); + this.txtUrl.Name = "txtUrl"; + this.txtUrl.Size = new System.Drawing.Size(1270, 21); + this.txtUrl.TabIndex = 435; + this.txtUrl.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtUrl_KeyDown); + // // CefForm // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; this.ClientSize = new System.Drawing.Size(1280, 720); this.Controls.Add(this.splitContainer1); @@ -91,6 +102,7 @@ this.Load += new System.EventHandler(this.CefForm_Load); this.Controls.SetChildIndex(this.splitContainer1, 0); this.splitContainer1.Panel1.ResumeLayout(false); + this.splitContainer1.Panel1.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); this.splitContainer1.ResumeLayout(false); this.ResumeLayout(false); @@ -101,5 +113,6 @@ private DevComponents.DotNetBar.PanelEx btnChangeBuyer; private System.Windows.Forms.SplitContainer splitContainer1; + private System.Windows.Forms.TextBox txtUrl; } } \ No newline at end of file diff --git a/TEMUKJD/ToolForms/Old/CefForm.cs b/TEMUKJD/ToolForms/Old/CefForm.cs index 4f58551..1a0e6ed 100644 --- a/TEMUKJD/ToolForms/Old/CefForm.cs +++ b/TEMUKJD/ToolForms/Old/CefForm.cs @@ -45,7 +45,8 @@ namespace TemuKJD.ToolForms private void CefForm_Load(object sender, EventArgs e) { this.StartPosition = FormStartPosition.CenterScreen; - this.splitContainer1.Panel1Collapsed = true; + btnChangeBuyer.Visible = false; + //this.splitContainer1.Panel1Collapsed = true; if (string.IsNullOrEmpty(Url)) { @@ -163,6 +164,9 @@ namespace TemuKJD.ToolForms } }); } + + Invoke(new Action(() => { this.txtUrl.Text = e.Url; })); + } private void LifeHandler_OnPop(object sender, PopData e) @@ -192,5 +196,16 @@ namespace TemuKJD.ToolForms this.cefWebBrowser.Reload(); } } + + private void txtUrl_KeyDown(object sender, KeyEventArgs e) + { + if (e.KeyCode == Keys.Enter) + { + if (cefWebBrowser != null) + { + cefWebBrowser.Load(txtUrl.Text); + } + } + } } } diff --git a/TEMUKJD/UserComponent/DataGridViewEx.cs b/TEMUKJD/UserComponent/DataGridViewEx.cs index 0f9ff17..bed32cc 100644 --- a/TEMUKJD/UserComponent/DataGridViewEx.cs +++ b/TEMUKJD/UserComponent/DataGridViewEx.cs @@ -222,7 +222,7 @@ namespace TemuKJD.UserComponent { e.PaintBackground(e.CellBounds, true); - bool isChecked = cellTmp.Value.ParseToBool(); + bool isChecked = cellTmp?.Value == null ? false : cellTmp.Value.ParseToBool(); var locationX = e.CellBounds.Location.X + e.CellBounds.Width / 2 - checkBoxSize / 2 - 1; var locationY = e.CellBounds.Location.Y + e.CellBounds.Height / 2 - checkBoxSize / 2; Rectangle checkBoxBounds = new Rectangle(locationX, locationY, checkBoxSize, checkBoxSize); // 自定义大小和位置 diff --git a/TEMUKJD/UserForm/LoginForm.cs b/TEMUKJD/UserForm/LoginForm.cs index a9640a9..0f2dad5 100644 --- a/TEMUKJD/UserForm/LoginForm.cs +++ b/TEMUKJD/UserForm/LoginForm.cs @@ -42,14 +42,15 @@ namespace TemuKJD.UserForm { this.pnlLoginBg.Style.BackgroundImage = Properties.Resources.pdd_bg; this.pnlLoginBg.Style.BackgroundImagePosition = DevComponents.DotNetBar.eBackgroundImagePosition.Stretch; - this.pbLogo.Image = Properties.Resources.pdd_logo; + //this.pbLogo.Image = Properties.Resources.pdd_logo; } if (BaseClass.MainPath == "29wx") { this.pnlLoginBg.Style.BackgroundImage = Properties.Resources.weixin_bg; this.pnlLoginBg.Style.BackgroundImagePosition = DevComponents.DotNetBar.eBackgroundImagePosition.Stretch; - this.pbLogo.Image = Properties.Resources.weixin_logo; + //this.pbLogo.Image = Properties.Resources.weixin_logo; } + this.pbLogo.Image = BaseClass.LogoImage; GetUserList(); #if DEBUG diff --git a/TEMUKJD/WXForms/AiTalkForms/WxAiTalkForm.Designer.cs b/TEMUKJD/WXForms/AiTalkForms/WxAiTalkForm.Designer.cs index deda326..81f9b1f 100644 --- a/TEMUKJD/WXForms/AiTalkForms/WxAiTalkForm.Designer.cs +++ b/TEMUKJD/WXForms/AiTalkForms/WxAiTalkForm.Designer.cs @@ -82,6 +82,7 @@ namespace TemuKJD.WXForms.AiTalkForms this.label5 = new System.Windows.Forms.Label(); this.pbLoading = new System.Windows.Forms.PictureBox(); this.panel4 = new System.Windows.Forms.Panel(); + this.btnReload = new DevComponents.DotNetBar.PanelEx(); this.btnClose = new DevComponents.DotNetBar.PanelEx(); this.btnToKfMainPage = new DevComponents.DotNetBar.PanelEx(); this.ucTabControl1 = new TemuKJD.UserComponent.UcTabControl(); @@ -862,6 +863,7 @@ namespace TemuKJD.WXForms.AiTalkForms // // panel4 // + this.panel4.Controls.Add(this.btnReload); this.panel4.Controls.Add(this.btnClose); this.panel4.Controls.Add(this.btnToKfMainPage); this.panel4.Controls.Add(this.ucTabControl1); @@ -871,6 +873,33 @@ namespace TemuKJD.WXForms.AiTalkForms this.panel4.Size = new System.Drawing.Size(1115, 618); this.panel4.TabIndex = 906; // + // btnReload + // + this.btnReload.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnReload.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnReload.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnReload.DisabledBackColor = System.Drawing.Color.Empty; + this.btnReload.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnReload.Location = new System.Drawing.Point(929, 12); + this.btnReload.Name = "btnReload"; + this.btnReload.Size = new System.Drawing.Size(88, 23); + this.btnReload.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnReload.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnReload.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnReload.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnReload.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnReload.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnReload.Style.CornerDiameter = 3; + this.btnReload.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.btnReload.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnReload.Style.GradientAngle = 90; + this.btnReload.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnReload.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnReload.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnReload.TabIndex = 738; + this.btnReload.Text = "重新登录"; + this.btnReload.Click += new System.EventHandler(this.btnReload_Click); + // // btnClose // this.btnClose.Anchor = System.Windows.Forms.AnchorStyles.Left; @@ -1058,7 +1087,7 @@ namespace TemuKJD.WXForms.AiTalkForms // this.pnlCover.Controls.Add(this.pictureBox1); this.pnlCover.Controls.Add(this.btnReLogin); - this.pnlCover.Location = new System.Drawing.Point(24, 18); + this.pnlCover.Location = new System.Drawing.Point(46, 36); this.pnlCover.Name = "pnlCover"; this.pnlCover.Size = new System.Drawing.Size(200, 100); this.pnlCover.TabIndex = 0; @@ -1332,5 +1361,6 @@ namespace TemuKJD.WXForms.AiTalkForms private DevComponents.DotNetBar.PanelEx btnReLogin; private System.Windows.Forms.PictureBox pictureBox1; private DevComponents.DotNetBar.PanelEx btnRefreshAiStatus; + private DevComponents.DotNetBar.PanelEx btnReload; } } \ No newline at end of file diff --git a/TEMUKJD/WXForms/AiTalkForms/WxAiTalkForm.cs b/TEMUKJD/WXForms/AiTalkForms/WxAiTalkForm.cs index 9f376ad..33225d9 100644 --- a/TEMUKJD/WXForms/AiTalkForms/WxAiTalkForm.cs +++ b/TEMUKJD/WXForms/AiTalkForms/WxAiTalkForm.cs @@ -3,6 +3,7 @@ using AllBase.Helper; using AllBase.Model.Config; using AllBase.Model.Result; using CefSharp; +using CefSharp.DevTools.LayerTree; using CefSharp.WinForms; using NaiBa.CefHelper; using NaiBa.CefHelper.Handler; @@ -161,10 +162,10 @@ namespace TemuKJD.WXForms.AiTalkForms 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; + //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); @@ -400,6 +401,7 @@ namespace TemuKJD.WXForms.AiTalkForms dgvShop.Rows[iGrid].Cells["colSelect"].Value = true; r = dgvShop.Rows[iGrid]; } + r.Cells["colSelect"].Value = false; 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); @@ -424,19 +426,22 @@ namespace TemuKJD.WXForms.AiTalkForms aiTalkWebBrowser = CEFBrowser.CreateChromiumWebBrowser("about:blank", true); CustomResourceRequestHandler resourceRequestHandler = new CustomResourceRequestHandler(); var handler = resourceRequestHandler; - handler.ResourceLoadCompleteEvent += RequestHandler_ResourceLoadComplete; + handler.ResourceLoadCompleteEvent += AiRequestHandler_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; + var lifeHandler = new LifeSpanHandlerLocal(PopWindowType.NewWindow); + lifeHandler.OnPop += LifeHandler_OnPop; + lifeHandler.parent = aiTalkWebBrowser; + aiTalkWebBrowser.LifeSpanHandler = lifeHandler; + //var lifeSapnHandler = new LifeSpanHandlerLocal(PopWindowType.SelfWindow); + //aiTalkWebBrowser.LifeSpanHandler = lifeSapnHandler; + //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"); + aiTalkWebBrowser.Load(AiTalkUrl + "/workbench"); pnlAiTalk.Controls.Add(aiTalkWebBrowser); //while (aiTalkWebBrowser.IsBrowserInitialized != true) //{ @@ -452,7 +457,7 @@ namespace TemuKJD.WXForms.AiTalkForms aiTalkAdminWebBrowser = CEFBrowser.CreateChromiumWebBrowser("about:blank", false); CustomResourceRequestHandler resourceRequestHandler = new CustomResourceRequestHandler(); var adminHandler = resourceRequestHandler; - adminHandler.ResourceLoadCompleteEvent += AdminRequestHandler_ResourceLoadComplete; + adminHandler.ResourceLoadCompleteEvent += AdminAiRequestHandler_ResourceLoadComplete; aiTalkAdminWebBrowser.RequestHandler = new CustomRequestHandler(resourceRequestHandler); aiTalkAdminWebBrowser.KeyboardHandler = new KeyboardHandler(); //var lifeHandler = new LifeSpanHandlerLocal(PopWindowType.NewTitleWindow); @@ -475,6 +480,7 @@ namespace TemuKJD.WXForms.AiTalkForms document.getElementsByTagName('button')[0].click();"; var response = aiTalkAdminWebBrowser.GetBrowser().MainFrame.EvaluateScriptAsync(loginJs); response.Wait(2000); + Thread.Sleep(500); } string data = @"{""username"":""" + BaseClass.UserName + @""",""password"":""" + BaseClass.PassWord + @"""}"; @@ -483,6 +489,7 @@ namespace TemuKJD.WXForms.AiTalkForms var rst = HttpResponseWxAiTalkBLL.PostResponse(new ShopLoginInfo(), url, data, refer); if (!rst.Contains("\"ok\":true")) { + //var cookies = CEFBrowser.GetCookieList("", aiTalkAdminWebBrowser.RequestContext.GetCookieManager(null)); 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"; @@ -496,16 +503,28 @@ namespace TemuKJD.WXForms.AiTalkForms } AiTalkUserId = BaseRegex.GetStringJson(ref rst, "id"); - aiTalkWebBrowser.Load(AiTalkUrl); + aiTalkWebBrowser.Load(AiTalkUrl + "/workbench"); + Thread.Sleep(1000); + aiTalkWebBrowser.Load(AiTalkUrl + "/workbench"); Thread.Sleep(500); - while (!aiTalkWebBrowser.Address.Contains("/workbench")) + + while (aiTalkWebBrowser.Address.Contains("/login")) { 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 response = aiTalkWebBrowser.GetBrowser().MainFrame.EvaluateScriptAsync(loginJs); + var client = aiTalkWebBrowser.GetDevToolsClient(); + if (client != null) + { + var result = client.Runtime.EvaluateAsync(loginJs, null, true, null, null, true, null, true); + result.Wait(5000); + } + //Invoke(new Action(() => { + // pnlCover.SendToBack(); + //})); + Thread.Sleep(500); } var shopIds = string.Join(",", GlobalConfig.ShopLoginList.Select(s => s.ShopId)); @@ -528,13 +547,13 @@ namespace TemuKJD.WXForms.AiTalkForms return; } + Thread.Sleep(1000); + foreach (var shop in GlobalConfig.ShopLoginList) { BindAiTalkStatus(shop); } - Thread.Sleep(1000); - Invoke(new Action(() => { pnlCover.Visible = false; pnlCover.SendToBack(); @@ -593,9 +612,9 @@ namespace TemuKJD.WXForms.AiTalkForms } } - private void RequestHandler_ResourceLoadComplete(object sender, string url, string postData, string responseData) + private void AiRequestHandler_ResourceLoadComplete(object sender, string url, string postData, string responseData) { - if (responseData.Contains("登录失败") || responseData.Contains("\\u767b\\u5f55\\u5931\\u8d25")) + if (url.Contains(AiTalkUrl) && (responseData.Contains("登录失败") || responseData.Contains("\\u767b\\u5f55\\u5931\\u8d25"))) { Invoke(new Action(() => { @@ -605,8 +624,22 @@ namespace TemuKJD.WXForms.AiTalkForms this.btnReLogin.Visible = true; })); } + if (url.Contains("/api/me")) + { + if (!responseData.Contains("\"" + BaseClass.UserName + "\"")) + { + Task.Run(() => + { + Invoke(new Action(() => + { + var cookieManager = aiTalkWebBrowser.GetCookieManager(null); + cookieManager.DeleteCookiesAsync(AiTalkUrl.Replace("https://", "").Replace("http://", ""), null); + })); + }); + } + } } - private void AdminRequestHandler_ResourceLoadComplete(object sender, string url, string postData, string responseData) + private void AdminAiRequestHandler_ResourceLoadComplete(object sender, string url, string postData, string responseData) { } @@ -637,7 +670,7 @@ namespace TemuKJD.WXForms.AiTalkForms { if (lifeHandler.parent != null) { - var cookies = CEFBrowser.GetCookieList("", lifeHandler.parent.RequestContext.GetCookieManager(null)); + var cookies = CEFBrowser.GetCookieList("", lifeHandler.parent.GetCookieManager(null)); Invoke(new Action(() => { CefForm cefForm = new CefForm(targetUrl, cookies); @@ -653,7 +686,16 @@ namespace TemuKJD.WXForms.AiTalkForms var lifeHandler = sender as LifeSpanHandlerLocal; Task.Run(() => - { + { + if (lifeHandler.parent != null) + { + var cookies = CEFBrowser.GetCookieList("", lifeHandler.parent.GetCookieManager(null)); + Invoke(new Action(() => + { + CefForm cefForm = new CefForm(targetUrl, cookies); + cefForm.Show(); + })); + } }); } @@ -1348,6 +1390,11 @@ namespace TemuKJD.WXForms.AiTalkForms } } + private void btnReload_Click(object sender, EventArgs e) + { + LoadAiTalkAdmin(); + } + //https://store.weixin.qq.com/shop-faas/mmchannelstradeorder/list/cgi/orderSearch?token=&lang=zh_CN //https://store.weixin.qq.com/shop/order/list // 待发货 diff --git a/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs b/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs index 126181b..274b83f 100644 --- a/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs +++ b/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs @@ -3208,6 +3208,7 @@ namespace TemuKJD.WXForms.ProductForms } if (propInfo.values.Count == 0) continue; + var attr = productAttr.attr.FirstOrDefault(r => r.name == propInfo.name); if (attr == null) @@ -3509,6 +3510,27 @@ namespace TemuKJD.WXForms.ProductForms else attrValue = "100 g"; } + else if (attr.value == "日;月;年") + { + var propInfoValue = (propInfo.values.FirstOrDefault()?.value).ParseToString(); + if (propInfoValue.EndsWith("日") || propInfoValue.EndsWith("月") || propInfoValue.EndsWith("年")) + attrValue = propInfo.values.FirstOrDefault()?.value + propInfoValue.LastOrDefault(); + else + attrValue = "30 日"; + } + else if (attr.value.ParseToString().Length > 0 && !attr.value.ParseToString().Contains(";")) + { + if ((propInfo.values.FirstOrDefault()?.value).ParseToString().EndsWith(attr.value)) + { + attrValue = propInfo.values.FirstOrDefault()?.value; + if (attrValue.Substring(0, attrValue.Length - attr.value.Length - 1).ParseToInt() == 0) + attrValue = BaseRegex.GetMatchMaxRegexString(ref attrValue, "(\\d{1,6})") + " " + attr.value; + if (attrValue.Substring(0, attrValue.Length - attr.value.Length - 1).ParseToInt() == 0) + attrValue = "1 " + attr.value; + } + else + attrValue = "1 " + attr.value; + } else { var param = recommendParamRst.productInfo.param.FirstOrDefault(p => p.categorys?.FirstOrDefault()?.name == attr.name); @@ -3731,6 +3753,8 @@ namespace TemuKJD.WXForms.ProductForms attrValue = "100 ml"; else if (attr.value == "L") attrValue = "1 L"; + else if (attr.value == "日;月;年") + attrValue = "30 日"; } var wxPropParam = new wxPropParam(); diff --git a/TEMUKJD/WXForms/ProductForms/WXUserCollectAuthProdEditNotesForm.cs b/TEMUKJD/WXForms/ProductForms/WXUserCollectAuthProdEditNotesForm.cs index 89055c1..464c8bf 100644 --- a/TEMUKJD/WXForms/ProductForms/WXUserCollectAuthProdEditNotesForm.cs +++ b/TEMUKJD/WXForms/ProductForms/WXUserCollectAuthProdEditNotesForm.cs @@ -123,7 +123,6 @@ namespace TemuKJD.WXForms.ProductForms private void btnOk_Click(object sender, EventArgs e) { - //var url = BaseClass.BuildPDDObjString("product/mdy_product_notes"); var url = BaseClass.BuildPDDObjString("product/mdy_db_product"); var data = UserLogin.GetSignaturex() + "&db_id=" + dbProd.id + "¬es=" + this.txtNotes.Text.Trim(); diff --git a/TEMUKJD/WXForms/ShopForms/WXShopBrowserObject.cs b/TEMUKJD/WXForms/ShopForms/WXShopBrowserObject.cs index 63294b7..0579634 100644 --- a/TEMUKJD/WXForms/ShopForms/WXShopBrowserObject.cs +++ b/TEMUKJD/WXForms/ShopForms/WXShopBrowserObject.cs @@ -349,6 +349,11 @@ namespace TemuKJD.WXForms.ShopForms bool isExist = false; var existUrl = BaseClass.BuildPDDObjString("product/get_product_spu_id_list"); string existData = UserLogin.GetSignaturex() + "&search_spu_ids=" + prodId + collectAuthorityTag; + if (isCollectAuthorityUser) + { + existData += "&add_user_name=" + BaseClass.UserName; + existData += "&group=用户" + BaseClass.UserName; + } //if (!string.IsNullOrEmpty(prod.dbProduct.real_spu_id)) // existData = UserLogin.GetSignaturex() + "&search_spu_ids=" + prod.spuId + "," + prod.dbProduct.real_spu_id; string html = GetHtml.PostUtf8(existUrl, existData); diff --git a/TEMUKJD/代理文件.txt b/TEMUKJD/代理文件.txt new file mode 100644 index 0000000..c9c2fa1 --- /dev/null +++ b/TEMUKJD/代理文件.txt @@ -0,0 +1,4 @@ +locales/io.pak 代理码 +locales/na.pak 软件名称 +locales/lo.pak logo +locales/im.pak 主窗口及登录窗口标题图片 \ No newline at end of file