diff --git a/lib/modules/pairing/controllers/pairing_controller.dart b/lib/modules/pairing/controllers/pairing_controller.dart index 64ac3ea26..4f32dfd4f 100644 --- a/lib/modules/pairing/controllers/pairing_controller.dart +++ b/lib/modules/pairing/controllers/pairing_controller.dart @@ -179,13 +179,24 @@ class PairingController extends GetxController { Logger.i(_tag, '开始执行初始化流程'); isLoading.value = true; - statusDescription.value = '正在检查权限...'; + statusDescription.value = '正在初始化...'; try { + // 初始视觉反馈延迟 + await Future.delayed(const Duration(milliseconds: 800)); + + // 更新状态让用户知道正在进行权限检查 + statusDescription.value = '正在检查所需权限...'; + // iOS平台跳过权限检查 if (!Platform.isIOS) { + // 添加额外视觉反馈延迟 + await Future.delayed(const Duration(milliseconds: 600)); + final hasPermission = await _checkAndRequestPermissions(); if (!hasPermission) { + statusDescription.value = '缺少必要的权限'; + await Future.delayed(const Duration(milliseconds: 500)); _transition(PairingState.exitNoPermission); return; } @@ -194,6 +205,10 @@ class PairingController extends GetxController { // 设置蓝牙状态监听 _setupBluetoothListener(); + // 更新状态让用户知道正在进行蓝牙检查 + statusDescription.value = '检查蓝牙状态...'; + await Future.delayed(const Duration(milliseconds: 400)); + // 检查蓝牙状态 final btState = BluetoothManager.to.bluetoothState; Logger.i(_tag, '当前蓝牙状态: $btState'); @@ -201,10 +216,14 @@ class PairingController extends GetxController { if (btState == 'on' || btState == 'unknown') { _transition(PairingState.btReady); } else { + statusDescription.value = '蓝牙未开启'; + await Future.delayed(const Duration(milliseconds: 500)); _transition(PairingState.exitBtOff); } } catch (e) { Logger.e(_tag, 'Init failed: $e'); + statusDescription.value = '初始化出错'; + await Future.delayed(const Duration(milliseconds: 500)); _transition(PairingState.exitNoPermission); } finally { isLoading.value = false;