Layout 布局
后台管理 layout 的共享组件库 @fx/layouts:纯 UI 件 + 业务适配层 + 状态/上下文,统一在一个包内。
设计定位
@fx/layouts 承载 web layout 的全部组件,依赖 vue-router / pinia / @fx/storage / @fx/components / @fx-core/icon / @fx/styles。纯 UI 件(FxLayout/FxTabs/FxLogo/FxFooter/FxThemeButton/FxNotifyButton)与业务件(BasicLayout/FxLayoutMenuSearch 等)同包,业务件可自由使用纯 UI 件与业务上下文。
组件清单
纯 UI 件
| 组件 | 说明 |
|---|---|
| FxLayout 布局骨架 | slot 容器,封装布局结构 |
| FxTabs 标签页 | 多风格标签页 + useTabs composable |
| FxThemeButton 主题切换 | 亮/暗切换 + View Transition 动画 |
| FxLogo 应用 Logo | 图标 + 标题文字 |
| FxFooter 页脚 | ICP 备案 + 版权 |
业务件
| 组件 / API | 说明 |
|---|---|
| FxLayoutMenuSearch 菜单搜索 | 自带收集菜单 + 跳转 |
| BasicLayout 业务布局 | 根骨架,一行接入 |
| useLayoutStore 布局状态 | pinia store(collapsed / tabs / maximized / isDark / refreshing) |
安装
monorepo 内部 workspace 包:
json
{
"dependencies": {
"@fx/layouts": "workspace:*"
}
}引入
ts
import { BasicLayout, useLayoutStore, FxLayout, FxTabs } from "@fx/layouts"依赖
| 包 | 运行时依赖 |
|---|---|
@fx/layouts | vue、vue-router、pinia、@fx/storage、@fx-core/icon、@fx/styles、@fx/components |
