BBASMAppJSBindingGlobalBase.h
2.21 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
//
// BBASMAppJSBindingGlobalBase.h
// SWAN
//
// Created by baidu on 2018/10/30.
// Copyright © 2018 baidu. All rights reserved.
//
#import "BBAJSBindingGlobalBase.h"
@class BBASMAppJSBindingBridge, BBASMJSEnviroment, BBASMNAViewModule;
@protocol BBASMAppJSBindingGlobalBaseExports <JSExport>
@property (nonatomic, readonly) BBASMJSEnviroment *env;
@property (nonatomic, readonly) NSString *platform;
@property (nonatomic) BBASMAppJSBindingBridge *bridge;
// naView 渲染NAview
@property (nonatomic, readonly) BBASMBaseAPIBridge *NAViewModule;
- (NSString *)getEnvVariables;
- (id)getAPIs;
- (NSDictionary *)getNACanIUseMap;
JSExportAs(include, - (void)includeScriptWithPath:(NSString *)scriptPath);
@end
/**
* 小程序JSCore内核下绑定到全局变量:_naSwan的对应OC对象
*/
@interface BBASMAppJSBindingGlobalBase : BBAJSBindingGlobalBase <BBASMAppJSBindingGlobalBaseExports>
@property (nonatomic, readonly) BBASMJSEnviroment *env;
@property (nonatomic, readonly) NSString *platform;//ios
@property (nonatomic) BBASMAppJSBindingBridge *bridge;
/// 预加载唯一的标识(一对master和slave保持一致),不向js层暴露
@property (nonatomic, strong) NSString *preloadID;
/// naView 渲染NAview, 和前端约定的名字
@property (nonatomic, strong) BBASMBaseAPIBridge *NAViewModule;
- (instancetype)initWithBasePath:(NSString *)basePath
context:(BBAJSBContext *)context
extensionPath:(NSString *)extensionPath;
- (void)loadContent;
- (void)includeScriptWithPath:(NSString *)scriptPath;
- (NSString *)getEnvVariables;
- (id)getAPIs;
/// 和前端维护的CanIUseMap进行合并,用作CanIUse能力的数据源
- (NSDictionary *)getNACanIUseMap;
#pragma mark - timeouts & inervals
- (int)setTimeout:(JSValue *)callback
withDelay:(JSValue *)delay
params:(NSArray *)params;
- (int)setInterval:(JSValue *)callback
withDelay:(JSValue *)delay
params:(NSArray *)params;
- (void)clearTimeout:(NSNumber *)timeoutID;
- (void)clearInterval:(NSNumber *)intervalID;
/**
小程序销毁时,需要主动调用该函数,用于清理内存
*/
- (void)destroy;
- (void)evaluateScript:(NSString *)script withSourceURL:(NSString *)sourceURL;
@end