// // QXMineNetwork.m // QXLive // // Created by 启星 on 2025/5/19. // #import "QXMineNetwork.h" @implementation QXMineNetwork +(void)getMineInfoSuccessBlock:(void (^)(QXUserModel * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ [[QXRequset shareInstance] getWithUrl:QXMineInfo parameters:@{} needCache:YES success:^(id responseObject) { QXUserModel *userModel = [QXUserModel yy_modelWithJSON:responseObject[@"data"]]; [QXGlobal shareGlobal].loginModel.avatar = userModel.avatar; [QXGlobal shareGlobal].loginModel.nickname = userModel.nickname; [QXGlobal shareGlobal].loginModel.icon = userModel.icon; [QXGlobal shareGlobal].loginModel.dress = userModel.dress; [QXGlobal shareGlobal].loginModel.auth = userModel.auth.intValue; [QXGlobal shareGlobal].loginModel.chat_bubble = userModel.chat_bubble; [QXGlobal shareGlobal].loginModel.nobility_image = userModel.nobility_image; [QXGlobal shareGlobal].loginModel.nickname_color = userModel.nickname_color; [QXGlobal shareGlobal].loginModel.is_hide = userModel.is_hide; [QXGlobal shareGlobal].loginModel.hide_status = userModel.hide_status; [QXGlobal shareGlobal].loginModel.singer_status = userModel.singer_status; [[QXGlobal shareGlobal] updateUserInfoWithMolde:[QXGlobal shareGlobal].loginModel]; BOOL api_version = [responseObject[@"api_version"] boolValue]; [QXGlobal shareGlobal].isAppStore = api_version; [[NSUserDefaults standardUserDefaults] setInteger:userModel.is_can_chat forKey:kIsCanChat]; [[NSUserDefaults standardUserDefaults] setObject:userModel.can_chat_money forKey:kIsCanChatMoney]; [[NSUserDefaults standardUserDefaults] synchronize]; if (successBlock) { successBlock(userModel); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)postRealNameInfoWithRealName:(NSString*)real_name card_number:(NSString*)card_number successBlock:(void (^)(NSDictionary* dict))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ @"real_name":real_name, @"card_number":card_number, }; [[QXRequset shareInstance] postWithUrl:QXRealName parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)postRealNameResultWithOrderNo:(NSString*)orderNo successBlock:(void (^)(NSDictionary* dict))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ @"orderNo":orderNo, }; [[QXRequset shareInstance] postWithUrl:QXRealNameResult parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)userHomePageWithUserId:(NSString *)user_id successBlock:(void (^)(QXUserHomeModel * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"user_id":user_id?:@"", }; [[QXRequset shareInstance] postWithUrl:QXGetUserInfo parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { QXUserHomeModel *model = [QXUserHomeModel yy_modelWithJSON:responseObject[@"data"]]; successBlock(model); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)editUserInfoWithNickname:(NSString*)nickname birthday:(NSString*)birthday sex:(NSString*)sex avatar:(NSString*)avatar images:(NSString*)images profile:(NSString*)profile tag_id:(NSString*)tag_id successBlock:(void (^)(NSDictionary* dict))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSMutableDictionary *parameters = [NSMutableDictionary dictionary]; if (nickname.length > 0) { [parameters setObject:nickname forKey:@"nickname"]; } if (birthday.length > 0) { [parameters setObject:birthday forKey:@"birthday"]; } if (sex.length > 0) { [parameters setObject:sex forKey:@"sex"]; } if (avatar.length > 0) { [parameters setObject:avatar forKey:@"avatar"]; } // if (images.length > 0) { [parameters setObject:images.length>0?images:@"" forKey:@"images"]; // } if (profile.length > 0) { [parameters setObject:profile forKey:@"profile"]; } if (tag_id.length > 0) { [parameters setObject:tag_id forKey:@"tag_id"]; } [[QXRequset shareInstance] postWithUrl:QXEidtUserInfo parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)focusListWithPage:(NSInteger)page type:(NSInteger)type successBlock:(void(^)(NSArray *users))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"page":[NSNumber numberWithInteger:page], }; NSString *url = QXBlackList; if (type == 1) { url = QXUserFans; }else if (type == 2){ url = QXUserFollowList; }else if (type == 3){ url = QXUserLookMe; } [[QXRequset shareInstance] postWithUrl:url parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { NSArray *users = [NSArray yy_modelArrayWithClass:[QXUserHomeModel class] json:responseObject[@"data"]]; successBlock(users); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)addOrRemoveBlackListIsAdd:(BOOL)isAdd userId:(NSString*)user_id successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters; NSString *url = @""; if (isAdd) { url = QXAddBlackList; parameters = @{ @"user_id":user_id, }; }else{ url = QXRemoveBlackList; parameters = @{ @"uid":user_id, }; } [[QXRequset shareInstance] postWithUrl:url parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)photosListWithUserId:(NSString *)user_id page:(NSInteger)page successBlock:(void (^)(NSArray * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"user_id":user_id, @"page":[NSNumber numberWithInteger:page] }; [[QXRequset shareInstance] postWithUrl:QXUserPhotosList parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { NSArray *photos = [NSArray yy_modelArrayWithClass:[QXPhotoModel class] json:responseObject[@"data"]]; successBlock(photos); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)photoDetailWithAlbum_id:(NSString *)album_id pwd:(NSString *)pwd successBlock:(void (^)(QXPhotoDetailModel * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"album_id":album_id, @"pwd":pwd }; [[QXRequset shareInstance] postWithUrl:QXUserPhotosList parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { QXPhotoDetailModel *model = [QXPhotoDetailModel yy_modelWithJSON:responseObject[@"data"]]; successBlock(model); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)createPhotosWithName:(NSString *)name pwd:(NSString *)pwd image:(NSString *)image successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"name":name, @"pwd":pwd, @"image":image }; [[QXRequset shareInstance] postWithUrl:QXUserCreatePhotos parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { // QXPhotoDetailModel *model = [QXPhotoDetailModel yy_modelWithJSON:responseObject[@"data"]]; successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)delePhotosWithAlbum_id:(NSString*)album_id successBlock:(void (^)(NSDictionary* dict))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ @"album_id":album_id, }; [[QXRequset shareInstance] postWithUrl:QXUserDeletePhotos parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)changePhotosPwdWithAlbum_id:(NSString *)album_id pwd:(NSString *)pwd successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"album_id":album_id, @"":pwd }; [[QXRequset shareInstance] postWithUrl:QXUserPhotosPassword parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)lookMeListWithPage:(NSInteger)page successBlock:(void (^)(NSArray * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"page":[NSNumber numberWithInteger:page] }; [[QXRequset shareInstance] postWithUrl:QXUserLookMe parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)userDynamicWithUserId:(NSString *)user_id page:(NSInteger)page successBlock:(void (^)(NSArray * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"user_id":user_id?:@"", @"page":[NSNumber numberWithInteger:page] }; [[QXRequset shareInstance] postWithUrl:QXUserDynamic parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { NSArray *list = [NSArray yy_modelArrayWithClass:[QXDynamicModel class] json:responseObject[@"data"]]; successBlock(list); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)changeMobileWithOldMobile:(NSString *)oldMobile new_mobile:(NSString*)new_mobile sms_code:(NSString*)sms_code successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSMutableDictionary *parameters = [NSMutableDictionary dictionary]; NSString *url = QXUserBindMobile; [parameters setObject:new_mobile forKey:@"new_mobile"]; [parameters setObject:sms_code forKey:@"sms_code"]; if (oldMobile.length > 0) { url = QXUserChangeMobile; [parameters setObject:oldMobile forKey:@"mobile"]; } [[QXRequset shareInstance] postWithUrl:url parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)getUserTagListSuccessBlock:(void (^)(NSArray * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ [[QXRequset shareInstance] getWithUrl:QXUserTagList parameters:@{} needCache:NO success:^(id responseObject) { if (successBlock) { NSArray *list = [NSArray yy_modelArrayWithClass:[QXUserTag class] json:responseObject[@"data"]]; successBlock(list); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } /** 退出登录 */ +(void)logoutSuccessBlock:(void (^)(NSDictionary* dict))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ [[QXRequset shareInstance] getWithUrl:QXLogout parameters:@{@"token":[QXGlobal shareGlobal].loginModel.token?[QXGlobal shareGlobal].loginModel.token:@""} needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } /** 账号注销 */ +(void)cancelAccountSuccessBlock:(void (^)(NSDictionary* dict))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ [[QXRequset shareInstance] getWithUrl:QXAccountCancel parameters:@{@"token":[QXGlobal shareGlobal].loginModel.token?[QXGlobal shareGlobal].loginModel.token:@""} needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } /** 获得钱包余额 */ +(void)getWalletInfoSuccessBlock:(void (^)(NSString* coin,NSString* earnings,NSString*title,NSString*url))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ [[QXRequset shareInstance] getWithUrl:QXWallet parameters:@{@"token":[QXGlobal shareGlobal].loginModel.token?[QXGlobal shareGlobal].loginModel.token:@""} needCache:NO success:^(id responseObject) { if (successBlock) { double coin = [responseObject[@"data"][@"coin"] doubleValue]; NSString *coinStr = [NSString stringWithFormat:@"%.2f",coin]; double earnings = [responseObject[@"data"][@"earnings"] doubleValue]; NSString *earningsStr = [NSString stringWithFormat:@"%.4f",earnings]; NSString *title = [NSString stringWithFormat:@"%@",responseObject[@"data"][@"title"]]; NSString *url = [NSString stringWithFormat:@"%@",responseObject[@"data"][@"url"]]; successBlock(coinStr,earningsStr,title,url); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)editUserHomeBgWithImages:(NSString *)images successBlock:(void (^)(NSDictionary* dict))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ @"images":images, }; [[QXRequset shareInstance] postWithUrl:QXEidtUserInfoBg parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)photosDetailWithAlbumId:(NSString*)album_id pwd:(NSString*)pwd successBlock:(void(^)(QXPhotoDetailModel*model))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ @"album_id":album_id, @"pwd":pwd }; [[QXRequset shareInstance] postWithUrl:QXUserPhotosDetail parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { QXPhotoDetailModel *model = [QXPhotoDetailModel yy_modelWithJSON:responseObject[@"data"]]; successBlock(model); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)addPhotosWithAlbumId:(NSString *)album_id images:(NSString *)images successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"album_id":album_id, @"images":images, }; [[QXRequset shareInstance] postWithUrl:QXUserPhotosAdd parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)photosLikeWithAlbumId:(NSString *)album_id successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"album_id":album_id, }; [[QXRequset shareInstance] postWithUrl:QXUserPhotosLike parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)photosMoveWithNewAlbumId:(NSString *)new_album_id Id:(NSString *)Id successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"new_album_id":new_album_id, @"id":Id }; [[QXRequset shareInstance] postWithUrl:QXUserPhotosMove parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)photosDeletePictureWithId:(NSString *)Id successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"id":Id }; [[QXRequset shareInstance] postWithUrl:QXUserPhotosEditDelete parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)photosEditWithNewAlbumId:(NSString *)album_id name:(NSString *)name pwd:(NSString *)pwd image:(NSString *)image successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"album_id":album_id, @"name":name, @"pwd":pwd, @"image":image }; [[QXRequset shareInstance] postWithUrl:QXUserPhotosEdit parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } /** 获取装扮类型列表 */ +(void)getDressTypeListSuccessBlock:(void (^)(NSArray * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ [[QXRequset shareInstance] getWithUrl:QXDressTypeList parameters:@{} needCache:NO success:^(id responseObject) { if (successBlock) { NSArray *list = [NSArray yy_modelArrayWithClass:[QXUserDressTypeModel class] json:responseObject[@"data"]]; successBlock(list); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)userDressListWithType:(NSString *)type successBlock:(void (^)(NSArray * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"type":type }; [[QXRequset shareInstance] postWithUrl:QXDressList parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { NSArray *list = [NSArray yy_modelArrayWithClass:[QXUserDressModel class] json:responseObject[@"data"]]; successBlock(list); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)setUserDressIsCancel:(BOOL)isCancel udid:(NSString *)udid type:(NSString*)type successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"udid":udid, @"type":type?type:@"" }; NSString *url = QXSetDress; if (isCancel) { url = QXCancelDress; } [[QXRequset shareInstance] postWithUrl:url parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)getRoomRandomNameSuccessBlock:(void (^)(NSString * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ [[QXRequset shareInstance] getWithUrl:QXRoomRandomName parameters:@{} needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)createRoomWithName:(NSString *)name room_cover:(NSString *)room_cover room_intro:(NSString *)room_intro successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"room_name":name, @"room_cover":room_cover?room_cover:@"", @"room_intro":room_intro?room_intro:@"", }; [[QXRequset shareInstance] getWithUrl:QXCreatRoom parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)myRoomListWithType:(NSString *)type page:(NSInteger)page successBlock:(void (^)(NSArray * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"type":type, @"page":[NSNumber numberWithInteger:page] }; [[QXRequset shareInstance] postWithUrl:QXMyRoomList parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { NSArray *list = [NSArray yy_modelArrayWithClass:[QXRoomListModel class] json:responseObject[@"data"]]; successBlock(list); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)myHistoryRoomWithPage:(NSInteger)page successBlock:(void (^)(NSArray* list))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ @"page":[NSNumber numberWithInteger:page] }; [[QXRequset shareInstance] postWithUrl:QXMyHistory parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { NSArray *list = [NSArray yy_modelArrayWithClass:[QXMyRoomHistory class] json:responseObject[@"data"]]; successBlock(list); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)joinRoomWithRoomId:(NSString *)room_id successBlock:(nonnull void (^)(QXRoomModel * _Nonnull))successBlock roomErrorBlock:(nonnull void (^)(NSString * _Nonnull, NSString * _Nonnull))roomErrorBlock failBlock:(nonnull void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"room_id":room_id }; [[QXRequset shareInstance] postWithUrl:QXJoinRoom parameters:parameters needCache:NO success:^(id responseObject) { int code = [responseObject[@"code"] intValue]; if(code == 202){ id object = responseObject[@"data"]; NSString *roomId = @""; NSString*content = @""; if ([object isKindOfClass:[NSDictionary class]]) { roomId = [NSString stringWithFormat:@"%@",object[@"room_id"]]; content = [NSString stringWithFormat:@"%@",object[@"msg"]]; } if (roomErrorBlock) { roomErrorBlock(roomId,content); } }else{ if (successBlock) { QXRoomModel *model = [QXRoomModel yy_modelWithJSON:responseObject[@"data"]]; successBlock(model); } } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)getRoomInfoWithRoomId:(NSString *)room_id successBlock:(void (^)(QXRoomModel * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"room_id":room_id }; [[QXRequset shareInstance] postWithUrl:QXGetRoomInfo parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { QXRoomModel *model = [QXRoomModel yy_modelWithJSON:responseObject[@"data"]]; successBlock(model); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)quitRoomWithRoomId:(NSString *)room_id user_id:(NSString *)user_id successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"room_id":room_id, @"user_id":user_id }; [[QXRequset shareInstance] postWithUrl:QXQuitRoom parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } /** 礼物标签列表 */ +(void)giftLabelSuccessBlock:(void (^)(NSArray* list))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ [[QXRequset shareInstance] getWithUrl:QXGiftLabel parameters:@{} needCache:NO success:^(id responseObject) { NSArray *list = [NSArray yy_modelArrayWithClass:[QXGiftLabelModel class] json:responseObject[@"data"]]; successBlock(list); } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } /** 礼物列表 */ +(void)giftListWithLabel:(NSString*)label roomId:(NSString*)roomId successBlock:(void (^)(NSArray* list))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ @"label":label, @"room_id":roomId?roomId:@"" }; [[QXRequset shareInstance] postWithUrl:QXGiftList parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { NSArray *list = [NSArray yy_modelArrayWithClass:[QXGiftModel class] json:responseObject[@"data"]]; successBlock(list); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } /** 直播间发送礼物 */ +(void)roomSendGiftWithRoomId:(NSString*)room_id gift_id:(NSString*)gift_id gift_num:(NSString*)gift_num to_uid:(NSString*)to_uid heart_id:(NSString*)heart_id type:(NSString*)type pit_number:(NSString*)pit_number successBlock:(void (^)(NSDictionary* dict))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ @"room_id":room_id?room_id:@"", @"gift_id":gift_id?gift_id:@"", @"gift_num":gift_num?gift_num:@"", @"to_uid":to_uid?to_uid:@"", @"type":type?type:@"", @"pit_number":pit_number?pit_number:@"", @"heart_id":heart_id?heart_id:@"" }; __block NSString *userId = to_uid; [[QXRequset shareInstance] postWithUrl:QXSendGift parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } // NSDictionary *cp_type = [NSDictionary stringWithFormat:@"%@",responseObject[@"data"][@"cp_type"]]; id object = responseObject[@"data"][@"cp_type"]; if ([object isKindOfClass:[NSDictionary class]]) { NSDictionary *cpDict = (NSDictionary *)object; NSString *cp_type = [NSString stringWithFormat:@"%@",cpDict[@"cp_type"]]; if (cp_type.intValue == 1) { /// 单向送cp礼物 NSString *jsonStr = [cpDict jsonStringEncoded]; [[QXRoomMessageManager shared] sendC2CMessage:jsonStr messageType:(QXRoomMessageTypeSendAndRecieveCpHeartSignal) userId:userId]; }else if (cp_type.intValue == 2){ /// cp礼物已达成双向绑定 NSString *jsonStr = [cpDict jsonStringEncoded]; [[QXRoomMessageManager shared] sendC2CMessage:jsonStr messageType:(QXRoomMessageTypeCpHeartFinished) userId:userId]; [[QXRoomMessageManager shared] showCpFinishedAlertViewWithText:[NSString stringWithFormat:@"%@",cpDict[@"text"]]]; }else{ } } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)userGiftWallithUserId:(NSString*)user_id successBlock:(void(^)(NSArray*lightList,NSArray*grayList))successBlock failBlock:(void(^)(NSError* error,NSString*msg))failBlock{ NSDictionary *parameters =@{ @"user_id":user_id, }; [[QXRequset shareInstance] postWithUrl:QXUserGiftWall parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { NSArray *list1 = [NSArray yy_modelArrayWithClass:[QXUserGiftWallModel class] json:responseObject[@"data"][@"liang"]]; NSArray *list2 = [NSArray yy_modelArrayWithClass:[QXUserGiftWallModel class] json:responseObject[@"data"][@"no_liang"]]; successBlock(list1,list2); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)roomOnlineListWithRoomId:(NSString *)room_id page:(NSInteger)page successBlock:(nonnull void (^)(NSArray * _Nonnull, NSArray * _Nonnull))successBlock failBlock:(nonnull void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"room_id":room_id?room_id:@"", @"page":[NSNumber numberWithInteger:page] }; [[QXRequset shareInstance] postWithUrl:QXOnlineList parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { NSArray *onPitlist = [NSArray yy_modelArrayWithClass:[QXRoomUserInfoModel class] json:responseObject[@"data"][@"on_pit"]]; NSArray *offPitlist = [NSArray yy_modelArrayWithClass:[QXRoomUserInfoModel class] json:responseObject[@"data"][@"off_pit"]]; successBlock(onPitlist,offPitlist); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)roomUpSeatWithRoomId:(NSString*)room_id pit_number:(NSString*)pit_number isUpSeat:(BOOL)isUpSeat successBlock:(void (^)(NSDictionary* dict))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ @"room_id":room_id, @"pit_number":pit_number?pit_number:@"" }; [[QXRequset shareInstance] postWithUrl:isUpSeat?QXRoomUpSeat:QXRoomDownSeat parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)roomUserInfoWithUserId:(NSString *)user_id roomId:(NSString *)room_id successBlock:(void (^)(QXRoomUserInfoModel * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"room_id":room_id, @"user_id":user_id }; [[QXRequset shareInstance] postWithUrl:QXRoomUserInfo parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { QXRoomUserInfoModel *model = [QXRoomUserInfoModel yy_modelWithJSON:responseObject[@"data"]]; successBlock(model); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)roomChangeUpSeatTypeWithRoomId:(NSString *)roomId successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"room_id":roomId, }; [[QXRequset shareInstance] postWithUrl:QXRoomChangeUpSeatType parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)roomApplyPitListWithRoomId:(NSString *)roomId successBlock:(void (^)(QXRoomApplyPitModel * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"room_id":roomId, }; [[QXRequset shareInstance] postWithUrl:QXRoomApplyPitList parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { QXRoomApplyPitModel *model = [QXRoomApplyPitModel yy_modelWithJSON:responseObject[@"data"]]; successBlock(model); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)roomApplyPitPowerWithRoomId:(NSString *)roomId userId:(NSString *)user_id successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"room_id":roomId, @"user_id":user_id }; [[QXRequset shareInstance] postWithUrl:QXRoomUpSeatPower parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)agreeUpSeatIsAgree:(BOOL)isAgree roomId:(NSString *)roomId userId:(NSString *)user_id successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"room_id":roomId, @"user_id":user_id }; [[QXRequset shareInstance] postWithUrl:isAgree?QXRoomAgreeUpSeat:QXRoomRefuseUpSeat parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)clearApplyPitListRoomId:(NSString *)roomId successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"room_id":roomId, }; [[QXRequset shareInstance] postWithUrl:QXRoomClearApplyPitList parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)setApplyPitGiftWithRoomId:(NSString *)roomId gift_id:(NSString *)gift_id successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"room_id":roomId, @"gift_id":gift_id }; [[QXRequset shareInstance] postWithUrl:QXRoomApplyPitGift parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } /** 房间主持/管理列表 type : 1-主持,2管理 */ +(void)roomManagerListWithRoomId:(NSString*)roomId type:(NSInteger)type successBlock:(void (^)(NSArray* list))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ @"room_id":roomId, @"type":[NSNumber numberWithInteger:type] }; [[QXRequset shareInstance] postWithUrl:QXRoomHostList parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { NSArray *list = [NSArray yy_modelArrayWithClass:[QXRoomOnlineList class] json:responseObject[@"data"]]; successBlock(list); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } /** 添加/删除 主持/管理 type : 1-主持,2管理 */ +(void)roomAddOrDeleteManagerIsAdd:(BOOL)isAdd type:(NSInteger)type roomId:(NSString*)roomId user_id:(NSString*)user_id successBlock:(void (^)(NSDictionary* dict))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ @"room_id":roomId, @"type":[NSNumber numberWithInteger:type], @"user_id":user_id, @"is_add":isAdd?@"1":@"2" }; [[QXRequset shareInstance] postWithUrl:QXRoomSetHost parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } /** 搜索接口 type 1用户,2房间,3公会 */ +(void)searchApiWithType:(NSInteger)type search:(NSString*)search successBlock:(void (^)(NSDictionary* dict))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ @"search":search, @"type":[NSNumber numberWithInteger:type], }; [[QXRequset shareInstance] postWithUrl:QXSearchApi parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)searchListApiWithKetwords:(NSString*)keywords successBlock:(void (^)(NSDictionary* dict))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ @"search":keywords?keywords:@"", }; [[QXRequset shareInstance] postWithUrl:QXSearchListApi parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } /** 设置主持收益比例 */ +(void)roomSetHostRatio:(NSString*)ratio roomId:(NSString*)roomId user_id:(NSString*)user_id successBlock:(void (^)(NSDictionary* dict))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ @"ratio":ratio, @"room_id":roomId, @"user_id":user_id }; [[QXRequset shareInstance] postWithUrl:QXRoomHostRatio parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)applySongWithRoomId:(NSString *)roomId successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"room_id":roomId, }; [[QXRequset shareInstance] postWithUrl:QXRoomApplySong parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)agreeApplySongWithRoomId:(NSString *)roomId type:(NSString *)type successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"room_id":roomId, @"type":type }; [[QXRequset shareInstance] postWithUrl:QXRoomAgreeSong parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)selectedSongWithRoomId:(NSString *)roomId user_id:(NSString *)user_id song_code:(NSString *)song_code song_name:(NSString *)song_name singer:(NSString *)singer poster:(NSString *)poster duration:(NSString *)duration successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"room_id":roomId, @"song_code":song_code, @"song_name":song_name, @"singer":singer, @"user_id":[QXGlobal shareGlobal].loginModel.user_id?[QXGlobal shareGlobal].loginModel.user_id:@"", @"poster":poster, @"duration":duration, }; [[QXRequset shareInstance] postWithUrl:QXRoomSelectedSong parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)moveSongWithRoomSongId:(NSString *)room_song_id type:(NSString *)type successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"did":room_song_id, @"type":type, }; [[QXRequset shareInstance] postWithUrl:QXRoomMoveSong parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)nextSongWithRoomId:(NSString *)room_id now_did:(NSString *)now_did successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"room_id":room_id, @"now_did":now_did?now_did:@"", }; [[QXRequset shareInstance] postWithUrl:QXRoomNextSong parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)endSongWithRoomId:(NSString *)room_id successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"room_id":room_id, }; [[QXRequset shareInstance] postWithUrl:QXRoomEndSong parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)roomSongListWithRoomId:(NSString *)room_id successBlock:(void (^)(NSArray * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"room_id":room_id, }; [[QXRequset shareInstance] postWithUrl:QXRoomSongList parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { NSArray *list = [NSArray yy_modelArrayWithClass:[QXSongListModel class] json:responseObject[@"data"]]; successBlock(list); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)roomCharmRankListWithRoomId:(NSString *)room_id successBlock:(void (^)(NSArray * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"room_id":room_id, }; [[QXRequset shareInstance] postWithUrl:QXRoomCharmRankList parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { NSArray *list = [NSArray yy_modelArrayWithClass:[QXRoomPitModel class] json:responseObject[@"data"]]; successBlock(list); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)roomInfoEditWithRoomId:(NSString *)roomId room_name:(NSString *)room_name room_cover:(NSString *)room_cover room_intro:(NSString *)room_intro room_background:(NSString *)room_background successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"room_id":roomId, @"room_name":room_name?room_name:@"", @"room_cover":room_cover?room_cover:@"", @"room_intro":room_name?room_intro:@"", @"room_background":room_background?room_background:@"", }; [[QXRequset shareInstance] postWithUrl:QXRoomInfoEdit parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)roomPitLockOrMuteIsLock:(BOOL)isLock roomId:(NSString*)roomId pit_number:(NSInteger)pit_number is_mute:(BOOL)is_mute successBlock:(void (^)(NSDictionary* dict))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSMutableDictionary *parameters = [NSMutableDictionary dictionaryWithDictionary:@{ @"room_id":roomId, @"pit_number":[NSNumber numberWithInteger:pit_number] }]; if (isLock) { [parameters setObject:is_mute?@"1":@"0" forKey:@"is_lock"]; }else{ [parameters setObject:is_mute?@"1":@"0" forKey:@"is_mute"]; } [[QXRequset shareInstance] postWithUrl:isLock?QXRoomLockPit:QXRoomMutePit parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)getRoomBgListSuccessBlock:(void (^)(NSArray * _Nonnull, NSArray * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ [[QXRequset shareInstance] getWithUrl:QXRoomBgList parameters:@{} needCache:NO success:^(id responseObject) { if (successBlock) { NSArray *publicArr = [NSArray yy_modelArrayWithClass:[QXRoomBgListModel class] json:responseObject[@"data"][@"public_bg"]]; NSArray *myArr = [NSArray yy_modelArrayWithClass:[QXRoomBgListModel class] json:responseObject[@"data"][@"private_bg"]]; successBlock(publicArr,myArr); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)uploadRoomBgWithImageUrl:(NSString *)image_url Id:(NSString *)Id successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"id":Id, @"image_url":image_url?image_url:@"" }; [[QXRequset shareInstance] postWithUrl:QXRoomUploadMyBg parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)roomCompereApplyPitWithRoomId:(NSString *)roomId pit_number:(NSString *)pit_number user_id:(NSString *)user_id type:(NSString *)type successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"room_id":roomId, @"pit_number":pit_number?pit_number:@"", @"user_id":user_id?user_id:@"", @"type":type }; [[QXRequset shareInstance] postWithUrl:QXRoomHostEventPit parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)roomClearCharmWithRoomId:(NSString *)roomId userId:(NSString *)userId successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"room_id":roomId?roomId:@"", @"user_id":userId?userId:@"", }; [[QXRequset shareInstance] postWithUrl:QXRoomClearCharm parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)roomMuteWithRoomId:(NSString *)roomId userId:(NSString *)userId is_mute:(NSString *)is_mute successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"room_id":roomId?roomId:@"", @"user_id":userId?userId:@"", @"is_mute":is_mute?is_mute:@"" }; [[QXRequset shareInstance] postWithUrl:QXRoomUserMute parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)roomTakeOffWithRoomId:(NSString *)roomId userId:(NSString *)userId successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"room_id":roomId?roomId:@"", @"user_id":userId?userId:@"", }; [[QXRequset shareInstance] postWithUrl:QXRoomTakeOff parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)headlineInitSuccessBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ [[QXRequset shareInstance] getWithUrl:QXRoomHeadline parameters:@{} needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)sendHeadlineWithContent:(NSString *)content money:(NSString *)money roomId:(NSString*)roomId successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"content":content?content:@"", @"money":money?money:@"", @"room_id":roomId?roomId:@"", }; [[QXRequset shareInstance] postWithUrl:QXRoomSendHeadline parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)changeRoomTypeWithRoomId:(NSString *)roomId type:(NSString *)type successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"room_id":roomId?roomId:@"", @"type":type?type:@"", }; [[QXRequset shareInstance] postWithUrl:QXChangeRoomType parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)roomRelationListWithType:(NSString *)type successBlock:(void (^)(NSArray * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"type":type?type:@"", }; [[QXRequset shareInstance] postWithUrl:QXRoomRelationList parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { NSArray *list = [NSArray yy_modelArrayWithClass:[QXRoomRelationModel class] json:responseObject[@"data"]]; successBlock(list); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)roomAuctionStartWithRoomId:(NSString *)roomId user_id:(NSString *)user_id gift_id:(NSString *)gift_id relation_id:(NSString *)relation_id auction_type:(NSString *)auction_type time_day:(NSString *)time_day successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"room_id":roomId?roomId:@"", @"user_id":user_id?user_id:@"", @"gift_id":gift_id?gift_id:@"", @"relation_id":relation_id?relation_id:@"", @"auction_type":auction_type?auction_type:@"", @"time_day":time_day?time_day:@"", }; [[QXRequset shareInstance] postWithUrl:QXRoomAuctionStart parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)roomAuctionEndWithAuctionId:(NSString *)auction_id roomId:(NSString*)roomId successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"auction_id":auction_id?auction_id:@"", @"room_id":roomId?roomId:@"" }; [[QXRequset shareInstance] postWithUrl:QXRoomAuctionEnd parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)roomAuctionJoinWithAuctionId:(NSString *)auction_id user_id:(NSString *)user_id gift_id:(NSString *)gift_id num:(NSString *)num type:(NSString *)type successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"auction_id":auction_id?auction_id:@"", @"user_id":user_id?user_id:@"", @"gift_id":gift_id?gift_id:@"", @"num":num?num:@"", @"type":type?type:@"", }; [[QXRequset shareInstance] postWithUrl:QXRoomAuctionJoin parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)roomAuctionDelayTimeWithAuctionId:(NSString *)auction_id successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"auction_id":auction_id?auction_id:@"", }; [[QXRequset shareInstance] postWithUrl:QXRoomAuctionDelayTime parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)roomRankListWithRoomId:(NSString *)roomId type:(NSString *)type time_type:(NSString *)time_type page:(NSInteger)page successBlock:(void (^)(NSArray * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"room_id":roomId?roomId:@"", @"type":type, @"time_type":time_type, @"page":[NSNumber numberWithInteger:page] }; [[QXRequset shareInstance] postWithUrl:QXRoomRankList parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { NSArray *list = [NSArray yy_modelArrayWithClass:[QXRoomOnlineList class] json:responseObject[@"data"]]; successBlock(list); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)changeRoomAuctionWithRoomId:(NSString *)roomId type:(NSString *)type successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"room_id":roomId?roomId:@"", @"label_id":type, }; [[QXRequset shareInstance] postWithUrl:QXRoomAuctionType parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)roomAuctionUserListWithAuctionId:(NSString *)auction_id successBlock:(void (^)(NSArray * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"auction_id":auction_id?auction_id:@"", }; [[QXRequset shareInstance] postWithUrl:QXRoomAuctionUserList parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { NSArray *list = [NSArray yy_modelArrayWithClass:[QXRoomOnlineList class] json:responseObject[@"data"]]; successBlock(list); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)getMyCpRoomListSuccessBlock:(void (^)(NSArray* list))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ [[QXRequset shareInstance] getWithUrl:QXCpRoomList parameters:@{} needCache:NO success:^(id responseObject) { if (successBlock) { NSArray *list = [NSArray yy_modelArrayWithClass:[QXRoomListCpModel class] json:responseObject[@"data"]]; successBlock(list); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)clearRoomHistorySuccessBlock:(void (^)(NSArray * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ [[QXRequset shareInstance] getWithUrl:QXClearHistoryRoom parameters:@{} needCache:NO success:^(id responseObject) { if (successBlock) { NSArray *list = [NSArray yy_modelArrayWithClass:[QXRoomListCpModel class] json:responseObject[@"data"]]; successBlock(list); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } /** 搜索pk房间 */ +(void)roomPkSearchWithRoomId:(NSString*)roomId page:(NSInteger)page successBlock:(void (^)(NSArray* list))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ @"room_id":roomId?roomId:@"", @"page":[NSNumber numberWithInteger:page] }; [[QXRequset shareInstance] postWithUrl:QXRoomSearchPK parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { NSArray *list = [NSArray yy_modelArrayWithClass:[QXRoomListModel class] json:responseObject[@"data"]]; successBlock(list); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } /** 发起pk room_id_b 随机时可不传 */ +(void)roomSendPkRoomId:(NSString*)room_id_a create_user_id:(NSString*)create_user_id room_id_b:(NSString*)room_id_b successBlock:(void (^)(NSDictionary* dict))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ @"room_id_a":room_id_a?room_id_a:@"", @"create_user_id":create_user_id?create_user_id:@"", @"room_id_b":room_id_b?room_id_b:@"", }; [[QXRequset shareInstance] postWithUrl:QXRoomSendPK parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)noAgreePKInvite:(NSString *)is_pk room_id:(NSString *)room_id successBlock:(void (^)(NSString * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"is_pk":is_pk?is_pk:@"", @"room_id":room_id?room_id:@"" }; [[QXRequset shareInstance] postWithUrl:QXNoPKInvite parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } /** 同意|拒绝pk type 1接受,2拒绝 */ +(void)roomPkAgreeWithPk_id:(NSString*)pk_id type:(NSString*)type successBlock:(void (^)(NSDictionary* dict))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ @"pk_id":pk_id?pk_id:@"", @"type":type?type:@"", }; [[QXRequset shareInstance] postWithUrl:QXRoomAgreePK parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } /** 开始pk */ +(void)roomPkStartWithPk_id:(NSString*)pk_id pk_times:(NSString*)pk_times successBlock:(void (^)(NSDictionary* dict))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ @"pk_id":pk_id?pk_id:@"", @"pk_times":pk_times?pk_times:@"", }; [[QXRequset shareInstance] postWithUrl:QXRoomStartPK parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } /** 结束pk type 1-pk结束,2-断开链接,3-中途关闭 user_id 谁发起的结束 */ +(void)roomPkEndWithPk_id:(NSString*)pk_id type:(NSString*)type user_id:(NSString*)user_id successBlock:(void (^)(NSDictionary* dict))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ @"pk_id":pk_id?pk_id:@"", @"type":type?type:@"", @"user_id":user_id?user_id:@"", }; [[QXRequset shareInstance] postWithUrl:QXRoomEndPK parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)updateShengWangTokenWithRoomId:(NSString *)roomId successBlock:(void (^)(NSString * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"room_id":roomId }; [[QXRequset shareInstance] postWithUrl:QXShengWangToken parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { NSString *agora_token = [NSString stringWithFormat:@"%@",responseObject[@"data"][@"agora_token"]]; successBlock(agora_token); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)roomWaterDetailWithRoomId:(NSString *)roomId start_time:(NSString *)start_time end_time:(NSString *)end_time page:(NSInteger)page type:(NSInteger)type successBlock:(void (^)(QXRoomDetailModel * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"room_id":roomId?roomId:@"", @"start_time":start_time?start_time:@"", @"end_time":end_time?end_time:@"", @"page":[NSNumber numberWithInteger:page], @"type":[NSNumber numberWithInteger:type], }; [[QXRequset shareInstance] postWithUrl:QXRoomWaterDetail parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { QXRoomDetailModel*model = [QXRoomDetailModel yy_modelWithJSON: responseObject[@"data"]]; successBlock(model); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)roomSubsidyWithRoomId:(NSString *)roomId successBlock:(void (^)(QXSubsidyModel * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"room_id":roomId?roomId:@"", }; [[QXRequset shareInstance] postWithUrl:QXRoomSubsidy parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { QXSubsidyModel*model = [QXSubsidyModel yy_modelWithJSON: responseObject[@"data"]]; successBlock(model); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)roomSubsidyHisoryWithWithRoomId:(NSString *)roomId page:(NSInteger)page successBlock:(void (^)(NSArray * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"room_id":roomId?roomId:@"", @"page":[NSNumber numberWithInteger:page], }; [[QXRequset shareInstance] postWithUrl:QXRoomSubsidyHistory parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { NSArray*list = [NSArray yy_modelArrayWithClass:[QXSubsidyHistoryModel class] json:responseObject[@"data"]]; successBlock(list); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)roomCoinOrDiamondDetailWithPage:(NSInteger)page in_out_type:(NSString *)in_out_type start_time:(NSString *)start_time end_time:(NSString *)end_time gift_type:(NSString *)gift_type successBlock:(void (^)(NSArray * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"page":[NSNumber numberWithInteger:page], @"gift_type":gift_type?gift_type:@"", @"start_time":start_time?start_time:@"", @"end_time":end_time?end_time:@"", @"in_out_type":in_out_type?in_out_type:@"" }; [[QXRequset shareInstance] postWithUrl:QXRoomCoinDetail parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { NSArray*list = [NSArray yy_modelArrayWithClass:[QXCoinDetailModel class] json:responseObject[@"data"]]; successBlock(list); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)roomCoinExchangeWithEarningsNum:(NSString *)earnings_num successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"earnings_num":earnings_num?earnings_num:@"", }; [[QXRequset shareInstance] postWithUrl:QXExchangeCoin parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)getRealNameInfoSuccessBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ [[QXRequset shareInstance] getWithUrl:QXRealNameInfo parameters:@{} needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)getRechargeListSuccessBlock:(void (^)(NSArray * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ [[QXRequset shareInstance] getWithUrl:QXRechargeList parameters:@{} needCache:NO success:^(id responseObject) { if (successBlock) { NSArray*list = [NSArray yy_modelArrayWithClass:[QXRechargeListModel class] json:responseObject[@"data"]]; successBlock(list); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)rechargePayWithMoney:(NSString *)money coin:(NSString *)coin type:(NSString *)type userId:(NSString*)userId typeId:(NSString*)typeId nobility_id:(NSString*)nobility_id successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"coin":coin?coin:@"", @"money":money?money:@"", @"type":type?type:@"", @"user_id":userId?userId:@"", @"type_id":typeId?typeId:@"", @"nobility_id":nobility_id?:@"" }; [[QXRequset shareInstance] postWithUrl:QXRechargePay parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)getWalletConfigSuccessBlock:(void (^)(NSString * _Nonnull, NSString * _Nonnull, NSString * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ [[QXRequset shareInstance] getWithUrl:QXWalletConfig parameters:@{} needCache:NO success:^(id responseObject) { if (successBlock) { NSString *coin_exchange_rate = [NSString stringWithFormat:@"%@",responseObject[@"data"][@"coin_exchange_rate"]]; NSString *withdrawal_service_fee = [NSString stringWithFormat:@"%@",responseObject[@"data"][@"withdrawal_service_fee"]]; NSString *rmb_coin_ratio = [NSString stringWithFormat:@"%@",responseObject[@"data"][@"rmb_coin_ratio"]]; [QXGlobal shareGlobal].coin_exchange_rate = coin_exchange_rate; [QXGlobal shareGlobal].withdrawal_service_fee = withdrawal_service_fee; [QXGlobal shareGlobal].rmb_coin_ratio = rmb_coin_ratio; successBlock(coin_exchange_rate,withdrawal_service_fee,rmb_coin_ratio); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)walletPayTypeWithUserId:(NSString *)userId successBlock:(void (^)(QXPayTypeStatusModel * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"user_id":userId?userId:@"", }; [[QXRequset shareInstance] postWithUrl:QXWalletBindType parameters:parameters needCache:YES success:^(id responseObject) { if (successBlock) { QXPayTypeStatusModel *model = [QXPayTypeStatusModel yy_modelWithJSON:responseObject[@"data"]]; successBlock(model); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)walletBindWithUserId:(NSString *)user_id type:(NSString *)type alipay_account:(NSString *)alipay_account bank_card_number:(NSString *)bank_card_number bank_card:(NSString *)bank_card open_bank:(NSString *)open_bank successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"user_id":user_id?user_id:@"", @"type":type?type:@"", @"alipay_account":alipay_account?alipay_account:@"", @"bank_card_number":bank_card_number?bank_card_number:@"", @"bank_card":bank_card?bank_card:@"", @"open_bank":open_bank?open_bank:@"", }; [[QXRequset shareInstance] postWithUrl:QXWalletBind parameters:parameters needCache:YES success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)walletWithDrawWithNumber:(NSString *)number type:(NSString *)type sms_code:(NSString *)sms_code successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"number":number?number:@"", @"type":type?type:@"", @"sms_code":sms_code?sms_code:@"", }; [[QXRequset shareInstance] postWithUrl:QXWalletWithDraw parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)walletWithDrawRecordWithPage:(NSInteger)page start_time:(NSString *)start_time end_time:(NSString *)end_time SuccessBlock:(void (^)(NSArray * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"page":[NSNumber numberWithInteger:page], @"search_stime":start_time?start_time:@"", @"search_etime":end_time?end_time:@"", }; [[QXRequset shareInstance] postWithUrl:QXWalletWithDrawRecord parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { NSArray*list = [NSArray yy_modelArrayWithClass:[QXWithDrawRecordModel class] json:responseObject[@"data"]]; successBlock(list); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)getBagListSuccessBlock:(void (^)(NSArray * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ [[QXRequset shareInstance] getWithUrl:QXBagList parameters:@{} needCache:NO success:^(id responseObject) { if (successBlock) { NSArray*list = [NSArray yy_modelArrayWithClass:[QXGiftModel class] json:responseObject[@"data"]]; successBlock(list); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)getBagIncomeListWithPage:(NSInteger)page successBlock:(void (^)(NSArray*list))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ [[QXRequset shareInstance] postWithUrl:QXBagIncomeList parameters:@{@"page":[NSNumber numberWithInteger:page]} needCache:NO success:^(id responseObject) { if (successBlock) { NSArray*list = [NSArray yy_modelArrayWithClass:[QXBagRecordModel class] json:responseObject[@"data"]]; successBlock(list); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)getBagOutcomeListWithPage:(NSInteger)page successBlock:(void (^)(NSArray*list))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ [[QXRequset shareInstance] postWithUrl:QXBagOutcomeList parameters:@{@"page":[NSNumber numberWithInteger:page]} needCache:NO success:^(id responseObject) { if (successBlock) { NSArray*list = [NSArray yy_modelArrayWithClass:[QXBagRecordModel class] json:responseObject[@"data"]]; successBlock(list); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)getDayTaskListSuccessBlock:(void (^)(QXDayTaskModel * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ [[QXRequset shareInstance] getWithUrl:QXDayTaskList parameters:@{} needCache:NO success:^(id responseObject) { if (successBlock) { QXDayTaskModel*model = [QXDayTaskModel yy_modelWithJSON:responseObject[@"data"]]; successBlock(model); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)openDayTaskGiftWithGiftBoxId:(NSString *)gift_box_id successBlock:(void (^)(NSString * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"gift_box_id":gift_box_id?gift_box_id:@"" }; [[QXRequset shareInstance] postWithUrl:QXDayTaskOpenGift parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { NSString *giftName = [NSString stringWithFormat:@"%@",responseObject[@"data"][@"gift_name"]]; successBlock(giftName); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } /** 完成每日任务 */ +(void)dayTaskFinishedWithTaskId:(NSString*)task_id successBlock:(void (^)(NSDictionary* dict))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ @"task_id":task_id?task_id:@"" }; [[QXRequset shareInstance] postWithUrl:QXDayTaskFinished parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } /** 领取任务金币 */ +(void)dayTaskDrawWithTaskId:(NSString*)task_id successBlock:(void (^)(NSDictionary* dict))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ @"task_id":task_id?task_id:@"" }; [[QXRequset shareInstance] postWithUrl:QXDayDrawTaskCoin parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } /** 礼盒记录 */ +(void)dayTaskGiftBoxRecordSuccessBlock:(void (^)(NSArray* list))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ [[QXRequset shareInstance] getWithUrl:QXDayGiftBoxRecord parameters:@{} needCache:NO success:^(id responseObject) { if (successBlock) { NSArray*list = [NSArray yy_modelArrayWithClass:[QXTaskGiftBoxRecordModel class] json:responseObject[@"data"]]; successBlock(list); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } /** 房间用户信息关系列表 */ +(void)roomUserRelationWithUserId:(NSString*)userId page:(NSInteger)page successBlock:(void (^)(QXRelationshipList* list))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ [[QXRequset shareInstance] getWithUrl:QXRoomUserRelation parameters:@{@"user_id":userId,@"page":[NSNumber numberWithInteger:page]} needCache:NO success:^(id responseObject) { if (successBlock) { QXRelationshipList*list = [QXRelationshipList yy_modelWithJSON:responseObject[@"data"]]; successBlock(list); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)topRelationWithId:(NSString *)Id successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ [[QXRequset shareInstance] postWithUrl:QXTopRelationCard parameters:@{@"id":Id?Id:@""} needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)deleteRelationWithId:(NSString *)Id successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ [[QXRequset shareInstance] postWithUrl:QXDeleteRelationCard parameters:@{@"id":Id?Id:@""} needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)roomUserOnlineStatusWithUserIds:(NSString *)userIds roomId:(NSString*)roomId successBlock:(void (^)(NSArray * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"user_id":userIds?userIds:@"", @"room_id":roomId?roomId:@"" }; [[QXRequset shareInstance] postWithUrl:QXRoomUserOnlineStatus parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { NSArray*list = [NSArray yy_modelArrayWithClass:[QXUserModel class] json:responseObject[@"data"]]; successBlock(list); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)giveCoinWithUserId:(NSString *)userId coin:(NSString *)coin successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"user_id":userId?userId:@"", @"coin":coin?coin:@"" }; [[QXRequset shareInstance] postWithUrl:QXRoomUserGiveCoin parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } #pragma mark - 交友房 /** 交友房开始 */ +(void)friendRoomStartWithRoomId:(NSString*)room_id successBlock:(void (^)(NSDictionary* dict))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ @"room_id":room_id?room_id:@"", }; [[QXRequset shareInstance] postWithUrl:QXRoomFriendStart parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } /** 交友房结束 */ +(void)friendRoomEndWithRoomId:(NSString*)room_id friendId:(NSString*)friend_id successBlock:(void (^)(NSDictionary* dict))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ @"room_id":room_id?room_id:@"", @"friend_id":friend_id?friend_id:@"" }; [[QXRequset shareInstance] postWithUrl:QXRoomFriendEnd parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } /** 交友房延时 */ +(void)friendRoomDelayWithRoomId:(NSString*)room_id friendId:(NSString*)friend_id successBlock:(void (^)(NSDictionary* dict))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ @"room_id":room_id?room_id:@"", @"friend_id":friend_id?friend_id:@"" }; [[QXRequset shareInstance] postWithUrl:QXRoomFriendDelay parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } /** 交友房创建关系 */ +(void)friendRoomCreateRelationWithRoomId:(NSString*)room_id friendId:(NSString*)friend_id user1Id:(NSString*)user1_id user2Id:(NSString*)user2_id relationId:(NSString*)relation_id successBlock:(void (^)(NSDictionary* dict))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ @"room_id":room_id?room_id:@"", @"friend_id":friend_id?friend_id:@"", @"user1_id":user1_id?user1_id:@"", @"user2_id":user2_id?user2_id:@"", @"relation_id":relation_id?relation_id:@"", }; [[QXRequset shareInstance] postWithUrl:QXRoomFriendCreateRelation parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } /** 退出私密小屋 */ +(void)friendRoomQuitWithRoomid:(NSString*)room_id successBlock:(void (^)(NSDictionary* dict))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ @"room_id":room_id?room_id:@"", }; [[QXRequset shareInstance] postWithUrl:QXRoomFriendRoomQuit parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)getRoomUserCharmListWithRoomId:(NSString*)roomId userId:(NSString*)userId successBlock:(void (^)(NSArray * list))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock { NSDictionary *parameters =@{ @"room_id":roomId?roomId:@"", @"user_id":userId?userId:@"" }; [[QXRequset shareInstance] postWithUrl:QXRoomUserCharmList parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { NSArray*list = [NSArray yy_modelArrayWithClass:[QXRoomUserCharmModel class] json:responseObject[@"data"]]; successBlock(list); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)roomBagGiftClearWithRoomId:(NSString *)roomId userId:(NSString *)userId heartId:(NSString*)heartId auction_id:(NSString*)auction_id successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"room_id":roomId?roomId:@"", @"to_uid":userId?userId:@"", @"heart_id":heartId?heartId:@"", @"auction_id":auction_id?auction_id:@"" }; [[QXRequset shareInstance] postWithUrl:QXRoomGiftBagClear parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)roomGiftBagPricesuccessBlock:(void (^)(NSString * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ [[QXRequset shareInstance] getWithUrl:QXRoomGiftBagPrice parameters:@{} needCache:NO success:^(id responseObject) { if (successBlock) { NSString *count = [NSString stringWithFormat:@"%@",responseObject[@"data"][@"count"]]; successBlock(count); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)roomUserReconnectWithRoomId:(NSString*)roomId successBlock:(void (^)(NSDictionary* dict))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ @"room_id":roomId?roomId:@"", }; [[QXRequset shareInstance] postWithUrl:QXRoomUserReconnect parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)walletBindDetailWithUserId:(NSString *)user_id type:(NSString *)type successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"user_id":user_id?user_id:@"", @"type":type?type:@"" }; [[QXRequset shareInstance] postWithUrl:QXWalletBindDetail parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)roomHourRankWithPage:(NSInteger)page successBlock:(void (^)(QXRoomHourRankModel * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"page":[NSNumber numberWithInteger:page] }; [[QXRequset shareInstance] postWithUrl:QXRoomHourRank parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { QXRoomHourRankModel *model = [QXRoomHourRankModel yy_modelWithJSON:responseObject[@"data"]]; successBlock(model); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)createRedpacketWithType:(NSString *)type password:(NSString *)password coin_type:(NSString *)coin_type total_amount:(NSString *)total_amount total_count:(NSString *)total_count conditions:(NSString *)conditions countdown:(NSString *)countdown room_id:(NSString *)room_id remark:(NSString *)remark successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"type":type?type:@"", @"password":password?password:@"", @"coin_type":coin_type?coin_type:@"", @"total_amount":total_amount?total_amount:@"", @"total_count":total_count?total_count:@"", @"conditions":conditions?conditions:@"", @"countdown":countdown?countdown:@"", @"room_id":room_id?room_id:@"", @"remark":remark?remark:@"" }; [[QXRequset shareInstance] postWithUrl:QXRoomCreateRedpacket parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)getRedpacketListWithRoomId:(NSString *)roomId successBlock:(void (^)(NSArray * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"room_id":roomId?roomId:@"", }; [[QXRequset shareInstance] getWithUrl:QXRoomRedpacketList parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { NSArray*list = [NSArray yy_modelArrayWithClass:[QXRedPacketModel class] json:responseObject[@"data"]]; successBlock(list); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } /** 抢红包 */ +(void)drawRedpacketWithRedpacketId:(NSString*)redpacketId successBlock:(void (^)(NSString* code))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ @"redpacket_id":redpacketId?redpacketId:@"", }; [[QXRequset shareInstance] postWithUrl:QXRoomDrawRedpacket parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { NSString *code = [NSString stringWithFormat:@"%@",responseObject[@"data"][@"code"]]; successBlock(code); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } /** 获取红包记录列表 */ +(void)getRedpacketRecordWithRedpacketId:(NSString*)redpacketId successBlock:(nonnull void (^)(QXDrawRedPacketModel * _Nonnull))successBlock failBlock:(nonnull void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"redpacket_id":redpacketId?redpacketId:@"", }; [[QXRequset shareInstance] postWithUrl:QXRoomRedpacketDetail parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { QXDrawRedPacketModel*model = [QXDrawRedPacketModel yy_modelWithJSON:responseObject[@"data"]]; successBlock(model); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)roomCollectWithType:(NSString *)type room_id:(NSString *)room_id successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"room_id":room_id?room_id:@"", @"type":type?type:@"" }; [[QXRequset shareInstance] getWithUrl:QXUserFollowRoom parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } /** 表情类型列表 */ +(void)roomEmojiTypeListSuccessBlock:(void (^)(NSArray * list))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ [[QXRequset shareInstance] getWithUrl:QXRoomEmoji parameters:@{} needCache:NO success:^(id responseObject) { if (successBlock) { NSArray*list = [NSArray yy_modelArrayWithClass:[QXEmojiTypeModel class] json:responseObject[@"data"]]; successBlock(list); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } /** 表情列表 */ +(void)roomEmojiListWithTypeId:(NSString*)type_id pid:(NSString*)pid successBlock:(void (^)(NSArray * list))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ @"type_id":type_id?type_id:@"", // @"pid":pid?pid:@"" }; [[QXRequset shareInstance] getWithUrl:QXRoomEmojiList parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { NSArray*list = [NSArray yy_modelArrayWithClass:[QXEmojiModel class] json:responseObject[@"data"]]; successBlock(list); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)getUserNobilitSuccessBlock:(void (^)(QXNobilityModel* model))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ [[QXRequset shareInstance] getWithUrl:QXGetUserNobility parameters:@{} needCache:NO success:^(id responseObject) { if (successBlock) { QXNobilityModel*model = [QXNobilityModel yy_modelWithJSON:responseObject[@"data"]]; successBlock(model); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)getNobilityListSuccessBlock:(void (^)(NSArray* list))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ [[QXRequset shareInstance] getWithUrl:QXGetNobilityList parameters:@{} needCache:NO success:^(id responseObject) { if (successBlock) { NSArray *list = [NSArray yy_modelArrayWithClass:[QXNobilityListModel class] json:responseObject[@"data"]]; successBlock(list); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)getNobilityPriceWithId:(NSString*)Id successBlock:(void (^)(QXNobilityGetPriceModel* model))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ [[QXRequset shareInstance] getWithUrl:QXNobilityBuy parameters:@{@"id":Id?:@""} needCache:NO success:^(id responseObject) { if (successBlock) { QXNobilityGetPriceModel *model = [QXNobilityGetPriceModel yy_modelWithJSON:responseObject[@"data"]]; successBlock(model); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)getNobilityPriceWithHideStatus:(NSString *)hide_status successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"hide_status":hide_status?hide_status:@"", }; [[QXRequset shareInstance] postWithUrl:QXNobilityHideJoinRoom parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)singerAuthWithSong:(NSString*)song successBlock:(void (^)(NSDictionary* dict))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ @"song":song?song:@"", }; [[QXRequset shareInstance] postWithUrl:QXMineSingerAuth parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)getUserSongListWithRoomId:(NSString *)room_id user_id:(NSString *)user_id page:(NSInteger)page SuccessBlock:(void (^)(NSArray* list,NSString*count))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"room_id":room_id?room_id:@"", @"user_id":user_id?user_id:@"", @"page":[NSNumber numberWithInteger:page] }; [[QXRequset shareInstance] postWithUrl:QXMineGetSingerSongList parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { NSArray*list = [NSArray yy_modelArrayWithClass:[QXUserSongListModel class] json:responseObject[@"data"][@"lists"]]; NSString*count = [NSString stringWithFormat:@"%@",responseObject[@"data"][@"count"]]; successBlock(list,count); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)mineUserAddAndDeleteAndEditWithType:(NSInteger)type Id:(NSString*)Id songName:(NSString*)songName giftId:(NSString*)giftId giftNum:(NSString*)giftNum successBlock:(void (^)(NSDictionary* dict))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSString *url = QXMineSingerAddSong; if (type == 0) { url = QXMineSingerAddSong; }else if(type == 1){ url = QXMineSingerEidtSong; }else{ url = QXMineSingerDeleteSong; } NSDictionary *parameters =@{ @"id":Id?:@"", @"song_name":songName?:@"", @"gift_id":giftId?:@"", @"gift_num":giftNum?:@"", }; [[QXRequset shareInstance] postWithUrl:url parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } /** 点歌 */ +(void)requestSongWithSongId:(NSString*)songId roomId:(NSString*)roomId successBlock:(void (^)(NSDictionary* dict))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ @"song_id":songId?:@"", @"room_id":roomId?:@"", }; [[QXRequset shareInstance] postWithUrl:QXRoomRequestSong parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } /** 点歌列表 */ +(void)requestSongWithRoomId:(NSString*)roomId type:(NSInteger)type page:(NSInteger)page successBlock:(void (^)(NSArray* list,NSString*count))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ @"type":[NSNumber numberWithInteger:type], @"room_id":roomId?:@"", @"page":[NSNumber numberWithInteger:page] }; [[QXRequset shareInstance] postWithUrl:QXRoomAllSongList parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { NSArray*list = [NSArray yy_modelArrayWithClass:[QXUserSongListModel class] json:responseObject[@"data"][@"lists"]]; NSString*count = [NSString stringWithFormat:@"%@",responseObject[@"data"][@"count"]]; successBlock(list,count); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } /** 歌曲置顶 */ +(void)requestSongToTopWithId:(NSString*)Id successBlock:(void (^)(NSDictionary* dict))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ @"id":Id?:@"", }; [[QXRequset shareInstance] postWithUrl:QXRoomRequestSongTop parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)requestSongCountWithRoomId:(NSString*)roomId successBlock:(void (^)(QXUserSongListCount*model))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ @"room_id":roomId?:@"", }; [[QXRequset shareInstance] postWithUrl:QXRoomRequestSongCount parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { QXUserSongListCount *countModel = [QXUserSongListCount yy_modelWithJSON:responseObject[@"data"]]; successBlock(countModel); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)requsetSongNextActionWithId:(NSString *)Id successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"id":Id?:@"", }; [[QXRequset shareInstance] postWithUrl:QXRoomRequestSongNext parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)userCpReSendWithGiftId:(NSString *)giftId userId:(NSString*)userId roomId:(NSString*)roomId successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"gift_id":giftId?:@"", @"user_id":userId?:@"", @"room_id":roomId?:@"" }; [[QXRequset shareInstance] postWithUrl:QXUserCpResend parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)userBestFriendsListWithUserId:(NSString*)userId page:(NSInteger)page successBlock:(void (^)(QXRoomBestFriendModel* model))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ @"user_id":userId?:@"", @"page":[NSNumber numberWithInteger:page] }; [[QXRequset shareInstance] postWithUrl:QXBestFriendsList parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { QXRoomBestFriendModel *model = [QXRoomBestFriendModel yy_modelWithJSON:responseObject[@"data"]]; successBlock(model); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)userBestFriendsMoreListWithUserId:(NSString*)userId relation_id:(NSString*)relation_id successBlock:(void (^)(NSArray< QXRelationshipListModel*>* model))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ @"user_id":userId?:@"", @"relation_id":relation_id?:@"" }; [[QXRequset shareInstance] postWithUrl:QXBestFriendsMoreList parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { NSArray *list = [NSArray yy_modelArrayWithClass:[QXRelationshipListModel class] json:responseObject[@"data"]]; successBlock(list); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } /** 亲密空间 */ +(void)heartBeatUserInfoWithUserId:(NSString*)userId page:(NSInteger)page successBlock:(void (^)(QXUserCpInfoModel* model))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ @"user_id":userId?:@"", @"page":[NSNumber numberWithInteger:page] }; [[QXRequset shareInstance] postWithUrl:QXHeartBeatSpace parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { QXUserCpInfoModel *model = [QXUserCpInfoModel yy_modelWithJSON:responseObject[@"data"]]; successBlock(model); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } /** 我的家族|我加入的家族 */ +(void)getMyFamilyIsJoin:(BOOL)isJoin successBlock:(void (^)(QXFamilyModel* model))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSString *urlString = isJoin?QXMyJoinFamily:QXMyFamily; [[QXRequset shareInstance] getWithUrl:urlString parameters:@{} needCache:NO success:^(id responseObject) { if (successBlock) { QXFamilyModel *model = [QXFamilyModel yy_modelWithJSON:responseObject[@"data"]]; successBlock(model); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } /** 家族收益详情 */ +(void)getFamilyEarningWithUserId:(NSString*)userId page:(NSInteger)page start_time:(NSString*)start_time end_time:(NSString*)end_time successBlock:(void (^)(NSArray* list))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ @"user_id":userId?:@"", @"page":[NSNumber numberWithInteger:page] }; [[QXRequset shareInstance] postWithUrl:QXMyFamilyEarnings parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { NSArray *list = [NSArray yy_modelArrayWithClass:[QXFamilyEarningModel class] json:responseObject[@"data"]]; successBlock(list); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } /** 签约出价价格列表 userId 当前在签约麦位的用户ID */ +(void)signCoinListWithSignId:(NSString *)signId successBlock:(void (^)(NSArray * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters =@{ @"sign_id":signId?:@"", }; [[QXRequset shareInstance] postWithUrl:QXSignCoinList parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { id object = responseObject[@"data"]; if ([object isKindOfClass:[NSArray class]]) { successBlock(object); }else{ successBlock([NSArray array]); } } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } /** 签约出价 userId 当前在签约麦位的用户ID sign_value 出价价格 sign_id 场次id */ +(void)signCoinWithSign_value:(NSString*)sign_value sign_id:(NSString*)sign_id successBlock:(void (^)(NSDictionary* dict))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ @"sign_value":sign_value?:@"", @"sign_id":sign_id?:@"" }; [[QXRequset shareInstance] postWithUrl:QXSignSignCoin parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } /** 签约开始 userId 当前在签约麦位的用户ID */ +(void)signStartWithRoomId:(NSString*)roomId userId:(NSString*)userId successBlock:(void (^)(NSDictionary* dict))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ @"room_id":roomId?:@"", @"user_id":userId?:@"" }; [[QXRequset shareInstance] postWithUrl:QXSignStartSign parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } /** 签约结束 userId 当前在签约麦位的用户ID signId 场次id */ +(void)signEndWithSignId:(NSString*)signId successBlock:(void (^)(NSDictionary* dict))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ @"sign_id":signId?:@"", }; [[QXRequset shareInstance] postWithUrl:QXSignEndSign parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } /** 签约延时 userId 当前在签约麦位的用户ID signId 场次id */ +(void)signDelayWithSignId:(NSString*)signId successBlock:(void (^)(NSDictionary* dict))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ @"sign_id":signId?:@"", }; [[QXRequset shareInstance] postWithUrl:QXSignDelaySign parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } /** 才艺列表 */ +(void)signGeyPlayListSuccessBlock:(void (^)(NSArray* list))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ [[QXRequset shareInstance] getWithUrl:QXSignPlayList parameters:@{} needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } /** 免费续约 userId 当前在签约麦位的用户ID */ +(void)signFreeResignWithUserId:(NSString*)userId successBlock:(void (^)(NSDictionary* dict))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ @"user_id":userId?:@"", }; [[QXRequset shareInstance] postWithUrl:QXSignFreeResign parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } /** 续签 userId 当前在签约麦位的用户ID */ +(void)signCoinResignWithUserId:(NSString*)userId successBlock:(void (^)(NSDictionary* dict))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ @"user_id":userId?:@"", }; [[QXRequset shareInstance] postWithUrl:QXSignCoinResign parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } /** 申请加入公会 */ +(void)joinGuildWithGuildId:(NSString*)guild_id successBlock:(void (^)(NSDictionary* dict))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters =@{ @"guild_id":guild_id?:@"", }; [[QXRequset shareInstance] postWithUrl:QXApplyJoinGuild parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { failBlock(error,msg); }]; } +(void)appKeepAliveWithRoomId:(NSString *)room_id{ [[QXRequset shareInstance] getWithUrl:QXKeepAlive parameters:@{@"room_id":room_id?:@""} needCache:NO success:^(id responseObject) { } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { }]; } @end