using Api.Framework; using Api.Framework.Cps; using Api.Framework.Enums; using Api.Framework.Events; using DevExpress.XtraEditors; using DevExpress.XtraTab; using System; using System.Drawing; using System.Linq; using System.Windows.Forms; using UI.Framework.Forms; namespace FLSystem.Forms { #region xxx // public partial class system_douyin_action_control : DevExpress.XtraEditors.XtraUserControl // { // public system_douyin_action_control() // { // InitializeComponent(); // DouyinApi.douyinApiAction = DouyinApiAction; // } // private static string DefaultTitle = "抖音扫码登录"; // private void DouyinApiAction(DouyinApi api) // { // api.IsQualifiedAction = IsQualifiedAction; // bool falg = false; // var parentXtraTabControl = this.Parent.Parent as XtraTabControl; // //判断是否已创建过 // this.Invoke(new Action(() => // { // foreach (XtraTabPage page in parentXtraTabControl.TabPages) // { // if (page.Text == "抖音活跃列表") // { // parentXtraTabControl.SelectedTabPage = page;//显示该页 // break; // } // } // //判断是否已创建过 // foreach (XtraTabPage page in xtraTabControl1.TabPages) // { // if (!string.IsNullOrWhiteSpace(api.Member.username) && page.Text.StartsWith(api.Member.username)) // { // xtraTabControl1.SelectedTabPage = page;//显示该页 // return; // } // else if (string.IsNullOrWhiteSpace(api.Member.username) && page.Text == DefaultTitle) // { // falg = true; // BaseForm.ShowErrorAutoClose("已经存在扫码登录中的页面"); // return; // } // } // })); // if (!falg) // { // var pageName = string.Empty; // if (!string.IsNullOrWhiteSpace(api.Member.username)) // { // pageName = $"{api.Member.username}_({api.Member.usernick})"; // } // //AddControlPage(pageName, api.chromeBrowser, global::FLSystem.Properties.Resources.抖音); // AddControlPage(pageName, api.webControl, global::FLSystem.Properties.Resources.抖音); // } // } // /// // /// 是否满足账号权限 // /// // /// // private void IsQualifiedAction(DouyinLoginType type, DouyinApi api) // { // try // { // switch (type) // { // case DouyinLoginType.权限不足: // { // EventClient.OnEvent("", $"{api.Member.username}({api.Member.usernick}) 权限未开通,请开通后重试!"); // CpsClient.Members.Remove(api.Member); // //CpsClient.DelDouyinApi(api.Member.username); // this.Invoke(new Action(() => // { // var parentXtraTabControl = this.Parent.Parent as XtraTabControl; // foreach (XtraTabPage page in parentXtraTabControl.TabPages) // { // if (page.Text == "抖音活跃列表") // { // parentXtraTabControl.SelectedTabPage = page;//显示该页 // break; // } // } // ////判断是否已创建过 // //foreach (XtraTabPage page in xtraTabControl1.TabPages) // //{ // // if (page.Text == DefaultTitle) // // { // // xtraTabControl1.SelectedTabPage = page;//显示该页 // // api.chromeBrowser.Load("https://www.douyinec.com/"); // // return; // // } // //} // XtraTabPage pageTmp = null; // //判断是否已创建过 // foreach (XtraTabPage page in xtraTabControl1.TabPages) // { // if (page.Text == DefaultTitle) // { // pageTmp = page; // } // } // if (pageTmp != null) // { // xtraTabControl1.TabPages.Remove(pageTmp); // //AddControlPage($"{api.Member.username}_({api.Member.usernick})", api.chromeBrowser, global::FLSystem.Properties.Resources.抖音); // } // })); // BaseForm.ShowErrorAutoClose($@"该账号未开通商品分享功能,请开通后重试 //注:开通电商权限,需要同时满足以下4个条件 //①、账号实名认证 //②、个人主页视频数(公开且审核通过)≥ 10 条 //③、账号粉丝量(绑定第三方粉丝量不计数)≥ 1000 //④、商品分享保证金 ¥500立即充值", 120); // } // break; // case DouyinLoginType.登录过期: // { // EventClient.OnEvent("", $"抖音离线:{api.Member.username}({api.Member.usernick})"); // CpsClient.Members.Remove(api.Member); // //CpsClient.DelDouyinApi(api.Member.username); // this.Invoke(new Action(() => // { // var parentXtraTabControl = this.Parent.Parent as XtraTabControl; // foreach (XtraTabPage page in parentXtraTabControl.TabPages) // { // if (page.Text == "抖音活跃列表") // { // parentXtraTabControl.SelectedTabPage = page;//显示该页 // break; // } // } // ////判断是否已创建过 // //foreach (XtraTabPage page in xtraTabControl1.TabPages) // //{ // // if (page.Text == DefaultTitle) // // { // // xtraTabControl1.SelectedTabPage = page;//显示该页 // // api.chromeBrowser.Load("https://www.douyinec.com/"); // // return; // // } // //} // XtraTabPage pageTmp = null; // //判断是否已创建过 // foreach (XtraTabPage page in xtraTabControl1.TabPages) // { // if (page.Text == $"{api.Member.username}_({api.Member.usernick})") // { // pageTmp = page; // } // } // if (pageTmp != null) // { // xtraTabControl1.TabPages.Remove(pageTmp); // //AddControlPage($"{api.Member.username}_({api.Member.usernick})", api.chromeBrowser, global::FLSystem.Properties.Resources.抖音); // } // })); // } // break; // case DouyinLoginType.登录成功: // case DouyinLoginType.新号登录成功: // { // this.Invoke(new Action(() => // { // //api.SkipOther("https://buyin.jinritemai.com/dashboard/dataCenter/export-list"); // var parentXtraTabControl = this.Parent.Parent as XtraTabControl; // foreach (XtraTabPage page in parentXtraTabControl.TabPages) // { // if (page.Text == "抖音活跃列表") // { // parentXtraTabControl.SelectedTabPage = page;//显示该页 // break; // } // } // XtraTabPage pageTmp = null; // if (type == DouyinLoginType.新号登录成功) // { // //判断是否已创建过 // foreach (XtraTabPage page in xtraTabControl1.TabPages) // { // if (page.Text == DefaultTitle) // { // pageTmp = page; // } // } // if (pageTmp != null) // { // xtraTabControl1.TabPages.Remove(pageTmp); // //AddControlPage($"{api.Member.username}_({api.Member.usernick})", api.chromeBrowser, global::FLSystem.Properties.Resources.抖音); // AddControlPage($"{api.Member.username}_({api.Member.usernick})", api.webControl, global::FLSystem.Properties.Resources.抖音, true); // } // } // else // { // if (pageTmp == null) // { // var def = xtraTabControl1.TabPages.FirstOrDefault(f => f.Text == DefaultTitle); // var notDef = xtraTabControl1.TabPages.FirstOrDefault(f => f.Text == $"{api.Member.username}_({api.Member.usernick})"); // if (def != null) // { // if (notDef != null) // xtraTabControl1.TabPages.Remove(notDef); // def.Text = $"{api.Member.username}_({api.Member.usernick})"; // //def.Enabled = false; // def.ShowCloseButton = DevExpress.Utils.DefaultBoolean.False; // } // else if (notDef != null && def == null) // { // notDef.Text = $"{api.Member.username}_({api.Member.usernick})"; // //notDef.Enabled = false; // notDef.ShowCloseButton = DevExpress.Utils.DefaultBoolean.False; // } // } // } // })); // } // break; // case DouyinLoginType.删除登录账号: // { // this.Invoke(new Action(() => // { // var parentXtraTabControl = this.Parent.Parent as XtraTabControl; // foreach (XtraTabPage page in parentXtraTabControl.TabPages) // { // if (page.Text == "抖音活跃列表") // { // parentXtraTabControl.SelectedTabPage = page;//显示该页 // break; // } // } // XtraTabPage pageTmp = null; // //判断是否已创建过 // foreach (XtraTabPage page in xtraTabControl1.TabPages) // { // if (page.Text == $"{api.Member.username}_({api.Member.usernick})") // { // pageTmp = page; // } // } // if (pageTmp != null) // { // xtraTabControl1.TabPages.Remove(pageTmp); // } // })); // } // break; // default: // break; // } // this.Invoke(new Action(() => // { // CpsClient.RefreshCps(); // EventClient.OnEvent(null, MethodType.刷新联盟); // })); // } // catch (Exception ex) // { // } // } // //增加选项夹 // private void AddControlPage(string pageName, Control control, Image img = null, bool isLoad = false) // { // this.Invoke(new Action(() => // { // try // { // //增加tabpage // XtraTabPage xpage = new XtraTabPage(); // if (string.IsNullOrWhiteSpace(pageName)) // { // pageName = DefaultTitle; // control.Enabled = true; // xpage.ShowCloseButton = DevExpress.Utils.DefaultBoolean.True; // } // else // { // //if (isLoad) // // control.Enabled = false; // xpage.ShowCloseButton = DevExpress.Utils.DefaultBoolean.False; // } // xpage.Name = pageName; // xpage.Text = pageName; // if (img != null) // xpage.ImageOptions.Image = img; // //if (xpage.Text == "运行日志") // //xpage.ShowCloseButton = DevExpress.Utils.DefaultBoolean.False; // control.Dock = DockStyle.None; // control.Location = new Point(0, 0); // control.Size = new Size(1920, 1080); // xpage.Controls.Add(control);//添加要增加的控件 // xtraTabControl1.TabPages.Add(xpage); // xtraTabControl1.SelectedTabPage = xpage;//显示该页 // } // catch (Exception ex) // { // if (ex.Message.Contains(@"“CefSharp.Core.Runtime.dll”或它的某一个依赖项")) // { // EventClient.OnEvent("系统缺少服务", $@"请点击链接,下载组件并安装,安装完成后重启软件 //下载地址:https://wwa.lanzoui.com/iDDvsroqrxc"); // try // { // Clipboard.SetDataObject("https://wwa.lanzoui.com/iDDvsroqrxc" + "?=" + new Random().Next(100, 2000)); // } // catch (Exception) // { } // BaseForm.ShowError(@"当前系统缺少组件,请看软件日志,按提示安装相应的组件 //下载地址已经复制到粘贴板,在网页中打开即可"); // } // else // XtraMessageBox.Show(ex.Message, "AddControlPage Error", MessageBoxButtons.OK, MessageBoxIcon.Error); // } // })); // } // private void xtraTabControl1_CloseButtonClick(object sender, EventArgs e) // { // try // { // DevExpress.XtraTab.ViewInfo.ClosePageButtonEventArgs EArg = (DevExpress.XtraTab.ViewInfo.ClosePageButtonEventArgs)e; // string name = EArg.Page.Text;//得到关闭的选项卡的text // foreach (XtraTabPage page in xtraTabControl1.TabPages)//遍历得到和关闭的选项卡一样的Text // { // if (page.Text == name) // { // xtraTabControl1.TabPages.Remove(page); // foreach (Control item in page.Controls) // { // item.Dispose(); // } // page.Dispose(); // return; // } // } // } // catch (Exception ex) // { // BaseForm.ShowError(ex); // } // } // } #endregion public partial class system_douyin_action_control : DevExpress.XtraEditors.XtraUserControl { public system_douyin_action_control() { InitializeComponent(); DouyinApi.douyinApiAction = DouyinApiAction; } private static string DefaultTitle = "抖音扫码登录"; private void DouyinApiAction(DouyinApi api) { api.IsQualifiedAction = IsQualifiedAction; bool falg = false; var parentXtraTabControl = this.Parent.Parent as XtraTabControl; //判断是否已创建过 this.Invoke(new Action(() => { foreach (XtraTabPage page in parentXtraTabControl.TabPages) { if (page.Text == "抖音活跃列表") { parentXtraTabControl.SelectedTabPage = page;//显示该页 break; } } //判断是否已创建过 foreach (XtraTabPage page in xtraTabControl1.TabPages) { if (!string.IsNullOrWhiteSpace(api.Member.username) && page.Text.StartsWith(api.Member.username)) { xtraTabControl1.SelectedTabPage = page;//显示该页 return; } else if (string.IsNullOrWhiteSpace(api.Member.username) && page.Text == DefaultTitle) { falg = true; BaseForm.ShowErrorAutoClose("已经存在扫码登录中的页面"); return; } } })); if (!falg) { var pageName = string.Empty; if (!string.IsNullOrWhiteSpace(api.Member.username)) { pageName = $"{api.Member.username}_({api.Member.usernick})"; } //AddControlPage(pageName, api.chromeBrowser, global::FLSystem.Properties.Resources.抖音); AddControlPage(pageName, api.webControl, global::FLSystem.Properties.Resources.抖音); } } /// /// 是否满足账号权限 /// /// private void IsQualifiedAction(DouyinLoginType type, DouyinApi api) { try { switch (type) { case DouyinLoginType.权限不足: { EventClient.OnEvent("", $"{api.Member.username}({api.Member.usernick}) 权限未开通,请开通后重试!"); CpsClient.Members.Remove(api.Member); //CpsClient.DelDouyinApi(api.Member.username); this.Invoke(new Action(() => { var parentXtraTabControl = this.Parent.Parent as XtraTabControl; foreach (XtraTabPage page in parentXtraTabControl.TabPages) { if (page.Text == "抖音活跃列表") { parentXtraTabControl.SelectedTabPage = page;//显示该页 break; } } ////判断是否已创建过 //foreach (XtraTabPage page in xtraTabControl1.TabPages) //{ // if (page.Text == DefaultTitle) // { // xtraTabControl1.SelectedTabPage = page;//显示该页 // api.chromeBrowser.Load("https://www.douyinec.com/"); // return; // } //} XtraTabPage pageTmp = null; //判断是否已创建过 foreach (XtraTabPage page in xtraTabControl1.TabPages) { if (page.Text == DefaultTitle) { pageTmp = page; } } if (pageTmp != null) { xtraTabControl1.TabPages.Remove(pageTmp); //AddControlPage($"{api.Member.username}_({api.Member.usernick})", api.chromeBrowser, global::FLSystem.Properties.Resources.抖音); } })); BaseForm.ShowErrorAutoClose($@"该账号未开通商品分享功能,请开通后重试 注:开通电商权限,需要同时满足以下4个条件 ①、账号实名认证 ②、个人主页视频数(公开且审核通过)≥ 10 条 ③、账号粉丝量(绑定第三方粉丝量不计数)≥ 1000 ④、商品分享保证金 ¥500立即充值", 120); } break; case DouyinLoginType.登录过期: { EventClient.OnEvent("", $"抖音离线:{api.Member.username}({api.Member.usernick})"); CpsClient.Members.Remove(api.Member); //CpsClient.DelDouyinApi(api.Member.username); this.Invoke(new Action(() => { var parentXtraTabControl = this.Parent.Parent as XtraTabControl; foreach (XtraTabPage page in parentXtraTabControl.TabPages) { if (page.Text == "抖音活跃列表") { parentXtraTabControl.SelectedTabPage = page;//显示该页 break; } } ////判断是否已创建过 //foreach (XtraTabPage page in xtraTabControl1.TabPages) //{ // if (page.Text == DefaultTitle) // { // xtraTabControl1.SelectedTabPage = page;//显示该页 // api.chromeBrowser.Load("https://www.douyinec.com/"); // return; // } //} XtraTabPage pageTmp = null; //判断是否已创建过 foreach (XtraTabPage page in xtraTabControl1.TabPages) { if (page.Text == $"{api.Member.username}_({api.Member.usernick})") { pageTmp = page; } } if (pageTmp != null) { xtraTabControl1.TabPages.Remove(pageTmp); //AddControlPage($"{api.Member.username}_({api.Member.usernick})", api.chromeBrowser, global::FLSystem.Properties.Resources.抖音); } })); } break; case DouyinLoginType.登录成功: case DouyinLoginType.新号登录成功: { this.Invoke(new Action(() => { //api.SkipOther("https://buyin.jinritemai.com/dashboard/dataCenter/export-list"); var parentXtraTabControl = this.Parent.Parent as XtraTabControl; foreach (XtraTabPage page in parentXtraTabControl.TabPages) { if (page.Text == "抖音活跃列表") { parentXtraTabControl.SelectedTabPage = page;//显示该页 break; } } XtraTabPage pageTmp = null; if (type == DouyinLoginType.新号登录成功) { //判断是否已创建过 foreach (XtraTabPage page in xtraTabControl1.TabPages) { if (page.Text == DefaultTitle) { pageTmp = page; } } if (pageTmp != null) { xtraTabControl1.TabPages.Remove(pageTmp); //AddControlPage($"{api.Member.username}_({api.Member.usernick})", api.chromeBrowser, global::FLSystem.Properties.Resources.抖音); AddControlPage($"{api.Member.username}_({api.Member.usernick})", api.webControl, global::FLSystem.Properties.Resources.抖音, true); } } else { if (pageTmp == null) { var def = xtraTabControl1.TabPages.FirstOrDefault(f => f.Text == DefaultTitle); var notDef = xtraTabControl1.TabPages.FirstOrDefault(f => f.Text == $"{api.Member.username}_({api.Member.usernick})"); if (def != null) { if (notDef != null) xtraTabControl1.TabPages.Remove(notDef); def.Text = $"{api.Member.username}_({api.Member.usernick})"; //def.Enabled = false; def.ShowCloseButton = DevExpress.Utils.DefaultBoolean.False; } else if (notDef != null && def == null) { notDef.Text = $"{api.Member.username}_({api.Member.usernick})"; //notDef.Enabled = false; notDef.ShowCloseButton = DevExpress.Utils.DefaultBoolean.False; } } } })); } break; case DouyinLoginType.删除登录账号: { this.Invoke(new Action(() => { var parentXtraTabControl = this.Parent.Parent as XtraTabControl; foreach (XtraTabPage page in parentXtraTabControl.TabPages) { if (page.Text == "抖音活跃列表") { parentXtraTabControl.SelectedTabPage = page;//显示该页 break; } } XtraTabPage pageTmp = null; //判断是否已创建过 foreach (XtraTabPage page in xtraTabControl1.TabPages) { if (page.Text == $"{api.Member.username}_({api.Member.usernick})") { pageTmp = page; } } if (pageTmp != null) { xtraTabControl1.TabPages.Remove(pageTmp); } })); } break; default: break; } this.Invoke(new Action(() => { CpsClient.RefreshCps(); EventClient.OnEvent(null, MethodType.刷新联盟); })); } catch (Exception ex) { } } //增加选项夹 private void AddControlPage(string pageName, Control control, Image img = null, bool isLoad = false) { this.Invoke(new Action(() => { try { //增加tabpage XtraTabPage xpage = new XtraTabPage(); if (string.IsNullOrWhiteSpace(pageName)) { pageName = DefaultTitle; control.Enabled = true; xpage.ShowCloseButton = DevExpress.Utils.DefaultBoolean.True; } else { //if (isLoad) // control.Enabled = false; xpage.ShowCloseButton = DevExpress.Utils.DefaultBoolean.False; } xpage.Name = pageName; xpage.Text = pageName; if (img != null) xpage.ImageOptions.Image = img; //if (xpage.Text == "运行日志") //xpage.ShowCloseButton = DevExpress.Utils.DefaultBoolean.False; control.Dock = DockStyle.None; control.Location = new Point(0, 0); control.Size = new Size(1920, 1080); xpage.Controls.Add(control);//添加要增加的控件 xtraTabControl1.TabPages.Add(xpage); xtraTabControl1.SelectedTabPage = xpage;//显示该页 } catch (Exception ex) { if (ex.Message.Contains(@"“CefSharp.Core.Runtime.dll”或它的某一个依赖项")) { EventClient.OnEvent("系统缺少服务", $@"请点击链接,下载组件并安装,安装完成后重启软件 下载地址:https://wwa.lanzoui.com/iDDvsroqrxc"); try { Clipboard.SetDataObject("https://wwa.lanzoui.com/iDDvsroqrxc" + "?=" + new Random().Next(100, 2000)); } catch (Exception) { } BaseForm.ShowError(@"当前系统缺少组件,请看软件日志,按提示安装相应的组件 下载地址已经复制到粘贴板,在网页中打开即可"); } else XtraMessageBox.Show(ex.Message, "AddControlPage Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } })); } private void xtraTabControl1_CloseButtonClick(object sender, EventArgs e) { try { DevExpress.XtraTab.ViewInfo.ClosePageButtonEventArgs EArg = (DevExpress.XtraTab.ViewInfo.ClosePageButtonEventArgs)e; string name = EArg.Page.Text;//得到关闭的选项卡的text foreach (XtraTabPage page in xtraTabControl1.TabPages)//遍历得到和关闭的选项卡一样的Text { if (page.Text == name) { xtraTabControl1.TabPages.Remove(page); foreach (Control item in page.Controls) { item.Dispose(); } page.Dispose(); return; } } } catch (Exception ex) { BaseForm.ShowError(ex); } } } }