浅念
|
50faa73cf9
|
feat(admin): 访客详情页按客迹视觉V1重设计(头部卡/统计卡/时间线/来源证据三口径/访问环境)
Co-Authored-By: Claude Code <noreply@anthropic.com>
|
2026-09-16 18:19:31 +08:00 |
|
浅念
|
f9c8c354ae
|
feat(admin): 来源归因展示——渠道徽章/筛选/来源识别卡/渠道构成图
- 类型:VisitorRow 补 channel/platform/variant/search_term/resolution,新增
AttributionInfo/AttributionBlock,详情响应带 attribution 块;dashboard
响应补 channels(ChannelItem)
- 工具:CHANNEL_LABELS 八渠道元数据 + channelBadge 徽章串(搜索词/标签/
冲突后缀,未归因回 —)
- 访客列表:首触来源列升级渠道徽章(first_source 进 tooltip 兜底),
筛选栏加渠道下拉(channel= 枚举)
- 访客详情:首触来源升级来源识别卡(渠道徽章/平台/国家站/搜索词显著
展示,label_only/conflict 诚实标注,冲突并列两路证据文本渲染),
无归因旧数据降级原 first_source 口径
- 总览:来源饼图改渠道构成(标签/颜色按渠道绑定 CHANNEL_LABELS),
下方保留平台明细小表(原 sources 域名口径)
Co-Authored-By: Claude Code <noreply@anthropic.com>
|
2026-09-16 17:19:31 +08:00 |
|
浅念
|
ea561c974a
|
feat(admin): 访客详情跨天时间线
- 覆写 detail.vue 占位:档案卡(ID/在线/地理/IP/语言时区/设备/首触来源 utm 标签/
落地页截断 tooltip)+ 统计 4 项 + 轨迹/会话 Tab
- 轨迹 Tab:按日倒序分组(日期头含会话数)、会话块(时间·来源·active_ms 求和停留)、
el-timeline 事件行(page_view/page_stay 独立条目/sdk_loaded 图标区分)、
7/30/90 天切换(reqSeq 守卫)、truncated 提示条、空态
- 会话 Tab:全量会话表,行点击开抽屉看单会话事件序列(getSession)
- keepAlive:onMounted/onActivated/query-watch 三入口统一 ensureLoad,
loadedVid 去重(query 清空时重置令牌),切访客必刷新
- 顺车 Minor:formatStay 注释与代码对齐;useTable 背对背 if 改 if/else
Co-Authored-By: Claude Code <noreply@anthropic.com>
|
2026-09-15 21:05:52 +08:00 |
|
浅念
|
99d2a300ba
|
feat(admin): 访客列表页
- 访客管理页:useTable 分页表(后端固定 20/页,paginationKey 映射 page,
size 不发送),列含 截断 ID+复制 / 国旗 emoji+国家·省市 / 设备主行+os·browser
小字 / 首访·最近访问(共享 formatDateTime,上海时间直显)/ 访问次数 /
活跃天数 / 总停留 formatStay / 首触·最近来源 / 在线绿点;行点击进详情路由
- 筛选栏:关键词(visitor_id/IP 前缀)回车或查询触发、设备下拉、国家精确、
在线开关(online='1' 哨兵)、日期范围 date_from/date_to、显示爬虫开关
(默认排除);筛选变化重置 page=1,分页切换保留筛选
- 共享工具提取 admin/src/utils/tracker:formatDateTime/formatStay/countryFlag,
site 页改引用;formatStay 智能省略(0 单位不显示,全 0 显示 0秒)
- 红线:无 v-html,访客数据不绑 href/src;加载/空态齐全(错误态走请求层统一 toast)
Co-Authored-By: Claude Code <noreply@anthropic.com>
|
2026-09-15 19:58:23 +08:00 |
|