BBASMPlugin+Lifecycle.h
5.05 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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
//
// BBASMPlugin+Lifecycle.h
// SWAN
//
// Created by baidu on 2017/11/24.
// Copyright © 2017年 baidu. All rights reserved.
//
#import "BBASMPlugin.h"
#import "BBASMPreDownloadPkgModel.h"
@interface BBASMPlugin (Lifecycle)
/**
* 描 述: 打开小程序
* 示 例: baiduboxapp://swan/hZPrR8cXXYgGHX2eGYOASkdmRyPkKcyT_dev15300/pages/video/video/?_baiduboxapp=%7B%22from%22%3A%22%22%2C%22ext%22%3A%7B%7D%7D&h5_url=v_19rrb5p8mw.html%3Fvfm%3D2008_aldbd&vfm=2008_aldbd&callback=_bdbox_js_959&upgrade=0
* 文 档: http://es.baidu-int.com/#/apidetail/734
* 备 注:
* @jsnative_desc:
{"name": "swan.open",
"authority": "swan",
"args": [
{"name": "appKey","value": "string"},
{"name": "path","value": "string="},
{"name": "query","value": "Object="},
{
"name": "_baiduboxapp",
"value": {
"type": {
"notinhis":"string=",
"srcAppPage":"string=",
"srcAppId":"string=",
"extraData":"Object=",
"ubc":"Object=",
"navi":"string=",
"ext":"Object=",
"from":"string=",
"backwardURL":"string="
}
}
},
{"name": "third_ext","value": "string="},
{"name": "abtest","value": "string="},
{"name": "oauthType", "value": "string="},
{"name": "_swaninfo","value": "string="},
{"name": "downloadUrl","value": "string="},
{"name": "udid","value": "string="},
{"name": "host","value": "string="},
{"name": "cb","value": "string="},
{"name": "port","value": "string="}],
"config" : {"basic" : {"web": {"invoke": "iframe.openSwan"}}}
}
*/
- (void)parse:(BBASchemeDispatcher *)dispatcher;
/**
* 描 述: 调起小程序
* 示 例: baiduboxapp://swanAPI/launch?params={"appid":"TZzPY8qVvX97uzIH4L2SnY0g","url":"pages/detail/detail?carid=39170627&yichenggou=1&seriesid=269&cityid=201","clkid":"xxxxxxxx"}&from=1201004510074000&slog={"type":"h5","from":"feed","source":"car","page":"youxin","nid":"carService","ext":{"subtag":"youxin"}}
* 文 档: http://ft.baidu.com/#/scheme/swan_launch
* 备 注:
* @jsnative_desc:
{"name" : "webView.launch",
"authority" : "swanAPI",
"path" : "/launch",
"args" : [{"name": "appid", "value": "string"},
{"name": "url", "value": "string="},
{"name": "cb", "value": "string="},
{"name": "navi", "value": "string="},
{"name": "from", "value": "string="},
{"name": "extraData", "value": "string|Object="}],
"config" : {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"},
"jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
}
*/
- (void)launch:(BBASchemeDispatcher *)dispatcher;
/**
* 描 述: 预下载小程序、小游戏的代码包
* 示 例: baiduboxapp://swanAPI/downloadPackages?params={"appKeys":["TZzPY8qVvX97uzIH4L2SnY0g","TZzPY8qVvX97uzIH4L2SnY0g"],"appType":"swangame","netconf":"0"}}
* 文 档: http://ft.baidu.com/#/scheme/swan_downloadpackages
* 备 注:
* @jsnative_desc:
{"name" : "downloadPackages",
"authority" : "swanAPI",
"path" : "/downloadPackages",
"args" : [ {"name": "pageList", "value": {"arrayOf": "Object="}},
{"name": "appKeys", "value": {"arrayOf": "string="}},
{"name": "appType", "value": "string="},
{"name": "netconf", "value": "string="}],
"config" : {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"},
"jsc": {"invoke": "swan.method.json", "method": "_naSwan.bridge.prefetchBridge.downloadPackages"}}}
}
*/
- (void)downloadPackages:(BBASchemeDispatcher *)dispatcher;
/**
* 描 述: 预取小程序数据
* 示 例: baiduboxapp://swanAPI/prefetchAppData?params={"appKey":"TZzPY8qVvX97uzIH4L2SnY0g","state":"show","schema":"baiduboxapp://swanAPI/launch?params={"appid":"TZzPY8qVvX97uzIH4L2SnY0g"}}
* 文 档: http://es.baidu-int.com/#/apidetail/824
* 备 注:
* @jsnative_desc:
{"name" : "prefetchAppData",
"authority" : "swanAPI",
"path" : "/prefetchAppData",
"args" : [{"name": "appKey", "value": "string"},
{"name": "schema", "value": "string"},
{"name": "scene", "value": "string"},
{"name": "state", "value": "string"},
{"name": "netconf", "value": "string="}],
"config" : {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"},
"jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
}
*/
- (void)prefetchAppData:(BBASchemeDispatcher *)dispatcher;
/// 下载app包
/// @param appID 对应appID
/// @param paramDict 对应参数
+ (NSDictionary *)downloadPackages:(NSString *)appID
params:(NSDictionary *)paramDict;
/// 预加载app包
/// @param appID 对应appID
/// @param paramDict 对应参数
+ (NSDictionary *)preloadPackage:(NSString *)appID
params:(NSDictionary *)paramDict;
/// 获取预加载和预下载api控制策略配置
/// @param appID 对应appID
/// @param type api类型
+ (BBASMAPIControlConfig *)preAPIConfigWithAppID:(NSString *)appID
controlType:(BBASMControlType)type;
@end