feat(server): schema v2契约——session_resume白名单/Event归属与区间字段/会话resume_of/request_id

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
浅念
2026-09-18 10:38:20 +08:00
parent 5881046a2d
commit d8999035c9
4 changed files with 96 additions and 3 deletions
+5 -3
View File
@@ -1,6 +1,7 @@
import re
EVENT_NAMES = {"page_view", "page_stay", "sdk_loaded"}
EVENT_NAMES = {"page_view", "page_stay", "sdk_loaded", "session_resume"}
SCHEMA_VERSION = 2 # 批级信缺省 = v1(旧SDK)
MAX_EVENTS_PER_BATCH = 50
MAX_PROP_KEYS = 32
MAX_STR_LEN = 500
@@ -21,8 +22,9 @@ SESSION_IDLE_MS = 30 * 60 * 1000
BOT_UA_KEYWORDS = ("bot", "spider", "crawl", "slurp", "bingpreview", "headless", "lighthouse")
EVENT_PROP_WHITELIST = { # spec §9.1:未知字段拒绝。免费文本/任意属性不得入库
"page_view": {"referrer", "referrer_domain", "utm", "nav_type", "prerendering"},
"page_stay": {"active_ms", "path"},
"sdk_loaded": {"sdk_version"},
"page_stay": {"active_ms", "path", "active_from", "active_to", "flush_reason", "measurement_version"},
"sdk_loaded": {"sdk_version", "build_id", "schema_version", "config_version"},
"session_resume": {"prev_session_id", "reason"},
}
MAX_PROP_DEPTH = 2
MAX_PROP_JSON_BYTES = 4096