From 43496ef3074a4a527e7108621b60fa88be7f2057 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=AC=E6=B5=B7?= <445436867@qq.com> Date: Thu, 6 Apr 2023 10:07:29 +0800 Subject: [PATCH] =?UTF-8?q?feat(plugin-layout):=20custom=E6=8F=92=E6=A7=BD?= =?UTF-8?q?=E6=94=AF=E6=8C=81=20menus=20=E5=8F=82=E6=95=B0=20&=20=E9=87=8D?= =?UTF-8?q?=E6=9E=84403=E3=80=81404=E9=80=BB=E8=BE=91=20(#181)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat(plugin-layout): custom插槽添加menus参数 * refactor: 403/404默认显示layout,在pages目录下创建404.vue/403.vue可覆盖默认 * refactor(plugin-layout): 优化index.jsx n * fix: 403/404添加title --- packages/fes-plugin-layout/src/index.js | 46 ++- .../src/runtime/assets/403.png | Bin 0 -> 24788 bytes .../src/runtime/assets/404.png | Bin 0 -> 22511 bytes .../src/runtime/helpers/fillMenu.js | 17 +- .../fes-plugin-layout/src/runtime/runtime.js | 32 +-- .../src/runtime/views/403.vue | 238 +--------------- .../src/runtime/views/404.vue | 263 +----------------- .../src/runtime/views/BaseLayout.vue | 16 +- .../src/runtime/views/components/Wrapper.vue | 76 +++++ .../src/runtime/views/index.jsx | 54 ++++ .../src/runtime/views/index.tpl | 44 --- packages/fes-template-vite/src/app.jsx | 5 +- .../fes-template-vite/src/pages/editor.vue | 16 +- packages/fes-template/.fes.js | 4 +- packages/fes-template/src/app.jsx | 5 +- 15 files changed, 205 insertions(+), 611 deletions(-) create mode 100644 packages/fes-plugin-layout/src/runtime/assets/403.png create mode 100644 packages/fes-plugin-layout/src/runtime/assets/404.png create mode 100644 packages/fes-plugin-layout/src/runtime/views/components/Wrapper.vue create mode 100644 packages/fes-plugin-layout/src/runtime/views/index.jsx delete mode 100644 packages/fes-plugin-layout/src/runtime/views/index.tpl diff --git a/packages/fes-plugin-layout/src/index.js b/packages/fes-plugin-layout/src/index.js index 1870e1e6..a1df5923 100644 --- a/packages/fes-plugin-layout/src/index.js +++ b/packages/fes-plugin-layout/src/index.js @@ -50,13 +50,6 @@ export default (api) => { }`, }); - api.writeTmpFile({ - path: absFilePath, - content: Mustache.render(readFileSync(join(__dirname, 'runtime/views/index.tpl'), 'utf-8'), { - REPLACE_USER_CONFIG: JSON.stringify(userConfig), - }), - }); - api.writeTmpFile({ path: absConfigFilePath, content: Mustache.render(readFileSync(join(__dirname, 'runtime/helpers/getConfig.tpl'), 'utf-8'), { @@ -80,14 +73,37 @@ export default (api) => { }, ]); - // 把BaseLayout插入到路由配置中,作为根路由 - api.modifyRoutes((routes) => [ - { - path: '/', - component: winPath(join(api.paths.absTmpPath || '', absFilePath)), - children: routes, - }, - ]); + // 把 BaseLayout插入到路由配置中,作为根路由 + // 添加 403 和 404 路由 + api.modifyRoutes((routes) => { + if (!routes.find((item) => item.path === '/403')) { + routes.push({ + path: '/403', + name: 'Exception403', + component: winPath(join(api.paths.absTmpPath, join(namespace, 'views/403.vue'))), + meta: { + title: '403', + }, + }); + } + if (!routes.find((item) => item.path === '/404')) { + routes.push({ + path: '/404', + name: 'Exception404', + component: winPath(join(api.paths.absTmpPath, join(namespace, 'views/404.vue'))), + meta: { + title: '404', + }, + }); + } + return [ + { + path: '/', + component: winPath(join(api.paths.absTmpPath || '', absFilePath)), + children: routes, + }, + ]; + }); api.addConfigType(() => ({ source: name, diff --git a/packages/fes-plugin-layout/src/runtime/assets/403.png b/packages/fes-plugin-layout/src/runtime/assets/403.png new file mode 100644 index 0000000000000000000000000000000000000000..73e54154c2faeb4a6cd2705771887b54e5fb3322 GIT binary patch literal 24788 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 literal 0 HcmV?d00001 diff --git a/packages/fes-plugin-layout/src/runtime/assets/404.png b/packages/fes-plugin-layout/src/runtime/assets/404.png new file mode 100644 index 0000000000000000000000000000000000000000..9694403118030c44d49c909988bd0f7970a73c71 GIT binary patch literal 22511 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 { menuConfig.forEach((menu) => { const pageConfig = {}; if (menu.name) { - Object.assign( - pageConfig, - getMetaByName(routeConfig, menu.name) - ); + Object.assign(pageConfig, getMetaByName(routeConfig, menu.name)); } // menu的配置优先级高,当menu存在配置时,忽略页面的配置 Object.keys(pageConfig).forEach((prop) => { - if ( - menu[prop] === undefined - || menu[prop] === null - || menu[prop] === '' - ) { + if (menu[prop] === undefined || menu[prop] === null || menu[prop] === '') { menu[prop] = pageConfig[prop]; } }); if (menu.children && menu.children.length > 0) { - menu.children = fillMenuByRoute( - menu.children, - routeConfig, - dep - ); + menu.children = fillMenuByRoute(menu.children, routeConfig, dep); } arr.push(menu); }); diff --git a/packages/fes-plugin-layout/src/runtime/runtime.js b/packages/fes-plugin-layout/src/runtime/runtime.js index 2e087953..de9ab180 100644 --- a/packages/fes-plugin-layout/src/runtime/runtime.js +++ b/packages/fes-plugin-layout/src/runtime/runtime.js @@ -1,32 +1,16 @@ // eslint-disable-next-line import/extensions import { access as accessApi } from '../plugin-access/core'; -import Exception404 from './views/404.vue'; -import Exception403 from './views/403.vue'; // eslint-disable-next-line import/extensions import getConfig from './helpers/getConfig'; if (!accessApi) { - throw new Error('[plugin-layout]: pLugin-layout depends on plugin-access,please install plugin-access first!'); + throw new Error('[plugin-layout]: plugin-layout depends on plugin-access,please install plugin-access first!'); } -const handle = (type, router) => { - const accessIds = accessApi.getAccess(); - const path = `/${type}`; - const name = `Exception${type}`; - const components = { - 404: Exception404, - 403: Exception403, - }; - if (!accessIds.includes(path)) { - accessApi.setAccess(accessIds.concat([path])); - } - if (!router.hasRoute(name)) { - router.addRoute({ path, name, component: components[type] }); - } -}; - export const access = (memo) => { const runtimeConfig = getConfig(); + const accessIds = accessApi.getAccess(); + accessApi.setAccess(accessIds.concat(['/403', '/404'])); return { unAccessHandler({ router, to, from, next }) { if (runtimeConfig.unAccessHandler && typeof runtimeConfig.unAccessHandler === 'function') { @@ -37,11 +21,6 @@ export const access = (memo) => { next, }); } - if (to.path === '/404') { - handle(404, router); - return next('/404'); - } - handle(403, router); next('/403'); }, noFoundHandler({ router, to, from, next }) { @@ -53,11 +32,6 @@ export const access = (memo) => { next, }); } - if (to.path === '/403') { - handle(403, router); - return next('/403'); - } - handle(404, router); next('/404'); }, ...memo, diff --git a/packages/fes-plugin-layout/src/runtime/views/403.vue b/packages/fes-plugin-layout/src/runtime/views/403.vue index 0da87747..78a2b93c 100644 --- a/packages/fes-plugin-layout/src/runtime/views/403.vue +++ b/packages/fes-plugin-layout/src/runtime/views/403.vue @@ -1,241 +1,19 @@ - diff --git a/packages/fes-plugin-layout/src/runtime/views/404.vue b/packages/fes-plugin-layout/src/runtime/views/404.vue index 470845fc..16fda346 100644 --- a/packages/fes-plugin-layout/src/runtime/views/404.vue +++ b/packages/fes-plugin-layout/src/runtime/views/404.vue @@ -1,266 +1,19 @@ - diff --git a/packages/fes-plugin-layout/src/runtime/views/BaseLayout.vue b/packages/fes-plugin-layout/src/runtime/views/BaseLayout.vue index 233aac91..cb9b6fac 100644 --- a/packages/fes-plugin-layout/src/runtime/views/BaseLayout.vue +++ b/packages/fes-plugin-layout/src/runtime/views/BaseLayout.vue @@ -27,7 +27,7 @@
- +