From 43b0d5870d528f23ecd6aeceb6cfd4325188b46f Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期四, 01 七月 2021 15:50:43 +0800
Subject: [PATCH] Revert "1"

---
 HDL_ON/UI/UI1-Login/LoginPage.cs | 1251 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 1,251 insertions(+), 0 deletions(-)

diff --git a/HDL_ON/UI/UI1-Login/LoginPage.cs b/HDL_ON/UI/UI1-Login/LoginPage.cs
new file mode 100644
index 0000000..ad0b7f9
--- /dev/null
+++ b/HDL_ON/UI/UI1-Login/LoginPage.cs
@@ -0,0 +1,1251 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text.RegularExpressions;
+using System.Threading;
+using HDL_ON.DAL.Server;
+using HDL_ON.Entity;
+using HDL_ON.UI.CSS;
+using Shared;
+
+namespace HDL_ON.UI.UI1Login
+{
+    public partial class LoginPage : FrameLayout
+    {
+        public LoginPage()
+        {
+            //bodyView = new FrameLayout();
+            //AddChidren(bodyView);
+            bodyView = this;
+            //2020-12-22 澧炲姞鐐瑰嚮闅愯棌閿洏浜嬩欢
+            bodyView.MouseDownEventHandler += (sender, e) => {
+                Application.HideSoftInput();
+            };
+            pm = new HttpServerRequest();
+        }
+
+        public override void RemoveFromParent()
+        {
+            //濡傛灉褰撳墠鐣岄潰瀛樺湪姝e湪绛夊緟鏁版嵁鐨勬儏鍐碉紝鍏堝皢璇ュ姩浣滃叧鎺�
+            if (waitPage != null)
+            {
+                waitPage.RemoveFromParent();
+                waitPage = null;
+            }
+
+            base.RemoveFromParent();
+
+            ////2020-12-22 澧炲姞鐐瑰嚮闅愯棌閿洏浜嬩欢
+            //Application.HideSoftInput();
+        }
+
+        #region 灞�閮ㄥ彉閲�
+        /// <summary>
+        /// 鐧诲綍绫诲瀷
+        /// 0:鎵嬫満
+        /// 1:閭
+        /// </summary>
+        int loginType = 0;
+        /// <summary>
+        /// 鐧诲綍鏂瑰紡
+        /// 0:瀵嗙爜
+        /// 1:楠岃瘉鐮�
+        /// </summary>
+        int logintMode = 0;
+        string account = "";
+        string password = "";
+        #endregion
+
+        #region 鎺т欢鍒楄〃
+        /// <summary>
+        /// 绛夊緟鎻愮ず
+        /// </summary>
+        Loading waitPage;
+        /// <summary>
+        /// 褰撳墠鐣岄潰
+        /// </summary>
+        FrameLayout bodyView;
+        /// <summary>
+        /// 閫夋嫨鎵嬫満鐧诲綍鎸夐挳
+        /// </summary>
+        Button btnPhoneLogin;
+        /// <summary>
+        /// 閫夋嫨閭鐧诲綍鎸夐挳
+        /// </summary>
+        Button btnEmailLogin;
+        /// <summary>
+        /// 璐﹀彿瀛愬尯鍩�
+        /// </summary>
+        FrameLayout accountView;
+        /// <summary>
+        /// 鍥介檯鍖哄彿鎸夐挳
+        /// </summary>
+        Button btnGlobalRoaming;
+        /// <summary>
+        /// 璐﹀彿瀛愬尯鍩熼噷闈㈢殑鍒嗗壊绾�
+        /// </summary>
+        Button btnDividingLineVertical_AccountView;
+        /// <summary>
+        /// 璐﹀彿鏂囨湰妗�
+        /// </summary>
+        EditText etAccount;
+        /// <summary>
+        /// 璐﹀彿Icon鎸夐挳
+        /// </summary>
+        Button btnAccountIcon;
+        /// <summary>
+        /// 瀵嗙爜瀛愬尯鍩�
+        /// </summary>
+        FrameLayout passwordView;
+        /// <summary>
+        /// 瀵嗙爜Icon鎸夐挳
+        /// </summary>
+        Button btnPasswordIcon;
+        /// <summary>
+        /// 瀵嗙爜鏂囨湰妗�
+        /// </summary>
+        EditText etPassword;
+        /// <summary>
+        /// 瀵嗙爜瀛愬尯鍩熼噷闈㈢殑鍒嗗壊绾�1
+        /// </summary>
+        Button btnDividingLineVertical_PasswordView1;
+        /// <summary>
+        /// 瀵嗙爜瀛愬尯鍩熼噷闈㈢殑鍒嗗壊绾�2
+        /// </summary>
+        Button btnDividingLineVertical_PasswordView2;
+        /// <summary>
+        /// 蹇樿瀵嗙爜鎸夐挳
+        /// </summary>
+        Button btnForgetPassword;
+        /// <summary>
+        /// 鑾峰彇鎵嬫満楠岃瘉鐮佹寜閽�
+        /// </summary>
+        Button btnGetVerificationCode;
+        /// <summary>
+        /// 瀵嗙爜鏄惁鍙鎸夐挳
+        /// </summary>
+        Button btnVisiblePassword;
+        /// <summary>
+        /// 璐﹀彿瀛愬尯鍩熷簳閮ㄦí绾�
+        /// </summary>
+        Button btnAccountViewBottomLine;
+        /// <summary>
+        /// 瀵嗙爜瀛愬尯鍩熷簳閮ㄦí绾�
+        /// </summary>
+        Button btnPasswordViewBottomLine;
+        /// <summary>
+        /// 娉ㄥ唽鎸夐挳
+        /// </summary>
+        Button btnRegister;
+        /// <summary>
+        /// 楠岃瘉鐮佺櫥褰曟寜閽�
+        /// </summary>
+        Button btnSwitchLoginMode;
+        /// <summary>
+        /// 鐧诲綍鎸夐挳
+        /// </summary>
+        Button btnLogin;
+        /// <summary>
+        /// 鏈嶅姟鍣ㄨ姹傚璞�
+        /// </summary>
+        HttpServerRequest pm;
+        #endregion
+
+        string verAccount = "";
+
+        /// <summary>
+        /// 
+        /// </summary>
+        string registerPhone;
+        string registerEmail;
+        /// <summary>
+        /// 鎵嬫満鍖哄彿
+        /// </summary>
+        string phoneZoneCode = "86";
+
+        /// <summary>
+        /// 鍔犺浇瑙嗗浘
+        /// </summary>
+        public void LoadView(UserInfo userInfo = null)
+        {
+            var btnIcon = new Button()
+            {
+                X = Application.GetRealWidth(28),
+                Y = Application.GetRealHeight(73),
+                Width = Application.GetMinRealAverage(62),
+                Height = Application.GetMinRealAverage(62),
+                UnSelectedImagePath = "Public/Logo.png",
+            };
+            bodyView.AddChidren(btnIcon);
+
+            var btnIcon_bg = new Button()
+            {
+                X = Application.GetRealWidth(171),
+                Y = Application.GetRealHeight(69),
+                Width = Application.GetMinRealAverage(254),
+                Height = Application.GetMinRealAverage(156),
+                UnSelectedImagePath = "Public/Logo-bg.png"
+            };
+            bodyView.AddChidren(btnIcon_bg);
+
+#if DEBUG
+            btnIcon_bg.MouseUpEventHandler += (sender, e) =>
+            {
+                return;
+                
+            };
+
+            bool b = false;
+            btnIcon.MouseUpEventHandler += (sender, e) =>
+            {
+                //ESOnVideo.Current.Test(false);
+
+                //return;
+                if (b)
+                {
+                    etAccount.Text = "tf@smarttech.com.ua";//鍥藉璐﹀彿锛屾湁浣忓畢锛岀櫥褰曟棤娉曟樉绀�
+                    //etAccount.Text = "13375012446";//娴嬭瘯鏈嶅姟鍣�
+                    //etAccount.Text = "1033326940@qq.com";
+                    //etAccount.Text = "18022428438";//wjc
+                    //etAccount.Text = "13602944661";//kx
+                    //etAccount.Text = "13226233133";//璞嗚眴
+                    //etAccount.Text = "18316672920";//lcg "18316672920";//hzx;// "13415629083"//cf;;
+                    //etAccount.Text = "18316120654";//tujie
+                    // "15622703419"lwn;// "18824864143";//"464027401@qq.com"; //"2791308028@qq.com";//13697499568 
+                }
+                else
+                {
+                    etAccount.Text = "15626203746";
+                    //etAccount.Text = "15018447586";//闊充箰鏁伴噺鍒锋柊闂
+                    //etAccount.Text = "464027401@qq.com";//
+                    //etAccount.Text = "15217626103";//
+                    //etAccount.Text = "13682244600";//娉㈠摜
+                    //etAccount.Text = "13168123446";//鏄嗘槑閲戣寕椤圭洰锛屾柊椋庨棶棰�
+                    //etAccount.Text = "BB01010101@evoyo.com";//鍙瀵硅
+                    //etAccount.Text = "13168123446";
+                    //etAccount.Text = "13676202754";//宸存灄鏈嶅姟鍣�
+                    //etAccount.Text = "13602944661";//kx
+                    //etAccount.Text = "551775569@qq.com";//wcf
+                    //etAccount.Text = "18666455392";//13375012446//13602944661//tzy 18778381374
+                    //etAccount.Text = "15971583093";// gs//tzy 274116637@qq.com//Sumant.Bhatia@havells.com 鍥藉鏈嶅姟鍣ㄦ祴璇�
+                }
+                b = !b;
+                etPassword.Text = "123456";
+                btnLogin.IsSelected = true;
+            };
+#endif
+
+            #region 鐧诲綍鏂瑰紡閫夋嫨
+            btnPhoneLogin = new Button()
+            {
+                X = Application.GetRealWidth(28),
+                Y = Application.GetRealHeight(177),
+                Width = Application.GetRealWidth(150),
+                Height = Application.GetRealHeight(40),
+                TextID = StringId.LoginByPhone,
+                TextColor = CSS_Color.MainColor,
+                TextAlignment = TextAlignment.CenterLeft,
+                TextSize = CSS_FontSize.EmphasisFontSize_Secondary,
+            };
+            bodyView.AddChidren(btnPhoneLogin);
+
+            btnEmailLogin = new Button()
+            {
+                X = btnPhoneLogin.Right ,//+ Application.GetRealWidth(20),
+                Y = Application.GetRealHeight(177),
+                Width = Application.GetRealWidth(140),
+                Height = Application.GetRealHeight(40),
+                TextID = StringId.LoginByEmail,
+                TextColor = CSS_Color.PromptingColor1,
+                TextAlignment = TextAlignment.Center,
+                TextSize = CSS_FontSize.TextFontSize,
+            };
+            bodyView.AddChidren(btnEmailLogin);
+            #endregion
+
+            #region 璐﹀彿濉啓
+            accountView = new FrameLayout()
+            {
+                X = Application.GetRealWidth(28),
+                Y = Application.GetRealHeight(232),
+                Width = Application.GetRealWidth(319),
+                Height = Application.GetRealHeight(44),
+            };
+            bodyView.AddChidren(accountView);
+
+            btnGlobalRoaming = new Button()
+            {
+                Width = Application.GetRealWidth(65),
+                TextAlignment = TextAlignment.Center,
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                Text = "+" + phoneZoneCode,
+                TextSize = CSS_FontSize.TextFontSize,
+                Enable = true,
+            };
+
+            //璺宠浆鍥藉鍖哄彿閫夋嫨鐣岄潰
+            EventHandler<MouseEventArgs> eHandler = (sender, e) =>
+            {
+                JLCountrycode.CountryCodeView.Current.Show((countryName, code) =>
+                {
+                    if (!string.IsNullOrEmpty(code))
+                    {
+                        phoneZoneCode = code;
+                        btnGlobalRoaming.Text = "+" + phoneZoneCode;
+                    }
+                });
+            };
+            btnGlobalRoaming.MouseUpEventHandler += eHandler;
+
+            if (loginType == 0)
+            {
+                accountView.AddChidren(btnGlobalRoaming);
+            }
+
+            btnDividingLineVertical_AccountView = new Button()
+            {
+                X = Application.GetRealWidth(65),
+                Gravity = Gravity.CenterVertical,
+                Width = 1,
+                Height = Application.GetRealHeight(20),
+                BackgroundColor = CSS_Color.DividingLineColor,
+            };
+            accountView.AddChidren(btnDividingLineVertical_AccountView);
+
+            etAccount = new EditText()
+            {
+                X = Application.GetRealWidth(78),
+                Width = Application.GetRealWidth(319 - 78),
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                TextSize = CSS_FontSize.TextFontSize,
+                PlaceholderTextColor = CSS_Color.PromptingColor1,
+                PlaceholderText = Language.StringByID(StringId.PlsEntryPhoneNumber),
+                TextAlignment = TextAlignment.CenterLeft,
+            };
+            accountView.AddChidren(etAccount);
+
+            if (userInfo != null && userInfo.ID != "1234567890")
+            {
+                registerEmail = userInfo.userEmailInfo;
+                etAccount.Text = registerPhone = userInfo.userMobileInfo;
+            }
+
+            btnAccountViewBottomLine = new Button()
+            {
+                Y = Application.GetRealHeight(42),
+                BackgroundColor = CSS_Color.DividingLineColor,
+                Height = Application.GetRealHeight(1),
+            };
+            accountView.AddChidren(btnAccountViewBottomLine);
+
+            btnAccountIcon = new Button()
+            {
+                X = Application.GetRealWidth(21),
+                Gravity = Gravity.CenterVertical,
+                Width = Application.GetMinRealAverage(20),
+                Height = Application.GetMinRealAverage(20),
+                UnSelectedImagePath = "LoginIcon/AccountIcon.png",
+            };
+            if (loginType == 1)
+            {
+                accountView.AddChidren(btnAccountIcon);
+            }
+
+            #endregion
+
+            #region 瀵嗙爜濉啓
+            passwordView = new FrameLayout()
+            {
+                X = Application.GetRealWidth(28),
+                Y = Application.GetRealHeight(288),
+                Width = Application.GetRealWidth(319),
+                Height = Application.GetRealHeight(44),
+            };
+            bodyView.AddChidren(passwordView);
+
+
+            btnPasswordIcon = new Button()
+            {
+                X = Application.GetRealWidth(21),
+                Gravity = Gravity.CenterVertical,
+                Width = Application.GetMinRealAverage(20),
+                Height = Application.GetMinRealAverage(20),
+                UnSelectedImagePath = "LoginIcon/PasswordIcon.png",
+                SelectedImagePath = "LoginIcon/VerificationCodeIcon.png",
+            };
+            passwordView.AddChidren(btnPasswordIcon);
+            btnDividingLineVertical_PasswordView1 = new Button()
+            {
+                X = Application.GetRealWidth(65),
+                Gravity = Gravity.CenterVertical,
+                Width = 1,
+                Height = Application.GetRealHeight(20),
+                BackgroundColor = CSS_Color.DividingLineColor,
+            };
+            passwordView.AddChidren(btnDividingLineVertical_PasswordView1);
+
+            etPassword = new EditText()
+            {
+                X = Application.GetRealWidth(78),
+                Width = Application.GetRealWidth(61 + 84),
+                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);
+
+            #region 瀵嗙爜鐧诲綍-鎺т欢鍔犺浇
+            btnVisiblePassword = new Button()
+            {
+                X = Application.GetRealWidth(223),
+                Gravity = Gravity.CenterVertical,
+                Width = Application.GetMinRealAverage(20),
+                Height = Application.GetMinRealAverage(20),
+                UnSelectedImagePath = "LoginIcon/HidePasswordIcon.png",
+                SelectedImagePath = "LoginIcon/ShowPasswordIcon.png",
+            };
+            passwordView.AddChidren(btnVisiblePassword);
+
+            btnDividingLineVertical_PasswordView2 = new Button()
+            {
+                X = Application.GetRealWidth(253),
+                Gravity = Gravity.CenterVertical,
+                Width = 1,
+                Height = Application.GetRealHeight(20),
+                BackgroundColor = CSS_Color.DividingLineColor,
+            };
+            passwordView.AddChidren(btnDividingLineVertical_PasswordView2);
+
+            btnForgetPassword = new Button()
+            {
+                X = Application.GetRealWidth(263),
+                Width = Application.GetRealWidth(56),
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                TextAlignment = TextAlignment.CenterLeft,
+                TextID = StringId.ForgetPassword,
+                TextSize = 12,
+            };
+            passwordView.AddChidren(btnForgetPassword);
+            #endregion
+
+            #region 楠岃瘉鐮佺櫥褰�-鎺т欢鍔犺浇
+            btnGetVerificationCode = new Button()
+            {
+                X = Application.GetRealWidth(219),
+                Width = Application.GetRealWidth(100),
+                TextID = StringId.GetVerificationCode,
+                SelectedTextColor = CSS_Color.MainColor,
+                TextAlignment = TextAlignment.CenterRight,
+                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+                TextColor = CSS_Color.PromptingColor1,
+                Visible = false,
+                IsSelected = false,
+            };
+            passwordView.AddChidren(btnGetVerificationCode);
+            #endregion
+
+            btnPasswordViewBottomLine = new Button()
+            {
+                Y = Application.GetRealHeight(42),
+                BackgroundColor = CSS_Color.DividingLineColor,
+                SelectedBackgroundColor = CSS_Color.MainColor,
+                Height = Application.GetRealHeight(1),
+            };
+            passwordView.AddChidren(btnPasswordViewBottomLine);
+
+            #endregion
+
+            #region 娉ㄥ唽涓庡揩鎹风櫥褰�
+            btnRegister = new Button()
+            {
+                X = Application.GetRealWidth(28),
+                Y = passwordView.Bottom,
+                Width = Application.GetRealWidth(60),
+                Height = Application.GetRealHeight(17 + 12 + 12),
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+                TextID = StringId.SingUp,
+                TextAlignment = TextAlignment.CenterLeft,
+            };
+            bodyView.AddChidren(btnRegister);
+
+            btnSwitchLoginMode = new Button()
+            {
+                X = Application.GetRealWidth(223 + 28),
+                Y = passwordView.Bottom,
+                Width = Application.GetRealWidth(96),
+                Height = Application.GetRealHeight(51),
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+                TextID = StringId.VerificationCodeLogin,
+                TextAlignment = TextAlignment.CenterRight,
+            };
+            bodyView.AddChidren(btnSwitchLoginMode);
+
+            #endregion
+
+            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.Login,
+                TextSize = CSS_FontSize.SubheadingFontSize,
+                TextColor = CSS_Color.MainBackgroundColor,
+                TextAlignment = TextAlignment.Center,
+            };
+            bodyView.AddChidren(btnLogin);
+
+            Button btnDomeLogin = new Button()
+            {
+                Y = btnLogin.Bottom + Application.GetRealHeight(10),
+                Height = Application.GetRealWidth(44),
+                TextSize = CSS_FontSize.SubheadingFontSize,
+                IsBold = true,
+                TextColor = CSS_Color.MainColor,
+                TextAlignment = TextAlignment.Center,
+                Text = "Dome妯″紡"
+            };
+            bodyView.AddChidren(btnDomeLogin);
+            btnDomeLogin.MouseUpEventHandler = (sender, e) => {
+                MainPage.NoLoginMode = true;
+                //妤煎眰鎴块棿鍒楄〃
+                var floor1 = new SpatialInfo("FLOOR") { roomName = "F1", parentId = DB_ResidenceData.Instance.CurrentRegion.id };
+                floor1.SaveRoomFile();
+                #region 鎴块棿涓� -- 瀹㈠巺
+                //澶勭悊鎴块棿鍒楄〃
+
+                var room1 = new Room()
+                {
+                    roomId = "1405771366041378818",
+                    roomName = Language.CurrentLanguage == "Chinese"? "娲楁墜闂�" : "Restroom",
+                    roomImage = "Classification/Room/Roombg.png",
+                    uid = "47c98953-6fd4-4379-88b9-4b748963504f",
+                    roomType = "ROOM",
+                    parentId = "2348be0f-eec2-43c4-b74d-9b6037a5ba55",
+                    homeId = "1396717478877241345",
+                    createTime = "1623996986290",
+                    modifyTime = "1623996986290",
+                    floorRoomName = "1F-Restroom"
+                };
+                room1.SaveRoomFile();
+                //var room2 = new Room()
+                //{
+                //    roomId = "1405771310345216001",
+                //    roomName = Language.CurrentLanguage == "Chinese"? "涓诲崸" : "Master bedroom",
+                //    roomImage = "Classification/Room/Roombg.png",
+                //    uid = "168d27a1-9e53-42c0-95c9-f5cbf41ea167",
+                //    roomType = "ROOM",
+                //    parentId = "2348be0f-eec2-43c4-b74d-9b6037a5ba55",
+                //    homeId = "1396717478877241345",
+                //    createTime = "1623996973011",
+                //    modifyTime = "1623996973011",
+                //    floorRoomName = "1F-Master bedroom"
+                //};
+                //room2.SaveRoomFile();
+                var room3 = new Room()
+                {
+                    roomId = "1405771193802285057",
+                    roomName = Language.CurrentLanguage == "Chinese"? "椁愬巺" : "Restaurant",
+                    roomImage = "Classification/Room/Roombg.png",
+                    uid = "ed7fc784-aace-44b8-97a3-bc3e727e598b",
+                    roomType = "ROOM",
+                    parentId = "2348be0f-eec2-43c4-b74d-9b6037a5ba55",
+                    homeId = "1396717478877241345",
+                    createTime = "1623996945225",
+                    modifyTime = "1623996945225",
+                    floorRoomName = "1F-Restaurant"
+                };
+                room3.SaveRoomFile();
+                var room4 = new Room()
+                {
+                    roomId = "1405771024583090178",
+                    roomName = Language.CurrentLanguage == "Chinese"? "瀹㈠巺" : "Drawing room",
+                    roomImage = "Classification/Room/Roombg.png",
+                    uid = "9191a3a2-026f-4667-a0b1-e3af699e7295",
+                    roomType = "ROOM",
+                    parentId = "2348be0f-eec2-43c4-b74d-9b6037a5ba55",
+                    homeId = "1396717478877241345",
+                    createTime = "1623996904880",
+                    modifyTime = "1623996904880",
+                    floorRoomName = "1F-Drawing room"
+                };
+                room4.SaveRoomFile();
+                var floor = new SpatialInfo()
+                {
+                    roomId = "1405770943695937537",
+                    roomName = "1F",
+                    roomImage = "Classification/Room/Roombg.png",
+                    uid = "2348be0f-eec2-43c4-b74d-9b6037a5ba55",
+                    roomType = "FLOOR",
+                    parentId = "1396717478877241345",
+                    homeId = "1396717478877241345",
+                    createTime = "1623996885595",
+                    modifyTime = "1623996885595"
+                };
+                floor.SaveRoomFile();
+
+                SpatialInfo.CurrentSpatial.FloorList.Add(floor);
+                SpatialInfo.CurrentSpatial.RoomList.Add(room1);
+                //SpatialInfo.CurrentSpatial.RoomList.Add(room2);
+                SpatialInfo.CurrentSpatial.RoomList.Add(room3);
+                SpatialInfo.CurrentSpatial.RoomList.Add(room4);
+
+
+                #region 瀹㈠巺
+                #region 鍔熻兘
+                var lightRgb1 = new Function()
+                {
+                    sid = "light1",
+                    deviceId = "light1",
+                    name = Language.CurrentLanguage == "Chinese"?  "瀹㈠巺姘涘洿鐏�1": "RGB light 1",
+                    spk = SPK.LightRGB,
+                    roomIds = new List<string>() { "1405771024583090178"},
+                    collect = true,
+                    attributes = new List<FunctionAttributes>()
+                    {
+                        new FunctionAttributes() { key = "on_off",value =new List<string>(){ "on","off" }, curValue="on",state = "on"   },
+                        new FunctionAttributes() { key = "brightness",value =new List<string>(){ "0","100" }, curValue="100",state = "100"   },
+                        new FunctionAttributes() { key = "rgb",value =new List<string>(){ "0","100" }, curValue="0,0,0",state = "0,0,0"   },
+                        new FunctionAttributes() { key = "fade_time",value =new List<string>(){ "0","100" }, curValue="0",state = "0"   },
+                        new FunctionAttributes() { key = "delay",value =new List<string>(){ "0","100" }, curValue="0",state = "0"   },
+                    },
+                };
+                lightRgb1.SaveFunctionFile();
+                var lightRgb2 = new Function()
+                {
+                    sid = "light2",
+                    deviceId = "light2",
+                    name = Language.CurrentLanguage == "Chinese" ? "瀹㈠巺姘涘洿鐏�2" : "RGB light 2",
+                    spk = SPK.LightRGB,
+                    roomIds = new List<string>() { "1405771024583090178"},
+                    attributes = new List<FunctionAttributes>()
+                    {
+                        new FunctionAttributes() { key = "on_off",value =new List<string>(){ "on","off" }, curValue="on",state = "on"   },
+                        new FunctionAttributes() { key = "brightness",value =new List<string>(){ "0","100" }, curValue="0",state = "0"   },
+                        new FunctionAttributes() { key = "rgb",value =new List<string>(){ "0","100" }, curValue="0,0,0",state = "0,0,0"   },
+                        new FunctionAttributes() { key = "fade_time",value =new List<string>(){ "0","100" }, curValue="0",state = "0"   },
+                        new FunctionAttributes() { key = "delay",value =new List<string>(){ "0","100" }, curValue="0",state = "0"   },
+                    },
+                };
+                lightRgb2.SaveFunctionFile();
+                var lightCct = new Function()
+                {
+                    sid = "light3",
+                    deviceId = "light3",
+                    name = Language.CurrentLanguage == "Chinese" ? "闃呰鐏�" : "CCT light",
+                    spk = SPK.LightCCT,
+                    roomIds = new List<string>() { "1405771024583090178"},
+                    attributes = new List<FunctionAttributes>()
+                    {
+                        new FunctionAttributes() { key = "on_off",value =new List<string>(){ "on","off" }, curValue="on",state = "on"   },
+                        new FunctionAttributes() { key = "brightness",value =new List<string>(){ "0","100" }, curValue="0",state = "0"   },
+                        new FunctionAttributes() { key = "cct",value =new List<string>(){ "0","65535" }, curValue="0",state = "0"   },
+                        new FunctionAttributes() { key = "fade_time",value =new List<string>(){ "0","100" }, curValue="0",state = "0"   },
+                        new FunctionAttributes() { key = "delay",value =new List<string>(){ "0","100" }, curValue="0",state = "0"   },
+                    },
+                };
+                lightCct.SaveFunctionFile();
+                var lightSwitch1 = new Function()
+                {
+                    sid = "light4",
+                    deviceId = "light4",
+                    name = Language.CurrentLanguage == "Chinese" ? "澶х伅" : "light 1" ,
+                    spk = SPK.LightSwitch,
+                    roomIds = new List<string>() { "1405771024583090178"},
+                    attributes = new List<FunctionAttributes>()
+                    {
+                        new FunctionAttributes() { key = "on_off",value =new List<string>(){ "on","off" }, curValue="on",state = "on"   },
+                        new FunctionAttributes() { key = "brightness",value =new List<string>(){ "0","100" }, curValue="0",state = "0"   },
+                        new FunctionAttributes() { key = "fade_time",value =new List<string>(){ "0","100" }, curValue="0",state = "0"   },
+                    },
+                };
+                lightSwitch1.SaveFunctionFile();
+                var lightSwitch2 = new Function()
+                {
+                    sid = "light5",
+                    deviceId = "light5",
+                    name = Language.CurrentLanguage == "Chinese" ? "寮�鍏崇伅" : "light 2",
+                    spk = SPK.LightSwitch,
+                    roomIds = new List<string>() { "1405771024583090178"},
+                    attributes = new List<FunctionAttributes>()
+                    {
+                        new FunctionAttributes() { key = "on_off",value =new List<string>(){ "on","off" }, curValue="on",state = "on"   },
+                        new FunctionAttributes() { key = "brightness",value =new List<string>(){ "0","100" }, curValue="0",state = "0"   },
+                        new FunctionAttributes() { key = "fade_time",value =new List<string>(){ "0","100" }, curValue="0",state = "0"   },
+                    },
+                };
+                lightSwitch2.SaveFunctionFile();
+                var curtain1 = new Function()
+                {
+                    sid = "curtain1",
+                    deviceId = "curtain1",
+                    name = Language.CurrentLanguage == "Chinese" ? "寮�鍚堝笜" : "Curtain 1",
+                    spk = SPK.CurtainTrietex,
+                    roomIds = new List<string>() { "1405771024583090178"},
+                    attributes = new List<FunctionAttributes>()
+                    {
+                        new FunctionAttributes() { key = "on_off",value =new List<string>(){ "on","off" }, curValue="on",state = "on"   },
+                        new FunctionAttributes() { key = "percent",value =new List<string>(){ "0","100" }, curValue="0",state = "0"   },
+                    },
+                };
+                curtain1.SaveFunctionFile();
+                var curtain2 = new Function()
+                {
+                    sid = "curtain2",
+                    deviceId = "curtain2",
+                    name = Language.CurrentLanguage == "Chinese" ? "鍗峰笜" : "Curtain 2",
+                    spk = SPK.CurtainRoller,
+                    roomIds = new List<string>() { "1405771024583090178"},
+                    attributes = new List<FunctionAttributes>()
+                    {
+                        new FunctionAttributes() { key = "on_off",value =new List<string>(){ "on","off" }, curValue="on",state = "on"   },
+                        new FunctionAttributes() { key = "percent",value =new List<string>(){ "0","100" }, curValue="0",state = "0"   },
+                    },
+                };
+                curtain2.SaveFunctionFile();
+                var fh = new Function()
+                {
+                    sid = "floorheat1",
+                    deviceId = "floorheat1",
+                    name = Language.CurrentLanguage == "Chinese" ? "鍦版殩" : "Floorheat 1",
+                    spk = SPK.FloorHeatStandard,
+                    roomIds = new List<string>() { "1405771024583090178"},
+                    attributes = new List<FunctionAttributes>()
+                    {
+                        new FunctionAttributes() { key = "on_off",value =new List<string>(){ "on","off" }, curValue="on",state = "on"   },
+                        new FunctionAttributes() { key = "mode",value =new List<string>(){ "day", "night", "away", "normal", "timer" }, curValue="day",state = "day"   },
+                        new FunctionAttributes() { key = "set_temp",value =new List<string>(){ "" }, curValue="26",state = "26"   },
+                        new FunctionAttributes() { key = "room_temp",value =new List<string>(){ "" }, curValue="26",state = "26"   },
+                    },
+                };
+                fh.SaveFunctionFile();
+                #endregion
+                #region 鍦烘櫙
+                var scene1 = new Scene()
+                {
+                    sid = "scene1",
+                    userSceneId = "scene1",
+                    name = Language.CurrentLanguage == "Chinese" ? "鏄庝寒妯″紡" : "Bright scene",
+                    roomIds = new List<string>() { "1405771024583090178" },
+                    gatewayId = "1234567890123456",
+                    collect = true,
+                    functions = new List<SceneFunction>()
+                    {
+                        new SceneFunction()
+                        {
+                            sid = lightRgb1.sid,
+                            status = new List<SceneFunctionStatus>()
+                            {
+                                new SceneFunctionStatus()
+                                {
+                                    key = "on_off",
+                                    value = "on",
+                                }
+                            }
+                        },
+                        new SceneFunction()
+                        {
+                            sid = lightRgb2.sid,
+                            status = new List<SceneFunctionStatus>()
+                            {
+                                new SceneFunctionStatus()
+                                {
+                                    key = "on_off",
+                                    value = "on",
+                                }
+                            }
+                        },
+                        new SceneFunction()
+                        {
+                            sid = lightCct.sid,
+                            status = new List<SceneFunctionStatus>()
+                            {
+                                new SceneFunctionStatus()
+                                {
+                                    key = "on_off",
+                                    value = "on",
+                                }
+                            }
+                        },
+                        new SceneFunction()
+                        {
+                            sid = lightSwitch1.sid,
+                            status = new List<SceneFunctionStatus>()
+                            {
+                                new SceneFunctionStatus()
+                                {
+                                    key = "on_off",
+                                    value = "on",
+                                }
+                            }
+                        },
+                        new SceneFunction()
+                        {
+                            sid = lightSwitch2.sid,
+                            status = new List<SceneFunctionStatus>()
+                            {
+                                new SceneFunctionStatus()
+                                {
+                                    key = "on_off",
+                                    value = "on",
+                                }
+                            }
+                        },
+
+
+                    },
+                };
+                scene1.SaveSceneFile();
+                var scene2 = new Scene()
+                {
+                    sid = "scene2",
+                    userSceneId = "scene2",
+                    name = Language.CurrentLanguage == "Chinese" ? "娴极妯″紡" : "Romantic scene",
+                    roomIds = new List<string>() { "1405771024583090178" },
+                    gatewayId = "1234567890123456",
+                    collect = false,
+                    functions = new List<SceneFunction>()
+                    {
+                        new SceneFunction()
+                        {
+                            sid = lightRgb1.sid,
+                            status = new List<SceneFunctionStatus>()
+                            {
+                                new SceneFunctionStatus()
+                                {
+                                    key = "on_off",
+                                    value = "on",
+                                }
+                            }
+                        },
+                        new SceneFunction()
+                        {
+                            sid = lightRgb2.sid,
+                            status = new List<SceneFunctionStatus>()
+                            {
+                                new SceneFunctionStatus()
+                                {
+                                    key = "on_off",
+                                    value = "on",
+                                }
+                            }
+                        },
+                        new SceneFunction()
+                        {
+                            sid = lightCct.sid,
+                            status = new List<SceneFunctionStatus>()
+                            {
+                                new SceneFunctionStatus()
+                                {
+                                    key = "on_off",
+                                    value = "on",
+                                }
+                            }
+                        },
+                        new SceneFunction()
+                        {
+                            sid = lightSwitch1.sid,
+                            status = new List<SceneFunctionStatus>()
+                            {
+                                new SceneFunctionStatus()
+                                {
+                                    key = "on_off",
+                                    value = "off",
+                                }
+                            }
+                        },
+                        new SceneFunction()
+                        {
+                            sid = lightSwitch2.sid,
+                            status = new List<SceneFunctionStatus>()
+                            {
+                                new SceneFunctionStatus()
+                                {
+                                    key = "on_off",
+                                    value = "off",
+                                }
+                            }
+                        },
+
+
+                    },
+
+                };
+                scene2.SaveSceneFile();
+                #endregion
+                #endregion
+                #region 椁愬巺
+                var lightSwitch3 = new Function()
+                {
+                    sid = "light6",
+                    deviceId = "light6",
+                    name = Language.CurrentLanguage == "Chinese" ? "椁愬巺鐏�1" : "Dining room light 1",
+                    spk = SPK.LightSwitch,
+                    roomIds = new List<string>() { room3.roomId },
+                    attributes = new List<FunctionAttributes>()
+                    {
+                        new FunctionAttributes() { key = "on_off",value =new List<string>(){ "on","off" }, curValue="on",state = "on"   },
+                        new FunctionAttributes() { key = "brightness",value =new List<string>(){ "0","100" }, curValue="0",state = "0"   },
+                        new FunctionAttributes() { key = "fade_time",value =new List<string>(){ "0","100" }, curValue="0",state = "0"   },
+                    },
+                };
+                lightSwitch3.SaveFunctionFile();
+                var lightSwitch4 = new Function()
+                {
+                    sid = "light7",
+                    deviceId = "light7",
+                    name = Language.CurrentLanguage == "Chinese" ? "椁愬巺鐏�2" : "Dining room light 2",
+                    spk = SPK.LightSwitch,
+                    roomIds = new List<string>() { room3.roomId },
+                    attributes = new List<FunctionAttributes>()
+                    {
+                        new FunctionAttributes() { key = "on_off",value =new List<string>(){ "on","off" }, curValue="on",state = "on"   },
+                        new FunctionAttributes() { key = "brightness",value =new List<string>(){ "0","100" }, curValue="0",state = "0"   },
+                        new FunctionAttributes() { key = "fade_time",value =new List<string>(){ "0","100" }, curValue="0",state = "0"   },
+                    },
+                };
+                lightSwitch4.SaveFunctionFile();
+                var scene3 = new Scene()
+                {
+                    sid = "scene3",
+                    userSceneId = "scene3",
+                    name = Language.CurrentLanguage == "Chinese" ? "娓╅Θ妯″紡" : "Warm scene",
+                    roomIds = new List<string>() { room3.roomId },
+                    gatewayId = "1234567890123456",
+                    collect = true,
+                    functions = new List<SceneFunction>()
+                    {
+                        new SceneFunction()
+                        {
+                            sid = lightSwitch4.sid,
+                            status = new List<SceneFunctionStatus>()
+                            {
+                                new SceneFunctionStatus()
+                                {
+                                    key = "on_off",
+                                    value = "off",
+                                }
+                            }
+                        },
+                        new SceneFunction()
+                        {
+                            sid = lightSwitch4.sid,
+                            status = new List<SceneFunctionStatus>()
+                            {
+                                new SceneFunctionStatus()
+                                {
+                                    key = "on_off",
+                                    value = "off",
+                                }
+                            }
+                        },
+                    }
+                };
+                scene3.SaveSceneFile();
+                var scene4 = new Scene()
+                {
+                    sid = "scene4",
+                    userSceneId = "scene4",
+                    name = Language.CurrentLanguage == "Chinese" ? "瑗块妯″紡" : "Western food mode",
+                    roomIds = new List<string>() { room3.roomId },
+                    gatewayId = "1234567890123456",
+                    collect = false,
+                    functions = new List<SceneFunction>()
+                    {
+                        new SceneFunction()
+                        {
+                            sid = lightSwitch4.sid,
+                            status = new List<SceneFunctionStatus>()
+                            {
+                                new SceneFunctionStatus()
+                                {
+                                    key = "on_off",
+                                    value = "on",
+                                }
+                            }
+                        },
+                        new SceneFunction()
+                        {
+                            sid = lightSwitch4.sid,
+                            status = new List<SceneFunctionStatus>()
+                            {
+                                new SceneFunctionStatus()
+                                {
+                                    key = "on_off",
+                                    value = "on",
+                                }
+                            }
+                        },
+                    }
+                };
+                scene4.SaveSceneFile();
+                #endregion
+                #region 鍗у
+                var ac = new Function()
+                {
+                    sid = "ac1",
+                    deviceId = "ac1",
+                    name = Language.CurrentLanguage == "Chinese" ? "鍗у绌鸿皟" : "Bedroom air conditioning",
+                    spk = SPK.AcStandard,
+                    roomIds = new List<string>() { room3.roomId },
+                    attributes = new List<FunctionAttributes>()
+                    {
+                        new FunctionAttributes() { key = "on_off", value = new List<string>() { "on", "off" }, curValue = "on", state = "on" },
+                        new FunctionAttributes() { key = "mode", value = new List<string>() { "cool", "heat", "fan", "auto", "dry" }, curValue = "cool", state = "cool" },
+                        new FunctionAttributes() { key = "fan", value = new List<string>() { "high", "medium", "low", "auto" }, curValue = "auto", state = "auto" },
+                        new FunctionAttributes() { key = "set_temp", value = new List<string>() { "16", "30"}, curValue = "16", state = "16",max = 30,min = 16 },
+                        new FunctionAttributes() { key = "room_temp", value = new List<string>() { }, curValue = "20", state = "20" },
+                        new FunctionAttributes() { key = "swing", value = new List<string>() {"up_down", "left_right", "stop" }, curValue = "20", state = "20" },
+                    }
+                };
+                ac.SaveFunctionFile();
+                //var scene5 = new Scene()
+                //{
+                //    sid = "scene5",
+                //    userSceneId = "scene5",
+                //    name = Language.CurrentLanguage == "Chinese" ? "闃呰" : "Reading mode",
+                //    roomIds = new List<string>() { room2.roomId },
+                //    gatewayId = "1234567890123456",
+                //    collect = true,
+                //};
+                //scene5.SaveSceneFile();
+                //var scene6 = new Scene()
+                //{
+                //    sid = "scene6",
+                //    userSceneId = "scene6",
+                //    name = Language.CurrentLanguage == "Chinese" ? "璧峰簥" : "Wake up scene",
+                //    roomIds = new List<string>() { room2.roomId },
+                //    gatewayId = "1234567890123456",
+                //    collect = false,
+                //};
+                //scene6.SaveSceneFile();
+                #endregion
+
+
+                var lightSwitch6 = new Function()
+                {
+                    sid = "lightSwitch6",
+                    deviceId = "lightSwitch6",
+                    name = Language.CurrentLanguage == "Chinese" ? "娲楁墜闂寸伅" : "Toilet light",
+                    spk = SPK.LightSwitch,
+                    roomIds = new List<string>() { room1.roomId },
+                    attributes = new List<FunctionAttributes>()
+                    {
+                        new FunctionAttributes() { key = "on_off",value =new List<string>(){ "on","off" }, curValue="on",state = "on"   },
+                        new FunctionAttributes() { key = "brightness",value =new List<string>(){ "0","100" }, curValue="0",state = "0"   },
+                        new FunctionAttributes() { key = "fade_time",value =new List<string>(){ "0","100" }, curValue="0",state = "0"   },
+                    },
+                };
+                lightSwitch6.SaveFunctionFile();
+
+                #endregion
+
+                var fileList = Common.FileUtlis.Files.ReadFiles();
+
+                //foreach (var file in fileList)
+                //{
+                //    FunctionList.List.IniFunctionList(file,true);
+                //}
+
+                Room.CurrentSpatial.InitRoomListFunctions();
+
+
+
+
+
+
+
+
+
+
+                MainPage.GoUserPage(false);
+            };
+
+
+
+            LoadEventList();
+            account = etAccount.Text.Trim();
+
+            #if DEBUG1211
+            //鏈湴妯″紡
+            Button btnLocalMode = new Button()
+            {
+                Y = Application.GetRealHeight(600),
+                Height = Application.GetRealHeight(67),
+                Text = "Local Mode",
+                TextAlignment = TextAlignment.Center,
+                BackgroundColor  = CSS_Color.MainColor,
+                TextColor = CSS_Color.TextualColor,
+            };
+            bodyView.AddChidren(btnLocalMode);
+
+            btnLocalMode.MouseUpEventHandler = (sender, e) =>
+            {
+                MainPage.LocalMode = true;
+                 UserInfo.Current = new UserInfo();
+                MainPage.GoUserPage();
+            };
+
+            MainPage.Log("etAccount.TextAlignment : " + etAccount.TextAlignment.ToString());
+
+            #endif
+
+            #region 闅愮鏀跨瓥
+            AddServiceAgreementControl(bodyView);
+            #endregion
+
+        }
+
+        #region 鈻� 鏈嶅姟鍗忚___________________________
+        bool isAgreePrivacyPolicy = false;
+        /// <summary>
+        /// 娣诲姞鏈嶅姟鍗忚鎺т欢
+        /// </summary>
+        /// <param name="frameBack"></param>
+        private void AddServiceAgreementControl(FrameLayout frameLayout)
+        {
+            isAgreePrivacyPolicy = OnAppConfig.Instance.isAgreePrivacyPolicy;
+            var frameRow = new FrameLayout()
+            {
+                Height = Application.GetRealHeight(28),
+                Y = Application.GetRealHeight(628),
+            };
+            frameLayout.AddChidren(frameRow);
+
+            //鍚屾剰鎸夐挳鑳屾櫙
+            var agreeView = new FrameLayout()
+            {
+                Height = Application.GetRealHeight(28),
+                Width = Application.GetRealWidth(28),
+                X = Application.GetRealWidth(22),
+            };
+            frameRow.AddChidren(agreeView);
+            if(Language.CurrentLanguage == "Chinese")
+            {
+                agreeView.X = Application.GetRealWidth(82);
+            }
+            //鍚屾剰鍥炬爣鎸夐挳
+            var agreeBtn = new Button()
+            {
+                Width = Application.GetMinRealAverage(28),
+                Height = Application.GetMinRealAverage(28),
+                UnSelectedImagePath = "Public/ChooseIcon.png",
+                SelectedImagePath = "Public/ChooseOnIcon.png",
+                IsSelected = isAgreePrivacyPolicy,
+                Gravity = Gravity.Center
+            };
+            agreeView.AddChidren(agreeBtn);
+
+            EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
+            {
+                isAgreePrivacyPolicy = !isAgreePrivacyPolicy;
+                agreeBtn.IsSelected = isAgreePrivacyPolicy;
+                OnAppConfig.Instance.isAgreePrivacyPolicy = isAgreePrivacyPolicy;
+                OnAppConfig.Instance.SaveConfig();
+            };
+
+            agreeBtn.MouseUpEventHandler = eventHandler;
+            agreeView.MouseUpEventHandler = eventHandler;
+
+            //int btnWidth = 0;
+            //鍚屾剰鏂囨湰
+            var agreeTextBtn = new TextButton()
+            {
+                X = agreeView.Right,
+                Width = Application.GetRealWidth(28),
+                Height = Application.GetRealHeight(28),
+                TextColor = CSS_Color.TextualColor,
+                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+                TextID = StringId.Agree
+            };
+            frameRow.AddChidren(agreeTextBtn);
+            agreeTextBtn.Width = Utlis.GetRealWidthByTextButton(agreeTextBtn);
+
+            //鐢ㄦ埛鍗忚鎸夐挳
+            var userAgreementBtn = new TextButton()
+            {
+                X = agreeTextBtn.Right,
+                Width = Application.GetRealWidth(28),
+                Height = Application.GetRealHeight(28),
+                TextColor = CSS_Color.MainColor,
+                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+                Text = "銆�" + Language.StringByID(StringId.UserAgreement) + "銆�"
+            };
+            frameRow.AddChidren(userAgreementBtn);
+            userAgreementBtn.Width = Utlis.GetRealWidthByTextButton(userAgreementBtn);
+
+            //鍜屾枃鏈�
+            var andTextBtn = new TextButton()
+            {
+                X = userAgreementBtn.Right,
+                Width = Application.GetRealWidth(28),
+                Height = Application.GetRealHeight(28),
+                TextColor = CSS_Color.TextualColor,
+                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+                TextID = StringId.And
+            };
+            frameRow.AddChidren(andTextBtn);
+            andTextBtn.Width = Utlis.GetRealWidthByTextButton(andTextBtn);
+
+            //闅愮鏀跨瓥鎸夐挳
+            var privacyPolicyBtn = new TextButton()
+            {
+                X = andTextBtn.Right,
+                Width = Application.GetRealWidth(28),
+                Height = Application.GetRealHeight(28),
+                TextColor = CSS_Color.MainColor,
+                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+                Text = "銆�" + Language.StringByID(StringId.PrivacyPolicy) + "銆�"
+            };
+            frameRow.AddChidren(privacyPolicyBtn);
+            privacyPolicyBtn.Width = Utlis.GetRealWidthByTextButton(privacyPolicyBtn);
+
+            //鎵撳紑鐢ㄦ埛鍗忚
+            userAgreementBtn.MouseUpEventHandler = (sender, e) =>
+            {
+                OpenWebViewPage(false);
+            };
+
+            //鎵撳紑闅愮鏀跨瓥
+            privacyPolicyBtn.MouseUpEventHandler = (sender, e) =>
+            {
+                OpenWebViewPage(true);
+            };
+        }
+
+        /// <summary>
+        /// OpenWebViewPage
+        /// </summary>
+        /// <param name="isOpenPrivacyPolicy">鏄惁闅愮鏀跨瓥</param>
+        private void OpenWebViewPage(bool isOpenPrivacyPolicy)
+        {
+            string url = isOpenPrivacyPolicy ? Constant.URL_PRIVACYPOLICY : Constant.URL_USERAGREEMENT;
+            string titleStr = isOpenPrivacyPolicy ? Language.StringByID(StringId.PrivacyPolicy) : Language.StringByID(StringId.UserAgreement);
+            new WebViewDialog().LoadPage(titleStr, url);
+        }
+
+        /// <summary>
+        /// 妫�娴嬮殣绉佸崗璁�
+        /// </summary>
+        /// <returns></returns>
+        private bool CheckPrivacyPolicy()
+        {
+            if (isAgreePrivacyPolicy == false)
+            {
+                //璇峰悓鎰忋�婄敤鎴峰崗璁�嬪拰銆婇殣绉佹斂绛栥��
+                Utlis.ShowTip(Language.StringByID(StringId.PleaseReadAndAgreePrivacyPolicyMsg));
+                return false;
+            }
+            return true;
+        }
+
+        #endregion
+    }
+}
\ No newline at end of file

--
Gitblit v1.8.0