您的当前位置:首页正文

微信小程序获取用户基本信息新API使用测试

2024-11-28 来源:个人技术集锦
<button @tap="getUserInfo" type="primary" withCredentials="true" class="infobtn"></button>    

微信小程序不允许主动获取用户信息,所以此处应该设置button按钮,供用户主动点击,在必要时提示用户需要获取用户信息。   

getUserInfo(e){
  wx.getUserProfile({
//此处为用户主动点击触发,可以获取用户昵称和头像
    desc: '用于完善会员资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
    success: (res) => {
      wx.login({
//此处为获取登录凭证(code)和用户id
        success (loginRes) {
          uni.request({ 
//该请求将code和用户昵称、头像传至后端,后端判断用户是否注册,并返回完整用户信息给前端,完成登录操作。
            url:"https://www.example.com/mpregist",
            method:'POST',
            data:{"code":loginRes.code,"nickname":res.userInfo.nickName,"headicon":res.userInfo.avatarUrl},
            success:(data)=> {
              //接收用户信息,完成下一步操作
            }
          });
        }
      })
    }
  })
},

node后端API操作:

exports.mpregist=function(req,res){
    var code=req.body.code;
    var headicon=req.body.headicon;
    var nickname=req.body.nickname;
    var datas='';
    var url="https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code="+code+"&grant_type=authorization_code";
    request(url, function (error, response, body) {
        if (!error && response.statusCode == 200) {
            var userInfo=JSON.parse(body);
           //获取用户信息userInfo,判断用户是否存在,不存在则进行用户注册
           res.send(userInfo) //返回用户信息给前端处理
        }
    });
}

欢迎指正和共同探讨。

显示全文