diff --git a/star_lock/lib/main/lockDetail/otherTypeKey/addFace/addFace_page.dart b/star_lock/lib/main/lockDetail/otherTypeKey/addFace/addFace_page.dart deleted file mode 100644 index 4bee1fa4..00000000 --- a/star_lock/lib/main/lockDetail/otherTypeKey/addFace/addFace_page.dart +++ /dev/null @@ -1,75 +0,0 @@ -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/submitBtn.dart'; -import '../../../../../tools/titleAppBar.dart'; -import '../../../../../translations/trans_lib.dart'; - -class AddFaceTipPage extends StatefulWidget { - const AddFaceTipPage({Key? key}) : super(key: key); - - @override - State createState() => _AddFaceTipPageState(); -} - -class _AddFaceTipPageState extends State { - @override - Widget build(BuildContext context) { - return Scaffold( - backgroundColor: Colors.white, - appBar: TitleAppBar( - barTitle: TranslationLoader.lanKeys!.addLock!.tr, - haveBack: true, - backgroundColor: AppColors.mainColor), - body: ListView( - // mainAxisAlignment: MainAxisAlignment.center, - // crossAxisAlignment: CrossAxisAlignment.center, - children: [ - SizedBox( - height: 50.h, - ), - Image.asset( - 'images/main/icon_main_addFace.png', - width: 100.w, - height: 457.h, - fit: BoxFit.fitHeight, - ), - SizedBox( - height: 60.h, - ), - Container( - padding: EdgeInsets.only(left: 20.w, right: 20.w), - child: Row( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - Expanded( - child: Text( - "请单人正对门锁,距离一个成年人手臂长度(约0.6米).\n保持脸部无遮挡,露出五官", - // TranslationLoader.lanKeys!.lightTouchScreenTip!.tr, - textAlign: TextAlign.center, - maxLines: null, - style: - TextStyle(fontSize: 24.sp, fontWeight: FontWeight.w600), - ), - ), - ], - ), - ), - SizedBox( - height: 120.h, - ), - Container( - padding: EdgeInsets.only(left: 20.w, right: 20.w), - child: SubmitBtn( - btnName: "开始添加", //TranslationLoader.lanKeys!.next!.tr, - borderRadius: 20.w, - onClick: () {}), - ), - ], - ), - ); - } -} diff --git a/star_lock/lib/main/lockDetail/otherTypeKey/addFingerprint/addFingerprint/addFingerprint_entity.dart b/star_lock/lib/main/lockDetail/otherTypeKey/addFingerprint/addFingerprint/addFingerprint_entity.dart deleted file mode 100644 index 82a120f4..00000000 --- a/star_lock/lib/main/lockDetail/otherTypeKey/addFingerprint/addFingerprint/addFingerprint_entity.dart +++ /dev/null @@ -1,43 +0,0 @@ -class AddFingerprintEntity { - int? errorCode; - String? description; - String? errorMsg; - Data? data; - - AddFingerprintEntity( - {this.errorCode, this.description, this.errorMsg, this.data}); - - AddFingerprintEntity.fromJson(Map json) { - errorCode = json['errorCode']; - description = json['description']; - errorMsg = json['errorMsg']; - data = json['data'] != null ? Data.fromJson(json['data']) : null; - } - - Map toJson() { - final Map data = {}; - data['errorCode'] = errorCode; - data['description'] = description; - data['errorMsg'] = errorMsg; - if (this.data != null) { - data['data'] = this.data!.toJson(); - } - return data; - } -} - -class Data { - int? fingerprintId; - - Data({this.fingerprintId}); - - Data.fromJson(Map json) { - fingerprintId = json['fingerprintId']; - } - - Map toJson() { - final Map data = {}; - data['fingerprintId'] = fingerprintId; - return data; - } -} \ No newline at end of file diff --git a/star_lock/lib/main/lockDetail/otherTypeKey/addFingerprint/addFingerprint/addFingerprint_logic.dart b/star_lock/lib/main/lockDetail/otherTypeKey/addFingerprint/addFingerprint/addFingerprint_logic.dart deleted file mode 100644 index 7a753bf1..00000000 --- a/star_lock/lib/main/lockDetail/otherTypeKey/addFingerprint/addFingerprint/addFingerprint_logic.dart +++ /dev/null @@ -1,365 +0,0 @@ - -import 'dart:async'; - -import 'package:flutter_reactive_ble/flutter_reactive_ble.dart'; -import 'package:get/get.dart'; -import 'package:get_storage/get_storage.dart'; -import 'package:star_lock/blue/io_type.dart'; - -import '../../../../../blue/blue_manage.dart'; -import '../../../../../blue/io_protocol/io_addFingerprint.dart'; -import '../../../../../blue/io_protocol/io_addStressFingerprint.dart'; -import '../../../../../blue/io_reply.dart'; -import '../../../../../blue/io_tool/io_manager.dart'; -import '../../../../../blue/io_tool/io_tool.dart'; -import '../../../../../blue/io_tool/manager_event_bus.dart'; -import '../../../../../blue/sender_manage.dart'; -import '../../../../../network/api_repository.dart'; -import '../../../../../tools/baseGetXController.dart'; -import '../../../../../tools/eventBusEventManage.dart'; -import '../../../../../tools/storage.dart'; -import '../../../../../tools/toast.dart'; -import 'addFingerprint_state.dart'; - -class AddFingerprintLogic extends BaseGetXController { - final AddFingerprintState state = AddFingerprintState(); - - // 监听设备返回的数据 - late StreamSubscription _replySubscription; - void _initReplySubscription() { - _replySubscription = EventBusManager().eventBus!.on().listen((reply) async { - // 添加指纹开始 - if(reply is SenderAddFingerprintReply) { - _replyAddFingerprintBegin(reply); - } - - // 添加指纹过程 - if(reply is SenderAddFingerprintProcessReply) { - _replyAddFingerprintProcess(reply); - } - - // 添加指纹确认 - if(reply is SenderAddFingerprintConfirmationReply) { - _replyAddFingerprintConfirmation(reply); - } - - // 添加胁迫指纹 - if(reply is SenderAddStressFingerprintReply) { - _replyAddStressFingerprint(reply); - } - }); - } - - Future _replyAddFingerprintBegin(Reply reply) async { - // var token = reply.data.sublist(2, 6); - // var saveStrList = changeIntListToStringList(token); - // print("_replyAddFingerprintReplyToken:$token"); - // Storage.setStringList(saveBlueToken, saveStrList); - - int status = reply.data[2]; - print("status:$status"); - - switch(status){ - case 0x00: - //成功 - print("${reply.commandType!.typeValue} 数据解析成功"); - state.ifConnectScuess.value = true; - state.fingerprintNumber.value = reply.data.last.toString(); - break; - case 0x06: - //无权限 - print("${reply.commandType!.typeValue} 需要鉴权"); - var privateKey = await Storage.getStringList(saveBluePrivateKey); - List getPrivateKeyList = changeStringListToIntList(privateKey!); - - var publicKey = await Storage.getStringList(saveBluePublicKey); - List publicKeyDataList = changeStringListToIntList(publicKey!); - - var token = await Storage.getStringList(saveBlueToken); - List getTokenList = changeStringListToIntList(token!); - - IoSenderManage.senderAddFingerprintCommand( - keyID:"1", - userID:await Storage.getUid(), - fingerNo:1, - useCountLimit:0xff, - startTime:0x11223344, - endTime:0x11223344, - needAuthor:1, - publicKey:publicKeyDataList, - privateKey:getPrivateKeyList, - token: getTokenList, - ); - break; - case 0x07: - //无权限 - print("${reply.commandType!.typeValue} 用户无权限"); - - break; - case 0x09: - // 权限校验错误 - print("${reply.commandType!.typeValue} 权限校验错误"); - - break; - default: - //失败 - print("${reply.commandType!.typeValue} 失败"); - - break; - } - } - - Future _replyAddFingerprintProcess(Reply reply) async { - var token = reply.data.sublist(2, 6); - var saveStrList = changeIntListToStringList(token); - print("_replyAddFingerprintReplyToken:$token"); - Storage.setStringList(saveBlueToken, saveStrList); - - int status = reply.data[2]; - print("33 status:$status"); - - switch(status){ - case 0x00: - //成功 - print("${reply.commandType!.typeValue} 数据解析成功"); - if(reply.data[5] == 255){ - // 注册指纹失败 - print("${reply.commandType!.typeValue} 注册指纹失败"); - Toast.show(msg: "添加失败"); - Get.close(2); - }else{ - state.addFingerprintProcessNumber.value++; - print("state.addFingerprintProcessNumber.value:${state.addFingerprintProcessNumber.value}"); - } - break; - case 0x06: - //需要权限 - - break; - case 0x07: - //无权限 - print("${reply.commandType!.typeValue} 用户无权限"); - - break; - case 0x09: - // 权限校验错误 - print("${reply.commandType!.typeValue} 权限校验错误"); - - break; - default: - //失败 - print("${reply.commandType!.typeValue} 失败"); - - break; - } - } - - Future _replyAddFingerprintConfirmation(Reply reply) async { - // var token = reply.data.sublist(2, 6); - // var saveStrList = changeIntListToStringList(token); - // print("_replyAddFingerprintReplyToken:$token"); - // Storage.setStringList(saveBlueToken, saveStrList); - - int status = reply.data[2]; - print("status:$status"); - - switch(status){ - case 0x00: - //成功 - print("${reply.commandType!.typeValue} 数据解析成功"); - // print("添加指纹确认成功,调用添加指纹接口"); - if(state.isCoerced.value == "2"){ - // 非胁迫指纹 - addFingerprintsData(reply.data[6].toString()); - }else{ - // 如果是胁迫指纹在 添加完之后以后再调用添加胁迫指纹的 - senderAddStressFingerprint(); - } - break; - case 0x06: - //需要权限 - - break; - case 0x07: - //无权限 - print("${reply.commandType!.typeValue} 用户无权限"); - - break; - case 0x09: - // 权限校验错误 - print("${reply.commandType!.typeValue} 权限校验错误"); - - break; - default: - //失败 - print("${reply.commandType!.typeValue} 失败"); - - break; - } - } - - Future _replyAddStressFingerprint(Reply reply) async { - // var token = reply.data.sublist(2, 6); - // var saveStrList = changeIntListToStringList(token); - // print("_replyAddFingerprintReplyToken:$token"); - // Storage.setStringList(saveBlueToken, saveStrList); - - int status = reply.data[2]; - print("status:$status"); - - switch(status){ - case 0x00: - //成功 - print("${reply.commandType!.typeValue} 数据解析成功"); - // print("添加指纹确认成功,调用添加指纹接口"); - addFingerprintsData(reply.data[6].toString()); - break; - case 0x06: - //需要权限 - - break; - case 0x07: - //无权限 - print("${reply.commandType!.typeValue} 用户无权限"); - - break; - case 0x09: - // 权限校验错误 - print("${reply.commandType!.typeValue} 权限校验错误"); - - break; - default: - //失败 - print("${reply.commandType!.typeValue} 失败"); - - break; - } - } - - // 添加指纹开始 - Future senderAddFingerprint() async { - BlueManage().judgeReconnect(BlueManage().connectDeviceMacAddress, BlueManage().connectDeviceName, (DeviceConnectionState deviceConnectionState) async { - if (deviceConnectionState == DeviceConnectionState.connected){ - var publicKey = await Storage.getStringList(saveBluePublicKey); - List publicKeyDataList = changeStringListToIntList(publicKey!); - - var privateKey = await Storage.getStringList(saveBluePrivateKey); - List getPrivateKeyList = changeStringListToIntList(privateKey!); - - var token = await Storage.getStringList(saveBlueToken); - List getTokenList = changeStringListToIntList(token!); - print("openDoorTokenPubToken:$getTokenList state.startDate.value:${state.startDate.value}"); - - IoSenderManage.senderAddFingerprintCommand( - keyID:"1", - userID:await Storage.getUid(), - fingerNo:1, - useCountLimit:0xff, - startTime:0x11223344, - endTime:0x11223344, - // startTime:int.parse(state.startDate.value)~/1000, - // endTime:int.parse(state.endDate.value)~/1000, - needAuthor:1, - publicKey:publicKeyDataList, - privateKey:getPrivateKeyList, - token: getTokenList, - ); - } - }); - } - - // 添加胁迫指纹 - Future senderAddStressFingerprint() async { - BlueManage().judgeReconnect(BlueManage().connectDeviceMacAddress, BlueManage().connectDeviceName, (DeviceConnectionState deviceConnectionState) async { - if (deviceConnectionState == DeviceConnectionState.connected){ - var publicKey = await Storage.getStringList(saveBluePublicKey); - List publicKeyDataList = changeStringListToIntList(publicKey!); - - var privateKey = await Storage.getStringList(saveBluePrivateKey); - List getPrivateKeyList = changeStringListToIntList(privateKey!); - - var token = await Storage.getStringList(saveBlueToken); - List getTokenList = changeStringListToIntList(token!); - print("openDoorTokenPubToken:$getTokenList"); - - IoSenderManage.senderAddStressFingerprintCommand( - keyID:"1", - userID:await Storage.getUid(), - fingerNo:1, - useCountLimit:1, - startTime:0x11223344, - endTime:0x11223344, - // startTime:int.parse(state.startDate.value)~/1000, - // endTime:int.parse(state.endDate.value)~/1000, - needAuthor:1, - publicKey:publicKeyDataList, - privateKey:getPrivateKeyList, - token: getTokenList, - ); - } - }); - } - - // 添加指纹 - void addFingerprintsData(String fingerprintUserNo) async{ - var entity = await ApiRepository.to.addFingerprintsData( - lockId: state.lockId.value.toString(), - endDate: state.endDate.value, - addType:state.addType.value, - fingerprintName: state.fingerprintName.value, - fingerprintNumber: "123456", - fingerprintType: state.fingerprintType.value, - isCoerced: state.isCoerced.value, - startDate: state.startDate.value, - weekDay: state.weekDay.value, - ); - if(entity.errorCode!.codeIsSuccessful){ - Toast.show(msg: "添加成功"); - updateFingerprintUserNoLoadData(entity.data!.fingerprintId.toString(), fingerprintUserNo); - } - } - - // 更新指纹用户账号 - void updateFingerprintUserNoLoadData(String fingerprintId, String fingerprintUserNo) async{ - var entity = await ApiRepository.to.updateFingerprintUserNoLoadData( - fingerprintId: fingerprintId, - lockId: state.lockId.value.toString(), - fingerprintUserNo: fingerprintUserNo, - ); - if(entity.errorCode!.codeIsSuccessful){ - Toast.show(msg: "添加成功"); - if(state.fromType.value == 2){ - // 回调指纹号 - eventBus.fire(ChickInAddStaffCardAndFingerprintBlockNumberEvent(fingerprintId)); - }else if(state.fromType.value == 1){ - eventBus.fire(OtherTypeRefreshListEvent()); - } - Get.close(2); - } - } - - @override - void onReady() { - // TODO: implement onReady - super.onReady(); - - _initReplySubscription(); - } - - @override - void onInit() { - // TODO: implement onInit - super.onInit(); - - senderAddFingerprint(); - } - - @override - void onClose() { - // TODO: implement onClose - super.onClose(); - - _replySubscription.cancel(); - } - -} \ No newline at end of file diff --git a/star_lock/lib/main/lockDetail/otherTypeKey/addFingerprint/addFingerprint/addFingerprint_page.dart b/star_lock/lib/main/lockDetail/otherTypeKey/addFingerprint/addFingerprint/addFingerprint_page.dart deleted file mode 100644 index 939be283..00000000 --- a/star_lock/lib/main/lockDetail/otherTypeKey/addFingerprint/addFingerprint/addFingerprint_page.dart +++ /dev/null @@ -1,141 +0,0 @@ - -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/submitBtn.dart'; -import '../../../../../tools/titleAppBar.dart'; -import '../../../../../translations/trans_lib.dart'; -import 'addFingerprint_logic.dart'; - -class AddFingerprintPage extends StatefulWidget { - const AddFingerprintPage({Key? key}) : super(key: key); - - @override - State createState() => _AddFingerprintPageState(); -} - -class _AddFingerprintPageState extends State { - final logic = Get.put(AddFingerprintLogic()); - final state = Get.find().state; - - @override - Widget build(BuildContext context) { - return Scaffold( - backgroundColor: Colors.white, - appBar: TitleAppBar( - barTitle: TranslationLoader.lanKeys!.addLock!.tr, - haveBack: true, - backgroundColor: AppColors.mainColor), - body: ListView( - // mainAxisAlignment: MainAxisAlignment.center, - // crossAxisAlignment: CrossAxisAlignment.center, - children: [ - SizedBox( - height: 50.h, - ), - Obx(() => Visibility( - visible:logic.state.ifConnectScuess.value, - child: Container( - padding: EdgeInsets.only(left: 20.w, right: 20.w), - child: Column( - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Expanded( - child: Text( - "请将您的手指按下", - // TranslationLoader.lanKeys!.lightTouchScreenTip!.tr, - textAlign: TextAlign.center, - maxLines:null, - style: TextStyle(fontSize: 24.sp, fontWeight: FontWeight.w600), - ), - ), - ], - ), - SizedBox(height: 10.h), - Text( - "(${state.addFingerprintProcessNumber.value}/4)", - // TranslationLoader.lanKeys!.lightTouchScreenTip!.tr, - textAlign: TextAlign.center, - maxLines:null, - style: TextStyle(fontSize: 24.sp), - ), - ], - ), - ), - )), - Obx(() => Visibility( - visible:!logic.state.ifConnectScuess.value, - child: Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Expanded( - child: Text( - "尝试连接设备......", - // TranslationLoader.lanKeys!.lightTouchScreenTip!.tr, - textAlign: TextAlign.center, - maxLines:null, - style: TextStyle(fontSize: 24.sp, fontWeight: FontWeight.w600), - ), - ), - ], - ), - )), - SizedBox( - height: 100.h, - ), - Obx(() => Image.asset( - getIconNumber(state.addFingerprintProcessNumber.value), - width: 185.w, - height: 295.h, - ),), - SizedBox( - height: 120.h, - ), - Container( - margin: EdgeInsets.all(10.w), - child: Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Expanded( - child: Text( - "根据提示,抬起手指后再进行下一次指纹采集", - // TranslationLoader.lanKeys!.lightTouchScreenTip!.tr, - textAlign: TextAlign.center, - maxLines:null, - style: TextStyle(fontSize: 24.sp), - ), - ), - ], - ), - ), - ], - ), - ); - } - - String getIconNumber(int number){ - switch(number){ - case 1: - return 'images/main/icon_addFingerprint_fingerprint_two.png'; - break; - case 2: - return 'images/main/icon_addFingerprint_fingerprint_three.png'; - break; - case 3: - return 'images/main/icon_addFingerprint_fingerprint_four.png'; - break; - case 4: - return 'images/main/icon_addFingerprint_fingerprint_five.png'; - break; - default: - return 'images/main/icon_addFingerprint_fingerprint_one.png'; - break; - } - } - -} diff --git a/star_lock/lib/main/lockDetail/otherTypeKey/addFingerprint/addFingerprint/addFingerprint_state.dart b/star_lock/lib/main/lockDetail/otherTypeKey/addFingerprint/addFingerprint/addFingerprint_state.dart deleted file mode 100644 index b64e3e69..00000000 --- a/star_lock/lib/main/lockDetail/otherTypeKey/addFingerprint/addFingerprint/addFingerprint_state.dart +++ /dev/null @@ -1,32 +0,0 @@ - -import 'package:get/get.dart'; - -class AddFingerprintState{ - var ifConnectScuess = false.obs; - var addFingerprintProcessNumber = 0.obs; - final lockId = 0.obs; - final endDate = "".obs; - final addType = "".obs; - final fingerprintName = "".obs; - final fingerprintNumber = "".obs; - final fingerprintType = "".obs; - final isCoerced = "".obs; - final startDate = "".obs; - final weekDay = [].obs; - final fromType = 1.obs; - - AddFingerprintState() { - Map map = Get.arguments; - lockId.value = map["lockId"]; - endDate.value = map["endDate"]; - addType.value = map["addType"]; - fingerprintName.value = map["fingerprintName"]; - fingerprintNumber.value = map["fingerprintNumber"]; - fingerprintType.value = map["fingerprintType"]; - isCoerced.value = map["isCoerced"]; - startDate.value = map["startDate"]; - lockId.value = map["lockId"]; - weekDay.value = map["weekDay"]; - fromType.value = map["fromType"]; - } -} \ No newline at end of file diff --git a/star_lock/lib/main/lockDetail/otherTypeKey/addFingerprint/addFingerprintTip/addFingerprintTip_logic.dart b/star_lock/lib/main/lockDetail/otherTypeKey/addFingerprint/addFingerprintTip/addFingerprintTip_logic.dart deleted file mode 100644 index 8135cac5..00000000 --- a/star_lock/lib/main/lockDetail/otherTypeKey/addFingerprint/addFingerprintTip/addFingerprintTip_logic.dart +++ /dev/null @@ -1,9 +0,0 @@ - - -import 'package:star_lock/tools/baseGetXController.dart'; - -import 'addFingerprintTip_state.dart'; - -class AddFingerprintTipLogic extends BaseGetXController{ - AddFingerprintTipState state = AddFingerprintTipState(); -} \ No newline at end of file diff --git a/star_lock/lib/main/lockDetail/otherTypeKey/addFingerprint/addFingerprintTip/addFingerprintTip_page.dart b/star_lock/lib/main/lockDetail/otherTypeKey/addFingerprint/addFingerprintTip/addFingerprintTip_page.dart deleted file mode 100644 index 4aa66dc4..00000000 --- a/star_lock/lib/main/lockDetail/otherTypeKey/addFingerprint/addFingerprintTip/addFingerprintTip_page.dart +++ /dev/null @@ -1,91 +0,0 @@ - -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/submitBtn.dart'; -import '../../../../../tools/titleAppBar.dart'; -import '../../../../../translations/trans_lib.dart'; -import 'addFingerprintTip_logic.dart'; - -class AddFingerprintTipPage extends StatefulWidget { - const AddFingerprintTipPage({Key? key}) : super(key: key); - - @override - State createState() => _AddFingerprintTipPageState(); -} - -class _AddFingerprintTipPageState extends State { - final logic = Get.put(AddFingerprintTipLogic()); - final state = Get.find().state; - - @override - Widget build(BuildContext context) { - return Scaffold( - backgroundColor: Colors.white, - appBar: TitleAppBar( - barTitle: TranslationLoader.lanKeys!.addLock!.tr, - haveBack: true, - backgroundColor: AppColors.mainColor), - body: ListView( - // mainAxisAlignment: MainAxisAlignment.center, - // crossAxisAlignment: CrossAxisAlignment.center, - children: [ - SizedBox( - height: 50.h, - ), - Container( - padding: EdgeInsets.only(left: 20.w, right: 20.w), - child: Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Expanded( - child: Text( - "添加过程中,请根据提示,在指纹采集器上进行多次的抬起按压", - // TranslationLoader.lanKeys!.lightTouchScreenTip!.tr, - textAlign: TextAlign.center, - maxLines:null, - style: TextStyle(fontSize: 24.sp, fontWeight: FontWeight.w600), - ), - ), - ], - ), - ), - SizedBox( - height: 60.h, - ), - Image.asset( - 'images/main/icon_addFingerprintTip.png', - width: 270.w, - height: 457.h, - ), - SizedBox( - height: 120.h, - ), - Container( - padding: EdgeInsets.only(left: 20.w, right: 20.w), - child: SubmitBtn( - btnName: "开始添加",//TranslationLoader.lanKeys!.next!.tr, - borderRadius: 20.w, - onClick: () { - Get.toNamed(Routers.addFingerprintPage, arguments: { - "lockId": state.lockId.value, - "endDate": state.endDate.value, - "addType": state.addType.value, - "fingerprintName": state.fingerprintName.value, - "fingerprintNumber": state.fingerprintNumber.value, - "fingerprintType": state.fingerprintType.value, - "isCoerced": state.isCoerced.value, - "startDate": state.startDate.value, - "weekDay": state.weekDay.value, - "fromType": state.fromType.value, - }); - }), - ), - ], - ), - ); - } -} diff --git a/star_lock/lib/main/lockDetail/otherTypeKey/addFingerprint/addFingerprintTip/addFingerprintTip_state.dart b/star_lock/lib/main/lockDetail/otherTypeKey/addFingerprint/addFingerprintTip/addFingerprintTip_state.dart deleted file mode 100644 index db79140c..00000000 --- a/star_lock/lib/main/lockDetail/otherTypeKey/addFingerprint/addFingerprintTip/addFingerprintTip_state.dart +++ /dev/null @@ -1,30 +0,0 @@ - -import 'package:get/get.dart'; - -class AddFingerprintTipState{ - final lockId = 0.obs; - final endDate = "".obs; - final addType = "".obs; - final fingerprintName = "".obs; - final fingerprintNumber = "".obs; - final fingerprintType = "".obs; - final isCoerced = "".obs; - final startDate = "".obs; - final weekDay = [].obs; - final fromType = 1.obs; - - AddFingerprintTipState() { - Map map = Get.arguments; - lockId.value = map["lockId"]; - endDate.value = map["endDate"]; - addType.value = map["addType"]; - fingerprintName.value = map["fingerprintName"]; - fingerprintNumber.value = map["fingerprintNumber"]; - fingerprintType.value = map["fingerprintType"]; - isCoerced.value = map["isCoerced"]; - startDate.value = map["startDate"]; - lockId.value = map["lockId"]; - weekDay.value = map["weekDay"]; - fromType.value = map["fromType"]; - } -} \ No newline at end of file diff --git a/star_lock/lib/main/lockDetail/otherTypeKey/addICCard/addICCard_entity.dart b/star_lock/lib/main/lockDetail/otherTypeKey/addICCard/addICCard_entity.dart deleted file mode 100644 index c0794ecc..00000000 --- a/star_lock/lib/main/lockDetail/otherTypeKey/addICCard/addICCard_entity.dart +++ /dev/null @@ -1,43 +0,0 @@ -class AddICCardEntity { - int? errorCode; - String? description; - String? errorMsg; - Data? data; - - AddICCardEntity( - {this.errorCode, this.description, this.errorMsg, this.data}); - - AddICCardEntity.fromJson(Map json) { - errorCode = json['errorCode']; - description = json['description']; - errorMsg = json['errorMsg']; - data = json['data'] != null ? Data.fromJson(json['data']) : null; - } - - Map toJson() { - final Map data = {}; - data['errorCode'] = errorCode; - data['description'] = description; - data['errorMsg'] = errorMsg; - if (this.data != null) { - data['data'] = this.data!.toJson(); - } - return data; - } -} - -class Data { - int? cardId; - - Data({this.cardId}); - - Data.fromJson(Map json) { - cardId = json['cardId']; - } - - Map toJson() { - final Map data = {}; - data['cardId'] = cardId; - return data; - } -} \ No newline at end of file diff --git a/star_lock/lib/main/lockDetail/otherTypeKey/addICCard/addICCard_logic.dart b/star_lock/lib/main/lockDetail/otherTypeKey/addICCard/addICCard_logic.dart deleted file mode 100644 index d98a6aa6..00000000 --- a/star_lock/lib/main/lockDetail/otherTypeKey/addICCard/addICCard_logic.dart +++ /dev/null @@ -1,311 +0,0 @@ - -import 'dart:async'; - -import 'package:flutter_reactive_ble/flutter_reactive_ble.dart'; -import 'package:get/get.dart'; -import 'package:star_lock/blue/io_type.dart'; -import 'package:star_lock/tools/baseGetXController.dart'; - -import '../../../../blue/blue_manage.dart'; -import '../../../../blue/io_protocol/io_addICCard.dart'; -import '../../../../blue/io_protocol/io_addStressICCard.dart'; -import '../../../../blue/io_reply.dart'; -import '../../../../blue/io_tool/io_manager.dart'; -import '../../../../blue/io_tool/io_tool.dart'; -import '../../../../blue/io_tool/manager_event_bus.dart'; -import '../../../../blue/sender_manage.dart'; -import '../../../../network/api_repository.dart'; -import '../../../../tools/eventBusEventManage.dart'; -import '../../../../tools/storage.dart'; -import '../../../../tools/toast.dart'; -import 'addICCard_state.dart'; - -class AddICCardLogic extends BaseGetXController{ - AddICCardState state = AddICCardState(); - - // 监听设备返回的数据 - late StreamSubscription _replySubscription; - void _initReplySubscription() { - _replySubscription = EventBusManager().eventBus!.on().listen((reply) async { - // 添加IC卡开始 - if(reply is SenderAddICCardReply) { - _replyAddICCardBegin(reply); - } - - // 添加卡确认 - if(reply is SenderAddICCardConfirmationReply) { - _replyAddICCardConfirmation(reply); - } - - // 添加胁迫卡 - if(reply is SenderAddStressICCardReply) { - _replyAddICStressCard(reply); - } - }); - } - - Future _replyAddICCardBegin(Reply reply) async { - var token = reply.data.sublist(2, 6); - var saveStrList = changeIntListToStringList(token); - print("_replyAddFingerprintReplyToken:$token"); - Storage.setStringList(saveBlueToken, saveStrList); - - int status = reply.data[2]; - print("_replyAddFingerprintStatus:$status"); - - switch(status){ - case 0x00: - //成功 - print("${reply.commandType!.typeValue} 数据解析成功"); - // state.cardNumber.value = reply.data.last.toString(); - state.ifConnectScuess.value = true; - break; - case 0x06: - //无权限 - print("${reply.commandType!.typeValue} 需要鉴权"); - var privateKey = await Storage.getStringList(saveBluePrivateKey); - List getPrivateKeyList = changeStringListToIntList(privateKey!); - - var publicKey = await Storage.getStringList(saveBluePublicKey); - List publicKeyDataList = changeStringListToIntList(publicKey!); - - IoSenderManage.senderAddFingerprintCommand( - keyID:"1", - userID:await Storage.getUid(), - fingerNo:1, - useCountLimit:0xff, - startTime:0x11223344, - endTime:0x11223344, - needAuthor:1, - publicKey:publicKeyDataList, - privateKey:getPrivateKeyList, - token: token, - ); - break; - case 0x07: - //无权限 - print("${reply.commandType!.typeValue} 用户无权限"); - - break; - case 0x09: - // 权限校验错误 - print("${reply.commandType!.typeValue} 权限校验错误"); - - break; - default: - //失败 - print("${reply.commandType!.typeValue} 失败"); - - break; - } - } - - Future _replyAddICCardConfirmation(Reply reply) async { - var token = reply.data.sublist(2, 6); - // var saveStrList = changeIntListToStringList(token); - // print("_replyAddICCardConfirmationReplyToken:$token"); - // Storage.setStringList(saveBlueToken, saveStrList); - - int status = reply.data[2]; - print("_replyAddFingerprintstatus:$status"); - - switch(status){ - case 0x00: - //成功 - print("${reply.commandType!.typeValue} 数据解析成功"); - // print("添加指纹确认成功,调用添加指纹接口"); - if(state.isCoerced.value == "2"){ - // 非胁迫指纹 - int addResultStatus = reply.data[5]; - if(addResultStatus == 0){ - // 成功更新序列号 - state.cardNumber.value = (reply.data[6]+1).toString(); - addICCardData(); - }else if(addResultStatus == 255){ - // 255 自动退出 - Get.close(2); - } - }else{ - // 如果是胁迫指纹在 添加完之后以后再调用添加胁迫指纹的 - senderAddStressICCard(); - } - break; - case 0x06: - //无权限 - - break; - case 0x07: - //无权限 - print("${reply.commandType!.typeValue} 用户无权限"); - - break; - case 0x09: - // 权限校验错误 - print("${reply.commandType!.typeValue} 权限校验错误"); - - break; - default: - //失败 - print("${reply.commandType!.typeValue} 失败"); - - break; - } - } - - Future _replyAddICStressCard(Reply reply) async { - var token = reply.data.sublist(2, 6); - var saveStrList = changeIntListToStringList(token); - print("_replyAddICCardConfirmationReplyToken:$token"); - Storage.setStringList(saveBlueToken, saveStrList); - - int status = reply.data[2]; - print("_replyAddFingerprintstatus:$status"); - - switch(status){ - case 0x00: - //成功 - print("${reply.commandType!.typeValue} 数据解析成功"); - // print("添加指纹确认成功,调用添加指纹接口"); - addICCardData(); - break; - case 0x06: - //无权限 - - break; - case 0x07: - //无权限 - print("${reply.commandType!.typeValue} 用户无权限"); - - break; - case 0x09: - // 权限校验错误 - print("${reply.commandType!.typeValue} 权限校验错误"); - - break; - default: - //失败 - print("${reply.commandType!.typeValue} 失败"); - - break; - } - } - - // 添加卡片开始 - Future senderAddICCard() async { - BlueManage().judgeReconnect(BlueManage().connectDeviceMacAddress, BlueManage().connectDeviceName, (DeviceConnectionState state) async { - if (state == DeviceConnectionState.connected){ - var publicKey = await Storage.getStringList(saveBluePublicKey); - List publicKeyDataList = changeStringListToIntList(publicKey!); - - var privateKey = await Storage.getStringList(saveBluePrivateKey); - List getPrivateKeyList = changeStringListToIntList(privateKey!); - - var token = await Storage.getStringList(saveBlueToken); - List getTokenList = changeStringListToIntList(token!); - print("openDoorTokenPubToken:$getTokenList"); - - IoSenderManage.senderAddICCardCommand( - keyID:"1", - userID:await Storage.getUid(), - cardNo:1, - useCountLimit:0xff, - startTime:0x11223344, - endTime:0x11223344, - needAuthor:1, - publicKey:publicKeyDataList, - privateKey:getPrivateKeyList, - token: getTokenList, - ); - } - }); - } - - // 添加胁迫卡片 - Future senderAddStressICCard() async { - BlueManage().judgeReconnect(BlueManage().connectDeviceMacAddress, BlueManage().connectDeviceName, (DeviceConnectionState state) async { - if (state == DeviceConnectionState.connected){ - var publicKey = await Storage.getStringList(saveBluePublicKey); - List publicKeyDataList = changeStringListToIntList(publicKey!); - - var privateKey = await Storage.getStringList(saveBluePrivateKey); - List getPrivateKeyList = changeStringListToIntList(privateKey!); - - var token = await Storage.getStringList(saveBlueToken); - List getTokenList = changeStringListToIntList(token!); - print("openDoorTokenPubToken:$getTokenList"); - - IoSenderManage.senderAddStressICCardCommand( - keyID:"1", - userID:await Storage.getUid(), - icCardNo:1, - useCountLimit:1, - startTime:0x11223344, - endTime:0x11223344, - needAuthor:1, - publicKey:publicKeyDataList, - privateKey:getPrivateKeyList, - token: getTokenList, - ); - } - }); - } - - void addICCardData() async { - var entity = await ApiRepository.to.addICCardData( - lockId: state.lockId.value.toString(), - endDate: state.endDate.value.toString(), - cardName: state.cardName.value.toString(), - cardNumber: state.cardNumber.value.toString(), - cardType: state.cardType.value.toString(), - addType: state.addType.value.toString(), - startDate: state.startDate.value.toString(), - isCoerced: state.isCoerced.value.toString(), - weekDay: state.weekDay.value, - ); - if (entity.errorCode!.codeIsSuccessful) { - Toast.show(msg: "添加成功"); - updateIdCardUserNoLoadData(entity.data!.cardId.toString()); - } - } - - void updateIdCardUserNoLoadData(String cardId) async{ - var entity = await ApiRepository.to.updateIdCardUserNoLoadData( - lockId: state.lockId.value.toString(), - cardId: cardId, - cardUserNo: state.cardNumber.value, - ); - if(entity.errorCode!.codeIsSuccessful){ - Toast.show(msg: "添加成功"); - if(state.fromType.value == 2){ - // 回调指纹号 - eventBus.fire(ChickInAddStaffCardAndFingerprintBlockNumberEvent(cardId)); - }else if(state.fromType.value == 1){ - eventBus.fire(OtherTypeRefreshListEvent()); - } - Get.close(2); - } - } - - @override - void onReady() { - // TODO: implement onReady - super.onReady(); - - _initReplySubscription(); - } - - @override - void onInit() { - // TODO: implement onInit - super.onInit(); - - senderAddICCard(); - } - - @override - void onClose() { - // TODO: implement onClose - _replySubscription.cancel(); - } - -} \ No newline at end of file diff --git a/star_lock/lib/main/lockDetail/otherTypeKey/addICCard/addICCard_page.dart b/star_lock/lib/main/lockDetail/otherTypeKey/addICCard/addICCard_page.dart deleted file mode 100644 index 1c65025e..00000000 --- a/star_lock/lib/main/lockDetail/otherTypeKey/addICCard/addICCard_page.dart +++ /dev/null @@ -1,56 +0,0 @@ -import 'package:flutter/cupertino.dart'; -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/titleAppBar.dart'; -import '../../../../translations/trans_lib.dart'; -import 'addICCard_logic.dart'; - -class AddICCardPage extends StatefulWidget { - const AddICCardPage({Key? key}) : super(key: key); - - @override - State createState() => _AddICCardPageState(); -} - -class _AddICCardPageState extends State { - final logic = Get.put(AddICCardLogic()); - final state = Get.find().state; - - @override - Widget build(BuildContext context) { - return Scaffold( - backgroundColor: AppColors.mainBackgroundColor, - appBar: TitleAppBar( - barTitle: "${TranslationLoader.lanKeys!.add!.tr}${TranslationLoader.lanKeys!.card!.tr}", - haveBack: true, - backgroundColor: AppColors.mainColor, - ), - body: Column( - crossAxisAlignment: CrossAxisAlignment.center, - // mainAxisAlignment: MainAxisAlignment.center, - children: [ - SizedBox(height: 420.h), - CupertinoActivityIndicator(radius: 25.h,), - SizedBox(height: 120.h), - Container( - width: 1.sw, - height: 50.h, - // padding: EdgeInsets.only(left: 30.w, right: 30.w, top: 10.h, bottom: 10.h), - margin: EdgeInsets.only(left: 15.w, right: 15.w, top: 10.h, bottom: 10.h), - // color: AppColors.blackColor, - decoration: BoxDecoration( - color: AppColors.blackColor, - borderRadius: BorderRadius.circular(10.w), - ), - child: Center( - child: Obx(() => Text(state.ifConnectScuess.value ? "已连接到锁,请将卡靠近锁的读卡区" : "尝试连接设备...", style:TextStyle(color: Colors.white, fontSize: 24.sp))) - ), - ), - ], - ), - ); - } -} diff --git a/star_lock/lib/main/lockDetail/otherTypeKey/addICCard/addICCard_state.dart b/star_lock/lib/main/lockDetail/otherTypeKey/addICCard/addICCard_state.dart deleted file mode 100644 index 5a2395de..00000000 --- a/star_lock/lib/main/lockDetail/otherTypeKey/addICCard/addICCard_state.dart +++ /dev/null @@ -1,32 +0,0 @@ - -import 'package:get/get.dart'; - -class AddICCardState{ - var ifConnectScuess = false.obs; - var addFingerprintProcessNumber = 0.obs; - final lockId = 0.obs; - final endDate = "".obs; - final addType = "".obs; - final cardName = "".obs; - final cardNumber = "".obs; - final cardType = "".obs; - final isCoerced = "".obs; - final startDate = "".obs; - final weekDay = [].obs; - final fromType = 0.obs; - - AddICCardState() { - Map map = Get.arguments; - lockId.value = map["lockId"]; - endDate.value = map["endDate"]; - addType.value = map["addType"]; - cardName.value = map["cardName"]; - cardNumber.value = map["cardNumber"]; - cardType.value = map["cardType"]; - isCoerced.value = map["isCoerced"]; - startDate.value = map["startDate"]; - lockId.value = map["lockId"]; - weekDay.value = map["weekDay"]; - fromType.value = map["fromType"]; - } -} \ No newline at end of file diff --git a/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeAddKey/otherTypeAddKey_logic.dart b/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeAddKey/otherTypeAddKey_logic.dart deleted file mode 100644 index 6550e17e..00000000 --- a/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeAddKey/otherTypeAddKey_logic.dart +++ /dev/null @@ -1,188 +0,0 @@ -import 'dart:math'; - -import 'package:get/get.dart'; - -import '../../../../appRouters.dart'; -import '../../../../network/api_repository.dart'; -import '../../../../tools/baseGetXController.dart'; -import '../../../../tools/toast.dart'; -import 'otherTypeAddKey_state.dart'; - -class OtherTypeAddKeyLogic extends BaseGetXController { - OtherTypeAddKeyState state = OtherTypeAddKeyState(); - - // 添加指纹 - void addFingerprintsData() async { - var fingerprintType = 0; // 永久:1;限时2,单次3,循环:4 - var startDate = ""; - var endDate = ""; - if (state.seletType.value == "0") { - fingerprintType = 1; - } else if (state.seletType.value == "1") { - fingerprintType = 2; - if (state.beginTimeTimestamp.value.isEmpty) { - Toast.show(msg: "请选择开始时间"); - return; - } - if (state.endTimeTimestamp.value.isEmpty) { - Toast.show(msg: "请选择开始时间"); - return; - } - - // if(DateTime.now().millisecondsSinceEpoch > int.parse(state.beginTimeTimestamp.value)){ - // Toast.show(msg: "生效时间要大于当前时间"); - // return; - // } - - print( - "fasdfasdfasdf:${int.parse(state.beginTimeTimestamp.value)} == ${int.parse(state.endTimeTimestamp.value)}"); - if (int.parse(state.beginTimeTimestamp.value) >= - int.parse(state.endTimeTimestamp.value)) { - Toast.show(msg: "失效时间要大于生效时间"); - return; - } - - startDate = state.beginTimeTimestamp.value; - endDate = state.endTimeTimestamp.value; - } else if (state.seletType.value == "2") { - if (state.effectiveDateTime.value <= 0) { - Toast.show(msg: "请选择生效时间"); - return; - } - if (state.failureDateTime.value <= 0) { - Toast.show(msg: "请选择失效时间"); - return; - } - - if (state.weekdaysList.value.isEmpty) { - Toast.show(msg: "请选择有效日"); - return; - } - - // if(DateTime.now().millisecondsSinceEpoch >= state.effectiveDateTime.value){ - // Toast.show(msg: "生效时间要大于当前时间"); - // return; - // } - - if (state.effectiveDateTime.value >= state.failureDateTime.value) { - Toast.show(msg: "失效时间要大于生效时间"); - return; - } - startDate = state.effectiveDateTime.value.toString(); - endDate = state.failureDateTime.value.toString(); - fingerprintType = 4; - } - - print("addOtherType startDate:$startDate endDate:$endDate"); - switch (state.lockType.value) { - case 0: - // 卡 - Get.toNamed(Routers.addICCardPage, arguments: { - "lockId": state.lockId.value, - "endDate": endDate, - "addType": "1", - "cardName": state.nameController.text, - "cardNumber": - (Random().nextInt(100000000) + 10000000).floor().toString(), - "cardType": fingerprintType.toString(), - "isCoerced": state.isStressFingerprint.value ? "1" : "2", - "startDate": startDate, - "weekDay": state.weekdaysList.value, - "fromType": state.fromType.value, - }); - - // var entity = await ApiRepository.to.addICCardData( - // lockId: state.lockId.value.toString(), - // endDate: endDate, - // cardName: state.nameController.text, - // cardNumber: (Random().nextInt(100000000) + 10000000).floor().toString(), - // cardType: fingerprintType.toString(), - // addType:"1", - // startDate: startDate, - // isCoerced: state.isStressFingerprint.value ? "1" : "2", - // weekDay: state.weekdaysList.value, - // ); - // if(entity.errorCode!.codeIsSuccessful){ - // Toast.show(msg: "添加成功"); - // Get.back(result: "addScuess"); - // } - - break; - case 1: - // 指纹 - Get.toNamed(Routers.addFingerprintPage, arguments: { - "lockId": state.lockId.value, - "endDate": endDate, - "addType": "1", - "fingerprintName": state.nameController.text, - "fingerprintNumber": "123456", - "fingerprintType": fingerprintType.toString(), - "isCoerced": state.isStressFingerprint.value ? "1" : "2", - "startDate": startDate, - "weekDay": state.weekdaysList.value, - "fromType": state.fromType.value, - }); - - /* 根据田总需求 无需tips页面 直接跳转到添加页面 - Get.toNamed(Routers.addFingerprintTipPage, arguments: { - "lockId": state.lockId.value, - "endDate": endDate, - "addType": "1", - "fingerprintName": state.nameController.text, - "fingerprintNumber": "123456", - "fingerprintType": fingerprintType.toString(), - "isCoerced": state.isStressFingerprint.value ? "1" : "2", - "startDate": startDate, - "weekDay": state.weekdaysList.value, - "fromType": state.fromType.value, - }); - */ - - // var entity = await ApiRepository.to.addFingerprintsData( - // lockId: state.lockId.value.toString(), - // endDate: endDate, - // addType:"1", - // fingerprintName: state.nameController.text, - // fingerprintNumber: (Random().nextInt(100000000) + 10000000).floor().toString(), - // fingerprintType: fingerprintType.toString(), - // isCoerced: state.isStressFingerprint.value ? "1" : "2", - // startDate: startDate, - // weekDay: state.weekdaysList.value, - // ); - // if(entity.errorCode!.codeIsSuccessful){ - // Toast.show(msg: "添加成功"); - // Get.back(result: "addScuess"); - // } - break; - case 2: - // 遥控 - - break; - - case 3: - // 人脸 - Get.toNamed(Routers.addFaceTipPage); - - break; - default: - break; - } - } - - @override - void onReady() { - // TODO: implement onReady - super.onReady(); - } - - @override - void onInit() { - // TODO: implement onInit - super.onInit(); - } - - @override - void onClose() { - // TODO: implement onClose - } -} diff --git a/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeAddKey/otherTypeAddKey_page.dart b/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeAddKey/otherTypeAddKey_page.dart deleted file mode 100644 index 7fd5bcf4..00000000 --- a/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeAddKey/otherTypeAddKey_page.dart +++ /dev/null @@ -1,323 +0,0 @@ -import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_pickers/pickers.dart'; -import 'package:flutter_pickers/time_picker/model/date_mode.dart'; -import 'package:flutter_screenutil/flutter_screenutil.dart'; -import 'package:get/get.dart'; -import 'package:get_storage/get_storage.dart'; -import 'package:star_lock/appRouters.dart'; - -import '../../../../app_settings/app_colors.dart'; -import '../../../../tools/commonItem.dart'; -import '../../../../tools/storage.dart'; -import '../../../../tools/submitBtn.dart'; -import '../../../../tools/toast.dart'; -import '../../../../translations/trans_lib.dart'; -import 'otherTypeAddKey_logic.dart'; - -class OtherTypeAddKeyPage extends StatefulWidget { - final String seletType; - final int lockType; // 0卡 1指纹 2钥匙 - final int lockId; - final int fromType;// // 1从添加钥匙列表进入 2从考勤添加员工入口进入 - final String fromTypeTwoStaffName;// 从添加员工进入 传入员工名字 - const OtherTypeAddKeyPage( - {Key? key, required this.seletType, required this.lockType, required this.lockId, required this.fromType, required this.fromTypeTwoStaffName}) : super(key: key); - - @override - State createState() => _OtherTypeAddKeyPageState(); -} - -class _OtherTypeAddKeyPageState extends State { - final logic = Get.put(OtherTypeAddKeyLogic()); - final state = Get.find().state; - - @override - Widget build(BuildContext context) { - state.seletType.value = widget.seletType; - state.lockType.value = widget.lockType; - state.lockId.value = widget.lockId; - state.nameController.text = widget.fromTypeTwoStaffName; - - return indexChangeWidget(); - } - - Widget indexChangeWidget() { - switch (int.parse(widget.seletType)) { - case 0: - { - // 永久 - // return sendElectronicKeySucceed(); - return Column( - children: [ - perpetualKeyWidget(TranslationLoader.lanKeys!.name!.tr, - TranslationLoader.lanKeys!.pleaseEnter!.tr, state.nameController), - keyBottomWidget() - ], - ); - } - case 1: - { - // 限时 - return Column( - children: [ - perpetualKeyWidget(TranslationLoader.lanKeys!.name!.tr, - TranslationLoader.lanKeys!.pleaseEnter!.tr, state.nameController), - keyTimeLimitWidget(), - SizedBox(height: 10.h), - keyBottomWidget() - ], - ); - } - case 2: - { - // 循环 - return Column( - children: [ - perpetualKeyWidget(TranslationLoader.lanKeys!.name!.tr, - TranslationLoader.lanKeys!.pleaseEnter!.tr, state.nameController), - CommonItem( - leftTitel: TranslationLoader.lanKeys!.periodValidity!.tr, - rightTitle: "", - isHaveDirection: true, - action: () async { - Map result = await Get.toNamed(Routers.electronicKeyPeriodValidityPage); - state.weekdaysList.value = result['validityValue']; - state.effectiveDateTime.value = result['starDate'].millisecondsSinceEpoch; - state.failureDateTime.value = result['endDate'].millisecondsSinceEpoch; - print('得到的有效期数据:${state.weekdaysList.value} == ${state.effectiveDateTime.value} == ${state.failureDateTime.value}'); - }), - SizedBox(height: 10.h), - keyBottomWidget() - ], - ); - } - default: - return Container(); - } - } - - // 密码命名输入框 - Widget perpetualKeyWidget( - String titleStr, String rightTitle, TextEditingController controller) { - return Column( - children: [ - Container(height: 10.h), - CommonItem( - leftTitel: titleStr, - rightTitle: "", - isHaveRightWidget: true, - rightWidget: getTFWidget(rightTitle)), - Container(height: 10.h), - ], - ); - } - - // 限时顶部选择日期 - Widget keyTimeLimitWidget() { - return Column( - children: [ - Obx(() => CommonItem( - leftTitel: TranslationLoader.lanKeys!.effectiveTime!.tr, - rightTitle: state.beginTime.value, - isHaveLine: true, - isHaveDirection: true, - action: () async { - Pickers.showDatePicker(context, mode: DateMode.YMDHM, - onConfirm: (p) { - setState(() { - setState(() { - state.beginTime.value = '${p.year}-${p.month!.toString().padLeft(2,'0')}-${p.day!.toString().padLeft(2,'0')} ${p.hour!.toString().padLeft(2,'0')}:${p.minute!.toString().padLeft(2,'0')}'; - state.beginTimeTimestamp.value = DateTime.parse(state.beginTime.value).millisecondsSinceEpoch.toString(); - }); - }); - }); - })), - Obx(() => CommonItem( - leftTitel: TranslationLoader.lanKeys!.failureTime!.tr, - rightTitle: state.endTime.value, - isHaveDirection: true, - action: () { - Pickers.showDatePicker(context, mode: DateMode.YMDHM, - onConfirm: (p) { - setState(() { - setState(() { - state.endTime.value = '${p.year}-${p.month!.toString().padLeft(2,'0')}-${p.day!.toString().padLeft(2,'0')} ${p.hour!.toString().padLeft(2,'0')}:${p.minute!.toString().padLeft(2,'0')}'; - state.endTimeTimestamp.value = DateTime.parse(state.endTime.value).millisecondsSinceEpoch.toString(); - }); - }); - }); - })), - Container(height: 10.h), - ], - ); - } - - Widget keyBottomWidget() { - return Column( - children: [ - CommonItem( - leftTitel: TranslationLoader.lanKeys!.stressFingerprint!.tr, - rightTitle: "", - isTipsImg: false, - isHaveRightWidget: true, - rightWidget: SizedBox( - width: 60.w, height: 50.h, child: _isStressFingerprint())), - SizedBox(height: 30.h), - SubmitBtn(btnName: TranslationLoader.lanKeys!.next!.tr, onClick: () async { - - var isDemoMode = await Storage.getBool(ifIsDemoModeOrNot); - if(isDemoMode == false){ - if(state.nameController.text.isEmpty){ - Toast.show(msg: "请输入姓名"); - return; - } - - logic.addFingerprintsData(); - }else{ - // Get.toNamed(Routers.seletLockTypePage); - Toast.show(msg: "演示模式"); - } - - }), - ], - ); - } - - // 发送电子钥匙成功 - Widget sendElectronicKeySucceed() { - return Column( - children: [ - Container( - height: 300.h, - width: 1.sw, - 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, - ), - Text( - "操作成功,密码为", - style: TextStyle( - fontSize: 32.sp, - color: Colors.black, - fontWeight: FontWeight.w500), - ), - SizedBox( - height: 10.h, - ), - Text( - "62689876", - style: TextStyle( - fontSize: 60.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: () {}), - 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: () {}), - ], - ); - } - - String getAppBarTitle(int type) { - String title; - switch (type) { - case 0: - title = TranslationLoader.lanKeys!.card!.tr; - break; - case 1: - title = TranslationLoader.lanKeys!.fingerprint!.tr; - break; - case 2: - title = TranslationLoader.lanKeys!.remoteControl!.tr; - break; - default: - title = ""; - break; - } - return title; - } - - // 接受者信息输入框 - Widget getTFWidget(String tfStr) { - return Container( - height: 50.h, - width: 300.w, - child: Row( - children: [ - Expanded( - child: TextField( - //输入框一行 - maxLines: 1, - controller: state.nameController, - autofocus: false, - textAlign: TextAlign.end, - decoration: InputDecoration( - //输入里面输入文字内边距设置 - contentPadding: const EdgeInsets.only(top: 12.0, bottom: 8.0), - hintText: tfStr, - hintStyle: TextStyle(fontSize: 24.sp), - //不需要输入框下划线 - border: InputBorder.none, - ), - ), - ), - SizedBox( - width: 10.w, - ), - ], - ), - ); - } - - //isStressFingerprint false:不是胁迫指纹 ture:胁迫指纹 - CupertinoSwitch _isStressFingerprint() { - return CupertinoSwitch( - activeColor: CupertinoColors.activeBlue, - trackColor: CupertinoColors.systemGrey5, - thumbColor: CupertinoColors.white, - value: state.isStressFingerprint.value, - onChanged: (value) { - setState(() { - state.isStressFingerprint.value = value; - }); - }, - ); - } - -} diff --git a/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeAddKey/otherTypeAddKey_state.dart b/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeAddKey/otherTypeAddKey_state.dart deleted file mode 100644 index c0e25752..00000000 --- a/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeAddKey/otherTypeAddKey_state.dart +++ /dev/null @@ -1,28 +0,0 @@ - - -import 'package:flutter/material.dart'; -import 'package:get/get.dart'; - -class OtherTypeAddKeyState{ - final lockId = 0.obs; - final seletType = "0".obs;// 0永久 1显示 2循环 - final lockType = 0.obs;// 0卡 1指纹 2钥匙 - final fromType = 1.obs; // // 1从添加钥匙列表进入 2从考勤添加员工入口进入 - final isStressFingerprint = false.obs; - - var beginTime = "".obs;// 开始时间 - var endTime = "".obs;// 结束时间 - var beginTimeTimestamp = "".obs;// 开始时间时间戳 - var endTimeTimestamp = "".obs;// 结束时间时间戳 - - var effectiveDateTime = 0.obs;// 生效时间 - var failureDateTime = 0.obs;// 失效时间 - var weekdaysList = [].obs; - - final TextEditingController nameController = TextEditingController(); - OtherTypeAddKeyState() { - // Map map = Get.arguments; - // lockId.value = map["lockId"]; - // fromType.value = map["fromType"]; - } -} \ No newline at end of file diff --git a/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyChangeDate/otherTypeKeyChangeDate_logic.dart b/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyChangeDate/otherTypeKeyChangeDate_logic.dart deleted file mode 100644 index 2db946c8..00000000 --- a/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyChangeDate/otherTypeKeyChangeDate_logic.dart +++ /dev/null @@ -1,52 +0,0 @@ - -import 'package:get/get.dart'; -import 'package:star_lock/tools/baseGetXController.dart'; -import '../../../../network/api_repository.dart'; -import '../../../../tools/eventBusEventManage.dart'; -import '../../../../tools/toast.dart'; -import 'otherTypeKeyChangeDate_state.dart'; - -class OtherTypeKeyChangeDateLogic extends BaseGetXController{ - OtherTypeKeyChangeDateState state = OtherTypeKeyChangeDateState(); - - // 修改指纹信息 - void editFingerprintsData() async{ - var entity = await ApiRepository.to.editFingerprintsData( - fingerprintId: state.fingerprintItemData.value.fingerprintId.toString(), - lockId: state.fingerprintItemData.value.lockId.toString(), - weekDay: state.fingerprintItemData.value.weekDay!, - startDate: state.beginTimeTimestamp.value.toString(), - endDate: state.endTimeTimestamp.value.toString(), - isCoerced: state.fingerprintItemData.value.isCoerced == 1 ? "2" : "1", - fingerprintName: state.fingerprintItemData.value.fingerprintName!, - ); - if(entity.errorCode!.codeIsSuccessful){ - Toast.show(msg: "修改成功"); - Get.back(result: { - "beginTimeTimestamp":state.beginTimeTimestamp.value, - "endTimeTimestamp":state.endTimeTimestamp.value, - }); - eventBus.fire(OtherTypeRefreshListEvent()); - } - } - - // 编辑iC卡 - void editICCardData() async{ - var entity = await ApiRepository.to.editICCardData( - cardId: state.fingerprintItemData.value.cardId.toString(), - lockId: state.fingerprintItemData.value.lockId.toString(), - weekDay: state.fingerprintItemData.value.weekDay!, - startDate: state.beginTimeTimestamp.value.toString(), - endDate: state.endTimeTimestamp.value.toString(), - isCoerced: state.fingerprintItemData.value.isCoerced == 1 ? "2" : "1", - cardName: state.fingerprintItemData.value.cardName!, - ); - if(entity.errorCode!.codeIsSuccessful){ - Toast.show(msg: "修改成功"); - Get.back(result: { - "beginTimeTimestamp":state.beginTimeTimestamp.value, - "endTimeTimestamp":state.endTimeTimestamp.value, - }); - } - } -} \ No newline at end of file diff --git a/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyChangeDate/otherTypeKeyChangeDate_page.dart b/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyChangeDate/otherTypeKeyChangeDate_page.dart deleted file mode 100644 index 84b96760..00000000 --- a/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyChangeDate/otherTypeKeyChangeDate_page.dart +++ /dev/null @@ -1,99 +0,0 @@ - -import 'package:flutter/material.dart'; -import 'package:flutter_pickers/pickers.dart'; -import 'package:flutter_pickers/time_picker/model/date_mode.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'; -import 'otherTypeKeyChangeDate_logic.dart'; - -class OtherTypeKeyChangeDatePage extends StatefulWidget { - const OtherTypeKeyChangeDatePage({Key? key}) : super(key: key); - - @override - State createState() => _OtherTypeKeyChangeDatePageState(); -} - -class _OtherTypeKeyChangeDatePageState extends State { - final logic = Get.put(OtherTypeKeyChangeDateLogic()); - final state = Get.find().state; - - @override - Widget build(BuildContext context) { - return Scaffold( - backgroundColor: AppColors.mainBackgroundColor, - appBar: TitleAppBar( - barTitle: "${TranslationLoader.lanKeys!.amend!.tr}${TranslationLoader.lanKeys!.periodValidity!.tr}", - haveBack: true, - backgroundColor: AppColors.mainColor, - actionsList: [ - TextButton( - child: Text( - TranslationLoader.lanKeys!.sure!.tr, - style: TextStyle(color: Colors.white, fontSize: 24.sp), - ), - onPressed: () { - // print("state.pushType.value:${state.pushType.value}"); - switch (state.pushType.value) { - case 0: - // 卡 - logic.editICCardData(); - break; - case 1: - // 指纹 - logic.editFingerprintsData(); - break; - case 2: - - break; - default: - break; - } - }, - ), - ], - ), - body: buildMainUI(), - ); - } - - Widget buildMainUI() { - return Column( - children: [ - Obx(() => CommonItem( - leftTitel: TranslationLoader.lanKeys!.effectiveTime!.tr, - rightTitle: state.beginTime.value, - isHaveLine: true, - isHaveDirection: true, - action: () { - Pickers.showDatePicker(context, mode: DateMode.YMDHM, - onConfirm: (p) { - setState(() { - state.beginTimeTimestamp.value = DateTime.parse( - '${p.year}-${p.month.toString().padLeft(2,'0')}-${p.day.toString().padLeft(2,'0')} ${p.hour!.toString().padLeft(2,'0')}:${p.minute!.toString().padLeft(2,'0')}').millisecondsSinceEpoch; - state.beginTime.value = "${p.year}.${p.month.toString().padLeft(2,'0')}.${p.day.toString().padLeft(2,'0')} ${p.hour.toString().padLeft(2,'0')}:${p.minute!.toString().padLeft(2,'0')}"; - }); - }); - })), - Obx(() => CommonItem( - leftTitel: TranslationLoader.lanKeys!.failureTime!.tr, - rightTitle: state.endTime.value, - isHaveDirection: true, - action: () { - Pickers.showDatePicker(context, mode: DateMode.YMDHM, - onConfirm: (p) { - setState(() { - state.endTimeTimestamp.value = DateTime.parse( - '${p.year}-${p.month.toString().padLeft(2,'0')}-${p.day.toString().padLeft(2,'0')} ${p.hour!.toString().padLeft(2,'0')}:${p.minute!.toString().padLeft(2,'0')}').millisecondsSinceEpoch; - state.endTime.value = "${p.year}.${p.month.toString().padLeft(2,'0')}.${p.day.toString().padLeft(2,'0')} ${p.hour.toString().padLeft(2,'0')}:${p.minute!.toString().padLeft(2,'0')}"; - }); - }); - })), - ], - ); - } -} diff --git a/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyChangeDate/otherTypeKeyChangeDate_state.dart b/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyChangeDate/otherTypeKeyChangeDate_state.dart deleted file mode 100644 index 18dafe75..00000000 --- a/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyChangeDate/otherTypeKeyChangeDate_state.dart +++ /dev/null @@ -1,27 +0,0 @@ - -import 'package:get/get.dart'; - -import '../../../../tools/dateTool.dart'; -import '../otherTypeKeyList/fingerprintListData_entity.dart'; - -class OtherTypeKeyChangeDateState{ - final fingerprintItemData = FingerprintItemData().obs; - - var beginTime = "".obs;// 开始时间 - var endTime = "".obs;// 结束时间 - var beginTimeTimestamp = 0.obs;// 开始时间时间戳 - var endTimeTimestamp = 0.obs;// 结束时间时间戳 - - var pushType = 0.obs;// 0卡 1指纹 2遥控 - - OtherTypeKeyChangeDateState() { - Map map = Get.arguments; - pushType.value = map["pushType"]; - fingerprintItemData.value = map["fingerprintItemData"]; - - beginTime.value = DateTool().dateToYMDHNString(fingerprintItemData.value.startDate.toString()); - endTime.value = DateTool().dateToYMDHNString(fingerprintItemData.value.endDate.toString()); - beginTimeTimestamp.value = fingerprintItemData.value.startDate!; - endTimeTimestamp.value = fingerprintItemData.value.endDate!; - } -} \ No newline at end of file diff --git a/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyChangeValidityDate/otherTypeKeyChangeValidityDate_logic.dart b/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyChangeValidityDate/otherTypeKeyChangeValidityDate_logic.dart deleted file mode 100644 index 2f38fcea..00000000 --- a/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyChangeValidityDate/otherTypeKeyChangeValidityDate_logic.dart +++ /dev/null @@ -1,56 +0,0 @@ - -import 'package:get/get.dart'; -import 'package:star_lock/tools/baseGetXController.dart'; - -import '../../../../network/api_repository.dart'; -import '../../../../tools/eventBusEventManage.dart'; -import '../../../../tools/toast.dart'; -import 'otherTypeKeyChangeValidityDate_state.dart'; - -class OtherTypeKeyChangeValidityDateLogic extends BaseGetXController{ - OtherTypeKeyChangeValidityDateState state = OtherTypeKeyChangeValidityDateState(); - - // 修改指纹信息 - void editFingerprintsData() async{ - var entity = await ApiRepository.to.editFingerprintsData( - fingerprintId: state.fingerprintItemData.value.fingerprintId.toString(), - lockId: state.fingerprintItemData.value.lockId.toString(), - weekDay: state.weekDay.value, - startDate: state.beginTimeTimestamp.value.toString(), - endDate: state.endTimeTimestamp.value.toString(), - isCoerced: state.fingerprintItemData.value.isCoerced == 1 ? "2" : "1", - fingerprintName: state.fingerprintItemData.value.fingerprintName!, - ); - if(entity.errorCode!.codeIsSuccessful){ - Toast.show(msg: "修改成功"); - Get.back(result: { - "beginTimeTimestamp":state.beginTimeTimestamp.value, - "endTimeTimestamp":state.endTimeTimestamp.value, - "weekDay":state.weekDay.value, - }); - eventBus.fire(OtherTypeRefreshListEvent()); - } - } - - // 编辑iC卡 - void editICCardData() async{ - var entity = await ApiRepository.to.editICCardData( - cardId: state.fingerprintItemData.value.cardId.toString(), - lockId: state.fingerprintItemData.value.lockId.toString(), - weekDay: state.weekDay.value, - startDate: state.beginTimeTimestamp.value.toString(), - endDate: state.endTimeTimestamp.value.toString(), - isCoerced: state.fingerprintItemData.value.isCoerced == 1 ? "2" : "1", - cardName: state.fingerprintItemData.value.cardName!, - ); - if(entity.errorCode!.codeIsSuccessful){ - Toast.show(msg: "修改成功"); - Get.back(result: { - "beginTimeTimestamp":state.beginTimeTimestamp.value, - "endTimeTimestamp":state.endTimeTimestamp.value, - "weekDay":state.weekDay.value, - }); - } - } - -} \ No newline at end of file diff --git a/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyChangeValidityDate/otherTypeKeyChangeValidityDate_state.dart b/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyChangeValidityDate/otherTypeKeyChangeValidityDate_state.dart deleted file mode 100644 index 4a00940c..00000000 --- a/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyChangeValidityDate/otherTypeKeyChangeValidityDate_state.dart +++ /dev/null @@ -1,29 +0,0 @@ - -import 'package:get/get.dart'; - -import '../../../../tools/dateTool.dart'; -import '../otherTypeKeyList/fingerprintListData_entity.dart'; - -class OtherTypeKeyChangeValidityDateState{ - final fingerprintItemData = FingerprintItemData().obs; - - var beginTime = "".obs;// 开始时间 - var endTime = "".obs;// 结束时间 - var beginTimeTimestamp = 0.obs;// 开始时间时间戳 - var endTimeTimestamp = 0.obs;// 结束时间时间戳 - - var pushType = 0.obs;// 0卡 1指纹 2遥控 - var weekDay = [].obs; - - OtherTypeKeyChangeValidityDateState() { - Map map = Get.arguments; - pushType.value = map["pushType"]; - fingerprintItemData.value = map["fingerprintItemData"]; - - beginTime.value = DateTool().dateToYMDHNString(fingerprintItemData.value.startDate.toString()); - endTime.value = DateTool().dateToYMDHNString(fingerprintItemData.value.endDate.toString()); - beginTimeTimestamp.value = fingerprintItemData.value.startDate!; - endTimeTimestamp.value = fingerprintItemData.value.endDate!; - weekDay.value = fingerprintItemData.value.weekDay!; - } -} \ No newline at end of file diff --git a/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyDetail/otherTypeKeyDetail_logic.dart b/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyDetail/otherTypeKeyDetail_logic.dart deleted file mode 100644 index a6e46e1e..00000000 --- a/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyDetail/otherTypeKeyDetail_logic.dart +++ /dev/null @@ -1,213 +0,0 @@ - - -import 'dart:async'; - -import 'package:flutter_reactive_ble/flutter_reactive_ble.dart'; -import 'package:get/get.dart'; -import 'package:star_lock/blue/io_type.dart'; -import 'package:star_lock/tools/baseGetXController.dart'; - -import '../../../../blue/blue_manage.dart'; -import '../../../../blue/io_protocol/io_addFingerprint.dart'; -import '../../../../blue/io_reply.dart'; -import '../../../../blue/io_tool/io_manager.dart'; -import '../../../../blue/io_tool/io_tool.dart'; -import '../../../../blue/io_tool/manager_event_bus.dart'; -import '../../../../blue/sender_manage.dart'; -import '../../../../network/api_repository.dart'; -import '../../../../tools/storage.dart'; -import '../../../../tools/toast.dart'; -import 'otherTypeKeyDetail_state.dart'; - -class OtherTypeKeyDetailLogic extends BaseGetXController{ - OtherTypeKeyDetailState state = OtherTypeKeyDetailState(); - - // 监听设备返回的数据 - late StreamSubscription _replySubscription; - void _initReplySubscription() { - _replySubscription = EventBusManager().eventBus!.on().listen((reply) async { - // 添加指纹开始(删除单个指纹) - if(reply is SenderAddFingerprintReply) { - _replyAddFingerprintBegin(reply); - } - }); - } - - Future _replyAddFingerprintBegin(Reply reply) async { - // var token = reply.data.sublist(2, 6); - // var saveStrList = changeIntListToStringList(token); - // print("_replyAddFingerprintReplyToken:$token"); - // Storage.setStringList(saveBlueToken, saveStrList); - - int status = reply.data[2]; - print("status:$status"); - - switch(status){ - case 0x00: - //成功 - print("${reply.commandType!.typeValue} 数据解析成功"); - - break; - case 0x06: - //无权限 - print("${reply.commandType!.typeValue} 需要鉴权"); - var privateKey = await Storage.getStringList(saveBluePrivateKey); - List getPrivateKeyList = changeStringListToIntList(privateKey!); - - var publicKey = await Storage.getStringList(saveBluePublicKey); - List publicKeyDataList = changeStringListToIntList(publicKey!); - - var token = await Storage.getStringList(saveBlueToken); - List getTokenList = changeStringListToIntList(token!); - - IoSenderManage.senderAddFingerprintCommand( - keyID:"1", - userID:await Storage.getUid(), - fingerNo:1, - useCountLimit:0, - startTime:0x11223344, - endTime:0x11223344, - // startTime:int.parse(state.startDate.value)~/1000, - // endTime:int.parse(state.endDate.value)~/1000, - needAuthor:1, - publicKey:publicKeyDataList, - privateKey:getPrivateKeyList, - token: getTokenList, - ); - break; - case 0x07: - //无权限 - print("${reply.commandType!.typeValue} 用户无权限"); - - break; - case 0x09: - // 权限校验错误 - print("${reply.commandType!.typeValue} 权限校验错误"); - - break; - default: - //失败 - print("${reply.commandType!.typeValue} 失败"); - - break; - } - } - - // 编辑指纹 - void editFingerprintsData() async{ - var entity = await ApiRepository.to.editFingerprintsData( - fingerprintId: state.keyId.value.toString(), - lockId: state.fingerprintItemData.value.lockId.toString(), - weekDay: state.weekDay.value, - startDate: state.effectiveDateTime.value.toString(), - endDate: state.failureDateTime.value.toString(), - isCoerced: state.isStressFingerprint.value ? "2" : "1", - fingerprintName: state.changeNameController.text, - ); - if(entity.errorCode!.codeIsSuccessful){ - Toast.show(msg: "修改成功"); - Get.back(result: "addScuess"); - } - } - - // 删除指纹 - Future senderAddFingerprint() async { - BlueManage().judgeReconnect(BlueManage().connectDeviceMacAddress, BlueManage().connectDeviceName, (DeviceConnectionState deviceConnectionState) async { - if (deviceConnectionState == DeviceConnectionState.connected){ - var publicKey = await Storage.getStringList(saveBluePublicKey); - List publicKeyDataList = changeStringListToIntList(publicKey!); - - var privateKey = await Storage.getStringList(saveBluePrivateKey); - List getPrivateKeyList = changeStringListToIntList(privateKey!); - - var token = await Storage.getStringList(saveBlueToken); - List getTokenList = changeStringListToIntList(token!); - - IoSenderManage.senderAddFingerprintCommand( - keyID:"1", - userID:await Storage.getUid(), - fingerNo:1, - useCountLimit:0, - startTime:0x11223344, - endTime:0x11223344, - // startTime:int.parse(state.startDate.value)~/1000, - // endTime:int.parse(state.endDate.value)~/1000, - needAuthor:1, - publicKey:publicKeyDataList, - privateKey:getPrivateKeyList, - token: getTokenList, - ); - } - }); - } - - // 删除指纹 - void deletFingerprintsData() async{ - var entity = await ApiRepository.to.deletFingerprintsData( - fingerprintId: state.fingerprintItemData.value.fingerprintId.toString(), - lockId: state.fingerprintItemData.value.lockId.toString(), - type: "0", - deleteType:"1" - ); - if(entity.errorCode!.codeIsSuccessful){ - Toast.show(msg: "删除成功"); - Get.back(result: "addScuess"); - } - } - - // 编辑iC卡 - void editICCardData() async{ - var entity = await ApiRepository.to.editICCardData( - cardId: state.keyId.value.toString(), - lockId: state.fingerprintItemData.value.lockId.toString(), - weekDay: state.weekDay.value, - startDate: state.effectiveDateTime.value.toString(), - endDate: state.failureDateTime.value.toString(), - isCoerced: state.isStressFingerprint.value ? "2" : "1", - cardName: state.changeNameController.text, - ); - if(entity.errorCode!.codeIsSuccessful){ - Toast.show(msg: "修改成功"); - Get.back(result: "addScuess"); - } - } - - // 删除IC卡 - void deletICCardData() async{ - var entity = await ApiRepository.to.deletIcCardData( - cardId: state.fingerprintItemData.value.cardId.toString(), - lockId: state.fingerprintItemData.value.lockId.toString(), - type: "0", - deleteType:"1" - ); - if(entity.errorCode!.codeIsSuccessful){ - Toast.show(msg: "删除成功"); - Get.back(result: "addScuess"); - } - } - - @override - void onReady() { - // TODO: implement onReady - super.onReady(); - - _initReplySubscription(); - } - - @override - void onInit() { - // TODO: implement onInit - super.onInit(); - - senderAddFingerprint(); - } - - @override - void onClose() { - // TODO: implement onClose - super.onClose(); - - _replySubscription.cancel(); - } - -} \ No newline at end of file diff --git a/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyDetail/otherTypeKeyDetail_page.dart b/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyDetail/otherTypeKeyDetail_page.dart deleted file mode 100644 index d29f967a..00000000 --- a/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyDetail/otherTypeKeyDetail_page.dart +++ /dev/null @@ -1,417 +0,0 @@ -import 'package:flutter/cupertino.dart'; -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/dateTool.dart'; -import '../../../../tools/showIosTipView.dart'; -import '../../../../tools/showTFView.dart'; -import '../../../../tools/submitBtn.dart'; -import '../../../../tools/titleAppBar.dart'; -import '../../../../tools/toast.dart'; -import '../../../../translations/trans_lib.dart'; -import 'otherTypeKeyDetail_logic.dart'; - -class OtherTypeKeyDetailPage extends StatefulWidget { - const OtherTypeKeyDetailPage({Key? key}) : super(key: key); - - @override - State createState() => _OtherTypeKeyDetailPageState(); -} - -class _OtherTypeKeyDetailPageState extends State { - final logic = Get.put(OtherTypeKeyDetailLogic()); - final state = Get.find().state; - - @override - Widget build(BuildContext context) { - return Scaffold( - backgroundColor: AppColors.mainBackgroundColor, - appBar: TitleAppBar( - barTitle: "${getAppBarTitle(state.type.value)}${TranslationLoader.lanKeys!.number!.tr}", - haveBack: true, - backgroundColor: AppColors.mainColor, - // actionsList: [ - // TextButton( - // child: Text(TranslationLoader.lanKeys!.share!.tr, style: TextStyle(color: Colors.white, fontSize: 24.sp),), - // onPressed: () { - // - // }, - // ), - // ], - ), - body: Column( - children: [ - Obx(() => CommonItem( - leftTitel: "${getAppBarTitle(state.type.value)}${TranslationLoader.lanKeys!.number!.tr}", - rightTitle: state.typeNumber.value, - isHaveDirection: false, - isHaveLine: true)), - Obx(() => CommonItem( - leftTitel: TranslationLoader.lanKeys!.name!.tr, - rightTitle: state.typeName.value, - isHaveDirection: true, - isHaveLine: true, - action: () { - showCupertinoAlertDialog(context); - })), - Obx(() => Visibility( - visible: (state.keyType.value == 4 || state.keyType.value == 2) ? true : false, - child: CommonItem( - leftTitel: TranslationLoader.lanKeys!.periodValidity!.tr, - allHeight: 70.h, - // rightTitle:"2023.09.19 11:27\n2023.09.25 11:27", - rightTitle: state.keyType.value == 1 ? "永久" : "${DateTool().dateToYMDHNString(state.effectiveDateTime.value.toString())}\n${DateTool().dateToYMDHNString(state.failureDateTime.value.toString())}", - isHaveDirection: true, - isHaveLine: true, - action: () async { - // switch(state.type.value){ - // case 0: - // // 卡 - // - // break; - // case 1: - // 当是指纹的时候 - if(state.keyType.value == 2){ - // 限时 - var data = await Get.toNamed(Routers.otherTypeKeyChangeDatePage, arguments: { - "pushType": state.type.value, - "fingerprintItemData": state.fingerprintItemData.value, - }); - if(data != null) { - setState(() { - state.effectiveDateTime.value = data["beginTimeTimestamp"]; - state.failureDateTime.value = data["endTimeTimestamp"]; - }); - } - }else if(state.keyType.value == 4){ - // 循环 - var data = await Get.toNamed(Routers.otherTypeKeyChangeValidityDatePage, arguments: { - "pushType": state.type.value, - "fingerprintItemData": state.fingerprintItemData.value, - }); - if(data != null) { - setState(() { - state.effectiveDateTime.value = data["beginTimeTimestamp"]; - state.failureDateTime.value = data["endTimeTimestamp"]; - state.weekDay.value = data["weekDay"]; - }); - } - } - // break; - // case 2: - // // 遥控 - // - // break; - // } - }))), - Obx(() => Visibility( - visible: state.keyType.value == 4 ? true : false, - child: Obx(() => CommonItem( - leftTitel: TranslationLoader.lanKeys!.effectiveDay!.tr, - rightTitle: state.weekDay.value.join(','), - isHaveDirection: true, - action: () async { - // switch(state.type.value){ - // case 0: - // // 卡 - // - // break; - // case 1: - // 当是指纹的时候 - var data = await Get.toNamed(Routers.otherTypeKeyChangeValidityDatePage, arguments: { - "pushType": state.type.value, - "fingerprintItemData": state.fingerprintItemData.value, - }); - if(data != null) { - setState(() { - state.effectiveDateTime.value = data["beginTimeTimestamp"]; - state.failureDateTime.value = data["endTimeTimestamp"]; - state.weekDay.value = data["weekDay"]; - }); - } - // break; - // case 2: - // // 遥控 - // - // break; - // } - }))) - ), - Container(height: 10.h), - Obx(() => CommonItem( - leftTitel: TranslationLoader.lanKeys!.additive!.tr, - rightTitle: state.adder.value, - action: () { - - })), - Obx(() => CommonItem( - leftTitel: TranslationLoader.lanKeys!.addTime!.tr, - rightTitle: DateTool().dateToYMDHNString(state.addTime.value.toString()), - action: () { - - })), - SizedBox(height: 10.h), - Obx(() => CommonItem( - leftTitel: TranslationLoader.lanKeys!.stressFingerprint!.tr, - rightTitle: "", - isTipsImg: false, - isHaveRightWidget: true, - rightWidget: SizedBox( - width: 60.w, height: 50.h, child: _isStressFingerprint()))), - Container(height: 10.h), - CommonItem( - leftTitel: TranslationLoader.lanKeys!.operatingRecord!.tr, - rightTitle: "", - isHaveDirection: true, - action: () { - switch (state.type.value) { - case 0: - // 卡 - Get.toNamed(Routers.keyOperationRecordPage, arguments: { - 'lockId': state.fingerprintItemData.value.lockId.toString(), - 'cardId': state.fingerprintItemData.value.cardId.toString() - }); - break; - case 1: - // 指纹 - Get.toNamed(Routers.keyOperationRecordPage, arguments: { - 'lockId': state.fingerprintItemData.value.lockId.toString(), - 'fingerprintId': state.fingerprintItemData.value.fingerprintId.toString() - }); - break; - case 2: - - break; - default: - break; - } - - }), - // SizedBox(height: 40.h), - // addControlsBtn(type), - SizedBox(height: 30.h), - SubmitBtn( - btnName: TranslationLoader.lanKeys!.delete!.tr, - isDelete: true, - 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: () { - showIosTipViewDialog(context); - }), - ], - ), - ); - } - - //isStressFingerprint false:不是胁迫指纹 ture:胁迫指纹 - CupertinoSwitch _isStressFingerprint() { - return CupertinoSwitch( - activeColor: CupertinoColors.activeBlue, - trackColor: CupertinoColors.systemGrey5, - thumbColor: CupertinoColors.white, - value: state.isStressFingerprint.value, - onChanged: (value) { - setState(() { - state.isStressFingerprint.value = value; - switch(state.type.value){ - case 0: - // 卡 - logic.editICCardData(); - break; - case 1: - // 指纹 - logic.editFingerprintsData(); - break; - case 2: - // 遥控 - - break; - } - - }); - }, - ); - } - - // Widget addControlsBtn(int type) { - // List widgetList = []; - // List> routerList = []; - // //卡详情 - // if (type == 0) { - // routerList.add({ - // 'btnTitle': '设置密码', - // 'routerName': Routers.passwordKeyDetailPage, - // 'type': 9 - // }); - // routerList.add({ - // 'btnTitle': '设置指纹', - // 'routerName': Routers.otherTypeKeyManagePage, - // 'type': 1 - // }); - // routerList.add({ - // 'btnTitle': '设置遥控', - // 'routerName': Routers.otherTypeKeyManagePage, - // 'type': 2 - // }); - // } else if (type == 1) { - // //指纹详情 - // routerList.add({ - // 'btnTitle': '设置密码', - // 'routerName': Routers.passwordKeyDetailPage, - // 'type': 9 - // }); - // routerList.add({ - // 'btnTitle': '设置卡', - // 'routerName': Routers.otherTypeKeyManagePage, - // 'type': 0 - // }); - // routerList.add({ - // 'btnTitle': '设置遥控', - // 'routerName': Routers.otherTypeKeyManagePage, - // 'type': 2 - // }); - // } else if (type == 2) { - // //遥控详情 - // routerList.add({ - // 'btnTitle': '设置密码', - // 'routerName': Routers.passwordKeyDetailPage, - // 'type': 9 - // }); - // routerList.add({ - // 'btnTitle': '设置卡', - // 'routerName': Routers.otherTypeKeyManagePage, - // 'type': 0 - // }); - // routerList.add({ - // 'btnTitle': '设置指纹', - // 'routerName': Routers.otherTypeKeyManagePage, - // 'type': 1 - // }); - // } - // - // for (int i = 0; i < routerList.length; i++) { - // widgetList.add(SizedBox( - // width: ScreenUtil().screenWidth - 40.w, - // height: 60.h, - // child: OutlinedButton( - // style: OutlinedButton.styleFrom( - // // backgroundColor: Colors.white, - // side: BorderSide(width: 1, color: AppColors.mainColor)), - // onPressed: () { - // if (routerList[i]['type'] == 9) { - // Navigator.pushNamed(context, Routers.passwordKeyManagePage); - // } else { - // Navigator.pushNamed(context, Routers.otherTypeKeyManagePage, - // arguments: routerList[i]['type']); - // } - // }, - // child: Text( - // routerList[i]['btnTitle'], - // style: TextStyle(color: AppColors.mainColor, fontSize: 24.sp), - // )), - // )); - // - // widgetList.add( - // SizedBox( - // height: 10.h, - // ), - // ); - // } - // - // return Column( - // children: widgetList, - // ); - // } - - String getAppBarTitle(int type) { - String title = ""; - switch (type) { - case 0: - title = TranslationLoader.lanKeys!.card!.tr; - break; - case 1: - title = TranslationLoader.lanKeys!.fingerprint!.tr; - break; - case 2: - title = TranslationLoader.lanKeys!.remoteControl!.tr; - break; - default: - break; - } - return title; - } - - void showCupertinoAlertDialog(BuildContext context) { - showDialog( - context: context, - builder: (BuildContext context) { - return ShowTFView( - title: "${TranslationLoader.lanKeys!.amend!.tr}${TranslationLoader.lanKeys!.name!.tr}", - tipTitle: "", - controller: state.changeNameController, - sureClick: () { - if(state.changeNameController.text.isEmpty){ - Toast.show(msg: "请输入姓名"); - return; - } - Get.back(); - switch(state.type.value){ - case 0: - // 卡 - logic.editICCardData(); - break; - case 1: - // 指纹 - logic.editFingerprintsData(); - break; - case 2: - // 遥控 - - break; - } - }, - cancelClick: () { - Get.back(); - },); - }); - } - - void showIosTipViewDialog(BuildContext context) { - showDialog( - context: context, - builder: (BuildContext context) { - return ShowIosTipView( - title: "提示", - tipTitle: "确定要删除吗?", - sureClick: () { - Get.back(); - switch (state.type.value) { - case 0: - // 卡 - logic.deletICCardData(); - break; - case 1: - // 指纹 - logic.deletFingerprintsData(); - break; - case 2: - - break; - default: - break; - } - }, - cancelClick: () { - Get.back(); - }, - ); - } - ); - } - -} diff --git a/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyDetail/otherTypeKeyDetail_state.dart b/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyDetail/otherTypeKeyDetail_state.dart deleted file mode 100644 index 8d2fcb85..00000000 --- a/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyDetail/otherTypeKeyDetail_state.dart +++ /dev/null @@ -1,62 +0,0 @@ - -import 'package:flutter/material.dart'; -import 'package:get/get.dart'; - -import '../../../../tools/dateTool.dart'; -import '../otherTypeKeyList/fingerprintListData_entity.dart'; - -class OtherTypeKeyDetailState{ - final fingerprintItemData = FingerprintItemData().obs; - final type = 0.obs;// 0卡 1指纹 2遥控 - - final TextEditingController changeNameController = TextEditingController(); - - final typeNumber = "".obs;// 指纹号 - final typeName = "".obs;// 指纹名字 - var effectiveDateTime = 0.obs;// 生效时间 - var failureDateTime = 0.obs;// 失效时间 - final keyType = 0.obs;// 永久:1;限时2,单次3,循环:4 - var weekDay = [].obs;// 有效日 - var adder = "".obs;// 添加者 - var addTime = 0.obs;// 添加时间 - var keyId = 0.obs;// 添加时间 - - final isStressFingerprint = false.obs; - OtherTypeKeyDetailState() { - Map map = Get.arguments; - type.value = map["type"]; - if(type.value == 0){ - // 0卡 - fingerprintItemData.value = map["fingerprintItemData"]; - keyId.value = fingerprintItemData.value.cardId!; - typeNumber.value = fingerprintItemData.value.cardNumber!; - typeName.value = fingerprintItemData.value.cardName!; - changeNameController.text = typeName.value; - effectiveDateTime.value = fingerprintItemData.value.startDate!; - failureDateTime.value = fingerprintItemData.value.endDate!; - keyType.value = fingerprintItemData.value.cardType!; - adder.value = fingerprintItemData.value.senderUsername!; - addTime.value = fingerprintItemData.value.createDate!; - isStressFingerprint.value = fingerprintItemData.value.isCoerced! == 2 ? true : false; - weekDay.value = fingerprintItemData.value.weekDay!; - }else if(type.value == 1){ - // 1指纹 - fingerprintItemData.value = map["fingerprintItemData"]; - keyId.value = fingerprintItemData.value.fingerprintId!; - typeNumber.value = fingerprintItemData.value.fingerprintNumber!; - typeName.value = fingerprintItemData.value.fingerprintName!; - changeNameController.text = typeName.value; - effectiveDateTime.value = fingerprintItemData.value.startDate!; - failureDateTime.value = fingerprintItemData.value.endDate!; - keyType.value = fingerprintItemData.value.fingerprintType!; - adder.value = fingerprintItemData.value.senderUsername!; - addTime.value = fingerprintItemData.value.createDate!; - isStressFingerprint.value = fingerprintItemData.value.isCoerced! == 2 ? true : false; - weekDay.value = fingerprintItemData.value.weekDay!; - }else if(type.value == 2){ - // 2遥控 - - } - - } -} \ No newline at end of file diff --git a/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyList/fingerprintListData_entity.dart b/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyList/fingerprintListData_entity.dart deleted file mode 100644 index 6f834b34..00000000 --- a/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyList/fingerprintListData_entity.dart +++ /dev/null @@ -1,147 +0,0 @@ -class FingerprintListDataEntity { - int? errorCode; - String? description; - String? errorMsg; - Data? data; - - FingerprintListDataEntity( - {this.errorCode, this.description, this.errorMsg, this.data}); - - FingerprintListDataEntity.fromJson(Map json) { - errorCode = json['errorCode']; - description = json['description']; - errorMsg = json['errorMsg']; - data = json['data'] != null ? Data.fromJson(json['data']) : null; - } - - Map toJson() { - final Map data = Map(); - data['errorCode'] = errorCode; - data['description'] = description; - data['errorMsg'] = errorMsg; - if (this.data != null) { - data['data'] = this.data!.toJson(); - } - return data; - } -} - -class Data { - List? list; - int? pageNo; - int? pageSize; - int? pages; - int? total; - - Data({this.list, this.pageNo, this.pageSize, this.pages, this.total}); - - Data.fromJson(Map json) { - if (json['list'] != null) { - list = []; - json['list'].forEach((v) { - list!.add(FingerprintItemData.fromJson(v)); - }); - } - pageNo = json['pageNo']; - pageSize = json['pageSize']; - pages = json['pages']; - total = json['total']; - } - - Map toJson() { - final Map data = {}; - if (list != null) { - data['list'] = list!.map((v) => v.toJson()).toList(); - } - data['pageNo'] = pageNo; - data['pageSize'] = pageSize; - data['pages'] = pages; - data['total'] = total; - return data; - } -} - -class FingerprintItemData { - int? fingerprintStatus; - int? lockId; - int? createDate; - String? fingerprintName; - int? endDate; - int? apiUserId; - String? nickName; - int? isCoerced; - int? startDate; - String? fingerprintNumber; - int? fingerprintType; - int? fingerprintId; - String? senderUsername; - List? weekDay; - - String? cardName; - String? cardNumber; - int? cardType; - int? cardId; - FingerprintItemData( - { this.fingerprintStatus, - this.lockId, - this.createDate, - this.fingerprintName, - this.endDate, - this.apiUserId, - this.nickName, - this.isCoerced, - this.startDate, - this.fingerprintNumber, - this.fingerprintType, - this.fingerprintId, - this.senderUsername, - this.weekDay, - this.cardName, - this.cardNumber, - this.cardType, - this.cardId}); - - FingerprintItemData.fromJson(Map json) { - fingerprintStatus = json['fingerprintStatus']; - lockId = json['lockId']; - createDate = json['createDate']; - fingerprintName = json['fingerprintName']; - endDate = json['endDate']; - apiUserId = json['apiUserId']; - nickName = json['nickName']; - isCoerced = json['isCoerced']; - startDate = json['startDate']; - fingerprintNumber = json['fingerprintNumber']; - fingerprintType = json['fingerprintType']; - fingerprintId = json['fingerprintId']; - senderUsername = json['senderUsername']; - weekDay = json['weekDay']; - cardName = json['cardName']; - cardNumber = json['cardNumber']; - cardType = json['cardType']; - cardId = json['cardId']; - } - - Map toJson() { - final Map data = {}; - data['fingerprintStatus'] = fingerprintStatus; - data['lockId'] = lockId; - data['createDate'] = createDate; - data['fingerprintName'] = fingerprintName; - data['endDate'] = endDate; - data['apiUserId'] = apiUserId; - data['nickName'] = nickName; - data['isCoerced'] = isCoerced; - data['startDate'] = startDate; - data['fingerprintNumber'] = fingerprintNumber; - data['fingerprintType'] = fingerprintType; - data['fingerprintId'] = fingerprintId; - data['senderUsername'] = senderUsername; - data['weekDay'] = weekDay; - data['cardName'] = cardName; - data['cardNumber'] = cardNumber; - data['cardType'] = cardType; - data['cardId'] = cardId; - return data; - } -} \ No newline at end of file diff --git a/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyList/otherTypeKeyList_logic.dart b/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyList/otherTypeKeyList_logic.dart deleted file mode 100644 index 6fc4b274..00000000 --- a/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyList/otherTypeKeyList_logic.dart +++ /dev/null @@ -1,589 +0,0 @@ - -import 'dart:async'; - -import 'package:flutter_reactive_ble/flutter_reactive_ble.dart'; -import 'package:star_lock/blue/io_protocol/io_addICCard.dart'; -import 'package:star_lock/blue/io_type.dart'; - -import '../../../../blue/blue_manage.dart'; -import '../../../../blue/io_protocol/io_addFingerprint.dart'; -import '../../../../blue/io_protocol/io_checkingCardStatus.dart'; -import '../../../../blue/io_protocol/io_checkingUserInfoCount.dart'; -import '../../../../blue/io_protocol/io_queryingFingerprintStatus.dart'; -import '../../../../blue/io_reply.dart'; -import '../../../../blue/io_tool/io_manager.dart'; -import '../../../../blue/io_tool/io_tool.dart'; -import '../../../../blue/io_tool/manager_event_bus.dart'; -import '../../../../blue/sender_manage.dart'; -import '../../../../network/api_repository.dart'; -import '../../../../tools/baseGetXController.dart'; -import '../../../../tools/eventBusEventManage.dart'; -import '../../../../tools/storage.dart'; -import '../../../../tools/toast.dart'; -import 'otherTypeKeyList_state.dart'; - -class OtherTypeKeyListLogic extends BaseGetXController{ - OtherTypeKeyListState state = OtherTypeKeyListState(); - - // 获取解析后的数据 - late StreamSubscription _replySubscription; - void _initReplySubscription() { - _replySubscription = EventBusManager().eventBus!.on().listen((reply) { - // 添加指纹开始(重置锁里面所有指纹) - if((reply is SenderAddFingerprintReply) && (state.isDeletFingerprintData == true)) { - _replyAddFingerprintBegin(reply); - } - - // 添加卡片开始(重置锁里面所有卡) - if((reply is SenderAddICCardReply) && (state.isDeletICCardData == true)) { - _replyAddICCardBegin(reply); - } - - if(reply is SenderQueryingFingerprintStatusReply) { - // 获取指纹状态 - _replyQueryingFingerprintStatus(reply); - } - - if(reply is SenderCheckingCardStatusReply) { - _replyReferEventRecordNumber(reply); - } - - if(reply is SenderCheckingUserInfoCountReply){ - _replyCheckingUserInfoCount(reply); - } - }); - } - - Future _replyAddICCardBegin(Reply reply) async { - int status = reply.data[2]; - print("_replyAddFingerprintStatus:$status"); - - switch(status){ - case 0x00: - //成功 - print("${reply.commandType!.typeValue} 数据解析成功"); - state.isDeletICCardData = false; - deletICCardData(); - break; - case 0x06: - //无权限 - print("${reply.commandType!.typeValue} 需要鉴权"); - var privateKey = await Storage.getStringList(saveBluePrivateKey); - List getPrivateKeyList = changeStringListToIntList(privateKey!); - - var publicKey = await Storage.getStringList(saveBluePublicKey); - List publicKeyDataList = changeStringListToIntList(publicKey!); - - var token = await Storage.getStringList(saveBlueToken); - List getTokenList = changeStringListToIntList(token!); - - IoSenderManage.senderAddICCardCommand( - keyID:"1", - userID:"DeleteAll!@#", - cardNo:255, - useCountLimit:0, - startTime:0x11223344, - endTime:0x11223344, - needAuthor:1, - publicKey:publicKeyDataList, - privateKey:getPrivateKeyList, - token: getTokenList, - ); - break; - case 0x07: - //无权限 - print("${reply.commandType!.typeValue} 用户无权限"); - - break; - case 0x09: - // 权限校验错误 - print("${reply.commandType!.typeValue} 权限校验错误"); - - break; - default: - //失败 - print("${reply.commandType!.typeValue} 失败"); - - break; - } - } - - // 重置锁里面所有指纹 - Future _replyAddFingerprintBegin(Reply reply) async { - - int status = reply.data[2]; - print("status:$status"); - - switch(status){ - case 0x00: - //成功 - print("${reply.commandType!.typeValue} 数据解析成功"); - state.isDeletFingerprintData = false; - deletAllFingerprintsData(); - break; - case 0x06: - //无权限 - print("${reply.commandType!.typeValue} 需要鉴权"); - var privateKey = await Storage.getStringList(saveBluePrivateKey); - List getPrivateKeyList = changeStringListToIntList(privateKey!); - - var publicKey = await Storage.getStringList(saveBluePublicKey); - List publicKeyDataList = changeStringListToIntList(publicKey!); - - var token = await Storage.getStringList(saveBlueToken); - List getTokenList = changeStringListToIntList(token!); - - IoSenderManage.senderAddFingerprintCommand( - keyID:"1", - userID:"DeleteAll!@#", - fingerNo:255, - useCountLimit:0, - startTime:0x11223344, - endTime:0x11223344, - needAuthor:1, - publicKey:publicKeyDataList, - privateKey:getPrivateKeyList, - token: getTokenList, - ); - break; - case 0x07: - //无权限 - print("${reply.commandType!.typeValue} 用户无权限"); - - break; - case 0x09: - // 权限校验错误 - print("${reply.commandType!.typeValue} 权限校验错误"); - - break; - default: - //失败 - print("${reply.commandType!.typeValue} 失败"); - - break; - } - } - - // 获取指纹状态 - Future _replyQueryingFingerprintStatus(Reply reply) async { - int status = reply.data[2]; - - switch(status){ - case 0x00: - //成功 - print("${reply.commandType}数据解析成功"); - // _getLockStatus(); - break; - case 0x06: - //无权限 - print("${reply.commandType}需要鉴权"); - - break; - case 0x07: - //无权限 - print("${reply.commandType}用户无权限"); - - break; - case 0x09: - // 权限校验错误 - print("${reply.commandType}权限校验错误"); - - break; - default: - //失败 - print("${reply.commandType}失败"); - - break; - } - } - - // 获取卡片状态 - Future _replyReferEventRecordNumber(Reply reply) async { - int status = reply.data[2]; - switch(status){ - case 0x00: - //成功 - print("${reply.commandType}数据解析成功"); - // _getLockStatus(); - break; - case 0x06: - //无权限 - print("${reply.commandType}需要鉴权"); - - break; - case 0x07: - //无权限 - print("${reply.commandType}用户无权限"); - - break; - case 0x09: - // 权限校验错误 - print("${reply.commandType}权限校验错误"); - - break; - default: - //失败 - print("${reply.commandType}失败"); - - break; - } - } - - // 查询用户、指纹、密码、卡片数量(用于判断是否同步) - Future _replyCheckingUserInfoCount(Reply reply) async { - int status = reply.data[2]; - - // 用户数量 - int userNum = reply.data[5]; - // print("userNum:$userNum"); - - // 指纹数量 - int fingerNum = reply.data[6]; - // print("fingerNum:$fingerNum"); - - // 密码数量 - int pwdNum = reply.data[7]; - - // 卡片数量 - int cardNum = reply.data[8]; - - // 记录数量 - int logsNum = reply.data[9]; - - // 版本 - int verNo = reply.data[10]; - - // 最大管理员指纹数量 - int maxAdminFingerNum = reply.data[11]; - - // 最大用户指纹数量 - int maxUserFingerNum = reply.data[12]; - - // 最大管理员密码数量 - int maxAdminPassNum = reply.data[13]; - - // 最大用户密码数量 - int maxUserPassNum = reply.data[14]; - - // 最大管理员卡片数量 - int maxAdminCardNum = reply.data[15]; - - // 最大用户卡片数量 - int maxUserCardNum = reply.data[16]; - - // 序列号 - var serialNo = reply.data.sublist(17, 21); - print("serialNo:$serialNo"); - - switch(status){ - case 0x00: - //成功 - print("${reply.commandType}数据解析成功"); - // _getLockStatus(); - break; - case 0x06: - //无权限 - print("${reply.commandType}需要鉴权"); - - break; - case 0x07: - //无权限 - print("${reply.commandType}用户无权限"); - - break; - case 0x09: - // 权限校验错误 - print("${reply.commandType}权限校验错误"); - - break; - default: - //失败 - print("${reply.commandType}失败"); - - break; - } - } - // 获取指纹状态 - Future senderQueryingFingerprintStatus() async { - BlueManage().judgeReconnect(BlueManage().connectDeviceMacAddress, BlueManage().connectDeviceName,(DeviceConnectionState state) async { - if (state == DeviceConnectionState.connected) { - var privateKey = await Storage.getStringList(saveBluePrivateKey); - List getPrivateKeyList = changeStringListToIntList(privateKey!); - - var token = await Storage.getStringList(saveBlueToken); - List getTokenList = changeStringListToIntList(token!); - - var publicKey = await Storage.getStringList(saveBluePublicKey); - List getPublicKeyList = changeStringListToIntList(publicKey!); - - IoSenderManage.senderQueryingFingerprintStatusCommand( - keyID:BlueManage().connectDeviceName, - userID:await Storage.getUid(), - role:0xff, - fingerCount:20, - fingerNo:1, - token:getTokenList, - needAuthor:1, - publicKey:getPublicKeyList, - privateKey:getPrivateKeyList, - ); - } - }); - } - - // 查询卡片状态 - Future senderCheckingCardStatus() async { - BlueManage().judgeReconnect(BlueManage().connectDeviceMacAddress, BlueManage().connectDeviceName, (DeviceConnectionState state) async { - if (state == DeviceConnectionState.connected) { - var privateKey = await Storage.getStringList(saveBluePrivateKey); - List getPrivateKeyList = changeStringListToIntList(privateKey!); - - var token = await Storage.getStringList(saveBlueToken); - List getTokenList = changeStringListToIntList(token!); - - var publicKey = await Storage.getStringList(saveBluePublicKey); - List getPublicKeyList = changeStringListToIntList(publicKey!); - - IoSenderManage.senderCheckingCardStatusCommand( - keyID:BlueManage().connectDeviceName, - userID:await Storage.getUid(), - role:0xff, - cardCount:20, - cardNo:1, - token:getTokenList, - needAuthor:1, - publicKey:getPublicKeyList, - privateKey:getPrivateKeyList, - ); - } - }); - } - - // 查询用户、指纹、密码、卡片数量(用于判断是否同步) - Future senderCheckingUserInfoCount() async { - BlueManage().judgeReconnect(BlueManage().connectDeviceMacAddress, BlueManage().connectDeviceName, (DeviceConnectionState state) async { - if (state == DeviceConnectionState.connected) { - var privateKey = await Storage.getStringList(saveBluePrivateKey); - List getPrivateKeyList = changeStringListToIntList(privateKey!); - - var token = await Storage.getStringList(saveBlueToken); - List getTokenList = changeStringListToIntList(token!); - - var publicKey = await Storage.getStringList(saveBluePublicKey); - List getPublicKeyList = changeStringListToIntList(publicKey!); - - IoSenderManage.senderCheckingUserInfoCountCommand( - keyID:BlueManage().connectDeviceName, - userID:await Storage.getUid(), - role:0xff, - nowTime:DateTime.now().millisecondsSinceEpoch~/1000, - token:getTokenList, - needAuthor:1, - publicKey:getPublicKeyList, - privateKey:getPrivateKeyList, - ); - } - }, isShowLoading: false); - } - - // 重置所有指纹 - Future senderAddFingerprint(String keyId, String userID, int cardNo) async { - BlueManage().judgeReconnect(BlueManage().connectDeviceMacAddress, BlueManage().connectDeviceName, (DeviceConnectionState deviceConnectionState) async { - if (deviceConnectionState == DeviceConnectionState.connected){ - var publicKey = await Storage.getStringList(saveBluePublicKey); - List publicKeyDataList = changeStringListToIntList(publicKey!); - - var privateKey = await Storage.getStringList(saveBluePrivateKey); - List getPrivateKeyList = changeStringListToIntList(privateKey!); - - var token = await Storage.getStringList(saveBlueToken); - List getTokenList = changeStringListToIntList(token!); - - IoSenderManage.senderAddFingerprintCommand( - // keyID:"1", - // userID:"DeleteAll!@#", - // fingerNo:255, - keyID:keyId, - userID:userID, - fingerNo:cardNo, - useCountLimit:0, - startTime:0x11223344, - endTime:0x11223344, - needAuthor:1, - publicKey:publicKeyDataList, - privateKey:getPrivateKeyList, - token: getTokenList, - ); - } - }); - } - - // 删除卡片 - Future senderAddICCard(String keyId, String userID, int cardNo) async { - BlueManage().judgeReconnect(BlueManage().connectDeviceMacAddress, BlueManage().connectDeviceName, (DeviceConnectionState state) async { - if (state == DeviceConnectionState.connected){ - var publicKey = await Storage.getStringList(saveBluePublicKey); - List publicKeyDataList = changeStringListToIntList(publicKey!); - - var privateKey = await Storage.getStringList(saveBluePrivateKey); - List getPrivateKeyList = changeStringListToIntList(privateKey!); - - var token = await Storage.getStringList(saveBlueToken); - List getTokenList = changeStringListToIntList(token!); - print("openDoorTokenPubToken:$getTokenList"); - - IoSenderManage.senderAddICCardCommand( - // keyID:"1", - // userID:"DeleteAll!@#", - // cardNo:255, - keyID:keyId, - userID:userID, - cardNo:cardNo, - useCountLimit:0, - startTime:0x11223344, - endTime:0x11223344, - needAuthor:1, - publicKey:publicKeyDataList, - privateKey:getPrivateKeyList, - token: getTokenList, - ); - } - }); - } - - // 获取指纹列表 - void getFingerprintsListData() async{ - var entity = await ApiRepository.to.getFingerprintsListData( - lockId: state.lockId.value.toString(), - pageNo: '1', - pageSize: '20', - searchStr: state.searchController.text, - ); - if(entity.errorCode!.codeIsSuccessful){ - state.fingerprintItemListData.value = entity.data!.list!; - } - } - - // 重置所有的指纹 - void deletAllFingerprintsData() async{ - var entity = await ApiRepository.to.deletFingerprintsData( - fingerprintId: "", - lockId: state.lockId.value.toString(), - type: "1", - deleteType:"1" - ); - if(entity.errorCode!.codeIsSuccessful){ - Toast.show(msg: "重置成功"); - state.isDeletFingerprintData = false; - getFingerprintsListData(); - } - } - - // 获取IC卡列表 - void getICCardListData() async{ - var entity = await ApiRepository.to.getICCardListData( - lockId: state.lockId.value.toString(), - pageNo: '1', - pageSize: '20', - searchStr: state.searchController.text, - ); - if(entity.errorCode!.codeIsSuccessful){ - state.fingerprintItemListData.value = entity.data!.list!; - } - } - - // 删除所有IC卡 - void deletICCardData() async{ - var entity = await ApiRepository.to.deletIcCardData( - cardId: "", - lockId: state.lockId.value.toString(), - type: "1", - deleteType:"1" - ); - if(entity.errorCode!.codeIsSuccessful){ - Toast.show(msg: "重置成功"); - getICCardListData(); - } - } - - // 监听修改完详情之后刷新列表 - late StreamSubscription _teamEvent; - void _initRefreshAction() { - _teamEvent = eventBus.on().listen((event) { - switch (state.fromType.value) { - case 0: - // 卡 - getICCardListData(); - break; - case 1: - // 指纹 - getFingerprintsListData(); - break; - case 2: - // 遥控 - - break; - default: - break; - } - }); - } - - @override - Future onReady() async { - // TODO: implement onReady - super.onReady(); - print("onReady()"); - - // 获取是否是演示模式 演示模式不获取接口 - var isDemoMode = await Storage.getBool(ifIsDemoModeOrNot); - // print("aaaaaaa:$isDemoMode"); - if(isDemoMode == false){ - _initReplySubscription(); - - _initRefreshAction(); - - switch (state.fromType.value) { - case 0: - // 卡 - getICCardListData(); - break; - case 1: - // 指纹 - getFingerprintsListData(); - break; - case 2: - // 遥控 - - break; - default: - break; - } - } - } - - @override - Future onInit() async { - // TODO: implement onInit - super.onInit(); - print("onInit()"); - var isDemoMode = await Storage.getBool(ifIsDemoModeOrNot); - if(isDemoMode == false) { - // senderQueryingFingerprintStatus(); - // senderCheckingCardStatus(); - senderCheckingUserInfoCount(); - } - } - - @override - Future onClose() async { - // TODO: implement onClose - super.onClose(); - - var isDemoMode = await Storage.getBool(ifIsDemoModeOrNot); - if(isDemoMode == false) { - _replySubscription.cancel(); - _teamEvent.cancel(); - } - } -} \ No newline at end of file diff --git a/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyList/otherTypeKeyList_page.dart b/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyList/otherTypeKeyList_page.dart deleted file mode 100644 index 690ab991..00000000 --- a/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyList/otherTypeKeyList_page.dart +++ /dev/null @@ -1,486 +0,0 @@ -import 'package:flutter/cupertino.dart'; -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/dateTool.dart'; -import '../../../../tools/left_slide_actions.dart'; -import '../../../../tools/noData.dart'; -import '../../../../tools/showIosTipView.dart'; -import '../../../../tools/storage.dart'; -import '../../../../tools/submitBtn.dart'; -import '../../../../tools/titleAppBar.dart'; -import '../../../../tools/toast.dart'; -import '../../../../translations/trans_lib.dart'; -import 'fingerprintListData_entity.dart'; -import 'otherTypeKeyList_logic.dart'; - -class OtherTypeKeyListPage extends StatefulWidget { - const OtherTypeKeyListPage({Key? key}) : super(key: key); - - @override - State createState() => _OtherTypeKeyListPageState(); -} - -class _OtherTypeKeyListPageState extends State { - final logic = Get.put(OtherTypeKeyListLogic()); - final state = Get.find().state; - - @override - Widget build(BuildContext context) { - return Scaffold( - backgroundColor: AppColors.mainBackgroundColor, - appBar: TitleAppBar( - barTitle: getAppBarTitle(state.fromType.value), - haveBack: true, - backgroundColor: AppColors.mainColor, - actionsList: [ - TextButton( - child: Text( - TranslationLoader.lanKeys!.reset!.tr, - style: TextStyle(color: Colors.white, fontSize: 24.sp), - ), - onPressed: () async { - var isDemoMode = await Storage.getBool(ifIsDemoModeOrNot); - if (isDemoMode == false) { - showDeletAlertDialog(context); - } else { - // Get.toNamed(Routers.seletLockTypePage); - Toast.show(msg: "演示模式"); - } - }, - ), - ], - ), - body: Column( - children: [ - _searchWidget(), - SizedBox( - height: 20.h, - ), - Expanded(child: _buildMainUI(state.fromType.value)), - AddBottomWhiteBtn( - btnName: - '${TranslationLoader.lanKeys!.add!.tr}${getAppBarTitle(state.fromType.value)}', - onClick: () async { - var data = - await Get.toNamed(Routers.otherTypeKeyManagePage, arguments: { - "lockId": state.lockId.value, - "keyType": state.fromType.value, - "fromType": 1 // 1从添加钥匙列表进入 2从考勤添加员工入口进入 - }); - if (data != null) { - switch (state.fromType.value) { - case 0: - // 卡 - logic.getICCardListData(); - break; - case 1: - // 指纹 - logic.getFingerprintsListData(); - break; - case 2: - // 遥控 - - break; - case 3: - // 人脸 - - break; - default: - break; - } - } - }, - ), - SizedBox( - height: 64.h, - ) - ], - ), - ); - } - - String getAppBarTitle(int type) { - String title = ""; - switch (type) { - case 0: - title = TranslationLoader.lanKeys!.card!.tr; - break; - case 1: - title = TranslationLoader.lanKeys!.fingerprint!.tr; - break; - case 2: - title = TranslationLoader.lanKeys!.remoteControl!.tr; - break; - case 3: - title = TranslationLoader.lanKeys!.face!.tr; - break; - default: - break; - } - return title; - } - - Widget _searchWidget() { - return Container( - height: 60.h, - margin: EdgeInsets.only(top: 20.w, left: 20.w, right: 10.w), - decoration: BoxDecoration( - color: Colors.white, borderRadius: BorderRadius.circular(5)), - child: TextField( - //输入框一行 - maxLines: 1, - controller: state.searchController, - autofocus: false, - onChanged: (value) { - print("onChanged:$value"); - }, - onEditingComplete: () { - print("onEditingComplete:"); - }, - onSubmitted: (value) { - switch (state.fromType.value) { - case 0: - // 卡 - logic.getICCardListData(); - break; - case 1: - // 指纹 - logic.getFingerprintsListData(); - break; - case 2: - // 遥控 - - break; - case 3: - // 人脸 - - break; - default: - break; - } - }, - decoration: InputDecoration( - //输入里面输入文字内边距设置 - contentPadding: const EdgeInsets.only( - top: 12.0, left: -19.0, right: -15.0, bottom: 8.0), - hintText: TranslationLoader.lanKeys!.pleaseEnter!.tr, - hintStyle: TextStyle(fontSize: 22.sp, height: 3.0), - //不需要输入框下划线 - border: InputBorder.none, - //左边图标设置 - icon: Padding( - padding: EdgeInsets.only( - top: 20.h, bottom: 20.h, right: 20.w, left: 10.w), - child: Image.asset( - 'images/main/icon_main_search.png', - width: 40.w, - height: 40.w, - ), - ), - ), - ), - ); - } - - Widget _buildMainUI(int type) { - // String typeImgName = ""; - // if (type == 0) { - // //卡 - // typeImgName = 'images/icon_card.png'; - // } else if (type == 1) { - // //指纹 - // typeImgName = 'images/icon_fingerprint.png'; - // } else if (type == 2) { - // //遥控 - // typeImgName = 'images/icon_card.png'; - // } - - return Obx(() => state.fingerprintItemListData.value.isNotEmpty - ? ListView.separated( - itemCount: state.fingerprintItemListData.value.length, - itemBuilder: (c, index) { - FingerprintItemData fingerprintItemData = - state.fingerprintItemListData.value[index]; - switch (state.fromType.value) { - case 0: - // 卡 - if (index < state.fingerprintItemListData.value.length) { - return LeftSlideActions( - key: Key(fingerprintItemData.cardName!), - actionsWidth: 60, - actions: [ - _buildDeleteBtn(fingerprintItemData.cardId.toString()), - ], - decoration: const BoxDecoration( - borderRadius: BorderRadius.all(Radius.circular(1)), - ), - child: _keyItem( - 'images/icon_card.png', - fingerprintItemData.cardName!, - fingerprintItemData.cardType! == 1 - ? "永久" - : "${DateTool().dateToYMDHNString(fingerprintItemData.startDate.toString())} - ${DateTool().dateToYMDHNString(fingerprintItemData.endDate.toString())}", - () async { - var data = await Get.toNamed( - Routers.otherTypeKeyDetailPage, - arguments: { - "fingerprintItemData": fingerprintItemData, - "type": type, - }); - if (data != null) { - logic.getICCardListData(); - } - }), - ); - } - return const SizedBox.shrink(); - - return _keyItem( - 'images/icon_card.png', - fingerprintItemData.cardName!, - fingerprintItemData.cardType! == 1 - ? "永久" - : "${DateTool().dateToYMDHNString(fingerprintItemData.startDate.toString())} - ${DateTool().dateToYMDHNString(fingerprintItemData.endDate.toString())}", - () async { - var data = await Get.toNamed(Routers.otherTypeKeyDetailPage, - arguments: { - "fingerprintItemData": fingerprintItemData, - "type": type, - }); - if (data != null) { - logic.getICCardListData(); - } - }); - break; - case 1: - // 指纹 - if (index < state.fingerprintItemListData.value.length) { - return LeftSlideActions( - key: Key(fingerprintItemData.fingerprintName!), - actionsWidth: 60, - actions: [ - _buildDeleteBtn( - fingerprintItemData.fingerprintId.toString()), - ], - decoration: const BoxDecoration( - borderRadius: BorderRadius.all(Radius.circular(1)), - ), - child: _keyItem( - 'images/icon_fingerprint.png', - fingerprintItemData.fingerprintName!, - fingerprintItemData.fingerprintType! == 1 - ? "永久" - : "${DateTool().dateToYMDHNString(fingerprintItemData.startDate.toString())} - ${DateTool().dateToYMDHNString(fingerprintItemData.endDate.toString())}", - () async { - var data = await Get.toNamed( - Routers.otherTypeKeyDetailPage, - arguments: { - "fingerprintItemData": fingerprintItemData, - "type": type, - }); - if (data != null) { - logic.getFingerprintsListData(); - } - }), - ); - } - return const SizedBox.shrink(); - - return _keyItem( - 'images/icon_fingerprint.png', - fingerprintItemData.fingerprintName!, - fingerprintItemData.fingerprintType! == 1 - ? "永久" - : "${DateTool().dateToYMDHNString(fingerprintItemData.startDate.toString())} - ${DateTool().dateToYMDHNString(fingerprintItemData.endDate.toString())}", - () async { - var data = await Get.toNamed(Routers.otherTypeKeyDetailPage, - arguments: { - "fingerprintItemData": fingerprintItemData, - "type": type, - }); - if (data != null) { - logic.getFingerprintsListData(); - } - }); - break; - case 2: - // 遥控 - - break; - default: - break; - } - }, - separatorBuilder: (BuildContext context, int index) { - return const Divider( - height: 1, - color: AppColors.greyLineColor, - ); - }, - ) - : const NoData()); - } - - Widget _buildDeleteBtn(String idStr) { - return GestureDetector( - onTap: () { - // 省略: 弹出是否删除的确认对话框。 - showIosTipViewDialog(context, idStr); - }, - child: Container( - width: 60, - color: const Color(0xFFF20101), - alignment: Alignment.center, - child: const Text( - '删除', - style: TextStyle( - fontSize: 16, - fontWeight: FontWeight.w500, - color: Colors.white, - height: 1, - ), - ), - ), - ); - } - - void showIosTipViewDialog(BuildContext context, String keyId) { - showDialog( - context: context, - builder: (BuildContext context) { - return ShowIosTipView( - title: "提示", - tipTitle: "确定要删除吗?", - sureClick: () async { - Get.back(); - String? idStr = await Storage.getUid(); - switch (state.fromType.value) { - case 0: - // 卡 - state.isDeletICCardData = true; - logic.senderAddICCard(keyId, idStr ?? "", 0); - break; - case 1: - // 指纹 - state.isDeletFingerprintData = true; - logic.senderAddFingerprint(keyId, idStr ?? "", 0); - break; - case 2: - // 遥控 - - break; - default: - break; - } - }, - cancelClick: () { - Get.back(); - }, - ); - }, - ); - } - - Widget _keyItem(String lockTypeIcon, String lockTypeTitle, String showTime, - Function() action) { - return GestureDetector( - onTap: action, - child: Container( - height: 90.h, - // margin: EdgeInsets.only(left: 20.w, right: 20.w, top: 20.w), - color: Colors.white, - // decoration: BoxDecoration( - // color: Colors.white, - // // borderRadius: BorderRadius.circular(10.w), - // ), - child: Row( - children: [ - SizedBox(width: 30.w), - Image.asset(lockTypeIcon, width: 60.w, height: 60.w), - SizedBox(width: 20.w), - Expanded( - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - Text(lockTypeTitle, - style: TextStyle( - fontSize: 24.sp, color: AppColors.blackColor)), - ], - ), - SizedBox(height: 5.h), - Container( - child: Row( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - Text(showTime, - style: TextStyle( - fontSize: 18.sp, - color: AppColors.placeholderTextColor)), - ], - ), - ), - SizedBox(width: 20.h), - ], - ), - ), - SizedBox(width: 20.h), - ], - ), - ), - ); - } - - void showDeletAlertDialog( - BuildContext context, - ) { - showCupertinoDialog( - context: context, - builder: (context) { - return CupertinoAlertDialog( - title: const Text("提示"), - content: const Text('重置后信息都会清除哦,确认要重置吗?'), - actions: [ - CupertinoDialogAction( - child: Text(TranslationLoader.lanKeys!.cancel!.tr), - onPressed: () { - Navigator.pop(context); - }, - ), - CupertinoDialogAction( - child: Text(TranslationLoader.lanKeys!.sure!.tr), - onPressed: () { - Navigator.pop(context); - switch (state.fromType.value) { - case 0: - // 卡 - state.isDeletICCardData = true; - logic.senderAddICCard("1", "DeleteAll!@#", 255); - break; - case 1: - // 指纹 - // logic.deletAllFingerprintsData(); - state.isDeletFingerprintData = true; - logic.senderAddFingerprint("1", "DeleteAll!@#", 255); - break; - case 2: - // 遥控 - - break; - default: - break; - } - }, - ), - ], - ); - }, - ); - } -} diff --git a/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyList/otherTypeKeyList_state.dart b/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyList/otherTypeKeyList_state.dart deleted file mode 100644 index 5e9b71ed..00000000 --- a/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyList/otherTypeKeyList_state.dart +++ /dev/null @@ -1,22 +0,0 @@ - -import 'package:flutter/material.dart'; -import 'package:get/get.dart'; - -import 'fingerprintListData_entity.dart'; - -class OtherTypeKeyListState{ - final lockId = 0.obs; - final fromType = 0.obs; - - var isDeletFingerprintData = false; - var isDeletICCardData = false; - - final fingerprintItemListData = [].obs; - final TextEditingController searchController = TextEditingController(); - - OtherTypeKeyListState() { - Map map = Get.arguments; - lockId.value = map["lockId"]; - fromType.value = map["fromType"]; - } -} \ No newline at end of file diff --git a/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyManage/otherTypeKeyManage_page.dart b/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyManage/otherTypeKeyManage_page.dart deleted file mode 100644 index e2819ad9..00000000 --- a/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyManage/otherTypeKeyManage_page.dart +++ /dev/null @@ -1,64 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:get/get.dart'; -import 'package:star_lock/blue/io_tool/io_manager.dart'; - -import '../../../../app_settings/app_colors.dart'; -import '../../../../tools/titleAppBar.dart'; -import '../../../../translations/trans_lib.dart'; -import 'otherTypeKeyManage_tabbar.dart'; - -class OtherTypeKeyManagePage extends StatefulWidget { - const OtherTypeKeyManagePage({Key? key}) : super(key: key); - - @override - State createState() => _OtherTypeKeyManagePageState(); -} - -class _OtherTypeKeyManagePageState extends State { - var index = 0; - - @override - Widget build(BuildContext context) { - // 0卡 1指纹 2钥匙 - Map map = Get.arguments; - var lockId = map["lockId"]; - var lockKeyType = map["keyType"]; - var fromType = map["fromType"]; // 1从添加钥匙列表进入 2从考勤添加员工入口进入 - var fromTypeTwoStaffName = ""; - if(fromType == 2){ - fromTypeTwoStaffName = map["fromTypeTwoStaffName"]; // 从添加员工进入 传入员工名字 - } - - return Scaffold( - backgroundColor: AppColors.mainBackgroundColor, - appBar: TitleAppBar( - barTitle: - "${TranslationLoader.lanKeys!.addTip!.tr}${getAppBarTitle(lockKeyType)}", - haveBack: true, - backgroundColor: AppColors.mainColor), - body: Column( - children: [ - OtherTypeKeyManageTabbar(initialIndex: index, lockType: lockKeyType, lockId: lockId, fromType: fromType, fromTypeTwoStaffName:fromTypeTwoStaffName), - ], - ), - ); - } - - String getAppBarTitle(int type) { - String title = ""; - switch (type) { - case 0: - title = TranslationLoader.lanKeys!.card!.tr; - break; - case 1: - title = TranslationLoader.lanKeys!.fingerprint!.tr; - break; - case 2: - title = TranslationLoader.lanKeys!.remoteControl!.tr; - break; - default: - break; - } - return title; - } -} diff --git a/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyManage/otherTypeKeyManage_tabbar.dart b/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyManage/otherTypeKeyManage_tabbar.dart deleted file mode 100644 index 5f479f0a..00000000 --- a/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeKeyManage/otherTypeKeyManage_tabbar.dart +++ /dev/null @@ -1,110 +0,0 @@ -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/CustomUnderlineTabIndicator.dart'; -import '../../../../translations/trans_lib.dart'; -import '../otherTypeAddKey/otherTypeAddKey_page.dart'; - -class OtherTypeKeyManageTabbar extends StatefulWidget { - var initialIndex = 1; - var lockType = 0; - var lockId = 0; - var fromType = 0; // 1从添加钥匙列表进入 2从考勤添加员工入口进入 - var fromTypeTwoStaffName = "";// 从添加员工进入 传入员工名字 - OtherTypeKeyManageTabbar( - {Key? key, required this.initialIndex, required this.lockType, required this.lockId, required this.fromType, required this.fromTypeTwoStaffName}) - : super(key: key); - - @override - State createState() => - _OtherTypeKeyManageTabbarState(); -} - -class _OtherTypeKeyManageTabbarState extends State - with SingleTickerProviderStateMixin { - late TabController _tabController; - - final List _itemTabs = [ - ItemView(title: TranslationLoader.lanKeys!.permanent!.tr, seletType: "0"), - ItemView(title: TranslationLoader.lanKeys!.timeLimit!.tr, seletType: "1"), - ItemView(title: TranslationLoader.lanKeys!.circulation!.tr, seletType: "2"), - ]; - - @override - void initState() { - // TODO: implement initState - super.initState(); - _tabController = TabController( - vsync: this, - length: _itemTabs.length, - initialIndex: widget.initialIndex); - } - - @override - Widget build(BuildContext context) { - return Expanded( - child: Column( - children: [ - _tabBar(), - _pageWidget(), - ], - )); - } - - TabBar _tabBar() { - return TabBar( - controller: _tabController, - tabs: _itemTabs.map((ItemView item) => _tab(item)).toList(), - isScrollable: true, - indicatorColor: Colors.red, - unselectedLabelColor: Colors.black, - unselectedLabelStyle: TextStyle( - color: AppColors.mainColor, - fontSize: 24.sp, - ), - automaticIndicatorColorAdjustment: true, - labelColor: AppColors.mainColor, - labelStyle: TextStyle( - color: AppColors.mainColor, - fontSize: 24.sp, - fontWeight: FontWeight.w600), - indicator: CustomUnderlineTabIndicator( - borderSide: BorderSide(color: AppColors.mainColor, width: 4.w), - strokeCap: StrokeCap.round, - width: 30.w), - ); - } - - Tab _tab(ItemView item) { - return Tab( - child: SizedBox( - width: 1.sw / 5, - child: Text(item.title, textAlign: TextAlign.center))); - } - - Widget _pageWidget() { - return Expanded( - child: TabBarView( - controller: _tabController, - children: _itemTabs - .map((ItemView item) => OtherTypeAddKeyPage( - seletType: item.seletType, - lockType: widget.lockType, - lockId: widget.lockId, - fromType: widget.fromType, - fromTypeTwoStaffName:widget.fromTypeTwoStaffName - )) - .toList(), - ), - ); - } -} - -class ItemView { - const ItemView({required this.title, required this.seletType}); - - final String title; - final String seletType; -}