Browse Source

Merge branch 'dev-2.0' of http://git.qniao.cn/dating-agency/dating_touchme_app into dev-2.0

dev-2.0
YakumoChen 1 week ago
parent
commit
f11b4a2aa0
6 changed files with 107 additions and 15 deletions
  1. 24
      lib/controller/discover/room_controller.dart
  2. 7
      lib/controller/home/home_controller.dart
  3. 3
      lib/network/api_urls.dart
  4. 5
      lib/network/home_api.dart
  5. 34
      lib/network/home_api.g.dart
  6. 49
      lib/widget/live/live_room_user_profile_dialog.dart

24
lib/controller/discover/room_controller.dart

@ -136,6 +136,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 {

7
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;

3
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';
}

5
lib/network/home_api.dart

@ -106,4 +106,9 @@ abstract class HomeApi {
@Body() Map<String, dynamic> data,
);
@POST(ApiUrls.userCreateUserAction)
Future<HttpResponse<BaseResponse<dynamic>>> userCreateUserAction(
@Body() Map<String, dynamic> data,
);
}

34
lib/network/home_api.g.dart

@ -567,6 +567,40 @@ class _HomeApi implements HomeApi {
return httpResponse;
}
@override
Future<HttpResponse<BaseResponse<dynamic>>> userCreateUserAction(
Map<String, dynamic> data,
) async {
final _extra = <String, dynamic>{};
final queryParameters = <String, dynamic>{};
final _headers = <String, dynamic>{};
final _data = <String, dynamic>{};
_data.addAll(data);
final _options = _setStreamType<HttpResponse<BaseResponse<dynamic>>>(
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<Map<String, dynamic>>(_options);
late BaseResponse<dynamic> _value;
try {
_value = BaseResponse<dynamic>.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<T>(RequestOptions requestOptions) {
if (T != dynamic &&
!(requestOptions.responseType == ResponseType.bytes ||

49
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,
),
),
);

Loading…
Cancel
Save