音乐与影视喜欢次数统计设计

范围与依据

本方案已经用户确认,关联统计分析需求和战略目标 goal-3。用户随后授权按本方案实现和验证,本次授权完成交付收尾、提交与推送。

音乐与影视使用相同的分析结构,分别读取各自收藏数据的 count,不混合排名。正文沿用项目中文规划约定;本文是图表选型、布局与统计口径的维护入口,需求文档保留结果层面的验收标准。

入口与布局

不新增统计页面。在现有音乐页和影视页的收藏概览区域增加“统计分析”展开入口,默认收起,展开内容位于筛选区与收藏列表之间。

页面标题
收藏概览                         统计分析
筛选与排序
统计分析区域(展开时显示)
收藏列表

桌面端两图并排,移动端上下排列。不使用弹窗或嵌套卡片,不改变首页、主导航及收藏页的主要浏览路径。

图表

次数分布

使用纵向柱状图:横轴为离散的喜欢次数,纵轴为条目数。不是连续直方图,不使用饼图。

每根柱提供次数、条目数和占当前统计范围条目数的比例,支持数值读取,不仅依赖颜色或悬停。

高喜欢次数条目

使用横向条形图,展示作品名称和喜欢次数,条长表示次数。

分析指标

设当前统计范围为 S,有效条目集合为 V,多次喜欢条目集合为 M,其中 M 为 V 中 count >= 2 的条目。每条记录计为一个条目,不按艺人、导演或主演重复展开。

指标 口径
累计喜欢次数 V 中 count 的总和
多次喜欢条目 M 的条目数,以及 M 的条目数除以 V 的条目数
多次喜欢贡献占比 M 的 count 总和除以 V 的 count 总和

图表上方仅展示上述三项,避免重复现有收藏概览。占比必须明确分母;分母为 0 时显示“—”,不得产生无穷或非数值结果。

count 为非负整数才有效。缺失或非法值不静默按 0 计算,显示异常条目数,并明确统计仅包含有效记录。次数分布图中条目占比的分母同样为 V 的条目数。

筛选与联动

状态与可访问性

数据快照与核对示例

以下为方案确认时对仓库数据的核对快照,不是固定展示值;实际实现须从数据重新计算。

项目 音乐 影视
收藏条目数 97 26
累计喜欢次数 122 26
喜欢次数至少 2 次的条目数 16 0
最高喜欢次数 5 1

音乐 1 至 5 次对应条目数分别为 81、10、4、1、1。多次喜欢条目占比为 16/97,约 16.5%;贡献占比为 41/122,约 33.6%。影视全部为 1 次,应呈现分布与无次数差异状态,而不是任意列出前十名。

数据来源:_data/music.yml、_data/movies.yml。页面现状依据:_pages/music.md、_pages/movies.md。

不包含的分析

实现与验证

使用原生 HTML、CSS 与 JavaScript 渲染条形图,无额外图表运行依赖。统计模型位于 assets/js/like-count.js,页面控制器位于 assets/js/collection-analytics.js,通过现有筛选完成后的事件获取统计基准。脚本只在音乐和影视页加载,不改变书籍和诗文页的行为。

自动化检查入口:

浏览器页面验证覆盖 1440、390、320 像素宽视口,检查图表非空、页面无横向溢出、窄屏指标不挤行及数据表展开状态,并人工复查截图。截图默认位于 /tmp/like-count-analytics,不作为站点资源发布。验证使用 Chromium 桌面与移动视口,不代表已进行实体手机或其他浏览器测试。

持续验证与交付

统计模型测试现已纳入 .github/workflows/ci.yml 的构建前门禁,测试失败会阻止后续构建与部署。浏览器验收仍是需要本地服务和已有 Playwright 环境的独立检查,未宣称已在 CI 自动执行。2026-10-23 的复验与 AI Cortex 接入范围见接入与交付验收。