# 商品寄卖服务模块 - 路由配置说明 ## ✅ 配置完成 已成功为商品寄卖服务模块创建并注册路由配置。 --- ## 📁 文件清单 ### 1. 路由模块文件 **文件路径**: `/src/router/modules/consignment.js` **路由配置**: ```javascript { path: '/consignment', component: Layout, redirect: '/consignment/merchandise', name: 'Consignment', meta: { title: '商品寄卖服务', icon: 'clipboard', }, children: [...] } ``` ### 2. 主路由文件更新 **文件路径**: `/src/router/index.js` **更新内容**: - ✅ 导入 consignmentRouter 模块 - ✅ 在 constantRoutes 中注册路由(位于财务路由之后) --- ## 🎯 路由列表 ### 一级菜单 ``` /consignment - 商品寄卖服务 ``` ### 二级菜单及页面 #### 1. 寄售商品管理 | 路由路径 | 组件路径 | 名称 | 标题 | 显示 | |---------|---------|------|------|------| | `/consignment/merchandise` | `@/views/consignment/merchandise/index` | Merchandise | 寄售商品管理 | 显示 | | `/consignment/merchandise/detail` | `@/views/consignment/merchandise/detail` | MerchandiseDetail | 寄售商品详情 | 隐藏 | **特性**: - 列表页显示在菜单中 - 详情页隐藏,通过列表页跳转 - 详情页激活菜单:`/consignment/merchandise` - 详情页不缓存(noCache: true) #### 2. 提现管理 | 路由路径 | 组件路径 | 名称 | 标题 | 显示 | |---------|---------|------|------|------| | `/consignment/withdraw` | `@/views/consignment/withdraw/index` | Withdraw | 提现管理 | 显示 | | `/consignment/withdraw/detail` | `@/views/consignment/withdraw/detail` | WithdrawDetail | 提现详情 | 隐藏 | **特性**: - 列表页显示在菜单中 - 详情页隐藏,通过列表页跳转 - 详情页激活菜单:`/consignment/withdraw` - 详情页不缓存(noCache: true) #### 3. 财务日志管理 | 路由路径 | 组件路径 | 名称 | 标题 | 显示 | |---------|---------|------|------|------| | `/consignment/financial-log` | `@/views/consignment/financial-log/index` | FinancialLog | 财务日志管理 | 显示 | **特性**: - 单页面,无详情页 - 包含4种日志类型(优惠券、个人奖金、推广奖金、余额) --- ## 📊 路由结构图 ``` 商品寄卖服务 (/consignment) ├── 寄售商品管理 (/merchandise) │ └── 寄售商品详情 (/merchandise/detail) [hidden] ├── 提现管理 (/withdraw) │ └── 提现详情 (/withdraw/detail) [hidden] └── 财务日志管理 (/financial-log) ``` --- ## 🔧 路由配置说明 ### 基础配置 ```javascript { path: '/consignment', // 路由路径 component: Layout, // 使用Layout布局 redirect: '/consignment/merchandise', // 默认重定向到寄售商品管理 name: 'Consignment', // 路由名称(必须唯一) meta: { title: '商品寄卖服务', // 菜单显示标题 icon: 'clipboard', // 菜单图标 } } ``` ### 子路由配置 #### 显示在菜单中的页面 ```javascript { path: 'merchandise', component: () => import('@/views/consignment/merchandise/index'), name: 'Merchandise', meta: { title: '寄售商品管理', icon: '' } } ``` #### 隐藏的详情页 ```javascript { path: 'merchandise/detail', component: () => import('@/views/consignment/merchandise/detail'), name: 'MerchandiseDetail', meta: { title: '寄售商品详情', noCache: true, // 不缓存页面 activeMenu: '/consignment/merchandise' // 高亮父菜单 }, hidden: true // 隐藏在侧边栏 } ``` --- ## 🔗 路由跳转示例 ### 从列表页跳转到详情页 #### 寄售商品详情 ```javascript // 在 merchandise/index.vue 中 handleDetail(row) { this.$router.push({ path: '/consignment/merchandise/detail', query: { id: row.id } }); } ``` #### 提现详情 ```javascript // 在 withdraw/index.vue 中 handleDetail(row) { this.$router.push({ path: '/consignment/withdraw/detail', query: { id: row.id } }); } ``` ### 从详情页返回列表页 ```javascript // 在详情页中 goBack() { this.$router.go(-1); // 返回上一页 // 或 this.$router.push('/consignment/merchandise'); // 跳转到指定页面 } ``` --- ## 🎨 菜单图标配置 ### 当前图标 所有菜单使用 `clipboard` 图标(默认配置) ### 自定义图标 可以在 `meta.icon` 中指定不同的图标: ```javascript meta: { title: '寄售商品管理', icon: 'shopping', // 可自定义图标名称 } ``` **可用图标**: 参考项目中的SVG图标库或Element UI图标 --- ## 🔐 权限控制 ### 路由级权限(待配置) 如需添加路由级权限控制,在meta中添加roles配置: ```javascript meta: { title: '寄售商品管理', icon: '', roles: ['admin', 'editor'] // 指定可访问的角色 } ``` ### 按钮级权限(已实现) 页面中的按钮已使用 `v-hasPermi` 指令进行权限控制: ```vue 编辑 ``` --- ## ✅ 验证清单 完成以下步骤后,路由配置即可正常使用: - [x] 创建路由模块文件 `src/router/modules/consignment.js` - [x] 在 `src/router/index.js` 中导入模块 - [x] 在 `constantRoutes` 中注册路由 - [ ] 重启开发服务器 - [ ] 验证菜单显示正常 - [ ] 验证页面跳转正常 - [ ] 验证详情页返回正常 --- ## 🐛 常见问题 ### 1. 菜单不显示 **原因**: 路由配置问题或权限问题 **解决**: - 检查路由是否正确导入和注册 - 检查meta.title是否配置 - 检查是否有权限限制 ### 2. 页面跳转404 **原因**: 路由路径配置错误 **解决**: - 检查path配置是否正确 - 检查组件import路径是否正确 - 检查组件文件是否存在 ### 3. 详情页刷新后菜单高亮不对 **原因**: 缺少activeMenu配置 **解决**: - 在详情页meta中添加activeMenu配置 - 指向对应的列表页路径 ### 4. 页面缓存问题 **原因**: keep-alive缓存了页面 **解决**: - 在需要每次都刷新的页面meta中添加 `noCache: true` - 或在页面切换时清除缓存 --- ## 📝 后续配置 ### 1. 菜单图标优化 根据业务需求,为各个子菜单配置更合适的图标。 ### 2. 权限配置 如需要路由级权限控制,在后台权限管理中添加对应的权限配置。 ### 3. 面包屑配置 如需自定义面包屑显示,可在meta中添加breadcrumb配置。 --- ## 🚀 启动验证 ### 1. 重启开发服务器 ```bash npm run dev ``` ### 2. 访问路由 - 主菜单: http://localhost:9527/consignment - 寄售商品: http://localhost:9527/consignment/merchandise - 提现管理: http://localhost:9527/consignment/withdraw - 财务日志: http://localhost:9527/consignment/financial-log ### 3. 验证功能 - ✅ 菜单显示正确 - ✅ 页面能正常访问 - ✅ 详情页跳转正常 - ✅ 返回功能正常 - ✅ 菜单高亮正确 --- ## 📞 技术支持 如有问题,请参考: 1. [商品寄卖服务模块-开发说明.md](./商品寄卖服务模块-开发说明.md) 2. [商品寄卖服务模块-文件清单.md](./商品寄卖服务模块-文件清单.md) 3. Vue Router 官方文档: https://router.vuejs.org/zh/ --- **创建日期**: 2025-11-13 **版本**: V1.0 **状态**: ✅ 配置完成 **维护团队**: 开发团队