美文网首页web前端
小程序如何获取用户的unionid

小程序如何获取用户的unionid

作者: 姜治宇 | 来源:发表于2021-12-31 14:18 被阅读0次

unionid与openid的不同之处在于:
openid是同一用户同一应用唯一;而unionid是同一用户不同应用唯一。
很显然,如果要拿到用户的唯一id,只能用unionid。
因为unionid是用户的私密信息,所以需要走登录入口。
uni-app框架对这块做了很好的封装,直接调用即可。不过api有点乱,手册介绍的实例是用云函数的方式获取,但云函数的相关配置比较繁琐,我们可以绕过不用。

uni.login({
    provider: 'weixin',
    success: loginRes => {
        console.log('code>>>', loginRes.code);
        //获取unionid信息
        uni.request({
            url: 'https://api.weixin.qq.com/sns/jscode2session',
            data: {
                appid: 'xxxxxxx',
                secret: 'xxxxxxx',
                js_code: loginRes.code,
                grant_type: 'authorization_code'
            },
            header: {
                'content-type': 'json'
            },
            success: unionRes => {
                if (unionRes.data && unionRes.data.unionid) {
                    let unionid = unionRes.data.unionid;
                    uni.setStorageSync('wx_userid', unionid);//将unionid存储下来,下次可以免登
                    // 获取用户信息,包括头像昵称等
                    uni.getUserInfo({
                        provider: 'weixin',
                        success: infoRes => {
                            console.log('用户信息>>>', infoRes);
                        }
                    });
                }


            }
        });
    }
});

相关文章

网友评论

    本文标题:小程序如何获取用户的unionid

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