微信是時(shí)下熱門(mén)的社交通信平臺(tái),它已經(jīng)全面融入我們的生活,正如它的口號(hào)所說(shuō),微信是一種生活方式。本書(shū)介紹微信及微信公眾平臺(tái)上的開(kāi)發(fā),涵蓋了包括微信支付在內(nèi)的所有接口的技術(shù)講解,以各類(lèi)應(yīng)用開(kāi)發(fā)為實(shí)例,將前沿的技術(shù)融入微信開(kāi)發(fā)中。
前言出版說(shuō)明自從方倍工作室推出微信公眾平臺(tái)開(kāi)發(fā)系列教程后,受到廣大微信開(kāi)發(fā)人員及愛(ài)好者的熱情關(guān)注,相關(guān)文章的日訪問(wèn)量高達(dá)2萬(wàn)人次,而《微信公眾平臺(tái)開(kāi)發(fā)入門(mén)教程》的閱讀量早已超過(guò)130萬(wàn),博客訪問(wèn)量總計(jì)超過(guò)1500萬(wàn),成為微信公眾平臺(tái)開(kāi)發(fā)更新較快、傳播較廣、受眾較多、資料較全的博客。眾多博文被很多有影響力的網(wǎng)站轉(zhuǎn)載,并被各大搜索引擎收錄且排名靠前,這些是我們始料未及的。
然而更讓人高興的是,很多開(kāi)發(fā)者通過(guò)學(xué)習(xí)我們的教程學(xué)會(huì)了微信公眾平臺(tái)開(kāi)發(fā),并且通過(guò)微信開(kāi)發(fā)有所收益。2013年10月17日,我們?cè)赒Q空間發(fā)布新版的《微信公眾平臺(tái)開(kāi)發(fā)入門(mén)教程》鏈接后,網(wǎng)友“我叫不熬夜”在空間中回復(fù),他之前通過(guò)學(xué)習(xí)我們的微信開(kāi)發(fā)教程賺到了2000元,而他當(dāng)時(shí)還只是一名學(xué)生。這條回復(fù)記錄至今還保存在方倍工作室的QQ空間中,這給了我們不斷前進(jìn)的動(dòng)力。
為了推出更好、更有價(jià)值的作品,在策劃編輯王彬先生的支持下,我們整合已有的教程資源,并從2013~2016年的幾百個(gè)開(kāi)發(fā)案例中挑選出最受歡迎的功能應(yīng)用,編寫(xiě)了本書(shū)。新教程中全面介紹了微信公眾平臺(tái)包括自定義菜單、網(wǎng)頁(yè)授權(quán)、微信支付、微信紅包、模板消息、微信連WiFi、企業(yè)號(hào)、小程序、微信開(kāi)放平臺(tái)、一鍵關(guān)注等在內(nèi)的所有接口及使用方法,并且輔以30多個(gè)功能應(yīng)用案例及技巧,同時(shí)在分析過(guò)程中融合相關(guān)知識(shí)與技術(shù),所有功能的分析講解都力求使讀者不僅“知其然”,而且“知其所以然”,以期為讀者奉獻(xiàn)一本含金量高的書(shū)籍。
閱讀指南本書(shū)共分為25章。
第1章簡(jiǎn)要介紹了微信及其主要平臺(tái):微信公眾平臺(tái)與微信開(kāi)放平臺(tái),重點(diǎn)介紹了微信公眾平臺(tái)后臺(tái)的各項(xiàng)功能。
第2章介紹了如何搭建本地開(kāi)發(fā)環(huán)境,以及使用PHP作為開(kāi)發(fā)語(yǔ)言時(shí)的程序開(kāi)發(fā)基礎(chǔ)。
第3章以性價(jià)比較高及方便性最好的新浪云為對(duì)象,介紹了申請(qǐng)服務(wù)器資源的方法,擁有服務(wù)器資源是進(jìn)行微信公眾平臺(tái)開(kāi)發(fā)的前提。同時(shí)介紹了如何啟用微信公眾平臺(tái)的開(kāi)發(fā)模式,及啟用過(guò)程中常見(jiàn)問(wèn)題的解決方法,最后對(duì)微信公眾平臺(tái)自動(dòng)回復(fù)的原理作了分析。讀者需要理解開(kāi)發(fā)模式的原理,這是進(jìn)行后續(xù)開(kāi)發(fā)的基礎(chǔ)。
第4章介紹了微信公眾平臺(tái)基礎(chǔ)接口的3個(gè)部分,主要包括接收普通消息、發(fā)送被動(dòng)回復(fù)消息,以及接收事件推送消息3個(gè)方面。這些消息類(lèi)型是微信公眾平臺(tái)與用戶交互的基礎(chǔ)功能。
第5章介紹了AccessToken和自定義菜單。AccessToken是微信接口調(diào)用的“總管”。自定義菜單是微信界面開(kāi)發(fā)的第一步。
第6章介紹了用戶列表與用戶基本信息的相關(guān)知識(shí),附帶了如何制作個(gè)性化歡迎語(yǔ)的案例。
第7章介紹了網(wǎng)頁(yè)授權(quán)以及微信官方樣式庫(kù)WeUI。網(wǎng)頁(yè)授權(quán)是微信網(wǎng)頁(yè)開(kāi)發(fā)中最重要的功能之一。WeUI是微信官方推薦的微信網(wǎng)頁(yè)樣式庫(kù)。
第8章介紹了參數(shù)二維碼和來(lái)源統(tǒng)計(jì)。參數(shù)二維碼是服務(wù)號(hào)進(jìn)行線下推廣的最重要方式之一。
第9章介紹了客服接口和群發(fā)接口?头涌谑蔷S護(hù)客戶關(guān)系的重要方式之一。群發(fā)接口是微信內(nèi)容發(fā)布的主要渠道。
第10章介紹了微信小店和模板消息。微信小店是微信公眾平臺(tái)打造的原生電商模式,可幫助商家實(shí)現(xiàn)技術(shù)“零門(mén)檻”的電商接入模式。
第11章介紹了客服管理。多客服功能為需要將公眾號(hào)接入客服平臺(tái)的企業(yè)提供了一系列接口。
第12章介紹了素材管理。對(duì)于有大量素材需要進(jìn)行批量處理的開(kāi)發(fā)者,使用接口可以減少工作量,加快編輯速度。
第13章介紹了數(shù)據(jù)統(tǒng)計(jì)。通過(guò)數(shù)據(jù)統(tǒng)計(jì)接口,可以獲取與公眾平臺(tái)官網(wǎng)統(tǒng)計(jì)模塊類(lèi)似但更靈活的數(shù)據(jù),還可根據(jù)需要進(jìn)行高級(jí)處理。
第14章介紹了微信JS-SDK。微信JS-SDK是微信公眾平臺(tái)面向網(wǎng)頁(yè)開(kāi)發(fā)者提供的基于微信內(nèi)的網(wǎng)頁(yè)開(kāi)發(fā)工具包,可以為微信用戶提供更優(yōu)質(zhì)的網(wǎng)頁(yè)體驗(yàn)。
第15章介紹了微信門(mén)店。微信門(mén)店管理接口為商戶提供了門(mén)店批量導(dǎo)入、查詢、修改、刪除等主要功能,方便商戶快速、高效地進(jìn)行門(mén)店管理和操作。
第16章介紹了微信卡券與會(huì)員卡。微信卡券功能是微信為商戶提供的一套完整的電子卡券解決方案。
第17章介紹了微信支付和微信紅包。微信公眾號(hào)支付是集成在微信公眾號(hào)上的支付功能,商戶為用戶提供產(chǎn)品或服務(wù),用戶可以通過(guò)微信客戶端快速完成支付流程。
第18章介紹了微信連WiFi。微信連WiFi為商家的線下場(chǎng)所提供了一套完整和便捷的微信連WiFi的方案,既可以極大地提升用戶體驗(yàn),又可以幫助商家提供精準(zhǔn)的近場(chǎng)服務(wù)。
第19章介紹了微信搖一搖周邊。微信搖一搖周邊為線下商戶提供了近距離連接用戶的能力,并支持線下商戶向周邊用戶提供個(gè)性化營(yíng)銷(xiāo)、互動(dòng)及信息推薦等服務(wù)。
第20章介紹了微信企業(yè)號(hào)和企業(yè)微信。微信企業(yè)號(hào)是微信為企業(yè)客戶提供的移動(dòng)應(yīng)用入口。它可以幫助企業(yè)建立員工、上下游供應(yīng)鏈與企業(yè)IT系統(tǒng)間的連接。企業(yè)微信是騰訊公司發(fā)布的全平臺(tái)企業(yè)辦公工具。
第21章介紹了微信小程序。微信小程序是一種不需要下載、安裝即可使用的應(yīng)用,它實(shí)現(xiàn)了應(yīng)用“觸手可及”的夢(mèng)想。用戶掃一掃或搜一下即可打開(kāi)小程序,體現(xiàn)了“用完即走”的理念。
第22章介紹了微信開(kāi)放平臺(tái)。微信開(kāi)放平臺(tái)是為移動(dòng)應(yīng)用、網(wǎng)站應(yīng)用、公眾賬號(hào)及公眾號(hào)第三方平臺(tái)提供服務(wù)的平臺(tái)。
第23章介紹了一些微信開(kāi)發(fā)的實(shí)用技巧。這些功能能在某些特定的方面豐富程序的功能,或者可定制想要的內(nèi)容。
第24章介紹了多個(gè)最常見(jiàn)應(yīng)用的開(kāi)發(fā)。這些應(yīng)用都是非常受用戶歡迎的,讀者學(xué)習(xí)完后可以快速移植到自己的微信公眾平臺(tái),提高粉絲的存在價(jià)值。
第25章介紹了基于ThinkPHP5開(kāi)發(fā)的微信用戶管理系統(tǒng)。ThinkPHP5是新一代的高性能開(kāi)發(fā)框架,是企業(yè)快速、高效開(kāi)發(fā)新項(xiàng)目的首選。
本書(shū)的程序案例采用廣泛流行的PHP、MySQL、XML、CSS、JS、HTML5等程序開(kāi)發(fā)語(yǔ)言及數(shù)據(jù)庫(kù)實(shí)現(xiàn)。將案例和相關(guān)知識(shí)點(diǎn)融合,所有案例均在書(shū)中給出了核心實(shí)現(xiàn)代碼并進(jìn)行了講解。初學(xué)者可以在了解PHP和MySQL語(yǔ)法之后,從頭至尾地學(xué)習(xí),對(duì)于其中難以理解的部分可以查閱相關(guān)資料,部分功能的開(kāi)發(fā)還需要讀者具有一定的JS、CSS等知識(shí)。有經(jīng)驗(yàn)的微信公眾平臺(tái)開(kāi)發(fā)人員可以根據(jù)自己的需要,直接切入相應(yīng)章節(jié)。對(duì)于其他從業(yè)人員,則可以選擇自己感興趣的內(nèi)容閱讀。
由于作者水平及能力有限,加之時(shí)間倉(cāng)促,書(shū)中難免出現(xiàn)錯(cuò)誤和不妥之處,對(duì)于一些依賴第三方功能的實(shí)現(xiàn)也難以保證可以永久使用,懇請(qǐng)讀者批評(píng)指正!
源碼下載本書(shū)的源代碼可以從方倍工作室的微信公眾賬號(hào)(微信號(hào):fbxxjs)下載,歡迎關(guān)注并下載。
讀者對(duì)象本書(shū)適合以下人群:
想了解移動(dòng)互聯(lián)網(wǎng)及微信公眾平臺(tái)發(fā)展的行業(yè)從業(yè)人員。
想了解微信公眾平臺(tái)產(chǎn)品使用方法、技巧及效果評(píng)估的微信營(yíng)銷(xiāo)人員。
想提高會(huì)員活躍度、提高指標(biāo)轉(zhuǎn)化率、推進(jìn)品牌推廣的公眾平臺(tái)運(yùn)營(yíng)人員。
想學(xué)習(xí)微信公眾平臺(tái)開(kāi)發(fā)的入門(mén)、初級(jí)、中級(jí)、高級(jí)開(kāi)發(fā)人員。
想使用微信公眾平臺(tái)兼職開(kāi)發(fā)、創(chuàng)業(yè)等渴望更成功人。
想搭建企業(yè)內(nèi)部強(qiáng)大及實(shí)用的微信公眾平臺(tái)的開(kāi)發(fā)團(tuán)隊(duì)。
致謝首先感謝“微信之父”張小龍先生及其微信團(tuán)隊(duì),是他們創(chuàng)造了“微信”這一經(jīng)典傳世之作。
感謝本書(shū)策劃編輯王彬先生的支持,他促成了本書(shū)的出版。
感謝我最親愛(ài)的家人在背后的默默支持與付出。
本書(shū)在成書(shū)過(guò)程中,也得到了諸多同行人員的支持與鼓勵(lì),在此一并致謝。
謹(jǐn)以此書(shū)獻(xiàn)給所有熱愛(ài)移動(dòng)互聯(lián)網(wǎng)和微信及微信公眾平臺(tái)的人們。
方倍2017年1月于深圳
陶瑾,網(wǎng)名“方倍”,微信公眾平臺(tái)開(kāi)發(fā)先行者之一,曾在國(guó)內(nèi)領(lǐng)先的通訊公司及跨國(guó)公司擔(dān)心軟件測(cè)試、協(xié)議棧開(kāi)發(fā)、高級(jí)軟件自動(dòng)化工程師職位,擁有2項(xiàng)移動(dòng)通訊相關(guān)的專利。其于2013年創(chuàng)立的方倍工作室,已為互聯(lián)網(wǎng)、廣電、教育、地產(chǎn)、醫(yī)療、金融、交通、餐飲、保險(xiǎn)、公安、農(nóng)業(yè)等諸多行業(yè)客戶提供微信公眾平臺(tái)開(kāi)發(fā)及運(yùn)營(yíng)服務(wù)。
目 錄
前言
第1章 微信公眾平臺(tái)介紹 1
1.1 微信及其平臺(tái) 1
1.2 微信公眾賬號(hào)注冊(cè) 2
1.2.1 注冊(cè)公眾賬號(hào) 2
1.2.2 注冊(cè)測(cè)試號(hào) 5
1.3 微信公眾平臺(tái)的使用 7
1.3.1 功能 7
1.3.2 微信支付 10
1.3.3 管理 10
1.3.4 推廣 13
1.3.5 統(tǒng)計(jì) 13
1.3.6 設(shè)置 14
1.3.7 開(kāi)發(fā)者中心 16
1.4 本章小結(jié) 16
第2章 本地開(kāi)發(fā)環(huán)境搭建及程序開(kāi)發(fā)基礎(chǔ) 17
2.1 本地開(kāi)發(fā)環(huán)境的搭建 17
2.1.1 WampServer的安裝 17
2.1.2 其他開(kāi)發(fā)環(huán)境套件 19
2.2 程序開(kāi)發(fā)基礎(chǔ) 21
2.2.1 PHP語(yǔ)法及使用 21
2.2.2 MySQL的使用 28
2.2.3 其他常用語(yǔ)言 30
2.3 本章小結(jié) 33
第3章 服務(wù)器資源與消息交互原理 34
3.1 服務(wù)器資源 34
3.1.1 新浪云SAE 34
3.1.2 其他服務(wù)器資源 40
3.2 開(kāi)發(fā)工具 41
3.3 微信開(kāi)發(fā)者中心 41
3.3.1 配置和啟用服務(wù)器 41
3.3.2 配置失敗常見(jiàn)問(wèn)題與分析 43
3.3.3 自動(dòng)回復(fù)當(dāng)前時(shí)間 44
3.3.4 消息交互原理分析 45
3.3.5 消息體加/解密實(shí)現(xiàn) 48
3.4 微信開(kāi)發(fā)調(diào)試工具 54
3.4.1 微信調(diào)試器 54
3.4.2 接口調(diào)試工具 55
3.5 本章小結(jié) 57
第4章 接收消息與發(fā)送消息 58
4.1 接收普通消息 58
4.1.1 文本消息 58
4.1.2 圖片消息 58
4.1.3 語(yǔ)音消息 59
4.1.4 視頻消息 60
4.1.5 地理位置消息 61
4.1.6 鏈接消息 62
4.2 發(fā)送被動(dòng)回復(fù)消息 62
4.2.1 文本消息 63
4.2.2 圖片消息 63
4.2.3 語(yǔ)音消息 64
4.2.4 視頻消息 65
4.2.5 音樂(lè)消息 66
4.2.6 圖文消息 66
4.3 接收事件推送消息 69
4.4 案例實(shí)踐 70
4.4.1 微信基礎(chǔ)消息SDK 70
4.4.2 調(diào)用API實(shí)現(xiàn)圖文天氣預(yù)報(bào) 77
4.4.3 查詢數(shù)據(jù)庫(kù)回復(fù)笑話 82
4.5 本章小結(jié) 84
第5章 Access Token和自定義菜單 85
5.1 Access Token 85
5.1.1 Access Token介紹 85
5.1.2 接口調(diào)用請(qǐng)求說(shuō)明 85
5.1.3 實(shí)現(xiàn)代碼 86
5.2 自定義菜單 86
5.2.1 自定義菜單介紹 87
5.2.2 按鈕類(lèi)型 87
5.2.3 創(chuàng)建菜單 88
5.2.4 個(gè)性化菜單 91
5.2.5 查詢菜單 92
5.2.6 刪除菜單 93
5.2.7 菜單事件推送 94
5.3 案例實(shí)踐 98
5.3.1 自動(dòng)緩存與更新Access Token 98
5.3.2 掃描快遞條碼查詢快遞進(jìn)度 100
5.4 本章小結(jié) 102
第6章 用戶信息與用戶管理 103
6.1 用戶標(biāo)簽管理 103
6.1.1 創(chuàng)建標(biāo)簽 103
6.1.2 查詢所有標(biāo)簽 104
6.1.3 修改標(biāo)簽名 106
6.1.4 給用戶打標(biāo)簽 107
6.1.5 獲取用戶標(biāo)簽列表 108
6.2 用戶備注 109
6.3 用戶地理位置 110
6.3.1 獲取用戶地理位置 110
6.3.2 轉(zhuǎn)換坐標(biāo)到地址 111
6.4 用戶列表 113
6.4.1 獲取用戶列表 113
6.4.2 分批獲取 114
6.5 獲取用戶基本信息 116
6.6 案例實(shí)踐 118
6.6.1 個(gè)性化歡迎語(yǔ) 118
6.6.2 同步所有用戶信息 120
6.7 本章小結(jié) 124
第7章 網(wǎng)頁(yè)授權(quán)與網(wǎng)頁(yè)應(yīng)用開(kāi)發(fā) 125
7.1 OAuth2.0網(wǎng)頁(yè)授權(quán) 125
7.1.1 OAuth2.0 125
7.1.2 授權(quán)過(guò)程 125
7.1.3 詳細(xì)步驟 126
7.2 WeUI 131
7.3 案例實(shí)踐 141
7.3.1 網(wǎng)頁(yè)授權(quán)獲取個(gè)人信息 141
7.3.2 網(wǎng)頁(yè)判斷用戶是否關(guān)注 144
7.3.3 二次授權(quán)多個(gè)域名 145
7.4 本章小結(jié) 146
第8章 參數(shù)二維碼與來(lái)源統(tǒng)計(jì) 147
8.1 參數(shù)二維碼 147
8.1.1 創(chuàng)建二維碼ticket 147
8.1.2 通過(guò)URL生成二維碼圖片 149
8.1.3 通過(guò)ticket換取二維碼 150
8.1.4 下載二維碼 151
8.1.5 掃描帶參數(shù)二維碼事件 152
8.2 案例實(shí)踐 153
8.3 本章小結(jié) 158
第9章 客服接口與群發(fā)接口 159
9.1 客服接口 159
9.2 群發(fā)接口 169
9.2.1 上傳圖文消息內(nèi)的圖片 169
9.2.2 上傳縮略圖 170
9.2.3 上傳圖文消息素材 171
9.2.4 預(yù)覽群發(fā)內(nèi)容 172
9.2.5 根據(jù)標(biāo)簽進(jìn)行群發(fā) 173
9.2.6 根據(jù)OpenID列表進(jìn)行群發(fā) 174
9.2.7 刪除群發(fā) 175
9.2.8 查詢?nèi)喊l(fā)消息發(fā)送狀態(tài) 176
9.2.9 接收群發(fā)結(jié)果 177
9.3 案例實(shí)踐 177
9.3.1 一次回復(fù)多條消息 177
9.3.2 服務(wù)號(hào)每日群發(fā) 178
9.4 本章小結(jié) 182
第10章 微信小店和模板消息 183
10.1 微信小店的搭建 183
10.1.1 微信小店概況 183
10.1.2 運(yùn)費(fèi)模板管理 183
10.1.3 商品分組管理 184
10.1.4 圖片庫(kù) 185
10.1.5 添加商品 187
10.1.6 貨架管理 188
10.2 微信小店的二次開(kāi)發(fā) 190
10.2.1 微信小店SDK 190
10.2.2 訂單付款通知 193
10.2.3 訂單查詢 196
10.2.4 微信快遞查詢 201
10.2.5 模板消息提醒 201
10.3 本章小結(jié) 204
第11章 客服管理 205
11.1 消息轉(zhuǎn)發(fā) 205
11.1.1 消息轉(zhuǎn)發(fā)到客服 205
11.1.2 消息轉(zhuǎn)發(fā)到指定客服 205
11.2 客服管理 206
11.2.1 獲取客服列表 206
11.2.2 獲取在線客服列表 207
11.2.3 添加客服賬號(hào) 208
11.2.4 邀請(qǐng)綁定客服賬號(hào) 208
11.2.5 設(shè)置客服信息 209
11.2.6 上傳客服頭像 209
11.2.7 刪除客服賬號(hào) 210
11.3 會(huì)話控制 210
11.3.1 創(chuàng)建會(huì)話 210
1