
主要变更: 1. 移除 UITableView,改为使用 EPMomentListView 以简化数据展示和交互。 2. 添加顶部固定文案 UILabel,提升用户体验。 3. 通过 EPMomentAPIHelper 统一管理 Moments 列表 API 请求,优化数据加载逻辑。 4. 更新 UI 约束,确保布局适配不同屏幕。 此重构旨在提升代码可维护性和用户界面的一致性。
270 lines
13 KiB
Objective-C
270 lines
13 KiB
Objective-C
//
|
|
// Api+Monents.m
|
|
// YUMI
|
|
//
|
|
// Created by YUMI on 2022/5/13.
|
|
//
|
|
|
|
#import "Api+Moments.h"
|
|
#import "NSObject+MJExtension.h"
|
|
#import "NSMutableDictionary+Saft.h"
|
|
#import <Base64/MF_Base64Additions.h>
|
|
@implementation Api (Moments)
|
|
|
|
/// 朋友圈动态推荐列表
|
|
/// @param completion 完成
|
|
/// @param page 当前的页数
|
|
/// @param pageSize 一页的个数
|
|
/// @param types 类型 0,2
|
|
+ (void)momentsRecommendList:(HttpRequestHelperCompletion)completion page:(NSString *)page pageSize:(NSString *)pageSize types:(NSString *)types {
|
|
[self makeRequest:@"dynamic/square/recommendDynamics" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, page, pageSize, types, nil];
|
|
}
|
|
|
|
/// 朋友圈动态最新列表
|
|
/// @param completion 完成
|
|
/// @param dynamicId 最新动态的id
|
|
/// @param pageSize 一页的个数
|
|
/// @param types 类型 0,2
|
|
+ (void)momentsLatestList:(HttpRequestHelperCompletion)completion dynamicId:(NSString *)dynamicId pageSize:(NSString *)pageSize types:(NSString *)types {
|
|
[self makeRequest:@"dynamic/square/latestDynamics" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, dynamicId, pageSize, types, nil];
|
|
}
|
|
|
|
/// 朋友圈动态关注列表
|
|
/// @param completion 完成
|
|
/// @param dynamicId 最新动态的id
|
|
/// @param pageSize 一页的个数
|
|
/// @param types 类型 0,2
|
|
+ (void)momentsFollowerList:(HttpRequestHelperCompletion)completion dynamicId:(NSString *)dynamicId pageSize:(NSString *)pageSize types:(NSString *)types {
|
|
NSString * fang = [NSString stringFromBase64String:@"ZHluYW1pYy9zcXVhcmUvZm9sbG93ZXJEeW5hbWljcw=="];///dynamic/square/followerDynamics
|
|
[self makeRequest:fang method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, dynamicId, pageSize, types, nil];
|
|
}
|
|
|
|
/// 互动消息列表
|
|
/// @param completion 完成
|
|
/// @param dynamicId 动态的id
|
|
/// @param pageSize 一页的个数
|
|
/// @param uid 类型 uid
|
|
+ (void)momentsInteractiveList:(HttpRequestHelperCompletion)completion dynamicId:(NSString *)dynamicId pageSize:(NSString *)pageSize uid:(NSString *)uid {
|
|
NSString * fang = [NSString stringFromBase64String:@"aW50ZXJhY3RpdmUvbGlzdA=="];///interactive/list
|
|
NSMutableDictionary * dic = [NSMutableDictionary dictionary];
|
|
[dic safeSetObject:dynamicId forKey:@"id"];
|
|
[dic safeSetObject:pageSize forKey:@"pageSize"];
|
|
[dic safeSetObject:uid forKey:@"uid"];
|
|
[HttpRequestHelper request:fang method:HttpRequestHelperMethodPOST params:dic completion:completion];
|
|
}
|
|
|
|
/// 清空互动消息
|
|
/// @param completion 完成
|
|
/// @param uid 用户的uid
|
|
+ (void)momentsInteractiveClear:(HttpRequestHelperCompletion)completion uid:(NSString *)uid {
|
|
NSString * fang = [NSString stringFromBase64String:@"aW50ZXJhY3RpdmUvY2xlYXI="];///interactive/clear
|
|
[self makeRequest:fang method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__, uid, nil];
|
|
}
|
|
|
|
/// 获取话题列表
|
|
/// @param completion 完成
|
|
/// @param uid uid
|
|
/// @param page 当前的页数
|
|
/// @param pageSize 一页多少个
|
|
/// @param worldTypeId 类型0
|
|
+ (void)momentsTopicList:(HttpRequestHelperCompletion)completion uid:(NSString *)uid page:(NSString *)page pageSize:(NSString *)pageSize worldTypeId:(NSString *)worldTypeId {
|
|
NSString * fang = [NSString stringFromBase64String:@"d29ybGQvbGlzdA=="];///world/list
|
|
[self makeRequest:fang method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__, uid, page, pageSize, worldTypeId, nil];
|
|
}
|
|
|
|
/// 分享动态
|
|
/// @param completion 完成
|
|
/// @param dynamicId 动态的id
|
|
/// @param uid 动态发布者的uid
|
|
/// @param worldId 动态的话题id
|
|
/// @param shareUid 分享者的uid
|
|
+ (void)userShareMoments:(HttpRequestHelperCompletion)completion dynamicId:(NSString *)dynamicId uid:(NSString *)uid worldId:(NSString *)worldId shareUid:(NSString *)shareUid {
|
|
NSString * fang = [NSString stringFromBase64String:@"ZHluYW1pYy9zaGFyZQ=="];///dynamic/share
|
|
[self makeRequest:fang method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__, dynamicId, uid, worldId, shareUid, nil];
|
|
}
|
|
|
|
/// 点赞动态
|
|
/// @param completion 完成
|
|
/// @param dynamicId 动态的id
|
|
/// @param uid 用户的uid
|
|
/// @param status 0 取消点赞 1 点赞
|
|
/// @param likedUid 点赞人的uid
|
|
/// @param worldId 世界的id
|
|
+ (void)momentsLike:(HttpRequestHelperCompletion)completion dynamicId:(NSString *)dynamicId uid:(NSString *)uid status:(NSString *)status likedUid:(NSString *)likedUid worldId:(NSString *)worldId {
|
|
NSString * fang = [NSString stringFromBase64String:@"ZHluYW1pYy9saWtl"];///dynamic/like
|
|
[self makeRequest:fang method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__, dynamicId, uid, status, likedUid, worldId, nil];
|
|
}
|
|
|
|
/// 动态详情
|
|
/// @param completion 完成
|
|
/// @param dynamicId 动态的id
|
|
/// @param worldId 话题的id
|
|
/// @param uid 用户的uid
|
|
+ (void)momentsDetail:(HttpRequestHelperCompletion)completion dynamicId:(NSString *)dynamicId worldId:(NSString *)worldId uid:(NSString *)uid {
|
|
NSString * fang = [NSString stringFromBase64String:@"ZHluYW1pYy9kZXRhaWw="];///dynamic/detail
|
|
[self makeRequest:fang method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__, dynamicId, worldId, uid, nil];
|
|
}
|
|
|
|
/// 评论动态
|
|
/// @param completion 完成
|
|
/// @param uid 用户的uid
|
|
/// @param dynamicId 动态的id
|
|
/// @param content 内容
|
|
+ (void)momentDetailCommon:(HttpRequestHelperCompletion)completion uid:(NSString *)uid dynamicId:(NSString *)dynamicId content:(NSString *)content {
|
|
NSString * fang = [NSString stringFromBase64String:@"ZHluYW1pYy9jb21tZW50L3B1Ymxpc2g="];///dynamic/comment/publish
|
|
[self makeRequest:fang method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__, uid, dynamicId, content, nil];
|
|
}
|
|
|
|
/// 回复评论
|
|
/// @param completion 完成
|
|
/// @param uid 用户的uid
|
|
/// @param dynamicId 动态的id
|
|
/// @param content 内容
|
|
/// @param commentId 评论的id
|
|
+ (void)replyMomentsDetailCommon:(HttpRequestHelperCompletion)completion uid:(NSString *)uid dynamicId:(NSString *)dynamicId content:(NSString *)content commentId:(NSString *)commentId {
|
|
NSString * fang = [NSString stringFromBase64String:@"ZHluYW1pYy9jb21tZW50L3JlcGx5"];///dynamic/comment/reply
|
|
[self makeRequest:fang method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__, uid, dynamicId, content, commentId, nil];
|
|
}
|
|
|
|
|
|
/// 请求评论列表
|
|
/// @param completion 完成
|
|
/// @param dynamicId 动态id
|
|
/// @param uid uid
|
|
/// @param pageSize 一页多少个
|
|
/// @param timestamp 上一个评论的时间戳
|
|
+ (void)momentsCommentList:(HttpRequestHelperCompletion)completion dynamicId:(NSString *)dynamicId uid:(NSString *)uid pageSize:(NSString *)pageSize timestamp:(NSString *)timestamp {
|
|
NSString * fang = [NSString stringFromBase64String:@"ZHluYW1pYy9jb21tZW50L2xpc3Q="];///dynamic/comment/list
|
|
NSMutableDictionary * dic = [NSMutableDictionary dictionary];
|
|
[dic safeSetObject:dynamicId forKey:@"dynamicId"];
|
|
[dic safeSetObject:uid forKey:@"uid"];
|
|
[dic safeSetObject:pageSize forKey:@"pageSize"];
|
|
if (timestamp.length > 0) {
|
|
[dic safeSetObject:timestamp forKey:@"timestamp"];
|
|
}
|
|
[HttpRequestHelper request:fang method:HttpRequestHelperMethodGET params:dic completion:completion];
|
|
}
|
|
|
|
/// 评论回复列表
|
|
/// @param completion 完成
|
|
/// @param dynamicId 动态id
|
|
/// @param uid uid
|
|
/// @param pageSize 每页多少个
|
|
/// @param commentId 评论的id
|
|
/// @param timestamp 上条回复的时间
|
|
+ (void)momentsCommentReplyList:(HttpRequestHelperCompletion)completion dynamicId:(NSString *)dynamicId uid:(NSString *)uid pageSize:(NSString *)pageSize commentId:(NSString *)commentId timestamp:(NSString *)timestamp {
|
|
NSString * fang = [NSString stringFromBase64String:@"ZHluYW1pYy9jb21tZW50L3JlcGx5L2xpc3Q="];///dynamic/comment/reply/list
|
|
[self makeRequest:fang method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__, dynamicId, uid, pageSize, commentId, timestamp, nil];
|
|
}
|
|
|
|
|
|
/// 获取可以选择的话题列表
|
|
/// @param completion 完成
|
|
/// @param uid 用户的uid
|
|
/// @param type 类型
|
|
/// @param page 当前的页数
|
|
+ (void)momentsTopicList:(HttpRequestHelperCompletion)completion uid:(NSString *)uid type:(NSString *)type page:(NSString *)page {
|
|
NSString * fang = [NSString stringFromBase64String:@"ZHluYW1pYy9zcXVhcmUvd29ybGQ="];///dynamic/square/world
|
|
[self makeRequest:fang method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, uid, type, page, nil];
|
|
}
|
|
|
|
|
|
/// 发布动态
|
|
/// @param completion 完成
|
|
/// @param uid uid
|
|
/// @param type 类型
|
|
/// @param worldId 话题的id
|
|
/// @param content 内容
|
|
/// @param resList 发布的图片
|
|
+ (void)momentsPublish:(HttpRequestHelperCompletion)completion uid:(NSString *)uid type:(NSString *)type worldId:(NSString *)worldId content:(NSString *)content resList:(NSArray *)resList {
|
|
NSString * fang = [NSString stringFromBase64String:@"ZHluYW1pYy9zcXVhcmUvcHVibGlzaA=="];///dynamic/square/publish
|
|
NSMutableDictionary * dic = [NSMutableDictionary dictionary];
|
|
[dic safeSetObject:uid forKey:@"uid"];
|
|
[dic safeSetObject:type forKey:@"type"];
|
|
|
|
[dic safeSetObject:content.length > 0 ? content : @"" forKey:@"content"];
|
|
if (worldId.length > 0) {
|
|
[dic safeSetObject:worldId forKey:@"worldId"];
|
|
}
|
|
if (resList.count > 0) {
|
|
[dic safeSetObject:resList forKey:@"resList"];
|
|
}
|
|
|
|
[HttpRequestHelper postSkillCard:fang params:dic.toJSONString completion:completion];
|
|
}
|
|
|
|
|
|
/// 获取动态话题最新记录
|
|
/// @param completion 完成
|
|
/// @param uid 用户的uid
|
|
/// @param dynamicId 下一页动态的id
|
|
/// @param types l类型
|
|
/// @param worldId 话题的id
|
|
/// @param pageSize 一页多少个
|
|
+ (void)momentsTopicLatestList:(HttpRequestHelperCompletion)completion uid:(NSString *)uid dynamicId:(NSString *)dynamicId types:(NSString *)types worldId:(NSString *)worldId pageSize:(NSString *)pageSize {
|
|
NSMutableDictionary * dic = [NSMutableDictionary dictionary];
|
|
[dic safeSetObject:uid forKey:@"uid"];
|
|
[dic safeSetObject:types forKey:@"types"];
|
|
[dic safeSetObject:worldId forKey:@"worldId"];
|
|
[dic safeSetObject:pageSize forKey:@"pageSize"];
|
|
if (dynamicId.length > 0) {
|
|
[dic safeSetObject:dynamicId forKey:@"dynamicId"];
|
|
}
|
|
NSString * fang = [NSString stringFromBase64String:@"ZHluYW1pYy9sYXRlc3RMaXN0"];///dynamic/latestList
|
|
[HttpRequestHelper request:fang method:HttpRequestHelperMethodPOST params:dic completion:completion];
|
|
}
|
|
|
|
/// 获取动态话题推荐记录
|
|
/// @param completion 完成
|
|
/// @param uid 用户的uid
|
|
/// @param dynamicId 下一页动态的id
|
|
/// @param types l类型
|
|
/// @param worldId 话题的id
|
|
/// @param pageSize 一页多少个
|
|
+ (void)momentsTopicRecommendList:(HttpRequestHelperCompletion)completion uid:(NSString *)uid dynamicId:(NSString *)dynamicId types:(NSString *)types worldId:(NSString *)worldId pageSize:(NSString *)pageSize {
|
|
NSMutableDictionary * dic = [NSMutableDictionary dictionary];
|
|
[dic safeSetObject:uid forKey:@"uid"];
|
|
[dic safeSetObject:types forKey:@"types"];
|
|
[dic safeSetObject:worldId forKey:@"worldId"];
|
|
[dic safeSetObject:pageSize forKey:@"pageSize"];
|
|
if (dynamicId.length > 0) {
|
|
[dic safeSetObject:dynamicId forKey:@"dynamicId"];
|
|
}
|
|
NSString * fang = [NSString stringFromBase64String:@"ZHluYW1pYy9saXN0VjI="];///dynamic/listV2
|
|
[HttpRequestHelper request:fang method:HttpRequestHelperMethodPOST params:dic completion:completion];
|
|
}
|
|
|
|
/// 获取动态话题详情
|
|
/// @param completion 完成
|
|
/// @param worldId 话题id
|
|
/// @param uid 用户uid
|
|
+ (void)momentsTopicDetailInfo:(HttpRequestHelperCompletion)completion worldId:(NSString *)worldId uid:(NSString *)uid{
|
|
NSString * fang = [NSString stringFromBase64String:@"d29ybGQvZGV0YWls"];///world/detail
|
|
[self makeRequest:fang method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__,worldId, uid, nil];
|
|
}
|
|
|
|
/// 删除动态
|
|
/// @param completion 完成
|
|
/// @param uid uid
|
|
/// @param dynamicId 动态的id
|
|
/// @param worldId 话题的id
|
|
+ (void)momentsDelete:(HttpRequestHelperCompletion)completion uid:(NSString *)uid dynamicId:(NSString *)dynamicId worldId:(NSString *)worldId {
|
|
NSString * fang = [NSString stringFromBase64String:@"ZHluYW1pYy9kZWxldGU="];///dynamic/delete
|
|
[self makeRequest:fang method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__, uid, dynamicId, worldId, nil];
|
|
}
|
|
|
|
/// 获取动态没有阅读数
|
|
/// @param completion 完成
|
|
/// @param uid uid
|
|
+ (void)momentsUnReadCount:(HttpRequestHelperCompletion)completion uid:(NSString *)uid {
|
|
NSString * fang = [NSString stringFromBase64String:@"aW50ZXJhY3RpdmUvdW5yZWFkQ291bnQ="];///interactive/unreadCount
|
|
[self makeRequest:fang method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__, uid, nil];
|
|
}
|
|
/// 屏蔽
|
|
/// @param completion 完成
|
|
/// @param type type为0 => 屏蔽动态, objId 为 动态id, type为1 => 屏蔽房间, objId 为 用户uid
|
|
+ (void)requestShielding:(HttpRequestHelperCompletion)completion type:(NSString *)type objId:(NSString *)objId{
|
|
[self makeRequest:[NSString stringWithFormat:@"%@%@%@",@"user/",@"black/",@"add"] method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__, type,objId, nil];
|
|
}
|
|
@end
|