《微信公众平台应用开发实战》是微信公众平台应用开发领域的经典著作,作者是腾讯公司的资深软件开发工程师,而且是微信公众平台应用开发的先驱者之一。本书全面介绍了微信公众平台应用开发所需的各项技术,系统解读了微信公众平台开放的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 小结
作者简介:SimonBrown全球知名软件架构独立咨询师、讲师,创办了专门讨论软件架构问题的网站“编码架构”(codingthearchitectur
《智能制造消费品工业方案(轻工篇)》内容简介:2015年以来,消费品工业各行业积极开展智能化改造升级,工业和信息化部认定了一批
WPS之光:全能一本通Office办公三合一 本书特色 适读人群 :职场办公人员、金山办公CEO & 高级VP官方推荐,国人办公就用国民软件WPS Office...
《一本书学会做数据分析:成功商务人士案头必备》结合具体的商务实例对Excel软件和数据分析进行了详细介绍,在分析实例的同时,还
C++编程风格 内容简介 本书描述C语言中较深层次的程序设计思想和使用方法,包含大量软件工程概念和设计模式,重点介绍大规模编程相关的内容。C++编程风格 目录 ...
本书由最基本的HTML语法开始讲解网页设计的基础技术,详细介绍了各种网页制作的标记;然后介绍如何运用CSS控制网页画面中文字与图
本书系统、深入地介绍了通信系统及通信网的基本原理及基本分析方法,是通信及信息专业的专业基础课教材。全书共二十一章,内容包
《古笺风雅:醉花阴》内容简介:笺纸多用于古代书信,是文人雅士通信的信纸。随着雕版印刷技术的提高,笺纸上描绘的山水、花鸟、奇
掌握需求过程-(第2版) 本书特色 本书论述了软件开发中的重要课题—如何得到正确需求,书中用一个接一个的步骤、一个接一个的模板、一个接一个的例子,向读者展示了经...
面向智能制造的多机器人系统任务分配研究 本书特色 王友发*的《面向智能制造的多机器人系统任务分配研究》在结合机器人能力矩阵及任务角色需求的基础上,提出了一种通用...
本书内容包括:背景、DNS是如何工作的、建立BIND、DNS和电子邮件、培植主机、维护BIND、扩展你的域、用解析器和名字服务器的库例
《物联网项目实战》内容简介:《物联网项目实战基于Android Things系统》介绍如何使用Android Things完成实际的物联网项目,主要内
多媒体应用技术 内容简介 本书从多媒体的构成要素入手,全面系统地介绍了各种素材的采集、编辑和应用,主要介绍了当前比较流行的多媒体应用软件,如C00L 3D、 P...
MATLAB工程应用仿真 本书特色 张德丰、杨文茵编著的《MATLAB工程应用仿真》介绍了MATLAB高级应用技术。全书共分9章,各章中的主要内容如下:第1章简...
《LabVIEW大学实用教程(第3版)》主要内容:LabVIEW是一种图形化编程语言,广泛用于仿真、数据采集、仪器控制、测量分析和数据显示
In"NecklaceofSkulls,"alow-graderevolutionhasbrokenoutontheCaliforniaborderwithMe...
Thebest-sellingguidetoovercomingcreativeblocksandunleashingatorrentofgreatideas-...
《我有所念人,隔在远远乡》内容简介:在古代,有许许多多让人赞佩的女子,她们聪慧卓绝、精神独立;她们的人生经历让今人津津乐道
《癌症患者怎么吃》内容简介:作者拥有十年中美临床营养工作经验,深知癌症患者在康复过程中离不开健康的饮食,科学的营养支持,从
《计算机系统解密:从理解计算机到编写高效代码》内容简介:本书分为三部分。第1部分探讨了计算机硬件,包括内部语言、组合逻辑、顺