本书是一本全面介绍微信小程序应用开发的基础书籍,适合微信小程序开发的初学者使用。全书共11章,全面介绍了微信小程序应用开发的基本概念、基本方法、基本技术和应用实践。第1章介绍建立微信小程序开发环境;第2章和第3章剖析微信小程序的结构,并对其核心框架做详细介绍;第4章和第5章介绍微信小程序的常用组件;第6章和第7章介绍微信小程序的常用API;第8章介绍如何在微信小程序中使用AI技术完成智能行为;第9章介绍如何进行微信云开发,也就是基于微信小程序开发Server-Less程序;第10章通过一个综合案例介绍微信小程序知识的综合运用;第11章介绍如何发布开发完成的微信小程序。
吴绍根,男,苗族,副教授,大连理工大学计算机应用专业研究生毕业。在企业工作期间,参与或组织了多个计算机系统的设计与开发,包括:168声讯服务系统、200长途电话直拨系统、电信综合信息服务系统、ADSL宽带接入系统等,这些系统被多个电信运营商采用和运营。在学校教学期间,发表科研论文30余篇,申请并获得了多项发明专利授权,主编或参编教材8部,组织7项校级科研项目工作,主持参与3项省级科研项目工作;期间广泛与业界企业接触,为多个业内企业编写项目分析报告及可行性报告,指导企业的项目开发,并组织了包括无人机智慧巡航系统在内的多个企业项目的设计开发。
第1章 建立微信小程序开发环境 1
1.1 初识微信小程序 2
1.1.1 微信小程序举例 2
1.1.2 微信小程序VS移动应用程序 4
1.2 安装微信开发者工具 4
1.2.1 下载及安装微信开发者工具 4
1.2.2 创建和运行第一个微信小程序 6
1.2.3 在手机上预览/运行微信小程序 9
1.2.4 AppID 9
1.3 微信开发者工具简介 10
1.4 练习:建立自己的微信小程序开发环境 11
第2章 剖析微信小程序 12
2.1 小程序工程结构 13
2.2 小程序配置及app.json文件 15
2.2.1 小程序页面配置 16
2.2.2 渲染引擎及其配置 16
2.2.3 小程序组件样式配置和小程序搜索配置 18
2.2.4 微信客户端的版本号与小程序基础库的版本号 18
2.3 小程序生命周期及app.js文件 19
2.3.1 微信小程序的运行过程及其生命周期 19
2.3.2 小程序生命周期函数及其举例 20
2.4 小程序全局样式及app.wxss文件 23
2.4.1 小程序页面宽度尺寸单位 24
2.4.2 样式导入 24
2.5 小程序页面及其构成 24
2.5.1 页面.wxml文件 25
2.5.2 页面.wxss文件 25
2.5.3 页面.json文件 26
2.5.4 页面.js文件 27
2.5.5 简单的可以交互的小程序 29
2.6 案例:美图欣赏 32
2.6.1 案例目标 32
2.6.2 案例分析 33
2.6.3 案例实施 33
2.7 练习:童年记忆 37
第3章 微信小程序核心框架 38
3.1 数据绑定 39
3.1.1 数据绑定入门举例 39
3.1.2 数据绑定及其使用 40
3.1.3 全局数据及其使用 42
3.1.4 使用console和定时器 44
3.2 事件系统 45
3.2.1 简单的事件绑定 45
3.2.2 冒泡事件和非冒泡事件 45
3.2.3 绑定事件并阻止事件冒泡 46
3.2.4 事件对象 46
3.2.5 通过事件从视图层向逻辑层传递参数 47
3.2.6 数据绑定和事件系统使用举例 48
3.3 模块化 50
3.4 WXS脚本 51
3.4.1 一个简单的WXS脚本入门例子 51
3.4.2 WXS模块及其使用 52
3.4.3 WXS语法基础 55
3.4.4 使用WXS响应事件 56
3.5 案例:图来图往 57
3.5.1 案例目标 57
3.5.2 案例分析 58
3.5.3 案例实施 58
3.6 练习:单击计数器 60
第4章 小程序组件—Part 1 61
4.1 组件基本属性 62
4.2 常用组件 62
4.2.1 view组件 62
4.2.2 button组件 64
4.2.3 icon组件 67
4.2.4 text组件 67
4.2.5 image组件 68
4.2.6 progress组件 68
4.3 表单组件 69
4.3.1 form组件 69
4.3.2 input组件 69
4.3.3 checkbox组件和checkbox-group组件 70
4.3.4 radio组件和radio-group组件 71
4.3.5 label组件 71
4.3.6 picker组件和数据双向绑定 71
4.3.7 picker-view组件和picker-view-column组件 75
4.3.8 slider组件 78
4.3.9 switch组件 78
4.3.10 textarea组件 79
4.4 条件渲染和列表渲染 80
4.4.1 条件渲染 80
4.4.2 列表渲染 80
4.4.3 WXML模板:template标签 82
4.4.4 WXML引用:import标签和include标签 83
4.5 全局页面的下拉刷新和上拉加载 83
4.6 案例:简单计算器 86
4.6.1 案例目标 86
4.6.2 案例分析 87
4.6.3 案例实施 87
4.7 练习:你点我应 89
第5章 小程序组件—Part 2 90
5.1 scroll-view组件 91
5.1.1 scroll-view组件的使用举例 92
5.1.2 使用scroll-view组件实现局部页面的下拉刷新和上拉加载 93
5.2 swiper组件和swiper-item组件 95
5.3 navigator组件 97
5.4 tabBar及其使用 100
5.5 媒体组件 103
5.5.1 audio组件 104
5.5.2 video组件 104
5.5.3 camera组件 107
5.6 canvas组件 109
5.7 自定义组件 109
5.7.1 创建自定义组件 109
5.7.2 使用自定义组件 110
5.7.3 自定义组件举例 111
5.7.4 使用第三方WeUI组件库 112
5.8 案例:美食餐厅 115
5.8.1 案例目标 115
5.8.2 案例分析 115
5.8.3 案例实施 115
5.9 练习:选修课 121
第6章 小程序API—Part 1 122
6.1 基础API 123
6.1.1 获取系统信息 123
6.1.2 获取设备信息 125
6.2 界面API 126
6.2.1 交互API 126
6.2.2 TabBar操作API 130
6.2.3 动画API 131
6.3 路由API 136
6.3.1 页面跳转API 136
6.3.2 路由API使用举例 138
6.4 数据缓存API 141
6.4.1 保存数据 141
6.4.2 读取数据 141
6.4.3 清除数据 142
6.4.4 获取数据缓存状态 142
6.4.5 数据缓存使用举例 143
6.5 文件系统操作API 145
6.5.1 打开文档 145
6.5.2 使用FileSystemManager对象操作文件 146
6.6 媒体API 148
6.6.1 图像API 148
6.6.2 视频API 152
6.6.3 音频API 154
6.6.4 录音API 156
6.6.5 相机API 158
6.7 案例:自制录音播放器 159
6.7.1 案例目标 160
6.7.2 案例分析 160
6.7.3 案例实施 160
6.8 练习:视频录制播放器 162
第7章 小程序API—Part 2 163
7.1 网络通信API 164
7.1.1 获取网络状态和网络IP地址API 164
7.1.2 图书信息服务器 165
7.1.3 发起请求 168
7.1.4 文件下载 169
7.1.5 文件上传 170
7.1.6 网络通信API应用综合举例 170
7.2 分享/转发API 173
7.2.1 分享/转发小程序页面 173
7.2.2 分享/转发小程序页面内的信息 174
7.2.3 分享/转发API应用举例 175
7.3 设备API 177
7.3.1 扫码API 177
7.3.2 振动控制API 178
7.3.3 设备API使用举例 178
7.4 开放接口API 179
7.4.1 获取用户头像信息 179
7.4.2 小程序登录 181
7.4.3 授权和设置 185
7.5 案例:在线相册 187
7.5.1 案例目标 187
7.5.2 案例分析 187
7.5.3 案例实施 188
7.6 练习:读书分享 192
第8章 小程序AI 193
8.1 VisionKit视觉库简介 194
8.2 创建视觉会话 194
8.3 人脸检测 195
8.4 人体检测 200
8.5 手势检测 201
8.6 OCR检测 204
8.7 案例:基于手势的图像显示控制 207
8.7.1 案例目标 207
8.7.2 案例分析 207
8.7.3 案例实施 207
8.8 练习:从图像中检测人脸 210
第9章 小程序云开发 211
9.1 云开发入门 212
9.1.1 云开发前必读 212
9.1.2 开通云开发 212
9.1.3 云开发控制台使用基础 214
9.1.4 云开发入门举例 215
9.2 初始化云开发环境 224
9.3 开发数据库 225
9.3.1 数据类型 225
9.3.2 新建集合和数据访问权限控制 226
9.3.3 插入数据 226
9.3.4 修改数据 227
9.3.5 删除数据 230
9.3.6 查询数据 230
9.3.7 云开发数据库核心对象和核心方法总览 233
9.4 云开发存储 234
9.4.1 上传文件到云开发存储 235
9.4.2 从云开发存储下载文件 236
9.4.3 删除云开发存储中的文件 237
9.4.4 引用云文件 237
9.5 云函数 238
9.5.1 配置云函数环境 238
9.5.2 新建云函数 238
9.5.3 在小程序中调用云函数 240
9.5.4 在云函数中进行云操作 241
9.5.5 在云函数中获取小程序用户信息 242
9.6 案例:在线竞选班长 245
9.6.1 案例目标 245
9.6.2 案例分析 246
9.6.3 案例实施 246
9.7 练习:个人财务 253
第10章 综合案例:校园二手货交易 254
10.1 需求清单 255
10.2 界面设计 255
10.2.1 界面设计构思 255
10.2.2 界面详细设计 256
10.3 云数据库设计 257
10.4 案例实施 258
10.4.1 app.js文件 259
10.4.2 云函数gopenid 259
10.4.3 云函数iwant 259
10.4.4 云函数search 260
10.4.5 “搜索”页面 261
10.4.6 “二手货详细信息”页面 262
10.4.7 “二手货购买意向”页面 263
10.4.8 “发布”页面 265
10.4.9 “我的发布”页面 268
10.4.10 “查看购买意向”页面 269
10.4.11 “修改二手货状态”页面 270
10.4.12 “我的购买”页面 271
10.4.13 “我的购买详细信息”页面 272
10.5 运行效果 273
10.6 练习:完善二手货交易小程序 273
第11章 小程序发布 274
11.1 编译和预览 274
11.2 上传代码 275
11.3 提交审核 275
11.4 发布 275