Files
fangke/server/config/urls.py
T
浅念 a0f7bdb87e feat: 总览聚合接口
GET /api/admin/dashboard/overview?site=<site_id>(site 可选,缺省聚合全部站点):
- today:daily_counts 实时四指标(与 refresh_daily 共享口径)+ active_now
  (Visitor.last_seen_at 5 分钟窗口,走 site,-last_seen_at 索引)
- trend:DailyStat 近 30 天 values(date).annotate(Sum) 跨站点求和,
  缺日补零,今天一位用实时值覆盖(聚合作业未跑也不缺当日)
- sources/top_pages:当天上海自然日窗口 Top8,空来源归"直接访问"
- ?site= 不存在 → 404 信封 site_not_found;未认证 401(默认权限)

测试 4 个(认证/数值与形态/DailyStat 历史/站点过滤与 404),全套 79 passed。

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-15 14:53:01 +08:00

20 lines
759 B
Python

from django.urls import path
from tracker.api.collect import CollectBatchView
from tracker.api.auth import LoginView, RefreshView, MeView, UserCreateView
from tracker.api.sites import SiteListView, SiteDetailView
from tracker.api.dashboard import OverviewView
urlpatterns = [
path("api/collect/batch", CollectBatchView.as_view()),
]
urlpatterns += [
path("api/admin/auth/token", LoginView.as_view()),
path("api/admin/auth/refresh", RefreshView.as_view()),
path("api/admin/auth/me", MeView.as_view()),
path("api/admin/users", UserCreateView.as_view()),
path("api/admin/sites", SiteListView.as_view()),
path("api/admin/sites/<int:pk>", SiteDetailView.as_view()),
path("api/admin/dashboard/overview", OverviewView.as_view()),
]