前端UI框架:element-ui 後臺框架:gin
1. 基本介紹
Gin-vue-admin是一個基於vue和gin開發的全棧前後端分離的後臺管理系統,集成jwt鑑權,動態路由,動態菜單,casbin鑑權,表單生成器,代碼生成器等功能,提供多種示例文件,讓您把更多時間專注在業務開發上。
Gin-vue-admin 是一套爲後臺管理平臺準備的一整套前後端分離架構式的開源框架,旨在快速搭建後臺管理系統。
Gin-vue-admin 的成長離不開大家的支持,如果你願意爲 gin-vue-admin 貢獻代碼或提供建議,請閱讀以下內容。
2. 使用說明
2.1 web端
# enter the project directory
cd web
# install dependency
npm install
# develop
npm run serve
2.2 server端
# 使用 go.mod
# 安裝go依賴包
go list (go mod tidy)
# 編譯
go build
2.3 swagger自動化API文檔
2.3.1 安裝 swagger
go get -u github.com/swaggo/swag/cmd/swag
2.3.2 生成API文檔
cd server
swag init
3. 技術選型
前端:用基於 vue 的 Element-UI 構建基礎頁面。
後端:用 Gin 快速搭建基礎restful風格API, Gin 是一個go語言編寫的Web框架。數據庫:採用 MySql (5.6.44)版本,使用 gorm 實現對數據庫的基本操作,已添加對sqlite數據庫的支持。緩存:使用 Redis 實現記錄當前活躍用戶的 jwt 令牌並實現多點登錄限制。
API文檔:使用 Swagger 構建自動化文檔。配置文件:使用 fsnotify 和 viper 實現 yaml 格式的配置文件。
日誌:使用 go-logging 實現日誌記錄。
4. 項目架構
├─server (後端文件夾)
│ ├─api (API)
│ ├─config (配置包)
│ ├─core (內核)
│ ├─db (數據庫腳本)
│ ├─docs (swagger文檔目錄)
│ ├─global (全局對象)
│ ├─initialiaze (初始化)
│ ├─middleware (中間件)
│ ├─model (結構體層)
│ ├─resource (資源)
│ ├─router (路由)
│ ├─service (服務)
│ └─utils (公共功能)
└─web (前端文件)
├─public (發佈模板)
└─src (源碼包)
├─api (向後臺發送ajax的封裝層)
├─assets(靜態文件)
├─components(組件)
├─router(前端路由)
├─store (vuex 狀態管理倉)
├─style (通用樣式文件)
├─utils (前端工具庫)
└─view (前端頁面)
5. 主要功能
權限管理:基於 jwt 和 casbin 實現的權限管理
文件上傳下載:實現基於七牛雲的文件上傳操作
分頁封裝:前端使用mixins封裝分頁,分頁方法調用mixins即可
用戶管理:系統管理員分配用戶角色和角色權限。
角色管理:創建權限控制的主要對象,可以給角色分配不同api權限和菜單權限。
菜單管理:實現用戶動態菜單配置,實現不同角色不同菜單。
api管理:不同用戶可調用的api接口的權限不同。
配置管理:配置文件可前臺修改(測試環境不開放此功能)。
富文本編輯器:MarkDown編輯器功能嵌入。條件搜索:增加條件
搜索示例。
restful示例:可以參考用戶管理模塊中的示例API。