Просмотр исходного кода

Release RetouchSkin LiquifyFace.

sdk-team 5 лет назад
Родитель
Сommit
53b22dba98

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2021-09-24 Version: 1.36.884
+- Release RetouchSkin LiquifyFace.
+
 2021-09-23 Version: 1.36.883
 - Supports the purchase of polardb storage packages.
 - Support temporary upgrades and allocations of instances.

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.883
+1.36.884

+ 8 - 0
facebody/CMakeLists.txt

@@ -107,6 +107,8 @@ set(facebody_public_header_model
 	include/alibabacloud/facebody/model/GetRealPersonVerificationResultResult.h
 	include/alibabacloud/facebody/model/HandPostureRequest.h
 	include/alibabacloud/facebody/model/HandPostureResult.h
+	include/alibabacloud/facebody/model/LiquifyFaceRequest.h
+	include/alibabacloud/facebody/model/LiquifyFaceResult.h
 	include/alibabacloud/facebody/model/ListBodyDbsRequest.h
 	include/alibabacloud/facebody/model/ListBodyDbsResult.h
 	include/alibabacloud/facebody/model/ListBodyPersonRequest.h
@@ -135,6 +137,8 @@ set(facebody_public_header_model
 	include/alibabacloud/facebody/model/RecognizePublicFaceResult.h
 	include/alibabacloud/facebody/model/RetouchBodyRequest.h
 	include/alibabacloud/facebody/model/RetouchBodyResult.h
+	include/alibabacloud/facebody/model/RetouchSkinRequest.h
+	include/alibabacloud/facebody/model/RetouchSkinResult.h
 	include/alibabacloud/facebody/model/SearchBodyTraceRequest.h
 	include/alibabacloud/facebody/model/SearchBodyTraceResult.h
 	include/alibabacloud/facebody/model/SearchFaceRequest.h
@@ -234,6 +238,8 @@ set(facebody_src
 	src/model/GetRealPersonVerificationResultResult.cc
 	src/model/HandPostureRequest.cc
 	src/model/HandPostureResult.cc
+	src/model/LiquifyFaceRequest.cc
+	src/model/LiquifyFaceResult.cc
 	src/model/ListBodyDbsRequest.cc
 	src/model/ListBodyDbsResult.cc
 	src/model/ListBodyPersonRequest.cc
@@ -262,6 +268,8 @@ set(facebody_src
 	src/model/RecognizePublicFaceResult.cc
 	src/model/RetouchBodyRequest.cc
 	src/model/RetouchBodyResult.cc
+	src/model/RetouchSkinRequest.cc
+	src/model/RetouchSkinResult.cc
 	src/model/SearchBodyTraceRequest.cc
 	src/model/SearchBodyTraceResult.cc
 	src/model/SearchFaceRequest.cc

+ 16 - 0
facebody/include/alibabacloud/facebody/FacebodyClient.h

@@ -108,6 +108,8 @@
 #include "model/GetRealPersonVerificationResultResult.h"
 #include "model/HandPostureRequest.h"
 #include "model/HandPostureResult.h"
+#include "model/LiquifyFaceRequest.h"
+#include "model/LiquifyFaceResult.h"
 #include "model/ListBodyDbsRequest.h"
 #include "model/ListBodyDbsResult.h"
 #include "model/ListBodyPersonRequest.h"
@@ -136,6 +138,8 @@
 #include "model/RecognizePublicFaceResult.h"
 #include "model/RetouchBodyRequest.h"
 #include "model/RetouchBodyResult.h"
+#include "model/RetouchSkinRequest.h"
+#include "model/RetouchSkinResult.h"
 #include "model/SearchBodyTraceRequest.h"
 #include "model/SearchBodyTraceResult.h"
 #include "model/SearchFaceRequest.h"
@@ -284,6 +288,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::HandPostureResult> HandPostureOutcome;
 			typedef std::future<HandPostureOutcome> HandPostureOutcomeCallable;
 			typedef std::function<void(const FacebodyClient*, const Model::HandPostureRequest&, const HandPostureOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> HandPostureAsyncHandler;
+			typedef Outcome<Error, Model::LiquifyFaceResult> LiquifyFaceOutcome;
+			typedef std::future<LiquifyFaceOutcome> LiquifyFaceOutcomeCallable;
+			typedef std::function<void(const FacebodyClient*, const Model::LiquifyFaceRequest&, const LiquifyFaceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> LiquifyFaceAsyncHandler;
 			typedef Outcome<Error, Model::ListBodyDbsResult> ListBodyDbsOutcome;
 			typedef std::future<ListBodyDbsOutcome> ListBodyDbsOutcomeCallable;
 			typedef std::function<void(const FacebodyClient*, const Model::ListBodyDbsRequest&, const ListBodyDbsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListBodyDbsAsyncHandler;
@@ -326,6 +333,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::RetouchBodyResult> RetouchBodyOutcome;
 			typedef std::future<RetouchBodyOutcome> RetouchBodyOutcomeCallable;
 			typedef std::function<void(const FacebodyClient*, const Model::RetouchBodyRequest&, const RetouchBodyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RetouchBodyAsyncHandler;
+			typedef Outcome<Error, Model::RetouchSkinResult> RetouchSkinOutcome;
+			typedef std::future<RetouchSkinOutcome> RetouchSkinOutcomeCallable;
+			typedef std::function<void(const FacebodyClient*, const Model::RetouchSkinRequest&, const RetouchSkinOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> RetouchSkinAsyncHandler;
 			typedef Outcome<Error, Model::SearchBodyTraceResult> SearchBodyTraceOutcome;
 			typedef std::future<SearchBodyTraceOutcome> SearchBodyTraceOutcomeCallable;
 			typedef std::function<void(const FacebodyClient*, const Model::SearchBodyTraceRequest&, const SearchBodyTraceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SearchBodyTraceAsyncHandler;
@@ -475,6 +485,9 @@ namespace AlibabaCloud
 			HandPostureOutcome handPosture(const Model::HandPostureRequest &request)const;
 			void handPostureAsync(const Model::HandPostureRequest& request, const HandPostureAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			HandPostureOutcomeCallable handPostureCallable(const Model::HandPostureRequest& request) const;
+			LiquifyFaceOutcome liquifyFace(const Model::LiquifyFaceRequest &request)const;
+			void liquifyFaceAsync(const Model::LiquifyFaceRequest& request, const LiquifyFaceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			LiquifyFaceOutcomeCallable liquifyFaceCallable(const Model::LiquifyFaceRequest& request) const;
 			ListBodyDbsOutcome listBodyDbs(const Model::ListBodyDbsRequest &request)const;
 			void listBodyDbsAsync(const Model::ListBodyDbsRequest& request, const ListBodyDbsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			ListBodyDbsOutcomeCallable listBodyDbsCallable(const Model::ListBodyDbsRequest& request) const;
@@ -517,6 +530,9 @@ namespace AlibabaCloud
 			RetouchBodyOutcome retouchBody(const Model::RetouchBodyRequest &request)const;
 			void retouchBodyAsync(const Model::RetouchBodyRequest& request, const RetouchBodyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			RetouchBodyOutcomeCallable retouchBodyCallable(const Model::RetouchBodyRequest& request) const;
+			RetouchSkinOutcome retouchSkin(const Model::RetouchSkinRequest &request)const;
+			void retouchSkinAsync(const Model::RetouchSkinRequest& request, const RetouchSkinAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			RetouchSkinOutcomeCallable retouchSkinCallable(const Model::RetouchSkinRequest& request) const;
 			SearchBodyTraceOutcome searchBodyTrace(const Model::SearchBodyTraceRequest &request)const;
 			void searchBodyTraceAsync(const Model::SearchBodyTraceRequest& request, const SearchBodyTraceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			SearchBodyTraceOutcomeCallable searchBodyTraceCallable(const Model::SearchBodyTraceRequest& request) const;

+ 51 - 0
facebody/include/alibabacloud/facebody/model/LiquifyFaceRequest.h

@@ -0,0 +1,51 @@
+/*
+ * 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_FACEBODY_MODEL_LIQUIFYFACEREQUEST_H_
+#define ALIBABACLOUD_FACEBODY_MODEL_LIQUIFYFACEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/facebody/FacebodyExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Facebody
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_FACEBODY_EXPORT LiquifyFaceRequest : public RpcServiceRequest
+			{
+
+			public:
+				LiquifyFaceRequest();
+				~LiquifyFaceRequest();
+
+				float getSlimDegree()const;
+				void setSlimDegree(float slimDegree);
+				std::string getImageURL()const;
+				void setImageURL(const std::string& imageURL);
+
+            private:
+				float slimDegree_;
+				std::string imageURL_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_FACEBODY_MODEL_LIQUIFYFACEREQUEST_H_

+ 59 - 0
facebody/include/alibabacloud/facebody/model/LiquifyFaceResult.h

@@ -0,0 +1,59 @@
+/*
+ * 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_FACEBODY_MODEL_LIQUIFYFACERESULT_H_
+#define ALIBABACLOUD_FACEBODY_MODEL_LIQUIFYFACERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/facebody/FacebodyExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Facebody
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_FACEBODY_EXPORT LiquifyFaceResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::string imageURL;
+				};
+
+
+				LiquifyFaceResult();
+				explicit LiquifyFaceResult(const std::string &payload);
+				~LiquifyFaceResult();
+				std::string getMessage()const;
+				Data getData()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				Data data_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_FACEBODY_MODEL_LIQUIFYFACERESULT_H_

+ 54 - 0
facebody/include/alibabacloud/facebody/model/RetouchSkinRequest.h

@@ -0,0 +1,54 @@
+/*
+ * 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_FACEBODY_MODEL_RETOUCHSKINREQUEST_H_
+#define ALIBABACLOUD_FACEBODY_MODEL_RETOUCHSKINREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/facebody/FacebodyExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Facebody
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_FACEBODY_EXPORT RetouchSkinRequest : public RpcServiceRequest
+			{
+
+			public:
+				RetouchSkinRequest();
+				~RetouchSkinRequest();
+
+				float getRetouchDegree()const;
+				void setRetouchDegree(float retouchDegree);
+				float getWhiteningDegree()const;
+				void setWhiteningDegree(float whiteningDegree);
+				std::string getImageURL()const;
+				void setImageURL(const std::string& imageURL);
+
+            private:
+				float retouchDegree_;
+				float whiteningDegree_;
+				std::string imageURL_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_FACEBODY_MODEL_RETOUCHSKINREQUEST_H_

+ 59 - 0
facebody/include/alibabacloud/facebody/model/RetouchSkinResult.h

@@ -0,0 +1,59 @@
+/*
+ * 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_FACEBODY_MODEL_RETOUCHSKINRESULT_H_
+#define ALIBABACLOUD_FACEBODY_MODEL_RETOUCHSKINRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/facebody/FacebodyExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Facebody
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_FACEBODY_EXPORT RetouchSkinResult : public ServiceResult
+			{
+			public:
+				struct Data
+				{
+					std::string imageURL;
+				};
+
+
+				RetouchSkinResult();
+				explicit RetouchSkinResult(const std::string &payload);
+				~RetouchSkinResult();
+				std::string getMessage()const;
+				Data getData()const;
+				std::string getCode()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string message_;
+				Data data_;
+				std::string code_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_FACEBODY_MODEL_RETOUCHSKINRESULT_H_

+ 72 - 0
facebody/src/FacebodyClient.cc

@@ -1599,6 +1599,42 @@ FacebodyClient::HandPostureOutcomeCallable FacebodyClient::handPostureCallable(c
 	return task->get_future();
 }
 
+FacebodyClient::LiquifyFaceOutcome FacebodyClient::liquifyFace(const LiquifyFaceRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return LiquifyFaceOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return LiquifyFaceOutcome(LiquifyFaceResult(outcome.result()));
+	else
+		return LiquifyFaceOutcome(outcome.error());
+}
+
+void FacebodyClient::liquifyFaceAsync(const LiquifyFaceRequest& request, const LiquifyFaceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, liquifyFace(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+FacebodyClient::LiquifyFaceOutcomeCallable FacebodyClient::liquifyFaceCallable(const LiquifyFaceRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<LiquifyFaceOutcome()>>(
+			[this, request]()
+			{
+			return this->liquifyFace(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 FacebodyClient::ListBodyDbsOutcome FacebodyClient::listBodyDbs(const ListBodyDbsRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -2103,6 +2139,42 @@ FacebodyClient::RetouchBodyOutcomeCallable FacebodyClient::retouchBodyCallable(c
 	return task->get_future();
 }
 
+FacebodyClient::RetouchSkinOutcome FacebodyClient::retouchSkin(const RetouchSkinRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return RetouchSkinOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return RetouchSkinOutcome(RetouchSkinResult(outcome.result()));
+	else
+		return RetouchSkinOutcome(outcome.error());
+}
+
+void FacebodyClient::retouchSkinAsync(const RetouchSkinRequest& request, const RetouchSkinAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, retouchSkin(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+FacebodyClient::RetouchSkinOutcomeCallable FacebodyClient::retouchSkinCallable(const RetouchSkinRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<RetouchSkinOutcome()>>(
+			[this, request]()
+			{
+			return this->retouchSkin(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 FacebodyClient::SearchBodyTraceOutcome FacebodyClient::searchBodyTrace(const SearchBodyTraceRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 51 - 0
facebody/src/model/LiquifyFaceRequest.cc

@@ -0,0 +1,51 @@
+/*
+ * 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/facebody/model/LiquifyFaceRequest.h>
+
+using AlibabaCloud::Facebody::Model::LiquifyFaceRequest;
+
+LiquifyFaceRequest::LiquifyFaceRequest() :
+	RpcServiceRequest("facebody", "2019-12-30", "LiquifyFace")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+LiquifyFaceRequest::~LiquifyFaceRequest()
+{}
+
+float LiquifyFaceRequest::getSlimDegree()const
+{
+	return slimDegree_;
+}
+
+void LiquifyFaceRequest::setSlimDegree(float slimDegree)
+{
+	slimDegree_ = slimDegree;
+	setBodyParameter("SlimDegree", std::to_string(slimDegree));
+}
+
+std::string LiquifyFaceRequest::getImageURL()const
+{
+	return imageURL_;
+}
+
+void LiquifyFaceRequest::setImageURL(const std::string& imageURL)
+{
+	imageURL_ = imageURL;
+	setBodyParameter("ImageURL", imageURL);
+}
+

+ 66 - 0
facebody/src/model/LiquifyFaceResult.cc

@@ -0,0 +1,66 @@
+/*
+ * 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/facebody/model/LiquifyFaceResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Facebody;
+using namespace AlibabaCloud::Facebody::Model;
+
+LiquifyFaceResult::LiquifyFaceResult() :
+	ServiceResult()
+{}
+
+LiquifyFaceResult::LiquifyFaceResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+LiquifyFaceResult::~LiquifyFaceResult()
+{}
+
+void LiquifyFaceResult::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["ImageURL"].isNull())
+		data_.imageURL = dataNode["ImageURL"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string LiquifyFaceResult::getMessage()const
+{
+	return message_;
+}
+
+LiquifyFaceResult::Data LiquifyFaceResult::getData()const
+{
+	return data_;
+}
+
+std::string LiquifyFaceResult::getCode()const
+{
+	return code_;
+}
+

+ 62 - 0
facebody/src/model/RetouchSkinRequest.cc

@@ -0,0 +1,62 @@
+/*
+ * 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/facebody/model/RetouchSkinRequest.h>
+
+using AlibabaCloud::Facebody::Model::RetouchSkinRequest;
+
+RetouchSkinRequest::RetouchSkinRequest() :
+	RpcServiceRequest("facebody", "2019-12-30", "RetouchSkin")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+RetouchSkinRequest::~RetouchSkinRequest()
+{}
+
+float RetouchSkinRequest::getRetouchDegree()const
+{
+	return retouchDegree_;
+}
+
+void RetouchSkinRequest::setRetouchDegree(float retouchDegree)
+{
+	retouchDegree_ = retouchDegree;
+	setBodyParameter("RetouchDegree", std::to_string(retouchDegree));
+}
+
+float RetouchSkinRequest::getWhiteningDegree()const
+{
+	return whiteningDegree_;
+}
+
+void RetouchSkinRequest::setWhiteningDegree(float whiteningDegree)
+{
+	whiteningDegree_ = whiteningDegree;
+	setBodyParameter("WhiteningDegree", std::to_string(whiteningDegree));
+}
+
+std::string RetouchSkinRequest::getImageURL()const
+{
+	return imageURL_;
+}
+
+void RetouchSkinRequest::setImageURL(const std::string& imageURL)
+{
+	imageURL_ = imageURL;
+	setBodyParameter("ImageURL", imageURL);
+}
+

+ 66 - 0
facebody/src/model/RetouchSkinResult.cc

@@ -0,0 +1,66 @@
+/*
+ * 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/facebody/model/RetouchSkinResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Facebody;
+using namespace AlibabaCloud::Facebody::Model;
+
+RetouchSkinResult::RetouchSkinResult() :
+	ServiceResult()
+{}
+
+RetouchSkinResult::RetouchSkinResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+RetouchSkinResult::~RetouchSkinResult()
+{}
+
+void RetouchSkinResult::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["ImageURL"].isNull())
+		data_.imageURL = dataNode["ImageURL"].asString();
+	if(!value["Code"].isNull())
+		code_ = value["Code"].asString();
+	if(!value["Message"].isNull())
+		message_ = value["Message"].asString();
+
+}
+
+std::string RetouchSkinResult::getMessage()const
+{
+	return message_;
+}
+
+RetouchSkinResult::Data RetouchSkinResult::getData()const
+{
+	return data_;
+}
+
+std::string RetouchSkinResult::getCode()const
+{
+	return code_;
+}
+