小程序获取unionId(前提,小程序必须已经绑定了微信开放平平台,否则神仙来了也获取不到unionId)
最近刚开发小程序,在和后台接口对接时候,后台要求从前台传递unionId来换取userId。去小程序官网看了API,官方提供的wx.getUserInfo接口返回的内容里普通情况下是没有openId和unionId的。于是乎继续查看API寻找获取unionId的方法,于是乎看到了官方里这样写,如下图明确指出,要想获取到openId和unionId这些敏感数据,需要对wx.getUserInfo返回的encryptedData进行解密,并且官方也提供了多种语言的解密示例代码的下载地址(这里坑就来,你会发现你下载并打开他的示例代码,并且放到自己的程序中后发现并没有解密成功,反而代码报错了。我使用的是Node文件夹下的示例代码),下载以后打开发现,他提供了4种语言的示例,分别是c++,Node,PHP,Python,我们用的是Node,所以打开Node文件夹,发现里面有下图俩个文件
我们打开这俩个文件,其中在WXBizDataCrypt.js这里代码的第一行有一个require引入外部js文件,如下图