/** 这个类可以进一步优化。 直接用可变字典保存起来。因为大部分属性是只读得。并且json字段都是固定的。 所以可以直接用字典进行读取。扁平化 如果非要花一点,可以添加属性。重写get方法,从字典里读取即可。 如果还要添加属性,可以单独给它写set方法,添加进字典即可。 */ //核心方法 #define defUser [UserInfo shareInfo] /**通过设置这个量。1表示连正式库。0表示连测试库。 */ ///@RQ-MARK #define isOfficial 1 ///是否QM控制是否打印-默认0 #define isOffQMConsole 0 #import @interface UserInfo : NSObject /**用户题库类型。数据库要用的。 */ @property(nonatomic,copy) NSString *car_type; /**是否资格证 */ @property(nonatomic,copy) NSString *isZhiGeZheng; /**驾校名称 */ @property(nonatomic,copy) NSString *userSchoolName; /**科目一的顺序练习题号 */ @property(nonatomic,copy) NSString *userSubj1Index; /**科目四的顺序练习题号 */ @property(nonatomic,copy) NSString *userSubj4Index; /**科目一的背题题号 */ @property(nonatomic,copy) NSString *user1Index; /**科目四的背题题号 */ @property(nonatomic,copy) NSString *user4Index; /** * 下面全是对题号的记录 客车 货车 摩托车 教练 货运 客运 危险品 出租车 */ @property(nonatomic,copy) NSString *A2Subj1Index; @property(nonatomic,copy) NSString *A2Subj4Index; @property(nonatomic,copy) NSString *A1Subj1Index; @property(nonatomic,copy) NSString *A1Subj4Index; @property(nonatomic,copy) NSString *DSubj1Index; @property(nonatomic,copy) NSString *DSubj4Index; @property(nonatomic,copy) NSString *coachIndex; @property(nonatomic,copy) NSString *A1Index; @property(nonatomic,copy) NSString *A2Index; @property(nonatomic,copy) NSString *dangerIndex; @property(nonatomic,copy) NSString *texiIndex; @property(nonatomic,copy) NSString *wycIndex; /**用户昵称.只是为了迎合界面而已,实际web系统里面没这个字段 */ @property(nonatomic,copy) NSString *userNickName; /**用户性别.只是为了迎合界面而已,实际web系统里面没这个字段 */ @property(nonatomic,copy) NSString *userSex; /**直接保存完整的用户信息字典 */ @property(nonatomic,strong) NSMutableDictionary *userDict; /**直接保存完整的用户驾校信息字典. 为什么要储存起来呢,因为需要显示letfVC需要显示学校信息 */ @property(nonatomic,strong) NSMutableDictionary *userSchDict; /**直接保存完整的用户教练 虽然没用到 因为保存本地后 不能保证信息的实时性 其实应该是没事的 */ @property(nonatomic,strong) NSArray *userCoach; /**显示欢迎页面。如果这个值不存在,表示第一次进入软件,要欢迎。 如否,说明已经欢迎过了。 */ @property(nonatomic,copy) NSString *isWelcomed; /**广告的图片地址。每次finishLaunch里面。会异步更新这个属性。 为什么要持久保存呢?是为了第一次加载广告时可以避免等待。 */ @property(nonatomic,strong) NSArray *adPaths; /////////////////////////////////////////////////需要持久保存的属性,请写在这条线的上面。///////////// /////////////////////////////////////////////////不需要保存写在下面/////////////////////////////// #pragma mark - /**用户的驾校ID */ @property(nonatomic,copy) NSString *userSchoolId; //用户姓名 @property(nonatomic,copy) NSString *userName; //学员内部id 65000000 @property(nonatomic,copy) NSString *userStuId; @property(nonatomic,copy) NSString *userTel; @property(nonatomic,copy) NSString *userAge; @property(nonatomic,copy) NSString *userHeadImg; @property(nonatomic,copy) NSString *cityId; /**主要是为了方便在测试服和正式服之间切换而设置的。 虽然是个方法。但也可以像属性一样调用。真方便。 以后。可以多写这种无参的方法。 */ - (NSString*) sfzmhm; /// 是否开启活体检测 0-不开启 1-开启 - (NSInteger)isycbd; /// 活体检测比对动作数量 - (NSInteger)ycbdFaceCount; /// sfzb 是否开启作弊 1开启 0不开启 - (NSInteger)sfzb; /// qzgx 是否强制更新 1开启 0不开启 - (NSInteger)qzgx; /// 验证等级 0 不验证 1 宽松 2 严格 3 困难 - (NSInteger)verifyLevel; /// 实操扫码验证地市 1 开启 0 关闭 - (NSInteger)isOpenScan; /// 11和12类型的就是从业 其他的或者为空的就是普通 - (NSInteger)busitype; #pragma mark - +(UserInfo*)shareInfo; //弃用方法 //-(id)setUserInfoByDict:(NSDictionary*)dict; /**当用户注销时,删除userDict,和userSchDict。 */ -(void)removeUserInfo; @end