using Api.Framework.Cps; using Api.Framework.Enums; using Api.Framework.Model; using Api.Framework.Tools; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using CsharpHttpHelper; using System.IO; using Api.Framework.SDK; using Api.Framework.Timers; using System.Threading; using Api.Framework.Utils; namespace Api.Framework { /// /// Cps管理端 /// public class CpsClient { static CpsClient() { try { RefreshCps(); //GuideMembers = new List(); //GuideMembers.Add(new fl_cps_member() { abnormal_tip = SwitchType.关闭, cpstype = CpsType.多多进宝, is_download = SwitchType.关闭, is_valid = true, logintime = DateTime.Now, online = true, username = "1929015", usernick = "w", cookies = "1929015_24223399" });//吴嘉华 //GuideMembers.Add(new fl_cps_member() { abnormal_tip = SwitchType.关闭, cpstype = CpsType.多多进宝, is_download = SwitchType.关闭, is_valid = true, logintime = DateTime.Now, online = true, username = "8701005", usernick = "zyy", cookies = "8701005_194371009" });//张谊玉 ////GuideMembers.Add(new fl_cps_member() { abnormal_tip = SwitchType.关闭, cpstype = CpsType.多多进宝, is_download = SwitchType.关闭, is_valid = true, logintime = DateTime.Now, online = true, username = "15528847", usernick = "zl", cookies = "15528847_194372142" });//周雷 //GuideMembers.Add(new fl_cps_member() { abnormal_tip = SwitchType.关闭, cpstype = CpsType.多多进宝, is_download = SwitchType.关闭, is_valid = true, logintime = DateTime.Now, online = true, username = "8364424", usernick = "zcg", cookies = "8364424_194372426" });//钟成刚 //GuideMembers.Add(new fl_cps_member() { abnormal_tip = SwitchType.关闭, cpstype = CpsType.多多进宝, is_download = SwitchType.关闭, is_valid = true, logintime = DateTime.Now, online = true, username = "15529092", usernick = "lcr", cookies = "15529092_194372782" });//廖春容 ////GuideMembers.Add(new fl_cps_member() { abnormal_tip = SwitchType.关闭, cpstype = CpsType.多多进宝, is_download = SwitchType.关闭, is_valid = true, logintime = DateTime.Now, online = true, username = "15529109", usernick = "yc", cookies = "15529109_194373136" });//杨灿 //GuideMembers.Add(new fl_cps_member() { abnormal_tip = SwitchType.关闭, cpstype = CpsType.多多进宝, is_download = SwitchType.关闭, is_valid = true, logintime = DateTime.Now, online = true, username = "15531182", usernick = "lxy", cookies = "15531182_194378363" });//李馨雨 //GuideMembers.Add(new fl_cps_member() { abnormal_tip = SwitchType.关闭, cpstype = CpsType.多多进宝, is_download = SwitchType.关闭, is_valid = true, logintime = DateTime.Now, online = true, username = "32388767", usernick = "yc", cookies = "32388767_194373136" });//李洁 } catch (Exception ex) { LogHelper.GetSingleObj().Error("初始化异常", ex.Message); throw; } } /// /// 软件登录的cps集合 /// public static List Members { get; private set; } ///// ///// 公共的Cps集合 ///// //internal static List GuideMembers { get; private set; } /// /// 刷新cps缓存 /// public static void RefreshCps() { Members = ApiClient.GetSession().Find("select * from fl_cps_member"); } /// /// 创建拼多多API请求 /// /// cps对象 /// public static PinduoduoApi CreatePinduoduoRequest(fl_cps_member member) { if (member != null && member.cpstype != CpsType.多多进宝) throw new Exception("CreatePinduoduoRequest 失败,您当前账号类型为:" + member.cpstype); return new PinduoduoApi(member); } /// /// 创建一个阿里妈妈API请求 /// /// cps对象 /// public static AlimamaApi CreateAlimamaRequest(fl_cps_member member) { if (member.cpstype != CpsType.阿里妈妈) throw new Exception("CreateAlimamaRequest 失败,您当前账号类型为:" + member.cpstype); return new AlimamaApi(member); } /// /// 创建一个京东联盟API请求 /// /// cps对象 /// public static JingdongApi CreateJingdongRequest(fl_cps_member member) { if (member.cpstype != CpsType.京东联盟) throw new Exception("CreateJingdongRequest 失败,您当前账号类型为:" + member.cpstype); return new JingdongApi(member); } /// /// 创建一个唯品联盟API请求 /// /// cps对象 /// public static WeipinhuiApi CreateWeipinhuiRequest(fl_cps_member member) { if (member.cpstype != CpsType.唯品联盟) throw new Exception("CreateWeipinhuiRequest 失败,您当前账号类型为:" + member.cpstype); return new WeipinhuiApi(member); } /// /// 创建一个苏宁易购API请求 /// /// cps对象 /// public static SuNingApi CreateSuNingRequest(fl_cps_member member) { if (member.cpstype != CpsType.苏宁易购) throw new Exception("CreateSuNingRequest 失败,您当前账号类型为:" + member.cpstype); return new SuNingApi(member); } /// /// 创建一个抖音联盟API请求 /// /// cps对象 /// public static DouyinApiV2 CreateDouyinRequest(fl_cps_member member) { if (member != null && member.cpstype != CpsType.抖音联盟) throw new Exception("CreateDouyinRequest 失败,您当前账号类型为:" + member.cpstype); //return new DouyinApiV2(member); return new DouyinApiV2(member); } /// /// 创建一个抖音联盟API请求 /// /// cps对象 /// public static DouyinApiV3 CreateDouyinRequestV3(fl_cps_member member) { if (member != null && member.cpstype != CpsType.抖客联盟) throw new Exception("CreateDouyinRequest 失败,您当前账号类型为:" + member.cpstype); //return new DouyinApiV2(member); return new DouyinApiV3(member); } public static KuaiShouApi CreateKuaiShouRequest(fl_cps_member member) { if (member.cpstype != CpsType.快手联盟) throw new Exception("CreateDouyinRequest 失败,您当前账号类型为:" + member.cpstype); return new KuaiShouApi(member); } /// /// cps登录 /// /// 需要登录cps类型 /// public static fl_cps_member Login(CpsType type) { // MiniblinkNet.WebView.PerformCookieCommand( MiniblinkNet.wkeCookieCommand.ClearAllCookies); fl_cps_member member = null; switch (type) { case CpsType.唯品联盟: { var form = new weipinhui_form_login(); form.ShowDialog(); member = form.member; break; } //登录拼多多 case CpsType.多多进宝: { var form = new pinduoduo_form_login(); form.ShowDialog(); member = form.member; break; } case CpsType.阿里妈妈: { //清理Cookies Tools.Util.SuppressWininetBehavior(); try { var CookiesFile = HttpExtend.MapFile("cookies.dat"); if (File.Exists(CookiesFile)) File.Delete(CookiesFile); } catch (Exception) { } //开始登陆 var login = new alimama_form_login(); login.ShowDialog(); member = login.Member; break; } case CpsType.京东联盟: { var form = new jingdong_form_login(); form.ShowDialog(); member = form.member; break; } case CpsType.抖音联盟: { var form = new douyin_form_login(); form.ShowDialog(); member = form.Member; break; } case CpsType.抖客联盟: { var form = new douke_form_login(); form.ShowDialog(); member = form.Member; break; } case CpsType.苏宁易购: { var form = new suning_form_login1(); form.ShowDialog(); member = form.member; break; } case CpsType.快手联盟: { var form = new kuaishou_form_login(); form.ShowDialog(); member = form.member; break; } } if (member != null) { try { switch (type) { case CpsType.阿里妈妈: new AlimamaApi(member).RefToken(); break; case CpsType.多多进宝: new PinduoduoApi(member).RefToken(); break; case CpsType.唯品联盟: new WeipinhuiApi(member).RefToken(); break; case CpsType.快手联盟: new KuaiShouApi(member).RefToken(); break; case CpsType.京东联盟: //new JingdongApi(member).RefToken(); break; default: break; } } catch (Exception) { } var session = ApiClient.GetSession(); session.SaveOrUpdate(member); return member; } return null; } /// /// cps选择推广位 /// /// cps类型 /// /// /// /// public static object SelectTuiguangwei(CpsType type, bool isalone = true, bool isgroup = false, bool isactivity = false) { switch (type) { case CpsType.阿里妈妈: { var f = new alimama_form_select_tgw(isalone, isgroup, isactivity); f.ShowDialog(); if (f.Tuiguangwei != null) return f.Tuiguangwei; else return f.AdzoneGroup; } case CpsType.多多进宝: { var f = new pinduoduo_form_select_tgw(); f.ShowDialog(); return f.Tuiguangwei; } case CpsType.京东联盟: { var f = new jingdong_form_select_tgw(); f.ShowDialog(); return f.Tuiguangwei; } case CpsType.唯品联盟: { var f = new weipinhui_form_select_tgw(); f.ShowDialog(); return f.Tuiguangwei; } case CpsType.抖音联盟: { var f = new douyin_form_select_tgw(); f.ShowDialog(); return f.Tuiguangwei; } case CpsType.抖客联盟: { var f = new douke_form_select_tgw(); f.ShowDialog(); return f.Tuiguangwei; } case CpsType.苏宁易购: { var f = new suning_form_select_tgw(); f.ShowDialog(); return f.Tuiguangwei; } case CpsType.快手联盟: { var f = new kuaishou_form_select_tgw(); f.ShowDialog(); return f.Tuiguangwei; } //case CpsType.考拉联盟: // { // var f = new laola_form_select_tgw(); // f.ShowDialog(); // return f.Tuiguangwei; // } default: break; } return null; } /// /// 更新订单 /// /// cps类型 /// 开始时间 /// 结束时间 /// 订单id public static void UpdateOrder(CpsType type, DateTime startTime, DateTime endTime, string order_id) { try { switch (type) { case CpsType.阿里妈妈: { var timer = TimerTask.GetTimer() as DownAlimamaTimer; timer.UpdateOrder(startTime, endTime, order_id); break; } case CpsType.多多进宝: { var timer = TimerTask.GetTimer() as DownPinduoduoTimer; timer.UpdateOrder(startTime, endTime, order_id); break; } case CpsType.京东联盟: { var timer = TimerTask.GetTimer() as DownJingdongTimer; timer.UpdateOrder(startTime, order_id); break; } case CpsType.唯品联盟: { var timer = TimerTask.GetTimer() as DownWeipinhuiTimer; timer.UpdateOrder(startTime, endTime, order_id); break; } //case CpsType.抖音联盟: // { // var timer = TimerTask.GetTimer() as DownDouyinTimer; // timer.UpdateOrder(startTime, endTime, order_id); // break; // } case CpsType.苏宁易购: { var timer = TimerTask.GetTimer() as DownSuningTimer; timer.UpdateOrder(startTime, endTime, order_id); break; } case CpsType.快手联盟: { var timer = TimerTask.GetTimer() as DownKuaiShouTimer; timer.UpdateOrder(startTime, endTime); break; } default: break; } } catch { } } internal static string _key { get; set; } internal static int _appid { get; set; } internal static string _host { get { return ApiClient.Setting.SystemConfig.cps_server_api; } //set; } internal static void SetEnckey(int appid, string host, string key) { //_host = host; _appid = appid; _key = key; } /// /// 像服务器发送数据包 /// /// /// /// /// internal static object SendServer(string method, string target, object param) { AuthEndpoint end = new AuthEndpoint() { Appid = CpsClient._appid, Enckey = CpsClient._key, Host = CpsClient._host + "/api/" + target + "/send_data", Method = method }; if (param != null) { var _param = param.GetType().GetProperties(); foreach (var item in _param) { end.Param[item.Name] = item.GetValue(param); } } HttpHelper http = new HttpHelper(); for (int i = 0; i < 3; i++) { var result = http.SendData(end); if (result != null) { if (!result.ok) throw new Exception(result.message.ToString()); return result.message; } Thread.Sleep(50); } return null; } } }