修复排序问题和初始入口问题

This commit is contained in:
2026-04-12 00:42:51 +08:00
parent a9fc6551ac
commit 7058da47da
6 changed files with 16 additions and 16 deletions
+5 -5
View File
@@ -122,7 +122,7 @@ func (c *urlKeywordsCache) ListAll() []*urlKeywordsEntry {
return entries
}
// ListPage 返回分页缓存条目(按访问时间从旧到新,支持跳过头部条目
// ListPage 返回分页缓存条目(按访问时间从新到旧,最新访问的在前
func (c *urlKeywordsCache) ListPage(page, pageSize int) []*urlKeywordsEntry {
c.mu.RLock()
defer c.mu.RUnlock()
@@ -131,16 +131,16 @@ func (c *urlKeywordsCache) ListPage(page, pageSize int) []*urlKeywordsEntry {
if offset >= total {
return []*urlKeywordsEntry{}
}
// 遍历到起始位置
elem := c.order.Front()
// 从 Back(最新)向前遍历,跳过 offset 个
elem := c.order.Back()
for i := 0; i < offset && elem != nil; i++ {
elem = elem.Next()
elem = elem.Prev()
}
// 收集 pageSize 条
entries := make([]*urlKeywordsEntry, 0, pageSize)
for i := 0; i < pageSize && elem != nil; i++ {
entries = append(entries, elem.Value.(*urlKeywordsEntry))
elem = elem.Next()
elem = elem.Prev()
}
return entries
}