百度智能小程序 獲取用戶設備標識

2020-09-05 14:45 更新

swan.getSwanId

此 API 已被廢棄,請使用 button 組件實現(xiàn)相關功能。

解釋:由于宿主應用并不一定強制用戶登錄,因此用戶也有可能處于未登錄狀態(tài)。此時開發(fā)者可能不希望通過調用swan.login()強制用戶登錄,而是希望直接使用用戶的設備標識來關聯(lián)用戶,存儲一些非敏感的數(shù)據(jù)。因此智能小程序提供了一個swanid的標識,開發(fā)者可將其視作用戶的設備標識,swanid的機制說明如下:

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

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

  • 獲取 swanid ,swanid 長度不超過 100 個字符。
  • 獲取 swanid _signature ,并可通過對比該值與采用 signature 計算方法 得到的計算值是否一致來判斷 swanid 是否有效。

方法參數(shù)

Object object

object參數(shù)說明

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

success

Function

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

fail

Function

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

complete

Function

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

參數(shù) 類型 說明

errno

String

errno

data

Object

{swanid}

示例 

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


圖片示例

代碼示例

<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">點擊獲取用戶設備標識</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 = '暫無';
                }
                else {
                    infoList[i].value = res[infoList[i].key];
                }
            }
            this.setData('infoList', infoList);
        }
    });

    錯誤碼

    Android

    錯誤碼說明

    201

    解析失敗,請檢查調起協(xié)議是否合法

    1001

    執(zhí)行失敗

    10001

    內部錯誤

    10002

    網(wǎng)絡無連接

    iOS

    錯誤碼說明

    202

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

    10001

    內部錯誤

    10002

    網(wǎng)絡無連接

    10004

    用戶拒絕(user not login)

    10005

    系統(tǒng)拒絕


    以上內容是否對您有幫助:
    在線筆記
    App下載
    App下載

    掃描二維碼

    下載編程獅App

    公眾號
    微信公眾號

    編程獅公眾號