3
This commit is contained in:
34
keyBoard/Class/Manager/KBSkinService.h
Normal file
34
keyBoard/Class/Manager/KBSkinService.h
Normal file
@@ -0,0 +1,34 @@
|
||||
//
|
||||
// KBSkinService.h
|
||||
// keyBoard
|
||||
//
|
||||
// 统一的键盘皮肤下载/应用服务。
|
||||
// - App 端调用,一处封装本地图标导出 / 网络图标下载 / 背景图下载逻辑
|
||||
// - 内部会检查键盘是否开启完全访问,并在不足时给出提示或引导
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
typedef void(^KBSkinApplyCompletion)(BOOL success);
|
||||
|
||||
/// 皮肤下载与应用服务(仅主 App 使用)
|
||||
@interface KBSkinService : NSObject
|
||||
|
||||
+ (instancetype)shared;
|
||||
|
||||
/// 根据后端返回的皮肤 JSON 下载并应用皮肤。
|
||||
///
|
||||
/// @param skinJSON 与后端约定的皮肤结构(包含 id/name/background_image/hidden_keys/key_icons 等)
|
||||
/// @param presenting 用于弹出“键盘权限引导页”的控制器,可为 nil
|
||||
/// @param completion 应用完成回调(下载/写入全部结束后调用,success 表示是否成功)
|
||||
- (void)applySkinWithJSON:(NSDictionary *)skinJSON
|
||||
fromViewController:(nullable UIViewController *)presenting
|
||||
completion:(nullable KBSkinApplyCompletion)completion;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
||||
Reference in New Issue
Block a user