This commit is contained in:
2025-11-18 20:53:47 +08:00
parent 254e65906a
commit 3dcc4932c3
109 changed files with 1432 additions and 84 deletions

View 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