From: qydysky Date: Sun, 17 Nov 2024 06:33:03 +0000 (+0800) Subject: Improve 延迟加载列表 X-Git-Tag: v0.14.22~5 X-Git-Url: http://127.0.0.1:8081/?a=commitdiff_plain;h=6a7a930b3bcd2e9b9680f84ac78c256d73c32862;p=bili_danmu%2F.git Improve 延迟加载列表 --- diff --git a/Reply/F.go b/Reply/F.go index df39a6e..71727b0 100644 --- a/Reply/F.go +++ b/Reply/F.go @@ -1295,7 +1295,12 @@ func init() { c.ResStruct{Code: -1, Message: e.Error(), Data: nil}.Write(w) return } else { - for i, n := 0, len(fs); i < n; i++ { + sort.Slice(fs, func(i, j int) bool { + return fs[i] > fs[j] + }) + skip, _ := strconv.Atoi(r.URL.Query().Get("skip")) + size, _ := strconv.Atoi(r.URL.Query().Get("size")) + for i, n := skip, len(fs); i < n && (size == 0 || len(filePaths) < size); i++ { if filePath, e := videoInfo.Get.Run(context.Background(), fs[i]); e != nil { flog.L(`W: `, fs[i], e) continue @@ -1313,19 +1318,6 @@ func init() { } } } - sort.Slice(filePaths, func(i, j int) bool { - return filePaths[i].StartT > filePaths[j].StartT - }) - skip, _ := strconv.Atoi(r.URL.Query().Get("skip")) - size, _ := strconv.Atoi(r.URL.Query().Get("size")) - if skip <= len(filePaths) { - filePaths = filePaths[skip:] - } else { - filePaths = filePaths[:0] - } - if size <= len(filePaths) { - filePaths = filePaths[:size] - } } else if len(filePaths) == 0 { c.ResStruct{Code: -1, Message: "直播流保存位置无效", Data: nil}.Write(w) flog.L(`W: `, `直播流保存位置无效`)