91在线一级黄片|91视频在线观看18|成人夜间呦呦网站|91资源欧美日韩超碰|久久最新免费精品视频一区二区三区|国产探花视频在线观看|黄片真人免费三级片毛片|国产人无码视频在线|精品成人影视无码三区|久久视频爱久久免费精品

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)百度小程序教程:swan.getSwanId
  • swan.getSwanId
    • 方法參數(shù)
      • object 參數(shù)說明
      • success 返回參數(shù)說明
    • 示例
      • 圖片示例
      • 代碼示例
    • signature 計(jì)算方法
    • 錯(cuò)誤碼
      • Android
      • iOS

    swan.getSwanId

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

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

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

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

    方法參數(shù)

    Object object

    object 參數(shù)說明

    屬性名 類型 必填 默認(rèn)值 說明
    successFunction接口調(diào)用成功的回調(diào)函數(shù)
    failFunction接口調(diào)用失敗的回調(diào)函數(shù)
    completeFunction接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行)

    success 返回參數(shù)說明

    參數(shù) 類型 說明
    errnoStringerrno
    dataObject{swanid}

    示例

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

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

    在 WEB IDE 中打開

    掃碼體驗(yàn)

    代碼示例

    請使用百度APP掃碼

    圖片示例

    代碼示例

    • SWAN
    • JS
     
     
     
    1. {{item.key}}
    2. {{item.value}}
     
     
     
    1. Page({
    2. data: {
    3. infoList: [{
    4. key: 'swanid',
    5. value: ''
    6. }, {
    7. key: 'swanid_old',
    8. value: ''
    9. }, {
    10. key: 'swanid_old_signature',
    11. value: ''
    12. }, {
    13. key: 'swanid_signature',
    14. value: ''
    15. }]
    16. },
    17. getSwanId(e) {
    18. swan.getSwanId({
    19. success: res => {
    20. console.log('res', res.data);
    21. // 更新數(shù)據(jù)
    22. this.updateInfoList(res.data);
    23. },
    24. fail: err => {
    25. swan.showToast({
    26. title: '獲取失敗'
    27. });
    28. }
    29. });
    30. },
    31. clearSwanId() {
    32. this.updateInfoList({});
    33. },
    34. updateInfoList(res) {
    35. let infoList = this.getData('infoList');
    36. for (let i = 0; i < infoList.length; ++i) {
    37. if (res[infoList[i].key] === '') {
    38. infoList[i].value = '暫無';
    39. }
    40. else {
    41. infoList[i].value = res[infoList[i].key];
    42. }
    43. }
    44. this.setData('infoList', infoList);
    45. }
    46. });

    signature 計(jì)算方法

    • GOLANG
    • PHP
     
     
     
    1. /**
    2. * 生成簽名
    3. * appkey 小程序標(biāo)識
    4. * secret_key 小程序私鑰
    5. * swanid 用戶swanid
    6. */
    7. func generageSignature(appKey, secrectKey, swanID string) string {
    8. plainText := fmt.Sprintf("appkey=%ssecret_key=%sswanid=%s", appKey, secrectKey, swanID)
    9. md5Sum := md5.Sum([]byte(plainText))
    10. return hex.EncodeToString(md5Sum[:])
    11. }
     
     
     
    1. /**
    2. * 生成 signature 校驗(yàn)碼
    3. * appKey 小程序標(biāo)識
    4. * secretKey 小程序私鑰
    5. * swanId 用于 swanId
    6. */
    7. function generageSignature($appKey, $secrectKey, $swanId){
    8. $plainText = sprintf("appkey=%ssecret_key=%sswanid=%s", $appKey, $secrectKey, $swanId);
    9. return md5($plainText);
    10. }

    錯(cuò)誤碼

    Android

    錯(cuò)誤碼 說明
    201解析失敗,請檢查調(diào)起協(xié)議是否合法
    1001執(zhí)行失敗
    10001內(nèi)部錯(cuò)誤
    10002網(wǎng)絡(luò)無連接

    iOS

    錯(cuò)誤碼 說明
    202解析失敗,請檢查參數(shù)是否正確
    10001內(nèi)部錯(cuò)誤
    10002網(wǎng)絡(luò)無連接
    10004用戶拒絕(user not login)
    10005系統(tǒng)拒絕

    分享題目:創(chuàng)新互聯(lián)百度小程序教程:swan.getSwanId
    網(wǎng)址分享:http://m.jiaoqi3.com/article/cdcoedg.html