You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

62 lines
2.7 KiB

  1. package cmd
  2. import (
  3. "context"
  4. "github.com/gogf/gf/v2/frame/g"
  5. "github.com/gogf/gf/v2/net/ghttp"
  6. "github.com/gogf/gf/v2/os/gcmd"
  7. "link_homework/internal/controller/clientPage"
  8. "link_homework/internal/controller/record"
  9. "link_homework/internal/logic/middleware"
  10. )
  11. var (
  12. Main = gcmd.Command{
  13. Name: "main",
  14. Usage: "main",
  15. Brief: "start http server",
  16. Func: func(ctx context.Context, parser *gcmd.Parser) (err error) {
  17. s := g.Server()
  18. //后台
  19. ////启动gtoken
  20. //// 创建一个GfToken对象,用于处理用户登录、登出、权限验证等操作
  21. //gfToken := &gtoken.GfToken{
  22. // // 设置登录路径,即用户登录接口登入成功后会获得一个Token
  23. // LoginPath: "/login",
  24. // //// 设置登录前执行的函数,在用户登录之前会调用这个函数进行一些预处理,比如验证用户名和密码等。
  25. // //LoginBeforeFunc: loginFunc, //手动编写 没有同时配置登入路径,登入方法,登出路径启动时会报错
  26. // // 设置登出路径,即用户登出接口登入成功后会删除Token
  27. // LogoutPath: "/user/logout",
  28. // //// 设置需要拦截的路径,按照前缀拦截,所有以/user或/system开头的路径都需要进行Token认证。
  29. // //AuthPaths: g.SliceStr{"/user", "/system"},
  30. // //// 设置不需要拦截的路径,所有以/user/info或/system/user/开头的路径都不需要进行Token认证。
  31. // //AuthExcludePaths: g.SliceStr{"/user/info", "/system/user/*"},
  32. // //// 开启全局拦截,默认关闭,如果设置为true,则所有请求都会经过Token认证中间件,如果设置为false,则只有指定路径的请求会经过Token认证中间件。
  33. // //GlobalMiddleware: true,
  34. //}
  35. s.Group("/api/homework_manage", func(group *ghttp.RouterGroup) {
  36. group.Middleware(middleware.MiddlewareCORS)
  37. //group.Middleware(middleware.MiddlewareIsLogin)
  38. //gfToken.Middleware(ctx, group)
  39. //直接写接口,不用再分组
  40. group.POST("/getrecordlist", record.NewManageRecord().GetRecordList)
  41. group.POST("/getrecordbycondition", record.NewManageRecord().GetRecordByCondition)
  42. group.POST("/getdeptinfo", record.NewManageRecord().GetDeptInfo)
  43. group.POST("/getshopinfo", record.NewManageRecord().GetShopInfo)
  44. })
  45. //客户端
  46. s.Group("/api/homework_client", func(group *ghttp.RouterGroup) {
  47. group.Middleware(middleware.MiddlewareCORS)
  48. //group.Middleware(middleware.MiddlewareIsLogin)
  49. //gfToken.Middleware(ctx, group)
  50. //直接写接口,不用再分组
  51. group.POST("/gethomeworklist", clientPage.NewClientPage().GetHomeworkList)
  52. group.POST("/gethomeworkquestion", clientPage.NewClientPage().GetHomeworkQuestion)
  53. })
  54. s.Run()
  55. return nil
  56. },
  57. }
  58. )