第1章 导学与申请appkey
如何更好的学习本课程?如何申请开发者key?如何调用和测试接口?
1-1 微信小程序商业级实战-课程导学。
1-2 优先自己开发
1-3 appkey的申请
1-4 课程维护说明
第2章 准备工作
开发前的准备工作以及第三方开发工具的选择
2-1 流程与开发前准备
2-2 新建小程序项目
2-3 。小程序开发工具介绍
2-4 第三方开发工具介绍
第3章 小程序的基础知识与新特性
讲解小程序的一些必须要掌握的基础知识,如文件类型、项目结构、配置文件等。部分之前老课程中没有涉及的重要新特性也会在本章节提及
3-1 小程序的4种文件类型
3-2 小程序的组织结构
3-3 新建第一个小程序页面
3-4 -1 消除错误提示
3-5 app.json配置之导航栏
3-6 app.json之background窗口
3-7 wxml与组件
第4章 flex布局
我们将在本章中详细学习flex布局的基础知识,为在项目中灵活应用flex布局打下坚实的基础
4-1 小程序代码编写规范
4-2 所谓布局
4-3 block、inline与inline-block
4-4 flex容器将消除item的块状特性
4-5 flex-direction的应用
4-6 reverse倒序排布
4-7 reverse效果揭秘
4-8 justify-content属性解析 一
4-9 justify-content属性解析 二
4-10 主轴与交叉轴(重要) 一
4-11 主轴与交叉轴(二)
4-12 baseline与stretch
4-13 flex-wrap与消除间距
第5章 小程序基础知识与初识小程序组件
本章我们将学习全局样式、相对/绝对路径、尺寸单位等小程序基础知识。同时,我们将初步介绍小程序自定义组件。
5-1 细节决定成败
5-2 组件概述
5-3 定义、引用与使用组件
5-4 相对路径与绝对路径
5-5 like组件实现
5-6 小程序尺寸单位与设计原则(重要)
5-7 小程序支持的css选择器远比文档中要多
5-8 苹方字体设置
5-9 page样式的巧妙应用
5-10 组件只能继承极少数全局样式
5-11 组件最好不要留有空白间距
5-12 固定宽度还是自适应?
5-13 组件事件与事件处理
第6章 组件数据、事件与属性
本章我们将深入学习组件的开放性与封闭性以及组件封装的原则
6-1 数据来源的三种途径
6-2 数据绑定
6-3 三元表达式与图片切换
6-4 组件的封闭性、开放性及粒度
6-5 组件的properties属性详解
6-6 let、var与组件事件应用
第7章 访问API数据与ES6在小程序中的应用
本章,我们将从一个简单wx.request开始,讲解同步与异步的区别,promise的意义,ES6中箭头函数、class、const、module、export与import在小程序中的巧妙应用。同时,我们也将初步探讨封装代码的必要性
7-1 看待组件的两种观点(重要)
7-2 Blink API介绍与测试API
7-3 生命周期函数
7-4 wx.request-4xx状态码并不会执行fail
7-5 访问API获取数据
7-6 同步、异步与回调函数
7-7 ES6箭头函数与this指代
7-8 正确理解Promise(选看)
7-9 ES6 const常量
7-10 ES6 Module export与import
7-11 HTTP类的封装与ES6 startsWith
7-12 分析问题的思维培养与练习
7-13 分析问题的思维培养与练习二
7-14 回调函数传递
7-15 通用错误异常处理(重要)
第8章 流行页面编码与组件的细节知识
本章,我们将逐步编写流行页面中剩余的电影组件、期刊组件、导航组件,并进一步的完善喜欢组件。同时,我们将在本章节进一步的讲解setData的真正意义、组件封装粒度、系统事件与自定义事件、properties和data的区别等重要的知识。本章内容非常丰富,加油吧。 …
8-1 什么是“剥夺函数return的能力”
8-2 组件属性赋值与页面渲染流程解析
8-3 setData的误区(重要)
8-4 movie组件的实现
8-5 再谈组件的粒度
8-6 自定义事件的激活与监听
8-7 喜欢还是不喜欢
8-8 组件的生命周期函数
8-9 组件的data与properties的“奇怪”现象
8-10 业务逻辑到底写组件里还是页面里
8-11 observer函数的应用
8-12 注意防范内存泄漏
8-13 千万不要在observer中修改自身属性值
8-14 epsoide组件与流行页面样式
第9章 Behavior行为与加入缓存系统优化流行页面
即使服务器返回数据的速度再快,我们依然需要在页面中加入缓存系统来优化用户体验。组件是一种复用的逻辑,但多个组件间的共同JS代码又改如何复用?使用Behaviors行为将解决这个问题。同时,我们也将谈谈Behavior和多继承的思想。…
9-1 navi组件与移动端触碰区域探讨
9-2 navi组件与flex宽度陷阱
9-3 禁用事件的技巧
9-4 music组件初步实现
9-5 初识组件的Behavior行为
9-6 behavior 继承与多继承的覆盖规则(重要)
9-7 初步实现期刊切换
9-8 是否是最新期刊的判断逻辑
9-9 使用Storage保存最新期刊号
9-10 onNext与函数重构技巧
第10章 新版Music组件、组件通信与wxss样式复用
本章,我们将进一步优化缓存带来的附加问题。缓存的使用绝对不仅仅是setStorage和getStorage这么简单,缓存的加入将带来一些新的问题,这些问题的处理细节体现了一个前端程序员的成熟度。同时,我们还将学习ES6扩展运算符和模板字符串在小程序中的应用、wxss样式的复用、让自定义组件支持hidden属性与组件通信。本章是业务…
10-1 谈谈缓存对于改善用户体验的作用
10-2 解决缓存带来的问题
10-3 ES6模板字符串和扩展运算符的应用
10-4 独立更新like组件状态
10-5 如何让自定义组件支持hidden?
10-6 @import在组件间复用样式
10-7 music组件样式
10-8 新版音乐播放对象
10-9 组件间通信
10-10 hidden不会触发组件的detached,但wxif会
10-11 完成音乐播放
10-12 用简洁的代码优化音乐播放
10-13 真实感受Component与Model的好处
第11章 Promise正确用法与函数签名设计技巧
目前来说,由于小程序占时不支持async与await,所以Promise是小程序处理异步的最佳解决方案。即使支持async,它也只是Promise的语法糖,所以Promise是必须要学习的基础。很多同学对于Promise的理解不够深刻,导致Promise使用不正确。本章我们将讲解Promise的正确使用方式,重构http.js,同时还将使用ES6对象解构、默认值等…
11-1 tabBar配置
11-2 airbnb编码规范
11-3 纯粹回调、Promise与async、await
11-4 Promise的本质与用法
11-5 Promise重构 一 参数列表设计原则与默认值
11-6 Promise重构 二 重构request
11-7 Promise重构 三 对象解构
11-8 Promise的正确用法
第12章 组件高级应用
本章我们将探讨组件的slot插槽和外部样式类。组件最难平衡的是内置默认样式和用户自定义样式的需求,我们将一起来探讨一个不错的解决方案。我们将看到,小程序其实不仅仅提供了属性、还提供了wxml的标签的传递与样式的传递。wxml的传递是通过插槽,样式的传递是通过externalClass…
12-1 图书组件
12-2 列表渲染
12-3 书籍首页布局
12-4 巧用flex布局简化CSS
12-5 wx:key的用法与意义
12-6 项目型组件与通用性组件
12-7 书籍详情页面三组数据加载
12-8 三种小程序编译模式
12-9 标签组件难点提示
12-10 标签布局
12-11 组件设计思想:slot插槽的使用
12-12 自定义组件样式探讨 一:hack方式
12-13 自定义样式探讨2:外部样式的概念
12-14 自定义组件样式3:外部样式的问题
12-15 自定义样式4:外部样式如何强制覆盖普通样式
12-16 外部样式类的使用技巧
第13章 小程序wxs的应用
wxs是微信为小程序定制的一套脚本语言,同JS类似,但又有很多不同。很多同学认为wxs没有什么用,但其实是很有用的。比如开源组件中就可以提供一套wxs编写的filter过滤器。本章,我们将来深入探讨一下wxs的应用场景。
13-1 分析换行符 不解析换行的原因
13-2 wxs的概念与应用1
13-3 wx的概念与应用2
13-4 wx的概念与应用3
13-5 在小程序中编写limit过滤器
13-6 短评功能分析
13-7 短评实现一
13-8 短评实现二
13-9 短评实现三:在wxml中编写wxs代码
13-10 短评实现四:mask组件
13-11 短评实现五:提交短评数据
13-12 短评实现六:支持input输入短评
13-13 短评实现七:细节处理
第14章 搜索与高阶组件
搜索基本上是任何一个产品都不会缺少的功能。但是一个好的搜索组件,细节是非常多的。本章,我们将完成历史搜索、热门搜索等诸多商业级严谨搜索功能。同时,我们也将提出“高阶组件的”概念,区别于普通组件,高阶组件更为复杂 …
14-1 并行请求与串行请求
14-2 Promise.all与Promise.race
14-3 高阶组件示例1:搜索组件
14-4 自定义组件的models目录探讨
14-5 数据结构队列的应用
14-6 队列测试
14-7 实现历史搜索
14-8 实现热门搜索
14-9 搜索实现1
14-10 搜索实现2
14-11 搜索实现3
14-12 搜索实现4:动态绑定input输入
第15章 代码重构与行为抽象
本章我们将重构搜索代码,将分页逻辑提取成一个“行为”。以后,当我们遇到任何一个需要使用分页逻辑的组件时都可以服用分页Behavior。此外,本章有大量的细节需要我们完善。比如如何对搜索加“锁”,如何判断是否还有更多数据等。 …
15-1 用随机字符串触发Oberver函数
15-2 加载更多数据的判断技巧
15-3 使用锁的概念解决重复加载数据的问题
15-4 是否还有更多数据的判断逻辑
15-5 组件行为逻辑抽象——分页行为
15-6 搜索代码重构——增强代码可阅读性
15-7 注意避免死锁
15-8 特别注意setData与直接赋值的区别
15-9 空搜索结果的处理
第16章 高级知识与应用
本章,我们将试着学习和应用一些比较抽象的知识。这些知识并不是必备的,但好的程序员必须学会这种思维和编码习惯。我们将在本章进一步优化和重构代码,学习新版微信授权机制、自定义小程序button组件、将内置的小程序API转换成Promise、复用整个Page等知识。…
16-1 将锁提取到分页行为中
16-2 open-data显示用户信息
16-3 新版微信授权机制
16-4 wx.getUserInfo需要用户先授权
16-5 通过opensetting判断用户是否授权
16-6 自定义button实现获取用户信息
16-7 为什么有open-data还需要getUserInfo?
16-8 自定义分享button
16-9 小程序之间的跳转
16-10 preview组件
16-11 简单聊一下小程序云开发的场景和意义