From 782a1f15b663f07962caa2c3a5eee07654cefddf Mon Sep 17 00:00:00 2001 From: FairyEver <1711467488@qq.com> Date: Tue, 3 Nov 2020 13:15:16 +0800 Subject: [PATCH] =?UTF-8?q?style:=20:art:=20=E8=8F=9C=E5=8D=95=E5=92=8C?= =?UTF-8?q?=E8=B7=AF=E7=94=B1=E4=BD=BF=E7=94=A8=E6=9C=80=E7=9B=B4=E8=A7=82?= =?UTF-8?q?=E7=9A=84=E6=8F=8F=E8=BF=B0=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 47 ++++++++--------- README.zh.md | 15 ++---- src/menu/modules/demo-components.js | 68 ++++++++++++------------ src/menu/modules/demo-playground.js | 82 ++++++++++++++--------------- src/menu/modules/demo-plugins.js | 30 +++++------ src/router/modules/components.js | 56 ++++++++++---------- src/router/modules/playground.js | 66 +++++++++++------------ src/router/modules/plugins.js | 24 ++++----- 8 files changed, 189 insertions(+), 199 deletions(-) diff --git a/README.md b/README.md index 79b5ea42..f3f8622a 100644 --- a/README.md +++ b/README.md @@ -29,10 +29,10 @@ The following access addresses are built and deployed by the latest master branc | server | link | server | | --- | --- | --- | -| d2.pub | [preview](https://d2.pub/d2-admin/preview) | China server | -| cdn.d2.pub | [preview](https://cdn.d2.pub/d2-admin/preview) | qiniu CDN | -| github | [preview](https://d2-projects.github.io/d2-admin) | GitHub pages | -| netlify | [preview](https://d2-admin.netlify.com) | Netlify CDN | +| d2.pub | [Link](https://d2.pub/d2-admin/preview) | China server | +| cdn.d2.pub | [Link](https://cdn.d2.pub/d2-admin/preview) | qiniu CDN | +| github | [Link](https://d2-projects.github.io/d2-admin) | GitHub pages | +| netlify | [Link](https://d2-admin.netlify.com) | Netlify CDN | ## Document @@ -110,27 +110,22 @@ The following access addresses are built and deployed by the latest master branc | Name | HomePage | Preview | Introduction | | --- | --- | --- | --- | -| Starter template | [Github](https://github.com/d2-projects/d2-admin-start-kit) | [preview](https://d2.pub/d2-admin-start-kit/preview) | The simplest version | +| Starter template | [Link](https://github.com/d2-projects/d2-admin-start-kit) | [Link](https://d2.pub/d2-admin-start-kit/preview) | The simplest version | -## Ecology - -| Name | HomePage | Preview | Introduction | -| --- | --- | --- | --- | -| D2 CRUD | [Github](https://github.com/d2-projects/d2-crud) | [preview](https://d2.pub/d2-admin/preview/#/demo/d2-crud/index) | Table common operation package | -| D2 Ribbons | [Github](https://github.com/d2-projects/d2-ribbons) | [preview](https://github.com/d2-projects/d2-ribbons) | Open source project logo library | - -## Derived open source projects +## Community projects > These projects are contributed by the open source community and are not guaranteed to use the latest version of D2Admin. Please contact their open source authors for related usage questions. | Name | HomePage | Preview | Introduction | | --- | --- | --- | --- | -| d2-admin-xiya-go-cms | [Github](https://github.com/d2-projects/d2-admin-xiya-go-cms) | [preview](https://d2.pub/d2-admin-xiya-go-cms/preview) | D2Admin + authority system + dynamic router | -| d2-advance | [Github](https://github.com/d2-projects/d2-advance) | [preview](https://d2.pub/d2-advance/preview) | Technical exploration inspired by D2Admin | -| d2-admin-pm | [Github](https://github.com/wjkang/d2-admin-pm) | [preview](http://jaycewu.coding.me/d2-admin-pm) | RBAC privilege management solution based on D2Admin | -| LanBlog | [Github](https://github.com/sinksmell/LanBlog) | [preview](http://47.101.222.133/) | Vue + Beego restful api personal blog system | -| d2-admin-start-kit-plus | [Github](https://github.com/hank-cp/d2-admin-start-kit-plus) | [preview](https://github.com/hank-cp/d2-admin-start-kit-plus) | D2Admin Start kit modular version | -| d2-crud-plus | [Github](https://github.com/greper/d2-crud-plus) | [preview](http://qiniu.veryreader.com/D2CrudPlusExample/index.html#/index) | Easy development of crud function | +| d2-admin-xiya-go-cms | [Link](https://github.com/d2-projects/d2-admin-xiya-go-cms) | [Link](https://d2.pub/d2-admin-xiya-go-cms/preview) | D2Admin + authority system + dynamic router | +| d2-advance | [Link](https://github.com/d2-projects/d2-advance) | [Link](https://d2.pub/d2-advance/preview) | Technical exploration inspired by D2Admin | +| d2-crud-plus | [Link](https://github.com/greper/d2-crud-plus) | [Link](http://qiniu.veryreader.com/D2CrudPlusExample/index.html) | Easy development of crud function | +| d2-crud | [Link](https://github.com/d2-projects/d2-crud) | [Link]() | Encapsulation of common operations in tables | +| d2-admin-pm | [Link](https://github.com/wjkang/d2-admin-pm) | [Link](http://jaycewu.coding.me/d2-admin-pm) | RBAC privilege management solution based on D2Admin | +| LanBlog | [Link](https://github.com/sinksmell/LanBlog) | [Link](http://47.101.222.133/) | Vue + Beego restful api personal blog system | +| d2-admin-start-kit-plus | [Link](https://github.com/hank-cp/d2-admin-start-kit-plus) | [Link](https://github.com/hank-cp/d2-admin-start-kit-plus) | D2Admin Start kit modular version | +| d2-ribbons | [Link](https://github.com/d2-projects/d2-ribbons) | [Link](https://github.com/d2-projects/d2-ribbons) | Open source project logo Library | ## Open source backend implementation @@ -138,13 +133,13 @@ The following access addresses are built and deployed by the latest master branc | Name | technology | HomePage | Preview | Introduction | | --- | --- | --- | --- | --- | -| **FlaskPermission** | Flask | [Github](https://github.com/huguodong/flask-permission) | [preview](http://47.97.218.139:9999) | Permission management based on Flask | -| **CareyShop** | ThinkPHP5 | [Github](https://github.com/dnyz520/careyshop-admin) | [preview](https://demo.careyshop.cn/admin/#/index) | High Performance Mall Framework System for CareyShop | -| **jiiiiiin-security** | Spring Boot | [Github](https://github.com/Jiiiiiin/jiiiiiin-security) | [preview](https://github.com/Jiiiiiin/jiiiiiin-security) | Separate front-end and back-end content management infrastructure projects, focusing on user rights management functions | -| **Taroco** | Spring Cloud | [Github](https://github.com/liuht777/Taroco) | [preview](http://111.231.192.110/) | Complete microservice enterprise solution | -| **Aooms** | Spring Cloud | [Gitee](https://gitee.com/cyb-javaer/Aooms) | [preview](https://www.yuboon.com/Aooms) | Extremely fast microservice development, not just as simple as JFinal | -| **GOA** | Beego | [Github](https://github.com/Qsnh/goa) | [preview](http://goaio.vip/) | Online question answering system based on Beego + Vue | -| **CMDB** | Django | [Github](https://github.com/CJFJack/django_vue_cmdb) | [preview](https://mp.weixin.qq.com/s?__biz=MzU1OTYzODA4Mw==&mid=2247484250&idx=1&sn=981024ac0580d8a3eba95742bd32b268) | authority system with dynamic menu | +| **FlaskPermission** | Flask | [Link](https://github.com/huguodong/flask-permission) | [Link](http://47.97.218.139:9999) | Permission management based on Flask | +| **CareyShop** | ThinkPHP5 | [Link](https://github.com/dnyz520/careyshop-admin) | [Link](https://demo.careyshop.cn/admin/) | High Performance Mall Framework System for CareyShop | +| **jiiiiiin-security** | Spring Boot | [Link](https://github.com/Jiiiiiin/jiiiiiin-security) | [Link](https://github.com/Jiiiiiin/jiiiiiin-security) | Content management infrastructure projects | +| **Taroco** | Spring Cloud | [Link](https://github.com/liuht777/Taroco) | [Link](http://111.231.192.110/) | Complete microservice enterprise solution | +| **Aooms** | Spring Cloud | [Link](https://gitee.com/cyb-javaer/Aooms) | [Link](https://www.yuboon.com/Aooms) | Extremely fast microservice development, not just as simple as JFinal | +| **GOA** | Beego | [Link](https://github.com/Qsnh/goa) | [Link](http://goaio.vip/) | Online question answering system based on Beego + Vue | +| **CMDB** | Django | [Link](https://github.com/CJFJack/django_vue_cmdb) | [Link](https://mp.weixin.qq.com/s?__biz=MzU1OTYzODA4Mw==&mid=2247484250&idx=1&sn=981024ac0580d8a3eba95742bd32b268) | authority system with dynamic menu | ## Badge diff --git a/README.zh.md b/README.zh.md index 3378609d..55b7eb19 100644 --- a/README.zh.md +++ b/README.zh.md @@ -114,14 +114,7 @@ | --- | --- | --- | --- | | 简化版模板 | [Github](https://github.com/d2-projects/d2-admin-start-kit) | [预览](https://d2.pub/d2-admin-start-kit/preview) | 无 | -## 生态 - -| 名称 | Github / 主页 | 预览 | 介绍 | -| --- | --- | --- | --- | -| D2 CRUD | [Github](https://github.com/d2-projects/d2-crud) | [预览](https://d2.pub/d2-admin/preview/#/demo/d2-crud/index) | 表格常用操作封装 | -| D2 Ribbons | [Github](https://github.com/d2-projects/d2-ribbons) | [预览](https://github.com/d2-projects/d2-ribbons) | 开源项目徽标库 | - -## 衍生开源项目 +## 社区项目 > 这些项目由开源社区贡献,不保证使用 D2Admin 最新版本,相关使用问题请联系其开源作者。 @@ -129,10 +122,12 @@ | --- | --- | --- | --- | | d2-admin-xiya-go-cms | [Github](https://github.com/d2-projects/d2-admin-xiya-go-cms) | [预览](https://d2.pub/d2-admin-xiya-go-cms/preview) | D2Admin + 权限系统 + 动态路由 | | d2-advance | [Github](https://github.com/d2-projects/d2-advance) | [预览](https://d2.pub/d2-advance/preview) | 由 D2Admin 启发的技术探索 | +| d2-crud-plus | [Github](https://github.com/greper/d2-crud-plus) | [预览](http://qiniu.veryreader.com/D2CrudPlusExample/index.html) | 简化d2-crud配置,快速开发crud功能 | +| d2-crud | [Github](https://github.com/d2-projects/d2-crud) | [预览]() | 表格常用操作封装 | | d2-admin-pm | [Github](https://github.com/wjkang/d2-admin-pm) | [预览](http://jaycewu.coding.me/d2-admin-pm) | 基于 D2Admin 的 RBAC 权限管理解决方案 | | LanBlog | [Github](https://github.com/sinksmell/LanBlog) | [预览](http://47.101.222.133/) | Vue + Beego restful api 开发的懒人博客 | | d2-admin-start-kit-plus | [Github](https://github.com/hank-cp/d2-admin-start-kit-plus) | [预览](https://github.com/hank-cp/d2-admin-start-kit-plus) | D2Admin 简化版模块化版本 | -| d2-crud-plus | [Github](https://github.com/greper/d2-crud-plus) | [预览](http://qiniu.veryreader.com/D2CrudPlusExample/index.html#/index) | 简化d2-crud配置,快速开发crud功能 | +| d2-ribbons | [Github](https://github.com/d2-projects/d2-ribbons) | [预览](https://github.com/d2-projects/d2-ribbons) | 开源项目徽标库 | ## 开源后端实现 @@ -152,7 +147,7 @@ D2Admin 是完全开源免费的项目,旨在帮助开发者更方便地进行管理系统开发,同时也提供 QQ 交流群和微信群,前后端的朋友可以相互答疑,项目组成员全部在内,所有 D2 相关项目使用问题欢迎在群内提问。 -* QQ 1 群 `806395827` ( 2000 人已满 ) +* QQ 1 群 `806395827` * QQ 2 群 `592981556` ![join](https://raw.githubusercontent.com/FairyEver/d2-admin/master/docs/image/join@2x.png) diff --git a/src/menu/modules/demo-components.js b/src/menu/modules/demo-components.js index 7edaf985..b81123b9 100644 --- a/src/menu/modules/demo-components.js +++ b/src/menu/modules/demo-components.js @@ -2,88 +2,88 @@ export default { path: '/demo/components', title: '组件', icon: 'puzzle-piece', - children: (pre => [ - { path: `${pre}index`, title: '扩展组件', icon: 'home' }, + children: [ + { path: '/demo/components/index', title: '扩展组件', icon: 'home' }, { - path: `${pre}container`, + path: '/demo/components/container', title: '布局容器', icon: 'window-restore', children: [ { title: '填充型', children: [ - { path: `${pre}container/full`, title: '基础', icon: '' }, - { path: `${pre}container/full-slot`, title: '插槽', icon: '' }, - { path: `${pre}container/full-bs`, title: '滚动优化', icon: '' } + { path: '/demo/components/container/full', title: '基础', icon: '' }, + { path: '/demo/components/container/full-slot', title: '插槽', icon: '' }, + { path: '/demo/components/container/full-bs', title: '滚动优化', icon: '' } ] }, { title: '隐形模式', children: [ - { path: `${pre}container/ghost`, title: '基础', icon: '' }, - { path: `${pre}container/ghost-slot`, title: '插槽', icon: '' }, - { path: `${pre}container/ghost-bs`, title: '滚动优化', icon: '' } + { path: '/demo/components/container/ghost', title: '基础', icon: '' }, + { path: '/demo/components/container/ghost-slot', title: '插槽', icon: '' }, + { path: '/demo/components/container/ghost-bs', title: '滚动优化', icon: '' } ] }, { title: '卡片型', children: [ - { path: `${pre}container/card`, title: '基础', icon: '' }, - { path: `${pre}container/card-slot`, title: '插槽', icon: '' }, - { path: `${pre}container/card-bs`, title: '滚动优化', icon: '' } + { path: '/demo/components/container/card', title: '基础', icon: '' }, + { path: '/demo/components/container/card-slot', title: '插槽', icon: '' }, + { path: '/demo/components/container/card-bs', title: '滚动优化', icon: '' } ] }, { title: '方法', children: [ - { path: `${pre}container/api?bs=false`, title: '滚动控制', icon: '' }, - { path: `${pre}container/api?bs=true`, title: '滚动控制 BS', icon: '' } + { path: '/demo/components/container/api?bs=false', title: '滚动控制', icon: '' }, + { path: '/demo/components/container/api?bs=true', title: '滚动控制 BS', icon: '' } ] } ] }, { - path: `${pre}layout/grid`, + path: '/demo/components/layout/grid', title: '高级布局', icon: 'tasks', children: [ - { path: `${pre}layout/grid`, title: '拖拽位置和大小' }, - { path: `${pre}layout/splitpane`, title: '区域划分' } + { path: '/demo/components/layout/grid', title: '拖拽位置和大小' }, + { path: '/demo/components/layout/splitpane', title: '区域划分' } ] }, { - path: `${pre}editor`, + path: '/demo/components/editor', title: '编辑器', icon: 'pencil-square-o', children: [ - { path: `${pre}editor-ueditor`, title: 'UEditor', icon: '' }, - { path: `${pre}editor-quill`, title: 'Quill', icon: '' }, - { path: `${pre}editor-simpleMDE`, title: 'simpleMDE', icon: '' } + { path: '/demo/components/editor-ueditor', title: 'UEditor', icon: '' }, + { path: '/demo/components/editor-quill', title: 'Quill', icon: '' }, + { path: '/demo/components/editor-simpleMDE', title: 'simpleMDE', icon: '' } ] }, { - path: `${pre}icon`, + path: '/demo/components/icon', title: '图标', icon: 'star', children: [ - { path: `${pre}icon/icon`, title: '图标组件' }, - { path: `${pre}icon/icon-svg`, title: 'svg 图标组件' }, - { path: `${pre}icon/select`, title: '图标选择器' }, - { path: `${pre}icon/select-svg`, title: 'svg 图标选择器' }, - { path: `${pre}icon/list`, title: 'FontAwesome' } + { path: '/demo/components/icon/icon', title: '图标组件' }, + { path: '/demo/components/icon/icon-svg', title: 'svg 图标组件' }, + { path: '/demo/components/icon/select', title: '图标选择器' }, + { path: '/demo/components/icon/select-svg', title: 'svg 图标选择器' }, + { path: '/demo/components/icon/list', title: 'FontAwesome' } ] }, { - path: `${pre}markdown`, + path: '/demo/components/markdown', title: 'markdown 解析', icon: 'file-text-o', children: [ - { path: `${pre}markdown/source`, title: '指定资源' }, - { path: `${pre}markdown/url`, title: '异步加载文件' } + { path: '/demo/components/markdown/source', title: '指定资源' }, + { path: '/demo/components/markdown/url', title: '异步加载文件' } ] }, - { path: `${pre}countup`, title: '数字动画', icon: 'motorcycle' }, - { path: `${pre}highlight`, title: '代码高亮显示', icon: 'code' }, - { path: `${pre}json-tree`, title: 'JSON 展示', icon: 'sitemap' } - ])('/demo/components/') + { path: '/demo/components/countup', title: '数字动画', icon: 'motorcycle' }, + { path: '/demo/components/highlight', title: '代码高亮显示', icon: 'code' }, + { path: '/demo/components/json-tree', title: 'JSON 展示', icon: 'sitemap' } + ] } diff --git a/src/menu/modules/demo-playground.js b/src/menu/modules/demo-playground.js index 76a32f65..d002744d 100644 --- a/src/menu/modules/demo-playground.js +++ b/src/menu/modules/demo-playground.js @@ -2,8 +2,8 @@ export default { path: '/demo/playground', title: '功能', icon: 'flask', - children: (pre => [ - { path: `${pre}index`, title: '功能', icon: 'home' }, + children: [ + { path: '/demo/playground/index', title: '功能', icon: 'home' }, { title: 'svg 菜单图标', iconSvg: 'd2-admin', @@ -38,13 +38,13 @@ export default { ] }, { - path: `${pre}frame`, + path: '/demo/playground/frame', title: '内嵌网页', icon: 'globe', children: [ - { path: `${pre}frame/d2-doc`, title: 'D2Admin 中文文档', iconSvg: 'd2-admin' }, - { path: `${pre}frame/html`, title: '静态 HTML', icon: 'code' }, - { path: `${pre}frame/report`, title: '构建分析', icon: 'pie-chart' } + { path: '/demo/playground/frame/d2-doc', title: 'D2Admin 中文文档', iconSvg: 'd2-admin' }, + { path: '/demo/playground/frame/html', title: '静态 HTML', icon: 'code' }, + { path: '/demo/playground/frame/report', title: '构建分析', icon: 'pie-chart' } ] }, { @@ -60,74 +60,74 @@ export default { ] }, { - path: `${pre}store`, + path: '/demo/playground/store', title: '全局状态管理', icon: 'bolt', children: [ - { path: `${pre}store/page`, title: '多标签页控制', icon: 'window-restore' }, - { path: `${pre}store/menu`, title: '菜单控制', icon: 'bars' }, - { path: `${pre}store/size`, title: '全局尺寸', icon: 'font' }, - { path: `${pre}store/ua`, title: '浏览器信息', icon: 'info-circle' }, - { path: `${pre}store/gray`, title: '灰度模式', icon: 'eye' }, - { path: `${pre}store/fullscreen`, title: '全屏', icon: 'arrows-alt' }, - { path: `${pre}store/theme`, title: '主题', icon: 'diamond' }, - { path: `${pre}store/transition`, title: '页面过渡开关', icon: 'toggle-on' } + { path: '/demo/playground/store/page', title: '多标签页控制', icon: 'window-restore' }, + { path: '/demo/playground/store/menu', title: '菜单控制', icon: 'bars' }, + { path: '/demo/playground/store/size', title: '全局尺寸', icon: 'font' }, + { path: '/demo/playground/store/ua', title: '浏览器信息', icon: 'info-circle' }, + { path: '/demo/playground/store/gray', title: '灰度模式', icon: 'eye' }, + { path: '/demo/playground/store/fullscreen', title: '全屏', icon: 'arrows-alt' }, + { path: '/demo/playground/store/theme', title: '主题', icon: 'diamond' }, + { path: '/demo/playground/store/transition', title: '页面过渡开关', icon: 'toggle-on' } ] }, { - path: `${pre}page-cache`, + path: '/demo/playground/page-cache', title: '页面缓存', icon: 'hdd-o', children: [ - { path: `${pre}page-cache/on`, title: '开启缓存' }, - { path: `${pre}page-cache/off`, title: '关闭缓存' }, - { path: `${pre}page-cache/params/1`, title: '带参路由缓存 1' }, - { path: `${pre}page-cache/params/2`, title: '带参路由缓存 2' } + { path: '/demo/playground/page-cache/on', title: '开启缓存' }, + { path: '/demo/playground/page-cache/off', title: '关闭缓存' }, + { path: '/demo/playground/page-cache/params/1', title: '带参路由缓存 1' }, + { path: '/demo/playground/page-cache/params/2', title: '带参路由缓存 2' } ] }, { - path: `${pre}page-argu`, + path: '/demo/playground/page-argu', title: '参数传递和留存', icon: 'assistive-listening-systems', children: [ - { path: `${pre}page-argu/send`, title: '发送' }, - { path: `${pre}page-argu/get/username-from-menu?userid=userid-from-menu`, title: '接收' } + { path: '/demo/playground/page-argu/send', title: '发送' }, + { path: '/demo/playground/page-argu/get/username-from-menu?userid=userid-from-menu', title: '接收' } ] }, { - path: `${pre}db`, + path: '/demo/playground/db', title: '数据持久化', icon: 'database', children: [ - { path: `${pre}db/all`, title: '总览', icon: 'table' }, - { path: `${pre}db/public`, title: '公共存储', icon: 'users' }, - { path: `${pre}db/user`, title: '私有数据', icon: 'user' }, - { path: `${pre}db/page-public`, title: '路由存储', icon: 'file-o' }, - { path: `${pre}db/page-user`, title: '私有路由存储', icon: 'file-o' }, - { path: `${pre}db/page-snapshot-public`, title: '路由快照', icon: 'file' }, - { path: `${pre}db/page-snapshot-user`, title: '私有路由快照', icon: 'file' } + { path: '/demo/playground/db/all', title: '总览', icon: 'table' }, + { path: '/demo/playground/db/public', title: '公共存储', icon: 'users' }, + { path: '/demo/playground/db/user', title: '私有数据', icon: 'user' }, + { path: '/demo/playground/db/page-public', title: '路由存储', icon: 'file-o' }, + { path: '/demo/playground/db/page-user', title: '私有路由存储', icon: 'file-o' }, + { path: '/demo/playground/db/page-snapshot-public', title: '路由快照', icon: 'file' }, + { path: '/demo/playground/db/page-snapshot-user', title: '私有路由快照', icon: 'file' } ] }, { - path: `${pre}log`, + path: '/demo/playground/log', title: '日志', icon: 'bullseye', children: [ - { path: `${pre}log/log`, title: '日志记录', icon: 'dot-circle-o' }, - { path: `${pre}log/error`, title: '错误捕捉', icon: 'bug' }, - { path: `${pre}log/ajax`, title: 'Ajax 错误', icon: 'bug' }, - { path: `${pre}log/console`, title: '控制台日志', icon: 'lightbulb-o' } + { path: '/demo/playground/log/log', title: '日志记录', icon: 'dot-circle-o' }, + { path: '/demo/playground/log/error', title: '错误捕捉', icon: 'bug' }, + { path: '/demo/playground/log/ajax', title: 'Ajax 错误', icon: 'bug' }, + { path: '/demo/playground/log/console', title: '控制台日志', icon: 'lightbulb-o' } ] }, { - path: `${pre}add-routes`, + path: '/demo/playground/add-routes', title: '动态添加路由', icon: 'plus-square', children: [ - { path: `${pre}add-routes/routes`, title: '添加页面', icon: 'file-o' } + { path: '/demo/playground/add-routes/routes', title: '添加页面', icon: 'file-o' } ] }, - { path: `${pre}env`, title: '环境信息', icon: 'exclamation-circle' }, - { path: `${pre}locales`, title: '国际化', icon: 'language' } - ])('/demo/playground/') + { path: '/demo/playground/env', title: '环境信息', icon: 'exclamation-circle' }, + { path: '/demo/playground/locales', title: '国际化', icon: 'language' } + ] } diff --git a/src/menu/modules/demo-plugins.js b/src/menu/modules/demo-plugins.js index c486adfd..b18f8d3a 100644 --- a/src/menu/modules/demo-plugins.js +++ b/src/menu/modules/demo-plugins.js @@ -2,37 +2,37 @@ export default { path: '/demo/plugins', title: '插件', icon: 'plug', - children: (pre => [ - { path: `${pre}index`, title: '插件', icon: 'home' }, + children: [ + { path: '/demo/plugins/index', title: '插件', icon: 'home' }, { - path: `${pre}import`, + path: '/demo/plugins/import', title: '导入', icon: 'download', children: [ - { path: `${pre}import/csv`, title: 'csv' }, - { path: `${pre}import/xlsx`, title: 'xlsx' } + { path: '/demo/plugins/import/csv', title: 'csv' }, + { path: '/demo/plugins/import/xlsx', title: 'xlsx' } ] }, { - path: `${pre}export`, + path: '/demo/plugins/export', title: '导出', icon: 'upload', children: [ - { path: `${pre}export/table`, title: '表格' }, - { path: `${pre}export/txt`, title: '文本' } + { path: '/demo/plugins/export/table', title: '表格' }, + { path: '/demo/plugins/export/txt', title: '文本' } ] }, { - path: `${pre}better-scroll`, + path: '/demo/plugins/better-scroll', title: '滚动扩展', icon: 'crosshairs', children: [ - { path: `${pre}better-scroll/base`, title: '基础用法' }, - { path: `${pre}better-scroll/to`, title: '滚动定位' } + { path: '/demo/plugins/better-scroll/base', title: '基础用法' }, + { path: '/demo/plugins/better-scroll/to', title: '滚动定位' } ] }, - { path: `${pre}clipboard-polyfill`, title: '剪贴板访问', icon: 'clipboard' }, - { path: `${pre}day`, title: '日期计算', icon: 'clock-o' }, - { path: `${pre}js-cookie`, title: 'Cookie 读写', icon: 'asterisk' } - ])('/demo/plugins/') + { path: '/demo/plugins/clipboard-polyfill', title: '剪贴板访问', icon: 'clipboard' }, + { path: '/demo/plugins/day', title: '日期计算', icon: 'clock-o' }, + { path: '/demo/plugins/js-cookie', title: 'Cookie 读写', icon: 'asterisk' } + ] } diff --git a/src/router/modules/components.js b/src/router/modules/components.js index 80cb05c7..9d414287 100644 --- a/src/router/modules/components.js +++ b/src/router/modules/components.js @@ -11,32 +11,32 @@ export default { meta, redirect: { name: 'demo-components-index' }, component: layoutHeaderAside, - children: (pre => [ - { path: 'container/full', name: `${pre}container-full`, component: _import('demo/components/container/full.vue'), meta: { ...meta, title: '布局组件 填充' } }, - { path: 'container/full-slot', name: `${pre}container-full-slot`, component: _import('demo/components/container/full-slot.vue'), meta: { ...meta, title: '布局组件 填充 插槽' } }, - { path: 'container/full-bs', name: `${pre}container-full-bs`, component: _import('demo/components/container/full-bs.vue'), meta: { ...meta, title: '布局组件 填充 滚动优化' } }, - { path: 'container/ghost', name: `${pre}container-ghost`, component: _import('demo/components/container/ghost.vue'), meta: { ...meta, title: '布局组件 隐形' } }, - { path: 'container/ghost-slot', name: `${pre}container-ghost-slot`, component: _import('demo/components/container/ghost-slot.vue'), meta: { ...meta, title: '布局组件 隐形 插槽' } }, - { path: 'container/ghost-bs', name: `${pre}container-ghost-bs`, component: _import('demo/components/container/ghost-bs.vue'), meta: { ...meta, title: '布局组件 隐形 滚动优化' } }, - { path: 'container/card', name: `${pre}container-card`, component: _import('demo/components/container/card.vue'), meta: { ...meta, title: '布局组件 卡片' } }, - { path: 'container/card-slot', name: `${pre}container-card-slot`, component: _import('demo/components/container/card-slot.vue'), meta: { ...meta, title: '布局组件 卡片 插槽' } }, - { path: 'container/card-bs', name: `${pre}container-card-bs`, component: _import('demo/components/container/card-bs.vue'), meta: { ...meta, title: '布局组件 卡片 滚动优化' } }, - { path: 'container/api', name: `${pre}container-api`, component: _import('demo/components/container/api.vue'), meta: { ...meta, title: '布局组件 API' } }, - { path: 'countup', name: `${pre}countup`, component: _import('demo/components/countup'), meta: { ...meta, title: '数字动画' } }, - { path: 'editor-ueditor', name: `${pre}editor-ueditor`, component: _import('demo/components/editor-ueditor'), meta: { ...meta, title: 'UEditor' } }, - { path: 'editor-quill', name: `${pre}editor-quill`, component: _import('demo/components/editor-quill'), meta: { ...meta, title: '富文本编辑器' } }, - { path: 'editor-simpleMDE', name: `${pre}editor-simpleMDE`, component: _import('demo/components/editor-simpleMDE'), meta: { ...meta, title: 'markdown编辑器' } }, - { path: 'highlight', name: `${pre}highlight`, component: _import('demo/components/highlight'), meta: { ...meta, title: '代码高亮组件' } }, - { path: 'icon/icon', name: `${pre}icon-icon`, component: _import('demo/components/icon/icon.vue'), meta: { ...meta, title: '图标组件' } }, - { path: 'icon/icon-svg', name: `${pre}icon-icon-svg`, component: _import('demo/components/icon/icon-svg.vue'), meta: { ...meta, title: 'svg 图标' } }, - { path: 'icon/select', name: `${pre}icon-select`, component: _import('demo/components/icon/select.vue'), meta: { ...meta, title: '图标选择器' } }, - { path: 'icon/select-svg', name: `${pre}icon-select-svg`, component: _import('demo/components/icon/select-svg.vue'), meta: { ...meta, title: 'svg 图标选择器' } }, - { path: 'icon/list', name: `${pre}icon-list`, component: _import('demo/components/icon/list.vue'), meta: { ...meta, title: '图标列表' } }, - { path: 'index', name: `${pre}index`, component: _import('demo/components/index'), meta: { ...meta, title: '组件首页' } }, - { path: 'json-tree', name: `${pre}json-tree`, component: _import('demo/components/json-tree'), meta: { ...meta, title: 'JSON 展示' } }, - { path: 'layout/grid', name: `${pre}layout-grid`, component: _import('demo/components/layout/grid.vue'), meta: { ...meta, title: '拖拽网格布局' } }, - { path: 'layout/splitpane', name: `${pre}layout-splitpane`, component: _import('demo/components/layout/splitpane.vue'), meta: { ...meta, title: '区域布局' } }, - { path: 'markdown/source', name: `${pre}markdown-source`, component: _import('demo/components/markdown/source.vue'), meta: { ...meta, title: 'markdown指定资源渲染' } }, - { path: 'markdown/url', name: `${pre}markdown-url`, component: _import('demo/components/markdown/url.vue'), meta: { ...meta, title: 'markdown指定url渲染' } } - ])('demo-components-') + children: [ + { path: 'container/full', name: 'demo-components-container-full', component: _import('demo/components/container/full.vue'), meta: { ...meta, title: '布局组件 填充' } }, + { path: 'container/full-slot', name: 'demo-components-container-full-slot', component: _import('demo/components/container/full-slot.vue'), meta: { ...meta, title: '布局组件 填充 插槽' } }, + { path: 'container/full-bs', name: 'demo-components-container-full-bs', component: _import('demo/components/container/full-bs.vue'), meta: { ...meta, title: '布局组件 填充 滚动优化' } }, + { path: 'container/ghost', name: 'demo-components-container-ghost', component: _import('demo/components/container/ghost.vue'), meta: { ...meta, title: '布局组件 隐形' } }, + { path: 'container/ghost-slot', name: 'demo-components-container-ghost-slot', component: _import('demo/components/container/ghost-slot.vue'), meta: { ...meta, title: '布局组件 隐形 插槽' } }, + { path: 'container/ghost-bs', name: 'demo-components-container-ghost-bs', component: _import('demo/components/container/ghost-bs.vue'), meta: { ...meta, title: '布局组件 隐形 滚动优化' } }, + { path: 'container/card', name: 'demo-components-container-card', component: _import('demo/components/container/card.vue'), meta: { ...meta, title: '布局组件 卡片' } }, + { path: 'container/card-slot', name: 'demo-components-container-card-slot', component: _import('demo/components/container/card-slot.vue'), meta: { ...meta, title: '布局组件 卡片 插槽' } }, + { path: 'container/card-bs', name: 'demo-components-container-card-bs', component: _import('demo/components/container/card-bs.vue'), meta: { ...meta, title: '布局组件 卡片 滚动优化' } }, + { path: 'container/api', name: 'demo-components-container-api', component: _import('demo/components/container/api.vue'), meta: { ...meta, title: '布局组件 API' } }, + { path: 'countup', name: 'demo-components-countup', component: _import('demo/components/countup'), meta: { ...meta, title: '数字动画' } }, + { path: 'editor-ueditor', name: 'demo-components-editor-ueditor', component: _import('demo/components/editor-ueditor'), meta: { ...meta, title: 'UEditor' } }, + { path: 'editor-quill', name: 'demo-components-editor-quill', component: _import('demo/components/editor-quill'), meta: { ...meta, title: '富文本编辑器' } }, + { path: 'editor-simpleMDE', name: 'demo-components-editor-simpleMDE', component: _import('demo/components/editor-simpleMDE'), meta: { ...meta, title: 'markdown编辑器' } }, + { path: 'highlight', name: 'demo-components-highlight', component: _import('demo/components/highlight'), meta: { ...meta, title: '代码高亮组件' } }, + { path: 'icon/icon', name: 'demo-components-icon-icon', component: _import('demo/components/icon/icon.vue'), meta: { ...meta, title: '图标组件' } }, + { path: 'icon/icon-svg', name: 'demo-components-icon-icon-svg', component: _import('demo/components/icon/icon-svg.vue'), meta: { ...meta, title: 'svg 图标' } }, + { path: 'icon/select', name: 'demo-components-icon-select', component: _import('demo/components/icon/select.vue'), meta: { ...meta, title: '图标选择器' } }, + { path: 'icon/select-svg', name: 'demo-components-icon-select-svg', component: _import('demo/components/icon/select-svg.vue'), meta: { ...meta, title: 'svg 图标选择器' } }, + { path: 'icon/list', name: 'demo-components-icon-list', component: _import('demo/components/icon/list.vue'), meta: { ...meta, title: '图标列表' } }, + { path: 'index', name: 'demo-components-index', component: _import('demo/components/index'), meta: { ...meta, title: '组件首页' } }, + { path: 'json-tree', name: 'demo-components-json-tree', component: _import('demo/components/json-tree'), meta: { ...meta, title: 'JSON 展示' } }, + { path: 'layout/grid', name: 'demo-components-layout-grid', component: _import('demo/components/layout/grid.vue'), meta: { ...meta, title: '拖拽网格布局' } }, + { path: 'layout/splitpane', name: 'demo-components-layout-splitpane', component: _import('demo/components/layout/splitpane.vue'), meta: { ...meta, title: '区域布局' } }, + { path: 'markdown/source', name: 'demo-components-markdown-source', component: _import('demo/components/markdown/source.vue'), meta: { ...meta, title: 'markdown指定资源渲染' } }, + { path: 'markdown/url', name: 'demo-components-markdown-url', component: _import('demo/components/markdown/url.vue'), meta: { ...meta, title: 'markdown指定url渲染' } } + ] } diff --git a/src/router/modules/playground.js b/src/router/modules/playground.js index de276e35..3dcc763e 100644 --- a/src/router/modules/playground.js +++ b/src/router/modules/playground.js @@ -11,37 +11,37 @@ export default { meta, redirect: { name: 'demo-playground-index' }, component: layoutHeaderAside, - children: (pre => [ - { path: 'index', name: `${pre}index`, component: _import('demo/playground/index'), meta: { ...meta, title: '功能首页' } }, - { path: 'store/page', name: `${pre}store-page`, component: _import('demo/playground/store/page'), meta: { ...meta, cache: true, title: '多标签页控制' } }, - { path: 'store/menu', name: `${pre}store-menu`, component: _import('demo/playground/store/menu'), meta: { ...meta, title: '菜单控制' } }, - { path: 'store/size', name: `${pre}store-size`, component: _import('demo/playground/store/size'), meta: { ...meta, title: '全局尺寸' } }, - { path: 'store/ua', name: `${pre}store-ua`, component: _import('demo/playground/store/ua'), meta: { ...meta, title: '浏览器信息' } }, - { path: 'store/gray', name: `${pre}store-gray`, component: _import('demo/playground/store/gray'), meta: { ...meta, title: '灰度模式' } }, - { path: 'store/fullscreen', name: `${pre}store-fullscreen`, component: _import('demo/playground/store/fullscreen'), meta: { ...meta, title: '全屏' } }, - { path: 'store/theme', name: `${pre}store-theme`, component: _import('demo/playground/store/theme'), meta: { ...meta, title: '主题' } }, - { path: 'store/transition', name: `${pre}store-transition`, component: _import('demo/playground/store/transition'), meta: { ...meta, title: '页面过渡开关' } }, - { path: 'page-cache/on', name: `${pre}page-cache-on`, component: _import('demo/playground/page-cache/on.vue'), meta: { ...meta, cache: true, title: '开启缓存' } }, - { path: 'page-cache/off', name: `${pre}page-cache-off`, component: _import('demo/playground/page-cache/off.vue'), meta: { ...meta, title: '关闭缓存' } }, - { path: 'page-cache/params/:id', name: `${pre}page-cache-params`, component: _import('demo/playground/page-cache/params.vue'), meta: { ...meta, cache: true, title: '带参路由缓存' }, props: true }, - { path: 'page-argu/send', name: `${pre}page-argu-send`, component: _import('demo/playground/page-argu/send.vue'), meta: { ...meta, title: '参数传递 发送' } }, - { path: 'page-argu/get/:username', name: `${pre}page-argu-get`, component: _import('demo/playground/page-argu/get.vue'), meta: { ...meta, title: '参数传递 接收' } }, - { path: 'db/all', name: `${pre}db-all`, component: _import('demo/playground/db/all'), meta: { ...meta, title: '总览' } }, - { path: 'db/public', name: `${pre}db-public`, component: _import('demo/playground/db/public'), meta: { ...meta, title: '公共存储' } }, - { path: 'db/user', name: `${pre}db-user`, component: _import('demo/playground/db/user'), meta: { ...meta, title: '私有存储' } }, - { path: 'db/page-public', name: `${pre}db-page-public`, component: _import('demo/playground/db/page-public'), meta: { ...meta, title: '路由存储' } }, - { path: 'db/page-user', name: `${pre}db-page-user`, component: _import('demo/playground/db/page-user'), meta: { ...meta, title: '私有路由存储' } }, - { path: 'db/page-snapshot-public', name: `${pre}db-page-snapshot-public`, component: _import('demo/playground/db/page-snapshot-public'), meta: { ...meta, title: '路由快照' } }, - { path: 'db/page-snapshot-user', name: `${pre}db-page-snapshot-user`, component: _import('demo/playground/db/page-snapshot-user'), meta: { ...meta, title: '私有路由快照' } }, - { path: 'log/ajax', name: `${pre}log-ajax`, component: _import('demo/playground/log/ajax'), meta: { ...meta, title: 'Ajax 错误' } }, - { path: 'log/console', name: `${pre}log-console`, component: _import('demo/playground/log/console'), meta: { ...meta, title: '控制台日志' } }, - { path: 'log/error', name: `${pre}log-error`, component: _import('demo/playground/log/error'), meta: { ...meta, title: '错误捕捉' } }, - { path: 'log/log', name: `${pre}log-log`, component: _import('demo/playground/log/log'), meta: { ...meta, title: '日志记录' } }, - { path: 'add-routes/routes', name: `${pre}add-routes-routes`, component: _import('demo/playground/add-routes/routes'), meta: { ...meta, title: '添加页面' } }, - { path: 'env', name: `${pre}env`, component: _import('demo/playground/env'), meta: { ...meta, title: '环境信息' } }, - { path: 'locales', name: `${pre}locales`, component: _import('demo/playground/locales'), meta: { ...meta, title: '国际化' } }, - { path: 'frame/html', name: `${pre}frame-html`, component: _import('demo/playground/frame/html'), meta: { ...meta, title: '静态 HTML' } }, - { path: 'frame/report', name: `${pre}frame-report`, component: _import('demo/playground/frame/report'), meta: { ...meta, title: 'Size report' } }, - { path: 'frame/d2-doc', name: `${pre}frame-d2-doc`, component: _import('demo/playground/frame/d2-doc'), meta: { ...meta, title: 'D2Admin 中文文档' } } - ])('demo-playground-') + children: [ + { path: 'index', name: 'demo-playground-index', component: _import('demo/playground/index'), meta: { ...meta, title: '功能首页' } }, + { path: 'store/page', name: 'demo-playground-store-page', component: _import('demo/playground/store/page'), meta: { ...meta, cache: true, title: '多标签页控制' } }, + { path: 'store/menu', name: 'demo-playground-store-menu', component: _import('demo/playground/store/menu'), meta: { ...meta, title: '菜单控制' } }, + { path: 'store/size', name: 'demo-playground-store-size', component: _import('demo/playground/store/size'), meta: { ...meta, title: '全局尺寸' } }, + { path: 'store/ua', name: 'demo-playground-store-ua', component: _import('demo/playground/store/ua'), meta: { ...meta, title: '浏览器信息' } }, + { path: 'store/gray', name: 'demo-playground-store-gray', component: _import('demo/playground/store/gray'), meta: { ...meta, title: '灰度模式' } }, + { path: 'store/fullscreen', name: 'demo-playground-store-fullscreen', component: _import('demo/playground/store/fullscreen'), meta: { ...meta, title: '全屏' } }, + { path: 'store/theme', name: 'demo-playground-store-theme', component: _import('demo/playground/store/theme'), meta: { ...meta, title: '主题' } }, + { path: 'store/transition', name: 'demo-playground-store-transition', component: _import('demo/playground/store/transition'), meta: { ...meta, title: '页面过渡开关' } }, + { path: 'page-cache/on', name: 'demo-playground-page-cache-on', component: _import('demo/playground/page-cache/on.vue'), meta: { ...meta, cache: true, title: '开启缓存' } }, + { path: 'page-cache/off', name: 'demo-playground-page-cache-off', component: _import('demo/playground/page-cache/off.vue'), meta: { ...meta, title: '关闭缓存' } }, + { path: 'page-cache/params/:id', name: 'demo-playground-page-cache-params', component: _import('demo/playground/page-cache/params.vue'), meta: { ...meta, cache: true, title: '带参路由缓存' }, props: true }, + { path: 'page-argu/send', name: 'demo-playground-page-argu-send', component: _import('demo/playground/page-argu/send.vue'), meta: { ...meta, title: '参数传递 发送' } }, + { path: 'page-argu/get/:username', name: 'demo-playground-page-argu-get', component: _import('demo/playground/page-argu/get.vue'), meta: { ...meta, title: '参数传递 接收' } }, + { path: 'db/all', name: 'demo-playground-db-all', component: _import('demo/playground/db/all'), meta: { ...meta, title: '总览' } }, + { path: 'db/public', name: 'demo-playground-db-public', component: _import('demo/playground/db/public'), meta: { ...meta, title: '公共存储' } }, + { path: 'db/user', name: 'demo-playground-db-user', component: _import('demo/playground/db/user'), meta: { ...meta, title: '私有存储' } }, + { path: 'db/page-public', name: 'demo-playground-db-page-public', component: _import('demo/playground/db/page-public'), meta: { ...meta, title: '路由存储' } }, + { path: 'db/page-user', name: 'demo-playground-db-page-user', component: _import('demo/playground/db/page-user'), meta: { ...meta, title: '私有路由存储' } }, + { path: 'db/page-snapshot-public', name: 'demo-playground-db-page-snapshot-public', component: _import('demo/playground/db/page-snapshot-public'), meta: { ...meta, title: '路由快照' } }, + { path: 'db/page-snapshot-user', name: 'demo-playground-db-page-snapshot-user', component: _import('demo/playground/db/page-snapshot-user'), meta: { ...meta, title: '私有路由快照' } }, + { path: 'log/ajax', name: 'demo-playground-log-ajax', component: _import('demo/playground/log/ajax'), meta: { ...meta, title: 'Ajax 错误' } }, + { path: 'log/console', name: 'demo-playground-log-console', component: _import('demo/playground/log/console'), meta: { ...meta, title: '控制台日志' } }, + { path: 'log/error', name: 'demo-playground-log-error', component: _import('demo/playground/log/error'), meta: { ...meta, title: '错误捕捉' } }, + { path: 'log/log', name: 'demo-playground-log-log', component: _import('demo/playground/log/log'), meta: { ...meta, title: '日志记录' } }, + { path: 'add-routes/routes', name: 'demo-playground-add-routes-routes', component: _import('demo/playground/add-routes/routes'), meta: { ...meta, title: '添加页面' } }, + { path: 'env', name: 'demo-playground-env', component: _import('demo/playground/env'), meta: { ...meta, title: '环境信息' } }, + { path: 'locales', name: 'demo-playground-locales', component: _import('demo/playground/locales'), meta: { ...meta, title: '国际化' } }, + { path: 'frame/html', name: 'demo-playground-frame-html', component: _import('demo/playground/frame/html'), meta: { ...meta, title: '静态 HTML' } }, + { path: 'frame/report', name: 'demo-playground-frame-report', component: _import('demo/playground/frame/report'), meta: { ...meta, title: 'Size report' } }, + { path: 'frame/d2-doc', name: 'demo-playground-frame-d2-doc', component: _import('demo/playground/frame/d2-doc'), meta: { ...meta, title: 'D2Admin 中文文档' } } + ] } diff --git a/src/router/modules/plugins.js b/src/router/modules/plugins.js index 8bebc4a3..2ebc7eae 100644 --- a/src/router/modules/plugins.js +++ b/src/router/modules/plugins.js @@ -11,16 +11,16 @@ export default { meta, redirect: { name: 'demo-plugins-index' }, component: layoutHeaderAside, - children: (pre => [ - { path: 'better-scroll/base', name: `${pre}better-scroll-base`, component: _import('demo/plugins/better-scroll/base.vue'), meta: { ...meta, title: '滚动插件基础' } }, - { path: 'better-scroll/to', name: `${pre}better-scroll-to`, component: _import('demo/plugins/better-scroll/to.vue'), meta: { ...meta, title: '滚动定位' } }, - { path: 'clipboard-polyfill', name: `${pre}clipboard-polyfill`, component: _import('demo/plugins/clipboard-polyfill'), meta: { ...meta, title: '剪贴板访问' } }, - { path: 'day', name: `${pre}day`, component: _import('demo/plugins/day'), meta: { ...meta, title: '日期计算' } }, - { path: 'export/table', name: `${pre}export-table`, component: _import('demo/plugins/export/table.vue'), meta: { ...meta, title: '导出表格' } }, - { path: 'export/txt', name: `${pre}export-txt`, component: _import('demo/plugins/export/txt.vue'), meta: { ...meta, title: '导出文本' } }, - { path: 'import/csv', name: `${pre}import-csv`, component: _import('demo/plugins/import/csv.vue'), meta: { ...meta, title: '导入 csv' } }, - { path: 'import/xlsx', name: `${pre}import-xlsx`, component: _import('demo/plugins/import/xlsx.vue'), meta: { ...meta, title: '导入 xlsx' } }, - { path: 'index', name: `${pre}index`, component: _import('demo/plugins/index'), meta: { ...meta, title: '插件首页' } }, - { path: 'js-cookie', name: `${pre}js-cookie`, component: _import('demo/plugins/js-cookie'), meta: { ...meta, title: 'Cookie' } } - ])('demo-plugins-') + children: [ + { path: 'better-scroll/base', name: 'demo-plugins-better-scroll-base', component: _import('demo/plugins/better-scroll/base.vue'), meta: { ...meta, title: '滚动插件基础' } }, + { path: 'better-scroll/to', name: 'demo-plugins-better-scroll-to', component: _import('demo/plugins/better-scroll/to.vue'), meta: { ...meta, title: '滚动定位' } }, + { path: 'clipboard-polyfill', name: 'demo-plugins-clipboard-polyfill', component: _import('demo/plugins/clipboard-polyfill'), meta: { ...meta, title: '剪贴板访问' } }, + { path: 'day', name: 'demo-plugins-day', component: _import('demo/plugins/day'), meta: { ...meta, title: '日期计算' } }, + { path: 'export/table', name: 'demo-plugins-export-table', component: _import('demo/plugins/export/table.vue'), meta: { ...meta, title: '导出表格' } }, + { path: 'export/txt', name: 'demo-plugins-export-txt', component: _import('demo/plugins/export/txt.vue'), meta: { ...meta, title: '导出文本' } }, + { path: 'import/csv', name: 'demo-plugins-import-csv', component: _import('demo/plugins/import/csv.vue'), meta: { ...meta, title: '导入 csv' } }, + { path: 'import/xlsx', name: 'demo-plugins-import-xlsx', component: _import('demo/plugins/import/xlsx.vue'), meta: { ...meta, title: '导入 xlsx' } }, + { path: 'index', name: 'demo-plugins-index', component: _import('demo/plugins/index'), meta: { ...meta, title: '插件首页' } }, + { path: 'js-cookie', name: 'demo-plugins-js-cookie', component: _import('demo/plugins/js-cookie'), meta: { ...meta, title: 'Cookie' } } + ] }