package handler import ( "context" "net/http" "management/internal/erpserver/model/dto" "management/internal/pkg/config" "management/internal/pkg/middleware" "management/internal/pkg/render" "github.com/drhin/logger" ) type Handler struct { Config *config.Config Log *logger.Logger Middleware middleware.Middleware render render.Render } func NewHandler( config *config.Config, log *logger.Logger, middleware middleware.Middleware, render render.Render, ) *Handler { return &Handler{ Config: config, Log: log, Middleware: middleware, render: render, } } // ===================================================================================================================== // middleware 帮助方法 func (h *Handler) AuthUser(ctx context.Context) dto.AuthorizeUser { return h.Middleware.AuthUser(ctx) } // ===================================================================================================================== // render 帮助方法 func (h *Handler) HTML(w http.ResponseWriter, r *http.Request, name string, data map[string]any) { h.render.HTML(w, r, name, data) } func (h *Handler) JSON(w http.ResponseWriter, data any) { h.render.JSON(w, data) } func (h *Handler) JSONObj(w http.ResponseWriter, message string, data any) { h.render.JSONObj(w, message, data) } func (h *Handler) JSONOk(w http.ResponseWriter, message string) { h.render.JSONOk(w, message) } func (h *Handler) JSONErr(w http.ResponseWriter, message string) { h.render.JSONErr(w, message) }