增加换肤功能

This commit is contained in:
启星
2025-08-14 10:07:49 +08:00
parent f6964c1e89
commit 4f9318d98e
8789 changed files with 978530 additions and 2 deletions

View File

@@ -0,0 +1,153 @@
//
// QXDynamicNetwork.h
// QXLive
//
// Created by 启星 on 2025/5/30.
//
#import <Foundation/Foundation.h>
#import "QXDynamicModel.h"
#import "QXUserModel.h"
NS_ASSUME_NONNULL_BEGIN
@interface QXDynamicNetwork : NSObject
/**
发布动态
images用,隔开
*/
+(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;
/**
动态列表
*/
+(void)getDynamicListWithPage:(NSInteger)page
successBlock:(void (^)(NSArray<QXDynamicModel*>*hotos))successBlock
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
/**
话题列表
*/
+(void)getTopicListWithPage:(NSInteger)page
isTopTopic:(BOOL)isTopTopic
successBlock:(void (^)(NSArray<QXTopicModel*>*hotos))successBlock
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
/**
扩列列表
*/
+(void)expansionListWithPage:(NSInteger)page
type:(NSString*)type
successBlock:(void (^)(NSArray<QXUserHomeModel*>*list,BOOL isAppStore))successBlock
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
/**
动态打赏
is_pack 1金币购买2背包礼物
*/
+(void)dynamicGiveGiftWithId:(NSString*)Id
gift_id:(NSString*)gift_id
num:(NSString*)num
is_pack:(NSString*)is_pack
successBlock:(void (^)(NSDictionary* dict))successBlock
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
/**
动态打赏列表
*/
+(void)dynamicGiveGiftListWithId:(NSString*)Id
successBlock:(void (^)(NSArray<QXUserHomeModel*>* list))successBlock
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
/**
动态点赞
*/
+(void)likeDynamicWithId:(NSString*)Id
isLike:(BOOL)isLike
successBlock:(void (^)(NSDictionary* dict))successBlock
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
/**
删除动态
*/
+(void)deleteDynamicWithId:(NSString*)Id
successBlock:(void (^)(NSDictionary* dict))successBlock
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
/**
话题动态
*/
+(void)topicDynamicListWithTopic_id:(NSString*)topic_id
page:(NSInteger)page
successBlock:(void (^)(NSArray<QXDynamicModel*>*list))successBlock
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
/**
动态详情
*/
+(void)dynamicPageWithId:(NSString*)Id
successBlock:(void (^)(QXDynamicModel*model))successBlock
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
/**
评论列表
*/
+(void)commentListWithId:(NSString*)Id
page:(NSInteger)page
successBlock:(void (^)(QXDynamicCommentModel* model))successBlock
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
/**
点赞列表
*/
+(void)likeListWithId:(NSString*)Id
page:(NSInteger)page
successBlock:(void (^)(NSArray<QXDynamicLikeModel*>* list))successBlock
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
/**
评论动态/回复评论
*/
+(void)commentDynamicWithId:(NSString*)Id
pid:(NSString*)pid
reply_to:(NSString*)reply_to
content:(NSString*)content
successBlock:(void (^)(NSDictionary* dict))successBlock
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
/**
删除评论
*/
+(void)deleteCommentWithCommentId:(NSString*)Id
successBlock:(void (^)(NSDictionary* dict))successBlock
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
/**
互关用户列表
*/
+(void)mutualRelationshipWithPage:(NSInteger)page
successBlock:(void (^)(NSArray<QXDynamicLikeModel*>*hotos))successBlock
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
/**
关注
type 1 用户 2房间
*/
+(void)followWithUserId:(NSString*)userId
type:(NSString*)type
successBlock:(void (^)(NSDictionary* dict))successBlock
failBlock:(void (^)(NSError * error, NSString * msg))failBlock;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,318 @@
//
// 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