获取方式
目前小程序获取用户一共有3中(自己接触到的),但由于这个API一直在改,所以不确定后期是否有变动,还是要多关注官方公告。
方式一
使用wx.getUserInfo
实例:
- wxml 文件
<button open-type="getUserInfo" bindgetuserinfo="onGetUserInfo">获取用户信息</button>
- open-type=“getUserInfo” 小程序早期用来触发用户信息授权的按钮属性,点击按钮时会弹出授权窗口,获取用户头像、昵称等基本信息;
- bindgetuserinfo=“onGetUserInfo” 用户点击按钮之后,如果授权了,触发的回调事件绑定(接收授权结果)。
- js 文件
onGetUserInfo(e) {const { encryptedData, iv } = e.detail;wx.login({success: res => {const code = res.code;auth.getUserProfile({code, encryptedData, iv}).then(res => {console.log('解密后的用户信息', res.data);}).catch(err=>{console.log('解密失败', err);});}});
},
- js 部分获取到
encryptedData, iv
以后,通过调用wx.login
获取到code
。然后调用后端接口解密。
- 后端接口文件
app.post('/wxmp/getUserProfile', async (req, res) => {const { code, encryptedData, iv } = req.body;try {// 调用微信 jscode2session 接口const response