基于SpringBoot的新闻发布与管理系统的设计与实现_王文海.docx
摘要随着互联网技术飞速的发展,无线移动通信技术也随之不断发展,人们从1G通信过渡到4G通信,迎来即将普及的5G,科技创新不停地冲击着人们的生活,人们的衣、食、住、行同时也在不断地在变化,与此同时,也极大的改变了人们获取信息的方式,在很久以前,有人发明了报纸,然后人们能够从报纸上获取新闻信息,然后是电视、互联网的诞生又改变了人们以往读取信息的方式,人们获取新闻信息的途径越来越快捷,多元,但是即使过了这么久的时间,新闻是否真实的仍然是新闻人们最关注的事情,但在当今时代下,一些新闻传播者为了博人眼球,各种层出不穷的“标题党”,以及各种良莠不齐的信息,人们在搜索新闻的同时还要费巨大的精力去筛选有用的信息,去判断新闻的真实性,这无疑会浪费读者许多的时间,造成互联网上充斥大量的负能量信息,不利于新闻传播的发展,对此本文探讨的是如何打造一个具有真实性、准确性、时效性、开放性、广泛性以及趣味性的新闻平台。本系统经过深思熟虑后,决定使用Browser/Server架构也就是“浏览器/服务器”模式,使用SpringBoot+Vue+MySql技术开发这个项目。本系统主要负责下面的几个功能的实现:1.用户能够在系统寻找自己含兴趣的新闻信息进行查询。2.网站的管理员能够对用户以及新闻进行管理与维护。3、新闻发布者能够发布新闻。4.不管是非注册的用户或者是普通注册用户都能在网站上看新闻,但是只有注册用户才能打分,收藏。关键词:新闻发布管理 B/S SpringBoot MYSQL 权限控制AbstractWith the development of Internet technology, communication technology is from 1g to 4G, As well as the 5g that is about to be popularized, technological innovation constantly impacts people's life, greatly improves people's life style, and also greatly changes people's access to information. From newspapers to computers, to mobile phones, people's access to news information is becoming more and more convenient. However, the basic characteristics of news have not changed, and the authenticity is still news The important principle of communication, but in today's era, some news communicators in order to attract people's attention, various kinds of endless "title party", as well as all kinds of good and bad information, people in the search of news at the same time also spend a lot of energy to screen useful information, to judge the authenticity of news, which will undoubtedly waste lots of time for readers, resulting in a large number of Internet flooding This paper discusses how to build a news platform with authenticity, accuracy, timeliness, universality and interest.This graduation project mainly uses the B / s design mode, based on spring boot + Vue + MySQL technology to develop a news release and management system. The system realizes the following functions: 1. Users can browse the news in VI system. 2. News managers can release news. 3. Users can comment, grade and collect news.Key words: press release management B/S springboot MySQL permission control广东东软学院本科生毕业设计(论文)目 录第一章 绪论11.1 课题研究的意义11.2 课题研究的目的11.3 课题研究的主要内容1第二章 系统开发技术介绍32.1 SpringBoot技术介绍32.2 Vue技术介绍32.3 MySQL数据库介绍32.4 shiro安全框架介绍32.5 JSON Web Token(JWT)技术介绍4第三章 系统分析53.1可行性分析53.1.1 经济可行性53.1.2 技术可行性分析53.2 系统性能需求分析53.3 系统功能需求分析7第四章 系统设计94.1 系统总体设计94.2 系统模块设计104.3 业务描述114.4 数据库的设计124.4.1数据库的配置124.4.2 数据库概念结构设计124.4.3 数据库逻辑结构设计13第五章 系统实现165.1 登录模块的实现185.2 后台信息模块的实现195.3 用户管理模块的实现205.4 新闻管理模块的实现215.5 新闻评论管理模块255.6 在线音乐模块的实现26第六章 总结276.1 结束语27参 考 文 献28 第一章 绪论1.1 课题研究的意义设计新闻与管理系统的目的是为了打造一个真实可靠的信息平台,随着全球化的发展,人们知识的获取渠道越来越多,从1G到4G通信技术,还有近期将要普及的5G通信技术,科学研究不断地冲击着无线通信技术的创新,使人们获取新闻的方式越来越多元化,简单化,人们可以从报纸、电脑,还有手机浏览新闻,人们获取新闻信息的途径越来越便利,但无论怎么变化,新闻的基本特性并没有改变,真实性仍然是新闻传播的重要原则,但在当今时代下,一些新闻传播者为了博人眼球,各种层出不穷的“标题党”,以及各种良莠不齐的信息,人们在搜索新闻的同时还要费巨大的精力去筛选有用的信息,去判断新闻的真实性,这无疑会浪费读者许多的时间,造成互联网上充斥大量的负能量信息,不利于新闻传播的发展,对此本文探讨的是如何打造一个具有真实性、准确性、时效性、开放性、广泛性以及趣味性的新闻平台。1.2 课题研究的目的新闻发布与管理系统,也被人们成为信息发布与管理系统,目的是将全国甚至全世界的重要即时信息进行搜集,并对其进行集中管理,然后根据某些规则,例如时间,新闻类型或者是根据地域进行处理,最后对其系统化地进行分类化,标准化,最后通过将其发布到系统上,进而在网络进行传播的一种网络程序。此系统发布新闻需要先准备好新闻的内容与标题,如果想让新闻更加生动,还需要准备图片或者音频,然后管理员只需要把新闻排好版,图片位置调整,点击发布,一篇新闻就能够简单的发布到网站上,它的出现能够让网站的平均维护量降低,让管理员能够更专注于新功能的开发,这无疑将使网站的更新速度提升,后续对数据库的优化也能够减小服务器的负担。1.3 课题研究的主要内容通过将这次课题的实现,我们能为新闻管理者提供一个快捷,方便,即时的管理平台,为用户提供一个真实,可靠,能够查看以及评论新闻的平台。通过对这一课题的思考和研究,可以了解项目的背景和意义,这对于实现系统功能来说是非常有必要的。除此之外,还能够分析用户到底需要什么。不仅能够验证这个项目的可行性,还能提前评估系统上线后的大概情况。同时,本系统必须有权限管理模块,明确声明不同主体拥有不同的权限。同时,为了系统的安全,需要设置权限和加密数据。最后对系统业务进行了描述,给出了系统的功能模块图和流程图,供设计和实现时参考。第二章 系统开发技术介绍2.1 SpringBoot技术介绍SpringBoot是由Pivotal团队开发的全新的开源开发框架1,从诞生初期它就着有明确的目的,简化应用Spring开发项目.最突出的特点是配置方式,大大简化了Spring应用各个方面的配置.另外SpringBoot能够集成大量的框架,解决了之前很重要的项目之间包的版本依赖和稳定性问题.同时有了SpringBoot使Springcloud众多的组件项目得以良好地被应用,从而改变了web应用的开发模式。2.2 Vue技术介绍Vue.js是时下非常流行的一种WEB前端开发技术,这种技术是基于MVVM架构的模式2,而这种MVVM架构模式是一种新型的模式,它只要是在经典的MVC模式上衍生出来的3,具有响应式的数据绑定:当数据发生改变,视图可以自动更新,可以不用关心dom的操作,专心数据操作的优点。2.3 MySQL数据库介绍MySQL数据库是一个小型关系型数据库管理系统,已被广泛应用于因特网上中小型企业。3它具有功能强、使用简便、管理方便、运行速度快、安全可靠强等优点,用户可利用许多语言编写访问MySQL数据库的程序。5, 关系型数据库的特点是将数据保存在不同的表中,再将这些表放入不同的数据库中,而不是将所有的数据统一放在一个大仓库里,这样的设计加快了MySQL的读取速度,而且它的灵活性和可管理性也得到了很大的提高,访问及管理MySQL数据库的最常用标准化语言为SQL结构化查询语言,SQL使得对数据库进行存储、更新和存取信息的操作变得更加容易。62.4 shiro安全框架介绍在一个系统中,会有许多用户,每个用户又分别拥有着不同的角色,这些可以是一对多,也可能是多对多,同时不同的角色也拥有不同的职责,用户在操作系统的时候会判断用户的身份,然后给予用户相应的权限,这种工作是非常繁琐的,因此使用安全框架是非常好的一个选择,开发人员能够更加专注于业务开发,而shiro框架就能解决这个问题,首先,shiro小巧,但是功能却十分强大,能实现当用户登录是,会读取角色表的信息,判断用户角色,这就是身份验证,当用户登录成功后,会根据角色查询权限表,赋予角色增、删、查、改等权限,用户登录成功后,需要保存一些数据,例如记住用户名、用户密码等等,这时候就可以用到会话管理的功能,除了这些功能,shiro还能对数据进行加密、网络支持、缓存数据,测试等等。2.5 JSON Web Token(JWT)技术介绍前后端分离是目前越来越主流的趋势,而前后端分离就会面临着跨域的问题,这会让身份验证的方法越来越困难,也越来越复杂,而JWT就是解决这一个问题而出现的,它能够让用户不通过redis的验证,而使用之前登录保存的信息来判断token来实现单点登录,使用JWT可以节省处理前后端分离导致的跨域问题的时间和精力。第三章 系统分析3.1可行性分析3.1.1 经济可行性成本评估是开展项目前的最重要的工作,它可以评估这个项目的开展是否存在问题,也就是经济可行性,从这个方面去分析,系统架构并不复杂,因此对服务器的性能要求较小,在数据存储方面,使用MySQL是一个很高的选择,因为它在处理少量或重量的数据时极大的体现并且发挥其速度快的特色优点。而且MySQL简单容易操作,相比于Oracle、PGSQL等其他类型的数据库,它更加简单,高效,能够减少数据库管理员的工作量,初次以外,开源版本的数据库已经能够满足系统的日常工作。所以,在经济层面上完全不存在问题。同时,许多大网站例如腾讯、搜狐登互联网社交网站都会为用户提供新闻栏目,各大高校和一些自媒体网站都会发布关于企业或者是国家的新闻,由此可以得出一个结论:互联网新闻信息对于现在人来说是不可缺少的,因此使用频率会特别高,如果使用传统的静态页面技术来进行网站开发的话,后续对于开发人员的维护成本是十分高昂的,繁琐的,因为系统管理员需要每个页面写js、css的文件,十分繁琐,而如果使用Vue.js开发的话则能够省去大量时间去复写组件,将开发成本大大降低。后续系统管理员只要将事先准备好新闻的标题,新闻需要用到的图片,新闻的正文部分就能够将一篇新闻发布到网站,减少了管理员重复多余的工作。3.1.2 技术可行性分析 从技术角度上分析,此系统采用SpringBoot作为框架,可以快速搭建开发环境,同时用maven进行控制依赖,减少了引入包的大量时间,用vue能够快速搭建前端框架,前后端分离能够让人们集中精力与前端开发或者后端开发,同时也减少了系统的耦合度,从技术可行性角度来看,这是绝对可行的。3.2系统性能需求分析该系统的最终目标是用户能够通过电脑,手机浏览器对新闻进行浏览,评论,转发等功能,因此,在处理新闻的信息的时候,不必对新闻的查看进行权限的设置,但是在其他功能上,例如新闻评论,转发则需要用户进行注册后才能进行这些操作。同时,该系统也应该满足以下需求:(1)交互界面设计应该简单明了,能够让用户快速上手。(2)前端新闻展示应该具备新闻的搜索功能,用户能够根据对莹关键字进行搜索。(3)该系统应该具备较高安全性。(4)即使发布,能够将最新的新闻即使发布出去,体现新闻的时效性。(5)该系统的前端运行速度上应该能够很快对用户的操作进行反馈,后端的运行应该要跟上前端的速度,不超时。3.3 系统功能需求分析图3-1系统模块图工作流程如下:用户注册时,系统会根据用户输入的用户名,密码以及二次密码,检验数据的唯一性,首先系统会查询数据库是否有相同的用户名,首先系统会进行账号是否有人注册过的验证,如果是不唯一的话需要更改名称,没有则通过注册,当未查询到有相同用户名时,此时,用户完成注册,填写过的这些信息将存入用户表中。此时用户输入账号与密码进行登录,若查询到有对应的用户名(username),密码(password)时,即是代表数据库中已经存在此条数据,这时完成登录功能。 用户在搜索栏中输入自己想要搜索的内容,如果输入的文字里面有新闻表相关的信息,系统会输出所有包含这个关键字的新闻并显示在新闻列表中,并且根据热度(likes)按顺序进行排序。用户根据不同的新闻分类对新闻进行浏览,用户点开不同的新闻类别,根据新闻的标题(title)与封面(pucture)对新闻本身的内容有个大概印象,用户能够根据不同类别的新闻来浏览自己感兴趣的新闻。 管理员进行新闻发布的功能操作,新闻表中有新闻类型(type),管理员能够根据需求添加到对应的新闻类别中去。而新闻类型(type)与新闻类型表(newtype)是相关联的。新闻能够根据新闻类别(type)字段找到所属的新闻栏目。 管理员能够对不符合规则,不符合国情或者是不符合新闻真实性的新闻内容进行删除。 用户能够对新闻进行评论,说出他们自己的看法 用户能够对自己喜欢或者感兴趣的新闻进行点赞。 管理员能够查询某一条评论,获取当前评论的内容,点击删除,评论就会从页面显示中消失,但是评论本身并不会删除,而是根据状态(status)判断显示与否(0:显示,1删除)。第四章 系统设计4.1 系统总体设计此系统总体设计主要是把系统的大功能模块拆分为一个个小功能模块,使系统耦合度降低。系统功能模块的拆分要注意拆开的功能模块之间的关系,这样才能够组成一个高效率、速度快的系统。这需要全面考虑管理需要和系统开发。各模块应相互独立,并留有适当的接口,便于今后功能的扩展和完善。新闻发布及管理系统将开发和设计的模块按照以下几类划分:(1)新闻管理,管理员能够将编辑好的新闻进行添加、查询、更新和删除等。新闻分类管理,按照新闻的类别分别实现添加,查询,更新和删除的功能等。(2)新闻评论管理,系统管理员能够对用户发表的评论进行删除。新闻查询,用户和管理员能够按照新闻类别和新闻发布时间对新闻进行查询和浏览。(3)新闻用户管理,管理员能够对用户进行添加用户,删除用户和修改用户信息,冻结用户账号等操作。(4) 新闻评论管理,系统管理员能够对用户发表的评论进行删除。下面是系统的模块图:图 4-1 功能模块图4.2 系统模块设计此新闻网站包含以下6个部分:(1)用户模块:普通用户即是对新闻部具有管理功能的用户,该模块下的用户具有浏览新闻、搜索新闻、新闻收藏、对新闻进行评论等操作。(2)新闻信息模块:新闻管理员在该模块下能够对新闻进行添加,修改,查看,删除等操作。(3)新闻类别模块:该模块下管理员能够对新闻类别进行添加,查看,修改,删除等操作。除此之外,当新闻条数过大的时候,管理员能够使用关键字查找新闻,或者根据新闻类别查找对新闻进行模糊查询。(4)新闻评论模块,管理员能够查看用户评论以及评论时间,如果一些评论不符合规定,能够对评论进行删除。(5)用户登录模块,用户能够进行登录操作(6)在线音乐模块,用户能够在页面上听音乐。4.3 业务描述 首先,使用此网站的对象有两种,一种是看新闻的用户,也就是普通用户,另一种就是,普通用户又分为两类:非注册用户和注册用户,非注册用户能够通过用户注册的操作从而成为此系统的正式用户,也叫注册用户,登录系统后的注册用户,面对庞大的新闻信息,能够对新闻按照自己的喜好进行对新闻的搜索,查看以及对自己喜欢的新闻进行评论,点赞等操作,如果新闻不符合真实性,用户还能够对新闻进行举报,管理员会勘测此新闻是否不符合规定,对不符合规定的新闻进行删除。 在此系统中会有唯一一个超级管理员(superadmin),管理员在通过用户名(username) 和密码(password)的检验后登录此系统,这是超级管理员能够在后台进行一系列操作。例如,管理员能够对系统的新闻分类以及对应类别下的新闻信息进行新增、查询、编辑、删除等操作。同时,超级管理员能够对注册用户以及注册用户的评论进行管理。系统流程:从全局上看,不论是管理员或者是普通注册用户,都能对新闻进行浏览,系统会验证登录账号的权限,如果是管理员(admin)或者超级管理员(superadmin),则在主页面上进入后台登录页面,重新输入账号密码,进入管理员页面,然后管理员就可以对新闻进行管理,如果只是普通用户则只能够对新闻进行评价。新闻发布与管理系统业务流程图:图 4-2 业务流程图4.4 数据库的设计4.4.1数据库的配置不管是新闻系统,或者是其他系统,数据库永远担任着最重要的角色如果数据是一个系统的血液,那么数据库就是系统的心脏,因此数据库的设计决定着这个系统的健壮性,合理的数据库设计既能够减少日常维护的麻烦,又可以加快系统的运行速度,是数据能够更快展示在用户面前。因此,设计一个合理又结构明了的数据库,能够在保证数据的完整性、一致性以及安全性的基础要求上尽可能提高存储效率以及读取效率。 数据库的配置:使用SpringBoot连接数据库是十分方便,下面是SpringBoot连接的过程:(1)在pom.xml里面引入mysql-connector-java.jar(2)在配置文件里面添加配置。application.properties是springboot唯一需要的属性配置文件,在里面能够添加你想要的属性,包括变量,常量和其他一些项目属性。(3)运行SpringApplication程序,这是就能够成功连接数据库了。4.4.2 数据库概念结构设计E-R图是数据概念模型的整体结构理念,这最终将展示为实体-关系模型。建立实体-关系模型的目的是将抽象的数据具体化,把关系模式进行转换。新闻系统E-R图如下图所示:图 4-3系统E-R图4.4.3 数据库逻辑结构设计在系统开发前要做好所需要的需求分析,设计一个合理的数据库,避免数据库后续有太大的改动从而加大后续维护的工作量。第一步需要对系统的数据库进行逻辑结构模型设计,我设计了以下八个表的逻辑结构:角色表(角色代号主键、角色名称)权限表(主键、父权限主键、权限代号(规范权限标识)、代码控制权限标识符、权限名称、权限类型(1:权限 2:业务操作)、权限的序号、权限地址)角色-权限表(主键、角色代号、权限代号(规范权限标识)操作日志表(主键、日志描述、方法参数、用户主键、类名称、方法名称、ip地址、创建时间、模块名称、密码)用户表(用户主键、用户名、邮箱、电话号码、头像、状态值(1:启用,2:禁用,3:删除)、身份)新闻表(新闻主键、新闻标题、新闻内容、新闻作者、新闻原作者、新闻类型、新闻标签、新闻链接、封面图链接)新闻类别表(主键、类别名称)评论表(评论主键,父主键,新闻主键、用户主键、评论日期、点赞数)第二步是根据E-R来进行数据表的创建,数据库有角色表、权限表角色-权限表、操作日志表、用户表、新闻类别表、新闻表、评论表等7张表表4-1 用户表名称类型 长度小数点是否null主键注释user_novarchar500否是用户主键user_namevarchar200否否用户名,账号passwordvarchar200否否用户密码emailvarchar350是否邮箱mobilevarchar110是否手机号码create_timeDate00否否创建时间avatarvarchar800是否头像路径sexchar20是否性别midified_timeDate00是否修改时间statusint20否否状态accessvarchar200否否身份名称表4-2角色表名称类型 长度小数点是否null主键注释role_codevarchar500否是角色代号主键role_namevarchar500否否角色名称表4-3 用户-角色表名称类型 长度小数点是否null主键注释user_to_role_idint110否是主键user_novarchar500否用户编号role_codevarchar500否角色代号表4-4 日志表名称类型 长度小数点是否null主键注释operation_log_idint110否是主键log_descriptionvarchar640是否日志描述action_argsvarchar3000是否方法参数user_novarchar500是否用户主键class_namevarchar3000是否类名称method_namevarchar640是否方法名称ipvarchar320是否主机ipcreate_timeDate200是否创建时间model_namevarchar500是否模块名称actionvarchar500是否操作succeedint20是否是否成功messagelongtext00是否异常信息表4-5 菜单(权限)表名称类型 长度小数点是否null主键注释menu_idint110否是主键parent_idint110否否父菜单主键menu_codevarchar500否否代号,规范权限标识codevarchar500是否代码控制权限标识符namevarchar500否否菜单名称menu_typeint20否否菜单类型numint110是否菜单的序号urlvarchar500是否菜单地址iconvarchar500是否图标表4-6 评论表名称类型 长度小数点是否null主键注释idint110否是主键pIdvarchar200否否父主键new_idvarchar200否否新闻idoriginalauthorvarchar2550否否新闻作者answerer_idint110否否回复idrespondentIdint110否否create_datedate00否否回复日期likesint2550否否点赞数contenttext00否否评论内容表4-7新闻类别表名称类型 长度小数点是否null主键注释tag_idint110否是主键Namevarchar2550否否名字第五章 系统实现此系统由多个模块组成,包含着父工程,也就是所有子工程的根目录,所有子项目都依赖于父工程项目。下面是项目模块的介绍(1) 通用模块,此模块包含着所有项目都能够用到的工具类,以及一些系统共用的处理请求响应类。(2) 实体模块,此模块包含着所有项目的实体类以及DAO层,枚举类。(3) 服务模块,此模块包含着项目服务层。(4) 控制模块,此模块包含着项目的控制层 然后就开始搭建SpringBoot的开发环境:(1)首先先将字模块引入到父工程里面: <modules> <module>liugh-common</module> <module>liugh-persistence</module> <module>liugh-service</module> <module>liugh-web</module></modules><parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.6.RELEASE</version></parent> (2)在父工程的pom.xml下引入所需要的包,类似如下 <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>$guava.version</version> </dependency>此系统使用的是JDBC的数据库连接方式,以下是本系统的数据的连接配置说明:首先设置数据源是用spring.datasource.type,这里我们使用的是阿里巴巴的druid数据库连接池。 其次,使用spring.datasource.driver-class-name来进行加载,然后我们就使用spring.datasource.url加载数据库。spring.datasource.username和spring.datasource.password分别是数据库的用户名和密码。这样,数据库的基本连接就完成了,后面是一些数据库的简单配置。接着用MyBatis逆向工程生成实体层(model),数据接口层(Mapper)代码:<!-mybatis逆向工程的jar依赖-><dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.3.2</version></dependency> 以上过程完成后,我们就可以进入开发的正常流程了。本新闻发布系统的操作界面十分清晰,简洁与明朗,一目了然。既方便系统管理员对新闻进行管理,减少系统管理员发布新闻的工作量,又方便用户操作。其中,普通用户模块包括新闻浏览的模块(热点新闻的查看,新闻的点击排行预览以及各新闻模块的浏览),还有新闻的搜索功能。5.1 登录模块的实现图5-1管理员登录图这是用户登录页,已经注册过的用户能够输入自己的账号,密码进行登录。图5-2用户登录图这是用户注册页,未注册的用户能够输入用户名和密码进行用户注册的操作。图5-3用户注册图这是后台管理系统的登录模块,管理员想要进行登录操作需要输入正确的信息,也就是账号和密码,之后账号和经过加密的密码信息会被送去校对是否正确,正确的话则进入后台系统主页,否则跳回登录界面,让管理员重新输入密码。下面是实现此功能的代码:图5-4用户管理实现代码实现过程,首先后端会接受到登录需要校对的加密过的用户信息,然后从数据库中根据信息进行对比。如果登录成功的话会根据用户ID来从角色表中找到用户的角色,再去权限表找出用户拥有的权限,对用户进行权限赋予。5.2 后台信息模块的实现这是新闻发布与管理系统的主页,里面可以看到一些网站的基本数据,如用户总数、新闻点击量等等数据。图5-5后台首页实现思路,对用户的数量、新闻点击次数、每周登录次数和评论次数进行统计,然后调用对应的接口以图表的形式反映到前端。5.3 用户管理模块的实现这是新闻发布系统用户管理界面,管理员能够在此页面上对用户进行管理,管理员有权限把用户的账号进行查询信息、冻结、注销。图5-6用户管理图实现代码:图5-7用户管理实现代码实现思路,首先调用获取信息的接口,获取用户详细的信息,比如用户名,手机号码,邮箱和性别还有用户的状态之类。还有根据用户的ID调用删除用户的接口实现用户删除的功能。根据用户的ID来改变用户的状态值来实现用户冻结的功能。根据用户的ID来调用用户信息编辑的功能改变用户的个人信息。5.4 新闻管理模块的实现图5-8评论管理图这是新闻发布系统新闻管理界面,管理员能够在此页面上对新闻进行管理,管理员有权编辑并发布新闻,也可以删除新闻。实现代码:图5-9评论管理实现代码这是新闻系统的客户端主页,用户进系统首页后即可浏览最新的5条热点新闻,并且能看到新闻的标题,发布时间。图5-10新闻展示图实现代码:图5-11新闻展示实现代码图5-12新闻信息展示图实现代码:图5-13新闻展示实现代码这是新闻导航栏,用户能够根据自己想要浏览的新闻类别对新闻进行查看图5-14新闻导航图图5-15新闻浏览图 这是新闻浏览界面,用户能够在这个页面看到新闻的详细信息。实现代码:图5-16新闻浏览代码实现实现思路,首先调用获取新闻信息的接口,获取新闻详细的信息,比如新闻标题,新闻内容,创建时间和点赞数之类。还有根据新闻的ID调用删除新闻的接口实现新闻删除的功能。根据新闻的ID来调用新闻信息编辑的功能改变新闻信息。5.5 新闻评论管理模块图5-17新闻评论管理图图5-18新闻评论管理图这是新闻的评论管理与展示功能,用户能够对新闻进行评论,管理员能够对新闻评论进行管理。实现代码:图5-19新闻评论管理代码实现实现思路,首先调用获取新闻评论的接口,获取新闻评论的信息,比如新闻标题,评论内容,评论时间和点赞数之类。还有根据评论的ID调用删除评论的接口实现评论删除的功能。5.6 在线音乐模块的实现图5-20在线音乐图 这是在线音乐功能,用户能够一边听歌一边浏览新闻。 实现代码:图5-21在线音乐代码实现 实现思路,通过调用网易云音乐的接口来实现在线播放音乐的功能。第六章 总结6.1 结束语经过这几个月的开发,新闻发布与管理系统的功能已经基本实现。所需要的功能也能够正常使用,在系统的总体设计中,虽然曾经出现过许多问题,但是在指导老师的帮助下让我学习到了更多东西,虽然系统的功能较为简单,但是在今后学习与工作的过程中我会进一步完善,在这次的毕业设计开发过程中,我觉得跟老师以往那种布置作业的任务是截然不同的,我们从选课题开始,然后到后面的需求分析、系统功能设计、编码实现、功能测试都是自己在跌跌撞撞的过程中自行摸索的,当然还有指导老师的辛勤付出,在按照系统的开发中严格按照系统流程进行设计。这次的毕业设计是我大学四年阶段的一次总结,也是对大学这个阶段的最后一次道别,从大一开始学习一门计算机语言,到大二学习数据结构、数据库的基本使用,然后大三学习了系统设计,大四则需要将这三年所学习的东西融会贯通,此外,在实习中,还学到了许多在大学里学习不到的知识与技能。在以后的工作中,我会开始加强在前端页面的开发能力。 本文详细地介绍了系统的开发背景、目的、系统的运行环境与相关技术,同时以系统的需求分析为基础,进行了系统的总体功能设计与数据库的设计,最后才进行编码,经过调试以及功能修改让系统得以正常运行。经过这次的毕业设计让我在大学中学习的技术充分展现,但是系统的功能还是较为简单,这说明了我还有