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()) {