2026-04-16 16:31:07 +08:00

274 lines
8.0 KiB
Dart

import 'package:yumi/shared/business_logic/models/res/join_room_res.dart' hide WearBadge;
import 'package:yumi/shared/business_logic/models/req/sc_mobile_auth_cmd.dart';
import 'package:yumi/shared/business_logic/models/res/sc_edit_room_info_res.dart';
import 'package:yumi/shared/business_logic/models/res/follow_room_res.dart' hide WearBadge;
import 'package:yumi/shared/business_logic/models/res/follow_user_res.dart' hide WearBadge;
import 'package:yumi/shared/business_logic/models/res/sc_gold_record_res.dart';
import 'package:yumi/shared/business_logic/models/res/login_res.dart';
import 'package:yumi/shared/business_logic/models/res/message_friend_user_res.dart';
import 'package:yumi/shared/business_logic/models/res/my_room_res.dart';
import 'package:yumi/shared/business_logic/models/res/sc_prop_coupon_list_res.dart';
import 'package:yumi/shared/business_logic/models/res/sc_prop_coupon_record_list_res.dart';
import 'package:yumi/shared/business_logic/models/res/sc_public_message_page_res.dart';
import 'package:yumi/shared/business_logic/models/res/room_black_list_res.dart';
import 'package:yumi/shared/business_logic/models/res/room_res.dart' hide WearBadge;
import 'package:yumi/shared/business_logic/models/req/sc_user_profile_cmd.dart';
import 'package:yumi/shared/business_logic/models/res/sc_rtc_token_res.dart';
import 'package:yumi/shared/business_logic/models/res/sc_sign_in_res.dart';
import 'package:yumi/shared/business_logic/models/res/sc_task_list_res.dart';
import 'package:yumi/shared/business_logic/models/res/sc_user_counter_res.dart';
import 'package:yumi/shared/business_logic/models/res/sc_user_identity_res.dart';
import 'package:yumi/shared/business_logic/models/res/sc_user_level_exp_res.dart';
import 'package:yumi/shared/business_logic/models/res/sc_user_red_packet_grab_res.dart';
import 'package:yumi/shared/business_logic/models/res/sc_user_red_packet_send_res.dart';
import 'package:yumi/shared/business_logic/models/res/sc_violation_handle_res.dart';
abstract class SocialChatUserRepository {
Future<SocialChatLoginRes> getUser(String id);
///账号登录
Future<SocialChatLoginRes> loginForAccount(String account, String pwd);
///渠道登录谷歌 苹果
Future<SocialChatLoginRes> loginForChannel(String authType, String openId);
///注册
Future<SocialChatLoginRes> regist(
String type,
String openId,
SCUserProfileCmd userProfileCmd, {
SCMobileAuthCmd? mobileAuthCmd,
String invitePeople,
});
///关注的房间
Future<List<FollowRoomRes>> followRoomList({String? lastId});
///历史记录
Future<List<FollowRoomRes>> trace({String? lastId});
///加入的房间
Future<List<FollowRoomRes>> joined();
///我的房间
Future<MyRoomRes> myProfile();
///创建房间
Future<SocialChatRoomRes> createRoom();
///加入房间
Future<JoinRoomRes> entryRoom(String roomId, {String? pwd});
///发送心跳
Future heartbeat(String status, bool upMick, {String? roomId});
///上麦心跳
Future anchorHeartbeat(String roomId);
///声网token
Future<SCRtcTokenRes> getRtcToken(
String channel,
String userId, {
bool isPublisher = false,
});
///退出房间
Future<bool> quitRoom(String roomId);
///修改房间信息
Future<SCEditRoomInfoRes> editRoomInfo(
String roomId,
String roomCover,
String roomName,
String roomDesc,
String event,
);
///获取指定用户信息
Future<SocialChatUserProfile> loadUserInfo(String userId);
///关注房间
Future<bool> followRoom(String roomId);
///关注用户
Future<bool> followUser(String userId);
///获取我的金币余额
Future<double> balance();
///搜索用户
Future<SocialChatUserProfile> searchUser(String account);
///设置密码
Future pwdReset(String pwd);
///账号是否绑定
Future<bool> accountIsBind();
///绑定账号
Future bind(String pwd);
///修改密码
Future updatePwd(String pwd, String oldPwd);
///房间用户黑名单
Future<List<RoomBlackListRes>> roomBlacklist(String roomId, String lastId);
///修改用户信息
Future<SocialChatUserProfile> updateUserInfo({
String? userAvatar,
String? userNickname,
num? userSex,
num? age,
num? bornYear,
num? bornMonth,
num? bornDay,
String? countryId,
String? hobby,
String? autograph,
List<String>? backgroundPhotos,
List<String>? personalPhotos,
});
///关注列表
Future<List<FollowUserRes>> followMyList({String? account, String? lastId});
///粉丝列表
Future<List<FollowUserRes>> fansMyList({String? account, String? lastId});
///金币记录
Future<List<SCGoldRecordRes>> goldRecord({num? type, String? lastId});
///获取身份
Future<SCUserIdentityRes> userIdentity({String? userId});
///获取用户关系计数 SUBSCRIPTION:订阅、FANS:粉丝、FRIEND:朋友,访客.
Future<List<SCUserCounterRes>> userCounter(String userId);
///用户等级
Future<SCUserLevelExpRes> userLevelConsumptionExp(String userId, String type);
///是否已经签到
Future<bool> checkInToday();
///签到列表
Future<SCSignInRes> sginListAward();
///签到领奖
Future<int> checkInReceive(String id, String resourceGroupId);
///添加代理
Future<bool> teamCreate(String ownUserId);
///分页查询公共消息列表.
Future<SCPublicMessagePageRes> publicMessagePage(
String type,
num pageNo,
num pageSize,
);
///好友列表
Future<List<MessageFriendUserRes>> friendList({String? lastId});
///好友搜索
Future<List<MessageFriendUserRes>> friendSearch(String account);
///代理邀请成为主播-处理
Future<bool> inviteHost(String id, String status);
///代理邀请成为Agent-处理
Future<bool> inviteAgent(String id, String status);
///代理邀请成为BD-处理
Future<bool> inviteBD(String id, String status);
///代理邀请成为BDLeader-处理
Future<bool> inviteBDLeader(String id, String status);
///处理邀请-邀请充值代理.
Future<bool> inviteRechargeAgent(String id, String status);
///检测我是否有关注指定用户.
Future<bool> followCheck(String userId);
///系统消息专用关注接口
Future<bool> followNew(String userId);
///任务列表
Future<List<SCTaskListRes>> tasks();
///领取奖励
Future<bool> taskReward(num taskId);
///我的访客列表
Future<List<FollowUserRes>> visitorList(num pageNumber);
///查询我的道具券列表
Future<SCPropCouponListRes> propCouponList(
num size,
num current, {
int? couponType,
});
///查询道具券使用记录
Future<SCPropCouponRecordListRes> couponRecordList(
num size,
num current, {
int? couponType,
int? status,
});
///使用道具券
Future<bool> couponUse(String couponNo);
///赠送道具券
Future<bool> couponSend(String couponNo, String receiverId);
///处理用户违规
Future<SCViolationHandleRes> userViolationHandle(
String userId,
int violationType,
int operationType,
String description, {
List<String>? imageUrls,
});
///验证是否是好友
Future<bool> friendRelationCheck(String userId);
///发送用户红包
Future<SCUserRedPacketSendRes> userRedPacketSend(
String receiverUserId,
String totalAmount,
);
///查询红包详情
Future<SCUserRedPacketSendRes> userRedPacketDetail(String packetId);
///领取用户红包
Future<SCUserRedPacketGrabRes> userRedPacketGrab(String packetId);
///查询黑名单列表.
Future<List<MessageFriendUserRes>> userBlacklistList({
String? account,
String? lastId,
});
///检测是否在黑名单.
Future<bool> blacklistCheck(String shieldUserId);
///添加黑名单
Future<bool> addUserBlacklist(String shieldUserId);
///删除黑名单
Future<bool> deleteUserBlacklist(String shieldUserId);
///注销账号
Future<bool> logoutAccount();
}