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 视口检查 |
| 已确认公开站点 bug | 5 项,已全部修复并加入回归断言 |
| P0/P1 未修复阻断项 | 0 |
Audit Health Score
| 维度 | 得分 | 依据 |
|---|---|---|
| Accessibility | 3/4 | 主导航、播放控制、随机电台卡片和记忆交互具备语义标签与键盘路径;仍可继续扩大动态错误状态和媒体控制的辅助技术覆盖。 |
| Performance | 3/4 | VitePress 构建、图片懒加载、媒体和动态模块均可工作;首页内容较丰富,仍需持续观察资源加载和第三方请求。 |
| Theming | 3/4 | 明暗主题使用品牌变量,主题切换 E2E 通过;部分页面仍存在少量硬编码颜色。 |
| Responsive Design | 3/4 | 390x844 关键路径无横向溢出,核心内容在移动端可访问;密集卡片和媒体控制仍值得扩展平板/窄屏覆盖。 |
| Anti-Patterns | 3/4 | 整体保持内容导向的个人杂志布局;部分专题区仍使用重复卡片结构,但未发现阻断使用的视觉反模式。 |
| 合计 | 15/20 | Good:核心体验可用,剩余工作以质量提升和覆盖面扩展为主。 |
本轮已修复问题
[P1] 电台播放结束同时触发上一曲和下一曲导航
- 位置:
.vitepress/theme/pages/RadioDetail.vue - 根因:同一个
Audio同时绑定了nextTrack、prevTrack和包装后的第二个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.vue、RadioContent.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()的返回值被错误赋给online,useOnline()没有接收变量。 - 处理:分别绑定
fps、now和online三个 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。
转载请注明来源:leelaa : 《》
正在连接 GitHub评论区马上就来...
