最近有个小程序要实现直播能力,之前小程序是使用云开发的,需要调用服务端直播间管理接口。最后考虑使用以下方式实现的,亲测效果不错!
const cloud = require('wx-server-sdk')
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV
})
exports.main = async (event, context) =>{
const wxContext = cloud.getWXContext()
const type = event.type || ''
if ('' === type) return "缺少必须参数-type"
const arr = ['create','getLiveInfo']
if (!isBe(arr, type)) return "参数不合法-type"
const data = event.data || {}
try {
return wxContext.FROM_APPID ? await cloud.openapi({
appid: wxContext.FROM_APPID
}).liveBroadcast[type](data) : await cloud.openapi.liveBroadcast[type](data)
} catch (err) {
console.error(err)
}
}
function isBe(arr, str) {
return arr.some(function (s) {
return s === str;
})
}