Beispiel #1
0
        private void FrmLogin_OnLoginSuccess(Models.BuyUserInfo user)
        {
            EnableRun = true;
            userinfo  = user;

            frmLogin.Hide();
            Action show = () =>
            {
                Show();
            };

            Invoke(show);

            Action initColTaobao = () =>
            {
                colTaobao.EnableRun = EnableRun;
                colTaobao.UserInfo  = user;
                colTaobao.InitLoad();
                colTaobao.OnStateChange += OnStateChange;
            };

            Invoke(initColTaobao);

            Action initColMoGuJie = () =>
            {
                colMoGuJie.EnableRun = EnableRun;
                colMoGuJie.UserInfo  = user;
                colMoGuJie.InitLoad();
                colMoGuJie.OnStateChange += OnStateChange;
            };

            Invoke(initColMoGuJie);


            Action initColJd = () =>
            {
                colJd.EnableRun = EnableRun;
                colJd.UserInfo  = user;
                colJd.InitLoad();
                colJd.OnStateChange += OnStateChange;
            };

            Invoke(initColJd);
        }
        public async void Download()
        {
            if (!EnableRun)
            {
                return;
            }
            try
            {
                Action restart = () =>
                {
                    Task task = new Task(() =>
                    {
                        System.Threading.Thread.Sleep(5 * 60 * 1000);
                        chrome.Load(COUPON_DOWNLOAD_URL);
                    });
                    task.Start();
                };

                //获取自己和所有二级代理,今天采集的淘宝券
                var proxys = Bll.Buy.GetProxyCouponCount(UserInfo.ID, Enums.Platform.TaoBao)
                             .Where(s => !string.IsNullOrWhiteSpace(s.PhoneNumber) &&
                                    s.Count < 1000)
                             .ToList();
                if (proxys.Count > 0)
                {
                    await chrome.Wait(".list-desc", 10000, async() =>
                    {
                        chrome.ExecuteScriptAsync("$('.list-desc:last').click()");
                        await chrome.Wait(".dialog-overlay [mx-click]", 10000, async() =>
                        {
                            var scrSite = await chrome.EvaluateScriptAsync("(function (){ return $('#J_sites_dropdown ul li').length;})()");
                            if (scrSite.Success)
                            {
                                if (Convert.ToInt32(scrSite.Result.ToString()) == 0)
                                {
                                    OnStateChange?.Invoke(Enums.StateLogType.TaoBaoNoAddSite, "未添加导购推广");
                                    restart();
                                    return;
                                }
                            }
                            var html = await chrome.GetSourceAsync();
                            var doc  = CQ.CreateDocument(html);

                            var list  = doc.Select("#J_zones_dropdown .dropdown-list li span");
                            var proxy = proxys[0];
                            //获取联盟广告位
                            var advs = list.Select(s => WebUtility.HtmlDecode(s.InnerText)).ToList();
                            var adv  = advs.FirstOrDefault(s => s == proxy.PhoneNumber);
                            dlProxy  = new Models.BuyUserInfo {
                                ID = proxy.UserID, PhoneNumber = proxy.PhoneNumber
                            };
                            if (adv == null)    //广告位里没有该手机号添加一个
                            {
                                chrome.ExecuteScriptAsync($"$('#J_newzone_radio').click();$('#J_new_zone').val('{proxy.PhoneNumber}');");
                            }
                            else    //广告位里有选择一个
                            {
                                var i = advs.IndexOf(adv);
                                chrome.ExecuteScriptAsync($"$('#J_zones_dropdown .dropdown-hd').click();$('#J_zones_dropdown .dropdown-list li:nth-child({i})').click();");
                            }
                            downloadHandler.Set(prefix: $"{proxy.PhoneNumber}_");
                            chrome.ExecuteScriptAsync("$('.dialog-overlay button[mx-click=submit]').click();");
                        });
                    });
                }
                else
                {
                    OnStateChange?.Invoke(Enums.StateLogType.TaoBaoCouponAddDbComplated, $"未检测到有新淘宝商品");
                    restart();
                }
            }
            catch (Exception ex)
            {
                SystemBase.WriteLog($"加载错误{ex.Message}", "error");
            }
        }