go-admin
go-admin是一個go語言開發的後臺管理系統,該系統以角色爲基礎的權限管理設計(RBAC),完成了系統管理模塊功能的開發(其他示例模塊後續加上),採用前後端分離實現方式,服務端基於go開源gin框架,前端開源框架vue-element-admin。
設計原則
- 採用比較流行開源框架gin、vue-element-admin,這些項目維護和更新比較好。
- 儘量少修改vue-element-admin框架的代碼,便於以後升級。
- 前後端分離,前後端可以獨立開發互不影響。
- 服務端控制前端菜單顯示以及相應權限。
系統環境
golang語言:go1.13.3+ 、
數據庫:mysql5.7
緩存:redis
項目地址
github:
https://github.com/guyan0319/go-admin
碼雲(國內):
https://gitee.com/jason0319/go-admin
1、clone項目源代碼
git clone https://github.com/guyan0319/go-admin.git
2、導入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,
},
}
3、修改conf/redis.go文件,設置你自己的redis服務配置信息。
var Redis = map[string]string{
"name": "redis",
"type": "tcp",
"address": "127.0.0.1:6379",
"auth": "",
}
4、啓動服務端
go run main.go
注意: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
}
5、運行客戶端
npm run dev
這裏我們假定你是開發開發環境,且已經安裝node.js。如應用於線上環境,則需要打包前端文件,web服務相關部署工作(這裏不再贅述,有需要的可聯繫我,或issues)。
6、運行結果
登錄測試賬戶信息
賬戶:admin
密碼:111111
小結:
目前只是完成系統管理模塊開發,其他功能後續補上,如在使用過程中遇到任何問題或任何建議歡迎回復留言,您的支持的是我前進的動力。