BaseRequest.h
2.11 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
//
// BaseRequest.h
// IM_ios_client
//
// Created by 顾俊生 on 16/1/4.
// Copyright © 2016年 xiniu. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface BaseRequest : NSObject
@property(retain) NSMutableDictionary *fields;
- (instancetype)init;
// API接口名称
@property(retain) NSString *method;
// API接口名称
@property(retain) NSString *identityId;
/**
* @brief 业务类别
*/
@property(nonatomic,retain) NSString* apiTenantId;
// locale
@property(nonatomic,retain) NSString *locale;
// 分配给用户的SessionKey,通过登陆授权获取。某个API是否需要传入session参数,需参考此API的API用户授权类型
@property(nonatomic,retain) NSString *session;
// 时间戳
@property(nonatomic,retain) NSString *timestamp;
// 可选,指定响应格式。默认xml,目前支持格式为xml,json
@property(nonatomic,retain) NSString *format;
// API分配给应用的AppKey
@property(nonatomic,retain) NSString *app_key;
// API协议版本,可选值:1.0。
@property(nonatomic,retain) NSString *v;
// API输入参数签名结果
@property(nonatomic,retain) NSString *sign;
// 参数的加密方法选择,可选值是:md5,sha1。
@property(nonatomic,retain) NSString *sign_method;
// app_secret
@property(nonatomic,retain) NSString *secret;
// 生成URL
-(NSString *)createUrl;
// MD5 32位加密
-(NSString *)md5_32:(NSString *)str bool_isUpper:(BOOL)bool_isUpper;
// 排序生成签名
-(NSString *)createSign;
#pragma mark - 共同的设置Request元素的方法
/*
itemObj:元素值
itemKey:元素的值在元素所属Domain的字典中对应的Key
selfFields:元素所属Domain的字典
selfKey:元素所属Domain的字典在WKBaseDomain中的Key
*/
-(void)setItemObj:(id)itemObj itemKey:(id<NSCopying>)itemKey selfFields:(NSMutableDictionary *)selfFields selfKey:(id<NSCopying>)selfKey;
#pragma mark - 根据Domain的字典在WKBaseDomain中的Key获得Domain的字典
-(NSMutableDictionary *)getDomainDicByKey:(NSString *)domainKey;
#pragma mark - 判读字典中是否存在某个key
-(BOOL)keyExistInDictionary:(NSMutableDictionary *)dic key:(NSString *)key;
@end