源碼地址
| 項目名稱 | 源碼地址 |
|---|---|
| 丟丟網盤前端 | https://gitee.com/JavaerLi/ddisk-web |
| 丟丟網盤后台 | https://gitee.com/JavaerLi/ddisk-file |

前言
這是我學習JavaWeb半年來做的第一款自主開發的Web項目,從技術選型到數據庫建模編碼測試最后到部署到服務器。這個過程踩過很多的坑,自己動手做和看視頻學習,真是不一樣,光看不做會讓你覺得這個東西真的很簡單,沒有寫的必要。期間最常見的莫過於空指針異常,對象調用方法時,對象是空,這很多都是需要經驗去堆積的。還有就是不同的數據庫比如h2和mysql事務執行順序是不一樣的,同樣的代碼,換一個數據庫就可能會報錯,h2在事務貌似是棧結構,而mysql是隊列,這只是我個人的猜測,並沒有深入研究數據庫的底層,為了適配多種數據庫,我放棄了使用外鍵。還有controller接收參數問題等,前端后台都自己寫,真的能發現很多問題,前后端分離和他人協作開發時,很多問題可能是你的前端,或者是你的后台小伙伴給你解決了。
功能介紹
- 支持秒傳
- 支持視頻音頻播放、拖拽進度條、倍速播放等
- 支持圖片預覽,旋轉,放大
- 支持多人一起上傳,共享上傳進度(例如a上傳蒼老師學習資料到50%,突然b也上傳蒼老師學習資料,b從51%開始上傳,后面a又從52%)
- 安全下載機制,每一個下載操作,都是要經過權限認證的
- 內置springsecurity支持控制登錄數,類似qq,擠人下線,保證安全性
- 擁有回收站,不怕誤刪
- 高效的垃圾回收機制
- 拒絕冗余數據,每份文件只存一份,高效利用磁盤空間
未來計划
- 增加在線壓縮、解壓縮
- 增加拖拽上傳
- 增加上傳文件夾
- 增加文件分享功能
- 增加遠程下載
- 增加后台管理,可以查看設備狀態和管理用戶,文件等
- 增加webdav功能
所用技術
前端:Element UI、Vue CLI@3、Node.js、Webpack
后台:Spring Boot、Spring Data JPA、Spring Security
數據庫 : MySQL、H2等關系型數據庫
數據結構:遞歸算法,樹的遍歷和插入...
特別感謝
奇文社區開發的奇文網盤,本項目用的UI模板正是由奇文網盤提供。后台自主研發,和奇文網盤非同一產品,均是優秀的開源項目。
希望有同學能和我一起開發維護這個項目,如有志同道合的小伙伴,請你聯系我吧!
