小代码大作用,云函数openapi
以下云函数openapi的代码极简,但是作用很多,包括: (代码直接复制可用) 1、支持所有云调用;是所有哦。 2、支持大图片安全检查 3、支持环境共享的云调用。 云函数代码如下: const cloud = require('wx-server-sdk')
cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV })
const opt = {}
exports.main = async event => {
const wxc = cloud.getWXContext()
opt.appid = wxc.FROM_APPID || wxc.APPID//获取环境或共享环境的访问端小程序appid
if (event.action == 'security.imgSecCheck') return await imgSecCheck(event)//大图片安全检查
if (event.action == 'xxx') return await xxx(event)//其他特殊处理
return await cloud.openapi(opt)[event.action](event.body || {})
}
async function imgSecCheck(event) {
let res = await cloud.downloadFile({
fileID: event.fileID,
})
return await cloud.openapi(opt).security.imgSecCheck({
media: {
contentType: "image/png",
value: res.fileContent
}
})
}
小程序端的调用代码示例: 1、获取小程序码 app.cloud.callFunction({
//app.cloud是小程序当前环境的cloud,在app.js中初始化,可能是wx.cloud,也可能是共享环境的cloud
name: 'openapi',
data: {
action: 'wxacode.getUnlimited',
body: {
scene,
width: 280
},
}
})
2、发送订阅消息 app.cloud.callFunction({
name: 'openapi',
data: {
action: 'subscribeMessage.send',
body: {
"touser": openid,
"page": 'pages/index/index?orderId=' + order._id,
data,
"templateId": tid,
"miniprogramState": 'trial'
}
}
})
3、获取小程序直播房间列表 app.cloud.callFunction({
name: 'openapi',
data: {
action: 'liveBroadcast.getLiveInfo',
body: {
start: 0,
limit: 100
}
}
})