美文网首页
微信小程序获取用户openId、手机号

微信小程序获取用户openId、手机号

作者: 念雅_a9ef | 来源:发表于2020-05-15 15:11 被阅读0次

    对于第一次实现小程序获取用户手机号、用户信息功能的程序猿来说,有一个着手的思路可以事半功倍。本文可以给你提供这个思路,助你快速准确完成需求。

    获取用户openId

    调用wx.login,在成功回调中,拿自己小程序的appId、secret请求接口 url: 'https://api.weixin.qq.com/sns/jscode2session?appid=' + appId + '&secret=' + secret + '&js_code=' +code + '&grant_type=authorization_code',请求成功即可拿到openid和session-key

        wx.request({
                        url: 'https://api.weixin.qq.com/sns/jscode2session?appid=' + appId + '&secret=' + secret + '&js_code=' +
                            code + '&grant_type=authorization_code',
                        header: {
                            'content-type': 'application/json'
                        },
                        success: function(res) {
                            // console.log('bindGetUserInfo res为');
                            // console.log(res);
                            that.data.openid = res.data.openid; //返回openid
                            that.data.session_key = res.data.session_key;
                            // console.log('openid为' + that.data.openid);
                            // console.log('session_key为' + that.data.session_key);
                        }
                    })
    

    获取用户手机号码

    小程序的appId必须要在微信公众平台完成微信认证(里面需要上传一些企业的一些证件和信息)才能有获取用户手机号的权限

    <button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber" >获取加密手机号</button>
    
    //获取手机号码
        getPhoneNumber(e) {
            var that = this;
            // console.log(e.detail.errMsg)
            // console.log(e.detail.iv)
            // console.log('getPhoneNumber为' + e.detail.encryptedData);
            // console.log(e.detail.encryptedData)
            that.data.userPhoneNumber = e.detail.encryptedData;
            that.data.userIv = e.detail.iv;
            wx.showToast({
                title: '手机号获取成功',
                icon: 'success',
                duration: 1500
            })
        },
    

    最后拿用户的获取到的e.detail.iv、和e.detail.encryptedData(加密的手机号)和前面拿到过的session-key传给后台,交给后台解密即可
    具体解密规则参考官方文档:(https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/getPhoneNumber.html)

    相关文章

      网友评论

          本文标题:微信小程序获取用户openId、手机号

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