完善后台分页与令牌刷新

This commit is contained in:
yml
2026-05-24 17:56:26 +08:00
parent cb636e4e89
commit abc4447401
19 changed files with 392 additions and 91 deletions
+21 -4
View File
@@ -48,12 +48,13 @@ func (h *Handler) List(c *gin.Context) {
response.Unauthorized(c, "缺少用户上下文")
return
}
items, err := h.service.ListForUser(userID)
page, pageSize := parsePagination(c)
result, err := h.service.ListForUser(userID, page, pageSize)
if err != nil {
writeDisputeError(c, err)
return
}
response.OK(c, gin.H{"items": items})
response.OK(c, result)
}
func (h *Handler) Detail(c *gin.Context) {
@@ -75,12 +76,13 @@ func (h *Handler) Detail(c *gin.Context) {
}
func (h *Handler) AdminList(c *gin.Context) {
items, err := h.service.ListAdmin()
page, pageSize := parsePagination(c)
result, err := h.service.ListAdmin(page, pageSize)
if err != nil {
writeDisputeError(c, err)
return
}
response.OK(c, gin.H{"items": items})
response.OK(c, result)
}
func (h *Handler) AdminArbitrate(c *gin.Context) {
@@ -136,6 +138,21 @@ func parseID(c *gin.Context) (uint64, bool) {
return id, true
}
func parsePagination(c *gin.Context) (int, int) {
page, _ := strconv.Atoi(c.DefaultQuery("page", "1"))
pageSize, _ := strconv.Atoi(c.DefaultQuery("page_size", "20"))
if page < 1 {
page = 1
}
if pageSize < 1 {
pageSize = 20
}
if pageSize > 100 {
pageSize = 100
}
return page, pageSize
}
func writeDisputeError(c *gin.Context, err error) {
switch {
case errors.Is(err, ErrDependencyUnavailable):