微信公众平台开发最佳实践(第2版)
《微信公众平台开发最佳实践 第2版》
微信公众平台开发经典之作全新改版,精心挑选最经典的商业项目开发,成千上万人次微信公众平台开发者从中受益
方倍工作室已出版本书的第3版电子版,内容更多,价格更优惠,欢迎查看购买,地址:http://www.cnblogs.com/txw1958/p/buy-ebook.html
前言
出版说明 自从方倍工作室在博客园推出微信公众平台开发系列教程后,受到广大微信开发人员及爱好者的热情关注,相关文章的日访问量高达2万人次,而《微信公众平台开发入门教程》的阅读量超过50万,博客访问量总计超过500万,成为微信公众平台开发更新最快,传播最广、受众最多、资料最全的博客,很多博文被许多有影响力的网站转载,并被各大搜索引擎收录且排名靠前,这些是我们始料未及的。 然而更让人高兴的是,很多开发者通过学习我们的教程掌握了微信公众平台开发技术,并且通过微信开发赚到了钱。2013年10月17日,我们在QQ空间发布了新版《微信公众平台开发入门教程》链接后,网友“我叫不熬夜?”在空间中回复,他之前通过学习我们的微信开发教程赚到了2000元,而他目前还只是一名学生。这条回复记录至今还保存在方倍工作室的QQ空间中,给了我们不断前进的动力。 为了推出更好、更有价值的作品,我们整合已有的教程资源,并从2013年到2014年的几百个开发案例中挑选出最受欢迎的功能应用,编写了本书。书中全面介绍微信公众平台(包括微信支付在内)的所有接口及使用方法,并且辅以30多个功能应用案例及技巧,同时在分析过程中融合相关知识与技术,力求使读者不但“知其然”,而且“知其所以然”,以期为读者奉献一本含金量高的书籍。 读者对象 本书适合以下人群: 想了解移动互联网及微信公众平台发展的行业从业人员。 想了解微信公众平台产品使用方法、技巧及效果评估的微信营销人员。 想提高会员活跃度、提高指标转化率、推进品牌推广的公众平台运营人员。 想学习微信公众平台开发的技术人员。 想使用微信公众平台兼职开发、创业等渴望更成功的人员。 想搭建企业内部强大及实用的微信公众平台的开发团队。 阅读指南 本书分为10章。 第1章简要介绍微信及其三大平台:微信公众平台、微信开放平台和微信智能开放平台,重点介绍微信公众平台的注册方法及各项功能。 第2章介绍申请新浪SAE作为免费服务器资源的方法,同时介绍如何配置微信公众平台的开发者中心以及启用过程中常见问题的解决方法,最后介绍如何使用微信调试器及接口调试工具进行开发调试。 第3章介绍微信公众平台基础接口的三个部分,包括接收用户发送的六种消息、以六种方式发送被动响应消息、接收关注及取消关注的事件推送消息。所有消息类型都给出了PHP语言的实现方法。这些消息类型是微信公众平台与用户进行交互的基础功能。 第4章介绍自定义菜单与高级接口的九大功能。这些功能都需要额外向微信公众平台申请权限。它使微信交互不再局限于消息交互,而是能达到更广、更深、更有想象力的层次。基于这些接口的功能也将是今后微信开发的主要趋势,本书对这些功能都给出了PHP的实现代码。 第5章详细介绍微信支付的申请流程及功能,并且对微信支付中的两种主要支付方式的实现原理进行深入剖析,另外还讲解商户功能的其他相关接口的内容。 第6章详细介绍微信小店的搭建方法及二次开发的方法,更进一步丰富和完善微信小店的功能。 . 第7章介绍八个生活类应用的开发。书中对这些应用从接口申请,数据获取直到开发实现,案例截图,都进行了详细描述。最后介绍了如何将这些功能进行整合。读者掌握这些应用的开发以后,可以丰富自己公众账号的功能。 第8章介绍八个娱乐类应用的开发。这些应用都是非常受用户欢迎的,读者学习完后可以快速移植到自己的微信公众平台,提高粉丝存在的价值。 第9章介绍企业最常用功能的开发,其中包括部分高级接口在企业应用的实现。这些功能为企业开发提供了方向及技术指导。 第10章介绍微信开发有关的其他实用技巧以及微信JS接口。这些功能可以为公众账号用户带来更有趣的体验。 本书程序案例采用广泛流行的PHP、MySQL、XML、CSS、JavaScript、HTML5等程序语言及数据库实现,所有案例均在书中给出了核心实现代码并做了详细讲解。初学者可以在了解PHP和MySQL语法之后,从头至尾学习,对于其中难以理解的部分可以查阅相关资料。对于企业应用类的开发还需要具有一定的JavaScript、CSS等语言基础。有经验的微信公众平台开发人员可以根据自己的需要直接切入相应章节,其他从业人员则可以选择自己感兴趣的内容阅读。 由于作者水平及能力有限,加之时间仓促,书中难免出现错误和不妥之处,对于一些依赖第三方功能的实现也可能由于外部原因难以保证可以永久使用,恳请读者批评指正,并欢迎探讨,一并感谢! 源码及勘误说明 本书的源代码可以从华章网站本书页面下载,网址为:http://www.hzbook.com/。 勘误说明及源码更新可以从方倍工作室的微信公众账号(账号:PondBayStudio)下载,欢迎关注并索取更新。此外,我们也会经常发布微信最新动态及技术信息。 致谢 首先感谢“微信之父”张小龙先生及微信团队,是他们创造了微信这一经典传世之作。 感谢机械工业出版社华章公司王彬编辑的支持,促成了这本书的改版。 感谢我最亲爱的家人在背后的默默支持与付出。 本书成书过程中,也得到了诸多同行的支持与鼓励,在此一并致谢。 谨以此书献给所有热爱移动互联网和微信及微信公众平台的人们。 方倍 2015年1月于深圳
目录
第1章 微信公众平台介绍 1 1.1 微信及其三大平台 1 1.2 微信公众账号的注册 2 1.2.1 服务号/订阅号的注册 2 1.2.2 测试号的注册 6 1.3 微信公众平台的使用 8 1.3.1 功能 9 1.3.2 微信支付 11 1.3.3 管理 11 1.3.4 推广 13 1.3.5 统计 14 1.3.6 设置 15 1.3.7 开发者中心 17 1.4 本章小结 17 第2章 微信开发者中心 18 2.1 新浪SAE应用 18 2.1.1 申请新浪云账号 18 2.1.2 创建新浪云应用 20 2.1.3 创建应用版本 21 2.1.4 上传微信接口代码 22 2.1.5 申请SAE中级认证 26 2.2 微信开发者中心 26 2.2.1 配置和启用服务器 26 2.2.2 消息体加解密实现 28 2.2.3 配置失败常见问题与分析 35 2.2.4 自动回复当前时间 37 2.2.5 消息交互原理分析 37 2.3 微信开发调试工具 40 2.3.1 微信调试器 40 2.3.2 接口调试工具 42 2.4 本章小结 43 第3章 基 础 接 口 44 3.1 接收用户消息 44 3.1.1 文本消息 44 3.1.2 图片消息 45 3.1.3 语音消息 45 3.1.4 视频消息 46 3.1.5 地理位置消息 47 3.1.6 链接消息 47 3.1.7 案例 48 3.2 发送被动响应消息 51 3.2.1 文本消息 51 3.2.2 图片消息 52 3.2.3 语音消息 53 3.2.4 视频消息 53 3.2.5 音乐消息 54 3.2.6 图文消息 55 3.2.7 案例 57 3.3 接收事件推送消息 63 3.3.1 关注/取消关注 63 3.3.2 案例 64 3.4 本章小结 66 第4章 自定义菜单和高级接口 67 4.1 Access Token 67 4.1.1 Access Token概述 67 4.1.2 接口调用请求说明 67 4.1.3 实现代码 68 4.2 自定义菜单 68 4.2.1 自定义菜单介绍 69 4.2.2 按钮类型 69 4.2.3 创建菜单 70 4.2.4 查询菜单 73 4.2.5 删除菜单 74 4.2.6 菜单事件推送 74 4.3 语音识别 80 4.3.1 接收识别结果 80 4.3.2 处理识别消息 81 4.4 客服接口 82 4.4.1 客服接口实现 82 4.4.2 消息接口与客服接口相结合 90 4.4.3 客服接口的意义 91 4.5 OAuth2.0网页授权 91 4.5.1 OAuth2.0 91 4.5.2 授权过程 92 4.5.3 详细步骤 93 4.5.4 效果展示 98 4.6 生成带参数二维码 100 4.6.1 场景二维码 100 4.6.2 创建二维码ticket 100 4.6.3 通过ticket换取二维码 102 4.6.4 下载二维码 104 4.6.5 扫描带参数二维码事件 104 4.7 获取用户地理位置 106 4.7.1 获取用户地理位置的方式 106 4.7.2 转换坐标到地址 107 4.7.3 用户地理位置的意义 109 4.8 获取用户基本信息 109 4.8.1 获取用户基本信息的方式 110 4.8.2 制作个性欢迎语 111 4.9 获取关注者列表 112 4.9.1 获取关注者列表的方式 112 4.9.2 分批获取 113 4.10 用户分组管理 115 4.10.1 创建分组 115 4.10.2 查询所有分组 116 4.10.3 查询用户所在分组 117 4.10.4 修改分组名 118 4.10.5 移动用户分组 119 4.11 上传/下载多媒体文件 120 4.11.1 上传多媒体文件 121 4.11.2 下载多媒体文件 124 4.12 高级群发接口 128 4.12.1 准备群发内容 128 4.12.2 选择群发对象 130 4.12.3 执行群发 131 4.12.4 接收群发结果 136 4.13 模板消息 138 4.13.1 添加模板 138 4.13.2 模板消息开发 139 4.14 本章小结 141 第5章 微信支付 142 5.1 申请微信支付 142 5.1.1 申请流程图 142 5.1.2 开放经营类目 145 5.1.3 资费标准 146 5.1.4 常见问题 147 5.2 微信支付功能介绍 148 5.2.1 方案简介 148 5.2.2 应用场景举例 148 5.2.3 商户模块 153 5.2.4 功能接口 154 5.2.5 账号体系 155 5.2.6 商户系统对接 155 5.2.7 行业案例 156 5.2.8 支付功能常见问题 158 5.3 微信支付接口 159 5.3.1 支付基础 159 5.3.2 JS API支付接口 166 5.3.3 Native(原生)支付接口 170 5.3.4 通知接口 173 5.3.5 收货地址共享接口 179 5.3.6 用户维权系统接口 181 5.4 本章小结 182 第6章 微信小店 183 6.1 微信小店搭建 183 6.1.1 微信小店概况 183 6.1.2 运费模板管理 184 6.1.3 商品分组管理 185 6.1.4 图片库 185 6.1.5 添加商品 187 6.1.6 货架管理 189 6.2 微信小店二次开发 190 6.2.1 微信小店SDK 191 6.2.2 交易付款通知 193 6.2.3 我的订单查询 196 6.2.4 快递物流查询 201 6.2.5 维权功能接入 207 6.3 本章小结 208 第7章 生活类应用开发 209 7.1 天气预报 209 7.1.1 中国气象局 209 7.1.2 区域编码表 214 7.1.3 开发实现 216 7.2 交通信息查询 219 7.2.1 第三方网站 219 7.2.2 开发实现 220 7.3 中英翻译 222 7.3.1 有道翻译 222 7.3.2 开发实现 223 7.4 空气质量 224 7.4.1 PM25.in 224 7.4.2 开发实现 226 7.5 股票行情及分析 227 7.5.1 行情数据 227 7.5.2 个股分析 228 7.5.3 开发实现 229 7.6 苹果产品信息查询 234 7.6.1 过程分析 234 7.6.2 开发实现 238 7.7 历史上的今天 240 7.7.1 数据来源 241 7.7.2 开发实现 241 7.8 附近搜索 243 7.8.1 百度地图 243 7.8.2 开发实现 247 7.9 多个功能整合 251 7.10 本章小结 252 第8章 娱乐类应用开发 253 8.1 笑话 253 8.1.1 数据获取 253 8.1.2 开发实现 253 8.2 星座运势 255 8.2.1 新浪星座 255 8.2.2 开发实现 255 8.3 周公解梦 256 8.3.1 数据获取 256 8.3.2 开发实现 257 8.4 姓名测试 259 8.4.1 数据获取 259 8.4.2 开发实现 260 8.5 夫妻相 262 8.5.1 人脸识别 262 8.5.2 实现方案 263 8.5.3 开发实现 268 8.6 在线点歌 271 8.6.1 音乐掌门人 271 8.6.2 开发实现 274 8.7 一站到底 275 8.7.1 实现方案 275 8.7.2 开发实现 277 8.8 智能聊天机器人 281 8.8.1 iBotCloud 282 8.8.2 开发实现 283 8.9 本章小结 285 第9章 企业类应用开发 286 9.1 会员卡 286 9.1.1 页面布局 286 9.1.2 开发实现 288 9.2 预约订单 290 9.2.1 页面布局 290 9.2.2 开发实现 294 9.3 产品相册 298 9.3.1 相册 298 9.3.2 画廊 302 9.4 大转盘 304 9.4.1 页面布局 304 9.4.2 开发实现 306 9.5 刮刮卡 310 9.5.1 页面布局 310 9.5.2 开发实现 312 9.6 地图导航 314 9.6.1 高德地图 314 9.6.2 开发实现 315 9.7 智能问答 316 9.7.1 关键词回复 317 9.7.2 中文分词 317 9.8 在线客服 320 9.8.1 流程状态 320 9.8.2 开发实现 321 9.9 广告效果统计 325 9.9.1 场景二维码 325 9.9.2 数据统计 327 9.10 本章小结 330 第10章 微信开发实用技巧 331 10.1 实现表情飘落效果 331 10.2 回复QQ表情和Emoji表情 332 10.3 获取微信版本及手机系统 336 10.4 微信JS接口使用 337 10.4.1 绑定JS接口安全域名 337 10.4.2 微信JS接口SDK 338 10.4.3 JS文件引入与注入权限验证配置 340 10.4.4 JS接口相关功能开发 343 10.5 Discuz微社区 344 10.6 本章小结 345 附录A 关键词自动回复的规则 346 附录B 微信公众平台全局返回码说明 347 附录C SAE分词词性说明 348 附录D 微信公众平台基础接口PHP SDK 350 附录E 微信公众平台自定义菜单及高级接口PHP SDK 357
读者QQ群 188280503
注:新浪SAE已经开始收费!请知悉。
源码下载
关注方倍工作室微信公众账号(pondbaystudio), 在菜单中可以找到下载地址。
需要购买纸质书后,拿到密码才能下载查看。
电子书无法正常下载代码,并且不提供服务。请支持纸质书。
购买地址
本文来自博客园,作者:方倍工作室,转载请注明原文链接:https://www.cnblogs.com/txw1958/p/weixin-development-best-practice-v2.html