192 lines
7.8 KiB
Go
192 lines
7.8 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(mw.Authorize, mw.Audit).Post("/upload/img", handler.CommonHandler().UploadHandler().Img)
|
|
r.With(mw.Authorize, mw.Audit).Post("/upload/file", handler.CommonHandler().UploadHandler().File)
|
|
r.With(mw.Authorize, mw.Audit).Post("/upload/mutilfile", handler.CommonHandler().UploadHandler().MutilFiles)
|
|
|
|
r.With(mw.Authorize).Get("/home.html", handler.SystemHandler().Home)
|
|
r.With(mw.Authorize).Get("/dashboard", handler.SystemHandler().Dashboard)
|
|
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", handler.SystemHandler().ConfigHandler().List)
|
|
r.Post("/list", handler.SystemHandler().ConfigHandler().List)
|
|
r.Get("/add", handler.SystemHandler().ConfigHandler().Add)
|
|
r.Get("/edit", handler.SystemHandler().ConfigHandler().Edit)
|
|
r.Post("/save", handler.SystemHandler().ConfigHandler().Save)
|
|
r.Post("/reset_pear", handler.SystemHandler().ConfigHandler().ResetPear)
|
|
r.Post("/refresh", handler.SystemHandler().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("/data", handler.SystemHandler().DepartmentHandler().Data)
|
|
r.Post("/refresh", handler.SystemHandler().DepartmentHandler().Refresh)
|
|
r.Post("/rebuild_parent_path", handler.SystemHandler().DepartmentHandler().RebuildParentPath)
|
|
})
|
|
|
|
r.Route("/role", func(r chi.Router) {
|
|
r.Use(mw.Audit)
|
|
r.Get("/list", handler.SystemHandler().RoleHandler().List)
|
|
r.Post("/list", handler.SystemHandler().RoleHandler().List)
|
|
r.Get("/add", handler.SystemHandler().RoleHandler().Add)
|
|
r.Get("/add_children", handler.SystemHandler().RoleHandler().AddChildren)
|
|
r.Get("/edit", handler.SystemHandler().RoleHandler().Edit)
|
|
r.Post("/save", handler.SystemHandler().RoleHandler().Save)
|
|
r.Post("/data", handler.SystemHandler().RoleHandler().Data)
|
|
r.Post("/refresh", handler.SystemHandler().RoleHandler().Refresh)
|
|
r.Post("/rebuild_parent_path", handler.SystemHandler().RoleHandler().RebuildParentPath)
|
|
r.Post("/refresh_role_menus", handler.SystemHandler().RoleHandler().RefreshRoleMenus)
|
|
r.Get("/set_menu", handler.SystemHandler().RoleHandler().SetMenu)
|
|
r.Post("/set_menu", handler.SystemHandler().RoleHandler().SetMenu)
|
|
})
|
|
|
|
r.Route("/user", func(r chi.Router) {
|
|
r.Get("/list", handler.SystemHandler().UserHandler().List)
|
|
r.Post("/list", handler.SystemHandler().UserHandler().List)
|
|
r.Get("/add", handler.SystemHandler().UserHandler().Add)
|
|
r.Get("/edit", handler.SystemHandler().UserHandler().Edit)
|
|
r.Post("/save", handler.SystemHandler().UserHandler().Save)
|
|
r.Get("/profile", handler.SystemHandler().UserHandler().Profile)
|
|
r.Post("/data", handler.SystemHandler().UserHandler().Data)
|
|
})
|
|
|
|
r.Route("/login_log", func(r chi.Router) {
|
|
r.Get("/list", handler.SystemHandler().LoginLogHandler().List)
|
|
r.Post("/list", handler.SystemHandler().LoginLogHandler().List)
|
|
})
|
|
|
|
r.Route("/audit_log", func(r chi.Router) {
|
|
r.Get("/list", handler.SystemHandler().AuditHandler().List)
|
|
r.Post("/list", handler.SystemHandler().AuditHandler().List)
|
|
})
|
|
|
|
r.Get("/menus", handler.SystemHandler().MenuHandler().Menus)
|
|
r.Route("/menu", func(r chi.Router) {
|
|
r.Use(mw.Audit)
|
|
r.Get("/list", handler.SystemHandler().MenuHandler().List)
|
|
r.Post("/list", handler.SystemHandler().MenuHandler().List)
|
|
r.Get("/add", handler.SystemHandler().MenuHandler().Add)
|
|
r.Get("/add_children", handler.SystemHandler().MenuHandler().AddChildren)
|
|
r.Get("/edit", handler.SystemHandler().MenuHandler().Edit)
|
|
r.Post("/save", handler.SystemHandler().MenuHandler().Save)
|
|
r.Post("/data", handler.SystemHandler().MenuHandler().Data)
|
|
r.Post("/refresh_cache", handler.SystemHandler().MenuHandler().Refresh)
|
|
})
|
|
|
|
r.Route("/category", func(r chi.Router) {
|
|
r.Use(mw.Audit)
|
|
r.Get("/list", handler.SystemHandler().CategoryHandler().List)
|
|
r.Post("/list", handler.SystemHandler().CategoryHandler().List)
|
|
r.Get("/add", handler.SystemHandler().CategoryHandler().Add)
|
|
r.Get("/add_children", handler.SystemHandler().CategoryHandler().AddChildren)
|
|
r.Get("/edit", handler.SystemHandler().CategoryHandler().Edit)
|
|
r.Post("/save", handler.SystemHandler().CategoryHandler().Save)
|
|
r.Post("/data", handler.SystemHandler().CategoryHandler().Data)
|
|
r.Post("/refresh", handler.SystemHandler().CategoryHandler().Refresh)
|
|
r.Post("/rebuild_parent_path", handler.SystemHandler().CategoryHandler().RebuildParentPath)
|
|
})
|
|
})
|
|
|
|
// 客户
|
|
r.Route("/customer", func(r chi.Router) {
|
|
r.Use(mw.Authorize)
|
|
r.Get("/list", handler.CustomerHandler().List)
|
|
r.Post("/list", handler.CustomerHandler().List)
|
|
r.Get("/add", handler.CustomerHandler().Add)
|
|
r.Get("/edit", handler.CustomerHandler().Edit)
|
|
r.Post("/save", handler.CustomerHandler().Save)
|
|
})
|
|
|
|
// 项目
|
|
r.Route("/project", func(r chi.Router) {
|
|
r.Use(mw.Authorize)
|
|
r.Get("/list", handler.ProjectHandler().List)
|
|
r.Post("/list", handler.ProjectHandler().List)
|
|
r.Get("/add", handler.ProjectHandler().Add)
|
|
r.Get("/edit", handler.ProjectHandler().Edit)
|
|
r.Post("/save", handler.ProjectHandler().Save)
|
|
r.Post("/data", handler.ProjectHandler().Data)
|
|
r.Get("/dashboard", handler.ProjectHandler().Dashboard)
|
|
r.Post("/dashboard", handler.ProjectHandler().Dashboard)
|
|
})
|
|
|
|
// 项目预算
|
|
r.Route("/budget", func(r chi.Router) {
|
|
r.Use(mw.Authorize)
|
|
r.Get("/list", handler.BudgetHandler().List)
|
|
r.Post("/list", handler.BudgetHandler().List)
|
|
r.Get("/add", handler.BudgetHandler().Add)
|
|
r.Get("/edit", handler.BudgetHandler().Edit)
|
|
r.Post("/save", handler.BudgetHandler().Save)
|
|
r.Post("/data", handler.BudgetHandler().Data)
|
|
})
|
|
|
|
// 回款单
|
|
r.Route("/income", func(r chi.Router) {
|
|
r.Use(mw.Authorize)
|
|
r.Get("/list", handler.IncomeHandler().List)
|
|
r.Post("/list", handler.IncomeHandler().List)
|
|
r.Get("/add", handler.IncomeHandler().Add)
|
|
r.Get("/edit", handler.IncomeHandler().Edit)
|
|
r.Post("/save", handler.IncomeHandler().Save)
|
|
})
|
|
|
|
// 费用报销单
|
|
r.Route("/expense", func(r chi.Router) {
|
|
r.Use(mw.Authorize)
|
|
r.Get("/list", handler.ExpenseHandler().List)
|
|
r.Post("/list", handler.ExpenseHandler().List)
|
|
r.Get("/add", handler.ExpenseHandler().Add)
|
|
r.Get("/edit", handler.ExpenseHandler().Edit)
|
|
r.Post("/save", handler.ExpenseHandler().Save)
|
|
})
|
|
})
|
|
|
|
return r
|
|
}
|