This commit is contained in:
张成
2025-10-08 21:42:22 +08:00
parent 07aa8d493a
commit 453414f647
6 changed files with 1791 additions and 2 deletions

View File

@@ -0,0 +1,143 @@
# 快速配置组件映射
## 🎯 一句话说明
**在 `Vue.use()` 时传入 `componentMap` 参数,将后端权限菜单中的组件路径映射到实际组件。**
## 📝 三步配置
### 步骤1查看权限菜单接口
查看后端接口返回的所有 `component` 字段:
```json
{
"data": [
{ "component": "ball/games.vue" },
{ "component": "order/pay_orders.vue" },
{ "component": "ball/wch_users.vue" }
]
}
```
### 步骤2创建并导入组件
```javascript
// src/main.js
import GamesComponent from './views/ball/games.vue'
import PayOrdersComponent from './views/order/pay_orders.vue'
import WchUsersComponent from './views/ball/wch_users.vue'
```
### 步骤3配置映射
```javascript
Vue.use(AdminFramework, {
config,
ViewUI,
VueRouter,
Vuex,
createPersistedState,
componentMap: {
'ball/games': GamesComponent,
'order/pay_orders': PayOrdersComponent,
'ball/wch_users': WchUsersComponent
}
})
```
## ✅ 完成!
现在权限菜单中的所有业务页面都能正常显示了。
## 📋 配置模板
```javascript
import Vue from 'vue'
import VueRouter from 'vue-router'
import Vuex from 'vuex'
import ViewUI from 'view-design'
import createPersistedState from 'vuex-persistedstate'
import 'view-design/dist/styles/iview.css'
import AdminFramework from '../../src/index.js'
import config from './config'
import App from './App.vue'
// ==================== 导入业务组件 ====================
// TODO: 根据权限菜单接口,导入所有业务组件
// import XXXComponent from './views/xxx/xxx.vue'
Vue.use(AdminFramework, {
config,
ViewUI,
VueRouter,
Vuex,
createPersistedState,
componentMap: {
// TODO: 配置组件映射
// 'xxx/xxx': XXXComponent
}
})
new Vue({
el: '#app',
router: AdminFramework.router,
store: AdminFramework.store,
render: h => h(App),
mounted() {
AdminFramework.uiTool.setRem()
this.$store.dispatch('user/setAuthorityMenus', {
Main: AdminFramework.Main,
ParentView: AdminFramework.ParentView,
Page404: AdminFramework.Page404
})
}
})
```
## 💡 关键要点
### 1. 路径不需要 .vue 后缀
```javascript
// ✅ 正确
componentMap: {
'ball/games': GamesComponent
}
// ❌ 错误(虽然也能用,但不推荐)
componentMap: {
'ball/games.vue': GamesComponent
}
```
### 2. 系统组件无需配置
这些已自动映射,**不需要**在 componentMap 中配置:
- `home/index.vue`
- `system/sys_user.vue`
- `system/sys_role.vue`
- `system/sys_log.vue`
- `system/sys_param_setup.vue`
- `system_high/sys_menu.vue`
- `system_high/sys_control.vue`
- `system_high/sys_title.vue`
### 3. 未映射的组件会显示提示
如果组件没有配置映射,页面会显示:
```
⚠️ 警告
页面组件未加载: ball/games.vue
请在项目中创建此组件或在组件映射表中注册
```
## 📚 完整文档
查看详细说明:[权限菜单组件配置指南.md](./权限菜单组件配置指南.md)
---
**配置完成后,所有权限菜单中的页面都能正常显示!** 🎉