getUserInfo() encryptedData解密后没有unionid
发布于 6 年前 作者 qiangdu 10880 次浏览 来自 问答

请问这个是什么原因呢?

解密代码:

解密后的数据包:

10 回复

您好,还是不太理解模板小程序

我是第一种方式,获得了解密文件 iv session 等信息解密的啊。

不  我的意思是你这个是模板的小程序吧  那个是没openid的   就你设置了extjson文件的话

那就不知道了  我只知道模板小程序中无法获得unionid的  自己日常用我还真没遇到过没unionid的情况

没有在平台将公众账号与小程序关联绑定吧!要绑定后才能获取到!或者你关注了该公众号,你可以在登录时通过

wx.login就能拿到unionid

小程序获取用户unionid有两个途径 1、通过wx.getUserInfo获取到的密文中解密获得。 2、如果用户有关注同开发者帐号且同主体的公众号,或者用户有授权过同主体的移动应用。可以通过jscode2session获取。这里细则参看文档

https://mp.weixin.qq.com/debug/wxadoc/dev/api/uinionID.html

这是以前官方的答案

需要在开放平台绑定后才能获取到unionid

这个获取不是需要满足一定条件的吗?你在社区搜索unionid有相关的帖子的

简答:因为你没有把小程序绑定到 腾讯开发平台 中

详解:

微信要求你:先要注册一个 腾讯开放平台

然后去开放平台中绑定你的小程序

然后用户用你的小程序,你小程序弹框授权,用户点击同意,内部获取到js_code,发送到服务器端

服务器端再去调用接口获取token,再去调用接口获取解密代码(可参考官网给的示例代码中的Python,Nodejs,C++,PHP等)去解密,才能拿到unionid。

下面部分纯属推测,仅供参考:

而从你截图看,你是用js代码去解密的(IDE是Sublime或VSCode?)

-》感觉不像是服务器端之一的nodejs的js代码?

-》如果你是在前端小程序中的js代码去解密,本身和标准流程不一致

-》需要放到后端服务器端去做解密的事情

不是的。是NODEJS后端解码的。

回到顶部