BBASMPlugin.h
3.82 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
//
// BBASMPlugin.h
// SWAN
//
// Created by baidu on 2017/10/24.
// Copyright © 2018年 baidu. All rights reserved.
//
#import <BBASchemeDispatcher/BBASchemeDispatcher.h>
#import "BBASchemeDispatcher+SMRedirectPlugin.h"
#define BBASMC_PluginModule BBASM_UNCONFUSED_STR_METHOD(@"bW5wX3N3YW4=") //mnp_swan
#define BBASM_Plugin_CB_key @"cb"
@interface BBASMPlugin : BBASDPluginBase
/**
* 描 述: 根据webviewid获取小程序相关web页面,然后执行message消息的派发
* 示 例: baiduboxapp://swanAPI/postMessage?params=\$params&callback=\$callback
* 文 档: http://ft.baidu.com/#/scheme/miniprogram_postmessage
* 备 注: !!!: 10.9.5优化master&slave通信方案,前端通过通信桥直接发送object对象:
{"message":"XXXX",
"webviewid":"master"}
到客户端,本应废弃该端能力,但是发现个别小程序中的webview组件依然在使用这种方式触发message消息,故本端能力暂时保留,等待小程序发版更新写法
* @jsnative_desc:
{"name" : "postMessage",
"authority" : "swanAPI",
"path" : "/postMessage",
"args" : [{"name": "webviewid", "value": "string"},
{"name": "message", "value": "string"}],
"config" : {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"},
"jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
}
*/
- (void)postMessage:(BBASchemeDispatcher *)dispatcher;
/**
* 描 述: 小程序同步获取的页面的SlaveId
* 示 例: baiduboxapp://swanAPI/getSlaveIdSync?callback=\$callback
* 文 档: http://ft.baidu.com/#/scheme/swan_getslaveidsync
* 备 注:
* ********** description ************
* @name: getSlaveIdSync
* @authority: swanAPI
* @path: /getSlaveIdSync
* @args: []
* @config: {"swan": {"web": {"invoke": "swan.prompt"}, "jsc": {"invoke": "swan.method.json", "method": "_naSwan.bridge.getSlaveIdSync"}}}
*/
- (void)getSlaveIdSync:(BBASchemeDispatcher *)dispatcher;
/**
* 描 述: 获取城市省份信息
* 示 例: baiduboxapp://swanAPI/getRegionData?callback=_bdbox_js_353&upgrade=0&oauthType=swan
* 文 档: http://ft.baidu.com/#/scheme/swan_getregiondata
* 备 注:
* ********** description ************
* @name: getAppInfoSync
* @authority: swanAPI
* @path: /getAppInfoSync
* @args: []
* @config: {"swan": {"web": {"invoke": "swan.prompt"}, "jsc": {"invoke": "swan.method.json", "method": "_naSwan.bridge.getAppInfoSync"}}}
*/
- (void)getAppInfoSync:(BBASchemeDispatcher *)dispatcher;
/**
* 描 述: 获取城市省份信息
* 示 例: baiduboxapp://swanAPI/getRegionData?callback=_bdbox_js_353&upgrade=0&oauthType=swan
* 文 档: http://ft.baidu.com/#/scheme/swan_getregiondata
* 备 注:
* @jsnative_desc:
{"name" : "getRegionData",
"authority" : "swanAPI",
"path" : "/getRegionData",
"args" : [],
"config" : {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"},
"jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
}
*/
- (void)getRegionData:(BBASchemeDispatcher *)dispatcher;
/**
* 描 述: 小程序框架预加载swancore前端通知客户端相应webview的JS加载完成,用于统计预加载swancore耗时
* 示 例: baiduboxapp://swanAPI/onSwanJSLoaded?callback=$callback
* 文 档: http://ft.baidu.com/#/scheme/swan_onswanjsloaded
* 备 注:
* @jsnative_desc:
{"name" : "onSwanJSLoaded",
"authority" : "swanAPI",
"path" : "/onSwanJSLoaded",
"args" : [],
"config" : {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"},
"jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
}
*/
- (void)onSMJSLoaded:(BBASchemeDispatcher *)dispatcher;
#pragma mark - not API
+ (NSDictionary *)getAppInfoWithAppID:(NSString *)appID;
@end