Java 视频管理系统的实现(springboot+mybatis+springsecurit+leancloud+DPlayer+RabbitMQ+TecentDB)

工程简介

项目地址

  • 页面效果(前台)
    在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 后台
    在这里插入图片描述
    在这里插入图片描述

项目技术

框架:springboot

视图技术:thymeleaf

数据库实现:mybatis

缓存:redis

任务管理:邮箱

消息队列:rabbitMQ

权限管理:springsecurity

评论系统:LeanCloud
导出功能:easyexcel

视频播放器:DPlayer2 | Powerful danmaku video player | NPlayer(可以尝试一下)

项目功能

页面应用

  • 首页

    • 图片缩放
    • 媒体查询(窗口动态改变排版布局)
  • 全部视频

    • google视频播放无声音
  • 排行榜

  • 联系我们

  • 历史记录

    • 问题:在当前页,跳转当前页的历史记录
  • 搜索

    • id选择器优于class
  • 登录

  • 注册

首页

  • 数据流

    • 轮播图

    • 热门推荐

    • 最近更新

    • 精品推荐

    • 热门资讯

    • 历史记录

      htitle = "<a class='history-info-title' href='http://localhost:8080/videoDetail/index/"+video.videoId+"'>"+video.name+"</a>";
      
      ------ thymeleaf无法进行渲染。
      hgrade = "<a class='history-info-grade' th:href=\"@{\'/videoDetail/index/\'"+video.videoId+"}\">"+video.status+"</a>";
      

全部视频

  • 数据流

    • 年份
    • 类型
    • 分页
      在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 视频弹幕功能:

    • https://blog.csdn.net/AA777_/article/details/124085422

    • https://blog.csdn.net/ZPeng_CSDN/article/details/106721975

    • 搭建弹幕接口(无效果)----->决定手写弹幕服务器

    • https://www.iqi360.com/p/dplayer_danmu/docs/5f97d930dc15613aed7480fe

    • Dplayer播放器弹幕服务器API搭建教程,带公开可用接口_moewang的博客-CSDN博客_弹幕服务器地址

    • 测试弹幕接口(DPlayer.js会默认在请求后添加v3)

      • https://dplayer.moerats.com/v3/?id=9E2E3368B56CDBB4

      • 真实地址是:api: ‘https://dplayer.moerats.com/’

      • 在DPlayer.js文件中删除v3数据 —》 “?id=”

      • 返回值类型

        • code: 请求成功

        • data:

          • time: 弹幕显示的时间
          • type: 弹幕的类型
          • color: 弹幕的颜色
          • author: 弹幕的用户
          • context: 弹幕内容
        • 发送弹幕

        • 在这里插入图片描述

        • 返回弹幕列表

        • 在这里插入图片描述

        • 发送弹幕

        • 在这里插入图片描述

排行榜

  • 数据流------------根据用户每一次点击来增加数量
    • 周排行榜
    • 月排行榜
    • 年排行榜

我的话题

  • 数据流
    • 回复我的
    • 我回复的
    • 我的消息
    • 系统通知

用户头像: http://xxx/images/avatar.png

评论id:objectId

回复id:pid

界面:video.videoId

数据存储开发指南 · Java - LeanCloud 文档

评论内容:comment

评论时间:insertedAt

评论ip:ip

link:评论页码(video.videoId)

mail: 邮箱

nick:用户名

pid:回复id

  • 添加功能

    • 前台评论
    • 评论数据设置ACL为True,方便进行对leancloud数据操作。
    • 数据写入后台
    • 数据库读取leanCloud云端数据
    • 写入数据库
    • 不重复添加(没有实现
  • 修改功能

  • 删除功能

    • 要将ACL的write权限改为:true

联系我们

  • 数据流
    • 邮箱账号
    • 登录秘密
    • 留言
    • 上传文件
      • 邮箱发送附件,必须开启true
      • 并且把邮件名称传入过去,否则无法显示内容
      • 异步发送

https://blog.csdn.net/weixin_30262255/article/details/96369868

https://blog.csdn.net/arick112/article/details/107865210

后台页面

后台整体框架基于X-admin下

  • backVideo
    • index 首页
    • talk-list 评论数据分页
    • video-list 视频数据分页
    • welcome 欢迎页面(x-admin自带页面)
  • 导出功能
    • https://www.cnblogs.com/honggege/p/15993756.html
    • https://blog.csdn.net/royal1235/article/details/123169529
    • https://www.codenong.com/cs110833648/

数据库设计

用户表,权限表,视频表,视频详情表,评论表,

sql:locate 函数_mob60475703f08d的技术博客_51CTO博客

Mybatis 注解形式多条件查询_YyCarry的博客-CSDN博客_mybatis注解条件查询

  • 出现以下报错,可能会是数据库多个表中的数据存在同名情况

Hibernate: select user0_.id as id1_1_, user0_.account as account2_1_, user0_

select v.videoId from tb_video v where EXISTS(select vt.type from tb_video_type vt in v.tags);
select t.tags from tb_video t inner join tb_video_type v on locate("", v.type) > 0
select t.videoId from tb_video t WHERE locate("剧情", t.tags) (locate("剧情", t.tags) AND locate("2022", t.publishTime))

延伸阅读

遇到问题

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值