当前位置: 首页 > news >正文

淘客自己的网站怎么做目前哪个城市又封了

淘客自己的网站怎么做,目前哪个城市又封了,网站建设 价格低,洛宁网站建设金融app相对普通app而言#xff0c;出于安全考虑#xff0c;其安全校验方式比较多#xff0c;以某些银行app为例#xff0c;手机号登录成功后#xff0c;会增加指纹、手势、OCR人脸等验证#xff01;这些安全项的校验#xff0c;会根据用户的风险等级有不同的校验优先级…金融app相对普通app而言出于安全考虑其安全校验方式比较多以某些银行app为例手机号登录成功后会增加指纹、手势、OCR人脸等验证这些安全项的校验会根据用户的风险等级有不同的校验优先级例如A客户的校验顺序是先指纹-手势-OCR,B客户的校验顺序可能是先手势-OCR其验证顺序不固定故此处用责任链的模式来设计更为合理 demo地址https://download.csdn.net/download/denggun12345/88104411?spm1001.2014.3001.5503 //基类BusinessObject #import Foundation/Foundation.h #import UIKit/UIKit.h NS_ASSUME_NONNULL_BEGIN class BusinessObject; typedef void(^CompletionBlock)(BOOL handled); typedef void(^ResultBlock)(BusinessObject *handler, BOOL handled); interface BusinessObject : NSObject property (nonatomic,strong) UILabel *LB; //下一个响应者 property (nonatomic,strong) BusinessObject *nextBusiness; //响应者的处理方法 -(void)handle:(ResultBlock)result; //各个业务在该方法当中做时机业务处理 -(void)handleBusiness:(CompletionBlock)completion; end NS_ASSUME_NONNULL_END #import BusinessObject.h implementation BusinessObject //责任链入口方法 -(void)handle:(ResultBlock)result{ CompletionBlock completion ^(BOOL handled){ //当前业务处理掉了上抛结果 if(handled){ result(self,handled); }else{ //沿着责任链指派给下一个业务处理 if(self.nextBusiness){ [self.nextBusiness handle:result]; }else{ //没有业务处理上抛 result(nil,NO); } } }; //当前业务进行处理 [self handleBusiness:completion]; } -(void)handleBusiness:(CompletionBlock)completion{ //业务逻辑处理 //如不网络请求、本地照片查询等 } end 模拟业务类即继承基类的类用来模拟指纹、手势、ocr的业务类 #import BusinessObjectA.h implementation BusinessObjectA -(void)handleBusiness:(CompletionBlock)completion{ NSLog(BusinessObjectA); if ([self.LB.text isEqualToString:0]) { completion(YES); }else{ completion(NO); }    } end #import BusinessObjectB.h implementation BusinessObjectB -(void)handleBusiness:(CompletionBlock)completion{ NSLog(BusinessObjectB); if ([self.LB.text isEqualToString:0]) { completion(YES); }else{ completion(NO); } } end #import BusinessObjectC.h implementation BusinessObjectC -(void)handleBusiness:(CompletionBlock)completion{ NSLog(BusinessObjectC); if ([self.LB.text isEqualToString:0]) { completion(YES); }else{ completion(NO); } } end //模拟处理逻辑优先级 #import ViewController.h #import BusinessObjectA.h #import BusinessObjectB.h #import BusinessObjectC.h interface ViewController () //背景变红色 property (nonatomic,assign) BOOL isOuShu; property (weak, nonatomic) IBOutlet UILabel *LBOne; property (weak, nonatomic) IBOutlet UILabel *LBTwo; property (weak, nonatomic) IBOutlet UILabel *LBThree; property (nonatomic,strong) NSArray *testArray; property (weak, nonatomic) IBOutlet UIButton *testBtn; end implementation ViewController -(NSArray *)testArray{ if(!_testArray){ _testArray [1,2,3]; } return _testArray; } - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view.} - (IBAction)ClickAction:(id)sender { int x arc4random() % 3;//0 1 2 模拟责任链中密码、手势、指纹的优先级 self.LBOne.text [NSString stringWithFormat:%d,x]; self.LBTwo.text [NSString stringWithFormat:%d,x-1]; self.LBThree.text [NSString stringWithFormat:%d,x-2]; //开始责任链 //a指纹 BusinessObjectA *objA [BusinessObjectA new]; objA.LB self.LBOne; [objA handle:^(BusinessObject * _Nonnull handler, BOOL handled) { if(handled){ NSLog(a_yes_handler_test:%,handler.LB.text); [self.testBtn setTitle:LBOne forState:UIControlStateNormal]; }else{ NSLog(a_no_handler_test:%,handler.LB.text); } }]; //b手势 BusinessObjectB *objB [BusinessObjectB new]; objB.LB self.LBTwo; objA.nextBusiness objB; [objB handle:^(BusinessObject * _Nonnull handler, BOOL handled) { if(handled){ NSLog(b_yes_handler_test:%,handler.LB.text); [self.testBtn setTitle:LBTwo forState:UIControlStateNormal]; }else{ NSLog(b_no_handler_test:%,handler.LB.text); } }]; //cOCR BusinessObjectC *objC [BusinessObjectC new]; objC.LB self.LBThree; objB.nextBusiness objC; [objC handle:^(BusinessObject * _Nonnull handler, BOOL handled) { if(handled){ [self.testBtn setTitle:LBThree forState:UIControlStateNormal]; NSLog(c_yes_handler_test:%,handler.LB.text); }else{ NSLog(c_no_handler_test:%,handler.LB.text); } }]; } end
http://www.huolong8.cn/news/157979/

相关文章:

  • 为什么公司网站打开很慢wordpress排版乱 了
  • 北京做网站报价新手织梦网建设网站
  • 免费画图网站宿城区住房和城乡建设局网站
  • 网站软文代写建设厅官方网站企业库
  • 成都seo整站产品设计作品
  • 漯河市郾城区网站建设洛阳微信平台网站建设
  • 网站自己可以备案吗个人网站要求
  • 百度小程序对网站seo12306网站制作
  • 宛城区建网站临清网站优化
  • 阜宁做网站哪家好公司网站更换域名
  • 空间建设网站公司创建一个网站多少钱
  • 网站开发商品排序逻辑阿里巴巴运营的工作内容
  • 网站树状栏目有点昆明网站建设开发制作
  • 网站引导制作做电商一般月入多少钱
  • 自己做的网站微信pc端显示乱码电商网站有哪些使用场景
  • 网站建立分站西安seo推广
  • 勒流顺德网站建设如何设计好的网页
  • 外贸网站建设哪里实惠湖南益阳新增本土确诊0例
  • 企业网站运营推广难做吗互联网公司排名名单
  • 天津百度网站快速优化wordpress后台修改文章浏览数
  • 成都网站建设 哪家比较好个人建设网站盈利需要什么材料
  • 深圳一定火网站建设增城定制型网站建设
  • dw怎么做百度页面网站适合seo的建站系统
  • 石家庄个人建站网站策划成都微信网站设计
  • 企业网站建设产品设计书找网站设计公司 看那些
  • 做外贸需要自己建网站吗安装wordpress教程
  • 江西企业网站建设价格建筑企业分公司使用总公司资质
  • 郑州网站如何制作怎样做网站
  • 三亚论坛seo如何提升排名收录
  • 用PS做网站搜索框相机网站建设规划书