基于Gin開發(fā)的Go語(yǔ)言快速開發(fā)管理系統(tǒng)附源碼(go語(yǔ)言開發(fā)工具)

項(xiàng)目介紹:

基于Gin Vue Element UI的前后端分離權(quán)限管理系統(tǒng),系統(tǒng)初始化極度簡(jiǎn)單,只需要配置文件中,修改數(shù)據(jù)庫(kù)連接,系統(tǒng)支持多指令操作,遷移指令可以讓初始化數(shù)據(jù)庫(kù)信息變得更簡(jiǎn)單,服務(wù)指令可以很簡(jiǎn)單的啟動(dòng)api服務(wù)。

優(yōu)勢(shì):

  • 遵循 RESTful API 設(shè)計(jì)規(guī)范
  • 基于 GIN WEB API 框架,提供了豐富的中間件支持(用戶認(rèn)證、跨域、訪問(wèn)日志、追蹤ID等)
  • 基于Casbin的 RBAC 訪問(wèn)控制模型
  • JWT 認(rèn)證
  • 支持 Swagger 文檔(基于swaggo)
  • 基于 GORM 的數(shù)據(jù)庫(kù)存儲(chǔ),可擴(kuò)展多種類型數(shù)據(jù)庫(kù)
  • 配置文件簡(jiǎn)單的模型映射,快速能夠得到想要的配置
  • 代碼生成工具
  • 表單構(gòu)建工具
  • 多指令模式
  • 多租戶的支持
  • TODO: 單元測(cè)試

內(nèi)置功能模塊

  1. 多租戶:系統(tǒng)默認(rèn)支持多租戶,按庫(kù)分離,一個(gè)庫(kù)一個(gè)租戶。
  2. 用戶管理:用戶是系統(tǒng)操作者,該功能主要完成系統(tǒng)用戶配置。
  3. 部門管理:配置系統(tǒng)組織機(jī)構(gòu)(公司、部門、小組),樹結(jié)構(gòu)展現(xiàn)支持?jǐn)?shù)據(jù)權(quán)限。
  4. 崗位管理:配置系統(tǒng)用戶所屬擔(dān)任職務(wù)。
  5. 菜單管理:配置系統(tǒng)菜單,操作權(quán)限,按鈕權(quán)限標(biāo)識(shí),接口權(quán)限等。
  6. 角色管理:角色菜單權(quán)限分配、設(shè)置角色按機(jī)構(gòu)進(jìn)行數(shù)據(jù)范圍權(quán)限劃分。
  7. 字典管理:對(duì)系統(tǒng)中經(jīng)常使用的一些較為固定的數(shù)據(jù)進(jìn)行維護(hù)。
  8. 參數(shù)管理:對(duì)系統(tǒng)動(dòng)態(tài)配置常用參數(shù)。
  9. 操作日志:系統(tǒng)正常操作日志記錄和查詢;系統(tǒng)異常信息日志記錄和查詢。
  10. 登錄日志:系統(tǒng)登錄日志記錄查詢包含登錄異常。
  11. 接口文檔:根據(jù)業(yè)務(wù)代碼自動(dòng)生成相關(guān)的api接口文檔。
  12. 代碼生成:根據(jù)數(shù)據(jù)表結(jié)構(gòu)生成對(duì)應(yīng)的增刪改查相對(duì)應(yīng)業(yè)務(wù),全程可視化操作,讓基本業(yè)務(wù)可以零代碼實(shí)現(xiàn)。
  13. 表單構(gòu)建:自定義頁(yè)面樣式,拖拉拽實(shí)現(xiàn)頁(yè)面布局。
  14. 服務(wù)監(jiān)控:查看一些服務(wù)器的基本信息。
  15. 內(nèi)容管理:demo功能,下設(shè)分類管理、內(nèi)容管理??梢詤⒖际褂梅奖憧焖偃腴T。
  16. 定時(shí)任務(wù):自動(dòng)化任務(wù),目前支持接口調(diào)用和函數(shù)調(diào)用。

本地開發(fā)

開發(fā)目錄創(chuàng)建

# 創(chuàng)建開發(fā)目錄mkdir goadmincd goadmin

獲取代碼

重點(diǎn)注意:兩個(gè)項(xiàng)目必須放在同一文件夾下;

# 獲取后端代碼git clone https://github.com/go-admin-team/go-admin.git# 獲取前端代碼git clone https://github.com/go-admin-team/go-admin-ui.git

啟動(dòng)說(shuō)明

服務(wù)端啟動(dòng)說(shuō)明

# 進(jìn)入 go-admin 后端項(xiàng)目cd ./go-admin# 編譯項(xiàng)目go build# 修改配置 # 文件路徑 go-admin/config/settings.ymlvi ./config/setting.yml # 1. 配置文件中修改數(shù)據(jù)庫(kù)信息 # 注意: settings.database 下對(duì)應(yīng)的配置數(shù)據(jù)# 2. 確認(rèn)log路徑

:::tip ??注意 在windows環(huán)境如果沒(méi)有安裝中CGO,會(huì)出現(xiàn)這個(gè)問(wèn)題;

E:go-admin>go build# github.com/mattn/go-sqlite3cgo: exec /missing-cc: exec: "/missing-cc": file does not exist

or

D:Codego-admin>go build# github.com/mattn/go-sqlite3cgo: exec gcc: exec: "gcc": executable file not found in %PATH%

解決cgo問(wèn)題進(jìn)入

:::

初始化數(shù)據(jù)庫(kù),以及服務(wù)啟動(dòng)

# 首次配置需要初始化數(shù)據(jù)庫(kù)資源信息# macOS or linux 下使用$ ./go-admin migrate -c=config/settings.dev.yml# ??注意:windows 下使用$ go-admin.exe migrate -c=config/settings.dev.yml# 啟動(dòng)項(xiàng)目,也可以用IDE進(jìn)行調(diào)試# macOS or linux 下使用$ ./go-admin server -c config/settings.yml# ??注意:windows 下使用$ go-admin.exe server -c config/settings.yml

使用docker 編譯啟動(dòng)

# 編譯鏡像docker build -t go-admin .# 啟動(dòng)容器,第一個(gè)go-admin是容器名字,第二個(gè)go-admin是鏡像名稱# -v 映射配置文件 本地路徑:容器路徑docker run --name go-admin -p 8000:8000 -v /config/settings.yml:/config/settings.yml -d go-admin-server

文檔生成

go generate

交叉編譯

# windowsenv GOOS=windows GOARCH=amd64 go build main.go# or# linuxenv GOOS=linux GOARCH=amd64 go build main.go

UI交互端啟動(dòng)說(shuō)明

# 安裝依賴npm install# 建議不要直接使用 cnpm 安裝依賴,會(huì)有各種詭異的 bug??梢酝ㄟ^(guò)如下操作解決 npm 下載速度慢的問(wèn)題npm install --registry=https://registry.npm.taobao.org# 啟動(dòng)服務(wù)npm run dev

后臺(tái)截圖:

基于Gin開發(fā)的Go語(yǔ)言快速開發(fā)管理系統(tǒng)附源碼(go語(yǔ)言開發(fā)工具)基于Gin開發(fā)的Go語(yǔ)言快速開發(fā)管理系統(tǒng)附源碼(go語(yǔ)言開發(fā)工具)基于Gin開發(fā)的Go語(yǔ)言快速開發(fā)管理系統(tǒng)附源碼(go語(yǔ)言開發(fā)工具)基于Gin開發(fā)的Go語(yǔ)言快速開發(fā)管理系統(tǒng)附源碼(go語(yǔ)言開發(fā)工具)基于Gin開發(fā)的Go語(yǔ)言快速開發(fā)管理系統(tǒng)附源碼(go語(yǔ)言開發(fā)工具)基于Gin開發(fā)的Go語(yǔ)言快速開發(fā)管理系統(tǒng)附源碼(go語(yǔ)言開發(fā)工具)基于Gin開發(fā)的Go語(yǔ)言快速開發(fā)管理系統(tǒng)附源碼(go語(yǔ)言開發(fā)工具)

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
公眾號(hào)
公眾號(hào)
在線咨詢
分享本頁(yè)
返回頂部