2025-03-28 18:00:18 +08:00

148 lines
5.5 KiB
Go

package erpserver
import (
"net/http"
"management/internal/erpserver/handler"
mw "management/internal/pkg/middleware"
"github.com/go-chi/chi/v5"
"github.com/go-chi/chi/v5/middleware"
)
func NewRouter(handler handler.IHandler, mw mw.IMiddleware) *chi.Mux {
r := chi.NewRouter()
r.Use(middleware.RequestID)
r.Use(middleware.RealIP)
// r.Use(middleware.Logger)
r.Use(middleware.Recoverer)
staticServer := http.FileServer(http.Dir("./web/statics/"))
r.Handle("/statics/*", http.StripPrefix("/statics", staticServer))
uploadServer := http.FileServer(http.Dir("./upload/"))
r.Handle("/upload/*", http.StripPrefix("/upload", uploadServer))
r.Group(func(r chi.Router) {
r.Use(mw.NoSurf) // CSRF
r.Use(mw.LoadSession) // Session
r.Get("/captcha", handler.CommonHandler().CaptchaHandler().Captcha)
r.Get("/", handler.SystemHandler().UserHandler().Login)
r.Post("/login", handler.SystemHandler().UserHandler().Login)
r.Get("/logout", handler.SystemHandler().UserHandler().Logout)
// r.With(auth.Authorize, mw.Audit).Post("/upload/img", commonhandler.UploadImg)
// r.With(auth.Authorize, mw.Audit).Post("/upload/file", commonhandler.UploadFile)
// r.With(auth.Authorize, mw.Audit).Post("/upload/mutilfile", commonhandler.UploadMutilFiles)
r.With(mw.Authorize, mw.Audit).Get("/home.html", handler.SystemHandler().Home)
r.With(mw.Authorize).Get("/pear.json", handler.SystemHandler().ConfigHandler().Pear)
r.Route("/system", func(r chi.Router) {
r.Use(mw.Authorize)
// r.Route("/config", func(r chi.Router) {
// r.Use(mw.Audit)
// r.Get("/list", configHandler.List)
// r.Post("/list", configHandler.PostList)
// r.Get("/add", configHandler.Add)
// r.Get("/edit", configHandler.Edit)
// r.Post("/save", configHandler.Save)
// r.Post("/reset_pear", configHandler.ResetPear)
// r.Post("/refresh", configHandler.Refresh)
// })
r.Route("/department", func(r chi.Router) {
r.Use(mw.Audit)
r.Get("/list", handler.SystemHandler().DepartmentHandler().List)
r.Post("/list", handler.SystemHandler().DepartmentHandler().List)
r.Get("/add", handler.SystemHandler().DepartmentHandler().Add)
r.Get("/add_children", handler.SystemHandler().DepartmentHandler().AddChildren)
r.Get("/edit", handler.SystemHandler().DepartmentHandler().Edit)
r.Post("/save", handler.SystemHandler().DepartmentHandler().Save)
r.Post("/tree", handler.SystemHandler().DepartmentHandler().Tree)
r.Post("/refresh", handler.SystemHandler().DepartmentHandler().Refresh)
r.Post("/rebuild_parent_path", handler.SystemHandler().DepartmentHandler().RebuildParentPath)
})
// r.Route("/user", func(r chi.Router) {
// r.Use(mw.Audit)
// userHandler := systemhandler.NewSysUserHandler()
// r.Get("/list", userHandler.List)
// r.Post("/list", userHandler.PostList)
// r.Get("/add", userHandler.Add)
// r.Get("/edit", userHandler.Edit)
// r.Post("/save", userHandler.Save)
// r.Get("/profile", userHandler.Profile)
// r.Post("/xmselect", userHandler.XmSelect)
// })
// r.Route("/login_log", func(r chi.Router) {
// // r.Use(mw.Audit)
// userLoginLogHandler := systemhandler.NewSysUserLoginLogHandler()
// r.Get("/list", userLoginLogHandler.List)
// r.Post("/list", userLoginLogHandler.PostList)
// })
// r.Route("/audit_log", func(r chi.Router) {
// // r.Use(mw.Audit)
// userAuditLogHandler := systemhandler.NewSysAuditLogHandler()
// r.Get("/list", userAuditLogHandler.List)
// r.Post("/list", userAuditLogHandler.PostList)
// })
// r.Route("/role", func(r chi.Router) {
// r.Use(mw.Audit)
// roleHandler := systemhandler.NewSysRoleHandler()
// r.Get("/list", roleHandler.List)
// r.Post("/list", roleHandler.PostList)
// r.Get("/add", roleHandler.Add)
// r.Get("/edit", roleHandler.Edit)
// r.Post("/save", roleHandler.Save)
// r.Post("/dtree", roleHandler.DTree)
// r.Post("/refresh", roleHandler.Refresh)
// r.Post("/rebuild_parent_path", roleHandler.RebuildParentPath)
// r.Post("/refresh_role_menus", roleHandler.RefreshRoleMenus)
// r.Post("/xm_select", roleHandler.XmSelect)
// r.Get("/set_menu", roleHandler.SetMenu)
// r.Post("/set_menu", roleHandler.PostSetMenu)
// })
r.Get("/menus", handler.SystemHandler().MenuHandler().Menus)
// r.Route("/menu", func(r chi.Router) {
// r.Use(mw.Audit)
// r.Get("/tree", menuHandler.Tree)
// r.Get("/list", menuHandler.List)
// r.Post("/list", menuHandler.PostList)
// r.Get("/add", menuHandler.Add)
// r.Get("/add_children", menuHandler.AddChildren)
// r.Get("/edit", menuHandler.Edit)
// r.Post("/save", menuHandler.Save)
// r.Post("/xm_select_tree", menuHandler.XmSelectTree)
// r.Post("/refresh_cache", menuHandler.Refresh)
// })
// // 类别
// r.Route("/category", func(r chi.Router) {
// r.Use(mw.Audit)
// categoryHandler := categoryhandler.NewCategoryHandler()
// r.Get("/list", categoryHandler.List)
// r.Post("/list", categoryHandler.PostList)
// r.Get("/add", categoryHandler.Add)
// r.Get("/add_children", categoryHandler.AddChildren)
// r.Get("/edit", categoryHandler.Edit)
// r.Post("/save", categoryHandler.Save)
// r.Post("/dtree", categoryHandler.DTree)
// r.Post("/xmselect", categoryHandler.XmSelect)
// r.Post("/refresh", categoryHandler.Refresh)
// r.Post("/rebuild_parent_path", categoryHandler.RebuildParentPath)
// })
})
})
return r
}