使用这个GoAdminGroup/go-admin框架的最简单的例子就可以把项目运行起来 , go-admin 是以扩展库的形式使用的.
建一个main.go
package main
import (
"io/ioutil"
"log"
"os"
"os/signal"
_ "github.com/GoAdminGroup/go-admin/adapter/gin"
_ "github.com/GoAdminGroup/go-admin/modules/db/drivers/mysql"
_ "github.com/GoAdminGroup/themes/sword"
"github.com/GoAdminGroup/go-admin/engine"
"github.com/GoAdminGroup/go-admin/examples/datamodel"
"github.com/GoAdminGroup/go-admin/modules/config"
"github.com/GoAdminGroup/go-admin/modules/language"
"github.com/GoAdminGroup/go-admin/plugins/example"
"github.com/GoAdminGroup/go-admin/template"
"github.com/GoAdminGroup/go-admin/template/chartjs"
"github.com/GoAdminGroup/themes/adminlte"
"github.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: "3306",
User: "goadmin",
Pwd: "goadmin",
Name: "goadmin",
MaxIdleCon: 50,
MaxOpenCon: 150,
Driver: config.DriverMysql,
//Driver: config.DriverSqlite,
//File: "../datamodel/admin.db",
},
},
UrlPrefix: "admin",
Store: config.Store{
Path: "./uploads",
Prefix: "uploads",
},
Language: language.CN,
IndexUrl: "/",
Debug: true,
AccessAssetsLogOff: true,
Animation: config.PageAnimation{
Type: "fadeInUp",
},
ColorScheme: adminlte.ColorschemeSkinBlack,
BootstrapFilePath: "./../datamodel/bootstrap.go",
}
template.AddComp(chartjs.NewChart())
// 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", datamodel.GetUserTable).
AddDisplayFilterXssJsFilter().
AddPlugins(examplePlugin).
Use(r); err != nil {
panic(err)
}
r.Static("/uploads", "./uploads")
// customize your pages
e.HTML("GET", "/admin", datamodel.GetContent)
go func() {
_ = r.Run(":9033")
}()
quit := make(chan os.Signal, 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
建一个数据库 , 把数据库sql导进去
# ************************************************************ # 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` int(11) unsigned NOT NULL DEFAULT '0', `type` tinyint(4) unsigned NOT NULL DEFAULT '0', `order` int(11) unsigned NOT NULL DEFAULT '0', `title` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL, `icon` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL, `uri` varchar(3000) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', `header` varchar(150) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `plugin_name` varchar(150) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', `uuid` varchar(150) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP, `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=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,0,1,2,'Admin','fa-tasks','','',NULL,'2019-09-10 00:00:00','2019-09-10 00:00:00'), (2,1,1,2,'Users','fa-users','/info/manager','',NULL,'2019-09-10 00:00:00','2019-09-10 00:00:00'), (3,1,1,3,'Roles','fa-user','/info/roles','',NULL,'2019-09-10 00:00:00','2019-09-10 00:00:00'), (4,1,1,4,'Permission','fa-ban','/info/permission','',NULL,'2019-09-10 00:00:00','2019-09-10 00:00:00'), (5,1,1,5,'Menu','fa-bars','/menu','',NULL,'2019-09-10 00:00:00','2019-09-10 00:00:00'), (6,1,1,6,'Operation log','fa-history','/info/op','',NULL,'2019-09-10 00:00:00','2019-09-10 00:00:00'), (7,0,1,1,'Dashboard','fa-bar-chart','/','',NULL,'2019-09-10 00:00:00','2019-09-10 00:00:00'); /*!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` int(10) unsigned NOT NULL AUTO_INCREMENT, `user_id` int(11) unsigned NOT NULL, `path` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `method` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL, `ip` varchar(15) COLLATE utf8mb4_unicode_ci NOT NULL, `input` text COLLATE utf8mb4_unicode_ci NOT NULL, `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP, `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), KEY `admin_operation_log_user_id_index` (`user_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; # Dump of table goadmin_site # ------------------------------------------------------------ DROP TABLE IF EXISTS `goadmin_site`; CREATE TABLE `goadmin_site` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `key` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `value` longtext COLLATE utf8mb4_unicode_ci, `description` varchar(3000) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `state` tinyint(3) unsigned NOT NULL DEFAULT '0', `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP, `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; # Dump of table goadmin_permissions # ------------------------------------------------------------ DROP TABLE IF EXISTS `goadmin_permissions`; CREATE TABLE `goadmin_permissions` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL, `slug` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL, `http_method` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `http_path` text COLLATE utf8mb4_unicode_ci NOT NULL, `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP, `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), UNIQUE KEY `admin_permissions_name_unique` (`name`) ) ENGINE=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`, `created_at`, `updated_at`) VALUES (1,'All permission','*','','*','2019-09-10 00:00:00','2019-09-10 00:00:00'), (2,'Dashboard','dashboard','GET,PUT,POST,DELETE','/','2019-09-10 00:00:00','2019-09-10 00:00:00'); /*!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` int(11) unsigned NOT NULL, `menu_id` int(11) unsigned NOT NULL, `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP, `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP, KEY `admin_role_menu_role_id_menu_id_index` (`role_id`,`menu_id`) ) ENGINE=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`, `created_at`, `updated_at`) VALUES (1,1,'2019-09-10 00:00:00','2019-09-10 00:00:00'), (1,7,'2019-09-10 00:00:00','2019-09-10 00:00:00'), (2,7,'2019-09-10 00:00:00','2019-09-10 00:00:00'), (1,8,'2019-09-11 10:20:55','2019-09-11 10:20:55'), (2,8,'2019-09-11 10:20:55','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` int(11) unsigned NOT NULL, `permission_id` int(11) unsigned NOT NULL, `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP, `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP, UNIQUE KEY `admin_role_permissions` (`role_id`,`permission_id`) ) ENGINE=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`, `created_at`, `updated_at`) VALUES (1,1,'2019-09-10 00:00:00','2019-09-10 00:00:00'), (1,2,'2019-09-10 00:00:00','2019-09-10 00:00:00'), (2,2,'2019-09-10 00:00:00','2019-09-10 00:00:00'); /*!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` int(11) unsigned NOT NULL, `user_id` int(11) unsigned NOT NULL, `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP, `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP, UNIQUE KEY `admin_user_roles` (`role_id`,`user_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=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`, `created_at`, `updated_at`) VALUES (1,1,'2019-09-10 00:00:00','2019-09-10 00:00:00'), (2,2,'2019-09-10 00:00:00','2019-09-10 00:00:00'); /*!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` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL, `slug` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL, `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP, `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), UNIQUE KEY `admin_roles_name_unique` (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; LOCK TABLES `goadmin_roles` WRITE; /*!40000 ALTER TABLE `goadmin_roles` DISABLE KEYS */; INSERT INTO `goadmin_roles` (`id`, `name`, `slug`, `created_at`, `updated_at`) VALUES (1,'Administrator','administrator','2019-09-10 00:00:00','2019-09-10 00:00:00'), (2,'Operator','operator','2019-09-10 00:00:00','2019-09-10 00:00:00'); /*!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` int(11) unsigned NOT NULL AUTO_INCREMENT, `sid` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', `values` varchar(3000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP, `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; # Dump of table goadmin_user_permissions # ------------------------------------------------------------ DROP TABLE IF EXISTS `goadmin_user_permissions`; CREATE TABLE `goadmin_user_permissions` ( `user_id` int(11) unsigned NOT NULL, `permission_id` int(11) unsigned NOT NULL, `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP, `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP, UNIQUE KEY `admin_user_permissions` (`user_id`,`permission_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; LOCK TABLES `goadmin_user_permissions` WRITE; /*!40000 ALTER TABLE `goadmin_user_permissions` DISABLE KEYS */; INSERT INTO `goadmin_user_permissions` (`user_id`, `permission_id`, `created_at`, `updated_at`) VALUES (1,1,'2019-09-10 00:00:00','2019-09-10 00:00:00'), (2,2,'2019-09-10 00:00:00','2019-09-10 00:00:00'); /*!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` int(10) unsigned NOT NULL AUTO_INCREMENT, `username` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL, `password` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', `name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL, `avatar` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `remember_token` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP, `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), UNIQUE KEY `admin_users_username_unique` (`username`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; LOCK TABLES `goadmin_users` WRITE; /*!40000 ALTER TABLE `goadmin_users` DISABLE KEYS */; INSERT INTO `goadmin_users` (`id`, `username`, `password`, `name`, `avatar`, `remember_token`, `created_at`, `updated_at`) VALUES (1,'admin','$2a$10$U3F/NSaf2kaVbyXTBp7ppOn0jZFyRqXRnYXB.AMioCjXl3Ciaj4oy','admin','','tlNcBVK9AvfYH7WEnwB1RKvocJu8FfRy4um3DJtwdHuJy0dwFsLOgAc0xUfh','2019-09-10 00:00:00','2019-09-10 00:00:00'), (2,'operator','$2a$10$rVqkOzHjN2MdlEprRflb1eGP0oZXuSrbJLOmJagFsCd81YZm0bsh.','Operator','',NULL,'2019-09-10 00:00:00','2019-09-10 00:00:00'); /*!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 */;
总结
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“GoAdminGroup/go-admin的安装和运行的教程详解”评论...
更新动态
2025年10月27日
2025年10月27日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]
