企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
一,iOS客户端概述 iOS客户端包含接口以及人脸活体认证两大模块。人脸活体认证负责采集用户头像信息,仅供参考,不建议直接使用。客户可按示例代码方式替换为自有活体认证库。因此本文档不含活体认证模块说明。示例代码网络采用AFNetworking库,如有需要客户可自行导入。 二,接口使用说明 接口采用json格式传输,数据用AES128 CBC模式加密。AES密钥请参考管理系统的机构应用信息章节,其他参数设置见示例代码。目前接口仅有身份认证申请以及身份认证请求接口。 1, 身份认证申请对象如下: ``` @interface NLPCTIDGetBizSerialNumRequest : NLPCTIDBaseRequest /** 认证模式,参考NLPCTIDSystemManager中NLPCTIDValidateModeType定义 */ @property(nonatomic,strong) NSString *authMode; @end ``` 返回对象如下: ``` @interface NLPCTIDGetBizSerialNumModel : NSObject /** 业务流水号 */ @property (nonatomic, strong) NSString *bizSerialNum; /** 随机码 */ @property (nonatomic, strong) NSString *randNum; @end @interface NLPCTIDGetBizSerialNumResponse : NLPCTIDBaseResponse @property (nonatomic, strong)NLPCTIDGetBizSerialNumModel *data; @end ``` 身份认证申请接口示例: ``` -(void)getValidateIdentityNumber:(NLPCTIDValidateIdentityRequest*)request{ NLPCTIDGetBizSerialNumRequest *bizRequest = [[NLPCTIDGetBizSerialNumRequest alloc]init]; bizRequest.authMode = request.authMode; [NLPCTIDPlatfromIF getBizSerialNum:bizRequest completion:^(NLPCTIDGetBizSerialNumResponse *response, NSError *error) { BOOL isSuccess; NSString *codeMsg; if([response isValidVResponse]){ self.vRequest.bizSerialNum = response.data.bizSerialNum; [self startValidateIdentityRequest:self.vRequest]; isSuccess = YES; codeMsg = @""; return ; }else if(response.msg){ isSuccess = NO; codeMsg = response.msg; }else{ isSuccess = NO; codeMsg = error.domain; } [self callBackNlpCTIDFinishValidateIdentity:isSuccess errorMsg:codeMsg]; }]; } ``` 2, 身份认证请求对象如下: ``` @interface NLPCTIDValidateIdentityRequest : NLPCTIDBaseRequest /** 业务流水号(必填) */ @property (nonatomic, strong) NSString *bizSerialNum; /** 认证模式(必填) */ @property(nonatomic,strong) NSString *authMode; /** 待认证用户头像图片(选填) */ @property (nonatomic, strong) NSString *photoData; /** 待认证用户姓名(选填) */ @property(nonatomic,strong) NSString *name; /** 待认证用户身份证号码(选填) */ @property (nonatomic, strong) NSString *number; /** 待认证用户身份证号码起始日期 按年月日格式如20150211 (选填) */ @property(nonatomic,strong) NSString *validDateStart; /** 待认证用户身份证号码截止日期 按年月日格式如20150211 (选填) */ @property (nonatomic, strong) NSString *validDateEnd; @end ``` 返回对象如下: ``` @interface NLPCTIDValidateIdentityData :NSObject /** 认证结果,认证通过为空 */ @property(nonatomic,strong)NSString *authResult; @end @interface NLPCTIDValidateIdentityResponse : NLPCTIDBaseResponse @property(nonatomic,strong)NLPCTIDValidateIdentityData *data; @end ``` 身份认证接口调用示例: ``` -(void)startValidateIdentityRequest:(NLPCTIDValidateIdentityRequest*)request{ [NLPCTIDPlatfromIF startCTIDValidateIdentity:request completion:^(NLPCTIDValidateIdentityResponse *response, NSError *error) { BOOL isSuccess; NSString *codeMsg; if([response isValidVResponse]){ isSuccess = YES; codeMsg = response.msg; }else if(response.msg){ isSuccess = NO; codeMsg = response.msg; }else{ isSuccess = NO; codeMsg = error.domain; } [self callBackNlpCTIDFinishValidateIdentity:isSuccess errorMsg:codeMsg]; }]; } ``` 三,其他 示例代码未包含APP鉴权等模块,仅实现核心业务逻辑,客户可根据自身业务场景需要进行扩展。