微信小程序:获取openid

最近开发微信小程序支付的时候,需要获取用户openid,查了一下相关资料。
根据:微信小程序案例:获取微信访问用户的openid:

//调用微信登录接口  
wx.login({
    success: function (loginCode) {
        var appid = ''; //填写微信小程序appid  
        var secret = ''; //填写微信小程序secret  

        //调用request请求api转换登录凭证  
        wx.request({
            url: 'https://api.weixin.qq.com/sns/jscode2session?appid='+appid+'&secret='+secret+'&grant_type=authorization_code&js_code=' + loginCode.code,
            header: {
                'content-type': 'application/json'
            },
            success: function (res) {
                console.log(res.data.openid) //获取openid  
            }
        })
    }
}) 

这段代码在 开启开发环境不校验请求域名、TLS版本以及HTTPS证书 的情况下是可行的,但是正式环境下是没用的。
因为微信小程序开发设置中无法添加https://api.weixin.qq.com域名。

微信小程序:获取openid_第1张图片
添加域名

处理办法:

  1. 先在微信小程序中调用wx.login获取loginCode.code
  2. loginCode.code传给服务器,由服务器请求'https://api.weixin.qq.com/sns/jscode2session?appid='+appid+'&secret='+secret+'&grant_type=authorization_code&js_code=' + loginCode.code,来获取openid。
  3. 服务器获取到openid后就可以进行进一步处理,例如进行微信支付相关操作。

参考:
wx.login(OBJECT)
微信小程序案例:获取微信访问用户的openid

你可能感兴趣的:(微信小程序:获取openid)