新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)百度小程序教程:swan.getSwanId
- swan.getSwanId
- 方法參數(shù)
- object 參數(shù)說明
- success 返回參數(shù)說明
- 示例
- 圖片示例
- 代碼示例
- signature 計算方法
- 錯誤碼
- Android
- iOS
- 方法參數(shù)
swan.getSwanId
解釋:由于宿主應用并不一定強制用戶登錄,因此用戶也有可能處于未登錄狀態(tài)。此時開發(fā)者可能不希望通過實現(xiàn)登錄強制用戶登錄,而是希望直接使用用戶的設備標識來關聯(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 | 否 | 接口調(diào)用成功的回調(diào)函數(shù) | |
| fail | Function | 否 | 接口調(diào)用失敗的回調(diào)函數(shù) | |
| complete | Function | 否 | 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行) |
success 返回參數(shù)說明
| 參數(shù) | 類型 | 說明 |
|---|---|---|
| errno | String | errno |
| data | Object | {swanid} |
示例
在開發(fā)者工具中打開
在開發(fā)者工具中打開
在 WEB IDE 中打開
掃碼體驗
代碼示例
請使用百度APP掃碼
圖片示例
代碼示例
- SWAN
- JS
{{item.key}} {{item.value}}
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);}});
signature 計算方法
- GOLANG
- PHP
/*** 生成簽名* appkey 小程序標識* secret_key 小程序私鑰* swanid 用戶swanid*/func generageSignature(appKey, secrectKey, swanID string) string {plainText := fmt.Sprintf("appkey=%ssecret_key=%sswanid=%s", appKey, secrectKey, swanID)md5Sum := md5.Sum([]byte(plainText))return hex.EncodeToString(md5Sum[:])}
/*** 生成 signature 校驗碼* appKey 小程序標識* secretKey 小程序私鑰* swanId 用于 swanId*/function generageSignature($appKey, $secrectKey, $swanId){$plainText = sprintf("appkey=%ssecret_key=%sswanid=%s", $appKey, $secrectKey, $swanId);return md5($plainText);}
錯誤碼
Android
| 錯誤碼 | 說明 |
|---|---|
| 201 | 解析失敗,請檢查調(diào)起協(xié)議是否合法 |
| 1001 | 執(zhí)行失敗 |
| 10001 | 內(nèi)部錯誤 |
| 10002 | 網(wǎng)絡無連接 |
iOS
| 錯誤碼 | 說明 |
|---|---|
| 202 | 解析失敗,請檢查參數(shù)是否正確 |
| 10001 | 內(nèi)部錯誤 |
| 10002 | 網(wǎng)絡無連接 |
| 10004 | 用戶拒絕(user not login) |
| 10005 | 系統(tǒng)拒絕 |
新聞標題:創(chuàng)新互聯(lián)百度小程序教程:swan.getSwanId
文章出自:http://fisionsoft.com.cn/article/cdcoedg.html


咨詢
建站咨詢
