diff --git a/star_lock/images/controls_user.png b/star_lock/images/controls_user.png new file mode 100644 index 00000000..4bb2c1c2 Binary files /dev/null and b/star_lock/images/controls_user.png differ diff --git a/star_lock/images/getewayType_G2.png b/star_lock/images/getewayType_G2.png new file mode 100644 index 00000000..2f4920ea Binary files /dev/null and b/star_lock/images/getewayType_G2.png differ diff --git a/star_lock/images/icon_addressBook.png b/star_lock/images/icon_addressBook.png new file mode 100644 index 00000000..09aa9ba3 Binary files /dev/null and b/star_lock/images/icon_addressBook.png differ diff --git a/star_lock/images/icon_btn_add.png b/star_lock/images/icon_btn_add.png new file mode 100644 index 00000000..bc6e692c Binary files /dev/null and b/star_lock/images/icon_btn_add.png differ diff --git a/star_lock/images/icon_fingerprint.png b/star_lock/images/icon_fingerprint.png new file mode 100644 index 00000000..5a328b79 Binary files /dev/null and b/star_lock/images/icon_fingerprint.png differ diff --git a/star_lock/images/icon_lockGroup_item.png b/star_lock/images/icon_lockGroup_item.png new file mode 100644 index 00000000..68fa570c Binary files /dev/null and b/star_lock/images/icon_lockGroup_item.png differ diff --git a/star_lock/images/icon_password.png b/star_lock/images/icon_password.png new file mode 100644 index 00000000..e1c0f14a Binary files /dev/null and b/star_lock/images/icon_password.png differ diff --git a/star_lock/images/lan/lan_en.json b/star_lock/images/lan/lan_en.json index c7afa5e9..6e9c5107 100644 --- a/star_lock/images/lan/lan_en.json +++ b/star_lock/images/lan/lan_en.json @@ -199,9 +199,12 @@ "touchUnlock":"Touch Unlock", "pushNotification":"Push Notification", "lockUserManagement":"Lock User Management", + "aboutToExpire":"About to expire", "authorizedAdmin":"Authorized Admin", "lockGroup":"Lock Group", "transferSmartLock":"Transfer Smart Lock", + "selectiveLock":"Selective lock", + "recipientInformation":"recipientInformation", "transferGateway":"Transfer Gateway", "multiLanguage":"Multi Language", "lockScreen":"Lock Screen", diff --git a/star_lock/images/lan/lan_keys.json b/star_lock/images/lan/lan_keys.json index f7ea8a77..79399173 100644 --- a/star_lock/images/lan/lan_keys.json +++ b/star_lock/images/lan/lan_keys.json @@ -202,6 +202,8 @@ "authorizedAdmin":"authorizedAdmin", "lockGroup":"lockGroup", "transferSmartLock":"transferSmartLock", + "selectiveLock":"selectiveLock", + "recipientInformation":"recipientInformation", "transferGateway":"transferGateway", "multiLanguage":"multiLanguage", "lockScreen":"lockScreen", @@ -236,6 +238,7 @@ "problemTwo":"problemTwo", "problemThree":"problemThree", "pleaseEnterYourAnswer":"pleaseEnterYourAnswer", + "aboutToExpire":"aboutToExpire", "designation": "designation", "state": "state", diff --git a/star_lock/images/lan/lan_zh.json b/star_lock/images/lan/lan_zh.json index a149fc17..9700d58b 100644 --- a/star_lock/images/lan/lan_zh.json +++ b/star_lock/images/lan/lan_zh.json @@ -1,6 +1,6 @@ { "starLock":"星锁", - "clickUnlockAndHoldDownClose":"点击开锁,长按关闭", + "clickUnlockAndHoldDownClose":"点击开锁,长按关闭", "checkingIn":"考勤", "electronicKey":"电子钥匙", "password":"密码", @@ -202,6 +202,8 @@ "authorizedAdmin":"授权管理员", "lockGroup":"锁分组", "transferSmartLock":"转移智能锁", + "selectiveLock":"选择锁", + "recipientInformation":"接收人信息", "transferGateway":"转移网关", "multiLanguage":"多语言", "lockScreen":"锁屏", @@ -236,6 +238,7 @@ "problemTwo":"问题二", "problemThree":"问题三", "pleaseEnterYourAnswer":"请输入你的答案", + "aboutToExpire":"即将到期", "designation": "名称", "state": "状态", diff --git a/star_lock/images/lockType/addLock_touchScreen.png b/star_lock/images/lockType/addLock_touchScreen.png new file mode 100644 index 00000000..de3f3633 Binary files /dev/null and b/star_lock/images/lockType/addLock_touchScreen.png differ diff --git a/star_lock/images/lockType/lockType_allLocks.png b/star_lock/images/lockType/lockType_allLocks.png new file mode 100644 index 00000000..cf16d55f Binary files /dev/null and b/star_lock/images/lockType/lockType_allLocks.png differ diff --git a/star_lock/images/lockType/lockType_bicycleLock.png b/star_lock/images/lockType/lockType_bicycleLock.png new file mode 100644 index 00000000..459e3e20 Binary files /dev/null and b/star_lock/images/lockType/lockType_bicycleLock.png differ diff --git a/star_lock/images/lockType/lockType_doorLock.png b/star_lock/images/lockType/lockType_doorLock.png new file mode 100644 index 00000000..a7be3c3a Binary files /dev/null and b/star_lock/images/lockType/lockType_doorLock.png differ diff --git a/star_lock/images/lockType/lockType_intelligentLockCore.png b/star_lock/images/lockType/lockType_intelligentLockCore.png new file mode 100644 index 00000000..75e9c7db Binary files /dev/null and b/star_lock/images/lockType/lockType_intelligentLockCore.png differ diff --git a/star_lock/images/lockType/lockType_padlock.png b/star_lock/images/lockType/lockType_padlock.png new file mode 100644 index 00000000..78c19584 Binary files /dev/null and b/star_lock/images/lockType/lockType_padlock.png differ diff --git a/star_lock/images/lockType/lockType_parkingLock.png b/star_lock/images/lockType/lockType_parkingLock.png new file mode 100644 index 00000000..9e174dd3 Binary files /dev/null and b/star_lock/images/lockType/lockType_parkingLock.png differ diff --git a/star_lock/images/lockType/lockType_remoteControl.png b/star_lock/images/lockType/lockType_remoteControl.png new file mode 100644 index 00000000..104c3f79 Binary files /dev/null and b/star_lock/images/lockType/lockType_remoteControl.png differ diff --git a/star_lock/images/lockType/lockType_safeLock.png b/star_lock/images/lockType/lockType_safeLock.png new file mode 100644 index 00000000..2d4a05f7 Binary files /dev/null and b/star_lock/images/lockType/lockType_safeLock.png differ diff --git a/star_lock/images/normal_circle.png b/star_lock/images/normal_circle.png new file mode 100644 index 00000000..7884e181 Binary files /dev/null and b/star_lock/images/normal_circle.png differ diff --git a/star_lock/images/select_circle.png b/star_lock/images/select_circle.png new file mode 100644 index 00000000..a14a5c4f Binary files /dev/null and b/star_lock/images/select_circle.png differ diff --git a/star_lock/lib/appRouters.dart b/star_lock/lib/appRouters.dart index 4d6223ea..511ecde2 100644 --- a/star_lock/lib/appRouters.dart +++ b/star_lock/lib/appRouters.dart @@ -1,6 +1,12 @@ - +import 'package:flutter/material.dart'; import 'package:get/get.dart'; +import 'package:star_lock/mine/mineSet/lockGroup/lockGroupList_page.dart'; +import 'package:star_lock/mine/mineSet/lockUserManage/lockUserManageList_page.dart'; import 'package:star_lock/mine/mineSet/mineSet_page.dart'; +import 'package:star_lock/mine/mineSet/transferGateway/selectGetewayList_page.dart'; +import 'package:star_lock/mine/mineSet/transferSmartLock/recipientInformation_page.dart'; +import 'package:star_lock/mine/mineSet/transferSmartLock/selectBranch_page.dart'; +import 'package:star_lock/mine/mineSet/transferSmartLock/transferSmartLock_page.dart'; import 'login/forgetPassword/starLock_forgetPassword_page.dart'; import 'login/login/starLock_login_page.dart'; @@ -85,6 +91,7 @@ import 'mine/minePersonInfo/minePersonInfoResetPassword/minePersonInfoResetPassw import 'mine/minePersonInfo/minePersonInfoSetSafetyProblem/minePersonInfoSetSafetyProblem_page.dart'; import 'mine/mineSet/appUnlockNeedMobileNetworkingLock/appUnlockNeedMobileNetworkingLock_page.dart'; import 'mine/mineSet/hideInvalidUnlockPermissions/hideInvalidUnlockPermissions_page.dart'; +import 'mine/mineSet/lockGroup/lockItemList_page.dart'; import 'mine/mineSet/lockScreen/lockScreen_page.dart'; import 'mine/mine_page.dart'; import 'mine/supportStaff/supportStaff_page.dart'; @@ -98,113 +105,160 @@ import 'mine/valueAddedServices/valueAddedServicesNoteAndEmailDetail/valueAddedS import 'mine/valueAddedServices/valueAddedServicesRealName/valueAddedServicesRealName_page.dart'; import 'mine/valueAddedServices/valueAddedServicesSMSTemplate/valueAddedServicesAddSMSTemplate/valueAddedServicesAddSMSTemplate_page.dart'; import 'mine/valueAddedServices/valueAddedServicesSMSTemplate/valueAddedServicesListSMSTemplate/valueAddedServicesListSMSTemplate_page.dart'; +import 'mine/mineSet/authorizedAdministrator/authorizedAdministratorList_page.dart'; import 'starLockApplication.dart'; abstract class Routers { - static const initial = '/';// 加载页 - static const starLockMain = '/StarLockMain';// 首页 - static const starLockMinePage = '/StarLockMinePage';// 我的 - static const seletLockTypePage = '/SeletLockTypePage';// 选择锁类型 - static const addLockPage = '/AddLockPage';// 选择锁类型 - static const nearbyLockPage = '/NearbyLockPage';// 附近的锁 - static const lockAddressPage = '/LockAddressPage';// 锁地址 - static const saveLockPage = '/SaveLockPage';// 保存锁 - static const lockDetailPage = '/LockDetailPage';// 锁详情 - static const electronicKeyListPage = '/ElectronicKeyListPage';// 电子钥匙列表 - static const electronicKeyDetailPage = '/ElectronicKeyDetailPage';// 电子钥匙详情 - static const electronicKeyDetailChangeDate = '/ElectronicKeyDetailChangeDate';// 修改有效期 - static const sendElectronicKeyManagePage = '/SendElectronicKeyManagePage';// 发送电子钥匙 - static const massSendElectronicKeyManagePage = '/MassSendElectronicKeyManagePage';// 群发钥匙 - static const electronicKeyPeriodValidityPage = '/ElectronicKeyPeriodValidityPage';// 电子钥匙有效期 - static const sendEmailNotificationPage = '/SendEmailNotificationPage';// 邮件通知 - static const passwordKeyListPage = '/PasswordKeyListPage';// 密码钥匙列表 - static const passwordKeyManagePage = '/PasswordKeyManagePage';// 密码钥匙 - static const passwordKeyDetailPage = '/PasswordKeyDetailPage';// 密码钥匙详情 - static const otherTypeKeyListPage = '/OtherTypeKeyListPage';// 卡、指纹、遥控钥匙列表 - static const otherTypeKeyDetailPage = '/OtherTypeKeyDetailPage';// 卡、指纹、遥控钥匙详情 - static const otherTypeKeyManagePage = '/OtherTypeKeyManagePage';// 卡、指纹、遥控钥匙添加 - static const authorizedAdminListPage = '/AuthorizedAdminListPage';// 授权管理员列表 - static const authorizedAdminDetailPage = '/AuthorizedAdminDetailPage';// 授权管理员详情 - static const authorizedAdminManagePage = '/AuthorizedAdminManagePage';// 授权管理员 - static const volumeAuthorizationLockManagePage = '/VolumeAuthorizationLockManagePage';// 批量授权锁 - static const lockOperatingRecordPage = '/LockOperatingRecordPage';// 操作记录 - static const lockSetPage = '/LockSetPage';// 锁设置 - static const basicInformationPage = '/BasicInformationPage';// 基本信息 - static const uploadElectricQuantityPage = '/UploadElectricQuantityPage';// 更新锁电量 - static const editLockNamePage = '/EditLockNamePage';// 修改锁名字 - static const lockSeletGroupingPage = '/LockSeletGroupingPage';// 锁选择分组 - static const adminOpenLockPasswordPage = '/AdminOpenLockPasswordPage';// 管理员开锁密码 - static const wirelessKeyboardPage = '/WirelessKeyboardPage';// 蓝牙键盘 - static const addWirelessKeyboardPage = '/AddWirelessKeyboardPage';// 添加蓝牙键盘 - static const addWirelessKeyboardScreenNotLightOnPage = '/AddWirelessKeyboardScreenNotLightOnPage';// 添加蓝牙键盘屏幕不亮时提示 - static const seletWirelessKeyboardPage = '/SeletWirelessKeyboardPage';// 选择蓝牙键盘 - static const doorMagneticPage = '/DoorMagneticPage';// 门磁列表 - static const addDoorMagneticPage = '/AddDoorMagneticPage';// 添加门磁 - static const nearbyDoorMagneticPage = '/NearbyDoorMagneticPage';// 附近的门磁 - static const remoteUnlockingPage = '/RemoteUnlockingPage';// 远程开锁 - static const automaticBlockingPage = '/AutomaticBlockingPage';// 自动闭锁 - static const normallyOpenModePage = '/NormallyOpenModePage';// 常开模式 - static const lockSoundSetPage = '/LockSoundSetPage';// 锁声音 - static const burglarAlarmPage = '/BurglarAlarmPage';// 防撬警报 - static const resetButtonPage = '/ResetButtonPage';// 锁重置键 - static const unlockQRCodePage = '/UnlockQRCodePage';// 开锁二维码 - static const lockTimePage = '/LockTimePage';// 锁时间 - static const diagnosePage = '/DiagnosePage';// 诊断 - static const uploadDataPage = '/UploadDataPage';// 上传数据 - static const importOtherLockDataPage = '/ImportOtherLockDataPage';// 导入其他锁数据 - static const lockEscalationPage = '/LockEscalationPage';// 锁升级 - static const markedHouseStatePage = '/MarkedHouseStatePage';// 标记房态 - static const checkingInListPage = '/CheckingInListPage';// 考勤 - static const checkingInSetPage = '/CheckingInSetPage';// 考勤设置 - static const checkingInStaffManagePage = '/CheckingInStaffManagePage';// 员工管理 - static const checkingInAddStaffPage = '/CheckingInAddStaffPage';// 添加员工 - static const checkingInSetWorkTimePage = '/CheckingInSetWorkTimePage';// 工作时间设置 - static const checkingInSetWorkdaySet = '/CheckingInSetWorkdaySet';// 工作日设置 - static const checkingInSetHolidaysPage = '/CheckingInSetHolidaysPage';// 节假日设置 - static const checkingInAddHolidaysPage = '/CheckingInAddHolidaysPage';// 添加假日 - static const checkingInDetailPage = '/CheckingInDetailPage';// 考勤详情 + static const initial = '/'; // 加载页 + static const starLockMain = '/StarLockMain'; // 首页 + static const starLockMinePage = '/StarLockMinePage'; // 我的 + static const seletLockTypePage = '/SeletLockTypePage'; // 选择锁类型 + static const addLockPage = '/AddLockPage'; // 选择锁类型 + static const nearbyLockPage = '/NearbyLockPage'; // 附近的锁 + static const lockAddressPage = '/LockAddressPage'; // 锁地址 + static const saveLockPage = '/SaveLockPage'; // 保存锁 + static const lockDetailPage = '/LockDetailPage'; // 锁详情 + static const electronicKeyListPage = '/ElectronicKeyListPage'; // 电子钥匙列表 + static const electronicKeyDetailPage = '/ElectronicKeyDetailPage'; // 电子钥匙详情 + static const electronicKeyDetailChangeDate = + '/ElectronicKeyDetailChangeDate'; // 修改有效期 + static const sendElectronicKeyManagePage = + '/SendElectronicKeyManagePage'; // 发送电子钥匙 + static const massSendElectronicKeyManagePage = + '/MassSendElectronicKeyManagePage'; // 群发钥匙 + static const electronicKeyPeriodValidityPage = + '/ElectronicKeyPeriodValidityPage'; // 电子钥匙有效期 + static const sendEmailNotificationPage = '/SendEmailNotificationPage'; // 邮件通知 + static const passwordKeyListPage = '/PasswordKeyListPage'; // 密码钥匙列表 + static const passwordKeyManagePage = '/PasswordKeyManagePage'; // 密码钥匙 + static const passwordKeyDetailPage = '/PasswordKeyDetailPage'; // 密码钥匙详情 + static const otherTypeKeyListPage = '/OtherTypeKeyListPage'; // 卡、指纹、遥控钥匙列表 + static const otherTypeKeyDetailPage = + '/OtherTypeKeyDetailPage'; // 卡、指纹、遥控钥匙详情 + static const otherTypeKeyManagePage = + '/OtherTypeKeyManagePage'; // 卡、指纹、遥控钥匙添加 + static const authorizedAdminListPage = '/AuthorizedAdminListPage'; // 授权管理员列表 + static const authorizedAdminDetailPage = + '/AuthorizedAdminDetailPage'; // 授权管理员详情 + static const authorizedAdminManagePage = + '/AuthorizedAdminManagePage'; // 授权管理员 + static const volumeAuthorizationLockManagePage = + '/VolumeAuthorizationLockManagePage'; // 批量授权锁 + static const lockOperatingRecordPage = '/LockOperatingRecordPage'; // 操作记录 + static const lockSetPage = '/LockSetPage'; // 锁设置 + static const basicInformationPage = '/BasicInformationPage'; // 基本信息 + static const uploadElectricQuantityPage = + '/UploadElectricQuantityPage'; // 更新锁电量 + static const editLockNamePage = '/EditLockNamePage'; // 修改锁名字 + static const lockSeletGroupingPage = '/LockSeletGroupingPage'; // 锁选择分组 + static const adminOpenLockPasswordPage = + '/AdminOpenLockPasswordPage'; // 管理员开锁密码 + static const wirelessKeyboardPage = '/WirelessKeyboardPage'; // 蓝牙键盘 + static const addWirelessKeyboardPage = '/AddWirelessKeyboardPage'; // 添加蓝牙键盘 + static const addWirelessKeyboardScreenNotLightOnPage = + '/AddWirelessKeyboardScreenNotLightOnPage'; // 添加蓝牙键盘屏幕不亮时提示 + static const seletWirelessKeyboardPage = + '/SeletWirelessKeyboardPage'; // 选择蓝牙键盘 + static const doorMagneticPage = '/DoorMagneticPage'; // 门磁列表 + static const addDoorMagneticPage = '/AddDoorMagneticPage'; // 添加门磁 + static const nearbyDoorMagneticPage = '/NearbyDoorMagneticPage'; // 附近的门磁 + static const remoteUnlockingPage = '/RemoteUnlockingPage'; // 远程开锁 + static const automaticBlockingPage = '/AutomaticBlockingPage'; // 自动闭锁 + static const normallyOpenModePage = '/NormallyOpenModePage'; // 常开模式 + static const lockSoundSetPage = '/LockSoundSetPage'; // 锁声音 + static const burglarAlarmPage = '/BurglarAlarmPage'; // 防撬警报 + static const resetButtonPage = '/ResetButtonPage'; // 锁重置键 + static const unlockQRCodePage = '/UnlockQRCodePage'; // 开锁二维码 + static const lockTimePage = '/LockTimePage'; // 锁时间 + static const diagnosePage = '/DiagnosePage'; // 诊断 + static const uploadDataPage = '/UploadDataPage'; // 上传数据 + static const importOtherLockDataPage = '/ImportOtherLockDataPage'; // 导入其他锁数据 + static const lockEscalationPage = '/LockEscalationPage'; // 锁升级 + static const markedHouseStatePage = '/MarkedHouseStatePage'; // 标记房态 + static const checkingInListPage = '/CheckingInListPage'; // 考勤 + static const checkingInSetPage = '/CheckingInSetPage'; // 考勤设置 + static const checkingInStaffManagePage = '/CheckingInStaffManagePage'; // 员工管理 + static const checkingInAddStaffPage = '/CheckingInAddStaffPage'; // 添加员工 + static const checkingInSetWorkTimePage = + '/CheckingInSetWorkTimePage'; // 工作时间设置 + static const checkingInSetWorkdaySet = '/CheckingInSetWorkdaySet'; // 工作日设置 + static const checkingInSetHolidaysPage = + '/CheckingInSetHolidaysPage'; // 节假日设置 + static const checkingInAddHolidaysPage = '/CheckingInAddHolidaysPage'; // 添加假日 + static const checkingInDetailPage = '/CheckingInDetailPage'; // 考勤详情 - static const mineSetPage = '/MineSetPage';// 我的设置 - static const mineMultiLanguagePage = '/MineMultiLanguagePage';// 我的设置 - static const minePersonInfoPage = '/MinePersonInfoPage';// 我的信息 - static const minePersonInfoEditNamePage = '/MinePersonInfoEditNamePage';// 我的信息编辑昵称 - static const minePersonInfoEditAccountPage = '/MinePersonInfoEditAccountPage';// 我的信息修改账号 - static const minePersonInfoEditAccountNextPage = '/MinePersonInfoEditAccountNextPage';// 我的信息修改账号下一页 - static const minePersonInfoEditIphonePage = '/MinePersonInfoEditIphonePage';// 我的信息修改手机号 - static const minePersonInfoResetPasswordPage = '/MinePersonInfoResetPasswordPage';// 我的信息重置密码 - static const minePersonInfoSetSafetyProblemPage = '/MinePersonInfoSetSafetyProblemPage';// 我的信息设置安全问题 + static const mineSetPage = '/MineSetPage'; // 我的设置 + static const mineMultiLanguagePage = '/MineMultiLanguagePage'; // 我的设置 + static const minePersonInfoPage = '/MinePersonInfoPage'; // 我的信息 + static const minePersonInfoEditNamePage = + '/MinePersonInfoEditNamePage'; // 我的信息编辑昵称 + static const minePersonInfoEditAccountPage = + '/MinePersonInfoEditAccountPage'; // 我的信息修改账号 + static const minePersonInfoEditAccountNextPage = + '/MinePersonInfoEditAccountNextPage'; // 我的信息修改账号下一页 + static const minePersonInfoEditIphonePage = + '/MinePersonInfoEditIphonePage'; // 我的信息修改手机号 + static const minePersonInfoResetPasswordPage = + '/MinePersonInfoResetPasswordPage'; // 我的信息重置密码 + static const minePersonInfoSetSafetyProblemPage = + '/MinePersonInfoSetSafetyProblemPage'; // 我的信息设置安全问题 - static const gatewayListPage = '/GatewayListPage';// 我的-网关 - static const gatewayDetailPage = '/GatewayDetailPage';// 我的-网关详情 - static const gatewayConnectionLockPage = '/GatewayConnectionLockPage';// 我的-网关网关链接的锁 - static const seletGatewayTypePage = '/SeletGatewayTypePage';// 我的-选择网关类型 - static const seletGatewayTypeNextTipPage = '/SeletGatewayTypeNextTipPage';// 我的-选择网关类型下一步 - static const seletGatewayPage = '/SeletGatewayPage';// 我的-选择网关 - static const gatewayConfigurationWifiPage = '/GatewayConfigurationWifiPage';// 我的-网关配置wifi + static const gatewayListPage = '/GatewayListPage'; // 我的-网关 + static const gatewayDetailPage = '/GatewayDetailPage'; // 我的-网关详情 + static const gatewayConnectionLockPage = + '/GatewayConnectionLockPage'; // 我的-网关网关链接的锁 + static const seletGatewayTypePage = '/SeletGatewayTypePage'; // 我的-选择网关类型 + static const seletGatewayTypeNextTipPage = + '/SeletGatewayTypeNextTipPage'; // 我的-选择网关类型下一步 + static const seletGatewayPage = '/SeletGatewayPage'; // 我的-选择网关 + static const gatewayConfigurationWifiPage = + '/GatewayConfigurationWifiPage'; // 我的-网关配置wifi - static const messageListPage = '/MessageListPage';// 我的-消息 - static const supportStaffPage = '/SupportStaffPage';// 我的-客服 - static const valueAddedServicesPage = '/ValueAddedServicesPage';// 我的-增值服务 - static const abountPage = '/AbountPage';// 我的-关于 + static const messageListPage = '/MessageListPage'; // 我的-消息 + static const supportStaffPage = '/SupportStaffPage'; // 我的-客服 + static const valueAddedServicesPage = '/ValueAddedServicesPage'; // 我的-增值服务 + static const abountPage = '/AbountPage'; // 我的-关于 - static const valueAddedServicesNoteAndEmailDetailPage = '/ValueAddedServicesNoteAndEmailDetailPage';// 增值服务-短信邮件详情 - static const valueAddedServicesRealNamePage = '/ValueAddedServicesRealNamePage';// 增值服务-实名认证详情 - static const valueAddedServicesHighFunctionPage = '/ValueAddedServicesHighFunctionPage';// 增值服务-高级功能 - static const valueAddedServicesBuyPage = '/ValueAddedServicesBuyPage';// 增值服务-购买服务 - static const valueAddedServicesListSMSTemplatePage = '/ValueAddedServicesListSMSTemplatePage';// 增值服务-短信模版列表 - static const valueAddedServicesAddSMSTemplatePage = '/valueAddedServicesAddSMSTemplatePage';// 增值服务-自定义短信模版 - static const valueAddedServicesListEmailTemplatePage = '/ValueAddedServicesListEmailTemplatePage';// 增值服务-邮箱模版列表 - static const valueAddedServicesAddEmailTemplatePage = '/ValueAddedServicesAddEmailTemplatePage';// 增值服务-自定义邮箱模版 - static const valueAddedServicesBuyAndUseRecordManagePage = '/ValueAddedServicesBuyAndUseRecordManagePage';// 增值服务-购买使用记录 + static const valueAddedServicesNoteAndEmailDetailPage = + '/ValueAddedServicesNoteAndEmailDetailPage'; // 增值服务-短信邮件详情 + static const valueAddedServicesRealNamePage = + '/ValueAddedServicesRealNamePage'; // 增值服务-实名认证详情 + static const valueAddedServicesHighFunctionPage = + '/ValueAddedServicesHighFunctionPage'; // 增值服务-高级功能 + static const valueAddedServicesBuyPage = + '/ValueAddedServicesBuyPage'; // 增值服务-购买服务 + static const valueAddedServicesListSMSTemplatePage = + '/ValueAddedServicesListSMSTemplatePage'; // 增值服务-短信模版列表 + static const valueAddedServicesAddSMSTemplatePage = + '/valueAddedServicesAddSMSTemplatePage'; // 增值服务-自定义短信模版 + static const valueAddedServicesListEmailTemplatePage = + '/ValueAddedServicesListEmailTemplatePage'; // 增值服务-邮箱模版列表 + static const valueAddedServicesAddEmailTemplatePage = + '/ValueAddedServicesAddEmailTemplatePage'; // 增值服务-自定义邮箱模版 + static const valueAddedServicesBuyAndUseRecordManagePage = + '/ValueAddedServicesBuyAndUseRecordManagePage'; // 增值服务-购买使用记录 - static const lockScreenPage = '/LockScreenPage';// 我的设置-锁屏 - static const aPPUnlockNeedMobileNetworkingLockPage = '/APPUnlockNeedMobileNetworkingLockPage';// 我的设置-app开锁时需手机连网的锁 - static const hideInvalidUnlockPermissionsPage = '/HideInvalidUnlockPermissionsPage';// 我的设置-隐藏无效开锁权限 + static const lockScreenPage = '/LockScreenPage'; // 我的设置-锁屏 + static const aPPUnlockNeedMobileNetworkingLockPage = + '/APPUnlockNeedMobileNetworkingLockPage'; // 我的设置-app开锁时需手机连网的锁 + static const hideInvalidUnlockPermissionsPage = + '/HideInvalidUnlockPermissionsPage'; // 我的设置-隐藏无效开锁权限 - static const starLockLoginPage = '/StarLockLoginPage';// 登录 - static const starLockRegisterPage = '/StarLockRegisterPage';// 注册 - static const starLockForgetPasswordPage = '/StarLockForgetPasswordPage';// 忘记密码 - static const seletCountryRegionPage = '/SeletCountryRegionPage';// 选择国家和地区 + static const lockUserManageLisPage = '/LockUserManageLisPage'; //我的设置-锁用户管理 + static const authorizedAdministratorListPage = + '/AuthorizedAdministratorListPage'; //我的设置-授权管理员 + static const lockGroupListPage = '/LockGroupListPage'; //我的设置-锁分组 + static const lockItemListPage = '/LockItemListPage'; //锁分组-锁列表 + static const transferSmartLockPage = '/transferSmartLockPage'; //转移智能锁 + static const recipientInformationPage = '/recipientInformationPage'; //接受人信息 + static const selectBranchPage = '/SelectBranchPage'; //选择分店 + static const selectGetewayListPage = '/selectGetewayListPage'; //选择网关 + + static const starLockLoginPage = '/StarLockLoginPage'; // 登录 + static const starLockRegisterPage = '/StarLockRegisterPage'; // 注册 + static const starLockForgetPasswordPage = + '/StarLockForgetPasswordPage'; // 忘记密码 + static const seletCountryRegionPage = '/SeletCountryRegionPage'; // 选择国家和地区 } abstract class AppRouters { @@ -424,7 +478,7 @@ abstract class AppRouters { GetPage( name: Routers.lockTimePage, page: () => const LockTimePage(), - ),// 诊断 + ), // 诊断 GetPage( name: Routers.diagnosePage, page: () => const DiagnosePage(), @@ -601,5 +655,26 @@ abstract class AppRouters { name: Routers.hideInvalidUnlockPermissionsPage, page: () => const HideInvalidUnlockPermissionsPage(), ), + GetPage( + name: Routers.authorizedAdministratorListPage, + page: () => const AuthorizedAdministratorListPage()), + GetPage( + name: Routers.lockUserManageLisPage, + page: () => const LockUserManageListListPage()), + GetPage( + name: Routers.lockGroupListPage, page: () => const LockGroupListPage()), + GetPage( + name: Routers.lockItemListPage, page: () => const LockItemListPage()), + GetPage( + name: Routers.transferSmartLockPage, + page: () => const TransferSmartLockPage()), + GetPage( + name: Routers.recipientInformationPage, + page: () => const RecipientInformationPage()), + GetPage( + name: Routers.selectBranchPage, page: () => const SelectBranchPage()), + GetPage( + name: Routers.selectGetewayListPage, + page: () => const SelectGetewayListPage()) ]; -} \ No newline at end of file +} diff --git a/star_lock/lib/app_settings/app_colors.dart b/star_lock/lib/app_settings/app_colors.dart index c505b278..746a9ab9 100644 --- a/star_lock/lib/app_settings/app_colors.dart +++ b/star_lock/lib/app_settings/app_colors.dart @@ -1,10 +1,8 @@ - import 'dart:ui'; import 'package:flutter/material.dart'; class AppColors { - // static Color mainColor = const Color(0xFF385DEA); static Color mainColor = const Color(0xFF4777EE); static Color mainBackgroundColor = const Color(0xFFF5F5F5); @@ -22,7 +20,6 @@ class AppColors { static Color buttonEnableTextColor = const Color(0xFFFFFFFF); static Color buttonDisableTextColor = buttonEnableTextColor.withOpacity(0.6); - static Color deleteBtnBgColor = const Color(0xFFFF495C).withOpacity(0.7); static Color touristColor = const Color(0xFFF58A22); @@ -37,20 +34,21 @@ class AppColors { static Color dialogInputBgColor = pickerItemSelectedBgColor; static Color introduceDialogBgColor = const Color(0xFF112B4C); - static Color pickerTitleTextColor = const Color(0xFF000000); static Color pickerInfoTextColor = pickerTitleTextColor.withOpacity(0.5); static Color pickerItemSelectedTextColor = const Color(0xFF0093E5); static Color pickerItemSelectedBgColor = const Color(0xFFE4E4E4); - static Color pickerItemUnselectTextColor = pickerTitleTextColor.withOpacity(0.5); + static Color pickerItemUnselectTextColor = + pickerTitleTextColor.withOpacity(0.5); static Color normalTextColor = const Color(0xFFFFFFFF); static Color inputErrorTextColor = const Color(0xFFFF6666); - static Color errorImageColor = const Color(0xFFFF495C ); + static Color errorImageColor = const Color(0xFFFF495C); static Color inputTitleTextColor = const Color(0xFFFFFFFF).withOpacity(0.6); - static Color settingItemInfoTextColor = const Color(0xFFFFFFFF).withOpacity(0.6); - static Color dividerColor = const Color(0xFFFFFFFF).withOpacity(0.6); + static Color settingItemInfoTextColor = + const Color(0xFFFFFFFF).withOpacity(0.6); + static Color dividerColor = const Color(0xFFFFFFFF).withOpacity(0.6); static Color textFieldEnableBorderColor = normalTextColor.withOpacity(0.2); static Color textFieldFocusBorderColor = normalTextColor.withOpacity(0.2); @@ -59,7 +57,6 @@ class AppColors { static Color protocolTextColor = touristColor; - static Color topTabBarSelectedBgColor = buttonEnableColor; static Color topTabBarUnselectedBgColor = buttonEnableTextColor; static Color tapTabBarSelectedTextColor = buttonEnableTextColor; @@ -71,26 +68,26 @@ class AppColors { static Color wifiDisableColor = const Color(0xFFA8A8A8); - static Color get paginationColor => const Color(0xFF01295C).withOpacity(45); - static Color get paginationActiveColor => const Color(0xFFFFFFFF).withOpacity(65); + static Color get paginationActiveColor => + const Color(0xFFFFFFFF).withOpacity(65); static Color scanPointerLineColor = Colors.blue; - static Color scanColor0 = const Color(0xFF0093E5).withOpacity(0.05); + static Color scanColor0 = const Color(0xFF0093E5).withOpacity(0.05); static Color scanColor1 = const Color(0xFF0093E5).withOpacity(0.1); static Color scanColor2 = const Color(0xFF0093E5).withOpacity(0.3); static Color scanColor3 = const Color(0xFF0093E5).withOpacity(0.5); static Color scanColor4 = const Color(0xFF0093E5).withOpacity(0.9); - static Color scanCircleCenterColor0 = Colors.blue.withOpacity(0.9); - static Color scanCircleCenterColor1 = const Color(0xffE9F3FF).withOpacity(0.8); + static Color scanCircleCenterColor0 = Colors.blue.withOpacity(0.9); + static Color scanCircleCenterColor1 = + const Color(0xffE9F3FF).withOpacity(0.8); static Color starCenterColor = const Color(0xFF0093E5); - static Color starMiddleColor = const Color.fromRGBO(255, 255, 255,1); - static Color starBorderColor = const Color.fromRGBO(255, 255, 255,0.2); - static Color starOutsideColor = const Color.fromRGBO(255, 255, 255,0.01); - + static Color starMiddleColor = const Color.fromRGBO(255, 255, 255, 1); + static Color starBorderColor = const Color.fromRGBO(255, 255, 255, 0.2); + static Color starOutsideColor = const Color.fromRGBO(255, 255, 255, 0.01); static Color workingStateInfoBgColor = const Color(0xFF20354E); @@ -98,9 +95,9 @@ class AppColors { static Color color_level_1 = const Color(0xFFFFFFFF); static Color color_level_2 = const Color(0xFFF7B500); - static Color switchTrackSelectedColor = const Color(0xFF0093E5); - static Color switchTrackUnselectedColor = const Color(0xFF5A6676).withOpacity(0.5); + static Color switchTrackUnselectedColor = + const Color(0xFF5A6676).withOpacity(0.5); static Color switchThumbColor = const Color(0xFFFFFFFF); static Color popMenuItemUnselectedBg = const Color(0xFF112B4C); @@ -108,15 +105,17 @@ class AppColors { static Color blackColor = const Color(0xFF000000); - static Color dateSelectedBgColor = const Color(0xFF0093E5); static Color dateSelectedTextColor = const Color(0xFFFFFFFF); static Color dateUnselectedTextColor = blackColor; - static Color dateUnselectedDialogBgColor = const Color(0xFFC9C9C9).withOpacity(0.5); + static Color dateUnselectedDialogBgColor = + const Color(0xFFC9C9C9).withOpacity(0.5); static Color dateUnselectedBgColor = const Color(0xFFFFFFFF); - static Color progressBgColor = const Color(0xFF022345); static Color progressValueColor = const Color(0xFF0093E5); -} \ No newline at end of file + static const greyLineColor = Color.fromRGBO(240, 240, 240, 1); //灰色分割线 + static const darkGrayTextColor = Color.fromRGBO(65, 65, 65, 1); //深灰色字体 + static const placeholderTextColor = Color.fromRGBO(128, 128, 128, 1); //占位字体颜色 +} diff --git a/star_lock/lib/main.dart b/star_lock/lib/main.dart index d37ade55..d150cb7d 100644 --- a/star_lock/lib/main.dart +++ b/star_lock/lib/main.dart @@ -25,19 +25,18 @@ void main() async { } class MyApp extends StatefulWidget { - const MyApp({GlobalKey? key}):super(key: key); + const MyApp({GlobalKey? key}) : super(key: key); @override State createState() => _MyAppState(); } class _MyAppState extends State with WidgetsBindingObserver, BaseWidget { - @override Widget build(BuildContext context) { return ScreenUtilInit( designSize: const Size(750, 1334), - builder: (w, a) => _initMaterialApp()); + builder: (w, a) => _initMaterialApp()); } GetMaterialApp _initMaterialApp() => GetMaterialApp( @@ -49,17 +48,19 @@ class _MyAppState extends State with WidgetsBindingObserver, BaseWidget { GlobalCupertinoLocalizations.delegate, GlobalWidgetsLocalizations.delegate, ], - localeResolutionCallback: (locale,supportedLocales){ - if(!supportedLocales.contains(locale)) { - int idx = appSupportedLocales.indexWhere((element) => element.languageCode == locale!.languageCode); - if(idx != -1) { + localeResolutionCallback: (locale, supportedLocales) { + if (!supportedLocales.contains(locale)) { + int idx = appSupportedLocales.indexWhere( + (element) => element.languageCode == locale!.languageCode); + if (idx != -1) { locale = appSupportedLocales[idx]; - }else { + } else { locale = const Locale('zh', 'CN'); } } // print("localelocalelocalelocalelocale locale:${locale} locale.languageCode:${locale.languageCode} locale.countryCode:${locale.countryCode} supportedLocales:${supportedLocales}"); - AppManager().setLanCode(code: '${locale!.languageCode}_${locale.countryCode}'); + AppManager() + .setLanCode(code: '${locale!.languageCode}_${locale.countryCode}'); return locale; }, // locale: StoreService.to.getLanguageCode().isNotEmpty ? appDept.deptSupportedLocales.where((element) => element.languageCode == StoreService.to.getLanguageCode()).first : Get.deviceLocale, @@ -70,21 +71,19 @@ class _MyAppState extends State with WidgetsBindingObserver, BaseWidget { backgroundColor: const Color(0xFFF6F6F6), primaryColor: const Color(0xFFFFFFFF), textTheme: TextTheme( - //用在非Material组件上的文字显示, - bodyText1: TextStyle( - fontSize: 28.sp, color: const Color(0xff2E2B2B)), + //用在非Material组件上的文字显示, + bodyText1: + TextStyle(fontSize: 28.sp, color: const Color(0xff2E2B2B)), //Material组件上的文字显示 - bodyText2: TextStyle( - fontSize: 28.sp, color: const Color(0xff2E2B2B)), + bodyText2: + TextStyle(fontSize: 28.sp, color: const Color(0xff2E2B2B)), button: TextStyle(fontSize: 28.sp)), - iconTheme: - IconThemeData(size: 28.sp, color: const Color(0xff2E2B2B)), + iconTheme: IconThemeData(size: 28.sp, color: const Color(0xff2E2B2B)), appBarTheme: AppBarTheme( backgroundColor: const Color(0xFFFFFFFF), elevation: 0, centerTitle: true, - iconTheme: - IconThemeData(color: const Color(0xff333333), size: 36.sp), + iconTheme: IconThemeData(color: const Color(0xff333333), size: 36.sp), titleTextStyle: TextStyle( color: const Color(0xff333333), fontWeight: FontWeight.w400, @@ -95,8 +94,7 @@ class _MyAppState extends State with WidgetsBindingObserver, BaseWidget { ), debugShowCheckedModeBanner: false, getPages: AppRouters.routePages, - initialRoute: '/' - ); + initialRoute: '/'); @override void initState() { @@ -119,15 +117,14 @@ class _MyAppState extends State with WidgetsBindingObserver, BaseWidget { print("应用进入后台"); } } - } // 设置国际化信息 Future _initTranslation() async => TranslationLoader.loadTranslation( - zhSource: "images/lan/lan_zh.json", - enSource: "images/lan/lan_en.json", - keySource: "images/lan/lan_keys.json", -); + zhSource: "images/lan/lan_zh.json", + enSource: "images/lan/lan_en.json", + keySource: "images/lan/lan_keys.json", + ); // 设置包名服务设备信息 Future _setCommonServices() async { diff --git a/star_lock/lib/main/lockDetail/authorizedAdmin/authorizedAdmin/authorizedAdmin_page.dart b/star_lock/lib/main/lockDetail/authorizedAdmin/authorizedAdmin/authorizedAdmin_page.dart index 9d7026dc..3eedc10f 100644 --- a/star_lock/lib/main/lockDetail/authorizedAdmin/authorizedAdmin/authorizedAdmin_page.dart +++ b/star_lock/lib/main/lockDetail/authorizedAdmin/authorizedAdmin/authorizedAdmin_page.dart @@ -1,3 +1,4 @@ +import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_native_contact_picker/flutter_native_contact_picker.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; @@ -30,10 +31,9 @@ class _AuthorizedAdminPageState extends State { void initState() { // TODO: implement initState super.initState(); - } - Widget indexChangeWidget(){ + Widget indexChangeWidget() { switch (int.parse(widget.type)) { case 0: { @@ -49,7 +49,7 @@ class _AuthorizedAdminPageState extends State { ); } default: - // 永久 + // 永久 return Column( children: [ keyInfoWidget(), @@ -61,45 +61,68 @@ class _AuthorizedAdminPageState extends State { } // 顶部钥匙信息widget - Widget keyInfoWidget(){ + Widget keyInfoWidget() { return Column( children: [ Container(height: 10.h), - CommonItem(leftTitel:TranslationLoader.lanKeys!.receiver!.tr, rightTitle:"", isHaveLine: true, isHaveRightWidget: true, rightWidget: getTFWidget(true, TranslationLoader.lanKeys!.pleaseEnterNumberOrEmail!.tr)), - CommonItem(leftTitel:TranslationLoader.lanKeys!.name!.tr, rightTitle:"", isHaveRightWidget: true, rightWidget: getTFWidget(false, TranslationLoader.lanKeys!.pleaseEnter!.tr)), + CommonItem( + leftTitel: TranslationLoader.lanKeys!.receiver!.tr, + rightTitle: "", + isHaveLine: true, + isHaveRightWidget: true, + rightWidget: getTFWidget( + true, TranslationLoader.lanKeys!.pleaseEnterNumberOrEmail!.tr)), + CommonItem( + leftTitel: TranslationLoader.lanKeys!.name!.tr, + rightTitle: "", + isHaveRightWidget: true, + rightWidget: + getTFWidget(false, TranslationLoader.lanKeys!.pleaseEnter!.tr)), Container(height: 10.h), ], ); } // 生效失效时间 - Widget keyTimeWidget(){ + Widget keyTimeWidget() { return Column( children: [ - CommonItem(leftTitel:TranslationLoader.lanKeys!.effectiveTime!.tr, rightTitle:"2020.06.20 11:49", isHaveLine: true, isHaveDirection: true, action:(){ - // _showDatePicker(); - }), - CommonItem(leftTitel:TranslationLoader.lanKeys!.failureTime!.tr, rightTitle:"2020.06.20 11:49", isHaveDirection: true, action:(){ - // _showDatePicker(); - }), + CommonItem( + leftTitel: TranslationLoader.lanKeys!.effectiveTime!.tr, + rightTitle: "2020.06.20 11:49", + isHaveLine: true, + isHaveDirection: true, + action: () { + // _showDatePicker(); + }), + CommonItem( + leftTitel: TranslationLoader.lanKeys!.failureTime!.tr, + rightTitle: "2020.06.20 11:49", + isHaveDirection: true, + action: () { + // _showDatePicker(); + }), Container(height: 10.h), ], ); } // 实名认证 - Widget keyRealNameWidget(){ + Widget keyRealNameWidget() { return Column( children: [ - CommonItem(leftTitel:TranslationLoader.lanKeys!.realNameAuthentication!.tr, rightTitle:"", isHaveRightWidget: true, rightWidget: Container(width: 80.w, height: 50.h,child: _switch()), action:(){ - - }), + CommonItem( + leftTitel: TranslationLoader.lanKeys!.realNameAuthentication!.tr, + rightTitle: "", + isHaveRightWidget: true, + rightWidget: Container(width: 80.w, height: 50.h, child: _switch()), + action: () {}), Container(height: 10.h), ], ); } - Widget keyBottomWidget(String tipStr){ + Widget keyBottomWidget(String tipStr) { return Column( children: [ Container( @@ -107,24 +130,37 @@ class _AuthorizedAdminPageState extends State { child: Row( // crossAxisAlignment: CrossAxisAlignment.start, children: [ - Expanded(child: Text(tipStr, textAlign: TextAlign.start,)), + Expanded( + child: Text( + tipStr, + textAlign: TextAlign.start, + )), ], ), ), - SubmitBtn(btnName: TranslationLoader.lanKeys!.sender!.tr, borderRadius: 20.w, margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w), padding: EdgeInsets.only(top: 25.w, bottom: 25.w), - onClick: (){ - - } - ), + SubmitBtn( + btnName: TranslationLoader.lanKeys!.sender!.tr, + borderRadius: 20.w, + margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w), + padding: EdgeInsets.only(top: 25.w, bottom: 25.w), + onClick: () {}), Container( - padding: EdgeInsets.only(right:30.w), + padding: EdgeInsets.only(right: 30.w), // color: Colors.red, child: Row( mainAxisAlignment: MainAxisAlignment.end, children: [ - TextButton(onPressed: (){ - Navigator.pushNamed(context, Routers.volumeAuthorizationLockManagePage); - }, child: Text(TranslationLoader.lanKeys!.volumeAuthorizationLock!.tr, style: TextStyle(color: AppColors.mainColor, fontWeight: FontWeight.w500),)), + TextButton( + onPressed: () { + Navigator.pushNamed( + context, Routers.volumeAuthorizationLockManagePage); + }, + child: Text( + TranslationLoader.lanKeys!.volumeAuthorizationLock!.tr, + style: TextStyle( + color: AppColors.mainColor, + fontWeight: FontWeight.w500), + )), ], ), ), @@ -133,7 +169,7 @@ class _AuthorizedAdminPageState extends State { } // 发送电子钥匙成功 - Widget sendElectronicKeySucceed(){ + Widget sendElectronicKeySucceed() { return Column( children: [ Container( @@ -142,37 +178,72 @@ class _AuthorizedAdminPageState extends State { color: Colors.white, child: Column( children: [ - SizedBox(height: 30.h,), - Image.asset('images/main/icon_main_addLock.png', width: 150.w, height: 150.w, color: AppColors.mainColor,), - SizedBox(height: 20.h,), + SizedBox( + height: 30.h, + ), + Image.asset( + 'images/main/icon_main_addLock.png', + width: 150.w, + height: 150.w, + color: AppColors.mainColor, + ), + SizedBox( + height: 20.h, + ), Row( mainAxisAlignment: MainAxisAlignment.center, children: [ - Text("发送成功",style: TextStyle(fontSize: 32.sp, color: Colors.black, fontWeight: FontWeight.w500),), + Text( + "发送成功", + style: TextStyle( + fontSize: 32.sp, + color: Colors.black, + fontWeight: FontWeight.w500), + ), ], ), ], ), ), - SizedBox(height: 20.h,), - SubmitBtn(btnName: '完成', fontSize: 28.sp, borderRadius: 20.w, margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w), padding: EdgeInsets.only(top: 25.w, bottom: 25.w), onClick: (){ - - }), - SubmitBtn(btnName: '邮件通知', fontSize: 28.sp, borderRadius: 20.w, margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w), padding: EdgeInsets.only(top: 25.w, bottom: 25.w), onClick: (){ - Navigator.pushNamed(context, Routers.sendEmailNotificationPage); - }), - SubmitBtn(btnName: '微信通知', fontSize: 28.sp, borderRadius: 20.w, margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w), padding: EdgeInsets.only(top: 25.w, bottom: 25.w), onClick: (){ - - }), - SubmitBtn(btnName: '标记为已入住', fontSize: 28.sp, borderRadius: 20.w, margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w), padding: EdgeInsets.only(top: 25.w, bottom: 25.w), onClick: (){ - - }), + SizedBox( + height: 20.h, + ), + SubmitBtn( + btnName: '完成', + fontSize: 28.sp, + borderRadius: 20.w, + margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w), + padding: EdgeInsets.only(top: 25.w, bottom: 25.w), + onClick: () {}), + SubmitBtn( + btnName: '邮件通知', + fontSize: 28.sp, + borderRadius: 20.w, + margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w), + padding: EdgeInsets.only(top: 25.w, bottom: 25.w), + onClick: () { + Navigator.pushNamed(context, Routers.sendEmailNotificationPage); + }), + SubmitBtn( + btnName: '微信通知', + fontSize: 28.sp, + borderRadius: 20.w, + margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w), + padding: EdgeInsets.only(top: 25.w, bottom: 25.w), + onClick: () {}), + SubmitBtn( + btnName: '标记为已入住', + fontSize: 28.sp, + borderRadius: 20.w, + margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w), + padding: EdgeInsets.only(top: 25.w, bottom: 25.w), + onClick: () {}), ], ); } // 接受者信息输入框 - Widget getTFWidget(bool isHaveBtn, String tfStr){ + Widget getTFWidget(bool isHaveBtn, String tfStr) { return Container( height: 50.h, width: 500.w, @@ -184,7 +255,7 @@ class _AuthorizedAdminPageState extends State { maxLines: 1, // controller: _controller, autofocus: false, - textAlign:TextAlign.end, + textAlign: TextAlign.end, decoration: InputDecoration( //输入里面输入文字内边距设置 contentPadding: const EdgeInsets.only(top: 12.0, bottom: 8.0), @@ -194,34 +265,38 @@ class _AuthorizedAdminPageState extends State { ), ), ), - SizedBox(width: 10.w,), - isHaveBtn?Container( - width: 50.w, - height: 50.w, - decoration: const BoxDecoration( - color: Colors.white, - image: DecorationImage( - image: AssetImage('images/icon_lock.png'), - fit: BoxFit.fill - ), - ), - alignment: Alignment.center, - child: InkWell( - onTap: () async { - Contact? contact = await _contactPicker.selectContact(); - setState(() { - _contact = contact!; - // print("object111111111111 ${_contact.fullName} ${_contact.phoneNumbers}"); - }); - }, - ), - ):Container() + SizedBox( + width: 10.w, + ), + isHaveBtn + ? Container( + width: 50.w, + height: 50.w, + decoration: const BoxDecoration( + color: Colors.white, + image: DecorationImage( + image: AssetImage('images/icon_lock.png'), + fit: BoxFit.fill), + ), + alignment: Alignment.center, + child: InkWell( + onTap: () async { + Contact? contact = await _contactPicker.selectContact(); + setState(() { + _contact = contact!; + // print("object111111111111 ${_contact.fullName} ${_contact.phoneNumbers}"); + }); + }, + ), + ) + : Container() ], ), ); } - Switch _switch(){ + CupertinoSwitch _switch() { + /* return Switch( value: false, onChanged: (value){ @@ -231,6 +306,18 @@ class _AuthorizedAdminPageState extends State { }); } ); + */ + bool _isOn = false; + return CupertinoSwitch( + activeColor: CupertinoColors.activeBlue, + trackColor: CupertinoColors.systemGrey5, + thumbColor: CupertinoColors.white, + value: _isOn, + onChanged: (value) { + setState(() { + _isOn = value; + }); + }, + ); } - } diff --git a/star_lock/lib/main/lockDetail/authorizedAdmin/authorizedAdminList/authorizedAdminList_page.dart b/star_lock/lib/main/lockDetail/authorizedAdmin/authorizedAdminList/authorizedAdminList_page.dart index 19b2d66f..64441ddf 100644 --- a/star_lock/lib/main/lockDetail/authorizedAdmin/authorizedAdminList/authorizedAdminList_page.dart +++ b/star_lock/lib/main/lockDetail/authorizedAdmin/authorizedAdminList/authorizedAdminList_page.dart @@ -1,4 +1,3 @@ - import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; @@ -13,7 +12,8 @@ class AuthorizedAdminListPage extends StatefulWidget { const AuthorizedAdminListPage({Key? key}) : super(key: key); @override - State createState() => _AuthorizedAdminListPageState(); + State createState() => + _AuthorizedAdminListPageState(); } class _AuthorizedAdminListPageState extends State { @@ -21,13 +21,20 @@ class _AuthorizedAdminListPageState extends State { Widget build(BuildContext context) { return Scaffold( backgroundColor: AppColors.mainBackgroundColor, - appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.authorizedAdmin!.tr, haveBack:true, backgroundColor: AppColors.mainColor, actionsList: [ - TextButton( - child: Text(TranslationLoader.lanKeys!.reset!.tr, style: const TextStyle(color: Colors.white),), - onPressed: (){ - - },), - ],), + appBar: TitleAppBar( + barTitle: TranslationLoader.lanKeys!.authorizedAdmin!.tr, + haveBack: true, + backgroundColor: AppColors.mainColor, + actionsList: [ + TextButton( + child: Text( + TranslationLoader.lanKeys!.reset!.tr, + style: const TextStyle(color: Colors.white), + ), + onPressed: () {}, + ), + ], + ), body: Column( children: [ _searchWidget(), @@ -35,24 +42,23 @@ class _AuthorizedAdminListPageState extends State { SubmitBtn( btnName: TranslationLoader.lanKeys!.authorizedAdmin!.tr, borderRadius: 20.w, - margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w, bottom: 30.w), + margin: EdgeInsets.only( + left: 30.w, right: 30.w, top: 30.w, bottom: 30.w), padding: EdgeInsets.only(top: 25.w, bottom: 25.w), - onClick: (){ + onClick: () { Navigator.pushNamed(context, Routers.authorizedAdminManagePage); - } - ), + }), ], ), ); } - Widget _searchWidget(){ + Widget _searchWidget() { return Container( - height: 80.h, - margin: EdgeInsets.only(top:20.w, left: 20.w, right: 20.w), + height: 60.h, + margin: EdgeInsets.only(top: 20.w, left: 20.w, right: 20.w), decoration: BoxDecoration( - color: Colors.white, - borderRadius: BorderRadius.circular(5)), + color: Colors.white, borderRadius: BorderRadius.circular(5)), child: TextField( //输入框一行 maxLines: 1, @@ -67,40 +73,54 @@ class _AuthorizedAdminListPageState extends State { border: InputBorder.none, //左边图标设置 icon: Padding( - padding: EdgeInsets.only(top:30.w, bottom: 20.w, right: 20.w, left: 20.w), - child: Image.asset('images/main/icon_main_search.png', width: 40.w, height: 40.w,), + padding: EdgeInsets.only( + top: 30.w, bottom: 20.w, right: 20.w, left: 20.w), + child: Image.asset( + 'images/main/icon_main_search.png', + width: 40.w, + height: 40.w, + ), ), ), ), ); } - Widget _buildMainUI(){ + Widget _buildMainUI() { return ListView.builder( - itemCount:10, - itemBuilder: (c, index){ - return _electronicKeyItem('images/icon_lock.png', "张三", "2023.6.21 11.15", "2023.6.21 11.15",(){ + itemCount: 10, + itemBuilder: (c, index) { + return _electronicKeyItem('images/icon_lock.png', "张三", + "2023.6.21 11.15", "2023.6.21 11.15", () { Navigator.pushNamed(context, Routers.authorizedAdminDetailPage); }); - } - ); + }); } - Widget _electronicKeyItem(String lockTypeIcon, String lockTypeTitle, String beginTime, String endTime, Function() action){ + Widget _electronicKeyItem(String lockTypeIcon, String lockTypeTitle, + String beginTime, String endTime, Function() action) { return GestureDetector( onTap: action, child: Container( height: 100.h, margin: EdgeInsets.only(left: 20.w, right: 20.w, top: 20.w), - decoration: BoxDecoration( + decoration: BoxDecoration( color: Colors.white, borderRadius: BorderRadius.circular(10.w), ), child: Row( children: [ - SizedBox(width: 30.w,), - Image.asset(lockTypeIcon, width: 50.w, height: 50.w,), - SizedBox(width: 30.w,), + SizedBox( + width: 30.w, + ), + Image.asset( + lockTypeIcon, + width: 50.w, + height: 50.w, + ), + SizedBox( + width: 30.w, + ), Expanded( child: Column( mainAxisAlignment: MainAxisAlignment.center, @@ -108,23 +128,31 @@ class _AuthorizedAdminListPageState extends State { Row( mainAxisAlignment: MainAxisAlignment.start, children: [ - Text(lockTypeTitle, style: TextStyle(fontSize: 32.sp, fontWeight: FontWeight.w500), ), + Text( + lockTypeTitle, + style: TextStyle( + fontSize: 32.sp, fontWeight: FontWeight.w500), + ), ], ), - SizedBox(height:5.h), + SizedBox(height: 5.h), Container( child: Row( mainAxisAlignment: MainAxisAlignment.start, children: [ - Text("2023.6.21 11.15 永久", style: TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500), ), + Text( + "2023.6.21 11.15 永久", + style: TextStyle( + fontSize: 28.sp, fontWeight: FontWeight.w500), + ), ], ), ), - SizedBox(width:20.h), + SizedBox(width: 20.h), ], ), ), - SizedBox(width:20.h), + SizedBox(width: 20.h), ], ), ), diff --git a/star_lock/lib/main/lockDetail/electronicKey/electronicKeyList/electronicKeyList_page.dart b/star_lock/lib/main/lockDetail/electronicKey/electronicKeyList/electronicKeyList_page.dart index 57f9120c..55b18a7a 100644 --- a/star_lock/lib/main/lockDetail/electronicKey/electronicKeyList/electronicKeyList_page.dart +++ b/star_lock/lib/main/lockDetail/electronicKey/electronicKeyList/electronicKeyList_page.dart @@ -19,87 +19,108 @@ class _ElectronicKeyListPageState extends State { @override Widget build(BuildContext context) { return Scaffold( - backgroundColor: AppColors.mainBackgroundColor, - appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.electronicKey!.tr, haveBack:true, backgroundColor: AppColors.mainColor, actionsList: [ + backgroundColor: AppColors.mainBackgroundColor, + appBar: TitleAppBar( + barTitle: TranslationLoader.lanKeys!.electronicKey!.tr, + haveBack: true, + backgroundColor: AppColors.mainColor, + actionsList: [ TextButton( - child: Text(TranslationLoader.lanKeys!.reset!.tr, style: const TextStyle(color: Colors.white),), - onPressed: (){ - - },), - ],), - body: Column( - children: [ - _searchWidget(), - Expanded(child: _buildMainUI()), - SubmitBtn( - btnName: TranslationLoader.lanKeys!.sendKey!.tr, - borderRadius: 20.w, - margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w, bottom: 30.w), - padding: EdgeInsets.only(top: 25.w, bottom: 25.w), - onClick: (){ - Navigator.pushNamed(context, Routers.sendElectronicKeyManagePage); - } + child: Text( + TranslationLoader.lanKeys!.reset!.tr, + style: const TextStyle(color: Colors.white), ), - ], - ), + onPressed: () {}, + ), + ], + ), + body: Column( + children: [ + _searchWidget(), + Expanded(child: _buildMainUI()), + SubmitBtn( + btnName: TranslationLoader.lanKeys!.sendKey!.tr, + borderRadius: 20.w, + margin: EdgeInsets.only( + left: 30.w, right: 30.w, top: 30.w, bottom: 30.w), + padding: EdgeInsets.only(top: 25.w, bottom: 25.w), + onClick: () { + Navigator.pushNamed( + context, Routers.sendElectronicKeyManagePage); + }), + ], + ), ); } - Widget _searchWidget(){ + Widget _searchWidget() { return Container( - height: 80.h, - margin: EdgeInsets.only(top:20.w, left: 20.w, right: 20.w), - decoration: BoxDecoration( - color: Colors.white, - borderRadius: BorderRadius.circular(5)), - child: TextField( - //输入框一行 - maxLines: 1, - // controller: _controller, - autofocus: false, - decoration: InputDecoration( - //输入里面输入文字内边距设置 - contentPadding: const EdgeInsets.only( - top: 12.0, left: -19.0, right: -15.0, bottom: 8.0), - hintText: TranslationLoader.lanKeys!.pleaseEnter!.tr, - //不需要输入框下划线 - border: InputBorder.none, - //左边图标设置 - icon: Padding( - padding: EdgeInsets.only(top:30.w, bottom: 20.w, right: 20.w, left: 20.w), - child: Image.asset('images/main/icon_main_search.png', width: 40.w, height: 40.w,), - ), + height: 60.h, + margin: EdgeInsets.only(top: 20.w, left: 20.w, right: 20.w), + decoration: BoxDecoration( + color: Colors.white, borderRadius: BorderRadius.circular(5)), + child: TextField( + //输入框一行 + maxLines: 1, + // controller: _controller, + autofocus: false, + decoration: InputDecoration( + //输入里面输入文字内边距设置 + contentPadding: const EdgeInsets.only( + top: 12.0, left: -19.0, right: -15.0, bottom: 8.0), + hintText: TranslationLoader.lanKeys!.pleaseEnter!.tr, + //不需要输入框下划线 + border: InputBorder.none, + //左边图标设置 + icon: Padding( + padding: EdgeInsets.only( + top: 30.w, bottom: 20.w, right: 20.w, left: 20.w), + child: Image.asset( + 'images/main/icon_main_search.png', + width: 40.w, + height: 40.w, ), ), - ); - } - - Widget _buildMainUI(){ - return ListView.builder( - itemCount:10, - itemBuilder: (c, index){ - return _electronicKeyItem('images/icon_lock.png', "张三", "2023.6.21 11.15", "2023.6.21 11.15",(){ - Navigator.pushNamed(context, Routers.electronicKeyDetailPage); - }); - } + ), + ), ); } - Widget _electronicKeyItem(String lockTypeIcon, String lockTypeTitle, String beginTime, String endTime, Function() action){ + Widget _buildMainUI() { + return ListView.builder( + itemCount: 10, + itemBuilder: (c, index) { + return _electronicKeyItem('images/icon_lock.png', "张三", + "2023.6.21 11.15", "2023.6.21 11.15", () { + Navigator.pushNamed(context, Routers.electronicKeyDetailPage); + }); + }); + } + + Widget _electronicKeyItem(String lockTypeIcon, String lockTypeTitle, + String beginTime, String endTime, Function() action) { return GestureDetector( onTap: action, child: Container( height: 100.h, margin: EdgeInsets.only(left: 20.w, right: 20.w, top: 20.w), - decoration: BoxDecoration( + decoration: BoxDecoration( color: Colors.white, borderRadius: BorderRadius.circular(10.w), ), child: Row( children: [ - SizedBox(width: 30.w,), - Image.asset(lockTypeIcon, width: 50.w, height: 50.w,), - SizedBox(width: 30.w,), + SizedBox( + width: 30.w, + ), + Image.asset( + lockTypeIcon, + width: 50.w, + height: 50.w, + ), + SizedBox( + width: 30.w, + ), Expanded( child: Column( mainAxisAlignment: MainAxisAlignment.center, @@ -109,26 +130,38 @@ class _ElectronicKeyListPageState extends State { child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - Text(lockTypeTitle, style: TextStyle(fontSize: 32.sp, fontWeight: FontWeight.w500), ), - SizedBox(width:20.w), - Text("待接收", style: TextStyle(fontSize: 24.sp, fontWeight: FontWeight.w500), ), + Text( + lockTypeTitle, + style: TextStyle( + fontSize: 32.sp, fontWeight: FontWeight.w500), + ), + SizedBox(width: 20.w), + Text( + "待接收", + style: TextStyle( + fontSize: 24.sp, fontWeight: FontWeight.w500), + ), ], ), ), - SizedBox(width:20.w), + SizedBox(width: 20.w), Container( child: Row( mainAxisAlignment: MainAxisAlignment.start, children: [ - Text("2023.6.21 11.15-2023.6.21 11.15", style: TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500), ), + Text( + "2023.6.21 11.15-2023.6.21 11.15", + style: TextStyle( + fontSize: 28.sp, fontWeight: FontWeight.w500), + ), ], ), ), - SizedBox(width:20.h), + SizedBox(width: 20.h), ], ), ), - SizedBox(width:20.h), + SizedBox(width: 20.h), ], ), ), diff --git a/star_lock/lib/main/lockDetail/lcokSet/importOtherLockData/ImportOtherLockData_page.dart b/star_lock/lib/main/lockDetail/lcokSet/importOtherLockData/ImportOtherLockData_page.dart index d44e60de..a62e92f9 100644 --- a/star_lock/lib/main/lockDetail/lcokSet/importOtherLockData/ImportOtherLockData_page.dart +++ b/star_lock/lib/main/lockDetail/lcokSet/importOtherLockData/ImportOtherLockData_page.dart @@ -1,4 +1,3 @@ - import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; @@ -12,7 +11,8 @@ class ImportOtherLockDataPage extends StatefulWidget { const ImportOtherLockDataPage({Key? key}) : super(key: key); @override - State createState() => _ImportOtherLockDataPageState(); + State createState() => + _ImportOtherLockDataPageState(); } class _ImportOtherLockDataPageState extends State { @@ -20,43 +20,48 @@ class _ImportOtherLockDataPageState extends State { Widget build(BuildContext context) { return Scaffold( backgroundColor: AppColors.mainBackgroundColor, - appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.importOtherLockData!.tr, haveBack:true, backgroundColor: AppColors.mainColor), - body:Container( + appBar: TitleAppBar( + barTitle: TranslationLoader.lanKeys!.importOtherLockData!.tr, + haveBack: true, + backgroundColor: AppColors.mainColor), + body: Container( padding: EdgeInsets.all(30.w), child: Column( children: [ Row( mainAxisAlignment: MainAxisAlignment.start, children: [ - Expanded(child: Text(TranslationLoader.lanKeys!.importOtherLockDataTip!.tr)), + Expanded( + child: Text(TranslationLoader + .lanKeys!.importOtherLockDataTip!.tr)), ], ), - SizedBox(height: 20.h,), + SizedBox( + height: 20.h, + ), _searchWidget(), - SizedBox(height: 10.h,), + SizedBox( + height: 10.h, + ), Expanded(child: _buildMainUI()), - SubmitBtn(btnName: TranslationLoader.lanKeys!.sure!.tr, + SubmitBtn( + btnName: TranslationLoader.lanKeys!.sure!.tr, borderRadius: 20.w, fontSize: 32.sp, // margin: EdgeInsets.only(left: 03.w, right: 30.w, top: 20.w), padding: EdgeInsets.only(top: 20.w, bottom: 20.w), - onClick: () { - - } - ), + onClick: () {}), ], ), - ) - ); + )); } - Widget _searchWidget(){ + Widget _searchWidget() { return Container( - height: 70.h, + height: 60.h, // margin: EdgeInsets.only(top:20.w), decoration: BoxDecoration( - color: Colors.white, - borderRadius: BorderRadius.circular(5)), + color: Colors.white, borderRadius: BorderRadius.circular(5)), child: TextField( //输入框一行 maxLines: 1, @@ -71,40 +76,54 @@ class _ImportOtherLockDataPageState extends State { border: InputBorder.none, //左边图标设置 icon: Padding( - padding: EdgeInsets.only(top:30.w, bottom: 20.w, right: 20.w, left: 20.w), - child: Image.asset('images/main/icon_main_search.png', width: 40.w, height: 40.w,), + padding: EdgeInsets.only( + top: 30.w, bottom: 20.w, right: 20.w, left: 20.w), + child: Image.asset( + 'images/main/icon_main_search.png', + width: 40.w, + height: 40.w, + ), ), ), ), ); } - Widget _buildMainUI(){ + Widget _buildMainUI() { return ListView.builder( - itemCount:20, - itemBuilder: (c, index){ - return _electronicKeyItem('images/icon_lock.png', "张三", "2023.6.21 11.15", "2023.6.21 11.15",(){ + itemCount: 20, + itemBuilder: (c, index) { + return _electronicKeyItem('images/icon_lock.png', "张三", + "2023.6.21 11.15", "2023.6.21 11.15", () { // Navigator.pushNamed(context, Routers.electronicKeyDetailPage); }); - } - ); + }); } - Widget _electronicKeyItem(String lockTypeIcon, String lockTypeTitle, String beginTime, String endTime, Function() action){ + Widget _electronicKeyItem(String lockTypeIcon, String lockTypeTitle, + String beginTime, String endTime, Function() action) { return GestureDetector( onTap: action, child: Container( height: 100.h, margin: EdgeInsets.only(top: 15.h), - decoration: BoxDecoration( + decoration: BoxDecoration( color: Colors.white, borderRadius: BorderRadius.circular(10.w), ), child: Row( children: [ - SizedBox(width: 30.w,), - Image.asset(lockTypeIcon, width: 50.w, height: 50.w,), - SizedBox(width: 30.w,), + SizedBox( + width: 30.w, + ), + Image.asset( + lockTypeIcon, + width: 50.w, + height: 50.w, + ), + SizedBox( + width: 30.w, + ), Expanded( child: Column( mainAxisAlignment: MainAxisAlignment.center, @@ -114,30 +133,41 @@ class _ImportOtherLockDataPageState extends State { child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - Text(lockTypeTitle, style: TextStyle(fontSize: 32.sp, fontWeight: FontWeight.w500), ), - SizedBox(width:20.w), - Text("待接收", style: TextStyle(fontSize: 24.sp, fontWeight: FontWeight.w500), ), + Text( + lockTypeTitle, + style: TextStyle( + fontSize: 32.sp, fontWeight: FontWeight.w500), + ), + SizedBox(width: 20.w), + Text( + "待接收", + style: TextStyle( + fontSize: 24.sp, fontWeight: FontWeight.w500), + ), ], ), ), - SizedBox(width:20.w), + SizedBox(width: 20.w), Container( child: Row( mainAxisAlignment: MainAxisAlignment.start, children: [ - Text("2023.6.21 11.15-2023.6.21 11.15", style: TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500), ), + Text( + "2023.6.21 11.15-2023.6.21 11.15", + style: TextStyle( + fontSize: 28.sp, fontWeight: FontWeight.w500), + ), ], ), ), - SizedBox(width:20.h), + SizedBox(width: 20.h), ], ), ), - SizedBox(width:20.h), + SizedBox(width: 20.h), ], ), ), ); } - } diff --git a/star_lock/lib/main/lockDetail/lcokSet/unlockQRCode/unlockQRCode_page.dart b/star_lock/lib/main/lockDetail/lcokSet/unlockQRCode/unlockQRCode_page.dart index 41ad9cdd..8673edf5 100644 --- a/star_lock/lib/main/lockDetail/lcokSet/unlockQRCode/unlockQRCode_page.dart +++ b/star_lock/lib/main/lockDetail/lcokSet/unlockQRCode/unlockQRCode_page.dart @@ -20,8 +20,11 @@ class _UnlockQRCodePageState extends State { Widget build(BuildContext context) { return Scaffold( backgroundColor: AppColors.mainBackgroundColor, - appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.burglarAlarm!.tr, haveBack:true, backgroundColor: AppColors.mainColor), - body:Column( + appBar: TitleAppBar( + barTitle: TranslationLoader.lanKeys!.burglarAlarm!.tr, + haveBack: true, + backgroundColor: AppColors.mainColor), + body: Column( children: [ Container( padding: EdgeInsets.all(25.w), @@ -30,11 +33,11 @@ class _UnlockQRCodePageState extends State { color: Colors.white, borderRadius: BorderRadius.all(Radius.circular(10.h)), ), - child: Text("拥有电子钥匙的人,通过微信扫一扫这个二维码,即可开门。每把锁的二维码都不相同,你可以将其打印出来贴在对应的锁旁边") - ), + child: Text( + "拥有电子钥匙的人,通过微信扫一扫这个二维码,即可开门。每把锁的二维码都不相同,你可以将其打印出来贴在对应的锁旁边")), Container( width: 1.sw, - padding: EdgeInsets.only(top:50.w), + padding: EdgeInsets.only(top: 50.w), margin: EdgeInsets.only(left: 25.w, right: 25.w), decoration: BoxDecoration( color: Colors.white, diff --git a/star_lock/lib/main/lockDetail/lockDetail/lockDetail_page.dart b/star_lock/lib/main/lockDetail/lockDetail/lockDetail_page.dart index 51050a2c..eec1a81b 100644 --- a/star_lock/lib/main/lockDetail/lockDetail/lockDetail_page.dart +++ b/star_lock/lib/main/lockDetail/lockDetail/lockDetail_page.dart @@ -1,4 +1,3 @@ - import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; @@ -19,103 +18,146 @@ class _LockDetailPageState extends State { @override Widget build(BuildContext context) { return Scaffold( - backgroundColor: Colors.white, - appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.starLock!.tr, haveBack:true, backgroundColor: AppColors.mainColor), - body: Column( - children: [ - topWidget(), - Expanded(child: bottomWidget()) - ], - ), + backgroundColor: Colors.white, + appBar: TitleAppBar( + barTitle: TranslationLoader.lanKeys!.starLock!.tr, + haveBack: true, + backgroundColor: AppColors.mainColor), + body: Column( + children: [topWidget(), Expanded(child: bottomWidget())], + ), ); } - Widget topWidget(){ - return Column( - children: [ - SizedBox(height:40.h), - Stack( - alignment: Alignment.centerRight, - children: [ - Align( - alignment:Alignment.center, - child: Text("MCBN01-ea9240", style: TextStyle(fontSize: 36.sp, fontWeight: FontWeight.w500),) - ), - Row( - mainAxisAlignment: MainAxisAlignment.end, - children: [ - Text("100%", style: TextStyle(fontSize: 24.sp, fontWeight: FontWeight.w500), ), - SizedBox(width:5.w), - Image.asset('images/main/icon_main_cell.png', width: 50.w, height: 50.w,), - SizedBox(width:30.w), - ], - ), - ], - ), - SizedBox(height: 40.h), - Container( - width: 1.sw, - height: 280.w, - child: Stack( + Widget topWidget() { + return Column( + children: [ + SizedBox(height: 40.h), + Stack( + alignment: Alignment.centerRight, + children: [ + Align( + alignment: Alignment.center, + child: Text( + "MCBN01-ea9240", + style: + TextStyle(fontSize: 36.sp, fontWeight: FontWeight.w500), + )), + Row( + mainAxisAlignment: MainAxisAlignment.end, children: [ - Center(child: Image.asset('images/main/icon_main_openLockBtn.png', width: 280.w, height: 280.w)), - Align( - alignment: const Alignment(0.5, 1), - child: Image.asset('images/main/icon_main_remoteUnlocking.png', width: 90.w, height: 90.w,) + Text( + "100%", + style: + TextStyle(fontSize: 24.sp, fontWeight: FontWeight.w500), ), + SizedBox(width: 5.w), + Image.asset( + 'images/main/icon_main_cell.png', + width: 50.w, + height: 50.w, + ), + SizedBox(width: 30.w), ], ), - ), - SizedBox(height: 40.h,), - Row( - mainAxisAlignment: MainAxisAlignment.center, + ], + ), + SizedBox(height: 40.h), + Container( + width: 1.sw, + height: 280.w, + child: Stack( children: [ - Text(TranslationLoader.lanKeys!.clickUnlockAndHoldDownClose!.tr, style: TextStyle(fontSize: 28.sp, color: const Color(0xFFB3B3B3), fontWeight: FontWeight.w500),), + Center( + child: Image.asset('images/main/icon_main_openLockBtn.png', + width: 280.w, height: 280.w)), + Align( + alignment: const Alignment(0.5, 1), + child: Image.asset( + 'images/main/icon_main_remoteUnlocking.png', + width: 90.w, + height: 90.w, + )), ], ), - SizedBox(height: 40.h,), - Container(height: 0.5.h, color: Colors.grey,) - ], - ); + ), + SizedBox( + height: 40.h, + ), + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text( + TranslationLoader.lanKeys!.clickUnlockAndHoldDownClose!.tr, + style: TextStyle( + fontSize: 24.sp, + color: const Color(0xFFB3B3B3), + fontWeight: FontWeight.w500), + ), + ], + ), + SizedBox( + height: 40.h, + ), + Divider( + height: 1, + color: const Color(0xFFB3B3B3), + indent: 20.w, + endIndent: 20.w, + ) + ], + ); } - Widget bottomWidget(){ + Widget bottomWidget() { return Container( - margin: EdgeInsets.only(left:10.w, right:10.w, top: 25.h), + margin: EdgeInsets.only(left: 10.w, right: 10.w, top: 25.h), // color: Colors.blue, child: SizedBox( - child:GridView.count( + child: GridView.count( crossAxisCount: 4, // childAspectRatio: 3, crossAxisSpacing: 20.w, mainAxisSpacing: 10.h, physics: const NeverScrollableScrollPhysics(), children: [ - bottomItem('images/main/icon_main_clockingIn.png', TranslationLoader.lanKeys!.checkingIn!.tr, (){ + bottomItem('images/main/icon_main_clockingIn.png', + TranslationLoader.lanKeys!.checkingIn!.tr, () { Navigator.pushNamed(context, Routers.checkingInListPage); }), - bottomItem('images/main/icon_main_electronicKey.png', TranslationLoader.lanKeys!.electronicKey!.tr, (){ + bottomItem('images/main/icon_main_electronicKey.png', + TranslationLoader.lanKeys!.electronicKey!.tr, () { Navigator.pushNamed(context, Routers.electronicKeyListPage); }), - bottomItem('images/main/icon_main_password.png', TranslationLoader.lanKeys!.password!.tr, (){ + bottomItem('images/main/icon_main_password.png', + TranslationLoader.lanKeys!.password!.tr, () { Navigator.pushNamed(context, Routers.passwordKeyListPage); }), - bottomItem('images/main/icon_main_icCard.png', TranslationLoader.lanKeys!.card!.tr, (){ - Navigator.pushNamed(context, Routers.otherTypeKeyListPage, arguments: 0); + bottomItem('images/main/icon_main_icCard.png', + TranslationLoader.lanKeys!.card!.tr, () { + Navigator.pushNamed(context, Routers.otherTypeKeyListPage, + arguments: 0); }), - bottomItem('images/main/icon_main_fingerprint.png', TranslationLoader.lanKeys!.fingerprint!.tr, (){ - Navigator.pushNamed(context, Routers.otherTypeKeyListPage, arguments: 1); + bottomItem('images/main/icon_main_fingerprint.png', + TranslationLoader.lanKeys!.fingerprint!.tr, () { + Navigator.pushNamed(context, Routers.otherTypeKeyListPage, + arguments: 1); }), - bottomItem('images/main/icon_main_remoteControl.png', TranslationLoader.lanKeys!.remoteControl!.tr, (){ - Navigator.pushNamed(context, Routers.otherTypeKeyListPage, arguments: 2); + bottomItem('images/main/icon_main_remoteControl.png', + TranslationLoader.lanKeys!.remoteControl!.tr, () { + Navigator.pushNamed(context, Routers.otherTypeKeyListPage, + arguments: 2); }), - bottomItem('images/main/icon_main_authorizedAdmin.png', TranslationLoader.lanKeys!.authorizedAdmin!.tr, (){ + bottomItem('images/main/icon_main_authorizedAdmin.png', + TranslationLoader.lanKeys!.authorizedAdmin!.tr, () { Navigator.pushNamed(context, Routers.authorizedAdminListPage); }), - bottomItem('images/main/icon_main_operatingRecord.png', TranslationLoader.lanKeys!.operatingRecord!.tr, (){ + bottomItem('images/main/icon_main_operatingRecord.png', + TranslationLoader.lanKeys!.operatingRecord!.tr, () { Navigator.pushNamed(context, Routers.lockOperatingRecordPage); }), - bottomItem('images/main/icon_main_set.png', TranslationLoader.lanKeys!.set!.tr, (){ + bottomItem('images/main/icon_main_set.png', + TranslationLoader.lanKeys!.set!.tr, () { Navigator.pushNamed(context, Routers.lockSetPage); }), ], @@ -124,27 +166,31 @@ class _LockDetailPageState extends State { ); } - Widget bottomItem(String iconUrl,String name, Function() onClick){ + Widget bottomItem(String iconUrl, String name, Function() onClick) { var width = 65.w; var height = 70.h; return GestureDetector( - onTap:onClick, + onTap: onClick, child: Container( // height: 300.h, - color: Colors.white, + color: Colors.white, child: Column( crossAxisAlignment: CrossAxisAlignment.center, children: [ SizedBox( width: width, height: height, - child: Image.asset(iconUrl, width: width,height: height,fit: BoxFit.fitWidth), + child: Image.asset(iconUrl, + width: width, height: height, fit: BoxFit.fitWidth), ), SizedBox(height: 15.w), - Expanded(child: Text(name,style: TextStyle(fontSize: 25.sp, color:const Color(0xff333333)),textAlign: TextAlign.center)) + Expanded( + child: Text(name, + style: TextStyle( + fontSize: 25.sp, color: const Color(0xff333333)), + textAlign: TextAlign.center)) ], - ) - ), + )), ); } } diff --git a/star_lock/lib/main/lockDetail/lockOperatingRecord/lockOperatingRecord_page.dart b/star_lock/lib/main/lockDetail/lockOperatingRecord/lockOperatingRecord_page.dart index 629f1de1..83ae0f5e 100644 --- a/star_lock/lib/main/lockDetail/lockOperatingRecord/lockOperatingRecord_page.dart +++ b/star_lock/lib/main/lockDetail/lockOperatingRecord/lockOperatingRecord_page.dart @@ -1,4 +1,3 @@ - import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; @@ -12,7 +11,8 @@ class LockOperatingRecordPage extends StatefulWidget { const LockOperatingRecordPage({Key? key}) : super(key: key); @override - State createState() => _LockOperatingRecordPageState(); + State createState() => + _LockOperatingRecordPageState(); } class _LockOperatingRecordPageState extends State { @@ -20,29 +20,42 @@ class _LockOperatingRecordPageState extends State { Widget build(BuildContext context) { return Scaffold( backgroundColor: AppColors.mainBackgroundColor, - appBar: TitleAppBar(barTitle:TranslationLoader.lanKeys!.operatingRecord!.tr, haveBack:true, backgroundColor: AppColors.mainColor, actionsList: [ - TextButton( - child: const Text("操作", style: TextStyle(color: Colors.white),), - onPressed: (){ - JhPopMenus.showLinePop(context, clickCallback: (index, selText) { - print('选中index: $index'); - print('选中text: $selText'); + appBar: TitleAppBar( + barTitle: TranslationLoader.lanKeys!.operatingRecord!.tr, + haveBack: true, + backgroundColor: AppColors.mainColor, + actionsList: [ + TextButton( + child: const Text( + "操作", + style: TextStyle(color: Colors.white), + ), + onPressed: () { + JhPopMenus.showLinePop(context, clickCallback: (index, selText) { + print('选中index: $index'); + print('选中text: $selText'); - if (selText == '添加朋友') { - // JhNavUtils.pushNamed(context, 'WxAddFriendPage'); - } - if (selText == '扫一扫') { - // _scan(); - } - }); - },), - ],), + if (selText == '添加朋友') { + // JhNavUtils.pushNamed(context, 'WxAddFriendPage'); + } + if (selText == '扫一扫') { + // _scan(); + } + }); + }, + ), + ], + ), body: Column( children: [ Container( // crossAxisAlignment: CrossAxisAlignment.start, padding: EdgeInsets.all(20.h), - child: Text(TranslationLoader.lanKeys!.lockOperatingRecordTip!.tr, textAlign: TextAlign.start,), + child: Text( + TranslationLoader.lanKeys!.lockOperatingRecordTip!.tr, + textAlign: TextAlign.start, + style: TextStyle(fontSize: 24.sp), + ), ), _searchWidget(), Expanded(child: _buildMainUI()), @@ -51,13 +64,12 @@ class _LockOperatingRecordPageState extends State { ); } - Widget _searchWidget(){ + Widget _searchWidget() { return Container( height: 60.h, margin: EdgeInsets.only(left: 20.w, right: 20.w), decoration: BoxDecoration( - color: Colors.white, - borderRadius: BorderRadius.circular(5)), + color: Colors.white, borderRadius: BorderRadius.circular(5)), child: TextField( //输入框一行 maxLines: 1, @@ -73,84 +85,109 @@ class _LockOperatingRecordPageState extends State { border: InputBorder.none, //左边图标设置 icon: Padding( - padding: EdgeInsets.only(top:30.w, bottom: 20.w, right: 20.w, left: 20.w), - child: Image.asset('images/main/icon_main_search.png', width: 40.w, height: 40.w,), + padding: EdgeInsets.only( + top: 30.w, bottom: 20.w, right: 20.w, left: 20.w), + child: Image.asset( + 'images/main/icon_main_search.png', + width: 40.w, + height: 40.w, + ), ), ), ), ); } - Widget _buildMainUI(){ + Widget _buildMainUI() { return ListView.builder( - itemCount:20, - itemBuilder: (c, index){ - if(index%2 == 0){ + itemCount: 20, + itemBuilder: (c, index) { + if (index % 2 == 0) { return _dateItem("2023-06-29"); - }else{ - return _operatingRecordItem('images/icon_lock.png', "张三", "2023.6.21 11.15", "2023.6.21 11.15",(){ + } else { + return _operatingRecordItem('images/controls_user.png', "张三", + "2023.6.21 11.15", "2023.6.21 11.15", () { // Navigator.pushNamed(context, Routers.electronicKeyDetailPage); }); } - } - ); + }); } - Widget _dateItem(String lockDate){ + Widget _dateItem(String lockDate) { return Container( height: 70.h, // color: Colors.red, - padding: EdgeInsets.only(left:20.h, right: 20.h), + padding: EdgeInsets.only(left: 20.h, right: 20.h), child: Row( children: [ - Text(lockDate, style: TextStyle(fontSize: 32.sp, fontWeight: FontWeight.w500), ), + Text( + lockDate, + style: TextStyle(fontSize: 28.sp), + ), ], ), ); } - Widget _operatingRecordItem(String lockTypeIcon, String lockTypeTitle, String beginTime, String endTime, Function() action){ + Widget _operatingRecordItem(String lockTypeIcon, String lockTypeTitle, + String beginTime, String endTime, Function() action) { return GestureDetector( onTap: action, child: Container( - height: 110.h, + height: 90.h, padding: EdgeInsets.only(left: 20.w, right: 20.w), - decoration: BoxDecoration( + decoration: BoxDecoration( color: Colors.white, borderRadius: BorderRadius.circular(10.w), ), child: Row( children: [ - SizedBox(width: 30.w,), - Image.asset(lockTypeIcon, width: 50.w, height: 50.w,), - SizedBox(width: 30.w,), + SizedBox( + width: 20.w, + ), + Image.asset( + lockTypeIcon, + width: 50.w, + height: 50.w, + ), + SizedBox( + width: 30.w, + ), Expanded( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ Row( children: [ - Text(lockTypeTitle, style: TextStyle(fontSize: 32.sp, fontWeight: FontWeight.w500), ), + Text( + lockTypeTitle, + style: TextStyle( + fontSize: 28.sp, color: AppColors.blackColor), + ), ], ), - SizedBox(height:10.h), + SizedBox(height: 10.h), Container( child: Row( mainAxisAlignment: MainAxisAlignment.start, children: [ - Text("2023.6.21 11.15-2023.6.21 11.15", style: TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500), ), + Text( + "2023.6.21 11.15-2023.6.21 11.15", + style: TextStyle( + fontSize: 28.sp, + color: AppColors.darkGrayTextColor), + ), ], ), ), - SizedBox(width:20.h), + SizedBox(width: 20.h), ], ), ), - SizedBox(width:20.h), + SizedBox(width: 20.h), ], ), ), ); } - } diff --git a/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyList/otherTypeKeyList_page.dart b/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyList/otherTypeKeyList_page.dart index 5b31d911..ec538074 100644 --- a/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyList/otherTypeKeyList_page.dart +++ b/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyList/otherTypeKeyList_page.dart @@ -1,4 +1,3 @@ - import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; @@ -17,38 +16,46 @@ class OtherTypeKeyListPage extends StatefulWidget { } class _OtherTypeKeyListPageState extends State { - @override Widget build(BuildContext context) { var type = ModalRoute.of(context)?.settings.arguments as int; return Scaffold( backgroundColor: AppColors.mainBackgroundColor, - appBar: TitleAppBar(barTitle: getAppBarTitle(type), haveBack:true, backgroundColor: AppColors.mainColor, actionsList: [ - TextButton( - child: Text(TranslationLoader.lanKeys!.reset!.tr, style: const TextStyle(color: Colors.white),), - onPressed: (){ - - },), - ],), + appBar: TitleAppBar( + barTitle: getAppBarTitle(type), + haveBack: true, + backgroundColor: AppColors.mainColor, + actionsList: [ + TextButton( + child: Text( + TranslationLoader.lanKeys!.reset!.tr, + style: const TextStyle(color: Colors.white), + ), + onPressed: () {}, + ), + ], + ), body: Column( children: [ _searchWidget(), Expanded(child: _buildMainUI(type)), SubmitBtn( - btnName: '${TranslationLoader.lanKeys!.getTip!.tr} ${getAppBarTitle(type)}', + btnName: + '${TranslationLoader.lanKeys!.getTip!.tr} ${getAppBarTitle(type)}', borderRadius: 20.w, - margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w, bottom: 30.w), + margin: EdgeInsets.only( + left: 30.w, right: 30.w, top: 30.w, bottom: 30.w), padding: EdgeInsets.only(top: 25.w, bottom: 25.w), - onClick: (){ - Navigator.pushNamed(context, Routers.otherTypeKeyManagePage, arguments: type); - } - ), + onClick: () { + Navigator.pushNamed(context, Routers.otherTypeKeyManagePage, + arguments: type); + }), ], ), ); } - String getAppBarTitle(int type){ + String getAppBarTitle(int type) { String title = ""; switch (type) { case 0: @@ -66,13 +73,12 @@ class _OtherTypeKeyListPageState extends State { return title; } - Widget _searchWidget(){ + Widget _searchWidget() { return Container( - height: 80.h, - margin: EdgeInsets.only(top:20.w, left: 20.w, right: 20.w), + height: 60.h, + margin: EdgeInsets.only(top: 20.w, left: 20.w, right: 20.w), decoration: BoxDecoration( - color: Colors.white, - borderRadius: BorderRadius.circular(5)), + color: Colors.white, borderRadius: BorderRadius.circular(5)), child: TextField( //输入框一行 maxLines: 1, @@ -87,40 +93,55 @@ class _OtherTypeKeyListPageState extends State { border: InputBorder.none, //左边图标设置 icon: Padding( - padding: EdgeInsets.only(top:30.w, bottom: 20.w, right: 20.w, left: 20.w), - child: Image.asset('images/main/icon_main_search.png', width: 40.w, height: 40.w,), + padding: EdgeInsets.only( + top: 30.w, bottom: 20.w, right: 20.w, left: 20.w), + child: Image.asset( + 'images/main/icon_main_search.png', + width: 40.w, + height: 40.w, + ), ), ), ), ); } - Widget _buildMainUI(int type){ + Widget _buildMainUI(int type) { return ListView.builder( - itemCount:10, - itemBuilder: (c, index){ - return _electronicKeyItem('images/icon_lock.png', "张三", "2023.6.21 11.15", "2023.6.21 11.15",(){ - Navigator.pushNamed(context, Routers.otherTypeKeyDetailPage, arguments: type); + itemCount: 10, + itemBuilder: (c, index) { + return _electronicKeyItem('images/icon_lock.png', "张三", + "2023.6.21 11.15", "2023.6.21 11.15", () { + Navigator.pushNamed(context, Routers.otherTypeKeyDetailPage, + arguments: type); }); - } - ); + }); } - Widget _electronicKeyItem(String lockTypeIcon, String lockTypeTitle, String beginTime, String endTime, Function() action){ + Widget _electronicKeyItem(String lockTypeIcon, String lockTypeTitle, + String beginTime, String endTime, Function() action) { return GestureDetector( onTap: action, child: Container( height: 100.h, margin: EdgeInsets.only(left: 20.w, right: 20.w, top: 20.w), - decoration: BoxDecoration( + decoration: BoxDecoration( color: Colors.white, borderRadius: BorderRadius.circular(10.w), ), child: Row( children: [ - SizedBox(width: 30.w,), - Image.asset(lockTypeIcon, width: 50.w, height: 50.w,), - SizedBox(width: 30.w,), + SizedBox( + width: 30.w, + ), + Image.asset( + lockTypeIcon, + width: 50.w, + height: 50.w, + ), + SizedBox( + width: 30.w, + ), Expanded( child: Column( mainAxisAlignment: MainAxisAlignment.center, @@ -128,23 +149,31 @@ class _OtherTypeKeyListPageState extends State { Row( mainAxisAlignment: MainAxisAlignment.start, children: [ - Text(lockTypeTitle, style: TextStyle(fontSize: 32.sp, fontWeight: FontWeight.w500), ), + Text( + lockTypeTitle, + style: TextStyle( + fontSize: 32.sp, fontWeight: FontWeight.w500), + ), ], ), - SizedBox(height:5.h), + SizedBox(height: 5.h), Container( child: Row( mainAxisAlignment: MainAxisAlignment.start, children: [ - Text("2023.6.21 11.15 永久", style: TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500), ), + Text( + "2023.6.21 11.15 永久", + style: TextStyle( + fontSize: 28.sp, fontWeight: FontWeight.w500), + ), ], ), ), - SizedBox(width:20.h), + SizedBox(width: 20.h), ], ), ), - SizedBox(width:20.h), + SizedBox(width: 20.h), ], ), ), diff --git a/star_lock/lib/main/lockDetail/passwordKey/passwordKeyList/passwordKeyList_page.dart b/star_lock/lib/main/lockDetail/passwordKey/passwordKeyList/passwordKeyList_page.dart index fe3ecb2b..b1b742ca 100644 --- a/star_lock/lib/main/lockDetail/passwordKey/passwordKeyList/passwordKeyList_page.dart +++ b/star_lock/lib/main/lockDetail/passwordKey/passwordKeyList/passwordKeyList_page.dart @@ -20,13 +20,20 @@ class _PasswordKeyListPageState extends State { Widget build(BuildContext context) { return Scaffold( backgroundColor: AppColors.mainBackgroundColor, - appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.password!.tr, haveBack:true, backgroundColor: AppColors.mainColor, actionsList: [ - TextButton( - child: Text(TranslationLoader.lanKeys!.reset!.tr, style: const TextStyle(color: Colors.white),), - onPressed: (){ - - },), - ],), + appBar: TitleAppBar( + barTitle: TranslationLoader.lanKeys!.password!.tr, + haveBack: true, + backgroundColor: AppColors.mainColor, + actionsList: [ + TextButton( + child: Text( + TranslationLoader.lanKeys!.reset!.tr, + style: const TextStyle(color: Colors.white), + ), + onPressed: () {}, + ), + ], + ), body: Column( children: [ _searchWidget(), @@ -34,24 +41,23 @@ class _PasswordKeyListPageState extends State { SubmitBtn( btnName: TranslationLoader.lanKeys!.getPassword!.tr, borderRadius: 20.w, - margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w, bottom: 30.w), + margin: EdgeInsets.only( + left: 30.w, right: 30.w, top: 30.w, bottom: 30.w), padding: EdgeInsets.only(top: 25.w, bottom: 25.w), - onClick: (){ + onClick: () { Navigator.pushNamed(context, Routers.passwordKeyManagePage); - } - ), + }), ], ), ); } - Widget _searchWidget(){ + Widget _searchWidget() { return Container( - height: 80.h, - margin: EdgeInsets.only(top:20.w, left: 20.w, right: 20.w), + height: 60.h, + margin: EdgeInsets.only(top: 20.w, left: 20.w, right: 20.w), decoration: BoxDecoration( - color: Colors.white, - borderRadius: BorderRadius.circular(5)), + color: Colors.white, borderRadius: BorderRadius.circular(5)), child: TextField( //输入框一行 maxLines: 1, @@ -66,40 +72,54 @@ class _PasswordKeyListPageState extends State { border: InputBorder.none, //左边图标设置 icon: Padding( - padding: EdgeInsets.only(top:30.w, bottom: 20.w, right: 20.w, left: 20.w), - child: Image.asset('images/main/icon_main_search.png', width: 40.w, height: 40.w,), + padding: EdgeInsets.only( + top: 30.w, bottom: 20.w, right: 20.w, left: 20.w), + child: Image.asset( + 'images/main/icon_main_search.png', + width: 40.w, + height: 40.w, + ), ), ), ), ); } - Widget _buildMainUI(){ + Widget _buildMainUI() { return ListView.builder( - itemCount:10, - itemBuilder: (c, index){ - return _electronicKeyItem('images/icon_lock.png', "张三", "2023.6.21 11.15", "2023.6.21 11.15",(){ + itemCount: 10, + itemBuilder: (c, index) { + return _electronicKeyItem('images/icon_lock.png', "张三", + "2023.6.21 11.15", "2023.6.21 11.15", () { Navigator.pushNamed(context, Routers.passwordKeyDetailPage); }); - } - ); + }); } - Widget _electronicKeyItem(String lockTypeIcon, String lockTypeTitle, String beginTime, String endTime, Function()? action){ + Widget _electronicKeyItem(String lockTypeIcon, String lockTypeTitle, + String beginTime, String endTime, Function()? action) { return GestureDetector( onTap: action, child: Container( height: 100.h, margin: EdgeInsets.only(left: 20.w, right: 20.w, top: 20.w), - decoration: BoxDecoration( + decoration: BoxDecoration( color: Colors.white, borderRadius: BorderRadius.circular(10.w), ), child: Row( children: [ - SizedBox(width: 30.w,), - Image.asset(lockTypeIcon, width: 50.w, height: 50.w,), - SizedBox(width: 30.w,), + SizedBox( + width: 30.w, + ), + Image.asset( + lockTypeIcon, + width: 50.w, + height: 50.w, + ), + SizedBox( + width: 30.w, + ), Expanded( child: Column( mainAxisAlignment: MainAxisAlignment.center, @@ -107,23 +127,31 @@ class _PasswordKeyListPageState extends State { Row( mainAxisAlignment: MainAxisAlignment.start, children: [ - Text(lockTypeTitle, style: TextStyle(fontSize: 32.sp, fontWeight: FontWeight.w500), ), + Text( + lockTypeTitle, + style: TextStyle( + fontSize: 32.sp, fontWeight: FontWeight.w500), + ), ], ), - SizedBox(height:5.h), + SizedBox(height: 5.h), Container( child: Row( mainAxisAlignment: MainAxisAlignment.start, children: [ - Text("2023.6.21 11.15 永久", style: TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500), ), + Text( + "2023.6.21 11.15 永久", + style: TextStyle( + fontSize: 28.sp, fontWeight: FontWeight.w500), + ), ], ), ), - SizedBox(width:20.h), + SizedBox(width: 20.h), ], ), ), - SizedBox(width:20.h), + SizedBox(width: 20.h), ], ), ), diff --git a/star_lock/lib/mine/addLock/addLock/addLock_page.dart b/star_lock/lib/mine/addLock/addLock/addLock_page.dart index 3c7e6198..6c8cd325 100644 --- a/star_lock/lib/mine/addLock/addLock/addLock_page.dart +++ b/star_lock/lib/mine/addLock/addLock/addLock_page.dart @@ -16,54 +16,66 @@ class AddLockPage extends StatefulWidget { State createState() => _AddLockPageState(); } -class _AddLockPageState extends State with BaseWidget{ - +class _AddLockPageState extends State with BaseWidget { @override Widget build(BuildContext context) { return Scaffold( - backgroundColor: AppColors.mainBackgroundColor, - appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.addLock!.tr, haveBack:true, backgroundColor: AppColors.mainColor), + backgroundColor: Colors.white, + appBar: TitleAppBar( + barTitle: TranslationLoader.lanKeys!.addLock!.tr, + haveBack: true, + backgroundColor: AppColors.mainColor), body: Column( // mainAxisAlignment: MainAxisAlignment.center, // crossAxisAlignment: CrossAxisAlignment.center, children: [ - SizedBox(height: 100.h,), + SizedBox( + height: 100.h, + ), Row( mainAxisAlignment: MainAxisAlignment.center, children: [ - Text(TranslationLoader.lanKeys!.lightTouchScreen!.tr, style: TextStyle(fontSize: 36.sp, fontWeight: FontWeight.w500),), + Text( + TranslationLoader.lanKeys!.lightTouchScreen!.tr, + style: TextStyle(fontSize: 36.sp, fontWeight: FontWeight.w500), + ), ], ), - SizedBox(height: 120.h,), - Image.asset('images/main/icon_main_addLock.png', width: 150.w, height: 150.w,), - SizedBox(height: 120.h,), + SizedBox( + height: 120.h, + ), + Image.asset( + 'images/lockType/addLock_touchScreen.png', + width: 278.w, + height: 278.w, + ), + SizedBox( + height: 120.h, + ), Row( mainAxisAlignment: MainAxisAlignment.center, children: [ - Text(TranslationLoader.lanKeys!.lightTouchScreenTip!.tr, style: TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500),), + Text( + TranslationLoader.lanKeys!.lightTouchScreenTip!.tr, + style: TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500), + ), ], ), - SizedBox(height: 120.h,), + SizedBox( + height: 120.h, + ), SubmitBtn( btnName: TranslationLoader.lanKeys!.next!.tr, borderRadius: 20.w, - margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w, bottom: 30.w), - padding: EdgeInsets.only(top: 25.w, bottom: 25.w), - onClick: (){ + onClick: () { Navigator.pushNamed(context, Routers.nearbyLockPage); - } - ), + }), ], ), ); } + void onShow() {} - void onShow(){ - - } - - void onHide(){ - - } + void onHide() {} } diff --git a/star_lock/lib/mine/addLock/seletLockType/seletLockType_page.dart b/star_lock/lib/mine/addLock/seletLockType/seletLockType_page.dart index 1ee17593..27c7af92 100644 --- a/star_lock/lib/mine/addLock/seletLockType/seletLockType_page.dart +++ b/star_lock/lib/mine/addLock/seletLockType/seletLockType_page.dart @@ -15,12 +15,15 @@ class SeletLockTypePage extends StatefulWidget { State createState() => _SeletLockTypePageState(); } -class _SeletLockTypePageState extends State with BaseWidget{ +class _SeletLockTypePageState extends State with BaseWidget { @override Widget build(BuildContext context) { return Scaffold( backgroundColor: AppColors.mainBackgroundColor, - appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.addLock!.tr, haveBack:true, backgroundColor: AppColors.mainColor), + appBar: TitleAppBar( + barTitle: TranslationLoader.lanKeys!.addLock!.tr, + haveBack: true, + backgroundColor: AppColors.mainColor), body: Column( children: [ allLock(), @@ -33,25 +36,33 @@ class _SeletLockTypePageState extends State with BaseWidget{ crossAxisSpacing: 10, mainAxisSpacing: 10, children: [ - lockTypeItem('images/icon_lock.png', TranslationLoader.lanKeys!.doorLock!.tr, (){ + lockTypeItem('images/lockType/lockType_doorLock.png', + TranslationLoader.lanKeys!.doorLock!.tr, () { Navigator.pushNamed(context, Routers.addLockPage); }), - lockTypeItem('images/icon_lock.png', TranslationLoader.lanKeys!.padlock!.tr, (){ + lockTypeItem('images/lockType/lockType_padlock.png', + TranslationLoader.lanKeys!.padlock!.tr, () { Navigator.pushNamed(context, Routers.addLockPage); }), - lockTypeItem('images/icon_lock.png', TranslationLoader.lanKeys!.safeLock!.tr, (){ + lockTypeItem('images/lockType/lockType_safeLock.png', + TranslationLoader.lanKeys!.safeLock!.tr, () { Navigator.pushNamed(context, Routers.addLockPage); }), - lockTypeItem('images/icon_lock.png', TranslationLoader.lanKeys!.intelligentLockCore!.tr, (){ + lockTypeItem( + 'images/lockType/lockType_intelligentLockCore.png', + TranslationLoader.lanKeys!.intelligentLockCore!.tr, () { Navigator.pushNamed(context, Routers.addLockPage); }), - lockTypeItem('images/icon_lock.png', TranslationLoader.lanKeys!.parkingLock!.tr, (){ + lockTypeItem('images/lockType/lockType_parkingLock.png', + TranslationLoader.lanKeys!.parkingLock!.tr, () { Navigator.pushNamed(context, Routers.addLockPage); }), - lockTypeItem('images/icon_lock.png', TranslationLoader.lanKeys!.bicycleLock!.tr, (){ + lockTypeItem('images/lockType/lockType_bicycleLock.png', + TranslationLoader.lanKeys!.bicycleLock!.tr, () { Navigator.pushNamed(context, Routers.addLockPage); }), - lockTypeItem('images/icon_lock.png', TranslationLoader.lanKeys!.longRangeControl!.tr, (){ + lockTypeItem('images/lockType/lockType_remoteControl.png', + TranslationLoader.lanKeys!.longRangeControl!.tr, () { Navigator.pushNamed(context, Routers.addLockPage); }), ], @@ -63,41 +74,51 @@ class _SeletLockTypePageState extends State with BaseWidget{ ); } - - Widget allLock(){ + Widget allLock() { return GestureDetector( - onTap: (){ - - }, + onTap: () {}, child: Container( height: 150.h, color: Colors.white, margin: const EdgeInsets.all(10), child: Row( children: [ - SizedBox(width:40.w), - Image.asset('images/icon_lock.png', width: 80.w, height: 100.w,), - SizedBox(width:40.w), + SizedBox(width: 40.w), + Image.asset( + 'images/lockType/lockType_allLocks.png', + width: 88.w, + height: 80.w, + ), + SizedBox(width: 40.w), Expanded( child: Column( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.start, children: [ - Text(TranslationLoader.lanKeys!.allLock!.tr, style: TextStyle(fontSize: 30.sp, fontWeight: FontWeight.w500)), - Text(TranslationLoader.lanKeys!.searchAllLockType!.tr, style: TextStyle(fontSize: 26.sp, fontWeight: FontWeight.w500)), + Text(TranslationLoader.lanKeys!.allLock!.tr, + style: TextStyle( + fontSize: 30.sp, fontWeight: FontWeight.w500)), + Text(TranslationLoader.lanKeys!.searchAllLockType!.tr, + style: TextStyle( + fontSize: 26.sp, fontWeight: FontWeight.w500)), ], ), ), - SizedBox(width:40.w), - Image.asset('images/icon_right.png', width: 60.w, height: 60.w,), - SizedBox(width:40.w), + SizedBox(width: 40.w), + Image.asset( + 'images/icon_right.png', + width: 60.w, + height: 60.w, + ), + SizedBox(width: 40.w), ], ), ), ); } - Widget lockTypeItem(String lockTypeIcon, String lockTypeTitle, Function() action){ + Widget lockTypeItem( + String lockTypeIcon, String lockTypeTitle, Function() action) { return GestureDetector( onTap: action, child: Container( @@ -106,30 +127,38 @@ class _SeletLockTypePageState extends State with BaseWidget{ // margin: EdgeInsets.all(10), child: Row( children: [ - SizedBox(width:20.w), - Image.asset(lockTypeIcon, width: 40.w, height: 50.w,), - SizedBox(width:20.w), + SizedBox(width: 20.w), + Image.asset( + lockTypeIcon, + width: 40.w, + height: 57.w, + ), + SizedBox(width: 20.w), Expanded( child: Column( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.start, children: [ - Text(lockTypeTitle, style: TextStyle(fontSize: 30.sp, fontWeight: FontWeight.w500)), + Text(lockTypeTitle, + style: TextStyle( + fontSize: 30.sp, fontWeight: FontWeight.w500)), ], ), ), - SizedBox(width:20.w), - Image.asset('images/icon_right.png', width: 60.w, height: 60.w,), - SizedBox(width:20.w), + SizedBox(width: 20.w), + Image.asset( + 'images/icon_right.png', + width: 60.w, + height: 60.w, + ), + SizedBox(width: 20.w), ], ), ), ); } - void onShow(){ - } + void onShow() {} - void onHide(){ - } + void onHide() {} } diff --git a/star_lock/lib/mine/gateway/gatewayList/gatewayList_page.dart b/star_lock/lib/mine/gateway/gatewayList/gatewayList_page.dart index 585f32f4..e247e947 100644 --- a/star_lock/lib/mine/gateway/gatewayList/gatewayList_page.dart +++ b/star_lock/lib/mine/gateway/gatewayList/gatewayList_page.dart @@ -19,42 +19,65 @@ class _GatewayListPageState extends State { Widget build(BuildContext context) { return Scaffold( backgroundColor: AppColors.mainBackgroundColor, - appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.gateway!.tr, haveBack:true, backgroundColor: AppColors.mainColor, actionsList: [ - GestureDetector( - onTap: (){ - Navigator.pushNamed(context, Routers.seletGatewayTypePage); - }, - child: Image.asset('images/icon_add_white.png', width: 50.w, height: 50.w,) - ), - SizedBox(width: 30.w,), - ],), + appBar: TitleAppBar( + barTitle: TranslationLoader.lanKeys!.gateway!.tr, + haveBack: true, + backgroundColor: AppColors.mainColor, + actionsList: [ + GestureDetector( + onTap: () { + Navigator.pushNamed(context, Routers.seletGatewayTypePage); + }, + child: Image.asset( + 'images/icon_add_white.png', + width: 50.w, + height: 50.w, + )), + SizedBox( + width: 30.w, + ), + ], + ), body: ListView.builder( - itemCount:10, - itemBuilder: (c, index){ - return _gatewatListItem('images/mine/icon_mine_gatewayListMainIcon.png', "星锁网关", "在线", "2", (){ + itemCount: 10, + itemBuilder: (c, index) { + return _gatewatListItem( + 'images/mine/icon_mine_gatewayListMainIcon.png', + "星锁网关", + "在线", + "2", () { Navigator.pushNamed(context, Routers.gatewayDetailPage); }); - } - ), + }), ); } - Widget _gatewatListItem(String lockTypeIcon, String gateWayName, String isOnline, String lockNumber, Function() action){ + Widget _gatewatListItem(String lockTypeIcon, String gateWayName, + String isOnline, String lockNumber, Function() action) { return GestureDetector( onTap: action, child: Container( // height: 100.h, margin: const EdgeInsets.only(bottom: 2), - padding: EdgeInsets.only(left: 10.w, right: 20.w, top: 20.h, bottom: 20.h), - decoration: BoxDecoration( + padding: + EdgeInsets.only(left: 10.w, right: 20.w, top: 20.h, bottom: 20.h), + decoration: BoxDecoration( color: Colors.white, borderRadius: BorderRadius.circular(10.w), ), child: Row( children: [ - SizedBox(width: 10.w,), - Image.asset(lockTypeIcon, width: 90.w, height: 90.w,), - SizedBox(width: 20.w,), + SizedBox( + width: 10.w, + ), + Image.asset( + lockTypeIcon, + width: 60.w, + height: 60.w, + ), + SizedBox( + width: 20.w, + ), Expanded( child: Column( mainAxisAlignment: MainAxisAlignment.center, @@ -64,31 +87,56 @@ class _GatewayListPageState extends State { child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - Text(gateWayName, style: TextStyle(fontSize: 32.sp, fontWeight: FontWeight.w500), ), + Text( + gateWayName, + style: TextStyle( + fontSize: 28.sp, fontWeight: FontWeight.w500), + ), ], ), ), - SizedBox(height:5.h), + SizedBox(height: 5.h), Container( child: Row( mainAxisAlignment: MainAxisAlignment.start, children: [ - Image.asset('images/mine/icon_mine_gatewayListOnline.png', width: 40.w, height: 40.w,), - SizedBox(width: 10.w,), - Text("在线", style: TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500), ), - SizedBox(width: 80.w,), - Image.asset('images/mine/icon_mine_gatewayListNumber.png', width: 40.w, height: 40.w,), - SizedBox(width: 10.w,), - Text("2", style: TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500), ), + Image.asset( + 'images/mine/icon_mine_gatewayListOnline.png', + width: 40.w, + height: 40.w, + ), + SizedBox( + width: 10.w, + ), + Text( + "在线", + style: TextStyle( + fontSize: 24.sp, fontWeight: FontWeight.w500), + ), + SizedBox( + width: 80.w, + ), + Image.asset( + 'images/mine/icon_mine_gatewayListNumber.png', + width: 40.w, + height: 40.w, + ), + SizedBox( + width: 10.w, + ), + Text( + "2", + style: TextStyle( + fontSize: 28.sp, fontWeight: FontWeight.w500), + ), ], ), ), - SizedBox(width:20.h), + SizedBox(width: 20.h), ], ), ), - SizedBox(width:20.h), - + SizedBox(width: 20.h), ], ), ), diff --git a/star_lock/lib/mine/message/messageList_page.dart b/star_lock/lib/mine/message/messageList_page.dart index c7e4eb80..5cfea2a2 100644 --- a/star_lock/lib/mine/message/messageList_page.dart +++ b/star_lock/lib/mine/message/messageList_page.dart @@ -1,4 +1,3 @@ - import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; @@ -20,34 +19,47 @@ class _MessageListPageState extends State { Widget build(BuildContext context) { return Scaffold( backgroundColor: AppColors.mainBackgroundColor, - appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.message!.tr, haveBack:true, backgroundColor: AppColors.mainColor), + appBar: TitleAppBar( + barTitle: TranslationLoader.lanKeys!.message!.tr, + haveBack: true, + backgroundColor: AppColors.mainColor), body: ListView.builder( - itemCount:10, - itemBuilder: (c, index){ - return _seletGatewayListListItem('images/mine/icon_mine_gatewayListMainIcon.png', "您的钥匙已发送成功", "2023.6.21 11.15", (){ + itemCount: 10, + itemBuilder: (c, index) { + return _seletGatewayListListItem('images/icon_lockGroup_item.png', + "您的钥匙已发送成功", "2023.6.21 11.15", () { // Navigator.pushNamed(context, Routers.gatewayConfigurationWifiPage); }); - } - ), + }), ); } - Widget _seletGatewayListListItem(String lockTypeIcon, String gateWayName, String networkSignal, Function() action){ + Widget _seletGatewayListListItem(String lockTypeIcon, String gateWayName, + String networkSignal, Function() action) { return GestureDetector( onTap: action, child: Container( // height: 100.h, margin: const EdgeInsets.only(bottom: 2), - padding: EdgeInsets.only(left: 10.w, right: 20.w, top: 20.h, bottom: 20.h), - decoration: BoxDecoration( + padding: + EdgeInsets.only(left: 10.w, right: 20.w, top: 20.h, bottom: 20.h), + decoration: BoxDecoration( color: Colors.white, borderRadius: BorderRadius.circular(10.w), ), child: Row( children: [ - SizedBox(width: 10.w,), - Image.asset(lockTypeIcon, width: 80.w, height: 80.w,), - SizedBox(width: 20.w,), + SizedBox( + width: 10.w, + ), + Image.asset( + lockTypeIcon, + width: 80.w, + height: 80.w, + ), + SizedBox( + width: 20.w, + ), Expanded( child: Column( mainAxisAlignment: MainAxisAlignment.center, @@ -57,22 +69,30 @@ class _MessageListPageState extends State { child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - Text(gateWayName, style: TextStyle(fontSize: 32.sp, fontWeight: FontWeight.w500), ), + Text( + gateWayName, + style: TextStyle( + fontSize: 32.sp, fontWeight: FontWeight.w500), + ), ], ), ), - SizedBox(height:5.h), + SizedBox(height: 5.h), Container( child: Row( mainAxisAlignment: MainAxisAlignment.start, children: [ // Image.asset('images/mine/icon_mine_gatewaySignal_strong.png', width: 40.w, height: 40.w,), // SizedBox(width: 10.w,), - Text(networkSignal, style: TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500), ), + Text( + networkSignal, + style: TextStyle( + fontSize: 28.sp, fontWeight: FontWeight.w500), + ), ], ), ), - SizedBox(width:20.h), + SizedBox(width: 20.h), ], ), ) @@ -81,5 +101,4 @@ class _MessageListPageState extends State { ), ); } - } diff --git a/star_lock/lib/mine/mineSet/authorizedAdministrator/authorizedAdministratorList_page.dart b/star_lock/lib/mine/mineSet/authorizedAdministrator/authorizedAdministratorList_page.dart new file mode 100644 index 00000000..42225461 --- /dev/null +++ b/star_lock/lib/mine/mineSet/authorizedAdministrator/authorizedAdministratorList_page.dart @@ -0,0 +1,152 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:get/get.dart'; + +import '../../../../appRouters.dart'; +import '../../../../app_settings/app_colors.dart'; +import '../../../../tools/titleAppBar.dart'; +import '../../../../translations/trans_lib.dart'; + +class AuthorizedAdministratorListPage extends StatefulWidget { + const AuthorizedAdministratorListPage({Key? key}) : super(key: key); + + @override + State createState() => + _AuthorizedAdministratorListPageState(); +} + +class _AuthorizedAdministratorListPageState + extends State { + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: AppColors.mainBackgroundColor, + appBar: TitleAppBar( + barTitle: TranslationLoader.lanKeys!.authorizedAdmin!.tr, + haveBack: true, + backgroundColor: AppColors.mainColor, + actionsList: [ + IconButton( + icon: Image.asset('images/icon_add_white.png'), + onPressed: () { + // 处理操作按钮的点击事件 + Navigator.pushNamed(context, Routers.authorizedAdminManagePage); + }, + ), + ], + ), + body: Column( + children: [ + _searchWidget(), + Expanded(child: _buildMainUI()), + ], + ), + ); + } + + Widget _searchWidget() { + return Container( + height: 60.h, + margin: EdgeInsets.only(top: 20.w, left: 20.w, right: 20.w), + decoration: BoxDecoration( + color: Colors.white, borderRadius: BorderRadius.circular(5)), + child: TextField( + //输入框一行 + maxLines: 1, + // controller: _controller, + autofocus: false, + decoration: InputDecoration( + //输入里面输入文字内边距设置 + contentPadding: const EdgeInsets.only( + top: 12.0, left: -19.0, right: -15.0, bottom: 8.0), + hintText: TranslationLoader.lanKeys!.pleaseEnter!.tr, + //不需要输入框下划线 + border: InputBorder.none, + //左边图标设置 + icon: Padding( + padding: EdgeInsets.only( + top: 30.w, bottom: 20.w, right: 20.w, left: 20.w), + child: Image.asset( + 'images/main/icon_main_search.png', + width: 40.w, + height: 40.w, + ), + ), + ), + ), + ); + } + + Widget _buildMainUI() { + return ListView.builder( + itemCount: 10, + itemBuilder: (c, index) { + return _electronicKeyItem('images/icon_lock.png', "张三", + "2023.6.21 11.15", "2023.6.21 11.15", () { + Navigator.pushNamed(context, Routers.authorizedAdminDetailPage); + }); + }); + } + + Widget _electronicKeyItem(String lockTypeIcon, String lockTypeTitle, + String beginTime, String endTime, Function() action) { + return GestureDetector( + onTap: action, + child: Container( + height: 100.h, + margin: EdgeInsets.only(left: 20.w, right: 20.w, top: 20.w), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(10.w), + ), + child: Row( + children: [ + SizedBox( + width: 30.w, + ), + Image.asset( + lockTypeIcon, + width: 50.w, + height: 50.w, + ), + SizedBox( + width: 30.w, + ), + Expanded( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Text( + lockTypeTitle, + style: TextStyle( + fontSize: 32.sp, fontWeight: FontWeight.w500), + ), + ], + ), + SizedBox(height: 5.h), + Container( + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Text( + "2023.6.21 11.15 永久", + style: TextStyle( + fontSize: 28.sp, fontWeight: FontWeight.w500), + ), + ], + ), + ), + SizedBox(width: 20.h), + ], + ), + ), + SizedBox(width: 20.h), + ], + ), + ), + ); + } +} diff --git a/star_lock/lib/mine/mineSet/lockGroup/lockGroupList_page.dart b/star_lock/lib/mine/mineSet/lockGroup/lockGroupList_page.dart new file mode 100644 index 00000000..6d22bf78 --- /dev/null +++ b/star_lock/lib/mine/mineSet/lockGroup/lockGroupList_page.dart @@ -0,0 +1,71 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:get/get.dart'; + +import '../../../../../appRouters.dart'; +import '../../../../../app_settings/app_colors.dart'; +import '../../../../../tools/commonItem.dart'; +import '../../../../../tools/submitBtn.dart'; +import '../../../../../tools/titleAppBar.dart'; +import '../../../../../translations/trans_lib.dart'; + +class LockGroupListPage extends StatefulWidget { + const LockGroupListPage({Key? key}) : super(key: key); + + @override + State createState() => _LockGroupListPageState(); +} + +class _LockGroupListPageState extends State { + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: AppColors.mainBackgroundColor, + appBar: TitleAppBar( + barTitle: TranslationLoader.lanKeys!.basicInformation!.tr, + haveBack: true, + actionsList: [ + IconButton( + icon: Image.asset('images/icon_add_white.png'), + onPressed: () { + // 处理操作按钮的点击事件-添加锁分组 + }, + ), + ], + backgroundColor: AppColors.mainColor), + body: Column( + children: [ + Expanded(child: _buildMainUI()), + ], + ), + ); + } + + Widget _buildMainUI() { + return ListView.builder( + itemCount: 2, + itemBuilder: (c, index) { + if (index == 1) { + return Center( + child: SizedBox( + height: 40.h, + child: const Text( + '锁数量:1', + style: TextStyle( + color: AppColors.darkGrayTextColor, fontSize: 14), + ), + ), + ); + } else { + return CommonItem( + leftTitel: "未分组(1)", + rightTitle: "", + allHeight: 70.h, + isHaveLine: true, + action: () { + Navigator.pushNamed(context, Routers.lockItemListPage); + }); + } + }); + } +} diff --git a/star_lock/lib/mine/mineSet/lockGroup/lockItemList_page.dart b/star_lock/lib/mine/mineSet/lockGroup/lockItemList_page.dart new file mode 100644 index 00000000..9b87feec --- /dev/null +++ b/star_lock/lib/mine/mineSet/lockGroup/lockItemList_page.dart @@ -0,0 +1,66 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:get/get.dart'; + +import '../../../../../app_settings/app_colors.dart'; +import '../../../../../tools/commonItem.dart'; +import '../../../../../tools/titleAppBar.dart'; +import '../../../../../translations/trans_lib.dart'; + +class LockItemListPage extends StatefulWidget { + const LockItemListPage({Key? key}) : super(key: key); + + @override + State createState() => _LockItemListPageState(); +} + +class _LockItemListPageState extends State { + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: AppColors.mainBackgroundColor, + appBar: TitleAppBar( + barTitle: TranslationLoader.lanKeys!.basicInformation!.tr, + haveBack: true, + backgroundColor: AppColors.mainColor), + body: ListView.builder( + itemBuilder: (context, index) { + return _listItemView(); + }, + itemCount: 2, + ), + ); + } + + Widget _listItemView() { + return GestureDetector( + child: Container( + color: Colors.white, + height: 70.h, + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + SizedBox( + width: 20.w, + ), + Image.asset( + 'images/icon_lockGroup_item.png', + width: 30, + height: 30, + fit: BoxFit.fill, + ), + SizedBox( + width: 8.w, + ), + const Text( + 'Daisy', + style: TextStyle(fontSize: 14), + ) + ], + ), + ), + onTap: () {}, + ); + } +} diff --git a/star_lock/lib/mine/mineSet/lockUserManage/lockUserManageList_page.dart b/star_lock/lib/mine/mineSet/lockUserManage/lockUserManageList_page.dart new file mode 100644 index 00000000..2b5bef11 --- /dev/null +++ b/star_lock/lib/mine/mineSet/lockUserManage/lockUserManageList_page.dart @@ -0,0 +1,171 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:get/get.dart'; + +import '../../../../appRouters.dart'; +import '../../../../app_settings/app_colors.dart'; +import '../../../../tools/titleAppBar.dart'; +import '../../../../translations/trans_lib.dart'; + +class LockUserManageListListPage extends StatefulWidget { + const LockUserManageListListPage({Key? key}) : super(key: key); + + @override + State createState() => + _LockUserManageListListPageState(); +} + +class _LockUserManageListListPageState + extends State { + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: AppColors.mainBackgroundColor, + appBar: TitleAppBar( + barTitle: TranslationLoader.lanKeys!.lockUserManagement!.tr, + haveBack: true, + backgroundColor: AppColors.mainColor, + actionsList: [ + TextButton( + child: Text( + TranslationLoader.lanKeys!.aboutToExpire!.tr, + style: const TextStyle(color: Colors.white), + ), + onPressed: () {}, + ), + ], + ), + body: Column( + children: [ + _searchWidget(), + Expanded(child: _buildMainUI()), + SizedBox( + width: ScreenUtil().screenWidth - 40.w, + height: 80.h, + child: ElevatedButton( + style: ElevatedButton.styleFrom( + backgroundColor: Colors.white, + ), + onPressed: () {}, + child: Text( + '群发钥匙', + style: TextStyle( + color: AppColors.mainColor, + fontSize: 28.sp, + fontWeight: FontWeight.w600), + )), + ), + SizedBox( + height: 64.h, + ) + ], + ), + ); + } + + Widget _searchWidget() { + return Container( + height: 60.h, + margin: EdgeInsets.only(top: 20.w, left: 20.w, right: 20.w), + decoration: BoxDecoration( + color: Colors.white, borderRadius: BorderRadius.circular(5)), + child: TextField( + //输入框一行 + maxLines: 1, + // controller: _controller, + autofocus: false, + decoration: InputDecoration( + //输入里面输入文字内边距设置 + contentPadding: const EdgeInsets.only( + top: 12.0, left: -19.0, right: -15.0, bottom: 8.0), + hintText: TranslationLoader.lanKeys!.pleaseEnter!.tr, + //不需要输入框下划线 + border: InputBorder.none, + //左边图标设置 + icon: Padding( + padding: EdgeInsets.only( + top: 30.w, bottom: 20.w, right: 20.w, left: 20.w), + child: Image.asset( + 'images/main/icon_main_search.png', + width: 40.w, + height: 40.w, + ), + ), + ), + ), + ); + } + + Widget _buildMainUI() { + return ListView.builder( + itemCount: 10, + itemBuilder: (c, index) { + return _electronicKeyItem('images/icon_lock.png', "张三", + "2023.6.21 11.15", "2023.6.21 11.15", () { + Navigator.pushNamed(context, Routers.authorizedAdminDetailPage); + }); + }); + } + + Widget _electronicKeyItem(String lockTypeIcon, String lockTypeTitle, + String beginTime, String endTime, Function() action) { + return GestureDetector( + onTap: action, + child: Container( + height: 100.h, + margin: EdgeInsets.only(left: 20.w, right: 20.w, top: 20.w), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(10.w), + ), + child: Row( + children: [ + SizedBox( + width: 30.w, + ), + Image.asset( + lockTypeIcon, + width: 50.w, + height: 50.w, + ), + SizedBox( + width: 30.w, + ), + Expanded( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Text( + lockTypeTitle, + style: TextStyle( + fontSize: 32.sp, fontWeight: FontWeight.w500), + ), + ], + ), + SizedBox(height: 5.h), + Container( + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Text( + "2023.6.21 11.15 永久", + style: TextStyle( + fontSize: 28.sp, fontWeight: FontWeight.w500), + ), + ], + ), + ), + SizedBox(width: 20.h), + ], + ), + ), + SizedBox(width: 20.h), + ], + ), + ), + ); + } +} diff --git a/star_lock/lib/mine/mineSet/mineSet_page.dart b/star_lock/lib/mine/mineSet/mineSet_page.dart index 5cc88b20..c5fd0330 100644 --- a/star_lock/lib/mine/mineSet/mineSet_page.dart +++ b/star_lock/lib/mine/mineSet/mineSet_page.dart @@ -1,3 +1,4 @@ +import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; @@ -17,52 +18,136 @@ class MineSetPage extends StatefulWidget { } class _MineSetPageState extends State { + bool _isOn = false; + @override Widget build(BuildContext context) { return Scaffold( backgroundColor: AppColors.mainBackgroundColor, - appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.moreSet!.tr, haveBack:true, backgroundColor: AppColors.mainColor), - body:Column( + appBar: TitleAppBar( + barTitle: TranslationLoader.lanKeys!.moreSet!.tr, + haveBack: true, + backgroundColor: AppColors.mainColor), + body: Column( children: [ Expanded( child: ListView( children: [ - CommonItem(leftTitel:TranslationLoader.lanKeys!.prompTone!.tr, rightTitle:"", isHaveLine: true, isHaveRightWidget:true, rightWidget: Container(width: 80.w, height: 50.h,child: _switch())), - CommonItem(leftTitel:TranslationLoader.lanKeys!.touchUnlock!.tr, rightTitle:"", isHaveLine: true, isHaveRightWidget:true, rightWidget: Container(width: 80.w, height: 50.h,child: _switch())), - CommonItem(leftTitel:TranslationLoader.lanKeys!.pushNotification!.tr, rightTitle:"", isHaveRightWidget:true, rightWidget: Container(width: 80.w, height: 50.h,child: _switch())), - SizedBox(height: 10.h,), - CommonItem(leftTitel:TranslationLoader.lanKeys!.lockUserManagement!.tr, rightTitle:"", isHaveLine: true, isHaveDirection: true, action: (){ - - }), - CommonItem(leftTitel:TranslationLoader.lanKeys!.authorizedAdmin!.tr, rightTitle:"", isHaveLine: true, isHaveDirection: true, action: (){ - - }), - CommonItem(leftTitel:TranslationLoader.lanKeys!.lockGroup!.tr, rightTitle:"", isHaveLine: true, isHaveDirection: true, action: (){ - - }), - CommonItem(leftTitel:TranslationLoader.lanKeys!.transferSmartLock!.tr, rightTitle:"", isHaveLine: true, isHaveDirection: true, action: (){ - - }), - CommonItem(leftTitel:TranslationLoader.lanKeys!.transferGateway!.tr, rightTitle:"", isHaveDirection: true, action: (){ - - }), - SizedBox(height: 10.h,), - CommonItem(leftTitel:TranslationLoader.lanKeys!.multiLanguage!.tr, rightTitle:"简体中文", isHaveLine: true, isHaveDirection: true, action: (){ - Navigator.pushNamed(context, Routers.mineMultiLanguagePage); - }), - CommonItem(leftTitel:TranslationLoader.lanKeys!.lockScreen!.tr, rightTitle:TranslationLoader.lanKeys!.opened!.tr, isHaveLine: true, isHaveDirection: true, action: (){ - Navigator.pushNamed(context, Routers.lockScreenPage); - }), - CommonItem(leftTitel:TranslationLoader.lanKeys!.hideInvalidUnlockPermissions!.tr, rightTitle:TranslationLoader.lanKeys!.closed!.tr, isHaveLine: true, isHaveDirection: true, action: (){ - Navigator.pushNamed(context, Routers.hideInvalidUnlockPermissionsPage); - }), - CommonItem(leftTitel:TranslationLoader.lanKeys!.appUnlockRequiresMobilePhoneAccessToTheLock!.tr, rightTitle:"", isHaveLine: true, isHaveDirection: true, action: (){ - Navigator.pushNamed(context, Routers.aPPUnlockNeedMobileNetworkingLockPage); - }), + CommonItem( + leftTitel: TranslationLoader.lanKeys!.prompTone!.tr, + rightTitle: "", + isHaveLine: true, + isHaveRightWidget: true, + rightWidget: SizedBox( + width: 80.w, height: 50.h, child: _switch())), + CommonItem( + leftTitel: TranslationLoader.lanKeys!.touchUnlock!.tr, + rightTitle: "", + isHaveLine: true, + isHaveRightWidget: true, + rightWidget: SizedBox( + width: 80.w, height: 50.h, child: _switch())), + CommonItem( + leftTitel: + TranslationLoader.lanKeys!.pushNotification!.tr, + rightTitle: "", + isHaveRightWidget: true, + rightWidget: SizedBox( + width: 80.w, height: 50.h, child: _switch())), + SizedBox( + height: 10.h, + ), + CommonItem( + leftTitel: + TranslationLoader.lanKeys!.lockUserManagement!.tr, + rightTitle: "", + isHaveLine: true, + isHaveDirection: true, + action: () { + Navigator.pushNamed( + context, Routers.lockUserManageLisPage); + }), + CommonItem( + leftTitel: TranslationLoader.lanKeys!.authorizedAdmin!.tr, + rightTitle: "", + isHaveLine: true, + isHaveDirection: true, + action: () { + Navigator.pushNamed( + context, Routers.authorizedAdministratorListPage); + }), + CommonItem( + leftTitel: TranslationLoader.lanKeys!.lockGroup!.tr, + rightTitle: "", + isHaveLine: true, + isHaveDirection: true, + action: () { + Navigator.pushNamed(context, Routers.lockGroupListPage); + }), + CommonItem( + leftTitel: + TranslationLoader.lanKeys!.transferSmartLock!.tr, + rightTitle: "", + isHaveLine: true, + isHaveDirection: true, + action: () { + Navigator.pushNamed( + context, Routers.transferSmartLockPage); + }), + CommonItem( + leftTitel: TranslationLoader.lanKeys!.transferGateway!.tr, + rightTitle: "", + isHaveDirection: true, + action: () { + Navigator.pushNamed( + context, Routers.selectGetewayListPage); + }), + SizedBox( + height: 10.h, + ), + CommonItem( + leftTitel: TranslationLoader.lanKeys!.multiLanguage!.tr, + rightTitle: "简体中文", + isHaveLine: true, + isHaveDirection: true, + action: () { + Navigator.pushNamed( + context, Routers.mineMultiLanguagePage); + }), + CommonItem( + leftTitel: TranslationLoader.lanKeys!.lockScreen!.tr, + rightTitle: TranslationLoader.lanKeys!.opened!.tr, + isHaveLine: true, + isHaveDirection: true, + action: () { + Navigator.pushNamed(context, Routers.lockScreenPage); + }), + CommonItem( + leftTitel: TranslationLoader + .lanKeys!.hideInvalidUnlockPermissions!.tr, + rightTitle: TranslationLoader.lanKeys!.closed!.tr, + isHaveLine: true, + isHaveDirection: true, + action: () { + Navigator.pushNamed( + context, Routers.hideInvalidUnlockPermissionsPage); + }), + CommonItem( + leftTitel: TranslationLoader.lanKeys! + .appUnlockRequiresMobilePhoneAccessToTheLock!.tr, + rightTitle: "", + isHaveLine: true, + isHaveDirection: true, + action: () { + Navigator.pushNamed(context, + Routers.aPPUnlockNeedMobileNetworkingLockPage); + }), // CommonItem(leftTitel:TranslationLoader.lanKeys!.valueAddedServices!.tr, rightTitle:"", isHaveDirection: true, action: (){ // // }), - SizedBox(height: 10.h,), + SizedBox( + height: 10.h, + ), // CommonItem(leftTitel:TranslationLoader.lanKeys!.about!.tr, rightTitle:"", isHaveLine: true, isHaveDirection: true, action: (){ // // }), @@ -87,8 +172,7 @@ class _MineSetPageState extends State { ), // keyBottomWidget() ], - ) - ); + )); } // Widget keyBottomWidget() { @@ -123,15 +207,17 @@ class _MineSetPageState extends State { // ); // } - Switch _switch(){ - return Switch( - value: false, - onChanged: (value){ - // switchValue = !switchValue; - setState(() { - - }); - } + CupertinoSwitch _switch() { + return CupertinoSwitch( + activeColor: CupertinoColors.activeBlue, + trackColor: CupertinoColors.systemGrey5, + thumbColor: CupertinoColors.white, + value: _isOn, + onChanged: (value) { + setState(() { + _isOn = value; + }); + }, ); } } diff --git a/star_lock/lib/mine/mineSet/transferGateway/selectGetewayList_page.dart b/star_lock/lib/mine/mineSet/transferGateway/selectGetewayList_page.dart new file mode 100644 index 00000000..5804a64b --- /dev/null +++ b/star_lock/lib/mine/mineSet/transferGateway/selectGetewayList_page.dart @@ -0,0 +1,132 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:get/get.dart'; + +import '../../../../appRouters.dart'; +import '../../../../app_settings/app_colors.dart'; +import '../../../../tools/titleAppBar.dart'; +import '../../../../translations/trans_lib.dart'; + +class SelectGetewayListPage extends StatefulWidget { + const SelectGetewayListPage({Key? key}) : super(key: key); + + @override + State createState() => _SelectGetewayListPageState(); +} + +class _SelectGetewayListPageState extends State { + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: AppColors.mainBackgroundColor, + appBar: TitleAppBar( + barTitle: TranslationLoader.lanKeys!.selectGateway!.tr, + haveBack: true, + backgroundColor: AppColors.mainColor, + actionsList: [ + TextButton( + onPressed: () {}, + child: Text( + '全选', + style: TextStyle(color: Colors.white, fontSize: 28.sp), + )) + ], + ), + body: Column( + children: [ + SizedBox( + height: 10.h, + ), + Expanded(child: _buildMainUI()), + SizedBox( + height: 20.h, + ), + _buildNextBtn(), + SizedBox( + height: 64.h, + ) + ], + ), + ); + } + + Widget _buildMainUI() { + return ListView.separated( + itemCount: 10, + separatorBuilder: (context, index) { + return Divider( + height: 1, + indent: 20.w, + endIndent: 20.w, + color: AppColors.greyLineColor, + ); + }, + itemBuilder: (c, index) { + return _electronicKeyItem('images/icon_lock.png', "张三", + "2023.6.21 11.15", "2023.6.21 11.15", () { + Navigator.pushNamed(context, Routers.authorizedAdminDetailPage); + }); + }); + } + + Widget _electronicKeyItem(String lockTypeIcon, String lockTypeTitle, + String beginTime, String endTime, Function() action) { + return GestureDetector( + child: Container( + color: Colors.white, + height: 70.h, + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + SizedBox( + width: 20.w, + ), + GestureDetector( + child: Image.asset( + 'images/icon_round_unSelet.png', + width: 16, + height: 16, + ), + ), + SizedBox( + width: 16.w, + ), + Image.asset( + 'images/getewayType_G2.png', + width: 60.w, + height: 60.w, + fit: BoxFit.fill, + ), + SizedBox( + width: 16.w, + ), + Text( + '星锁网关', + style: TextStyle(fontSize: 28.sp), + ) + ], + ), + ), + onTap: () {}, + ); + } + + Widget _buildNextBtn() { + return GestureDetector( + child: Container( + color: Colors.grey, + width: ScreenUtil().screenWidth, + height: 64.h, + child: TextButton( + onPressed: () { + Navigator.pushNamed(context, Routers.recipientInformationPage); + }, + child: Text( + '下一步', + style: TextStyle(fontSize: 28.sp, color: Colors.white), + )), + ), + ); + } +} diff --git a/star_lock/lib/mine/mineSet/transferSmartLock/recipientInformation_page.dart b/star_lock/lib/mine/mineSet/transferSmartLock/recipientInformation_page.dart new file mode 100644 index 00000000..dc8129ea --- /dev/null +++ b/star_lock/lib/mine/mineSet/transferSmartLock/recipientInformation_page.dart @@ -0,0 +1,198 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:get/get.dart'; + +import '../../../../appRouters.dart'; +import '../../../../app_settings/app_colors.dart'; +import '../../../../tools/titleAppBar.dart'; +import '../../../../translations/trans_lib.dart'; + +class RecipientInformationPage extends StatefulWidget { + const RecipientInformationPage({Key? key}) : super(key: key); + + @override + State createState() => + _RecipientInformationPageState(); +} + +class _RecipientInformationPageState extends State { + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: AppColors.mainBackgroundColor, + appBar: TitleAppBar( + barTitle: TranslationLoader.lanKeys!.recipientInformation!.tr, + haveBack: true, + backgroundColor: AppColors.mainColor, + ), + body: Column( + children: [ + SizedBox(height: 150.h, child: _buildMainUI()), + SizedBox( + height: 20.h, + ), + _buildAccoutRow(), + _buildBottomText(), + _buildNextBtn(), + Expanded( + child: SizedBox( + height: 64.h, + )), + _buildRemoveBadLockBtn(), + SizedBox( + height: 64.h, + ) + ], + ), + ); + } + + Widget _buildMainUI() { + return ListView.separated( + itemCount: 2, + separatorBuilder: (context, index) { + return Divider( + height: 1, + indent: 20.w, + endIndent: 20.w, + color: AppColors.greyLineColor, + ); + }, + itemBuilder: (c, index) { + if (index == 0) { + return _electronicKeyItem( + 'images/select_circle.png', "个人用户", () {}); + } else { + return _electronicKeyItem( + 'images/normal_circle.png', "好房管家", () {}); + } + }); + } + + Widget _electronicKeyItem( + String leftIcon, String leftTitle, Function() action) { + return GestureDetector( + child: Container( + color: Colors.white, + height: 70.h, + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + SizedBox( + width: 40.w, + ), + GestureDetector( + child: Image.asset( + leftIcon, + width: 16, + height: 16, + ), + ), + SizedBox( + width: 16.w, + ), + Text( + leftTitle, + style: TextStyle(fontSize: 28.sp), + ) + ], + ), + ), + onTap: () {}, + ); + } + + Widget _buildAccoutRow() { + return Container( + height: 60.h, + color: Colors.white, + child: Row( + children: [ + SizedBox( + width: 40.w, + ), + Text( + '账号', + style: + TextStyle(color: AppColors.darkGrayTextColor, fontSize: 24.sp), + ), + Expanded( + child: TextField( + textAlign: TextAlign.right, + keyboardType: TextInputType.text, + onChanged: (value) {}, + decoration: InputDecoration( + border: InputBorder.none, + hintText: '请输入手机号或email', + hintStyle: TextStyle( + color: AppColors.placeholderTextColor, + fontSize: ScreenUtil().setSp(24), + textBaseline: TextBaseline.alphabetic), + ), + )), + SizedBox( + width: 20.w, + ), + Image.asset( + 'images/icon_addressBook.png', + width: 28.w, + height: 28.h, + ), + SizedBox( + width: 40.w, + ) + ], + ), + ); + } + + Widget _buildBottomText() { + return Padding( + padding: EdgeInsets.only(top: 20.h, bottom: 80.h), + child: Text( + '选中的智能锁将会转移到您输入的账号中,您将失去锁的管理权', + style: + TextStyle(fontSize: 20.sp, color: AppColors.placeholderTextColor), + textAlign: TextAlign.left, + ), + ); + } + + Widget _buildNextBtn() { + return GestureDetector( + child: Container( + color: Colors.grey, + width: ScreenUtil().screenWidth - 80.w, + height: 64.h, + child: TextButton( + onPressed: () { + Navigator.pushNamed(context, Routers.selectBranchPage); + }, + child: Text( + '下一步', + style: TextStyle(fontSize: 28.sp, color: Colors.white), + )), + ), + ); + } + + Widget _buildRemoveBadLockBtn() { + return Row( + children: [ + const Expanded(child: SizedBox()), + TextButton( + onPressed: () {}, + child: Text( + '移除坏锁', + style: TextStyle( + fontSize: 28.sp, color: AppColors.darkGrayTextColor), + textAlign: TextAlign.end, + )), + SizedBox( + width: 10.h, + ) + ], + ); + } +} diff --git a/star_lock/lib/mine/mineSet/transferSmartLock/selectBranch_page.dart b/star_lock/lib/mine/mineSet/transferSmartLock/selectBranch_page.dart new file mode 100644 index 00000000..e6d63755 --- /dev/null +++ b/star_lock/lib/mine/mineSet/transferSmartLock/selectBranch_page.dart @@ -0,0 +1,134 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:get/get.dart'; + +import '../../../../appRouters.dart'; +import '../../../../app_settings/app_colors.dart'; +import '../../../../tools/titleAppBar.dart'; +import '../../../../translations/trans_lib.dart'; + +class SelectBranchPage extends StatefulWidget { + const SelectBranchPage({Key? key}) : super(key: key); + + @override + State createState() => _SelectBranchPageState(); +} + +class _SelectBranchPageState extends State { + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: AppColors.mainBackgroundColor, + appBar: TitleAppBar( + barTitle: TranslationLoader.lanKeys!.recipientInformation!.tr, + haveBack: true, + backgroundColor: AppColors.mainColor, + ), + body: Column( + children: [ + _buildTopView(), + SizedBox( + height: 20.h, + ), + Expanded(child: _buildMainUI()), + _buildNextBtn(), + SizedBox( + height: 64.h, + ) + ], + ), + ); + } + + Widget _buildTopView() { + return Container( + height: 120.h, + width: ScreenUtil().screenWidth, + color: Colors.white, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: EdgeInsets.only(left: 40.w, top: 20.h, bottom: 16.h), + child: Text( + '公寓', + style: TextStyle(fontSize: 28.sp), + ), + ), + Padding( + padding: EdgeInsets.only(left: 40.w), + child: Text('管理员:18682150237', + style: TextStyle( + color: AppColors.darkGrayTextColor, fontSize: 24.sp)), + ) + ], + ), + ); + } + + Widget _buildMainUI() { + return ListView.separated( + itemCount: 5, + separatorBuilder: (context, index) { + return Divider( + height: 1, + indent: 20.w, + endIndent: 20.w, + color: AppColors.greyLineColor, + ); + }, + itemBuilder: (c, index) { + return _electronicKeyItem('images/select_circle.png', "分组一", () {}); + }); + } + + Widget _electronicKeyItem( + String leftIcon, String leftTitle, Function() action) { + return GestureDetector( + child: Container( + color: Colors.white, + height: 70.h, + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + SizedBox( + width: 40.w, + ), + GestureDetector( + child: Image.asset( + leftIcon, + width: 16, + height: 16, + ), + ), + SizedBox( + width: 16.w, + ), + Text( + leftTitle, + style: TextStyle(fontSize: 28.sp), + ) + ], + ), + ), + onTap: () {}, + ); + } + + Widget _buildNextBtn() { + return GestureDetector( + child: Container( + color: AppColors.mainColor, + width: ScreenUtil().screenWidth, + height: 64.h, + child: TextButton( + onPressed: () {}, + child: Text( + '下一步', + style: TextStyle(fontSize: 28.sp, color: Colors.white), + )), + ), + ); + } +} diff --git a/star_lock/lib/mine/mineSet/transferSmartLock/transferSmartLock_page.dart b/star_lock/lib/mine/mineSet/transferSmartLock/transferSmartLock_page.dart new file mode 100644 index 00000000..0101074a --- /dev/null +++ b/star_lock/lib/mine/mineSet/transferSmartLock/transferSmartLock_page.dart @@ -0,0 +1,166 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:get/get.dart'; + +import '../../../../appRouters.dart'; +import '../../../../app_settings/app_colors.dart'; +import '../../../../tools/titleAppBar.dart'; +import '../../../../translations/trans_lib.dart'; + +class TransferSmartLockPage extends StatefulWidget { + const TransferSmartLockPage({Key? key}) : super(key: key); + + @override + State createState() => _TransferSmartLockPageState(); +} + +class _TransferSmartLockPageState extends State { + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: AppColors.mainBackgroundColor, + appBar: TitleAppBar( + barTitle: TranslationLoader.lanKeys!.selectiveLock!.tr, + haveBack: true, + backgroundColor: AppColors.mainColor, + actionsList: [ + TextButton( + onPressed: () {}, + child: Text( + '全选', + style: TextStyle(color: Colors.white, fontSize: 28.sp), + )) + ], + ), + body: Column( + children: [ + _searchWidget(), + SizedBox( + height: 10.h, + ), + Expanded(child: _buildMainUI()), + SizedBox( + height: 20.h, + ), + _buildNextBtn(), + SizedBox( + height: 64.h, + ) + ], + ), + ); + } + + Widget _searchWidget() { + return Container( + height: 60.h, + margin: EdgeInsets.only(top: 20.w, left: 20.w, right: 20.w), + decoration: BoxDecoration( + color: Colors.white, borderRadius: BorderRadius.circular(5)), + child: TextField( + //输入框一行 + maxLines: 1, + // controller: _controller, + autofocus: false, + decoration: InputDecoration( + //输入里面输入文字内边距设置 + contentPadding: const EdgeInsets.only( + top: 12.0, left: -19.0, right: -15.0, bottom: 8.0), + hintText: TranslationLoader.lanKeys!.pleaseEnter!.tr, + //不需要输入框下划线 + border: InputBorder.none, + //左边图标设置 + icon: Padding( + padding: EdgeInsets.only( + top: 30.w, bottom: 20.w, right: 20.w, left: 20.w), + child: Image.asset( + 'images/main/icon_main_search.png', + width: 40.w, + height: 40.w, + ), + ), + ), + ), + ); + } + + Widget _buildMainUI() { + return ListView.separated( + itemCount: 10, + separatorBuilder: (context, index) { + return Divider( + height: 1, + indent: 20.w, + endIndent: 20.w, + color: AppColors.greyLineColor, + ); + }, + itemBuilder: (c, index) { + return _electronicKeyItem('images/icon_lock.png', "张三", + "2023.6.21 11.15", "2023.6.21 11.15", () { + Navigator.pushNamed(context, Routers.authorizedAdminDetailPage); + }); + }); + } + + Widget _electronicKeyItem(String lockTypeIcon, String lockTypeTitle, + String beginTime, String endTime, Function() action) { + return GestureDetector( + child: Container( + color: Colors.white, + height: 70.h, + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + SizedBox( + width: 20.w, + ), + GestureDetector( + child: Image.asset( + 'images/icon_round_unSelet.png', + width: 16, + height: 16, + ), + ), + SizedBox( + width: 16.w, + ), + Image.asset( + 'images/icon_lockGroup_item.png', + width: 30, + height: 30, + fit: BoxFit.fill, + ), + SizedBox( + width: 8.w, + ), + const Text( + 'Daisy', + style: TextStyle(fontSize: 14), + ) + ], + ), + ), + onTap: () {}, + ); + } + + Widget _buildNextBtn() { + return GestureDetector( + child: Container( + color: Colors.grey, + width: ScreenUtil().screenWidth, + height: 64.h, + child: TextButton( + onPressed: () { + Navigator.pushNamed(context, Routers.recipientInformationPage); + }, + child: Text( + '下一步', + style: TextStyle(fontSize: 28.sp, color: Colors.white), + )), + ), + ); + } +} diff --git a/star_lock/lib/tools/commonItem.dart b/star_lock/lib/tools/commonItem.dart index 0693f7cd..eb0e1cd3 100644 --- a/star_lock/lib/tools/commonItem.dart +++ b/star_lock/lib/tools/commonItem.dart @@ -1,6 +1,6 @@ - import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:star_lock/app_settings/app_colors.dart'; class CommonItem extends StatelessWidget { String? leftTitel; @@ -12,14 +12,17 @@ class CommonItem extends StatelessWidget { Function()? action; double? allHeight; - CommonItem({Key? key, - required this.leftTitel, - this.rightTitle, - this.allHeight = 45, - this.isHaveDirection = false, - this.isHaveLine = false, - this.isHaveRightWidget = false, - this.rightWidget, this.action}) : super(key: key); + CommonItem( + {Key? key, + required this.leftTitel, + this.rightTitle, + this.allHeight = 45, + this.isHaveDirection = false, + this.isHaveLine = false, + this.isHaveRightWidget = false, + this.rightWidget, + this.action}) + : super(key: key); @override Widget build(BuildContext context) { @@ -29,27 +32,53 @@ class CommonItem extends StatelessWidget { // mainAxisAlignment: MainAxisAlignment.center, children: [ Container( - height: allHeight??70.h, + height: allHeight ?? 60.h, color: Colors.white, - padding: EdgeInsets.only(left:20.w, right: 10.w),// , top: 20.w, bottom: 20.w + padding: EdgeInsets.only( + left: 20.w, right: 10.w), // , top: 20.w, bottom: 20.w child: Row( children: [ - SizedBox(width:20.w), - Expanded(child: Text(leftTitel!, style: TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500))), - SizedBox(width:20.w), + SizedBox(width: 20.w), + Expanded( + child: Text(leftTitel!, + style: TextStyle( + fontSize: 28.sp, fontWeight: FontWeight.w500))), + SizedBox(width: 20.w), Row( mainAxisAlignment: MainAxisAlignment.end, children: [ - isHaveRightWidget!?rightWidget!:Text(rightTitle!, textAlign: TextAlign.end, style: TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500),) + isHaveRightWidget! + ? rightWidget! + : Text( + rightTitle!, + textAlign: TextAlign.end, + style: TextStyle( + fontSize: 28.sp, fontWeight: FontWeight.w500), + ) ], ), - SizedBox(width:5.w), - isHaveDirection!?Image.asset('images/icon_right.png', width: 50.w, height: 50.w,):SizedBox(width:10.w), + SizedBox(width: 5.w), + isHaveDirection! + ? Image.asset( + 'images/icon_right.png', + width: 50.w, + height: 50.w, + ) + : SizedBox(width: 10.w), // SizedBox(width:10.w), ], ), ), - isHaveLine!?Container(height: 0.5.h, color: Colors.grey,):Container() + // isHaveLine!?Container(height: 0.5.h, color: Colors.grey,):Container() + //by DaisyWu + isHaveLine! + ? Divider( + color: AppColors.greyLineColor, + indent: 20.w, + endIndent: 20.w, + height: 1, + ) + : Container() ], ), ); diff --git a/star_lock/lib/tools/submitBtn.dart b/star_lock/lib/tools/submitBtn.dart index 235d9294..a0f8c2c7 100644 --- a/star_lock/lib/tools/submitBtn.dart +++ b/star_lock/lib/tools/submitBtn.dart @@ -4,13 +4,11 @@ import 'package:flutter_screenutil/flutter_screenutil.dart'; import '../app_settings/app_colors.dart'; - /* * 提交按钮 公用组件 * */ class SubmitBtn extends StatelessWidget { - String? btnName; Function()? onClick; @@ -29,10 +27,39 @@ class SubmitBtn extends StatelessWidget { double? borderRadius; - SubmitBtn({Key? key, required this.btnName,this.borderRadius,this.color,this.padding,this.onClick,this.margin,this.width,this.backgroundColorList,this.fontSize}) : super(key: key); + SubmitBtn( + {Key? key, + required this.btnName, + this.borderRadius, + this.color, + this.padding, + this.onClick, + this.margin, + this.width, + this.backgroundColorList, + this.fontSize}) + : super(key: key); @override Widget build(BuildContext context) { + return SizedBox( + width: ScreenUtil().screenWidth - 40.w, + height: 44, + child: ElevatedButton( + style: ElevatedButton.styleFrom( + backgroundColor: AppColors.mainColor, + ), + onPressed: () { + if (onClick != null) { + onClick!(); + } + }, + child: Text( + btnName!, + style: TextStyle(color: Colors.white, fontSize: 30.sp), + )), + ); + /* return GestureDetector( child: Container( width: width??690.w, @@ -41,31 +68,33 @@ class SubmitBtn extends StatelessWidget { bottom: 20.w ), margin: margin??EdgeInsets.only(top: 30.w), - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(borderRadius??30.w), - gradient: LinearGradient( + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(borderRadius ?? 10.w), + gradient: LinearGradient( begin: Alignment.centerLeft, end: Alignment.centerRight, - colors: backgroundColorList??[ - AppColors.mainColor,AppColors.mainColor, - ], - ) - ), + colors: backgroundColorList ?? + [ + AppColors.mainColor, + AppColors.mainColor, + ], + )), child: Center( - child: Text(btnName!,style: TextStyle( - fontSize: fontSize??36.sp, - height: 1.3, - decoration: TextDecoration.none, - fontWeight: FontWeight.w500, - color: color??Colors.white - )), + child: Text(btnName!, + style: TextStyle( + fontSize: fontSize ?? 30.sp, + height: 1.3, + decoration: TextDecoration.none, + fontWeight: FontWeight.w500, + color: color ?? Colors.white)), ), ), - onTap: (){ - if(onClick!=null){ + onTap: () { + if (onClick != null) { onClick!(); } }, ); + */ } } diff --git a/star_lock/lib/translations/lanKeyEntity.dart b/star_lock/lib/translations/lanKeyEntity.dart index dd814104..30d51c93 100644 --- a/star_lock/lib/translations/lanKeyEntity.dart +++ b/star_lock/lib/translations/lanKeyEntity.dart @@ -12,7 +12,6 @@ class LanKeyEntity { this.number, this.additive, this.addTime, - this.reset, this.sendKey, this.timeLimit, @@ -41,7 +40,6 @@ class LanKeyEntity { this.fridayShort, this.saturdayShort, this.sundayShort, - this.realNameAuthentication, this.sendKeyBottomTip, this.send, @@ -85,7 +83,6 @@ class LanKeyEntity { this.earlyArrivalList, this.lateList, this.hardWorkingList, - this.basicInformation, this.wirelessKeyboard, this.doorMagnetic, @@ -184,7 +181,6 @@ class LanKeyEntity { this.beLate, this.leaveEarly, this.noCardPunched, - this.lanEnglish, this.lanChinese, this.multilingual, @@ -194,7 +190,6 @@ class LanKeyEntity { this.supportStaff, this.set, this.moreServices, - this.moreSet, this.prompTone, this.touchUnlock, @@ -203,8 +198,9 @@ class LanKeyEntity { this.authorizedAdmin, this.lockGroup, this.transferSmartLock, + this.selectiveLock, + this.recipientInformation, this.transferGateway, - this.multiLanguage, this.lockScreen, this.closed, @@ -238,7 +234,7 @@ class LanKeyEntity { this.problemTwo, this.problemThree, this.pleaseEnterYourAnswer, - + this.aboutToExpire, this.designation, this.state, this.wifiName, @@ -268,7 +264,6 @@ class LanKeyEntity { this.preferredDNS, this.alternativeDNS, this.noStaticIPIsUsed, - this.allLock, this.searchAllLockType, this.doorLock, @@ -284,7 +279,6 @@ class LanKeyEntity { this.nearbyLock, this.addSuccessfullyPleaseRename, this.whenAddingLockThePhoneMustBeNextToTheLock, - this.login, this.register, this.forgetPassword, @@ -295,20 +289,17 @@ class LanKeyEntity { this.email, this.countryAndRegion, this.selet, - this.businessCooperation, this.officialWebsite, this.computerWebVersion, this.hotelSystem, this.manualWebVersion, this.introduce, - this.note, this.mail, this.advancedFunction, this.pushMessage, this.recordsRetention, - this.smsBuyTip, this.emailBuyTip, this.currentRemainingQuantity, @@ -316,14 +307,12 @@ class LanKeyEntity { this.customSMSTemplate, this.customMailTemplate, this.record, - this.buyRealNameTip, this.buyRealNameSeletYouWantBuyTip, this.forTheFirstTime, this.onceDay, this.weekOnce, this.monthOnce, - this.currentState, this.onTrial, this.haveNotOpened, @@ -335,7 +324,6 @@ class LanKeyEntity { this.tipsForBuyingAdvancedFeatures, this.freeTrial, this.openNow, - this.buySMS, this.buyMail, this.buyRealNameAuthenticationTimes, @@ -344,7 +332,6 @@ class LanKeyEntity { this.modeOfPayment, this.alipay, this.goToPay, - this.customTemplatesTip, this.haveOpened, this.unHaveOpenedTip1, @@ -367,12 +354,10 @@ class LanKeyEntity { this.and, this.willBeReplacedWithTheActualValue, this.downloadLink, - this.lockScreenTip, this.hideInvalidUnlockPermissionsTip, this.appUnlockRequiresMobilePhoneAccessToTheLockTip, this.checkAll, - }); LanKeyEntity.fromJson(dynamic json) { @@ -520,8 +505,10 @@ class LanKeyEntity { whenScreenFlashesClickNext = json['whenScreenFlashesClickNext']; theScreenNeverFlickered = json['theScreenNeverFlickered']; enterNumberOrPressSet = json['enterNumberOrPressSet']; - theLocationOfTheSetKeyWillBeDifferent = json['theLocationOfTheSetKeyWillBeDifferent']; - pressAndHoldTheResetButtonTwoSeconds = json['pressAndHoldTheResetButtonTwoSeconds']; + theLocationOfTheSetKeyWillBeDifferent = + json['theLocationOfTheSetKeyWillBeDifferent']; + pressAndHoldTheResetButtonTwoSeconds = + json['pressAndHoldTheResetButtonTwoSeconds']; nearbyEquipment = json['nearbyEquipment']; noData = json['noData']; doorMagneticListTopTip = json['doorMagneticListTopTip']; @@ -579,6 +566,8 @@ class LanKeyEntity { authorizedAdmin = json['authorizedAdmin']; lockGroup = json['lockGroup']; transferSmartLock = json['transferSmartLock']; + selectiveLock = json['selectiveLock']; + recipientInformation = json['recipientInformation']; transferGateway = json['transferGateway']; multiLanguage = json['multiLanguage']; @@ -586,12 +575,14 @@ class LanKeyEntity { closed = json['closed']; opened = json['opened']; hideInvalidUnlockPermissions = json['hideInvalidUnlockPermissions']; - appUnlockRequiresMobilePhoneAccessToTheLock = json['appUnlockRequiresMobilePhoneAccessToTheLock']; + appUnlockRequiresMobilePhoneAccessToTheLock = + json['appUnlockRequiresMobilePhoneAccessToTheLock']; valueAddedServices = json['valueAddedServices']; about = json['about']; userAgreement = json['userAgreement']; privacyPolicy = json['privacyPolicy']; - personalInformationCollectionList = json['personalInformationCollectionList']; + personalInformationCollectionList = + json['personalInformationCollectionList']; applicationPermissionDescription = json['applicationPermissionDescription']; thirdPartyInformationSharingList = json['thirdPartyInformationSharingList']; logout = json['logout']; @@ -614,6 +605,7 @@ class LanKeyEntity { problemTwo = json['problemTwo']; problemThree = json['problemThree']; pleaseEnterYourAnswer = json['pleaseEnterYourAnswer']; + aboutToExpire = json['aboutToExpire']; designation = json['designation']; state = json['state']; @@ -642,12 +634,12 @@ class LanKeyEntity { ipAddress = json['ipAddress']; subnetMask = json['subnetMask']; defaultGateway = json['defaultGateway']; - automaticallyGetTheDNSServerAddress = json['automaticallyGetTheDNSServerAddress']; + automaticallyGetTheDNSServerAddress = + json['automaticallyGetTheDNSServerAddress']; preferredDNS = json['preferredDNS']; alternativeDNS = json['alternativeDNS']; noStaticIPIsUsed = json['noStaticIPIsUsed']; - allLock = json['allLock']; searchAllLockType = json['searchAllLockType']; doorLock = json['doorLock']; @@ -662,7 +654,8 @@ class LanKeyEntity { next = json['next']; nearbyLock = json['nearbyLock']; addSuccessfullyPleaseRename = json['addSuccessfullyPleaseRename']; - whenAddingLockThePhoneMustBeNextToTheLock = json['whenAddingLockThePhoneMustBeNextToTheLock']; + whenAddingLockThePhoneMustBeNextToTheLock = + json['whenAddingLockThePhoneMustBeNextToTheLock']; login = json['login']; register = json['register']; @@ -706,7 +699,8 @@ class LanKeyEntity { currentState = json['currentState']; onTrial = json['onTrial']; haveNotOpened = json['haveNotOpened']; - advancedFeaturesAndBenefitsContent = json['advancedFeaturesAndBenefitsContent']; + advancedFeaturesAndBenefitsContent = + json['advancedFeaturesAndBenefitsContent']; smsTemplate = json['smsTemplate']; emailTemplate = json['emailTemplate']; cardIssuingtool = json['cardIssuingtool']; @@ -749,7 +743,8 @@ class LanKeyEntity { lockScreenTip = json['lockScreenTip']; hideInvalidUnlockPermissionsTip = json['hideInvalidUnlockPermissionsTip']; - appUnlockRequiresMobilePhoneAccessToTheLockTip = json['appUnlockRequiresMobilePhoneAccessToTheLockTip']; + appUnlockRequiresMobilePhoneAccessToTheLockTip = + json['appUnlockRequiresMobilePhoneAccessToTheLockTip']; checkAll = json['checkAll']; } String? starLock; @@ -955,6 +950,8 @@ class LanKeyEntity { String? authorizedAdmin; String? lockGroup; String? transferSmartLock; + String? selectiveLock; + String? recipientInformation; String? transferGateway; String? multiLanguage; @@ -990,6 +987,7 @@ class LanKeyEntity { String? problemTwo; String? problemThree; String? pleaseEnterYourAnswer; + String? aboutToExpire; String? designation; String? state; @@ -1275,8 +1273,10 @@ class LanKeyEntity { map['whenScreenFlashesClickNext'] = whenScreenFlashesClickNext; map['theScreenNeverFlickered'] = theScreenNeverFlickered; map['enterNumberOrPressSet'] = enterNumberOrPressSet; - map['theLocationOfTheSetKeyWillBeDifferent'] = theLocationOfTheSetKeyWillBeDifferent; - map['pressAndHoldTheResetButtonTwoSeconds'] = pressAndHoldTheResetButtonTwoSeconds; + map['theLocationOfTheSetKeyWillBeDifferent'] = + theLocationOfTheSetKeyWillBeDifferent; + map['pressAndHoldTheResetButtonTwoSeconds'] = + pressAndHoldTheResetButtonTwoSeconds; map['nearbyEquipment'] = nearbyEquipment; map['noData'] = noData; map['doorMagneticListTopTip'] = doorMagneticListTopTip; @@ -1330,6 +1330,8 @@ class LanKeyEntity { map['authorizedAdmin'] = authorizedAdmin; map['lockGroup'] = lockGroup; map['transferSmartLock'] = transferSmartLock; + map['selectiveLock'] = selectiveLock; + map['recipientInformation'] = recipientInformation; map['transferGateway'] = transferGateway; map['multiLanguage'] = multiLanguage; @@ -1337,12 +1339,14 @@ class LanKeyEntity { map['closed'] = closed; map['opened'] = opened; map['hideInvalidUnlockPermissions'] = hideInvalidUnlockPermissions; - map['appUnlockRequiresMobilePhoneAccessToTheLock'] = appUnlockRequiresMobilePhoneAccessToTheLock; + map['appUnlockRequiresMobilePhoneAccessToTheLock'] = + appUnlockRequiresMobilePhoneAccessToTheLock; map['valueAddedServices'] = valueAddedServices; map['about'] = about; map['userAgreement'] = userAgreement; map['privacyPolicy'] = privacyPolicy; - map['personalInformationCollectionList'] = personalInformationCollectionList; + map['personalInformationCollectionList'] = + personalInformationCollectionList; map['applicationPermissionDescription'] = applicationPermissionDescription; map['thirdPartyInformationSharingList'] = thirdPartyInformationSharingList; map['logout'] = logout; @@ -1366,6 +1370,7 @@ class LanKeyEntity { map['problemTwo'] = problemTwo; map['problemThree'] = problemThree; map['pleaseEnterYourAnswer'] = pleaseEnterYourAnswer; + map['aboutToExpire'] = aboutToExpire; map['designation'] = designation; map['state'] = state; @@ -1392,7 +1397,8 @@ class LanKeyEntity { map['ipAddress'] = ipAddress; map['subnetMask'] = subnetMask; map['defaultGateway'] = defaultGateway; - map['automaticallyGetTheDNSServerAddress'] = automaticallyGetTheDNSServerAddress; + map['automaticallyGetTheDNSServerAddress'] = + automaticallyGetTheDNSServerAddress; map['preferredDNS'] = preferredDNS; map['alternativeDNS'] = alternativeDNS; map['noStaticIPIsUsed'] = noStaticIPIsUsed; @@ -1411,7 +1417,8 @@ class LanKeyEntity { map['next'] = next; map['nearbyLock'] = nearbyLock; map['addSuccessfullyPleaseRename'] = addSuccessfullyPleaseRename; - map['whenAddingLockThePhoneMustBeNextToTheLock'] = whenAddingLockThePhoneMustBeNextToTheLock; + map['whenAddingLockThePhoneMustBeNextToTheLock'] = + whenAddingLockThePhoneMustBeNextToTheLock; map['login'] = login; map['register'] = register; @@ -1455,7 +1462,8 @@ class LanKeyEntity { map['currentState'] = currentState; map['onTrial'] = onTrial; map['haveNotOpened'] = haveNotOpened; - map['advancedFeaturesAndBenefitsContent'] = advancedFeaturesAndBenefitsContent; + map['advancedFeaturesAndBenefitsContent'] = + advancedFeaturesAndBenefitsContent; map['smsTemplate'] = smsTemplate; map['emailTemplate'] = emailTemplate; map['cardIssuingtool'] = cardIssuingtool; @@ -1498,9 +1506,10 @@ class LanKeyEntity { map['lockScreenTip'] = lockScreenTip; map['hideInvalidUnlockPermissionsTip'] = hideInvalidUnlockPermissionsTip; - map['appUnlockRequiresMobilePhoneAccessToTheLockTip'] = appUnlockRequiresMobilePhoneAccessToTheLockTip; + map['appUnlockRequiresMobilePhoneAccessToTheLockTip'] = + appUnlockRequiresMobilePhoneAccessToTheLockTip; map['checkAll'] = checkAll; return map; } -} \ No newline at end of file +} diff --git a/star_lock/pubspec.yaml b/star_lock/pubspec.yaml index 24ffc3da..7f557d6d 100644 --- a/star_lock/pubspec.yaml +++ b/star_lock/pubspec.yaml @@ -99,6 +99,7 @@ flutter: - images/main/ - images/lan/ - images/mine/ + - images/lockType/ # An image asset can refer to one or more resolution-specific "variants", see # https://flutter.dev/assets-and-images/#resolution-aware