From a9f8d260edcfee128bd69269f3b753ba61b512b1 Mon Sep 17 00:00:00 2001 From: "haowei.yao" Date: Wed, 11 Jul 2018 13:24:34 +0800 Subject: [PATCH] =?UTF-8?q?CLOUDAUTH=20SDK=20Auto=20Released=20By=20zhongd?= =?UTF-8?q?ong.pzd,Version=EF=BC=9A1.19.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: haowei.yao --- CHANGELOG | 4 + VERSION | 2 +- cloudauth/CMakeLists.txt | 4 + .../alibabacloud/cloudauth/CloudauthClient.h | 8 ++ .../model/DetectFaceAttributesRequest.h | 69 ++++++++++ .../model/DetectFaceAttributesResult.h | 102 +++++++++++++++ .../cloudauth/model/GetMaterialsResult.h | 2 - .../cloudauth/model/GetVerifyTokenResult.h | 1 + cloudauth/src/CloudauthClient.cc | 36 ++++++ cloudauth/src/model/CompareFacesRequest.cc | 2 +- .../src/model/DetectFaceAttributesRequest.cc | 115 +++++++++++++++++ .../src/model/DetectFaceAttributesResult.cc | 119 ++++++++++++++++++ cloudauth/src/model/GetMaterialsRequest.cc | 2 +- cloudauth/src/model/GetMaterialsResult.cc | 4 - cloudauth/src/model/GetStatusRequest.cc | 2 +- cloudauth/src/model/GetVerifyTokenRequest.cc | 2 +- cloudauth/src/model/GetVerifyTokenResult.cc | 2 + cloudauth/src/model/SubmitMaterialsRequest.cc | 2 +- 18 files changed, 466 insertions(+), 12 deletions(-) create mode 100644 cloudauth/include/alibabacloud/cloudauth/model/DetectFaceAttributesRequest.h create mode 100644 cloudauth/include/alibabacloud/cloudauth/model/DetectFaceAttributesResult.h create mode 100644 cloudauth/src/model/DetectFaceAttributesRequest.cc create mode 100644 cloudauth/src/model/DetectFaceAttributesResult.cc diff --git a/CHANGELOG b/CHANGELOG index 86a6d40e6..46b4468aa 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,7 @@ +2018-07-11 Version: 1.19.2 +1, Add DetectFaceAttributesService. +2, Add cloudauthPageUrl to GetVerifyTokenResponse. + 2018-07-05 Version: 1.19.1 1, new function, attach/detach load balancer of scalingGroup diff --git a/VERSION b/VERSION index 7df3a13a6..ac25b2cc7 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.19.1 \ No newline at end of file +1.19.2 \ No newline at end of file diff --git a/cloudauth/CMakeLists.txt b/cloudauth/CMakeLists.txt index b9ad62529..336144a21 100644 --- a/cloudauth/CMakeLists.txt +++ b/cloudauth/CMakeLists.txt @@ -25,6 +25,8 @@ set(cloudauth_public_header_model include/alibabacloud/cloudauth/model/GetMaterialsResult.h include/alibabacloud/cloudauth/model/GetVerifyTokenRequest.h include/alibabacloud/cloudauth/model/GetVerifyTokenResult.h + include/alibabacloud/cloudauth/model/DetectFaceAttributesRequest.h + include/alibabacloud/cloudauth/model/DetectFaceAttributesResult.h include/alibabacloud/cloudauth/model/CompareFacesRequest.h include/alibabacloud/cloudauth/model/CompareFacesResult.h include/alibabacloud/cloudauth/model/SubmitMaterialsRequest.h @@ -38,6 +40,8 @@ set(cloudauth_src src/model/GetMaterialsResult.cc src/model/GetVerifyTokenRequest.cc src/model/GetVerifyTokenResult.cc + src/model/DetectFaceAttributesRequest.cc + src/model/DetectFaceAttributesResult.cc src/model/CompareFacesRequest.cc src/model/CompareFacesResult.cc src/model/SubmitMaterialsRequest.cc diff --git a/cloudauth/include/alibabacloud/cloudauth/CloudauthClient.h b/cloudauth/include/alibabacloud/cloudauth/CloudauthClient.h index d10c68b77..5c197fbc3 100644 --- a/cloudauth/include/alibabacloud/cloudauth/CloudauthClient.h +++ b/cloudauth/include/alibabacloud/cloudauth/CloudauthClient.h @@ -26,6 +26,8 @@ #include "model/GetMaterialsResult.h" #include "model/GetVerifyTokenRequest.h" #include "model/GetVerifyTokenResult.h" +#include "model/DetectFaceAttributesRequest.h" +#include "model/DetectFaceAttributesResult.h" #include "model/CompareFacesRequest.h" #include "model/CompareFacesResult.h" #include "model/SubmitMaterialsRequest.h" @@ -47,6 +49,9 @@ namespace AlibabaCloud typedef Outcome GetVerifyTokenOutcome; typedef std::future GetVerifyTokenOutcomeCallable; typedef std::function&)> GetVerifyTokenAsyncHandler; + typedef Outcome DetectFaceAttributesOutcome; + typedef std::future DetectFaceAttributesOutcomeCallable; + typedef std::function&)> DetectFaceAttributesAsyncHandler; typedef Outcome CompareFacesOutcome; typedef std::future CompareFacesOutcomeCallable; typedef std::function&)> CompareFacesAsyncHandler; @@ -67,6 +72,9 @@ namespace AlibabaCloud GetVerifyTokenOutcome getVerifyToken(const Model::GetVerifyTokenRequest &request)const; void getVerifyTokenAsync(const Model::GetVerifyTokenRequest& request, const GetVerifyTokenAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; GetVerifyTokenOutcomeCallable getVerifyTokenCallable(const Model::GetVerifyTokenRequest& request) const; + DetectFaceAttributesOutcome detectFaceAttributes(const Model::DetectFaceAttributesRequest &request)const; + void detectFaceAttributesAsync(const Model::DetectFaceAttributesRequest& request, const DetectFaceAttributesAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + DetectFaceAttributesOutcomeCallable detectFaceAttributesCallable(const Model::DetectFaceAttributesRequest& request) const; CompareFacesOutcome compareFaces(const Model::CompareFacesRequest &request)const; void compareFacesAsync(const Model::CompareFacesRequest& request, const CompareFacesAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; CompareFacesOutcomeCallable compareFacesCallable(const Model::CompareFacesRequest& request) const; diff --git a/cloudauth/include/alibabacloud/cloudauth/model/DetectFaceAttributesRequest.h b/cloudauth/include/alibabacloud/cloudauth/model/DetectFaceAttributesRequest.h new file mode 100644 index 000000000..3848e0494 --- /dev/null +++ b/cloudauth/include/alibabacloud/cloudauth/model/DetectFaceAttributesRequest.h @@ -0,0 +1,69 @@ +/* + * 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_DETECTFACEATTRIBUTESREQUEST_H_ +#define ALIBABACLOUD_CLOUDAUTH_MODEL_DETECTFACEATTRIBUTESREQUEST_H_ + +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Cloudauth + { + namespace Model + { + class ALIBABACLOUD_CLOUDAUTH_EXPORT DetectFaceAttributesRequest : public RpcServiceRequest + { + + public: + DetectFaceAttributesRequest(); + ~DetectFaceAttributesRequest(); + + int getMaxNumPhotosPerCategory()const; + void setMaxNumPhotosPerCategory(int maxNumPhotosPerCategory); + int getMaxFaceNum()const; + void setMaxFaceNum(int maxFaceNum); + long getResourceOwnerId()const; + void setResourceOwnerId(long resourceOwnerId); + std::string getSourceIp()const; + void setSourceIp(const std::string& sourceIp); + std::string getRetAttributes()const; + void setRetAttributes(const std::string& retAttributes); + std::string getMaterialValue()const; + void setMaterialValue(const std::string& materialValue); + bool getDontSaveDB()const; + void setDontSaveDB(bool dontSaveDB); + std::string getClientTag()const; + void setClientTag(const std::string& clientTag); + + private: + int maxNumPhotosPerCategory_; + int maxFaceNum_; + long resourceOwnerId_; + std::string sourceIp_; + std::string retAttributes_; + std::string materialValue_; + bool dontSaveDB_; + std::string clientTag_; + + }; + } + } +} +#endif // !ALIBABACLOUD_CLOUDAUTH_MODEL_DETECTFACEATTRIBUTESREQUEST_H_ \ No newline at end of file diff --git a/cloudauth/include/alibabacloud/cloudauth/model/DetectFaceAttributesResult.h b/cloudauth/include/alibabacloud/cloudauth/model/DetectFaceAttributesResult.h new file mode 100644 index 000000000..641940f76 --- /dev/null +++ b/cloudauth/include/alibabacloud/cloudauth/model/DetectFaceAttributesResult.h @@ -0,0 +1,102 @@ +/* + * 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_DETECTFACEATTRIBUTESRESULT_H_ +#define ALIBABACLOUD_CLOUDAUTH_MODEL_DETECTFACEATTRIBUTESRESULT_H_ + +#include +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Cloudauth + { + namespace Model + { + class ALIBABACLOUD_CLOUDAUTH_EXPORT DetectFaceAttributesResult : public ServiceResult + { + public: + struct Data + { + struct FaceAttributesDetectInfo + { + struct FaceRect + { + int left; + int top; + int height; + int width; + }; + struct FaceAttributes + { + struct Gender + { + float score; + std::string value; + }; + struct Smiling + { + float value; + float threshold; + }; + struct Headpose + { + float pitchAngle; + float rollAngle; + float yawAngle; + }; + std::string ethnicity; + std::string facetype; + Headpose headpose; + std::string glasses; + float blur; + Smiling smiling; + Gender gender; + int age; + }; + FaceAttributes faceAttributes; + FaceRect faceRect; + }; + int imgWidth; + int imgHeight; + std::vector faceInfos; + }; + + + DetectFaceAttributesResult(); + explicit DetectFaceAttributesResult(const std::string &payload); + ~DetectFaceAttributesResult(); + std::string getMessage()const; + Data getData()const; + std::string getCode()const; + bool getSuccess()const; + + protected: + void parse(const std::string &payload); + private: + std::string message_; + Data data_; + std::string code_; + bool success_; + + }; + } + } +} +#endif // !ALIBABACLOUD_CLOUDAUTH_MODEL_DETECTFACEATTRIBUTESRESULT_H_ \ No newline at end of file diff --git a/cloudauth/include/alibabacloud/cloudauth/model/GetMaterialsResult.h b/cloudauth/include/alibabacloud/cloudauth/model/GetMaterialsResult.h index 73b636936..c411d2853 100644 --- a/cloudauth/include/alibabacloud/cloudauth/model/GetMaterialsResult.h +++ b/cloudauth/include/alibabacloud/cloudauth/model/GetMaterialsResult.h @@ -36,10 +36,8 @@ namespace AlibabaCloud { std::string facePic; std::string identificationNumber; - std::string idCardStartDate; std::string address; std::string idCardFrontPic; - std::string ethnicGroup; std::string sex; std::string idCardExpiry; std::string idCardType; diff --git a/cloudauth/include/alibabacloud/cloudauth/model/GetVerifyTokenResult.h b/cloudauth/include/alibabacloud/cloudauth/model/GetVerifyTokenResult.h index 178eff031..ad5b6e62e 100644 --- a/cloudauth/include/alibabacloud/cloudauth/model/GetVerifyTokenResult.h +++ b/cloudauth/include/alibabacloud/cloudauth/model/GetVerifyTokenResult.h @@ -50,6 +50,7 @@ namespace AlibabaCloud std::string endPoint; }; StsToken stsToken; + std::string cloudauthPageUrl; VerifyToken verifyToken; }; diff --git a/cloudauth/src/CloudauthClient.cc b/cloudauth/src/CloudauthClient.cc index 6f6332526..faa617d53 100644 --- a/cloudauth/src/CloudauthClient.cc +++ b/cloudauth/src/CloudauthClient.cc @@ -123,6 +123,42 @@ CloudauthClient::GetVerifyTokenOutcomeCallable CloudauthClient::getVerifyTokenCa return task->get_future(); } +CloudauthClient::DetectFaceAttributesOutcome CloudauthClient::detectFaceAttributes(const DetectFaceAttributesRequest &request) const +{ + auto endpointOutcome = endpointProvider_->getEndpoint(); + if (!endpointOutcome.isSuccess()) + return DetectFaceAttributesOutcome(endpointOutcome.error()); + + auto outcome = makeRequest(endpointOutcome.result(), request); + + if (outcome.isSuccess()) + return DetectFaceAttributesOutcome(DetectFaceAttributesResult(outcome.result())); + else + return DetectFaceAttributesOutcome(outcome.error()); +} + +void CloudauthClient::detectFaceAttributesAsync(const DetectFaceAttributesRequest& request, const DetectFaceAttributesAsyncHandler& handler, const std::shared_ptr& context) const +{ + auto fn = [this, request, handler, context]() + { + handler(this, request, detectFaceAttributes(request), context); + }; + + asyncExecute(new Runnable(fn)); +} + +CloudauthClient::DetectFaceAttributesOutcomeCallable CloudauthClient::detectFaceAttributesCallable(const DetectFaceAttributesRequest &request) const +{ + auto task = std::make_shared>( + [this, request]() + { + return this->detectFaceAttributes(request); + }); + + asyncExecute(new Runnable([task]() { (*task)(); })); + return task->get_future(); +} + CloudauthClient::CompareFacesOutcome CloudauthClient::compareFaces(const CompareFacesRequest &request) const { auto endpointOutcome = endpointProvider_->getEndpoint(); diff --git a/cloudauth/src/model/CompareFacesRequest.cc b/cloudauth/src/model/CompareFacesRequest.cc index 31add3973..7cf1fac32 100644 --- a/cloudauth/src/model/CompareFacesRequest.cc +++ b/cloudauth/src/model/CompareFacesRequest.cc @@ -19,7 +19,7 @@ using AlibabaCloud::Cloudauth::Model::CompareFacesRequest; CompareFacesRequest::CompareFacesRequest() : - RpcServiceRequest("cloudauth", "2018-05-04", "CompareFaces") + RpcServiceRequest("cloudauth", "2018-07-03", "CompareFaces") {} CompareFacesRequest::~CompareFacesRequest() diff --git a/cloudauth/src/model/DetectFaceAttributesRequest.cc b/cloudauth/src/model/DetectFaceAttributesRequest.cc new file mode 100644 index 000000000..2135ed1fa --- /dev/null +++ b/cloudauth/src/model/DetectFaceAttributesRequest.cc @@ -0,0 +1,115 @@ +/* + * 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 + +using AlibabaCloud::Cloudauth::Model::DetectFaceAttributesRequest; + +DetectFaceAttributesRequest::DetectFaceAttributesRequest() : + RpcServiceRequest("cloudauth", "2018-07-03", "DetectFaceAttributes") +{} + +DetectFaceAttributesRequest::~DetectFaceAttributesRequest() +{} + +int DetectFaceAttributesRequest::getMaxNumPhotosPerCategory()const +{ + return maxNumPhotosPerCategory_; +} + +void DetectFaceAttributesRequest::setMaxNumPhotosPerCategory(int maxNumPhotosPerCategory) +{ + maxNumPhotosPerCategory_ = maxNumPhotosPerCategory; + setParameter("MaxNumPhotosPerCategory", std::to_string(maxNumPhotosPerCategory)); +} + +int DetectFaceAttributesRequest::getMaxFaceNum()const +{ + return maxFaceNum_; +} + +void DetectFaceAttributesRequest::setMaxFaceNum(int maxFaceNum) +{ + maxFaceNum_ = maxFaceNum; + setParameter("MaxFaceNum", std::to_string(maxFaceNum)); +} + +long DetectFaceAttributesRequest::getResourceOwnerId()const +{ + return resourceOwnerId_; +} + +void DetectFaceAttributesRequest::setResourceOwnerId(long resourceOwnerId) +{ + resourceOwnerId_ = resourceOwnerId; + setParameter("ResourceOwnerId", std::to_string(resourceOwnerId)); +} + +std::string DetectFaceAttributesRequest::getSourceIp()const +{ + return sourceIp_; +} + +void DetectFaceAttributesRequest::setSourceIp(const std::string& sourceIp) +{ + sourceIp_ = sourceIp; + setParameter("SourceIp", sourceIp); +} + +std::string DetectFaceAttributesRequest::getRetAttributes()const +{ + return retAttributes_; +} + +void DetectFaceAttributesRequest::setRetAttributes(const std::string& retAttributes) +{ + retAttributes_ = retAttributes; + setParameter("RetAttributes", retAttributes); +} + +std::string DetectFaceAttributesRequest::getMaterialValue()const +{ + return materialValue_; +} + +void DetectFaceAttributesRequest::setMaterialValue(const std::string& materialValue) +{ + materialValue_ = materialValue; + setParameter("MaterialValue", materialValue); +} + +bool DetectFaceAttributesRequest::getDontSaveDB()const +{ + return dontSaveDB_; +} + +void DetectFaceAttributesRequest::setDontSaveDB(bool dontSaveDB) +{ + dontSaveDB_ = dontSaveDB; + setParameter("DontSaveDB", std::to_string(dontSaveDB)); +} + +std::string DetectFaceAttributesRequest::getClientTag()const +{ + return clientTag_; +} + +void DetectFaceAttributesRequest::setClientTag(const std::string& clientTag) +{ + clientTag_ = clientTag; + setParameter("ClientTag", clientTag); +} + diff --git a/cloudauth/src/model/DetectFaceAttributesResult.cc b/cloudauth/src/model/DetectFaceAttributesResult.cc new file mode 100644 index 000000000..f2b69f937 --- /dev/null +++ b/cloudauth/src/model/DetectFaceAttributesResult.cc @@ -0,0 +1,119 @@ +/* + * 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 +#include + +using namespace AlibabaCloud::Cloudauth; +using namespace AlibabaCloud::Cloudauth::Model; + +DetectFaceAttributesResult::DetectFaceAttributesResult() : + ServiceResult() +{} + +DetectFaceAttributesResult::DetectFaceAttributesResult(const std::string &payload) : + ServiceResult() +{ + parse(payload); +} + +DetectFaceAttributesResult::~DetectFaceAttributesResult() +{} + +void DetectFaceAttributesResult::parse(const std::string &payload) +{ + Json::Reader reader; + Json::Value value; + reader.parse(payload, value); + + setRequestId(value["RequestId"].asString()); + auto dataNode = value["Data"]; + if(!dataNode["ImgWidth"].isNull()) + data_.imgWidth = std::stoi(dataNode["ImgWidth"].asString()); + if(!dataNode["ImgHeight"].isNull()) + data_.imgHeight = std::stoi(dataNode["ImgHeight"].asString()); + auto allFaceInfos = value["FaceInfos"]["FaceAttributesDetectInfo"]; + for (auto value : allFaceInfos) + { + Data::FaceAttributesDetectInfo faceAttributesDetectInfoObject; + auto faceRectNode = value["FaceRect"]; + if(!faceRectNode["Top"].isNull()) + faceAttributesDetectInfoObject.faceRect.top = std::stoi(faceRectNode["Top"].asString()); + if(!faceRectNode["Left"].isNull()) + faceAttributesDetectInfoObject.faceRect.left = std::stoi(faceRectNode["Left"].asString()); + if(!faceRectNode["Width"].isNull()) + faceAttributesDetectInfoObject.faceRect.width = std::stoi(faceRectNode["Width"].asString()); + if(!faceRectNode["Height"].isNull()) + faceAttributesDetectInfoObject.faceRect.height = std::stoi(faceRectNode["Height"].asString()); + auto faceAttributesNode = value["FaceAttributes"]; + if(!faceAttributesNode["Age"].isNull()) + faceAttributesDetectInfoObject.faceAttributes.age = std::stoi(faceAttributesNode["Age"].asString()); + if(!faceAttributesNode["Glasses"].isNull()) + faceAttributesDetectInfoObject.faceAttributes.glasses = faceAttributesNode["Glasses"].asString(); + if(!faceAttributesNode["Facetype"].isNull()) + faceAttributesDetectInfoObject.faceAttributes.facetype = faceAttributesNode["Facetype"].asString(); + if(!faceAttributesNode["Blur"].isNull()) + faceAttributesDetectInfoObject.faceAttributes.blur = std::stof(faceAttributesNode["Blur"].asString()); + if(!faceAttributesNode["Ethnicity"].isNull()) + faceAttributesDetectInfoObject.faceAttributes.ethnicity = faceAttributesNode["Ethnicity"].asString(); + auto genderNode = faceAttributesNode["Gender"]; + if(!genderNode["Score"].isNull()) + faceAttributesDetectInfoObject.faceAttributes.gender.score = std::stof(genderNode["Score"].asString()); + if(!genderNode["Value"].isNull()) + faceAttributesDetectInfoObject.faceAttributes.gender.value = genderNode["Value"].asString(); + auto smilingNode = faceAttributesNode["Smiling"]; + if(!smilingNode["Value"].isNull()) + faceAttributesDetectInfoObject.faceAttributes.smiling.value = std::stof(smilingNode["Value"].asString()); + if(!smilingNode["Threshold"].isNull()) + faceAttributesDetectInfoObject.faceAttributes.smiling.threshold = std::stof(smilingNode["Threshold"].asString()); + auto headposeNode = faceAttributesNode["Headpose"]; + if(!headposeNode["PitchAngle"].isNull()) + faceAttributesDetectInfoObject.faceAttributes.headpose.pitchAngle = std::stof(headposeNode["PitchAngle"].asString()); + if(!headposeNode["RollAngle"].isNull()) + faceAttributesDetectInfoObject.faceAttributes.headpose.rollAngle = std::stof(headposeNode["RollAngle"].asString()); + if(!headposeNode["YawAngle"].isNull()) + faceAttributesDetectInfoObject.faceAttributes.headpose.yawAngle = std::stof(headposeNode["YawAngle"].asString()); + data_.faceInfos.push_back(faceAttributesDetectInfoObject); + } + if(!value["Success"].isNull()) + success_ = value["Success"].asString() == "true"; + if(!value["Code"].isNull()) + code_ = value["Code"].asString(); + if(!value["Message"].isNull()) + message_ = value["Message"].asString(); + +} + +std::string DetectFaceAttributesResult::getMessage()const +{ + return message_; +} + +DetectFaceAttributesResult::Data DetectFaceAttributesResult::getData()const +{ + return data_; +} + +std::string DetectFaceAttributesResult::getCode()const +{ + return code_; +} + +bool DetectFaceAttributesResult::getSuccess()const +{ + return success_; +} + diff --git a/cloudauth/src/model/GetMaterialsRequest.cc b/cloudauth/src/model/GetMaterialsRequest.cc index fe1d3f0e1..a27db2ae3 100644 --- a/cloudauth/src/model/GetMaterialsRequest.cc +++ b/cloudauth/src/model/GetMaterialsRequest.cc @@ -19,7 +19,7 @@ using AlibabaCloud::Cloudauth::Model::GetMaterialsRequest; GetMaterialsRequest::GetMaterialsRequest() : - RpcServiceRequest("cloudauth", "2018-05-04", "GetMaterials") + RpcServiceRequest("cloudauth", "2018-07-03", "GetMaterials") {} GetMaterialsRequest::~GetMaterialsRequest() diff --git a/cloudauth/src/model/GetMaterialsResult.cc b/cloudauth/src/model/GetMaterialsResult.cc index bb218c722..0c97aefd9 100644 --- a/cloudauth/src/model/GetMaterialsResult.cc +++ b/cloudauth/src/model/GetMaterialsResult.cc @@ -47,8 +47,6 @@ void GetMaterialsResult::parse(const std::string &payload) data_.identificationNumber = dataNode["IdentificationNumber"].asString(); if(!dataNode["IdCardType"].isNull()) data_.idCardType = dataNode["IdCardType"].asString(); - if(!dataNode["IdCardStartDate"].isNull()) - data_.idCardStartDate = dataNode["IdCardStartDate"].asString(); if(!dataNode["IdCardExpiry"].isNull()) data_.idCardExpiry = dataNode["IdCardExpiry"].asString(); if(!dataNode["Address"].isNull()) @@ -61,8 +59,6 @@ void GetMaterialsResult::parse(const std::string &payload) data_.idCardBackPic = dataNode["IdCardBackPic"].asString(); if(!dataNode["FacePic"].isNull()) data_.facePic = dataNode["FacePic"].asString(); - if(!dataNode["EthnicGroup"].isNull()) - data_.ethnicGroup = dataNode["EthnicGroup"].asString(); if(!value["Success"].isNull()) success_ = value["Success"].asString() == "true"; if(!value["Code"].isNull()) diff --git a/cloudauth/src/model/GetStatusRequest.cc b/cloudauth/src/model/GetStatusRequest.cc index 845381c73..dfc7de7c4 100644 --- a/cloudauth/src/model/GetStatusRequest.cc +++ b/cloudauth/src/model/GetStatusRequest.cc @@ -19,7 +19,7 @@ using AlibabaCloud::Cloudauth::Model::GetStatusRequest; GetStatusRequest::GetStatusRequest() : - RpcServiceRequest("cloudauth", "2018-05-04", "GetStatus") + RpcServiceRequest("cloudauth", "2018-07-03", "GetStatus") {} GetStatusRequest::~GetStatusRequest() diff --git a/cloudauth/src/model/GetVerifyTokenRequest.cc b/cloudauth/src/model/GetVerifyTokenRequest.cc index 16c0bf380..197a9fb70 100644 --- a/cloudauth/src/model/GetVerifyTokenRequest.cc +++ b/cloudauth/src/model/GetVerifyTokenRequest.cc @@ -19,7 +19,7 @@ using AlibabaCloud::Cloudauth::Model::GetVerifyTokenRequest; GetVerifyTokenRequest::GetVerifyTokenRequest() : - RpcServiceRequest("cloudauth", "2018-05-04", "GetVerifyToken") + RpcServiceRequest("cloudauth", "2018-07-03", "GetVerifyToken") {} GetVerifyTokenRequest::~GetVerifyTokenRequest() diff --git a/cloudauth/src/model/GetVerifyTokenResult.cc b/cloudauth/src/model/GetVerifyTokenResult.cc index 67c929ce6..8ccf27ea3 100644 --- a/cloudauth/src/model/GetVerifyTokenResult.cc +++ b/cloudauth/src/model/GetVerifyTokenResult.cc @@ -41,6 +41,8 @@ void GetVerifyTokenResult::parse(const std::string &payload) setRequestId(value["RequestId"].asString()); auto dataNode = value["Data"]; + if(!dataNode["CloudauthPageUrl"].isNull()) + data_.cloudauthPageUrl = dataNode["CloudauthPageUrl"].asString(); auto verifyTokenNode = dataNode["VerifyToken"]; if(!verifyTokenNode["Token"].isNull()) data_.verifyToken.token = verifyTokenNode["Token"].asString(); diff --git a/cloudauth/src/model/SubmitMaterialsRequest.cc b/cloudauth/src/model/SubmitMaterialsRequest.cc index f1f7020fc..c9ad08d08 100644 --- a/cloudauth/src/model/SubmitMaterialsRequest.cc +++ b/cloudauth/src/model/SubmitMaterialsRequest.cc @@ -19,7 +19,7 @@ using AlibabaCloud::Cloudauth::Model::SubmitMaterialsRequest; SubmitMaterialsRequest::SubmitMaterialsRequest() : - RpcServiceRequest("cloudauth", "2018-05-04", "SubmitMaterials") + RpcServiceRequest("cloudauth", "2018-07-03", "SubmitMaterials") {} SubmitMaterialsRequest::~SubmitMaterialsRequest()