本白菜在开发微信小程序调用腾讯云AI图像标签产品时,遇到了问题,自己琢磨了三天,搜遍了能搜的东西,还是没有解决。下边记录一下 调用过程
1、首先进入/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是转化后的图片路径