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

2020-09-05 14:45 更新

swan.chooseAddress

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

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

方法參數(shù)

Object object

object 參數(shù)說明

屬性名 類型 必填 默認值 說明

success

Function

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

fail

Function

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

complete

Function

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

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

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

userName

String

收貨人姓名

postalCode

String

郵編

provinceCode

String

國標收貨地址第一級地址國家碼

最低支持版本 3.90.4

provinceName

String

國標收貨地址第一級地址

cityCode

String

國標收貨地址第二級地址國家碼

最低支持版本 3.90.4

cityName

String

國標收貨地址第二級地址

countyCode

String

國標收貨地址第三級地址國家碼

最低支持版本 3.90.4

countyName

String

國標收貨地址第三級地址

townCode

String

國標收貨地址第四級地址國家碼

最低支持版本 3.90.4

townName

String

國標收貨地址第四級地址

最低支持版本 3.90.4

detailInfo

String

詳細收貨地址信息

telNumber

String

收貨人手機號碼

nationalCode

String

收貨地址國家碼

示例


圖片示例

代碼示例 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">點擊獲取收貨地址</button>
    </view>
</view>

Page({
    data: {
        list: [{chineseName: '收貨人姓名', engName: 'userName', value: ''},
            {chineseName: '郵政編碼', engName: 'postalCode', value: ''},
            {chineseName: '聯(lián)系電話', engName: 'telNumber', value: ''},
            {chineseName: '詳細地址', engName: 'detailInfo', value: ''},
            {chineseName: '國家碼', 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 = '暫無';
                    }
                    else {
                        list[i].value = res[list[i].engName];
                    }
                }
                this.setData({
                    list
                });
            },
            fail: err => {
                console.log('chooseAddress fail', err);
            }
        });
    }
});

代碼示例 2:用戶在拒絕了一次授權(quá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)地址管理頁面采用如上交互,在百度地址庫中添加的地址會同步在開發(fā)者的地址庫中。


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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號