如何实现用户对文章的关注功能

整体项目简述

我是一名刚进入职场的一位实习生还没有转正,算下时间现在已经在公司呆了将近三个月,前两天完成了我的第一个练手项目,项目类型是微信公众号,【冉星堂】目前已经正式上线,虽说是个小项目,不过确实让我牢固了不少知识,对于公司的整体框架和语言都比较熟悉了,前端页面和前端样式使用的是vue框架搭建,后台数据使用的是MVC框架进行的数据处理,其中让我刚开始比较难理解的是不同的用户登录这个公众号时关注自己喜欢文章的时候如何进行关注,因为文章表格中并没有是否关注的字段进行判断,刚开始对我来说我确实不知道怎么处理,然后我的师傅和我的同事都很比较好,对新人的我很帮忙,告诉我了这个问题的处理,现在让我来做,我觉得非常简单,究竟是怎么实现的,看我娓娓道来。

前台vue使用的开发工具前端页面搭建使用的软件vue

数据库表格

数据库中有文章表,文章类型表,用户表,但是每个表格中都没有关注的字段,那要怎么通过数据判断用户是否关注了这篇文章呢,所以在刚开始做这个功能的时候,我和我的师傅提出了我的想法,还是比较天真的想法,说可以在数据课表格中没个表格中都加一个关注字段吗,当时我师傅听了就反驳我,数据库中的数据是使用给没个用户用的,你改了数据库中的字段,所有的用户关注文章字段都会发生改变,我顿时觉得小白的思想过于幼稚,太尴尬了,哈哈,还是我太天真了,所以我的观点再次没有了,没有了头绪。

MVC实体类

然后接着,我就分析后台,先把表格中的实体类都给放到项目中,加完了之后,我还是不知道怎么进行下一步,接着我师傅和我说,你知道封装继承多态吗,当时我很自信说我知道,因为概念了解的还是比较熟悉的,然后师傅说,那这个功能不就完成了吗,我还是很蒙,因为我自己实用的比较少,这怎么会就完成了,最后还是师傅告诉了我,步骤是:在项目中再写一个类继承文章的实体类,继承他,子类拥有父类的所有特征,在继承文章类的那个类中再加一个关注文章的字段,这个字段用来判断文章是否被关注,然后返回给前台。
在这里插入图片描述
文章实体类

在这里插入图片描述
继承文章类

控制器接口

这个时候在控制器中写代码,查询你要访问的实体类,写继承类就可以了,(这一步应该清楚吧,写的有点简单,那我再详细说一下,就是你查询文章是否被关注,或者把添加关注的文章添加到我的收藏表中,这个查询或者添加的过程你需要用到的实体类,但不是文章实体类而是继承文章实体类写了关注文章字段的那个类),这个时候你把需要用到的用户对象,文章ID以及关注字段都给他传进去,这样就能关注文章成功!

在这里插入图片描述

注意事项

其实上面的步骤已经是完成这个功能的了,但是他会有一个bug,bug是:在你点击这个关注按钮时,你会发现一点刷新按钮这个功能就会重新失去作用,所以这个时候你要在接口里面再写一串代码,var isguanzhu (先写一条查询关注表中当前的用户ID和当前的文章id以及是否文章被这个用户所关注),再进行判断,如果isguanzhu这个字段里面的数据!=null则给这个关注字段赋值为true,反之为false,在查询所有带有关注文章的接口上都需要加这一个判断,否则你的那个页面带有关注文章字段的功能就会失效。

var getAttention=service.GetObject(new Attention { WechatUserID = MobileAccount.ID,ArticleID=item.ID, IsAttention = true });
                    if (getAttention!=null)
                    {
                        item.IsAttention = true;
                    }
                    else
                    {
                        item.IsAttention = false;
                    }

总结

其实我想分享这个知识点的时候,我是想让自己能够更加加深印象,以后遇到同样的事情时,我会自己再回头消化自己学到过的知识点,善于归纳和总结才能使人进步,对于刚进入IT公司才实习三个月的我来说,路还很长,未来可期,静待花开,我也会不定时的归纳我所掌握的知识点,同时也分享给各位,虽然我只是沧海一粟,但我也有想变成凤凰的一天,谢谢!

猜你喜欢

转载自blog.csdn.net/Lsaacs/article/details/103857100
今日推荐