微信小程序开发(四)获取用户openid

来源:互联网 发布:苹果手机 解压软件 编辑:程序博客网 时间:2024/06/08 03:00

在小程序里面有两个地方获取用户的openid。
一个是wx.login(OBJECT),第二个是wx.getUserInfo(OBJECT)。
这里我使用的是第一种wx.login(OBJECT)。

步骤

 wx.login({  success: function(res) {    if (res.code) { //  第一步: 获取code      //发起网络请求      wx.request({        url: '后台接口',  // 获取openid        data: {          code: res.code        }      })    } else {      console.log('获取用户登录态失败!' + res.errMsg)    }  }});

后端的实现

后端的实现就是后端调用这个接口:https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code。
这里写图片描述

/* * 根据code获取微信用户的openid */router.get('/api/getWxCode', function(req, res, next) {    var param = req.query || req.params;     var code = param.code;    var urlStr = 'https://api.weixin.qq.com/sns/jscode2session?appid=' + wxConfig.AppID + '&secret=' + wxConfig.Secret + '&js_code=' + code + '&grant_type=authorization_code';    request(urlStr, function (error, response, body) {        if (!error && response.statusCode == 200) {            var jsBody = JSON.parse(body);             jsBody.status = 100;            jsBody.msg = '操作成功';            res.end(JSON.stringify(jsBody));        }    })});

具体实例

/** * 生命周期函数--监听页面加载 */onLoad: function (options) {  var self = this;  wx.login({    success: function (res) {      if (res.code) {        //发起网络请求        wx.request({          url: 'https://www.hgdqdev.cn/api/getWxCode',          data: {            code: res.code          },          success: function(res){            if(res.data.status == 100){              self.setData({                openid: res.data.openid              })            }          },          fail: function(){          }        })      } else {        console.log('获取用户登录态失败!' + res.errMsg)      }    }  });},
原创粉丝点击