C++构成微信小程序的Web API接口层的架构设计

在自家面前有好多篇随笔介绍了Web API
接口层的架构设计,以及对微信公众号、公司号、小程序等模块的分类划分。例如在《C#开发微信门户及使用(43)–微信各种品类模块的概念和互相关系》介绍了连带模块的分开,在《根据微信小程序的系统开发准备工作》介绍了Web API的架构设计思路。本篇小说对此前介绍的架构内容开展统一的调整创新,以便进一步惠及实际项目标使用开发,以期完毕统一、重用、清晰的目的。

1、公众号、集团号、小程序模块的分割

俺们精通,近年来微信集团应用,分为公众号、公司号(公司微信)、小程序二种选用形式,对于正常的开发以来,大家对各种格局的行使都分为了八个例外的一些,一个是和业务数据相关的数据管理、一个是和API接口相关的API管理,两者结合为一个完整的选择。

公众号、集团号(公司微信)、小程序三种采纳情势的模块划分如下图所示。

C++ 1

工作数据管理模块,一般还索要调用API接口举办有关的拍卖操作,由此他们中间的品种引用关系如下所示

C++ 2

其它,那三体系型的API接口也公用了一些事务对象和实体类,因而把它们抽取出来作为集体项目模块,如那三类接口项目联合行使了一个公家实体类项目。

C++ 3

除却那个之外,我们做项目,一般还关系到有的基础作用模块,如公用类库,以及附件管理、通信录管理、权限管理模块等内容,大家得以把后者多少个模块放在一块儿,组成基础模块。

C++ 4

 

2、基于微信的Web API 架构设计

乘胜基于JSON格式的Web API的广泛应用,越多的商店利用Web API接口服务层,作为联合接口的中坚所在,也改成Web API要旨层。基于JSON格式的接口,可以广泛地、跨平台的运用于IOS、安卓等移动端,也可以选择在健康的Web业务系统,Winform业务连串、微信应用、微信小程序等总体,由此集团中间形成自己是的一套Web API标准和详细的文档非凡重大,一旦完善了,就可以供各类业务场景使用,这几个业务可以外包给其他软件公司依然社团,各自分离开发,而温馨之中则只需要费用精力来归并爱慕Web API主旨层和提升总体宗旨层的效能接口稳定、缓存处理等方面业务即可。其他业务公司开发的种类只要求按照整个大接口平台的统一规划,完毕各自的功效必要即可,不会促成数据库的不平等,更不会让某家集团控制主旨的技术资源,尾大不掉的两难处境。

按照上边的剖析,大家商家最后围绕着Web API主旨层做了分歧的作业使用,如下图所示。

C++ 5

C++ 6

再进一步详细各类模块的分支,大家得以细化为上边的架构设计图,所有模块均围绕着Web API 接口层举行扩展,底层的数额存储对上层的行使是一点一滴透明,大家可以按照须要拆分种种事情数据库,以及选拔我们以为突出的数据库。

C++ 7

里头大家在Web API接口层上还察看一个微信信息交互的模块,那些模块大家为了方便域名端口的拍卖,和Web API 是联合放在一块儿的,它负责和腾讯微信服务器举行信息的相互处理,从而完结各个新闻推送处理。

微信的服务器架起了客户手机和开发者服务器的一个桥梁,通过音讯的传递和响应,已毕了与用户的相互操作,下边是它的音讯流程图。

C++ 8

通过对这几类工作使用的模块分析,大家就足以创设有关的花色了,来分别对那一个数据和API举办管制,如我辈根据那几个分类,在Visual
Studio的系列管理中看到的种类如下所示。

 C++ 9

中间由于大家这里的Web API 是一个统一的说道,由此会组成很多Web API控制器,以提供所有工作的接口,由此对Web API 控制器的田间管理就显得很重点,那里提议引入Area区域展开管理控制器类,那种各种模块就可见很好分门别类的举办田间管理了。

正如图所示是大家的Web
API项目的控制器Area区域分类,把微信公众号、集团号、小程序、基础框架、第三方接口、CRM等内容展开不一致的撤并。

C++ 10