日本免费精品视频,男人的天堂在线免费视频,成人久久久精品乱码一区二区三区,高清成人爽a毛片免费网站

在線客服
微信開發(fā)深度解析:微信公眾號、小程序高效開發(fā)秘籍圖書
人氣:145

微信開發(fā)深度解析:微信公眾號、小程序高效開發(fā)秘籍

歷經(jīng)2年精心雕琢,難得的“理論 + 實戰(zhàn)案例 + 趟坑經(jīng)驗”總結(jié),從需求分析、策劃,到賬號申請、驗證,再到的 API 及開發(fā)工具,覆蓋所有開發(fā)微信公眾號(含訂閱號、服務號和小程序)所需關(guān)鍵技能

內(nèi)容簡介

本書以深度剖析Senparc.Weixin SDK框架的設計思想和使用方法為主干,介紹了開發(fā)微信公眾號(包含了訂閱號、服務號和小程序)所需的關(guān)鍵技能,包括了從需求分析、策劃,到賬號申請、驗證,再到的API及開發(fā)工具介紹,側(cè)重于服務器端開發(fā)。本書也涵蓋了盛派網(wǎng)絡團隊在多年的研發(fā)過中收集到的大量注意點,幫助開發(fā)者“避坑”。

本書包含了四個部分:微信基礎(chǔ)介紹(第1~3章)、Senparc.Weixin SDK框架介紹(第4~13章)、Senparc.Weixin SDK接口介紹(第14~19章)和微信小程序(第20章),由淺入深指導開發(fā)者學習微信開發(fā),在此過程中可以結(jié)合配套系統(tǒng)進行閱讀和練習:https://book.weixin.senparc.com。

同時,本書也是Senparc.Weixin SDK作者為開發(fā)者奉上的一份官方文檔,書中詳細介紹了SDK中各個接口的位置及用法,可以幫助開發(fā)者靈活應用和改寫代碼。對于需要學習編程架構(gòu)思想的開發(fā)者,本書也凝結(jié)了較多精華的思想和思考過程,可以作為參考。

Senparc.Weixin SDK已經(jīng)支持了多個.NET版本,包括.NET Core、.NET Framework 4.5和.NET Framework 4.0,各個版本的接口和使用方法保持了高度的一致,本書以目前使用率zui高的.NET 4.5(C#)版本為例進行介紹,針對其他框架本書也同樣適用,讀者可以舉一反三。

本書除提供給專業(yè)開發(fā)人員使用以外,也適合大專院校、培訓機構(gòu)作為相關(guān)教材和參考書使用。

編輯推薦

歷經(jīng)2年精心雕琢,堪稱微信開發(fā)白皮書

詳解微信公眾號、小程序開發(fā)的方方面面

從寶貴“實戰(zhàn)案例”中總結(jié)“踩坑”經(jīng)驗

助你快速搭建微信公眾號、小程序的同時

掌握盛派網(wǎng)絡多年的架構(gòu)設計思想和技巧

作者認真負責賦予本書不一般的品質(zhì)

Senparc.Weixin SDK GitHub C# 開源首位

真正介紹微信開發(fā)所需所有關(guān)鍵技能

騰訊博學工程師推薦

微信 c# 開發(fā)必須選它

作者簡介

蘇震巍,蘇州盛澤人氏,香港理工大學信息管理碩士、微軟 Ignite 技術(shù)大會講師、高級電子商務師、中級物流師。

蘇州盛派網(wǎng)絡科技有限公司創(chuàng)始人,首席架構(gòu)師。

專注于軟件及互聯(lián)網(wǎng)開發(fā)已有 24 年,所著圖書《ASP.NET 3.5 SQL Server網(wǎng)站模塊化開發(fā)全程實錄》已被多所大學選為教材。

主持了眾多大型項目的架構(gòu)、開發(fā)和集成,對物聯(lián)網(wǎng)、大數(shù)據(jù)和人工智能相關(guān)技術(shù)有深入的實踐和理解,已為十余家世界 500 強企業(yè)提供解決方案和技術(shù)支持。

作為“中國 HTML5 研究小組”首批成員,帶領(lǐng)了國內(nèi)shou個HTML5 商業(yè)應用,并一直進行著 HTML5 商業(yè)化應用的實踐和分享。

zui早進入微信開發(fā)領(lǐng)域的開拓者之一,開源的 Senparc.Weixin SDK 框架是目前使用率zui高的微信 .NET SDK,同時也是國內(nèi)zui受歡迎的 .NET 開源項目之一。

目錄

及時部分微信基礎(chǔ)介紹

第1章使用本書 2

1.1 我是否適合讀這本書 3

1.2 如何用好這本書 3

1.3各章節(jié)導讀 5

1.4名詞解釋 7

1.5學習資源 8

1.6幫助我們改進 9

習題 9

第2章策劃你的及時個微信項目 10

2.1需求分析 10

2.1.1溝通需求 10

2.1.2整理需求 13

2.1.3制定方案 14

2.2數(shù)據(jù)庫設計 17

2.3接口統(tǒng)計 21

2.4業(yè)務邏輯 22

2.5技術(shù)架構(gòu) 24

2.6微信公眾號策劃 26

2.7統(tǒng)一培訓 27

習題 28

第3章開發(fā)微信公眾號前的準備 29

3.1準備工作 29

3.1.1基本技能 29

3.1.2開發(fā)環(huán)境 30

3.1.3域名 31

3.1.4服務器 31

3.1.5SSL證書 31

3.2消息通信 31

3.2.1公眾平臺的消息通信過程 31

3.2.2XML通信格式 32

3.2.3消息通信中需要注意的問題 33

3.3訪問網(wǎng)頁 34

3.4使用測試號進行測試 34

3.5使用微信 Web 開發(fā)者工具調(diào)試微信 36

3.5.1下載和安裝 36

3.5.2使用開發(fā)者工具 37

3.6單元測試 39

3.7在線接口調(diào)試工具 39

3.8服務號、訂閱號和認證賬號的功能差別 40

3.8.1服務號 40

3.8.2訂閱號 44

3.9微信公眾號申請 47

習題 56

第二部分Senparc.Weixin SDK框架介紹

第4章Senparc.Weixin SDK設計架構(gòu) 58

4.1開源項目 58

4.2開源協(xié)議 58

4.3微信平臺生態(tài)與 Senparc.Weixin SDK 59

4.4文件目錄 61

4.4.1根目錄 61

4.4.2src目錄 61

4.5Senparc.Weixin.dll 62

4.5.1Senparc.Weixin文件結(jié)構(gòu) 62

4.5.2Senparc.Weixin類庫結(jié)構(gòu) 65

4.5.3使用Senparc.Weixin注意點 65

4.6Senparc.Weixin.MP.dll 66

4.6.1Senparc.Weixin.MP.dll文件結(jié)構(gòu) 66

4.6.2Senparc.Weixin.MP.dll類庫 69

4.7Senparc.Weixin.WxOpen.dll 69

4.8Senparc.Weixin.MP.MvcExtension.dll 71

4.9Senparc.Weixin.Cache.Redis.dll 71

4.10Senparc.Weixin.Cache.Memcached.dll 72

4.11其他類庫 72

4.12單元測試 72

4.13修改源代碼和貢獻代碼 72

4.13.1注冊 GitHub 賬號 73

4.13.2Fork項目 75

4.13.3修改代碼 76

4.13.4提交代碼 78

4.13.5貢獻代碼 79

習題 82

第5章微信公眾號開發(fā)全過程案例 83

5.1開發(fā)準備 83

5.1.1安裝開發(fā)環(huán)境及工具 83

5.1.2創(chuàng)建解決方案 84

5.1.3創(chuàng)建項目 85

5.1.4使用 Nuget 安裝 Senparc.Weixin SDK 88

5.2開發(fā) 90

5.2.1準備基礎(chǔ)框架 91

5.2.2創(chuàng)建數(shù)據(jù)庫 91

5.2.3同步數(shù)據(jù)庫 92

5.2.4建立數(shù)據(jù)庫框架 95

5.2.5開發(fā)Repository倉儲模塊 98

5.2.6緩存 100

5.2.7開發(fā)業(yè)務邏輯 102

5.2.8Controller控制器 105

5.2.9Web項目和UI 111

5.3單元測試 111

5.4部署 112

5.5消息驗證和線上測試 112

5.6在Microsoft Azure上運行微信公眾號示例 112

習題 116

第6章使用SDK Demo:Senparc.Weixin.MP.Sample 117

6.1文件位置及結(jié)構(gòu) 117

6.1.1Senparc.Weixin.MP.Sample 解決方案文件夾 117

6.1.2Senparc.Weixin.MP.Sample 解決方案 118

6.1.3Senparc.Weixin.MP.Sample Web項目 119

6.1.4Senparc.Weixin.MP.Sample.CommonService 項目 121

6.2配置項目 122

6.2.1Web.Config文件 122

6.2.2Global.asax 文件 124

6.2.3首頁 125

6.3微信消息 126

6.3.1消息處理 127

6.3.2消息模擬及并發(fā)消息測試 134

6.4微信菜單 135

6.5OAuth 138

6.6JS-SDK 140

6.7微信支付 141

6.8素材 143

6.9緩存測試 143

6.10異步方法 145

6.11微信內(nèi)置瀏覽器過濾 146

6.12微信小程序 147

6.12.1消息處理 147

6.12.2模板消息 148

6.12.3WebSocket 148

6.13其他 148

6.13.1開放平臺 148

6.13.2企業(yè)號 149

6.13.3文檔下載 149

6.14WebForms項目 150

6.15單元測試 150

6.15.1單元測試項目 150

6.15.2單元測試方法 151

6.16配置服務器和參數(shù) 153

6.16.1配置IIS 153

6.16.2安裝 .NET Framework 4.5 154

6.16.3設置IIS站點 155

6.16.4解析域名 156

6.16.5檢查 Web.config 文件 156

6.17部署 156

習題 157

第7章MessageHandler:簡化消息處理流程 158

7.1設計思想 158

7.2消息類型 160

7.2.1概述 160

7.2.2命名規(guī)則 161

7.2.3全局消息基類 161

7.2.4請求消息 161

7.2.5響應消息 165

7.3原始消息處理方法 169

7.4使用MessageHandler 170

7.4.1及時步:通過Nuget安裝Senparc.Weixin.MP 170

7.4.2第二步:創(chuàng)建你自己的MessageHandler 170

7.4.3第三步:寫3行關(guān)鍵代碼 175

7.5OnExecuting()和OnExecuted() 175

7.6解決用戶上下文(Session)問題 176

7.6.1消息容器:MessageContainer 177

7.6.2消息隊列:MessageQueue 178

7.6.3單用戶上下文:MessageContext 179

7.6.4全局上下文:WeixinContext 183

7.6.5上下文移除事件:WeixinContextRemovedEventArgs 185

7.7消息去重 185

7.8消息加密 187

7.9消息格式轉(zhuǎn)換 189

7.9.1XML轉(zhuǎn)實體 190

7.9.2實體轉(zhuǎn)XML 190

7.10消息 191

7.11了解MessageHandler設計原理 191

7.11.1Senparc.Weixin.MessageHandlers.MessageHandler結(jié)構(gòu) 192

7.11.2Senparc.Weixin.MP.MessageHandlers.MessageHandler結(jié)構(gòu) 196

7.11.3抽象類及虛方法 198

7.11.4構(gòu)造函數(shù) 198

7.11.5Execute()方法 200

7.11.6CancelExcute屬性 201

7.11.7OnExecuting()方法 202

7.11.8DefaultResponseMessage()方法 202

習題 203

第8章緩存策略 204

8.1設計原理 204

8.2基礎(chǔ)緩存策略接口:IBaseCacheStrategy 206

8.3數(shù)據(jù)容器緩存策略接口:IContainerCacheStragegy 207

8.3.1原始IContainerCacheStragegy設計思路 207

8.3.2優(yōu)化IContainerCacheStragegy設計思路 208

8.3.3優(yōu)化IContainerItemCollection和ContainerItemCollection 208

8.4本地數(shù)據(jù)容器緩存策略:LocalContainerCacheStrategy 211

8.4.1創(chuàng)建LocalContainerCacheStrategy類 211

8.4.2定義數(shù)據(jù)源 212

8.4.3實現(xiàn)容器緩存策略 214

8.4.4運用單例模式 216

8.4.5測試 218

8.5分布式緩存 219

8.5.1起因 219

8.5.2負載均衡 220

8.5.3分布式緩存 220

8.5.4分布式使用的注意點 221

8.6Redis分布式緩存策略:RediscontainerCacheStrategy 222

8.6.1Redis簡介 222

8.6.2安裝Redis 222

8.6.3StackExchange.Redis緩存擴展 222

8.6.4實現(xiàn)Redis緩存策略 224

8.6.5單元測試 225

8.7Memcached分布式緩存策略:MemcachedContainerCacheStrategy 225

8.7.1Memcached簡介 225

8.7.2安裝Memcached 226

8.7.3EnyimMemcached緩存擴展 226

8.7.4實現(xiàn)Memcached緩存策略 227

8.8緩存策略工廠:CacheStrategyFactory 227

8.8.1創(chuàng)建CacheStrategyFactory 227

8.8.2配置和使用CacheStrategyFactory 229

習題 230

第9章并發(fā)場景下的分布式鎖 231

9.1概述 231

9.2為什么需要分布式鎖 231

9.3分布式鎖的設計 232

9.3.1IBaseCacheStrategy 接口設計 232

9.3.2ICacheLock 接口設計 234

9.3.3分布式鎖基類:BaseCacheLock 236

9.4本地鎖 236

9.4.1LocalCacheLock 236

9.4.2實現(xiàn) BeginCacheLock 238

9.5Redis 鎖 238

9.5.1RedisCacheLock 238

9.5.2Redlock.CSharp 240

9.5.3實現(xiàn)BeginCacheLock 240

9.6Memcached鎖 241

9.6.1MamcachedCacheLock 241

9.6.2實現(xiàn)BeginCacheLock 242

習題 242

第10章Container:數(shù)據(jù)容器 243

10.1設計思路及原理 243

10.2BaseContainerBag 245

10.3BaseContainer 246

10.4AccessTokenContainer 253

10.5JsApiTicketContainer 262

10.6BindableBase 262

10.7ContainerHelper 264

習題 265

第11章SenparcMessageQueue:消息隊列 266

11.1設計原理 266

11.2隊列項:SenparcMessageQueueItem 267

11.3消息隊列:SenparcMessageQueue 268

11.3.1GenerateKey()方法 269

11.3.2MessageQueueDictionary 269

11.3.3MessageQueueList 269

11.3.4有關(guān)Dictionary和List的效率測試 270

11.4自動線程處理:SenparcMessageQueueThreadUtility 272

11.4.1SenparcMessageQueueThreadUtility 272

11.4.2線程工具類:ThreadUtility 274

11.4.3優(yōu)化擴展 276

習題 278

第12章接口調(diào)用及數(shù)據(jù)請求 279

12.1設計規(guī)則 279

12.2響應類型 281

12.2.1基類:WxJsonResult 281

12.2.2擴展響應類型 282

12.3請求 284

12.3.1GET請求 284

12.3.2POST請求 286

12.3.3JSON 請求 290

12.3.4文件上傳/下載 292

12.3.5公共方法 293

12.4使用AccessToken請求接口:CommonJsonSend 293

12.4.1Sent() 方法 293

12.4.2JsonSetting 295

12.4.3WeixinJsonConventer 298

12.5AccessToken自動處理器:ApiHandlerWapper 299

習題 302

第13章Debug模式及異常處理 303

13.1Debug模式設計原理 303

13.2WeixinTrace 304

13.3異常處理 308

13.3.1WeixinException 308

13.3.2ErrorJsonResultException 309

13.3.3

在線預覽

第7章MessageHandler:簡化消息處理流程

MessageHandler 是一個微信消息的處理模塊,也是整個微信開發(fā)過程中不可缺少的一部分。在 MessageHandler 中,開發(fā)者可以非常輕松地處理所有類型的微信消息。

本章將介紹 MessageHandler 的原理以及使用方法,包括支撐MessageHandler 運行所必需的實體類型、工廠方法等相關(guān)知識的介紹。

7.1設計思想

在第3章3.1節(jié)中,我們已經(jīng)了解微信消息的基本通信原理,因此我們可以非常方便地構(gòu)造出一個簡單的消息處理功能,例如 141#487:

//此處省略了代碼,詳見書中

這個方法也是目前很多其他框架甚至微信官方的Demo使用的,但是這種方法我可以用“不美好”來形容。

不美——首先使用字符串拼接的方式非常丑陋,其次哪怕使用 XmlDocument 或 XDocument 等面向?qū)ο蟮姆绞饺ヌ幚恚鎸资N不同的微信消息類型以及一一對應的不同的格式,代碼將變得非常冗長而且難以維護。這樣的代碼你的老板或客戶會喜歡嗎?

不好——這樣的寫法壞處太多:

n 可移植性差

n 并沒有做到很好地分離(無論是和整個應用程序還是不同請求類型之間)

n 如果要做單元測試就必須整體代碼一起上

n 基本上不具備可擴展性

n 容錯能力很差,即使做到了,代碼已經(jīng)無法直視

n 正常人用多了會心情不好

那么,“美好”的消息處理方式應該是怎么樣的呢?

下面就將 Senparc.Weixin.MP.MessageHandler 介紹給你。

首先,美好的 MessageHandler 必須具有對消息類型的自動識別和分類能力。

第二,美好的 MessageHandler 必須能夠同時、自動處理“明文”“兼容模式”“加密模式”三種(所有)消息加密類型,并且讓開發(fā)者忘掉加密這回事情的存在。

第三,美好的 MessageHandler 必須能夠提供很好的消息容器以及儲存容器,來解決消息去重、Session 等一系列的問題。

第四,美好的 MessageHandler 必須能夠兼容 MVC 和 WebFroms 不同的請求處理方式。

第五,美好的 MessageHandler 必須能夠提供統(tǒng)一邏輯處理的接口,方便在特定的環(huán)節(jié)對消息進行統(tǒng)一處理。

第六,美好的 MessageHandler 必須具備的可測試性和擴展能力。

第七,美好的 MessageHandler 必須能做到很好的邏輯分離。

第八,美好的 MessageHandler 必須讓你用起來心情好。

第九,美好的 MessageHandler 不能保障你能在 10 分鐘內(nèi),完成一個滿足以上八條的簡單微信應用從開發(fā)到上線、的全過程。但是我們做到了。

媒體評論

Senparc 微信 SDK 是目前zui的 C# 開源項目之一。覆蓋了微信開發(fā)的各個方面,通過的高并發(fā)的緩存模式設計架構(gòu),大大簡化了微信消息處理等完整流程的編碼。特別是 C# 很多的語言特性被發(fā)揚光大,加上 .NET Core 的開源,為開源項目的長遠發(fā)展奠定了堅實的基礎(chǔ)。希望更多的開發(fā)者通過 Senparc 微信 SDK,加入到 .NET Core 開發(fā)者隊伍中來,并預祝本書熱賣!

—— 微軟中國云計算創(chuàng)新中心 shou席產(chǎn)品經(jīng)理 宋青見

如果你想基于 .NET 開發(fā)微信公眾號和小程序,那么 Senparc.Weixin SDK 是你的shou選函數(shù)庫。它不僅功能強大接口清晰,還開源高星,尤其支持 .NET Core讓你輕松跨平臺。這本出自官方的指導性書籍,理所當然將會是你的shou選學習材料。用 .NET,用 Senparc.Weixin SDK 將會讓你微信公眾號和小程序開發(fā)更快捷更省心。

—— 軟件工匠 10屆MVP 朱永光

本書使用了大量的代碼和實例,指導讀者怎樣從零開始搭建一個基礎(chǔ)的微信公眾號服務。之后又進一步介紹了并發(fā)的環(huán)境及數(shù)據(jù)容器,為開發(fā)大規(guī)模、高可用的公眾號服務提供了很好的模板和支持,zui后本書涵蓋了網(wǎng)頁授權(quán)、微信支付及微信小程序,可以說,本書的內(nèi)容覆蓋了微信相關(guān)開發(fā)的各個方面,讀者閱讀完本書,可以從零開始搭建一個個性化的、可商用級別的公眾號服務。

—— 微軟公司 開發(fā)者工具事業(yè)部 軟件工程師 嚴祥

曾經(jīng)買過一些技術(shù)書籍,有的只是簡單 Demo 或官方文檔整理,有的作者沒有真正開發(fā)過大型項目,很難總結(jié)出實戰(zhàn)項目的寶貴“踩坑”經(jīng)驗。而這本書讓人眼前一亮,難得的“理論 實戰(zhàn)案例 趟坑經(jīng)驗”總結(jié)。作者是專注于微信應用解決方案開發(fā)的盛派公司 CEO、微軟 Ignite 技術(shù)大會講師,微信開源 SDK在GitHub 國內(nèi) C# 開源項目 Star 數(shù)排shou位。本書講解了很多微信開發(fā)實戰(zhàn)經(jīng)驗與注意事項,例如高并發(fā)微信接口調(diào)用、緩存、分布式鎖、消息隊列、微軟云 Azure、阿里云的微信部署“踩坑”經(jīng)驗,以及微信小程序開發(fā)指導等,無論你用 .NET C#,還是Java、PHP、Go、Python、JavaScript、TypeScript 等,相信都能從本書得到幫助與指導!

—— .NET新時代CTO聯(lián)盟微信群群主 新東方研發(fā)經(jīng)理 Mike

網(wǎng)友評論(不代表本站觀點)

來自有夢的**的評論:

印刷質(zhì)量很好,內(nèi)容也不錯。

2017-09-04 16:02:07
來自無昵稱**的評論:

最關(guān)鍵的地方?jīng)]有可以下載的代碼。比如支付模塊demo下載,比如卡券的使用,總的來說,如果使用這個庫還是比較方便的手冊。

2017-09-16 20:42:46

免責聲明

更多出版社