新書推薦:
《
云中记
》
售價:HK$
76.2
《
大模型应用开发:RAG入门与实战
》
售價:HK$
89.4
《
不挨饿快速瘦的减脂餐
》
售價:HK$
67.0
《
形而上学与存在论之间:费希特知识学研究(守望者)(德国古典哲学研究译丛)
》
售價:HK$
110.7
《
卫宫家今天的饭9 附画集特装版(含漫画1本+画集1本+卫宫士郎购物清单2张+特制相卡1张)
》
售價:HK$
132.2
《
万千教育学前·与幼儿一起解决问题:捕捉幼儿园一日生活中的教育契机
》
售價:HK$
47.0
《
史铁生:听风八百遍,才知是人间(2)
》
售價:HK$
55.8
《
量子网络的构建与应用
》
售價:HK$
109.8
|
編輯推薦: |
★历经2年精心雕琢,堪称微信开发白皮书
★详解微信公众号、小程序开发的方方面面
★从宝贵实战案例中总结踩坑经验
★助你快速搭建微信公众号、小程序的同时
★掌握盛派网络多年的架构设计思想和技巧
★作者*认真负责赋予本书不一般的品质
★Senparc.Weixin SDK GitHub C# 开源首位
★真正全面介绍微信开发所需所有关键技能
★腾讯资深工程师推荐
★★微信 c# 开发必须选它
|
內容簡介: |
本书以深度剖析Senparc.Weixin SDK框架的设计思想和使用方法为主干,全面介绍了开发微信公众号(包含了订阅号、服务号和小程序)所需的关键技能,包括了从需求分析、策划,到账号申请、验证,再到全面的API及开发工具介绍,侧重于服务器端开发。本书也涵盖了盛派网络团队在多年的研发过中收集到的大量注意点,帮助开发者“避坑”。全书包含了四个部分:微信基础介绍(第1~3章)、Senparc.Weixin SDK框架介绍(第4~*章)、Senparc.Weixin SDK接口介绍(第14~19章)和微信小程序(第20章),由浅入深指导开发者学习微信开发,在此过程中可以结合配套系统进行阅读和练习:https:book.weixin.senparc.com。同时,本书也是Senparc.Weixin SDK作者为开发者奉上的一份官方文档,书中详细介绍了SDK中各个接口的位置及用法,可以帮助开发者灵活应用和改写代码。对于需要学习编程架构思想的开发者,本书也凝结了较多精华的思想和思考过程,可以作为参考。Senparc.Weixin SDK已经支持了多个.NET版本,包括.NET Core、.NET Framework 4.5和.NET Framework 4.0,各个版本的接口和使用方法保持了高度的一致,本书以目前使用率*的.NET 4.5(C#)版本为例进行介绍,针对其他框架本书也同样适用,读者可以举一反三。本书除提供给专业开发人员使用以外,也适合大专院校、培训机构作为相关教材和参考书使用
|
關於作者: |
苏震巍,香港理工大学硕士,9岁起钻研软件编程,12岁开始专注互联网及Web领域的研发,24岁出版图书《ASP.NET 4.5+Server Server网站模块化开发》,被众多大学选用为教材,目前国内最受欢迎的.NET开源项目之一:Senparc.Weixin SDK的作者。
|
目錄:
|
★第一部分 微信基础介绍
第1章 使用本书2
1.1我是否适合读这本书3
1.2如何用好这本书3
1.3 各章节导读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 数据库设计17
2.3 接口统计21
2.4 业务逻辑22
2.5 技术架构24
2.6 微信公众号策划26
2.7 统一培训27
习题28
第3章 开发微信公众号前的准备29
3.1 准备工作29
3.1.1 基本技能29
3.1.2 开发环境30
3.1.3 域名31
3.1.4 服务器31
3.1.5 SSL证书31
3.2 消息通信31
3.2.1 公众平台的消息通信过程31
3.2.2 XML通信格式32
3.2.3 消息通信中需要注意的问题33
3.3 访问网页34
3.4 使用测试号进行测试34
3.5 使用微信 Web 开发者工具调试微信36
3.5.1 下载和安装36
3.5.2 使用开发者工具37
3.6 单元测试39
3.7 在线接口调试工具39
3.8 服务号、订阅号和认证账号的功能差别40
3.8.1 服务号40
3.8.2 订阅号44
3.9 微信公众号申请47
习题56
★第二部分 Senparc.Weixin SDK框架介绍
第4章 Senparc.Weixin SDK设计架构58
4.1 开源项目58
4.2 开源协议58
4.3 微信平台生态与 Senparc.Weixin SDK59
4.4 文件目录61
4.4.1 根目录61
4.4.2 src目录61
4.5 Senparc.Weixin.dll62
4.5.1 Senparc.Weixin文件结构62
4.5.2 Senparc.Weixin类库结构65
4.5.3 使用Senparc.Weixin注意点65
4.6 Senparc.Weixin.MP.dll66
4.6.1 Senparc.Weixin.MP.dll文件结构66
4.6.2 Senparc.Weixin.MP.dll类库69
4.7 Senparc.Weixin.WxOpen.dll69
4.8 Senparc.Weixin.MP.MvcExtension.dll71
4.9 Senparc.Weixin.Cache.Redis.dll71
4.10 Senparc.Weixin.Cache.Memcached.dll72
4.11 其他类库72
4.12 单元测试72
4.13 修改源代码和贡献代码72
4.13.1 注册 GitHub 账号73
4.13.2 Fork项目75
4.13.3 修改代码76
4.13.4 提交代码78
4.13.5 贡献代码79
习题82
第5章 微信公众号开发全过程案例83
5.1 开发准备83
5.1.1 安装开发环境及工具83
5.1.2 创建解决方案84
5.1.3 创建项目85
5.1.4 使用 Nuget 安装 Senparc.Weixin SDK88
5.2 开发90
5.2.1 准备基础框架91
5.2.2 创建数据库91
5.2.3 同步数据库92
5.2.4 建立数据库框架95
5.2.5 开发Repository仓储模块98
5.2.6 缓存100
5.2.7 开发业务逻辑102
5.2.8 Controller控制器105
5.2.9 Web项目和UI111
5.3 单元测试111
5.4 部署112
5.5 消息验证和线上测试112
5.6 在Microsoft Azure上运行微信公众号示例112
习题116
第6章 使用SDK Demo:Senparc.Weixin.MP.Sample117
6.1 文件位置及结构117
6.1.1 Senparc.Weixin.MP.Sample 解决方案文件夹117
6.1.2 Senparc.Weixin.MP.Sample 解决方案118
6.1.3 Senparc.Weixin.MP.Sample Web项目119
6.1.4 Senparc.Weixin.MP.Sample.CommonService 项目121
6.2 配置项目122
6.2.1 Web.Config文件122
6.2.2 Global.asax 文件124
6.2.3 首页125
6.3 微信消息126
6.3.1 消息处理127
6.3.2 消息模拟及并发消息测试134
6.4 微信菜单135
6.5 OAuth138
6.6 JS-SDK140
6.7 微信支付141
6.8 素材143
6.9 缓存测试143
6.10 异步方法145
6.11 微信内置浏览器过滤146
6.12 微信小程序147
6.12.1 消息处理147
6.12.2 模板消息148
6.12.3 WebSocket148
6.13 其他148
6.13.1 开放平台148
6.13.2 企业号149
6.13.3 文档下载149
6.14 WebForms项目150
6.15 单元测试150
6.15.1 单元测试项目150
6.15.2 单元测试方法151
6.16 配置服务器和参数153
6.16.1 配置IIS153
6.16.2 安装 .NET Framework 4.5154
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 命名规则161
7.2.3 全局消息基类161
7.2.4 请求消息161
7.2.5 响应消息165
7.3 原始消息处理方法169
7.4 使用MessageHandler170
7.4.1 第一步:通过Nuget安装Senparc.Weixin.MP170
7.4.2 第二步:创建你自己的MessageHandler170
7.4.3 第三步:写3行关键代码175
7.5 OnExecuting和OnExecuted175
7.6 解决用户上下文(Session)问题176
7.6.1 消息容器:MessageContainer177
7.6.2 消息队列:MessageQueue178
7.6.3 单用户上下文:MessageContext179
7.6.4 全局上下文:WeixinContext183
7.6.5 上下文移除事件:WeixinContextRemovedEventArgs185
7.7 消息去重185
7.8 消息加密187
7.9 消息格式转换189
7.9.1 XML转实体190
7.9.2 实体转XML190
7.10 消息代理191
7.11 了解MessageHandler设计原理191
7.11.1 Senparc.Weixin.MessageHandlers.MessageHandler结构192
7.11.2 Senparc.Weixin.MP.MessageHandlers.MessageHandler结构196
7.11.3 抽象类及虚方法198
7.11.4 构造函数198
7.11.5 Execute方法200
7.11.6 CancelExcute属性201
7.11.7 OnExecuting方法202
7.11.8 DefaultResponseMessage方法202
习题203
第8章 缓存策略204
8.1 设计原理204
8.2 基础缓存策略接口:IBaseCacheStrategy206
8.3 数据容器缓存策略接口:IContainerCacheStragegy207
8.3.1 原始IContainerCacheStragegy设计思路207
8.3.2 优化IContainerCacheStragegy设计思路208
8.3.3 优化IContainerItemCollection和ContainerItemCollection208
8.4 本地数据容器缓存策略:LocalContainerCacheStrategy211
8.4.1 创建LocalContainerCacheStrategy类211
8.4.2 定义数据源212
8.4.3 实现容器缓存策略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.6 Redis分布式缓存策略:RediscontainerCacheStrategy222
8.6.1 Redis简介222
8.6.2 安装Redis222
8.6.3 StackExchange.Redis缓存扩展222
8.6.4 实现Redis缓存策略224
8.6.5 单元测试225
8.7 Memcached分布式缓存策略:MemcachedContainerCacheStrategy225
8.7.1 Memcached简介225
8.7.2 安装Memcached226
8.7.3 EnyimMemcached缓存扩展226
8.7.4 实现Memcached缓存策略227
8.8 缓存策略工厂:CacheStrategyFactory227
8.8.1 创建CacheStrategyFactory227
8.8.2 配置和使用CacheStrategyFactory229
习题230
第9章 并发场景下的分布式锁231
9.1 概述231
9.2 为什么需要分布式锁231
9.3 分布式锁的设计232
9.3.1 IBaseCacheStrategy 接口设计232
9.3.2 ICacheLock 接口设计234
9.3.3 分布式锁基类:BaseCacheLock236
9.4 本地锁236
9.4.1 LocalCacheLock236
9.4.2 实现 BeginCacheLock238
9.5 Redis 锁238
9.5.1 RedisCacheLock238
9.5.2 Redlock.CSharp240
9.5.3 实现BeginCacheLock240
9.6 Memcached锁241
9.6.1 MamcachedCacheLock241
9.6.2 实现BeginCacheLock242
习题242
第10章 Container:数据容器243
10.1 设计思路及原理243
10.2 BaseContainerBag245
10.3 BaseContainer246
10.4 AccessTokenContainer253
10.5 JsApiTicketContainer262
10.6 BindableBase262
10.7 ContainerHelper264
习题265
第11章 SenparcMessageQueue:消息队列266
11.1 设计原理266
11.2 队列项:SenparcMessageQueueItem267
11.3 消息队列:SenparcMessageQueue268
11.3.1 GenerateKey方法269
11.3.2 MessageQueueDictionary269
11.3.3 MessageQueueList269
11.3.4 有关Dictionary和List的效率测试270
11.4 自动线程处理:SenparcMessageQueueThreadUtility272
11.4.1 SenparcMessageQueueThreadUtility272
11.4.2 线程工具类:ThreadUtility274
11.4.3 优化扩展276
习题278
第12章 接口调用及数据请求279
12.1 设计规则279
12.2 响应类型281
12.2.1 基类:WxJsonResult281
12.2.2 扩展响应类型282
12.3 请求284
12.3.1 GET请求284
12.3.2 POST请求286
12.3.3 JSON 请求290
12.3.4 文件上传下载292
12.3.5 公共方法293
12.4 使用AccessToken请求接口:CommonJsonSend293
12.4.1 Sent<T> 方法293
12.4.2 JsonSetting295
12.4.3 WeixinJsonConventer298
12.5 AccessToken自动处理器:ApiHandlerWapper299
习题302
第13章 Debug模式及异常处理303
13.1 Debug模式设计原理303
13.2 WeixinTrace304
13.3 异常处理308
13.3.1 WeixinException308
13.3.2 ErrorJsonResultException309
13.3.3
|
內容試閱:
|
自 2013 年 1 月 13 日 Senparc.Weixin SDK 开源项目发布以来,得到了 .NET 开发者的广泛关注,成为了目前使用率最高的微信 .NET(C#)SDK,借着微信开发的风口,这个项目也成为国内关注度最高的 .NET 开源项目之一。
在这四年多的时间里,我带领着盛派团队一直保持着项目更新,目前也已经建立了 13个 QQ 群和多个微信群,以及 1 个问答平台为开发者们答疑解惑、交流开发经验。但是,我们的能力和精力终究是有限的,所谓授人以鱼,不如授人以渔,将 SDK 的设计思想和使用方法整理成册,提供给开发者们索引查阅,我想这或许是一件更有意义的事情。同时,在这多年的时间里,我们也接触了众多的项目,收集了许多开发者的交流内容,于是,我们将微信开发过程中的许多坑和注意点也整理到书中,方便开发者们避坑。书中的章节顺序及内容都经过了仔细推敲,从微信开发的必备基础知识,到 SDK 的原理介绍,再到接口的调用及使用技巧,辅以真实的开发案例和 Demo 介绍,帮助开发者轻松地搭建微信公众号(包括小程序)的应用。
在盛派的文化中,爱和分享是两个非常重要的元素。爱使我们能爱人如己,用爱人的心去对待每一件事,用感恩的心去对待每一份收获和挑战;分享使我们乐意敞开自己,奉献自己。向需要帮助的人分享自己的知识和见解已经成为盛派人几乎每天的必修课,Senparc.Weixin SDK 开源项目就是在这样的文化中孕育成长起来的。我们用爱不断地分享着我们的成果,使越来越多的人受益,与此同时,我们也收到了来自开发者们大量的反馈和帮助,以及来自各界的捐赠,这一切助推着 SDK 的成长,也助力着中国的开源事业。看到越来越多的人相互帮助、乐于分享,是给我们最大的鼓舞。这里,我要真心地感谢曾经帮助过 Senparc.Weixin SDK 项目和盛派团队的人们,以及现在、曾经在盛派一起奋斗的同事们,有你们才有盛派的今天,有你们才有盛派的未来!
本书从策划到最终完稿历经 2 年时间,除去经营两家公司已经非常忙碌的原因,我花了大量的时间反复推敲章节的设置和内容的表达,甚至将几十页不满意的内容全部删掉,这一切只是希望将这本书可以秉承 SDK 精益求精的品质,成为精心雕琢的又一件良心产品。当然,我也自知水平有限,书中一定会有不少瑕疵,恳请读者们多多包涵,更重要的是多多反馈和交流,使我们能一同进步。
苏震巍
2017年5月20日
|
|