app-starlock/lib/mine/gateway/addGateway/selectGateway/selectGatewayList_logic.dart
魏少阳 bcb7643a08 1、添加网关列表调用接口
2、添加扫描网关逻辑
2024-09-14 16:31:45 +08:00

69 lines
2.1 KiB
Dart

import 'dart:io';
import 'package:flutter_blue_plus/flutter_blue_plus.dart';
import 'package:get/get.dart';
import 'package:permission_handler/permission_handler.dart';
import 'package:star_lock/tools/baseGetXController.dart';
import '../../../../appRouters.dart';
import '../../../../app_settings/app_settings.dart';
import '../../../../blue/blue_manage.dart';
import '../../../../widget/permission/permission_dialog.dart';
import 'selectGatewayList_state.dart';
class SelectGatewayListLogic extends BaseGetXController {
SelectGatewayListState state = SelectGatewayListState();
void startScanBlueList() {
BlueManage().startScan(2000, (List<ScanResult> list) {
state.devices.clear();
for (int i = 0; i < list.length; i++) {
final ScanResult device = list[i];
// if ((device.advertisementData.serviceUuids.isNotEmpty
// ? device.advertisementData.serviceUuids[0]
// : '')
// .toString()[31] !=
// '1') {
state.devices.add(list[i]);
// AppLog.log('device:${list[i]}');
// }
}
});
}
Future<void> getNearByLimits() async {
if (!Platform.isIOS) {
final bool bluetoothRequest = await PermissionDialog.requestBluetooth();
final bool locationRequest = await PermissionDialog.request(Permission.location);
AppLog.log('locationRequest:$locationRequest');
if (!bluetoothRequest || !locationRequest) {
return;
}
}
startScanBlueList();
}
// 点击连接设备
void connect(String deviceName) {
BlueManage().blueSendData(deviceName, (BluetoothConnectionState state) async {
// AppLog.log('点击要添加的设备了');
if (state == BluetoothConnectionState.connected) {
Get.toNamed(Routers.gatewayConfigurationWifiPage);
} else if (state == BluetoothConnectionState.disconnected) {
dismissEasyLoading();
}
}, isAddEquipment: true);
}
@override
void onInit() {
super.onInit();
}
@override
void onReady() {
super.onReady();
getNearByLimits();
}
}