diff --git a/.DS_Store b/.DS_Store
index a15ea279..612ce635 100755
Binary files a/.DS_Store and b/.DS_Store differ
diff --git a/android/app/build.gradle b/android/app/build.gradle
index 3d910105..5e2bb17a 100755
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -27,6 +27,7 @@ apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
apply plugin: 'com.android.application'
apply plugin: 'android-junk-code'
+apply plugin: 'com.huawei.agconnect'
androidJunkCode {
variantConfig {
@@ -51,10 +52,14 @@ android {
// 这里“debug”不是一个自定义变量,而是一个特定的关键词,凡是使用--debug模式,都会引用到这里
// 目前看来,debug模式没办法在buildTypes里面按flavors指定编译签名,所有口味的debug模式只能用同一个签名
debug {
- storeFile file("starlock.keystore")
- storePassword '123456'
- keyAlias = 'starlock'
- keyPassword '123456'
+ // storeFile file("starlock.keystore")
+ // storePassword '123456'
+ // keyAlias = 'starlock'
+ // keyPassword '123456'
+ storeFile file("xhj.jks")
+ storePassword 'xhj8872'
+ keyAlias = 'upload'
+ keyPassword 'xhj8872'
}
sky {
// CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown
@@ -161,13 +166,23 @@ android {
manifestPlaceholders = [
JPUSH_PKGNAME : "这里不重要,在口味配置",
//JPush 上注册的包名对应的 Appkey.
- JPUSH_APPKEY : "7ff37d174c1a568a89e98dad",
- //暂时填写默认值即可.
+ // JPUSH_APPKEY : "7ff37d174c1a568a89e98dad",//--skyAppKey
+ JPUSH_APPKEY : "251fc8074820d122b6de58d2",//--鑫泓佳AppKey
JPUSH_CHANNEL : "flutter_channel",
//若不集成厂商通道,可直接跳过以下配置
- XIAOMI_APPID : "MI-2882303761520287291",
- XIAOMI_APPKEY : "MI-5352028744291",
+ //以下为sky的配置
+ // XIAOMI_APPID : "MI-2882303761520287291",
+ // XIAOMI_APPKEY : "MI-5352028744291",
+ //以下均为鑫泓佳的配置
+ XIAOMI_APPID : "MI-2882303761520314939",
+ XIAOMI_APPKEY : "MI-5312031456939",
+ OPPO_APPKEY : "OP-47f668c9943248118502aa58d066393b",
+ OPPO_APPID : "OP-31726001",
+ OPPO_APPSECRET : "OP-05723986bba64183a71530b496922450",
+ // VIVO_APPKEY : "vivo的APPKEY",
+ // VIVO_APPID : "vivo的APPID",
+ HONOR_APPID : "110798531",
]
splits {
abi {
@@ -208,7 +223,10 @@ dependencies {
implementation('com.amap.api:3dmap:8.1.0')
implementation 'cn.jiguang.sdk:jpush:5.2.3'
+ // 接入华为厂商
+ implementation 'com.huawei.agconnect:agconnect-core:1.8.1.300'
implementation 'com.huawei.hms:push:6.12.0.300'
+ implementation 'cn.jiguang.sdk.plugin:huawei:5.2.3'
implementation 'cn.jiguang.sdk.plugin:xiaomi:5.2.3'
}
diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index 24086c3f..e8e4248a 100755
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -54,6 +54,12 @@
+
+
diff --git a/android/app/src/xhj/agconnect-services.json b/android/app/src/xhj/agconnect-services.json
new file mode 100644
index 00000000..52e91d21
--- /dev/null
+++ b/android/app/src/xhj/agconnect-services.json
@@ -0,0 +1,96 @@
+{
+ "agcgw":{
+ "backurl":"connect-drcn.hispace.hicloud.com",
+ "url":"connect-drcn.dbankcloud.cn",
+ "websocketbackurl":"connect-ws-drcn.hispace.dbankcloud.com",
+ "websocketurl":"connect-ws-drcn.hispace.dbankcloud.cn"
+ },
+ "agcgw_all":{
+ "CN":"connect-drcn.dbankcloud.cn",
+ "CN_back":"connect-drcn.hispace.hicloud.com",
+ "DE":"connect-dre.dbankcloud.cn",
+ "DE_back":"connect-dre.hispace.hicloud.com",
+ "RU":"connect-drru.hispace.dbankcloud.ru",
+ "RU_back":"connect-drru.hispace.dbankcloud.cn",
+ "SG":"connect-dra.dbankcloud.cn",
+ "SG_back":"connect-dra.hispace.hicloud.com"
+ },
+ "websocketgw_all":{
+ "CN":"connect-ws-drcn.hispace.dbankcloud.cn",
+ "CN_back":"connect-ws-drcn.hispace.dbankcloud.com",
+ "DE":"connect-ws-dre.hispace.dbankcloud.cn",
+ "DE_back":"connect-ws-dre.hispace.dbankcloud.com",
+ "RU":"connect-ws-drru.hispace.dbankcloud.ru",
+ "RU_back":"connect-ws-drru.hispace.dbankcloud.cn",
+ "SG":"connect-ws-dra.hispace.dbankcloud.cn",
+ "SG_back":"connect-ws-dra.hispace.dbankcloud.com"
+ },
+ "client":{
+ "cp_id":"30086000752967166",
+ "product_id":"388421841222116270",
+ "client_id":"1406555529261648640",
+ "client_secret":"843E8191B02B692239726CF0ED990E1EC2B31928F825AA012B932A128FD2C516",
+ "project_id":"388421841222116270",
+ "app_id":"110798531",
+ "api_key":"DQEDAALnPCtuCgoYOyZfsIDa9/YZZhQ+buDGpypeurXhQUGMajWcVyYLQgXXqV3x2HbI6oyG+Wm2Gf+1hPs6j+wA3B6ylYAXG4aAQA==",
+ "package_name":"com.xhjcn.lock"
+ },
+ "oauth_client":{
+ "client_id":"110798531",
+ "client_type":1
+ },
+ "app_info":{
+ "app_id":"110798531",
+ "package_name":"com.xhjcn.lock"
+ },
+ "service":{
+ "analytics":{
+ "collector_url":"datacollector-drcn.dt.hicloud.com,datacollector-drcn.dt.dbankcloud.cn",
+ "collector_url_ru":"datacollector-drru.dt.dbankcloud.ru,datacollector-drru.dt.hicloud.com",
+ "collector_url_sg":"datacollector-dra.dt.hicloud.com,datacollector-dra.dt.dbankcloud.cn",
+ "collector_url_de":"datacollector-dre.dt.hicloud.com,datacollector-dre.dt.dbankcloud.cn",
+ "collector_url_cn":"datacollector-drcn.dt.hicloud.com,datacollector-drcn.dt.dbankcloud.cn",
+ "resource_id":"p1",
+ "channel_id":""
+ },
+ "edukit":{
+ "edu_url":"edukit.cloud.huawei.com.cn",
+ "dh_url":"edukit.cloud.huawei.com.cn"
+ },
+ "search":{
+ "url":"https://search-drcn.cloud.huawei.com"
+ },
+ "cloudstorage":{
+ "storage_url_sg_back":"https://agc-storage-dra.cloud.huawei.asia",
+ "storage_url_ru_back":"https://agc-storage-drru.cloud.huawei.ru",
+ "storage_url_ru":"https://agc-storage-drru.cloud.huawei.ru",
+ "storage_url_de_back":"https://agc-storage-dre.cloud.huawei.eu",
+ "storage_url_de":"https://ops-dre.agcstorage.link",
+ "storage_url":"https://agc-storage-drcn.platform.dbankcloud.cn",
+ "storage_url_sg":"https://ops-dra.agcstorage.link",
+ "storage_url_cn_back":"https://agc-storage-drcn.cloud.huawei.com.cn",
+ "storage_url_cn":"https://agc-storage-drcn.platform.dbankcloud.cn"
+ },
+ "ml":{
+ "mlservice_url":"ml-api-drcn.ai.dbankcloud.com,ml-api-drcn.ai.dbankcloud.cn"
+ }
+ },
+ "region":"CN",
+ "configuration_version":"3.0",
+ "appInfos":[
+ {
+ "package_name":"com.xhjcn.lock",
+ "client":{
+ "app_id":"110798531"
+ },
+ "app_info":{
+ "package_name":"com.xhjcn.lock",
+ "app_id":"110798531"
+ },
+ "oauth_client":{
+ "client_type":1,
+ "client_id":"110798531"
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/android/build.gradle b/android/build.gradle
index 2c4a5982..44ee774e 100755
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -1,10 +1,13 @@
buildscript {
ext.kotlin_version = '1.8.20'
repositories {
+ maven { url 'https://maven.aliyun.com/repository/public'}
+ maven { url 'https://maven.aliyun.com/repository/gradle-plugin'}
google()
mavenCentral()
mavenLocal()
// hms, 若不集成华为厂商通道,可直接跳过
+// maven { url 'https://maven.aliyun.com/repository/central'}
maven { url 'https://developer.huawei.com/repo/'}
// fcm, 若不集成 FCM 通道,可直接跳过
maven { url "https://maven.google.com" }
@@ -25,6 +28,8 @@ buildscript {
allprojects {
repositories {
+ maven { url 'https://maven.aliyun.com/repository/public'}
+ maven { url 'https://maven.aliyun.com/repository/gradle-plugin'}
google()
mavenCentral()
jcenter()
diff --git a/lib/appRouters.dart b/lib/appRouters.dart
index 77b769b3..e7edb548 100755
--- a/lib/appRouters.dart
+++ b/lib/appRouters.dart
@@ -197,885 +197,884 @@ import 'starLockApplication/starLockApplication.dart';
import 'tools/seletKeyCyclicDate/seletKeyCyclicDate_page.dart';
abstract class Routers {
- static const initial = '/'; // 加载页
- static const starLockMain = '/StarLockMain'; // 首页
- static const starLockMinePage = '/StarLockMinePage'; // 我的
- static const selectLockTypePage = '/SelectLockTypePage'; // 选择锁类型
- static const lockMallPage = '/LockMallPage'; // 商城页面
- static const addLockPage = '/AddLockPage'; // 选择锁类型
- static const nearbyLockPage = '/NearbyLockPage'; // 附近的锁
- static const lockAddressPage = '/LockAddressPage'; // 锁地址
- static const lockAddressGaoDePage = '/LockAddressGaoDePage'; // 锁地址-高德
- static const saveLockPage = '/SaveLockPage'; // 保存锁
- static const lockDetailMainPage = '/LockDetailMainPage'; // 锁详情
- static const electronicKeyListPage = '/ElectronicKeyListPage'; // 电子钥匙列表
- static const electronicKeyDetailPage = '/ElectronicKeyDetailPage'; // 电子钥匙详情
- static const electronicKeyDetailChangeDate =
+ static const String initial = '/'; // 加载页
+ static const String starLockMain = '/StarLockMain'; // 首页
+ static const String starLockMinePage = '/StarLockMinePage'; // 我的
+ static const String selectLockTypePage = '/SelectLockTypePage'; // 选择锁类型
+ static const String lockMallPage = '/LockMallPage'; // 商城页面
+ static const String addLockPage = '/AddLockPage'; // 选择锁类型
+ static const String nearbyLockPage = '/NearbyLockPage'; // 附近的锁
+ static const String lockAddressPage = '/LockAddressPage'; // 锁地址
+ static const String lockAddressGaoDePage = '/LockAddressGaoDePage'; // 锁地址-高德
+ static const String saveLockPage = '/SaveLockPage'; // 保存锁
+ static const String lockDetailMainPage = '/LockDetailMainPage'; // 锁详情
+ static const String electronicKeyListPage = '/ElectronicKeyListPage'; // 电子钥匙列表
+ static const String electronicKeyDetailPage = '/ElectronicKeyDetailPage'; // 电子钥匙详情
+ static const String electronicKeyDetailChangeDate =
'/ElectronicKeyDetailChangeDate'; // 修改有效期
- static const sendElectronicKeyPage = '/SendElectronicKeyPage'; // 发送电子钥匙
- static const massSendElectronicKeyManagePage =
+ static const String sendElectronicKeyPage = '/SendElectronicKeyPage'; // 发送电子钥匙
+ static const String massSendElectronicKeyManagePage =
'/MassSendElectronicKeyManagePage'; // 群发钥匙
- static const electronicKeyPeriodValidityPage =
+ static const String electronicKeyPeriodValidityPage =
'/ElectronicKeyPeriodValidityPage'; // 电子钥匙有效期
- static const sendEmailNotificationPage = '/SendEmailNotificationPage'; // 邮件通知
- static const passwordKeyListPage = '/PasswordKeyListPage'; // 密码钥匙列表
- static const passwordKeyPerpetualPage = '/PasswordKeyPerpetualPage'; // 密码钥匙
- static const passwordKeyDetailPage = '/PasswordKeyDetailPage'; // 密码钥匙详情
+ static const String sendEmailNotificationPage = '/SendEmailNotificationPage'; // 邮件通知
+ static const String passwordKeyListPage = '/PasswordKeyListPage'; // 密码钥匙列表
+ static const String passwordKeyPerpetualPage = '/PasswordKeyPerpetualPage'; // 密码钥匙
+ static const String passwordKeyDetailPage = '/PasswordKeyDetailPage'; // 密码钥匙详情
// static const otherTypeKeyListPage = '/OtherTypeKeyListPage'; // 卡、指纹、遥控钥匙列表
// static const otherTypeKeyDetailPage = '/OtherTypeKeyDetailPage'; // 卡、指纹、遥控钥匙详情
// static const otherTypeKeyManagePage = '/OtherTypeKeyManagePage'; // 卡、指纹、遥控钥匙添加
- static const otherTypeKeyChangeDatePage =
+ static const String otherTypeKeyChangeDatePage =
'/OtherTypeKeyChangeDatePage'; // 卡、指纹、遥控钥匙详情修改日期
- static const otherTypeKeyChangeValidityDatePage =
+ static const String otherTypeKeyChangeValidityDatePage =
'/OtherTypeKeyChangeValidityDatePage'; // 卡、指纹、遥控钥匙详情修改有效期
- static const addFingerprintTipPage = '/AddFingerprintTipPage'; // 添加指纹提示
- static const addFingerprintPage = '/AddFingerprintPage'; // 添加指纹
- static const addICCardPage = '/AddICCardPage'; // 添加卡
+ static const String addFingerprintTipPage = '/AddFingerprintTipPage'; // 添加指纹提示
+ static const String addFingerprintPage = '/AddFingerprintPage'; // 添加指纹
+ static const String addICCardPage = '/AddICCardPage'; // 添加卡
- static const authorizedAdminListPage = '/AuthorizedAdminListPage'; // 授权管理员列表
- static const authorizedAdminDetailPage =
+ static const String authorizedAdminListPage = '/AuthorizedAdminListPage'; // 授权管理员列表
+ static const String authorizedAdminDetailPage =
'/AuthorizedAdminDetailPage'; // 授权管理员详情
- static const authorizedAdminPage = '/AuthorizedAdminPage'; // 授权管理员
- static const volumeAuthorizationLockManagePage =
+ static const String authorizedAdminPage = '/AuthorizedAdminPage'; // 授权管理员
+ static const String volumeAuthorizationLockManagePage =
'/VolumeAuthorizationLockManagePage'; // 批量授权锁
- static const lockOperatingRecordPage = '/LockOperatingRecordPage'; // 操作记录
- static const lockSetPage = '/LockSetPage'; // 锁设置
- static const basicInformationPage = '/BasicInformationPage'; // 基本信息
- static const uploadElectricQuantityPage =
+ static const String lockOperatingRecordPage = '/LockOperatingRecordPage'; // 操作记录
+ static const String lockSetPage = '/LockSetPage'; // 锁设置
+ static const String basicInformationPage = '/BasicInformationPage'; // 基本信息
+ static const String uploadElectricQuantityPage =
'/UploadElectricQuantityPage'; // 更新锁电量
- static const editLockNamePage = '/EditLockNamePage'; // 修改锁名字
- static const lockSelectGroupingPage = '/LockSelectGroupingPage'; // 锁选择分组
- static const groupEditLockPage = '/GroupEditLockPage'; // 编辑锁分组里面的锁
- static const adminOpenLockPasswordPage =
+ static const String editLockNamePage = '/EditLockNamePage'; // 修改锁名字
+ static const String lockSelectGroupingPage = '/LockSelectGroupingPage'; // 锁选择分组
+ static const String groupEditLockPage = '/GroupEditLockPage'; // 编辑锁分组里面的锁
+ static const String adminOpenLockPasswordPage =
'/AdminOpenLockPasswordPage'; // 管理员开锁密码
- static const wirelessKeyboardPage = '/WirelessKeyboardPage'; // 蓝牙键盘
- static const addWirelessKeyboardPage = '/AddWirelessKeyboardPage'; // 添加蓝牙键盘
- static const addWirelessKeyboardScreenNotLightOnPage =
+ static const String wirelessKeyboardPage = '/WirelessKeyboardPage'; // 蓝牙键盘
+ static const String addWirelessKeyboardPage = '/AddWirelessKeyboardPage'; // 添加蓝牙键盘
+ static const String addWirelessKeyboardScreenNotLightOnPage =
'/AddWirelessKeyboardScreenNotLightOnPage'; // 添加蓝牙键盘屏幕不亮时提示
- static const selectWirelessKeyboardPage =
+ static const String selectWirelessKeyboardPage =
'/SelectWirelessKeyboardPage'; // 选择蓝牙键盘
- 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 wifiListPage = '/WifiListPage'; // WiFi列表
- static const configuringWifiPage = '/ConfiguringWifiPage'; // 配置WiFi
- 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 checkInCreatCompanyPage = '/CheckInCreatCompanyPage'; // 创建公司
- static const checkingInListPage = '/CheckingInListPage'; // 考勤
- static const checkingInSetPage = '/CheckingInSetPage'; // 考勤设置
- static const checkingInStaffManagePage = '/CheckingInStaffManagePage'; // 员工管理
- static const checkingInAddStaffPage = '/CheckingInAddStaffPage'; // 添加员工
- static const checkingInStaffDetailPage = '/CheckingInStaffDetailPage'; // 编辑员工
- static const checkingInSetWorkTimePage =
+ static const String doorMagneticPage = '/DoorMagneticPage'; // 门磁列表
+ static const String addDoorMagneticPage = '/AddDoorMagneticPage'; // 添加门磁
+ static const String nearbyDoorMagneticPage = '/NearbyDoorMagneticPage'; // 附近的门磁
+ static const String remoteUnlockingPage = '/RemoteUnlockingPage'; // 远程开锁
+ static const String automaticBlockingPage = '/AutomaticBlockingPage'; // 自动闭锁
+ static const String normallyOpenModePage = '/NormallyOpenModePage'; // 常开模式
+ static const String lockSoundSetPage = '/LockSoundSetPage'; // 锁声音
+ static const String burglarAlarmPage = '/BurglarAlarmPage'; // 防撬警报
+ static const String resetButtonPage = '/ResetButtonPage'; // 锁重置键
+ static const String unlockQRCodePage = '/UnlockQRCodePage'; // 开锁二维码
+ static const String wifiListPage = '/WifiListPage'; // WiFi列表
+ static const String configuringWifiPage = '/ConfiguringWifiPage'; // 配置WiFi
+ static const String lockTimePage = '/LockTimePage'; // 锁时间
+ static const String diagnosePage = '/DiagnosePage'; // 诊断
+ static const String uploadDataPage = '/UploadDataPage'; // 上传数据
+ static const String importOtherLockDataPage = '/ImportOtherLockDataPage'; // 导入其他锁数据
+ static const String lockEscalationPage = '/LockEscalationPage'; // 锁升级
+ static const String markedHouseStatePage = '/MarkedHouseStatePage'; // 标记房态
+ static const String checkInCreatCompanyPage = '/CheckInCreatCompanyPage'; // 创建公司
+ static const String checkingInListPage = '/CheckingInListPage'; // 考勤
+ static const String checkingInSetPage = '/CheckingInSetPage'; // 考勤设置
+ static const String checkingInStaffManagePage = '/CheckingInStaffManagePage'; // 员工管理
+ static const String checkingInAddStaffPage = '/CheckingInAddStaffPage'; // 添加员工
+ static const String checkingInStaffDetailPage = '/CheckingInStaffDetailPage'; // 编辑员工
+ static const String checkingInSetWorkTimePage =
'/CheckingInSetWorkTimePage'; // 工作时间设置
- static const checkingInSetWorkdaySet = '/CheckingInSetWorkdaySet'; // 工作日设置
- static const checkingInSetHolidaysPage =
+ static const String checkingInSetWorkdaySet = '/CheckingInSetWorkdaySet'; // 工作日设置
+ static const String checkingInSetHolidaysPage =
'/CheckingInSetHolidaysPage'; // 节假日设置
- static const checkingInAddHolidaysPage = '/CheckingInAddHolidaysPage'; // 添加假日
- static const checkingInDetailPage = '/CheckingInDetailPage'; // 考勤详情
- static const checkingInDeletHolidaysPage =
+ static const String checkingInAddHolidaysPage = '/CheckingInAddHolidaysPage'; // 添加假日
+ static const String checkingInDetailPage = '/CheckingInDetailPage'; // 考勤详情
+ static const String checkingInDeletHolidaysPage =
'/CheckingInDeletHolidaysPage'; // 删除考勤
- static const mineSetPage = '/MineSetPage'; // 我的设置
- static const mineMultiLanguagePage = '/MineMultiLanguagePage'; // 我的设置
- static const minePersonInfoPage = '/MinePersonInfoPage'; // 我的信息
- static const minePersonInfoEditNamePage =
+ static const String mineSetPage = '/MineSetPage'; // 我的设置
+ static const String mineMultiLanguagePage = '/MineMultiLanguagePage'; // 我的设置
+ static const String minePersonInfoPage = '/MinePersonInfoPage'; // 我的信息
+ static const String minePersonInfoEditNamePage =
'/MinePersonInfoEditNamePage'; // 我的信息编辑昵称
- static const mineUnbindPhoneOrEmailPage =
+ static const String mineUnbindPhoneOrEmailPage =
'/MineUnbindPhoneOrEmailPage'; // 我的信息修改账号-解绑
- static const minePersonInfoEditAccountNextPage =
+ static const String minePersonInfoEditAccountNextPage =
'/MinePersonInfoEditAccountNextPage'; // 我的信息修改账号下一页
- static const minePersonInfoEditIphonePage =
+ static const String minePersonInfoEditIphonePage =
'/MinePersonInfoEditIphonePage'; // 我的信息修改手机号
- static const minePersonInfoResetPasswordPage =
+ static const String minePersonInfoResetPasswordPage =
'/MinePersonInfoResetPasswordPage'; // 我的信息重置密码
- static const minePersonInfoSetSafetyProblemPage =
+ static const String minePersonInfoSetSafetyProblemPage =
'/MinePersonInfoSetSafetyProblemPage'; // 我的信息设置安全问题
- static const minePersonInfoViewSafetyProblemPage =
+ static const String minePersonInfoViewSafetyProblemPage =
'/MinePersonInfoViewSafetyProblemPage'; // 查看我的安全问题
- static const mineBindPhoneOrEmailPage = '/MineBindPhoneOrEmailPage'; //我的信息-邮箱
+ static const String mineBindPhoneOrEmailPage = '/MineBindPhoneOrEmailPage'; //我的信息-邮箱
- static const gatewayListPage = '/GatewayListPage'; // 我的-网关
- static const gatewayDetailPage = '/GatewayDetailPage'; // 我的-网关详情
- static const gatewayConnectionLockPage =
+ static const String gatewayListPage = '/GatewayListPage'; // 我的-网关
+ static const String gatewayDetailPage = '/GatewayDetailPage'; // 我的-网关详情
+ static const String gatewayConnectionLockPage =
'/GatewayConnectionLockPage'; // 我的-网关网关链接的锁
- static const selectGatewayTypePage = '/SelectGatewayTypePage'; // 我的-选择网关类型
- static const selectGatewayTypeNextTipPage =
+ static const String selectGatewayTypePage = '/SelectGatewayTypePage'; // 我的-选择网关类型
+ static const String selectGatewayTypeNextTipPage =
'/SelectGatewayTypeNextTipPage'; // 我的-选择网关类型下一步
- static const selectGatewayPage = '/SelectGatewayPage'; // 我的-选择网关
- static const gatewayConfigurationWifiPage =
+ static const String selectGatewayPage = '/SelectGatewayPage'; // 我的-选择网关
+ static const String gatewayConfigurationWifiPage =
'/GatewayConfigurationWifiPage'; // 我的-网关配置wifi
- static const messageListPage = '/MessageListPage'; // 我的-消息
- static const messageDetailPage = '/MessageDetailPage'; // 我的-消息详情
- static const supportStaffPage = '/SupportStaffPage'; // 我的-客服
- static const valueAddedServicesPage = '/ValueAddedServicesPage'; // 我的-增值服务
- static const aboutPage = '/AboutPage'; // 我的-关于
+ static const String messageListPage = '/MessageListPage'; // 我的-消息
+ static const String messageDetailPage = '/MessageDetailPage'; // 我的-消息详情
+ static const String supportStaffPage = '/SupportStaffPage'; // 我的-客服
+ static const String valueAddedServicesPage = '/ValueAddedServicesPage'; // 我的-增值服务
+ static const String aboutPage = '/AboutPage'; // 我的-关于
- static const valueAddedServicesNoteAndEmailDetailPage =
+ static const String valueAddedServicesNoteAndEmailDetailPage =
'/ValueAddedServicesNoteAndEmailDetailPage'; // 增值服务-短信邮件详情
- static const valueAddedServicesRealNamePage =
+ static const String valueAddedServicesRealNamePage =
'/ValueAddedServicesRealNamePage'; // 增值服务-实名认证详情
- static const valueAddedServicesRecordPage =
+ static const String valueAddedServicesRecordPage =
'/valueAddedServicesRecordPage'; // 增值服务-记录
- static const valueAddedServicesHighFunctionPage =
+ static const String valueAddedServicesHighFunctionPage =
'/ValueAddedServicesHighFunctionPage'; // 增值服务-高级功能
- static const valueAddedServicesBuyPage =
+ static const String valueAddedServicesBuyPage =
'/ValueAddedServicesBuyPage'; // 增值服务-购买服务
- static const valueAddedServicesListSMSTemplatePage =
+ static const String valueAddedServicesListSMSTemplatePage =
'/ValueAddedServicesListSMSTemplatePage'; // 增值服务-短信模版列表
- static const valueAddedServicesAddSMSTemplatePage =
+ static const String valueAddedServicesAddSMSTemplatePage =
'/valueAddedServicesAddSMSTemplatePage'; // 增值服务-自定义短信模版
- static const valueAddedServicesListEmailTemplatePage =
+ static const String valueAddedServicesListEmailTemplatePage =
'/ValueAddedServicesListEmailTemplatePage'; // 增值服务-邮箱模版列表
- static const valueAddedServicesAddEmailTemplatePage =
+ static const String valueAddedServicesAddEmailTemplatePage =
'/ValueAddedServicesAddEmailTemplatePage'; // 增值服务-自定义邮箱模版
- static const valueAddedServicesBuyAndUseRecordManagePage =
+ static const String valueAddedServicesBuyAndUseRecordManagePage =
'/ValueAddedServicesBuyAndUseRecordManagePage'; // 增值服务-购买使用记录
- static const lockScreenPage = '/LockScreenPage'; // 我的设置-锁屏
- static const aPPUnlockNeedMobileNetworkingLockPage =
+ static const String lockScreenPage = '/LockScreenPage'; // 我的设置-锁屏
+ static const String aPPUnlockNeedMobileNetworkingLockPage =
'/APPUnlockNeedMobileNetworkingLockPage'; // 我的设置-app开锁时需手机连网的锁
- static const hideInvalidUnlockPermissionsPage =
+ static const String hideInvalidUnlockPermissionsPage =
'/HideInvalidUnlockPermissionsPage'; // 我的设置-隐藏无效开锁权限
- static const lockUserManageLisPage = '/LockUserManageLisPage'; //我的设置-锁用户管理
- static const authorizedAdministratorListPage =
+ static const String lockUserManageLisPage = '/LockUserManageLisPage'; //我的设置-锁用户管理
+ static const String 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 addAuthorizedAdministratorPage =
+ static const String lockGroupListPage = '/LockGroupListPage'; //我的设置-锁分组
+ static const String lockItemListPage = '/LockItemListPage'; //锁分组-锁列表
+ static const String transferSmartLockPage = '/transferSmartLockPage'; //转移智能锁
+ static const String recipientInformationPage = '/recipientInformationPage'; //接受人信息
+ static const String selectBranchPage = '/SelectBranchPage'; //选择分店
+ static const String selectGetewayListPage = '/selectGetewayListPage'; //选择网关
+ static const String addAuthorizedAdministratorPage =
'/addAuthorizedAdministratorPage'; //添加授权管理员
- static const ownedKeyListPage = '/ownedKeyListPage'; //拥有的钥匙
+ static const String ownedKeyListPage = '/ownedKeyListPage'; //拥有的钥匙
- static const starLockLoginPage = '/StarLockLoginPage'; // 登录
- static const starLockRegisterPage = '/StarLockRegisterPage'; // 注册
- static const starLockForgetPasswordPage =
+ static const String starLockLoginPage = '/StarLockLoginPage'; // 登录
+ static const String starLockRegisterPage = '/StarLockRegisterPage'; // 注册
+ static const String starLockForgetPasswordPage =
'/StarLockForgetPasswordPage'; // 忘记密码
- static const selectCountryRegionPage = '/SelectCountryRegionPage'; // 选择国家和地区
- static const safetyVerificationPage = '/SafetyVerificationPage'; // 安全验证
+ static const String selectCountryRegionPage = '/SelectCountryRegionPage'; // 选择国家和地区
+ static const String safetyVerificationPage = '/SafetyVerificationPage'; // 安全验证
- static const getDeviceListPage = '/getDeviceListPage'; //设备列表
- static const getNameListPage = '/getNameListPage'; //姓名列表
- static const authorityManagementPage = '/authorityManagementPage'; //批量授权
- static const massSendLockGroupListPage =
+ static const String getDeviceListPage = '/getDeviceListPage'; //设备列表
+ static const String getNameListPage = '/getNameListPage'; //姓名列表
+ static const String authorityManagementPage = '/authorityManagementPage'; //批量授权
+ static const String massSendLockGroupListPage =
'/massSendLockGroupListPage'; //群发锁分组列表
static const massSendReceiverPage = '/massSendReceiverPage'; //群发接收人
static const lockUserListPage = '/lockUserListPage'; //锁用户列表
static const administratorDetailsPage = '/administratorDetailsPage'; //管理员详情
static const expireLockManagePage = '/expireLockManagePage'; //即将到期
static const expireKeyChangeDatePage = '/ExpireKeyChangeDatePage'; //即将到期卡、指纹、遥控钥匙详情修改日期
- static const adminDetailChangeDatePage =
- '/adminDetailChangeDatePage'; //管理员详情修改生效时间
- static const adminLockListPage = '/adminLockListPage'; //管理员详情的锁列表
- static const safeVerifyPage = '/safeVerifyPage'; //删除账号安全验证
- static const webviewShowPage = '/webviewShowPage'; //网页
- static const demoModeLockDetailPage = '/DemoModeLockDetailPage'; // 演示模式锁详情页
- static const demoModeLockSetPage = '/DemoModeLockSetPage'; // 演示模式锁设置页
- static const addLockSelectCountryPage =
+ static const adminDetailChangeDatePage = '/adminDetailChangeDatePage'; //管理员详情修改生效时间
+ static const String adminLockListPage = '/adminLockListPage'; //管理员详情的锁列表
+ static const String safeVerifyPage = '/safeVerifyPage'; //删除账号安全验证
+ static const String webviewShowPage = '/webviewShowPage'; //网页
+ static const String demoModeLockDetailPage = '/DemoModeLockDetailPage'; // 演示模式锁详情页
+ static const String demoModeLockSetPage = '/DemoModeLockSetPage'; // 演示模式锁设置页
+ static const String addLockSelectCountryPage =
'/AddLockSelectCountryPage'; // 演示模式锁设置页
- static const faceUnlockPage = '/faceUnlockPage'; //面容开锁设置
- static const motorPowerPage = '/motorPowerPage'; //电机功率设置
- static const openDoorDirectionPage = '/openDoorDirectionPage'; //开门方向设置
- static const catEyeWorkModePage = '/catEyeWorkModePage'; //猫眼工作模式
- static const msgNotificationPage = '/msgNotificationPage'; //消息提醒
- static const addFacePage = '/addFacePage'; //添加人脸
- static const nDaysUnopenedPage = '/nDaysUnopenedPage'; //N天未开门
- static const notificationModePage = '/notificationModePage'; //提醒方式
- static const openDoorNotifyPage = '/openDoorNotifyPage'; //家人到家
- static const addFamilyPage = '/addFamilyPage'; //添加家人
- static const lockUserPage = '/lockUserPage'; //锁用户
- static const catEyeSetPage = '/catEyeSetPage'; //猫眼设置
- static const coerceOpenDoorPage = '/coerceOpenDoorPage'; //胁迫开门
- static const coerceFingerprintPage = '/coerceFingerprintPage'; //胁迫指纹
- static const lowBatteryReminderPage = '/lowBatteryReminderPage'; //低电量提醒
- static const coerceFingerprintListPage = '/coerceFingerprintListPage'; //指纹列表
- static const lockMonitoringPage = '/LockMonitoringPage'; //监控
- static const monitoringRealTimeScreenPage =
+ static const String faceUnlockPage = '/faceUnlockPage'; //面容开锁设置
+ static const String motorPowerPage = '/motorPowerPage'; //电机功率设置
+ static const String openDoorDirectionPage = '/openDoorDirectionPage'; //开门方向设置
+ static const String catEyeWorkModePage = '/catEyeWorkModePage'; //猫眼工作模式
+ static const String msgNotificationPage = '/msgNotificationPage'; //消息提醒
+ static const String addFacePage = '/addFacePage'; //添加人脸
+ static const String nDaysUnopenedPage = '/nDaysUnopenedPage'; //N天未开门
+ static const String notificationModePage = '/notificationModePage'; //提醒方式
+ static const String openDoorNotifyPage = '/openDoorNotifyPage'; //家人到家
+ static const String addFamilyPage = '/addFamilyPage'; //添加家人
+ static const String lockUserPage = '/lockUserPage'; //锁用户
+ static const String catEyeSetPage = '/catEyeSetPage'; //猫眼设置
+ static const String coerceOpenDoorPage = '/coerceOpenDoorPage'; //胁迫开门
+ static const String coerceFingerprintPage = '/coerceFingerprintPage'; //胁迫指纹
+ static const String lowBatteryReminderPage = '/lowBatteryReminderPage'; //低电量提醒
+ static const String coerceFingerprintListPage = '/coerceFingerprintListPage'; //指纹列表
+ static const String lockMonitoringPage = '/LockMonitoringPage'; //监控
+ static const String monitoringRealTimeScreenPage =
'/MonitoringRealTimeScreenPage'; //实时画面
- static const videoLogPage = '/VideoLogPage'; // 视频日志
- static const editVideoLogPage = '/EditVideoLogPage'; // 编辑视频日志
- static const videoLogDetailPage = '/VideoLogDetailPage'; // 视频日志详情
- static const videoLogDownLoadPage = '/VideoLogDownLoadPage'; // 视频下载列表
+ static const String videoLogPage = '/VideoLogPage'; // 视频日志
+ static const String editVideoLogPage = '/EditVideoLogPage'; // 编辑视频日志
+ static const String videoLogDetailPage = '/VideoLogDetailPage'; // 视频日志详情
+ static const String videoLogDownLoadPage = '/VideoLogDownLoadPage'; // 视频下载列表
- static const remoteControlListPage = '/RemoteControlListPage'; // 遥控列表
- static const addRemoteControlPage = '/AddRemoteControlPage'; // 添加遥控
+ static const String remoteControlListPage = '/RemoteControlListPage'; // 遥控列表
+ static const String addRemoteControlPage = '/AddRemoteControlPage'; // 添加遥控
- static const cardListPage = '/CardListPage'; // 卡列表
+ static const String cardListPage = '/CardListPage'; // 卡列表
// static const addCardTypeManagePage = '/AddCardTypeManagePage'; // 添加卡
- static const addCardPage = '/AddCardPage'; // 添加卡
- static const cardDetailPage = '/CardDetailPage'; // 卡详情
- static const fingerprintListPage = '/FingerprintListPage'; // 指纹列表
- static const addFingerprintTypePage = '/AddFingerprintTypePage'; // 添加指纹
- static const fingerprintDetailPage = '/FingerprintDetailPage'; // 指纹详情
- static const faceListPage = '/FaceListPage'; // 人脸列表
- static const addFaceTypePage = '/AddFaceTypePage'; // 添加人脸
- static const faceDetailPage = '/faceDetailPage'; // 人脸详情
+ static const String addCardPage = '/AddCardPage'; // 添加卡
+ static const String cardDetailPage = '/CardDetailPage'; // 卡详情
+ static const String fingerprintListPage = '/FingerprintListPage'; // 指纹列表
+ static const String addFingerprintTypePage = '/AddFingerprintTypePage'; // 添加指纹
+ static const String fingerprintDetailPage = '/FingerprintDetailPage'; // 指纹详情
+ static const String faceListPage = '/FaceListPage'; // 人脸列表
+ static const String addFaceTypePage = '/AddFaceTypePage'; // 添加人脸
+ static const String faceDetailPage = '/faceDetailPage'; // 人脸详情
- static const irisListPage = '/IrisListPage'; // 虹膜列表
- static const addIrisTypeManagePage = '/AddIrisTypeManagePage'; // 添加虹膜
- static const addIrisPage = '/AddIrisPage'; // 添加虹膜过程
+ static const String irisListPage = '/IrisListPage'; // 虹膜列表
+ static const String addIrisTypeManagePage = '/AddIrisTypeManagePage'; // 添加虹膜
+ static const String addIrisPage = '/AddIrisPage'; // 添加虹膜过程
- static const palmListPage = '/PalmListPage'; // 手掌列表
- static const addPalmTypeManagePage = '/AddPalmTypeManagePage'; // 添加手掌
- static const addPalmPage = '/AddPalmPage'; // 添加手掌过程
+ static const String palmListPage = '/PalmListPage'; // 手掌列表
+ static const String addPalmTypeManagePage = '/AddPalmTypeManagePage'; // 添加手掌
+ static const String addPalmPage = '/AddPalmPage'; // 添加手掌过程
- static const passwordKeyDetailChangeDatePage =
+ static const String passwordKeyDetailChangeDatePage =
'/passwordKeyDetailChangeDatePage'; //密码更改时间
- static const realTimePicturePage = '/realTimePicturePage'; //实时监控画面
- static const doorLockLogPage = '/doorLockLogPage'; //门锁日志
- static const catEyeCustomModePage = '/catEyeCustomModePage'; //猫眼自定义模式
- static const videoSlotPage = '/videoSlotPage'; //录像时段
- static const liveVideoPage = '/liveVideoPage'; //实时画面
+ static const String realTimePicturePage = '/realTimePicturePage'; //实时监控画面
+ static const String doorLockLogPage = '/doorLockLogPage'; //门锁日志
+ static const String catEyeCustomModePage = '/catEyeCustomModePage'; //猫眼自定义模式
+ static const String videoSlotPage = '/videoSlotPage'; //录像时段
+ static const String liveVideoPage = '/liveVideoPage'; //实时画面
- static const accessoriesListPage = '/accessoriesListPage'; //配件列表
- static const seletKeyCyclicDatePage =
+ static const String accessoriesListPage = '/accessoriesListPage'; //配件列表
+ static const String seletKeyCyclicDatePage =
'/SeletKeyCyclicDatePage'; // 电子钥匙、授权管理员、卡、指纹、遥控等添加添加循环日期公共界面
- static const advancedFeaturesWebPage = '/advancedFeaturesWebPage'; // 高级功能
- static const advancedFunctionRecordPage =
+ static const String advancedFeaturesWebPage = '/advancedFeaturesWebPage'; // 高级功能
+ static const String advancedFunctionRecordPage =
'/advancedFunctionRecordPage'; //高级功能购买记录
static const String administratorAssociationLockPage =
'/administratorAssociationLockPage'; //我的设置-授权管理员-关联锁
}
abstract class AppRouters {
- static final routePages = [
- GetPage(
+ static final List> routePages = >[
+ GetPage(
name: Routers.initial,
page: () => const StarLockApplication(),
),
- GetPage(
+ GetPage(
name: Routers.starLockMain,
page: () => F.sw(
- defaultCall: () => StarLockMainPage(),
+ skyCall: () => StarLockMainPage(),
xhjCall: () => const StarLockMainXHJPage()),
),
- GetPage(
+ GetPage(
name: Routers.starLockMinePage,
page: () => const StarLockMinePage(),
),
- GetPage(
+ GetPage(
name: Routers.selectLockTypePage,
page: () => const SelectLockTypePage(),
),
- GetPage(
+ GetPage(
name: Routers.lockMallPage,
page: () => LockMallPage(),
),
- GetPage(
+ GetPage(
name: Routers.addLockPage,
page: () => const AddLockPage(),
),
- GetPage(
+ GetPage(
name: Routers.nearbyLockPage,
page: () => const NearbyLockPage(),
),
- GetPage(
+ GetPage(
name: Routers.saveLockPage,
page: () => const SaveLockPage(),
),
- GetPage(
+ GetPage(
name: Routers.lockDetailMainPage,
page: () => const LockDetailMainPage(),
),
- GetPage(
+ GetPage(
name: Routers.electronicKeyListPage,
page: () => const ElectronicKeyListPage(),
),
- GetPage(
+ GetPage(
name: Routers.electronicKeyDetailPage,
page: () => const ElectronicKeyDetailPage(),
),
- GetPage(
+ GetPage(
name: Routers.electronicKeyDetailChangeDate,
page: () => const ElectronicKeyDetailChangeDate(),
),
- GetPage(
+ GetPage(
name: Routers.sendElectronicKeyPage,
page: () => const SendElectronicKeyPage(),
),
- GetPage(
+ GetPage(
name: Routers.massSendElectronicKeyManagePage,
page: () => const MassSendElectronicKeyManagePage(),
),
- GetPage(
+ GetPage(
name: Routers.electronicKeyPeriodValidityPage,
page: () => const ElectronicKeyPeriodValidityPage(),
),
- GetPage(
+ GetPage(
name: Routers.sendEmailNotificationPage,
page: () => const SendEmailNotificationPage(),
),
- GetPage(
+ GetPage(
name: Routers.passwordKeyListPage,
page: () => const PasswordKeyListPage(),
),
- GetPage(
+ GetPage(
name: Routers.passwordKeyPerpetualPage,
page: () => const PasswordKeyPerpetualPage(),
),
- GetPage(
+ GetPage(
name: Routers.passwordKeyDetailPage,
page: () => const PasswordKeyDetailPage(),
),
- // GetPage(
+ // GetPage(
// name: Routers.otherTypeKeyListPage,
// page: () => const OtherTypeKeyListPage(),
// ),
- // GetPage(
+ // GetPage(
// name: Routers.otherTypeKeyDetailPage,
// page: () => const OtherTypeKeyDetailPage(),
// ),
- // GetPage(
+ // GetPage(
// name: Routers.otherTypeKeyManagePage,
// page: () => const OtherTypeKeyManagePage(),
// ),
- GetPage(
+ GetPage(
name: Routers.authorizedAdminListPage,
page: () => const AuthorizedAdminListPage(),
),
- GetPage(
+ GetPage(
name: Routers.authorizedAdminPage,
page: () => const AuthorizedAdminPage(),
),
- GetPage(
+ GetPage(
name: Routers.lockOperatingRecordPage,
page: () => const LockOperatingRecordPage(),
),
- GetPage(
+ GetPage(
name: Routers.mineSetPage,
- page: () => const MineSetPage(),
+ page: () => MineSetPage(),
),
- GetPage(
+ GetPage(
name: Routers.volumeAuthorizationLockManagePage,
page: () => const VolumeAuthorizationLockManagePage(),
),
- GetPage(
+ GetPage(
name: Routers.mineMultiLanguagePage,
page: () => const MineMultiLanguagePage(),
),
- GetPage(
+ GetPage(
name: Routers.starLockLoginPage,
page: () => F.sw(
- defaultCall: () => const StarLockLoginPage(),
+ skyCall: () => const StarLockLoginPage(),
xhjCall: () => const StarLockLoginXHJPage()),
),
- GetPage(
+ GetPage(
name: Routers.starLockRegisterPage,
page: () => F.sw(
- defaultCall: () => const StarLockRegisterPage(),
+ skyCall: () => const StarLockRegisterPage(),
xhjCall: () => const StarLockRegisterXHJPage()),
binding: StarLockRegisterBinding()),
- GetPage(
+ GetPage(
name: Routers.starLockForgetPasswordPage,
page: () => F.sw(
- defaultCall: () => const StarLockForgetPasswordPage(),
+ skyCall: () => const StarLockForgetPasswordPage(),
xhjCall: () => const StarLockForgetPasswordXHJPage()),
),
- GetPage(
+ GetPage(
name: Routers.selectCountryRegionPage,
page: () => const SelectCountryRegionPage(),
),
- GetPage(
+ GetPage(
name: Routers.lockSetPage,
page: () => const LockSetPage(),
),
- GetPage(
+ GetPage(
name: Routers.basicInformationPage,
page: () => const BasicInformationPage(),
),
- GetPage(
+ GetPage(
name: Routers.uploadElectricQuantityPage,
page: () => const UploadElectricQuantityPage(),
),
- GetPage(
+ GetPage(
name: Routers.editLockNamePage,
page: () => const EditLockNamePage(),
),
- GetPage(
+ GetPage(
name: Routers.lockSelectGroupingPage,
page: () => const LockSelectGroupingPage(),
),
- GetPage(
+ GetPage(
name: Routers.adminOpenLockPasswordPage,
page: () => const AdminOpenLockPasswordPage(),
),
- GetPage(
+ GetPage(
name: Routers.wirelessKeyboardPage,
page: () => const WirelessKeyboardPage(),
),
- GetPage(
+ GetPage(
name: Routers.addWirelessKeyboardPage,
page: () => const AddWirelessKeyboardPage(),
),
- GetPage(
+ GetPage(
name: Routers.addWirelessKeyboardScreenNotLightOnPage,
page: () => const AddWirelessKeyboardScreenNotLightOnPage(),
),
- GetPage(
+ GetPage(
name: Routers.selectWirelessKeyboardPage,
page: () => const SelectWirelessKeyboardPage(),
),
- GetPage(
+ GetPage(
name: Routers.doorMagneticPage,
page: () => const DoorMagneticPage(),
),
- GetPage(
+ GetPage(
name: Routers.addDoorMagneticPage,
page: () => const AddDoorMagneticPage(),
),
- GetPage(
+ GetPage(
name: Routers.nearbyDoorMagneticPage,
page: () => const NearbyDoorMagneticPage(),
),
- GetPage(
+ GetPage(
name: Routers.lockAddressPage,
page: () => const LockAddressPage(),
),
- GetPage(
+ GetPage(
name: Routers.remoteUnlockingPage,
page: () => const RemoteUnlockingPage(),
),
- GetPage(
+ GetPage(
name: Routers.automaticBlockingPage,
page: () => const AutomaticBlockingPage(),
),
- GetPage(
+ GetPage(
name: Routers.normallyOpenModePage,
page: () => const NormallyOpenModePage(),
),
- GetPage(
+ GetPage(
name: Routers.lockSoundSetPage,
page: () => const LockSoundSetPage(),
),
- GetPage(
+ GetPage(
name: Routers.burglarAlarmPage,
page: () => const BurglarAlarmPage(),
),
- GetPage(
+ GetPage(
name: Routers.resetButtonPage,
page: () => const ResetButtonPage(),
),
- GetPage(
+ GetPage(
name: Routers.unlockQRCodePage,
page: () => const UnlockQRCodePage(),
),
- GetPage(
+ GetPage(
name: Routers.lockTimePage,
page: () => const LockTimePage(),
), // 诊断
- GetPage(
+ GetPage(
name: Routers.diagnosePage,
page: () => const DiagnosePage(),
),
- GetPage(
+ GetPage(
name: Routers.uploadDataPage,
page: () => const UploadDataPage(),
),
- GetPage(
+ GetPage(
name: Routers.importOtherLockDataPage,
page: () => const ImportOtherLockDataPage(),
),
- GetPage(
+ GetPage(
name: Routers.lockEscalationPage,
page: () => const LockEscalationPage(),
),
- GetPage(
+ GetPage(
name: Routers.markedHouseStatePage,
page: () => const MarkedHouseStatePage(),
),
- GetPage(
+ GetPage(
name: Routers.checkingInListPage,
page: () => const CheckingInListPage(),
),
- GetPage(
+ GetPage(
name: Routers.checkingInSetPage,
page: () => const CheckingInSetPage(),
),
- GetPage(
+ GetPage(
name: Routers.checkingInStaffManagePage,
page: () => const CheckingInStaffListPage(),
),
- GetPage(
+ GetPage(
name: Routers.checkingInAddStaffPage,
page: () => const CheckingInAddStaffPage(),
),
- GetPage(
+ GetPage(
name: Routers.checkingInSetWorkTimePage,
page: () => const CheckingInSetWorkTimePage(),
),
- GetPage(
+ GetPage(
name: Routers.checkingInSetWorkdaySet,
page: () => const CheckingInSetWorkdaySet(),
),
- GetPage(
+ GetPage(
name: Routers.checkingInSetHolidaysPage,
page: () => const CheckingInSetHolidaysPage(),
),
- GetPage(
+ GetPage(
name: Routers.checkingInAddHolidaysPage,
page: () => const CheckingInAddHolidaysPage(),
),
- GetPage(
+ GetPage(
name: Routers.checkingInDeletHolidaysPage,
page: () => const CheckingInDeletHolidaysPage(),
),
- GetPage(
+ GetPage(
name: Routers.checkingInDetailPage,
page: () => const CheckingInDetailPage(),
),
- GetPage(
+ GetPage(
name: Routers.minePersonInfoPage,
page: () => MinePersonInfoPage(),
),
- GetPage(
+ GetPage(
name: Routers.minePersonInfoEditNamePage,
page: () => const MinePersonInfoEditNamePage(),
),
- GetPage(
+ GetPage(
name: Routers.mineUnbindPhoneOrEmailPage,
page: () => const MineUnbindPhoneOrEmailPage(),
),
- GetPage(
+ GetPage(
name: Routers.minePersonInfoEditIphonePage,
page: () => const MinePersonInfoEditIphonePage(),
),
- GetPage(
+ GetPage(
name: Routers.minePersonInfoResetPasswordPage,
page: () => const MinePersonInfoResetPasswordPage(),
),
- GetPage(
+ GetPage(
name: Routers.minePersonInfoSetSafetyProblemPage,
page: () => const MinePersonInfoSetSafetyProblemPage(),
),
- GetPage(
+ GetPage(
name: Routers.minePersonInfoEditAccountNextPage,
page: () => const MinePersonInfoEditAccountNextPage(),
),
- GetPage(
+ GetPage(
name: Routers.gatewayListPage,
page: () => const GatewayListPage(),
),
- GetPage(
+ GetPage(
name: Routers.messageListPage,
page: () => MessageListPage(),
),
- GetPage(
+ GetPage(
name: Routers.supportStaffPage,
page: () => const SupportStaffPage(),
),
- GetPage(
+ GetPage(
name: Routers.valueAddedServicesPage,
page: () => const ValueAddedServicesListPage(),
),
- GetPage(
+ GetPage(
name: Routers.aboutPage,
page: () => const AboutPage(),
),
- GetPage(
+ GetPage(
name: Routers.gatewayDetailPage,
page: () => const GatewayDetailPage(),
),
- GetPage(
+ GetPage(
name: Routers.gatewayConnectionLockPage,
page: () => const GatewayConnectionLockListPage(),
),
- GetPage(
+ GetPage(
name: Routers.selectGatewayTypePage,
page: () => const SelectGatewayTypePage(),
),
- GetPage(
+ GetPage(
name: Routers.selectGatewayTypeNextTipPage,
page: () => const SelectGatewayTypeNextTipPage(),
),
- GetPage(
+ GetPage(
name: Routers.selectGatewayPage,
page: () => const SelectGatewayListPage(),
),
- GetPage(
+ GetPage(
name: Routers.gatewayConfigurationWifiPage,
page: () => const GatewayConfigurationWifiPage(),
),
- GetPage(
+ GetPage(
name: Routers.valueAddedServicesNoteAndEmailDetailPage,
page: () => const ValueAddedServicesNoteAndEmailDetailPage(),
),
- GetPage(
+ GetPage(
name: Routers.valueAddedServicesRealNamePage,
page: () => const ValueAddedServicesRealNamePage(),
),
- GetPage(
+ GetPage(
name: Routers.valueAddedServicesRecordPage,
- page: () => ValueAddedServicesRecordPage(),
+ page: () => const ValueAddedServicesRecordPage(),
),
- GetPage(
+ GetPage(
name: Routers.valueAddedServicesBuyPage,
page: () => const ValueAddedServicesBuyPage(),
),
- GetPage(
+ GetPage(
name: Routers.valueAddedServicesHighFunctionPage,
page: () => const ValueAddedServicesHighFunctionPage(),
),
- GetPage(
+ GetPage(
name: Routers.valueAddedServicesListSMSTemplatePage,
page: () => const ValueAddedServicesListSMSTemplatePage(),
),
- GetPage(
+ GetPage(
name: Routers.valueAddedServicesAddSMSTemplatePage,
page: () => const ValueAddedServicesAddSMSTemplatePage(),
),
- GetPage(
+ GetPage(
name: Routers.valueAddedServicesListEmailTemplatePage,
page: () => const ValueAddedServicesListEmailTemplatePage(),
),
- GetPage(
+ GetPage(
name: Routers.valueAddedServicesAddEmailTemplatePage,
page: () => const ValueAddedServicesAddEmailTemplatePage(),
),
- GetPage(
+ GetPage(
name: Routers.valueAddedServicesBuyAndUseRecordManagePage,
page: () => const ValueAddedServicesBuyAndUseRecordManagePage(),
),
- GetPage(
+ GetPage(
name: Routers.lockScreenPage,
page: () => const LockScreenPage(),
),
- GetPage(
+ GetPage(
name: Routers.aPPUnlockNeedMobileNetworkingLockPage,
page: () => const APPUnlockNeedMobileNetworkingLockPage(),
),
- GetPage(
+ GetPage(
name: Routers.hideInvalidUnlockPermissionsPage,
page: () => const HideInvalidUnlockPermissionsPage(),
),
- GetPage(
+ GetPage(
name: Routers.authorizedAdministratorListPage,
page: () => const AuthorizedAdministratorListPage()),
- GetPage(
+ GetPage(
name: Routers.lockUserManageLisPage,
page: () => const LockUserManageListPage()),
- GetPage(
+ GetPage(
name: Routers.lockGroupListPage, page: () => const LockGroupListPage()),
- GetPage(
+ GetPage(
name: Routers.groupEditLockPage, page: () => const GroupEditLockPage()),
- GetPage(
+ GetPage(
name: Routers.lockItemListPage, page: () => const LockItemListPage()),
- GetPage(
+ GetPage(
name: Routers.transferSmartLockPage,
page: () => const TransferSmartLockPage()),
- GetPage(
+ GetPage(
name: Routers.recipientInformationPage,
page: () => const RecipientInformationPage()),
- GetPage(
+ GetPage(
name: Routers.selectBranchPage, page: () => const SelectBranchPage()),
- GetPage(
+ GetPage(
name: Routers.selectGetewayListPage,
page: () => const SelectGetewayListPage()),
- GetPage(
+ GetPage(
name: Routers.mineBindPhoneOrEmailPage,
page: () => const MineBindPhoneOrEmailPage()),
- GetPage(
+ GetPage(
name: Routers.addAuthorizedAdministratorPage,
page: () => const AddAuthorizedAdministratorManagePage()),
- GetPage(
+ GetPage(
name: Routers.safetyVerificationPage,
page: () => const SafetyVerificationPage(),
binding: SafetyVerificationBinding(),
),
- GetPage(
+ GetPage(
name: Routers.ownedKeyListPage, page: () => const OwnedKeyListPage()),
- GetPage(
+ GetPage(
name: Routers.getDeviceListPage, page: () => const GetDeviceListPage()),
- GetPage(name: Routers.getNameListPage, page: () => const GetNameListPage()),
- GetPage(
+ GetPage(name: Routers.getNameListPage, page: () => const GetNameListPage()),
+ GetPage(
name: Routers.authorityManagementPage,
page: () => const AuthorityManagementPage()),
- GetPage(
+ GetPage(
name: Routers.addFingerprintTipPage,
page: () => const AddFingerprintTipPage()),
- GetPage(
+ GetPage(
name: Routers.addFingerprintPage,
page: () => const AddFingerprintPage()),
- GetPage(
+ GetPage(
name: Routers.configuringWifiPage,
page: () => const ConfiguringWifiPage()),
- GetPage(
+ GetPage(
name: Routers.massSendLockGroupListPage,
page: () => const MassSendLockGroupListPage()),
- GetPage(
+ GetPage(
name: Routers.massSendReceiverPage,
page: () => const MassSendReceiverPage()),
- GetPage(
+ GetPage(
name: Routers.lockUserListPage, page: () => const LockUserListPage()),
- GetPage(
+ GetPage(
name: Routers.checkInCreatCompanyPage,
page: () => const CheckInCreatCompanyPage()),
- GetPage(
+ GetPage(
name: Routers.checkingInStaffDetailPage,
page: () => const CheckingInStaffDetailPage()),
- GetPage(
+ GetPage(
name: Routers.administratorDetailsPage,
page: () => const AdministratorDetailsPage()),
- GetPage(
+ GetPage(
name: Routers.expireLockManagePage,
page: () => const ExpireLockManagePage()),
- GetPage(
+ GetPage(
name: Routers.otherTypeKeyChangeDatePage,
page: () => const OtherTypeKeyChangeDatePage()),
- GetPage(
+ GetPage(
name: Routers.otherTypeKeyChangeValidityDatePage,
page: () => const OtherTypeKeyChangeValidityDatePage()),
- GetPage(name: Routers.addICCardPage, page: () => const AddICCardPage()),
- GetPage(
+ GetPage(name: Routers.addICCardPage, page: () => const AddICCardPage()),
+ GetPage(
name: Routers.adminDetailChangeDatePage,
page: () => const AdminDetailChangeDatePage()),
- GetPage(
+ GetPage(
name: Routers.lockAddressGaoDePage,
page: () => const LockAddressGaoDePage()),
- GetPage(name: Routers.safeVerifyPage, page: () => const SafeVerifyPage()),
- GetPage(
+ GetPage(name: Routers.safeVerifyPage, page: () => const SafeVerifyPage()),
+ GetPage(
name: Routers.minePersonInfoViewSafetyProblemPage,
page: () => const MinePersonInfoViewSafetyProblemPage()),
- GetPage(name: Routers.webviewShowPage, page: () => const WebviewShowPage()),
- GetPage(
+ GetPage(name: Routers.webviewShowPage, page: () => const WebviewShowPage()),
+ GetPage(
name: Routers.demoModeLockSetPage,
page: () => const DemoModeLockSetPage()),
- GetPage(
+ GetPage(
name: Routers.demoModeLockDetailPage,
page: () => const DemoModeLockDetailPage()),
- GetPage(
+ GetPage(
name: Routers.addLockSelectCountryPage,
page: () => const AddLockSelectCountryPage()),
- GetPage(name: Routers.faceUnlockPage, page: () => const FaceUnlockPage()),
- GetPage(name: Routers.motorPowerPage, page: () => const MotorPowerPage()),
- GetPage(
+ GetPage(name: Routers.faceUnlockPage, page: () => const FaceUnlockPage()),
+ GetPage(name: Routers.motorPowerPage, page: () => const MotorPowerPage()),
+ GetPage(
name: Routers.openDoorDirectionPage,
page: () => const OpenDoorDirectionPage()),
- GetPage(
+ GetPage(
name: Routers.catEyeWorkModePage,
page: () => const CatEyeWorkModePage()),
- GetPage(
+ GetPage(
name: Routers.msgNotificationPage,
page: () => const MsgNotificationPage()),
- GetPage(name: Routers.addFacePage, page: () => const AddFacePage()),
- GetPage(
+ GetPage(name: Routers.addFacePage, page: () => const AddFacePage()),
+ GetPage(
name: Routers.nDaysUnopenedPage, page: () => const NDaysUnopenedPage()),
- GetPage(
+ GetPage(
name: Routers.notificationModePage,
page: () => const NotificationModePage()),
- GetPage(
+ GetPage(
name: Routers.openDoorNotifyPage,
page: () => const OpenDoorNotifyPage()),
- GetPage(name: Routers.addFamilyPage, page: () => const AddFamilyPage()),
- GetPage(name: Routers.lockUserPage, page: () => const LockUserPage()),
- GetPage(name: Routers.catEyeSetPage, page: () => const CatEyeSetPage()),
- GetPage(
+ GetPage(name: Routers.addFamilyPage, page: () => const AddFamilyPage()),
+ GetPage(name: Routers.lockUserPage, page: () => const LockUserPage()),
+ GetPage(name: Routers.catEyeSetPage, page: () => const CatEyeSetPage()),
+ GetPage(
name: Routers.coerceOpenDoorPage,
page: () => const CoerceOpenDoorPage()),
- GetPage(
+ GetPage(
name: Routers.coerceFingerprintPage,
page: () => const CoerceFingerprintPage()),
- GetPage(
+ GetPage(
name: Routers.lowBatteryReminderPage,
page: () => const LowBatteryReminderPage()),
- GetPage(
+ GetPage(
name: Routers.coerceFingerprintListPage,
page: () => const CoerceFingerprintListPage()),
- GetPage(
+ GetPage(
name: Routers.lockMonitoringPage,
page: () => const LockMonitoringPage()),
- GetPage(
+ GetPage(
name: Routers.monitoringRealTimeScreenPage,
page: () => const MonitoringRealTimeScreenPage()),
- GetPage(name: Routers.videoLogPage, page: () => const VideoLogPage()),
- GetPage(
+ GetPage(name: Routers.videoLogPage, page: () => const VideoLogPage()),
+ GetPage(
name: Routers.editVideoLogPage, page: () => const EditVideoLogPage()),
- GetPage(
+ GetPage(
name: Routers.videoLogDetailPage,
page: () => const VideoLogDetailPage()),
- GetPage(
+ GetPage(
name: Routers.videoLogDownLoadPage,
page: () => const VideoLogDownLoadPage()),
- GetPage(
+ GetPage(
name: Routers.remoteControlListPage,
page: () => const RemoteControlListPage()),
- GetPage(
+ GetPage(
name: Routers.addRemoteControlPage,
page: () => const AddRemoteControlPage()),
- GetPage(name: Routers.cardListPage, page: () => const CardListPage()),
- // GetPage(
+ GetPage(name: Routers.cardListPage, page: () => const CardListPage()),
+ // GetPage(
// name: Routers.addCardTypeManagePage,
// page: () => const AddCardTypeManagePage()),
- GetPage(name: Routers.addCardPage, page: () => const AddCardPage()),
- GetPage(name: Routers.cardDetailPage, page: () => const CardDetailPage()),
- GetPage(
+ GetPage(name: Routers.addCardPage, page: () => const AddCardPage()),
+ GetPage(name: Routers.cardDetailPage, page: () => const CardDetailPage()),
+ GetPage(
name: Routers.fingerprintListPage,
page: () => const FingerprintListPage()),
- GetPage(
+ GetPage(
name: Routers.addFingerprintTypePage,
page: () => const AddFingerprintTypePage()),
- GetPage(
+ GetPage(
name: Routers.fingerprintDetailPage,
page: () => const FingerprintDetailPage()),
- GetPage(name: Routers.faceListPage, page: () => const FaceListPage()),
- GetPage(name: Routers.addFaceTypePage, page: () => const AddFaceTypePage()),
- GetPage(
+ GetPage(name: Routers.faceListPage, page: () => const FaceListPage()),
+ GetPage(name: Routers.addFaceTypePage, page: () => const AddFaceTypePage()),
+ GetPage(
name: Routers.passwordKeyDetailChangeDatePage,
page: () => const PasswordKeyDetailChangeDatePage()),
- GetPage(
+ GetPage(
name: Routers.realTimePicturePage,
page: () => const RealTimePicturePage()),
- GetPage(name: Routers.doorLockLogPage, page: () => const DoorLockLogPage()),
- GetPage(
+ GetPage(name: Routers.doorLockLogPage, page: () => const DoorLockLogPage()),
+ GetPage(
name: Routers.catEyeCustomModePage,
page: () => const CatEyeCustomModePage()),
- GetPage(name: Routers.videoSlotPage, page: (() => const VideoSlotPage())),
- GetPage(name: Routers.liveVideoPage, page: (() => const LiveVideoPage())),
- GetPage(name: Routers.faceDetailPage, page: (() => const FaceDetailPage())),
- GetPage(
+ GetPage(name: Routers.videoSlotPage, page: () => const VideoSlotPage()),
+ GetPage(name: Routers.liveVideoPage, page: () => const LiveVideoPage()),
+ GetPage(name: Routers.faceDetailPage, page: () => const FaceDetailPage()),
+ GetPage(
name: Routers.messageDetailPage,
- page: (() => const MessageDetailPage())),
- GetPage(
+ page: () => const MessageDetailPage()),
+ GetPage(
name: Routers.accessoriesListPage,
- page: (() => const AccessoriesListPage())),
- GetPage(name: Routers.wifiListPage, page: (() => const WifiListPage())),
- GetPage(
+ page: () => const AccessoriesListPage()),
+ GetPage(name: Routers.wifiListPage, page: () => const WifiListPage()),
+ GetPage(
name: Routers.seletKeyCyclicDatePage,
- page: (() => const SeletKeyCyclicDatePage())),
- GetPage(name: Routers.irisListPage, page: (() => const IrisListPage())),
- GetPage(
+ page: () => const SeletKeyCyclicDatePage()),
+ GetPage(name: Routers.irisListPage, page: () => const IrisListPage()),
+ GetPage(
name: Routers.addIrisTypeManagePage,
- page: (() => const AddIrisTypeManagePage())),
- GetPage(name: Routers.addIrisPage, page: (() => const AddIrisPage())),
- GetPage(name: Routers.palmListPage, page: (() => const PalmListPage())),
- GetPage(
+ page: () => const AddIrisTypeManagePage()),
+ GetPage(name: Routers.addIrisPage, page: () => const AddIrisPage()),
+ GetPage(name: Routers.palmListPage, page: () => const PalmListPage()),
+ GetPage(
name: Routers.addPalmTypeManagePage,
- page: (() => const AddPalmTypeManagePage())),
- GetPage(name: Routers.addPalmPage, page: (() => const AddPalmPage())),
- GetPage(
+ page: () => const AddPalmTypeManagePage()),
+ GetPage(name: Routers.addPalmPage, page: () => const AddPalmPage()),
+ GetPage(
name: Routers.advancedFeaturesWebPage,
- page: (() => const AdvancedFeaturesWebPage())),
- GetPage(
+ page: () => const AdvancedFeaturesWebPage()),
+ GetPage(
name: Routers.advancedFunctionRecordPage,
page: () => const AdvancedFunctionRecordPage()),
- GetPage(
+ GetPage(
name: Routers.administratorAssociationLockPage,
page: () => const AdministratorAssociationLockPage()),
GetPage(
diff --git a/lib/app_settings/app_colors.dart b/lib/app_settings/app_colors.dart
index a2def155..17be1c83 100755
--- a/lib/app_settings/app_colors.dart
+++ b/lib/app_settings/app_colors.dart
@@ -5,7 +5,7 @@ import 'package:star_lock/flavors.dart';
class AppColors {
// static Color mainColor = const Color(0xFF385DEA);
static Color get mainColor => F.sw(
- defaultCall: () => const Color(0xFF4777EE),
+ skyCall: () => const Color(0xFF4777EE),
xhjCall: () => const Color(0xFF68c1b9));
static Color mainBackgroundColor = const Color(0xFFF5F5F5);
diff --git a/lib/blue/blue_manage.dart b/lib/blue/blue_manage.dart
index dba9581c..dcbced19 100755
--- a/lib/blue/blue_manage.dart
+++ b/lib/blue/blue_manage.dart
@@ -4,6 +4,7 @@ import 'dart:io';
import 'package:flutter_easyloading/flutter_easyloading.dart';
import 'package:get/get.dart';
import 'package:star_lock/app_settings/app_settings.dart';
+import 'package:star_lock/tools/commonDataManage.dart';
import 'io_tool/io_model.dart';
import 'io_tool/io_tool.dart';
@@ -17,12 +18,12 @@ typedef ConnectStateCallBack = Function(
typedef ScanDevicesCallBack = Function(List);
class BlueManage {
-
factory BlueManage() => shareManager()!;
BlueManage._init() {
_initBlue();
}
+
final List scanDevices = [];
// 用来写入的服务id
@@ -70,6 +71,7 @@ class BlueManage {
// 保存上一次的数据,用来判断是否收到重复的数据
List lastTimeData = [];
int? dataLen;
+ Timer? scanSingleTimer;
static BlueManage? _manager;
@@ -311,10 +313,24 @@ class BlueManage {
{bool isAddEquipment = false}) async {
connectDeviceName = deviceName;
final List devicesList = scanDevices;
-
final bool isExistDevice = isExistScanDevices(connectDeviceName);
+ final bool isCurrentDevice =
+ CommonDataManage().currentKeyInfo.lockName == deviceName;
+ final String? mac = CommonDataManage().currentKeyInfo.mac;
- if (isAddEquipment == false && isExistDevice == false) {
+ AppLog.log('开始连接 是否存在缓存:$isExistDevice 是否是当前设备:$isCurrentDevice mac:$mac');
+ if (GetPlatform.isAndroid &&
+ !isExistDevice &&
+ isCurrentDevice &&
+ mac != null) {
+ scanSingleTimer?.cancel();
+ //兼容android 的低配手机
+ await doNotSearchBLE(mac, connectStateCallBack);
+ scanSingleTimer = Timer(3.seconds, () {
+ scanSingleTimer?.cancel();
+ startScanSingle(deviceName, 15, (List scanDevices) => null);
+ });
+ } else if (isAddEquipment == false && isExistDevice == false) {
//取消缓存直接使用,存在配对场景设备信息会更变
startScanSingle(deviceName, 15, (List scanDevices) {
_connectDevice(scanDevices, deviceName, connectStateCallBack,
@@ -421,7 +437,51 @@ class BlueManage {
}
}
+ //直接给蓝牙设备写入
+ Future doNotSearchBLE(
+ String masAdds, ConnectStateCallBack connectStateCallBack) async {
+ await FlutterBluePlus.stopScan();
+ final BluetoothDevice device = BluetoothDevice.fromId(masAdds);
+ // 重连三次
+ const int maxAttempts = 3;
+ bool connected = false;
+ int attempt = 0;
+ while (attempt < maxAttempts && !connected) {
+ try {
+ await device.connect();
+ connected = true;
+ } catch (e, s) {
+ AppLog.log('连接失败 重连了: ${e.toString()} ${s.toString()}');
+ attempt++; // Increase the attempt count
+ if (attempt < maxAttempts) {
+ AppLog.log('重新尝试连接...');
+ }
+ }
+ }
+ if (!connected) {
+ connectStateCallBack(BluetoothConnectionState.disconnected);
+ return;
+ }
+
+ bluetoothConnectDevice = device;
+ bluetoothConnectionState = BluetoothConnectionState.connected;
+ final List services =
+ await bluetoothConnectDevice!.discoverServices();
+ for (final BluetoothService service in services) {
+ if (service.uuid == _serviceIdConnect) {
+ for (final BluetoothCharacteristic characteristic
+ in service.characteristics) {
+ if (characteristic.characteristicUuid ==
+ _characteristicIdSubscription) {
+ _subScribeToCharacteristic(characteristic);
+ }
+ }
+ }
+ }
+ connectStateCallBack(BluetoothConnectionState.connected);
+ // writeCharacteristicWithResponse(value);
+ }
Future _subScribeToCharacteristic(
BluetoothCharacteristic characteristic) async {
diff --git a/lib/flavors.dart b/lib/flavors.dart
index 2eb513d9..a429abef 100755
--- a/lib/flavors.dart
+++ b/lib/flavors.dart
@@ -32,19 +32,19 @@ class F {
//便捷判断并返回值
static dynamic sw(
- {required fCallFunction defaultCall, fCallFunction? xhjCall}) {
+ {required fCallFunction skyCall, required fCallFunction? xhjCall}) {
if (xhjCall == null) {
- return defaultCall();
+ return skyCall();
}
switch (appFlavor) {
- case Flavor.xhj:
- return xhjCall();
+ case Flavor.sky:
+ return skyCall();
case Flavor.local:
case Flavor.dev:
case Flavor.pre:
- case Flavor.sky:
+ case Flavor.xhj:
default:
- return defaultCall();
+ return xhjCall();
}
}
@@ -72,7 +72,7 @@ class F {
case Flavor.dev:
return '${"starLock".tr}-dev';
case Flavor.pre:
- return "starLock".tr;
+ return 'starLock'.tr;
case Flavor.sky:
return '锁通通';
case Flavor.xhj:
diff --git a/lib/login/login/starLock_login_logic.dart b/lib/login/login/starLock_login_logic.dart
index 2e3cc55e..9826cbce 100755
--- a/lib/login/login/starLock_login_logic.dart
+++ b/lib/login/login/starLock_login_logic.dart
@@ -39,6 +39,7 @@ class StarLockLoginLogic extends BaseGetXController {
}
Future login() async {
+ FocusScope.of(Get.context!).requestFocus(FocusNode()); //关闭键盘
final LoginEntity entity = await ApiRepository.to.login(
loginType: '1',
password: state.pwd.value,
@@ -49,7 +50,7 @@ class StarLockLoginLogic extends BaseGetXController {
Storage.setBool(saveIsVip, entity.data!.isVip == 0 ? false : true);
eventBus.fire(MineInfoChangeRefreshUI());
XSJPushProvider().initJPushService();
- XSJPushProvider().initLocalNotification(false);
+ XSJPushProvider().initLocalNotification(isCancelLocalPush: false);
Get.offNamedUntil(Routers.starLockMain, (Route route) => false);
BlueManage().scanDevices.clear(); //清除设备缓存
}
diff --git a/lib/login/login/starLock_login_page.dart b/lib/login/login/starLock_login_page.dart
index 65855ad9..136a3a7c 100755
--- a/lib/login/login/starLock_login_page.dart
+++ b/lib/login/login/starLock_login_page.dart
@@ -239,9 +239,7 @@ class _StarLockLoginPageState extends State {
child: SizedBox(
width: 10.sp,
)),
- F.isLite
- ? Container()
- : GestureDetector(
+ if (F.isLite) Container() else GestureDetector(
child: SizedBox(
// width: 150.w,
height: 50.h,
diff --git a/lib/login/login/starLock_login_xhj_page.dart b/lib/login/login/starLock_login_xhj_page.dart
index 9b30a3a1..22c16a8d 100755
--- a/lib/login/login/starLock_login_xhj_page.dart
+++ b/lib/login/login/starLock_login_xhj_page.dart
@@ -3,6 +3,7 @@ import 'package:flutter/services.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:star_lock/flavors.dart';
+import 'package:star_lock/login/login/starLock_login_state.dart';
import '../../appRouters.dart';
import '../../app_settings/app_colors.dart';
@@ -22,10 +23,8 @@ class StarLockLoginXHJPage extends StatefulWidget {
}
class _StarLockLoginPageState extends State {
- final logic = Get.put(StarLockLoginLogic());
- final state = Get
- .find()
- .state;
+ final StarLockLoginLogic logic = Get.put(StarLockLoginLogic());
+ final StarLockLoginState state = Get.find().state;
@override
Widget build(BuildContext context) {
@@ -33,269 +32,291 @@ class _StarLockLoginPageState extends State {
resizeToAvoidBottomInset: false,
backgroundColor: const Color(0xFFFFFFFF),
body: ListView(
- padding: EdgeInsets.only(top: 120.h, left: 40.w, right: 40.w),
- children: [
- Text(
- '${"欢迎使用".tr}${F.title}',
- style: TextStyle(
- color: AppColors.darkGrayTextColor,
- fontSize: 48.sp,
+ padding: EdgeInsets.only(
+ top: 120.h,
+ ),
+ children: [
+ Padding(
+ padding: EdgeInsets.symmetric(horizontal: 40.w),
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Text(
+ '${"欢迎使用".tr}${F.title}',
+ style: TextStyle(
+ color: AppColors.darkGrayTextColor,
+ fontSize: 48.sp,
+ ),
+ ),
+ SizedBox(height: 30.h),
+ GestureDetector(
+ onTap: () async {
+ final result =
+ await Get.toNamed(Routers.selectCountryRegionPage);
+ if (result != null) {
+ result as Map;
+ state.countryCode.value = result['code'];
+ state.countryName.value = result['countryName'];
+ }
+ },
+ child: Container(
+ color: Colors.transparent,
+ child: Row(
+ children: [
+ SizedBox(
+ width: 5.w,
+ ),
+ Text(
+ TranslationLoader.lanKeys!.countryAndRegion!.tr,
+ style: TextStyle(
+ fontSize: 22.sp,
+ color: AppColors.darkGrayTextColor),
+ ),
+ SizedBox(
+ width: 40.w,
+ ),
+ Obx(() {
+ return Text(
+ '${state.countryName.value} +${state.countryCode.value}',
+ style: TextStyle(
+ fontSize: 22.sp, color: AppColors.mainColor),
+ );
+ })
+ ],
+ ),
+ ),
+ ),
+ LoginInput(
+ controller: state.emailOrPhoneController,
+ onchangeAction: (v) {
+ logic.checkNext(state.emailOrPhoneController);
+ },
+ leftWidget: Padding(
+ padding: EdgeInsets.only(
+ top: 30.w,
+ bottom: 20.w,
+ ),
+ ),
+ rightSlot: IconButton(
+ icon: const Icon(Icons.close),
+ onPressed: () {},
+ ),
+ label: TranslationLoader
+ .lanKeys!.pleaseEnterNumberOrEmail!.tr,
+ // keyboardType: TextInputType.number,
+ inputFormatters: [
+ LengthLimitingTextInputFormatter(30),
+ ]),
+ LoginInput(
+ controller: state.pwdController,
+ onchangeAction: (v) {
+ logic.checkNext(state.pwdController);
+ },
+ isPwd: true,
+ // isSuffixIcon: 2,
+ leftWidget: Padding(
+ padding: EdgeInsets.only(
+ top: 30.w,
+ bottom: 20.w,
+ ),
+ ),
+ label:
+ '${TranslationLoader.lanKeys!.pleaseEnter!.tr}${TranslationLoader.lanKeys!.password!.tr}',
+ inputFormatters: [
+ LengthLimitingTextInputFormatter(20),
+ ]),
+ SizedBox(height: 10.h),
+ ],
),
),
- SizedBox(height: 30.h),
- GestureDetector(
- onTap: () async {
- var result = await Get.toNamed(Routers.selectCountryRegionPage);
- if (result != null) {
- result as Map;
- state.countryCode.value = result['code'];
- state.countryName.value = result['countryName'];
- }
- },
- child: Container(
- color: Colors.transparent,
- child: Row(
- children: [
- SizedBox(
- width: 5.w,
- ),
- Text(
- TranslationLoader.lanKeys!.countryAndRegion!.tr,
- style: TextStyle(
- fontSize: 22.sp, color: AppColors.darkGrayTextColor),
- ),
- SizedBox(
- width: 40.w,
- ),
- Obx(() {
- return Text(
- '${state.countryName.value} +${state.countryCode
- .value}',
- style: TextStyle(
- fontSize: 22.sp, color: AppColors.mainColor),
- );
- })
- ],
- ),
- ),
- ),
- LoginInput(
- controller: state.emailOrPhoneController,
- onchangeAction: (v) {
- logic.checkNext(state.emailOrPhoneController);
- },
- leftWidget: Padding(
- padding: EdgeInsets.only(
- top: 30.w,
- bottom: 20.w,
- ),
- ),
- rightSlot: IconButton(
- icon: Icon(Icons.close),
- onPressed: () {},
- ),
- label: TranslationLoader.lanKeys!.pleaseEnterNumberOrEmail!.tr,
- // keyboardType: TextInputType.number,
- inputFormatters: [
- LengthLimitingTextInputFormatter(30),
- ]),
- LoginInput(
- controller: state.pwdController,
- onchangeAction: (v) {
- logic.checkNext(state.pwdController);
- },
- isPwd: true,
- // isSuffixIcon: 2,
- leftWidget: Padding(
- padding: EdgeInsets.only(
- top: 30.w,
- bottom: 20.w,
- ),
- ),
- label:
- "${TranslationLoader.lanKeys!.pleaseEnter!
- .tr}${TranslationLoader.lanKeys!.password!.tr}",
- inputFormatters: [
- LengthLimitingTextInputFormatter(20),
- ]),
- SizedBox(height: 30.h),
GestureDetector(
onTap: () {
state.agree.value = !state.agree.value;
logic.changeAgreeState();
},
- child: Padding(
- padding: EdgeInsets.symmetric(vertical: 10.h),
+ child: Container(
+ color: Colors.transparent,
+ padding: EdgeInsets.symmetric(vertical: 30.h, horizontal: 40.w),
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
- children: [
+ children: [
Obx(
- () =>
- Container(
- padding: EdgeInsets.only(
- left: 5.w,
- right: 10.w,
- ),
- child: Image.asset(
- state.agree.value
- ? 'images/icon_round_select.png'
- : 'images/icon_round_unSelect.png',
- width: 20.w,
- height: 20.w,
- ),
- ),
+ () => Container(
+ padding: EdgeInsets.only(
+ left: 5.w,
+ right: 10.w,
+ ),
+ child: Image.asset(
+ state.agree.value
+ ? 'images/icon_round_select.png'
+ : 'images/icon_round_unSelect.png',
+ width: 20.w,
+ height: 20.w,
+ ),
+ ),
),
Flexible(
child: RichText(
text: TextSpan(
- text: TranslationLoader.lanKeys!.readAndAgree!.tr,
- style: TextStyle(
- color: const Color(0xff333333),
- fontSize: 20.sp),
- children: [
- WidgetSpan(
- alignment: PlaceholderAlignment.middle,
- child: GestureDetector(
- child: Text(
- '《${TranslationLoader.lanKeys!
- .userAgreement!.tr}》',
- style: TextStyle(
- color: AppColors.mainColor,
- fontSize: 20.sp)),
- onTap: () {
- Get.toNamed(Routers.webviewShowPage,
- arguments: {
- "url": XSConstantMacro
- .userAgreementURL,
- "title": '用户协议'.tr
- });
- },
- )),
- WidgetSpan(
- alignment: PlaceholderAlignment.middle,
- child: GestureDetector(
- child: Text(
- '《${TranslationLoader.lanKeys!
- .privacyPolicy!.tr}》',
- style: TextStyle(
- color: AppColors.mainColor,
- fontSize: 20.sp)),
- onTap: () {
- Get.toNamed(Routers.webviewShowPage,
- arguments: {
- "url": XSConstantMacro
- .privacyPolicyURL,
- "title": '隐私政策'.tr
- });
- },
- )),
- ],
- )),
+ text: TranslationLoader.lanKeys!.readAndAgree!.tr,
+ style: TextStyle(
+ color: const Color(0xff333333), fontSize: 20.sp),
+ children: [
+ WidgetSpan(
+ alignment: PlaceholderAlignment.middle,
+ child: GestureDetector(
+ child: Text(
+ '《${TranslationLoader.lanKeys!.userAgreement!.tr}》',
+ style: TextStyle(
+ color: AppColors.mainColor,
+ fontSize: 20.sp)),
+ onTap: () {
+ Get.toNamed(Routers.webviewShowPage,
+ arguments: {
+ 'url': XSConstantMacro.userAgreementURL,
+ 'title': '用户协议'.tr
+ });
+ },
+ )),
+ WidgetSpan(
+ alignment: PlaceholderAlignment.middle,
+ child: GestureDetector(
+ child: Text(
+ '《${TranslationLoader.lanKeys!.privacyPolicy!.tr}》',
+ style: TextStyle(
+ color: AppColors.mainColor,
+ fontSize: 20.sp)),
+ onTap: () {
+ Get.toNamed(Routers.webviewShowPage,
+ arguments: {
+ 'url': XSConstantMacro.privacyPolicyURL,
+ 'title': '隐私政策'.tr
+ });
+ },
+ )),
+ ],
+ )),
)
],
),
),
),
- SizedBox(height: 15.w),
- Obx(() =>
- SubmitBtn(
- btnName: TranslationLoader.lanKeys!.login!.tr,
- fontSize: 28.sp,
- borderRadius: 20.w,
- padding: EdgeInsets.only(top: 25.w, bottom: 25.w),
- isDisabled: state.canNext.value,
- onClick: state.canNext.value
- ? () {
- if (state.agree.value == false) {
- logic.showToast('请先同意用户协议及隐私政策'.tr);
- return;
- } else {
- logic.login();
- }
- }
- : null)),
- SizedBox(height: 10.h),
- ElevatedButton(
- onPressed: () async {
- var data = await Get.toNamed(Routers.starLockRegisterPage);
- if (data != null) {
- state.emailOrPhoneController.text = data['phoneOrEmailStr'];
- logic.checkNext(state.emailOrPhoneController);
- state.pwdController.text = data['pwd'];
- logic.checkNext(state.pwdController);
- setState(() {});
- }
- },
- style: ElevatedButton.styleFrom(
- backgroundColor: AppColors.mainColor),
- child: Text(
- TranslationLoader.lanKeys!.register!.tr,
- style: TextStyle(fontSize: 22.sp, color: Colors.white),
- ),
- ),
- SizedBox(height: 5.w),
- Row(
- mainAxisAlignment: MainAxisAlignment.center,
- children: [
- GestureDetector(
- child: SizedBox(
- // width: 150.w,
- height: 50.h,
- // color: Colors.red,
- child: Center(
+ Padding(
+ padding: EdgeInsets.symmetric(horizontal: 40.w),
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ SizedBox(height: 5.w),
+ Obx(() => SubmitBtn(
+ btnName: TranslationLoader.lanKeys!.login!.tr,
+ fontSize: 28.sp,
+ borderRadius: 20.w,
+ padding: EdgeInsets.only(top: 25.w, bottom: 25.w),
+ isDisabled: state.canNext.value,
+ onClick: state.canNext.value
+ ? () {
+ if (state.agree.value == false) {
+ logic.showToast('请先同意用户协议及隐私政策'.tr);
+ return;
+ } else {
+ logic.login();
+ }
+ }
+ : null)),
+ SizedBox(height: 10.h),
+ SizedBox(
+ width: Get.width,
+ child: ElevatedButton(
+ onPressed: () async {
+ final dynamic data =
+ await Get.toNamed(Routers.starLockRegisterPage);
+ if (data != null) {
+ state.emailOrPhoneController.text =
+ data['phoneOrEmailStr'];
+ logic.checkNext(state.emailOrPhoneController);
+ state.pwdController.text = data['pwd'];
+ logic.checkNext(state.pwdController);
+ setState(() {});
+ }
+ },
+ style: ElevatedButton.styleFrom(
+ backgroundColor: AppColors.mainColor),
child: Text(
- '${TranslationLoader.lanKeys!.forgetPassword!.tr}?',
- style: TextStyle(
- fontSize: 22.sp, color: AppColors.mainColor)),
+ TranslationLoader.lanKeys!.register!.tr,
+ style: TextStyle(fontSize: 22.sp, color: Colors.white),
+ ),
),
),
- onTap: () {
- Navigator.pushNamed(
- context, Routers.starLockForgetPasswordPage);
- },
- ),
- Expanded(
- child: SizedBox(
- width: 10.sp,
- )),
- F.isLite
- ? Container()
- : GestureDetector(
- child: SizedBox(
- // width: 150.w,
- height: 50.h,
- // color: Colors.red,
- child: Center(
- child: Text('演示模式'.tr,
- style: TextStyle(
- fontSize: 22.sp,
- color: AppColors.mainColor)),
- ),
+ SizedBox(height: 5.w),
+ Row(
+ mainAxisAlignment: MainAxisAlignment.center,
+ children: [
+ GestureDetector(
+ child: SizedBox(
+ // width: 150.w,
+ height: 50.h,
+ // color: Colors.red,
+ child: Center(
+ child: Text(
+ '${TranslationLoader.lanKeys!.forgetPassword!.tr}?',
+ style: TextStyle(
+ fontSize: 22.sp,
+ color: AppColors.mainColor)),
+ ),
+ ),
+ onTap: () {
+ Navigator.pushNamed(
+ context, Routers.starLockForgetPasswordPage);
+ },
+ ),
+ Expanded(
+ child: SizedBox(
+ width: 10.sp,
+ )),
+ if (F.isLite)
+ Container()
+ else
+ GestureDetector(
+ child: SizedBox(
+ // width: 150.w,
+ height: 50.h,
+ // color: Colors.red,
+ child: Center(
+ child: Text('演示模式'.tr,
+ style: TextStyle(
+ fontSize: 22.sp,
+ color: AppColors.mainColor)),
+ ),
+ ),
+ onTap: () {
+ Get.toNamed(Routers.demoModeLockDetailPage);
+ },
+ )
+ ],
),
- onTap: () {
- Get.toNamed(Routers.demoModeLockDetailPage);
- },
- )
- ],
- ),
+ ],
+ ),
+ )
],
));
}
- Widget loginInput({TextEditingController? controller,
- List? inputFormatters,
- String? hintText,
- bool? isHaveLeftWidget,
- Widget? leftWidget,
- String? label,
- bool? isPwd,
- BlockStrCallback? onchangeAction}) {
+ Widget loginInput(
+ {TextEditingController? controller,
+ List? inputFormatters,
+ String? hintText,
+ bool? isHaveLeftWidget,
+ Widget? leftWidget,
+ String? label,
+ bool? isPwd,
+ BlockStrCallback? onchangeAction}) {
return Container(
width: 1.sp,
+ color: Colors.transparent,
child: Column(
- children: [
+ children: [
Row(
- children: [
+ children: [
Container(
color: Colors.red,
child: Image.asset(
diff --git a/lib/main/lockDetail/lockDetail/lockDetail_list_page.dart b/lib/main/lockDetail/lockDetail/lockDetail_list_page.dart
index c1941350..bac4a877 100755
--- a/lib/main/lockDetail/lockDetail/lockDetail_list_page.dart
+++ b/lib/main/lockDetail/lockDetail/lockDetail_list_page.dart
@@ -1,36 +1,20 @@
-import 'dart:async';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
-import 'package:intl/intl.dart';
-import 'package:star_lock/flavors.dart';
import 'package:star_lock/main/lockDetail/lockDetail/lockDetail_state.dart';
-import 'package:star_lock/tools/showTipView.dart';
import 'package:star_lock/tools/titleAppBar.dart';
-import 'package:star_lock/widget/flavors_img.dart';
-import '../../../appRouters.dart';
import '../../../app_settings/app_colors.dart';
-import '../../../blue/blue_manage.dart';
-import '../../../blue/io_tool/io_tool.dart';
-import '../../../common/XSConstantMacro/XSConstantMacro.dart';
-import '../../../tools/appRouteObserver.dart';
-import '../../../tools/commonDataManage.dart';
-import '../../../tools/dateTool.dart';
-import '../../../tools/eventBusEventManage.dart';
-import '../../../tools/storage.dart';
-import '../../../translations/trans_lib.dart';
-import '../../lockMian/entity/lockListInfo_entity.dart';
import 'lockDetail_logic.dart';
class LockDetailListPage extends StatefulWidget {
+
+ const LockDetailListPage({required this.title, required this.items, Key? key})
+ : super(key: key);
final String title;
final List items;
- const LockDetailListPage({Key? key, required this.title, required this.items})
- : super(key: key);
-
@override
State createState() => _LockDetailListPageState();
}
@@ -59,7 +43,7 @@ class _LockDetailListPageState extends State
body: ListView.builder(
padding: EdgeInsets.only(top: 15.h),
itemCount: widget.items.length,
- itemBuilder: (context, index) => widget.items[index]),
+ itemBuilder: (BuildContext context, int index) => widget.items[index]),
);
}
}
diff --git a/lib/main/lockDetail/lockDetail/lockDetail_logic.dart b/lib/main/lockDetail/lockDetail/lockDetail_logic.dart
index c079f792..bae84a18 100755
--- a/lib/main/lockDetail/lockDetail/lockDetail_logic.dart
+++ b/lib/main/lockDetail/lockDetail/lockDetail_logic.dart
@@ -504,8 +504,8 @@ class LockDetailLogic extends BaseGetXController {
void resetOpenDoorState() {
state.openLockBtnState.value = 0;
state.openDoorBtnisUneable.value = false;
- state.animationController!.reset();
- state.animationController!.forward();
+ state.animationController?.reset();
+ state.animationController?.forward();
eventBus.fire(RefreshLockDetailInfoDataEvent());
}
@@ -513,7 +513,6 @@ class LockDetailLogic extends BaseGetXController {
Future onReady() async {
super.onReady();
getServerDatetime();
-
await PermissionDialog.request(Permission.location);
await PermissionDialog.requestBluetooth();
}
diff --git a/lib/main/lockDetail/lockDetail/lockDetail_main_page.dart b/lib/main/lockDetail/lockDetail/lockDetail_main_page.dart
index eb1d8703..57a5b20a 100755
--- a/lib/main/lockDetail/lockDetail/lockDetail_main_page.dart
+++ b/lib/main/lockDetail/lockDetail/lockDetail_main_page.dart
@@ -32,7 +32,7 @@ class _LockDetailMainPageState extends State {
isOnlyOneData = obj["isOnlyOneData"];
return F.sw(
- defaultCall: () => Scaffold(
+ skyCall: () => Scaffold(
backgroundColor: Colors.white,
appBar: TitleAppBar(
barTitle: F.navTitle,
diff --git a/lib/main/lockDetail/lockDetail/lockDetail_page.dart b/lib/main/lockDetail/lockDetail/lockDetail_page.dart
index 9fc2b0fd..63d46fa0 100755
--- a/lib/main/lockDetail/lockDetail/lockDetail_page.dart
+++ b/lib/main/lockDetail/lockDetail/lockDetail_page.dart
@@ -145,7 +145,7 @@ class _LockDetailPageState extends State
@override
Widget build(BuildContext context) {
loadData();
- return F.sw(defaultCall: skWidget, xhjCall: xhjWidget);
+ return F.sw(skyCall: skWidget, xhjCall: xhjWidget);
}
//鑫泓佳布局
@@ -342,56 +342,72 @@ class _LockDetailPageState extends State
adminInfoView(center: false, max: false),
],
),
- Column(
- mainAxisSize: MainAxisSize.min,
- crossAxisAlignment: CrossAxisAlignment.start,
- children: [
- Row(
- mainAxisAlignment: MainAxisAlignment.end,
- children: [
- Image.asset(
- showElectricIcon(state.electricQuantity.value),
- width: 30.w,
- height: 24.w),
- SizedBox(width: 2.w),
- Text('${state.electricQuantity.value}%',
- style: TextStyle(
- fontSize: 18.sp,
- color: AppColors.darkGrayTextColor)),
- SizedBox(width: 2.w),
- Icon(
- Icons.info, // 使用内置的 warning 图标,它是一个叹号
- color: AppColors.mainColor, // 设置图标颜色为红色
- size: 25.w, // 设置图标大小为 30
+ GestureDetector(
+ onTap: () {
+ ShowTipView().showSureAlertDialog(
+ "${"锁电量更新时间:".tr}${DateTool().dateToYMDHNString(state.keyInfos.value.electricQuantityDate!.toString())}");
+ },
+ child: Column(
+ mainAxisSize: MainAxisSize.min,
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Row(
+ mainAxisAlignment: MainAxisAlignment.end,
+ children: [
+ Image.asset(
+ showElectricIcon(state.electricQuantity.value),
+ width: 30.w,
+ height: 24.w),
+ SizedBox(width: 2.w),
+ Text('${state.electricQuantity.value}%',
+ style: TextStyle(
+ fontSize: 18.sp,
+ color: AppColors.darkGrayTextColor)),
+ SizedBox(width: 2.w),
+ Icon(
+ Icons.info, // 使用内置的 warning 图标,它是一个叹号
+ color: AppColors.mainColor, // 设置图标颜色为红色
+ size: 25.w, // 设置图标大小为 30
+ ),
+ SizedBox(width: 20.w),
+ ],
+ ),
+ SizedBox(
+ height: 15.h,
+ ),
+ Visibility(
+ visible: state.keyInfos.value.lockFeature!
+ .isSupportBackupBattery ==
+ 1,
+ child: Row(
+ mainAxisAlignment: MainAxisAlignment.end,
+ children: [
+ FlavorsImg(
+ child: Image.asset(
+ showElectricIcon(
+ state.electricQuantityStandby.value),
+ width: 30.w,
+ height: 24.w),
+ ),
+ SizedBox(width: 2.w),
+ Text('${state.electricQuantityStandby.value}%',
+ style: TextStyle(
+ fontSize: 18.sp,
+ color: AppColors.darkGrayTextColor)),
+ SizedBox(width: 2.w),
+ FlavorsImg(
+ child: Icon(
+ Icons.info, // 使用内置的 warning 图标,它是一个叹号
+ color: AppColors.mainColor, // 设置图标颜色为红色
+ size: 25.w, // 设置图标大小为 30
+ ),
+ ),
+ SizedBox(width: 20.w),
+ ],
),
- SizedBox(width: 20.w),
- ],
- ),
- SizedBox(
- height: 15.h,
- ),
- Row(
- mainAxisAlignment: MainAxisAlignment.end,
- children: [
- Image.asset(
- showElectricIcon(state.electricQuantity.value),
- width: 30.w,
- height: 24.w),
- SizedBox(width: 2.w),
- Text('--%',
- style: TextStyle(
- fontSize: 18.sp,
- color: AppColors.darkGrayTextColor)),
- SizedBox(width: 2.w),
- Icon(
- Icons.info, // 使用内置的 warning 图标,它是一个叹号
- color: AppColors.mainColor, // 设置图标颜色为红色
- size: 25.w, // 设置图标大小为 30
- ),
- SizedBox(width: 20.w),
- ],
- )
- ],
+ )
+ ],
+ ),
)
],
),
@@ -480,7 +496,7 @@ class _LockDetailPageState extends State
return Column(
children: [
F.sw(
- defaultCall: () => SizedBox(height: 50.h),
+ skyCall: () => SizedBox(height: 50.h),
xhjCall: () => Padding(
padding: EdgeInsets.only(
top: 12.h,
@@ -574,7 +590,7 @@ class _LockDetailPageState extends State
],
),
F.sw(
- defaultCall: () => SizedBox(height: 30.h),
+ skyCall: () => SizedBox(height: 30.h),
xhjCall: () => SizedBox(height: 15.h),
),
Container(
@@ -689,7 +705,7 @@ class _LockDetailPageState extends State
SizedBox(
height: 30.h,
),
- F.sw(defaultCall: adminInfoView, xhjCall: () => const SizedBox()),
+ F.sw(skyCall: adminInfoView, xhjCall: () => const SizedBox()),
SizedBox(
height: 20.h,
),
@@ -1137,7 +1153,7 @@ class _LockDetailPageState extends State
Widget bottomItem(
String iconUrl, String name, bool bottomBtnisEable, Function() onClick) {
final Widget child = F.sw(
- defaultCall: () => Container(
+ skyCall: () => Container(
color: Colors.white,
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
diff --git a/lib/main/lockDetail/lockSet/lockSet/lockSet_logic.dart b/lib/main/lockDetail/lockSet/lockSet/lockSet_logic.dart
index e4134749..46aebd15 100755
--- a/lib/main/lockDetail/lockSet/lockSet/lockSet_logic.dart
+++ b/lib/main/lockDetail/lockSet/lockSet/lockSet_logic.dart
@@ -4,6 +4,8 @@ import 'package:flutter/scheduler.dart';
import 'package:flutter_blue_plus/flutter_blue_plus.dart';
import 'package:get/get.dart';
import 'package:star_lock/blue/io_type.dart';
+import 'package:star_lock/login/login/entity/LoginEntity.dart';
+import 'package:star_lock/main/lockMian/entity/lockListInfo_entity.dart';
import 'package:star_lock/tools/showTipView.dart';
import '../../../../blue/blue_manage.dart';
@@ -14,7 +16,9 @@ import '../../../../blue/io_reply.dart';
import '../../../../blue/io_tool/io_tool.dart';
import '../../../../blue/io_tool/manager_event_bus.dart';
import '../../../../blue/sender_manage.dart';
-import '../../../../login/login/entity/LoginEntity.dart';
+
+import '../../../../flavors.dart';
+
import '../../../../network/api_repository.dart';
import '../../../../tools/baseGetXController.dart';
import '../../../../tools/commonDataManage.dart';
@@ -33,9 +37,10 @@ class LockSetLogic extends BaseGetXController {
// 监听蓝牙协议返回结果
late StreamSubscription _replySubscription;
+
void _initReplySubscription() {
_replySubscription =
- EventBusManager().eventBus!.on().listen((reply) async {
+ EventBusManager().eventBus!.on().listen((Reply reply) async {
// 删除用户
// if (reply is DeletUserReply) {
// _replyDeletUserKey(reply);
@@ -107,8 +112,8 @@ class LockSetLogic extends BaseGetXController {
// 恢复出厂设置数据解析
Future _replyFactoryDataResetKey(Reply reply) async {
- var token = reply.data.sublist(2, 6);
- var saveStrList = changeIntListToStringList(token);
+ List token = reply.data.sublist(2, 6);
+ List saveStrList = changeIntListToStringList(token);
Storage.setStringList(saveBlueToken, saveStrList);
int status = reply.data[6];
@@ -121,13 +126,15 @@ class LockSetLogic extends BaseGetXController {
break;
case 0x06:
//无权限
- var privateKey = await Storage.getStringList(saveBluePrivateKey);
+ List? privateKey =
+ await Storage.getStringList(saveBluePrivateKey);
List getPrivateKeyList = changeStringListToIntList(privateKey!);
- var publicKey = await Storage.getStringList(saveBluePublicKey);
+ List? publicKey =
+ await Storage.getStringList(saveBluePublicKey);
List