35 lines
1.1 KiB
C
35 lines
1.1 KiB
C
|
|
//
|
|||
|
|
// 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
|
|||
|
|
|