美文网首页
微信小程序+nodejs获取用户唯一id的详细过程

微信小程序+nodejs获取用户唯一id的详细过程

作者: 前端巴士 | 来源:发表于2020-05-29 09:50 被阅读0次
    1. 调用 wx.login() 得到用户临时登录凭证 code,该 code 是动态值,不能作为用户唯一标识
    2. 调用 auth.code2Session 接口,换取 用户唯一标识 openid会话密钥 session_key,其中的 openid 就是我们需要的用户唯一id
    3. 小程序端代码示例
    wx.login({
          complete: (res) => {
            if (res.code) {
              wx.request({
                url: 'http://192.168.1.113:3000/api/user/wx-login',
                data: {
                  code: res.code
                },
                success: r => {
                  console.log(r.data)
                }
              })
            } else {
              console.log('登录失败' + res.errMsg)
            }
          },
        })
    
    1. nodejs 后端代码示例
    var https = require('https')
    // ...
    router.get('/wx-login', function(req, res) {
      const { code } = req.query
      let url = 'https://api.weixin.qq.com/sns/jscode2session?appid=wx46c2c63de1e****7&secret=73365****e4c6eb47878f6830d4d28c4&js_code='+code+'&grant_type=authorization_code'
      let r = https.request(url, function(res2) {
        res2.setEncoding('utf-8');
        res2.on('data', function (chunk) {  
          var data = JSON.parse(chunk)
          res.send(data)
        })
      })
      r.end()
    })
    
    1. 此时前端就可以得到 node 返回的数据,格式如下
    属性  类型  说明
    openid  string  用户唯一标识
    session_key string  会话密钥
    
    1. 完成,拿到 openid 后,存储到 globalData 或其它地方,在需要的时候可以随时发给后台

    本文完成于2020年5月,经测试可行,仅供参考

    相关文章

      网友评论

          本文标题:微信小程序+nodejs获取用户唯一id的详细过程

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