fix:修复 批量授权锁 发送完应没有短信、邮件、微信通知,应直接提示操作成功
This commit is contained in:
parent
25598cd270
commit
9a56b0ae1d
@ -5,7 +5,11 @@ import 'package:flutter_blue_plus/flutter_blue_plus.dart';
|
|||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:star_lock/appRouters.dart';
|
import 'package:star_lock/appRouters.dart';
|
||||||
import 'package:star_lock/app_settings/app_settings.dart';
|
import 'package:star_lock/app_settings/app_settings.dart';
|
||||||
|
import 'package:star_lock/login/login/entity/LoginEntity.dart';
|
||||||
|
import 'package:star_lock/main/lockDetail/authorizedAdmin/authorizedAdmin/authorizedAdmin_entity.dart';
|
||||||
|
import 'package:star_lock/main/lockDetail/authorizedAdmin/authorizedAdmin/notice_template_entity.dart';
|
||||||
import 'package:star_lock/mine/valueAddedServices/advancedFunctionRecord/advancedFunctionRecord_entity.dart';
|
import 'package:star_lock/mine/valueAddedServices/advancedFunctionRecord/advancedFunctionRecord_entity.dart';
|
||||||
|
import 'package:star_lock/tools/NativeInteractionTool.dart';
|
||||||
import 'package:star_lock/tools/dateTool.dart';
|
import 'package:star_lock/tools/dateTool.dart';
|
||||||
import 'package:star_lock/tools/showCupertinoAlertView.dart';
|
import 'package:star_lock/tools/showCupertinoAlertView.dart';
|
||||||
|
|
||||||
@ -26,18 +30,21 @@ import 'authorizedAdmin_state.dart';
|
|||||||
class AuthorizedAdminLogic extends BaseGetXController {
|
class AuthorizedAdminLogic extends BaseGetXController {
|
||||||
final AuthorizedAdminState state = AuthorizedAdminState();
|
final AuthorizedAdminState state = AuthorizedAdminState();
|
||||||
|
|
||||||
|
int? keyId;
|
||||||
|
|
||||||
// 监听设备返回的数据
|
// 监听设备返回的数据
|
||||||
late StreamSubscription<Reply> _replySubscription;
|
late StreamSubscription<Reply> _replySubscription;
|
||||||
|
|
||||||
void _initReplySubscription() {
|
void _initReplySubscription() {
|
||||||
_replySubscription =
|
_replySubscription =
|
||||||
EventBusManager().eventBus!.on<Reply>().listen((reply) async {
|
EventBusManager().eventBus!.on<Reply>().listen((Reply reply) async {
|
||||||
// 转移权限
|
// 转移权限
|
||||||
if (reply is TransferPermissionsReply) {
|
if (reply is TransferPermissionsReply) {
|
||||||
var token = reply.data.sublist(2, 6);
|
final List<int> token = reply.data.sublist(2, 6);
|
||||||
var saveStrList = changeIntListToStringList(token);
|
final List<String> saveStrList = changeIntListToStringList(token);
|
||||||
Storage.setStringList(saveBlueToken, saveStrList);
|
Storage.setStringList(saveBlueToken, saveStrList);
|
||||||
|
|
||||||
int status = reply.data[6];
|
final int status = reply.data[6];
|
||||||
|
|
||||||
switch (status) {
|
switch (status) {
|
||||||
case 0x00:
|
case 0x00:
|
||||||
@ -45,20 +52,24 @@ class AuthorizedAdminLogic extends BaseGetXController {
|
|||||||
break;
|
break;
|
||||||
case 0x06:
|
case 0x06:
|
||||||
//无权限
|
//无权限
|
||||||
var privateKey = await Storage.getStringList(saveBluePrivateKey);
|
final List<String>? privateKey =
|
||||||
List<int> getPrivateKeyList =
|
await Storage.getStringList(saveBluePrivateKey);
|
||||||
|
final List<int> getPrivateKeyList =
|
||||||
changeStringListToIntList(privateKey!);
|
changeStringListToIntList(privateKey!);
|
||||||
|
|
||||||
var publicKey = await Storage.getStringList(saveBluePublicKey);
|
final List<String>? publicKey =
|
||||||
List<int> publicKeyDataList = changeStringListToIntList(publicKey!);
|
await Storage.getStringList(saveBluePublicKey);
|
||||||
|
final List<int> publicKeyDataList =
|
||||||
|
changeStringListToIntList(publicKey!);
|
||||||
|
|
||||||
var token = await Storage.getStringList(saveBlueToken);
|
final List<String>? token =
|
||||||
List<int> getTokenList = changeStringListToIntList(token!);
|
await Storage.getStringList(saveBlueToken);
|
||||||
|
final List<int> getTokenList = changeStringListToIntList(token!);
|
||||||
|
|
||||||
IoSenderManage.senderFactoryDataReset(
|
IoSenderManage.senderFactoryDataReset(
|
||||||
lockID: BlueManage().connectDeviceName,
|
lockID: BlueManage().connectDeviceName,
|
||||||
userID: await Storage.getUid(),
|
userID: await Storage.getUid(),
|
||||||
keyID: "1",
|
keyID: '1',
|
||||||
needAuthor: 1,
|
needAuthor: 1,
|
||||||
publicKey: publicKeyDataList,
|
publicKey: publicKeyDataList,
|
||||||
privateKey: getPrivateKeyList,
|
privateKey: getPrivateKeyList,
|
||||||
@ -76,21 +87,25 @@ class AuthorizedAdminLogic extends BaseGetXController {
|
|||||||
BlueManage().blueSendData(BlueManage().connectDeviceName,
|
BlueManage().blueSendData(BlueManage().connectDeviceName,
|
||||||
(BluetoothConnectionState state) async {
|
(BluetoothConnectionState state) async {
|
||||||
if (state == BluetoothConnectionState.connected) {
|
if (state == BluetoothConnectionState.connected) {
|
||||||
var privateKey = await Storage.getStringList(saveBluePrivateKey);
|
final List<String>? privateKey =
|
||||||
List<int> getPrivateKeyList = changeStringListToIntList(privateKey!);
|
await Storage.getStringList(saveBluePrivateKey);
|
||||||
|
final List<int> getPrivateKeyList =
|
||||||
|
changeStringListToIntList(privateKey!);
|
||||||
|
|
||||||
var publicKey = await Storage.getStringList(saveBluePublicKey);
|
final List<String>? publicKey =
|
||||||
List<int> publicKeyDataList = changeStringListToIntList(publicKey!);
|
await Storage.getStringList(saveBluePublicKey);
|
||||||
|
final List<int> publicKeyDataList =
|
||||||
|
changeStringListToIntList(publicKey!);
|
||||||
|
|
||||||
var token = await Storage.getStringList(saveBlueToken);
|
final List<String>? token = await Storage.getStringList(saveBlueToken);
|
||||||
List<int> getTokenList = changeStringListToIntList(token!);
|
final List<int> getTokenList = changeStringListToIntList(token!);
|
||||||
|
|
||||||
IoSenderManage.senderTransferPermissions(
|
IoSenderManage.senderTransferPermissions(
|
||||||
lockID: BlueManage().connectDeviceName,
|
lockID: BlueManage().connectDeviceName,
|
||||||
authUserID: await Storage.getUid(),
|
authUserID: await Storage.getUid(),
|
||||||
keyID: "1",
|
keyID: '1',
|
||||||
oldUserID: await Storage.getUid(),
|
oldUserID: await Storage.getUid(),
|
||||||
newUserID: "100002",
|
newUserID: '100002',
|
||||||
needAuthor: 1,
|
needAuthor: 1,
|
||||||
publicKey: publicKeyDataList,
|
publicKey: publicKeyDataList,
|
||||||
privateKey: getPrivateKeyList,
|
privateKey: getPrivateKeyList,
|
||||||
@ -102,40 +117,40 @@ class AuthorizedAdminLogic extends BaseGetXController {
|
|||||||
//发送授权管理员列表请求
|
//发送授权管理员列表请求
|
||||||
Future<void> sendElectronicKeyRequest() async {
|
Future<void> sendElectronicKeyRequest() async {
|
||||||
if (state.emailOrPhoneController.text.isEmpty) {
|
if (state.emailOrPhoneController.text.isEmpty) {
|
||||||
showToast("请输入接收者账号");
|
showToast('请输入接收者账号');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (state.keyNameController.text.isEmpty) {
|
if (state.keyNameController.text.isEmpty) {
|
||||||
showToast("请输入接收者姓名");
|
showToast('请输入接收者姓名');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var startDate = "0";
|
String startDate = '0';
|
||||||
var endDate = "0";
|
String endDate = '0';
|
||||||
var startTime = "0";
|
String startTime = '0';
|
||||||
var endTime = "0";
|
String endTime = '0';
|
||||||
AppLog.log("state.type.value:${state.seletType.value}");
|
AppLog.log('state.type.value:${state.seletType.value}');
|
||||||
String getKeyType = "1";
|
String getKeyType = '1';
|
||||||
if (state.seletType.value == 0) {
|
if (state.seletType.value == 0) {
|
||||||
getKeyType = "2";
|
getKeyType = '2';
|
||||||
|
|
||||||
startDate =
|
startDate =
|
||||||
DateTool().dateToTimestamp(state.beginDate.value, 1).toString();
|
DateTool().dateToTimestamp(state.beginDate.value, 1).toString();
|
||||||
endDate = DateTool().dateToTimestamp(state.endDate.value, 1).toString();
|
endDate = DateTool().dateToTimestamp(state.endDate.value, 1).toString();
|
||||||
startTime = "0";
|
startTime = '0';
|
||||||
endTime = "0";
|
endTime = '0';
|
||||||
|
|
||||||
if (startDate.isEmpty) {
|
if (startDate.isEmpty) {
|
||||||
showToast("请选择开始时间");
|
showToast('请选择开始时间');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (endDate.isEmpty) {
|
if (endDate.isEmpty) {
|
||||||
showToast("请选择结束时间");
|
showToast('请选择结束时间');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (int.parse(startDate) >= int.parse(endDate)) {
|
if (int.parse(startDate) >= int.parse(endDate)) {
|
||||||
showToast("失效时间要大于生效时间");
|
showToast('失效时间要大于生效时间');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -143,12 +158,12 @@ class AuthorizedAdminLogic extends BaseGetXController {
|
|||||||
//如果打开了实名认证,需要弹出输入身份证信息框
|
//如果打开了实名认证,需要弹出输入身份证信息框
|
||||||
if (state.isAuthentication.value == true) {
|
if (state.isAuthentication.value == true) {
|
||||||
if (state.realNameController.text.isEmpty) {
|
if (state.realNameController.text.isEmpty) {
|
||||||
showToast("请输入真实姓名".tr);
|
showToast('请输入真实姓名'.tr);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (state.idCardController.text.isEmpty) {
|
if (state.idCardController.text.isEmpty) {
|
||||||
showToast("请输入身份证号".tr);
|
showToast('请输入身份证号'.tr);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
//弹出身份证信息确认框
|
//弹出身份证信息确认框
|
||||||
@ -179,38 +194,39 @@ class AuthorizedAdminLogic extends BaseGetXController {
|
|||||||
required String startDate,
|
required String startDate,
|
||||||
required String startTime,
|
required String startTime,
|
||||||
required String endTime}) async {
|
required String endTime}) async {
|
||||||
var entity = await ApiRepository.to.sendElectronicKey(
|
final AuthorizedAdminSendEntity entity = await ApiRepository.to
|
||||||
createUser: state.isCreateUser.value ? "1" : "0",
|
.sendElectronicKey(
|
||||||
countryCode: state.countryCode.value,
|
createUser: state.isCreateUser.value ? '1' : '0',
|
||||||
usernameType: '1',
|
countryCode: state.countryCode.value,
|
||||||
endDate: int.parse(endDate),
|
usernameType: '1',
|
||||||
faceAuthentication: state.isAuthentication.value == true ? '1' : '2',
|
endDate: int.parse(endDate),
|
||||||
isCameraEnable: '2',
|
faceAuthentication:
|
||||||
isRemoteUnlock: '2',
|
state.isAuthentication.value == true ? '1' : '2',
|
||||||
keyNameForAdmin: state.keyNameController.text,
|
isCameraEnable: '2',
|
||||||
keyRight: '1',
|
isRemoteUnlock: '2',
|
||||||
keyType: getKeyType,
|
keyNameForAdmin: state.keyNameController.text,
|
||||||
lockId: CommonDataManage().currentKeyInfo.lockId!.toString(),
|
keyRight: '1',
|
||||||
operatorUid: '',
|
keyType: getKeyType,
|
||||||
receiverUsername: state.emailOrPhoneController.text,
|
lockId: CommonDataManage().currentKeyInfo.lockId!.toString(),
|
||||||
remarks: '',
|
operatorUid: '',
|
||||||
startDate: int.parse(startDate),
|
receiverUsername: state.emailOrPhoneController.text,
|
||||||
weekDays: state.weekdaysList,
|
remarks: '',
|
||||||
startTime: int.parse(startTime),
|
startDate: int.parse(startDate),
|
||||||
endTime: int.parse(endTime),
|
weekDays: state.weekdaysList,
|
||||||
isOnlyManageSelf: state.onlyManageYouCreatesUser.value ? 1 : 0,
|
startTime: int.parse(startTime),
|
||||||
realName: state.isRequireAuth.value == true
|
endTime: int.parse(endTime),
|
||||||
? state.realNameController.text
|
isOnlyManageSelf: state.onlyManageYouCreatesUser.value ? 1 : 0,
|
||||||
: "",
|
realName: state.isRequireAuth.value == true
|
||||||
idCardNumber: state.isRequireAuth.value == true
|
? state.realNameController.text
|
||||||
? state.idCardController.text
|
: '',
|
||||||
: "");
|
idCardNumber: state.isRequireAuth.value == true
|
||||||
|
? state.idCardController.text
|
||||||
|
: '');
|
||||||
if (entity.errorCode!.codeIsSuccessful) {
|
if (entity.errorCode!.codeIsSuccessful) {
|
||||||
state.isCreateUser.value = false;
|
state.isCreateUser.value = false;
|
||||||
state.isSendSuccess.value = true;
|
state.isSendSuccess.value = true;
|
||||||
// Toast.show(msg: "添加成功");
|
|
||||||
state.addUserId.value = entity.data!.receiverUser!.id.toString();
|
state.addUserId.value = entity.data!.receiverUser!.id.toString();
|
||||||
// addUserConnectBlue(state.addUserId.value);
|
keyId = entity.data!.keyId;
|
||||||
eventBus.fire(AuthorizedAdminPageRefreshUI());
|
eventBus.fire(AuthorizedAdminPageRefreshUI());
|
||||||
} else {
|
} else {
|
||||||
if (entity.errorCode == 425) {
|
if (entity.errorCode == 425) {
|
||||||
@ -218,16 +234,15 @@ class AuthorizedAdminLogic extends BaseGetXController {
|
|||||||
state.isCreateUser.value = true;
|
state.isCreateUser.value = true;
|
||||||
ShowTipView().showIosTipWithContentDialog(
|
ShowTipView().showIosTipWithContentDialog(
|
||||||
'${"是否发送授权管理员给未注册账号".tr}\n${state.emailOrPhoneController.text}',
|
'${"是否发送授权管理员给未注册账号".tr}\n${state.emailOrPhoneController.text}',
|
||||||
() {
|
sendElectronicKeyRequest);
|
||||||
sendElectronicKeyRequest();
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//检测实名认证是否支持开启
|
//检测实名认证是否支持开启
|
||||||
Future<void> keyCheckFace() async {
|
Future<void> keyCheckFace() async {
|
||||||
AdvancedFunctionRecordEntity entity = await ApiRepository.to.keyCheckFace(
|
final AdvancedFunctionRecordEntity entity =
|
||||||
|
await ApiRepository.to.keyCheckFace(
|
||||||
lockId: CommonDataManage().currentKeyInfo.lockId ?? 0,
|
lockId: CommonDataManage().currentKeyInfo.lockId ?? 0,
|
||||||
);
|
);
|
||||||
if (entity.errorCode!.codeIsSuccessful) {
|
if (entity.errorCode!.codeIsSuccessful) {
|
||||||
@ -240,7 +255,7 @@ class AuthorizedAdminLogic extends BaseGetXController {
|
|||||||
titleStr: '实名认证为付费功能,请购买后再使用'.tr,
|
titleStr: '实名认证为付费功能,请购买后再使用'.tr,
|
||||||
sureClick: () {
|
sureClick: () {
|
||||||
Get.toNamed(Routers.advancedFeaturesWebPage,
|
Get.toNamed(Routers.advancedFeaturesWebPage,
|
||||||
arguments: {'isShop': false});
|
arguments: <String, bool>{'isShop': false});
|
||||||
});
|
});
|
||||||
} else if (entity.errorCode == 433) {
|
} else if (entity.errorCode == 433) {
|
||||||
//需联系管理员购买
|
//需联系管理员购买
|
||||||
@ -250,12 +265,12 @@ class AuthorizedAdminLogic extends BaseGetXController {
|
|||||||
|
|
||||||
//标记房间为已入住 isOn:已入住: 1 空闲:2
|
//标记房间为已入住 isOn:已入住: 1 空闲:2
|
||||||
Future<void> updateRoomCheckIn() async {
|
Future<void> updateRoomCheckIn() async {
|
||||||
var entity = await ApiRepository.to.setRoomStatusData(
|
final LoginEntity entity = await ApiRepository.to.setRoomStatusData(
|
||||||
lockId: CommonDataManage().currentKeyInfo.lockId!,
|
lockId: CommonDataManage().currentKeyInfo.lockId!,
|
||||||
roomStatus: 1,
|
roomStatus: 1,
|
||||||
);
|
);
|
||||||
if (entity.errorCode!.codeIsSuccessful) {
|
if (entity.errorCode!.codeIsSuccessful) {
|
||||||
showToast("标记成功");
|
showToast('标记成功');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -279,6 +294,31 @@ class AuthorizedAdminLogic extends BaseGetXController {
|
|||||||
return currentController;
|
return currentController;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//发送消息
|
||||||
|
Future<void> sendMsg({required bool isPhone}) async {
|
||||||
|
if (keyId == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
final NoticeTemplateEntity entity = await ApiRepository.to
|
||||||
|
.getNoticeTemplate(
|
||||||
|
lockId: CommonDataManage().currentKeyInfo.lockId!,
|
||||||
|
keyId: keyId!,
|
||||||
|
channelType: isPhone ? 1 : 2);
|
||||||
|
if (entity.errorCode!.codeIsSuccessful) {
|
||||||
|
final List<Item?> list =
|
||||||
|
entity.data!.list!.where((Item item) => item.isUse == 0).toList();
|
||||||
|
if (list.isNotEmpty) {
|
||||||
|
final Item item = list.first!;
|
||||||
|
final String template = item.template ?? '';
|
||||||
|
NativeInteractionTool().loadNativeShare(shareText: template);
|
||||||
|
} else {
|
||||||
|
showToast('获取模板失败 0x02');
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
showToast('获取模板失败 0x01');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void onReady() {
|
void onReady() {
|
||||||
// TODO: implement onReady
|
// TODO: implement onReady
|
||||||
|
|||||||
@ -362,8 +362,7 @@ class _AuthorizedAdminPageState extends State<AuthorizedAdminPage>
|
|||||||
if (state.emailOrPhoneController.text.contains('@')) {
|
if (state.emailOrPhoneController.text.contains('@')) {
|
||||||
Get.toNamed(Routers.sendEmailNotificationPage);
|
Get.toNamed(Routers.sendEmailNotificationPage);
|
||||||
} else {
|
} else {
|
||||||
NativeInteractionTool()
|
logic.sendMsg(isPhone: true);
|
||||||
.loadNativeShare(shareText: state.pwdShareStr);
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
@ -373,8 +372,8 @@ class _AuthorizedAdminPageState extends State<AuthorizedAdminPage>
|
|||||||
OutLineBtn(
|
OutLineBtn(
|
||||||
btnName: '微信通知',
|
btnName: '微信通知',
|
||||||
onClick: () {
|
onClick: () {
|
||||||
NativeInteractionTool()
|
logic.sendMsg(
|
||||||
.loadNativeShare(shareText: state.pwdShareStr);
|
isPhone: state.emailOrPhoneController.text.contains('@'));
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
SizedBox(
|
SizedBox(
|
||||||
|
|||||||
@ -15,25 +15,25 @@ class AuthorizedAdminState {
|
|||||||
final FlutterContactPicker contactPicker = FlutterContactPicker();
|
final FlutterContactPicker contactPicker = FlutterContactPicker();
|
||||||
late Contact contact;
|
late Contact contact;
|
||||||
|
|
||||||
var isAuthentication = false.obs; //是否可以实名认证
|
RxBool isAuthentication = false.obs; //是否可以实名认证
|
||||||
final onlyManageYouCreatesUser = false.obs; // 只能管理自己创建的用户
|
final RxBool onlyManageYouCreatesUser = false.obs; // 只能管理自己创建的用户
|
||||||
|
|
||||||
var beginDate = DateTool()
|
RxString beginDate = DateTool()
|
||||||
.dateToYMDHNString(DateTime.now().millisecondsSinceEpoch.toString())
|
.dateToYMDHNString(DateTime.now().millisecondsSinceEpoch.toString())
|
||||||
.obs; //默认为当前时间 开始时间
|
.obs; //默认为当前时间 开始时间
|
||||||
var endDate = DateTool()
|
RxString endDate = DateTool()
|
||||||
.dateToYMDHNString(DateTime.now().millisecondsSinceEpoch.toString())
|
.dateToYMDHNString(DateTime.now().millisecondsSinceEpoch.toString())
|
||||||
.obs; //默认为当前时间 结束时间
|
.obs; //默认为当前时间 结束时间
|
||||||
|
|
||||||
var isSendSuccess = false.obs;
|
RxBool isSendSuccess = false.obs;
|
||||||
var countryName = '中国'.obs;
|
RxString countryName = '中国'.obs;
|
||||||
var countryCode = '86'.obs;
|
RxString countryCode = '86'.obs;
|
||||||
var weekdaysList = [].obs;
|
RxList weekdaysList = [].obs;
|
||||||
var isCreateUser = false.obs; //用户未注册时传1 已注册传0
|
RxBool isCreateUser = false.obs; //用户未注册时传1 已注册传0
|
||||||
|
|
||||||
var seletType = 0.obs;
|
RxInt seletType = 0.obs;
|
||||||
String pwdShareStr = '您好,您的授权管理员生成成功';
|
String pwdShareStr = '您好,您的授权管理员生成成功';
|
||||||
|
|
||||||
var addUserId = ''.obs;
|
RxString addUserId = ''.obs;
|
||||||
var isRequireAuth = false.obs; //是否需要实名认证的必填项
|
RxBool isRequireAuth = false.obs; //是否需要实名认证的必填项
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,7 +2,7 @@ import 'dart:ffi';
|
|||||||
|
|
||||||
import 'package:flutter_easyloading/flutter_easyloading.dart';
|
import 'package:flutter_easyloading/flutter_easyloading.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:star_lock/main/lockDetail/authorizedAdmin/volumeAuthorizationLock/notice_template_entity.dart';
|
import 'package:star_lock/main/lockDetail/authorizedAdmin/authorizedAdmin/notice_template_entity.dart';
|
||||||
import 'package:star_lock/main/lockDetail/lockSet/basicInformation/basicInformation/KeyDetailEntity.dart';
|
import 'package:star_lock/main/lockDetail/lockSet/basicInformation/basicInformation/KeyDetailEntity.dart';
|
||||||
import 'package:star_lock/network/api_repository.dart';
|
import 'package:star_lock/network/api_repository.dart';
|
||||||
import 'package:star_lock/tools/baseGetXController.dart';
|
import 'package:star_lock/tools/baseGetXController.dart';
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:star_lock/blue/entity/lock_user_no_list_entity.dart';
|
import 'package:star_lock/blue/entity/lock_user_no_list_entity.dart';
|
||||||
import 'package:star_lock/login/selectCountryRegion/common/countryRegionEntity.dart';
|
import 'package:star_lock/login/selectCountryRegion/common/countryRegionEntity.dart';
|
||||||
import 'package:star_lock/main/lockDetail/authorizedAdmin/volumeAuthorizationLock/notice_template_entity.dart';
|
import 'package:star_lock/main/lockDetail/authorizedAdmin/authorizedAdmin/notice_template_entity.dart';
|
||||||
import 'package:star_lock/main/lockDetail/doorLockLog/doorLockLog_entity.dart';
|
import 'package:star_lock/main/lockDetail/doorLockLog/doorLockLog_entity.dart';
|
||||||
import 'package:star_lock/main/lockDetail/electronicKey/electronicKeyList/entity/ElectronicKeyListEntity.dart';
|
import 'package:star_lock/main/lockDetail/electronicKey/electronicKeyList/entity/ElectronicKeyListEntity.dart';
|
||||||
import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserList_entity.dart';
|
import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserList_entity.dart';
|
||||||
|
|||||||
@ -1,34 +1,38 @@
|
|||||||
|
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
|
|
||||||
import '../app_settings/app_settings.dart';
|
import '../app_settings/app_settings.dart';
|
||||||
|
|
||||||
///原生交互配置
|
///原生交互配置
|
||||||
class NativeInteractionConfig{
|
class NativeInteractionConfig {
|
||||||
static String methodSendChannel = 'starLockFlutterSend';
|
static String methodSendChannel = 'starLockFlutterSend';
|
||||||
static String receiveEventChannel = 'starLockFlutterReceive';
|
static String receiveEventChannel = 'starLockFlutterReceive';
|
||||||
}
|
}
|
||||||
|
|
||||||
///原生交互flutter向原生发送消息
|
///原生交互flutter向原生发送消息
|
||||||
typedef BlockBlueStatus = void Function(String status);
|
typedef BlockBlueStatus = void Function(String status);
|
||||||
class NativeInteractionTool{
|
|
||||||
var sendChannel = MethodChannel(NativeInteractionConfig.methodSendChannel);
|
class NativeInteractionTool {
|
||||||
var receiveChannel = MethodChannel(NativeInteractionConfig.receiveEventChannel);
|
MethodChannel sendChannel =
|
||||||
|
MethodChannel(NativeInteractionConfig.methodSendChannel);
|
||||||
|
MethodChannel receiveChannel =
|
||||||
|
MethodChannel(NativeInteractionConfig.receiveEventChannel);
|
||||||
|
|
||||||
///加载原生分享
|
///加载原生分享
|
||||||
loadNativeShare({required String shareText}){
|
void loadNativeShare({required String shareText}) {
|
||||||
sendChannel.invokeMethod('loadNativeShare', {'shareText':shareText});
|
sendChannel.invokeMethod(
|
||||||
|
'loadNativeShare', <String, String>{'shareText': shareText});
|
||||||
}
|
}
|
||||||
|
|
||||||
///获取设备蓝牙状态
|
///获取设备蓝牙状态
|
||||||
sendGetBlueStatus(){
|
void sendGetBlueStatus() {
|
||||||
sendChannel.invokeMethod('sendGetBlueStatus');
|
sendChannel.invokeMethod('sendGetBlueStatus');
|
||||||
}
|
}
|
||||||
|
|
||||||
///获取设备蓝牙是否打开
|
///获取设备蓝牙是否打开
|
||||||
receiveChannelBlueIsOnEvent(BlockBlueStatus blockBlueStatus){
|
void receiveChannelBlueIsOnEvent(BlockBlueStatus blockBlueStatus) {
|
||||||
receiveChannel.setMethodCallHandler((MethodCall call) async {
|
receiveChannel.setMethodCallHandler((MethodCall call) async {
|
||||||
AppLog.log('收到原生发送的信息call.method: ${call.method} call.arguments:${call.arguments}');
|
AppLog.log(
|
||||||
|
'收到原生发送的信息call.method: ${call.method} call.arguments:${call.arguments}');
|
||||||
switch (call.method) {
|
switch (call.method) {
|
||||||
case 'getBlueStatus':
|
case 'getBlueStatus':
|
||||||
// 获取设备蓝牙开启/关闭状态
|
// 获取设备蓝牙开启/关闭状态
|
||||||
@ -42,5 +46,3 @@ class NativeInteractionTool{
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user