From e402dca8d039707841bc1078cad9d7699ff43cf7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=AD=90=E8=B4=A4?= Date: Fri, 27 Feb 2026 18:25:53 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=9C=88=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/controller/discover/room_controller.dart | 4 +- lib/model/home/user_info_data.dart | 4 + lib/model/live/live_chat_message.dart | 4 + lib/pages/discover/settlement_page.dart | 4 +- lib/service/live_chat_message_service.dart | 5 + .../live/live_room_anchor_showcase.dart | 56 ++- lib/widget/live/live_room_chat_item.dart | 35 +- .../live/live_room_notice_chat_panel.dart | 2 +- .../live/live_room_user_profile_dialog.dart | 375 +++++++++++++----- lib/widget/live/month_task_dialog.dart | 2 +- 10 files changed, 368 insertions(+), 123 deletions(-) diff --git a/lib/controller/discover/room_controller.dart b/lib/controller/discover/room_controller.dart index 9b67d4d..13801db 100644 --- a/lib/controller/discover/room_controller.dart +++ b/lib/controller/discover/room_controller.dart @@ -316,10 +316,10 @@ class RoomController extends GetxController with WidgetsBindingObserver { final taskData = TaskData().obs; - getTaskData() async { + getTaskData(int type) async { try{ final response = await _networkService.userApi.userGetUserTaskComplete( - taskType: 1, + taskType: type, ); if (response.data.isSuccess) { if(response.data.data == null){ diff --git a/lib/model/home/user_info_data.dart b/lib/model/home/user_info_data.dart index 7cf3626..28238a3 100644 --- a/lib/model/home/user_info_data.dart +++ b/lib/model/home/user_info_data.dart @@ -1,6 +1,7 @@ class UserInfoData { String? id; bool? isDelete; + bool? isFriend; String? createTime; String? updateTime; Null? event; @@ -99,6 +100,7 @@ class UserInfoData { UserInfoData( {this.id, this.isDelete, + this.isFriend, this.createTime, this.updateTime, this.event, @@ -197,6 +199,7 @@ class UserInfoData { UserInfoData.fromJson(Map json) { id = json['id']; isDelete = json['isDelete']; + isFriend = json['isFriend']; createTime = json['createTime']; updateTime = json['updateTime']; event = json['event']; @@ -309,6 +312,7 @@ class UserInfoData { final Map data = new Map(); data['id'] = this.id; data['isDelete'] = this.isDelete; + data['isFriend'] = this.isFriend; data['createTime'] = this.createTime; data['updateTime'] = this.updateTime; data['event'] = this.event; diff --git a/lib/model/live/live_chat_message.dart b/lib/model/live/live_chat_message.dart index e755350..0717d1b 100644 --- a/lib/model/live/live_chat_message.dart +++ b/lib/model/live/live_chat_message.dart @@ -4,6 +4,7 @@ class LiveChatMessage { final int? uid; final String userName; final String? avatar; + final String? miId; final String content; final int timestamp; @@ -11,6 +12,7 @@ class LiveChatMessage { required this.userId, required this.userName, this.avatar, + this.miId, this.uid, required this.content, required this.timestamp, @@ -21,6 +23,7 @@ class LiveChatMessage { userId: json['userId'], userName: json['userName'], avatar: json['avatar'], + miId: json['miId'], uid: json['uid'], content: json['content'], timestamp: json['timestamp'], @@ -32,6 +35,7 @@ class LiveChatMessage { 'userId': userId, 'userName': userName, 'avatar': avatar, + 'miId': miId, 'content': content, 'timestamp': timestamp, }; diff --git a/lib/pages/discover/settlement_page.dart b/lib/pages/discover/settlement_page.dart index db3b71e..69a051f 100644 --- a/lib/pages/discover/settlement_page.dart +++ b/lib/pages/discover/settlement_page.dart @@ -229,7 +229,7 @@ class _SettlementPageState extends State { ).onTap(() async { try{ - await _roomController.getTaskData(); + await _roomController.getTaskData(1); FocusScope.of(context).unfocus(); // 隐藏 overlay @@ -260,7 +260,7 @@ class _SettlementPageState extends State { width: 325.w, ).onTap(() async { try{ - await _roomController.getTaskData(); + await _roomController.getTaskData(3); FocusScope.of(context).unfocus(); // 隐藏 overlay diff --git a/lib/service/live_chat_message_service.dart b/lib/service/live_chat_message_service.dart index f0d4b73..1959bd5 100644 --- a/lib/service/live_chat_message_service.dart +++ b/lib/service/live_chat_message_service.dart @@ -161,9 +161,13 @@ class LiveChatMessageService { final avatar = userData?.profilePhoto; RoomController controller = Get.find(); final uid = controller.rtcChannel.value?.uid; + print(userId); + print(userData?.id); + print("userData?.id"); return { 'type': 'chat_message', 'userId': userId, + 'miId': userData?.id, 'userName': userName, 'uid': uid, 'avatar': avatar, @@ -254,6 +258,7 @@ class LiveChatMessageService { userId: messageData['userId'] as String, userName: messageData['userName'] as String, avatar: messageData['avatar'] as String?, + miId: messageData['miId'] as String?, content: messageData['content'] as String, timestamp: messageData['timestamp'] as int, ); diff --git a/lib/widget/live/live_room_anchor_showcase.dart b/lib/widget/live/live_room_anchor_showcase.dart index 4e0bab4..dfc79c9 100644 --- a/lib/widget/live/live_room_anchor_showcase.dart +++ b/lib/widget/live/live_room_anchor_showcase.dart @@ -4,6 +4,7 @@ import 'package:dating_touchme_app/controller/global.dart'; import 'package:dating_touchme_app/extension/ex_widget.dart'; import 'package:dating_touchme_app/generated/assets.dart'; import 'package:dating_touchme_app/model/rtc/rtc_channel_detail.dart'; +import 'package:dating_touchme_app/network/user_api.dart'; import 'package:dating_touchme_app/rtc/rtc_manager.dart'; import 'package:dating_touchme_app/widget/live/live_gift_popup.dart'; import 'package:dating_touchme_app/widget/live/live_room_guest_list_dialog.dart'; @@ -335,13 +336,13 @@ class _LiveRoomAnchorShowcaseState extends State { ), ), ), - if(!isCurrentUser && userInfo.isFriend != true) + if(userInfo.isFriend != true) Positioned( bottom: 5.w, right: 5.w, child: Row( children: [ - GestureDetector( + if(!isCurrentUser) GestureDetector( onTap: (){ if(userInfo.isFriend == true){ return; @@ -368,7 +369,7 @@ class _LiveRoomAnchorShowcaseState extends State { ), ), ), - SizedBox(width: 5.w,), + if(!isCurrentUser) SizedBox(width: 5.w,), Container( width: 20.w, height: 20.w, @@ -421,27 +422,48 @@ class _LiveRoomAnchorShowcaseState extends State { ); }, ), - ).onTap(() { + ).onTap(() async { // 检查是否是当前用户自己的消息 final currentUserId = GlobalData().userId ?? GlobalData().userData?.id; if (currentUserId != null && currentUserId == userInfo.userId) { // 是自己的头像,不显示弹框 return; } - // 不是自己的消息,显示用户资料对话框 - showUserProfileDialog( - context, - LiveChatMessage( - userId: userInfo.userId, - uid: userInfo.uid, - userName: userInfo.nickName, - avatar: userInfo.profilePhoto, - content: "", - timestamp: 0 - ), - () => + try { + final _userApi = Get.find(); + final response = await _userApi.getDongwoMarriageInformationDetail(miId: userInfo.miId); + if (response.data.isSuccess && response.data.data != null) { + + + // 不是自己的消息,显示用户资料对话框 + showUserProfileDialog( + context, + LiveChatMessage( + userId: userInfo.userId, + uid: userInfo.uid, + userName: userInfo.nickName, + avatar: userInfo.profilePhoto, + miId: userInfo.miId, + content: "", + timestamp: 0 + ), + () => _showGiftPopupForUser(userInfo, 1), - ); + response.data.data! + ); + } else { + // 响应失败,设置错误信息 + final errorMsg = response.data.message ?? '获取数据失败'; + + SmartDialog.showToast(errorMsg); + } + } catch(e, stackTrace){ + print('获取用户信息失败: $e'); + print('堆栈跟踪: $stackTrace'); + + SmartDialog.showToast('获取用户信息失败,请稍后重试'); + // 不再 rethrow,避免导致闪退 + } }), SizedBox(width: 5.w), SizedBox( diff --git a/lib/widget/live/live_room_chat_item.dart b/lib/widget/live/live_room_chat_item.dart index 99a0cad..1d80792 100644 --- a/lib/widget/live/live_room_chat_item.dart +++ b/lib/widget/live/live_room_chat_item.dart @@ -3,6 +3,7 @@ import 'package:dating_touchme_app/controller/global.dart'; import 'package:dating_touchme_app/extension/ex_widget.dart'; import 'package:dating_touchme_app/generated/assets.dart'; import 'package:dating_touchme_app/model/live/live_chat_message.dart'; +import 'package:dating_touchme_app/network/user_api.dart'; import 'package:dating_touchme_app/widget/live/live_gift_popup.dart'; import 'package:dating_touchme_app/widget/live/live_room_user_profile_dialog.dart'; import 'package:flutter/material.dart'; @@ -80,19 +81,41 @@ class LiveRoomChatItem extends StatelessWidget { width: 25.w, height: 25.w, ), - ).onTap(() { + ).onTap(() async { // 检查是否是当前用户自己的消息 final currentUserId = GlobalData().userId ?? GlobalData().userData?.id; if (currentUserId != null && currentUserId == message.userId) { // 是自己的头像,不显示弹框 return; } + try { + final _userApi = Get.find(); + final response = await _userApi.getDongwoMarriageInformationDetail(miId: message.miId ?? ""); + if (response.data.isSuccess && response.data.data != null) { + + + showUserProfileDialog( + context, + message, + () => _showGiftPopup(context, 1), + response.data.data! + ); + + } else { + // 响应失败,设置错误信息 + final errorMsg = response.data.message ?? '获取数据失败'; + + SmartDialog.showToast(errorMsg); + } + } catch(e, stackTrace){ + print('获取用户信息失败: $e'); + print('堆栈跟踪: $stackTrace'); + + SmartDialog.showToast('获取用户信息失败,请稍后重试'); + // 不再 rethrow,避免导致闪退 + } // 不是自己的消息,显示用户资料对话框 - showUserProfileDialog( - context, - message, - () => _showGiftPopup(context, 1), - ); + }) : Image.asset( Assets.imagesUserAvatar, diff --git a/lib/widget/live/live_room_notice_chat_panel.dart b/lib/widget/live/live_room_notice_chat_panel.dart index bf360d8..bd56b20 100644 --- a/lib/widget/live/live_room_notice_chat_panel.dart +++ b/lib/widget/live/live_room_notice_chat_panel.dart @@ -222,7 +222,7 @@ class _LiveRoomNoticeChatPanelState extends State { // 隐藏键盘 try{ - await roomController.getTaskData(); + await roomController.getTaskData(1); FocusScope.of(context).unfocus(); // 隐藏 overlay diff --git a/lib/widget/live/live_room_user_profile_dialog.dart b/lib/widget/live/live_room_user_profile_dialog.dart index bb11bc7..153aada 100644 --- a/lib/widget/live/live_room_user_profile_dialog.dart +++ b/lib/widget/live/live_room_user_profile_dialog.dart @@ -2,6 +2,7 @@ import 'package:dating_touchme_app/controller/discover/room_controller.dart'; import 'package:dating_touchme_app/controller/overlay_controller.dart'; import 'package:dating_touchme_app/extension/ex_widget.dart'; import 'package:dating_touchme_app/generated/assets.dart'; +import 'package:dating_touchme_app/model/home/user_info_data.dart'; import 'package:dating_touchme_app/model/live/live_chat_message.dart'; import 'package:dating_touchme_app/pages/message/chat_page.dart'; import 'package:flutter/material.dart'; @@ -14,6 +15,7 @@ void showUserProfileDialog( BuildContext context, LiveChatMessage message, VoidCallback onShowGiftPopup, + UserInfoData userData, ) { @@ -33,7 +35,7 @@ void showUserProfileDialog( topRight: Radius.circular(20.w), ), ), - height: 230.w, + height: 210.w, margin: EdgeInsets.only(top: 40.w), padding: EdgeInsets.symmetric(horizontal: 15.w), child: Column( @@ -41,16 +43,190 @@ void showUserProfileDialog( children: [ SizedBox(height: 10.w,), Row( + mainAxisAlignment: MainAxisAlignment.end, + children: [ + GestureDetector( + onTap: () => SmartDialog.dismiss(), + child: Icon( + Icons.close, + size: 24.w, + color: const Color.fromRGBO(153, 153, 153, 1), + ), + ), + ], + ), + SizedBox(height: 15.w,), + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text( + message.userName, + style: TextStyle( + fontSize: 18.w, + fontWeight: FontWeight.w600, + color: const Color.fromRGBO(51, 51, 51, 1), + ), + ) + ], + ), + Row( + children: [ + SizedBox(width: 30.w), + // 用户名和标签 + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + SizedBox(height: 8.w), + // 标签 + Center( + child: Wrap( + spacing: 6.w, + runSpacing: 6.w, + runAlignment: WrapAlignment.center, + children: [ + + if(userData.genderCode == 0) Container( + width: 33.w, + height: 13.w, + decoration: BoxDecoration( + borderRadius: BorderRadius.all(Radius.circular(13.w)), + color: const Color.fromRGBO(237, 245, 255, 1) + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Image.asset( + Assets.imagesMale, + width: 8.w, + height: 8.w, + ), + SizedBox(width: 2.w,), + Text( + "${ + calculateAge( + (userData.birthDate != null && userData.birthDate!.isNotEmpty) ? + (userData.birthDate ?? "") : userData.birthYear != null && userData.birthYear!.isNotEmpty ? + "${userData.birthYear}-01-01" : "") + }", + style: TextStyle( + fontSize: 11.w, + color: const Color.fromRGBO(120, 140, 255, 1) + ), + ) + ], + ), + ), + if(userData.genderCode == 1) Container( + width: 33.w, + height: 13.w, + decoration: BoxDecoration( + borderRadius: BorderRadius.all(Radius.circular(13.w)), + color: const Color.fromRGBO(255, 237, 255, 1) + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Image.asset( + Assets.imagesFemale, + width: 8.w, + height: 8.w, + ), + SizedBox(width: 2.w,), + Text( + "${ + calculateAge( + (userData.birthDate != null && userData.birthDate!.isNotEmpty) ? + (userData.birthDate ?? "") : userData.birthYear != null && userData.birthYear!.isNotEmpty ? + "${userData.birthYear}-01-01" : "") + }", + style: TextStyle( + fontSize: 11.w, + color: const Color.fromRGBO(255, 66, 236, 1) + ), + ) + ], + ), + ), + if(userData.height != null && userData.height != 0) Container( + width: 33.w, + height: 13.w, + decoration: BoxDecoration( + borderRadius: BorderRadius.all(Radius.circular(13.w)), + color: const Color.fromRGBO(245, 247, 255, 1) + ), + child: Center( + child: Text( + "${userData.height}", + style: TextStyle( + fontSize: 11.w, + ), + ), + ), + ), + if(userData.provinceName != null && userData.provinceName != "") Container( + width: 33.w, + height: 13.w, + decoration: BoxDecoration( + borderRadius: BorderRadius.all(Radius.circular(13.w)), + color: const Color.fromRGBO(245, 247, 255, 1) + ), + child: Center( + child: Text( + "${userData.provinceName}", + style: TextStyle( + fontSize: 11.w, + ), + ), + ), + ), + if(userData.occupation != null && userData.occupation != "") Container( + width: 33.w, + height: 13.w, + decoration: BoxDecoration( + borderRadius: BorderRadius.all(Radius.circular(13.w)), + color: const Color.fromRGBO(245, 247, 255, 1) + ), + child: Center( + child: Text( + "${userData.occupation}", + style: TextStyle( + fontSize: 11.w, + ), + ), + ), + ), + ], + ), + ), + ], + ), + ), + ], + ), + SizedBox(height: 10.w,), + if(isHost) Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - SizedBox(width: 110.w,), - if(isHost) Container( - width: 100.w, - height: 30.w, - margin: EdgeInsets.only(right: 10.w), + if( + (userData.genderCode == 0 && + roomController.rtcChannelDetail.value?.maleInfo?.userId != userData.miUserId) || + (userData.genderCode == 1 && + roomController.rtcChannelDetail.value?.femaleInfo?.userId != userData.miUserId) + ) Container( + width: 165.w, + height: 35.w, decoration: BoxDecoration( - borderRadius: BorderRadius.all(Radius.circular(9.w)), + borderRadius: BorderRadius.all(Radius.circular(8.w)), color: const Color.fromRGBO(253, 43, 84, 1), + gradient: const LinearGradient( + colors: [ + Color.fromRGBO(117, 98, 249, 1), + Color.fromRGBO(152, 124, 255, 1), + ], + begin: Alignment.centerLeft, + end: Alignment.centerRight, + ), ), child: Center( child: Text( @@ -70,19 +246,53 @@ void showUserProfileDialog( roomController.setDialogDismiss(false); }), - if(isHost) Container( - width: 81.w, - height: 30.w, - margin: EdgeInsets.only(right: 10.w), + if( + (userData.genderCode == 0 && + roomController.rtcChannelDetail.value?.maleInfo?.userId == userData.miUserId) || + (userData.genderCode == 1 && + roomController.rtcChannelDetail.value?.femaleInfo?.userId == userData.miUserId) + ) Container( + width: 165.w, + height: 35.w, decoration: BoxDecoration( - borderRadius: BorderRadius.all(Radius.circular(9.w)), - color: const Color.fromRGBO(245, 245, 245, 1), + borderRadius: BorderRadius.all(Radius.circular(8.w)), + color: const Color.fromRGBO(253, 43, 84, 1), + gradient: const LinearGradient( + colors: [ + Color.fromRGBO(117, 98, 249, 1), + Color.fromRGBO(152, 124, 255, 1), + ], + begin: Alignment.centerLeft, + end: Alignment.centerRight, + ), ), child: Center( child: Text( - "踢出房间", + "抱下麦", style: TextStyle( - color: const Color.fromRGBO(144, 144, 144, 1) + color: Colors.white + ), + ), + ), + ).onTap(() async { + await roomController.endMic( + channelId: roomController.rtcChannelDetail.value!.channelId, + kickingUId: message.uid ?? 0); + SmartDialog.dismiss(); + }), + + if(userData.isFriend ?? false) Container( + width: 165.w, + height: 35.w, + decoration: BoxDecoration( + borderRadius: BorderRadius.all(Radius.circular(8 .w)), + color: const Color.fromRGBO(51, 51, 51, 1), + ), + child: Center( + child: Text( + "提出房间", + style: TextStyle( + color: Colors.white ), ), ), @@ -98,83 +308,26 @@ void showUserProfileDialog( SmartDialog.dismiss(); roomController.setDialogDismiss(false); }), - GestureDetector( - onTap: () => SmartDialog.dismiss(), - child: Icon( - Icons.close, - size: 24.w, - color: const Color.fromRGBO(153, 153, 153, 1), + if(!(userData.isFriend ?? false)) Container( + width: 165.w, + height: 35.w, + decoration: BoxDecoration( + borderRadius: BorderRadius.all(Radius.circular(8 .w)), + color: const Color.fromRGBO(245, 154, 35, 1), ), - ), - ], - ), - SizedBox(height: 10.w,), - // 用户头像和信息 - Row( - children: [ - SizedBox(width: 30.w), - // 用户名和标签 - Expanded( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - message.userName, - style: TextStyle( - fontSize: 18.w, - fontWeight: FontWeight.w600, - color: const Color.fromRGBO(51, 51, 51, 1), - ), - ), - SizedBox(height: 8.w), - // 标签 - Wrap( - spacing: 6.w, - runSpacing: 6.w, - children: [ - _buildTag( - '在线', - const Color.fromRGBO(198, 246, 213, 1), - ), - ], + child: Center( + child: Text( + "加好友", + style: TextStyle( + color: Colors.white ), - ], - ), - ), - ], - ), - SizedBox(height: 25.w), - // 送礼物按钮 - GestureDetector( - onTap: () { - SmartDialog.dismiss(); - onShowGiftPopup(); - }, - child: Container( - width: double.infinity, - height: 44.w, - decoration: BoxDecoration( - gradient: const LinearGradient( - colors: [ - Color.fromRGBO(117, 98, 249, 1), - Color.fromRGBO(152, 124, 255, 1), - ], - begin: Alignment.centerLeft, - end: Alignment.centerRight, - ), - borderRadius: BorderRadius.circular(22.w), - ), - child: Center( - child: Text( - '送礼物', - style: TextStyle( - fontSize: 16.w, - color: Colors.white, - fontWeight: FontWeight.w500, ), ), - ), - ), + ).onTap(() async { + SmartDialog.dismiss(); + onShowGiftPopup(); + }), + ], ), SizedBox(height: 15.w), // 底部操作链接 @@ -189,11 +342,29 @@ void showUserProfileDialog( }), Container( width: 1.w, - height: 12.w, - color: const Color.fromRGBO(229, 229, 229, 1), + height: 15.w, + color: const Color.fromRGBO(212, 212, 212, 1), + margin: EdgeInsets.symmetric(horizontal: 15.w), + ), + if(!(userData.isFriend ?? false)) _buildActionLink('踢出房间', () async { + // 解除连麦 + await roomController.kickingRtcChannelUser( + channelId: roomController.rtcChannelDetail.value!.channelId, + kickingUId: message.uid ?? 0); + + // 隐藏键盘 + FocusScope.of(context).unfocus(); + // 隐藏 overlay + SmartDialog.dismiss(); + roomController.setDialogDismiss(false); + }), + if(!(userData.isFriend ?? false)) Container( + width: 1.w, + height: 15.w, + color: const Color.fromRGBO(212, 212, 212, 1), margin: EdgeInsets.symmetric(horizontal: 15.w), ), - _buildActionLink('送礼物加好友', () { + _buildActionLink('送礼物', () { SmartDialog.dismiss(); onShowGiftPopup(); }), @@ -203,7 +374,7 @@ void showUserProfileDialog( ), ), Container( - margin: EdgeInsets.only(left: 30.w), + margin: EdgeInsets.only(left: 147.5.w), child: ClipOval( child: message.avatar != null && message.avatar!.isNotEmpty ? Image.network( @@ -255,10 +426,26 @@ Widget _buildActionLink(String text, VoidCallback onTap) { child: Text( text, style: TextStyle( - fontSize: 12.w, - color: const Color.fromRGBO(153, 153, 153, 1), + fontSize: 14.w, + fontWeight: FontWeight.w500, + color: const Color.fromRGBO(117, 98, 249, 1), ), ), ); } + +int calculateAge(String birthdayStr) { + final birthday = DateTime.parse(birthdayStr); // 自动识别 1996-1-20 + final today = DateTime.now(); + + int age = today.year - birthday.year; + + // 如果今年生日还没过,年龄要减 1 + if (today.month < birthday.month || + (today.month == birthday.month && today.day < birthday.day)) { + age--; + } + + return age; +} \ No newline at end of file diff --git a/lib/widget/live/month_task_dialog.dart b/lib/widget/live/month_task_dialog.dart index ae8089b..c86102a 100644 --- a/lib/widget/live/month_task_dialog.dart +++ b/lib/widget/live/month_task_dialog.dart @@ -143,7 +143,7 @@ class _TaskItemState extends State { ), ), Text( - "${widget.item.completeCount ?? ""}/${widget.item.requiredCount ?? ""}${widget.item.sort == 1 ? "分钟" : widget.item.sort == 2 ? "对" : "人"}", + "${widget.item.completeCount ?? ""}/${widget.item.requiredCount ?? ""}${widget.item.subTaskType == 4 ? "玫瑰" : widget.item.subTaskType == 1 ? "分钟" : widget.item.subTaskType == 2 ? "对" : "人"}", style: TextStyle( fontSize: 12.w, color: const Color.fromRGBO(144, 144, 144, 1)