美文网首页
[Egret] 微信小游戏获取用户信息

[Egret] 微信小游戏获取用户信息

作者: 卓灬不凡 | 来源:发表于2019-12-18 14:54 被阅读0次
  • egret 导出为微信小游戏后替换 'platform.js' 中的 'getUserInfo'
getUserInfo() {
        return new Promise((resolve, reject) => {
            let sysInfo = wx.getSystemInfoSync();
            let sdkVersion = sysInfo.SDKVersion;
            sdkVersion = sdkVersion.replace(/\./g, "");
            sdkVersion = sdkVersion.substr(0, 3);
            let sdkVersionNum = parseInt(sdkVersion);
            // 判断是否已经授权 - 并且兼容 2.0.1 以前版本获取
            wx.getSetting({
                success(res) {
                    if (sdkVersionNum >= 201 && !res.authSetting['scope.userInfo']) {
                        // 创建获取用户信息按钮
                        var button = wx.createUserInfoButton({
                            type: 'image',
                            text: '',
                            image: "http://www.oneh5.com/iptv/h5/egret/billiard/resource/game/jiqiu.png",
                            style: {
                                left: 0,
                                top: 0,
                                width: 100,
                                height: 100
                            }
                        });
                        button.onTap((res) => {
                            if (res.userInfo) {
                                console.log("用户授权:", res);
                                var userInfo = res.userInfo;
                                var nickName = userInfo.nickName;
                                var avatarUrl = userInfo.avatarUrl;
                                var gender = userInfo.gender; //性别 0:未知、1:男、2:女
                                var province = userInfo.province;
                                var city = userInfo.city;
                                var country = userInfo.country;
                                button.destroy();
                                resolve(userInfo);
                            } else {
                                wx.showModal({
                                    title: '友情提醒',
                                    content: '请允许微信获得授权!',
                                    showCancel: false,
                                    cancelColor: '#000000',
                                    confirmText: '确定',
                                    confirmColor: '#3cc51f'
                                });
                            }
                        });
                    } else {
                        // 已授权 - 直接获取
                        wx.getUserInfo({
                            withCredentials: true,
                            success: res => {
                                var userInfo = res.userInfo;
                                var nickName = userInfo.nickName;
                                var avatarUrl = userInfo.avatarUrl;
                                var gender = userInfo.gender; //性别 0:未知、1:男、2:女
                                var province = userInfo.province;
                                var city = userInfo.city;
                                var country = userInfo.country;
                                resolve(userInfo);
                            },
                            fail: res => {
                                wx.showModal({
                                    title: '友情提醒',
                                    content: '请允许微信获得授权!',
                                    showCancel: false,
                                    cancelColor: '#000000',
                                    confirmText: '确定',
                                    confirmColor: '#3cc51f'
                                });
                            }
                        });
                    }
                }
            });
        })
    }

相关文章

网友评论

      本文标题:[Egret] 微信小游戏获取用户信息

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