DLL/Shared.IOS.TBL.dllBinary files differ
DLL/Shared.IOS.dllBinary files differ
HDL-ON_Android/Assets/Language.ini
@@ -566,6 +566,7 @@ 9047=您的密码已经修改生效,请重新登录 9048=使用账号密码登录 9049=密码连续输错次数已达到10次,用户已被锁定,请次日0点后再登陆 9050=验证面容ID 10000=无效登录密钥,请重新登录! 10001=请求服务器失败,请稍后再试! @@ -584,3 +585,20 @@ 10014=当前住宅不属于该账号 10015=住宅名称已存在 10016=住宅不存在 10017=请求失败,参数异常! 10018=绑定号码重复 10019=请先绑定网关 10020=网关不存在 10021=网关离线 10022=设备离线 10023=控制失败 10024=场景已经存在 10025=自动化已经存在 10026=spk不支持该功能 10027=spk功能不支持此功能值 10028=没有权限 10029=设备目标重复 10030=没有远程控制权限 10031=设备不能为空 10032=用户没有设备的权限 10033=设备不存在 HDL-ON_Android/Assets/Phone/PersonalCenter/AppUnlockSetting/FaceIdIconBig.png
HDL-ON_Android/Assets/Phone/PersonalCenter/AppUnlockSetting/FingerIconBlue.png
HDL-ON_Android/HDL-ON_Android.csproj
@@ -651,10 +651,8 @@ <AndroidAsset Include="Assets\Phone\LogicIcon\selectTheFun.png" /> <AndroidAsset Include="Assets\Phone\LogicIcon\selectTheScene.png" /> <AndroidAsset Include="Assets\Phone\LogicIcon\selectTheTime.png" /> <AndroidAsset Include="Assets\Phone\FunctionIcon\Light\ColorWheelGray.png" /> <AndroidAsset Include="Assets\Phone\FunctionIcon\Light\ColorWheelTip.png" /> <AndroidAsset Include="Assets\Phone\oRobot.png" /> <AndroidAsset Include="Assets\Phone\RoomListBg.png" /> <AndroidAsset Include="Assets\Phone\PersonalCenter\AppUnlockSetting\FaceIdIconBig.png" /> <AndroidAsset Include="Assets\Phone\PersonalCenter\AppUnlockSetting\FingerIconBlue.png" /> </ItemGroup> <ItemGroup> <AndroidNativeLibrary Include="libs\armeabi-v7a\libelianjni.so" /> HDL-ON_iOS/Info.plist
@@ -58,9 +58,9 @@ <key>UIRequiresFullScreen</key> <true/> <key>NSCameraUsageDescription</key> <string>设置房间或者场景的背景图片</string> <string>App wants to access your camera to set the background picture of the room</string> <key>NSPhotoLibraryUsageDescription</key> <string>设置房间或者场景的背景图片</string> <string>App wants to access your photo library to set the background image of the room</string> <key>UISupportedInterfaceOrientations</key> <array> <string>UIInterfaceOrientationPortrait</string> @@ -100,11 +100,11 @@ <key>CFBundleVersion</key> <string>202009282</string> <key>NSLocationWhenInUseUsageDescription</key> <string>获取天气预报</string> <string>Use geographic location to provide services such as weather</string> <key>NSAppleMusicUsageDescription</key> <string>需要访问您的音乐库以连接到外部播放器播放音乐。</string> <string>App needs to access your music library to connect to an external player to play music.</string> <key>NSLocationAlwaysUsageDescription </key> <string>获取天气预报</string> <string>Use geographic location to provide services such as weather</string> <key>LSApplicationQueriesSchemes</key> <array> <string>weixinULAPI</string> @@ -113,11 +113,11 @@ <string>AispeechMobile</string> <string>qqmusic</string> </array> <key>CFBundleDevelopmentRegion</key> <string>zh_CN</string> <key>UIBackgroundModes</key> <array> <string>remote-notification</string> </array> <key>NSFaceIDUsageDescription</key> <string>Need to use Face ID for unlock verification</string> </dict> </plist> HDL-ON_iOS/Resources/Language.ini
@@ -566,6 +566,7 @@ 9047=您的密码已经修改生效,请重新登录 9048=使用账号密码登录 9049=密码连续输错次数已达到10次,用户已被锁定,请次日0点后再登陆 9050=验证面容ID 10000=无效登录密钥,请重新登录! 10001=请求服务器失败,请稍后再试! @@ -583,4 +584,21 @@ 10013=不能把自己添加为成员 10014=当前住宅不属于该账号 10015=住宅名称已存在 10016=住宅不存在 10016=住宅不存在 10017=请求失败,参数异常! 10018=绑定号码重复 10019=请先绑定网关 10020=网关不存在 10021=网关离线 10022=设备离线 10023=控制失败 10024=场景已经存在 10025=自动化已经存在 10026=spk不支持该功能 10027=spk功能不支持此功能值 10028=没有权限 10029=设备目标重复 10030=没有远程控制权限 10031=设备不能为空 10032=用户没有设备的权限 10033=设备不存在 HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/FaceIdIconBig.png
HDL-ON_iOS/Resources/Phone/PersonalCenter/AppUnlockSetting/FingerIconBlue.png
HDL-ON_iOS/Resources/zh-Hans.lproj/InfoPlist.strings
New file @@ -0,0 +1,6 @@ "NSAppleMusicUsageDescription"="读取你的音乐列表,以便连接外部播放器播放音乐"; "NSCameraUsageDescription"="应用程序希望访问您的相机,用于设置房间的背景图片"; "NSPhotoLibraryUsageDescription"="应用程序希望访问您的照片库,用于设置房间的背景图片"; "NSLocationWhenInUseUsageDescription"="使用期间需要使用地理位置,以便提供服务,如天气"; "NSLocationAlwaysUsageDescription"="使用地理位置,以便提供服务,如天气"; "NSFaceIDUsageDescription"="需要使用Face ID,用于解锁验证"; HDL_ON/Common/HDLCommon.cs
@@ -281,9 +281,11 @@ { //未登录不用处理 if (!UserInfo.Current.IsLogin) return; #if DEBUG return; #endif Logout(); } HDL_ON/Common/R.cs
@@ -713,6 +713,12 @@ /// 密码连续输错次数已达到10次,用户已被锁定,请次日0点后再登陆 /// </summary> public const int AccountLoginLock = 9049; /// <summary> /// 验证面容ID /// </summary> public const int VerifyFaceID = 9050; #region 网络请求响应错误提示信息 /// <summary> @@ -784,7 +790,78 @@ /// 住宅不存在 /// </summary> public const int Home_NoExists = 10016; /// <summary> /// 请求失败,参数异常! /// </summary> public const int RequestFailedParameterException = 10017; /// <summary> /// 绑定号码重复 /// </summary> public const int DuplicateBindingNumber = 10018; /// <summary> /// 当前住宅没有绑定网关 /// </summary> public const int PleaseBindTheGatewayFirst = 10019; /// <summary> /// 网关不存在 /// </summary> public const int GatewayDoesNotExist = 10020; /// <summary> /// 网关离线 /// </summary> public const int GatewayOffline = 10021; /// <summary> /// 设备离线 /// </summary> public const int DeviceOffline = 10022; /// <summary> /// 控制失败,请稍后再试! /// </summary> public const int ControlFailure = 10023; /// <summary> /// 场景已经存在 /// </summary> public const int SceneAlreadyExists = 10024; /// <summary> /// 自动化已经存在 /// </summary> public const int AutomationAlreadyExists = 10025; /// <summary> /// spk不支持该功能 /// </summary> public const int SpkNotSupportThisFeature = 10026; /// <summary> /// spk功能不支持此功能值 /// </summary> public const int SpkNotSupportThisFunctionValue = 10027; /// <summary> /// 没有权限 /// </summary> public const int PermissionDenied = 10028; /// <summary> /// 设备目标重复 /// </summary> public const int DuplicateDeviceTarget = 10029; /// <summary> /// 没有远程控制权限 /// </summary> public const int NoRemoteControlPermission = 10030; /// <summary> /// 设备不能为空 /// </summary> public const int TheDeviceCannotBeEmpty = 10031; /// <summary> /// 用户没有设备的权限 /// </summary> public const int NotHavePermissionToTheDevice = 10032; /// <summary> /// 设备不存在 /// </summary> public const int TheDeviceDoesNotExist = 10033; #endregion #endregion } HDL_ON/DAL/Server/IMessageCommon.cs
@@ -74,6 +74,8 @@ //stateCodeDic["3"] = StringId.SystemIsBusy; //签名错误 stateCodeDic["4"] = StringId.SignatureError; //请求失败,参数异常! stateCodeDic["9"] = StringId.RequestFailedParameterException; //验证码校验失败 stateCodeDic[StateCode.VERIFICATION_CODE_WRONG] = StringId.VerificationCodeWrong; //验证码发送频繁,请稍后再试! @@ -85,6 +87,8 @@ stateCodeDic[StateCode.TOKEN_EXPIRED] = StringId.NotLogin; //解析用户身份错误,请重新登录 stateCodeDic["10006"] = StringId.InvalidToken; //您已在另一个设备登录 stateCodeDic["10007"] = StringId.LoggedOnOtherDevices; //登录失败,账号或者密码错误 stateCodeDic["10008"] = StringId.LoginFailed_AccountOrPasswordError; //用户已经被禁用 @@ -101,14 +105,24 @@ stateCodeDic["10014"] = StringId.AccountExist; //原密码错误 stateCodeDic["10015"] = StringId.OldPwdNoYes; ////绑定号码重复 //stateCodeDic["10016"] = StringId.10016; ////注册失败 //stateCodeDic["10017"] = StringId.10017; //绑定号码重复 stateCodeDic["10016"] = StringId.DuplicateBindingNumber; //注册失败 stateCodeDic["10017"] = StringId.RegistrationFailedPleaseTryAgain; ////租户不存在 //stateCodeDic["10018"] = StringId.10018; //密码连续输错次数已达到10次,用户已被锁定,请次日0点后再登陆 stateCodeDic["10019"] = StringId.AccountLoginLock; //没有权限 stateCodeDic["10105"] = StringId.PermissionDenied; //验证码已经发送 stateCodeDic["10207"] = StringId.VerificationCodePrompt; //发送验证码错误 stateCodeDic["10210"] = StringId.VerificationCodeWrong; ////枚举类型错误 //stateCodeDic["11003"] = StringId.11003; @@ -133,10 +147,46 @@ //stateCodeDic["10403"] = StringId.HOME_ID_EXISTS; //住宅不存在 stateCodeDic["10404"] = StringId.Home_NoExists; //住宅没有绑定网关 stateCodeDic["10503"] = StringId.PleaseBindTheGatewayFirst; ////调用用户模块接口失败 //stateCodeDic["10213"] = HDL_ON.StringId; //*********网关********* //网关不存在 stateCodeDic["10506"] = StringId.GatewayDoesNotExist; //*********场景/自动化********* //场景已存在 stateCodeDic["14501"] = StringId.SceneAlreadyExists; //自动化已存在 stateCodeDic["14502"] = StringId.AutomationAlreadyExists; //*********设备********* //设备目标重复 stateCodeDic["10801"] = StringId.DuplicateDeviceTarget; //没有远程控制权限 stateCodeDic["10802"] = StringId.NoRemoteControlPermission; //设备不能为空 stateCodeDic["10803"] = StringId.TheDeviceCannotBeEmpty; //用户没有设备的权限 stateCodeDic["10804"] = StringId.NotHavePermissionToTheDevice; //设备不存在 stateCodeDic["10805"] = StringId.TheDeviceDoesNotExist; //控制失败 stateCodeDic["20000"] = StringId.ControlFailure; //网关离线 stateCodeDic["20001"] = StringId.GatewayOffline; //设备离线 stateCodeDic["20002"] = StringId.DeviceOffline; //spk不支持该功能 stateCodeDic["20101"] = StringId.SpkNotSupportThisFeature; //spk功能不支持此功能值 stateCodeDic["20102"] = StringId.SpkNotSupportThisFunctionValue; #endregion #endregion HDL_ON/UI/UI0-Public/AppUnlockPage.cs
@@ -10,7 +10,7 @@ void LoadOption() { //2020-12-12 未登录或者APP未启动都返回,解决闪退问题 if ( UserInfo.Current == null || !UserInfo.Current.IsLogin || MainPage.BasePageView == null) if (UserInfo.Current == null || !UserInfo.Current.IsLogin || MainPage.BasePageView == null) { return; } @@ -21,46 +21,13 @@ //1:验证指纹 if (UserInfo.Current.appUnlockType.Contains("3")) { Action fAction = () => { LoadOption(); }; LoadGesturePage("7", fAction); TouchIDUtils.Instance.showTouchIDWithDescribe(null, Language.StringByID(StringId.PleaseVerifyTheFingerprint)); TouchIDUtils.Instance.OnHDLTouchIDStateBackEvent = (sender1, e) => { if (e == TouchIDUtils.TouchIDState.Success) { MainPage.Log("KK:TouchID验证成功"); UserInfo.Current.unlockTime = DateTime.Now; MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent(); } else { ///将验证指纹的页面移除 MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent(); if (UserInfo.Current.appUnlockType.Contains("1")) { var page = new AppUnlockPasswordPage(UserInfo.Current.appUnlockPasswrod, action); MainPage.BasePageView.AddChidren(page); page.LoadPage("7"); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; } else if (UserInfo.Current.appUnlockType.Contains("2")) { var page = new AppUnlockGesturePage(UserInfo.Current.appUnlockPasswrod, action); MainPage.BasePageView.AddChidren(page); page.LoadPage("7"); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; } } }; TouchIDVerification(); } else if (UserInfo.Current.appUnlockType.Contains("4")) { //Face ID验证 //2020-12-11 待增加面容失败验证页面,不然会导致锁屏加密无效 FaceIDVerification(); } else if (UserInfo.Current.appUnlockType.Contains("1")) { @@ -120,6 +87,57 @@ } /// <summary> /// 指纹验证 /// </summary> void TouchIDVerification() { //验证成功Action Action successAction = () => { UserInfo.Current.unlockTime = DateTime.Now; }; //弹出指纹验证对话框 Action fingerAction = () => { TouchIDUtils.Instance.showTouchIDWithDescribe(null, Language.StringByID(StringId.PleaseVerifyTheFingerprint)); }; //加载UI页面 LoadGesturePage("7", fingerAction); TouchIDUtils.Instance.showTouchIDWithDescribe(null, Language.StringByID(StringId.PleaseVerifyTheFingerprint)); TouchIDUtils.Instance.OnHDLTouchIDStateBackEvent = (sender1, e) => { if (e == TouchIDUtils.TouchIDState.Success) { MainPage.Log("KK:TouchID验证成功"); UserInfo.Current.unlockTime = DateTime.Now; MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent(); } else { ///将验证指纹的页面移除 MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent(); if (UserInfo.Current.appUnlockType.Contains("1")) { var page = new AppUnlockPasswordPage(UserInfo.Current.appUnlockPasswrod, successAction); MainPage.BasePageView.AddChidren(page); page.LoadPage("7"); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; } else if (UserInfo.Current.appUnlockType.Contains("2")) { var page = new AppUnlockGesturePage(UserInfo.Current.appUnlockPasswrod, successAction); MainPage.BasePageView.AddChidren(page); page.LoadPage("7"); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; } } }; } /// <summary> /// 加载指纹验证界面 /// </summary> public void LoadGesturePage(string optionType, Action fingerAction) @@ -152,7 +170,7 @@ Gravity = Gravity.CenterHorizontal, Width = Application.GetRealWidth(102), Height = Application.GetRealWidth(102), UnSelectedImagePath = "PersonalCenter/AppUnlockSetting/FingerIconRed.png", UnSelectedImagePath = "PersonalCenter/AppUnlockSetting/FingerIconBlue.png", }; bodyView.AddChidren(btnFingerIcon); @@ -200,7 +218,141 @@ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; //dialog.Show(); Console.WriteLine("-0987654321"); //Console.WriteLine("-0987654321"); } /// <summary> /// 面容ID验证 /// </summary> void FaceIDVerification() { //验证成功Action Action successAction = () => { UserInfo.Current.unlockTime = DateTime.Now; }; //弹出指纹验证对话框 Action faceIDAction = () => { TouchIDUtils.Instance.showTouchIDWithDescribe(null, Language.StringByID(StringId.VerifyFaceID)); }; //加载UI页面 LoadFaceIDGesturePage("7", faceIDAction); TouchIDUtils.Instance.showTouchIDWithDescribe(null, Language.StringByID(StringId.VerifyFaceID)); TouchIDUtils.Instance.OnHDLTouchIDStateBackEvent = (sender1, e) => { if (e == TouchIDUtils.TouchIDState.Success) { MainPage.Log("KK:TouchID验证成功"); UserInfo.Current.unlockTime = DateTime.Now; MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent(); } else { ///将验证指纹的页面移除 MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent(); if (UserInfo.Current.appUnlockType.Contains("1")) { var page = new AppUnlockPasswordPage(UserInfo.Current.appUnlockPasswrod, successAction); MainPage.BasePageView.AddChidren(page); page.LoadPage("7"); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; } else if (UserInfo.Current.appUnlockType.Contains("2")) { var page = new AppUnlockGesturePage(UserInfo.Current.appUnlockPasswrod, successAction); MainPage.BasePageView.AddChidren(page); page.LoadPage("7"); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; } } }; } /// <summary> /// 加载面容ID验证界面 /// </summary> public void LoadFaceIDGesturePage(string optionType, Action faceIDAction) { var bodyView = new FrameLayout() { BackgroundColor = CSS.CSS_Color.MainBackgroundColor }; MainPage.BasePageView.AddChidren(bodyView); bodyView.AddChidren(new Button() { Height = Application.GetRealHeight(64), BackgroundColor = CSS.CSS_Color.BackgroundColor, }); bodyView.AddChidren(new Button() { Y = Application.GetRealHeight(196), Height = Application.GetRealHeight(42), TextAlignment = TextAlignment.Center, TextColor = CSS.CSS_Color.FirstLevelTitleColor, TextSize = CSS.CSS_FontSize.SubheadingFontSize, TextID = StringId.VerifyFaceID, }); var btnFaceIdIcon = new Button() { Y = Application.GetRealHeight(260), Gravity = Gravity.CenterHorizontal, Width = Application.GetRealWidth(102), Height = Application.GetRealWidth(102), UnSelectedImagePath = "PersonalCenter/AppUnlockSetting/FaceIdIconBig.png", }; bodyView.AddChidren(btnFaceIdIcon); btnFaceIdIcon.MouseUpEventHandler = (sender, e) => { faceIDAction(); }; var btnOtherVerify = new Button() { Y = Application.GetRealHeight(527), Height = Application.GetRealHeight(40), TextAlignment = TextAlignment.Center, TextColor = CSS.CSS_Color.MainColor, TextSize = CSS.CSS_FontSize.TextFontSize, TextID = UserInfo.Current.appUnlockType.Contains("1") ? StringId.VerifyDigitalPassword : StringId.VerifyGesturePassword, }; bodyView.AddChidren(btnOtherVerify); btnOtherVerify.MouseUpEventHandler = (sender, e) => { ///将验证面容ID的页面移除 MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent(); Action action = () => { UserInfo.Current.unlockTime = DateTime.Now; }; if (UserInfo.Current.appUnlockType.Contains("1")) { var page = new AppUnlockPasswordPage(UserInfo.Current.appUnlockPasswrod, action); MainPage.BasePageView.AddChidren(page); page.LoadPage(optionType); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; } else if (UserInfo.Current.appUnlockType.Contains("2")) { var page = new AppUnlockGesturePage(UserInfo.Current.appUnlockPasswrod, action); MainPage.BasePageView.AddChidren(page); page.LoadPage(optionType); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; } }; MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; } } } HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberManagementPage.cs
@@ -23,25 +23,6 @@ { bodyView = this; residenceMemberInfos = new List<ResidenceMemberInfo>(); //#if DEBUG // //tr测试住宅----测试分享 // var light = new Light() // { // sid = "030101123456780202010005ABCP", // deviceId = "1333657366709645314", // name = "灯1", // }; // light.SaveFunctionData(); // var light2 = new Light() // { // sid = "030101123456780202010005ABCQ", // deviceId = "1333657366743199746", // name = "灯2" // }; // light2.SaveFunctionData(); // DB_ResidenceData.functionList.lights.Add(light); // DB_ResidenceData.functionList.lights.Add(light2); //#endif } public void LoadPage() HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberManagementPageBLL.cs
@@ -114,11 +114,6 @@ { //提示 IMessageCommon.Current.ShowErrorInfoAlter(responePack.Code); //账号或者密码错误 Application.RunOnMainThread(() => { waitPage.Hide(); }); } Application.RunOnMainThread(() => { HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockGesturePage.cs
@@ -66,7 +66,7 @@ IsBold = true, TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.EmphasisFontSize_Secondary, TextID = optionType == "7" ? StringId.SetGesturePassword : StringId.VerifyGesturePassword, TextID = StringId.VerifyGesturePassword, }; bodyView.AddChidren(btnTipTitle); @@ -79,14 +79,27 @@ TextColor = CSS_Color.TextualColor, SelectedTextColor = CSS_Color.WarningColor, TextSize = CSS_FontSize.TextFontSize, TextID = optionType == "2" ? StringId.DrawUnlockPatternAgain : StringId.DrawUnlockPattern, TextID = StringId.DrawUnlockPattern, }; bodyView.AddChidren(btnTipMsg); if (optionType == "7") if (optionType == "1") { btnTipTitle.TextID = StringId.DrawUnlockPattern; btnTipMsg.TextID = string.IsNullOrEmpty(oldPasswrod) ? StringId.DrawUnlockPattern : StringId.DrawUnlockPatternAgain; //设置手势密码 btnTipTitle.TextID = StringId.SetGesturePassword; }else if(optionType == "2") { //请输入原手势密码 btnTipTitle.TextID = StringId.PleaseDrawTheOriginalGesturePassword; } //if (optionType == "7") //{ // //请绘制解锁图案 // btnTipTitle.TextID = StringId.DrawUnlockPattern; //} GestureLockView mGestureLockView = new GestureLockView { @@ -145,7 +158,7 @@ if (optionType == "5" || optionType == "6") { //输入登录密码验证 提示按钮 AddInputPasswordTipButton(); AddInputPasswordTipButton(optionType); } else if (optionType == "7") { @@ -242,9 +255,13 @@ Language.StringByID(StringId.TurnOnFaceIdUnlocking); if (TouchIDUtils.getTouchIDSupperType() != TouchIDUtils.TouchIDSupperType.None) { Action<bool> action = (result) => var unlockType = TouchIDUtils.getTouchIDSupperType() == TouchIDUtils.TouchIDSupperType.TouchID ? "3" : "4"; //如果之前没设置指纹或者面容ID才显示是否开启 if (!UserInfo.Current.appUnlockType.Contains(unlockType)) { var unlockType = TouchIDUtils.getTouchIDSupperType() == TouchIDUtils.TouchIDSupperType.TouchID ? "3" : "4"; Action<bool> action = (result) => { if (result) { if (!UserInfo.Current.appUnlockType.Contains(unlockType)) @@ -262,7 +279,8 @@ UserInfo.Current.SaveUserInfo(); backAction(); }; page.AdditionalOperations(tipMsg, action); page.AdditionalOperations(tipMsg, action); } } if (!UserInfo.Current.appUnlockType.Contains("2")) { @@ -360,7 +378,7 @@ /// <summary> /// 输入登录密码验证 提示按钮 /// </summary> void AddInputPasswordTipButton() void AddInputPasswordTipButton(string optionType) { Button btnLoginAccountVerify = new Button() { @@ -381,16 +399,19 @@ var resultObj = new HttpServerRequest().LoginByPassword(UserInfo.Current.AccountString, pw); if (resultObj.Code == StateCode.SUCCESS) { UserInfo.Current.appUnlockPasswrod = ""; UserInfo.Current.appUnlockType = new System.Collections.Generic.List<string>(); UserInfo.Current.SaveUserInfo(); this.RemoveFromParent(); backAction(); //UserInfo.Current.appUnlockPasswrod = ""; //UserInfo.Current.appUnlockType = new System.Collections.Generic.List<string>(); //UserInfo.Current.SaveUserInfo(); //this.RemoveFromParent(); //backAction(); PasswordInputPassed(optionType); } else { //登录失败 IMessageCommon.Current.ShowErrorInfoAlter(resultObj.Code); Application.RunOnMainThread(() => { Utlis.ShowTip(Language.StringByID(StringId.AuthenticationFailedPasswordError)); }); } }; HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockPasswordPage.cs
@@ -58,12 +58,15 @@ }; bodyView.AddChidren(btnTipTitle); if (optionType == "2" || optionType == "3") if (optionType == "1") { btnTipTitle.TextID = string.IsNullOrEmpty(oldPasswrod) ? StringId.PlsEntryPassword : StringId.PlsRegisterRepeatPassword; } else if (optionType == "2") { btnTipTitle.TextID = StringId.PleaseEnterTheOriginalDigitalPassword; } if (optionType == "7") else { btnTipTitle.TextID = StringId.PlsEntryPassword; } @@ -152,7 +155,8 @@ //etPassword.MouseUpEventHandler = (sender, e) => { }; etPassword.TextChangeEventHandler = (sender, e) => { etPassword.TextChangeEventHandler = (sender, e) => { passwrod = etPassword.Text.Trim(); switch (etPassword.Text.Trim().Length) { @@ -214,7 +218,8 @@ } }; EventHandler<MouseEventArgs> eventHandler = (sender, e) => { EventHandler<MouseEventArgs> eventHandler = (sender, e) => { etPassword.Foucs = true; }; bodyView.MouseUpEventHandler = eventHandler; @@ -229,9 +234,9 @@ if (optionType == "3" || optionType == "5" || optionType == "6") { //输入登录密码验证 提示按钮 AddInputPasswordTipButton(); AddInputPasswordTipButton(optionType); } else if(optionType == "7") else if (optionType == "7") { //使用账户密码登录按钮 提示按钮 AddLoginTipButton(); @@ -285,26 +290,33 @@ if (TouchIDUtils.getTouchIDSupperType() != TouchIDUtils.TouchIDSupperType.None) { var unlockType = TouchIDUtils.getTouchIDSupperType() == TouchIDUtils.TouchIDSupperType.TouchID ? "3" : "4"; Action<bool> action = (result) => //如果之前没设置指纹或者面容ID才显示是否开启 if (!UserInfo.Current.appUnlockType.Contains(unlockType)) { if (result) Action<bool> action = (result) => { if (!UserInfo.Current.appUnlockType.Contains(unlockType)) if (result) { UserInfo.Current.appUnlockType.Add(unlockType); if (!UserInfo.Current.appUnlockType.Contains(unlockType)) { UserInfo.Current.appUnlockType.Add(unlockType); } } } else { if (UserInfo.Current.appUnlockType.Contains(unlockType)) else { UserInfo.Current.appUnlockType.Remove(unlockType); if (UserInfo.Current.appUnlockType.Contains(unlockType)) { UserInfo.Current.appUnlockType.Remove(unlockType); } } } backAction(); UserInfo.Current.SaveUserInfo(); }; page.AdditionalOperations(tipMsg, action); backAction(); UserInfo.Current.SaveUserInfo(); }; page.AdditionalOperations(tipMsg, action); } } if (!UserInfo.Current.appUnlockType.Contains("1")) { @@ -384,7 +396,8 @@ /// <summary> /// 使用账户密码登录按钮 提示按钮 /// </summary> void AddLoginTipButton(){ void AddLoginTipButton() { Button btnLoginAccountVerify = new Button() { Y = Application.GetRealHeight(517), @@ -406,7 +419,7 @@ /// <summary> /// 输入登录密码验证 提示按钮 /// </summary> void AddInputPasswordTipButton() void AddInputPasswordTipButton(string optionType) { Button btnLoginAccountVerify = new Button() { @@ -422,15 +435,18 @@ btnLoginAccountVerify.MouseUpEventHandler = (sender, e) => { //输入登录密码验证 Action<string> action = (pw) => { Action<string> action = (pw) => { var resultObj = new HttpServerRequest().LoginByPassword(UserInfo.Current.AccountString, pw); if (resultObj.Code.ToUpper() == StateCode.SUCCESS) { UserInfo.Current.appUnlockPasswrod = ""; UserInfo.Current.appUnlockType = new System.Collections.Generic.List<string>(); UserInfo.Current.SaveUserInfo(); this.RemoveFromParent(); backAction(); //UserInfo.Current.appUnlockPasswrod = ""; //UserInfo.Current.appUnlockType = new System.Collections.Generic.List<string>(); //UserInfo.Current.SaveUserInfo(); //this.RemoveFromParent(); //backAction(); PasswordInputPassed(optionType); } else { @@ -438,8 +454,7 @@ { Utlis.ShowTip(Language.StringByID(StringId.AuthenticationFailedPasswordError)); }); ////登录失败 //IMessageCommon.Current.ShowErrorInfoAlter(resultObj.Code); } }; HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockSettingsPage.cs
@@ -696,7 +696,7 @@ { Height = Application.GetRealHeight(51), }; if (sTouchID && UserInfo.Current.appUnlockPasswrod != ""&&!UserInfo.Current.appUnlockType.Contains("4")) if (sTouchID && UserInfo.Current.appUnlockPasswrod != "" && !UserInfo.Current.appUnlockType.Contains("4")) { unlockOptionView.AddChidren(fingerprintUnlockDiv); } @@ -750,7 +750,7 @@ { Height = Application.GetRealHeight(50), }; if (sFaceID && UserInfo.Current.appUnlockPasswrod != "" && !UserInfo.Current.appUnlockType.Contains("4")) if (sFaceID && UserInfo.Current.appUnlockPasswrod != "" && !UserInfo.Current.appUnlockType.Contains("3")) { unlockOptionView.AddChidren(faceIdUnlockDiv); } HDL_ON/UI/UI2/4-PersonalCenter/UnlockSetting/AppUnlockSettingsPageBLL.cs
@@ -44,48 +44,19 @@ unlockOptionView.Visible = false; refreshAction(); }; Action action1 = () => { Action action1 = () => { if (!btnUnprotectedBg.IsSelected) { //1:验证指纹 if (UserInfo.Current.appUnlockType.Contains("3")) { TouchIDUtils.Instance.showTouchIDWithDescribe(null, Language.StringByID(StringId.PleaseVerifyTheFingerprint)); TouchIDUtils.Instance.OnHDLTouchIDStateBackEvent = (sender1, e) => { if (e == TouchIDUtils.TouchIDState.NotSupport) { MainPage.Log("KK:当前设备不支持TouchID验证,请输入密码来验证"); } else if (e == TouchIDUtils.TouchIDState.Success) { MainPage.Log("KK:TouchID验证成功"); action(); } else if (e == TouchIDUtils.TouchIDState.InputPassword || e == TouchIDUtils.TouchIDState.TouchIDLockout) { MainPage.Log("KK:用户选择手动输入密码"); if (UserInfo.Current.appUnlockType.Contains("1")) { var page = new AppUnlockPasswordPage(UserInfo.Current.appUnlockPasswrod, action); MainPage.BasePageView.AddChidren(page); page.LoadPage("4"); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; } else if (UserInfo.Current.appUnlockType.Contains("1")) { var page = new AppUnlockGesturePage(UserInfo.Current.appUnlockPasswrod, action); MainPage.BasePageView.AddChidren(page); page.LoadPage("4"); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; } } }; TouchIDVerification_TurnOffUnlock(action); } else if (UserInfo.Current.appUnlockType.Contains("4")) { //Face ID验证 // FaceIDVerification_TurnOffUnlock(action); } else if (UserInfo.Current.appUnlockType.Contains("1")) { @@ -319,64 +290,14 @@ { btnFingerprintUnlockSwtichIcon.MouseUpEventHandler = (sender, e1) => { Action fingerAction = () => { TouchIDUtils.Instance.showTouchIDWithDescribe(null, Language.StringByID(StringId.PleaseVerifyTheFingerprint)); }; new AppUnlockPage().LoadGesturePage("5",fingerAction); TouchIDUtils.Instance.showTouchIDWithDescribe(null, Language.StringByID(StringId.PleaseVerifyTheFingerprint)); TouchIDUtils.Instance.OnHDLTouchIDStateBackEvent = (sender1, e) => { if (e == TouchIDUtils.TouchIDState.Success) { 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(); } } //MainPage.BasePageView.RemoveAt(MainPage.BasePageView.ChildrenCount - 1); MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent(); } else// if (e == TouchIDUtils.TouchIDState.InputPassword || e == TouchIDUtils.TouchIDState.TouchIDLockout) { if (UserInfo.Current.appUnlockType.Contains("1")) { var page = new AppUnlockPasswordPage(UserInfo.Current.appUnlockPasswrod, refreshAction); MainPage.BasePageView.AddChidren(page); page.LoadPage("5"); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; } else if (UserInfo.Current.appUnlockType.Contains("2")) { var page = new AppUnlockGesturePage(UserInfo.Current.appUnlockPasswrod, refreshAction); MainPage.BasePageView.AddChidren(page); page.LoadPage("5"); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; } } }; TouchIDVerification_SwtichOnOff(); }; } if (sFaceID) { btnFaceIdUnlockSwtichIcon.MouseUpEventHandler = (sender, e1) => { //btnFaceIdUnlockSwtichIcon.IsSelected = !btnFaceIdUnlockSwtichIcon.IsSelected; if (!btnFaceIdUnlockSwtichIcon.IsSelected) { } FaceIDVerification_SwtichOnOff(); }; } } @@ -396,5 +317,197 @@ return true; } /// <summary> /// 面容ID开启和关闭 /// </summary> void FaceIDVerification_SwtichOnOff() { //6:面容ID开关 string optionType = "6"; //4:面容ID string faceIDUnlockType = "4"; Action fingerAction = () => { TouchIDUtils.Instance.showTouchIDWithDescribe(null, Language.StringByID(StringId.VerifyFaceID)); }; new AppUnlockPage().LoadFaceIDGesturePage(optionType, fingerAction); TouchIDUtils.Instance.showTouchIDWithDescribe(null, Language.StringByID(StringId.VerifyFaceID)); TouchIDUtils.Instance.OnHDLTouchIDStateBackEvent = (sender1, e) => { if (e == TouchIDUtils.TouchIDState.Success) { 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(); } } //MainPage.BasePageView.RemoveAt(MainPage.BasePageView.ChildrenCount - 1); MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent(); } else// if (e == TouchIDUtils.TouchIDState.InputPassword || e == TouchIDUtils.TouchIDState.TouchIDLockout) { ///将验证面容ID的页面移除 MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent(); GotogoToVerifyPasswordPage(optionType, refreshAction); } }; } /// <summary> /// FaceID验证 关闭解锁设置 /// </summary> /// <param name="action">验证成功事件</param> void FaceIDVerification_TurnOffUnlock(Action successAction) { //使用密码验证 Action goToVerifyPasswordAction = () => { //关闭解锁验证 GotogoToVerifyPasswordPage("4", successAction); }; TouchIDUtils.Instance.showTouchIDWithDescribe(null, Language.StringByID(StringId.VerifyFaceID)); TouchIDUtils.Instance.OnHDLTouchIDStateBackEvent = (sender1, e) => { if (e == TouchIDUtils.TouchIDState.Success) { MainPage.Log("KK:FaceID验证成功"); successAction?.Invoke(); } else if (e == TouchIDUtils.TouchIDState.NotSupport) { MainPage.Log("KK:当前设备不支持FaceID验证,请输入密码来验证"); goToVerifyPasswordAction(); } else if (e == TouchIDUtils.TouchIDState.InputPassword || e == TouchIDUtils.TouchIDState.TouchIDLockout) { MainPage.Log("KK:用户选择手动输入密码"); goToVerifyPasswordAction(); } }; } /// <summary> /// 指纹ID开启和关闭 /// </summary> void TouchIDVerification_SwtichOnOff() { //5:指纹ID开关 string optionType = "5"; Action fingerAction = () => { TouchIDUtils.Instance.showTouchIDWithDescribe(null, Language.StringByID(StringId.PleaseVerifyTheFingerprint)); }; new AppUnlockPage().LoadGesturePage(optionType, fingerAction); TouchIDUtils.Instance.showTouchIDWithDescribe(null, Language.StringByID(StringId.PleaseVerifyTheFingerprint)); TouchIDUtils.Instance.OnHDLTouchIDStateBackEvent = (sender1, e) => { if (e == TouchIDUtils.TouchIDState.Success) { 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(); } } MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent(); } else// if (e == TouchIDUtils.TouchIDState.InputPassword || e == TouchIDUtils.TouchIDState.TouchIDLockout) { ///将验证指纹ID的页面移除 MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent(); GotogoToVerifyPasswordPage(optionType, refreshAction); } }; } /// <summary> /// TouchID验证 关闭解锁设置 /// </summary> /// <param name="action">验证成功事件</param> void TouchIDVerification_TurnOffUnlock(Action successAction) { //使用密码验证 Action goToVerifyPasswordAction = () => { //关闭解锁验证 GotogoToVerifyPasswordPage("4", successAction); }; TouchIDUtils.Instance.showTouchIDWithDescribe(null, Language.StringByID(StringId.PleaseVerifyTheFingerprint)); TouchIDUtils.Instance.OnHDLTouchIDStateBackEvent = (sender1, e) => { if (e == TouchIDUtils.TouchIDState.NotSupport) { MainPage.Log("KK:当前设备不支持TouchID验证,请输入密码来验证"); goToVerifyPasswordAction?.Invoke(); } else if (e == TouchIDUtils.TouchIDState.Success) { MainPage.Log("KK:TouchID验证成功"); successAction?.Invoke(); } else if (e == TouchIDUtils.TouchIDState.InputPassword || e == TouchIDUtils.TouchIDState.TouchIDLockout) { MainPage.Log("KK:用户选择手动输入密码"); goToVerifyPasswordAction?.Invoke(); } }; } /// <summary> /// 跳转手势或者密码验证界面 /// </summary> /// <param name="optionType">1:设置密码;2:验证密码;3:关闭密码;4:关闭解锁设置;5:指纹ID开关;6:面容ID开关;7:解锁验证</param> /// <param name="successAction"></param> void GotogoToVerifyPasswordPage(string optionType, Action successAction) { if (UserInfo.Current.appUnlockType.Contains("1")) { var page = new AppUnlockPasswordPage(UserInfo.Current.appUnlockPasswrod, successAction); MainPage.BasePageView.AddChidren(page); page.LoadPage(optionType); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; } else if (UserInfo.Current.appUnlockType.Contains("2")) { var page = new AppUnlockGesturePage(UserInfo.Current.appUnlockPasswrod, successAction); MainPage.BasePageView.AddChidren(page); page.LoadPage(optionType); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; } } } }