Files
keyboard/keyBoard/Class/Home/VM/KBHomeVM.h

57 lines
1.9 KiB
C
Raw Normal View History

2025-12-03 18:19:51 +08:00
//
// KBHomeVM.h
// keyBoard
//
// Created by Mac on 2025/12/3.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@class KBCharacter;
2025-12-03 19:00:55 +08:00
@class KBTag;
2025-12-03 18:19:51 +08:00
/// 首页排行榜回调
typedef void(^KBHomeRankCompletion)(NSArray<KBCharacter *> * _Nullable list,
NSError * _Nullable error);
2025-12-03 19:00:55 +08:00
/// 首页标签回调
typedef void(^KBHomeTagCompletion)(NSArray<KBTag *> * _Nullable list,
NSError * _Nullable error);
2025-12-03 18:19:51 +08:00
@interface KBHomeVM : NSObject
/// 最近一次成功请求到的排行榜数据
@property (nonatomic, copy, readonly, nullable) NSArray<KBCharacter *> *rankList;
2025-12-03 19:00:55 +08:00
/// 最近一次成功请求到的标签数据
@property (nonatomic, copy, readonly, nullable) NSArray<KBTag *> *tagList;
2025-12-03 18:19:51 +08:00
/// 请求排行榜列表GET /character/list
/// - Parameters:
/// - params: 额外查询参数(可为空),例如分页、筛选 tag 等;
/// - needShow: 是否在请求期间显示加载 HUD
/// - completion: 回调list 为解析后的模型数组error 非空表示失败。
- (void)fetchRankListWithParams:(nullable NSDictionary *)params
needShow:(BOOL)needShow
completion:(KBHomeRankCompletion)completion;
2025-12-03 19:19:20 +08:00
/// 根据 tagId 获取角色列表GET /character/listByTag
- (void)fetchRankListByTagId:(nullable NSString *)tagId
needShow:(BOOL)needShow
completion:(KBHomeRankCompletion)completion;
2025-12-03 19:00:55 +08:00
/// 请求排行榜标签列表GET /tag/list
/// - Parameters:
/// - params: 额外查询参数(可为空);
/// - needShow: 是否在请求期间显示加载 HUD
/// - completion: 回调list 为解析后的标签数组error 非空表示失败。
- (void)fetchTagListWithParams:(nullable NSDictionary *)params
needShow:(BOOL)needShow
completion:(KBHomeTagCompletion)completion;
2025-12-03 18:19:51 +08:00
@end
NS_ASSUME_NONNULL_END