<legend id="h4sia"></legend><samp id="h4sia"></samp>
<sup id="h4sia"></sup>
<mark id="h4sia"><del id="h4sia"></del></mark>

<p id="h4sia"><td id="h4sia"></td></p><track id="h4sia"></track>

<delect id="h4sia"></delect>
  • <input id="h4sia"><address id="h4sia"></address>

    <menuitem id="h4sia"></menuitem>

    1. <blockquote id="h4sia"><rt id="h4sia"></rt></blockquote>
      <wbr id="h4sia">
    2. <meter id="h4sia"></meter>

      <th id="h4sia"><center id="h4sia"><delect id="h4sia"></delect></center></th>
    3. <dl id="h4sia"></dl>
    4. <rp id="h4sia"><option id="h4sia"></option></rp>

        0411-39943997
        工作时间:周一至周日 8:30-22:00
        技术文库
        Technical Library

        小程序中逻辑层(App Service)的使用方法详解

        标签: 小程序开发  访问: 17902018-01-24

        App

        App()

        App() 函数用来注册一个小程序。接受一个 object 参数,其指定小程序的生命周期函数等。

        object参数说明:

        属性类型描述触发时机
        onLaunchFunction生命周期函数--监听小程序初始化当小程序初始化完成时,会触发 onLaunch(全局只触发一次)
        onShowFunction生命周期函数--监听小程序显示当小程序启动,或从后台进入前台显示,会触发 onShow
        onHideFunction生命周期函数--监听小程序隐藏当小程序从前台进入后台,会触发 onHide
        onErrorFunction错误监听函数当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息
        其他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 参数

        字段类型说明
        pathString打开小程序的路径
        queryObject打开小程序的query
        sceneNumber打开小程序的场景值
        shareTicketStringshareTicket,
        referrerInfoObject当场景为由从另一个小程序或公众号或App打开时,返回此字段
        referrerInfo.appIdString来源小程序或公众号或App的 appId,详见下方说明
        referrerInfo.extraDataObject来源小程序传过来的数据,scene=1037或1038时支持

        场景值 详见

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

        场景值场景appId 信息含义
        1020公众号 profile 页相关小程序列表返回来源公众号 appId
        1035公众号自定义菜单返回来源公众号 appId
        1036App 分享消息卡片返回来源应用 appId
        1037小程序打开小程序返回来源小程序 appId
        1038从另一个小程序返回返回来源小程序 appId
        1043公众号模板消息返回来源公众号 appId

        getApp()

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

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

        注意:

        • App() 必须在 app.js 中注册,且不能注册多个。

        • 不要在定义于 App() 内的函数中调用 getApp() ,使用 this 就可以拿到 app 实例。

        • 不要在 onLaunch 的时候调用 getCurrentPages(),此时 page 还没有生成。

        • 通过 getApp() 获取实例之后,不要私自调用生命周期函数。


        Copyright© 2015 仟亿科技,All rights reserved.