Commit a383b474 cgx

自动登录请求接口

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