diff --git a/api/handler/upload_handler.go b/api/handler/upload_handler.go index d9c75ec2..2020b873 100644 --- a/api/handler/upload_handler.go +++ b/api/handler/upload_handler.go @@ -64,7 +64,9 @@ func (h *NetHandler) Upload(c *gin.Context) { func (h *NetHandler) List(c *gin.Context) { var data struct { - Urls []string `json:"urls,omitempty"` + Urls []string `json:"urls,omitempty"` + Page int `json:"page"` + PageSize int `json:"page_size"` } if err := c.ShouldBindJSON(&data); err != nil { resp.ERROR(c, types.InvalidArgs) @@ -79,21 +81,32 @@ func (h *NetHandler) List(c *gin.Context) { if len(data.Urls) > 0 { session = session.Where("url IN ?", data.Urls) } - session.Find(&items) - if len(items) > 0 { - for _, v := range items { - var file vo.File - err := utils.CopyObject(v, &file) - if err != nil { - logger.Error(err) - continue - } - file.CreatedAt = v.CreatedAt.Unix() - files = append(files, file) - } + // 统计总数 + var total int64 + session.Model(&model.File{}).Count(&total) + + if data.Page > 0 && data.PageSize > 0 { + offset := (data.Page - 1) * data.PageSize + session = session.Offset(offset).Limit(data.PageSize) + } + err := session.Order("id desc").Find(&items).Error + if err != nil { + resp.ERROR(c, err.Error()) + return } - resp.SUCCESS(c, files) + for _, v := range items { + var file vo.File + err := utils.CopyObject(v, &file) + if err != nil { + logger.Error(err) + continue + } + file.CreatedAt = v.CreatedAt.Unix() + files = append(files, file) + } + + resp.SUCCESS(c, vo.NewPage(total, data.Page, data.PageSize, files)) } // Remove remove files diff --git a/web/.env.development b/web/.env.development index 1e54193a..97c67f7e 100644 --- a/web/.env.development +++ b/web/.env.development @@ -6,6 +6,6 @@ VUE_APP_ADMIN_USER=admin VUE_APP_ADMIN_PASS=admin123 VUE_APP_KEY_PREFIX=GeekAI_DEV_ VUE_APP_TITLE="Geek-AI 创作系统" -VUE_APP_VERSION=v4.1.3 +VUE_APP_VERSION=v4.1.4 VUE_APP_DOCS_URL=https://docs.geekai.me VUE_APP_GIT_URL=https://github.com/yangjian102621/geekai diff --git a/web/.env.production b/web/.env.production index 056d8338..fee207e7 100644 --- a/web/.env.production +++ b/web/.env.production @@ -1,6 +1,6 @@ VUE_APP_API_HOST= VUE_APP_WS_HOST= VUE_APP_KEY_PREFIX=GeekAI_ -VUE_APP_VERSION=v4.1.3 +VUE_APP_VERSION=v4.1.4 VUE_APP_DOCS_URL=https://docs.geekai.me VUE_APP_GIT_URL=https://github.com/yangjian102621/geekai