feat: 🎸 新增权限管理及相关示例文档

This commit is contained in:
chenkl 2021-01-18 09:35:18 +08:00
parent 38f521174b
commit 32b6583099
5 changed files with 14289 additions and 49 deletions

View File

@ -12,7 +12,7 @@ export const checkedRoleNodes = [
children: [ children: [
{ {
path: 'echarts', path: 'echarts',
component: 'pages/index/views/components-demo/echarts/index.vue', component: 'pages/index/views/components-demo/echarts/index',
name: 'EchartsDemo', name: 'EchartsDemo',
meta: { meta: {
title: '图表' title: '图表'
@ -20,7 +20,7 @@ export const checkedRoleNodes = [
}, },
{ {
path: 'preview', path: 'preview',
component: 'pages/index/views/components-demo/preview/index.vue', component: 'pages/index/views/components-demo/preview/index',
name: 'PreviewDemo', name: 'PreviewDemo',
meta: { meta: {
title: '图片预览' title: '图片预览'
@ -28,7 +28,7 @@ export const checkedRoleNodes = [
}, },
{ {
path: 'button', path: 'button',
component: 'pages/index/views/components-demo/button/index.vue', component: 'pages/index/views/components-demo/button/index',
name: 'ButtonDemo', name: 'ButtonDemo',
meta: { meta: {
title: '按钮' title: '按钮'
@ -36,7 +36,7 @@ export const checkedRoleNodes = [
}, },
{ {
path: 'message', path: 'message',
component: 'pages/index/views/components-demo/message/index.vue', component: 'pages/index/views/components-demo/message/index',
name: 'MessageDemo', name: 'MessageDemo',
meta: { meta: {
title: '消息提示' title: '消息提示'
@ -44,7 +44,7 @@ export const checkedRoleNodes = [
}, },
{ {
path: 'count-to', path: 'count-to',
component: 'pages/index/views/components-demo/count-to/index.vue', component: 'pages/index/views/components-demo/count-to/index',
name: 'CountToDemo', name: 'CountToDemo',
meta: { meta: {
title: '数字动画' title: '数字动画'
@ -52,7 +52,7 @@ export const checkedRoleNodes = [
}, },
{ {
path: 'search', path: 'search',
component: 'pages/index/views/components-demo/search/index.vue', component: 'pages/index/views/components-demo/search/index',
name: 'SearchDemo', name: 'SearchDemo',
meta: { meta: {
title: '查询' title: '查询'
@ -60,7 +60,7 @@ export const checkedRoleNodes = [
}, },
{ {
path: 'editor', path: 'editor',
component: 'pages/index/views/components-demo/editor/index.vue', component: 'pages/index/views/components-demo/editor/index',
name: 'EditorDemo', name: 'EditorDemo',
meta: { meta: {
title: '富文本编辑器' title: '富文本编辑器'
@ -68,7 +68,7 @@ export const checkedRoleNodes = [
}, },
{ {
path: 'markdown', path: 'markdown',
component: 'pages/index/views/components-demo/markdown/index.vue', component: 'pages/index/views/components-demo/markdown/index',
name: 'MarkdownDemo', name: 'MarkdownDemo',
meta: { meta: {
title: 'markdown编辑器' title: 'markdown编辑器'
@ -76,7 +76,7 @@ export const checkedRoleNodes = [
}, },
{ {
path: 'dialog', path: 'dialog',
component: 'pages/index/views/components-demo/dialog/index.vue', component: 'pages/index/views/components-demo/dialog/index',
name: 'DialogDemo', name: 'DialogDemo',
meta: { meta: {
title: '弹窗' title: '弹窗'
@ -84,7 +84,7 @@ export const checkedRoleNodes = [
}, },
{ {
path: 'more', path: 'more',
component: 'pages/index/views/components-demo/more/index.vue', component: 'pages/index/views/components-demo/more/index',
name: 'MoreDemo', name: 'MoreDemo',
meta: { meta: {
title: '显示更多' title: '显示更多'
@ -92,7 +92,7 @@ export const checkedRoleNodes = [
}, },
{ {
path: 'detail', path: 'detail',
component: 'pages/index/views/components-demo/detail/index.vue', component: 'pages/index/views/components-demo/detail/index',
name: 'DetailDemo', name: 'DetailDemo',
meta: { meta: {
title: '详情组件' title: '详情组件'
@ -113,7 +113,7 @@ export const checkedRoleNodes = [
children: [ children: [
{ {
path: 'basic-table', path: 'basic-table',
component: 'pages/index/views/table-demo/basic-table/index.vue', component: 'pages/index/views/table-demo/basic-table/index',
name: 'BasicTable', name: 'BasicTable',
meta: { meta: {
title: '基础表格' title: '基础表格'
@ -121,7 +121,7 @@ export const checkedRoleNodes = [
}, },
{ {
path: 'page-table', path: 'page-table',
component: 'pages/index/views/table-demo/page-table/index.vue', component: 'pages/index/views/table-demo/page-table/index',
name: 'PageTable', name: 'PageTable',
meta: { meta: {
title: '分页表格' title: '分页表格'
@ -129,7 +129,7 @@ export const checkedRoleNodes = [
}, },
{ {
path: 'stripe-table', path: 'stripe-table',
component: 'pages/index/views/table-demo/stripe-table/index.vue', component: 'pages/index/views/table-demo/stripe-table/index',
name: 'StripeTable', name: 'StripeTable',
meta: { meta: {
title: '带斑马纹表格' title: '带斑马纹表格'
@ -137,7 +137,7 @@ export const checkedRoleNodes = [
}, },
{ {
path: 'border-table', path: 'border-table',
component: 'pages/index/views/table-demo/border-table/index.vue', component: 'pages/index/views/table-demo/border-table/index',
name: 'BorderTable', name: 'BorderTable',
meta: { meta: {
title: '带边框表格' title: '带边框表格'
@ -145,7 +145,7 @@ export const checkedRoleNodes = [
}, },
{ {
path: 'state-table', path: 'state-table',
component: 'pages/index/views/table-demo/state-table/index.vue', component: 'pages/index/views/table-demo/state-table/index',
name: 'StateTable', name: 'StateTable',
meta: { meta: {
title: '带状态表格' title: '带状态表格'
@ -153,7 +153,7 @@ export const checkedRoleNodes = [
}, },
{ {
path: 'fixed-header', path: 'fixed-header',
component: 'pages/index/views/table-demo/fixed-header/index.vue', component: 'pages/index/views/table-demo/fixed-header/index',
name: 'FixedHeader', name: 'FixedHeader',
meta: { meta: {
title: '固定表头' title: '固定表头'
@ -161,7 +161,7 @@ export const checkedRoleNodes = [
}, },
{ {
path: 'fixed-column', path: 'fixed-column',
component: 'pages/index/views/table-demo/fixed-column/index.vue', component: 'pages/index/views/table-demo/fixed-column/index',
name: 'FixedColumn', name: 'FixedColumn',
meta: { meta: {
title: '固定列' title: '固定列'
@ -169,7 +169,7 @@ export const checkedRoleNodes = [
}, },
{ {
path: 'fixed-column-header', path: 'fixed-column-header',
component: 'pages/index/views/table-demo/fixed-column-header/index.vue', component: 'pages/index/views/table-demo/fixed-column-header/index',
name: 'FixedColumnHeader', name: 'FixedColumnHeader',
meta: { meta: {
title: '固定列和表头' title: '固定列和表头'
@ -177,7 +177,7 @@ export const checkedRoleNodes = [
}, },
{ {
path: 'fluid-height', path: 'fluid-height',
component: 'pages/index/views/table-demo/fluid-height/index.vue', component: 'pages/index/views/table-demo/fluid-height/index',
name: 'FluidHeight', name: 'FluidHeight',
meta: { meta: {
title: '流体高度' title: '流体高度'
@ -185,7 +185,7 @@ export const checkedRoleNodes = [
}, },
{ {
path: 'multi-header', path: 'multi-header',
component: 'pages/index/views/table-demo/multi-header/index.vue', component: 'pages/index/views/table-demo/multi-header/index',
name: 'MultiHeader', name: 'MultiHeader',
meta: { meta: {
title: '多级表头' title: '多级表头'
@ -193,7 +193,7 @@ export const checkedRoleNodes = [
}, },
{ {
path: 'single-choice', path: 'single-choice',
component: 'pages/index/views/table-demo/single-choice/index.vue', component: 'pages/index/views/table-demo/single-choice/index',
name: 'SingleChoice', name: 'SingleChoice',
meta: { meta: {
title: '单选' title: '单选'
@ -201,7 +201,7 @@ export const checkedRoleNodes = [
}, },
{ {
path: 'multiple-choice', path: 'multiple-choice',
component: 'pages/index/views/table-demo/multiple-choice/index.vue', component: 'pages/index/views/table-demo/multiple-choice/index',
name: 'MultipleChoice', name: 'MultipleChoice',
meta: { meta: {
title: '多选' title: '多选'
@ -209,7 +209,7 @@ export const checkedRoleNodes = [
}, },
{ {
path: 'sort-table', path: 'sort-table',
component: 'pages/index/views/table-demo/sort-table/index.vue', component: 'pages/index/views/table-demo/sort-table/index',
name: 'SortTable', name: 'SortTable',
meta: { meta: {
title: '排序' title: '排序'
@ -217,7 +217,7 @@ export const checkedRoleNodes = [
}, },
{ {
path: 'screen-table', path: 'screen-table',
component: 'pages/index/views/table-demo/screen-table/index.vue', component: 'pages/index/views/table-demo/screen-table/index',
name: 'ScreenTable', name: 'ScreenTable',
meta: { meta: {
title: '筛选' title: '筛选'
@ -225,7 +225,7 @@ export const checkedRoleNodes = [
}, },
{ {
path: 'expand-row', path: 'expand-row',
component: 'pages/index/views/table-demo/expand-row/index.vue', component: 'pages/index/views/table-demo/expand-row/index',
name: 'ExpandRow', name: 'ExpandRow',
meta: { meta: {
title: '展开行' title: '展开行'
@ -233,7 +233,7 @@ export const checkedRoleNodes = [
}, },
{ {
path: 'tree-and-load', path: 'tree-and-load',
component: 'pages/index/views/table-demo/tree-and-load/index.vue', component: 'pages/index/views/table-demo/tree-and-load/index',
name: 'TreeAndLoad', name: 'TreeAndLoad',
meta: { meta: {
title: '树形数据与懒加载' title: '树形数据与懒加载'
@ -241,7 +241,7 @@ export const checkedRoleNodes = [
}, },
{ {
path: 'custom-header', path: 'custom-header',
component: 'pages/index/views/table-demo/custom-header/index.vue', component: 'pages/index/views/table-demo/custom-header/index',
name: 'CustomHeader', name: 'CustomHeader',
meta: { meta: {
title: '自定义表头' title: '自定义表头'
@ -249,7 +249,7 @@ export const checkedRoleNodes = [
}, },
{ {
path: 'total-table', path: 'total-table',
component: 'pages/index/views/table-demo/total-table/index.vue', component: 'pages/index/views/table-demo/total-table/index',
name: 'TotalTable', name: 'TotalTable',
meta: { meta: {
title: '表尾合计行' title: '表尾合计行'
@ -257,7 +257,7 @@ export const checkedRoleNodes = [
}, },
{ {
path: 'merge-table', path: 'merge-table',
component: 'pages/index/views/table-demo/merge-table/index.vue', component: 'pages/index/views/table-demo/merge-table/index',
name: 'MergeTable', name: 'MergeTable',
meta: { meta: {
title: '合并行或列' title: '合并行或列'
@ -265,7 +265,7 @@ export const checkedRoleNodes = [
}, },
{ {
path: 'custom-index', path: 'custom-index',
component: 'pages/index/views/table-demo/custom-index/index.vue', component: 'pages/index/views/table-demo/custom-index/index',
name: 'CustomIndex', name: 'CustomIndex',
meta: { meta: {
title: '自定义索引' title: '自定义索引'
@ -286,7 +286,7 @@ export const checkedRoleNodes = [
children: [ children: [
{ {
path: 'clipboard', path: 'clipboard',
component: 'pages/index/views/directives-demo/clipboard/index.vue', component: 'pages/index/views/directives-demo/clipboard/index',
name: 'ClipboardDemo', name: 'ClipboardDemo',
meta: { meta: {
title: 'Clipboard' title: 'Clipboard'
@ -307,7 +307,7 @@ export const checkedRoleNodes = [
children: [ children: [
{ {
path: 'watermark', path: 'watermark',
component: 'pages/index/views/hooks-demo/useWatermark/index.vue', component: 'pages/index/views/hooks-demo/useWatermark/index',
name: 'UseWatermarkDemo', name: 'UseWatermarkDemo',
meta: { meta: {
title: 'UseWaterMark' title: 'UseWaterMark'
@ -315,7 +315,7 @@ export const checkedRoleNodes = [
}, },
{ {
path: 'useScrollTo', path: 'useScrollTo',
component: 'pages/index/views/hooks-demo/useScrollTo/index.vue', component: 'pages/index/views/hooks-demo/useScrollTo/index',
name: 'UseScrollToDemo', name: 'UseScrollToDemo',
meta: { meta: {
title: 'UseScrollTo' title: 'UseScrollTo'
@ -334,7 +334,7 @@ export const checkedRoleNodes = [
children: [ children: [
{ {
path: 'index', path: 'index',
component: 'pages/index/views/icons/index.vue', component: 'pages/index/views/icons/index',
name: 'Icons', name: 'Icons',
meta: { meta: {
title: '图标', title: '图标',
@ -375,7 +375,7 @@ export const checkedRoleNodes = [
{ {
path: 'menu1-1-1', path: 'menu1-1-1',
name: 'Menu111Demo', name: 'Menu111Demo',
component: 'pages/index/views/level/Menu111.vue', component: 'pages/index/views/level/Menu111',
meta: { meta: {
title: 'Menu1-1-1' title: 'Menu1-1-1'
} }
@ -385,7 +385,7 @@ export const checkedRoleNodes = [
{ {
path: 'menu1-2', path: 'menu1-2',
name: 'Menu12Demo', name: 'Menu12Demo',
component: 'pages/index/views/level/Menu12.vue', component: 'pages/index/views/level/Menu12',
meta: { meta: {
title: 'Menu1-2' title: 'Menu1-2'
} }
@ -395,7 +395,7 @@ export const checkedRoleNodes = [
{ {
path: 'menu2', path: 'menu2',
name: 'Menu2Demo', name: 'Menu2Demo',
component: 'pages/index/views/level/Menu2.vue', component: 'pages/index/views/level/Menu2',
meta: { meta: {
title: 'Menu2' title: 'Menu2'
} }
@ -415,7 +415,7 @@ export const checkedRoleNodes = [
children: [ children: [
{ {
path: 'example-dialog', path: 'example-dialog',
component: 'pages/index/views/example-demo/example-dialog/index.vue', component: 'pages/index/views/example-demo/example-dialog/index',
name: 'ExampleDialog', name: 'ExampleDialog',
meta: { meta: {
title: '列表综合实例-弹窗' title: '列表综合实例-弹窗'
@ -423,7 +423,7 @@ export const checkedRoleNodes = [
}, },
{ {
path: 'example-page', path: 'example-page',
component: 'pages/index/views/example-demo/example-page/index.vue', component: 'pages/index/views/example-demo/example-page/index',
name: 'ExamplePage', name: 'ExamplePage',
meta: { meta: {
title: '列表综合实例-页面' title: '列表综合实例-页面'
@ -431,7 +431,7 @@ export const checkedRoleNodes = [
}, },
{ {
path: 'example-add', path: 'example-add',
component: 'pages/index/views/example-demo/example-page/example-add.vue', component: 'pages/index/views/example-demo/example-page/example-add',
name: 'ExampleAdd', name: 'ExampleAdd',
meta: { meta: {
title: '列表综合实例-新增', title: '列表综合实例-新增',
@ -444,7 +444,7 @@ export const checkedRoleNodes = [
}, },
{ {
path: 'example-edit', path: 'example-edit',
component: 'pages/index/views/example-demo/example-page/example-edit.vue', component: 'pages/index/views/example-demo/example-page/example-edit',
name: 'ExampleEdit', name: 'ExampleEdit',
meta: { meta: {
title: '列表综合实例-编辑', title: '列表综合实例-编辑',
@ -457,7 +457,7 @@ export const checkedRoleNodes = [
}, },
{ {
path: 'example-detail', path: 'example-detail',
component: 'pages/index/views/example-demo/example-page/example-detail.vue', component: 'pages/index/views/example-demo/example-page/example-detail',
name: 'ExampleDetail', name: 'ExampleDetail',
meta: { meta: {
title: '列表综合实例-详情', title: '列表综合实例-详情',
@ -483,7 +483,7 @@ export const checkedRoleNodes = [
children: [ children: [
{ {
path: 'user', path: 'user',
component: 'pages/index/views/role-demo/user/index.vue', component: 'pages/index/views/role-demo/user/index',
name: 'User', name: 'User',
meta: { meta: {
title: '用户管理' title: '用户管理'
@ -491,7 +491,7 @@ export const checkedRoleNodes = [
}, },
{ {
path: 'role', path: 'role',
component: 'pages/index/views/role-demo/role/index.vue', component: 'pages/index/views/role-demo/role/index',
name: 'Role', name: 'Role',
meta: { meta: {
title: '角色管理' title: '角色管理'

View File

@ -134,7 +134,8 @@ function getFilterRoutes(routes: any[]): any[] {
? Layout ? Layout
: (route.component.includes('##') : (route.component.includes('##')
? getParentLayout(route.component.split('##')[1]) ? getParentLayout(route.component.split('##')[1])
: () => import(`@/${route.component}`)) // 必须加'.vue'后缀,而不能直接把'.vue'后缀写在component中。否则会报出警告。。
: () => import('@/' + route.component + '.vue'))
} }
// recursive child routes // recursive child routes
if (route.children) { if (route.children) {

View File

@ -48,6 +48,8 @@
"tests/**/*.tsx" "tests/**/*.tsx"
], ],
"exclude": [ "exclude": [
"node_modules" "node_modules",
"dist",
"**/*.js"
] ]
} }

14228
tsconfig.tsbuildinfo Normal file

File diff suppressed because it is too large Load Diff

View File

@ -37,6 +37,8 @@ glob.sync('./src/pages/**/main.ts').forEach((entry) => {
projectName ? entryPages[projectName] = pages[projectName] : entryPages = pages projectName ? entryPages[projectName] = pages[projectName] : entryPages = pages
const Timestamp = new Date().getTime()
const vueConfig = { const vueConfig = {
pages: entryPages, pages: entryPages,
publicPath: './', publicPath: './',
@ -165,14 +167,21 @@ const vueConfig = {
}) })
}) })
}, },
configureWebpack: () => { configureWebpack: {
process.env.NODE_ENV === 'development' ? 'source-map' : undefined output: {
filename: `js/[name].[hash].${Timestamp}.js`,
chunkFilename: `js/[name].[hash].${Timestamp}.js`
}
}, },
css: { css: {
loaderOptions: { loaderOptions: {
less: { less: {
javascriptEnabled: true javascriptEnabled: true
} }
},
extract: {
filename: `css/[name].[hash].${Timestamp}.css`,
chunkFilename: `css/[name].[hash].${Timestamp}.css`
} }
}, },
// 跨域代理 // 跨域代理