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

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

AppApp()

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

object參數(shù)說(shuō)明:
屬性類型描述觸發(fā)時(shí)機(jī)onLaunchFunction生命周期函數(shù)--監(jiān)聽(tīng)小程序初始化當(dāng)小程序初始化完成時(shí),會(huì)觸發(fā) onLaunch(全局只觸發(fā)一次)onShowFunction生命周期函數(shù)--監(jiān)聽(tīng)小程序顯示當(dāng)小程序啟動(dòng),或從后臺(tái)進(jìn)入前臺(tái)顯示,會(huì)觸發(fā) onShowonHideFunction生命周期函數(shù)--監(jiān)聽(tīng)小程序隱藏當(dāng)小程序從前臺(tái)進(jìn)入后臺(tái),會(huì)觸發(fā) onHideonErrorFunction錯(cuò)誤監(jiān)聽(tīng)函數(shù)當(dāng)小程序發(fā)生腳本錯(cuò)誤,或者 api 調(diào)用失敗時(shí),會(huì)觸發(fā) onError 并帶上錯(cuò)誤信息其他Any

開(kāi)發(fā)者可以添加任意的函數(shù)或數(shù)據(jù)到 Object 參數(shù)中,用 this 可以訪問(wèn)前臺(tái)、后臺(tái)定義:

當(dāng)用戶點(diǎn)擊左上角關(guān)閉,或者按了設(shè)備 Home 鍵離開(kāi)微信,小程序并沒(méi)有直接銷毀,而是進(jìn)入了后臺(tái);當(dāng)再次進(jìn)入微信或再次打開(kāi)小程序,又會(huì)從后臺(tái)進(jìn)入前臺(tái)。需要注意的是:只有當(dāng)小程序進(jìn)入后臺(tái)一定時(shí)間,或者系統(tǒng)資源占用過(guò)高,才會(huì)被真正的銷毀。

關(guān)閉小程序(基礎(chǔ)庫(kù)版本1.1.0開(kāi)始支持): 當(dāng)用戶從掃一掃、轉(zhuǎn)發(fā)等入口(場(chǎng)景值為1007, 1008, 1011, 1025)進(jìn)入小程序,且沒(méi)有置頂小程序的情況下退出,小程序會(huì)被銷毀。小程序運(yùn)行機(jī)制在基礎(chǔ)庫(kù)版本 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ù)字段類型說(shuō)明pathString打開(kāi)小程序的路徑queryObject打開(kāi)小程序的querysceneNumber打開(kāi)小程序的場(chǎng)景值shareTicketStringshareTicket,referrerInfoObject當(dāng)場(chǎng)景為由從另一個(gè)小程序或公眾號(hào)或App打開(kāi)時(shí),返回此字段referrerInfo.appIdString來(lái)源小程序或公眾號(hào)或App的 appId,詳見(jiàn)下方說(shuō)明referrerInfo.extraDataObject來(lái)源小程序傳過(guò)來(lái)的數(shù)據(jù),scene=1037或1038時(shí)支持

場(chǎng)景值 詳見(jiàn)。

以下場(chǎng)景支持返回 referrerInfo.appId:

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

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

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

注意:

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

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

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

網(wǎng)站名稱:小程序中邏輯層(App Service)的使用方法詳解
網(wǎng)址分享:http://muchs.cn/news33/178733.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)企業(yè)網(wǎng)站制作、外貿(mào)建站、搜索引擎優(yōu)化、軟件開(kāi)發(fā)、網(wǎng)站設(shè)計(jì)公司

廣告

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

成都seo排名網(wǎng)站優(yōu)化