普歌-智音团队 微信小程序获取用户收货地址全过程

直接调用小程序内置 api 获取用户的收货地址 wx.chooseAddress就可以获取到用户信息,但是有一个问题:用户点击确定授权就可以获取到用户收货地址,但是如果点击失败,那么再点击获取地址,就不会弹出授权框
那么下面我们就解决这个问题
一. 获取用户的收货地址
1 绑定点击事件
2 调用小程序内置 api 获取用户的收货地址 wx.chooseAddress

二. 获取 用户 对小程序 所授予 获取地址的 权限 状态 scope
1 假设 用户 点击获取收货地址的提示框 确定 authSetting scope.address
scope 值 true 直接调用 获取收货地址
2 假设 用户 从来没有调用过 收货地址的api
scope undefined 直接调用 获取收货地址
3 假设 用户 点击获取收货地址的提示框 取消
scope 值 false
1 诱导用户 自己 打开 授权设置页面(wx.openSetting) 当用户重新给与 获取地址权限的时候
2 获取收货地址
4 把获取到的收货地址 存入到 本地存储中

 // authSetting  scope.address
  // 点击获取收货地址
  handleChooseAddress() { 
    // 获取 权限状态
    wx.getSetting({
      success: (result)=>{
        console.log(result);
        // 获取权限状态 主要发现一些 属性名很怪异 都要用[]形式来获取属性值
        const scopeAddress = result.authSetting["scope.address"];
        if (scopeAddress===true||scopeAddress===undefined) {
          wx.chooseAddress({
            success: (result1) => {
              console.log(result1);
            }
          });
        } else { 
          // 如果用户拒绝过授权页面   先诱导用户打开权限页面
          wx.openSetting({
            success: (result2)=>{ 
              // 4 可以调用 收货地址代码
              wx.chooseAddress({
                success:(result3)=> {
                  console.log(result3);
                }
              })
            }
          })
        }
      },
      fail: ()=>{},
      complete: ()=>{}
    });
  },

相关内容请浏览《普歌-智音团队 把原生微信小程序请求改为promise的方式

作者:lihaijin8090
本文源自:lihaijin8090的《普歌-智音团队 微信小程序获取用户收货地址全过程
本文版权归作者和CSDN共有,欢迎转载,且在文章页面明显位置给出原文链接,未经作者同意必须保留此段声明,否则保留追究法律责任的权利。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值