2026-07-01 18:25:58 +08:00

347 lines
10 KiB
Dart

import 'package:aslan/chatvibe_domain/models/res/join_room_res.dart' hide WearBadge;
import 'package:aslan/chatvibe_domain/models/req/at_mobile_auth_cmd.dart';
import 'package:aslan/chatvibe_domain/models/res/badge_backpack_res.dart';
import 'package:aslan/chatvibe_domain/models/res/at_edit_room_info_res.dart';
import 'package:aslan/chatvibe_domain/models/res/follow_room_res.dart' hide WearBadge;
import 'package:aslan/chatvibe_domain/models/res/follow_user_res.dart' hide WearBadge;
import 'package:aslan/chatvibe_domain/models/res/get_cp_relationship_pair_list_res.dart';
import 'package:aslan/chatvibe_domain/models/res/at_gold_record_res.dart';
import 'package:aslan/chatvibe_domain/models/res/login_res.dart';
import 'package:aslan/chatvibe_domain/models/res/at_material_badge_res.dart';
import 'package:aslan/chatvibe_domain/models/res/message_friend_user_res.dart';
import 'package:aslan/chatvibe_domain/models/res/my_room_res.dart';
import 'package:aslan/chatvibe_domain/models/res/at_prop_coupon_list_res.dart';
import 'package:aslan/chatvibe_domain/models/res/at_prop_coupon_record_list_res.dart';
import 'package:aslan/chatvibe_domain/models/res/at_public_message_page_res.dart';
import 'package:aslan/chatvibe_domain/models/res/room_black_list_res.dart';
import 'package:aslan/chatvibe_domain/models/res/room_res.dart' hide WearBadge;
import 'package:aslan/chatvibe_domain/models/req/at_user_profile_cmd.dart';
import 'package:aslan/chatvibe_domain/models/res/at_rtc_token_res.dart';
import 'package:aslan/chatvibe_domain/models/res/at_sign_in_res.dart';
import 'package:aslan/chatvibe_domain/models/res/task_checkIn_latest_vip_record_res.dart';
import 'package:aslan/chatvibe_domain/models/res/at_task_list_res.dart';
import 'package:aslan/chatvibe_domain/models/res/at_user_counter_res.dart';
import 'package:aslan/chatvibe_domain/models/res/at_user_identity_res.dart';
import 'package:aslan/chatvibe_domain/models/res/at_user_level_exp_res.dart';
import 'package:aslan/chatvibe_domain/models/res/at_user_red_packet_grab_res.dart';
import 'package:aslan/chatvibe_domain/models/res/at_user_red_packet_send_res.dart';
import 'package:aslan/chatvibe_domain/models/res/at_user_vip_ability_res.dart';
import 'package:aslan/chatvibe_domain/models/res/at_violation_handle_res.dart';
import '../models/res/at_user_freight_balance_page_res.dart';
import '../models/res/at_web_pay_commodity_res.dart';
import '../models/res/at_web_pay_recharge_res.dart';
import '../models/res/at_web_pay_user_profile_res.dart';
abstract class ChatVibeUserRepository {
Future<ChatVibeLoginRes> getUser(String id);
///账号登录
Future<ChatVibeLoginRes> loginForAccount(String account, String pwd);
///渠道登录谷歌 苹果
Future<ChatVibeLoginRes> loginForChannel(String authType, String openId);
///注册
Future<ChatVibeLoginRes> regist(
String type,
String openId,
ATUserProfileCmd userProfileCmd, {
ATMobileAuthCmd? mobileAuthCmd,
String invitePeople,
});
///关注的房间
Future<List<FollowRoomRes>> followRoomList({String? lastId});
///历史记录
Future<List<FollowRoomRes>> trace({String? lastId});
///加入的房间
Future<List<FollowRoomRes>> joined();
///我的房间
Future<MyRoomRes> myProfile();
///创建房间
Future<ChatVibeRoomRes> createRoom();
///加入房间
Future<JoinRoomRes> entryRoom(String roomId, {String? pwd});
///发送心跳
Future heartbeat(String status, bool upMick, {String? roomId});
///上麦心跳
Future anchorHeartbeat(String roomId);
///声网token
Future<ATRtcTokenRes> getRtcToken(String channel, String userId);
///退出房间
Future<bool> quitRoom(String roomId);
///修改房间信息
Future<ATEditRoomInfoRes> editRoomInfo(
String roomId,
String roomCover,
String roomName,
String roomDesc,
String event,
);
///获取指定用户信息
Future<ChatVibeUserProfile> loadUserInfo(String userId);
///关注房间
Future<bool> followRoom(String roomId);
///关注用户
Future<bool> followUser(String userId);
///获取我的金币余额
Future<double> balance();
///搜索用户
Future<ChatVibeUserProfile> 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<ChatVibeUserProfile> 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<ATGoldRecordRes>> goldRecord({num? type, String? lastId});
///获取身份
Future<ATUserIdentityRes> userIdentity({String? userId});
///获取用户关系计数 SUBSCRIPTION:订阅、FANS:粉丝、FRIEND:朋友,访客.
Future<List<ATUserCounterRes>> userCounter(String userId);
///徽章列表
Future<List<ATMaterialBadgeRes>> materialBadge({String? type});
///用户徽章背包
Future<List<BadgeBackpackRes>> badgeBackpack(String userId);
///用户等级
Future<ATUserLevelExpRes> userLevelConsumptionExp(String userId, String type);
///是否已经签到
Future<bool> checkInToday();
///签到列表
Future<ATSignInRes> sginListAward();
///签到领奖
Future<int> checkInReceive(String id, String resourceGroupId);
///添加代理
Future<bool> teamCreate(String ownUserId);
///分页查询公共消息列表.
Future<ATPublicMessagePageRes> 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<ATTaskListRes>> tasks();
///领取奖励
Future<bool> taskReward(num taskId);
///我的访客列表
Future<List<FollowUserRes>> visitorList(num pageNumber);
///查询我的道具券列表
Future<ATPropCouponListRes> propCouponList(
num size,
num current, {
int? couponType,
});
///查询道具券使用记录
Future<ATPropCouponRecordListRes> couponRecordList(
num size,
num current, {
int? couponType,
int? status,
});
///使用道具券
Future<bool> couponUse(String couponNo);
///赠送道具券
Future<bool> couponSend(String couponNo, String receiverId);
///拥有的徽章徽章.
Future<List<WearBadge>> badgeOwnList(String type);
///切换单个徽章佩戴状态.
Future<bool> badgeToggle(String badgeId);
///处理用户违规
Future<ATViolationHandleRes> userViolationHandle(
String userId,
int violationType,
int operationType,
String description, {
List<String>? imageUrls,
});
///获取我的-cp对象.
Future<List<GetCpRelationshipPairListRes>> getCpRelationshipPairList();
///CP申请.
Future<bool> cpRelationshipSendApply(String acceptApplyUserId);
///处理CP申请记录.
Future<bool> cpRelationshipProcessApply(String applyId, bool agree);
///解除cp关系.
Future<bool> cpRelationshipDismissApply(String cpUserId);
///验证是否是好友
Future<bool> friendRelationCheck(String userId);
///发送用户红包
Future<ATUserRedPacketSendRes> userRedPacketSend(
String receiverUserId,
String totalAmount,
);
///查询红包详情
Future<ATUserRedPacketSendRes> userRedPacketDetail(String packetId);
///领取用户红包
Future<ATUserRedPacketGrabRes> 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();
///最新的vip金币赠送记录
Future<List<TaskCheckInLatestVipRecordRes>> taskCheckInLatestVipRecord();
///获取用户 VIP 设置
Future<ATUserVipAbilityRes> userVipAbility();
///更新用户 VIP 设置
Future<bool> userVipAbilityUpdate({
String? contactMode,
bool? kickPrevention,
bool? mysteriousInvisibility,
bool? antiBlock,
});
///代理邀请成为主播
Future<bool> teamInviteHost(String inviteUserId);
///支付 用户基本资料信息.
Future<ATWebPayUserProfileRes> webPayUserProfile({
String? account,
String? userId,
String? type,
});
///支付 开放支付国家.
Future<ATWebPayCommodityRes> webPayCommodity({
String? payCountryId,
String? type,
String? regionId,
});
///支付 下单.
Future<ATWebPayRechargeRes> webPayRecharge(
String goodsId,
String payCountryId,
String userId,
String channelCode, {
bool? newVersion,
String? requestIp,
});
///货运代理分页列表
Future<AtUserFreightBalancePageRes> userFreightBalancePage({
int? cursor = 1,
int? limit = 20,
});
}