本白菜在开发微信小程序调用腾讯云AI图像标签产品时,遇到了问题,自己琢磨了三天,搜遍了能搜的东西,还是没有解决。下边记录一下 调用过程
1、首先进入https://cloud.tencent.com/document/api/865/35471
使用这个在线生成代码
2、在云函数目录下的index.js 中
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init({
env: "你的环境变量"
})
(1)填入环境变量
(2)在云函数入口函数中粘贴 API Explorer自动生成的代码,且把return 部分删了,后边会有return
// 云函数入口函数
exports.main = async (event, context) => {
const wxContext = cloud.getWXContext()
/*删掉
return {
event,
openid: wxContext.OPENID,
appid: wxContext.APPID,
unionid: wxContext.UNIONID,
}
*/
}
(3)将 API Explorer自动生成的代码 这部分
改为
return await client.DetectLabel(params);
3、在调用改云函数的界面的.js中写调用函数
wx.cloud.callFunction({
name:"AIpicture",//要调用的云函数名
data: {
pic:base64//传入的图片链接
},
success: res => {
console.log(res)
},
fail: err=>{
console.log(err)
}
})
4、上传部署的时候,选择 云安装依赖 即可
5、另外:
将小程序端图片的临时路径转化为imagebase64的方法是
let base64 = wx.getFileSystemManager()
.readFileSync(res.tempFilePath, 'base64');
//res.tempFilePath是临时路径,base64是转化后的图片路径