Files
fanyin-ios/QXLive/Dynamic(语圈)/Services/QXDynamicNetwork.m
2025-08-12 14:27:12 +08:00

319 lines
12 KiB
Objective-C

//
// 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<QXDynamicModel *> * _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<QXTopicModel *> * _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<QXUserHomeModel*>*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<QXUserHomeModel *> * _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<QXDynamicModel *> * _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<QXDynamicLikeModel *> * _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<QXDynamicLikeModel *> * _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