Cloud.getWXContext(): Object

支持端:云函数

在云函数中获取微信调用上下文

返回值

Object

wxContext

属性类型说明
OPENIDstring小程序用户 openid,小程序端调用云函数时有
APPIDstring小程序 AppID,小程序端调用云函数时有
UNIONIDstring小程序用户 unionid,小程序端调用云函数,并且满足 unionid 获取条件时有
FROM_OPENIDstring调用来源方小程序/公众号用户 openid,跨账号调用时有
FROM_APPIDstring调用来源方小程序/公众号 AppID,跨账号调用时有
FROM_UNIONIDstring调用来源方用户 unionid,跨账号调用时有,并且满足 unionid 获取条件时有
ENVstring云函数所在环境的 ID
SOURCEstring调用来源(云函数本次运行是被什么触发)
CLIENTIPstring小程序客户端 IPv4 地址
CLIENTIPV6string小程序客户端 IPv6 地址
OPEN_DATA_INFOstring通过云函数获取开放数据时,可用此校验入参中的开放数据是否来自微信后台

使用说明

SOURCE 值跟随调用链条传递,会表示调用链路情况(用英文逗号分隔),比如小程序调用云函数 A,再在云函数 A 内调用云函数 B,则 A 获得的 SOURCEwx_client, B 内获得的 SOURCEwx_client,scf(微信小程序调用,然后云函数调用)。

SOURCE 的枚举类型:

SOURCE 值含义
wx_devtools微信 IDE 调用
wx_client微信小程序调用
wx_http微信 HTTP API 调用
wx_unknown微信未知来源调用
scf云函数调用云函数
其他非微信端触发

如果在云函数本地调试中,ENV 会为 localSOURCE 会为 wx_client

OPEN_DATA_INFO:

通过云函数获取开放数据时,可用此校验入参中的开放数据是否来自微信后台。

此值类型为 string,有可能为空,JSON 字符串。解开之后的格式:

  1. {
  2. keys: ['包含微信后台给的开放数据字段 1', '包含微信后台给的开放数据字段 2']
  3. }

注意事项

请不要在 exports.main 外使用 getWXContext,此时尚没有调用上下文,无法获取得到信息。

示例代码

  1. const cloud = require('wx-server-sdk')
  2. exports.main = async (event, context) => {
  3. const {
  4. OPENID,
  5. APPID,
  6. UNIONID,
  7. ENV,
  8. } = cloud.getWXContext()
  9. return {
  10. OPENID,
  11. APPID,
  12. UNIONID,
  13. ENV,
  14. }
  15. }