UserRequestModel.m
7.1 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
//
// UserRequestModel.m
// DreamSleep
//
// Created by peter on 2022/4/14.
//
#import "UserRequestModel.h"
@implementation UserRequestModel
+ (NSURLSessionDataTask *)wxLoginWithCode:(NSString *)code completion:(void (^)(UserRequestModel *requestModel))completion {
UserRequestModel * requestModel = [[UserRequestModel alloc] init];
NSString *api = @"wxLogin";
NSString *argStr = [NSString stringWithFormat:@"mutation{%@(code:\"%@\")}", api, code];
return [self httpPostBodyRequestWithAPI:api params:@{@"query" : argStr} view:nil hasNetActivity:YES loadingInfo:nil hasFailInfo:YES success:^(NSDictionary * _Nonnull apiDic) {
DSLog(@"微信登录接口apiDic:%@", apiDic);
requestModel.resCode = DSResCodeSuccess;
NSDictionary *resultDic = apiDic[@"result"];
UserModel *userModel = [UserModel yy_modelWithJSON:resultDic];
DSLog(@"userModel:%@", userModel.debugDescription);
// 保存用户信息
[LoginUtils saveUserLoginData:userModel];
completion(requestModel);
} failure:^(id _Nonnull failureInfo) {
requestModel.resCode = DSResCodeNetFail;
requestModel.errorInfo = failureInfo;
completion(requestModel);
}];
}
+ (NSURLSessionDataTask *)appleLoginWithUser:(NSString *)user
identityToken:(NSString *)identityToken
authorizationCode:(NSString *)authorizationCode
completion:(void (^)(UserRequestModel *requestModel))completion
{
UserRequestModel * requestModel = [[UserRequestModel alloc] init];
NSString *api = @"verify_sign_with_appleid";
NSString *argStr = [NSString stringWithFormat:@"mutation{%@(user_id:\"%@\",identity_token:\"%@\",authorization_code:\"%@\")}", api, user, identityToken, authorizationCode];
return [self httpPostBodyRequestWithAPI:api params:@{@"query" : argStr} view:nil hasNetActivity:YES loadingInfo:nil hasFailInfo:YES success:^(NSDictionary * _Nonnull apiDic) {
DSLog(@"苹果登录接口apiDic:%@", apiDic);
requestModel.resCode = DSResCodeSuccess;
NSDictionary *resultDic = apiDic[@"result"];
UserModel *userModel = [UserModel yy_modelWithJSON:resultDic];
DSLog(@"userModel:%@", userModel.debugDescription);
// 保存用户信息
[LoginUtils saveUserLoginData:userModel];
completion(requestModel);
} failure:^(id _Nonnull failureInfo) {
requestModel.resCode = DSResCodeNetFail;
requestModel.errorInfo = failureInfo;
completion(requestModel);
}];
}
+ (NSURLSessionDataTask *)layoutRequestWithCompletion:(void (^)(UserRequestModel *requestModel))completion
{
UserRequestModel * requestModel = [[UserRequestModel alloc] init];
NSString *api = @"user_logout";
NSString *argStr = [NSString stringWithFormat:@"mutation{%@}", api];
return [self httpPostBodyRequestWithAPI:api params:@{@"query" : argStr} view:nil hasNetActivity:YES loadingInfo:nil hasFailInfo:YES success:^(NSDictionary * _Nonnull apiDic) {
DSLog(@"用户退出登录接口apiDic:%@", apiDic);
requestModel.resCode = DSResCodeSuccess;
completion(requestModel);
} failure:^(id _Nonnull failureInfo) {
requestModel.resCode = DSResCodeNetFail;
requestModel.errorInfo = failureInfo;
completion(requestModel);
}];
}
+ (NSURLSessionDataTask *)closeUserRequestWithCompletion:(void (^)(UserRequestModel *requestModel))completion
{
UserRequestModel * requestModel = [[UserRequestModel alloc] init];
NSString *api = @"close_user";
int user_id = [LoginUtils getUserID];
NSString *argStr = [NSString stringWithFormat:@"mutation{%@(user_id:%d)}", api, user_id];
return [self httpPostBodyRequestWithAPI:api params:@{@"query" : argStr} view:nil hasNetActivity:YES loadingInfo:nil hasFailInfo:YES success:^(NSDictionary * _Nonnull apiDic) {
DSLog(@"用户注销账户接口apiDic:%@", apiDic);
requestModel.resCode = DSResCodeSuccess;
completion(requestModel);
} failure:^(id _Nonnull failureInfo) {
requestModel.resCode = DSResCodeNetFail;
requestModel.errorInfo = failureInfo;
completion(requestModel);
}];
}
+ (NSURLSessionDataTask *)autoLoginRequestWithCompletion:(void (^)(UserRequestModel *requestModel))completion {
UserRequestModel * requestModel = [[UserRequestModel alloc] init];
NSString *api = @"auto_login";
NSString *token = [LoginUtils getToken];
NSString *argStr = [NSString stringWithFormat:@"mutation{%@(token:\"%@\")}", api, token];
return [self httpPostBodyRequestWithAPI:api params:@{@"query" : argStr} view:nil hasNetActivity:YES loadingInfo:nil hasFailInfo:YES success:^(NSDictionary * _Nonnull apiDic) {
DSLog(@"用户自动登录接口apiDic:%@\n, token:%@\n, sid:%@", apiDic, token, [LoginUtils getSid]);
NSDictionary *resultDic = apiDic[@"result"];
[LoginUtils updateSid:resultDic[@"sid"] token:resultDic[@"token"]];
DSLog(@"自动登录成功后token:%@\n, sid:%@", [LoginUtils getToken], [LoginUtils getSid]);
requestModel.resCode = DSResCodeSuccess;
completion(requestModel);
} failure:^(id _Nonnull failureInfo) {
requestModel.resCode = DSResCodeNetFail;
requestModel.errorInfo = failureInfo;
completion(requestModel);
}];
}
+ (NSURLSessionDataTask *)updateFaceImgRequest:(UIImage *)faceImg completion:(void (^)(UserRequestModel *requestModel))completion {
UserRequestModel * requestModel = [[UserRequestModel alloc] init];
NSString *api = @"update_face_img";
int user_id = [LoginUtils getUserID];
NSString *base64 = [faceImg imageToBase64Str:faceImg];
NSString *argStr = [NSString stringWithFormat:@"mutation{%@(user_id:%d,base64:\"%@\")}", api, user_id, base64];
return [self httpPostBodyRequestWithAPI:api params:@{@"query" : argStr} view:nil hasNetActivity:YES loadingInfo:nil hasFailInfo:YES success:^(NSDictionary * _Nonnull apiDic) {
DSLog(@"用户头像修改接口apiDic:%@", apiDic);
[LoginUtils updateFaceImg:apiDic[@"result"]];
requestModel.resCode = DSResCodeSuccess;
completion(requestModel);
} failure:^(id _Nonnull failureInfo) {
requestModel.resCode = DSResCodeNetFail;
requestModel.errorInfo = failureInfo;
completion(requestModel);
}];
}
// 修改用户信息
+ (NSURLSessionDataTask *)updateUserInfoWithCompletion:(void (^)(UserRequestModel *requestModel))completion {
UserRequestModel * requestModel = [[UserRequestModel alloc] init];
NSString *api = @"update_user";
NSString *argStr = [NSString stringWithFormat:@"mutation{%@(gender:%d,nick_name:\"%@\")}", api, 1, @"ggg"];
return [self httpPostBodyRequestWithParam:@{@"query" : argStr} view:nil hasNetActivity:YES loadingInfo:nil hasFailInfo:YES success:^(id _Nonnull responseObj) {
DSLog(@"修改用户接口dataDic:%@", responseObj);
requestModel.resCode = DSResCodeSuccess;
completion(requestModel);
} failure:^(id _Nonnull failureInfo) {
requestModel.resCode = DSResCodeNetFail;
requestModel.errorInfo = failureInfo;
completion(requestModel);
}];
}
@end