界面參考了Youtube,后端使用Spring Boot,前端Vue,vuetifyjs。支持自動生成封面圖,發送彈幕、AI內容審核等功能。
一個簡單的視頻網站
網站名稱是 TikTok 與 YouTube 的縫合,Logo 為豆包 AI 生成
主要界面參考了?Youtube,部分功能借鑒了?嗶哩嗶哩
后端 Spring Boot, MySQL
前端 Vue, Vuetifyjs
已經完成所有核心功能,比如:
- 視頻投稿
- 彈幕
- 視頻播放
- 播放歷史,收藏,評論,點贊
- 自動生成封面圖
- 數據管理
- 登錄 TOTP 兩步驗證
- 配置多存儲庫,支持兼容 S3 API 的對象存儲已測試:MinIO,Cloudflare R2-
- 舉報,內容審核(配置大模型后可以實現AI自動內容審核)
- 公告,消息通知等
還剩一些細節功能在逐漸優化中
為了使用與部署方便,唯一外部依賴只有數據庫,可選配置為 Redis
通過設置?application.yml
?中?open-redis
?選項為 true,開啟 Redis 緩存
該 DEMO 該版本僅為展示系統,故管理員關閉了普通用戶的投稿,評論功能,如需要體驗這兩功能,請自行部署體驗!
測試賬號為:test@test.com
密碼:test123456test
PS:使用 CloudflareSpeedTest 修改 HOST,除了要改 tiktube.buguagaoshu.com 的HOST 外,還需要修改 img.buguagaoshu.com 的 HOST,因為線上版本的 TikTube 文件視頻文件都存儲在 Cloudflare 的 R2 對象存儲上
截圖
主頁
播放頁
評論
播放歷史
訂閱
用戶主頁
消息通知
投稿
稿件自動截圖
ADMIN
AI 大模型自動內容審核
快速運行
運行環境: Java17+, Node 20+, Maven 3.9+, MySQL 8.0+
使用 tik_tube.sql 創建數據庫,配置數據庫地址
如果你有 Reids 服務,可以通過設置?application.yml
?中?open-redis
?選項為 true,此時系統將使用 Redis 緩存
該選項默認為 false,使用系統緩存
運行后端服務
cd TikTube
mvn clean package
之后
java -jar target/tiktube-*
運行前端服務
cd TikTubeWeb
npm install
之后
npm run dev
最后打開
http://127.0.0.1:5173
提示:?第一個以admin為用戶名注冊的用戶將自動成為管理員!