From 1c4904d77f484c075080942d87785481b52b6fb2 Mon Sep 17 00:00:00 2001 From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local> Date: 星期一, 28 十月 2019 14:58:46 +0800 Subject: [PATCH] Revert "Merge branch 'dev-tzy' into DEV_GXC" --- ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindInfo.cs | 389 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 389 insertions(+), 0 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindInfo.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindInfo.cs index 4977f95..1991435 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindInfo.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindInfo.cs @@ -227,6 +227,395 @@ return dicCheck; } + #region 绉佹湁鏁版嵁澶囦唤姝ラ(鏈夌敤浠g爜锛岃繖閲屽厛娉ㄩ噴鎺夛級 + // title.MouseLongEventHandler += async(sender, e) => + // { + // string fileName = "Panel_"; + // fileName += currentKey.FilePath; + // var file = await System.Threading.Tasks.Task.Factory.StartNew(() => Newtonsoft.Json.JsonConvert.SerializeObject(currentKey)); + // var data = System.Text.Encoding.UTF8.GetBytes(file); + // //缃戝叧涓垱寤哄瓨鍌ㄦ暟鎹殑鏂囦欢 + // var saveFile = await currentKey.Gateway.CreateFileAsync(fileName); + // //涓婁紶鏁版嵁鍒扮綉鍏� + // var saveData = await currentKey.Gateway.SendFileAsync(data); + // }; + + // //瀛樺偍涓嬭浇鐨勬枃浠舵暟鎹� + // var byteSource = new System.Collections.Generic.List<byte>(); + // if (byteSource != null) + // { + // //鎭㈠鏁版嵁瀵硅薄 + // var realDa = Newtonsoft.Json.JsonConvert.DeserializeObject<Panel>(System.Text.Encoding.UTF8.GetString(byteSource.ToArray())); + //} + + ////涓嬭浇鎭㈠绉佹湁鏁版嵁 + //title.MouseUpEventHandler +=async(sender, e) => + // { + // var key11 = currentKey; + //string fileName = "Panel_"; + //fileName += currentKey.FilePath; + // //鑾峰彇褰撳墠鏂囦欢鐨勫叿浣撲俊鎭� + // var getFileSize = await currentKey.Gateway.GetCurrentFileInfoAsync(fileName); + ////涓嬭浇鏂囦欢 + //var saveFileName = await currentKey.Gateway.SetDownloadFileAsync(fileName); + ////鎺ユ敹鏁版嵁 + //Action<string, byte[]> action = (topic, dataContent) => + //{ + // if (topic.Split('/')[0] + "/" + topic.Split('/')[1] + "/" + topic.Split('/')[2] == topic.Split('/')[0] + "/" + "FileTransfer/DownloadFile") + // { + // byte[] fileBytes = dataContent; + // if (fileBytes[5] != 1) + // { + // if (fileBytes.Length == 2056) + // { + // var tempBytes = new byte[2048]; + // System.Array.Copy(fileBytes, 8, tempBytes, 0, 2048); + // byteSource.AddRange(tempBytes); + // } + // else + // { + // var tempBytes = new byte[fileBytes.Length - 8]; + // System.Array.Copy(fileBytes, 8, tempBytes, 0, tempBytes.Length); + // byteSource.AddRange(tempBytes); + // } + // } + // else + // { + // var tempBytes = new byte[fileBytes.Length - 8]; + // System.Array.Copy(fileBytes, 8, tempBytes, 0, tempBytes.Length); + // byteSource.AddRange(tempBytes); + // } + + // } + //}; + //currentKey.Gateway.FileContentAction += action; + //}; + #endregion + + ///// <summary> + ///// 鍒楄〃鎺т欢 + ///// </summary> + //private VerticalScrolViewLayout listView = null; + ///// <summary> + ///// 宸茬粡瀛樺湪鐨勭粦瀹氳澶� + ///// </summary> + //private Dictionary<string, CommonDevice> dicEsixtDevice = new Dictionary<string, CommonDevice>(); + + ///// <summary> + ///// 鑾峰彇璁惧鐨勫敮涓�涓婚敭 + ///// </summary> + ///// <param name="device"></param> + ///// <returns></returns> + //public string GetDeviceMainKeys(CommonDevice device) + //{ + // return device.DeviceAddr + device.DeviceEpoint; + //} + + ///// <summary> + ///// 鏄剧ず閿欒淇℃伅绐楀彛 + ///// </summary> + ///// <param name="msg"></param> + //private void ShowErrorMsg(string msg) + //{ + // Application.RunOnMainThread(() => + // { + // var contr = new Phone.UserCenter.ErrorMsgControl(msg); + // contr.Show(); + // }); + //} + + ///// <summary> + ///// 鏄剧ずTip淇℃伅绐楀彛 + ///// </summary> + ///// <param name="msg"></param> + //private void ShowTipMsg(string msg) + //{ + // Application.RunOnMainThread(() => + // { + // var contr = new Phone.UserCenter.TipViewControl(msg); + // contr.ShowView(); + // }); + //} + + ///// <summary> + ///// 鏄剧ず涓�涓渶瑕佺‘璁ょ殑淇℃伅妗� + ///// </summary> + ///// <param name="msg">淇℃伅</param> + ///// <param name="methodName">鏂规硶鍚�(璇风‘璁よ繖鏄竴涓叡鏈夋柟娉�)</param> + ///// <param name="obj">鍥炶皟鍑芥暟鐨勫惎鍔ㄥ弬鏁�</param> + //public void ShowConfirmMsg(string msg, string methodName = null, params object[] obj) + //{ + // Application.RunOnMainThread(() => + // { + // var alert = new ConfirmMsgControl(msg); + // alert.Show(); + + // if (methodName != null) + // { + // alert.ResultEventHandler += (sender, result) => + // { + // if (result == true) + // { + // this.LoadFormMethodByName(this, methodName, obj); + // } + // }; + // } + // }); + //} + + ///// <summary> + ///// 鎵ц鎸囧畾鐢婚潰鐨勬柟娉� + ///// </summary> + ///// <param name="form">鎸囧畾鐢婚潰鐨勮嫳鏂囧悕</param> + ///// <param name="method">鎸囧畾瑕佸姞杞界殑鏂规硶鍚�</param> + ///// <param name="parameter">鍚姩鍙傛暟</param> + //public object LoadFormMethodByName(BindInfo form, string method, params object[] parameter) + //{ + // return form.GetType().InvokeMember(method, System.Reflection.BindingFlags.InvokeMethod, null, form, parameter); + //} + + ///// <summary> + ///// 娣诲姞鐢婚潰,鍚姩鍙傛暟鐢辨寚瀹氱敾闈㈢殑ShowForm鍑芥暟鎵�鎸囧畾 + ///// </summary> + ///// <param name="newform">瀵硅薄鐢婚潰</param> + ///// <param name="parameter">鍚姩鍙傛暟锛氬弬鏁扮敱鎸囧畾鐢婚潰鐨凷howForm鍑芥暟鎵�鎸囧畾</param> + //public void AddForm(UserCenterCommonForm newform, params object[] parameter) + //{ + // //妫�娴嬭兘鍚﹁拷鍔犵敾闈�(闃叉鐢婚潰浜岄噸娣诲姞)锛屽綋鐐瑰嚮杩囧揩鏃讹紝浼氭湁鍑犵巼浜岄噸娣诲姞 + // if (UserCenterLogic.CheckCanAddForm(newform) == false) + // { + // return; + // } + // newform.FormID = UserCenterLogic.GetFormName(newform); + + // UserView.HomePage.Instance.AddChidren(newform); + // UserView.HomePage.Instance.PageIndex += 1; + // //鍒濆鍖栫晫闈㈡鏋� + // newform.InitForm(parameter); + // //鎵цShowForm()鏂规硶 + // newform.LoadShowFormMethod(parameter); + //} + + ///// <summary> + ///// 鑳界粦瀹氬埌鎸夐敭鐨勮澶� + ///// </summary> + ///// <param name="device"></param> + ///// <returns></returns> + //public bool SupportDevice(CommonDevice device,int currentClusterID) + //{ + // foreach (var data in device.InClusterList) + // { + // //鎷ユ湁on/off鍔熻兘鐨勶紝鎵嶆敮鎸佹祴璇� + // if (data.InCluster == currentClusterID) + // { + // return true; + // } + // } + // return false; + //} + + ///// <summary> + ///// 缁戝畾PIR浼犳劅鍣ㄧ殑鐩爣(杩斿洖鎴愬姛璁剧疆鐨勮澶�,閿欒鏃讹紝杩斿洖null) + ///// </summary> + ///// <param name="i_iasZone">浼犳劅鍣�</param> + ///// <param name="listDevice">瑕佺粦瀹氱殑鐩爣璁惧</param> + ///// <returns></returns> + //public async Task<List<CommonDevice>> BindKeyDeviceTargets(Panel key, List<CommonDevice> listDevice,int currentClusterID) + //{ + // if (listDevice.Count == 0) + // { + // return new List<CommonDevice>(); + // } + + // var dicDevice = new Dictionary<string, CommonDevice>(); + + // //缁勮鏁版嵁 + // var addData = new Panel.AddBindData(); + // addData.DeviceAddr = key.DeviceAddr; + // addData.Epoint = key.DeviceEpoint; + // foreach (var device in listDevice) + // { + // var info = new Panel.AddBindListObj(); + // info.BindCluster = currentClusterID; + // info.BindMacAddr = device.DeviceAddr; + // info.BindEpoint = device.DeviceEpoint; + // info.BindType = 0; + + // addData.BindList.Add(info); + + // //杩斿洖鎴愬姛璁惧鐨勬椂鍊欎娇鐢� + // string mainkeys = Common.LocalDevice.Current.GetDeviceMainKeys(device); + // dicDevice[mainkeys] = device; + // } + + // var result = await key.AddDeviceBindAsync(addData); + // if (result.addedDeviceBindResponseData == null) + // { + // //濡傛灉缃戝叧宸茬粡鎺夌嚎 + // bool flage = Common.LocalGateway.Current.CheckGatewayOnLineOnTimeout(key.CurrentGateWayId, result.errorMessageBase); + // if (flage == false) + // { + // return null; + // } + // //缁戝畾鐩爣璁剧疆澶辫触 + // string msg = Language.StringByID(R.MyInternationalizationString.uSetBindTargetsFail); + // //鎷兼帴涓娿�愮綉鍏冲洖澶嶈秴鏃躲�戠殑Msg + // msg = UserCenterLogic.CombineGatewayTimeOutMsg(msg); + + // this.ShowErrorMsg(msg); + // return null; + // } + + // var listSuccess = new List<CommonDevice>(); + // foreach (var data in result.addedDeviceBindResponseData.BindList) + // { + // string mainkeys = Common.LocalDevice.Current.GetDeviceMainKeys(data.BindMacAddr, data.BindEpoint); + // //0:娣诲姞鎴愬姛 3:宸茬粡瀛樺湪锛屼篃鍙互浠h〃鎴愬姛 + // if (data.Result == 0 || data.Result == 3) + // { + // if (dicDevice.ContainsKey(mainkeys) == true) + // { + // listSuccess.Add(dicDevice[mainkeys]); + // } + // } + // //1锛氬け璐ワ紝鑺傜偣璁惧鎴栧満鏅笉瀛樺湪 + // else if (data.Result == 1) + // { + // if (dicDevice.ContainsKey(mainkeys) == true) + // { + // //璁惧鍚嶇О 缁戝畾澶辫触 + // string msg = Shared.Common.LocalDevice .Current.GetDeviceEpointName(dicDevice[mainkeys]) + " "; + // msg += Language.StringByID(R.MyInternationalizationString.BindFailed); + // this.ShowTipMsg(msg); + // } + // } + // //2锛氭湭鐭ワ紝鐢辫妭鐐硅澶囧弽棣堝彂閫佲�淏ind/BindResult鈥濅富棰樻秷鎭‘瀹氭槸鍚︽垚鍔� + // else if (data.Result == 2) + // { + // if (result.addBindResultResponseData == null) + // { + // //璁惧鍚嶇О 缁戝畾澶辫触 + // string msg = Shared.Common.LocalDevice.Current.GetDeviceEpointName(dicDevice[mainkeys]) + " "; + // msg += Language.StringByID(R.MyInternationalizationString.BindFailed); + // this.ShowTipMsg(msg); + // } + // else + // { + // //娣诲姞鎴愬姛 + // if (result.addBindResultResponseData.Result == 0) + // { + // if (dicDevice.ContainsKey(mainkeys) == true) + // { + // listSuccess.Add(dicDevice[mainkeys]); + // } + // } + // //璁惧鍚嶇О 缁戝畾鍒楄〃宸叉弧 + // else if (result.addBindResultResponseData.Result == 140) + // { + // string msg = Shared.Common.LocalDevice.Current.GetDeviceEpointName(dicDevice[mainkeys]) + " "; + // msg += Language.StringByID(R.MyInternationalizationString.uBindListIsFull); + // this.ShowTipMsg(msg); + // } + // else + // { + // //璁惧鍚嶇О 缁戝畾澶辫触 + // string msg = Shared.Common.LocalDevice.Current.GetDeviceEpointName(dicDevice[mainkeys]) + " "; + // msg += Language.StringByID(R.MyInternationalizationString.BindFailed); + // this.ShowTipMsg(msg); + // } + // } + // } + // } + + // return listSuccess; + //} + + ///// <summary> + ///// 鏄剧ず璁惧閫夋嫨鐨勭晫闈� + ///// </summary> + //public void ShowDeviceSelectForm(Panel key, int currentClusterID) + //{ + // var listShowDevice = new List<CommonDevice>(); + // foreach (var device in PanelBindPage.list) + // { + // if (SupportDevice(device, currentClusterID) == false) + // { + // continue; + // } + + // string mainKeys = this.GetDeviceMainKeys(device); + // if (this.dicEsixtDevice.ContainsKey(mainKeys) == true) + // { + // //濡傛灉宸茬粡娣诲姞浜嗭紝鍒欎笉鍐嶆樉绀� + // continue; + // } + + // listShowDevice.Add(device); + // } + + // var listSelect = new List<string>(); + // foreach (string mainkeys in this.dicEsixtDevice.Keys) + // { + // listSelect.Add(mainkeys); + // } + + // var form = new SelectDeviceForm(); + // this.AddForm(form, listShowDevice, listSelect, false); + // //娣诲姞缁戝畾鐩爣 + // form.SetTitleText(Language.StringByID(R.MyInternationalizationString.AddBindTargets)); + + // //璁惧閫夋嫨纭畾 + // form.ActionSelectDevice += (async (listDevice) => + // { + // if (listDevice.Count == 0) + // { + // return; + // } + + // var listNewDevice = await this.BindKeyDeviceTargets(key, listDevice,currentClusterID); + + // if (listNewDevice == null || listNewDevice.Count == 0) + // { + // return; + // } + + // foreach (CommonDevice device in listNewDevice) + // { + // string mainKeys = Common.LocalDevice.Current.GetDeviceMainKeys(device); + // this.dicEsixtDevice[mainKeys] = device; + + // Application.RunOnMainThread(() => + // { + // this.AddRowlayout(device); + // }); + // } + // }); + //} + + ///// <summary> + ///// 娣诲姞琛� + ///// </summary> + ///// <param name="device"></param> + //private void AddRowlayout(CommonDevice device) + //{ + // string mainKeys = Common.LocalDevice.Current.GetDeviceMainKeys(device); + // this.dicEsixtDevice[mainKeys] = device; + + // var row = new DeviceRoomViewRow(this.listView, device); + // row.ChangedChidrenBindMode(row.btnIcon, ChidrenBindMode.BindEventOnly); + // row.ChangedChidrenBindMode(row.btnRoom, ChidrenBindMode.BindEventOnly); + // row.ChangedChidrenBindMode(row.btnDevie, ChidrenBindMode.BindEventOnly); + + // //鍒犻櫎 + // var btnDelete = new RowDeleteButton(); + // row.AddRightView(btnDelete); + // btnDelete.MouseUpEventHandler += (sender, e) => + // { + // //纭瑕佸垹闄ゅ悧锛� + // string msg = Language.StringByID(R.MyInternationalizationString.uShowDoDeleteMsg); + // this . ShowConfirmMsg(msg, "DeleteTargetDevice", device, row); + // }; + //} } } -- Gitblit v1.8.0