小程序中邏輯層(App Service)的使用方法詳解

2022-07-15    分類: 網(wǎng)站建設(shè)

AppApp()

App() 函數(shù)用來注冊一個(gè)小程序。接受一個(gè) object 參數(shù),其指定小程序的生命周期函數(shù)等。

object參數(shù)說明:
屬性類型描述觸發(fā)時(shí)機(jī)onLaunchFunction生命周期函數(shù)--監(jiān)聽小程序初始化當(dāng)小程序初始化完成時(shí),會(huì)觸發(fā) onLaunch(全局只觸發(fā)一次)onShowFunction生命周期函數(shù)--監(jiān)聽小程序顯示當(dāng)小程序啟動(dòng),或從后臺(tái)進(jìn)入前臺(tái)顯示,會(huì)觸發(fā) onShowonHideFunction生命周期函數(shù)--監(jiān)聽小程序隱藏當(dāng)小程序從前臺(tái)進(jìn)入后臺(tái),會(huì)觸發(fā) onHideonErrorFunction錯(cuò)誤監(jiān)聽函數(shù)當(dāng)小程序發(fā)生腳本錯(cuò)誤,或者 api 調(diào)用失敗時(shí),會(huì)觸發(fā) onError 并帶上錯(cuò)誤信息其他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)。需要注意的是:只有當(dāng)小程序進(jìn)入后臺(tái)一定時(shí)間,或者系統(tǒng)資源占用過高,才會(huì)被真正的銷毀。

關(guān)閉小程序(基礎(chǔ)庫版本1.1.0開始支持): 當(dāng)用戶從掃一掃、轉(zhuǎn)發(fā)等入口(場景值為1007, 1008, 1011, 1025)進(jìn)入小程序,且沒有置頂小程序的情況下退出,小程序會(huì)被銷毀。小程序運(yùn)行機(jī)制在基礎(chǔ)庫版本 1.4.0 有所改變:

上一條關(guān)閉邏輯在新版本已不適用。

示例代碼:

App({  onLaunch: function(options) {    // Do something initial when launch.  },  onShow: function(options) {      // Do something when show.  },  onHide: function() {      // Do something when hide.  },  onError: function(msg) {    console.log(msg)  },  globalData: 'I am global data'})onLaunch, onShow 參數(shù)字段類型說明pathString打開小程序的路徑queryObject打開小程序的querysceneNumber打開小程序的場景值shareTicketStringshareTicket,referrerInfoObject當(dāng)場景為由從另一個(gè)小程序或公眾號(hào)或App打開時(shí),返回此字段referrerInfo.appIdString來源小程序或公眾號(hào)或App的 appId,詳見下方說明referrerInfo.extraDataObject來源小程序傳過來的數(shù)據(jù),scene=1037或1038時(shí)支持

場景值 詳見。

以下場景支持返回 referrerInfo.appId:

場景值場景appId 信息含義1020公眾號(hào) profile 頁相關(guān)小程序列表返回來源公眾號(hào) appId1035公眾號(hào)自定義菜單返回來源公眾號(hào) appId1036App 分享消息卡片返回來源應(yīng)用 appId1037小程序打開小程序返回來源小程序 appId1038從另一個(gè)小程序返回返回來源小程序 appId1043公眾號(hào)模板消息返回來源公眾號(hào) appIdgetApp()

全局的 getApp() 函數(shù)可以用來獲取到小程序實(shí)例。

// other.jsvar appInstance = getApp()console.log(appInstance.globalData) // I am global data

注意:

App() 必須在 app.js 中注冊,且不能注冊多個(gè)。

不要在定義于 App() 內(nèi)的函數(shù)中調(diào)用 getApp() ,使用 this 就可以拿到 app 實(shí)例。

不要在 onLaunch 的時(shí)候調(diào)用 getCurrentPages(),此時(shí) page 還沒有生成。

本文標(biāo)題:小程序中邏輯層(App Service)的使用方法詳解
轉(zhuǎn)載源于:http://bm7419.com/news/178733.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站微信公眾號(hào)、手機(jī)網(wǎng)站建設(shè)電子商務(wù)建站公司、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)