Files
peko-ios/YuMi/Modules/YMNewHome/Presenter/CreateEventPresenter.m

111 lines
3.6 KiB
Objective-C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
// CreateEventPresenter.m
// YuMi
//
// Created by P on 2025/5/9.
//
#import "CreateEventPresenter.h"
#import "Api+EventCenter.h"
@interface CreateEventPresenter()
@end
@implementation CreateEventPresenter
// Maybe 用一个方法 + 枚举指来指代一个功能类型的 api call
- (void)loadEventSquare:(NSInteger)page {
[Api usereventSquare:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
if ([[self getView] respondsToSelector:@selector(eventSquareListSuccess:)]) {
[[self getView] eventSquareListSuccess:[EventItemModel modelsWithArray:data.data]];
}
} fail:^(NSInteger code, NSString * _Nullable msg) {
if ([[self getView] respondsToSelector:@selector(eventSquareListFailure:)]) {
[[self getView] eventSquareListFailure:msg];
}
} showLoading:YES errorToast:YES] page:@(page) pageSize:@20];
}
- (void)loadMyCreateEvents:(NSInteger)page {
[Api usereventMySquare:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
if ([[self getView] respondsToSelector:@selector(eventSquareListSuccess:)]) {
[[self getView] myCreateEventListSuccess:@[]];
}
} fail:^(NSInteger code, NSString * _Nullable msg) {
if ([[self getView] respondsToSelector:@selector(eventSquareListFailure:)]) {
[[self getView] myCreateEventListFailure:msg];
}
} showLoading:YES errorToast:YES]
page:@(page)
pageSize:@20
uid:[AccountInfoStorage instance].getUid];
}
- (void)loadMySubEvents:(NSInteger)page {
[Api usereventMySub:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
if ([[self getView] respondsToSelector:@selector(eventSquareListSuccess:)]) {
[[self getView] mySubEventListSuccess:@[]];
}
} fail:^(NSInteger code, NSString * _Nullable msg) {
if ([[self getView] respondsToSelector:@selector(eventSquareListFailure:)]) {
[[self getView] myCreateEventListFailure:msg];
}
} showLoading:YES errorToast:YES]
page:@(page)
pageSize:@20
uid:[AccountInfoStorage instance].getUid];
}
- (void)createEventWithTitle:(NSString *)title
image:(UIImage *)image
uploadToHome:(BOOL)uploadToHome
roomId:(NSString *)roomId
startTime:(NSDate *)startTime
duration:(NSInteger)duration
content:(NSString *)content
notifyFans:(BOOL)notifyFans {
// 输入验证
if (title.length == 0) {
// [[self getView] showError:@"请输入活动标题"];
return;
}
if (!image) {
// [[self getView] showError:@"请选择活动横幅图片"];
return;
}
if (roomId.length == 0) {
// [[self getView] showError:@"请选择房间"];
return;
}
if (!startTime) {
// [[self getView] showError:@"请选择开始时间"];
return;
}
if (duration <= 0) {
// [[self getView] showError:@"请选择活动时长"];
return;
}
if (content.length == 0) {
// [[self getView] showError:@"请输入活动内容"];
return;
}
// TODO: 调用网络接口创建活动
// 1. 上传图片
// 2. 创建活动
// 3. 如果uploadToHome为YES将横幅上传到主页
// 模拟网络请求成功
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
// [[self getView] showCreateSuccess];
});
}
@end