使用这个GoAdminGroup/go-admin框架的最简单的例子就可以把项目运行起来,go-admin 是以扩展库的形式使用的.
建一个main.go
package main import ( "io/IoUtil" logosos/signal" _ github.com/GoAdminGroup/go-admin/adapter/gin _ github.com/GoAdminGroup/go-admin/modules/db/drivers/MysqLgithub.com/GoAdminGroup/themes/sword" github.com/GoAdminGroup/go-admin/enginegithub.com/GoAdminGroup/go-admin/examples/datamodelgithub.com/GoAdminGroup/go-admin/modules/configgithub.com/GoAdminGroup/go-admin/modules/languagegithub.com/GoAdminGroup/go-admin/plugins/examplegithub.com/GoAdminGroup/go-admin/templategithub.com/GoAdminGroup/go-admin/template/chartjsgithub.com/GoAdminGroup/themes/adminltegithub.com/gin-gonic/gin ) func main() { gin.SetMode(gin.ReleaseMode) gin.DefaultWriter = IoUtil.Discard r := gin.New() e := engine.Default() cfg := config.Config{ Env: config.EnvLocal,Databases: config.DatabaseList{ default: { Host: 127.0.0.1,Port: 3306goadmin50150MysqL,//Driver: config.Driversqlite,1)">File: "../datamodel/admin.db", },},UrlPrefix: admin./uploadsuploads/truelogoff: fadeInUp./../datamodel/bootstrap.go customize a plugin examplePlugin := example.NewExample() load from golang.Plugin // examplePlugin := plugins.LoadFromPlugin("../datamodel/example.so") customize the login page example: https://github.com/GoAdminGroup/demo.go-admin.cn/blob/master/main.go#L39 template.AddComp("login",datamodel.LoginPage) load config from json file e.AddConfigFromJSON("../datamodel/config.json") if err := e.AddConfig(cfg). AddGenerators(datamodel.Generators). add generator,first parameter is the url prefix of table when visit. example: // "user" => http://localhost:9033/admin/info/user // AddGenerator(user nil { panic(err) } r.Static(/uploads",) customize your pages e.HTML(GET/admin:9033) }() quit := make(chan os.Signal,1)">1) signal.Notify(quit,os.Interrupt) <-quit log.Print(closing database connection) e.MysqLConnection().Close() }
注意数据库用户名和密码,直接运行go run main.go,在开启go module的情况下,所有依赖会自动安装
访问 http://localhost:9033/admin 用户名密码:admin / admin
# ************************************************************ # Sequel Pro sql dump # Version 4468 # # http:www.sequelpro.com/ # https:github.com/sequelpro/sequelpro # # Host: 127.0.0.1 (MysqL 5.7.19) # Database: godmin # Generation Time: 2019-09-12 04:16:47 +0000 # ************************************************************ /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; !40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS !40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION !40101 SET NAMES utf8 !40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS,FOREIGN_KEY_CHECKS=0 !40101 SET @OLD_sql_MODE=@@sql_MODE,sql_MODE='NO_AUTO_VALUE_ON_ZERO' !40111 SET @OLD_sql_NOTES=@@sql_NOTES,sql_NOTES=0 ; # Dump of table goadmin_menu # ------------------------------------------------------------ DROP TABLE IF EXISTS `goadmin_menu`; CREATE TABLE `goadmin_menu` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT,`parent_id` 11) unsigned NOT NULL DEFAULT '0'4) unsigned NOT NULL DEFAULT ) COLLATE utf8mb4_unicode_ci NOT NULL,`icon` varchar(3000) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '') COLLATE utf8mb4_unicode_ci DEFAULT NULL,`plugin_name` varchar(150) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT =InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; LOCK TABLES `goadmin_menu` WRITE; !40000 ALTER TABLE `goadmin_menu` DISABLE KEYS ; INSERT INTO `goadmin_menu` (`id`,`parent_id`,`type`,`order`,`title`,`icon`,`uri`,`plugin_name`,`header`,`created_at`,`updated_at`) VALUES (1,1)">0,1)">2,1)">Admin',1)">fa-tasks'',NULL,1)">2019-09-10 00:00:00),(Usersfa-users/info/manager3,1)">Rolesfa-user/info/roles4,1)">Permissionfa-ban/info/permission5,1)">Menufa-bars/menu6,1)">Operation logfa-history/info/op7,1)">Dashboardfa-bar-chart); !40000 ALTER TABLE `goadmin_menu` ENABLE KEYS ; UNLOCK TABLES; # Dump of table goadmin_operation_log # ------------------------------------------------------------ DROP TABLE IF EXISTS `goadmin_operation_log`; CREATE TABLE `goadmin_operation_log` ( `id` 11) unsigned NOT NULL,`path` varchar(25515utf8mb4_unicode_ci; # Dump of table goadmin_site # ------------------------------------------------------------ DROP TABLE IF EXISTS `goadmin_site`; CREATE TABLE `goadmin_site` ( `id` 10030003) unsigned NOT NULL DEFAULT utf8mb4_unicode_ci; # Dump of table goadmin_permissions # ------------------------------------------------------------ DROP TABLE IF EXISTS `goadmin_permissions`; CREATE TABLE `goadmin_permissions` ( `id` =InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; LOCK TABLES `goadmin_permissions` WRITE; !40000 ALTER TABLE `goadmin_permissions` DISABLE KEYS ; INSERT INTO `goadmin_permissions` (`id`,`name`,`slug`,`http_method`,`http_path`,1)">All permission*dashboardGET,PUT,POST,DELETE!40000 ALTER TABLE `goadmin_permissions` ENABLE KEYS ; UNLOCK TABLES; # Dump of table goadmin_role_menu # ------------------------------------------------------------ DROP TABLE IF EXISTS `goadmin_role_menu`; CREATE TABLE `goadmin_role_menu` ( `role_id` =InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; LOCK TABLES `goadmin_role_menu` WRITE; !40000 ALTER TABLE `goadmin_role_menu` DISABLE KEYS ; INSERT INTO `goadmin_role_menu` (`role_id`,`menu_id`,1)">8,1)">2019-09-11 10:20:55!40000 ALTER TABLE `goadmin_role_menu` ENABLE KEYS ; UNLOCK TABLES; # Dump of table goadmin_role_permissions # ------------------------------------------------------------ DROP TABLE IF EXISTS `goadmin_role_permissions`; CREATE TABLE `goadmin_role_permissions` ( `role_id` =InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; LOCK TABLES `goadmin_role_permissions` WRITE; !40000 ALTER TABLE `goadmin_role_permissions` DISABLE KEYS ; INSERT INTO `goadmin_role_permissions` (`role_id`,`permission_id`,1)">!40000 ALTER TABLE `goadmin_role_permissions` ENABLE KEYS ; UNLOCK TABLES; # Dump of table goadmin_role_users # ------------------------------------------------------------ DROP TABLE IF EXISTS `goadmin_role_users`; CREATE TABLE `goadmin_role_users` ( `role_id` utf8mb4_unicode_ci; LOCK TABLES `goadmin_role_users` WRITE; !40000 ALTER TABLE `goadmin_role_users` DISABLE KEYS ; INSERT INTO `goadmin_role_users` (`role_id`,`user_id`,1)">!40000 ALTER TABLE `goadmin_role_users` ENABLE KEYS ; UNLOCK TABLES; # Dump of table goadmin_roles # ------------------------------------------------------------ DROP TABLE IF EXISTS `goadmin_roles`; CREATE TABLE `goadmin_roles` ( `id` utf8mb4_unicode_ci; LOCK TABLES `goadmin_roles` WRITE; !40000 ALTER TABLE `goadmin_roles` DISABLE KEYS ; INSERT INTO `goadmin_roles` (`id`,1)">AdministratoradministratorOperatoroperator!40000 ALTER TABLE `goadmin_roles` ENABLE KEYS ; UNLOCK TABLES; # Dump of table goadmin_session # ------------------------------------------------------------ DROP TABLE IF EXISTS `goadmin_session`; CREATE TABLE `goadmin_session` ( `id` 50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 3000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT utf8mb4; # Dump of table goadmin_user_permissions # ------------------------------------------------------------ DROP TABLE IF EXISTS `goadmin_user_permissions`; CREATE TABLE `goadmin_user_permissions` ( `user_id` utf8mb4_unicode_ci; LOCK TABLES `goadmin_user_permissions` WRITE; !40000 ALTER TABLE `goadmin_user_permissions` DISABLE KEYS ; INSERT INTO `goadmin_user_permissions` (`user_id`,1)">!40000 ALTER TABLE `goadmin_user_permissions` ENABLE KEYS ; UNLOCK TABLES; # Dump of table goadmin_users # ------------------------------------------------------------ DROP TABLE IF EXISTS `goadmin_users`; CREATE TABLE `goadmin_users` ( `id` 100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT utf8mb4_unicode_ci; LOCK TABLES `goadmin_users` WRITE; !40000 ALTER TABLE `goadmin_users` DISABLE KEYS ; INSERT INTO `goadmin_users` (`id`,`username`,`password`,`avatar`,`remember_token`,1)">$2a$10$U3F/NSaf2kaVbyXTBp7ppOn0jZFyRqXRnYXB.AMioCjXl3Ciaj4oytlNcBVK9AvfYH7WEnwB1RKvocJu8FfRy4um3DJtwdHuJy0dwFsLOgAc0xUfh$2a$10$rVqkOzHjN2MdlEprRflb1eGP0oZXuSrbJLOmJagFsCd81YZm0bsh.!40000 ALTER TABLE `goadmin_users` ENABLE KEYS ; UNLOCK TABLES; !40111 SET sql_NOTES=@OLD_sql_NOTES !40101 SET sql_MODE=@OLD_sql_MODE !40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS !40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT !40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS !40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;