新聞中心
- App
- onLogin(Object object)
- onLaunch(Object object)
- onShow(Object object)
- onHide()
- onError(Object object)
- onPageNotFound(Object object)
App
解釋: App 函數(shù)用來注冊(cè)一個(gè)智能小程序。接受一個(gè) Object 作為參數(shù),用以指定智能小程序的生命周期函數(shù)等。

成都創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站制作、做網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)龍湖,10多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18982081108
注:App 函數(shù)必須在 app.js 中被調(diào)用一次。該函數(shù)在整個(gè)小程序中不能被調(diào)用多次,否則會(huì)出現(xiàn)無法預(yù)期的后果。
Web 態(tài)說明:
由于 Web 態(tài)框架暫不支持當(dāng)前是否進(jìn)入前、后臺(tái)的狀態(tài)檢測(cè),因此在下列場(chǎng)景中,App.onShow、App.onHide 生命周期無法觸發(fā)
- 當(dāng) Web 態(tài)小程序從后臺(tái)切換至前臺(tái)時(shí),如從任務(wù)管理器進(jìn)入、或關(guān)閉顯示在上層的語音助手等,App.onShow 生命周期無法觸發(fā)
- 由于 Web 態(tài)框架暫不支持當(dāng)前是否進(jìn)入前、后臺(tái)的狀態(tài)檢測(cè),因此 Web 態(tài)小程序暫不支持 App.onHide 生命周期
參數(shù)
Object object:
| 屬性 | 類型 | 默認(rèn)值 | 描述 | 觸發(fā)時(shí)機(jī) | Web 態(tài)說明 |
|---|---|---|---|---|---|
| onLogin | Function | 生命周期函數(shù) - 監(jiān)聽 Web 態(tài)小程序登錄成功( Web 態(tài)小程序獨(dú)有) | 當(dāng)小程序初次登錄成功后,會(huì)觸發(fā) onLogin (全局只觸發(fā)一次) | 僅在 Web 態(tài)小程序中有效,百度 App 端內(nèi)小程序此生命周期不會(huì)觸發(fā) | |
| onLaunch | Function | 生命周期函數(shù) - 監(jiān)聽小程序的初始化 | 當(dāng)小程序初始化完成時(shí),會(huì)觸發(fā) onLaunch (全局只觸發(fā)一次)。 | ||
| onShow | Function | 生命周期函數(shù) - 監(jiān)聽小程序的顯示 | 當(dāng)小程序初始化,或從后臺(tái)進(jìn)入前臺(tái)顯示,會(huì)觸發(fā) onShow | 僅在小程序初始化時(shí)觸發(fā) | |
| onHide | Function | 生命周期函數(shù) - 監(jiān)聽小程序的隱藏 | 當(dāng)小程序從前臺(tái)進(jìn)入后臺(tái),會(huì)觸發(fā) onHide | 暫不支持 | |
| onError | Function | 錯(cuò)誤監(jiān)聽函數(shù) | 小程序發(fā)生腳本錯(cuò)誤,或者 API 調(diào)用失敗時(shí)觸發(fā),會(huì)帶上錯(cuò)誤信息 | ||
| onPageNotFound | Function | 頁(yè)面不存在監(jiān)聽函數(shù) | 小程序要打開的頁(yè)面不存在時(shí)觸發(fā),會(huì)帶上頁(yè)面信息回調(diào)該函數(shù)。 | ||
| 其他 | Any | 開發(fā)者可以添加任意的函數(shù)或者數(shù)據(jù)到 Object 參數(shù)中,用 this 可以訪問 |
名詞解釋:
前臺(tái)、后臺(tái):當(dāng)用戶點(diǎn)擊右上角的關(guān)閉,或者按了設(shè)備的 Home 鍵離開智能小程序,智能小程序沒有直接銷毀,而是進(jìn)入到了后臺(tái);當(dāng)再次進(jìn)入智能小程序,又會(huì)從后臺(tái)進(jìn)入前臺(tái)。
注意:
只有在以下情況小程序才可能會(huì)被動(dòng)銷毀,參考運(yùn)行機(jī)制:
- 進(jìn)入后臺(tái)超過 5 分鐘;
- 系統(tǒng)資源占用過高;
- 打開小程序數(shù)量超過系統(tǒng)支持上限(系統(tǒng)按照小程序被打開的先后順序進(jìn)行銷毀)。
代碼示例
- JS
// app.jsApp({onLogin(options) {// 使用 options.code 換取 session_key// 僅在 Web 態(tài)小程序初次登錄成功后會(huì)被觸發(fā)},onLaunch(options) {// Do something initial when launch.},onShow(options) {// Do something when show.},onHide() {// Do something when hide.},onError(errMsg) {// 發(fā)生錯(cuò)誤時(shí),回調(diào)此方法并傳遞錯(cuò)誤信息console.log(errMsg);},globalData: 'This is global data'});
onLogin(Object object)
- 使用 onLogin 生命周期的意義:Web 態(tài)小程序初次登錄成功后開發(fā)者能獲取登錄成功的 code。
- 添加 onLogin 生命周期的原因:與百度 App 端內(nèi)小程序登錄不同(在小程序內(nèi)部登錄),Web 態(tài)的登錄需要跳轉(zhuǎn)百度登錄頁(yè)面進(jìn)行登錄,登錄成功后自動(dòng)跳轉(zhuǎn)原頁(yè)面。該跳轉(zhuǎn)過程會(huì)導(dǎo)致 Web 態(tài)小程序的原執(zhí)行上下文狀態(tài)丟失,從而無法通過 swan.login 的成功回調(diào)獲取登錄成功的 code。因此必須通過 onLogin 生命周期獲取該 code。
| 字段 | 類型 | 說明 |
|---|---|---|
| code | String | 登錄成功后的 code,用于換取 session_key |
onLaunch(Object object)
小程序初始化完成時(shí)觸發(fā),全局只觸發(fā)一次。
| 字段 | 類型 | 說明 |
|---|---|---|
| scene | String | 打開智能小程序的場(chǎng)景值,scene 值統(tǒng)一由百度小程序場(chǎng)景值管理中心在 B 端平臺(tái)統(tǒng)一配置后下發(fā)到宿主(例如百度 App),調(diào)起協(xié)議中會(huì)攜帶相應(yīng)入口的 scene 值 |
| path | String | 打開小程序的路徑 |
| query | Object | 打開當(dāng)前頁(yè)面路徑中的參數(shù) |
| shareTicket | String | 標(biāo)記轉(zhuǎn)發(fā)對(duì)象 |
| referrerInfo | Object | 從另一個(gè)小程序打開該小程序時(shí),返回此字段 |
| referrerInfo.appId | String | 來源小程序的 appKey |
| referrerInfo.extraData | Object | 來源小程序傳過來的數(shù)據(jù) |
名詞解釋:
- 場(chǎng)景值: 智能小程序被打開時(shí),其來源渠道的標(biāo)識(shí)(例如: 從百度搜索結(jié)果打開、從百度信息流打開),開發(fā)者可以利用該字段統(tǒng)計(jì)小程序在什么場(chǎng)景下被打開,更多場(chǎng)景值;
- 調(diào)起協(xié)議: 宿主(例如百度 App)用于識(shí)別一個(gè)小程序被打開時(shí)的初始化信息(例如:小程序的 appKey、path、query 等),由該類信息構(gòu)成的一個(gè)協(xié)議。
onShow(Object object)
小程序啟動(dòng),或從后臺(tái)進(jìn)入前臺(tái)顯示時(shí)觸發(fā)。也可以使用 swan.onAppShow 綁定監(jiān)聽。
參數(shù):與 swan.onAppShow 一致
onHide()
小程序從前臺(tái)進(jìn)入后臺(tái)時(shí)觸發(fā)。也可以使用 swan.onAppHide 綁定監(jiān)聽。
onError(Object object)
小程序發(fā)生腳本錯(cuò)誤或 API 調(diào)用報(bào)錯(cuò)時(shí)觸發(fā)。也可以使用 swan.onError 綁定監(jiān)聽。
參數(shù):與 swan.onError 一致
onPageNotFound(Object object)
小程序要打開的頁(yè)面不存在時(shí)觸發(fā)。也可以使用 swan.onPageNotFound 綁定監(jiān)聽。注意事項(xiàng)請(qǐng)參考 swan.onPageNotFound。
參數(shù):與 swan.onPageNotFound 一致
代碼示例
- JS
// app.jsApp({onPageNotFound(res) {// 如果是 tabbar 頁(yè)面,請(qǐng)使用 swan.switchTab 進(jìn)行跳轉(zhuǎn)swan.redirectTo({url: 'path/to/otherPage'});}});
本文名稱:創(chuàng)新互聯(lián)百度小程序教程:App
網(wǎng)址分享:http://fisionsoft.com.cn/article/dhehihd.html


咨詢
建站咨詢
