# 首页移动端适配设计 ## 概述 首页当前在 `<640px` 断点下表现糟糕:左侧栏被压缩为顶部 260px 高的横条、header 突然改为纵向堆叠、瀑布流列数硬切。本设计在保持桌面端 100% 行为不变的前提下,给首页增加完整的移动端体验,并把可复用部分抽离到 `bolt-ui` 组件库。 ## 范围 - 改造 `app/pages/index/index.vue` 的移动端布局 - 改造 `app/components/index/LeftSidebar.vue` 支持 rail / drawer 双模式 - 新增 `packages/bolt-ui/components/Drawer/` 通用抽屉组件 - 新增 `packages/bolt-ui/composables/useMediaQuery.ts` 通用响应式监听 ## 不在范围内 - admin / photo / portfolio / about / auth 等其他页面的适配(虽然 Drawer 组件是可复用的,但本任务不重做这些页面) - 触屏手势(滑动关闭抽屉、双指缩放等) - 离线 / PWA 改造 - 性能优化(瀑布流懒加载逻辑、IntersectionObserver 行为保持不变) --- ## 架构 ### 改动文件 新增: - `packages/bolt-ui/components/Drawer/index.ts` - `packages/bolt-ui/components/Drawer/src/Drawer.vue` - `packages/bolt-ui/components/Drawer/src/useDrawer.ts` - `packages/bolt-ui/components/Drawer/style/css.ts` - `packages/bolt-ui/components/Drawer/style/index.ts` - `packages/bolt-ui/theme-chalk/src/components/drawer/_index.scss` - `packages/bolt-ui/theme-chalk/src/components/drawer/drawer-left.scss` - `packages/bolt-ui/theme-chalk/src/components/drawer/drawer-right.scss` - `packages/bolt-ui/theme-chalk/src/components/drawer/mask.scss` - `packages/bolt-ui/composables/useMediaQuery.ts` 修改: - `packages/bolt-ui/components/index.ts` — 注册 Drawer、useMediaQuery - `packages/bolt-ui/README.md` — 追加 Drawer 章节 - `app/components/index/LeftSidebar.vue` — 新增 `mode` / `drawerOpen` / `width` / `side` props,对应 emits - `app/pages/index/index.vue` — 接入 useMediaQuery、BoDrawer、header 三行布局 - `app/components/TopNav.vue` — 实际不需要改动(见 § 样式细节 / TopNav 协调) ### 组件关系 ``` pages/index/index.vue └─ IndexLeftSidebar ├─ mode === 'rail' →