+
-
+
启用
-
+
禁用
- 编辑
- 删除
+ 编辑
+ 删除
--
Gitee
From 61fd1c6d7138c34de10a7e0a3a35415de11c665a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=B0=8F=E4=B8=91=E8=B7=AF=E4=BA=BA?= <2278757482@qq.com>
Date: Wed, 6 Jan 2021 11:13:40 +0800
Subject: [PATCH 3/3] =?UTF-8?q?1.=E7=A7=BB=E9=99=A4mock=E6=97=A0=E7=94=A8?=
=?UTF-8?q?=E6=96=87=E4=BB=B6=EF=BC=9B=202.demo=E9=A1=B5=E9=9D=A2=E7=9A=84?=
=?UTF-8?q?=E5=BD=92=E6=A1=A3=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Admin/Resources/vue-element-admin/main.js | 21 +-
.../vue-element-admin/mock/article.js | 116 ----
.../Resources/vue-element-admin/mock/index.js | 60 --
.../vue-element-admin/mock/mock-server.js | 81 ---
.../vue-element-admin/mock/remote-search.js | 51 --
.../vue-element-admin/mock/role/index.js | 98 ----
.../vue-element-admin/mock/role/routes.js | 530 ------------------
.../Resources/vue-element-admin/mock/user.js | 84 ---
.../Resources/vue-element-admin/mock/utils.js | 48 --
.../vue-element-admin/router/index.js | 4 +-
.../router/modules/charts.js | 6 +-
.../router/modules/components.js | 20 +-
.../views/{ => demo}/charts/keyboard.vue | 0
.../views/{ => demo}/charts/line.vue | 0
.../views/{ => demo}/charts/mix-chart.vue | 0
.../components-demo/avatar-upload.vue | 0
.../components-demo/back-to-top.vue | 0
.../{ => demo}/components-demo/count-to.vue | 0
.../components-demo/drag-kanban.vue | 0
.../components-demo/drag-select.vue | 0
.../{ => demo}/components-demo/dropzone.vue | 0
.../components-demo/json-editor.vue | 0
.../{ => demo}/components-demo/markdown.vue | 0
.../{ => demo}/components-demo/mixin.vue | 0
.../{ => demo}/components-demo/tinymce.vue | 0
.../{sundry => demo}/icons/element-icons.js | 0
.../views/{sundry => demo}/icons/index.vue | 0
.../views/{sundry => demo}/icons/svg-icons.js | 0
.../views/{sundry => demo}/redirect/index.vue | 0
29 files changed, 23 insertions(+), 1096 deletions(-)
delete mode 100644 app/Modules/Admin/Resources/vue-element-admin/mock/article.js
delete mode 100644 app/Modules/Admin/Resources/vue-element-admin/mock/index.js
delete mode 100644 app/Modules/Admin/Resources/vue-element-admin/mock/mock-server.js
delete mode 100644 app/Modules/Admin/Resources/vue-element-admin/mock/remote-search.js
delete mode 100644 app/Modules/Admin/Resources/vue-element-admin/mock/role/index.js
delete mode 100644 app/Modules/Admin/Resources/vue-element-admin/mock/role/routes.js
delete mode 100644 app/Modules/Admin/Resources/vue-element-admin/mock/user.js
delete mode 100644 app/Modules/Admin/Resources/vue-element-admin/mock/utils.js
rename app/Modules/Admin/Resources/vue-element-admin/views/{ => demo}/charts/keyboard.vue (100%)
rename app/Modules/Admin/Resources/vue-element-admin/views/{ => demo}/charts/line.vue (100%)
rename app/Modules/Admin/Resources/vue-element-admin/views/{ => demo}/charts/mix-chart.vue (100%)
rename app/Modules/Admin/Resources/vue-element-admin/views/{ => demo}/components-demo/avatar-upload.vue (100%)
rename app/Modules/Admin/Resources/vue-element-admin/views/{ => demo}/components-demo/back-to-top.vue (100%)
rename app/Modules/Admin/Resources/vue-element-admin/views/{ => demo}/components-demo/count-to.vue (100%)
rename app/Modules/Admin/Resources/vue-element-admin/views/{ => demo}/components-demo/drag-kanban.vue (100%)
rename app/Modules/Admin/Resources/vue-element-admin/views/{ => demo}/components-demo/drag-select.vue (100%)
rename app/Modules/Admin/Resources/vue-element-admin/views/{ => demo}/components-demo/dropzone.vue (100%)
rename app/Modules/Admin/Resources/vue-element-admin/views/{ => demo}/components-demo/json-editor.vue (100%)
rename app/Modules/Admin/Resources/vue-element-admin/views/{ => demo}/components-demo/markdown.vue (100%)
rename app/Modules/Admin/Resources/vue-element-admin/views/{ => demo}/components-demo/mixin.vue (100%)
rename app/Modules/Admin/Resources/vue-element-admin/views/{ => demo}/components-demo/tinymce.vue (100%)
rename app/Modules/Admin/Resources/vue-element-admin/views/{sundry => demo}/icons/element-icons.js (100%)
rename app/Modules/Admin/Resources/vue-element-admin/views/{sundry => demo}/icons/index.vue (100%)
rename app/Modules/Admin/Resources/vue-element-admin/views/{sundry => demo}/icons/svg-icons.js (100%)
rename app/Modules/Admin/Resources/vue-element-admin/views/{sundry => demo}/redirect/index.vue (100%)
diff --git a/app/Modules/Admin/Resources/vue-element-admin/main.js b/app/Modules/Admin/Resources/vue-element-admin/main.js
index ddf47a2..0a85d07 100644
--- a/app/Modules/Admin/Resources/vue-element-admin/main.js
+++ b/app/Modules/Admin/Resources/vue-element-admin/main.js
@@ -31,27 +31,22 @@ import * as filters from './filters' // global filters
* please remove it before going online ! ! !
*/
-if (process.env.NODE_ENV === 'production') {
- const { mockXHR } = require('./mock')
- mockXHR()
-}
-
Vue.use(Element, {
- size: Cookies.get('size') || 'medium', // set element-ui default size
- i18n: (key, value) => i18n.t(key, value)
+ size: Cookies.get('size') || 'medium', // set element-ui default size
+ i18n: (key, value) => i18n.t(key, value)
})
// register global utility filters
Object.keys(filters).forEach(key => {
- Vue.filter(key, filters[key])
+ Vue.filter(key, filters[key])
})
Vue.config.productionTip = false
new Vue({
- el: '#app',
- router,
- store,
- i18n,
- render: h => h(App)
+ el: '#app',
+ router,
+ store,
+ i18n,
+ render: h => h(App)
})
diff --git a/app/Modules/Admin/Resources/vue-element-admin/mock/article.js b/app/Modules/Admin/Resources/vue-element-admin/mock/article.js
deleted file mode 100644
index 23d8ba5..0000000
--- a/app/Modules/Admin/Resources/vue-element-admin/mock/article.js
+++ /dev/null
@@ -1,116 +0,0 @@
-const Mock = require('mockjs')
-
-const List = []
-const count = 100
-
-const baseContent = 'I am testing data, I am testing data.

'
-const image_uri = 'https://wpimg.wallstcn.com/e4558086-631c-425c-9430-56ffb46e70b3'
-
-for (let i = 0; i < count; i++) {
- List.push(Mock.mock({
- id: '@increment',
- timestamp: +Mock.Random.date('T'),
- author: '@first',
- reviewer: '@first',
- title: '@title(5, 10)',
- content_short: 'mock data',
- content: baseContent,
- forecast: '@float(0, 100, 2, 2)',
- importance: '@integer(1, 3)',
- 'type|1': ['CN', 'US', 'JP', 'EU'],
- 'status|1': ['published', 'draft'],
- display_time: '@datetime',
- comment_disabled: true,
- pageviews: '@integer(300, 5000)',
- image_uri,
- platforms: ['a-platform']
- }))
-}
-
-module.exports = [
- {
- url: '/vue-element-admin/article/list',
- type: 'get',
- response: config => {
- const { importance, type, title, page = 1, limit = 20, sort } = config.query
-
- let mockList = List.filter(item => {
- if (importance && item.importance !== +importance) return false
- if (type && item.type !== type) return false
- if (title && item.title.indexOf(title) < 0) return false
- return true
- })
-
- if (sort === '-id') {
- mockList = mockList.reverse()
- }
-
- const pageList = mockList.filter((item, index) => index < limit * page && index >= limit * (page - 1))
-
- return {
- code: 20000,
- data: {
- total: mockList.length,
- items: pageList
- }
- }
- }
- },
-
- {
- url: '/vue-element-admin/article/detail',
- type: 'get',
- response: config => {
- const { id } = config.query
- for (const article of List) {
- if (article.id === +id) {
- return {
- code: 20000,
- data: article
- }
- }
- }
- }
- },
-
- {
- url: '/vue-element-admin/article/pv',
- type: 'get',
- response: _ => {
- return {
- code: 20000,
- data: {
- pvData: [
- { key: 'PC', pv: 1024 },
- { key: 'mobile', pv: 1024 },
- { key: 'ios', pv: 1024 },
- { key: 'android', pv: 1024 }
- ]
- }
- }
- }
- },
-
- {
- url: '/vue-element-admin/article/create',
- type: 'post',
- response: _ => {
- return {
- code: 20000,
- data: 'success'
- }
- }
- },
-
- {
- url: '/vue-element-admin/article/update',
- type: 'post',
- response: _ => {
- return {
- code: 20000,
- data: 'success'
- }
- }
- }
-]
-
diff --git a/app/Modules/Admin/Resources/vue-element-admin/mock/index.js b/app/Modules/Admin/Resources/vue-element-admin/mock/index.js
deleted file mode 100644
index 2eed65d..0000000
--- a/app/Modules/Admin/Resources/vue-element-admin/mock/index.js
+++ /dev/null
@@ -1,60 +0,0 @@
-const Mock = require('mockjs')
-const { param2Obj } = require('./utils')
-
-const user = require('./user')
-const role = require('./role')
-const article = require('./article')
-const search = require('./remote-search')
-
-const mocks = [
- ...user,
- ...role,
- ...article,
- ...search
-]
-
-// for front mock
-// please use it cautiously, it will redefine XMLHttpRequest,
-// which will cause many of your third-party libraries to be invalidated(like progress event).
-function mockXHR() {
- // mock patch
- // https://github.com/nuysoft/Mock/issues/300
- Mock.XHR.prototype.proxy_send = Mock.XHR.prototype.send
- Mock.XHR.prototype.send = function() {
- if (this.custom.xhr) {
- this.custom.xhr.withCredentials = this.withCredentials || false
-
- if (this.responseType) {
- this.custom.xhr.responseType = this.responseType
- }
- }
- this.proxy_send(...arguments)
- }
-
- function XHR2ExpressReqWrap(respond) {
- return function(options) {
- let result = null
- if (respond instanceof Function) {
- const { body, type, url } = options
- // https://expressjs.com/en/4x/api.html#req
- result = respond({
- method: type,
- body: JSON.parse(body),
- query: param2Obj(url)
- })
- } else {
- result = respond
- }
- return Mock.mock(result)
- }
- }
-
- for (const i of mocks) {
- Mock.mock(new RegExp(i.url), i.type || 'get', XHR2ExpressReqWrap(i.response))
- }
-}
-
-module.exports = {
- mocks,
- mockXHR
-}
diff --git a/app/Modules/Admin/Resources/vue-element-admin/mock/mock-server.js b/app/Modules/Admin/Resources/vue-element-admin/mock/mock-server.js
deleted file mode 100644
index 8941ec0..0000000
--- a/app/Modules/Admin/Resources/vue-element-admin/mock/mock-server.js
+++ /dev/null
@@ -1,81 +0,0 @@
-const chokidar = require('chokidar')
-const bodyParser = require('body-parser')
-const chalk = require('chalk')
-const path = require('path')
-const Mock = require('mockjs')
-
-const mockDir = path.join(process.cwd(), 'mock')
-
-function registerRoutes(app) {
- let mockLastIndex
- const { mocks } = require('./index.js')
- const mocksForServer = mocks.map(route => {
- return responseFake(route.url, route.type, route.response)
- })
- for (const mock of mocksForServer) {
- app[mock.type](mock.url, mock.response)
- mockLastIndex = app._router.stack.length
- }
- const mockRoutesLength = Object.keys(mocksForServer).length
- return {
- mockRoutesLength: mockRoutesLength,
- mockStartIndex: mockLastIndex - mockRoutesLength
- }
-}
-
-function unregisterRoutes() {
- Object.keys(require.cache).forEach(i => {
- if (i.includes(mockDir)) {
- delete require.cache[require.resolve(i)]
- }
- })
-}
-
-// for mock server
-const responseFake = (url, type, respond) => {
- return {
- url: new RegExp(`${process.env.VUE_APP_BASE_API}${url}`),
- type: type || 'get',
- response(req, res) {
- console.log('request invoke:' + req.path)
- res.json(Mock.mock(respond instanceof Function ? respond(req, res) : respond))
- }
- }
-}
-
-module.exports = app => {
- // parse app.body
- // https://expressjs.com/en/4x/api.html#req.body
- app.use(bodyParser.json())
- app.use(bodyParser.urlencoded({
- extended: true
- }))
-
- const mockRoutes = registerRoutes(app)
- var mockRoutesLength = mockRoutes.mockRoutesLength
- var mockStartIndex = mockRoutes.mockStartIndex
-
- // watch files, hot reload mock server
- chokidar.watch(mockDir, {
- ignored: /mock-server/,
- ignoreInitial: true
- }).on('all', (event, path) => {
- if (event === 'change' || event === 'add') {
- try {
- // remove mock routes stack
- app._router.stack.splice(mockStartIndex, mockRoutesLength)
-
- // clear routes cache
- unregisterRoutes()
-
- const mockRoutes = registerRoutes(app)
- mockRoutesLength = mockRoutes.mockRoutesLength
- mockStartIndex = mockRoutes.mockStartIndex
-
- console.log(chalk.magentaBright(`\n > Mock Server hot reload success! changed ${path}`))
- } catch (error) {
- console.log(chalk.redBright(error))
- }
- }
- })
-}
diff --git a/app/Modules/Admin/Resources/vue-element-admin/mock/remote-search.js b/app/Modules/Admin/Resources/vue-element-admin/mock/remote-search.js
deleted file mode 100644
index 8fc4926..0000000
--- a/app/Modules/Admin/Resources/vue-element-admin/mock/remote-search.js
+++ /dev/null
@@ -1,51 +0,0 @@
-const Mock = require('mockjs')
-
-const NameList = []
-const count = 100
-
-for (let i = 0; i < count; i++) {
- NameList.push(Mock.mock({
- name: '@first'
- }))
-}
-NameList.push({ name: 'mock-Pan' })
-
-module.exports = [
- // username search
- {
- url: '/vue-element-admin/search/user',
- type: 'get',
- response: config => {
- const { name } = config.query
- const mockNameList = NameList.filter(item => {
- const lowerCaseName = item.name.toLowerCase()
- return !(name && lowerCaseName.indexOf(name.toLowerCase()) < 0)
- })
- return {
- code: 20000,
- data: { items: mockNameList }
- }
- }
- },
-
- // transaction list
- {
- url: '/vue-element-admin/transaction/list',
- type: 'get',
- response: _ => {
- return {
- code: 20000,
- data: {
- total: 20,
- 'items|20': [{
- order_no: '@guid()',
- timestamp: +Mock.Random.date('T'),
- username: '@name()',
- price: '@float(1000, 15000, 0, 2)',
- 'status|1': ['success', 'pending']
- }]
- }
- }
- }
- }
-]
diff --git a/app/Modules/Admin/Resources/vue-element-admin/mock/role/index.js b/app/Modules/Admin/Resources/vue-element-admin/mock/role/index.js
deleted file mode 100644
index 4643f00..0000000
--- a/app/Modules/Admin/Resources/vue-element-admin/mock/role/index.js
+++ /dev/null
@@ -1,98 +0,0 @@
-const Mock = require('mockjs')
-const { deepClone } = require('../utils')
-const { asyncRoutes, constantRoutes } = require('./routes.js')
-
-const routes = deepClone([...constantRoutes, ...asyncRoutes])
-
-const roles = [
- {
- key: 'admin',
- name: 'admin',
- description: 'Super Administrator. Have access to view all pages.',
- routes: routes
- },
- {
- key: 'editor',
- name: 'editor',
- description: 'Normal Editor. Can see all pages except permission page',
- routes: routes.filter(i => i.path !== '/permission')// just a mock
- },
- {
- key: 'visitor',
- name: 'visitor',
- description: 'Just a visitor. Can only see the home page and the document page',
- routes: [{
- path: '',
- redirect: 'dashboard',
- children: [
- {
- path: 'dashboard',
- name: 'Dashboard',
- meta: { title: 'dashboard', icon: 'dashboard' }
- }
- ]
- }]
- }
-]
-
-module.exports = [
- // mock get all routes form server
- {
- url: '/vue-element-admin/routes',
- type: 'get',
- response: _ => {
- return {
- code: 20000,
- data: routes
- }
- }
- },
-
- // mock get all roles form server
- {
- url: '/vue-element-admin/roles',
- type: 'get',
- response: _ => {
- return {
- code: 20000,
- data: roles
- }
- }
- },
-
- // add role
- {
- url: '/vue-element-admin/role',
- type: 'post',
- response: {
- code: 20000,
- data: {
- key: Mock.mock('@integer(300, 5000)')
- }
- }
- },
-
- // update role
- {
- url: '/vue-element-admin/role/[A-Za-z0-9]',
- type: 'put',
- response: {
- code: 20000,
- data: {
- status: 'success'
- }
- }
- },
-
- // delete role
- {
- url: '/vue-element-admin/role/[A-Za-z0-9]',
- type: 'delete',
- response: {
- code: 20000,
- data: {
- status: 'success'
- }
- }
- }
-]
diff --git a/app/Modules/Admin/Resources/vue-element-admin/mock/role/routes.js b/app/Modules/Admin/Resources/vue-element-admin/mock/role/routes.js
deleted file mode 100644
index 757aa38..0000000
--- a/app/Modules/Admin/Resources/vue-element-admin/mock/role/routes.js
+++ /dev/null
@@ -1,530 +0,0 @@
-// Just a mock data
-
-const constantRoutes = [
- {
- path: '/redirect',
- component: 'layout/Layout',
- hidden: true,
- children: [
- {
- path: '/redirect/:path*',
- component: 'views/redirect/index'
- }
- ]
- },
- {
- path: '/login',
- component: 'views/login/index',
- hidden: true
- },
- {
- path: '/auth-redirect',
- component: 'views/login/auth-redirect',
- hidden: true
- },
- {
- path: '/404',
- component: 'views/error-page/404',
- hidden: true
- },
- {
- path: '/401',
- component: 'views/error-page/401',
- hidden: true
- },
- {
- path: '',
- component: 'layout/Layout',
- redirect: 'dashboard',
- children: [
- {
- path: 'dashboard',
- component: 'views/dashboard/index',
- name: 'Dashboard',
- meta: { title: 'dashboard', icon: 'dashboard', affix: true }
- }
- ]
- },
- {
- path: '/documentation',
- component: 'layout/Layout',
- children: [
- {
- path: 'index',
- component: 'views/documentation/index',
- name: 'Documentation',
- meta: { title: 'documentation', icon: 'documentation', affix: true }
- }
- ]
- },
- {
- path: '/guide',
- component: 'layout/Layout',
- redirect: '/guide/index',
- children: [
- {
- path: 'index',
- component: 'views/guide/index',
- name: 'Guide',
- meta: { title: 'guide', icon: 'guide', noCache: true }
- }
- ]
- }
-]
-
-const asyncRoutes = [
- {
- path: '/permission',
- component: 'layout/Layout',
- redirect: '/permission/index',
- alwaysShow: true,
- meta: {
- title: 'permission',
- icon: 'lock',
- roles: ['admin', 'editor']
- },
- children: [
- {
- path: 'page',
- component: 'views/permission/page',
- name: 'PagePermission',
- meta: {
- title: 'pagePermission',
- roles: ['admin']
- }
- },
- {
- path: 'directive',
- component: 'views/permission/directive',
- name: 'DirectivePermission',
- meta: {
- title: 'directivePermission'
- }
- },
- {
- path: 'role',
- component: 'views/permission/role',
- name: 'RolePermission',
- meta: {
- title: 'rolePermission',
- roles: ['admin']
- }
- }
- ]
- },
-
- {
- path: '/icon',
- component: 'layout/Layout',
- children: [
- {
- path: 'index',
- component: 'views/icons/index',
- name: 'Icons',
- meta: { title: 'icons', icon: 'icon', noCache: true }
- }
- ]
- },
-
- {
- path: '/components',
- component: 'layout/Layout',
- redirect: 'noRedirect',
- name: 'ComponentDemo',
- meta: {
- title: 'components',
- icon: 'component'
- },
- children: [
- {
- path: 'tinymce',
- component: 'views/components-demo/tinymce',
- name: 'TinymceDemo',
- meta: { title: 'tinymce' }
- },
- {
- path: 'markdown',
- component: 'views/components-demo/markdown',
- name: 'MarkdownDemo',
- meta: { title: 'markdown' }
- },
- {
- path: 'json-editor',
- component: 'views/components-demo/json-editor',
- name: 'JsonEditorDemo',
- meta: { title: 'jsonEditor' }
- },
- {
- path: 'split-pane',
- component: 'views/components-demo/split-pane',
- name: 'SplitpaneDemo',
- meta: { title: 'splitPane' }
- },
- {
- path: 'avatar-upload',
- component: 'views/components-demo/avatar-upload',
- name: 'AvatarUploadDemo',
- meta: { title: 'avatarUpload' }
- },
- {
- path: 'dropzone',
- component: 'views/components-demo/dropzone',
- name: 'DropzoneDemo',
- meta: { title: 'dropzone' }
- },
- {
- path: 'sticky',
- component: 'views/components-demo/sticky',
- name: 'StickyDemo',
- meta: { title: 'sticky' }
- },
- {
- path: 'count-to',
- component: 'views/components-demo/count-to',
- name: 'CountToDemo',
- meta: { title: 'countTo' }
- },
- {
- path: 'mixin',
- component: 'views/components-demo/mixin',
- name: 'ComponentMixinDemo',
- meta: { title: 'componentMixin' }
- },
- {
- path: 'back-to-top',
- component: 'views/components-demo/back-to-top',
- name: 'BackToTopDemo',
- meta: { title: 'backToTop' }
- },
- {
- path: 'drag-dialog',
- component: 'views/components-demo/drag-dialog',
- name: 'DragDialogDemo',
- meta: { title: 'dragDialog' }
- },
- {
- path: 'drag-select',
- component: 'views/components-demo/drag-select',
- name: 'DragSelectDemo',
- meta: { title: 'dragSelect' }
- },
- {
- path: 'dnd-list',
- component: 'views/components-demo/dnd-list',
- name: 'DndListDemo',
- meta: { title: 'dndList' }
- },
- {
- path: 'drag-kanban',
- component: 'views/components-demo/drag-kanban',
- name: 'DragKanbanDemo',
- meta: { title: 'dragKanban' }
- }
- ]
- },
- {
- path: '/charts',
- component: 'layout/Layout',
- redirect: 'noRedirect',
- name: 'Charts',
- meta: {
- title: 'charts',
- icon: 'chart'
- },
- children: [
- {
- path: 'keyboard',
- component: 'views/charts/keyboard',
- name: 'KeyboardChart',
- meta: { title: 'keyboardChart', noCache: true }
- },
- {
- path: 'line',
- component: 'views/charts/line',
- name: 'LineChart',
- meta: { title: 'lineChart', noCache: true }
- },
- {
- path: 'mixchart',
- component: 'views/charts/mixChart',
- name: 'MixChart',
- meta: { title: 'mixChart', noCache: true }
- }
- ]
- },
- {
- path: '/nested',
- component: 'layout/Layout',
- redirect: '/nested/menu1/menu1-1',
- name: 'Nested',
- meta: {
- title: 'nested',
- icon: 'nested'
- },
- children: [
- {
- path: 'menu1',
- component: 'views/nested/menu1/index',
- name: 'Menu1',
- meta: { title: 'menu1' },
- redirect: '/nested/menu1/menu1-1',
- children: [
- {
- path: 'menu1-1',
- component: 'views/nested/menu1/menu1-1',
- name: 'Menu1-1',
- meta: { title: 'menu1-1' }
- },
- {
- path: 'menu1-2',
- component: 'views/nested/menu1/menu1-2',
- name: 'Menu1-2',
- redirect: '/nested/menu1/menu1-2/menu1-2-1',
- meta: { title: 'menu1-2' },
- children: [
- {
- path: 'menu1-2-1',
- component: 'views/nested/menu1/menu1-2/menu1-2-1',
- name: 'Menu1-2-1',
- meta: { title: 'menu1-2-1' }
- },
- {
- path: 'menu1-2-2',
- component: 'views/nested/menu1/menu1-2/menu1-2-2',
- name: 'Menu1-2-2',
- meta: { title: 'menu1-2-2' }
- }
- ]
- },
- {
- path: 'menu1-3',
- component: 'views/nested/menu1/menu1-3',
- name: 'Menu1-3',
- meta: { title: 'menu1-3' }
- }
- ]
- },
- {
- path: 'menu2',
- name: 'Menu2',
- component: 'views/nested/menu2/index',
- meta: { title: 'menu2' }
- }
- ]
- },
-
- {
- path: '/example',
- component: 'layout/Layout',
- redirect: '/example/list',
- name: 'Example',
- meta: {
- title: 'example',
- icon: 'example'
- },
- children: [
- {
- path: 'create',
- component: 'views/example/create',
- name: 'CreateArticle',
- meta: { title: 'createArticle', icon: 'edit' }
- },
- {
- path: 'edit/:id(\\d+)',
- component: 'views/example/edit',
- name: 'EditArticle',
- meta: { title: 'editArticle', noCache: true },
- hidden: true
- },
- {
- path: 'list',
- component: 'views/example/list',
- name: 'ArticleList',
- meta: { title: 'articleList', icon: 'list' }
- }
- ]
- },
-
- {
- path: '/tab',
- component: 'layout/Layout',
- children: [
- {
- path: 'index',
- component: 'views/tab/index',
- name: 'Tab',
- meta: { title: 'tab', icon: 'tab' }
- }
- ]
- },
-
- {
- path: '/error',
- component: 'layout/Layout',
- redirect: 'noRedirect',
- name: 'ErrorPages',
- meta: {
- title: 'errorPages',
- icon: '404'
- },
- children: [
- {
- path: '401',
- component: 'views/error-page/401',
- name: 'Page401',
- meta: { title: 'page401', noCache: true }
- },
- {
- path: '404',
- component: 'views/error-page/404',
- name: 'Page404',
- meta: { title: 'page404', noCache: true }
- }
- ]
- },
-
- {
- path: '/error-log',
- component: 'layout/Layout',
- redirect: 'noRedirect',
- children: [
- {
- path: 'log',
- component: 'views/error-log/index',
- name: 'ErrorLog',
- meta: { title: 'errorLog', icon: 'bug' }
- }
- ]
- },
-
- {
- path: '/excel',
- component: 'layout/Layout',
- redirect: '/excel/export-excel',
- name: 'Excel',
- meta: {
- title: 'excel',
- icon: 'excel'
- },
- children: [
- {
- path: 'export-excel',
- component: 'views/excel/export-excel',
- name: 'ExportExcel',
- meta: { title: 'exportExcel' }
- },
- {
- path: 'export-selected-excel',
- component: 'views/excel/select-excel',
- name: 'SelectExcel',
- meta: { title: 'selectExcel' }
- },
- {
- path: 'export-merge-header',
- component: 'views/excel/merge-header',
- name: 'MergeHeader',
- meta: { title: 'mergeHeader' }
- },
- {
- path: 'upload-excel',
- component: 'views/excel/upload-excel',
- name: 'UploadExcel',
- meta: { title: 'uploadExcel' }
- }
- ]
- },
-
- {
- path: '/zip',
- component: 'layout/Layout',
- redirect: '/zip/download',
- alwaysShow: true,
- meta: { title: 'zip', icon: 'zip' },
- children: [
- {
- path: 'download',
- component: 'views/zip/index',
- name: 'ExportZip',
- meta: { title: 'exportZip' }
- }
- ]
- },
-
- {
- path: '/pdf',
- component: 'layout/Layout',
- redirect: '/pdf/index',
- children: [
- {
- path: 'index',
- component: 'views/pdf/index',
- name: 'PDF',
- meta: { title: 'pdf', icon: 'pdf' }
- }
- ]
- },
- {
- path: '/pdf/download',
- component: 'views/pdf/download',
- hidden: true
- },
-
- {
- path: '/theme',
- component: 'layout/Layout',
- redirect: 'noRedirect',
- children: [
- {
- path: 'index',
- component: 'views/theme/index',
- name: 'Theme',
- meta: { title: 'theme', icon: 'theme' }
- }
- ]
- },
-
- {
- path: '/clipboard',
- component: 'layout/Layout',
- redirect: 'noRedirect',
- children: [
- {
- path: 'index',
- component: 'views/clipboard/index',
- name: 'ClipboardDemo',
- meta: { title: 'clipboardDemo', icon: 'clipboard' }
- }
- ]
- },
-
- {
- path: '/i18n',
- component: 'layout/Layout',
- children: [
- {
- path: 'index',
- component: 'views/i18n-demo/index',
- name: 'I18n',
- meta: { title: 'i18n', icon: 'international' }
- }
- ]
- },
-
- {
- path: 'external-link',
- component: 'layout/Layout',
- children: [
- {
- path: 'https://github.com/PanJiaChen/vue-element-admin',
- meta: { title: 'externalLink', icon: 'link' }
- }
- ]
- },
-
- { path: '*', redirect: '/404', hidden: true }
-]
-
-module.exports = {
- constantRoutes,
- asyncRoutes
-}
diff --git a/app/Modules/Admin/Resources/vue-element-admin/mock/user.js b/app/Modules/Admin/Resources/vue-element-admin/mock/user.js
deleted file mode 100644
index d82e079..0000000
--- a/app/Modules/Admin/Resources/vue-element-admin/mock/user.js
+++ /dev/null
@@ -1,84 +0,0 @@
-
-const tokens = {
- admin: {
- token: 'admin-token'
- },
- editor: {
- token: 'editor-token'
- }
-}
-
-const users = {
- 'admin-token': {
- roles: ['admin'],
- introduction: 'I am a super administrator',
- avatar: 'https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif',
- name: 'Super Admin'
- },
- 'editor-token': {
- roles: ['editor'],
- introduction: 'I am an editor',
- avatar: 'https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif',
- name: 'Normal Editor'
- }
-}
-
-module.exports = [
- // user login
- {
- url: '/vue-element-admin/user/login',
- type: 'post',
- response: config => {
- const { username } = config.body
- const token = tokens[username]
-
- // mock error
- if (!token) {
- return {
- code: 60204,
- message: 'Account and password are incorrect.'
- }
- }
-
- return {
- code: 20000,
- data: token
- }
- }
- },
-
- // get user info
- {
- url: '/vue-element-admin/user/info\.*',
- type: 'get',
- response: config => {
- const { token } = config.query
- const info = users[token]
-
- // mock error
- if (!info) {
- return {
- code: 50008,
- message: 'Login failed, unable to get user details.'
- }
- }
-
- return {
- code: 20000,
- data: info
- }
- }
- },
-
- // user logout
- {
- url: '/vue-element-admin/user/logout',
- type: 'post',
- response: _ => {
- return {
- code: 20000,
- data: 'success'
- }
- }
- }
-]
diff --git a/app/Modules/Admin/Resources/vue-element-admin/mock/utils.js b/app/Modules/Admin/Resources/vue-element-admin/mock/utils.js
deleted file mode 100644
index f909a29..0000000
--- a/app/Modules/Admin/Resources/vue-element-admin/mock/utils.js
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- * @param {string} url
- * @returns {Object}
- */
-function param2Obj(url) {
- const search = decodeURIComponent(url.split('?')[1]).replace(/\+/g, ' ')
- if (!search) {
- return {}
- }
- const obj = {}
- const searchArr = search.split('&')
- searchArr.forEach(v => {
- const index = v.indexOf('=')
- if (index !== -1) {
- const name = v.substring(0, index)
- const val = v.substring(index + 1, v.length)
- obj[name] = val
- }
- })
- return obj
-}
-
-/**
- * This is just a simple version of deep copy
- * Has a lot of edge cases bug
- * If you want to use a perfect deep copy, use lodash's _.cloneDeep
- * @param {Object} source
- * @returns {Object}
- */
-function deepClone(source) {
- if (!source && typeof source !== 'object') {
- throw new Error('error arguments', 'deepClone')
- }
- const targetObj = source.constructor === Array ? [] : {}
- Object.keys(source).forEach(keys => {
- if (source[keys] && typeof source[keys] === 'object') {
- targetObj[keys] = deepClone(source[keys])
- } else {
- targetObj[keys] = source[keys]
- }
- })
- return targetObj
-}
-
-module.exports = {
- param2Obj,
- deepClone
-}
diff --git a/app/Modules/Admin/Resources/vue-element-admin/router/index.js b/app/Modules/Admin/Resources/vue-element-admin/router/index.js
index 235ab8d..3ffbeb3 100644
--- a/app/Modules/Admin/Resources/vue-element-admin/router/index.js
+++ b/app/Modules/Admin/Resources/vue-element-admin/router/index.js
@@ -44,7 +44,7 @@ export const constantRoutes = [
children: [
{
path: '/redirect/:path(.*)',
- component: () => import('@/views/sundry/redirect/index')
+ component: () => import('@/views/demo/redirect/index')
}
]
},
@@ -101,7 +101,7 @@ export const constantRoutes = [
children: [
{
path: 'index',
- component: () => import('@/views/sundry/icons/index'),
+ component: () => import('@/views/demo/icons/index'),
name: 'Icons',
meta: {title: 'icons', icon: 'icon', noCache: true}
}
diff --git a/app/Modules/Admin/Resources/vue-element-admin/router/modules/charts.js b/app/Modules/Admin/Resources/vue-element-admin/router/modules/charts.js
index 42d7d20..1d3c944 100644
--- a/app/Modules/Admin/Resources/vue-element-admin/router/modules/charts.js
+++ b/app/Modules/Admin/Resources/vue-element-admin/router/modules/charts.js
@@ -14,19 +14,19 @@ const chartsRouter = {
children: [
{
path: 'keyboard',
- component: () => import('@/views/charts/keyboard'),
+ component: () => import('@/views/demo/charts/keyboard'),
name: 'KeyboardChart',
meta: {title: 'keyboardChart', noCache: true}
},
{
path: 'line',
- component: () => import('@/views/charts/line'),
+ component: () => import('@/views/demo/charts/line'),
name: 'LineChart',
meta: {title: 'lineChart', noCache: true}
},
{
path: 'mix-chart',
- component: () => import('@/views/charts/mix-chart'),
+ component: () => import('@/views/demo/charts/mix-chart'),
name: 'MixChart',
meta: {title: 'mixChart', noCache: true}
}
diff --git a/app/Modules/Admin/Resources/vue-element-admin/router/modules/components.js b/app/Modules/Admin/Resources/vue-element-admin/router/modules/components.js
index 5447699..16da791 100644
--- a/app/Modules/Admin/Resources/vue-element-admin/router/modules/components.js
+++ b/app/Modules/Admin/Resources/vue-element-admin/router/modules/components.js
@@ -14,61 +14,61 @@ const componentsRouter = {
children: [
{
path: 'tinymce',
- component: () => import('@/views/components-demo/tinymce'),
+ component: () => import('@/views/demo/components-demo/tinymce'),
name: 'TinymceDemo',
meta: {title: 'tinymce'}
},
{
path: 'markdown',
- component: () => import('@/views/components-demo/markdown'),
+ component: () => import('@/views/demo/components-demo/markdown'),
name: 'MarkdownDemo',
meta: {title: 'markdown'}
},
{
path: 'json-editor',
- component: () => import('@/views/components-demo/json-editor'),
+ component: () => import('@/views/demo/components-demo/json-editor'),
name: 'JsonEditorDemo',
meta: {title: 'jsonEditor'}
},
{
path: 'avatar-upload',
- component: () => import('@/views/components-demo/avatar-upload'),
+ component: () => import('@/views/demo/components-demo/avatar-upload'),
name: 'AvatarUploadDemo',
meta: {title: 'avatarUpload'}
},
{
path: 'dropzone',
- component: () => import('@/views/components-demo/dropzone'),
+ component: () => import('@/views/demo/components-demo/dropzone'),
name: 'DropzoneDemo',
meta: {title: 'dropzone'}
},
{
path: 'count-to',
- component: () => import('@/views/components-demo/count-to'),
+ component: () => import('@/views/demo/components-demo/count-to'),
name: 'CountToDemo',
meta: {title: 'countTo'}
},
{
path: 'mixin',
- component: () => import('@/views/components-demo/mixin'),
+ component: () => import('@/views/demo/components-demo/mixin'),
name: 'ComponentMixinDemo',
meta: {title: 'componentMixin'}
},
{
path: 'back-to-top',
- component: () => import('@/views/components-demo/back-to-top'),
+ component: () => import('@/views/demo/components-demo/back-to-top'),
name: 'BackToTopDemo',
meta: {title: 'backToTop'}
},
{
path: 'drag-select',
- component: () => import('@/views/components-demo/drag-select'),
+ component: () => import('@/views/demo/components-demo/drag-select'),
name: 'DragSelectDemo',
meta: {title: 'dragSelect'}
},
{
path: 'drag-kanban',
- component: () => import('@/views/components-demo/drag-kanban'),
+ component: () => import('@/views/demo/components-demo/drag-kanban'),
name: 'DragKanbanDemo',
meta: {title: 'dragKanban'}
}
diff --git a/app/Modules/Admin/Resources/vue-element-admin/views/charts/keyboard.vue b/app/Modules/Admin/Resources/vue-element-admin/views/demo/charts/keyboard.vue
similarity index 100%
rename from app/Modules/Admin/Resources/vue-element-admin/views/charts/keyboard.vue
rename to app/Modules/Admin/Resources/vue-element-admin/views/demo/charts/keyboard.vue
diff --git a/app/Modules/Admin/Resources/vue-element-admin/views/charts/line.vue b/app/Modules/Admin/Resources/vue-element-admin/views/demo/charts/line.vue
similarity index 100%
rename from app/Modules/Admin/Resources/vue-element-admin/views/charts/line.vue
rename to app/Modules/Admin/Resources/vue-element-admin/views/demo/charts/line.vue
diff --git a/app/Modules/Admin/Resources/vue-element-admin/views/charts/mix-chart.vue b/app/Modules/Admin/Resources/vue-element-admin/views/demo/charts/mix-chart.vue
similarity index 100%
rename from app/Modules/Admin/Resources/vue-element-admin/views/charts/mix-chart.vue
rename to app/Modules/Admin/Resources/vue-element-admin/views/demo/charts/mix-chart.vue
diff --git a/app/Modules/Admin/Resources/vue-element-admin/views/components-demo/avatar-upload.vue b/app/Modules/Admin/Resources/vue-element-admin/views/demo/components-demo/avatar-upload.vue
similarity index 100%
rename from app/Modules/Admin/Resources/vue-element-admin/views/components-demo/avatar-upload.vue
rename to app/Modules/Admin/Resources/vue-element-admin/views/demo/components-demo/avatar-upload.vue
diff --git a/app/Modules/Admin/Resources/vue-element-admin/views/components-demo/back-to-top.vue b/app/Modules/Admin/Resources/vue-element-admin/views/demo/components-demo/back-to-top.vue
similarity index 100%
rename from app/Modules/Admin/Resources/vue-element-admin/views/components-demo/back-to-top.vue
rename to app/Modules/Admin/Resources/vue-element-admin/views/demo/components-demo/back-to-top.vue
diff --git a/app/Modules/Admin/Resources/vue-element-admin/views/components-demo/count-to.vue b/app/Modules/Admin/Resources/vue-element-admin/views/demo/components-demo/count-to.vue
similarity index 100%
rename from app/Modules/Admin/Resources/vue-element-admin/views/components-demo/count-to.vue
rename to app/Modules/Admin/Resources/vue-element-admin/views/demo/components-demo/count-to.vue
diff --git a/app/Modules/Admin/Resources/vue-element-admin/views/components-demo/drag-kanban.vue b/app/Modules/Admin/Resources/vue-element-admin/views/demo/components-demo/drag-kanban.vue
similarity index 100%
rename from app/Modules/Admin/Resources/vue-element-admin/views/components-demo/drag-kanban.vue
rename to app/Modules/Admin/Resources/vue-element-admin/views/demo/components-demo/drag-kanban.vue
diff --git a/app/Modules/Admin/Resources/vue-element-admin/views/components-demo/drag-select.vue b/app/Modules/Admin/Resources/vue-element-admin/views/demo/components-demo/drag-select.vue
similarity index 100%
rename from app/Modules/Admin/Resources/vue-element-admin/views/components-demo/drag-select.vue
rename to app/Modules/Admin/Resources/vue-element-admin/views/demo/components-demo/drag-select.vue
diff --git a/app/Modules/Admin/Resources/vue-element-admin/views/components-demo/dropzone.vue b/app/Modules/Admin/Resources/vue-element-admin/views/demo/components-demo/dropzone.vue
similarity index 100%
rename from app/Modules/Admin/Resources/vue-element-admin/views/components-demo/dropzone.vue
rename to app/Modules/Admin/Resources/vue-element-admin/views/demo/components-demo/dropzone.vue
diff --git a/app/Modules/Admin/Resources/vue-element-admin/views/components-demo/json-editor.vue b/app/Modules/Admin/Resources/vue-element-admin/views/demo/components-demo/json-editor.vue
similarity index 100%
rename from app/Modules/Admin/Resources/vue-element-admin/views/components-demo/json-editor.vue
rename to app/Modules/Admin/Resources/vue-element-admin/views/demo/components-demo/json-editor.vue
diff --git a/app/Modules/Admin/Resources/vue-element-admin/views/components-demo/markdown.vue b/app/Modules/Admin/Resources/vue-element-admin/views/demo/components-demo/markdown.vue
similarity index 100%
rename from app/Modules/Admin/Resources/vue-element-admin/views/components-demo/markdown.vue
rename to app/Modules/Admin/Resources/vue-element-admin/views/demo/components-demo/markdown.vue
diff --git a/app/Modules/Admin/Resources/vue-element-admin/views/components-demo/mixin.vue b/app/Modules/Admin/Resources/vue-element-admin/views/demo/components-demo/mixin.vue
similarity index 100%
rename from app/Modules/Admin/Resources/vue-element-admin/views/components-demo/mixin.vue
rename to app/Modules/Admin/Resources/vue-element-admin/views/demo/components-demo/mixin.vue
diff --git a/app/Modules/Admin/Resources/vue-element-admin/views/components-demo/tinymce.vue b/app/Modules/Admin/Resources/vue-element-admin/views/demo/components-demo/tinymce.vue
similarity index 100%
rename from app/Modules/Admin/Resources/vue-element-admin/views/components-demo/tinymce.vue
rename to app/Modules/Admin/Resources/vue-element-admin/views/demo/components-demo/tinymce.vue
diff --git a/app/Modules/Admin/Resources/vue-element-admin/views/sundry/icons/element-icons.js b/app/Modules/Admin/Resources/vue-element-admin/views/demo/icons/element-icons.js
similarity index 100%
rename from app/Modules/Admin/Resources/vue-element-admin/views/sundry/icons/element-icons.js
rename to app/Modules/Admin/Resources/vue-element-admin/views/demo/icons/element-icons.js
diff --git a/app/Modules/Admin/Resources/vue-element-admin/views/sundry/icons/index.vue b/app/Modules/Admin/Resources/vue-element-admin/views/demo/icons/index.vue
similarity index 100%
rename from app/Modules/Admin/Resources/vue-element-admin/views/sundry/icons/index.vue
rename to app/Modules/Admin/Resources/vue-element-admin/views/demo/icons/index.vue
diff --git a/app/Modules/Admin/Resources/vue-element-admin/views/sundry/icons/svg-icons.js b/app/Modules/Admin/Resources/vue-element-admin/views/demo/icons/svg-icons.js
similarity index 100%
rename from app/Modules/Admin/Resources/vue-element-admin/views/sundry/icons/svg-icons.js
rename to app/Modules/Admin/Resources/vue-element-admin/views/demo/icons/svg-icons.js
diff --git a/app/Modules/Admin/Resources/vue-element-admin/views/sundry/redirect/index.vue b/app/Modules/Admin/Resources/vue-element-admin/views/demo/redirect/index.vue
similarity index 100%
rename from app/Modules/Admin/Resources/vue-element-admin/views/sundry/redirect/index.vue
rename to app/Modules/Admin/Resources/vue-element-admin/views/demo/redirect/index.vue
--
Gitee