|
編輯推薦: |
根据最新微信5.3版撰写,切合微信公众平台的最新技术发展,全面解读微信公众平台的消息接口及九大高级接口、微信内置浏览器特性及Weixin
JS接口系统地讲解了开发微信公众号的流程、方法、技巧与注意事项以实际项目为例,结合二维码、LBS、Websocket、Html5等热门技术
|
內容簡介: |
本书根据最新的微信5.3版撰写,紧跟微信公众平台的最新技术发展,是目前微信公众平台应用开发领域涵盖内容最全面、讲解最系统和深入的一本书。本书全面解读了微信公众平台的消息接口及九大高级接口,更是首次较全面地解析微信内置浏览器特性及Weixin JS接口,系统地讲解了开发微信公众号的流程、方法、技巧和注意事项。注重实际项目,包含大量案例,第三部分更是以实际项目为例,结合二维码、LBS、WebSocket、HTML5等热门技术,为读者提供最新的微信公众平台开发技术。
全书共10章,分为三个部分:第一部分(第1章~第3章)介绍了公众平台的基础知识、编辑模式的使用和开发环境的搭建。通过本部分的学习,读者可以使用编辑模式来运营公众账号,并通过简单的配置来搭建开发环境,开发出第一个demo应用,为后面的学习打下基础。第二部分(第4章~第6章)重点介绍公众平台的消息相关接口及九大高级接口,并提供了完整的封装类,还介绍了Weixin JS开发。读者在学完本部分之后,能够对公众平台提供的全部服务有所了解。本部分提供了众多的案例供读者学习。第三部分(第7章~第10章)以大项目为例,每章实现一个公众号的功能。四个项目分别为餐厅管家、微商城、微酒店和游戏开发,探讨的内容包括自定义菜单、二维码、微信支付、微信小店、位置服务等。学完本部分,读者完全有能力开发企业级的公众号。
|
關於作者: |
闫小坤,毕业于中国科学技术大学。就职于腾讯公司,目前从事腾讯微博的开发工作。项目经验丰富,参与过网络爬虫与智能抽取、基于百度媒体云的视频网站、小说系统等产品的开发。微信公众平台开发者,有开源的WeChat
PHP
SDK项目。关注云计算,并对国内云计算平台略有研究。
周涛,毕业于中国科学技术大学。在微软亚洲互联网工程院承担搜索引擎相关产品的开发工作,微信公共平台应用开发先驱,项目经验丰富,参与过基于WiFi的定位技术,Web
App开发平台等产品的开发。
|
目錄:
|
目录
前 言
第1章 微信公众平台简介1
1.1微信:连接一切1
1.1.1物联网1
1.1.2二维码革命2
1.2 微信公众平台4
1.2.1大事记4
1.2.2分类:服务号与订阅号5
1.2.3微信认证5
1.2.4公众号运营6
1.2.5微社区7
1.2.6微信公众平台管理后台8
1.3本章小结9
第2章 编辑模式——轻松玩转公众号10
2.1开启编辑模式10
2.2自动回复消息11
2.2.1添加自动回复11
2.2.2消息自动回复12
2.2.3关键词自动回复13
2.2.4 自动回复优先规则15
2.3 自定义菜单16
2.3.1设置自定义菜单16
2.3.2设置动作18
2.4投票19
2.5案例分析21
2.5.1利用自动回复实现我的书目功能21
2.5.2自定义菜单的典型案例:小道消息23
第3章搭建开发环境25
3.1启用公众平台开发模式25
3.1.1 申请网址接入26
3.1.2数据交换方式26
3.1.3接口列表27
3.2SAE环境搭建28
3.2.1应用创建28
3.2.2 搭建本地开发环境34
3.2.3SAE常用服务36
3.3BAE环境搭建39
3.3.1 创建工程40
3.3.2 BAE常用服务42
3.4 开发第一个应用42
3.4.1 下载PHP SDK42
3.4.2 微信公众平台接口测试账号申请43
3.4.3 上传服务器45
3.4.4 扫描二维码45
第4章消息接口API47
4.1开发者模式接入47
4.2基础支持48
4.2.1申请测试账号48
4.2.2获取access_token49
4.3接受消息51
4.3.1文本消息52
4.3.2图片消息54
4.3.3语音消息55
4.3.4地理位置消息56
4.3.5链接消息57
4.3.6视频消息59
4.4接收事件消息60
4.4.1关注取消关注事件60
4.4.2扫描二维码事件61
4.4.3上报地理位置事件64
4.3.4自定义菜单事件65
4.5回复消息66
4.5.1回复文本消息67
4.5.2回复图片消息68
4.5.3回复语音消息69
4.5.4回复视频消息70
4.5.5回复音乐消息72
4.5.6回复图文消息74
4.6生成带参数的二维码76
4.6.1创建二维码ticket77
4.6.2通过ticket换取二维码79
4.7客服接口79
4.8语音识别83
4.8.1让微信听懂你的话83
4.8.2翻译助手84
第5章高级接口88
5.1自定义菜单88
5.1.1自定义菜单的创建88
5.1.2自定义菜单的查询和删除91
5.2上传下载多媒体文件92
5.2.1上传多媒体文件92
5.2.2下载多媒体文件93
5.2.3测试案例95
5.3用户管理95
5.3.1管理分组96
5.3.2获取用户基本信息101
5.3.3获取关注者列表103
5.4获取用户地理位置105
5.5OAuth2.0网页授权106
5.5.1配置授权回调域名107
5.5.2OAuth2.0授权流程108
5.5.3代码实现111
5.5.4案例112
5.6高级群发接口114
5.6.1上传图文消息素材114
5.6.2根据分组进行群发116
5.6.3根据OpenID列表群发121
5.6.4删除群发121
5.6.5事情推送群发结果122
5.7多客服功能123
5.8微信小店125
第6章微信内置浏览器Weixin JS接口127
6.1 微信浏览器127
6.1.1特征128
6.1.2WeixinJSBridge 129
6.2 WeixinJSBridge使用说明131
6.2.1 WeixinJSBridge接口一览131
6.2.2界面接口132
6.2.3分享接口134
6.2.4 监听事件137
6.2.5功能接口138
6.2.6第三方APP接口139
6.3 案例142
6.3.1 WeixinJSBridge的加载顺序142
6.3.2 隐藏显示WebView右上角的分享按钮143
6.3.3隐藏显示WebView底部的导航栏145
6.3.4跳转到扫描二维码界面146
6.3.5关闭WebView148
6.3.6 发邮件149
6.3.7 图片预览151
第7章 餐厅管家154
7.1 功能设计154
7.1.1 需求分析154
7.1.2功能演示155
7.1.3 注意事项159
7.2 “餐厅管家”的实现160
7.2.1 自定义菜单160
7.2.2数据库操作类封装161
7.2.3 微信消息接口171
7.2.4预约管理179
7.2.5 菜单管理186
7.2.6 二维码优惠券189
7.2.7 路线导航201
7.3 本章小结213
第8章 微商城214
8.1 抽奖系统214
8.1.1 前端展示214
8.1.2 抽奖动画215
8.1.3中奖概率215
8.1.4 抽奖控制逻辑216
8.1.5数据表设计217
8.1.6 代码实现218
8.2 微信支付222
8.2.1 介绍223
8.2.2JS API支付224
8.2.3 安全支付228
8.2.4 订单查询231
8.3 微信小店232
8.4多客服功能237
8.4.1 服务开通237
8.4.2 添加客服工号237
8.4.3 在电脑上使用多客服238
8.4.4 在微信上使用多客服240
8.5 本章小结240
第9章 微酒店241
9.1 微酒店功能及设计241
9.1.1 功能241
9.1.2 数据库设计242
9.2 功能实现243
9.2.1 自定义菜单243
9.2.2 消息处理244
9.2.3 位置消息245
9.2.4 附近酒店246
9.2.5 预订酒店页面248
9.2.6 用户注册页面252
9.2.7 添加订单页面255
9.2.8 我的订单页面257
9.2.9 退订259
9.2.10 订单后台管理260
9.2.11 我的会员卡263
第10章游戏开发——谁是卧底265
10.1 谁是卧底功能及设计265
10.1.1 游戏规则265
10.1.2 核心流程265
10.1.3 数据表设计266
10.2 代码实现267
10.2.1 消息判断267
10.2.2 创建游戏269
10.2.3 创建房间269
10.2.4 换词272
10.2.5 改词272
10.2.6 加入房间273
10.2.7 后台操作274
10.3 效果展示275
|
內容試閱:
|
第1章 微信公众平台简介
坐拥6亿注册用户的微信,已成为不少人的装机必备软件。人们发语音聊天,刷朋友圈,读公众账号文章,过着离不开微信的日子。对广大开发者有利的是,这个移动互联网上的重要入口,一开始就以开放姿态面世。微信提供了公众平台和开放平台,分别供公众账号运营者和移动应用开发者使用。
再小的个体,也有自己的品牌。无论是企业、组织,还是媒体、个人,微信公众平台都可以以轻应用的形式提供服务。公众平台的编辑模式,使不会编程的用户也能轻松使用;而开发模式和众多的开放接口,则为开发者提供了广阔的想象空间和难得的机遇。
本章重点介绍一下微信、微信公众平台及公众账号,希望读者在投入微信公众平台开发时,能对微信公众平台能做什么、鼓励做什么有一定的认识,在开发过程中少走弯路。
1.1微信:连接一切
不止一种技术幻想过这样的场景:快下班时对空调说“温度降到27度”,对热水器说“烧热水要洗澡”。企业以智能家居为物联网技术的突破口,已经使这样的场景变为了现实。微信不光连接人,还可以连接能上网的机器。每个机器都有个二维码作为设备 ID,在微信里可以通过和设备对话来控制设备。微信作为连接者,成为最有价值的用户与用户最满意的产品之间的桥梁。
1.1.1物联网
微信有两大逆天功能:摇一摇和扫一扫。前者曾创造了“点亮广州塔”的辉煌事迹,后者则培养了用户见黑白方块就扫的习惯。见到下面印有二维码的奶牛,读者是不是有扫一扫的冲动呢?
真的能扫!你会发现打开了网页,上面这样介绍这头奶牛:
名字:Shamrock
品种:黑白花乳牛
每天产30~40升牛奶。
夏天到野外吃新鲜青草,冬天青草不再生长时,改吃青贮饲料。
需要平衡的饮食。
时常有农业科学家来和农场主讨论青贮饲料和谷物的比例,并制定一系列计划来保证它的健康。
这是一篇来自BBC的报道,农场主给奶牛身上涂上二维码来宣传牧场。只要扫一下牛身上的二维码,即可知道这头奶牛的所有资料。
图1-1
奶牛二维码的内容是一个短链接:http:goo.glyAE1Q,完整URL为http:www.thisisdairy farming.comnews-pressin-the-newslady-shamrock不能扫一扫的读者,可以访问此链接。
这在技术上并不神奇,生成二维码,扫描二维码,都是业界成熟的技术。但利用微信“扫一扫”连接奶牛(物理世界)和互联网(信息世界),或者用微信控制家用电器,这种人与物、物与物之间的连接,正是物联网的基础。
1.1.2二维码革命
奶牛身上印有二维码,扫描后显示链接(文字),再跳转到相应的网页。这说明二维码是一种编码方式。这里介绍一下二维码及其前景。
1.什么是二维码
二维码英文为Quick Response Code,简写为QR code。通俗地讲,二维码是二维的条形码,可以在水平和竖直方向同时存储信息。生成的二维码图形一般为正方形,根据特定的编码方式,在平面(二维方向)上绘制黑白相间的图形。例如微信公众平台的二维码如下:
从条形码到二维码
大家是否见过下图的两张火车样票?
我相信大多数读者都见过右边的蓝票,左边的红票可能没见过。这里简单介绍一下:红票为软纸票,是1997年确定的车票统一式样。2009年12月,铁路部门对火车票进行升级改版,并在2010年春运前推出磁卡票(蓝票)。
蓝票与红票最明显的变化是车票下方的条形码变成二维码。
图1-2
2.为什么二维码是一场革命
人类社会的信息革命,常常伴随着一种新的编码方式而出现。
1836年萨缪尔·摩尔斯发明了摩尔斯电码(Morse Code),它是一种时断时续的信号,由点、划、停顿长短等作为基本单位,通过不同的排列顺序来编码不同的文字符号。这项技术使得通信距离大大增加,而信息几乎瞬时到达。后来摩尔斯电码被用于电报业务,并且被作为海事通信的国际标准一直使用到1999年。
诺曼·约瑟夫·伍德兰在1952年注册了条形码专利。22年后的1974年,俄亥俄州一家超级市场的口香糖成为首个扫描条形码的商品。这项技术使得输入效率和准确率大幅提升。现在,条形码广泛用于各个领域和行业,如零售业、书籍、服装、商品、银行、医疗及电子产品等。
QR二维码由日本丰田子公司 Denso Wave于1994年发明并开始使用。微信的“扫一扫”功能,使得二维码的作用发挥到极致。墙壁、门窗、纸张上印刷的二维码,扫一下就能打开网页、调用App、完成校验、购买物品、支付费用,瞬间完成从线下到线上的转变。而微信公众平台提供的生成带参数的二维码功能,可以为线上的URL连接、商品、支付信息生成二维码,该二维码可以被查看、下载、印刷,完成线上到线下的转变。
二维码的信息容量大,能够编码数字、字母、汉字、图片等信息。拿纠错级别L的Version 40二维码来说,能够容纳2953字节,或1817个utf8编码的中文字符。这个容量级别,能够放下个人名片、电子票务凭证、优惠券、电子回执等,能够适应于各行各业的应用。
在移动互联网时代,手机就是一个天然的二维码扫描器,随着手机的普及和移动网络的发展,未来肯定会出现更多二维码相关的产品,二维码也终将影响到各个行业。
|
|