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_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/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_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/sc_top_four_with_reward_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); ///获取房间信息 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); ///房间用户资料卡 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, SCGiveAwayGiftRoomAcceptsCmd? accepts, }); ///查询榜单前三名 Future appLeaderboard(); ///礼物背包 Future> giftBackpack(); ///查询房间火箭状态 Future rocketStatus(String roomId); ///查询火箭配置 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, ); ///抢红包 Future roomRedPacketGrab(String packetId); ///查询红包详情 Future roomRedPacketDetail(String packetId); ///查询房间奖励信息 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(); }