注册程序

App

解释: App() 函数用来注册一个智能小程序。接受一个 Object 作为参数,用以指定智能小程序的生命周期函数等。

Object参数说明:

属性类型描述触发时机
onLaunchFunction生命周期函数– 监听 SWAN 的初始化当 SWAN 初始化完成时,会触发 onLaunch (全局只触发一次)
onShowFunction生命周期函数– 监听 SWAN 的显示当 SWAN 初始化,或从后台进入前台显示,会触发 onShow
onHideFunction生命周期函数– 监听 SWAN 的隐藏当 SWAN 从前台进入后台,会触发 onHide
onErrorFunction错误监听函数小程序发生脚本错误,或者 api 调用失败时触发,会带上错误信息。
onPageNotFoundFunction页面不存在监听函数小程序要打开的页面不存在时触发,会带上页面信息回调该函数。
其他Any开发者可以添加任意的函数或者数据到 Object 参数中, 用 this 可以访问-

前台、后台定义:当用户点击右上角的关闭,或者按了设备的 Home 键离开智能小程序,智能小程序没有直接销毁,而是进入到了后台;当再次进入智能小程序,又会从后台进入前台。需要注意的是:只有当智能小程序进入后台一定时间,或者系统资源占用过高,才会被销毁

示例

  1. App({
    onLaunch: function (options) {
    // do something when launch
    },
    onShow: function (options) {
    // do something when show
    },
    onHide: function () {
    // do something when hide
    },
    globalData: 'global data'
    });

onLaunch 参数

字段类型说明
sceneString打开智能小程序的场景值
pathString打开小程序的路径
queryObject打开小程序的query
shareTicketString标记转发对象
referrerInfoObject当场景为由从另一个小程序打开时,返回此字段。
referrerInfo.appIdString来源小程序的 appKey。
referrerInfo.extraDataObject来源小程序传过来的数据,scene=1037或1038时支持。

onShow 参数

字段类型说明最低版本
sceneString打开智能小程序的场景值-
pathString打开小程序的路径-
queryObject打开小程序的query-
shareTicketString标记转发对象-
referrerInfoObject当场景为由从另一个小程序打开时,返回此字段。-
referrerInfo.appIdString来源小程序的 appKey。-
referrerInfo.extraDataObject来源小程序传过来的数据,scene=1037或1038时支持。-
entryTypeString展现的来源标识,取值为 user/ schema /sys :user:表示通过home前后台切换或解锁屏幕等方式调起;schema:表示通过协议调起;sys:其它。2.10.7
appURLString展现时的调起协议,仅当entryType值为 schema 时存在。2.10.7

注意

  • 在解析 query 的时候,基础库会使用decodeURIComponent对query的参数值进行一次解码,该功能将在新的版本中下线。
  • 如在打开或跳转小程序时传递了 encode 后的值作为参数,为避免发生页面错误,使用时请自行将拿到的值使用decodeURIComponent进行一次decode操作。

getApp

全局的 getApp 函数可以用来获取到智能小程序实例。

示例

  1. var appInstance = getApp()
    console.log(appInstance.globalData)

注意

  • App() 必须在 app.js 中注册,且不能注册多个。
  • 不要在 App() 内的函数中调用 getApp() 函数,使用 this 就可以拿到 app 实例。
  • 不要在 onLaunch 中调用 getCurrentPages() ,此时,page 还没有生成。

方法说明注册页面