BBASMUtilAdapterProtocol.h
2.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
//
// BBASMUtilAdapterProtocol.h
// SWAN
//
// Created by baidu on 2018/10/26.
// Copyright © 2018 baidu. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "BBASMAdapterBaseImplement.h"
NS_ASSUME_NONNULL_BEGIN
@protocol BBASMUtilAdapterProtocol <NSObject>
@optional
/**
* @brief ⚠️:小程序解压接口
* 注:如果宿主不使用官方的SSZipArchive库,需实现这个接口;否则不需要实现接口
* 解压成功,bUnzip为YES;解压失败,bUnzip为NO,errorDetail为自定义解压错误
* @param souPath 被压缩文件路径,文件压缩格式:zip
* @param desPath 压缩文件路径
* @param finishedBlock 压缩完成回调
*/
+ (void)unzipFilePath:(NSString *)souPath
toDestinationPath:(NSString *)desPath
finishedBlock:(void (^)(BOOL bUnzip, NSString * _Nullable errorDetail))finishedBlock;
/**
* @brief 开源宿主可自定义图片资源路径
*
* @return 返回图片资源的路径
*/
+ (NSString * _Nullable)mnpImagePath;
/**
* @brief 打开宿主的特定页面
* @param optionsDict 调起参数,不会为空
* @param callback 一级回调
* @param secondCallback 二级回调 status值为@"0"表示成功,非@“0”为失败错误码,如@”301“为找不到对应的模块,@"302"为模块找不到对应的方法
*/
+ (void)pageTransition:(NSDictionary *)optionsDict
callback:(void (^)(BOOL success))callback
secondCallback:(void (^)(NSString *status, NSString *message, NSDictionary * _Nullable data))secondCallback;
/**
* @brief 检查打开当前宿主页面是否需要鉴权,由宿主实现决定,默认为需要鉴权
* @param optionsDict 调起参数,不会为空
* @return 是否需要鉴权
*/
+ (BOOL)shouldCheckPageTransitionAuthorize:(NSDictionary *)optionsDict;
/**
* @brief 获取宿主是否允许通过广告组件跳转到其他App,默认允许跳转
* @return 是否允许通过广告组件跳转其他App
*/
+ (BOOL)isAllowedAdOpenApp;
/**
* @brief 宿主是否允许小程序通过openApp端能力跳转到手百,默认允许
* @return 是否允许跳转到手百
*/
+ (BOOL)isAllowedOpenBaiduApp;
/**
* @brief 获取宿主当前磁盘状态等级,默认磁盘等级为 0
* 0 正常, 1 相对不足, 2 严重不足;
* @return 当前磁盘状态等级
*/
+ (NSInteger)diskUsageLevel;
/// 转换webpData到image,如果宿主引用SDWebImage/WebP了实现了sd_imageWithWebPData:会在运行时调用,否则需要宿主去实现
/// @param data webpData
+ (UIImage * _Nullable)imageWithWebPData:(NSData *)data;
/**
* @brief 获取c a i d
* @return c a i d,该id有多套算法,故为数组
*/
+ (NSArray *)getUserFeedBackLogs;
/// 根据应用scheme检查App是否安装
+ (BOOL)checkAppInstalled:(NSString *)scheme;
@end
NS_ASSUME_NONNULL_END