wxr
2023-08-04 20f70e3446df19bf5d0faaae9f7bd58fd0fc4bcc
Crabtree/SmartHome/UI/SimpleControl/Phone/Register/AccountView.cs
@@ -12,6 +12,7 @@
        {
        }
        public void ShouwAccountView ()
        {
@@ -183,7 +184,7 @@
            Button btnTitle = new Button () {
                X = Application.GetRealWidth (40),
                Text = "平台迁移",
                Text = "Platform migration",
                TextAlignment = TextAlignment.CenterLeft,
                TextColor = SkinStyle.Current.TextColor1,
            };
@@ -200,227 +201,8 @@
            moveToNewCloudView.AddChidren (btnRight);
            EventHandler<MouseEventArgs> eHandler = (sender, e) => {
             System.IO.FileStream fs = null;
                byte [] buffer = new byte [4 * 1024];
                List<byte> bbb = new List<byte> ();
                System.IO.Stream stream = Shared.Application.Activity.Assets.Open ("FW_MCIP-L1_RF.01_V03.01_210712_STM32F107VCT6_U2_india_beta.bin");
                int length = 0;
                try {
                    while ((length = stream.Read (buffer, 0, buffer.Length)) != 0) {
                        for (int i = 0; i < length; i++) {
                            bbb.Add (buffer [i]);
                        }
                    }
                } catch {
                } finally {
                    stream.Close ();
                }
                string status = "";
                return;
                #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 ();
                if (MainPage.WiFiStatus != "CrabtreeAdd/WiFi.png") {
                    //status = btnSave.Text = "ReCheck";
                    btnTipMsg.Text = "请在局域网内连接网关设备";
                    etBackupRemark.Visible = false;
                    btnSave.MouseUpEventHandler = (sender2, e2) => {
                        dialog.Close ();
                    };
                } else {
                    //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);
                                var bytes = Control.ControlBytesSendHasReturn (Command.readGatewayVision, common.SubnetID, common.DeviceID, new byte [] { });
                                var visionString = Encoding.GetEncoding ("gb2312").GetString (bytes);
                                if (visionString == "FW_MCIP-L1_RF.01_V03.01_210712_STM32F107VCT6_U2_india_beta") {
                                    //已经升级过的
                                    btnTipMsg.Text = "网关设备已经满足迁移条件";
                                    btnSave.Text = "下一步";
                                    btnSave.MouseUpEventHandler = (sender3, e3) => {
                                        btnTipMsg.Text = "请输入账号密码,确认迁移";
                                        btnSave.Text = "Confirm";
                                    };
                                } else {
                                    //需要升级一端口
                                    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.接收升级文件获取请求
                //迁移账号
                #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");
                var bean = new MigrationServer ();
                bean.ShowDialog ();
            };
            moveToNewCloudView.MouseUpEventHandler += eHandler;
@@ -436,6 +218,50 @@
            #region 手动升级
            var manualUpgradeView = new FrameLayout () {
                Height = Application.GetRealHeight (100),
            };
            contentView.AddChidren (manualUpgradeView);
            Button btnmanualUpgradeTitle = new Button () {
                X = Application.GetRealWidth (40),
                Text = "Manual upgrade",
                TextAlignment = TextAlignment.CenterLeft,
                TextColor = SkinStyle.Current.TextColor1,
            };
            manualUpgradeView.AddChidren (btnmanualUpgradeTitle);
            Button btnmanualUpgradeRight = 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",
            };
            manualUpgradeView.AddChidren (btnmanualUpgradeRight);
            EventHandler<MouseEventArgs> manualUpgradeHandler = (sender, e) => {
                var bean = new ManualUpgradeDialog ();
                bean.ShowDialog ();
            };
            manualUpgradeView.MouseUpEventHandler += manualUpgradeHandler;
            btnmanualUpgradeTitle.MouseUpEventHandler += manualUpgradeHandler;
            btnmanualUpgradeRight.MouseUpEventHandler += manualUpgradeHandler;
            Button btnLine2 = new Button () {
                Height = Application.GetRealHeight (5),
                BackgroundColor = SkinStyle.Current.MainColor,
            };
            contentView.AddChidren (btnLine2);
            #endregion