2026-04-09 21:32:23 +08:00

250 lines
7.7 KiB
Dart
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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<List<SocialChatRoomRes>> discovery({bool? allRegion});
///房间麦位列表
Future<List<MicRes>> micList(String roomId);
///获取房间信息
Future<MyRoomRes> specific(String roomId);
///是否关注了房间
Future<SCIsFollowRoomRes> isFollowRoom(String roomId);
///房间贡献等级
Future<SCRoomContributeLevelRes> contributeLevel(String roomId);
///房间本周贡献值
Future<SCRoomContributeLevelRes> roomContributionActivity(String roomId);
///上麦
Future<SCMicGoUpRes> micGoUp(String roomId, num mickIndex, {String? eventType});
///下麦
Future micGoDown(String roomId, num mickIndex);
///这个用户是否可以被踢下麦
Future<bool> kickOffMicrophone(String roomId, String kickUserId);
///锁麦
Future micLock(String roomId, num mickIndex, bool lock);
///静音麦克风
Future<bool> micMute(String roomId, num mickIndex, bool mute);
///T麦克风房主&管理员)
Future<bool> micKill(String roomId, num mickIndex);
///房间在线用户
Future<List<SocialChatUserProfile>> roomOnlineUsers(String roomId);
///房间用户资料卡
Future<RoomUserCardRes> roomUserCard(String roomId, String userId);
///礼物列表
Future<List<SocialChatGiftRes>> giftList();
Future<List<GiftByGroupRes>> giftListByGroup();
///赠送礼物
Future<double> giveGift(
List<String> acceptUserIds,
String giftId,
num quantity,
bool checkCombo, {
String? roomId,
SCGiveAwayGiftRoomAcceptsCmd? accepts,
String? dynamicContentId,
});
///举报
Future<bool> reported(
String reportUserId,
String reportedUserId,
num reportType, {
String? reportedContent,
num? relatedId,
String? imageUrls,
String? videoUrls,
});
///房间搜索
Future<List<SocialChatRoomRes>> searchRoom(String roomAccount);
///房间用户加入黑名单<踢出房间>
Future<SCRoomJoinBlackListRes> joinBlacklist(
String roomId,
String userId,
num outTime,
);
///解除黑名单
Future removeBlacklist(String roomId, String userId);
///守护列表
Future<List<UserCountGuardRes>> userCountGuard(String userId);
///麦位表情
Future<List<SCRoomEmojiRes>> emojiAll();
///设置房间用户身份
Future<bool> changeRoomRole(
String roomId,
String userType,
String changeUserId,
String operatorUserId,
String reason,
);
///房间上锁
Future<bool> roomLocked(String roomId, String password);
///房间解锁
Future<bool> roomUnlocked(String roomId);
///更改房间设置信息
Future<bool> 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<List<SocialChatRoomMemberRes>> roomMember(String roomId, {String? lastId});
///房间贡献榜单
Future<List<RoomGiftRankRes>> roomContributionRank(
String roomId,
String dataType, {
num size,
});
///赠送幸运礼物
Future<double> giveLuckyGift(
List<String> acceptUserIds,
String giftId,
num quantity,
bool checkCombo, {
String? roomId,
SCGiveAwayGiftRoomAcceptsCmd? accepts,
});
///查询榜单前三名
Future<SCBannerLeaderboardRes> appLeaderboard();
///礼物背包
Future<List<SocialChatGiftBackpackRes>> giftBackpack();
///查询房间火箭状态
Future<SCRoomRocketStatusRes> rocketStatus(String roomId);
///查询火箭配置
Future<List<SCRoomRocketConfigRes>> rocketConfigEnabled();
///领取奖励
Future<bool> rocketClaim(String roomId);
///处理房间违规
Future<SCViolationHandleRes> roomViolationHandle(
String roomId,
int violationType,
int operationType,
String description, {
List<String>? imageUrls,
});
///查询房间红包列表
Future<List<SCRoomRedPacketListRes>> roomRedPacketList(
String roomId,
int current, {
int size = 20,
});
///发送红包
Future<SCRoomRedPacketListRes> roomSendRedPacket(
String roomId,
String totalAmount,
String totalCount,
String expireMinutes,
);
///抢红包
Future<SCRoomRedPacketGrabRes> roomRedPacketGrab(String packetId);
///查询红包详情
Future<SCRoomRedPacketDetailRes> roomRedPacketDetail(String packetId);
///查询房间奖励信息
Future<SCRoomRewardInfoRes> roomRewardInfo(String roomId);
///领取房间奖励房主收入
Future<bool> roomRewardReceive(String roomId);
///发送平台红包
Future<SCRoomRedPacketListRes> sendPlatformRedPack(
String roomId,
String totalAmount,
String totalCount,
String expireMinutes,
);
///获取活动礼物列表
Future<List<SocialChatGiftRes>> giftActivityList();
///获取任务列表
Future<SCRoomTaskListRes> roomTaskList(int taskCategory);
///领取任务奖励
Future<Tiers> roomTaskClaim(String taskCode);
///获取当前可领取奖励数量
Future<SCRoomTaskClaimableCountRes> roomTaskClaimableCount();
}