微信小程序云开发SDK文档 开发能力
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
属性 | 类型 | 说明 |
---|---|---|
list | Array.<Object> | 开放数据列表,与传入的 CloudID 列表一一对应 |
list 的结构
属性 | 类型 | 说明 |
---|---|---|
cloudID | string | 开放数据 CloudID |
data | Object | 开放数据 |
说明
详见通过云调用获取开放数据
示例代码
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
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
groupId | string | 是 | 游戏房间的标识 | |
nonce | string | 是 | 随机字符串,长度应小于 128 | |
timestamp | number | 是 | 生成这个随机字符串的 UNIX 时间戳(精确到秒) |
返回值
Promise.<Object>
属性 | 类型 | 说明 |
---|---|---|
signature | string | 签名 |
示例代码
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
}