1
This commit is contained in:
@@ -42,28 +42,39 @@ NSErrorDomain const KBNetworkErrorDomain = @"com.company.keyboard.network";
|
|||||||
if (self = [super init]) {
|
if (self = [super init]) {
|
||||||
_enabled = NO; // 键盘扩展默认无网络能力,需外部显式开启
|
_enabled = NO; // 键盘扩展默认无网络能力,需外部显式开启
|
||||||
_timeout = 10.0;
|
_timeout = 10.0;
|
||||||
// 默认请求头:Accept 任意类型 + 使用项目多语言管理器设置 Accept-Language
|
|
||||||
NSString *lang = [KBLocalizationManager shared].currentLanguageCode ?: KBLanguageCodeEnglish;
|
NSString *lang = [KBLocalizationManager shared].currentLanguageCode ?: KBLanguageCodeEnglish;
|
||||||
NSString *token = [KBUserSessionManager shared].accessToken ? [KBUserSessionManager shared].accessToken : @"";
|
NSString *token = [KBUserSessionManager shared].accessToken ? [KBUserSessionManager shared].accessToken : @"";
|
||||||
|
|
||||||
|
// 如果还有 query 参数也塞进来
|
||||||
|
// signParams[@"lang"] = @"zh";
|
||||||
|
|
||||||
|
|
||||||
|
// 2. 计算签名
|
||||||
|
_defaultHeaders = @{
|
||||||
|
@"Accept": @"*/*",
|
||||||
|
@"Accept-Language": lang,
|
||||||
|
@"auth-token" : token,
|
||||||
|
};
|
||||||
|
// 设置基础域名,路径可相对该地址拼接
|
||||||
|
_baseURL = [NSURL URLWithString:KB_BASE_URL];
|
||||||
|
}
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)getSignWithParare:(NSDictionary *)bodyParams{
|
||||||
|
if (bodyParams == nil) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
NSString *appId = @"loveKeyboard";
|
NSString *appId = @"loveKeyboard";
|
||||||
NSString *secret = @"kZJM39HYvhxwbJkG1fmquQRVkQiLAh2H"; // 和服务端保持一致
|
NSString *secret = @"kZJM39HYvhxwbJkG1fmquQRVkQiLAh2H"; // 和服务端保持一致
|
||||||
NSString *timestamp = [KBSignUtils currentTimestamp];
|
NSString *timestamp = [KBSignUtils currentTimestamp];
|
||||||
NSString *nonce = [KBSignUtils generateNonceWithLength:16];
|
NSString *nonce = [KBSignUtils generateNonceWithLength:16];
|
||||||
|
|
||||||
// 业务参数(body 或 query)
|
|
||||||
NSDictionary *bodyParams = @{
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
// 1. 组装参与签名的所有参数
|
// 1. 组装参与签名的所有参数
|
||||||
NSMutableDictionary<NSString *, NSString *> *signParams = [NSMutableDictionary dictionary];
|
NSMutableDictionary<NSString *, NSString *> *signParams = [NSMutableDictionary dictionary];
|
||||||
signParams[@"appId"] = appId;
|
signParams[@"appId"] = appId;
|
||||||
signParams[@"timestamp"] = timestamp;
|
signParams[@"timestamp"] = timestamp;
|
||||||
signParams[@"nonce"] = nonce;
|
signParams[@"nonce"] = nonce;
|
||||||
|
|
||||||
// 如果还有 query 参数也塞进来
|
|
||||||
// signParams[@"lang"] = @"zh";
|
|
||||||
|
|
||||||
// 把 body 里的字段也加入签名参数
|
// 把 body 里的字段也加入签名参数
|
||||||
[bodyParams enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
|
[bodyParams enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
|
||||||
if ([obj isKindOfClass:[NSString class]]) {
|
if ([obj isKindOfClass:[NSString class]]) {
|
||||||
@@ -72,23 +83,8 @@ NSErrorDomain const KBNetworkErrorDomain = @"com.company.keyboard.network";
|
|||||||
signParams[key] = [obj description];
|
signParams[key] = [obj description];
|
||||||
}
|
}
|
||||||
}];
|
}];
|
||||||
|
|
||||||
// 2. 计算签名
|
|
||||||
NSString *sign = [KBSignUtils signWithParams:signParams secret:secret];
|
NSString *sign = [KBSignUtils signWithParams:signParams secret:secret];
|
||||||
_defaultHeaders = @{
|
|
||||||
@"Accept": @"*/*",
|
|
||||||
@"Accept-Language": lang,
|
|
||||||
@"auth-token" : token,
|
|
||||||
@"X-Sign" : sign,
|
|
||||||
@"X-Timestamp" : timestamp,
|
|
||||||
@"X-Nonce" : nonce,
|
|
||||||
@"X-App-Id" : appId
|
|
||||||
|
|
||||||
};
|
|
||||||
// 设置基础域名,路径可相对该地址拼接
|
|
||||||
_baseURL = [NSURL URLWithString:KB_BASE_URL];
|
|
||||||
}
|
|
||||||
return self;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
|
|||||||
Reference in New Issue
Block a user