微信小程序_喵喵交友(一)
1.1 前言叙述:
(1)小程序没有DOM对象,一切基于组件化
(2)微信小程序的四个基本文件:
a. *.js
b. *.wxml —–> view结构 ——> html
c. *.wxss —–> view 样式——-> css
d. *.json ——> view 数据 ——> json文件
(3)flex布局解析:
(4)移动端适配:
1.物理像素
屏幕的分辨率;设备显示控制的最小单元,可以把物理像素看成对应的像素点。
2.设备独立像素/css像素
3.dpr比 & DPI & PPI
(5)小程序的页面配置:
https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html#tabBar
tabBar 的第一项必须是所有页面的主页,pages中单个页面的优先级高于主页面
(6)小程序的双线程模型:
界面渲染过程
界面渲染的整体流程
(7)微信小程序的启动流程:
首先会加载解析 app.json文件,然后解析app.js文件并注册App()并执行App的生命周期函数;然后会加载注册自定义组件,最后会加载解析首页的page.json文件,由渲染层加载渲染page.wxml文件然后再解析page.js文件,注册Page()并执行Page的生命周期。
(8)微信小程序的生命周期函数:
App对象常用的生命周期函数:
onLaunch:小程序初始化完成时会触发的函数,一般会先获取用户的相关身份信息[wx.getUserInfo(res)]。(onLaunch仅仅会执行一次);
onShow:小程序初始化完毕后触发的函数,可以通过自带的options参数来判断小程序的进入场景。(onShow可能会执行多次);
onHide:小程序关闭后触发的函数
onError:小程序发生错误时触发
获取用户信息的方式:
- wx.getUserInfo() ——–即将废弃的接口;
1 | wx.getUserInfo({ |
- button组件 ——-将open-type修改为getUserInfo,并且绑定bindgetuserInfo事件去获取;这种情况下只有用户去点击小程序才会获取用户的信息进行授权;
1 | <button size="mini" open-type="getUserInfo" bindgetuserinfo="getUser">获取用户信息</button> |
- 使用open-data 组件来展示用户信息;
https://developers.weixin.qq.com/miniprogram/dev/component/open-data.html
注册App时我们一般会做如下事情:
判断小程序的进入场景———onShow方法的自带参数res中的scene
监听生命周期函数,在生命周期中执行对应的业务逻辑,比如在某个生命周期函数中获取到用户的身份信息;
因为App()实例只有一个,并且是全局共享的(单例对象),所以我们可以将一些共享数据放在App()中,然后在其它页面通过以下方式获取到数据:
1
2const app=getApp() //获取App产生的实例对象
console.log(app.UserList);
Page对象常用的生命周期函数:
- onLoad() ——-> 页面被加载出来时触发(发送网络请求获取数据、通过setData动态地设置变量的值)
onShow() ——–> 页面显示出来时(当页面被关闭后重新打开时会重新调用)
onReady() ——-> 页面初次渲染完成时
onHide() ——–> 页面被隐藏起来时会触发
onUnload() —–>页面卸载
注册Page时我们一般会做如下事情:
- 初始化数据 ——- data;
- 监听页面的生命周期函数 ——onLoad、onShow、onReady、onHide;
- 监听wxml中的事件 —–绑定对应的事件函数;
- 监听页面的其它事件,如下:
https://developers.weixin.qq.com/miniprogram/dev/reference/api/Page.html