700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 小程序获取收货地址流程

小程序获取收货地址流程

时间:2020-04-05 19:37:36

相关推荐

小程序获取收货地址流程

1.在小程序中,一般在支付订单时,会获取用户的收货地址,分为两种情况:一是用户第一次登录时需要获取收货地 二是用户已经登录过,所以只需要选择地址

情况一:

情况二:

获取用户的收货地址的详细流程:

1 写一个button按钮,绑定点击事件

2调用小程序内置api获取用户的收货地址wx.chooseAddress

3获取用户对小程序所授予获取地址的权限状态scope

(1)假设用户点击获取收货地址的提示框确定authSettingscope.address

scope值true直接调用获取收货地址

(2) 假设用户从来没有调用过收货地址的api

scopeundefined直接调用获取收货地址

(3)假设用户点击获取收货地址的提示框取消

scope值false

(1)诱导用户自己打开授权设置页面(wx.openSetting)当用户重新给与获取地址权限的时候

(2)获取收货地址

4把获取到的收货地址存入到本地存储中

2.定义页面布局以及样式(省略) button绑定一个点击事件

<view class="cart_add"><view class="cart_address" wx:if="{{!address.userName}}"><button class="cart_add_address" bindtap="handleChooseAddress" type="primary" plain>+ 获取收货地址</button></view >

3.在data中定义数据,address用来获取本地存储中的收货地址

data{address: {},),onShow() {// 获取缓存中的收货地址信息const address = wx.getStorageSync("address");this.setData({ address });},

4.点击button按钮触发相应的事件 获取用户对小程序是否授予 获取地址的权限 即scope。只用用户确认允许授权才能获取微信地址

// 点击 收货地址async handleChooseAddress() {try {// 获取 权限状态const res1 = await getSetting();const scopeAddress = res1.authSetting["scope.address"];// 判断 权限状态if (scopeAddress === false) {await openSetting();}// 调用获取收货地址的 apilet address = await chooseAddress();address.all = address.provinceName + address.cityName + address.countyName + address.detailInfo;// 存入到本地中wx.setStorageSync("address", address);} catch (error) {console.log(error);}},

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。