package system import ( "net/http" "management/internal/erpserver/biz" "management/internal/pkg/session" "management/internal/pkg/tpl" ) type SystemHandler interface { Home(w http.ResponseWriter, req *http.Request) UserHandler() UserHandler MenuHandler() MenuHandler RoleHandler() RoleHandler DepartmentHandler() DepartmentHandler ConfigHandler() ConfigHandler AuditHandler() AuditHandler LoginLogHandler() LoginLogHandler } type systemHandler struct { render tpl.Renderer session session.ISession biz biz.IBiz } var _ SystemHandler = (*systemHandler)(nil) func NewSystemHandler(render tpl.Renderer, session session.ISession, biz biz.IBiz) *systemHandler { return &systemHandler{ render: render, session: session, biz: biz, } } func (h *systemHandler) Home(w http.ResponseWriter, r *http.Request) { h.render.HTML(w, r, "home/home.tmpl", nil) } func (h *systemHandler) UserHandler() UserHandler { return NewUserHandler(h.render, h.session, h.biz) } func (h *systemHandler) MenuHandler() MenuHandler { return NewMenuHandler(h.render, h.session, h.biz) } func (h *systemHandler) RoleHandler() RoleHandler { return NewRoleHandler(h.render, h.biz) } func (h *systemHandler) DepartmentHandler() DepartmentHandler { return NewDepartmentHandler(h.render, h.biz) } func (h *systemHandler) ConfigHandler() ConfigHandler { return NewConfigHandler(h.render, h.biz) } func (h *systemHandler) AuditHandler() AuditHandler { return NewAuditHandler(h.render, h.biz) } func (h *systemHandler) LoginLogHandler() LoginLogHandler { return NewLoginLogHandler(h.render, h.biz) }