You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

67 lines
1.8 KiB

import 'package:deep_voice/core/utils/logger.dart';
import 'package:deep_voice/data/models/user_Info.dart';
import 'package:deep_voice/data/services/ble_manager.dart';
import 'package:deep_voice/data/services/network/api.dart';
import 'package:deep_voice/routes/app_routes.dart';
import 'package:get/get.dart';
import 'package:get/get_rx/get_rx.dart';
import 'package:get/get_state_manager/src/simple/get_controllers.dart';
/*
设备管理
*/
class DevicesController extends GetxController {
late final BleManager _bleManager;
//耳机绑定
final earphonestate = 0.obs;
final earphoneName = "".obs;
final earphoneMac = "".obs;
final earphoneLicense = "".obs;
final earphoneCode = "".obs;
//录音笔
final voicepenstate = 0.obs;
final isvoicepen = false.obs;
final voicepenName = "".obs;
final voicepenMac = "".obs;
@override
void onInit() {
super.onInit();
_bleManager = Get.find<BleManager>();
earphoneName.value = User.instance.earphonename;
earphoneMac.value = User.instance.earphonemac;
earphoneLicense.value = User.instance.earphonelicense;
earphoneCode.value = User.instance.earphoneauthcode;
if (earphoneCode.value != "") {
earphonestate.value = 1;
}
if (earphoneLicense.value != "") {
earphonestate.value = 2;
}
}
@override
void onClose() {
super.onClose();
}
void unbindearphone() async {
final response = await Api.unbindearphone({
"code": earphoneLicense.value,
"earphonname": earphoneMac.value,
});
if (response != null) {
User.instance.earphonename = "";
User.instance.earphonemac = "";
User.instance.earphonelicense = "";
earphonestate.value = 0;
_bleManager.clearPairedDevices();
_bleManager.disconnect();
Get.toNamed(Routes.pairing);
return;
} else {
return;
}
}
}