main.go 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. package main
  2. import (
  3. _ "github.com/GoAdminGroup/go-admin/adapter/gin" // adapter
  4. "github.com/GoAdminGroup/go-admin/context"
  5. _ "github.com/GoAdminGroup/go-admin/modules/db/drivers/sqlite" // sql driver
  6. _ "github.com/GoAdminGroup/themes/adminlte" // theme
  7. "github.com/GoAdminGroup/example/tables"
  8. "github.com/GoAdminGroup/go-admin/engine"
  9. "github.com/GoAdminGroup/go-admin/plugins/example"
  10. "github.com/GoAdminGroup/go-admin/template"
  11. "github.com/GoAdminGroup/go-admin/template/chartjs"
  12. "github.com/GoAdminGroup/go-admin/template/types"
  13. "github.com/gin-gonic/gin"
  14. "io/ioutil"
  15. )
  16. func main() {
  17. r := gin.Default()
  18. gin.SetMode(gin.ReleaseMode)
  19. gin.DefaultWriter = ioutil.Discard
  20. eng := engine.Default()
  21. // customize a plugin
  22. // 自己定制一个插件👇
  23. examplePlugin := example.NewExample()
  24. template.AddComp(chartjs.NewChart())
  25. // you can also add config like:
  26. // 您也可以像下面这样的方式去引入数据库👇
  27. //
  28. // import "github.com/GoAdminGroup/go-admin/modules/config"
  29. //
  30. // cfg := config.Config{
  31. // Databases: config.DatabaseList{
  32. // "default": {
  33. // Host: "127.0.0.1",
  34. // Port: "3306",
  35. // User: "root",
  36. // Pwd: "root",
  37. // Name: "godmin",
  38. // MaxIdleCon: 50,
  39. // MaxOpenCon: 150,
  40. // Driver: db.DriverMysql,
  41. // },
  42. // },
  43. // UrlPrefix: "admin",
  44. // IndexUrl: "/",
  45. // Debug: true,
  46. // Language: language.CN,
  47. // }
  48. //
  49. // eng.AddConfig(cfg)
  50. if err := eng.AddConfigFromJSON("./config.json").
  51. AddGenerators(tables.Generators).
  52. // add generator, first parameter is the url prefix of table when visit.
  53. // example:
  54. //
  55. // "user" => http://localhost:9033/admin/info/user
  56. //
  57. AddGenerator("user", tables.GetUserTable).
  58. AddGenerator("external", tables.GetExternalTable).
  59. AddPlugins(examplePlugin).
  60. Use(r); err != nil {
  61. panic(err)
  62. }
  63. r.Static("/uploads", "./uploads")
  64. // customize your index pages
  65. // 下面这样定制您的首页👇
  66. eng.HTML("GET", "/admin", func(ctx *context.Context) (panel types.Panel, e error) {
  67. return DashboardPage()
  68. })
  69. _ = r.Run(":9033")
  70. }