网站里的消息提醒是怎么实现的

背景:当我们登录注册过的网站时,右上角一般有个“消息”和小红点的提示,表示我们有新的未读消息,我们可以点击小红点接下来详细聊聊它的实现。

常见的功能也就如下几种:

针对用户:未读消息提醒、查看消息、删除消息,标记为已读

针对系统管理员:新增消息、修改消息内容、删除消息、给用户发送消息

简单的说就是围绕数据库表的一系列操作--CRUD,因此只要设计好底层的消息表,就成功了一大半。

由于该功能在大部分项目中都有涉及,因此需要根据实际的业务需求来设计。通常消息可分为两种类型:系统消息(给所有用户发送的,例如:系统更新xxx),用户消息(跟用户相关的,比如私信、评论等)。由于系统消息一般是给所有用户发送,其实这一点在实际业务中是没有必要的,很多系统用户注册后再也没有登录,其实是没有必要的,如果这样的用户数量很大的情况下,是非常耗内存的,比较好的做法是只给登录的用户发系统消息。而对于用户消息,应该是动态的,例如csdn 上有用户评论、私信时就要往数据表添加一条记录,在相应的查询窗口显示出来。

在我的项目实现中设计了两张数据库表:用户消息表、系统消息表

用户消息表记录所有用户的消息(包括用户收到的系统消息);系统消息表记录管理员添加的系统消息(该表相比用户消息表记录非常少)。

1.当用户登录时,需要给其发送新的系统消息;可以根据系统消息表和用户消息表做差集,将新的系统消息添加进用户消息表中。

2. 针对不同的用户消息类型,可以设计不用的消息模板,在触发时只需要传入相应的参数即可。

实现效果:

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值