go-admin是基于golang快速搭建可视化数据管理后台的框架
2023-04-02 22:31:38
预览
README

go-admin

遗失的Golang编写的数据可视化与管理平台构建框架

Build Status Go Report Card golang telegram qq群 GoDoc license

laravel-admin启发

前言

GoAdmin 可以帮助你的golang应用快速实现数据可视化,搭建一个数据管理平台。

线上论坛:http://discuss.go-admin.com

线上demo:https://demo.go-admin.cn

上手例子:https://github.com/GoAdminGroup/example

GoAdmin+vue 例子: https://github.com/GoAdminGroup/goadmin-vue-example

文档地址1 | 备用文档地址1

特征

  • 🚀 高生产效率: 10分钟内做一个好看的管理后台
  • 🎨 主题: 默认为adminlte,更多好看的主题正在制作中,欢迎给我们留言
  • 🔢 插件化: 提供插件使用,真正实现一个插件解决不了问题,那就两个
  • 认证: 开箱即用的rbac认证系统
  • ⚙️ 框架支持: 支持大部分框架接入,让你更容易去上手和扩展

翻译

我们需要您的帮忙: https://github.com/GoAdminGroup/docs/issues/1

谁在使用GoAdmin

评论这个issue告诉我们.

使用

提示:现在你也可以这样做。

$ mkdir new_project && cd new_project
$ go install github.com/GoAdminGroup/go-admin/adm
$ adm init -l cn

或者:(使用v1.2.16的adm)

$ mkdir new_project && cd new_project
$ go install github.com/GoAdminGroup/go-admin/adm
$ adm init web -l cn

通过以下三步运行:

第一步:导入 sql

第二步:创建 main.go

main.go

package main

import (
	"github.com/gin-gonic/gin"
	_ "github.com/GoAdminGroup/go-admin/adapter/gin"
	_ "github.com/GoAdminGroup/go-admin/modules/db/drivers/mysql"
	"github.com/GoAdminGroup/go-admin/engine"
	"github.com/GoAdminGroup/go-admin/plugins/admin"
	"github.com/GoAdminGroup/themes/adminlte"
	"github.com/GoAdminGroup/go-admin/modules/config"
	"github.com/GoAdminGroup/go-admin/template"
    	"github.com/GoAdminGroup/go-admin/template/chartjs"
    	"github.com/GoAdminGroup/go-admin/template/types"
	"github.com/GoAdminGroup/go-admin/examples/datamodel"
	"github.com/GoAdminGroup/go-admin/modules/language"
)

func main() {
	r := gin.Default()

	eng := engine.Default()

	// global config
	cfg := config.Config{
		Databases: config.DatabaseList{
		    "default": {
			Host:         "127.0.0.1",
			Port:         "3306",
			User:         "root",
			Pwd:          "root",
			Name:         "goadmin",
			MaxIdleCon: 50,
			MaxOpenCon: 150,
			Driver:       "mysql",
		    },
        	},
		UrlPrefix: "admin",
		// STORE 必须设置且保证有写权限,否则增加不了新的管理员用户
		Store: config.Store{
		    Path:   "./uploads",
		    Prefix: "uploads",
		},
		Language: language.CN, 
		// 开发模式
                Debug: true,
                // 日志文件位置,需为绝对路径
                InfoLogPath: "/var/logs/info.log",
                AccessLogPath: "/var/logs/access.log",
                ErrorLogPath: "/var/logs/error.log",
                ColorScheme: adminlte.ColorschemeSkinBlack,
	}

	// 增加 chartjs 组件
	template.AddComp(chartjs.NewChart())
    
    	_ = eng.AddConfig(&cfg).
    		AddGenerators(datamodel.Generators).
    	        // 增加 generator, 第一个参数是对应的访问路由前缀
        	        // 例子:
        	        //
        	        // "user" => http://localhost:9033/admin/info/user
        	        //		
    		AddGenerator("user", datamodel.GetUserTable).
    		Use(r)
    	
    	// 自定义首页
    	eng.HTML("GET", "/admin", datamodel.GetContent)

	_ = r.Run(":9033")
}

更多框架的例子: https://github.com/GoAdminGroup/go-admin/tree/master/examples

第三步:运行

GO111MODULE=on go run main.go

访问:http://localhost:9033/admin

账号: admin 密码: admin

更多细节详见 文档说明

这里一个超级简单上手的例子

贡献

这里有一份贡献指南

非常欢迎提pr,这里可以加入开发小组

QQ群874825430,记得备注加群来意

这里是开发计划

点击这里申请加微信群(记得备注加群)

注:在社区中如有问题提问,请务必清晰描述,包括但不限于问题详叙/问题代码/复现方法/已经尝试过的方法,时间生命可贵,请珍惜自己和别人的时间!

十分感谢

inspired by laravel-admin

打赏

留下您的github/gitee用户名,我们将会展示在捐赠名单中。

恰饭所需,作者精力时间有限,目前GoAdmin项目捐赠达666元,联系作者可进vip用户群,vip群中您的问题将得到优先解答,同时也会根据您的需求进行分析和优先安排,vip群也会提供其他关于golang的福利。🙏

同时您也可以联系我,雇佣我的时间帮助您干活。