# Mall Admin 布局系统使用指南 ## 概述 本项目已基于CRMEB Admin的vertical布局设计,创建了一套统一的admin管理后台布局系统。该系统提供: - 🎨 **统一视觉设计** - 参考CRMEB Admin的深色侧边栏风格 - 📱 **响应式布局** - 支持桌面端和移动端自适应 - 🔧 **灵活配置** - 支持菜单折叠、主题切换等功能 - 🧭 **智能导航** - 自动高亮当前页面,支持子菜单展开 ## 文件结构 ``` layouts/ ├── admin/ │ └── index.uvue # 主布局组件 pages/mall/admin/ ├── index.uvue # 首页(已集成布局) ├── user-management.uvue # 用户管理(已集成布局) └── ... # 其他页面 pages.json # 页面配置(已更新) ``` ## 快速开始 ### 1. 在页面中使用AdminLayout ```vue ``` ### 2. current-page 参数说明 `current-page` 属性用于标识当前页面,对应的菜单项会被高亮显示: | 页面 | current-page 值 | 说明 | |------|----------------|------| | 首页 | `dashboard` | 主页 | | 用户管理 | `user-list` | 用户列表页 | | 商品管理 | `product-list` | 商品列表页 | | 订单管理 | `order` | 订单管理页 | | 商家管理 | `merchant-list` | 商家列表页 | | 系统设置 | `system` | 系统设置页 | ### 3. 页面配置 在 `pages.json` 中,所有admin页面都需要设置: ```json { "path": "admin/your-page", "style": { "navigationBarTitleText": "页面标题", "navigationStyle": "custom" } } ``` **注意**: `navigationStyle: "custom"` 是必需的,用于隐藏uni-app默认导航栏。 ## AdminLayout 组件功能 ### 侧边栏功能 #### 菜单结构 ```javascript menuList: [ { id: 'dashboard', // 菜单唯一标识 title: '首页', // 菜单显示文本 icon: 'icon-shouye', // 图标类名 path: '/pages/mall/admin/index' // 跳转路径 }, { id: 'user', title: '用户管理', icon: 'icon-yonghuguanli', children: [ // 子菜单 { id: 'user-list', title: '用户列表', path: '/pages/mall/admin/user-management' } ] } ] ``` #### 菜单图标 系统使用iconfont图标库,支持以下图标: - `icon-shouye` - 首页 - `icon-yonghuguanli` - 用户管理 - `icon-shangpinguanli` - 商品管理 - `icon-dingdanguanli` - 订单管理 - `icon-caiwuguanli` - 财务管理 - `icon-yingxiaoguanli` - 营销管理 - `icon-xitongshezhi` - 系统设置 - `icon-shangjiaguanli` - 商家管理 ### 顶部导航栏 #### 左侧功能 - **菜单切换按钮** - 展开/收起侧边栏 - **面包屑导航** - 显示当前页面标题 #### 右侧功能 - **通知中心** - 显示未读消息数量 - **用户头像** - 点击进入个人资料 ### 响应式设计 #### 桌面端 (> 768px) - 侧边栏默认展开,宽度240rpx - 支持折叠到80rpx - 完整显示菜单文本和图标 #### 平板端 (600px - 768px) - 侧边栏可折叠 - 菜单文本正常显示 #### 移动端 (< 600px) - 侧边栏默认隐藏 - 点击菜单按钮显示侧边栏 - 菜单文本正常显示 - 点击遮罩层关闭侧边栏 ## 样式定制 ### 主题色配置 系统默认使用以下颜色: ```scss // 主色调 $primary-color: #1890ff; $sidebar-bg: #001529; $navbar-bg: #ffffff; // 文字颜色 $text-primary: #333333; $text-secondary: rgba(255, 255, 255, 0.75); $text-muted: rgba(255, 255, 255, 0.65); ``` ### 自定义样式 如需修改样式,可以在 `layouts/admin/index.uvue` 的 `