当前位置:   article > 正文

微信小程序获取用户的openid_wx.getopendeviceid

wx.getopendeviceid
微信小程序中获取用户的openid的方式有两种:
方法一:
先获取用户信息(wx.getUserInfo),然后将返回的用户信息中包含openid的敏感信息解密得到用户的openid一种是先获取用户信息,然后将返回的用户信息中包含openid的敏感信息解密得到用户的openid,这种方法获取用户openid比较麻烦,还涉及到数据解密,而且如果用户拒绝授权,则获取不到。这里不细说此方法, 详见文档

方法二:
先登录(wx.login)获取用户登录凭证(code),然后拿这个code当参数调用接口,通过后端获取到用户的openid。
小程序端代码如下:
  1. //app.js
  2. App({
  3. onLaunch: function() {
  4. wx.login({
  5. success: function(res) {
  6. if (res.code) {
  7. //发起网络请求
  8. wx.request({
  9. url: 'https://test.com/onLogin',
  10. data: {
  11. code: res.code
  12. }
  13. })
  14. } else {
  15. console.log('获取用户登录态失败!' + res.errMsg)
  16. }
  17. }
  18. });
  19. }
  20. })
后端获取数据方法如下:
  1. //获取用户openid
  2. function getopenid(){
  3. $js_code = I('post.code');
  4. if(empty($js_code)) return array('status'=>0,'info'=>'缺少js_code');
  5. $appid = 'xxxxxxxxxxxxx';
  6. $appsecret = 'xxxxxxxxxxxxxxxxxxxxxx';
  7. $curl = 'https://api.weixin.qq.com/sns/jscode2session?appid=%s&secret=%s&js_code=%s&grant_type=authorization_code';
  8. $curl = sprintf($curl,$appid,$appsecret,$js_code);
  9. $result = request($curl);
  10. return array('status'=>1,'info'=>json_decode($result,true));
  11. }

数据返回说明

  1. //正常返回的JSON数据包
  2. {
  3. "openid": "OPENID",
  4. "session_key": "SESSIONKEY",
  5. "unionid": "UNIONID"
  6. }
  7. //错误时返回JSON数据包(示例为Code无效)
  8. {
  9. "errcode": 40029,
  10. "errmsg": "invalid code"
  11. }
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/757963
推荐阅读
相关标签
  

闽ICP备14008679号