54 lines
1.2 KiB
Go
54 lines
1.2 KiB
Go
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
|
|
DepartmentHandler() DepartmentHandler
|
|
ConfigHandler() ConfigHandler
|
|
}
|
|
|
|
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) DepartmentHandler() DepartmentHandler {
|
|
return NewDepartmentHandler(h.render, h.biz)
|
|
}
|
|
|
|
func (h *systemHandler) ConfigHandler() ConfigHandler {
|
|
return NewConfigHandler(h.render, h.session, h.biz)
|
|
}
|