程序员的自我救赎---4.2:消息中心讲解与应用

《前言》

(一) Winner2.0 框架基础分析

(二)PLSQL报表系统

(三)SSO单点登录

(四) 短信中心与消息中心

(五)钱包系统

(六)GPU支付中心

(七)权限系统

(八)监控系统

(九)会员中心

(十) APP版本控制系统

(十一)Winner前端框架与RPC接口规范讲解

(十二)上层应用案例

(十三)总结

 

《消息中心讲解与应用》

 

在讲消息中心之前我希望看我这篇博客的园友们能先看一些《短信中心源码分析与应用(工厂)》,因为这两个项目很类似,但是在Winner中的意义却差别很大。

首先短信中心的主要职责是发送短信,消息中心中包含短信模块。除此之外消息中心支持:微信消息推送,邮件推荐,APP消息推送,站内信等等。

常言道:“一图胜过千言万语”。我们直接上图:

 

 

 消息中心是符合标准工厂的方式来做的,使用静态工厂却创建。这跟前面的《短信中心源码分析与应用(工厂)》里讲到的1.0是一模一样的,在消息中心中我们并没有

 去SaaS。 这是也有一点历史原因,其实就是 短信中心是 后来重构了一次,而消息中心没有。

 

消息中心在Winner体系中应用最多的地方就是APP的消息推送。我们使用的“极光推送”。这个第三方平台还可以,当然类似的平台还有几个,目前我们只用了极光推送

我们没有去对比其他平台,总归极光符合我们的需求,就一直用他。关于APP如何实现极光推送这里我就直接引用极光推送的官网:https://www.jiguang.cn 

 

然后就是微信公众号的推送,这中间如何申请微信公众号,如何实现发送消息官网上都很清楚我也不去赘述了: https://mp.weixin.qq.com/

只是微信有比较恶心的一点就是必须按照它模板的格式去发,甚至说发送的内容什么字体什么颜色都有明确的要求。 至此,这里对我们来说要求每个项目都要去

编写模板信息就太费事了,所以我们将常用模板保存在了数据库,并自己开发了模板解析的方法。

 

 

 

其实透一点就是数据库存储了膜拜内容,而膜拜内容中我们用了类似之前《PLSQL报表系统》中的关键字替换,而这些关键字我们都有对应的实体类。

整个项目不复杂,但是战略位置却很有意义,还是那句话:“职责分离”。

 

最后,发送邮件、站内信 都是自己开发的具体实现,区别在于,站内信我们没有去开发一个“站内信系统”、“邮件系统”。这个是没有开发的,相对而言这两个的需求

在我们所开发的项目中还是较少的,邮件我们用的腾讯的企业邮箱(https://exmail.qq.com)有每天有500条免费发送量,足够我们用了。如果对此后续还业务量的需求,我们也会像短信中心

那样开发一个“邮件系统”。甚至还要单独拿台服务器出来做邮件服务器。 

 

另外,我图上也特地画了一下Web模块,之前的“短信中心”是没有Web模块,假如这个时候有一个需求就是:临时需要推送一条通知给制定用户的话,怎么办?

短信中心是没有操作界面给我们的市场人员去操作的。

其实不是不能,而是这个需求的实现者不是短信中心,而是消息中心。由消息中心的Web管理后台的给用户发送消息,甚至是群发短信,微信短信组合发送 都可以的。

 

消息中心其实没有必要单独拿出来开一个篇章,但是还是因为它的是项目开发中必不可少的一个组件,重要的还是表达一个Winner2.0的“组件化”思想。

(补充一点:其实消息中心又那么点“工厂方法”的味道, 如果把消息中心和短信中心组合在一个项目里面的话,那这就完整的工厂方法模式了。)

 

有兴趣一起探讨Winner框架的可以加我们QQ群:261083244。或者扫描左侧二维码加群。

 

posted @ 2017-12-08 14:57  Near_wen  阅读(1263)  评论(0编辑  收藏  举报