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.mzph.cn/pingmian/58686.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot 3项目创建与示例(Web+JPA)

以下是一个Spring Boot 3.3.4整合JPA的示例,它展示了如何在Spring Boot应用程序中使用JPA进行数据持久化。 版本与环境 Spring Boot 3.3.4数据库: MySQL 8.0.40, MySQL的安装使用可以参考: MySQL 8 下载与安装攻略JDK 17Maven 3.6项目创建 可以使用Spring Initializr 初始…

龙迅#LT8668EX显示器图像处理芯片 适用于HDMI1.4+VGA转4PORT LVDS,支持4K30HZ分辨率,可做OSD菜单亮度调节!

1. 一般说明 LT8668EX 是 Lontium 的第二代 LCD 控制器&#xff0c;基于 ClearEdge 技术&#xff0c;支持 VGA 接口和 HDMI 接口&#xff0c;符合 HDMI 1.4 规范。它可以支持带 HDMI 接口的双模 DP。为了向后兼容&#xff0c;该 LCD 控制器还包括一个高性能模拟接口&#xff0…

[pdf,epub]105页《分析模式》漫谈合集01

105页的《分析模式》漫谈合集第1集的pdf、epub文件&#xff0c;已上传到本账号的CSDN资源。 如果无法下载&#xff0c;也可以访问umlchina.com/url/ap.html 已排版成适合手机阅读&#xff0c;pdf的排版更好一些。 ★UMLChina为什么叒要翻译《分析模式》&#xff1f; ★[缝合故…

【升华】springboot中的加解密工具Java Simplified Encryption

一、前言 一般公司的核心业务代码中&#xff0c;都会存在与数据库、第三方通信的secret key等敏感信息&#xff0c;如果以明文的方式存储&#xff0c;一旦泄露&#xff0c;那将会给公司带来巨大的损失。 然而&#xff0c;许多中小型公司开发者对这方面的管理不够规范&#xff…

注释多行代码的vim插件

编写vim 插件代码 add_comments.vim function! AddComment()let l:comment #if &filetype cpplet l:comment //elseif &filetype clet l:comment //endiflet [l:start, l:end][ line("<"), line(">") ]let l:commented_lines []for …

AutoGLM:智谱AI的创新,让手机成为你的生活全能助手

目录 引言一、AutoGLM&#xff1a;开启AI的Phone Use时代二、技术核心&#xff1a;AI从“语言理解”到“执行操作”三、实际应用案例&#xff1a;AutoGLM的智能力量1. 智能生活管理&#x1f34e;2. 社交网络的智能互动&#x1f351;3. 办公自动化&#x1f352;4. 电子商务的购物…

深入解密 K 均值聚类:从理论基础到 Python 实践

1. 引言 在机器学习领域&#xff0c;聚类是一种无监督学习的技术&#xff0c;用于将数据集分组成若干个类别&#xff0c;使得同组数据之间具有更高的相似性。这种技术在各个领域都有广泛的应用&#xff0c;比如客户细分、图像压缩和市场分析等。聚类的目标是使得同类样本之间的…

【ROS的TF系统】

系列文章目录 TF系统简介 前面的章节实现了SLAM节点的建图功能&#xff1a; 激光雷达节点—> /scan话题 —>hector_mapping节点—> 地图数据话题/map 本期来实现SLAM节点的定位功能&#xff1a; TF&#xff08;TransForm&#xff09;主要描述的是两个坐标系的空间关…

趣说产品安全设计的十大经典原则,看一遍就再难忘记!

全设计原则在产品和系统的开发中占据着至关重要的地位。这些原则强调了从一开始就将安全性融入到设计过程中的重要性&#xff0c;而不是作为事后补救措施。通过遵循这些原则&#xff0c;开发者能够创建更加健壮和安全的产品&#xff0c;有效减少潜在的安全漏洞和威胁。接下来博…

【回溯】力扣 77.组合

一、题目 二、思路 采用回溯算法&#xff0c;注意点&#xff1a; 递归出口&#xff1a;已经选够 k k k 个数参数传递&#xff1a;由于不可以重复选择相同的数字&#xff0c;因此每选一个数就会使得可选择的范围对应缩小。不妨设定选择的顺序是从 1 1 1 到 n n n 依次进行选…

疯狂Spring Boot讲义[推荐1]

《疯狂Spring Boot讲义》是2021年电子工业出版社出版的图书&#xff0c;作者是李刚 《疯狂Spring Boot终极讲义》不是一本介绍类似于PathVariable、MatrixVariable、RequestBody、ResponseBody这些基础注解的图书&#xff0c;它是真正讲解Spring Boot的图书。Spring Boot的核心…

『 Linux 』网络传输层 - TCP(二)

文章目录 TCP六个标志位TCP的连接三次握手 四次挥手为什么是三次握手和四次挥手 重传机制 TCP六个标志位 在TCP协议报文的报头中存在一个用于标志TCP报文类型的标志位(不考虑保留标志位),这些标志位以比特位选项的方式存在,即对应标志位为0则表示为假,对应标志位为1则为真; SYN…

LeetCode --- 421周赛

题目列表 3334. 数组的最大因子得分 3335. 字符串转换后的长度 I 3336. 最大公约数相等的子序列数量 3337. 字符串转换后的长度 II 一、数组的最大因子得分 数据范围足够小&#xff0c;可以用暴力枚举移除的数字&#xff0c;得到答案&#xff0c;时间复杂度为O(n^2)&#…

动态规划-回文串问题——5.最长回文子串

1.题目解析 题目来源&#xff1a;5.最长回文子串——力扣 测试用例 2.算法原理 1.状态表示 判断回文子串需要知道该回文子串的首尾下标&#xff0c;所以需要一个二维数组且数据类型为bool类型来存储每个子字符串是否为回文子串&#xff0c; 即dp[i][j]:以第i个位置为起始&a…

微积分复习笔记 Calculus Volume 1 - 4.4 The Mean Value Theorem

4.4 The Mean Value Theorem - Calculus Volume 1 | OpenStax

docker engine stopped

1&#xff09;环境&#xff1a;win 10 2&#xff09;docker安装时已经已经安装了虚拟机 3&#xff09;启用网络适配器 4&#xff09;启用docker服务&#xff08;依赖服务LanmanServer&#xff09; 5&#xff09;全都弄好了&#xff0c;docker还是打不开&#xff0c;没办法了&a…

【VM实战】VMware迁移到VirtualBox

VMware 虚拟机开机卸载VMware Tools 调整虚拟磁盘 对于Windows 10及以上的虚拟机&#xff0c;一般VMware默认都会选Nvme固态硬盘。在导出前必须将其改为SATA&#xff0c;否则VirtualBox导入会报Appliance Import错误 (E_INVALIDARG 0x80070057) 先删掉当前盘的挂载&#xff…

某本书上的一张序列图评点

贝贝 2019-8-24 10:56 潘老师&#xff0c;这个图是不是不太对。插卡&#xff0c;输入密码并不是ATM的职责&#xff1f; UMLChina潘加宇: 这种图用建模思维一挤压&#xff0c;脓包太多了。 问题一、几个生命线上的实例&#xff0c;抽象级别不一致。 ATM用户--系统&#xff0…

Docker | 校园网上docker pull或者docker run失败的一种解决方法

场景 需要从仓库拉取镜像 无论使用命令docker pull 还是 docker run 但是总是显示如下的错误: 解决方法 查看虚拟机网络连接方式 Linux上检查校园网是否登录 有界面 无界面 只是命令行操作的Linux 关于Linux服务器端更新命令apt update没有效果问题总结(校园网认证)

推荐一款功能强大的AI实时变声器:FliFlik Voice Changer

FliFlik VoiCE Changer是一款专注于声音变换与音频处理的创新软件&#xff0c;旨在满足从日常娱乐、游戏直播到播客制作、专业音频编辑的多种应用场景需求。无论是想在游戏中变换声音逗乐队友&#xff0c;还是在播客中塑造个性化的音效&#xff0c;这款软件都能提供灵活而强大的…