feat: 完善设备连接、删除设备、搜索网络、连接网络页面
This commit is contained in:
parent
80d8a7b104
commit
47d9e666c1
@ -48,6 +48,16 @@ class BaseController extends GetxController {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
void onInit() {
|
||||||
|
super.onInit();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
void onReady() {
|
||||||
|
super.onReady();
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void onClose() {
|
void onClose() {
|
||||||
if (EasyLoading.isShow) {
|
if (EasyLoading.isShow) {
|
||||||
|
|||||||
@ -1,4 +1,6 @@
|
|||||||
class AppViewParameterKeys {
|
class AppViewParameterKeys {
|
||||||
static const String deviceList = "deviceList";
|
static const String deviceList = "deviceList";
|
||||||
|
static const String lockInfo = "lockInfo";
|
||||||
|
static const String networkInfo = "networkInfo";
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -2,8 +2,12 @@ import 'package:get/get.dart';
|
|||||||
import 'package:starwork_flutter/routes/app_routes.dart';
|
import 'package:starwork_flutter/routes/app_routes.dart';
|
||||||
import 'package:starwork_flutter/views/device/confirmPairDevice/confirm_pair_device_binding.dart';
|
import 'package:starwork_flutter/views/device/confirmPairDevice/confirm_pair_device_binding.dart';
|
||||||
import 'package:starwork_flutter/views/device/confirmPairDevice/confirm_pair_device_view.dart';
|
import 'package:starwork_flutter/views/device/confirmPairDevice/confirm_pair_device_view.dart';
|
||||||
|
import 'package:starwork_flutter/views/device/deviceConfigureNetwork/device_configure_network_binding.dart';
|
||||||
|
import 'package:starwork_flutter/views/device/deviceConfigureNetwork/device_configure_network_view.dart';
|
||||||
import 'package:starwork_flutter/views/device/deviceManage/device_manage_binding.dart';
|
import 'package:starwork_flutter/views/device/deviceManage/device_manage_binding.dart';
|
||||||
import 'package:starwork_flutter/views/device/deviceManage/device_manage_view.dart';
|
import 'package:starwork_flutter/views/device/deviceManage/device_manage_view.dart';
|
||||||
|
import 'package:starwork_flutter/views/device/deviceSearchNetwork/device_search_network_binding.dart';
|
||||||
|
import 'package:starwork_flutter/views/device/deviceSearchNetwork/device_search_network_view.dart';
|
||||||
import 'package:starwork_flutter/views/device/removeDevice/remove_device_binding.dart';
|
import 'package:starwork_flutter/views/device/removeDevice/remove_device_binding.dart';
|
||||||
import 'package:starwork_flutter/views/device/removeDevice/remove_device_view.dart';
|
import 'package:starwork_flutter/views/device/removeDevice/remove_device_view.dart';
|
||||||
import 'package:starwork_flutter/views/device/searchDevice/search_device_binding.dart';
|
import 'package:starwork_flutter/views/device/searchDevice/search_device_binding.dart';
|
||||||
@ -137,5 +141,15 @@ class AppPages {
|
|||||||
page: () => RemoveDeviceView(),
|
page: () => RemoveDeviceView(),
|
||||||
binding: RemoveDeviceBinding(),
|
binding: RemoveDeviceBinding(),
|
||||||
),
|
),
|
||||||
|
GetPage(
|
||||||
|
name: AppRoutes.deviceConfigureNetwork,
|
||||||
|
page: () => DeviceConfigureNetworkView(),
|
||||||
|
binding: DeviceConfigureNetworkBinding(),
|
||||||
|
),
|
||||||
|
GetPage(
|
||||||
|
name: AppRoutes.deviceSearchNetwork,
|
||||||
|
page: () => DeviceSearchNetworkView(),
|
||||||
|
binding: DeviceSearchNetworkBinding(),
|
||||||
|
),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@ -19,4 +19,6 @@ class AppRoutes{
|
|||||||
static const String searchDevice = '/device/searchDevice';
|
static const String searchDevice = '/device/searchDevice';
|
||||||
static const String confirmPairDevice = '/device/confirmPairDevice';
|
static const String confirmPairDevice = '/device/confirmPairDevice';
|
||||||
static const String deviceRemoveDevice = '/device/removeDevice';
|
static const String deviceRemoveDevice = '/device/removeDevice';
|
||||||
|
static const String deviceSearchNetwork = '/device/searchNetwork';
|
||||||
|
static const String deviceConfigureNetwork = '/device/configureNetwork';
|
||||||
}
|
}
|
||||||
@ -0,0 +1,9 @@
|
|||||||
|
import 'package:get/get.dart';
|
||||||
|
import 'package:starwork_flutter/views/device/deviceConfigureNetwork/device_configure_network_controller.dart';
|
||||||
|
|
||||||
|
class DeviceConfigureNetworkBinding implements Bindings {
|
||||||
|
@override
|
||||||
|
void dependencies() {
|
||||||
|
Get.lazyPut(() => DeviceConfigureNetworkController());
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,45 @@
|
|||||||
|
import 'package:flutter/widgets.dart';
|
||||||
|
import 'package:get/get.dart';
|
||||||
|
import 'package:starcloud/entity/star_cloud_lock_list.dart';
|
||||||
|
import 'package:starcloud/entity/star_cloud_search_wifi_result.dart';
|
||||||
|
import 'package:starcloud/sdk/sdk_configure_network_operate_extension.dart';
|
||||||
|
import 'package:starcloud/sdk/starcloud.dart';
|
||||||
|
import 'package:starwork_flutter/base/base_controller.dart';
|
||||||
|
import 'package:starwork_flutter/common/constant/app_view_parameter_keys.dart';
|
||||||
|
|
||||||
|
class DeviceConfigureNetworkController extends BaseController {
|
||||||
|
// 锁信息
|
||||||
|
StarCloudLock? lockInfo;
|
||||||
|
StarCloudSearchWifiResult? networkInfo;
|
||||||
|
|
||||||
|
TextEditingController wifiNameInputController = TextEditingController();
|
||||||
|
|
||||||
|
@override
|
||||||
|
void onReady() {
|
||||||
|
super.onReady();
|
||||||
|
// 读取参数
|
||||||
|
final args = Get.arguments;
|
||||||
|
if (args != null && args.containsKey(AppViewParameterKeys.lockInfo)) {
|
||||||
|
final json = args[AppViewParameterKeys.lockInfo];
|
||||||
|
lockInfo = StarCloudLock.fromJson(json, 0);
|
||||||
|
}
|
||||||
|
if (args != null && args.containsKey(AppViewParameterKeys.networkInfo)) {
|
||||||
|
final json = args[AppViewParameterKeys.networkInfo];
|
||||||
|
networkInfo = StarCloudSearchWifiResult.fromJson(json);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void configureNetwork() {
|
||||||
|
StarCloudSDK.instance.connectWiFi(
|
||||||
|
lockId: lockInfo!.lockId,
|
||||||
|
onError: (err) {
|
||||||
|
print("配置网络失败:${err}");
|
||||||
|
},
|
||||||
|
onSuccess: () {},
|
||||||
|
wifiName: networkInfo!.ssid,
|
||||||
|
wifiPassword: '',
|
||||||
|
clientId: '',
|
||||||
|
starLockPeerId: '',
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,80 @@
|
|||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter/src/widgets/framework.dart';
|
||||||
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
|
import 'package:get/get.dart';
|
||||||
|
import 'package:starwork_flutter/common/constant/app_colors.dart';
|
||||||
|
import 'package:starwork_flutter/common/widgets/custome_app_bar_wdiget.dart';
|
||||||
|
import 'package:starwork_flutter/views/device/deviceConfigureNetwork/device_configure_network_controller.dart';
|
||||||
|
|
||||||
|
class DeviceConfigureNetworkView extends GetView<DeviceConfigureNetworkController> {
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
// 即使不使用,只是引用一下 controller 就能触发初始化
|
||||||
|
final _ = controller; // 添加这一行
|
||||||
|
|
||||||
|
return Scaffold(
|
||||||
|
backgroundColor: AppColors.scaffoldBackgroundColor,
|
||||||
|
appBar: CustomAppBarWidget(
|
||||||
|
title: '配置网络'.tr,
|
||||||
|
),
|
||||||
|
body: SafeArea(
|
||||||
|
child: Column(
|
||||||
|
children: [
|
||||||
|
Container(
|
||||||
|
height: 38.h,
|
||||||
|
padding: EdgeInsets.symmetric(
|
||||||
|
horizontal: 10.w,
|
||||||
|
),
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: Colors.white,
|
||||||
|
borderRadius: BorderRadius.circular(8.r),
|
||||||
|
),
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.start,
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.center,
|
||||||
|
children: [
|
||||||
|
Text(
|
||||||
|
'*',
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 14.sp,
|
||||||
|
fontWeight: FontWeight.w500,
|
||||||
|
color: Colors.red,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
'团队名称',
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 14.sp,
|
||||||
|
fontWeight: FontWeight.w500,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
Expanded(
|
||||||
|
// 使用Expanded来确保TextField可以正确填充剩余空间
|
||||||
|
child: TextField(
|
||||||
|
controller: controller.wifiNameInputController,
|
||||||
|
keyboardType: TextInputType.text,
|
||||||
|
textInputAction: TextInputAction.done,
|
||||||
|
textAlign: TextAlign.end,
|
||||||
|
decoration: InputDecoration(
|
||||||
|
hintText: '请输入团队/家庭名称'.tr,
|
||||||
|
// 设置无边框
|
||||||
|
border: InputBorder.none,
|
||||||
|
// 获取焦点时的边框
|
||||||
|
focusedBorder: InputBorder.none,
|
||||||
|
enabledBorder: InputBorder.none,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -288,63 +288,70 @@ class DeviceManageView extends GetView<DeviceManageController> {
|
|||||||
itemCount: controller.filteredDeviceList.length,
|
itemCount: controller.filteredDeviceList.length,
|
||||||
itemBuilder: (context, index) {
|
itemBuilder: (context, index) {
|
||||||
final lock = controller.filteredDeviceList[index];
|
final lock = controller.filteredDeviceList[index];
|
||||||
return Container(
|
return GestureDetector(
|
||||||
width: double.infinity,
|
onTap: () {
|
||||||
decoration: BoxDecoration(
|
Get.toNamed(AppRoutes.deviceSearchNetwork, arguments: {
|
||||||
color: Colors.white,
|
'lockInfo': lock.toJson(),
|
||||||
borderRadius: BorderRadius.all(Radius.circular(8.r)),
|
});
|
||||||
),
|
},
|
||||||
padding: EdgeInsets.symmetric(
|
child: Container(
|
||||||
horizontal: 10.w,
|
width: double.infinity,
|
||||||
),
|
decoration: BoxDecoration(
|
||||||
alignment: Alignment.centerLeft,
|
color: Colors.white,
|
||||||
child: Obx(
|
borderRadius: BorderRadius.all(Radius.circular(8.r)),
|
||||||
() => Column(
|
),
|
||||||
mainAxisAlignment: MainAxisAlignment.center,
|
padding: EdgeInsets.symmetric(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
horizontal: 10.w,
|
||||||
children: [
|
),
|
||||||
if (controller.selectedDeviceType.value.iconImagePath != null)
|
alignment: Alignment.centerLeft,
|
||||||
Image(
|
child: Obx(
|
||||||
image: AssetImage(controller.selectedDeviceType.value.iconImagePath!),
|
() => Column(
|
||||||
width: 26.w,
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
height: 26.w,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
fit: BoxFit.contain,
|
children: [
|
||||||
gaplessPlayback: true,
|
if (controller.selectedDeviceType.value.iconImagePath != null)
|
||||||
// 防止闪烁
|
Image(
|
||||||
filterQuality: FilterQuality.medium,
|
image: AssetImage(controller.selectedDeviceType.value.iconImagePath!),
|
||||||
// 优化过滤质量
|
width: 26.w,
|
||||||
errorBuilder: (context, error, stackTrace) {
|
height: 26.w,
|
||||||
return Icon(
|
fit: BoxFit.contain,
|
||||||
Icons.image_not_supported,
|
gaplessPlayback: true,
|
||||||
size: 26.sp,
|
// 防止闪烁
|
||||||
color: Colors.grey,
|
filterQuality: FilterQuality.medium,
|
||||||
);
|
// 优化过滤质量
|
||||||
},
|
errorBuilder: (context, error, stackTrace) {
|
||||||
|
return Icon(
|
||||||
|
Icons.image_not_supported,
|
||||||
|
size: 26.sp,
|
||||||
|
color: Colors.grey,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
height: 6.h,
|
||||||
),
|
),
|
||||||
SizedBox(
|
Text(
|
||||||
height: 6.h,
|
lock.lockName,
|
||||||
),
|
style: TextStyle(
|
||||||
Text(
|
fontSize: 10.sp,
|
||||||
lock.lockName,
|
fontWeight: FontWeight.w400,
|
||||||
style: TextStyle(
|
),
|
||||||
fontSize: 10.sp,
|
maxLines: 1,
|
||||||
fontWeight: FontWeight.w400,
|
overflow: TextOverflow.ellipsis,
|
||||||
),
|
),
|
||||||
maxLines: 1,
|
SizedBox(
|
||||||
overflow: TextOverflow.ellipsis,
|
height: 4.h,
|
||||||
),
|
|
||||||
SizedBox(
|
|
||||||
height: 4.h,
|
|
||||||
),
|
|
||||||
Text(
|
|
||||||
lock.isOnline ?? false ? '在线' : '离线',
|
|
||||||
style: TextStyle(
|
|
||||||
color: lock.isOnline ?? false ? Colors.green : Colors.grey,
|
|
||||||
fontSize: 10.sp,
|
|
||||||
fontWeight: FontWeight.w500,
|
|
||||||
),
|
),
|
||||||
)
|
Text(
|
||||||
],
|
lock.isOnline ?? false ? '在线' : '离线',
|
||||||
|
style: TextStyle(
|
||||||
|
color: lock.isOnline ?? false ? Colors.green : Colors.grey,
|
||||||
|
fontSize: 10.sp,
|
||||||
|
fontWeight: FontWeight.w500,
|
||||||
|
),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|||||||
@ -0,0 +1,9 @@
|
|||||||
|
import 'package:get/get.dart';
|
||||||
|
import 'package:starwork_flutter/views/device/deviceSearchNetwork/device_search_network_controller.dart';
|
||||||
|
|
||||||
|
class DeviceSearchNetworkBinding extends Bindings{
|
||||||
|
@override
|
||||||
|
void dependencies() {
|
||||||
|
Get.lazyPut(() => DeviceSearchNetworkController());
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,45 @@
|
|||||||
|
import 'package:get/get.dart';
|
||||||
|
import 'package:starcloud/entity/star_cloud_lock_list.dart';
|
||||||
|
import 'package:starcloud/entity/star_cloud_search_wifi_result.dart';
|
||||||
|
import 'package:starcloud/sdk/sdk_configure_network_operate_extension.dart';
|
||||||
|
import 'package:starcloud/sdk/starcloud.dart';
|
||||||
|
import 'package:starwork_flutter/base/app_logger.dart';
|
||||||
|
import 'package:starwork_flutter/base/base_controller.dart';
|
||||||
|
import 'package:starwork_flutter/common/constant/app_view_parameter_keys.dart';
|
||||||
|
|
||||||
|
class DeviceSearchNetworkController extends BaseController {
|
||||||
|
// 锁信息
|
||||||
|
StarCloudLock? lockInfo;
|
||||||
|
|
||||||
|
// wifi列表
|
||||||
|
final searchResultWifiList = <StarCloudSearchWifiResult>[].obs;
|
||||||
|
|
||||||
|
@override
|
||||||
|
void onReady() {
|
||||||
|
super.onReady();
|
||||||
|
// 读取参数
|
||||||
|
final args = Get.arguments;
|
||||||
|
if (args != null && args.containsKey(AppViewParameterKeys.lockInfo)) {
|
||||||
|
final json = args[AppViewParameterKeys.lockInfo];
|
||||||
|
lockInfo = StarCloudLock.fromJson(json, 0);
|
||||||
|
}
|
||||||
|
starSearchNetwork();
|
||||||
|
}
|
||||||
|
|
||||||
|
void starSearchNetwork() {
|
||||||
|
searchResultWifiList.clear();
|
||||||
|
showLoading();
|
||||||
|
StarCloudSDK.instance.searchWiFi(
|
||||||
|
lockId: lockInfo!.lockId,
|
||||||
|
onError: (err) {
|
||||||
|
print("搜索wifi失败:${err}");
|
||||||
|
hideLoading();
|
||||||
|
},
|
||||||
|
onSuccess: (List<StarCloudSearchWifiResult> result) {
|
||||||
|
searchResultWifiList.value = result;
|
||||||
|
searchResultWifiList.refresh();
|
||||||
|
hideLoading();
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,125 @@
|
|||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter/src/widgets/framework.dart';
|
||||||
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
|
import 'package:get/get.dart';
|
||||||
|
import 'package:starcloud/entity/star_cloud_lock_list.dart';
|
||||||
|
import 'package:starwork_flutter/base/app_logger.dart';
|
||||||
|
import 'package:starwork_flutter/common/constant/app_colors.dart';
|
||||||
|
import 'package:starwork_flutter/common/constant/app_view_parameter_keys.dart';
|
||||||
|
import 'package:starwork_flutter/common/widgets/custome_app_bar_wdiget.dart';
|
||||||
|
import 'package:starwork_flutter/extension/function_extension.dart';
|
||||||
|
import 'package:starwork_flutter/routes/app_routes.dart';
|
||||||
|
import 'package:starwork_flutter/views/device/deviceSearchNetwork/device_search_network_controller.dart';
|
||||||
|
|
||||||
|
class DeviceSearchNetworkView extends GetView<DeviceSearchNetworkController> {
|
||||||
|
const DeviceSearchNetworkView({super.key});
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
// 即使不使用,只是引用一下 controller 就能触发初始化
|
||||||
|
final _ = controller; // 添加这一行
|
||||||
|
|
||||||
|
return Scaffold(
|
||||||
|
backgroundColor: AppColors.scaffoldBackgroundColor,
|
||||||
|
appBar: CustomAppBarWidget(
|
||||||
|
title: '搜索网络'.tr,
|
||||||
|
actions: [
|
||||||
|
TextButton(
|
||||||
|
onPressed: () {
|
||||||
|
controller.starSearchNetwork();
|
||||||
|
},
|
||||||
|
child: Text(
|
||||||
|
'刷新'.tr,
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 16.sp,
|
||||||
|
color: Colors.black87,
|
||||||
|
fontWeight: FontWeight.w500,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
body: SafeArea(
|
||||||
|
child: Column(
|
||||||
|
children: [
|
||||||
|
Expanded(
|
||||||
|
child: Obx(
|
||||||
|
() {
|
||||||
|
return Container(
|
||||||
|
padding: EdgeInsets.symmetric(
|
||||||
|
horizontal: 10.w,
|
||||||
|
vertical: 10.h,
|
||||||
|
),
|
||||||
|
child: ListView.builder(
|
||||||
|
itemBuilder: (context, index) {
|
||||||
|
final item = controller.searchResultWifiList[index];
|
||||||
|
return GestureDetector(
|
||||||
|
onTap: () {
|
||||||
|
Get.toNamed(
|
||||||
|
AppRoutes.deviceConfigureNetwork,
|
||||||
|
arguments: {
|
||||||
|
AppViewParameterKeys.lockInfo: controller.lockInfo?.toJson(),
|
||||||
|
AppViewParameterKeys.networkInfo: item.toJson(),
|
||||||
|
},
|
||||||
|
);
|
||||||
|
},
|
||||||
|
child: Container(
|
||||||
|
padding: EdgeInsets.symmetric(
|
||||||
|
horizontal: 10.w,
|
||||||
|
vertical: 10.h,
|
||||||
|
),
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: Colors.white,
|
||||||
|
borderRadius: BorderRadius.circular(8.r),
|
||||||
|
),
|
||||||
|
margin: EdgeInsets.only(
|
||||||
|
bottom: 10.h,
|
||||||
|
),
|
||||||
|
child: Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.center,
|
||||||
|
children: [
|
||||||
|
Text(
|
||||||
|
item.ssid,
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 16.sp,
|
||||||
|
color: Colors.black87,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Icon(
|
||||||
|
_getWifiSignalIcon(
|
||||||
|
item.rssi.toString(),
|
||||||
|
),
|
||||||
|
color: Colors.blue,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
itemCount: controller.searchResultWifiList.length,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// 计算WiFi信号强度图标
|
||||||
|
IconData _getWifiSignalIcon(String rssi) {
|
||||||
|
final int rssiValue = int.parse(rssi);
|
||||||
|
if (rssiValue >= -50) {
|
||||||
|
return Icons.signal_wifi_4_bar;
|
||||||
|
} else if (rssiValue >= -70) {
|
||||||
|
return Icons.network_wifi;
|
||||||
|
} else if (rssiValue >= -80) {
|
||||||
|
return Icons.network_wifi_2_bar_rounded;
|
||||||
|
} else {
|
||||||
|
return Icons.signal_wifi_0_bar;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -50,8 +50,6 @@ class HomeController extends BaseController {
|
|||||||
isOpenNotificationPermission.value = await AppPermission.checkPermission(
|
isOpenNotificationPermission.value = await AppPermission.checkPermission(
|
||||||
permission: Permission.notification,
|
permission: Permission.notification,
|
||||||
);
|
);
|
||||||
// 触发刷新设备列表
|
|
||||||
EventBusUtil().instance.fire(RefreshDeviceListEvent());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 根据轮播图索引更新渐变颜色
|
// 根据轮播图索引更新渐变颜色
|
||||||
|
|||||||
@ -54,8 +54,8 @@ class MainController extends BaseController {
|
|||||||
late StreamSubscription _refreshDeviceListSubscription;
|
late StreamSubscription _refreshDeviceListSubscription;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void onInit() {
|
void onReady() {
|
||||||
super.onInit();
|
super.onReady();
|
||||||
|
|
||||||
/// 请求团队信息
|
/// 请求团队信息
|
||||||
requestAllTeamInfoList();
|
requestAllTeamInfoList();
|
||||||
@ -214,15 +214,18 @@ class MainController extends BaseController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void _requestTeamDeviceList() async {
|
void _requestTeamDeviceList() async {
|
||||||
|
showLoading();
|
||||||
await StarCloudSDK.instance.getDeviceList(
|
await StarCloudSDK.instance.getDeviceList(
|
||||||
pageNo: 1,
|
pageNo: 1,
|
||||||
pageSize: 999,
|
pageSize: 999,
|
||||||
cloudUid: selectedTeam.value.teamCloudInfo!.uid!,
|
cloudUid: selectedTeam.value.teamCloudInfo!.uid!,
|
||||||
onSuccess: (StarCloudLockList list) {
|
onSuccess: (StarCloudLockList list) {
|
||||||
deviceCountSize.value = list.total;
|
deviceCountSize.value = list.total;
|
||||||
|
hideLoading();
|
||||||
},
|
},
|
||||||
onError: (err) {
|
onError: (err) {
|
||||||
AppLogger.error('获取设备列表失败:${err}');
|
AppLogger.error('获取设备列表失败:${err}');
|
||||||
|
hideLoading();
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user