小程序逻辑层之注册程序和场景值

小程序的逻辑层主要包含以下几个点:

1、注册程序

2、场景值

3、注册页面

4、路由

5、模块化

6、API

一、注册程序

App() 函数用来注册一个小程序。接受一个object参数,其指定小程序的生命周期函数等。这个在上一篇中有写到,在全局的app.js 文件中。

ojbect的常用参数有:

属性 类型 描述 触发时机

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 两 个函数

onLaunch, onShow 参数:

字段类型说明

pathString打开小程序的路径

queryObject打开小程序的query

sceneNumber打开小程序的场景值

shareTicketStringshareTicket,详见获取更多转发信息

referrerInfoObject当场景为由从另一个小程序或公众号或App打开时,返回此字段

referrerInfo.appIdString来源小程序或公众号或App的 appId,详见下方说明

referrerInfo.extraDataObject来源小程序传过来的数据,scene=1037或1038时支持

这里的场景值下面会说到,在指定的场景值下,referrerInfo会传递数据

GetApp()

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

// other.js

varappInstance = getApp()

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


//在页面的js文件中,可以获取小程序的实例,然后通过实例对象获取定义的全局变量

需要注意几点:

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

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

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

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

二、场景值

当前支持的场景值有:

场景值ID说明

场景值ID说明

1001发现栏小程序主入口

1005顶部搜索框的搜索结果页

1006发现栏小程序主入口搜索框的搜索结果页

1007单人聊天会话中的小程序消息卡片

1008群聊会话中的小程序消息卡片

1011扫描二维码

1012长按图片识别二维码

1013手机相册选取二维码

1014小程序模版消息

1017前往体验版的入口页

1019微信钱包

1020公众号 profile 页相关小程序列表

1022聊天顶部置顶小程序入口

1023安卓系统桌面图标

1024小程序 profile 页

1025扫描一维码

1026附近小程序列表

1027顶部搜索框搜索结果页“使用过的小程序”列表

1028我的卡包

1029卡券详情页

1031长按图片识别一维码

1032手机相册选取一维码

1034微信支付完成页

1035公众号自定义菜单

1036App 分享消息卡片

1037小程序打开小程序

1038从另一个小程序返回

1039摇电视

1042添加好友搜索框的搜索结果页

1043公众号模板消息

1044带 shareTicket 的小程序消息卡片(详情)

1047扫描小程序码

1048长按图片识别小程序码

1049手机相册选取小程序码

1052卡券的适用门店列表

1053搜一搜的结果页

1054顶部搜索框小程序快捷入口

1056音乐播放器菜单

1058公众号文章

1059体验版小程序绑定邀请页

1064微信连Wifi状态栏

1067公众号文章广告

1068附近小程序列表广告

1072二维码收款页面

1073客服消息列表下发的小程序消息卡片

1074公众号会话下发的小程序消息卡片

上面有说到 onLoauch onShow函数,场景值主要是通过这两个函数来传递。

其中只有在传递 102010351036103710381043 这几个场景值时,才会返回referrerInfo.appId

通过这些场景值,可以方便我们统计小程序访问的来源。在后面针对某些功能做营销时,能够轻松的获得有价值的数据。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,491评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,856评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,745评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,196评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,073评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,112评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,531评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,215评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,485评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,578评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,356评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,215评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,583评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,898评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,497评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,697评论 2 335

推荐阅读更多精彩内容