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

it2025-02-02  8

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

最新回复(0)