微信小程序开发图解案例教程第2章-微信小程序框架分析课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《微信小程序开发图解案例教程第2章-微信小程序框架分析课件.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微信小 程序 开发 图解 案例 教程 框架 分析 课件
- 资源描述:
-
1、微信小程序开发图解案例教程(附精讲视频)(第2版)刘刚刘刚 著著微信小程序目录结构介绍微信小程序目录结构介绍 微信小程序注册程序应用微信小程序注册程序应用 微信小程序注册页面的使用微信小程序注册页面的使用 微信小程序如何绑定数据微信小程序如何绑定数据 微微信小程序条件渲染信小程序条件渲染 微微信小程序列表渲染信小程序列表渲染 微微信小程序定义模板信小程序定义模板 微信小程序的引用功能微信小程序的引用功能 WXS小程序脚本语言小程序脚本语言 沙场大练兵:仿香哈菜谱微信小程序沙场大练兵:仿香哈菜谱微信小程序 小结小结 第第2 2章章 微微信小程序框架分析信小程序框架分析 微微信小程序目录结构可以分
2、为信小程序目录结构可以分为3 3个部分个部分框架全局文件、工具类框架全局文件、工具类文件和框架页面文件,如图文件和框架页面文件,如图2.12.1所示。所示。2.12.1微信小程序目录结构介绍微信小程序目录结构介绍图图2.1微信小程序框架目录微信小程序框架目录 框架框架全局文件必须放在项目的根目录中。全局文件必须放在项目的根目录中。框架全局文件包括框架全局文件包括4 4个文件:个文件:APP.JSAPP.JS小程序逻小程序逻辑文件(定义辑文件(定义全局全局数据以及定义函数文件)、数据以及定义函数文件)、APP.JSONAPP.JSON小程序公共设置文件、小程序公共设置文件、APP.WXSSAPP
3、.WXSS小小程序公共样式表、程序公共样式表、PROJECT.CONFIG.JSONPROJECT.CONFIG.JSON小程小程序项目个性化配置文件。它们对所有页面都有序项目个性化配置文件。它们对所有页面都有效,如表效,如表2.12.1所示。所示。2.1.12.1.1框架全局文件框架全局文件表表2.1框架全局文件框架全局文件1 1APP.JSAPP.JS小程序逻辑文件小程序逻辑文件 APP.JS APP.JS文件用来定义全局数据和函数的使用,它可以指定微信小程序文件用来定义全局数据和函数的使用,它可以指定微信小程序的生命周期函数的生命周期函数。生命周期生命周期函数可以理解为微信小程序自己定义
4、的函数,例如函数可以理解为微信小程序自己定义的函数,例如ONLAUNCHONLAUNCH(监听小程序初始化)、(监听小程序初始化)、ONSHOWONSHOW(监听小程序显示)、(监听小程序显示)、ONHIDEONHIDE(监听小程(监听小程序隐藏)等,在不同阶段不同场景可以使用不同的生命周期函数序隐藏)等,在不同阶段不同场景可以使用不同的生命周期函数。此外。此外,APP.JSAPP.JS中还可以定义一些全局的函数和数据,其他页面引用中还可以定义一些全局的函数和数据,其他页面引用APP.JSAPP.JS文件后文件后就可以直接使用,如图就可以直接使用,如图2.22.2所示。所示。图图2.2app.
5、js小程序逻辑小程序逻辑2 2APP.JSONAPP.JSON小程序公共设置文件小程序公共设置文件 APP.JSONAPP.JSON文件可以对文件可以对5 5个功能进行设个功能进行设置:配置页面路径、配置窗口表现、配置:配置页面路径、配置窗口表现、配置标签导航、配置网络置标签导航、配置网络超时超时、配置、配置DEBUGDEBUG模式。具体如图模式。具体如图2.32.3所示。所示。图图2.3app.json的的5个功能个功能(1 1)配置页面路径。页面路径定义了一个数组,存放多个页面的访)配置页面路径。页面路径定义了一个数组,存放多个页面的访问路径,它是进行页面访问的问路径,它是进行页面访问的必
6、要条件必要条件。如果在这里没有配置页面访。如果在这里没有配置页面访问路径,页面被访问时就会报错;在这里定义了页面访问路径,微信问路径,页面被访问时就会报错;在这里定义了页面访问路径,微信小程序框架就可以在页面文件夹下建立相应名称的文件夹以及文件,小程序框架就可以在页面文件夹下建立相应名称的文件夹以及文件,免去用户手动添加文件夹和文件的免去用户手动添加文件夹和文件的痛苦痛苦,如图,如图2.42.4所示。所示。图图2.4自动创建页面自动创建页面(2 2)配置窗口表现)配置窗口表现。如。如图图2.52.5所示。所示。图图2.5窗口表现窗口表现(3 3)配置标签导航。标签导航是很多移)配置标签导航。标
7、签导航是很多移动动APPAPP都会采用的一种导航方式,微信小都会采用的一种导航方式,微信小程序同样可以实现程序同样可以实现这样这样的效果,如图的效果,如图2.62.6所示。所示。图图2.6猫眼电影猫眼电影App标签导航标签导航 怎么怎么制作标签导航呢?我们需要在制作标签导航呢?我们需要在APP.JSONAPP.JSON文件里配置文件里配置TABBARTABBAR属属性性。TABBARTABBAR是一个对象,它可以是一个对象,它可以配置标签配置标签导航文字的默认颜色、选中导航文字的默认颜色、选中颜色,标签导航背景色以及上边框颜色颜色,标签导航背景色以及上边框颜色。上上边框颜色可以配置两种颜色边框
8、颜色可以配置两种颜色:BLACK/WHITEBLACK/WHITE。标签标签导航存放到导航存放到LISTLIST数组里面,数组里面,LISTLIST里的每个对象对应一个标签里的每个对象对应一个标签导航,每个对象里可以配置导航,每个对象里可以配置标签导航标签导航的路径、导航名称、默认图标以的路径、导航名称、默认图标以及选中图标,如图及选中图标,如图2.72.7所示。所示。图图2.7猫眼电影微信小程序标签导航配置猫眼电影微信小程序标签导航配置(4 4)配置网络超时。可以配置网络请求、文件上传、文件下载时最)配置网络超时。可以配置网络请求、文件上传、文件下载时最大的请求时间,超过这个时间,大的请求时
9、间,超过这个时间,则不再则不再请求。请求。(5 5)配置)配置DEBUGDEBUG模式。配置模式。配置DEBUGDEBUG模式可方便微信小程序开发者调试模式可方便微信小程序开发者调试开发程序,如图开发程序,如图2.82.8和图和图2.92.9所示所示为没有为没有开启开启DEBUGDEBUG模式和开启模式和开启DEBUGDEBUG模模式的调试信息对比。式的调试信息对比。图图2.8没有开启没有开启debug模式模式图图2.9开启开启debug模式模式 从从图图2.82.8和图和图2.92.9可以看出,开启可以看出,开启DEBUGDEBUG模式后,可以看到每一步模式后,可以看到每一步的调用情况、访问
10、路径以及错误信息的调用情况、访问路径以及错误信息,这样,这样更加方便开发者进行调试更加方便开发者进行调试工作。工作。APP.JSONAPP.JSON作为全局配置文件就是提供配置页面路径、配置窗口的作为全局配置文件就是提供配置页面路径、配置窗口的表现、配置底部标签导航、配置网络表现、配置底部标签导航、配置网络连接连接超时、配置超时、配置DEBUGDEBUG模式这些模式这些功能,配置也比较容易。功能,配置也比较容易。3 3APP.WXSSAPP.WXSS小程序公共样式表小程序公共样式表 APP.WXSSAPP.WXSS文件对文件对CSSCSS样式进行了扩展,和样式进行了扩展,和CSSCSS的使用方
11、式一样,类的使用方式一样,类选择器和行内样式的写法兼容大部分选择器和行内样式的写法兼容大部分CSSCSS样式,有一些样式,有一些CSSCSS样式在这里样式在这里是不起作用的。是不起作用的。APP.WXSSAPP.WXSS还形成了自己的风格,是对所有页面定义的还形成了自己的风格,是对所有页面定义的一个全局样式。一个全局样式。只要只要页面有全局样式里的页面有全局样式里的CLASSCLASS,就可以渲染全局样式里的效果;,就可以渲染全局样式里的效果;但如果页面又重新定义了这个但如果页面又重新定义了这个CLASSCLASS样式,则会把全局的覆盖掉,使样式,则会把全局的覆盖掉,使用自己的样式,如图用自己
12、的样式,如图2.102.10所示。所示。图图2.10小程序公共样式表小程序公共样式表4 4PROJECT.CONFIG.JSONPROJECT.CONFIG.JSON小程序项目个性化配置文件小程序项目个性化配置文件 在在使用微信小程序开发者工具时,开发者都会针对各自喜好做一使用微信小程序开发者工具时,开发者都会针对各自喜好做一些个性化配置,例如界面颜色、编译配置等。当换了另外一台计算机些个性化配置,例如界面颜色、编译配置等。当换了另外一台计算机重新安装工具的时候,用户还要重新配置。因此,小程序开发者工具重新安装工具的时候,用户还要重新配置。因此,小程序开发者工具在每个项目的根目录都会生成一个在
13、每个项目的根目录都会生成一个PROJECT.CONFIG.JSONPROJECT.CONFIG.JSON文件,用户文件,用户在工具上做的任何配置都会写入这个文件在工具上做的任何配置都会写入这个文件。重新安装重新安装工具或者换计算机工作时,工具或者换计算机工作时,用户用户只要载入同一个项目的只要载入同一个项目的代码包,开发者工具就会自动恢复到当时开发项目时的个性化配置,代码包,开发者工具就会自动恢复到当时开发项目时的个性化配置,其中包括编辑器的颜色、代码上传时自动压缩等一系列选项。其中包括编辑器的颜色、代码上传时自动压缩等一系列选项。在在微信小程序框架目录里有一个微信小程序框架目录里有一个UTI
14、LSUTILS文件夹,它用来存放工具文件夹,它用来存放工具栏的栏的JSJS函数,例如可以放置一些日期函数,例如可以放置一些日期格式化格式化的函数、时间格式化的函的函数、时间格式化的函数等一些常用的函数数等一些常用的函数。定义定义完这些函数后,要通过完这些函数后,要通过MODULE.EXPORTSMODULE.EXPORTS将定义的将定义的函数名称函数名称注注册进来,在其他的页面才可以使用,图册进来,在其他的页面才可以使用,图2.112.11所示为时间格式化工具类所示为时间格式化工具类文件。文件。2.1.22.1.2工具类文件工具类文件图图2.11utils.js工具类文件工具类文件 一一个小程
15、序框架页面文件由个小程序框架页面文件由5 5个个文件组成,分别是文件组成,分别是JSJS页面逻辑、页面逻辑、JSONJSON页面配置、页面配置、WXMLWXML页面结构、页面结构、WXSWXS小程小程序序脚本语言、脚本语言、WXSSWXSS页面样式表,如表页面样式表,如表2.22.2所示。所示。2.1.32.1.3框架页面文件框架页面文件表表2.2框架页面文件框架页面文件 微微信小程序的框架页面文件,信小程序的框架页面文件,都放置在都放置在PAGESPAGES文件夹下面,如图文件夹下面,如图2.122.12所示。所示。图图2.12页面文件页面文件 每个每个页面都有一个独立的文件夹,比如日志页面
16、页面都有一个独立的文件夹,比如日志页面LOGSLOGS文件夹,它文件夹,它的下面放置的下面放置5 5个文件:个文件:LOGS.JSLOGS.JS进行进行业务业务路径处理;路径处理;LOGS.JSONLOGS.JSON进行页面进行页面配置,可以覆盖全局配置,可以覆盖全局APP.JSONAPP.JSON配置;配置;LOGS.WXMLLOGS.WXML配置页面结构,负责渲配置页面结构,负责渲染染页面页面;WXSWXS(WEIXIN?SCRIPTWEIXIN?SCRIPT)是小程序的一套脚本语言,)是小程序的一套脚本语言,LOGS.WXSLOGS.WXS结合结合WXMLWXML文件,可以构建出页面的结
17、构文件,可以构建出页面的结构;LOGS.WXSSLOGS.WXSS是针对是针对LOGS.WXMLLOGS.WXML页面的样式文件。页面的样式文件。猫眼猫眼电影底部标签导航有电影底部标签导航有4 4个标签:个标签:电影、影院、发现、我的,如图电影、影院、发现、我的,如图2.132.13所所示。示。2.1.42.1.4小试牛刀:制作猫眼电影底部标签导航小试牛刀:制作猫眼电影底部标签导航图图2.13猫眼电影底部标签导航猫眼电影底部标签导航(1 1)新建一个)新建一个MOVIEMOVIE项目,如图项目,如图2.142.14所示。所示。图图2.14添加项目添加项目(2 2)将准备好的底部标签导航图标拷贝
18、到)将准备好的底部标签导航图标拷贝到MOVIEMOVIE项目下面。项目下面。(3 3)打开)打开APP.JSONAPP.JSON配置文件,在配置文件,在PAGESPAGES数组里添加数组里添加4 4个页面路径个页面路径电影电影“PAGES/MOVIE/MOVIE”PAGES/MOVIE/MOVIE”、影院影院“PAGES/CINEMA/CINEMA”PAGES/CINEMA/CINEMA”、发现、发现“PAGES/FIND/FIND”PAGES/FIND/FIND”、我的、我的“PAGES/ME/ME”PAGES/ME/ME”,保存后会自动生成相,保存后会自动生成相应的页面文件夹;删除应的页面
19、文件夹;删除“PAGES/INDEX/PAGES/INDEX/INDEX”“PAGESINDEX”“PAGES/LOGS/LOGS”/LOGS/LOGS”页面路径以及对应的文件夹,如图页面路径以及对应的文件夹,如图2.152.15所示。所示。图图2.15配置页面路径配置页面路径(4 4)在)在WINDOWWINDOW数组里配置窗口导航背景颜色为红色(数组里配置窗口导航背景颜色为红色(#D53E37#D53E37),),导航栏文字为电影,字体颜色导航栏文字为电影,字体颜色设置设置为白色(为白色(WHITEWHITE),具体配置如),具体配置如图图2.162.16所示。所示。图图2.16窗口及导航
20、栏配置窗口及导航栏配置(5 5)在)在TABBARTABBAR对象里配置底部标签导航背景对象里配置底部标签导航背景色为灰色(色为灰色(#F5F5F5#F5F5F5),文字默认颜色为白色),文字默认颜色为白色(WHITEWHITE),文字),文字选中时为红色(选中时为红色(#D53E37#D53E37),),在在LISTLIST数组里配置底部标签导航对应的页面、数组里配置底部标签导航对应的页面、导航名称、默认时图标、导航名称、默认时图标、选中选中时图标,具体时图标,具体配置如图配置如图2.172.17所示。所示。图图2.17底部标签导航配置底部标签导航配置 这样这样就完成了猫眼电影底部标签导航的
21、就完成了猫眼电影底部标签导航的配置,单击不同的导航标签,可以切换显示配置,单击不同的导航标签,可以切换显示不同的页面,同时不同的页面,同时导航导航图标和导航文字会呈图标和导航文字会呈现为选中状态,如图现为选中状态,如图2.182.18所示。所示。图图2.18电影界面电影界面 APP.JSAPP.JS文件不仅可以定义全局函数和数据,还可以注册小程序文件不仅可以定义全局函数和数据,还可以注册小程序。在在APP()APP()函数里函数里可以完成可以完成小程序的注册,并指定其生命周期函数小程序的注册,并指定其生命周期函数。表表2.32.3所示为生命周期函数的定义。所示为生命周期函数的定义。2.22.2
22、微信小程序注册程序应用微信小程序注册程序应用表表2.3生命周期函数生命周期函数续表续表(1 1)ONLAUNCHONLAUNCH生命周期函数,用来监听小程序初始化,一旦初始化生命周期函数,用来监听小程序初始化,一旦初始化完成,就会触发该函数,这个生命周期函数只会触发一次。完成,就会触发该函数,这个生命周期函数只会触发一次。(2 2)ONSHOWONSHOW生命周期函数,用来监听小程序显示,微信小程序有前生命周期函数,用来监听小程序显示,微信小程序有前后台定义,当用户单击左上角关闭、按后台定义,当用户单击左上角关闭、按HOMEHOME键关闭或者突然来电话,键关闭或者突然来电话,微信小程序都没有销
23、毁,而是进入后台,当再次进入微信或者小程序微信小程序都没有销毁,而是进入后台,当再次进入微信或者小程序的时候就会触发的时候就会触发ONSHOWONSHOW这个函数。只要程序启动或者从后台进入前台这个函数。只要程序启动或者从后台进入前台都会触发该函数。都会触发该函数。(3 3)ONHIDEONHIDE生命周期函数,用来监听小程序隐藏,一旦微信小程序生命周期函数,用来监听小程序隐藏,一旦微信小程序从前台进入后台,就会触发该函数。从前台进入后台,就会触发该函数。(4 4)ONERRORONERROR生命周期函数,用来监听小程序脚本或者生命周期函数,用来监听小程序脚本或者APIAPI是否发生是否发生错
24、误,发生错误时返回错误信息。错误,发生错误时返回错误信息。(5 5)ONPAGENOTFOUNDONPAGENOTFOUND生命周期函数,当要打开的页面不存在时,会生命周期函数,当要打开的页面不存在时,会回调这个监听函数。回调这个监听函数。在在每个页面文件夹里,都有一个页面对应的每个页面文件夹里,都有一个页面对应的JSJS文件,比如日志文件,比如日志LOGSLOGS文件夹,对应的就是文件夹,对应的就是LOGS.JSLOGS.JS文件,这个文件里的文件,这个文件里的PAGE()PAGE()函数用函数用来注册页面来注册页面。接受接受一个一个OBJECTOBJECT参数,其指定页面的初始数据、生命周
25、期函数、参数,其指定页面的初始数据、生命周期函数、事件处理函数等页面的所有业务逻辑处理都放在这个文件里事件处理函数等页面的所有业务逻辑处理都放在这个文件里。OBJECT OBJECT参数如表参数如表2.42.4所示。所示。2.32.3微信小程序注册页面的使用微信小程序注册页面的使用表表2.4object参数说明参数说明 DATADATA为页面初始化数据,初始化数据将作为页面的第一次渲染为页面初始化数据,初始化数据将作为页面的第一次渲染。DATA DATA将会以将会以JSONJSON的形式由逻辑层传至渲染层,所以其数据必须是的形式由逻辑层传至渲染层,所以其数据必须是可以转成可以转成JSONJSO
展开阅读全文