收藏
回答

请问我完全按照官网写的代码,返回数据为啥不对,为啥总是按照

问题模块 框架类型 问题类型 终端类型 AppID 基础库版本
云开发 小程序 Bug 客户端 wxcff9cc1d610d7805 基础版

请问我完全按照官网写的代码,返回数据为啥不对,


云端:

// index.js

const cloud = require('wx-server-sdk')

exports.main = (event, context) => {

// 这里获取到的 openId、 appId 和 unionId 是可信的,注意 unionId 仅在满足 unionId 获取条件时返回

const { OPENID, APPID, UNIONID } = cloud.getWXContext()


return {

OPENID,

APPID,

UNIONID,

}

}



手机端:

wx.cloud.init({

env: '********'

})

wx.cloud.callFunction({

name: 'test',

complete: res => {

console.log('callFunction test result: ', res)

}

})


返回的内容:总是按照测试模板这种格式返回:

{

    "key1": "test value 1",

    "key2": "test value 2",

    "userInfo": {

        "appId": "******",

        "openId": "**********************************"

    }

}


并不是按照我期望的

return {

OPENID,

APPID,

UNIONID,

}返回3个数据,而是这种格式的:这是日志中看到的{"event":{"userInfo":{"appId":"******","openId":"*****"}},"openid":"*****","appid":"****"}

最后一次编辑于  03-14  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

1 个回答

  • 铭锋科技
    铭锋科技
    03-14

    https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/union-id.html


    UnionID 机制说明

    如果开发者拥有多个移动应用、网站应用、和公众帐号(包括小程序),可通过 UnionID 来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号(包括小程序),用户的 UnionID 是唯一的。换句话说,同一用户,对同一个微信开放平台下的不同应用,unionid是相同的。


    03-14
    赞同
    回复 2
    • 余
      03-15

      还不是这个原因,因为我又上传了一个官网例子:

      // 云函数入口文件

      const cloud = require('wx-server-sdk')


      cloud.init()


      // 云函数入口函数

      exports.main = async (event, context) => ({

      sum: event.a + event.b

      })


      app端:

      wx.cloud.callFunction({

      // 云函数名称

      name: 'add',

      // 传给云函数的参数

      data: {

      a: 1,

      b: 2,

      },

      })

      .then(res => {

      console.log("*****************************")

      console.log(res.result) // 3

      console.log("*****************************")

      })

      .catch(console.error)

      从云端的日志看到:

      返回结果:

      {"event":{"a":1,"b":2,"userInfo":{"appId":"wxcf*********5","openId":"oAd9Z5********egAw"}},"openid":"oAd9Z5*********klZNlf8egAw","appid":"wxcff********05"}    没有看到和为5这个结果,并且返回格式和前面那个例子一模一样。


      03-15
      回复
    • 余
      03-15回复

      刚才说错了一点,是没有看到和为3这个结果,刚才错写为5了



      03-15
      回复