目 录
第 一部分 小程序快速入门与实战
第 1章 云开发快速入门 2
1.1 云开发简介 2
1.1.1 云开发是什么 2
1.1.2 为什么要学习云开发 3
1.2 项目的创建与配置 4
1.2.1 注册微信小程序 4
1.2.2 开发者工具与云开发文档 5
1.2.3 创建云开发模板小程序 7
1.2.4 云开发项目初始化 9
1.2.5 两个可视化控制台 13
1.3 云函数的配置与部署 16
1.3.1 云函数的开发环境 16
1.3.2 部署并上传云函数 18
1.3.3 npm包管理器与依赖 19
1.3.4 体验QuickStart小程序 20
1.4 开始一个云开发项目 23
1.4.1 开始一个云开发项目的准备回顾 23
1.4.2 云开发QuickStart小程序改造 24
1.4.3 让传统小程序项目支持云开发 24
1.4.4 云函数的同步 25
第 2章 小程序页面开发 26
2.1 页面结构与配置 26
2.1.1 文件结构和页面组成 26
2.1.2 小程序的全局配置 27
2.1.3 新建小程序页面 29
2.1.4 了解配置项的书写方式 30
2.1.5 配置tabBar配置项 32
2.1.6 小程序的页面配置 35
2.2 WXML与WXSS 36
2.2.1 编辑WXML文件 36
2.2.2 WXSS选择器 38
2.2.3 CSS参考手册 39
2.2.4 字体属性与文本属性 40
2.2.5 盒模型 42
2.3 链接和图片 44
2.3.1 navigator组件 44
2.3.2 image组件 46
2.3.3 云存储 47
2.3.4 尺寸单位rpx 47
2.3.5 图片的裁剪 48
2.3.6 背景属性 49
2.3.7 图片的边框美化 50
2.3.8 view、navigator、image组件嵌套 51
2.4 WeUI 53
2.4.1 体验WeUI小程序 53
2.4.2 WeUI的使用 55
2.4.3 Flex布局 55
2.4.4 全局样式与局部样式 58
2.4.5 Flex样式参考 58
2.4.6 使用WeUI美化文章排版 58
2.4.7 WeUI框架的核心与延伸 60
2.4.8 模板样式的更改 61
2.5 数据绑定 62
2.5.1 把数据分离出来 63
2.5.2 数据类型 63
2.5.3 组件属性的渲染 64
2.5.4 字符串与数字 65
2.5.5 渲染数组里的单条数据 65
2.5.6 渲染对象类型的数据 66
2.5.7 复杂的数据嵌套 67
2.6 列表渲染 69
2.6.1 渲染数组里的所有数据 69
2.6.2 电影列表页面 70
2.6.3 Grid九宫格样式参考 72
2.6.4 List样式参考 75
2.7 条件渲染 76
2.7.1 渲染的运算与逻辑判断 76
2.7.2. 布尔运算的渲染 79
2.7.3 hidden的用法 81
2.7.4 多条件判断与三元运算符 82
2.8 小程序的组件 83
2.8.1 组件的属性 83
2.8.2 轮播效果 84
2.8.3 audio组件 85
2.8.4 video组件 86
2.8.5 cover效果 86
2.9 优化与部署 87
2.9.1 开发者工具的使用 87
2.9.2 小程序的转发功能 89
2.9.3 小程序配置的细节 90
2.9.4 禁止页面下拉 91
2.9.5 自定义顶部导航栏 91
2.9.6 模板 92
2.9.7 小程序的客服 93
2.9.8 web-view 94
第3章 JavaScript基础 95
3.1 JavaScript基础入门 95
3.1.1 数学运算 95
3.1.2 Console.log输出日志 96
3.1.3 输出数组 96
3.1.4 输出对象 97
3.1.5 变量与赋值 97
3.1.6 操作数组 99
3.1.7 操作对象 100
3.1.8 常量 101
3.1.9 字符串的操作 101
3.1.10 Math对象 102
3.1.11 Date对象 103
3.2 小程序API实战 103
3.2.1 全局对象wx 103
3.2.2 控制台实战小程序API 104
3.2.3 API的可用性判断与权限 107
3.3 单击事件 109
3.3.1 页面滚动 109
3.3.2 消息提示框Toast 111
3.3.3 模态对话框 112
3.3.4 手机振动 114
3.3.5 弹出操作菜单 115
3.3.6 页面路由 116
3.4 页面渲染 118
3.4.1 将变量值渲染到页面 118
3.4.2 响应的数据绑定 120
3.4.3 响应的布尔操作 121
3.4.4 响应的数组操作 122
3.4.5 currentTarget事件对象 123
3.5 携带数据与跨页面渲染 125
3.5.1 链接携带数据 125
3.5.2 数据跨页面 127
3.5.3 组件携带数据dataset 129
3.6 生命周期 131
3.6.1 构造器 131
3.6.2 生命周期函数 135
3.7 小程序函数与调用 138
3.7.1 函数与调用函数 138
3.7.2 匿名函数与箭头函数 140
3.7.3 对象的方法 141
3.7.4 给构造器添加函数或数据变量 142
3.8 语法进阶 145
3.8.1 模板字符串 145
3.8.2 解构赋值 145
3.8.3 扩展运算符 146
3.8.4 回调函数与回调函数的写法 147
3.8.5 模块化 149
第4章 云函数入门 151
4.1 云函数快速入门 151
4.1.1 云函数的新建与调用 151
4.1.2 云函数的初始化 155
4.1.3 开发者工具右键操作说明 157
4.2 本地调试与云端测试 158
4.2.1 云函数的开发流程 158
4.2.2 return与console 161
4.2.3 云函数的监控 165
4.3 云函数的调用与返回 166
4.3.1 云函数的传参与返回 166
4.3.2 不同调用方式下的event与context 168
4.3.3 main函数与return 171
4.4 云函数的配置与进阶 173
4.4.1 云函数的环境变量 173
4.4.2 内存与超时时间 176
4.4.3 云函数模块与实例复用 177
4.4.4 云函数调用进阶 179
第5章 云数据库入门 182
5.1 云数据库基础知识 182
5.1.1 云数据库的基础知识 182
5.1.2 数据库的导出与导入 184
5.2 云数据库快速上手 187
5.2.1 权限的设置 187
5.2.2 小程序端调用数据库 189
5.2.3. 云函数端调用数据库 190
5.2.4 获取数据的写法 191
5.3 数据查询与统计 193
5.3.1 快速了解数据查询 193
5.3.2 构建查询条件的5个方法 194
5.3.3 统计记录 196
5.3.4 数据查询需要注意的问题 196
5.4 查询操作符 198
5.4.1 查询操作符基础 198
5.4.2 比较操作符 200
5.4.3 逻辑操作符 201
5.4.4 字段操作符 202
5.4.5 字段字符串的模糊查询 203
5.5 操作集合里的记录 204
5.5.1 新增记录add 204
5.5.2 删除与更新多条记录 206
5.6 操作记录里的字段 208
5.6.1 权限限制与替代写法 208
5.6.2 操作单个记录doc的字段值 209
5.7 更新操作符 212
5.7.1 更新操作符介绍 213
5.7.2 使用更新操作符操作字段 214
5.7.3 原子操作与高并发 214
5.8 数组的查询更新操作符 215
5.8.1 查询操作符和更新操作符一览 215
5.8.2 查询操作符和更新操作符 216
5.9 操作嵌套数组对象 219
5.9.1 普通数组和对象的查询与更新 219
5.9.2 匹配和更新多重嵌套的数组和对象 221
5.9.3 更新数组中所有匹配的元素之$[] 222
5.9.4 更新数组中第 一个匹配到的元素之$ 224
5.10 数据库变量处理 226
5.10.1 集合名、记录_id、字段值变量 226
5.10.2 数据库请求的变量 227
5.10.3 字段名称为变量 228
第6章 聚合查询 229
6.1 聚合快速入门 229
6.1.1 聚合查询与普通数据查询 229
6.1.2 聚合的基础知识 231
6.1.3 云数据库命令与SQL语句对应理解 234
6.2 聚合阶段 234
6.2.1 聚合阶段介绍 234
6.2.2 聚合阶段实战 236
6.2.3 简单的排名案例 245
6.3 操作符入门 246
6.3.1 算术操作符 247
6.3.2 累计器操作符 249
第二部分 云开发项目实战
第7章 云存储与相册小程序 255
7.1 小程序端图片操作 255
7.1.1 获取手机相册或拍照的图片 256
7.1.2 操作图片 259
7.1.3 保存图片到相册 261
7.2 小程序端文件操作 263
7.2.1 小程序端上传文件 263
7.2.2 上传地理位置 265
7.2.3 下载文件 266
7.2.4 预览文档 268
7.2.5 保存文件与文件缓存 269
7.3 数据缓存Storage 271
7.3.1 将图片存储到缓存里 271
7.3.2 将数据存储到缓存里 273
7.4 云存储快速入门 277
7.4.1 上传文件到云存储 277
7.4.2 下载和删除云存储里的文件 280
7.4.3 云函数上传图片到云存储 281
7.4.4 获取文件在云存储的HTTPS链接 283
7.4.5 fileID是云存储与数据库的纽带 283
7.5 创建个人相册 284
7.5.1 数据库的设计与结构 284
7.5.2 UI与文件结构 286
7.5.3 建立用户与数据的联系 288
7.5.4 获取用户信息并存储到数据库 290
7.5.5 获取相册文件夹数据 293
7.6 相册文件夹管理 295
7.6.1 相册文件夹的表现形式 295
7.6.2 相册/文件夹的渲染 298
7.6.3 UI交互与相册/文件夹的创建 300
7.7 照片文件管理 303
7.7.1 数组的索引与交互 303
7.7.2 上传单个文件到文件夹 304
第8章 前后端交互与博客小程序 308
8.1 网络API 308
8.1.1 数据API 309
8.1.2 小程序端获取网络数据 310
8.1.3 云函数端获取数据 312
8.2 渲染网络数据到页面 313
8.2.1 将数据渲染到页面 313
8.2.2 详情页数据渲染 315
8.2.3 HTML标签解析rich-text 317
8.2.4 跨页面数据渲染 317
8.3 文章列表与详情页 317
8.3.1 数据库的范式化设计 317
8.3.2 联表与跨表 321
8.4 用户与文章交互 325
8.4.1 访问数据与文章浏览量 325
8.4.2 数据一致性与缓存 327
8.4.3 收藏数与用户收藏 330
第9章 表单与问卷小程序 332
9.1 表单的基础知识 332
9.1.1 设置导航栏标题 333
9.1.2 文本输入框input 335
9.1.3 添加手机联系人 336
9.1.4 input绑定事件处理函数 338
9.1.5 剪贴板 339
9.2 表单组件与组合 341
9.2.1 表单组件快速入门 341
9.2.2 slider响应设置颜色 345
9.2.3 picker组件 346
9.3 表单的提交与渲染 349
9.3.1 表单数据的提交 349
9.3.2 表单的渲染 354
9.4 问卷小程序 356
9.4.1 问卷的数据库设计 356
9.4.2 不同类型题目的渲染与提交 358
第三部分 云开发进阶
第 10章 用云函数实现后端能力 363
10.1 云函数的模块知识 363
10.1.1 Node.js的内置模块 363
10.1.2 Node的全局对象 364
10.1.3 wx-server-sdk的模块 367
10.1.4 第三方模块 367
10.1.5 云函数的运行机制 368
10.2 文件系统的操作 369
10.2.1 读取云函数服务端的文件 369
10.2.2 文件操作模块介绍 370
10.2.3操作临时磁盘空间 372
10.2.4 云函数与Buffer 373
10.3 云函数实用工具库 375
10.3.1 时间处理 375
10.3.2 加解密Crypto 377
10.3.3 lodash实用工具库 378
10.4 Excel文档处理 379
10.4.1 读取云存储的Excel文件 379
10.4.2 将数据库里的数据保存为CSV 381
10.4.3 导入Excel更多数据的解决方法 383
10.4.4 将Excel文件一键转成云数据库的json文件 384
10.5 HTTP处理 385
10.5.1 get请求 386
10.5.2 post请求 387
10.5.3 使用axios下载文件 388
10.6 云函数路由tcb-router 389
10.6.1 tcb-router快速入门 389
10.6.2 tcb-router管理数据库的增删改查 391
第 11章 云数据库的高阶用法 395
11.1 数据库的管理 395
11.1.1 控制台数据库高级操作 395
11.1.2 数据库脚本的实际应用 396
11.1.3 数据库的导入导出 398
11.1.4 使用回档进行数据备份 399
11.2 安全规则 400
11.2.1 {openid}变量 400
11.2.2 安全规则的写法 402
11.2.3 身份验证 405
11.2.4 安全规则常用场景 409
11.2.5 数据验证doc的规则匹配 410
11.3 数据库的设计 413
11.3.1 数据库的设计 413
11.3.2 反范式化与范式化设计 414
11.3.3 内嵌文档(内嵌数组或对象) 416
11.3.4 引用文档 418
11.3.5 数据库设计的注意事项 421
11.4 索引 423
11.4.1 索引的类型与管理 424
11.4.2 索引的创建说明 426
11.4.3 索引的原则与注意事项 427
11.5 数据库性能与优化 429
11.5.1 数据库性能与优化建议 429
11.5.2 数据库设计以及处理的优化建议 434
11.5.3 慢查询与告警 436
第 12章 云调用 438
12.1 云调用快速入门 438
12.1.1 云调用基础 438
12.1.2 云函数的配置文件 439
12.2 定时触发器 440
12.2.1 定时触发器使用说明 441
12.2.2 用定时触发器调用云函数 443
12.2.3 定时触发器的应用 445
12.3 订阅消息 447
12.3.1 获取订阅消息授权 447
12.3.2 发送订阅消息方式说明 454
12.3.3 使用云调用发送订阅消息 457
12.3.4 使用定时触发器发订阅消息 461
12.4 CloudID 461
12.4.1 获取微信步数 462
12.4.2 获取用户手机号 463
12.4.3 获取微信群ID和群名称 464
12.5 客服消息 468
12.5.1 客服消息的配置与说明 469
12.5.2 自动回复文本消息和链接 470
12.5.3 自动触发event事件 474
12.5.4 自动回复图片 475
12.6 微信支付 477
12.6.1 云支付快速入门 477
12.6.2 查询订单与申请退款 481
12.6.3 支付成功的回调函数 483