微信是時(shí)下熱門的社交通信平臺,它已經(jīng)全面融入我們的生活,正如它的口號所說,微信是一種生活方式。本書介紹微信及微信公眾平臺上的開發(fā),涵蓋了包括微信支付在內(nèi)的所有接口的技術(shù)講解,以各類應(yīng)用開發(fā)為實(shí)例,將前沿的技術(shù)融入微信開發(fā)中。
前言出版說明自從方倍工作室推出微信公眾平臺開發(fā)系列教程后,受到廣大微信開發(fā)人員及愛好者的熱情關(guān)注,相關(guān)文章的日訪問量高達(dá)2萬人次,而《微信公眾平臺開發(fā)入門教程》的閱讀量早已超過130萬,博客訪問量總計(jì)超過1500萬,成為微信公眾平臺開發(fā)更新較快、傳播較廣、受眾較多、資料較全的博客。眾多博文被很多有影響力的網(wǎng)站轉(zhuǎn)載,并被各大搜索引擎收錄且排名靠前,這些是我們始料未及的。
然而更讓人高興的是,很多開發(fā)者通過學(xué)習(xí)我們的教程學(xué)會(huì)了微信公眾平臺開發(fā),并且通過微信開發(fā)有所收益。2013年10月17日,我們在QQ空間發(fā)布新版的《微信公眾平臺開發(fā)入門教程》鏈接后,網(wǎng)友“我叫不熬夜”在空間中回復(fù),他之前通過學(xué)習(xí)我們的微信開發(fā)教程賺到了2000元,而他當(dāng)時(shí)還只是一名學(xué)生。這條回復(fù)記錄至今還保存在方倍工作室的QQ空間中,這給了我們不斷前進(jìn)的動(dòng)力。
為了推出更好、更有價(jià)值的作品,在策劃編輯王彬先生的支持下,我們整合已有的教程資源,并從2013~2016年的幾百個(gè)開發(fā)案例中挑選出最受歡迎的功能應(yīng)用,編寫了本書。新教程中全面介紹了微信公眾平臺包括自定義菜單、網(wǎng)頁授權(quán)、微信支付、微信紅包、模板消息、微信連WiFi、企業(yè)號、小程序、微信開放平臺、一鍵關(guān)注等在內(nèi)的所有接口及使用方法,并且輔以30多個(gè)功能應(yīng)用案例及技巧,同時(shí)在分析過程中融合相關(guān)知識與技術(shù),所有功能的分析講解都力求使讀者不僅“知其然”,而且“知其所以然”,以期為讀者奉獻(xiàn)一本含金量高的書籍。
閱讀指南本書共分為25章。
第1章簡要介紹了微信及其主要平臺:微信公眾平臺與微信開放平臺,重點(diǎn)介紹了微信公眾平臺后臺的各項(xiàng)功能。
第2章介紹了如何搭建本地開發(fā)環(huán)境,以及使用PHP作為開發(fā)語言時(shí)的程序開發(fā)基礎(chǔ)。
第3章以性價(jià)比較高及方便性最好的新浪云為對象,介紹了申請服務(wù)器資源的方法,擁有服務(wù)器資源是進(jìn)行微信公眾平臺開發(fā)的前提。同時(shí)介紹了如何啟用微信公眾平臺的開發(fā)模式,及啟用過程中常見問題的解決方法,最后對微信公眾平臺自動(dòng)回復(fù)的原理作了分析。讀者需要理解開發(fā)模式的原理,這是進(jìn)行后續(xù)開發(fā)的基礎(chǔ)。
第4章介紹了微信公眾平臺基礎(chǔ)接口的3個(gè)部分,主要包括接收普通消息、發(fā)送被動(dòng)回復(fù)消息,以及接收事件推送消息3個(gè)方面。這些消息類型是微信公眾平臺與用戶交互的基礎(chǔ)功能。
第5章介紹了AccessToken和自定義菜單。AccessToken是微信接口調(diào)用的“總管”。自定義菜單是微信界面開發(fā)的第一步。
第6章介紹了用戶列表與用戶基本信息的相關(guān)知識,附帶了如何制作個(gè)性化歡迎語的案例。
第7章介紹了網(wǎng)頁授權(quán)以及微信官方樣式庫WeUI。網(wǎng)頁授權(quán)是微信網(wǎng)頁開發(fā)中最重要的功能之一。WeUI是微信官方推薦的微信網(wǎng)頁樣式庫。
第8章介紹了參數(shù)二維碼和來源統(tǒng)計(jì)。參數(shù)二維碼是服務(wù)號進(jìn)行線下推廣的最重要方式之一。
第9章介紹了客服接口和群發(fā)接口。客服接口是維護(hù)客戶關(guān)系的重要方式之一。群發(fā)接口是微信內(nèi)容發(fā)布的主要渠道。
第10章介紹了微信小店和模板消息。微信小店是微信公眾平臺打造的原生電商模式,可幫助商家實(shí)現(xiàn)技術(shù)“零門檻”的電商接入模式。
第11章介紹了客服管理。多客服功能為需要將公眾號接入客服平臺的企業(yè)提供了一系列接口。
第12章介紹了素材管理。對于有大量素材需要進(jìn)行批量處理的開發(fā)者,使用接口可以減少工作量,加快編輯速度。
第13章介紹了數(shù)據(jù)統(tǒng)計(jì)。通過數(shù)據(jù)統(tǒng)計(jì)接口,可以獲取與公眾平臺官網(wǎng)統(tǒng)計(jì)模塊類似但更靈活的數(shù)據(jù),還可根據(jù)需要進(jìn)行高級處理。
第14章介紹了微信JS-SDK。微信JS-SDK是微信公眾平臺面向網(wǎng)頁開發(fā)者提供的基于微信內(nèi)的網(wǎng)頁開發(fā)工具包,可以為微信用戶提供更優(yōu)質(zhì)的網(wǎng)頁體驗(yàn)。
第15章介紹了微信門店。微信門店管理接口為商戶提供了門店批量導(dǎo)入、查詢、修改、刪除等主要功能,方便商戶快速、高效地進(jìn)行門店管理和操作。
第16章介紹了微信卡券與會(huì)員卡。微信卡券功能是微信為商戶提供的一套完整的電子卡券解決方案。
第17章介紹了微信支付和微信紅包。微信公眾號支付是集成在微信公眾號上的支付功能,商戶為用戶提供產(chǎn)品或服務(wù),用戶可以通過微信客戶端快速完成支付流程。
第18章介紹了微信連WiFi。微信連WiFi為商家的線下場所提供了一套完整和便捷的微信連WiFi的方案,既可以極大地提升用戶體驗(yàn),又可以幫助商家提供精準(zhǔn)的近場服務(wù)。
第19章介紹了微信搖一搖周邊。微信搖一搖周邊為線下商戶提供了近距離連接用戶的能力,并支持線下商戶向周邊用戶提供個(gè)性化營銷、互動(dòng)及信息推薦等服務(wù)。
第20章介紹了微信企業(yè)號和企業(yè)微信。微信企業(yè)號是微信為企業(yè)客戶提供的移動(dòng)應(yīng)用入口。它可以幫助企業(yè)建立員工、上下游供應(yīng)鏈與企業(yè)IT系統(tǒng)間的連接。企業(yè)微信是騰訊公司發(fā)布的全平臺企業(yè)辦公工具。
第21章介紹了微信小程序。微信小程序是一種不需要下載、安裝即可使用的應(yīng)用,它實(shí)現(xiàn)了應(yīng)用“觸手可及”的夢想。用戶掃一掃或搜一下即可打開小程序,體現(xiàn)了“用完即走”的理念。
第22章介紹了微信開放平臺。微信開放平臺是為移動(dòng)應(yīng)用、網(wǎng)站應(yīng)用、公眾賬號及公眾號第三方平臺提供服務(wù)的平臺。
第23章介紹了一些微信開發(fā)的實(shí)用技巧。這些功能能在某些特定的方面豐富程序的功能,或者可定制想要的內(nèi)容。
第24章介紹了多個(gè)最常見應(yīng)用的開發(fā)。這些應(yīng)用都是非常受用戶歡迎的,讀者學(xué)習(xí)完后可以快速移植到自己的微信公眾平臺,提高粉絲的存在價(jià)值。
第25章介紹了基于ThinkPHP5開發(fā)的微信用戶管理系統(tǒng)。ThinkPHP5是新一代的高性能開發(fā)框架,是企業(yè)快速、高效開發(fā)新項(xiàng)目的首選。
本書的程序案例采用廣泛流行的PHP、MySQL、XML、CSS、JS、HTML5等程序開發(fā)語言及數(shù)據(jù)庫實(shí)現(xiàn)。將案例和相關(guān)知識點(diǎn)融合,所有案例均在書中給出了核心實(shí)現(xiàn)代碼并進(jìn)行了講解。初學(xué)者可以在了解PHP和MySQL語法之后,從頭至尾地學(xué)習(xí),對于其中難以理解的部分可以查閱相關(guān)資料,部分功能的開發(fā)還需要讀者具有一定的JS、CSS等知識。有經(jīng)驗(yàn)的微信公眾平臺開發(fā)人員可以根據(jù)自己的需要,直接切入相應(yīng)章節(jié)。對于其他從業(yè)人員,則可以選擇自己感興趣的內(nèi)容閱讀。
由于作者水平及能力有限,加之時(shí)間倉促,書中難免出現(xiàn)錯(cuò)誤和不妥之處,對于一些依賴第三方功能的實(shí)現(xiàn)也難以保證可以永久使用,懇請讀者批評指正!
源碼下載本書的源代碼可以從方倍工作室的微信公眾賬號(微信號:fbxxjs)下載,歡迎關(guān)注并下載。
讀者對象本書適合以下人群:
想了解移動(dòng)互聯(lián)網(wǎng)及微信公眾平臺發(fā)展的行業(yè)從業(yè)人員。
想了解微信公眾平臺產(chǎn)品使用方法、技巧及效果評估的微信營銷人員。
想提高會(huì)員活躍度、提高指標(biāo)轉(zhuǎn)化率、推進(jìn)品牌推廣的公眾平臺運(yùn)營人員。
想學(xué)習(xí)微信公眾平臺開發(fā)的入門、初級、中級、高級開發(fā)人員。
想使用微信公眾平臺兼職開發(fā)、創(chuàng)業(yè)等渴望更成功人。
想搭建企業(yè)內(nèi)部強(qiáng)大及實(shí)用的微信公眾平臺的開發(fā)團(tuán)隊(duì)。
致謝首先感謝“微信之父”張小龍先生及其微信團(tuán)隊(duì),是他們創(chuàng)造了“微信”這一經(jīng)典傳世之作。
感謝本書策劃編輯王彬先生的支持,他促成了本書的出版。
感謝我最親愛的家人在背后的默默支持與付出。
本書在成書過程中,也得到了諸多同行人員的支持與鼓勵(lì),在此一并致謝。
謹(jǐn)以此書獻(xiàn)給所有熱愛移動(dòng)互聯(lián)網(wǎng)和微信及微信公眾平臺的人們。
方倍2017年1月于深圳
陶瑾,網(wǎng)名“方倍”,微信公眾平臺開發(fā)先行者之一,曾在國內(nèi)領(lǐng)先的通訊公司及跨國公司擔(dān)心軟件測試、協(xié)議棧開發(fā)、高級軟件自動(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è)客戶提供微信公眾平臺開發(fā)及運(yùn)營服務(wù)。
目 錄
前言
第1章 微信公眾平臺介紹 1
1.1 微信及其平臺 1
1.2 微信公眾賬號注冊 2
1.2.1 注冊公眾賬號 2
1.2.2 注冊測試號 5
1.3 微信公眾平臺的使用 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 開發(fā)者中心 16
1.4 本章小結(jié) 16
第2章 本地開發(fā)環(huán)境搭建及程序開發(fā)基礎(chǔ) 17
2.1 本地開發(fā)環(huán)境的搭建 17
2.1.1 WampServer的安裝 17
2.1.2 其他開發(fā)環(huán)境套件 19
2.2 程序開發(fā)基礎(chǔ) 21
2.2.1 PHP語法及使用 21
2.2.2 MySQL的使用 28
2.2.3 其他常用語言 30
2.3 本章小結(jié) 33
第3章 服務(wù)器資源與消息交互原理 34
3.1 服務(wù)器資源 34
3.1.1 新浪云SAE 34
3.1.2 其他服務(wù)器資源 40
3.2 開發(fā)工具 41
3.3 微信開發(fā)者中心 41
3.3.1 配置和啟用服務(wù)器 41
3.3.2 配置失敗常見問題與分析 43
3.3.3 自動(dòng)回復(fù)當(dāng)前時(shí)間 44
3.3.4 消息交互原理分析 45
3.3.5 消息體加/解密實(shí)現(xiàn) 48
3.4 微信開發(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 語音消息 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 語音消息 64
4.2.4 視頻消息 65
4.2.5 音樂消息 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ù)庫回復(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)用請求說明 85
5.1.3 實(shí)現(xiàn)代碼 86
5.2 自定義菜單 86
5.2.1 自定義菜單介紹 87
5.2.2 按鈕類型 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è)性化歡迎語 118
6.6.2 同步所有用戶信息 120
6.7 本章小結(jié) 124
第7章 網(wǎng)頁授權(quán)與網(wǎng)頁應(yīng)用開發(fā) 125
7.1 OAuth2.0網(wǎng)頁授權(quán) 125
7.1.1 OAuth2.0 125
7.1.2 授權(quán)過程 125
7.1.3 詳細(xì)步驟 126
7.2 WeUI 131
7.3 案例實(shí)踐 141
7.3.1 網(wǎng)頁授權(quán)獲取個(gè)人信息 141
7.3.2 網(wǎng)頁判斷用戶是否關(guān)注 144
7.3.3 二次授權(quán)多個(gè)域名 145
7.4 本章小結(jié) 146
第8章 參數(shù)二維碼與來源統(tǒng)計(jì) 147
8.1 參數(shù)二維碼 147
8.1.1 創(chuàng)建二維碼ticket 147
8.1.2 通過URL生成二維碼圖片 149
8.1.3 通過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ù)號每日群發(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 圖片庫 185
10.1.5 添加商品 187
10.1.6 貨架管理 188
10.2 微信小店的二次開發(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 添加客服賬號 208
11.2.4 邀請綁定客服賬號 208
11.2.5 設(shè)置客服信息 209
11.2.6 上傳客服頭像 209
11.2.7 刪除客服賬號 210
11.3 會(huì)話控制 210
11.3.1 創(chuàng)建會(huì)話 210
1