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,
|
||||
msg: '登陆成功',
|
||||
data: {
|
||||
...user
|
||||
...user,
|
||||
token: '1234567890'
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -82,6 +82,7 @@ export default {
|
||||
}
|
||||
Cookies.set('username', res.username, setting)
|
||||
Cookies.set('password', res.password, setting)
|
||||
Cookies.set('token', res.token, setting)
|
||||
this.$router.push({
|
||||
name: 'index'
|
||||
})
|
||||
|
||||
@@ -4,7 +4,7 @@ import axios from 'axios'
|
||||
|
||||
axios.interceptors.response.use(res => {
|
||||
// 在这里对返回的数据进行处理
|
||||
if (res.data.code) {
|
||||
if (res.data.code !== undefined) {
|
||||
if (res.data.code !== 0) {
|
||||
Message.error(res.data.msg)
|
||||
return Promise.reject(res.data.msg)
|
||||
|
||||
@@ -1,16 +1,37 @@
|
||||
import Vue from 'vue'
|
||||
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)
|
||||
|
||||
export default new VueRouter({
|
||||
let router = new VueRouter({
|
||||
routes: [
|
||||
...router,
|
||||
...invisibleRouter
|
||||
...menu.router,
|
||||
...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',
|
||||
name: 'index',
|
||||
meta: {
|
||||
requiresAuth: true
|
||||
},
|
||||
component: resolve => { require(['@/pages/core/index/index.vue'], resolve) }
|
||||
}
|
||||
]
|
||||
|
||||
@@ -3,6 +3,9 @@ export const menu = {
|
||||
title: '业务演示',
|
||||
path: '/demo/business',
|
||||
name: 'demo-business',
|
||||
meta: {
|
||||
requiresAuth: true
|
||||
},
|
||||
component: resolve => { require(['@/components/core/MainLayout/index.vue'], resolve) },
|
||||
// redirect: {
|
||||
// name: ''
|
||||
@@ -18,6 +21,9 @@ export const menu = {
|
||||
icon: 'file-o',
|
||||
path: 'data/worker',
|
||||
name: 'demo-business-data-worker',
|
||||
meta: {
|
||||
requiresAuth: true
|
||||
},
|
||||
component: resolve => { require(['@/pages/demo/business/data/worker/index.vue'], resolve) }
|
||||
}
|
||||
]
|
||||
|
||||
@@ -3,6 +3,9 @@ export const menu = {
|
||||
title: '功能',
|
||||
path: '/demo/plugins',
|
||||
name: 'demo-plugins',
|
||||
meta: {
|
||||
requiresAuth: true
|
||||
},
|
||||
component: resolve => { require(['@/components/core/MainLayout/index.vue'], resolve) },
|
||||
// redirect: {
|
||||
// name: 'demo-plugins-marked-readme'
|
||||
@@ -18,6 +21,9 @@ export const menu = {
|
||||
icon: 'file-o',
|
||||
path: 'marked/demo',
|
||||
name: 'demo-plugins-marked-demo',
|
||||
meta: {
|
||||
requiresAuth: true
|
||||
},
|
||||
component: resolve => { require(['@/pages/demo/plugins/marked/demo.vue'], resolve) }
|
||||
},
|
||||
{
|
||||
@@ -25,6 +31,9 @@ export const menu = {
|
||||
icon: 'file-o',
|
||||
path: 'marked/demoHighlight',
|
||||
name: 'demo-plugins-marked-demoHighlight',
|
||||
meta: {
|
||||
requiresAuth: true
|
||||
},
|
||||
component: resolve => { require(['@/pages/demo/plugins/marked/demoHighlight.vue'], resolve) }
|
||||
}
|
||||
]
|
||||
@@ -39,6 +48,9 @@ export const menu = {
|
||||
icon: 'file-o',
|
||||
path: 'simpleMDE/demo',
|
||||
name: 'demo-plugins-simpleMDE-demo',
|
||||
meta: {
|
||||
requiresAuth: true
|
||||
},
|
||||
component: resolve => { require(['@/pages/demo/plugins/simpleMDE/demo.vue'], resolve) }
|
||||
}
|
||||
]
|
||||
@@ -53,6 +65,9 @@ export const menu = {
|
||||
icon: 'file-o',
|
||||
path: 'quill/demo',
|
||||
name: 'demo-plugins-quill-demo',
|
||||
meta: {
|
||||
requiresAuth: true
|
||||
},
|
||||
component: resolve => { require(['@/pages/demo/plugins/quill/demo.vue'], resolve) }
|
||||
}
|
||||
]
|
||||
@@ -67,6 +82,9 @@ export const menu = {
|
||||
icon: 'file-o',
|
||||
path: 'font-awesome/list',
|
||||
name: 'demo-font-awesome-list',
|
||||
meta: {
|
||||
requiresAuth: true
|
||||
},
|
||||
component: resolve => { require(['@/pages/demo/plugins/font-awesome/list.vue'], resolve) }
|
||||
},
|
||||
{
|
||||
@@ -74,6 +92,9 @@ export const menu = {
|
||||
icon: 'file-o',
|
||||
path: 'font-awesome/select',
|
||||
name: 'demo-font-awesome-select',
|
||||
meta: {
|
||||
requiresAuth: true
|
||||
},
|
||||
component: resolve => { require(['@/pages/demo/plugins/font-awesome/select.vue'], resolve) }
|
||||
}
|
||||
]
|
||||
@@ -88,6 +109,9 @@ export const menu = {
|
||||
icon: 'file-o',
|
||||
path: '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) }
|
||||
}
|
||||
]
|
||||
@@ -102,6 +126,9 @@ export const menu = {
|
||||
icon: 'file-o',
|
||||
path: 'timeago/demo',
|
||||
name: 'demo-plugins-timeago-demo',
|
||||
meta: {
|
||||
requiresAuth: true
|
||||
},
|
||||
component: resolve => { require(['@/pages/demo/plugins/timeago/demo.vue'], resolve) }
|
||||
}
|
||||
]
|
||||
@@ -116,6 +143,9 @@ export const menu = {
|
||||
icon: 'file-o',
|
||||
path: 'papaParse/demo',
|
||||
name: 'demo-plugins-papaParse-demo',
|
||||
meta: {
|
||||
requiresAuth: true
|
||||
},
|
||||
component: resolve => { require(['@/pages/demo/plugins/papaParse/demo.vue'], resolve) }
|
||||
}
|
||||
]
|
||||
@@ -130,6 +160,9 @@ export const menu = {
|
||||
icon: 'file-o',
|
||||
path: 'countup/demo',
|
||||
name: 'demo-plugins-countup-demo',
|
||||
meta: {
|
||||
requiresAuth: true
|
||||
},
|
||||
component: resolve => { require(['@/pages/demo/plugins/countup/demo.vue'], resolve) }
|
||||
}
|
||||
]
|
||||
@@ -144,6 +177,9 @@ export const menu = {
|
||||
icon: 'file-o',
|
||||
path: 'clipboard-polyfill/demo',
|
||||
name: 'demo-plugins-clipboard-polyfill-demo',
|
||||
meta: {
|
||||
requiresAuth: true
|
||||
},
|
||||
component: resolve => { require(['@/pages/demo/plugins/clipboard-polyfill/demo.vue'], resolve) }
|
||||
}
|
||||
]
|
||||
@@ -158,6 +194,9 @@ export const menu = {
|
||||
icon: 'file-o',
|
||||
path: 'js-cookie/demo',
|
||||
name: 'demo-plugins-js-cookie-demo',
|
||||
meta: {
|
||||
requiresAuth: true
|
||||
},
|
||||
component: resolve => { require(['@/pages/demo/plugins/js-cookie/demo.vue'], resolve) }
|
||||
}
|
||||
]
|
||||
@@ -172,6 +211,9 @@ export const menu = {
|
||||
icon: 'file-o',
|
||||
path: 'highlight/demo',
|
||||
name: 'demo-plugins-highlight-demo',
|
||||
meta: {
|
||||
requiresAuth: true
|
||||
},
|
||||
component: resolve => { require(['@/pages/demo/plugins/highlight/demo.vue'], resolve) }
|
||||
}
|
||||
]
|
||||
@@ -186,6 +228,9 @@ export const menu = {
|
||||
icon: 'file-o',
|
||||
path: 'mock/demoDTD',
|
||||
name: 'demo-plugins-mock-demoDTD',
|
||||
meta: {
|
||||
requiresAuth: true
|
||||
},
|
||||
component: resolve => { require(['@/pages/demo/plugins/mock/demoDTD.vue'], resolve) }
|
||||
},
|
||||
{
|
||||
@@ -193,6 +238,9 @@ export const menu = {
|
||||
icon: 'file-o',
|
||||
path: 'mock/demoDPD',
|
||||
name: 'demo-plugins-mock-demoDPD',
|
||||
meta: {
|
||||
requiresAuth: true
|
||||
},
|
||||
component: resolve => { require(['@/pages/demo/plugins/mock/demoDPD.vue'], resolve) }
|
||||
},
|
||||
{
|
||||
@@ -200,6 +248,9 @@ export const menu = {
|
||||
icon: 'file-o',
|
||||
path: 'mock/ajax',
|
||||
name: 'demo-plugins-mock-ajax',
|
||||
meta: {
|
||||
requiresAuth: true
|
||||
},
|
||||
component: resolve => { require(['@/pages/demo/plugins/mock/ajax.vue'], resolve) }
|
||||
}
|
||||
]
|
||||
@@ -214,6 +265,9 @@ export const menu = {
|
||||
icon: 'file-o',
|
||||
path: 'vue-splitpane/demo',
|
||||
name: 'demo-plugins-vue-splitpane-demo',
|
||||
meta: {
|
||||
requiresAuth: true
|
||||
},
|
||||
component: resolve => { require(['@/pages/demo/plugins/vue-splitpane/demo.vue'], resolve) }
|
||||
}
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user