HDL-ON_Android/Assets/Language.ini | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL_ON/Common/R.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL_ON/UI/UI2/4-PersonalCenter/Visitor/VisitorHistoryPage.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
HDL_ON/UI/UI2/4-PersonalCenter/Visitor/VisitorQRCodePage.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
HDL-ON_Android/Assets/Language.ini
@@ -518,6 +518,22 @@ 530=In order to prevent the wrong touch and click of opening and closing the door and ensure family safety, please enter your door lock password. 531=Password free unlocking within five minutes 532=The device is offline and cannot be operated temporarily 533=Visitor management 534=Visitor Invitation 535=Record 536=*After you initiate the visitor certificate, you can unlock the door by password or swipe the code freely within the validity period you set. Please share the certificate carefully. 537=Input phone number of the visitor 538=Input 6-digits temporary password 539=Random Generation 540=After confirmation, the visitor QR code will be generated, and the 6-digit dynamic digital password SMS will also be sent to the visitor mobile phone. 541=Are you sure to delete visitor credentials? 542=Long press the QR code to save the QR code to the album 543=QR code is invalid 544=Generate Visitor Credentials 545=Cancle Visitor Credentials 546=Visitor QR Code 547=Phone Number 548=Please enter a correct phone number 1000=Room Humidity @@ -1660,6 +1676,25 @@ 531=五分钟内免密码开锁 532=设备离线中,暂时无法操作 533=访客管理 534=访客邀请 535=访客记录 536=*您发起访客凭证后,该凭证将在您设置的有效期内,可自由刷码或密码开锁进行进出,请谨慎分享该凭证。 537=输入访客手机号码 538=输入6位动态密码 539=随机生成 540=确认后,会生成访客二维码,同时也会将6位动态数字密码短信发送到访客手机上。 541=确定删除访客凭证? 542=长按二维码可以将二维码保存到相册 543=二维码已失效 544=生成访客凭证 545=取消访客凭证 546=访客二维码 547=手机号 548=请输入正确的手机号码 1000=室内湿度 1001=童锁 @@ -2782,7 +2817,22 @@ 530=In order to prevent the wrong touch and click of opening and closing the door and ensure family safety, please enter your door lock password. 531=Password free unlocking within five minutes 532=The device is offline and cannot be operated temporarily 533=Visitor management 534=Visitor Invitation 535=Record 536=*After you initiate the visitor certificate, you can unlock the door by password or swipe the code freely within the validity period you set. Please share the certificate carefully. 537=Input phone number of the visitor 538=Input 6-digits temporary password 539=Random Generation 540=After confirmation, the visitor QR code will be generated, and the 6-digit dynamic digital password SMS will also be sent to the visitor mobile phone. 541=Are you sure to delete visitor credentials? 542=Long press the QR code to save the QR code to the album 543=QR code is invalid 544=Generate Visitor Credentials 545=Cancle Visitor Credentials 546=Visitor QR Code 547=Phone Number 548=Please enter a correct phone number 1000=Влажность в Помещении HDL_ON/Common/R.cs
@@ -5,6 +5,66 @@ public static class StringId { /// <summary> /// 手机号 /// </summary> public const int PhoneNumberErrorTip = 548; /// <summary> /// 手机号 /// </summary> public const int PhoneNumber = 547; /// <summary> /// 访客二维码 /// </summary> public const int VisitorQRCode = 546; /// <summary> /// 取消访客凭证 /// </summary> public const int CancleVisitorCredentials = 545; /// <summary> /// 生成访客凭证 /// </summary> public const int GenerateVisitorCredentials = 544; /// <summary> /// 二维码已失效 /// </summary> public const int QRcodeIsInvalid = 543; /// <summary> /// 长按二维码可以将二维码保存到相册 /// </summary> public const int LongPressQRCodeSave = 542; /// <summary> /// 失效时间 /// </summary> public const int VisitorDelTipContent = 541; /// <summary> /// 失效时间 /// </summary> public const int VisitorTipContent = 540; /// <summary> /// 随机生成 /// </summary> public const int RandomGeneration = 539; /// <summary> /// 输入6位动态密码 /// </summary> public const int Input6_DigitsTemporaryPassword = 538; /// <summary> /// 输入访客手机号码 /// </summary> public const int InputPhoneNumberOfTheVisitor = 537; /// <summary> /// 您发起访客凭证后,该凭证将在您设置的有效期内,可自由刷码或密码开锁进行进出,请谨慎分享该凭证 /// </summary> public const int VisitorTip = 536; /// <summary> /// 访客记录 /// </summary> public const int VisitorRecord = 535; /// <summary> /// 访客邀请 /// </summary> public const int VisitorInvitation = 534; /// <summary> /// 访客管理 /// </summary> public const int VisitorManage = 533; @@ -260,7 +320,7 @@ /// <summary> /// 防护中 /// </summary> public const int UnderProtection=470; public const int UnderProtection = 470; /// <summary> /// 有人进入 /// </summary> @@ -304,7 +364,7 @@ /// <summary> /// 实时能耗 /// </summary> public const int RealTimeEnergyConsumption=459; public const int RealTimeEnergyConsumption = 459; /// <summary> /// 日期 /// </summary> @@ -504,7 +564,7 @@ public const int VerificationCodePrompt = 274; public const int ChangeTheVerificationMethod = 273; public const int ModifyBindingEmail = 272; public const int CurrentEmail =271; public const int CurrentEmail = 271; public const int Unbind = 270; public const int ModifyBinding = 269; public const int EmailAddress = 268; @@ -526,14 +586,14 @@ public const int SavedSuccessfully = 252; public const int AddFailedInsufficientPermissions = 251; public const int OperationFailed = 250; public const int MemberAccountHasBeenAddedAndCannotBeAddedAgain =249; public const int MemberAccountHasBeenAddedAndCannotBeAddedAgain = 249; public const int ThisHomeDoesNotExistForTheUser = 248; public const int FailedToAddUnableToAddYourself = 247; public const int FailedToAddTheMemberAccountIsNotRegistered = 246; public const int DataExceptionPleaseTryAgain = 245; public const int MemberAddedSuccessfully = 244; public const int AccountErrorPlsC = 243; public const int ConfirmInvitation =242; public const int ConfirmInvitation = 242; public const int ScanQRCoden = 241; public const int NewMemberAccount = 240; public const int AddMember = 239; @@ -629,7 +689,7 @@ public const int AtStartup = 149; public const int Unprotected = 148; public const int VerificationCodeError = 147; public const int MultipleChoicesOfPagesYouNeedToProtect= 146; public const int MultipleChoicesOfPagesYouNeedToProtect = 146; public const int PleaseSelectThePageToBeUnlocked = 145; public const int UesrName = 144; public const int UesrNameCannotBeEmpty = 143; @@ -681,7 +741,7 @@ public const int DefaultGallery = 97; public const int DeleteRoom = 96; public const int Save = 95; public const int FunctionManagement=94; public const int FunctionManagement = 94; public const int Floor = 93; public const int RoomName = 92; @@ -698,7 +758,7 @@ public const int DelFloorTip = 88; public const int Tip = 87; public const int Del = 86; public const int Scenes=85; public const int Scenes = 85; public const int AddFloorFailed_FloorAlreadyExist = 84; public const int EditFloorName = 83; public const int AddFloors = 82; @@ -736,12 +796,12 @@ public const int BoundMobileInfo = 50; public const int MyQRcode = 49; public const int Name = 48; public const int PersonalCenter=47; public const int PersonalCenter = 47; public const int InvalidLoginCertificate = 46; public const int AccountNotExist = 45; public const int ConfirmReset = 44; public const int RegistrationFailedPleaseTryAgain = 43; public const int NetworkAnomaly=42; public const int NetworkAnomaly = 42; public const int FailedToSendVerificationCode = 41; public const int LoginFailed_AccountOrPasswordError = 40; public const int Personal = 39; @@ -762,7 +822,7 @@ public const int PlsEntryCorrectEmailAddress = 24; public const int VerificationCodeWrong = 23; public const int AccountAlreadyUse = 22; public const int PasswordIsUnqualified=21; public const int PasswordIsUnqualified = 21; public const int IncorrectRepeatPassword = 20; public const int PlsEntryCorrectMobilNeumber = 19; public const int PlsEntryVerificationCode = 18; @@ -1773,7 +1833,7 @@ /// <summary> /// 在线 /// </summary> public const int zaixianhwb= 6015; public const int zaixianhwb = 6015; /// <summary> /// 离线 /// </summary> @@ -1801,7 +1861,7 @@ /// <summary> /// 下一步 /// </summary> public const int xiayibu= 6022; public const int xiayibu = 6022; /// <summary> /// 电源 /// </summary> @@ -2029,7 +2089,7 @@ /// <summary> /// 选择红外品牌 /// </summary> public const int xuanzehongwaipinpai= 6081; public const int xuanzehongwaipinpai = 6081; /// <summary> /// 摇头 /// </summary> @@ -2306,11 +2366,11 @@ /// <summary> /// 暂停 /// </summary> public const int stop= 7054; public const int stop = 7054; /// <summary> /// 亮度 /// </summary> public const int brightnesLogic= 7055; public const int brightnesLogic = 7055; /// <summary> /// 百分比 /// </summary> @@ -2322,7 +2382,7 @@ /// <summary> /// 制冷 /// </summary> public const int coolLogic= 7058; public const int coolLogic = 7058; /// <summary> /// 制热 /// </summary> @@ -2438,7 +2498,7 @@ /// <summary> /// 室外变化 /// </summary> public const int shiwaibainhua=7087; public const int shiwaibainhua = 7087; /// <summary> /// 选择室外变化条件 /// </summary> @@ -2482,11 +2542,11 @@ /// <summary> /// 晴天 /// </summary> public const int clearday =7098; public const int clearday = 7098; /// <summary> /// 多云 /// </summary> public const int cloudy= 7099; public const int cloudy = 7099; /// <summary> /// 下雨 /// </summary> @@ -2510,7 +2570,7 @@ /// <summary> /// 轻度污染:76~115ug/m³ /// </summary> public const int pmqingdu= 7105; public const int pmqingdu = 7105; /// <summary> /// 中度污染:116~150ug/m³ /// </summary> @@ -2518,11 +2578,11 @@ /// <summary> /// 重度污染:>150ug/m³ /// </summary> public const int pmzhongduwuran= 7107; public const int pmzhongduwuran = 7107; /// <summary> /// 泄漏/无泄漏 /// </summary> public const int xieluoandwuxieluo=7108; public const int xieluoandwuxieluo = 7108; /// <summary> /// 泄漏 /// </summary> @@ -2586,7 +2646,7 @@ /// <summary> /// 优 /// </summary> public const int kongqiyou= 7124; public const int kongqiyou = 7124; /// <summary> /// 良 /// </summary> HDL_ON/UI/UI2/4-PersonalCenter/Visitor/VisitorHistoryPage.cs
@@ -28,9 +28,9 @@ page.LoadPage(); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; bodyView.BackgroundColor = CSS_Color.BackgroundColor; new TopViewDiv(bodyView, "访客记录").LoadTopView(click); new TopViewDiv(bodyView, Language.StringByID(StringId.VisitorInvitation)) .LoadTopView_SettingText(click, ""); #endregion bodyScrolView = new VerticalScrolViewLayout() @@ -55,7 +55,7 @@ { Height = Application.GetRealWidth(20), Y = Application.GetRealWidth(6), Text = "访客二维码", Text = Language.StringByID(StringId.VisitorQRCode), TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.text1Color, TextSize = CSS_FontSize.TextFontSize, @@ -68,7 +68,7 @@ { Height = Application.GetRealWidth(14), Y = Application.GetRealWidth(30), Text = "时间:" + startTime + " - " + endTime, Text = Language.StringByID(StringId.Time) + ":" + startTime + " - " + endTime, TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.PromptingColor1, TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, HDL_ON/UI/UI2/4-PersonalCenter/Visitor/VisitorQRCodePage.cs
@@ -17,6 +17,7 @@ private Button randomBtn;//随机密码Btn private FrameLayout codeLayout; private ImageView codeIV;// 二维码 private Button codeSaveTipBtn; private Button codeTip;//二维码有效期提示 private Button visitorVoucherBtn; private VisitorTempPassword tempPassword; @@ -48,13 +49,14 @@ }; bodyView.BackgroundColor = CSS_Color.BackgroundColor; new TopViewDiv(bodyView, "访客邀请").LoadTopView_SettingText(click, "测试记录"); new TopViewDiv(bodyView, Language.StringByID(StringId.VisitorInvitation)) .LoadTopView_SettingText(click, Language.StringByID(StringId.VisitorRecord)); } else { bodyView.BackgroundColor = CSS_Color.BackgroundColor; new TopViewDiv(bodyView, "访客邀请").LoadTopView(); new TopViewDiv(bodyView, Language.StringByID(StringId.VisitorInvitation)).LoadTopView(); } #endregion @@ -69,7 +71,7 @@ // 提示文字 bodyScrolView.AddChidren(new Button() { Text = "*您发起访客二维码后,该二维码将在您设置的有效期内,可自由刷码进行进出,请谨慎分享该二维码。", Text = Language.StringByID(StringId.VisitorTip), IsMoreLines = true, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, TextColor = CSS_Color.PromptingColor1, @@ -81,7 +83,7 @@ #region 手机号 bodyScrolView.AddChidren(new Button() { Text = "手机号", Text = Language.StringByID(StringId.PhoneNumber), Y = Application.GetRealWidth(10), TextSize = CSS_FontSize.SubheadingFontSize, TextColor = CSS_Color.FirstLevelTitleColor, @@ -97,7 +99,8 @@ Width = Application.GetRealWidth(335), TextSize = CSS_FontSize.TextFontSize, TextColor = CSS_Color.FirstLevelTitleColor, PlaceholderText = "输入访客手机号", PlaceholderText = Language.StringByID(StringId.InputPhoneNumberOfTheVisitor), Text = tempPassword.phone, IsNumberKeyboardType = true, PlaceholderTextColor = CSS_Color.PromptingColor1, @@ -117,7 +120,7 @@ bodyScrolView.AddChidren(new Button() { Height = Application.GetRealWidth(10), }); bodyScrolView.AddChidren(new Button() { Text = "动态密码", Text = Language.StringByID(StringId.linshimima), TextSize = CSS_FontSize.SubheadingFontSize, TextColor = CSS_Color.FirstLevelTitleColor, Height = Application.GetRealHeight(20), @@ -137,7 +140,7 @@ TextSize = CSS_FontSize.TextFontSize, TextColor = CSS_Color.FirstLevelTitleColor, Width = Application.GetRealWidth(335), PlaceholderText = "输入访6位密码", PlaceholderText = Language.StringByID(StringId.Input6_DigitsTemporaryPassword), Text = tempPassword.tempPwd, PlaceholderTextColor = CSS_Color.PromptingColor1, }; @@ -148,7 +151,7 @@ { X = Application.GetRealWidth(275), Width = Application.GetRealWidth(80), Text = "随机生成", Text = Language.StringByID(StringId.RandomGeneration), TextAlignment = TextAlignment.CenterRight, TextColor = CSS_Color.MainColor, TextSize = CSS_FontSize.TextFontSize, @@ -181,7 +184,7 @@ startLayout.AddChidren(new Button() { Text = "二维码生效时间", Text = Language.StringByID(StringId.EffectiveTime), X = Application.GetRealWidth(20), Width = Application.GetRealWidth(130), TextSize = CSS_FontSize.SubheadingFontSize, @@ -199,7 +202,7 @@ }; if (tempPassword.tempPwd == null || tempPassword.tempPwd == "") { startTimeText.Text = System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); startTimeText.Text = "";// System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); } else { @@ -221,7 +224,7 @@ // dialog回调 Action<string> startTimeAction = (str) => { startTimeText.Text = str +":00"; startTimeText.Text = str + ":00"; }; startTimeBtn.MouseUpEventHandler += (sender, e) => { @@ -255,7 +258,7 @@ endLayout.AddChidren(new Button() { Text = "二维码失效时间", Text = Language.StringByID(StringId.FailureTime), X = Application.GetRealWidth(20), Width = Application.GetRealWidth(130), TextSize = CSS_FontSize.SubheadingFontSize, @@ -274,7 +277,7 @@ }; if (tempPassword.tempPwd == null || tempPassword.tempPwd == "") { endTimeText.Text = System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); endTimeText.Text = "";// System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); } else { @@ -337,15 +340,17 @@ codeLayout.AddChidren(codeIV); bodyScrolView.AddChidren(new Button() { Height = Application.GetRealWidth(20), }); bodyScrolView.AddChidren(new Button() codeSaveTipBtn = new Button() { X = Application.GetRealWidth(16), Width = Application.GetRealWidth(343), Height = Application.GetRealWidth(20), Text = "长按可以把二维码保存到相册", Text = Language.StringByID(StringId.LongPressQRCodeSave), TextAlignment = TextAlignment.Center, TextColor = CSS_Color.FirstLevelTitleColor, }); Visible = false, }; bodyScrolView.AddChidren(codeSaveTipBtn); #endregion bodyScrolView.AddChidren(new Button() { Height = Application.GetRealWidth(28), }); @@ -384,21 +389,49 @@ }; visitorVoucherBtn.MouseUpEventHandler += (sender, e) => { if (phoneNumberEditText.Text == "" || pwdEditText.Text == "") if (phoneNumberEditText.Text.Trim() == "" || pwdEditText.Text.Trim() == "" || startTimeText.Text.Trim() == "" || endTimeText.Text.Trim() == "") { return; } if (phoneNumberEditText.Text.Trim().Length != 11) { var tip_dialog = new Tip() { Text = Language.StringByID(StringId.PhoneNumberErrorTip), CloseTime = 2, Direction = AMPopTipDirection.None }; tip_dialog.Show(MainPage.BaseView); phoneNumberEditText.Foucs = true; return; } if (pwdEditText.Text.Trim().Length != 6) { var tip_dialog = new Tip() { Text = Language.StringByID(StringId.linshimima), CloseTime = 2, Direction = AMPopTipDirection.None }; tip_dialog.Show(MainPage.BaseView); pwdEditText.Foucs = true; return; } string tip = ""; string message = ""; if (codeIV.ImageBytes == null) { tip = "访客凭证"; message = "生成访客二维码并将临时密码发送至访客手机."; tip = Language.StringByID(StringId.tip); message = Language.StringByID(StringId.VisitorTipContent); } else { tip = "访客凭证"; message = "确定删除访客凭证?"; tip = Language.StringByID(StringId.tip); message = Language.StringByID(StringId.VisitorDelTipContent); } new LpTipDialog(Application.Activity, tip, message, new LpTipDialogCallBack(voucher_action)).Show(); }; @@ -413,11 +446,11 @@ string msg = ""; if (bol) { msg = "保存成功!"; msg = Language.StringByID(StringId.SavedSuccessfully); } else { msg = "保存失败!"; msg = Language.StringByID(StringId.saveFail); } EmptyTipView tipView = new EmptyTipView(msg, 160); tipView.Gravity = Gravity.CenterHorizontal; @@ -447,15 +480,15 @@ TextAlignment = TextAlignment.Center, TextColor = CSS_Color.textWhiteColor, BackgroundColor = CSS_Color.DialogTransparentColor1, Text = "二维码已失效", Text = Language.StringByID(StringId.QRcodeIsInvalid), }; codeLayout.AddChidren(codeTip); } visitorVoucherBtn.Text = "删除访客凭证"; visitorVoucherBtn.Text = Language.StringByID(StringId.CancleVisitorCredentials); } else { visitorVoucherBtn.Text = "生成访客凭证"; visitorVoucherBtn.Text = Language.StringByID(StringId.GenerateVisitorCredentials); } } @@ -488,9 +521,19 @@ { pwd.id = pack.Data.ToString(); codeIV.ImageBytes = Scan.BytesFromText(pwdEditText.Text, codeIV.Width, codeIV.Height); codeSaveTipBtn.Visible = true; RefreshVisitorVoucherBtn(); } else { var tip_dialog = new Tip() { Text = pack.message, CloseTime = 2, Direction = AMPopTipDirection.None }; tip_dialog.Show(MainPage.BaseView); } } RefreshVisitorVoucherBtn(); return result; }