heritage-api/handler/base-handler.go

52 lines
900 B
Go
Raw Permalink Normal View History

2026-03-13 08:35:54 +00:00
// 这是handler层的基础函数不必要求规范的方法名格式
2026-03-12 09:28:19 +00:00
package handler
import (
2026-03-13 08:35:54 +00:00
"strconv"
"strings"
"time"
2026-03-12 09:28:19 +00:00
"github.com/gin-gonic/gin"
"myschools.me/heritage/heritage-api/model"
)
// 获取当前用户
func currentUser(c *gin.Context) *model.User {
usr, ok := c.Get("user")
if !ok {
return nil
}
u, ok := usr.(*model.User)
if !ok || u == nil || u.ID == "" {
return nil
}
return u
}
2026-03-13 08:35:54 +00:00
func pageAndSize(c *gin.Context) (int, int) {
page, _ := strconv.Atoi(c.Query("page"))
size, _ := strconv.Atoi(c.Query("size"))
if page <= 0 {
page = 1
}
if size <= 0 {
size = 20
}
if size > 200 {
size = 200
}
return page, size
}
func parseDateOnly(s *string) (*time.Time, error) {
*s = strings.TrimSpace(*s)
if *s == "" {
return nil, nil
}
t, err := time.ParseInLocation("2006-01-02", *s, time.Local)
if err != nil {
return nil, err
}
return &t, nil
}