获取用户地址代码
// pages/cart/index.js
import {getSetting,chooseAddress,openSetting} from '../../utils/asyncWx.js'
import regeneratorRuntime from "../../lib/runtime/runtime.js";
Page({
/**
* 页面的初始数据
*/
data: {
address:{}
},
// 点击收获地址
async handleChooseAddress(){
// 1 获取权限状态
// wx.getSetting({
// success: (result) => {
// // 2 权限状态
// const scopeAddress = result.authSetting['scope.address'];
// if(scopeAddress === true || scopeAddress == undefined){
// wx.chooseAddress({
// success: (result1) => {
// console.log(result1)
// }
// });
// }else{
// // 3 用户以前拒绝过授予权限 先诱导用户打开授权页面
// wx.openSetting({
// success:(result2)=>{
// console.log(result2)
// // 4 可以调用 收获地址代码
// wx.chooseAddress({
// success: (result3) => {
// console.log(result3)
// }
// });
// }
// })
// }
// }
// });
try{
// 1 获取权限状态
const res1 = await getSetting();
const scopeAddress = res1.authSetting['scope.address'];
// 2 判断 权限状态
if(scopeAddress === false){
// 3 诱导用户打开授权页面
await openSetting();
}
// 4 调用获取 收货地址都 api
const address = await chooseAddress();
address.all = address.provinceName + address.cityName + address.countyName + address.detailInfo;
// 存入到缓存中
wx.setStorageSync('address', address);
this.setData({
address
})
}catch(error){
console.log(error)
}
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
// 1 获取缓存中的收货地址信息
const address = wx.getStorageSync('address');
// 2 给 data 赋值
this.setData({
address
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})
-----------------------------------------------
<!--pages/cart/index.wxml-->
<!--收货地址-->
<view class="revice_address_row">
<!-- 当收货地址 不存在 按钮显示-->
<view class="address_btn" wx:if="{{!address.userName}}">
<button bindtap="handleChooseAddress" type="primary" plain> 获取收货地址 </button>
</view>
<!-- 当收货地址 存在 详细信息显示-->
<view wx:else class="user_info_row">
<view class="user_info">
<view> {{address.userName}}</view>
<view> {{address.all}}</view>
</view>
<view class="user_phone">
{{address.telNumber}}
</view>
</view>
</view>
-----------------------------------
export const getSetting = () =>{
return new Promise((resolve,reject)=>{
wx.getSetting({
success: (result) => {
resolve(result)
},
fail:(err)=>{
reject(err)
}
})
})
}
export const chooseAddress = () =>{
return new Promise((resolve,reject)=>{
wx.chooseAddress({
success: (result) => {
resolve(result)
},
fail:(err)=>{
reject(err)
}
})
})
}
export const openSetting = () =>{
return new Promise((resolve,reject)=>{
wx.openSetting({
success: (result) => {
resolve(result)
},
fail:(err)=>{
reject(err)
}
})
})
}
我是Eric,手机号是13522679763

浙公网安备 33010602011771号