diff --git a/lib/main/lockMian/lockList/lockList_logic.dart b/lib/main/lockMian/lockList/lockList_logic.dart index 0d307de7..fb15f26f 100755 --- a/lib/main/lockMian/lockList/lockList_logic.dart +++ b/lib/main/lockMian/lockList/lockList_logic.dart @@ -96,8 +96,8 @@ class LockListLogic extends BaseGetXController { userID: await Storage.getUid(), keyID: '1', needAuthor: 1, - publicKey: state.lockListInfoItemEntity.bluetooth!.publicKey!.cast(), - privateKey: state.lockListInfoItemEntity.bluetooth!.privateKey!.cast(), + publicKey: state.lockListInfoItemEntity.value.bluetooth!.publicKey!.cast(), + privateKey: state.lockListInfoItemEntity.value.bluetooth!.privateKey!.cast(), token: getTokenList); break; case 0x07: @@ -173,7 +173,7 @@ class LockListLogic extends BaseGetXController { /// 以下为删除逻辑 void deleyLockLogicOfRoles() { - if (state.lockListInfoItemEntity.isLockOwner == 1) { + if (state.lockListInfoItemEntity.value.isLockOwner == 1) { // 超级管理员必须通过连接蓝牙删除 showTipView.showIosTipWithContentDialog('删除锁后,所有信息都会一起删除,确定删除锁吗?'.tr, () { // 删除锁 @@ -181,7 +181,7 @@ class LockListLogic extends BaseGetXController { showTipView.resetGetController(); showTipView.showTFViewAlertDialog(state.passwordTF, '请输入登录密码'.tr, '请输入登录密码'.tr, checkLoginPassword); }); - } else if (state.lockListInfoItemEntity.keyRight == 1) { + } else if (state.lockListInfoItemEntity.value.keyRight == 1) { // 授权管理员弹框提示 showTipView.showDeleteAdministratorIsHaveAllDataDialog('同时删除其发送的所有钥匙,钥匙删除后不能恢复'.tr, (bool a) { // 授权管理员删除 @@ -208,7 +208,7 @@ class LockListLogic extends BaseGetXController { // 当是锁拥有者的时候,删除锁 Future deletLockInfoData() async { final LockListInfoEntity entity = await ApiRepository.to.deletOwnerLockData( - lockId: state.lockListInfoItemEntity.lockId!, + lockId: state.lockListInfoItemEntity.value.lockId!, ); if (entity.errorCode!.codeIsSuccessful) { BlueManage().connectDeviceMacAddress = ''; @@ -221,8 +221,8 @@ class LockListLogic extends BaseGetXController { // 普通用户或者授权管理员删除钥匙 Future deletKeyData() async { final LockListInfoEntity entity = await ApiRepository.to.deletOwnerKeyData( - lockId: state.lockListInfoItemEntity.lockId.toString(), - keyId: state.lockListInfoItemEntity.keyId.toString(), + lockId: state.lockListInfoItemEntity.value.lockId.toString(), + keyId: state.lockListInfoItemEntity.value.keyId.toString(), includeUnderlings: state.deleteAdministratorIsHaveAllData.value == true ? 1 : 0); if (entity.errorCode!.codeIsSuccessful) { BlueManage().connectDeviceMacAddress = ''; @@ -241,38 +241,35 @@ class LockListLogic extends BaseGetXController { dismissEasyLoading(); showDeletAlertTipDialog(); }); - BlueManage().blueSendData(state.lockListInfoItemEntity.lockName!, (BluetoothConnectionState connectionState) async { + BlueManage().blueSendData(state.lockListInfoItemEntity.value.lockName!, (BluetoothConnectionState connectionState) + async { if (connectionState == BluetoothConnectionState.connected) { - final List publicKeyData = state.lockListInfoItemEntity.bluetooth!.publicKey!.cast(); + final List publicKeyData = state.lockListInfoItemEntity.value.bluetooth!.publicKey!.cast(); final List saveStrList = changeIntListToStringList(publicKeyData); await Storage.setStringList(saveBluePublicKey, saveStrList); // 私钥 final List? privateKey = await Storage.getStringList(saveBluePrivateKey); - final List privateKeyData = state.lockListInfoItemEntity.bluetooth!.privateKey!.cast(); + final List privateKeyData = state.lockListInfoItemEntity.value.bluetooth!.privateKey!.cast(); final List savePrivateKeyList = changeIntListToStringList(privateKeyData); await Storage.setStringList(saveBluePrivateKey, savePrivateKeyList); // signKey - final List signKeyData = state.lockListInfoItemEntity.bluetooth!.signKey!.cast(); + final List signKeyData = state.lockListInfoItemEntity.value.bluetooth!.signKey!.cast(); final List saveSignKeyList = changeIntListToStringList(signKeyData); await Storage.setStringList(saveBlueSignKey, saveSignKeyList); final List saveTokenList = changeIntListToStringList([0, 0, 0, 0]); await Storage.setStringList(saveBlueToken, saveTokenList); - final List getPrivateKeyList = changeStringListToIntList(privateKey!); - - final List? publicKey = await Storage.getStringList(saveBluePublicKey); - final List publicKeyDataList = changeStringListToIntList(publicKey!); IoSenderManage.senderFactoryDataReset( lockID: BlueManage().connectDeviceName, userID: await Storage.getUid(), keyID: '1', needAuthor: 1, - publicKey: publicKeyDataList, - privateKey: getPrivateKeyList, + publicKey: publicKeyData, + privateKey: privateKeyData, token: [0, 0, 0, 0]); } else if (connectionState == BluetoothConnectionState.disconnected) { dismissEasyLoading(); diff --git a/lib/main/lockMian/lockList/lockList_page.dart b/lib/main/lockMian/lockList/lockList_page.dart index 55cb149a..2bade0dc 100755 --- a/lib/main/lockMian/lockList/lockList_page.dart +++ b/lib/main/lockMian/lockList/lockList_page.dart @@ -91,7 +91,8 @@ class _LockListPageState extends State with RouteAware { children: [ SlidableAction( onPressed: (BuildContext context) { - state.lockListInfoItemEntity = keyInfo; + state.lockListInfoItemEntity.value = keyInfo; + state.lockListInfoItemEntity.refresh(); logic.deleyLockLogicOfRoles(); }, backgroundColor: Colors.red, diff --git a/lib/main/lockMian/lockList/lockList_state.dart b/lib/main/lockMian/lockList/lockList_state.dart index 1b072405..223d99c7 100755 --- a/lib/main/lockMian/lockList/lockList_state.dart +++ b/lib/main/lockMian/lockList/lockList_state.dart @@ -7,7 +7,8 @@ import '../entity/lockListInfo_entity.dart'; class LockListState{ RxBool itemStatusIsEable = false.obs; // 列表里面item是否能点击 - LockListInfoItemEntity lockListInfoItemEntity = LockListInfoItemEntity(); // 当前选中要删除的item + // 修改后 + Rx lockListInfoItemEntity = LockListInfoItemEntity().obs; // 当前选中要删除的item TextEditingController passwordTF = TextEditingController(); RxBool deleteAdministratorIsHaveAllData = false.obs; // 删除管理员是否有所有数据 RxBool ifCurrentScreen = true.obs; // 是否是当前界面,用于判断是否需要针对当前界面进行展示 diff --git a/lib/main/lockMian/lockList/lockList_xhj_page.dart b/lib/main/lockMian/lockList/lockList_xhj_page.dart index 790e985e..d799c903 100755 --- a/lib/main/lockMian/lockList/lockList_xhj_page.dart +++ b/lib/main/lockMian/lockList/lockList_xhj_page.dart @@ -192,7 +192,8 @@ class _LockListXHJPageState extends State with RouteAware { children: [ SlidableAction( onPressed: (BuildContext context) { - state.lockListInfoItemEntity = keyInfo; + state.lockListInfoItemEntity.value = keyInfo; + state.lockListInfoItemEntity.refresh(); logic.deleyLockLogicOfRoles(); }, backgroundColor: Colors.red,