Skip to content

-
-分钟

LeeLaa Blog 公开站点审计报告

审计时间:2026-08-23

审计对象:VitePress 公开站点,包括首页、文章、电台、记忆、圈子、关于和移动端关键路径。

设计上下文:个人博客读者在桌面和移动设备上阅读文章、收听电台和浏览照片记忆;产品定位是安静、个人、带实验性的内容型个人杂志,而不是后台或营销落地页。

结果概览

项目结果
公开站点构建通过:pnpm build
公开站点 E2E通过:pnpm test:blog:e2e,兼容别名 pnpm test:e2e 也通过
后台 E2E通过:pnpm test:admin:e2e(后台另有独立报告)
移动端横向溢出通过:390x844 视口检查
已确认公开站点 bug5 项,已全部修复并加入回归断言
P0/P1 未修复阻断项0

Audit Health Score

维度得分依据
Accessibility3/4主导航、播放控制、随机电台卡片和记忆交互具备语义标签与键盘路径;仍可继续扩大动态错误状态和媒体控制的辅助技术覆盖。
Performance3/4VitePress 构建、图片懒加载、媒体和动态模块均可工作;首页内容较丰富,仍需持续观察资源加载和第三方请求。
Theming3/4明暗主题使用品牌变量,主题切换 E2E 通过;部分页面仍存在少量硬编码颜色。
Responsive Design3/4390x844 关键路径无横向溢出,核心内容在移动端可访问;密集卡片和媒体控制仍值得扩展平板/窄屏覆盖。
Anti-Patterns3/4整体保持内容导向的个人杂志布局;部分专题区仍使用重复卡片结构,但未发现阻断使用的视觉反模式。
合计15/20Good:核心体验可用,剩余工作以质量提升和覆盖面扩展为主。

本轮已修复问题

[P1] 电台播放结束同时触发上一曲和下一曲导航

  • 位置.vitepress/theme/pages/RadioDetail.vue
  • 根因:同一个 Audio 同时绑定了 nextTrackprevTrack 和包装后的第二个 nextTrack
  • 处理:保留单一 ended -> nextTrack 监听,并在卸载时移除同一引用。
  • 验证:E2E 在浏览器注入监听计数,确认 ended 只注册一次。

[P2] 首页“流浪星球”快捷功能不显示

  • 位置.vitepress/theme/pages/Home/components/FunSection.vue
  • 根因:快捷区只渲染 funList.slice(0, 4),跳过了索引 4。
  • 处理:快捷区改为渲染前 5 项,并增加 leelaa.wander() 命令展示。
  • 验证:E2E 滚动到趣味区并断言“流浪星球”可见。

[P2] 电台列表“随机播放”不执行播放行为

  • 位置.vitepress/theme/pages/Radio/components/RadioList.vueRadioContent.vue
  • 根因:随机卡片只做闪烁动画,父组件处理函数只有日志输出。
  • 处理:动画完成后传出选中的真实节目,父组件跳转到对应节目详情页;同步修正卡片无障碍文案为“打开节目”。
  • 验证:E2E 点击随机卡片并确认 URL 进入节目详情路由。

[P2] 记忆页标题数量与可浏览卡片数量不一致

  • 位置.vitepress/theme/pages/Memory/components/MemoryContent.vue
  • 根因:列表使用 slice(1),计数却使用完整数组长度,首条记忆没有列表入口。
  • 处理:列表展示完整数组,预览、回列表滚动逻辑统一使用同一索引基准。
  • 验证:E2E 断言标题数字等于 .memory-card 数量,并打开首张卡片。

[P2] 记忆预览离线时仍显示在线

  • 位置.vitepress/theme/pages/Memory/components/MemoryPreview.vue
  • 根因useNow() 的返回值被错误赋给 onlineuseOnline() 没有接收变量。
  • 处理:分别绑定 fpsnowonline 三个 composable 返回值。
  • 验证:E2E 切换浏览器离线模式,确认状态灯变为红色。

当前风险判断

本轮没有发现会阻断公开站点启动、主导航、文章阅读、电台详情或记忆浏览的 P0/P1 未修复问题。公开站点没有登录和后台权限能力,也不应按后台本地工具的威胁模型评估。

后续可继续关注:

  • 扩大键盘导航、屏幕阅读器和 prefers-reduced-motion 的覆盖。
  • 对首页媒体/图片和外部请求做真实网络环境下的性能采样。
  • 将剩余硬编码颜色逐步收敛到主题变量。

复验命令

bash
pnpm build
pnpm test:blog:e2e
pnpm test:admin:e2e
pnpm test:admin:unit

后台安全边界和本地运行模型见 project-admin/DESIGN.md;浏览器测试说明见 test/README.md

上次更新:

正在连接 GitHub评论区马上就来...