// 家长中心状态 — ParentBloc 输出的 UI 状态 part of 'parent_bloc.dart'; /// 家长中心状态基类 sealed class ParentState { const ParentState(); } /// 初始状态 final class ParentInitial extends ParentState { const ParentInitial(); } /// 加载中 final class ParentLoading extends ParentState { const ParentLoading(); } /// 孩子列表已加载 final class ParentChildrenLoaded extends ParentState { final List children; const ParentChildrenLoaded(this.children); } /// 孩子日记已加载(只读) final class ParentJournalsLoaded extends ParentState { final String childId; final List> journals; const ParentJournalsLoaded({ required this.childId, required this.journals, }); } /// 数据已导出 final class ParentDataExported extends ParentState { final String childId; final Map data; const ParentDataExported({ required this.childId, required this.data, }); } /// 数据已删除 final class ParentDataDeleted extends ParentState { final String childId; const ParentDataDeleted(this.childId); } /// 出错 final class ParentError extends ParentState { final String message; const ParentError(this.message); } // ===== 模型 ===== /// 家长-孩子绑定关系 class ChildBinding { final String bindingId; final String childId; final DateTime? verifiedAt; const ChildBinding({ required this.bindingId, required this.childId, this.verifiedAt, }); factory ChildBinding.fromJson(Map json) => ChildBinding( bindingId: json['binding_id'] as String, childId: json['child_id'] as String, verifiedAt: json['verified_at'] != null ? DateTime.tryParse(json['verified_at'] as String) : null, ); }