package api import ( "context" "likedream-goframe/internal/common/cst" "likedream-goframe/internal/controller/agent" "likedream-goframe/internal/controller/balance" "likedream-goframe/internal/controller/card" "likedream-goframe/internal/controller/common" "likedream-goframe/internal/controller/config" "likedream-goframe/internal/controller/course" "likedream-goframe/internal/controller/cpdaily" "likedream-goframe/internal/controller/menu" "likedream-goframe/internal/controller/music" "likedream-goframe/internal/controller/role" "likedream-goframe/internal/controller/user" "likedream-goframe/internal/controller/user_login" "likedream-goframe/internal/middleware" "likedream-goframe/internal/utils" _ "github.com/gogf/gf/contrib/nosql/redis/v2" "github.com/gogf/gf/v2/frame/g" "github.com/gogf/gf/v2/net/ghttp" "github.com/samber/oops" ) func StartServer(ctx context.Context) { s := g.Server() // 设置端口 port, err := g.Cfg().Get(ctx, cst.ConfigServerPort) utils.OkOrPanic(err) s.SetNameToUriType(3) // 设置中间件 s.Use( middleware.ExceptionHandler, ) s.BindStatusHandler(404, common.NewBaseV1().NotFound) // 业务路由 s.Group("/v1", func(group *ghttp.RouterGroup) { group.Bind(user_login.NewUserLoginV1()) // 系统设置路由 systemGroup := group.Group("/system").Middleware(middleware.AuthHandler, middleware.PermissionHandler) systemGroup.Bind(role.NewV1()) systemGroup.Bind(menu.NewV1()) systemGroup.Bind(user.NewUserCtrlV1()) systemGroup.Bind(config.NewConfigCtrlV1()) systemGroup.Bind(config.NewAIConfigCtrlV1()) //systemGroup.Bind(agent.NewV1()) // 用户信息路由 userGroup := group.Group("/user").Middleware(middleware.AuthHandler, middleware.PermissionHandler) userGroup.Bind(user_login.NewUserInfoV1()) userGroup.Bind(balance.NewBalanceCtrlV1()) // 代理信息路由 agentGroup := group.Group("/agent").Middleware(middleware.AuthHandler, middleware.PermissionHandler) agentGroup.Bind(agent.NewV1()) agentGroup.Bind(card.NewCardCtrlV1()) // 今日校园 cpdailyGroup := group.Group("/cpdaily").Middleware(middleware.AuthHandler, middleware.PermissionHandler) cpdailyGroup.Bind(cpdaily.NewCpUserCtrlV1()) cpdailyGroup.Bind(cpdaily.NewCpTaskCtrlV1()) cpdailyGroup.Bind(cpdaily.NewCpImageCtrlV1()) cpdailyGroup.Bind(cpdaily.NewCpTaskLogCtrlV1()) cpdailyGroup.Bind(cpdaily.NewCpLeaveCtrlV1()) // 娱乐 musicGroup := group.Group("/music").Middleware(middleware.AuthHandler, middleware.PermissionHandler) musicGroup.Bind(music.NewMusicCtrlV1()) // 网课 courseGroup := group.Group("/course").Middleware(middleware.AuthHandler, middleware.PermissionHandler) courseGroup.Bind(course.NewXxtCtrlV1()) courseGroup.Bind(course.NewSmartEduSCCtrlV1()) }) s.SetPort(port.Int()) s.GetOpenApi().Config.IgnorePkgPath = true // 设置全局异常捕获 e := s.Start() utils.OkOrPanic(e, oops.WithContext(ctx).Wrap) } func StopServer() { e := g.Server().Shutdown() utils.OkOrPanic(e) }