private async Task HandleLogin() { try { string result = ""; string[] accounts = tbx_loginMany.Text.Split(Environment.NewLine.ToCharArray()); var ldw = new LoadingWindow(); ldw.Show(); ldw.SetTitle("登陆中"); ldw.SetTip("正在登陆"); var index = 0; for (var i = 0; i < accounts.Length; i++) { try { ldw.SetPgr(0, i); tbx_loginMany.Text = result; var ac = accounts[i]; var tr = ""; if (ac.Trim() == "") { continue; } index++; if (ac.Length < 13) { tr = $"第{index}个账号密码{ac}:账号或密码格式错误" + Environment.NewLine; result += tr; continue; } var phone = ac.Substring(0, 11); var pwd = ac.Substring(12, ac.Length - 13); if (ApiHelper.userBasicDatas.ContainsKey(phone)) { tr = $"第{index}个账号{phone}:该账号已经添加" + Environment.NewLine; result += tr; continue; } ld = new LoginData { account_type = "4", deviceid = UtilHelper.RandomCode(16), imeiid = UtilHelper.RandomCode(15), phone = phone, pwd = pwd }; HttpMessage resp = await ApiHelper.Login( ld.phone, ld.pwd, "", ld.account_type, ld.deviceid, ld.imeiid); switch (resp.statusCode) { case HttpStatusCode.OK: loginResponse = resp.data as LoginResponse; if (loginResponse.iRet == 0) { var devices = await GetDevices(ld.phone); if (devices == null || devices.Count == 0) { tr = $"第{i + 1}个账号{phone}:请先用app绑定玩客云设备" + Environment.NewLine; result += tr; continue; } tr = $"第{i + 1}个账号{phone}:登陆成功!" + Environment.NewLine; result += tr; if (MainWindow.settings.loginDatas == null) { MainWindow.settings.loginDatas = new List <LoginData>(); } MainWindow.settings.loginDatas.Add(ld); SettingHelper.WriteSettings(MainWindow.settings, MainWindow.password); //保存登陆信息 ApiHelper.userBasicDatas.Add(loginResponse.data.phone, loginResponse.data); } else if (loginResponse.iRet == -121) { tr = $"第{i + 1}个账号{phone}:验证码输入错误(-121)" + Environment.NewLine; result += tr; continue; } else if (loginResponse.iRet == -122) { tr = $"第{i + 1}个账号{phone}:请输入验证码(-122)" + Environment.NewLine; result += tr; continue; } else { tr = $"第{i + 1}个账号{phone}:登陆失败({loginResponse.iRet})" + Environment.NewLine; result += tr; continue; } break; default: tr = $"第{i + 1}个账号{phone}:网络异常错误" + Environment.NewLine; result += tr; continue; } } catch (Exception ex) { var tr = $"第{i + 1}个账号出现错误:{ex.Message}" + Environment.NewLine; result += tr; continue; } } ldw.Close(); tbx_loginMany.Text = result; } catch (Exception ex) { MessageBox.Show(ex.Message, "发生错误"); } }
private async Task HandleLogin() { try { string result = ""; string[] accounts = tbx_loginMany.Text.Split(Environment.NewLine.ToCharArray()); var ldw = new LoadingWindow(); ldw.Show(); ldw.SetTitle("登陆中"); ldw.SetTip("正在登陆"); var index = 0; var acl = accounts.ToList().Where(t => t != "").ToArray(); for (var i = 0; i < acl.Length; i++) { try { ldw.SetPgr(0, i); tbx_loginMany.Text = result; var ac = acl[i]; var tr = ""; if (ac.Trim() == "") { continue; } index++; if (ac.Length < 13) { tr = $"第{index}个账号密码{ac}:账号或密码格式错误" + Environment.NewLine; result += tr; continue; } Regex re = new Regex(@"[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?");//实例化一个Regex对象 var phone = ""; var pwd = ""; var isMail = false; if (re.Match(ac).Success) { phone = re.Match(ac).Value; pwd = ac.Substring(phone.Length + 1, ac.Length - (phone.Length + 1)); isMail = true; } else { phone = ac.Substring(0, 11); pwd = ac.Substring(12, ac.Length - 12); isMail = false; } Debug.WriteLine("phone:" + phone); Debug.WriteLine("pwd:" + pwd); //if (phone == null || phone == "") //{ // continue; //} if (ApiHelper.userBasicDatas.ContainsKey(phone)) { tr = $"第{index}个账号{phone}:该账号已经添加" + Environment.NewLine; result += tr; continue; } ld = new LoginData { account_type = isMail ? "5" : "4", deviceid = UtilHelper.RandomCode(16), imeiid = UtilHelper.RandomCode(15), phone = phone, pwd = pwd }; HttpMessage resp = await ApiHelper.Login( ld.phone, ld.pwd, "", ld.account_type, ld.deviceid, ld.imeiid, isMail? 1 : 0); switch (resp.statusCode) { case HttpStatusCode.OK: loginResponse = resp.data as LoginResponse; if (loginResponse.iRet == 0) { var devices = await GetDevices(ld.phone); if (devices == null || devices.Count == 0) { tr = $"第{i + 1}个账号{phone}:请先用app绑定玩客云设备" + Environment.NewLine; result += tr; continue; } tr = $"第{i + 1}个账号{phone}:登陆成功!" + Environment.NewLine; result += tr; if (MainWindow.settings.loginDatas == null) { MainWindow.settings.loginDatas = new List <LoginData>(); } MainWindow.settings.loginDatas.Add(ld); SettingHelper.WriteSettings(MainWindow.settings, MainWindow.password); //保存登陆信息 ApiHelper.userBasicDatas.Add(ld.phone, loginResponse.data); } else if (loginResponse.iRet == -121) { tr = $"第{i + 1}个账号{phone}:验证码输入错误(-121)" + Environment.NewLine; result += tr; continue; } else if (loginResponse.iRet == -122) { tr = $"第{i + 1}个账号{phone}:请输入验证码(-122)" + Environment.NewLine; result += tr; continue; } else { tr = $"第{i + 1}个账号{phone}:登陆失败({loginResponse.iRet})" + Environment.NewLine; result += tr; continue; } break; default: tr = $"第{i + 1}个账号{phone}:网络异常错误" + Environment.NewLine; result += tr; continue; } } catch (Exception ex) { var tr = $"第{i + 1}个账号出现错误:{ex.Message}" + Environment.NewLine; result += tr; continue; } await Task.Delay(MainWindow.settings.refresh_everySpan * 1000);//防止过快引起风控 } ldw.Close(); tbx_loginMany.Text = result; } catch (Exception ex) { MessageBox.Show(ex.Message, "发生错误"); } }