《微信公众平台套用开发:方法、技巧与案例》是2014年机械工业出版社出版的图书,作者是刘运强。
该书系统讲解了微信公众平台套用开发的流程、方法和技巧,并配有若干完整的案例,并提供源码下载。
基本介绍
- 书名:微信公众平台套用开发:方法、技巧与案例
- 作者:刘运强
- ISBN:978-7-111-45332-1
- 类别:计算机与网际网路
- 页数:332
- 定价:¥69.00
- 出版社:机械工业出版社
- 出版时间:2014年01月13日
- 装帧:平装
- 开本:16
作者简介
刘运强,网名“柳峰”,资深微信公众平台套用开发工程师,国内微信公众平台套用开发的先驱之一,项目经验丰富。他还是一位资深的Java软体开发工程师和Android/iOS移动套用开发工程师,活跃于CocoaChina、开源中国、CSDN等社区,CSDN部落格专家,在CSDN部落格撰写了系列微信公众平台二次开发的教程,深受欢迎并被广泛传播,也因此获得CSDN部落格移动开发版块的“部落格冠军”。
内容简介
全书共11章,逻辑上划分为四个部分:
第一部分(第1~2章)介绍了公众平台的使用、公众账号的认证、编辑模式的使用等基础知识。
第二部分(第3~4章)首先讲解了如何启用开发模式,然后详细讲解了公众平台的讯息接口(包括请求校验、请求讯息、事件推送和回响讯息)。
第三部分(第5~6章)重点介绍了公众平台的自定义选单接口和高级接口,并配有完整的接口调用示例和说明。
第四部分(第7~11章)首先总结了一些实用的公众平台开发技巧,如使用表情、识别微信浏览器、图文讯息使用、公众账号无回响处理、服务多个账号等,然后逐步详细地讲解了“周边搜寻”、“猜数字”(游戏)和“聊天机器人”3个综合案例的开发过程。
图书目录
前言
第1章 公众平台基础知识 1
1.1 公众平台简介 1
1.1.1 平台定位 1
1.1.2 发展历程 2
1.2 注册公众账号 3
1.2.1 公众账号的分类 3
1.2.2 注册账号所需资料 4
1.2.3 公众账号的注册流程 5
1.3 公众平台的使用 8
1.3.1 功能 9
1.3.2 管理 11
1.3.3 服务 14
1.3.4 统计 15
1.3.5 设定 16
1.4 公众账号认证 17
1.4.1 认证条件 18
1.4.2 微信认证流程 18
1.4.3 微博认证流程 19
1.5 小结 19
第2章 编辑模式的使用 20
2.1 编辑模式的套用场景 20
2.2 自动回复 20
2.2.1 被添加自动回复 21
2.2.2 讯息自动回复 22
2.2.3 关键字自动回复 22
2.2.4 自动回复优先规则 24
2.3 案例:简易号码簿 24
2.3.1 案例功能描述 25
2.3.2 数据準备 25
2.3.3 设计关注提示语 25
2.3.4 设计关键字规则 26
2.3.5 设定默认回复 28
2.3.6 测试体验 28
2.4 自定义选单 29
2.4.1 编辑选单 30
2.4.2 预览和发布选单 32
2.5 小结 33
第3章 开发模式的启用 34
3.1 开发模式的基础知识 34
3.1.1 启用开发模式的必备条件 34
3.1.2 套用引擎简介 34
3.1.3 开发工具介绍 35
3.2 开发请求校验程式 36
3.2.1 开发者文档介绍 37
3.2.2 明确请求校验流程 37
3.2.3 请求校验流程分析 38
3.2.4 请求校验程式的实现 40
3.2.5 本地测试 43
3.2.6 导出WAR包 44
3.3 BAE的使用 46
3.3.1 注册账号 46
3.3.2 创建套用 47
3.3.3 託管设定 47
3.3.4 部署套用 48
3.3.5 获取访问地址 49
3.4 启用开发模式的步骤 49
3.5 小结 51
第4章 讯息的接收与回响 52
4.1 讯息互动基础知识 52
4.1.1 讯息互动流程 52
4.1.2 讯息的分类 53
4.2 讯息结构的封装 54
4.2.1 封装请求讯息 54
4.2.2 封装事件 63
4.2.3 封装回响讯息 68
4.3 讯息的处理 79
4.3.1 Dom4j的使用 79
4.3.2 XStream的使用 80
4.3.3 解析请求讯息 83
4.3.4 回响讯息对象转XML 85
4.4 案例:讯息的接收与回响 88
4.4.1 开发準备工作 88
4.4.2 讯息封装类 88
4.4.3 封装讯息处理工具 89
4.4.4 使用CoreServlet类完成讯息的接收与回响 93
4.4.5 使用CoreService类完成讯息的处理 95
4.4.6 部署套用及测试体验 97
4.5 小结 98
第5章 自定义选单的使用 99
5.1 传送HTTPS请求 99
5.1.1 两种解决方法 99
5.1.2 自定义信任管理器 100
5.2 接口访问凭证 101
5.2.1 获取凭证接口介绍 101
5.2.2 获取凭证的方式 102
5.3 自定义选单接口 105
5.3.1 选单按钮的分类 105
5.3.2 选单结构说明 105
5.3.3 封装选单结构 106
5.3.4 案例:创建选单 109
5.3.5 选单的查询与删除 111
5.4 回响选单点击事件 111
5.5 接口调用频率限制 112
5.6 案例:网址导航 112
5.6.1 案例功能描述 113
5.6.2 案例开发準备 113
5.6.3 封装通用工具类 115
5.6.4 封装选单工具类 118
5.6.5 创建自定义选单 120
5.6.6 实现业务逻辑 123
5.6.7 部署套用及测试体验 125
5.7 小结 126
第6章 高级接口的使用 127
6.1 语音识别 127
6.1.1 开启语音识别功能 128
6.1.2 如何获取语音讯息 128
6.2 客服接口 129
6.2.1 接口描述 129
6.2.2 方法封装 131
6.2.3 案例:传送客服讯息 134
6.3 OAuth2.0网页授权 134
6.3.1 配置网页授权回调域名 135
6.3.2 网页授权流程 135
6.3.3 方法封装 139
6.3.4 案例:通过网页授权获取用户信息 145
6.4 生成带参数二维码 149
6.4.1 创建临时二维码 149
6.4.2 创建永久二维码 152
6.4.3 换取二维码 154
6.4.4 案例:通过ticket换取二维码 155
6.5 获取用户地理位置 155
6.5.1 开启获取用户地理位置功能 156
6.5.2 接收上报地理位置事件 156
6.6 获取用户基本信息 157
6.6.1 接口描述 157
6.6.2 方法封装 158
6.6.3 案例:获取用户基本信息 162
6.7 获取关注者列表 163
6.7.1 接口描述 163
6.7.2 方法封装 164
6.7.3 案例:获取公众账号关注者列表 166
6.8 用户分组接口 166
6.8.1 查询分组 167
6.8.2 创建分组 169
6.8.3 修改分组名 171
6.8.4 移动用户分组 173
6.9 上传及下载多媒体档案 174
6.9.1 上传多媒体档案接口描述 174
6.9.2 使用抓包工具分析档案上传请求 176
6.9.3 上传多媒体档案方法封装 179
6.9.4 下载多媒体档案 183
6.9.5 案例:上传及下载语音档案 184
6.10 小结 185
第7章 网路表情的使用 186
7.1 微信支持的网路表情 186
7.2 QQ表情 186
7.2.1 微信上的QQ表情代码 187
7.2.2 在微信上传送QQ表情 189
7.2.3 QQ表情的识别 190
7.2.4 回复QQ表情 191
7.2.5 案例:原样回复QQ表情 191
7.3 Emoji表情 192
7.3.1 微信上的Emoji表情编码 193
7.3.2 如何使用Emoji表情编码 196
7.3.3 案例:回复Emoji表情 196
7.4 小结 198
第8章 公众平台开发技巧 199
8.1 图文讯息使用详解 199
8.1.1 单图文讯息的实现 199
8.1.2 多图文讯息的实现 200
8.1.3 图文讯息使用注意事项 201
8.2 公众账号无回响的处理 202
8.2.1 公众账号无回响的几种情况 202
8.2.2 计算字元串所占位元组数 202
8.3 套用开发最佳实践 204
8.3.1 解析讯息创建时间 204
8.3.2 换行符的使用 205
8.3.3 网页超连结的使用 206
8.3.4 隐藏浏览器工具列 206
8.3.5 表情飘落效果 207
8.4 识别微信浏览器 208
8.4.1 判断微信浏览器 208
8.4.2 只允许微信浏览器访问 210
8.5 服务多个公众账号 211
8.5.1 公众账号託管平台原理 211
8.5.2 案例:服务两个公众账号 213
8.6 业务系统对接 214
8.6.1 简讯方式绑定账号 215
8.6.2 网页方式绑定账号 215
8.7 公众平台开发测试 215
8.8 小结 216
第9章 LBS套用开发实战:周边搜寻 217
9.1 “周边搜寻”功能及设计 217
9.1.1 使用方法 217
9.1.2 功能演示 217
9.1.3 需求分析 218
9.1.4 数据表设计 219
9.2 百度地图API的使用 220
9.2.1 百度地图API产品简介 220
9.2.2 申请访问密钥 221
9.2.3 Place API的使用 221
9.2.4 步行导航检索的使用 224
9.2.5 百度坐标转换 225
9.3 MySQL的使用 227
9.3.1 MySQL的下载与安装 228
9.3.2 MySQL的常用操作 228
9.3.3 JDBC的基本使用 232
9.3.4 案例:使用JDBC查询数据 234
9.4 BAE的MySQL服务 235
9.4.1 创建资料库 235
9.4.2 使用phpMyAdmin操作MySQL 237
9.4.3 案例:使用JDBC操作MySQL 237
9.5 “周边搜寻”套用实现 241
9.5.1 套用开发準备 241
9.5.2 封装资料库操作 241
9.5.3 封装百度地图操作 245
9.5.4 编写步行导航页面 251
9.5.5 CoreService类的实现 252
9.5.6 部署套用及测试体验 256
9.6 小结 257
第10章 游戏开发实战:猜数字 258
10.1 “猜数字”功能及设计 258
10.1.1 游戏规则 258
10.1.2 游戏术语 259
10.1.3 核心流程设计 259
10.1.4 数据表设计 259
10.2 “猜数字”游戏的实现 261
10.2.1 游戏开发準备 261
10.2.2 游戏算法封装 262
10.2.3 资料库操作封装 265
10.2.4 核心处理逻辑 273
10.2.5 CoreService类的实现 277
10.2.6 部署套用及测试体验 279
10.3 小结 280
第11章 智慧型聊天套用开发实战:聊天机器人 281
11.1 聊天机器人原理及设计 281
11.1.1 实现原理 281
11.1.2 数据表设计 283
11.2 全文检索引擎Lucene 285
11.2.1 Lucene的组成结构 286
11.2.2 倒排索引结构 286
11.2.3 索引和检索原理 288
11.2.4 常用API介绍 288
11.2.5 Lucene的评分机制 290
11.2.6 案例:使用Lucene索引和检索 291
11.3 中文分词 296
11.3.1 中文分词方法 296
11.3.2 IK分词器的使用 297
11.4 索引浏览器Luke 299
11.4.1 Luke的功能及下载 299
11.4.2 Luke的用法 300
11.5 聊天机器人的实现 301
11.5.1 套用开发準备 301
11.5.2 封装资料库操作 301
11.5.3 封装聊天服务类 307
11.5.4 CoreService类的实现 311
11.5.5 套用启动时创建索引 313
11.5.6 部署套用及测试体验 314
11.6 小结 314
附录 返回码及接口调用次数说明 316
第1章 公众平台基础知识 1
1.1 公众平台简介 1
1.1.1 平台定位 1
1.1.2 发展历程 2
1.2 注册公众账号 3
1.2.1 公众账号的分类 3
1.2.2 注册账号所需资料 4
1.2.3 公众账号的注册流程 5
1.3 公众平台的使用 8
1.3.1 功能 9
1.3.2 管理 11
1.3.3 服务 14
1.3.4 统计 15
1.3.5 设定 16
1.4 公众账号认证 17
1.4.1 认证条件 18
1.4.2 微信认证流程 18
1.4.3 微博认证流程 19
1.5 小结 19
第2章 编辑模式的使用 20
2.1 编辑模式的套用场景 20
2.2 自动回复 20
2.2.1 被添加自动回复 21
2.2.2 讯息自动回复 22
2.2.3 关键字自动回复 22
2.2.4 自动回复优先规则 24
2.3 案例:简易号码簿 24
2.3.1 案例功能描述 25
2.3.2 数据準备 25
2.3.3 设计关注提示语 25
2.3.4 设计关键字规则 26
2.3.5 设定默认回复 28
2.3.6 测试体验 28
2.4 自定义选单 29
2.4.1 编辑选单 30
2.4.2 预览和发布选单 32
2.5 小结 33
第3章 开发模式的启用 34
3.1 开发模式的基础知识 34
3.1.1 启用开发模式的必备条件 34
3.1.2 套用引擎简介 34
3.1.3 开发工具介绍 35
3.2 开发请求校验程式 36
3.2.1 开发者文档介绍 37
3.2.2 明确请求校验流程 37
3.2.3 请求校验流程分析 38
3.2.4 请求校验程式的实现 40
3.2.5 本地测试 43
3.2.6 导出WAR包 44
3.3 BAE的使用 46
3.3.1 注册账号 46
3.3.2 创建套用 47
3.3.3 託管设定 47
3.3.4 部署套用 48
3.3.5 获取访问地址 49
3.4 启用开发模式的步骤 49
3.5 小结 51
第4章 讯息的接收与回响 52
4.1 讯息互动基础知识 52
4.1.1 讯息互动流程 52
4.1.2 讯息的分类 53
4.2 讯息结构的封装 54
4.2.1 封装请求讯息 54
4.2.2 封装事件 63
4.2.3 封装回响讯息 68
4.3 讯息的处理 79
4.3.1 Dom4j的使用 79
4.3.2 XStream的使用 80
4.3.3 解析请求讯息 83
4.3.4 回响讯息对象转XML 85
4.4 案例:讯息的接收与回响 88
4.4.1 开发準备工作 88
4.4.2 讯息封装类 88
4.4.3 封装讯息处理工具 89
4.4.4 使用CoreServlet类完成讯息的接收与回响 93
4.4.5 使用CoreService类完成讯息的处理 95
4.4.6 部署套用及测试体验 97
4.5 小结 98
第5章 自定义选单的使用 99
5.1 传送HTTPS请求 99
5.1.1 两种解决方法 99
5.1.2 自定义信任管理器 100
5.2 接口访问凭证 101
5.2.1 获取凭证接口介绍 101
5.2.2 获取凭证的方式 102
5.3 自定义选单接口 105
5.3.1 选单按钮的分类 105
5.3.2 选单结构说明 105
5.3.3 封装选单结构 106
5.3.4 案例:创建选单 109
5.3.5 选单的查询与删除 111
5.4 回响选单点击事件 111
5.5 接口调用频率限制 112
5.6 案例:网址导航 112
5.6.1 案例功能描述 113
5.6.2 案例开发準备 113
5.6.3 封装通用工具类 115
5.6.4 封装选单工具类 118
5.6.5 创建自定义选单 120
5.6.6 实现业务逻辑 123
5.6.7 部署套用及测试体验 125
5.7 小结 126
第6章 高级接口的使用 127
6.1 语音识别 127
6.1.1 开启语音识别功能 128
6.1.2 如何获取语音讯息 128
6.2 客服接口 129
6.2.1 接口描述 129
6.2.2 方法封装 131
6.2.3 案例:传送客服讯息 134
6.3 OAuth2.0网页授权 134
6.3.1 配置网页授权回调域名 135
6.3.2 网页授权流程 135
6.3.3 方法封装 139
6.3.4 案例:通过网页授权获取用户信息 145
6.4 生成带参数二维码 149
6.4.1 创建临时二维码 149
6.4.2 创建永久二维码 152
6.4.3 换取二维码 154
6.4.4 案例:通过ticket换取二维码 155
6.5 获取用户地理位置 155
6.5.1 开启获取用户地理位置功能 156
6.5.2 接收上报地理位置事件 156
6.6 获取用户基本信息 157
6.6.1 接口描述 157
6.6.2 方法封装 158
6.6.3 案例:获取用户基本信息 162
6.7 获取关注者列表 163
6.7.1 接口描述 163
6.7.2 方法封装 164
6.7.3 案例:获取公众账号关注者列表 166
6.8 用户分组接口 166
6.8.1 查询分组 167
6.8.2 创建分组 169
6.8.3 修改分组名 171
6.8.4 移动用户分组 173
6.9 上传及下载多媒体档案 174
6.9.1 上传多媒体档案接口描述 174
6.9.2 使用抓包工具分析档案上传请求 176
6.9.3 上传多媒体档案方法封装 179
6.9.4 下载多媒体档案 183
6.9.5 案例:上传及下载语音档案 184
6.10 小结 185
第7章 网路表情的使用 186
7.1 微信支持的网路表情 186
7.2 QQ表情 186
7.2.1 微信上的QQ表情代码 187
7.2.2 在微信上传送QQ表情 189
7.2.3 QQ表情的识别 190
7.2.4 回复QQ表情 191
7.2.5 案例:原样回复QQ表情 191
7.3 Emoji表情 192
7.3.1 微信上的Emoji表情编码 193
7.3.2 如何使用Emoji表情编码 196
7.3.3 案例:回复Emoji表情 196
7.4 小结 198
第8章 公众平台开发技巧 199
8.1 图文讯息使用详解 199
8.1.1 单图文讯息的实现 199
8.1.2 多图文讯息的实现 200
8.1.3 图文讯息使用注意事项 201
8.2 公众账号无回响的处理 202
8.2.1 公众账号无回响的几种情况 202
8.2.2 计算字元串所占位元组数 202
8.3 套用开发最佳实践 204
8.3.1 解析讯息创建时间 204
8.3.2 换行符的使用 205
8.3.3 网页超连结的使用 206
8.3.4 隐藏浏览器工具列 206
8.3.5 表情飘落效果 207
8.4 识别微信浏览器 208
8.4.1 判断微信浏览器 208
8.4.2 只允许微信浏览器访问 210
8.5 服务多个公众账号 211
8.5.1 公众账号託管平台原理 211
8.5.2 案例:服务两个公众账号 213
8.6 业务系统对接 214
8.6.1 简讯方式绑定账号 215
8.6.2 网页方式绑定账号 215
8.7 公众平台开发测试 215
8.8 小结 216
第9章 LBS套用开发实战:周边搜寻 217
9.1 “周边搜寻”功能及设计 217
9.1.1 使用方法 217
9.1.2 功能演示 217
9.1.3 需求分析 218
9.1.4 数据表设计 219
9.2 百度地图API的使用 220
9.2.1 百度地图API产品简介 220
9.2.2 申请访问密钥 221
9.2.3 Place API的使用 221
9.2.4 步行导航检索的使用 224
9.2.5 百度坐标转换 225
9.3 MySQL的使用 227
9.3.1 MySQL的下载与安装 228
9.3.2 MySQL的常用操作 228
9.3.3 JDBC的基本使用 232
9.3.4 案例:使用JDBC查询数据 234
9.4 BAE的MySQL服务 235
9.4.1 创建资料库 235
9.4.2 使用phpMyAdmin操作MySQL 237
9.4.3 案例:使用JDBC操作MySQL 237
9.5 “周边搜寻”套用实现 241
9.5.1 套用开发準备 241
9.5.2 封装资料库操作 241
9.5.3 封装百度地图操作 245
9.5.4 编写步行导航页面 251
9.5.5 CoreService类的实现 252
9.5.6 部署套用及测试体验 256
9.6 小结 257
第10章 游戏开发实战:猜数字 258
10.1 “猜数字”功能及设计 258
10.1.1 游戏规则 258
10.1.2 游戏术语 259
10.1.3 核心流程设计 259
10.1.4 数据表设计 259
10.2 “猜数字”游戏的实现 261
10.2.1 游戏开发準备 261
10.2.2 游戏算法封装 262
10.2.3 资料库操作封装 265
10.2.4 核心处理逻辑 273
10.2.5 CoreService类的实现 277
10.2.6 部署套用及测试体验 279
10.3 小结 280
第11章 智慧型聊天套用开发实战:聊天机器人 281
11.1 聊天机器人原理及设计 281
11.1.1 实现原理 281
11.1.2 数据表设计 283
11.2 全文检索引擎Lucene 285
11.2.1 Lucene的组成结构 286
11.2.2 倒排索引结构 286
11.2.3 索引和检索原理 288
11.2.4 常用API介绍 288
11.2.5 Lucene的评分机制 290
11.2.6 案例:使用Lucene索引和检索 291
11.3 中文分词 296
11.3.1 中文分词方法 296
11.3.2 IK分词器的使用 297
11.4 索引浏览器Luke 299
11.4.1 Luke的功能及下载 299
11.4.2 Luke的用法 300
11.5 聊天机器人的实现 301
11.5.1 套用开发準备 301
11.5.2 封装资料库操作 301
11.5.3 封装聊天服务类 307
11.5.4 CoreService类的实现 311
11.5.5 套用启动时创建索引 313
11.5.6 部署套用及测试体验 314
11.6 小结 314
附录 返回码及接口调用次数说明 316
读者对象
想学习Light APP、轻套用、微套用开发的人。
对微信公众平台感兴趣的人。
微信公众账号的管理者和运营者。
有编程经验,想转型做微信公众平台开发的人。
有微信公众平台开发经验,想进一步提升套用开发能力的人。