From b2021c30213b9520a0db20d1a4ff892446fea36c Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期五, 11 十一月 2022 13:49:57 +0800
Subject: [PATCH] 注销账号功能

---
 HDL_ON/UI/UI2/4-PersonalCenter/CancelAccountPage.cs |  285 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 284 insertions(+), 1 deletions(-)

diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/CancelAccountPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/CancelAccountPage.cs
index 34fd56e..c64c35c 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/CancelAccountPage.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/CancelAccountPage.cs
@@ -2,6 +2,7 @@
 using Shared;
 using HDL_ON.UI.CSS;
 using Xamarin.Essentials;
+using HDL_ON.DAL.Server;
 
 namespace HDL_ON.UI
 {
@@ -24,7 +25,277 @@
         /// <summary>
         /// 
         /// </summary>
-        public void LoadPage()
+        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<UMode>(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 = Language.StringByID(StringId.PlsEntryPhoneNumber),
+                TextAlignment = TextAlignment.CenterLeft,
+            };
+            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(403),
+                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);
+
+            string account = "";
+            etAccount.TextChangeEventHandler = (sender, e) =>
+            {
+                account = etAccount.Text.Trim();
+                if (account.Length > 0 && etPassword.Text.Trim().Length > 0)
+                {
+                    btnLogin.IsSelected = true;
+                }
+                else
+                {
+                    btnLogin.IsSelected = false;
+                }
+            };
+            etPassword.TextChangeEventHandler += (sender, e) =>
+            {
+                if (etAccount.Text.Trim().Length > 0 && etPassword.Text.Trim().Length > 0)
+                {
+                    btnLogin.IsSelected = true;
+                }
+                else
+                {
+                    btnLogin.IsSelected = false;
+                }
+            };
+
+            btnLogin.MouseUpEventHandler = (sender,e) =>{
+                if (btnLogin.IsSelected)
+                {
+                    var tipMsg = "*鎮ㄥ綋鍓嶆鍦ㄦ敞閿�璐︽埛锛屾敞閿�瀹屾垚鍚庯紝鎮ㄥ湪On Pro App鐨勬墍鏈夋暟鎹潎浼氳鍒犻櫎锛岃璋ㄦ厧鎿嶄綔銆�";
+                    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()
+                                        {
+                                            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();
 
@@ -206,4 +477,16 @@
 
     }
 
+    class UMode
+    {
+        public string appCode;
+        public string version;
+        public string releaseSystem;
+        /// <summary>
+        /// APP 锛氱敤鎴峰湪app涓婅嚜鍔╂敞閿�
+        /// APPLY 锛� 鐢ㄦ埛鍙戦偖浠剁粰鍏徃鐢宠娉ㄩ攢
+        /// </summary>
+        public string model;
+    }
+
 }

--
Gitblit v1.8.0