国际化统一到openNow字段

This commit is contained in:
魏少阳 2024-08-01 18:54:32 +08:00
parent 9f473d9909
commit 1d1406e3fc
93 changed files with 1083 additions and 2523 deletions

View File

@ -171,157 +171,127 @@
"NFC无源锁": "NFC Passive Lock",
"添加设备": "Add device",
"网关": "Gateway",
"supportStaff": "Support Staff",
"set": "Setting",
"moreServices": "More Services",
"moreSet": "More Set",
"prompTone": "Promp Tone",
"touchUnlock": "Touch Unlock",
"pushNotification": "Push Notification",
"lockUserManagement": "Lock User Management",
"ownedKey": "Owned key",
"authorityManagement": "Authority management",
"associatedDevice": "Associated device",
"associatedName": "Associated name",
"device": "Device",
"aboutToExpire": "About to expire",
"deAuthorize": "de-authorize",
"changeName": "Change name",
"authorizedAdmin": "Admin",
"addAuthorizedAdmin": "Adding an Authorized Administrator",
"lockGroup": "Lock Group",
"transferSmartLock": "Transfer Smart Lock",
"selectiveLock": "Selective lock",
"recipientInformation": "recipientInformation",
"transferGateway": "Transfer Gateway",
"multiLanguage": "Multi Language",
"lockScreen": "Lock Screen",
"closed": "Closed",
"opened": "Opened",
"close": "Close",
"open": "Open",
"hideInvalidUnlockPermissions": "Hide Invalid Unlock Permissions",
"appUnlockRequiresMobilePhoneAccessToTheLock": "APP Unlock Requires Phone Access To Lock",
"valueAddedServices": "Value Added Services",
"about": "About",
"userAgreement": "User Agreement",
"privacyPolicy": "Privacy Policy",
"personalInformationCollectionList": "Personal Information Collection List",
"applicationPermissionDescription": "Application Permission Description",
"thirdPartyInformationSharingList": "Third party information sharing list",
"logout": "Logout",
"deleteAccount": "Delete Account",
"personalInformation": "Personal Information",
"avatar": "Avatar",
"nickName": "NickName",
"changeNickName": "Change NickName",
"modifyAccount": "Modify Account",
"客服": "Customer Service",
"设置": "Setting",
"更多设置": "More Set",
"消息推送": "Push Notification",
"锁用户管理": "Lock User Management",
"拥有的钥匙": "Owned key",
"批量授权": "Authority management",
"关联设备": "Associated device",
"关联姓名": "Associated name",
"转移智能锁": "Transfer Smart Lock",
"选择锁": "Select Lock",
"接收人信息": "Receiver Information",
"转移网关": "Transfer Gateway",
"锁屏": "Lock Screen",
"已关闭": "Closed",
"已开启": "Opened",
"开启": "Open",
"确定要开启重置键?": "Are you sure you want to open the reset key?",
"确定要关闭重置键?": "Are you sure you want to close the reset key?",
"隐藏无效开锁权限": "Hide invalid unlock permissions",
"APP开锁时需手机连网的锁": "APP Unlock Requires Phone Access To Lock",
"增值服务": "Value Added Services",
"关于": "About",
"退出": "Logout",
"删除账号": "Delete Account",
"个人信息": "Personal Information",
"头像": "Avatar",
"昵称": "NickName",
"请输入昵称": "Please enter your nickname",
"修改昵称": "Change NickName",
"修改账号": "Modify Account",
"重置密码": "Reset Passwords",
"safetyProblem": "Safety Problem",
"modifyAccountTip": "For the security of your account, please use the account password verification before modifying the account",
"pleaseEnterAccountNumber": "Please enter your account number",
"pleaseEnterNewAccountNumber": "Please enter your new account number",
"changeIphoneTip": "When you retrieve your password and log in to a new device, you can verify it with the attached phone",
"changeEmailTip": "When you retrieve your password and log in to a new device, you can verify it with the attached Email",
"goBind": "Go Bind",
"originalPassword": "Original Password",
"newPassword": "New Password",
"安全问题": "Safety Problem",
"为了你的账号安全,修改账号前请先使用验证码验证": "For the security of your account, please use the account password verification before modifying the account",
"请输入新账号": "Please enter your new account number",
"找回密码和登录新设备时,可通过绑定的手机验证": "When you retrieve your password and log in to a new device, you can verify it with the attached phone",
"找回密码和登录新设备时,可通过绑定的邮箱验证": "When you retrieve your password and log in to a new device, you can verify it with the attached Email",
"原密码": "Original Password",
"新密码": "New Password",
"确认密码": "Sure Password",
"safetyProblemTip": "When you lose your phone, you can log in to the new device by answering the security questions you set",
"problemOne": "Problem One",
"problemTwo": "Problem Two",
"problemThree": "Problem Three",
"pleaseEnterYourAnswer": "Please Enter Your Answer",
"designation": "designation",
"state": "State",
"wifiName": "Wifi Name",
"networkMAC": "Network MAC",
"gatewayUpgrade": "Gateway Upgrade",
"gatewayConnectionLock": "Gateway Connection Lock",
"strongSignal": "Strong Signal",
"mediumSignal": "Medium Signal",
"averageSignal": "Average Signal",
"weakSignal": "Weak Signal",
"selectGatewayType": "Select Gateway Type",
"addGateway": "Add Gateway",
"turnThePowerBackOn": "Turn The Power Back On",
"indicatorLight": "Indicator Light",
"selectGatewayTypeNextTip": "Repower the gateway and click Next when the indicator light flashes alternately",
"selectGateway": "Select Gateway",
"gatewayConfigurationWifiTip": "5G WiFi network is not supported, please choose 2.4G WiFi network for configuration",
"wifiPassward": "WiFi Passward",
"pleaseEnterTheWiFiPassword": "Please Enter The WiFi Password",
"gatewayName": "Gateway Name",
"pleaseEnterGatewayName": "Please Enter Gateway Name",
"wifiMAC": "WiFi MAC",
"ipAddress": "IP Address",
"subnetMask": "Subnet Mask",
"defaultGateway": "Default Gateway",
"automaticallyGetTheDNSServerAddress": "Automatically Get The DNS Server Address",
"preferredDNS": "Preferred DNS",
"alternativeDNS": "Alternative DNS",
"noStaticIPIsUsed": "No Static IP Is Used",
"allLock": "All Lock",
"searchAllLockType": "Search All Lock Type",
"doorLock": "Door Lock",
"padlock": "Pad lock",
"safeLock": "Safe Lock",
"intelligentLockCore": "Intelligent Lock Core",
"itelligentAccessControl": "Intelligent access control",
"parkingLock": "Parking Lock",
"bicycleLock": "Bicycle Lock",
"longRangeControl": "LongRange Control",
"lightTouchScreen": "Light Touch Screen",
"lightTouchScreenTip": "Light Touch Screen Tip",
"next": "Next",
"nearbyLock": "Nearby Lock",
"addSuccessfullyPleaseRename": "If you want to change the name, please rename, click OK to add lock",
"whenAddingLockThePhoneMustBeNextToTheLock": "When adding a lock, the phone must be next to the lock",
"login": "Login",
"register": "Register",
"forgetPassword": "Forget Password",
"readAndAgree": "I Have Read And Agree",
"verificationCode": "VerificationCode",
"registerPasswordTip": "The password must be 8-20 characters, including at least 2 of the numbers/letters/symbols",
"iphone": "Iphone",
"email": "Email",
"mobileNumber": "Mobile phone number",
"countryAndRegion": "Country And Region",
"select": "Select",
"getVerificationCode": "Get Verification Code",
"businessCooperation": "Business Cooperation",
"officialWebsite": "Official Website",
"computerWebVersion": "Computer Web Version",
"hotelSystem": "Hotel System",
"manualWebVersion": "Manual Web Version",
"introduce": "Introduce",
"note": "Note",
"mail": "Mail",
"advancedFunction": "Advanced Function",
"pushMessage": "Push Message",
"recordsRetention": "Records Retention",
"smsBuyTip": "You can send the password and electronic key information to the recipient via SMS.",
"emailBuyTip": "You can send the password and electronic key information to the recipient by email.",
"currentRemainingQuantity": "Current Remaining Quantity",
"buy": "Buy",
"customSMSTemplate": "Custom SMS Template",
"customMailTemplate": "Custom Mail Template",
"record": "Record",
"forTheFirstTime": "For the first time",
"onceDay": "once a day",
"weekOnce": "once a week",
"monthOnce": "once every month",
"currentState": "Current State",
"onTrial": "On Trial",
"haveNotOpened": "Have Not Opened",
"advancedFeaturesAndBenefitsContent": "Advanced Features And Benefits Content",
"smsTemplate": "SMS Template",
"emailTemplate": "Email Template",
"cardIssuingtool": "Card Issuing tool",
"titleForBuyingAdvancedFeatures": "Tips for buying advanced features",
"tipsForBuyingAdvancedFeatures": "More advanced features are under development, and if you need them, you are welcome to open the service based on the number of locks. Advanced features are only available for your own locks. If you are an authorized administrator, please contact the top administrator of the lock to open the service",
"freeTrial": "Free Trial",
"openNow": "Open Now",
"当你手机丢了,可以通过回答设置的安全问题来登录新设备": "When you lose your phone, you can log in to the new device by answering the security questions you set",
"问题一": "Problem One",
"问题二": "Problem Two",
"问题三": "Problem Three",
"请输入你的答案": "Please Enter Your Answer",
"即将到期": "About to expire",
"去授权": "Go to authorize",
"修改名称": "Change name",
"状态": "State",
"WiFi名称": "Wifi Name",
"网络MAC": "Network MAC",
"网关升级": "Gateway Upgrade",
"网关连接的锁": "Gateway Connection Lock",
"信号强": "Strong Signal",
"选择网关类型": "Select Gateway Type",
"添加网关": "Add Gateway",
"重新通电": "Turn The Power Back On",
"指示灯": "Indicator Light",
"将网关重新通电,指示灯交替闪烁时点击下一步": "Repower the gateway and click Next when the indicator light flashes alternately",
"选择网关": "Select Gateway",
"不支持5G WiFi网络请选择2.4G WiFi网络进行配置": "5G WiFi network is not supported, please choose 2.4G WiFi network for configuration",
"WiFi密码": "WiFi Passward",
"请输入WiFi密码": "Please Enter The WiFi Password",
"网关名称": "Gateway Name",
"请输入网关名称": "Please Enter Gateway Name",
"IP地址": "IP Address",
"子网掩码": "Subnet Mask",
"默认网关": "Default Gateway",
"自动获取DNS服务器地址": "Automatically Get The DNS Server Address",
"首选DNS": "Preferred DNS",
"备选DNS": "Alternative DNS",
"不使用静态IP": "No Static IP Is Used",
"所有锁": "All Lock",
"搜索所有锁类型": "Search All Lock Type",
"门锁": "Door Lock",
"挂锁": "Pad lock",
"保险箱锁": "Safe Lock",
"智能门禁": "Intelligent access control",
"车位锁": "Parking Lock",
"摸亮触摸屏": "Light Touch Screen",
"摸亮触摸屏,锁进入可添加状态,点击下一步": "Touch the screen to light up, the lock enters the addable state, click Next",
"附近的锁": "Nearby Lock",
"如需修改名字请重新命名,点击确定添加锁": "If you want to change the name, please rename, click OK to add lock",
"添加锁时,手机必须在锁旁边": "When adding a lock, the phone must be next to the lock",
"登录": "Login",
"注册": "注册",
"我已阅读并同意": "I Have Read And Agree",
"验证码": "验证码",
"密码必须是8-20位至少包括数字/字母/符号中的2种": "The password must be 8-20 characters, including at least 2 of the numbers/letters/symbols",
"手机": "Iphone",
"邮箱": "Email",
"请输入邮箱": "请输入邮箱",
"国家/地区": "Country/Region",
"你所在的国家/地区": "The country/region you are in",
"选择国家/地区": "Select Country/Region",
"获取验证码": "Get Code",
"商务合作": "Business Cooperation",
"电脑网页版": "Computer Web Version",
"酒店系统": "Hotel System",
"说明书网页版": "Manual Web Version",
"高级功能": "Advanced Function",
"记录保存": "Records Retention",
"您可通过短信将密码、电子钥匙信息发给接收人。": "You can send the password and electronic key information to the recipient via SMS.",
"您可通过邮件将密码、电子钥匙信息发给接收人。": "You can send the password and electronic key information to the recipient by email.",
"购买实名认证提示": "After the function is enabled, you need to use your fingerprint, face or account password to open the APP. There is no need to verify again for 3 minutes",
"请选择你希望的实名认证频次": "Please select the real-name authentication frequency you want",
"仅首次": "For the first time",
"每日一次": "once a day",
"每周一次": "once a week",
"每月一次": "once every month",
"当前状态": "Current State",
"试用中": "On Trial",
"高级功能权益内容": "Advanced Features And Benefits Content",
"短信模板": "SMS Template",
"邮件模板": "Email Template",
"发卡工具": "Card Issuing tool",
"购买高级功能须知": "Tips for buying advanced features",
"购买高级功能提示": "More advanced features are under development, and if you need them, you are welcome to open the service based on the number of locks. Advanced features are only available for your own locks. If you are an authorized administrator, please contact the top administrator of the lock to open the service",
"免费体验": "Free Trial",
"立即开通": "Open Now",
"buySMS": "Buy SMS",
"buyMail": "Buy Mail",
"buyRealNameAuthenticationTimes": "Purchase Real Name Authentication Times",

View File

@ -170,166 +170,133 @@
"NFC无源锁":"NFC无源锁",
"添加设备":"添加设备",
"网关":"网关",
"supportStaff":"supportStaff",
"set":"set",
"moreServices":"moreServices",
"客服":"客服",
"设置":"设置",
"更多设置":"更多设置",
"moreSet":"moreSet",
"prompTone":"prompTone",
"touchUnlock":"touchUnlock",
"pushNotification":"pushNotification",
"lockUserManagement":"lockUserManagement",
"ownedKey":"ownedKey",
"authorityManagement":"authorityManagement",
"associatedDevice":"associatedDevice",
"associatedName":"associatedName",
"device":"device",
"authorizedAdmin":"authorizedAdmin",
"addAuthorizedAdmin":"addAuthorizedAdmin",
"lockGroup":"lockGroup",
"transferSmartLock":"transferSmartLock",
"selectiveLock":"selectiveLock",
"recipientInformation":"recipientInformation",
"transferGateway":"transferGateway",
"multiLanguage":"multiLanguage",
"lockScreen":"lockScreen",
"closed":"closed",
"opened":"opened",
"close":"close",
"open":"open",
"hideInvalidUnlockPermissions":"hideInvalidUnlockPermissions",
"appUnlockRequiresMobilePhoneAccessToTheLock":"appUnlockRequiresMobilePhoneAccessToTheLock",
"valueAddedServices":"valueAddedServices",
"about":"about",
"userAgreement":"userAgreement",
"privacyPolicy":"privacyPolicy",
"personalInformationCollectionList":"personalInformationCollectionList",
"applicationPermissionDescription":"applicationPermissionDescription",
"thirdPartyInformationSharingList":"thirdPartyInformationSharingList",
"logout":"logout",
"deleteAccount":"deleteAccount",
"personalInformation":"personalInformation",
"avatar":"avatar",
"nickName":"nickName",
"changeNickName":"changeNickName",
"modifyAccount":"modifyAccount",
"消息推送":"消息推送",
"锁用户管理":"锁用户管理",
"拥有的钥匙":"拥有的钥匙",
"批量授权":"批量授权",
"关联设备":"关联设备",
"关联姓名":"关联姓名",
"转移智能锁":"转移智能锁",
"选择锁":"选择锁",
"接收人信息":"接收人信息",
"转移网关":"转移网关",
"锁屏":"锁屏",
"已关闭":"已关闭",
"已开启":"已开启",
"开启":"开启",
"确定要开启重置键?": "确定要开启重置键?",
"确定要关闭重置键?": "确定要关闭重置键?",
"隐藏无效开锁权限":"隐藏无效开锁权限",
"APP开锁时需手机连网的锁":"APP开锁时需手机连网的锁",
"增值服务":"增值服务",
"关于":"关于",
"退出":"退出",
"删除账号":"删除账号",
"个人信息":"个人信息",
"头像":"头像",
"昵称":"昵称",
"请输入昵称": "请输入昵称",
"修改昵称":"修改昵称",
"修改账号":"修改账号",
"重置密码":"重置密码",
"safetyProblem":"safetyProblem",
"modifyAccountTip":"modifyAccountTip",
"pleaseEnterAccountNumber":"pleaseEnterAccountNumber",
"pleaseEnterNewAccountNumber":"pleaseEnterNewAccountNumber",
"changeIphoneTip":"changeIphoneTip",
"changeEmailTip":"changeEmailTip",
"goBind":"goBind",
"originalPassword":"originalPassword",
"newPassword":"newPassword",
"安全问题":"安全问题",
"为了你的账号安全,修改账号前请先使用验证码验证":"为了你的账号安全,修改账号前请先使用验证码验证",
"请输入新账号":"请输入新账号",
"找回密码和登录新设备时,可通过绑定的手机验证":"找回密码和登录新设备时,可通过绑定的手机验证",
"找回密码和登录新设备时,可通过绑定的邮箱验证":"找回密码和登录新设备时,可通过绑定的邮箱验证",
"原密码":"原密码",
"新密码":"新密码",
"确认密码":"确认密码",
"safetyProblemTip":"safetyProblemTip",
"problemOne":"problemOne",
"problemTwo":"problemTwo",
"problemThree":"problemThree",
"pleaseEnterYourAnswer":"pleaseEnterYourAnswer",
"aboutToExpire":"aboutToExpire",
"deAuthorize":"deAuthorize",
"changeName":"changeName",
"当你手机丢了,可以通过回答设置的安全问题来登录新设备":"当你手机丢了,可以通过回答设置的安全问题来登录新设备",
"问题一":"问题一",
"问题二":"问题二",
"问题三":"问题三",
"请输入你的答案":"请输入你的答案",
"即将到期":"即将到期",
"去授权":"去授权",
"修改名称":"修改名称",
"designation": "designation",
"state": "state",
"wifiName": "wifiName",
"networkMAC": "networkMAC",
"gatewayUpgrade": "gatewayUpgrade",
"gatewayConnectionLock": "gatewayConnectionLock",
"strongSignal": "strongSignal",
"mediumSignal": "mediumSignal",
"averageSignal": "averageSignal",
"weakSignal": "weakSignal",
"selectGatewayType": "selectGatewayType",
"addGateway": "addGateway",
"turnThePowerBackOn": "turnThePowerBackOn",
"indicatorLight": "indicatorLight",
"selectGatewayTypeNextTip": "selectGatewayTypeNextTip",
"selectGateway": "selectGateway",
"gatewayConfigurationWifiTip": "gatewayConfigurationWifiTip",
"wifiPassward": "wifiPassward",
"pleaseEnterTheWiFiPassword": "pleaseEnterTheWiFiPassword",
"gatewayName": "gatewayName",
"pleaseEnterGatewayName": "pleaseEnterGatewayName",
"wifiMAC": "wifiMAC",
"ipAddress": "ipAddress",
"subnetMask": "subnetMask",
"defaultGateway": "defaultGateway",
"automaticallyGetTheDNSServerAddress": "automaticallyGetTheDNSServerAddress",
"preferredDNS": "preferredDNS",
"alternativeDNS": "alternativeDNS",
"noStaticIPIsUsed": "noStaticIPIsUsed",
"状态": "状态",
"WiFi名称": "WiFi名称",
"网络MAC": "网络MAC",
"网关升级": "网关升级",
"网关连接的锁": "网关连接的锁",
"信号强": "信号强",
"选择网关类型": "选择网关类型",
"添加网关": "添加网关",
"重新通电": "重新通电",
"指示灯": "指示灯",
"将网关重新通电,指示灯交替闪烁时点击下一步": "将网关重新通电,指示灯交替闪烁时点击下一步",
"选择网关": "选择网关",
"不支持5G WiFi网络请选择2.4G WiFi网络进行配置": "不支持5G WiFi网络请选择2.4G WiFi网络进行配置",
"WiFi密码": "WiFi密码",
"请输入WiFi密码": "请输入WiFi密码",
"网关名称": "网关名称",
"请输入网关名称": "请输入网关名称",
"IP地址": "IP地址",
"子网掩码": "子网掩码",
"默认网关": "默认网关",
"自动获取DNS服务器地址": "自动获取DNS服务器地址",
"首选DNS": "首选DNS",
"备选DNS": "备选DNS",
"不使用静态IP": "不使用静态IP",
"allLock":"allLock",
"searchAllLockType":"searchAllLockType",
"doorLock":"doorLock",
"padlock":"padlock",
"safeLock":"safeLock",
"intelligentLockCore":"intelligentLockCore",
"itelligentAccessControl":"itelligentAccessControl",
"parkingLock":"parkingLock",
"bicycleLock":"bicycleLock",
"longRangeControl":"longRangeControl",
"lightTouchScreen":"lightTouchScreen",
"lightTouchScreenTip":"lightTouchScreenTip",
"next":"next",
"nearbyLock":"nearbyLock",
"addSuccessfullyPleaseRename":"addSuccessfullyPleaseRename",
"whenAddingLockThePhoneMustBeNextToTheLock":"whenAddingLockThePhoneMustBeNextToTheLock",
"所有锁":"所有锁",
"搜索所有锁类型":"搜索所有锁类型",
"门锁":"门锁",
"挂锁":"挂锁",
"保险箱锁":"保险箱锁",
"智能门禁":"智能门禁",
"车位锁":"车位锁",
"摸亮触摸屏":"摸亮触摸屏",
"摸亮触摸屏,锁进入可添加状态,点击下一步":"摸亮触摸屏,锁进入可添加状态,点击下一步",
"附近的锁":"附近的锁",
"如需修改名字请重新命名,点击确定添加锁":"如需修改名字请重新命名,点击确定添加锁",
"添加锁时,手机必须在锁旁边":"添加锁时,手机必须在锁旁边",
"login":"login",
"register":"register",
"forgetPassword":"forgetPassword",
"readAndAgree":"readAndAgree",
"verificationCode":"verificationCode",
"registerPasswordTip":"registerPasswordTip",
"iphone":"iphone",
"email":"email",
"mobileNumber":"mobileNumber",
"countryAndRegion":"countryAndRegion",
"select":"select",
"getVerificationCode":"getVerificationCode",
"登录":"登录",
"注册":"注册",
"我已阅读并同意":"我已阅读并同意",
"验证码":"验证码",
"密码必须是8-20位至少包括数字/字母/符号中的2种":"密码必须是8-20位至少包括数字/字母/符号中的2种",
"手机":"手机",
"邮箱":"邮箱",
"请输入邮箱": "请输入邮箱",
"国家/地区":"国家/地区",
"你所在的国家/地区": "你所在的国家/地区",
"选择国家/地区": "你所在的国家/地区",
"获取验证码":"获取验证码",
"businessCooperation":"businessCooperation",
"officialWebsite":"officialWebsite",
"computerWebVersion":"computerWebVersion",
"hotelSystem":"hotelSystem",
"manualWebVersion":"manualWebVersion",
"introduce":"introduce",
"商务合作":"商务合作",
"电脑网页版":"电脑网页版",
"酒店系统":"酒店系统",
"说明书网页版":"说明书网页版",
"note":"note",
"mail":"mail",
"advancedFunction":"advancedFunction",
"pushMessage":"pushMessage",
"recordsRetention":"recordsRetention",
"高级功能":"高级功能",
"记录保存":"记录保存",
"smsBuyTip":"smsBuyTip",
"emailBuyTip":"emailBuyTip",
"currentRemainingQuantity":"currentRemainingQuantity",
"buy":"buy",
"customSMSTemplate":"customSMSTemplate",
"customMailTemplate":"customMailTemplate",
"record":"record",
"buyRealNameTip":"buyRealNameTip",
"buyRealNameSelectYouWantBuyTip":"buyRealNameSelectYouWantBuyTip",
"forTheFirstTime":"forTheFirstTime",
"onceDay":"onceDay",
"weekOnce":"weekOnce",
"monthOnce":"monthOnce",
"currentState":"currentState",
"onTrial":"onTrial",
"haveNotOpened":"haveNotOpened",
"advancedFeaturesAndBenefitsContent":"advancedFeaturesAndBenefitsContent",
"smsTemplate":"smsTemplate",
"emailTemplate":"emailTemplate",
"cardIssuingtool":"cardIssuingtool",
"titleForBuyingAdvancedFeatures":"titleForBuyingAdvancedFeatures",
"tipsForBuyingAdvancedFeatures":"tipsForBuyingAdvancedFeatures",
"freeTrial":"freeTrial",
"openNow":"openNow",
"您可通过短信将密码、电子钥匙信息发给接收人。":"您可通过短信将密码、电子钥匙信息发给接收人。",
"您可通过邮件将密码、电子钥匙信息发给接收人。":"您可通过邮件将密码、电子钥匙信息发给接收人。",
"购买实名认证提示":"购买实名认证提示",
"请选择你希望的实名认证频次":"请选择你希望的实名认证频次",
"仅首次":"仅首次",
"每日一次":"每日一次",
"每周一次":"每周一次",
"每月一次":"每月一次",
"当前状态":"当前状态",
"试用中":"试用中",
"高级功能权益内容":"高级功能权益内容",
"短信模板":"短信模板",
"邮件模板":"邮件模板",
"发卡工具":"发卡工具",
"购买高级功能须知":"购买高级功能须知",
"购买高级功能提示":"购买高级功能提示",
"免费体验":"免费体验",
"立即开通":"立即开通",
"buySMS":"buySMS",
"buyMail":"buyMail",

View File

@ -169,158 +169,127 @@
"NFC无源锁": "NFC无源锁",
"添加设备": "添加设备",
"网关": "网关",
"客服": "客服",
"设置": "设置",
"更多设置": "更多设置",
"supportStaff": "客服",
"set": "设置",
"moreServices": "更多服务",
"moreSet": "更多设置",
"prompTone": "提示音",
"touchUnlock": "触摸开锁",
"pushNotification": "消息推送",
"lockUserManagement": "锁用户管理",
"ownedKey": "拥有的钥匙",
"authorityManagement": "批量授权",
"associatedDevice": "关联设备",
"associatedName": "关联姓名",
"device": "设备",
"authorizedAdmin": "授权管理员",
"addAuthorizedAdmin": "添加授权管理员",
"lockGroup": "锁分组",
"transferSmartLock": "转移智能锁",
"selectiveLock": "选择锁",
"recipientInformation": "接收人信息",
"transferGateway": "转移网关",
"multiLanguage": "多语言",
"lockScreen": "锁屏",
"closed": "已关闭",
"opened": "已开启",
"close": "关闭",
"open": "开启",
"hideInvalidUnlockPermissions": "隐藏无效开锁权限",
"appUnlockRequiresMobilePhoneAccessToTheLock": "APP开锁时需手机连网的锁",
"valueAddedServices": "增值服务",
"about": "关于",
"userAgreement": "用户协议",
"privacyPolicy": "隐私政策",
"personalInformationCollectionList": "个人信息收集清单",
"applicationPermissionDescription": "应用权限说明",
"thirdPartyInformationSharingList": "第三方信息共享清单",
"logout": "退出",
"deleteAccount": "删除账号",
"personalInformation": "个人信息",
"avatar": "头像",
"nickName": "昵称",
"changeNickName": "修改昵称",
"modifyAccount": "修改账号",
"消息推送": "消息推送",
"锁用户管理": "锁用户管理",
"拥有的钥匙": "拥有的钥匙",
"批量授权": "批量授权",
"关联设备": "关联设备",
"关联姓名": "关联姓名",
"转移智能锁": "转移智能锁",
"选择锁": "选择锁",
"接收人信息": "接收人信息",
"转移网关": "转移网关",
"锁屏": "锁屏",
"已关闭": "已关闭",
"已开启": "已开启",
"开启": "开启",
"确定要开启重置键?": "确定要开启重置键?",
"确定要关闭重置键?": "确定要关闭重置键?",
"隐藏无效开锁权限": "隐藏无效开锁权限",
"APP开锁时需手机连网的锁": "APP开锁时需手机连网的锁",
"增值服务": "增值服务",
"关于": "关于",
"退出": "退出",
"删除账号": "删除账号",
"个人信息": "个人信息",
"头像": "头像",
"昵称": "昵称",
"请输入昵称": "请输入昵称",
"修改昵称": "修改昵称",
"修改账号": "修改账号",
"重置密码": "重置密码",
"safetyProblem": "安全问题",
"modifyAccountTip": "为了你的账号安全,修改账号前请先使用验证码验证",
"pleaseEnterAccountNumber": "请输入账号",
"pleaseEnterNewAccountNumber": "请输入新账号",
"changeIphoneTip": "找回密码和登录新设备时,可通过绑定的手机验证",
"changeEmailTip": "找回密码和登录新设备时,可通过绑定的邮箱验证",
"goBind": "去绑定",
"originalPassword": "原密码",
"newPassword": "新密码",
"安全问题": "安全问题",
"为了你的账号安全,修改账号前请先使用验证码验证": "为了你的账号安全,修改账号前请先使用验证码验证",
"请输入新账号": "请输入新账号",
"找回密码和登录新设备时,可通过绑定的手机验证": "找回密码和登录新设备时,可通过绑定的手机验证",
"找回密码和登录新设备时,可通过绑定的邮箱验证": "找回密码和登录新设备时,可通过绑定的邮箱验证",
"原密码": "原密码",
"新密码": "新密码",
"确认密码": "确认密码",
"safetyProblemTip": "当你手机丢了,可以通过回答设置的安全问题来登录新设备",
"problemOne": "问题一",
"problemTwo": "问题二",
"problemThree": "问题三",
"pleaseEnterYourAnswer": "请输入你的答案",
"aboutToExpire": "即将到期",
"changeName": "修改名称",
"deAuthorize": "去授权",
"designation": "名称",
"state": "状态",
"wifiName": "WiFi名称",
"networkMAC": "网络MAC",
"gatewayUpgrade": "网关升级",
"gatewayConnectionLock": "网关连接的锁",
"strongSignal": "信号强",
"mediumSignal": "信号中等",
"averageSignal": "信号一般",
"weakSignal": "信号弱",
"selectGatewayType": "选择网关类型",
"addGateway": "添加网关",
"turnThePowerBackOn": "重新通电",
"indicatorLight": "指示灯",
"selectGatewayTypeNextTip": "将网关重新通电,指示灯交替闪烁时点击下一步",
"selectGateway": "选择网关",
"gatewayConfigurationWifiTip": "不支持5G WiFi网络请选择2.4G WiFi网络进行配置",
"wifiPassward": "WiFi密码",
"pleaseEnterTheWiFiPassword": "请输入WiFi密码",
"gatewayName": "网关名称",
"pleaseEnterGatewayName": "请输入网关名称",
"wifiMAC": "网络MAC",
"ipAddress": "IP地址",
"subnetMask": "子网掩码",
"defaultGateway": "默认网关",
"automaticallyGetTheDNSServerAddress": "自动获取DNS服务器地址",
"preferredDNS": "首选DNS",
"alternativeDNS": "备选DNS",
"noStaticIPIsUsed": "不使用静态IP",
"allLock": "所有锁",
"searchAllLockType": "搜索所有锁类型",
"doorLock": "门锁",
"padlock": "挂锁",
"safeLock": "保险箱锁",
"intelligentLockCore": "智能锁芯",
"itelligentAccessControl": "智能门禁",
"parkingLock": "车位锁",
"bicycleLock": "自行车锁",
"longRangeControl": "远程控制",
"lightTouchScreen": "摸亮触摸屏",
"lightTouchScreenTip": "摸亮触摸屏,锁进入可添加状态,点击下一步",
"next": "下一步",
"nearbyLock": "附近的锁",
"addSuccessfullyPleaseRename": "如需修改名字请重新命名,点击确定添加锁",
"whenAddingLockThePhoneMustBeNextToTheLock": "添加锁时,手机必须在锁旁边",
"login": "登录",
"register": "注册",
"forgetPassword": "忘记密码",
"readAndAgree": "我已阅读并同意",
"verificationCode": "验证码",
"registerPasswordTip": "密码必须是8-20位至少包括数字/字母/符号中的2种",
"iphone": "手机",
"email": "邮箱",
"mobileNumber": "手机号",
"countryAndRegion": "国家/地区",
"select": "选择",
"getVerificationCode": "获取验证码",
"businessCooperation": "商务合作",
"officialWebsite": "官网",
"computerWebVersion": "电脑网页版",
"hotelSystem": "酒店系统",
"manualWebVersion": "说明书网页版",
"introduce": "介绍",
"note": "短信",
"mail": "邮件",
"advancedFunction": "高级功能",
"pushMessage": "推送",
"recordsRetention": "记录保存",
"smsBuyTip": "您可通过短信将密码、电子钥匙信息发给接收人。",
"emailBuyTip": "您可通过邮件将密码、电子钥匙信息发给接收人。",
"currentRemainingQuantity": "当前剩余数量",
"buy": "购买",
"record": "记录",
"buyRealNameTip": "给用户发送电子钥匙时,可以要求其开锁前先进行人脸识别,以保证是他本人在操作。人脸实名认证调用国家公安系统接口,为付费功能,请购买次数后再使用。",
"buyRealNameSelectYouWantBuyTip": "请选择你希望的实名认证频次",
"forTheFirstTime": "仅首次",
"onceDay": "每日一次",
"weekOnce": "每周一次",
"monthOnce": "每月一次",
"currentState": "当前状态",
"onTrial": "试用中",
"haveNotOpened": "未开通",
"advancedFeaturesAndBenefitsContent": "高级功能权益内容",
"smsTemplate": "短信模板",
"emailTemplate": "邮件模板",
"cardIssuingtool": "发卡工具",
"titleForBuyingAdvancedFeatures": "购买高级功能须知",
"tipsForBuyingAdvancedFeatures": "更多的高级功能正在开发中,如果您需要这些功能,欢迎根据锁的数量开通服务。高级功能仅能用于您自己的锁。如果您是授权管理员,请联系锁的最高管理员开通服务。",
"freeTrial": "免费体验",
"openNow": "立即开通",
"当你手机丢了,可以通过回答设置的安全问题来登录新设备": "当你手机丢了,可以通过回答设置的安全问题来登录新设备",
"问题一": "问题一",
"问题二": "问题二",
"问题三": "问题三",
"请输入你的答案": "请输入你的答案",
"即将到期": "即将到期",
"修改名称": "修改名称",
"去授权": "去授权",
"状态": "状态",
"WiFi名称": "WiFi名称",
"网络MAC": "网络MAC",
"网关升级": "网关升级",
"网关连接的锁": "网关连接的锁",
"信号强": "信号强",
"选择网关类型": "选择网关类型",
"添加网关": "添加网关",
"重新通电": "重新通电",
"指示灯": "指示灯",
"将网关重新通电,指示灯交替闪烁时点击下一步": "将网关重新通电,指示灯交替闪烁时点击下一步",
"选择网关": "选择网关",
"不支持5G WiFi网络请选择2.4G WiFi网络进行配置": "不支持5G WiFi网络请选择2.4G WiFi网络进行配置",
"WiFi密码": "WiFi密码",
"请输入WiFi密码": "请输入WiFi密码",
"网关名称": "网关名称",
"请输入网关名称": "请输入网关名称",
"IP地址": "IP地址",
"子网掩码": "子网掩码",
"默认网关": "默认网关",
"自动获取DNS服务器地址": "自动获取DNS服务器地址",
"首选DNS": "首选DNS",
"备选DNS": "备选DNS",
"不使用静态IP": "不使用静态IP",
"所有锁": "所有锁",
"搜索所有锁类型": "搜索所有锁类型",
"门锁": "门锁",
"挂锁": "挂锁",
"保险箱锁": "保险箱锁",
"智能门禁": "智能门禁",
"车位锁": "车位锁",
"摸亮触摸屏": "摸亮触摸屏",
"摸亮触摸屏,锁进入可添加状态,点击下一步": "摸亮触摸屏,锁进入可添加状态,点击下一步",
"附近的锁": "附近的锁",
"如需修改名字请重新命名,点击确定添加锁": "如需修改名字请重新命名,点击确定添加锁",
"添加锁时,手机必须在锁旁边": "添加锁时,手机必须在锁旁边",
"登录": "登录",
"注册": "注册",
"我已阅读并同意": "我已阅读并同意",
"验证码": "验证码",
"密码必须是8-20位至少包括数字/字母/符号中的2种": "密码必须是8-20位至少包括数字/字母/符号中的2种",
"手机": "手机",
"邮箱": "邮箱",
"请输入邮箱": "请输入邮箱",
"国家/地区": "国家/地区",
"你所在的国家/地区": "你所在的国家/地区",
"选择国家/地区": "你所在的国家/地区",
"获取验证码": "获取验证码",
"商务合作": "商务合作",
"电脑网页版": "电脑网页版",
"酒店系统": "酒店系统",
"说明书网页版": "说明书网页版",
"高级功能": "高级功能",
"记录保存": "记录保存",
"您可通过短信将密码、电子钥匙信息发给接收人。": "您可通过短信将密码、电子钥匙信息发给接收人。",
"您可通过邮件将密码、电子钥匙信息发给接收人。": "您可通过邮件将密码、电子钥匙信息发给接收人。",
"购买实名认证提示": "给用户发送电子钥匙时,可以要求其开锁前先进行人脸识别,以保证是他本人在操作。人脸实名认证调用国家公安系统接口,为付费功能,请购买次数后再使用。",
"请选择你希望的实名认证频次": "请选择你希望的实名认证频次",
"仅首次": "仅首次",
"每日一次": "每日一次",
"每周一次": "每周一次",
"每月一次": "每月一次",
"当前状态": "当前状态",
"试用中": "试用中",
"高级功能权益内容": "高级功能权益内容",
"短信模板": "短信模板",
"邮件模板": "邮件模板",
"发卡工具": "发卡工具",
"购买高级功能须知": "购买高级功能须知",
"购买高级功能提示": "更多的高级功能正在开发中,如果您需要这些功能,欢迎根据锁的数量开通服务。高级功能仅能用于您自己的锁。如果您是授权管理员,请联系锁的最高管理员开通服务。",
"免费体验": "免费体验",
"立即开通": "立即开通",
"buySMS": "购买短信",
"buyMail": "购买邮件",
"buyRealNameAuthenticationTimes": "购买实名认证次数",

View File

@ -59,7 +59,7 @@ class _StarLockForgetPasswordPageState
SizedBox(width: 5.w),
Expanded(
child: Text(
TranslationLoader.lanKeys!.countryAndRegion!.tr,
'国家/地区'.tr,
style: TextStyle(
fontSize: 26.sp, color: AppColors.blackColor))),
SizedBox(width: 20.w),
@ -134,7 +134,7 @@ class _StarLockForgetPasswordPageState
]),
SizedBox(height: 15.w),
Text(
TranslationLoader.lanKeys!.registerPasswordTip!.tr,
'密码必须是8-20位至少包括数字/字母/符号中的2种'.tr,
style: TextStyle(
color: AppColors.placeholderTextColor, fontSize: 20.sp),
),

View File

@ -5,6 +5,10 @@ import 'package:get/get.dart';
import '../../translations/trans_lib.dart';
class StarLockForgetPasswordState {
StarLockForgetPasswordState() {
resetResend();
}
final TextEditingController phoneController = TextEditingController();
final TextEditingController pwdController = TextEditingController();
final TextEditingController sureController = TextEditingController();
@ -14,36 +18,32 @@ class StarLockForgetPasswordState {
return DateTime.now().millisecondsSinceEpoch;
}
var countryCode = "86".obs;
var countryName = '中国'.tr.obs;
var codeType = '2'.obs; // 1: 2:
var pwd = ''.obs;
var surePwd = ''.obs;
var verificationCode = ''.obs;
var xWidth = ''.obs; //
var canSub = false.obs;
var phoneStr = ''.obs;
var phoneStrIsOK = false.obs;
var date = currentTimeMillis().toString().obs;
RxString countryCode = '86'.obs;
RxString countryName = '中国'.tr.obs;
RxString codeType = '2'.obs; // 1: 2:
RxString pwd = ''.obs;
RxString surePwd = ''.obs;
RxString verificationCode = ''.obs;
RxString xWidth = ''.obs; //
RxBool canSub = false.obs;
RxString phoneStr = ''.obs;
RxBool phoneStrIsOK = false.obs;
RxString date = currentTimeMillis().toString().obs;
// bool get isIphone => RegexUtil.isMobileSimple(phoneStr.value);
bool get pwdIsOK => pwd.value.isNotEmpty && (pwd.value == surePwd.value);
bool get codeIsOK => verificationCode.value.isNotEmpty;
var canResend = false.obs;
var btnText = ''.obs;
var totalSeconds = 120;
var currentSecond = 120;
StarLockForgetPasswordState() {
resetResend();
}
RxBool canResend = false.obs;
RxString btnText = ''.obs;
int totalSeconds = 120;
int currentSecond = 120;
void resetResend() {
canResend.value = totalSeconds == currentSecond;
btnText.value = !canResend.value
? '$currentSecond s'
: btnText.value = TranslationLoader.lanKeys!.getVerificationCode!.tr;
: btnText.value = '获取验证码'.tr;
}
void onClose() {

View File

@ -57,7 +57,7 @@ class _StarLockForgetPasswordPageState
child: Row(
children: <Widget>[
SizedBox(width: 5.w),
Text(TranslationLoader.lanKeys!.countryAndRegion!.tr,
Text('国家/地区'.tr,
style: TextStyle(
fontSize: 26.sp, color: AppColors.blackColor)),
SizedBox(width: 60.w),
@ -108,7 +108,7 @@ class _StarLockForgetPasswordPageState
LengthLimitingTextInputFormatter(20),
]),
Text(
TranslationLoader.lanKeys!.registerPasswordTip!.tr,
'密码必须是8-20位至少包括数字/字母/符号中的2种'.tr,
style: TextStyle(
color: AppColors.placeholderTextColor, fontSize: 20.sp),
),

View File

@ -43,7 +43,7 @@ class _StarLockLoginPageState extends State<StarLockLoginPage> {
resizeToAvoidBottomInset: false,
backgroundColor: const Color(0xFFFFFFFF),
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.login!.tr,
barTitle: '登录'.tr,
haveBack: false,
backgroundColor: AppColors.mainColor,
actionsList: <Widget>[
@ -55,7 +55,7 @@ class _StarLockLoginPageState extends State<StarLockLoginPage> {
)),
TextButton(
child: Text(
TranslationLoader.lanKeys!.register!.tr,
'注册'.tr,
style: TextStyle(color: Colors.white, fontSize: 24.sp),
),
onPressed: () async {
@ -82,7 +82,7 @@ class _StarLockLoginPageState extends State<StarLockLoginPage> {
SizedBox(height: 50.w),
Obx(() => CommonItem(
leftTitel:
"${"你所在的".tr}${TranslationLoader.lanKeys!.countryAndRegion!.tr}",
'你所在的国家/地区'.tr,
rightTitle: '',
isHaveLine: true,
isPadding: false,
@ -175,7 +175,7 @@ class _StarLockLoginPageState extends State<StarLockLoginPage> {
Flexible(
child: RichText(
text: TextSpan(
text: TranslationLoader.lanKeys!.readAndAgree!.tr,
text: '我已阅读并同意'.tr,
style: TextStyle(
color: const Color(0xff333333), fontSize: 20.sp),
children: <InlineSpan>[
@ -183,7 +183,7 @@ class _StarLockLoginPageState extends State<StarLockLoginPage> {
alignment: PlaceholderAlignment.middle,
child: GestureDetector(
child: Text(
'${TranslationLoader.lanKeys!.userAgreement!.tr}',
'${'用户协议'.tr}',
style: TextStyle(
color: AppColors.mainColor,
fontSize: 20.sp)),
@ -199,7 +199,7 @@ class _StarLockLoginPageState extends State<StarLockLoginPage> {
alignment: PlaceholderAlignment.middle,
child: GestureDetector(
child: Text(
'${TranslationLoader.lanKeys!.privacyPolicy!.tr}',
'${'隐私政策'.tr}',
style: TextStyle(
color: AppColors.mainColor,
fontSize: 20.sp)),
@ -218,7 +218,7 @@ class _StarLockLoginPageState extends State<StarLockLoginPage> {
),
SizedBox(height: 50.w),
Obx(() => SubmitBtn(
btnName: TranslationLoader.lanKeys!.login!.tr,
btnName: '登录'.tr,
fontSize: 28.sp,
borderRadius: 20.w,
padding: EdgeInsets.only(top: 25.w, bottom: 25.w),
@ -244,7 +244,7 @@ class _StarLockLoginPageState extends State<StarLockLoginPage> {
// color: Colors.red,
child: Center(
child: Text(
'${TranslationLoader.lanKeys!.forgetPassword!.tr}',
'${'忘记密码'.tr}',
style: TextStyle(
fontSize: 22.sp, color: AppColors.mainColor)),
),

View File

@ -91,7 +91,7 @@ class _StarLockLoginPageState extends State<StarLockLoginXHJPage> {
width: 5.w,
),
Text(
TranslationLoader.lanKeys!.countryAndRegion!.tr,
'国家/地区'.tr,
style: TextStyle(
fontSize: 22.sp,
color: AppColors.darkGrayTextColor),
@ -180,13 +180,13 @@ class _StarLockLoginPageState extends State<StarLockLoginXHJPage> {
),
),
Row(children: <Widget>[
Text(TranslationLoader.lanKeys!.readAndAgree!.tr,
Text('我已阅读并同意'.tr,
style: TextStyle(
color: const Color(0xff333333),
fontSize: 20.sp)),
GestureDetector(
child: Text(
'${TranslationLoader.lanKeys!.userAgreement!.tr}',
'${'用户协议'.tr}',
style: TextStyle(
color: AppColors.mainColor,
fontSize: 20.sp)),
@ -200,7 +200,7 @@ class _StarLockLoginPageState extends State<StarLockLoginXHJPage> {
),
GestureDetector(
child: Text(
'${TranslationLoader.lanKeys!.privacyPolicy!.tr}',
'${'隐私政策'.tr}',
style: TextStyle(
color: AppColors.mainColor,
fontSize: 20.sp)),
@ -224,7 +224,7 @@ class _StarLockLoginPageState extends State<StarLockLoginXHJPage> {
children: <Widget>[
SizedBox(height: 5.w),
Obx(() => SubmitBtn(
btnName: TranslationLoader.lanKeys!.login!.tr,
btnName: '登录'.tr,
fontSize: 28.sp,
borderRadius: 20.w,
padding: EdgeInsets.only(top: 25.w, bottom: 25.w),
@ -258,7 +258,7 @@ class _StarLockLoginPageState extends State<StarLockLoginXHJPage> {
style: ElevatedButton.styleFrom(
backgroundColor: AppColors.mainColor),
child: Text(
TranslationLoader.lanKeys!.register!.tr,
'注册'.tr,
style:
TextStyle(fontSize: 22.sp, color: Colors.white),
),
@ -275,7 +275,7 @@ class _StarLockLoginPageState extends State<StarLockLoginXHJPage> {
// color: Colors.red,
child: Center(
child: Text(
'${TranslationLoader.lanKeys!.forgetPassword!.tr}',
'${'忘记密码'.tr}',
style: TextStyle(
fontSize: 22.sp,
color: AppColors.mainColor)),

View File

@ -32,7 +32,7 @@ class _StarLockRegisterPageState extends State<StarLockRegisterPage> {
resizeToAvoidBottomInset: false,
backgroundColor: const Color(0xFFFFFFFF),
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.register!.tr,
barTitle: '注册'.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: ListView(
@ -42,7 +42,7 @@ class _StarLockRegisterPageState extends State<StarLockRegisterPage> {
middleTFWidget(),
Obx(() {
return SubmitBtn(
btnName: TranslationLoader.lanKeys!.register!.tr,
btnName: '注册'.tr,
// backgroundColorList: state.canSub.value ? [AppColors.mainColor] :[Colors.grey],
fontSize: 30.sp,
borderRadius: 20.w,
@ -101,7 +101,7 @@ class _StarLockRegisterPageState extends State<StarLockRegisterPage> {
: null,
child: Center(
child: Text(
TranslationLoader.lanKeys!.iphone!.tr,
'手机'.tr,
style: TextStyle(
color: state.isIphoneType.value
? Colors.white
@ -127,7 +127,7 @@ class _StarLockRegisterPageState extends State<StarLockRegisterPage> {
color: AppColors.greyLineColor)),
child: Center(
child: Text(
TranslationLoader.lanKeys!.email!.tr,
'邮箱'.tr,
style: TextStyle(
color: state.isIphoneType.value
? Colors.black
@ -160,7 +160,7 @@ class _StarLockRegisterPageState extends State<StarLockRegisterPage> {
SizedBox(width: 5.w),
Expanded(
child: Text(
"${"你所在的".tr}${TranslationLoader.lanKeys!.countryAndRegion!.tr}",
'你所在的国家/地区'.tr,
style: TextStyle(
fontSize: 26.sp, color: AppColors.blackColor))),
SizedBox(width: 20.w),
@ -216,7 +216,7 @@ class _StarLockRegisterPageState extends State<StarLockRegisterPage> {
),
),
hintText:
"${"请输入".tr}${state.isIphoneType.value ? "手机号".tr : TranslationLoader.lanKeys!.email!.tr}",
state.isIphoneType.value ? '请输入手机号'.tr : '请输入邮箱'.tr,
keyboardType: TextInputType.number,
inputFormatters: <TextInputFormatter>[
// FilteringTextInputFormatter.allow(RegExp('[0-9]')),
@ -244,7 +244,7 @@ class _StarLockRegisterPageState extends State<StarLockRegisterPage> {
]),
SizedBox(height: 15.w),
Text(
TranslationLoader.lanKeys!.registerPasswordTip!.tr,
'密码必须是8-20位至少包括数字/字母/符号中的2种'.tr,
style:
TextStyle(color: AppColors.placeholderTextColor, fontSize: 20.sp),
),
@ -357,14 +357,14 @@ class _StarLockRegisterPageState extends State<StarLockRegisterPage> {
Flexible(
child: RichText(
text: TextSpan(
text: TranslationLoader.lanKeys!.readAndAgree!.tr,
text: '我已阅读并同意'.tr,
style: TextStyle(color: const Color(0xff333333), fontSize: 20.sp),
children: <InlineSpan>[
WidgetSpan(
alignment: PlaceholderAlignment.middle,
child: GestureDetector(
child: Text(
'${TranslationLoader.lanKeys!.userAgreement!.tr}',
'${'用户协议'.tr}',
style: TextStyle(
color: AppColors.mainColor, fontSize: 20.sp)),
onTap: () {
@ -378,7 +378,7 @@ class _StarLockRegisterPageState extends State<StarLockRegisterPage> {
alignment: PlaceholderAlignment.middle,
child: GestureDetector(
child: Text(
'${TranslationLoader.lanKeys!.privacyPolicy!.tr}',
'${'隐私政策'.tr}',
style: TextStyle(
color: AppColors.mainColor, fontSize: 20.sp)),
onTap: () {

View File

@ -42,7 +42,7 @@ class StarLockRegisterState {
canResend.value = totalSeconds == currentSecond;
btnText.value = !canResend.value
? '$currentSecond s'
: btnText.value = TranslationLoader.lanKeys!.getVerificationCode!.tr;
: btnText.value = '获取验证码'.tr;
}
void onClose() {

View File

@ -31,7 +31,7 @@ class _StarLockRegisterPageState extends State<StarLockRegisterXHJPage> {
resizeToAvoidBottomInset: false,
backgroundColor: Colors.white,
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.register!.tr,
barTitle: '注册'.tr,
haveBack: true,
iconColor: AppColors.blackColor,
titleColor: AppColors.blackColor,
@ -47,7 +47,7 @@ class _StarLockRegisterPageState extends State<StarLockRegisterXHJPage> {
),
Obx(() {
return SubmitBtn(
btnName: TranslationLoader.lanKeys!.register!.tr,
btnName: '注册'.tr,
// backgroundColorList: state.canSub.value ? [AppColors.mainColor] :[Colors.grey],
fontSize: 30.sp,
borderRadius: 20.w,
@ -85,8 +85,8 @@ class _StarLockRegisterPageState extends State<StarLockRegisterXHJPage> {
dividerHeight: 0,
indicatorSize: TabBarIndicatorSize.tab,
tabs: <Widget>[
Text(TranslationLoader.lanKeys!.iphone!.tr),
Text(TranslationLoader.lanKeys!.email!.tr)
Text('手机'.tr),
Text('邮箱'.tr)
],
indicatorColor: AppColors.mainColor,
labelStyle:
@ -116,7 +116,7 @@ class _StarLockRegisterPageState extends State<StarLockRegisterXHJPage> {
child: Row(
children: <Widget>[
SizedBox(width: 5.w),
Text(TranslationLoader.lanKeys!.countryAndRegion!.tr,
Text('国家/地区'.tr,
style: TextStyle(
fontSize: 26.sp, color: AppColors.blackColor)),
SizedBox(width: 50.w),
@ -144,8 +144,7 @@ class _StarLockRegisterPageState extends State<StarLockRegisterXHJPage> {
logic.checkNext(state.phoneOrEmailController);
},
leftWidget: SizedBox(),
label:
"${'请输入'.tr}${state.isIphoneType.value ? "手机号".tr : TranslationLoader.lanKeys!.email!.tr}",
label:state.isIphoneType.value ? '请输入手机号'.tr : '请输入邮箱'.tr,
keyboardType: TextInputType.number,
inputFormatters: <TextInputFormatter>[
LengthLimitingTextInputFormatter(30),
@ -162,9 +161,9 @@ class _StarLockRegisterPageState extends State<StarLockRegisterXHJPage> {
LengthLimitingTextInputFormatter(20),
]),
Text(
TranslationLoader.lanKeys!.registerPasswordTip!.tr,
'密码必须是8-20位至少包括数字/字母/符号中的2种'.tr,
style:
TextStyle(color: AppColors.placeholderTextColor, fontSize: 20.sp),
TextStyle(color: AppColors.placeholderTextColor, fontSize: 20.sp),
),
LoginInput(
controller: state.sureController,
@ -258,7 +257,7 @@ class _StarLockRegisterPageState extends State<StarLockRegisterXHJPage> {
Flexible(
child: RichText(
text: TextSpan(
text: TranslationLoader.lanKeys!.readAndAgree!.tr,
text: '我已阅读并同意'.tr,
style:
TextStyle(color: const Color(0xff333333), fontSize: 20.sp),
children: <InlineSpan>[
@ -266,7 +265,7 @@ class _StarLockRegisterPageState extends State<StarLockRegisterXHJPage> {
alignment: PlaceholderAlignment.middle,
child: GestureDetector(
child: Text(
'${TranslationLoader.lanKeys!.userAgreement!.tr}',
'${'用户协议'.tr}',
style: TextStyle(
color: AppColors.mainColor, fontSize: 20.sp)),
onTap: () {
@ -280,7 +279,7 @@ class _StarLockRegisterPageState extends State<StarLockRegisterXHJPage> {
alignment: PlaceholderAlignment.middle,
child: GestureDetector(
child: Text(
'${TranslationLoader.lanKeys!.privacyPolicy!.tr}',
'${'隐私政策'.tr}',
style: TextStyle(
color: AppColors.mainColor, fontSize: 20.sp)),
onTap: () {

View File

@ -85,7 +85,7 @@ class _SelectCountryRegionPageState extends State<SelectCountryRegionPage> {
backgroundColor: const Color(0xFFFFFFFF),
appBar: TitleAppBar(
barTitle:
'${TranslationLoader.lanKeys!.select!.tr} ${TranslationLoader.lanKeys!.countryAndRegion!.tr}',
'选择国家/地区'.tr,
haveBack: true,
backgroundColor: AppColors.mainColor,
),

View File

@ -57,7 +57,7 @@ class _AuthorizedAdminPageState extends State<AuthorizedAdminPage>
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.authorizedAdmin!.tr,
barTitle: '授权管理员'.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: Column(
@ -114,7 +114,7 @@ class _AuthorizedAdminPageState extends State<AuthorizedAdminPage>
isHaveRightWidget: true,
rightWidget: getTFWidget(true, '请输入手机号或者邮箱'.tr, 1)),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.countryAndRegion!.tr,
leftTitel: '国家/地区'.tr,
rightTitle: '',
isHaveLine: true,
isHaveRightWidget: true,

View File

@ -54,7 +54,7 @@ class _AuthorizedAdminListPageState extends State<AuthorizedAdminListPage> {
backgroundColor: AppColors.mainBackgroundColor,
resizeToAvoidBottomInset: false,
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.authorizedAdmin!.tr,
barTitle: '授权管理员'.tr,
haveBack: true,
backgroundColor: AppColors.mainColor,
),
@ -73,7 +73,7 @@ class _AuthorizedAdminListPageState extends State<AuthorizedAdminListPage> {
height: 20.h,
),
AddBottomWhiteBtn(
btnName: TranslationLoader.lanKeys!.addAuthorizedAdmin!.tr,
btnName: '添加授权管理员'.tr,
onClick: () {
Navigator.pushNamed(context, Routers.authorizedAdminPage)
.then((Object? val) {

View File

@ -94,7 +94,7 @@ class _VolumeAuthorizationLockPageState
'请输入手机号或者邮箱'.tr,
state.emailOrPhoneController)),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.countryAndRegion!.tr,
leftTitel: '国家/地区'.tr,
rightTitle: '',
isHaveLine: true,
isHaveRightWidget: true,

View File

@ -286,7 +286,7 @@ class _AddCardPageState extends State<AddCardPage>
)),
SizedBox(height: 30.h),
SubmitBtn(
btnName: TranslationLoader.lanKeys!.next!.tr,
btnName: '下一步'.tr,
onClick: () async {
final bool? isDemoMode = await Storage.getBool(ifIsDemoModeOrNot);
if (isDemoMode == false) {

View File

@ -113,8 +113,7 @@ class _CheckingInAddStaffPageState extends State<CheckingInAddStaffPage> {
'请输入员工账号'.tr,
state.staffAccountController)),
CommonItem(
leftTitel:
TranslationLoader.lanKeys!.countryAndRegion!.tr,
leftTitel:'国家/地区'.tr,
rightTitle: '',
isHaveLine: true,
isHaveRightWidget: true,

View File

@ -174,7 +174,7 @@ class _MassSendElectronicKeyPageState extends State<MassSendElectronicKeyPage> {
},
)),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.countryAndRegion!.tr,
leftTitel: '国家/地区'.tr,
rightTitle: '',
isHaveLine: true,
isHaveRightWidget: true,

View File

@ -111,7 +111,7 @@ class _MassSendReceiverPageState extends State<MassSendReceiverPage> {
Obx(() => Visibility(
visible: state.isVip.value,
child: CommonItem(
leftTitel: TranslationLoader.lanKeys!.countryAndRegion!.tr,
leftTitel: '国家/地区'.tr,
rightTitle: '',
isHaveLine: true,
isHaveRightWidget: true,

View File

@ -116,7 +116,7 @@ class _SendElectronicKeyViewState extends State<SendElectronicKeyView>
1,
logic)),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.countryAndRegion!.tr,
leftTitel: '国家/地区'.tr,
rightTitle: '',
isHaveLine: true,
isHaveRightWidget: true,

View File

@ -270,7 +270,7 @@ class _AddFaceTypePageState extends State<AddFaceTypePage> with SingleTickerProv
width: 60.w, height: 50.h, child: _isAdmin())))),
SizedBox(height: 30.h),
SubmitBtn(
btnName: TranslationLoader.lanKeys!.next!.tr,
btnName: '下一步'.tr,
onClick: () async {
final bool? isDemoMode = await Storage.getBool(ifIsDemoModeOrNot);
if (isDemoMode == false) {

View File

@ -277,7 +277,7 @@ class _AddFingerprintTypePageState extends State<AddFingerprintTypePage> with Si
),
SizedBox(height: 30.h),
SubmitBtn(
btnName: TranslationLoader.lanKeys!.next!.tr,
btnName: '下一步'.tr,
onClick: () async {
final bool? isDemoMode = await Storage.getBool(ifIsDemoModeOrNot);
if (isDemoMode == false) {

View File

@ -256,7 +256,7 @@ class _AddIrisTypePageState extends State<AddIrisTypePage> {
SizedBox(width: 60.w, height: 50.h, child: _isAdmin())))),
SizedBox(height: 30.h),
SubmitBtn(
btnName: TranslationLoader.lanKeys!.next!.tr,
btnName: '下一步'.tr,
onClick: () async {
final bool? isDemoMode = await Storage.getBool(ifIsDemoModeOrNot);
if (isDemoMode == false) {

View File

@ -134,7 +134,7 @@ class _LockDetailPageState extends State<LockDetailPage>
child: bottomWidget()),
btnText(
img: 'images/main/icon_main_set.png',
text: TranslationLoader.lanKeys!.set!.tr,
text: '设置'.tr,
onTap: () {
if (state.openDoorBtnisUneable.value == false) {
return;
@ -779,7 +779,7 @@ class _LockDetailPageState extends State<LockDetailPage>
state.keyInfos.value.isLockOwner == 1
? TranslationLoader.lanKeys!.superAdmin!.tr
: (state.keyInfos.value.keyRight == 1
? TranslationLoader.lanKeys!.authorizedAdmin!.tr
? '授权管理员'.tr
: TranslationLoader.lanKeys!.normalUser!.tr),
style: TextStyle(fontSize: 20.sp, color: AppColors.darkGrayTextColor),
),
@ -1016,7 +1016,7 @@ class _LockDetailPageState extends State<LockDetailPage>
//
if (F.isSKY) {
showWidgetArr.add(bottomItem('images/main/icon_main_set.png',
TranslationLoader.lanKeys!.set!.tr, true, () {
'设置'.tr, true, () {
Get.toNamed(Routers.lockSetPage, arguments: <String, Object?>{
'lockId': state.keyInfos.value.lockId,
'isOnlyOneData': state.isOnlyOneData
@ -1153,7 +1153,7 @@ class _LockDetailPageState extends State<LockDetailPage>
if (state.keyInfos.value.isLockOwner == 1) {
showWidgetArr.add(bottomItem(
'images/main/icon_main_authorizedAdmin.png',
TranslationLoader.lanKeys!.authorizedAdmin!.tr,
'授权管理员'.tr,
state.bottomBtnisEable.value, () {
Get.toNamed(Routers.authorizedAdminListPage,
arguments: <String, LockListInfoItemEntity>{
@ -1206,7 +1206,7 @@ class _LockDetailPageState extends State<LockDetailPage>
endWiddget.add(
//
bottomItem('images/main/icon_main_set.png',
TranslationLoader.lanKeys!.set!.tr, true, () {
'设置'.tr, true, () {
// logic.clickItemBtnAction(10);
Get.toNamed(Routers.lockSetPage, arguments: <String, Object?>{
'lockId': state.keyInfos.value.lockId,

View File

@ -27,7 +27,7 @@ class _EditLockNamePageState extends State<EditLockNamePage> {
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.changeName!.tr,
barTitle: '修改名称'.tr,
haveBack: true,
backgroundColor: AppColors.mainColor,
actionsList: <Widget>[

View File

@ -54,7 +54,7 @@ class _BurglarAlarmPageState extends State<BurglarAlarmPage> with RouteAware{
children: <Widget>[
Expanded(
child: Text(
"${"当前模式".tr} : ${state.burglarAlarmEnable.value == 1 ? TranslationLoader.lanKeys!.opened!.tr : TranslationLoader.lanKeys!.closed!.tr}",
"${"当前模式".tr} : ${state.burglarAlarmEnable.value == 1 ? '已开启'.tr : '已关闭'.tr}",
style:
TextStyle(fontSize: 22.sp, fontWeight: FontWeight.w600),
)),
@ -64,7 +64,7 @@ class _BurglarAlarmPageState extends State<BurglarAlarmPage> with RouteAware{
height: 40.h,
),
Obx(() => SubmitBtn(
btnName: state.burglarAlarmEnable.value == 1 ? TranslationLoader.lanKeys!.close!.tr : TranslationLoader.lanKeys!.open!.tr,
btnName: state.burglarAlarmEnable.value == 1 ? '关闭'.tr : '开启'.tr,
borderRadius: 20.w,
fontSize: 32.sp,
// margin: EdgeInsets.only(left: 03.w, right: 30.w, top: 20.w),

View File

@ -4,6 +4,7 @@ import 'package:flutter/services.dart';
import 'package:flutter_easyloading/flutter_easyloading.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:star_lock/main/lockDetail/lockSet/configuringWifi/configuringWifi/configuringWifi_state.dart';
import '../../../../../app_settings/app_colors.dart';
import '../../../../../blue/blue_manage.dart';
@ -22,8 +23,8 @@ class ConfiguringWifiPage extends StatefulWidget {
}
class _ConfiguringWifiPageState extends State<ConfiguringWifiPage> with RouteAware {
final logic = Get.put(ConfiguringWifiLogic());
final state = Get.find<ConfiguringWifiLogic>().state;
final ConfiguringWifiLogic logic = Get.put(ConfiguringWifiLogic());
final ConfiguringWifiState state = Get.find<ConfiguringWifiLogic>().state;
@override
Widget build(BuildContext context) {
@ -34,10 +35,10 @@ class _ConfiguringWifiPageState extends State<ConfiguringWifiPage> with RouteAwa
haveBack: true,
backgroundColor: AppColors.mainColor),
body: Column(
children: [
configuringWifiTFWidget(TranslationLoader.lanKeys!.wifiName!.tr, TranslationLoader.lanKeys!.pleaseEnterWifiName!.tr, state.wifiNameController),
children: <Widget>[
configuringWifiTFWidget('WiFi名称'.tr, TranslationLoader.lanKeys!.pleaseEnterWifiName!.tr, state.wifiNameController),
Container(width: 1.sw, height: 1.h,color: AppColors.mainBackgroundColor),
configuringWifiTFWidget(TranslationLoader.lanKeys!.wifiPassward!.tr, TranslationLoader.lanKeys!.pleaseEnterWifiPwd!.tr, state.wifiPWDController),
configuringWifiTFWidget('请输入WiFi密码', TranslationLoader.lanKeys!.pleaseEnterWifiPwd!.tr, state.wifiPWDController),
SizedBox(height: 50.h,),
SubmitBtn(btnName: '确定'.tr, onClick: () {
logic.senderConfiguringWifiAction();
@ -49,11 +50,11 @@ class _ConfiguringWifiPageState extends State<ConfiguringWifiPage> with RouteAwa
Widget configuringWifiTFWidget(
String titleStr, String rightTitle,TextEditingController controller) {
return Column(
children: [
children: <Widget>[
Container(height: 10.h),
CommonItem(
leftTitel: titleStr,
rightTitle: "",
rightTitle: '',
isHaveRightWidget: true,
rightWidget: getTFWidget(rightTitle, controller)),
Container(height: 10.h),
@ -67,7 +68,7 @@ class _ConfiguringWifiPageState extends State<ConfiguringWifiPage> with RouteAwa
height: 65.h,
width: 300.w,
child: Row(
children: [
children: <Widget>[
Expanded(
child: TextField(
//
@ -112,7 +113,6 @@ class _ConfiguringWifiPageState extends State<ConfiguringWifiPage> with RouteAwa
@override
void didChangeDependencies() {
// TODO: implement didChangeDependencies
super.didChangeDependencies();
///
@ -121,7 +121,6 @@ class _ConfiguringWifiPageState extends State<ConfiguringWifiPage> with RouteAwa
@override
void dispose() {
// TODO: implement dispose
///
AppRouteObserver().routeObserver.unsubscribe(this);
super.dispose();

View File

@ -72,7 +72,7 @@ class _AddDoorMagneticPageState extends State<AddDoorMagneticPage> {
Container(
margin: EdgeInsets.only(left: 20.w, right: 20.w),
child: SubmitBtn(
btnName: TranslationLoader.lanKeys!.next!.tr,
btnName: '下一步'.tr,
onClick: () {
Navigator.pushNamed(context, Routers.nearbyDoorMagneticPage);
}),

View File

@ -58,7 +58,7 @@ class _LockSetPageState extends State<LockSetPage> with WidgetsBindingObserver,
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.set!.tr,
barTitle: '设置'.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: EasyRefreshTool(
@ -112,7 +112,7 @@ class _LockSetPageState extends State<LockSetPage> with WidgetsBindingObserver,
leftTitel: '自动闭锁'.tr,
rightTitle: (state.lockSettingInfo.value.autoLock ?? 0) > 0
? '${state.lockSetInfoData.value.lockSettingInfo!.autoLockSecond ?? 0}s'
: TranslationLoader.lanKeys!.closed!.tr,
: '已关闭'.tr,
isHaveLine: true,
isHaveDirection: true,
// isHaveRightWidget: true,
@ -132,8 +132,8 @@ class _LockSetPageState extends State<LockSetPage> with WidgetsBindingObserver,
child: CommonItem(
leftTitel: '常开模式'.tr,
rightTitle: (state.lockSettingInfo.value.passageMode ?? 0) == 1
? TranslationLoader.lanKeys!.opened!.tr
: TranslationLoader.lanKeys!.closed!.tr,
? '已开启'.tr
: '已关闭'.tr,
isHaveLine: true,
isHaveDirection: true,
action: () {
@ -250,7 +250,7 @@ class _LockSetPageState extends State<LockSetPage> with WidgetsBindingObserver,
leftTitel: '自动闭锁'.tr,
rightTitle: state.lockSettingInfo.value.autoLock! > 0
? '${state.lockSetInfoData.value.lockSettingInfo!.autoLockSecond}s'
: TranslationLoader.lanKeys!.closed!.tr,
: '已关闭'.tr,
isHaveLine: true,
isHaveDirection: true,
// isHaveRightWidget: true,
@ -285,7 +285,7 @@ class _LockSetPageState extends State<LockSetPage> with WidgetsBindingObserver,
break;
}
} else {
titleStr = TranslationLoader.lanKeys!.closed!.tr;
titleStr = '已关闭'.tr;
}
return Visibility(
visible: state.lockFeature.value.lockSound == 1,
@ -307,8 +307,8 @@ class _LockSetPageState extends State<LockSetPage> with WidgetsBindingObserver,
child: CommonItem(
leftTitel: '防撬报警'.tr,
rightTitle: (state.lockSettingInfo.value.antiPrySwitch ?? 0) == 1
? TranslationLoader.lanKeys!.opened!.tr
: TranslationLoader.lanKeys!.closed!.tr,
? '已开启'.tr
: '已关闭'.tr,
isHaveLine: true,
isHaveDirection: true,
action: () {
@ -325,8 +325,8 @@ class _LockSetPageState extends State<LockSetPage> with WidgetsBindingObserver,
child: CommonItem(
leftTitel: '常开模式'.tr,
rightTitle: (state.lockSettingInfo.value.passageMode ?? 0) == 1
? TranslationLoader.lanKeys!.opened!.tr
: TranslationLoader.lanKeys!.closed!.tr,
? '已开启'.tr
: '已关闭'.tr,
isHaveLine: true,
isHaveDirection: true,
action: () {
@ -341,8 +341,8 @@ class _LockSetPageState extends State<LockSetPage> with WidgetsBindingObserver,
child: CommonItem(
leftTitel: '远程开锁'.tr,
rightTitle: (state.lockSettingInfo.value.remoteUnlock ?? 0) == 1
? TranslationLoader.lanKeys!.opened!.tr
: TranslationLoader.lanKeys!.closed!.tr,
? '已开启'.tr
: '已关闭'.tr,
isHaveLine: true,
isHaveDirection: true,
action: () {
@ -358,8 +358,8 @@ class _LockSetPageState extends State<LockSetPage> with WidgetsBindingObserver,
child: CommonItem(
leftTitel: '重置键'.tr,
rightTitle: (state.lockSettingInfo.value.resetSwitch ?? 0) == 1
? TranslationLoader.lanKeys!.opened!.tr
: TranslationLoader.lanKeys!.closed!.tr,
? '已开启'.tr
: '已关闭'.tr,
isHaveLine: true,
isHaveDirection: true,
action: () {

View File

@ -56,7 +56,7 @@ class _RemoteUnlockingPageState extends State<RemoteUnlockingPage> with RouteAwa
children: <Widget>[
Expanded(
child: Text(
"${"当前模式".tr} : ${state.remoteEnable.value == 1 ? TranslationLoader.lanKeys!.opened!.tr : TranslationLoader.lanKeys!.closed!.tr}",
"${"当前模式".tr} : ${state.remoteEnable.value == 1 ? '已开启'.tr : '已关闭'.tr}",
style: TextStyle(
fontWeight: FontWeight.w600, fontSize: 22.sp),
)),
@ -68,8 +68,8 @@ class _RemoteUnlockingPageState extends State<RemoteUnlockingPage> with RouteAwa
),
Obx(() => SubmitBtn(
btnName: state.remoteEnable.value == 1
? TranslationLoader.lanKeys!.close!.tr
: TranslationLoader.lanKeys!.open!.tr,
? '关闭'.tr
: '开启'.tr,
onClick: () {
//
bool isContains = BlueManage().connectDeviceName.contains("T9A");

View File

@ -73,7 +73,7 @@ class _ResetButtonPageState extends State<ResetButtonPage> with RouteAware {
children: <Widget>[
Expanded(
child: Text(
"${"当前模式".tr} : ${state.resetButtonEnable.value == 1 ? TranslationLoader.lanKeys!.opened!.tr : TranslationLoader.lanKeys!.closed!.tr}",
"${"当前模式".tr} : ${state.resetButtonEnable.value == 1 ? '已开启'.tr : '已关闭'.tr}",
style: TextStyle(
fontWeight: FontWeight.w600, fontSize: 20.sp),
)),
@ -84,8 +84,8 @@ class _ResetButtonPageState extends State<ResetButtonPage> with RouteAware {
),
Obx(() => SubmitBtn(
btnName: state.resetButtonEnable.value == 1
? TranslationLoader.lanKeys!.close!.tr
: TranslationLoader.lanKeys!.open!.tr,
? '关闭'.tr
: '开启'.tr,
borderRadius: 20.w,
fontSize: 32.sp,
// margin: EdgeInsets.only(left: 03.w, right: 30.w, top: 20.w),
@ -93,7 +93,8 @@ class _ResetButtonPageState extends State<ResetButtonPage> with RouteAware {
onClick: () {
// showDeletAlertTipDialog(context);
ShowTipView().showIosTipWithContentDialog(
'确定要${state.resetButtonEnable.value == 1 ? TranslationLoader.lanKeys!.close!.tr : TranslationLoader.lanKeys!.open!.tr}重置键?',
state.resetButtonEnable.value == 1 ? '确定要关闭重置键?'.tr : '确定要开启重置键?'.tr,
// '确定要${state.resetButtonEnable.value == 1 ? '关闭'.tr : '开启'.tr}重置键?',
logic.sendBurglarAlarm);
})),
],

View File

@ -36,7 +36,7 @@ class _AddWirelessKeyboardPageState extends State<AddWirelessKeyboardPage> {
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
TranslationLoader.lanKeys!.lightTouchScreen!.tr,
'摸亮触摸屏'.tr,
style: TextStyle(fontSize: 24.sp, color: AppColors.blackColor),
),
],
@ -68,7 +68,7 @@ class _AddWirelessKeyboardPageState extends State<AddWirelessKeyboardPage> {
Container(
margin: EdgeInsets.only(left: 20.w, right: 20.w),
child: SubmitBtn(
btnName: TranslationLoader.lanKeys!.next!.tr,
btnName: '下一步'.tr,
onClick: () {
Navigator.pushNamed(
context, Routers.selectWirelessKeyboardPage);

View File

@ -81,7 +81,7 @@ class _AddWirelessKeyboardScreenNotLightOnPageState
Container(
margin: EdgeInsets.only(left: 20.w, right: 20.w),
child: SubmitBtn(
btnName: TranslationLoader.lanKeys!.next!.tr,
btnName: '下一步'.tr,
onClick: () {
Navigator.pushNamed(
context, Routers.selectWirelessKeyboardPage);

View File

@ -285,7 +285,7 @@ class _AddPalmTypePageState extends State<AddPalmTypePage> with SingleTickerProv
)),
SizedBox(height: 30.h),
SubmitBtn(
btnName: TranslationLoader.lanKeys!.next!.tr,
btnName: '下一步'.tr,
onClick: () async {
final bool? isDemoMode = await Storage.getBool(ifIsDemoModeOrNot);
if (isDemoMode == false) {

View File

@ -282,7 +282,7 @@ class _AddRemoteControlTypePageState extends State<AddRemoteControlTypePage> wit
// )),
SizedBox(height: 30.h),
SubmitBtn(
btnName: TranslationLoader.lanKeys!.next!.tr,
btnName: '下一步'.tr,
onClick: () async {
final bool? isDemoMode = await Storage.getBool(ifIsDemoModeOrNot);
if (isDemoMode == false) {

View File

@ -297,7 +297,7 @@ class _DemoModeLockDetailPageState extends State<DemoModeLockDetailPage> {
final List<Widget> endWiddget = <Widget>[
//
bottomItem('images/main/icon_main_authorizedAdmin.png',
TranslationLoader.lanKeys!.authorizedAdmin!.tr, () {
'授权管理员'.tr, () {
// gotoLogin();
Get.toNamed(Routers.authorizedAdminListPage,
@ -321,7 +321,7 @@ class _DemoModeLockDetailPageState extends State<DemoModeLockDetailPage> {
}),
//
bottomItem(
'images/main/icon_main_set.png', TranslationLoader.lanKeys!.set!.tr,
'images/main/icon_main_set.png', '设置'.tr,
() {
Get.toNamed(Routers.demoModeLockSetPage);
}),

View File

@ -28,7 +28,7 @@ class _DemoModeLockSetPageState extends State<DemoModeLockSetPage> {
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.set!.tr,
barTitle: '设置'.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: Column(
@ -95,7 +95,7 @@ class _DemoModeLockSetPageState extends State<DemoModeLockSetPage> {
//
CommonItem(
leftTitel: '自动闭锁'.tr,
rightTitle: TranslationLoader.lanKeys!.closed!.tr,
rightTitle: '已关闭'.tr,
isHaveLine: true,
isHaveDirection: true,
action: () {
@ -116,7 +116,7 @@ class _DemoModeLockSetPageState extends State<DemoModeLockSetPage> {
//
CommonItem(
leftTitel: '防撬报警'.tr,
rightTitle: TranslationLoader.lanKeys!.closed!.tr,
rightTitle: '已关闭'.tr,
isHaveLine: true,
isHaveDirection: true,
action: () {
@ -128,7 +128,7 @@ class _DemoModeLockSetPageState extends State<DemoModeLockSetPage> {
//
CommonItem(
leftTitel:'常开模式'.tr,
rightTitle: TranslationLoader.lanKeys!.closed!.tr,
rightTitle: '已关闭'.tr,
isHaveLine: true,
isHaveDirection: true,
action: () {
@ -138,7 +138,7 @@ class _DemoModeLockSetPageState extends State<DemoModeLockSetPage> {
//
CommonItem(
leftTitel: '远程开锁'.tr,
rightTitle: TranslationLoader.lanKeys!.closed!.tr,
rightTitle: '已关闭'.tr,
isHaveLine: true,
isHaveDirection: true,
action: () {
@ -149,7 +149,7 @@ class _DemoModeLockSetPageState extends State<DemoModeLockSetPage> {
//
CommonItem(
leftTitel: '重置键'.tr,
rightTitle: TranslationLoader.lanKeys!.closed!.tr,
rightTitle: '已关闭'.tr,
isHaveLine: true,
isHaveDirection: true,
action: () {

View File

@ -207,8 +207,7 @@ class _StarLockMainPageState extends State<StarLockMainPage>
Container(
// padding: EdgeInsets.all(30.w),
child: Text(
TranslationLoader
.lanKeys!.whenAddingLockThePhoneMustBeNextToTheLock!.tr,
'添加锁时,手机必须在锁旁边'.tr,
style: TextStyle(
fontSize: 26.sp,
// fontWeight: FontWeight.w800,

View File

@ -51,12 +51,12 @@ class _AboutPageState extends State<AboutPage> {
backgroundColor: AppColors.mainBackgroundColor,
appBar: F.sw(
skyCall: () => TitleAppBar(
barTitle: TranslationLoader.lanKeys!.about!.tr,
barTitle: '关于'.tr,
haveBack: true,
backgroundColor: AppColors.mainColor,
),
xhjCall: () => TitleAppBar(
barTitle: TranslationLoader.lanKeys!.about!.tr,
barTitle: '关于'.tr,
haveBack: true,
backgroundColor: Colors.white,
iconColor: AppColors.blackColor,
@ -80,7 +80,7 @@ class _AboutPageState extends State<AboutPage> {
Widget view = Column(
children: [
CommonItem(
leftTitel: TranslationLoader.lanKeys!.introduce!.tr,
leftTitel: '介绍'.tr,
rightTitle: '',
isHaveLine: false,
isHaveDirection: true,
@ -97,7 +97,7 @@ class _AboutPageState extends State<AboutPage> {
endIndent: 20.w,
),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.userAgreement!.tr,
leftTitel: '隐私政策'.tr,
rightTitle: '',
isHaveLine: false,
isHaveDirection: true,
@ -114,7 +114,7 @@ class _AboutPageState extends State<AboutPage> {
endIndent: 20.w,
),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.privacyPolicy!.tr,
leftTitel: '隐私政策'.tr,
rightTitle: '',
isHaveLine: false,
isHaveDirection: true,
@ -131,8 +131,7 @@ class _AboutPageState extends State<AboutPage> {
endIndent: 20.w,
),
CommonItem(
leftTitel: TranslationLoader
.lanKeys!.personalInformationCollectionList!.tr,
leftTitel: '个人信息收集清单'.tr,
rightTitle: '',
isHaveLine: false,
isHaveDirection: true,
@ -149,8 +148,7 @@ class _AboutPageState extends State<AboutPage> {
endIndent: 20.w,
),
CommonItem(
leftTitel:
TranslationLoader.lanKeys!.applicationPermissionDescription!.tr,
leftTitel:'应用权限说明'.tr,
rightTitle: '',
isHaveLine: false,
isHaveDirection: true,
@ -167,8 +165,7 @@ class _AboutPageState extends State<AboutPage> {
endIndent: 20.w,
),
CommonItem(
leftTitel:
TranslationLoader.lanKeys!.thirdPartyInformationSharingList!.tr,
leftTitel:"".tr,
rightTitle: '',
isHaveLine: false,
isHaveDirection: true,

View File

@ -51,7 +51,7 @@ class _AddLockPageState extends State<AddLockPage> with BaseWidget {
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
TranslationLoader.lanKeys!.lightTouchScreen!.tr,
'摸亮触摸屏'.tr,
style: TextStyle(
fontSize: 24.sp,
),
@ -73,7 +73,7 @@ class _AddLockPageState extends State<AddLockPage> with BaseWidget {
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
TranslationLoader.lanKeys!.lightTouchScreenTip!.tr,
'摸亮触摸屏,锁进入可添加状态,点击下一步'.tr,
style: TextStyle(
fontSize: 20.sp, fontWeight: FontWeight.w500),
),
@ -85,7 +85,7 @@ class _AddLockPageState extends State<AddLockPage> with BaseWidget {
Container(
margin: EdgeInsets.only(left: 20.w, right: 20.w),
child: SubmitBtn(
btnName: TranslationLoader.lanKeys!.next!.tr,
btnName: '下一步'.tr,
borderRadius: 20.w,
onClick: () {
logic.getNearByLimits();

View File

@ -4,6 +4,7 @@ import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:star_lock/mine/addLock/addLockSelectCountry/addLockSelectCountry_state.dart';
import 'package:star_lock/tools/baseGetXController.dart';
import '../../../appRouters.dart';
@ -23,8 +24,8 @@ class AddLockSelectCountryPage extends StatefulWidget {
}
class _AddLockSelectCountryPageState extends State<AddLockSelectCountryPage> {
final logic = Get.put(AddLockSelectCountryLogic());
final state = Get.find<AddLockSelectCountryLogic>().state;
final AddLockSelectCountryLogic logic = Get.put(AddLockSelectCountryLogic());
final AddLockSelectCountryState state = Get.find<AddLockSelectCountryLogic>().state;
List<CountryRegionModel> countriesList = [];
int selectindex = 10000;
@ -35,14 +36,12 @@ class _AddLockSelectCountryPageState extends State<AddLockSelectCountryPage> {
SuspensionUtil.setShowSuspensionStatus(
countriesList.cast<ISuspensionBean>());
Future.delayed(const Duration(milliseconds: 20), () {
getCountriesListRequest();
});
Future.delayed(const Duration(milliseconds: 20), getCountriesListRequest);
}
///json文件
Future<void> getCountriesListRequest() async {
CountryRegionEntity entity = await ApiRepository.to.getCountryRegion('1');
final CountryRegionEntity entity = await ApiRepository.to.getCountryRegion('1');
countriesList.clear();
if (entity.errorCode!.codeIsSuccessful) {
countriesList.addAll(entity.dataList!);
@ -57,8 +56,8 @@ class _AddLockSelectCountryPageState extends State<AddLockSelectCountryPage> {
void _handleList(List<CountryRegionModel> list) {
if (list.isEmpty) return;
for (int i = 0, length = list.length; i < length; i++) {
CountryRegionModel countryModel = list[i];
String tag = countryModel.group!;
final CountryRegionModel countryModel = list[i];
final String tag = countryModel.group!;
if (RegExp('[A-Z]').hasMatch(tag)) {
list[i].tagIndex = tag;
} else {
@ -79,8 +78,7 @@ class _AddLockSelectCountryPageState extends State<AddLockSelectCountryPage> {
resizeToAvoidBottomInset: false,
backgroundColor: const Color(0xFFFFFFFF),
appBar: TitleAppBar(
barTitle:
"请选择您的位置",
barTitle: '请选择您的位置'.tr,
haveBack: true,
backgroundColor: AppColors.mainColor,
),
@ -89,11 +87,11 @@ class _AddLockSelectCountryPageState extends State<AddLockSelectCountryPage> {
Expanded(
child: ListView.builder(
itemCount: countriesList.length,
itemBuilder: (c, index) {
CountryRegionModel model = countriesList[index];
itemBuilder: (BuildContext c, int index) {
final CountryRegionModel model = countriesList[index];
return CommonItem(
leftTitel: model.name,
rightTitle: "",
rightTitle: '',
allHeight: 60.h,
isHaveLine: true,
isHaveRightWidget: true,
@ -118,40 +116,40 @@ class _AddLockSelectCountryPageState extends State<AddLockSelectCountryPage> {
children: [
TextButton(
child: Text(
"跳过",
'跳过',
style: TextStyle(color: Colors.black, fontSize: 24.sp),
),
onPressed: () {
Get.toNamed(Routers.saveLockPage, arguments: {
"addressInfo": {},
"pwdTimestamp": state.pwdTimestamp.value,
"lockInfo": state.lockInfo,
"featureValue": state.featureValue,
"featureSettingValue": state.featureSettingValue,
"featureSettingParams": state.featureSettingParams,
"isFromMap": 0,
'addressInfo': {},
'pwdTimestamp': state.pwdTimestamp.value,
'lockInfo': state.lockInfo,
'featureValue': state.featureValue,
'featureSettingValue': state.featureSettingValue,
'featureSettingParams': state.featureSettingParams,
'isFromMap': 0,
});
},
),
TextButton(
child: Text(
TranslationLoader.lanKeys!.next!.tr,
'下一步'.tr,
style: TextStyle(color: Colors.black, fontSize: 24.sp),
),
onPressed: () {
if(selectindex == 10000){
logic.showToast("请选择国家");
logic.showToast('请选择国家');
return;
}
CountryRegionModel model = countriesList[selectindex];
final CountryRegionModel model = countriesList[selectindex];
Get.toNamed(Routers.saveLockPage, arguments: {
"addressInfo": {"country":model.name},
"pwdTimestamp": state.pwdTimestamp.value,
"lockInfo": state.lockInfo,
"featureValue": state.featureValue,
"featureSettingValue": state.featureSettingValue,
"featureSettingParams": state.featureSettingParams,
"isFromMap": 0,
'addressInfo': {'country':model.name},
'pwdTimestamp': state.pwdTimestamp.value,
'lockInfo': state.lockInfo,
'featureValue': state.featureValue,
'featureSettingValue': state.featureSettingValue,
'featureSettingParams': state.featureSettingParams,
'isFromMap': 0,
});
// Navigator.pushNamed(context, Routers.saveLockPage);
},

View File

@ -254,7 +254,7 @@ class _LockAddressGaoDePageState extends State<LockAddressGaoDePage>
),
TextButton(
child: Text(
TranslationLoader.lanKeys!.next!.tr,
'下一步'.tr,
style: TextStyle(color: Colors.black, fontSize: 24.sp),
),
onPressed: () {

View File

@ -30,7 +30,7 @@ class _LockAddressPageState extends State<LockAddressPage> with RouteAware{
actionsList: [
TextButton(
child: Text(
TranslationLoader.lanKeys!.next!.tr,
'下一步'.tr,
style: TextStyle(color: Colors.white, fontSize: 24.sp),
),
onPressed: () {

View File

@ -1,3 +1,4 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_blue_plus/flutter_blue_plus.dart';
@ -5,10 +6,10 @@ import 'package:flutter_easyloading/flutter_easyloading.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:star_lock/flavors.dart';
import 'package:star_lock/mine/addLock/nearbyLock/nearbyLock_state.dart';
import '../../../app_settings/app_colors.dart';
import '../../../tools/appRouteObserver.dart';
import '../../../tools/titleAppBar.dart';
import '../../../translations/trans_lib.dart';
import 'nearbyLock_logic.dart';
class NearbyLockPage extends StatefulWidget {
@ -19,8 +20,8 @@ class NearbyLockPage extends StatefulWidget {
}
class _NearbyLockPageState extends State<NearbyLockPage> with RouteAware {
final logic = Get.put(NearbyLockLogic());
final state = Get.find<NearbyLockLogic>().state;
final NearbyLockLogic logic = Get.put(NearbyLockLogic());
final NearbyLockState state = Get.find<NearbyLockLogic>().state;
@override
Widget build(BuildContext context) {
@ -28,10 +29,10 @@ class _NearbyLockPageState extends State<NearbyLockPage> with RouteAware {
backgroundColor: AppColors.mainBackgroundColor,
appBar: F.sw(
skyCall: () => TitleAppBar(
barTitle: TranslationLoader.lanKeys!.nearbyLock!.tr,
barTitle: '附近的锁'.tr,
haveBack: true,
backgroundColor: AppColors.mainColor,
actionsList: [
actionsList: <Widget>[
CupertinoActivityIndicator(
radius: 18.w,
color: Colors.white,
@ -39,12 +40,12 @@ class _NearbyLockPageState extends State<NearbyLockPage> with RouteAware {
SizedBox(width: 30.w)
]),
xhjCall: () => TitleAppBar(
barTitle: TranslationLoader.lanKeys!.nearbyLock!.tr,
barTitle: '附近的锁'.tr,
haveBack: true,
backgroundColor: Colors.white,
iconColor: AppColors.blackColor,
titleColor: AppColors.blackColor,
actionsList: [
actionsList: <Widget>[
CupertinoActivityIndicator(
radius: 18.w,
color: AppColors.blackColor,
@ -52,20 +53,18 @@ class _NearbyLockPageState extends State<NearbyLockPage> with RouteAware {
SizedBox(width: 30.w)
]),
),
body: Obx(() {
return listView();
}),
body: Obx(listView),
);
}
Widget listView() {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
children: <Widget>[
Expanded(
child: ListView.separated(
itemCount: state.devices.length,
itemBuilder: (c, index) {
itemBuilder: (BuildContext c, int index) {
return nearbyLockItem('images/icon_lockGroup_item.png', state.devices[index], () {
String advName = state.devices[index].advertisementData.advName;
state.selectLockName.value = advName;
@ -109,19 +108,19 @@ class _NearbyLockPageState extends State<NearbyLockPage> with RouteAware {
return GestureDetector(
onTap: ((scanResult.advertisementData.serviceUuids.isNotEmpty
? scanResult.advertisementData.serviceUuids[0]
: "")
: '')
.toString()[33] ==
"1")
'1')
? action
: null,
child: Column(
children: [
children: <Widget>[
Container(
height: 89.h,
width: 1.sw,
color: Colors.white,
child: Row(
children: [
children: <Widget>[
SizedBox(width: 20.w),
Image.asset(
lockTypeIcon,
@ -132,7 +131,7 @@ class _NearbyLockPageState extends State<NearbyLockPage> with RouteAware {
Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
children: <Widget>[
// 323300 01
Text(scanResult.advertisementData.advName,
style: TextStyle(
@ -141,9 +140,9 @@ class _NearbyLockPageState extends State<NearbyLockPage> with RouteAware {
.isNotEmpty
? scanResult.advertisementData
.serviceUuids[0]
: "")
: '')
.toString()[33] ==
"1")
'1')
? AppColors.blackColor
: Colors.grey)),
],
@ -152,7 +151,7 @@ class _NearbyLockPageState extends State<NearbyLockPage> with RouteAware {
width: 10.w,
),
Image.asset(
"images/mine/icon_mine_main_about.png",
'images/mine/icon_mine_main_about.png',
width: 22.w,
height: 22.w,
),
@ -237,7 +236,7 @@ class _TipDialog extends StatelessWidget {
'固件升级提示'.tr,
),
content: Text('请先获取固件文件到手机本地,再选择升级'.tr),
actions: [
actions: <Widget>[
TextButton(
onPressed: () {
Get.back();
@ -274,7 +273,7 @@ class OTAProgressDialog extends StatelessWidget {
'固件升级中'.tr,
),
content: Column(
children: [
children: <Widget>[
Padding(
padding: EdgeInsets.only(top: 20.h, bottom: 10.h),
child: Text(
@ -283,7 +282,7 @@ class OTAProgressDialog extends StatelessWidget {
),
),
Row(
children: [
children: <Widget>[
Text(
'传输中'.tr,
style: TextStyle(fontSize: 18.sp, color: AppColors.mainColor),
@ -300,7 +299,7 @@ class OTAProgressDialog extends StatelessWidget {
),
],
),
actions: [
actions: <Widget>[
TextButton(
onPressed: () {
logic.closeOTADAta();

View File

@ -45,10 +45,8 @@ class _SaveLockPageState extends State<SaveLockPage> with RouteAware {
children: <Widget>[
Flexible(
child: Text(
TranslationLoader
.lanKeys!.addSuccessfullyPleaseRename!.tr,
style: TextStyle(
fontSize: 24.sp, fontWeight: FontWeight.w500))),
'如需修改名字请重新命名,点击确定添加锁'.tr,
style: TextStyle(fontSize: 24.sp, fontWeight: FontWeight.w500))),
],
),
),

View File

@ -78,7 +78,7 @@ class _SelectLockTypePageState extends State<SelectLockTypePage> with BaseWidget
//
List<Widget> getLockTypeList() {
return <Widget>[
lockTypeItem('images/lockType/lockType_doorLock.png', TranslationLoader.lanKeys!.doorLock!.tr, () {
lockTypeItem('images/lockType/lockType_doorLock.png', '门锁'.tr, () {
CommonDataManage().seletLockType = 1;
Navigator.pushNamed(context, Routers.addLockPage,
arguments: <String, int>{'getLockType': 1});
@ -91,24 +91,24 @@ class _SelectLockTypePageState extends State<SelectLockTypePage> with BaseWidget
}),
if (!F.isLite)
lockTypeItem('images/lockType/lockType_padlock.png',
TranslationLoader.lanKeys!.padlock!.tr, () {
'挂锁'.tr, () {
CommonDataManage().seletLockType = 3;
// Navigator.pushNamed(context, Routers.addLockPage);
}),
lockTypeItem('images/lockType/lockType_safeLock.png',
TranslationLoader.lanKeys!.safeLock!.tr, () {
'保险箱锁'.tr, () {
CommonDataManage().seletLockType = 4;
Navigator.pushNamed(context, Routers.addLockPage,
arguments: <String, int>{'getLockType': 4});
}),
lockTypeItem('images/lockType/lockType_parkingLock.png',
TranslationLoader.lanKeys!.parkingLock!.tr, () {
'车位锁'.tr, () {
CommonDataManage().seletLockType = 5;
Navigator.pushNamed(context, Routers.addLockPage,
arguments: <String, int>{'getLockType': 5});
}),
lockTypeItem('images/lockType/lockType_entranceGuardLock.png',
TranslationLoader.lanKeys!.itelligentAccessControl!.tr, () {
'智能门禁'.tr, () {
CommonDataManage().seletLockType = 6;
Navigator.pushNamed(context, Routers.addLockPage,
arguments: <String, int>{'getLockType': 6});
@ -148,11 +148,11 @@ class _SelectLockTypePageState extends State<SelectLockTypePage> with BaseWidget
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text(TranslationLoader.lanKeys!.allLock!.tr,
Text('所有锁'.tr,
style: TextStyle(
fontSize: 24.sp,
)),
Text(TranslationLoader.lanKeys!.searchAllLockType!.tr,
Text('搜索所有锁类型'.tr,
style: TextStyle(
fontSize: 20.sp, color: AppColors.darkGrayTextColor)),
],

View File

@ -36,7 +36,7 @@ class _GatewayConfigurationWifiPageState extends State<GatewayConfigurationWifiP
color: const Color(0xFFF2F6F9),
padding: EdgeInsets.all(15.h),
child: Text(
TranslationLoader.lanKeys!.gatewayConfigurationWifiTip!.tr,
'不支持5G WiFi网络请选择2.4G WiFi网络进行配置'.tr,
style: TextStyle(
color: AppColors.darkGrayTextColor, fontSize: 20.sp),
)),
@ -44,7 +44,7 @@ class _GatewayConfigurationWifiPageState extends State<GatewayConfigurationWifiP
child: ListView(
children: <Widget>[
CommonItem(
leftTitel: TranslationLoader.lanKeys!.wifiName!.tr,
leftTitel: 'WiFi名称'.tr,
rightTitle: 'XinHongJia',
allHeight: 100.h,
isHaveLine: true,
@ -53,27 +53,26 @@ class _GatewayConfigurationWifiPageState extends State<GatewayConfigurationWifiP
// Navigator.pushNamed(context, Routers.minePersonInfoSetSafetyProblemPage);
}),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.wifiPassward!.tr,
leftTitel: 'WiFi密码'.tr,
rightTitle: '',
isHaveRightWidget: true,
rightWidget: getTFWidget(
_wifiPassward,
TranslationLoader
.lanKeys!.pleaseEnterTheWiFiPassword!.tr)),
'请输入WiFi密码'.tr)),
SizedBox(
height: 10.h,
),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.gatewayName!.tr,
leftTitel: '网关名称'.tr,
rightTitle: '',
isHaveRightWidget: true,
rightWidget: getTFWidget(_gatewayNamePassward,
TranslationLoader.lanKeys!.pleaseEnterGatewayName!.tr)),
'请输入网关名称'.tr)),
SizedBox(
height: 10.h,
),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.wifiMAC!.tr,
leftTitel: '网络MAC'.tr,
rightTitle: '48:55:19:7d:84:7a',
allHeight: 100.h,
isHaveLine: false),
@ -85,19 +84,17 @@ class _GatewayConfigurationWifiPageState extends State<GatewayConfigurationWifiP
child: Column(
children: <Widget>[
CommonItem(
leftTitel: TranslationLoader.lanKeys!.ipAddress!.tr,
leftTitel: 'IP地址'.tr,
rightTitle: '192.168.1.1',
allHeight: 100.h,
isHaveLine: true),
CommonItem(
leftTitel:
TranslationLoader.lanKeys!.subnetMask!.tr,
leftTitel: '子网掩码'.tr,
rightTitle: '255.255.255.0',
allHeight: 100.h,
isHaveLine: true),
CommonItem(
leftTitel:
TranslationLoader.lanKeys!.defaultGateway!.tr,
leftTitel: '默认网关'.tr,
rightTitle: '192.168.1.1',
allHeight: 100.h,
isHaveLine: true),
@ -105,8 +102,7 @@ class _GatewayConfigurationWifiPageState extends State<GatewayConfigurationWifiP
height: 10.h,
),
CommonItem(
leftTitel: TranslationLoader.lanKeys!
.automaticallyGetTheDNSServerAddress!.tr,
leftTitel: '自动获取DNS服务器地址'.tr,
rightTitle: '',
isHaveLine: true,
isHaveRightWidget: true,
@ -117,8 +113,7 @@ class _GatewayConfigurationWifiPageState extends State<GatewayConfigurationWifiP
child: Column(
children: <Widget>[
CommonItem(
leftTitel: TranslationLoader
.lanKeys!.preferredDNS!.tr,
leftTitel: '首选DNS'.tr,
rightTitle: '',
isHaveLine: true,
isHaveRightWidget: true,
@ -126,8 +121,7 @@ class _GatewayConfigurationWifiPageState extends State<GatewayConfigurationWifiP
_gatewayNamePassward,
'请输入'.tr,)),
CommonItem(
leftTitel: TranslationLoader
.lanKeys!.alternativeDNS!.tr,
leftTitel: '备选DNS'.tr,
rightTitle: '',
isHaveLine: false,
isHaveRightWidget: true,
@ -166,7 +160,7 @@ class _GatewayConfigurationWifiPageState extends State<GatewayConfigurationWifiP
// color: Colors.red,
child: Center(
child: Text(
TranslationLoader.lanKeys!.noStaticIPIsUsed!.tr,
'不使用静态IP'.tr,
style: TextStyle(
fontSize: 22.sp, color: AppColors.mainColor)),
),

View File

@ -20,7 +20,7 @@ class _SelectGatewayListPageState extends State<SelectGatewayListPage> {
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.selectGateway!.tr,
barTitle: '选择网关'.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: ListView.builder(
@ -28,8 +28,8 @@ class _SelectGatewayListPageState extends State<SelectGatewayListPage> {
itemBuilder: (c, index) {
return _selectGatewayListListItem(
'images/mine/icon_mine_gatewayListMainIcon.png',
"G2 41c21c",
"-34", () {
'G2 41c21c',
'-34', () {
Navigator.pushNamed(
context, Routers.gatewayConfigurationWifiPage);
});

View File

@ -20,7 +20,7 @@ class _SelectGatewayTypePageState extends State<SelectGatewayTypePage> {
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.selectGatewayType!.tr,
barTitle: '选择网关类型'.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: ListView(

View File

@ -23,7 +23,7 @@ class _SelectGatewayTypeNextTipPageState
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.addGateway!.tr,
barTitle: '添加网关'.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: ListView(
@ -31,7 +31,7 @@ class _SelectGatewayTypeNextTipPageState
SizedBox(height: 40.h),
Center(
child: Text(
TranslationLoader.lanKeys!.turnThePowerBackOn!.tr,
'重新通电'.tr,
style: TextStyle(fontSize: 24.sp),
)),
SizedBox(height: 80.h),
@ -42,10 +42,10 @@ class _SelectGatewayTypeNextTipPageState
bottom: 50.h,
left: 120.w,
child: Text(
TranslationLoader.lanKeys!.indicatorLight!.tr,
'指示灯'.tr,
style: TextStyle(fontSize: 20.sp),
)),
Image.asset("images/mine/icon_mine_selectGatewayType_next.png",
Image.asset('images/mine/icon_mine_selectGatewayType_next.png',
width: 220.w, height: 220.w),
],
),
@ -54,7 +54,7 @@ class _SelectGatewayTypeNextTipPageState
padding: EdgeInsets.all(20.w),
child: Center(
child: Text(
TranslationLoader.lanKeys!.selectGatewayTypeNextTip!.tr,
'将网关重新通电,指示灯交替闪烁时点击下一步'.tr,
textAlign: TextAlign.center,
style: TextStyle(fontSize: 18.sp),
))),
@ -62,7 +62,7 @@ class _SelectGatewayTypeNextTipPageState
Container(
padding: EdgeInsets.only(left: 20.w, right: 20.w),
child: SubmitBtn(
btnName: TranslationLoader.lanKeys!.next!.tr,
btnName: '下一步'.tr,
onClick: () {
Navigator.pushNamed(context, Routers.selectGatewayPage);
}),

View File

@ -27,13 +27,13 @@ class _GatewayConnectionLockListPageState extends State<GatewayConnectionLockLis
width: 1.sw,
color: Colors.grey.shade300,
padding: EdgeInsets.all(15.h),
child: Text(TranslationLoader.lanKeys!.gatewayConnectionLock!.tr)
child: Text('网关连接的锁'.tr)
),
Expanded(
child: ListView.builder(
itemCount:10,
itemBuilder: (c, index){
return _gatewayConnectionLockListItem('images/mine/icon_mine_gatewaySignal_prompt.png', 'MCBN01 8f3106', TranslationLoader.lanKeys!.strongSignal!.tr,(){
return _gatewayConnectionLockListItem('images/mine/icon_mine_gatewaySignal_prompt.png', 'MCBN01 8f3106', '信号强'.tr,(){
// Navigator.pushNamed(context, Routers.gatewayDetailPage);
});
}

View File

@ -18,7 +18,7 @@ class GatewayDetailPage extends StatefulWidget {
}
class _GatewayDetailPageState extends State<GatewayDetailPage> {
final _changeGatewayNameController = TextEditingController();
final TextEditingController _changeGatewayNameController = TextEditingController();
@override
Widget build(BuildContext context) {
@ -29,9 +29,9 @@ class _GatewayDetailPageState extends State<GatewayDetailPage> {
haveBack: true,
backgroundColor: AppColors.mainColor),
body: ListView(
children: [
children: <Widget>[
CommonItem(
leftTitel: TranslationLoader.lanKeys!.designation!.tr,
leftTitel: '名称'.tr,
rightTitle: '星锁网关',
isHaveLine: true,
isHaveDirection: true,
@ -39,17 +39,17 @@ class _GatewayDetailPageState extends State<GatewayDetailPage> {
showCupertinoAlertDialog(context);
}),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.state!.tr,
leftTitel: '状态'.tr,
rightTitle: '在线',
isHaveLine: true,
isHaveDirection: false),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.wifiName!.tr,
leftTitel: 'WiFi名称'.tr,
rightTitle: 'XinHongJia',
isHaveLine: true,
isHaveDirection: false),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.networkMAC!.tr,
leftTitel: '网络MAC'.tr,
rightTitle: '39:23:df:34:12',
isHaveLine: false,
isHaveDirection: false),
@ -57,7 +57,7 @@ class _GatewayDetailPageState extends State<GatewayDetailPage> {
height: 10.h,
),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.nearbyLock!.tr,
leftTitel: '附近的锁'.tr,
rightTitle: '2',
isHaveLine: true,
isHaveDirection: true,
@ -65,7 +65,7 @@ class _GatewayDetailPageState extends State<GatewayDetailPage> {
Navigator.pushNamed(context, Routers.gatewayConnectionLockPage);
}),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.gatewayUpgrade!.tr,
leftTitel: '网关升级'.tr,
rightTitle: '',
isHaveLine: false,
isHaveDirection: true,

View File

@ -4,42 +4,42 @@ import 'package:star_lock/login/login/entity/LoginData.dart';
import 'package:star_lock/translations/trans_lib.dart';
class SafeVerifyState {
SafeVerifyState() {
resetResend();
}
final TextEditingController codeController = TextEditingController();
static int currentTimeMillis() {
return DateTime.now().millisecondsSinceEpoch;
}
var countryCode = '+86'.obs;
var countryId = '9'.obs;
var codeType = '5'.obs; // //123456 7
var verificationCode = ''.obs;
var xWidth = ''.obs; //
var canSub = false.obs;
var date = currentTimeMillis().toString().obs;
var accountStr = ''.obs;
var toggleStr = ''.obs; //
var isToggle = false.obs; //
var channel = '1'.obs; // 1 2
RxString countryCode = '+86'.obs;
RxString countryId = '9'.obs;
RxString codeType = '5'.obs; // //123456 7
RxString verificationCode = ''.obs;
RxString xWidth = ''.obs; //
RxBool canSub = false.obs;
RxString date = currentTimeMillis().toString().obs;
RxString accountStr = ''.obs;
RxString toggleStr = ''.obs; //
RxBool isToggle = false.obs; //
RxString channel = '1'.obs; // 1 2
bool get codeIsOK => verificationCode.value.isNotEmpty;
var canResend = false.obs;
var btnText = ''.obs;
var totalSeconds = 120;
var currentSecond = 120;
RxBool canResend = false.obs;
RxString btnText = ''.obs;
int totalSeconds = 120;
int currentSecond = 120;
final loginData = LoginData().obs;
SafeVerifyState() {
resetResend();
}
final Rx<LoginData> loginData = LoginData().obs;
void resetResend() {
canResend.value = totalSeconds == currentSecond;
btnText.value = !canResend.value
? '$currentSecond s'
: btnText.value = TranslationLoader.lanKeys!.getVerificationCode!.tr;
: btnText.value = '获取验证码'.tr;
}
void onClose() {}

View File

@ -183,7 +183,7 @@ class StarLockMinePageState extends State<StarLockMinePage> with BaseWidget {
// Navigator.pushNamed(context, Routers.supportStaffPage);
// }),
mineItem('images/mine/icon_mine_main_set.png',
TranslationLoader.lanKeys!.set!.tr, () {
'设置'.tr, () {
Get.back();
Get.toNamed(Routers.mineSetPage);
}),
@ -191,8 +191,7 @@ class StarLockMinePageState extends State<StarLockMinePage> with BaseWidget {
if (F.isLite)
Container()
else
mineItem('images/mine/icon_mine_main_vip.png',
TranslationLoader.lanKeys!.valueAddedServices!.tr, () {
mineItem('images/mine/icon_mine_main_vip.png', '增值服务'.tr, () {
Get.back();
Get.toNamed(Routers.valueAddedServicesPage);
}),
@ -206,12 +205,11 @@ class StarLockMinePageState extends State<StarLockMinePage> with BaseWidget {
}),
if (F.isSKY)
mineItem('images/mine/icon_mine_main_shoppingcart.png',
TranslationLoader.lanKeys!.supportStaff!.tr, () {
'客服'.tr, () {
Get.back();
CustomerTool.openCustomerService();
}),
mineItem('images/mine/icon_mine_main_about.png',
TranslationLoader.lanKeys!.about!.tr, () {
mineItem('images/mine/icon_mine_main_about.png', '关于'.tr, () {
Get.back();
Get.toNamed(Routers.aboutPage);
}),
@ -224,7 +222,7 @@ class StarLockMinePageState extends State<StarLockMinePage> with BaseWidget {
return Column(
children: <Widget>[
SubmitBtn(
btnName: TranslationLoader.lanKeys!.logout!.tr,
btnName: '退出'.tr,
borderRadius: 20.w,
fontSize: 32.sp,
margin: EdgeInsets.only(left: 60.w, right: 60.w),
@ -238,7 +236,7 @@ class StarLockMinePageState extends State<StarLockMinePage> with BaseWidget {
children: <Widget>[
TextButton(
child: Text(
TranslationLoader.lanKeys!.deleteAccount!.tr,
'删除账号'.tr,
style: TextStyle(
color: AppColors.mainColor, fontWeight: FontWeight.w500),
),

View File

@ -3,6 +3,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:star_lock/flavors.dart';
import 'package:star_lock/mine/minePersonInfo/minePersonInfoEditAccount/minePersonInfoEditAccount/mineUnbindPhoneOrEmail_logic.dart';
import 'package:star_lock/mine/minePersonInfo/minePersonInfoEditAccount/minePersonInfoEditAccount/mineUnbindPhoneOrEmail_state.dart';
import 'package:star_lock/tools/tf_input_haveBorder.dart';
import '../../../../appRouters.dart';
@ -15,13 +16,12 @@ class MineUnbindPhoneOrEmailPage extends StatefulWidget {
const MineUnbindPhoneOrEmailPage({Key? key}) : super(key: key);
@override
State<MineUnbindPhoneOrEmailPage> createState() =>
_MineUnbindPhoneOrEmailState();
State<MineUnbindPhoneOrEmailPage> createState() => _MineUnbindPhoneOrEmailState();
}
class _MineUnbindPhoneOrEmailState extends State<MineUnbindPhoneOrEmailPage> {
final logic = Get.put(MineUnbindPhoneOrEmailLogic());
final state = Get.find<MineUnbindPhoneOrEmailLogic>().state;
final MineUnbindPhoneOrEmailLogic logic = Get.put(MineUnbindPhoneOrEmailLogic());
final MineUnbindPhoneOrEmailState state = Get.find<MineUnbindPhoneOrEmailLogic>().state;
@override
Widget build(BuildContext context) {
@ -29,12 +29,12 @@ class _MineUnbindPhoneOrEmailState extends State<MineUnbindPhoneOrEmailPage> {
backgroundColor: AppColors.mainBackgroundColor,
appBar: F.sw(
skyCall: () => TitleAppBar(
barTitle: TranslationLoader.lanKeys!.modifyAccount!.tr,
barTitle: '修改账号'.tr,
haveBack: true,
backgroundColor: AppColors.mainColor,
),
xhjCall: () => TitleAppBar(
barTitle: TranslationLoader.lanKeys!.modifyAccount!.tr,
barTitle: '修改账号'.tr,
haveBack: true,
backgroundColor: Colors.white,
iconColor: AppColors.blackColor,
@ -42,13 +42,13 @@ class _MineUnbindPhoneOrEmailState extends State<MineUnbindPhoneOrEmailPage> {
),
),
body: Column(
children: [
children: <Widget>[
Container(
width: 1.sw,
color: AppColors.greyBackgroundColor,
padding: EdgeInsets.only(left: 15.w, top: 10.h, bottom: 10.h),
child: Text(
TranslationLoader.lanKeys!.modifyAccountTip!.tr,
'为了你的账号安全,修改账号前请先使用验证码验证'.tr,
style: TextStyle(fontSize: 20.sp),
)),
Obx(() => Container(
@ -79,7 +79,7 @@ class _MineUnbindPhoneOrEmailState extends State<MineUnbindPhoneOrEmailPage> {
)))),
SizedBox(height: 50.w),
Obx(() => SubmitBtn(
btnName: TranslationLoader.lanKeys!.next!.tr,
btnName: '下一步'.tr,
isDisabled: state.canSub.value,
onClick: () {
if (state.channel.value == '1') {
@ -91,7 +91,7 @@ class _MineUnbindPhoneOrEmailState extends State<MineUnbindPhoneOrEmailPage> {
SizedBox(height: 50.w),
Row(
mainAxisAlignment: MainAxisAlignment.end,
children: [
children: <Widget>[
GestureDetector(
child: SizedBox(
// width: 150.w,
@ -99,7 +99,7 @@ class _MineUnbindPhoneOrEmailState extends State<MineUnbindPhoneOrEmailPage> {
// color: Colors.red,
child: Center(
child: Text(
'${TranslationLoader.lanKeys!.forgetPassword!.tr}',
'${'忘记密码'.tr}',
style: TextStyle(
fontSize: 18.sp, color: AppColors.mainColor)),
),

View File

@ -3,34 +3,11 @@ import 'package:get/get.dart';
import 'package:star_lock/translations/trans_lib.dart';
class MineUnbindPhoneOrEmailState {
final TextEditingController codeController = TextEditingController();
static int currentTimeMillis() {
return DateTime.now().millisecondsSinceEpoch;
}
var countryCode = ''.obs;
var codeType = '4'.obs; //123456 7
var channel = '1'.obs; // 1 2
var unbindToken = ''.obs; //Token
var uniqueid = 'B748F838-94EE-4BDB-A0E6-7B2D16849792'.obs;
var mobileOrEmailStr = ''.obs;
var verificationCode = ''.obs;
var xWidth = ''.obs; //
var canSub = false.obs;
var date = currentTimeMillis().toString().obs;
bool get codeIsOK => verificationCode.value.isNotEmpty;
var canResend = false.obs;
var btnText = ''.obs;
var totalSeconds = 120;
var currentSecond = 120;
MineUnbindPhoneOrEmailState() {
Map map = Get.arguments;
channel.value = map["isFrom"];
if (channel.value == "1") {
channel.value = map['isFrom'];
if (channel.value == '1') {
mobileOrEmailStr.value = map['mobile'];
codeType.value = '4';
} else {
@ -40,12 +17,35 @@ class MineUnbindPhoneOrEmailState {
resetResend();
}
final TextEditingController codeController = TextEditingController();
static int currentTimeMillis() {
return DateTime.now().millisecondsSinceEpoch;
}
RxString countryCode = ''.obs;
RxString codeType = '4'.obs; //123456 7
RxString channel = '1'.obs; // 1 2
RxString unbindToken = ''.obs; //Token
RxString uniqueid = 'B748F838-94EE-4BDB-A0E6-7B2D16849792'.obs;
RxString mobileOrEmailStr = ''.obs;
RxString verificationCode = ''.obs;
RxString xWidth = ''.obs; //
RxBool canSub = false.obs;
RxString date = currentTimeMillis().toString().obs;
bool get codeIsOK => verificationCode.value.isNotEmpty;
RxBool canResend = false.obs;
RxString btnText = ''.obs;
int totalSeconds = 120;
int currentSecond = 120;
void resetResend() {
canResend.value = totalSeconds == currentSecond;
btnText.value = !canResend.value
? '$currentSecond s'
: btnText.value = TranslationLoader.lanKeys!.getVerificationCode!.tr;
: btnText.value = '获取验证码'.tr;
}
void onClose() {}

View File

@ -3,6 +3,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:star_lock/flavors.dart';
import 'package:star_lock/mine/minePersonInfo/minePersonInfoEditAccount/minePersonInfoEditAccountNext/minePersonInfoEditAccountNext_logic.dart';
import 'package:star_lock/mine/minePersonInfo/minePersonInfoEditAccount/minePersonInfoEditAccountNext/minePersonInfoEditAccountNext_state.dart';
import '../../../../app_settings/app_colors.dart';
import '../../../../tools/submitBtn.dart';
import '../../../../tools/tf_input_haveBorder.dart';
@ -17,10 +18,9 @@ class MinePersonInfoEditAccountNextPage extends StatefulWidget {
_MinePersonInfoEditAccountNextPageState();
}
class _MinePersonInfoEditAccountNextPageState
extends State<MinePersonInfoEditAccountNextPage> {
final logic = Get.put(PersonInfoEditAccountLogic());
final state = Get.find<PersonInfoEditAccountLogic>().state;
class _MinePersonInfoEditAccountNextPageState extends State<MinePersonInfoEditAccountNextPage> {
final PersonInfoEditAccountLogic logic = Get.put(PersonInfoEditAccountLogic());
final PersonInfoEditAccountState state = Get.find<PersonInfoEditAccountLogic>().state;
@override
Widget build(BuildContext context) {
@ -28,12 +28,12 @@ class _MinePersonInfoEditAccountNextPageState
backgroundColor: AppColors.mainBackgroundColor,
appBar: F.sw(
skyCall: () => TitleAppBar(
barTitle: TranslationLoader.lanKeys!.modifyAccount!.tr,
barTitle: '修改账号'.tr,
haveBack: true,
backgroundColor: AppColors.mainColor,
),
xhjCall: () => TitleAppBar(
barTitle: TranslationLoader.lanKeys!.modifyAccount!.tr,
barTitle: '修改账号'.tr,
haveBack: true,
backgroundColor: Colors.white,
iconColor: AppColors.blackColor,
@ -41,13 +41,13 @@ class _MinePersonInfoEditAccountNextPageState
),
),
body: Column(
children: [
children: <Widget>[
Container(
width: 1.sw,
// color: Colors.grey,
padding: EdgeInsets.only(left: 30.w, top: 15.h, bottom: 15.h),
child: Text(
TranslationLoader.lanKeys!.pleaseEnterNewAccountNumber!.tr,
'请输入新账号'.tr,
style:
TextStyle(fontWeight: FontWeight.w600, fontSize: 24.sp),
)),
@ -79,7 +79,7 @@ class _MinePersonInfoEditAccountNextPageState
// ),
child: Center(
child: Text(
'${"获取".tr}${TranslationLoader.lanKeys!.verificationCode!.tr}',
'获取验证码'.tr,
textAlign: TextAlign.center,
style: TextStyle(
color: Colors.grey,

View File

@ -13,26 +13,26 @@ class PersonInfoEditAccountState {
return DateTime.now().millisecondsSinceEpoch;
}
var countryCode = '+86'.obs;
var countryId = '9'.obs;
var codeType = '3'.obs; ////123456 7
var channel = '1'.obs; // 1 2
var uniqueid = 'B748F838-94EE-4BDB-A0E6-7B2D16849792'.obs;
var newAccountStr = ''.obs;
var verificationCode = ''.obs;
var xWidth = ''.obs; //
var canSub = false.obs;
var date = currentTimeMillis().toString().obs;
RxString countryCode = '+86'.obs;
RxString countryId = '9'.obs;
RxString codeType = '3'.obs; ////123456 7
RxString channel = '1'.obs; // 1 2
RxString uniqueid = 'B748F838-94EE-4BDB-A0E6-7B2D16849792'.obs;
RxString newAccountStr = ''.obs;
RxString verificationCode = ''.obs;
RxString xWidth = ''.obs; //
RxBool canSub = false.obs;
RxString date = currentTimeMillis().toString().obs;
bool get accountIsOK => newAccountStr.value.isNotEmpty;
bool get codeIsOK => verificationCode.value.isNotEmpty;
var canResend = false.obs;
var btnText = ''.obs;
var totalSeconds = 120;
var currentSecond = 120;
RxBool canResend = false.obs;
RxString btnText = ''.obs;
int totalSeconds = 120;
int currentSecond = 120;
final loginData = LoginData().obs;
final Rx<LoginData> loginData = LoginData().obs;
///
void saveLoginData(LoginData? data) async {
@ -42,7 +42,7 @@ class PersonInfoEditAccountState {
///
void initLoginData() async {
final data = await Storage.getString(saveUserLoginData);
final String? data = await Storage.getString(saveUserLoginData);
if (data != null && data.isNotEmpty) {
loginData.value = LoginData.fromJson(jsonDecode(data));
}
@ -64,7 +64,7 @@ class PersonInfoEditAccountState {
canResend.value = totalSeconds == currentSecond;
btnText.value = !canResend.value
? '$currentSecond s'
: btnText.value = TranslationLoader.lanKeys!.getVerificationCode!.tr;
: btnText.value = '获取验证码'.tr;
}
void onClose() {}

View File

@ -19,19 +19,17 @@ class MinePersonInfoEditIphonePage extends StatefulWidget {
_MinePersonInfoEditIphonePageState();
}
class _MinePersonInfoEditIphonePageState
extends State<MinePersonInfoEditIphonePage> {
class _MinePersonInfoEditIphonePageState extends State<MinePersonInfoEditIphonePage> {
final TextEditingController _phoneController = TextEditingController();
final TextEditingController _codeController = TextEditingController();
late Timer _timer;
int _seconds = 60;
final int _seconds = 60;
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.iphone!.tr,
barTitle: '手机'.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: Container(
@ -42,7 +40,7 @@ class _MinePersonInfoEditIphonePageState
width: 1.sw,
padding: EdgeInsets.only(top: 5.h, bottom: 5.h),
child: Text(
TranslationLoader.lanKeys!.changeIphoneTip!.tr,
'找回密码和登录新设备时,可通过绑定的手机验证'.tr,
style: TextStyle(fontSize: 20.sp),
)),
GestureDetector(
@ -58,7 +56,7 @@ class _MinePersonInfoEditIphonePageState
SizedBox(width: 5.w),
Expanded(
child: Text(
TranslationLoader.lanKeys!.countryAndRegion!.tr,
'国家/地区'.tr,
style: TextStyle(
fontSize: 22.sp,
fontWeight: FontWeight.w500))),
@ -126,7 +124,7 @@ class _MinePersonInfoEditIphonePageState
child: Center(
child: Text(
_seconds == 60
? '${"获取".tr} ${TranslationLoader.lanKeys!.verificationCode!.tr}'
? '获取验证码'.tr
: (_seconds < 10)
? '0$_seconds s'
: '$_seconds s',

View File

@ -4,6 +4,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:star_lock/flavors.dart';
import 'package:star_lock/mine/minePersonInfo/minePersonInfoEditName/MinePersonInfoEditName_logic.dart';
import 'package:star_lock/mine/minePersonInfo/minePersonInfoEditName/minePersonInfoEditName_state.dart';
import '../../../app_settings/app_colors.dart';
import '../../../tools/tf_loginInput.dart';
@ -18,10 +19,9 @@ class MinePersonInfoEditNamePage extends StatefulWidget {
_MinePersonInfoEditNamePageState();
}
class _MinePersonInfoEditNamePageState
extends State<MinePersonInfoEditNamePage> {
final logic = Get.put(MinePersonInfoEditNameLogic());
final state = Get.find<MinePersonInfoEditNameLogic>().state;
class _MinePersonInfoEditNamePageState extends State<MinePersonInfoEditNamePage> {
final MinePersonInfoEditNameLogic logic = Get.put(MinePersonInfoEditNameLogic());
final MinePersonInfoEditNamePageState state = Get.find<MinePersonInfoEditNameLogic>().state;
@override
Widget build(BuildContext context) {
@ -29,10 +29,10 @@ class _MinePersonInfoEditNamePageState
backgroundColor: AppColors.greyBackgroundColor,
appBar: F.sw(
skyCall: () => TitleAppBar(
barTitle: TranslationLoader.lanKeys!.changeNickName!.tr,
barTitle: '修改昵称'.tr,
haveBack: true,
backgroundColor: AppColors.mainColor,
actionsList: [
actionsList: <Widget>[
TextButton(
child: Text(
'保存'.tr,
@ -49,12 +49,12 @@ class _MinePersonInfoEditNamePageState
],
),
xhjCall: () => TitleAppBar(
barTitle: TranslationLoader.lanKeys!.changeNickName!.tr,
barTitle: '修改昵称'.tr,
haveBack: true,
backgroundColor: Colors.white,
iconColor: AppColors.blackColor,
titleColor: AppColors.blackColor,
actionsList: [
actionsList: <Widget>[
TextButton(
child: Text(
'保存'.tr,
@ -81,7 +81,7 @@ class _MinePersonInfoEditNamePageState
Widget listView() {
Widget view = Column(
mainAxisSize: MainAxisSize.min,
children: [
children: <Widget>[
LoginInput(
controller: state.nickNameController,
onchangeAction: (textStr) {
@ -90,8 +90,8 @@ class _MinePersonInfoEditNamePageState
isPwd: false,
leftWidget: SizedBox(width: 15.w),
hintText:
"${'请输入'.tr}${TranslationLoader.lanKeys!.nickName!.tr}",
inputFormatters: [
'请输入昵称'.tr,
inputFormatters: <TextInputFormatter>[
LengthLimitingTextInputFormatter(20),
]),
],

View File

@ -34,15 +34,15 @@ class _MineBindPhoneOrEmailPageState extends State<MineBindPhoneOrEmailPage> {
appBar: F.sw(
skyCall: () => TitleAppBar(
barTitle: state.channel.value == '1'
? TranslationLoader.lanKeys!.mobileNumber!.tr
: TranslationLoader.lanKeys!.email!.tr,
? '手机号'.tr
: '邮箱'.tr,
haveBack: true,
backgroundColor: AppColors.mainColor,
),
xhjCall: () => TitleAppBar(
barTitle: state.channel.value == '1'
? TranslationLoader.lanKeys!.mobileNumber!.tr
: TranslationLoader.lanKeys!.email!.tr,
? '手机号'.tr
: '邮箱'.tr,
haveBack: true,
backgroundColor: Colors.white,
iconColor: AppColors.blackColor,
@ -59,12 +59,12 @@ class _MineBindPhoneOrEmailPageState extends State<MineBindPhoneOrEmailPage> {
padding: EdgeInsets.only(top: 5.h, bottom: 5.h),
child: Text(
state.channel.value == '1'
? TranslationLoader.lanKeys!.changeIphoneTip!.tr
: TranslationLoader.lanKeys!.changeEmailTip!.tr,
? '找回密码和登录新设备时,可通过绑定的手机验证'.tr
: '找回密码和登录新设备时,可通过绑定的邮箱验证'.tr,
style: TextStyle(fontSize: 20.sp),
)),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.countryAndRegion!.tr,
leftTitel: '国家/地区'.tr,
rightTitle: '',
isHaveLine: true,
isPadding: false,
@ -94,8 +94,8 @@ class _MineBindPhoneOrEmailPageState extends State<MineBindPhoneOrEmailPage> {
},
leftWidget: const SizedBox(),
hintText: state.channel.value == '1'
? '${'请输入'.tr}${TranslationLoader.lanKeys!.mobileNumber!.tr}'
: '${'请输入'.tr}${TranslationLoader.lanKeys!.email!.tr}',
? '请输入手机号'.tr
: '请输入邮箱'.tr,
inputFormatters: <TextInputFormatter>[
LengthLimitingTextInputFormatter(20),
]),
@ -111,7 +111,7 @@ class _MineBindPhoneOrEmailPageState extends State<MineBindPhoneOrEmailPage> {
logic.checkNext(state.codeController);
},
hintText:
'${'请输入'.tr}${TranslationLoader.lanKeys!.verificationCode!.tr}',
'请输入验证码'.tr,
inputFormatters: <TextInputFormatter>[
LengthLimitingTextInputFormatter(20),
]),

View File

@ -10,39 +10,39 @@ class MineBindPhoneOrEmailState {
return DateTime.now().millisecondsSinceEpoch;
}
var countryCode = '86'.obs;
var countryName = '中国'.obs;
RxString countryCode = '86'.obs;
RxString countryName = '中国'.obs;
var countryId = '9'.obs;
var codeType = '4'.obs; //123456 7
var channel = '1'.obs; // 1 2
var verificationCode = ''.obs;
var xWidth = ''.obs; //
var canSub = false.obs;
var date = currentTimeMillis().toString().obs;
var inputAccount = ''.obs; //
var unbindToken = ''.obs; //Token
RxString countryId = '9'.obs;
RxString codeType = '4'.obs; //123456 7
RxString channel = '1'.obs; // 1 2
RxString verificationCode = ''.obs;
RxString xWidth = ''.obs; //
RxBool canSub = false.obs;
RxString date = currentTimeMillis().toString().obs;
RxString inputAccount = ''.obs; //
RxString unbindToken = ''.obs; //Token
var accountIsOK = false.obs;
RxBool accountIsOK = false.obs;
bool get codeIsOK => verificationCode.value.isNotEmpty;
var canResend = false.obs;
var btnText = ''.obs;
var totalSeconds = 120;
var currentSecond = 120;
RxBool canResend = false.obs;
RxString btnText = ''.obs;
int totalSeconds = 120;
int currentSecond = 120;
MineBindPhoneOrEmailState() {
Map map = Get.arguments;
if (map["unbindToken"] != null) {
unbindToken.value = map["unbindToken"];
if (map['unbindToken'] != null) {
unbindToken.value = map['unbindToken'];
}
channel.value = map["isFrom"];
channel.value = map['isFrom'];
// 1 2
// 123456
if (channel.value == "1") {
codeType.value = "3";
if (channel.value == '1') {
codeType.value = '3';
} else {
codeType.value = "6";
codeType.value = '6';
}
resetResend();
@ -52,7 +52,7 @@ class MineBindPhoneOrEmailState {
canResend.value = totalSeconds == currentSecond;
btnText.value = !canResend.value
? '$currentSecond s'
: btnText.value = TranslationLoader.lanKeys!.getVerificationCode!.tr;
: btnText.value = '获取验证码'.tr;
}
void onClose() {}

View File

@ -35,7 +35,7 @@ class _MinePersonInfoPageState extends State<MinePersonInfoPage> {
skyCall: () => AppColors.mainBackgroundColor,
xhjCall: () => AppColors.mainBackgroundColor),
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.personalInformation!.tr,
barTitle: '个人信息'.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: Column(
@ -50,7 +50,7 @@ class _MinePersonInfoPageState extends State<MinePersonInfoPage> {
child: Column(
children: <Widget>[
Obx(() => CommonItem(
leftTitel: TranslationLoader.lanKeys!.avatar!.tr,
leftTitel: '头像'.tr,
rightTitle: '',
allHeight: 100.h,
isHaveLine: true,
@ -69,7 +69,7 @@ class _MinePersonInfoPageState extends State<MinePersonInfoPage> {
},
)),
Obx(() => CommonItem(
leftTitel: TranslationLoader.lanKeys!.nickName!.tr,
leftTitel: '昵称'.tr,
rightTitle: state.mineInfoData.value.nickname != null
? state.mineInfoData.value.nickname!
: '',
@ -83,7 +83,7 @@ class _MinePersonInfoPageState extends State<MinePersonInfoPage> {
}).then((Object? value) => logic.getUserInfoRequest());
})),
Obx(() => CommonItem(
leftTitel: TranslationLoader.lanKeys!.mobileNumber!.tr,
leftTitel: '手机号'.tr,
// rightTitle: (state.mineInfoData.value.mobile ?? '').isNotEmpty
// ? state.mineInfoData.value.mobile!
// : TranslationLoader.lanKeys!.goBind!.tr,
@ -135,7 +135,7 @@ class _MinePersonInfoPageState extends State<MinePersonInfoPage> {
}
})),
Obx(() => CommonItem(
leftTitel: TranslationLoader.lanKeys!.email!.tr,
leftTitel: '邮箱'.tr,
// rightTitle: (state.mineInfoData.value.email??'').isNotEmpty
// ? state.mineInfoData.value.email!
// : TranslationLoader.lanKeys!.goBind!.tr,
@ -188,7 +188,7 @@ class _MinePersonInfoPageState extends State<MinePersonInfoPage> {
context, Routers.minePersonInfoResetPasswordPage);
}),
Obx(() => CommonItem(
leftTitel: TranslationLoader.lanKeys!.safetyProblem!.tr,
leftTitel: '安全问题'.tr,
isHaveRightWidget: true,
// rightTitle: state.mineInfoData.value.haveSafeAnswer == 0
// ? '去设置'.tr
@ -216,8 +216,7 @@ class _MinePersonInfoPageState extends State<MinePersonInfoPage> {
}
})),
Obx(() => CommonItem(
leftTitel:
TranslationLoader.lanKeys!.countryAndRegion!.tr,
leftTitel: '国家/地区'.tr,
rightTitle: state.mineInfoData.value.countryName != null
? state.mineInfoData.value.countryName!
: '',

View File

@ -32,12 +32,12 @@ class _MinePersonInfoResetPasswordPageState
backgroundColor: AppColors.mainBackgroundColor,
appBar: F.sw(
skyCall: () => TitleAppBar(
barTitle: TranslationLoader.lanKeys!.resetPasswords!.tr,
barTitle: '重置密码'.tr,
haveBack: true,
backgroundColor: AppColors.mainColor,
),
xhjCall: () => TitleAppBar(
barTitle: TranslationLoader.lanKeys!.resetPasswords!.tr,
barTitle: '重置密码'.tr,
haveBack: true,
backgroundColor: Colors.white,
iconColor: AppColors.blackColor,
@ -70,7 +70,7 @@ class _MinePersonInfoResetPasswordPageState
// color: Colors.red,
child: Center(
child: Text(
'${TranslationLoader.lanKeys!.forgetPassword!.tr}',
'${'忘记密码'.tr}',
style: TextStyle(
color: AppColors.mainColor, fontSize: 18.sp)),
),
@ -96,7 +96,7 @@ class _MinePersonInfoResetPasswordPageState
},
isPwd: true,
leftWidget: Text(
'${TranslationLoader.lanKeys!.originalPassword!.tr} ',
'${'原密码'.tr} ',
style: TextStyle(fontSize: 22.sp),
),
hintText: '',
@ -110,7 +110,7 @@ class _MinePersonInfoResetPasswordPageState
},
isPwd: true,
leftWidget: Text(
'${TranslationLoader.lanKeys!.newPassword!.tr} ',
'${'新密码'.tr} ',
style: TextStyle(fontSize: 22.sp),
),
hintText: '',
@ -125,7 +125,7 @@ class _MinePersonInfoResetPasswordPageState
isPwd: true,
// isHaveLeftWidget: false,
leftWidget: Text(
'${TranslationLoader.lanKeys!.surePassword!.tr} ',
'${'确认密码'.tr} ',
style: TextStyle(fontSize: 22.sp),
),
hintText: '',
@ -135,7 +135,7 @@ class _MinePersonInfoResetPasswordPageState
Container(
width: 1.sw,
padding: EdgeInsets.only(top: 15.h, bottom: 10.h),
child: Text(TranslationLoader.lanKeys!.registerPasswordTip!.tr,
child: Text('密码必须是8-20位至少包括数字/字母/符号中的2种'.tr,
style: TextStyle(
fontSize: 18.w, color: AppColors.darkGrayTextColor))),
],

View File

@ -12,8 +12,8 @@ class MineSetSafetyProblemLogic extends BaseGetXController {
final MineSetSafetyProblemState state = MineSetSafetyProblemState();
//
Future<void> getQuestionListRequest() async {
var entity =
await ApiRepository.to.getQuestionList("", state.countryCode.value);
final entity =
await ApiRepository.to.getQuestionList('', state.countryCode.value);
if (entity.errorCode!.codeIsSuccessful) {
state.firstProblemList.value = entity.data!.firstList!;
state.secondProblemList.value = entity.data!.secondList!;
@ -24,10 +24,10 @@ class MineSetSafetyProblemLogic extends BaseGetXController {
//
Future<void> setSafeAnswerRequest() async {
getRequestAnswerList();
var entity =
final entity =
await ApiRepository.to.setSafeAnswer(state.questionAndAnswerList.value);
if (entity.errorCode!.codeIsSuccessful) {
showToast("操作成功");
showToast('操作成功'.tr);
Get.until((route) => route.settings.name == Routers.minePersonInfoPage);
}
}
@ -35,10 +35,10 @@ class MineSetSafetyProblemLogic extends BaseGetXController {
//
Future<void> updateSafeAnswerRequest() async {
getRequestAnswerList();
var entity = await ApiRepository.to
final entity = await ApiRepository.to
.updateSafeAnswer(state.questionAndAnswerList.value);
if (entity.errorCode!.codeIsSuccessful) {
showToast("操作成功");
showToast('操作成功'.tr);
Get.until((route) => route.settings.name == Routers.minePersonInfoPage);
}
}
@ -47,7 +47,7 @@ class MineSetSafetyProblemLogic extends BaseGetXController {
state.questionAndAnswerList.value.clear();
for (int i = 0; i < 3; i++) {
if (i == 0) {
SafetyProblemData data = SafetyProblemData();
final SafetyProblemData data = SafetyProblemData();
data.question = state.firstProblemStr.value;
data.answer = state.firstAnswerStr.value;
data.questionId = state.firstQuestionId.value;
@ -56,7 +56,7 @@ class MineSetSafetyProblemLogic extends BaseGetXController {
}
state.questionAndAnswerList.value.add(data);
} else if (i == 1) {
SafetyProblemData data = SafetyProblemData();
final SafetyProblemData data = SafetyProblemData();
data.question = state.secondProblemStr.value;
data.answer = state.secondAnswerStr.value;
data.questionId = state.secondQuestionId.value;
@ -65,7 +65,7 @@ class MineSetSafetyProblemLogic extends BaseGetXController {
}
state.questionAndAnswerList.value.add(data);
} else if (i == 2) {
SafetyProblemData data = SafetyProblemData();
final SafetyProblemData data = SafetyProblemData();
data.question = state.thirdProblemStr.value;
data.answer = state.thirdAnswerStr.value;
data.questionId = state.thirdQuestionId.value;
@ -96,12 +96,9 @@ class MineSetSafetyProblemLogic extends BaseGetXController {
void _resetCanSub() {
state.canSub.value = state.answerIsOK &&
state.firstProblemStr.value !=
TranslationLoader.lanKeys!.problemOne!.tr &&
state.secondProblemStr.value !=
TranslationLoader.lanKeys!.problemTwo!.tr &&
state.thirdProblemStr.value !=
TranslationLoader.lanKeys!.problemThree!.tr;
state.firstProblemStr.value != '问题一'.tr &&
state.secondProblemStr.value != '问题二'.tr &&
state.thirdProblemStr.value != '问题三'.tr;
}
@override

View File

@ -38,12 +38,12 @@ class _MinePersonInfoSetSafetyProblemPageState
backgroundColor: AppColors.mainBackgroundColor,
appBar: F.sw(
skyCall: () => TitleAppBar(
barTitle: TranslationLoader.lanKeys!.safetyProblem!.tr,
barTitle: '安全问题'.tr,
haveBack: true,
backgroundColor: AppColors.mainColor,
),
xhjCall: () => TitleAppBar(
barTitle: TranslationLoader.lanKeys!.safetyProblem!.tr,
barTitle: '安全问题'.tr,
haveBack: true,
backgroundColor: Colors.white,
iconColor: AppColors.blackColor,
@ -57,7 +57,7 @@ class _MinePersonInfoSetSafetyProblemPageState
color: AppColors.greyBackgroundColor,
padding: EdgeInsets.all(20.h),
child: Text(
TranslationLoader.lanKeys!.safetyProblemTip!.tr,
'当你手机丢了,可以通过回答设置的安全问题来登录新设备'.tr,
style: TextStyle(fontSize: 18.sp),
)),
Obx(() => _safityProblemItem(
@ -108,7 +108,7 @@ class _MinePersonInfoSetSafetyProblemPageState
children: [
CommonItem(
leftTitel: problemTitle,
rightTitle: "",
rightTitle: '',
isHaveLine: true,
isHaveDirection: true,
action: action),
@ -127,7 +127,7 @@ class _MinePersonInfoSetSafetyProblemPageState
//
// contentPadding: const EdgeInsets.only(top: 8.0, left: -19.0, right: -15.0, bottom: 8.0),
// labelText: label,
hintText: TranslationLoader.lanKeys!.pleaseEnterYourAnswer!.tr,
hintText: '请输入你的答案'.tr,
//线
border: InputBorder.none,
hintStyle: TextStyle(fontSize: 22.sp)),

View File

@ -7,52 +7,52 @@ class MineSetSafetyProblemState {
final TextEditingController secondAnswerController = TextEditingController();
final TextEditingController thirdAnswerController = TextEditingController();
var firstProblemList = [].obs;
var secondProblemList = [].obs;
var thirdProblemList = [].obs;
RxList firstProblemList = [].obs;
RxList secondProblemList = [].obs;
RxList thirdProblemList = [].obs;
var firstProblemStr = TranslationLoader.lanKeys!.problemOne!.tr.obs;
var secondProblemStr = TranslationLoader.lanKeys!.problemTwo!.tr.obs;
var thirdProblemStr = TranslationLoader.lanKeys!.problemThree!.tr.obs;
RxString firstProblemStr = '问题一'.tr.obs;
RxString secondProblemStr = '问题二'.tr.obs;
RxString thirdProblemStr = '问题三'.tr.obs;
var firstQuestionId = 0.obs;
var secondQuestionId = 0.obs;
var thirdQuestionId = 0.obs;
RxInt firstQuestionId = 0.obs;
RxInt secondQuestionId = 0.obs;
RxInt thirdQuestionId = 0.obs;
var firstAnswerId = 0.obs;
var secondAnswerId = 0.obs;
var thirdAnswerId = 0.obs;
RxInt firstAnswerId = 0.obs;
RxInt secondAnswerId = 0.obs;
RxInt thirdAnswerId = 0.obs;
var firstAnswerStr = ''.obs;
var secondAnswerStr = ''.obs;
var thirdAnswerStr = ''.obs;
var countryCode = ''.obs;
RxString firstAnswerStr = ''.obs;
RxString secondAnswerStr = ''.obs;
RxString thirdAnswerStr = ''.obs;
RxString countryCode = ''.obs;
var questionAndAnswerList = [].obs;
var isUpdateAnswer = false.obs;
RxList questionAndAnswerList = [].obs;
RxBool isUpdateAnswer = false.obs;
bool get answerIsOK =>
firstAnswerStr.value.isNotEmpty &&
secondAnswerStr.value.isNotEmpty &&
thirdAnswerStr.value.isNotEmpty;
var canSub = false.obs;
RxBool canSub = false.obs;
MineSetSafetyProblemState() {
if (Get.arguments != null) {
Map map = Get.arguments;
isUpdateAnswer.value = true;
firstProblemStr.value = map["firstProblemStr"];
secondProblemStr.value = map["secondProblemStr"];
thirdProblemStr.value = map["thirdProblemStr"];
firstAnswerStr.value = map["firstAnswerStr"];
secondAnswerStr.value = map["secondAnswerStr"];
thirdAnswerStr.value = map["thirdAnswerStr"];
firstQuestionId.value = map["firstQuestionId"];
secondQuestionId.value = map["secondQuestionId"];
thirdQuestionId.value = map["thirdQuestionId"];
firstAnswerId.value = map["firstAnswerId"];
secondAnswerId.value = map["secondAnswerId"];
thirdAnswerId.value = map["thirdAnswerId"];
firstProblemStr.value = map['firstProblemStr'];
secondProblemStr.value = map['secondProblemStr'];
thirdProblemStr.value = map['thirdProblemStr'];
firstAnswerStr.value = map['firstAnswerStr'];
secondAnswerStr.value = map['secondAnswerStr'];
thirdAnswerStr.value = map['thirdAnswerStr'];
firstQuestionId.value = map['firstQuestionId'];
secondQuestionId.value = map['secondQuestionId'];
thirdQuestionId.value = map['thirdQuestionId'];
firstAnswerId.value = map['firstAnswerId'];
secondAnswerId.value = map['secondAnswerId'];
thirdAnswerId.value = map['thirdAnswerId'];
}
}
}

View File

@ -34,7 +34,7 @@ class _MinePersonInfoViewSafetyProblemPageState
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.safetyProblem!.tr,
barTitle: '安全问题'.tr,
haveBack: true,
actionsList: [
TextButton(
@ -69,7 +69,7 @@ class _MinePersonInfoViewSafetyProblemPageState
color: AppColors.greyBackgroundColor,
padding: EdgeInsets.all(20.h),
child: Text(
TranslationLoader.lanKeys!.safetyProblemTip!.tr,
'当你手机丢了,可以通过回答设置的安全问题来登录新设备'.tr,
style: TextStyle(fontSize: 18.sp),
)),
Obx(() => _safityProblemItem(

View File

@ -2,19 +2,19 @@ import 'package:get/get.dart';
import 'package:star_lock/translations/trans_lib.dart';
class MineViewSafetyProblemState {
var firstProblemStr = TranslationLoader.lanKeys!.problemOne!.tr.obs;
var secondProblemStr = TranslationLoader.lanKeys!.problemTwo!.tr.obs;
var thirdProblemStr = TranslationLoader.lanKeys!.problemThree!.tr.obs;
RxString firstProblemStr = '问题一'.tr.obs;
RxString secondProblemStr = '问题二'.tr.obs;
RxString thirdProblemStr = '问题三'.tr.obs;
var firstAnswerStr = ''.obs;
var secondAnswerStr = ''.obs;
var thirdAnswerStr = ''.obs;
RxString firstAnswerStr = ''.obs;
RxString secondAnswerStr = ''.obs;
RxString thirdAnswerStr = ''.obs;
var firstQuestionId = 0.obs;
var secondQuestionId = 0.obs;
var thirdQuestionId = 0.obs;
RxInt firstQuestionId = 0.obs;
RxInt secondQuestionId = 0.obs;
RxInt thirdQuestionId = 0.obs;
var firstAnswerId = 0.obs;
var secondAnswerId = 0.obs;
var thirdAnswerId = 0.obs;
RxInt firstAnswerId = 0.obs;
RxInt secondAnswerId = 0.obs;
RxInt thirdAnswerId = 0.obs;
}

View File

@ -48,8 +48,7 @@ class _APPUnlockNeedMobileNetworkingLockPageState extends State<APPUnlockNeedMob
backgroundColor: AppColors.mainBackgroundColor,
resizeToAvoidBottomInset: false,
appBar: TitleAppBar(
barTitle: TranslationLoader
.lanKeys!.appUnlockRequiresMobilePhoneAccessToTheLock!.tr,
barTitle: 'APP开锁时需手机连网的锁'.tr,
haveBack: true,
// actionsList: [
// IconButton(

View File

@ -34,7 +34,7 @@ class _AuthorityManagementPageState extends State<AuthorityManagementPage>
List tabs = [
'姓名'.tr,
TranslationLoader.lanKeys!.device!.tr
'设备'.tr
];
@override
@ -52,7 +52,7 @@ class _AuthorityManagementPageState extends State<AuthorityManagementPage>
appBar: AppBar(
backgroundColor: AppColors.mainColor,
title: Text(
TranslationLoader.lanKeys!.authorityManagement!.tr,
'批量授权'.tr,
style: TextStyle(
color: Colors.white,
fontSize: 28.sp,
@ -335,7 +335,7 @@ class _AuthorityManagementPageState extends State<AuthorityManagementPage>
//-
Widget _buildDeauthorizationBtn1() {
return SubmitBtn(
btnName: TranslationLoader.lanKeys!.deAuthorize!.tr,
btnName: '去授权'.tr,
onClick: () {
Navigator.pushNamed(context, Routers.getDeviceListPage);
},
@ -345,7 +345,7 @@ class _AuthorityManagementPageState extends State<AuthorityManagementPage>
//-
Widget _buildDeauthorizationBtn2() {
return SubmitBtn(
btnName: TranslationLoader.lanKeys!.deAuthorize!.tr,
btnName: '去授权'.tr,
onClick: () {
Navigator.pushNamed(context, Routers.getNameListPage);
},

View File

@ -21,7 +21,7 @@ class _GetDeviceListPageState extends State<GetDeviceListPage> {
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.associatedDevice!.tr,
barTitle: '关联设备'.tr,
haveBack: true,
backgroundColor: AppColors.mainColor,
),

View File

@ -21,7 +21,7 @@ class _GetNameListPageState extends State<GetNameListPage> {
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.associatedName!.tr,
barTitle: '关联姓名'.tr,
haveBack: true,
backgroundColor: AppColors.mainColor,
),

View File

@ -22,7 +22,7 @@ class _AddAuthorizedAdministratorManagePageState extends State<AddAuthorizedAdmi
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.authorizedAdmin!.tr,
barTitle: '授权管理员'.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: Column(

View File

@ -186,7 +186,7 @@ class _AddAuthorizedAdministratorPageState
'请输入手机号或者邮箱'.tr,
state.emailOrPhoneController)),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.countryAndRegion!.tr,
leftTitel: '国家/地区'.tr,
rightTitle: '',
isHaveLine: true,
isHaveRightWidget: true,

View File

@ -55,7 +55,7 @@ class _AuthorizedAdministratorListPageState
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.authorizedAdmin!.tr,
barTitle: '授权管理员'.tr,
haveBack: true,
backgroundColor: AppColors.mainColor,
actionsList: <Widget>[

View File

@ -49,8 +49,7 @@ class _HideInvalidUnlockPermissionsPageState
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(
barTitle:
TranslationLoader.lanKeys!.hideInvalidUnlockPermissions!.tr,
barTitle:'隐藏无效开锁权限'.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: Container(
@ -77,7 +76,7 @@ class _HideInvalidUnlockPermissionsPageState
children: [
Expanded(
child: Text(
'${"当前模式".tr} : ${_isOn == true ? TranslationLoader.lanKeys!.opened!.tr : TranslationLoader.lanKeys!.closed!.tr}',
'${"当前模式".tr} : ${_isOn == true ? '已开启'.tr : "已关闭".tr}',
style:
TextStyle(fontWeight: FontWeight.w600, fontSize: 22.sp),
)),
@ -88,8 +87,8 @@ class _HideInvalidUnlockPermissionsPageState
),
SubmitBtn(
btnName: _isOn == true
? TranslationLoader.lanKeys!.close!.tr
: TranslationLoader.lanKeys!.open!.tr,
? '关闭'.tr
: '开启'.tr,
borderRadius: 20.w,
fontSize: 32.sp,
// margin: EdgeInsets.only(left: 03.w, right: 30.w, top: 20.w),

View File

@ -31,7 +31,7 @@ class _LockGroupListPageState extends State<LockGroupListPage> {
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.lockGroup!.tr,
barTitle: '锁分组'.tr,
haveBack: true,
actionsList: <Widget>[
IconButton(

View File

@ -46,7 +46,7 @@ class _LockScreenPageState extends State<LockScreenPage> {
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.lockScreen!.tr,
barTitle: '锁屏'.tr,
// backAction: () {
// Navigator.pop(context, true);
// },
@ -80,7 +80,7 @@ class _LockScreenPageState extends State<LockScreenPage> {
children: [
Expanded(
child: Text(
'${"当前模式".tr} : ${_isOn == true ? TranslationLoader.lanKeys!.opened!.tr : TranslationLoader.lanKeys!.closed!.tr}',
'${"当前模式".tr} : ${_isOn == true ? '已开启'.tr : '已关闭'.tr}',
style:
TextStyle(fontWeight: FontWeight.w600, fontSize: 22.sp),
)),
@ -91,8 +91,8 @@ class _LockScreenPageState extends State<LockScreenPage> {
),
SubmitBtn(
btnName: _isOn == true
? TranslationLoader.lanKeys!.close!.tr
: TranslationLoader.lanKeys!.open!.tr,
? '关闭'.tr
: '开启'.tr,
onClick: () {
_isFirst = false;
setState(() {

View File

@ -47,13 +47,13 @@ class _LockUserManageListPageState extends State<LockUserManageListPage> {
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.lockUserManagement!.tr,
barTitle: '锁用户管理'.tr,
haveBack: true,
backgroundColor: AppColors.mainColor,
actionsList: <Widget>[
TextButton(
child: Text(
TranslationLoader.lanKeys!.aboutToExpire!.tr,
'即将到期'.tr,
style: TextStyle(color: Colors.white, fontSize: 24.sp),
),
onPressed: () {

View File

@ -47,7 +47,7 @@ class _OwnedKeyListPageState extends State<OwnedKeyListPage> {
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.ownedKey!.tr,
barTitle: '拥有的钥匙'.tr,
haveBack: true,
backgroundColor: AppColors.mainColor,
),
@ -76,7 +76,7 @@ class _OwnedKeyListPageState extends State<OwnedKeyListPage> {
padding:
EdgeInsets.only(left: 30.w, top: 20.w, right: 20.w, bottom: 10.w),
child: Text(
TranslationLoader.lanKeys!.ownedKey!.tr,
'拥有的钥匙'.tr,
style: TextStyle(fontSize: 24.sp),
),
),

View File

@ -9,7 +9,6 @@ import 'package:permission_handler/permission_handler.dart';
import 'package:star_lock/flavors.dart';
import 'package:star_lock/mine/mineSet/mineSet/mineSet_logic.dart';
import 'package:star_lock/mine/mineSet/mineSet/mineSet_state.dart';
import 'package:star_lock/tools/appFirstEnterHandle.dart';
import 'package:star_lock/tools/customer_tool.dart';
import '../../../appRouters.dart';
import '../../../app_settings/app_colors.dart';
@ -62,12 +61,12 @@ class _MineSetPageState extends State<MineSetPage>
appBar: widget.showAppBar
? F.sw(
skyCall: () => TitleAppBar(
barTitle: TranslationLoader.lanKeys!.moreSet!.tr,
barTitle: '更多设置'.tr,
haveBack: true,
backgroundColor: AppColors.mainColor,
),
xhjCall: () => TitleAppBar(
barTitle: TranslationLoader.lanKeys!.moreSet!.tr,
barTitle: '更多设置'.tr,
haveBack: true,
backgroundColor: Colors.white,
iconColor: AppColors.blackColor,
@ -174,7 +173,7 @@ class _MineSetPageState extends State<MineSetPage>
F.sw(
skyCall: () => const SizedBox(),
xhjCall: () => CommonItem(
leftTitel: TranslationLoader.lanKeys!.personalInformation!.tr,
leftTitel: '个人信息'.tr,
rightTitle: '',
isHaveLine: true,
isHaveDirection: true,
@ -182,7 +181,7 @@ class _MineSetPageState extends State<MineSetPage>
Get.toNamed(Routers.minePersonInfoPage);
})),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.pushNotification!.tr,
leftTitel: '消息推送'.tr,
rightTitle: '',
isHaveRightWidget: true,
isHaveLine: F.sw(
@ -205,7 +204,7 @@ class _MineSetPageState extends State<MineSetPage>
// Container(),
SizedBox(height: 10.h),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.lockUserManagement!.tr,
leftTitel: '锁用户管理'.tr,
rightTitle: '',
isHaveLine: true,
isHaveDirection: true,
@ -213,7 +212,7 @@ class _MineSetPageState extends State<MineSetPage>
Get.toNamed(Routers.lockUserManageLisPage);
}),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.authorizedAdmin!.tr,
leftTitel: '授权管理员'.tr,
rightTitle: '',
isHaveLine: true,
isHaveDirection: true,
@ -222,7 +221,7 @@ class _MineSetPageState extends State<MineSetPage>
}),
//by DaisyWu --
CommonItem(
leftTitel: TranslationLoader.lanKeys!.authorityManagement!.tr,
leftTitel: '批量授权'.tr,
rightTitle: '',
isHaveLine: true,
isHaveDirection: true,
@ -231,7 +230,7 @@ class _MineSetPageState extends State<MineSetPage>
// Toast.show(msg: "功能暂未开放");
}),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.lockGroup!.tr,
leftTitel: '锁分组'.tr,
rightTitle: '',
isHaveLine: true,
isHaveDirection: true,
@ -239,7 +238,7 @@ class _MineSetPageState extends State<MineSetPage>
Get.toNamed(Routers.lockGroupListPage);
}),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.transferSmartLock!.tr,
leftTitel: '转移智能锁'.tr,
rightTitle: '',
isHaveLine: true,
isHaveDirection: true,
@ -247,7 +246,7 @@ class _MineSetPageState extends State<MineSetPage>
Get.toNamed(Routers.transferSmartLockPage);
}),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.transferGateway!.tr,
leftTitel: '转移网关'.tr,
rightTitle: '',
isHaveLine: true,
isHaveDirection: true,
@ -258,7 +257,7 @@ class _MineSetPageState extends State<MineSetPage>
height: 10.h,
),
Obx(() => CommonItem(
leftTitel: TranslationLoader.lanKeys!.multiLanguage!.tr,
leftTitel: '多语言'.tr,
rightTitle: state.currentLanguage.value,
isHaveLine: true,
isHaveDirection: true,
@ -286,11 +285,10 @@ class _MineSetPageState extends State<MineSetPage>
})),
*/
Obx(() => CommonItem(
leftTitel:
TranslationLoader.lanKeys!.hideInvalidUnlockPermissions!.tr,
leftTitel:'隐藏无效开锁权限'.tr,
rightTitle: (state.hideExpiredAccessFlag.value == 1
? TranslationLoader.lanKeys!.opened!.tr
: TranslationLoader.lanKeys!.closed!.tr),
? '已开启'.tr
: '已关闭'.tr),
isHaveLine: true,
isHaveDirection: true,
action: () {
@ -303,8 +301,7 @@ class _MineSetPageState extends State<MineSetPage>
});
})),
CommonItem(
leftTitel: TranslationLoader
.lanKeys!.appUnlockRequiresMobilePhoneAccessToTheLock!.tr,
leftTitel: 'APP开锁时需手机连网的锁'.tr,
rightTitle: '',
// allHeight: 100.h,
isHaveLine: true,
@ -314,7 +311,7 @@ class _MineSetPageState extends State<MineSetPage>
context, Routers.aPPUnlockNeedMobileNetworkingLockPage);
}),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.valueAddedServices!.tr,
leftTitel: '增值服务'.tr,
isHaveLine: true,
isHaveDirection: true,
action: () {
@ -355,14 +352,14 @@ class _MineSetPageState extends State<MineSetPage>
}),
if (F.isXHJ)
CommonItem(
leftTitel: TranslationLoader.lanKeys!.supportStaff!.tr,
leftTitel: '客服'.tr,
isHaveLine: widget.showAbout,
isHaveDirection: true,
action: CustomerTool.openCustomerService,
),
if (widget.showAbout)
CommonItem(
leftTitel: TranslationLoader.lanKeys!.about!.tr,
leftTitel: '关于'.tr,
isHaveLine: false,
isHaveDirection: true,
action: () {
@ -408,7 +405,7 @@ class _MineSetPageState extends State<MineSetPage>
child: Column(
children: <Widget>[
SubmitBtn(
btnName: TranslationLoader.lanKeys!.logout!.tr,
btnName: '退出'.tr,
isDelete: true,
padding: EdgeInsets.symmetric(horizontal: 15.w),
onClick: () {
@ -425,7 +422,7 @@ class _MineSetPageState extends State<MineSetPage>
children: <Widget>[
TextButton(
child: Text(
TranslationLoader.lanKeys!.deleteAccount!.tr,
'删除账号'.tr,
style: TextStyle(
color: AppColors.darkGrayTextColor, fontSize: 18.sp),
),
@ -504,31 +501,31 @@ class _MineSetPageState extends State<MineSetPage>
// );
// }
CupertinoSwitch _isPrompToneSwitch() {
return CupertinoSwitch(
activeColor: CupertinoColors.activeBlue,
trackColor: CupertinoColors.systemGrey5,
thumbColor: CupertinoColors.white,
value: state.isPrompTone.value,
onChanged: (bool value) {
state.isPrompTone.value = !state.isPrompTone.value;
logic.updatePrompToneRequest();
},
);
}
// CupertinoSwitch _isPrompToneSwitch() {
// return CupertinoSwitch(
// activeColor: CupertinoColors.activeBlue,
// trackColor: CupertinoColors.systemGrey5,
// thumbColor: CupertinoColors.white,
// value: state.isPrompTone.value,
// onChanged: (bool value) {
// state.isPrompTone.value = !state.isPrompTone.value;
// logic.updatePrompToneRequest();
// },
// );
// }
CupertinoSwitch _isTouchUnlockSwitch() {
return CupertinoSwitch(
activeColor: CupertinoColors.activeBlue,
trackColor: CupertinoColors.systemGrey5,
thumbColor: CupertinoColors.white,
value: state.isTouchUnlock.value,
onChanged: (bool value) {
state.isTouchUnlock.value = !state.isTouchUnlock.value;
logic.updateTouchUnlockRequest();
},
);
}
// CupertinoSwitch _isTouchUnlockSwitch() {
// return CupertinoSwitch(
// activeColor: CupertinoColors.activeBlue,
// trackColor: CupertinoColors.systemGrey5,
// thumbColor: CupertinoColors.white,
// value: state.isTouchUnlock.value,
// onChanged: (bool value) {
// state.isTouchUnlock.value = !state.isTouchUnlock.value;
// logic.updateTouchUnlockRequest();
// },
// );
// }
//
CupertinoSwitch _isWechatPublicAccountPushSwitch() {

View File

@ -26,7 +26,7 @@ class _SelectGetewayListPageState extends State<SelectGetewayListPage> {
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.selectGateway!.tr,
barTitle: '选择网关'.tr,
haveBack: true,
backgroundColor: AppColors.mainColor,
actionsList: [

View File

@ -34,7 +34,7 @@ class _RecipientInformationPageState extends State<RecipientInformationPage> {
resizeToAvoidBottomInset: false,
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.recipientInformation!.tr,
barTitle: '接收人信息'.tr,
haveBack: true,
backgroundColor: AppColors.mainColor,
),
@ -173,7 +173,7 @@ class _RecipientInformationPageState extends State<RecipientInformationPage> {
height: 1,
),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.countryAndRegion!.tr,
leftTitel: '国家/地区'.tr,
rightTitle: '',
isHaveLine: true,
isHaveRightWidget: true,

View File

@ -26,7 +26,7 @@ class _SelectBranchPageState extends State<SelectBranchPage> {
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.recipientInformation!.tr,
barTitle: '接收人信息'.tr,
haveBack: true,
backgroundColor: AppColors.mainColor,
),

View File

@ -45,7 +45,7 @@ class _TransferSmartLockPageState extends State<TransferSmartLockPage> with Rout
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.selectiveLock!.tr,
barTitle: '选择锁'.tr,
haveBack: true,
backgroundColor: AppColors.mainColor,
actionsList: <Widget>[

View File

@ -21,14 +21,14 @@ class _SupportStaffPageState extends State<SupportStaffPage> {
return Scaffold(
backgroundColor: const Color(0xFFFFFFFF),
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.supportStaff!.tr,
barTitle: '客服'.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: Column(
children: [
children: <Widget>[
supportStaffItem(
TranslationLoader.lanKeys!.email!.tr,
"786612630@qq.com",
'邮箱'.tr,
'786612630@qq.com',
true,
true,
'images/mine/icon_mine_supportStaff_openEmail.png', () async {
@ -37,30 +37,30 @@ class _SupportStaffPageState extends State<SupportStaffPage> {
_pushUrl(url);
}),
supportStaffItem(
TranslationLoader.lanKeys!.businessCooperation!.tr,
"www.starLock.com",
'商务合作'.tr,
'www.starLock.com',
true,
true,
'images/mine/icon_mine_supportStaff_openEmail.png', () async {
const url = 'tel:15080825640';
const String url = 'tel:15080825640';
_pushUrl(url);
}),
supportStaffItem(
TranslationLoader.lanKeys!.officialWebsite!.tr,
"www.starLock.com",
'电脑网页版'.tr,
'www.starLock.com',
true,
true,
'images/mine/icon_mine_supportStaff_jump.png', () async {
const url = 'https://blog.csdn.net/shulianghan';
const String url = 'https://blog.csdn.net/shulianghan';
_pushUrl(url);
}),
supportStaffItem(TranslationLoader.lanKeys!.computerWebVersion!.tr,
"www.starLock.com", false, true, '', () {}),
supportStaffItem(TranslationLoader.lanKeys!.hotelSystem!.tr,
"www.starLock.com", false, true, '', () {}),
supportStaffItem('电脑网页版'.tr,
'www.starLock.com', false, true, '', () {}),
supportStaffItem('酒店系统'.tr,
'www.starLock.com', false, true, '', () {}),
supportStaffItem(
TranslationLoader.lanKeys!.manualWebVersion!.tr,
"www.starLock.com",
'说明书网页版'.tr,
'www.starLock.com',
true,
true,
'images/mine/icon_mine_supportStaff_jump.png',
@ -90,44 +90,40 @@ class _SupportStaffPageState extends State<SupportStaffPage> {
onTap: action,
child: Column(
// mainAxisAlignment: MainAxisAlignment.center,
children: [
children: <Widget>[
Container(
height: 80.h,
color: Colors.white,
padding: EdgeInsets.only(
left: 20.w, right: 10.w), // , top: 20.w, bottom: 20.w
child: Row(
children: [
children: <Widget>[
SizedBox(width: 20.w),
Expanded(
child: Text(leftTitel!, style: TextStyle(fontSize: 24.sp))),
SizedBox(width: 20.w),
Row(
mainAxisAlignment: MainAxisAlignment.end,
children: [
children: <Widget>[
Text(rightTitle!,
textAlign: TextAlign.end,
style: TextStyle(fontSize: 22.sp))
],
),
SizedBox(width: 5.w),
isHaveRightImg!
? Image.asset(
if (isHaveRightImg!) Image.asset(
rightImg!,
width: 36.w,
height: 36.w,
)
: SizedBox(width: 10.w),
) else SizedBox(width: 10.w),
// SizedBox(width:10.w),
],
),
),
isHaveLine!
? Container(
if (isHaveLine!) Container(
height: 0.5.h,
color: AppColors.greyLineColor,
)
: Container()
) else Container()
],
),
);

View File

@ -122,7 +122,7 @@ class _ValueAddedServicesHighFunctionPageState
),
child: Center(
child: Text(
TranslationLoader.lanKeys!.buy!.tr,
'购买'.tr,
style: TextStyle(fontSize: 22.sp),
)),
),
@ -147,7 +147,7 @@ class _ValueAddedServicesHighFunctionPageState
),
child: Center(
child: Text(
TranslationLoader.lanKeys!.record!.tr,
'记录'.tr,
style: TextStyle(fontSize: 22.sp),
)),
),
@ -176,8 +176,7 @@ class _ValueAddedServicesHighFunctionPageState
height: 30.w),
Expanded(
child: Text(
TranslationLoader
.lanKeys!.advancedFeaturesAndBenefitsContent!.tr,
'高级功能权益内容'.tr,
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 24.sp, fontWeight: FontWeight.w600)),
@ -225,19 +224,19 @@ class _ValueAddedServicesHighFunctionPageState
physics: const NeverScrollableScrollPhysics(),
children: <Widget>[
_buildItem('images/mine/icon_mine_highFunctionContent_dxmb.png',
TranslationLoader.lanKeys!.smsTemplate!.tr),
'短信模板'.tr),
_buildItem('images/mine/icon_mine_highFunctionContent_yjmb.png',
TranslationLoader.lanKeys!.emailTemplate!.tr),
'邮件模板'.tr),
_buildItem('images/mine/icon_mine_highFunctionContent_sqgly.png',
TranslationLoader.lanKeys!.authorizedAdmin!.tr),
'授权管理员'.tr),
_buildItem('images/mine/icon_mine_highFunctionContent_sfz.png',
TranslationLoader.lanKeys!.lockGroup!.tr),
'锁分组'.tr),
_buildItem('images/mine/icon_mine_highFunctionContent_bjft.png',
'群发钥匙'.tr),
// _buildItem("images/mine/icon_mine_highFunctionContent_bjft.png",
// TranslationLoader.lanKeys!.markedHouseState!.tr),
_buildItem('images/mine/icon_mine_highFunctionContent_fkgj.png',
TranslationLoader.lanKeys!.cardIssuingtool!.tr),
'发卡工具'.tr),
_buildItem(
'images/mine/icon_mine_highFunctionContent_fkgj.png', '推送'),
_buildItem(
@ -302,8 +301,7 @@ class _ValueAddedServicesHighFunctionPageState
),
Expanded(
child: Text(
TranslationLoader
.lanKeys!.titleForBuyingAdvancedFeatures!.tr,
'购买高级功能须知'.tr,
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 24.sp, fontWeight: FontWeight.w600))),
@ -327,7 +325,7 @@ class _ValueAddedServicesHighFunctionPageState
padding: EdgeInsets.only(
left: 30.w, top: 30.h, right: 30.w, bottom: 30.h),
child: Text(
TranslationLoader.lanKeys!.tipsForBuyingAdvancedFeatures!.tr,
'购买高级功能提示'.tr,
style: TextStyle(fontSize: 20.sp),
)),
),
@ -353,7 +351,7 @@ class _ValueAddedServicesHighFunctionPageState
),
child: Center(
child: Text(
TranslationLoader.lanKeys!.freeTrial!.tr,
'免费体验'.tr,
style: TextStyle(fontSize: 24.sp),
)),
),
@ -375,7 +373,7 @@ class _ValueAddedServicesHighFunctionPageState
),
child: Center(
child: Text(
TranslationLoader.lanKeys!.openNow!.tr,
'立即开通'.tr,
style:
TextStyle(fontSize: 24.sp, color: const Color(0xFFF9CEAC)),
)),

View File

@ -40,20 +40,20 @@ class _ValueAddedServicesPageListState
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.valueAddedServices!.tr,
barTitle: '增值服务'.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: ListView(
children: <Widget>[
_valueAddedServicesItem(
Image.asset('images/mine/icon_mine_valueAddedServices_note.png'),
TranslationLoader.lanKeys!.note!.tr, () {
'短信'.tr, () {
Get.toNamed(Routers.valueAddedServicesNoteAndEmailDetailPage,
arguments: <String, int>{'type': 1});
}),
_valueAddedServicesItem(
Image.asset('images/mine/icon_mine_valueAddedServices_email.png'),
TranslationLoader.lanKeys!.mail!.tr, () {
'邮件'.tr, () {
Get.toNamed(Routers.valueAddedServicesNoteAndEmailDetailPage,
arguments: <String, int>{'type': 2});
}),
@ -62,7 +62,7 @@ class _ValueAddedServicesPageListState
}),
_valueAddedServicesItem(
Image.asset('images/mine/icon_mine_valueAddedServices_vip.png'),
TranslationLoader.lanKeys!.advancedFunction!.tr, () async {
'高级功能'.tr, () async {
final bool? isVip = await Storage.getBool(saveIsVip);
if (isVip == null || !isVip) {
if (CommonDataManage().currentKeyInfo.isLockOwner != 1) {
@ -90,9 +90,8 @@ class _ValueAddedServicesPageListState
// Navigator.pushNamed(context, Routers.gatewayDetailPage);
// }),
_valueAddedServicesItem(
Image.asset(
'images/mine/icon_mine_valueAddedServices_storage.png'),
TranslationLoader.lanKeys!.recordsRetention!.tr, () {
Image.asset('images/mine/icon_mine_valueAddedServices_storage.png'),
'记录保存'.tr, () {
EasyLoading.showToast('功能暂未开放', duration: 2000.milliseconds);
}),
_valueAddedServicesItem(

View File

@ -39,8 +39,8 @@ class _ValueAddedServicesNoteAndEmailDetailPageState
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(
barTitle: state.selectType.value == 1
? TranslationLoader.lanKeys!.note!.tr
: TranslationLoader.lanKeys!.mail!.tr,
? '短信'.tr
: '邮件'.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: Column(
@ -51,8 +51,8 @@ class _ValueAddedServicesNoteAndEmailDetailPageState
left: 25.h, right: 25.h, top: 25.h, bottom: 10.h),
child: Text(
state.selectType.value == 1
? TranslationLoader.lanKeys!.smsBuyTip!.tr
: TranslationLoader.lanKeys!.emailBuyTip!.tr,
? '您可通过短信将密码、电子钥匙信息发给接收人。'.tr
: '您可通过邮件将密码、电子钥匙信息发给接收人。'.tr,
style: TextStyle(
color: AppColors.darkGrayTextColor, fontSize: 18.sp),
)),
@ -79,7 +79,7 @@ class _ValueAddedServicesNoteAndEmailDetailPageState
children: <Widget>[
Expanded(
child: Obx(() => Text(
'${TranslationLoader.lanKeys!.currentRemainingQuantity!.tr}:${state.remainCount.value}',
'${'当前剩余数量'.tr}:${state.remainCount.value}',
style: TextStyle(fontSize: 24.sp),
))),
GestureDetector(
@ -98,7 +98,7 @@ class _ValueAddedServicesNoteAndEmailDetailPageState
color: AppColors.mainColor,
borderRadius: BorderRadius.circular(25)),
child: Center(
child: Text(TranslationLoader.lanKeys!.buy!.tr,
child: Text('购买'.tr,
style: TextStyle(
color: Colors.white, fontSize: 24.sp)))),
),
@ -151,7 +151,7 @@ class _ValueAddedServicesNoteAndEmailDetailPageState
top: 5, bottom: 5, left: 5, right: 5),
// color: Colors.red,
child: Center(
child: Text(TranslationLoader.lanKeys!.record!.tr,
child: Text('记录'.tr,
style: TextStyle(
color: Colors.black, fontSize: 24.sp)))),
),

View File

@ -41,7 +41,7 @@ class _ValueAddedServicesRealNamePageState
padding: EdgeInsets.only(
left: 25.h, right: 25.h, top: 25.h, bottom: 10.h),
child: Text(
TranslationLoader.lanKeys!.buyRealNameTip!.tr,
'购买实名认证提示'.tr,
style: TextStyle(
color: AppColors.darkGrayTextColor, fontSize: 20.sp),
)),
@ -126,18 +126,17 @@ class _ValueAddedServicesRealNamePageState
Container(
padding: EdgeInsets.only(top: 20.h, bottom: 20.h, left: 30.w),
child: Text(
TranslationLoader
.lanKeys!.buyRealNameSelectYouWantBuyTip!.tr,
'请选择你希望的实名认证频次'.tr,
style:
TextStyle(fontSize: 24.sp, fontWeight: FontWeight.w600),
)),
],
),
checkCommonItem(
logic, TranslationLoader.lanKeys!.forTheFirstTime!.tr, 1),
checkCommonItem(logic, TranslationLoader.lanKeys!.onceDay!.tr, 2),
checkCommonItem(logic, TranslationLoader.lanKeys!.weekOnce!.tr, 3),
checkCommonItem(logic, TranslationLoader.lanKeys!.monthOnce!.tr, 4,
logic, '仅首次'.tr, 1),
checkCommonItem(logic, '每日一次'.tr, 2),
checkCommonItem(logic, '每周一次', 3),
checkCommonItem(logic, '每月一次'.tr, 4,
isHaveLine: false, isHaveRightWidget: true),
],
),

View File

@ -123,7 +123,7 @@ class _CustomSMSTemplateListPageState extends State<CustomSMSTemplateListPage> {
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text(
'${TranslationLoader.lanKeys!.currentState!.tr}${TranslationLoader.lanKeys!.onTrial!.tr}',
'${'当前状态'.tr}${'试用中'.tr}',
style: TextStyle(
fontSize: 20.sp, fontWeight: FontWeight.w600),
),

File diff suppressed because it is too large Load Diff