基于 Spring Boot 的百度云高仿项目

该项目采用最流行的前后端分离架构进行开发和部署,旨在为用户和企业提供一个简单、方便的文件存储方案,能够以完善的目录结构体系,对文件进行管理 。主要用到以下技术栈:

前端:Element UI、Vue、Node.js、Webpack

后端: MySQL、Spring Boot、MyBatis、JPA、JWT

01.  功能截图


页面布局

页面布局分为三个区域,分别是菜单栏、文件操作、导航区域。

网盘主页

左侧菜单栏可折叠,表格操作列可折叠,可控制当前表格中列的显示和隐藏。

批量操作功能

文件查看 – 列表模式

文件查看 – 网格模式

文件查看 –  时间线模式

创建文件夹

文件图标大小调整

文件移动

文件在线解压缩

文件分片上传

文件采用分片上传,集成了 simiple-uplader 的文件秒传、断点续传功能。

拖拽上传

截图粘贴上传

直接使用任何截图工具截图后,在拖拽区域使用 Ctrl + V 粘贴图片,点击上传图片即可上传。

文件回收站

文件单个和批量分享

可以选择过期时间和是否需要提取码:

提供快捷复制链接及提取码给他人:

粘贴分享链接及提取码效果类似于百度云:

分享链接:https://pan.qiwenshare.com/share/27d9b438019e4f68bcec02f579d163b7
提取码:356978

他人查看分享内容,并支持保存到网盘功能:

分享过的文件列表

支持在列表中快捷复制当次的分享链接及提取码,并标注分享时间和过期状态:

视频在线预览

文件类型为视频时,点击即可打开预览窗口,展示播放列表,支持快进、后退、暂停、倍速播放、全屏播放、下载视频和折叠播放列表。

音频在线播放

02.  如何安装

环境准备
源码的编译和运行需要依赖以下开发环境,下面所列的版本号仅供参考:
  • JDK   版本:8 +
  • MySQL   版本:5+
  • Node.js   版本:12.12.1
  • Nginx   版本:1.17.3
  • Git   版本:2.24.0
代码下载
分别下载前后台代码,开源地址可以关注微信公众号「逛逛GitHub」回复「0603」下载。

编译及运行

进入后台代码根目录,点击 install.bat 会进行编译,编译完成之后会生成 release 发布包。

该 release 包是独立的,你可以将它拷贝到任何具有 Java 环境的地方进行执行。

进入 bin 目录里,如下图:

从上图可以看到出现了4个启动和停止脚本,作用如下:
  • linux 重启脚本:restart.sh

  • linux 启动脚本:start.sh   

  • linux 停止脚本:stop.sh   

  • windows 启动脚本:winstart.bat   

windows 环境启动及停止

在 windows 环境下点击 winstart.bat 之后会出现 Spring Boot 的启动黑窗口,这个窗口不能关闭,关闭就意味着程序结束,当出现如下字样,说明后台已经启动成功。

Linux 环境启动及停止

在 Linux 环境下,具体的操作这就不描述了可以查看:
https://www.qiwenshare.com/essay/detail/169

https://www.qiwenshare.com/topic/detail/6/1132

前台代码编译

首先在前台代码目录下执行如下命令进行编译

npm install

前台开发环境运行

此种方式适用于开发,执行命令

npm run serve

运行完成之后,界面上会显示出访问路径,通过浏览器访问即可

前台生产环境运行

执行 npm run build 部署: 打包后会生成文件夹 dist,将 dist 文件夹下的文件放置于 nginx/html 目录下,并配置 nginx/conf/nginx.conf,具体配置如下:

server {
        listen       80;
    server_name localhost; #将localhost修改为您证书绑定的域名,例如:www.example.com。

        location / {
            root   html;
            index  index.html index.htm;
      try_files  $uri $uri/ /index.html; #可以防止页面刷新404
        }

    location /api/{
      #proxy_set_hearder host $host;
      #proxy_set_header X-forwarded-for $proxy_add_x_forwarded_for;
      #proxy_set_header X-real-ip $remote_addr;
      
      # 配置此处用于获取客户端的真实IP
      proxy_set_header Host $http_host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto $scheme;
      proxy_pass  http://localhost:8080/;
    }
       
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

浏览器访问

出现如下界面,说明就已经大功告成

对了,如果你想使用 MySql 作为项目数据库,可将项目切换为生产环境配置,切换方法请参见:https://www.qiwenshare.com/essay/detail/1132
阅读全文
资源下载
下载价格免费
下载说明:
1、本站所有资源均从互联网上收集整理而来,仅供学习交流之用,因此不包含技术服务请大家谅解!
2、本站不提供任何实质性的付费和支付资源,所有需要积分下载的资源均为网站运营赞助费用或者线下劳务费用!
3、本站所有资源仅用于学习及研究使用,您必须在下载后的24小时内删除所下载资源,切勿用于商业用途,否则由此引发的法律纠纷及连带责任本站和发布者概不承担!
4、本站站内提供的所有可下载资源,本站保证未做任何负面改动(不包含修复bug和完善功能等正面优化或二次开发),但本站不保证资源的准确性、安全性和完整性,用户下载后自行斟酌,我们以交流学习为目的,并不是所有的源码都100%无错或无bug!如有链接无法下载、失效或广告,请联系客服处理!
5、本站资源除标明原创外均来自网络整理,版权归原作者或本站特约原创作者所有,如侵犯到您的合法权益,请立即告知本站,本站将及时予与删除并致以最深的歉意!
6、如果您也有好的资源或教程,您可以投稿发布,成功分享后有站币奖励和额外收入!
7、如果您喜欢该资源,请支持官方正版资源,以得到更好的正版服务!
8、请您认真阅读上述内容,注册本站用户或下载本站资源即您同意上述内容!
原文链接:https://www.shuli.cc/?p=15497,转载请注明出处。
0

评论0

显示验证码
没有账号?注册  忘记密码?