Files
keyboard/keyBoard/Class/Shop/VM/KBShopVM.h

62 lines
2.2 KiB
C
Raw Normal View History

2025-12-11 13:16:06 +08:00
//
// KBShopVM.h
// keyBoard
//
// Created by Mac on 2025/12/9.
//
#import <Foundation/Foundation.h>
#import <CoreGraphics/CoreGraphics.h>
#import "KBShopStyleModel.h"
#import "KBShopThemeModel.h"
2025-12-11 15:19:23 +08:00
#import "KBShopThemeDetailModel.h"
2025-12-11 13:16:06 +08:00
NS_ASSUME_NONNULL_BEGIN
#pragma mark - Models
typedef void(^KBShopStylesCompletion)(NSArray<KBShopStyleModel *> *_Nullable styles,
NSError *_Nullable error);
typedef void(^KBShopThemesCompletion)(NSArray<KBShopThemeModel *> *_Nullable themes,
NSError *_Nullable error);
2025-12-11 17:51:00 +08:00
typedef void(^KBShopBalanceCompletion)(NSString *_Nullable balance,
2025-12-11 14:03:13 +08:00
NSError *_Nullable error);
2025-12-11 15:19:23 +08:00
typedef void(^KBShopDetailCompletion)(KBShopThemeDetailModel *_Nullable detail,
2025-12-11 15:00:58 +08:00
NSError *_Nullable error);
2025-12-11 16:39:22 +08:00
typedef void(^KBShopPurchaseCompletion)(BOOL success,
NSError *_Nullable error);
typedef void(^KBShopDownloadInfoCompletion)(NSDictionary *_Nullable info,
NSError *_Nullable error);
2025-12-11 13:16:06 +08:00
@interface KBShopVM : NSObject
@property (nonatomic, copy, readonly, nullable) NSArray<KBShopStyleModel *> *styles;
/// 查询全部主题风格
- (void)fetchAllStylesWithCompletion:(KBShopStylesCompletion)completion;
/// 按风格请求主题列表
- (void)fetchThemesForStyleId:(nullable NSString *)styleId
completion:(KBShopThemesCompletion)completion;
2025-12-11 14:03:13 +08:00
/// 查询钱包余额
- (void)fetchWalletBalanceWithCompletion:(KBShopBalanceCompletion)completion;
2025-12-11 15:00:58 +08:00
/// 查询主题详情
- (void)fetchThemeDetailWithId:(nullable NSString *)themeId
completion:(KBShopDetailCompletion)completion;
2025-12-11 16:39:22 +08:00
/// 购买主题
- (void)purchaseThemeWithId:(nullable NSString *)themeId
completion:(KBShopPurchaseCompletion)completion;
/// 获取主题下载信息
- (void)fetchThemeDownloadInfoWithId:(nullable NSString *)themeId
completion:(KBShopDownloadInfoCompletion)completion;
2025-12-11 17:51:00 +08:00
/// 推荐主题列表(用于皮肤详情页底部网格)
- (void)fetchRecommendedThemesWithCompletion:(KBShopThemesCompletion)completion;
2025-12-11 13:16:06 +08:00
@end
NS_ASSUME_NONNULL_END