微信小程序开发文档 微信小程序云开发SDK文档 开发能力

2024-02-25 开发教程 微信小程序开发文档 匿名 3

Cloud.openapi

云调用 API 对象。


Cloud.CloudID(cloudID: string)

支持端:小程序 2.7.0

声明字符串为 CloudID(开放数据 ID),该接口传入一个字符串,返回一个 CloudID 特殊对象,将该对象传至云函数可以获取其对应的开放数据。详见通过云调用获取开放数据

参数

cloudID: string

通过开放能力在小程序端获取得到的 CloudID

示例代码

小程序端调用

wx.cloud.callFunction({
name: 'myFunction',
data: {
weRunData: wx.cloud.CloudID('xxx'), // 这个 CloudID 值到云函数端会被替换
obj: {
shareInfo: wx.cloud.CloudID('yyy'), // 非顶层字段的 CloudID 不会被替换,会原样字符串展示
}
}
})

在云函数端接收到的 event 将会包含对应开放数据的对象,其中 event.weRunData 会因为符合规则而包含开放数据,event.shareInfo 则不会,event 结构将如下:

{
"weRunData": {
"cloudID": "27_Ih-9vxDaOhIbh48Bdpk90DUkUoNMAPaNtg7OSGM-P2wPEk1NbspjKGoql_g",
"data": {
"stepInfoList": [
{
"step": 9103,
"timestamp": 1571673600
},
{
"step": 9783,
"timestamp": 1571760000
}
],
"watermark": {
"appid": "wx3d289323f5900f8e",
"timestamp": 1574338655
}
}
},
"obj": {
"shareInfo": "xxx"
}
}

Cloud.getOpenData(list: string[]): Object

支持端:云函数

获取 CloudID 对应的开放数据

参数

list: string[]

要获取对应开放数据的 CloudID 列表

返回值

Object

属性类型说明
listArray.<Object>开放数据列表,与传入的 CloudID 列表一一对应

list 的结构

属性类型说明
cloudIDstring开放数据 CloudID
dataObject开放数据

说明

详见通过云调用获取开放数据

示例代码

const cloud = require('wx-server-sdk')
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV
})
exports.main = async (event, context) => {
const res = await cloud.getOpenData({
list: event.openData.list, // 假设 event.openData.list 是一个 CloudID 字符串列表
})
return res.list
}

返回的结果结构类似如下(假设 list 长度为 1,其中的 CloudID 是微信运动数据的 CloudID):

[{
"cloudID": "27_Ih-9vxDaOhIbh48Bdpk90DUkUoNMAPaNtg7OSGM-P2wPEk1NbspjKGoql_g",
"data": {
"stepInfoList": [
{
"step": 9103,
"timestamp": 1571673600
},
{
"step": 9783,
"timestamp": 1571760000
}
],
"watermark": {
"appid": "wx3d289323f5900f8e",
"timestamp": 1574338655
}
}

Cloud.getVoIPSign(options: Object): Promise<Object>

支持端:云函数

获取实时语音签名

参数

options: Object

属性类型默认值必填说明
groupIdstring游戏房间的标识
noncestring随机字符串,长度应小于 128
timestampnumber生成这个随机字符串的 UNIX 时间戳(精确到秒)

返回值

Promise.<Object>

属性类型说明
signaturestring签名

示例代码

const cloud = require('wx-server-sdk')
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV
})
exports.main = async (event, context) => {
const result = await cloud.getVoIPSign({
groupId: 'xxx',
timestamp: 1557056066,
nonce: 'yyy'
})
return result.fileListt
}