102 lines
3.7 KiB
Objective-C
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
|