From f5a49299caaf1fdca7503ae682da13c6fda887c6 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期三, 16 十二月 2020 20:55:55 +0800 Subject: [PATCH] Merge branch 'CJL' into NewFilePath --- HDL_ON/UI/UI2/1-HomePage/HomePage.cs | 16 + HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockPasswordPage.cs | 14 HDL-ON_Android/Assets/Language.ini | 4 HDL_ON/UI/UI2/2-Classification/RoomPage.cs | 8 HDL_ON/UI/UI2/FuntionControlView/Curtain/RollingShutterPage.cs | 7 HDL_ON/UI/UI2/FuntionControlView/Light/RGBPage.cs | 7 HDL_ON/UI/UI2/FuntionControlView/Electrical/TVPage.cs | 8 HDL_ON/UI/UI0-Public/AppUnlockPage.cs | 39 +++ HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPage.cs | 7 HDL-ON_iOS/Resources/Language.ini | 4 HDL_ON/UI/UI2/FuntionControlView/Electrical/SocketPage.cs | 7 HDL_ON/UI/UI0-Public/UpdataSidDataDialog.cs | 4 HDL_ON/UI/UI2/FuntionControlView/Light/RelayPage.cs | 9 HDL_ON/DAL/DriverLayer/Packet.cs | 22 +- HDL_ON/DAL/DriverLayer/Control.cs | 3 HDL_ON/UI/UI2/1-HomePage/MessageCenterPage.cs | 39 ++- HDL_ON/UI/UI2/FuntionControlView/Curtain/MotorCurtainPage.cs | 7 HDL_ON/UI/UI2/FuntionControlView/AC/ACPage.cs | 7 HDL_ON/UI/UI2/FuntionControlView/Electrical/FanPage.cs | 7 HDL_ON/UI/UI2/3-Intelligence/IntelligencePage.cs | 22 + HDL_ON/UI/UI2/FuntionControlView/FoolHeating/FloorHeatingPage.cs | 7 HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs | 4 HDL_ON/Entity/Function/TV.cs | 4 HDL_ON/DAL/DriverLayer/Control_Udp.cs | 78 +++--- HDL_ON/UI/UI2/FuntionControlView/Curtain/CurtainModulePage.cs | 7 HDL_ON/UI/UI0-Public/TopViewDiv.cs | 19 + HDL_ON/Entity/Function/Function.cs | 6 HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs | 7 HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockSettingsPageBLL.cs | 227 +++++++++++--------- HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs | 4 HDL_ON/Common/R.cs | 17 + HDL_ON/DAL/Server/HttpServerRequest.cs | 1 HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePageBLL.cs | 4 HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockGesturePage.cs | 15 HDL_ON/Entity/ResponseEntity/RegionInfoRes.cs | 8 35 files changed, 427 insertions(+), 222 deletions(-) diff --git a/HDL-ON_Android/Assets/Language.ini b/HDL-ON_Android/Assets/Language.ini index 0c26a51..143a78b 100644 --- a/HDL-ON_Android/Assets/Language.ini +++ b/HDL-ON_Android/Assets/Language.ini @@ -569,6 +569,10 @@ 9049=瀵嗙爜杩炵画杈撻敊娆℃暟宸茶揪鍒�10娆�,鐢ㄦ埛宸茶閿佸畾,璇锋鏃�0鐐瑰悗鍐嶇櫥闄� 9050=楠岃瘉闈㈠ID 9051=淇濆瓨鐢ㄦ埛澶村儚澶辫触 +9052=鎺ㄩ�佹敞鍐屾甯� +9053=鎺ㄩ�佹敞鍐屽紓甯� +9054=鏁板瓧瀵嗙爜楠岃瘉 +9055=缁樺埗鎵嬪娍楠岃瘉 10000=鏃犳晥鐧诲綍瀵嗛挜锛岃閲嶆柊鐧诲綍锛� 10001=璇锋眰鏈嶅姟鍣ㄥけ璐ワ紝璇风◢鍚庡啀璇曪紒 diff --git a/HDL-ON_iOS/Resources/Language.ini b/HDL-ON_iOS/Resources/Language.ini index 0c26a51..143a78b 100644 --- a/HDL-ON_iOS/Resources/Language.ini +++ b/HDL-ON_iOS/Resources/Language.ini @@ -569,6 +569,10 @@ 9049=瀵嗙爜杩炵画杈撻敊娆℃暟宸茶揪鍒�10娆�,鐢ㄦ埛宸茶閿佸畾,璇锋鏃�0鐐瑰悗鍐嶇櫥闄� 9050=楠岃瘉闈㈠ID 9051=淇濆瓨鐢ㄦ埛澶村儚澶辫触 +9052=鎺ㄩ�佹敞鍐屾甯� +9053=鎺ㄩ�佹敞鍐屽紓甯� +9054=鏁板瓧瀵嗙爜楠岃瘉 +9055=缁樺埗鎵嬪娍楠岃瘉 10000=鏃犳晥鐧诲綍瀵嗛挜锛岃閲嶆柊鐧诲綍锛� 10001=璇锋眰鏈嶅姟鍣ㄥけ璐ワ紝璇风◢鍚庡啀璇曪紒 diff --git a/HDL_ON/Common/R.cs b/HDL_ON/Common/R.cs index e25fa3c..58cf187 100644 --- a/HDL_ON/Common/R.cs +++ b/HDL_ON/Common/R.cs @@ -722,6 +722,23 @@ /// 淇濆瓨鐢ㄦ埛澶村儚澶辫触 /// </summary> public const int FailedToSaveUserImage = 9051; + /// <summary> + /// 鎺ㄩ�佹敞鍐屾甯� + /// </summary> + public const int PushNormal = 9052; + /// <summary> + /// 鎺ㄩ�佹敞鍐屽紓甯� + /// </summary> + public const int PushException = 9053; + /// <summary> + /// 鏁板瓧瀵嗙爜楠岃瘉 + /// </summary> + public const int PasswordVerification = 9054; + /// <summary> + /// 缁樺埗鎵嬪娍楠岃瘉 + /// </summary> + public const int GestureVerification = 9055; + #region 缃戠粶璇锋眰鍝嶅簲閿欒鎻愮ず淇℃伅 diff --git a/HDL_ON/DAL/DriverLayer/Control.cs b/HDL_ON/DAL/DriverLayer/Control.cs index 82757c7..e8215ad 100644 --- a/HDL_ON/DAL/DriverLayer/Control.cs +++ b/HDL_ON/DAL/DriverLayer/Control.cs @@ -244,10 +244,11 @@ { function.usageCount++; function.refreshTime = DateTime.Now; - DAL.Server.HttpServerRequest httpServer = new DAL.Server.HttpServerRequest(); + //杩滅▼閫氳 if (Ins.IsRemote) { + DAL.Server.HttpServerRequest httpServer = new DAL.Server.HttpServerRequest(); //ALink鎺у埗銆丅us鎺у埗浣跨敤鍚屼竴涓帴鍙f帶鍒讹紝鐢变簯绔礋璐hВ鏋� var apiControlData = function.GetApiControlData(commandDictionary); var actionObjs = new List<ApiAlinkControlActionObj>(); diff --git a/HDL_ON/DAL/DriverLayer/Control_Udp.cs b/HDL_ON/DAL/DriverLayer/Control_Udp.cs index fd41020..5e32402 100644 --- a/HDL_ON/DAL/DriverLayer/Control_Udp.cs +++ b/HDL_ON/DAL/DriverLayer/Control_Udp.cs @@ -174,8 +174,8 @@ curtainState = 2; break; } - ControlBytesSend(Command.SetCurtainModelStutas, f.localFunction.bus_Data.SubnetID, f.localFunction.bus_Data.DeviceID, - new byte[] { f.localFunction.bus_Data.loopId, curtainState }); + ControlBytesSend(Command.SetCurtainModelStutas, f.localFunction.bus.SubnetID, f.localFunction.bus.DeviceID, + new byte[] { f.localFunction.bus.loopId, curtainState }); break; } } @@ -218,10 +218,10 @@ } break; } - ControlBytesSend(Command.InstructionPanelKey, f.localFunction.bus_Data.SubnetID, f.localFunction.bus_Data.DeviceID, new byte[] { 3, tempAc.trait_on_off.curValue.ToString() == "on" ? (byte)1 : (byte)0, f.localFunction.bus_Data.loopId }); - ControlBytesSend(Command.InstructionPanelKey, f.localFunction.bus_Data.SubnetID, f.localFunction.bus_Data.DeviceID, new byte[] { 6, tempAc.curModeIndex, f.localFunction.bus_Data.loopId }); - ControlBytesSend(Command.InstructionPanelKey, f.localFunction.bus_Data.SubnetID, f.localFunction.bus_Data.DeviceID, new byte[] { 5, tempAc.curFanIndex, f.localFunction.bus_Data.loopId }); - ControlBytesSend(Command.InstructionPanelKey, f.localFunction.bus_Data.SubnetID, f.localFunction.bus_Data.DeviceID, new byte[] { modeKey, Convert.ToByte(tempAc.trait_temp.curValue), f.localFunction.bus_Data.loopId }); + ControlBytesSend(Command.InstructionPanelKey, f.localFunction.bus.SubnetID, f.localFunction.bus.DeviceID, new byte[] { 3, tempAc.trait_on_off.curValue.ToString() == "on" ? (byte)1 : (byte)0, f.localFunction.bus.loopId }); + ControlBytesSend(Command.InstructionPanelKey, f.localFunction.bus.SubnetID, f.localFunction.bus.DeviceID, new byte[] { 6, tempAc.curModeIndex, f.localFunction.bus.loopId }); + ControlBytesSend(Command.InstructionPanelKey, f.localFunction.bus.SubnetID, f.localFunction.bus.DeviceID, new byte[] { 5, tempAc.curFanIndex, f.localFunction.bus.loopId }); + ControlBytesSend(Command.InstructionPanelKey, f.localFunction.bus.SubnetID, f.localFunction.bus.DeviceID, new byte[] { modeKey, Convert.ToByte(tempAc.trait_temp.curValue), f.localFunction.bus.loopId }); } break; case FunctionType.Relay: @@ -247,8 +247,8 @@ break; } } - ControlBytesSend(Command.SetSingleLight, f.localFunction.bus_Data.SubnetID, f.localFunction.bus_Data.DeviceID, - new byte[] { f.localFunction.bus_Data.loopId, brightness }); + ControlBytesSend(Command.SetSingleLight, f.localFunction.bus.SubnetID, f.localFunction.bus.DeviceID, + new byte[] { f.localFunction.bus.loopId, brightness }); break; case FunctionType.RGB: break; @@ -270,8 +270,8 @@ } } byte b1 = tempFh.trait_on_off.curValue.ToString() == "on" ? (byte)1 : (byte)0; - ControlBytesSend(Command.SetFloorHeat, f.localFunction.bus_Data.SubnetID, f.localFunction.bus_Data.DeviceID, new byte[] { - f. localFunction.bus_Data.loopId, b1, 0, tempFh.curModeIndex, Convert.ToByte( tempFh.trait_temp.curValue), Convert.ToByte( tempFh.trait_temp.curValue), Convert.ToByte( tempFh.trait_temp.curValue), Convert.ToByte( tempFh.trait_temp.curValue), 0, 0 }); + ControlBytesSend(Command.SetFloorHeat, f.localFunction.bus.SubnetID, f.localFunction.bus.DeviceID, new byte[] { + f. localFunction.bus.loopId, b1, 0, tempFh.curModeIndex, Convert.ToByte( tempFh.trait_temp.curValue), Convert.ToByte( tempFh.trait_temp.curValue), Convert.ToByte( tempFh.trait_temp.curValue), Convert.ToByte( tempFh.trait_temp.curValue), 0, 0 }); break; case FunctionType.Socket: foreach (var attr in f.status) @@ -288,8 +288,8 @@ onOffValue = 2; break; } - ControlBytesSend(Command.SetSingleLight, f.localFunction.bus_Data.SubnetID, f.localFunction.bus_Data.DeviceID, - new byte[] { f.localFunction.bus_Data.loopId, onOffValue }); + ControlBytesSend(Command.SetSingleLight, f.localFunction.bus.SubnetID, f.localFunction.bus.DeviceID, + new byte[] { f.localFunction.bus.loopId, onOffValue }); break; } } @@ -307,9 +307,9 @@ { try { - var subnetId = function.bus_Data.SubnetID; - var deviceId = function.bus_Data.DeviceID; - var loopId = function.bus_Data.loopId; + var subnetId = function.bus.SubnetID; + var deviceId = function.bus.DeviceID; + var loopId = function.bus.loopId; switch (function.functionCategory) { @@ -328,7 +328,7 @@ { b = (byte)light.brightness == 0 ? (byte)100 : (byte)light.brightness; } - var bytes = new byte[] { function.bus_Data.loopId, + var bytes = new byte[] { function.bus.loopId, b, 254, 0,Convert.ToByte(light.fadeTime) ,3, (byte)light.RedColor,(byte)light.GreenColor, @@ -347,13 +347,13 @@ b1 = (byte)light.brightness == 0 ? (byte)100 : (byte)light.brightness; } ControlBytesSend(Command.SetSingleLight, subnetId, deviceId, new byte[] { - function.bus_Data.loopId, + function.bus.loopId, b1, 0, Convert.ToByte(light.fadeTime) }); //DimmerPage.UpdataStates(light); break; case FunctionType.Relay: - ControlBytesSend(Command.SetSingleLight, subnetId, deviceId, new byte[] { function.bus_Data.loopId, light.trait_on_off.curValue.ToString() == "on" ? (byte)100 : (byte)0, 0, 0 }); + ControlBytesSend(Command.SetSingleLight, subnetId, deviceId, new byte[] { function.bus.loopId, light.trait_on_off.curValue.ToString() == "on" ? (byte)100 : (byte)0, 0, 0 }); //RelayPage.UpdataState(light); break; } @@ -376,7 +376,7 @@ { b1 = 2; } - ControlBytesSend(Command.SetCurtainModelStutas, subnetId, deviceId, new byte[] { curtain.bus_Data.loopId, b1 }); + ControlBytesSend(Command.SetCurtainModelStutas, subnetId, deviceId, new byte[] { curtain.bus.loopId, b1 }); break; case FunctionType.MotorCurtain: case FunctionType.RollingShutter: @@ -384,7 +384,7 @@ //{ if (curtain.trait_on_off.curValue.ToString() == "stop") { - ControlBytesSend(Command.SetCurtainModelStutas, subnetId, deviceId, new byte[] { curtain.bus_Data.loopId, 0 }); + ControlBytesSend(Command.SetCurtainModelStutas, subnetId, deviceId, new byte[] { curtain.bus.loopId, 0 }); } else { @@ -415,20 +415,20 @@ { case FunctionType.AC: var aC = function as AC; - ControlBytesSend(Command.SetACMode, subnetId, deviceId, new byte[] { aC.bus_Data.loopId, (byte)aC.curTempType, 32, 32, 32, 32, 32, 0, aC.trait_on_off.curValue.ToString() == "on" ? (byte)1 : (byte)0, aC.curModeIndex, aC.curFanIndex, Convert.ToByte(aC.trait_temp.curValue), 0 }); + ControlBytesSend(Command.SetACMode, subnetId, deviceId, new byte[] { aC.bus.loopId, (byte)aC.curTempType, 32, 32, 32, 32, 32, 0, aC.trait_on_off.curValue.ToString() == "on" ? (byte)1 : (byte)0, aC.curModeIndex, aC.curFanIndex, Convert.ToByte(aC.trait_temp.curValue), 0 }); //ControlBytesSend(Command.InstructionPanelKey, aC.bus_Data.SubnetID, aC.bus_Data.DeviceID, new byte[] { 3, aC.on_off == "on" ? (byte)1 : (byte)0, aC.bus_Data.loopId }); foreach (var dic in commandDictionary) { switch (dic.Key) { case "on_off": - ControlBytesSend(Command.InstructionPanelKey, aC.bus_Data.SubnetID, aC.bus_Data.DeviceID, new byte[] { 3, aC.trait_on_off.curValue.ToString() == "on" ? (byte)1 : (byte)0, aC.bus_Data.loopId }); + ControlBytesSend(Command.InstructionPanelKey, aC.bus.SubnetID, aC.bus.DeviceID, new byte[] { 3, aC.trait_on_off.curValue.ToString() == "on" ? (byte)1 : (byte)0, aC.bus.loopId }); break; case "mode": - ControlBytesSend(Command.InstructionPanelKey, aC.bus_Data.SubnetID, aC.bus_Data.DeviceID, new byte[] { 6, aC.curModeIndex, aC.bus_Data.loopId }); + ControlBytesSend(Command.InstructionPanelKey, aC.bus.SubnetID, aC.bus.DeviceID, new byte[] { 6, aC.curModeIndex, aC.bus.loopId }); break; case "fan": - ControlBytesSend(Command.InstructionPanelKey, aC.bus_Data.SubnetID, aC.bus_Data.DeviceID, new byte[] { 5, aC.curFanIndex, aC.bus_Data.loopId }); + ControlBytesSend(Command.InstructionPanelKey, aC.bus.SubnetID, aC.bus.DeviceID, new byte[] { 5, aC.curFanIndex, aC.bus.loopId }); break; case "temp": byte modeKey = 4; @@ -450,7 +450,7 @@ modeKey = 2; break; } - ControlBytesSend(Command.InstructionPanelKey, aC.bus_Data.SubnetID, aC.bus_Data.DeviceID, new byte[] { modeKey, Convert.ToByte(aC.trait_temp.curValue), aC.bus_Data.loopId }); + ControlBytesSend(Command.InstructionPanelKey, aC.bus.SubnetID, aC.bus.DeviceID, new byte[] { modeKey, Convert.ToByte(aC.trait_temp.curValue), aC.bus.loopId }); break; default: MainPage.Log($"鍔熻兘鏈敮鎸� : {dic.Key}"); @@ -489,7 +489,7 @@ break; } } - ControlBytesSend(Command.SetFloorHeat, subnetId, deviceId, new byte[] { fh.bus_Data.loopId, b1, (byte)fh.curTempType, fh.curModeIndex, fh.modeTemp["normal"], fh.modeTemp["day"], fh.modeTemp["night"], fh.modeTemp["away"], 0, 0 }); + ControlBytesSend(Command.SetFloorHeat, subnetId, deviceId, new byte[] { fh.bus.loopId, b1, (byte)fh.curTempType, fh.curModeIndex, fh.modeTemp["normal"], fh.modeTemp["day"], fh.modeTemp["night"], fh.modeTemp["away"], 0, 0 }); } break; } @@ -501,10 +501,10 @@ var fan = function as Fan; if (fan.trait_on_off.curValue.ToString() == "on") { - ControlBytesSend(Command.SetSingleLight, subnetId, deviceId, new byte[] { fan.bus_Data.loopId, (byte)fan.openLevel }); + ControlBytesSend(Command.SetSingleLight, subnetId, deviceId, new byte[] { fan.bus.loopId, (byte)fan.openLevel }); } { - ControlBytesSend(Command.SetSingleLight, subnetId, deviceId, new byte[] { fan.bus_Data.loopId, 0 }); + ControlBytesSend(Command.SetSingleLight, subnetId, deviceId, new byte[] { fan.bus.loopId, 0 }); } break; } @@ -514,7 +514,7 @@ { case FunctionType.Socket: var s = function as SwitchSocket; - ControlBytesSend(Command.SetSingleLight, subnetId, deviceId, new byte[] { s.bus_Data.loopId, s.trait_on_off.curValue.ToString() == "on" ? (byte)100 : (byte)0 }); + ControlBytesSend(Command.SetSingleLight, subnetId, deviceId, new byte[] { s.bus.loopId, s.trait_on_off.curValue.ToString() == "on" ? (byte)100 : (byte)0 }); break; } break; @@ -539,9 +539,9 @@ { try { - var subnetId = function.bus_Data.SubnetID; - var deviceId = function.bus_Data.DeviceID; - var loopId = function.bus_Data.loopId; + var subnetId = function.bus.SubnetID; + var deviceId = function.bus.DeviceID; + var loopId = function.bus.loopId; switch (function.functionCategory) { @@ -553,7 +553,7 @@ ControlBytesSend(Command.ReadLightAllLoopBrightness, subnetId, deviceId, new byte[] { }); break; case FunctionType.RGB: - ControlBytesSend(Command.ReadLogicLoopColor, subnetId, deviceId, new byte[] { function.bus_Data.loopId }); + ControlBytesSend(Command.ReadLogicLoopColor, subnetId, deviceId, new byte[] { function.bus.loopId }); break; } break; @@ -563,7 +563,7 @@ case FunctionType.Curtain: case FunctionType.MotorCurtain: case FunctionType.RollingShutter: - ControlBytesSend(Command.ReadCurtainStatus, subnetId, deviceId, new byte[] { function.bus_Data.loopId }); + ControlBytesSend(Command.ReadCurtainStatus, subnetId, deviceId, new byte[] { function.bus.loopId }); break; } break; @@ -571,10 +571,10 @@ switch (function.functionType) { case FunctionType.AC: - ControlBytesSend(Command.ReadACMode, subnetId, deviceId, new byte[] { function.bus_Data.loopId }); + ControlBytesSend(Command.ReadACMode, subnetId, deviceId, new byte[] { function.bus.loopId }); break; case FunctionType.FloorHeating: - ControlBytesSend(Command.ReadFloorHeat, subnetId, deviceId, new byte[] { function.bus_Data.loopId }); + ControlBytesSend(Command.ReadFloorHeat, subnetId, deviceId, new byte[] { function.bus.loopId }); break; } break; @@ -583,7 +583,7 @@ { case FunctionType.Fan: var fan = function as Fan; - ControlBytesSend(Command.SetSingleLight, subnetId, deviceId, new byte[] { fan.bus_Data.loopId }); + ControlBytesSend(Command.SetSingleLight, subnetId, deviceId, new byte[] { fan.bus.loopId }); break; } break; @@ -592,14 +592,14 @@ { case FunctionType.Socket: var s = function as SwitchSocket; - ControlBytesSend(Command.SetSingleLight, subnetId, deviceId, new byte[] { s.bus_Data.loopId }); + ControlBytesSend(Command.SetSingleLight, subnetId, deviceId, new byte[] { s.bus.loopId }); break; } break; case FunctionCategory.Sensor: var sensor = function as Sensor; ControlBytesSend(Command.ReadDeviceLoopInfo, subnetId, deviceId, new byte[] { (byte)5, - (byte)((int)sensor.functionType % 256), sensor.bus_Data.loopId }); + (byte)((int)sensor.functionType % 256), sensor.bus.loopId }); break; } } diff --git a/HDL_ON/DAL/DriverLayer/Packet.cs b/HDL_ON/DAL/DriverLayer/Packet.cs index c0a5517..8bfb416 100644 --- a/HDL_ON/DAL/DriverLayer/Packet.cs +++ b/HDL_ON/DAL/DriverLayer/Packet.cs @@ -163,12 +163,12 @@ case Command.ReadLightAllLoopBrightnessACK: for (int i = 0; i < receiveBytes[0]; i++) { - var light = FunctionList.List.lights.Find((obj) => obj.bus_Data.SubnetID == subnetID && obj.bus_Data.DeviceID == deviceID && obj.bus_Data.loopId == (i + 1)); + var light = FunctionList.List.lights.Find((obj) => obj.bus.SubnetID == subnetID && obj.bus.DeviceID == deviceID && obj.bus.loopId == (i + 1)); if (light != null) { if (light.functionType != FunctionType.RGB) { - light.trait_on_off.curValue = receiveBytes[light.bus_Data.loopId] == 0 ? "off" : "on"; + light.trait_on_off.curValue = receiveBytes[light.bus.loopId] == 0 ? "off" : "on"; if (light.trait_on_off.curValue.ToString() == "on") { light.brightness = receiveBytes[2]; @@ -191,7 +191,7 @@ } else { - var e = FunctionList.List.electricals.Find((obj) => obj.bus_Data.SubnetID == subnetID && obj.bus_Data.DeviceID == deviceID && obj.bus_Data.loopId == i); + var e = FunctionList.List.electricals.Find((obj) => obj.bus.SubnetID == subnetID && obj.bus.DeviceID == deviceID && obj.bus.loopId == i); if (e != null) { var fan = e as Fan; @@ -247,7 +247,7 @@ case Command.ReadCurtainStutasACK: foreach (var curtain in FunctionList.List.curtains) { - if (curtain.bus_Data.SubnetID == subnetID && curtain.bus_Data.DeviceID == deviceID) + if (curtain.bus.SubnetID == subnetID && curtain.bus.DeviceID == deviceID) { if (receiveBytes[0] == 17) { @@ -264,7 +264,7 @@ } else { - if (curtain.bus_Data.loopId != receiveBytes[0]) + if (curtain.bus.loopId != receiveBytes[0]) continue; switch (receiveBytes[1]) { @@ -443,10 +443,10 @@ string tag = receiveBytes[1] + "_" + subnetID + "_" + deviceID + "_" + receiveBytes[2]; foreach (var sensor in FunctionList.List.sensorsEnvironmentalScience) { - if (sensor.bus_Data != null) + if (sensor.bus != null) { - if ((int)sensor.functionType % 256 == receiveBytes[1] && sensor.bus_Data.SubnetID == subnetID && - sensor.bus_Data.DeviceID == deviceID && sensor.bus_Data.loopId == receiveBytes[2]) + if ((int)sensor.functionType % 256 == receiveBytes[1] && sensor.bus.SubnetID == subnetID && + sensor.bus.DeviceID == deviceID && sensor.bus.loopId == receiveBytes[2]) { switch (dt) { @@ -476,10 +476,10 @@ string tag1 = receiveBytes[1] + "_" + subnetID + "_" + deviceID + "_" + receiveBytes[2]; foreach (var sensor in FunctionList.List.sensorsEnvironmentalScience) { - if (sensor.bus_Data != null) + if (sensor.bus != null) { - if ((int)sensor.functionType % 256 == receiveBytes[1] && sensor.bus_Data.SubnetID == subnetID && - sensor.bus_Data.DeviceID == deviceID && sensor.bus_Data.loopId == receiveBytes[2]) + if ((int)sensor.functionType % 256 == receiveBytes[1] && sensor.bus.SubnetID == subnetID && + sensor.bus.DeviceID == deviceID && sensor.bus.loopId == receiveBytes[2]) { //0淇濈暀 1鏃犵鍙�4Byte鏁村舰 2鏈夌鍙�4Byte鏁村舰 3Float褰紙浠B憋級 switch (receiveBytes[3]) diff --git a/HDL_ON/DAL/Server/HttpServerRequest.cs b/HDL_ON/DAL/Server/HttpServerRequest.cs index 24bc1a1..d6e8b1e 100644 --- a/HDL_ON/DAL/Server/HttpServerRequest.cs +++ b/HDL_ON/DAL/Server/HttpServerRequest.cs @@ -503,6 +503,7 @@ homeRegionName = mHome.homeRegionName, homeRegionId = mHome.homeRegionId, Address = mHome.homeAddress, + isAllowCreateScene = mHome.isAllowCreateScene, }; UserInfo.Current.regionList.Add(home); } diff --git a/HDL_ON/Entity/Function/Function.cs b/HDL_ON/Entity/Function/Function.cs index d6d1e9b..5fd7886 100644 --- a/HDL_ON/Entity/Function/Function.cs +++ b/HDL_ON/Entity/Function/Function.cs @@ -119,7 +119,7 @@ /// bus鍗忚鏁版嵁鏍煎紡 /// 浣跨敤A鍗忚鎺у埗鏃讹紝鏀瑰睘鎬т负绌� /// </summary> - public BusData bus_Data; + public BusData bus; /// <summary> /// 鏄惁鏀惰棌 /// </summary> @@ -206,9 +206,9 @@ public string GetBusId() { string busId = ""; - if (bus_Data != null) + if (bus != null) { - busId = bus_Data.SubnetID + "_" + bus_Data.DeviceID + "_" + bus_Data.loopId; + busId = bus.SubnetID + "_" + bus.DeviceID + "_" + bus.loopId; } return busId; } diff --git a/HDL_ON/Entity/Function/TV.cs b/HDL_ON/Entity/Function/TV.cs index 0b645a2..485ac6a 100644 --- a/HDL_ON/Entity/Function/TV.cs +++ b/HDL_ON/Entity/Function/TV.cs @@ -14,7 +14,7 @@ { int RandKey = new Random().Next(0, 255); var textByte = (byte)iCode; - Control.Ins.myUdp.ControlBytesSend(Command.InfraredControl, bus_Data.SubnetID, bus_Data.DeviceID, new byte[] { 1, bus_Data.loopId, textByte, 0, 0, (byte)RandKey }, 0); + Control.Ins.myUdp.ControlBytesSend(Command.InfraredControl, bus.SubnetID, bus.DeviceID, new byte[] { 1, bus.loopId, textByte, 0, 0, (byte)RandKey }, 0); } public void ControlTV(int number) { @@ -24,7 +24,7 @@ { textByte = 18; } - Control.Ins.myUdp.ControlBytesSend(Command.InfraredControl, bus_Data.SubnetID, bus_Data.DeviceID, new byte[] { 1, bus_Data.loopId, textByte, 0, 0, (byte)RandKey }, 0); + Control.Ins.myUdp.ControlBytesSend(Command.InfraredControl, bus.SubnetID, bus.DeviceID, new byte[] { 1, bus.loopId, textByte, 0, 0, (byte)RandKey }, 0); } } } diff --git a/HDL_ON/Entity/ResponseEntity/RegionInfoRes.cs b/HDL_ON/Entity/ResponseEntity/RegionInfoRes.cs index 7c4961b..1b984d7 100644 --- a/HDL_ON/Entity/ResponseEntity/RegionInfoRes.cs +++ b/HDL_ON/Entity/ResponseEntity/RegionInfoRes.cs @@ -118,6 +118,10 @@ /// 浣忓畢鍖哄煙鍚嶅瓧 /// </summary> public string homeRegionName; + /// <summary> + /// 鏄惁鍏佽鍒涘缓鍦烘櫙 + /// </summary> + public bool isAllowCreateScene; ///// <summary> ///// 鏄惁缁戝畾缃戝叧 ///// </summary> @@ -199,5 +203,9 @@ /// 浣忓畢鍦板潃 /// </summary> public string homeAddress; + /// <summary> + /// 鏄惁鍏佽鍒涘缓鍦烘櫙 + /// </summary> + public bool isAllowCreateScene; } } diff --git a/HDL_ON/UI/UI0-Public/AppUnlockPage.cs b/HDL_ON/UI/UI0-Public/AppUnlockPage.cs index 5b1b28d..637798b 100644 --- a/HDL_ON/UI/UI0-Public/AppUnlockPage.cs +++ b/HDL_ON/UI/UI0-Public/AppUnlockPage.cs @@ -97,15 +97,18 @@ UserInfo.Current.unlockTime = DateTime.Now; }; + //鎻愮ず鏁板瓧瀵嗙爜楠岃瘉杩樻槸缁樺埗鎵嬪娍楠岃瘉 + string verificationTitleString = GetVerificationTitleString(); + //寮瑰嚭鎸囩汗楠岃瘉瀵硅瘽妗� Action fingerAction = () => { - TouchIDUtils.Instance.showTouchIDWithDescribe(null, Language.StringByID(StringId.PleaseVerifyTheFingerprint)); + TouchIDUtils.Instance.showTouchIDWithDescribe(verificationTitleString, Language.StringByID(StringId.PleaseVerifyTheFingerprint)); }; //鍔犺浇UI椤甸潰 LoadGesturePage("7", fingerAction, null); - TouchIDUtils.Instance.showTouchIDWithDescribe(null, Language.StringByID(StringId.PleaseVerifyTheFingerprint)); + TouchIDUtils.Instance.showTouchIDWithDescribe(verificationTitleString, Language.StringByID(StringId.PleaseVerifyTheFingerprint)); TouchIDUtils.Instance.OnHDLTouchIDStateBackEvent = (sender1, e) => { if (e == TouchIDUtils.TouchIDState.Success) @@ -247,15 +250,18 @@ UserInfo.Current.unlockTime = DateTime.Now; }; + //鎻愮ず鏁板瓧瀵嗙爜楠岃瘉杩樻槸缁樺埗鎵嬪娍楠岃瘉 + string verificationTitleString = GetVerificationTitleString(); + //寮瑰嚭鎸囩汗楠岃瘉瀵硅瘽妗� Action faceIDAction = () => { - TouchIDUtils.Instance.showTouchIDWithDescribe(null, Language.StringByID(StringId.VerifyFaceID)); + TouchIDUtils.Instance.showTouchIDWithDescribe(verificationTitleString, Language.StringByID(StringId.VerifyFaceID)); }; //鍔犺浇UI椤甸潰 LoadFaceIDGesturePage("7", faceIDAction, null); - TouchIDUtils.Instance.showTouchIDWithDescribe(null, Language.StringByID(StringId.VerifyFaceID)); + TouchIDUtils.Instance.showTouchIDWithDescribe(verificationTitleString, Language.StringByID(StringId.VerifyFaceID)); TouchIDUtils.Instance.OnHDLTouchIDStateBackEvent = (sender1, e) => { if (e == TouchIDUtils.TouchIDState.Success) @@ -389,5 +395,30 @@ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; } } + + /// <summary> + /// 鍒ゆ柇鏄惁鏁板瓧楠岃瘉銆佸惁鍒欑粯鍒舵墜鍔块獙璇� + /// </summary> + /// <returns></returns> + bool CheckIfUnlockPassword() + { + return UserInfo.Current.appUnlockType.Contains("1"); + } + + /// <summary> + /// 鍒ゆ柇鏄惁鏁板瓧楠岃瘉銆佸惁鍒欑粯鍒舵墜鍔块獙璇� + /// </summary> + /// <returns></returns> + string GetVerificationTitleString() + { + if (CheckIfUnlockPassword()) + { + return Language.StringByID(StringId.PasswordVerification); + } + else + { + return Language.StringByID(StringId.GestureVerification); + } + } } } \ No newline at end of file diff --git a/HDL_ON/UI/UI0-Public/TopViewDiv.cs b/HDL_ON/UI/UI0-Public/TopViewDiv.cs index 31e109f..02b75d2 100644 --- a/HDL_ON/UI/UI0-Public/TopViewDiv.cs +++ b/HDL_ON/UI/UI0-Public/TopViewDiv.cs @@ -146,8 +146,12 @@ Height = Application.GetMinRealAverage(28), UnSelectedImagePath = "Public/FuncInfoSetIcon.png", }; - contentView.AddChidren(btnSetting); + //濡傛灉鏄垚鍛橀殣钘忕紪杈戝姛鑳� + if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare) + { + contentView.AddChidren(btnSetting); + } btnSetting.MouseUpEventHandler = (sender, e) => { editAction(); @@ -173,7 +177,11 @@ Height = Application.GetMinRealAverage(28), UnSelectedImagePath = "Public/FuncInfoSetIcon.png", }; - contentView.AddChidren(btnSetting); + //濡傛灉鏄垚鍛橀殣钘忕紪杈戝姛鑳� + if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare) + { + contentView.AddChidren(btnSetting); + } btnSetting.MouseUpEventHandler = (sender, e) => { @@ -201,7 +209,12 @@ Height = Application.GetMinRealAverage(28), UnSelectedImagePath = "Public/FuncInfoSetIcon.png", }; - contentView.AddChidren(btnSetting); + + //濡傛灉鏄垚鍛橀殣钘忕紪杈戝姛鑳� + if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare) + { + contentView.AddChidren(btnSetting); + } btnSetting.MouseUpEventHandler += (sender, e) => { diff --git a/HDL_ON/UI/UI0-Public/UpdataSidDataDialog.cs b/HDL_ON/UI/UI0-Public/UpdataSidDataDialog.cs index caeabf2..0164334 100644 --- a/HDL_ON/UI/UI0-Public/UpdataSidDataDialog.cs +++ b/HDL_ON/UI/UI0-Public/UpdataSidDataDialog.cs @@ -40,8 +40,8 @@ { var oidNetId = Convert.ToByte(oid.addresses.Substring(0, 2),16); var oidDevId = Convert.ToByte(oid.addresses.Substring(2, 2),16); - sidObj.bus_Data = new BusData(); - sidObj.bus_Data.loopId = Convert.ToByte(sidObj.sid.Substring(20, 4),16); + sidObj.bus = new BusData(); + sidObj.bus.loopId = Convert.ToByte(sidObj.sid.Substring(20, 4),16); } FunctionList.List.AddDeviceFunction(sidObj); } diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs index b6c33ea..2886f90 100644 --- a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs +++ b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs @@ -663,7 +663,13 @@ SelectedImagePath = "Collection/CollectionWhiteIcon.png", UnSelectedImagePath = "Collection/CollectionIcon.png", }; - view.AddChidren(btnCollection); + //view.AddChidren(btnCollection); + //2020-12-16 濡傛灉鏄垚鍛橀殣钘忔敹钘忓姛鑳� + if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare) + { + view.AddChidren(btnCollection); + } + LoadEvent_FunctionCollection(btnCollection, function); if (function.functionCategory == FunctionCategory.Curtain) @@ -897,7 +903,13 @@ SelectedImagePath = "Collection/CollectionWhiteIcon.png", UnSelectedImagePath = "Collection/CollectionIcon.png", }; - view.AddChidren(btnCollection); + //view.AddChidren(btnCollection); + //2020-12-16 濡傛灉鏄垚鍛橀殣钘忔敹钘忓姛鑳� + if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare) + { + view.AddChidren(btnCollection); + } + LoadEvent_SceneCollection(btnCollection, scene); LoadEvent_ControlScene(btnCoverd,btnName,btnZone, scene); diff --git a/HDL_ON/UI/UI2/1-HomePage/MessageCenterPage.cs b/HDL_ON/UI/UI2/1-HomePage/MessageCenterPage.cs index 87d2684..f130b5b 100644 --- a/HDL_ON/UI/UI2/1-HomePage/MessageCenterPage.cs +++ b/HDL_ON/UI/UI2/1-HomePage/MessageCenterPage.cs @@ -113,17 +113,28 @@ MenuButtonSelect(0); }; allMenuButton.SelectAction = allAction; - -#if DEBUG //娴嬭瘯鎻愬墠褰撳墠鎺ㄩ�両D allMenuButton.ImageButton.MouseLongEventHandler = (sender, e) => { - CopyToClipboard("鎺ㄩ�両D锛�" + OnAppConfig.Instance.PushId); - }; -#endif - #endregion +#if DEBUG - #region 鍒嗕韩涓庡姛鑳� + CopyToClipboard("鎺ㄩ�両D锛�" + OnAppConfig.Instance.PushId); +#else + //妫�娴嬫槸鍚﹁幏鍙栨帹閫両D鎴愬姛锛屾彁绀烘帹閫佹敞鍐屾槸鍚︽甯� + if (string.IsNullOrEmpty(OnAppConfig.Instance.PushId)) + { + Utlis.ShowTip(Language.StringByID(StringId.PushException)); + } + else + { + Utlis.ShowTip(Language.StringByID(StringId.PushNormal)); + } +#endif + + }; +#endregion + +#region 鍒嗕韩涓庡姛鑳� shareMenuButton = new MenuButton() { X = allMenuButton.Right, @@ -138,9 +149,9 @@ MenuButtonSelect(1); }; shareMenuButton.SelectAction = shateAction; - #endregion +#endregion - #region 鎶ヨ绫� +#region 鎶ヨ绫� alarmMenuButton = new MenuButton() { X = shareMenuButton.Right, @@ -155,9 +166,9 @@ MenuButtonSelect(2); }; alarmMenuButton.SelectAction = alarmAction; - #endregion +#endregion - #region 绯荤粺淇℃伅 +#region 绯荤粺淇℃伅 systemMenuButton = new MenuButton() { X = alarmMenuButton.Right, @@ -172,7 +183,7 @@ MenuButtonSelect(3); }; systemMenuButton.SelectAction = systemAction; - #endregion +#endregion } @@ -533,7 +544,7 @@ } } - #region 娴嬭瘯 +#region 娴嬭瘯 #if DEBUG /// <summary> /// @@ -608,7 +619,7 @@ #endif - #endregion +#endregion /// <summary> /// 鏍囪鎵�鏈夋帹閫佹秷鎭凡璇� diff --git a/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs b/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs index 0f3a706..01ae7e2 100644 --- a/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs +++ b/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs @@ -228,7 +228,12 @@ UnSelectedImagePath = "Collection/CollectionGrayIcon.png", IsSelected = function.collect }; - bodyDiv.AddChidren(btnCollectionIcon); + //bodyDiv.AddChidren(btnCollectionIcon); + //2020-12-16 濡傛灉鏄垚鍛橀殣钘忔敹钘忓姛鑳� + if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare) + { + bodyDiv.AddChidren(btnCollectionIcon); + } } /// <summary> diff --git a/HDL_ON/UI/UI2/2-Classification/RoomPage.cs b/HDL_ON/UI/UI2/2-Classification/RoomPage.cs index b41b765..3589474 100644 --- a/HDL_ON/UI/UI2/2-Classification/RoomPage.cs +++ b/HDL_ON/UI/UI2/2-Classification/RoomPage.cs @@ -176,7 +176,13 @@ UnSelectedImagePath = "Collection/CollectionGrayIcon.png", IsSelected = scene.collect }; - bodyDiv.AddChidren(btnCollectionIcon); + //bodyDiv.AddChidren(btnCollectionIcon); + //2020-12-16 濡傛灉鏄垚鍛橀殣钘忔敹钘忓姛鑳� + if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare) + { + bodyDiv.AddChidren(btnCollectionIcon); + } + btnIcon.UnSelectedImagePath = "FunctionIcon/Scene/SceneIcon.png"; if (scene.sceneType == SceneType.MovieScene) { diff --git a/HDL_ON/UI/UI2/3-Intelligence/IntelligencePage.cs b/HDL_ON/UI/UI2/3-Intelligence/IntelligencePage.cs index 6aa31b3..6f1aa84 100644 --- a/HDL_ON/UI/UI2/3-Intelligence/IntelligencePage.cs +++ b/HDL_ON/UI/UI2/3-Intelligence/IntelligencePage.cs @@ -69,7 +69,8 @@ }; bodyView.AddChidren(topView); - if (DB_ResidenceData.Instance.GatewayType == 0 || DB_ResidenceData.Instance.CurrentRegion.IsOthreShare) + //涓嶆槸A缃戝叧鎴栬�呮槸鎴愬憳 鍙厑璁告坊鍔犲満鏅殣钘忚嚜鍔ㄥ寲 + if (DB_ResidenceData.Instance.GatewayType != 1 || DB_ResidenceData.Instance.CurrentRegion.IsOthreShare) { btnSceneTilte = new Button() { @@ -360,7 +361,12 @@ SelectedImagePath = "Collection/CollectionIcon.png", IsSelected = scene.collect, }; - view.AddChidren(btnCollection); + //view.AddChidren(btnCollection); + //2020-12-16 濡傛灉鏄垚鍛橀殣钘忔敹钘忓姛鑳� + if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare) + { + view.AddChidren(btnCollection); + } btnCollection.MouseUpEventHandler = (sender, e) => { scene.collect = btnCollection.IsSelected = !btnCollection.IsSelected; scene.CollectScene(); @@ -479,6 +485,18 @@ { if (!btnAutomationTitle.IsSelected) { + //濡傛灉鏄垚鍛� + if (DB_ResidenceData.Instance.CurrentRegion.IsOthreShare) + { + //濡傛灉娌℃湁鍦烘櫙鏉冮檺 + if (!DB_ResidenceData.Instance.CurrentRegion.isAllowCreateScene) + { + //鎻愮ず娌℃湁鍦烘櫙鐨勫垱寤烘潈闄� + Utlis.ShowTip(Language.StringByID(StringId.PermissionDenied)); + return; + } + } + Action action = () => { LoadSceneFunctionControlZone(); diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockGesturePage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockGesturePage.cs index 6afbed5..7fed444 100644 --- a/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockGesturePage.cs +++ b/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockGesturePage.cs @@ -153,18 +153,17 @@ }; - - //鍔犺浇搴曢儴楠岃瘉鎸夐挳 - if (optionType == "5" || optionType == "6") - { - //杈撳叆鐧诲綍瀵嗙爜楠岃瘉 鎻愮ず鎸夐挳 - AddInputPasswordTipButton(optionType); - } - else if (optionType == "7") + + if (optionType == "7") { //浣跨敤璐︽埛瀵嗙爜鐧诲綍鎸夐挳 鎻愮ず鎸夐挳 AddLoginTipButton(); } + else if (optionType != "1") + { + //杈撳叆鐧诲綍瀵嗙爜楠岃瘉 鎻愮ず鎸夐挳 + AddInputPasswordTipButton(optionType); + } //if (optionType == "5" || optionType == "6" || optionType == "7") diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockPasswordPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockPasswordPage.cs index 9ce773d..4188ad6 100644 --- a/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockPasswordPage.cs +++ b/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockPasswordPage.cs @@ -230,18 +230,16 @@ etPassword.Foucs = true; - //鍔犺浇搴曢儴楠岃瘉鎸夐挳 - if (optionType == "3" || optionType == "5" || optionType == "6") - { - //杈撳叆鐧诲綍瀵嗙爜楠岃瘉 鎻愮ず鎸夐挳 - AddInputPasswordTipButton(optionType); - } - else if (optionType == "7") + if (optionType == "7") { //浣跨敤璐︽埛瀵嗙爜鐧诲綍鎸夐挳 鎻愮ず鎸夐挳 AddLoginTipButton(); } - + else if (optionType != "1") + { + //杈撳叆鐧诲綍瀵嗙爜楠岃瘉 鎻愮ず鎸夐挳 + AddInputPasswordTipButton(optionType); + } } diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockSettingsPageBLL.cs b/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockSettingsPageBLL.cs index 0594119..d045730 100644 --- a/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockSettingsPageBLL.cs +++ b/HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockSettingsPageBLL.cs @@ -321,76 +321,16 @@ } /// <summary> - /// 闈㈠ID寮�鍚拰鍏抽棴 + /// 闈㈠ID楠岃瘉寮圭獥 /// </summary> - void FaceIDVerification_SwtichOnOff() + /// <param name="successAction"></param> + /// <param name="goToVerifyPasswordAction"></param> + void FaceIDVerification_Show(Action successAction, Action goToVerifyPasswordAction) { - //6:闈㈠ID寮�鍏� - string optionType = "6"; - //4:闈㈠ID - string faceIDUnlockType = "4"; + //鎻愮ず鏁板瓧瀵嗙爜楠岃瘉杩樻槸缁樺埗鎵嬪娍楠岃瘉 + string verificationTitleString = GetVerificationTitleString(); - //鎴愬姛浜嬩欢 - Action successAction = () => - { - var result = btnFaceIdUnlockSwtichIcon.IsSelected = !btnFaceIdUnlockSwtichIcon.IsSelected; - if (result) - { - if (!UserInfo.Current.appUnlockType.Contains(faceIDUnlockType)) - { - UserInfo.Current.appUnlockType.Add(faceIDUnlockType); - UserInfo.Current.SaveUserInfo(); - } - } - else - { - if (UserInfo.Current.appUnlockType.Contains(faceIDUnlockType)) - { - UserInfo.Current.appUnlockType.Remove(faceIDUnlockType); - UserInfo.Current.SaveUserInfo(); - } - } - }; - - Action fingerAction = () => - { - TouchIDUtils.Instance.showTouchIDWithDescribe(null, Language.StringByID(StringId.VerifyFaceID)); - }; - new AppUnlockPage().LoadFaceIDGesturePage(optionType, fingerAction, successAction); - - TouchIDUtils.Instance.showTouchIDWithDescribe(null, Language.StringByID(StringId.VerifyFaceID)); - - TouchIDUtils.Instance.OnHDLTouchIDStateBackEvent = (sender1, e) => - { - if (e == TouchIDUtils.TouchIDState.Success) - { - successAction?.Invoke(); - MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent(); - } - else// if (e == TouchIDUtils.TouchIDState.InputPassword || e == TouchIDUtils.TouchIDState.TouchIDLockout) - { - ///灏嗛獙璇侀潰瀹笽D鐨勯〉闈㈢Щ闄� - MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent(); - - GotogoToVerifyPasswordPage(optionType, refreshAction); - } - }; - } - - /// <summary> - /// FaceID楠岃瘉 鍏抽棴瑙i攣璁剧疆 - /// </summary> - /// <param name="action">楠岃瘉鎴愬姛浜嬩欢</param> - void FaceIDVerification_TurnOffUnlock(Action successAction) - { - //浣跨敤瀵嗙爜楠岃瘉 - Action goToVerifyPasswordAction = () => - { - //鍏抽棴瑙i攣楠岃瘉 - GotogoToVerifyPasswordPage("4", successAction); - }; - - TouchIDUtils.Instance.showTouchIDWithDescribe(null, Language.StringByID(StringId.VerifyFaceID)); + TouchIDUtils.Instance.showTouchIDWithDescribe(verificationTitleString, Language.StringByID(StringId.VerifyFaceID)); TouchIDUtils.Instance.OnHDLTouchIDStateBackEvent = (sender1, e) => { if (e == TouchIDUtils.TouchIDState.Success) @@ -412,75 +352,76 @@ } /// <summary> - /// 鎸囩汗ID寮�鍚拰鍏抽棴 + /// 闈㈠ID寮�鍚拰鍏抽棴 /// </summary> - void TouchIDVerification_SwtichOnOff() + /// <param name="successAction">楠岃瘉鎴愬姛浜嬩欢</param> + void FaceIDVerification_SwtichOnOff() { - //5:鎸囩汗ID寮�鍏� - string optionType = "5"; + //4:闈㈠ID + string faceIDUnlockType = "4"; + //6:闈㈠ID寮�鍏� + string optionType = "6"; //鎴愬姛浜嬩欢 Action successAction = () => { - var result = btnFingerprintUnlockSwtichIcon.IsSelected = !btnFingerprintUnlockSwtichIcon.IsSelected; + var result = btnFaceIdUnlockSwtichIcon.IsSelected = !btnFaceIdUnlockSwtichIcon.IsSelected; if (result) { - if (!UserInfo.Current.appUnlockType.Contains("3")) + if (!UserInfo.Current.appUnlockType.Contains(faceIDUnlockType)) { - UserInfo.Current.appUnlockType.Add("3"); + UserInfo.Current.appUnlockType.Add(faceIDUnlockType); UserInfo.Current.SaveUserInfo(); } } else { - if (UserInfo.Current.appUnlockType.Contains("3")) + if (UserInfo.Current.appUnlockType.Contains(faceIDUnlockType)) { - UserInfo.Current.appUnlockType.Remove("3"); + UserInfo.Current.appUnlockType.Remove(faceIDUnlockType); UserInfo.Current.SaveUserInfo(); } } }; - - - Action fingerAction = () => + + //璺宠浆鏁板瓧瀵嗙爜鎴栬�呮墜鍔垮瘑鐮侀獙璇侀〉闈� + Action goToVerifyPasswordAction = () => { - TouchIDUtils.Instance.showTouchIDWithDescribe(null, Language.StringByID(StringId.PleaseVerifyTheFingerprint)); + //鍏抽棴瑙i攣楠岃瘉 + GotogoToVerifyPasswordPage(optionType, successAction); }; - new AppUnlockPage().LoadGesturePage(optionType, fingerAction, successAction); - TouchIDUtils.Instance.showTouchIDWithDescribe(null, Language.StringByID(StringId.PleaseVerifyTheFingerprint)); + FaceIDVerification_Show(successAction, goToVerifyPasswordAction); - TouchIDUtils.Instance.OnHDLTouchIDStateBackEvent = (sender1, e) => - { - if (e == TouchIDUtils.TouchIDState.Success) - { - successAction?.Invoke(); - - MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent(); - } - else// if (e == TouchIDUtils.TouchIDState.InputPassword || e == TouchIDUtils.TouchIDState.TouchIDLockout) - { - ///灏嗛獙璇佹寚绾笽D鐨勯〉闈㈢Щ闄� - MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent(); - - GotogoToVerifyPasswordPage(optionType, refreshAction); - } - }; } /// <summary> - /// TouchID楠岃瘉 鍏抽棴瑙i攣璁剧疆 + /// FaceID楠岃瘉 鍏抽棴瑙i攣璁剧疆 /// </summary> /// <param name="action">楠岃瘉鎴愬姛浜嬩欢</param> - void TouchIDVerification_TurnOffUnlock(Action successAction) + void FaceIDVerification_TurnOffUnlock(Action successAction) { - //浣跨敤瀵嗙爜楠岃瘉 + //璋冩暣鏁板瓧瀵嗙爜鎴栬�呮墜鍔垮瘑鐮侀獙璇侀〉闈� Action goToVerifyPasswordAction = () => { //鍏抽棴瑙i攣楠岃瘉 GotogoToVerifyPasswordPage("4", successAction); }; - TouchIDUtils.Instance.showTouchIDWithDescribe(null, Language.StringByID(StringId.PleaseVerifyTheFingerprint)); + FaceIDVerification_Show(successAction, goToVerifyPasswordAction); + } + + /// <summary> + /// 鎸囩汗ID缁熶竴寮瑰嚭 + /// </summary> + /// <param name="optionType"></param> + /// <param name="successAction"></param> + /// <param name="goToVerifyPasswordAction"></param> + void TouchIDVerification_Show(Action successAction, Action goToVerifyPasswordAction) + { + //鎻愮ず鏁板瓧瀵嗙爜楠岃瘉杩樻槸缁樺埗鎵嬪娍楠岃瘉 + string verificationTitleString = GetVerificationTitleString(); + + TouchIDUtils.Instance.showTouchIDWithDescribe(verificationTitleString, Language.StringByID(StringId.PleaseVerifyTheFingerprint)); TouchIDUtils.Instance.OnHDLTouchIDStateBackEvent = (sender1, e) => { if (e == TouchIDUtils.TouchIDState.NotSupport) @@ -503,6 +444,63 @@ } /// <summary> + /// 鎸囩汗ID寮�鍚拰鍏抽棴 5:鎸囩汗ID寮�鍏� + /// </summary> + void TouchIDVerification_SwtichOnOff() + { + //鎸囩汗鍏抽棴鎴愬姛浜嬩欢 鎴愬姛浜嬩欢 + Action successAction = () => + { + var result = btnFingerprintUnlockSwtichIcon.IsSelected = !btnFingerprintUnlockSwtichIcon.IsSelected; + if (result) + { + if (!UserInfo.Current.appUnlockType.Contains("3")) + { + UserInfo.Current.appUnlockType.Add("3"); + UserInfo.Current.SaveUserInfo(); + } + } + else + { + if (UserInfo.Current.appUnlockType.Contains("3")) + { + UserInfo.Current.appUnlockType.Remove("3"); + UserInfo.Current.SaveUserInfo(); + } + } + }; + + //5:鎸囩汗ID寮�鍏� + string optionType = "5"; + //璺宠浆鏁板瓧瀵嗙爜鎴栬�呮墜鍔垮瘑鐮侀獙璇侀〉闈� + Action goToVerifyPasswordAction = () => + { + //5:鎸囩汗ID寮�鍏� + GotogoToVerifyPasswordPage(optionType, successAction); + }; + + + + TouchIDVerification_Show(successAction, goToVerifyPasswordAction); + } + + /// <summary> + /// TouchID楠岃瘉 4:鍏抽棴瑙i攣璁剧疆 + /// </summary> + /// <param name="action">楠岃瘉鎴愬姛浜嬩欢</param> + void TouchIDVerification_TurnOffUnlock(Action successAction) + { + //璺宠浆鏁板瓧瀵嗙爜鎴栬�呮墜鍔垮瘑鐮侀獙璇侀〉闈� + Action goToVerifyPasswordAction = () => + { + //4.鍏抽棴瑙i攣楠岃瘉 + GotogoToVerifyPasswordPage("4", successAction); + }; + + TouchIDVerification_Show(successAction, goToVerifyPasswordAction); + } + + /// <summary> /// 璺宠浆鎵嬪娍鎴栬�呭瘑鐮侀獙璇佺晫闈� /// </summary> /// <param name="optionType">1:璁剧疆瀵嗙爜锛�2:楠岃瘉瀵嗙爜;3:鍏抽棴瀵嗙爜;4:鍏抽棴瑙i攣璁剧疆;5:鎸囩汗ID寮�鍏筹紱6:闈㈠ID寮�鍏�;7:瑙i攣楠岃瘉</param> @@ -524,5 +522,30 @@ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; } } + + /// <summary> + /// 鍒ゆ柇鏄惁鏁板瓧楠岃瘉銆佸惁鍒欑粯鍒舵墜鍔块獙璇� + /// </summary> + /// <returns></returns> + bool CheckIfUnlockPassword() + { + return UserInfo.Current.appUnlockType.Contains("1"); + } + + /// <summary> + /// 鍒ゆ柇鏄惁鏁板瓧楠岃瘉銆佸惁鍒欑粯鍒舵墜鍔块獙璇� + /// </summary> + /// <returns></returns> + string GetVerificationTitleString() + { + if (CheckIfUnlockPassword()) + { + return Language.StringByID(StringId.PasswordVerification); + } + else + { + return Language.StringByID(StringId.GestureVerification); + } + } } } \ No newline at end of file diff --git a/HDL_ON/UI/UI2/FuntionControlView/AC/ACPage.cs b/HDL_ON/UI/UI2/FuntionControlView/AC/ACPage.cs index cff9ed0..9f79e80 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/AC/ACPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/AC/ACPage.cs @@ -134,7 +134,12 @@ UnSelectedImagePath = "Collection/CollectionGrayIcon.png", IsSelected = aC.collect }; - controlView.AddChidren(btnCollection); + //controlView.AddChidren(btnCollection); + //2020-12-16 濡傛灉鏄垚鍛橀殣钘忔敹钘忓姛鑳� + if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare) + { + controlView.AddChidren(btnCollection); + } arcBar = new DiyArcSeekBar() { diff --git a/HDL_ON/UI/UI2/FuntionControlView/Curtain/CurtainModulePage.cs b/HDL_ON/UI/UI2/FuntionControlView/Curtain/CurtainModulePage.cs index b2a2baa..661eb0e 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Curtain/CurtainModulePage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Curtain/CurtainModulePage.cs @@ -108,7 +108,12 @@ UnSelectedImagePath = "Collection/CollectionGrayIcon.png", IsSelected = curtain.collect }; - controlView.AddChidren(btnCollection); + //controlView.AddChidren(btnCollection); + //2020-12-16 濡傛灉鏄垚鍛橀殣钘忔敹钘忓姛鑳� + if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare) + { + controlView.AddChidren(btnCollection); + } btnCurtainBgIcon = new Button() { diff --git a/HDL_ON/UI/UI2/FuntionControlView/Curtain/MotorCurtainPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Curtain/MotorCurtainPage.cs index 08c6e23..203fa6d 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Curtain/MotorCurtainPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Curtain/MotorCurtainPage.cs @@ -121,7 +121,12 @@ UnSelectedImagePath = "Collection/CollectionGrayIcon.png", IsSelected = curtain.collect }; - controlView.AddChidren(btnCollection); + //controlView.AddChidren(btnCollection); + //2020-12-16 濡傛灉鏄垚鍛橀殣钘忔敹钘忓姛鑳� + if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare) + { + controlView.AddChidren(btnCollection); + } curtainSeekBar = new CurtainSeekBarOn() { diff --git a/HDL_ON/UI/UI2/FuntionControlView/Curtain/RollingShutterPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Curtain/RollingShutterPage.cs index b0e0323..1e3b358 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Curtain/RollingShutterPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Curtain/RollingShutterPage.cs @@ -122,7 +122,12 @@ UnSelectedImagePath = "Collection/CollectionGrayIcon.png", IsSelected = curtain.collect }; - controlView.AddChidren(btnCollection); + //controlView.AddChidren(btnCollection); + //2020-12-16 濡傛灉鏄垚鍛橀殣钘忔敹钘忓姛鑳� + if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare) + { + controlView.AddChidren(btnCollection); + } curtainSeekBar = new CurtainRollSeekBarOn() { diff --git a/HDL_ON/UI/UI2/FuntionControlView/Electrical/FanPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Electrical/FanPage.cs index 4a9cbe5..7d8c20e 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Electrical/FanPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Electrical/FanPage.cs @@ -101,7 +101,12 @@ UnSelectedImagePath = "Collection/CollectionGrayIcon.png", IsSelected = fan.collect }; - controlView.AddChidren(btnCollection); + //controlView.AddChidren(btnCollection); + //2020-12-16 濡傛灉鏄垚鍛橀殣钘忔敹钘忓姛鑳� + if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare) + { + controlView.AddChidren(btnCollection); + } btnSwitchIcon = new Button() { diff --git a/HDL_ON/UI/UI2/FuntionControlView/Electrical/SocketPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Electrical/SocketPage.cs index 2af08c2..8c2b3dc 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Electrical/SocketPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Electrical/SocketPage.cs @@ -100,7 +100,12 @@ UnSelectedImagePath = "Collection/CollectionGrayIcon.png", IsSelected = socketFunction.collect }; - controlView.AddChidren(btnCollection); + //controlView.AddChidren(btnCollection); + //2020-12-16 濡傛灉鏄垚鍛橀殣钘忔敹钘忓姛鑳� + if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare) + { + controlView.AddChidren(btnCollection); + } btnSwitchIcon = new Button() { diff --git a/HDL_ON/UI/UI2/FuntionControlView/Electrical/TVPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Electrical/TVPage.cs index ab7f520..737c59b 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Electrical/TVPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Electrical/TVPage.cs @@ -113,8 +113,12 @@ UnSelectedImagePath = "Collection/CollectionGrayIcon.png", IsSelected = tv.collect }; - controlView.AddChidren(btnCollection); - + //controlView.AddChidren(btnCollection); + //2020-12-16 濡傛灉鏄垚鍛橀殣钘忔敹钘忓姛鑳� + if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare) + { + controlView.AddChidren(btnCollection); + } btnChangeTVAV = new Button() { diff --git a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs index c995824..399351c 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs @@ -368,9 +368,9 @@ if (room.roomId == "" || sensor.roomIds.Contains(room.roomId)) { var sensorTag = sensor.sid; - if (sensor.bus_Data != null) + if (sensor.bus != null) { - sensorTag = ((int)sensor.functionType % 256) + "_" + sensor.bus_Data.SubnetID + "_" + sensor.bus_Data.DeviceID + "_" + sensor.bus_Data.loopId; + sensorTag = ((int)sensor.functionType % 256) + "_" + sensor.bus.SubnetID + "_" + sensor.bus.DeviceID + "_" + sensor.bus.loopId; } FrameLayout sensorView = new FrameLayout() { diff --git a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePageBLL.cs b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePageBLL.cs index aaaeae3..2139c22 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePageBLL.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePageBLL.cs @@ -19,9 +19,9 @@ for (int i = 0; i < bodyView.sensorListView.ChildrenCount; i++) { var sensorTag = sensor.sid; - if (sensor.bus_Data != null) + if (sensor.bus != null) { - sensorTag = ((int)sensor.functionType % 256) + "_" + sensor.bus_Data.SubnetID + "_" + sensor.bus_Data.DeviceID + "_" + sensor.bus_Data.loopId; + sensorTag = ((int)sensor.functionType % 256) + "_" + sensor.bus.SubnetID + "_" + sensor.bus.DeviceID + "_" + sensor.bus.loopId; } var view = bodyView.sensorListView.GetChildren(i); if (view.GetType() == typeof(FrameLayout)) diff --git a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs index 15307dc..c382507 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs @@ -904,8 +904,8 @@ i++; continue; } - var revertObj = new HttpServerRequest().GetSensorHistory(sr.bus_Data.SubnetID, sr.bus_Data.DeviceID, - 5, (int)(sr.functionType) % 256, (int)curQueryType, sr.bus_Data.loopId, curMonth, + var revertObj = new HttpServerRequest().GetSensorHistory(sr.bus.SubnetID, sr.bus.DeviceID, + 5, (int)(sr.functionType) % 256, (int)curQueryType, sr.bus.loopId, curMonth, DB_ResidenceData.Instance.residenceGatewayMAC); if (revertObj != null) diff --git a/HDL_ON/UI/UI2/FuntionControlView/FoolHeating/FloorHeatingPage.cs b/HDL_ON/UI/UI2/FuntionControlView/FoolHeating/FloorHeatingPage.cs index 25eeb06..0b35fe5 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/FoolHeating/FloorHeatingPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/FoolHeating/FloorHeatingPage.cs @@ -130,7 +130,12 @@ UnSelectedImagePath = "Collection/CollectionGrayIcon.png", IsSelected = fh.collect }; - controlView.AddChidren(btnCollection); + //controlView.AddChidren(btnCollection); + //2020-12-16 濡傛灉鏄垚鍛橀殣钘忔敹钘忓姛鑳� + if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare) + { + controlView.AddChidren(btnCollection); + } arcBar = new DiyArcSeekBar() { diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPage.cs index d87f2d4..bf0f284 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Light/DimmerPage.cs @@ -123,7 +123,12 @@ UnSelectedImagePath = "Collection/CollectionGrayIcon.png", IsSelected = light.collect }; - controlView.AddChidren(btnCollection); + //controlView.AddChidren(btnCollection); + //2020-12-16 濡傛灉鏄垚鍛橀殣钘忔敹钘忓姛鑳� + if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare) + { + controlView.AddChidren(btnCollection); + } dimmerBar = new WaveSeekBarOn() { diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPage.cs index 0162525..4055b10 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Light/RGBPage.cs @@ -134,7 +134,12 @@ UnSelectedImagePath = "Collection/CollectionGrayIcon.png", IsSelected = light.collect }; - controlView.AddChidren(btnCollection); + //controlView.AddChidren(btnCollection); + //2020-12-16 濡傛灉鏄垚鍛橀殣钘忔敹钘忓姛鑳� + if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare) + { + controlView.AddChidren(btnCollection); + } colorPicker = new ColorPicker() { diff --git a/HDL_ON/UI/UI2/FuntionControlView/Light/RelayPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Light/RelayPage.cs index ad0df54..4829203 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Light/RelayPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Light/RelayPage.cs @@ -122,8 +122,13 @@ UnSelectedImagePath = "Collection/CollectionGrayIcon.png", IsSelected = light.collect }; - controlView.AddChidren(btnCollection); - + //controlView.AddChidren(btnCollection); + //2020-12-16 濡傛灉鏄垚鍛橀殣钘忔敹钘忓姛鑳� + if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare) + { + controlView.AddChidren(btnCollection); + } + btnSwitchIcon = new Button() { Gravity = Gravity.CenterHorizontal, -- Gitblit v1.8.0