修改页面结构

This commit is contained in:
2026-02-02 20:07:37 +08:00
parent 3de5e9ebe9
commit 21f4a0fa96
209 changed files with 41824 additions and 2730 deletions

View File

@@ -0,0 +1,117 @@
/**
* Admin 页面组件映射表
*
* 用于内部路由系统的组件解析
* key: componentKey (来自 adminRoutes.uts)
* value: 组件引用
*
* 注意:
* 1. 所有组件必须静态导入,确保打包可分析
* 2. 组件路径使用 @ 别名
* 3. 占位组件统一使用 PlaceholderPage
*/
// 导入占位组件
import PlaceholderPage from '@/layouts/admin/components/PlaceholderPage.uvue'
// 导入首页(内部组件,不包含 AdminLayout
import HomeIndex from '@/layouts/admin/pages/HomeIndex.uvue'
// 导入用户模块(纯组件,不包含 AdminLayout
import UserList from '@/pages/mall/admin/user/list.uvue'
import UserLevel from '@/pages/mall/admin/user/level.uvue'
import UserGroup from '@/pages/mall/admin/user/group.uvue'
import UserLabel from '@/pages/mall/admin/user/label.uvue'
// 其他用户模块组件暂时使用 PlaceholderPage
// import UserGradeType from '@/pages/mall/admin/user/grade/type.uvue'
// import UserGradeCard from '@/pages/mall/admin/user/grade/card.uvue'
// import UserGradeRecord from '@/pages/mall/admin/user/grade/record.uvue'
// import UserGradeRight from '@/pages/mall/admin/user/grade/right.uvue'
// 导入商品模块(纯组件,不包含 AdminLayout
import ProductList from '@/pages/mall/admin/product/list.uvue'
import ProductClassify from '@/pages/mall/admin/product/classify.uvue'
import ProductReply from '@/pages/mall/admin/product/reply.uvue'
import ProductAttr from '@/pages/mall/admin/product/attr.uvue'
import ProductParam from '@/pages/mall/admin/product/param.uvue'
import ProductLabel from '@/pages/mall/admin/product/label.uvue'
import ProductProtection from '@/pages/mall/admin/product/protection.uvue'
// 导入订单模块(纯组件,不包含 AdminLayout
import OrderList from '@/pages/mall/admin/order/list.uvue'
// 营销、内容、财务、数据、设置模块暂时使用 PlaceholderPage
// 避免循环依赖问题
// import MarketingCoupon from '@/pages/mall/admin/marketing/coupon/list.uvue'
// import MarketingIntegral from '@/pages/mall/admin/marketing/integral/list.uvue'
// import MarketingBargain from '@/pages/mall/admin/marketing/bargain/list.uvue'
// import MarketingCombination from '@/pages/mall/admin/marketing/combination/list.uvue'
// import MarketingSeckill from '@/pages/mall/admin/marketing/seckill/list.uvue'
// import CmsArticle from '@/pages/mall/admin/cms/article/list.uvue'
// import CmsCategory from '@/pages/mall/admin/cms/category/list.uvue'
// import FinanceRecord from '@/pages/mall/admin/finance/record.uvue'
// import StatisticIndex from '@/pages/mall/admin/statistic/index.uvue'
// import SettingSystemConfig from '@/pages/mall/admin/setting/system/config.uvue'
// import SettingSystemAdmin from '@/pages/mall/admin/setting/system/admin.uvue'
// import SettingSystemRole from '@/pages/mall/admin/setting/system/role.uvue'
/**
* 组件映射表
*/
export const componentMap: Map<string, any> = new Map([
// 首页
['HomeIndex', HomeIndex],
// 用户模块
['UserList', UserList],
['UserLevel', UserLevel],
['UserGroup', UserGroup],
['UserLabel', UserLabel],
['UserGradeType', PlaceholderPage], // 暂时使用占位组件
['UserGradeCard', PlaceholderPage],
['UserGradeRecord', PlaceholderPage],
['UserGradeRight', PlaceholderPage],
// 商品模块
['ProductList', ProductList],
['ProductClassify', ProductClassify],
['ProductReply', ProductReply],
['ProductAttr', ProductAttr],
['ProductParam', ProductParam],
['ProductLabel', ProductLabel],
['ProductProtection', ProductProtection],
// 订单模块
['OrderList', OrderList],
// 营销模块 - 暂时使用占位组件
['MarketingCoupon', PlaceholderPage],
['MarketingIntegral', PlaceholderPage],
['MarketingBargain', PlaceholderPage],
['MarketingCombination', PlaceholderPage],
['MarketingSeckill', PlaceholderPage],
// 内容模块 - 暂时使用占位组件
['CmsArticle', PlaceholderPage],
['CmsCategory', PlaceholderPage],
// 财务模块 - 暂时使用占位组件
['FinanceRecord', PlaceholderPage],
// 数据模块 - 暂时使用占位组件
['StatisticIndex', PlaceholderPage],
// 设置模块 - 暂时使用占位组件
['SettingSystemConfig', PlaceholderPage],
['SettingSystemAdmin', PlaceholderPage],
['SettingSystemRole', PlaceholderPage]
])
/**
* 获取组件
* @param componentKey 组件Key
* @returns 组件引用,不存在时返回占位组件
*/
export function getComponent(componentKey: string): any {
return componentMap.get(componentKey) || PlaceholderPage
}