当前位置: 首页 > news >正文

ssm+vue657基于spring和vue开发的web新闻流媒体平台

博主介绍:专注于Java(springboot ssm 等开发框架) vue  .net  php phython node.js    uniapp 微信小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作
☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找不到哟
我的博客空间发布了1500+毕设题目 方便大家学习使用
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人
更多项目地址 介绍  翰文编程CSDN博客 翰文编程-CSDN博客
文末下方有源码获取地址

4.2功能模块设计

本小节运用功能结构图来描述管理员具备的详细的功能,对管理员的功能结构图绘制结果如图4.1所示。管理员对论坛帖子,包括发布的帖子以及回复的帖子内容等进行管理,审核媒体发布的新闻,管理用户对新闻发布的留言,管理系统公告,管理媒体等。

图4.1 管理员功能结构图

本小节运用功能结构图来描述媒体具备的详细的功能,对媒体的功能结构图绘制结果如图4.2所示。媒体主要就是发布新闻,查看管理员审核的新闻信息,修改新闻,删除新闻,回复新闻留言,通过论坛功能进行主题讨论等。

图4.2 媒体功能结构图

本小节运用功能结构图来描述用户具备的详细的功能,对用户的功能结构图绘制结果如图4.3所示。用户主要就是查看新闻信息,查看系统推荐的新闻,对新闻进行留言,可以查看系统公告,可以通过论坛功能进行信息交流与讨论。

图4.3 用户功能结构图

4.3数据库设计

在系统后台选择数据库的时候,首先第一条就是要满足使用需要,只要满足使用需要,再对数据库的使用友好度和性能上进行分析。选择当前分布最广发的关系型数据库是完全能满足需要的,并且在数据的设计上也有完美的设计顺序,最重要的是符合人们的直观要求。

4.3.1数据库E-R图

下面主要是描述E-R图模型的。对于用户的需求,要具体化,比如有个角色需要有登录,那么最基本的设定必须有账号和密码,那么像姓名,性别其他的对象关系,其实是有从属关系的,通过这样具体化分析,可以得到数据的格式要求,并且能得到数据之间的直接关系。然后可以通过专业的Visio工具来进行E-R图的创建,遵守约定的E-R图表达方式,就可以对数据进行图标形式的描述,并且之间的关系更容易理解。

(1)图4.4即为媒体这个实体所拥有的属性值。

图4.4 媒体实体属性图

(2)图4.5即为新闻信息这个实体所拥有的属性值。

图4.5 新闻信息实体属性图

(3)图4.6即为用户这个实体所拥有的属性值。

图4.6 用户实体属性图

  1. 图4.7即为新闻留言这个实体所拥有的属性值。

图4.7 新闻留言实体属性图

(5)图4.8即为上面介绍的实体中存在的联系。

图4.8 实体间关系E-R图

4.3.2 数据库结构

在程序开发的过程中,系统设计里面包含有数据库的设计,一般都在功能设计的后面进行数据设计,为什么有这样的顺序呢?那是有原因的。数据库设计不能凭空想象,必须符合数据的定义,而数据只是在使用过程之中产生,其实并没有具体化的表现,所以要把数据进行结构的整理,字段的规划。比如用户账号可能是中文或者英文,以及数字形式存在,更或者可能包含一些符号,那么账号字段的设计就只能是文本形式存在,不能是数据形式或者是时间形式存在,以此类推,数据表结构的设计就是在对系统的具体实现数据进行描述规划的一种行为。所以在这个环节尤其要注意,否则可能使用过程中会发现很多不可预料的问题。

对本系统的数据库的要求就是,要严格遵循数据实现原则,符合数据定义范式。对每个表都要进行具体分析,并且表之间的关系更应该有逻辑性,如果违反前面的要求,那么数据很有可能出现问题,所以要把数据之间的关系用E-R图形式画出来,这样理解起来更直观,更不容易出错,效率也更高。

表4.1 论坛表

字段

注释

类型

id (主键)

主键

int(11)

forum_name

帖子标题

varchar(200)

yonghu_id

用户

int(11)

meiti_id

媒体

int(11)

users_id

管理员

int(11)

forum_content

发布内容

text

super_ids

父id

int(11)

forum_state_types

帖子状态

int(11)

insert_time

发帖时间

timestamp

update_time

修改时间

timestamp

create_time

创建时间

timestamp

表4.2 系统公告表

字段

注释

类型

id (主键)

主键

int(11)

gonggao_name

公告名称

varchar(200)

gonggao_photo

公告图片

varchar(200)

gonggao_types

公告类型

int(11)

insert_time

公告发布时间

timestamp

gonggao_content

公告详情

text

create_time

创建时间

timestamp

表4.3 媒体表

字段

注释

类型

id (主键)

主键

int(11)

username

账户

varchar(200)

password

密码

varchar(200)

meiti_name

媒体姓名

varchar(200)

meiti_photo

头像

varchar(255)

sex_types

性别

int(11)

meiti_phone

联系方式

varchar(200)

meiti_email

邮箱

varchar(200)

meiti_delete

假删

int(11)

create_time

创建时间

timestamp

表4.4 新闻信息表

字段

注释

类型

id (主键)

主键

int(11)

meiti_id

媒体

int(11)

news_name

新闻标题

varchar(200)

news_types

新闻类型

int(11)

news_photo

新闻图片

varchar(200)

insert_time

添加时间

timestamp

news_yesno_types

新闻审核

int(11)

news_yesno_text

审核结果

text

news_content

新闻详情

text

create_time

创建时间

timestamp

表4.5 新闻留言表

字段

注释

类型

id (主键)

主键

int(11)

news_id

新闻

int(11)

yonghu_id

用户

int(11)

news_liuyan_text

新闻内容

text

insert_time

新闻时间

timestamp

reply_text

回复内容

text

update_time

回复时间

timestamp

create_time

创建时间

timestamp

表4.6 管理员表

字段

注释

类型

id (主键)

主键

bigint(20)

username

用户名

varchar(100)

password

密码

varchar(100)

role

角色

varchar(100)

addtime

新增时间

timestamp

表4.7 用户表

字段

注释

类型

id (主键)

主键

int(11)

username

账户

varchar(200)

password

密码

varchar(200)

yonghu_name

用户姓名

varchar(200)

yonghu_photo

头像

varchar(255)

sex_types

性别

int(11)

yonghu_phone

联系方式

varchar(200)

yonghu_email

邮箱

varchar(200)

yonghu_delete

假删

int(11)

create_time

创建时间

timestamp


第五章 系统实现

程序开发人员对功能具体实现后,都要描述自己编写的功能实现,一般都通过文字描述功能,实现用图片截图的形式出现,通过这样的设定,可以让更多得人明白系统的实现结果,达到更容易理解程序操作的目的。

5.1 管理员功能实现

5.1.1 系统公告管理

管理员点击导航栏的系统公告管理链接就进入系统公告管理界面。系统公告管理界面如图5.1所示。本功能允许管理员对系统公告的基本资料进行修改,添加,查询,删除。

图5.1 系统公告管理界面

5.1.2 媒体管理

管理员点击导航栏的媒体管理链接就进入媒体管理界面。媒体管理界面如图5.2所示。本功能允许管理员对媒体信息基础资料进行修改,查询,添加,删除。

图5.2 媒体管理界面

5.1.3 论坛管理

管理员点击导航栏的论坛管理链接就进入论坛管理界面。论坛管理界面如图5.3所示。本功能允许管理员查看论坛的帖子回复,修改论坛信息,查询论坛的帖子。

图5.3 论坛管理界面

5.2 媒体功能实现

5.2.1 新闻信息管理

媒体在新闻信息管理界面可以对新闻的信息进行管理。新闻信息管理界面如图5.4所示。媒体需要添加新闻,查询新闻,修改新闻等操作。媒体发布的新闻需要管理员审核。

图5.4 新闻信息管理界面

5.2.2 新闻留言管理

媒体点击导航栏的新闻留言管理链接就进入新闻留言管理界面。新闻留言管理界面如图5.5所示。本功能允许媒体回复用户对新闻发布的留言,让媒体根据新闻标题实现对新闻留言的查询。

图5.5 新闻留言管理界面

5.2.3 论坛管理

媒体点击导航栏的论坛管理链接就进入论坛管理界面。论坛管理界面如图5.6所示。本功能允许媒体新增论坛帖子,对自己的帖子进行跟踪,包括查看帖子评论,媒体回复帖子评论信息,删除回复的帖子等。

图5.6 论坛管理界面

主要代码

/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params, HttpServletRequest request){logger.debug("page方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));if(params.get("orderBy")==null || params.get("orderBy")==""){params.put("orderBy","id");}PageUtils page = forumService.queryPage(params);//字典表数据转换List<ForumView> list =(List<ForumView>)page.getList();for(ForumView c:list){//修改对应字典表字段dictionaryService.dictionaryConvert(c, request);}return R.ok().put("data", page);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id, HttpServletRequest request){logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);ForumEntity forum = forumService.selectById(id);if(forum !=null){//entity转viewForumView view = new ForumView();BeanUtils.copyProperties( forum , view );//把实体数据重构到view中//级联表MeitiEntity meiti = meitiService.selectById(forum.getMeitiId());if(meiti != null){BeanUtils.copyProperties( meiti , view ,new String[]{ "id", "createTime", "insertTime", "updateTime"});//把级联的数据添加到view中,并排除id和创建时间字段view.setMeitiId(meiti.getId());}//级联表YonghuEntity yonghu = yonghuService.selectById(forum.getYonghuId());if(yonghu != null){BeanUtils.copyProperties( yonghu , view ,new String[]{ "id", "createTime", "insertTime", "updateTime"});//把级联的数据添加到view中,并排除id和创建时间字段view.setYonghuId(yonghu.getId());}//管理员用户表做特殊处理,防止和用户表账户姓名字段冲突UsersEntity users = usersService.selectById(forum.getUsersId());if(users != null){view.setUsersId(users.getId());view.setUusername(users.getUsername());view.setUpassword(users.getPassword());view.setUrole(users.getRole());view.setUaddtime(users.getAddtime());}//修改对应字典表字段dictionaryService.dictionaryConvert(view, request);return R.ok().put("data", view);}else {return R.error(511,"查不到数据");}}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody ForumEntity forum, HttpServletRequest request){logger.debug("save方法:,,Controller:{},,forum:{}",this.getClass().getName(),forum.toString());String role = String.valueOf(request.getSession().getAttribute("role"));if(false)return R.error(511,"永远不会进入");else if("用户".equals(role))forum.setYonghuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));else if("媒体".equals(role))forum.setMeitiId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));else if("管理员".equals(role))forum.setUsersId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));Wrapper<ForumEntity> queryWrapper = new EntityWrapper<ForumEntity>().eq("forum_name", forum.getForumName()).eq("yonghu_id", forum.getYonghuId()).eq("meiti_id", forum.getMeitiId()).eq("users_id", forum.getUsersId()).eq("super_ids", forum.getSuperIds()).eq("forum_state_types", forum.getForumStateTypes());logger.info("sql语句:"+queryWrapper.getSqlSegment());ForumEntity forumEntity = forumService.selectOne(queryWrapper);if(forumEntity==null){forum.setInsertTime(new Date());forum.setCreateTime(new Date());forumService.insert(forum);return R.ok();}else {return R.error(511,"表中有相同数据");}}

5.3 用户功能实现

5.3.1 新闻信息

用户点击导航栏的新闻信息链接就进入新闻信息界面。新闻信息界面如图5.7所示。本功能允许用户查看系统推荐的新闻信息,查看新闻详情,可以在新闻信息界面的下方留言区域发布新闻方面的留言。

图5.7 新闻信息界面

5.3.2 系统公告

用户点击导航栏的系统公告链接就进入系统公告界面。系统公告界面如图5.8所示。本功能允许用户对系统公告进行查询,查看所有的系统公告的内容等。

图5.8 系统公告界面


大家点赞、收藏、关注、评论啦  其他的定制服务  下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 或者私信作者


http://www.mrgr.cn/news/63632.html

相关文章:

  • Python入门教程
  • Three.js 快速入门构建你的第一个 3D 应用
  • 不适合的学习方法
  • Android 音量调节流程分析
  • React常用前端框架合集
  • ts:数组的常用方法(filter)
  • Go语言的使用
  • Python实现SPFA算法
  • Oracle视频基础1.3.6练习
  • 龙迅#LT6211适用于HDMI转4PORT LVDS,分辨率高达4K60HZ,可提供技术支持!
  • CATIA许可证管理工具
  • (python)如何进行加密
  • 求逻辑地址的页号和物理地址
  • [Approaching any Machine Learning] Supervised vs unsupervised learning - Note
  • 【Kaggle | Pandas】练习5:数据类型和缺失值
  • Virtuoso使用layout绘制版图、使用Calibre验证DRC、LVS、PEX抽取RC
  • 2024/11/1 数据结构大题打卡
  • Kafka日志记录
  • 深入解析C/C++中的__attribute__((packed)):内存对齐与紧打包技术
  • opencv学习笔记(6):图像预处理(直方图、图像去噪)
  • js的小知识
  • 《AI从0到0.5》之提示工程
  • python代码实现了一个二维粒子系统的模拟,模拟粒子在离散空间中的随机运动和相互作用
  • Apple iap2协议栈在蓝牙中的移植及MFi认证的实现
  • 分账系统对电商多重要,为何电商平台都选择分账系统?
  • 【数据结构】数组和向量