// // UserManager.m // MoHuanXingYu // // Created by aa on 2019/6/12. // Copyright © 2019 MoHuanXingYu. All rights reserved. // #import "BJUserManager.h" @implementation BJUserInfo - (NSString *)login_token { return C_string(GVUSER.token); } @end @implementation BJUserManager + (void)onUpdatePhoneHistory:(NSString *)head_pic user_name:(NSString *)user_name { if (user_name.length <= 0) { return; } NSArray *arr = [[NSUserDefaults standardUserDefaults] objectForKey:Login_Phone_History]; NSMutableArray *mArr = [[NSMutableArray alloc] initWithArray:arr]; NSInteger index = -1; for (NSInteger i = 0; i < mArr.count; i++) { NSDictionary *dict = mArr[i]; if ([user_name isEqualToString:dict[@"user_name"]]) { index = i; } } NSDictionary *dict = @{@"head_pic":head_pic, @"user_name":user_name}; if (index == -1) { [mArr insertObject:dict atIndex:0]; }else { mArr[index] = dict; } [[NSUserDefaults standardUserDefaults] setObject:[mArr copy] forKey:Login_Phone_History]; [[NSUserDefaults standardUserDefaults] synchronize]; } + (void)bj_refreshUserInfo:(void(^)(BOOL isOk))finishBlock { [RCMicHTTP postWithURLString:@"/api/user/get_user_info" parameters:nil response:^(RCMicHTTPResult *result) { if (result.success) { if (result.errorCode == 200 && [result.content isKindOfClass:NSDictionary.class]) { [BJUserManager saveUserInfo:result.content]; finishBlock? finishBlock(YES) : nil; }else { finishBlock? finishBlock(NO) : nil; // [SVProgressHUD showInfoWithStatus:result.message]; } }else { finishBlock? finishBlock(NO) : nil; // [SVProgressHUD showInfoWithStatus:@"网络错误"]; } }]; } + (BOOL)saveUserInfo:(NSDictionary *)dic { GVUSER.rawUserDict = dic; NSString *loginToken = [dic safeStringForKey:@"login_token"]; if (loginToken.length > 0) { GVUSER.token = loginToken; } [BJUserManager onUpdatePhoneHistory:[dic safeStringForKey:@"head_pic"] user_name:[dic safeStringForKey:@"user_name"]]; return YES; } + (BJUserInfo *)userInfo { NSDictionary *data = GVUSER.rawUserDict; if ([data isKindOfClass:NSDictionary.class] && data.allKeys.count>0) { BJUserInfo *model = [BJUserInfo mj_objectWithKeyValues:data]; return model; } return nil; } + (BOOL)clearUserInfo { GVUSER.rawUserDict = @{}; GVUSER.token = @""; return YES; } @end