云开发提供了一系列工具类的 API,此处是存储小程序端的 API 参考文档。
API | 说明 |
---|---|
getWXContext | 获取微信上下文 |
在云函数中获取微信调用上下文,该方法无需传入参数,会返回以下字段:
字段 | 含义 | 字段存在条件 | 最低版本 |
---|---|---|---|
OPENID | 小程序用户 openid | 小程序端调用云函数时 | |
APPID | 小程序 AppID | 小程序端调用云函数时 | |
UNIONID | 小程序用户 unionid | 小程序端调用云函数,并且满足 unionid 获取条件时 | |
ENV | 云函数所在环境的 ID | 无 | 0.6.0 |
SOURCE | 调用来源(云函数本次运行是被什么触发) | 无 | 0.7.0 |
SOURCE 值跟随调用链条传递,会表示调用链路情况(用英文逗号分隔),比如小程序调用云函数 A,再在云函数 A 内调用云函数 B,则 A 获得的 SOURCE 为 wx_client, B 内获得的 SOURCE 为 wx_client,scf(微信小程序调用,然后云函数调用)。
SOURCE 的枚举类型:
SOURCE 值 | 含义 |
---|---|
wx_devtools | 微信 IDE 调用 |
wx_client | 微信小程序调用 |
wx_http | 微信 HTTP API 调用 |
wx_unknown | 微信未知来源调用 |
scf | 云函数调用云函数 |
其他 | 非微信端触发 |
如果在云函数本地调试中,ENV 会为 local,SOURCE 会为 wx_client。
请不要在 exports.main 外使用 getWXContext,此时尚没有调用上下文,无法获取得到信息。
const cloud = require('wx-server-sdk')
exports.main = async (event, context) => {
const {
OPENID,
APPID,
UNIONID,
ENV,
} = cloud.getWXContext()
return {
OPENID,
APPID,
UNIONID,
ENV,
}
}
(c) 2024 chaojicainiao.com MIT license