From 7d12116d4adca56e6514a8946de7f33a180bf889 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=AD=90=E8=B4=A4?= Date: Thu, 29 Jan 2026 18:10:06 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=B9=E6=8E=A5=E6=8E=A5=E5=8F=A3=EF=BC=8C?= =?UTF-8?q?=E5=AE=8C=E5=96=84=E5=8A=9F=E8=83=BD=EF=BC=8C=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E9=BA=A6=E5=85=8B=E9=A3=8E=E6=8E=A7=E5=88=B6=EF=BC=8C=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0=E7=9B=B4=E6=92=AD=E9=97=B4=E5=A4=96=E8=A7=82=E4=BC=97?= =?UTF-8?q?=E9=82=80=E8=AF=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/controller/discover/room_controller.dart | 20 ++++++++++++ lib/model/discover/live_income_data.dart | 15 +++++++++ lib/network/api_urls.dart | 3 ++ lib/network/rtc_api.dart | 6 ++++ lib/network/rtc_api.g.dart | 32 ++++++++++++++++++++ lib/pages/discover/settlement_page.dart | 2 +- lib/widget/live/live_room_user_header.dart | 1 + 7 files changed, 78 insertions(+), 1 deletion(-) create mode 100644 lib/model/discover/live_income_data.dart diff --git a/lib/controller/discover/room_controller.dart b/lib/controller/discover/room_controller.dart index 4fcd7c9..d51a596 100644 --- a/lib/controller/discover/room_controller.dart +++ b/lib/controller/discover/room_controller.dart @@ -131,6 +131,26 @@ class RoomController extends GetxController with WidgetsBindingObserver { } } + final todayLiveIncomeStr = "0.00".obs; + + getLiveIncome() async { + try { + final response = await _networkService.rtcApi.userGetTodayLiveIncome(); + if (response.data.isSuccess && response.data.data != null) { + todayLiveIncomeStr.value = response.data.data?.todayLiveIncomeStr ?? "0.00"; + } else { + + // 响应失败,抛出异常 + throw Exception(response.data.message ?? '获取数据失败'); + } + } catch(e){ + print('钱包数据获取失败: $e'); + SmartDialog.showToast('钱包数据获取失败'); + rethrow; + + } + } + final consumption = ChatStaticData(todayLiveDurationMins: 0).obs; diff --git a/lib/model/discover/live_income_data.dart b/lib/model/discover/live_income_data.dart new file mode 100644 index 0000000..69b25a5 --- /dev/null +++ b/lib/model/discover/live_income_data.dart @@ -0,0 +1,15 @@ +class LiveIncomeData { + String? todayLiveIncomeStr; + + LiveIncomeData({this.todayLiveIncomeStr}); + + LiveIncomeData.fromJson(Map json) { + todayLiveIncomeStr = json['todayLiveIncomeStr']; + } + + Map toJson() { + final Map data = new Map(); + data['todayLiveIncomeStr'] = this.todayLiveIncomeStr; + return data; + } +} diff --git a/lib/network/api_urls.dart b/lib/network/api_urls.dart index 6178e10..fc40c4c 100644 --- a/lib/network/api_urls.dart +++ b/lib/network/api_urls.dart @@ -172,4 +172,7 @@ class ApiUrls { static const String userGetRtcChannelAbstract = 'dating-agency-chat-audio/user/get/rtc-channel/abstract'; + + static const String userGetTodayLiveIncome = + 'dating-agency-mall/user/get/today-live-income'; } diff --git a/lib/network/rtc_api.dart b/lib/network/rtc_api.dart index 764e1aa..8f6cd2b 100644 --- a/lib/network/rtc_api.dart +++ b/lib/network/rtc_api.dart @@ -1,4 +1,5 @@ import 'package:dating_touchme_app/model/discover/audience_list_data.dart'; +import 'package:dating_touchme_app/model/discover/live_income_data.dart'; import 'package:dating_touchme_app/model/discover/rtc_channel_model.dart'; import 'package:dating_touchme_app/model/live/gift_product_model.dart'; import 'package:dating_touchme_app/model/rtc/chat_audio_product_model.dart'; @@ -169,4 +170,9 @@ abstract class RtcApi { @Query('channelId') required String channelId, } ); + + + /// 获取用户道具连麦卡片 + @GET(ApiUrls.userGetTodayLiveIncome) + Future>> userGetTodayLiveIncome(); } diff --git a/lib/network/rtc_api.g.dart b/lib/network/rtc_api.g.dart index d9460aa..442949d 100644 --- a/lib/network/rtc_api.g.dart +++ b/lib/network/rtc_api.g.dart @@ -907,6 +907,38 @@ class _RtcApi implements RtcApi { return httpResponse; } + @override + Future>> + userGetTodayLiveIncome() async { + final _extra = {}; + final queryParameters = {}; + final _headers = {}; + const Map? _data = null; + final _options = _setStreamType>>( + Options(method: 'GET', headers: _headers, extra: _extra) + .compose( + _dio.options, + 'dating-agency-mall/user/get/today-live-income', + 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) => LiveIncomeData.fromJson(json as Map), + ); + } 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 || diff --git a/lib/pages/discover/settlement_page.dart b/lib/pages/discover/settlement_page.dart index fcf1598..2717a34 100644 --- a/lib/pages/discover/settlement_page.dart +++ b/lib/pages/discover/settlement_page.dart @@ -153,7 +153,7 @@ class _SettlementPageState extends State { ), children: [ TextSpan( - text: "0.0", + text: _roomController.todayLiveIncomeStr.value, style: TextStyle( fontSize: 23.w, ) diff --git a/lib/widget/live/live_room_user_header.dart b/lib/widget/live/live_room_user_header.dart index 86664aa..e312f6e 100644 --- a/lib/widget/live/live_room_user_header.dart +++ b/lib/widget/live/live_room_user_header.dart @@ -303,6 +303,7 @@ class LiveRoomUserHeader extends StatelessWidget { ).onTap(() async { // 退出房间时清空RTM消息 await roomController.getLiveData(); + await roomController.getLiveIncome(); await roomController.leaveChannel(); SmartDialog.dismiss(); if (Get.isRegistered()) {