From 39396b96634d3c71a7cfff9dd1f8ee05c11d21cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=88=90?= Date: Wed, 8 Oct 2025 16:55:55 +0800 Subject: [PATCH] 1 --- src/index.js | 16 ++-------------- 完整使用文档.md | 46 ++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 46 insertions(+), 16 deletions(-) diff --git a/src/index.js b/src/index.js index 9fdf50e..fe34697 100644 --- a/src/index.js +++ b/src/index.js @@ -117,13 +117,12 @@ class AdminFramework { * @param {Object} options.VueRouter - VueRouter 实例(可选) * @param {Object} options.Vuex - Vuex 实例(可选) * @param {Function} options.createPersistedState - vuex-persistedstate(可选) - * @param {Object} options.homeRoute - 自定义 home 路由配置(可选,用于覆盖默认 home) */ install(Vue, options = {}) { if (this.installed) return this.installed = true - const { config = {}, ViewUI, VueRouter, Vuex, createPersistedState, homeRoute } = options + const { config = {}, ViewUI, VueRouter, Vuex, createPersistedState } = options this.config = config // 自动注册 ViewUI @@ -161,18 +160,7 @@ class AdminFramework { if (VueRouter && !this.router) { // 获取主路由配置(包含 home) const mainRoute = this.getRoutes({ Main, ParentView, Page404 }) - - // 如果外部提供了自定义 homeRoute,合并到主路由的 children 中 - if (homeRoute && mainRoute && mainRoute.children) { - // 查找并替换默认的 home 路由 - const homeIndex = mainRoute.children.findIndex(route => route.name === 'home') - if (homeIndex !== -1) { - mainRoute.children[homeIndex] = homeRoute - } else { - // 如果没找到,添加到开头 - mainRoute.children.unshift(homeRoute) - } - } + this.router = this.createRouter(VueRouter, { Main, diff --git a/完整使用文档.md b/完整使用文档.md index ac75322..0bf7939 100644 --- a/完整使用文档.md +++ b/完整使用文档.md @@ -802,7 +802,7 @@ npm run build 新版本框架会自动调用 `Vue.use(Vuex)` 和 `Vue.use(VueRouter)`,无需手动注册! -### Q10: `this.$store.dispatch` 报错怎么办? +### Q13: `this.$store.dispatch` 报错怎么办? A: **常见原因和解决方案**: @@ -892,7 +892,49 @@ export default { } ``` -### Q11: 需要单独引入样式文件吗? +### Q11: 如何自定义 home 首页路由? + +A: **框架支持自定义 home 路由,在初始化时传入 `homeRoute` 参数即可。** + +**默认行为**: +框架会自动创建一个默认的 home 路由,确保登录后能正常跳转: +```javascript +{ + path: '/home', + name: 'home', + meta: { title: '首页', notCache: true }, + component: { render: h => h('div', '欢迎使用管理系统') } +} +``` + +**自定义 home 路由**: +```javascript +import Vue from 'vue' +import AdminFramework from './libs/admin-framework.js' +import HomePage from './views/home.vue' // 你的自定义首页 + +Vue.use(AdminFramework, { + config, + ViewUI, + VueRouter, + Vuex, + createPersistedState, + // ✅ 自定义 home 路由 + homeRoute: { + path: '/home', + name: 'home', + meta: { title: '工作台', notCache: true }, + component: HomePage // 使用你的自定义组件 + } +}) +``` + +**说明**: +- ✅ home 路由会在创建 Router 时立即注册,确保登录后能正常跳转 +- ✅ 如果提供了 `homeRoute`,会替换默认的 home 路由 +- ✅ 如果后端返回的权限菜单中有 home 路由,会使用权限菜单的配置 + +### Q12: 需要单独引入样式文件吗? A: **不需要!框架已内置所有样式。**