BBAJSBindingGlobalBase.h
2.3 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
90
91
92
93
94
95
96
97
98
99
100
101
102
//
// BBAJSBindingGlobalBase.h
// SWAN
//
// Created by baidu on 2018/7/29.
// Copyright © 2018 baidu. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "BBASMBaseAPIBridge.h"
#import "BBAJSBindingEventBase.h"
#import "BBAJSBindingGlobalBaseExports.h"
#import "BBAJSBindingGlobalBaseDelegate.h"
/**
* 绑定到全局变量上面的类,这里面的类会占用 JS 虚拟器的内存空间.严格禁止再增加数据结构
* 函数也尽量不要再增加了
*/
@class BBAJSConsole;
@interface BBAJSBindingGlobalBase :BBAJSBindingEventBase <BBAJSBindingGlobalBaseExports, BBAJSBindingGlobalBaseDelegate>
/**
* 绑定到全局变量上面的类,这里面的类会占用 JS 虚拟器的内存空间.严格禁止再增加数据结构
* 函数也尽量不要再增加了
*/
/**
* @brief 创建全局对象
*
* @param jsContext js执行环境
* @param eventOwner callbackOwner
* @param JSSDKVersion 前端框架版本号
* @return BBAJSBindingEventBase
*/
- (instancetype)initWithJSContext:(BBAJSBContext *)jsContext
eventOwner:(id)eventOwner
JSSDKVersion:(NSString *)JSSDKVersion;
/**
* @brief 获取UA
*
*/
@property (nonatomic, strong, readonly) NSString *userAgent;
/**
* @brief 控制台对象
*
*/
@property (nonatomic, strong, readonly) BBAJSConsole *console;
/**
* @brief 当前所处的域,包括 'main', 'openData', 'worker'
*
*/
@property (nonatomic, strong, readonly) NSString *domain;
@property (nonatomic, copy) NSString *JSSDKVersion;
/**
* @brief 获取BBAJSBindingGlobalExports协议中所有方法
*
* @return method list
*/
+ (NSArray *)globalMethodList:(Protocol *)protocolInstance;
/**
* 绑定到全局变量上面的类,这里面的类会占用 JS 虚拟器的内存空间.严格禁止再增加数据结构
* 函数也尽量不要再增加了
*/
#pragma mark - private data
/* @brief 为对应的key值设置私有数据
*
* @param data 私有数据
* @param key 私有数据key值
*/
- (void)setPrivateData:(id)data forKey:(NSString *)key;
/**
* @brief 根据key值获取私有数据
*
* @param key 私有数据key值
*/
- (id)getPrivateDataForKey:(NSString *)key;
/**
* @brief 根据key值获取私有数据
*
* @param key 私有数据key值
*/
- (void)removePrivateDataForKey:(NSString *)key;
@end