……

微信小程序用户拒绝授权之后重新调起授权

我们以获取地址为例
  
//选择地址
    selectAddress() {
        wx.getSetting({
            success: (res) => {
                wx.authorize({
                    scope: 'scope.userLocation',
                    success: () => {
                        wx.chooseLocation({
                            success: (res) => {
                                this.setData({
                                    address: res.address
                                })
                            },
                            fail: (err) => {
                                console.log(err)
                            }
                        })
                    },
                    fail: () => {
                        console.log("用户已经拒绝位置授权");
                        this.openConfirm(); //如果拒绝,在这里进行再次获取授权的操作
                    }
                })
            }
        })

 

    },
    //再次获取授权
    //当用户第一次拒绝后再次请求授权
    openConfirm: function () {
        wx.showModal({
            content: '检测到您没打开此小程序的定位权限,是否去设置打开?',
            confirmText: "确认",
            cancelText: "取消",
            success: function (res) {
                console.log(res);
                //点击“确认”时打开设置页面
                if (res.confirm) {
                    console.log('用户点击确认')
                    wx.openSetting({
                        success: (res) => {}
                    })
                } else {
                    console.log('用户点击取消')
                }
            }
        });
    },
posted @ 2022-03-15 17:35  陈小沐沐子  阅读(571)  评论(0)    收藏  举报