From d947ffeeb2ad761538851fcec5955a2d16446102 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AD=8F=E5=B0=91=E9=98=B3?= <786612630@qq.com> Date: Thu, 26 Sep 2024 13:39:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=BD=91=E5=85=B3=E8=B0=83?= =?UTF-8?q?=E8=AF=95=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ios/Podfile.lock | 2 +- .../io_gateway_configuringWifi.dart | 16 ++-- .../io_protocol/io_gateway_getWifiList.dart | 12 +-- .../gatewayConfigurationWifi_logic.dart | 78 ++++++++++--------- .../gatewayConfigurationWifi_page.dart | 6 +- .../gatewayConfigurationWifi_state.dart | 2 +- .../gatewayGetWifiList_logic.dart | 6 +- pubspec.yaml | 3 +- 8 files changed, 66 insertions(+), 59 deletions(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 40f5428d..022a6c01 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -361,4 +361,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: 317f9473a5705c6fe4d79d95e81676f248048fdc -COCOAPODS: 1.15.2 +COCOAPODS: 1.14.3 diff --git a/lib/blue/io_protocol/io_gateway_configuringWifi.dart b/lib/blue/io_protocol/io_gateway_configuringWifi.dart index 6523660e..7bedc725 100644 --- a/lib/blue/io_protocol/io_gateway_configuringWifi.dart +++ b/lib/blue/io_protocol/io_gateway_configuringWifi.dart @@ -51,12 +51,12 @@ class GatewayConfiguringWifiCommand extends SenderProtocol { data.add(subData.length); data.addAll(subData); - if ((data.length % 16) != 0) { - final int add = 16 - data.length % 16; - for (int i = 0; i < add; i++) { - data.add(0); - } - } + // if ((data.length % 16) != 0) { + // final int add = 16 - data.length % 16; + // for (int i = 0; i < add; i++) { + // data.add(0); + // } + // } printLog(data); return data; @@ -67,7 +67,7 @@ class GatewayConfiguringWifiReply extends Reply { GatewayConfiguringWifiReply.parseData(CommandType commandType, List dataDetail) : super.parseData(commandType, dataDetail) { data = dataDetail; - final int status = data[5]; + final int status = data[2]; errorWithStstus(status); } } @@ -76,7 +76,7 @@ class GatewayConfiguringWifiResultReply extends Reply { GatewayConfiguringWifiResultReply.parseData(CommandType commandType, List dataDetail) : super.parseData(commandType, dataDetail) { data = dataDetail; - final int status = data[5]; + final int status = data[2]; errorWithStstus(status); } } \ No newline at end of file diff --git a/lib/blue/io_protocol/io_gateway_getWifiList.dart b/lib/blue/io_protocol/io_gateway_getWifiList.dart index e224dec4..5cf24024 100644 --- a/lib/blue/io_protocol/io_gateway_getWifiList.dart +++ b/lib/blue/io_protocol/io_gateway_getWifiList.dart @@ -47,12 +47,12 @@ class GatewayGetWifiCommand extends SenderProtocol { data.add(subData.length); data.addAll(subData); - if ((data.length % 16) != 0) { - final int add = 16 - data.length % 16; - for (int i = 0; i < add; i++) { - data.add(0); - } - } + // if ((data.length % 16) != 0) { + // final int add = 16 - data.length % 16; + // for (int i = 0; i < add; i++) { + // data.add(0); + // } + // } printLog(data); return data; diff --git a/lib/mine/gateway/addGateway/gatewayConfigurationWifi/gatewayConfigurationWifi_logic.dart b/lib/mine/gateway/addGateway/gatewayConfigurationWifi/gatewayConfigurationWifi_logic.dart index c00fdda5..94645ce0 100644 --- a/lib/mine/gateway/addGateway/gatewayConfigurationWifi/gatewayConfigurationWifi_logic.dart +++ b/lib/mine/gateway/addGateway/gatewayConfigurationWifi/gatewayConfigurationWifi_logic.dart @@ -19,29 +19,13 @@ class GatewayConfigurationWifiLogic extends BaseGetXController { final GatewayConfigurationWifiState state = GatewayConfigurationWifiState(); Future gatewayDistributionNetwork() async{ - if(state.gatewayNamePasswardTF.text.isEmpty){ - showToast('请输入网关名称'.tr); - return; - } - - if(state.wifiNameTF.text.isEmpty){ - showToast('请输入wifi名称'.tr); - return; - } - - if(state.wifiPasswardTF.text.isEmpty){ - showToast('请输入WiFi密码'.tr); - return; - } - - final LoginEntity entity = await ApiRepository.to.gatewayDistributionNetwork( gatewayName: state.gatewayNamePasswardTF.text, - gatewayMac: state.macAddress, + gatewayMac: state.macAddress.value, serialNumber: DateTime.now().millisecondsSinceEpoch.toString(), gatewayType: 2, networkName: state.wifiNameTF.text, - networkMac: state.macAddress, + networkMac: state.macAddress.value, version: '1.0.0', ); if(entity.errorCode!.codeIsSuccessful){ @@ -56,16 +40,40 @@ class GatewayConfigurationWifiLogic extends BaseGetXController { late StreamSubscription _replySubscription; void _initReplySubscription() { _replySubscription = EventBusManager().eventBus!.on().listen((Reply reply) async { + // WIFI配网 + // if(reply is GatewayConfiguringWifiReply) { + // _replySenderConfiguringWifi(reply); + // } + // WIFI配网结果 - if(reply is GatewayConfiguringWifiReply) { - _replySenderConfiguringWifi(reply); + if(reply is GatewayConfiguringWifiResultReply) { + _replySenderConfiguringWifiResult(reply); } }); } + // WIFI配网 + // Future _replySenderConfiguringWifi(Reply reply) async { + // final int status = reply.data[2]; + // + // switch(status){ + // case 0x00: + // //成功 + // state.sureBtnState.value = 0; + // cancelBlueConnetctToastTimer(); + // dismissEasyLoading(); + // gatewayDistributionNetwork(); + // break; + // default: + // //失败 + // dismissEasyLoading(); + // break; + // } + // } + // WIFI配网结果 - Future _replySenderConfiguringWifi(Reply reply) async { - final int status = reply.data[5]; + Future _replySenderConfiguringWifiResult(Reply reply) async { + final int status = reply.data[2]; switch(status){ case 0x00: @@ -75,33 +83,31 @@ class GatewayConfigurationWifiLogic extends BaseGetXController { dismissEasyLoading(); gatewayDistributionNetwork(); break; - case 0x06: - //无权限 - IoSenderManage.gatewayConfiguringWifiCommand( - ssid: state.gatewayNamePasswardTF.text, - password: state.wifiPasswardTF.text, - ); - - break; - case 0xff: - //失败 - dismissEasyLoading(); - showToast('配网失败'.tr); - break; default: //失败 dismissEasyLoading(); + showToast('配网失败'.tr); break; } } // 点击配置wifi Future senderConfiguringWifiAction() async { - if(state.gatewayNamePasswardTF.text.isEmpty){ + if(state.wifiNameTF.text.isEmpty){ showToast('请输入wifi名称'.tr); return; } + if(state.wifiPasswardTF.text.isEmpty){ + showToast('请输入WiFi密码'.tr); + return; + } + + if(state.gatewayNamePasswardTF.text.isEmpty){ + showToast('请输入网关名称'.tr); + return; + } + if(state.sureBtnState.value == 1){ return; } diff --git a/lib/mine/gateway/addGateway/gatewayConfigurationWifi/gatewayConfigurationWifi_page.dart b/lib/mine/gateway/addGateway/gatewayConfigurationWifi/gatewayConfigurationWifi_page.dart index e5f14d05..470f810b 100755 --- a/lib/mine/gateway/addGateway/gatewayConfigurationWifi/gatewayConfigurationWifi_page.dart +++ b/lib/mine/gateway/addGateway/gatewayConfigurationWifi/gatewayConfigurationWifi_page.dart @@ -75,11 +75,11 @@ class _GatewayConfigurationWifiPageState extends State CommonItem( leftTitel: '网络MAC'.tr, - rightTitle: '48:55:19:7d:84:7a', + rightTitle: state.macAddress.value, // allHeight: 100.h, - isHaveLine: false), + isHaveLine: false)), // SizedBox( // height: 10.h, // ), diff --git a/lib/mine/gateway/addGateway/gatewayConfigurationWifi/gatewayConfigurationWifi_state.dart b/lib/mine/gateway/addGateway/gatewayConfigurationWifi/gatewayConfigurationWifi_state.dart index 81b6e10e..a77f7151 100644 --- a/lib/mine/gateway/addGateway/gatewayConfigurationWifi/gatewayConfigurationWifi_state.dart +++ b/lib/mine/gateway/addGateway/gatewayConfigurationWifi/gatewayConfigurationWifi_state.dart @@ -14,7 +14,7 @@ class GatewayConfigurationWifiState{ } } - String macAddress = ''; + RxString macAddress = ''.obs; RxBool isUseStaticIP = false.obs; final TextEditingController wifiNameTF = TextEditingController(); diff --git a/lib/mine/gateway/addGateway/gatewayGetWifiList/gatewayGetWifiList_logic.dart b/lib/mine/gateway/addGateway/gatewayGetWifiList/gatewayGetWifiList_logic.dart index 49e38794..883b3746 100644 --- a/lib/mine/gateway/addGateway/gatewayGetWifiList/gatewayGetWifiList_logic.dart +++ b/lib/mine/gateway/addGateway/gatewayGetWifiList/gatewayGetWifiList_logic.dart @@ -68,7 +68,7 @@ class GatewayGetWifiListLogic extends BaseGetXController { } } - // 设置自动落锁数据解析 + // 获取WiFi数据解析 Future _replyGetWifiListParameters(Reply reply) async { final int status = reply.data[2]; switch(status){ @@ -78,8 +78,8 @@ class GatewayGetWifiListLogic extends BaseGetXController { dismissEasyLoading(); state.sureBtnState.value = 0; - if (reply.data[6] > 0) { - reply.data.removeRange(0, 7); + if (reply.data[3] > 0) { + reply.data.removeRange(0, 4); // 把得到的数据按33位分割成数组 然后塞进一个新的数组里面 final List> getList = splitList(reply.data, 33); final List> uploadList = >[]; diff --git a/pubspec.yaml b/pubspec.yaml index d3179731..da401cc8 100755 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -92,8 +92,9 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev # 1.0.79+2024083001:测试所有国家国际化功能 # 1.0.79+2024083001:测试开完锁数据上传功能 # 1.0.80+2024091901:添加网关功能给谢敬调试 +# 1.0.80+2024091902:网关功能去掉网关通信不够16倍数凑够16倍数功能 -version: 1.0.80+2024091901 +version: 1.0.80+2024092601 environment: sdk: '>=2.12.0 <3.0.0'