diff --git a/AllBase/Helper/GlobalConfig.cs b/AllBase/Helper/GlobalConfig.cs index 7ac0c34..b12f5db 100644 --- a/AllBase/Helper/GlobalConfig.cs +++ b/AllBase/Helper/GlobalConfig.cs @@ -19,34 +19,14 @@ namespace AllBase.Helper /// public static ConcurrentList ShopLoginList { get; set; } = new ConcurrentList(); /// - /// 非当前账户下的店铺列表 - /// - public static ConcurrentList DouShopLoginOtherUserShopList { get; set; } - /// /// 店铺设置参数 /// public static TemuShopSettingParam TemuShopSettingParam { get; set; } = new TemuShopSettingParam(); - /// - /// 抖音号cookie - /// - public static string DouUserCookies { get; set; } - - /// - /// 巨量百应cookies - /// - public static string DouBuyinCookies { get; set; } - - public static IDictionary dicLocalStorage { get; set; } - - public static IDictionary dicLocalDetailStorage { get; set; } - - public static FissionSettingParam FissionSettingParam { get; set; } + public static TemuProductWords ProductWords { get; set; } public static string cAgentIpCode { get; } = "AFZ94w3a"; public static List SameProductCheckParamList { get; set; } - - public static TemuProductWords ProductWords { get; set; } } } diff --git a/TEMUKJD/KJD.csproj b/TEMUKJD/KJD.csproj index d5b38eb..7de2656 100644 --- a/TEMUKJD/KJD.csproj +++ b/TEMUKJD/KJD.csproj @@ -178,25 +178,6 @@ JitShopActiveForm.cs - - Form - - - Fission.cs - - - - Form - - - FissionDataBaseForm.cs - - - Form - - - FissionShowBigImgForm.cs - Form @@ -324,18 +305,6 @@ OrderForm.cs - - UserControl - - - UcCategoryProp.cs - - - UserControl - - - UcQualifiaction.cs - Form @@ -679,12 +648,6 @@ CollectVerifyForm.cs - - Form - - - KeywordsCatchFrom.cs - Form @@ -958,15 +921,6 @@ JitShopActiveForm.cs - - Fission.cs - - - FissionDataBaseForm.cs - - - FissionShowBigImgForm.cs - AdminProductPriceCheckForm.cs @@ -1030,12 +984,6 @@ OrderForm.cs - - UcCategoryProp.cs - - - UcQualifiaction.cs - PriceManageForm.cs @@ -1207,9 +1155,6 @@ CollectVerifyForm.cs - - KeywordsCatchFrom.cs - MeituMessageDialog.cs @@ -1432,9 +1377,7 @@ Work - - - + False diff --git a/TEMUKJD/KJDForms/ProductForms/FissionUserControl/Fission.cs b/TEMUKJD/KJDForms/ProductForms/FissionUserControl/Fission.cs deleted file mode 100644 index ebf6cd3..0000000 --- a/TEMUKJD/KJDForms/ProductForms/FissionUserControl/Fission.cs +++ /dev/null @@ -1,2967 +0,0 @@ -using System; -using System.Drawing; -using System.Runtime.InteropServices; -using System.Windows.Forms; -using CefSharp; -using CefSharp.WinForms; -using System.IO; -using AllBase; -using System.Text.RegularExpressions; -using System.Collections.Generic; -using System.Threading.Tasks; -using Newtonsoft.Json; -using Newtonsoft.Json.Linq; -using System.Linq; -using DevComponents.DotNetBar; -using System.Text; -using AllBase.Helper; -using NaiBa.Util.Extension; -using Work.CollectClass; -using TemuKJD.BaseForms; -using AllBase.Model.Param.FissionManage; -using Work; -using Work.Api; -using System.Threading; -using TemuKJD.KJDForms.ToolForms; -using TemuKJD.KJDForms.ToolForms.JDVerify; -using NaiBa.Util; -using Work.DouyinApiClass; -using Work.BLL.Upload; -using NaiBa.CefHelper; -using AllBase.Model.Param.ProductManage; -using TemuKJD.KJDForms.ProductForms.FissionUserControl; -using AllBase.Model.Result; -using NaiBa.CefHelper.Handler; -using TemuKJD.KJDForms.ToolForms.KeywordsForms; - -namespace TemuKJD.KJDForms.ProductForms -{ - public partial class Fission : LRBaseForm - { - public ChromiumWebBrowser browser; - private static string sFissionPage = Directory.GetCurrentDirectory() + @"\page.html"; - private string _url; - private string _urlListStr; - private string _fullCate; - private string _teamGroup; - private string _fissionTitle; - public List _lstDataBaseProductFissData; - ProductCollectBase detailDataPcb = new ProductCollectBase(); - public static List goodsCategoryList = new List(); - public static Dictionary dicNameCate = new Dictionary(); - private decimal RandAddPriceBegin = 1.3M; - private decimal BaseAddPrice = 10M; - /// - /// 折扣比例 - /// - private decimal discount; - private string path = "temp/FissionBackup.txt"; - private List _listUrlTemp = new List(); // 临时队列 存放url 留备份到txt使用 - private readonly object ob = new object(); // 锁文件 - private static Fission instance; - public string fullCatStrings = ""; - public static List sCustomPropList = new List(); - public static List sQulityFileList = new List(); - /// - /// 食品饮料一级类目:粮油米面/南北干货/调味品 零食/坚果/特产 咖啡/麦片/冲饮 茶 酒类 保健食品/膳食营养补充食品 传统滋补营养品 传统滋补营养品 食品卡券 - /// - public static string[] foodCate1Names = new string[] { "粮油米面/南北干货/调味品", "零食/坚果/特产", "咖啡/麦片/冲饮", "茶", - "酒类", "保健食品/膳食营养补充食品", "传统滋补营养品", "食品卡券"}; - public int currentRowIndex = 0; - - public static Fission GetInstance() - { - return instance; - } - - internal static List GoodsCategories - { - get - { - //if (goodsCategoryList.Count == 0) - // goodsCategoryList = GetShopGoodsCategories(); - - return goodsCategoryList; - } - } - - public Fission(string sUrl, string urlListStr, List dataBaseProductFissDataList = null, ProductCollectBase data = null, - string teamGroup = "", string fullCate = "", string fissionTitle = "", string sKeywords = "", string sVoicewords = "") - { - InitializeComponent(); - - instance = this; - this.splitPage.Panel2Collapsed = true; - - pnlMsg.Text = ""; - this.detailDataPcb = data; - this._url = sUrl; - this._urlListStr = urlListStr; - this._fissionTitle = fissionTitle; - this._teamGroup = teamGroup; - this._fullCate = fullCate; - this._lstDataBaseProductFissData = dataBaseProductFissDataList; - } - - private void Fission_Load(object sender, EventArgs e) - { - if (BaseClass.Ico != null) - { - Iconx = BaseClass.Ico; - Icon = BaseClass.Ico; - } - - //CleanDataForm.LstFissionForm.Add(this); - - this.lklbResetShop_LinkClicked(null, null); - - var tempPcb = GetDataBaseProductPcb(detailDataPcb); - if (tempPcb != null) - { - detailDataPcb = tempPcb; - this.pnlShowOriginal.Visible = true; - } - if (detailDataPcb == null) - return; - - if (!string.IsNullOrEmpty(_fissionTitle)) - txtTitle.Text = _fissionTitle.Replace(";", "\r\n"); - if (!string.IsNullOrEmpty(_fullCate)) - lblCategory.Text = _fullCate; - - // 获取商品的店铺标记/分组 - GetTeamGroupContent(_teamGroup); - // 初始化净化数据网页及页面内容 - InitFissionData(detailDataPcb); - - GetMeiTuPath(); - ReloadShop(); - - if (BaseClass.IsCloudBuyOrder) - btnCatchWords.Visible = true; - } - - /// - /// 初始化净化数据网页及页面内容 - /// - /// - /// - /// - private void InitFissionData(ProductCollectBase data) - { - try - { - this.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height); - - if (!string.IsNullOrEmpty(_url)) - { - InitBrowser(); - } - else - { - return; - } - - if (!string.IsNullOrEmpty(_urlListStr)) - { - InitWinForm(data); - } - - this.WindowState = FormWindowState.Minimized; - } - catch (Exception ex) - { - BaseMsgForm.ShowInfo("未正确获取商品信息!(请确认商品ID是否正确以及网络)"); - } - } - - private void InitWinForm(ProductCollectBase data = null) - { - _listUrlTemp.Clear(); - string[] urlList = _urlListStr.Split(new string[] { "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries); - int i = 1; - urlList = urlList.Distinct().ToArray(); // 去重 add by tl 20190610 - foreach (string str in urlList) - { - string productUrl = FilterURL(str); // 商品url - string proName = ""; - if (str.Contains("-----")) - { - proName = str.Substring(0, str.IndexOf("-----")); - } - if (!_listUrlTemp.Contains(productUrl)) - { - i++; - _listUrlTemp.Add(productUrl); - - var from_id = GetIdFromURLByRegex(productUrl); - var finalFissionData = _lstDataBaseProductFissData?.FirstOrDefault(f => f.fession_id == from_id.ToString()); - - dataGridView1.Rows.Add( - i, - finalFissionData == null ? 0 : finalFissionData?.id, - productUrl, - proName, - "待处理", - "移除", - finalFissionData == null ? "" : "从数据库删除"); - } - } - - // 保存到临时文件 - using (StreamWriter st = new StreamWriter(new FileStream(path, FileMode.Create))) - { - foreach (string str in _listUrlTemp) - { - st.WriteLine(str.Trim('\r', '\n')); - } - } - - if (data != null) - { - InitGoodsDetail(data); - } - - // 检查数据库是否已有此商品 - GetIsExistProduct(); - } - - public delegate void DelFormLoaded(); - private delegate void DelChangeWindowState(); - public delegate void DelCloseEvent(); - public DelCloseEvent CloseEvent { get; set; } - public DelFormLoaded FormLoadedEvent { get; set; } - FissionBrowserObject fissionBrowserObject = new FissionBrowserObject(); - - private void InitBrowser() - { - this.updateBtn.Enabled = false; - this.addToDBBtn.Enabled = false; - //CefSettings settings = new CefSettings(); - //settings.Locale = "zh-CN"; - // Initialize cef with the provided settings - //Cef.Initialize(settings); - if (browser == null) - { - browser = new ChromiumWebBrowser(_url) { Dock = DockStyle.Fill, KeyboardHandler = new KeyboardHandler() }; - fissionBrowserObject = new FissionBrowserObject(); - fissionBrowserObject.InformationReceived += fissionBrowserObject_InfomationReceived; - // 注册C#类为JS对象(FissionBrowserObject.cs)类 - //browser.RegisterJsObject("cefBrowser", fissionBrowserObject, new CefSharp.BindingOptions { CamelCaseJavascriptNames = false }); - //CefSharpSettings.LegacyJavascriptBindingEnabled = true;//cef 79 84以后:“CefSharpSettings”未包含“LegacyJavascriptBindingEnabled”的定义 - CefSharpSettings.WcfEnabled = true; - browser.JavascriptObjectRepository.Register("cefBrowser", fissionBrowserObject, isAsync: false, options: new BindingOptions { /*CamelCaseJavascriptNames = false*/ /*cef79*/ }); - browser.FrameLoadEnd += Browser_FrameLoadEnd; - browser.SizeChanged += Browser_SizeChanged; - this.panel1.Controls.Add(browser); - } - else - { - browser.Load(_url); - } - } - - private void Browser_SizeChanged(object sender, EventArgs e) - { - Task.Run(() => - { - while (!browser.IsBrowserInitialized || browser.IsLoading) - { - Thread.Sleep(100); - } - Thread.Sleep(10); - var jsCode = @"initDragHtml();"; - browser.GetMainFrame().EvaluateScriptAsync(jsCode, null); - }); - } - - private void Browser_IsBrowserInitializedChanged(object sender, EventArgs e) - { - //当网页加载完毕之后,将上传按钮置为可用。 - Action act = delegate - { - if (!string.IsNullOrEmpty(this.lblCategory.Text)) - { - this.updateBtn.Enabled = true; - this.addToDBBtn.Enabled = true; - } - }; - this.Invoke(act); - } - - private void Browser_FrameLoadEnd(object sender, FrameLoadEndEventArgs e) - { - FormLoadedEvent?.Invoke(); - ChangeWindowState(); - - // 当网页加载完毕之后,将上传按钮置为可用。 - Action act = delegate - { - if (!string.IsNullOrEmpty(this.lblCategory.Text)) - { - this.updateBtn.Enabled = true; - this.addToDBBtn.Enabled = true; - } - }; - this.Invoke(act); - } - - private void ChangeWindowState() - { - if (this.Created) - { - if (this.WindowState == FormWindowState.Minimized) - { - if (this.InvokeRequired) - { - DelChangeWindowState delChangeWindowState = ChangeWindowState; - this.Invoke(delChangeWindowState); - } - else - { - WindowState = FormWindowState.Maximized; - } - } - } - } - - public override void PictureBox1_Click(object sender, EventArgs e) - { - if (File.Exists(sFissionPage)) - { - File.Delete(sFissionPage); - } - - if (CloseEvent != null) - { - CloseEvent.Invoke(); - } - base.PictureBox1_Click(sender, e); - } - private void pictureBox1_Click(object sender, EventArgs e) - { - if (File.Exists(sFissionPage)) - { - File.Delete(sFissionPage); - } - - if (CloseEvent != null) - { - CloseEvent.Invoke(); - } - this.Close(); - } - - #region 窗体移动 - //定义无边框窗体Form  - [DllImport("user32.dll")]//*********************拖动无窗体的控件  - - public static extern bool ReleaseCapture(); - - [DllImport("user32.dll")] - - public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam); - - public const int WM_SYSCOMMAND = 0x0112; - - public const int SC_MOVE = 0xF010; - - public const int HTCAPTION = 0x0002; - - private void panel2_MouseDown(object sender, MouseEventArgs e) - { - //MoveForm(this, this.panel2); - } - private void MoveForm(Form form, Panel panel) - { - ReleaseCapture(); - SendMessage(form.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);//*********************调用移动无窗体控件函数 - } - #endregion - private void importFileBtn_Click(object sender, EventArgs e) - { - BaseMsgForm.ShowInfo("格式1:商品地址\r\n" + - "格式2:关键词-----商品地址\r\n", "导入格式"); - - OpenFileDialog openFileDialog = new OpenFileDialog(); - openFileDialog.Filter = "文本文件(*.txt)|*.txt"; - openFileDialog.RestoreDirectory = true; - openFileDialog.FilterIndex = 1; - if (openFileDialog.ShowDialog() == DialogResult.OK) - { - _listUrlTemp.Clear(); - string fName = openFileDialog.FileName; - string line = string.Empty; - string productUrl = string.Empty; - // 追加保存到临时文件 - using (StreamWriter st = new StreamWriter(new FileStream(path, FileMode.Create))) - { - using (StreamReader sr = new StreamReader(openFileDialog.FileName, System.Text.Encoding.Default)) - { - dataGridView1.Rows.Clear(); - int i = 1; - while ((line = sr.ReadLine()) != null) - { - importURLtextBox.Text = openFileDialog.FileName; - productUrl = FilterURL(line); - string proName = ""; - if (line.Contains("-----")) - { - proName = line.Substring(0, line.IndexOf("-----")); - } - - if (!_listUrlTemp.Contains(productUrl)) - { - i++; - _listUrlTemp.Add(productUrl); // 新添加的文件 需要给集合重新赋值 - - dataGridView1.Rows.Add( - i, - 0, - productUrl, - proName, - "待处理", - "移除", - ""); - - st.Write(productUrl + "\r\n"); - } - } - } - } - - - } - } - private void splitContainer2_Panel2_Paint(object sender, PaintEventArgs e) - { - - } - private long GetIdFromURLByRegex(string url) - { - try - { - if (url.Contains(@"yangkeduo.com")) - { - Regex pddurl = new Regex(@"[?&]goods_id=([^&#]+)"); - string id = pddurl.Match(url).ToString(); - //Regex idRegex = new Regex(@"[^0-9]+"); - string Num = Regex.Replace(id, @"[^0-9]+", ""); - return long.Parse(Num); - } - - if (url.Contains(@"1688.com")) - { - string str = url.Substring(0, url.IndexOf(".html")).Replace(@"1688.com", ""); - string num = Regex.Replace(str, @"[^0-9]+", ""); - return long.Parse(num); - } - - if (url.Contains("jd.com")) - { - //https://item.jd.com/69126349289.html - string str = url.Substring(url.IndexOf("jd.com/")).Replace(".html", ""); - string num = Regex.Replace(str, @"[^0-9]+", ""); - return long.Parse(num); - } - Regex urlRegex = new Regex(@"[?&]id=([^&#]+)"); - string idStr = urlRegex.Match(url).ToString(); - //Regex idRegex = new Regex(@"[^0-9]+"); - string idNum = Regex.Replace(idStr, @"[^0-9]+", ""); - return long.Parse(idNum); - } - catch (Exception ex) - { - return 0; - } - - } - - private string FilterURL(string url) - { - if (url.Contains("1688.com")) - { - string str = url.Substring(0, url.IndexOf("html") + 4); - return str; - } - if (url.Contains(@"yangkeduo.com")) - { - Regex pddurl = new Regex(@"[?&]goods_id=([^&#]+)"); - string id = pddurl.Match(url).ToString(); - string Num = Regex.Replace(id, @"[^0-9]+", ""); - if (url.Contains(@"mobile.angkeduo.com")) - { - return "http://mobile.yangkeduo.com/goods.html?goods_id=" + Num; - } - else - { - return "http://yangkeduo.com/goods.html?goods_id=" + Num; - } - } - if (url.Contains("jd.com")) - { - string str = url.Substring(url.IndexOf("jd.com/")).Replace(".html", ""); - string num = Regex.Replace(str, @"[^0-9]+", ""); - return "https://item.jd.com/" + num + ".html"; - } - Regex urlRegex = new Regex(@"(https?:\/\/)([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?"); - string idStr = urlRegex.Match(url).ToString(); - string finalUrl = idStr + "?id=" + GetIdFromURLByRegex(url); - return finalUrl; - } - - /// - /// 初始化商品详情信息(不包含图片)并显示 - /// - /// - private void InitGoodsDetail(ProductCollectBase data) - { - fullCatStrings = ""; - GoodsCategoryModel cat = null; - // 抖音商品或者产品数据库商品不再获取所有类目推荐列表 - if (data.isFission || data.from == "抖音") - { - if (Fission.goodsCategoryList.Count == 0) - Fission.goodsCategoryList = JsonHelper.DeserializeJsonToList(DyCategoryParam.DyCategorys); - - cat = Fission.goodsCategoryList.FirstOrDefault(c => c.id == data.cat_id); - if (cat != null) - { - // {"id":21621,"name":"电吹风","parent_cid":20099,"level":2,"enable":true,"first_cid":20099,"second_cid":21621,"third_cid":0,"fourth_cid":0,"first_name":"个人保健/护理电器","second_name":"电吹风","third_name":"","fourth_name":"","is_leaf":true,"highlight_levels":[],"extra_info":null,"industry_status":0} - fullCatStrings = "[{\"id\":" + cat.id + ",\"name\":\"" + cat.name + "\"," + - "\"parent_cid\":" + cat.parent_id + ",\"level\":" + cat.level + ",\"enable\":" + cat.enable.ToString().ToLower() + ","; - List cl = new List(); - cl.Add(cat); - var catEx = Fission.goodsCategoryList.FirstOrDefault(c => c.id == cat.id); - var pCat = Fission.goodsCategoryList.FirstOrDefault(c => c.id == cat.parent_id); - while (pCat != null && pCat.id != 0) - { - cl.Insert(0, pCat); - pCat = Fission.goodsCategoryList.FirstOrDefault(c => c.id == pCat.parent_id); - } - while (cl.Count < 4) - { - cl.Add(new GoodsCategoryModelEx()); - } - fullCatStrings += "\"first_cid\":" + cl[0].id + ",\"second_cid\":" + cl[1].id + ",\"third_cid\":" + cl[2].id + ",\"fourth_cid\":" + cl[3].id + "," + - "\"first_name\":\"" + cl[0].name + "\",\"second_name\":\"" + cl[1].name + "\",\"third_name\":\"" + cl[2].name + "\",\"fourth_name\":\"" + cl[3].name + "\","; - fullCatStrings += "\"is_leaf\":" + cat.is_leaf.ToString().ToLower() + ",\"highlight_levels\":[],\"extra_info\":null," + - "\"industry_status\":" + catEx.industry_status + "}]"; - } - } - if (cat == null) - cat = GetCategoryInfo(data, out fullCatStrings, false); - - #region 将原有的类目置0 - data.main_cid = 0; - data.cat_id = 0; - data.cat1 = 0; - data.cat2 = 0; - data.cat3 = 0; - data.cat4 = 0; - if (InvokeRequired) - { - Invoke(new Action(() => - { - pnlShowCategoryList.Visible = false; - })); - } - else - pnlShowCategoryList.Visible = false; - #endregion - - data.cat_id = cat.id; - List catList = GetParentCatList(data.cat_id); - if (catList.Count > 0) - { - if (string.IsNullOrEmpty(lblCategory.Text) || lblCategory.Text == "fenlei") - lblCategory.Text = GetFullCatString(cat.id); - data.cat1 = catList[0]; - data.main_cid = catList[0]; - } - if (catList.Count > 1) - data.cat2 = catList[1]; - if (catList.Count > 2) - data.cat3 = catList[2]; - if (catList.Count > 3) - data.cat4 = catList[3]; - if (!string.IsNullOrEmpty(fullCatStrings)) - { - JArray jArr = JArray.Parse(fullCatStrings); - if (jArr != null && jArr.Count > 0) - { - if (InvokeRequired) - Invoke(new Action(() => - { - pnlShowCategoryList.Visible = true; - })); - else - pnlShowCategoryList.Visible = true; - - if (string.IsNullOrEmpty(lblCategory.Text)) - { - var fullCatString = JsonHelper.SerializeObject(jArr[0]); - - data.cat1 = data.main_cid = BaseRegex.GetIntJson(ref fullCatString, "first_cid"); - data.cat2 = BaseRegex.GetIntJson(ref fullCatString, "second_cid"); - data.cat3 = BaseRegex.GetIntJson(ref fullCatString, "third_cid"); - data.cat4 = BaseRegex.GetIntJson(ref fullCatString, "fourth_cid"); - lblCategory.Text = (BaseRegex.GetStringJson(ref fullCatString, "first_name") + ">>" + - BaseRegex.GetStringJson(ref fullCatString, "second_name") + ">>" + - BaseRegex.GetStringJson(ref fullCatString, "third_name") + ">>" + - BaseRegex.GetStringJson(ref fullCatString, "fourth_name")).Trim('>')/*.Replace("\\t", " ")*/; - } - } - } - - // 来源标题(拼多多新采集商品为data.name) - SourceTitlelabel.Text = data.from_title; - if (string.IsNullOrEmpty(SourceTitlelabel.Text) && data.from_url.Contains("yangkeduo.com")) - SourceTitlelabel.Text = data.name; - // 上货使用的标题 - if (string.IsNullOrEmpty(txtTitle.Text)) - SourceTitlelabel.Text = data.name; - if (string.IsNullOrEmpty(txtTitle.Text)) - txtTitle.Text = SourceTitlelabel.Text.Replace(";", "\r\n"); - - priceLabel.Text = data.price.ToString(); - - if (data.from_url.Contains("taobao.com") || data.from_url.Contains("tmall.com") || data.from_url.Contains("tmall.hk")) - sourceLabel.Text = "淘宝"; - else if (data.from_url.Contains("1688.com")) - sourceLabel.Text = "1688"; - else if (data.from_url.Contains("yangkeduo.com")) - sourceLabel.Text = "拼多多"; - else if (data.from_url.Contains("jd.com")) - sourceLabel.Text = "京喜"; - else if (data.from_url.Contains("jinritemai.com")) - sourceLabel.Text = "抖音"; - - importURLtextBox.Text = data.from_url; - lblFromUrl.Text = data.from_url; - freePostLabel.Text = data.express_price == 0 ? "包邮" : "不包邮"; - } - - /// - /// 获取分类信息(通过标题搜索商品分类) - /// - /// - /// - /// - private GoodsCategoryModel GetCategoryInfo(ProductCollectBase data, out string fullCatStrings, bool isMainName = true) - { - fullCatStrings = ""; - var errMsg = ""; - int catid = 0; - int parent_id = 0; - int main_cat_id = 0; - bool is_leaf = true; - bool enable = true; - int level = 0; - string name = "其他"; - - ShopLoginInfo dyShop = null; - var item = this.cmbGetCatShop.SelectedItem as ComboBoxItem; - if (item != null && item.Name != "随机选择") - { - dyShop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == item.Name); - if (dyShop != null) - { - catid = (int)UploadProductBLL.GetCat(data.name, out errMsg, out fullCatStrings, dyShop); - if (errMsg.Contains("店铺未登录")) - { - lblCategory.Text = "请登录店铺!"; - BaseMsgForm.ShowError("店铺掉线,请重新登录或更换店铺!"); - } - } - else - BaseMsgForm.ShowError("店铺不存在,请重新选择!"); - } - else - { - dyShop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.LoginStatus == "登录成功"); - if (dyShop == null) - lblCategory.Text = "请登录店铺!"; - while (dyShop != null && catid == 0) - { - catid = (int)UploadProductBLL.GetCat(data.name, out errMsg, out fullCatStrings, dyShop); - if (string.IsNullOrEmpty(data.name) && catid == 0) - break; - if (dyShop.LoginStatus == "未登录") - { - StartUp.SaveLocalShopLoginInfo(); - dyShop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.LoginStatus == "登录成功"); - Thread.Sleep(100); - } - } - } - - GoodsCategoryModel cat = GoodsCategories.Find(x => x.id == catid); - //if (cat == null && catid != 0) - //{ - // //cat_dy.json库中没有找到该类目,记录下来,后面逐步补充该文件 - // //记录类目ID到 文件temp\unrecognized_category.txt - // RecordCategory(catid); - //} - if (isMainName) - cat = GoodsCategories.Find(x => x.id == cat?.main_cat_id); - - if (cat == null) - { - if (!string.IsNullOrEmpty(fullCatStrings)) - { - JArray jArr = JArray.Parse(fullCatStrings); - if (jArr != null && jArr.Count > 0) - { - var fullCatString = JsonHelper.SerializeObject(jArr[0]); - - catid = BaseRegex.GetIntJson(ref fullCatString, "id"); - main_cat_id = BaseRegex.GetIntJson(ref fullCatString, "first_cid"); - name = BaseRegex.GetStringJson(ref fullCatString, "name"); - parent_id = BaseRegex.GetIntJson(ref fullCatString, "parent_cid"); - is_leaf = BaseRegex.GetBoolJson(ref fullCatString, "is_leaf"); - enable = BaseRegex.GetBoolJson(ref fullCatString, "enable"); - level = BaseRegex.GetIntJson(ref fullCatString, "level"); - if (isMainName) - { - catid = BaseRegex.GetIntJson(ref fullCatString, "first_cid"); - main_cat_id = 0; - name = BaseRegex.GetStringJson(ref fullCatString, "first_name"); - parent_id = 0; - is_leaf = false; - enable = BaseRegex.GetBoolJson(ref fullCatString, "enable"); - level = 1; - } - } - } - - cat = new GoodsCategoryModel() - { - id = catid, - main_cat_id = main_cat_id, - name = name, - parent_id = parent_id, - is_leaf = is_leaf, - level = level, - enable = enable - }; - } - return cat; - } - - /// - /// 净化数据执行切换 - /// - /// 上一条 - private void ExecuteProductPrevOrAfter(bool bPrev) - { - this.updateBtn.Enabled = false; - this.addToDBBtn.Enabled = false; - - int selectedIndex = 0; - int selectedRow = 0; - //dataGridView1.CurrentRow.Selected = false; - if (bPrev) - { - for (int i = 0; i < dataGridView1.SelectedRows.Count; i++) - { - if (dataGridView1.SelectedRows[i].Index < selectedIndex || selectedIndex == 0) - { - selectedIndex = dataGridView1.SelectedRows[i].Index; - } - dataGridView1.SelectedRows[i].Selected = false; - } - if (0 == selectedIndex) - { - BaseMsgForm.ShowInfo("当前为第一条!", "提示"); - return; - } - dataGridView1.Rows[selectedIndex - 1].Selected = true; - selectedRow = selectedIndex - 1; - } - else - { - for (int i = 0; i < dataGridView1.SelectedRows.Count; i++) - { - if (dataGridView1.SelectedRows[i].Index > selectedIndex) - { - selectedIndex = dataGridView1.SelectedRows[i].Index; - } - dataGridView1.SelectedRows[i].Selected = false; - } - if (dataGridView1.RowCount <= selectedIndex + 1) - { - BaseMsgForm.ShowInfo("当前为最后一条!", "提示"); - return; - } - dataGridView1.Rows[selectedIndex + 1].Selected = true; - selectedRow = selectedIndex + 1; - - } - - dataGridView1.CurrentCell = this.dataGridView1.Rows[selectedRow].Cells[0]; - CollectProductInfoAndShowBrowser(selectedRow); - } - private void NextURLBtn_Click(object sender, EventArgs e) - { - ExecuteProductPrevOrAfter(false); - } - private void LastURLBtn_Click(object sender, EventArgs e) - { - ExecuteProductPrevOrAfter(true); - } - private void randAddPercentTextBoxX_TextChanged(object sender, EventArgs e) - { - decimal i; - if (CheckInt(randAddPercentTextBoxX, out i)) - RandAddPriceBegin = i; - } - private void baseAddPriceTextBoxX_TextChanged(object sender, EventArgs e) - { - decimal i; - if (CheckInt(baseAddPriceTextBoxX, out i)) - BaseAddPrice = i; - } - private void txtDiscount_TextChanged(object sender, EventArgs e) - { - decimal i; - if (CheckInt(txtDiscount, out i)) - discount = i; - } - - /// - /// 检查是否输入数字 - /// - /// - /// - /// - public bool CheckInt(TextBox box, out decimal d) - { - if (decimal.TryParse(box.Text, out d)) - return true; - BaseMsgForm.ShowInfo("请输入数字", "提示"); - box.Focus(); - return false; - } - - bool CheckSubmit(out FissionDataModel fissionDataModel, out ProductCollectBase pcb) - { - fissionDataModel = new FissionDataModel(); - pcb = new ProductCollectBase(); - - if (string.IsNullOrEmpty(txtTitle.Text.Trim())) - { - BaseMsgForm.ShowInfo("标题不可为空!"); - return false; - } - // 折扣范围:20-90 - if (checkBoxX1.Checked && (discount < 20 || discount > 90)) - { - BaseMsgForm.ShowInfo("折扣超限了,折扣范围:20-90"); - txtDiscount.Focus(); - return false; - } - // 获取商品主图list - List mainImages = GetMainImages(); - if (mainImages == null || mainImages.Count == 0) - { - BaseMsgForm.ShowInfo("主图不可为空!"); - return false; - } - // 获取商品详情图list - List contentImages = GetContent(); - if (contentImages == null || contentImages.Count == 0) - { - BaseMsgForm.ShowInfo("内容图不可为空!"); - return false; - } - fissionDataModel.id = detailDataPcb.from_id.ToString(); - fissionDataModel.fession_id = detailDataPcb.from_id.ToString(); - fissionDataModel.sales = detailDataPcb.saleCount.ToString(); - fissionDataModel.price = priceLabel.Text; - fissionDataModel.fessionTitle = txtTitle.Text.Trim().Split(new string[] { ";", "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries).ToList(); - fissionDataModel.fessionCount = "1"; - fissionDataModel.mainWord = ""; - fissionDataModel.viceWord = ""; - fissionDataModel.teamGroup = cmbShopFlag.SelectedValue == null ? "" : cmbShopFlag.SelectedValue.ToString(); - fissionDataModel.source = sourceLabel.Text; - fissionDataModel.postFree = detailDataPcb.express_price.ToString(); - fissionDataModel.title = string.IsNullOrEmpty(detailDataPcb.from_title) ? detailDataPcb.name : detailDataPcb.from_title; - fissionDataModel.cate_id = detailDataPcb.cat_id; - fissionDataModel.secondCategory = lblCategory.Text.Split('>').LastOrDefault(); - fissionDataModel.main_cate_id = detailDataPcb.main_cid; - fissionDataModel.mainCategory = lblCategory.Text.Split('>').FirstOrDefault(); - fissionDataModel.fullCategoryName = lblCategory.Text; - var catList = fissionDataModel.fullCategoryName.Split(new string[] { ">>" }, StringSplitOptions.RemoveEmptyEntries); - if (catList.Count() >= 2) - fissionDataModel.cat2_name = catList[1]; - if (catList.Count() >= 3) - fissionDataModel.cat3_name = catList[2]; - fissionDataModel.adjustPrice = checkBoxX1.Checked ? 1 : 0; // 是否调节价格 - fissionDataModel.addPricePercent = (RandAddPriceBegin - 1) * 100; // 加价倍数 - fissionDataModel.baseAddPrice = BaseAddPrice; // 基础加价 - fissionDataModel.discount = discount; // 折扣比例 - // 获取自定义属性保存到fissionDataModel - sCustomPropList = GetCustomProp(); - foreach (var pr in sCustomPropList) - { - var kv = detailDataPcb.Prop.FirstOrDefault(p => p.Key == pr.Key); - if (kv != null) - kv.Value = pr.Value; - else - detailDataPcb.Prop.Add(pr); - } - // 暂时属性/资质类编辑只针对食品饮料类目开放,删除非食品饮料类目"品牌编号"属性 - if (!foodCate1Names.Any(f => this.lblCategory.Text.StartsWith(f))) - detailDataPcb.Prop.RemoveAll(p => p.Key == "品牌编号"); - fissionDataModel.prop = JsonHelper.SerializeObject(detailDataPcb.Prop); // 商品属性 - fissionDataModel.props = JsonHelper.SerializeObject(GetSkus()); // sku属性 - fissionDataModel.skus = JsonHelper.SerializeObject(detailDataPcb.SkuMaps); // sku - fissionDataModel.main_pic = mainImages; - fissionDataModel.content_pic = contentImages; - fissionDataModel.from_shop_name = detailDataPcb.from_shop_name; - // 获取资质文件保存到fissionDataModel - sQulityFileList = GetQualities(); - fissionDataModel.qualifications = JsonHelper.SerializeObject(sQulityFileList); - // 转换为Pcb - pcb = FissionDataModel2Pcb(fissionDataModel); - return true; - } - private void updateBtn_Click(object sender, EventArgs e) - { - FissionDataModel fessionDataModel = null; - ProductCollectBase pcb = null; - if (CheckSubmit(out fessionDataModel, out pcb)) - { - //UploadProductForm.ImportFromFission(new List() { pcb }); - - #region UpdateUI - dataGridView1.SelectedRows[0].Cells["status"].Value = "提交上传处理成功"; - //提交上传处理成功 则需要移除当前行,并更新txt,焦点移到下一行 - string goodsId = dataGridView1.SelectedRows[0].Cells["colProductId"].Value.ToString(); - if (!string.IsNullOrEmpty(goodsId)) - _listUrlTemp.Remove(goodsId); - int index = dataGridView1.SelectedRows[0].Index; //记录需要移除的是哪一行 - ExecuteProductPrevOrAfter(false); //焦点到下一行 - dataGridView1.Rows.RemoveAt(index); //移除 - Task.Factory.StartNew(() => writeTxt(_listUrlTemp)); //开个单独线程来对txt 写值 - #endregion - } - } - - /// - /// 将集合写到文件 - /// - private void writeTxt(List _urlList) - { - try - { - lock (ob) - { - if (_urlList.Count <= 0) - { - FileBase.Delete(path); - return; - } - // 保存到临时文件 - using (StreamWriter st = new StreamWriter(new FileStream(path, FileMode.Create))) - { - foreach (string str in _urlList) - { - st.WriteLine(str.Trim('\r', '\n')); - } - } - } - } - catch (Exception ex) - { - - } - } - - /// - /// 判断产品数据库里是否已经有此数据 - /// - private bool CheckIsExistProduct(string productId) - { - if (string.IsNullOrEmpty(productId)) - return false; - - string requestData = UserLogin.GetSignaturex() + "&fession_id=" + GetHtml.UrlEncodeUtf8(productId); - string url = BaseClass.BuildFissionObjString("fession_api&act=check_fession"); - string result = GetHtml.PostUtf8(url, requestData); // {\"code\":1,\"msg\":\"already exists!\"} - if (result != null && result.Contains("\"code\":1")) - return true; - return false; - } - - private void addToDBBtn_Click(object sender, EventArgs e) - { - if (string.IsNullOrEmpty(lblCategory.Text)) - { - DialogResult dr = BaseMsgForm.ShowConfirm("分类为空,是否确定上传入库?", "提示").DialogResult; - if (dr != DialogResult.OK) - return; - } - - updateBtn.Enabled = false;//“提交上传”不可用 - addToDBBtn.Enabled = false;//“添加入库”不可用 - FissionDataModel fissionDataModel = null; - ProductCollectBase pcb = null; - bool bo = CheckSubmit(out fissionDataModel, out pcb); - if (!bo) - return; - - Task.Run(() => - { - if (CheckIsExistProduct(detailDataPcb?.from_id.ToString())) - { - var d = BaseMsgForm.ShowConfirm("数据已存在,是否覆盖?", "提示", FormLevel.MEDIUM, true); - DialogResult dr = d.DialogResult; - - if (dr != DialogResult.OK) - { - Invoke(new Action(() => - { - updateBtn.Enabled = true; - addToDBBtn.Enabled = true; - })); - return; - } - } - - if (bo) - { - string str = JsonHelper.SerializeObject(fissionDataModel); - string typeStr = "'update'"; - string jsCode = "send_html_data_local(" + str + ", " + typeStr + ")"; - - Task t = browser.GetMainFrame().EvaluateScriptAsync(jsCode, null); - t.Wait(30000); - var response = t.Result; - if (response?.Result?.ParseToBool() != true) - { - t = browser.GetMainFrame().EvaluateScriptAsync(jsCode, null); - t.Wait(30000); - } - if (response?.Result?.ParseToBool() == true) - { - if (FissionDataBaseForm.Instance != null) - { - FissionDataBaseForm.Instance.UpdateFissionData(fissionDataModel); - } - } - Thread.Sleep(1000); - - Invoke(new Action(() => - { - var row = dataGridView1.Rows.Cast().FirstOrDefault(r => r.Cells["colProductId"].Value?.ToString().Contains(pcb.from_id.ToString()) == true); - if (row != null) - { - if (response?.Result?.ParseToBool() == true) - { - row.Cells["status"].Value = "保存入库处理成功"; - // 提交上传处理成功 移除当前行,焦点移到下一行,并更新txt - string productId = row.Cells["colProductId"].Value.ToString(); - if (!string.IsNullOrEmpty(productId)) - _listUrlTemp.Remove(productId); - ExecuteProductPrevOrAfter(false); // 焦点到下一行 - dataGridView1.Rows.Remove(row); // 移除 - Task.Factory.StartNew(() => writeTxt(_listUrlTemp)); // 开个单独线程来对txt 写值 - - } - else - { - row.Cells["status"].Value = "保存入库处理失败,请重试"; - - updateBtn.Enabled = true; - addToDBBtn.Enabled = true; - } - } - })); - } - }); - } - - private void dataGridView1_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e) - { - if (dataGridView1.SelectedRows.Count == 0) - { - if (dataGridView1.CurrentCell == null) - { - dataGridView1.Rows[0].Selected = true; - } - else - { - dataGridView1.CurrentCell.Selected = true; - } - } - } - - private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) - { - if (e.ColumnIndex < 0 || e.RowIndex < 0) - return; - - var column = dataGridView1.Columns[e.ColumnIndex]; - var row = dataGridView1.Rows[e.RowIndex]; - var productUrl = row.Cells["colProductId"].Value.ToString(); - var dbId = row.Cells["colDbId"].Value.ToString(); - - //点击商品网址打开商品网页 - if (column.Name == "colProductId") - { - row.Selected = true; - System.Diagnostics.Process.Start(productUrl); - } - //点击删除执行从列表中去除当前商品 - else if (column.Name == "colRemove") - { - row.Selected = true; - //移除当前行,并更新txt,焦点移到下一行 - if (!string.IsNullOrEmpty(productUrl)) - { - _listUrlTemp.Remove(productUrl); - } - int index = e.RowIndex;//记录需要移除的是哪一行 - if (e.RowIndex != dataGridView1.Rows.Count - 1) - { - ExecuteProductPrevOrAfter(false);//焦点到下一行 - } - dataGridView1.Rows.RemoveAt(index);//移除 - - Task.Factory.StartNew(() => writeTxt(_listUrlTemp)); //开个单独线程来对txt 写值 - } - // 从数据库中删除数据 - else if (column.Name == "colDelete") - { - if (BaseMsgForm.ShowConfirm("是否确认删除此数据?").DialogResult.Equals(DialogResult.Cancel)) return; - - // 根据上家标题,原始Id删除数据库数据 - new FissionDataBaseBLL().DelFessionData(dbId); - - row.Selected = true; - //移除当前行,并更新txt,焦点移到下一行 - if (!string.IsNullOrEmpty(productUrl)) - { - _listUrlTemp.Remove(productUrl); - } - int index = e.RowIndex;//记录需要移除的是哪一行 - if (e.RowIndex != dataGridView1.Rows.Count - 1) - { - ExecuteProductPrevOrAfter(false);//焦点到下一行 - } - dataGridView1.Rows.RemoveAt(index);//移除 - - Task.Factory.StartNew(() => writeTxt(_listUrlTemp));//开个单独线程来对txt 写值 - } - } - - private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) - { - if (e.RowIndex < 0 || e.ColumnIndex < 0 || e.ColumnIndex == 1 || e.ColumnIndex == 4) return; - - dataGridView1.Rows[e.RowIndex].Selected = true; - if (dataGridView1.Rows[e.RowIndex].Cells[0].Value == null) - { - return; - } - CollectProductInfoAndShowBrowser(e.RowIndex); - } - - /// - /// 根据商品详情ProductCollectBase判断数据库商品缓存列表中是否已有此商品,如有则返回该商品。 - /// 如果没有则检测数据库内是否有,若数据库有,显示提示信息。 - /// - /// - /// - private ProductCollectBase GetDataBaseProductPcb(ProductCollectBase pcb) - { - var finalFissionData = _lstDataBaseProductFissData?.FirstOrDefault(f => f.fession_id == pcb?.from_id.ToString()); - if (finalFissionData != null) // 列表中已有此数据,说明是批量编辑而非新增的数据净化 - { - try - { - if (string.IsNullOrEmpty(finalFissionData.main_pic)) - { - var fissionTemp = new FissionDataBaseBLL().GetFessionDetailById(finalFissionData.id.ParseToInt()); - finalFissionData.fession_title = fissionTemp.fession_title; - finalFissionData.container_info = fissionTemp.container_info?.Replace("'>", "'>"); - finalFissionData.main_pic = fissionTemp.main_pic; - finalFissionData.prop_pic = fissionTemp.prop_pic; - finalFissionData.props = fissionTemp.props; - finalFissionData.mainWord = fissionTemp.mainWord; - finalFissionData.viceword = fissionTemp.viceword; - finalFissionData.prop = fissionTemp.prop; - finalFissionData.skus = fissionTemp.skus; - finalFissionData.from_shop_name = fissionTemp.from_shop_name; - finalFissionData.qualifications = fissionTemp.qualifications; - } - } - catch (Exception ex) - { - LogSave.Add("获取裂变明细信息发生异常" + ex.Message); - } - if (!string.IsNullOrEmpty(finalFissionData.fession_title)) - return FissionDataBaseForm.FissionData2Pcb(finalFissionData, finalFissionData.fession_title); - } - return null; - } - - private void GetIsExistProduct() - { - Task.Run(() => - { - while (this.WindowState == FormWindowState.Minimized) - { - Thread.Sleep(100); - } - - var finalFissionData = _lstDataBaseProductFissData?.FirstOrDefault(f => f.fession_id == detailDataPcb?.from_id.ToString()); - if (finalFissionData == null) - { - if (CheckIsExistProduct(detailDataPcb?.from_id.ToString())) - { - Invoke(new Action(() => - { - BaseMsgForm.ShowInfo("数据库已存在该商品!"); - })); - } - } - }); - } - - /// - /// 点击上一条下一条或者列表选择商品时,跳转到商品并更新页面 - /// - /// - /// 是否强制访问来源商品(如选择false,则进行产品数据库数据审核时会优先加载产品数据库界面传递过来的数据库商品以供审核) - private void CollectProductInfoAndShowBrowser(int rowIndex, bool IsForceGetOriginal = false) - { - SourceTitlelabel.Text = importURLtextBox.Text = lblCategory.Text = txtTitle.Text = ""; - if (browser != null) - browser.Load("about:blank"); - - CurrentPositiontextBox.Text = dataGridView1.Rows[rowIndex].Cells[0].Value.ToString(); - ProductCollectBase proInfoPcb = new ProductCollectBase(); - if (dataGridView1.Rows[rowIndex].Cells["colProductId"].Value == null) - { - BaseMsgForm.ShowInfo("无效网址。"); - return; - } - - proInfoPcb.from_url = dataGridView1.Rows[rowIndex].Cells["colProductId"].Value.ToString().Trim(); - proInfoPcb.from_id = GetIdFromURLByRegex(proInfoPcb.from_url); - if (proInfoPcb.from_id.Equals(0)) - { - BaseMsgForm.ShowInfo("无效网址!"); - return; - } - - //先判断是否存在page.html临时文件,存在就先删除。 - if (File.Exists(sFissionPage)) - { - File.Delete(sFissionPage); - } - - ProductCollectBase finalProductInfo = new ProductCollectBase(); - pbLoading.Visible = true; - pbLoading.BringToFront(); - pnlShowOriginal.Visible = false; - currentRowIndex = rowIndex; - - Task.Factory.StartNew(() => - { - ProductCollectBase pcbTemp = null; - if (!IsForceGetOriginal) - { - pcbTemp = GetDataBaseProductPcb(proInfoPcb); - } - - if (pcbTemp != null) - { - finalProductInfo = pcbTemp; - Invoke(new Action(() => - { - pnlShowOriginal.Visible = true; - })); - } - else if (proInfoPcb.from_url.Contains(@"yangkeduo.com")) - { - int retryTime = 0; - TaobaoProductBase tp = new TaobaoProductBase(); - tp.FromId = GetIdFromURLByRegex(proInfoPcb.from_url); - tp.FromType = "拼多多"; - tp.GoodsId = tp.FromId; - - Retry: - PinduoduoProductCollect pdd = new PinduoduoProductCollect(Name, tp); - PinduoduoProductCollect.TempIds.Clear(); - pdd.IsUseProxy = GlobalConfig.FissionSettingParam.IsUseProxyIp; - pdd.Get(); - - if (GlobalConfig.FissionSettingParam.IsUseProxyIp && pdd.IsOverdue) - { - BaseMsgForm.ShowInfo("代理ip套餐已过期", "提示"); - } - bool isResourceEnable = true; - if (GlobalConfig.FissionSettingParam.IsUseResourcePack) - { - //Func canContinue = PinDuoDuoHelperTemp.CanContinueCollectFunc((token) => { return token.ProductDetailStatus == TokenStatus.Valid; }, null, GlobalConfig.FissionSettingParam.IsUseResourcePack, null); - //if (!canContinue()) - //{ - // isResourceEnable = false; - // BaseMsgForm.ShowInfo("资源包打码不可用!", "提示"); - //} - } - if (pdd.IsAdvance == true || pdd.pb?.IsPreSale == true) - { - BaseMsgForm.ShowInfo("预售商品不能净化!", "提示"); - } - if (pdd.IsNoToken) - { - if (GlobalConfig.FissionSettingParam.IsUseResourcePack && isResourceEnable == true && retryTime < 2) - { - retryTime++; - goto Retry; - } - else - BaseMsgForm.ShowInfo("请先登录拼多多或输入Token!", "提示"); - } - proInfoPcb = pdd.pb; - //GetCatIdForPdd(proInfo); - proInfoPcb.from_url = proInfoPcb.from_url.Contains(@"mobile.yangkeduo.com") - ? "http://mobile.yangkeduo.com/goods.html?goods_id=" + tp.GoodsId - : "http://yangkeduo.com/goods.html?goods_id=" + tp.GoodsId; - finalProductInfo = proInfoPcb; - } - else if (proInfoPcb.from_url.Contains("detail.1688.com")) - { - AlibabaProductGet alibbProInfo = new AlibabaProductGet(proInfoPcb); - alibbProInfo.Get(); - //GetCatIdForPdd(proInfo); - finalProductInfo = alibbProInfo.Product; - } - else if (proInfoPcb.from_url.Contains("jinritemai.com")) - { - CollectDoyin cd = new CollectDoyin(proInfoPcb); - cd.GetProduct(); - cd.Product.from = "抖音"; - cd.Product.from_url = "https://haohuo.jinritemai.com/views/product/detail?id" + cd.Product.from_id; - finalProductInfo = cd.Product; - - if (cd.Product?.IsOnSale != true) - { - Invoke(new Action(() => - { - BaseMsgForm.ShowInfo("获取失败,商品已下架"); - })); - } - } - else if (proInfoPcb.from_url.Contains("jd.com")) - { - bool isPassVerify = false; - retry: - proInfoPcb.from_url = "https://item.m.jd.com/product/" + proInfoPcb.from_id + ".html"; - JingXiCollect tm = new JingXiCollect(proInfoPcb); - tm.IsUseProxy = GlobalConfig.FissionSettingParam.IsUseProxyIp; - tm.Get(); - if (!string.IsNullOrEmpty(JingXiCollect.VerifyCodeUrl)) - { - if (!isPassVerify && JingXiCollect.VerifyCodeUrl.Contains("wqs.jd.com/item/spider_check.shtml"))//京喜采集验证码校验 by ttzhao 2020.6.29 - { - JingXiVerify(JingXiCollect.VerifyCodeUrl); - if (string.IsNullOrEmpty(JingXiCollect.VerifyCodeUrl)) - { - isPassVerify = true; - goto retry; - } - } - Invoke(new Action(() => - { - BaseMsgForm.ShowInfo("获取失败,京东商品采集需要验证"); - })); - } - else if ((tm.Product != null && tm.Product.Images.Count == 0) || tm.IsOnSale == false) - { - Invoke(new Action(() => - { - BaseMsgForm.ShowInfo("获取失败,商品不存在或不可展示"); - })); - } - else - finalProductInfo = tm.Product; - } - else - { - TaobaoMobileCollect goodsFormInfo = new TaobaoMobileCollect(proInfoPcb); - goodsFormInfo.Get(); - finalProductInfo = goodsFormInfo.Product; - } - }).ContinueWith(t => - { - //调用php后台 - _url = Fission.creatFissionPage(finalProductInfo); - MethodInvoker mi = () => - { - InitBrowser(); - InitGoodsDetail(finalProductInfo); - pbLoading.Visible = false; - }; - BeginInvoke(mi); - detailDataPcb = finalProductInfo; - - // 检查数据库是否已有此商品 - GetIsExistProduct(); - }); - } - - /// - /// 京喜采集,需要收入验证码验证 - /// - /// - public static void JingXiVerify(string url) - { - CollectVerifyForm f = new CollectVerifyForm(); - f.url = url; - f.ShowDialog(); - } - - private void lblCategory_TextChanged(object sender, EventArgs e) - { - if (!string.IsNullOrEmpty(this.lblCategory.Text) && this.lblCategory.Text != "请登录店铺!") - { - this.updateBtn.Enabled = true; - this.addToDBBtn.Enabled = true; - } - //Task.Run(() => - //{ - GetPropAndQualification(); - //}); - } - - private void checkBoxX1_CheckedChanged(object sender, EventArgs e) - { - if (checkBoxX1.Checked) - { - this.baseAddPriceTextBoxX.Enabled = true; - this.randAddPercentTextBoxX.Enabled = true; - this.txtDiscount.Enabled = true; - RandAddPriceBegin = this.randAddPercentTextBoxX.Text.ParseToDecimal(); - BaseAddPrice = this.baseAddPriceTextBoxX.Text.ParseToDecimal(); - discount = this.txtDiscount.Text.Trim().ParseToDecimal(); - } - else - { - this.baseAddPriceTextBoxX.Enabled = false; - this.randAddPercentTextBoxX.Enabled = false; - this.txtDiscount.Enabled = false; - } - } - - private void SourceTitlelabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) - { - if (string.IsNullOrEmpty(lblFromUrl.Text)) - { - return; - } - System.Diagnostics.Process.Start(lblFromUrl.Text); - } - - private void importURLtextBox_Click(object sender, EventArgs e) - { - if (string.IsNullOrEmpty(importURLtextBox.Text)) - { - return; - } - System.Diagnostics.Process.Start(importURLtextBox.Text); - } - - /// - /// 调用PHP后台,生成分词页面page.html。得到page.html页面后,在页面内添加主图上传及php服务器的图片跨域修改功能。 - /// - /// - /// 返回本地保存的页面路径 - public static string creatFissionPage(ProductCollectBase finalProductInfo) - { - if (finalProductInfo == null || finalProductInfo.from_id == 0) - { - return sFissionPage; - } - // 先判断此商品是否在违规库中 - string requestData = UserLogin.GetSignaturex() + "&act=check_goods&product_id=" + finalProductInfo.from_id; - string url = BaseClass.BuildFissionObjString("fession"); - string sRes = GetHtml.PostUtf8(url, requestData);//1-违规,0-正常 - if (sRes.Equals("1")) - { - File.WriteAllText(sFissionPage, "
此商品云端检测为违规商品!不建议净化!"); - return sFissionPage; - } - - // 生成净化数据HTML - string htmlData = CreateFissionHtml(finalProductInfo); - - File.WriteAllText(sFissionPage, htmlData); - return sFissionPage; - } - - /// - /// 生成净化数据HTML - /// - /// 商品数据 - /// - private static string CreateFissionHtml(ProductCollectBase finalProductInfo) - { - string htmlData = Properties.Resources.template.ToString(); - - string title = finalProductInfo.from_title; - if (string.IsNullOrEmpty(title) && finalProductInfo.from_url.Contains("yangkeduo.com")) - { - title = finalProductInfo.name; - } - htmlData = htmlData.Replace("{Title}", "原标题:" + title); - - int imgCount = 0; - //插入主图 - StringBuilder sReplace = new StringBuilder(); - for (int i = 0; i < finalProductInfo.Images.Count; i++) - { - sReplace.AppendLine( - "
  • \r\n" + - " \r\n" + - " 修图\r\n" + - " 拉回\r\n" + - " 编辑\r\n" + - " 删\r\n" + - "
  • \r\n"); - imgCount++; - } - htmlData = htmlData.Replace("{MainImage}", sReplace.ToString()); - - // 显示商品属性 - string propStr = "\r\n"; - for (int i = 0; i < finalProductInfo.Prop.Count; i += 3) - { - if (i % 3 == 0) - propStr += "
    \r\n"; - - for (int j = 0; j < 3; j++) - { - if (i + j >= finalProductInfo.Prop.Count) - break; - - var pr = finalProductInfo.Prop[i + j]; - var prValue = pr.Key + ":" + pr.Value; - propStr += "" + prValue + "\r\n"; - } - - if (i % 3 == 0) - propStr += "
    \r\n"; - } - htmlData = htmlData.Replace("{ProductProp}", propStr); - - // 插入SKU属性图,无图片的也显示文字,以便后续删除 - string skuStr = "\r\n"; - foreach (var prop in finalProductInfo.Props) - { - var propGroupNew = new PropBase() - { - id = prop.id, - name = prop.name, - pinduoduo_id = prop.pinduoduo_id, - pinduoduo_name = prop.pinduoduo_name, - sort = prop.sort - }; - skuStr += "
    属性分组 - " + prop.name + - "
    propstart-" + JsonHelper.SerializeObject(propGroupNew) + "-propstartend
    " + // hidden - "
    "; - skuStr += "
      \r\n"; - foreach (var propValue in prop.Values) - { - string imgUrl = AppDomain.CurrentDomain.BaseDirectory + "static\\img\\nopic.jpg"; - if (propValue.image != null && propValue.image != "") - imgUrl = propValue.image; - - skuStr += "
    • "; - skuStr += "
      propvaluestart-" + JsonHelper.SerializeObject(propValue) + "-propvaluestartend
      "; - // 有sku图片 - if (!imgUrl.EndsWith("\\static\\img\\nopic.jpg")) - { - skuStr += ""; - skuStr += ""; - skuStr += ""; - // 编辑、修图、拉回、转主 - skuStr += "编辑" + - "修图" + - "拉回" + - "转主"; - } - else - { - skuStr += "" + - ""; - } - skuStr += "" + propValue.name + ""; - skuStr += "删
    • \r\n"; - skuStr += ""; - imgCount++; - } - skuStr += "
    \r\n"; - skuStr += ""; - skuStr += "
    \r\n"; - } - htmlData = htmlData.Replace("{SkuProps}", skuStr); - - // 插入内容图 - string insertStr = ""; - string selectStr = ""; - string containerImgStr = finalProductInfo.content; - if (!string.IsNullOrEmpty(containerImgStr)) - { - var container_arr = containerImgStr.Split(new string[] { "new_group" }, StringSplitOptions.RemoveEmptyEntries); - int i = 0; - foreach (var strTemp in container_arr) - { - i++; - Regex reg = new Regex(@" 0) - { - var id = Randomx.GetId(10000000, 99999999); - var contentGroupId = "content_group" + id; - var contentSelectId = "content_select" + id; - selectStr += "详情" + i + ""; - insertStr += "
      "; - foreach (Match imgMatch in imgMatches) - { - string imgUrl = imgMatch.Groups[2].Value; - if (!string.IsNullOrEmpty(imgUrl)) - { - if (!imgUrl.StartsWith("https:")) - imgUrl = "https:" + imgUrl; - - insertStr += "
    • " + - "" + - "编辑" + - "修图" + - "拉回" + - "转主" + - "删"; - imgCount++; - } - } - insertStr += "
    "; - } - } - } - htmlData = htmlData.Replace("{ContentImage}", insertStr); - htmlData = htmlData.Replace("{ContentSelect}", selectStr); - - // 更改样式 - var cssStr = Properties.Resources._base.ToString(); - string cssPath = System.IO.Directory.GetCurrentDirectory() + @"\static\css"; - if (!Directory.Exists(cssPath)) - Directory.CreateDirectory(cssPath); - File.WriteAllText(cssPath + @"\base.css", cssStr); - htmlData = htmlData.Replace("{CssPath}", cssPath + @"\base.css"); - - // 添加拖动图片的js - var jsDragStr = Properties.Resources.jquery_dad_min.ToString(); - string jsDragPath = System.IO.Directory.GetCurrentDirectory() + @"\static\js"; - if (!Directory.Exists(jsDragPath)) - Directory.CreateDirectory(jsDragPath); - File.WriteAllText(jsDragPath + @"\jquery.dad.min.js", jsDragStr); - htmlData = htmlData.Replace("{JsDragPath}", jsDragPath + @"\jquery.dad.min.js"); - - // 设置无图默认图片 - var imgNoPic = Properties.Resources.nopic; - string imgPath = System.IO.Directory.GetCurrentDirectory() + @"\static\img"; - if (!Directory.Exists(imgPath)) - Directory.CreateDirectory(imgPath); - imgNoPic.Save(imgPath + @"\nopic.jpg"); - return htmlData; - } - - //public string MeituPath = "C:\\Program Files (x86)\\Meitu\\XiuXiu\\XiuXiu.exe"; - public string MeituPath = ""; - - /// - /// 设置美图秀秀或其他修图软件的位置 - /// - public void setMeituPath() - { - OpenFileDialog openFileDialog = new OpenFileDialog(); - openFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory); - openFileDialog.Filter = "美图秀秀|*.exe"; - openFileDialog.RestoreDirectory = true; - openFileDialog.FilterIndex = 1; - - openFileDialog.ValidateNames = true; - openFileDialog.CheckPathExists = true; - openFileDialog.CheckFileExists = true; - if (openFileDialog.ShowDialog() == DialogResult.OK) - { - var fileName = openFileDialog.FileName; - - if (!File.Exists(fileName)) - BaseMsgForm.ShowInfo("指定的文件无效!"); - else - { - MeituPath = fileName; - saveMeiTuPath(); - } - } - } - - public void saveMeiTuPath() - { - string path = System.IO.Directory.GetCurrentDirectory() + @"\xiuxiu.ini"; - FileBase.WriteAllText(path, MeituPath); - } - - public void GetMeiTuPath() - { - string fileName = System.IO.Directory.GetCurrentDirectory() + @"\xiuxiu.ini"; - if (File.Exists(fileName)) - { - MeituPath = FileBase.ReadAllText(fileName); - } - } - - private void buttonMeituPath_Click(object sender, EventArgs e) - { - if (MeituMessageDialog.ShowMessageDialog("请指定美图秀秀启动文件。\r\n如未安装美图秀秀,请下载。", "下载美图秀秀,指定启动文件") == "指定启动文件") - { - //// 单线程单元(STA)模式运行文件对话框,否则会报错。 - //System.Threading.Thread InvokeThread = new System.Threading.Thread(new System.Threading.ThreadStart(setMeituPath)); - //InvokeThread.SetApartmentState(System.Threading.ApartmentState.STA); - //InvokeThread.Start(); - //InvokeThread.Join(); - - this.setMeituPath(); - } - } - - private void pbPaste_Click(object sender, EventArgs e) - { - BaseClass.SetClipboard(SourceTitlelabel.Text.Trim()); - } - - private void lklbChangeCatId_Click(object sender, EventArgs e) - { - //CatForm form = new CatForm(detailDataPcb); - //form.frmFission = this; - //form.ShowDialog(); - } - - public void ReloadShop() - { - cboxShop.Items.Clear(); - - foreach (var shop in GlobalConfig.ShopLoginList) - { - cboxShop.Items.Add(shop.ShopAccount); - } - if (cboxShop.Items.Count > 0) - cboxShop.SelectedIndex = 0; - } - - private void cboxShop_SelectedIndexChanged(object sender, EventArgs e) - { - cboxCat1.Items.Clear(); - cboxCat2.Items.Clear();//有的店铺没有一级、二级、三级类目,所以,更改店铺前要把一二三级类目全部清空 by ttzhao 2020.10.13 - cboxCat3.Items.Clear();//有的店铺没有一级、二级、三级类目,所以,更改店铺前要把一二三级类目全部清空 by ttzhao 2020.10.13 - dicNameCate.Clear(); - string shopname = cboxShop.Text; - var shop = GlobalConfig.ShopLoginList.FirstOrDefault(x => x.ShopAccount == shopname); - if (shop == null || shop.LstShopCategory == null) - { - return; - } - - foreach (var cateId in shop.LstShopCategory) - { - var cate = GoodsCategories.FirstOrDefault(c => c.id == cateId); - if (cate == null) - continue; - - dicNameCate[cate.name + cate.level] = cate; - - if (cate.level == 1) - { - if (!cboxCat1.Items.Contains(cate.name)) - { - cboxCat1.Items.Add(cate.name); - } - } - } - if (cboxCat1.Items.Count > 0) - cboxCat1.SelectedIndex = 0; - } - - private void cboxCat1_SelectedIndexChanged(object sender, EventArgs e) - { - cboxCat2.Items.Clear(); - var cat = dicNameCate[cboxCat1.SelectedItem.ToString() + "1"]; - var cateList = dicNameCate.Values.Where(c => c.parent_id == cat.id).ToList(); - foreach (var item in cateList) - { - cboxCat2.Items.Add(item.name); - } - if (cboxCat2.Items.Count > 0) - cboxCat2.SelectedIndex = 0; - } - - private void cboxCat2_SelectedIndexChanged(object sender, EventArgs e) - { - cboxCat3.Items.Clear(); - var cat = dicNameCate[cboxCat2.SelectedItem.ToString() + "2"]; - var cateList = dicNameCate.Values.Where(c => c.parent_id == cat.id).ToList(); - foreach (var item in cateList) - { - cboxCat3.Items.Add(item.name); - } - if (cboxCat3.Items.Count > 0) - cboxCat3.SelectedIndex = 0; - } - - private void lblShop_Click(object sender, EventArgs e) - { - this.ReloadShop(); - } - - public static FissionShowBigImgForm sbi = null; - public string ShowBigImg(string src, string imgId) - { - src = Fission.RemovePrefix(src); - - Invoke(new Action(() => - { - if (sbi == null || !sbi.Created) - { - sbi = new FissionShowBigImgForm("http://" + src, imgId); - sbi.StartPosition = FormStartPosition.CenterScreen; - sbi.TopMost = true; - sbi.Show(); - sbi.TopMost = false; - } - else - { - sbi.imgId = imgId; - sbi.imgUrl = "http://" + src; - sbi.ShowImg(); - } - })); - return "ok"; - } - - private void btnSaveShopFlag_Click(object sender, EventArgs e) - { - var shopFlag = txtNewShopFlag.Text.Trim(); - if (string.IsNullOrEmpty(shopFlag)) - { - return; - } - foreach (string item in (List)cmbShopFlag.DataSource) - { - if (item == shopFlag) - { - BaseMsgForm.ShowInfo("该标记已经存在。"); - return; - } - } - //保存分组 - string requestData = UserLogin.GetSignaturex() + "&act=add&data=" + GetHtml.UrlEncodeUtf8(shopFlag); - string url = BaseClass.BuildFissionObjString("category_api"); - string result = GetHtml.PostUtf8(url, requestData); - - JObject jObj = (JObject)JsonConvert.DeserializeObject(result); - //获取分组并刷新分组 - if (!string.IsNullOrEmpty(result) && jObj["code"].ToString() == "0") - { - GetTeamGroupContent(); - BaseMsgForm.ShowInfo("分组增加成功!"); - this.pnlCancelShopFlag_Click(null, null); - } - } - - /// - /// 获取商品的店铺标记/分组 - /// - private void GetTeamGroupContent(string teamGroup = null) - { - try - { - string getRequestData = UserLogin.GetSignaturex() + "&act=get"; - string getRrl = BaseClass.BuildFissionObjString("category_api"); - string categoryResult = GetHtml.PostUtf8(getRrl, getRequestData); - JObject jCategoryObj = (JObject)JsonConvert.DeserializeObject(categoryResult); - //jCategoryObj["list"] - string categoryList = jCategoryObj["list"].ToString(); - JArray jCategoryList = (JArray)JsonConvert.DeserializeObject(categoryList); - - List cateList = new List(); - cateList.Add(""); - foreach (var category in jCategoryList) - { - if (category["cate_name"] == null) - continue; - cateList.Add(category["cate_name"].ToString()); - } - - cmbShopFlag.DataSource = cateList; - if (!string.IsNullOrEmpty(teamGroup)) - cmbShopFlag.Text = teamGroup; - } - catch (Exception ex) - { - BaseMsgForm.ShowError("商品分组获取失败"); - } - } - - private void pnlAddShopFlag_Click(object sender, EventArgs e) - { - this.txtNewShopFlag.Visible = this.pnlSaveShopFlag.Visible = this.pnlCancelShopFlag.Visible = true; - //this.pnlAddShopFlag.Visible = this.cmbShopFlag.Visible = false; - } - - private void pnlCancelShopFlag_Click(object sender, EventArgs e) - { - this.txtNewShopFlag.Visible = this.pnlSaveShopFlag.Visible = this.pnlCancelShopFlag.Visible = false; - //this.pnlAddShopFlag.Visible = this.cmbShopFlag.Visible = true; - } - - private void fissionBrowserObject_InfomationReceived(string infomation) - { - try - { - string[] args = infomation.Split(':'); - //transformimg_start - if (args[0] == "transformimg_start") - { - this.Invoke(new Action(() => - { - // 以下写到template.html页面中的function TransformImg(id)方法内,防止线程卡死看不到效果 - pnlMsg.Text = "正在抠图中..."; - pnlMsg.Visible = true; - //var jsCode = "document.getElementById('spn_matting_status').innerHTML = '正在抠图中...';"; - //Task task = browser.GetMainFrame().EvaluateScriptAsync(jsCode, null); - LastURLBtn.Enabled = false;//“切换到上一条”不可用 - NextURLBtn.Enabled = false;//“切换到下一条”不可用 - updateBtn.Enabled = false;//“提交上传”不可用 - addToDBBtn.Enabled = false;//“添加入库”不可用 - })); - } - //transformimg_end:ok:1 - //transformimg_end:fail:无效cookies - if (args[0] == "transformimg_end") - { - this.Invoke(new Action(() => - { - LastURLBtn.Enabled = true;//“切换到上一条”可用 - NextURLBtn.Enabled = true;//“切换到下一条”可用 - updateBtn.Enabled = true;//“提交上传”可用 - addToDBBtn.Enabled = true;//“添加入库”可用 - })); - - if (args[1] == "fail") - { - this.Invoke(new Action(() => - { - pnlMsg.Text = "抠图失败:" + args[2]; - pnlMsg.Visible = true; - Task.Run(() => { Thread.Sleep(3000); Invoke(new Action(() => { pnlMsg.Visible = false; })); }); - var jcode = "document.getElementById('spn_matting_status').innerHTML = '抠图失败:" + args[2] + "';"; - Task task = browser.GetMainFrame().EvaluateScriptAsync(jcode, null); - })); - } - if (args[1] == "ok") - { - this.Invoke(new Action(() => - { - pnlMsg.Text = "抠图成功"; - pnlMsg.Visible = true; - Task.Run(() => { Thread.Sleep(3000); Invoke(new Action(() => { pnlMsg.Visible = false; })); }); - var jcode = "document.getElementById('spn_matting_status').innerHTML = '抠图成功';"; - Task task = browser.GetMainFrame().EvaluateScriptAsync(jcode, null); - })); - string imgId = args[2]; - StringBuilder sb = new StringBuilder(); - //修图 - sb.Append("document.getElementById('OpenMeitu" + imgId + "').remove();"); - //拉回 - sb.Append("document.getElementById('PullImg" + imgId + "').remove();"); - //编辑 - sb.Append("document.getElementById('OpenEditTool" + imgId + "').remove();"); - string jsCode = sb.ToString(); - browser.GetMainFrame().EvaluateScriptAsync(jsCode, null); - } - } - Application.DoEvents(); - } - catch { } - } - - /// - /// 获取类别的层级关系 - /// - /// - /// - public static List GetParentCatList(int cid) - { - List catList = new List(); - catList.Add(cid); - - int ccid = cid; - while (true) - { - var c = GoodsCategories.Find(x => x.id == ccid); - if (c == null || c.parent_id <= 0) - break; - catList.Insert(0, c.parent_id); - ccid = c.parent_id; - } - return catList; - } - - /// - /// 获取完整类目名称 - /// - /// - /// - public static string GetFullCatString(int cid) - { - List list = GetParentCatList(cid); - List listName = new List(); - foreach (var id in list) - { - var c = GoodsCategories.Find(x => x.id == id); - if (c != null) - listName.Add(c.name); - } - return string.Join(">>", listName); - } - - /// - /// 获取抖音店铺所有类目 - /// - /// - public static List GetShopGoodsCategories() - { - List list = NaiBa.Util.Helper.ConfigHelper.LoadConfig>("cat_dy"); - if (list == null) - list = new List(); - if (list.Count == 0 || GlobalConfig.ShopLoginList.Any(s => s.ApiAuthStatus == "授权成功" && (s.LstShopCategory == null || s.LstShopCategory.Count == 0))) - { - //list.Clear(); - foreach (var shop in GlobalConfig.ShopLoginList) - { - if (shop.ApiAuthStatus == "授权成功") - { - List lstShopCategory = new List(); - lstShopCategory.Add(new GoodsCategoryModel() { enable = false, id = 0, is_leaf = false, level = 0, name = "全部分类", parent_id = -1 }); - - DouyinApi api = new DouyinApi(shop); - var result = api.GetShopCategory(0); - if (result.Contains("已过期")) - { - shop.ApiAuthStatus = "未授权"; - StartUp.SaveLocalShopLoginInfo(); - continue; - } - - for (int i = 0; i < lstShopCategory.Count; i++) - { - if (lstShopCategory[i].is_leaf) - continue; - - if (i > 0) - { - api = new DouyinApi(shop); - retry: - result = api.GetShopCategory(lstShopCategory[i].id); - if (!result.Contains("\"code\":10000")) - goto retry; - } - var mc = BaseRegex.GetMatchRegex(ref result, "{([\\s\\S]*?)}"); - foreach (Match m in mc) - { - string r = m.Value; - - bool enable = BaseRegex.GetBoolJson(ref r, "enable"); - bool is_leaf = BaseRegex.GetBoolJson(ref r, "is_leaf"); - int level = BaseRegex.GetIntJson(ref r, "level"); - int id = BaseRegex.GetIntJson(ref r, "id"); - int parent_id = BaseRegex.GetIntJson(ref r, "parent_id"); - string name = BaseRegex.GetStringJson(ref r, "name"); - GoodsCategoryModel model = new GoodsCategoryModel() - { - enable = enable, - id = id, - is_leaf = is_leaf, - level = level, - name = name, - parent_id = parent_id - }; - lstShopCategory.Add(model); - } - } - shop.LstShopCategory = lstShopCategory.Select(s => s.id).Where(id => id != 0).ToList(); // 店铺支持的类目Id - foreach (var cat in lstShopCategory) - { - if (cat.id != 0 && !list.Any(l => l.id == cat.id)) - list.Add(cat); - } - } - } - } - - if (list.Count == 0) - { - BaseMsgForm.ShowInfo("获取类目失败!"); - } - - StartUp.SaveLocalShopLoginInfo(); - NaiBa.Util.Helper.ConfigHelper.SaveConfig("cat_dy", list); - return list; - } - - public static string RemovePrefix(string url) - { - string xyz = url; - if (xyz == null) - return null; - if (xyz.StartsWith("https://")) - xyz = xyz.Substring("https://".Length); - if (xyz.StartsWith("http://")) - xyz = xyz.Substring("http://".Length); - if (xyz.StartsWith("//")) - xyz = xyz.Substring("//".Length); - if (xyz.StartsWith("/")) - xyz = xyz.Substring("/".Length); - return xyz; - } - - List GetMainImages() - { - List images = new List(); - var jsCode = "function getProductMainImages() { return document.getElementById('main_image').innerHTML; } getProductMainImages();"; - var task = browser.GetMainFrame().EvaluateScriptAsync(jsCode, null); - task.Wait(5000); - var result = task.Result.Result?.ToString(); - if (!string.IsNullOrEmpty(result)) - { - var valueMatches = AllBase.BaseRegex.GetMatchRegex(ref result, "src=\"([\\s|\\S]*?)\""); - if (valueMatches.Count > 0) - { - foreach (Match valueMatch in valueMatches) - { - var img = valueMatch.Groups[1].ToString(); - if (!string.IsNullOrEmpty(img)) - images.Add(img); - } - } - } - return images; - } - /// - /// 获取商品的详情图list - /// - /// - List GetContent() - { - var dictContent = new List(); - - var task = browser.GetBrowser().MainFrame.GetSourceAsync(); - task.Wait(); - var html = task.Result; - var imgMatchs = AllBase.BaseRegex.GetMatchRegex(ref html, "class=\"content_group([\\w\\W]*?)"); - if (imgMatchs.Count > 0) - { - for (int i = 0; i < imgMatchs.Count; i++) - { - string s1 = imgMatchs[i].ToString(); - - //src=\"(.*?)\" - var mc = AllBase.BaseRegex.GetMatchRegex(s1, "src=\"(.*?)\" "); - List content = new List(); - foreach (Match m in mc) - { - string imgUrl = m.Groups[1].Value; - content.Add(imgUrl); - } - // 添加分组间隔 - if (content.Count > 0 && i > 0) - dictContent.Add("new_group"); - dictContent.AddRange(content); - } - } - return dictContent; - } - List GetSkus() - { - var props = new List(); - var taskGetProp = this.browser.GetBrowser().MainFrame.GetSourceAsync(); - taskGetProp.Wait(); - var taskResult = taskGetProp.Result; - var propMatches = AllBase.BaseRegex.GetMatchRegex(taskResult, "propstart-([\\s|\\S]*?)-propend"); - if (propMatches.Count > 0) - { - foreach (Match propMatch in propMatches) - { - var propStr = propMatch.ToString(); - PropBase propBase = JsonHelper.DeserializeJsonToObject(BaseRegex.GetMatchRegexString(propStr, "propstart-([\\s|\\S]*?)-propstartend")); - if (propBase != null) - { - propBase.Values = new List(); - var valueMatches = AllBase.BaseRegex.GetMatchRegex(propStr, "propvaluestart-([\\s|\\S]*?)-propvalueend"); - if (valueMatches.Count > 0) - { - foreach (Match valueMatch in valueMatches) - { - var valueStr = valueMatch.ToString(); - var propValueBase = JsonHelper.DeserializeJsonToObject( - BaseRegex.GetMatchRegexString(valueStr, "propvaluestart-([\\s|\\S]*?)-propvaluestartend")); - var imageMatch = BaseRegex.GetMatchRegexString(valueStr, "propvalueimgstart-([\\s|\\S]*?)-propvalueimgend"); - if (imageMatch != null) - { - imageMatch = BaseRegex.GetMatchRegexString(imageMatch, "src=\"([\\s|\\S]*?)\""); - if (imageMatch != null) - { - propValueBase.image = imageMatch; - propValueBase.image_from_url = imageMatch; - } - } - propBase.Values.Add(propValueBase); - } - } - props.Add(propBase); - } - } - } - return props; - } - - /// - /// 获取自定属性 - /// - /// - private List GetCustomProp() - { - List kv = new List(); - foreach (var control in flpProp.Controls) - { - var cp = control as UcCategoryProp; - if (cp != null && !string.IsNullOrEmpty(cp.PropValue)) - { - kv.Add(new KeyValueBase(cp.PropName, cp.PropValue)); - if (cp.PropName == "品牌" && !string.IsNullOrEmpty(cp.PropBrandId)) - { - kv.Add(new KeyValueBase("品牌编号", cp.PropBrandId)); - } - } - } - return kv; - } - - /// - /// 获取资质文件 - /// - /// - private List GetQualities() - { - List q = new List(); - foreach (var c in flpQualification.Controls) - { - var cc = c as UcQualifiaction; - if (cc != null && cc.QualificationFile != null) - { - q.Add(cc.QualificationFile); - } - } - return q; - } - - ProductCollectBase FissionDataModel2Pcb(FissionDataModel fissionDataModel) - { - // 是否调节价格 对应字段:ProductCollectBase.is_changeprice - // 加价倍数 对应字段:ProductCollectBase.addPricePercent - // 基础加价 对应字段:ProductCollectBase.baseAddPrice - // 拼团折扣 对应字段:ProductCollectBase.discount - - if (fissionDataModel == null) - return null; - - ProductCollectBase pcb = new ProductCollectBase(); - - // 是否是进化数据商品 - pcb.isFission = true; - // 商品id - pcb.from_id = fissionDataModel.fession_id.ParseToLong(); - // 销量 - pcb.saleCount = fissionDataModel.sales.ParseToInt(); - // 价格 - pcb.price = fissionDataModel.price.ParseToDecimal(); - // 原标题:不用修改 - pcb.from_title = pcb.from_name = fissionDataModel.title; - // 修改后的标题 - pcb.name = fissionDataModel.fessionTitle != null && fissionDataModel.fessionTitle.Count > 0 ? fissionDataModel.fessionTitle[0] : fissionDataModel.title; - // 裂变标题 - pcb.fission_names = fissionDataModel.fessionTitle; - // 来源 - pcb.from = fissionDataModel.source; - // 邮费金额 - pcb.express_price = fissionDataModel.postFree.ParseToDecimal(); - // 主图 - pcb.Images = fissionDataModel.main_pic; - // 详情图 - pcb.content = ""; - foreach (var imgUrl in fissionDataModel.content_pic) - { - if (imgUrl == "new_group") - pcb.content += "
    "; - else - pcb.content += $""; - } - // 子分类id - pcb.cat_id = fissionDataModel.cate_id; - // 主分类id - pcb.main_cid = fissionDataModel.main_cate_id; - // 主分类名称 - pcb.main_cat_name = fissionDataModel.mainCategory; - // 是否调节价格 - pcb.is_changeprice = (fissionDataModel.adjustPrice == 1).ToString(); - // 加价比例 - pcb.addPricePercent = fissionDataModel.addPricePercent; - // 基础加价 - pcb.baseAddPrice = fissionDataModel.baseAddPrice; - // 商品属性 - pcb.Prop = JsonHelper.DeserializeJsonToList(fissionDataModel.prop); - // 属性列表 - pcb.Props = JsonHelper.DeserializeJsonToList(fissionDataModel.props); - // 折扣比例 - pcb.discount = fissionDataModel.discount; - - List newSkus = new List(); - pcb.SkuMaps = JsonHelper.DeserializeJsonToList(fissionDataModel.skus); - // pcb属性和sku匹配 - foreach (var sku in pcb.SkuMaps) - { - bool has = true; - var skuNames = sku.name.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); - foreach (var skuName in skuNames) - { - var skuProp = skuName.Split(new string[] { ":" }, StringSplitOptions.RemoveEmptyEntries); - if (skuProp.Length != 2) - { - has = false; - break; - } - var skuPropGroupName = skuProp[0]; - var skuPropValue = skuProp[1]; - if (!pcb.Props.Any(p => p.name == skuPropGroupName && p.Values.Any(v => v.name == skuPropValue))) - { - has = false; - break; - } - } - if (has) - newSkus.Add(sku); - } - pcb.SkuMaps = newSkus; - fissionDataModel.skus = JsonHelper.SerializeObject(newSkus); // sku - - pcb.qualifications = JsonHelper.DeserializeJsonToList(fissionDataModel.qualifications); - - if (pcb.from == "淘宝") pcb.from_site_id = 1; - else if (pcb.from == "拼多多") pcb.from_site_id = 2; - else if (pcb.from == "阿里巴巴" || pcb.from == "1688") pcb.from_site_id = 3; - else if (pcb.from == "京喜") pcb.from_site_id = 4; - else if (pcb.from == "微店") pcb.from_site_id = 6; - else if (pcb.from == "抖音") pcb.from_site_id = 7; - - return pcb; - } - - private void lklbChangeCatId_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) - { - - } - - private void categoryLabel_SizeChanged(object sender, EventArgs e) - { - pnlShowCategoryList.Location = new Point(lblCategory.Location.X + lblCategory.Width, lblCategory.Location.Y); - } - - private PanelEx pnlCategoryBox = null; - private void pnlShowCategoryList_Click(object sender, EventArgs e) - { - if (pnlShowCategoryList.Text == "▲") - { - if (pnlCategoryBox != null) - { - if (pnlCategoryBox.Controls.Count > 0) - pnlCategoryBox.Controls[0].Controls.Clear(); - pnlCategoryBox.Visible = false; - } - pnlShowCategoryList.Text = "▼"; - return; - } - - if (!string.IsNullOrEmpty(fullCatStrings)) - { - - pnlShowCategoryList.Text = "▲"; - JArray jArr = null; - if (!string.IsNullOrEmpty(fullCatStrings)) - jArr = JArray.Parse(fullCatStrings); - var catStrTemp = fullCatStrings; - if (jArr != null && jArr.Count <= 1) - { - GetCategoryInfo(detailDataPcb, out fullCatStrings, false); - if (!string.IsNullOrEmpty(fullCatStrings)) - jArr = JArray.Parse(fullCatStrings); - else - fullCatStrings = catStrTemp; - } - if (jArr != null && jArr.Count > 0) - { - ShowCategoryList(jArr); - } - } - } - - void ShowCategoryList(JArray cateJArr) - { - if (pnlCategoryBox == null) - { - pnlCategoryBox = new DevComponents.DotNetBar.PanelEx(); - pnlCategoryBox.Location = new Point(lblCategory.Location.X, lblCategory.Location.Y + lblCategory.Height); - pnlCategoryBox.Height = updateBtn.Location.Y - pnlCategoryBox.Location.Y + updateBtn.Height; - pnlCategoryBox.Width = pbPaste.Location.X - pnlCategoryBox.Location.X + pbPaste.Width; - - pnlCategoryBox.Style.Border = eBorderType.SingleLine; - pnlCategoryBox.Style.BorderColor.Color = Color.FromArgb(210, 210, 210); - pnlCategoryBox.Padding = new System.Windows.Forms.Padding(1); - pnlCategoryBox.Style.BackColor1.Color = Color.White; - pnlCategoryBox.Style.BackColor2.Color = Color.White; - - var pnlCategoryInnerBox = new Panel(); - pnlCategoryInnerBox.Dock = DockStyle.Fill; - pnlCategoryInnerBox.AutoScroll = true; - pnlCategoryBox.Controls.Add(pnlCategoryInnerBox); - - this.splitContainer3.Panel2.Controls.Add(pnlCategoryBox); - pnlCategoryBox.BringToFront(); - - List controlList = new List(); - controlList.Add(this); - for (int i = 0; i < controlList.Count; i++) - { - foreach (Control c in controlList[i].Controls) - { - if (c == pnlShowCategoryList || c == pnlCategoryBox) - continue; - controlList.Add(c); - c.Click += C_Click; - } - } - } - - pnlCategoryBox.Visible = true; - pnlCategoryBox.Controls[0].Controls.Clear(); - int top = 0; - foreach (JObject catJObj in cateJArr.Reverse()) - { - var fullCatString = JsonHelper.SerializeObject(catJObj); - - var pnlCategory = new PanelEx(); - pnlCategory.Dock = DockStyle.Top; - pnlCategory.Location = new Point(0, top); - pnlCategory.Tag = fullCatString; - pnlCategory.Height = 30; - pnlCategory.Text = (BaseRegex.GetStringJson(ref fullCatString, "first_name") + ">>" + - BaseRegex.GetStringJson(ref fullCatString, "second_name") + ">>" + - BaseRegex.GetStringJson(ref fullCatString, "third_name") + ">>" + - BaseRegex.GetStringJson(ref fullCatString, "fourth_name")).TrimEnd('>')/*.Replace("\\t", " ")*/; - if (fullCatString.Contains("\"industry_status\":0")) - pnlCategory.Style.ForeColor.Color = Color.FromArgb(0, 0, 0); - else - pnlCategory.Style.ForeColor.Color = Color.FromArgb(128, 128, 128); - - pnlCategory.Style.BackColor1.Color = Color.Transparent; - pnlCategory.Style.BackColor2.Color = Color.Transparent; - pnlCategory.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.Bottom; - pnlCategory.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; - pnlCategory.Style.BorderColor.Color = Color.FromArgb(225, 225, 225); - pnlCategory.Click += PnlCategory_Click; - - pnlCategoryBox.Controls[0].Controls.Add(pnlCategory); - - top += 30; - } - } - - private void C_Click(object sender, EventArgs e) - { - if (pnlCategoryBox.Visible == true) - pnlShowCategoryList_Click(null, null); - } - - private void PnlCategory_Click(object sender, EventArgs e) - { - var fullCatString = (sender as PanelEx)?.Tag?.ToString(); - if (!string.IsNullOrEmpty(fullCatString)) - { - detailDataPcb.main_cid = BaseRegex.GetIntJson(ref fullCatString, "first_cid"); - detailDataPcb.cat1 = BaseRegex.GetIntJson(ref fullCatString, "first_cid"); - detailDataPcb.cat2 = BaseRegex.GetIntJson(ref fullCatString, "second_cid"); - detailDataPcb.cat3 = BaseRegex.GetIntJson(ref fullCatString, "third_cid"); - detailDataPcb.cat4 = BaseRegex.GetIntJson(ref fullCatString, "fourth_cid"); - detailDataPcb.cat_id = detailDataPcb.cat4; - if (detailDataPcb.cat_id == 0) - detailDataPcb.cat_id = detailDataPcb.cat3; - if (detailDataPcb.cat_id == 0) - detailDataPcb.cat_id = detailDataPcb.cat2; - if (detailDataPcb.cat_id == 0) - detailDataPcb.cat_id = detailDataPcb.cat1; - lblCategory.Text = (BaseRegex.GetStringJson(ref fullCatString, "first_name") + ">>" + - BaseRegex.GetStringJson(ref fullCatString, "second_name") + ">>" + - BaseRegex.GetStringJson(ref fullCatString, "third_name") + ">>" + - BaseRegex.GetStringJson(ref fullCatString, "fourth_name")).Trim('>')/*.Replace("\\t", " ")*/; - } - pnlCategoryBox.Controls[0].Controls.Clear(); - pnlCategoryBox.Visible = false; - pnlShowCategoryList.Text = "▼"; - } - - public void GetPropAndQualification() - { - string categoryText = ""; - - Invoke(new Action(() => - { - flpProp.Controls.Clear(); - flpQualification.Controls.Clear(); - splitPage.Panel2Collapsed = true; - categoryText = this.lblCategory.Text; - })); - - if (!string.IsNullOrEmpty(categoryText) && categoryText != "fenlei") - { - // 暂时属性/资质类编辑只针对食品饮料类目开放 - if (!foodCate1Names.Any(f => categoryText.StartsWith(f))) - return; - - var dyShop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ApiAuthStatus == "授权成功"); - if (dyShop == null) - { - BaseMsgForm.ShowError("请确保至少有一个店铺授权成功!"); - return; - } - - // 必填属性 - DouyinApi api = new DouyinApi(dyShop); - api.JsonData["category_leaf_id"] = detailDataPcb.cat_id.ToString(); - var propResult = api.GetCatePropertyV2(); - while (propResult.Contains("已过期")) - { - dyShop.ApiAuthStatus = "未授权"; - StartUp.SaveLocalShopLoginInfo(); - dyShop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ApiAuthStatus == "授权成功"); - if (dyShop == null) - { - BaseMsgForm.ShowError("请确保至少有一个店铺授权成功!"); - return; - } - api = new DouyinApi(dyShop); - api.JsonData["category_leaf_id"] = detailDataPcb.cat_id.ToString(); - propResult = api.GetCatePropertyV2(); - } - - List propList = new List(); - if (propResult.Contains("\"code\":10000")) - { - if (propResult.Contains("生产企业名称") || propResult.Contains("品牌")) - { - var propObjs = JObject.Parse(propResult)?["data"]?["data"]; - if (propObjs != null) - { - foreach (JObject jObj in propObjs) - { - var propName = jObj["property_name"].ToString(); - if (propName == null) - continue; - - if (propName == "生产企业名称" || propName == "品牌") - { - var name = jObj["property_name"].ToString(); - var value = detailDataPcb.Prop.FirstOrDefault(p => p.Key == name)?.Value; - if (value == null) - value = ""; - - UcCategoryProp ucCategoryProp = new UcCategoryProp() { Margin = new System.Windows.Forms.Padding(1, 3, 3, 3), }; - ucCategoryProp.PropName = name; - ucCategoryProp.PropValue = value; - if (ucCategoryProp.PropName == "品牌") - { - ucCategoryProp.txtPropValue.ReadOnly = true; - ucCategoryProp.txtPropValue.Click += TxtPropBrandValue_Click; - - var brandId = detailDataPcb.Prop.FirstOrDefault(p => p.Key == "品牌编号")?.Value; - if (!string.IsNullOrEmpty(brandId)) - ucCategoryProp.PropBrandId = brandId; - } - - if (!flpProp.Controls.Cast().Any(c => (c as UcCategoryProp)?.PropName == ucCategoryProp.PropName)) - { - Invoke(new Action(() => - { - this.flpProp.Controls.Add(ucCategoryProp); - })); - } - } - } - } - } - } - - // 资质图片 - api = new DouyinApi(dyShop); - api.JsonData["category_id"] = detailDataPcb.cat_id.ToString(); - var qualityResult = api.GetQualificationConfig(); - if (qualityResult != null && qualityResult.Contains("\"code\":10000")) - { - List configList = new List(); - if (qualityResult.Contains("食品生产许可证")) - { - var configs = JObject.Parse(qualityResult)?["data"]?["config_list"]?.ToString(); - if (configs != null) - { - configList = JsonHelper.DeserializeJsonToList(configs); - configList = configList.Where(c => c.name == "包装标签图" || c.name == "食品生产许可证" || c.is_required).ToList(); - } - } - else - { - var configs = JObject.Parse(qualityResult)?["data"]?["config_list"]?.ToString(); - if (configs != null) - { - configList = JsonHelper.DeserializeJsonToList(configs); - configList = configList.Where(c => c.is_required).ToList(); - } - } - if (configList.Count > 0) - { - foreach (var config in configList) - { - UcQualifiaction ucQualifiaction = new UcQualifiaction() { Margin = new System.Windows.Forms.Padding(1, 3, 3, 3), }; - ucQualifiaction.Qualification = config; - ucQualifiaction.QualificationFile = detailDataPcb.qualifications?.FirstOrDefault(q => q?.quality_key == config.key); - //ucQualifiaction.Location = new Point(10, y); - //y += ucQualifiaction.Height + 10; - - Invoke(new Action(() => - { - this.flpQualification.Controls.Add(ucQualifiaction); - })); - } - } - } - } - - if (flpProp.Controls.Count > 0 || flpQualification.Controls.Count > 0) - { - Invoke(new Action(() => - { - this.splitPage.Panel2Collapsed = false; - })); - } - } - - string BrandBase = ""; - private void TxtPropBrandValue_Click(object sender, EventArgs e) - { - var txt = sender as TextBox; - if (txt == null) - return; - - if (pnlBrandBox == null || pnlBrandBox.Visible == false) - { - if (pnlBrandBox == null) - txt.TextChanged += TxtPropBrandValue_TextChanged; - - BrandBase = txt.Text; - TxtPropBrandValue_TextChanged(txt, null); - txt.ReadOnly = false; - txt.SelectAll(); - } - else - { - pnlBrandBox.Visible = false; - txt.Text = BrandBase; - txt.ReadOnly = true; - } - } - - private PanelEx pnlBrandBox = null; - private void TxtPropBrandValue_TextChanged(object sender, EventArgs e) - { - var txt = sender as TextBox; - if (txt == null) - return; - - foreach (var control in this.flpProp.Controls) - { - var ucCategoryProp = control as UcCategoryProp; - if (ucCategoryProp != null && ucCategoryProp.PropName == "品牌") - { - string result = ""; - var textQuery = ""; - while (result == "" || result.Contains("已过期")) - { - var dyShop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ApiAuthStatus == "授权成功"); - if (dyShop == null) - { - BaseMsgForm.ShowError("请确保至少有一个店铺授权成功!"); - return; - } - var api = new DouyinApi(dyShop); - api.JsonData["category_id"] = detailDataPcb.cat_id.ToString(); - textQuery = txt.Text.Split(new string[] { "/" }, StringSplitOptions.RemoveEmptyEntries).LastOrDefault(); - api.JsonData["query"] = textQuery == null ? "" : textQuery; // "JIXIN/积鑫"; - result = api.cateBrandList(); - } - - try - { - var jArr = JObject.Parse(result)["data"]["brand_list"] as JArray; - if (textQuery == "无品牌" && !result.Contains("\"无品牌\"")) - jArr.Add(JObject.Parse("{\"brand_id\":596120136,\"name_cn\":\"无品牌\",\"name_en\":\"\"}")); - ShowBrandList(jArr, txt); - } - catch (Exception ex) { } - } - } - } - - void ShowBrandList(JArray brandJArr, Control baseControl) - { - if (pnlBrandBox == null) - { - pnlBrandBox = new DevComponents.DotNetBar.PanelEx(); - pnlBrandBox.Height = 200; - pnlBrandBox.Width = baseControl.Width; - - pnlBrandBox.Style.Border = eBorderType.SingleLine; - pnlBrandBox.Style.BorderColor.Color = Color.FromArgb(210, 210, 210); - pnlBrandBox.Padding = new System.Windows.Forms.Padding(1); - pnlBrandBox.Style.BackColor1.Color = Color.White; - pnlBrandBox.Style.BackColor2.Color = Color.White; - - var pnlBrandInnerBox = new Panel(); - pnlBrandInnerBox.Dock = DockStyle.Fill; - pnlBrandInnerBox.AutoScroll = true; - pnlBrandBox.Controls.Add(pnlBrandInnerBox); - - this.splitPage.Panel2.Controls.Add(pnlBrandBox); - pnlBrandBox.BringToFront(); - - List controlList = new List(); - controlList.Add(this); - for (int i = 0; i < controlList.Count; i++) - { - foreach (Control c in controlList[i].Controls) - { - if (c == pnlBrandBox || c == baseControl) - continue; - controlList.Add(c); - c.Click += ControlBrand_Click; - } - } - } - - var yPos = baseControl.Location.Y; - var control = baseControl; - while (control.Parent != this.flowLayoutPanel1) - { - control = control.Parent; - yPos += control.Location.Y; - } - - pnlBrandBox.Location = new Point(baseControl.Location.X + 4, yPos + baseControl.Height); - pnlBrandBox.Visible = true; - pnlBrandBox.BringToFront(); - pnlBrandBox.Controls[0].Controls.Clear(); - int top = 0; - foreach (JObject brandJObj in brandJArr.Reverse()) - { - var fullBrandString = JsonHelper.SerializeObject(brandJObj); - - var pnlBrandChild = new PanelEx(); - pnlBrandChild.Dock = DockStyle.Top; - pnlBrandChild.Location = new Point(0, top); - pnlBrandChild.Tag = fullBrandString; - pnlBrandChild.Height = 30; - pnlBrandChild.Text = (BaseRegex.GetStringJson(ref fullBrandString, "name_en") + "/" + - BaseRegex.GetStringJson(ref fullBrandString, "name_cn")).Trim('/'); - pnlBrandChild.Style.ForeColor.Color = Color.FromArgb(0, 0, 0); - - pnlBrandChild.Style.BackColor1.Color = Color.Transparent; - pnlBrandChild.Style.BackColor2.Color = Color.Transparent; - pnlBrandChild.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.Bottom; - pnlBrandChild.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; - pnlBrandChild.Style.BorderColor.Color = Color.FromArgb(225, 225, 225); - pnlBrandChild.Click += PnlBrand_Click; - - pnlBrandBox.Controls[0].Controls.Add(pnlBrandChild); - - top += 30; - } - } - - private void ControlBrand_Click(object sender, EventArgs e) - { - try - { - foreach (var control in this.flpProp.Controls) - { - var ucCategoryProp = control as UcCategoryProp; - if (ucCategoryProp != null && ucCategoryProp.PropName == "品牌") - { - ucCategoryProp.txtPropValue.Text = BrandBase; - } - } - pnlBrandBox.Controls[0].Controls.Clear(); - pnlBrandBox.Visible = false; - } - catch (Exception ex) { } - } - - private void PnlBrand_Click(object sender, EventArgs e) - { - var fullBrandString = (sender as PanelEx)?.Tag?.ToString(); - if (!string.IsNullOrEmpty(fullBrandString)) - { - foreach (var control in this.flpProp.Controls) - { - var ucCategoryProp = control as UcCategoryProp; - if (ucCategoryProp != null && ucCategoryProp.PropName == "品牌") - { - ucCategoryProp.txtPropValue.TextChanged -= TxtPropBrandValue_TextChanged; - ucCategoryProp.txtPropValue.Text = (BaseRegex.GetStringJson(ref fullBrandString, "name_en") + "/" + - BaseRegex.GetStringJson(ref fullBrandString, "name_cn")).Trim('/'); - BrandBase = ucCategoryProp.txtPropValue.Text; - ucCategoryProp.PropBrandId = BaseRegex.GetStringJson(ref fullBrandString, "brand_id"); - ucCategoryProp.txtPropValue.TextChanged += TxtPropBrandValue_TextChanged; - - pnlBrandBox.Controls[0].Controls.Clear(); - pnlBrandBox.Visible = false; - } - } - } - } - - private void btnLoadLastSetting_Click(object sender, EventArgs e) - { - foreach (var control in this.flpProp.Controls) - { - var ucCategoryProp = control as UcCategoryProp; - if (ucCategoryProp != null) - { - var prop = sCustomPropList.FirstOrDefault(p => p.Key == ucCategoryProp.PropName); - if (prop != null) - { - ucCategoryProp.txtPropValue.Text = prop.Value; - if (ucCategoryProp.PropName == "品牌") - { - prop = sCustomPropList.FirstOrDefault(p => p.Key == "品牌编号"); - if (prop != null) - { - ucCategoryProp.PropBrandId = prop.Value; - } - } - } - } - } - foreach (var control in this.flpQualification.Controls) - { - var ucQualifiaction = control as UcQualifiaction; - if (ucQualifiaction != null) - { - var qualifyFile = sQulityFileList.FirstOrDefault(q => q.quality_name == ucQualifiaction.Qualification.name); - if (qualifyFile != null) - { - ucQualifiaction.QualificationFile = qualifyFile; - ucQualifiaction.ShowQualification(); - } - } - } - } - - private void Fission_FormClosed(object sender, FormClosedEventArgs e) - { - //CleanDataForm.LstFissionForm.Remove(this); - } - - private void btnShowOriginal_Click(object sender, EventArgs e) - { - CollectProductInfoAndShowBrowser(currentRowIndex, true); - } - - private void lklbResetShop_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) - { - this.cmbGetCatShop.Items.Clear(); - - this.cmbGetCatShop.Items.Add(new ComboBoxItem() { Name = "随机选择", Text = "随机选择" }); - foreach (var shop in GlobalConfig.ShopLoginList) - { - cmbGetCatShop.Items.Add(new ComboBoxItem() { Name = shop.ShopId, Text = shop.ShopAccount + (shop.LoginStatus == "登录成功" ? "" : " 未登录") }); - } - this.cmbGetCatShop.SelectedIndex = 0; - } - - private void btnCatchWords_Click(object sender, EventArgs e) - { - KeywordsCatchFrom keywordsCatchFrom = new KeywordsCatchFrom() { fission = this }; - keywordsCatchFrom.Show(); - } - - public void ChangeFissionTitle(string titles) - { - this.txtTitle.Text = titles.Replace(";", "\r\n"); - } - - public void MulitAddMainImageWithCatchWords(List imageList) - { - foreach (var url in imageList) - { - var jsStr = "AddImageUrl('" + url + "');"; - var t1 = browser.GetMainFrame().EvaluateScriptAsync(jsStr); - t1.Wait(); - } - } - - public void MulitAddContentImageWithCatchWords(List imageList) - { - var id = Randomx.GetId(10000000, 99999999); - var contentGroupId = "content_group" + id; - var contentSelectId = "content_select" + id; - foreach (var url in imageList) - { - var jsStr = "AddContent('" + url + "', '" + contentSelectId + "', '" + contentGroupId + "');"; - var t1 = browser.GetMainFrame().EvaluateScriptAsync(jsStr); - t1.Wait(); - } - } - } -} diff --git a/TEMUKJD/KJDForms/ProductForms/FissionUserControl/Fission.designer.cs b/TEMUKJD/KJDForms/ProductForms/FissionUserControl/Fission.designer.cs deleted file mode 100644 index 7eaa9ef..0000000 --- a/TEMUKJD/KJDForms/ProductForms/FissionUserControl/Fission.designer.cs +++ /dev/null @@ -1,1392 +0,0 @@ -using System; -using System.Windows.Forms; -using DevComponents.DotNetBar.Controls; -using TemuKJD.UserComponent; - -namespace TemuKJD.KJDForms.ProductForms -{ - partial class Fission - { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows Form Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - this.components = new System.ComponentModel.Container(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Fission)); - this.panel1 = new System.Windows.Forms.Panel(); - this.CurrentPositiontextBox = new System.Windows.Forms.TextBox(); - this.pbLoading = new System.Windows.Forms.PictureBox(); - this.txtSuperTitle = new DevComponents.DotNetBar.Controls.TextBoxX(); - this.labelX4 = new DevComponents.DotNetBar.LabelX(); - this.label3 = new System.Windows.Forms.Label(); - this.label1 = new System.Windows.Forms.Label(); - this.labelX1 = new DevComponents.DotNetBar.LabelX(); - this.labelX5 = new DevComponents.DotNetBar.LabelX(); - this.txtDiscount = new DevComponents.DotNetBar.Controls.TextBoxX(); - this.randAddPercentTextBoxX = new DevComponents.DotNetBar.Controls.TextBoxX(); - this.labelX11 = new DevComponents.DotNetBar.LabelX(); - this.labelX2 = new DevComponents.DotNetBar.LabelX(); - this.baseAddPriceTextBoxX = new DevComponents.DotNetBar.Controls.TextBoxX(); - this.labelX10 = new DevComponents.DotNetBar.LabelX(); - this.checkBoxX1 = new DevComponents.DotNetBar.Controls.CheckBoxX(); - this.cboxShop = new System.Windows.Forms.ComboBox(); - this.lblShop = new System.Windows.Forms.Label(); - this.label10 = new System.Windows.Forms.Label(); - this.label11 = new System.Windows.Forms.Label(); - this.cboxCat1 = new System.Windows.Forms.ComboBox(); - this.label12 = new System.Windows.Forms.Label(); - this.cboxCat3 = new System.Windows.Forms.ComboBox(); - this.cboxCat2 = new System.Windows.Forms.ComboBox(); - this.pnlMsg = new DevComponents.DotNetBar.PanelEx(); - this.txtShopFlag = new System.Windows.Forms.TextBox(); - this.txtTitle = new DevComponents.DotNetBar.Controls.TextBoxX(); - this.splitContainer1 = new System.Windows.Forms.SplitContainer(); - this.splitContainer2 = new System.Windows.Forms.SplitContainer(); - this.splitPage = new System.Windows.Forms.SplitContainer(); - this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel(); - this.btnLoadLastSetting = new DevComponents.DotNetBar.PanelEx(); - this.flpProp = new System.Windows.Forms.FlowLayoutPanel(); - this.flpQualification = new System.Windows.Forms.FlowLayoutPanel(); - this.splitContainer3 = new System.Windows.Forms.SplitContainer(); - this.dataGridView1 = new TemuKJD.UserComponent.DataGridViewEx(); - this.id = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colDbId = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colProductId = new System.Windows.Forms.DataGridViewLinkColumn(); - this.ColProName = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.status = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colRemove = new System.Windows.Forms.DataGridViewLinkColumn(); - this.colDelete = new System.Windows.Forms.DataGridViewLinkColumn(); - this.btnCatchWords = new TemuKJD.UserComponent.ButtonLc(); - this.lklbResetShop = new TemuKJD.UserComponent.LinkLabelLc(); - this.cmbGetCatShop = new DevComponents.DotNetBar.Controls.ComboBoxEx(); - this.label6 = new System.Windows.Forms.Label(); - this.pnlShowOriginal = new System.Windows.Forms.Panel(); - this.btnShowOriginal = new TemuKJD.UserComponent.ButtonLc(); - this.label4 = new System.Windows.Forms.Label(); - this.pnlShowCategoryList = new DevComponents.DotNetBar.PanelEx(); - this.buttonMeituPath = new TemuKJD.UserComponent.ButtonLc(); - this.addToDBBtn = new TemuKJD.UserComponent.ButtonLc(); - this.updateBtn = new TemuKJD.UserComponent.ButtonLc(); - this.pbPaste = new System.Windows.Forms.PictureBox(); - this.lklbChangeCatId = new TemuKJD.UserComponent.LinkLabelLc(); - this.SourceTitlelabel = new System.Windows.Forms.LinkLabel(); - this.lblFromUrl = new System.Windows.Forms.Label(); - this.lblCategory = new System.Windows.Forms.Label(); - this.label9 = new System.Windows.Forms.Label(); - this.importFileBtn = new TemuKJD.UserComponent.ButtonLc(); - this.freePostLabel = new System.Windows.Forms.Label(); - this.importURLtextBox = new System.Windows.Forms.TextBox(); - this.label8 = new System.Windows.Forms.Label(); - this.LastURLBtn = new TemuKJD.UserComponent.ButtonLc(); - this.sourceLabel = new System.Windows.Forms.Label(); - this.NextURLBtn = new TemuKJD.UserComponent.ButtonLc(); - this.label7 = new System.Windows.Forms.Label(); - this.priceLabel = new System.Windows.Forms.Label(); - this.priceLabel1 = new System.Windows.Forms.Label(); - this.label5 = new System.Windows.Forms.Label(); - this.pnlAddShopFlag = new DevComponents.DotNetBar.PanelEx(); - this.cmbShopFlag = new DevComponents.DotNetBar.Controls.ComboBoxEx(); - this.pnlCancelShopFlag = new DevComponents.DotNetBar.PanelEx(); - this.pnlSaveShopFlag = new DevComponents.DotNetBar.PanelEx(); - this.txtNewShopFlag = new DevComponents.DotNetBar.Controls.TextBoxX(); - this.label2 = new System.Windows.Forms.Label(); - this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); - this.panel1.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.pbLoading)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); - this.splitContainer1.Panel2.SuspendLayout(); - this.splitContainer1.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit(); - this.splitContainer2.Panel1.SuspendLayout(); - this.splitContainer2.Panel2.SuspendLayout(); - this.splitContainer2.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.splitPage)).BeginInit(); - this.splitPage.Panel1.SuspendLayout(); - this.splitPage.Panel2.SuspendLayout(); - this.splitPage.SuspendLayout(); - this.flowLayoutPanel1.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).BeginInit(); - this.splitContainer3.Panel1.SuspendLayout(); - this.splitContainer3.Panel2.SuspendLayout(); - this.splitContainer3.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit(); - this.pnlShowOriginal.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.pbPaste)).BeginInit(); - this.SuspendLayout(); - // - // panel1 - // - this.panel1.AutoScroll = true; - this.panel1.BackColor = System.Drawing.Color.White; - this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.panel1.Controls.Add(this.CurrentPositiontextBox); - this.panel1.Controls.Add(this.pbLoading); - this.panel1.Controls.Add(this.txtSuperTitle); - this.panel1.Controls.Add(this.labelX4); - this.panel1.Controls.Add(this.label3); - this.panel1.Controls.Add(this.label1); - this.panel1.Controls.Add(this.labelX1); - this.panel1.Controls.Add(this.labelX5); - this.panel1.Controls.Add(this.txtDiscount); - this.panel1.Controls.Add(this.randAddPercentTextBoxX); - this.panel1.Controls.Add(this.labelX11); - this.panel1.Controls.Add(this.labelX2); - this.panel1.Controls.Add(this.baseAddPriceTextBoxX); - this.panel1.Controls.Add(this.labelX10); - this.panel1.Controls.Add(this.checkBoxX1); - this.panel1.Controls.Add(this.cboxShop); - this.panel1.Controls.Add(this.lblShop); - this.panel1.Controls.Add(this.label10); - this.panel1.Controls.Add(this.label11); - this.panel1.Controls.Add(this.cboxCat1); - this.panel1.Controls.Add(this.label12); - this.panel1.Controls.Add(this.cboxCat3); - this.panel1.Controls.Add(this.cboxCat2); - this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; - this.panel1.Location = new System.Drawing.Point(0, 0); - this.panel1.Name = "panel1"; - this.panel1.Size = new System.Drawing.Size(1148, 465); - this.panel1.TabIndex = 4; - // - // CurrentPositiontextBox - // - this.CurrentPositiontextBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.CurrentPositiontextBox.Location = new System.Drawing.Point(94, 353); - this.CurrentPositiontextBox.Name = "CurrentPositiontextBox"; - this.CurrentPositiontextBox.ReadOnly = true; - this.CurrentPositiontextBox.Size = new System.Drawing.Size(50, 21); - this.CurrentPositiontextBox.TabIndex = 3; - this.CurrentPositiontextBox.Text = "1"; - this.CurrentPositiontextBox.Visible = false; - // - // pbLoading - // - this.pbLoading.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.pbLoading.Image = global::TemuKJD.Properties.Resources.loading_blue; - this.pbLoading.Location = new System.Drawing.Point(27, 214); - this.pbLoading.Name = "pbLoading"; - this.pbLoading.Size = new System.Drawing.Size(1088, 64); - this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; - this.pbLoading.TabIndex = 0; - this.pbLoading.TabStop = false; - this.pbLoading.Visible = false; - // - // txtSuperTitle - // - this.txtSuperTitle.BackColor = System.Drawing.SystemColors.Window; - // - // - // - this.txtSuperTitle.Border.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; - this.txtSuperTitle.Border.Class = "TextBoxBorder"; - this.txtSuperTitle.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.txtSuperTitle.Font = new System.Drawing.Font("微软雅黑", 9F); - this.txtSuperTitle.Location = new System.Drawing.Point(94, 382); - this.txtSuperTitle.Multiline = true; - this.txtSuperTitle.Name = "txtSuperTitle"; - this.txtSuperTitle.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; - this.txtSuperTitle.Size = new System.Drawing.Size(258, 49); - this.txtSuperTitle.TabIndex = 55; - this.txtSuperTitle.Visible = false; - this.txtSuperTitle.WatermarkText = "请输入两个超级标题,每个一行且不大于25个字符"; - // - // labelX4 - // - // - // - // - this.labelX4.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.labelX4.Location = new System.Drawing.Point(381, 357); - this.labelX4.Name = "labelX4"; - this.labelX4.Size = new System.Drawing.Size(56, 23); - this.labelX4.TabIndex = 35; - this.labelX4.Text = "加价倍数"; - this.labelX4.Visible = false; - // - // label3 - // - this.label3.AutoSize = true; - this.label3.Location = new System.Drawing.Point(31, 385); - this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(65, 12); - this.label3.TabIndex = 54; - this.label3.Text = "超级标题:"; - this.label3.Visible = false; - // - // label1 - // - this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(31, 357); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(65, 12); - this.label1.TabIndex = 7; - this.label1.Text = "当前位置:"; - this.label1.Visible = false; - // - // labelX1 - // - // - // - // - this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.labelX1.Location = new System.Drawing.Point(381, 411); - this.labelX1.Name = "labelX1"; - this.labelX1.Size = new System.Drawing.Size(56, 23); - this.labelX1.TabIndex = 51; - this.labelX1.Text = "拼团折扣"; - this.labelX1.Visible = false; - // - // labelX5 - // - // - // - // - this.labelX5.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.labelX5.Location = new System.Drawing.Point(475, 358); - this.labelX5.Name = "labelX5"; - this.labelX5.Size = new System.Drawing.Size(20, 23); - this.labelX5.TabIndex = 37; - this.labelX5.Text = "倍"; - this.labelX5.Visible = false; - // - // txtDiscount - // - // - // - // - this.txtDiscount.Border.Class = "TextBoxBorder"; - this.txtDiscount.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.txtDiscount.Enabled = false; - this.txtDiscount.Location = new System.Drawing.Point(437, 411); - this.txtDiscount.Name = "txtDiscount"; - this.txtDiscount.PreventEnterBeep = true; - this.txtDiscount.Size = new System.Drawing.Size(37, 21); - this.txtDiscount.TabIndex = 8; - this.txtDiscount.Text = "9"; - this.txtDiscount.Visible = false; - this.txtDiscount.TextChanged += new System.EventHandler(this.txtDiscount_TextChanged); - // - // randAddPercentTextBoxX - // - // - // - // - this.randAddPercentTextBoxX.Border.Class = "TextBoxBorder"; - this.randAddPercentTextBoxX.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.randAddPercentTextBoxX.Enabled = false; - this.randAddPercentTextBoxX.Location = new System.Drawing.Point(437, 357); - this.randAddPercentTextBoxX.Name = "randAddPercentTextBoxX"; - this.randAddPercentTextBoxX.PreventEnterBeep = true; - this.randAddPercentTextBoxX.Size = new System.Drawing.Size(37, 21); - this.randAddPercentTextBoxX.TabIndex = 6; - this.randAddPercentTextBoxX.Text = "1.3"; - this.randAddPercentTextBoxX.Visible = false; - this.randAddPercentTextBoxX.TextChanged += new System.EventHandler(this.randAddPercentTextBoxX_TextChanged); - // - // labelX11 - // - // - // - // - this.labelX11.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.labelX11.Location = new System.Drawing.Point(475, 384); - this.labelX11.Name = "labelX11"; - this.labelX11.Size = new System.Drawing.Size(20, 23); - this.labelX11.TabIndex = 36; - this.labelX11.Text = "元"; - this.labelX11.Visible = false; - // - // labelX2 - // - // - // - // - this.labelX2.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.labelX2.Location = new System.Drawing.Point(475, 411); - this.labelX2.Name = "labelX2"; - this.labelX2.Size = new System.Drawing.Size(20, 23); - this.labelX2.TabIndex = 49; - this.labelX2.Text = "折"; - this.labelX2.Visible = false; - // - // baseAddPriceTextBoxX - // - // - // - // - this.baseAddPriceTextBoxX.Border.Class = "TextBoxBorder"; - this.baseAddPriceTextBoxX.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.baseAddPriceTextBoxX.Enabled = false; - this.baseAddPriceTextBoxX.Location = new System.Drawing.Point(437, 384); - this.baseAddPriceTextBoxX.Name = "baseAddPriceTextBoxX"; - this.baseAddPriceTextBoxX.PreventEnterBeep = true; - this.baseAddPriceTextBoxX.Size = new System.Drawing.Size(37, 21); - this.baseAddPriceTextBoxX.TabIndex = 7; - this.baseAddPriceTextBoxX.Text = "10"; - this.baseAddPriceTextBoxX.Visible = false; - this.baseAddPriceTextBoxX.TextChanged += new System.EventHandler(this.baseAddPriceTextBoxX_TextChanged); - // - // labelX10 - // - // - // - // - this.labelX10.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.labelX10.Location = new System.Drawing.Point(381, 384); - this.labelX10.Name = "labelX10"; - this.labelX10.Size = new System.Drawing.Size(56, 23); - this.labelX10.TabIndex = 40; - this.labelX10.Text = "基础加价"; - this.labelX10.Visible = false; - // - // checkBoxX1 - // - // - // - // - this.checkBoxX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.checkBoxX1.FocusCuesEnabled = false; - this.checkBoxX1.Location = new System.Drawing.Point(363, 356); - this.checkBoxX1.Name = "checkBoxX1"; - this.checkBoxX1.Size = new System.Drawing.Size(21, 23); - this.checkBoxX1.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.checkBoxX1.TabIndex = 41; - this.checkBoxX1.Visible = false; - this.checkBoxX1.CheckedChanged += new System.EventHandler(this.checkBoxX1_CheckedChanged); - // - // cboxShop - // - this.cboxShop.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.cboxShop.FormattingEnabled = true; - this.cboxShop.Location = new System.Drawing.Point(555, 330); - this.cboxShop.Name = "cboxShop"; - this.cboxShop.Size = new System.Drawing.Size(173, 20); - this.cboxShop.TabIndex = 9; - this.cboxShop.Visible = false; - this.cboxShop.SelectedIndexChanged += new System.EventHandler(this.cboxShop_SelectedIndexChanged); - // - // lblShop - // - this.lblShop.AutoSize = true; - this.lblShop.Font = new System.Drawing.Font("华文中宋", 8.999999F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.lblShop.ForeColor = System.Drawing.Color.Blue; - this.lblShop.Location = new System.Drawing.Point(514, 333); - this.lblShop.Name = "lblShop"; - this.lblShop.Size = new System.Drawing.Size(43, 14); - this.lblShop.TabIndex = 15; - this.lblShop.Text = "店铺:"; - this.toolTip1.SetToolTip(this.lblShop, "点击可刷新店铺"); - this.lblShop.Visible = false; - this.lblShop.Click += new System.EventHandler(this.lblShop_Click); - // - // label10 - // - this.label10.AutoSize = true; - this.label10.Location = new System.Drawing.Point(514, 361); - this.label10.Name = "label10"; - this.label10.Size = new System.Drawing.Size(41, 12); - this.label10.TabIndex = 15; - this.label10.Text = "一级:"; - this.label10.Visible = false; - // - // label11 - // - this.label11.AutoSize = true; - this.label11.Location = new System.Drawing.Point(514, 389); - this.label11.Name = "label11"; - this.label11.Size = new System.Drawing.Size(41, 12); - this.label11.TabIndex = 15; - this.label11.Text = "二级:"; - this.label11.Visible = false; - // - // cboxCat1 - // - this.cboxCat1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.cboxCat1.FormattingEnabled = true; - this.cboxCat1.Location = new System.Drawing.Point(555, 358); - this.cboxCat1.Name = "cboxCat1"; - this.cboxCat1.Size = new System.Drawing.Size(173, 20); - this.cboxCat1.TabIndex = 10; - this.cboxCat1.Visible = false; - this.cboxCat1.SelectedIndexChanged += new System.EventHandler(this.cboxCat1_SelectedIndexChanged); - // - // label12 - // - this.label12.AutoSize = true; - this.label12.Location = new System.Drawing.Point(514, 418); - this.label12.Name = "label12"; - this.label12.Size = new System.Drawing.Size(41, 12); - this.label12.TabIndex = 15; - this.label12.Text = "三级:"; - this.label12.Visible = false; - // - // cboxCat3 - // - this.cboxCat3.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.cboxCat3.FormattingEnabled = true; - this.cboxCat3.Location = new System.Drawing.Point(555, 414); - this.cboxCat3.Name = "cboxCat3"; - this.cboxCat3.Size = new System.Drawing.Size(173, 20); - this.cboxCat3.TabIndex = 12; - this.cboxCat3.Visible = false; - // - // cboxCat2 - // - this.cboxCat2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.cboxCat2.FormattingEnabled = true; - this.cboxCat2.Location = new System.Drawing.Point(555, 386); - this.cboxCat2.Name = "cboxCat2"; - this.cboxCat2.Size = new System.Drawing.Size(173, 20); - this.cboxCat2.TabIndex = 11; - this.cboxCat2.Visible = false; - this.cboxCat2.SelectedIndexChanged += new System.EventHandler(this.cboxCat2_SelectedIndexChanged); - // - // pnlMsg - // - this.pnlMsg.Anchor = System.Windows.Forms.AnchorStyles.Top; - this.pnlMsg.CanvasColor = System.Drawing.SystemColors.Control; - this.pnlMsg.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.pnlMsg.DisabledBackColor = System.Drawing.Color.Empty; - this.pnlMsg.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.pnlMsg.Location = new System.Drawing.Point(473, 42); - this.pnlMsg.Name = "pnlMsg"; - this.pnlMsg.Size = new System.Drawing.Size(350, 40); - this.pnlMsg.Style.Alignment = System.Drawing.StringAlignment.Center; - this.pnlMsg.Style.BackColor1.Color = System.Drawing.Color.Transparent; - this.pnlMsg.Style.BackColor2.Color = System.Drawing.Color.Transparent; - this.pnlMsg.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; - this.pnlMsg.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(147)))), ((int)(((byte)(0))))); - this.pnlMsg.Style.BorderWidth = 2; - this.pnlMsg.Style.CornerDiameter = 15; - this.pnlMsg.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; - this.pnlMsg.Style.ForeColor.Color = System.Drawing.Color.Red; - this.pnlMsg.Style.GradientAngle = 90; - this.pnlMsg.TabIndex = 25; - this.pnlMsg.Text = "抠图状态"; - this.pnlMsg.Visible = false; - // - // txtShopFlag - // - this.txtShopFlag.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.txtShopFlag.Location = new System.Drawing.Point(707, 374); - this.txtShopFlag.Name = "txtShopFlag"; - this.txtShopFlag.Size = new System.Drawing.Size(123, 21); - this.txtShopFlag.TabIndex = 5; - // - // txtTitle - // - this.txtTitle.BackColor = System.Drawing.SystemColors.Window; - // - // - // - this.txtTitle.Border.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; - this.txtTitle.Border.Class = "TextBoxBorder"; - this.txtTitle.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.txtTitle.Font = new System.Drawing.Font("微软雅黑", 9F); - this.txtTitle.Location = new System.Drawing.Point(122, 37); - this.txtTitle.Multiline = true; - this.txtTitle.Name = "txtTitle"; - this.txtTitle.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; - this.txtTitle.Size = new System.Drawing.Size(219, 102); - this.txtTitle.TabIndex = 4; - this.txtTitle.WatermarkText = "请输入商品标题,最多50个字符"; - // - // splitContainer1 - // - this.splitContainer1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224))))); - this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill; - this.splitContainer1.IsSplitterFixed = true; - this.splitContainer1.Location = new System.Drawing.Point(1, 33); - this.splitContainer1.Margin = new System.Windows.Forms.Padding(0); - this.splitContainer1.Name = "splitContainer1"; - this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal; - // - // splitContainer1.Panel1 - // - this.splitContainer1.Panel1.BackColor = System.Drawing.SystemColors.MenuBar; - this.splitContainer1.Panel1Collapsed = true; - this.splitContainer1.Panel1MinSize = 0; - // - // splitContainer1.Panel2 - // - this.splitContainer1.Panel2.Controls.Add(this.splitContainer2); - this.splitContainer1.Size = new System.Drawing.Size(1364, 666); - this.splitContainer1.SplitterDistance = 25; - this.splitContainer1.SplitterWidth = 1; - this.splitContainer1.TabIndex = 5; - // - // splitContainer2 - // - this.splitContainer2.BackColor = System.Drawing.Color.WhiteSmoke; - this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill; - this.splitContainer2.FixedPanel = System.Windows.Forms.FixedPanel.Panel2; - this.splitContainer2.Location = new System.Drawing.Point(0, 0); - this.splitContainer2.Name = "splitContainer2"; - this.splitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal; - // - // splitContainer2.Panel1 - // - this.splitContainer2.Panel1.Controls.Add(this.splitPage); - // - // splitContainer2.Panel2 - // - this.splitContainer2.Panel2.Controls.Add(this.splitContainer3); - this.splitContainer2.Panel2.Paint += new System.Windows.Forms.PaintEventHandler(this.splitContainer2_Panel2_Paint); - this.splitContainer2.Size = new System.Drawing.Size(1364, 666); - this.splitContainer2.SplitterDistance = 465; - this.splitContainer2.TabIndex = 5; - // - // splitPage - // - this.splitPage.BackColor = System.Drawing.Color.WhiteSmoke; - this.splitPage.Dock = System.Windows.Forms.DockStyle.Fill; - this.splitPage.FixedPanel = System.Windows.Forms.FixedPanel.Panel2; - this.splitPage.Location = new System.Drawing.Point(0, 0); - this.splitPage.Name = "splitPage"; - // - // splitPage.Panel1 - // - this.splitPage.Panel1.Controls.Add(this.panel1); - // - // splitPage.Panel2 - // - this.splitPage.Panel2.AutoScroll = true; - this.splitPage.Panel2.Controls.Add(this.flowLayoutPanel1); - this.splitPage.Panel2MinSize = 0; - this.splitPage.Size = new System.Drawing.Size(1364, 465); - this.splitPage.SplitterDistance = 1148; - this.splitPage.TabIndex = 5; - // - // flowLayoutPanel1 - // - this.flowLayoutPanel1.AutoSize = true; - this.flowLayoutPanel1.Controls.Add(this.btnLoadLastSetting); - this.flowLayoutPanel1.Controls.Add(this.flpProp); - this.flowLayoutPanel1.Controls.Add(this.flpQualification); - this.flowLayoutPanel1.FlowDirection = System.Windows.Forms.FlowDirection.TopDown; - this.flowLayoutPanel1.Location = new System.Drawing.Point(0, 0); - this.flowLayoutPanel1.Margin = new System.Windows.Forms.Padding(0); - this.flowLayoutPanel1.Name = "flowLayoutPanel1"; - this.flowLayoutPanel1.Size = new System.Drawing.Size(212, 41); - this.flowLayoutPanel1.TabIndex = 0; - // - // btnLoadLastSetting - // - this.btnLoadLastSetting.CanvasColor = System.Drawing.SystemColors.Control; - this.btnLoadLastSetting.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.btnLoadLastSetting.DisabledBackColor = System.Drawing.Color.Empty; - this.btnLoadLastSetting.Dock = System.Windows.Forms.DockStyle.Top; - this.btnLoadLastSetting.Location = new System.Drawing.Point(1, 3); - this.btnLoadLastSetting.Margin = new System.Windows.Forms.Padding(1, 3, 1, 3); - this.btnLoadLastSetting.MinimumSize = new System.Drawing.Size(120, 20); - this.btnLoadLastSetting.Name = "btnLoadLastSetting"; - this.btnLoadLastSetting.Size = new System.Drawing.Size(120, 23); - this.btnLoadLastSetting.Style.Alignment = System.Drawing.StringAlignment.Center; - this.btnLoadLastSetting.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); - this.btnLoadLastSetting.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); - this.btnLoadLastSetting.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; - this.btnLoadLastSetting.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnLoadLastSetting.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; - this.btnLoadLastSetting.Style.GradientAngle = 90; - this.btnLoadLastSetting.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center; - this.btnLoadLastSetting.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; - this.btnLoadLastSetting.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnLoadLastSetting.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnLoadLastSetting.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; - this.btnLoadLastSetting.TabIndex = 413; - this.btnLoadLastSetting.Text = "载入上次配置"; - this.btnLoadLastSetting.Click += new System.EventHandler(this.btnLoadLastSetting_Click); - // - // flpProp - // - this.flpProp.AutoSize = true; - this.flpProp.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.flpProp.Dock = System.Windows.Forms.DockStyle.Fill; - this.flpProp.FlowDirection = System.Windows.Forms.FlowDirection.TopDown; - this.flpProp.Location = new System.Drawing.Point(3, 32); - this.flpProp.Name = "flpProp"; - this.flpProp.Size = new System.Drawing.Size(116, 0); - this.flpProp.TabIndex = 0; - // - // flpQualification - // - this.flpQualification.AutoSize = true; - this.flpQualification.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.flpQualification.Dock = System.Windows.Forms.DockStyle.Fill; - this.flpQualification.FlowDirection = System.Windows.Forms.FlowDirection.TopDown; - this.flpQualification.Location = new System.Drawing.Point(3, 38); - this.flpQualification.Name = "flpQualification"; - this.flpQualification.Size = new System.Drawing.Size(116, 0); - this.flpQualification.TabIndex = 0; - // - // splitContainer3 - // - this.splitContainer3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.splitContainer3.Dock = System.Windows.Forms.DockStyle.Fill; - this.splitContainer3.FixedPanel = System.Windows.Forms.FixedPanel.Panel2; - this.splitContainer3.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.splitContainer3.Location = new System.Drawing.Point(0, 0); - this.splitContainer3.Name = "splitContainer3"; - // - // splitContainer3.Panel1 - // - this.splitContainer3.Panel1.Controls.Add(this.dataGridView1); - // - // splitContainer3.Panel2 - // - this.splitContainer3.Panel2.BackColor = System.Drawing.Color.White; - this.splitContainer3.Panel2.Controls.Add(this.btnCatchWords); - this.splitContainer3.Panel2.Controls.Add(this.lklbResetShop); - this.splitContainer3.Panel2.Controls.Add(this.cmbGetCatShop); - this.splitContainer3.Panel2.Controls.Add(this.label6); - this.splitContainer3.Panel2.Controls.Add(this.pnlShowOriginal); - this.splitContainer3.Panel2.Controls.Add(this.pnlShowCategoryList); - this.splitContainer3.Panel2.Controls.Add(this.buttonMeituPath); - this.splitContainer3.Panel2.Controls.Add(this.addToDBBtn); - this.splitContainer3.Panel2.Controls.Add(this.updateBtn); - this.splitContainer3.Panel2.Controls.Add(this.pbPaste); - this.splitContainer3.Panel2.Controls.Add(this.lklbChangeCatId); - this.splitContainer3.Panel2.Controls.Add(this.SourceTitlelabel); - this.splitContainer3.Panel2.Controls.Add(this.txtTitle); - this.splitContainer3.Panel2.Controls.Add(this.lblFromUrl); - this.splitContainer3.Panel2.Controls.Add(this.lblCategory); - this.splitContainer3.Panel2.Controls.Add(this.label9); - this.splitContainer3.Panel2.Controls.Add(this.importFileBtn); - this.splitContainer3.Panel2.Controls.Add(this.freePostLabel); - this.splitContainer3.Panel2.Controls.Add(this.importURLtextBox); - this.splitContainer3.Panel2.Controls.Add(this.label8); - this.splitContainer3.Panel2.Controls.Add(this.LastURLBtn); - this.splitContainer3.Panel2.Controls.Add(this.sourceLabel); - this.splitContainer3.Panel2.Controls.Add(this.NextURLBtn); - this.splitContainer3.Panel2.Controls.Add(this.label7); - this.splitContainer3.Panel2.Controls.Add(this.priceLabel); - this.splitContainer3.Panel2.Controls.Add(this.priceLabel1); - this.splitContainer3.Panel2.Controls.Add(this.label5); - this.splitContainer3.Panel2.Controls.Add(this.pnlAddShopFlag); - this.splitContainer3.Panel2.Controls.Add(this.cmbShopFlag); - this.splitContainer3.Panel2.Controls.Add(this.pnlCancelShopFlag); - this.splitContainer3.Panel2.Controls.Add(this.pnlSaveShopFlag); - this.splitContainer3.Panel2.Controls.Add(this.txtNewShopFlag); - this.splitContainer3.Panel2.Controls.Add(this.label2); - this.splitContainer3.Panel2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.splitContainer3.Panel2.Margin = new System.Windows.Forms.Padding(10); - this.splitContainer3.Size = new System.Drawing.Size(1364, 197); - this.splitContainer3.SplitterDistance = 520; - this.splitContainer3.TabIndex = 0; - // - // dataGridView1 - // - this.dataGridView1.AllowUserToAddRows = false; - dataGridViewCellStyle1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(249)))), ((int)(((byte)(249)))), ((int)(((byte)(249))))); - this.dataGridView1.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1; - this.dataGridView1.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill; - this.dataGridView1.BackgroundColor = System.Drawing.Color.White; - this.dataGridView1.BorderColor = System.Drawing.Color.Transparent; - this.dataGridView1.BorderStyle = System.Windows.Forms.BorderStyle.None; - dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; - dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control; - dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText; - dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.WindowText; - dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridView1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2; - this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; - this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { - this.id, - this.colDbId, - this.colProductId, - this.ColProName, - this.status, - this.colRemove, - this.colDelete}); - dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; - dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle4.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.WindowText; - dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.WindowText; - dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridView1.DefaultCellStyle = dataGridViewCellStyle4; - this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill; - this.dataGridView1.EnableHeadersVisualStyles = false; - this.dataGridView1.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(208)))), ((int)(((byte)(215)))), ((int)(((byte)(229))))); - this.dataGridView1.Location = new System.Drawing.Point(0, 0); - this.dataGridView1.MultiSelect = false; - this.dataGridView1.Name = "dataGridView1"; - dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle5.BackColor = System.Drawing.SystemColors.Control; - dataGridViewCellStyle5.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle5.ForeColor = System.Drawing.SystemColors.WindowText; - dataGridViewCellStyle5.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.WindowText; - dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True; - this.dataGridView1.RowHeadersDefaultCellStyle = dataGridViewCellStyle5; - this.dataGridView1.RowTemplate.Height = 23; - this.dataGridView1.Size = new System.Drawing.Size(518, 195); - this.dataGridView1.TabIndex = 0; - this.dataGridView1.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellClick); - this.dataGridView1.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellContentClick); - this.dataGridView1.RowsAdded += new System.Windows.Forms.DataGridViewRowsAddedEventHandler(this.dataGridView1_RowsAdded); - // - // id - // - this.id.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None; - this.id.FillWeight = 15F; - this.id.Frozen = true; - this.id.HeaderText = "ID"; - this.id.Name = "id"; - this.id.ReadOnly = true; - this.id.Width = 45; - // - // colDbId - // - this.colDbId.HeaderText = "数据库Id"; - this.colDbId.Name = "colDbId"; - this.colDbId.Visible = false; - // - // colProductId - // - dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - this.colProductId.DefaultCellStyle = dataGridViewCellStyle3; - this.colProductId.FillWeight = 50F; - this.colProductId.HeaderText = "宝贝ID"; - this.colProductId.Name = "colProductId"; - this.colProductId.ReadOnly = true; - this.colProductId.Resizable = System.Windows.Forms.DataGridViewTriState.True; - this.colProductId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; - // - // ColProName - // - this.ColProName.FillWeight = 10F; - this.ColProName.HeaderText = "关键词"; - this.ColProName.Name = "ColProName"; - this.ColProName.ReadOnly = true; - this.ColProName.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; - // - // status - // - this.status.FillWeight = 8F; - this.status.HeaderText = "状态"; - this.status.Name = "status"; - this.status.ReadOnly = true; - this.status.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; - // - // colRemove - // - this.colRemove.FillWeight = 5F; - this.colRemove.HeaderText = "移除"; - this.colRemove.Name = "colRemove"; - // - // colDelete - // - this.colDelete.FillWeight = 12F; - this.colDelete.HeaderText = "删除"; - this.colDelete.Name = "colDelete"; - this.colDelete.Resizable = System.Windows.Forms.DataGridViewTriState.True; - // - // btnCatchWords - // - this.btnCatchWords.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(67)))), ((int)(((byte)(163)))), ((int)(((byte)(219))))); - this.btnCatchWords.FlatAppearance.BorderSize = 0; - this.btnCatchWords.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.btnCatchWords.Font = new System.Drawing.Font("新宋体", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnCatchWords.ForeColor = System.Drawing.Color.White; - this.btnCatchWords.Location = new System.Drawing.Point(6, 116); - this.btnCatchWords.Name = "btnCatchWords"; - this.btnCatchWords.Size = new System.Drawing.Size(110, 23); - this.btnCatchWords.TabIndex = 139; - this.btnCatchWords.Text = "取词工具"; - this.btnCatchWords.UseVisualStyleBackColor = false; - this.btnCatchWords.Visible = false; - this.btnCatchWords.Click += new System.EventHandler(this.btnCatchWords_Click); - // - // lklbResetShop - // - this.lklbResetShop.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.lklbResetShop.AutoSize = true; - this.lklbResetShop.Location = new System.Drawing.Point(709, 67); - this.lklbResetShop.Name = "lklbResetShop"; - this.lklbResetShop.Size = new System.Drawing.Size(56, 17); - this.lklbResetShop.TabIndex = 126; - this.lklbResetShop.TabStop = true; - this.lklbResetShop.Text = "刷新店铺"; - this.lklbResetShop.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.lklbResetShop_LinkClicked); - // - // cmbGetCatShop - // - this.cmbGetCatShop.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.cmbGetCatShop.DisplayMember = "Text"; - this.cmbGetCatShop.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; - this.cmbGetCatShop.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.cmbGetCatShop.FormattingEnabled = true; - this.cmbGetCatShop.ItemHeight = 18; - this.cmbGetCatShop.Location = new System.Drawing.Point(457, 63); - this.cmbGetCatShop.Name = "cmbGetCatShop"; - this.cmbGetCatShop.Size = new System.Drawing.Size(250, 24); - this.cmbGetCatShop.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.cmbGetCatShop.TabIndex = 113; - // - // label6 - // - this.label6.AutoSize = true; - this.label6.Location = new System.Drawing.Point(346, 67); - this.label6.Name = "label6"; - this.label6.Size = new System.Drawing.Size(116, 17); - this.label6.TabIndex = 112; - this.label6.Text = "指定类目识别店铺:"; - // - // pnlShowOriginal - // - this.pnlShowOriginal.Controls.Add(this.btnShowOriginal); - this.pnlShowOriginal.Controls.Add(this.label4); - this.pnlShowOriginal.Location = new System.Drawing.Point(221, 161); - this.pnlShowOriginal.Name = "pnlShowOriginal"; - this.pnlShowOriginal.Size = new System.Drawing.Size(294, 32); - this.pnlShowOriginal.TabIndex = 98; - this.pnlShowOriginal.Visible = false; - // - // btnShowOriginal - // - this.btnShowOriginal.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(67)))), ((int)(((byte)(163)))), ((int)(((byte)(219))))); - this.btnShowOriginal.FlatAppearance.BorderSize = 0; - this.btnShowOriginal.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.btnShowOriginal.Font = new System.Drawing.Font("新宋体", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnShowOriginal.ForeColor = System.Drawing.Color.White; - this.btnShowOriginal.Location = new System.Drawing.Point(176, 6); - this.btnShowOriginal.Name = "btnShowOriginal"; - this.btnShowOriginal.Size = new System.Drawing.Size(95, 23); - this.btnShowOriginal.TabIndex = 96; - this.btnShowOriginal.Tag = ""; - this.btnShowOriginal.Text = "查看来源商品"; - this.btnShowOriginal.UseVisualStyleBackColor = false; - this.btnShowOriginal.Click += new System.EventHandler(this.btnShowOriginal_Click); - // - // label4 - // - this.label4.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.label4.AutoSize = true; - this.label4.Location = new System.Drawing.Point(26, 9); - this.label4.Name = "label4"; - this.label4.Size = new System.Drawing.Size(152, 17); - this.label4.TabIndex = 97; - this.label4.Text = "此商品为数据库商品,可以"; - // - // pnlShowCategoryList - // - this.pnlShowCategoryList.CanvasColor = System.Drawing.SystemColors.Control; - this.pnlShowCategoryList.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.pnlShowCategoryList.Cursor = System.Windows.Forms.Cursors.Hand; - this.pnlShowCategoryList.DisabledBackColor = System.Drawing.Color.Empty; - this.pnlShowCategoryList.Location = new System.Drawing.Point(421, 39); - this.pnlShowCategoryList.Name = "pnlShowCategoryList"; - this.pnlShowCategoryList.Size = new System.Drawing.Size(16, 16); - this.pnlShowCategoryList.Style.Alignment = System.Drawing.StringAlignment.Center; - this.pnlShowCategoryList.Style.BackColor1.Color = System.Drawing.Color.Transparent; - this.pnlShowCategoryList.Style.BackColor2.Color = System.Drawing.Color.Transparent; - this.pnlShowCategoryList.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; - this.pnlShowCategoryList.Style.ForeColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.pnlShowCategoryList.Style.GradientAngle = 90; - this.pnlShowCategoryList.TabIndex = 83; - this.pnlShowCategoryList.Text = "▼"; - this.pnlShowCategoryList.Click += new System.EventHandler(this.pnlShowCategoryList_Click); - // - // buttonMeituPath - // - this.buttonMeituPath.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(67)))), ((int)(((byte)(163)))), ((int)(((byte)(219))))); - this.buttonMeituPath.FlatAppearance.BorderSize = 0; - this.buttonMeituPath.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.buttonMeituPath.Font = new System.Drawing.Font("新宋体", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.buttonMeituPath.ForeColor = System.Drawing.Color.White; - this.buttonMeituPath.Location = new System.Drawing.Point(6, 167); - this.buttonMeituPath.Name = "buttonMeituPath"; - this.buttonMeituPath.Size = new System.Drawing.Size(110, 23); - this.buttonMeituPath.TabIndex = 13; - this.buttonMeituPath.Text = "设置修图软件"; - this.buttonMeituPath.UseVisualStyleBackColor = false; - this.buttonMeituPath.Click += new System.EventHandler(this.buttonMeituPath_Click); - // - // addToDBBtn - // - this.addToDBBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.addToDBBtn.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(67)))), ((int)(((byte)(163)))), ((int)(((byte)(219))))); - this.addToDBBtn.Enabled = false; - this.addToDBBtn.FlatAppearance.BorderSize = 0; - this.addToDBBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.addToDBBtn.Font = new System.Drawing.Font("新宋体", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.addToDBBtn.ForeColor = System.Drawing.Color.White; - this.addToDBBtn.Location = new System.Drawing.Point(738, 141); - this.addToDBBtn.Name = "addToDBBtn"; - this.addToDBBtn.Size = new System.Drawing.Size(95, 23); - this.addToDBBtn.TabIndex = 16; - this.addToDBBtn.Text = "添加入库"; - this.addToDBBtn.UseVisualStyleBackColor = false; - this.addToDBBtn.Click += new System.EventHandler(this.addToDBBtn_Click); - // - // updateBtn - // - this.updateBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.updateBtn.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(67)))), ((int)(((byte)(163)))), ((int)(((byte)(219))))); - this.updateBtn.Enabled = false; - this.updateBtn.FlatAppearance.BorderSize = 0; - this.updateBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.updateBtn.Font = new System.Drawing.Font("新宋体", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.updateBtn.ForeColor = System.Drawing.Color.White; - this.updateBtn.Location = new System.Drawing.Point(738, 167); - this.updateBtn.Name = "updateBtn"; - this.updateBtn.Size = new System.Drawing.Size(95, 23); - this.updateBtn.TabIndex = 15; - this.updateBtn.Text = "提交上传"; - this.updateBtn.UseVisualStyleBackColor = false; - this.updateBtn.Click += new System.EventHandler(this.updateBtn_Click); - // - // pbPaste - // - this.pbPaste.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.pbPaste.BackColor = System.Drawing.Color.White; - this.pbPaste.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.pbPaste.Cursor = System.Windows.Forms.Cursors.Hand; - this.pbPaste.Image = global::TemuKJD.Properties.Resources.FullPaste; - this.pbPaste.Location = new System.Drawing.Point(811, 6); - this.pbPaste.Name = "pbPaste"; - this.pbPaste.Size = new System.Drawing.Size(22, 22); - this.pbPaste.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; - this.pbPaste.TabIndex = 47; - this.pbPaste.TabStop = false; - this.pbPaste.Click += new System.EventHandler(this.pbPaste_Click); - // - // lklbChangeCatId - // - this.lklbChangeCatId.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.lklbChangeCatId.AutoSize = true; - this.lklbChangeCatId.Location = new System.Drawing.Point(770, 67); - this.lklbChangeCatId.Name = "lklbChangeCatId"; - this.lklbChangeCatId.Size = new System.Drawing.Size(68, 17); - this.lklbChangeCatId.TabIndex = 48; - this.lklbChangeCatId.TabStop = true; - this.lklbChangeCatId.Text = "自定义分类"; - this.lklbChangeCatId.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.lklbChangeCatId_LinkClicked); - this.lklbChangeCatId.Click += new System.EventHandler(this.lklbChangeCatId_Click); - // - // SourceTitlelabel - // - this.SourceTitlelabel.Location = new System.Drawing.Point(393, 11); - this.SourceTitlelabel.Name = "SourceTitlelabel"; - this.SourceTitlelabel.Size = new System.Drawing.Size(408, 17); - this.SourceTitlelabel.TabIndex = 43; - this.SourceTitlelabel.TabStop = true; - this.SourceTitlelabel.Text = "originalTitle"; - this.SourceTitlelabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; - this.SourceTitlelabel.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.SourceTitlelabel_LinkClicked); - // - // lblFromUrl - // - this.lblFromUrl.AutoSize = true; - this.lblFromUrl.Location = new System.Drawing.Point(326, 20); - this.lblFromUrl.Name = "lblFromUrl"; - this.lblFromUrl.Size = new System.Drawing.Size(0, 17); - this.lblFromUrl.TabIndex = 42; - this.lblFromUrl.Visible = false; - // - // lblCategory - // - this.lblCategory.AutoSize = true; - this.lblCategory.Location = new System.Drawing.Point(380, 39); - this.lblCategory.Name = "lblCategory"; - this.lblCategory.Size = new System.Drawing.Size(39, 17); - this.lblCategory.TabIndex = 30; - this.lblCategory.Text = "fenlei"; - this.lblCategory.SizeChanged += new System.EventHandler(this.categoryLabel_SizeChanged); - this.lblCategory.TextChanged += new System.EventHandler(this.lblCategory_TextChanged); - // - // label9 - // - this.label9.AutoSize = true; - this.label9.Location = new System.Drawing.Point(346, 39); - this.label9.Name = "label9"; - this.label9.Size = new System.Drawing.Size(44, 17); - this.label9.TabIndex = 29; - this.label9.Text = "分类:"; - // - // importFileBtn - // - this.importFileBtn.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(67)))), ((int)(((byte)(163)))), ((int)(((byte)(219))))); - this.importFileBtn.FlatAppearance.BorderSize = 0; - this.importFileBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.importFileBtn.Font = new System.Drawing.Font("新宋体", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.importFileBtn.ForeColor = System.Drawing.Color.White; - this.importFileBtn.Location = new System.Drawing.Point(6, 38); - this.importFileBtn.Name = "importFileBtn"; - this.importFileBtn.Size = new System.Drawing.Size(110, 23); - this.importFileBtn.TabIndex = 0; - this.importFileBtn.Text = "导入链接文件"; - this.importFileBtn.UseVisualStyleBackColor = false; - this.importFileBtn.Click += new System.EventHandler(this.importFileBtn_Click); - // - // freePostLabel - // - this.freePostLabel.AutoSize = true; - this.freePostLabel.Location = new System.Drawing.Point(614, 95); - this.freePostLabel.Name = "freePostLabel"; - this.freePostLabel.Size = new System.Drawing.Size(52, 17); - this.freePostLabel.TabIndex = 24; - this.freePostLabel.Text = "baoyou"; - // - // importURLtextBox - // - this.importURLtextBox.Font = new System.Drawing.Font("微软雅黑", 7.5F); - this.importURLtextBox.ForeColor = System.Drawing.SystemColors.WindowText; - this.importURLtextBox.Location = new System.Drawing.Point(6, 6); - this.importURLtextBox.Multiline = true; - this.importURLtextBox.Name = "importURLtextBox"; - this.importURLtextBox.ReadOnly = true; - this.importURLtextBox.Size = new System.Drawing.Size(335, 25); - this.importURLtextBox.TabIndex = 0; - this.importURLtextBox.WordWrap = false; - this.importURLtextBox.Click += new System.EventHandler(this.importURLtextBox_Click); - // - // label8 - // - this.label8.AutoSize = true; - this.label8.Location = new System.Drawing.Point(556, 95); - this.label8.Name = "label8"; - this.label8.Size = new System.Drawing.Size(68, 17); - this.label8.TabIndex = 23; - this.label8.Text = "是否包邮:"; - // - // LastURLBtn - // - this.LastURLBtn.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(67)))), ((int)(((byte)(163)))), ((int)(((byte)(219))))); - this.LastURLBtn.FlatAppearance.BorderSize = 0; - this.LastURLBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.LastURLBtn.Font = new System.Drawing.Font("新宋体", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.LastURLBtn.ForeColor = System.Drawing.Color.White; - this.LastURLBtn.Location = new System.Drawing.Point(6, 64); - this.LastURLBtn.Name = "LastURLBtn"; - this.LastURLBtn.Size = new System.Drawing.Size(110, 23); - this.LastURLBtn.TabIndex = 1; - this.LastURLBtn.Text = "切换到上一条"; - this.LastURLBtn.UseVisualStyleBackColor = false; - this.LastURLBtn.Click += new System.EventHandler(this.LastURLBtn_Click); - // - // sourceLabel - // - this.sourceLabel.AutoSize = true; - this.sourceLabel.Location = new System.Drawing.Point(478, 95); - this.sourceLabel.Name = "sourceLabel"; - this.sourceLabel.Size = new System.Drawing.Size(48, 17); - this.sourceLabel.TabIndex = 22; - this.sourceLabel.Text = "laiyuan"; - this.sourceLabel.Visible = false; - // - // NextURLBtn - // - this.NextURLBtn.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(67)))), ((int)(((byte)(163)))), ((int)(((byte)(219))))); - this.NextURLBtn.FlatAppearance.BorderSize = 0; - this.NextURLBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.NextURLBtn.Font = new System.Drawing.Font("新宋体", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.NextURLBtn.ForeColor = System.Drawing.Color.White; - this.NextURLBtn.Location = new System.Drawing.Point(6, 90); - this.NextURLBtn.Name = "NextURLBtn"; - this.NextURLBtn.Size = new System.Drawing.Size(110, 23); - this.NextURLBtn.TabIndex = 2; - this.NextURLBtn.Text = "切换到下一条"; - this.NextURLBtn.UseVisualStyleBackColor = false; - this.NextURLBtn.Click += new System.EventHandler(this.NextURLBtn_Click); - // - // label7 - // - this.label7.AutoSize = true; - this.label7.Location = new System.Drawing.Point(444, 95); - this.label7.Name = "label7"; - this.label7.Size = new System.Drawing.Size(44, 17); - this.label7.TabIndex = 21; - this.label7.Text = "来源:"; - // - // priceLabel - // - this.priceLabel.AutoSize = true; - this.priceLabel.Location = new System.Drawing.Point(380, 95); - this.priceLabel.Name = "priceLabel"; - this.priceLabel.Size = new System.Drawing.Size(36, 17); - this.priceLabel.TabIndex = 20; - this.priceLabel.Text = "jiage"; - // - // priceLabel1 - // - this.priceLabel1.AutoSize = true; - this.priceLabel1.Location = new System.Drawing.Point(346, 95); - this.priceLabel1.Name = "priceLabel1"; - this.priceLabel1.Size = new System.Drawing.Size(44, 17); - this.priceLabel1.TabIndex = 19; - this.priceLabel1.Text = "价格:"; - // - // label5 - // - this.label5.AutoSize = true; - this.label5.Location = new System.Drawing.Point(346, 11); - this.label5.Name = "label5"; - this.label5.Size = new System.Drawing.Size(56, 17); - this.label5.TabIndex = 17; - this.label5.Text = "原标题:"; - // - // pnlAddShopFlag - // - this.pnlAddShopFlag.CanvasColor = System.Drawing.SystemColors.Control; - this.pnlAddShopFlag.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.pnlAddShopFlag.DisabledBackColor = System.Drawing.Color.Empty; - this.pnlAddShopFlag.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.pnlAddShopFlag.Location = new System.Drawing.Point(503, 120); - this.pnlAddShopFlag.Name = "pnlAddShopFlag"; - this.pnlAddShopFlag.Size = new System.Drawing.Size(57, 24); - this.pnlAddShopFlag.Style.Alignment = System.Drawing.StringAlignment.Center; - this.pnlAddShopFlag.Style.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; - this.pnlAddShopFlag.Style.BackColor2.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; - this.pnlAddShopFlag.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; - this.pnlAddShopFlag.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; - this.pnlAddShopFlag.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; - this.pnlAddShopFlag.Style.GradientAngle = 90; - this.pnlAddShopFlag.TabIndex = 57; - this.pnlAddShopFlag.Text = "添加分组"; - this.pnlAddShopFlag.Click += new System.EventHandler(this.pnlAddShopFlag_Click); - // - // cmbShopFlag - // - this.cmbShopFlag.DisplayMember = "Text"; - this.cmbShopFlag.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; - this.cmbShopFlag.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.cmbShopFlag.FormattingEnabled = true; - this.cmbShopFlag.ItemHeight = 18; - this.cmbShopFlag.Location = new System.Drawing.Point(388, 120); - this.cmbShopFlag.Name = "cmbShopFlag"; - this.cmbShopFlag.Size = new System.Drawing.Size(114, 24); - this.cmbShopFlag.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.cmbShopFlag.TabIndex = 56; - // - // pnlCancelShopFlag - // - this.pnlCancelShopFlag.CanvasColor = System.Drawing.SystemColors.Control; - this.pnlCancelShopFlag.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.pnlCancelShopFlag.DisabledBackColor = System.Drawing.Color.Empty; - this.pnlCancelShopFlag.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.pnlCancelShopFlag.Location = new System.Drawing.Point(676, 120); - this.pnlCancelShopFlag.Name = "pnlCancelShopFlag"; - this.pnlCancelShopFlag.Size = new System.Drawing.Size(31, 24); - this.pnlCancelShopFlag.Style.Alignment = System.Drawing.StringAlignment.Center; - this.pnlCancelShopFlag.Style.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; - this.pnlCancelShopFlag.Style.BackColor2.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; - this.pnlCancelShopFlag.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; - this.pnlCancelShopFlag.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; - this.pnlCancelShopFlag.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; - this.pnlCancelShopFlag.Style.GradientAngle = 90; - this.pnlCancelShopFlag.TabIndex = 73; - this.pnlCancelShopFlag.Text = "取消"; - this.pnlCancelShopFlag.Visible = false; - this.pnlCancelShopFlag.Click += new System.EventHandler(this.pnlCancelShopFlag_Click); - // - // pnlSaveShopFlag - // - this.pnlSaveShopFlag.CanvasColor = System.Drawing.SystemColors.Control; - this.pnlSaveShopFlag.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.pnlSaveShopFlag.DisabledBackColor = System.Drawing.Color.Empty; - this.pnlSaveShopFlag.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.pnlSaveShopFlag.Location = new System.Drawing.Point(644, 120); - this.pnlSaveShopFlag.Name = "pnlSaveShopFlag"; - this.pnlSaveShopFlag.Size = new System.Drawing.Size(31, 24); - this.pnlSaveShopFlag.Style.Alignment = System.Drawing.StringAlignment.Center; - this.pnlSaveShopFlag.Style.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; - this.pnlSaveShopFlag.Style.BackColor2.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; - this.pnlSaveShopFlag.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; - this.pnlSaveShopFlag.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; - this.pnlSaveShopFlag.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; - this.pnlSaveShopFlag.Style.GradientAngle = 90; - this.pnlSaveShopFlag.TabIndex = 69; - this.pnlSaveShopFlag.Text = "保存"; - this.pnlSaveShopFlag.Visible = false; - this.pnlSaveShopFlag.Click += new System.EventHandler(this.btnSaveShopFlag_Click); - // - // txtNewShopFlag - // - // - // - // - this.txtNewShopFlag.Border.Class = "TextBoxBorder"; - this.txtNewShopFlag.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.txtNewShopFlag.Font = new System.Drawing.Font("华文中宋", 9.5F); - this.txtNewShopFlag.Location = new System.Drawing.Point(561, 120); - this.txtNewShopFlag.Name = "txtNewShopFlag"; - this.txtNewShopFlag.PreventEnterBeep = true; - this.txtNewShopFlag.Size = new System.Drawing.Size(82, 24); - this.txtNewShopFlag.TabIndex = 61; - this.txtNewShopFlag.Visible = false; - // - // label2 - // - this.label2.AutoSize = true; - this.label2.Location = new System.Drawing.Point(346, 123); - this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(44, 17); - this.label2.TabIndex = 52; - this.label2.Text = "分组:"; - // - // toolTip1 - // - this.toolTip1.IsBalloon = true; - // - // Fission - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; - this.ClientSize = new System.Drawing.Size(1366, 700); - this.Controls.Add(this.splitContainer1); - this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); - this.Name = "Fission"; - this.ShowMaximizeBox = true; - this.Text = "净化数据"; - this.TitleText = "净化数据"; - this.WindowState = System.Windows.Forms.FormWindowState.Minimized; - this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.Fission_FormClosed); - this.Load += new System.EventHandler(this.Fission_Load); - this.Controls.SetChildIndex(this.splitContainer1, 0); - this.panel1.ResumeLayout(false); - this.panel1.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.pbLoading)).EndInit(); - this.splitContainer1.Panel2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); - this.splitContainer1.ResumeLayout(false); - this.splitContainer2.Panel1.ResumeLayout(false); - this.splitContainer2.Panel2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit(); - this.splitContainer2.ResumeLayout(false); - this.splitPage.Panel1.ResumeLayout(false); - this.splitPage.Panel2.ResumeLayout(false); - this.splitPage.Panel2.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.splitPage)).EndInit(); - this.splitPage.ResumeLayout(false); - this.flowLayoutPanel1.ResumeLayout(false); - this.flowLayoutPanel1.PerformLayout(); - this.splitContainer3.Panel1.ResumeLayout(false); - this.splitContainer3.Panel2.ResumeLayout(false); - this.splitContainer3.Panel2.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).EndInit(); - this.splitContainer3.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit(); - this.pnlShowOriginal.ResumeLayout(false); - this.pnlShowOriginal.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.pbPaste)).EndInit(); - this.ResumeLayout(false); - - } - - #endregion - - private System.Windows.Forms.Panel panel1; - private System.Windows.Forms.SplitContainer splitContainer1; - private System.Windows.Forms.SplitContainer splitContainer2; - private System.Windows.Forms.TextBox importURLtextBox; - private ButtonLc importFileBtn; - private DataGridViewEx dataGridView1; - private ButtonLc NextURLBtn; - private ButtonLc LastURLBtn; - private System.Windows.Forms.TextBox CurrentPositiontextBox; - private System.Windows.Forms.Label label1; - private System.Windows.Forms.Label label5; - private DevComponents.DotNetBar.Controls.TextBoxX txtTitle; - private System.Windows.Forms.Label priceLabel1; - private System.Windows.Forms.Label priceLabel; - private System.Windows.Forms.Label sourceLabel; - private System.Windows.Forms.Label label7; - private System.Windows.Forms.Label freePostLabel; - private System.Windows.Forms.Label label8; - private ButtonLc addToDBBtn; - private ButtonLc updateBtn; - private System.Windows.Forms.SplitContainer splitContainer3; - private Label label9; - private DevComponents.DotNetBar.Controls.CheckBoxX checkBoxX1; - private DevComponents.DotNetBar.LabelX labelX10; - private DevComponents.DotNetBar.LabelX labelX4; - private DevComponents.DotNetBar.Controls.TextBoxX baseAddPriceTextBoxX; - private DevComponents.DotNetBar.LabelX labelX11; - private DevComponents.DotNetBar.Controls.TextBoxX randAddPercentTextBoxX; - private DevComponents.DotNetBar.LabelX labelX5; - private Label lblFromUrl; - private LinkLabel SourceTitlelabel; - private ButtonLc buttonMeituPath; - private PictureBox pbPaste; - private LinkLabelLc lklbChangeCatId; - public Label lblCategory; - private DevComponents.DotNetBar.LabelX labelX1; - private TextBoxX txtDiscount; - private DevComponents.DotNetBar.LabelX labelX2; - private Label label2; - private TextBox txtShopFlag; - private ComboBox cboxCat3; - private ComboBox cboxCat2; - private Label label12; - private ComboBox cboxCat1; - private Label label11; - private ComboBox cboxShop; - private Label label10; - private Label lblShop; - private ToolTip toolTip1; - private TextBoxX txtSuperTitle; - private Label label3; - private DevComponents.DotNetBar.PanelEx pnlMsg; - private TextBoxX txtNewShopFlag; - private DevComponents.DotNetBar.PanelEx pnlAddShopFlag; - private ComboBoxEx cmbShopFlag; - private DevComponents.DotNetBar.PanelEx pnlCancelShopFlag; - private DevComponents.DotNetBar.PanelEx pnlSaveShopFlag; - private PictureBox pbLoading; - private DevComponents.DotNetBar.PanelEx pnlShowCategoryList; - private SplitContainer splitPage; - private FlowLayoutPanel flpQualification; - private FlowLayoutPanel flowLayoutPanel1; - private FlowLayoutPanel flpProp; - private DevComponents.DotNetBar.PanelEx btnLoadLastSetting; - private ButtonLc btnShowOriginal; - private Panel pnlShowOriginal; - private Label label4; - private Label label6; - private ComboBoxEx cmbGetCatShop; - private LinkLabelLc lklbResetShop; - private DataGridViewTextBoxColumn id; - private DataGridViewTextBoxColumn colDbId; - private DataGridViewLinkColumn colProductId; - private DataGridViewTextBoxColumn ColProName; - private DataGridViewTextBoxColumn status; - private DataGridViewLinkColumn colRemove; - private DataGridViewLinkColumn colDelete; - private ButtonLc btnCatchWords; - } -} \ No newline at end of file diff --git a/TEMUKJD/KJDForms/ProductForms/FissionUserControl/Fission.resx b/TEMUKJD/KJDForms/ProductForms/FissionUserControl/Fission.resx deleted file mode 100644 index 101667e..0000000 --- a/TEMUKJD/KJDForms/ProductForms/FissionUserControl/Fission.resx +++ /dev/null @@ -1,1277 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 17, 17 - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - - - AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAgBACMuAAAjLgAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvHxSArx8 - Uje8fFJ5vHxSrLx8UtK8fFLuvHxS+rx8Uv+8fFL/vHxS/7x8Uv+8fFL/vHxS/7x8Uv+8fFL/vHxS/7x8 - Uv+8fFL/vHxS/7x8Uv+8fFL/vHxS/7x8Uv+8fFL/vHxS/7x8Uv+8fFL/vHxS/7x8Uv+8fFL/vHxS/7x8 - Uv+8fFL/vHxS/7x8Uv+8fFL/vHxS/7x8Uv+8fFL/vHxS/7x8Uv+8fFL/vHxS/7x8Uv+8fFL/vHxS/7x8 - Uv+8fFL/vHxS/7x8Uv+8fFL/vHxS/7x8Uv+8fFL/vHxS/7x8Uv+8fFL/vHxS/7x8Uv+8fFL/vHxS/7x8 - Uv+8fFL/vHxS/7x8Uv+8fFL/vHxS/7x8Uv+8fFL/vHxS/7x8Uv+8fFL/vHxS/7x8Uv+8fFL/vHxS/7x8 - Uv+8fFL/vHxS/7x8Uv+8fFL/vHxS/7x8Uv+8fFL/vHxS/7x8Uv+8fFL/vHxS/7x8Uv+8fFL/vHxS/7x8 - Uv+8fFL/vHxS/7x8Uv+8fFL6vHxS7rx8UtK8fFKsvHxSebx8Uje8fFICAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAvHxSHLx8Uoi8fFLkyIRY/9mRYP/om2j/86Jt//qocf/+qnL//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//6qcv/6qHH/86Jt/+mb - aP/ZkWD/yIRY/7x8UuS8fFKIvHxSHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvHxSFLx8Upe/flT52pFh//Oj - bf//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P/9KNt/9qRYf+/flT5vHxSl7x8 - UhQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAALx8Uli9fVPr2ZBg//qncf//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//qncf/ZkGD/vX1T67x8UlkAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALx8UgW8fFKYxoNX//GhbP//q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c//xoWz/xoNX/7x8Upi8fFIFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAC8fFIKvHxSts+JW//7qHH//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc//7qHH/z4lb/7x8UrS8fFIKAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvHxSBrx8UrHTjF3//qpy//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc//+qnL/04xd/7x8UrG8fFIGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAC8fFKY0Ipc//6qcv//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc//+qnL/0Ipc/7x8 - UpkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvHxSWMaDV//7qHH//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc//7qHH/xoNX/7x8UloAAAAAAAAAAAAAAAAAAAAAAAAAALx8 - UhO9fVLs8qJs//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c//yomz/vX1S7Lx8UhMAAAAAAAAAAAAAAAAAAAAAvHxSldmQYP//q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc//ZkGD/vHxSlwAAAAAAAAAAAAAAALx8 - Uhy/flT5+qdw//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P/hXaX/zZUsP+fgpD/3519//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P/4ZJm/61kTv/omGn//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//qncP+/flT5vHxSHAAAAAAAAAAAvHxSh9qRYf//q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c//Zm37/KFK0/yhRs/8pUrT/S2Co/418lf/gnnz//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P/rmZP/3Y1 - N/+PTEL/wXZY//Shbv//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/9qRYf+8fFKHAAAAALx8 - UgK8fFLj9KNt//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc/+Le5b/KFOz/yhUtP8oU7P/KFOz/yhT - s/9daaP/v5GG//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P/u3FV/3Y2N/93Njf/djY3/6JbSv/djmT//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P/9KNt/7x8UuO8fFICvHxSOMiEWP//q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz/+CffP8oVbT/J1W0/yhVtP8oVbT/KFW0/yhVtP8nVbT/QF6t/7WNif//q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P/smlR/3Y2N/92NTf/djY3/3c2N/+KRj//04Zg//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P/yIRY/7x8 - Uje8fFJ52ZFg//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/3d3nf8nWLX/J1e0/ydY - tf8nWLX/J1i1/ydYtf8oWLX/J1e1/z1fr//FlYX//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P/mlVH/3Y2N/92Njf/djU3/3Y2 - N/92NTf/g0E9/9aIYf//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc//akWH/vHxSeLx8Uqzom2j//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P/ypeD/yhatf8nWbX/J1q1/ydZtf8nWbX/J1m1/yhatf8oWrX/J1i1/ydY - tf9dbqT/7KR5//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc//1om//gkA8/3Y1Nv92NTf/djY2/3Y2Nv92Njb/djY3/45LQf/ol2n//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/+ib - aP+8fFKsvHxS0/Ojbf//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P/SGes/ydb - tv8nW7b/J1u1/yhctv8oW7b/J1u1/yhbtv8oXLb/KFy2/yhbtv8nWrb/qoyN//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc//ShF//djY3/3Y2 - N/93Nzf/dzY3/3c3N/93Njf/dzc3/3c2N/+tZU///apy//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P/86Nt/7x8UtO8fFLs+qdw//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc/+Pg5b/KF22/yhdtv8oXbb/KF22/yhdtv8nXbb/J122/yhd - tv8nXLb/J122/ydctv8oXbb/a3Wh//2qdP//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc/+rY07/djY3/3Y2N/92Njf/djY3/3Y2Nv92Njb/dzc3/3Y2 - Nv+EQT3/4ZFm//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c//6p3H/vHxS7Lx8Uvn9qnL//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/9Kb - gf8oXrf/KF+3/yhet/8oXrf/KF+3/yhft/8nXrb/J162/yhet/8oXrf/KF+3/yhft/8oXrf/P2ew/+Oh - fP//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//Sh - bv9/PTv/djU3/3Y2N/92Njf/djY2/3c2Nv93Nzf/dzc3/3c3N/93Nzf/vHJV//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//2qcv+8fFL5vHxS//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/0Rqrv8oYbf/J2C3/ydgt/8oYLf/KGC3/yhg - t/8oYbf/KGC3/yhgt/8oYbf/KGC3/yhht/8nYLf/KGC3/8iYhP//q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/8p+XP93Njf/djY3/3Y1N/92Njf/djY3/3c3 - Nv93Nzf/dzc3/3c3N/93Nzb/nFdH//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz/7x8Uv+8fFL//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P/b3qh/yhit/8oYrf/KGO4/yhjuP8oY7j/KGO4/yhjuP8oYrj/KGO4/yhiuP8pY7j/KGO4/yhj - uP8oYrf/KGK4/7ORi///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz/5JOQ/92Njf/djY3/3Y2N/92Njf/djY3/3g4Nv94ODf/dzc2/3c3Nv93Nzb/iUc///Gf - bf//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P/vHxS/7x8Uv//q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc/+gjJL/KGO4/ylkuP8oZLj/KGO4/yhk - uP8oZLj/KGO4/yhkuP8oZLj/KGS4/yhkuP8oY7j/KGO4/yhjuP8oZLj/KGO3/7CRjP//q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P/2oxj/3Y1Nv93Njf/djU2/3Y1 - Nv92NTb/dzc3/3g4N/93Nzb/eDg3/3g4N/93Nzb/fz46/+eXaP//q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc/+8fFL/vHxS//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz/8qahP8oZrn/KGa5/yhmuf8oZrj/KGa5/ylmuf8oZrn/KGa5/ylmuf8oZrn/KGa5/yhm - uf8oZrn/KWa5/ylmuf8oZrn/KGa5/7yWif//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P/m1RG/3Y2N/92Njf/djY3/3Y2N/91NTf/dzc3/3k5N/94ODb/eDg2/3g4 - Nv94ODb/fDs4/+aWaP//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/7x8Uv+8fFL//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P/7KV5/y5qt/8oaLn/KGe5/yho - uf8oaLn/KGe5/yhouf8oaLn/KGe5/yhnuf8oZ7n/KGi5/yhouv8oaLn/KGe5/yhouf8oZ7n/KGe5/8yb - g///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc//cjGP/djU2/3Y2 - N/92Njf/djY3/3Y2N/91NTf/dzc2/3k6Nv95OTf/eDg2/3k5N/94OTb/eTk3/+WUZ///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P/vHxS/7x8Uv//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P/SXSv/yhpuv8oarr/KWq6/yhpuv8oabr/KGm6/yhpuv8parr/KWq6/yhq - uv8oabn/KGm5/ylquv8oabr/KGq6/yhpuv8parr/NW62/+WjfP//q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc/+cVUf/djU2/3Y1N/92NTb/djU3/3Y1Nv92NTf/dzg2/3k6 - Nf95Ojb/eTk2/3g5Nv95OTb/fT04/+qZaf//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc/+8fFL/vHxS//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc/9fe6n/J2u6/yhr - u/8obLv/KGu7/yhru/8na7v/KGu7/yhsu/8obLv/KGu7/ydruv8obLv/J2u6/yhru/8oa7v/KGu7/ydr - u/8oa7v/VXis//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/9GE - X/92Njf/djU2/3Y2N/92Njf/djU3/3U1N/92NTf/eDk2/3o7Nv95Ojf/eDk2/3k6N/95Ojf/h0Y9//aj - b///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz/7x8Uv+8fFL//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz/3CCo/8pbbv/KGy7/yhsu/8pbbv/KW27/yltu/8obbv/KGy7/yhs - u/8pbbv/KGy7/yltu/8obbv/KGy7/yhtu/8pbbv/KW27/yhtu/8obbv/gIae//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/45JQf92Njf/djU2/3Y2N/92Njf/dzY3/3Y1 - N/92Njb/ejs2/3o7Nf96Ozb/ejs2/3k6Nf95OjX/llND//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P/vHxS/7x8 - Uv//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P/e4Wf/yhu - u/8obrv/KG67/yhuu/8obrv/KG67/yhuu/8obrv/KG67/yhvu/8pb7z/KG67/ylvvP8obrv/KG+7/yhv - u/8pb7z/KW+8/yhuu/8obrv/vJiJ//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P/wXZX/3Y2N/92NTb/djU2/3Y1Nv92NTf/djY3/3Y1N/93Nzb/ezw1/3k6Nv96Ozb/eTo2/3k6 - Nf96Ozb/rWZN//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc/+8fFL/vHxS//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc/+CiZ7/KXC8/ylwvP8ocLz/KHC8/yhwvP8ocLz/KXC8/ylx - vf8pcLz/KHC8/yhwvP8pcLz/KHC8/yhwvP8ocLz/KXG8/ylwvP8pcLz/KHC8/ylwvP86dbb/8qh3//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc//tnGv/djY3/3Y1N/92Njf/djU3/3Y1 - Nv92Njf/djY3/3U1N/95Ojb/ez01/3s8Nv97PDb/ejw1/3o8Nf97PDb/yn9a//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/7x8 - Uv+8fFL//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/4WL - nf8pc73/KXK8/ylzvf8pc73/KXO9/ylzvf8pc73/KXK9/ylyvf8pcr3/KXO9/ypzvf8pc73/KnO9/yly - vf8pcr3/KXO9/ylzvf8pc73/KXO9/ylzvf+Aip///6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc/+iXEr/djY3/3Y2N/92NTb/djU2/3Y2N/92Njf/djY3/3Y1Nv97PTX/ez00/3s8 - Nf97PDX/ezw1/3s9Nf97PDX/5pZn//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P/vHxS/7x8Uv//q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P/hIue/yl0vf8pdL3/KXS9/yl0vf8pdL3/KXS9/yl0 - vf8pdL3/KXS9/yl0vf8pdb7/KXS9/yl0vf8pdL3/KXS9/yl0vf8pdL3/KXS9/yl0vf8pdL3/KXS9/yl0 - vf/LnoX//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/9GEX/92Njf/djU3/3Y2 - N/92NTb/djU2/3Y1N/92Njf/dTQ4/3g4N/98PzT/ez01/3w9Nf98PTX/ez01/3w9Nf+YVkL//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c/+8fFL/vHxS//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c/99i6H/KXW9/yl1vf8pdb3/KXW9/yl2vv8pdr3/KXa9/yl2vf8pdr7/KXW9/yh1vf8odb3/KXW9/yl1 - vf8pdb3/KXW9/yl2vf8pdr7/KXa9/yl1vf8pdb3/KXa9/2OEqf//q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P/86Fu/3s6Of92Njf/djY3/3Y2N/92NTb/djY3/3Y1N/92NTb/dTQ3/3o8 - Nf99PzT/ez00/3w+Nf98PjX/ez40/3s9NP+8c1P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/7x8Uv+8fFL//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/3SJpP8pd77/KXe+/yl3vv8qeL7/KXe+/yp3 - vv8pd77/Kne+/yl3vv8qeL7/Kne+/yl3vv8pd77/Kni+/yp3vv8pd77/Kne+/yp3vv8qd77/Kni+/yp3 - vv8qd77/Kni+/7mai///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P/nlhI/3Y2 - N/92Njf/djY3/3Y1Nv92NTb/djY3/3Y2N/91NTf/dzc3/31ANP99PzT/fT80/3w/NP99PzT/fUA1/30/ - NP/omGj//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P/vHxS/7x8Uv//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P/Z4ep/yt5v/8reb//K3m//yp5v/8reb//Knm//yp4vv8reb//Knm//yp5v/8qeb//Kni//yp4 - vv8qeb//K3m//yp5v/8qeb//Knm//yp4v/8reb//Knm//yt5v/8qeL//X4Wt//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc//Gelr/djU2/3Y2N/92NTb/djY3/3Y1Nv92NTf/djU2/3Y2 - N/91NDj/ejw1/39CM/99QDT/fUA0/31ANP99QDT/fT80/55bRP//q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc/+8fFL/vHxS//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc/9ThLH/K3u//yp6v/8qer//Knq//yp6 - v/8re7//K3vA/yp6v/8qer//Knq//yp6v/8qer//Knq//yp6v/8qer//Knq//yp6v/8re8D/K3u//yp6 - v/8qer//Knq//yp6v/8qer//xJ6I//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/+mY - af93Njf/djY3/3Y2N/92NTb/djY3/3Y1Nv92Njf/djU2/3U0N/93Nzf/fkAz/39BM/9+QTT/fUA0/35B - NP9+QDT/fkE0/9GGXf//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz/7x8Uv+8fFL//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P/9ql2/zqAu/8rfcD/LH3B/yt9wP8rfcD/K33A/yt9wP8rfMD/LH3B/yt9wP8rfcD/K33A/yx9 - wf8rfcD/K33A/yt9wP8rfcD/K33A/yt9wP8rfcD/K33A/yt8wP8sfcD/K33A/yt9wP9piqr//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/41JQP92Njf/djY3/3Y1N/92Njf/djY3/3c2 - N/92Njf/djY3/3UzOP96Ozb/gUUz/35BM/9+QTP/fkI0/39CNP9+QTP/jk88//ypcv//q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P/vHxS/7x8Uv//q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc//Zo4H/K33A/yt+wP8sfsH/K33A/yt9 - wP8rfsD/K37A/yt9wP8sfsH/K33A/yx+wf8rfcD/K37A/yx+wf8rfsD/K37A/yx+wf8rfcD/K33A/yt+ - wP8rfcD/K33A/yt9wP8rfsD/K37A/yt+wP/dpH///6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P/p2BN/3Y2N/92Njf/djY3/3Y1N/92NTf/djY3/3Y1N/92Njf/dTQ3/3Y2N/+AQzT/gUQz/4BD - M/+AQzP/gEM0/39DM/9/QzP/xnxW//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc/+8fFL/vHxS//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz/7Wcj/8sgMH/LIDC/yyAwf8sgMH/LIDB/yyAwf8sgMH/LIDB/yyAwv8sgMH/LIDB/yt/ - wf8sgMH/LIDB/yyAwf8sgMH/LIDC/yyAwv8sgML/K3/B/yyAwf8sgMH/LIDB/yyAwf8sgMH/LIDB/5aW - mv//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc/+/dFf/djY3/3Y2N/92Njf/djY3/3Y2 - N/92NTb/djU2/3Y1N/92Njf/dTM4/3w9Nf+ESDL/gEQy/4BEMv+ARDL/gUUz/4BEMv+ISjb/9qNu//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/7x8Uv+8fFL//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P/ipSe/yyBwf8sgcH/LIHB/yyB - wf8sgcH/LIHB/yyCwv8sgcH/LIHB/yyCwv8sgsL/LIHB/yyBwf8sgcH/LIHB/yyBwf8sgsL/LILC/yyB - wf8sgcH/LIHB/yyBwf8rgcH/LILC/yyCwv8sgcH/TYi1//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz/9mLY/92NTf/djY3/3Y2N/92NTb/djY3/3Y1Nv92Njf/djY3/3c2N/91NDf/dzc3/4JG - M/+CRjP/gUUz/4JFM/+CRTP/gUUy/4FFM/+9dVH//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P/vHxS/7x8Uv//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc/9ejLD/LIPC/yyDwv8tg8L/LIPC/y2Dwv8tg8P/LIPC/y2Dw/8tg8L/LYPC/yyD - wv8sg8L/LYPC/y2Dwv8sg8L/LYPD/y2Dwv8sg8L/LILC/y2Dw/8tg8L/LIPC/yyCwv8tg8P/LILC/y2D - w/8tg8P/y6GH//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P/755s/3c2N/92NTb/djU2/3Y2 - N/92Njf/dzY3/3Y2N/92Njf/djY3/3Y2N/90Mjf/fkE0/4ZKM/+DRzP/gkYz/4JGMv+CRjP/gkYz/4tO - OP/4pW///6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc/+8fFL/vHxS//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P/8ah4/zmGvv8thMP/LoXD/y2E - wv8uhcP/LoXD/y6Fw/8thML/LYTC/y6Fw/8thML/LYTC/y2Ewv8thML/LoXD/y6Fw/8thML/LYTC/y2E - wv8uhMP/LYTC/y6Ew/8thML/LoXD/y2Ewv8thML/LYTC/y2Ewv+XmJr//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P/iEU+/3Y2N/92Njf/djY3/3Y2N/92Njf/djY3/3Y1N/92NTb/djY3/3Qy - N/95Ojf/hUkx/4RJMv+ESDL/g0cy/4NIMv+DRzL/g0cy/8J6U///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz/7x8Uv+8fFL//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc/++oIz/LobE/y2Gw/8thsP/LobE/y2Gw/8thsP/LYbD/y2Gw/8uhsT/LobE/y2G - w/8thsP/LYbD/y2Gw/8thsP/LYbD/y2Gw/8thsP/LYbD/y6GxP8thsP/LYbD/y2Gw/8thsP/LYbD/y2G - w/8uhsT/LYbD/2CPsP//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc/+ZVEb/djY3/3Y1 - N/92Njf/djY3/3c2N/92Njf/djY3/3Y2N/92Njf/dTU3/3U0N/+CRjP/hksx/4RJMv+FSTL/hEky/4RI - Mv+ESDL/k1U6//6qcv//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P/vHxS/7x8 - Uv//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/3+VpP8uh8P/LojE/y6I - xP8uh8P/LojE/y6Hw/8uh8P/LojE/y6Hw/8uiMT/L4jE/y6IxP8uh8P/LofD/y6Hw/8uh8P/LofD/y6H - w/8uiMT/LojE/y6IxP8uh8P/LofD/y+IxP8uiMT/LofD/y6Hw/8uh8P/M4jB/+uoe///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz/6piTf92Njf/dzY3/3Y2N/92NTf/djY3/3Y2N/92NTb/dzY3/3Y2 - N/92Njf/czI3/31AM/+JTjH/hkoy/4ZKMv+GSjL/hkoy/4ZKMf+FSjH/0odb//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc/+8fFL/vHxS//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc//4qnb/QYy9/y6JxP8uicX/LorF/y6JxP8uicT/LonE/y6Kxf8uicT/LYnE/y6J - xP8uicT/LonF/y6JxP8uicT/LonF/y6JxP8uicT/LonE/y6Jxf8uicT/LonE/y6JxP8uicT/LonE/y6J - xP8uicT/LonE/y6Jxf8uicT/vqCM//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P/uG5U/3Y2 - N/92Njf/djY3/3Y1N/92Njf/djU2/3Y2N/92NTb/djU2/3Y2N/90Mjf/eTk2/4hNMv+HTDH/hksx/4ZL - Mf+HTDL/h0wy/4ZLMf+gYD///6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/7x8 - Uv+8fFL//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/8Oii/8vi8X/L4vF/y6L - xP8vi8X/L4vF/y+LxP8vi8X/L4zF/y+Lxf8ui8T/L4zF/y+Lxf8vi8X/LovE/y6LxP8vi8T/L4vE/y+L - xf8ui8T/LovE/y6LxP8vi8T/L4vF/y+LxP8ui8T/LovE/y+LxP8vi8X/L4vE/y+LxP+Xm5z//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc//Bdlj/djY3/3Y2N/92Njf/djY3/3Y1N/92NTf/djU3/3Y1 - N/92Njf/djY3/3Y1N/91NDf/hEgy/4lPMP+HTDD/iE0x/4dMMf+ITTH/iE0x/4hMMf/llmX//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P/vHxS/7x8Uv//q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P/eZeo/y+Nxf8vjcb/L43F/y+Nxf8vjcb/L43F/y+Nxf8vjcX/LozF/y+N - xv8vjcX/Lo3F/y+Nxf8ujcX/L43F/y+Nxf8ujMX/L43F/y6Nxf8ujMX/L43G/y6Mxf8vjcb/L43G/y6N - xf8ujMX/L43F/y6Nxf8ujcX/L43G/3qYqP//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/8h8 - W/92Njf/djY3/3Y2N/92Njf/djU2/3Y2N/92NTb/djY3/3Y2N/92Njf/djY3/3MxN/+ARDP/jFMx/4hN - Mf+ITTH/iU4x/4lOMv+ITTH/iU4y/7t1Tf//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c/+8fFL/vHxS//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/+Snfv8wjsX/MI/G/y+O - xv8vjsX/MI/G/y+Oxf8vjsX/L47G/y+Oxf8vjsX/L47F/y+Oxv8vjsb/L47F/y+Oxf8vjsX/L47G/y+O - xf8vjsb/L47F/y+Oxf8vjsX/L47F/y+Oxv8vjsX/MI/G/y+Oxf8vjsb/L47G/y+Oxv8vjsb/YZWy//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P/zIBd/3c2N/92Njf/djY3/3c2N/92NTf/dzY3/3Y2 - N/92Njf/dzY3/3Y2N/92NTf/dDI4/3w+Nf+NUzL/ik8x/4pQMf+KTzH/ik8x/4pPMf+KUDH/klY2//mm - b///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/7x8Uv+8fFL//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P/m56c/y6Qxv8ukMb/L5DG/y+Qx/8ukMb/L5DG/y+Qx/8uj8b/L5DH/y+Q - xv8vkMf/L5DH/y+Qx/8vkMb/L5DG/y+Qxv8vkMb/L5DH/y+Qxv8vkMb/L5DH/y+Qxv8vkMf/L5DH/y+Q - x/8vkMf/L5DG/y+Qxv8vkMb/L5DG/y+Qxv9Ik7z//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c//RhF//djY3/3Y2N/92NTf/djY3/3Y2N/92NTf/djY3/3Y2N/93Njf/djY3/3Y2N/91NDj/dzc3/4tQ - Mf+MUzL/i1Ey/4tRMv+LUTL/i1Ey/4tRMv+LUTL/1Ypb//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P/vHxS/7x8Uv//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//mqdf9GlL3/MJLH/y+R - xv8vkcb/MJHH/y+Rxv8vkcb/L5HH/y+Rxv8vkcb/L5HH/y+Rxv8wksf/MJHH/y+Rx/8wksf/MJLH/y+R - x/8vkcb/MJHH/zCSx/8vkcb/MJLH/zCSx/8wksf/L5HG/zCSx/8vkcb/L5HH/zCRx/8wkcf/L5HG/zaS - w//vqXr//6tz//+rc///q3P//6tz//+rc///q3P//6tz/9KEX/92Njb/djY2/3Y2Nv92Njb/djY3/3Y2 - Nv93Nzf/djY3/3Y2N/92NTb/djU2/3Y1N/90Mjj/hkox/5BXMf+MUjD/jVMx/4xTMf+MUjH/jFMx/4xT - Mf+ycEb//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc/+8fFL/vHxS//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P/oqCZ/y+Tx/8vk8j/L5PH/y+Tx/8vk8j/L5PH/y+TyP8vk8j/L5PH/y+T - yP8vk8j/L5PH/y+TyP8vlMj/MZTH/0iXvf9VmLj/Upi6/0aXv/8xk8b/L5PH/y+TyP8vk8f/L5PI/y+T - x/8vk8j/L5PH/y+Tx/8vk8f/MJPI/y+TyP8vk8j/L5PH/+Kof///q3P//6tz//+rc///q3P//6tz//+r - c///q3P/0oRf/3c2N/92Njf/dzY3/3c3N/92Njf/djY2/3c3N/92Njb/dzc3/3Y2Nv93Njf/djY2/3Iw - OP+BRTP/klky/41UMv+NUzH/jVQx/41TMf+NVDH/jlQy/49WM//yoWz//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz/7x8Uv+8fFL//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//2rdP9LmL3/L5XI/zCV - yf8vlcj/L5XI/y+VyP8wlcn/MJbJ/zCWyf8wlcn/L5XI/y+VyP8wlsn/c5yt/8GkjP/wqXn//6tz//+r - c///q3P//6tz//Cpef/DpYz/d52r/zKVyP8wlcn/MJbJ/y+VyP8wlsn/L5XI/y+VyP8vlcj/L5XJ/zCW - yf8vlcj/1qeE//+rc///q3P//6tz//+rc///q3P//6tz//+rc//OgV3/dzY3/3c2N/93Njf/dzY3/3c3 - N/93Njf/dzY3/3Y2Nv93Nzf/djY2/3Y2Nv93Nzf/czI4/3w+NP+SWjL/j1Yx/49WMv+PVjL/j1Yy/49W - Mf+PVjL/j1Yy/8+HV///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P/vHxS/7x8Uv//q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P/mqGd/zCWyf8vlsj/MJbJ/y+WyP8vlsn/MJbJ/zCWyf8vlsj/L5bI/y+W - yP8vlsj/bZ2v//Gqef//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P/9qp3/3Se - rf8vlsj/L5bI/y+Wyf8vlsn/L5bJ/y+Wyf8vlsj/L5bI/zCWyf/Tp4X//6tz//+rc///q3P//6tz//+r - c///q3P//6tz/8p+XP93Nzf/dzc3/3c3N/93Nzf/dzc3/3Y2Nv93Nzf/djY3/3c2N/92Njf/dzY3/3c2 - N/92NDj/eDg3/5BXMv+SWTH/j1Yw/5BXMf+QVzH/kFcx/49XMf+QVzH/sXBF//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc/+8fFL/vHxS//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/+ipfP82mcf/MJjJ/zCY - yf8wmMn/MJjJ/zCYyf8wmMn/MJnJ/zCYyf8wmMr/NJnI/8Cljf//q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/8Cljf8wmMr/L5jJ/zCYyf8wmMn/MJjJ/zCZ - yf8wmcn/MJjJ/9Wnhf//q3P//6tz//+rc///q3P//6tz//+rc///q3P/w3hZ/3c3N/93Nzf/dzc3/3c3 - N/93Nzf/dzc2/3c3Nv93Nzb/dzc3/3c3N/93Nzf/dzc2/3c2N/90Mjf/ilAy/5deMf+RWTH/kVgx/5JZ - Mf+SWTL/kVgx/5FYMf+WXDP/9qRt//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/7x8Uv+8fFL//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P/fqCq/zCZyf8wmcn/MZrK/zCZyf8xmsr/MZrK/zCZyf8xmsr/MJnJ/1Oc - uv/uqnr//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz/96ogf88m8X/MZrK/zCayv8xmsr/MZrK/zGayv8wmsr/3aiB//+rc///q3P//6tz//+r - c///q3P//6tz//+rc/+7cVT/dzc3/3c3N/93Nzf/dzc3/3c3Nv93Nzf/dzc3/3c3N/93Njb/dzc2/3c3 - N/93Nzf/dzc2/3MwOP+FSTL/mWIy/5RbMv+TWjH/k1sy/5RbMv+TWjH/k1ox/5NbMf/WjVr//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P/vHxS/7x8Uv//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/8Knjf8wnMv/MJvK/zCc - y/8wm8r/MJvK/zCcy/8wm8v/MJvK/zCcy/9uoLH//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/9+ogf86nMf/MJvL/zGc - y/8xnMv/MJzL/zObyv/qqXz//6tz//+rc///q3P//6tz//+rc///q3P//6tz/65mT/94ODf/dzc2/3g4 - N/94ODf/dzc2/3c4N/94ODf/eDg3/3c3Nv94ODf/dzc2/3g3N/93Njb/czA3/35BNP+ZYTP/lVwy/5Vc - Mv+VXDP/lVwz/5VcMv+UXDL/lVwz/7d2R///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc/+8fFL/vHxS//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc//5q3X/TJ+//zCdy/8wncv/MJzK/zCdy/8wncv/MJ3L/zCcyv8xncv/gqOp//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz/8qnif8xnMr/MJ3L/zCdy/8wncv/Q57D//qrdf//q3P//6tz//+r - c///q3P//6tz//+rc///q3P/n1lI/3c3N/94ODf/eDg3/3c4N/93ODf/dzc3/3c3Nv93Nzb/eDg3/3g4 - N/93Nzb/eDg3/3g4N/91NDj/ejs2/5dfMf+YYTD/l14w/5deMP+XXjD/ll4w/5dfMf+XXzH/oWY3//2q - cv//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz/7x8Uv+8fFL//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/4Ckqv8xnsv/MZ7L/zGe - y/8xn8z/MZ7M/zKfzP8xnsv/Mp/M/4+kpP//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P/8Kp6/9Kohv/NqIj/5Kl///+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/6em - mf8xnsv/MZ7M/zGezP9dobj//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc/+OSkH/eDg3/3g4 - Nv93ODb/eDg3/3c4Nv94ODf/dzc3/3c3Nv93Nzb/eDg3/3c3Nv93Nzb/dzg3/3c3N/91NDf/klkx/51m - Mf+YYDL/mGAy/5hgMv+YYDL/mGAy/5hgMv+YYDL/5Zhi//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P/vHxS/7x8 - Uv//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc/+wppX/Mp/M/zOgzP8yn8z/M6DM/zKgzP8yn8v/M6DM/zKfzP+VpaH//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc//8q3T/pKaa/1uiu/8zn8z/Mp/M/zOgzP8yoMz/SKHD/4Ck - qv/dqYL//6tz//+rc///q3P//6tz//+rc///q3P//6tz/3CjsP8yn8z/MqDM/3ukrf//q3P//6tz//+r - c///q3P//6tz//+rc///q3P/9KJu/309Of94ODb/eDk3/3g4N/94ODb/eDk3/3g5N/94ODf/eDg3/3g4 - Nv94OTf/eDg2/3c4Nv94ODf/eDg3/3IwOP+KUDL/oGow/5piMf+aYjH/mmMy/5piMf+aYjH/mmIx/5pi - Mf/JhFD//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc/+8fFL/vHxS//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P/2KmE/zOizf8yos3/MqLN/zKi - zf8yos3/MqLN/zOizf8yos3/mKag//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P/z6mI/0Gi - xf8yocz/M6HN/zOizf8yos3/M6LN/zOizf8yos3/MqHM/zKhzf+NpqX//6tz//+rc///q3P//6tz//+r - c///q3P/6ap9/zmiyv8zos3/n6ad//+rc///q3P//6tz//+rc///q3P//6tz//+rc//fkGX/eDk3/3g5 - N/93ODb/eDg2/3g4Nv94OTb/eDk2/3g4Nv94OTf/eDg2/3c4Nv94OTb/eDg2/3g5Nv93ODb/cjA4/4JG - Mv+hai//nGUx/5xlMv+cZDL/m2Qx/5tkMf+bZDH/nGQx/69yP///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/7x8 - Uv+8fFL//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz/++qev9HpcX/M6PN/zOjzf80o83/NKPN/zOjzf8zo83/M6PN/7Golv//q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz/7mokv80o83/M6PN/zOjzf80o83/M6PN/zOjzf80o83/NKTN/zOj - zf80o83/NKTN/zSjzf9qpbX//6tz//+rc///q3P//6tz//+rc///q3P/laei/zSkzf/PqYj//6tz//+r - c///q3P//6tz//+rc///q3P//6tz/8Z7Wf94OTb/eDk2/3k5Nv95OTb/eTo2/3g5Nv94OTb/eDk2/3g5 - N/94ODb/dzg2/3g5Nv94OTf/eDg2/3g5N/91NDf/ez01/51mMf+faDH/nWYx/51mMf+dZjH/nGUx/5xm - Mf+dZjH/nGYx//Kiav//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P/vHxS/7x8Uv//q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc//5q3b/VaW//zSkzv8zpc7/NKXO/zOl - zv80pc7/M6TN/2Gmuv/pqn3//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc//RqYj/NKXO/zSl - zv8zpc7/NKXO/zSlzv8zpM7/M6XO/zOlzv80pc7/NKXO/zOlzv8zpc7/M6XO/zOkzv97pq3//6tz//+r - c///q3P//6tz//+rc//mqn7/bqe0/+6rev//q3P//6tz//+rc///q3P//6tz//+rc///q3P/rmdO/3k6 - N/94OTb/eDk2/3k6N/95OTb/eTk2/3k6N/95Ojf/eTk2/3k6N/95Ojf/eTk2/3g5Nv95OTb/eDg2/3c3 - Nv92Njf/mGEz/6RuMP+faTH/n2kx/55oMP+faTH/n2kx/59oMP+eaDD/3pRc//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c/+8fFL/vHxS//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P/7at7/0+nwv81ps7/NKbO/zWmzv81ps7/NabO/2yntf/Sqof//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz/2Gnuv81ps7/NabO/zWmzv81ps7/NabO/zSmzf80ps7/NKbO/zWm - zv81ps7/NafO/zSmzv80ps7/NabO/zWmzv/AqZD//6tz//+rc///q3P//6tz//2rdP/tq3v//at0//+r - c///q3P//6tz//+rc///q3P//6tz//+rc/+WU0P/eTo2/3k6Nv95Ojb/eTo2/3k6Nv95Ojb/eTo2/3k6 - Nv95Ojb/eTo2/3k6N/95Ojf/eTo3/3k5Nv95OTb/eTo3/3MwOP+QVzL/qnMv/6FqMf+gajD/oGow/6Fq - MP+hajD/oWow/6BqMP/Fg0r//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/7x8Uv+8fFL//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/9Kqh/9Bp8n/NKfP/z+oy/9aqb7/gams/66p - mP/oq33//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc/+/qpD/NajP/zWo - z/80p87/NajP/zWoz/81qM//NajP/zSnzv81qM//NajP/zWoz/81qM//NKfP/zWoz/81qM//NKfP/2Gp - u///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P/7Zxr/3k6 - Nv96Ozb/eTs2/3o7Nv95Ozb/eTo1/3k7Nv95OjX/eTs2/3k6Nv95Ozb/eTo2/3k6Nv95Ozf/eTo2/3k6 - Nv95Ojb/czA4/4ZKMf+qdC7/o20w/6NtMP+jbDD/o2wv/6NsMP+ibC//omwv/7B1Of//q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P/vHxS/7x8Uv//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P/z6qJ/7+qkP/oq33/+Kt2//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz/3+qrf82qc//NqnP/zapz/82qc//NajO/zapz/81qc//NqnP/zap - z/82qc//NqnP/zapz/82qc//NqnP/zapz/82qc//NqnP/9+rgv//q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc//Ge1n/ejw2/3o7Nv96Ozb/ejw2/3o8Nv96PDb/ejs2/3o7 - Nv96PDb/eTo2/3k7Nv96Ozb/ejs2/3k6Nv95Ojb/eTs2/3k7Nv92NTf/fD42/6RuMP+ocS3/pW4v/6Vu - MP+kbi//pW4w/6RuL/+lbjD/pG4v/+2fZv//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc/+8fFL/vHxS//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P/Xqu9/zWr - 0P82q9D/NavP/zWr0P82q9D/NavQ/zWr0P81q9D/NavP/zWr0P82q9D/NqvQ/zar0P82q9D/NqvQ/zar - 0P81q8//vauS//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/5hV - Q/97PDb/ezw2/3o8Nv96PDb/ejw1/3o8Nv96PDX/ejw1/3o8Nf96PDb/ejs2/3k7Nf96PDb/ejw2/3k7 - Nf96PDb/eTs2/3k6Nv90Mzf/mmIy/696Lv+ncS//p3Ev/6dxL/+mcC//p3Ev/6dwL/+ncC//2pNX//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz/7x8Uv+8fFL//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc/9UrMP/N63Q/zas0P83rND/NqzQ/zas0P83rdD/NqzQ/zet - 0P83rdD/N63Q/zet0P83rdD/NqzQ/zet0P83rND/N63Q/zet0P+oq5v//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc//llWf/ejw1/3s9Nv97PTX/ez01/3s9Nv97PTb/ezw2/3s8 - Nv97PDb/ejw2/3o8Nv96PDb/ejw2/3o8Nv96PDb/ejw2/3s9Nv96PDb/ezw2/3IwOP+OVTH/sn0u/6lz - L/+oci//qXIv/6lyL/+pci//qHIv/6hyL//Hhkf//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P/vHxS/7x8Uv//q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/1mt - wf82rdD/Nq3R/zat0f82rdH/N67R/zat0f83rdH/N67R/zat0f82rdH/Nq3R/zat0f82rdH/Nq3R/zeu - 0f83rtH/N67R/6ysmv//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/7Bq - Tv97PjX/ez42/3s+Nv97Pjb/ez41/3s+Nf97PTX/ez42/3s9Nf97PTb/ez02/3s9Nv97PTb/ez01/3o8 - Nf96PDX/ezw2/3s8Nv96PDX/dDQ3/4NHM/+wei3/rHYu/6p0Lv+qdC7/q3Uu/6p0Lv+qdC7/q3Uu/7R6 - Nf/9qnL//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc/+8fFL/vHxS//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P/ca+2/ziw0f83r9H/N6/R/zev0f83r9H/N6/R/zev - 0f84sNH/OLDR/zev0f83r9H/N6/R/ziw0f84sNH/OLDS/zev0f83r9H/yKyN//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc//qmmn/fD81/3s+Nf97PjX/fD42/3s+Nf98PjX/ez41/3w+ - Nv97PjX/ez01/3s9Nf97Pjb/ez01/3s9Nf97PTX/ez01/3s+Nf97PTX/ejw1/3o8Nf96Ozb/eDg3/6Ru - MP+0fzH/rHcv/613L/+sdy//rXcv/6x3L/+tdy//rHcv/+qeYv//q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/7x8Uv+8fFL//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c/+nrp3/OLHS/zmx0/84sdL/OLHS/zmx0/85sdP/OLHS/zix0v85sdP/OLHS/zix0v84sdL/OLHS/zix - 0v84sdL/ObLT/z6xz//srHz//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/69p - Tf98QDb/fD82/3w/Nf98Pzb/fD82/3w/Nv98PzX/ez41/3s+Nf97PjX/ez41/3w+Nv97PjX/fD42/3s+ - Nf97PjX/ez41/3w+Nv97Pjb/ez42/3w+Nf9zMTj/lFsz/7qFLv+veTD/r3ov/696L/+veS//sHow/696 - L/+vei//1ZFP//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P/vHxS/7x8Uv//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//Crev9Es83/ObPT/ziy0v84s9P/OLLS/ziz - 0/85s9P/OLLS/ziz0/84stL/OLPT/zmz0/84stL/ObPT/ziz0/84s9P/frCw//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc//ekGP/fD81/3w/NP98PzX/fD81/31ANv99QDb/fT82/3w/ - Nf99Pzb/fD81/3w/Nf98QDb/fD82/3w+Nf97PjX/fD81/3w+Nf98PzX/fD81/3w+Nf98PjX/ez41/3U1 - N/+FSTT/toEu/7J9L/+xfC//sXwv/7F8L/+xfC//sXwv/7F8L//Chj7//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc/+8fFL/vHxS//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz/6evnv85tNT/OLPT/zm00/85tNT/ObTU/zm01P85tNT/ObTT/zm01P85tNT/ObTT/zm0 - 1P85tNP/ObTU/zu00//jrIH//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/5ZV - Qv99QTb/fUA1/31BNv99QDX/fUA1/31ANf99QDb/fUA1/31ANf99QDX/fUA1/31ANf98PzX/fD81/30/ - Nf98PzX/fD81/31ANv99PzX/fEA2/3w/Nf98Pzb/ej02/3c4N/+pcy//vYgu/7N+MP+zfi//s34v/7N+ - L/+zfi//s34v/7N+L//1pWr//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz/7x8Uv+8fFL//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/3uytP85ttX/ObfV/zi2 - 1P84ttT/ObbV/zm21f85t9X/OLbU/zm21f85ttX/ObfV/zi21P85t9X/sa+Z//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc/+3cFD/fUI1/31BNf99QTX/fUE1/35CNf99QTX/fUE1/35B - Nf9+QTb/fUA1/31ANf99QTb/fUE1/31ANf99QDX/fD81/31ANv99QDb/fUA1/31ANf99QDX/fUA1/30/ - Nf98QDX/czI4/5NbNP/CjS3/tYAv/7WBL/+1gC//tYEv/7WAL/+1gC//tYEv/9+ZVv//q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P/vHxS/7x8 - Uv//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz/360s/86uNX/OrjV/zq41f85t9X/OrfV/zq31f86t9X/OrfV/zm3 - 1f86uNX/OrjV/7Cwmv//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P/1Ylf/35C - Nf9+QjX/fkI1/35CNv9+QTX/fkI1/31CNf9+QjX/fkI1/31BNf9+QjX/fUE1/31BNf9+QjX/fUE1/35C - Nf99QTX/fUE2/31ANf99QTX/fUE1/31ANf99QTb/fUA1/31ANf95Ojf/fkE1/7eDMP+9iCz/t4Mv/7eD - L/+3gi7/uIMv/7eDL/+3gy//x4w+//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc/+8fFL/vHxS//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/7uw - lP9JuM7/OrnV/zq51f85uNX/OrnW/zm51f85udX/ObjV/2G2wf/erYT//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz/+eYaP9/QzX/f0M1/39DNf9/QzX/f0M1/39DNf9/QzX/fkI1/35C - Nf9/QzX/f0M1/39DNf9/QzX/fkE1/35CNv9+QjX/fkI1/35CNv9+QjX/fkI1/31BNf99QTX/fUE1/31B - Nf9+QjX/fkI1/35CNf9zMjf/oWsx/8mVLP+4hC3/uoUt/7qGLv+6hS3/uoYu/7qGLv+6hi7/8aRl//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/7x8 - Uv+8fFL//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc//Nr4z/kbOr/3S2uf9rtr7/eba3/52z - pP/frYP//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc//xn2z/iEw5/4BF - Nf+ARTX/gEU1/39ENf+ARDb/gEQ2/39ENf9/RDX/gEQ1/39ENf9/Qzb/f0M1/39ENf9/RDX/f0M0/39D - Nf9+QjX/fkI1/39DNf9/QzX/f0M1/35CNf9+QTX/fkE1/35CNv9+Qjb/fkI1/3c4N/+ESjT/wY0u/8GN - L/+9iS//vYgv/72IL/+9iC//vYkv/72JMP/VlUj//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P/vHxS/7x8Uv//q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P/8qFt/41PO/+BRjb/gEU1/4FFNv+BRjb/gEU1/4BFNv+ARTX/gEQ1/4BE - Nf+ARDX/gEQ1/4BENf+ARTX/f0Q1/39ENf9/RDX/f0M1/39DNf9/RDX/f0M1/39DNf9/QzX/f0M0/39D - Nf9/RDX/fkI1/39DNf9+QjX/f0M1/3MyN/+ncTH/0Jsq/76JLv+/ii7/v4sv/8CLL//Aiy//v4ou/7+L - L//vo2L//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c/+8fFL/vHxS//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/+6dav+MTzv/gkc2/4FH - Nv+BRzb/gUY2/4FGNv+BRjX/gUY1/4FFNf+BRTX/gEU1/4BFNf+BRTb/gUU2/4FFNf+BRjb/gUY2/4BE - Nf9/RDX/gEU2/4BENf+ARDX/gEU1/4BENf+ARDX/gEQ1/39DNf+ARDX/f0Q1/39ENf9/RDX/eDk3/4VL - Nf/Hkyv/x5Is/8GMLv/CjS7/wo0u/8KNLv/CjS7/wo0u/8+UPP//q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/7x8Uv+8fFL//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc//jlGX/hks4/4JINv+CSDb/g0g3/4JHN/+CSDf/gkc1/4JHNv+CSDb/gkc2/4FG - Nv+BRjb/gkc2/4JHNf+BRjT/gUY1/4FGNv+BRTX/gUU1/4FGNf+BRjX/gEU1/4FFNv+BRTb/gUU2/4FF - Nv+BRTX/gEU1/4FGNf+ARDX/gEU2/4BFNf+ARTX/czI3/6JtMv/Yoyn/xZAx/8WRL//FkS//xZEv/8WR - L//FkC//xZAu/+KeUf//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P/vHxS/7x8Uv//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P/y4Ja/4NJNf+DSTb/hEo2/4NJ - Nv+DSDb/g0k2/4NJNv+DSTb/g0g2/4JINv+CSDb/gkg2/4JINv+CSDb/gkg3/4JHNv+BRzX/gkc2/4JH - Nv+CRzX/gkc2/4FGNf+BRjX/gUY2/4FGNf+BRjX/gUY1/4FFNf+BRjX/gUY1/4FGNv+ARTX/gUU1/4FG - Nf98Pzf/fD82/8OOL//Unyr/xpIt/8iULv/Hky3/x5Mt/8iTLv/Iky7/yJMu//OmY///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc/+8fFL/vHxS//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz/6xpSv+ESjb/hEs2/4RKNv+ESjf/hEo2/4RKN/+ESjb/g0o2/4NJNv+DSTX/g0k1/4NJ - Nv+DSTX/g0k1/4NINv+DSDb/g0g2/4RJNv+DSDb/g0g3/4NIN/+CSDb/gkg2/4JHNv+CSDb/gkc1/4JH - Nv+CRzb/gkg2/4JHNf+CRzX/gUY2/4JHNv+BRjX/gkc1/4NINP91NTf/jVU1/9mkKv/Qmyv/y5Yt/8uW - LP/Lliz/y5Ys/8uWLP/Lli3/z5c0//yqb///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz/7x8Uv+8fFL//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/+GUZP+NUTv/hUw3/4VLN/+FSzf/hUs2/4VM - N/+FSzj/hEs3/4RKNv+ESzf/hEs3/4RLNv+ESjf/g0o2/4RKNv+ESjf/hEo3/4RKNv+DSTf/hEo3/4RJ - Nv+DSTX/hEk2/4RJNv+DSTb/g0g2/4NJNv+DSDb/g0g2/4JINv+DSDf/gkg2/4JINv+CSDb/g0g3/4JI - N/+BRzX/gkc1/4FHNf91NTj/pnAy/+KsJv/Omi3/zpkv/86ZLf/Omi7/zpkt/86ZLf/NmC7/2Z0+//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P/vHxS/7x8Uv//q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//uo - cf+zcE7/hk03/4VMN/+GTTj/hk03/4VMN/+FTDj/hkw3/4ZMN/+FTDj/hUw3/4VMN/+FSzf/hUs3/4VM - N/+FSzf/hUs3/4VLN/+ESjf/hEo2/4RLN/+ESzf/hUs4/4VLNv+ESjf/hEo3/4RKN/+ESjf/hEo3/4RK - N/+DSTf/hEk2/4NJNf+ESTb/g0k1/4NJNv+DSTb/g0g2/4NINf+DSTb/g0k1/31CNv93ODf/uoYx/+av - Iv/Qmy3/0Jst/9GcLf/RnC3/0Jss/9GcLf/RnC3/4qJH//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc/+8fFL/vHxS//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc//Qh1z/i1E6/4dON/+HTjj/h044/4dOOP+HTjj/hk44/4ZN - OP+GTTj/hk03/4ZNN/+GTjf/hkw3/4ZNOP+GTTj/hUw3/4ZNOP+FTDf/hkw4/4VMN/+GTDf/hkw3/4VL - N/+FSzf/hkw3/4VMN/+FTDf/hEs3/4RLN/+FSzj/hUs4/4RKN/+FSzb/hEo2/4RKNv+ESjb/hEo2/4RK - Nv+ESjb/hEo2/4RKN/+DSTb/hUs2/3s/Nv97Pjf/xpIv/+myIv/Tniz/054s/9SeK//Tniv/054r/9Oe - K//Unyz/5qRJ//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/7x8Uv+8fFL//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc//ckGH/lFk//4hQ - Of+IUDn/h085/4hPOf+ITzn/iFA5/4hPOf+IUDn/h043/4dOOP+HTjf/h044/4dOOP+GTjj/h044/4ZO - OP+GTjj/h044/4ZOOf+GTTf/hk03/4ZNN/+GTTf/hk04/4ZMN/+GTTj/hUw3/4ZNOP+GTDj/hk04/4ZM - OP+FSzb/hkw3/4VMN/+FSzf/hUs3/4VLN/+ESzf/hUw3/4RLN/+ESjf/hEs3/4VLN/+ESjb/hk03/3o9 - N/99QTb/yJQv/+63IP/Yoyr/1qEu/9ehLP/Xoiz/16Es/9eiLP/XoSz/5qVI//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P/vHxS/7x8Uv//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc//WjF//mF1B/4lROf+JUTr/iVE5/4lROf+JUTr/iFE6/4hQOf+IUDj/iFA5/4hQ - OP+IUDn/iFA5/4hQOP+HTzn/iE85/4dPOf+IUDn/h085/4dPOf+HTjj/h084/4dON/+HTjj/h044/4dO - OP+HTjj/h044/4ZOOP+HTjj/hk04/4ZNOP+GTTf/hk03/4VMN/+GTTf/hk04/4ZNN/+GTTj/hUw4/4VM - OP+FTDf/hUw4/4ZMN/+FSzb/hUw3/4VMN/+FSzf/h043/3o+N/97Pzf/voox/++4Jf/hrCj/2KMs/9ql - K//apSv/2qUs/9qlLP/ZpCr/5KZA//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc/+8fFL/vHxS//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//imb//IgVj/llxA/4pTOv+KUjr/ilI6/4lS - Ov+KUzv/ilI6/4lSO/+KUjv/iVI7/4lROv+JUTn/iVE5/4lSOv+IUTn/iVE6/4hROv+IUDn/iFA5/4hQ - OP+IUDj/iFA4/4hQOf+IUDj/h084/4hPOf+HTzj/h084/4hPOf+HTzj/iE86/4dPOf+HTzj/h044/4hP - OP+ITzj/h044/4ZNOP+GTjj/hk44/4dOOP+GTjj/hk04/4ZNN/+GTjf/hUw3/4ZNOP+GTTj/hUw3/4ZN - N/+GTDj/h044/31COP94Ozj/qnUy/+u1Iv/wuSb/3agp/9ynK//eqCr/3agq/92oKv/dqCv/4qc3//yr - bf//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz/7x8Uv+8fFL//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/+GV - Zf+1c0//i1Q7/4tUOv+MVTv/i1Q7/4tUO/+LVDv/i1Q7/4pUO/+LVDv/ilM6/4pTOv+KUzz/i1M6/4pT - Ov+KUzr/iVI6/4pTO/+JUjv/ilI7/4lSOv+KUjv/iVI6/4lROf+JUTn/iVE5/4lROv+JUTn/iFA5/4hQ - Of+IUDj/iVE5/4hROP+ITzj/iFA5/4hPOP+HTzj/04le//CgbP+YXED/iE85/4hQOf+HTzn/h045/4dO - Of+HTjf/iE84/4dON/+HTjj/h045/4ZOOP+HTjj/h045/4ZNOP+GTTj/h085/4NJOf90NTn/kVs5/8+b - Lv/vuSz/77kl/+OtKP/fqir/4Kso/+CrKP/gqyj/4Kos//erX///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P/vHxS/7x8 - Uv//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P/6Jpo/8F+Vf+WXkH/jVc8/41WO/+MVTv/jFU7/4xWO/+MVTv/jFU7/4xV - PP+LVTv/jFU8/4tVO/+MVTz/i1Q7/4tUPP+MVTv/i1U7/4pUO/+KUzv/ilQ7/4tUO/+KUzv/ilM6/4pT - Ov+KUzr/ilM6/4pSOv+JUjr/ilI6/4lSOv+KUjv/iVI6/4lSO/+KUjv/ilI7/4lROf+JUTn/qGlI//Oi - bf//q3P//6tz//+rc/+/elT/iFA4/4hQOP+IUDn/iFA5/4hQOf+IUDn/iE85/4hPOf+ITzn/iFA5/4hQ - Of+HTjn/h044/4dON/+HTjj/iE83/4hPOP95PTj/ej04/6ZxNf/Xoiv/8Lot/++6L//stST/5a8n/+Ot - Kf/krij/460p/++sSf//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc/+8fFL/vHxS//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//mmcP/bkWL/uXdR/5ZeQf+OVzz/jlg9/41X - PP+OWD3/jlg9/45XPP+NVzz/jVc8/41XPP+NVzz/jVY8/4xWPP+NVjz/jVY7/4xVO/+NVjz/jFY7/4xW - PP+MVTv/jFU8/4tVO/+MVTz/jFU8/4tVPP+LVDv/jFU7/4tVO/+LVTv/i1Q6/4tUO/+KVDv/ilQ7/4tU - O/+KUzr/ilM6/4pTOv+KUzr/oGNF/+eZZ///q3P//6tz//+rc///q3P//6tz//+rc//1o27/r29M/4lS - Ov+JUTr/iFE5/4hROf+JUjr/iFA6/4hQOP+IUDj/iE84/4hQOf+IUDn/iFA4/4hQOf+HTzn/h084/4lR - Ov+ESzj/eDo5/39EN/+fajX/yZUx/+q0JP/vujD/77o0//C6MP/vuSX/7LUn/+qxLv/6rWH//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/7x8 - Uv+8fFL//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc//xoWz/xIFX/6dr - Sf+XX0L/kFo9/5BaPf+QWz3/j1k9/5BaPf+PWT3/j1k9/49ZPf+PWT7/jlk9/45YPP+OWD3/j1k9/49Z - Pf+OWD3/jlg9/45YPf+OWD3/jlc9/41XPP+OVzz/jlc8/41XPP+NVzz/jVc8/41XPf+NVz3/jFU7/4xV - O/+MVjz/jFY8/4xWPP+LVTv/i1U7/4tVO/+MVTz/jFU8/4xVPP+LVDv/q2xK/+eZZ///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P/8qFt/7x5U/+MVDz/iVI6/4lSO/+KUjv/iVI7/4lS - O/+JUTr/iVE6/4lROf+IUTn/iFE5/4lROv+IUTr/iFA5/4hROP+JUTj/hUw5/3k8Of96Pzj/jlc5/6Rv - Nf+/izT/16Iu/+mzJf/wui3/77oy//C7Nf/0t0b//K5o//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P/vHxS/7x8Uv//q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//Oibf/Hg1j/pmtI/5FcPv+RXD7/kVw+/5FbPf+RXD7/kFo9/5Ba - Pf+QWz3/kVs+/5BaPv+QWj7/kFo+/5BaPf+PWjz/j1k9/49ZPf+PWT3/j1k9/49ZPv+OWT3/jlg8/45Y - PP+OWD3/j1k9/49ZPf+OWD3/jlg9/41XPP+OVzz/jVc8/45XPP+NVzz/jVc8/41XPP+NVjz/jVY8/4xW - PP+cYUP/xoBX//CgbP//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//qocf/WjF//r3BN/41WPP+KUzr/ilM6/4pTOv+KUzv/ilM7/4pTO/+JUjr/iVI6/4lS - O/+JUjr/iVI7/4lROf+JUTn/iVE5/4hQOf+BSDj/ej05/3k9Of+CSDj/j1g6/51oNv+nczX/r3s2/7SB - Nf+9iTX/6Z9h//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c/+8fFL/vHxS//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz/+udaf/OiFv/unlR/6ZrSP+TXT7/kVw+/5JdPv+RXD7/klw+/5FcPv+RXD7/kFs9/5Fc - Pv+QWz3/kFs+/5BbPv+QWj3/kFo+/5BaPv+QWj7/kFo+/5BaPv+PWj3/j1o9/5BaPv+PWT7/j1k9/49Z - Pf+OWT3/jlg8/45YPP+OWDz/kFo9/6lsSf/Df1b/55po//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P/+qhx/9qP - Yf++elP/qWtK/5RaP/+MVTv/i1Q7/4pUO/+LVDz/ilM6/4pTOv+KUzr/ilM6/4pTOv+KUjr/ilI6/4lS - Ov+JUjr/iVE6/4dPOf+FSzv/llZF/6hkTf++dlf/3pBl//Wjb//7qHH//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/7x8Uv+8fFL//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//el - b//ilmX/zohb/7t7Uv+qbkv/nGRE/5NdPv+SXT3/klw+/5JdPv+RXD7/kVw+/5FcPv+RXD3/kVw+/5Bb - Pf+RXD7/kVs9/5FcPv+RXD7/kFo9/5FbPv+QWz7/klw//59lRf+xck7/xoJY/9+UZP/5pnD//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//qpy/+ydav/bkGL/zYZb/8F9 - Vf+4dVH/snJO/65uTP+tbUv/rm5M/7FxTv+3dVH/wXxV/8yEWv/YjmD/6Jlo//mncP//q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P/vHxS/7x8Uv//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc//+qnP/9aRu/+yd - av/lmGb/3JJi/9SMXv/Nh1v/yIRY/8SBV//CgFb/wn9V/8OAVf/Gglf/y4Za/9GKXf/akGH/45dl/+yd - av/3pW///6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc/+8fFL/vHxS//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc//xoWz/4ZVk/96TY//nmWf/+adw//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz/7x8Uv+8fFL//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//Oj - bf/EgVf/oGdG/5JdP/+RXD3/kVw+/5FcPv+SXD7/rnBL/9iPYP//q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P/vHxS/7x8Uv//q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc//KhVr/k14//5NeP/+SXT7/k14//5JdP/+SXT3/k14+/5Jd - Pv+SXT7/kVw+/5xkQ//nmmf//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc/+8fFL/vHxS//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P/sXNM/5Nf - Pv+TXz//k18+/5NfP/+UXz//lF8//5NfP/+TXj7/k18+/5NePv+SXT7/k14//5NeP//PiVz//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/7x8Uv+8fFL//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz/7R3T/+VYkD/lWFA/5VhQP+VYT//lGA//5VhP/+VYED/lWFA/5Vh - QP+TXz//lF8+/5RfP/+UYD//lF8//5RfP//OiFv//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P/vHxS/7x8Uv//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc//Ri1z/lmNA/5dj - QP+XY0D/lmJA/5ZjQf+WYj//lWI//5ZiP/+VYkD/lWJA/5VhP/+VYT//lGFA/5RgPv+VYT//lWBA/5Rg - P//kmGb//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc/+8fFL/vHxS//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P/9qVv/51oQf+YZUD/l2Q//5hlQP+XZED/mGQ//5hkP/+XYz//l2RA/5dk - QP+WY0D/lmI//5djQP+WY0H/lmJA/5ZjQf+WY0H/lWE//6txSf//q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz/7x8Uv+8fFL//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc//Ujl3/mmdA/5pn - QP+ZZj//mWZA/5lmQP+ZZkD/mGVA/5lmQf+YZT//mGVA/5hlP/+YZUD/l2RA/5dkQP+XZED/l2Q//5dk - P/+XZED/l2M//9+VY///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P/vHxS/7x8 - Uv//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz/7h8T/+baUD/nGlA/5toQP+aaD//mmg//5poQP+aaED/mmhA/5to - QP+ZZ0D/mWc//5pnQP+ZZkD/mWZA/5pnQP+ZZkH/mGVA/5hmQP+YZUD/unxQ//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc/+8fFL/vHxS//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc//9qnL/pnFE/5xq - QP+cakD/nGpA/5xqQf+baT//nGk//5tpQP+baUD/m2lA/5xpQP+baD//m2g//5toP/+aaD//mmdA/5po - QP+aaED/mWZA/5lnQP+kbkT//apy//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/7x8 - Uv+8fFL//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//Wlbv+gbUL/nmxB/55sQP+dbED/nWtA/55sQf+daz//nWtA/51r - QP+ca0D/nGpA/5xqQP+cakD/nGpB/5xqQf+cakD/nGlA/5xpQP+caUH/nGlA/5toQP/zo23//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P/vHxS/7x8Uv//q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P/9KRt/59u - Qv+fbkH/n25B/59tQf+ebUH/nm1A/55tQf+fbUL/nm1B/55tQP+ebED/nmxA/51sQP+ebEH/nWtA/51r - P/+dbED/nWtA/5xrQP+cakD/nGpB/++ha///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c/+8fFL/vHxS//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc//8qXH/qXZH/6BwQv+gcEL/oG9D/6BvQf+gb0H/oG5B/6Bv - Qf+gbkL/oG5C/59uQf+fbkH/n25B/55tQf+fbUH/nmxB/55tQf+ebEH/nm1A/59tQP+ebEH/8qNs//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/7x8Uv+8fFL5/apy//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c/+5gE//onJD/6JyQ/+ickP/onFD/6FxQf+icUL/oXBC/6FxQv+hcUL/oXBC/6FwQ/+gb0L/oXBC/6Bv - Qf+gbkH/oG5B/6BvQv+fbkL/n25C/6ZzRf/7qXH//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c//9qnL/vHxS+bx8Uuz6p3D//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz/9KQXf+jc0T/pHRE/6NzRP+jc0T/o3NE/6Nz - RP+jc0X/o3ND/6NzQ/+ickP/o3JD/6NyQ/+icUP/oXFD/6FxQv+hcEL/oXBC/6FwQv+hcEL/vIFR//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//qncf+8fFLsvHxS0/Ojbf//q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P/8KJs/6Z2Rv+ldUb/pXZG/6V1Rf+ldUX/pHVF/6R0Rf+kdEX/pHRF/6R0Rf+kdET/o3NE/6Nz - RP+jc0T/pHRE/6NyRP+jc0T/onJD/6JyQ//clmH//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P/86Nt/7x8UtO8fFKs6Jto//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P/zI1Z/6d4R/+md0f/p3hH/6Z3 - R/+md0b/pndG/6V2Rv+mdkb/pnZG/6V1Rv+ldkb/pXVG/6V1Rf+ldUX/pHRG/6R0Rv+kdEX/sXxL//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc//om2j/vHxSrLx8UnnZkWD//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc//8qXH/soBN/6l6Sf+oekj/qHlH/6h5SP+oeUj/p3hH/6h5SP+neEb/p3hG/6Z3 - Rv+md0f/pndH/6V2R/+md0b/pndG/6V2Rv/immX//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz/9mRYP+8fFJ4vHxSN8eEWP//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc//ypGz/rX5K/6p7 - SP+qe0j/qXtH/6l7SP+pe0j/qXtI/6h6SP+pekn/qXpH/6h5R/+oeUf/qHlI/6h5SP+neEf/05Fc//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P/yIRY/7x8Uje8fFICvHxS4/Oj - bf//q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc//0pW3/toNN/6x+Sv+rfUn/qnxI/6p8SP+qfEj/qntI/6p8 - Sf+qfEn/qntI/6p7SP+pe0f/qntI/9iVX///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//Sjbf+8fFLjvHxSAgAAAAC8fFKH2ZFg//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c//+qnP/0pNd/66AS/+tf0r/rX9K/6x/Sv+sfkr/rH5J/6x+Sf+sfkn/q31J/7qGUP/toWr//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P/2pFh/7x8UocAAAAAAAAAALx8 - Uh6/flT6+qdw//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P/+qlx/9yZYv/FjVb/uIZQ/7KD - TP+0hE3/vIhR/8yQWv/roWn//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//qncP+/flT6vHxSHgAAAAAAAAAAAAAAALx8UpfYkGD//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P/2ZBg/7x8UpgAAAAAAAAAAAAA - AAAAAAAAvHxSE719Uuvyomz//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//KibP+9fVLtvHxSFQAAAAAAAAAAAAAAAAAAAAAAAAAAvHxSV8WDV//7qHH//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc//7qHH/xYNX/7x8UlkAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAvHxSmNCKXP/9qnL//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//apy/9CKXP+8fFKYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8fFIEvHxSsdOM - Xf/+qnL//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//6qcv/TjF3/vHxSsbx8UgQAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8fFIKvHxSs8+JW//7qHH//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c//7qHH/z4lb/7x8UrO8fFIKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAC8fFIEvHxSl8aDV//xoWz//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P/8aFs/8aDV/+8fFKXvHxSBAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvHxSVr19UuvZkGD/+qdw//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P/+qdx/9mQ - YP+9fVLrvHxSVwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAvHxSE7x8UpW/flP52pFh//Ojbf//q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P/86Nt/9qRYf+/flP5vHxSlbx8UhMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALx8 - Uhy8fFKHvHxS4siEWP/ZkGD/6Jto//Oibf/6qHH//apy//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+rc///q3P//6tz//+r - c///q3P//6tz//+rc///q3P//6tz//+rc//9qnL/+qhx//Oibf/om2j/2ZBg/8iEWP+8fFLivHxSh7x8 - UhwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8fFICvHxSN7x8Uni8fFKsvHxS0rx8 - Uu28fFL4vHxS/7x8Uv+8fFL/vHxS/7x8Uv+8fFL/vHxS/7x8Uv+8fFL/vHxS/7x8Uv+8fFL/vHxS/7x8 - Uv+8fFL/vHxS/7x8Uv+8fFL/vHxS/7x8Uv+8fFL/vHxS/7x8Uv+8fFL/vHxS/7x8Uv+8fFL/vHxS/7x8 - Uv+8fFL/vHxS/7x8Uv+8fFL/vHxS/7x8Uv+8fFL/vHxS/7x8Uv+8fFL/vHxS/7x8Uv+8fFL/vHxS/7x8 - Uv+8fFL/vHxS/7x8Uv+8fFL/vHxS/7x8Uv+8fFL/vHxS/7x8Uv+8fFL/vHxS/7x8Uv+8fFL/vHxS/7x8 - Uv+8fFL/vHxS/7x8Uv+8fFL/vHxS/7x8Uv+8fFL/vHxS/7x8Uv+8fFL/vHxS/7x8Uv+8fFL/vHxS/7x8 - Uv+8fFL/vHxS/7x8Uv+8fFL/vHxS/7x8Uv+8fFL/vHxS/7x8Uv+8fFL/vHxS/7x8Uv+8fFL/vHxS/7x8 - Uvi8fFLtvHxS0rx8Uqy8fFJ4vHxSN7x8UgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAA//gAAAAAAAAAAAAAAAAf///gAAAAAAAAAAAAAAAAB///gAAAAAAAAAAA - AAAAAAH//wAAAAAAAAAAAAAAAAAA//wAAAAAAAAAAAAAAAAAAD/4AAAAAAAAAAAAAAAAAAAf8AAAAAAA - AAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAAA/gAAAAAAAAAAAAAAAAAAAHwAAAAAAAAAAAAAAAAAAAA8AA - AAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAA - AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAA - AAPgAAAAAAAAAAAAAAAAAAAH8AAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAAAA/4AAAAAAAAAAAA - AAAAAAAf/AAAAAAAAAAAAAAAAAAAP/8AAAAAAAAAAAAAAAAAAP//gAAAAAAAAAAAAAAAAAH//+AAAAAA - AAAAAAAAAAAH///4AAAAAAAAAAAAAAAAH/8= - - - \ No newline at end of file diff --git a/TEMUKJD/KJDForms/ProductForms/FissionUserControl/FissionBrowserObject.cs b/TEMUKJD/KJDForms/ProductForms/FissionUserControl/FissionBrowserObject.cs deleted file mode 100644 index f431643..0000000 --- a/TEMUKJD/KJDForms/ProductForms/FissionUserControl/FissionBrowserObject.cs +++ /dev/null @@ -1,366 +0,0 @@ -using AllBase; -using AllBase.Model.Param.FissionManage; -using TemuKJD.BaseForms; -using TemuKJD.KJDForms.ToolForms; -using NaiBa.Util; -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Windows.Forms; -using Work; - -namespace TemuKJD.KJDForms.ProductForms -{ - class FissionBrowserObject - { - public delegate void InformationReceivedHandler(string information); - public event InformationReceivedHandler InformationReceived; - - /// - /// 编辑图片后更新到服务器 - /// - /// - /// - public string updatePic(string str) - { - string requestData = "data=" + GetHtml.UrlEncodeUtf8(str); - string url = BaseClass.FissionPicUrl; - string result = GetHtml.PostUtf8(url, requestData); - return result.Replace("https:", "http:"); - } - - string addResult = ""; - public string addLocalPic() - { - // 单线程单元(STA)模式运行文件对话框,否则会报错。 - System.Threading.Thread InvokeThread = new System.Threading.Thread(new System.Threading.ThreadStart(addLocalPicInvokeMethod)); - InvokeThread.SetApartmentState(System.Threading.ApartmentState.STA); - InvokeThread.Start(); - InvokeThread.Join(); - - if (addResult.Equals("图片过大")) - { - BaseMsgForm.ShowInfo("本地图片大小不能超过500KB", "提示"); - return ""; - } - return addResult; - } - - public string addLocalPic(bool isMultiselect, int maxSize = 1024) - { - addLocalPicInvokeMethod(isMultiselect, maxSize); - if (addResult.Equals("图片过大")) - { - BaseMsgForm.ShowInfo(("本地图片大小不能超过" + maxSize + "KB").Replace("1024KB", "1MB"), "提示"); - return ""; - } - return addResult; - } - - private void addLocalPicInvokeMethod() - { - addLocalPicInvokeMethod(true); - } - - private string addLocalPicInvokeMethod(bool isMultiselect, int maxSize = 500) - { - OpenFileDialog ofd = new OpenFileDialog(); - ofd.Filter = "图片文件|*.png;*.jpg;*.jpeg;*.gif"; - ofd.ValidateNames = true; - ofd.CheckPathExists = true; - ofd.CheckFileExists = true; - ofd.Multiselect = isMultiselect; - if (ofd.ShowDialog() == DialogResult.OK) - { - var result = ""; - foreach (var fName in ofd.FileNames) - { - FileInfo file = new FileInfo(fName); - var size = file.Length; - - // 图片大小限制500k; - if (size <= 1024 * maxSize) - { - string strFileName = fName; - - var base64 = "data:image/" + System.IO.Path.GetExtension(fName).Replace(".", "").Replace("jpeg", "jpg") + - ";base64," + Convert.ToBase64String(System.IO.File.ReadAllBytes(strFileName)); - - result += updatePic(base64) + "|"; - } - else - { - result += "图片过大|"; - } - } - addResult = result.TrimEnd('|'); - } - return addResult; - } - - /// - /// 前端处理图片如果有跨域问题,将图片地址传到cs代码解决 - /// - /// 跨域的图片地址 - /// 图片的base64数据 - public string getHttpPicBase64(string picUrl) - { - System.Drawing.Image image = System.Drawing.Image.FromStream( - System.Net.WebRequest.Create(picUrl).GetResponse().GetResponseStream()); - - System.IO.MemoryStream ms = new System.IO.MemoryStream(); - image.Save(ms, image.RawFormat); - byte[] byteArray = ms.ToArray(); - var str64 = "data:image/" + System.IO.Path.GetExtension(picUrl).Replace(".", "").Replace("jpeg", "jpg") + - ";base64," + Convert.ToBase64String(byteArray); - - ms.Close(); - image.Dispose(); - return str64; - } - - /// - /// 使用美图秀秀软件修图 - /// - /// 图片网址 - /// 下载图片后是否打开美图 - public string OpenMeitu(string src, bool bOpenMeitu = true) - { - string imgName = System.IO.Path.GetFileNameWithoutExtension(src) + - System.IO.Path.GetExtension(src).Replace(".jpeg", ".jpg"); - string savePath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); - string saveFilePath = System.IO.Path.Combine(savePath, imgName); - - System.Net.WebRequest imgRequst = System.Net.WebRequest.Create(src); - System.Drawing.Image downImage = System.Drawing.Image.FromStream(imgRequst.GetResponse().GetResponseStream()); - downImage.Save(saveFilePath); - downImage.Dispose(); - - if (!bOpenMeitu) return "success"; - if (System.IO.File.Exists(saveFilePath)) - { - if (!System.IO.File.Exists(Fission.GetInstance().MeituPath)) - { - //MessageBox.Show("请指定美图秀秀启动文件。"); - if (MeituMessageDialog.ShowMessageDialog("请指定美图秀秀启动文件。\r\n如未安装美图秀秀,请下载。", "下载美图秀秀,指定启动文件") == "指定启动文件") - { - // 单线程单元(STA)模式运行文件对话框,否则会报错。 - System.Threading.Thread InvokeThread = new System.Threading.Thread(new System.Threading.ThreadStart(SetMeituPath)); - InvokeThread.SetApartmentState(System.Threading.ApartmentState.STA); - InvokeThread.Start(); - InvokeThread.Join(); - } - } - - if (System.IO.File.Exists(Fission.GetInstance().MeituPath)) - { - try - { - int i = 0; - while (i < 2500) - { - System.Diagnostics.Process[] processList = System.Diagnostics.Process.GetProcesses(); - if (processList.Any(p => p.ProcessName.ToLower() == "xiuxiu")) - { - System.Threading.Thread.Sleep(250); - i += 250; - continue; - } - break; - } - System.Diagnostics.Process.Start(Fission.GetInstance().MeituPath, saveFilePath); - return "success"; - } - catch { } - } - } - return "failed"; - } - - private void SetMeituPath() - { - Fission.GetInstance().setMeituPath(); - } - - /// - /// 将美图修好的本地文件回传服务器 - /// - public string PullBackPic(string src) - { - string imgName = Path.GetFileName(src); - string savePath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); - string filePath = Path.Combine(savePath, imgName); - filePath = GetMeituHandledFilePath(filePath); - if (!File.Exists(filePath)) - { - BaseMsgForm.ShowInfo("未找到修图文件,请确认已使用[美图秀秀]\r\n进行修图且保存路径为[覆盖原图]!", "提示"); - return ""; - } - - var fileByte = System.IO.File.ReadAllBytes(filePath); - //using (FileStream fs = new FileStream(filePath,FileMode.Open,FileAccess.Read)) - //{ - // System.Drawing.Image img = Image.FromStream(fs); - // var width = img.Width; - // img.Dispose(); - // if (width < 480) - // { - // BaseMsgForm.ShowError("详情图宽度不得小于480", "错误"); - // return ""; - // } - //} - - if (fileByte.Length > 1024 * 500) - { - BaseMsgForm.ShowError("本地图片大小不能超过500KB", "错误"); - return ""; - } - - var base64 = "data:image/" + System.IO.Path.GetExtension(filePath).Replace(".", "").Replace("jpeg", "jpg") + - ";base64," + Convert.ToBase64String(fileByte); - - var uploadResult = updatePic(base64); - return uploadResult; - } - - void SendCmd(string information) - { - if (InformationReceived != null) - InformationReceived(information); - } - - /// - /// 显示大图 - /// - /// - /// - public string ShowBigImg(string imgSrc) - { - var f = Fission.GetInstance(); - if (f != null && !string.IsNullOrEmpty(imgSrc)) - { - string[] str = imgSrc.Split('|'); - imgSrc = str[0]; - string imgId = ""; - if (str.Length > 1) - imgId = str[1]; - return f.ShowBigImg(imgSrc, imgId); - } - return "error"; - } - - /// - /// 编辑图片后加载 - /// - /// - /// - /// - /// - public string OnloadImg(string id, string src) - { - //src = Fission.RemovePrefix(src); - //if (src.Contains("deifei.com")) - //{ - // var jdImg = Fission.jdTransparentImgList.Find(x => x.id == id); - // if (jdImg != null) - // { - // jdImg.OriginalImgUrl = src; - // return JsonHelper.SerializeObject(new { code = 1, src = "http://" + jdImg.OriginalImgUrl, msg = "原" }); - // } - //} - return JsonHelper.SerializeObject(new { code = 0, src = src, msg = "" }); - } - - /// - /// 获取美图秀秀处理过的图片路径 - /// - /// 初始图片路径 - /// 处理后的图片路径 - private string GetMeituHandledFilePath(string filePath) - { - string filePathWithoutExt = filePath.Substring(0, filePath.LastIndexOf('.')); - //jpg png bmp为美图秀秀指定的三种图片保存格式 - if (File.Exists(filePathWithoutExt + ".jpg")) - { - return filePathWithoutExt + ".jpg"; - } - if (File.Exists(filePathWithoutExt + ".png")) - { - return filePathWithoutExt + ".png"; - } - if (File.Exists(filePathWithoutExt + ".bmp")) - { - return filePathWithoutExt + ".bmp"; - } - return filePath; - } - - /// - /// 裂变页面 js回调添加入库数据 - /// - /// - /// - public string updateFessionDate(string jsonStr) - { - try - { - FissionDataModel fessionDataModel = Newtonsoft.Json.JsonConvert.DeserializeObject(jsonStr); - fessionDataModel.prop_pic?.Clear(); - var props = JsonHelper.DeserializeJsonToObject>(fessionDataModel.props); - foreach (var prop in props) - { - foreach (var value in prop.Values) - { - if (!string.IsNullOrEmpty(value.image)) - { - var strImg = value.image; - if (!strImg.StartsWith("http")) - strImg = "http:" + strImg; - fessionDataModel.prop_pic.Add(strImg); - } - } - } - jsonStr = JsonHelper.SerializeObject(fessionDataModel); - - // 调用php后台 - string requestData = UserLogin.GetSignaturex() + "&act=add&text=" + GetHtml.UrlEncodeUtf8(jsonStr); - string url = BaseClass.BuildFissionObjString("fession_api"); - string result = GetHtml.PostUtf8(url, requestData); - if (!result.Contains("\"code\":0")) - { - } - return result; - } - catch (Exception ex) - { - return "{\"code\":1}"; - } - } - - public string GetFissionPicCountPreLine() - { - var count = ""; // NaiBa.Util.Helper.ConfigHelper.LoadConfig("fission_pic_count_pre_line"); - try { count = NaiBa.Util.Helper.FileHelper.ReadAllText("data\\config\\fission_pic_count_pre_line")?.Trim('\"'); } catch { } - if (string.IsNullOrEmpty(count)) - return "3"; - else - return count; - } - public string SaveFissionPicCountPreLine(string count) - { - try - { - NaiBa.Util.Helper.ConfigHelper.SaveConfig("fission_pic_count_pre_line", count); - return "success"; - } - catch - { - } - - return "failed"; - } - } -} diff --git a/TEMUKJD/KJDForms/ProductForms/FissionUserControl/FissionDataBaseForm.cs b/TEMUKJD/KJDForms/ProductForms/FissionUserControl/FissionDataBaseForm.cs deleted file mode 100644 index 60b2910..0000000 --- a/TEMUKJD/KJDForms/ProductForms/FissionUserControl/FissionDataBaseForm.cs +++ /dev/null @@ -1,1701 +0,0 @@ -using AllBase; -using AllBase.Helper; -using AllBase.Model.Param.FissionManage; -using AllBase.Model.Result; -using TemuKJD.Extension; -using TemuKJD.BaseForms; -using NaiBa.Util.Extension; -using Newtonsoft.Json; -using Newtonsoft.Json.Linq; -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Drawing; -using System.Linq; -using System.Text; -using System.Text.RegularExpressions; -using System.Threading; -using System.Threading.Tasks; -using System.Windows.Forms; -using Work; -using Work.Api; -using Work.BLL.Upload; -using Work.CollectClass; -using Work.DouyinApiClass; - -namespace TemuKJD.KJDForms.ProductForms -{ - public partial class FissionDataBaseForm : BaseForm - { - public int ClickType = 0; // 0删除 1从删除产品中恢复数据 - public bool IsStop = false; - public bool IsUserProxyIp = false; - /// - /// 校验时上家下架则删除 - /// - public bool IsDeleteUpDown = false; - /// - /// 上家sku变化时自动更新(功能隐藏) - /// - public bool IsUpdateUpChange = false; - /// - /// 商品校验结果需要更新或删除 1 校验通过 9 上家已下架 0 上家有变化需要更新 - /// - public int ProductUpdateCheckResult = 1; - /// - /// 是否自动翻页 - /// - public bool IsAutoTurnPage = false; - /// - /// 是否正在翻页 - /// - public bool IsTurnPage = false; - - public List LstFission = new List(); - - CheckBox chkAll = null; - - public static FissionDataBaseForm Instance = null; - - public FissionDataBaseForm() - { - InitializeComponent(); - - Instance = this; - } - - private void FissionDataBaseForm_Load(object sender, EventArgs e) - { - chkAll = this.dgvFissionProduct.AddSelectorColumn("ColSelect"); - this.cmbSource.SelectedIndex = 0; - this.cmbCheckResult.SelectedIndex = 0; - - SetCateGroupOptions(); - SetMainCateOptions(); - SetPageOptions(); - RefreshShop(); - } - - private void btnSearchFission_Click(object sender, EventArgs e) - { - this.txtCurrentPage.Text = "1"; - - SearchFission(); - } - - public void SearchFission() - { - // 选择时间框一个选择了,另一个没选则提示两个都要选(或者都不选) - if ((dtBaginTime.Text.Trim() == "" ^ dtEndTime.Text.Trim() == "")) - { - BaseMsgForm.ShowInfo("请检查开始时间和结束时间是否都选择了!"); - return; - } - // 时间判断结束时间不能比开始时间小 - if (!string.IsNullOrEmpty(dtBaginTime.Text) && !string.IsNullOrEmpty(dtEndTime.Text)) - { - if (DateTime.Compare(DateTime.Parse(dtBaginTime.Text), DateTime.Parse(dtEndTime.Text)) > 0) - { - BaseMsgForm.ShowInfo("结束日期比开始日期大,请检查日期选择!"); - return; - } - } - - IsStop = false; - LstFission.Clear(); - dgvFissionProduct.Rows.Clear(); - string min_price = txtPriceMin.Text; - string max_price = txtPriceMax.Text; - string min_sales = txtSaleAmountMin.Text; - string max_sales = txtSaleAmountMax.Text; - string min_times = txtMinTimes.Text; - string max_times = txtMaxTimes.Text; - string teamGroup = cmbGroup.Text; - string beginTime = string.IsNullOrEmpty(dtBaginTime.Text) ? "" : DateTime.Parse(dtBaginTime.Text).ToString("yyyy-MM-dd"); - string endtime = string.IsNullOrEmpty(dtEndTime.Text) ? "" : DateTime.Parse(dtEndTime.Text).ToString("yyyy-MM-dd"); - if (string.IsNullOrEmpty(teamGroup) || teamGroup == "不限") - teamGroup = ""; - string cat1 = cmbShopCat1.Text; - if (string.IsNullOrEmpty(cat1) || cat1 == "不限") - cat1 = cmbCat1.Text; - if (string.IsNullOrEmpty(cat1) || cat1 == "不限") - cat1 = ""; - ProductUpdateCheckResult = 1; - if (cmbCheckResult.Text == "需更新商品") - ProductUpdateCheckResult = 0; - if (cmbCheckResult.Text == "上家下架") - ProductUpdateCheckResult = 9; - - string UseStatus = ""; - string current_page = this.lblCurrentPage.Text = this.txtCurrentPage.Text; - string pagesize = cboxDisplayCount.Text; - - string url = BaseClass.BuildFissionObjString("fession_api"); - string paraStr = "&min_price=" + min_price - + "&max_price=" + max_price - + "&min_sales=" + min_sales - + "&max_sales=" + max_sales - + "&min_times=" + min_times - + "&max_times=" + max_times - + "&begin_time=" + beginTime - + "&end_time=" + endtime - + "¤t_page=" + current_page - + "&pagesize=" + pagesize - + "&fessiontitle=" + HttpUtility.UrlEncode(txtFisssionTitle.Text, Encoding.UTF8) // 关键字 /其实查的是title - + (!string.IsNullOrEmpty(UseStatus) ? "×=" + UseStatus : "") // 使用次数 - + (cmbSource.Text != "" && cmbSource.Text != "不限" ? "&source=" + cmbSource.Text : "") // 来源 - + (cmbGroup.Text != "" && cmbGroup.Text != "不限" ? "&category=" + HttpUtility.UrlEncode(teamGroup, Encoding.UTF8) : "") // 店铺分组 - + "&main_cate=" + cat1 // 一级类目 - + (cmbShopCat2.Text != "" && cmbShopCat2.Text != "不限" ? "&cat2_name=" + cmbShopCat2.Text : "") // 二级类目 - + (cmbShopCat3.Text != "" && cmbShopCat3.Text != "不限" ? "&cat3_name=" + cmbShopCat3.Text : "") // 三级类目 - + (ProductUpdateCheckResult == 1 ? "" : ("&update_check_passed=" + ProductUpdateCheckResult)); - string requestData = UserLogin.GetSignaturex() + "&act=get" + paraStr; - - try - { - string htmlData = GetHtml.PostUtf8(url, requestData); - var FessionObj = JsonConvert.DeserializeObject(htmlData); // 反序列化 - if (FessionObj != null) - { - LstFission.AddRange(FessionObj.list); - SetFessionData(FessionObj); - } - } - catch (Exception ex) - { - LogSave.Add(Name, "访问服务器返回裂变数据异常"); - } - - IsTurnPage = false; - } - - /// - /// 设置分组信息列表 - /// - private void SetCateGroupOptions() - { - var groupList = new FissionDataBaseBLL().GetCategoryGroup(); - cmbGroup.DataSource = groupList; - } - /// - /// 设置类目信息列表 - /// - private void SetMainCateOptions() - { - var mainCateList = new FissionDataBaseBLL().GetMainCate(); - cmbCat1.DataSource = mainCateList; - } - /// - /// 设置分页选项列表 - /// - private void SetPageOptions() - { - Dictionary kvDictonary = new Dictionary(); - - kvDictonary.Add(1, 30); - kvDictonary.Add(2, 50); - kvDictonary.Add(3, 100); - kvDictonary.Add(4, 500); - BindingSource bs = new BindingSource(); - bs.DataSource = kvDictonary; - this.cboxDisplayCount.DataSource = bs; - this.cboxDisplayCount.ValueMember = "Key"; - this.cboxDisplayCount.DisplayMember = "Value"; - } - - public void RefreshShop() - { - cmbShop.Items.Clear(); - cmbShop.Items.Add("不限"); - foreach (var shop in GlobalConfig.ShopLoginList) - { - cmbShop.Items.Add(shop.ShopAccount); - } - if (cmbShop.Items.Count > 0) - cmbShop.SelectedIndex = 0; - } - - private void cboxShop_SelectedIndexChanged(object sender, EventArgs e) - { - cmbShopCat1.DataSource = null; - cmbShopCat2.DataSource = null; - cmbShopCat3.DataSource = null; - cmbShopCat1.Items.Clear(); // 防止有的店铺没有一级、二级、三级类目,所以,更改店铺前要把一级类目清空 - cmbShopCat2.Items.Clear(); // 防止有的店铺没有一级、二级、三级类目,所以,更改店铺前要把二级类目清空 - cmbShopCat3.Items.Clear(); // 防止有的店铺没有一级、二级、三级类目,所以,更改店铺前要把三级类目清空 - List catList1 = new List(); - catList1.Insert(0, new GoodsCategoryModel() { name = "不限", parent_id = 0, level = 0, enable = true, is_leaf = false, id = -1, main_cat_id = 0 }); - - string shopname = cmbShop.Text; - var shop = GlobalConfig.ShopLoginList.FirstOrDefault(x => x.ShopAccount == shopname); - if (shop != null) - { - catList1.AddRange(GetCategoryList(0, shop)); - } - - cmbShopCat1.DataSource = catList1; - cmbShopCat1.DisplayMember = "name"; - if (cmbShopCat1.Items.Count > 0) - cmbShopCat1.SelectedIndex = 0; - - if (cmbShop.Text != "" && cmbShop.Text != "不限") - { - cmbCat1.SelectedIndex = 0; - cmbCat1.Enabled = false; - } - else - { - cmbCat1.Enabled = true; - } - } - - private void cmbShopCat1_SelectedIndexChanged(object sender, EventArgs e) - { - cmbShopCat2.DataSource = null; - cmbShopCat3.DataSource = null; - cmbShopCat2.Items.Clear(); // 防止有的店铺没有一级、二级、三级类目,所以,更改店铺前要把二级类目清空 - cmbShopCat3.Items.Clear(); // 防止有的店铺没有一级、二级、三级类目,所以,更改店铺前要把一级类目清空 - List catList2 = new List(); - string shopname = cmbShop.Text; - var shop = GlobalConfig.ShopLoginList.FirstOrDefault(x => x.ShopAccount == shopname); - if (shop != null) - { - if (cmbShopCat1.SelectedItem is GoodsCategoryModel) - catList2 = GetCategoryList((cmbShopCat1.SelectedItem as GoodsCategoryModel).id, shop); - } - catList2.Insert(0, new GoodsCategoryModel() { name = "不限", parent_id = 0, level = 0, enable = true, is_leaf = false, id = -1, main_cat_id = 0 }); - cmbShopCat2.DataSource = catList2; - cmbShopCat2.DisplayMember = "name"; - if (cmbShopCat2.Items.Count > 0) - cmbShopCat2.SelectedIndex = 0; - } - - private void cmbShopCat2_SelectedIndexChanged(object sender, EventArgs e) - { - cmbShopCat3.DataSource = null; - cmbShopCat3.Items.Clear(); // 防止有的店铺没有一级、二级、三级类目,所以,更改店铺前要把三级类目清空 - List catList3 = new List(); - string shopname = cmbShop.Text; - var shop = GlobalConfig.ShopLoginList.FirstOrDefault(x => x.ShopAccount == shopname); - if (shop != null) - { - if (cmbShopCat2.SelectedItem is GoodsCategoryModel) - catList3 = GetCategoryList((cmbShopCat2.SelectedItem as GoodsCategoryModel).id, shop); - } - catList3.Insert(0, new GoodsCategoryModel() { name = "不限", parent_id = 0, level = 0, enable = true, is_leaf = false, id = -1, main_cat_id = 0 }); - cmbShopCat3.DataSource = catList3; - cmbShopCat3.DisplayMember = "name"; - if (cmbShopCat3.Items.Count > 0) - cmbShopCat3.SelectedIndex = 0; - } - - private void cmbShopCat3_SelectedIndexChanged(object sender, EventArgs e) - { - } - - public List GetCategoryList(int catId, ShopLoginInfo shop) - { - List cateList = new List(); - if (catId < 0) - return cateList; - DouyinApi api = new DouyinApi(shop); - var result = api.GetShopCategory(catId); - if (result.Contains("已过期")) - { - shop.ApiAuthStatus = "未授权"; - StartUp.SaveLocalShopLoginInfo(); - GoodsCategoryModel cat = new GoodsCategoryModel() - { - enable = true, - id = 0, - is_leaf = false, - level = 0, - name = "店铺未授权", - parent_id = 0 - }; - cateList.Add(cat); - } - else if (result.Contains("\"code\":10000")) - { - var mc = BaseRegex.GetMatchRegex(ref result, "{([\\s\\S]+?)}"); - foreach (Match m in mc) - { - string r = m.Value; - - bool enable = BaseRegex.GetBoolJson(ref r, "enable"); - bool is_leaf = BaseRegex.GetBoolJson(ref r, "is_leaf"); - int level = BaseRegex.GetIntJson(ref r, "level"); - int id = BaseRegex.GetIntJson(ref r, "id"); - int parent_id = BaseRegex.GetIntJson(ref r, "parent_id"); - string name = BaseRegex.GetStringJson(ref r, "name"); - if (!string.IsNullOrEmpty(name)) - { - GoodsCategoryModel cat = new GoodsCategoryModel() - { - enable = enable, - id = id, - is_leaf = is_leaf, - level = level, - name = name, - parent_id = parent_id - }; - cateList.Add(cat); - } - } - } - return cateList; - } - - /// - /// 绑定裂变数据 - /// - public void SetFessionData(FissionRoot fissionRoot) - { - - int loadCount = int.Parse(this.cboxDisplayCount.Text == "" ? "30" : this.cboxDisplayCount.Text); - int totalPage = fissionRoot.count % loadCount == 0 ? fissionRoot.count / loadCount : (fissionRoot.count / loadCount) + 1; - if (int.Parse(this.lblTotalPage.Text) != totalPage) - this.lblTotalPage.Text = totalPage.ToString(); - - List FessionTempList = fissionRoot.list; - while (FessionTempList.Count > 0) - { - var o = FessionTempList[0]; - FessionTempList.RemoveAt(0); - if (o == null) - return; - - string catStr = Fission.GetFullCatString(o.cate_id.ParseToInt()); - if (string.IsNullOrEmpty(catStr)) - catStr = o.full_category_name; - if (string.IsNullOrEmpty(catStr)) - catStr = o.main_cate; - if (catStr == null) - catStr = ""; - - if (IsStop) // 当清空列表数据,停止绑定数据 - return; - - int iGrid = GetGridViewIndex(dgvFissionProduct, "ColId", o.id.ToString()); - if (iGrid < 0) // 如果表内没有已存在的数据,新增一条数据 - { - iGrid = this.dgvFissionProduct.Rows.Add(); - this.dgvFissionProduct.Rows[iGrid].Cells["ColSelect"].Value = false; //选择 - this.dgvFissionProduct.Rows[iGrid].Cells["ColId"].Value = o.id; //ID - } - this.dgvFissionProduct.Rows[iGrid].Cells["ColOriginalTitle"].Value = o.title; // 原始标题 - this.dgvFissionProduct.Rows[iGrid].Cells["OriginalId"].Value = o.fession_id; // 原始ID - this.dgvFissionProduct.Rows[iGrid].Cells["Title"].Value = o.fession_title; // 新标题 - this.dgvFissionProduct.Rows[iGrid].Cells["Price"].Value = o.price; // 价格 - this.dgvFissionProduct.Rows[iGrid].Cells["SaleAmount"].Value = o.sales; // 销量 - this.dgvFissionProduct.Rows[iGrid].Cells["ColCategory"].Value = o.category; // 组别 - this.dgvFissionProduct.Rows[iGrid].Cells["ColFullCategory"].Value = catStr; // 完整类目 - this.dgvFissionProduct.Rows[iGrid].Cells["ColCategory1"].Value = o.main_cate; // 类目1 - this.dgvFissionProduct.Rows[iGrid].Cells["ColCategory2"].Value = o.cat2_name; // 类目2 - this.dgvFissionProduct.Rows[iGrid].Cells["ColCategory3"].Value = o.cat3_name; // 类目3 - this.dgvFissionProduct.Rows[iGrid].Cells["ColTitleNum"].Value = o.TitleNum; // 标题数量 - this.dgvFissionProduct.Rows[iGrid].Cells["ColUseCount"].Value = o.times; // 使用次数 - this.dgvFissionProduct.Rows[iGrid].Cells["ColDel"].Value = ClickType == 0 ? "删除" : "恢复"; // 操作 - this.dgvFissionProduct.Rows[iGrid].Cells["ColReEdit"].Value = "编辑"; // 再次净化编辑数据 - this.dgvFissionProduct.Rows[iGrid].Cells["colMessage"].Value = ""; // 消息 - this.dgvFissionProduct.Rows[iGrid].Cells["ColSource"].Value = o.source; // 来源 - this.dgvFissionProduct.Rows[iGrid].Cells["ColSourceFake"].Value = "货源网"; // 来源Fake - this.dgvFissionProduct.Rows[iGrid].Cells["ColRkTime"].Value = o.addtime; // 入库时间 - this.dgvFissionProduct.Rows[iGrid].Cells["ColUpdateTime"].Value = o.update_time; // 修改时间 - this.dgvFissionProduct.Rows[iGrid].Cells["ColNeedUpdate"].Value = o.update_check_passed == 1 ? "" : (o.update_check_passed == 9 ? "上家下架" : "请更新商品"); // 校验更新 - } - } - - /// - /// 获取 datagridview所在的行下标,找不到则返回-1 - /// - /// - /// - /// - /// - int GetGridViewIndex(UserComponent.DataGridViewEx dgv, string columnName, string columnValue) - { - - for (int i = 0; i < dgv.Rows.Count; i++) - { - - string value = dgv.Rows[i].Cells[columnName].Value.ToString(); - if (value == columnValue) - { - return i; - } - } - return -1; - } - - private void btnGoTo_Click(object sender, EventArgs e) - { - int pageNum = 0; - if (string.IsNullOrEmpty(this.txtCurrentPage.Text)) - { - return; - } - if (int.TryParse(txtCurrentPage.Text, out pageNum)) - { - if (pageNum > 0 && pageNum <= int.Parse(this.lblTotalPage.Text)) - { - this.lblCurrentPage.Text = txtCurrentPage.Text; - SearchFission(); - } - else - { - BaseMsgForm.ShowInfo("输入的数字超出范围!"); - this.txtCurrentPage.Text = string.Empty; - } - } - else - { - BaseMsgForm.ShowInfo("请输入有效数字!"); - this.txtCurrentPage.Text = string.Empty; - } - } - - private void dgvFissionProduct_CellContentClick(object sender, DataGridViewCellEventArgs e) - { - if (e.RowIndex < 0 || e.ColumnIndex < 0) - return; - - var columnName = dgvFissionProduct.Columns[e.ColumnIndex].Name; - var headerText = dgvFissionProduct.Columns[e.ColumnIndex].HeaderText; - if (headerText == "选" || columnName == "ColSelect") - { - dgvFissionProduct.Rows[e.RowIndex].Cells["ColSelect"].Value = !dgvFissionProduct.Rows[e.RowIndex].Cells["ColSelect"].Value.ParseToBool(); - } - else if (headerText == "操作") - { - string OperatingName = dgvFissionProduct.Rows[e.RowIndex].Cells["ColDel"].Value.ToString(); - string Id = dgvFissionProduct.Rows[e.RowIndex].Cells["ColId"].Value.ToString(); - string OrgId = dgvFissionProduct.Rows[e.RowIndex].Cells["OriginalId"].Value.ToString(); // 原商品ID - if (OperatingName == "删除") - { - //if (BaseMsgForm.ShowConfirm("是否确认删除此数据?\r\n注:如果上货列表中有此数据将会一并删除。").DialogResult.Equals(DialogResult.Cancel)) return; - if (BaseMsgForm.ShowConfirm("是否确认删除此数据?").DialogResult.Equals(DialogResult.Cancel)) return; - // 根据上家标题,原始Id删除数据库数据 - Task.Factory.StartNew(() => { new FissionDataBaseBLL().DelFessionData(Id); }); - //// 删除listFissionPcb - //UploadProductForm.lstFissionPcb.RemoveAll(x => x != null && x.from_id == OrgId.ParseToLong()); - //// 删除上货列表备用商品 - //UploadProductBLL.ProductStock.RemoveAll(x => x.FromId == OrgId.ParseToLong()); - //// 删除本地数据库备用商品 - //UploadProductBLL.Delete(OrgId); - //// 刷新上传界面的上传队列数量 - //UploadProductForm.instance?.remain(); - } - else - { - if (BaseMsgForm.ShowConfirm("是否确认恢复此数据?").DialogResult.Equals(DialogResult.Cancel)) return; - // 根据上家标题,原始Id恢复 - Task.Factory.StartNew(() => new FissionDataBaseBLL().RestoreFessionData(Id.ToString())); - } - // 删除行 - dgvFissionProduct.Rows.RemoveAt(e.RowIndex); // 从集合中移除指定的行 - } - else if (headerText == "原始ID") - { - string source = dgvFissionProduct.Rows[e.RowIndex].Cells["ColSource"].Value.ToString(); // 来源 - string OrgId = dgvFissionProduct.Rows[e.RowIndex].Cells["OriginalId"].Value.ToString(); // 原商品ID - string url = GetFromUrl(source, OrgId); - - GetHtml.OpenUrl(url); - } - else if (headerText == "编辑") - { - string Id = dgvFissionProduct.Rows[e.RowIndex].Cells["ColId"].Value.ToString(); - var Fiss = this.LstFission.FirstOrDefault(f => f.id.ToString() == Id); - if (Fiss != null) - { - try - { - var fissionTemp = new FissionDataBaseBLL().GetFessionDetailById(Id.ParseToInt()); - Fiss.fession_title = fissionTemp.fession_title; - Fiss.container_info = fissionTemp?.container_info.Replace("'>", "'>"); - Fiss.main_pic = fissionTemp.main_pic; - Fiss.prop_pic = fissionTemp.prop_pic; - Fiss.props = fissionTemp.props; - Fiss.mainWord = fissionTemp.mainWord; - Fiss.viceword = fissionTemp.viceword; - Fiss.prop = fissionTemp.prop; - Fiss.skus = fissionTemp.skus; - Fiss.from_shop_name = fissionTemp.from_shop_name; - Fiss.qualifications = fissionTemp.qualifications; - } - catch (Exception ex) - { - LogSave.Add("获取裂变明细信息发生异常" + ex.Message); - } - if (string.IsNullOrEmpty(Fiss.fession_title)) - return; - if (Fiss.source == "laiyuan") - { - if (Fiss.main_pic.Contains("pddpic") || Fiss.prop_pic.Contains("pddpic") || Fiss.container_info.Contains("pddpic")) - { - Fiss.source = "拼多多"; - } - } - ProductCollectBase pcb = FissionData2Pcb(Fiss, Fiss.fession_title); - - // 校验总店商品是否发生变化 - string msg = ""; - var pcb_new = CheckProductStatus(pcb, out msg); - if (msg == "商品已下架") - { - BaseMsgForm.ShowInfo("总店商品已下架 !"); - return; - } - if (pcb_new != pcb && BaseMsgForm.ShowConfirm("原商品发生变化,点击 确定 打开变化后的商品,点击 取消 编辑原数据库商品").DialogResult == DialogResult.OK) - { - string createHtmlPath = Fission.creatFissionPage(pcb_new); - Fission fs = new Fission(createHtmlPath, pcb.from_url, null, pcb, Fiss.category, Fiss.full_category_name, Fiss.fession_title); - fs.Show(); - } - else - { - string createHtmlPath = Fission.creatFissionPage(pcb); - Fission fs = new Fission(createHtmlPath, pcb.from_url, new List() { Fiss }, pcb, Fiss.category, Fiss.full_category_name, Fiss.fession_title); - fs.Show(); - } - } - } - } - - private static string GetFromUrl(string source, string OrgId) - { - string url = ""; - if (source == "1688" || source == "阿里巴巴") - { - url = "https://detail.1688.com/offer/" + OrgId + ".html"; - } - else if (source == "拼多多") - { - url = "https://yangkeduo.com/goods2.html?goods_id=" + OrgId; - } - else if (source == "京喜" || source == "京东") - { - url = "https://item.jd.com/" + OrgId + ".html"; - } - else if (source == "抖音") - { - url = "https://haohuo.jinritemai.com/views/product/detail?id=" + OrgId; - } - else - { - url = "https://item.taobao.com/item.htm?id=" + OrgId; - } - return url; - } - - private void btnAddFissToUpload_Click(object sender, EventArgs e) - { - var fissionIdList = this.dgvFissionProduct.Rows.Cast().Where(r => r.Cells["ColSelect"].Value.ParseToBool()) - .Select(r => r.Cells["ColId"].Value.ToString()).ToList(); - if (fissionIdList.Count == 0) - { - BaseMsgForm.ShowInfo("请选择要上传的数据", "提示"); - return; - } - btnAddFissToUpload.Enabled = false; - progressBarX1.Visible = true; - progressBarX1.Maximum = fissionIdList.Count; - progressBarX1.Value = 0; - pbLoading.Visible = true; - Task.Run(() => - { - UploadFessionData(fissionIdList); - }); - } - - /// - /// 添加到上货 isTryUpload 是否试水上货 - /// - /// - public void UploadFessionData(List selectFissionIdList) - { - DateTime startTime = DateTime.Now; - - // 重置操作信息状态 - for (int i = 0; i < selectFissionIdList.Count; i++) - { - foreach (DataGridViewRow row in this.dgvFissionProduct.Rows) - { - if (row.Cells["ColId"].Value.ToString() == selectFissionIdList[i].ToString()) - row.Cells["colMessage"].Value = ""; - } - } - - string fissionDataBaseIds = ""; - List pcbList = new List(); - for (int i = 0; i < selectFissionIdList.Count; i++) - { - var FissId = selectFissionIdList[i].ParseToInt(); - var Fiss = LstFission.Find(f => f != null && f.id == FissId); - if (Fiss != null) - { - fissionDataBaseIds += FissId + ";"; - string dataSource = Fiss.source == null ? "" : Fiss.source; - string OriginalId = Fiss.fession_id; - if (string.IsNullOrEmpty(Fiss.main_pic)) - { - try - { - //var fissionTemp = new FissionDataBaseBLL().GetFessionDetailById(FissId); - //Fiss.fession_title = fissionTemp.fession_title; - //Fiss.container_info = fissionTemp.container_info?.Replace("'>", "'>"); - //Fiss.main_pic = fissionTemp.main_pic; - //Fiss.prop_pic = fissionTemp.prop_pic; - //Fiss.props = fissionTemp.props; - //Fiss.mainWord = fissionTemp.mainWord; - //Fiss.viceword = fissionTemp.viceword; - //Fiss.prop = fissionTemp.prop; - //Fiss.skus = fissionTemp.skus; - //Fiss.from_shop_name = fissionTemp.from_shop_name; - //Fiss.qualifications = fissionTemp.qualifications; - } - catch (Exception ex) - { - LogSave.Add("获取裂变明细信息发生异常" + ex.Message); - } - } - - var result = ""; - var fission_title = Fiss?.fession_title?.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries)?[0]; - ProductCollectBase pcb = FissionData2Pcb(Fiss, fission_title); - if (pcb != null) - { - pcbList.Add(pcb); - } - else - { - result = "添加失败"; - } - - // 更新DataGridView // isTitleNumLimited 是否限定每个裂变商品的上传个数 - UpdateUseCount(FissId); - foreach (DataGridViewRow row in this.dgvFissionProduct.Rows) - { - if (row.Cells["ColId"].Value.ToString() == FissId.ToString()) - { - row.Cells["colMessage"].Value = result; - break; - } - } - - if (pcbList.Count >= 50) - { - // 添加到上传数据库 - //UploadProductForm.ImportFromFission(pcbList); - pcbList.Clear(); - // 记录使用次数 - SetUseCount(fissionDataBaseIds); - fissionDataBaseIds = ""; - } - } - Invoke(new Action(() => - { - progressBarX1.Value = i; - })); - } - - // 添加到上传数据库 - //UploadProductForm.ImportFromFission(pcbList); - pcbList.Clear(); - // 记录使用次数 - SetUseCount(fissionDataBaseIds); - fissionDataBaseIds = ""; - - Invoke(new Action(() => - { - progressBarX1.Value = progressBarX1.Maximum; - this.btnAddFissToUpload.Enabled = true; - var ts = DateTime.Now - startTime; - var min = (int)Math.Floor(ts.TotalMinutes); - var sec = (int)Math.Floor(ts.TotalSeconds) % 60; - BaseMsgForm.ShowInfo("添加完成,累计耗时:" + min + "分" + sec + "秒", "提示"); - pbLoading.Visible = false; - progressBarX1.Visible = false; - })); - } - - /// - /// 设置使用次数信息更新 - /// - public void SetUseCount(string fessDbIds) - { - try - { - string getRequestData = UserLogin.GetSignaturex() + "&act=set&id=" + fessDbIds; - string getUrl = BaseClass.BuildFissionObjString("fession_api"); - string Result = GetHtml.PostUtf8(getUrl, getRequestData); - } - catch (Exception ex) - { - LogSave.Add("SetUseCount发生异常:" + ex.Message); - } - } - - /// - /// 更新使用次数 - /// - /// - public void UpdateUseCount(int FessId, int useCount = 1) - { - for (int i = 0; i < dgvFissionProduct.Rows.Count; i++) - { - var id = dgvFissionProduct.Rows[i].Cells["ColId"].Value.ToString(); - if (id != FessId.ToString()) - continue; - - int sUserCount = Convert.ToInt32(dgvFissionProduct.Rows[i].Cells["ColUseCount"].Value.ToString()); - dgvFissionProduct.Rows[i].Cells["ColUseCount"].Value = sUserCount + useCount; - var Fess = LstFission.Find(f => f != null && f.id == FessId); - Fess.times += useCount; - break; - } - } - - FissionDataModel Fiss2FissionDataModel(FissionData fissData) - { - if (fissData == null) - return null; - - FissionDataModel fdm = new FissionDataModel() - { - addPricePercent = fissData.add_pricepercent.ParseToDecimal(), - adjustPrice = fissData.is_changeprice.ParseToInt(), - baseAddPrice = fissData.base_addprice.ParseToInt(), - cat2_name = fissData.cat2_name, - cat3_name = fissData.cat3_name, - cate_id = fissData.cate_id.ParseToInt(), - //content_pic = fissData.container_info.Split(';').ToList(), - discount = fissData.discount, - fessionCount = fissData.fession_count, - fessionTitle = fissData.fession_title.Split(new string[] { ";", "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries).ToList(), - fession_id = fissData.fession_id, - from_shop_name = fissData.from_shop_name, - fullCategoryName = fissData.full_category_name, - id = fissData.fession_id, - mainCategory = fissData.main_cate, - mainWord = fissData.mainWord, - main_cate_id = fissData.main_cateid.ParseToInt(), - main_pic = fissData.main_pic.Split(';').ToList(), - postFree = fissData.postFree, - price = fissData.price, - prop = fissData.prop, - props = fissData.props, - prop_pic = fissData.prop_pic.Split(';').ToList(), - qualifications = fissData.qualifications, - sales = fissData.sales, - secondCategory = fissData.second_cate, - skus = fissData.skus, - source = fissData.source, - teamGroup = fissData.category, - title = fissData.title, - viceWord = fissData.viceword, - }; - - fdm.content_pic = new List(); - var container_infos = fissData.container_info?.Replace("'>", "'>"); - var containerGroupList = container_infos.Split(new string[] { "
    " }, StringSplitOptions.RemoveEmptyEntries); - for (int i = 0; i < containerGroupList.Length; i++) - { - var container_info = containerGroupList[i]; - var content_imgs = BaseRegex.GetMatchRegex(ref container_info, ""); - if (content_imgs != null) - { - List content = new List(); - foreach (Match m in content_imgs) - { - var src = m.Groups[1]?.ToString(); - if (src != null) - content.Add(src); - } - // 添加分组间隔 - if (content.Count > 0 && i > 0) - fdm.content_pic.Add("new_group"); - fdm.content_pic.AddRange(content); - } - } - - return fdm; - } - - public FissionData FissDataModel2Fission(FissionDataModel fissionDataModel) - { - if (fissionDataModel == null) - return null; - - if (fissionDataModel.prop_pic == null) - fissionDataModel.prop_pic = new List(); - fissionDataModel.prop_pic?.Clear(); - var props = JsonHelper.DeserializeJsonToObject>(fissionDataModel.props); - foreach (var prop in props) - { - foreach (var value in prop.Values) - { - if (!string.IsNullOrEmpty(value.image)) - { - var strImg = value.image; - if (!strImg.StartsWith("http")) - strImg = "http:" + strImg; - fissionDataModel.prop_pic.Add(strImg); - } - } - } - - FissionData fd = new FissionData() - { - add_pricepercent = fissionDataModel.addPricePercent.ParseToInt(), - is_changeprice = fissionDataModel.adjustPrice.ToString(), - base_addprice = fissionDataModel.baseAddPrice.ParseToInt(), - cat2_name = fissionDataModel.cat2_name, - cat3_name = fissionDataModel.cat3_name, - cate_id = fissionDataModel.cate_id.ParseToString(), - //content_pic = fissData.container_info.Split(';').ToList(), - discount = fissionDataModel.discount, - fession_count = fissionDataModel.fessionCount, - fession_title = string.Join(";", fissionDataModel.fessionTitle), - fession_id = fissionDataModel.fession_id, - from_shop_name = fissionDataModel.from_shop_name, - full_category_name = fissionDataModel.fullCategoryName, - id = fissionDataModel.id.ParseToInt(), - main_cate = fissionDataModel.mainCategory, - mainWord = fissionDataModel.mainWord, - main_cateid = fissionDataModel.main_cate_id.ToString(), - main_pic = string.Join(";", fissionDataModel.main_pic), - postFree = fissionDataModel.postFree, - price = fissionDataModel.price, - prop = fissionDataModel.prop, - props = fissionDataModel.props, - prop_pic = string.Join(";", fissionDataModel.prop_pic), - qualifications = fissionDataModel.qualifications, - sales = fissionDataModel.sales, - second_cate = fissionDataModel.secondCategory, - skus = fissionDataModel.skus, - source = fissionDataModel.source, - category = fissionDataModel.teamGroup, - title = fissionDataModel.title, - viceword = fissionDataModel.viceWord, - }; - - fd.container_info = ""; - foreach (var picUrl in fissionDataModel.content_pic) - { - if (picUrl == "new_group") - fd.container_info += "
    "; - else - fd.container_info += ""; - } - - return fd; - } - - public static ProductCollectBase FissionData2Pcb(FissionData fissData, string title) - { - // 是否调节价格 对应字段:ProductCollectBase.is_changeprice - // 加价倍数 对应字段:ProductCollectBase.addPricePe rcent - // 基础加价 对应字段:ProductCollectBase.baseAddPrice - // 拼团折扣 对应字段:ProductCollectBase.discount - - if (fissData == null) - return null; - - ProductCollectBase pcb = new ProductCollectBase(); - - pcb.fissionDataBaseId = fissData.id; - // 是否是进化数据商品 - pcb.isFission = true; - // 商品id - pcb.from_id = fissData.fession_id.ParseToLong(); - // 销量 - pcb.saleCount = fissData.sales.ParseToInt(); - // 价格 - pcb.price = fissData.price.ParseToDecimal(); - // 原标题:不用修改 - pcb.from_title = pcb.from_name = fissData.title; - // 裂变标题 - pcb.fission_names = fissData.fession_title?.Split(new string[] { "\r", "\n", ";" }, StringSplitOptions.RemoveEmptyEntries).ToList(); - // 修改后的标题 - pcb.name = pcb.fission_names != null && pcb.fission_names.Count > 0 ? pcb.fission_names[0] : fissData.title; - // 来源 - pcb.from = fissData.source; - // 来源地址 - pcb.from_url = GetFromUrl(fissData.source, fissData.fession_id); - // 邮费金额 - pcb.express_price = fissData.postFree == null ? 0 : fissData.postFree.ParseToDecimal(); - // 主图 - pcb.Images = string.IsNullOrEmpty(fissData.main_pic) ? new List() : fissData.main_pic.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries).ToList(); - // 详情图 - pcb.content = fissData.container_info?.Replace("'>", "'>"); - // 子分类id - pcb.cat_id = fissData.cate_id.ParseToInt(); - // 主分类id - pcb.main_cid = fissData.main_cateid.ParseToInt(); - // 主分类名称 - pcb.main_cat_name = fissData.main_cate; - // 是否调节价格 - pcb.is_changeprice = fissData.is_changeprice == "1" ? "True" : "False"; - // 加价比例 - pcb.addPricePercent = fissData.add_pricepercent.ParseToDecimal(); - // 基础加价 - pcb.baseAddPrice = fissData.base_addprice.ParseToDecimal(); - // 折扣比例 - pcb.discount = fissData.discount; - // 商品属性 - try - { - pcb.Prop = JsonHelper.DeserializeJsonToList(fissData.prop); - } - catch - { - } - // sku属性列表 - try - { - pcb.Props = JsonHelper.DeserializeJsonToList(fissData.props); - } - catch - { - } - // 来源店铺名称 - pcb.from_shop_name = fissData.from_shop_name; - // sku列表 - try - { - pcb.SkuMaps = JsonHelper.DeserializeJsonToList(fissData.skus); - } - catch - { - } - // 资质文件列表 - try - { - pcb.qualifications = JsonHelper.DeserializeJsonToList(fissData.qualifications); - } - catch - { - } - - if (pcb.from == "淘宝") pcb.from_site_id = 1; - else if (pcb.from == "拼多多") pcb.from_site_id = 2; - else if (pcb.from == "阿里巴巴" || pcb.from == "1688") pcb.from_site_id = 3; - else if (pcb.from == "京喜") pcb.from_site_id = 4; - else if (pcb.from == "微店") pcb.from_site_id = 6; - else if (pcb.from == "抖音") pcb.from_site_id = 7; - - return pcb; - } - - private void btnClearParams_Click(object sender, EventArgs e) - { - this.txtPriceMin.Text = "0"; - this.txtPriceMax.Text = "99999"; - this.txtSaleAmountMin.Text = "0"; - this.txtSaleAmountMax.Text = "99999"; - this.txtMinTimes.Text = "0"; - this.txtMaxTimes.Text = "99999"; - this.txtFisssionTitle.Text = ""; - this.dtBaginTime.Text = ""; - this.dtEndTime.Text = ""; - this.cmbSource.SelectedIndex = 0; - if (cmbCat1.Items.Count > 0) - cmbCat1.SelectedIndex = 0; - if (cmbShopCat1.Items.Count > 0) - cmbShopCat1.SelectedIndex = 0; - if (cmbGroup.Items.Count > 0) - this.cmbGroup.SelectedIndex = 0; - if (cmbCheckResult.Items.Count > 0) - cmbCheckResult.SelectedIndex = 0; - } - - private void btnClearList_Click(object sender, EventArgs e) - { - DialogResult result = BaseMsgForm.ShowConfirm("确认清空当前搜索结果吗?", "提示").DialogResult; - if (result == DialogResult.OK) - { - IsStop = true; - this.dgvFissionProduct.Rows.Clear(); - LstFission.Clear(); - } - } - - private void btnDeleteSelect_Click(object sender, EventArgs e) - { - if (ClickType == 1) - { - BaseMsgForm.ShowInfo("产品回收站的数据无法删除!"); - return; - } - var fissionRowList = this.dgvFissionProduct.Rows.Cast().Where(r => r.Cells["ColSelect"].Value.ParseToBool()).ToList(); - var fissionIdList = fissionRowList.Select(r => r.Cells["ColId"].Value.ToString()).ToList(); - if (fissionIdList.Count == 0) - { - BaseMsgForm.ShowInfo("请选择要删除的数据", "提示"); - return; - } - //if (BaseMsgForm.ShowConfirm("是否确认删除勾选数据?\r\n注:如果上货列表中有此数据将会一并删除。").DialogResult.Equals(DialogResult.Cancel)) return; - if (BaseMsgForm.ShowConfirm("是否确认删除勾选数据?").DialogResult.Equals(DialogResult.Cancel)) return; - - // 根据上家标题,原始Id删除数据库数据 - string strTemp = ""; - foreach (var id in fissionIdList) - { - strTemp += id + ","; - } - new FissionDataBaseBLL().DelFessionData(strTemp); - - foreach (var row in fissionRowList) - { - string OrgId = row.Cells["OriginalId"].Value.ToString(); // 原商品ID - //// 删除listFissionPcb - //UploadProductForm.lstFissionPcb.RemoveAll(x => x != null && x.from_id == OrgId.ParseToLong()); - //// 删除上货列表备用商品 - //UploadProductBLL.ProductStock.RemoveAll(x => x.FromId == OrgId.ParseToLong()); - //// 删除本地数据库备用商品 - //UploadProductBLL.Delete(OrgId); - //// 刷新上传界面的上传队列数量 - //UploadProductForm.instance?.remain(); - } - // 删除行 - foreach (var row in fissionRowList) - { - dgvFissionProduct.Rows.Remove(row); - } - } - - private void btnToUpload_Click(object sender, EventArgs e) - { - if (ProductForm.instance != null) - ProductForm.instance.SetTvSelect("商品发布"); - } - - private void pnlDelCate_Click(object sender, EventArgs e) - { - string groupName = cmbGroup.SelectedItem.ToString(); - if (groupName == "不限") - { - BaseMsgForm.ShowInfo("不能删除不限!"); - return; - } - - if (BaseMsgForm.ShowConfirm("确定要删除选中的裂变分组和数据吗?", "提示").DialogResult == DialogResult.OK) - { - // 删除分组 - string requestData = UserLogin.GetSignaturex() + "&act=delete_category&category=" + - GetHtml.UrlEncodeUtf8(groupName); - string url = BaseClass.BuildFissionObjString("fession_api"); - string result = GetHtml.PostUtf8(url, requestData); - if (result != "ok") - { - LogSave.Add("删除组失败", "group name: " + groupName + " result: " + result); - } - else - { - BaseMsgForm.ShowInfo("删除组成功"); - var groupList = new FissionDataBaseBLL().GetCategoryGroup(); - cmbGroup.DataSource = groupList; - cmbGroup.SelectedIndex = 0; - var fissionRowList = this.dgvFissionProduct.Rows.Cast().Where(r => r.Cells["ColCategory"].Value.ParseToString() == groupName); - // 删除行 - foreach (var row in fissionRowList) - { - dgvFissionProduct.Rows.Remove(row); - } - } - } - } - - private void lblPrev_Click(object sender, EventArgs e) - { - if (txtCurrentPage.Text.ParseToInt() > 1) - txtCurrentPage.Text = (txtCurrentPage.Text.ParseToInt() - 1).ToString(); - SearchFission(); - } - - private void lblNext_Click(object sender, EventArgs e) - { - if (txtCurrentPage.Text.ParseToInt() < lblTotalPage.Text.ParseToInt()) - txtCurrentPage.Text = (txtCurrentPage.Text.ParseToInt() + 1).ToString(); - SearchFission(); - } - - private void cmbCat1_SelectedIndexChanged(object sender, EventArgs e) - { - - } - - public bool isCheckRun = false; - private void btnCheckUpProduct_Click(object sender, EventArgs e) - { - this.btnCheckUpProduct.Enabled = false; - Task.Run(() => - { - Thread.Sleep(3000); - Invoke(new Action(() => - { - this.btnCheckUpProduct.Enabled = true; - })); - }); - - if (this.btnCheckUpProduct.Text == "停止校验") - { - isCheckRun = false; - return; - } - - var fissionRowList = this.dgvFissionProduct.Rows.Cast().Where(r => r.Cells["ColSelect"].Value.ParseToBool()).ToList(); - var fissionIdList = fissionRowList.Select(r => r.Cells["ColId"].Value.ToString()).ToList(); - if (fissionIdList.Count == 0) - { - this.btnCheckUpProduct.Enabled = true; - BaseMsgForm.ShowInfo("请选择要校验的数据", "提示"); - return; - } - - this.isCheckRun = true; - this.btnCheckUpProduct.Text = "停止校验"; - - IsAutoTurnPage = chkAutoTurnPage.Checked && fissionIdList.Count == this.dgvFissionProduct.RowCount; - Task.Run(() => - { - autoTurnPage: - foreach (var Id in fissionIdList) - { - if (!isCheckRun) - break; - - Thread.Sleep(50); - var Fiss = this.LstFission.FirstOrDefault(f => f.id.ToString() == Id); - if (Fiss == null) - continue; - try - { - var fissionTemp = new FissionDataBaseBLL().GetFessionDetailById(Id.ParseToInt()); - Fiss.fession_title = fissionTemp.fession_title; - while (fissionTemp.container_info != null && fissionTemp.container_info.Contains("'>", "'>"); - } - Fiss.container_info = fissionTemp.container_info; - Fiss.main_pic = fissionTemp.main_pic; - Fiss.prop_pic = fissionTemp.prop_pic; - Fiss.props = fissionTemp.props; - Fiss.mainWord = fissionTemp.mainWord; - Fiss.viceword = fissionTemp.viceword; - Fiss.prop = fissionTemp.prop; - Fiss.skus = fissionTemp.skus; - Fiss.from_shop_name = fissionTemp.from_shop_name; - Fiss.qualifications = fissionTemp.qualifications; - } - catch (Exception ex) - { - LogSave.Add("获取裂变明细信息发生异常" + ex.Message); - } - - if (string.IsNullOrEmpty(Fiss.fession_title)) - continue; - - if (Fiss.update_time.ParseToDateTime() > DateTime.Now.Date.AddDays(-7)) - { - foreach (DataGridViewRow row in this.dgvFissionProduct.Rows) - { - if (row.Cells["ColId"].Value.ToString() == Fiss.id.ToString()) - { - Invoke(new Action(() => - { - row.Cells["colMessage"].Value = "近期已校验"; - })); - break; - } - } - continue; - } - - ProductCollectBase pcb = FissionData2Pcb(Fiss, Fiss.fession_title); - - // 校验总店商品是否发生变化或下架 - string msg = ""; - var pcb_new = CheckProductStatus(pcb, out msg); - if (msg == "商品已下架") - { - FissionDataModel fdm = Fiss2FissionDataModel(Fiss); - fdm.update_check_passed = 9; - if (!IsDeleteUpDown) - { - string result = new FissionBrowserObject().updateFessionDate(JsonHelper.SerializeObject(fdm)); - } - - var FissId = Fiss.id.ToString(); - DataGridViewRow dgvRow = null; - foreach (DataGridViewRow row in this.dgvFissionProduct.Rows) - { - if (row.Cells["ColId"].Value.ToString() == FissId) - { - dgvRow = row; - Invoke(new Action(() => - { - dgvRow.Cells["colMessage"].Value = "总店商品已下架,请删除"; - row.Cells["ColNeedUpdate"].Value = fdm.update_check_passed == 9 ? "上家下架" : ""; // 校验更新 - })); - break; - } - } - - if (IsDeleteUpDown) - { - new FissionDataBaseBLL().DelFessionData(Id); - - if (dgvRow != null) - this.dgvFissionProduct.Rows.Remove(dgvRow); - this.LstFission.Remove(Fiss); - } - } - else if (pcb_new != pcb || msg == "商品价格发生变化") - { - if ((pcb_new != pcb && IsUpdateUpChange) || msg == "商品价格发生变化") - { - Fiss.price = pcb_new.price.ToString(); - Fiss.skus = JsonHelper.SerializeObject(pcb_new.SkuMaps); - Fiss.prop = JsonHelper.SerializeObject(pcb_new.Prop); - Fiss.props = JsonHelper.SerializeObject(pcb_new.Props); - Fiss.main_pic = string.Join(";", pcb_new.Images); - Fiss.prop_pic = ""; - foreach (var p in pcb_new.Props) - { - foreach (var pv in p.Values) - { - if (!string.IsNullOrEmpty(pv.image)) - Fiss.prop_pic += pv.image + ";"; - } - } - Fiss.prop_pic = Fiss.prop_pic.TrimEnd(';'); - - FissionDataModel fdm = Fiss2FissionDataModel(Fiss); - fdm.update_check_passed = 1; - string result = new FissionBrowserObject().updateFessionDate(JsonHelper.SerializeObject(fdm)); - if (result == null) - result = ""; - result = JsonHelper.SerializeObject(JObject.Parse(result)); - string updateMsg = BaseRegex.GetStringJson(ref result, "msg"); - - if (result.Contains("\"code\":0")) - { - updateMsg = "总店商品规格变化更新成功"; - if (msg == "商品价格发生变化") - updateMsg = "总店商品价格变化更新成功"; - } - else - { - updateMsg = "总店商品规格变化更新失败"; - if (msg == "商品价格发生变化") - updateMsg = "总店商品价格变化更新失败"; - } - - var FissId = Fiss.id.ToString(); - foreach (DataGridViewRow row in this.dgvFissionProduct.Rows) - { - if (row.Cells["ColId"].Value.ToString() == FissId) - { - Invoke(new Action(() => - { - row.Cells["colMessage"].Value = updateMsg; - row.Cells["ColNeedUpdate"].Value = fdm.update_check_passed == 1 ? "" : "请更新商品"; // 校验更新 - })); - break; - } - } - } - else - { - FissionDataModel fdm = Fiss2FissionDataModel(Fiss); - fdm.update_check_passed = 0; - string result = new FissionBrowserObject().updateFessionDate(JsonHelper.SerializeObject(fdm)); - - var FissId = Fiss.id.ToString(); - foreach (DataGridViewRow row in this.dgvFissionProduct.Rows) - { - if (row.Cells["ColId"].Value.ToString() == FissId) - { - Invoke(new Action(() => - { - row.Cells["colMessage"].Value = "总店商品规格变化,请更新"; - row.Cells["ColNeedUpdate"].Value = fdm.update_check_passed == 1 ? "" : "请更新商品"; // 校验更新 - })); - break; - } - } - } - } - else - { - FissionDataModel fdm = Fiss2FissionDataModel(Fiss); - string result = new FissionBrowserObject().updateFessionDate(JsonHelper.SerializeObject(fdm)); - - var FissId = Fiss.id.ToString(); - foreach (DataGridViewRow row in this.dgvFissionProduct.Rows) - { - if (row.Cells["ColId"].Value.ToString() == FissId) - { - Invoke(new Action(() => - { - row.Cells["colMessage"].Value = msg == "商品采集失败" ? msg : "商品无需更新"; - row.Cells["ColNeedUpdate"].Value = ""; // 校验更新 - })); - break; - } - } - } - } - if (IsAutoTurnPage && isCheckRun && lblCurrentPage.Text.ParseToInt() < lblTotalPage.Text.ParseToInt()) - { - IsTurnPage = true; - Invoke(new Action(() => - { - lblNext_Click(null, null); - chkAll.Checked = true; - fissionRowList = this.dgvFissionProduct.Rows.Cast().Where(r => r.Cells["ColSelect"].Value.ParseToBool()).ToList(); - fissionIdList = fissionRowList.Select(r => r.Cells["ColId"].Value.ToString()).ToList(); - })); - Thread.Sleep(1000); - goto autoTurnPage; - } - Invoke(new Action(() => - { - this.btnCheckUpProduct.Text = "校验勾选"; - })); - }); - } - - /// - /// 获取上家商品最新详情与当前数据库商品(pcb_old)校验是否有更新 - /// - /// - /// - /// - private ProductCollectBase CheckProductStatus(ProductCollectBase pcb_old, out string msg) - { - msg = ""; - bool isPriceChange = false; - bool isProductChange = false; - - ProductCollectBase pcb_new = GetNewPcb(pcb_old, out msg); - - if (msg == "商品已下架") - return pcb_old; - - if (string.IsNullOrEmpty(pcb_new.image) && (pcb_new.Images == null || pcb_new.Images.Count == 0 || string.IsNullOrEmpty(pcb_new.Images[0]))) - { - msg = "商品采集失败"; - return pcb_old; - } - - if (string.IsNullOrEmpty(pcb_old.image) && (pcb_old.Images == null || pcb_old.Images.Count == 0 || string.IsNullOrEmpty(pcb_old.Images[0]))) - { - isProductChange = true; - return pcb_new; - } - - if (pcb_old.price != pcb_new.price) - { - msg = "商品价格发生变化"; - isPriceChange = true; - pcb_old.price = pcb_new.price; - } - - foreach (var sku in pcb_old.SkuMaps) - { - var sku_new = pcb_new.SkuMaps.FirstOrDefault(s => s.name == sku.name); - if (sku_new != null) - { - if (sku_new.price != sku.price) - { - msg = "商品价格发生变化"; - isPriceChange = true; - sku.price = sku_new.price; - } - continue; - } - else - { - isProductChange = true; - return pcb_new; - } - } - - return pcb_old; - } - - public ProductCollectBase GetNewPcb(ProductCollectBase pcb_old, out string msg) - { - msg = ""; - - ProductCollectBase pcb_new = new ProductCollectBase(); - pcb_new.from_id = pcb_old.from_id; - pcb_new.from_url = GetFromUrl(pcb_old.from, pcb_new.from_id.ToString()); - - if (pcb_old.from == "抖音") - { - CollectDoyin cd = new CollectDoyin(pcb_new); - cd.GetProduct(); - cd.Product.from = "抖音"; - cd.Product.from_url = GetFromUrl("抖音", pcb_new.from_id.ToString()); - pcb_new = cd.Product; - - if (!cd.Product.IsOnSale) - msg = "商品已下架"; - } - else if (pcb_old.from == "拼多多") - { - TaobaoProductBase tp = new TaobaoProductBase(); - tp.FromId = pcb_old.from_id; - tp.FromType = "拼多多"; - tp.GoodsId = tp.FromId; - - PinduoduoProductCollect pdd = new PinduoduoProductCollect(Name, tp); - pdd.Get(); - pdd.pb.from = "拼多多"; - pdd.pb.from_url = "http://mobile.yangkeduo.com/goods.html?goods_id=" + tp.GoodsId; - pcb_new = pdd.pb; - - if (!pdd.OnSale) - msg = "商品已下架"; - } - else if (pcb_old.from == "阿里巴巴" || pcb_old.from == "1688") - { - AlibabaProductGet alibbProInfo = new AlibabaProductGet(pcb_new); - alibbProInfo.Get(); - alibbProInfo.Product.from = "阿里巴巴"; - alibbProInfo.Product.from_url = pcb_new.from_url; - pcb_new = alibbProInfo.Product; - - if (!alibbProInfo.OnSale) - msg = "商品已下架"; - } - else if (pcb_old.from == "京喜" || pcb_old.from == "京东") - { - JingXiCollect tm = new JingXiCollect(pcb_new); - tm.Get(); - tm.Product.from = "京喜"; - tm.Product.from_url = pcb_new.from_url; - pcb_new = tm.Product; - - if (!tm.IsOnSale) - msg = "商品已下架"; - } - else - { - TaobaoMobileCollect goodsInfo = new TaobaoMobileCollect(pcb_new); - goodsInfo.Get(); - goodsInfo.Product.from = pcb_old.from; - goodsInfo.Product.from_url = pcb_new.from_url; - pcb_new = goodsInfo.Product; - - if (goodsInfo.IsDown) - msg = "商品已下架"; - } - - pcb_new.message_alert = msg; - - return pcb_new; - } - - private void chkDeleteUpDown_CheckedChanged(object sender, EventArgs e) - { - IsDeleteUpDown = chkDeleteUpDown.Checked; - } - - private void chkUpdateUpChange_CheckedChanged(object sender, EventArgs e) - { - IsUpdateUpChange = chkUpdateUpChange.Checked; - } - - private void btnEditCheckUpdate_Click(object sender, EventArgs e) - { - var fissionRowList = this.dgvFissionProduct.Rows.Cast().Where(r => r.Cells["ColNeedUpdate"].Value.ToString() == "请更新商品").ToList(); - var fissionIdList = fissionRowList.Select(r => r.Cells["ColId"].Value.ToString()).ToList(); - if (fissionIdList.Count == 0) - { - BaseMsgForm.ShowInfo("没有需要更新的商品", "提示"); - return; - } - - //var fissionRowList = this.dgvFissionProduct.Rows.Cast().Where(r => r.Cells["ColSelect"].Value.ParseToBool()).ToList(); - //var fissionIdList = fissionRowList.Select(r => r.Cells["ColId"].Value.ToString()).ToList(); - //if (fissionIdList.Count == 0) - //{ - // BaseMsgForm.ShowInfo("请选择要编辑的数据", "提示"); - // return; - //} - var Fissions = LstFission.Where(f => fissionIdList.Contains(f.id.ToString())).ToList(); - if (Fissions.Count > 0) - { - var Fiss = Fissions[0]; - try - { - var fissionTemp = new FissionDataBaseBLL().GetFessionDetailById(Fiss.id.ParseToInt()); - Fiss.fession_title = fissionTemp.fession_title; - Fiss.container_info = fissionTemp.container_info?.Replace("'>", "'>"); - Fiss.main_pic = fissionTemp.main_pic; - Fiss.prop_pic = fissionTemp.prop_pic; - Fiss.props = fissionTemp.props; - Fiss.mainWord = fissionTemp.mainWord; - Fiss.viceword = fissionTemp.viceword; - Fiss.prop = fissionTemp.prop; - Fiss.skus = fissionTemp.skus; - Fiss.from_shop_name = fissionTemp.from_shop_name; - Fiss.qualifications = fissionTemp.qualifications; - } - catch (Exception ex) - { - LogSave.Add("获取裂变明细信息发生异常" + ex.Message); - } - if (string.IsNullOrEmpty(Fiss.fession_title)) - return; - if (Fiss.source == "laiyuan") - { - if (Fiss.main_pic.Contains("pddpic") || Fiss.prop_pic.Contains("pddpic") || Fiss.container_info.Contains("pddpic")) - { - Fiss.source = "拼多多"; - } - } - ProductCollectBase pcb = FissionData2Pcb(Fiss, Fiss.fession_title); - - // 校验总店商品是否发生变化 - string msg = ""; - var pcb_new = CheckProductStatus(pcb, out msg); - if (msg == "商品已下架") - { - BaseMsgForm.ShowInfo("总店商品已下架 !"); - //return; - } - - string createHtmlPath = Fission.creatFissionPage(pcb_new); - var sFromUrl = ""; - foreach (var fi in Fissions) - { - sFromUrl += GetFromUrl(fi.source, fi.fession_id) + "\r\n"; - } - sFromUrl = sFromUrl.TrimEnd('\r', '\n'); - Fission fs = new Fission(createHtmlPath, sFromUrl, null, pcb, Fiss.category, Fiss.full_category_name, Fiss.fession_title); - fs.Show(); - } - } - - private void chkNeedUpdate_CheckedChanged(object sender, EventArgs e) - { - //ProductUpdateCheckResult = chkNeedUpdate.Checked; - } - - private void btnMulitEdit_Click(object sender, EventArgs e) - { - var fissionRowList = this.dgvFissionProduct.Rows.Cast().Where(r => r.Cells["ColSelect"].Value.ParseToBool()).ToList(); - var fissionIdList = fissionRowList.Select(r => r.Cells["ColId"].Value.ToString()).ToList(); - if (fissionIdList.Count == 0) - { - BaseMsgForm.ShowInfo("没有勾选商品", "提示"); - return; - } - - var Fissions = LstFission.Where(f => fissionIdList.Contains(f.id.ToString())).ToList(); - if (Fissions.Count > 0) - { - var Fiss = Fissions[0]; - try - { - var fissionTemp = new FissionDataBaseBLL().GetFessionDetailById(Fiss.id.ParseToInt()); - Fiss.fession_title = fissionTemp.fession_title; - Fiss.container_info = fissionTemp.container_info?.Replace("'>", "'>"); - Fiss.main_pic = fissionTemp.main_pic; - Fiss.prop_pic = fissionTemp.prop_pic; - Fiss.props = fissionTemp.props; - Fiss.mainWord = fissionTemp.mainWord; - Fiss.viceword = fissionTemp.viceword; - Fiss.prop = fissionTemp.prop; - Fiss.skus = fissionTemp.skus; - Fiss.from_shop_name = fissionTemp.from_shop_name; - Fiss.qualifications = fissionTemp.qualifications; - } - catch (Exception ex) - { - LogSave.Add("获取裂变明细信息发生异常" + ex.Message); - } - if (string.IsNullOrEmpty(Fiss.fession_title)) - return; - ProductCollectBase pcb = FissionData2Pcb(Fiss, Fiss.fession_title); - - // 校验总店商品是否发生变化 - string msg = ""; - var pcb_new = GetNewPcb(pcb, out msg); - - string createHtmlPath = Fission.creatFissionPage(pcb); - var sFromUrl = ""; - foreach (var fi in Fissions) - { - sFromUrl += GetFromUrl(fi.source, fi.fession_id) + "\r\n"; - } - sFromUrl = sFromUrl.TrimEnd('\r', '\n'); - Fission fs = new Fission(createHtmlPath, sFromUrl, Fissions, pcb, Fiss.category, Fiss.full_category_name, Fiss.fession_title); - fs.Show(); - } - } - - public void UpdateFissionData(FissionDataModel fissionDataModel) - { - var fissionExist = FissionDataBaseForm.Instance.LstFission.Find(f => f.fession_id == fissionDataModel.fession_id); - if (fissionExist != null) - { - var fissionNew = FissionDataBaseForm.Instance.FissDataModel2Fission(fissionDataModel); - fissionExist.add_pricepercent = fissionNew.add_pricepercent; - fissionExist.base_addprice = fissionNew.base_addprice; - fissionExist.cat2_name = fissionNew.cat2_name; - fissionExist.cat3_name = fissionNew.cat3_name; - fissionExist.category = fissionNew.category; - fissionExist.cate_id = fissionNew.cate_id; - fissionExist.container_info = fissionNew.container_info; - fissionExist.discount = fissionNew.discount; - fissionExist.fession_count = fissionNew.fession_count; - fissionExist.fession_title = fissionNew.fession_title; - fissionExist.full_category_name = fissionNew.full_category_name; - fissionExist.is_changeprice = fissionNew.is_changeprice; - fissionExist.mainWord = fissionNew.mainWord; - fissionExist.main_cate = fissionNew.main_cate; - fissionExist.main_cateid = fissionNew.main_cateid; - fissionExist.main_pic = fissionNew.main_pic; - fissionExist.postFree = fissionNew.postFree; - fissionExist.price = fissionNew.price; - fissionExist.prop = fissionNew.prop; - fissionExist.props = fissionNew.props; - fissionExist.prop_pic = fissionNew.prop_pic; - fissionExist.qualifications = fissionNew.qualifications; - fissionExist.second_cate = fissionNew.second_cate; - fissionExist.skus = fissionNew.skus; - fissionExist.title = fissionNew.title; - fissionExist.viceword = fissionNew.viceword; - - var row = this.dgvFissionProduct.Rows.Cast().FirstOrDefault(r => r.Cells["ColId"].Value?.ToString() == fissionExist.id.ToString()); - if (row != null) - { - string catStr = Fission.GetFullCatString(fissionExist.cate_id.ParseToInt()); - if (string.IsNullOrEmpty(catStr)) - catStr = fissionExist.full_category_name; - if (string.IsNullOrEmpty(catStr)) - catStr = fissionExist.main_cate; - if (catStr == null) - catStr = ""; - - row.Cells["Title"].Value = fissionExist.fession_title; // 新标题 - row.Cells["ColCategory"].Value = fissionExist.category; // 组别 - row.Cells["ColFullCategory"].Value = catStr; // 完整类目 - row.Cells["ColCategory1"].Value = fissionExist.main_cate; // 类目1 - row.Cells["ColCategory2"].Value = fissionExist.cat2_name; // 类目2 - row.Cells["ColCategory3"].Value = fissionExist.cat3_name; // 类目3 - row.Cells["ColTitleNum"].Value = fissionExist.TitleNum; // 标题数量 - } - } - } - } -} diff --git a/TEMUKJD/KJDForms/ProductForms/FissionUserControl/FissionDataBaseForm.designer.cs b/TEMUKJD/KJDForms/ProductForms/FissionUserControl/FissionDataBaseForm.designer.cs deleted file mode 100644 index 4d24644..0000000 --- a/TEMUKJD/KJDForms/ProductForms/FissionUserControl/FissionDataBaseForm.designer.cs +++ /dev/null @@ -1,1764 +0,0 @@ -namespace TemuKJD.KJDForms.ProductForms -{ - partial class FissionDataBaseForm - { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows Form Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); - this.splitContainer1 = new System.Windows.Forms.SplitContainer(); - this.btnToUpload = new DevComponents.DotNetBar.ButtonX(); - this.groupBox1 = new System.Windows.Forms.GroupBox(); - this.btnMulitEdit = new DevComponents.DotNetBar.ButtonX(); - this.btnSearchFission = new DevComponents.DotNetBar.PanelEx(); - this.btnAddFissToUpload = new DevComponents.DotNetBar.PanelEx(); - this.btnEditCheckUpdate = new DevComponents.DotNetBar.ButtonX(); - this.btnCheckUpProduct = new DevComponents.DotNetBar.ButtonX(); - this.btnDeleteSelect = new DevComponents.DotNetBar.ButtonX(); - this.btnClearList = new DevComponents.DotNetBar.ButtonX(); - this.btnClearParams = new DevComponents.DotNetBar.ButtonX(); - this.groupBox14 = new System.Windows.Forms.GroupBox(); - this.txtMaxTimes = new DevComponents.DotNetBar.Controls.TextBoxX(); - this.label5 = new System.Windows.Forms.Label(); - this.txtMinTimes = new DevComponents.DotNetBar.Controls.TextBoxX(); - this.labelX4 = new DevComponents.DotNetBar.LabelX(); - this.label6 = new System.Windows.Forms.Label(); - this.cmbCheckResult = new DevComponents.DotNetBar.Controls.ComboBoxEx(); - this.cbiAllCheckResult = new DevComponents.Editors.ComboItem(); - this.cbiNeedUpdate = new DevComponents.Editors.ComboItem(); - this.cbiNeedDelete = new DevComponents.Editors.ComboItem(); - this.cmbCat1 = new DevComponents.DotNetBar.Controls.ComboBoxEx(); - this.labelX3 = new DevComponents.DotNetBar.LabelX(); - this.labelX2 = new DevComponents.DotNetBar.LabelX(); - this.pnlDelCate = new DevComponents.DotNetBar.PanelEx(); - this.cmbGroup = new DevComponents.DotNetBar.Controls.ComboBoxEx(); - this.labelX1 = new DevComponents.DotNetBar.LabelX(); - this.cmbShopCat3 = new DevComponents.DotNetBar.Controls.ComboBoxEx(); - this.cmbShopCat2 = new DevComponents.DotNetBar.Controls.ComboBoxEx(); - this.cmbShopCat1 = new DevComponents.DotNetBar.Controls.ComboBoxEx(); - this.cmbShop = new DevComponents.DotNetBar.Controls.ComboBoxEx(); - this.lblShop = new System.Windows.Forms.Label(); - this.dtEndTime = new DevComponents.Editors.DateTimeAdv.DateTimeInput(); - this.dtBaginTime = new DevComponents.Editors.DateTimeAdv.DateTimeInput(); - this.cmbSource = new DevComponents.DotNetBar.Controls.ComboBoxEx(); - this.cbiAll = new DevComponents.Editors.ComboItem(); - this.cbiTaobao = new DevComponents.Editors.ComboItem(); - this.cbiPingdd = new DevComponents.Editors.ComboItem(); - this.cbi1688 = new DevComponents.Editors.ComboItem(); - this.cbiDy = new DevComponents.Editors.ComboItem(); - this.labelX45 = new DevComponents.DotNetBar.LabelX(); - this.labelX47 = new DevComponents.DotNetBar.LabelX(); - this.txtFisssionTitle = new DevComponents.DotNetBar.Controls.TextBoxX(); - this.labelX23 = new DevComponents.DotNetBar.LabelX(); - this.txtSaleAmountMax = new DevComponents.DotNetBar.Controls.TextBoxX(); - this.label16 = new System.Windows.Forms.Label(); - this.txtSaleAmountMin = new DevComponents.DotNetBar.Controls.TextBoxX(); - this.label19 = new System.Windows.Forms.Label(); - this.txtPriceMax = new DevComponents.DotNetBar.Controls.TextBoxX(); - this.txtPriceMin = new DevComponents.DotNetBar.Controls.TextBoxX(); - this.labelX24 = new DevComponents.DotNetBar.LabelX(); - this.labelX25 = new DevComponents.DotNetBar.LabelX(); - this.label1 = new System.Windows.Forms.Label(); - this.label2 = new System.Windows.Forms.Label(); - this.label3 = new System.Windows.Forms.Label(); - this.label15 = new System.Windows.Forms.Label(); - this.label20 = new System.Windows.Forms.Label(); - this.label4 = new System.Windows.Forms.Label(); - this.splitContainer2 = new System.Windows.Forms.SplitContainer(); - this.chkNeedUpdate = new System.Windows.Forms.CheckBox(); - this.chkDeleteUpDown = new System.Windows.Forms.CheckBox(); - this.pbLoading = new System.Windows.Forms.PictureBox(); - this.chkUpdateUpChange = new System.Windows.Forms.CheckBox(); - this.superTabControl1 = new DevComponents.DotNetBar.SuperTabControl(); - this.superTabControlPanel1 = new DevComponents.DotNetBar.SuperTabControlPanel(); - this.superTabItem1 = new DevComponents.DotNetBar.SuperTabItem(); - this.superTabControlPanel2 = new DevComponents.DotNetBar.SuperTabControlPanel(); - this.buttonX3 = new DevComponents.DotNetBar.ButtonX(); - this.btnRestore = new DevComponents.DotNetBar.ButtonX(); - this.btnCpRecycleBin = new DevComponents.DotNetBar.ButtonX(); - this.buttonX5 = new DevComponents.DotNetBar.ButtonX(); - this.superTabItem2 = new DevComponents.DotNetBar.SuperTabItem(); - this.chkIsProxyIp = new System.Windows.Forms.CheckBox(); - this.dgvFissionProduct = new TemuKJD.UserComponent.DataGridViewEx(); - this.labelX48 = new DevComponents.DotNetBar.LabelX(); - this.chkAutoTurnPage = new System.Windows.Forms.CheckBox(); - this.progressBarX1 = new DevComponents.DotNetBar.Controls.ProgressBarX(); - this.btnGoTo = new DevComponents.DotNetBar.ButtonX(); - this.lblPrev = new DevComponents.DotNetBar.LabelX(); - this.lblNext = new DevComponents.DotNetBar.LabelX(); - this.cboxDisplayCount = new DevComponents.DotNetBar.Controls.ComboBoxEx(); - this.labelX46 = new DevComponents.DotNetBar.LabelX(); - this.labelX43 = new DevComponents.DotNetBar.LabelX(); - this.txtCurrentPage = new DevComponents.DotNetBar.Controls.TextBoxX(); - this.labelX42 = new DevComponents.DotNetBar.LabelX(); - this.lblTotalPage = new DevComponents.DotNetBar.LabelX(); - this.labelX40 = new DevComponents.DotNetBar.LabelX(); - this.lblCurrentPage = new DevComponents.DotNetBar.LabelX(); - this.ColSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn(); - this.ColId = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.Title = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.ColOriginalTitle = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.OriginalId = new System.Windows.Forms.DataGridViewLinkColumn(); - this.Price = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.SaleAmount = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.ColCategory = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.ColFullCategory = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.ColCategory1 = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.ColCategory2 = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.ColCategory3 = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.ColTitleNum = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.ColUseCount = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.ColDel = new System.Windows.Forms.DataGridViewLinkColumn(); - this.ColReEdit = new System.Windows.Forms.DataGridViewLinkColumn(); - this.colMessage = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.ColSource = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.ColSourceFake = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.ColRkTime = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.ColUpdateTime = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.ColNeedUpdate = new System.Windows.Forms.DataGridViewTextBoxColumn(); - ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); - this.splitContainer1.Panel1.SuspendLayout(); - this.splitContainer1.Panel2.SuspendLayout(); - this.splitContainer1.SuspendLayout(); - this.groupBox1.SuspendLayout(); - this.groupBox14.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.dtEndTime)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.dtBaginTime)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit(); - this.splitContainer2.Panel1.SuspendLayout(); - this.splitContainer2.Panel2.SuspendLayout(); - this.splitContainer2.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.pbLoading)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).BeginInit(); - this.superTabControl1.SuspendLayout(); - this.superTabControlPanel2.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.dgvFissionProduct)).BeginInit(); - this.SuspendLayout(); - // - // splitContainer1 - // - this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill; - this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1; - this.splitContainer1.Location = new System.Drawing.Point(0, 0); - this.splitContainer1.Name = "splitContainer1"; - this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal; - // - // splitContainer1.Panel1 - // - this.splitContainer1.Panel1.Controls.Add(this.btnToUpload); - this.splitContainer1.Panel1.Controls.Add(this.groupBox1); - this.splitContainer1.Panel1.Controls.Add(this.groupBox14); - // - // splitContainer1.Panel2 - // - this.splitContainer1.Panel2.Controls.Add(this.splitContainer2); - this.splitContainer1.Size = new System.Drawing.Size(1264, 471); - this.splitContainer1.SplitterDistance = 135; - this.splitContainer1.TabIndex = 0; - // - // btnToUpload - // - this.btnToUpload.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.btnToUpload.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.btnToUpload.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); - this.btnToUpload.Location = new System.Drawing.Point(1180, 4); - this.btnToUpload.Name = "btnToUpload"; - this.btnToUpload.Size = new System.Drawing.Size(80, 23); - this.btnToUpload.Style = DevComponents.DotNetBar.eDotNetBarStyle.OfficeXP; - this.btnToUpload.TabIndex = 5; - this.btnToUpload.Text = "上货界面"; - this.btnToUpload.ThemeAware = true; - this.btnToUpload.Click += new System.EventHandler(this.btnToUpload_Click); - // - // groupBox1 - // - this.groupBox1.Controls.Add(this.btnMulitEdit); - this.groupBox1.Controls.Add(this.btnSearchFission); - this.groupBox1.Controls.Add(this.btnAddFissToUpload); - this.groupBox1.Controls.Add(this.btnEditCheckUpdate); - this.groupBox1.Controls.Add(this.btnCheckUpProduct); - this.groupBox1.Controls.Add(this.btnDeleteSelect); - this.groupBox1.Controls.Add(this.btnClearList); - this.groupBox1.Controls.Add(this.btnClearParams); - this.groupBox1.Location = new System.Drawing.Point(715, 2); - this.groupBox1.Name = "groupBox1"; - this.groupBox1.Size = new System.Drawing.Size(314, 132); - this.groupBox1.TabIndex = 2; - this.groupBox1.TabStop = false; - this.groupBox1.Text = "产品数据操作"; - // - // btnMulitEdit - // - this.btnMulitEdit.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.btnMulitEdit.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnMulitEdit.Location = new System.Drawing.Point(23, 27); - this.btnMulitEdit.Name = "btnMulitEdit"; - this.btnMulitEdit.Size = new System.Drawing.Size(80, 23); - this.btnMulitEdit.Style = DevComponents.DotNetBar.eDotNetBarStyle.OfficeXP; - this.btnMulitEdit.TabIndex = 69; - this.btnMulitEdit.Text = "审核勾选"; - this.btnMulitEdit.TextColor = System.Drawing.Color.White; - this.btnMulitEdit.ThemeAware = true; - this.btnMulitEdit.Click += new System.EventHandler(this.btnMulitEdit_Click); - // - // btnSearchFission - // - this.btnSearchFission.CanvasColor = System.Drawing.SystemColors.Control; - this.btnSearchFission.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.btnSearchFission.DisabledBackColor = System.Drawing.Color.Empty; - this.btnSearchFission.Location = new System.Drawing.Point(23, 92); - this.btnSearchFission.Name = "btnSearchFission"; - this.btnSearchFission.Size = new System.Drawing.Size(80, 23); - this.btnSearchFission.Style.Alignment = System.Drawing.StringAlignment.Center; - this.btnSearchFission.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); - this.btnSearchFission.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); - this.btnSearchFission.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; - this.btnSearchFission.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnSearchFission.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; - this.btnSearchFission.Style.GradientAngle = 90; - this.btnSearchFission.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center; - this.btnSearchFission.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; - this.btnSearchFission.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnSearchFission.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnSearchFission.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; - this.btnSearchFission.TabIndex = 62; - this.btnSearchFission.Text = "开始搜索"; - this.btnSearchFission.Click += new System.EventHandler(this.btnSearchFission_Click); - // - // btnAddFissToUpload - // - this.btnAddFissToUpload.CanvasColor = System.Drawing.SystemColors.Control; - this.btnAddFissToUpload.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.btnAddFissToUpload.DisabledBackColor = System.Drawing.Color.Empty; - this.btnAddFissToUpload.Location = new System.Drawing.Point(119, 92); - this.btnAddFissToUpload.Name = "btnAddFissToUpload"; - this.btnAddFissToUpload.Size = new System.Drawing.Size(176, 23); - this.btnAddFissToUpload.Style.Alignment = System.Drawing.StringAlignment.Center; - this.btnAddFissToUpload.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); - this.btnAddFissToUpload.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); - this.btnAddFissToUpload.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; - this.btnAddFissToUpload.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnAddFissToUpload.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; - this.btnAddFissToUpload.Style.GradientAngle = 90; - this.btnAddFissToUpload.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center; - this.btnAddFissToUpload.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; - this.btnAddFissToUpload.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnAddFissToUpload.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnAddFissToUpload.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; - this.btnAddFissToUpload.TabIndex = 58; - this.btnAddFissToUpload.Text = "添加勾选到上传"; - this.btnAddFissToUpload.Click += new System.EventHandler(this.btnAddFissToUpload_Click); - // - // btnEditCheckUpdate - // - this.btnEditCheckUpdate.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.btnEditCheckUpdate.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); - this.btnEditCheckUpdate.Location = new System.Drawing.Point(215, 27); - this.btnEditCheckUpdate.Name = "btnEditCheckUpdate"; - this.btnEditCheckUpdate.Size = new System.Drawing.Size(80, 23); - this.btnEditCheckUpdate.Style = DevComponents.DotNetBar.eDotNetBarStyle.OfficeXP; - this.btnEditCheckUpdate.TabIndex = 10; - this.btnEditCheckUpdate.Text = "批量更新校验"; - this.btnEditCheckUpdate.ThemeAware = true; - this.btnEditCheckUpdate.Click += new System.EventHandler(this.btnEditCheckUpdate_Click); - // - // btnCheckUpProduct - // - this.btnCheckUpProduct.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.btnCheckUpProduct.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnCheckUpProduct.Location = new System.Drawing.Point(119, 27); - this.btnCheckUpProduct.Name = "btnCheckUpProduct"; - this.btnCheckUpProduct.Size = new System.Drawing.Size(80, 23); - this.btnCheckUpProduct.Style = DevComponents.DotNetBar.eDotNetBarStyle.OfficeXP; - this.btnCheckUpProduct.TabIndex = 8; - this.btnCheckUpProduct.Text = "校验勾选"; - this.btnCheckUpProduct.TextColor = System.Drawing.Color.White; - this.btnCheckUpProduct.ThemeAware = true; - this.btnCheckUpProduct.Click += new System.EventHandler(this.btnCheckUpProduct_Click); - // - // btnDeleteSelect - // - this.btnDeleteSelect.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.btnDeleteSelect.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnDeleteSelect.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.btnDeleteSelect.Location = new System.Drawing.Point(23, 60); - this.btnDeleteSelect.Name = "btnDeleteSelect"; - this.btnDeleteSelect.Size = new System.Drawing.Size(80, 23); - this.btnDeleteSelect.Style = DevComponents.DotNetBar.eDotNetBarStyle.OfficeXP; - this.btnDeleteSelect.TabIndex = 3; - this.btnDeleteSelect.Text = "删除勾选"; - this.btnDeleteSelect.TextColor = System.Drawing.Color.White; - this.btnDeleteSelect.ThemeAware = true; - this.btnDeleteSelect.Click += new System.EventHandler(this.btnDeleteSelect_Click); - // - // btnClearList - // - this.btnClearList.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.btnClearList.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnClearList.Location = new System.Drawing.Point(215, 60); - this.btnClearList.Name = "btnClearList"; - this.btnClearList.Size = new System.Drawing.Size(80, 23); - this.btnClearList.Style = DevComponents.DotNetBar.eDotNetBarStyle.OfficeXP; - this.btnClearList.TabIndex = 1; - this.btnClearList.Text = "清空列表"; - this.btnClearList.TextColor = System.Drawing.Color.White; - this.btnClearList.ThemeAware = true; - this.btnClearList.Click += new System.EventHandler(this.btnClearList_Click); - // - // btnClearParams - // - this.btnClearParams.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.btnClearParams.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnClearParams.Location = new System.Drawing.Point(119, 60); - this.btnClearParams.Name = "btnClearParams"; - this.btnClearParams.Size = new System.Drawing.Size(80, 23); - this.btnClearParams.Style = DevComponents.DotNetBar.eDotNetBarStyle.OfficeXP; - this.btnClearParams.TabIndex = 0; - this.btnClearParams.Text = "还原参数"; - this.btnClearParams.TextColor = System.Drawing.Color.White; - this.btnClearParams.ThemeAware = true; - this.btnClearParams.Click += new System.EventHandler(this.btnClearParams_Click); - // - // groupBox14 - // - this.groupBox14.Controls.Add(this.txtMaxTimes); - this.groupBox14.Controls.Add(this.label5); - this.groupBox14.Controls.Add(this.txtMinTimes); - this.groupBox14.Controls.Add(this.labelX4); - this.groupBox14.Controls.Add(this.label6); - this.groupBox14.Controls.Add(this.cmbCheckResult); - this.groupBox14.Controls.Add(this.cmbCat1); - this.groupBox14.Controls.Add(this.labelX3); - this.groupBox14.Controls.Add(this.labelX2); - this.groupBox14.Controls.Add(this.pnlDelCate); - this.groupBox14.Controls.Add(this.cmbGroup); - this.groupBox14.Controls.Add(this.labelX1); - this.groupBox14.Controls.Add(this.cmbShopCat3); - this.groupBox14.Controls.Add(this.cmbShopCat2); - this.groupBox14.Controls.Add(this.cmbShopCat1); - this.groupBox14.Controls.Add(this.cmbShop); - this.groupBox14.Controls.Add(this.lblShop); - this.groupBox14.Controls.Add(this.dtEndTime); - this.groupBox14.Controls.Add(this.dtBaginTime); - this.groupBox14.Controls.Add(this.cmbSource); - this.groupBox14.Controls.Add(this.labelX45); - this.groupBox14.Controls.Add(this.labelX47); - this.groupBox14.Controls.Add(this.txtFisssionTitle); - this.groupBox14.Controls.Add(this.labelX23); - this.groupBox14.Controls.Add(this.txtSaleAmountMax); - this.groupBox14.Controls.Add(this.label16); - this.groupBox14.Controls.Add(this.txtSaleAmountMin); - this.groupBox14.Controls.Add(this.label19); - this.groupBox14.Controls.Add(this.txtPriceMax); - this.groupBox14.Controls.Add(this.txtPriceMin); - this.groupBox14.Controls.Add(this.labelX24); - this.groupBox14.Controls.Add(this.labelX25); - this.groupBox14.Controls.Add(this.label1); - this.groupBox14.Controls.Add(this.label2); - this.groupBox14.Controls.Add(this.label3); - this.groupBox14.Controls.Add(this.label15); - this.groupBox14.Controls.Add(this.label20); - this.groupBox14.Controls.Add(this.label4); - this.groupBox14.Location = new System.Drawing.Point(4, 2); - this.groupBox14.Name = "groupBox14"; - this.groupBox14.Size = new System.Drawing.Size(705, 132); - this.groupBox14.TabIndex = 1; - this.groupBox14.TabStop = false; - this.groupBox14.Text = "搜索参数设置"; - // - // txtMaxTimes - // - // - // - // - this.txtMaxTimes.Border.Class = "TextBoxBorder"; - this.txtMaxTimes.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.txtMaxTimes.Location = new System.Drawing.Point(105, 75); - this.txtMaxTimes.Name = "txtMaxTimes"; - this.txtMaxTimes.PreventEnterBeep = true; - this.txtMaxTimes.Size = new System.Drawing.Size(46, 23); - this.txtMaxTimes.TabIndex = 67; - this.txtMaxTimes.Text = "99999"; - // - // label5 - // - this.label5.AutoSize = true; - this.label5.Location = new System.Drawing.Point(150, 78); - this.label5.Name = "label5"; - this.label5.Size = new System.Drawing.Size(20, 17); - this.label5.TabIndex = 69; - this.label5.Text = "次"; - // - // txtMinTimes - // - // - // - // - this.txtMinTimes.Border.Class = "TextBoxBorder"; - this.txtMinTimes.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.txtMinTimes.Location = new System.Drawing.Point(62, 75); - this.txtMinTimes.Name = "txtMinTimes"; - this.txtMinTimes.PreventEnterBeep = true; - this.txtMinTimes.Size = new System.Drawing.Size(33, 23); - this.txtMinTimes.TabIndex = 66; - this.txtMinTimes.Text = "0"; - // - // labelX4 - // - // - // - // - this.labelX4.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.labelX4.Location = new System.Drawing.Point(8, 75); - this.labelX4.Name = "labelX4"; - this.labelX4.Size = new System.Drawing.Size(56, 23); - this.labelX4.TabIndex = 68; - this.labelX4.Text = "使用次数"; - // - // label6 - // - this.label6.AutoSize = true; - this.label6.Location = new System.Drawing.Point(94, 78); - this.label6.Name = "label6"; - this.label6.Size = new System.Drawing.Size(13, 17); - this.label6.TabIndex = 70; - this.label6.Text = "-"; - // - // cmbCheckResult - // - this.cmbCheckResult.DisplayMember = "Text"; - this.cmbCheckResult.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; - this.cmbCheckResult.FormattingEnabled = true; - this.cmbCheckResult.ItemHeight = 18; - this.cmbCheckResult.Items.AddRange(new object[] { - this.cbiAllCheckResult, - this.cbiNeedUpdate, - this.cbiNeedDelete}); - this.cmbCheckResult.Location = new System.Drawing.Point(62, 102); - this.cmbCheckResult.Name = "cmbCheckResult"; - this.cmbCheckResult.Size = new System.Drawing.Size(106, 24); - this.cmbCheckResult.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.cmbCheckResult.TabIndex = 61; - // - // cbiAllCheckResult - // - this.cbiAllCheckResult.Text = "不限"; - // - // cbiNeedUpdate - // - this.cbiNeedUpdate.Text = "需更新商品"; - // - // cbiNeedDelete - // - this.cbiNeedDelete.Text = "上家下架"; - // - // cmbCat1 - // - this.cmbCat1.DisplayMember = "Text"; - this.cmbCat1.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; - this.cmbCat1.FormattingEnabled = true; - this.cmbCat1.ItemHeight = 18; - this.cmbCat1.Location = new System.Drawing.Point(240, 74); - this.cmbCat1.Name = "cmbCat1"; - this.cmbCat1.Size = new System.Drawing.Size(220, 24); - this.cmbCat1.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.cmbCat1.TabIndex = 52; - this.cmbCat1.SelectedIndexChanged += new System.EventHandler(this.cmbCat1_SelectedIndexChanged); - // - // labelX3 - // - this.labelX3.AutoSize = true; - // - // - // - this.labelX3.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.labelX3.Location = new System.Drawing.Point(8, 104); - this.labelX3.Name = "labelX3"; - this.labelX3.Size = new System.Drawing.Size(56, 20); - this.labelX3.TabIndex = 62; - this.labelX3.Text = "校验结果"; - // - // labelX2 - // - // - // - // - this.labelX2.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.labelX2.Location = new System.Drawing.Point(198, 75); - this.labelX2.Name = "labelX2"; - this.labelX2.Size = new System.Drawing.Size(43, 23); - this.labelX2.TabIndex = 53; - this.labelX2.Text = "主分类"; - // - // pnlDelCate - // - this.pnlDelCate.CanvasColor = System.Drawing.SystemColors.Control; - this.pnlDelCate.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.pnlDelCate.DisabledBackColor = System.Drawing.Color.Empty; - this.pnlDelCate.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.pnlDelCate.Location = new System.Drawing.Point(427, 49); - this.pnlDelCate.Name = "pnlDelCate"; - this.pnlDelCate.Padding = new System.Windows.Forms.Padding(0, 0, 0, 1); - this.pnlDelCate.Size = new System.Drawing.Size(15, 18); - this.pnlDelCate.Style.Alignment = System.Drawing.StringAlignment.Center; - this.pnlDelCate.Style.BackColor1.Color = System.Drawing.Color.Transparent; - this.pnlDelCate.Style.BackColor2.Color = System.Drawing.Color.Transparent; - this.pnlDelCate.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; - this.pnlDelCate.Style.ForeColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(91)))), ((int)(((byte)(107)))), ((int)(((byte)(147))))); - this.pnlDelCate.Style.GradientAngle = 90; - this.pnlDelCate.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center; - this.pnlDelCate.StyleMouseDown.BackColor1.Alpha = ((byte)(128)); - this.pnlDelCate.StyleMouseDown.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(227)))), ((int)(((byte)(239)))), ((int)(((byte)(255))))); - this.pnlDelCate.StyleMouseDown.BackColor2.Alpha = ((byte)(128)); - this.pnlDelCate.StyleMouseDown.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(175)))), ((int)(((byte)(210)))), ((int)(((byte)(255))))); - this.pnlDelCate.StyleMouseDown.Border = DevComponents.DotNetBar.eBorderType.SingleLine; - this.pnlDelCate.StyleMouseDown.BorderColor.Alpha = ((byte)(128)); - this.pnlDelCate.StyleMouseDown.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(101)))), ((int)(((byte)(147)))), ((int)(((byte)(207))))); - this.pnlDelCate.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; - this.pnlDelCate.StyleMouseOver.BackColor1.Alpha = ((byte)(128)); - this.pnlDelCate.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(227)))), ((int)(((byte)(239)))), ((int)(((byte)(255))))); - this.pnlDelCate.StyleMouseOver.BackColor2.Alpha = ((byte)(128)); - this.pnlDelCate.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(175)))), ((int)(((byte)(210)))), ((int)(((byte)(255))))); - this.pnlDelCate.StyleMouseOver.Border = DevComponents.DotNetBar.eBorderType.SingleLine; - this.pnlDelCate.StyleMouseOver.BorderColor.Alpha = ((byte)(128)); - this.pnlDelCate.StyleMouseOver.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(101)))), ((int)(((byte)(147)))), ((int)(((byte)(207))))); - this.pnlDelCate.TabIndex = 48; - this.pnlDelCate.Text = "x"; - this.pnlDelCate.Click += new System.EventHandler(this.pnlDelCate_Click); - // - // cmbGroup - // - this.cmbGroup.DisplayMember = "Text"; - this.cmbGroup.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; - this.cmbGroup.FormattingEnabled = true; - this.cmbGroup.ItemHeight = 18; - this.cmbGroup.Location = new System.Drawing.Point(366, 46); - this.cmbGroup.Name = "cmbGroup"; - this.cmbGroup.Size = new System.Drawing.Size(94, 24); - this.cmbGroup.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.cmbGroup.TabIndex = 43; - // - // labelX1 - // - // - // - // - this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.labelX1.Location = new System.Drawing.Point(335, 47); - this.labelX1.Name = "labelX1"; - this.labelX1.Size = new System.Drawing.Size(30, 23); - this.labelX1.TabIndex = 44; - this.labelX1.Text = "分组"; - // - // cmbShopCat3 - // - this.cmbShopCat3.DisplayMember = "Text"; - this.cmbShopCat3.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; - this.cmbShopCat3.FormattingEnabled = true; - this.cmbShopCat3.ItemHeight = 18; - this.cmbShopCat3.Location = new System.Drawing.Point(510, 102); - this.cmbShopCat3.Name = "cmbShopCat3"; - this.cmbShopCat3.Size = new System.Drawing.Size(170, 24); - this.cmbShopCat3.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.cmbShopCat3.TabIndex = 11; - this.cmbShopCat3.SelectedIndexChanged += new System.EventHandler(this.cmbShopCat3_SelectedIndexChanged); - // - // cmbShopCat2 - // - this.cmbShopCat2.DisplayMember = "Text"; - this.cmbShopCat2.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; - this.cmbShopCat2.FormattingEnabled = true; - this.cmbShopCat2.ItemHeight = 18; - this.cmbShopCat2.Location = new System.Drawing.Point(510, 74); - this.cmbShopCat2.Name = "cmbShopCat2"; - this.cmbShopCat2.Size = new System.Drawing.Size(170, 24); - this.cmbShopCat2.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.cmbShopCat2.TabIndex = 10; - this.cmbShopCat2.SelectedIndexChanged += new System.EventHandler(this.cmbShopCat2_SelectedIndexChanged); - // - // cmbShopCat1 - // - this.cmbShopCat1.DisplayMember = "Text"; - this.cmbShopCat1.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; - this.cmbShopCat1.FormattingEnabled = true; - this.cmbShopCat1.ItemHeight = 18; - this.cmbShopCat1.Location = new System.Drawing.Point(510, 46); - this.cmbShopCat1.Name = "cmbShopCat1"; - this.cmbShopCat1.Size = new System.Drawing.Size(170, 24); - this.cmbShopCat1.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.cmbShopCat1.TabIndex = 9; - this.cmbShopCat1.SelectedIndexChanged += new System.EventHandler(this.cmbShopCat1_SelectedIndexChanged); - // - // cmbShop - // - this.cmbShop.DisplayMember = "Text"; - this.cmbShop.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; - this.cmbShop.FormattingEnabled = true; - this.cmbShop.ItemHeight = 18; - this.cmbShop.Location = new System.Drawing.Point(510, 18); - this.cmbShop.Name = "cmbShop"; - this.cmbShop.Size = new System.Drawing.Size(170, 24); - this.cmbShop.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.cmbShop.TabIndex = 8; - this.cmbShop.SelectedIndexChanged += new System.EventHandler(this.cboxShop_SelectedIndexChanged); - // - // lblShop - // - this.lblShop.AutoSize = true; - this.lblShop.Cursor = System.Windows.Forms.Cursors.Hand; - this.lblShop.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.lblShop.ForeColor = System.Drawing.Color.Blue; - this.lblShop.Location = new System.Drawing.Point(475, 24); - this.lblShop.Name = "lblShop"; - this.lblShop.Size = new System.Drawing.Size(41, 12); - this.lblShop.TabIndex = 33; - this.lblShop.Text = "店铺:"; - // - // dtEndTime - // - // - // - // - this.dtEndTime.BackgroundStyle.Class = "DateTimeInputBackground"; - this.dtEndTime.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.dtEndTime.ButtonDropDown.Shortcut = DevComponents.DotNetBar.eShortcut.AltDown; - this.dtEndTime.ButtonDropDown.Visible = true; - this.dtEndTime.IsPopupCalendarOpen = false; - this.dtEndTime.Location = new System.Drawing.Point(355, 103); - // - // - // - // - // - // - this.dtEndTime.MonthCalendar.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.dtEndTime.MonthCalendar.CalendarDimensions = new System.Drawing.Size(1, 1); - this.dtEndTime.MonthCalendar.ClearButtonVisible = true; - // - // - // - this.dtEndTime.MonthCalendar.CommandsBackgroundStyle.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.BarBackground2; - this.dtEndTime.MonthCalendar.CommandsBackgroundStyle.BackColorGradientAngle = 90; - this.dtEndTime.MonthCalendar.CommandsBackgroundStyle.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.BarBackground; - this.dtEndTime.MonthCalendar.CommandsBackgroundStyle.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; - this.dtEndTime.MonthCalendar.CommandsBackgroundStyle.BorderTopColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.BarDockedBorder; - this.dtEndTime.MonthCalendar.CommandsBackgroundStyle.BorderTopWidth = 1; - this.dtEndTime.MonthCalendar.CommandsBackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.dtEndTime.MonthCalendar.DisplayMonth = new System.DateTime(2019, 3, 1, 0, 0, 0, 0); - // - // - // - this.dtEndTime.MonthCalendar.NavigationBackgroundStyle.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; - this.dtEndTime.MonthCalendar.NavigationBackgroundStyle.BackColorGradientAngle = 90; - this.dtEndTime.MonthCalendar.NavigationBackgroundStyle.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; - this.dtEndTime.MonthCalendar.NavigationBackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.dtEndTime.MonthCalendar.TodayButtonVisible = true; - this.dtEndTime.Name = "dtEndTime"; - this.dtEndTime.Size = new System.Drawing.Size(105, 23); - this.dtEndTime.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.dtEndTime.TabIndex = 7; - // - // dtBaginTime - // - // - // - // - this.dtBaginTime.BackgroundStyle.Class = "DateTimeInputBackground"; - this.dtBaginTime.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.dtBaginTime.ButtonDropDown.Shortcut = DevComponents.DotNetBar.eShortcut.AltDown; - this.dtBaginTime.ButtonDropDown.Visible = true; - this.dtBaginTime.IsPopupCalendarOpen = false; - this.dtBaginTime.Location = new System.Drawing.Point(240, 103); - // - // - // - // - // - // - this.dtBaginTime.MonthCalendar.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.dtBaginTime.MonthCalendar.CalendarDimensions = new System.Drawing.Size(1, 1); - this.dtBaginTime.MonthCalendar.ClearButtonVisible = true; - // - // - // - this.dtBaginTime.MonthCalendar.CommandsBackgroundStyle.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.BarBackground2; - this.dtBaginTime.MonthCalendar.CommandsBackgroundStyle.BackColorGradientAngle = 90; - this.dtBaginTime.MonthCalendar.CommandsBackgroundStyle.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.BarBackground; - this.dtBaginTime.MonthCalendar.CommandsBackgroundStyle.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; - this.dtBaginTime.MonthCalendar.CommandsBackgroundStyle.BorderTopColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.BarDockedBorder; - this.dtBaginTime.MonthCalendar.CommandsBackgroundStyle.BorderTopWidth = 1; - this.dtBaginTime.MonthCalendar.CommandsBackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.dtBaginTime.MonthCalendar.DisplayMonth = new System.DateTime(2019, 3, 1, 0, 0, 0, 0); - // - // - // - this.dtBaginTime.MonthCalendar.NavigationBackgroundStyle.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; - this.dtBaginTime.MonthCalendar.NavigationBackgroundStyle.BackColorGradientAngle = 90; - this.dtBaginTime.MonthCalendar.NavigationBackgroundStyle.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; - this.dtBaginTime.MonthCalendar.NavigationBackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.dtBaginTime.MonthCalendar.TodayButtonVisible = true; - this.dtBaginTime.Name = "dtBaginTime"; - this.dtBaginTime.Size = new System.Drawing.Size(105, 23); - this.dtBaginTime.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.dtBaginTime.TabIndex = 6; - // - // cmbSource - // - this.cmbSource.DisplayMember = "Text"; - this.cmbSource.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; - this.cmbSource.FormattingEnabled = true; - this.cmbSource.ItemHeight = 18; - this.cmbSource.Items.AddRange(new object[] { - this.cbiAll, - this.cbiTaobao, - this.cbiPingdd, - this.cbi1688, - this.cbiDy}); - this.cmbSource.Location = new System.Drawing.Point(240, 46); - this.cmbSource.Name = "cmbSource"; - this.cmbSource.Size = new System.Drawing.Size(90, 24); - this.cmbSource.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.cmbSource.TabIndex = 4; - this.cmbSource.Text = "货源网"; - // - // cbiAll - // - this.cbiAll.Text = "不限"; - // - // cbiTaobao - // - this.cbiTaobao.Text = "淘宝"; - // - // cbiPingdd - // - this.cbiPingdd.Text = "拼多多"; - // - // cbi1688 - // - this.cbi1688.Text = "阿里巴巴"; - // - // cbiDy - // - this.cbiDy.Text = "抖音"; - // - // labelX45 - // - // - // - // - this.labelX45.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.labelX45.Location = new System.Drawing.Point(211, 47); - this.labelX45.Name = "labelX45"; - this.labelX45.Size = new System.Drawing.Size(30, 23); - this.labelX45.TabIndex = 23; - this.labelX45.Text = "来源"; - // - // labelX47 - // - // - // - // - this.labelX47.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.labelX47.Location = new System.Drawing.Point(185, 103); - this.labelX47.Name = "labelX47"; - this.labelX47.Size = new System.Drawing.Size(56, 23); - this.labelX47.TabIndex = 19; - this.labelX47.Text = "起止时间"; - // - // txtFisssionTitle - // - // - // - // - this.txtFisssionTitle.Border.Class = "TextBoxBorder"; - this.txtFisssionTitle.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.txtFisssionTitle.Location = new System.Drawing.Point(240, 19); - this.txtFisssionTitle.Name = "txtFisssionTitle"; - this.txtFisssionTitle.PreventEnterBeep = true; - this.txtFisssionTitle.Size = new System.Drawing.Size(220, 23); - this.txtFisssionTitle.TabIndex = 5; - // - // labelX23 - // - this.labelX23.AutoSize = true; - // - // - // - this.labelX23.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.labelX23.Location = new System.Drawing.Point(197, 20); - this.labelX23.Name = "labelX23"; - this.labelX23.Size = new System.Drawing.Size(44, 20); - this.labelX23.TabIndex = 17; - this.labelX23.Text = "关键字"; - // - // txtSaleAmountMax - // - // - // - // - this.txtSaleAmountMax.Border.Class = "TextBoxBorder"; - this.txtSaleAmountMax.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.txtSaleAmountMax.Location = new System.Drawing.Point(105, 47); - this.txtSaleAmountMax.Name = "txtSaleAmountMax"; - this.txtSaleAmountMax.PreventEnterBeep = true; - this.txtSaleAmountMax.Size = new System.Drawing.Size(46, 23); - this.txtSaleAmountMax.TabIndex = 3; - this.txtSaleAmountMax.Text = "99999"; - // - // label16 - // - this.label16.AutoSize = true; - this.label16.Location = new System.Drawing.Point(150, 50); - this.label16.Name = "label16"; - this.label16.Size = new System.Drawing.Size(20, 17); - this.label16.TabIndex = 14; - this.label16.Text = "个"; - // - // txtSaleAmountMin - // - // - // - // - this.txtSaleAmountMin.Border.Class = "TextBoxBorder"; - this.txtSaleAmountMin.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.txtSaleAmountMin.Location = new System.Drawing.Point(62, 47); - this.txtSaleAmountMin.Name = "txtSaleAmountMin"; - this.txtSaleAmountMin.PreventEnterBeep = true; - this.txtSaleAmountMin.Size = new System.Drawing.Size(33, 23); - this.txtSaleAmountMin.TabIndex = 2; - this.txtSaleAmountMin.Text = "0"; - // - // label19 - // - this.label19.AutoSize = true; - this.label19.Location = new System.Drawing.Point(151, 22); - this.label19.Name = "label19"; - this.label19.Size = new System.Drawing.Size(20, 17); - this.label19.TabIndex = 10; - this.label19.Text = "元"; - // - // txtPriceMax - // - // - // - // - this.txtPriceMax.Border.Class = "TextBoxBorder"; - this.txtPriceMax.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.txtPriceMax.Location = new System.Drawing.Point(105, 19); - this.txtPriceMax.Name = "txtPriceMax"; - this.txtPriceMax.PreventEnterBeep = true; - this.txtPriceMax.Size = new System.Drawing.Size(46, 23); - this.txtPriceMax.TabIndex = 1; - this.txtPriceMax.Text = "99999"; - // - // txtPriceMin - // - // - // - // - this.txtPriceMin.Border.Class = "TextBoxBorder"; - this.txtPriceMin.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.txtPriceMin.Location = new System.Drawing.Point(62, 19); - this.txtPriceMin.Name = "txtPriceMin"; - this.txtPriceMin.PreventEnterBeep = true; - this.txtPriceMin.Size = new System.Drawing.Size(33, 23); - this.txtPriceMin.TabIndex = 0; - this.txtPriceMin.Text = "0"; - // - // labelX24 - // - // - // - // - this.labelX24.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.labelX24.Location = new System.Drawing.Point(8, 47); - this.labelX24.Name = "labelX24"; - this.labelX24.Size = new System.Drawing.Size(56, 23); - this.labelX24.TabIndex = 4; - this.labelX24.Text = "销量区间"; - // - // labelX25 - // - // - // - // - this.labelX25.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.labelX25.Location = new System.Drawing.Point(8, 19); - this.labelX25.Name = "labelX25"; - this.labelX25.Size = new System.Drawing.Size(56, 23); - this.labelX25.TabIndex = 3; - this.labelX25.Text = "价格区间"; - // - // label1 - // - this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(474, 50); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(44, 17); - this.label1.TabIndex = 40; - this.label1.Text = "一级:"; - // - // label2 - // - this.label2.AutoSize = true; - this.label2.Location = new System.Drawing.Point(474, 78); - this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(44, 17); - this.label2.TabIndex = 41; - this.label2.Text = "二级:"; - // - // label3 - // - this.label3.AutoSize = true; - this.label3.Location = new System.Drawing.Point(474, 106); - this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(44, 17); - this.label3.TabIndex = 42; - this.label3.Text = "三级:"; - // - // label15 - // - this.label15.AutoSize = true; - this.label15.Location = new System.Drawing.Point(94, 50); - this.label15.Name = "label15"; - this.label15.Size = new System.Drawing.Size(13, 17); - this.label15.TabIndex = 16; - this.label15.Text = "-"; - // - // label20 - // - this.label20.AutoSize = true; - this.label20.Location = new System.Drawing.Point(94, 22); - this.label20.Name = "label20"; - this.label20.Size = new System.Drawing.Size(13, 17); - this.label20.TabIndex = 9; - this.label20.Text = "-"; - // - // label4 - // - this.label4.AutoSize = true; - this.label4.Location = new System.Drawing.Point(344, 106); - this.label4.Name = "label4"; - this.label4.Size = new System.Drawing.Size(13, 17); - this.label4.TabIndex = 65; - this.label4.Text = "-"; - // - // splitContainer2 - // - this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill; - this.splitContainer2.FixedPanel = System.Windows.Forms.FixedPanel.Panel2; - this.splitContainer2.Location = new System.Drawing.Point(0, 0); - this.splitContainer2.Name = "splitContainer2"; - this.splitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal; - // - // splitContainer2.Panel1 - // - this.splitContainer2.Panel1.Controls.Add(this.chkNeedUpdate); - this.splitContainer2.Panel1.Controls.Add(this.chkDeleteUpDown); - this.splitContainer2.Panel1.Controls.Add(this.pbLoading); - this.splitContainer2.Panel1.Controls.Add(this.chkUpdateUpChange); - this.splitContainer2.Panel1.Controls.Add(this.superTabControl1); - this.splitContainer2.Panel1.Controls.Add(this.chkIsProxyIp); - this.splitContainer2.Panel1.Controls.Add(this.dgvFissionProduct); - this.splitContainer2.Panel1.Controls.Add(this.labelX48); - this.splitContainer2.Panel1.Padding = new System.Windows.Forms.Padding(4, 0, 4, 0); - // - // splitContainer2.Panel2 - // - this.splitContainer2.Panel2.Controls.Add(this.chkAutoTurnPage); - this.splitContainer2.Panel2.Controls.Add(this.progressBarX1); - this.splitContainer2.Panel2.Controls.Add(this.btnGoTo); - this.splitContainer2.Panel2.Controls.Add(this.lblPrev); - this.splitContainer2.Panel2.Controls.Add(this.lblNext); - this.splitContainer2.Panel2.Controls.Add(this.cboxDisplayCount); - this.splitContainer2.Panel2.Controls.Add(this.labelX46); - this.splitContainer2.Panel2.Controls.Add(this.labelX43); - this.splitContainer2.Panel2.Controls.Add(this.txtCurrentPage); - this.splitContainer2.Panel2.Controls.Add(this.labelX42); - this.splitContainer2.Panel2.Controls.Add(this.lblTotalPage); - this.splitContainer2.Panel2.Controls.Add(this.labelX40); - this.splitContainer2.Panel2.Controls.Add(this.lblCurrentPage); - this.splitContainer2.Size = new System.Drawing.Size(1264, 332); - this.splitContainer2.SplitterDistance = 302; - this.splitContainer2.TabIndex = 0; - // - // chkNeedUpdate - // - this.chkNeedUpdate.AutoSize = true; - this.chkNeedUpdate.Location = new System.Drawing.Point(165, 150); - this.chkNeedUpdate.Name = "chkNeedUpdate"; - this.chkNeedUpdate.Size = new System.Drawing.Size(123, 21); - this.chkNeedUpdate.TabIndex = 57; - this.chkNeedUpdate.Text = "仅显示需更新商品"; - this.chkNeedUpdate.UseVisualStyleBackColor = true; - this.chkNeedUpdate.Visible = false; - this.chkNeedUpdate.CheckedChanged += new System.EventHandler(this.chkNeedUpdate_CheckedChanged); - // - // chkDeleteUpDown - // - this.chkDeleteUpDown.AutoSize = true; - this.chkDeleteUpDown.Location = new System.Drawing.Point(165, 123); - this.chkDeleteUpDown.Name = "chkDeleteUpDown"; - this.chkDeleteUpDown.Size = new System.Drawing.Size(147, 21); - this.chkDeleteUpDown.TabIndex = 9; - this.chkDeleteUpDown.Text = "校验删除总店下架商品"; - this.chkDeleteUpDown.UseVisualStyleBackColor = true; - this.chkDeleteUpDown.Visible = false; - this.chkDeleteUpDown.CheckedChanged += new System.EventHandler(this.chkDeleteUpDown_CheckedChanged); - // - // pbLoading - // - this.pbLoading.Anchor = System.Windows.Forms.AnchorStyles.Top; - this.pbLoading.Image = global::TemuKJD.Properties.Resources.loading_blue; - this.pbLoading.Location = new System.Drawing.Point(596, 107); - this.pbLoading.Name = "pbLoading"; - this.pbLoading.Size = new System.Drawing.Size(72, 64); - this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; - this.pbLoading.TabIndex = 49; - this.pbLoading.TabStop = false; - this.pbLoading.Visible = false; - // - // chkUpdateUpChange - // - this.chkUpdateUpChange.AutoSize = true; - this.chkUpdateUpChange.Location = new System.Drawing.Point(912, 203); - this.chkUpdateUpChange.Name = "chkUpdateUpChange"; - this.chkUpdateUpChange.Size = new System.Drawing.Size(147, 21); - this.chkUpdateUpChange.TabIndex = 10; - this.chkUpdateUpChange.Text = "校验更新规格变化商品"; - this.chkUpdateUpChange.UseVisualStyleBackColor = true; - this.chkUpdateUpChange.Visible = false; - this.chkUpdateUpChange.CheckedChanged += new System.EventHandler(this.chkUpdateUpChange_CheckedChanged); - // - // superTabControl1 - // - this.superTabControl1.BackColor = System.Drawing.Color.White; - // - // - // - // - // - // - this.superTabControl1.ControlBox.CloseBox.Name = ""; - // - // - // - this.superTabControl1.ControlBox.MenuBox.Name = ""; - this.superTabControl1.ControlBox.Name = ""; - this.superTabControl1.ControlBox.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { - this.superTabControl1.ControlBox.MenuBox, - this.superTabControl1.ControlBox.CloseBox}); - this.superTabControl1.ControlBox.Visible = false; - this.superTabControl1.Controls.Add(this.superTabControlPanel1); - this.superTabControl1.Controls.Add(this.superTabControlPanel2); - this.superTabControl1.FixedTabSize = new System.Drawing.Size(85, 18); - this.superTabControl1.ForeColor = System.Drawing.Color.Black; - this.superTabControl1.Location = new System.Drawing.Point(746, 36); - this.superTabControl1.Name = "superTabControl1"; - this.superTabControl1.ReorderTabsEnabled = true; - this.superTabControl1.SelectedTabFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold); - this.superTabControl1.SelectedTabIndex = 0; - this.superTabControl1.Size = new System.Drawing.Size(313, 125); - this.superTabControl1.TabFont = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.superTabControl1.TabIndex = 47; - this.superTabControl1.Tabs.AddRange(new DevComponents.DotNetBar.BaseItem[] { - this.superTabItem1, - this.superTabItem2}); - this.superTabControl1.TabStyle = DevComponents.DotNetBar.eSuperTabStyle.Office2010BackstageBlue; - this.superTabControl1.Text = "superTabControl1"; - this.superTabControl1.Visible = false; - // - // superTabControlPanel1 - // - this.superTabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; - this.superTabControlPanel1.Location = new System.Drawing.Point(0, 20); - this.superTabControlPanel1.Name = "superTabControlPanel1"; - this.superTabControlPanel1.Size = new System.Drawing.Size(313, 105); - this.superTabControlPanel1.TabIndex = 1; - this.superTabControlPanel1.TabItem = this.superTabItem1; - // - // superTabItem1 - // - this.superTabItem1.AttachedControl = this.superTabControlPanel1; - this.superTabItem1.GlobalItem = false; - this.superTabItem1.Name = "superTabItem1"; - this.superTabItem1.Text = "产品数据操作"; - // - // superTabControlPanel2 - // - this.superTabControlPanel2.Controls.Add(this.buttonX3); - this.superTabControlPanel2.Controls.Add(this.btnRestore); - this.superTabControlPanel2.Controls.Add(this.btnCpRecycleBin); - this.superTabControlPanel2.Controls.Add(this.buttonX5); - this.superTabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; - this.superTabControlPanel2.Location = new System.Drawing.Point(0, 20); - this.superTabControlPanel2.Name = "superTabControlPanel2"; - this.superTabControlPanel2.Size = new System.Drawing.Size(313, 105); - this.superTabControlPanel2.TabIndex = 0; - this.superTabControlPanel2.TabItem = this.superTabItem2; - // - // buttonX3 - // - this.buttonX3.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX3.Location = new System.Drawing.Point(15, 14); - this.buttonX3.Name = "buttonX3"; - this.buttonX3.Size = new System.Drawing.Size(75, 23); - this.buttonX3.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX3.TabIndex = 7; - this.buttonX3.Text = "清空参数"; - // - // btnRestore - // - this.btnRestore.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.btnRestore.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.btnRestore.Location = new System.Drawing.Point(110, 42); - this.btnRestore.Name = "btnRestore"; - this.btnRestore.Size = new System.Drawing.Size(75, 23); - this.btnRestore.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.btnRestore.TabIndex = 5; - this.btnRestore.Text = "恢复"; - // - // btnCpRecycleBin - // - this.btnCpRecycleBin.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.btnCpRecycleBin.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.btnCpRecycleBin.Location = new System.Drawing.Point(110, 14); - this.btnCpRecycleBin.Name = "btnCpRecycleBin"; - this.btnCpRecycleBin.Size = new System.Drawing.Size(75, 23); - this.btnCpRecycleBin.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.btnCpRecycleBin.TabIndex = 5; - this.btnCpRecycleBin.Text = "开始搜索"; - // - // buttonX5 - // - this.buttonX5.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX5.Location = new System.Drawing.Point(15, 42); - this.buttonX5.Name = "buttonX5"; - this.buttonX5.Size = new System.Drawing.Size(75, 23); - this.buttonX5.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX5.TabIndex = 6; - this.buttonX5.Text = "清空列表"; - // - // superTabItem2 - // - this.superTabItem2.AttachedControl = this.superTabControlPanel2; - this.superTabItem2.GlobalItem = false; - this.superTabItem2.Name = "superTabItem2"; - this.superTabItem2.Text = "产品回收站"; - this.superTabItem2.Visible = false; - // - // chkIsProxyIp - // - this.chkIsProxyIp.AutoSize = true; - this.chkIsProxyIp.Location = new System.Drawing.Point(889, 230); - this.chkIsProxyIp.Name = "chkIsProxyIp"; - this.chkIsProxyIp.Size = new System.Drawing.Size(170, 21); - this.chkIsProxyIp.TabIndex = 6; - this.chkIsProxyIp.Text = "校验上传商品时使用代理IP"; - this.chkIsProxyIp.UseVisualStyleBackColor = true; - this.chkIsProxyIp.Visible = false; - // - // dgvFissionProduct - // - this.dgvFissionProduct.AllowUserToAddRows = false; - this.dgvFissionProduct.AllowUserToDeleteRows = false; - dataGridViewCellStyle1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(249)))), ((int)(((byte)(249)))), ((int)(((byte)(249))))); - this.dgvFissionProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1; - this.dgvFissionProduct.BackgroundColor = System.Drawing.Color.White; - this.dgvFissionProduct.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control; - dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText; - dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.WindowText; - dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dgvFissionProduct.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2; - this.dgvFissionProduct.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; - this.dgvFissionProduct.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { - this.ColSelect, - this.ColId, - this.Title, - this.ColOriginalTitle, - this.OriginalId, - this.Price, - this.SaleAmount, - this.ColCategory, - this.ColFullCategory, - this.ColCategory1, - this.ColCategory2, - this.ColCategory3, - this.ColTitleNum, - this.ColUseCount, - this.ColDel, - this.ColReEdit, - this.colMessage, - this.ColSource, - this.ColSourceFake, - this.ColRkTime, - this.ColUpdateTime, - this.ColNeedUpdate}); - dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle3.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle3.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle3.ForeColor = System.Drawing.SystemColors.WindowText; - dataGridViewCellStyle3.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle3.SelectionForeColor = System.Drawing.SystemColors.WindowText; - dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dgvFissionProduct.DefaultCellStyle = dataGridViewCellStyle3; - this.dgvFissionProduct.Dock = System.Windows.Forms.DockStyle.Fill; - this.dgvFissionProduct.EnableHeadersVisualStyles = false; - this.dgvFissionProduct.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(208)))), ((int)(((byte)(215)))), ((int)(((byte)(229))))); - this.dgvFissionProduct.Location = new System.Drawing.Point(4, 0); - this.dgvFissionProduct.Margin = new System.Windows.Forms.Padding(0); - this.dgvFissionProduct.Name = "dgvFissionProduct"; - this.dgvFissionProduct.ReadOnly = true; - dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Control; - dataGridViewCellStyle4.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.WindowText; - dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.WindowText; - dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.True; - this.dgvFissionProduct.RowHeadersDefaultCellStyle = dataGridViewCellStyle4; - this.dgvFissionProduct.RowTemplate.Height = 23; - this.dgvFissionProduct.ShowCellErrors = false; - this.dgvFissionProduct.ShowRowErrors = false; - this.dgvFissionProduct.Size = new System.Drawing.Size(1256, 302); - this.dgvFissionProduct.TabIndex = 0; - this.dgvFissionProduct.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvFissionProduct_CellContentClick); - // - // labelX48 - // - // - // - // - this.labelX48.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.labelX48.Location = new System.Drawing.Point(43, 121); - this.labelX48.Name = "labelX48"; - this.labelX48.Size = new System.Drawing.Size(56, 23); - this.labelX48.TabIndex = 19; - this.labelX48.Text = "结束时间"; - // - // chkAutoTurnPage - // - this.chkAutoTurnPage.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.chkAutoTurnPage.AutoSize = true; - this.chkAutoTurnPage.Location = new System.Drawing.Point(645, 1); - this.chkAutoTurnPage.Name = "chkAutoTurnPage"; - this.chkAutoTurnPage.Size = new System.Drawing.Size(111, 21); - this.chkAutoTurnPage.TabIndex = 58; - this.chkAutoTurnPage.Text = "校验时自动翻页"; - this.chkAutoTurnPage.UseVisualStyleBackColor = true; - // - // progressBarX1 - // - // - // - // - this.progressBarX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.progressBarX1.Location = new System.Drawing.Point(3, 0); - this.progressBarX1.Name = "progressBarX1"; - this.progressBarX1.Size = new System.Drawing.Size(248, 22); - this.progressBarX1.TabIndex = 40; - this.progressBarX1.Text = "progressBarX1"; - this.progressBarX1.Visible = false; - // - // btnGoTo - // - this.btnGoTo.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.btnGoTo.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.btnGoTo.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); - this.btnGoTo.Cursor = System.Windows.Forms.Cursors.Hand; - this.btnGoTo.Location = new System.Drawing.Point(1221, 1); - this.btnGoTo.Name = "btnGoTo"; - this.btnGoTo.Size = new System.Drawing.Size(39, 21); - this.btnGoTo.Style = DevComponents.DotNetBar.eDotNetBarStyle.OfficeXP; - this.btnGoTo.TabIndex = 39; - this.btnGoTo.Text = "前往"; - this.btnGoTo.ThemeAware = true; - this.btnGoTo.Click += new System.EventHandler(this.btnGoTo_Click); - // - // lblPrev - // - this.lblPrev.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.lblPrev.AutoSize = true; - // - // - // - this.lblPrev.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.lblPrev.Cursor = System.Windows.Forms.Cursors.Hand; - this.lblPrev.ForeColor = System.Drawing.SystemColors.ControlText; - this.lblPrev.Location = new System.Drawing.Point(922, 1); - this.lblPrev.Name = "lblPrev"; - this.lblPrev.Size = new System.Drawing.Size(44, 20); - this.lblPrev.TabIndex = 29; - this.lblPrev.Text = "上一页"; - this.lblPrev.Click += new System.EventHandler(this.lblPrev_Click); - // - // lblNext - // - this.lblNext.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.lblNext.AutoSize = true; - // - // - // - this.lblNext.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.lblNext.Cursor = System.Windows.Forms.Cursors.Hand; - this.lblNext.Location = new System.Drawing.Point(1054, 1); - this.lblNext.Name = "lblNext"; - this.lblNext.Size = new System.Drawing.Size(44, 20); - this.lblNext.TabIndex = 30; - this.lblNext.Text = "下一页"; - this.lblNext.Click += new System.EventHandler(this.lblNext_Click); - // - // cboxDisplayCount - // - this.cboxDisplayCount.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.cboxDisplayCount.DisplayMember = "Text"; - this.cboxDisplayCount.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; - this.cboxDisplayCount.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.cboxDisplayCount.Font = new System.Drawing.Font("微软雅黑", 8.5F); - this.cboxDisplayCount.FormattingEnabled = true; - this.cboxDisplayCount.ItemHeight = 17; - this.cboxDisplayCount.Location = new System.Drawing.Point(860, 0); - this.cboxDisplayCount.Name = "cboxDisplayCount"; - this.cboxDisplayCount.Size = new System.Drawing.Size(50, 23); - this.cboxDisplayCount.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.cboxDisplayCount.TabIndex = 38; - // - // labelX46 - // - this.labelX46.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - // - // - // - this.labelX46.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.labelX46.ForeColor = System.Drawing.SystemColors.ControlText; - this.labelX46.Location = new System.Drawing.Point(769, 2); - this.labelX46.Name = "labelX46"; - this.labelX46.Size = new System.Drawing.Size(95, 18); - this.labelX46.TabIndex = 37; - this.labelX46.Text = "每页显示条数:"; - this.labelX46.TextAlignment = System.Drawing.StringAlignment.Far; - // - // labelX43 - // - this.labelX43.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.labelX43.AutoSize = true; - // - // - // - this.labelX43.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.labelX43.Location = new System.Drawing.Point(1202, 1); - this.labelX43.Name = "labelX43"; - this.labelX43.Size = new System.Drawing.Size(19, 20); - this.labelX43.TabIndex = 36; - this.labelX43.Text = "页"; - // - // txtCurrentPage - // - this.txtCurrentPage.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - // - // - // - this.txtCurrentPage.Border.Class = "TextBoxBorder"; - this.txtCurrentPage.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.txtCurrentPage.Font = new System.Drawing.Font("微软雅黑", 8.5F); - this.txtCurrentPage.Location = new System.Drawing.Point(1163, 0); - this.txtCurrentPage.Name = "txtCurrentPage"; - this.txtCurrentPage.PreventEnterBeep = true; - this.txtCurrentPage.Size = new System.Drawing.Size(33, 22); - this.txtCurrentPage.TabIndex = 33; - this.txtCurrentPage.Text = "1"; - this.txtCurrentPage.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - // - // labelX42 - // - this.labelX42.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.labelX42.AutoSize = true; - // - // - // - this.labelX42.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.labelX42.Location = new System.Drawing.Point(1108, 1); - this.labelX42.Name = "labelX42"; - this.labelX42.Size = new System.Drawing.Size(56, 20); - this.labelX42.TabIndex = 35; - this.labelX42.Text = "跳转到第"; - // - // lblTotalPage - // - this.lblTotalPage.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - // - // - // - this.lblTotalPage.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.lblTotalPage.Location = new System.Drawing.Point(1019, 2); - this.lblTotalPage.Name = "lblTotalPage"; - this.lblTotalPage.Size = new System.Drawing.Size(38, 18); - this.lblTotalPage.TabIndex = 34; - this.lblTotalPage.Text = "1"; - // - // labelX40 - // - this.labelX40.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - // - // - // - this.labelX40.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.labelX40.Location = new System.Drawing.Point(1003, 2); - this.labelX40.Name = "labelX40"; - this.labelX40.Size = new System.Drawing.Size(10, 18); - this.labelX40.TabIndex = 32; - this.labelX40.Text = "/"; - // - // lblCurrentPage - // - this.lblCurrentPage.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - // - // - // - this.lblCurrentPage.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.lblCurrentPage.Location = new System.Drawing.Point(960, 2); - this.lblCurrentPage.Name = "lblCurrentPage"; - this.lblCurrentPage.Size = new System.Drawing.Size(38, 18); - this.lblCurrentPage.TabIndex = 31; - this.lblCurrentPage.Text = "1"; - this.lblCurrentPage.TextAlignment = System.Drawing.StringAlignment.Far; - // - // ColSelect - // - this.ColSelect.HeaderText = "选"; - this.ColSelect.Name = "ColSelect"; - this.ColSelect.ReadOnly = true; - this.ColSelect.Resizable = System.Windows.Forms.DataGridViewTriState.True; - this.ColSelect.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; - this.ColSelect.Width = 40; - // - // ColId - // - this.ColId.HeaderText = "ID"; - this.ColId.Name = "ColId"; - this.ColId.ReadOnly = true; - this.ColId.Visible = false; - // - // Title - // - this.Title.HeaderText = "标题"; - this.Title.Name = "Title"; - this.Title.ReadOnly = true; - this.Title.Width = 120; - // - // ColOriginalTitle - // - this.ColOriginalTitle.HeaderText = "原始标题"; - this.ColOriginalTitle.Name = "ColOriginalTitle"; - this.ColOriginalTitle.ReadOnly = true; - this.ColOriginalTitle.Width = 120; - // - // OriginalId - // - this.OriginalId.HeaderText = "原始ID"; - this.OriginalId.Name = "OriginalId"; - this.OriginalId.ReadOnly = true; - this.OriginalId.Resizable = System.Windows.Forms.DataGridViewTriState.True; - this.OriginalId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; - this.OriginalId.Width = 120; - // - // Price - // - this.Price.HeaderText = "价格"; - this.Price.Name = "Price"; - this.Price.ReadOnly = true; - this.Price.Width = 55; - // - // SaleAmount - // - this.SaleAmount.HeaderText = "销量"; - this.SaleAmount.Name = "SaleAmount"; - this.SaleAmount.ReadOnly = true; - this.SaleAmount.Width = 55; - // - // ColCategory - // - this.ColCategory.HeaderText = "分组"; - this.ColCategory.Name = "ColCategory"; - this.ColCategory.ReadOnly = true; - this.ColCategory.Width = 80; - // - // ColFullCategory - // - this.ColFullCategory.HeaderText = "完整类目"; - this.ColFullCategory.Name = "ColFullCategory"; - this.ColFullCategory.ReadOnly = true; - this.ColFullCategory.Width = 120; - // - // ColCategory1 - // - this.ColCategory1.HeaderText = "一级类目"; - this.ColCategory1.Name = "ColCategory1"; - this.ColCategory1.ReadOnly = true; - this.ColCategory1.Visible = false; - // - // ColCategory2 - // - this.ColCategory2.HeaderText = "二级类目"; - this.ColCategory2.Name = "ColCategory2"; - this.ColCategory2.ReadOnly = true; - this.ColCategory2.Visible = false; - // - // ColCategory3 - // - this.ColCategory3.HeaderText = "三级类目"; - this.ColCategory3.Name = "ColCategory3"; - this.ColCategory3.ReadOnly = true; - this.ColCategory3.Visible = false; - // - // ColTitleNum - // - this.ColTitleNum.HeaderText = "标题数量"; - this.ColTitleNum.Name = "ColTitleNum"; - this.ColTitleNum.ReadOnly = true; - this.ColTitleNum.Visible = false; - // - // ColUseCount - // - this.ColUseCount.HeaderText = "使用次数"; - this.ColUseCount.Name = "ColUseCount"; - this.ColUseCount.ReadOnly = true; - this.ColUseCount.Width = 70; - // - // ColDel - // - this.ColDel.HeaderText = "操作"; - this.ColDel.Name = "ColDel"; - this.ColDel.ReadOnly = true; - this.ColDel.Resizable = System.Windows.Forms.DataGridViewTriState.True; - this.ColDel.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; - this.ColDel.Width = 50; - // - // ColReEdit - // - this.ColReEdit.HeaderText = "编辑"; - this.ColReEdit.Name = "ColReEdit"; - this.ColReEdit.ReadOnly = true; - this.ColReEdit.Resizable = System.Windows.Forms.DataGridViewTriState.True; - this.ColReEdit.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; - this.ColReEdit.Width = 50; - // - // colMessage - // - this.colMessage.HeaderText = "消息"; - this.colMessage.Name = "colMessage"; - this.colMessage.ReadOnly = true; - // - // ColSource - // - this.ColSource.HeaderText = "来源"; - this.ColSource.Name = "ColSource"; - this.ColSource.ReadOnly = true; - this.ColSource.Visible = false; - this.ColSource.Width = 50; - // - // ColSourceFake - // - this.ColSourceFake.HeaderText = "来源"; - this.ColSourceFake.Name = "ColSourceFake"; - this.ColSourceFake.ReadOnly = true; - this.ColSourceFake.Width = 50; - // - // ColRkTime - // - this.ColRkTime.HeaderText = "入库时间"; - this.ColRkTime.Name = "ColRkTime"; - this.ColRkTime.ReadOnly = true; - this.ColRkTime.Width = 138; - // - // ColUpdateTime - // - this.ColUpdateTime.HeaderText = "更新时间"; - this.ColUpdateTime.Name = "ColUpdateTime"; - this.ColUpdateTime.ReadOnly = true; - this.ColUpdateTime.Width = 138; - // - // ColNeedUpdate - // - this.ColNeedUpdate.HeaderText = "校验结果"; - this.ColNeedUpdate.Name = "ColNeedUpdate"; - this.ColNeedUpdate.ReadOnly = true; - // - // FissionDataBaseForm - // - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; - this.BackColor = System.Drawing.Color.White; - this.ClientSize = new System.Drawing.Size(1264, 471); - this.Controls.Add(this.splitContainer1); - this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.Name = "FissionDataBaseForm"; - this.Text = "产品数据库"; - this.Load += new System.EventHandler(this.FissionDataBaseForm_Load); - this.splitContainer1.Panel1.ResumeLayout(false); - this.splitContainer1.Panel2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); - this.splitContainer1.ResumeLayout(false); - this.groupBox1.ResumeLayout(false); - this.groupBox14.ResumeLayout(false); - this.groupBox14.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.dtEndTime)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.dtBaginTime)).EndInit(); - this.splitContainer2.Panel1.ResumeLayout(false); - this.splitContainer2.Panel1.PerformLayout(); - this.splitContainer2.Panel2.ResumeLayout(false); - this.splitContainer2.Panel2.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit(); - this.splitContainer2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.pbLoading)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.superTabControl1)).EndInit(); - this.superTabControl1.ResumeLayout(false); - this.superTabControlPanel2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.dgvFissionProduct)).EndInit(); - this.ResumeLayout(false); - - } - - #endregion - - private System.Windows.Forms.SplitContainer splitContainer1; - private DevComponents.DotNetBar.SuperTabControl superTabControl1; - private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel1; - private System.Windows.Forms.CheckBox chkIsProxyIp; - private DevComponents.DotNetBar.ButtonX btnDeleteSelect; - private DevComponents.DotNetBar.ButtonX btnClearParams; - private DevComponents.DotNetBar.ButtonX btnClearList; - private DevComponents.DotNetBar.ButtonX btnToUpload; - private DevComponents.DotNetBar.SuperTabItem superTabItem1; - private DevComponents.DotNetBar.SuperTabControlPanel superTabControlPanel2; - private DevComponents.DotNetBar.ButtonX buttonX3; - private DevComponents.DotNetBar.ButtonX btnRestore; - private DevComponents.DotNetBar.ButtonX btnCpRecycleBin; - private DevComponents.DotNetBar.ButtonX buttonX5; - private DevComponents.DotNetBar.SuperTabItem superTabItem2; - private System.Windows.Forms.GroupBox groupBox14; - private DevComponents.DotNetBar.PanelEx pnlDelCate; - private DevComponents.DotNetBar.Controls.ComboBoxEx cmbGroup; - private DevComponents.DotNetBar.LabelX labelX1; - private System.Windows.Forms.Label label3; - private System.Windows.Forms.Label label2; - private System.Windows.Forms.Label label1; - private DevComponents.DotNetBar.Controls.ComboBoxEx cmbShopCat3; - private DevComponents.DotNetBar.Controls.ComboBoxEx cmbShopCat2; - private DevComponents.DotNetBar.Controls.ComboBoxEx cmbShopCat1; - private DevComponents.DotNetBar.Controls.ComboBoxEx cmbShop; - private System.Windows.Forms.Label lblShop; - private DevComponents.Editors.DateTimeAdv.DateTimeInput dtEndTime; - private DevComponents.Editors.DateTimeAdv.DateTimeInput dtBaginTime; - private DevComponents.DotNetBar.Controls.ComboBoxEx cmbSource; - private DevComponents.Editors.ComboItem cbiAll; - private DevComponents.Editors.ComboItem cbiTaobao; - private DevComponents.Editors.ComboItem cbiPingdd; - private DevComponents.Editors.ComboItem cbi1688; - private DevComponents.DotNetBar.LabelX labelX45; - private DevComponents.DotNetBar.LabelX labelX48; - private DevComponents.DotNetBar.LabelX labelX47; - private DevComponents.DotNetBar.Controls.TextBoxX txtFisssionTitle; - private DevComponents.DotNetBar.LabelX labelX23; - private System.Windows.Forms.Label label15; - private DevComponents.DotNetBar.Controls.TextBoxX txtSaleAmountMax; - private System.Windows.Forms.Label label16; - private DevComponents.DotNetBar.Controls.TextBoxX txtSaleAmountMin; - private System.Windows.Forms.Label label19; - private System.Windows.Forms.Label label20; - private DevComponents.DotNetBar.Controls.TextBoxX txtPriceMax; - private DevComponents.DotNetBar.Controls.TextBoxX txtPriceMin; - private DevComponents.DotNetBar.LabelX labelX24; - private DevComponents.DotNetBar.LabelX labelX25; - private System.Windows.Forms.SplitContainer splitContainer2; - private UserComponent.DataGridViewEx dgvFissionProduct; - private DevComponents.DotNetBar.ButtonX btnGoTo; - private DevComponents.DotNetBar.LabelX lblPrev; - private DevComponents.DotNetBar.LabelX lblNext; - private DevComponents.DotNetBar.Controls.ComboBoxEx cboxDisplayCount; - private DevComponents.DotNetBar.LabelX labelX46; - private DevComponents.DotNetBar.LabelX labelX43; - private DevComponents.DotNetBar.Controls.TextBoxX txtCurrentPage; - private DevComponents.DotNetBar.LabelX labelX42; - private DevComponents.DotNetBar.LabelX lblTotalPage; - private DevComponents.DotNetBar.LabelX labelX40; - private DevComponents.DotNetBar.LabelX lblCurrentPage; - private DevComponents.DotNetBar.Controls.ComboBoxEx cmbCat1; - private DevComponents.DotNetBar.LabelX labelX2; - private DevComponents.DotNetBar.ButtonX btnCheckUpProduct; - private System.Windows.Forms.GroupBox groupBox1; - private System.Windows.Forms.CheckBox chkUpdateUpChange; - private System.Windows.Forms.CheckBox chkDeleteUpDown; - private DevComponents.DotNetBar.ButtonX btnEditCheckUpdate; - private System.Windows.Forms.CheckBox chkNeedUpdate; - private System.Windows.Forms.PictureBox pbLoading; - private DevComponents.DotNetBar.Controls.ProgressBarX progressBarX1; - private DevComponents.DotNetBar.Controls.ComboBoxEx cmbCheckResult; - private DevComponents.DotNetBar.LabelX labelX3; - private DevComponents.Editors.ComboItem cbiNeedUpdate; - private DevComponents.Editors.ComboItem cbiNeedDelete; - private DevComponents.Editors.ComboItem cbiAllCheckResult; - private System.Windows.Forms.CheckBox chkAutoTurnPage; - private DevComponents.Editors.ComboItem cbiDy; - private DevComponents.DotNetBar.PanelEx btnSearchFission; - private DevComponents.DotNetBar.PanelEx btnAddFissToUpload; - private DevComponents.DotNetBar.Controls.TextBoxX txtMaxTimes; - private System.Windows.Forms.Label label5; - private DevComponents.DotNetBar.Controls.TextBoxX txtMinTimes; - private DevComponents.DotNetBar.LabelX labelX4; - private System.Windows.Forms.Label label6; - private System.Windows.Forms.Label label4; - private DevComponents.DotNetBar.ButtonX btnMulitEdit; - private System.Windows.Forms.DataGridViewCheckBoxColumn ColSelect; - private System.Windows.Forms.DataGridViewTextBoxColumn ColId; - private System.Windows.Forms.DataGridViewTextBoxColumn Title; - private System.Windows.Forms.DataGridViewTextBoxColumn ColOriginalTitle; - private System.Windows.Forms.DataGridViewLinkColumn OriginalId; - private System.Windows.Forms.DataGridViewTextBoxColumn Price; - private System.Windows.Forms.DataGridViewTextBoxColumn SaleAmount; - private System.Windows.Forms.DataGridViewTextBoxColumn ColCategory; - private System.Windows.Forms.DataGridViewTextBoxColumn ColFullCategory; - private System.Windows.Forms.DataGridViewTextBoxColumn ColCategory1; - private System.Windows.Forms.DataGridViewTextBoxColumn ColCategory2; - private System.Windows.Forms.DataGridViewTextBoxColumn ColCategory3; - private System.Windows.Forms.DataGridViewTextBoxColumn ColTitleNum; - private System.Windows.Forms.DataGridViewTextBoxColumn ColUseCount; - private System.Windows.Forms.DataGridViewLinkColumn ColDel; - private System.Windows.Forms.DataGridViewLinkColumn ColReEdit; - private System.Windows.Forms.DataGridViewTextBoxColumn colMessage; - private System.Windows.Forms.DataGridViewTextBoxColumn ColSource; - private System.Windows.Forms.DataGridViewTextBoxColumn ColSourceFake; - private System.Windows.Forms.DataGridViewTextBoxColumn ColRkTime; - private System.Windows.Forms.DataGridViewTextBoxColumn ColUpdateTime; - private System.Windows.Forms.DataGridViewTextBoxColumn ColNeedUpdate; - } -} \ No newline at end of file diff --git a/TEMUKJD/KJDForms/ProductForms/FissionUserControl/FissionDataBaseForm.resx b/TEMUKJD/KJDForms/ProductForms/FissionUserControl/FissionDataBaseForm.resx deleted file mode 100644 index 0baea7d..0000000 --- a/TEMUKJD/KJDForms/ProductForms/FissionUserControl/FissionDataBaseForm.resx +++ /dev/null @@ -1,183 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - - True - - \ No newline at end of file diff --git a/TEMUKJD/KJDForms/ProductForms/FissionUserControl/FissionShowBigImgForm.cs b/TEMUKJD/KJDForms/ProductForms/FissionUserControl/FissionShowBigImgForm.cs deleted file mode 100644 index faf16c8..0000000 --- a/TEMUKJD/KJDForms/ProductForms/FissionUserControl/FissionShowBigImgForm.cs +++ /dev/null @@ -1,199 +0,0 @@ -using CefSharp; -using TemuKJD.BaseForms; -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Drawing; -using System.IO; -using System.Linq; -using System.Runtime.InteropServices; -using System.Text; -using System.Threading.Tasks; -using System.Windows.Forms; - -namespace TemuKJD.KJDForms.ProductForms -{ - public partial class FissionShowBigImgForm : LRBaseForm - { - public string imgUrl = ""; - public string imgId = ""; - - public FissionShowBigImgForm(string ImgUrl = "", string ImgId = "") - { - this.DoubleBuffered = true;//设置本窗体 - SetStyle(ControlStyles.UserPaint, true); - SetStyle(ControlStyles.AllPaintingInWmPaint, true); // 禁止擦除背景. - SetStyle(ControlStyles.DoubleBuffer, true); // 双缓冲 - SetStyle(ControlStyles.DoubleBuffer | ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint, true); - UpdateStyles(); - - InitializeComponent(); - imgUrl = ImgUrl; - imgId = ImgId; - - this.ShowMaximizeBox = true; - } - protected override void WndProc(ref Message m) - { - if (m.Msg == 0x0014) // 禁掉清除背景消息 - return; - - - const int WM_HOTKEY = 0x0312; - //按快捷键 - switch (m.Msg) - { - case WM_HOTKEY: - switch (m.WParam.ToInt32()) - { - case 100: //按下的是100号快捷键 - btnShowPrev_Click(null, null); //此处填写快捷键响应代码 - break; - case 101: //按下的是101号快捷键 - btnShowNext_Click(null, null); //此处填写快捷键响应代码 - break; - case 102: //按下的是102号快捷键 - this.Close(); //此处填写快捷键响应代码 - break; - } - break; - } - - base.WndProc(ref m); - } - - private void ShowBigImgForm_Load(object sender, EventArgs e) - { - ShowImg(); - } - - public void ShowImg() - { - if (string.IsNullOrEmpty(imgId)) - { - this.btnShowPrev.Visible = false; - this.btnShowNext.Visible = false; - } - - if (!string.IsNullOrEmpty(imgUrl)) - { - try - { - Task.Run(() => - { - System.Threading.Thread.Sleep(10); - - AllBase.WebClientx web = new AllBase.WebClientx(); - var imgArr = web.DownloadData(imgUrl); - MemoryStream ms = new MemoryStream(imgArr); - Invoke(new Action(() => - { - this.pnlImg.BackgroundImage = Image.FromStream(ms); - ms.Dispose(); - })); - }); - } - catch - { - } - } - } - - private void ShowBigImgForm_SizeChanged(object sender, EventArgs e) - { - var deltaNumber = this.Height - 60; - if (this.Width - 28 < this.Height - 60) - deltaNumber = this.Width - 28; - this.pnlImg.Width = deltaNumber; - this.pnlImg.Height = deltaNumber; - this.pnlImg.Location = new Point((this.Width - 2) / 2 - this.pnlImg.Width / 2, (this.Height - 32 - 2) / 2 - this.pnlImg.Height / 2); - } - - private void btnShowNext_Click(object sender, EventArgs e) - { - if (btnShowNext.Visible == false) - return; - - var fiss = Fission.GetInstance(); - if (fiss != null && fiss.browser != null && fiss.browser.IsBrowserInitialized) - { - var jsCode = @"ShowNextImg('" + this.imgId + "');"; - Fission.GetInstance().browser.GetMainFrame().EvaluateScriptAsync(jsCode, null); - } - } - - private void btnShowPrev_Click(object sender, EventArgs e) - { - if (btnShowPrev.Visible == false) - return; - - var fiss = Fission.GetInstance(); - if (fiss != null && fiss.browser != null && fiss.browser.IsBrowserInitialized) - { - var jsCode = @"ShowPrevImg('" + this.imgId + "');"; - Fission.GetInstance().browser.GetMainFrame().EvaluateScriptAsync(jsCode, null); - } - } - - /// - /// 窗体激活时注册快捷键 - /// - /// - /// - private void FissionShowBigImgForm_Activated(object sender, EventArgs e) - { - //注册热键Shift+S,Id号为100。HotKey.KeyModifiers.Shift也可以直接使用数字4来表示。 - HotKey.RegisterHotKey(Handle, 100, HotKey.KeyModifiers.None, Keys.Left); - //注册热键Ctrl+B,Id号为101。HotKey.KeyModifiers.Ctrl也可以直接使用数字2来表示。 - HotKey.RegisterHotKey(Handle, 101, HotKey.KeyModifiers.None, Keys.Right); - //注册热键Alt+D,Id号为102。HotKey.KeyModifiers.Alt也可以直接使用数字1来表示。 - HotKey.RegisterHotKey(Handle, 102, HotKey.KeyModifiers.None, Keys.Escape); - - } - - /// - /// 窗体离开时注销快捷键 - /// - /// - /// - private void FissionShowBigImgForm_Leave(object sender, EventArgs e) - { - //注销Id号为100的热键设定 - HotKey.UnregisterHotKey(Handle, 100); - //注销Id号为101的热键设定 - HotKey.UnregisterHotKey(Handle, 101); - //注销Id号为102的热键设定 - HotKey.UnregisterHotKey(Handle, 102); - } - } - - class HotKey - { - //如果函数执行成功,返回值不为0。 - //如果函数执行失败,返回值为0。要得到扩展错误信息,调用GetLastError。 - [DllImport("user32.dll", SetLastError = true)] - public static extern bool RegisterHotKey( - IntPtr hWnd, //要定义热键的窗口的句柄 - int id, //定义热键ID(不能与其它ID重复) - KeyModifiers fsModifiers, //标识热键是否在按Alt、Ctrl、Shift、Windows等键时才会生效 - Keys vk //定义热键的内容 - ); - [DllImport("user32.dll", SetLastError = true)] - public static extern bool UnregisterHotKey( - IntPtr hWnd, //要取消热键的窗口的句柄 - int id //要取消热键的ID - ); - //定义了辅助键的名称(将数字转变为字符以便于记忆,也可去除此枚举而直接使用数值) - [Flags()] - public enum KeyModifiers - { - None = 0, - Alt = 1, - Ctrl = 2, - Shift = 4, - WindowsKey = 8 - } - } - -} diff --git a/TEMUKJD/KJDForms/ProductForms/FissionUserControl/FissionShowBigImgForm.designer.cs b/TEMUKJD/KJDForms/ProductForms/FissionUserControl/FissionShowBigImgForm.designer.cs deleted file mode 100644 index 5556bda..0000000 --- a/TEMUKJD/KJDForms/ProductForms/FissionUserControl/FissionShowBigImgForm.designer.cs +++ /dev/null @@ -1,142 +0,0 @@ -namespace TemuKJD.KJDForms.ProductForms -{ - partial class FissionShowBigImgForm - { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows Form Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FissionShowBigImgForm)); - this.panel2 = new System.Windows.Forms.Panel(); - this.btnShowPrev = new DevComponents.DotNetBar.PanelEx(); - this.btnShowNext = new DevComponents.DotNetBar.PanelEx(); - this.pnlImg = new System.Windows.Forms.Panel(); - this.panel2.SuspendLayout(); - this.SuspendLayout(); - // - // panel2 - // - this.panel2.BackColor = System.Drawing.Color.White; - this.panel2.Controls.Add(this.btnShowPrev); - this.panel2.Controls.Add(this.btnShowNext); - this.panel2.Controls.Add(this.pnlImg); - 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(1198, 766); - this.panel2.TabIndex = 1; - // - // btnShowPrev - // - this.btnShowPrev.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.btnShowPrev.CanvasColor = System.Drawing.SystemColors.Control; - this.btnShowPrev.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.btnShowPrev.DisabledBackColor = System.Drawing.Color.Empty; - this.btnShowPrev.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnShowPrev.Location = new System.Drawing.Point(94, 358); - this.btnShowPrev.Name = "btnShowPrev"; - this.btnShowPrev.Size = new System.Drawing.Size(50, 50); - this.btnShowPrev.Style.Alignment = System.Drawing.StringAlignment.Center; - this.btnShowPrev.Style.BackColor1.Color = System.Drawing.Color.White; - this.btnShowPrev.Style.BackColor2.Color = System.Drawing.Color.White; - this.btnShowPrev.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; - this.btnShowPrev.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnShowPrev.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; - this.btnShowPrev.Style.GradientAngle = 90; - this.btnShowPrev.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; - this.btnShowPrev.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnShowPrev.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnShowPrev.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; - this.btnShowPrev.TabIndex = 12; - this.btnShowPrev.Text = "<"; - this.btnShowPrev.Click += new System.EventHandler(this.btnShowPrev_Click); - // - // btnShowNext - // - this.btnShowNext.Anchor = System.Windows.Forms.AnchorStyles.Right; - this.btnShowNext.CanvasColor = System.Drawing.SystemColors.Control; - this.btnShowNext.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.btnShowNext.DisabledBackColor = System.Drawing.Color.Empty; - this.btnShowNext.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnShowNext.Location = new System.Drawing.Point(1056, 358); - this.btnShowNext.Name = "btnShowNext"; - this.btnShowNext.Size = new System.Drawing.Size(50, 50); - this.btnShowNext.Style.Alignment = System.Drawing.StringAlignment.Center; - this.btnShowNext.Style.BackColor1.Color = System.Drawing.Color.White; - this.btnShowNext.Style.BackColor2.Color = System.Drawing.Color.White; - this.btnShowNext.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; - this.btnShowNext.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnShowNext.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; - this.btnShowNext.Style.GradientAngle = 90; - this.btnShowNext.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; - this.btnShowNext.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnShowNext.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnShowNext.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; - this.btnShowNext.TabIndex = 5; - this.btnShowNext.Text = ">"; - this.btnShowNext.Click += new System.EventHandler(this.btnShowNext_Click); - // - // pnlImg - // - this.pnlImg.Anchor = System.Windows.Forms.AnchorStyles.Top; - this.pnlImg.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; - this.pnlImg.Location = new System.Drawing.Point(230, 13); - this.pnlImg.Name = "pnlImg"; - this.pnlImg.Size = new System.Drawing.Size(740, 740); - this.pnlImg.TabIndex = 4; - // - // FissionShowBigImgForm - // - this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; - this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(9)))), ((int)(((byte)(131)))), ((int)(((byte)(247))))); - this.ClientSize = new System.Drawing.Size(1200, 800); - 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.ShowMaximizeBox = true; - this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); - this.ShowMinimizedBox = true; - this.Name = "FissionShowBigImgForm"; - this.Text = "图片查看器"; - this.TitleText = "图片查看器"; - this.Activated += new System.EventHandler(this.FissionShowBigImgForm_Activated); - this.Load += new System.EventHandler(this.ShowBigImgForm_Load); - this.SizeChanged += new System.EventHandler(this.ShowBigImgForm_SizeChanged); - this.Leave += new System.EventHandler(this.FissionShowBigImgForm_Leave); - this.Controls.SetChildIndex(this.panel2, 0); - this.panel2.ResumeLayout(false); - this.ResumeLayout(false); - - } - - #endregion - - private System.Windows.Forms.Panel panel2; - private System.Windows.Forms.Panel pnlImg; - private DevComponents.DotNetBar.PanelEx btnShowNext; - private DevComponents.DotNetBar.PanelEx btnShowPrev; - } -} \ No newline at end of file diff --git a/TEMUKJD/KJDForms/ProductForms/FissionUserControl/FissionShowBigImgForm.resx b/TEMUKJD/KJDForms/ProductForms/FissionUserControl/FissionShowBigImgForm.resx deleted file mode 100644 index c0e9b3e..0000000 --- a/TEMUKJD/KJDForms/ProductForms/FissionUserControl/FissionShowBigImgForm.resx +++ /dev/null @@ -1,298 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - - AAABAAEAgIAQXAAAAABoKAAAFgAAACgAAACAAAAAAAEAAAEABAAAAAAAACgAAAAAAAAAAAAAAAAAAAAA - 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 - 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== - - - \ No newline at end of file diff --git a/TEMUKJD/KJDForms/ProductForms/FissionUserControl/UcCategoryProp.Designer.cs b/TEMUKJD/KJDForms/ProductForms/FissionUserControl/UcCategoryProp.Designer.cs deleted file mode 100644 index cd741ef..0000000 --- a/TEMUKJD/KJDForms/ProductForms/FissionUserControl/UcCategoryProp.Designer.cs +++ /dev/null @@ -1,84 +0,0 @@ -namespace TemuKJD.KJDForms.ProductForms.FissionUserControl -{ - partial class UcCategoryProp - { - /// - /// 必需的设计器变量。 - /// - private System.ComponentModel.IContainer components = null; - - /// - /// 清理所有正在使用的资源。 - /// - /// 如果应释放托管资源,为 true;否则为 false。 - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region 组件设计器生成的代码 - - /// - /// 设计器支持所需的方法 - 不要修改 - /// 使用代码编辑器修改此方法的内容。 - /// - private void InitializeComponent() - { - this.components = new System.ComponentModel.Container(); - this.ucGroupBoxEx1 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); - this.txtPropValue = new DevComponents.DotNetBar.Controls.TextBoxX(); - this.ucGroupBoxEx1.SuspendLayout(); - this.SuspendLayout(); - // - // ucGroupBoxEx1 - // - this.ucGroupBoxEx1.BorderColor = System.Drawing.Color.DodgerBlue; - this.ucGroupBoxEx1.BorderStyle = TemuKJD.UserComponent.UcGroupBoxEx.GroupBoxBorderStyle.SQUARE; - this.ucGroupBoxEx1.Controls.Add(this.txtPropValue); - this.ucGroupBoxEx1.Dock = System.Windows.Forms.DockStyle.Fill; - this.ucGroupBoxEx1.Location = new System.Drawing.Point(0, 0); - this.ucGroupBoxEx1.Name = "ucGroupBoxEx1"; - this.ucGroupBoxEx1.Size = new System.Drawing.Size(200, 50); - this.ucGroupBoxEx1.TabIndex = 3; - this.ucGroupBoxEx1.TabStop = false; - this.ucGroupBoxEx1.Text = "属性名称"; - // - // txtPropValue - // - this.txtPropValue.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - // - // - // - this.txtPropValue.Border.Class = "TextBoxBorder"; - this.txtPropValue.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.txtPropValue.Location = new System.Drawing.Point(6, 20); - this.txtPropValue.Name = "txtPropValue"; - this.txtPropValue.PreventEnterBeep = true; - this.txtPropValue.Size = new System.Drawing.Size(188, 21); - this.txtPropValue.TabIndex = 69; - this.txtPropValue.TextChanged += new System.EventHandler(this.txtPropValue_TextChanged); - // - // UcCategoryProp - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; - this.Controls.Add(this.ucGroupBoxEx1); - this.Name = "UcCategoryProp"; - this.Size = new System.Drawing.Size(200, 50); - this.Load += new System.EventHandler(this.UcCategoryProp_Load); - this.ucGroupBoxEx1.ResumeLayout(false); - this.ResumeLayout(false); - - } - - #endregion - - private UserComponent.UcGroupBoxEx ucGroupBoxEx1; - public DevComponents.DotNetBar.Controls.TextBoxX txtPropValue; - } -} diff --git a/TEMUKJD/KJDForms/ProductForms/FissionUserControl/UcCategoryProp.cs b/TEMUKJD/KJDForms/ProductForms/FissionUserControl/UcCategoryProp.cs deleted file mode 100644 index 453db18..0000000 --- a/TEMUKJD/KJDForms/ProductForms/FissionUserControl/UcCategoryProp.cs +++ /dev/null @@ -1,56 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Drawing; -using System.Data; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Windows.Forms; -using AllBase.Helper; -using TemuKJD.BaseForms; - -namespace TemuKJD.KJDForms.ProductForms.FissionUserControl -{ - public partial class UcCategoryProp : UserControl - { - private string propName; - public string PropName - { - get { return propName; } - set - { - propName = value; - } - } - public string PropValue { get; set; } - - /// - /// 如果是品牌,则记录品牌Id - /// - public string PropBrandId { get; set; } - - public UcCategoryProp() - { - InitializeComponent(); - } - - private void UcCategoryProp_Load(object sender, EventArgs e) - { - if (propName != null) - { - this.ucGroupBoxEx1.Text = propName; - - if (PropValue != null) - { - this.txtPropValue.Text = PropValue; - } - } - } - - private void txtPropValue_TextChanged(object sender, EventArgs e) - { - this.PropValue = txtPropValue.Text; - } - } -} diff --git a/TEMUKJD/KJDForms/ProductForms/FissionUserControl/UcCategoryProp.resx b/TEMUKJD/KJDForms/ProductForms/FissionUserControl/UcCategoryProp.resx deleted file mode 100644 index 1af7de1..0000000 --- a/TEMUKJD/KJDForms/ProductForms/FissionUserControl/UcCategoryProp.resx +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - \ No newline at end of file diff --git a/TEMUKJD/KJDForms/ProductForms/FissionUserControl/UcQualifiaction.Designer.cs b/TEMUKJD/KJDForms/ProductForms/FissionUserControl/UcQualifiaction.Designer.cs deleted file mode 100644 index 1015646..0000000 --- a/TEMUKJD/KJDForms/ProductForms/FissionUserControl/UcQualifiaction.Designer.cs +++ /dev/null @@ -1,173 +0,0 @@ -namespace TemuKJD.KJDForms.ProductForms.FissionUserControl -{ - partial class UcQualifiaction - { - /// - /// 必需的设计器变量。 - /// - private System.ComponentModel.IContainer components = null; - - /// - /// 清理所有正在使用的资源。 - /// - /// 如果应释放托管资源,为 true;否则为 false。 - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region 组件设计器生成的代码 - - /// - /// 设计器支持所需的方法 - 不要修改 - /// 使用代码编辑器修改此方法的内容。 - /// - private void InitializeComponent() - { - this.components = new System.ComponentModel.Container(); - this.txtQualificationNumber = new DevComponents.DotNetBar.Controls.TextBoxX(); - this.pictureBox1 = new System.Windows.Forms.PictureBox(); - this.ucGroupBoxEx1 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); - this.label1 = new System.Windows.Forms.Label(); - this.btnUploadImg = new DevComponents.DotNetBar.PanelEx(); - this.splitContainer1 = new System.Windows.Forms.SplitContainer(); - ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); - this.ucGroupBoxEx1.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); - this.splitContainer1.Panel1.SuspendLayout(); - this.splitContainer1.Panel2.SuspendLayout(); - this.splitContainer1.SuspendLayout(); - this.SuspendLayout(); - // - // txtQualificationNumber - // - this.txtQualificationNumber.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - // - // - // - this.txtQualificationNumber.Border.Class = "TextBoxBorder"; - this.txtQualificationNumber.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.txtQualificationNumber.Location = new System.Drawing.Point(3, 23); - this.txtQualificationNumber.Name = "txtQualificationNumber"; - this.txtQualificationNumber.PreventEnterBeep = true; - this.txtQualificationNumber.Size = new System.Drawing.Size(188, 21); - this.txtQualificationNumber.TabIndex = 0; - this.txtQualificationNumber.TextChanged += new System.EventHandler(this.txtQualificationNumber_TextChanged); - // - // pictureBox1 - // - this.pictureBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.pictureBox1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; - this.pictureBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.pictureBox1.Location = new System.Drawing.Point(3, 0); - this.pictureBox1.Name = "pictureBox1"; - this.pictureBox1.Size = new System.Drawing.Size(188, 162); - this.pictureBox1.TabIndex = 1; - this.pictureBox1.TabStop = false; - this.pictureBox1.Click += new System.EventHandler(this.pictureBox1_Click); - // - // ucGroupBoxEx1 - // - this.ucGroupBoxEx1.BorderColor = System.Drawing.Color.DodgerBlue; - this.ucGroupBoxEx1.BorderStyle = TemuKJD.UserComponent.UcGroupBoxEx.GroupBoxBorderStyle.SQUARE; - this.ucGroupBoxEx1.Controls.Add(this.splitContainer1); - this.ucGroupBoxEx1.Dock = System.Windows.Forms.DockStyle.Fill; - this.ucGroupBoxEx1.Location = new System.Drawing.Point(0, 0); - this.ucGroupBoxEx1.Name = "ucGroupBoxEx1"; - this.ucGroupBoxEx1.Size = new System.Drawing.Size(200, 260); - this.ucGroupBoxEx1.TabIndex = 2; - this.ucGroupBoxEx1.TabStop = false; - this.ucGroupBoxEx1.Text = "资质名称"; - // - // label1 - // - this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(6, 6); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(65, 12); - this.label1.TabIndex = 68; - this.label1.Text = "资质编号:"; - // - // btnUploadImg - // - this.btnUploadImg.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.btnUploadImg.CanvasColor = System.Drawing.SystemColors.Control; - this.btnUploadImg.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.btnUploadImg.DisabledBackColor = System.Drawing.Color.Empty; - this.btnUploadImg.Location = new System.Drawing.Point(3, 164); - this.btnUploadImg.Name = "btnUploadImg"; - this.btnUploadImg.Size = new System.Drawing.Size(188, 23); - this.btnUploadImg.Style.Alignment = System.Drawing.StringAlignment.Center; - this.btnUploadImg.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); - this.btnUploadImg.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); - this.btnUploadImg.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; - this.btnUploadImg.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnUploadImg.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; - this.btnUploadImg.Style.GradientAngle = 90; - this.btnUploadImg.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center; - this.btnUploadImg.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; - this.btnUploadImg.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnUploadImg.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnUploadImg.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; - this.btnUploadImg.TabIndex = 66; - this.btnUploadImg.Text = "上传图片"; - this.btnUploadImg.Click += new System.EventHandler(this.btnUploadImg_Click); - // - // splitContainer1 - // - this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill; - this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1; - this.splitContainer1.Location = new System.Drawing.Point(3, 17); - this.splitContainer1.Name = "splitContainer1"; - this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal; - // - // splitContainer1.Panel1 - // - this.splitContainer1.Panel1.Controls.Add(this.label1); - this.splitContainer1.Panel1.Controls.Add(this.txtQualificationNumber); - // - // splitContainer1.Panel2 - // - this.splitContainer1.Panel2.Controls.Add(this.pictureBox1); - this.splitContainer1.Panel2.Controls.Add(this.btnUploadImg); - this.splitContainer1.Size = new System.Drawing.Size(194, 240); - this.splitContainer1.SplitterDistance = 46; - this.splitContainer1.TabIndex = 72; - // - // QualifiactionControl - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; - this.Controls.Add(this.ucGroupBoxEx1); - this.Name = "QualifiactionControl"; - this.Size = new System.Drawing.Size(200, 260); - this.Load += new System.EventHandler(this.QualifiactionControl_Load); - ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); - this.ucGroupBoxEx1.ResumeLayout(false); - this.splitContainer1.Panel1.ResumeLayout(false); - this.splitContainer1.Panel1.PerformLayout(); - this.splitContainer1.Panel2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); - this.splitContainer1.ResumeLayout(false); - this.ResumeLayout(false); - - } - - #endregion - - private DevComponents.DotNetBar.Controls.TextBoxX txtQualificationNumber; - private System.Windows.Forms.PictureBox pictureBox1; - private UserComponent.UcGroupBoxEx ucGroupBoxEx1; - private DevComponents.DotNetBar.PanelEx btnUploadImg; - private System.Windows.Forms.Label label1; - private System.Windows.Forms.SplitContainer splitContainer1; - } -} diff --git a/TEMUKJD/KJDForms/ProductForms/FissionUserControl/UcQualifiaction.cs b/TEMUKJD/KJDForms/ProductForms/FissionUserControl/UcQualifiaction.cs deleted file mode 100644 index df320aa..0000000 --- a/TEMUKJD/KJDForms/ProductForms/FissionUserControl/UcQualifiaction.cs +++ /dev/null @@ -1,116 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Drawing; -using System.Data; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Windows.Forms; -using AllBase.Model.Param.ProductManage; -using AllBase; -using TemuKJD.BaseForms; -using TemuKJD.KJDForms.ProductForms; - -namespace TemuKJD.KJDForms.ProductForms.FissionUserControl -{ - public partial class UcQualifiaction : UserControl - { - private QualificationConfig qualification; - public QualificationConfig Qualification - { - get { return qualification; } - set - { - qualification = value; - if (qualification.name == "包装标签图") - { - this.Height = 220; this.splitContainer1.Panel1Collapsed = true; - } - } - } - public quality_file QualificationFile { get; set; } - - public UcQualifiaction() - { - InitializeComponent(); - } - - private void pictureBox1_Click(object sender, EventArgs e) - { - if (this.QualificationFile != null && this.QualificationFile.quality_attachments.Count > 0) - { - new FissionBrowserObject().ShowBigImg(this.QualificationFile.quality_attachments[0].url); - } - } - - private void QualifiactionControl_Load(object sender, EventArgs e) - { - this.pictureBox1.SizeMode = PictureBoxSizeMode.Zoom; - ShowQualification(); - } - - public void ShowQualification() - { - if (Qualification != null) - { - this.ucGroupBoxEx1.Text = Qualification.name; - - if (QualificationFile != null) - { - this.txtQualificationNumber.Text = QualificationFile.quality_number; - if (QualificationFile.quality_attachments.Count > 0) - this.pictureBox1.Load(QualificationFile.quality_attachments.FirstOrDefault().url); - } - } - } - - private void btnUploadImg_Click(object sender, EventArgs e) - { - if (Qualification == null || string.IsNullOrEmpty(Qualification.name)) - { - BaseMsgForm.ShowError("资质属性获取失败!请关闭窗口重试"); - return; - } - - var uploadResult = new FissionBrowserObject().addLocalPic(false); - if (uploadResult.Contains("\"msg\":\"success\"")) - { - if (QualificationFile == null) - { - QualificationFile = new quality_file(); - QualificationFile.quality_key = Qualification.key; - QualificationFile.quality_name = Qualification.name; - } - if (QualificationFile.quality_attachments == null) - QualificationFile.quality_attachments = new List(); - - var imageUrl = BaseRegex.GetStringJson(ref uploadResult, "src")?.Replace("\\/", "/"); - if (!string.IsNullOrEmpty(imageUrl)) - { - QualificationFile.quality_attachments.Clear(); - QualificationFile.quality_attachments.Add(new quality_attachment { media_type = 1, url = imageUrl }); - this.pictureBox1.Load(imageUrl); - } - } - } - - private void txtQualificationNumber_TextChanged(object sender, EventArgs e) - { - if (Qualification == null || string.IsNullOrEmpty(Qualification.name)) - { - BaseMsgForm.ShowError("资质属性获取失败!请关闭窗口重试"); - return; - } - - if (QualificationFile == null) - { - QualificationFile = new quality_file(); - QualificationFile.quality_key = Qualification.key; - QualificationFile.quality_name = Qualification.name; - } - - QualificationFile.quality_number = txtQualificationNumber.Text; - } - } -} diff --git a/TEMUKJD/KJDForms/ProductForms/FissionUserControl/UcQualifiaction.resx b/TEMUKJD/KJDForms/ProductForms/FissionUserControl/UcQualifiaction.resx deleted file mode 100644 index 1af7de1..0000000 --- a/TEMUKJD/KJDForms/ProductForms/FissionUserControl/UcQualifiaction.resx +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - \ No newline at end of file diff --git a/TEMUKJD/ToolForms/Old/KeywordsForms/KeywordsCatchFrom.Designer.cs b/TEMUKJD/ToolForms/Old/KeywordsForms/KeywordsCatchFrom.Designer.cs deleted file mode 100644 index 6a9c1c8..0000000 --- a/TEMUKJD/ToolForms/Old/KeywordsForms/KeywordsCatchFrom.Designer.cs +++ /dev/null @@ -1,799 +0,0 @@ - -namespace TemuKJD.KJDForms.ToolForms.KeywordsForms -{ - partial class KeywordsCatchFrom - { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows Form Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - this.components = new System.ComponentModel.Container(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(KeywordsCatchFrom)); - this.panel2 = new System.Windows.Forms.Panel(); - this.splitContainer1 = new System.Windows.Forms.SplitContainer(); - this.ucGroupBoxEx2 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); - this.btnChangeFissionTitle = new DevComponents.DotNetBar.PanelEx(); - this.btnPicToContent = new DevComponents.DotNetBar.PanelEx(); - this.exportButtonX = new DevComponents.DotNetBar.PanelEx(); - this.btnPicToMain = new DevComponents.DotNetBar.PanelEx(); - this.newWordTextBox = new System.Windows.Forms.TextBox(); - this.wordReplaceButtonX = new DevComponents.DotNetBar.PanelEx(); - this.oldWordTextBox = new System.Windows.Forms.TextBox(); - this.participleButtonX = new DevComponents.DotNetBar.PanelEx(); - this.toSpecialButtonX = new DevComponents.DotNetBar.PanelEx(); - this.remDataButtonX = new DevComponents.DotNetBar.PanelEx(); - this.keyWordShortButtonX = new DevComponents.DotNetBar.PanelEx(); - this.toRepeatButtonX = new DevComponents.DotNetBar.PanelEx(); - this.removeEnglishButtonX = new DevComponents.DotNetBar.PanelEx(); - this.IrregularitiesButtonX = new DevComponents.DotNetBar.PanelEx(); - this.keyWordLengthButtonX = new DevComponents.DotNetBar.PanelEx(); - this.ucGroupBoxEx1 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); - this.checkBox1 = new System.Windows.Forms.CheckBox(); - this.label14 = new System.Windows.Forms.Label(); - this.endPriceTextBox = new System.Windows.Forms.TextBox(); - this.startPriceTextBox = new System.Windows.Forms.TextBox(); - this.priceCheckBox = new System.Windows.Forms.CheckBox(); - this.titleLengthTextBox = new System.Windows.Forms.TextBox(); - this.titleLengthCheckBox = new System.Windows.Forms.CheckBox(); - this.btnCaptureTitleZc = new DevComponents.DotNetBar.PanelEx(); - this.btnCollectZc = new DevComponents.DotNetBar.PanelEx(); - this.txbSearchWord = new DevComponents.DotNetBar.Controls.TextBoxX(); - this.splitContainer2 = new System.Windows.Forms.SplitContainer(); - this.descriptionTextBox = new DevComponents.DotNetBar.Controls.RichTextBoxEx(); - this.dataGridViewX1 = new TemuKJD.UserComponent.DataGridViewEx(); - this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn(); - this.colId = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colKeywords = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colFrequency = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colDel = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.panel2.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); - this.splitContainer1.Panel1.SuspendLayout(); - this.splitContainer1.Panel2.SuspendLayout(); - this.splitContainer1.SuspendLayout(); - this.ucGroupBoxEx2.SuspendLayout(); - this.ucGroupBoxEx1.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit(); - this.splitContainer2.Panel1.SuspendLayout(); - this.splitContainer2.Panel2.SuspendLayout(); - this.splitContainer2.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); - this.SuspendLayout(); - // - // panel2 - // - this.panel2.BackColor = System.Drawing.Color.White; - this.panel2.Controls.Add(this.splitContainer1); - this.panel2.Dock = System.Windows.Forms.DockStyle.Fill; - this.panel2.Location = new System.Drawing.Point(0, 32); - this.panel2.Name = "panel2"; - this.panel2.Size = new System.Drawing.Size(1280, 768); - this.panel2.TabIndex = 1; - // - // splitContainer1 - // - this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill; - this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1; - this.splitContainer1.Location = new System.Drawing.Point(0, 0); - this.splitContainer1.Name = "splitContainer1"; - this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal; - // - // splitContainer1.Panel1 - // - this.splitContainer1.Panel1.Controls.Add(this.ucGroupBoxEx2); - this.splitContainer1.Panel1.Controls.Add(this.ucGroupBoxEx1); - // - // splitContainer1.Panel2 - // - this.splitContainer1.Panel2.Controls.Add(this.splitContainer2); - this.splitContainer1.Size = new System.Drawing.Size(1280, 768); - this.splitContainer1.SplitterDistance = 120; - this.splitContainer1.TabIndex = 0; - // - // ucGroupBoxEx2 - // - this.ucGroupBoxEx2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left))); - this.ucGroupBoxEx2.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.ucGroupBoxEx2.BorderStyle = TemuKJD.UserComponent.UcGroupBoxEx.GroupBoxBorderStyle.ROUND; - this.ucGroupBoxEx2.Controls.Add(this.btnChangeFissionTitle); - this.ucGroupBoxEx2.Controls.Add(this.btnPicToContent); - this.ucGroupBoxEx2.Controls.Add(this.exportButtonX); - this.ucGroupBoxEx2.Controls.Add(this.btnPicToMain); - this.ucGroupBoxEx2.Controls.Add(this.newWordTextBox); - this.ucGroupBoxEx2.Controls.Add(this.wordReplaceButtonX); - this.ucGroupBoxEx2.Controls.Add(this.oldWordTextBox); - this.ucGroupBoxEx2.Controls.Add(this.participleButtonX); - this.ucGroupBoxEx2.Controls.Add(this.toSpecialButtonX); - this.ucGroupBoxEx2.Controls.Add(this.remDataButtonX); - this.ucGroupBoxEx2.Controls.Add(this.keyWordShortButtonX); - this.ucGroupBoxEx2.Controls.Add(this.toRepeatButtonX); - this.ucGroupBoxEx2.Controls.Add(this.removeEnglishButtonX); - this.ucGroupBoxEx2.Controls.Add(this.IrregularitiesButtonX); - this.ucGroupBoxEx2.Controls.Add(this.keyWordLengthButtonX); - this.ucGroupBoxEx2.Location = new System.Drawing.Point(377, 1); - this.ucGroupBoxEx2.Name = "ucGroupBoxEx2"; - this.ucGroupBoxEx2.Size = new System.Drawing.Size(900, 117); - this.ucGroupBoxEx2.TabIndex = 632; - this.ucGroupBoxEx2.TabStop = false; - this.ucGroupBoxEx2.Text = "采集参数"; - // - // btnChangeFissionTitle - // - this.btnChangeFissionTitle.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.btnChangeFissionTitle.Cursor = System.Windows.Forms.Cursors.Hand; - this.btnChangeFissionTitle.DisabledBackColor = System.Drawing.Color.Empty; - this.btnChangeFissionTitle.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnChangeFissionTitle.Location = new System.Drawing.Point(583, 33); - this.btnChangeFissionTitle.Name = "btnChangeFissionTitle"; - this.btnChangeFissionTitle.Size = new System.Drawing.Size(60, 23); - this.btnChangeFissionTitle.Style.Alignment = System.Drawing.StringAlignment.Center; - this.btnChangeFissionTitle.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnChangeFissionTitle.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnChangeFissionTitle.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; - this.btnChangeFissionTitle.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; - this.btnChangeFissionTitle.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; - this.btnChangeFissionTitle.Style.ForeColor.Color = System.Drawing.Color.White; - this.btnChangeFissionTitle.Style.GradientAngle = 90; - this.btnChangeFissionTitle.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; - this.btnChangeFissionTitle.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.btnChangeFissionTitle.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.btnChangeFissionTitle.TabIndex = 720; - this.btnChangeFissionTitle.Text = "标题替换"; - this.btnChangeFissionTitle.Click += new System.EventHandler(this.btnChangeFissionTitle_Click); - // - // btnPicToContent - // - this.btnPicToContent.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.btnPicToContent.Cursor = System.Windows.Forms.Cursors.Hand; - this.btnPicToContent.DisabledBackColor = System.Drawing.Color.Empty; - this.btnPicToContent.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnPicToContent.Location = new System.Drawing.Point(715, 33); - this.btnPicToContent.Name = "btnPicToContent"; - this.btnPicToContent.Size = new System.Drawing.Size(60, 23); - this.btnPicToContent.Style.Alignment = System.Drawing.StringAlignment.Center; - this.btnPicToContent.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnPicToContent.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnPicToContent.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; - this.btnPicToContent.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; - this.btnPicToContent.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; - this.btnPicToContent.Style.ForeColor.Color = System.Drawing.Color.White; - this.btnPicToContent.Style.GradientAngle = 90; - this.btnPicToContent.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; - this.btnPicToContent.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.btnPicToContent.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.btnPicToContent.TabIndex = 669; - this.btnPicToContent.Text = "转内容图"; - this.btnPicToContent.Click += new System.EventHandler(this.btnPicToContent_Click); - // - // exportButtonX - // - this.exportButtonX.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.exportButtonX.CanvasColor = System.Drawing.SystemColors.Control; - this.exportButtonX.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.exportButtonX.DisabledBackColor = System.Drawing.Color.Empty; - this.exportButtonX.Location = new System.Drawing.Point(805, 66); - this.exportButtonX.Name = "exportButtonX"; - this.exportButtonX.Size = new System.Drawing.Size(60, 23); - this.exportButtonX.Style.Alignment = System.Drawing.StringAlignment.Center; - this.exportButtonX.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); - this.exportButtonX.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); - this.exportButtonX.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; - this.exportButtonX.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.exportButtonX.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; - this.exportButtonX.Style.GradientAngle = 90; - this.exportButtonX.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center; - this.exportButtonX.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; - this.exportButtonX.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.exportButtonX.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.exportButtonX.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; - this.exportButtonX.TabIndex = 686; - this.exportButtonX.Text = "导出CSV"; - this.exportButtonX.Click += new System.EventHandler(this.exportButtonX_Click); - // - // btnPicToMain - // - this.btnPicToMain.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.btnPicToMain.Cursor = System.Windows.Forms.Cursors.Hand; - this.btnPicToMain.DisabledBackColor = System.Drawing.Color.Empty; - this.btnPicToMain.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnPicToMain.Location = new System.Drawing.Point(649, 33); - this.btnPicToMain.Name = "btnPicToMain"; - this.btnPicToMain.Size = new System.Drawing.Size(60, 23); - this.btnPicToMain.Style.Alignment = System.Drawing.StringAlignment.Center; - this.btnPicToMain.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnPicToMain.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnPicToMain.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; - this.btnPicToMain.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; - this.btnPicToMain.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; - this.btnPicToMain.Style.ForeColor.Color = System.Drawing.Color.White; - this.btnPicToMain.Style.GradientAngle = 90; - this.btnPicToMain.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; - this.btnPicToMain.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.btnPicToMain.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.btnPicToMain.TabIndex = 656; - this.btnPicToMain.Text = "图片转主"; - this.btnPicToMain.Click += new System.EventHandler(this.btnPicToMain_Click); - // - // newWordTextBox - // - this.newWordTextBox.Location = new System.Drawing.Point(470, 33); - this.newWordTextBox.Name = "newWordTextBox"; - this.newWordTextBox.Size = new System.Drawing.Size(60, 23); - this.newWordTextBox.TabIndex = 682; - // - // wordReplaceButtonX - // - this.wordReplaceButtonX.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.wordReplaceButtonX.Cursor = System.Windows.Forms.Cursors.Hand; - this.wordReplaceButtonX.DisabledBackColor = System.Drawing.Color.Empty; - this.wordReplaceButtonX.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.wordReplaceButtonX.Location = new System.Drawing.Point(404, 33); - this.wordReplaceButtonX.Name = "wordReplaceButtonX"; - this.wordReplaceButtonX.Size = new System.Drawing.Size(60, 23); - this.wordReplaceButtonX.Style.Alignment = System.Drawing.StringAlignment.Center; - this.wordReplaceButtonX.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.wordReplaceButtonX.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.wordReplaceButtonX.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; - this.wordReplaceButtonX.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; - this.wordReplaceButtonX.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; - this.wordReplaceButtonX.Style.ForeColor.Color = System.Drawing.Color.White; - this.wordReplaceButtonX.Style.GradientAngle = 90; - this.wordReplaceButtonX.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; - this.wordReplaceButtonX.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.wordReplaceButtonX.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.wordReplaceButtonX.TabIndex = 681; - this.wordReplaceButtonX.Text = "替换成"; - this.wordReplaceButtonX.Click += new System.EventHandler(this.wordReplaceButtonX_Click); - // - // oldWordTextBox - // - this.oldWordTextBox.Location = new System.Drawing.Point(338, 33); - this.oldWordTextBox.Name = "oldWordTextBox"; - this.oldWordTextBox.Size = new System.Drawing.Size(60, 23); - this.oldWordTextBox.TabIndex = 677; - // - // participleButtonX - // - this.participleButtonX.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.participleButtonX.Cursor = System.Windows.Forms.Cursors.Hand; - this.participleButtonX.DisabledBackColor = System.Drawing.Color.Empty; - this.participleButtonX.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.participleButtonX.Location = new System.Drawing.Point(262, 66); - this.participleButtonX.Name = "participleButtonX"; - this.participleButtonX.Size = new System.Drawing.Size(60, 23); - this.participleButtonX.Style.Alignment = System.Drawing.StringAlignment.Center; - this.participleButtonX.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.participleButtonX.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.participleButtonX.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; - this.participleButtonX.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; - this.participleButtonX.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; - this.participleButtonX.Style.ForeColor.Color = System.Drawing.Color.White; - this.participleButtonX.Style.GradientAngle = 90; - this.participleButtonX.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; - this.participleButtonX.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.participleButtonX.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.participleButtonX.TabIndex = 676; - this.participleButtonX.Text = "一键分词"; - this.participleButtonX.Click += new System.EventHandler(this.participleButtonX_Click); - // - // toSpecialButtonX - // - this.toSpecialButtonX.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.toSpecialButtonX.Cursor = System.Windows.Forms.Cursors.Hand; - this.toSpecialButtonX.DisabledBackColor = System.Drawing.Color.Empty; - this.toSpecialButtonX.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.toSpecialButtonX.Location = new System.Drawing.Point(110, 66); - this.toSpecialButtonX.Name = "toSpecialButtonX"; - this.toSpecialButtonX.Size = new System.Drawing.Size(60, 23); - this.toSpecialButtonX.Style.Alignment = System.Drawing.StringAlignment.Center; - this.toSpecialButtonX.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.toSpecialButtonX.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.toSpecialButtonX.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; - this.toSpecialButtonX.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; - this.toSpecialButtonX.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; - this.toSpecialButtonX.Style.ForeColor.Color = System.Drawing.Color.White; - this.toSpecialButtonX.Style.GradientAngle = 90; - this.toSpecialButtonX.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; - this.toSpecialButtonX.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.toSpecialButtonX.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.toSpecialButtonX.TabIndex = 674; - this.toSpecialButtonX.Text = "去符号"; - this.toSpecialButtonX.Click += new System.EventHandler(this.toSpecialButtonX_Click); - // - // remDataButtonX - // - this.remDataButtonX.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.remDataButtonX.Cursor = System.Windows.Forms.Cursors.Hand; - this.remDataButtonX.DisabledBackColor = System.Drawing.Color.Empty; - this.remDataButtonX.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.remDataButtonX.Location = new System.Drawing.Point(186, 66); - this.remDataButtonX.Name = "remDataButtonX"; - this.remDataButtonX.Size = new System.Drawing.Size(60, 23); - this.remDataButtonX.Style.Alignment = System.Drawing.StringAlignment.Center; - this.remDataButtonX.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.remDataButtonX.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.remDataButtonX.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; - this.remDataButtonX.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; - this.remDataButtonX.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; - this.remDataButtonX.Style.ForeColor.Color = System.Drawing.Color.White; - this.remDataButtonX.Style.GradientAngle = 90; - this.remDataButtonX.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; - this.remDataButtonX.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.remDataButtonX.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.remDataButtonX.TabIndex = 675; - this.remDataButtonX.Text = "去数字"; - this.remDataButtonX.Click += new System.EventHandler(this.remDataButtonX_Click); - // - // keyWordShortButtonX - // - this.keyWordShortButtonX.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.keyWordShortButtonX.Cursor = System.Windows.Forms.Cursors.Hand; - this.keyWordShortButtonX.DisabledBackColor = System.Drawing.Color.Empty; - this.keyWordShortButtonX.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.keyWordShortButtonX.Location = new System.Drawing.Point(34, 66); - this.keyWordShortButtonX.Name = "keyWordShortButtonX"; - this.keyWordShortButtonX.Size = new System.Drawing.Size(60, 23); - this.keyWordShortButtonX.Style.Alignment = System.Drawing.StringAlignment.Center; - this.keyWordShortButtonX.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.keyWordShortButtonX.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.keyWordShortButtonX.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; - this.keyWordShortButtonX.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; - this.keyWordShortButtonX.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; - this.keyWordShortButtonX.Style.ForeColor.Color = System.Drawing.Color.White; - this.keyWordShortButtonX.Style.GradientAngle = 90; - this.keyWordShortButtonX.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; - this.keyWordShortButtonX.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.keyWordShortButtonX.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.keyWordShortButtonX.TabIndex = 673; - this.keyWordShortButtonX.Text = "短词排前"; - this.keyWordShortButtonX.Click += new System.EventHandler(this.keyWordShortButtonX_Click); - // - // toRepeatButtonX - // - this.toRepeatButtonX.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.toRepeatButtonX.Cursor = System.Windows.Forms.Cursors.Hand; - this.toRepeatButtonX.DisabledBackColor = System.Drawing.Color.Empty; - this.toRepeatButtonX.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.toRepeatButtonX.Location = new System.Drawing.Point(262, 33); - this.toRepeatButtonX.Name = "toRepeatButtonX"; - this.toRepeatButtonX.Size = new System.Drawing.Size(60, 23); - this.toRepeatButtonX.Style.Alignment = System.Drawing.StringAlignment.Center; - this.toRepeatButtonX.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.toRepeatButtonX.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.toRepeatButtonX.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; - this.toRepeatButtonX.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; - this.toRepeatButtonX.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; - this.toRepeatButtonX.Style.ForeColor.Color = System.Drawing.Color.White; - this.toRepeatButtonX.Style.GradientAngle = 90; - this.toRepeatButtonX.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; - this.toRepeatButtonX.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.toRepeatButtonX.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.toRepeatButtonX.TabIndex = 660; - this.toRepeatButtonX.Text = "去重复"; - this.toRepeatButtonX.Click += new System.EventHandler(this.toRepeatButtonX_Click); - // - // removeEnglishButtonX - // - this.removeEnglishButtonX.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.removeEnglishButtonX.Cursor = System.Windows.Forms.Cursors.Hand; - this.removeEnglishButtonX.DisabledBackColor = System.Drawing.Color.Empty; - this.removeEnglishButtonX.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.removeEnglishButtonX.Location = new System.Drawing.Point(110, 33); - this.removeEnglishButtonX.Name = "removeEnglishButtonX"; - this.removeEnglishButtonX.Size = new System.Drawing.Size(60, 23); - this.removeEnglishButtonX.Style.Alignment = System.Drawing.StringAlignment.Center; - this.removeEnglishButtonX.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.removeEnglishButtonX.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.removeEnglishButtonX.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; - this.removeEnglishButtonX.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; - this.removeEnglishButtonX.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; - this.removeEnglishButtonX.Style.ForeColor.Color = System.Drawing.Color.White; - this.removeEnglishButtonX.Style.GradientAngle = 90; - this.removeEnglishButtonX.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; - this.removeEnglishButtonX.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.removeEnglishButtonX.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.removeEnglishButtonX.TabIndex = 639; - this.removeEnglishButtonX.Text = "去英文"; - this.removeEnglishButtonX.Click += new System.EventHandler(this.removeEnglishButtonX_Click); - // - // IrregularitiesButtonX - // - this.IrregularitiesButtonX.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.IrregularitiesButtonX.Cursor = System.Windows.Forms.Cursors.Hand; - this.IrregularitiesButtonX.DisabledBackColor = System.Drawing.Color.Empty; - this.IrregularitiesButtonX.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.IrregularitiesButtonX.Location = new System.Drawing.Point(186, 33); - this.IrregularitiesButtonX.Name = "IrregularitiesButtonX"; - this.IrregularitiesButtonX.Size = new System.Drawing.Size(60, 23); - this.IrregularitiesButtonX.Style.Alignment = System.Drawing.StringAlignment.Center; - this.IrregularitiesButtonX.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.IrregularitiesButtonX.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.IrregularitiesButtonX.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; - this.IrregularitiesButtonX.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; - this.IrregularitiesButtonX.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; - this.IrregularitiesButtonX.Style.ForeColor.Color = System.Drawing.Color.White; - this.IrregularitiesButtonX.Style.GradientAngle = 90; - this.IrregularitiesButtonX.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; - this.IrregularitiesButtonX.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.IrregularitiesButtonX.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.IrregularitiesButtonX.TabIndex = 659; - this.IrregularitiesButtonX.Text = "去违规词"; - this.IrregularitiesButtonX.Click += new System.EventHandler(this.IrregularitiesButtonX_Click); - // - // keyWordLengthButtonX - // - this.keyWordLengthButtonX.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.keyWordLengthButtonX.Cursor = System.Windows.Forms.Cursors.Hand; - this.keyWordLengthButtonX.DisabledBackColor = System.Drawing.Color.Empty; - this.keyWordLengthButtonX.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.keyWordLengthButtonX.Location = new System.Drawing.Point(34, 33); - this.keyWordLengthButtonX.Name = "keyWordLengthButtonX"; - this.keyWordLengthButtonX.Size = new System.Drawing.Size(60, 23); - this.keyWordLengthButtonX.Style.Alignment = System.Drawing.StringAlignment.Center; - this.keyWordLengthButtonX.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.keyWordLengthButtonX.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.keyWordLengthButtonX.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; - this.keyWordLengthButtonX.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; - this.keyWordLengthButtonX.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; - this.keyWordLengthButtonX.Style.ForeColor.Color = System.Drawing.Color.White; - this.keyWordLengthButtonX.Style.GradientAngle = 90; - this.keyWordLengthButtonX.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; - this.keyWordLengthButtonX.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.keyWordLengthButtonX.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.keyWordLengthButtonX.TabIndex = 635; - this.keyWordLengthButtonX.Text = "长词排前"; - this.keyWordLengthButtonX.Click += new System.EventHandler(this.keyWordLengthButtonX_Click); - // - // ucGroupBoxEx1 - // - this.ucGroupBoxEx1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left))); - this.ucGroupBoxEx1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.ucGroupBoxEx1.BorderStyle = TemuKJD.UserComponent.UcGroupBoxEx.GroupBoxBorderStyle.ROUND; - this.ucGroupBoxEx1.Controls.Add(this.checkBox1); - this.ucGroupBoxEx1.Controls.Add(this.label14); - this.ucGroupBoxEx1.Controls.Add(this.endPriceTextBox); - this.ucGroupBoxEx1.Controls.Add(this.startPriceTextBox); - this.ucGroupBoxEx1.Controls.Add(this.priceCheckBox); - this.ucGroupBoxEx1.Controls.Add(this.titleLengthTextBox); - this.ucGroupBoxEx1.Controls.Add(this.titleLengthCheckBox); - this.ucGroupBoxEx1.Controls.Add(this.btnCaptureTitleZc); - this.ucGroupBoxEx1.Controls.Add(this.btnCollectZc); - this.ucGroupBoxEx1.Controls.Add(this.txbSearchWord); - this.ucGroupBoxEx1.Location = new System.Drawing.Point(3, 1); - this.ucGroupBoxEx1.Name = "ucGroupBoxEx1"; - this.ucGroupBoxEx1.Size = new System.Drawing.Size(374, 117); - this.ucGroupBoxEx1.TabIndex = 631; - this.ucGroupBoxEx1.TabStop = false; - this.ucGroupBoxEx1.Text = "采集参数"; - // - // checkBox1 - // - this.checkBox1.AutoSize = true; - this.checkBox1.Location = new System.Drawing.Point(154, 53); - this.checkBox1.Name = "checkBox1"; - this.checkBox1.Size = new System.Drawing.Size(87, 21); - this.checkBox1.TabIndex = 646; - this.checkBox1.Text = "采集有销量"; - this.checkBox1.UseVisualStyleBackColor = true; - // - // label14 - // - this.label14.AutoSize = true; - this.label14.Location = new System.Drawing.Point(133, 83); - this.label14.Name = "label14"; - this.label14.Size = new System.Drawing.Size(18, 17); - this.label14.TabIndex = 645; - this.label14.Text = "--"; - // - // endPriceTextBox - // - this.endPriceTextBox.Location = new System.Drawing.Point(154, 80); - this.endPriceTextBox.Name = "endPriceTextBox"; - this.endPriceTextBox.Size = new System.Drawing.Size(31, 23); - this.endPriceTextBox.TabIndex = 644; - // - // startPriceTextBox - // - this.startPriceTextBox.Location = new System.Drawing.Point(99, 80); - this.startPriceTextBox.Name = "startPriceTextBox"; - this.startPriceTextBox.Size = new System.Drawing.Size(31, 23); - this.startPriceTextBox.TabIndex = 643; - // - // priceCheckBox - // - this.priceCheckBox.AutoSize = true; - this.priceCheckBox.Location = new System.Drawing.Point(16, 81); - this.priceCheckBox.Name = "priceCheckBox"; - this.priceCheckBox.Size = new System.Drawing.Size(75, 21); - this.priceCheckBox.TabIndex = 642; - this.priceCheckBox.Text = "价格区间"; - this.priceCheckBox.UseVisualStyleBackColor = true; - // - // titleLengthTextBox - // - this.titleLengthTextBox.Location = new System.Drawing.Point(99, 51); - this.titleLengthTextBox.Name = "titleLengthTextBox"; - this.titleLengthTextBox.Size = new System.Drawing.Size(31, 23); - this.titleLengthTextBox.TabIndex = 641; - // - // titleLengthCheckBox - // - this.titleLengthCheckBox.AutoSize = true; - this.titleLengthCheckBox.Location = new System.Drawing.Point(16, 53); - this.titleLengthCheckBox.Name = "titleLengthCheckBox"; - this.titleLengthCheckBox.Size = new System.Drawing.Size(88, 21); - this.titleLengthCheckBox.TabIndex = 640; - this.titleLengthCheckBox.Text = "删除长度 <"; - this.titleLengthCheckBox.UseVisualStyleBackColor = true; - // - // btnCaptureTitleZc - // - this.btnCaptureTitleZc.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.btnCaptureTitleZc.Cursor = System.Windows.Forms.Cursors.Hand; - this.btnCaptureTitleZc.DisabledBackColor = System.Drawing.Color.Empty; - this.btnCaptureTitleZc.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnCaptureTitleZc.Location = new System.Drawing.Point(303, 22); - this.btnCaptureTitleZc.Name = "btnCaptureTitleZc"; - this.btnCaptureTitleZc.Size = new System.Drawing.Size(60, 23); - this.btnCaptureTitleZc.Style.Alignment = System.Drawing.StringAlignment.Center; - this.btnCaptureTitleZc.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnCaptureTitleZc.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnCaptureTitleZc.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; - this.btnCaptureTitleZc.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; - this.btnCaptureTitleZc.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; - this.btnCaptureTitleZc.Style.ForeColor.Color = System.Drawing.Color.White; - this.btnCaptureTitleZc.Style.GradientAngle = 90; - this.btnCaptureTitleZc.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; - this.btnCaptureTitleZc.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.btnCaptureTitleZc.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.btnCaptureTitleZc.TabIndex = 639; - this.btnCaptureTitleZc.Text = "抓取标题"; - this.btnCaptureTitleZc.Click += new System.EventHandler(this.btnCaptureTitleZc_Click); - // - // btnCollectZc - // - this.btnCollectZc.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.btnCollectZc.Cursor = System.Windows.Forms.Cursors.Hand; - this.btnCollectZc.DisabledBackColor = System.Drawing.Color.Empty; - this.btnCollectZc.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnCollectZc.Location = new System.Drawing.Point(230, 22); - this.btnCollectZc.Name = "btnCollectZc"; - this.btnCollectZc.Size = new System.Drawing.Size(60, 23); - this.btnCollectZc.Style.Alignment = System.Drawing.StringAlignment.Center; - this.btnCollectZc.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnCollectZc.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - this.btnCollectZc.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; - this.btnCollectZc.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; - this.btnCollectZc.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; - this.btnCollectZc.Style.ForeColor.Color = System.Drawing.Color.White; - this.btnCollectZc.Style.GradientAngle = 90; - this.btnCollectZc.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; - this.btnCollectZc.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.btnCollectZc.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); - this.btnCollectZc.TabIndex = 635; - this.btnCollectZc.Text = "开始采集"; - this.btnCollectZc.Click += new System.EventHandler(this.btnCollectZc_Click); - // - // txbSearchWord - // - // - // - // - this.txbSearchWord.Border.Class = "TextBoxBorder"; - this.txbSearchWord.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.txbSearchWord.Location = new System.Drawing.Point(16, 22); - this.txbSearchWord.Name = "txbSearchWord"; - this.txbSearchWord.PreventEnterBeep = true; - this.txbSearchWord.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; - this.txbSearchWord.Size = new System.Drawing.Size(208, 23); - this.txbSearchWord.TabIndex = 630; - this.txbSearchWord.WatermarkText = "输入关键词/URL"; - // - // splitContainer2 - // - this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill; - this.splitContainer2.Location = new System.Drawing.Point(0, 0); - this.splitContainer2.Name = "splitContainer2"; - // - // splitContainer2.Panel1 - // - this.splitContainer2.Panel1.Controls.Add(this.descriptionTextBox); - this.splitContainer2.Panel1.Padding = new System.Windows.Forms.Padding(4, 0, 0, 4); - // - // splitContainer2.Panel2 - // - this.splitContainer2.Panel2.Controls.Add(this.dataGridViewX1); - this.splitContainer2.Panel2.Padding = new System.Windows.Forms.Padding(0, 0, 4, 4); - this.splitContainer2.Size = new System.Drawing.Size(1280, 644); - this.splitContainer2.SplitterDistance = 635; - this.splitContainer2.TabIndex = 0; - // - // descriptionTextBox - // - // - // - // - this.descriptionTextBox.BackgroundStyle.Class = "RichTextBoxBorder"; - this.descriptionTextBox.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.descriptionTextBox.Dock = System.Windows.Forms.DockStyle.Fill; - this.descriptionTextBox.Location = new System.Drawing.Point(4, 0); - this.descriptionTextBox.Name = "descriptionTextBox"; - this.descriptionTextBox.Rtf = "{\\rtf1\\ansi\\deff0\\nouicompat{\\fonttbl{\\f0\\fnil\\fcharset134 \\\'ce\\\'a2\\\'c8\\\'ed\\\'d1\\\'" + - "c5\\\'ba\\\'da;}}\r\n{\\*\\generator Riched20 10.0.19041}\\viewkind4\\uc1 \r\n\\pard\\f0\\fs18\\" + - "lang2052 .\\par\r\n}\r\n"; - this.descriptionTextBox.Size = new System.Drawing.Size(631, 640); - this.descriptionTextBox.TabIndex = 1; - this.descriptionTextBox.Text = "."; - // - // dataGridViewX1 - // - this.dataGridViewX1.AllowUserToAddRows = false; - this.dataGridViewX1.AllowUserToDeleteRows = false; - dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke; - this.dataGridViewX1.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1; - this.dataGridViewX1.BackgroundColor = System.Drawing.Color.White; - this.dataGridViewX1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control; - dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText; - dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText; - dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2; - this.dataGridViewX1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; - this.dataGridViewX1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { - this.colSelect, - this.colId, - this.colKeywords, - this.colFrequency, - this.colDel}); - this.dataGridViewX1.Dock = System.Windows.Forms.DockStyle.Fill; - this.dataGridViewX1.Location = new System.Drawing.Point(0, 0); - this.dataGridViewX1.Name = "dataGridViewX1"; - this.dataGridViewX1.ReadOnly = true; - dataGridViewCellStyle3.Font = new System.Drawing.Font("微软雅黑", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.dataGridViewX1.RowsDefaultCellStyle = dataGridViewCellStyle3; - this.dataGridViewX1.RowTemplate.Height = 23; - this.dataGridViewX1.Size = new System.Drawing.Size(637, 640); - this.dataGridViewX1.TabIndex = 7; - // - // colSelect - // - this.colSelect.FillWeight = 50F; - this.colSelect.HeaderText = "选"; - this.colSelect.Name = "colSelect"; - this.colSelect.ReadOnly = true; - this.colSelect.Resizable = System.Windows.Forms.DataGridViewTriState.False; - this.colSelect.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; - this.colSelect.Width = 41; - // - // colId - // - this.colId.HeaderText = "序号"; - this.colId.Name = "colId"; - this.colId.ReadOnly = true; - this.colId.Width = 150; - // - // colKeywords - // - this.colKeywords.HeaderText = "关键词"; - this.colKeywords.Name = "colKeywords"; - this.colKeywords.ReadOnly = true; - this.colKeywords.Resizable = System.Windows.Forms.DataGridViewTriState.True; - this.colKeywords.Width = 350; - // - // colFrequency - // - this.colFrequency.HeaderText = "出现频率"; - this.colFrequency.Name = "colFrequency"; - this.colFrequency.ReadOnly = true; - this.colFrequency.Width = 60; - // - // colDel - // - this.colDel.HeaderText = "删除"; - this.colDel.Name = "colDel"; - this.colDel.ReadOnly = true; - this.colDel.Width = 60; - // - // KeywordsCatchFrom - // - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; - this.ClientSize = new System.Drawing.Size(1280, 800); - 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 = "KeywordsCatchFrom"; - this.Padding = new System.Windows.Forms.Padding(0); - this.ShowMaximizeBox = true; - this.Text = "抓词工具"; - this.TitleText = "抓词工具"; - this.Load += new System.EventHandler(this.KeywordsCatchFrom_Load); - this.Controls.SetChildIndex(this.panel2, 0); - this.panel2.ResumeLayout(false); - this.splitContainer1.Panel1.ResumeLayout(false); - this.splitContainer1.Panel2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); - this.splitContainer1.ResumeLayout(false); - this.ucGroupBoxEx2.ResumeLayout(false); - this.ucGroupBoxEx2.PerformLayout(); - this.ucGroupBoxEx1.ResumeLayout(false); - this.ucGroupBoxEx1.PerformLayout(); - this.splitContainer2.Panel1.ResumeLayout(false); - this.splitContainer2.Panel2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit(); - this.splitContainer2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); - this.ResumeLayout(false); - - } - - #endregion - - private System.Windows.Forms.Panel panel2; - private System.Windows.Forms.SplitContainer splitContainer1; - private DevComponents.DotNetBar.Controls.TextBoxX txbSearchWord; - private UserComponent.UcGroupBoxEx ucGroupBoxEx1; - private UserComponent.UcGroupBoxEx ucGroupBoxEx2; - private System.Windows.Forms.TextBox newWordTextBox; - private DevComponents.DotNetBar.PanelEx wordReplaceButtonX; - private System.Windows.Forms.TextBox oldWordTextBox; - private DevComponents.DotNetBar.PanelEx participleButtonX; - private DevComponents.DotNetBar.PanelEx toSpecialButtonX; - private DevComponents.DotNetBar.PanelEx remDataButtonX; - private DevComponents.DotNetBar.PanelEx keyWordShortButtonX; - private DevComponents.DotNetBar.PanelEx toRepeatButtonX; - private DevComponents.DotNetBar.PanelEx removeEnglishButtonX; - private DevComponents.DotNetBar.PanelEx IrregularitiesButtonX; - private DevComponents.DotNetBar.PanelEx keyWordLengthButtonX; - private System.Windows.Forms.CheckBox checkBox1; - private System.Windows.Forms.Label label14; - private System.Windows.Forms.TextBox endPriceTextBox; - private System.Windows.Forms.TextBox startPriceTextBox; - private System.Windows.Forms.CheckBox priceCheckBox; - private System.Windows.Forms.TextBox titleLengthTextBox; - private System.Windows.Forms.CheckBox titleLengthCheckBox; - private DevComponents.DotNetBar.PanelEx btnCaptureTitleZc; - private DevComponents.DotNetBar.PanelEx btnCollectZc; - private DevComponents.DotNetBar.PanelEx exportButtonX; - private System.Windows.Forms.SplitContainer splitContainer2; - private DevComponents.DotNetBar.Controls.RichTextBoxEx descriptionTextBox; - private UserComponent.DataGridViewEx dataGridViewX1; - private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect; - private System.Windows.Forms.DataGridViewTextBoxColumn colId; - private System.Windows.Forms.DataGridViewTextBoxColumn colKeywords; - private System.Windows.Forms.DataGridViewTextBoxColumn colFrequency; - private System.Windows.Forms.DataGridViewTextBoxColumn colDel; - private DevComponents.DotNetBar.PanelEx btnPicToMain; - private DevComponents.DotNetBar.PanelEx btnPicToContent; - private DevComponents.DotNetBar.PanelEx btnChangeFissionTitle; - } -} \ No newline at end of file diff --git a/TEMUKJD/ToolForms/Old/KeywordsForms/KeywordsCatchFrom.cs b/TEMUKJD/ToolForms/Old/KeywordsForms/KeywordsCatchFrom.cs deleted file mode 100644 index 2169ed5..0000000 --- a/TEMUKJD/ToolForms/Old/KeywordsForms/KeywordsCatchFrom.cs +++ /dev/null @@ -1,639 +0,0 @@ -using AllBase; -using CefSharp; -using CefSharp.WinForms; -using TemuKJD.Helper; -using TemuKJD.BaseForms; -using TemuKJD.KJDForms.ProductForms; -using NaiBa.CefHelper.Handler; -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Drawing; -using System.Linq; -using System.Text; -using System.Text.RegularExpressions; -using System.Threading; -using System.Threading.Tasks; -using System.Windows.Forms; -using Work.BLL.Upload; -using Work.CollectClass; - -namespace TemuKJD.KJDForms.ToolForms.KeywordsForms -{ - public partial class KeywordsCatchFrom : LRBaseForm - { - public Fission fission = null; - - private bool IsCf = false; - private string tempUrl = ""; - public delegate void delegateView(); - private List titleList = new List(); // 用于存储标题集合 - public ChromiumWebBrowser cwbSearchTitle; // 用于根据关键词采集标题 - private List TemptitleList = new List();//用于存储标题的临时集合 - - public KeywordsCatchFrom() - { - InitializeComponent(); - } - - private void KeywordsCatchFrom_Load(object sender, EventArgs e) - { - } - - private void btnCollectZc_Click(object sender, EventArgs e) - { - if (txbSearchWord.Text.Trim().Length == 0) - { - BaseMsgForm.ShowInfo("请输入关键词!", "提示"); - return; - } - titleList.Clear(); - DisabledCaptureTitleZc(); - //TemptitleList.Clear(); - string targetUrl; - //根据文本框内容判断是网址还是关键词 - if (txbSearchWord.Text.Trim().Contains("/")) - { - targetUrl = txbSearchWord.Text.Trim(); - } - else - { - targetUrl = "https://s.taobao.com/search?initiative_id=tbindexz_20170306&ie=utf8&spm=a21bo.2017.201856-taobao-item.2&sourceId=tb.index&search_type=item&ssid=s5-e&commend=all&imgfile=&q=" + txbSearchWord.Text.Trim() + "&suggest=history_1&_input_charset=utf-8&wq=&suggest_query=&source=suggest"; - if (priceCheckBox.Checked) - { - string minPrice = startPriceTextBox.Text; - string maxPrice = endPriceTextBox.Text; - targetUrl += "&filter=reserve_price%5B" + minPrice + "%2C" + maxPrice + "%5D"; - } - } - - if (cwbSearchTitle != null) - { - cwbSearchTitle.Load(targetUrl); - cwbSearchTitle.Visible = true; - return; - } - cwbSearchTitle = new ChromiumWebBrowser(targetUrl) { Dock = DockStyle.Fill, Visible = true }; - splitContainer1.Panel2.Controls.Add(cwbSearchTitle); - cwbSearchTitle.BringToFront(); - cwbSearchTitle.AddressChanged += CwbSearchTitle_AddressChanged; //url 地址有变化 则触发 add by tl 20190227 - cwbSearchTitle.FrameLoadEnd += cwbSearchTitle_FrameLoadEnd; - cwbSearchTitle.LifeSpanHandler = new LifeSpanHandlerLocal(PopWindowType.SelfWindow); - cwbSearchTitle.KeyboardHandler = new KeyboardHandler(); - } - - /// - /// url 有变化时 则触发 add by tl 20190228 - /// - /// - /// - private void CwbSearchTitle_AddressChanged(object sender, AddressChangedEventArgs e) - { - Invoke(new delegateView(DisabledCaptureTitleZc)); - if (!IsCf) - { - if (e.Address.Contains("https://s.taobao.com/search/_____tmd_____/verify/?nc_token=")) - { - IsCf = true; - cwbSearchTitle.Load(tempUrl); - return; - } - - } - //判断url是否有变化 有变化则需要load一下,这样获取网页源码才能有变化 add by tl 20190228 - if (tempUrl != e.Address) - { - tempUrl = e.Address; //临时存储url - cwbSearchTitle.Load(e.Address); - } - //点击页面排序时 清空集合 add by tl 20190228 - if (e.Address.Contains("default") || e.Address.Contains("sale-desc") || e.Address.Contains("credit-desc")) - { - - if (e.Address.Contains("default&") || e.Address.Contains("sale-desc&") || e.Address.Contains("credit-desc&")) - { - //TempSort = "default&"; - } - else - { - - titleList.Clear(); - TemptitleList.Clear(); - return; - } - } - } - - /// - /// 禁用抓取标题 add by tl 20190304 - /// - public void DisabledCaptureTitleZc() - { - btnCaptureTitleZc.Enabled = false; - } - - /// - /// 界面加载完成时 add by tl 20190228 - /// - /// - /// - private void cwbSearchTitle_FrameLoadEnd(object sender, FrameLoadEndEventArgs e) - { - //界面加载完成则获取标题 add by tl 20190228 - new Thread(GetData).Start(); - } - - /// - /// 获取标题 add by tl 20190228 - /// - private void GetData() - { - var task = cwbSearchTitle.GetSourceAsync(); - task.Wait(); - string html = task.Result; - - string sContent = task.Result; - if (sContent.Length == 0) return; - string strReg = "g_page_config = [^<]+"; - var titleCon = BaseRegex.GetMatchRegex(ref sContent, strReg); - if (titleCon.Count == 0) - { - return; - } - int titleLength = titleLengthTextBox.Text == "" ? 0 : Convert.ToInt32(titleLengthTextBox.Text);//去除标题小于这个长度的 - string content = titleCon[0].Groups[0].Value; - string regTitle = "\"raw_title\":\"([\\s\\S]+?)\""; - string regPrice = "\"view_price\":\"([\\s\\S]+?)\""; - string regSales = "\"view_sales\":\"(\\d*)人付款\""; - var priceArr = BaseRegex.GetMatchRegex(ref content, regPrice); - var titleArr = BaseRegex.GetMatchRegex(ref content, regTitle); - var salesArr = BaseRegex.GetMatchRegex(ref content, regSales); - if (titleArr.Count > 0) - { - for (int i = 0; i < titleArr.Count; i++) - { - string titleItem = titleArr[i].Value; - if (titleLengthCheckBox.Checked)//判断标题长度够不够 - { - int titleItemLength = titleItem.Length; - if (titleItemLength <= titleLength) - { - continue; - } - } - - if (checkBox1.Checked && salesArr.Count == titleArr.Count) - { - string sales = salesArr[i].Value; - if (BaseRegex.GetStringJson(ref sales, "view_sales") == "0人付款") - continue; - } - string title = BaseRegex.GetStringJson(ref titleItem, "raw_title"); - titleList.Add(title.Replace("\"", "")); - } - - }; - if (titleList.Count > 0) - { - Invoke(new delegateView(EnabledCaptureTitleZc)); - } - //Invoke(new delegateView(ShowView)); - //cwbSearchTitle.Visible = false; - } - - /// - /// 显示抓取标题 add by tl 20190304 - /// - public void EnabledCaptureTitleZc() - { - btnCaptureTitleZc.Enabled = true; - } - - private void btnCaptureTitleZc_Click(object sender, EventArgs e) - { - //titleList.Clear(); - descriptionTextBox.Text = ""; - - if (cwbSearchTitle == null) return; - - //将数据显示到文本框中 add by tl 20190228 - Invoke(new delegateView(ShowView)); - cwbSearchTitle.Visible = false;//显示控件 add by tl 20190228 - } - - public void ShowView() - { - descriptionTextBox.Clear(); - //if (TemptitleList.Count <= 0) return; - //获取标题临时变量赋值,同时去重 add by tl 20190228 - titleList = titleList.Distinct().ToList(); - for (int i = 0; i < titleList.Count; i++) - { - descriptionTextBox.AppendText(titleList[i] + "\r\n"); - } - } - - private void keyWordLengthButtonX_Click(object sender, EventArgs e) - { - Reload(); - titleList = titleList.OrderByDescending(s => s.Length).ToList(); - Invoke(new delegateView(ShowView)); - } - - private void Reload() - { - titleList.Clear(); - string[] l = descriptionTextBox.Text.Split('\n'); - for (int i = 0; i < l.Length; i++) - { - if (string.IsNullOrEmpty(l[i])) - continue; - l[i] = l[i].Trim(); - titleList.Add(l[i]); - } - } - - private void keyWordShortButtonX_Click(object sender, EventArgs e) - { - Reload(); - titleList = titleList.OrderBy(s => s.Length).ToList(); - Invoke(new delegateView(ShowView)); - } - - private void removeEnglishButtonX_Click(object sender, EventArgs e) - { - Reload(); - new Thread(RemoveEnglish).Start(); - } - - public void RemoveEnglish() - { - for (int i = 0; i < titleList.Count; i++) - { - string pattern = @"[A-Za-z]{3,}"; - var viewMatch = BaseRegex.GetMatchRegex(titleList[i], pattern); - if (viewMatch != null && viewMatch.Count > 0) - { - for (int j = 0; j < viewMatch.Count; j++) - { - string englishstr = viewMatch[j].Groups[0].Value; - titleList[i] = titleList[i].Replace(englishstr, "").Replace(" ", ""); - } - - } - } - Invoke(new delegateView(ShowView)); - } - - private void toSpecialButtonX_Click(object sender, EventArgs e) - { - Reload(); - for (int i = 0; i < titleList.Count; i++) - { - titleList[i] = ReplaceStr(titleList[i]); - } - Invoke(new delegateView(ShowView)); - } - - public static string ReplaceStr(string str) - { - str = str.Replace(",", ""); - str = str.Replace("'", ""); - str = str.Replace(";", ""); - str = str.Replace(":", ""); - str = str.Replace("/", ""); - str = str.Replace("?", ""); - str = str.Replace("<", ""); - str = str.Replace(">", ""); - str = str.Replace(".", ""); - str = str.Replace("#", ""); - str = str.Replace("%", ""); - str = str.Replace("%", ""); - str = str.Replace("^", ""); - str = str.Replace("//", ""); - str = str.Replace("@", ""); - str = str.Replace("(", ""); - str = str.Replace(")", ""); - str = str.Replace("*", ""); - str = str.Replace("~", ""); - str = str.Replace("`", ""); - str = str.Replace("$", ""); - str = str.Replace(" ", ""); - return str; - } - - private void IrregularitiesButtonX_Click(object sender, EventArgs e) - { - Reload(); - - for (int i = 0; i < titleList.Count; i++) - { - for (int j = 0; j < UploadProductBLL.FilterTitleWordList.Count; j++) - { - if (titleList[i].Contains(UploadProductBLL.FilterTitleWordList[j])) - titleList[i] = titleList[i].Replace(UploadProductBLL.FilterTitleWordList[j], ""); - } - for (int j = 0; j < UploadProductBLL.FilterRemoveTitleWordList.Count; j++) - { - if (titleList[i].Contains(UploadProductBLL.FilterRemoveTitleWordList[j])) - titleList[i] = titleList[i].Replace(UploadProductBLL.FilterRemoveTitleWordList[j], ""); - } - for (int j = 0; j < UploadProductBLL.FilterBrandWordList.Count; j++) - { - if (titleList[i].Contains(UploadProductBLL.FilterBrandWordList[j])) - titleList[i] = titleList[i].Replace(UploadProductBLL.FilterBrandWordList[j], ""); - } - } - Invoke(new delegateView(ShowView)); - } - - private void remDataButtonX_Click(object sender, EventArgs e) - { - Reload(); - for (int i = 0; i < titleList.Count; i++) - { - string pattern = @"[\d]+"; - var viewMatch = BaseRegex.GetMatchRegex(titleList[i], pattern); - - if (viewMatch != null && viewMatch.Count > 0) - { - for (int j = 0; j < viewMatch.Count; j++) - { - string englishstr = viewMatch[j].Groups[0].Value; - titleList[i] = titleList[i].Replace(englishstr, "").Replace(" ", ""); - } - - } - } - Invoke(new delegateView(ShowView)); - } - - private void toRepeatButtonX_Click(object sender, EventArgs e) - { - Reload(); - titleList = titleList.Distinct().ToList(); - Invoke(new delegateView(ShowView)); - } - - Dictionary keys = new Dictionary(); - private void participleButtonX_Click(object sender, EventArgs e) - { - Reload(); - keys.Clear(); - dataGridViewX1.Rows.Clear(); - for (int i = 0; i < titleList.Count; i++) - { - GetFenCi(titleList[i]); - } - var keylist = keys.ToList(); - keylist = keylist.OrderByDescending(u => u.Value).ToList(); - for (int i = 0; i < keylist.Count; i++) - { - dataGridViewX1.Rows.Add(dataGridViewX1.Rows.Count + 1, keylist[i].Key, keylist[i].Value, "删除"); - } - } - - public static Dictionary Keywords = new Dictionary(); - public void GetFenCi(string title) - { - for (int i = 2; i < title.Length; i++) - { - for (int j = 0; j < title.Length - i; j++) - { - string key = title.Substring(j, i).Trim(); - if (string.IsNullOrEmpty(key)) - continue; - if (Keywords.ContainsKey(key)) - { - if (!keys.ContainsKey(key)) - { - keys.Add(key, 1); - } - else - { - keys[key] = keys[key] + 1; - } - } - } - } - } - - private void wordReplaceButtonX_Click(object sender, EventArgs e) - { - string oldWord = this.oldWordTextBox.Text; - string newWord = this.newWordTextBox.Text; - if (string.IsNullOrEmpty(oldWord)) // 替换的字符不能为空 否则程序报错 add by tl20190301 - { - BaseMsgForm.ShowInfo("需要替换的字符不能为空!"); - return; - } - - descriptionTextBox.Text = descriptionTextBox.Text.Replace(oldWord, newWord); - } - - private void exportButtonX_Click(object sender, EventArgs e) - { - SaveFileDialog dialog = new SaveFileDialog(); - dialog.Title = "Save file as..."; - dialog.Filter = "Excel files (*.csv)|*.csv|All files (*.*)|*.*"; - dialog.RestoreDirectory = true; - - dialog.FileName = "淘宝关键词:" + DateTime.Now.ToString("yyyy-MM-dd") + ".csv"; - if (dialog.ShowDialog() != DialogResult.OK) - return; - OutExcel.SaveFile(dialog.FileName, dataGridViewX1); - } - - private void btnPicToMain_Click(object sender, EventArgs e) - { - if (cwbSearchTitle == null || !cwbSearchTitle.IsBrowserInitialized) - { - BaseMsgForm.ShowInfo("网页加载失败!"); - return; - } - - // 详情页转主图 - if (cwbSearchTitle.Address.Contains("tmall.com/item.htm?") || cwbSearchTitle.Address.Contains("taobao.com/item.htm?")) - { - //9787030687623 - var jsStr = "function getImgUrl() {" + - " var imgStr = '';" + - " var mainPicControls = document.getElementsByClassName('tb-thumb tb-clearfix');" + - " if (mainPicControls.length === 0) {" + - " var uls = document.getElementsByTagName('ul');" + - " for (i = 0; i < uls.length; i++) {" + - " if (uls[i].className.indexOf('PicGallery--thumbnails') >= 0) {" + - " imgStr = uls[i].innerHTML;" + - " break;" + - " }" + - " }" + - " }" + - " else {" + - " imgStr = mainPicControls[0].innerHTML;" + - " }" + - " return imgStr;" + - "} " + - "getImgUrl();"; - - var t1 = cwbSearchTitle.GetMainFrame().EvaluateScriptAsync(jsStr); - t1.Wait(); - var html = t1.Result?.Result?.ToString(); - if (!string.IsNullOrEmpty(html)) - { - var res = BaseRegex.GetMatchRegex(ref html, " src=\"([\\s\\S]+?)\""); - - var htmlTempArr = res.Cast().Select(m => m.ToString()).ToArray(); - htmlTempArr = htmlTempArr.Where(s => !s.EndsWith("/s.gif")).ToArray(); - var htmlList = new List(); - foreach (var str in htmlTempArr) - { - var strTemp = str.Trim().Replace("src=", "").Trim('\"').Replace(".jpg_230x230", "").Replace("_.webp", ""); - if (strTemp.Contains(".jpg_")) - strTemp = strTemp.Substring(0, strTemp.IndexOf(".jpg_")) + ".jpg"; - if (!strTemp.StartsWith("http")) - strTemp = "https://" + strTemp.Trim('/'); - htmlList.Add(strTemp); - } - - Task.Run(() => - { - if (fission != null) - fission.MulitAddMainImageWithCatchWords(htmlList); - Invoke(new Action(() => { BaseMsgForm.ShowInfo("图片转主完成!"); })); - }); - } - else - BaseMsgForm.ShowInfo("图片转主失败!"); - - - return; - //var address = cwbSearchTitle.Address; - //var id = BaseRegex.GetMatchRegexString(ref address, "id=(\\d{5,15})"); - - //if (!string.IsNullOrEmpty(id)) - //{ - // Task.Run(() => - // { - // ProductCollectBase pcb = new ProductCollectBase - // { - // from_url = "https://item.taobao.com/item.htm?id=" + id, - // from_id = Convert.ToInt64(id), - // }; - // TaobaoMobileCollect tm = new TaobaoMobileCollect(pcb); - // tm.Get(); - // if (tm.Product != null && tm.Product.Images?.Count > 0 == true) - // { - // var htmlList = new List(); - // foreach (var str in tm.Product.Images) - // { - // htmlList.Add(str.Replace(".jpg_230x230", "").Replace("_.webp", "")); - // } - - // if (fission != null) - // { - // fission.MulitAddMainImageWithCatchWords(htmlList); - // Invoke(new Action(() => { BaseMsgForm.ShowInfo("图片转主完成!"); })); - // } - // } - // }); - //} - } - // 搜索页转主图 - else - { - var jsStr = "function getImgUrl() {" + - " var imgs = document.getElementsByClassName('J_ItemPic img'); " + - " var result = '';" + - " for(i = 0; i < imgs.length; i++) {" + - " result += imgs[i].src + ';';" + - " }" + - " return result;" + - "} getImgUrl();"; - - var t1 = cwbSearchTitle.GetMainFrame().EvaluateScriptAsync(jsStr); - t1.Wait(); - var html = t1.Result?.Result?.ToString(); - if (!string.IsNullOrEmpty(html)) - { - var htmlTempArr = html.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); - htmlTempArr = htmlTempArr.Where(s => !s.EndsWith("/s.gif")).ToArray(); - var htmlList = new List(); - foreach (var str in htmlTempArr) - { - htmlList.Add(str.Replace(".jpg_230x230", "").Replace("_.webp", "")); - } - - Task.Run(() => - { - if (fission != null) - fission.MulitAddMainImageWithCatchWords(htmlList); - BaseMsgForm.ShowInfo("图片转主完成!"); - }); - } - else - BaseMsgForm.ShowInfo("图片转主失败!"); - } - } - - private void btnPicToContent_Click(object sender, EventArgs e) - { - //descV8-singleImage-image lazyload - - var jsStr = "function getImgUrl() {" + - " var imgs = document.getElementsByClassName('lazyload'); " + - " var result = '';" + - " for(i = 0; i < imgs.length; i++) {" + - " result += imgs[i].src + ';';" + - " }" + - " return result;" + - "} getImgUrl();"; - var t1 = cwbSearchTitle.GetMainFrame().EvaluateScriptAsync(jsStr); - t1.Wait(); - var html = t1.Result?.Result?.ToString(); - - if (string.IsNullOrEmpty(html)) - { - jsStr = "function getDescription() {" + - " var descriptions = document.getElementById('description'); " + - " var imgs = descriptions.getElementsByTagName('img'); " + - " var result = '';" + - " for(i = 0; i < imgs.length; i++) {" + - " result += imgs[i].src + ';';" + - " }" + - " return result;" + - "} getDescription();"; - } - t1 = cwbSearchTitle.GetMainFrame().EvaluateScriptAsync(jsStr); - t1.Wait(); - html = t1.Result?.Result?.ToString(); - - if (!string.IsNullOrEmpty(html)) - { - var htmlTempArr = html.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); - htmlTempArr = htmlTempArr.Where(s => !s.EndsWith("spaceball.gif") && !s.EndsWith("790-300.png")).ToArray(); - var htmlList = new List(); - foreach (var str in htmlTempArr) - { - htmlList.Add(str.Replace(".jpg_230x230", "").Replace("_.webp", "")); - } - - Task.Run(() => - { - if (fission != null) - fission.MulitAddContentImageWithCatchWords(htmlList); - BaseMsgForm.ShowInfo("转内容图完成!"); - }); - } - else - BaseMsgForm.ShowInfo("转内容图失败!"); - } - - private void btnChangeFissionTitle_Click(object sender, EventArgs e) - { - if (fission != null) - fission.ChangeFissionTitle(descriptionTextBox.Text.Trim().Replace("\r\n", ";").Replace("\n", ";")); - BaseMsgForm.ShowInfo("替换完成!"); - } - } -} diff --git a/TEMUKJD/ToolForms/Old/KeywordsForms/KeywordsCatchFrom.resx b/TEMUKJD/ToolForms/Old/KeywordsForms/KeywordsCatchFrom.resx deleted file mode 100644 index fbbf5e4..0000000 --- a/TEMUKJD/ToolForms/Old/KeywordsForms/KeywordsCatchFrom.resx +++ /dev/null @@ -1,313 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - True - - - True - - - True - - - True - - - True - - - - - AAABAAEAgIAQAAAAAABoKAAAFgAAACgAAACAAAAAAAEAAAEABAAAAAAAACgAAAAAAAAAAAAAAAAAAAAA - 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 - 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== - - - \ No newline at end of file diff --git a/Work/BLL/Collect/HaoWuCollectBLL.cs b/Work/BLL/Collect/HaoWuCollectBLL.cs deleted file mode 100644 index 9a0e8ec..0000000 --- a/Work/BLL/Collect/HaoWuCollectBLL.cs +++ /dev/null @@ -1,167 +0,0 @@ -using AllBase.Model.Result; -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Net; -using System.Net.Security; -using System.Text; -using System.Threading; -using System.Threading.Tasks; -using System.Windows.Forms; - -namespace Work.BLL.Collect -{ - /// - /// 抖音好物采集 - /// - public class HaoWuCollectBLL - { - private static bool CheckValidationResult(object sender, object certificate, object chain, SslPolicyErrors errors) => true; // 总是接受 - - public static string getHtml_fxg_20201220(string url, string cookies, string ip = "") - { - string str = ""; - try - { - int num = 0; - while (num < 3) - { - try - { - HttpWebRequest request = null; - if (!url.StartsWith("https", StringComparison.OrdinalIgnoreCase)) - { - request = WebRequest.Create(url) as HttpWebRequest; - } - else - { - ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult); - request = WebRequest.Create(url) as HttpWebRequest; - request.ProtocolVersion = HttpVersion.Version10; - } - request.Timeout = 25000; - request.ReadWriteTimeout = 25000; - request.Method = "Get"; - request.ContentType = "application/json; charset=utf-8"; - request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36"; - if ((DateTime.Now.Second % 5) == 0) - { - request.UserAgent = "com.ss.android.ugc.aweme/140001 (Linux; U; QuicVersion:47946d2a 2020-10-14)"; - } - else if ((DateTime.Now.Second % 5) == 1) - { - request.UserAgent = "Mozilla/5.0 (iPad; CPU OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3"; - } - else if ((DateTime.Now.Second % 5) == 2) - { - request.UserAgent = "Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3"; - } - else if ((DateTime.Now.Second % 5) == 3) - { - request.UserAgent = "Mozilla/5.0 (Linux; Android 10; TAS-AL00 Build/HUAWEITAS-AL00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/045120 Mobile Safari/537.36 V1_AND_SQ_8.2.7_1334_YYB_D QQ/8.2.7.4410 NetType/WIFI WebP/0.3.0 Pixel/1080 StatusBarHeight/81 SimpleUISwitch/0"; - } - else if ((DateTime.Now.Second % 5) == 4) - { - request.UserAgent = "Mozilla/5.0 (Linux; Android 6.0.1; Redmi Note 3 Build/MMB29M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/76.0.3809.89 Mobile Safari/537.36 T7/11.19 SP-engine/2.15.0 baiduboxapp/11.19.5.10 (Baidu; P1 6.0.1)"; - } - request.Host = new Uri(url).Host; - if (cookies.Trim() != "") - { - request.Headers.Add("Cookie", cookies); - } - request.Headers.Add("x-agw-info", "w6S2IHH6-wDuuvNtk2hidFD2MalfJTaURnf6XobYTqjSXcFmCxT79rJjYPudFSWQKnvYl1_OuIsDwtMtheGHihJf4OgPYQqcLNzPkIgpYAEbkfMAvBCAm1gY6uOq0Q_7DbfFOJAMQRGwDEkbVSLUxQSX5cc0hIkwhm36AUf0CflSXVno"); - request.Headers.Add("x-tt-logid", "2020122015563901002902921706016162"); - request.Headers.Add("x-tt-trace-host", "010c04b40779d7ea1251fcddf2faf54650937df4831d71a387846d4b65371bb93d891684d9895d083828b415698988c161a98e8e3579dfbba439a0f3317851b468507df11e82922352c8b013941f82ea53"); - request.Headers.Add("x-trans-level", "0"); - request.Headers.Add("x-tt-trace-tag", "id=3;cdn-cache=miss"); - char[] separator = new char[] { ':' }; - string[] strArray = ip.Split(separator); - char[] chArray2 = new char[] { '.' }; - string[] strArray2 = ip.Split(chArray2); - if (((ip.Trim() != "") && ((strArray.Length == 2) && (ip.IndexOf(".") > 0))) && (strArray2.Length == 4)) - { - request.Proxy = new WebProxy(strArray[0], Convert.ToInt32(strArray[1].Trim())); - } - Encoding encoding = Encoding.Default; - encoding = Encoding.UTF8; - str = new StreamReader(((HttpWebResponse)request.GetResponse()).GetResponseStream(), encoding).ReadToEnd(); - num = 10; - } - catch - { - num++; - } - } - } - catch - { - } - return str; - } - - public static string getHtml(string url, string cookies, string encod = "") - { - string str = ""; - try - { - int num = 0; - while (num < 3) - { - try - { - HttpWebRequest request = null; - if (!url.StartsWith("https", StringComparison.OrdinalIgnoreCase)) - { - request = WebRequest.Create(url) as HttpWebRequest; - } - else - { - ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult); - request = WebRequest.Create(url) as HttpWebRequest; - request.ProtocolVersion = HttpVersion.Version10; - } - request.Method = "Get"; - request.Referer = url; - request.ContentType = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;"; - request.ContentType = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3"; - request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.75 Safari/537.36"; - request.Host = new Uri(url).Host; - if (cookies.Trim() != "") - { - request.Headers.Add("Cookie", cookies); - } - HttpWebResponse response = (HttpWebResponse)request.GetResponse(); - Encoding encoding = Encoding.Default; - if (encod == "utf8") - { - encoding = Encoding.UTF8; - } - StreamReader reader = new StreamReader(response.GetResponseStream(), encoding); - str = reader.ReadToEnd(); - try - { - reader.Close(); - response.Close(); - reader.Dispose(); - response = null; - request = null; - } - catch - { - } - num = 10; - } - catch - { - num++; - } - } - } - catch - { - } - return str; - } - } -} diff --git a/Work/BLL/Collect/PddSameScreeningBLL.cs b/Work/BLL/Collect/PddSameScreeningBLL.cs index b1db7f7..5f623ba 100644 --- a/Work/BLL/Collect/PddSameScreeningBLL.cs +++ b/Work/BLL/Collect/PddSameScreeningBLL.cs @@ -16,576 +16,7 @@ namespace Work.BLL.Collect public class PddSameScreeningBLL { #region http请求 - - //Returns the text contained in the response. For example, the page HTML. Only handles the most common HTTP encodings. - public static string ReadResponse(HttpWebResponse response) - { - using (Stream responseStream = response.GetResponseStream()) - { - Stream streamToRead = responseStream; - if (response.ContentEncoding.ToLower().Contains("gzip")) - { - streamToRead = new GZipStream(streamToRead, CompressionMode.Decompress); - } - else if (response.ContentEncoding.ToLower().Contains("deflate")) - { - streamToRead = new DeflateStream(streamToRead, CompressionMode.Decompress); - } - - using (StreamReader streamReader = new StreamReader(streamToRead, Encoding.UTF8)) - { - return streamReader.ReadToEnd(); - } - } - } - - /// - /// 请求当前店铺销量 - /// - /// After the function has finished, will possibly contain the response to the request. - /// True if the request was successful; false otherwise. - public static string RequestShopSold(string url, string Token) - { - HttpWebResponse response = null; - try - { - //Create request to URL. - HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); - - //Set request headers. - request.KeepAlive = true; - request.Headers.Set(HttpRequestHeader.CacheControl, "max-age=0"); - request.Headers.Add("Upgrade-Insecure-Requests", @"1"); - request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36"; - request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3"; - request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate"); - request.Headers.Set(HttpRequestHeader.AcceptLanguage, "zh-CN,zh;q=0.9"); - request.Headers.Set(HttpRequestHeader.Cookie, Token); - - //Get response to request. - response = (HttpWebResponse)request.GetResponse(); - } - catch (WebException e) - { - //ProtocolError indicates a valid HTTP response, but with a non-200 status code (e.g. 304 Not Modified, 404 Not Found) - if (e.Status == WebExceptionStatus.ProtocolError) response = (HttpWebResponse)e.Response; - else return ""; - } - catch (Exception) - { - if (response != null) response.Close(); - return ""; - } - - return ReadResponse(response); - - } - - - - - /// - /// 获取宝贝数量 - /// - /// After the function has finished, will possibly contain the response to the request. - /// True if the request was successful; false otherwise. - public static string RequestShopCount(string url, string Token) - { - HttpWebResponse response = null; - - try - { - //Create request to URL. - HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://yangkeduo.com/proxy/api/api/turing/mall/query_mall_category_list?pdduid=2423695749878&mall_id=" + url); - - //Set request headers. - request.KeepAlive = true; - request.Accept = "application/json, text/plain, */*"; - request.Headers.Add("AccessToken", Token); - request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36"; - request.Headers.Add("VerifyAuthToken", @"kUo_K6VOliEhlNZNorECKQ"); - request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate"); - request.Headers.Set(HttpRequestHeader.AcceptLanguage, "zh-CN,zh;q=0.9"); - //Get response to request. - response = (HttpWebResponse)request.GetResponse(); - } - catch (WebException e) - { - //ProtocolError indicates a valid HTTP response, but with a non-200 status code (e.g. 304 Not Modified, 404 Not Found) - if (e.Status == WebExceptionStatus.ProtocolError) response = (HttpWebResponse)e.Response; - else return ""; - } - catch (Exception) - { - if (response != null) response.Close(); - return ""; - } - - return ReadResponse(response); - } - - /// - /// Tries to request the URL: http://api.yangkeduo.com/mall/412236912/info - /// - /// After the function has finished, will possibly contain the response to the request. - /// True if the request was successful; false otherwise. - public static string Request_api_yangkeduo_com(string url, string Token) - { - HttpWebResponse response = null; - try - { - //Create request to URL. - string requestUrl = "http://api.yangkeduo.com/mall/" + url + "/info"; - HttpWebRequest request = (HttpWebRequest)WebRequest.Create(requestUrl); - //Set request headers. - request.Referer = "Android"; - request.ContentType = "application/json;charset=UTF-8"; - request.Headers.Add("AccessToken", Token); - request.UserAgent = "android Mozilla/5.0 (Linux; Android 5.1.1; m1 metal Build/LMY49I; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/52.0.2743.100 Safari/537.36 phh_android_version/4.17.1 phh_android_build/1a7ec8b149 phh_android_channel/gw"; - request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip"); - - //Get response to request. - response = (HttpWebResponse)request.GetResponse(); - } - catch (WebException e) - { - //ProtocolError indicates a valid HTTP response, but with a non-200 status code (e.g. 304 Not Modified, 404 Not Found) - if (e.Status == WebExceptionStatus.ProtocolError) response = (HttpWebResponse)e.Response; - else return ""; - } - catch (Exception) - { - if (response != null) response.Close(); - return ""; - } - - return ReadResponse(response); - } - - public static string Request_api_yangkeduo_Ip(string url, string[] UserAgentList) - { - string result = ""; - try - { - string requestUrl = url; - HttpParam httpParam = new HttpParam(); - httpParam.Url = requestUrl; - httpParam.Referer = url; - string UserAgentTemp = UserAgentList[new Random().Next(UserAgentList.Count())]; - if (!string.IsNullOrEmpty(UserAgentTemp) && !UserAgentTemp.Contains("MicroMessenger")) - { - UserAgentTemp = UserAgentTemp.Insert(new Random().Next(UserAgentTemp.Length), "MicroMessenger" + Guid.NewGuid().ToString().Replace("-", "").Substring(0, new Random().Next(5))); - } - httpParam.UserAgent = UserAgentTemp; - httpParam.TryTimes = 60; - httpParam.ProxySleep = 500; - if (url.Contains("mall_page.html")) - { - result = GlobalProxyHelper.Request(httpParam, (response) => !string.IsNullOrEmpty(response) && !response.Contains("店铺主页")); - if (result.Contains(("店铺主页"))) - { - Thread.Sleep(10000); - httpParam.TryTimes = 60; - httpParam.Timeout = 10000; - result = GlobalProxyHelper.Request(httpParam, (response) => !string.IsNullOrEmpty(response) && !response.Contains("店铺主页")); - } - } - else - { - result = GlobalProxyHelper.Request(httpParam, (response) => !string.IsNullOrEmpty(response) && !response.Contains("error_code")); - if (result.Contains(("error_code"))) - { - Thread.Sleep(10000); - httpParam.TryTimes = 60; - result = GlobalProxyHelper.Request(httpParam, (response) => !string.IsNullOrEmpty(response) && !response.Contains("error_code")); - - } - } - - } - catch (Exception ex) - { - return ""; - } - - - return result; - } - - public static List listIp = new List(); - - private static readonly object obj = new object(); - private static int UseCount = 0; - public static string Request_yangkeduo_com(string sIpAndPort, long lProdId, string[] UserAgentList, out bool IsOverdue, bool IsBreak = false) - { - IsOverdue = false; - try - { - if (IsBreak) - { - return ""; - } - if (UseCount >= 150 && listIp.Count > 0)//代理ip 使用超过150次 才去请求一次ip - { - listIp.Clear(); - } - lock (obj) - { - //Thread.Sleep(3000); - if (listIp.Count() <= 0) - { - //Thread.Sleep(1000); - listIp = InitIp(sIpAndPort, out IsOverdue); - UseCount = 0; - } - } - if (IsOverdue) - { - return ""; - } - string ProxyIP = listIp[new Random().Next(0, listIp.Count)]; - UseCount++; - //listIp.Remove(listIp[0]); - - HttpWebResponse response = null; - try - { - string UserAgentTemp = UserAgentList[new Random().Next(UserAgentList.Count())]; - if (!string.IsNullOrEmpty(UserAgentTemp) && !UserAgentTemp.Contains("MicroMessenger")) - { - UserAgentTemp = UserAgentTemp.Insert(new Random().Next(UserAgentTemp.Length), "MicroMessenger" + Guid.NewGuid().ToString().Replace("-", "").Substring(0, new Random().Next(5))); - } - HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://mobile.yangkeduo.com/goods.html?goods_id=" + lProdId); - request.Timeout = 5000; - request.Headers.Set(HttpRequestHeader.AcceptLanguage, "zh-CN,zh;q=0.9,en;q=0.8"); - request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"; - request.ContentType = "application/x-www-form-urlencoded;charset=UTF-8"; - request.UserAgent = UserAgentTemp; - request.Headers.Set(HttpRequestHeader.AcceptEncoding, "deflate"); - System.Net.WebProxy proxy = GetWebProxy(ProxyIP); - request.Proxy = proxy; - response = (HttpWebResponse)request.GetResponse(); - } - catch (WebException e) - { - Thread.Sleep(3000); - LogHelper.Write(e.Message); - } - catch (Exception) - { - - } - - if (response != null) - { - - string result = ReadResponse(response); - if (result.Contains("mallID")) - { - //GlobalProxyHelper.CloseIp(listIp);//找到了 把当前获取到的ip关闭 - return HtmlHelper.UnicodeDecode(result); - } - - } - return ""; - - } - catch (Exception ex) - { - return ""; - } - } - - public static string RequestUrl_yangkeduo_com(long lProdId, string[] UserAgentList, string orderId, out bool IsOverdue) - { - IsOverdue = false; - int count = 0; - try - { - Again: - count++; - HttpWebResponse response = null; - try - { - string UserAgentTemp = UserAgentList[new Random().Next(UserAgentList.Count())]; - if (!string.IsNullOrEmpty(UserAgentTemp) && !UserAgentTemp.Contains("MicroMessenger")) - { - UserAgentTemp = UserAgentTemp.Insert(new Random().Next(UserAgentTemp.Length), "MicroMessenger" + Guid.NewGuid().ToString().Replace("-", "").Substring(0, new Random().Next(5))); - } - HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://goods.66daili.cn/api/goods/get/?orderid=" + orderId + "&token=5AF433ED506FA475&goodID=" + lProdId); - request.Timeout = 5000; - request.Headers.Set(HttpRequestHeader.AcceptLanguage, "zh-CN,zh;q=0.9,en;q=0.8"); - request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"; - request.ContentType = "application/x-www-form-urlencoded;charset=UTF-8"; - request.UserAgent = UserAgentTemp; - request.Headers.Set(HttpRequestHeader.AcceptEncoding, "deflate"); - response = (HttpWebResponse)request.GetResponse(); - } - catch (Exception ex) - { - Thread.Sleep(1000); - LogHelper.Write(ex.Message); - } - if (response != null) - { - string result = ReadResponse(response); - if (result.Contains("order expire or not exist")) - { - IsOverdue = true; - return ""; - } - if (result.Contains("mall_id") || result.Contains("mallId") || result.Contains("mallID")) - { - return HtmlHelper.UnicodeDecode(result); - } - else - { - if (count < 10) - { - Thread.Sleep(new Random().Next(50, 200)); - goto Again; - } - } - } - else - { - if (count < 10) - { - Thread.Sleep(new Random().Next(50, 200)); - goto Again; - } - } - return ""; - } - catch (Exception ex) - { - return ""; - } - } - - public static string MakeRequestForGetPddProdDetailByWeixin(string sIpAndPort, long lProdId) - { - while (true) - { - bool IsOverdue = false; - List listIp = InitIp(sIpAndPort, out IsOverdue); - //if(listIp!=null&&listIp.Count>0) - for (int i = 0; i < listIp.Count; i++) - { - HttpWebResponse response = null; - try - { - HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://wxapp.yangkeduo.com/compose/vtx/goods/detail/first/v3?pdduid=4014246301&xcx=20161201&xcx_version=v5.7.6.1&xcx_hash=" + GetTimeStampMilliSec() + GetRandomString(16)); - request.KeepAlive = true; - request.Headers.Set(HttpRequestHeader.CacheControl, "no-cache"); - request.Headers.Add("GZToken", Guid.NewGuid().ToString().Replace("-", "").Substring(0, 32)); - //request.Headers.Add("GZToken", @"8dc2715af33d80577efe1cccd945fd38"); - request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 MicroMessenger/7.0.9.501 NetType/WIFI MiniProgramEnv/Windows WindowsWechat"; - request.ContentType = "application/json;charset=UTF-8"; - request.Referer = "https://servicewechat.com/wx32540bd863b27570/1116/page-frame.html"; - request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate, br"); - System.Net.WebProxy proxy = GetWebProxy(listIp[i]); - request.Proxy = proxy; - - request.Method = "POST"; - request.ServicePoint.Expect100Continue = false; - - string body = @"{""goods_id"":""" + lProdId + @""",""from"":""24"",""has_rec"":true,""address_list"":[{""address_id"":""19159230174"",""province_id"":""3"",""city_id"":""3401"",""district_id"":""4124"",""is_default"":""1"",""is_top"":0}],""page_version"":7,""show_type"":1,""xcx_trace_id"":""" + GetRandrom(16) + @""",""client_time"":" + GetTimeStampMilliSec() + @",""anti_content"":""3aje" + GetRandomString(122) + @""",""xcx_version"":""v5.7.6.1""}"; - //string body = @"{""goods_id"":""" + lProdId + @""",""from"":""24"",""has_rec"":true,""address_list"":[{""address_id"":""19159230174"",""province_id"":""3"",""city_id"":""3401"",""district_id"":""4124"",""is_default"":""1"",""is_top"":0}],""page_version"":7,""show_type"":1,""xcx_trace_id"":""4277241276553842"",""client_time"":" + GetTimeStampMilliSec() + @",""anti_content"":""3ajeJxjZGRgYAhjYGJMBOIkIE4G4hQgTmVQZEyTMzEwMDAzsDCxMLYwNDY2MdU1NLU0MDW1NDUyNjM2ZeBiTGdnYCwK2WOnxMDKmMEENIyZMZMByM5iYmAEADpcDLo"",""xcx_version"":""v5.7.6.1""}"; - byte[] postBytes = System.Text.Encoding.UTF8.GetBytes(body); - request.ContentLength = postBytes.Length; - Stream stream = request.GetRequestStream(); - stream.Write(postBytes, 0, postBytes.Length); - stream.Close(); - - response = (HttpWebResponse)request.GetResponse(); - - } - catch (WebException e) - { - //return ""; - } - catch (Exception) - { - //return ""; - } - if (response == null) continue; - string result = ReadResponse(response); - if (result.Contains("\"success\":true")) - { - //GlobalProxyHelper.CloseIp(listIp);//找到了 把当前获取到的ip关闭 - return result; - } - else - { - - } - Thread.Sleep(500); - } - GlobalProxyHelper.CloseIp(listIp);//没找到也关闭 - Thread.Sleep(3000); - } - } - - /// - /// 整店采集 - /// - /// - /// - /// - /// - public static string RequestAllShopList(string sIpAndPort, string url, Func antiContentFunc, string UserAgent) - { - while (true) - { - bool IsOverdue = false; - List listIp = InitIp(sIpAndPort, out IsOverdue); - string NewUrl = ""; - for (int i = 0; i < listIp.Count; i++) - { - HttpWebResponse response = null; - try - { - NewUrl = url + "&anticontent=" + antiContentFunc(UserAgent); - HttpWebRequest request = (HttpWebRequest)WebRequest.Create(NewUrl); - request.KeepAlive = true; - request.Accept = "application/json, text/plain, */*"; - request.UserAgent = UserAgent; - //request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36 QBCore/4.0.1301.400 QQBrowser/9.0.2524.400 Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2875.116 Safari/537.36 NetType/WIFI MicroMessenger/7.0.5 WindowsWechat"; - request.Referer = "https://mobile.yangkeduo.com/"; - request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate"); - request.Headers.Set(HttpRequestHeader.AcceptLanguage, "zh-CN,zh;q=0.8,en-US;q=0.6,en;q=0.5;q=0.4"); - System.Net.WebProxy proxy = GetWebProxy(listIp[i]); - request.Proxy = proxy; - response = (HttpWebResponse)request.GetResponse(); - } - catch (WebException e) - { - - } - catch (Exception ex) - { - - } - if (response == null) - { - continue; - } - - string result = ReadResponse(response); - if (result.Contains("goods_list")) - { - //GlobalProxyHelper.CloseIp(listIp);//找到了 把当前获取到的ip关闭 - return HtmlHelper.UnicodeDecode(result); - } - Thread.Sleep(new Random().Next(500, 1500)); - } - GlobalProxyHelper.CloseIp(listIp);//没找到也关闭 - Thread.Sleep(3000); - } - } - - - private static long GetRandrom(int len) - { - Random rand = new Random(); - string strNum = ""; - int i = 0; - while (i < len) - { - i++; - int randomNum = rand.Next(0, 10); - strNum += randomNum.ToString(); - } - - return strNum.ParseToLong(); - } - - - public static string Request_weixinKweWords(string sIpAndPort, string keyword, int page) - { - while (true) - { - bool IsOverdue = false; - List listIp = InitIp(sIpAndPort, out IsOverdue); - //if(listIp!=null&&listIp.Count>0) - for (int i = 0; i < listIp.Count; i++) - { - HttpWebResponse response = null; - try - { - HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://wxapp.yangkeduo.com/compose/vtx/search?pdduid=4014246301&xcx=20161201&xcx_version=v5.7.9&xcx_hash=1590732694274NkDSTBGS61cRPBiD"); - - request.KeepAlive = true; - request.Headers.Set(HttpRequestHeader.CacheControl, "no-cache"); - request.Headers.Add("GZToken", @"7933a2eca48857c7640ce14ff17d4bbb"); - request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 MicroMessenger/7.0.9.501 NetType/WIFI MiniProgramEnv/Windows WindowsWechat"; - request.ContentType = "application/json;charset=UTF-8"; - request.Referer = "https://servicewechat.com/wx32540bd863b27570/1125/page-frame.html"; - request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate, br"); - System.Net.WebProxy proxy = GetWebProxy(listIp[i]); - request.Proxy = proxy; - - request.Method = "POST"; - request.ServicePoint.Expect100Continue = false; - - //string body = "{\"\"is_form_wallet\"\":false,\"\"query\"\":\"\"" + keyword + "\"\",\"\"new_search\"\":true,\"\"search\"\":{\"\"page\"\":" + page + ",\"\"size\"\":20,\"\"requery\"\":0,\"\"list_id\"\":\"\"xcx_search_ZN6Xie\"\",\"\"source\"\":\"\"index\"\",\"\"sort\"\":\"\"default\"\"},\"\"anti_content\"\":\"\"3ajeJxjZGRgYAhjYGJMBOIkIE4G4hQgTmVQZEyTMzYzMzU0trAwNzU1NbI0NdU1NLU0MDc2MrM0NTA0Z-BiTGdnYCyK51vMwMDKmMEENIyZMRPEzgKyATcqDHE\"\",\"\"xcx_version\"\":\"\"v5.7.9\"\"}"; - string body = @"{""is_form_wallet"":false,""query"":""连衣裙"",""new_search"":true,""search"":{""page"":1,""size"":20,""requery"":0,""list_id"":""xcx_search_ZN6Xie"",""source"":""index"",""sort"":""default""},""anti_content"":""3ajeJxjZGRgYAhjYGJMBOIkIE4G4hQgTmVQZEyTMzYzMzU0trAwNzU1NbI0NdU1NLU0MDc2MrM0NTA0Z-BiTGdnYCyK51vMwMDKmMEENIyZMRPEzgKyATcqDHE"",""xcx_version"":""v5.7.9""}"; - byte[] postBytes = System.Text.Encoding.UTF8.GetBytes(body); - request.ContentLength = postBytes.Length; - Stream stream = request.GetRequestStream(); - stream.Write(postBytes, 0, postBytes.Length); - stream.Close(); - - response = (HttpWebResponse)request.GetResponse(); - - } - catch (WebException e) - { - - } - catch (Exception) - { - - } - - string result = ReadResponse(response); - //if (result.Contains("mallID")) - { - GlobalProxyHelper.CloseIp(listIp);//找到了 把当前获取到的ip关闭 - return result; - } - Thread.Sleep(500); - } - GlobalProxyHelper.CloseIp(listIp);//没找到也关闭 - Thread.Sleep(3000); - } - } - - private static char[] constant = -{ -'0','1','2','3','4','5','6','7','8','9', -'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z', -'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z' -}; - private static string GetRandomString(int iLength) - { - System.Text.StringBuilder newRandom = new System.Text.StringBuilder(62); - Random rd = new Random(); - for (int i = 0; i < iLength; i++) - { - newRandom.Append(constant[rd.Next(62)]); - } - return newRandom.ToString(); - - } - public static string GetTimeStampMilliSec() - { - TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0); - return Convert.ToInt64(ts.TotalMilliseconds).ToString(); - } - public static List InitIp(string ProxyUrl, out bool IsOverdue) { IsOverdue = false; @@ -617,172 +48,6 @@ namespace Work.BLL.Collect } return proxyIpList; } - - - - - - public static string RequestTest(string sIpAndPort, string url) - { - - while (true) - { - bool IsOverdue = false; - List listIp = InitIp(sIpAndPort, out IsOverdue); - //if(listIp!=null&&listIp.Count>0) - for (int i = 0; i < listIp.Count; i++) - { - HttpWebResponse response = null; - try - { - HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); - request.KeepAlive = true; - request.Headers.Set(HttpRequestHeader.CacheControl, "max-age=0"); - request.Headers.Add("Upgrade-Insecure-Requests", @"1"); - request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/82.0.2444.133 Safari/537.36"; - request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3"; - request.Referer = url; - request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate"); - request.Headers.Set(HttpRequestHeader.AcceptLanguage, "zh-CN,zh;q=0.9"); - System.Net.WebProxy proxy = GetWebProxy(listIp[i]); - request.Proxy = proxy; - response = (HttpWebResponse)request.GetResponse(); - } - catch (WebException e) - { - - } - catch (Exception) - { - - } - - string result = ReadResponse(response); - if (!result.Contains("店铺主页")) - { - GlobalProxyHelper.CloseIp(listIp);//找到了 把当前获取到的ip关闭 - return result; - } - Thread.Sleep(500); - } - GlobalProxyHelper.CloseIp(listIp);//没找到也关闭 - Thread.Sleep(3000); - } - - //HttpWebResponse response = null; - - //try - //{ - // HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); - - // request.KeepAlive = true; - // request.Headers.Set(HttpRequestHeader.CacheControl, "max-age=0"); - // request.Headers.Add("Upgrade-Insecure-Requests", @"1"); - // request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36"; - // request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3"; - // request.Referer = url; - // request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate"); - // request.Headers.Set(HttpRequestHeader.AcceptLanguage, "zh-CN,zh;q=0.9"); - // System.Net.WebProxy proxy = GetWebProxy("120.79.214.87 11318 test200420-1 gu05VREpn349KSiT"); - // request.Proxy = proxy; - - // response = (HttpWebResponse)request.GetResponse(); - //} - //catch (WebException e) - //{ - // //ProtocolError indicates a valid HTTP response, but with a non-200 status code (e.g. 304 Not Modified, 404 Not Found) - // if (e.Status == WebExceptionStatus.ProtocolError) response = (HttpWebResponse)e.Response; - // else return ""; - //} - //catch (Exception) - //{ - // if (response != null) response.Close(); - // return ""; - //} - - //return ReadResponse(response); - } - public static string RequestTestA(string sIpAndPort, string url) - { - - while (true) - { - bool IsOverdue = false; - List listIp = InitIp(sIpAndPort, out IsOverdue); - //if(listIp!=null&&listIp.Count>0) - for (int i = 0; i < listIp.Count; i++) - { - HttpWebResponse response = null; - try - { - HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); - request.KeepAlive = true; - request.Accept = "application/json, text/plain, */*"; - request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36"; - //request.Headers.Add("VerifyAuthToken", @"ymXDWelTcWGRcf9dQBsVgw"); - request.Referer = url; - request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate"); - request.Headers.Set(HttpRequestHeader.AcceptLanguage, "zh-CN,zh;q=0.9"); - response = (HttpWebResponse)request.GetResponse(); - System.Net.WebProxy proxy = GetWebProxy(listIp[i]); - request.Proxy = proxy; - response = (HttpWebResponse)request.GetResponse(); - } - catch (WebException e) - { - - } - catch (Exception) - { - - } - - string result = ReadResponse(response); - if (!result.Contains("error_code")) - { - GlobalProxyHelper.CloseIp(listIp);//找到了 把当前获取到的ip关闭 - return result; - } - Thread.Sleep(500); - } - GlobalProxyHelper.CloseIp(listIp);//没找到也关闭 - Thread.Sleep(3000); - } - - - } - - - - public static WebProxy GetWebProxy(string ip = "") - { - WebProxy webProxy = null; - try - { - if (!string.IsNullOrEmpty(ip)) - { - string[] ipArr = ip.Split(new string[] { " ", ":" }, StringSplitOptions.RemoveEmptyEntries); - switch (ipArr.Length) - { - case 2: - webProxy = new WebProxy(ipArr[0], ipArr[1].ParseToInt()); - break; - - case 4: - webProxy = new WebProxy(ipArr[0], ipArr[1].ParseToInt()); - webProxy.Credentials = new NetworkCredential(ipArr[2], ipArr[3]); - break; - } - return webProxy; - } - } - catch (Exception ex) - { - LogHelper.WriteWithTime(ex); - } - return webProxy; - } - #endregion } } diff --git a/Work/BLL/Product/ShopProductBLL.cs b/Work/BLL/Product/ShopProductBLL.cs deleted file mode 100644 index a67e430..0000000 --- a/Work/BLL/Product/ShopProductBLL.cs +++ /dev/null @@ -1,74 +0,0 @@ -using AllBase.Model.Result; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Work.DouyinApiClass; - -namespace Work.BLL.Product -{ - public class ShopProductBLL - { - /// - /// 获取店铺商品列表 - /// - /// 店铺 - /// 商品是否在售 0在售 1仓库 - /// 页数 从1开始 - /// 每页商品数量 - /// 最后更新时间 - /// - public string GetShopProductListData(ShopLoginInfo shop, int productStatus = 0, int page = 1, int pageSize = 50, long update_end_time = 0) - { - // 读取在售商品数量 - Dictionary dictionary = new Dictionary(); - dictionary.Add("page", page.ToString()); - dictionary.Add("size", pageSize.ToString()); - if (update_end_time > 0) - dictionary.Add("update_end_time", update_end_time.ToString()); - // check_status 指定审核状态返回商品列表:1未提审 2审核中 3审核通过 4审核驳回 5封禁 7审核通过,待上架状态 - if (productStatus == 0) - dictionary["check_status"] = "3"; - //else - // dictionary["check_status"] = "1"; - dictionary["status"] = productStatus.ToString(); - DouyinApi douApi = new DouyinApi(shop); - douApi.JsonData = dictionary; - var resultOnline = douApi.GetProductList(); - return resultOnline; - } - - public string OnSaleProduct(ShopLoginInfo shop, string productIds) - { - Dictionary dictionary = new Dictionary(); - dictionary.Add("product_id", productIds); - dictionary.Add("start_sale_type", "0"); - dictionary.Add("commit", "true"); - DouyinApi douApi = new DouyinApi(shop); - douApi.JsonData = dictionary; - var resultOnline = douApi.GetProductEdit(); - return resultOnline; - } - - public string OffSaleProduct(ShopLoginInfo shop, string productIds) - { - Dictionary dictionary = new Dictionary(); - dictionary.Add("product_id", productIds); - DouyinApi douApi = new DouyinApi(shop); - douApi.JsonData = dictionary; - var resultOnline = douApi.SetProductOffline(); - return resultOnline; - } - - public string DeleteProduct(ShopLoginInfo shop, string productIds) - { - Dictionary dictionary = new Dictionary(); - dictionary.Add("product_id", productIds); - DouyinApi douApi = new DouyinApi(shop); - douApi.JsonData = dictionary; - var resultOnline = douApi.DeleteProduct(); - return resultOnline; - } - } -} diff --git a/Work/BLL/Product/ViolateBLL.cs b/Work/BLL/Product/ViolateBLL.cs deleted file mode 100644 index 7a30acf..0000000 --- a/Work/BLL/Product/ViolateBLL.cs +++ /dev/null @@ -1,53 +0,0 @@ -using AllBase; -using NaiBa.Util.Extension; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Work.BLL.Product -{ - public class ViolateBLL - { - public static string GetViolate(string upId, long upIdNumber) - { - string address = BaseClass.BuildObjString("violate&act=get"); - string param = UserLogin.GetSignaturex() - + "&pid=" + upId - + "&suffix=" + upIdNumber % 1024; - string html = GetHtml.PostUtf8(address, param); - if (html == null) - html = ""; - var data = BaseRegex.GetStringJson(ref html, "data"); - if (data == null) - { - if (html.Contains("\"msg\":\"success\"")) - data = "none"; - else - data = ""; - } - return data; - } - - public static string GetViolateList(List upIds) - { - if (upIds == null) - upIds = new List(); - - string address = BaseClass.BuildObjString("violate&act=get_list"); - string param = UserLogin.GetSignaturex() + "&pids="; - foreach (var id in upIds) - { - var idStr = id; - idStr = BaseRegex.GetMatchRegexString(ref idStr, "(\\d{5,30})"); - if (idStr == null) - continue; - - param += id + "," + (idStr.ParseToLong() % 1024) + ";"; - } - string html = GetHtml.PostUtf8(address, param.TrimEnd(';')); - return html; - } - } -} diff --git a/Work/BLL/Upload/FissionDataBaseBLL.cs b/Work/BLL/Upload/FissionDataBaseBLL.cs deleted file mode 100644 index d9a4706..0000000 --- a/Work/BLL/Upload/FissionDataBaseBLL.cs +++ /dev/null @@ -1,150 +0,0 @@ -using AllBase; -using AllBase.Model.Param.FissionManage; -using Newtonsoft.Json; -using Newtonsoft.Json.Linq; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading; -using System.Threading.Tasks; - -namespace Work.BLL.Upload -{ - public class FissionDataBaseBLL - { - /// - /// 获取分组 - /// - public List GetCategoryGroup() - { - List cateList = new List(); - - string getRequestData = UserLogin.GetSignaturex() + "&act=get"; - string getUrl = BaseClass.BuildFissionObjString("category_api"); - string categoryResult = GetHtml.PostUtf8(getUrl, getRequestData); - try - { - JObject jCategoryObj = (JObject)JsonConvert.DeserializeObject(categoryResult); - if (jCategoryObj == null) - { - return cateList; - } - string categoryList = jCategoryObj["list"].ToString(); - JArray jCategoryList = (JArray)JsonConvert.DeserializeObject(categoryList); - cateList.Clear(); - cateList.Add("不限"); - foreach (var category in jCategoryList) - { - string cateStr = category["cate_name"].ToString(); - var isHas = cateList.Find(x => x != null && x.Equals(cateStr)); - if (isHas != null) - { - continue; - } - cateList.Add(cateStr); - } - } - catch - { - } - return cateList; - } - - /// - /// 获取主分类 - /// - public List GetMainCate() - { - List mainCateList = new List(); - string getRequestData = UserLogin.GetSignaturex() + "&act=get_cate"; - string getUrl = BaseClass.BuildFissionObjString("fession_api"); - string categoryResult = GetHtml.PostUtf8(getUrl, getRequestData); - try - { - var MainCateObj = JsonConvert.DeserializeObject(categoryResult); - mainCateList.Clear(); - mainCateList.Add("不限"); - if (MainCateObj != null && MainCateObj.list.Count > 0) - { - for (int i = 0; i < MainCateObj.list.Count; i++) - { - var isHas = mainCateList.Find(x => x != null && x.Contains(MainCateObj.list[i].main_cate)); - if (isHas != null) - { - continue; - } - mainCateList.Add(MainCateObj.list[i].main_cate); - } - } - } - catch (Exception ex) - { - - } - return mainCateList; - } - - /// - /// 删除产品数据库裂变商品 - /// - /// - public string DelFessionData(string FessIds, bool isMultiDelete = false) - { - string getRequestData = UserLogin.GetSignaturex() + "&act=delete&id=" + FessIds; - string getUrl = BaseClass.BuildFissionObjString("fession_api"); - string Result = GetHtml.PostUtf8(getUrl, getRequestData); - return Result; - } - - /// - /// 恢复被删除的产品数据库裂变商品 - /// - /// - public void RestoreFessionData(string strTemp) - { - string getRequestData = UserLogin.GetSignaturex() + "&act=update&ids=" + strTemp; - string getUrl = BaseClass.BuildFissionObjString("fession_recover"); - string Result = GetHtml.PostUtf8(getUrl, getRequestData); - } - - public FissionData GetFessionDetailById(int FessId) - { - string url = BaseClass.BuildFissionObjString("fession_api"); - string requestData = UserLogin.GetSignaturex() + "&act=get_detail"; - string paraStr = "&id=" + FessId; - requestData = requestData + paraStr; - string htmlData = GetHtml.PostUtf8(url, requestData); - var FessionObj = JsonConvert.DeserializeObject(htmlData); - if (FessionObj == null || string.IsNullOrEmpty(FessionObj.main_pic)) - { - Thread.Sleep(1000); - FessionObj = JsonConvert.DeserializeObject(htmlData); - } - return FessionObj; - } - } - - public class MainCateList - { - /// - /// - /// - public string main_cate { get; set; } - } - public class MainCate - { - /// - /// List - /// - public List list { get; set; } - /// - /// - /// - public string page { get; set; } - /// - /// - /// - public string next_url { get; set; } - } -} diff --git a/Work/BLL/Upload/UploadMaterialBLL.cs b/Work/BLL/Upload/UploadMaterialBLL.cs deleted file mode 100644 index 2d0543b..0000000 --- a/Work/BLL/Upload/UploadMaterialBLL.cs +++ /dev/null @@ -1,92 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Work.BLL.Upload -{ - public class UploadMaterialBLL - { - public bool DelOldestApiMaterialFolder(AllBase.Model.Result.ShopLoginInfo shop) - { - ///^(\d{4})-(\d{2})-(\d{2})/ - var folder = GetApiMaterialFolder(shop); - if (folder != null && folder.Contains("\"code\":10000")) - { - var JObj = AllBase.JsonHelper.JObjectParse(folder); - if (JObj?["data"]?["folder_info_list"] != null) - { - foreach (Newtonsoft.Json.Linq.JObject j in JObj?["data"]?["folder_info_list"]) - { - var s = j?["name"]?.ToString(); - if (s != null && AllBase.BaseRegex.GetMatchRegex(ref s, "^(\\d{4})-(\\d{2})-(\\d{2})").Count > 0) - { - var folderId = j["folder_id"]?.ToString(); - - DouyinApiClass.DouyinApi api = new DouyinApiClass.DouyinApi(shop); - api.JsonData = new Dictionary(); - //api.JsonData.Add("name", DateTime.Now.ToString("yyyy-MM-dd")); - api.JsonData.Add("folder_ids", "[" + folderId + "]"); - string html = api.MaterialDeleteFolder(); - if (html != null && html.Contains("\"code\":10000") && html.Contains("\"success_ids\":[\"" + folderId + "\"]")) - return true; - } - } - } - } - return false; - } - - /// - /// - /// - /// - /// - /// 每页返回的数量。最大为100,默认为50 - /// 分页的页数,从1开始 - /// 排序方式 0-创建时间倒序 1-创建时间正序 2-修改时间倒序 3-修改时间正序 4-文件夹名倒序 5-文件夹名正序 - /// - public string GetApiMaterialFolder(AllBase.Model.Result.ShopLoginInfo shop, string parent_folder_id = "0", int page_size = 10, int page_num = 1, int order_by = 1, - string create_time_start = "", string create_time_end = "") - { - //var api = new DouyinApiClass.DouyinApi(shop); - //var folderResult = api.MaterialSearchFolder(1, 10); - //return folderResult; - - DouyinApiClass.DouyinApi api = new DouyinApiClass.DouyinApi(shop); - api.JsonData = new Dictionary(); - //api.JsonData.Add("name", DateTime.Now.ToString("yyyy-MM-dd")); - api.JsonData.Add("parent_folder_id", parent_folder_id); - api.JsonData.Add("order_by", order_by.ToString()); - api.JsonData.Add("page_num", page_num.ToString()); - api.JsonData.Add("page_size", page_size.ToString()); - if (!string.IsNullOrEmpty(create_time_start)) - api.JsonData.Add("create_time_start", create_time_start.ToString()); - if (!string.IsNullOrEmpty(create_time_end)) - api.JsonData.Add("create_time_end", create_time_end.ToString()); - string html = api.GetSearchFolder(); - if (html == null) - return ""; - return html; - } - - public string GetApiMaterial(AllBase.Model.Result.ShopLoginInfo shop, string parent_folder_id = "0", int page_size = 10, int page_num = 1, int order_by = 1, - string create_time_start = "", string create_time_end = "") - { - DouyinApiClass.DouyinApi api = new DouyinApiClass.DouyinApi(shop); - api.JsonData = new Dictionary(); - //api.JsonData.Add("name", DateTime.Now.ToString("yyyy-MM-dd")); - api.JsonData.Add("folder_id", parent_folder_id); - api.JsonData.Add("order_by", order_by.ToString()); - api.JsonData.Add("page_num", page_num.ToString()); - api.JsonData.Add("page_size", page_size.ToString()); - if (!string.IsNullOrEmpty(create_time_start)) - api.JsonData.Add("create_time_start", create_time_start.ToString()); - if (!string.IsNullOrEmpty(create_time_end)) - api.JsonData.Add("create_time_end", create_time_end.ToString()); - string html = api.GetSearchMaterial(); - return html == null ? "" : html; - } - } -} diff --git a/Work/BLL/Upload/UploadProductBLL.cs b/Work/BLL/Upload/UploadProductBLL.cs deleted file mode 100644 index 642892f..0000000 --- a/Work/BLL/Upload/UploadProductBLL.cs +++ /dev/null @@ -1,2463 +0,0 @@ -using AllBase; -using AllBase.Extension; -using AllBase.Helper; -using AllBase.Model.Param.ProductManage; -using AllBase.Model.Result; -using NaiBa.Util.Extension; -using Newtonsoft.Json; -using Newtonsoft.Json.Linq; -using System; -using System.Collections.Generic; -using System.IO; -using System.IO.Compression; -using System.Linq; -using System.Net; -using System.Security.Cryptography; -using System.Text; -using System.Threading; -using System.Threading.Tasks; -using Work.Api; -using Work.BLL.Product; -using Work.CollectClass; -using Work.DouyinApiClass; - -namespace Work.BLL.Upload -{ - public class UploadProductBLL - { - public static bool IsUseGlobalQualifications = false; - public static List sGlobalPropList = new List(); - public static List sGlobalQualifications = new List(); - //[{"quality_number":null,"quality_key":"6966228537426575660","quality_name":"包装标签图","quality_attachments":[{"media_type":1,"url":"https://img1.deifei.com/j/529/e949c8676f77d.png"}]}] - - /// - /// sku及sku属性的违规词列表: - /// 商品创建失败: 商品规格值描述“灭火器”不符合平台要求,请重新填写\\n^非法的参数^商品创建失败: 发布诊断失败 - /// - public static List ViolationSkuWords = new List() { "灭火器", "保护帽", }; - public string Name; - ShopLoginInfo Shop; - public static bool isEdit = false; - public static int ShopThreadCount = 20; - public static bool IsNoToken = false; - public static decimal addMultiple; // 加价倍数 - public static decimal addMultiple2; // 数据分裂加价范围 - public static decimal postage; // 单独加价(元) - public static decimal postage2; // 数据分裂加价范围 - public static decimal beforPrice; // 市场价倍数 - public static int MaxSingleShopUploadCount = 99999; // 单店上传最大个数 - public static bool isStockLessThan = false; // 库存小于 - public static decimal StockLessThanCount; // 库存小于多少不上货 - public static bool isWaiting = false; // 上货暂停 - public static bool isLitterSku; // 低于3个sku不上传 - public static bool JustFree; - public static bool isLogistics; - public static int isLogistHour; - public static string phone = ""; // 库存小于 - public static decimal LowPricePercent; // 最低价sku倍数 - public static decimal LowPriceAdd; // 最低价单独加价 - public static bool LowPriceSku; // 勾选最低价sku - public static string recommend_remark; // 商品评价 - public static List ids = new List(); - public ProductCollectBase p = new ProductCollectBase(); - public static List ProductTemp = new List(); - public static List ProductStock = new List(); - public static List ProductStockTemp = new List(); - public static List ShopTemp = new List(); - public static List FilterTitleWordList = new List(); // 过滤标题违规词 - public static List FilterSkuWordList = new List(); // 过滤sku违规词 - public static List FilterBrandWordList = new List(); // 过滤品牌违规词 - public static List FilterRemoveTitleWordList = new List(); // 消除标题违规词 - // 界面显示商品对象 - public delegate void ProductHandler(TaobaoProductBase p); - public ProductHandler productHandler; - // 日志提示信息 - public delegate void NoticeHandler(string notice); - public NoticeHandler noticeHandler; - // 剩余个数信息 - public delegate void RemainderHandler(); - public RemainderHandler remainHandler; - public static int maxCount; - public static string PreFixTitle = ""; - public static string fixName = "前缀"; - public static bool isDraft; - public static bool isCustomStock; - public static int skuCustomStock; - /// - /// 多店数据分裂上货的剩余未上货数量 - /// - public static int MultiUploadRestCount; - - public static bool isMinSkuStock; - public static int minSkuStock; - /// - /// 上货时使用代理获取拼多多上家商品 - /// - public static bool IsUseProxyCollectUp = true; - /// - /// 0现货发货 1预售发货 2阶梯发货 3现货-预售 4新预售 - /// - public static string delayType = "0"; // 发货类型 - public static string preEndTime = ""; // 预售结束时间 - public static string endDay = ""; // 几天后发货 - public static string sendDay = ""; // 多少天发货 - public static bool IsFilterTitleWord = false; // 过滤标题违规词 - public static bool IsFilterRemoveTitleWord = false; // 去除标题违规词 - public static bool IsFilterSkuWord = false; // 过滤Sku违规词 - public static bool IsFilterBrandWord = false; // 过滤品牌违规词 - public static bool IsFilterTMChaoShi = false; // 过滤天猫超市 - public static bool IsSetCommission = false; // 上货后设置佣金 - public static int CommissionRatio = 10; // 佣金比例 - public static byte[] img; - public static string baseImageUrl; - public static bool isMultiUpload = false; - public static bool isShopFissionUpload = false; // 单店裂变 - public static string supply_7day_return = "2"; // 七天无理由类型 - /// - /// 新版预售时效发货时间 - /// - public static string newPreTime = "5天内发货"; - /// - /// 新版预售现货-预售模式现货发货时间 - /// - public static string newPreSendDayString = "24小时内发货"; - /// - /// 随机主图 - /// - public static bool isRandomMainImage = false; - public static bool isSaveToOffLine = false; - /// - /// 云违规排查 - /// - public static bool isViolateCheck = false; - /// - /// 价格是否取整到元 - /// - public static bool isRoundPrice = false; - /// - /// 上货时指定的品牌,若未指定为空字符串 - /// - public static string productBrand = ""; - /// - /// 是否删除主图 - /// - public static bool IsDelMainPic = false; - /// - /// 删除指定主图 - /// - public static int DelMainPicId = 1; - /// - /// 是否删除第一张详情图 - /// - public static bool IsDelFirstContentPic = false; - - public UploadProductBLL(string Name, ShopLoginInfo Shop) - { - this.Name = Name; - this.Shop = Shop; - } - public void UploadProduct() - { - try - { - int waitTimes = 0; - int maxCount = 0; - int loopPrexCount = 0; - while (Shop.CanUpload) - { - TaobaoProductBase t = UploadProductBLL.ProductStock.Find(s => !s.Uped); - if (t == null) - { - waitTimes++; - if (waitTimes > 100 && UploadProductBLL.ProductStock.Count == 0) - return; - Thread.Sleep(1000); - LogSave.Add(Name, Shop.ShopAccount + " 等待数据中..."); - continue; - } - t.Uped = true; - UploadProductBLL.ProductStock.Remove(t); - Delete(t.guid); - remainHandler(); - if (Shop.ExpressId == 0) - { - Shop.ExpressId = GetFreightTemplate(); - if (Shop.ExpressId == 0) - { - Thread.Sleep(1 * 5000); - Shop.ExpressId = GetFreightTemplate(); - } - if (Shop.ExpressId == 0) - { - LogSave.Add(Name, "运费模板未找到"); - LogSave.AddFile(Shop.ShopAccount + "运费模板未找到"); - noticeHandler(Shop.ShopAccount + "运费模板未找到"); - Shop.Message = "请设置运费模板"; - UploadProductBLL.ShopTemp.Add(Shop); - return; - } - } - //去除括号 - try - { - if (t.Titlte.Contains("【"))//移除【】和之间的数据 - { - string delStr = BaseRegex.GetMatchRegexString(ref t.Titlte, @"(【[\w\W]+?】)"); - t.Titlte = t.Titlte.Replace(delStr, ""); - } - if (t.Titlte.Contains("["))//移除【】和之间的数据 - { - string delStr = BaseRegex.GetMatchRegexString(ref t.Titlte, @"([[\w\W]+?])"); - t.Titlte = t.Titlte.Replace(delStr, ""); - } - } - catch - { - continue; - } - //前缀 后缀 - try - { - string[] l = PreFixTitle.Split('\n'); - if (!string.IsNullOrEmpty(PreFixTitle)) - { - if (loopPrexCount >= l.Length) - { - loopPrexCount = 0; - } - if (!t.Titlte.Contains(l[loopPrexCount]) && fixName == "前缀") - { - t.Titlte = l[loopPrexCount].Replace("\r", "").Trim() + t.Titlte; - if (BaseClass.GetCharLength(t.Titlte) > 60) - t.Titlte = BaseClass.SubCharLength(t.Titlte, 60); - } - if (!t.Titlte.Contains(l[loopPrexCount]) && fixName == "后缀") - { - t.Titlte = t.Titlte + l[loopPrexCount].Replace("\r", "").Trim(); - if (BaseClass.GetCharLength(t.Titlte) > 60) - t.Titlte = BaseClass.SubCharLength(t.Titlte, 60); - } - } - loopPrexCount++; - } - catch - { - continue; - } - - t.Titlte = t.Titlte.Replace("//", "").Replace("\\", "");//Replace("/", "") - maxCount++; - if (maxCount > UploadProductBLL.MaxSingleShopUploadCount) - return; - var product = Set(t); - if (product == null) - continue; - ProductTemp.Add(product); - productHandler(product); - } - } - catch (Exception ex) - { - - } - return; - } - - public void UploadProductMulti() - { - List ProductStockMulti = new List(); - for (int i = 0; i < UploadProductBLL.ProductStockTemp.Count; i++) - { - ProductStockMulti.Add(UploadProductBLL.ProductStockTemp[i].Clone()); - } - try - { - int waitTimes = 0; - int maxCount = 0; - int loopPrexCount = 0; - while (Shop.CanUpload) - { - TaobaoProductBase t = ProductStockMulti.Find(s => !s.Uped); - if (t == null) - { - waitTimes++; - if (waitTimes > 100 && ProductStockMulti.Count == 0) - return; - Thread.Sleep(1000); - LogSave.Add(Name, Shop.ShopAccount + " 等待数据中..."); - continue; - } - t.Uped = true; - - if (ProductStock.Contains(t)) - ProductStock.Remove(t); - ProductStockMulti.Remove(t); - MultiUploadRestCount = ProductStockMulti.Count; - Delete(t.guid); - remainHandler(); - if (Shop.ExpressId == 0) - { - Shop.ExpressId = GetFreightTemplate(); - if (Shop.ExpressId == 0) - { - Thread.Sleep(1 * 5000); - Shop.ExpressId = GetFreightTemplate(); - } - if (Shop.ExpressId == 0) - { - LogSave.Add(Name, "运费模板未找到"); - LogSave.AddFile(Shop.ShopAccount + "运费模板未找到"); - noticeHandler(Shop.ShopAccount + "运费模板未找到"); - Shop.Message = "请设置运费模板"; - UploadProductBLL.ShopTemp.Add(Shop); - return; - } - } - //去除括号 - try - { - if (t.Titlte.Contains("【"))//移除【】和之间的数据 - { - string delStr = BaseRegex.GetMatchRegexString(ref t.Titlte, @"(【[\w\W]+?】)"); - t.Titlte = t.Titlte.Replace(delStr, ""); - } - if (t.Titlte.Contains("["))//移除【】和之间的数据 - { - string delStr = BaseRegex.GetMatchRegexString(ref t.Titlte, @"([[\w\W]+?])"); - t.Titlte = t.Titlte.Replace(delStr, ""); - } - } - catch - { - continue; - } - //前缀 后缀 - try - { - string[] l = PreFixTitle.Split('\n'); - if (!string.IsNullOrEmpty(PreFixTitle)) - { - if (loopPrexCount >= l.Length) - { - loopPrexCount = 0; - } - if (!t.Titlte.Contains(l[loopPrexCount]) && fixName == "前缀") - { - t.Titlte = l[loopPrexCount].Replace("\r", "").Trim() + t.Titlte; - if (BaseClass.GetCharLength(t.Titlte) > 60) - t.Titlte = BaseClass.SubCharLength(t.Titlte, 60); - } - if (!t.Titlte.Contains(l[loopPrexCount]) && fixName == "后缀") - { - t.Titlte = t.Titlte + l[loopPrexCount].Replace("\r", "").Trim(); - if (BaseClass.GetCharLength(t.Titlte) > 60) - t.Titlte = BaseClass.SubCharLength(t.Titlte, 60); - } - } - loopPrexCount++; - } - catch - { - continue; - } - - t.Titlte = t.Titlte.Replace("//", "").Replace("\\", "");//Replace("/", "") - maxCount++; - if (maxCount > UploadProductBLL.MaxSingleShopUploadCount) - return; - var product = Set(t); - if (product == null) - continue; - ProductTemp.Add(product); - productHandler(product); - } - } - catch (Exception ex) - { - - } - return; - } - public static void Delete(string id) - { - - string sql = "DELETE FROM Product WHERE fromid = '" + id + "' "; - if (string.IsNullOrEmpty(id)) - sql = "DELETE FROM Product "; - try - { - SqliteHelper.ExecuteNonQuery(sql); - } - catch - { - } - } - public TaobaoProductBase Set(TaobaoProductBase t) - { - try - { - return AddGoods(t); - } - catch (Exception ex) - { - LogSave.AddFile(t.FromId + ex.Message); - noticeHandler(t.FromId + ":" + ex.Message); - t.ShopName = Shop.ShopAccount; - t.Message = ex.Message; - return t; - } - } - /// - /// 获取运费模板 - /// - public long GetFreightTemplate() - { - DouyinApi api = new DouyinApi(Shop); - api.JsonData = new Dictionary(); - api.JsonData.Add("page", "0"); - api.JsonData.Add("size", "10"); - string template = api.GetFreightTemplateList(); - long tid = 0; - - var mt = BaseRegex.GetMatchRegex(ref template, @"""id"":[\s]*([\d]+)"); - for (int i = 0; mt != null && i < mt.Count; i++) - { - var s = mt[i].ToString(); - long j = long.Parse(mt[i].Groups[1].Value); - if (j > 0) - { - tid = j; - break; - } - } - return tid; - } - - public void GetProperty() - { - DouyinApi api = new DouyinApi(Shop); - api.JsonData = new Dictionary(); - api.JsonData.Add("category_leaf_id", "26623"); - string html = api.GetCateProperty(); - long tid = BaseRegex.GetLongJson(ref html, "id"); - } - - public static long GetCat(string title, out string msg, out string fullCatInfo, ShopLoginInfo dShop) - { - msg = ""; - fullCatInfo = ""; - if (title != null && title.Contains("【") && title.Contains("】"))//移除【和】之间的数据 - { - string delStr = BaseRegex.GetMatchRegexString(ref title, @"(【[\w\W]+?】)"); - title = title.Replace(delStr, ""); - } - if (title != null && title.Contains("[") && title.Contains("]"))//移除[和]之间的数据 - { - string delStr = BaseRegex.GetMatchRegexString(ref title, @"([[\w\W]+?])"); - title = title.Replace(delStr, ""); - } - - var cookieShops = GlobalConfig.ShopLoginList.Where(s => s.LoginStatus == "登录成功" && s.ShopId == dShop.ShopId).ToList(); - if (cookieShops.Count == 0) - { - msg = "店铺未登录"; - return 0; - } - while (cookieShops.Count > 0) - { - //retry: - var cookieShop = cookieShops[Randomx.GetId(cookieShops.Count)]; - string url = "https://fxg.jinritemai.com/product/tproduct/searchCategoryN?key=" + GetHtml.UrlEncodeUtf8(title) + "&appid=1&__token=" + cookieShop.ShopToken - + "&_bid=ffa_goods&_lid=631352353727&_signature=" + cookieShop.Signature + ""; - string refere = "https://fxg.jinritemai.com/ffa/g/create"; - string html = GetPostTaobaoHtml.UploadTaobao(url, refere, true, cookieShop.Cookies); - int total = BaseRegex.GetIntJson(ref html, "total"); - if (!string.IsNullOrEmpty(html)) - msg = BaseRegex.GetStringJson(ref html, "msg"); - //int retryCount = 0; - //if (total==0&&retryCount<6&&!string.IsNullOrEmpty(msg)&&!msg.Contains("关键词为空")) - //{ - // Thread.Sleep(Randomx.GetId(2000,5000)); - // retryCount++; - // goto retry; - //} - if (msg.Contains("系统繁忙")) - { - } - if (html.Contains("登录信息已失效")) - { - msg = "店铺未登录"; - cookieShop.LoginStatus = "未登录"; - return 0; - //cookieShops = GlobalConfig.DouShopLoginList.Where(s => s.LoginStatus == "登录成功" && s.ShopId == dShop.ShopId).ToList(); - } - else - { - if (html.Contains("data")) - { - JObject jObj = JObject.Parse(html); - JArray jArr = jObj["data"] as JArray; - if (jArr != null && jArr.Count > 0) - fullCatInfo = JsonHelper.SerializeObject(jArr); - } - long catId = BaseRegex.GetLongJson(ref html, "id"); - return catId; - } - } - return 0; - } - - public string GetProp(List propList, params string[] prev) - { - string result = ""; - for (int i = 0; i < propList.Count; i++) - { - var propValue = propList[i].Replace("(", "(").Replace(")", ")").Replace(" ", ""); - bool ishas = false; - for (int j = 0; j < prev.Length; j++) - { - if (propValue.Contains(prev[j])) - ishas = true; - } - if (ishas) - continue; - result = propValue; - break; - } - return result; - } - - public TaobaoProductBase AddGoods(TaobaoProductBase t) - { - while (isWaiting) - Thread.Sleep(100); - - if (Shop.PayStatus != 1 && Shop.TrialUploadCount > 100) - { - t.Message = "当前为试用版,请购买专业版"; - t.ShopName = Shop.ShopAccount; - return t; - } - if (isViolateCheck && Shop.PayStatus != 1) - { - t.Message = "当前为试用版,无法使用云违规排查,请购买专业版"; - t.ShopName = Shop.ShopAccount; - return t; - } - - if (isViolateCheck) - { - //https://yangkeduo.com/goods.html?goods_id=294943246187 - - string prev = GetPrev(t.FromType); - ViolateParam violateParam = new ViolateParam() - { - DataFrom = 1, - UpId = prev + t.FromId - }; - - var violateHtml = ViolateBLL.GetViolate(violateParam.UpId, violateParam.UpIdNumber); - if (violateHtml == "none") // 没有违规信息 - { - } - else // 有违规信息 - { - if (ViolateRuleParam.LstViolateRuleNameSelect.Any(v => ("^" + violateHtml + "^").Contains("^" + v + "^"))) - { - violateParam.CheckTime = DateTime.Now; - violateParam.RuleNames = violateHtml; - - t.Message = "当前商品违规:" + violateHtml; - t.ShopName = Shop.ShopAccount; - return t; - } - } - } - - ProductCollectBase p = new ProductCollectBase(); - t.FromType = t.FromType.Replace("\"", ""); - if (t.FromType.Contains("搜款网") && t.FromId > 10) - { - char[] idc = t.FromId.ToString().ToCharArray(); - if (t.FromId.ToString().Length < t.TolerantFormId.Length) - idc = t.TolerantFormId.ToString().ToCharArray(); - string ld = idc[idc.Length - 1].ToString(); - for (int i = 1; i < idc.Length - 1; i++) - { - ld += idc[i]; - } - ld += idc[0]; - t.FromIdBak = t.FromId; - t.FromId = long.Parse(ld); - p.from_site_id = 2; - } - - //if (t.pcb != null) - //{ - // if (t.pcb.IsPreSale) - // { - // t.Message = "预售商品,跳过"; - // noticeHandler("采集失败,跳过:" + t.FromId + ":" + t.Message); - // return t; - // } - //} - //else - if (t.FromType == "拼多多" || t.FromType == "内部数据" || t.FromType == "搜款网" || t.FromType == "搜款网净化") - { - retryTokenGet: - if (!IsUseProxyCollectUp) - { - //while (PinduoduoProductCollect.PinDuoDuoTokenList.Where(to => to.ProductDetailStatus == 1).ToList().Count == 0) - //{ - // IsNoToken = true; - // Thread.Sleep(500); - //} - IsNoToken = false; - } - PinduoduoProductCollect pp = new PinduoduoProductCollect(Name, t, true); - pp.Get(); - if (pp.pb.before_price == -1) - { - pp.Get(); - } - if (!TaobaoMobileCollect.ProductTemp.ContainsKey(t.FromId)) - { - if (pp.IsAdvance || pp.pb.IsPreSale) - { - t.Message = "预售商品,跳过"; - } - else if (!pp.OnSale) - { - t.Message = pp.message; - } - else - { - t.Message = pp.message; // "IP或买手号被限制,请更换IP或检查买手号是否能正常浏览商品"; - if (pp.IsNoToken) - { - goto retryTokenGet; - } - } - if (string.IsNullOrEmpty(t.Message)) - t.Message = "采集失败,跳过"; - noticeHandler("采集失败,跳过:" + t.FromId + ":" + t.Message); - return t; - } - } - else if (t.FromType == "抖音") - { - try - { - p.from_id = t.FromId; - CollectDoyin cd = new CollectDoyin(p); - cd.GetProduct(); - if (!cd.GetSuccess) - { - t.Message = "商品采集失败"; - noticeHandler("采集失败,跳过:" + t.FromId + ":" + t.Message); - return t; - } - if (cd.Product?.IsOnSale == false) - { - t.Message = "商品已下架"; - noticeHandler("商品已下架,跳过:" + t.FromId + ":" + t.Message); - return t; - } - } - catch (Exception ex) - { - LogSave.AddFile(t.FromId + "抖音商品采集错误" + ex.Message); - noticeHandler(t.FromId + ":抖音商品采集错误" + ex.Message); - t.Message = "抖音商品采集错误"; - return t; - } - } - else if (t.FromType == "阿里巴巴") - { - p.from_url = "https://detail.1688.com/offer/" + t.FromId + ".html"; - p.from_id = t.FromId; - AlibabaProductGet alibbProInfo = new AlibabaProductGet(p); - alibbProInfo.Get(); - //GetCatIdForPdd(proInfo); - //finalProductInfo = alibbProInfo.Product; - } - else // 淘宝 - { - p.from_url = "https://item.taobao.com/item.htm?id=" + t.FromId; - p.from_id = t.FromId; - TaobaoMobileCollect tm = new TaobaoMobileCollect(p); - tm.Pinduoduo = true; - tm.Name = Name; - tm.Get(); - if (!tm.GetSuccess) - { - t.Message = "商品采集失败"; - if (tm.IsDown) - t.Message = "商品已下架"; - if (!string.IsNullOrEmpty(tm.pbMessage)) - t.Message = tm.pbMessage; - if (tm.hasCookies) - t.Message = "请登录淘宝,获取数据"; - noticeHandler("采集失败,跳过:" + t.FromId + ":" + t.Message); - return t; - } - if (tm.IsPreSale || tm.Product.IsPreSale) - { - t.Message = "预售商品,跳过"; - noticeHandler("采集失败,跳过:" + t.FromId + ":" + t.Message); - return t; - } - - } - if (t.pcb != null) - { - // 从服务端获取产品数据库商品的详情 - if (t.pcb.isFission && t.pcb.Images.Count == 0) - { - var fissionTemp = new FissionDataBaseBLL().GetFessionDetailById(t.pcb.fissionDataBaseId.ParseToInt()); - if (fissionTemp == null) - { - Thread.Sleep(1000); - fissionTemp = new FissionDataBaseBLL().GetFessionDetailById(t.pcb.fissionDataBaseId.ParseToInt()); - } - if (fissionTemp == null || string.IsNullOrEmpty(fissionTemp.main_pic)) - { - t.Message = "产品数据库产品已失效"; - return t; - } - - try - { - t.pcb.name = fissionTemp.fession_title; - t.pcb.content = fissionTemp.container_info?.Replace("'>", "'>").Replace("new_group", "
    "); - t.pcb.Images = fissionTemp.main_pic == null ? new List() : fissionTemp.main_pic.Split(';').ToList(); - //Fiss.prop_pic = fissionTemp.prop_pic; - t.pcb.Props = JsonHelper.DeserializeJsonToList(fissionTemp.props); - //Fiss.mainWord = fissionTemp.mainWord; - //Fiss.viceword = fissionTemp.viceword; - t.pcb.Prop = JsonHelper.DeserializeJsonToList(fissionTemp.prop); - t.pcb.SkuMaps = JsonHelper.DeserializeJsonToList(fissionTemp.skus); - //Fiss.from_shop_name = fissionTemp.from_shop_name; - if (fissionTemp.qualifications != null) - t.pcb.qualifications = JsonHelper.DeserializeJsonToList(fissionTemp.qualifications); - } - catch (Exception ex) - { - t.Message = "产品数据库产品格式错误"; - return t; - } - } - - // 因分词库未保存店铺名称,故从验证上家是否下架的调用中获取上家店铺名称 - var from_shop_name = p.from_shop_name; - - p = t.pcb; - p.from_shop_name = from_shop_name; - - // 标题分词 - if (t.pcb.fission_names?.Count > 0 == true) - { - p.name = t.pcb.fission_names[Randomx.GetId(t.pcb.fission_names.Count)]; - } - } - else if (t.FromType == "阿里巴巴") - { - } - else if (t.FromType == "抖音" && CollectDoyin.ProductTemp.ContainsKey(t.FromId)) - p = CollectDoyin.ProductTemp[t.FromId].Clone(); - else if (TaobaoMobileCollect.ProductTemp.ContainsKey(t.FromId)) - p = TaobaoMobileCollect.ProductTemp[t.FromId].Clone(); - else - { - t.Message = "商品或已下架"; - if (!string.IsNullOrEmpty(p.message)) - t.Message = p.message; - noticeHandler("采集失败,跳过:" + t.FromId + ":" + t.Message); - return t; - } - if (!(p.Images?.Count() >= 3)) - { - t.Message = "主图小于3张平台限制上传"; - noticeHandler("主图小于3张平台限制上传:" + t.FromId + ":" + t.Message); - return t; - } - if (isLitterSku && p.SkuMaps.Count < 3) - { - t.Message = "低于3个sku的商品不上传"; - noticeHandler("低于3个sku的商品不上传:" + t.FromId + ":" + t.Message); - return t; - } - if (JustFree && p.express_price > 0) - { - t.Message = "跳过非包邮商品"; - noticeHandler("跳过非包邮商品:" + t.FromId + ":" + t.Message); - return t; - } - - // 抖店不支持标题换行符、tab等进行替换 - p.name = p.name.Replace("\\n", " ").Replace("\n", " ").Replace("\\t", " "); - // 抖店不支持的特殊符号替换 - foreach (var sku in p.SkuMaps) - { - sku.name = sku.name.Replace("\\", ""); - sku.nameLite = sku.nameLite.Replace("\\", ""); - } - foreach (var pr in p.Props) - { - foreach (var pv in pr.Values) - { - pv.name = pv.name.Replace("\\", ""); - } - } - // 消减规格数超3的sku属性 - for (int i = p.Props.Count - 1; i >= 0; i--) - { - if (p.Props.Count <= 3) - break; - - if (p.Props[i].Values.Any(v => !string.IsNullOrEmpty(v.image))) - continue; - - foreach (var pv in p.Props[i].Values) - { - foreach (var sku in p.SkuMaps) - { - sku.name = (";" + sku.name.Trim(';') + ";").Replace(";" + p.Props[i].name + ":" + pv.name + ";", ";").Trim(';'); - sku.nameLite = (";" + sku.nameLite.Trim(';') + ";").Replace(";" + pv.name + ";", ";").Trim(';'); - } - } - p.Props.Remove(p.Props[i]); - } - p.SkuMaps = p.SkuMaps.DistinctBy(s => s.name).ToList(); - - bool ishas = false; - string bankname = ""; - // 去除标题违规词 - if (IsFilterRemoveTitleWord) - { - for (int i = 0; i < FilterTitleWordList.Count; i++) - { - p.name = p.name.Replace(FilterTitleWordList[i], ""); - } - } - // 过滤标题 - if (IsFilterTitleWord) - { - for (int i = 0; i < FilterTitleWordList.Count; i++) - { - if (p.name.Contains(FilterTitleWordList[i])) - { - ishas = true; - bankname = FilterTitleWordList[i]; - break; - } - } - if (ishas) - { - t.Message = "标题发现违规词(" + bankname + "),跳过"; - LogSave.Add(Name, "上货失败,标题发现违规词,跳过:" + t.FromId + ":" + t.Message); - Thread.Sleep(1000); - return t; - } - } - // 过滤sku - if (IsFilterSkuWord) - { - for (int i = 0; i < FilterSkuWordList.Count; i++) - { - if (p.SkuMaps.Any(s => s.name.Contains(FilterSkuWordList[i]))) - { - ishas = true; - bankname = FilterSkuWordList[i]; - break; - } - } - if (ishas) - { - t.Message = "sku发现违规词(" + bankname + "),跳过"; - LogSave.Add(Name, "上货失败,sku发现违规词,跳过:" + t.FromId + ":" + t.Message); - Thread.Sleep(1000); - return t; - } - } - // 过滤品牌 - if (IsFilterBrandWord) - { - for (int i = 0; i < FilterBrandWordList.Count; i++) - { - if (p.Prop.Any(pr => pr.Key == "品牌" && pr.Value.Contains(FilterBrandWordList[i]))) - { - ishas = true; - bankname = FilterBrandWordList[i]; - break; - } - } - if (ishas) - { - t.Message = "品牌发现违规词(" + bankname + "),跳过"; - LogSave.Add(Name, "上货失败,品牌发现违规词,跳过:" + t.FromId + ":" + t.Message); - Thread.Sleep(1000); - return t; - } - } - // 过滤天猫超市 - if (IsFilterTMChaoShi) - { - if (p.from_shop_name == "天猫超市") - { - t.Message = "天猫超市商品,跳过"; - LogSave.Add(Name, "上货失败,天猫超市商品,跳过:" + t.FromId + ":" + t.Message); - Thread.Sleep(1000); - return t; - } - } - - if (!string.IsNullOrEmpty(p.logisticsTime) && isLogistics) - { - string daystr = BaseRegex.GetMatchRegexString(ref p.logisticsTime, @"([\d]+)"); - int day = 0; - int.TryParse(daystr, out day); - if (p.logisticsTime.Contains("天")) - day = day * 24; - if (day / 24 > 0) - day = day / 24; - if (p.logisticsTime.Contains("今天")) - day = 1; - if (p.logisticsTime.Contains("明天")) - day = 2; - if (p.logisticsTime.Contains("后天")) - day = 3; - int paraDay = isLogistHour / 24 + 1; - if ((p.logisticsTime.Contains("预售") || day >= paraDay) - && isLogistics) - { - t.Message = "跳过发货超过" + isLogistHour + "小时商品或预售商品"; - noticeHandler("跳过发货超过" + isLogistHour + "小时商品或预售商品:" + t.FromId + ":" + t.Message); - return t; - } - } - - // 去除属性、sku的重复名称(已知拼多多商品可能会有相同sku) - foreach (var prop in p.Props) - { - prop.Values = prop.Values.DistinctBy(kv => kv.name).ToList(); - } - p.SkuMaps = p.SkuMaps.DistinctBy(s => s.name).ToList(); - - // 去除sku违规词,后续可放开作为可选参数是否去除 - foreach (var prop in p.Props) - { - prop.Values = prop.Values.Where(kv => !ViolationSkuWords.Any(v => kv.name.Contains(v))).ToList(); - } - p.SkuMaps = p.SkuMaps.Where(s => !ViolationSkuWords.Any(v => s.name.Contains(v))).ToList(); - - Dictionary dictionary = new Dictionary(); - - //0-普通,3-虚拟,6玉石闪购,7云闪购 商品类型 - dictionary.Add("product_type", "0"); - - long catId = 0; - string msg = ""; - string fullCatInfo = ""; - if (p.isFission && p.cat_id != 0) - catId = p.cat_id; - else if (t.FromType == "抖音" && p.cat_id != 0) - catId = p.cat_id; - else - catId = GetCat(p.name, out msg, out fullCatInfo, Shop); - if (catId == 0) - { - t.Message = "提交失败,类目获取失败" + (string.IsNullOrEmpty(msg) ? "" : "," + msg); - t.ShopName = Shop.ShopAccount; - return t; - } - // 叶子类目ID - dictionary.Add("category_leaf_id", catId.ToString()); // 20171 22386 - - // 记录一级类目名称供需要一级类目的操作使用 - string first_name = ""; - if (!string.IsNullOrEmpty(fullCatInfo)) - { - first_name = BaseRegex.GetStringJson(ref fullCatInfo, "first_name"); - } - else - { - first_name = p.main_cat_name; - } - - // 外部产品Id - //string from_name = ""; - //if (t.FromType == "拼多多") - // from_name = "pd-"; - //else if (t.FromType == "淘宝") - // from_name = "tb-"; - //else if (t.FromType == "阿里") - // from_name = "al-"; - //else if (t.FromType == "京喜") - // from_name = "jx-"; - //else if (t.FromType == "抖音") - // from_name = "dy-"; - //dictionary["outer_product_id"] = from_name + p.from_id.ToString() + "-" + Randomx.GetId(10000, 99999); - - //3496306606084372244 - if (p.from_site_id == 7 || p.from_site_id.ToString().Length > 15) - dictionary["outer_product_id"] = p.from_id.ToString(); - else - dictionary["outer_product_id"] = 9000 + p.from_site_id + p.from_id.ToString(); - - var apiGetOutIdExist = new DouyinApi(Shop); - // 老上货数据判断是否重复铺货 - var shopItems = GlobalConfig.SameProductCheckParamList.Find(sit => sit.ShopId == Shop.ShopId); - var productIdExist = shopItems?.ShopSamePrpductItemList.Find(it => it.outer_product_id.Contains(p.from_id.ToString())); - if (productIdExist != null) - apiGetOutIdExist.JsonData.Add("product_id", productIdExist.product_id.ToString()); - // 20220425之后的新商品判断是否重复铺货 - else - apiGetOutIdExist.JsonData.Add("out_product_id", dictionary["outer_product_id"]); - var getOutIdExistResult = apiGetOutIdExist.GetProductDetail(); - if (getOutIdExistResult != null && getOutIdExistResult.Contains("\"code\":10000")) - { - var status = JObject.Parse(getOutIdExistResult)["data"]?["status"]; - var checkStatus = BaseRegex.GetIntJson(ref getOutIdExistResult, "check_status"); - var productId = BaseRegex.GetLongJson(ref getOutIdExistResult, "product_id"); - - if (status != null && status.ParseToInt() == 2) // 回收站商品直接跳过不处理 - { - // do nothing - } - else if (checkStatus == 4) // 审核驳回商品重新上传 - { - var pid = BaseRegex.GetLongJson(ref getOutIdExistResult, "product_id"); - DouyinApi dApi = new DouyinApi(Shop); - dApi.JsonData = new Dictionary(); - dApi.JsonData["product_id"] = pid.ToString(); - var result = dApi.DeleteProduct(); - } - else if (checkStatus == 5) // 封禁商品拦截 - { - t.Message = "店铺已上传过此商品且被封禁,请勿再次上传"; - t.ShopName = Shop.ShopAccount; - return t; - } - else // 重复铺货商品拦截 - { - t.Message = "店铺已上传过此商品,请勿重复铺货"; - t.ShopName = Shop.ShopAccount; - t.GoodsId = productId; - return t; - } - } - - // 启用全局资质和属性,按指定的资质上传 - if (IsUseGlobalQualifications) - { - if (sGlobalQualifications.Count > 0) - { - if (p.qualifications == null) - { - p.qualifications = new List(); - } - foreach (var qu in sGlobalQualifications) - { - p.qualifications.RemoveAll(q => q.quality_name == qu.quality_name); - p.qualifications.Add(qu); - } - } - - foreach (var pr in sGlobalPropList) - { - if (pr.Key == "品牌") - { - p.Prop.RemoveAll(pr1 => pr1.Key == "品牌" || pr1.Key == "品牌编号"); - p.Prop.Add(pr); - - if (pr.Value == "无品牌") - p.Prop.Add(new KeyValueBase("品牌编号", "596120136")); - else - { - var apiBrand = new DouyinApi(Shop); - apiBrand.JsonData["category_id"] = catId.ToString(); - var textQuery = pr.Value.Split(new string[] { "/" }, StringSplitOptions.RemoveEmptyEntries).LastOrDefault(); - apiBrand.JsonData["query"] = textQuery == null ? "" : textQuery; // "JIXIN/积鑫"; - var brandResult = apiBrand.cateBrandList(); - var brand_id = BaseRegex.GetLongJson(ref brandResult, "brand_id"); - var brand_name_cn = BaseRegex.GetStringJson(ref brandResult, "name_cn"); - var brand_name_en = BaseRegex.GetStringJson(ref brandResult, "name_en"); - if ((brand_name_cn == textQuery || brand_name_en == textQuery) && brand_id > 0) - p.Prop.Add(new KeyValueBase("品牌编号", brand_id.ToString())); - } - } - else - { - p.Prop.RemoveAll(pr1 => pr1.Key == pr.Key); - p.Prop.Add(pr); - } - } - } - - // 获取尺码表 - if (first_name.Contains("女装") || first_name.Contains("男装") || first_name.Contains("内衣裤袜") || first_name.Contains("童装/婴儿装/亲子装") || - first_name.Contains("女鞋") || first_name.Contains("男鞋")) - { - string urlComponent = "https://fxg.jinritemai.com/product/tproduct/getAvailableTemplate?category_id=" + catId + "&appid=1&__token=" + Shop.ShopToken - + "&_bid=ffa_goods&_lid=847509501715&_signature=" + Shop.Signature + ""; - string refereComponent = "https://fxg.jinritemai.com/ffa/g/create"; - string htmlComponent = GetPostTaobaoHtml.UploadTaobao(urlComponent, refereComponent, true, Shop.Cookies); - if (htmlComponent.Contains("\"available_component_template_info\":[]")) - { - t.Message = "请去店铺后台创建产品尺码表!"; - t.ShopName = Shop.ShopAccount; - return t; - } - var templateId = BaseRegex.GetStringJson(ref htmlComponent, "template_id"); - if (!string.IsNullOrEmpty(templateId)) - { - dictionary["size_info_template_id"] = templateId; - } - } - - //商品属性"product_format": "货号|8888^上市年份季节|2018年秋季^", 属性名称|属性值 之间用|分隔, 多组之间用^分开 - CatePropertyResponseInfo propResult = new UploadPropertyBLL().getCatePropertyInterfaceV2(catId.ToString(), Shop); - if (Shop.ApiAuthStatus != "授权成功") - { - t.Message = "授权过期,请重新授权!"; - t.ShopName = Shop.ShopAccount; - return t; - } - for (int i = 0; i < 3 && propResult.message != "success"; i++) - { - Thread.Sleep(500); - propResult = new UploadPropertyBLL().getCatePropertyInterfaceV2(catId.ToString(), Shop); - } - if (propResult.message != "success") - { - t.Message = "类目属性规则获取失败"; - t.ShopName = Shop.ShopAccount; - return t; - } - - string property = new UploadPropertyBLL().GetCatePropertyAnalysis(propResult, Shop, p); - if (!string.IsNullOrEmpty(property)) - { - //dictionary.Add("product_format", property); - dictionary.Add("product_format_new", property); - } - else - { - t.Message = "商品属性生成失败"; - t.ShopName = Shop.ShopAccount; - return t; - } - - //dictionary.Add("product_format_new", property.Replace("\"","\\\""));//"{\\\"1687\\\":[{\\\"value\\\":2147202834,\\\"name\\\":\\\"女汉将\\\"}]}" - //商品名称 - if (!string.IsNullOrEmpty(t.Titlte) && fixName == "前缀") - p.name = t.Titlte + p.name; - if (!string.IsNullOrEmpty(t.Titlte) && fixName == "后缀") - p.name = p.name + t.Titlte; - if (BaseClass.GetCharLength(p.name) > 60) - p.name = BaseClass.SubCharLength(p.name, 60); - // 商品如果生鲜必须包含净含量 - if ((p.main_cat_name.Contains("水果") || p.main_cat_name.Contains("生鲜")) && !p.name.Contains("g") && !p.name.Contains("斤") && !p.name.Contains("克")) - { - if (BaseClass.GetCharLength(p.name) > 55) - p.name = BaseClass.SubCharLength(p.name, 55); - p.name = p.name + "1000g"; - } - dictionary.Add("name", p.name); - - if (Shop.LstBrand == null) - { - Shop.LstBrand = GetBrandList(Shop); - } - //DouyinApi apix = new DouyinApi(Shop); - //apix.JsonData["category_id"] = p.cat_id.ToString(); - //apix.JsonData["query"] = "JIXIN/积鑫"; - //var rx = apix.cateBrandList(); - if (Shop.LstBrand?.Count > 0) - { - if (Shop.ShopAccount == "权益服务齐全的专营店") - { - dictionary.Add("brand_id", "2122428529"); - } - else - { - dictionary.Add("brand_id", Shop.LstBrand[0].id.ToString()); - } - } - else - dictionary.Add("standard_brand_id", "596120136"); // 对应产品后台无品牌选项 - - if (p.Prop.Any(pr => pr.Key == "品牌编号")) - dictionary["standard_brand_id"] = p.Prop.FirstOrDefault(pr => pr.Key == "品牌编号").Value; // 根据商品编辑里的指定品牌设置品牌编号 - - if (!string.IsNullOrEmpty(productBrand) && (Shop.ShopAccount.Contains("旗舰店") || Shop.ShopAccount.Contains("专营店") || Shop.ShopAccount.Contains("专卖店"))) - { - var brandApi = new DouyinApi(Shop); - brandApi.JsonData["category_id"] = catId.ToString(); - var textQuery = productBrand; - brandApi.JsonData["query"] = textQuery; - var result = brandApi.cateBrandList(); - if (!result.Contains("brand_list")) - { - Thread.Sleep(1000); - result = brandApi.cateBrandList(); - } - try - { - var jArr = JObject.Parse(result)["data"]["brand_list"] as JArray; - if (jArr == null) - jArr = JObject.Parse(result)["data"]["auth_brand_list"] as JArray; - var brand_cn = jArr[0]["name_cn"].ToString(); - var brand_en = jArr[0]["name_en"].ToString(); - var brand_id = jArr[0]["brand_id"].ParseToLong(); - if (brand_cn == textQuery || brand_en == textQuery) - { - dictionary["standard_brand_id"] = brand_id.ToString(); - } - else - { - t.Message = "指定品牌不存在"; - t.ShopName = Shop.ShopAccount; - return t; - } - } - catch (Exception ex) - { - t.Message = "指定品牌获取失败"; - t.ShopName = Shop.ShopAccount; - return t; - } - } - - string searchFolderResult = SearchFolder(Shop); - if (!searchFolderResult.Contains("\"code\":10000")) - searchFolderResult = SearchFolder(Shop); - int total = BaseRegex.GetIntJson(ref searchFolderResult, "total"); - string folderId = BaseRegex.GetStringJson(ref searchFolderResult, "folder_id"); - if (total == 0 || string.IsNullOrEmpty(folderId)) - { - string folder = CreateImageFolder(Shop); - folderId = BaseRegex.GetStringJson(ref folder, "folder_id"); - } - - // 单张图片上传 - //string tid = Md5Base.GetMd5(p.name).Substring(8, 16) + Randomx.GetId(2000); - //string byte_url = UploadImageSync(Shop, folderId, "http://gw.alicdn.com/bao/uploaded/i4/O1CN010Uo1SF22kPm5WRwkD_!!0-rate.jpg", tid); - // 主轮播图 主图 - if (p.Images == null || p.Images.Count == 0 || string.IsNullOrEmpty(p.Images[0])) - { - } - noticeHandler(p.from_id + ":正在上传轮播图片"); - Thread.Sleep(Randomx.GetId(500, 1500) + UploadProductBLL.ids.Count * 100); - - // 删除指定主图 - if (IsDelMainPic) - { - for (int i = 1; i <= p.Images.Count; i++) - { - if (i == DelMainPicId) - { - p.Images.RemoveAt(i - 1); - break; - } - } - if (!(p.Images?.Count() >= 3)) - { - t.Message = "主图小于3张平台限制上传"; - noticeHandler("主图小于3张平台限制上传:" + t.FromId + ":" + t.Message); - return t; - } - } - - string mainImages = ""; - int picCount = 0; - var images = p.Images.Distinct().ToList(); - //主图大于十张,随机挑选其中十张 - if (images.Count > 10) - GetTenImages(images); - if (isRandomMainImage) - images = GetRandomMainImage(string.Join("|", images)).Split(new string[] { "|" }, StringSplitOptions.RemoveEmptyEntries).ToList(); - string imagePic = ""; - List request_id_List = new List(); - for (int i = 0; i < images.Count; i++) - { - string urlImage = images[i]; - if (!urlImage.Contains("http")) - { - urlImage = "https:" + images[i]; - } - - if (!string.IsNullOrEmpty(imagePic)) - { - imagePic += ","; - } - string tid = Md5Base.GetMd5(p.name).Substring(8, 16) + Randomx.GetId(2000); - long rquest_id = Randomx.GetId(2000000000); - request_id_List.Add(rquest_id); - imagePic += "{\\\"request_id\\\":" + rquest_id + ",\\\"folder_id\\\":\\\"" + folderId - + "\\\",\\\"material_type\\\":\\\"photo\\\",\\\"name\\\":\\\"" + tid - + "\\\",\\\"url\\\":\\\"" + urlImage + "\\\"}"; - - if (i >= 9) - break; - } - int imageMapsRetryTimes = 0; - imageMapsRetry: - string imageMaps = BatchUploadImageSync(Shop, "[" + imagePic + "]"); - if (imageMaps.Contains("access_token已过期")) - { - t.Message = "授权过期,请重新授权!"; - t.ShopName = Shop.ShopAccount; - return t; - } - if (!imageMaps.Contains("\"code\":10000")) - imageMaps = BatchUploadImageSync(Shop, "[" + imagePic + "]"); - if (imageMaps != null && imageMaps.Contains("素材库容量不足")) - { - if (imageMapsRetryTimes < 5) - { - var folderResult = new UploadMaterialBLL().DelOldestApiMaterialFolder(Shop); - if (folderResult) - { - imageMapsRetryTimes++; - goto imageMapsRetry; - } - } - t.Message = "素材库容量不足"; - t.ShopName = Shop.ShopAccount; - return t; - } - var imageMapsObj = JsonHelper.JObjectParse(imageMaps)?["data"]; - if (imageMapsObj == null || imageMapsObj["success_map"] == null) - { - t.Message = "轮播图Json格式错误"; - t.ShopName = Shop.ShopAccount; - return t; - } - // 处理上传失败图片 - var failedMapStr = imageMapsObj["failed_map"]?.ToString(); - if (!string.IsNullOrEmpty(failedMapStr) && failedMapStr != "{}" && imageMapsRetryTimes < 5) - { - Thread.Sleep(1000); - imageMapsRetryTimes++; - goto imageMapsRetry; - } - - for (int i = 0; i < request_id_List.Count(); i++) - { - string urlImage = imageMapsObj["success_map"]?[request_id_List[i].ToString()]?["ByteUrl"]?.ToString(); - if (string.IsNullOrEmpty(urlImage)) - continue; - if (mainImages.Contains(urlImage)) - continue; - - picCount++; - if (mainImages.Trim() != "") - { - mainImages += "|"; - } - mainImages += urlImage; - - if (mainImages.Split('|').Count() > 4) - break; - } - //商品轮播图 - dictionary.Add("pic", mainImages); - - if (p.Props.Count == 0) - { - } - string specimg = p.Props[0].Values[0].image; - // 支付方式,0货到付款 1在线支付,2,货到付款+在线支付 - dictionary.Add("pay_type", "1"); - - // 规格属性等 - string specHtml = ""; - if (string.IsNullOrEmpty(specimg)) - { - for (int i = p.Props.Count - 1; i > -1; i--) - { - var pitem = p.Props[i]; - string proStr = pitem.name + "|"; - for (int j = 0; j < pitem.Values.Count; j++) - { - proStr += pitem.Values[j].name.Replace("|", " ").Replace("丨", " ").Replace("(", "(").Replace(")", ")").Replace(" ", "") + ","; - } - specHtml += proStr.Substring(0, proStr.Length - 1); - if (!string.IsNullOrEmpty(specHtml)) - { - specHtml += "^"; - } - } - } - else - { - for (int i = 0; i < p.Props.Count; i++) - { - var pitem = p.Props[i]; - string proStr = pitem.name + "|"; - for (int j = 0; j < pitem.Values.Count; j++) - { - proStr += pitem.Values[j].name.Replace("|", " ").Replace("丨", " ").Replace("\t", "").Replace("(", "(").Replace(")", ")").Replace(" ", "") + ","; - } - specHtml += proStr.Substring(0, proStr.Length - 1); - if (!string.IsNullOrEmpty(specHtml)) - { - specHtml += "^"; - } - } - } - - // 店铺通用规格 - - // 根据类目查询商品发布规则,如支持的发货模式、发货时效等 (时效sku) - bool isNormalRuleCanUse = true, isTimeSkuWithNormalCanUse = true, isTimeSkuCanUse = true; - string updateRule = ""; - try - { - updateRule = getProductUpdateRule(catId.ToString(), Shop); - var jObj = JObject.Parse(updateRule); - isNormalRuleCanUse = jObj["data"]?["fulfillment_rule"]?["normal_rule"]?["support"]?.ToString()?.ToLower() != "false"; - isTimeSkuWithNormalCanUse = jObj["data"]?["fulfillment_rule"]?["time_sku_presell_with_normal_rule"]?["support"]?.ToString()?.ToLower() == "true"; - isTimeSkuCanUse = jObj["data"]?["fulfillment_rule"]?["time_sku_pure_presell_rule"]?["support"]?.ToString()?.ToLower() == "true"; - } - catch - { - } - - var productDelayType = UploadProductBLL.delayType; - // 普通模式不支持发货但可以时效发货,则改为时效发货模式 - if (UploadProductBLL.delayType == "0" && isNormalRuleCanUse == false && isTimeSkuWithNormalCanUse == true) - { - productDelayType = "3"; - - newPreSendDayString = "48小时内发货"; - var specHtmlList = specHtml.Split(new string[] { "^" }, StringSplitOptions.RemoveEmptyEntries).ToList(); - if (specHtmlList.Count == 3) - specHtmlList.RemoveAt(2); - specHtmlList.Add("发货时效|" + newPreSendDayString + "," + newPreTime); - specHtml = string.Join("^", specHtmlList); - } - // 现货+时效sku设置 - if (UploadProductBLL.delayType == "3") - { - newPreSendDayString = "48小时内发货"; - //if (UploadProductBLL.sendDay == "2") - // newPreSendDayString = "48小时内发货"; - var specHtmlList = specHtml.Split(new string[] { "^" }, StringSplitOptions.RemoveEmptyEntries).ToList(); - if (specHtmlList.Count == 3) - specHtmlList.RemoveAt(2); - specHtmlList.Add("发货时效|" + newPreSendDayString + "," + newPreTime); - specHtml = string.Join("^", specHtmlList); - } - // 时效sku设置 - if (UploadProductBLL.delayType == "4") - { - var specHtmlList = specHtml.Split(new string[] { "^" }, StringSplitOptions.RemoveEmptyEntries).ToList(); - if (specHtmlList.Count == 3) - specHtmlList.RemoveAt(2); - specHtmlList.Add("发货时效|" + newPreTime); - specHtml = string.Join("^", specHtmlList); - } - dictionary.Add("specs", specHtml); - // 运费模板id,传0表示包邮 - dictionary.Add("freight_id", Shop.ExpressId.ToString()); - decimal maxPriceNew = 0M; - decimal minPriceNew = 0M; - decimal expressPrcie = p.express_price; - SkuMapBase skuMin = null; - - decimal lastAddMultiple = UploadProductBLL.addMultiple; - decimal lastAddPostage = UploadProductBLL.postage; - // 勾选分裂上货价格随机计算 - if (isMultiUpload) - { - var deltaAddMultiple = addMultiple2 - addMultiple; - if (deltaAddMultiple > 0) - { - var deltaAddMultipleInt = (int)deltaAddMultiple; - lastAddMultiple = addMultiple + Randomx.GetId(deltaAddMultipleInt + 1); - } - var deltaAddPostage = postage2 - postage; - if (deltaAddPostage > 0) - { - var deltaAddPostageInt = (int)deltaAddPostage; - lastAddPostage = postage + Randomx.GetId(deltaAddPostageInt + 1); - } - } - // 数据净化数据勾选了单独加价的选项后 - if (p.is_changeprice.ToLower() == "true") - { - lastAddMultiple = p.addPricePercent; - lastAddPostage = p.baseAddPrice; - } - - if (p.SkuMaps.Count > 0) - { - maxPriceNew = WhitePriceBuild(p.SkuMaps[0].price, lastAddMultiple, lastAddPostage, expressPrcie); - minPriceNew = WhitePriceBuild(p.SkuMaps[0].price, lastAddMultiple, lastAddPostage, expressPrcie); - } - else - { - t.Message = "不支持上传无sku商品。"; - t.ShopName = Shop.ShopAccount; - return t; - } - if (isRoundPrice) - { - maxPriceNew = Math.Ceiling(maxPriceNew / 100m) * 100; - minPriceNew = Math.Ceiling(minPriceNew / 100m) * 100; - } - // 生成新的价格 - for (int i = 0; i < p.SkuMaps.Count; i++) - { - p.SkuMaps[i].new_price = WhitePriceBuild(p.SkuMaps[i].price, lastAddMultiple, lastAddPostage, expressPrcie); - if (isRoundPrice) - p.SkuMaps[i].new_price = (int)(Math.Ceiling(p.SkuMaps[i].new_price / 100m) * 100); - if (maxPriceNew < p.SkuMaps[i].new_price) - maxPriceNew = p.SkuMaps[i].new_price; - if (minPriceNew > p.SkuMaps[i].new_price) - minPriceNew = p.SkuMaps[i].new_price; - if (skuMin == null || skuMin.new_price > p.SkuMaps[i].new_price) - skuMin = p.SkuMaps[i]; - } - if (LowPriceSku && p.SkuMaps.Count > 1 && skuMin != null) - { - skuMin.new_price = (int)((skuMin.price * LowPricePercent + LowPriceAdd + expressPrcie) * 100); - if (isRoundPrice) - skuMin.new_price = (int)(Math.Ceiling(skuMin.new_price / 100m) * 100); - } - if (UploadProductBLL.isMinSkuStock) - { - skuMin.number = UploadProductBLL.minSkuStock; - } - - if (UploadProductBLL.isStockLessThan) - { - for (int i = 0; i < p.SkuMaps.Count; i++) - { - if (p.SkuMaps[i].number < UploadProductBLL.StockLessThanCount) - { - p.SkuMaps[i].number = 0; - } - } - } - List speclist = new List(); - for (int i = 0; i < p.SkuMaps.Count; i++) - { - var sku = p.SkuMaps[i]; - spec_prices spec_prices = new spec_prices(); - spec_prices.code = ""; - spec_prices.price = (long)sku.new_price; - spec_prices.stock_num = sku.number; - if (UploadProductBLL.isCustomStock) - spec_prices.stock_num = UploadProductBLL.skuCustomStock; - spec_prices.outer_sku_id = ""; - spec_prices.picurl = sku.prop_image; - string[] specs = sku.nameLite.Replace("(", "(").Replace("|", " ").Replace("丨", " ").Replace("\t", "").Replace(")", ")") - .Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); - if (specs.Length > 0) - spec_prices.spec_detail_name1 = specs[0]; - if (specs.Length > 1) - spec_prices.spec_detail_name2 = specs[1]; - if (specs.Length > 2) - spec_prices.spec_detail_name3 = specs[2]; - if (string.IsNullOrEmpty(specimg) && specs.Length > 1) - { - if (!string.IsNullOrEmpty(specs[1])) - { - spec_prices.spec_detail_name1 = specs[1]; - spec_prices.spec_detail_name2 = specs[0]; - sku.name = p.Props[1].name + ":" + specs[1] + ";" + p.Props[0].name + ":" + specs[0]; - } - } - if (!speclist.Any(sp => sp.spec_detail_name1 + sp.spec_detail_name2 + sp.spec_detail_name3 == - spec_prices.spec_detail_name1 + spec_prices.spec_detail_name2 + spec_prices.spec_detail_name3)) - speclist.Add(spec_prices); - } - foreach (var spec in speclist) - { - if (spec.stock_num < 0) - spec.stock_num = 0; - } - // 处理抖音总库存1000000限制 - var totalStock = speclist.Sum(s => s.stock_num); - while (totalStock > 1000000) - { - foreach (var spec in speclist) - { - if (spec.stock_num > 1) - spec.stock_num = spec.stock_num - 1; - } - totalStock = speclist.Sum(s => s.stock_num); - } - //规格图片 获取规格图片 - if (p.Props.Count == 0) - { - } - noticeHandler(p.from_id + ":正在上传规格图片"); - Thread.Sleep(Randomx.GetId(500, 1500) + UploadProductBLL.ids.Count * 100); - string picStr = ""; - int pCount = 0; - string imageSpec = ""; - List specStrList = new List(); - List requestList = new List(); - for (int i = 0; i < p.Props.Count; i++) - { - var props = p.Props[i]; - - // 跳过无图片属性分组 - if (!props.Values.Any(v => !string.IsNullOrEmpty(v.image))) - continue; - // 已获取到一组属性有图片,跳过其他分组 - if (i > 0 && !string.IsNullOrEmpty(imageSpec)) - break; - - for (int j = 0; j < props.Values.Count; j++) - { - var pic = props.Values[j].image; - long requestid = Randomx.GetId(2000000000); - string tid = Md5Base.GetMd5(p.name).Substring(8, 16) + Randomx.GetId(2000); - if (string.IsNullOrEmpty(pic)) - pic = p.image; - if (string.IsNullOrEmpty(pic)) - continue; - - if (!(pic.Contains("https:") || pic.Contains("http:"))) - { - pic = "https:" + pic; - } - if (!string.IsNullOrEmpty(imageSpec)) - { - imageSpec += ","; - } - imageSpec += "{\\\"request_id\\\":" + requestid + ",\\\"folder_id\\\":\\\"" + folderId - + "\\\",\\\"material_type\\\":\\\"photo\\\",\\\"name\\\":\\\"" + tid - + "\\\",\\\"url\\\":\\\"" + pic + "\\\"}"; - specStrList.Add(pic); - requestList.Add(requestid); - } - } - int imageSpecMapsRetryTimes = 0; - imageSpecMapsRetry: - string imageSpecMaps = ""; - if (!string.IsNullOrEmpty(imageSpec)) - imageSpecMaps = BatchUploadImageSync(Shop, "[" + imageSpec + "]"); - if (imageSpecMaps != null && imageSpecMaps.Contains("素材库容量不足")) - { - if (imageSpecMapsRetryTimes < 5) - { - var folderResult = new UploadMaterialBLL().DelOldestApiMaterialFolder(Shop); - if (folderResult) - { - imageSpecMapsRetryTimes++; - goto imageSpecMapsRetry; - } - } - t.Message = "素材库容量不足"; - t.ShopName = Shop.ShopAccount; - return t; - } - var imageSpecMapsObj = JsonHelper.JObjectParse(imageSpecMaps)?["data"]; - if (!string.IsNullOrEmpty(imageSpec) && imageSpecMapsObj?["success_map"] == null) - { - t.Message = "SKU图Json格式错误"; - t.ShopName = Shop.ShopAccount; - return t; - } - // 处理上传失败图片 - var failedSpecMapsStr = imageSpecMapsObj?["failed_map"]?.ToString(); - if (!string.IsNullOrEmpty(failedSpecMapsStr) && failedSpecMapsStr != "{}" && imageSpecMapsRetryTimes < 5) - { - Thread.Sleep(1000); - imageSpecMapsRetryTimes++; - goto imageSpecMapsRetry; - } - - var specStrx = BaseRegex.GetMatchMaxRegexString(ref imageSpecMaps, @"""success_map"":({[\w\W]+?})}"); - var specmaps = BaseRegex.GetMatchRegex(ref specStrx, @"""([\w\W]+?)"":\{""AuditStatus""[\w\W]+?\}"); - - Dictionary specDic = new Dictionary(); - for (int i = 0; specmaps != null && i < specmaps.Count; i++) - { - string imageItem = specmaps[i].Groups[0].Value; - string rId = specmaps[i].Groups[1].Value; - string urlImage = BaseRegex.GetStringJson(ref imageItem, "ByteUrl"); - string oriImage = BaseRegex.GetStringJson(ref imageItem, "OriginUrl"); - int index = requestList.FindIndex(s => s == long.Parse(rId)); - if (!specDic.ContainsKey(index)) - specDic.Add(index, urlImage); - } - var speclst = specDic.OrderBy(o => o.Key).ToList(); - for (int i = 0; i < speclst.Count; i++) - { - string urlImage = speclst[i].Value; - picCount++; - pCount++; - picStr += urlImage + ","; - } - if (!string.IsNullOrEmpty(picStr)) - dictionary["spec_pic"] = picStr.Trim(','); - - //if (pCount> 44) // 50张图-5主图-1张详情图 - //{ - // dictionary.Remove("spec_pic"); - // picCount = picCount - pCount; - //} - List propList = new List(); - int sum = 1; - - if (string.IsNullOrEmpty(specimg)) - { - for (int i = p.Props.Count - 1; i > -1; i--) - { - for (int j = 0; j < p.Props[i].Values.Count; j++) - { - propList.Add(p.Props[i].name + ":" + p.Props[i].Values[j].name.Replace("(", "(").Replace(")", ")")); - } - sum = sum * p.Props[i].Values.Count; - } - } - else - { - for (int i = 0; i < p.Props.Count; i++) - { - for (int j = 0; j < p.Props[i].Values.Count; j++) - { - propList.Add(p.Props[i].name + ":" + p.Props[i].Values[j].name.Replace("(", "(").Replace(")", ")")); - } - sum = sum * p.Props[i].Values.Count; - } - } - - if (speclist.Count < sum) - { - int maxCount = p.Props.Count; - List arr = new List(); - - string standardPropName1 = p.Props[0].name; - if (string.IsNullOrEmpty(specimg)) - standardPropName1 = p.Props[1].name; - string standardPropName2 = ""; - string standardPropName3 = ""; - List specSkuList = new List(); - for (int i = 0; i < propList.Count; i++) - { - arr.Clear(); - var propItem1 = propList[i].Replace("(", "(").Replace(")", ")").Replace(" ", ""); - string propName1 = propItem1.Split(':')[0]; - if (propName1 != standardPropName1) - continue; - if (p.Props.Count == 1) - { - specSkuList.Add(propItem1); - } - - for (int j = 0; p.Props.Count > 1 && j < propList.Count; j++) - { - var propItem2 = propList[j].Replace("(", "(").Replace(")", ")").Replace(" ", ""); - string propName2 = propItem2.Split(':')[0]; - if (propName2 == standardPropName1) - continue; - if (standardPropName2 == "") - standardPropName2 = propName2; - if (propName2 != standardPropName2) - continue; - if (p.Props.Count == 2) - { - specSkuList.Add(propItem1 + ";" + propItem2); - } - - for (int k = 0; p.Props.Count > 2 && k < propList.Count; k++) - { - var propItem3 = propList[k].Replace("(", "(").Replace(")", ")").Replace(" ", ""); - string propName3 = propItem3.Split(':')[0]; - if (propName3 == standardPropName1 || propName3 == standardPropName2) - continue; - if (standardPropName3 == "") - standardPropName3 = propName3; - if (propName3 != standardPropName3) - continue; - specSkuList.Add(propItem1 + ";" + propItem2 + ";" + propItem3); - } - } - } - - foreach (var specname in specSkuList) - { - bool hasValue = p.SkuMaps.Exists(r => r.name.Replace("(", "(").Replace(")", ")").Replace(" ", "").Trim(';') == specname); - if (hasValue) - continue; - spec_prices spec_prices = new spec_prices(); - spec_prices.code = ""; - spec_prices.price = (long)maxPriceNew; - spec_prices.stock_num = 0; - spec_prices.outer_sku_id = ""; - spec_prices.picurl = ""; - string[] specs = specname.Split(';'); - spec_prices.spec_detail_name1 = specs[0].Split(':')[1]; - if (specs.Length > 1) - spec_prices.spec_detail_name2 = specs[1].Split(':')[1]; - if (specs.Length > 2) - spec_prices.spec_detail_name3 = specs[2].Split(':')[1]; - speclist.Add(spec_prices); - } - } - if (productDelayType == "3" || productDelayType == "4") - { - List specListTemp = new List(); - foreach (var spec in speclist) - { - // 现货发货规格 - if (productDelayType == "3") - { - var specx = new spec_prices() - { - code = spec.code, - outer_sku_id = spec.outer_sku_id == "" ? "" : spec.outer_sku_id + "1", - picurl = spec.picurl, - price = spec.price, - spec_detail_name1 = spec.spec_detail_name1, - spec_detail_name2 = spec.spec_detail_name2, - spec_detail_name3 = spec.spec_detail_name3, - step_stock_num = spec.step_stock_num, - stock_num = spec.stock_num, - }; - - if (string.IsNullOrEmpty(specx.spec_detail_name2)) - specx.spec_detail_name2 = newPreSendDayString; - else - specx.spec_detail_name3 = newPreSendDayString; - - if (!specListTemp.Any(s => s.spec_detail_name1 == specx.spec_detail_name1 && s.spec_detail_name2 == specx.spec_detail_name2 && s.spec_detail_name3 == specx.spec_detail_name3)) - { - specListTemp.Add(specx); - } - } - - // 新预售发货规格 - if (string.IsNullOrEmpty(spec.spec_detail_name2)) - spec.spec_detail_name2 = newPreTime; - else - spec.spec_detail_name3 = newPreTime; - - if (!specListTemp.Any(s => s.spec_detail_name1 == spec.spec_detail_name1 && s.spec_detail_name2 == spec.spec_detail_name2 && s.spec_detail_name3 == spec.spec_detail_name3)) - { - specListTemp.Add(spec); - } - } - - speclist = specListTemp; - } - - string specStr = ""; - StringBuilder stringBuilder = null; - List> dicList = new List>(); - for (int i = 0; i < speclist.Count; i++) - { - var specItem = speclist[i]; - IDictionary dictionary2 = new Dictionary(); - dictionary2.Add("spec_detail_name1", specItem.spec_detail_name1); - dictionary2.Add("spec_detail_name2", specItem.spec_detail_name2 == null ? "" : specItem.spec_detail_name2); - dictionary2.Add("spec_detail_name3", specItem.spec_detail_name3 == null ? "" : specItem.spec_detail_name3); - dictionary2.Add("stock_num", specItem.stock_num.ToString()); - dictionary2.Add("price", specItem.price.ToString()); - dictionary2.Add("code", specItem.code); - dictionary2.Add("step_stock_num", "0"); - //dictionary2.Add("step_stock_num", (specItem.stock_num-1).ToString()); - dicList.Add(dictionary2); - stringBuilder = new StringBuilder(); - foreach (string current in dictionary2.Keys) - { - if (current.ToString().Trim() == "stock_num" || current.ToString().Trim() == "price" || current.ToString().Trim() == "step_stock_num") - { - stringBuilder.AppendFormat((stringBuilder.Length > 0) ? ",\\\"{0}\\\":{1}" : "\\\"{0}\\\":{1}", current, dictionary2[current].ToString().Replace(" ", "")); - } - else - { - stringBuilder.AppendFormat((stringBuilder.Length > 0) ? ",\\\"{0}\\\":\\\"{1}\\\"" : "\\\"{0}\\\":\\\"{1}\\\"", current, dictionary2[current].ToString().Replace(" ", "")); - } - } - string str = "{" + stringBuilder.ToString() + "}"; - if (specStr.Trim() != "") - { - specStr += ","; - } - specStr += str; - } - specStr = "[" + specStr + "]"; - var specStr1 = JsonHelper.SerializeObject(dicList); - //sku详情 - dictionary.Add("spec_prices", specStr); - - // 详情图 内容图 - if (string.IsNullOrEmpty(p.content)) - { - } - noticeHandler(p.from_id + ":正在上传内容图片"); - Thread.Sleep(Randomx.GetId(500, 1500) + UploadProductBLL.ids.Count * 100); - List contentTempList = p.content.Split(new string[] { "
    " }, StringSplitOptions.RemoveEmptyEntries)?.ToList(); - var contentTemp = ""; - if (contentTempList.Count > 0) - contentTemp = contentTempList[Randomx.GetId(contentTempList.Count)]; - - string contentImage = ""; - var m = BaseRegex.GetMatchRegex(ref contentTemp, @"]*?src=[""'](.*?)[""']"); - if (m.Count == 0) - m = BaseRegex.GetMatchRegex(ref contentTemp, @"]*?>(.*?)"); - if (m.Count == 0) - m = BaseRegex.GetMatchRegex(ref contentTemp, @"]+?>(.*?)"); - - string imageDesPic = ""; - List desc_request_id_List = new List(); - for (int j = 0; j < m.Count; j++) - { - // 删除第一张详情图 内容图 - if (j == 0 && IsDelFirstContentPic) - { - if (m.Count == 1) - { - t.Message = "至少需要1张内容图"; - noticeHandler("至少需要1张内容图:" + t.FromId + ":" + t.Message); - return t; - } - continue; - } - - string urlImg = m[j].Groups[1].Value.Replace(".src", ""); - if (picCount >= 50) - break; - if (string.IsNullOrEmpty(urlImg)) - { - urlImg = m[j].Groups[1].Value.Replace(".src", ""); - } - if (!string.IsNullOrEmpty(imageDesPic)) - { - imageDesPic += ","; - } - string tid = Md5Base.GetMd5(p.name).Substring(8, 16) + Randomx.GetId(2000); - long request_id = Randomx.GetId(2000000000); - desc_request_id_List.Add(request_id); - imageDesPic += "{\\\"request_id\\\":" + request_id + ",\\\"folder_id\\\":\\\"" + folderId - + "\\\",\\\"material_type\\\":\\\"photo\\\",\\\"name\\\":\\\"" + tid - + "\\\",\\\"url\\\":\\\"" + urlImg + "\\\"}"; - } - int imageDesMapsRetryTimes = 0; - imageDesMapsRetry: - string imageDesMaps = BatchUploadImageSync(Shop, "[" + imageDesPic + "]"); - if (imageDesMaps != null && imageDesMaps.Contains("素材库容量不足") && imageDesMapsRetryTimes < 5) - { - var folderResult = new UploadMaterialBLL().DelOldestApiMaterialFolder(Shop); - if (folderResult) - { - imageDesMapsRetryTimes++; - goto imageDesMapsRetry; - } - t.Message = "素材库容量不足"; - t.ShopName = Shop.ShopAccount; - return t; - } - var imageDesMapsObj = JsonHelper.JObjectParse(imageDesMaps)?["data"]; - if (imageDesMapsObj == null || imageDesMapsObj["success_map"] == null) - { - t.Message = "内容图Json格式错误"; - t.ShopName = Shop.ShopAccount; - return t; - } - // todo 处理上传失败图片 - var failedDesMapStr = imageDesMapsObj["failed_map"]?.ToString(); - if (!string.IsNullOrEmpty(failedDesMapStr) && failedDesMapStr != "{}" && imageDesMapsRetryTimes < 5) - { - Thread.Sleep(1000); - imageDesMapsRetryTimes++; - goto imageDesMapsRetry; - } - - for (int i = 0; i < desc_request_id_List.Count(); i++) - { - string urlImage = imageDesMapsObj["success_map"]?[desc_request_id_List[i].ToString()]?["ByteUrl"]?.ToString(); - if (string.IsNullOrEmpty(urlImage)) - continue; - if (picCount >= 50) - break; - picCount++; - if (contentImage.Trim() != "") - { - contentImage += "|"; - } - contentImage += urlImage; - } - //商品描述,目前只支持图片。多张图片用 "|" 分开 - dictionary.Add("description", contentImage); - - if (beforPrice == 0) - beforPrice = 2; - //划线价 市场价 - dictionary.Add("market_price", (maxPriceNew * beforPrice).ToString()); - //售价,单位分 - dictionary.Add("discount_price", (minPriceNew).ToString()); - //减库存类型:1-拍下减库存 2-付款减库存 - dictionary.Add("reduce_type", "2"); - //重量 - dictionary.Add("weight", "1"); - //重量单位,0-kg, 1-g - dictionary.Add("weight_unit", "1"); - dictionary.Add("maximum_per_order", "5"); - dictionary.Add("limit_per_buyer", "99"); - dictionary.Add("minimum_per_order", "1"); - //dictionary.Add("remark", "您好kkkkkkkkkkkkk"); - dictionary["presell_type"] = productDelayType; - if (productDelayType == "1") - { - dictionary["presell_delay"] = UploadProductBLL.endDay; - dictionary["presell_end_time"] = UploadProductBLL.preEndTime; - dictionary["delivery_delay_day"] = UploadProductBLL.sendDay; - } - else - { - dictionary["delivery_delay_day"] = UploadProductBLL.sendDay; - //dictionary.Add("presell_delay", UploadProductBLL.endDay); - //商品时效SKU GTM对接方案20220222 presell_config_level 2 现货+预售 3 新预售 - if (productDelayType == "3") - { - dictionary["presell_config_level"] = "2"; - dictionary["presell_type"] = "1"; - } - else if (productDelayType == "4") - { - dictionary["presell_config_level"] = "3"; - dictionary["presell_type"] = "1"; - } - } - // 商家推荐语 - //dictionary.Add("recommend_remark", "78888"); - dictionary.Add("recommend_remark", recommend_remark); - // 是否支持7天无理由,0不支持,1支持,2支持(拆封后不支持) - dictionary.Add("supply_7day_return", supply_7day_return); - // 客服电话号码 - if (!string.IsNullOrEmpty(UploadProductBLL.phone)) - dictionary.Add("mobile", UploadProductBLL.phone); - // 品牌资质 - //dictionary.Add("brand_id", "0"); - //dictionary.Add("brand_id", "596120136"); - // 相关资质文件 在净化数据中获取并填写系统资质列表 - //"quality_list": "[{\"quality_key\":\"1\",\"quality_name\":\"进货凭证1\",\"quality_attachments\":[{\"media_type\":1,\"url\":\"http://img.alicdn.com/imgextra/i1/729*****3055/TB2FG*****uNjy0FdXXbDnVXa_!!729*****3055.jpg\"},{\"media_type\":1,\"url\":\"http://img.alicdn.com/imgextra/i1/72*****63055/TB2FG*****dXXbDnVXa_!!72*****3055.jpg\"}]},{\"quality_key\":\"2\",\"quality_name\":\"进货凭证2\",\"quality_attachments\":[{\"media_type\":1,\"url\":\"http://img.alicdn.com/imgextra/i1/72*****863055/TB2FG49iuO*****0FdXXbDnVXa_!!7298*****3055.jpg\"}]}]", - if (p != null && p.qualifications != null && p.qualifications.Count > 0) - { - List quality_list = new List(); - foreach (var q in p.qualifications) - { - var quality_attachments = new List(); - foreach (var qa in q.quality_attachments) - { - var newQA = new quality_attachment() { media_type = qa.media_type, url = qa.url.Replace("https:", "http:") }; - if (!string.IsNullOrEmpty(newQA.url) && qa.media_type == 1) - { - // 资质图片上传 暂时不需要使用,抖音会自己抓取外网图片 - //string tid = Md5Base.GetMd5(p.name).Substring(8, 16) + Randomx.GetId(2000); - //string byte_url = UploadImageSync(Shop, folderId, newQA.url, tid); - //if (!byte_url.Contains("\"code\":10000")) - //{ - // byte_url = UploadImageSync(Shop, folderId, newQA.url, tid); - //} - //if (byte_url.Contains("\"code\":10000")) - //{ - // newQA.url = BaseRegex.GetStringJson(ref byte_url, "byte_url"); - //} - } - quality_attachments.Add(newQA); - } - quality_list.Add(new quality { quality_attachments = quality_attachments, quality_key = q.quality_key, quality_name = q.quality_name }); - } - dictionary["quality_list"] = JsonHelper.SerializeObject(quality_list).Replace("\"", "\\\""); - } - - // false仅保存,true保存+提审 - if (UploadProductBLL.isDraft) - dictionary.Add("commit", "false"); - else - dictionary.Add("commit", "true"); - - if (UploadProductBLL.isSaveToOffLine) - dictionary["start_sale_type"] = "1"; - - // 重试及异常 - //\"message\":\"商品创建失败: 发货模式暂不支持阶梯发货\",\"msg\":\"其他异常\" - bool isRetry_图片转链失败 = false; - bool isRetry_请上传生产企业名称 = false; - bool isRetry_包装标签图 = false; - bool isRetry_图片长宽比 = false; - bool isRetry_创建审核任务失败 = false; - bool isRetry_7天无理由 = false; - bool isRetry_系统繁忙 = false; - bool isRetry_Empty = false; - retry: - Thread.Sleep(1000); - DouyinApi api = new DouyinApi(Shop); - if (Shop.ShopAccount == "权益服务齐全的专营店") - { - dictionary.Remove("brand_id"); // = "2122428529"; - dictionary["standard_brand_id"] = "2122428529"; - } - //api.JsonData["product_format_new"] = "{\\\"1687\\\":[{\\\"value\\\":596120136,\\\"name\\\":\\\"无品牌\\\"}],\\\"2592\\\":[{\\\"value\\\":2022,\\\"name\\\":\\\"韩版\\\"}],\\\"539\\\":[{\\\"value\\\":11942,\\\"name\\\":\\\"圆头\\\"}],\\\"883\\\":[{\\\"value\\\":18537,\\\"name\\\":\\\"猪皮(革)\\\"}],\\\"1239\\\":[{\\\"value\\\":38467,\\\"name\\\":\\\"低跟\\\"}],\\\"3029\\\":[{\\\"value\\\":13142,\\\"name\\\":\\\"EVA\\\"}],\\\"2313\\\":[{\\\"value\\\":0,\\\"name\\\":\\\"1\\\"}],\\\"1869\\\":[{\\\"value\\\":10089,\\\"name\\\":\\\"纯色\\\"}],\\\"1766\\\":[{\\\"value\\\":19637,\\\"name\\\":\\\"交叉绑带\\\"}],\\\"1244\\\":[{\\\"value\\\":29717,\\\"name\\\":\\\"松糕底\\\"}],\\\"1865\\\":[{\\\"value\\\":32022,\\\"name\\\":\\\"短筒\\\"}],\\\"2182\\\":[{\\\"value\\\":7340,\\\"name\\\":\\\"前系带\\\"}]}"; - - string html = ""; - - if (isEdit) - { - dictionary["product_id"] = "3548157790335946701"; - noticeHandler(p.from_id + ":正在编辑商品"); - api.JsonData = dictionary; - html = api.GetProductEdit(); - } - else - { - noticeHandler(p.from_id + ":正在上传商品"); - api.JsonData = dictionary; - var jsonStr = JsonHelper.SerializeObject(api.JsonData); - html = api.GetAdd(); - } - if (html.Contains("图片转链失败") && !isRetry_图片转链失败) - { - isRetry_图片转链失败 = true; - goto retry; - } - if (html.Contains("请上传生产企业名称") && !isRetry_请上传生产企业名称) - { - Thread.Sleep(1000); - isRetry_请上传生产企业名称 = true; - //var productFormat = ""; - //if (dictionary.Keys.Contains("product_format")) - // productFormat = dictionary["product_format"]; - //productFormat += "^生产企业名称|" + (string.IsNullOrEmpty(p.from_shop_name) ? "工厂店" : p.from_shop_name); - //dictionary["product_format"] = productFormat.Trim('^'); - - var cateProp = propResult.data.data.Find(pr => pr.property_name == "生产企业名称"); - if (cateProp != null) - { - cateProp.required = true; - property = new UploadPropertyBLL().GetCatePropertyAnalysis(propResult, Shop, p); - if (!string.IsNullOrEmpty(property)) - { - dictionary["product_format_new"] = property; - } - } - goto retry; - } - if (html.Contains("包装标签图") && !isRetry_包装标签图) - { - isRetry_包装标签图 = true; - api.JsonData.Add("quality_list", "[{\\\"quality_key\\\":\\\"6966228537426575660\\\",\\\"quality_name\\\":\\\"包装标签图\\\",\\\"quality_attachments\\\":[{\\\"media_type\\\":1,\\\"url\\\":\\\"" + baseImageUrl + "\\\"}]}]"); - goto retry; - } - if ((html.Contains("商品创建失败: 运费模板权限错误") || html.Contains("运费模板不存在")) && Shop.ExpressId != 0) - { - Shop.ExpressId = 0; - dictionary["freight_id"] = "0"; - goto retry; - } - if (html.Contains("图片长宽比非1:1") && !isRetry_图片长宽比) - { - isRetry_图片长宽比 = true; - dictionary.Remove("pic"); - mainImages = ""; - var images1 = p.Images.Distinct().ToList(); - for (int i = 0; i < images1.Count; i++) - { - string urlImage = images1[i]; - if (!urlImage.Contains("http")) - { - urlImage = "https:" + images1[i]; - } - if (i > 4) - { - break; - } - byte[] img; - GetPostTaobaoHtml.DownLoadImage(urlImage, out img); - ImageCut.HandleImage(ref img, false); - ImageBuild ib = new ImageBuild(img); - img = ib.BuildNewSize(640, 640, 100); - string fileName = urlImage.Substring(urlImage.LastIndexOf("/") + 1); - string url = "https://fxg.jinritemai.com/common/img/batchupload"; - string refere = "https://fxg.jinritemai.com/ffa/g/create"; - string upImage = GetPostTaobaoHtml.HttpPostData(url, fileName, img, refere, Shop.Cookies); - urlImage = BaseRegex.GetMatchRegexString(upImage, "\"data\":\\[\"([\\w\\W]+?)\"\\],"); - if (mainImages.Trim() != "") - { - mainImages += "|"; - } - mainImages += urlImage; - } - if (isRandomMainImage) - mainImages = GetRandomMainImage(mainImages); - //商品轮播图 - dictionary.Add("pic", mainImages); - goto retry; - } - if (html.Contains("创建审核任务失败") && !isRetry_创建审核任务失败) - { - isRetry_创建审核任务失败 = true; - Thread.Sleep(3000); - goto retry; - } - if (html.Contains("天无理由")) - { - isRetry_7天无理由 = true; - // 是否支持7天无理由,0不支持,1支持,2支持(拆封后不支持) - dictionary["supply_7day_return"] = "1"; - Thread.Sleep(3000); - goto retry; - } - if (html.Contains("系统繁忙") && !isRetry_系统繁忙) - { - isRetry_系统繁忙 = true; - Thread.Sleep(15000); - goto retry; - } - if (string.IsNullOrEmpty(html) && !isRetry_Empty) - { - isRetry_Empty = true; - Thread.Sleep(5000); - goto retry; - } - long product_id = BaseRegex.GetLongJson(ref html, "product_id"); - string message = BaseRegex.GetStringJson(ref html, "msg"); - string sub_msg = BaseRegex.GetStringJson(ref html, "sub_msg"); - - if (product_id > 0) // 保存上家、产品ID到数据表中 - { - noticeHandler(p.from_id + ":正在编辑其他信息"); - string prev = GetPrev(t.FromType); - SetUpProduct(product_id, prev + t.FromId.ToString(), true); - t.GoodsId = product_id; - t.Titlte = p.name; - t.Price = minPriceNew; - t.ShopName = Shop.ShopAccount; - t.Message = "提交成功"; - noticeHandler(t.GoodsId + ":" + t.Message + " 来源Id:" + p.from_id); - - Shop.UploadCount++; - if (Shop.PayStatus != 1) - { - Shop.TrialUploadCount++; - NaiBa.Util.ConcurrentList shopLoginListCopy = - JsonHelper.DeserializeJsonToObject>(JsonHelper.SerializeObject(GlobalConfig.ShopLoginList)); - shopLoginListCopy.AddRange(GlobalConfig.DouShopLoginOtherUserShopList); - // 替换掉密码,cookie等敏感参数 - foreach (var shop in shopLoginListCopy) - { - shop.Password = ""; - shop.Cookies = ""; - } - NaiBa.Util.Helper.ConfigHelper.SaveConfig("dou_shop_login", shopLoginListCopy); - } - return t; - } - else - { - if (t.Message != null && (message.Contains("因为店铺受到处罚,限制发品") || message.Contains("当前店铺已停业整顿,恢复营业后可支持创建商品"))) - Shop.CanUpload = false; - - t.ShopName = Shop.ShopAccount; - noticeHandler(p.from_id + ":提交失败,请查看提交状态"); - - // 将提交失败信息添加到服务器 - string url = BaseClass.LoginApiUrl + "?obj=douyin/upload&act=add_upload_log"; - string data = "&product_id=" + t.FromId + "&source_id=" + GetPrev(t.FromType).Trim('-') - + "&cat_id=" + catId + "&message=" + HttpUtility.UrlEncode((message + "^" + sub_msg).Trim('^'), Encoding.UTF8); - string param = UserLogin.GetSignaturex(Shop.ShopId, Shop.ShopAccount) + data; - string result = GetHtml.PostUtf8(url, param); - } - - if (!string.IsNullOrEmpty(sub_msg)) - t.Message = sub_msg; - else if (!string.IsNullOrEmpty(message)) - t.Message = message; - else - t.Message = "提交失败"; - return t; - //UploadProductBLL.ProductTemp.Add(t); - } - - public string GetPrev(string fromType) - { - string prev = ""; - if (fromType == "拼多多") - { - prev = "pdd-"; - } - if (fromType == "淘宝") - { - prev = "tb-"; - } - if (fromType == "阿里") - { - prev = "al-"; - } - if (fromType == "抖音") - { - prev = "dy-"; - } - if (fromType == "京喜") - { - prev = "jx-"; - } - return prev; - } - - public List GetTenImages(List imageList) - { - while (imageList.Count > 10) - { - imageList.RemoveAt(Randomx.GetId(imageList.Count)); - } - return imageList; - } - - public string GetRandomMainImage(string imageStrOld) - { - string imageNew = ""; - if (imageStrOld == null) - imageStrOld = ""; - - List imageList = imageStrOld.Split(new string[] { "|" }, StringSplitOptions.RemoveEmptyEntries).ToList(); - if (imageList != null && imageList.Count > 1) - { - int num = Randomx.GetId(imageList.Count); - var imageStr = imageList[num]; - imageList.RemoveAt(num); - imageList.Insert(0, imageStr); - imageNew = string.Join("|", imageList); - } - return imageNew; - } - - public bool GetUpProduct(long product_id) - { - string urlx = BaseClass.LoginApiUrl + "?obj=upshopid/upid_dd&act=get"; - string datax = "&pid=" + product_id + "&table=" + (product_id % 1024); - string htmlx = GetHtml.PostUtf8(urlx, UserLogin.GetSignaturex(Shop.ShopId, Shop.ShopAccount) + datax); - if (!string.IsNullOrEmpty(htmlx)) - return true; - else - return false; - } - public bool SetUpProduct(long pid, string upProductId, bool add = false) - { - string upIdNumber = BaseRegex.GetMatchRegex(ref upProductId, "\\d{5,20}")?[0]?.Groups[0]?.Value; - long up_table = 0; - if (!string.IsNullOrEmpty(upIdNumber)) - { - up_table = upIdNumber.ParseToLong(); - } - string url = BaseClass.LoginApiUrl + "?obj=upshopid/upid_dd&act=insert"; - string data = "&pid=" + pid + "&up_id=" + upProductId + "&table=" + (pid % 1024) + "&up_table=" + (up_table % 1024); - string param = UserLogin.GetSignaturex(Shop.ShopId, Shop.ShopAccount) + data; - string html = GetHtml.PostUtf8(url, param); - if (html != "ok") - { - Thread.Sleep(15 * 1000); - html = GetHtml.PostUtf8(url, UserLogin.GetSignaturex(Shop.ShopId, Shop.ShopAccount) + data); - } - if (html != "ok") - { - Thread.Sleep(15 * 1000); - html = GetHtml.PostUtf8(url, UserLogin.GetSignaturex(Shop.ShopId, Shop.ShopAccount) + data); - } - if (html != "ok") - { - Thread.Sleep(15 * 1000); - LogSave.Add(Name, "服务器记录" + pid + "上家ID异常,请联系客服"); - } - return html == "ok"; - } - public static long GetLong(string url) - { - if (string.IsNullOrEmpty(url)) - return 0; - return Convert.ToInt64(BitConverter.ToString(new MD5CryptoServiceProvider().ComputeHash(Encoding.Default.GetBytes(url)), 4, 8).Replace("-", ""), 16); - } - - public int WhitePriceBuild(decimal price, decimal addPrice, decimal postage, decimal postFree) - { - bool randPrice = false; - decimal addPricex = addPrice; - decimal free = postage + postFree; //UploadPinduoduoMain.Postage + postFree; - - int p = (int)(price * (100 + addPricex) + free * 100); - if (randPrice) - p -= Randomx.GetId(0, 10); - return p; - } - - - - public static string getProductUpdateRule(string catId, ShopLoginInfo Shop) - { - DouyinApi api = new DouyinApi(Shop); - api.JsonData = new Dictionary(); - api.JsonData.Add("category_id", catId.ToString()); - string updateRule = api.GetResultUpdateRule(); - return updateRule; - } - - public static string CreateImageFolder(ShopLoginInfo shop) - { - DouyinApi api = new DouyinApi(shop); - api.JsonData = new Dictionary(); - api.JsonData.Add("name", DateTime.Now.ToString("yyyy-MM-dd")); - api.JsonData.Add("type", "0"); - string html = api.GetCreateFolder(); - return html; - } - public static string SearchFolder(ShopLoginInfo shop) - { - DouyinApi api = new DouyinApi(shop); - api.JsonData = new Dictionary(); - api.JsonData.Add("name", DateTime.Now.ToString("yyyy-MM-dd")); - api.JsonData.Add("order_by", "1"); - api.JsonData.Add("page_num", "1"); - api.JsonData.Add("page_size", "10"); - string html = api.GetSearchFolder(); - return html; - } - - - public static string UploadImageSync(ShopLoginInfo shop, string folder_id, string url, string title) - { - DouyinApi api = new DouyinApi(shop); - api.JsonData = new Dictionary(); - api.JsonData.Add("folder_id", folder_id); - api.JsonData.Add("url", url); - api.JsonData.Add("material_name", title); - api.JsonData.Add("need_distinct", "true"); - string html = api.GetUploadImageSync(); - return html; - } - public static string BatchUploadImageSync(ShopLoginInfo shop, string materials) - { - DouyinApi api = new DouyinApi(shop); - api.JsonData = new Dictionary(); - api.JsonData.Add("materials", materials); - api.JsonData.Add("need_distinct", "true"); - string html = api.GetBatchUploadImageSync(); - return html; - } - - /// - /// 获取品牌Id - /// - public static List GetBrandList(ShopLoginInfo shop) - { - DouyinApi apiBrand = new DouyinApi(shop); - string brandHtml = apiBrand.shopBrandList(); - if (brandHtml.Contains("\"code\":10000") && brandHtml.Contains("\"data\":[")) - { - return JsonHelper.DeserializeJsonToList(JsonHelper.SerializeObject(JObject.Parse(brandHtml)["data"])); - } - return new List(); - } - } -} diff --git a/Work/BLL/Upload/UploadPropertyBLL.cs b/Work/BLL/Upload/UploadPropertyBLL.cs deleted file mode 100644 index 89b0211..0000000 --- a/Work/BLL/Upload/UploadPropertyBLL.cs +++ /dev/null @@ -1,849 +0,0 @@ -using AllBase; -using AllBase.Model.Result; -using NaiBa.Util.Extension; -using Newtonsoft.Json; -using Newtonsoft.Json.Linq; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Work.DouyinApiClass; - -namespace Work.BLL.Upload -{ - public class UploadPropertyBLL - { - /// - /// 是否模糊匹配属性选项 - /// - public static bool IsFuzzyMatching = false; - - public static string getCatePropertyInterface(string c3, ShopLoginInfo shop, ProductCollectBase pc) - { - //string url = "https://fxg.jinritemai.com/product/tproduct/formatTpl?category_leaf_id=" + c3; - //string htmlx = GetPostTaobaoHtml.UploadTaobao(url, "", true, shop.Cookies); - DouyinApi api = new DouyinApi(shop); - api.JsonData = new Dictionary(); - api.JsonData.Add("category_leaf_id", c3); - string result = api.GetCateProperty(); - return result; - } - - public CatePropertyResponseInfo getCatePropertyInterfaceV2(string c3, ShopLoginInfo shop) - { - DouyinApi api = new DouyinApi(shop); - api.JsonData = new Dictionary(); - api.JsonData.Add("category_leaf_id", c3); - string html = api.GetCatePropertyV2(); - if (html.Contains("access_token已过期")) - { - shop.ApiAuthStatus = "未授权"; - } - - if (!html.Contains("\"required\"")) - { - //return ""; - } - - CatePropertyResponseInfo cateProperyInfo; - try - { - cateProperyInfo = JsonConvert.DeserializeObject(html); - return cateProperyInfo; - } - catch - { - cateProperyInfo = new CatePropertyResponseInfo(); - } - return cateProperyInfo; - } - - /// - /// 根据服务端返回的类目属性要求分析获取属性字段 - /// - /// - /// - /// - /// - public string GetCatePropertyAnalysis(CatePropertyResponseInfo cateProperyInfo, ShopLoginInfo shop, ProductCollectBase pcb) - { - if (cateProperyInfo?.data?.data == null) - { - return "{}"; - } - - //if (property == null || !property.Contains("货号")) - // property = "货号|" + from_name + p.from_id.ToString() + "^" + property; - - // 拆分拼多多属性中含 "/" 的集合属性,如 "key":"衣长/袖长","value":"常规款/短袖" - var props = pcb.Prop.Where(p => p.Key.Contains("/")).ToList(); - foreach (var pr in props) - { - var prKeys = pr.Key.Split(new char[] { '/' }, StringSplitOptions.RemoveEmptyEntries); - var prValues = pr.Value.Split(new char[] { '/' }, StringSplitOptions.RemoveEmptyEntries); - if (prKeys.Length == prValues.Length) - { - for (int j = 0; j < prKeys.Length; j++) - { - pcb.Prop.Add(new KeyValueBase() { Key = prKeys[j], Value = prValues[j] }); - } - pcb.Prop.Remove(pr); - } - } - - Dictionary> dicProp = new Dictionary>(); - string html = ""; - - for (int i = 0; i < cateProperyInfo.data.data.Count; i++) - { - string pName = ""; - string pId = "0"; - var douyinProp = cateProperyInfo.data.data[i]; - - var upProp = pcb.Prop.Find(pr => pr.Key == douyinProp.property_name); - if (upProp == null) - { - var upProps = pcb.Prop.Where(pr => UpProperty2DouyinPropertyNameConverter(pr.Key, douyinProp.property_name) == douyinProp.property_name).ToList(); - upProp = upProps?.Find(pr => UpProperty2DouyinPropertyValueConverter(pr.Value, douyinProp.options).Count > 0); - if (upProp == null) - upProp = upProps?.FirstOrDefault(); - } - - var options = ""; - if (douyinProp.options?.FirstOrDefault() != null) - options = string.Join(",", douyinProp.options?.Select(o => o.name)); - var x = html; - - #region 优先单独处理特殊属性 - if (douyinProp.property_name == "品牌") - { - if (pcb.Prop.Any(pr => pr.Key == "品牌") && pcb.Prop.Any(pr => pr.Key == "品牌编号")) - pName = pcb.Prop.FirstOrDefault(pr => pr.Key == "品牌").Value; - else if (douyinProp.required) - pName = "无品牌"; - - if (!string.IsNullOrEmpty(pName)) - { - html += "^品牌|" + pName; - } - goto GetNextProperty; - } - if (douyinProp.property_name == "型号") - { - if (!douyinProp.required && (upProp == null || upProp.Value?.Length < 4)) - continue; - - upProp = pcb.Prop.FirstOrDefault(pr => pr.Key == "型号" && pr.Value != "缺省"); - if (upProp != null) - { - pName = upProp.Value; - } - else - { - pName = Randomx.GetWord(2) + "-" + Randomx.GetNumber(Randomx.GetId(3, 6)); - } - - if (!string.IsNullOrEmpty(pName)) - { - var op = douyinProp.options.Find(o => o.name == pName); - if (op != null) - { - pId = op.value; - } - else if (douyinProp.diy_type == 1) - { - pName = "$diy$" + pName; - } - - html += "^型号|" + pName; - } - goto GetNextProperty; - } - if (douyinProp.property_name == "适用型号" && douyinProp.required) - { - upProp = pcb.Prop.FirstOrDefault(pr => pr.Key.Contains("适用型号") && pr.Value != "缺省"); - if (upProp != null) - pName = upProp.Value; - else - pName = Randomx.GetWord(Randomx.GetId(2, 5)) + "-" + Randomx.GetNumber(Randomx.GetId(3, 8)); - - if (!string.IsNullOrEmpty(pName)) - { - html += "^适用型号|" + pName; - } - goto GetNextProperty; - } - if (douyinProp.property_name == "产地" && (upProp == null || douyinProp.options?.FirstOrDefault(o => o.name == upProp.Value) == null)) - { - if (!douyinProp.required) - continue; - - if (douyinProp.options.Count > 0) - { - var op = douyinProp.options.Find(o => o.name == "中国大陆"); - if (op == null) - { - upProp = pcb.Prop.FirstOrDefault(p => p.Key.Contains("产地") && p.Key != "产地"); - if (upProp != null) - op = douyinProp.options?.FirstOrDefault(o => o.name == upProp.Value); - } - if (op != null) - { - pId = op.value; - pName = op.name; - html += "^产地|" + pName; - goto GetNextProperty; - } - } - } - if (douyinProp.property_name == "单果重量") - { - // 水果生鲜直接上传特例 - if (douyinProp.required && (pcb.main_cat_name.Contains("水果") || pcb.main_cat_name.Contains("生鲜"))) - { - pName = Randomx.GetId(1, 6) + "00"; - html += "^单果重量|" + pName; - goto GetNextProperty; - } - } - if (douyinProp.property_name == "单果重量(g)") - { - // 水果生鲜直接上传特例 - if (douyinProp.required && (pcb.main_cat_name.Contains("水果") || pcb.main_cat_name.Contains("生鲜"))) - { - if (html.Contains("单果重量|")) - pName = BaseRegex.GetMatchRegex(ref html, "单果重量|(\\d{1,10})")[1].Groups[0].ToString(); - else - pName = Randomx.GetId(1, 6) + "00"; - html += "^单果重量(g)|" + pName; - goto GetNextProperty; - } - } - if (douyinProp.property_name == "包装方式") - { - // 水果生鲜直接上传特例 - if (douyinProp.required && (pcb.main_cat_name.Contains("水果") || pcb.main_cat_name.Contains("生鲜")) && douyinProp.options.Any(o => o.name == "食用农产品")) - { - var op = douyinProp.options.Find(o => o.name == "食用农产品"); - pId = op.value; - pName = "食用农产品"; - html += "^包装方式|" + pName; - goto GetNextProperty; - } - } - if (douyinProp.property_name == "品质认证") - { - // 水果生鲜、茶叶、食品保健直接上传特例(选无认证不用填认证证书) - if (douyinProp.required && (pcb.main_cat_name.Contains("水果") || pcb.main_cat_name.Contains("生鲜") - || pcb.main_cat_name.Contains("茶") || pcb.main_cat_name.Contains("食品保健")) - && douyinProp.options.Any(o => o.name == "无认证" || o.name == "无认证认证")) - { - var op = douyinProp.options.Find(o => o.name == "无认证" || o.name == "无认证认证"); - pId = op.value; - pName = op.name; - html += "^品质认证|" + pName; - goto GetNextProperty; - } - } - if (douyinProp.property_name == "贮存条件") - { - if (upProp == null) - upProp = pcb.Prop.Find(pr => pr.Key == "储藏方法"); - PropertiesValuesBase op = null; - if (upProp != null) - op = douyinProp.options.FirstOrDefault(o => upProp.Value.Contains(o.name)); - else - op = douyinProp.options.FirstOrDefault(o => o.name == "常温"); - if (op == null) - op = douyinProp.options.FirstOrDefault(); - if (op != null) - { - pId = op.value; - pName = op.name; - } - if (pName != null) - html += "^贮存条件|" + pName; - goto GetNextProperty; - } - if (douyinProp.property_name == "食品生产许可证编号") - { - var qualify = pcb.qualifications?.FirstOrDefault(q => douyinProp.property_name.Contains(q.quality_name)); - if (qualify != null) - { - pName = qualify.quality_number; - html += "^食品生产许可证编号|" + pName; - } - else if (!string.IsNullOrEmpty(upProp?.Value)) - { - pName = upProp.Value; - html += "^食品生产许可证编号|" + pName; - } - goto GetNextProperty; - } - if (douyinProp.property_name.Contains("是否为有机食品")) - { - var op = douyinProp.options.FirstOrDefault(o => o.name == "否"); - if (op == null) - op = douyinProp.options.LastOrDefault(); - - pId = op.value; - pName = op.name.Trim(); - html += "^" + douyinProp.property_name + "|" + pName; - goto GetNextProperty; - } - if (douyinProp.property_name == "是否有导购视频") - { - var op = douyinProp.options.FirstOrDefault(o => o.name == "否"); - if (op == null) - continue; - - pId = op.value; - pName = op.name.Trim(); - html += "^" + douyinProp.property_name + "|" + pName; - goto GetNextProperty; - } - if (douyinProp.property_name == "单件净含量") - { - if (upProp == null && douyinProp.type == "text") - { - upProp = pcb.Prop.FirstOrDefault(p => p.Key == "净含量"); - } - } - if (douyinProp.property_name == "茶种类") - { - if (upProp == null) - { - var op = douyinProp.options.FirstOrDefault(o => pcb.name.Contains(o.name)); - if (op == null) - continue; - - pId = op.value; - pName = op.name.Trim(); - html += "^" + douyinProp.property_name + "|" + pName; - goto GetNextProperty; - } - } - if (douyinProp.property_name == "生产企业名称") - { - } - if (douyinProp.property_name == "糕点种类" && !douyinProp.required) - { - } - if (douyinProp.property_name == "特产品类" && !douyinProp.required) - { - } - if (douyinProp.property_name == "款式") - { - } - if (douyinProp.property_name == "包装方式") - { - if (douyinProp.required == true) - { - if (upProp == null && pcb.main_cat_name == "家纺家具家装") - { - if (douyinProp.options.Count > 0) - { - var op = douyinProp.options.LastOrDefault(); - pId = op.value; - pName = op.name.Replace("/", "%2F"); - html += "^包装方式|" + op.value; // 此处只能用value不能用name - } - goto GetNextProperty; - } - - } - } - #endregion - - #region 通用属性操作 - if (upProp != null && upProp.Key == "消毒品卫生许可证编号" && !upProp.Value.Contains("消证字")) - { - string[] arr = { "粤卫消证字[2012]第1140号", "粤卫消证字[2020]-50-第0144号", "鄂卫消证字(2010)第(0020)号", "(苏)卫消证字(2014)第3210-0036号", "(津)卫消证字(2012)第0408号" }; - upProp.Value = arr[Randomx.GetId(arr.Length)]; - } - - // 该属性不是必填时,上家总店商品详情没有此属性就跳过 - if (upProp == null && !douyinProp.required) - { - continue; - } - - #region 处理面料、材质、含量属性 - if (douyinProp.property_name.Contains("面料") || - douyinProp.property_name.Contains("材质") || - douyinProp.property_name.Contains("含量")) - { - // 如果上家没有对应属性,在避免违规的情况下,按照以下规则处理属性填写逻辑 - if (upProp == null) - { - // 含量如果有多少多少以下,选多少多少以下 - if (string.IsNullOrEmpty(pName) && douyinProp.property_name.Contains("含量") && douyinProp.options?.FirstOrDefault(o => o.name.Contains("以下")) != null) - { - var op = douyinProp.options?.FirstOrDefault(o => o.name.Contains("以下")); - pId = op.value; - pName = op.name; - } - if (!string.IsNullOrEmpty(pName)) - { - html += "^" + douyinProp.property_name + "|" + pName; - goto GetNextProperty; - } - } - else - { - // 特殊处理成分含量 - if (douyinProp.property_name.Contains("含量") && douyinProp.options?.FirstOrDefault() != null) - { - string upPropValue = BaseRegex.GetMatchRegexString(upProp.Value, @"([1-9]\d*\.?\d*)|(0\.\d*[1-9])%"); - if (string.IsNullOrEmpty(upPropValue)) - upPropValue = "0"; - - // 抖音成分含量里居然有不是数值单位的选项,如:棉、聚酯纤维等,将这些选项过滤出去 - var opts = douyinProp.options.Where(o => BaseRegex.GetMatchRegexString(o.name, @"([\w\W]+?)%")?.ParseToDecimal() >= 0).ToList(); - opts = opts.OrderBy(o => BaseRegex.GetMatchRegexString(o.name, @"([\w\W]+?)%")?.ParseToDecimal()).ToList(); - foreach (var op in opts) - { - string propValue = BaseRegex.GetMatchRegexString(op.name, @"([\w\W]+?)%"); - if (propValue?.ParseToDecimal() >= upPropValue.ParseToDecimal()) - { - pId = op.value; - pName = op.name.Trim(); - break; - } - else if (opts.Last(o => o.name != "100%") == op && op.name.Contains("以上") && upPropValue.ParseToDecimal() > propValue?.ParseToDecimal()) - { - pId = op.value; - pName = op.name.Trim(); - break; - } - } - if (pName == "") - { - var op = douyinProp.options.FirstOrDefault(o => o.name.Contains("以下")); - if (op == null) - op = douyinProp.options.FirstOrDefault(o => o.name.Contains("其他")); - if (op != null) - { - pId = op.value; - pName = op.name.Trim(); - } - } - if (!string.IsNullOrEmpty(pName)) - { - html += "^" + douyinProp.property_name + "|" + pName; - goto GetNextProperty; - } - } - } - // 如果上家对应面料、材质、含量属性不存在且没有使用模糊匹配,则直接跳过该属性,不论是否必填 - if ((upProp == null - || UpProperty2DouyinPropertyValueConverter(upProp.Value, douyinProp.options).Count == 0) - && !IsFuzzyMatching) - { - // 属性为字符型且上家不为空的直接填写上家值 - if (string.IsNullOrEmpty(pName) && douyinProp.type == "text") - { - if (upProp != null) - pName = upProp.Value; - else if (douyinProp.property_name.Contains("材质")) - pName = "普通材质"; - else if (douyinProp.property_name.Contains("净含量")) - pName = "<100"; - else if (douyinProp.property_name.Contains("有效成分含量")) - pName = "<29%"; - else - pName = "其他/Other"; - - html += "^" + douyinProp.property_name + "|" + pName; - goto GetNextProperty; - } - - // 支持自定义,填写其他 - if (douyinProp.diy_type == 1) - { - if (upProp == null || upProp.Value == "其他") - pName = "$diy$其他/Other"; - else - pName = "$diy$" + upProp.Value; - - html += "^" + douyinProp.property_name + "|" + pName; - goto GetNextProperty; - } - continue; - } - } - #region 模糊查找上家商品面料、材质、含量属性 - if (douyinProp.property_name.Contains("面料") || douyinProp.property_name.Contains("材质")) - { - if (upProp == null) - upProp = pcb.Prop.Find(pr => pr.Key.Contains("面料") || pr.Key.Contains("材质")); - if (upProp == null) - { - var op = douyinProp.options?.Find(o => pcb.name.Contains(o.name)); - if (op != null) - { - pId = op.value; - pName = op.name; - html += "^" + douyinProp.property_name + "|" + pName; - goto GetNextProperty; - } - } - } - #endregion - #endregion - - if (upProp == null && douyinProp.required && douyinProp.options?.FirstOrDefault() == null) - { - if (douyinProp.property_name == "备案/批准文号") - { - pName = ""; - } - if (douyinProp.property_name == "CCC证书编号") - { - pName = ""; - } - if (douyinProp.property_name == "吊牌价") - { - pName = (pcb.market_price == 0 ? pcb.price * 2 : pcb.market_price).ToString(); - } - if (douyinProp.property_name == "保质期") - { - pName = "30"; - } - if (douyinProp.property_name == "生产企业名称") - { - //pName = "工厂店"; //pvalue = "清风"; - pName = shop.ShopAccount; - } - if (douyinProp.property_name == "上市年份季节") - { - pName = DateTime.Now.AddMonths(-3).Year.ToString(); - } - if (douyinProp.property_name == "毛重") // todo: 这种没有如何处理 - { - pName = "暂无数据"; - } - if (douyinProp.property_name == "包装体积") - { - pName = "暂无数据"; - } - //if (string.IsNullOrEmpty(pName)) - // pName = "" + Randomx.GetId(1000, 9999); - - if (!string.IsNullOrEmpty(pName)) - { - html += "^" + douyinProp.property_name + "|" + pName; - goto GetNextProperty; - } - } - - // 上家属性不为空 - if (upProp != null) - { - // 抖音类目属性为文本类型时 - if (douyinProp.type == "text") - { - pName = upProp.Value; - html += "^" + douyinProp.property_name + "|" + pName; - goto GetNextProperty; - } - // 抖音类目属性非文本类型且选项为空时 - else if (douyinProp.options?.FirstOrDefault() == null) - { - pName = upProp.Value.ToString().Trim(); - html += "^" + douyinProp.property_name + "|" + pName; - goto GetNextProperty; - } - // 抖音类目属性列表数量大于0且与上家匹配时 - else if (UpProperty2DouyinPropertyValueConverter(upProp.Value, douyinProp.options).Count > 0) - { - var ops = UpProperty2DouyinPropertyValueConverter(upProp.Value, douyinProp.options); - foreach (var op in ops) - { - pName += op.name + ","; - pId += op.value + ","; - } - pName = pName.Trim(','); - pId = pId.Trim(','); - html += "^" + douyinProp.property_name + "|" + pName; - goto GetNextProperty; - } - // 模糊匹配时去找类似的选项 - else if (douyinProp.required && IsFuzzyMatching && - douyinProp.options?.FirstOrDefault(o => upProp.Value.Contains(o.name) && o.name.Length > upProp.Value.Length / 2M) != null) - { - var optionsTemp = douyinProp.options?.Where(o => upProp.Value.Contains(o.name) && o.name.Length > upProp.Value.Length / 2M).ToList(); - if (optionsTemp.Count > 1) - optionsTemp = optionsTemp.Take(1).ToList(); - foreach (var op in optionsTemp) - { - pId = op.value; - pName += op.name + ","; - if (douyinProp.type != "multi_select") - break; - } - pName = pName.Trim(','); - html += "^" + douyinProp.property_name + "|" + pName; - goto GetNextProperty; - } - } - - if (upProp == null && douyinProp.required) - { - if (douyinProp.options?.FirstOrDefault() != null) - { - var op = douyinProp.options.FirstOrDefault(o => o.name.Contains("其他") || - o.name.Contains("不限") || - o.name.Contains("默认") || - o.name.Contains("通用") || - o.name.Contains("中性") || - o.name.Contains("缺省")); - if (op != null) - { - pName = op.name.ToString().Trim(); - pId = op.value; - html += "^" + douyinProp.property_name + "|" + pName; - goto GetNextProperty; - } - } - } - - // 前面都未能成功匹配 - if (pName == "" && douyinProp.required) - { - if (douyinProp.property_name == "测量功能") - { - var op = douyinProp.options?.Find(o => pcb.name.Contains(o.name)); - } - if (douyinProp.property_name == "图案") - { - var op = douyinProp.options?.Find(o => pcb.name.Contains(o.name.Replace("图案", ""))); - if (op != null) - { - pName = op.name.ToString().Trim(); - pId = op.value; - goto GetNextProperty; - } - } - // 是否可以随意填写值 - if (douyinProp.diy_type == 1) - { - if (upProp != null && upProp.Value != "其他" && upProp.Value != "其他/other") - pName = "$diy$" + upProp.Value; - else if (douyinProp.property_name == "适用年龄") - pName = "$diy$通用"; - else if (douyinProp.property_name == "植物品种") - { - int subIndex = Randomx.GetId(15, 20); - var subText = pcb.name.Length > subIndex ? pcb.name.Substring(0, subIndex) : pcb.name; - pName = "$diy$" + subText; - } - else - pName = "$diy$其他/Other"; - } - else - if (douyinProp.type == "text") - { - if (douyinProp.property_name == "产品名称") - pName = pcb.name; - if (douyinProp.property_name == "连接方式" || douyinProp.property_name == "兼容平台") - pName = "其他/Other"; - else - pName = "通用"; - } - else - if (douyinProp.options?.FirstOrDefault() != null) - { - if (upProp != null) - { - var ops = douyinProp.options.Where(o => ("," + upProp.Value + ",").Contains("," + o.name + ",")).ToList(); - if (ops.Count > 0) - { - pName = pId = ""; - foreach (var op in ops) - { - pName += op.name + ","; - pId += op.value + ","; - } - pName = pName.Trim(','); - pId = pId.Trim(','); - } - } - - if (string.IsNullOrEmpty(pName)) - { - var op = douyinProp.options.Find(o => o.name == "正常规格"); - if (op == null && douyinProp.property_name == "适用年龄") - { - op = douyinProp.options.Last(o => o.name.Contains("周岁")); - } - if (op == null) - op = douyinProp.options[Randomx.GetId(douyinProp.options.Count - 1)]; - pName = op.name.ToString().Trim(); - pId = op.value; - } - } - if (!string.IsNullOrEmpty(pName)) - html += "^" + douyinProp.property_name + "|" + pName; - else - continue; - } - - GetNextProperty:; - - if (!string.IsNullOrEmpty(pName)) - { - var pNames = pName.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries); - var pIds = pId.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries); - - dicProp[douyinProp.property_id.ToString()] = new List(); - for (int j = 0; j < pIds.Length; j++) - { - var formatItem = new product_format_new_item - { - diy_type = pNames[j].StartsWith("$diy$") ? 1 : 0, - name = pNames[j].Replace("$diy$", ""), - value = pIds[j].ParseToLong() - }; - dicProp[douyinProp.property_id.ToString()].Add(formatItem); - } - } - #endregion - } - var result = html.Replace("^^", "^").Trim('^').Replace("/", "\\/").Replace("$diy$", ""); - //return result; - var resultNew = JsonHelper.SerializeObject(dicProp).Replace("\"", "\\\""); - return resultNew; - } - - public string UpProperty2DouyinPropertyNameConverter(string upPropName, string douyinPropName) - { - if (dicPropNameConverter.Keys.Contains(upPropName)) - { - if (("," + dicPropNameConverter[upPropName] + ",").Contains("," + douyinPropName + ",")) - return douyinPropName; - } - return upPropName; - } - - Dictionary dicPropNameConverter { get; } = new Dictionary() { - { "主材质", "材质" }, - { "拍杆材质", "材质" }, - { "外壳材质", "材质" }, - { "材质种类", "材质" }, - { "面料分类", "材质" }, - { "材质成分", "面料材质,面料材质成分含量,材质"}, - { "面料", "面料材质" }, - { "面料俗称", "面料材质,材质" }, - { "材质", "面料材质,主材质" }, - { "被里材质", "被里材质" }, - { "被里面料俗称", "被里材质" }, - { "被里材质含量", "被里成分含量" }, - { "被面材质", "被面材质" }, - { "被面材质含量", "被面成分含量" }, - { "成分含量", "面料成分含量" }, - { "衣柜面料", "饰面材质" }, - { "饰面面料", "面料材质" }, - { "鞋面材质", "帮面材质,材质" }, - { "刷毛材质", "材质" }, - { "储藏方法", "贮存条件" }, - { "适用人群", "适用对象" }, - { "是否支持定制", "是否可定制" }, - { "清扫模式", "清洁类型" }, - { "3C认证证书编号", "CCC证书编号" }, - { "上市时节", "上市年份季节" }, - { "适用年龄段", "适用年龄" }, - { "产品类型", "鞋垫种类" }, - { "杯身材质", "材质" }, // 水杯 水杯女可爱大容量塑料杯可爱学生便携夏季大肚带吸管杯子男高颜值 - { "净含量", "有效成分含量" }, - { "续航时间", "电池使用时间"}, - { "防水级别", "防水等级" }, - { "绳材质", "材质" }, - { "内里材质", "填充物种类" }, - }; - - public List UpProperty2DouyinPropertyValueConverter(string upPropName, List options) - { - if (options?.Find(o => o.name.ToLower() == upPropName.ToLower()) != null) - return options.Where(o => o.name.ToLower() == upPropName.ToLower()).ToList(); - if (options?.Find(o => o.name.ToLower() == upPropName.ToLower() + "镶嵌") != null) - return options.Where(o => o.name.ToLower() == upPropName.ToLower() + "镶嵌").ToList(); - if (dicPropValueConverter.Keys.Contains(upPropName.ToLower())) - { - var ops = options.Where(o => ("," + dicPropValueConverter[upPropName.ToLower()] + ",").Contains("," + o.name + ",")).ToList(); - if (ops.Count > 0) - return ops; - } - if (upPropName.Contains("%")) - { - string[] strArr = new string[] { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "." }; - foreach (var item in strArr) - { - upPropName = upPropName.Replace(item, ""); - } - var upPropNames = upPropName.Split(new string[] { "%" }, StringSplitOptions.RemoveEmptyEntries); - var upPropNameConverted = ""; - foreach (var item in upPropNames) - { - if (dicPropValueConverter.Keys.Contains(item.ToLower().Trim())) - upPropNameConverted += dicPropValueConverter[item.ToLower().Trim()] + ","; - else - upPropNameConverted += item.ToLower().Trim() + ","; - } - var ops = options.Where(o => ("," + upPropNameConverted.ToLower() + ",").Contains("," + o.name + ",")).ToList(); - - if (ops.Count > 0) - return ops; - } - return new List(); - } - - Dictionary dicPropValueConverter { get; } = new Dictionary() { - { "人造革", "聚酯纤维" }, - { "涤纶", "聚酯纤维" }, - { "丝绵", "聚酯纤维" }, - { "仿丝棉", "聚酯纤维" }, - { "涤纶(聚酯纤维)", "聚酯纤维,涤纶" }, - { "粘胶纤维(粘纤)", "粘胶纤维,粘纤" }, - { "聚酰胺纤维(锦纶)", "聚酰胺纤维,锦纶" }, - { "聚氨酯弹性纤维(氨纶),", "聚氨酯弹性纤维,氨纶" }, - { "记忆棉(聚氨酯)", "记忆棉,聚氨酯" }, - { "二层牛皮", "牛剖层皮革" }, - { "二层牛皮(除牛反绒)", "牛剖层皮革"}, - { "超纤皮", "牛剖层皮革" }, - { "pu", "聚氨酯,人造革" }, - { "吸口滚刷互换式", "滚刷吸口互换" }, - { "科技布", "涤纶" }, - { "毛毡" , "聚酯纤维" }, - { "人造纤维", "仿生纤维毛" }, - { "925银", "925银镶嵌" }, - { "绸缎", "丝绸" }, - { "棉布", "棉" }, - { "pvc", "PVC(聚氯乙烯)"}, - { "包芯丝", "尼龙,氨纶"}, - { "全碳素", "碳纤维" }, - { "棉麻", "棉,亚麻" }, - { "帆布", "纺织" }, - { "天丝(莱赛尔纤维)", "天丝,莱赛尔纤维" }, - { "天丝", "莱赛尔纤维" }, - { "eva", "EVA发泡胶" }, - { "蚕丝", "桑蚕丝" }, - { "弹力布", "纺织" }, - { "发泡橡胶", "橡胶发泡" }, - { "复合底", "橡胶+EVA" }, - { "冰丝", "粘胶纤维" }, - { "橡胶", "橡胶底" }, - { "丁腈", "NBR,nbr"}, - { "丁腈橡胶", "NBR,nbr"}, - { "棉", "纺织" }, - }; - } - - public class product_format_new_item - { - public string name { get; set; } - public long value { get; set; } - public long diy_type { get; set; } - } -} diff --git a/Work/CollectClass/JingXiCollect.cs b/Work/CollectClass/JingXiCollect.cs index cfa310e..cd5ba72 100644 --- a/Work/CollectClass/JingXiCollect.cs +++ b/Work/CollectClass/JingXiCollect.cs @@ -354,72 +354,6 @@ namespace Work.CollectClass } } - private static string ReadResponse(HttpWebResponse response) - { - using (Stream responseStream = response.GetResponseStream()) - { - Stream streamToRead = responseStream; - if (response.ContentEncoding.ToLower().Contains("gzip")) - { - streamToRead = new GZipStream(streamToRead, CompressionMode.Decompress); - } - else if (response.ContentEncoding.ToLower().Contains("deflate")) - { - streamToRead = new DeflateStream(streamToRead, CompressionMode.Decompress); - } - - using (StreamReader streamReader = new StreamReader(streamToRead, Encoding.UTF8)) - { - return streamReader.ReadToEnd(); - } - } - } - - private string Request_m_jingxi_com(string url, string refer, string cookies) - { - HttpWebResponse response = null; - string responseText = ""; - - try - { - HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://m.jingxi.com/pingou_api/getskusprice?skuids=66516696547,66516696549,66516696551,66516696553,66516696555,66516696557,66516696559,66516696560,66516696561,66516696562,66516696563,66516696564,10026355267735,10026355267736,10026355267737,10026355267738,10026355267739"); - - request.KeepAlive = true; - request.Headers.Set(HttpRequestHeader.CacheControl, "max-age=0"); - request.Headers.Add("sec-ch-ua", @""" Not;A Brand"";v=""99"", ""Google Chrome"";v=""91"", ""Chromium"";v=""91"""); - request.Headers.Add("sec-ch-ua-mobile", @"?0"); - request.Headers.Add("Upgrade-Insecure-Requests", @"1"); - request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"; - request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9"; - request.Headers.Add("Sec-Fetch-Site", @"none"); - request.Headers.Add("Sec-Fetch-Mode", @"navigate"); - request.Headers.Add("Sec-Fetch-User", @"?1"); - request.Headers.Add("Sec-Fetch-Dest", @"document"); - if (!string.IsNullOrEmpty(refer)) - request.Referer = refer; - request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate, br"); - request.Headers.Set(HttpRequestHeader.AcceptLanguage, "zh-CN,zh;q=0.9"); - //request.Headers.Set(HttpRequestHeader.Cookie, @"webp=1; mba_muid=1620291779033615364177; 3AB9D23F7A4B3C9B=IIBLOQ4IFTT367KU2NCECZAFXTVCN7AYLXSIP3HZSBOMBKQXGQTJFDGRW5JWCEU377HKC5C5HJQRHJJC3D5ZASWFTE; shshshfpb=boDuOdz%20%2FGt9KQ74G6vTQmA%3D%3D; shshshfpa=5d4141ae-427a-678c-4712-9baed34739a1-1599815587; visitkey=31617493194533400; retina=0; deviceVersion=91.0.4472.114; equipmentId=IIBLOQ4IFTT367KU2NCECZAFXTVCN7AYLXSIP3HZSBOMBKQXGQTJFDGRW5JWCEU377HKC5C5HJQRHJJC3D5ZASWFTE; fingerprint=3554b07451d83da66d73db4c41f0feaf; deviceName=Chrome; deviceOS=; deviceOSVersion=; sc_width=1920; autoOpenApp_pgDownCloseDate_auto=1624939789383_21600000; shshshfp=587434f372f9b93d7f1fdb2094808628; warehistory=""70742086787,""; wxmall_ptype=2; cid=3; __jdv=122270672%7Cdirect%7Ct_1000072676_17008_001%7Cshouq%7C-%7C1625192682227; __jda=122270672.15940195332131193805118.1594019533.1624948496.1625192682.150; __jxjda=76161171.15940195332131193805118.1594019533.1624948498.1625192682.151; sbx_hot_h=null; __wga=1625192761948.1625192682221.1624948498385.1620295125422.5.7; PPRD_P=UUID.15940195332131193805118-LOGID.1625192762279.162952430-EA.17008.1.14-CT.138631.1.3; wq_prior=5; wq_ug=14; pin=%E6%AE%BF%E6%95%8F%E5%AE%B6%E5%B1%85%E6%97%A5%E7%94%A8%E6%8B%BC%E8%B4%AD%E5%BA%97; unick=%E6%AE%BF%E6%95%8F%E5%AE%B6%E5%B1%85%E6%97%A5%E7%94%A8%E6%8B%BC%E8%B4%AD%E5%BA%97; thor=1BAE23EC9D9791A1474EC42D7F7F8C83B7231A71F615C334906B0C3758FA60CABDE9502205933B0331B61610000AF0F9D0125204144AA5AB85D21A72BD6584849C2900A7B54574A9DC4A0DB96997B6C6909A236512E657BF74EA85E8CD750D055C6EACA03A7A45A03A801C2AB8EC11C78BB83B2E1736FF837978DA5B46D1DC999478FBA07B98566A44F74DBD9974339C"); - if (!string.IsNullOrEmpty(cookies)) - request.Headers.Set(HttpRequestHeader.Cookie, cookies); - - response = (HttpWebResponse)request.GetResponse(); - } - catch (WebException e) - { - if (e.Status == WebExceptionStatus.ProtocolError) response = (HttpWebResponse)e.Response; - else return e.Message; - } - catch (Exception ex) - { - if (response != null) response.Close(); - return ex.Message; - } - - responseText = ReadResponse(response); - response.Close(); - return responseText; - } private string getSkuHtml(long skuid, ref bool canUse) @@ -873,17 +807,6 @@ namespace Work.CollectClass return list; } - private string GetDetailImageImgHtml(long skuid) - { - #region - // - // { "content":"



    ","plus":false,"isMobileDesc":true,"msg":"","success":"1"} - #endregion - List list = new List(); - string url = "https://wqsitem.jd.com/detail/" + skuid + "_d14399653725_normal.html"; - string html = AllBase.GetHtml.GetUtf8(url, AllBase.BaseClass.ChromeUserAgent); - return html; - } /// /// 获取拼团的销量 /// @@ -1053,25 +976,7 @@ namespace Work.CollectClass public string Prop3 = ""; } } - /// - /// 单位换算:将万等转换为具体的数字, - /// 如52万=520000等 - /// - /// - /// - public static decimal Unit_Conversion(string data) - { - decimal result = 0; - string s1 = AllBase.BaseRegex.GetMatchRegexString(ref data, "(\\d*[.\\d*]*)"); - if (decimal.TryParse(s1, out result)) - { - if (data.Contains("万")) - result *= 10000; - if (data.Contains("亿")) - result *= 100000000; - } - return result; - } + public enum GoodsStatusEnum { /// @@ -1085,50 +990,4 @@ namespace Work.CollectClass } } - public static class ConvertExtension - { - /// - /// 删除特殊字 - /// - /// - /// - /// - public static string RemoveSpecialChar(this string text, params string[] characters) - { - //{ ":", ":", "/", "\\", "\"", "?", "✅", "◆", "‼️" } - string str = text; - List specialCharacters = new List(characters); - specialCharacters.ForEach(c => { str = str.Replace(c, ""); }); - - return str; - } - } - - public class JingXiCollectDemo - { - public static void Get(string skuID) - { - ProductCollectBase pb = new ProductCollectBase(); - pb.from_id = skuID.ParseToLong(); ; - JingXiCollect tm = new JingXiCollect(pb); - tm.Get(); - var p = tm.Product; - - } - - public static void GetTaobao(string skuID) - { - ProductCollectBase pb = new ProductCollectBase(); - pb.from_url = "https://item.taobao.com/item.htm?id=" + skuID; - pb.from_id = long.Parse(skuID); - TaobaoMobileCollect tm = new TaobaoMobileCollect(pb); - tm.Pinduoduo = true; - tm.Name = "淘宝"; - tm.Get(); - var p = tm.Product; - return; - - } - - } } diff --git a/Work/CollectClass/TaobaoMobileCollect.cs b/Work/CollectClass/TaobaoMobileCollect.cs index a4cd355..65de3a7 100644 --- a/Work/CollectClass/TaobaoMobileCollect.cs +++ b/Work/CollectClass/TaobaoMobileCollect.cs @@ -14,7 +14,6 @@ using System.IO.Compression; using Newtonsoft.Json.Linq; using System.Security.Cryptography; using System.Windows.Forms; -using Work.BLL.Upload; using AllBase.Extension; using NaiBa.Util.Extension; diff --git a/Work/Work.csproj b/Work/Work.csproj index 90e52d4..8778a89 100644 --- a/Work/Work.csproj +++ b/Work/Work.csproj @@ -134,12 +134,6 @@ - - - - - - @@ -162,7 +156,6 @@ -