app-starlock/lib/mine/gateway/gatewayList/gatewayList_logic.dart
2025-02-12 14:24:23 +08:00

74 lines
2.1 KiB
Dart

import 'dart:async';
import 'package:star_lock/tools/baseGetXController.dart';
import '../../../login/login/entity/LoginEntity.dart';
import '../../../network/api_repository.dart';
import '../../../tools/eventBusEventManage.dart';
import '../../mineSet/transferGateway/selectGetewayList_entity.dart';
import 'gatewayList_state.dart';
class GatewayListLogic extends BaseGetXController {
GatewayListState state = GatewayListState();
// 获取网关列表
Future<GetewayDataEntity> getGatewayListData(
{required bool isRefresh}) async {
// 如果是下拉刷新,清空已有数据
if (isRefresh) {
state.getewayListData.clear();
pageNo = 1;
}
final GetewayDataEntity entity = await ApiRepository.to.getGatewayListData(
pageNo: pageNo.toString(), pageSize: pageSize, timeout: 60);
if (entity.errorCode!.codeIsSuccessful) {
// 更新数据列表
state.getewayListData.addAll(entity.data!.list!);
// 更新页码
pageNo++;
}
return entity;
}
// 测试配网成功
// Future<void> gatewayDistributionNetwork() async{
// final LoginEntity entity = await ApiRepository.to.gatewayDistributionNetwork(
// gatewayName: '测试网关添加',
// gatewayMac: '48:6F:73:52:A1:C3',
// serialNumber: '1.0.0',
// gatewayType: 2,
// networkName: '测试网关添加WiFi名字',
// networkMac: '48:6F:73:52:A1:C3',
// version: '1.0.0',
// );
// if(entity.errorCode!.codeIsSuccessful){
// showToast('配网成功', something:(){
//
// });
// }
// }
/// 刷新密码列表
StreamSubscription? _getGatewayListRefreshUIEvent;
void _getGatewayListRefreshUIAction() {
// 蓝牙协议通知传输跟蓝牙之外的数据传输类不一样 eventBus
_getGatewayListRefreshUIEvent = eventBus
.on<GetGatewayListRefreshUI>()
.listen((GetGatewayListRefreshUI event) {
getGatewayListData(isRefresh: true);
});
}
@override
void onReady() {
super.onReady();
_getGatewayListRefreshUIAction();
}
@override
void onClose() {
super.onClose();
_getGatewayListRefreshUIEvent?.cancel();
}
}