using System; using Shared; using HDL_ON.UI.CSS; using Xamarin.Essentials; using HDL_ON.DAL.Server; namespace HDL_ON.UI { public class CancelAccountPage : FrameLayout { /// /// /// FrameLayout bodyView; /// /// /// public CancelAccountPage() { bodyView = this; BackgroundColor = CSS_Color.MainBackgroundColor; } /// /// /// public void LoadPage() { var loading = new Loading(); this.AddChidren(loading); loading.Start(""); new System.Threading.Thread(() => { try { var pack = new HttpServerRequest().GetUnregisterModel(); if (pack.Code == StateCode.SUCCESS) { var data = Newtonsoft.Json.JsonConvert.DeserializeObject(pack.Data.ToString()); Application.RunOnMainThread(() => { if (data != null) { if (data.model == "APP") { InitView_PreRelease(); } else { InitView_Release(); } } else { InitView_PreRelease(); } }); } else { Application.RunOnMainThread(() => { InitView_PreRelease(); }); } } catch { Application.RunOnMainThread(() => { InitView_PreRelease(); }); } finally { Application.RunOnMainThread(() => { if (loading != null) { loading.Hide(); loading.RemoveFromParent(); loading = null; } }); } }) { IsBackground = true }.Start(); } public void InitView_PreRelease() { new TopViewDiv(bodyView, Language.StringByID(StringId.CancelAccount)).LoadTopView(CSS_Color.MainBackgroundColor); bodyView.BackgroundColor = CSS_Color.BackgroundColor; var textView = new Button() { Gravity = Gravity.CenterHorizontal, Y = Application.GetRealHeight(64 + 16), Height = Application.GetRealHeight(90), Width = Application.GetRealWidth(343), Padding = new Padding(Application.GetRealWidth(16), Application.GetRealWidth(16), Application.GetRealWidth(16), Application.GetRealWidth(16)), IsMoreLines = true, TextSize = CSS_FontSize.TextFontSize, TextAlignment = TextAlignment.TopLeft, TextColor = CSS_Color.FirstLevelTitleColor, Radius = (uint)Application.GetRealHeight(14), BackgroundColor = 0x174484F4, }; if (Language.CurrentLanguage == "Chinese") { textView.Text = "*注销账户是不可恢复的操作,注销账户之后,您App所有账户数据(包括昵称、头像、二维码照片等)都会被删除,且无法再找回。"; } else { textView.Text = "*Account cancellation is an irreversible operation. After account cancellation, all account data (including nickname, avatar, QR code photo, etc.) of your app will be deleted and cannot be retrieved."; } bodyView.AddChidren(textView); #region 账号填写 var accountView = new FrameLayout() { Gravity = Gravity.CenterHorizontal, Y = Application.GetRealHeight(132 + 50), Width = Application.GetRealWidth(343), Height = Application.GetRealHeight(50), BackgroundColor = CSS_Color.MainBackgroundColor, Radius = (uint)Application.GetRealHeight(25), }; bodyView.AddChidren(accountView); var etAccount = new EditText() { X = Application.GetRealWidth(58), Width = Application.GetRealWidth(343 - 68), TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.TextFontSize, PlaceholderTextColor = CSS_Color.PromptingColor1, PlaceholderText = UserInfo.Current.AccountString,// Language.StringByID(StringId.PlsEntryPhoneNumber), TextAlignment = TextAlignment.CenterLeft, Enable = false }; accountView.AddChidren(etAccount); var btnAccountIcon = new Button() { X = Application.GetRealWidth(26), Gravity = Gravity.CenterVertical, Width = Application.GetMinRealAverage(20), Height = Application.GetMinRealAverage(20), UnSelectedImagePath = "LoginIcon/AccountIcon.png", }; accountView.AddChidren(btnAccountIcon); #endregion #region 密码填写 var passwordView = new FrameLayout() { Gravity = Gravity.CenterHorizontal, Y = Application.GetRealHeight(211 + 40), Width = Application.GetRealWidth(343), Height = Application.GetRealHeight(50), Radius = (uint)Application.GetRealHeight(25), BackgroundColor = CSS_Color.MainBackgroundColor, }; bodyView.AddChidren(passwordView); var btnPasswordIcon = new Button() { X = Application.GetRealWidth(26), Gravity = Gravity.CenterVertical, Width = Application.GetMinRealAverage(20), Height = Application.GetMinRealAverage(20), UnSelectedImagePath = "LoginIcon/PasswordIcon.png", }; passwordView.AddChidren(btnPasswordIcon); var etPassword = new EditText() { X = Application.GetRealWidth(58), Width = Application.GetRealWidth(343 - 68), TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.TextFontSize, PlaceholderTextColor = CSS_Color.PromptingColor1, PlaceholderText = Language.StringByID(StringId.PlsEntryPassword), SecureTextEntry = true, TextAlignment = TextAlignment.CenterLeft, }; passwordView.AddChidren(etPassword); #endregion var btnLogin = new Button() { Gravity = Gravity.CenterHorizontal, Y = Application.GetRealHeight(353), Width = Application.GetRealWidth(220), Height = Application.GetRealWidth(44), Radius = (uint)Application.GetRealWidth(22), SelectedBackgroundColor = CSS_Color.MainColor, BackgroundColor = CSS_Color.PromptingColor1, TextID = StringId.Cancellation, TextSize = CSS_FontSize.SubheadingFontSize, TextColor = CSS_Color.MainBackgroundColor, TextAlignment = TextAlignment.Center, }; bodyView.AddChidren(btnLogin); etPassword.TextChangeEventHandler += (sender, e) => { if ( etPassword.Text.Trim().Length > 0) { btnLogin.IsSelected = true; } else { btnLogin.IsSelected = false; } }; btnLogin.MouseUpEventHandler = (sender,e) =>{ if (btnLogin.IsSelected) { var tipMsg = "*您当前正在注销账户,注销完成后,您的所有数据均会被删除,请谨慎操作。"; if(Language.CurrentLanguage!= "Chinese") { tipMsg = "*You are currently canceling your account. After completing the cancellation, all your data will be deleted.Please operate with caution."; } Action action = () => { var loading = new Loading(); this.AddChidren(loading); loading.Start(""); var pwd = etPassword.Text.Trim(); new System.Threading.Thread(() => { try { var pack = new HttpServerRequest().Unregister(pwd); Application.RunOnMainThread(() => { if (pack.Code == StateCode.SUCCESS) { //Action okAction = () => //{ HDLCommon.Current.Logout(); //}; //new ConfirmDialog().ShowDialog(StringId.Tip, StringId.IfConfirmLogout, okAction); } else { var tip = new Tip() { MaxWidth = Application.GetRealWidth(300), Text = pack.message, CloseTime = 3, Direction = AMPopTipDirection.None }; tip.Show(bodyView); } }); } catch { } finally { Application.RunOnMainThread(() => { if (loading != null) { loading.Hide(); loading.RemoveFromParent(); loading = null; } }); } }) { IsBackground = true }.Start(); }; new PublicAssmebly().TipOptionMsg(StringId.CancelAccount, tipMsg, action, 20); } }; } public void InitView_Release() { new TopViewDiv(bodyView, Language.StringByID(StringId.CancelAccount)).LoadTopView(); var textView = new Button() { Y = Application.GetRealHeight(64), Height = Application.GetRealHeight(150), Padding = new Padding( Application.GetRealWidth(16), Application.GetRealWidth(16), Application.GetRealWidth(16), Application.GetRealWidth(16)), IsMoreLines = true, TextSize = CSS_FontSize.SubheadingFontSize, TextAlignment = TextAlignment.TopLeft, TextColor = CSS_Color.FirstLevelTitleColor, }; if(Language.CurrentLanguage == "Chinese") { textView.Text = "您可通过电话专线与电子邮件的形式向我们申请注销账户,我们收到您的申请后,会第一时间安排工程人员对您App应用账户数据、以及智能家居智能硬件本地数据全部删除!"; } else { textView.Text = "You can apply to us for cancellation of your account through special telephone line and e-mail. After receiving your application, we will arrange engineers to delete all your app account data and local data of smart home smart hardware at the first time!"; } bodyView.AddChidren(textView); #region 投诉联系 FrameLayout phoneRow = new FrameLayout() { Y = Application.GetRealHeight(214), Height = Application.GetRealWidth(50), }; bodyView.AddChidren(phoneRow); Button btnPhoneTitle = new Button() { X = Application.GetRealWidth(16), Width = Application.GetRealWidth(48), TextID = StringId.Telephone, TextSize = CSS_FontSize.SubheadingFontSize, TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.FirstLevelTitleColor, }; phoneRow.AddChidren(btnPhoneTitle); if (Language.CurrentLanguage == "English") { btnPhoneTitle.Text = "Tel.:"; } Button btnPhoneText = new Button() { X = btnPhoneTitle.Right, Width = Application.GetRealWidth(266), TextAlignment = TextAlignment.CenterLeft, TextSize = CSS_FontSize.TextFontSize, TextColor = CSS_Color.FirstLevelTitleColor, Text = "400 855 8535", }; phoneRow.AddChidren(btnPhoneText); /// /// 前进图标 /// var btnImage = new Button() { X = Application.GetRealWidth(343), Gravity = Gravity.CenterVertical, Width = Application.GetRealWidth(16), Height = Application.GetRealWidth(16), UnSelectedImagePath = "Public/Right.png", }; phoneRow.AddChidren(btnImage); phoneRow.AddChidren(new Button() { X = Application.GetRealWidth(16), Y = Application.GetRealWidth(49), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor }); EventHandler eventHandler = (sender, e) => { PhoneDialer.Open(Constant.SUPPORT_TELEPHONENUMBER); }; phoneRow.MouseUpEventHandler = eventHandler; btnPhoneText.MouseUpEventHandler = eventHandler; btnImage.MouseUpEventHandler = eventHandler; #endregion #region 联系邮箱 FrameLayout emailRow = new FrameLayout() { Y = phoneRow.Bottom, Height = Application.GetRealWidth(54), }; bodyView.AddChidren(emailRow); Button btnEmailTitle = new Button() { X = Application.GetRealWidth(16), Width = Application.GetRealWidth(48), TextID = StringId.Email_, TextSize = CSS_FontSize.SubheadingFontSize, TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.FirstLevelTitleColor, }; emailRow.AddChidren(btnEmailTitle); Button btnEmailText = new Button() { X = btnEmailTitle.Right, Y = Application.GetRealWidth(8), Height = Application.GetRealWidth(20), Width = Application.GetRealWidth(266), TextAlignment = TextAlignment.CenterLeft, TextSize = CSS_FontSize.TextFontSize, TextColor = CSS_Color.FirstLevelTitleColor, Text = Constant.SUPPORT_EMAIL, }; emailRow.AddChidren(btnEmailText); Button btnEmailTipText = new Button() { X = btnEmailTitle.Right, Y = btnEmailText.Bottom + Application.GetRealWidth(4), Height = Application.GetRealWidth(25), Width = Application.GetRealWidth(266), TextAlignment = TextAlignment.TopLeft, TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, TextColor = CSS_Color.PromptingColor1, TextID = StringId.WillGivePriorityToTheTreatmen, }; emailRow.AddChidren(btnEmailTipText); if (Language.CurrentLanguage == "English") { btnEmailTitle.Width = Application.GetRealWidth(80); emailRow.Height = Application.GetRealWidth(65); btnEmailTipText.IsMoreLines = true; } /// /// 前进图标 /// var btnImage2 = new Button() { X = Application.GetRealWidth(343), Gravity = Gravity.CenterVertical, Width = Application.GetRealWidth(16), Height = Application.GetRealWidth(16), UnSelectedImagePath = "Public/Right.png", }; emailRow.AddChidren(btnImage2); emailRow.AddChidren(new Button() { X = Application.GetRealWidth(16), Y = emailRow.Height - Application.GetRealHeight(1), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor }); EventHandler eventHandler2 = (sender, e) => { CopyToClipboard(Constant.SUPPORT_EMAIL); }; emailRow.MouseUpEventHandler = eventHandler2; btnEmailText.MouseUpEventHandler = eventHandler2; btnImage2.MouseUpEventHandler = eventHandler2; #endregion } /// /// 复制到剪切板 /// /// void CopyToClipboard(string text) { Clipboard.SetTextAsync(text); Utlis.ShowTip(text + "\n" + Language.StringByID(StringId.CopySuccess)); } bool isPublishingMode() { DAL.Server.HttpServerRequest http = new DAL.Server.HttpServerRequest(); return true; } } class UMode { public string appCode; public string version; public string releaseSystem; /// /// APP :用户在app上自助注销 /// APPLY : 用户发邮件给公司申请注销 /// public string model; } }