微信小程序获取用户地址信息

第一次获取授权时如果用户拒绝了授权,再使用wx.authorize就不会再弹出授权窗口,所以需要在获取授权失败后弹窗提示用户是否打开小程序权限设置页面去开启权限

getWxAddress:function(){
    let _this=this;
    wx.getSetting({//获取用户授权设置
      success(res) {
        if (!res.authSetting['scope.address']) {//如果用户未授权,则请求授权
          wx.authorize({
            scope: 'scope.address',
            success (res) {
              _this.getWxAddress();
            },
            fail(res){//如果第一次请求授权被拒绝,系统不会再弹出授权请求,所以我们直接前往微信小程序的权限管理页面
              wx.showModal({
                content: '您没有打开地址权限,是否去设置打开?',
                confirmText: "确认",
                cancelText: "取消",
                success: function(res) {
                  if (res.confirm) {
                    wx.openSetting({
                      success: (res) => {
                        _this.getWxAddress();
                      }
                    })
                  }
                }
              });
            }
          })
        }
        else{//如果用户授权了就调用选择地址
          wx.chooseAddress({
            success (res) {
              console.log(res);
              //保存返回的地址
            }
          })
        }
      }
    })
    
  }

你可能感兴趣的:(小程序)