小程序开发:接入腾讯云的人像动漫化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来说小程序很容易上手.写法和 ...
随机推荐
- 使用css 与 js 两种方式实现导航栏吸顶效果
场景描述 简单的说一下场景描述:这个页面有三个部分组成的. 顶部的头部信息--导航栏--内容 当页面滚动的时候.导航栏始终是固定在最顶部的. 我们使用的第一种方案就是使用css的粘性定位 positi ...
- 【JS 逆向百例】37网游登录接口参数逆向
声明 本文章中所有内容仅供学习交流,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 逆向目标 目标:37网游登录 主页:https://www.37.co ...
- 开源IM项目OpenIM新版本发布-生产环境需更新
项目简介 Android体验地址:https://www.pgyer.com/OpenIM 注册后自动加入组织,和群聊 群聊页面 工作台 工作台,业务可以通过jssdk自由扩展自身业务 工作圈 工作圈 ...
- 通过Unity导出的Android Studio和Google安卓原生工程的结构图对比
使用Unity导出Android Studio工程前建议查看我之前的文章<Unity2019及Unity2020打包android的环境配置>,替换或修改Unity安装目录下的basePr ...
- 使用rider调试lua
emmylua1.3.5及以上版本支持rider调试,但emmylua的新版本只支持rider2020及以上版本,所以如果想用rider来调试lua,就要升级rider为2020,emmylua插件从 ...
- C++ Boost库 操作日期与时间
Boost库中默认针对日期与时间的操作库分为,timer,progress_timer,date_time这几类,如下是一些常用的使用方法总结. timer库 #include <iostrea ...
- Windows批处理文件初始化数据库
前提是MySQL服务必须启动,Windows添加了MySQL的环境变量. 批处理文件: @ECHO OFF SET dbhost=127.0.0.1 SET dbuser=root SET dbpas ...
- locate命令找不到,但是实际文件存在的情况
locate和find命令都是linux下常用的搜索命令,但是locate命令是从一个数据库里面搜索的,它的速度比find查找要快上不少.如果存在某个文件用locate查不到的话,那么可以用upd ...
- iOS 17.4 测试版包含大模型相关代码
外界普遍预计苹果将在 6 月份通过 iOS 18 推出主要的新人工智能功能.不过根据 9to5Mac 的报道,他们在 iOS 17.4 第一个测试版中发现的代码表明,苹果正在开发由大语言模型技术支持的 ...
- JS数字转为带有逗号的字符串
alert(formatNum(10000000.87)); /** * @param n 输入数字 * @param is_int 是否只显示整数 * @returns {string} */ fu ...