百度智能小程序 監(jiān)聽(tīng)小程序切前臺(tái)事件

2020-09-04 16:28 更新

swan.onAppShow

基礎(chǔ)庫(kù) 3.60.2 開(kāi)始支持,低版本需做兼容處理。

解釋: 監(jiān)聽(tīng)小程序切前臺(tái)事件。該事件與 App.onShow 的回調(diào)參數(shù)一致。

Web 態(tài)說(shuō)明:

由于 Web 態(tài)框架暫不支持當(dāng)前是否進(jìn)入前、后臺(tái)的狀態(tài)檢測(cè),因此在下列場(chǎng)景中 swan.onAppShow 不會(huì)執(zhí)行

  • 當(dāng) Web 態(tài)小程序從后臺(tái)切換至前臺(tái)時(shí),如從任務(wù)管理器進(jìn)入、或關(guān)閉顯示在上層的語(yǔ)音助手等

方法參數(shù)

function callback

小程序切前臺(tái)事件的回調(diào)函數(shù)。

callback 返回參數(shù)說(shuō)明 :

Object res 返回的對(duì)象信息

屬性 類型 說(shuō)明 最低版本

scene

String

打開(kāi)智能小程序的場(chǎng)景值

path

String

打開(kāi)小程序的路徑。

query

Object

打開(kāi)小程序的 query。

shareTicket

String

標(biāo)記轉(zhuǎn)發(fā)對(duì)象。

referrerInfo

Object

從另一個(gè)小程序打開(kāi)該小程序時(shí),返回此字段。

entryType

String

頁(yè)面展現(xiàn)的來(lái)源標(biāo)識(shí),可取的值為: ‘user’、‘schema’、‘sys’,對(duì)應(yīng)代表的意義如下表。

2.10.7

appURL

String

展現(xiàn)時(shí)的調(diào)起協(xié)議,僅當(dāng) entryType 值為 schema 時(shí)存在。

2.10.7

referrerInfo 的結(jié)構(gòu)

屬性 類型 說(shuō)明

appId

String

來(lái)源小程序的 appKey。

extraData

Object

來(lái)源小程序傳過(guò)來(lái)的數(shù)據(jù)

entryType 的取值說(shuō)明

屬性 類型 說(shuō)明

user

String

表示通過(guò) home 前后臺(tái)切換或解鎖屏幕等方式調(diào)起。

schema

String

表示通過(guò)協(xié)議調(diào)起。

sys

String

其它。

示例


圖片示例


代碼示例 1: 在 onShow 中使用 

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

// app.js
App({
    onShow: function (res) {
        console.log('onShow', res)
        swan.showModal({
            title: 'res',
            content: JSON.stringify(res),
            showCancel: false
        });
    }
});

代碼示例 2: 在生命周期的 onAppShow 中使用 

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

// app.js
App({
    onLaunch: function () {
        swan.onAppShow(function(res) {
            console.warn('請(qǐng)?jiān)谡鏅C(jī)中進(jìn)行中進(jìn)行驗(yàn)證,在工具中點(diǎn)擊工具欄的刷新按鈕也可模擬onShow觸發(fā)事件,開(kāi)發(fā)者按照自己的業(yè)務(wù)邏輯進(jìn)行監(jiān)聽(tīng),被觸發(fā)時(shí)機(jī)和App.onShow一致。');
            swan.showModal({
                title: 'res',
                content: JSON.stringify(res),
                showCancel: false
            });
            console.log('scene', res.scene);
            console.log('path', res.path);
            console.log('query', res.query);
            console.log('shareTicket', res.shareTicket);
            console.log('referrerInfo', res.referrerInfo);
            console.log('entryType', res.entryType);
            console.log('appURL', res.appURL);
        });
    }
});


Bug & Tip

  • 在解析 query 的時(shí)候,基礎(chǔ)庫(kù)會(huì)使用 decodeURIComponent 對(duì) query 的參數(shù)值進(jìn)行一次解碼,該功能將在未來(lái)的基礎(chǔ)庫(kù)版本下線,并提前通知開(kāi)發(fā)者下線的基礎(chǔ)庫(kù)版本號(hào);
  • 如在打開(kāi)或跳轉(zhuǎn)小程序時(shí)傳遞了 encode 后的值作為參數(shù),為避免發(fā)生頁(yè)面錯(cuò)誤,使用時(shí)請(qǐng)自行將拿到的值使用 decodeURIComponent 進(jìn)行一次 decode 操作。


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

掃描二維碼

下載編程獅App

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

編程獅公眾號(hào)