已完成用户APP首期功能开发

交付用户端首期页面、配套接口、后台资源及测试文档。用户APP构建、静态分析和三个管理后台构建通过;完整测试仍有2项失败,后端模型注释检查未通过,详见交付记录。
This commit is contained in:
czl231
2026-09-13 00:57:32 +08:00
parent a0a4bb1218
commit 3ef33b531d
793 changed files with 40959 additions and 1204 deletions

View File

@@ -0,0 +1,34 @@
// 功能:解析本人设备分组及其公开设备标识;版本: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<String> deviceIdentities;
factory DeviceGroup.fromJson(Map<String, Object?> 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<ClientRecord> devices;
final List<DeviceGroup> groups;
}