当前位置: 首页>后端>正文

小程序开发:接入腾讯云的人像动漫化api接口

接口如下:

小程序开发:接入腾讯云的人像动漫化api接口,第1张

图片的传参方式有两种,一种是传图片的base64,一种是图片url:

小程序开发:接入腾讯云的人像动漫化api接口,第2张

我打算免费版使用base64,如果付费用户支持永久存储历史的图片记录(图片存储到腾讯云对象存储中)。

前端框架我用的uview,所以我在页面简单使用了uview的上传组件,拿到图片本地路径后再转成base64,腾讯云的api接口在云对象里调用。

上传组件:

小程序开发:接入腾讯云的人像动漫化api接口,第3张

大概界面就是这样:

? ??

小程序开发:接入腾讯云的人像动漫化api接口,第4张

接下来就是把base64数据传给接口了。

腾讯云的这个API Explorer功能还挺好用的,有请求的实例代码:

小程序开发:接入腾讯云的人像动漫化api接口,第5张

按他的实例,安装一下

tencentcloud-sdk-nodejs-ft。

切换到对应的云对象目录下,npm i tencentcloud-sdk-nodejs-ft:

小程序开发:接入腾讯云的人像动漫化api接口,第6张

index.obj.js完整代码:

const tencentcloud = require("tencentcloud-sdk-nodejs-ft")

// 云对象教程:

https://uniapp.dcloud.net.cn/uniCloud/cloud-obj

// jsdoc语法提示教程:

https://ask.dcloud.net.cn/docs/#//ask.dcloud.net.cn/article/129

// 腾讯云相关的api

module.exports = {

_before: function() { // 通用预处理器

},

// 统一的发送方法

async send(data) {

let system_config = await uniCloud.callFunction({

name: "get_system_config",

data: {

config_key: 'tencent_oss'

}

})

let Config = system_config['result'][0]['config_value']

const FtClient = tencentcloud.ft.v20200304.Client

const clientConfig = {

credential: {

secretId: Config.secretId,

secretKey: Config.secretKey,

},

region: Config.region,

profile: {

httpProfile: {

endpoint: "ft.tencentcloudapi.com",

},

},

}

// 实例化要请求产品的client对象,clientProfile是可选的

const client = new FtClient(clientConfig)

return new Promise((resolve, reject) => {

client.FaceCartoonPic(data).then(

(data) => {

resolve(data)

},

(err) => {

reject(err)

}

)

})

},

// 人像动漫化接口

async faceCartoonPic(image_base64) {

let data = {

"Image": image_base64,

"RspImgType": "url"

}

return await module.exports.send(data)

},

}

调用:

const tencentcloudapi = uniCloud.importObject('tencentcloudapi')

let result = await tencentcloudapi.faceCartoonPic(this.current_img_base64)

console.log('result', result)

效果:

小程序开发:接入腾讯云的人像动漫化api接口,第7张
小程序开发:接入腾讯云的人像动漫化api接口,第8张
小程序开发:接入腾讯云的人像动漫化api接口,第9张

生成正式版后出现问题了:

小程序开发:接入腾讯云的人像动漫化api接口,第10张

本地开发却没有这个问题,应该是

tencentcloud-sdk-nodejs-ft版本问题。

在uniapp的官方论坛搜索了下,果然找到了解决方案:

https://ask.dcloud.net.cn/question/139972

小程序开发:接入腾讯云的人像动漫化api接口,第11张

https://www.xamrdz.com/backend/38h1941725.html

相关文章: