收藏
回答

cocos的js代码,3.4.2基础库用户授权弹窗不会弹窗!2.30基础库就能弹窗,如何破?

//第五关监听微信登录的脚本

cc.Class({
    extends: cc.Component,

    properties: {
        //button按钮直接指定本脚本下的onClick方法!!不在面板上!
    },

    onClick() {
        let self = this;

        //创建 button 获取用户信息
        let button = wx.createUserInfoButton({
            type: 'text',
            text: '查看排行榜',
            style: {
                left: 10,
                top: 50,
                width: 200,
                height: 40,
                backgroundColor: '#00ffb7',
                color: '#ffffff',
                textAlign: 'center',
                fontSize: 16,
                borderRadius: 4
            }
        });

        //监听用户点击事件
        button.onTap((res) => {
            console.log(res);
            //判断是否获取到用户信息
            if (res.userInfo) {
                let userInfo = res.userInfo;
                //调用wxLogin方法处理用户信息
                self.wxLogin(userInfo);
                //销毁按钮
                button.destroy();
            } else {
                console.log("用户拒绝授权获取用户信息");
            }
        });
    },

    wxLogin(userInfo) {
        let icon = cc.find("Canvas/bg-005/icon").getComponent(cc.Sprite);
        cc.loader.load({ url: userInfo.avatarUrl, type: "png" }, function (err, texture) {
            if (err) {
                console.error("加载用户头像失败", err);
            } else {
                icon.spriteFrame = new cc.SpriteFrame(texture);
            }
        });
    },

    start() {
        // 在 start 方法中进行已授权的用户信息获取
        wx.getSetting({
            success(res) {
                if (res.authSetting['scope.userInfo']) {
                    wx.getUserInfo({
                        success(res) {
                            let userInfo = res.userInfo;
                            self.wxLogin(userInfo);
                        }
                    });
                } else {
                    console.log("用户未授权获取用户信息");
                }
            }
        });
    }//start收尾
});


回答关注问题邀请回答
收藏

1 个回答

登录 后发表内容