一只小乌龟的头上顶着数字 7 和 8(额,好像没什么不对的),他需要走过一个装着加法运算器的箱子,之后头上就会变成一个数字 15。那么这个箱子就称为一个钩子函数,如果放在里面的是一个乘法运算器,那么小乌龟的头上的数字经过正方体之后就会变成56。 小程序相当于那只小乌龟,在运行时(小乌龟走路)会触发很多的事件(钩子函数,相当于小乌龟经过的正方体),往这些正方体里面放入什么逻辑,取决于坑比的产品经理。 比如一个电商的步进计数器改变值的时候:
2. 有哪些钩子 App 生命周期的钩子
小程序的生命周期分为程序和页面两个部分: 1.程序有启动(未显示)、显示出来了和隐藏三个事件 2.页面有加载、显示出来了、准备好了(首次)、卸载页面、隐藏页面五个事件 除此之外,还有 onPullDownRefresh 下拉刷新的时候、 onReachBottom 上拉无限加载的时候、 onShareAppMessage 点击右上角分享按钮的时候。 其中我觉得 onShareAppMessage 是挺有用的,比如当用户点击右上角分享按钮时,往页面顶层覆盖一个分享图(高度为页面高度80%),这样子会改变页面分享到聊天窗口的样子(这里还没实践过,只是猜想,你们可以自己试试) 3. 触摸事件
分为点击、长按、触摸开始、触摸移动(比如可用于拖拽排列列表)、触摸结束、触摸取消(比如一个看视频的小程序要求你两只手都按着手机才能播放,在你看到快高潮的时候,女朋友打电话来,就会触发 touchcancel 事件) 4. 组件事件 组件事件主要有几种:值改变的事件、开始输入的事件、完成输入的事件。 举个例子,比如一个文本框要求输入邮箱,因为当用户输入时会触发 input 事件,所以可以绑定一个钩子函数,获取到用户每次输入的字符串判断一下是否含有“@”和”.”,若有则判定为合法。 其他详细的可以看下图用于自查。
5. 富媒体事件 富媒体的事件主要有几种:开始(加载)播放、暂停播放、结束播放、播放(加载)失败、播放进度更新这几种。
6. 硬件能力 从本地相册选取照片视频 拍照或录像 扫描二维码 录制语音 直接打开doc, xls, ppt, pdf, docx, xlsx, pptx 保存文件到微信 app 目录 获取地理位置 获取用户手机型号、设备像素比、窗口宽高、语言、微信版本号、操作系统版本、客户端平台 获取网络状态:2g,3g,4g,wifi 监听重力感应器,5次/秒,可以做摇一摇等 监听罗盘数据,5次/秒 直接拨打电话(企业宣传留个咨询电话) 7. 微信能力 (1)微信登录 (2)获取用户的头像、昵称、性别、国家、城市、省份 (3)微信支付 (4)模板消息 只有以下两种行为可以触发模板消息: 支付当用户在小程序内完成过支付行为,可允许开发者向用户在7天内推送有限条数的模板消息(1次支付可下发1条,多次支付下发条数独立,互相不影响) 提交表单当用户在小程序内发生过提交表单行为且该表单声明为要发模板消息的,开发者需要向用户提供服务时,可允许开发者向用户在7天内推送有限条数的模板消息(1次提交表单可下发1条,多次提交下发条数独立,相互不影响) (5)客服消息 用户通过客服消息按钮进入会话,1分钟内可下发1条消息,超时不能发送; 用户在客服窗口发送信息,可回复 3 条且需要 48 小时内回复 (6)分享到聊天窗口 分享图片不能自定义;会取当前页面,从顶部开始,高度为 80% 屏幕宽度的图像作为分享图片。 (责任编辑:本港台直播) |