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/rtc_channel_data.dart'; import 'package:dating_touchme_app/model/rtc/rtc_channel_detail.dart'; import 'package:dating_touchme_app/network/api_urls.dart'; import 'package:dating_touchme_app/network/response_model.dart'; import 'package:dio/dio.dart'; import 'package:retrofit/retrofit.dart'; part 'rtc_api.g.dart'; /// RTC 相关接口 @RestApi(baseUrl: '') abstract class RtcApi { factory RtcApi(Dio dio) = _RtcApi; /// 创建实时音视频频道 @GET(ApiUrls.getSwRtcToken) Future>> getSwRtcToken( @Query('channelId') String channelId, ); /// 获取声网 RTM Token @GET(ApiUrls.getSwRtmToken) Future>> getSwRtmToken(); /// 创建实时音视频频道(返回字符串) @POST(ApiUrls.createRtcChannel) Future>> createRtcChannel(); /// 获取 RTC 频道详情 @GET(ApiUrls.getRtcChannelDetail) Future>> getRtcChannelDetail( @Query('channelId') String channelId, ); /// 连接 RTC 频道 @POST(ApiUrls.connectRtcChannel) Future>> connectRtcChannel( @Body() Map data, ); /// 获取 RTC 频道用户详情 @GET(ApiUrls.getDatingRtcChannelUserDetail) Future>> getDatingRtcChannelUserDetail( @Query('channelId') String channelId, @Query('uId') int uId, ); /// 启用/禁用 RTC 频道用户音频 @POST(ApiUrls.enableRtcChannelUserAudio) Future>> enableRtcChannelUserAudio( @Body() Map data, ); /// 断开 RTC 频道连接 @POST(ApiUrls.disconnectRtcChannel) Future>> disconnectRtcChannel( @Body() Map data, ); /// 销毁 RTC 频道 @POST(ApiUrls.destroyRtcChannel) Future>> destroyRtcChannel(); /// 获取 RTC 频道分页列表 @GET(ApiUrls.getRtcChannelPage) Future>>> getRtcChannelPage(); /// 获取礼物产品列表 @GET(ApiUrls.listGiftProduct) Future>>> listGiftProduct(); }