第1章 认识小程序 1
1.1 概述 1
1.1.1 小程序是什么 1
1.1.2 小程序的使命 1
1.2 打开小程序 2
1.2.1 二维码 2
1.2.2 微信搜索 2
1.2.3 微信公众号 2
1.2.4 微信会话窗口 3
1.2.5 附近的小程序 4
1.2.6 历史记录 5
1.3 小程序特性 6
1.3.1 改进 6
1.3.2 对比 6
1.3.3 工具 8
1.4 常见问题 9
第2章 开发过程 11
2.1 注册 11
2.2 完善信息 13
2.3 开发 14
2.3.1 准备环境 14
2.3.2 扫码启动 14
2.3.3 第一个小程序 17
2.3.4 编辑视图 18
2.3.5 调试视图 19
2.3.6 项目视图 24
2.4 审核上架 25
第3章 开发基础 26
3.1 概述 26
3.2 结构 28
3.3 配置 29
3.3.1 应用级配置 29
3.3.2 页面级配置 33
3.4 逻辑层 33
3.4.1 应用级注册 34
3.4.2 页面级注册 36
3.4.3 页面路由 40
3.4.4 模块化 41
3.4.5 生命周期 43
3.5 视图层 43
3.5.1 数据绑定 43
3.5.2 条件渲染 48
3.5.3 循环渲染 49
3.5.4 模板 52
3.5.5 事件 54
3.5.6 引用 58
第4章 页面组件 60
4.1 概述 60
4.2 视图容器 61
4.2.1 基础容器 61
4.2.2 滚动容器 63
4.2.3 滑动块容器 67
4.3 基础内容 70
4.3.1 图标组件 70
4.3.2 文本组件 73
4.3.3 进度条组件 75
4.4 表单组件 78
4.4.1 按钮组件 78
4.4.2 复选框组件 81
4.4.3 输入框组件 84
4.4.4 标签组件 88
4.4.5 选择器组件 92
4.4.6 单选框组件 96
4.4.7 滑动选择器组件 98
4.4.8 开关组件 100
4.4.9 多行输入框组件 102
4.4.10 表单组件 105
4.5 导航 109
4.6 媒体组件 111
4.6.1 音频组件 111
4.6.2 图片组件 114
4.6.3 视频组件 118
4.7 地图组件 122
4.8 客服会话 126
第5章 页面样式 128
5.1 WXSS概述 128
5.1.1 定义样式 128
5.1.2 使用样式 129
5.1.3 优先原则 130
5.2 选择器 131
5.2.1 分类 131
5.2.2 权重 134
5.3 基础样式 135
5.3.1 文本 135
5.3.2 背景 137
5.3.3 轮廓 139
5.3.4 内容生成 140
5.4 样式值 140
5.4.1 长度值 140
5.4.2 颜色值 141
5.5 动态样式 142
第6章 页面布局 143
6.1 元素类别 143
6.1.1 块级元素 143
6.1.2 内联元素 143
6.1.3 内联块级 144
6.2 box模型 144
6.2.1 基础概念 144
6.2.2 基础样式 145
6.2.3 圆角矩形 152
6.2.4 盒子阴影 154
6.2.5 代码缩写 155
6.3 传统布局 156
6.3.1 概述 156
6.3.2 flow布局 157
6.3.3 float布局 157
6.3.4 layer布局 158
6.4 flex布局 162
6.4.1 概述 162
6.4.2 基础概念 163
6.4.3 相关属性 163
6.4.4 伸缩规则 166
6.5 布局实战 168
6.5.1 导航栏 169
6.5.2 宫格式 169
6.5.3 列表式 170
6.5.4 转盘式 172
6.5.5 多面板 174
6.5.6 标签 177
第7章 JavaScript基础 179
7.1 概述 179
7.1.1 概念 179
7.1.2 运行 181
7.1.3 调试 182
7.2 语法 183
7.2.1 结构 183
7.2.2 变量 184
7.2.3 数据类型 185
7.2.4 表达式和运算符 187
7.2.5 语句 191
7.2.6 JSON 195
7.3 函数 196
7.3.1 定义 196
7.3.2 调用 197
7.3.3 参数 200
7.3.4 函数类型 201
7.3.5 立即执行函数 202
7.3.6 闭包 206
7.4 面向对象 207
7.4.1 基础概念 207
7.4.2 创建对象 211
7.4.3 实现继承 215
7.5 ES6核心 221
7.5.1 变量相关 221
7.5.2 类和继承 222
7.5.3 箭头函数 223
7.5.4 字符串模板 224
第8章 小程序接口 225
8.1 网络操作 225
8.1.1 网络请求 225
8.1.2 上传和下载 226
8.2 媒体操作 230
8.2.1 图片操作 230
8.2.2 语音录制与播放 236
8.2.3 音频相关接口 238
8.2.4 视频录制与选择 241
8.2.5 视频播放器接口 242
8.2.6 文件处理 243
8.3 数据缓存 246
8.4 位置操作 248
8.4.1 获取位置 248
8.4.2 地图组件控制 250
8.5 设备相关 251
8.5.1 系统信息 251
8.5.2 网络状态 253
8.5.3 传感器 253
8.5.4 拨打电话 254
8.5.5 扫一扫功能 255
8.5.6 剪切板 255
8.5.7 蓝牙操作 256
8.6 界面 264
8.6.1 交互反馈 264
8.6.2 页面标题栏的设置 268
8.6.3 页面跳转 268
8.6.4 下拉刷新 269
8.7 开放接口 269
8.7.1 登录 269
8.7.2 用户信息 274
8.7.3 微信支付 274
8.7.4 模板消息 275
8.7.5 客服消息 281
8.7.6 分享 290
8.7.7 获取二维码 293
8.7.8 地址选择 294
8.7.9 卡券 295
8.7.10 授权设置 296
第9章 综合示例——实时公交 298
9.1 需求分析 298
9.2 视图层设计 298
9.3 逻辑层设计 300
9.4 代码实现 300
9.4.1 应用配置 300
9.4.2 首页轮播图片 301
9.4.3 首页实时公交查询 302
9.4.4 首页公交列表 303
9.4.5 实时公交查询页面 305
9.4.6 实时公交详情页面 310
第10章 综合示例——电商平台 316
10.1 需求分析 316
10.2 视图层设计 316
10.3 逻辑层设计 319
10.4 代码实现 322
10.4.1 应用配置 322
10.4.2 首页轮播图片 323
10.4.3 首页人气推荐 325
10.4.4 商品分类 326
10.4.5 商品搜索 329
10.4.6 商品详情 330
附录A 小程序开发工具中的常用快捷键 332
附录B 场景值 333
附录C 模板消息审核规则 335