old_flsystem/FLSystem/Forms/main.cs

2728 lines
121 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using Api.Framework;
using Api.Framework.Cps;
using Api.Framework.Enums;
using Api.Framework.Events;
using Api.Framework.Model;
using Api.Framework.SDK;
using Api.Framework.Tools;
using Api.Framework.Utils;
using Chat.Framework;
using Chat.Framework.QQSdk;
using Chat.Framework.QQSdk.Events;
using Chat.Framework.WXSdk;
using Chat.Framework.WXSdk.Implement;
using CsharpHttpHelper;
using DevExpress.XtraBars;
using DevExpress.XtraEditors;
using DevExpress.XtraTab;
using FLSystem.Events;
using FLSystem.Properties;
using FLSystem.Win32Api;
using GeneralFramework;
using Grant.Framework;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using PCRobot.Pack;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using DevExpress.Data.Helpers;
using Microsoft.Win32;
using UI.Framework.Controls;
using UI.Framework.Forms;
using UI.Framework.Tools;
using static Api.Framework.Tools.TBHelper;
namespace FLSystem.Forms
{
public partial class main : BaseForm
{
public main()
{
InitializeComponent();
#region
timeClear = new TimerClearEventHandler(Time_Clear);//如果操作了系统,则重新计时
mouseKeyHook.KeyDown += new KeyEventHandler(mouseKeyHook_KeyDown);
mouseKeyHook.KeyUp += new KeyEventHandler(mouseKeyHook_KeyUp);
mouseKeyHook.KeyPress += new KeyPressEventHandler(mouseKeyHook_KeyPress);
mouseKeyHook.OnMouseActivity += new MouseEventHandler(mouseKeyHook_OnMouseActivity);
mouseKeyHook.Start(true, true);
#endregion
}
#region
public delegate void TimerClearEventHandler();
public delegate void ShowTimeEventHandler();
private MouseKeyHook mouseKeyHook = new MouseKeyHook(true, true);
public bool lockState = false;
private bool timerEnable = false;
private TimerClearEventHandler timeClear;
private void Time_Clear()
{
if (timerEnable)
{
this.timer1.Stop();
this.timer1.Start();
}
}
void mouseKeyHook_OnMouseActivity(object sender, MouseEventArgs e) { this.Invoke(this.timeClear); }
void mouseKeyHook_KeyPress(object sender, KeyPressEventArgs e) { this.Invoke(this.timeClear); }
void mouseKeyHook_KeyUp(object sender, KeyEventArgs e) { this.Invoke(this.timeClear); }
void mouseKeyHook_KeyDown(object sender, KeyEventArgs e) { this.Invoke(this.timeClear); }
#endregion
KeyboardHook kh;
/// <summary>
/// 同步黑名单
/// </summary>
private System.Timers.Timer timerBlackUser = null;
public void main_Load(object sender, EventArgs e)
{
try
{
//var ss = ApiClient.ShortURL("https://detail.tmall.com/item.htm?spm=a230r.1.14.16.11f547a36SIAOY&id=526234772827&ns=1&abbucket=1", DwzType.官方短网址).Result;
DevExpress.UserSkins.BonusSkins.Register();
DevExpress.Skins.SkinManager.EnableFormSkins();
DevExpress.Utils.WXPaint.WXPPainter.Default.ThemeChanged += Default_ThemeChanged;
GrantClient.Get().LodingAbout(1003, Program.ReadICO());
if (!ApiClient.SelectDbbase()) Program.Exit();
var skin = Util.AppConfig_GetValue("SkinName");
//DevExpress.LookAndFeel.UserLookAndFeel.Default.SetSkinStyle(skin == "Basic" ? "The Bezier" : skin);
if (!Util.AppConfig_ExistItem("ShowTgwz"))
Util.AppConfig_AddItem("ShowTgwz", "0");
Util.AppConfig_ModifyItem("ShowTgwz", "1");
if (!Util.AppConfig_ExistItem("StartDy"))
Util.AppConfig_AddItem("StartDy", "0");
Util.AppConfig_ModifyItem("StartDy", "1");
if (!Util.AppConfig_ExistItem("BlackUserTime"))
Util.AppConfig_AddItem("BlackUserTime", " ");
#region
if (!Util.AppConfig_ExistItem("Nav"))
Util.AppConfig_AddItem("Nav", "");
var navConfig = Util.AppConfig_GetValue("Nav");
if (!string.IsNullOrWhiteSpace(navConfig))
{
try
{
var jsonData = PackTool.DecompressString(navConfig);
var treeList = JsonConvert.DeserializeObject<List<NavTree>>(jsonData);
var indexList = treeList.GroupBy(f => f.index).Select(f => f.Key).ToList();
for (int i = 0; i < indexList.Count; i++)
{
var tree = treeList.FirstOrDefault(f => f.ceng == 1 && f.index == i);
if (tree != null)
{
if (i == 0)
{
if (!tree.check)
ribbonPage1.Visible = false;
else
SetShow(treeList, i);
}
else if (i == 1)
{
if (!tree.check)
ribbonPage2.Visible = false;
else
SetShow(treeList, i);
}
else if (i == 2)
{
if (!tree.check)
ribbonPage3.Visible = false;
else
SetShow(treeList, i);
}
else if (i == 3)
{
if (!tree.check)
ribbonPage4.Visible = false;
else
SetShow(treeList, i);
}
else if (i == 4)
{
var t2List = treeList.Where(f => f.ceng == 2 && f.index == i && f.check).Select(f => f.name).ToList();
ApiClient.ShowPluginList = t2List;
}
}
}
}
catch (Exception)
{ }
}
#endregion
//if (!Util.AppConfig_ExistItem("WphNav"))
// Util.AppConfig_AddItem("WphNav", "0");
this.Text = GrantClient.Get().About["title"].ToString();
this.notify_pallet.Text = this.Text;
Loding.ShowWaitForm();
var result = ApiClient.Initialization();
//ChatMemberHandleEvent.FindChatObject += ChatMemberHandleEvent_FindChatObject;
//ChatMemberHandleEvent.UpdateChatFriends += ChatMemberHandleEvent_UpdateChatFriends;
//ChatMemberHandleEvent.UpdateChatGroupMembers += ChatMemberHandleEvent_UpdateChatGroupMembers;
if (!result) Program.Exit();
AlimamaApi.Init();
Loding.CloseWaitForm();
//btn_home_manage.Visibility = BarItemVisibility.Never;
ItemClick(btn_home_manage, null);//显示首页
ItemClick(btn_log_manage, null);//显示日志
try
{
ApiClient.SocketInitialization();
}
catch (Exception ex)
{
ShowErrorAutoClose(ex, 10000);
}
//TODO 禁用抖音禁用
var StartDy = Util.AppConfig_GetValue("StartDy");
if (StartDy == "1")
{
barButtonItem_douyin.Enabled = barButtonItem99.Enabled = barButtonItem100.Enabled = true;
ItemClick(barButtonItem_douyin, null);
}
var session = ApiClient.GetSession();
Thread.Sleep(200);
this.Icon = Program.ReadICO();
this.notify_pallet.Icon = this.Icon;
EventClient.MethodEvent += EventClient_MethodEvent;
MainEvent.CommonEvents += Main_CommonEvents;
this.Disposed += Control_Disposed;
ReadNote(false);
barStaticItem12.Caption = "专业版V" + ApiClient.CurVersion;
this.xtraTabControl1.SelectedTabPageIndex = 0;
RefreshAccount();
ChatClient.MessFrequentSleepTime = ApiClient.Setting.SystemConfig.mess_frequent_sleep_time;
//ChatClient.QQPool.LoginChangeEvent += QQPool_LoginChangeEvent;
ChatClient.Events.WXRefreshUserEvent += Events_WXRefreshUserEvent;
ChatClient.Events.WXChangeStatusEvent += Events_WXChangeStatusEvent;
ChatClient.QQEvents.QQRefreshUserEvent += Events_QQRefreshUserEvent;
ChatClient.QQEvents.LoginChangeEvent += QQEvents_LoginChangeEvent;
EventClient.SharedEvent += EventClient_SharedEvent;
UpdTime();
//new Utils();
EventClient.OnEvent(this, MethodType.);
#region
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(main));
this.barButtonItem9.ImageOptions.Image = (System.Drawing.Image)(resources.GetObject("barButtonItem10.ImageOptions.Image"));
this.barButtonItem9.ImageOptions.LargeImage = global::FLSystem.Properties.Resources.__4_;
this.barButtonItem9.Caption = "停止接收";
if (ApiClient.Setting.SystemConfig.message_warning_switch)
{
this.barButtonItem93.Caption = "关闭【双12】模式";
this.barButtonItem93.ImageOptions.Image = (System.Drawing.Image)(resources.GetObject("barButtonItem93.ImageOptions.Image"));
this.barButtonItem93.ImageOptions.LargeImage = (System.Drawing.Image)(resources.GetObject("barButtonItem93.ImageOptions.LargeImage"));
}
else
{
this.barButtonItem93.Caption = "开启【双12】模式";
this.barButtonItem93.ImageOptions.Image = ((System.Drawing.Image)(resources.GetObject("barButtonItem94.ImageOptions.Image")));
this.barButtonItem93.ImageOptions.LargeImage = ((System.Drawing.Image)(resources.GetObject("barButtonItem94.ImageOptions.LargeImage")));
}
#endregion
#region ipad协议出现remark为PCWechat Hook的情况,
var _robots = session.FindRobots().Where(f => f.type == ChatType. && f.remark == "PCWechat HOOK" && f.token.StartsWith(@"{""data"":"));
foreach (var item in _robots)
{
item.remark = string.Empty;
session.SaveOrUpdate(item);
}
#endregion
var WxRobots = session.FindRobots(true).Where(f => f.is_login && f.type == ChatType. && f.remark != "PCWechat HOOK").ToList();
TaskTool tasks = new TaskTool();
if (WxRobots.Count != 0)
{
if (BaseForm.ShowSuccessAutoClose(@"对不起,由于近期个别微信有出现封号!
为了您的账号安全,暂时不提供协议登陆!
请下载【易转发-微信官方客户端】登陆,保障您的账号安全!
-------------
下载地址已复制到剪切板,请粘贴到浏览器下载
-------------
注意:如果您执意要通过协议登陆,请点击确定!!!", new DialogResult[] { DialogResult.OK, DialogResult.Cancel }, 0) == DialogResult.OK)
{
if (string.IsNullOrWhiteSpace(ApiClient.Setting.SystemConfig.pay_wechat_hostSign))
{
BaseForm.ShowSuccessAutoClose($@"温馨提示:微信协议用户,如遇微信红包支付异常,请联系客服使用商户支付", 10 * 1000, "友情提示");
}
foreach (var item in WxRobots)
{
var _item = item;
tasks.AddTask(delegate ()
{
try
{
EventClient.OnEvent(this, $"正在自动微信->{_item.nick}({item.name})...");
var flag = ChatClient.LoginWeixin(_item.name, _item.token);
}
catch (Exception ex)
{
EventClient.OnEvent(this, $"登录微信->{_item.nick}({item.name})异常:{ex.Message}");
}
});
}
}
else
{
try
{
Clipboard.SetDataObject(Resources. + "?=" + new Random().Next(100, 2000));
}
catch (Exception ex)
{ }
}
}
var QQRobots = session.FindRobots(true).Where(f => f.is_login && f.type == ChatType.QQ).ToList();
if (QQRobots != null && QQRobots.Count != 0)
{
foreach (var item in QQRobots)
{
var QQRobot = item;
tasks.AddTask(delegate ()
{
try
{
EventClient.OnEvent(this, $"正在自动QQ->{QQRobot.nick}({QQRobot.name})...");
if (!string.IsNullOrWhiteSpace(QQRobot.token))
{
var dic = HttpExtend.JsonToDictionary(Encoding.UTF8.GetString(HttpExtend.HexToByte(QQRobot.token)));
if (dic != null)
{
if (dic.ContainsKey("QQ"))
{
var QQ = dic["QQ"]?.ToString();
if (!string.IsNullOrWhiteSpace(QQ) && dic.ContainsKey("Password"))
{
var Password = dic["Password"]?.ToString();
var qq = uint.Parse(QQ);
if (ChatClient.QQClients.ContainsKey(QQ))
{
var qBase = ChatClient.QQClients[QQ];
qBase.Login();
}
else
{
//QQ自动登录
var IsEQQ = false;
if (!string.IsNullOrWhiteSpace(Password) && dic.ContainsKey("IsEQQ"))
IsEQQ = (dic["IsEQQ"].ToString().ToLower() == "true");
var qqClient = ChatClient.LoginQQ(QQ, Password);
}
}
}
}
}
}
catch (Exception ex)
{
EventClient.OnEvent(this, $"登录QQ->{QQRobot.nick}({QQRobot.name})异常:{ex.Message},{ex.StackTrace}");
}
});
Thread.Sleep(500);
}
}
tasks.Start(30, AsyncCallbackMethod);
EventClient.OnEvent(this, MethodType.);
ChatClient.WXSdkConfig.IsDebug = false;
ChatClient.WXSdkConfig.MsgConvertToFriend = ApiClient.Setting.SystemConfig.msg_wx_convertswich == SwitchType. ? true : false;
isLodingOk = true;
kh = new KeyboardHook();
kh.SetHook();
kh.OnKeyDownEvent += kh_OnKeyDownEvent;
System.Timers.Timer timerLok = new System.Timers.Timer();
timerLok.Elapsed += timer_lockForm_Tick;
timerLok.Interval = 5 * 60000;//测试1分钟锁屏
timerLok.Start();
#region xxx
//TODO 禁用抖音禁用
//if (StartDy == "1")
//{
// TaskTool tasks_douyin = new TaskTool();
// var douyinMember = CpsClient.Members.Where(f => f.cpstype == CpsType.抖音联盟 /*&& f.is_download == SwitchType.开启*/).ToList();
// if (douyinMember != null && douyinMember.Count != 0)
// {
//抖音单登版本EO
//if (douyinMember.Count > 1)
//{
// for (int i = 1; i < douyinMember.Count; i++)
// {
// session.Delete(douyinMember[i]);
// CpsClient.Members.Remove(douyinMember[i]);
// }
//}
//抖音多版本EO
//foreach (var item in douyinMember)
//{
// var _item = item;
// try
// {
// _item.is_valid = true;
// _item.online = false;
// EventClient.OnEvent(this, $"激活抖音->{_item.usernick}({item.username})...");
// var api = CpsClient.CreateDouyinRequest(_item);
// var form = new douyin_form_login1();
// DouyinApi.douyinApiAction?.Invoke(api);
// form.Show();
// //抖音隐藏
// if (ApiClient.Setting.SystemConfig.hidedy && !string.IsNullOrWhiteSpace(api.Member.username))
// form.Hide();
// }
// catch (Exception ex)
// {
// EventClient.OnEvent(this, $"激活抖音->{_item.usernick}({item.username})异常:{ex.Message}");
// }
// Thread.Sleep(500);
//}
// }
//}
#endregion
#region
//var wphCount = CpsClient.Members.Count(f => f.cpstype == CpsType.唯品联盟);
//var robots = session.FindRobots();
////if (wphCount == 0 && (WphNav == null || WphNav == "0"))
//if (wphCount == 0 && robots != null && robots.Count != 0)
//{
// if (!Util.AppConfig_ExistItem("ShowWphAd"))
// Util.AppConfig_AddItem("ShowWphAd", "1");
// var ShowWphAd = Util.AppConfig_GetValue("ShowWphAd");
// if (ShowWphAd == "1")
// {
// Thread th = new Thread(delegate ()
// {
// Thread.Sleep(5000);
// try
// {
// var Rst = MessageBox.Show("请尽快设置唯品会联盟,目前唯品会高消费年轻人群剧增,是否立即设置?", "询问", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
// if (Rst != DialogResult.Yes)
// {
// Rst = MessageBox.Show("唯品会设置只需要1分钟,您确定要放弃吗?(≈1个亿)", "询问", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
// if (Rst == DialogResult.Yes)
// {
// Util.AppConfig_ModifyItem("ShowWphAd", "0");
// return;
// }
// }
// Rst = MessageBox.Show("您是否已经有唯品会账号,点击Yes登录唯品会,点击No注册唯品会", "询问", MessageBoxButtons.YesNo);
// if (Rst == DialogResult.No)
// {
// var form = new WphRegisterForm();
// form.ShowDialog();
// }
// //登录唯品会
// var cps_member = LoginCps(CpsType.唯品联盟);
// if (cps_member == null)
// //throw new Exception("唯品会cps对象为空,可能登录异常");
// return;
// //打开唯品会插件
// if (PluginClient.Plugins != null)
// {
// var plugin = PluginClient.Plugins.FirstOrDefault(f => f.Name == "唯品会返利");
// if (plugin != null)
// {
// PluginClient.UnInstall(plugin);
// Thread.Sleep(200);
// PluginClient.Install(plugin);
// }
// }
// //创建推广位,判断是否有推广位,没有推广位创建一个推广位,有推广位,给没有设置推广位的机器人设置推广位
// #region 获取唯品会推广位
// var api = CpsClient.CreateWeipinhuiRequest(cps_member);
// var pidResult = WeipinhuiApi.GetWphTgw(api);
// if (result != null)
// {
// //推广位为空,创建推广位
// if (pidResult.total == 0)
// WeipinhuiApi.CreateWphTgw(api);
// pidResult = WeipinhuiApi.GetWphTgw(api);
// if (pidResult != null && pidResult.pidInfoList != null && pidResult.total != 0)
// {
// var tmp = pidResult.pidInfoList[0];
// if (tmp != null)
// {
// var tgw = new Tuiguangwei()
// {
// Member = cps_member,
// Name = tmp.pidName,
// Pid = tmp.pid
// };
// // 设置推广位
// var robotList = session.FindRobots();
// foreach (var robot in robotList)
// {
// setWphTgw((int)robot.id, tgw);
// }
// }
// }
// }
// #endregion
// }
// catch (Exception ex)
// {
// EventClient.OnEvent("引导设置唯品会异常", $"{ex.Message} - {ex.StackTrace}");
// }
// finally
// {
// ////监听刷新
// //PluginClient.LodingPlugin();
// }
// //1.搞个唯品会注册页
// //2.打开联盟登录页,自动登录后关闭窗口即可
// //3.自动启用唯品会插件,并设置好推广位
// //var form = new WPHNavForm();
// //if (form.ShowDialog() == DialogResult.OK)
// //{
// // //下次检测到唯品会未登录是否提示
// // Util.AppConfig_ModifyItem("WphNav", form.isIgnore ? "1" : "0");
// //}
// });
// th.ApartmentState = ApartmentState.STA; //属性设置成单线程
// th.IsBackground = true;
// th.Start();
// }
//}
//else
//{
// if (!Util.AppConfig_ExistItem("ShowWphAd"))
// Util.AppConfig_AddItem("ShowWphAd", "0");
// else
// Util.AppConfig_ModifyItem("ShowWphAd", "0");
//}
#endregion
//#region MyRegion
//var ss = Util.Read<Dictionary<string, object>>("插件-积分管理-配置");
//var ssss = Newtonsoft.Json.JsonConvert.SerializeObject(ss);
//var fff = ssss.Contains("ExchangeCommercialPayTip_MiniApp");
//#endregion
System.Timers.Timer timer = new System.Timers.Timer();
timer.Elapsed += Timer_Elapsed;
timer.Interval = 60 * 60 * 1000;
//timer.Interval = 1000 * 10;
timer.Start();
//下载黑名单
timerBlackUser = new System.Timers.Timer(1000);
timerBlackUser.Elapsed += Timer_ElapsedBlackUser;
timer.Interval = 1000;
timerBlackUser.Start();
}
catch (Exception ex)
{
try { Loding.CloseWaitForm(); } catch (Exception) { }
if (ex.Message.Contains("连接数据库过程中发生错误"))
ShowError(@"连接数据库过程中发生错误
检查服务器是否正常连接字符串是否正确");
else
ShowError(ex.Message + "\r\n" + ex.StackTrace);
Program.Exit();
}
finally
{
ItemClick(barButtonItem6, null);
//监听刷新
//PluginClient.LodingPlugin();
this.WindowState = FormWindowState.Normal;
Task.Run(() =>
{
Thread.Sleep(1000 * 60);
CheckSystemEventsHandlersForFreeze();
});
}
}
private static void CheckSystemEventsHandlersForFreeze()
{
try
{
var handlers = typeof(SystemEvents).GetField("_handlers", BindingFlags.NonPublic | BindingFlags.Static).GetValue(null);
var handlersValues = handlers.GetType().GetProperty("Values").GetValue(handlers);
foreach (var invokeInfos in (handlersValues as IEnumerable).OfType<object>().ToArray())
foreach (var invokeInfo in (invokeInfos as IEnumerable).OfType<object>().ToArray())
{
try
{
var syncContext = invokeInfo.GetType().GetField("_syncContext", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(invokeInfo);
if (syncContext == null) throw new Exception("syncContext missing");
if (!(syncContext is WindowsFormsSynchronizationContext)) continue;
var threadRef = (WeakReference)syncContext.GetType().GetField("destinationThreadRef", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(syncContext);
if (!threadRef.IsAlive) continue;
var thread = (Thread)threadRef.Target;
if (thread.ManagedThreadId == 1) continue; // Change here if you have more valid UI threads to ignore
var dlg = (Delegate)invokeInfo.GetType().GetField("_delegate", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(invokeInfo);
SetLog($"SystemEvents handler '{dlg.Method.DeclaringType}.{dlg.Method.Name}' could freeze app due to wrong thread: "
+ $"{thread.ManagedThreadId},{thread.IsThreadPoolThread},{thread.IsAlive},{thread.Name}");
}
catch (Exception e)
{
SetLog(e.ToString() + "线程BB");
}
}
}
catch (Exception e)
{
SetLog(e.ToString() + "线程AA");
}
}
private static void SetLog(string log)
{
var filename = HttpExtend.MapFile($"{DateTime.Now.ToString("yyyy-MM-dd HH")}.log", "Cache\\Ka");
#region
//创建或打开日志文件,向日志文件末尾追加记录
//StreamWriter mySw = File.AppendText(filename);
//向日志文件写入内容
//string writeContent = time + "|" + typeGrade + ":" + type + "|" + className + ":" + content;
//mySw.WriteLine(writeContent);
//关闭日志文件
//mySw.Close();
#endregion
//(优化写法)创建或打开日志文件,向日志文件末尾追加记录,关闭日志文件
using (StreamWriter mySw = File.AppendText(filename))
{
string writeContent = $@"{DateTime.Now.ToString("HH:mm:ss")} => {log}
";
mySw.WriteLine(writeContent);//向日志文件写入内容
mySw.Close(); //关闭日志文件
}
}
private void Default_ThemeChanged(object sender, EventArgs e)
{
//EventClient.OnEvent("", $"{JsonConvert.SerializeObject(sender)} - {JsonConvert.SerializeObject(e)}");
}
private void EventClient_SharedEvent(object sender, SharedEvents e)
{
Task.Run(() =>
{
try
{
//shared["msg_type"] = "抖音验证码";
//shared["cps_type"] = CpsType.抖音联盟;
//shared["msg_username"] = api.Member.username;
if (!e.Shareds.ContainsKey("msg_type") && e.Shareds["msg_type"]?.ToString() == "抖音验证码")
return;
var cps = HttpExtend.ConvertEnum<CpsType>(e.Shareds["cps_type"].ToString());
var username = e.Shareds["msg_username"].ToString();
var usernick = e.Shareds["msg_usernick"].ToString();
ApiClient.SendNoticeMessage($@"【抖音重要通知】
账号:{usernick}({username})
通知:请滑动验证码,否则部分订单无法同步!");
var verify = new douyin_verify(username);
verify.ShowDialog();
}
catch (Exception ex)
{
EventClient.OnEvent("", $"异常:{ex.Message}");
}
});
}
/// <summary>
/// 设置唯品会推广位
/// </summary>
/// <param name="robotid"></param>
/// <param name="tgw"></param>
private void setWphTgw(int robotid, Tuiguangwei tgw)
{
try
{
var session = ApiClient.GetSession();
var adzones = session.FindAdzoneInfos(true).Where(f => f.alliance_id == (int)CpsType. && f.custom_type == Resources.SoftwareType && f.robot_id == robotid).ToList();
//var pidName = e.Column.FieldName == "pid_chief_name" ? "chief" : "deputy";
//var adzone = adzones.FirstOrDefault(f => f.extend == pidName);
#region 广(/),()
if (adzones != null && adzones.Count < 2)
{
var pidNames = new string[] { "chief", "deputy" };
for (int i = 0; i < pidNames.Length; i++)
{
#region ,
var repetAdzone = adzones.Where(f => f.extend == pidNames[i]).ToList();
if (repetAdzone.Count > 1)
{
for (int z = 1; z <= repetAdzone.Count - 1; z++)
{
session.Deleteable(repetAdzone[z]).ExecuteCommand();
}
adzones = session.FindAdzoneInfos(true).Where(f => f.alliance_id == (int)CpsType. && f.custom_type == Resources.SoftwareType && f.robot_id == robotid).ToList();
}
#endregion
var adzone = adzones.FirstOrDefault(f => f.extend == pidNames[i]);
if (adzone == null)
{
adzones = new List<fl_adzone_info>();
foreach (var item in pidNames)
{
var adzoneInfo = CreateAdzoneInfo(tgw.Name, tgw.Pid, tgw.Member.username, robotid, item);
session.SaveOrUpdate(adzoneInfo);
adzones.Add(adzoneInfo);
}
}
}
}
#endregion
session.FindAdzoneInfos(true);
session.FindWeipinhuiAutoBindPid(true);//刷新推广位
}
catch (Exception ex)
{ }
}
/// <summary>
/// 创建fl_adzone_info对象
/// </summary>
/// <param name="adzone_name"></param>
/// <param name="adzone_pid"></param>
/// <param name="adzone_pid_cps_name"></param>
/// <param name="rid"></param>
/// <param name="item"></param>
/// <returns></returns>
private fl_adzone_info CreateAdzoneInfo(string adzone_name, string adzone_pid, string adzone_pid_cps_name, int rid, string item, bool onoff = false)
{
return new fl_adzone_info()
{
custom_type = Resources.WPHSoftwareType, //自定义类型
adzone_name = adzone_name, //推广位名称
adzone_pid = adzone_pid, //推广位pid
adzone_pid_cps_name = adzone_pid_cps_name, //推广位cps名称
alliance_id = (int)CpsType., //联盟id
robot_id = rid, //机器人id
group_id = string.Empty, //群id
member_id = 0, //私人id
is_download = false, //不下载
onoff = onoff, //不禁用
extend = item
};
}
void timer_lockForm_Tick(object sender, EventArgs e)
{
if (ApiClient.Setting.SystemConfig.is_lock_main == SwitchType.)
{
if (!lockState)
{
lockState = true;
this.Hide();
LockForm form = new LockForm(this.Size);
form.ShowDialog();
this.Show();
lockState = false;
}
}
}
private void kh_OnKeyDownEvent(object sender, KeyEventArgs e)
{
if (e.KeyData == (Keys.S | Keys.Alt)) { this.Show(); }//Alt+S显示窗口
if (e.KeyData == (Keys.H | Keys.Alt)) { this.Hide(); }//Alt+H隐藏窗口
}
private void Control_Disposed(object sender, EventArgs e)
{
MainEvent.CommonEvents -= Main_CommonEvents;
}
private void Main_CommonEvents(object sender, CommonEvents e)
{
try
{
if (e.Commons == null) return;
if (e.Commons.ContainsKey("cps_type") && e.Commons.ContainsKey("username"))
{
var cps = (CpsType)int.Parse(e.Commons["cps_type"].ToString());
var username = e.Commons["username"].ToString();
var buttonItem = new BarButtonItem();
switch (cps)
{
case CpsType.:
buttonItem.Caption = "阿里妈妈订单管理";
buttonItem.ImageOptions.Image = global::FLSystem.Properties.Resources._20;
buttonItem.ImageOptions.LargeImage = global::FLSystem.Properties.Resources.__2_;
break;
case CpsType.:
buttonItem.Caption = "拼多多订单管理";
buttonItem.ImageOptions.Image = global::FLSystem.Properties.Resources._20;
buttonItem.ImageOptions.LargeImage = global::FLSystem.Properties.Resources.__4_;
break;
case CpsType.:
buttonItem.Caption = "京东订单管理";
buttonItem.ImageOptions.Image = global::FLSystem.Properties.Resources._20;
buttonItem.ImageOptions.LargeImage = global::FLSystem.Properties.Resources._20;
break;
case CpsType.:
buttonItem.Caption = "唯品会订单管理";
buttonItem.ImageOptions.Image = global::FLSystem.Properties.Resources.12;
buttonItem.ImageOptions.LargeImage = global::FLSystem.Properties.Resources.12;
break;
case CpsType.:
buttonItem.Caption = "抖音订单管理";
buttonItem.ImageOptions.Image = global::FLSystem.Properties.Resources.;
buttonItem.ImageOptions.LargeImage = global::FLSystem.Properties.Resources.;
break;
case CpsType.:
buttonItem.Caption = "苏宁易购订单管理";
buttonItem.ImageOptions.Image = global::FLSystem.Properties.Resources.;
buttonItem.ImageOptions.LargeImage = global::FLSystem.Properties.Resources.;
break;
case CpsType.:
buttonItem.Caption = "快手订单管理";
buttonItem.ImageOptions.Image = global::FLSystem.Properties.Resources.;
buttonItem.ImageOptions.LargeImage = global::FLSystem.Properties.Resources.;
break;
default:
break;
}
buttonItem.Tag = new { username = username };
ItemClick(buttonItem, null);
}
else if (e.Commons.ContainsKey("control_name") && e.Commons.ContainsKey("username"))
{
var control_name = e.Commons["control_name"].ToString();
var username = e.Commons["username"].ToString();
if (control_name == "查看用户信息")
{
var buttonItem = new BarButtonItem();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(main));
buttonItem.Caption = "用户管理";
buttonItem.ImageOptions.Image = ((Image)(resources.GetObject("barButtonItem43.ImageOptions.Image")));
buttonItem.ImageOptions.LargeImage = ((Image)(resources.GetObject("barButtonItem43.ImageOptions.LargeImage")));
buttonItem.Tag = new { username = username };
ItemClick(buttonItem, null);
}
else if (control_name == "提现管理")
{
var buttonItem = new BarButtonItem();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(main));
buttonItem.Caption = "提现管理";
buttonItem.ImageOptions.Image = ((Image)(resources.GetObject("barButtonItem76.ImageOptions.Image")));
buttonItem.ImageOptions.LargeImage = ((Image)(resources.GetObject("barButtonItem76.ImageOptions.LargeImage")));
buttonItem.Tag = new { username = username, query_type = e.Commons["query_type"].ToString() };
ItemClick(buttonItem, null);
}
}
else if (e.Commons.ContainsKey("type") && e.Commons.ContainsKey("trade_parent_id"))
{
var type = e.Commons["type"].ToString();
if (type == "阿里妈妈维权订单")
{
var trade_parent_id = e.Commons["trade_parent_id"].ToString();
var buttonItem = new BarButtonItem();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(main));
buttonItem.Caption = "阿里妈妈维权订单管理";
buttonItem.ImageOptions.Image = global::FLSystem.Properties.Resources._20;
buttonItem.ImageOptions.LargeImage = global::FLSystem.Properties.Resources.__2_;
buttonItem.Tag = new { username = trade_parent_id };
ItemClick(buttonItem, null);
}
}
}
catch (Exception ex)
{
ShowError(ex);
}
}
/// <summary>
/// 刷新用户信息
/// </summary>
/// <param name="client"></param>
private void Events_QQRefreshUserEvent(QQBase client)
{
try
{
lock (lock_obj)
{
var robot = client;
var session = ApiClient.GetSession();
var user = session.FindRobotInfo(client.QQ.ToString(), ChatType.QQ, true);
if (user == null)
{
user = new fl_robot_info()
{
name = client.QQ.ToString(),
type = ChatType.QQ
};
}
user.uin = client.QQ.ToString();
user.is_login = client.IsLogin;
user.nick = client.Nickname;
var token = client.ToString();
if (!string.IsNullOrWhiteSpace(token))
user.token = token;
if (user.is_login)
{
var custm = Grant.Framework.GrantClient.Get().FindCostomer(client.QQ.ToString(), 1002);
if (custm != null)
user.end_time = custm.endTime;
else
{
if (string.IsNullOrWhiteSpace(user.end_time))
user.end_time = DateTime.Now.AddMinutes(-1).ToString("yyyy/MM/dd HH:mm:ss");
}
}
bool isinsert = user.id == 0 ? true : false;
session.SaveOrUpdate(user);
if (isinsert)
{
try
{
var result = UserRobotUpLoad.CustomerLink_UpLoadRobot(new List<UserRobotUpLoad.CustomerRobotInput>()
{
new UserRobotUpLoad.CustomerRobotInput()
{
HeadUrl = string.Empty,
NickName = user.nick,
Remark = user.remark,
RobotType = UserRobotUpLoad.ConvertRobotType(user.type),
UserName = user.name
}
});
}
catch (Exception e)
{ }
EventClient.OnEvent(this, MethodType.);
}
}
}
catch { }
}
private void Events_QQRefreshUserEvent(object sender, QQRefreshUser e)
{
if (e.QQBase != null && e.QQBase.QQ != 0) { Events_QQRefreshUserEvent(e.QQBase); }
}
private void QQEvents_LoginChangeEvent(object sender, QQLoginChangeEvents e)
{
try
{
if (e.QQBase != null && e.QQBase.QQ != 0)
{
Events_QQRefreshUserEvent(e.QQBase);
var client = e.QQBase;
//离线通知
if (!string.IsNullOrWhiteSpace(ApiClient.Setting.SystemConfig.notice_robotname))
{
if (!e.IsLogin)
{
var session = ApiClient.GetSession();
var robot = session.FindRobotInfo(client.QQ.ToString(), ChatType.QQ, true);
if (robot == null)
robot = session.FindRobotInfo(client.QQ.ToString(), ChatType.QQ, true);
if (robot != null && robot.off_line_tip == SwitchType.)
{
string msg = $"离线通知\n————\nQQ账号{client.QQ}\nQQ昵称{client.Nickname}\n当前状态{(e.IsLogin ? "线" : "线")}\n系统时间{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}";
ApiClient.SendNoticeMessage(msg);
ApiClient.SendAdminEmail(ApiClient.Setting.SystemConfig.account_admin_email, "机器人离线通知", msg, true);
}
}
}
}
}
catch { }
}
private void Events_WXChangeStatusEvent(object sender, Chat.Framework.WXSdk.Events.WXChangeStatus e)
{
try
{
if (e.Client != null && e.Client.User != null && e.Client.User.Uin != 0)
{
Events_WXRefreshUserEvent(e.Client);
var client = e.Client;
//离线通知
if (!string.IsNullOrWhiteSpace(ApiClient.Setting.SystemConfig.notice_robotname))
{
if (client.Status == WxStatus.线 || client.Status == WxStatus.退)
{
var session = ApiClient.GetSession();
var robot = session.FindRobotInfo(client.WeixinHao, ChatType., true);
if (robot == null)
robot = session.FindRobotInfo(client.WeixinHao, ChatType., true);
if (robot != null && robot.off_line_tip == SwitchType.)
{
string msg = $"离线通知\n————\n微信账号{client.WeixinHao}\n微信昵称{client.User.Nick}\n当前状态{client.Status}\n系统时间{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}";
ApiClient.SendNoticeMessage(msg);
ApiClient.SendAdminEmail(ApiClient.Setting.SystemConfig.account_admin_email, "机器人离线通知", msg, true);
}
}
}
}
}
catch { }
}
private bool isLodingOk = false;
/// <summary>
/// 账号信息赋值
/// </summary>
private void RefreshAccount()
{
var account = Grant.Framework.GrantClient.Get().accounts;
barButtonItem53.Caption = account.username;
barStaticItem5.Caption = Math.Round(account.point / 100.00, 2).ToString("0.00") + " 元";
barStaticItem8.Caption = Math.Round(account.sumPoint / 100.00, 2).ToString("0.00") + " 元";
}
private void AsyncCallbackMethod(IAsyncResult ar)
{
EventClient.OnEvent(this, $"自动登录线程已完成!");
}
private object lock_obj = new object();
/// <summary>
/// 刷新用户信息
/// </summary>
/// <param name="client"></param>
private void Events_WXRefreshUserEvent(Chat.Framework.WXSdk.Implement.WeixinBase client)
{
try
{
lock (lock_obj)
{
var robot = client;
var session = ApiClient.GetSession();
var ctype = robot.WeixinType == WeixinType.QYHook微信 ? ChatType. : ChatType.;
var user = session.FindRobotInfo(robot.WeixinHao, ctype, true);
if (user == null)
{
user = new fl_robot_info()
{
name = client.WeixinHao,
type = ctype
};
}
user.uin = client.User.Uin.ToString();
user.is_login = client.Status == Chat.Framework.WXSdk.WxStatus.线 ? true : false;
user.nick = client.User.Nick;
if (client.WeixinType == WeixinType.Grpc微信)
user.token = client.ToString();
if (user.is_login)
{
var custm = Grant.Framework.GrantClient.Get().FindCostomer(client.User.Uin.ToString(), 1001);
if (custm != null)
user.end_time = custm.endTime;
var ipad = client as Chat.Framework.WXSdk.Implement.WXClientImpl_IPAD;
if (ipad != null)
{
var device = session.Queryable<fl_wechat_device>().Where(f => f.weixinhao == user.name).Single();
if (device == null) device = new fl_wechat_device() { weixinhao = client.WeixinHao };
device.device_info = ipad.DeviceId;
session.Saveable<fl_wechat_device>(device).ExecuteCommand();
}
}
bool isinsert = user.id == 0 ? true : false;
session.SaveOrUpdate(user);
if (isinsert)
{
try
{
var result = UserRobotUpLoad.CustomerLink_UpLoadRobot(new List<UserRobotUpLoad.CustomerRobotInput>()
{
new UserRobotUpLoad.CustomerRobotInput()
{
HeadUrl = string.Empty,
NickName = user.nick,
Remark = user.remark,
RobotType = UserRobotUpLoad.ConvertRobotType(user.type),
UserName = user.name
}
});
}
catch (Exception e)
{ }
EventClient.OnEvent(this, MethodType.);
}
}
}
catch { }
}
private void Events_WXRefreshUserEvent(object sender, Chat.Framework.WXSdk.Events.WXRefreshUser e)
{
if (e.Client != null && e.Client.User != null && e.Client.User.Uin != 0) { Events_WXRefreshUserEvent(e.Client); }
}
private object MethodEventLock = new object();
/// <summary>
///
/// </summary>
private void EventClient_MethodEvent(object sender, MethodType e)
{
this.Invoke(new Action(delegate
{
try
{
lock (MethodEventLock)
{
switch (e)
{
case MethodType.:
var page = this.xtraTabControl1.TabPages.FirstOrDefault(f => f.Text == "应用功能");
if (page != null)
{
foreach (Control item in page.Controls)
{
item.Dispose();
}
page.Controls.Clear();
var list = PluginClient.Plugins.ToArray();
foreach (Plugin item in list)
{
page.AddContral(new plugin_control(item));
}
page.AutoScroll = true;
}
break;
}
}
}
catch (Exception ex)
{
ShowError(ex);
}
}));
}
//销毁选项夹
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)
{
ShowError(ex);
}
}
//增加选项夹
private void AddControlPage(string pageName, Control control, Image img = null)
{
try
{
//增加tabpage
XtraTabPage xpage = new XtraTabPage();
xpage.Name = pageName;
xpage.Text = pageName;
if (img != null)
xpage.ImageOptions.Image = img;
//if (xpage.Text == "运行日志" || xpage.Text == "抖音活跃列表" || xpage.Text == "首页公告")
if (xpage.Text == "运行日志" || xpage.Text == "首页公告")
xpage.ShowCloseButton = DevExpress.Utils.DefaultBoolean.False;
control.Dock = DockStyle.Fill;
xpage.Controls.Add(control);//添加要增加的控件
xtraTabControl1.TabPages.Add(xpage);
xtraTabControl1.SelectedTabPage = xpage;//显示该页
}
catch (Exception ex)
{
XtraMessageBox.Show(ex.Message, "AddControlPage Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
//添加Control
private void ItemClick(object sender, ItemClickEventArgs e)
{
BarItem btn = sender as BarItem;
if (btn == null) btn = e.Item;
var cha = ApiClient.Cache;
var username = string.Empty;
var query_type = string.Empty;
if (btn.Tag != null)
{
var usernameProperty = btn.Tag.GetType().GetProperty("username");
if (usernameProperty != null)
username = usernameProperty.GetValue(btn.Tag).ToString();
var query_typeProperty = btn.Tag.GetType().GetProperty("query_type");
if (query_typeProperty != null)
query_type = query_typeProperty.GetValue(btn.Tag).ToString();
}
//判断是否已创建过
foreach (XtraTabPage page in xtraTabControl1.TabPages)
{
if (page.Text == btn.Caption)
{
xtraTabControl1.SelectedTabPage = page;//显示该页
return;
}
}
try
{
Loding.ShowWaitForm();
}
catch (Exception)
{
ShowError("当前有正在加载的数据,请稍后重试!");
return;
}
Image img = null;
try
{
img = PickBox.ResizeImage(btn.ImageOptions.LargeImage == null ? btn.ImageOptions.Image : btn.ImageOptions.LargeImage, new Size(22, 22));
Control control = null;
switch (btn.Caption)
{
case "首页公告":
{
control = new home_control();
break;
}
case "群通知机器人":
{
control = new notice_robotapi_control();
break;
}
case "强制结算订单":
{
control = new cps_coerce_alimama();
break;
}
case "机器人管理":
{
control = new robot_manage_control();
break;
}
case "用户管理":
{
control = new member_manage_control(username);
break;
}
case "群负责人":
{
control = new group_manage_control();
break;
}
case "开发调试":
{
control = new plugin_debug();
break;
}
case "查询商品记录":
{
control = new item_query_hist_control();
break;
}
case "应用功能":
{
_EnabledControl(false);
control = new plugin_manage();
_EnabledControl();
break;
}
case "联盟管理":
{
control = new cps_manage_control();
break;
}
case "系统设置":
{
var temp = new SettingControl();
temp.Bind(ApiClient.Setting.SystemConfig);
control = temp;
break;
}
case "其他设置":
{
control = new setting_system_control();
break;
}
case "拼多多订单管理":
{
control = new cps_order_pinduoduo(username);
break;
}
case "唯品会订单管理":
{
control = new cps_order_weipinhui(username);
break;
}
case "阿里妈妈订单管理":
{
control = new cps_order_alimama(username);
break;
}
case "阿里妈妈维权订单管理":
{
control = new cps_order_refund_alimama(username);
break;
}
case "京东订单管理":
{
control = new cps_order_jingdong(username);
break;
}
case "快手订单管理":
{
//TODO 快手
throw new Exception("该功能尚未开发完成,请等待更新!");
control = new cps_order_kuaishou(username);
break;
}
case "抖音订单管理":
{
//TODO 禁用抖音禁用
var StartDy = Util.AppConfig_GetValue("StartDy");
if (StartDy != "1")
throw new Exception("该功能尚未开发完成,请等待更新!");
else
{
control = new cps_order_douyin(username);
break;
}
}
case "苏宁易购订单管理":
{
control = new cps_order_suning(username);
break;
}
case "运行日志":
{
control = new system_log_control();
break;
}
case "抖音活跃列表":
{
//control = new system_douyin_action_control();
//break;
return;
}
case "保存配置":
{
ChatClient.WXSdkConfig.IsDebug = false;
Util.AppConfig_ModifyItem("SkinName", skin_manager.Caption);
if (ApiClient.Setting != null) ApiClient.Setting.Save();
ShowSuccessAutoClose("已保存配置,并应用!");
return;
}
case "淘宝订单尾号":
{
control = new member_order_lastnum();
break;
}
case "数据报表":
{
control = new data_report_control();
break;
}
case "提现管理":
{
control = new point_manage_control(username, query_type);
break;
}
case "手动转链":
{
control = new convert_tool_control();
break;
}
default:
throw new Exception("该功能尚未开发完成,请等待更新!");
}
AddControlPage(btn.Caption, control, img);
}
catch (Exception ex)
{
ShowError(ex, "创建异常");
}
finally
{
Loding.CloseWaitForm();
}
}
//窗口即将关闭
private void main_FormClosing(object sender, FormClosingEventArgs e)
{
try
{
//if (isLodingOk && sender.GetType() != typeof(OnlineUpdate.Client))
if (isLodingOk && e != null)
{
var result = XtraMessageBox.Show("您确定要退出软件吗?", "谨慎操作", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (result != DialogResult.Yes)
{
e.Cancel = true;
return;
}
}
ApiClient.Setting.Save();
var list = ChatClient.WXClient.Values.ToList();
foreach (WeixinBase item in list) Events_WXRefreshUserEvent(item);
this.notify_pallet.Visible = false;
Util.AppConfig_ModifyItem("SkinName", skin_manager.Caption);
if (ApiClient.Setting != null) ApiClient.Setting.Save();
kh.UnHook();
}
catch { }
if (sender != null && e == null)
{
Process.Start("检查更新.exe", "FLSystem.exe");
}
Program.Exit();
}
//UpdateSoft update = null;
//LevelUpdate.UpdateForm update = null;
//检查更新
private void barButtonItem1_ItemClick(object sender, ItemClickEventArgs e)
{
try
{
var LatestData = UpdateClient.GetCloudFileHist();
if (!string.IsNullOrWhiteSpace(LatestData))
{
if (new UpdateForm(LatestData).ShowDialog() == DialogResult.OK)
main_FormClosing(LatestData, null);
}
else MessageBox.Show("暂无新版本!", "检查更新", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{ }
}
//测试SMTP邮件
private void barButtonItem16_ItemClick(object sender, ItemClickEventArgs e)
{
try
{
ApiClient.SendAdminEmail(ApiClient.Setting.SystemConfig.SMTP_User, "测试邮件", "您如果收到此邮件,表示可以正常使用该功能!", false, false);
ShowSuccess("已发送邮件,请注意查收!");
}
catch (Exception ex)
{
ShowError(ex);
}
}
//登录拼多多
private void barButtonItem21_ItemClick(object sender, ItemClickEventArgs e)
{
if (LoginCps(CpsType.) != null) ItemClick(btn_cps_manage, e);
}
private fl_cps_member LoginCps(CpsType type)
{
try
{
var member = CpsClient.Login(type);
if (member != null)
{
EventClient.OnEvent(null, MethodType.);
}
return member;
}
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
// ShowError(ex.Message, "抖音创建异常");
}
return null;
}
private void barButtonItem30_ItemClick(object sender, ItemClickEventArgs e)
{
new plugin_sort_form().ShowDialog();
PluginClient.LodingPlugin();
}
/// <summary>
/// 修改控件客户交互状态 (Enabled)
/// </summary>
/// <param name="flag"></param>
private void _EnabledControl(bool flag = true)
{
barButtonItem29.Enabled = barButtonItem30.Enabled = barButtonItem31.Enabled = barButtonItem6.Enabled = flag;
}
private void barButtonItem29_ItemClick(object sender, ItemClickEventArgs e)
{
//监听刷新
PluginClient.LodingPlugin();
}
private void barButtonItem31_ItemClick(object sender, ItemClickEventArgs e)
{
//监听刷新
PluginClient.LodingPlugin(true);
}
private void barButtonItem25_ItemClick(object sender, ItemClickEventArgs e)
{
if (LoginCps(CpsType.) != null) ItemClick(btn_cps_manage, e);
}
private void simpleButton1_Click(object sender, EventArgs e)
{
var client = ChatClient.WXClient.FirstOrDefault().Value;
var label = client.GetLabelList().First();
//client.AddLabel("Test2");
client.EditUserLabel(new[] { "wxid_8s44kddouuaj21" }, new System.Collections.Generic.List<Chat.Framework.WXSdk.Implement.Lable>() { label });
// client.ModifyUserTag(new[] { "wxid_8s44kddouuaj21" });
//new LoginWechat62Data().ShowDialog();
//var str = "<msg bigheadimgurl=\"http://wx.qlogo.cn/mmhead/ver_1/5LnxGuicImnmq0IonTk4cQ2rMpDpldkF2EOARwCrhtEH2VmMYrRxC92zTBPRZX1QqZtPd2UOUfZGVF73sKN3cB8mvBibKxkF5SgFjyn0S0sLs/0\" smallheadimgurl=\"http://wx.qlogo.cn/mmhead/ver_1/5LnxGuicImnmq0IonTk4cQ2rMpDpldkF2EOARwCrhtEH2VmMYrRxC92zTBPRZX1QqZtPd2UOUfZGVF73sKN3cB8mvBibKxkF5SgFjyn0S0sLs/132\" username=\"yangshu5188\" nickname=\"杨曙\" fullpy=\"?yangshu?\" shortpy=\"\" alias=\"\" imagestatus=\"3\" scene=\"17\" province=\"昆士兰\" city=\"澳大利亚\" sign=\"\" sex=\"1\" certflag=\"0\" certinfo=\"\" brandIconUrl=\"\" brandHomeUrl=\"\" brandSubscriptConfigUrl=\"\" brandFlags=\"0\" regionCode=\"AU_Queensland_Gold Coast\" />";
//client.SendMessage("wxid_8s44kddouuaj21", str);
}
private void barButtonItem40_ItemClick(object sender, ItemClickEventArgs e)
{
Process.Start(Util.MapPath("Plugin"));
}
private void barButtonItem5_ItemClick(object sender, ItemClickEventArgs e)
{
Process.Start(Util.MapPath("Plugin"));
}
private void barButtonItem4_ItemClick(object sender, ItemClickEventArgs e)
{
Process.Start(Util.MapPath(""));
}
private void barButtonItem3_ItemClick(object sender, ItemClickEventArgs e)
{
this.notify_pallet.Visible = false;
Program.Exit();
}
private void barButtonItem2_ItemClick(object sender, ItemClickEventArgs e)
{
this.notify_pallet.Visible = false;
Program.Exit(true);
}
private void barButtonItem10_ItemClick(object sender, ItemClickEventArgs e)
{
}
private void barButtonItem9_ItemClick(object sender, ItemClickEventArgs e)
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(main));
if (!EventClient.StopParsing)
{
this.barButtonItem9.ImageOptions.Image = (System.Drawing.Image)(resources.GetObject("barButtonItem9.ImageOptions.Image"));
this.barButtonItem9.ImageOptions.LargeImage = (System.Drawing.Image)(resources.GetObject("barButtonItem9.ImageOptions.LargeImage"));
this.barButtonItem9.Caption = "接收信息";
}
else
{
this.barButtonItem9.ImageOptions.Image = (System.Drawing.Image)(resources.GetObject("barButtonItem10.ImageOptions.Image"));
this.barButtonItem9.ImageOptions.LargeImage = global::FLSystem.Properties.Resources.__4_;
this.barButtonItem9.Caption = "停止接收";
}
EventClient.StopParsing = !EventClient.StopParsing;
}
private void barButtonItem50_ItemClick(object sender, ItemClickEventArgs e)
{
try
{
var flag = ChatClient.LoginWeixin();
if (flag) ItemClick(btn_robot_manage, e);
}
catch (Exception ex)
{
BaseForm.ShowError(ex);
}
}
private DateTime RefPluginControlTime = DateTime.MinValue;
private Thread RefPluginControlTimer = null;
private void main_SizeChanged(object sender, EventArgs e)
{
try
{
//判断是否选择的是最小化按钮
if (WindowState == FormWindowState.Minimized)
{
//托盘显示图标等于托盘图标对象
//注意notifyIcon1是控件的名字而不是对象的名字
this.notify_pallet.Visible = true;
//隐藏任务栏区图标
this.ShowInTaskbar = false;
}
else
{
this.notify_pallet.Visible = false;
Control page = this.xtraTabControl1.SelectedTabPage;
if (page != null && page.Text == "应用功能" && page.Controls.Count > 0)
{
if (page.Controls.Count == 1 && page.Controls[0].Name == "plugin_manage")
page = page.Controls[0];
lock (lock_obj)
{
RefPluginControlTime = DateTime.Now.AddSeconds(1);
if (RefPluginControlTimer == null || !RefPluginControlTimer.IsAlive)
{
RefPluginControlTimer = new Thread(new ThreadStart(delegate
{
while (DateTime.Now < RefPluginControlTime)
{
Thread.Sleep(200);
}
Invoke(new Action(delegate
{
_EnabledControl(false);
page.RefreshContral();
_EnabledControl();
}));
}));
RefPluginControlTimer.IsBackground = true;
RefPluginControlTimer.Start();
}
}
}
}
}
catch
{ }
}
private void notify_pallet_MouseDoubleClick(object sender, MouseEventArgs e)
{
this.Visible = true;
this.WindowState = FormWindowState.Normal;
this.ShowInTaskbar = true;
}
/// <summary>
/// 读取公告
/// </summary>
private void ReadNote(bool f5 = true)
{
try
{
if (f5) Grant.Framework.GrantClient.Get().RefreshAbout(1003);
var notes = GrantClient.Get().About.ContainsKey("notice") ? GrantClient.Get().About["notice"].ToString() : string.Empty;
// var notes = ApiClient.GetServerConfig("FLSystemNotice");
if (!string.IsNullOrEmpty(notes))
{
var temp = notes.Split('|');
this.Invoke(new Action(delegate
{
try
{
this.PublicNote.Caption = temp[new Random().Next(0, temp.Length)];
}
catch (Exception)
{
}
}));
}
}
catch (Exception)
{ }
}
private static long timeCount = 0;
private void timer1_Tick(object sender, EventArgs e)
{
new Action(delegate ()
{
timeCount++;
try
{
ReadNote();
var session = ApiClient.GetSession();
var robots = session.FindRobots();
//刷新信息
foreach (var item in robots)
{
if (item.type == ChatType. || item.type == ChatType.)
{
var client = ChatClient.WXClient.Values.ToList().FirstOrDefault(f => f.WeixinHao == item.name);
if (client != null)
{
//item.token = (item.token.Contains("Chat.Framework.WXSdk.Implement.WXClientImpl_") || client.WeixinType != WeixinType.Grpc微信) ? string.Empty : client.ToString();
if (client.WeixinType == WeixinType.Grpc微信)
item.token = client.ToString();
item.is_login = client.Status == WxStatus.线 ? true : false;
session.SaveOrUpdate(item);
}
}
}
//重新读取
robots = session.FindRobots(true);
StringBuilder sb = new StringBuilder();
foreach (var item in robots)
{
var isLogin = false;
if (Chat.Framework.ChatClient.WXClient.ContainsKey(item.name))
{
var wxbase = Chat.Framework.ChatClient.WXClient[item.name];
isLogin = wxbase.Status != WxStatus.线;
}
if (isLogin && item.off_line_tip == SwitchType.)
sb.Append($"{item.type}账号:{item.nick}({item.name})\n");
}
string msg = sb.ToString().Trim();
if (!string.IsNullOrEmpty(msg))
{
msg = $"离线通知\n————\n{msg.Trim()}";
ApiClient.SendNoticeMessage(msg);
ApiClient.SendAdminEmail(ApiClient.Setting.SystemConfig.account_admin_email, "机器人离线通知", msg, true);
}
//账号授权提示
if (timeCount % 48 == 0)//降低频率一天提醒一次
{
sb.Length = 0;
foreach (var item in robots)
{
if (string.IsNullOrWhiteSpace(item.end_time)) continue;
DateTime end_time = DateTime.MinValue;
DateTime.TryParse(item.end_time, out end_time);
if (end_time != DateTime.MinValue) //&& end_time >= DateTime.Now)
{
if (end_time.AddDays(1) < DateTime.Now) continue;
if (end_time < DateTime.Now)
{
sb.AppendLine($"{item.type}账号:{item.nick}({item.uin}) 授权已经到期");
}
else
{
var time = end_time - DateTime.Now;
if (time.TotalDays < 7)
sb.AppendLine($"{item.type}账号:{item.nick}({item.uin}) 授权剩余{time.Days}天{time.Hours}小时{time.Minutes}分");
}
}
}
msg = sb.ToString().Trim();
if (!string.IsNullOrEmpty(msg))
{
msg = $"账号授权即将到期通知\n————\n{msg.Trim()}\n\n温馨提示为了您的账号能正常使用请及时给账号续期";
ApiClient.SendNoticeMessage(msg);
ApiClient.SendAdminEmail(ApiClient.Setting.SystemConfig.account_admin_email, "机器人即将到期通知", msg, true);
}
}
//系统有更新提示
if (timeCount % 60 == 0)
{
try
{
var LatestData = UpdateClient.GetCloudFileHist();
if (!string.IsNullOrWhiteSpace(LatestData))
{
try
{
StringBuilder sb1 = new StringBuilder();
sb1.AppendLine("返利系统有更新啦:");
sb1.AppendLine("");
sb1.AppendLine(LatestData);
//foreach (var item in versions)
//{
// sb1.Append($"{item.Name} -- {item.Version}\r\n");
// var index = 10;
// for (int i = 0; i < item.Message.Count; i++)
// {
// if (index > i)
// sb1.AppendLine($"{i + 1}、{item.Message[i]}");
// else
// {
// sb1.AppendLine($"{i + 1}、。。。");
// break;
// }
// }
// sb1.AppendLine("");
//}
var info = sb1.ToString().Trim();
if (!string.IsNullOrWhiteSpace(info))
{
ApiClient.SendNoticeMessage(info);
}
}
catch (Exception ex)
{ }
}
}
catch (Exception ex)
{
}
}
}
catch { }
}).BeginInvoke(null, null);
}
//登录京东联盟
private void barButtonItem26_ItemClick(object sender, ItemClickEventArgs e)
{
var member = LoginCps(CpsType.);
if (member != null)
{
ItemClick(btn_cps_manage, e);
}
}
private void barButtonItem97_ItemClick(object sender, ItemClickEventArgs e)
{
if (LoginCps(CpsType.) != null) ItemClick(btn_cps_manage, e);
}
private void barButtonItem100_ItemClick(object sender, ItemClickEventArgs e)
{
if (LoginCps(CpsType.) != null) ItemClick(btn_cps_manage, e);
}
private void barButtonItem107_ItemClick(object sender, ItemClickEventArgs e)
{
if (LoginCps(CpsType.) != null) ItemClick(btn_cps_manage, e);
}
private void barButtonItem8_ItemClick(object sender, ItemClickEventArgs e)
{
string filename = Util.MapFile("C#_Plugin.doc", "File\\Design");
}
private void barButtonItem59_ItemClick(object sender, ItemClickEventArgs e)
{
try
{
var config = ApiClient.Setting.SystemConfig;
var cer = config.pay_wechat_sh_cerpath;
if (!System.IO.File.Exists(cer)) throw new Exception("对不起,证书文件不存在!");
var cerdata = File.ReadAllBytes(cer);
WechatPay pay = new WechatPay();
var result = pay.Upload(config.pay_wechat_host, config.pay_wechat_gzh_appid, config.pay_wechat_gzh_appsecret, config.pay_wechat_sh_appid, config.pay_wechat_sh_appsecret, cerdata, config.pay_wechat_web_footer);
ShowSuccess(result);
}
catch (Exception ex)
{
ShowError(ex.Message);
}
}
private void xtraTabControl1_SelectedPageChanged(object sender, TabPageChangedEventArgs e)
{
try
{
var page = this.xtraTabControl1.SelectedTabPage;
if (page != null && page.Text == "应用功能")
{
//page.Controls.Clear();
if (page.Name == "")
if (page.Controls.Count > 0)
{
Invoke(new Action(delegate
{
_EnabledControl(false);
page.RefreshContral();
_EnabledControl();
}));
}
}
else if (page != null && page.Text == "提现管理")
{
EventClient.OnEvent(this, MethodType.);//刷新积分管理中的配置文件
}
}
catch { }
}
private void barButtonItem11_ItemClick(object sender, ItemClickEventArgs e)
{
new EncPlugin().Show();
}
private void barButtonItem65_ItemClick(object sender, ItemClickEventArgs e)
{
try
{
if (MessageBox.Show("是否重启软件?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
ApiClient.Setting.Save();
#region [ reset ,FLSystem的Program中判断这个文件是否存在,]
var reset_program = Util.MapFile("reset", "File");
File.Create(reset_program);
#endregion
Application.ExitThread();
Thread thtmp = new Thread(new ParameterizedThreadStart(run));
object appName = Application.ExecutablePath;
Thread.Sleep(500);
thtmp.Start(appName);
}
}
catch (Exception ex)
{
BaseForm.ShowError(ex);
}
}
private void run(Object obj)
{
Process ps = new Process();
ps.StartInfo.FileName = obj.ToString();
ps.Start();
}
private void barButtonItem66_ItemClick(object sender, ItemClickEventArgs e)
{
Process.Start(Util.MapPath());
}
private void barButtonItem34_ItemClick(object sender, ItemClickEventArgs e)
{
new LeavingMessageForm().ShowDialog();
}
private void CreateWebApiEvent(object sender, ItemClickEventArgs e)
{
var form = new web_api_form();
form.ShowDialog();
}
private void barButtonItem77_ItemClick(object sender, ItemClickEventArgs e)
{
new update_log_form().ShowDialog();
}
private void barButtonItem78_ItemClick(object sender, ItemClickEventArgs e)
{
Process.Start(Util.MapPath());
}
private void barButtonItem51_ItemClick(object sender, ItemClickEventArgs e)
{
ChatClient.LoginQQ("");
}
#region QQ
#endregion
/// <summary>
/// 同步服务器缓存
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void barButtonItem42_ItemClick(object sender, ItemClickEventArgs e)
{
try
{
//AlimamaApi.FindTransferAddress(AlimamaApi.TargetType.产品库, true);
//var ss = AlimamaApi.FindTransferAddress(AlimamaApi.TargetType.淘口令, true);
AlimamaApi.RefreshTkUrl();
TbAnalysis.TklRegToEmpty();
//删除云黑名单缓存
Api.Framework.Tools.Util.RemoveCache("Cloud_Black");
ShowSuccess("缓存更新成功!");
}
catch (Exception)
{ }
}
private void barButtonItem90_ItemClick(object sender, ItemClickEventArgs e)
{
new AuthorizationManage().ShowDialog();
}
private void barButtonItem91_ItemClick(object sender, ItemClickEventArgs e)
{
new AuthorizationManage().ShowDialog();
}
private void barButtonItem92_ItemClick(object sender, ItemClickEventArgs e)
{
var wx = ChatClient.WXClient.FirstOrDefault().Value as WXClientImpl_IPAD;
wx.Socket.TestError();
}
private void main_KeyDown(object sender, KeyEventArgs e)
{
try
{
if (e.Alt)
{
if (e.KeyCode == Keys.Oem3)
{
var ShowTgwz = Util.AppConfig_GetValue("ShowTgwz");
var state = ShowTgwz == "1" ? "0" : "1";
string mess = string.Empty;
if (Util.AppConfig_ModifyItem("ShowTgwz", state))
mess = state == "1" ? "成功激活推广位组" : "成功隐藏推广位组";
else
mess = state == "1" ? "激活推广位组失败" : "隐藏推广位组失败";
ShowSuccess(mess);
}
}
}
catch (Exception ex)
{
ShowError(ex);
}
}
private void button1_Click(object sender, EventArgs e)
{
try
{
//if (ApiClient.Server != null && ApiClient.Server.State == SuperSocket.SocketBase.ServerState.Running)
//{
// ChatClient.PCRobotPool.SendAppUpdate();
// BaseForm.ShowSuccessAutoClose("请求远程更新成功!!!");
//}
//else
//{
// throw new Exception("Socket通讯未开启,此操作无效!!!");
//}
//var robot = ApiClient.GetSession().FindRobotInfo("wxid_vebvd7abpq1m22", ChatType.微信);
//var sends = new List<temp_send_data>();
//sends.Add(new temp_send_data() { Groupid = string.Empty, Message = @"撒法第三款了房间里的撒咖啡[分段][延迟=900]机房的凯撒奖发了多少", Robot = robot, TouserName = "wujiahua0876" });
//ApiClient.SendMessage(sends.ToArray());
//var msg = ApiClient.SendWechatPay(new { test = "123大爷啊.乱码啊" }, "测试啊", 5);
//Console.WriteLine();
}
catch (Exception ex)
{
BaseForm.ShowErrorAutoClose(ex);
}
}
private void barButtonItem93_ItemClick(object sender, ItemClickEventArgs e)
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(main));
if (!ApiClient.Setting.SystemConfig.message_warning_switch)
{
if (XtraMessageBox.Show(@"确定要开启吗?
开启后:
①、订单绑定等相关提示语(不通知)
②、返利正在查询中提示语(不通知)
③、上下级订单提成提示语(不通知)
作用:(有效防止微信消息频繁)
一般在双11、双12、618等 重要节假日开启!", "温馨提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation) == DialogResult.Cancel) return;
this.barButtonItem93.Caption = "关闭【双12】模式";
this.barButtonItem93.ImageOptions.Image = (System.Drawing.Image)(resources.GetObject("barButtonItem93.ImageOptions.Image"));
this.barButtonItem93.ImageOptions.LargeImage = (System.Drawing.Image)(resources.GetObject("barButtonItem93.ImageOptions.LargeImage"));
}
else
{
this.barButtonItem93.Caption = "开启【双12】模式";
this.barButtonItem93.ImageOptions.Image = ((System.Drawing.Image)(resources.GetObject("barButtonItem94.ImageOptions.Image")));
this.barButtonItem93.ImageOptions.LargeImage = ((System.Drawing.Image)(resources.GetObject("barButtonItem94.ImageOptions.LargeImage")));
}
ApiClient.Setting.SystemConfig.message_warning_switch = !ApiClient.Setting.SystemConfig.message_warning_switch;
Util.Save(ApiClient.Setting.SystemConfig);
ApiClient.Setting.Save();
}
/// <summary>
/// 机器人离线自动登录记录
/// 离线后尝试自动登录成功的不记录
/// 离线后自动尝试登录不成功的记录
/// 有记录但是已经人工登录成功的清除
/// 有记录但是没有自动登录不成功的记录增加
/// </summary>
public Dictionary<string, int> robotOffLineAutoLoginList = new Dictionary<string, int>();
private void autologin_timer_Tick(object sender, EventArgs e)
{
new Action(delegate ()
{
try
{
var session = ApiClient.GetSession();
//重新读取
var robots = session.FindRobots(true).Where(f => f.type == ChatType. && f.remark != "PCWechat HOOK");
var wxClients = ChatClient.WXClient.Values;
foreach (var robot in robots)
{
var isLogin = wxClients.FirstOrDefault(f => robot.name == f.WeixinHao && (f.Status == WxStatus.线 || f.Status == WxStatus.退 || f.Status == WxStatus. || f.Status == WxStatus.)) == null;
if (robotOffLineAutoLoginList.ContainsKey(robot.name))
{
if (isLogin || robot.off_line_auto_login == SwitchType.)
robotOffLineAutoLoginList.Remove(robot.name);
else if (!isLogin && robot.off_line_auto_login == SwitchType.)
robotOffLineAutoLoginList[robot.name] = robotOffLineAutoLoginList[robot.name] + 1;
}
else
{
if (!isLogin)
{
robotOffLineAutoLoginList.Add(robot.name, 1);
}
}
}
if (robotOffLineAutoLoginList.Count == 0) return;
TaskTool tasks = new TaskTool();
foreach (var item in robots)
{
if (!robotOffLineAutoLoginList.ContainsKey(item.name))
continue;
else if (robotOffLineAutoLoginList[item.name] > 2)
continue;
var _item = item;
tasks.AddTask(delegate ()
{
try
{
EventClient.OnEvent(this, $"正在尝试自动微信->{_item.name}({_item.nick})...");
var wx = ChatClient.WXClient.FirstOrDefault(f => f.Key == _item.name).Value;
if (wx != null) wx.ResetConnection();
else ChatClient.LoginWeixin(_item.name, _item.token);
}
catch (Exception ex)
{
EventClient.OnEvent(this, $"自动登录微信->{_item.name}({_item.nick})异常:{ex.Message}");
}
});
}
if (tasks.Tasks.Count != 0)
tasks.Start(30, AsyncCallbackMethod2);
}
catch { }
}).BeginInvoke(null, null);
UpdTime();
}
/// <summary>
/// 更新win时间
/// </summary>
public void UpdTime()
{
try
{
new Action(delegate ()
{
try
{
HttpHelper http = new HttpHelper();
var item = new HttpItem();
item.URL = "http://quan.suning.com/getSysTime.do";
var html = http.GetHtml(item).Html;
var temp = JObject.Parse(html);
if (temp["sysTime2"] != null)
{
var time = DateTime.Parse(temp["sysTime2"].ToString().Trim());
Daytime.SetWindowsClock(time);
}
}
catch (Exception ex)
{ }
}).BeginInvoke(null, null);
}
catch (Exception ex)
{ }
}
private void AsyncCallbackMethod2(IAsyncResult ar)
{
EventClient.OnEvent(this, MethodType.);
EventClient.OnEvent(this, $"尝试自动登录线程已完成!");
var session = ApiClient.GetSession();
var robots = session.FindRobots(true).Where(f => f.type == ChatType. && f.remark != "PCWechat HOOK");
var wxClients = ChatClient.WXClient.Values;
foreach (var robot in robots)
{
var isLogin = wxClients.FirstOrDefault(f => robot.name == f.WeixinHao && (f.Status == WxStatus.线 || f.Status == WxStatus.退 || f.Status == WxStatus.)) == null;
if (isLogin || robot.off_line_auto_login == SwitchType.)
robotOffLineAutoLoginList.Remove(robot.name);
}
}
private void barButtonItem86_ItemClick(object sender, ItemClickEventArgs e)
{
new TCPForm().ShowDialog();
}
private void barButtonItem103_ItemClick(object sender, ItemClickEventArgs e)
{
try
{
if (ApiClient.Server != null && ApiClient.Server.State == SuperSocket.SocketBase.ServerState.Running)
{
ChatClient.PCRobotPool.SendAppUpdate();
BaseForm.ShowSuccessAutoClose("请求远程更新成功!!!");
}
else
throw new Exception("Socket通讯未开启,此操作无效!!!");
}
catch (Exception ex)
{
BaseForm.ShowErrorAutoClose(ex);
}
}
private void SetShow(List<NavTree> treeList, int index)
{
var t2List = treeList.Where(f => f.ceng == 2 && f.index == index).ToList();
foreach (var t2 in t2List)
{
if (t2.name == "首页公告")
btn_home_manage.Visibility = t2.check ? BarItemVisibility.Always : BarItemVisibility.Never;
if (t2.name == "接收信息")
barButtonItem9.Visibility = t2.check ? BarItemVisibility.Always : BarItemVisibility.Never;
if (t2.name == "双十二")
barButtonItem93.Visibility = t2.check ? BarItemVisibility.Always : BarItemVisibility.Never;
if (t2.name == "联盟管理")
btn_cps_manage.Visibility = t2.check ? BarItemVisibility.Always : BarItemVisibility.Never;
if (t2.name == "登录联盟")
barButtonItem20.Visibility = t2.check ? BarItemVisibility.Always : BarItemVisibility.Never;
if (t2.name == "授权管理")
barButtonItem91.Visibility = t2.check ? BarItemVisibility.Always : BarItemVisibility.Never;
if (t2.name == "机器人管理")
btn_robot_manage.Visibility = t2.check ? BarItemVisibility.Always : BarItemVisibility.Never;
if (t2.name == "登录机器人")
barButtonItem19.Visibility = t2.check ? BarItemVisibility.Always : BarItemVisibility.Never;
if (t2.name == "数据报表")
btn_data_manage.Visibility = t2.check ? BarItemVisibility.Always : BarItemVisibility.Never;
if (t2.name == "运行日志")
btn_log_manage.Visibility = t2.check ? BarItemVisibility.Always : BarItemVisibility.Never;
if (t2.name == "系统设置")
barButtonItem13.Visibility = t2.check ? BarItemVisibility.Always : BarItemVisibility.Never;
if (t2.name == "其他设置")
barButtonItem41.Visibility = t2.check ? BarItemVisibility.Always : BarItemVisibility.Never;
if (t2.name == "保存配置")
barButtonItem56.Visibility = t2.check ? BarItemVisibility.Always : BarItemVisibility.Never;
if (t2.name == "订单管理")
barButtonItem48.Visibility = t2.check ? BarItemVisibility.Always : BarItemVisibility.Never;
if (t2.name == "提现管理")
barButtonItem76.Visibility = t2.check ? BarItemVisibility.Always : BarItemVisibility.Never;
if (t2.name == "用户管理")
barButtonItem43.Visibility = t2.check ? BarItemVisibility.Always : BarItemVisibility.Never;
if (t2.name == "群负责人")
barButtonItem67.Visibility = t2.check ? BarItemVisibility.Always : BarItemVisibility.Never;
if (t2.name == "群通知机器人")
barButtonItem96.Visibility = t2.check ? BarItemVisibility.Always : BarItemVisibility.Never;
if (t2.name == "测试邮件通信")
barButtonItem16.Visibility = t2.check ? BarItemVisibility.Always : BarItemVisibility.Never;
if (t2.name == "同步服务器缓存")
barButtonItem42.Visibility = t2.check ? BarItemVisibility.Always : BarItemVisibility.Never;
if (t2.name == "上传商户配置")
barButtonItem59.Visibility = t2.check ? BarItemVisibility.Always : BarItemVisibility.Never;
if (t2.name == "查询商品记录")
barButtonItem49.Visibility = t2.check ? BarItemVisibility.Always : BarItemVisibility.Never;
if (t2.name == "淘宝订单尾号")
barButtonItem57.Visibility = t2.check ? BarItemVisibility.Always : BarItemVisibility.Never;
if (t2.name == "强制结算订单")
barButtonItem63.Visibility = t2.check ? BarItemVisibility.Always : BarItemVisibility.Never;
if (t2.name == "应用功能")
barButtonItem6.Visibility = t2.check ? BarItemVisibility.Always : BarItemVisibility.Never;
if (t2.name == "刷新应用")
barButtonItem29.Visibility = t2.check ? BarItemVisibility.Always : BarItemVisibility.Never;
if (t2.name == "全部重启")
barButtonItem31.Visibility = t2.check ? BarItemVisibility.Always : BarItemVisibility.Never;
if (t2.name == "执行顺序")
barButtonItem30.Visibility = t2.check ? BarItemVisibility.Always : BarItemVisibility.Never;
if (t2.name == "开发调试")
barButtonItem27.Visibility = t2.check ? BarItemVisibility.Always : BarItemVisibility.Never;
if (t2.name == "加密应用")
barButtonItem11.Visibility = t2.check ? BarItemVisibility.Always : BarItemVisibility.Never;
if (t2.name == "应用目录")
barButtonItem40.Visibility = t2.check ? BarItemVisibility.Always : BarItemVisibility.Never;
if (t2.name == "手动转链")
barButtonItem81.Visibility = t2.check ? BarItemVisibility.Always : BarItemVisibility.Never;
if (t2.name == "Web通讯")
barButtonItem72.Visibility = t2.check ? BarItemVisibility.Always : BarItemVisibility.Never;
if (t2.name == "Socket通讯")
barButtonItem86.Visibility = t2.check ? BarItemVisibility.Always : BarItemVisibility.Never;
if (t2.name == "更新易转发")
barButtonItem103.Visibility = t2.check ? BarItemVisibility.Always : BarItemVisibility.Never;
if (t2.name == "检查更新")
barButtonItem39.Visibility = t2.check ? BarItemVisibility.Always : BarItemVisibility.Never;
if (t2.name == "更新摘要")
barButtonItem77.Visibility = t2.check ? BarItemVisibility.Always : BarItemVisibility.Never;
if (t2.name == "软件目录")
barButtonItem78.Visibility = t2.check ? BarItemVisibility.Always : BarItemVisibility.Never;
if (t2.name == "建议反馈")
barButtonItem34.Visibility = t2.check ? BarItemVisibility.Always : BarItemVisibility.Never;
if (t2.name == "重启软件")
barButtonItem65.Visibility = t2.check ? BarItemVisibility.Always : BarItemVisibility.Never;
}
}
private bool isrun = false;
private void Timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
if (isrun)
return;
isrun = true;
try
{
{
var h = DateTime.Now.Hour; if (!(1 <= h && h < 3))
return;
Console.WriteLine();
//没赋值的头像赋值
try
{
var robots = ChatClient.WXClient.Values.Where(f => f.Status == WxStatus.线).ToList();
foreach (var robot in robots)
{
try
{
var db = ApiClient.GetSession();
var members = db.Find<fl_member_info>("select * from fl_member_info where robot_name = @robotname and headurl = @headurl", new { robotname = robot.WeixinHao, headurl = "" });
var friends = robot.Friends;
foreach (var member in members)
{
if (friends != null && friends.ContainsKey(member.username))
{
var headurl = friends[member.username].BigHeadImgUrl;
if (!string.IsNullOrWhiteSpace(headurl))
{
member.headurl = friends[member.username].BigHeadImgUrl;
db.SaveOrUpdate(member);
}
}
else
{
var f = robot.GetContact(member.username);
if (f != null)
{
if (!string.IsNullOrWhiteSpace(f.BigHeadImgUrl))
{
member.headurl = f.BigHeadImgUrl;
db.SaveOrUpdate(member);
}
}
}
}
}
catch (Exception ex)
{ }
}
}
catch (Exception exception)
{ }
//上传用户/机器人信息
try
{
var db = ApiClient.GetSession();
var upload = db.FindSingle<fl_upload_record>("select * from fl_upload_record");
if (upload == null)
{
upload = new fl_upload_record();
var userNumber = db.Queryable<fl_member_info>().Count();
upload.usernumber = userNumber;
db.Saveable(upload).ExecuteCommand();
}
if (!upload.usersuccess)
{
var pageSize = 100;
while (upload.userindex * pageSize < upload.usernumber)
{
var members = db.Queryable<fl_member_info>().OrderBy(f => f.id).ToPageList(upload.userindex, pageSize);
List<UserRobotUpLoad.CustomerLinkInput> list = new List<UserRobotUpLoad.CustomerLinkInput>();
foreach (var item in members)
{
list.Add(new UserRobotUpLoad.CustomerLinkInput()
{
CreateTime = item.crt_time,
HeadUrl = item.headurl,
NickName = item.usernick,
Remark = item.remark,
RobotName = item.robot_name,
RobotType = UserRobotUpLoad.ConvertRobotType(item.robot_type),
UserName = item.username
});
}
if (list.Count > 0)
{
var result = UserRobotUpLoad.CustomerLink_UpLoadLink(list);
if (result.Ok)
{
db.Saveable(upload).ExecuteCommand();
}
}
upload.userindex++;
Thread.Sleep(1000);
}
if (upload.userindex * pageSize >= upload.usernumber)
{
upload.usersuccess = true;
db.Saveable(upload).ExecuteCommand();
}
}
if (!upload.robotsuccess)
{
try
{
var robots = db.Find<fl_robot_info>("select * from fl_robot_info");
List<UserRobotUpLoad.CustomerRobotInput> list = new List<UserRobotUpLoad.CustomerRobotInput>();
foreach (var item in robots)
{
list.Add(new UserRobotUpLoad.CustomerRobotInput()
{
HeadUrl = string.Empty,
NickName = item.nick,
Remark = item.remark,
RobotType = UserRobotUpLoad.ConvertRobotType(item.type),
UserName = item.name
});
}
if (list.Count > 0)
{
var result = UserRobotUpLoad.CustomerLink_UpLoadRobot(list);
if (result.Ok)
{
upload.robotsuccess = true;
}
}
}
catch (Exception ex)
{
upload.robotsuccess = false;
}
db.Saveable(upload).ExecuteCommand();
}
}
catch (Exception ex)
{
}
}
}
catch (Exception ex)
{ }
finally
{
isrun = false;
}
}
private ChatType SetUserType(int itemType)
{
switch (itemType)
{
case 0:
return ChatType.;
case 1:
return ChatType.QQ;
case 2:
return ChatType.;
}
return ChatType.;
}
/// <summary>
/// 读取黑名单
/// </summary>
/// <param name="isAsc"></param>
/// <param name="callback"></param>
public static void ReadBlacklist(DateTime updateDateTime, bool isAsc, Func<List<CloudBlacklistResult>, int, int, bool> callback)
{
var size = 1000;
var index = 1;
while (true)
{
var res = YZCloudApiHelper.GetBlacklist(new BlacklistSearchPagingInput()
{
PageIndex = index,
PageSize = size,
UserToken = "",
IsAsc = isAsc,
UpdateDateTime = updateDateTime,
AuditState = AuditStateEmun.Succee
});
if (res == null || res.Datas.Count <= 0)
{
break;
}
if (callback?.Invoke(res.Datas, index, res.PageNumber) == true)
{
break;
}
if (index <= 0)
{
break;
}
index++;
}
}
private static bool isrunblackuser = false;
public void Timer_ElapsedBlackUser(object sender, System.Timers.ElapsedEventArgs e)
{
if (isrunblackuser) return;
isrunblackuser = true;
var db = ApiClient.GetSession();
try
{
if (timerBlackUser.Interval == 1000)
timerBlackUser.Interval = 5 * 60 * 1000;
#region
var BlackUserTime = Util.AppConfig_GetValue("BlackUserTime");
//Util.AppConfig_ModifyItem("BlackUserTime", "");
ReadBlacklist(
string.IsNullOrWhiteSpace(BlackUserTime) ? DateTime.MinValue : DateTime.Parse(BlackUserTime), false,
(items, index, total) =>
{
//Console.WriteLine("输出:" + index + "|" + total + "|" + items.Count);
BlackUserTime = Util.AppConfig_GetValue("BlackUserTime");
var syncTime = string.IsNullOrWhiteSpace(BlackUserTime)
? DateTime.MinValue
: DateTime.Parse(BlackUserTime);
if (syncTime != DateTime.MinValue)
{
syncTime = syncTime.AddMinutes(-1);
}
bool issyncAdd = false;
db.Ado.BeginTran();
foreach (var item in items)
{
if (item.UpdateDateTime >= syncTime)
{
issyncAdd = true;
var type = SetUserType(item.Type);
var info = db.Queryable<fl_blackuser>()
.Where(w => w.username == item.UserName && w.usertype == type).First();
if (info == null)
{
info = new fl_blackuser();
info.usertype = type;
info.username = item.UserName;
info.nickname = item.UserNick;
info.remark = item.Remark;
info.avatar = item.Avatar;
info.updatetime = item.UpdateDateTime; //DateTime.Now;
info.isdel = item.IsRemove;
info.iscloud = true;
db.Insertable(info).ExecuteCommand();
}
else
{
//if (info.isdel)
//{
// //如果本地已经删除,则忽略。
// continue;
//}
info.avatar = item.Avatar;
info.isdel = item.IsRemove;
info.updatetime = item.UpdateDateTime;
info.remark = item.Remark;
info.iscloud = true;
db.Updateable(info).ExecuteCommand();
}
}
}
if (issyncAdd)
{
//保存最后同步的时间
Util.AppConfig_ModifyItem("BlackUserTime",
items.LastOrDefault().UpdateDateTime.ToString("yyyy-MM-dd HH:mm:ss"));
//items.LastOrDefault().UpdateDateTime);
}
db.Ado.CommitTran();
return false;
});
#endregion
}
catch (Exception ex)
{
db.Ado.RollbackTran();
}
finally
{
isrunblackuser = false;
}
}
private void barButtonItem108_ItemClick(object sender, ItemClickEventArgs e)
{
//TODO 快手
return;
if (LoginCps(CpsType.) != null)
ItemClick(btn_cps_manage, e);
}
}
}