package cmd import ( "context" _ "github.com/gogf/gf/contrib/drivers/mysql/v2" "github.com/gogf/gf/v2/frame/g" "github.com/gogf/gf/v2/net/ghttp" "github.com/gogf/gf/v2/os/gcmd" "tool-api/internal/controller" "tool-api/internal/logic" ) var ( Main = gcmd.Command{ Name: "main", Usage: "main", Brief: "start http server", Func: func(ctx context.Context, parser *gcmd.Parser) (err error) { // 启动时幂等写入种子数据(管理员/模块/等级/工具),数据库不可用时仅告警 logic.Seed(ctx) s := g.Server() // 公开接口:小程序登录、开发登录、管理端登录 s.Group("/", func(group *ghttp.RouterGroup) { group.Middleware(logic.CORS, logic.Response) group.Bind(controller.UserPub, controller.AdminPub) }) // 小程序用户接口 s.Group("/", func(group *ghttp.RouterGroup) { group.Middleware(logic.CORS, logic.Response, logic.UserAuth) group.Bind(controller.UserAuth) }) // 管理端接口 s.Group("/", func(group *ghttp.RouterGroup) { group.Middleware(logic.CORS, logic.Response, logic.AdminAuth) group.Bind(controller.AdminAuth) }) s.Run() return nil }, } )