uni-app uni.authorize方法scope.userInfo不弹授权框直接授权失败

uni-app uni.authorize方法scope.userInfo不弹授权框直接授权失败

开发环境 版本号 项目创建方式
Mac 10.15.3 HBuilderX

产品分类:uniapp/App

PC开发环境操作系统:Mac

HBuilderX类型:正式

HBuilderX版本号:3.1.7

手机系统:全部

手机系统版本号:iOS 13.4

手机厂商:苹果

页面类型:vue

打包方式:离线

项目创建方式:HBuilderX

测试过的手机:苹果,小米

示例代码:

<button open-type="getUserInfo" lang="zh_CN" @getuserinfo="wxLogin">小程序登录授权</button>
wxLogin(){  
    let _this = this  
    uni.getSetting({  
      success(res) {  
        console.log('授权',res)  
        if (!res.authSetting['scope.userInfo']) {  
          uni.authorize({  
            scope: 'scope.userInfo',  
            success() {  
                console.log('------')  
            },  
            fail: (err) =>{  
                console.log(err)  
            }  
          })  
        } else {  
            console.log('==========')  
        }  
       //其他操作..  
      }  
    });  
}

更多关于uni-app uni.authorize方法scope.userInfo不弹授权框直接授权失败的实战教程也可以访问 https://www.itying.com/category-93-b0.html

7 回复

同问这个问题


更多关于uni-app uni.authorize方法scope.userInfo不弹授权框直接授权失败的实战教程也可以访问 https://www.itying.com/category-93-b0.html


请问有解决吗? 我也是授权了可是scope列表里面没有userinfo,朋友有个小程序授权登录做好了 ,我就使用他的appid ,返回有userinfo , 可是过了一会scope列表里没有了 , 然后朋友的体验版小程序授权也有问题了

微信更新了

你好 你的问题解决了吗 我遇到了相同的问题 想了解下你这边是怎么解决的

还没有解决,微信那边更新了,uniapp这边还没有更新,你可以看一下这个https://developers.weixin.qq.com/community/develop/doc/000cacfa20ce88df04cb468bc52801

你好,请问楼主问题解决了吗,我也是遇到这个问题,愁死了

在uni-app中,uni.authorize方法对scope.userInfo的授权方式已不再适用。根据微信官方政策调整,用户信息授权必须通过按钮触发,不能通过API直接调用。

你的代码中已经使用了<button open-type="getUserInfo">,这是正确的做法。问题在于你在按钮的@getuserinfo事件中又尝试调用uni.authorize,这是多余的。

建议修改代码:

wxLogin(e) {
    if (e.detail.userInfo) {
        // 用户同意授权,获取用户信息
        console.log('用户信息:', e.detail.userInfo)
        // 执行登录逻辑
    } else {
        // 用户拒绝授权
        console.log('用户拒绝授权')
    }
}
回到顶部