BBASMAuthorizeAdapterProtocol.h
6.45 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
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
//
// BBASMAuthorizeAdapterProtocol.h
// SWAN
//
// Created by baidu on 2018/11/7.
// Copyright © 2018 baidu. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "BBASMAdapterBaseImplement.h"
NS_ASSUME_NONNULL_BEGIN
extern NSString *const kBBASMUpdateServiceAppID;
extern NSString *const kBBASMUpdateServiceUpdateLastVersion;
extern NSString *const kBBASMUpdateServiceAuthorizeNode;
extern NSString *const kBBASMUpdateServicePayInfoNode;
#pragma mark 授权返回相关常量字段
/// 授权返回数据 字段data
extern NSString *const kBBASMUpdateServiceRequestDataKey;
/// 授权返回数据 字段permit
extern NSString *const kBBASMUpdateServiceRequestDataPermitKey;
/// 授权返回数据 字段forbidden
extern NSString *const kBBASMUpdateServiceRequestDataForbiddenKey;
/// 授权返回数据 字符串true
extern NSString * const kBBASMUpdateServiceRequestDataValueTrue;
/// 授权返回数据 字符串false
extern NSString * const kBBASMUpdateServiceRequestDataValueFalse;
/// 授权返回数据 字段tipstatus
extern NSString * const kBBASMUpdateServiceRequestDataTipStatus;
/// 授权返回数据 字段name
extern NSString * const kBBASMUpdateServiceRequestDataName;
/// 授权返回数据 字段shortname
extern NSString * const kBBASMUpdateServiceRequestDataShortName;
typedef NS_ENUM(NSUInteger, BBASMAuthorizeOperatorType) {
BBASMAuthorizeOperatorTypeQuery,
BBASMAuthorizeOperatorTypeAdd,
BBASMAuthorizeOperatorTypeDelete
};
/**
* 请求类型
*/
typedef NS_ENUM(NSUInteger, BBASMAuthorizeRequestType) {
BBASMAuthorizeLoginRequestType = 1000, // 只做用户登录(拿code)
BBASMAuthorizeAuthorizeAndDataRequestType, // 授权写入并且拿数据
BBASMAuthorizeAuthorizeOnlyRequestType // 只做授权写入
};
@protocol BBASMAuthorizeInfoAdapterProtocol;
@protocol BBASMAppIdentifyInfoAdapterProtocol;
/**
获取请求的url、header、cookie 和post的数据
*/
@protocol BBASMAuthorizeAdapterProtocol <NSObject>
@optional
/**
* @brief 获取swanid请求参数
*
* @param info 小程序appId信息
* @return 请求参数
* @example
* @{
* @"url":[NSString],请求地址,不能为空
* @"params":[NSDictionary],请求参数,不能为空
* @"error":[NSError],存储请求参数发生错误时的错误信息,若请求参数正确,该值为nil,若请求参数错误,需要存储错误信息,同时请求参数可以为空,不会发起请求
* }
*/
+ (NSDictionary *)smidRequestInfo:(id<BBASMAppIdentifyInfoAdapterProtocol>)info;
/**
* @brief 获取checksessionkey请求信息
*
* @param info 小程序appId信息
* @return 请求参数
* @example
* @{
* @"url":[NSString],请求地址,不能为空
* @"params":[NSDictionary],请求参数,不能为空
* @"headers":[NSMutableDictionary],请求参数,不能为空
* @"error":[NSError],存储请求参数发生错误时的错误信息,若请求参数正确,该值为nil,若请求参数错误,需要存储错误信息,同时请求参数可以为空,不会发起请求
* }
*/
+ (NSDictionary *)checkSessionKeyRequestInfo:(id<BBASMAppIdentifyInfoAdapterProtocol>)info;
/**
* @brief update请求信息
*
* @param info 小程序appId信息
* @param isForce 是否强制拉取数据
* @return 请求参数
* @example
* @{
* @"url":[NSString],请求地址,不能为空
* @"params":[NSDictionary],请求参数,不能为空
* @"error":[NSError],存储请求参数发生错误时的错误信息,若请求参数正确,该值为nil,若请求参数错误,需要存储错误信息,同时请求参数可以为空,不会发起请求
* }
*/
+ (NSDictionary *)updateRequestInfo:(id<BBASMAppIdentifyInfoAdapterProtocol>)info
force:(BOOL)isForce;
/**
* @brief 根据appid 重置授权信息
*
* @param infos 小程序appId信息列表
* @return 请求参数
* @example
* @{
* @"url":[NSString],请求地址,不能为空
* @"params":[NSDictionary],请求参数,不能为空
* @"error":[NSError],存储请求参数发生错误时的错误信息,若请求参数正确,该值为nil,若请求参数错误,需要存储错误信息,同时请求参数可以为空,不会发起请求
* }
*/
+ (NSDictionary *)resetAuthorizeRequestInfo:(NSArray<id<BBASMAppIdentifyInfoAdapterProtocol>> *)infos;
/**
* @brief 获取open/data请求信息
*
* @param info 小程序appId和scope信息
* @param actionType 为"1"时,用户拒绝点击按钮也将弹授权框--小游戏获取用户信息参数为1,其它调用ationType=nil
* @return 请求参数
* @example
* @{
* @"url":[NSString],请求地址,不能为空
* @"params":[NSDictionary],请求参数,不能为空
* @"error":[NSError],存储请求参数发生错误时的错误信息,若请求参数正确,该值为nil,若请求参数错误,需要存储错误信息,同时请求参数可以为空,不会发起请求
* }
*/
+ (NSDictionary *)openDataRequestInfo:(id<BBASMAuthorizeInfoAdapterProtocol>)info
actionType:(NSString *)actionType;
/**
* @brief 获取用户登录换取code、授权且拿数据、只授权请求信息
*
* @param info scope信息
* @param requestType BBASMAuthorizeRequestType
* @param opType BBASMAuthorizeOperatorType
* @param complete 回调请求参数
* @example
* @{
* @"url":[NSString],请求地址,不能为空
* @"params":[NSDictionary],请求参数,不能为空
* @"error":[NSError],存储请求参数发生错误时的错误信息,若请求参数正确,该值为nil,若请求参数错误,需要存储错误信息,同时请求参数可以为空,不会发起请求
* }
*/
+ (void)modifyScopeReuestInfo:(id<BBASMAuthorizeInfoAdapterProtocol>)info
requestType:(BBASMAuthorizeRequestType)requestType
operatorType:(BBASMAuthorizeOperatorType)opType
complete:(void(^)(NSDictionary *paramDic))complete;
/**
* @brief 获取 stoken 参数,百度系宿主必须实现,其它宿主不需要实现
* @param successBlock 成功回调
* @param failureBlock 失败回调
*/
+ (void)getStokenSuccess:(void (^)(NSString *stoken))successBlock
failure:(void (^)(NSError *error))failureBlock;
/**
* @brief 客户端时间和服务器请求时间差值
* @return 百度系宿主必须实现,开源宿主可不实现或返回0(默认为0)
*/
+ (NSInteger)updateDelta;
@end
NS_ASSUME_NONNULL_END