全书一共11章:第1章介绍了微信公众平台的基础知识,包括账号的注册、使用、认证和特权等内容;第2章和第3章分别讲解了编辑模式和开发模式的使用细节;第4章和第5章详细讲解了消息接口和特权接口的封装;第6章讲解了消息的接收与响应;第7章讲解了表情的使用;第8章讲解了图文消息、语音识别、业务系统对接等实战内容;第9章讲解了如何调用百度地图API来开发相关的应用;第10章和第11章是两个完整的案例,分别讲解了天气预报应用和聊天机器人的开发过程。
封面图
目录
- 前言
- 第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.3BAE的使用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 响应消息对象转XML85
- 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.3OAuth2.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.2QQ表情186
- 7.2.1微信上的QQ表情代码187
- 7.2.2在微信上发送QQ表情189
- 7.2.3QQ表情的识别190
- 7.2.4回复QQ表情191
- 7.2.5案例:原样回复QQ表情191
- 7.3Emoji表情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.3Place API的使用221
- 9.2.4步行导航检索的使用224
- 9.2.5百度坐标转换225
- 9.3MySQL的使用227
- 9.3.1MySQL的下载与安装228
- 9.3.2MySQL的常用操作228
- 9.3.3JDBC的基本使用232
- 9.3.4案例:使用JDBC查询数据234
- 9.4BAE的MySQL服务235
- 9.4.1创建数据库235
- 9.4.2使用phpMyAdmin操作MySQL237
- 9.4.3案例:使用JDBC操作MySQL237
- 9.5“周边搜索”应用实现241
- 9.5.1应用开发准备241
- 9.5.2封装数据库操作241
- 9.5.3封装百度地图操作245
- 9.5.4编写步行导航页面251
- 9.5.5CoreService类的实现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.5CoreService类的实现277
- 10.2.6部署应用及测试体验279
- 10.3小结280
- 第11章智能聊天应用开发实战:聊天机器人281
- 11.1聊天机器人原理及设计281
- 11.1.1实现原理281
- 11.1.2数据表设计283
- 11.2全文检索引擎Lucene285
- 11.2.1Lucene的组成结构286
- 11.2.2倒排索引结构286
- 11.2.3索引和检索原理288
- 11.2.4常用API介绍288
- 11.2.5Lucene的评分机制290
- 11.2.6案例:使用Lucene索引和检索291
- 11.3中文分词296
- 11.3.1中文分词方法296
- 11.3.2IK分词器的使用297
- 11.4索引浏览器Luke299
- 11.4.1Luke的功能及下载299
- 11.4.2Luke的用法300
- 11.5聊天机器人的实现301
- 11.5.1应用开发准备301
- 11.5.2封装数据库操作301
- 11.5.3封装聊天服务类307
- 11.5.4CoreService类的实现311
- 11.5.5应用启动时创建索引313
- 11.5.6部署应用及测试体验314
- 11.6小结314
- 附录返回码及接口调用次数说明316