内容简介
第1篇 开发基础篇
第1章 认识微信公众平台
1.1微信公众平台
1.1.1微信公众平台与微信开放平台
1.1.2订阅号
1.1.3服务号
1.1.4企业号
1.1.5微信小程序
1.1.6测试号
1.2微信公众号注册
1.2.1准备申请资料
1.2.2选择账号类型
1.2.3基本信息
1.2.4选择类型
1.2.5邮箱激活
1.2.6信息登记
1.2.7完善公众号信息
1.2.8绑定运营者微信号
1.3微信公众号认证
1.3.1进入微信认证
1.3.2完成身份认证
1.3.3进入认证页面
1.3.4填写认证信息
1.3.5确认名称
1.3.6填写发票,核对信息
1.3.7费用支付
1.3.8完成认证申请,查看审核进度
1.4微信公众号管理
1.4.1增加开发者账号
1.4.2权限设置及频率限制
1.4.3获取AppID及AppSecret
1.4.4IP白名单
1.4.5小实例:“伊布空间装饰”公众号
第2章 平台开发基础入门
2.1JDK及JCE补丁部署
2.1.1安装JDK
2.1.2环境变量
2.1.3JCE安全策略补丁
2.2开发环境
2.2.1MyEclipse安装
2.2.2绑定中间件
2.2.3调整编译环境
2.3微信Web开发者工具
2.3.1开发工具安装
2.3.2授权微信Web开发者工具
2.3.3开发调试
2.4申请测试号
2.5JSON数据格式
2.5.1JSON数据介绍
2.5.2在页面中的应用
2.5.3在Java中的应用
2.5.4小实例:JSON对象转换
2.6XML数据格式
2.6.1XML数据介绍
2.6.2生成XML数据
2.6.3解析XML数据
2.6.4小实例:用户信息生成与解析
2.7HttpClients使用技巧
2.7.1发送Get请求
2.7.2发送Post请求
2.7.3获取请求结果数据流
2.7.4小实例:通过HttpClients实现网络爬虫数据抓取
2.8HttpURLConnection使用技巧
2.8.1发送JSON数据请求
2.8.2发送文件类型请求
2.8.3小实例:通过HttpURLConnection实现网络爬虫数据抓取
2.9Properties配置文件
2.9.1Properties文件介绍
2.9.2小实例:项目产品化配置信息
2.10在线接口调试
2.11发布外网服务
2.12综合实例:微信公众号开发入门之HelloWorld
第2篇 关键技术篇
第3章 主动调用推送信息
3.1主动调用模式介绍
3.2申请access token
3.2.1access token获取限制
3.2.2申请access token票据接口详细说明
3.2.3申请access token完整示例代码
3.3access token的缓存处理
3.3.1access token的缓存处理流程
3.3.2access token缓存处理完整示例代码
3.4封装主动调用类
3.5自定义菜单管理
3.5.1自定义菜单类型
3.5.2创建默认菜单
3.5.3创建个性化菜单
3.5.4查询菜单
3.5.5删除菜单
3.5.6小实例:开发自己的微信菜单实现创建、删除和查询功能
3.6素材管理
3.6.1接口说明
3.6.2上传素材文件
3.6.3获取素材文件
3.6.4上传永久图文消息
3.6.5删除永久素材
3.6.6修改永久图文素材
3.6.7获取素材总数
3.7群发消息
3.7.1消息说明与频率限制
3.7.2根据用户标签群发消息
3.7.3根据OpenID群发消息
3.7.4删除群发消息
3.7.5小实例:推送最新活动(“千里行”为爱而行)
3.8模板消息
3.8.1消息说明及运营规则
3.8.2获得模板ID
3.8.3推送模板消息
3.8.4自定义模板消息
3.8.5小实例:发送个人账单信息
3.9客服消息
3.9.1客服消息说明
3.9.2客服账号管理
3.9.3发送客服消息
3.9.4小实例:人工客服消息
第4章 接收回调消息
4.1消息接收说明
4.2开启消息回调模式
4.3加密/解密算法
4.4接收消息Dom解析
4.5消息响应Xstream转换
4.6接收普通消息
4.6.1接口说明
4.6.2接收文本消息
4.6.3接收图片消息
4.6.4接收音频消息
4.6.5接收位置消息
4.6.6接收小视频消息
4.6.7接收链接消息
4.6.8接收视频消息
4.7接收事件消息
4.7.1接口说明
4.7.2接收关注/取消关注事件
4.7.3接收地理位置事件
4.7.4接收菜单事件
4.8被动响应消息
4.8.1接口说明
4.8.2被动响应文字消息
4.8.3被动响应图片消息
4.8.4被动响应音频消息
4.8.5被动响应视频消息
4.8.6被动响应图文消息
4.9综合案例:微信机器人汤姆
第5章 微信网页JS-SDK的应用
5.1微信JS-SDK介绍
5.2平台接口接入
5.2.1配置JS接口安全域名
5.2.2配置网页授权域名
5.2.3配置业务域名
5.2.4引入微信JS文件
5.2.5通过confiig接口授权
5.2.6验证成功事件
【示例5-1】进入页面后立即隐藏右上角菜单按钮
5.2.7验证失败事件
5.3JS-SDK权限签名
5.3.1获取调用票据jsapi ticket
5.3.2生成JS-SDK权限验证签名
【示例5-2】权限验证签名
5.3.3页面confiig接口配置注入
5.4Debug调试与基础接口说明
5.4.1Debug调试模式开启
5.4.2接口通用函数
5.4.3小实例:查看微信版本情况
5.5常用接口应用
5.5.1GPS定位获取位置信息
5.5.2选择相机/相册图片
5.5.3页面判断iOS/Android微信
5.5.4语音智能接口
5.5.5微信扫一扫
5.5.6微信分享接口
5.5.7小实例:隐藏微信菜单
5.6微信JS-SDK接口说明
5.7二维码多码融合
5.7.1安卓/苹果APP下载码融合
5.7.2微信下载“空白页无响应”问题
5.7.3小实例:扫一扫三码合一
5.8高德地图的应用
5.8.1申请地图Key值
5.8.2个人开发者与企业开发者区别
5.8.3引入高德地图
5.8.4坐标转换
5.8.5关键字搜索
5.8.6其他接口服务
5.8.7小实例:地图“点聚合”
5.9地图语音导航
5.9.1微信内置地图语音导航
5.9.2腾讯地图语音导航
5.9.3百度地图语音导航
5.9.4高德地图语音导航
5.10ECharts在微信中的应用
5.10.1ECharts简介
5.10.2ECharts快速接入
【示例5-3】生成某产品每月销量柱形图
5.10.3ECharts知识扩展
5.10.4小实例:ECharts微信应用——某公司每月新增客户报表
5.11微信中的APP——单页面应用
5.11.1基于angularJS的onsenUI
5.11.2创建angularJS微信服务
【示例5-4】创建angularJS服务“判断是否用微信浏览器”和“获取url中参数”。
5.11.3SPA下JSAPI模式权限初始化
5.11.4SPA下获取OAuth2.0成员身份信息
5.11.5小实例:解决微信物理回退问题
5.12微信WebSocket开发
5.12.1WebSocket客户端
【示例5-5】在JS中使用new WebSocket开通客户端
5.12.2WebSocket服务端
【示例5-6】客户端通过注解中的uri连接到WebSocket
【示例5-7】编写程序检测WebSocket连接数量
5.13JS-SDK应用中常见问题及解决办法
第6章 综合案例:I’M朋友圈
6.1创建Action后台服务
6.2生成工具类WxUtil
6.3开发“朋友圈”页面
第3篇 支付开发篇
第7章 微信公众号支付
7.1微信支付介绍
7.2微信公众号支付申请
7.3开发配置
7.3.1配置商户密钥
7.3.2配置域名信息
7.3.3设置支付目录
7.4统一下单
7.4.1接口介绍
7.4.2订单签名
7.4.3小实例:微信支付下订单
7.5发起支付
7.5.1支付签名
7.5.2小实例:发起微信JS-H5支付
7.6支付结果
7.6.1同步通知
7.6.2异步通知
7.7获取对账单文件
7.7.1接口介绍
7.7.2账单签名
7.7.3小实例:下载微信账单
7.8小实例:在微信中发起支付宝支付
第8章 微信服务商支付
8.1微信服务商
8.1.1微信商户类型
8.1.2申请服务商
8.1.3服务商平台
8.2微信特约商户
8.2.1申请特约商户
8.2.2特约商户平台
8.3服务商开发配置
8.4服务商发起公众号支付
第9章 综合案例:开发一个微信水果购物平台
9.1创建实体类
9.2创建微信工具类
9.2.1消息工具类WxUtil
9.2.2微信支付工具类WxPayUtil
9.2.3MD5算法工具类
9.3微信下订单
9.3.1创建Servlet服务
9.3.2创建订单服务类
9.3.3创建下订单
9.3.4配置web.xml
9.4微信JS发起支付
第10章 综合案例:微信服务商“一号多卡”支付实现(生活缴费)
10.1创建配置文件获取特约商户
10.2创建服务商统一下单实体类
10.3下订单并生成支付签名
10.3.1创建订单页面
10.3.2创建servlet控制层
10.4发起H5支付
第4篇 运维实践篇
第11章 账号及用户管理
11.1微信公众账号管理
11.1.1生成带参数二维码
【示例11-1】生成个人推广二维码
11.1.2长链接转短链接
【示例11-2】分享简洁的商品推广链接
11.2标签管理
11.2.1创建标签
11.2.2删除标签
11.2.3查询所有标签
11.2.4编辑标签
11.2.5小实例:为用户设置特权标签
11.3公众号用户管理
11.3.1用户绑定标签
11.3.2用户取消绑定标签
11.3.3获取某一个用户下所有标签
11.3.4获取某一个标签下所有用户
11.3.5公众号用户黑名单
11.3.6获得用户基本信息
11.3.7小实例:用户身份设置及信息获取
11.4OAuth2.0身份验证
11.4.1获取code
11.4.2根据code获得成员信息
11.5浏览器类型安全访问
第12章 数据库及服务中间件
12.1常用SQL语句
12.1.1查询语句
【示例12-1】在数据库user表中作查询操作
12.1.2新增语句
【示例12-2】向user库表中插入一条数据
12.1.3更新(修改)语句
【示例12-3】修改user库表中user_id为muyunfei的手机号和邮箱
12.1.4删除语句
【示例12-4】删除user name为“牟云飞”的数据
12.2HQL语句基础语法
12.3HQL方言处理
12.4Tomcat服务中间件
12.4.1Tomcat在SDK中部署
12.4.2 8080端口号冲突解决(Tomcat)
12.4.3Tomcat内存调整
12.4.4Tomcat中数据缓存清理
12.5JBoss服务中间件
12.5.1JBoss在SDK中部署
12.5.2 8080端口号冲突解决(JBoss)
12.5.3JBoss内存调整
12.5.4JBoss中数据缓存清理
12.6WebLogic服务中间件
12.6.1域的创建
12.6.2WebLogic在SDK中部署
12.6.3 7001端口号冲突解决
12.6.4WebLogic中数据缓存清理
第5篇 综合实战篇
第13章 综合案例:网上营业厅
13.1用户详细需求
13.2软件设计
13.2.1业务办理流程
13.2.2数据模型
13.3技术点梳理与难点攻克
13.4开发实现
13.4.1部署SSH框架
13.4.2创建Properties配置文件
13.4.3创建微信工具类
13.4.4设置常量类
13.4.5生成实体类
13.4.6编写回调服务
13.4.7创建数据访问层服务
13.4.8创建业务逻辑层服务
13.4.9服务跳转
13.4.10创建网上营业厅页面
13.5开启回调模式
13.6绑定可信域名
13.7网上营业厅应用菜单
13.8本章小结
附录一 全局返回码说明
附录二 行业代码查询