no message
Former-commit-id: 07cf3bfbbd524a7cba0d122298f8c841010a4e55 Former-commit-id: c900623564b914d9db47b14633ba79e258142db7 Former-commit-id: 2cffd03327ce8647045ddb5073d7752bbbdba533
This commit is contained in:
@@ -26,7 +26,8 @@ Mock.mock('/login', 'post', ({url, type, body}) => {
|
|||||||
code: 0,
|
code: 0,
|
||||||
msg: '登陆成功',
|
msg: '登陆成功',
|
||||||
data: {
|
data: {
|
||||||
...user
|
...user,
|
||||||
|
token: '1234567890'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -82,6 +82,7 @@ export default {
|
|||||||
}
|
}
|
||||||
Cookies.set('username', res.username, setting)
|
Cookies.set('username', res.username, setting)
|
||||||
Cookies.set('password', res.password, setting)
|
Cookies.set('password', res.password, setting)
|
||||||
|
Cookies.set('token', res.token, setting)
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
name: 'index'
|
name: 'index'
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import axios from 'axios'
|
|||||||
|
|
||||||
axios.interceptors.response.use(res => {
|
axios.interceptors.response.use(res => {
|
||||||
// 在这里对返回的数据进行处理
|
// 在这里对返回的数据进行处理
|
||||||
if (res.data.code) {
|
if (res.data.code !== undefined) {
|
||||||
if (res.data.code !== 0) {
|
if (res.data.code !== 0) {
|
||||||
Message.error(res.data.msg)
|
Message.error(res.data.msg)
|
||||||
return Promise.reject(res.data.msg)
|
return Promise.reject(res.data.msg)
|
||||||
|
|||||||
@@ -1,16 +1,37 @@
|
|||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
import VueRouter from 'vue-router'
|
import VueRouter from 'vue-router'
|
||||||
|
import Cookies from 'js-cookie'
|
||||||
|
|
||||||
// 在菜单中显示的那部分路由
|
// 在菜单中显示的那部分路由
|
||||||
import { router } from '@/router/menu/index.js'
|
import * as menu from '@/router/menu/index.js'
|
||||||
// 不在菜单中显示的那部分路由
|
// 不在菜单中显示的那部分路由
|
||||||
import invisibleRouter from './invisible/index.js'
|
import invisible from './invisible/index.js'
|
||||||
|
|
||||||
Vue.use(VueRouter)
|
Vue.use(VueRouter)
|
||||||
|
|
||||||
export default new VueRouter({
|
let router = new VueRouter({
|
||||||
routes: [
|
routes: [
|
||||||
...router,
|
...menu.router,
|
||||||
...invisibleRouter
|
...invisible
|
||||||
]
|
]
|
||||||
})
|
})
|
||||||
|
|
||||||
|
router.beforeEach((to, from, next) => {
|
||||||
|
// 需要身份校验
|
||||||
|
if (to.meta.requiresAuth) {
|
||||||
|
// 这里暂时将cookie里是否存有token作为验证是否登陆的条件 请根据自身业务需要修改
|
||||||
|
if (Cookies.get('token')) {
|
||||||
|
next()
|
||||||
|
} else {
|
||||||
|
// 没有登陆的时候跳转到登陆界面
|
||||||
|
next({
|
||||||
|
name: 'login'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// 不需要身份校验 直接通过
|
||||||
|
next()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
export default router
|
||||||
|
|||||||
@@ -10,6 +10,9 @@ export default [
|
|||||||
{
|
{
|
||||||
path: 'index',
|
path: 'index',
|
||||||
name: 'index',
|
name: 'index',
|
||||||
|
meta: {
|
||||||
|
requiresAuth: true
|
||||||
|
},
|
||||||
component: resolve => { require(['@/pages/core/index/index.vue'], resolve) }
|
component: resolve => { require(['@/pages/core/index/index.vue'], resolve) }
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -3,6 +3,9 @@ export const menu = {
|
|||||||
title: '业务演示',
|
title: '业务演示',
|
||||||
path: '/demo/business',
|
path: '/demo/business',
|
||||||
name: 'demo-business',
|
name: 'demo-business',
|
||||||
|
meta: {
|
||||||
|
requiresAuth: true
|
||||||
|
},
|
||||||
component: resolve => { require(['@/components/core/MainLayout/index.vue'], resolve) },
|
component: resolve => { require(['@/components/core/MainLayout/index.vue'], resolve) },
|
||||||
// redirect: {
|
// redirect: {
|
||||||
// name: ''
|
// name: ''
|
||||||
@@ -18,6 +21,9 @@ export const menu = {
|
|||||||
icon: 'file-o',
|
icon: 'file-o',
|
||||||
path: 'data/worker',
|
path: 'data/worker',
|
||||||
name: 'demo-business-data-worker',
|
name: 'demo-business-data-worker',
|
||||||
|
meta: {
|
||||||
|
requiresAuth: true
|
||||||
|
},
|
||||||
component: resolve => { require(['@/pages/demo/business/data/worker/index.vue'], resolve) }
|
component: resolve => { require(['@/pages/demo/business/data/worker/index.vue'], resolve) }
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -3,6 +3,9 @@ export const menu = {
|
|||||||
title: '功能',
|
title: '功能',
|
||||||
path: '/demo/plugins',
|
path: '/demo/plugins',
|
||||||
name: 'demo-plugins',
|
name: 'demo-plugins',
|
||||||
|
meta: {
|
||||||
|
requiresAuth: true
|
||||||
|
},
|
||||||
component: resolve => { require(['@/components/core/MainLayout/index.vue'], resolve) },
|
component: resolve => { require(['@/components/core/MainLayout/index.vue'], resolve) },
|
||||||
// redirect: {
|
// redirect: {
|
||||||
// name: 'demo-plugins-marked-readme'
|
// name: 'demo-plugins-marked-readme'
|
||||||
@@ -18,6 +21,9 @@ export const menu = {
|
|||||||
icon: 'file-o',
|
icon: 'file-o',
|
||||||
path: 'marked/demo',
|
path: 'marked/demo',
|
||||||
name: 'demo-plugins-marked-demo',
|
name: 'demo-plugins-marked-demo',
|
||||||
|
meta: {
|
||||||
|
requiresAuth: true
|
||||||
|
},
|
||||||
component: resolve => { require(['@/pages/demo/plugins/marked/demo.vue'], resolve) }
|
component: resolve => { require(['@/pages/demo/plugins/marked/demo.vue'], resolve) }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -25,6 +31,9 @@ export const menu = {
|
|||||||
icon: 'file-o',
|
icon: 'file-o',
|
||||||
path: 'marked/demoHighlight',
|
path: 'marked/demoHighlight',
|
||||||
name: 'demo-plugins-marked-demoHighlight',
|
name: 'demo-plugins-marked-demoHighlight',
|
||||||
|
meta: {
|
||||||
|
requiresAuth: true
|
||||||
|
},
|
||||||
component: resolve => { require(['@/pages/demo/plugins/marked/demoHighlight.vue'], resolve) }
|
component: resolve => { require(['@/pages/demo/plugins/marked/demoHighlight.vue'], resolve) }
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -39,6 +48,9 @@ export const menu = {
|
|||||||
icon: 'file-o',
|
icon: 'file-o',
|
||||||
path: 'simpleMDE/demo',
|
path: 'simpleMDE/demo',
|
||||||
name: 'demo-plugins-simpleMDE-demo',
|
name: 'demo-plugins-simpleMDE-demo',
|
||||||
|
meta: {
|
||||||
|
requiresAuth: true
|
||||||
|
},
|
||||||
component: resolve => { require(['@/pages/demo/plugins/simpleMDE/demo.vue'], resolve) }
|
component: resolve => { require(['@/pages/demo/plugins/simpleMDE/demo.vue'], resolve) }
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -53,6 +65,9 @@ export const menu = {
|
|||||||
icon: 'file-o',
|
icon: 'file-o',
|
||||||
path: 'quill/demo',
|
path: 'quill/demo',
|
||||||
name: 'demo-plugins-quill-demo',
|
name: 'demo-plugins-quill-demo',
|
||||||
|
meta: {
|
||||||
|
requiresAuth: true
|
||||||
|
},
|
||||||
component: resolve => { require(['@/pages/demo/plugins/quill/demo.vue'], resolve) }
|
component: resolve => { require(['@/pages/demo/plugins/quill/demo.vue'], resolve) }
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -67,6 +82,9 @@ export const menu = {
|
|||||||
icon: 'file-o',
|
icon: 'file-o',
|
||||||
path: 'font-awesome/list',
|
path: 'font-awesome/list',
|
||||||
name: 'demo-font-awesome-list',
|
name: 'demo-font-awesome-list',
|
||||||
|
meta: {
|
||||||
|
requiresAuth: true
|
||||||
|
},
|
||||||
component: resolve => { require(['@/pages/demo/plugins/font-awesome/list.vue'], resolve) }
|
component: resolve => { require(['@/pages/demo/plugins/font-awesome/list.vue'], resolve) }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -74,6 +92,9 @@ export const menu = {
|
|||||||
icon: 'file-o',
|
icon: 'file-o',
|
||||||
path: 'font-awesome/select',
|
path: 'font-awesome/select',
|
||||||
name: 'demo-font-awesome-select',
|
name: 'demo-font-awesome-select',
|
||||||
|
meta: {
|
||||||
|
requiresAuth: true
|
||||||
|
},
|
||||||
component: resolve => { require(['@/pages/demo/plugins/font-awesome/select.vue'], resolve) }
|
component: resolve => { require(['@/pages/demo/plugins/font-awesome/select.vue'], resolve) }
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -88,6 +109,9 @@ export const menu = {
|
|||||||
icon: 'file-o',
|
icon: 'file-o',
|
||||||
path: 'vue-grid-layout/demo',
|
path: 'vue-grid-layout/demo',
|
||||||
name: 'demo-plugins-vue-grid-layout-demo',
|
name: 'demo-plugins-vue-grid-layout-demo',
|
||||||
|
meta: {
|
||||||
|
requiresAuth: true
|
||||||
|
},
|
||||||
component: resolve => { require(['@/pages/demo/plugins/vue-grid-layout/demo.vue'], resolve) }
|
component: resolve => { require(['@/pages/demo/plugins/vue-grid-layout/demo.vue'], resolve) }
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -102,6 +126,9 @@ export const menu = {
|
|||||||
icon: 'file-o',
|
icon: 'file-o',
|
||||||
path: 'timeago/demo',
|
path: 'timeago/demo',
|
||||||
name: 'demo-plugins-timeago-demo',
|
name: 'demo-plugins-timeago-demo',
|
||||||
|
meta: {
|
||||||
|
requiresAuth: true
|
||||||
|
},
|
||||||
component: resolve => { require(['@/pages/demo/plugins/timeago/demo.vue'], resolve) }
|
component: resolve => { require(['@/pages/demo/plugins/timeago/demo.vue'], resolve) }
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -116,6 +143,9 @@ export const menu = {
|
|||||||
icon: 'file-o',
|
icon: 'file-o',
|
||||||
path: 'papaParse/demo',
|
path: 'papaParse/demo',
|
||||||
name: 'demo-plugins-papaParse-demo',
|
name: 'demo-plugins-papaParse-demo',
|
||||||
|
meta: {
|
||||||
|
requiresAuth: true
|
||||||
|
},
|
||||||
component: resolve => { require(['@/pages/demo/plugins/papaParse/demo.vue'], resolve) }
|
component: resolve => { require(['@/pages/demo/plugins/papaParse/demo.vue'], resolve) }
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -130,6 +160,9 @@ export const menu = {
|
|||||||
icon: 'file-o',
|
icon: 'file-o',
|
||||||
path: 'countup/demo',
|
path: 'countup/demo',
|
||||||
name: 'demo-plugins-countup-demo',
|
name: 'demo-plugins-countup-demo',
|
||||||
|
meta: {
|
||||||
|
requiresAuth: true
|
||||||
|
},
|
||||||
component: resolve => { require(['@/pages/demo/plugins/countup/demo.vue'], resolve) }
|
component: resolve => { require(['@/pages/demo/plugins/countup/demo.vue'], resolve) }
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -144,6 +177,9 @@ export const menu = {
|
|||||||
icon: 'file-o',
|
icon: 'file-o',
|
||||||
path: 'clipboard-polyfill/demo',
|
path: 'clipboard-polyfill/demo',
|
||||||
name: 'demo-plugins-clipboard-polyfill-demo',
|
name: 'demo-plugins-clipboard-polyfill-demo',
|
||||||
|
meta: {
|
||||||
|
requiresAuth: true
|
||||||
|
},
|
||||||
component: resolve => { require(['@/pages/demo/plugins/clipboard-polyfill/demo.vue'], resolve) }
|
component: resolve => { require(['@/pages/demo/plugins/clipboard-polyfill/demo.vue'], resolve) }
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -158,6 +194,9 @@ export const menu = {
|
|||||||
icon: 'file-o',
|
icon: 'file-o',
|
||||||
path: 'js-cookie/demo',
|
path: 'js-cookie/demo',
|
||||||
name: 'demo-plugins-js-cookie-demo',
|
name: 'demo-plugins-js-cookie-demo',
|
||||||
|
meta: {
|
||||||
|
requiresAuth: true
|
||||||
|
},
|
||||||
component: resolve => { require(['@/pages/demo/plugins/js-cookie/demo.vue'], resolve) }
|
component: resolve => { require(['@/pages/demo/plugins/js-cookie/demo.vue'], resolve) }
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -172,6 +211,9 @@ export const menu = {
|
|||||||
icon: 'file-o',
|
icon: 'file-o',
|
||||||
path: 'highlight/demo',
|
path: 'highlight/demo',
|
||||||
name: 'demo-plugins-highlight-demo',
|
name: 'demo-plugins-highlight-demo',
|
||||||
|
meta: {
|
||||||
|
requiresAuth: true
|
||||||
|
},
|
||||||
component: resolve => { require(['@/pages/demo/plugins/highlight/demo.vue'], resolve) }
|
component: resolve => { require(['@/pages/demo/plugins/highlight/demo.vue'], resolve) }
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -186,6 +228,9 @@ export const menu = {
|
|||||||
icon: 'file-o',
|
icon: 'file-o',
|
||||||
path: 'mock/demoDTD',
|
path: 'mock/demoDTD',
|
||||||
name: 'demo-plugins-mock-demoDTD',
|
name: 'demo-plugins-mock-demoDTD',
|
||||||
|
meta: {
|
||||||
|
requiresAuth: true
|
||||||
|
},
|
||||||
component: resolve => { require(['@/pages/demo/plugins/mock/demoDTD.vue'], resolve) }
|
component: resolve => { require(['@/pages/demo/plugins/mock/demoDTD.vue'], resolve) }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -193,6 +238,9 @@ export const menu = {
|
|||||||
icon: 'file-o',
|
icon: 'file-o',
|
||||||
path: 'mock/demoDPD',
|
path: 'mock/demoDPD',
|
||||||
name: 'demo-plugins-mock-demoDPD',
|
name: 'demo-plugins-mock-demoDPD',
|
||||||
|
meta: {
|
||||||
|
requiresAuth: true
|
||||||
|
},
|
||||||
component: resolve => { require(['@/pages/demo/plugins/mock/demoDPD.vue'], resolve) }
|
component: resolve => { require(['@/pages/demo/plugins/mock/demoDPD.vue'], resolve) }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -200,6 +248,9 @@ export const menu = {
|
|||||||
icon: 'file-o',
|
icon: 'file-o',
|
||||||
path: 'mock/ajax',
|
path: 'mock/ajax',
|
||||||
name: 'demo-plugins-mock-ajax',
|
name: 'demo-plugins-mock-ajax',
|
||||||
|
meta: {
|
||||||
|
requiresAuth: true
|
||||||
|
},
|
||||||
component: resolve => { require(['@/pages/demo/plugins/mock/ajax.vue'], resolve) }
|
component: resolve => { require(['@/pages/demo/plugins/mock/ajax.vue'], resolve) }
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -214,6 +265,9 @@ export const menu = {
|
|||||||
icon: 'file-o',
|
icon: 'file-o',
|
||||||
path: 'vue-splitpane/demo',
|
path: 'vue-splitpane/demo',
|
||||||
name: 'demo-plugins-vue-splitpane-demo',
|
name: 'demo-plugins-vue-splitpane-demo',
|
||||||
|
meta: {
|
||||||
|
requiresAuth: true
|
||||||
|
},
|
||||||
component: resolve => { require(['@/pages/demo/plugins/vue-splitpane/demo.vue'], resolve) }
|
component: resolve => { require(['@/pages/demo/plugins/vue-splitpane/demo.vue'], resolve) }
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
Reference in New Issue
Block a user