package cmd import ( "context" "github.com/gogf/gf/v2/frame/g" "github.com/gogf/gf/v2/net/ghttp" "github.com/gogf/gf/v2/os/gcmd" "link_homework/internal/controller/article" "link_homework/internal/controller/homework" "link_homework/internal/controller/live" "link_homework/internal/logic/middleware" ) var ( Main = gcmd.Command{ Name: "main", Usage: "main", Brief: "start http server", Func: func(ctx context.Context, parser *gcmd.Parser) (err error) { s := g.Server() //后台 //启动gtoken // 创建一个GfToken对象,用于处理用户登录、登出、权限验证等操作 //gfToken := >oken.GfToken{ // // 设置登录路径,即用户登录接口登入成功后会获得一个Token // LoginPath: "/login", // //// 设置登录前执行的函数,在用户登录之前会调用这个函数进行一些预处理,比如验证用户名和密码等。 // //LoginBeforeFunc: loginFunc, //手动编写 没有同时配置登入路径,登入方法,登出路径启动时会报错 // // 设置登出路径,即用户登出接口登入成功后会删除Token // LogoutPath: "/logout", // //// 设置需要拦截的路径,按照前缀拦截,所有以/user或/system开头的路径都需要进行Token认证。 // //AuthPaths: g.SliceStr{"/user", "/system"}, // //// 设置不需要拦截的路径,所有以/user/info或/system/user/开头的路径都不需要进行Token认证。 // //AuthExcludePaths: g.SliceStr{"/user/info", "/system/user/*"}, // //// 开启全局拦截,默认关闭,如果设置为true,则所有请求都会经过Token认证中间件,如果设置为false,则只有指定路径的请求会经过Token认证中间件。 // //GlobalMiddleware: true, //} s.Group("/api/homework_manage", func(group *ghttp.RouterGroup) { //group.Middleware(middleware.MiddlewareIsLogin) group.Middleware(middleware.MiddlewareCORS) //gfToken.Middleware(ctx, group) //直接写接口,不用再分组 group.POST("/get-homework-list", homework.Homework().GetHomeworkList) group.ALL("/get-article-list", article.Article().GetArticleList) group.ALL("/get-live-list", live.Live().GetLiveList) }) //客户端 s.Group("/api/homework_client", func(group *ghttp.RouterGroup) { //group.Middleware(middleware.MiddlewareIsLogin) group.Middleware(middleware.MiddlewareCORS) //gfToken.Middleware(ctx, group) //直接写接口,不用再分组 }) s.Run() return nil }, } )