package mynode import ( "admin/internal/context" "admin/internal/db" "admin/internal/global" "admin/lib/node" "admin/lib/web" "admin/lib/xlog" ) func New() *node.Node { nd := node.NewNode() nd.ApplyOptions(node.WithNodeExBootFlags(global.GLOB_BOOT_FLAGS)) nd.AddInitTask("初始化全局api监听服务", func() error { global.GLOB_API_ENGINE = web.NewEngine("gin", context.NewWebContext) return nil }) nd.AddInitTask("初始化数据库", func() error { flags := global.GLOB_BOOT_FLAGS _, err := db.NewDB(flags.DBType, flags.DBAddr, flags.DBName, flags.DBUser, flags.DBPass) return err }) nd.AddPostTask("启动全局api监听服务", func() error { go func() { err := global.GLOB_API_ENGINE.Run(":" + global.GLOB_BOOT_FLAGS.ApiPort) if err != nil { xlog.Errorf("start api server on %v error: %v", global.GLOB_BOOT_FLAGS, err) } }() return nil }) return nd }