主頁 > 微信平臺開發 > 微信網站開發 >

微信小程序游戲開發App集合應用

  微信小程序游戲開發App集合應用。App() 函數用來注冊一個小程序。接受一個 object 參數,其指定小程序的生命周期函數等。

  object參數說明:

  屬性 類型 描述 觸發時機

  onLaunch Function 生命周期函數--監聽小程序初始化 當小程序初始化完成時,會觸發 onLaunch(全局只觸發一次)onShow Function 生命周期函數--監聽小程序顯示 當小程序啟動,或從后臺進入前臺顯示,會觸發 onShowonHide Function 生命周期函數--監聽小程序隱藏 當小程序從前臺進入后臺,會觸發 onHideonError Function 錯誤監聽函數 當小程序發生腳本錯誤,或者 api 調用失敗時,會觸發 onError 并帶上錯誤信息onPageNotFound Function 頁面不存在監聽函數 當小程序出現要打開的頁面不存在的情況,會帶上頁面信息回調該函數,詳見下文其他 Any 開發者可以添加任意的函數或數據到 Object 參數中,用 this 可以訪問前臺、后臺定義: 當用戶點擊左上角關閉,或者按了設備 Home 鍵離開微信,小程序并沒有直接銷毀,而是進入了后臺;當再次進入微信或再次打開小程序,又會從后臺進入前臺。需要注意的是:只有當小程序進入后臺一定時間,或者系統資源占用過高,才會被真正的銷毀。

  關閉小程序(基礎庫版本1.1.0開始支持): 當用戶從掃一掃、轉發等入口(場景值為1007, 1008, 1011, 1025)進入小程序,且沒有置頂小程序的情況下退出,小程序會被銷毀。

  小程序運行機制在基礎庫版本 1.4.0 有所改變: 上一條關閉邏輯在新版本已不適用。詳情示例代碼:

  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 參數

  字段 類型 說明

  path String 打開小程序的路徑

  query Object 打開小程序的query

  scene Number 打開小程序的場景值

  shareTicket String shareTicket,詳見 獲取更多轉發信息referrerInfo Object 當場景為由從另一個小程序或公眾號或App打開時,返回此字段referrerInfo.appId String 來源小程序或公眾號或App的 appId,詳見下方說明referrerInfo.extraData Object 來源小程序傳過來的數據,scene=1037或1038時支持場景值 詳見。

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

  場景值 場景 appId 信息含義

  1020 公眾號 profile 頁相關小程序列表 返回來源公眾號 appId1035 公眾號自定義菜單 返回來源公眾號 appId1036 App 分享消息卡片 返回來源應用 appId1037 小程序打開小程序 返回來源小程序 appId1038 從另一個小程序返回 返回來源小程序 appId1043 公眾號模板消息 返回來源公眾號 appIdonPageNotFound

  基礎庫 1.9.90 開始支持,低版本需做兼容處理當要打開的頁面并不存在時,會回調這個監聽器,并帶上以下信息:

  字段 類型 說明

  path String 不存在頁面的路徑

  query Object 打開不存在頁面的 query

  isEntryPage Boolean 是否本次啟動的首個頁面(例如從分享等入口進來,首個頁面是開發者配置的分享頁面)開發者可以在 onPageNotFound 回調中進行重定向處理,但必須在回調中同步處理,異步處理(例如 setTimeout 異步執行)無效。

  示例代碼:

  App({

  onPageNotFound(res) {

  wx.redirectTo({

  url: 'pages/...'

  }) // 如果是 tabbar 頁面,請使用 wx.switchTab}

  })

  注意:

  如果開發者沒有添加 onPageNotFound 監聽,當跳轉頁面不存在時,將推入微信客戶端原生的頁面不存在提示頁面如果 onPageNotFound 回調中又重定向到另一個不存在的頁面,將推入微信客戶端原生的頁面不存在提示頁面,并且不在回調 onPageNotFoundgetApp()全局的 getApp() 函數可以用來獲取到小程序實例。

  // other.js

  var appInstance = getApp()

  console.log(appInstance.globalData) // I am global data注意:

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

  不要在定義于 App() 內的函數中調用 getApp() ,使用 this 就可以拿到 app 實例。

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

  通過 getApp() 獲取實例之后,不要私自調用生命周期函數。

  

  • 1
  • 2
  • 3
3分pk10计划软件