96 lines
3.6 KiB
Objective-C
Executable File
96 lines
3.6 KiB
Objective-C
Executable File
//
|
|
// AFNetworkRequset.m
|
|
// JiushiMarking
|
|
//
|
|
// Created by 小收 on 2019/8/16.
|
|
// Copyright © 2019 小收. All rights reserved.
|
|
//
|
|
|
|
#import "AFNetworkRequset.h"
|
|
#import "MainNavigationController.h"
|
|
#import "HelpPageDefine.h"
|
|
|
|
@interface AFNetworkRequset()
|
|
{
|
|
BOOL netWorkStatus;
|
|
}
|
|
@end
|
|
|
|
@implementation AFNetworkRequset
|
|
|
|
+ (instancetype)shared{
|
|
static AFNetworkRequset *networkRequest = nil;
|
|
static dispatch_once_t onceToken;
|
|
dispatch_once(&onceToken, ^{
|
|
networkRequest = [[AFNetworkRequset alloc]init];
|
|
});
|
|
return networkRequest;
|
|
}
|
|
|
|
- (void)postRequestWithParams:(nullable NSDictionary *)params Path:(NSString *)path Loading:(BOOL)loading Hud:(BOOL)showHud Success:(void(^)(id responseDic))success Failure:(void(^)(id errorData))failure {
|
|
if (loading) {
|
|
[SVProgressHUD show];
|
|
}
|
|
NSString *fullUrl = [NSString stringWithFormat:@"%@%@", VERSION_HTTPS_SERVER, path];
|
|
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
|
|
NSMutableURLRequest *request = [[AFJSONRequestSerializer serializer] requestWithMethod:@"POST" URLString:fullUrl parameters:nil error:nil];
|
|
request.timeoutInterval = 10;
|
|
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
|
|
|
|
//新增验签
|
|
NSString *timestamp = [BJEncryptionTool getNowTimeTimestamp];
|
|
NSString *app_sign = [BJEncryptionTool getSignWith:timestamp];
|
|
[request setValue:C_string(timestamp) forHTTPHeaderField:@"timestamp"];
|
|
[request setValue:C_string(app_sign) forHTTPHeaderField:@"app-sign"];
|
|
|
|
NSMutableDictionary *mDict = [NSMutableDictionary dictionaryWithDictionary:params];
|
|
if (GVUSER.token.length > 0) {
|
|
[mDict setValue:GVUSER.token forKey:@"login_token"];
|
|
}
|
|
if (mDict != nil) {
|
|
[request setHTTPBody:mDict.mj_JSONData];
|
|
}
|
|
|
|
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"text/html", @"text/plain", @"application/json", @"text/json", @"text/javascript", nil];
|
|
|
|
NSLog(@"请求参数: %@", mDict);
|
|
NSLog(@"请求地址: %@", fullUrl);
|
|
|
|
[[manager dataTaskWithRequest:request uploadProgress:^(NSProgress * _Nonnull uploadProgress) {
|
|
} downloadProgress:^(NSProgress * _Nonnull downloadProgress) {
|
|
} completionHandler:^(NSURLResponse * _Nonnull response, id _Nullable responseObject, NSError * _Nullable error) {
|
|
[SVProgressHUD dismiss];
|
|
NSLog(@"请求结果: %@", responseObject);
|
|
if (responseObject) {
|
|
NSString *code = [NSString stringWithFormat:@"%@", responseObject[@"code"]];
|
|
if ([code isEqualToString:@"200"]) {
|
|
if ([responseObject[@"data"] isKindOfClass:[NSNull class]]) {
|
|
success(@{});
|
|
}else {
|
|
success(responseObject);
|
|
}
|
|
if (showHud == YES && responseObject[@"msg"] != nil ){
|
|
[HelpPageDefine showMessage:responseObject[@"msg"]];
|
|
}
|
|
} else {
|
|
NSError *error = [NSError errorWithDomain:@"" code:1000 userInfo:nil];
|
|
failure(error);
|
|
if (responseObject[@"msg"] != nil){
|
|
[HelpPageDefine showMessage:responseObject[@"msg"]];
|
|
}
|
|
if ([responseObject[@"code"] integerValue] == 301) {
|
|
// token失效
|
|
[HelpPageDefine showMessage:@"登录失效,请重新登录"];
|
|
[APPDELEGATE setupLoginViewController];
|
|
}
|
|
}
|
|
}else {
|
|
[HelpPageDefine showMessage:@"请求失败"];
|
|
NSLog(@"请求错误: %@", error);
|
|
}
|
|
|
|
}] resume];
|
|
}
|
|
|
|
@end
|