微信小程序授权登录(获取微信头像并显示)

小咪咪 2021-07-24 19:19 1361阅读 0赞

用户页面代码

user.wxml

  1. <block>
  2. <view class="user_img_wrap" wx:if="{ {userInfo.avatarUrl}}">
  3. <image class="user_bg" src="{ { userInfo.avatarUrl }}"></image>
  4. <view class="user_info">
  5. <image class="user_icon" src="{ { userInfo.avatarUrl }}"></image>
  6. <view class="user_name">{ { userInfo.nickName }}</view>
  7. </view>
  8. </view>
  9. <view class="user_btn" wx:else>
  10. <navigator url="/pages/login/login">
  11. 登录
  12. </navigator>
  13. </view>
  14. </block>

user.js

  1. Page({
  2. data: {
  3. userInfo:{ },
  4. },
  5. onShow: function () {
  6. const userInfo = wx.getStorageSync("userInfo");
  7. this.setData({
  8. userInfo
  9. })
  10. },
  11. })

先通过判断userInfo的值来显示不同的标签,如果有值那么授权登录成功了,如果没有值,那么就显示登录按钮跳转到登录页面进行授权登录。
login.wxml

  1. <view class="login">
  2. <button open-type="getUserInfo" bindgetuserinfo="handleGetUserInfo" type="primary" plain>登录</button>
  3. </view>

login.js

  1. // pages/login/login.js
  2. Page({
  3. /** * 页面的初始数据 */
  4. data: {
  5. },
  6. /** * 生命周期函数--监听页面加载 */
  7. onLoad: function (options) {
  8. },
  9. /** * 获取用户信息 */
  10. handleGetUserInfo(e){
  11. const { userInfo} = e.detail;
  12. wx.setStorageSync("userInfo", userInfo);
  13. wx.navigateBack({
  14. delta: 1
  15. });
  16. }
  17. })

在小程序中,如果将按钮的open-type值设置为getUserInfo,则按钮的功能为授权登录,详细解读请阅读官微文档wx.getUserInfo
使用bindgetuserinfo绑定授权登录事件,在下面展示一下函数 handleGetUserInfo(e)的参数e:
参数展示
我们可以清楚的看到,在参数e.detail内,展示了用户ID、头像地址、用户名等信息,把这些信息做一次本地存储,在需要的页面获取到进行渲染

发表评论

表情:
评论列表 (有 0 条评论,1361人围观)

还没有评论,来说两句吧...

相关阅读