本書(shū)由前騰訊公司軟件開(kāi)發(fā)工程師根據(jù)微信6.x版撰寫(xiě),緊跟微信公眾平臺(tái)的技術(shù)發(fā)展,是目前微信公眾平臺(tái)應(yīng)用開(kāi)發(fā)領(lǐng)域涵蓋內(nèi)容較全面、系統(tǒng)和深入的一本書(shū)。本書(shū)全面介紹了微信公眾平臺(tái)的開(kāi)發(fā)模式、環(huán)境搭建、消息接口及高級(jí)接口,深入地解析了微信內(nèi)置瀏覽器的特性及Weixin JS接口,系統(tǒng)地講解了開(kāi)發(fā)微信公眾號(hào)的流程、方法、技巧和注意事項(xiàng),還簡(jiǎn)要介紹了微信小程序的開(kāi)發(fā)。本書(shū)案例豐富,提供了包括餐廳管家、微商城、微酒店、游戲開(kāi)發(fā)、HTML 5小游戲5個(gè)項(xiàng)目的完整開(kāi)發(fā)流程,探討的內(nèi)容包括自定義菜單、二維碼、微信支付、微信小店、位置服務(wù)等。學(xué)習(xí)完本書(shū),讀者完全有能力開(kāi)發(fā)企業(yè)級(jí)的公眾號(hào)。
本書(shū)適合于微信公眾平臺(tái)開(kāi)發(fā)初學(xué)者,企業(yè)微信公眾號(hào)開(kāi)發(fā)、公眾號(hào)運(yùn)營(yíng)者及移動(dòng)互聯(lián)網(wǎng)開(kāi)發(fā)人員,也很適合有一定開(kāi)發(fā)基礎(chǔ)但對(duì)微信公眾號(hào)項(xiàng)目開(kāi)發(fā)不熟悉的讀者閱讀。
前騰訊公司資深軟件開(kāi)發(fā)工程師專業(yè)奉獻(xiàn)涉及微信公眾平臺(tái)開(kāi)發(fā)的方方面面,技術(shù)先進(jìn),原理與實(shí)踐并重提供餐廳管家、微商城、微酒店、游戲開(kāi)發(fā)、HTML 5小游戲、微信與O2O、微信小程序項(xiàng)目的開(kāi)發(fā)方法、技巧與流程,提升你的實(shí)際開(kāi)發(fā)能力
微信公眾平臺(tái)的發(fā)展微信和短信、相機(jī)一樣,已經(jīng)逐漸成為手機(jī)的標(biāo)配工具。微信的即時(shí)通信、語(yǔ)音、視頻聊天、朋友圈、群聊等功能極大程度地迎合了大眾的溝通交流需求;微信公眾平臺(tái)、微信開(kāi)放平臺(tái)、企業(yè)微信等功能極大程度地幫助企業(yè)以低成本直接對(duì)接大量客戶,有效地積累用戶;微信小程序、掃一掃功能更是促進(jìn)線上與線下、虛擬與現(xiàn)實(shí)、數(shù)字經(jīng)濟(jì)和傳統(tǒng)經(jīng)濟(jì)的融合。在騰訊公司最新披露的數(shù)據(jù)中,微信月活躍賬戶數(shù)達(dá)到8.89億,公眾平臺(tái)匯聚超過(guò)1000萬(wàn)公眾賬號(hào)、20萬(wàn)第三方開(kāi)發(fā)者。對(duì)于微信公眾平臺(tái)應(yīng)用開(kāi)發(fā)來(lái)說(shuō),公眾號(hào)也已經(jīng)成為標(biāo)配。很難想象一家企業(yè)沒(méi)有自己的服務(wù)號(hào),一個(gè)媒體人沒(méi)有自己的訂閱號(hào)。
筆者一直關(guān)注微信公眾平臺(tái)的最新進(jìn)展。在微信公眾平臺(tái)發(fā)布之初,筆者撰寫(xiě)了《微信公眾平臺(tái)開(kāi)發(fā)基礎(chǔ)與實(shí)踐》(機(jī)械工業(yè)出版社,2014)一書(shū),當(dāng)時(shí)微信版本為5.3;之后又撰寫(xiě)了《微信公眾平臺(tái)應(yīng)用開(kāi)發(fā)從入門到精通》(清華大學(xué)出版社,2015)一書(shū),當(dāng)時(shí)微信版本為6.2。
時(shí)光流逝,現(xiàn)在距離上一本書(shū)發(fā)表已將近兩年,微信版本已到6.5。對(duì)于高速發(fā)展的IT行業(yè)來(lái)說(shuō),兩年時(shí)間確實(shí)能夠使知識(shí)變得陳舊,技術(shù)趨于落后。在這兩年時(shí)間,微信公眾平臺(tái)發(fā)布了微信JS-SDK來(lái)為HTML 5提供原生功能支持,增加了微信卡券、微信門店、微信小店等新功能,開(kāi)放了微信連Wi-Fi、微信搖一搖周邊和微信掃一掃接口。最重要的是,微信團(tuán)隊(duì)在2017年1月9日發(fā)布了小程序,并將其與公眾號(hào)打通,這給IT從業(yè)者帶來(lái)了新的機(jī)遇與挑戰(zhàn)。于是,筆者有必要將公眾號(hào)的最新進(jìn)展記錄下來(lái),給想了解公眾號(hào)最新技術(shù)的讀者提供一些幫助。
本書(shū)的更新之處除了公眾號(hào)最新的開(kāi)放能力外,還有根據(jù)讀者意見(jiàn)的內(nèi)容修訂。之前的兩本書(shū)出版后,筆者收到了許多讀者的郵件,在疑問(wèn)、建議和勘誤。筆者將讀者的意見(jiàn)進(jìn)行了整理,并在新書(shū)出版之際,對(duì)書(shū)中不明、易混、錯(cuò)誤之處加以更正。
如何閱讀本書(shū)本書(shū)在內(nèi)容邏輯上分為4部分。
第一部分(第1章~第3章)介紹公眾平臺(tái)的基礎(chǔ)知識(shí)、編輯模式的使用和開(kāi)發(fā)環(huán)境的搭建。通過(guò)這部分的學(xué)習(xí),讀者可以使用編輯模式來(lái)運(yùn)營(yíng)公眾賬號(hào),并通過(guò)簡(jiǎn)單的配置來(lái)搭建開(kāi)發(fā)環(huán)境,開(kāi)發(fā)第一個(gè)DEMO應(yīng)用,為后面的學(xué)習(xí)打下基礎(chǔ)。
第二部分(第4章~第7章)重點(diǎn)介紹公眾平臺(tái)的消息相關(guān)接口及九大高級(jí)接口,提供完整的封裝類,還將介紹Weixin JS和JS SDK開(kāi)發(fā)。讀者在學(xué)完本部分之后,能夠?qū)娖脚_(tái)提供的全部服務(wù)有所了解。本部分將提供眾多的案例供讀者學(xué)習(xí)。
第三部分(第8章~第12章)以大項(xiàng)目為例,每章實(shí)現(xiàn)一個(gè)公眾號(hào)的功能。5個(gè)項(xiàng)目分別為餐廳管家、微商城、微酒店、游戲開(kāi)發(fā):誰(shuí)是臥底、HTML 5小游戲開(kāi)發(fā),探討的內(nèi)容包括自定義菜單、二維碼、微信支付、微信小店、位置服務(wù)等。學(xué)習(xí)完本部分,讀者完全有能力開(kāi)發(fā)企業(yè)級(jí)的公眾號(hào)。
第四部分(第13、14章)為拓展閱讀,介紹微信公眾號(hào)在O2O領(lǐng)域的開(kāi)放能力,并講解微信重磅推出的小程序。學(xué)習(xí)完本部分,讀者會(huì)了解到微信公眾號(hào)和小程序能做什么、能適應(yīng)什么樣的場(chǎng)景、能有多大的前景。
讀者對(duì)象對(duì)微信公眾平臺(tái)開(kāi)發(fā)感興趣的人員。
微信公眾賬號(hào)運(yùn)營(yíng)人員。
移動(dòng)互聯(lián)網(wǎng)開(kāi)發(fā)人員。
HTML 5開(kāi)發(fā)人員。
已有微信開(kāi)發(fā)基礎(chǔ),但對(duì)項(xiàng)目開(kāi)發(fā)不熟悉的開(kāi)發(fā)人員。
有編程經(jīng)驗(yàn),希望轉(zhuǎn)型做微信公眾平臺(tái)開(kāi)發(fā)的人員。
技術(shù)交流由于筆者水平有限,加之編寫(xiě)時(shí)間倉(cāng)促,書(shū)中難免會(huì)出現(xiàn)一些錯(cuò)誤或不準(zhǔn)確、不全面的地方,懇請(qǐng)讀者批評(píng)指正。為了更好地和讀者交流,筆者建立了一個(gè)網(wǎng)站,請(qǐng)?jiān)L問(wèn)以下地址:https://www.weixinbook.net/同時(shí),讀者有任何問(wèn)題,可以發(fā)送郵件到davidsp@foxmail.com郵箱,筆者會(huì)盡快為您解答。
代碼下載本書(shū)配套源代碼的下載地址:https://www.weixinbook.net/download/。若下載有問(wèn)題,請(qǐng)發(fā)送電子郵件至davidsp@foxmail.com,郵件標(biāo)題為“求代碼,微信公眾號(hào)開(kāi)發(fā)”。
致謝感謝騰訊公司的微信團(tuán)隊(duì),是他們創(chuàng)造了這款偉大的產(chǎn)品。
感謝清華大學(xué)出版社的王金柱編輯,感謝他在我寫(xiě)作過(guò)程中提供的幫助和支持。
謹(jǐn)以此書(shū)獻(xiàn)給我的家人,以及微信公眾平臺(tái)和所有離不開(kāi)微信的朋友們。
閆小坤2017年4月于北京
第1章 微信公眾平臺(tái)簡(jiǎn)介 1
1.1 微信:連接一切 2
1.1.1 物聯(lián)網(wǎng) 2
1.1.2 二維碼革命 3
1.2 認(rèn)識(shí)微信公眾平臺(tái) 4
1.2.1 大事記 4
1.2.2 分類:服務(wù)號(hào)與訂閱號(hào) 5
1.2.3 微信認(rèn)證 6
1.2.4 公眾號(hào)運(yùn)營(yíng) 7
1.2.5 微社區(qū) 8
1.2.6 微信公眾平臺(tái)管理后臺(tái) 8
1.3 本章小結(jié) 10
第2章 編輯模式和微信公眾號(hào) 11
2.1 開(kāi)啟編輯模式 12
2.2 自動(dòng)回復(fù)消息 12
2.2.1 開(kāi)啟自動(dòng)回復(fù) 13
2.2.2 被添加自動(dòng)回復(fù) 13
2.2.3 消息自動(dòng)回復(fù) 14
2.2.4 關(guān)鍵詞自動(dòng)回復(fù) 15
2.2.5 自動(dòng)回復(fù)優(yōu)先規(guī)則 16
2.3 自定義菜單 17
2.3.1 設(shè)置自定義菜單 17
2.3.2 設(shè)置動(dòng)作 18
2.4 投票 19
2.5 案例分析 20
2.5.1 利用自動(dòng)回復(fù)實(shí)現(xiàn)我的書(shū)目功能 20
2.5.2 自定義菜單的典型案例:小道消息 22
2.5.3 自定義菜單增加歷史消息 23
2.6 本章小結(jié) 24
第3章 搭建開(kāi)發(fā)環(huán)境 25
3.1 啟用公眾平臺(tái)開(kāi)發(fā)模式 26
3.1.1 申請(qǐng)網(wǎng)址接入 26
3.1.2 數(shù)據(jù)交換方式 28
3.1.3 接口列表 28
3.2 新浪云環(huán)境搭建 31
3.2.1 應(yīng)用創(chuàng)建 31
3.2.2 搭建本地開(kāi)發(fā)環(huán)境 35
3.2.3 SAE常用服務(wù) 38
3.2.4 新浪云虛擬主機(jī) 40
3.3 BAE環(huán)境搭建 45
3.3.1 創(chuàng)建工程 46
3.3.2 BAE常用服務(wù) 47
3.4 開(kāi)發(fā)第一個(gè)應(yīng)用 48
3.4.1 下載PHP SDK 48
3.4.2 微信公眾平臺(tái)接口測(cè)試賬號(hào)申請(qǐng) 48
3.4.3 上傳服務(wù)器 49
3.4.4 掃描二維碼 50
3.5 本章小結(jié) 51
第4章 消息接口API 52
4.1 接入開(kāi)發(fā)者模式 53
4.2 基礎(chǔ)支持 54
4.2.1 申請(qǐng)測(cè)試賬號(hào) 54
4.2.2 獲取access_token 55
4.3 接收消息 58
4.3.1 文本消息 58
4.3.2 圖片消息 60
4.3.3 語(yǔ)音消息 61
4.3.4 地理位置消息 62
4.3.5 鏈接消息 64
4.3.6 公眾平臺(tái)消息體簽名及加、解密 67
4.4 接收事件消息 67
4.4.1 關(guān)注/取消關(guān)注事件 68
4.4.2 掃描二維碼事件 69
4.4.3 上報(bào)地理位置事件 71
4.4.4 自定義菜單事件 72
4.5 回復(fù)消息 74
4.5.1 回復(fù)文本消息 74
4.5.2 回復(fù)圖片消息 75
4.5.3 回復(fù)語(yǔ)音消息 76
4.5.4 回復(fù)視頻消息 78
4.5.5 回復(fù)音樂(lè)消息 79
4.5.6 回復(fù)圖文消息 81
4.6 生成帶參數(shù)的二維碼 84
4.6.1 創(chuàng)建二維碼ticket 84
4.6.2 通過(guò)ticket換取二維碼 86
4.7 客服接口 87
4.8 語(yǔ)音識(shí)別 92
4.8.1 讓微信聽(tīng)懂你的話 92
4.8.2 翻譯助手 92
4.9 本章小結(jié) 96
第5章 高級(jí)接口 97
5.1 自定義菜單 98
5.1.1 自定義菜單的創(chuàng)建 98
5.1.2 自定義菜單的查詢和刪除 102
5.2 上傳/下載多媒體文件 102
5.2.1 上傳多媒體文件 102
5.2.2 下載多媒體文件 104
5.2.3 測(cè)試案例 105
5.3 用戶管理 106
5.3.1 管理分組 106
5.3.2 獲取用戶基本信息 112
5.3.3 獲取用戶列表 114
5.4 獲取用戶地理位置 116
5.5 OAuth 2.0網(wǎng)頁(yè)授權(quán) 117
5.5.1 配置授權(quán)回調(diào)域名 118
5.5.2 OAuth 2.0授權(quán)流程 119
5.5.3 代碼實(shí)現(xiàn) 122
5.5.4 案例 124
5.6 高級(jí)群發(fā)接口 126
5.6.1 上傳圖文消息素材 126
5.6.2 根據(jù)分組進(jìn)行群發(fā) 128
5.6.3 根據(jù)OpenID列表群發(fā) 134
5.6.4 刪除群發(fā) 134
5.6.5 事件推送群發(fā)結(jié)果 135
5.7 多客服功能 136
5.8 微信小店 139
5.9 模板消息 140
5.9.1 創(chuàng)建模板 140
5.9.2 發(fā)送模板消息 141
5.10 企業(yè)號(hào) 142
5.10.1 申請(qǐng)企業(yè)號(hào) 143
5.10.2 組織架構(gòu) 144
5.10.3 發(fā)送通知 145
5.11 本章小結(jié) 145
第6章 微信內(nèi)置瀏覽器Weixin JS接口 146
6.1 微信內(nèi)置瀏覽器 147
6.1.1 特征 147
6.1.2 WeixinJSBridge 148
6.2 WeixinJSBridge使用說(shuō)明 150
6.2.1 WeixinJSBridge接口一覽 150
6.2.2 界面接口 151
6.2.3 分享接口 153
6.2.4 監(jiān)聽(tīng)事件 156
6.2.5 功能接口 158
6.2.6 第三方App接口 159
6.3 案例 162
6.3.1 WeixinJSBridge的加載順序 162
6.3.2 隱藏/顯示W(wǎng)ebView分享按鈕 163
6.3.3 隱藏/顯示W(wǎng)ebView底部的導(dǎo)航欄 165
6.3.4 跳轉(zhuǎn)到掃描二維碼界面 167
6.3.5 關(guān)閉WebView 168
6.3.6 圖片預(yù)覽 170
6.4 微信iOS客戶端內(nèi)置瀏覽器適配 172
6.4.1 UIWebview和WKWebview介紹 172
6.4.2 內(nèi)核切換方法 172
6.4.3 內(nèi)核識(shí)別方法 173
6.4.4 微信內(nèi)置瀏覽器內(nèi)核判斷 174
6.4.5 適配注意事項(xiàng) 175
6. 5 本章小結(jié) 175
第7章 微信JS-SDK 176
7.1 微信JS-SDK簡(jiǎn)介 177
7.2 微信Web開(kāi)發(fā)者工具 178
7.3 JS-SDK的使用 180
7.3.1 JS接口安全域名 180
7.3.2 微信客戶端版本要求 181
7.4 在SAE上使用JS-SDK 181
7.5 微信網(wǎng)頁(yè)開(kāi)發(fā)樣式庫(kù) 185
7.6 本章小結(jié) 186
第8章 餐廳管家 187
8.1 功能設(shè)計(jì) 188
8.1.1 需求分析 188
8.1.2 功能演示 189
8.1.3 注意事項(xiàng) 191
8.2 “餐廳管家”的實(shí)現(xiàn)一:創(chuàng)建自定義菜單 191
8.2.1 自定義菜單 192
8.2.2 數(shù)據(jù)庫(kù)操作類封裝 193
8.2.3 微信消息接口 206
8.3 “餐廳管家”的實(shí)現(xiàn)二:預(yù)約管理 215
8.3.1 數(shù)據(jù)表設(shè)計(jì) 215
8.3.2 流程設(shè)計(jì) 216
8.3.3 網(wǎng)頁(yè)與樣式 217
8.3.4 預(yù)約頁(yè)面 218
8.3.5 我的預(yù)約頁(yè)面 222
8.4 “餐廳管家”的實(shí)現(xiàn)三:菜單管理 223
8.4.1 數(shù)據(jù)表設(shè)計(jì) 223
8.4.2 菜單展示頁(yè)面 224
8.4.3 菜單管理后臺(tái) 226
8.5 “餐廳管家”的實(shí)現(xiàn)四:優(yōu)惠券二維碼 226
8.5.1 數(shù)據(jù)庫(kù)設(shè)計(jì) 226
8.5.2 生成二維碼優(yōu)惠券 227
8.5.3 優(yōu)惠券列表 230
8.5.4 使用優(yōu)惠券 233
8.5.5 利用WebSocket實(shí)現(xiàn)信息推送 237
8.6 “餐廳管家”的實(shí)現(xiàn)五:路線導(dǎo)航 239
8.6.1 騰訊地圖API 239
8.6.2 數(shù)據(jù)庫(kù)設(shè)計(jì) 240
8.6.3 添加飯店位置 241
8.6.4 獲取用戶位置 244
8.6.5 路徑選擇算法 245
8.7 本章小結(jié) 252
第9章 微商城 253
9.1 抽獎(jiǎng)系統(tǒng) 254
9.1.1 前端展示 254
9.1.2 抽獎(jiǎng)動(dòng)畫(huà) 254
9.1.3 中獎(jiǎng)概率 255
9.1.4 抽獎(jiǎng)控制邏輯 256
9.1.5 數(shù)據(jù)表設(shè)計(jì) 257
9.1.6 代碼實(shí)現(xiàn) 258
9.2 微信支付 263
9.2.1 微信支付介紹 263
9.2.2 JS API支付 264
9.2.3 安全支付 269
9.2.4 訂單查詢 272
9.3 微信小店 274
9.3.1 認(rèn)識(shí)微信小店 274
9.3.2 開(kāi)店五步 275
9.4 多客服功能 278
9.4.1 服務(wù)開(kāi)通 278
9.4.2 添加客服工號(hào) 279
9.4.3 在電腦上使用多客服 280
9.4.4 在微信上使用多客服 280
9.5 本章小結(jié) 281
第10章 微酒店 282
10.1 微酒店功能及設(shè)計(jì) 283
10.1.1 功能 283
10.1.2 數(shù)據(jù)庫(kù)設(shè)計(jì) 283
10.2 功能實(shí)現(xiàn) 284
10.2.1 自定義菜單 284
10.2.2 消息處理 286
10.2.3 位置消息 287
10.2.4 附近酒店 288
10.2.5 預(yù)訂酒店頁(yè)面 291
10.2.6 用戶注冊(cè)頁(yè)面 295
10.2.7 添加訂單頁(yè)面 297
10.2.8 我的訂單頁(yè)面 300
10.2.9 退訂 303
10.2.10 訂單后臺(tái)管理 304
10.2.11 我的會(huì)員卡 307
10.3 本章小結(jié) 308
第11章 游戲開(kāi)發(fā):誰(shuí)是臥底 309
11.1 誰(shuí)是臥底功能及設(shè)計(jì) 310
11.1.1 游戲規(guī)則 310
11.1.2 核心流程 310
11.1.3 數(shù)據(jù)表設(shè)計(jì) 310
11.2 代碼實(shí)現(xiàn) 311
11.2.1 消息判斷 311
11.2.2 創(chuàng)建游戲 313
11.2.3 創(chuàng)建房間 314
11.2.4 換詞 317
11.2.5 改詞 318
11.2.6 加入房間 318
11.2.7 后臺(tái)操作 319
11.3 效果展示 320
11.4 本章小結(jié) 321
第12章 HTML 5小游戲開(kāi)發(fā) 322
12.1 一秒鐘有多長(zhǎng) 323
12.1.1 界面與樣式 323
12.1.2 Zepto實(shí)現(xiàn) 325
12.1.3 Vue.js實(shí)現(xiàn) 327
12.2 測(cè)測(cè)你是三國(guó)殺中的誰(shuí)——測(cè)試類游戲通用解決方案 332
12.2.1 JSON介紹 332
12.2.2 問(wèn)題和答案的數(shù)據(jù)結(jié)構(gòu) 333
12.2.3 代碼解析 334
12.3 本章小結(jié) 337
第13章 微信與O2O 338
13.1 微信小店 339
13.1.1 小店功能 339
13.1.2 開(kāi)發(fā)接口 341
13.2 微信搖一搖周邊 342
13.3 微信連Wi-Fi 343
13.4 微信掃一掃 348
13.5 本章小結(jié) 349
第14章 公眾號(hào)與小程序 350
14.1 小程序介紹 351
14.1.1 小程序是什么 351
14.1.2 小程序的開(kāi)放能力 351
14.1.3 小程序的前世今生 351
14.2 《一秒鐘有多長(zhǎng)》小游戲 352
14.2.1 游戲規(guī)則 352
14.2.2 下載與運(yùn)行 353
14.2.3 界面、樣式與腳本 354
14.3 本章小結(jié) 356
第1章 微信公眾平臺(tái)簡(jiǎn)介坐擁8億注冊(cè)月活躍用戶的微信已成為很多人裝機(jī)的必備軟件。人們發(fā)語(yǔ)音聊天,刷朋友圈,讀公眾賬號(hào)文章,過(guò)著離不開(kāi)微信的日子。對(duì)廣大開(kāi)發(fā)者有利的是,這個(gè)移動(dòng)互聯(lián)網(wǎng)上的重要入口一開(kāi)始就以開(kāi)放姿態(tài)面世。微信提供了公眾平臺(tái)和開(kāi)放平臺(tái),分別供公眾賬號(hào)運(yùn)營(yíng)者和移動(dòng)應(yīng)用開(kāi)發(fā)者使用。
再小的個(gè)體也有自己的品牌。無(wú)論是企業(yè)、組織,還是媒體、個(gè)人,微信公眾平臺(tái)都可以以輕應(yīng)用的形式提供服務(wù)。公眾平臺(tái)的編輯模式使不會(huì)編程的用戶也能輕松使用,而開(kāi)發(fā)模式和眾多的開(kāi)放接口為開(kāi)發(fā)者提供了廣闊的想象空間和難得的機(jī)遇。
本章重點(diǎn)介紹一下微信、微信公眾平臺(tái)及公眾賬號(hào),希望讀者在投入微信公眾平臺(tái)開(kāi)發(fā)時(shí),對(duì)微信公眾平臺(tái)能做什么、鼓勵(lì)做什么有一定的認(rèn)識(shí),避免在開(kāi)發(fā)中走彎路。
1.1 微信:連接一切不止一種技術(shù)幻想過(guò)這樣的場(chǎng)景:快下班時(shí)對(duì)空調(diào)說(shuō)“溫度降到27度”,對(duì)熱水器說(shuō)“燒熱水要洗澡”。企業(yè)以智能家居為物聯(lián)網(wǎng)技術(shù)的突破口,已經(jīng)使這樣的場(chǎng)景變?yōu)榱爽F(xiàn)實(shí)。微信不止可以連接人,還可以連接能上網(wǎng)的機(jī)器。每個(gè)機(jī)器都有二維碼作為設(shè)備ID,在微信里可以通過(guò)和設(shè)備對(duì)話來(lái)控制設(shè)備。微信作為連接者,已經(jīng)成為最有價(jià)值的、用戶與用戶最滿意的產(chǎn)品之間的橋梁。
1.1.1 物聯(lián)網(wǎng)微信有兩大逆天功能:搖一搖和掃一掃。前者曾創(chuàng)造了“點(diǎn)亮廣州塔”的輝煌事跡,后者則培養(yǎng)了用戶見(jiàn)黑白方塊就掃的習(xí)慣。見(jiàn)到下面印有二維碼的奶牛(見(jiàn)圖1-1),讀者是不是有掃一掃的沖動(dòng)呢?
圖1-1真的能掃!你會(huì)發(fā)現(xiàn)打開(kāi)了網(wǎng)頁(yè),上面這樣介紹這頭奶牛:名字:Shamrock品種:黑白花乳牛每天產(chǎn)30~40升牛奶。
夏天到野外吃新鮮青草,冬天青草不再生長(zhǎng)時(shí),改吃青貯飼料。
需要平衡的飲食。
時(shí)常有農(nóng)業(yè)科學(xué)家來(lái)和農(nóng)場(chǎng)主討論青貯飼料和谷物的比例,并制定一系列計(jì)劃來(lái)保證它的健康。
這是一篇來(lái)自BBC的報(bào)道,農(nóng)場(chǎng)主給奶牛身上涂上二維碼來(lái)宣傳牧場(chǎng)。只要掃一下奶牛身上的二維碼,即可知道這頭奶牛的所有資料。
奶牛二維碼的內(nèi)容是一個(gè)短鏈接:http://goo.gl/yAE1Q,完整URL為:http://www.thisisdairyfarming.com/news-press/in-the-news/lady-shamrock/不能掃一掃的讀者可以訪問(wèn)此鏈接。
這在技術(shù)上并不神奇,生成二維碼和掃描二維碼都是業(yè)界成熟的技術(shù)。但利用微信“掃一掃”連接奶牛(物理世界)和互聯(lián)網(wǎng)(信息世界),或者用微信控制家用電器,這種人與物、物與物之間的連接正是物聯(lián)網(wǎng)的基礎(chǔ)。
1.1.2 二維碼革命奶牛身上印有二維碼,掃描后顯示鏈接(文字),再跳轉(zhuǎn)到相應(yīng)的網(wǎng)頁(yè)。這說(shuō)明二維碼是一種編碼方式,這里介紹一下二維碼及其前景。
1. 什么是二維碼二維碼英文為Quick Response Code,簡(jiǎn)寫(xiě)為QR Code。通俗地講,二維碼是二維的條形碼,可以在水平和豎直方向同時(shí)存儲(chǔ)信息。生成的二維碼圖形一般為正方形,根據(jù)特定的編碼方式,在平面(二維方向)上繪制黑白相間的圖形,如微信公眾平臺(tái)的二維碼。
大家是否見(jiàn)過(guò)圖1-2所示的兩張火車樣票?
圖1-2我相信大多數(shù)讀者都見(jiàn)過(guò)右邊的藍(lán)票,左邊的紅票為軟紙票,是1997年確定的車票統(tǒng)一樣式。2009年12月,鐵路部門對(duì)火車票進(jìn)行升級(jí)改版,并在2010年春運(yùn)前推出磁卡票(藍(lán)票)。
藍(lán)票與紅票最明顯的變化是車票下方的條形碼變成了二維碼。