新書推薦:
《
打好你手里的牌(斯多葛主义+现代认知疗法,提升当代人的心理韧性!)
》
售價:NT$
301.0
《
新时代硬道理 广东寻路高质量发展
》
售價:NT$
352.0
《
6S精益管理实战(精装版)
》
售價:NT$
458.0
《
异域回声——晚近海外汉学之文史互动研究
》
售價:NT$
500.0
《
世界文明中的作物迁徙:聚焦亚洲、中东和南美洲被忽视的本土农业文明
》
售價:NT$
454.0
《
无端欢喜
》
售價:NT$
347.0
《
股票大作手操盘术
》
售價:NT$
245.0
《
何以中国·何谓唐代:东欧亚帝国的兴亡与转型
》
售價:NT$
398.0
|
編輯推薦: |
(1)侧重于落地实践,36个小实例 6个综合案例,精炼讲解搭配翔实代码注释,力求衔接平台搭建、微信支付开发与数据运维整体开发流程。(2)透彻解析微信支付开发与实现。
(3)翔实阐述账号管理和数据安全访问
|
內容簡介: |
微信公众平台商业应用搭建、支付开发与运维实践着眼于微信公众平台在商业应用方面的系统全面开发。以实战开发为原则,从微信公众平台开发环境搭配到项目实施部署,学习微信公众号开发完整流程。除此之外,本书重点在微信公众平台的支付开发和运维方面做了结合实践的详细阐述。
|
關於作者: |
高级架构师,资深产品经理。首批参与微信企业号开发的人员,其文章被CSDN微信企业号知识库首批收录。?多个千万级项目的需求调研、研发、实施部署工作实战经验。
|
目錄:
|
第1篇 开发基础篇
第1章 认识微信公众平台 1
1.1 微信公众平台 1
1.1.1 微信公众平台与微信开放平台 1
1.1.2 订阅号 2
1.1.3 服务号 2
1.1.4 企业号 3
1.1.5 微信小程序 4
1.1.6 测试号 4
1.2 微信公众号注册 4
1.2.1 准备申请资料 5
1.2.2 选择账号类型 5
1.2.3 基本信息 6
1.2.4 选择类型 6
1.2.5 邮箱激活 7
1.2.6 信息登记 7
1.2.7 完善公众号信息 10
1.2.8 绑定运营者微信号 10
1.3 微信公众号认证 11
1.3.1 进入微信认证 11
1.3.2 完成身份认证 12
1.3.3 进入认证页面 12
1.3.4 填写认证信息 12
1.3.5 确认名称 13
1.3.6 填写发票,核对信息 13
1.3.7 费用支付 14
1.3.8 完成认证申请,查看审核进度 15
1.4 微信公众号管理 15
1.4.1 增加开发者账号 15
1.4.2 权限设置及频率限制 16
1.4.3 获取AppID及AppSecret 17
1.4.4 IP白名单 17
1.4.5 小实例:伊布空间装饰公众号 18
第2章 平台开发基础入门 20
2.1 JDK及JCE补丁部署 20
2.1.1 安装JDK 21
2.1.2 环境变量 22
2.1.3 JCE安全策略补丁 24
2.2 开发环境 25
2.2.1 MyEclipse安装 25
2.2.2 绑定中间件 26
2.2.3 调整编译环境 28
2.3 微信Web开发者工具 29
2.3.1 开发工具安装 29
2.3.2 授权微信Web开发者工具 30
2.3.3 开发调试 31
2.4 申请测试号 32
2.5 JSON数据格式 33
2.5.1 JSON数据介绍 33
2.5.2 在页面中的应用 34
2.5.3 在Java中的应用 34
2.5.4 小实例:JSON对象转换 36
2.6 XML数据格式 37
2.6.1 XML数据介绍 37
2.6.2 生成XML数据 37
2.6.3 解析XML数据 38
2.6.4 小实例:用户信息生成与解析 39
2.7 HttpClients使用技巧 41
2.7.1 发送Get请求 42
2.7.2 发送Post请求 43
2.7.3 获取请求结果数据流 44
2.7.4 小实例:通过HttpClients实现网络爬虫数据抓取 45
2.8 HttpURLConnection使用技巧 46
2.8.1 发送JSON数据请求 46
2.8.2 发送文件类型请求 48
2.8.3 小实例:通过HttpURLConnection实现网络爬虫数据抓取 49
2.9 Properties配置文件 50
2.9.1 Properties文件介绍 50
2.9.2 小实例:项目产品化配置信息 51
2.10 在线接口调试 51
2.11 发布外网服务 53
2.12 综合实例:微信公众号开发入门之HelloWorld 53
第2篇 关键技术篇
第3章 主动调用推送信息 58
3.1 主动调用模式介绍 58
3.2 申请access_token 60
3.2.1 access_token获取限制 61
3.2.2 申请access_token票据接口详细说明 61
3.2.3 申请access_token完整示例代码 62
3.3 access_token的缓存处理 64
3.3.1 access_token的缓存处理流程 64
3.3.2 access_token缓存处理完整示例代码 65
3.4 封装主动调用类 67
3.5 自定义菜单管理 73
3.5.1 自定义菜单类型 74
3.5.2 创建默认菜单 74
3.5.3 创建个性化菜单 76
3.5.4 查询菜单 78
3.5.5 删除菜单 80
3.5.6 小实例:开发自己的微信菜单实现创建、删除和查询功能 80
3.6 素材管理 83
3.6.1 接口说明 83
3.6.2 上传素材文件 83
3.6.3 获取素材文件 87
3.6.4 上传永久图文消息 90
3.6.5 删除永久素材 93
3.6.6 修改永久图文素材 94
3.6.7 获取素材总数 96
3.7 群发消息 97
3.7.1 消息说明与频率限制 97
3.7.2 根据用户标签群发消息 98
3.7.3 根据OpenID群发消息 102
3.7.4 删除群发消息 104
3.7.5 小实例:推送最新活动(千里行为爱而行) 106
3.8 模板消息 113
3.8.1 消息说明及运营规则 113
3.8.2 获得模板ID 114
3.8.3 推送模板消息 117
3.8.4 自定义模板消息 120
3.8.5 小实例:发送个人账单信息 122
3.9 客服消息 125
3.9.1 客服消息说明 125
3.9.2 客服账号管理 127
3.9.3 发送客服消息 129
3.9.4 小实例:人工客服消息 133
第4章 接收回调消息 136
4.1 消息接收说明 136
4.2 开启消息回调模式 138
4.3 加密解密算法 142
4.4 接收消息Dom解析 145
4.5 消息响应Xstream转换 148
4.6 接收普通消息 151
4.6.1 接口说明 151
4.6.2 接收文本消息 154
4.6.3 接收图片消息 154
4.6.4 接收音频消息 155
4.6.5 接收位置消息 157
4.6.6 接收小视频消息 158
4.6.7 接收链接消息 159
4.6.8 接收视频消息 160
4.7 接收事件消息 161
4.7.1 接口说明 161
4.7.2 接收关注取消关注事件 162
4.7.3 接收地理位置事件 163
4.7.4 接收菜单事件 165
4.8 被动响应消息 170
4.8.1 接口说明 170
4.8.2 被动响应文字消息 171
4.8.3 被动响应图片消息 173
4.8.4 被动响应音频消息 175
4.8.5 被动响应视频消息 176
4.8.6 被动响应图文消息 176
4.9 综合案例:微信机器人汤姆 177
第5章 微信网页JS-SDK的应用 186
5.1 微信JS-SDK介绍 186
5.2 平台接口接入 187
5.2.1 配置JS接口安全域名 187
5.2.2 配置网页授权域名 188
5.2.3 配置业务域名 189
5.2.4 引入微信JS文件 189
5.2.5 通过config接口授权 190
5.2.6 验证成功事件 190
【示例5-1】进入页面后立即隐藏右上角菜单按钮 190
5.2.7 验证失败事件 190
5.3 JS-SDK权限签名 190
5.3.1 获取调用票据jsapi_ticket 191
5.3.2 生成JS-SDK权限验证签名 193
【示例5-2】权限验证签名 193
5.3.3 页面config接口配置注入 194
5.4 Debug调试与基础接口说明 195
5.4.1 Debug调试模式开启 195
5.4.2 接口通用函数 196
5.4.3 小实例:查看微信版本情况 196
5.5 常用接口应用 197
5.5.1 GPS定位获取位置信息 197
5.5.2 选择相机相册图片 199
5.5.3 页面判断iOSAndroid微信 200
5.5.4 语音智能接口 201
5.5.5 微信扫一扫 202
5.5.6 微信分享接口 203
5.5.7 小实例:隐藏微信菜单 204
5.6 微信JS-SDK接口说明 206
5.7 二维码多码融合 207
5.7.1 安卓苹果APP下载码融合 207
5.7.2 微信下载空白页无响应问题 208
5.7.3 小实例:扫一扫三码合一 210
5.8 高德地图的应用 211
5.8.1 申请地图Key值 211
5.8.2 个人开发者与企业开发者区别 213
5.8.3 引入高德地图 214
5.8.4 坐标转换 215
5.8.5 关键字搜索 216
5.8.6 其他接口服务 217
5.8.7 小实例:地图点聚合 219
5.9 地图语音导航 223
5.9.1 微信内置地图语音导航 223
5.9.2 腾讯地图语音导航 223
5.9.3 百度地图语音导航 225
5.9.4 高德地图语音导航 226
5.10 ECharts在微信中的应用 228
5.10.1 ECharts简介 228
5.10.2 ECharts快速接入 229
【示例5-3】生成某产品每月销量柱形图 230
5.10.3 ECharts知识扩展 231
5.10.4 小实例:ECharts微信应用某公司每月新增客户报表 233
5.11 微信中的APP单页面应用 237
5.11.1 基于angularJS的onsenUI 237
5.11.2 创建angularJS微信服务 238
【示例5-4】创建angularJS服务判断是否用微信浏览器
和获取url中参数。 238
5.11.3 SPA下JSAPI模式权限初始化 239
5.11.4 SPA下获取OAuth2.0成员身份信息 240
5.11.5 小实例:解决微信物理回退问题 241
5.12 微信WebSocket开发 242
5.12.1 WebSocket客户端 242
【示例5-5】在JS中使用new WebSocket开通客户端 242
5.12.2 WebSocket服务端 243
【示例5-6】客户端通过注解中的uri连接到WebSocket 244
【示例5-7】编写程序检测WebSocket连接数量 245
5.13 JS-SDK应用中常见问题及解决办法 245
第6章 综合案例:I''M朋友圈 248
6.1 创建Action后台服务 248
6.2 生成工具类WxUtil 249
6.3 开发朋友圈页面 256
第3篇 支付开发篇
第7章 微信公众号支付 263
7.1 微信支付介绍 263
7.2 微信公众号支付申请 264
7.3 开发配置 268
7.3.1 配置商户密钥 268
7.3.2 配置域名信息 268
7.3.3 设置支付目录 269
7.4 统一下单 269
7.4.1 接口介绍 270
7.4.2 订单签名 273
7.4.3 小实例:微信支付下订单 276
7.5 发起支付 281
7.5.1 支付签名 281
7.5.2 小实例:发起微信JS-H5支付 282
7.6 支付结果 284
7.6.1 同步通知 284
7.6.2 异步通知 284
7.7 获取对账单文件 288
7.7.1 接口介绍 289
7.7.2 账单签名 291
7.7.3 小实例:下载微信账单 291
7.8 小实例:在微信中发起支付宝支付 293
第8章 微信服务商支付 295
8.1 微信服务商 295
8.1.1 微信商户类型 295
8.1.2 申请服务商 296
8.1.3 服务商平台 296
8.2 微信特约商户 297
8.2.1 申请特约商户 297
8.2.2 特约商户平台 297
8.3 服务商开发配置 298
8.4 服务商发起公众号支付 299
第9章 综合案例:开发一个微信水果购物平台 301
9.1 创建实体类 301
9.2 创建微信工具类 305
9.2.1 消息工具类WxUtil 305
9.2.2 微信支付工具类WxPayUtil 310
9.2.3 MD5算法工具类 315
9.3 微信下订单 316
9.3.1 创建S
|
內容試閱:
|
为什么要写这本书
随着智能手机的日渐普及,不断地推动了移动互联网在各行业的发展,从生活起居到移动办公,众多的App琳琅满目,需求的增长推动技术的更新,APP开发也从最初的Native App开发,发展到Native App、Web App、Hybrid App等多种开发技术。开发越来越容易,但各行业客户需求的分散,也导致APP越来越多,大量功能单一的应用被搁置,成为僵尸应用,越来越多的用户将视线聚集到微信、QQ、新浪微博等超级应用中,在超级应用备受关注的形势下,Light App应运而生。Light App又被称为轻应用、微应用,是一种无需下载、即搜即用的全功能App,既有媲美甚至超越Native App的用户体验,又具备Web App、Hybrid App快速开发、节约开发成本等特性,前景更加广阔。
微信公众账号是腾讯公司在微信的基础上推出的,属于Light APP的范畴,再小的个体,也有自己的品牌使广大微信用户无需下载便能够借助微信直接享受个人或企业提供的各类服务。对于企业推广和发展来说,企业可以通过订阅号、服务号打造一个基于微信的服务或推广平台,而在企业内部,企业能够通过微信新推出的企业号实现对内部管理系统的集成,释放用户手机空间提升用户黏性和体验的同时提供了更好的企业推广平台。
服务号给企业和组织提供更强大的业务服务与用户管理能力,帮助企业快速实现全新的微信服务、推广平台。笔者因工作需要成为微信公众号的早期开发者,先后完成多个微信公众号项目开发,主导多个移动混合开发项目,编写数个微信公众号建设方案,并在CSDN上发布几篇公众号博文,收到许多读者和企业的来信。
为了更全面地讲解微信公众号开发,弥补微信支付、服务商支付以及ECharts、AngularJS等技术与微信的结合等内容在当前微信公众号书籍中的缺失,在本书图书编辑的鼓励下编写这本书,希望结识更多的IT有志之士。
本书内容及知识体系
第1篇 开发基础篇(第1、2章)
本篇介绍了微信公众平台以及微信公众号开发环境的配置和开发基础知识,主要包括微信公众平台与微信开放平台的区别、微信五类公众号适用场景、如何配置微信开发环境、JCE安全策略的调整、微信调试工具的安装与使用、HttpClients服务请求调用、域名发布使用、Properties文件配置以及微信公众账号实施部署等。
第2篇 关键技术篇(第3、4、5、6章)
本篇介绍了微信主动调用、被动回调以及网页JS-SDK接口说明和开发实现,主要包括access_token申请、Token缓存处理、素材管理、群发消息、模板消息、客服消息、开启回调模式、各类消息的接收与响应、Echarts运用、语音导航实现、WebSocket连接实现、SPA开发、地图应用以及如何实现二维码多码合一等。第6章作为本篇的综合开发实例,主要通过案例实际(IM朋友圈)练习微信开发基础知识,在实践中学习,在实践中成长,掌握微信公众号的接口调用。
第3篇 支付开发篇(第7、8、9、10章)
本篇主要介绍微信支付和微信服务商支付,使读者了解如何申请、部署以及实现微信支付,如何实现一号多卡的微信服务商支付,本篇主要内容包括:微信支付申请、微信支付开发配置、预支付订单接口调用、支付签名的生成、服务商与特约商户的注册、服务商与特约商户的开发配置、以及如何发起支付等。第9、10章作为微信支付综合案例,主要通过案例学习一号一卡的微信支付(水果购物平台)以及一号多卡的微信服务商支付(生活缴费),在实际案例中学习支付的实现。
第4篇 运维实践篇(第11、12章)
本篇主要介绍了微信公众号账号管理、标签管理、用户管理、数据库操作、中间件运维以及数据安全访问的方式策略,主要从软件开发角度实现数据的传输,通过识别浏览、OAuth2.0身份验证等方式实现数据的传输。
第5篇 综合实战篇(第13章)
本篇结合全书所讲内容的基础上提供了一个综合开发的案例,本章主要以提供案例的方式介绍了微信公众号的开发过程,从项目需求设计到应用开发实现一步步带领读者学习微信公众号开发,学习微信项目需求设计、工程搭建、功能实现以及实施部署等整个开发流程。
适合阅读本书的读者
? 需要全面学习微信服务号开发技术的人员;
? 微信公众号开发技术人员;
? 移动混合开发的开发人员;
? 需要了解、学习微信支付和服务商支付的技术人员;
? Java开发工程师;
? 希望提高微信项目开发水平的人员;
? IT专业培训机构的学员;
? 微信公众号开发项目经理;
? 需要一本微信公众号功能查询与实现手册的人员。
阅读本书的建议
? 没有微信公众号开发经验的读者,建议从第1章顺次阅读并演练每一个实例。
? 有一定微信开发基础的读者,可以根据实际情况有选择阅读各个模块和项目案例。
? 对一号多卡支付实现有兴趣的读者,可以查看重点阅读第7~10章相关内容。
? 对于有微信公众号项目经验或者对单页面应用开发应用有兴趣的读者,可以查看重点阅读第5章JS-SDK的相关开发。
? 读者在阅读时建议读者先对书中的模块和项目案例阅读一遍,然后从入门HelloWord写起,千里之行始于足下,大到每个案例,小到每行代码,哪怕简单的变量定义也在SDK中书写一遍,不仅能够提高代码速度、效率,而且理解能够更深刻、更容易。
致谢
感谢微信创始人张小龙先生及其团队创造了微信这一优秀的平台;
感谢海颐软件王林、李锐、宋庆伟、于洋提供的微信公众账号开发机遇;
感谢徐国智、李明、马金刚老师在计算机领域的启蒙与指导;
感谢于春洋在写书期间生活上鼓励与帮助;
感谢身边的同事以及广大IT网友对这本书的支持与鼓励。
本书资料包
我们把全书的源代码、全局返回码说明和行业代码说明组成了本书的资料包,二维码和下载地址放在了封面前勒口中,读者可以扫码下载使用。
|
|