头部背景图片
吉水于人的笔记 |
吉水于人的笔记 |

关于微信登录

前言

做微信小程序也有小一个月了,整体来说,做的比较顺利,没有遇到特别难搞的坑,这里还是得感谢腾讯为开发者提供资料齐全的开发文档。想速度上手微信小程序的小伙伴们,戳这里,微信小程序开发者文档

微信小程序开发中,我们常常需要获取用户信息,我写小程序时是1月份,开始我并不知道接口已经做了调整,然后就直接使用button去获取用户信息,然而,调试时,出现以下提示。

具体实现

当我去官方文档上查阅获取用户信息接口时,发现其已经做了一些的调整。相信大家都知道,我们在第一次使用某个小程序时会弹出一个授权框,询问用户是否允许获取用户信息。如今接口调整为在用户未授权过的情况下调用此接口,将不再出现授权弹窗,会直接进入 fail 回调。在用户已授权的情况下调用此接口,可成功获取用户信息。

竟然不再出现授权窗口了,那我们就需要使用button进行引导。

<button class='wexin-login' open-type="getUserInfo" lang="zh_CN" bindgetuserinfo="onGotUserInfo">
  <image class='wexin-icon' src='/assets/images/content/share_wechat.png' />
  <text class='wexin-text' open-type="getUserInfo" bindgetuserinfo="onGotUserInfo" lang="zh_CN">微信登录</text>
</button>

逻辑部分处理为:

  getWXCode: function() {
    var that = this;
    wx.login({
      success: function(res) {
        api.post('/edu/user/WechatAPPLogin', {
            encryptedData: that.data.userInfo.encryptedData,
            iv: that.data.userInfo.iv,
            code: res.code
          },
          function(res) {
            that.onBack()
            getApp().globalData.userId = res.content.userInfo.id
          }.bind(this),
          function(res) {
            wx.showToast({
              title: res.msg,
              icon: 'none',
              duration: 2000
            })
          })
      }
    })
  }