美文网首页微信小程序
关于微信小程序授权,我有话说

关于微信小程序授权,我有话说

作者: MichelleWangmx | 来源:发表于2017-11-22 16:23 被阅读0次

    我自己的写法,先把下面这段代码放在app.js里

     // 授权方法
      login(callback, userInfoRaw) {
        var that = this
        if (userInfoRaw.detail.errMsg == 'getUserInfo:ok') {
          let userInfo = JSON.parse(userInfoRaw.detail.rawData)
          wx.setStorageSync('user', userInfo)
          wx.login({
            success: function (res) {
              that.globalData.code = res.code
              wx.request({
                //这是后台的接口地址,用来返回openid
                url: that.data.ApiUrl+'get_userinfo',
                data: {
                  iv: encodeURIComponent(userInfoRaw.detail.iv),
                  encryptedData: encodeURIComponent(userInfoRaw.detail.encryptedData),
                  userinfo: wx.getStorageSync('user'),
                  code: that.globalData.code,
                },
                header: {
                  'content-type': 'json'
                },
                success: function (res) {
                  wx.setStorageSync('openid', res.data.data.openid)
                  var openid = res.data.data.openid
                  callback(null, userInfo, openid)
                }
              })
            }
          })
          //wx.request({}) // 将用户信息、匿名识别符发送给服务器,调用成功时执行 callback(null, res)
          try {
            wx.setStorageSync('user', userInfo)
          }
          catch (e) {
            // 处理错误
          }
          // console.log(that.globalData.userInfo)
          // callback(null, userInfo, that.globalData.code)
        } else if (userInfoRaw.detail.errMsg == 'getUserInfo:fail auth deny') {
          that.alert('需要授权才能获取您的信息')
          callback('fail to modify scope', null)
        }
      }
    

    然后就是见证奇迹的时刻了,在你需要授权的页面写上下面这段话

      // 授权
      login(userInfoRaw) {
        var that = this
        app.login((err, user, openid) => {
          //这里面就可以得到openid了,你就可以自由的用它了,放到当前页面的data里都没有问题
        }, userInfoRaw)
      },
    

    那就有人会问了,login(userInfoRaw)的参数从哪来呢,其实小程序有按钮是可以直接调获取用户信息的,把下面代码粘在想要授权的地方,就可以得到想要的效果了

    <button class="shortButton" bindgetuserinfo='login' open-type='getUserInfo' >点击登录</button> 
    

    相关文章

      网友评论

        本文标题:关于微信小程序授权,我有话说

        本文链接:https://www.haomeiwen.com/subject/inqovxtx.html