首先,我们需要在uni.chooseAddress
的成功回调中,将获取到的地址信息进行格式化,然后返回这个格式化的字符串。
下面是详细的步骤和代码:
步骤
- 调用
uni.chooseAddress
:这个方法会调起微信小程序的地址选择器,让用户选择地址。 - 处理成功回调:
- 在成功回调函数中,我们会获取到用户选择的地址信息。
- 将获取到的地址信息按照“名字-手机号-地址(详细地址)”的格式进行拼接。
- 处理失败回调:如果获取地址失败,返回一个错误信息。
代码示例
get_user_address() {
return new Promise((resolve, reject) => {
uni.chooseAddress({
success(res) {
// 将地址信息格式化为“名字-手机号-地址(详细地址)”
const formattedAddress = `${res.userName}-${res.telNumber}-${res.provinceName}${res.cityName}${res.countyName}${res.detailInfoNew || res.detailInfo}`;
resolve(formattedAddress); // 成功时返回格式化后的地址
},
fail(err) {
reject('获取地址失败'); // 失败时返回错误信息
}
});
});
}
// 示例用法
get_user_address().then(address => {
console.log(address); // 输出格式化后的地址
}).catch(error => {
console.error(error); // 输出错误信息
});
详细解释
-
函数定义:
get_user_address
函数返回一个Promise
对象。这意味着我们可以使用then
和catch
方法来处理成功和失败的情况。
-
调用
uni.chooseAddress
:uni.chooseAddress
是微信小程序提供的接口,用于让用户选择收货地址。- 这个接口有两个回调函数:
success
(成功时调用)和fail
(失败时调用)。
-
成功回调函数:
- 在
success
回调函数中,我们从res
对象中获取各种地址信息。 - 使用模板字符串
${}
将这些信息按照“名字-手机号-地址(详细地址)”的格式拼接成一个字符串formattedAddress
。 - 使用
resolve(formattedAddress)
将这个格式化后的字符串作为Promise
的成功结果返回。
- 在
-
失败回调函数:
- 在
fail
回调函数中,使用reject('获取地址失败')
返回一个错误信息,表示获取地址失败。
- 在
-
示例用法:
- 调用
get_user_address
函数,使用then
方法处理成功结果,打印格式化后的地址。 - 使用
catch
方法处理失败结果,打印错误信息。
- 调用