百度智能小程序 獲取用戶設(shè)備標(biāo)識(shí)

2020-09-05 14:45 更新

swan.getSwanId

此 API 已被廢棄,請(qǐng)使用 button 組件實(shí)現(xiàn)相關(guān)功能。

解釋?zhuān)河捎谒拗鲬?yīng)用并不一定強(qiáng)制用戶登錄,因此用戶也有可能處于未登錄狀態(tài)。此時(shí)開(kāi)發(fā)者可能不希望通過(guò)調(diào)用swan.login()強(qiáng)制用戶登錄,而是希望直接使用用戶的設(shè)備標(biāo)識(shí)來(lái)關(guān)聯(lián)用戶,存儲(chǔ)一些非敏感的數(shù)據(jù)。因此智能小程序提供了一個(gè)swanid的標(biāo)識(shí),開(kāi)發(fā)者可將其視作用戶的設(shè)備標(biāo)識(shí),swanid的機(jī)制說(shuō)明如下:

  • 用戶在同一臺(tái)設(shè)備上使用同一個(gè)開(kāi)發(fā)者所開(kāi)發(fā)的不同智能小程序,得到的是相同的 swanid 。
  • 用戶在同一臺(tái)設(shè)備上使用不同開(kāi)發(fā)者所開(kāi)發(fā)的不同智能小程序,得到的 swanid 是不同的。

開(kāi)發(fā)者可通過(guò) swan.getSwanId() 方法:

  • 獲取 swanid ,swanid 長(zhǎng)度不超過(guò) 100 個(gè)字符。
  • 獲取 swanid _signature ,并可通過(guò)對(duì)比該值與采用 signature 計(jì)算方法 得到的計(jì)算值是否一致來(lái)判斷 swanid 是否有效。

方法參數(shù)

Object object

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

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

success

Function

接口調(diào)用成功的回調(diào)函數(shù)

fail

Function

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

complete

Function

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

參數(shù) 類(lèi)型 說(shuō)明

errno

String

errno

data

Object

{swanid}

示例 

在開(kāi)發(fā)者工具中打開(kāi)


圖片示例

代碼示例

<view class="wrap">
    <view class="card-area">
        <view class="list-area border-bottom" s-for="item in infoList">
            <text class="list-item-key-4">{{item.key}}</text>
            <text class="list-item-value">{{item.value}}</text>
        </view>
        <view class="button-group">
            <button bind:tap="getSwanId" type="primary" hover-stop-propagation="true">點(diǎn)擊獲取用戶設(shè)備標(biāo)識(shí)</button>
            <button bind:tap="clearSwanId" hover-stop-propagation="true">清空</button>
        </view>
    </view>
</view>

    Page({
        data: {
            infoList: [{
                key: 'swanid',
                value: ''
            }, {
                key: 'swanid_old',
                value: ''
            }, {
                key: 'swanid_old_signature',
                value: ''
            }, {
                key: 'swanid_signature',
                value: ''
            }]
        },
    
        getSwanId(e) {
            swan.getSwanId({
                success: res => {
                    console.log('res', res.data);
                    // 更新數(shù)據(jù)
                    this.updateInfoList(res.data);
                },
                fail: err => {
                    swan.showToast({
                        title: '獲取失敗'
                    });
                }
            });
        },
    
        clearSwanId() {
            this.updateInfoList({});
        },
    
        updateInfoList(res) {
            let infoList = this.getData('infoList');
            for (let i = 0; i < infoList.length; ++i) {
                if (res[infoList[i].key] === '') {
                    infoList[i].value = '暫無(wú)';
                }
                else {
                    infoList[i].value = res[infoList[i].key];
                }
            }
            this.setData('infoList', infoList);
        }
    });

    錯(cuò)誤碼

    Android

    錯(cuò)誤碼說(shuō)明

    201

    解析失敗,請(qǐng)檢查調(diào)起協(xié)議是否合法

    1001

    執(zhí)行失敗

    10001

    內(nèi)部錯(cuò)誤

    10002

    網(wǎng)絡(luò)無(wú)連接

    iOS

    錯(cuò)誤碼說(shuō)明

    202

    解析失敗,請(qǐng)檢查參數(shù)是否正確

    10001

    內(nèi)部錯(cuò)誤

    10002

    網(wǎng)絡(luò)無(wú)連接

    10004

    用戶拒絕(user not login)

    10005

    系統(tǒng)拒絕


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

    掃描二維碼

    下載編程獅App

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

    編程獅公眾號(hào)