小程序获取用户地址

399 阅读1分钟
原文链接: blog.csdn.net

思路

一.获取用户收货地址
1.绑定点击事件
2.调用小程序内置API 获取用户的收获地址 wx.chooseAddress

在这里插入图片描述

遇到的常见问题

用户触发事件,小程序会申请拿用户的地址,如果用户不小心点了取消,那个权限就会变成false,然后就无法调用,如果用户第一次使用,权限就undefined,这个权限打印名字出来是scope.adress(关于打印方法 是调用api----wx.getsetting
在这里插入图片描述

那么如何解决呢

 1. 假设用户的权限原本是undefined和true  则直接触发地址获取就好了
 2. 假设 用户点击取消 那就是fasle,那就按另外一个思路来走
            (1)诱导用户自己打开授权设置页面  让用户给予地址权限
         (2) 获取收货地址

先不说那么多 先上代码 有问题后面再讲

// pages/cart/index.js
Page({
handleChooseAddress(){
  wx.getSetting({
    success: (result) => {
      const scopeAddress=result.authSetting["scope.address"];
      //获取权限状态很怪异时候  都需要 [“  ”]形式来获取属性值
      if (scopeAddress===true||scopeAddress===undefined) {
        wx.chooseAddress({
          success: (res) => {
            console.log(res);
          },
        })
        
      }else{
        wx.openSetting({
          success: (res) => {
            wx.chooseAddress({
              success: (res0) => {
                console.log(res0);
              },
            })
          },
        })
      }
    },
  })



}
})

最后 效果图

只要勾选上去  就可以正常获取了

只要勾选上去 就可以正常获取了

如果能稍微帮到你 能不能给个赞呀