微信小程序之登录

  1. 直接获取用户数据

          wx.getUserInfo({ success: function (res) { var userInfo = res.userInfo console.log("获取登录用户的所有信息") console.log(res.userInfo) }
            })
  2. 如果用户拒绝,提示模态框,点击确定,进入设置,再次让用户选择允许。

        fail: function (res) {
              wx.showModal({
                title: '提示',
                content: '获取用户信息失败,这将影响您使用小程序,是否重新设置授权?',
                showCancel: true,
                cancelText: "否",
                confirmText: "是",
                success: function (res) {
                  if (res.confirm) {   //点击是
                    wx.openSetting({  //打开设置
                      success: function (res) {
                        console.log(res)
                        if (res.authSetting['scope.userInfo'] === true) {
                          wx.getUserInfo({
                            success: function (res) {
                              console.log("重新登录成功")
                              var userInfo = res.userInfo
                              var nickName = userInfo.nickName  //用户名
                              var avatarUrl = userInfo.avatarUrl  //头像
                              console.log("获取登录用户的所有信息")
                              console.log(res.userInfo)
                              that.setData({
                                imageInfo: avatarUrl,
                                userName: nickName,
                                hasUserInfo: true,
                                isLogin: true,
                              })
                              t.globalData.imageInfo = avatarUrl;//全局变量表示登录用户头像
                              t.globalData.userName = nickName;//登录用户名
                            }
                          })  
                      }
                      }
                    })
                  } else if (res.cancel) {
                    console.log('用户取消授权个人信息');
                  }
                }   

如果点击允许

前台解析并显示

如果点击拒绝,让你重新选择

点击是,就进入设置界面

点击勾选,返回即可登录。

loginwx: function() {
    var that = this
    if(that.data.isLogin == false)
    {
      wx.getUserInfo({
        success: function (res) {
          var userInfo = res.userInfo
          var nickName = userInfo.nickName  //用户名
          var avatarUrl = userInfo.avatarUrl  //头像
          console.log("获取登录用户的所有信息")
          console.log(res.userInfo)
          // wx.showToast({
          // title: nickName,
          // });
          that.setData({
            imageInfo: avatarUrl,
            userName: nickName,
            hasUserInfo: true,
            isLogin: true,
          })
          t.globalData.imageInfo = avatarUrl;//全局变量表示登录用户头像
          t.globalData.userName = nickName;//登录用户名
        },
        fail: function (res) {
          wx.showModal({
            title: '提示',
            content: '获取用户信息失败,这将影响您使用小程序,是否重新设置授权?',
            showCancel: true,
            cancelText: "否",
            confirmText: "是",
            success: function (res) {
              if (res.confirm) {
                wx.openSetting({
                  success: function (res) {
                    console.log(res)
                    if (res.authSetting['scope.userInfo'] === true) {
                      wx.getUserInfo({
                        success: function (res) {
                          console.log("重新登录成功")
                          var userInfo = res.userInfo
                          var nickName = userInfo.nickName  //用户名
                          var avatarUrl = userInfo.avatarUrl  //头像
                          console.log("获取登录用户的所有信息")
                          console.log(res.userInfo)
                          that.setData({
                            imageInfo: avatarUrl,
                            userName: nickName,
                            hasUserInfo: true,
                            isLogin: true,
                          })
                          t.globalData.imageInfo = avatarUrl;//全局变量表示登录用户头像
                          t.globalData.userName = nickName;//登录用户名
                        }
                      })  
                  }
                  }
                })
              } else if (res.cancel) {
                console.log('用户取消授权个人信息');
              }
            }
          })
        }
      })
    }
全部评论

相关推荐

11-04 19:05
已编辑
东莞城市学院 单片机
不知道怎么取名字_:你这个要实习两年?哪有这么久的,感觉就是即使你毕业了,但还按实习的话,是不是不用给你缴社保公积金啥的
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务