1. 程式人生 > 其它 >go-admin 開源後臺管理系統

go-admin 開源後臺管理系統

https://blog.csdn.net/guyan0319/article/details/104074051

go-admin
go-admin是一個go語言開發的後臺管理系統,該系統以角色為基礎的許可權管理設計(RBAC),完成了系統管理模組功能的開發(其他示例模組後續加上),採用前後端分離實現方式,服務端基於go開源gin框架,前端開源框架vue-element-admin。使用Swagger 2.0自動生成API文件。

設計原則
採用比較流行開源框架gin、vue-element-admin(這裡下載的多語言版i18n,不是master分支),這些專案維護和更新比較好。
儘量少修改vue-element-admin框架的程式碼,便於以後升級。
前後端分離,前後端可以獨立開發互不影響。
服務端控制前端選單顯示以及相應許可權。
系統環境
golang語言:go1.13.3+ 、

資料庫:mysql5.7

快取:redis3.0

專案地址
github:

https://github.com/guyan0319/go-admin

碼雲(國內):

https://gitee.com/jason0319/go-admin

介紹
線上預覽

本專案相關原始碼分析相關文章如下:

11.1.1 vue-element-admin 後臺動態載入選單

快速開始
1、clone專案原始碼

git clone https://github.com/guyan0319/go-admin.git
1
注意:這裡通過依賴管理工具go mod,來管理專案原始碼。

2、由於vue-element-admin專案裡node_modules檔案太大了,將其打包成node_modules.zip(有些同學在更新依賴包遇到很多問題,故將壓縮包新增到專案裡),執行專案前,要切記將node_modules.zip,解壓到node_modules目錄。

或者執行以下命令更行依賴包。

需要依賴的可執行,

# 進入專案目錄
cd vue-element-admin
npm install --registry=https://registry.npm.taobao.org
1
2
3
注意:win系統要在doc下vue-element-admin目錄裡執行命令。

3、匯入data目錄下的資料庫檔案systemdb.sql至你的資料庫

修改資料庫配置檔案conf/mysql.go

var Db = map[string]DbConfig{
"db1": {
DriverName: "mysql",
Dsn: "root:123456@tcp(127.0.0.1:3306)/systemdb?charset=utf8mb4&parseTime=true&loc=Local",
ShowSql: true,
ShowExecTime: false,
MaxIdle: 10,
MaxOpen: 200,
},
}

1
2
3
4
5
6
7
8
9
10
11
4、修改conf/redis.go檔案,設定你自己的redis服務配置資訊。

var Redis = map[string]string{
"name": "redis",
"type": "tcp",
"address": "127.0.0.1:6379",
"auth": "",
}
1
2
3
4
5
6
5、啟動服務端

go run main.go
1
注意:go-admin採用前後端分離,執行之前需要解決跨域問題,這裡我們修改main.go檔案即可。

func GetCorsConfig() cors.Config {
config := cors.DefaultConfig()
config.AllowOrigins = []string{"http://localhost:9529","http://localhost:9528","http://localhost:9527","http://localhost"}//此處加上你的前端域名
config.AllowMethods = []string{"POST", "GET", "OPTIONS", "PUT", "DELETE"}
config.AllowCredentials = true
config.AllowHeaders = []string{"x-requested-with", "Content-Type", "AccessToken", "X-CSRF-Token","X-Token", "Authorization","token"}
return config
}
1
2
3
4
5
6
7
8
6、執行客戶端

npm run dev
1
這裡我們假定你是開發開發環境,且已經安裝node.js。如應用於線上環境,則需要打包前端檔案,web服務相關部署工作(這裡不再贅述,有需要的可聯絡我,或issues)。

7、執行結果

http://localhost:9527/#/login?redirect=%2Fdashboard

登入測試賬戶資訊

賬戶:admin

密碼:111111

8、服務端介面文件

http://localhost:8090/swagger/index.html

小結:
目前只是完成系統管理模組開發,其他功能後續補上,如在使用過程中遇到任何問題或任何建議歡迎回復留言,您的支援的是我前進的動力。
————————————————
版權宣告:本文為CSDN博主「無風的雨」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。
原文連結:https://blog.csdn.net/guyan0319/article/details/104074051