我是靠谱客的博主 活力火车,最近开发中收集的这篇文章主要介绍GoAdminGroup/go-admin的安装和运行的教程详解,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

使用这个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 */;

总结

到此这篇关于GoAdminGroup/go-admin的安装和运行的教程详解的文章就介绍到这了,更多相关go-admin 安装和运行内容请搜索靠谱客以前的文章或继续浏览下面的相关文章希望大家以后多多支持靠谱客!

最后

以上就是活力火车为你收集整理的GoAdminGroup/go-admin的安装和运行的教程详解的全部内容,希望文章能够帮你解决GoAdminGroup/go-admin的安装和运行的教程详解所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(133)

评论列表共有 0 条评论

立即
投稿
返回
顶部