Commit Graph

10 Commits

Author SHA1 Message Date
浅念 22d89a3f42 feat: 移动端设备信息最大化采集(型号/UA-CH/视口/方向/触点/内存/网络/深浅色)
SDK:buildEnvContext 同步扩展 12 键(dpr/viewport/orientation/maxTouchPoints/
deviceMemory/languages/colorScheme/standalone/network downlink·rtt·saveData/
微信版本),逐键 try/catch 静默缺则不挂;新增 collectHighEntropyHints(UA-CH
model/platformVersion/architecture/bitness),init 后 Promise.race 2s 超时
异步并入 __ctk_ctx——批次 context flush 时读取,不阻塞首屏。

后端:Visitor 加 device_model/env_extra(迁移 0005);ingest 首批快照
EXTENDED_ENV_KEYS 白名单(值截 100),非首批不覆盖、唯 device_model 空且
本批有值时补填一次(晚到 hints);列表/详情 API 随行输出。

前端:详情访问环境卡设备行升级显示型号(手机 · Pixel 7),追加像素比/
视口/屏幕方向/触点/内存/网络质量/深浅色/微信版本行(env_extra 逐键判空,
旧数据整块不显示);列表设备列主行拼型号(手机·Pixel 7)。

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-16 19:12:20 +08:00
浅念 64d5daf921 feat(sdk): page_view 增加 nav_type/prerendering 来源信号(预渲染=AI搜索指纹)
Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-16 17:09:22 +08:00
浅念 21c3cb2423 fix(sdk): §4.5 红线补全(act/重放包裹)+ beacon-false 丢批计数 + 空闲负向测试 + es2020
- events.ts:act 回调与 visibilitychange 监听体包 try/catch(字面红线)
- transport.ts:sendBeacon 返回 false(64KB 超限等)按批事件数计 dropped
  ——与 stringify 丢包计数对称的缺口
- index.ts:顶层队列重放双层包裹,单个坏条目只跳过自身不吞后续 init/track
- 测试:30s 空闲负向(active_ms=29000 后停止)、beacon-false 丢批;44→46
- build.mjs target es2018→es2020(代码依赖 globalThis,目标诚实化)

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-15 16:40:35 +08:00
浅念 dc13ae6e0e feat(sdk): 页面浏览/有效停留/事件入口,打包≤15KB
- events.ts:page_view/page_stay(有效停留=可见+30s 内有活动),
  close 双触发(hidden+pagehide)靠 activeMs 清零不重发
- index.ts:IIFE 入口,队列重放前先替换 g.ctk=dispatch;
  首触归因——__ctk_ctx 除设备环境外带 referrer_domain/utm/path
- transport.ts:stringify 抛错(track 宿主可控对象)按已换出
  批次事件数计 dropped(Task 14 审查加固)
- demo 双页互跳;gzip 2209B ≤ 15360B;测试 35→44

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-15 16:28:14 +08:00
浅念 188e6f39ea fix(sdk): transport 测试注释修正(sendBeacon 真实网络警示/退避区间)
Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-15 16:13:37 +08:00
浅念 6be163a329 feat(sdk): 批量传输(批量/退避/信标/丢包计数)
Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-15 16:07:18 +08:00
浅念 18537c5dba fix(sdk): 设备检测顺序修订(iPad/Firefox 平板先判)+ FxiOS 前移
- device_type:iPad/Tablet 先于 Mobile/Android/iPhone 判(真实 iPad UA 恒含 Mobile 串、Firefox Android 平板显式 '; Tablet;',旧顺序误判手机)
- browser:Firefox/FxiOS 前移至 Safari 之前(iOS Firefox UA 尾部恒含 Safari/,旧顺序为死代码)
- 测试 23 过(翻转 iPad 锁定测试 + 新增 Android 平板、iOS Firefox 两条)

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-15 15:58:42 +08:00
浅念 c58e49bf5b feat(sdk): 身份与环境上下文模块
- identity.ts: 访客/会话 ID(30min 空闲轮换),localStorage 异常统一内存降级不冒泡(spec §4.5 红线)
- context.ts: buildEnvContext/parseUtm/sanitizeUrl/pageContext;参数黑名单与 server URL_PARAM_DROP_PATTERNS 同源(整键精确匹配、大小写不敏感、保留空值)
- 测试 21 过(含隐私模式降级、Edg 先于 Chrome、微信 UA 判定、iPad-Mobile 规格顺序锁定)

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-15 15:48:17 +08:00
浅念 cda80b1605 fix: Task2 质量修复(TS2774/降级分支测试/跨平台checksize/显式lib)
Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-15 11:39:34 +08:00
浅念 8e2c91663e chore: SDK 工程骨架(esbuild+vitest)
Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-15 11:30:42 +08:00