cloudauth-20201112/main.tea (639 lines of code) (raw):

/** * */ import Util; import OSS; import OpenPlatform; import OSSUtil; import FileForm; import OpenApi; import OpenApiUtil; import EndpointUtil; extends OpenApi; init(config: OpenApi.Config){ super(config); @endpointRule = 'central'; checkConfig(config); @endpoint = getEndpoint('cloudauth', @regionId, @endpointRule, @network, @suffix, @endpointMap, @endpoint); } function getEndpoint(productId: string, regionId: string, endpointRule: string, network: string, suffix: string, endpointMap: map[string]string, endpoint: string) throws: string{ if (!Util.empty(endpoint)) { return endpoint; } if (!Util.isUnset(endpointMap) && !Util.empty(endpointMap[regionId])) { return endpointMap[regionId]; } return EndpointUtil.getEndpointRules(productId, regionId, endpointRule, network, suffix); } model CompareFacesRequest { bizId?: string(name='BizId'), bizType?: string(name='BizType'), sourceImageBase64?: string(name='SourceImageBase64'), sourceImageUrl?: string(name='SourceImageUrl'), targetImageBase64?: string(name='TargetImageBase64'), targetImageUrl?: string(name='TargetImageUrl'), } model CompareFacesResponseBody = { code?: string(name='Code'), message?: string(name='Message'), requestId?: string(name='RequestId'), resultObject?: { confidenceThresholds?: string(name='ConfidenceThresholds'), similarityScore?: float(name='SimilarityScore'), }(name='ResultObject'), success?: boolean(name='Success'), } model CompareFacesResponse = { headers: map[string]string(name='headers'), statusCode: int32(name='statusCode'), body: CompareFacesResponseBody(name='body'), } async function compareFacesWithOptions(request: CompareFacesRequest, runtime: Util.RuntimeOptions): CompareFacesResponse { Util.validateModel(request); var body : map[string]any = {}; if (!Util.isUnset(request.bizId)) { body['BizId'] = request.bizId; } if (!Util.isUnset(request.bizType)) { body['BizType'] = request.bizType; } if (!Util.isUnset(request.sourceImageBase64)) { body['SourceImageBase64'] = request.sourceImageBase64; } if (!Util.isUnset(request.sourceImageUrl)) { body['SourceImageUrl'] = request.sourceImageUrl; } if (!Util.isUnset(request.targetImageBase64)) { body['TargetImageBase64'] = request.targetImageBase64; } if (!Util.isUnset(request.targetImageUrl)) { body['TargetImageUrl'] = request.targetImageUrl; } var req = new OpenApi.OpenApiRequest{ body = OpenApiUtil.parseToMap(body), }; var params = new OpenApi.Params{ action = 'CompareFaces', version = '2020-11-12', protocol = 'HTTPS', pathname = '/', method = 'POST', authType = 'AK', style = 'RPC', reqBodyType = 'formData', bodyType = 'json', }; return callApi(params, req, runtime); } async function compareFaces(request: CompareFacesRequest): CompareFacesResponse { var runtime = new Util.RuntimeOptions{}; return compareFacesWithOptions(request, runtime); } model DescribeVerifyResultRequest { bizId?: string(name='BizId'), bizType?: string(name='BizType'), } model DescribeVerifyResultResponseBody = { code?: string(name='Code'), message?: string(name='Message'), requestId?: string(name='RequestId'), resultObject?: { authorityComparisionScore?: float(name='AuthorityComparisionScore'), faceComparisonScore?: float(name='FaceComparisonScore'), idCardFaceComparisonScore?: float(name='IdCardFaceComparisonScore'), material?: { faceGlobalUrl?: string(name='FaceGlobalUrl'), faceImageUrl?: string(name='FaceImageUrl'), faceMask?: boolean(name='FaceMask'), faceQuality?: string(name='FaceQuality'), idCardInfo?: { address?: string(name='Address'), authority?: string(name='Authority'), backImageUrl?: string(name='BackImageUrl'), birth?: string(name='Birth'), endDate?: string(name='EndDate'), frontImageUrl?: string(name='FrontImageUrl'), name?: string(name='Name'), nationality?: string(name='Nationality'), number?: string(name='Number'), startDate?: string(name='StartDate'), }(name='IdCardInfo'), idCardName?: string(name='IdCardName'), idCardNumber?: string(name='IdCardNumber'), videoUrls?: [ string ](name='VideoUrls'), }(name='Material'), verifyStatus?: int32(name='VerifyStatus'), }(name='ResultObject'), success?: boolean(name='Success'), } model DescribeVerifyResultResponse = { headers: map[string]string(name='headers'), statusCode: int32(name='statusCode'), body: DescribeVerifyResultResponseBody(name='body'), } async function describeVerifyResultWithOptions(request: DescribeVerifyResultRequest, runtime: Util.RuntimeOptions): DescribeVerifyResultResponse { Util.validateModel(request); var query = {}; if (!Util.isUnset(request.bizId)) { query['BizId'] = request.bizId; } if (!Util.isUnset(request.bizType)) { query['BizType'] = request.bizType; } var req = new OpenApi.OpenApiRequest{ query = OpenApiUtil.query(query), }; var params = new OpenApi.Params{ action = 'DescribeVerifyResult', version = '2020-11-12', protocol = 'HTTPS', pathname = '/', method = 'POST', authType = 'AK', style = 'RPC', reqBodyType = 'formData', bodyType = 'json', }; return callApi(params, req, runtime); } async function describeVerifyResult(request: DescribeVerifyResultRequest): DescribeVerifyResultResponse { var runtime = new Util.RuntimeOptions{}; return describeVerifyResultWithOptions(request, runtime); } model DescribeVerifyTokenRequest { bizId?: string(name='BizId'), bizType?: string(name='BizType'), faceRetainedImageUrl?: string(name='FaceRetainedImageUrl'), idCardBackImageUrl?: string(name='IdCardBackImageUrl'), idCardFrontImageUrl?: string(name='IdCardFrontImageUrl'), idCardNumber?: string(name='IdCardNumber'), name?: string(name='Name'), userId?: string(name='UserId'), userIp?: string(name='UserIp'), userPhoneNumber?: string(name='UserPhoneNumber'), userRegistTime?: long(name='UserRegistTime'), } model DescribeVerifyTokenResponseBody = { code?: string(name='Code'), message?: string(name='Message'), requestId?: string(name='RequestId'), resultObject?: { verifyPageUrl?: string(name='VerifyPageUrl'), verifyToken?: string(name='VerifyToken'), }(name='ResultObject'), success?: boolean(name='Success'), } model DescribeVerifyTokenResponse = { headers: map[string]string(name='headers'), statusCode: int32(name='statusCode'), body: DescribeVerifyTokenResponseBody(name='body'), } async function describeVerifyTokenWithOptions(request: DescribeVerifyTokenRequest, runtime: Util.RuntimeOptions): DescribeVerifyTokenResponse { Util.validateModel(request); var query = {}; if (!Util.isUnset(request.bizId)) { query['BizId'] = request.bizId; } if (!Util.isUnset(request.bizType)) { query['BizType'] = request.bizType; } if (!Util.isUnset(request.faceRetainedImageUrl)) { query['FaceRetainedImageUrl'] = request.faceRetainedImageUrl; } if (!Util.isUnset(request.idCardBackImageUrl)) { query['IdCardBackImageUrl'] = request.idCardBackImageUrl; } if (!Util.isUnset(request.idCardFrontImageUrl)) { query['IdCardFrontImageUrl'] = request.idCardFrontImageUrl; } if (!Util.isUnset(request.idCardNumber)) { query['IdCardNumber'] = request.idCardNumber; } if (!Util.isUnset(request.name)) { query['Name'] = request.name; } if (!Util.isUnset(request.userId)) { query['UserId'] = request.userId; } if (!Util.isUnset(request.userIp)) { query['UserIp'] = request.userIp; } if (!Util.isUnset(request.userPhoneNumber)) { query['UserPhoneNumber'] = request.userPhoneNumber; } if (!Util.isUnset(request.userRegistTime)) { query['UserRegistTime'] = request.userRegistTime; } var req = new OpenApi.OpenApiRequest{ query = OpenApiUtil.query(query), }; var params = new OpenApi.Params{ action = 'DescribeVerifyToken', version = '2020-11-12', protocol = 'HTTPS', pathname = '/', method = 'POST', authType = 'AK', style = 'RPC', reqBodyType = 'formData', bodyType = 'json', }; return callApi(params, req, runtime); } async function describeVerifyToken(request: DescribeVerifyTokenRequest): DescribeVerifyTokenResponse { var runtime = new Util.RuntimeOptions{}; return describeVerifyTokenWithOptions(request, runtime); } model DetectFaceAttributesRequest { bizId?: string(name='BizId'), bizType?: string(name='BizType'), imageFile?: string(name='ImageFile'), imageUrl?: string(name='ImageUrl'), } model DetectFaceAttributesAdvanceRequest { bizId?: string(name='BizId'), bizType?: string(name='BizType'), imageFileObject?: readable(name='ImageFile'), imageUrl?: string(name='ImageUrl'), } model DetectFaceAttributesResponseBody = { code?: string(name='Code'), message?: string(name='Message'), requestId?: string(name='RequestId'), resultObject?: { faceInfos?: { faceAttributesDetectInfo?: [ { faceAttributes?: { blur?: float(name='Blur'), facequal?: float(name='Facequal'), facetype?: string(name='Facetype'), glasses?: string(name='Glasses'), headpose?: { pitchAngle?: float(name='PitchAngle'), rollAngle?: float(name='RollAngle'), yawAngle?: float(name='YawAngle'), }(name='Headpose'), integrity?: int32(name='Integrity'), respirator?: string(name='Respirator'), smiling?: { threshold?: float(name='Threshold'), value?: float(name='Value'), }(name='Smiling'), }(name='FaceAttributes'), faceRect?: { height?: int32(name='Height'), left?: int32(name='Left'), top?: int32(name='Top'), width?: int32(name='Width'), }(name='FaceRect'), } ](name='FaceAttributesDetectInfo') }(name='FaceInfos'), imgHeight?: int32(name='ImgHeight'), imgWidth?: int32(name='ImgWidth'), }(name='ResultObject'), success?: boolean(name='Success'), } model DetectFaceAttributesResponse = { headers: map[string]string(name='headers'), statusCode: int32(name='statusCode'), body: DetectFaceAttributesResponseBody(name='body'), } async function detectFaceAttributesWithOptions(request: DetectFaceAttributesRequest, runtime: Util.RuntimeOptions): DetectFaceAttributesResponse { Util.validateModel(request); var body : map[string]any = {}; if (!Util.isUnset(request.bizId)) { body['BizId'] = request.bizId; } if (!Util.isUnset(request.bizType)) { body['BizType'] = request.bizType; } if (!Util.isUnset(request.imageFile)) { body['ImageFile'] = request.imageFile; } if (!Util.isUnset(request.imageUrl)) { body['ImageUrl'] = request.imageUrl; } var req = new OpenApi.OpenApiRequest{ body = OpenApiUtil.parseToMap(body), }; var params = new OpenApi.Params{ action = 'DetectFaceAttributes', version = '2020-11-12', protocol = 'HTTPS', pathname = '/', method = 'POST', authType = 'AK', style = 'RPC', reqBodyType = 'formData', bodyType = 'json', }; return callApi(params, req, runtime); } async function detectFaceAttributes(request: DetectFaceAttributesRequest): DetectFaceAttributesResponse { var runtime = new Util.RuntimeOptions{}; return detectFaceAttributesWithOptions(request, runtime); } async function detectFaceAttributesAdvance(request: DetectFaceAttributesAdvanceRequest, runtime: Util.RuntimeOptions): DetectFaceAttributesResponse { // Step 0: init client var accessKeyId = @credential.getAccessKeyId(); var accessKeySecret = @credential.getAccessKeySecret(); var securityToken = @credential.getSecurityToken(); var credentialType = @credential.getType(); var openPlatformEndpoint = @openPlatformEndpoint; if(Util.isUnset(openPlatformEndpoint)) { openPlatformEndpoint ='openplatform.aliyuncs.com'; } if(Util.isUnset(credentialType)) { credentialType ='access_key'; } var authConfig = new OpenApi.Config{ accessKeyId = accessKeyId, accessKeySecret = accessKeySecret, securityToken = securityToken, type = credentialType, endpoint = openPlatformEndpoint, protocol = @protocol, regionId = @regionId, }; var authClient = new OpenPlatform(authConfig); var authRequest = new OpenPlatform.AuthorizeFileUploadRequest{ product = 'Cloudauth', regionId = @regionId, }; var authResponse = new OpenPlatform.AuthorizeFileUploadResponse{}; var ossConfig = new OSS.Config{ accessKeySecret = accessKeySecret, type = 'access_key', protocol = @protocol, regionId = @regionId, }; var ossClient : OSS = null; var fileObj = new FileForm.FileField{}; var ossHeader = new OSS.PostObjectRequest.header{}; var uploadRequest = new OSS.PostObjectRequest{}; var ossRuntime = new OSSUtil.RuntimeOptions{}; OpenApiUtil.convert(runtime, ossRuntime); var detectFaceAttributesReq = new DetectFaceAttributesRequest{}; OpenApiUtil.convert(request, detectFaceAttributesReq); if(!Util.isUnset(request.imageFileObject)) { authResponse = authClient.authorizeFileUploadWithOptions(authRequest, runtime); ossConfig.accessKeyId = authResponse.body.accessKeyId; ossConfig.endpoint = OpenApiUtil.getEndpoint(authResponse.body.endpoint, authResponse.body.useAccelerate, @endpointType); ossClient = new OSS(ossConfig); fileObj = new FileForm.FileField{ filename = authResponse.body.objectKey, content = request.imageFileObject, contentType = '', }; ossHeader = new OSS.PostObjectRequest.header{ accessKeyId = authResponse.body.accessKeyId, policy = authResponse.body.encodedPolicy, signature = authResponse.body.signature, key = authResponse.body.objectKey, file = fileObj, successActionStatus = '201', }; uploadRequest = new OSS.PostObjectRequest{ bucketName = authResponse.body.bucket, header = ossHeader, }; ossClient.postObject(uploadRequest, ossRuntime); detectFaceAttributesReq.imageFile = `http://${authResponse.body.bucket}.${authResponse.body.endpoint}/${authResponse.body.objectKey}`; } var detectFaceAttributesResp = detectFaceAttributesWithOptions(detectFaceAttributesReq, runtime); return detectFaceAttributesResp; } model LivenessDetectRequest { bizId?: string(name='BizId'), bizType?: string(name='BizType'), mediaCategory?: string(name='MediaCategory'), mediaFile?: string(name='MediaFile'), mediaUrl?: string(name='MediaUrl'), } model LivenessDetectAdvanceRequest { bizId?: string(name='BizId'), bizType?: string(name='BizType'), mediaCategory?: string(name='MediaCategory'), mediaFileObject?: readable(name='MediaFile'), mediaUrl?: string(name='MediaUrl'), } model LivenessDetectResponseBody = { code?: string(name='Code'), message?: string(name='Message'), requestId?: string(name='RequestId'), resultObject?: { frameUrl?: string(name='FrameUrl'), passed?: string(name='Passed'), score?: float(name='Score'), }(name='ResultObject'), success?: boolean(name='Success'), } model LivenessDetectResponse = { headers: map[string]string(name='headers'), statusCode: int32(name='statusCode'), body: LivenessDetectResponseBody(name='body'), } async function livenessDetectWithOptions(request: LivenessDetectRequest, runtime: Util.RuntimeOptions): LivenessDetectResponse { Util.validateModel(request); var body : map[string]any = {}; if (!Util.isUnset(request.bizId)) { body['BizId'] = request.bizId; } if (!Util.isUnset(request.bizType)) { body['BizType'] = request.bizType; } if (!Util.isUnset(request.mediaCategory)) { body['MediaCategory'] = request.mediaCategory; } if (!Util.isUnset(request.mediaFile)) { body['MediaFile'] = request.mediaFile; } if (!Util.isUnset(request.mediaUrl)) { body['MediaUrl'] = request.mediaUrl; } var req = new OpenApi.OpenApiRequest{ body = OpenApiUtil.parseToMap(body), }; var params = new OpenApi.Params{ action = 'LivenessDetect', version = '2020-11-12', protocol = 'HTTPS', pathname = '/', method = 'POST', authType = 'AK', style = 'RPC', reqBodyType = 'formData', bodyType = 'json', }; return callApi(params, req, runtime); } async function livenessDetect(request: LivenessDetectRequest): LivenessDetectResponse { var runtime = new Util.RuntimeOptions{}; return livenessDetectWithOptions(request, runtime); } async function livenessDetectAdvance(request: LivenessDetectAdvanceRequest, runtime: Util.RuntimeOptions): LivenessDetectResponse { // Step 0: init client var accessKeyId = @credential.getAccessKeyId(); var accessKeySecret = @credential.getAccessKeySecret(); var securityToken = @credential.getSecurityToken(); var credentialType = @credential.getType(); var openPlatformEndpoint = @openPlatformEndpoint; if(Util.isUnset(openPlatformEndpoint)) { openPlatformEndpoint ='openplatform.aliyuncs.com'; } if(Util.isUnset(credentialType)) { credentialType ='access_key'; } var authConfig = new OpenApi.Config{ accessKeyId = accessKeyId, accessKeySecret = accessKeySecret, securityToken = securityToken, type = credentialType, endpoint = openPlatformEndpoint, protocol = @protocol, regionId = @regionId, }; var authClient = new OpenPlatform(authConfig); var authRequest = new OpenPlatform.AuthorizeFileUploadRequest{ product = 'Cloudauth', regionId = @regionId, }; var authResponse = new OpenPlatform.AuthorizeFileUploadResponse{}; var ossConfig = new OSS.Config{ accessKeySecret = accessKeySecret, type = 'access_key', protocol = @protocol, regionId = @regionId, }; var ossClient : OSS = null; var fileObj = new FileForm.FileField{}; var ossHeader = new OSS.PostObjectRequest.header{}; var uploadRequest = new OSS.PostObjectRequest{}; var ossRuntime = new OSSUtil.RuntimeOptions{}; OpenApiUtil.convert(runtime, ossRuntime); var livenessDetectReq = new LivenessDetectRequest{}; OpenApiUtil.convert(request, livenessDetectReq); if(!Util.isUnset(request.mediaFileObject)) { authResponse = authClient.authorizeFileUploadWithOptions(authRequest, runtime); ossConfig.accessKeyId = authResponse.body.accessKeyId; ossConfig.endpoint = OpenApiUtil.getEndpoint(authResponse.body.endpoint, authResponse.body.useAccelerate, @endpointType); ossClient = new OSS(ossConfig); fileObj = new FileForm.FileField{ filename = authResponse.body.objectKey, content = request.mediaFileObject, contentType = '', }; ossHeader = new OSS.PostObjectRequest.header{ accessKeyId = authResponse.body.accessKeyId, policy = authResponse.body.encodedPolicy, signature = authResponse.body.signature, key = authResponse.body.objectKey, file = fileObj, successActionStatus = '201', }; uploadRequest = new OSS.PostObjectRequest{ bucketName = authResponse.body.bucket, header = ossHeader, }; ossClient.postObject(uploadRequest, ossRuntime); livenessDetectReq.mediaFile = `http://${authResponse.body.bucket}.${authResponse.body.endpoint}/${authResponse.body.objectKey}`; } var livenessDetectResp = livenessDetectWithOptions(livenessDetectReq, runtime); return livenessDetectResp; } model VerifyMaterialRequest { bizId?: string(name='BizId'), bizType?: string(name='BizType'), faceImageUrl?: string(name='FaceImageUrl'), idCardBackImageUrl?: string(name='IdCardBackImageUrl'), idCardFrontImageUrl?: string(name='IdCardFrontImageUrl'), idCardNumber?: string(name='IdCardNumber'), name?: string(name='Name'), userId?: string(name='UserId'), } model VerifyMaterialResponseBody = { code?: string(name='Code'), message?: string(name='Message'), requestId?: string(name='RequestId'), resultObject?: { authorityComparisionScore?: float(name='AuthorityComparisionScore'), idCardFaceComparisonScore?: float(name='IdCardFaceComparisonScore'), material?: { faceGlobalUrl?: string(name='FaceGlobalUrl'), faceImageUrl?: string(name='FaceImageUrl'), faceMask?: string(name='FaceMask'), faceQuality?: string(name='FaceQuality'), idCardInfo?: { address?: string(name='Address'), authority?: string(name='Authority'), backImageUrl?: string(name='BackImageUrl'), birth?: string(name='Birth'), endDate?: string(name='EndDate'), frontImageUrl?: string(name='FrontImageUrl'), name?: string(name='Name'), nationality?: string(name='Nationality'), number?: string(name='Number'), startDate?: string(name='StartDate'), }(name='IdCardInfo'), idCardName?: string(name='IdCardName'), idCardNumber?: string(name='IdCardNumber'), }(name='Material'), verifyStatus?: int32(name='VerifyStatus'), verifyToken?: string(name='VerifyToken'), }(name='ResultObject'), success?: boolean(name='Success'), } model VerifyMaterialResponse = { headers: map[string]string(name='headers'), statusCode: int32(name='statusCode'), body: VerifyMaterialResponseBody(name='body'), } async function verifyMaterialWithOptions(request: VerifyMaterialRequest, runtime: Util.RuntimeOptions): VerifyMaterialResponse { Util.validateModel(request); var query = {}; if (!Util.isUnset(request.bizId)) { query['BizId'] = request.bizId; } if (!Util.isUnset(request.bizType)) { query['BizType'] = request.bizType; } if (!Util.isUnset(request.faceImageUrl)) { query['FaceImageUrl'] = request.faceImageUrl; } if (!Util.isUnset(request.idCardBackImageUrl)) { query['IdCardBackImageUrl'] = request.idCardBackImageUrl; } if (!Util.isUnset(request.idCardFrontImageUrl)) { query['IdCardFrontImageUrl'] = request.idCardFrontImageUrl; } if (!Util.isUnset(request.idCardNumber)) { query['IdCardNumber'] = request.idCardNumber; } if (!Util.isUnset(request.name)) { query['Name'] = request.name; } if (!Util.isUnset(request.userId)) { query['UserId'] = request.userId; } var req = new OpenApi.OpenApiRequest{ query = OpenApiUtil.query(query), }; var params = new OpenApi.Params{ action = 'VerifyMaterial', version = '2020-11-12', protocol = 'HTTPS', pathname = '/', method = 'POST', authType = 'AK', style = 'RPC', reqBodyType = 'formData', bodyType = 'json', }; return callApi(params, req, runtime); } async function verifyMaterial(request: VerifyMaterialRequest): VerifyMaterialResponse { var runtime = new Util.RuntimeOptions{}; return verifyMaterialWithOptions(request, runtime); }