import 'package:flutter/cupertino.dart'; import 'package:yumi/shared/business_logic/models/req/sc_give_away_gift_room_acceptscmd.dart'; import 'package:yumi/shared/business_logic/models/res/sc_banner_leaderboard_res.dart'; import 'package:yumi/shared/business_logic/models/res/gift_backpack_res.dart'; import 'package:yumi/shared/business_logic/models/res/gift_by_group_res.dart'; import 'package:yumi/shared/business_logic/models/res/gift_res.dart'; import 'package:yumi/shared/business_logic/models/res/sc_is_follow_room_res.dart'; import 'package:yumi/shared/business_logic/models/res/login_res.dart'; import 'package:yumi/shared/business_logic/models/res/sc_mic_go_up_res.dart'; import 'package:yumi/shared/business_logic/models/res/mic_res.dart'; import 'package:yumi/shared/business_logic/models/res/my_room_res.dart'; import 'package:yumi/shared/business_logic/models/res/sc_room_contribute_level_res.dart'; import 'package:yumi/shared/business_logic/models/res/sc_room_emoji_res.dart'; import 'package:yumi/shared/business_logic/models/res/room_gift_rank_res.dart'; import 'package:yumi/shared/business_logic/models/res/sc_room_join_black_list_res.dart'; import 'package:yumi/shared/business_logic/models/res/room_member_res.dart'; import 'package:yumi/shared/business_logic/models/res/sc_room_red_packet_detail_res.dart'; import 'package:yumi/shared/business_logic/models/res/sc_room_red_packet_config_res.dart'; import 'package:yumi/shared/business_logic/models/res/sc_room_red_packet_grab_res.dart'; import 'package:yumi/shared/business_logic/models/res/sc_room_red_packet_list_res.dart'; import 'package:yumi/shared/business_logic/models/res/sc_room_red_packet_sent_record_res.dart'; import 'package:yumi/shared/business_logic/models/res/room_res.dart'; import 'package:yumi/shared/business_logic/models/res/sc_room_reward_info_res.dart'; import 'package:yumi/shared/business_logic/models/res/sc_room_rocket_config_res.dart'; import 'package:yumi/shared/business_logic/models/res/sc_room_rocket_api_res.dart'; import 'package:yumi/shared/business_logic/models/res/sc_room_rocket_status_res.dart'; import 'package:yumi/shared/business_logic/models/res/sc_room_task_claimable_count_res.dart'; import 'package:yumi/shared/business_logic/models/res/sc_room_task_list_res.dart'; import 'package:yumi/shared/business_logic/models/res/room_user_card_res.dart'; import 'package:yumi/shared/business_logic/models/res/user_count_guard_res.dart'; import 'package:yumi/shared/business_logic/models/res/sc_violation_handle_res.dart'; abstract class SocialChatRoomRepository { Future> discovery({bool? allRegion}); ///房间麦位列表 Future> micList(String roomId, {bool silentErrorToast = false}); ///获取房间信息 Future specific(String roomId); ///是否关注了房间 Future isFollowRoom(String roomId); ///房间贡献等级 Future contributeLevel(String roomId); ///房间本周贡献值 Future roomContributionActivity(String roomId); ///上麦 Future micGoUp( String roomId, num mickIndex, { String? eventType, }); ///下麦 Future micGoDown(String roomId, num mickIndex); ///这个用户是否可以被踢下麦 Future kickOffMicrophone(String roomId, String kickUserId); ///锁麦 Future micLock(String roomId, num mickIndex, bool lock); ///静音麦克风 Future micMute(String roomId, num mickIndex, bool mute); ///T麦克风(房主&管理员) Future micKill(String roomId, num mickIndex); ///房间在线用户 Future> roomOnlineUsers( String roomId, { bool silentErrorToast = false, }); ///房间用户资料卡 Future roomUserCard(String roomId, String userId); ///礼物列表 Future> giftList(); Future> giftListByGroup(); ///赠送礼物 Future giveGift( List acceptUserIds, String giftId, num quantity, bool checkCombo, { String? roomId, SCGiveAwayGiftRoomAcceptsCmd? accepts, String? dynamicContentId, }); ///举报 Future reported( String reportUserId, String reportedUserId, num reportType, { String? reportedContent, num? relatedId, String? imageUrls, String? videoUrls, }); ///房间搜索 Future> searchRoom(String roomAccount); ///房间用户加入黑名单<踢出房间> Future joinBlacklist( String roomId, String userId, num outTime, ); ///解除黑名单 Future removeBlacklist(String roomId, String userId); ///守护列表 Future> userCountGuard(String userId); ///麦位表情 Future> emojiAll(); ///设置房间用户身份 Future changeRoomRole( String roomId, String userType, String changeUserId, String operatorUserId, String reason, ); ///房间上锁 Future roomLocked(String roomId, String password); ///房间解锁 Future roomUnlocked(String roomId); ///更改房间设置信息 Future updateRoomSetting( String roomId, String roomAcount, BuildContext context, { bool? touristMike, String? takeMicRole, bool? touristMsg, String? joinGolds, int? mikeSize, bool? allowMusic, bool? adminLockSeat, bool? showHeartbeat, bool? openKtvMode, String? roomSpecialMikeType, }); ///房间成员列表 Future> roomMember( String roomId, { String? lastId, }); ///房间贡献榜单 Future> roomContributionRank( String roomId, String dataType, { num size, }); ///赠送幸运礼物 Future giveLuckyGift( List acceptUserIds, String giftId, num quantity, bool checkCombo, { String? roomId, List? accepts, Object? gameId, String? dynamicContentId, String? songId, }); ///查询榜单前三名 Future appLeaderboard(); ///礼物背包 Future> giftBackpack(); ///赠送背包礼物 Future giveBackpackGift({ required String id, required String acceptUserId, required String giftId, required num quantity, String? roomId, num? seatIndex, String? songId, }); ///查询房间火箭状态 Future rocketStatus(String roomId, {int? level}); ///查询火箭等级内容 Future roomRocketLevelContents(); ///查询火箭王榜单 Future roomRocketKing( String roomId, { int level = 1, int roundNo = 0, int cursor = 1, int limit = 100, }); ///查询中奖弹窗 Future roomRocketRewardPopups( String roomId, { int cursor = 1, int limit = 10, }); ///确认中奖弹窗已读 Future ackRoomRocketRewardPopups(List rewardRecordIds); ///查询我的中奖记录 Future roomRocketRewardRecords( String roomId, { int cursor = 1, int limit = 10, String? launchNo, bool roomScope = false, }); ///查询火箭规则说明 Future roomRocketRule(); ///查询火箭配置 Future> rocketConfigEnabled(); ///领取奖励 Future rocketClaim(String roomId); ///处理房间违规 Future roomViolationHandle( String roomId, int violationType, int operationType, String description, { List? imageUrls, }); ///查询房间红包列表 Future> roomRedPacketList( String roomId, int current, { int size = 20, }); ///发送红包 Future roomSendRedPacket( String roomId, String totalAmount, String totalCount, String expireMinutes, { String packetMode = 'DELAYED', }); ///抢红包 Future roomRedPacketGrab(String packetId); ///查询红包详情 Future roomRedPacketDetail(String packetId); ///查询语音房红包配置 Future roomRedPacketConfig(); ///查询当前用户语区红包 IM 广播群 Future roomRedPacketImGroup(); ///上报房间红包在线态 Future roomRedPacketPresenceHeartbeat( String roomId, ); ///离开房间红包在线态 Future roomRedPacketPresenceLeave(String roomId); ///查询红包发送记录 Future> roomRedPacketSentRecords({ int cursor = 1, int limit = 20, }); ///查询红包领取记录 Future roomRedPacketClaimRecords( String packetNo, ); ///查询房间奖励信息 Future roomRewardInfo(String roomId); ///领取房间奖励房主收入 Future roomRewardReceive(String roomId); ///发送平台红包 Future sendPlatformRedPack( String roomId, String totalAmount, String totalCount, String expireMinutes, ); ///获取活动礼物列表 Future> giftActivityList(); ///获取任务列表 Future roomTaskList(int taskCategory); ///领取任务奖励 Future roomTaskClaim(String taskCode); ///获取当前可领取奖励数量 Future roomTaskClaimableCount(); }