package web import ( "videoweb/app/service/playletser" "videoweb/pub/common/log" "videoweb/pub/common/useragent" "github.com/gin-gonic/gin" ) // Collect 我的收藏 SSR: // 短剧 GET /api/app/playlet/collect/list;剧集 GET /api/app/playlet/chapter/collect/list。 func Collect(c *gin.Context) { if useragent.TokenFromRequest(c.Request) == "" { RedirectToLogin(c) return } q := playletser.ParseCollectListQuery(routeOrQuery(c, "page", "page"), routeOrQuery(c, "type", "type")) if redirectCanonical(c, playletser.CollectCanonicalPath(q)) { return } data := gin.H{ "title": "我的收藏", "description": "查看你在黄果短剧收藏的短剧与剧集,随时继续追更喜欢的内容。", "navActive": "userCenter", "collectType": q.Type, "pageNum": q.PageNum, "pageSize": q.PageSize, "totalCount": int64(0), "pagination": playletser.BuildCollectPagination(q, 0), } setNoIndex(data, false) if q.Type == playletser.CollectTypeChapter { raw, code, err := playletser.FetchChapterCollectList(c, q) if err != nil { aborted, retry := AbortSSRIfSessionExpired(c, code) if aborted { return } if retry { raw, _, err = playletser.FetchChapterCollectList(c, q) } if err != nil { log.Error("fetch playlet chapter collect list failed", log.E(err)) raw = &playletser.PlayletChapterCollectListResp{PageNum: q.PageNum, PageSize: q.PageSize} } } if raw == nil { raw = &playletser.PlayletChapterCollectListResp{PageNum: q.PageNum, PageSize: q.PageSize} } data["chapterList"] = raw.List data["pageNum"] = raw.PageNum data["pageSize"] = raw.PageSize data["totalCount"] = raw.TotalCount data["pagination"] = playletser.BuildCollectPagination(q, raw.TotalCount) } else { raw, code, err := playletser.FetchCollectList(c, q) if err != nil { aborted, retry := AbortSSRIfSessionExpired(c, code) if aborted { return } if retry { raw, _, err = playletser.FetchCollectList(c, q) } if err != nil { log.Error("fetch playlet collect list failed", log.E(err)) raw = &playletser.PlayletCollectListResp{PageNum: q.PageNum, PageSize: q.PageSize} } } if raw == nil { raw = &playletser.PlayletCollectListResp{PageNum: q.PageNum, PageSize: q.PageSize} } data["list"] = raw.List data["pageNum"] = raw.PageNum data["pageSize"] = raw.PageSize data["totalCount"] = raw.TotalCount data["pagination"] = playletser.BuildCollectPagination(q, raw.TotalCount) } HTMLOK(c, "collect.html", data) }