百度智能小程序 調(diào)起原生界面

2020-09-05 14:45 更新

swan.chooseAddress

此 API 日后將被廢棄,建議使用 button 組件實(shí)現(xiàn)相關(guān)功能。

解釋:調(diào)起用戶編輯/新增百度收貨地址原生界面,在用戶編輯完成后直接使用所編輯的地址,同時(shí)用戶在百度新增的地址會(huì)同步至開發(fā)者地址庫(kù)中共存。使用該 API 需通過(guò)獲取用戶授權(quán)設(shè)置申請(qǐng)授權(quán)后方可對(duì)用戶發(fā)起授權(quán)申請(qǐng),可在 swan.authorize 中查看相關(guān)錯(cuò)誤碼信息。

方法參數(shù)

Object object

object 參數(shù)說(shuō)明

屬性名 類型 必填 默認(rèn)值 說(shuō)明

success

Function

返回用戶選擇的收貨地址信息

fail

Function

接口調(diào)用失敗的回調(diào)函數(shù)

complete

Function

接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行)

success 返回參數(shù)說(shuō)明 :

參數(shù)名 類型 說(shuō)明 最低版本

userName

String

收貨人姓名

postalCode

String

郵編

provinceCode

String

國(guó)標(biāo)收貨地址第一級(jí)地址國(guó)家碼

最低支持版本 3.90.4

provinceName

String

國(guó)標(biāo)收貨地址第一級(jí)地址

cityCode

String

國(guó)標(biāo)收貨地址第二級(jí)地址國(guó)家碼

最低支持版本 3.90.4

cityName

String

國(guó)標(biāo)收貨地址第二級(jí)地址

countyCode

String

國(guó)標(biāo)收貨地址第三級(jí)地址國(guó)家碼

最低支持版本 3.90.4

countyName

String

國(guó)標(biāo)收貨地址第三級(jí)地址

townCode

String

國(guó)標(biāo)收貨地址第四級(jí)地址國(guó)家碼

最低支持版本 3.90.4

townName

String

國(guó)標(biāo)收貨地址第四級(jí)地址

最低支持版本 3.90.4

detailInfo

String

詳細(xì)收貨地址信息

telNumber

String

收貨人手機(jī)號(hào)碼

nationalCode

String

收貨地址國(guó)家碼

示例


圖片示例

代碼示例 1:用戶允許授權(quán)情況下 
在開發(fā)者工具中打開

<view class="wrap">
    <view class="card-area bottom-distance">
        <view class="list-area border-bottom" s-for="item in list">
            <view class="list-item-key-4">{{item.chineseName}}</view>
            <view class="list-item-value">{{item.value}}</view>
        </view>
    </view>
    <view class="swan-security-padding-bottom flex-button">
        <button type="primary" bindtap="chooseAddress">點(diǎn)擊獲取收貨地址</button>
    </view>
</view>

Page({
    data: {
        list: [{chineseName: '收貨人姓名', engName: 'userName', value: ''},
            {chineseName: '郵政編碼', engName: 'postalCode', value: ''},
            {chineseName: '聯(lián)系電話', engName: 'telNumber', value: ''},
            {chineseName: '詳細(xì)地址', engName: 'detailInfo', value: ''},
            {chineseName: '國(guó)家碼', engName: 'nationalCode', value: ''},
            {chineseName: '第一地址', engName: 'provinceName', value: ''},
            {chineseName: '第一地址碼', engName: 'provinceCode', value: ''},
            {chineseName: '第二地址', engName: 'cityName', value: ''},
            {chineseName: '第二地址碼', engName: 'cityCode', value: ''},
            {chineseName: '第三地址', engName: 'countyName', value: ''},
            {chineseName: '第三地址碼', engName: 'countyCode', value: ''},
            {chineseName: '第四地址', engName: 'townName', value: ''},
            {chineseName: '第四地址碼', engName: 'townCode', value: ''}]
    },
    chooseAddress() {
        swan.chooseAddress({
            success: res => {
                console.log('chooseAddress success', res);
                let list = this.getData('list');
                for (let i = 0; i < list.length; i++) {
                    if (res[list[i].engName] === '') {
                        list[i].value = '暫無(wú)';
                    }
                    else {
                        list[i].value = res[list[i].engName];
                    }
                }
                this.setData({
                    list
                });
            },
            fail: err => {
                console.log('chooseAddress fail', err);
            }
        });
    }
});

代碼示例 2:用戶在拒絕了一次授權(quán)情況下,仍可訪問(wèn)此 API 
在開發(fā)者工具中打開

<view class="wrap">
    <button type="primary" bindtap="chooseAddress">chooseAddress</button>
</view>

Page({
    chooseAddress() {
        swan.chooseAddress({
            success: res => {
                console.log('chooseAddress success', res);
            },
            fail: err => {
                if (err.errCode == 10003) {
                    swan.showToast({
                        title: '用戶未開啟授權(quán)'
                    });
                    swan.openSetting({});
                }
                console.log('chooseAddress fail', err);
            }
        });
    }
});

交互示例

注:建議開發(fā)者在小程序內(nèi)地址管理頁(yè)面采用如上交互,在百度地址庫(kù)中添加的地址會(huì)同步在開發(fā)者的地址庫(kù)中。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)