66 lines
1.5 KiB
Go
66 lines
1.5 KiB
Go
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)
|
|
}
|