Files
peko-ios/YuMi/Modules/YMMine/Presenter/MedalsPresenter.m

102 lines
3.7 KiB
Objective-C

//
// MedalsPresenter.m
// YuMi
//
// Created by P on 2025/6/17.
//
#import "MedalsPresenter.h"
#import "Api+Medals.h"
@implementation MedalsPresenter
- (NSInteger)pageSize {
return 8;
}
- (NSInteger)rankListSize {
return 2;
}
- (void)userMedals:(NSInteger)uid page:(NSInteger)page type:(NSInteger)type {
@kWeakify(self);
[Api medalMine:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
@kStrongify(self);
if ([[self getView] respondsToSelector:@selector(userMedalsSuccess:)]) {
UserMedalsModel *m = [UserMedalsModel modelWithJSON:data.data];
[[self getView] userMedalsSuccess:m];
}
} fail:^(NSInteger code, NSString * _Nullable msg) {
@kStrongify(self);
if ([[self getView] respondsToSelector:@selector(userMedalsFailure)]) {
[[self getView] userMedalsFailure];
}
} showLoading:YES errorToast:YES]
pageNo:@(page) pageSize:@([self pageSize]) uid:@(uid) type:@(type)];
}
- (void)squareMedals:(NSInteger)page type:(NSInteger)type {
@kWeakify(self);
[Api medalSquare:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
@kStrongify(self);
if ([[self getView] respondsToSelector:@selector(squareMedalsSuccess:)]) {
NSArray *m = [MedalSeriesVo modelsWithArray:data.data];
[[self getView] squareMedalsSuccess:m];
}
} fail:^(NSInteger code, NSString * _Nullable msg) {
@kStrongify(self);
if ([[self getView] respondsToSelector:@selector(squareMedalsFailure)]) {
[[self getView] squareMedalsFailure];
}
} showLoading:YES errorToast:YES]
pageNo:@(page) pageSize:@([self pageSize]) type:@(type)];
}
- (void)mineAllMedals:(NSInteger)page {
@kWeakify(self);
[Api medalMineAll:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
@kStrongify(self);
if ([[self getView] respondsToSelector:@selector(mineAllMedalsSuccess:)]) {
MineAllMedalModel *m = [MineAllMedalModel modelWithJSON:data.data];
[[self getView] mineAllMedalsSuccess:m];
}
} fail:^(NSInteger code, NSString * _Nullable msg) {
@kStrongify(self);
if ([[self getView] respondsToSelector:@selector(mineAllMedalsFailure)]) {
[[self getView] mineAllMedalsFailure];
}
} showLoading:YES errorToast:YES] pageNo:@(page) pageSize:@([self pageSize])];
}
- (void)updateMedalUseStatus:(NSString *)medalId
isUse:(BOOL)isUse {
@kWeakify(self);
[Api medalUseMedal:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
@kStrongify(self);
if ([[self getView] respondsToSelector:@selector(useMedalSuccess)]) {
[[self getView] useMedalSuccess];
}
} fail:^(NSInteger code, NSString * _Nullable msg) {
@kStrongify(self);
if ([[self getView] respondsToSelector:@selector(userMedalsFailure)]) {
[[self getView] userMedalsFailure];
}
} showLoading:YES errorToast:YES] id:medalId useStatus:@(isUse == YES ? 1 : 0)];
}
- (void)rankList:(NSInteger)page {
@kWeakify(self);
[Api medalRank:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
@kStrongify(self);
if ([[self getView] respondsToSelector:@selector(rankListSuccess:)]) {
[[self getView] rankListSuccess:[MedalsRankModel modelWithJSON:data.data]];
}
} fail:^(NSInteger code, NSString * _Nullable msg) {
if ([[self getView] respondsToSelector:@selector(rankListFailure)]) {
[[self getView] rankListFailure];
}
} showLoading:YES errorToast:YES] pageNo:@(page) pageSize:@([self rankListSize])];
}
@end