// // QXDynamicNetwork.m // QXLive // // Created by 启星 on 2025/5/30. // #import "QXDynamicNetwork.h" @implementation QXDynamicNetwork +(void)publishDynamicWithImages:(NSString*)images content:(NSString*)content topic_id:(NSString*)topic_id ip:(NSString*)ip successBlock:(void (^)(NSDictionary* dict))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSMutableDictionary *parameters = [NSMutableDictionary dictionary]; if (images.length > 0) { [parameters setObject:images forKey:@"images"]; } [parameters setObject:content forKey:@"content"]; if (topic_id.length > 0) { [parameters setObject:topic_id forKey:@"topic_id"]; } if (ip.length > 0) { [parameters setObject:ip forKey:@"ip"]; } [[QXRequset shareInstance] postWithUrl:QXDynamicPublish parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { if (failBlock) { failBlock(error,msg); } }]; } +(void)getDynamicListWithPage:(NSInteger)page successBlock:(void (^)(NSArray * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters = @{ @"page":[NSNumber numberWithInteger:page] }; [[QXRequset shareInstance] postWithUrl:QXDynamicList 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) { if (failBlock) { failBlock(error,msg); } }]; } +(void)getTopicListWithPage:(NSInteger)page isTopTopic:(BOOL)isTopTopic successBlock:(void (^)(NSArray * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters = @{ @"page":[NSNumber numberWithInteger:page] }; NSString *url = QXTopicList; if (isTopTopic) { url = QXTopTopic; } [[QXRequset shareInstance] postWithUrl:url parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { NSArray *list = [NSArray yy_modelArrayWithClass:[QXTopicModel class] json:responseObject[@"data"]]; successBlock(list); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { if (failBlock) { failBlock(error,msg); } }]; } +(void)expansionListWithPage:(NSInteger)page type:(NSString*)type successBlock:(void (^)(NSArray*list,BOOL isAppStore))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters = @{ @"page":[NSNumber numberWithInteger:page], @"type":type }; [[QXRequset shareInstance] postWithUrl:QXExpandList parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { NSArray *list = [NSArray yy_modelArrayWithClass:[QXUserHomeModel class] json:responseObject[@"data"]]; BOOL isAppStroe = [responseObject[@"api_version"] boolValue]; successBlock(list,isAppStroe); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { if (failBlock) { failBlock(error,msg); } }]; } +(void)dynamicGiveGiftWithId:(NSString *)Id gift_id:(NSString*)gift_id num:(NSString*)num is_pack:(NSString*)is_pack successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters = @{ @"id":Id, @"gift_id":gift_id, @"num":num, @"is_pack":is_pack }; [[QXRequset shareInstance] postWithUrl:QXDynamicGive parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { if (failBlock) { failBlock(error,msg); } }]; } +(void)dynamicGiveGiftListWithId:(NSString *)Id successBlock:(void (^)(NSArray * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters = @{ @"id":Id, }; [[QXRequset shareInstance] postWithUrl:QXDynamicGiveList parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { NSArray *list = [NSArray yy_modelArrayWithClass:[QXUserHomeModel class] json:responseObject[@"data"]]; successBlock(list); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { if (failBlock) { failBlock(error,msg); } }]; } +(void)likeDynamicWithId:(NSString*)Id isLike:(BOOL)isLike successBlock:(void (^)(NSDictionary* dict))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters = @{ @"id":Id }; [[QXRequset shareInstance] postWithUrl:QXDynamicLike parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { if (failBlock) { failBlock(error,msg); } }]; } +(void)deleteDynamicWithId:(NSString *)Id successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters = @{ @"id":Id }; [[QXRequset shareInstance] postWithUrl:QXDynamicDelete parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { if (failBlock) { failBlock(error,msg); } }]; } +(void)topicDynamicListWithTopic_id:(NSString *)topic_id page:(NSInteger)page successBlock:(void (^)(NSArray * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters = @{ @"page":[NSNumber numberWithInteger:page], @"topic_id":topic_id }; [[QXRequset shareInstance] postWithUrl:QXDynamicTopicPage 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) { if (failBlock) { failBlock(error,msg); } }]; } +(void)dynamicPageWithId:(NSString *)Id successBlock:(void (^)(QXDynamicModel * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters = @{ @"id":Id }; [[QXRequset shareInstance] postWithUrl:QXDynamicDetail parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { QXDynamicModel *model = [QXDynamicModel yy_modelWithJSON:responseObject[@"data"]]; successBlock(model); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { if (failBlock) { failBlock(error,msg); } }]; } +(void)commentListWithId:(NSString *)Id page:(NSInteger)page successBlock:(void (^)(QXDynamicCommentModel* model))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters = @{ @"page":[NSNumber numberWithInteger:page], @"id":Id }; [[QXRequset shareInstance] postWithUrl:QXDynamicCommentList parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { QXDynamicCommentModel *model = [QXDynamicCommentModel yy_modelWithJSON:responseObject[@"data"]]; successBlock(model); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { if (failBlock) { failBlock(error,msg); } }]; } +(void)likeListWithId:(NSString *)Id page:(NSInteger)page successBlock:(void (^)(NSArray * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters = @{ @"page":[NSNumber numberWithInteger:page], @"id":Id }; [[QXRequset shareInstance] postWithUrl:QXDynamicLikeList parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { NSArray *list = [NSArray yy_modelArrayWithClass:[QXDynamicLikeModel class] json:responseObject[@"data"]]; successBlock(list); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { if (failBlock) { failBlock(error,msg); } }]; } +(void)commentDynamicWithId:(NSString *)Id pid:(NSString*)pid reply_to:(NSString*)reply_to content:(NSString*)content successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters = @{ @"pid":pid, @"id":Id, @"reply_to":reply_to, @"content":content }; [[QXRequset shareInstance] postWithUrl:QXDynamicComment parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { if (failBlock) { failBlock(error,msg); } }]; } +(void)deleteCommentWithCommentId:(NSString *)Id successBlock:(void (^)(NSDictionary * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters = @{ @"id":Id, }; [[QXRequset shareInstance] postWithUrl:QXDynamicDeleteComment parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { if (failBlock) { failBlock(error,msg); } }]; } +(void)mutualRelationshipWithPage:(NSInteger)page successBlock:(void (^)(NSArray * _Nonnull))successBlock failBlock:(void (^)(NSError * _Nonnull, NSString * _Nonnull))failBlock{ NSDictionary *parameters = @{ @"page":[NSNumber numberWithInteger:page] }; [[QXRequset shareInstance] postWithUrl:QXDynamicMutualRelationship parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { NSArray *list = [NSArray yy_modelArrayWithClass:[QXDynamicLikeModel class] json:responseObject[@"data"]]; successBlock(list); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { if (failBlock) { failBlock(error,msg); } }]; } +(void)followWithUserId:(NSString*)userId type:(NSString*)type successBlock:(void (^)(NSDictionary* dict))successBlock failBlock:(void (^)(NSError * error, NSString * msg))failBlock{ NSDictionary *parameters = @{ @"user_id":userId, @"type":type }; [[QXRequset shareInstance] postWithUrl:QXUserFollow parameters:parameters needCache:NO success:^(id responseObject) { if (successBlock) { successBlock(responseObject[@"data"]); } } fail:^(NSError *error, NSString *msg, NSURLSessionDataTask *task) { if (failBlock) { failBlock(error,msg); } }]; } @end