第1章 微信公众平台简介 1
1.1 微信:连接一切 1
1.1.1 物联网 1
1.1.2 二维码革命 2
1.2 认识微信公众平台 4
1.2.1 大事记 4
1.2.2 分类:服务号与订阅号 5
1.2.3 微信认证 6
1.2.4 公众号运营 7
1.2.5 微社区 8
1.2.6 微信公众平台管理后台 9
1.3 本章小结 10
第2章 编辑模式及微信公众号 11
2.1 开启编辑模式 11
2.2 自动回复消息 12
2.2.1 开启自动回复 12
2.2.2 被添加自动回复 13
2.2.3 消息自动回复 14
2.2.4 关键词自动回复 15
2.2.5 自动回复优先规则 16
2.3 自定义菜单 17
2.3.1 设置自定义菜单 18
2.3.2 设置动作 19
2.4 投票 21
2.5 案例分析 23
2.5.1 利用自动回复实现我的书目功能 23
2.5.2 自定义菜单的典型案例:小道消息 25
2.6 本章小节 26
第3章 搭建开发环境 27
3.1 启用公众平台开发模式 27
3.1.1 申请网址接入 28
3.1.2 数据交换方式 29
3.1.3 接口列表 30
3.2 SAE环境搭建 32
3.2.1 应用创建 32
3.2.2 搭建本地开发环境 37
3.2.3 SAE常用服务 40
3.3 BAE环境搭建 43
3.3.1 创建工程 44
3.3.2 BAE常用服务 46
3.4 开发第一个应用 46
3.4.1 下载PHP SDK 47
3.4.2 微信公众平台接口测试账号申请 47
3.4.3 上传服务器 48
3.4.4 扫描二维码 49
3.5 本章小节 50
第4章 消息接口API 51
4.1 开发者模式接入 51
4.2 基础支持 52
4.2.1 申请测试账号 52
4.2.2 获取access_token 53
4.3 接收消息 55
4.3.1 文本消息 56
4.3.2 图片消息 57
4.3.3 语音消息 59
4.3.4 地理位置消息 60
4.3.5 链接消息 61
4.3.6 公众平台消息体签名及加解密 64
4.4 接收事件消息 65
4.4.1 关注\取消关注事件 65
4.4.2 扫描二维码事件 66
4.4.3 上报地理位置事件 68
4.4.4 自定义菜单事件 70
4.5 回复消息 71
4.5.1 回复文本消息 71
4.5.2 回复图片消息 72
4.5.3 回复语音消息 73
4.5.4 回复视频消息 74
4.5.5 回复音乐消息 76
4.5.6 回复图文消息 78
4.6 生成带参数的二维码 81
4.6.1 创建二维码ticket 81
4.6.2 通过ticket换取二维码 83
4.7 客服接口 84
4.8 语音识别 87
4.8.1 让微信听懂你的话 87
4.8.2 翻译助手 88
4.9 本章小节 92
第5章 高级接口 93
5.1 自定义菜单 93
5.1.1 自定义菜单的创建 94
5.1.2 自定义菜单的查询和删除 97
5.2 上传下载多媒体文件 97
5.2.1 上传多媒体文件 97
5.2.2 下载多媒体文件 99
5.2.3 测试案例 100
5.3 用户管理 101
5.3.1 管理分组 101
5.3.2 获取用户基本信息 107
5.3.3 获取关注者列表 109
5.4 获取用户地理位置 111
5.5 OAuth2.0网页授权 112
5.5.1 配置授权回调域名 113
5.5.2 OAuth2.0授权流程 114
5.5.3 代码实现 117
5.5.4 案例 119
5.6 高级群发接口 120
5.6.1 上传图文消息素材 121
5.6.2 根据分组进行群发 123
5.6.3 根据OpenID列表群发 128
5.6.4 删除群发 129
5.6.5 事件推送群发结果 129
5.7 多客服功能 131
5.8 微信小店 133
5.9 模板消息 134
5.9.1 创建模板 135
5.9.2 发送模板消息 135
5.10 企业号 136
5.10.1 申请企业号 137
5.10.2 组织架构 138
5.10.3 发送通知 139
5.11 本章小节 139
第6章 微信内置浏览器Weixin JS接口 140
6.1 微信浏览器 140
6.1.1 特征 141
6.1.2 WeixinJSBridge 142
6.2 WeixinJSBridge使用说明 144
6.2.1 WeixinJSBridge接口一览 145
6.2.2 界面接口 145
6.2.3 分享接口 148
6.2.4 监听事件 150
6.2.5 功能接口 152
6.2.6 第三方APP接口 153
6.3 案例 155
6.3.1 WeixinJSBridge的加载顺序 156
6.3.2 隐藏/显示WebView右上角的分享按钮 156
6.3.3 隐藏/显示WebView底部的导航栏 158
6.3.4 跳转到扫描二维码界面 160
6.3.5 关闭WebView 161
6.3.6 发邮件 163
6.3.7 图片预览 164
6.4 本章小节 166
第7章 微信JS-SDK 167
7.1 微信JS-SDK简介 167
7.2 微信内置浏览器特征 169
7.3 JS-SDK的使用 171
7.3.1 JS接口安全域名 171
7.3.2 微信客户端版本要求 172
7.4 在SAE上使用JS-SDK 172
7.5 本章小节 176
第8章 餐厅管家 177
8.1 功能设计 178
8.1.1 需求分析 178
8.1.2 功能演示 179
8.1.3 注意事项 182
8.2 “餐厅管家”的实现一 183
8.2.1 自定义菜单 183
8.2.2 数据库操作类封装 185
8.2.3 微信消息接口 195
8.3 “餐厅管家”的实现二:预约管理 203
8.3.1 数据表设计 203
8.3.2 流程设计 204
8.3.3 网页与样式 206
8.3.4 预约页面 206
8.3.5 我的预约页面 210
8.4 “餐厅管家”的实现三:菜单管理 211
8.4.1 数据表设计 211
8.4.2 菜单展示页面 212
8.4.3 菜单管理后台 214
8.5 “餐厅管家”的实现四:二维码优惠券 214
8.5.1 数据库设计 214
8.5.2 生成二维码优惠券 215
8.5.3 优惠券列表 218
8.5.4 使用优惠券 221
8.5.5 利用WebSocket实现信息推送 224
8.6 “餐厅管家”的实现五:路线导航 227
8.6.1 腾讯地图API 227
8.6.2 数据库设计 228
8.6.3 添加饭店位置 229
8.6.4 获取用户位置 232
8.6.5 路径选择算法 234
8.7 本章小结 239
第9章 微商城 241
9.1 抽奖系统 241
9.1.1 前端展示 241
9.1.2 抽奖动画 243
9.1.3 中奖概率 243
9.1.4 抽奖控制逻辑 245
9.1.5 数据表设计 246
9.1.6 代码实现 247
9.2 微信支付 251
9.2.1 微信支付介绍 251
9.2.2 JS API支付 253
9.2.3 安全支付 257
9.2.4 订单查询 260
9.3 微信小店 262
9.3.1 认识微信小店 262
9.3.2 开店五步 263
9.4 多客服功能 267
9.4.1 服务开通 267
9.4.2 添加客服工号 268
9.4.3 在电脑上使用多客服 269
9.4.4 在微信上使用多客服 270
9.5 本章小结 271
第10章 微酒店 272
10.1 微酒店功能及设计 272
10.1.1 功能 272
10.1.2 数据库设计 273
10.2 功能实现 274
10.2.1 自定义菜单 274
10.2.2 消息处理 275
10.2.3 位置消息 276
10.2.4 附近酒店 278
10.2.5 预定酒店页面 280
10.2.6 用户注册页面 284
10.2.7 添加订单页面 286
10.2.8 我的订单页面 288
10.2.9 退订 291
10.2.10 订单后台管理 292
10.2.11 我的会员卡 295
10.3 本章小节 297
第11章 游戏开发:谁是卧底 298
11.1 谁是卧底功能及设计 298
11.1.1 游戏规则 298
11.1.2 核心流程 299
11.1.3 数据表设计 299
11.2 代码实现 300
11.2.1 消息判断 300
11.2.2 创建游戏 302
11.2.3 创建房间 302
11.2.4 换词 305
11.2.5 改词 306
11.2.6 加入房间 306
11.2.7 后台操作 308
11.3 效果展示 308
11.4 本章小节 309