gorm update

This commit is contained in:
2025-05-07 15:32:05 +08:00
parent 68606c76f9
commit 38ee553cf3
18 changed files with 283 additions and 301 deletions

View File

@@ -6,31 +6,32 @@ import (
"management/internal/erpserver/model/dto"
"management/internal/pkg/config"
"management/internal/pkg/middleware"
"management/internal/pkg/know"
"management/internal/pkg/render"
"management/internal/pkg/session"
"github.com/drhin/logger"
)
type Handler struct {
Config *config.Config
Log *logger.Logger
Middleware middleware.Middleware
Config *config.Config
Log *logger.Logger
render render.Render
session session.Manager
render render.Render
}
func NewHandler(
config *config.Config,
log *logger.Logger,
middleware middleware.Middleware,
session session.Manager,
render render.Render,
) *Handler {
return &Handler{
Config: config,
Log: log,
Middleware: middleware,
render: render,
Config: config,
Log: log,
session: session,
render: render,
}
}
@@ -38,7 +39,19 @@ func NewHandler(
// middleware 帮助方法
func (h *Handler) AuthUser(ctx context.Context) dto.AuthorizeUser {
return h.Middleware.AuthUser(ctx)
u, err := h.session.GetUser(ctx, know.StoreName)
if err != nil {
return dto.AuthorizeUser{}
}
return *u
}
func (h *Handler) RenewToken(ctx context.Context) error {
return h.session.RenewToken(ctx)
}
func (h *Handler) Destroy(ctx context.Context) error {
return h.session.Destroy(ctx)
}
// =====================================================================================================================

View File

@@ -167,11 +167,15 @@ func (h *UserHandler) Login(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
switch r.Method {
case http.MethodGet:
if h.Middleware.IsAuth(ctx) && h.Middleware.RefreshToken(ctx) {
http.Redirect(w, r, "/home.html", http.StatusFound)
return
user := h.AuthUser(ctx)
if user.ID > 0 {
if err := h.RenewToken(ctx); err == nil {
http.Redirect(w, r, "/home.html", http.StatusFound)
return
}
}
_ = h.Middleware.Destroy(ctx)
_ = h.Destroy(ctx)
h.HTML(w, r, "oauth/login.tmpl", nil)
case http.MethodPost:
defer func(Body io.ReadCloser) {
@@ -207,7 +211,7 @@ func (h *UserHandler) Login(w http.ResponseWriter, r *http.Request) {
}
func (h *UserHandler) Logout(w http.ResponseWriter, r *http.Request) {
err := h.Middleware.Destroy(r.Context())
err := h.Destroy(r.Context())
if err != nil {
h.Log.Error(err.Error(), err)
}