Commit a383b474 cgx

自动登录请求接口

1 个父辈 3f3eafb5
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
#import "HomeViewController.h" #import "HomeViewController.h"
#import "HomeTableView.h" #import "HomeTableView.h"
#import "UserRequestModel.h"
@interface HomeViewController () @interface HomeViewController ()
@property (nonatomic, strong) HomeTableView *homeTV; @property (nonatomic, strong) HomeTableView *homeTV;
...@@ -25,6 +26,12 @@ ...@@ -25,6 +26,12 @@
UILabel *leftLab = [UILabel dkLabWithText:@"小梦睡眠" font:BoldFont(24.0)]; UILabel *leftLab = [UILabel dkLabWithText:@"小梦睡眠" font:BoldFont(24.0)];
UIBarButtonItem *leftItem = [[UIBarButtonItem alloc] initWithCustomView:leftLab]; UIBarButtonItem *leftItem = [[UIBarButtonItem alloc] initWithCustomView:leftLab];
self.navigationItem.leftBarButtonItem = leftItem; self.navigationItem.leftBarButtonItem = leftItem;
if ([LoginUtils getUserLoginData]) {
// 自动登录请求(调用时机)
[UserRequestModel autoLoginRequestWithCompletion:^(UserRequestModel * _Nonnull requestModel) {
}];
}
} }
#pragma mark - 导航栏日间、黑夜模式 #pragma mark - 导航栏日间、黑夜模式
......
...@@ -22,6 +22,14 @@ NS_ASSUME_NONNULL_BEGIN ...@@ -22,6 +22,14 @@ NS_ASSUME_NONNULL_BEGIN
/// 获取sid /// 获取sid
+ (NSString *)getSid; + (NSString *)getSid;
/// 获取token
+ (NSString *)getToken;
/// 更新sid和token
/// @param sid sid
/// @param token token
+ (void)updateSid:(NSString *)sid token:(NSString *)token;
/// 保存用户登录数据 /// 保存用户登录数据
+ (void)saveUserLoginData:(UserModel *)model; + (void)saveUserLoginData:(UserModel *)model;
......
...@@ -26,6 +26,18 @@ ...@@ -26,6 +26,18 @@
return userModel.sid; return userModel.sid;
} }
+ (NSString *)getToken {
UserModel *userModel = [self getUserLoginData];
return userModel.token;
}
+ (void)updateSid:(NSString *)sid token:(NSString *)token {
UserModel *userModel = [self getUserLoginData];
userModel.sid = sid;
userModel.token = token;
[self saveUserLoginData:userModel];
}
+ (void)saveUserLoginData:(UserModel *)model { + (void)saveUserLoginData:(UserModel *)model {
NSData *userData = [NSKeyedArchiver archivedDataWithRootObject:model]; NSData *userData = [NSKeyedArchiver archivedDataWithRootObject:model];
kSetUserDefaultsObj(userData, UserBasicInfo); kSetUserDefaultsObj(userData, UserBasicInfo);
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
[aCoder encodeObject:_birthday forKey:@"birthday"]; [aCoder encodeObject:_birthday forKey:@"birthday"];
[aCoder encodeObject:@(_user_id) forKey:@"user_id"]; [aCoder encodeObject:@(_user_id) forKey:@"user_id"];
[aCoder encodeObject:_token forKey:@"token"]; [aCoder encodeObject:_token forKey:@"token"];
[aCoder encodeObject:_sid forKey:@"sid"];
[aCoder encodeObject:_face_img forKey:@"face_img"]; [aCoder encodeObject:_face_img forKey:@"face_img"];
} }
...@@ -24,6 +25,7 @@ ...@@ -24,6 +25,7 @@
_birthday = [aDecoder decodeObjectForKey:@"birthday"]; _birthday = [aDecoder decodeObjectForKey:@"birthday"];
_user_id = [[aDecoder decodeObjectForKey:@"user_id"] intValue]; _user_id = [[aDecoder decodeObjectForKey:@"user_id"] intValue];
_token = [aDecoder decodeObjectForKey:@"token"]; _token = [aDecoder decodeObjectForKey:@"token"];
_sid = [aDecoder decodeObjectForKey:@"sid"];
_face_img = [aDecoder decodeObjectForKey:@"face_img"]; _face_img = [aDecoder decodeObjectForKey:@"face_img"];
return self; return self;
......
...@@ -34,6 +34,10 @@ NS_ASSUME_NONNULL_BEGIN ...@@ -34,6 +34,10 @@ NS_ASSUME_NONNULL_BEGIN
/// @param completion completion /// @param completion completion
+ (NSURLSessionDataTask *)closeUserRequestWithCompletion:(void (^)(UserRequestModel *requestModel))completion; + (NSURLSessionDataTask *)closeUserRequestWithCompletion:(void (^)(UserRequestModel *requestModel))completion;
/// 自动登录请求(用于更新token,登录成功后定期调用)
/// @param completion completion
+ (NSURLSessionDataTask *)autoLoginRequestWithCompletion:(void (^)(UserRequestModel *requestModel))completion;
@end @end
NS_ASSUME_NONNULL_END NS_ASSUME_NONNULL_END
...@@ -76,7 +76,26 @@ ...@@ -76,7 +76,26 @@
int user_id = [LoginUtils getUserID]; int user_id = [LoginUtils getUserID];
NSString *argStr = [NSString stringWithFormat:@"mutation{%@(user_id:%d)}", api, user_id]; 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) { return [self httpPostBodyRequestWithAPI:api params:@{@"query" : argStr} view:nil hasNetActivity:YES loadingInfo:nil hasFailInfo:YES success:^(NSDictionary * _Nonnull apiDic) {
DSLog(@"用户用户注销账户接口apiDic:%@", 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; requestModel.resCode = DSResCodeSuccess;
completion(requestModel); completion(requestModel);
} failure:^(id _Nonnull failureInfo) { } failure:^(id _Nonnull failureInfo) {
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!