sdk-team 6 лет назад
Родитель
Сommit
6393d2204b

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2020-10-20 Version: patch
+- Add LivenessFaceVerify API.
+
 2020-10-20 Version: patch
 - Update Configuration.
 

+ 4 - 0
cloudauth/CMakeLists.txt

@@ -83,6 +83,8 @@ set(cloudauth_public_header_model
 	include/alibabacloud/cloudauth/model/InitFaceVerifyResult.h
 	include/alibabacloud/cloudauth/model/InitSmartVerifyRequest.h
 	include/alibabacloud/cloudauth/model/InitSmartVerifyResult.h
+	include/alibabacloud/cloudauth/model/LivenessFaceVerifyRequest.h
+	include/alibabacloud/cloudauth/model/LivenessFaceVerifyResult.h
 	include/alibabacloud/cloudauth/model/ModifyDeviceInfoRequest.h
 	include/alibabacloud/cloudauth/model/ModifyDeviceInfoResult.h
 	include/alibabacloud/cloudauth/model/SubmitMaterialsRequest.h
@@ -162,6 +164,8 @@ set(cloudauth_src
 	src/model/InitFaceVerifyResult.cc
 	src/model/InitSmartVerifyRequest.cc
 	src/model/InitSmartVerifyResult.cc
+	src/model/LivenessFaceVerifyRequest.cc
+	src/model/LivenessFaceVerifyResult.cc
 	src/model/ModifyDeviceInfoRequest.cc
 	src/model/ModifyDeviceInfoResult.cc
 	src/model/SubmitMaterialsRequest.cc

+ 8 - 0
cloudauth/include/alibabacloud/cloudauth/CloudauthClient.h

@@ -84,6 +84,8 @@
 #include "model/InitFaceVerifyResult.h"
 #include "model/InitSmartVerifyRequest.h"
 #include "model/InitSmartVerifyResult.h"
+#include "model/LivenessFaceVerifyRequest.h"
+#include "model/LivenessFaceVerifyResult.h"
 #include "model/ModifyDeviceInfoRequest.h"
 #include "model/ModifyDeviceInfoResult.h"
 #include "model/SubmitMaterialsRequest.h"
@@ -200,6 +202,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::InitSmartVerifyResult> InitSmartVerifyOutcome;
 			typedef std::future<InitSmartVerifyOutcome> InitSmartVerifyOutcomeCallable;
 			typedef std::function<void(const CloudauthClient*, const Model::InitSmartVerifyRequest&, const InitSmartVerifyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> InitSmartVerifyAsyncHandler;
+			typedef Outcome<Error, Model::LivenessFaceVerifyResult> LivenessFaceVerifyOutcome;
+			typedef std::future<LivenessFaceVerifyOutcome> LivenessFaceVerifyOutcomeCallable;
+			typedef std::function<void(const CloudauthClient*, const Model::LivenessFaceVerifyRequest&, const LivenessFaceVerifyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> LivenessFaceVerifyAsyncHandler;
 			typedef Outcome<Error, Model::ModifyDeviceInfoResult> ModifyDeviceInfoOutcome;
 			typedef std::future<ModifyDeviceInfoOutcome> ModifyDeviceInfoOutcomeCallable;
 			typedef std::function<void(const CloudauthClient*, const Model::ModifyDeviceInfoRequest&, const ModifyDeviceInfoOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ModifyDeviceInfoAsyncHandler;
@@ -319,6 +324,9 @@ namespace AlibabaCloud
 			InitSmartVerifyOutcome initSmartVerify(const Model::InitSmartVerifyRequest &request)const;
 			void initSmartVerifyAsync(const Model::InitSmartVerifyRequest& request, const InitSmartVerifyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			InitSmartVerifyOutcomeCallable initSmartVerifyCallable(const Model::InitSmartVerifyRequest& request) const;
+			LivenessFaceVerifyOutcome livenessFaceVerify(const Model::LivenessFaceVerifyRequest &request)const;
+			void livenessFaceVerifyAsync(const Model::LivenessFaceVerifyRequest& request, const LivenessFaceVerifyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			LivenessFaceVerifyOutcomeCallable livenessFaceVerifyCallable(const Model::LivenessFaceVerifyRequest& request) const;
 			ModifyDeviceInfoOutcome modifyDeviceInfo(const Model::ModifyDeviceInfoRequest &request)const;
 			void modifyDeviceInfoAsync(const Model::ModifyDeviceInfoRequest& request, const ModifyDeviceInfoAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ModifyDeviceInfoOutcomeCallable modifyDeviceInfoCallable(const Model::ModifyDeviceInfoRequest& request) const;

+ 6 - 0
cloudauth/include/alibabacloud/cloudauth/model/InitFaceVerifyRequest.h

@@ -67,8 +67,12 @@ namespace AlibabaCloud
 				void setSceneId(long sceneId);
 				std::string getOssBucketName()const;
 				void setOssBucketName(const std::string& ossBucketName);
+				std::string getCallbackToken()const;
+				void setCallbackToken(const std::string& callbackToken);
 				std::string getReturnUrl()const;
 				void setReturnUrl(const std::string& returnUrl);
+				std::string getCallbackUrl()const;
+				void setCallbackUrl(const std::string& callbackUrl);
 
             private:
 				std::string productCode_;
@@ -87,7 +91,9 @@ namespace AlibabaCloud
 				std::string mobile_;
 				long sceneId_;
 				std::string ossBucketName_;
+				std::string callbackToken_;
 				std::string returnUrl_;
+				std::string callbackUrl_;
 
 			};
 		}

+ 33 - 12
cloudauth/include/alibabacloud/cloudauth/model/InitSmartVerifyRequest.h

@@ -35,14 +35,12 @@ namespace AlibabaCloud
 				InitSmartVerifyRequest();
 				~InitSmartVerifyRequest();
 
-				std::string getIp()const;
-				void setIp(const std::string& ip);
-				std::string getCertName()const;
-				void setCertName(const std::string& certName);
-				std::string getMobile()const;
-				void setMobile(const std::string& mobile);
 				std::string getUserId()const;
 				void setUserId(const std::string& userId);
+				std::string getCertifyId()const;
+				void setCertifyId(const std::string& certifyId);
+				std::string getFacePictureBase64()const;
+				void setFacePictureBase64(const std::string& facePictureBase64);
 				std::string getMode()const;
 				void setMode(const std::string& mode);
 				std::string getCertNo()const;
@@ -51,25 +49,48 @@ namespace AlibabaCloud
 				void setOuterOrderNo(const std::string& outerOrderNo);
 				std::string getCertType()const;
 				void setCertType(const std::string& certType);
-				long getSceneId()const;
-				void setSceneId(long sceneId);
 				std::string getMetaInfo()const;
 				void setMetaInfo(const std::string& metaInfo);
 				std::string getOcr()const;
 				void setOcr(const std::string& ocr);
+				std::string getOssObjectName()const;
+				void setOssObjectName(const std::string& ossObjectName);
+				std::string getFacePictureUrl()const;
+				void setFacePictureUrl(const std::string& facePictureUrl);
+				std::string getIp()const;
+				void setIp(const std::string& ip);
+				std::string getCertName()const;
+				void setCertName(const std::string& certName);
+				std::string getMobile()const;
+				void setMobile(const std::string& mobile);
+				long getSceneId()const;
+				void setSceneId(long sceneId);
+				std::string getCallbackToken()const;
+				void setCallbackToken(const std::string& callbackToken);
+				std::string getOssBucketName()const;
+				void setOssBucketName(const std::string& ossBucketName);
+				std::string getCallbackUrl()const;
+				void setCallbackUrl(const std::string& callbackUrl);
 
             private:
-				std::string ip_;
-				std::string certName_;
-				std::string mobile_;
 				std::string userId_;
+				std::string certifyId_;
+				std::string facePictureBase64_;
 				std::string mode_;
 				std::string certNo_;
 				std::string outerOrderNo_;
 				std::string certType_;
-				long sceneId_;
 				std::string metaInfo_;
 				std::string ocr_;
+				std::string ossObjectName_;
+				std::string facePictureUrl_;
+				std::string ip_;
+				std::string certName_;
+				std::string mobile_;
+				long sceneId_;
+				std::string callbackToken_;
+				std::string ossBucketName_;
+				std::string callbackUrl_;
 
 			};
 		}

+ 84 - 0
cloudauth/include/alibabacloud/cloudauth/model/LivenessFaceVerifyRequest.h

@@ -0,0 +1,84 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CLOUDAUTH_MODEL_LIVENESSFACEVERIFYREQUEST_H_
+#define ALIBABACLOUD_CLOUDAUTH_MODEL_LIVENESSFACEVERIFYREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cloudauth/CloudauthExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cloudauth
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CLOUDAUTH_EXPORT LivenessFaceVerifyRequest : public RpcServiceRequest
+			{
+
+			public:
+				LivenessFaceVerifyRequest();
+				~LivenessFaceVerifyRequest();
+
+				std::string getProductCode()const;
+				void setProductCode(const std::string& productCode);
+				std::string getOssObjectName()const;
+				void setOssObjectName(const std::string& ossObjectName);
+				std::string getFaceContrastPicture()const;
+				void setFaceContrastPicture(const std::string& faceContrastPicture);
+				std::string getIp()const;
+				void setIp(const std::string& ip);
+				std::string getMobile()const;
+				void setMobile(const std::string& mobile);
+				std::string getDeviceToken()const;
+				void setDeviceToken(const std::string& deviceToken);
+				std::string getUserId()const;
+				void setUserId(const std::string& userId);
+				std::string getCertifyId()const;
+				void setCertifyId(const std::string& certifyId);
+				std::string getOuterOrderNo()const;
+				void setOuterOrderNo(const std::string& outerOrderNo);
+				std::string getFaceContrastPictureUrl()const;
+				void setFaceContrastPictureUrl(const std::string& faceContrastPictureUrl);
+				long getSceneId()const;
+				void setSceneId(long sceneId);
+				std::string getOssBucketName()const;
+				void setOssBucketName(const std::string& ossBucketName);
+				std::string getModel()const;
+				void setModel(const std::string& model);
+
+            private:
+				std::string productCode_;
+				std::string ossObjectName_;
+				std::string faceContrastPicture_;
+				std::string ip_;
+				std::string mobile_;
+				std::string deviceToken_;
+				std::string userId_;
+				std::string certifyId_;
+				std::string outerOrderNo_;
+				std::string faceContrastPictureUrl_;
+				long sceneId_;
+				std::string ossBucketName_;
+				std::string model_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CLOUDAUTH_MODEL_LIVENESSFACEVERIFYREQUEST_H_

+ 61 - 0
cloudauth/include/alibabacloud/cloudauth/model/LivenessFaceVerifyResult.h

@@ -0,0 +1,61 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CLOUDAUTH_MODEL_LIVENESSFACEVERIFYRESULT_H_
+#define ALIBABACLOUD_CLOUDAUTH_MODEL_LIVENESSFACEVERIFYRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cloudauth/CloudauthExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cloudauth
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CLOUDAUTH_EXPORT LivenessFaceVerifyResult : public ServiceResult
+			{
+			public:
+				struct ResultObject
+				{
+					std::string passed;
+					std::string materialInfo;
+					std::string subCode;
+				};
+
+
+				LivenessFaceVerifyResult();
+				explicit LivenessFaceVerifyResult(const std::string &payload);
+				~LivenessFaceVerifyResult();
+				ResultObject getResultObject()const;
+				std::string getMessage()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				ResultObject resultObject_;
+				std::string message_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CLOUDAUTH_MODEL_LIVENESSFACEVERIFYRESULT_H_

+ 36 - 0
cloudauth/src/CloudauthClient.cc

@@ -1167,6 +1167,42 @@ CloudauthClient::InitSmartVerifyOutcomeCallable CloudauthClient::initSmartVerify
 	return task->get_future();
 }
 
+CloudauthClient::LivenessFaceVerifyOutcome CloudauthClient::livenessFaceVerify(const LivenessFaceVerifyRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return LivenessFaceVerifyOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return LivenessFaceVerifyOutcome(LivenessFaceVerifyResult(outcome.result()));
+	else
+		return LivenessFaceVerifyOutcome(outcome.error());
+}
+
+void CloudauthClient::livenessFaceVerifyAsync(const LivenessFaceVerifyRequest& request, const LivenessFaceVerifyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, livenessFaceVerify(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CloudauthClient::LivenessFaceVerifyOutcomeCallable CloudauthClient::livenessFaceVerifyCallable(const LivenessFaceVerifyRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<LivenessFaceVerifyOutcome()>>(
+			[this, request]()
+			{
+			return this->livenessFaceVerify(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CloudauthClient::ModifyDeviceInfoOutcome CloudauthClient::modifyDeviceInfo(const ModifyDeviceInfoRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 22 - 0
cloudauth/src/model/InitFaceVerifyRequest.cc

@@ -203,6 +203,17 @@ void InitFaceVerifyRequest::setOssBucketName(const std::string& ossBucketName)
 	setParameter("OssBucketName", ossBucketName);
 }
 
+std::string InitFaceVerifyRequest::getCallbackToken()const
+{
+	return callbackToken_;
+}
+
+void InitFaceVerifyRequest::setCallbackToken(const std::string& callbackToken)
+{
+	callbackToken_ = callbackToken;
+	setParameter("CallbackToken", callbackToken);
+}
+
 std::string InitFaceVerifyRequest::getReturnUrl()const
 {
 	return returnUrl_;
@@ -214,3 +225,14 @@ void InitFaceVerifyRequest::setReturnUrl(const std::string& returnUrl)
 	setParameter("ReturnUrl", returnUrl);
 }
 
+std::string InitFaceVerifyRequest::getCallbackUrl()const
+{
+	return callbackUrl_;
+}
+
+void InitFaceVerifyRequest::setCallbackUrl(const std::string& callbackUrl)
+{
+	callbackUrl_ = callbackUrl;
+	setParameter("CallbackUrl", callbackUrl);
+}
+

+ 113 - 36
cloudauth/src/model/InitSmartVerifyRequest.cc

@@ -27,48 +27,37 @@ InitSmartVerifyRequest::InitSmartVerifyRequest() :
 InitSmartVerifyRequest::~InitSmartVerifyRequest()
 {}
 
-std::string InitSmartVerifyRequest::getIp()const
+std::string InitSmartVerifyRequest::getUserId()const
 {
-	return ip_;
+	return userId_;
 }
 
-void InitSmartVerifyRequest::setIp(const std::string& ip)
+void InitSmartVerifyRequest::setUserId(const std::string& userId)
 {
-	ip_ = ip;
-	setBodyParameter("Ip", ip);
+	userId_ = userId;
+	setBodyParameter("UserId", userId);
 }
 
-std::string InitSmartVerifyRequest::getCertName()const
+std::string InitSmartVerifyRequest::getCertifyId()const
 {
-	return certName_;
+	return certifyId_;
 }
 
-void InitSmartVerifyRequest::setCertName(const std::string& certName)
+void InitSmartVerifyRequest::setCertifyId(const std::string& certifyId)
 {
-	certName_ = certName;
-	setBodyParameter("CertName", certName);
+	certifyId_ = certifyId;
+	setBodyParameter("CertifyId", certifyId);
 }
 
-std::string InitSmartVerifyRequest::getMobile()const
+std::string InitSmartVerifyRequest::getFacePictureBase64()const
 {
-	return mobile_;
-}
-
-void InitSmartVerifyRequest::setMobile(const std::string& mobile)
-{
-	mobile_ = mobile;
-	setBodyParameter("Mobile", mobile);
+	return facePictureBase64_;
 }
 
-std::string InitSmartVerifyRequest::getUserId()const
+void InitSmartVerifyRequest::setFacePictureBase64(const std::string& facePictureBase64)
 {
-	return userId_;
-}
-
-void InitSmartVerifyRequest::setUserId(const std::string& userId)
-{
-	userId_ = userId;
-	setBodyParameter("UserId", userId);
+	facePictureBase64_ = facePictureBase64;
+	setBodyParameter("FacePictureBase64", facePictureBase64);
 }
 
 std::string InitSmartVerifyRequest::getMode()const
@@ -115,6 +104,83 @@ void InitSmartVerifyRequest::setCertType(const std::string& certType)
 	setBodyParameter("CertType", certType);
 }
 
+std::string InitSmartVerifyRequest::getMetaInfo()const
+{
+	return metaInfo_;
+}
+
+void InitSmartVerifyRequest::setMetaInfo(const std::string& metaInfo)
+{
+	metaInfo_ = metaInfo;
+	setBodyParameter("MetaInfo", metaInfo);
+}
+
+std::string InitSmartVerifyRequest::getOcr()const
+{
+	return ocr_;
+}
+
+void InitSmartVerifyRequest::setOcr(const std::string& ocr)
+{
+	ocr_ = ocr;
+	setBodyParameter("Ocr", ocr);
+}
+
+std::string InitSmartVerifyRequest::getOssObjectName()const
+{
+	return ossObjectName_;
+}
+
+void InitSmartVerifyRequest::setOssObjectName(const std::string& ossObjectName)
+{
+	ossObjectName_ = ossObjectName;
+	setBodyParameter("OssObjectName", ossObjectName);
+}
+
+std::string InitSmartVerifyRequest::getFacePictureUrl()const
+{
+	return facePictureUrl_;
+}
+
+void InitSmartVerifyRequest::setFacePictureUrl(const std::string& facePictureUrl)
+{
+	facePictureUrl_ = facePictureUrl;
+	setBodyParameter("FacePictureUrl", facePictureUrl);
+}
+
+std::string InitSmartVerifyRequest::getIp()const
+{
+	return ip_;
+}
+
+void InitSmartVerifyRequest::setIp(const std::string& ip)
+{
+	ip_ = ip;
+	setBodyParameter("Ip", ip);
+}
+
+std::string InitSmartVerifyRequest::getCertName()const
+{
+	return certName_;
+}
+
+void InitSmartVerifyRequest::setCertName(const std::string& certName)
+{
+	certName_ = certName;
+	setBodyParameter("CertName", certName);
+}
+
+std::string InitSmartVerifyRequest::getMobile()const
+{
+	return mobile_;
+}
+
+void InitSmartVerifyRequest::setMobile(const std::string& mobile)
+{
+	mobile_ = mobile;
+	setBodyParameter("Mobile", mobile);
+}
+
 long InitSmartVerifyRequest::getSceneId()const
 {
 	return sceneId_;
@@ -126,25 +192,36 @@ void InitSmartVerifyRequest::setSceneId(long sceneId)
 	setBodyParameter("SceneId", std::to_string(sceneId));
 }
 
-std::string InitSmartVerifyRequest::getMetaInfo()const
+std::string InitSmartVerifyRequest::getCallbackToken()const
 {
-	return metaInfo_;
+	return callbackToken_;
 }
 
-void InitSmartVerifyRequest::setMetaInfo(const std::string& metaInfo)
+void InitSmartVerifyRequest::setCallbackToken(const std::string& callbackToken)
 {
-	metaInfo_ = metaInfo;
-	setBodyParameter("MetaInfo", metaInfo);
+	callbackToken_ = callbackToken;
+	setBodyParameter("CallbackToken", callbackToken);
 }
 
-std::string InitSmartVerifyRequest::getOcr()const
+std::string InitSmartVerifyRequest::getOssBucketName()const
 {
-	return ocr_;
+	return ossBucketName_;
 }
 
-void InitSmartVerifyRequest::setOcr(const std::string& ocr)
+void InitSmartVerifyRequest::setOssBucketName(const std::string& ossBucketName)
 {
-	ocr_ = ocr;
-	setBodyParameter("Ocr", ocr);
+	ossBucketName_ = ossBucketName;
+	setBodyParameter("OssBucketName", ossBucketName);
+}
+
+std::string InitSmartVerifyRequest::getCallbackUrl()const
+{
+	return callbackUrl_;
+}
+
+void InitSmartVerifyRequest::setCallbackUrl(const std::string& callbackUrl)
+{
+	callbackUrl_ = callbackUrl;
+	setBodyParameter("CallbackUrl", callbackUrl);
 }
 

+ 172 - 0
cloudauth/src/model/LivenessFaceVerifyRequest.cc

@@ -0,0 +1,172 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/cloudauth/model/LivenessFaceVerifyRequest.h>
+
+using AlibabaCloud::Cloudauth::Model::LivenessFaceVerifyRequest;
+
+LivenessFaceVerifyRequest::LivenessFaceVerifyRequest() :
+	RpcServiceRequest("cloudauth", "2019-03-07", "LivenessFaceVerify")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+LivenessFaceVerifyRequest::~LivenessFaceVerifyRequest()
+{}
+
+std::string LivenessFaceVerifyRequest::getProductCode()const
+{
+	return productCode_;
+}
+
+void LivenessFaceVerifyRequest::setProductCode(const std::string& productCode)
+{
+	productCode_ = productCode;
+	setBodyParameter("ProductCode", productCode);
+}
+
+std::string LivenessFaceVerifyRequest::getOssObjectName()const
+{
+	return ossObjectName_;
+}
+
+void LivenessFaceVerifyRequest::setOssObjectName(const std::string& ossObjectName)
+{
+	ossObjectName_ = ossObjectName;
+	setBodyParameter("OssObjectName", ossObjectName);
+}
+
+std::string LivenessFaceVerifyRequest::getFaceContrastPicture()const
+{
+	return faceContrastPicture_;
+}
+
+void LivenessFaceVerifyRequest::setFaceContrastPicture(const std::string& faceContrastPicture)
+{
+	faceContrastPicture_ = faceContrastPicture;
+	setBodyParameter("FaceContrastPicture", faceContrastPicture);
+}
+
+std::string LivenessFaceVerifyRequest::getIp()const
+{
+	return ip_;
+}
+
+void LivenessFaceVerifyRequest::setIp(const std::string& ip)
+{
+	ip_ = ip;
+	setBodyParameter("Ip", ip);
+}
+
+std::string LivenessFaceVerifyRequest::getMobile()const
+{
+	return mobile_;
+}
+
+void LivenessFaceVerifyRequest::setMobile(const std::string& mobile)
+{
+	mobile_ = mobile;
+	setBodyParameter("Mobile", mobile);
+}
+
+std::string LivenessFaceVerifyRequest::getDeviceToken()const
+{
+	return deviceToken_;
+}
+
+void LivenessFaceVerifyRequest::setDeviceToken(const std::string& deviceToken)
+{
+	deviceToken_ = deviceToken;
+	setBodyParameter("DeviceToken", deviceToken);
+}
+
+std::string LivenessFaceVerifyRequest::getUserId()const
+{
+	return userId_;
+}
+
+void LivenessFaceVerifyRequest::setUserId(const std::string& userId)
+{
+	userId_ = userId;
+	setBodyParameter("UserId", userId);
+}
+
+std::string LivenessFaceVerifyRequest::getCertifyId()const
+{
+	return certifyId_;
+}
+
+void LivenessFaceVerifyRequest::setCertifyId(const std::string& certifyId)
+{
+	certifyId_ = certifyId;
+	setBodyParameter("CertifyId", certifyId);
+}
+
+std::string LivenessFaceVerifyRequest::getOuterOrderNo()const
+{
+	return outerOrderNo_;
+}
+
+void LivenessFaceVerifyRequest::setOuterOrderNo(const std::string& outerOrderNo)
+{
+	outerOrderNo_ = outerOrderNo;
+	setBodyParameter("OuterOrderNo", outerOrderNo);
+}
+
+std::string LivenessFaceVerifyRequest::getFaceContrastPictureUrl()const
+{
+	return faceContrastPictureUrl_;
+}
+
+void LivenessFaceVerifyRequest::setFaceContrastPictureUrl(const std::string& faceContrastPictureUrl)
+{
+	faceContrastPictureUrl_ = faceContrastPictureUrl;
+	setBodyParameter("FaceContrastPictureUrl", faceContrastPictureUrl);
+}
+
+long LivenessFaceVerifyRequest::getSceneId()const
+{
+	return sceneId_;
+}
+
+void LivenessFaceVerifyRequest::setSceneId(long sceneId)
+{
+	sceneId_ = sceneId;
+	setBodyParameter("SceneId", std::to_string(sceneId));
+}
+
+std::string LivenessFaceVerifyRequest::getOssBucketName()const
+{
+	return ossBucketName_;
+}
+
+void LivenessFaceVerifyRequest::setOssBucketName(const std::string& ossBucketName)
+{
+	ossBucketName_ = ossBucketName;
+	setBodyParameter("OssBucketName", ossBucketName);
+}
+
+std::string LivenessFaceVerifyRequest::getModel()const
+{
+	return model_;
+}
+
+void LivenessFaceVerifyRequest::setModel(const std::string& model)
+{
+	model_ = model;
+	setParameter("Model", model);
+}
+

+ 70 - 0
cloudauth/src/model/LivenessFaceVerifyResult.cc

@@ -0,0 +1,70 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/cloudauth/model/LivenessFaceVerifyResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Cloudauth;
+using namespace AlibabaCloud::Cloudauth::Model;
+
+LivenessFaceVerifyResult::LivenessFaceVerifyResult() :
+	ServiceResult()
+{}
+
+LivenessFaceVerifyResult::LivenessFaceVerifyResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+LivenessFaceVerifyResult::~LivenessFaceVerifyResult()
+{}
+
+void LivenessFaceVerifyResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto resultObjectNode = value["ResultObject"];
+	if(!resultObjectNode["Passed"].isNull())
+		resultObject_.passed = resultObjectNode["Passed"].asString();
+	if(!resultObjectNode["MaterialInfo"].isNull())
+		resultObject_.materialInfo = resultObjectNode["MaterialInfo"].asString();
+	if(!resultObjectNode["SubCode"].isNull())
+		resultObject_.subCode = resultObjectNode["SubCode"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+
+}
+
+LivenessFaceVerifyResult::ResultObject LivenessFaceVerifyResult::getResultObject()const
+{
+	return resultObject_;
+}
+
+std::string LivenessFaceVerifyResult::getMessage()const
+{
+	return message_;
+}
+
+std::string LivenessFaceVerifyResult::getCode()const
+{
+	return code_;
+}
+