本文例子:商户首次登陆app同意协议流程
需求背景
是否同意协议根据商户进行区分,不是根据设备。用户同意协议之后,需同步信息到服务端。同步的信息必须携带token 如果用户首次登陆,强制修改密码,此时登陆接口没有返回token
商户首次登陆同意协议之后,没有返回token,此时无法同步更新协议信息UpdateIsAgreeMent
原文地址
https://kunnan.blog.csdn.net/article/details/112533687
pod 'BGFMDB', '~> 2.0.13' #2.0.9
/**
存储是否同意协议信息:根据商户手机号进行存储,主要用于首次登陆
*/
NSString * const QCTTableName4isAgreeMent=@"x x x x x x";
@interface isAgreeMentM : NSObject
@property (nonatomic,copy) NSString *loginAccount;
@end
// 20210112 如果是首次登陆则没有token,就不请求更新协议接口。并记录当前商户已经同意过协议
if( [NSStringQCTtoll isBlankString: [UserInfoModel shareUserInfoModel].BearerToken]){
// 记录当前商户已经同意过协议
CRMisAgreeMentM *isAgreeMentM =[CRMisAgreeMentM new];
// 获取最近一次登陆的手机号码
isAgreeMentM.loginAccount = QCTSession.shareQCTSession.tmpLoginAccount;
[CRMisAgreeMentM saveModelWithModel:isAgreeMentM];
return ;
}
// 根据本地数据判断商户是否首次登陆就已经同意同意协议
// 根据登陆账号查询本地数据
isAgreeMentM *tmpisAgreeMentM = [isAgreeMentM getmodelWithloginAccount:QCTSession.shareQCTSession.tmpLoginAccount];
if([NSStringQCTtoll isBlankString:tmpisAgreeMentM.loginAccount]){
//如果当前商户返回的接口数据和本地数据的都没同意过协议的额数据,就同意协议视图
[self serviceAgreementUpdateIsAgreeMentBool:YES WithDict:responseObj[@"data"]];
}else{// 直接进入首页,并异步同步同意协议信息到服务端
}
@interface isAgreeMentM : NSObject
@property (nonatomic,copy) NSString *loginAccount;
/**
存储
*/
+ (void)saveModelWithModel:(isAgreeMentM*)userModel;
/**
查询
*/
+ (instancetype)getmodelWithloginAccount:(NSString*)loginAccount;
@end