Files
medical-mall/pages/mall/admin/docs/ADMIN_LAYOUT_GUIDE.md
2026-02-03 21:35:57 +08:00

272 lines
6.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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
<template>
<AdminLayout current-page="your-page-id">
<!-- 你的页面内容 -->
<view class="your-page-content">
<!-- 页面具体内容 -->
</view>
</AdminLayout>
</template>
<script setup lang="uts">
import AdminLayout from '@/layouts/admin/index.uvue'
// 你的页面逻辑
</script>
```
### 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``<style>` 部分进行调整:
```scss
// 修改侧边栏背景色
.admin-sidebar {
background-color: #002140; // 更深的蓝色
}
// 修改菜单项激活状态
.menu-link-active {
background-color: #0050b3; // 不同的激活色
}
```
## 数据持久化
系统自动保存用户偏好设置到本地存储:
- **侧边栏折叠状态** - `admin_sidebar_collapsed`
- **展开的子菜单** - `admin_open_menus`
- **用户信息** - 从本地存储读取
## 扩展指南
### 添加新菜单项
1.`menuList` 中添加新菜单配置
2. 为菜单项分配唯一的 `id`
3. 设置合适的图标和路径
4. 如果有子菜单,使用 `children` 数组
### 添加新页面
1. 创建页面文件 `pages/mall/admin/new-page.uvue`
2. 使用 `AdminLayout` 包装页面内容
3. 设置正确的 `current-page` 属性
4.`pages.json` 中注册页面,设置 `"navigationStyle": "custom"`
### 自定义菜单图标
1. 在iconfont中添加新图标
2. 获取图标的class名称`icon-new-feature`
3. 在菜单配置中使用该class名
## 故障排除
### 菜单不显示
- 检查页面是否正确导入了 `AdminLayout` 组件
- 确认 `current-page` 属性值与菜单配置中的 `id` 匹配
### 样式异常
- 检查页面是否设置了 `"navigationStyle": "custom"`
- 确认没有与uni-app默认样式冲突
### 移动端适配问题
- 检查响应式断点是否正确设置
- 确认遮罩层和侧边栏切换逻辑正常
## 迁移现有页面
对于已有的admin页面按以下步骤迁移
1. **导入AdminLayout组件**
```javascript
import AdminLayout from '@/layouts/admin/index.uvue'
```
2. **包装页面内容**
```vue
<template>
<AdminLayout current-page="page-id">
<!-- 原有页面内容 -->
</AdminLayout>
</template>
```
3. **更新pages.json配置**
```json
{
"style": {
"navigationStyle": "custom"
}
}
```
4. **移除原有导航栏代码**
- 删除页面内的自定义导航栏
- 移除相关的导航栏样式
## 最佳实践
1. **保持菜单结构清晰** - 使用合理的分组和层级
2. **图标选择一致** - 使用统一的图标风格
3. **页面标题准确** - 确保面包屑显示正确的页面标题
4. **响应式测试** - 在不同设备上测试布局效果
5. **性能优化** - 避免在菜单中放置大量数据
## 更新日志
### v1.0.0 (2025-01-23)
- ✅ 基于CRMEB Admin设计创建统一布局系统
- ✅ 支持响应式布局和菜单折叠
- ✅ 集成用户管理和首页
- ✅ 完成pages.json配置更新
- ✅ 提供完整的使用文档
---
如有问题或需要进一步定制,请参考源代码或联系开发团队。