文末获取源码

开发语言:Java

使用框架:spring boot

前端技术:JavaScript、Vue 、css3

开发工具:IDEA/MyEclipse/Eclipse、Visual Studio Code

数据库:MySQL 5.7/8.0

数据库管理工具:phpstudy/Navicat

JDK版本:jdk1.8

Maven:apache-maven 3.8.1-bin

目录

一、前言介绍

二、系统开发目标

三、前台用户功能

3.1用户首页模块

3.2在线留言发布模块

3.3站内新闻模块

3.4精彩视频列表模块

​四、管理员功能模块

4.1轮播图模块

4.2注册用户模块

4.3站内新闻模块

4.4视频分类模块

4.5精彩视频模块

五、部分核心代码

5.1精彩视频推荐关键代码

5.2精彩视频关键代码

5.3精彩视频管理关键代码

5.4用户登录的逻辑代码


一、前言介绍

本系统前端框架采用了比较流行的渐进式JavaScript框架Vue.js。使用Vue-Router和Vuex实现动态路由和全局状态管理,Ajax实现前后端通信,Element UI组件库使页面快速成型。后端部分:采用springboot作为开发框架,同时集成MyBatis、Redis等相关技术。

现阶段,社会的发展和科技的进步,以及大数据时代下纷繁数据信息的融合,使得人们在生产及生活过程中,都将会接收到各种类型的数据信息,而通过计算机技术与网络技术,则能够将众多人们所不了解或不常用的信息,以简单的模式转化并传递给人们,使得人们的生产及生活质量得以显著提升。而视频个性化推荐系统,即是利用现阶段极为普及的互联网与移动终端,通过计算机协同过滤算法模式,所制定成的,有针对性的个性化系统。通过此种在线视频点播系统,用户可以根据自身的兴趣与爱好,通过查询与分类等个性化服务,找寻到喜爱类型的视频内容,这不仅能够缩短用户找寻喜好视频的时间,更能增强用户的体验度,这也使得此种在线视频点播系统受到众多视频爱好者的喜爱。

系统采用了B/S结构,将所有业务模块采用以浏览器交互的模式,选择MySQL作为系统的数据库,开发工具选择IDEA来进行系统的设计。基本实现了在线视频点播系统应有的主要功能模块,本系统有管理员、用户两大大功能模块,管理员:首页、站点管理(轮播图)用户管理(管理员、普通用户)内容管理(在线留言、留言分类、站内新闻、新闻分类)更多管理(视频分类、精彩视频);用户:首页、在线留言、站内新闻、精彩视频,我的(我的账户、我的收藏、个人中心退出)等操作。

系统开发目标

对于网站的前台设计,要保证主界面的整洁有序,能够抓住人的眼球,不会产生视觉疲劳,更重要的是,带给人容易操作的直观感受,这样才能留住用户去进行使用,增加三分热度的延续期。在系统的后台设计上,要采取非常简洁有效的技术,开发方便的同时,便于以后的维护。我们不但要确保所有的功能都能够满足用户的需求,用户还要能自己主动通过网站去实现想要的操作,而管理者的简单通过网站对用户的需求情况进行了解和管理。为达到这一目的,提出以下目标:

(1)用户可以实时查看最新的视频信息,以及站内新闻;

(2)用户可以通过在线留言互相交流视频推荐心得;

(3)管理员可以在后台方便管理前台网页的各种信息;

(4)管理员可以方便查询、汇总用户的使用状态。

三、前台用户功能

3.1用户首页模块

3.2在线留言发布模块

3.3站内新闻模块

3.4精彩视频列表模块

四、管理员功能模块

4.1轮播图模块

4.2注册用户模块

4.3站内新闻模块

4.4视频分类模块

4.5精彩视频模块

五、部分核心代码

5.1精彩视频推荐关键代码

 @PostMapping("/add")@Transactionalpublic Map<String, Object> add(HttpServletRequest request) throws IOException {service.insert(service.readBody(request.getReader()));return success(1);}@Transactionalpublic Map<String, Object> addMap(Map<String,Object> map){service.insert(map);return success(1);}public Map<String,Object> readBody(BufferedReader reader){BufferedReader br = null;StringBuilder sb = new StringBuilder("");try{br = reader;String str;while ((str = br.readLine()) != null){sb.append(str);}br.close();String json = sb.toString();return JSONObject.parseObject(json, Map.class);}catch (IOException e){e.printStackTrace();}finally{if (null != br){try{br.close();}catch (IOException e){e.printStackTrace();}}}return null;}public void insert(Map<String,Object> body){StringBuffer sql = new StringBuffer("INSERT INTO ");sql.append("`").append(table).append("`").append(" (");for (Map.Entry<String,Object> entry:body.entrySet()){sql.append("`"+humpToLine(entry.getKey())+"`").append(",");}sql.deleteCharAt(sql.length()-1);sql.append(") VALUES (");for (Map.Entry<String,Object> entry:body.entrySet()){Object value = entry.getValue();if (value instanceof String){sql.append("'").append(entry.getValue()).append("'").append(",");}else {sql.append(entry.getValue()).append(",");}}sql.deleteCharAt(sql.length() - 1);sql.append(")");log.info("[{}] - 插入操作:{}",table,sql);Query query = runCountSql(sql.toString());query.executeUpdate();}

5.2精彩视频关键代码

 @RequestMapping("/get_list")public Map<String, Object> getList(HttpServletRequest request) {Map<String, Object> map = service.selectToPage(service.readQuery(request), service.readConfig(request));return success(map);}

5.3精彩视频管理关键代码

 @RequestMapping(value = {"/avg_group", "/avg"})public Map<String, Object> avg(HttpServletRequest request) {Query count = service.avg(service.readQuery(request), service.readConfig(request));return success(count.getResultList());}

5.4用户登录的逻辑代码

/*** 登录* @param data* @param httpServletRequest* @return*/@PostMapping("login")public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {log.info("[执行登录接口]");String username = data.get("username");String email = data.get("email");String phone = data.get("phone");String password = data.get("password");List resultList = null;Map<String, String> map = new HashMap<>();if(username != null && "".equals(username) == false){map.put("username", username);resultList = service.select(map, new HashMap<>()).getResultList();}else if(email != null && "".equals(email) == false){map.put("email", email);resultList = service.select(map, new HashMap<>()).getResultList();}else if(phone != null && "".equals(phone) == false){map.put("phone", phone);resultList = service.select(map, new HashMap<>()).getResultList();}else{return error(30000, "账号或密码不能为空");}if (resultList == null || password == null) {return error(30000, "账号或密码不能为空");}//判断是否有这个用户if (resultList.size()<=0){return error(30000,"用户不存在");}User byUsername = (User) resultList.get(0);Map<String, String> groupMap = new HashMap<>();groupMap.put("name",byUsername.getUserGroup());List groupList = userGroupService.select(groupMap, new HashMap<>()).getResultList();if (groupList.size()<1){return error(30000,"用户组不存在");}UserGroup userGroup = (UserGroup) groupList.get(0);//查询用户审核状态if (!StringUtils.isEmpty(userGroup.getSourceTable())){String sql = "select examine_state from "+ userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId();String res = String.valueOf(service.runCountSql(sql).getSingleResult());if (res==null){return error(30000,"用户不存在");}if (!res.equals("已通过")){return error(30000,"该用户审核未通过");}}//查询用户状态if (byUsername.getState()!=1){return error(30000,"用户非可用状态,不能登录");}String md5password = service.encryption(password);if (byUsername.getPassword().equals(md5password)) {// 存储Token到数据库AccessToken accessToken = new AccessToken();accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));accessToken.setUser_id(byUsername.getUserId());tokenService.save(accessToken);// 返回用户信息JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));user.put("token", accessToken.getToken());JSONObject ret = new JSONObject();ret.put("obj",user);return success(ret);} else {return error(30000, "账号或密码不正确");}}

SpringBoot+Vue实现前后端分离在线视频点播系统相关推荐

  1. Springboot+vue实现前后端分离智能化考试系统

    作者主页:编程指南针 作者简介:Java领域优质创作者.CSDN博客专家 .掘金特邀作者.多年架构师设计经验.腾讯课堂常驻讲师 主要内容:Java项目.毕业设计.简历模板.学习资料.面试题库.技术互助 ...

  2. SpringBoot+vue实现前后端分离的简历系统

    文末获取源码 开发语言:Java 开发工具:IDEA /Eclipse 数据库:MYSQL5.7 应用服务:Tomcat7/Tomcat8 使用框架:springboot+vue JDK版本:jdk1 ...

  3. SpringBoot+Vue实现前后端分离教学评价系统

    文末获取源码 开发语言:Java 框架:springboot+vue Node:node.js JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7/8.0 数据库工具:Nav ...

  4. 在线租房|基于Springboot+Vue实现前后端分离的租房系统

    作者简介:全栈开发工程,从事Java.Python.前端.小程序方面的开发和研究,对大数据应用与开发比较感兴趣, 主要内容:Java项目.前端项目.Python项目.小程序开发.大数据项目.单片机 收 ...

  5. 视频教程-springboot+Vue整合前后端分离权限后台管理系统-Java

    springboot+Vue整合前后端分离权限后台管理系统 拥有八年的Java项目开发经验,擅长Java.vue.SpringBoot.springCloud.spring.springmvc.myb ...

  6. 基于Springboot+MybatisPlus+Vue的前后端分离电子商城系统

    一.基于Springboot+MybatisPlus+Vue的前后端分离电子商城系统 基于Springboot+MybatisPlus+Vue的前后端分离电子商城系统,主要分为用户端和管理端两个模块. ...

  7. 基于SSM+SpringBoot+Vue+ElementUI前后端分离的校园岗位招聘就业管理系统

    运行视频 基于SSM+SpringBoot+Vue+ElementUI前后端分离的校园岗位招聘就业管理系统 项目运行截图 学生管理 添加学生 学生信息 教师管理 教师信息 实习基地 公告信息 公司管理 ...

  8. 计算机毕业设计JAVA前后端分离在线作业系统mybatis+源码+调试部署+系统+数据库+lw

    计算机毕业设计JAVA前后端分离在线作业系统mybatis+源码+调试部署+系统+数据库+lw 计算机毕业设计JAVA前后端分离在线作业系统mybatis+源码+调试部署+系统+数据库+lw 本源码技 ...

  9. 开源前后端分离在线考试系统

    首先告诉大家一个消息,就是因为上海这波疫情的扩散让人防不胜防,TJ君所在的小区已经进行了隔离,TJ君就被关在了家里,何时能出去也要等待上级部门的通知~ 看着外面自由散步的人们,真的感叹一句自由真好. ...

最新文章

  1. 好好学python·函数
  2. 数据结构与算法(四):二叉树
  3. 深入学习SAP UI5框架代码系列之二:UI5 控件的渲染器
  4. div悬浮在固定位置_悬浮式超声波致动器概要及研究动向
  5. channelinboundhandler中都包含了哪一类的方法_标准气体的分类类别与相关气体配置方式方法...
  6. 【5分钟paper】基于强化学习的策略搜索算法的自主直升机控制
  7. mongodb 日期分组聚合_如何在MongoDB中按其他字段分组时聚合时间序列数据?
  8. 微信语音怎么转发给别人听_新版微信语音转发方法(微信语音怎么转发给别人听)...
  9. 【计算机网络原理】各层的数据传输
  10. 毫米波雷达信号处理系统
  11. 【数学】连续,一致连续,Hölder连续,Lipschitz连续
  12. XML 格式化转字符串
  13. amd用不了android studio,解决AMD无法使用Android studio问题
  14. mt管理器修改迷你世界服务器,mt管理器修改迷你世界游戏代码 | 手游网游页游攻略大全...
  15. 程序的灵活性与可扩展性
  16. cmd窗口输入python跳转到微软商店
  17. 干物妹小埋 树状数组
  18. Webpack搭建本地服务器
  19. 高盐水中钙镁含量高的原因,及解决方法
  20. unix系统操作系统_Unix操作系统| 第1部分

热门文章

  1. 我的世界mod整合包java_我的世界1.7.10食物、匠魂与超能力向整合包(附JAVA)
  2. Dell PowerVault TL2000 Tape 磁带机日志查错误磁带
  3. 【2019阅读书单2020阅读计划】
  4. yyyy-MM-dd‘T‘HH:mm:ss - 里面的‘T‘是什么意思
  5. 开发框架——横版格斗——6.技能播放的逻辑关系
  6. maven配置项目根路径_maven配置src/resources默认目录
  7. 爱克发胶片_Agfa(爱克发)胶片
  8. 今日睡眠质量记录73分
  9. 网络安全现状与未来蓝图||建立高效的网络安全体系
  10. matlab生成面导出stl格式,如何将MATLAB中的网格导出为stl或obj?