wxr
2022-05-27 e1f1d0efe8e9d249db4553d9b336885b67abff73
Crabtree/SmartHome/UI/SimpleControl/Phone/Register/AccountView.cs
@@ -171,6 +171,222 @@
            };
            contentView.AddChidren (btnModifyNullLine);
            #endregion
            #region 平台迁移
            var moveToNewCloudView = new FrameLayout () {
                Height = Application.GetRealHeight (100),
            };
            contentView.AddChidren (moveToNewCloudView);
            Button btnTitle = new Button () {
                X = Application.GetRealWidth (40),
                TextID = R.MyInternationalizationString.ModifyPasswrod,
                TextAlignment = TextAlignment.CenterLeft,
                TextColor = SkinStyle.Current.TextColor1,
            };
            moveToNewCloudView.AddChidren (btnTitle);
            Button btnRight = new Button () {
                X = Application.GetRealWidth (580),
                Width = Application.GetRealWidth (28),
                Height = Application.GetRealHeight (40),
                Gravity = Gravity.CenterVertical,
                UnSelectedImagePath = "Item/Right.png",
                SelectedImagePath = "Item/RightSelected.png",
            };
            moveToNewCloudView.AddChidren (btnRight);
            EventHandler<MouseEventArgs> eHandler = (sender, e) => {
                //1.检测一端口固件
                var localFileList = IO.FileUtils.ReadFiles ();
                var gateWayList = localFileList.FindAll ((obj) => {
                    return (obj.StartsWith ("Equipment_")) && (
                     obj.Split ('_') [1].ToString () == DeviceType.OnePortBus.ToString () ||
                        obj.Split ('_') [1].ToString () == DeviceType.RCU.ToString () ||
                        obj.Split ('_') [1].ToString () == DeviceType.OnePortWirelessFR.ToString ());
                });
                List<string> linkList = new List<string> ();
                GatewayBase common = null;
                string gateWayString = "";
                if (gateWayList.Count > 0) {
                    foreach (var gatewayFileName in gateWayList) {
                        var tempStrings = gatewayFileName.Split ('_');
                        if (tempStrings [1].ToString () == DeviceType.OnePortBus.ToString () || tempStrings [1].ToString () == DeviceType.RCU.ToString () ||
                            tempStrings [1].ToString () == DeviceType.OnePortWirelessFR.ToString ()) {
                            gateWayString = CommonPage.MyEncodingUTF8.GetString (IO.FileUtils.ReadFile (gatewayFileName));
                            common = Newtonsoft.Json.JsonConvert.DeserializeObject<GatewayBase> (gateWayString);
                            for (int i = 0; i < 7; i++) {
                                Control.ControlBytesSend (Command.enjoyUpgrade, common.SubnetID, common.DeviceID, new byte [] { });
                            }
                            break;//只升级一个
                        }
                    }
                } else {
                    //没有网关
                    return;
                }
                Control.ControlBytesSend (Command.enjoyUpgrade2, common.SubnetID, common.DeviceID, new byte [] { });
                //2.进入网关升级模式
                //3.接收升级文件获取请求
                //迁移账号
                #region 弹窗输入密码确认迁移
                Dialog dialog = new Dialog ();
                FrameLayout dialogBodyView = new FrameLayout () {
                    Gravity = Gravity.Center,
                    Width = Application.GetRealWidth (500),
                    Height = Application.GetRealHeight (500),
                    BackgroundColor = SkinStyle.Current.DialogColor,
                    Radius = 5,
                    BorderColor = SkinStyle.Current.Transparent,
                    BorderWidth = 0,
                };
                dialog.AddChidren (dialogBodyView);
                Button btnTitle = new Button () {
                    Height = Application.GetRealHeight (80),
                    BackgroundColor = SkinStyle.Current.DialogTitle,
                    TextAlignment = TextAlignment.Center,
                    TextID = R.MyInternationalizationString.Tip,
                    TextColor = SkinStyle.Current.DialogTextColor
                };
                dialogBodyView.AddChidren (btnTitle);
                Button btnackupRemark = new Button () {
                    Gravity = Gravity.CenterHorizontal,
                    Y = Application.GetRealHeight (100),
                    Width = Application.GetRealWidth (400),
                    Height = Application.GetRealHeight (80),
                    Text = "请输入密码,确认迁移",
                    TextAlignment = TextAlignment.CenterLeft,
                    TextColor = SkinStyle.Current.TextColor,
                };
                dialogBodyView.AddChidren (btnackupRemark);
                EditText etBackupRemark = new EditText () {
                    Gravity = Gravity.CenterHorizontal,
                    Y = btnackupRemark.Bottom,
                    Width = Application.GetRealWidth (400),
                    Height = Application.GetRealHeight (80),
                    TextAlignment = TextAlignment.Center,
                    Radius = 5,
                    BorderColor = SkinStyle.Current.BorderColor,
                    BorderWidth = 1,
                    TextColor = SkinStyle.Current.TextColor,
                    SecureTextEntry = true
                };
                dialogBodyView.AddChidren (etBackupRemark);
                etBackupRemark.EditorEnterAction += (obj) => {
                    Application.HideSoftInput ();
                };
                var btnTipMsg = new Button () {
                    Gravity = Gravity.CenterHorizontal,
                    Y = etBackupRemark.Bottom ,
                    Width = Application.GetRealWidth (400),
                    Height = Application.GetRealHeight (80),
                    TextAlignment = TextAlignment.CenterLeft,
                    TextColor = SkinStyle.Current.DelColor,
                };
                dialogBodyView.AddChidren (btnTipMsg);
                FrameLayout bottomView = new FrameLayout () {
                    Y = Application.GetRealHeight (420),
                    Height = Application.GetRealHeight (85),
                    BackgroundColor = SkinStyle.Current.DialogTitle
                };
                dialogBodyView.AddChidren (bottomView);
                Button btnClose = new Button () {
                    Width = Application.GetRealWidth (249),
                    TextID = R.MyInternationalizationString.Close,
                    TextAlignment = TextAlignment.Center
                };
                bottomView.AddChidren (btnClose);
                btnClose.MouseUpEventHandler += (send2er, e2) => {
                    dialog.Close ();
                };
                Button btnBottomLine = new Button () {
                    X = btnClose.Right,
                    Width = 1,
                    BackgroundColor = SkinStyle.Current.Black50Transparent,
                };
                bottomView.AddChidren (btnBottomLine);
                Button btnSave = new Button () {
                    X = btnBottomLine.Right,
                    Width = Application.GetRealWidth (249),
                    TextID = R.MyInternationalizationString.Confrim,
                    TextAlignment = TextAlignment.Center
                };
                bottomView.AddChidren (btnSave);
                btnSave.MouseUpEventHandler += (sender2, e2) => {
                    var requestObj = new LoginObj () { Account = MainPage.LoginUser.AccountString, Password = etBackupRemark.Text.Trim(), Company = MainPage.SoftSmsType };
                    var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj);
                    var revertObj = MainPage.RequestHttps ("Login", requestJson, false);
                    if (revertObj.StateCode == "SUCCESS") {
                        //var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<UserLoginRes> (revertObj.ResponseData.ToString ());
                        //var revertData = responseDataObj;
                        //MainPage.LoginUser = new UserInfo {
                        //    ID = revertData.UserId, MasterID = revertData.MainUserId, AccountType = revertData.UserType, AccountString = account, Password = password, LastTime = DateTime.Now,
                        //    AllVisionRegisterDevUserNameGuid = revertData.AllVisionRegisterDevUserNameGuid, Name = revertData.Contact
                        //};
                        Dictionary<string, object> dicAccount = new Dictionary<string, object> ();
                        dicAccount.Add ("email", MainPage.LoginUser.AccountString);
                        dicAccount.Add ("language", "ENGLISH");
                        dicAccount.Add ("appCode", "HDL-HOME-IND-APP");
                        dicAccount.Add ("pwd", etBackupRemark.Text.Trim());
                        dicAccount.Add ("tenantId", "202106");
                        var revertObj = MainPage.RequestHttps ("/home-wisdom/data/move/home/save", requestJson, false,false, $"https://test-gz.hdlcontrol.com");
                    } else {
                    }
                };
                dialog.Show ();
                #endregion
                Dictionary<string, object> dic = new Dictionary<string, object> ();
                dic.Add ("homeName", UserConfig.Instance.CurrentRegion.RegionName);
                dic.Add ("userId", MainPage.LoginUser.ID);
                dic.Add ("homeType", "BUSPRO");
                dic.Add ("tenantId", "202106");
                requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (dic);
                revertObj = MainPage.RequestHttps ("/home-wisdom/data/move/home/save", requestJson, false,false, $"https://test-gz.hdlcontrol.com");
            };
            Button btnLine = new Button () {
                Height = Application.GetRealHeight (5),
                BackgroundColor = SkinStyle.Current.MainColor,
            };
            contentView.AddChidren (btnLine);
            #endregion
            Button btnLogout = new Button () {
                Y = contentView.Bottom,
                Height = Application.GetRealHeight (93),