萤石云 iOSSDK,移植跨平台相关工程
JLChen
2021-03-05 60bb4ce8d3ef0f8a324c6844cc990405de5d2e0f
Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Global/EZHttpUtil.m
@@ -11,6 +11,7 @@
#import <CommonCrypto/CommonDigest.h>
#import "AFNetworking.h"
#define TestRequestHttpsHost @"https://test-gz.hdlcontrol.com"
#pragma mark API
#define API_POST_EZ_AddDevice @"/home-wisdom/platform/childAddDevice"
#define API_POST_EZ_GetChildToken @"/home-wisdom/platform/childToken"
@@ -23,20 +24,29 @@
#define SECRET_KEY @"WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss"
#define TIME_OUT 15.0f
@implementation EZHttpUtil
#pragma mark -接口请求部分
/// sharedManager
+ (id)sharedManager {
    static dispatch_once_t once;
    static id instance;
    dispatch_once(&once, ^{
        instance = [self new];
    });
    return instance;
}
/**
 *  @since 河东获取子账号token的接口
 *
 *  @param block 回调block
 */
+ (void)getChildToken:(void (^)(NSString *accessToken))block{
- (void)getChildToken:(void (^)(NSString *accessToken))block{
    
    //2.设置请求参数
    NSMutableDictionary *parameters = [NSMutableDictionary dictionary];
@@ -63,9 +73,8 @@
 *  @param verifyCode   设备验证码
 *  @param completion   回调block,error为空时表示添加成功
 *
 *  @return operation
 */
+ (void)addDeviceByHDL:(NSString *)deviceSerial
- (void)addDeviceByHDL:(NSString *)deviceSerial
                              verifyCode:(NSString *)verifyCode
                              completion:(void (^)(ResponseData *responseData))completion{
@@ -91,9 +100,8 @@
 *  @param deviceSerial 设备序列号
 *  @param completion   回调block,error为空时表示添加成功
 *
 *  @return operation
 */
+ (void)deleteDeviceByHDL:(NSString *)deviceSerial completion:(void (^)(ResponseData *responseData))completion{
- (void)deleteDeviceByHDL:(NSString *)deviceSerial completion:(void (^)(ResponseData *responseData))completion{
    //1.设置请求参数
    NSMutableDictionary *parameters = [NSMutableDictionary dictionary];
    [parameters setValue:deviceSerial forKey:@"deviceSerial"];
@@ -112,7 +120,7 @@
/// 刷新token
/// @param block 结果
+ (void)refreshHDLToken:(void (^)(BOOL isSuccess))block{
- (void)refreshHDLToken:(void (^)(BOOL isSuccess))block{
    //1.设置请求参数
    NSMutableDictionary *parameters = [NSMutableDictionary dictionary];
@@ -149,7 +157,7 @@
/// @param apiPath 接口地址
/// @param parameters 请求参数
/// @param completion 请求响应参数
+ (void)requestHttpsPost:(NSString *)apiPath
- (void)requestHttpsPost:(NSString *)apiPath
                                parameters:(NSMutableDictionary *)parameters
              completion:(void (^)(ResponseData *responseData))completion{
    
@@ -177,14 +185,14 @@
/// @param apiPath 接口地址
/// @param parameters 请求参数
/// @param completion 请求响应参数
+ (void)requestHttpsBase:(NSString *)apiPath
- (void)requestHttpsBase:(NSString *)apiPath
                                parameters:(NSMutableDictionary *)parameters
                                completion:(void (^)(ResponseData *responseData))completion{
    
    //1,创建你得请求url
    NSString *URL = @"";
    if([GlobalKit shareKit].GlobalRequestHttpsHost == NULL){
        URL = @"https://test-gz.hdlcontrol.com";
    NSString *URL = [GlobalKit shareKit].GlobalRequestHttpsHost;
    if([self stringIsNullOrEmpty:URL]){
        URL = TestRequestHttpsHost;
    }
    URL = [NSString stringWithFormat:@"%@%@", URL, apiPath];
    
@@ -195,7 +203,7 @@
      
    //3.request
    NSMutableURLRequest * request = [[AFJSONRequestSerializer serializer] requestWithMethod:@"post" URLString:URL parameters:parameters error:nil];
    request.timeoutInterval = 10.0f;
    request.timeoutInterval = TIME_OUT;
    [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
    [request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
    [request setValue:GlobalKit.shareKit.hdlAccessToken forHTTPHeaderField:@"Authorization"];
@@ -224,7 +232,7 @@
/**
 *  基础服务的接口都要校验sign
 */
+(NSMutableDictionary *)GetSignRequestDictionary:(NSMutableDictionary *)params{
-(NSMutableDictionary *)GetSignRequestDictionary:(NSMutableDictionary *)params{
    if(params == NULL){
        params =[NSMutableDictionary dictionary];
    }
@@ -251,7 +259,7 @@
    newString = [newString substringToIndex:[newString length] - 1];
    newString = [newString stringByAppendingString: SECRET_KEY];
    //2.4 MD5转换+转小写
    if(newString == nil || newString == NULL){
    if([self stringIsNullOrEmpty:newString]){
        newString = @"";
    }
    NSString* signstr = [self signMD5Encrypt:newString];
@@ -260,10 +268,23 @@
    return params;
}
/// 字符串判空
/// @param valueStr 传入判断字符
- (BOOL)stringIsNullOrEmpty:(NSString *)valueStr
{
    if((valueStr == nil || [valueStr isKindOfClass:[NSNull class]] || valueStr.length == 0)){
        return YES;
    }else{
        return NO;
    }
}
/**
 MD5转换+转小写
 */
+ (NSString*)signMD5Encrypt:(NSString *)str
- (NSString*)signMD5Encrypt:(NSString *)str
{
    const char *cStr = [str UTF8String];
    unsigned char digest[CC_MD5_DIGEST_LENGTH];
@@ -283,8 +304,8 @@
/// </summary>
/// <param name="valueStr"></param>
/// <returns></returns>
+(bool)IfValueNeedSign:(NSString *)valueStr{
    if (( (valueStr == nil || [valueStr isKindOfClass:[NSNull class]] || valueStr.length == 0))//判空字符
-(bool)IfValueNeedSign:(NSString *)valueStr{
    if (( [self stringIsNullOrEmpty:valueStr])//判空字符
        || ([[valueStr substringToIndex:1] isEqual:@"{"])//判断是否为对象
        || ([[valueStr substringToIndex:1] isEqual:@"["])//判断是否为数组
        ) {