GoAdmin+beego搭建后台管理页面(记录,并fuck)

首先发泄一下 Fuck fuck fuck。。。

一、 GoAdmin 和 beego 的安装配置工作

这不是本文重点,自己百度弄下吧。

二、使用GoAdmin 的adm工具

新建项目目录,cd 项目目录/
安装

go install github.com/GoAdminGroup/go-admin/adm
生成

在项目文件夹下执行:

adm generate

然后根据你的实际情况 按space 或者回车,
结果是你的项目目录下 会出现数据库表对应go文件,和tables.go 文件。

三、GoAdmin 的sql文件导入你项目数据库

在你github.com/GoAdminGroup/go-admin/data下面, 我用的是mysql,所以是 admin.sql 那个数据库文件。

四、让我无限fuck的一步来了

  1. 在你github.com/GoAdminGroup/go-admin/examples/beego/下面 的main.go 文件。 复制出来
  2. 粘贴到你的项目目录下面 (所有文件都在项目根目录下)。
  3. 这个是第54行代码 修改之前的
adminPlugin := admin.NewAdmin(datamodel.Generators).AddDisplayFilterXssJsFilter()

修改之后的

adminPlugin := admin.NewAdmin(Generators).AddDisplayFilterXssJsFilter()

没错 我将datamodel 去掉了。

其他的数据库配置弄一下,就没啥事了
在根目录下 运行

go run .

怕下次又要出啥问题,源码留在这里当demo了

package main

import (
	"log"
	"os"
	"os/signal"

	_ "github.com/GoAdminGroup/go-admin/adapter/beego"
	_ "github.com/GoAdminGroup/go-admin/modules/db/drivers/mysql"
	"github.com/GoAdminGroup/go-admin/template"
	"github.com/GoAdminGroup/go-admin/template/chartjs"
	"github.com/GoAdminGroup/themes/adminlte"
	_ "github.com/GoAdminGroup/themes/adminlte"

	"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/admin"
	"github.com/GoAdminGroup/go-admin/plugins/example"
	"github.com/GoAdminGroup/go-admin/template/types"
	"github.com/astaxie/beego"
	"github.com/astaxie/beego/context"
)

func main() {
	app := beego.NewApp()

	eng := engine.Default()

	cfg := config.Config{
		Databases: config.DatabaseList{
			"default": {
				Host:       "127.0.0.1",
				Port:       "3306",
				User:       "root",
				Pwd:        "root",
				Name:       "wordhelpapi",
				MaxIdleCon: 50,
				MaxOpenCon: 150,
				Driver:     config.DriverMysql,
			},
		},
		Store: config.Store{
			Path:   "./uploads",
			Prefix: "uploads",
		},
		UrlPrefix:   "admin",
		IndexUrl:    "/",
		Debug:       true,
		Language:    language.CN,
		ColorScheme: adminlte.ColorschemeSkinBlack,
	}
	// !!!!!!!!!!!!!无限FuckFuckFuckFuckFuckFuckFuckFuckFuck!!!!!!!!!!!
	adminPlugin := admin.NewAdmin(Generators).AddDisplayFilterXssJsFilter()
	// !!!!!!!!!!!!!无限FuckFuckFuckFuckFuckFuckFuckFuckFuck!!!!!!!!!!! 单个Generators
	template.AddComp(chartjs.NewChart())

	examplePlugin := example.NewExample()

	beego.SetStaticPath("/uploads", "uploads")

	if err := eng.AddConfig(cfg).AddPlugins(adminPlugin, examplePlugin).Use(app); err != nil {
		panic(err)
	}

	app.Handlers.Get("/admin", func(ctx *context.Context) {
		eng.Content(ctx, func(ctx interface{}) (types.Panel, error) {
			return datamodel.GetContent()
		})
	})

	beego.BConfig.Listen.HTTPAddr = "127.0.0.1"
	beego.BConfig.Listen.HTTPPort = 9087
	go app.Run()

	quit := make(chan os.Signal)
	signal.Notify(quit, os.Interrupt)
	<-quit
	log.Print("closing database connection")
	eng.MysqlConnection().Close()
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值