| | |
| | | /// 选择邮箱登录按钮 |
| | | /// </summary> |
| | | Button btnEmailLogin; |
| | | #region 服务器选择 |
| | | /// <summary> |
| | | /// 服务器区域 |
| | | /// </summary> |
| | | FrameLayout serverView; |
| | | /// <summary> |
| | | /// 服务器Icon按钮 |
| | | /// </summary> |
| | | Button btnServerIcon; |
| | | /// <summary> |
| | | /// 服务器文本框 |
| | | /// </summary> |
| | | Button btnServerText; |
| | | ///// <summary> |
| | | ///// 服务器文本框 |
| | | ///// </summary> |
| | | //EditText etServer; |
| | | ///// <summary> |
| | | ///// 服务器子区域里面的分割线1 |
| | | ///// </summary> |
| | | //Button btnLineVertical_server; |
| | | /// <summary> |
| | | ///服务器go按钮 |
| | | /// </summary> |
| | | Button btnServerGo; |
| | | /// <summary> |
| | | /// 服务器子区域底部横线 |
| | | /// </summary> |
| | | Button btnServerBottomLine; |
| | | #endregion |
| | | /// <summary> |
| | | /// 账号子区域 |
| | | /// </summary> |
| | |
| | | /// <summary> |
| | | /// 获取验证码按钮 |
| | | /// </summary> |
| | | Button btnGetVerificationCode; |
| | | Button btnGetVerificationCode_Phone; |
| | | /// <summary> |
| | | /// 获取验证码按钮 |
| | | /// </summary> |
| | | Button btnGetVerificationCode_Mail; |
| | | /// <summary> |
| | | /// 验证码子区域底部分割线 |
| | | /// </summary> |
| | |
| | | #endregion |
| | | |
| | | #region 局部变量列表 |
| | | /// <summary> |
| | | /// 账号类型 |
| | | /// 0:手机 |
| | | /// 1:邮箱 |
| | | /// </summary> |
| | | int accountType = 0; |
| | | ///// <summary> |
| | | ///// 账号类型 |
| | | ///// 0:手机 |
| | | ///// 1:邮箱 |
| | | ///// </summary> |
| | | //int accountType = 0; |
| | | /// <summary> |
| | | /// 手机号码是否有效 |
| | | /// </summary> |
| | |
| | | /// 0:手机 |
| | | /// 1:邮箱 |
| | | /// </summary> |
| | | int registerType; |
| | | int registerType = 0; |
| | | /// <summary> |
| | | /// 手机区号 |
| | | /// </summary> |
| | | string phoneZoneCode = "86"; |
| | | /// <summary> |
| | | /// 是否选择过服务器 |
| | | /// </summary> |
| | | bool isSelectServer; |
| | | |
| | | string registerPhone; |
| | | string registerEmail; |
| | | /// <summary> |
| | | /// 是否点击了返回,用于屏蔽EditText失去焦点检测事件 |
| | | /// </summary> |
| | | bool isHitBack; |
| | | #endregion |
| | | public RegisterPage() |
| | | |
| | | /// <summary> |
| | | /// 回调事件 |
| | | /// 账号,密码,是否手机 |
| | | /// account,password,isPhone |
| | | /// </summary> |
| | | Action<string, string, bool> AutoLoginAction; |
| | | |
| | | /// <summary> |
| | | /// |
| | | /// </summary> |
| | | /// <param name="autoLoginAction">注册成功回调事件</param> |
| | | public RegisterPage(Action<string, string, bool> autoLoginAction) |
| | | { |
| | | AutoLoginAction = autoLoginAction; |
| | | |
| | | bodyView = new FrameLayout() |
| | | { |
| | | BackgroundColor = CSS_Color.BackgroundColor, |
| | | BackgroundColor = CSS_Color.MainBackgroundColor, |
| | | }; |
| | | AddChidren(bodyView); |
| | | |
| | | //2020-12-22 增加点击隐藏键盘事件 |
| | | bodyView.MouseDownEventHandler += (sender, e) => { |
| | | Application.HideSoftInput(); |
| | | }; |
| | | |
| | | pm = new HttpServerRequest(); |
| | | } |
| | |
| | | |
| | | public void ShowDialog() |
| | | { |
| | | new TopViewDiv(this, bodyView, Language.StringByID(StringId.Register)).LoadTopView(); |
| | | Action backAction = () => |
| | | { |
| | | isHitBack = true; |
| | | //2020-12-22 增加点击隐藏键盘事件 |
| | | Application.HideSoftInput(); |
| | | }; |
| | | |
| | | new TopViewDiv(this, bodyView, Language.StringByID(StringId.Register)).LoadTopView(backAction); |
| | | //new PublicAssmebly().LoadTopView(this, bodyView, Language.StringByID(StringId.Register)); |
| | | |
| | | #region 注册方式选择 |
| | |
| | | Y = Application.GetRealHeight(112), |
| | | Width = Application.GetRealWidth(120), |
| | | Height = Application.GetRealHeight(40), |
| | | TextID = StringId.LoginByPhone, |
| | | TextID = StringId.RegisterByPhone, |
| | | TextColor = CSS_Color.MainColor, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextSize = CSS_FontSize.EmphasisFontSize_Secondary, |
| | |
| | | Y = Application.GetRealHeight(112), |
| | | Width = Application.GetRealWidth(100), |
| | | Height = Application.GetRealHeight(40), |
| | | TextID = StringId.LoginByEmail, |
| | | TextID = StringId.RegisterByEmail, |
| | | TextColor = CSS_Color.PromptingColor1, |
| | | TextAlignment = TextAlignment.Center, |
| | | TextSize = CSS_FontSize.TextFontSize, |
| | | }; |
| | | bodyView.AddChidren(btnEmailLogin); |
| | | if(Language.CurrentLanguage!= "Chinese") |
| | | { |
| | | btnPhoneLogin.Width = Application.GetRealWidth(180); |
| | | btnEmailLogin.Width = Application.GetRealWidth(180); |
| | | } |
| | | #endregion |
| | | |
| | | #region 服务器选择 |
| | | serverView = new FrameLayout() |
| | | { |
| | | X = Application.GetRealWidth(28), |
| | | Y = Application.GetRealHeight(167), |
| | | Width = Application.GetRealWidth(319), |
| | | Height = Application.GetRealHeight(44), |
| | | }; |
| | | bodyView.AddChidren(serverView); |
| | | |
| | | btnServerIcon = new Button() |
| | | { |
| | | X = Application.GetRealWidth(9), |
| | | Gravity = Gravity.CenterVertical, |
| | | Width = Application.GetMinRealAverage(20), |
| | | Height = Application.GetMinRealAverage(20), |
| | | UnSelectedImagePath = "LoginIcon/Server.png", |
| | | |
| | | }; |
| | | serverView.AddChidren(btnServerIcon); |
| | | |
| | | btnServerText = new Button() |
| | | { |
| | | X = Application.GetRealWidth(49), |
| | | Width = Application.GetRealWidth(319 - 78), |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = CSS_Color.PromptingColor1, |
| | | TextSize = CSS_FontSize.TextFontSize, |
| | | TextID = StringId.PleaseSelectCountryOrRegion, |
| | | }; |
| | | serverView.AddChidren(btnServerText); |
| | | |
| | | #region 密码登录-控件加载 |
| | | btnServerGo = new Button() |
| | | { |
| | | X = Application.GetRealWidth(303), |
| | | Gravity = Gravity.CenterVertical, |
| | | Width = Application.GetMinRealAverage(16), |
| | | Height = Application.GetMinRealAverage(16), |
| | | UnSelectedImagePath = "Public/Right.png", |
| | | }; |
| | | serverView.AddChidren(btnServerGo); |
| | | |
| | | #endregion |
| | | btnServerBottomLine = new Button() |
| | | { |
| | | Y = Application.GetRealHeight(42), |
| | | BackgroundColor = CSS_Color.DividingLineColor, |
| | | SelectedBackgroundColor = CSS_Color.MainColor, |
| | | Height = Application.GetRealHeight(1), |
| | | }; |
| | | serverView.AddChidren(btnServerBottomLine); |
| | | #endregion |
| | | |
| | | int topPadding = Application.GetRealHeight(12); |
| | | #region 账号填写 |
| | | accountView = new FrameLayout() |
| | | { |
| | | X = Application.GetRealWidth(28), |
| | | Y = Application.GetRealHeight(167), |
| | | Y = serverView.Bottom + topPadding, |
| | | Width = Application.GetRealWidth(319), |
| | | Height = Application.GetRealHeight(44), |
| | | }; |
| | |
| | | X = Application.GetRealWidth(9), |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | Text = "+86", |
| | | Text = "+" + phoneZoneCode, |
| | | TextSize = CSS_FontSize.TextFontSize, |
| | | }; |
| | | if (accountType == 0) |
| | | |
| | | //跳转国家区号选择界面 |
| | | EventHandler<MouseEventArgs> eHandler = (sender, e) => { |
| | | JLCountrycode.CountryCodeView.Current.Show((countryName, code) => { |
| | | if (!string.IsNullOrEmpty(code)) |
| | | { |
| | | phoneZoneCode = code; |
| | | btnGlobalRoaming.Text = "+" + phoneZoneCode; |
| | | } |
| | | }); |
| | | }; |
| | | btnGlobalRoaming.MouseUpEventHandler += eHandler; |
| | | |
| | | if (registerType == 0) |
| | | { |
| | | accountView.AddChidren(btnGlobalRoaming); |
| | | } |
| | |
| | | TextSize = CSS_FontSize.TextFontSize, |
| | | PlaceholderTextColor = CSS_Color.PromptingColor1, |
| | | PlaceholderText = Language.StringByID(StringId.PlsEntryPhoneNumber), |
| | | IsNumberKeyboardType = true |
| | | }; |
| | | accountView.AddChidren(etAccount); |
| | | |
| | |
| | | Height = Application.GetMinRealAverage(20), |
| | | UnSelectedImagePath = "LoginIcon/AccountIcon.png", |
| | | }; |
| | | if (accountType == 1) |
| | | if (registerType == 1) |
| | | { |
| | | accountView.AddChidren(btnAccountIcon); |
| | | } |
| | |
| | | passwordView = new FrameLayout() |
| | | { |
| | | X = Application.GetRealWidth(28), |
| | | Y = Application.GetRealHeight(223), |
| | | Y = accountView.Bottom + topPadding, |
| | | Width = Application.GetRealWidth(319), |
| | | Height = Application.GetRealHeight(44), |
| | | }; |
| | |
| | | repeatPasswordView = new FrameLayout() |
| | | { |
| | | X = Application.GetRealWidth(28), |
| | | Y = Application.GetRealHeight(279), |
| | | Y = passwordView.Bottom + topPadding, |
| | | Width = Application.GetRealWidth(319), |
| | | Height = Application.GetRealHeight(44), |
| | | }; |
| | |
| | | verificationCodeView = new FrameLayout() |
| | | { |
| | | X = Application.GetRealWidth(28), |
| | | Y = Application.GetRealHeight(335), |
| | | Y = repeatPasswordView.Bottom + topPadding, |
| | | //Y = Application.GetRealHeight(335), |
| | | Width = Application.GetRealWidth(319), |
| | | Height = Application.GetRealHeight(44), |
| | | }; |
| | |
| | | TextSize = CSS_FontSize.TextFontSize, |
| | | PlaceholderTextColor = CSS_Color.PromptingColor1, |
| | | PlaceholderText = Language.StringByID(StringId.PlsEntryVerificationCode), |
| | | IsNumberKeyboardType = true |
| | | }; |
| | | verificationCodeView.AddChidren(etVerificationCode); |
| | | |
| | | btnGetVerificationCode = new Button() |
| | | btnGetVerificationCode_Phone = new Button() |
| | | { |
| | | X = Application.GetRealWidth(219), |
| | | Width = Application.GetRealWidth(100), |
| | |
| | | TextAlignment = TextAlignment.CenterRight, |
| | | TextSize = CSS_FontSize.PromptFontSize_FirstLevel, |
| | | }; |
| | | verificationCodeView.AddChidren(btnGetVerificationCode); |
| | | verificationCodeView.AddChidren(btnGetVerificationCode_Phone); |
| | | |
| | | btnGetVerificationCode_Mail = new Button() |
| | | { |
| | | X = Application.GetRealWidth(219), |
| | | Width = Application.GetRealWidth(100), |
| | | TextID = StringId.GetVerificationCode, |
| | | SelectedTextColor = CSS_Color.MainColor, |
| | | TextColor = CSS_Color.PromptingColor1, |
| | | TextAlignment = TextAlignment.CenterRight, |
| | | TextSize = CSS_FontSize.PromptFontSize_FirstLevel, |
| | | Visible = false |
| | | }; |
| | | verificationCodeView.AddChidren(btnGetVerificationCode_Mail); |
| | | |
| | | btnVerificationCodeViewBottomLine = new Button() |
| | | { |
| | |
| | | btnRegister = new Button() |
| | | { |
| | | Gravity = Gravity.CenterHorizontal, |
| | | Y = Application.GetRealHeight(421), |
| | | Y = verificationCodeView.Bottom + Application.GetRealHeight(42), |
| | | //Y = Application.GetRealHeight(421), |
| | | Width = Application.GetRealWidth(220), |
| | | Height = Application.GetRealHeight(44), |
| | | Radius = (uint)Application.GetRealHeight(22), |
| | | Height = Application.GetRealWidth(44), |
| | | Radius = (uint)Application.GetRealWidth(22), |
| | | SelectedBackgroundColor = CSS_Color.MainColor, |
| | | BackgroundColor = CSS_Color.PromptingColor1, |
| | | TextID = StringId.Register, |
| | |
| | | Thread.Sleep(1500); |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | //创建登录线程 |
| | | var loginThread = LoadThread_Login(account, password); |
| | | waitPage = new Loading(); |
| | | new PublicAssmebly().LoadPage_WaitPage(loginThread, bodyView, waitPage); |
| | | ////创建登录线程 |
| | | //var loginThread = LoadThread_Login(account, password); |
| | | //waitPage = new Loading(); |
| | | //new PublicAssmebly().LoadPage_WaitPage(loginThread, bodyView, waitPage); |
| | | dialog.Close(); |
| | | |
| | | var isPhone = registerType == 0; |
| | | AutoLoginAction?.Invoke(account, password, isPhone); |
| | | }); |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | } |
| | | |
| | | #region 登录线程部分 |
| | | /// <summary> |
| | | /// 加载登录线程 |
| | | /// </summary> |
| | | Thread LoadThread_Login(string account,string password) |
| | | { |
| | | var loginThread = new Thread(() => |
| | | { |
| | | try |
| | | { |
| | | //登录 |
| | | var loginResult = LoadMethod_Login(account,password); |
| | | if (loginResult) |
| | | { |
| | | //获取住宅信息 |
| | | var getResidencesResult = LoadMethod_GetResidences(); |
| | | if (getResidencesResult) |
| | | { |
| | | /* |
| | | * Wait : 推送注册 |
| | | */ |
| | | //#region 登录线程部分 |
| | | ///// <summary> |
| | | ///// 加载登录线程 |
| | | ///// </summary> |
| | | //Thread LoadThread_Login(string account,string password) |
| | | //{ |
| | | // var loginThread = new Thread(() => |
| | | // { |
| | | // try |
| | | // { |
| | | // //登录 |
| | | // var loginResult = LoadMethod_Login(account,password); |
| | | // if (loginResult) |
| | | // { |
| | | // //获取住宅信息 |
| | | // var getResidencesResult = LoadMethod_GetResidences(); |
| | | // if (getResidencesResult) |
| | | // { |
| | | // /* |
| | | // * Wait : 推送注册 |
| | | // */ |
| | | |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | waitPage.RemoveFromParent(); |
| | | waitPage = null; |
| | | // Application.RunOnMainThread(() => |
| | | // { |
| | | // waitPage.RemoveFromParent(); |
| | | // waitPage = null; |
| | | |
| | | //跳转页面---- |
| | | MainPage.GoUserPage(); |
| | | }); |
| | | } |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MainPage.Log($"LoginPage : {ex.Message}"); |
| | | } |
| | | }) |
| | | { IsBackground = true }; |
| | | return loginThread; |
| | | } |
| | | // //跳转页面---- |
| | | // MainPage.GoUserPage(); |
| | | // }); |
| | | // } |
| | | // } |
| | | // } |
| | | // catch (Exception ex) |
| | | // { |
| | | // MainPage.Log($"LoginPage : {ex.Message}"); |
| | | // } |
| | | // }) |
| | | // { IsBackground = true }; |
| | | // return loginThread; |
| | | //} |
| | | |
| | | /// <summary> |
| | | /// 调用登录接口登录 |
| | | /// </summary> |
| | | bool LoadMethod_Login(string account, string password) |
| | | { |
| | | var result = false; |
| | | //调用登录接口 |
| | | var loginResult = pm.LoginByPassword(account, password); |
| | | if (loginResult.StateCode.ToUpper() == "SUCCESS") |
| | | { |
| | | var loginDataStr = Newtonsoft.Json.Linq.JObject.FromObject(loginResult.ResponseData); |
| | | ///// <summary> |
| | | ///// 调用登录接口登录 |
| | | ///// </summary> |
| | | //bool LoadMethod_Login(string account, string password) |
| | | //{ |
| | | // var result = false; |
| | | // //调用登录接口 |
| | | // var loginResult = pm.LoginByPassword(account, password); |
| | | // if (loginResult.Code == StateCode.SUCCESS) |
| | | // { |
| | | // var revertData = Newtonsoft.Json.JsonConvert.DeserializeObject<UserLoginRes>(loginResult.Data.ToString()); |
| | | // // UserInfo.Current = new UserInfo |
| | | // //{ |
| | | // // userType = revertData.userType, |
| | | // // accountString = account, |
| | | // // password = password, |
| | | // // lastTime = DateTime.Now, |
| | | // // ID = revertData.userId, |
| | | // // loginTokenString = revertData.headerPrefix + revertData.accessToken, |
| | | // // refreshToken = revertData.refreshToken, |
| | | // // userName = revertData.name |
| | | // //}; |
| | | // UserInfo.Current.userType = revertData.userType; |
| | | // UserInfo.Current.AccountString = account; |
| | | // //UserInfo.Current.password = password; |
| | | // UserInfo.Current.LastTime = DateTime.Now; |
| | | // UserInfo.Current.ID = revertData.userId; |
| | | // UserInfo.Current.LoginTokenString = revertData.headerPrefix + revertData.accessToken; |
| | | // UserInfo.Current.RefreshToken = revertData.refreshToken; |
| | | // UserInfo.Current.userName = revertData.name; |
| | | |
| | | //记录用户数据 |
| | | MainPage.LoginUser = new UserInfo |
| | | { |
| | | ID = (int)loginDataStr.GetValue("UserID"), |
| | | masterID = (int)loginDataStr.GetValue("MainUserID"), |
| | | accountType = (int)loginDataStr.GetValue("UserType"), |
| | | accountString = account, |
| | | password = password, |
| | | lastTime = DateTime.Now, |
| | | SIP_Account = loginDataStr.GetValue("AllVisionRegisterDevUserNameGuid").ToString(), |
| | | userName = loginDataStr.GetValue("Remark").ToString(), |
| | | }; |
| | | MainPage.LoginUser.SaveUserInfo(); |
| | | MainPage.Log("登录成功。"); |
| | | result = true; |
| | | // UserInfo.Current.SaveUserInfo(); |
| | | // MainPage.Log("登录成功。"); |
| | | // result = true; |
| | | // } |
| | | // else |
| | | // { |
| | | // //登录失败 |
| | | // IMessageCommon.Current.ShowErrorInfoAlter(loginResult.Code); |
| | | // Application.RunOnMainThread(() => |
| | | // { |
| | | // btnPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; |
| | | // btnPasswordViewBottomLine.Height = Application.GetRealHeight(2); |
| | | // }); |
| | | // } |
| | | // return result; |
| | | //} |
| | | |
| | | |
| | | } |
| | | //登录失败 |
| | | else |
| | | { |
| | | string tipStr = "Sever erorr"; |
| | | switch (loginResult.StateCode) |
| | | { |
| | | case "USERNAMEORPWDERROR": |
| | | tipStr = Language.StringByID(StringId.LoginFailed_AccountOrPasswordError); |
| | | break; |
| | | case "Self:Net_Error": |
| | | tipStr = Language.StringByID(StringId.NetworkAnomaly); |
| | | break; |
| | | } |
| | | //账号或者密码错误 |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | //提示原因 |
| | | var tip = new Tip() |
| | | { |
| | | Text = tipStr, |
| | | CloseTime = 3, |
| | | Direction = AMPopTipDirection.None |
| | | }; |
| | | tip.Show(bodyView); |
| | | btnPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; |
| | | btnPasswordViewBottomLine.Height = Application.GetRealHeight(2); |
| | | }); |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取住宅列表 |
| | | /// </summary> |
| | | bool LoadMethod_GetResidences() |
| | | { |
| | | var result = false; |
| | | var responsePack = pm.GetHomePager(); |
| | | if (responsePack == "Success") |
| | | { |
| | | } |
| | | else |
| | | { |
| | | var tipStr = "Server erorr"; |
| | | switch (responsePack) |
| | | { |
| | | case "NoLogin": |
| | | tipStr = Language.StringByID(StringId.InvalidLoginCertificate); |
| | | break; |
| | | } |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | //提示原因 |
| | | var tip = new Tip() |
| | | { |
| | | Text = tipStr, |
| | | CloseTime = 3, |
| | | Direction = AMPopTipDirection.None |
| | | }; |
| | | tip.Show(bodyView); |
| | | }); |
| | | |
| | | } |
| | | return result; |
| | | } |
| | | #endregion |
| | | ///// <summary> |
| | | ///// 获取住宅列表 |
| | | ///// </summary> |
| | | //bool LoadMethod_GetResidences() |
| | | //{ |
| | | // var result = false; |
| | | // var responsePack = pm.GetHomePager(); |
| | | // if (responsePack == StateCode.SUCCESS) |
| | | // { |
| | | // //2020-11-13 待确认,没有住宅,不算登录成功 |
| | | // if (UserInfo.Current.regionList != null && UserInfo.Current.regionList.Count > 0) |
| | | // { |
| | | // result = true; |
| | | // } |
| | | // } |
| | | // else |
| | | // { |
| | | // IMessageCommon.Current.ShowErrorInfoAlter(responsePack); |
| | | // } |
| | | // return result; |
| | | //} |
| | | //#endregion |
| | | } |
| | | } |