/// 机构信息模型 class InstitutionInfo { final int id; final String uuid; final String name; InstitutionInfo({ required this.id, required this.uuid, required this.name, }); /// 从 JSON 创建 InstitutionInfo factory InstitutionInfo.fromJson(Map json) { return InstitutionInfo( id: json['id'] as int, uuid: json['uuid'] as String, name: json['name'] as String, ); } /// 转换为 JSON Map toJson() { return { 'id': id, 'uuid': uuid, 'name': name, }; } } /// 用户信息模型 class UserInfo { final int id; final String uuid; final String institutionUuid; final String name; final int gender; final String? avatar; final String baseUuid; final String username; final String mobile; UserInfo({ required this.id, required this.uuid, required this.institutionUuid, required this.name, required this.gender, this.avatar, required this.baseUuid, required this.username, required this.mobile, }); /// 从 JSON 创建 UserInfo factory UserInfo.fromJson(Map json) { return UserInfo( id: json['id'] as int, uuid: json['uuid'] as String, institutionUuid: json['institution_uuid'] as String, name: json['name'] as String, gender: json['gender'] as int, avatar: json['avatar'] as String?, baseUuid: json['base_uuid'] as String, username: json['username'] as String, mobile: json['mobile'] as String, ); } /// 转换为 JSON Map toJson() { return { 'id': id, 'uuid': uuid, 'institution_uuid': institutionUuid, 'name': name, 'gender': gender, 'avatar': avatar, 'base_uuid': baseUuid, 'username': username, 'mobile': mobile, }; } } /// 认证响应模型 class AuthModel { final String accessToken; final String? refreshToken; final List institutionInfo; final UserInfo userInfo; AuthModel({ required this.accessToken, this.refreshToken, required this.institutionInfo, required this.userInfo, }); /// 从 JSON 创建 AuthModel factory AuthModel.fromJson(Map json) { return AuthModel( accessToken: json['access_token'] as String, refreshToken: json['refresh_token'] as String?, institutionInfo: (json['institution_info'] as List) .map((item) => InstitutionInfo.fromJson(item as Map)) .toList(), userInfo: UserInfo.fromJson(json['user_info'] as Map), ); } /// 转换为 JSON Map toJson() { return { 'access_token': accessToken, 'refresh_token': refreshToken, 'institution_info': institutionInfo.map((item) => item.toJson()).toList(), 'user_info': userInfo.toJson(), }; } }