BBASMPlugin+authorize.h
7.12 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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
//
// BBASMPlugin+authorize.h
// SWAN
//
// Created by baidu on 05/12/2017.
// Copyright © 2017 baidu. All rights reserved.
//
#import "BBASMPlugin.h"
#define SWANAuthorizationModule @"mnp_authorize"
/**
* 小程序,授权相关
*
*/
@interface BBASMPlugin (authorize)
#pragma mark - JS API
/**
* 描 述: 换取authorize code
* 示 例: baiduboxapp://swanAPI/login?params={"cb":"_bdbox_pjs_465"}&callback=_bdbox_js_470&upgrade=0&oauthType=swan
* 文 档: http://ft.baidu.com/#/scheme/swan_login
* 备 注: 实际上不支持搜索框架,只是小程序框架;
* ********** description ************
* @name: login
* @authority: swanAPI
* @path: /login
* @args: [{"name": "cb", "value": "string"}, {"name": "timeout", "value": "string="}, {"name": "__plugin__", "value": "string="}, {"name": "force", "value": "boolean="}, {"name": "invokeFrom", "value": "string="}]
* @config: {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "webdegrade": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
*/
- (void)login:(BBASchemeDispatcher *)dispatcher;
/**
* 描 述: 校验authorize code 绑定状态
* 示 例: baiduboxapp://swanAPI/checkSession?params={"cb":"_bdbox_pjs_579"}&callback=_bdbox_js_579&upgrade=0&oauthType=swan
* 文 档: http://ft.baidu.com/#/scheme/swan_checksession
* 备 注: 实际上不支持搜索框架,只是小程序框架;
* ********** description ************
* @name: checkSession
* @authority: swanAPI
* @path: /checkSession
* @args: [{"name": "cb", "value": "string"}]
* @config: {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "webdegrade": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
*/
- (void)checkSession:(BBASchemeDispatcher *)dispatcher;
/**
* 描 述: 用户授权协议
* 示 例: baiduboxapp://swanAPI/authorize?params={"scope":"snsapi_userinfo","cb":"_bdbox_pjs_580"}&callback=_bdbox_js_586&upgrade=0&oauthType=swan
* 文 档: http://ft.baidu.com/#/scheme/swan_authorize
* 备 注: 实际上不支持搜索框架,只是小程序框架;如果用户已经同意。直接返回该scope;如果用户没有同意。返回scope 为空;如果用户没有选择,则会弹出授权菜单
* ********** description ************
* @name: authorize
* @authority: swanAPI
* @path: /authorize
* @args: [{"name": "scope", "value": "string"}, {"name": "cb", "value": "string"}]
* @config: {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "webdegrade": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
*/
- (void)authorize:(BBASchemeDispatcher *)dispatcher;
/**
* 描 述: 获取用户信息
* 示 例: baiduboxapp://swanAPI/getUserInfo?params={"cb":"_bdbox_pjs_578"}&callback=_bdbox_js_596&upgrade=0&oauthType=swan
* 文 档: http://ft.baidu.com/#/scheme/swan_getuserinfo
* 备 注: 实际上不支持搜索框架,只是小程序框架
* ********** description ************
* @name: getUserInfo
* @authority: swanAPI
* @path: /getUserInfo
* @args: [{"name": "cb", "value": "string"}, {"name": "invokeFrom", "value": "string="}, {"name": "__plugin__", "value": "string="}]
* @config: {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "webdegrade": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
*/
- (void)getUserInfo:(BBASchemeDispatcher *)dispatcher;
/**
* 描 述: 获取电话号码
* 示 例: baiduboxapp://swanAPI/getPhoneNumber?params={"cb":"_bdbox_pjs_578"}&callback=_bdbox_js_596&upgrade=0&oauthType=swan
* 文 档: http://ft.baidu.com/#/scheme/swan_getphonenumber
* 备 注: 实际上不支持搜索框架,只是小程序框架
* ********** description ************
* @name: getPhoneNumber
* @authority: swanAPI
* @path: /getPhoneNumber
* @args: [{"name": "cb", "value": "string"},{"name": "invokeFrom", "value": "string="},{"name": "from", "value": "string="}]
* @config: {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "webdegrade": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
*/
- (void)getPhoneNumber:(BBASchemeDispatcher *)dispatcher;
/**
* 描 述: 获取授权配置
* 示 例: baiduboxapp://swanAPI/getSetting?params={"cb":"_bdbox_pjs_575"}&callback=_bdbox_js_608&upgrade=0&oauthType=swan
* 文 档: http://ft.baidu.com/#/scheme/swan_getsetting
* 备 注: 实际上不支持搜索框架,只是小程序框架
* ********** description ************
* @name: getSetting
* @authority: swanAPI
* @path: /getSetting
* @args: [{"name": "cb", "value": "string"}]
* @config: {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
*/
- (void)getSetting:(BBASchemeDispatcher *)dispatcher;
/**
* 描 述: 获取swanId
* 示 例: baiduboxapp://swanAPI/getSwanId?params=%7B%22cb%22%3A%22_bdbox_pjs_264%22%7D&callback=_bdbox_js_294&upgrade=0&oauthType=swan
* 文 档: http://ft.baidu.com/#/scheme/swan_getswanid
* 备 注:
* ********** description ************
* @name: getSwanId
* @authority: swanAPI
* @path: /getSwanId
* @args: [{"name": "cb", "value": "string"}]
* @config: {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.json", "method": "_naSwan.bridge.settingBridge.getSMId"}}}
*/
- (void)getSMId:(BBASchemeDispatcher *)dispatcher;
/**
* 描 述: 百度百信小程序中需要获取用户实名信息,用以校验用户身份
* 示 例: baiduboxapp://swanAPI/getRealNameInfo?params={“cb":"_bdbox_pjs_820”}&callback=_bdbox_js_804&upgrade=0
* 文 档: http://ft.baidu.com/#/scheme/swan_getrealnameinfo
* 备 注:
* ********** description ************
* @name: baidu.getRealNameInfo
* @authority: swanAPI
* @path: /getRealNameInfo
* @args: [{"name": "cb", "value": "string"}, {"name": "invokeFrom", "value": "string="}]
* @config: {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge", "extension" : "boxjs"}, "webdegrade": {"invoke": "swan.message.url", "handler": "bridge", "extension" : "boxjs"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage", "extension" : "boxjs"}}}
*/
- (void)getRealNameInfo:(BBASchemeDispatcher *)dispatcher;
#pragma mark - not API
/**
* @brief 获取SWID
* @param appId appId
* @param params 调起参数
* @param isBinding 是否binding
* @param completion 回调block
* @return NSdictionary 端能力调用结果
*/
+ (NSDictionary *)executeGetSWIDWithAppId:(NSString *)appId
params:(NSDictionary *)params
isBinding:(BOOL)isBinding
completion:(void (^)(NSDictionary *data))completion;
@end