// Code scaffolded by goctl. Safe to edit. // goctl 1.10.2 package main import ( "flag" "fmt" "udeServer/internal/config" "udeServer/internal/handler" "udeServer/internal/log" "udeServer/internal/response" "udeServer/internal/svc" "udeServer/internal/task" "github.com/zeromicro/go-zero/core/conf" "github.com/zeromicro/go-zero/rest" ) var configFile = flag.String("f", "etc/udeserver-api.yaml", "the config file") func main() { flag.Parse() var c config.Config conf.MustLoad(*configFile, &c) // 彩色控制台日志(Log.Mode=console 时生效) log.SetupLoggerWithColor(c.Log) // 所有成功/失败响应统一封装为 {"code":100000/100xxx,"message":...,"data":...}, // HTTP 状态恒为 200;必须在 server.Start 之前注册。 response.Register() // rest.WithCors() 解决跨域 server := rest.MustNewServer(c.RestConf, rest.WithCors()) defer server.Stop() ctx := svc.NewServiceContext(c) // 注册全局审计日志中间件(type=1 系统日志;在路由注册前 Use) server.Use(ctx.LogMiddleware) handler.RegisterHandlers(server, ctx) // 注册定时任务(每日 00:30 自动归档) go task.StartScheduler(ctx) fmt.Printf("Starting server at %s:%d...\n", c.Host, c.Port) server.Start() }