首頁 >後端開發 >php教程 >在web通知系统中消息载体是如何承载信息的

在web通知系统中消息载体是如何承载信息的

WBOY
WBOY原創
2016-06-06 20:39:31986瀏覽

在一个消息通知系统中,有评论通知、有回复通知等等:

<code> - 每种通知在web前台显示格式是不一样的;

 - 对于同一种通知如评论,根据其所评论的内容在web前台显示时又是不一样的,如评论了日记与评论了照片在消息通知的显示中是不一样的;

 - 另外,一张照片的评论也可能会有好几种显示格式;
</code>

考虑到扩展性,我也不能把要显示的通知内容硬性的写到数据库或redis中,看到网上提到“模板”,如果单纯的根据通知类型调用其显示模板,我觉得也不行,但实在不知如何设计数据库才能实现我上面的需求,不知道大家是怎么设计这种类似的消息通知的?

回复内容:

在一个消息通知系统中,有评论通知、有回复通知等等:

<code> - 每种通知在web前台显示格式是不一样的;

 - 对于同一种通知如评论,根据其所评论的内容在web前台显示时又是不一样的,如评论了日记与评论了照片在消息通知的显示中是不一样的;

 - 另外,一张照片的评论也可能会有好几种显示格式;
</code>

考虑到扩展性,我也不能把要显示的通知内容硬性的写到数据库或redis中,看到网上提到“模板”,如果单纯的根据通知类型调用其显示模板,我觉得也不行,但实在不知如何设计数据库才能实现我上面的需求,不知道大家是怎么设计这种类似的消息通知的?

提一个解决方案:
通知不携带具体的内容或者携带最少量的必要信息(如消息数发送方等信息),当用户实际点击时在异步获取具体的消息内容。

以Android的推送为例。这个为我厂先产品的一个实现。传递通知类型,以及用户id,然后在解析完成后在推送到通知中心。类似上面所说的携带最少量必要信息,然后异步获取具体呈现内容。

再说具体的通知信息如何呈现。
首先,存储中保存的信息必然不是最终呈现给用户的信息。给用户呈现的信息应当是在service层或者在页面组装的。存储还是保存基本数据信息,比如说具体评论内容、时间、图片链接等。

昨天晚上比较晚,思路不是很清晰。现在再做下补充。

上面提到的方法是一。还有就是和view层(web、app)协定好具体的消息格式,然后还是在service层完成消息组装。
以iOS推送为例:iOS的推送因为是要遵从Apple的APNs的协议,alter是alter,badge是badge,需要传递给app的,则封装在custom中。web也可以类似,协定好具体的通知格式,然后在web层判断并呈现。

我目前就是这样的,,现在要推送给用户的信息,
这个信息分为各种各样的,, 如果用redis来存储呢 ? 再者如何读取用户没有读取过的消息记录呢??

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn