// // KBMyVM.h // keyBoard // // Created by Mac on 2025/12/3. // #import #import "KBCharacter.h" #import "KBMyTheme.h" @class KBUser; NS_ASSUME_NONNULL_BEGIN /// 用户人设发生变更(例如从“我的键盘”中删除)时的进程内通知。 /// userInfo: /// @"characterId" : NSNumber(NSInteger) 被删除或变更的人设 id extern NSString * const KBUserCharacterDeletedNotification; typedef void(^KBMyUserDetailCompletion)(KBUser *_Nullable user, NSError *_Nullable error); typedef void(^KBCharacterListCompletion)(NSArray *characterArray, NSError *_Nullable error); typedef void(^KBUpLoadAvatarCompletion)(BOOL success, NSError * _Nullable error); typedef void(^KBUpdateUserInfoCompletion)(BOOL success, NSError * _Nullable error); typedef void(^KBUpdateCharacterSortCompletion)(BOOL success, NSError * _Nullable error); typedef void(^KBDeleteUserCharacterCompletion)(BOOL success, NSError * _Nullable error); typedef void(^KBMyPurchasedThemesCompletion)(NSArray *_Nullable themes, NSError *_Nullable error); typedef void(^KBDeleteThemesCompletion)(BOOL success, NSError *_Nullable error); @interface KBMyVM : NSObject /// 获取当前用户详情(/user/detail) - (void)fetchUserDetailWithCompletion:(KBMyUserDetailCompletion)completion; /// 用户人设列表(/character/listByUser) - (void)fetchCharacterListByUserWithCompletion:(KBCharacterListCompletion)completion; /// 已购买主题列表(/themes/purchased) - (void)fetchPurchasedThemesWithCompletion:(KBMyPurchasedThemesCompletion)completion; /// 批量删除主题(/user-themes/batch-delete) - (void)deletePurchasedThemesWithThemeIds:(NSArray *)themeIds completion:(KBDeleteThemesCompletion)completion; /// 更新用户人设排序 - (void)updateUserCharacterSortWithSortArray:(NSArray *)sortArray completion:(KBUpdateCharacterSortCompletion)completion; /// 删除用户人设(/character/delUserCharacter) - (void)deleteUserCharacterWithId:(NSNumber *)characterId completion:(KBDeleteUserCharacterCompletion)completion; /// 上传头像 - (void)upLoadAvatarWithData:(NSData *)avatarData completion:(KBUpLoadAvatarCompletion)completion; /// 更新用户信息 -(头像、用户名、性别) - (void)updateUserInfo:(KBUser *)user completion:(KBUpdateUserInfoCompletion)completion; /// 退出登录 - (void)logout; @end NS_ASSUME_NONNULL_END