#import "UserInfo.h" /**infoKeys是用来在userDefault里面存取数据的 要求:避免重复。 */ static NSArray* infoKeys; static UserInfo* userInfo = nil; void SaveObjectForKey(id object, NSString* key); @implementation UserInfo +(UserInfo*)shareInfo { static dispatch_once_t onceToken ; dispatch_once(&onceToken, ^{ userInfo = [[UserInfo alloc] init] ; infoKeys = @[@"car_type",@"userSchoolName",@"userSubj1Index",@"userSubj4Index",@"userNickName",@"userSex",@"userDict",@"userSchDict",@"isWelcomed",@"adPaths",@"user1Index",@"user4Index",@"userCoach",@"A2Subj1Index",@"A2Subj4Index",@"A1Subj1Index",@"A1Subj4Index",@"DSubj1Index",@"DSubj4Index",@"coachIndex",@"A1Index",@"A2Index",@"dangerIndex",@"texiIndex",@"isZhiGeZheng",@"userName",@"wycIndex"]; NSUserDefaults *ud = [NSUserDefaults standardUserDefaults]; int i = 0; for (NSString* key in infoKeys) { if (i > infoKeys.count-1) { break; } if (i == 6){ userInfo.userDict = [ud objectForKey:key] ; }else{ [userInfo setValue:[ud objectForKey:key] forKey:infoKeys[i]]; } i++; } }) ; return userInfo ; } +(void)saveObject:(id)object forKey:(NSString*)key { NSUserDefaults *ud = [NSUserDefaults standardUserDefaults]; [ud setObject:object forKey:key]; [ud synchronize]; } - (void)removeUserInfo { defUser.userSchDict = nil; defUser.userDict = nil; defUser.userCoach = nil; // RQ_SHARE_FUNCTION.myErorNum = [DB_Que_Helper queryMarkQuestionWithMarkType:@"1"]; // RQ_SHARE_FUNCTION.myErorNum = [RQ_YDTQuestion_Module getQuestionWithExerciseType:RQExerciseType_Wrong].count; [RQ_USER_MANAGER logoutUser]; } #pragma mark - - (NSString*)sfzmhm { if ([RQ_USER_MANAGER.currentUser.loginCode length] < 1) { return @""; } return RQ_USER_MANAGER.currentUser.loginCode; } /// 是否开启活体检测 0-不开启 1-开启 - (NSInteger)isycbd { return RQ_USER_MANAGER.currentUser.isycbd? [RQ_USER_MANAGER.currentUser.isycbd integerValue] : 0; } /// 活体检测比对动作数量 - (NSInteger)ycbdFaceCount { return RQ_USER_MANAGER.currentUser.ycbdFaceCount? [RQ_USER_MANAGER.currentUser.ycbdFaceCount integerValue] : 0; } /// sfzb 是否开启作弊 1开启 0不开启 - (NSInteger)sfzb { return RQ_USER_MANAGER.currentUser.sfzb? [RQ_USER_MANAGER.currentUser.sfzb integerValue] : 0; } /// qzgx 是否强制更新 1开启 0不开启 - (NSInteger)qzgx { return RQ_USER_MANAGER.currentUser.qzgx? [RQ_USER_MANAGER.currentUser.qzgx integerValue] : 0; } /// 验证等级 0 不验证 1 宽松 2 严格 3 困难 - (NSInteger)verifyLevel { return RQ_USER_MANAGER.currentUser.verifyLevel? [RQ_USER_MANAGER.currentUser.verifyLevel integerValue] : 0; } /// 实操扫码验证地市 1 开启 0 关闭 - (NSInteger)isOpenScan { return RQStringIsNotEmpty(RQ_USER_MANAGER.currentUser.isOpenScan)? [RQ_USER_MANAGER.currentUser.isOpenScan integerValue] : 0; } /// 11和12类型的就是从业 其他的或者为空的就是普通 - (NSInteger)busitype { return RQStringIsNotEmpty(RQ_USER_MANAGER.currentUser.busitype)? [RQ_USER_MANAGER.currentUser.busitype integerValue] : 0; } -(void)setCar_type:(NSString *)car_type { _car_type = car_type; SaveObjectForKey(car_type, infoKeys[0]); } -(void)setUserSchoolName:(NSString *)str { _userSchoolName = str; SaveObjectForKey(str, infoKeys[1]); } -(void)setUserSubj1Index:(NSString *)str{ _userSubj1Index = str; SaveObjectForKey(str, infoKeys[2]); } -(void)setUserSubj4Index:(NSString *)str{ _userSubj4Index = str; SaveObjectForKey(str, infoKeys[3]); } -(void)setUser1Index:(NSString *)str{ _user1Index = str; SaveObjectForKey(str, infoKeys[10]); } -(void)setUser4Index:(NSString *)str{ _user4Index = str; SaveObjectForKey(str, infoKeys[11]); } //这是教练的信息 -(void)setUserCoach:(NSArray *)str{ _userCoach = str; SaveObjectForKey(str, infoKeys[12]); } -(void)setUserNickName:(NSString *)userNickName{ _userNickName = userNickName; SaveObjectForKey(userNickName, infoKeys[4]); } -(void)setUserSex:(NSString *)userSex{ _userSex = userSex; SaveObjectForKey(userSex, infoKeys[5]); } -(void)setUserDict:(NSMutableDictionary *)userDict { if ([userDict isKindOfClass:[NSDictionary class]]) { _userDict = [NSMutableDictionary dictionaryWithDictionary:userDict]; }else { _userDict = userDict; } SaveObjectForKey(userDict, infoKeys[6]); self.userSchoolName = userDict[@"schoolName"]; self.userName = userDict[@"userName"]; self.userNickName = userDict[@"nickName"]; _userSchoolId = userDict[@"school"]; _userStuId = userDict[@"outId"]; _userTel = userDict[@"telphone"]; _cityId = userDict[@"city"]; //计算年龄 NSString * string = userDict[@"birthday"]; _userAge = @""; if (string.length != 0) { NSDateFormatter *inputFormatter= [[NSDateFormatter alloc] init]; inputFormatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]; [inputFormatter setDateFormat:@"yyyy-MM-dd"]; NSDate * date = [inputFormatter dateFromString:string]; NSTimeInterval dateDiff = [date timeIntervalSinceNow]; int age= trunc(dateDiff/(60*60*24))/365; age = ~(age - 1); if (age != 0) { _userAge = [NSString stringWithFormat:@"%d",age]; } } _userHeadImg = userDict[@"photo"]; _userSex = userDict[@"sex"]; } -(void)setUserSchDict:(NSMutableDictionary *)userSchDict { _userSchDict = userSchDict; SaveObjectForKey(userSchDict, infoKeys[7]); } -(void)setIsWelcomed:(NSString *)isWelcomed { _isWelcomed = isWelcomed; SaveObjectForKey(isWelcomed, infoKeys[8]); } -(void)setAdPaths:(NSArray *)adPaths { _adPaths = adPaths; SaveObjectForKey(adPaths, infoKeys[9]); } -(void)setA2Subj1Index:(NSString *)A2Subj1Index { _A2Subj1Index = A2Subj1Index; SaveObjectForKey(A2Subj1Index, infoKeys[13]); } -(void)setA2Subj4Index:(NSString *)A2Subj4Index { _A2Subj4Index = A2Subj4Index; SaveObjectForKey(A2Subj4Index, infoKeys[14]); } -(void)setA1Subj1Index:(NSString *)A1Subj1Index { _A1Subj1Index = A1Subj1Index; SaveObjectForKey(A1Subj1Index, infoKeys[15]); } -(void)setA1Subj4Index:(NSString *)A1Subj4Index { _A1Subj4Index = A1Subj4Index; SaveObjectForKey(A1Subj4Index, infoKeys[16]); } -(void)setDSubj1Index:(NSString *)DSubj1Index { _DSubj1Index = DSubj1Index; SaveObjectForKey(DSubj1Index, infoKeys[17]); } -(void)setDSubj4Index:(NSString *)DSubj4Index { _DSubj1Index = DSubj4Index; SaveObjectForKey(DSubj4Index, infoKeys[18]); } -(void)setCoachIndex:(NSString *)coachIndex { _coachIndex = coachIndex; SaveObjectForKey(coachIndex, infoKeys[19]); } -(void)setA1Index:(NSString *)A1Index { _A1Index = A1Index; SaveObjectForKey(A1Index, infoKeys[20]); } -(void)setA2Index:(NSString *)A2Index { _A2Index = A2Index; SaveObjectForKey(A2Index, infoKeys[21]); } -(void)setDangerIndex:(NSString *)dangerIndex { _dangerIndex = dangerIndex; SaveObjectForKey(dangerIndex, infoKeys[22]); } -(void)setTexiIndex:(NSString *)texiIndex { _texiIndex = texiIndex; SaveObjectForKey(texiIndex, infoKeys[23]); } - (void)setWycIndex:(NSString *)wycIndex { _wycIndex = wycIndex; SaveObjectForKey(wycIndex, infoKeys[26]); } -(void)setIsZhiGeZheng:(NSString *)isZhiGeZheng { _isZhiGeZheng = isZhiGeZheng; SaveObjectForKey(isZhiGeZheng, infoKeys[24]); } - (void)setUserName:(NSString *)userName { _userName = userName; SaveObjectForKey(userName, infoKeys[25]); } @end void SaveObjectForKey(id object, NSString* key) { NSUserDefaults *ud = [NSUserDefaults standardUserDefaults]; if (!object) { [ud removeObjectForKey:key]; }else{ [ud setObject:object forKey:key]; } [ud synchronize]; }