微信小程序学习笔记 ( 小程序主体学习 二 逻辑层 app.js 扩展 高级食用方法)
目录结构
上图是我建立的的微信小程序的目录结构
主体学习
逻辑层(App Service)
小程序开发框架的逻辑层由 JavaScript 编写。
逻辑层将数据进行处理后发送给视图层,同时接受视图层的事件反馈。
在JavaScript 的基础上,我们做了一些修改,以方便地开发小程序。
¤ 增加App
和Page
方法,进行程序和页面的注册。
¤ 增加getApp
和getCurrentPages
方法,分别用来获取 App 实例和当前页面栈。
¤ 提供丰富的API,如微信用户数据,扫一扫,支付等微信特有能力。
¤ 每个页面有独立的作用域,并提供模块化能力。
¤ 由于框架并非运行在浏览器中,所以JavaScript 在 web 中一些能力都无法使用,如document
,window
等。
¤ 开发者写的所有代码最终将会打包成一份JavaScript
,并在小程序启动的时候运行,直到小程序销毁。类似 ServiceWorker,所以逻辑层也称之为 App Service。
app.js 提升
先表明下什么是高级食用,其实也没什么高级的,就是说,原本的食用是直接煮或者烤,体现不了我们中华饮食文化的厉害之处,所以其实这份更像是对前文的补充,一些扩展, 加点米油盐,更好吃点..把自己说饿了
好了言归正传
onLaunch()
可支持字段
上图就是官方的解释好的下来我要给出我的理解,
其实刚看到这个参数详表的时候我是懵逼的, 怎么可能啊, js的传参我不知道是要说优秀还是睿智(失了智),直接声明…如 function fun(a,b,c){}
,这个就OK了,我们会很懵逼我去这个什么玩意,更重要的对于外界来说传参也是一个问题, 所以js对api的需求我个人感觉比java强多啦,js是真的你没api就混不下去的,除非百度,要不看源码(666), 最重要的是java还有接口是吧,你js怎么办,微信你怎么去约束开发者,难道说必须要按顺序走…恐怖,而且他们那里代码的书写也是问题, 在我在控制台打印了信息后我明白了,他传来的是一个js对象,额文字是描述不明白的,我们上个图
我本来是想测试下path
的于是我在函数的参数中写了一个path
, 之后我就在控制台打印了这个path
, 结果 发生了我意想不到的事情他打印了一个对象, 这个就很有意思了, 在看了里面的对象后我就明白了, 当onLaunch()
中含有参数时,这时相当于将一个对象传了过来, 说来也有趣, js的这个模拟对象我也是看着腾讯的LOL官网的js学会的, 虽然学的不怎样, 但现在受教了, 我们看到里面包含了path
, query
, scene
,现在我们大概明白了这三个字段的意思了,
path
就是当前页面的路径,query
即为当前页面的query(??)这个我也是不明白当前的意思,之后如果我有明白的话会补上的,scene
的话就是场景值, 表明当前页面是什么,应该是这个样子,我也上网百度了, 但是没找到具体的解释,如果我明白的话会补上的,下面是场景值的解释
我们大概明白了这三个字段都是当前页面的属性
而shareTicket
就是转发的信息
官方API的解释为
通常开发者希望转发出去的小程序被二次打开的时候能够获取到一些信息,例如群的标识。现在通过调用wx.showShareMenu
并且设置
withShareTicket
为true
,当用户将小程序转发到任一群聊之后,此转发卡片在群聊中被其他用户打开时,可以在
App.onLaunch()
或App.onShow
获取到一个shareTicket
。通过调用wx.getShareInfo()
接口传入此shareTicket
可以获取到转发信息
目前我在打印的信息中并没有找到他估计是没有用转发吧,等以后有机会了让我测试下再补充
至于后面的三个我也不知道怎么获得,等我学到后面要用的时候再补下,
下图是在onShow()
方法中的应用, 我同时也测试了referrerInfo
发现并没有用,估计到以后用其他小程序调的时候就可以了.
至于官方文档中onPageNotFound()
我并没有找到用法以后再说
场景值
关于场景值我也没什么好说的, 给个官方的解释
场景值ID | 说明 |
---|---|
1001 | 发现栏小程序主入口 |
1005 | 顶部搜索框的搜索结果页 |
1006 | 发现栏小程序主入口搜索框的搜索结果页 |
1007 | 单人聊天会话中的小程序消息卡片 |
1008 | 群聊会话中的小程序消息卡片 |
1011 | 扫描二维码 |
1012 | 长按图片识别二维码 |
1013 | 手机相册选取二维码 |
1014 | 小程序模版消息 |
1017 | 前往体验版的入口页 |
1019 | 微信钱包 |
1020 | 公众号 profile 页相关小程序列表 |
1022 | 聊天顶部置顶小程序入口 |
1023 | 安卓系统桌面图标 |
1024 | 小程序 profile 页 |
1025 | 扫描一维码 |
1026 | 附近小程序列表 |
1027 | 顶部搜索框搜索结果页“使用过的小程序”列表 |
1028 | 我的卡包 |
1029 | 卡券详情页 |
1030 | 自动化测试下打开小程序 |
1031 | 长按图片识别一维码 |
1032 | 手机相册选取一维码 |
1034 | 微信支付完成页 |
1035 | 公众号自定义菜单 |
1036 | App 分享消息卡片 |
1037 | 小程序打开小程序 |
1038 | 从另一个小程序返回 |
1039 | 摇电视 |
1042 | 添加好友搜索框的搜索结果页 |
1043 | 公众号模板消息 |
1044 | 带 shareTicket 的小程序消息卡片 |
1045 | 朋友圈广告 |
1047 | 扫描小程序码 |
1048 | 长按图片识别小程序码 |
1049 | 手机相册选取小程序码 |
1052 | 卡券的适用门店列表 |
1053 | 搜一搜的结果页 |
1054 | 顶部搜索框小程序快捷入口 |
1056 | 音乐播放器菜单 |
1057 | 钱包中的银行卡详情页 |
1058 | 公众号文章 |
1059 | 体验版小程序绑定邀请页 |
1064 | 微信连Wi-Fi状态栏 |
1067 | 公众号文章广告 |
1068 | 附近小程序列表广告 |
1069 | 移动应用 |
1071 | 钱包中的银行卡列表页 |
1072 | 二维码收款页面 |
1073 | 客服消息列表下发的小程序消息卡片 |
1074 | 公众号会话下发的小程序消息卡片 |
1077 | 摇周边 |
1078 | 连Wi-Fi成功页 |
1079 | 微信游戏中心 |
1081 | 客服消息下发的文字链 |
1082 | 公众号会话下发的文字链 |
1089 | 微信聊天主界面下拉 |
1090 | 长按小程序右上角菜单唤出最近使用历史 |
1091 | 公众号文章商品卡片 |
1092 | 城市服务入口 |
1095 | 小程序广告组件 |
1096 | 聊天记录 |
1097 | 微信支付签约页 |
微信小程序学习笔记 ( 小程序主体学习 二 逻辑层 app.js 扩展 高级食用方法)相关推荐
- 微信小程序学习笔记(4)--------框架之逻辑层
逻辑层 逻辑层(App Service):小程序框架的逻辑层是由JavaScript编写的,逻辑层将数据进行处理后发送给视图层,同时接受视图层的事件反馈. App进行程序注册,Page进行页面注册 g ...
- 微信小程序 app.js中onLaunch中方法执行完毕后再执行index首页数据请求
实际开发中遇到在app.js中onlaunch中方法未执行完毕的情况下,先进入首页执行index方法的问题.如果在onlaunch中写了自动登录的方法,会存在首页加载时显示未登录的情况(此时onlau ...
- CUDA学习笔记之程序优化
CUDA学习笔记之程序优化 标签: cuda优化conflict存储算法数学计算 2010-01-05 17:18 5035人阅读 评论(4) 收藏 举报 分类: CUDA(6) 版权声明:本文为博主 ...
- html 流程控制,HTML5独家分享:原生JS学习笔记2——程序流程控制
当当当当 .....楼主又来了!新一期的js学习笔记2--程序流程控制更新了! 想一键获取全部js学习笔记的可以给楼主留言哦! js中的程序控制语句 常见的程序有三种执行结构: 1.顺序结构 2.分支 ...
- [电离层建模学习笔记]开源程序M_GIM学习记录
[电离层建模学习笔记]开源程序M_GIM学习记录 文章目录 [电离层建模学习笔记]开源程序M_GIM学习记录 1. 程序相关信息 2. 程序学习记录 2.1 采用的数据说明 2.2 程序运行前 2.3 ...
- 编程开发学习笔记之程序员如何用1年时间获得3年成长(图)
2019独角兽企业重金招聘Python工程师标准>>> 编程开发学习笔记之程序员如何用1年时间获得3年成长(图) 前言 这世界存在这么一个银行,你一出生,就自动享有这家银行为你开设的 ...
- [编译原理学习笔记2-2] 程序语言的语法描述
[编译原理学习笔记2-2] 程序语言的语法描述 文章目录 [编译原理学习笔记2-2] 程序语言的语法描述 [2.3.1] 上下文无关文法 [2.3.2] 语法分析树与二义性 [2.3.3] 形式语言鸟 ...
- 面向对象的编程思想写单片机程序——(3)学习笔记 之 程序分层、数据产生流程
系列文章目录 面向对象的编程思想写单片机程序--(1)学习笔记 之 程序设计 面向对象的编程思想写单片机程序--(2)学习笔记 之 怎么抽象出结构体 面向对象的编程思想写单片机程序--(3)学习笔记 ...
- EXCEL学习笔记——小技巧
EXCEL学习笔记--小技巧(持续更新) 我赌五毛:八成的EXCEL使用者连SUM()函数的帮助都没阅读过.我敢再赌五毛:九成的EXCEL使用者没使用过我下文中九成的技巧.写本文的初衷是能让EXCEL ...
最新文章
- 非线性规划-三种常见参数估计算法及联系
- 赛迪研究院发布《2019量子计算发展白皮书》
- 文件和目录之stat、fstat和lstat函数
- 【视频】vue指令v-on绑定事件
- MSN Editor 0DAY
- java 缓存清理echo_“kill -9”一时爽,秋后算账泪两行
- asp.net core webapi项目配置全局路由
- jquery-数字渐变
- 华为机试——句子逆序
- 漫步数学分析九——级数
- EM算法极其推广---EM算法的收敛性
- 深度学习技术在社会化推荐场景中的总结(附数据集)
- 5个层次的赚钱模式,看看你是哪一种?
- C++编程语言中重载运算符(operator)介绍
- python卷积神经网络人体图像识别
- 无可比拟的视觉环绕感 电子竞技游戏显示器就该选这样的带鱼屏
- android 仿微信聊天气泡显示图片,仿微信聊天气泡 图片尖角 按下变暗
- bash install.sh ********错误
- C语言编程学习打造——做题游戏
- Vue安装并使用axios发送请求
热门文章
- 基于Thinkphp的开源管理系统
- 语音转文字免费的软件哪个好?这三个软件告诉你答案
- esp32-c3 (esp32 IDF) wife设置中文wifi名
- 购买计算机配置总结,【微星 GE60 2PE-449XCN 笔记本电脑使用总结】配置|设置_摘要频道_什么值得买...
- 一文读懂自动泊车的自动化等级
- 无忧考吧python编译路径不存在_关于python编译路径的问题
- 外网怎么连接校园网的GPU服务器
- VC6移植VS2017记录
- 对常用软件的评价(TGP腾讯游戏平台)
- Glide4用法全解析