ZJAppInstance.m 2.34 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12
//
//  ZJAppInstance.m
//  HDMall
//
//  Created by Javen on 2017/7/27.
//  Copyright © 2017年 上海勾芒信息科技. All rights reserved.
//

#import "ZJAppInstance.h"
static NSString *const zj_saved_name = @"zj_saved_name";
static NSString *const zj_saved_pwd = @"zj_saved_pwd";
static NSString *const zj_saved_isMall = @"zj_saved_isMall";
13

14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
@implementation ZJAppInstance
+ (ZJAppInstance *)shareInstance {
    static ZJAppInstance *instance = nil;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        instance = [ZJAppInstance new];
        NSUserDefaults *d = [NSUserDefaults standardUserDefaults];
        instance.savedName = [d objectForKey:zj_saved_name];
        instance.savedPWD = [d objectForKey:zj_saved_pwd];
        instance.isMall = [d boolForKey:zj_saved_isMall];
    });
    return instance;
}

- (void)saveBaseInfo {
    NSUserDefaults *d = [NSUserDefaults standardUserDefaults];
    [d setObject:self.savedName forKey:zj_saved_name];
    [d setObject:self.savedPWD forKey:zj_saved_pwd];
    [d setBool:self.isMall forKey:zj_saved_isMall];
    [d synchronize];
}

- (void)setUser:(UserInfo *)user {
    _user = user;
    [self.permission updatePermissions:user.permissions];
}

41 42 43 44 45 46 47 48
- (NSMutableArray *)getUserContractUuids {
    NSMutableArray *arr = [NSMutableArray array];
    for (UserInfo_contracts *contract in self.user.contracts) {
        [arr addObject:contract.uuid];
    }
    return arr;
}

Sandy's avatar
Sandy committed
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
/** 获取商户用户的合同(默认是第一个) */
- (UserInfo_contracts *)getTenantContract{
    if (self.isMall) {
        [MBProgressHUD j_warningMessage:@"该用户是商场用户"];
        return nil;
    }
    
    UserInfo_contracts *contract = [self.user.contracts firstObject];
    if (!contract) {
        [MBProgressHUD j_warningMessage:@"该商户没有合同"];;
    }else if(self.user.contracts.count > 1){
        [MBProgressHUD j_warningMessage:@"该商户有多个合同,默认选取第一个"];
    }
    
    return contract;
}

Sandy's avatar
Sandy committed
66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
- (void)loginOut {
    [self saveInfoWithUserName:nil pwd:nil];
}

/**
 *  保存登录信息以及用户名密码
 *
 *  @param name 用户名
 *  @param pwd  密码
 *
 *  @return 是否成功
 */
- (void)saveInfoWithUserName:(NSString *)name pwd:(NSString *)pwd {
    self.savedName = name;
    self.savedPWD = pwd;
    [self saveBaseInfo];
}

84 85
ZJLazy(ZJPermissionManager, permission)
@end