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

2018-9-12    seo达人

如果您想订阅本博客内容,每天自动发到您的邮箱中, 请点这里

在小程序里面有两个地方获取用户的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)
    }
  }
}); 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

后端的实现

后端的实现就是后端调用这个接口: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));
        }
    })
}); 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

具体实例

/**
 * 生命周期函数--监听页面加载
 */ 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)
      }
    }
  });
},

蓝蓝设计www.lanlanwork.com )是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供卓越的UI界面设计、BS界面设计 、 cs界面设计 、 ipad界面设计 、 包装设计 、 图标定制 、 用户体验 、交互设计、 网站建设 平面设计服务


日历

链接

个人资料

蓝蓝设计的小编 http://www.lanlanwork.com

存档