From 31d61928161368fb17ff4d5d4fea972753d53633 Mon Sep 17 00:00:00 2001 From: Rogee Date: Tue, 6 Jan 2026 10:04:50 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E5=86=85=E5=AE=B9?= =?UTF-8?q?=E5=8F=AF=E8=A7=81=E6=80=A7=E5=AD=97=E6=AE=B5=E5=92=8C=E8=BF=87?= =?UTF-8?q?=E6=BB=A4=E9=80=89=E9=A1=B9=EF=BC=8C=E4=BC=98=E5=8C=96=E5=86=85?= =?UTF-8?q?=E5=AE=B9=E5=88=97=E8=A1=A8=E6=9F=A5=E8=AF=A2=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/app/http/v1/dto/creator.go | 6 ++-- backend/app/services/creator.go | 7 +++++ .../portal/src/views/creator/ContentsView.vue | 29 ++++++++++++++++++- 3 files changed, 39 insertions(+), 3 deletions(-) diff --git a/backend/app/http/v1/dto/creator.go b/backend/app/http/v1/dto/creator.go index 4a34058..d53b9c1 100644 --- a/backend/app/http/v1/dto/creator.go +++ b/backend/app/http/v1/dto/creator.go @@ -72,6 +72,7 @@ type CreatorContentItem struct { VideoCount int `json:"video_count"` AudioCount int `json:"audio_count"` Status string `json:"status"` + Visibility string `json:"visibility"` CreatedAt string `json:"created_at"` IsPinned bool `json:"is_pinned"` IsPurchased bool `json:"is_purchased"` @@ -89,8 +90,9 @@ type AssetDTO struct { type CreatorContentListFilter struct { requests.Pagination - Status *string `query:"status"` - Genre *string `query:"genre"` + Status *string `query:"status"` + Visibility *string `query:"visibility"` + Genre *string `query:"genre"` Key *string `query:"key"` Keyword *string `query:"keyword"` } diff --git a/backend/app/services/creator.go b/backend/app/services/creator.go index f32c412..7cd1719 100644 --- a/backend/app/services/creator.go +++ b/backend/app/services/creator.go @@ -121,6 +121,12 @@ func (s *creator) ListContents( if filter.Status != nil && *filter.Status != "" { q = q.Where(tbl.Status.Eq(consts.ContentStatus(*filter.Status))) } + if filter.Visibility != nil && *filter.Visibility != "" { + q = q.Where(tbl.Visibility.Eq(consts.ContentVisibility(*filter.Visibility))) + } + if filter.Visibility != nil && *filter.Visibility != "" { + q = q.Where(tbl.Visibility.Eq(consts.ContentVisibility(*filter.Visibility))) + } if filter.Genre != nil && *filter.Genre != "" { val := *filter.Genre if cn, ok := genreMap[val]; ok { @@ -208,6 +214,7 @@ func (s *creator) ListContents( VideoCount: videoCount, AudioCount: audioCount, Status: string(item.Status), + Visibility: string(item.Visibility), CreatedAt: item.CreatedAt.Format("2006-01-02 15:04"), IsPinned: item.IsPinned, IsPurchased: false, diff --git a/frontend/portal/src/views/creator/ContentsView.vue b/frontend/portal/src/views/creator/ContentsView.vue index fc8f764..e2e1318 100644 --- a/frontend/portal/src/views/creator/ContentsView.vue +++ b/frontend/portal/src/views/creator/ContentsView.vue @@ -18,6 +18,14 @@ +
+ 可见性: + +
曲种: