小程序开发:获取用户信息

发布于:2020-04-18 16:25:17

最近在开发小程序,记录下来一些。
以前获取用户信息可以使用 wx.getUserInfo ,但是后来官方进行了调整,所以要换一个思路了。

获取用户昵称、头像

这一步还是很方便的,使用小程序内置的组件就可以实现,可以获取以下的数据
小程序组件
可以看到,能获取到的相关信息还是不少的,下面是以头像和昵称为例

<!-- 头像 --> <open-data type="userAvatarUrl"></open-data> <!-- 昵称 --> <open-data type="userNickName" lang="zh_CN"></open-data>

获取用户UnionID

获取用户的昵称、头像很简单,但实际开发中,我们经常需要用户的UnionID,可以使用wx.loginwx.request来实现。先看下官方给出的流程
小程序登录流程时序
可以看到流程并不复杂,下面是小程序的JS实例

onLoad: function (options) {     var that = this;     wx.login({         success: function (res) {             if (res.code) {                 // 发起网络请求,获取用户UnionID                 wx.request({                     url: 'https://xxxx',                     data: {                         code: res.code                     },                     success: function (res) {                         if (res.data.message == 'success') {                             // 获取数据成功                             console.log(res.data.data)                         }                     }                 })             } else {                 // 获取code失败                 console.log('登录失败!' + res.errMsg)             }         }     }); }

下面是后端PHP的代码

<?php $code = $_GET['code']; $url = 'https://api.weixin.qq.com/sns/jscode2session?appid=' . $this->appid . '&secret=' . $this->secret . '&js_code=' . $code . '&grant_type=authorization_code'; $userInfo = file_get_contents($url); $userInfo = json_decode($userInfo, true); if (!$userInfo['unionid']) {   echo json_encode(array('data'=>'','message'=>'error')); } else {   echo json_encode(array('data'=> $userInfo['unionid'],'message'=>'success')); }

获取到UnionID后,可以继续业务流程了。

https://segmentfault.com/a/1190000017939213


阅读 148+

一片空白

父爱如山,不善表达。回想十多年前,总记得父亲有个宽厚的肩膀,小小的自己跨坐在上面,越过人山人海去看更广阔的天空,那个时候期望自己有一双翅膀,能够像鸟儿一样飞得高,看得远。虽然父亲有时会和自己开玩笑,但在做错事的时候会受到严厉的训斥。父亲有双粗糙的大手掌。