Commit Graph

3 Commits

Author SHA1 Message Date
浅念 5b3297337e fix: 总览筛选竞态守卫 + 时间戳统一上海时间序列化
- dashboard loadOverview 加请求令牌:快速切换站点时丢弃过期响应,
  防旧数据覆盖与旧 finally 提前清 loading
- 后端序列化统一 timezone.localtime:sites.created_at 与 visitors 的
  first/last_seen_at、会话 started/ended_at、时间线事件 time——
  USE_TZ 下 isoformat() 是 UTC,与上海自然日口径同屏矛盾(差 8 小时)
- 站点弹窗域名加轻量主机名正则校验与实时提示(拦含空格等垃圾输入)

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-15 18:57:41 +08:00
浅念 eb27bc830b fix: sites 标量 domains 防御/_to_bool/403 锁定/注释
- _norm_domains 入口类型守卫:domains 传数字曾 500、字符串曾逐字符
  迭代成单字符域名静默落库,统一走 invalid_domains 400
- bool() 强转换 _to_bool:"false" 字符串曾是 True,对 allow_no_origin
  这类放宽开关方向不利,改按字面解析(其余未知值仍 False)
- 补 member DELETE 不存在 pk → 403(先于 404)锁定测试
- SiteDetailView 注释删去 GET 字样(无 detail GET,前端走列表+Dialog)

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-15 14:43:26 +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