From fb6e67b5e0b21901bf69907ab5f3cee30b9c5ae9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=AD=90=E8=B4=A4?= Date: Fri, 8 May 2026 15:01:13 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=AF=B9=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/controller/home/home_controller.dart | 7 +++++ lib/network/api_urls.dart | 3 +++ lib/network/home_api.dart | 5 ++++ lib/network/home_api.g.dart | 34 ++++++++++++++++++++++++ 4 files changed, 49 insertions(+) diff --git a/lib/controller/home/home_controller.dart b/lib/controller/home/home_controller.dart index a9ee598..456fe71 100644 --- a/lib/controller/home/home_controller.dart +++ b/lib/controller/home/home_controller.dart @@ -76,6 +76,7 @@ class HomeController extends GetxController { // 初始化时加载数据 loadInitialData(); getFriendFootprintInfo(); + userAction(); _timer = Timer.periodic(const Duration(minutes: 1), (timer) { getFriendFootprintInfo(); @@ -84,6 +85,12 @@ class HomeController extends GetxController { } + userAction() async { + + final response = await _homeApi.userCreateUserAction({"actionType": 2}); + + } + final count = 3.obs; diff --git a/lib/network/api_urls.dart b/lib/network/api_urls.dart index 3be49e1..ce53955 100644 --- a/lib/network/api_urls.dart +++ b/lib/network/api_urls.dart @@ -255,4 +255,7 @@ class ApiUrls { static const String userCreateUserFeedback = 'dating-agency-service/user/create/user-feedback'; + static const String userCreateUserAction = + 'dating-agency-service/user/create/user-action'; + } diff --git a/lib/network/home_api.dart b/lib/network/home_api.dart index 6e7e5db..1c4eb8c 100644 --- a/lib/network/home_api.dart +++ b/lib/network/home_api.dart @@ -106,4 +106,9 @@ abstract class HomeApi { @Body() Map data, ); + @POST(ApiUrls.userCreateUserAction) + Future>> userCreateUserAction( + @Body() Map data, + ); + } \ No newline at end of file diff --git a/lib/network/home_api.g.dart b/lib/network/home_api.g.dart index ae36f34..93b0da6 100644 --- a/lib/network/home_api.g.dart +++ b/lib/network/home_api.g.dart @@ -567,6 +567,40 @@ class _HomeApi implements HomeApi { return httpResponse; } + @override + Future>> userCreateUserAction( + Map data, + ) async { + final _extra = {}; + final queryParameters = {}; + final _headers = {}; + final _data = {}; + _data.addAll(data); + final _options = _setStreamType>>( + Options(method: 'POST', headers: _headers, extra: _extra) + .compose( + _dio.options, + 'dating-agency-service/user/create/user-action', + queryParameters: queryParameters, + data: _data, + ) + .copyWith(baseUrl: _combineBaseUrls(_dio.options.baseUrl, baseUrl)), + ); + final _result = await _dio.fetch>(_options); + late BaseResponse _value; + try { + _value = BaseResponse.fromJson( + _result.data!, + (json) => json as dynamic, + ); + } on Object catch (e, s) { + errorLogger?.logError(e, s, _options); + rethrow; + } + final httpResponse = HttpResponse(_value, _result); + return httpResponse; + } + RequestOptions _setStreamType(RequestOptions requestOptions) { if (T != dynamic && !(requestOptions.responseType == ResponseType.bytes || From 39d2dc2cecb658303b569ffe33f3079c385bd99b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=AD=90=E8=B4=A4?= Date: Fri, 8 May 2026 17:39:21 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=AF=B9=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/controller/discover/room_controller.dart | 24 +++++++++ .../live/live_room_user_profile_dialog.dart | 49 +++++++++++++------ 2 files changed, 58 insertions(+), 15 deletions(-) diff --git a/lib/controller/discover/room_controller.dart b/lib/controller/discover/room_controller.dart index 228ed13..e61bdea 100644 --- a/lib/controller/discover/room_controller.dart +++ b/lib/controller/discover/room_controller.dart @@ -130,6 +130,30 @@ class RoomController extends GetxController with WidgetsBindingObserver { + + createUserBlack(blackUserId) async { + try { + final response = await _networkService.userApi.userCreateUserBlacklist({ + "blackUserId": blackUserId, + }); + if (response.data.isSuccess) { + + SmartDialog.showToast('已拉黑成功'); + } else { + + // 响应失败,抛出异常 + throw Exception(response.data.message ?? '获取数据失败'); + } + } catch(e){ + print('拉黑失败: $e'); + SmartDialog.showToast('拉黑失败'); + rethrow; + + } finally { + + } + } + getUserData(String miId, int type) async { try { diff --git a/lib/widget/live/live_room_user_profile_dialog.dart b/lib/widget/live/live_room_user_profile_dialog.dart index d8a5a4e..615297e 100644 --- a/lib/widget/live/live_room_user_profile_dialog.dart +++ b/lib/widget/live/live_room_user_profile_dialog.dart @@ -4,6 +4,7 @@ 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/home/report_page.dart'; import 'package:dating_touchme_app/pages/message/chat_page.dart'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; @@ -410,7 +411,7 @@ void showUserProfileDialog( SizedBox(height: 15.w), // 底部操作链接 if(isHost) Row( - mainAxisAlignment: MainAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ _buildActionLink('私聊', () { SmartDialog.dismiss(); @@ -418,12 +419,6 @@ void showUserProfileDialog( userId: message.userId, )); }), - Container( - width: 1.w, - 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( @@ -436,26 +431,50 @@ void showUserProfileDialog( SmartDialog.dismiss(); roomController.setDialogDismiss(false); }), - if(!(userData.isFriend ?? false)) Container( + _buildActionLink('送礼', () { + SmartDialog.dismiss(); + onShowGiftPopup(1); + }), + 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(1); - }), + + Get.to(() => ReportPage(id: userData.miUserId ?? "", userId: userData.miUserId ?? "", type: 1,)); + }, color: const Color.fromRGBO(144, 144, 144, 1)), + _buildActionLink('拉黑', () { + SmartDialog.dismiss(); + roomController.createUserBlack(userData.miUserId ?? ""); + }, color: const Color.fromRGBO(144, 144, 144, 1)), ], ), // 底部操作链接 if(!isHost) Row( - mainAxisAlignment: MainAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ - if(!(userData.isFriend ?? false)) _buildActionLink('送礼物', () { + if(!(userData.isFriend ?? false)) _buildActionLink('送礼', () { SmartDialog.dismiss(); onShowGiftPopup(1); }), + 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('举报', () { + SmartDialog.dismiss(); + + Get.to(() => ReportPage(id: userData.miUserId ?? "", userId: userData.miUserId ?? "", type: 1,)); + }, color: const Color.fromRGBO(144, 144, 144, 1)), + _buildActionLink('拉黑', () { + SmartDialog.dismiss(); + roomController.createUserBlack(userData.miUserId ?? ""); + }, color: const Color.fromRGBO(144, 144, 144, 1)), ], ), ], @@ -508,7 +527,7 @@ Widget _buildTag(String text, Color bgColor) { ); } -Widget _buildActionLink(String text, VoidCallback onTap) { +Widget _buildActionLink(String text, VoidCallback onTap, {Color color = const Color.fromRGBO(117, 98, 249, 1)}) { return GestureDetector( onTap: onTap, child: Text( @@ -516,7 +535,7 @@ Widget _buildActionLink(String text, VoidCallback onTap) { style: TextStyle( fontSize: 14.w, fontWeight: FontWeight.w500, - color: const Color.fromRGBO(117, 98, 249, 1), + color: color, ), ), );