第十五章:第22节论坛系统(BBS)用户中心-用户主页的黑名单、关注功能和消息提示功能

更新于:2018-09-13 15:06:41

1、黑名单功能


在论坛中,不希望某个人回复自己的帖子,写私信给自己,这样需要用到黑名单的功能。


先设计黑名单表:

1.png


控制器:app\home\controller\Ublacklist.php

模型:app\common\model\UserBlacklist.php

视图:app\home\view\ublacklist\index.html、app\home\view\huser\index.html


拉黑的按钮(包括取消拉黑)在用户主页显示:

1.png


这是用户中心的黑名单列表显示:

1.png


以上是黑名单的添加、删除与显示功能。我们做这个黑名单功能是为了阻止某些用户做某些动作,比如让黑名单里的用户不能评论自己的帖子或者不能发私信给自己,这就需要在某些代码处加上if判断语句。


私信功能楠神下节开发这个功能,说下实现“黑名单用户不能评论自己的帖子”功能需要去修改这个地方的代码:


1.png


在扩展类Auth中的allowUserAddComment方法里加上192行的判断。


2、关注功能


这个关注功能的添加、删除、显示与黑名单功能的完全一样。


1.png


控制器:app\home\controller\Uattention.php

模型:app\common\model\UserAttention.php

视图:app\home\view\uattention\index.html、app\home\view\huser\index.html


楠神写得这个关注功能比较简单,类似于收藏文章,只是把用户收藏了一下。关注功能可继续拓展出类似朋友圈的功能,就是我关注的人发了新帖子,可以在“关注动态”中看到。


3、消息功能


如果我的帖子被人回复了,我需要第一时间知道。


1.png


控制器:app\home\controller\Umessage.php、app\home\controller\Common.php

模型:app\common\model\UserMessage.php

视图:app\home\view\umessage\index.html、app\home\view\common\header.html


上面文件的代码只是对消息的显示与删除。


消息的插入还需在某些功能代码中写入。


比如,有人回复我的帖子,需要在消息表插入数据:


1.png


我的帖子被置顶被加精了,消息插入:


1.png


做这个消息功能,就是让用户第一时间知道有些事件已发生。所以当用户每次请求页面时,都要查询下有没有未读的消息产生。


1.png

本节学习代码》》》