一飛開源,介紹創意、新奇、有趣、實用的開源應用、系統、軟體、硬體及技術,一個探索、發現、分享、使用與互動交流的開源技術社群平台。緻力于打造活力開源社群,共建開源新生态!
一、開源項目簡介
一款vue+springboot前後端分離的部落格系統,部落格背景管理系統使用了vue+elmentui開發,後端使用Sa-Token進行權限管理,支援動态菜單權限,動态定時任務,檔案支援本地和七牛雲上傳,使用ElasticSearch作為全文檢索服務,支援QQ、微網誌、碼雲登入。
二、開源協定
使用Apache-2.0開源協定
三、界面展示
四、功能概述
項目特點
- 背景參考"vue-element-template"設計,側邊欄,曆史标簽,面包屑自動生成。
- 采用Markdown編輯器,寫法簡單。
- 評論支援表情輸入回複等
- 添加音樂播放器,支援線上搜尋歌曲。
- 前後端分離部署,适應目前潮流。
- 接入第三方登入,減少注冊成本。
- 留言采用彈幕牆,更加炫酷。
- 支援代碼高亮和複制,圖檔預覽,深色模式等功能,提升使用者體驗。
- 搜尋文章支援高亮分詞,響應速度快。
- 新增文章目錄、推薦文章等功能,優化使用者體驗。
- 新增aop注解實作日志管理
- 支援動态權限修改,采用RBAC模型,前端菜單和背景權限實時更新。
- 背景管理支援修改背景圖檔,部落格配置等資訊,操作簡單,支援上傳相冊。
- 代碼支援多種搜尋模式(Elasticsearch或MYSQL),可支援配置。
- 代碼支援多種檔案上傳模式(七牛雲oss或本地上傳),可支援配置。
- 代碼遵循阿裡巴巴開發規範,利于開發者學習。
- 使用websocket技術實作部落格線上閱讀人數。
五、技術選型
技術介紹
前端: vue + vuex + vue-router + axios + vuetify + element + echarts
後端: SpringBoot + nginx + docker + sa-token + Swagger2 + MyBatisPlus + Mysql + Redis + elasticsearch
其他: 接入QQ、微網誌、碼雲第三方登入,接入七牛雲對象存儲
運作環境
伺服器: 騰訊雲2核4G CentOS7.6
對象存儲: 七牛雲OSS
最低配置: 1核2G伺服器(關閉ElasticSearch)
開發環境
開發工具 | 說明 |
IDEA | Java開發工具IDE |
VSCode | Vue開發工具IDE |
Navicat | MySQL遠端連接配接工具 |
Another Redis Desktop Manager | Redis遠端連接配接工具 |
finalshell | Linux遠端連接配接和檔案上傳工具 |
開發環境 | 版本 |
JDK | 1.8 |
MySQL | 5.5.0 |
Redis | 6.0.5 |
Elasticsearch | 7.9.2 |
目錄結構
前端項目blog-web為前台,blog-admin為背景。
後端項目位于blog下。
SQL檔案位于根目錄下的shiyi-blog.sql
可直接導入該項目于本地,修改後端配置檔案中的資料庫等連接配接資訊,項目中使用到的關于七牛雲功能和第三方授權登入等需要自行開通。
當你克隆項目到本地後可使用賬号:admin,密碼:123456 進行登入
ps:請先運作後端項目,再啟動前端項目,前端項目配置由後端動态加載。
blog
├── annotation -- 自定義注解
├── aspect -- aop子產品
├── config -- 配置子產品
├── common -- 常量子產品
├── controller -- 控制器子產品
├── entity -- 實體類子產品
├── dto -- dto子產品
├── enums -- 枚舉子產品
├── exception -- 自定義異常子產品
├── mapper -- 架構核心子產品
├── service -- 服務子產品
├── strategy -- 政策子產品(用于擴充第三方登入,搜尋模式,上傳檔案模式等政策)
├── utils -- 工具類子產品
├── quartz -- 定時功能子產品
├── webmagic -- 文章爬蟲子產品
└── vo -- vo子產品
六、源碼位址
通路一飛開源:https://code.exmay.com/