《微信公众平台应用开发实战》是微信公众平台应用开发领域的经典著作,作者是腾讯公司的资深软件开发工程师,而且是微信公众平台应用开发的先驱者之一。本书全面介绍了微信公众平台应用开发所需的各项技术,系统解读了微信公众平台开放的API和各项高级功能,逐步讲解了微信公众平台应用开发的流程、方法和技巧。注重实战,不仅通过3个实战案例呈现了娱乐型、应用型、游戏型应用的完整开发过程,还实现了一个快速开发公众平台应用的框架,读者可以直接用于快速开发自己的公众平台应用。
《微信公众平台应用开发实战》一共9章,在逻辑上分为四大部分:第一部分(第1章)介绍了微信公众平台的开发模式、数据交互方式,以及开发公众平台应用所需要的各项技术;第二部分(第2~4章)首先详细讲解了微信公众平台开放的所有API的功能特性及使用方法,然后实现了一个快速开发公众平台应用的框架,这个框架可供读者直接使用;第三部分(第5~7章)以迭代的方式讲解了3个实战案例的完整开发过程,这3个实战案例涉及的应用分别是娱乐型、应用型和游戏型的,其中应用型实战案例用到了人脸识别等技术;第四部分(第8~9章)详细探讨了应对海量请求和恶意请求的方法,这是企业运营公众账号(尤其是服务号)时容易忽视的,但也是应该重点关注的。
前 言
第1章 搭建开发环境和相关技术介绍
1.1 微信公众平台简介
1.2 公众平台开发模式的数据交互方式
1.3 AppServ的安装与配置
1.4 zendstudio的安装与配置
1.5 相关技术介绍
1.5.1 PHP
1.5.2 HTTP
1.5.3 XML
1.5.4 MySQL
1.5.5 HTML5
1.6 小结
第2章 微信公众平台API详解
2.1 网址接入
2.1.1 接口配置信息
2.1.2 Token验证
2.2 接收用户信息
2.2.1 文本消息
2.2.2 图片消息
2.2.3 地理位置消息
2.2.4 链接消息
2.3 向用户回复消息
2.3.1 回复文本消息
2.3.2 回复音乐消息
2.3.3 回复图文消息
2.4 事件推送
2.5 会话界面自定义菜单
2.5.1 获取凭证的方法
2.5.2 自定义菜单的创建
2.5.3 自定义菜单的获取
2.5.4 自定义菜单的删除
2.5.5 菜单相关接口的限制
2.6 小结
第3章 开发你的
第一个应用-echo server
3.1 实现网址接入
3.2 解析用户输入并组装返回
3.3 错误处理
3.4 封装代码
3.4.1 日志封装
3.4.2 一个简单的框架
3.4.3 数据库访问封装
3.5 小结
第4章 带自定义菜单的echo server
4.1 在编辑模式中使用自定义菜单
4.2 使用CURL发送HTTP请求
4.2.1 使用CURL发送请求的基本流程
4.2.2 获取CURL请求的输出信息
4.2.3 使用CURL发送GET请求
4.2.4 使用CURL发送POST请求
4.2.5 使用CURL上传文件
4.3 获取access_token
4.4 自定义菜单的操作
4.5 实现带自定义菜单的echo server
4.6 小结
第5章 实战案例1:娱乐性图片应用-“每日十幅图”
5.1 需求和交互描述
5.2 技术方案
5.2.1 为什么使用问号
5.2.2 为什么使用图文消息
5.2.3 表设计
5.2.4 批量重命名
5.3 代码实现
5.3.1 常量定义
5.3.2 成员变量和初始化
5.3.3 主业务逻辑
5.3.4 总代码清单
5.4 小结
第6章 实战案例2:人脸识别应用--findface
6.1 需求和交互描述
6.2 人脸识别基本概念
6.3 人脸识别OPENAPI
6.4 数据库表设计
6.5 后台逻辑设计
6.6 代码实现
6.6.1 配置定义部分
6.6.2 Face++接口封装部分
6.6.3 Group的创建和训练
6.6.4 findface主逻辑
6.7 把照片保存到本地
6.8 小结
第7章 实战案例3:趣味游戏-命运左轮
7.1 游戏过程
7.2 数据表设计
7.3 自定菜单设计
7.4 具体代码实现
7.4.1 AbstractInterface.php
7.4.2 WeChatCallBackMYZL.php
7.4.3 Ready.php
7.4.4 Start.php
7.4.5 ChipIn.php
7.4.6 PutMagic.php
7.4.7 Shoot.php
7.4.8 GetOp.php
7.4.9 AddUser.php
7.4.10 Matcher.php
7.5 运行截图
7.6 小结
第8章 海量请求的应对方法
8.1 影响公众账号的响应速度的因素
8.1.1 网络时延
8.1.2 请求处理时间
8.2 使用高性能的Web组件
8.2.1 安装
8.2.2 配置和运行
8.2.3 ab测试
8.3 监控服务器的各项指标
8.3.1 top命令
8.3.2 vmstat和sar命令
8.3.3 netstat命令
8.3.4 Nmon监控
8.4 使用缓存系统
8.4.1 Redis简介
8.4.2 Redis的使用和性能对比
8.5 数据库的备份和扩展
8.5.1 主从复制和读写分离
8.5.2 数据库的垂直划分和水平划分
8.6 接入层反向代理
8.7 小结
第9章 恶意请求的应对方法
9.1 URL访问限制
9.2 防止SQL注入
9.3 用户输入导致XML格式错误
9.4 PHP安全
9.5 DDOS简介
9.5.1 SYN flood
9.5.2 应用层DDOS
9.5.3 ReDOS
9.6 小结
《简约之美:软件设计之道》将软件设计作为一门严谨的科学,阐述了开发出优雅简洁的代码所应该遵循的基本原则。作者从为什么以前软
LearnJavaScriptandjQueryanicerwayThisfull-colorbookadoptsavisualapproachtoteachi...
Computerscienceasanengineeringdisciplinehasbeenspectacularlysuccessful.Yetitisal...
《手把手教你学C语言》内容简介:本书是学习C语言的入门书籍,内容非常全面,包含C语言基础知识、流程控制、数组、函数、指针、字符
《写给大忙人看的Java核心技术》为经典著作CoreJava作者CayS.Horstmann的全新力作,以关键的核心技术为着眼点,以全局高度提炼语
Ifyouveeverbeenintroducedtoanewemployeeattheofficeas"theguywhogotdrunkattheChris...
《中国美学通史(第2卷·汉代卷)》内容简介:《中国美学通史》是关于中国历史上美学思想的发展史,它不同于审美文化史、审美风尚史
《智能手机Web标准开发实战:为iPhone、Android、PalmPre、BlackBerry、WindowsMobile及NokiaS60开发通用的基于J...
《鲁迅信札藏笺》内容简介:邹晏清、詹秋洁两位上海鲁迅纪念馆研究人员编著的这册《鲁迅信札藏笺》,通过原件展示,解读鲁迅的亲笔
《Java网络编程》第三版会为你介绍Java网络API的最新特性。本书讨论了JDK1.4和1.5(现在已命名为J2SE5)中所做的所有修改和增补。
ItseasytowritecorrectRubycode,buttogainthefluencyneededtowritegreatRubycode,youm...
Thisbookprovidesthetheory,practicaldetails,andtoolsnecessaryforbuildingvisualiza...
《动态智力:儿童思维训练家庭解决方案(6-7岁)》内容简介:教具简单易收纳,两套教具(mathlink+研发棋牌)研发上百种玩法,亲子
《写给设计师的技术书》内容简介:随着人机交互和人工智能技术在各个领域的快速发展,设计师需要从基于屏幕的图形用户界面设计思维
数字摄影教程 本书特色 《新世纪高等学校摄影及相关专业通用教材:数字摄影教程》作者将与青年学生们一起共同讨论数字摄影的基本知识,并探索数字摄影的奥秘。《新世纪高...
《智慧工业互联网》内容简介:本书对“互联网、人工智能、大数据”时代的内涵进行了解读,分析了工业云产生的背景,提出了工业云的
《国家工业遗产洞窝水电站研究》内容简介:泸州洞窝水电站是中国近代史上第一个由中国人自主研发的水电站,2019年被评选为国家工业
《激活个体》内容简介:管理是否到了终结的时候了?曾经的时代巨人都显得非常力不从心,那些原来成功的管理模式,如今都成为了企业
C++程序设计-(计算机及应用专业)(独立本科段)(2008年版)(附:C++程序设计自学考试大纲) 内容简介 作为我国高等教育组成部分的自学考试,其职责就是在...
《劫持》内容简介:《劫持》是一本探讨人与科技的关系的书,基于一位心理学博士20年的临床经验及其作为神经认知科学研究者的脑—电