小程序开发:接入腾讯云的人像动漫化api接口
接口如下:
图片的传参方式有两种,一种是传图片的base64,一种是图片url:
我打算免费版使用base64,如果付费用户支持永久存储历史的图片记录(图片存储到腾讯云对象存储中)。
前端框架我用的uview,所以我在页面简单使用了uview的上传组件,拿到图片本地路径后再转成base64,腾讯云的api接口在云对象里调用。
上传组件:
大概界面就是这样:
接下来就是把base64数据传给接口了。
腾讯云的这个API Explorer功能还挺好用的,有请求的实例代码。
按他的实例,安装一下
tencentcloud-sdk-nodejs-ft。
切换到对应的云对象目录下,npm i tencentcloud-sdk-nodejs-f:
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)
效果:
生成正式版后出现问题了:
本地开发却没有这个问题,应该是
tencentcloud-sdk-nodejs-ft版本问题。
在uniapp的官方论坛搜索了下,果然找到了解决方案:
https://ask.dcloud.net.cn/question/139972
更新云对象根目录的package.json后,再重新上传部署。
问题解决!
欢迎大家使用我的小程序新上线的人像转动漫功能:微信搜索《一方云知》,找到小程序后拉到最下面有一个人像转动漫的图标,点进去就可以用啦,目前是免费使用哦。
这篇文章就到这里啦!如果你对文章内容有疑问或想要深入讨论,欢迎在评论区留言,我会尽力回答。同时,如果你觉得这篇文章对你有帮助,不妨点个赞并分享给其他同学,让更多人受益。
想要了解更多相关知识,可以查看我以往的文章,其中有许多精彩内容。记得关注我,获取及时更新,我们可以一起学习、讨论技术,共同进步。
感谢你的阅读与支持,期待在未来的文章中与你再次相遇!
小程序开发:接入腾讯云的人像动漫化api接口的更多相关文章
- 微信小程序开发(二)----- 云开发
1.概念 微信小程序的云开发是腾讯云与微信团队深度合作推出的一个全新的小程序的解决方案,它提供了云函数.云数据库与云存储这三大基础能力支持,随着云开发的出现,小程序的开发者可以将服务端的部署和运营的环 ...
- 微信小程序开发(三)----- 云开发案例
1.发送请求 2.云函数中发送请求,例子request https://github.com/request/request-promise 创建云函数movielist,右键在终端打开,输入 ...
- 聚合数据董铭彦:小程序开发的兴起将带火API数据交易
2016中关村大数据日活动近日在京举办,今年新进驻北京的聚合数据受邀参与,在13日举行的大数据交易专场论坛上,聚合数据副总裁董铭彦与参会嘉宾以"共筑数据交易产业生态,共享大数据时代红利&qu ...
- $微信小程序开发实践点滴——接入Bmob后端云
Bmob后端云官网:http://www.bmob.cn/ 微信公众平台官网:https://mp.weixin.qq.com/ 微信小程序官方开发文档:https://mp.weixin.qq.co ...
- 我们的微信小程序开发
基于微信小程序的系统开发准备工作 腾讯推出微信小程序也有一段时间了,在各种行业里面也都掀起一阵阵的热潮,很多APP应用被简化为小程序的功能迅速推出,同时也根据小程序的特性推出各种独具匠心的应用,相对传 ...
- 微信小程序开发之初探
本文是以一个简单的小例子,来简要讲解微信小程序开发步骤,希望促进学习分享. 概念 微信小程序,简称小程序,缩写xcx,英文mini program.是一种不需要下载安装即可使用的应用,它实现了应用“触 ...
- 《腾讯游戏人生》微信小程序开发总结
为打通游戏人生擂台赛与线下商家的O2O衔接,同时响应时下日臻火热的微信小程序,项目团队决定也开发一款针对性的微信小程序,以此方便商家在我们平台入驻并进行擂台赛事的创建和奖励的核销,进一步推广擂台赛的玩 ...
- 【腾讯Bugly干货分享】微信小程序开发思考总结——腾讯“信用卡还款”项目实践
本文来自于腾讯bugly开发者社区,未经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/58212d0fa7a7574c4f4cc3c5 作者:peggy 小程序概述 1 ...
- 微信小程序开发平台新功能「云开发」快速上手体验
微信小程序开发平台刚刚开放了一个全新的功能:云开发. 简单地说就是将开发人员搭建微信小程序后端的成本再次降低,此文刚好在此产品公测时,来快速上手看看都有哪些方便开发者的功能更新. 微信小程序一直保持一 ...
- 小程序开发初体验,从静态demo到接入Bmob数据库完全实现
之前我胖汾公司年会.问我能不能帮忙搞个小程序方便他们进行游戏后的惩罚/抽奖使用.出了个简单的设计图.大概三天左右做了个简单的小程序.目前提交审核了.对于写过一小段时间vue来说小程序很容易上手.写法和 ...
随机推荐
- TypeScript枚举类型
枚举 简单理解就是将所有的情况列举出来. 枚举不是用来定义类型的哈.就是说枚举不是一种数据类型. enum xxx={ key1=value1, key2=value2, } 通过 xxx.key1的 ...
- jenkins 安装与构建过程中的系列问题
一.插件安装遇到的依赖问题 插件安装分为在线安装和离线安装 1.在线安装 搜索要安装的插件,然后进行安装即可 2.离线安装hpi文件 使用该方法安装插件每次只能安装一个插件,且如果插件之间存在依赖性则 ...
- Fabric-ca client端初始化过程源码分析
本文从Fabric-ca源码入手,以newRegisterCommand()函数为例,简单分析client启动时的过程.Fabric-ca源码可以从github.com下载,本文以v1.4.6为例进行 ...
- C# Contains()、 == 和Equals() 比较
目前在开发中前端页面有搜索条件 和后端的方法进行匹配 有一个Student表,其中有字段:name.age.address.tel CREATE TABLE Student ( Name varcha ...
- 第三届人工智能,大数据与算法国际学术会议 (CAIBDA 2023)
第三届人工智能,大数据与算法国际学术会议 (CAIBDA 2023) 大会官网:http://www.caibda.org/ 大会时间:2023年6月16-18日 大会地点:中国郑州 截稿日期:2 ...
- 小样本学习在文心ERNIE3.0多分类任务应用--提示学习
小样本学习在文心ERNIE3.0多分类任务应用(提示学习) 项目链接: https://aistudio.baidu.com/aistudio/projectdetail/4438610?contri ...
- SpringBoot接入阿里云oss
1.pom中添加阿里云oss坐标 <?xml version="1.0" encoding="utf-8"?> <dependencies&g ...
- Leetcode刷题第五天-二分法-回溯
215:第k个最大元素 链接:215. 数组中的第K个最大元素 - 力扣(LeetCode) em~~怎么说呢,快速选择,随机定一个目标值,开始找,左边比目标小,右边比目标大,左右同时不满足时,交换左 ...
- P7907 [Ynoi2005] rmscne题解
题目链接:rmscne 神仙经典数据结构难题.看到求区间种类数有关的东西,需要下意识的反应到经典老题 HH的项链,这里可以学习我这篇 题解.具体学习下扫描线怎么做这类东西的. 看看本题,首先处理区间查 ...
- 错误解决:ElasticSearch SearchResponse的Hits[]总是比totalHits少一条记录
在做ElasticSearch查询操作的时候,发现Hits[].length总是比totalHits.value少1.代码如下: SearchRequest request = new SearchR ...