Browse Source

修改会议助手自动连接Wi-Fi

weicu
tanlongsheng 1 year ago
parent
commit
8d35f63fa4
  1. 32
      lib/modules/meeting/controllers/meeting_connect_controller.dart
  2. 1
      pubspec.yaml

32
lib/modules/meeting/controllers/meeting_connect_controller.dart

@ -2,6 +2,7 @@ import 'dart:async';
import 'package:flutter_blue_plus/flutter_blue_plus.dart'; import 'package:flutter_blue_plus/flutter_blue_plus.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:wifi_iot/wifi_iot.dart';
class MeetingConnectController extends GetxController { class MeetingConnectController extends GetxController {
RxString stateStr = '搜索中...'.obs; RxString stateStr = '搜索中...'.obs;
@ -25,8 +26,6 @@ class MeetingConnectController extends GetxController {
String _ftpAccount = ''; String _ftpAccount = '';
String _ftpPassword = ''; String _ftpPassword = '';
bool _isConnectWifi = false;
@override @override
void onInit() { void onInit() {
super.onInit(); super.onInit();
@ -87,6 +86,7 @@ class MeetingConnectController extends GetxController {
} }
Future<void> _disconnect() async { Future<void> _disconnect() async {
await WiFiForIoTPlugin.disconnect();
await _device?.disconnect(); await _device?.disconnect();
} }
@ -158,15 +158,15 @@ class MeetingConnectController extends GetxController {
break; break;
case 0x03: // FTP 地址 case 0x03: // FTP 地址
_ftpAddress = String.fromCharCodes(value.sublist(3, value.length - 2)); _ftpAddress = String.fromCharCodes(value.sublist(3, value.length - 2));
_connectFtp(); sendData([0x5a, 0x01, 0x04]);
break; break;
case 0x04: // FTP 端口 case 0x04: // FTP 端口
_ftpPort = String.fromCharCodes(value.sublist(3, value.length - 2)); _ftpPort = String.fromCharCodes(value.sublist(3, value.length - 2));
_connectFtp(); sendData([0x5a, 0x01, 0x05]);
break; break;
case 0x05: // FTP 账号 case 0x05: // FTP 账号
_ftpAccount = String.fromCharCodes(value.sublist(3, value.length - 2)); _ftpAccount = String.fromCharCodes(value.sublist(3, value.length - 2));
_connectFtp(); sendData([0x5a, 0x01, 0x06]);
break; break;
case 0x06: // FTP 密码 case 0x06: // FTP 密码
_ftpPassword = _decodePassword(value); _ftpPassword = _decodePassword(value);
@ -181,23 +181,21 @@ class MeetingConnectController extends GetxController {
await sendData([0x5a, 0x01, 0x0c]); await sendData([0x5a, 0x01, 0x0c]);
} }
void _getFtp() async { void _connectWifi() async {
await sendData([0x5a, 0x01, 0x03]);
await sendData([0x5a, 0x01, 0x04]);
await sendData([0x5a, 0x01, 0x05]);
await sendData([0x5a, 0x01, 0x06]);
}
void _connectWifi() {
if (_wifiSSID.isNotEmpty && _wifiPassword.isNotEmpty) { if (_wifiSSID.isNotEmpty && _wifiPassword.isNotEmpty) {
_getFtp(); stateStr.value = '正在连接 Wi-Fi...';
await WiFiForIoTPlugin.connect(
_wifiSSID,
password: _wifiPassword,
security: NetworkSecurity.WPA,
);
stateStr.value = 'Wi-Fi 连接成功';
sendData([0x5a, 0x01, 0x03]);
} }
_connectFtp();
} }
void _connectFtp() { void _connectFtp() {
if (_isConnectWifi && if (_ftpAddress.isNotEmpty &&
_ftpAddress.isNotEmpty &&
_ftpPort.isNotEmpty && _ftpPort.isNotEmpty &&
_ftpAccount.isNotEmpty && _ftpAccount.isNotEmpty &&
_ftpPassword.isNotEmpty) {} _ftpPassword.isNotEmpty) {}

1
pubspec.yaml

@ -27,6 +27,7 @@ dependencies:
git: git:
url: https://github.com/AppFlowy-IO/appflowy-editor.git url: https://github.com/AppFlowy-IO/appflowy-editor.git
ref: main ref: main
wifi_iot: ^0.3.19+2
permission_handler: ^10.4.5 permission_handler: ^10.4.5
web_socket_channel: ^2.4.0 web_socket_channel: ^2.4.0
flutter_dotenv: ^5.1.0 flutter_dotenv: ^5.1.0

Loading…
Cancel
Save