万本电子书0元读

万本电子书0元读

顶部广告

微信开发深度解析:微信公众号、小程序高效开发秘籍电子书

★历经2年精心雕琢,堪称微信发白皮书 ★详解微信公众号、小程序发的方方面面 ★从宝贵“实战案例”中总结“踩坑”经验 ★助你快速搭建微信公众号、小程序的同时 ★掌握盛派网络多年的架构设计思想和技巧 ★作者*认真负责赋予本书不一般的品质 ★Senparc.Weixin SDK GitHub C# 源首位 ★真正全面介绍微信发所需所有关键技能 ★腾讯资深工程师推荐 ★★微信 c# 发必须选它

售       价:¥

纸质售价:¥73.70购买纸书

1271人正在读 | 9人评论 6.8

作       者:苏震巍

出  版  社:电子工业出版社

出版时间:2017-07-01

字       数:27.1万

所属分类: 科技 > 计算机/网络 > 程序设计

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(5条)
  • 读书简介
  • 目录
  • 累计评论(5条)
      本书以深度剖析Senparc.Weixin SDK框架的设计思想和使用方法为主干,全面介绍了发微信公众号(包含了订阅号、服务号和小程序)所需的关键技能,包括了从需求分析、策划,到账号申请、验证,再到全面的API及发工具介绍,侧重于服务器端发。本书也涵盖了盛派网络团队在多年的研发过中收集到的大量注意,帮助发者“避坑”。 本书包含了四个部分:微信基础介绍(第1~3章)、Senparc.Weixin SDK框架介绍(第4~13章)、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,各个版本的口和使用方法保持了高度的一致,本书以目前使用率zui高的.NET 4.5(C#)版本为例行介绍,针对其他框架本书也同样适用,读者可以举一反三。 本书除提供给专业发人员使用以外,也适合大专院校、培训机构作为相关教材和参考书使用。<br/>【推荐语】<br/>★历经2年精心雕琢,堪称微信发白皮书 ★详解微信公众号、小程序发的方方面面 ★从宝贵“实战案例”中总结“踩坑”经验 ★助你快速搭建微信公众号、小程序的同时 ★掌握盛派网络多年的架构设计思想和技巧 ★作者*认真负责赋予本书不一般的品质 ★Senparc.Weixin SDK GitHub C# 源首位 ★真正全面介绍微信发所需所有关键技能 ★腾讯资深工程师推荐 ★★微信 c# 发必须选它<br/>【作者】<br/>      苏震巍,苏州盛泽人氏,香港理工大学信息管理硕士、微软 Ignite 技术大会讲师、高级电子商务师、中级物流师。 苏州盛派网络科技有限公司创始人,首席架构师。 专注于软件及互联网发已有 24 年,所著图书《ASP.NET 3.5 SQL Server网站模块化发全程实录》已被多所大学选为教材。 主持了众多大型项目的架构、发和集成,对物联网、大数据和人工智能相关技术有深的实践和理解,已为十余家世界 500 强企业提供解决方案和技术支持。 作为“中国 HTML5 研究小组”首批成员,带领发布了国内shou个HTML5 商业应用,并一直行着 HTML5 商业化应用的实践和分享。 zui早微信发领域的拓者之一,源发布的 Senparc.Weixin SDK 框架是目前使用率zui高的微信 .NET SDK,同时也是国内zui受欢迎的 .NET 源项目之一。<br/>
目录展开

内容简介

推荐序

前言

致谢

软件著作权及商标说明

第一部分 微信基础介绍

第1章使用本书

1.1 我是否适合读这本书

1.2 如何用好这本书

1.3 各章节导读

1.4 名词解释

1.5 学习资源

1.6 帮助我们改进

习题

第2章策划你的第一个微信项目

2.1 需求分析

2.1.1 沟通需求

2.1.2 整理需求

2.1.3 制定方案

2.2 数据库设计

2.3 接口统计

2.4 业务逻辑

2.5 技术架构

2.6 微信公众号策划

2.7 统一培训

习题

第3章开发微信公众号前的准备

3.1 准备工作

3.1.1 基本技能

3.1.2 开发环境

3.1.3 域名

3.1.4 服务器

3.1.5 SSL证书

3.2 消息通信

3.2.1 公众平台的消息通信过程

3.2.2 XML通信格式

3.2.3 消息通信中需要注意的问题

3.3 访问网页

3.4 使用测试号进行测试

3.5 使用微信 Web 开发者工具调试微信

3.5.1 下载和安装

3.5.2 使用开发者工具

3.6 单元测试

3.7 在线接口调试工具

3.8 服务号、订阅号和认证账号的功能差别

3.8.1 服务号

3.8.2 订阅号

3.9 微信公众号申请

习题

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

第4章Senparc.Weixin SDK设计架构

4.1 开源项目

4.2 开源协议

4.3 微信平台生态与 Senparc.Weixin SDK

4.4 文件目录

4.4.1 根目录

4.4.2 src目录

4.5 Senparc.Weixin.dll

4.5.1 Senparc.Weixin文件结构

4.5.2 Senparc.Weixin类库结构

4.5.3 使用Senparc.Weixin注意点

4.6 Senparc.Weixin.MP.dll

4.6.1 Senparc.Weixin.MP.dll文件结构

4.6.2 Senparc.Weixin.MP.dll类库

4.7 Senparc.Weixin.WxOpen.dll

4.8 Senparc.Weixin.MP.MvcExtension.dll

4.9 Senparc.Weixin.Cache.Redis.dll

4.10 Senparc.Weixin.Cache.Memcached.dll

4.11 其他类库

4.12 单元测试

4.13 修改源代码和贡献代码

4.13.1 注册 GitHub 账号

4.13.2 Fork项目

4.13.3 修改代码

4.13.4 提交代码

4.13.5 贡献代码

习题

第5章微信公众号开发全过程案例

5.1 开发准备

5.1.1 安装开发环境及工具

5.1.2 创建解决方案

5.1.3 创建项目

5.1.4 使用 Nuget 安装 Senparc.Weixin SDK

5.2 开发

5.2.1 准备基础框架

5.2.2 创建数据库

5.2.3 同步数据库

5.2.4 建立数据库框架

5.2.5 开发Repository仓储模块

5.2.6 缓存

5.2.7 开发业务逻辑

5.2.8 Controller控制器

5.2.9 Web项目和UI

5.3 单元测试

5.4 部署

5.5 消息验证和线上测试

5.6 在Microsoft Azure上运行微信公众号示例

习题

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

6.1 文件位置及结构

6.1.1 Senparc.Weixin.MP.Sample 解决方案文件夹

6.1.2 Senparc.Weixin.MP.Sample 解决方案

6.1.3 Senparc.Weixin.MP.Sample Web项目

6.1.4 Senparc.Weixin.MP.Sample.CommonService 项目

6.2 配置项目

6.2.1 Web.Config文件

6.2.2 Global.asax 文件

6.2.3 首页

6.3 微信消息

6.3.1 消息处理

6.3.2 消息模拟及并发消息测试

6.4 微信菜单

6.5 OAuth

6.6 JS-SDK

6.7 微信支付

6.8 素材

6.9 缓存测试

6.10 异步方法

6.11 微信内置浏览器过滤

6.12 微信小程序

6.12.1 消息处理

6.12.2 模板消息

6.12.3 WebSocket

6.13 其他

6.13.1 开放平台

6.13.2 企业号

6.13.3 文档下载

6.14 WebForms项目

6.15 单元测试

6.15.1 单元测试项目

6.15.2 单元测试方法

6.16 配置服务器和参数

6.16.1 配置IIS

6.16.2 安装 .NET Framework 4.5

6.16.3 设置IIS站点

6.16.4 解析域名

6.16.5 检查 Web.config 文件

6.17 部署

习题

第7章MessageHandler:简化消息处理流程

7.1 设计思想

7.2 消息类型

7.2.1 概述

7.2.2 命名规则

7.2.3 全局消息基类

7.2.4 请求消息

7.2.5 响应消息

7.3 原始消息处理方法

7.4 使用MessageHandler

7.4.1 第一步:通过Nuget安装Senparc.Weixin.MP

7.4.2 第二步:创建你自己的MessageHandler

7.4.3 第三步:写3行关键代码

7.5 OnExecuting() 和OnExecuted()

7.6 解决用户上下文(Session)问题

7.6.1 消息容器:MessageContainer

7.6.2 消息队列:MessageQueue

7.6.3 单用户上下文:MessageContext

7.6.4 全局上下文:WeixinContext

7.6.5 上下文移除事件:WeixinContextRemovedEventArgs

7.7 消息去重

7.8 消息加密

7.9 消息格式转换

7.9.1 XML转实体

7.9.2 实体转XML

7.10 消息代理

7.11 了解MessageHandler设计原理

7.11.1 Senparc.Weixin.MessageHandlers.MessageHandler结构

7.11.2 Senparc.Weixin.MP.MessageHandlers.MessageHandler结构

7.11.3 抽象类及虚方法

7.11.4 构造函数

7.11.5 Execute() 方法

7.11.6 CancelExcute属性

7.11.7 OnExecuting()方法

7.11.8 DefaultResponseMessage() 方法

习题

第8章缓存策略

8.1 设计原理

8.2 基础缓存策略接口:IBaseCacheStrategy

8.3 数据容器缓存策略接口:IContainerCacheStragegy

8.3.1 原始IContainerCacheStragegy设计思路

8.3.2 优化IContainerCacheStragegy设计思路

8.3.3 优化IContainerItemCollection和ContainerItemCollection

8.4 本地数据容器缓存策略:LocalContainerCacheStrategy

8.4.1 创建LocalContainerCacheStrategy类

8.4.2 定义数据源

8.4.3 实现容器缓存策略

8.4.4 运用单例模式

8.4.5 测试

8.5 分布式缓存

8.5.1 起因

8.5.2 负载均衡

8.5.3 分布式缓存

8.5.4 分布式使用的注意点

8.6 Redis分布式缓存策略:RedisContainerCacheStrategy

8.6.1 Redis简介

8.6.2 安装Redis

8.6.3 StackExchange.Redis缓存扩展

8.6.4 实现Redis缓存策略

8.6.5 单元测试

8.7 Memcached分布式缓存策略:MemcachedContainerCacheStrategy

8.7.1 Memcached简介

8.7.2 安装Memcached

8.7.3 EnyimMemcached缓存扩展

8.7.4 实现Memcached缓存策略

8.8 缓存策略工厂:CacheStrategyFactory

8.8.1 创建CacheStrategyFactory

8.8.2 配置和使用CacheStrategyFactory

习题

第9章并发场景下的分布式锁

9.1 概述

9.2 为什么需要分布式锁

9.3 分布式锁的设计

9.3.1 IBaseCacheStrategy 接口设计

9.3.2 ICacheLock 接口设计

9.3.3 分布式锁基类:BaseCacheLock

9.4 本地锁

9.4.1 LocalCacheLock

9.4.2 实现 BeginCacheLock

9.5 Redis 锁

9.5.1 RedisCacheLock

9.5.2 Redlock.CSharp

9.5.3 实现BeginCacheLock

9.6 Memcached锁

9.6.1 MamcachedCacheLock

9.6.2 实现BeginCacheLock

习题

第10章Container:数据容器

10.1 设计思路及原理

10.2 BaseContainerBag

10.3 BaseContainer

10.4 AccessTokenContainer

10.5 JsApiTicketContainer

10.6 BindableBase

10.7 ContainerHelper

习题

第11章SenparcMessageQueue:消息队列

11.1 设计原理

11.2 队列项:SenparcMessageQueueItem

11.3 消息队列:SenparcMessageQueue

11.3.1 GenerateKey() 方法

11.3.2 MessageQueueDictionary

11.3.3 MessageQueueList

11.3.4 有关Dictionary和List的效率测试

11.4 自动线程处理:SenparcMessageQueueThreadUtility

11.4.1 SenparcMessageQueueThreadUtility

11.4.2 线程工具类:ThreadUtility

11.4.3 优化扩展

习题

第12章接口调用及数据请求

12.1 设计规则

12.2 响应类型

12.2.1 基类:WxJsonResult

12.2.2 扩展响应类型

12.3 请求

12.3.1 GET请求

12.3.2 POST请求

12.3.3 JSON 请求

12.3.4 文件上传/下载

12.3.5 公共方法

12.4 使用AccessToken请求接口:CommonJsonSend

12.4.1 Sent<T>() 方法

12.4.2 JsonSetting

12.4.3 WeixinJsonConventer

12.5 AccessToken自动处理器:ApiHandlerWapper

习题

第13章Debug模式及异常处理

13.1 Debug模式设计原理

13.2 WeixinTrace

13.3 异常处理

13.3.1 WeixinException

13.3.2 ErrorJsonResultException

13.3.3 MessageHandlerException

13.3.4 UnknownRequestMsgTypeException

13.3.5 UnRegisterAppIdException

13.3.6 WeixinMenuException

13.4 微信官方在线调试工具

习题

第三部分 Senparc.Weixin SDK接口介绍

第14章微信接口

14.1 微信接口概述

14.2 开始使用微信接口

14.2.1 获取接口调用凭据(AccessToken)

14.2.2 获取凭证接口

14.2.3 获取微信服务器IP地址

14.3 自定义菜单管理

14.3.1 自定义菜单

14.3.2 个性化菜单

14.4 消息管理

14.4.1 发送客服消息

14.4.2 发送消息-群发接口和原创校验

14.4.3 发送消息-模板消息接口

14.4.4 获取公众号的自动回复规则

14.5 微信网页授权(OAuth)

14.6 素材管理

14.6.1 新增临时素材

14.6.2 获取临时素材

14.6.3 新增永久素材

14.6.4 获取永久素材

14.6.5 删除永久素材

14.6.6 修改永久图文素材

14.6.7 获取素材总数

14.6.8 获取素材列表

14.7 用户管理

14.7.1 用户标签管理

14.7.2 设置用户备注名

14.7.3 获取用户基本信息(UnionID机制)

14.8 账号管理

14.8.1 创建二维码

14.8.2 获取下载二维码的地址

14.8.3 长链接转短链接

14.9 数据统计接口

14.9.1 用户分析数据接口

14.9.2 图文分析数据

14.9.3 消息分析数据

14.9.4 接口分析数据接口

14.10 微信JS-SDK

14.10.1 获取验证地址

14.10.2 获取AccessToken

14.10.3 刷新access_token

14.10.4 获取用户基本信息

14.10.5 检验授权凭证(access_token)是否有效

14.11 微信小店接口

14.11.1 语义理解接口

14.12 微信卡券接口

14.12.1 创建卡券

14.12.2 投放卡券

14.12.3 核销卡券

14.12.4 管理卡券

14.12.5 会员卡专区

14.12.6 朋友的券专区

14.12.7 第三方代制专区

14.12.8 第三方授权相关接口(开放平台)

14.13 微信门店接口

14.13.1 上传图片

14.13.2 创建门店

14.13.3 查询门店信息

14.13.4 查询门店列表

14.13.5 修改门店服务信息

14.13.6 删除门店

14.13.7 获取门店类目表

14.13.8 设备功能介绍

14.14 多客服功能

14.14.1 客服管理接口

14.14.2 多客服会话控制接口

14.14.3 获取客服聊天记录接口

14.15 摇一摇周边

14.15.1 申请开通摇一摇周边

14.15.2 设备管理

14.15.3 页面管理

14.15.4 素材管理

14.15.5 配置设备与页面的关联关系

14.15.6 数据统计

14.15.7 HTML5页面获取设备信息

14.15.8 获取设备及用户信息

14.15.9 摇一摇红包

14.16 微信连Wi-Fi

14.16.1 第三方平台获取开插件wifi_token

14.16.2 Wi-Fi门店管理

14.16.3 Wi-Fi设备管理

14.16.4 配置联网方式

14.16.5 商家主页管理

14.16.6 Wi-Fi数据统计

14.16.7 卡券投放

14.17 小程序

14.18 异步方法

习题

第15章模板消息

15.1 概述

15.2 使用规则

15.3 申请模板消息

15.3.1 开通模板消息功能

15.3.2 添加消息模板

15.3.3 创建自定义消息模板

15.4 接口介绍

15.4.1 设置所属行业

15.4.2 获取设置的行业信息

15.4.3 获得模板ID(添加模板)

15.4.4 获取模板列表

15.4.5 删除模板

15.4.6 发送模板消息

15.4.7 事件推送

15.4.8 异步方法

习题

第16章微信网页授权(OAuth 2.0)

16.1 OAuth 2.0简介

16.2 设置微信OAuth回调域名

16.3 开发微信OAuth接口

16.3.1 创建Controller

16.3.2 GetAuthorizeUrl()方法

16.3.3 GetAccessToken() 方法

16.3.4 GetUserInfo() 方法

16.3.5 RefreshToken() 方法

16.3.6 Auth()方法

16.4 异步OAuth接口

16.5 调试OAuth

16.5.1 调试工具

16.5.2 设置

16.6 使用SenparcOAuthAttribute实现OAuth自动登录

16.6.1 SenparcOAuthAttribute 定义

16.6.2 使用 SenparcOAuthAttribute

16.7 解决 OAuth 出现 40029(invalid code)错误

16.7.1 现象和问题

16.7.2 原因

16.7.3 解决方案一

16.7.4 解决方案二

16.7.5 解决方案三

16.7.6 解决方案四

16.7.7 解决方案总结

16.8 一些误区和注意点

16.8.1 每次打开页面都使用OAuth获取OpenId

16.8.2 认为不使用HTTPS没有关系

16.8.3 在Callback(redirectUrl) 页面直接输出页面

16.8.4 短信通知包含需要OAuth的网页(体验问题)

16.8.5 不使用OAuth,而使用菜单事件判断来访者身份

习题

第17章其他帮助类及辅助接口

17.1 概述

17.2 序列化和JSON相关

17.2.1 SerializerHelper

17.2.2 WeixinJsonConventer

17.2.3 JsonSetting

17.3 时间帮助类:DateTimeHelper

17.4 加密解密

17.4.1 MD5

17.4.2 SHA1

17.4.3 AES

17.5 浏览器相关

17.5.1 判断当前网页是否在浏览器内

17.6 JS-SDK

17.6.1 获取签名信息

17.6.2 JsSdkUiPackage

17.6.3 获取 SHA1 加密信息

17.6.4 卡券相关

17.7 地图及位置

17.7.1 LBS位置计算帮助类:GpsHelper

17.7.2 百度地图

17.7.3 谷歌地图

习题

第18章微信网页开发:JS-SDK

18.1 概述

18.2 签名

18.2.1 通过JsApiTicketContainer获取jsapi_ticket

18.2.2 获取签名

18.3 JS-SDK使用步骤

18.3.1 第一步:绑定域名

18.3.2 第二步:引入JS文件

18.3.3 第三步:通过config接口注入权限验证配置

18.3.4 第四步:通过ready接口处理成功验证

18.3.5 第五步:通过error接口处理失败验证

18.4 接口调用说明

18.5 基础接口

18.6 具体业务接口

18.6.1 分享接口

18.6.2 图像接口

18.6.3 音频接口

18.6.4 智能接口

18.6.5 设备信息

18.6.6 地理位置

18.6.7 摇一摇周边

18.6.8 界面操作

18.6.9 微信扫一扫

18.6.10 微信小店

18.6.11 微信支付

18.6.12 微信卡券

18.7 参考资料

18.7.1 所有菜单项列表

18.7.2 卡券扩展字段cardExt说明

18.7.3 所有JS接口列表

习题

第19章微信支付

19.1 支付模式

19.1.1 刷卡支付

19.1.2 扫码支付

19.1.3 公众号支付

19.1.4 APP支付

19.2 申请微信支付

19.2.1 流程介绍

19.2.2 第一步:申请开户

19.2.3 第二步:小额打款

19.2.4 第三步:支付验证费用

19.3 获取商户证书

19.3.1 接收邮件

19.3.2 安装操作证书

19.3.3 下载证书

19.3.4 一些注意点

19.4 接口规则

19.4.1 协议规则

19.4.2 参数规定

19.4.3 安全规范

19.4.4 获取OpenId

19.5 公众号支付

19.5.1 支付场景介绍

19.5.2 公众号后台的配置

19.5.3 设置测试目录

19.5.4 商户后台的配置

19.5.5 业务流程

19.5.6 HTML5页面调起支付API

19.6 微信支付API

19.6.1 统一下单

19.6.2 查询订单

19.6.3 关闭订单

19.6.4 申请退款

19.6.5 查询退款

19.6.6 下载对账单

19.6.7 支付结果通知

19.6.8 交易保障

19.7 企业付款

19.7.1 概述

19.7.2 企业付款 API

19.7.3 查询企业付款 API

19.8 微信支付Demo开发

19.8.1 后端开发

19.8.2 前端开发

19.9 需要注意的一些事

19.9.1 关于服务器SSL版本

19.9.2 关于IPv6

19.9.3 关于阿里云主机

习题

第四部分 微信小程序

第20章微信小程序

20.1 注册小程序

20.2 管理信息及微信认证

20.2.1 信息设置

20.2.2 微信认证

20.3 准备开发

20.3.1 开发参数设置

20.3.2 添加开发者和体验者

20.3.3 下载开发工具

20.3.4 开发第一个小程序

20.3.5 预览小程序

20.3.6 发布小程序

20.4 使用 SDK 进行后端开发

20.4.1 Senparc.Weixin.WxOpen.dll

20.4.2 对接MessageHandler

20.4.3 回复客服消息

20.4.4 获取二维码

20.4.5 其他高级接口

20.5 使用模板消息

20.5.1 概述

20.5.2 第一步:选取消息模板

20.5.3 第二步:设置并添加模板

20.5.4 第三步:发送模板消息

20.5.5 申请模板

20.6 实现数据请求

20.7 登录接口及用户信息管理

20.7.1 登录:wx.login

20.7.2 登录状态维护:SessionContainer

20.7.3 验证:wx.checkSession

20.7.4 签名加密

20.7.5 加密数据解密算法

20.8 实现WebSocket 通信

20.8.1 关于 WebSocket

20.8.2 在服务器上配置 WebSocket

20.8.3 使用 Senparc.WebSocket 进行 WebSocket 开发

20.9 小程序的微信支付

20.10 小程序开发过程中的常见问题

20.10.1 使用HTTPS

20.10.2 安装WMSVC证书

20.10.3 申请免费的SSL证书

20.10.4 解决Unexpected response code: 200 错误

习题

累计评论(5条) 5个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部