// 功能:解析本人设备分组及其公开设备标识;版本:1.0.0。 import 'client_models.dart'; /// 设备分组只表达用户自定义归类,不代表设备在线或可控制。 class DeviceGroup { const DeviceGroup({ required this.identity, required this.name, required this.sortNo, required this.deviceIdentities, }); final String identity; final String name; final int sortNo; final Set deviceIdentities; factory DeviceGroup.fromJson(Map json) => DeviceGroup( identity: json['identity'] as String? ?? '', name: json['name'] as String? ?? '', sortNo: (json['sort_no'] as num?)?.toInt() ?? 0, deviceIdentities: { for (final value in json['device_identities'] as List? ?? const []) if (value is String && value.isNotEmpty) value, }, ); } /// 同一次页面刷新读取的设备与分组快照,避免两次渲染状态互相错配。 class DeviceCatalog { const DeviceCatalog({required this.devices, required this.groups}); final List devices; final List groups; }