浅念
|
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 |
|
浅念
|
16207ae309
|
feat: 站点管理接口
GET/POST /api/admin/sites、PATCH /api/admin/sites/<pk> 登录成员可用;
DELETE 仅 admin,走软删(is_active=False),物理清除留待未来管理命令
分批删(防大站级联删除锁表),CASCADE 仅完整性兜底。域名归一去协议/
端口/路径、小写、去空去重;错误响应统一信封(EnvelopeMixin)。
软删后 collect 上报 403 not_allowed(Task7 联动,测试锁定)。
Co-Authored-By: Claude Code <noreply@anthropic.com>
|
2026-09-15 14:29:18 +08:00 |
|
浅念
|
754ae1d39d
|
feat: JWT 登录与用户接口
Co-Authored-By: Claude Code <noreply@anthropic.com>
|
2026-09-15 14:01:59 +08:00 |
|
浅念
|
cf04db794b
|
feat: 采集接口(域名白名单/限流/textplain解析/幂等)
POST /api/collect/batch:text/plain JSON 解析(ParseError 400 防 500)、
域名白名单/站点停用/未知站点统一 403 not_allowed 防枚举、
Anon 限流(collect scope,get_rate 读实时 api_settings 修 import 固化)、
occurred_at ISO 归一(naive 补 UTC)、XFF 末段取 IP + ::ffff: 归一、
成功/拒绝分支均回显 ACAO 供 SDK 读响应。
Co-Authored-By: Claude Code <noreply@anthropic.com>
|
2026-09-15 13:07:56 +08:00 |
|
浅念
|
6dbe26af0b
|
chore: Django 工程骨架(config+tracker app+常量)
Co-Authored-By: Claude Code <noreply@anthropic.com>
|
2026-09-15 11:16:01 +08:00 |
|