diff --git a/lib/model/home/marriage_data.dart b/lib/model/home/marriage_data.dart index 1405b89..6a8acf9 100644 --- a/lib/model/home/marriage_data.dart +++ b/lib/model/home/marriage_data.dart @@ -1,4 +1,6 @@ // 数据模型类 - 根据真实API返回格式调整 +import 'user_info_data.dart'; + class MarriageData { final String miId; final String userId; @@ -66,6 +68,32 @@ class MarriageData { photoList: (json['photoList'] as List?)?.map((e) => PhotoItem.fromJson(e as Map)).toList() ?? [], ); } + + /// 从 UserInfoData 转换为 MarriageData + factory MarriageData.fromUserInfoData(UserInfoData userInfo) { + return MarriageData( + miId: userInfo.miId ?? '', + userId: userInfo.userId ?? '', + profilePhoto: userInfo.profilePhoto ?? '', + nickName: userInfo.nickName ?? '', + isRealNameCertified: userInfo.identityCard != null && userInfo.identityCard!.isNotEmpty, + birthYear: userInfo.birthYear ?? '', + birthDate: userInfo.birthDate ?? '', + age: userInfo.age?.toInt() ?? 0, + provinceCode: userInfo.provinceCode?.toInt() ?? 0, + provinceName: userInfo.provinceName ?? '', + cityCode: userInfo.cityCode?.toInt() ?? 0, + cityName: userInfo.cityName ?? '', + districtCode: userInfo.districtCode?.toInt() ?? 0, + districtName: userInfo.districtName ?? '', + describeInfo: userInfo.describeInfo ?? '', + createTime: userInfo.createTime ?? '', + photoList: (userInfo.photoList ?? []).map((photo) => PhotoItem( + photoUrl: photo.photoUrl ?? '', + auditStatus: photo.auditStatus, + )).toList(), + ); + } } // 照片项数据模型 diff --git a/lib/pages/home/user_information_page.dart b/lib/pages/home/user_information_page.dart index c1342fb..68cd53c 100644 --- a/lib/pages/home/user_information_page.dart +++ b/lib/pages/home/user_information_page.dart @@ -1,5 +1,4 @@ import 'package:cached_network_image/cached_network_image.dart'; -import 'package:dating_touchme_app/controller/global.dart'; import 'package:dating_touchme_app/controller/home/user_information_controller.dart'; import 'package:dating_touchme_app/generated/assets.dart'; import 'package:dating_touchme_app/model/home/marriage_data.dart'; @@ -383,10 +382,15 @@ class UserInformationPage extends StatelessWidget { backgroundColor: Color(0xC3333333), ), onTap: (){ - // Get.to(() => ChatPage( - // userId: controller.userData.value.userId ?? "", - // userData: widget.userData, - // )); + final userInfo = controller.userData.value; + if (userInfo.userId != null && userInfo.userId!.isNotEmpty) { + // 使用工厂方法将 UserInfoData 转换为 MarriageData + final marriageData = MarriageData.fromUserInfoData(userInfo); + Get.to(() => ChatPage( + userId: userInfo.userId ?? "", + userData: marriageData, + )); + } }, ), const SizedBox(width: 10),