Инфентировал страницы логи и стили добавил

This commit is contained in:
Maxim
2026-06-18 13:38:17 +03:00
parent e92c7d8f09
commit 627c18c2b3
9 changed files with 1226 additions and 245 deletions

View File

@@ -96,7 +96,7 @@ func (a *API) HandleLogFiles(w http.ResponseWriter, r *http.Request) {
})
}
// Сортируем по времени (новые сверху)
// Сортируем по времени
sort.Slice(result, func(i, j int) bool {
return result[i].ModTime.After(result[j].ModTime)
})
@@ -104,7 +104,7 @@ func (a *API) HandleLogFiles(w http.ResponseWriter, r *http.Request) {
writeJSON(w, result)
}
// HandleLogEvents - чтение событий
// HandleLogEvents - чтение событий с пагинацией
func (a *API) HandleLogEvents(w http.ResponseWriter, r *http.Request) {
// Параметры пагинации
page := 1
@@ -160,18 +160,19 @@ func (a *API) HandleLogEvents(w http.ResponseWriter, r *http.Request) {
page = 1
}
// Вычисляем смещение (нумерация страниц с 1)
// Страница 1 → самые ранние записи (начало файла)
// Страница N → самые поздние записи (конец файла)
start := (page - 1) * pageSize
start := total - page*pageSize
if start < 0 {
start = 0
}
end := start + pageSize
if end > total {
end = total
}
// Получаем строки для текущей страницы
// Получаем строки для текущей страницы (в прямом порядке)
var resultLines []string
if start < total {
if start < total && start >= 0 {
resultLines = lines[start:end]
} else {
resultLines = []string{}
@@ -203,11 +204,12 @@ func (a *API) HandleLogEvents(w http.ResponseWriter, r *http.Request) {
"page": page,
"page_size": pageSize,
"total_pages": totalPages,
"has_previous": page > 1,
"has_next": page < totalPages,
"has_previous": page > 1, // Есть более старые записи
"has_next": page < totalPages, // Есть более новые записи
"returned": len(events),
"start_index": start + 1,
"end_index": end,
"order": "newest_first",
})
}