BBASMNAViewAdapterProtocol.h
2.6 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
//
// BBASMNAViewAdapterProtocol.h
// BBAMNP
//
// Created by yangshuo on 2021/3/4.
//
#import <Foundation/Foundation.h>
#import "BBASMNAViewProtocol.h"
#import "BBASMBaseAPIBridge.h"
@class WKWebView;
@protocol BBASMNAViewLoadProtocol;
NS_ASSUME_NONNULL_BEGIN
@protocol BBASMNAViewAdapterProtocol <NSObject>
@optional
/// 创建NAView
+ (UIView <BBASMNAViewProtocol>*)createNAView;
/// 创建naview 通信桥
/// @param jsContext jsContext
/// @param jsThread jsThread
+ (BBASMBaseAPIBridge *)jsBindingBridgeJSContext:(BBAJSBContext *)jsContext jsThread:(NSThread *)jsThread;
/// naViewJSPat
/// @param corePath swanjs path
+ (NSString *)naViewJSPathWithCorePath:(NSString *)corePath;
/// 尝试创建NAView复用
+ (void)tryCreateNAView;
/// 移除naview的缓存
+ (void)removeNAViewCache;
/// 存入预加载未用到的renderview
/// @param webview webview
/// @param corePath corePath
/// @param appID appID
+ (void)putNoUseView:(UIView *)webview corePath:(NSString *)corePath appID:(NSString *)appID;
/// 根据小程序当前用的bbasmCorePath预下载一个slaveWebView,并存入对象池
/// @param corePath 当前用的bbasmCorePath
/// @param appID appID
/// @param extensionPath extensionPath
/// @param coreVersion coreVersion
+ (void)preLoadNextNAView:(NSString *)corePath
appID:(NSString *)appID
extensionPath:(NSString *)extensionPath
coreVersion:(NSString *)coreVersion;
/// 根据小程序当前用的bbasmCorePath从对象池里面取slaveWebView,同时会触发下一个slaveWebView的预加载
/// @param corePath 当前用的bbasmCorePath
/// @param appID appID
/// @param extensionPath extensionPath
/// @param coreVersion coreVersion
/// @param completeBlock 回调生成一个slaveWebView
+ (void)getNAViewWithCorePath:(NSString *)corePath
appID:(NSString *)appID
extensionPath:(NSString *)extensionPath
coreVersion:(NSString *)coreVersion
complete:(void(^)(UIView *naView, BOOL isUsePreload))completeBlock;
/// 预加载naview
/// @param corePath corePath
/// @param extensionPath extensionPath
/// @param coreVersion coreVersion
/// @param completeBlock 预加载回调
+ (NSObject <BBASMNAViewLoadProtocol> *)startNAViewTaskCorePath:(NSString *)corePath
extensionPath:(NSString *)extensionPath
coreVersion:(NSString *)coreVersion
completeCallBack:(void(^)(UIView <BBASMNAViewProtocol> *naView))completeBlock;
@end
NS_ASSUME_NONNULL_END