# 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` 的 `