优化页面、修复BUG
This commit is contained in:
@@ -30,7 +30,7 @@ func GetVideoAlbums(c *gin.Context) {
|
||||
utils.ServerError(c, err)
|
||||
return
|
||||
}
|
||||
utils.Success(c, repositories.BuildVideoAlbumsResponse(list))
|
||||
utils.Success(c, repositories.BuildVideoAlbumsResponse(list, true))
|
||||
}
|
||||
|
||||
// GetVideoAlbumByID 获取专辑详情
|
||||
@@ -49,7 +49,7 @@ func GetVideoAlbumByID(c *gin.Context) {
|
||||
utils.Error(c, 404, "Album not found")
|
||||
return
|
||||
}
|
||||
utils.Success(c, repositories.BuildVideoAlbumResponse(album))
|
||||
utils.Success(c, repositories.BuildVideoAlbumResponse(album, true))
|
||||
}
|
||||
|
||||
// GetAlbumVideos 获取专辑内视频
|
||||
@@ -90,7 +90,7 @@ func GetVideoByID(c *gin.Context) {
|
||||
utils.Error(c, 404, "Video not found")
|
||||
return
|
||||
}
|
||||
utils.Success(c, repositories.BuildVideoResponse(video))
|
||||
utils.Success(c, repositories.BuildVideoDetailResponse(video))
|
||||
}
|
||||
|
||||
// ========== 管理 API — 分类 ==========
|
||||
@@ -158,7 +158,7 @@ func AdminGetVideoAlbums(c *gin.Context) {
|
||||
utils.ServerError(c, err)
|
||||
return
|
||||
}
|
||||
utils.Success(c, repositories.BuildVideoAlbumsResponse(list))
|
||||
utils.Success(c, repositories.BuildVideoAlbumsResponse(list, false))
|
||||
}
|
||||
|
||||
func AdminCreateVideoAlbum(c *gin.Context) {
|
||||
@@ -171,7 +171,7 @@ func AdminCreateVideoAlbum(c *gin.Context) {
|
||||
utils.ServerError(c, err)
|
||||
return
|
||||
}
|
||||
utils.Success(c, repositories.BuildVideoAlbumResponse(&item))
|
||||
utils.Success(c, repositories.BuildVideoAlbumResponse(&item, false))
|
||||
}
|
||||
|
||||
func AdminUpdateVideoAlbum(c *gin.Context) {
|
||||
@@ -199,7 +199,7 @@ func AdminUpdateVideoAlbum(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
}
|
||||
utils.Success(c, repositories.BuildVideoAlbumResponse(&req.VideoAlbum))
|
||||
utils.Success(c, repositories.BuildVideoAlbumResponse(&req.VideoAlbum, false))
|
||||
}
|
||||
|
||||
func AdminDeleteVideoAlbum(c *gin.Context) {
|
||||
@@ -277,38 +277,61 @@ func AdminGetVideos(c *gin.Context) {
|
||||
utils.ServerError(c, err)
|
||||
return
|
||||
}
|
||||
utils.Success(c, repositories.BuildVideosResponse(list))
|
||||
utils.Success(c, repositories.BuildAdminVideosResponse(list))
|
||||
}
|
||||
|
||||
func AdminCreateVideo(c *gin.Context) {
|
||||
var item models.Video
|
||||
if err := c.ShouldBindJSON(&item); err != nil {
|
||||
var req struct {
|
||||
models.Video
|
||||
AlbumIDs []uint `json:"albumIds"`
|
||||
}
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
utils.Error(c, 400, err.Error())
|
||||
return
|
||||
}
|
||||
if item.ID == "" {
|
||||
item.ID = "video_" + strconv.FormatInt(time.Now().UnixNano(), 10)
|
||||
if req.Video.ID == "" {
|
||||
req.Video.ID = "video_" + strconv.FormatInt(time.Now().UnixNano(), 10)
|
||||
}
|
||||
if err := repositories.CreateVideo(&item); err != nil {
|
||||
if err := repositories.CreateVideo(&req.Video); err != nil {
|
||||
utils.ServerError(c, err)
|
||||
return
|
||||
}
|
||||
utils.Success(c, repositories.BuildVideoResponse(&item))
|
||||
if req.AlbumIDs != nil {
|
||||
if err := repositories.SyncVideoAlbums(req.Video.ID, req.AlbumIDs); err != nil {
|
||||
utils.ServerError(c, err)
|
||||
return
|
||||
}
|
||||
}
|
||||
utils.Success(c, repositories.BuildAdminVideoResponse(&req.Video))
|
||||
}
|
||||
|
||||
func AdminUpdateVideo(c *gin.Context) {
|
||||
id := c.Param("id")
|
||||
var item models.Video
|
||||
if err := c.ShouldBindJSON(&item); err != nil {
|
||||
var req struct {
|
||||
models.Video
|
||||
AlbumIDs []uint `json:"albumIds"`
|
||||
}
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
utils.Error(c, 400, err.Error())
|
||||
return
|
||||
}
|
||||
item.ID = id
|
||||
if err := repositories.UpdateVideo(&item); err != nil {
|
||||
req.Video.ID = id
|
||||
if err := repositories.UpdateVideo(&req.Video); err != nil {
|
||||
utils.ServerError(c, err)
|
||||
return
|
||||
}
|
||||
utils.Success(c, repositories.BuildVideoResponse(&item))
|
||||
if req.AlbumIDs != nil {
|
||||
if err := repositories.SyncVideoAlbums(id, req.AlbumIDs); err != nil {
|
||||
utils.ServerError(c, err)
|
||||
return
|
||||
}
|
||||
}
|
||||
video, _ := repositories.GetVideoByID(id)
|
||||
if video == nil {
|
||||
utils.Error(c, 404, "Video not found")
|
||||
return
|
||||
}
|
||||
utils.Success(c, repositories.BuildAdminVideoResponse(video))
|
||||
}
|
||||
|
||||
func AdminDeleteVideo(c *gin.Context) {
|
||||
@@ -331,5 +354,5 @@ func AdminGetVideoByID(c *gin.Context) {
|
||||
utils.Error(c, 404, "Video not found")
|
||||
return
|
||||
}
|
||||
utils.Success(c, repositories.BuildVideoResponse(video))
|
||||
utils.Success(c, repositories.BuildAdminVideoResponse(video))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user