Commit fd2a45c6 authored by 周远喜's avatar 周远喜

路由菜单修改

parent af2e874e
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
</keep-alive> </keep-alive>
</div> </div>
</Content> </Content>
<i-copyright /> <!-- <i-copyright /> -->
</Layout> </Layout>
<div v-if="isMobile && !hideSider"> <div v-if="isMobile && !hideSider">
<Drawer v-model="showDrawer" placement="left" :closable="false" :class-name="drawerClasses"> <Drawer v-model="showDrawer" placement="left" :closable="false" :class-name="drawerClasses">
......
...@@ -9,7 +9,6 @@ import Setting from "@/setting"; ...@@ -9,7 +9,6 @@ import Setting from "@/setting";
import { getHeaderName, getMenuSider, getSiderSubmenu } from "@/libs/system"; import { getHeaderName, getMenuSider, getSiderSubmenu } from "@/libs/system";
// 菜单和路由 // 菜单和路由
import router from '@/router';
import menuHeader from '@/menu/header'; import menuHeader from '@/menu/header';
import menuSider from '@/menu/sider'; import menuSider from '@/menu/sider';
import { frameInRoutes } from '@/router/routes'; import { frameInRoutes } from '@/router/routes';
...@@ -17,9 +16,6 @@ import { frameInRoutes } from '@/router/routes'; ...@@ -17,9 +16,6 @@ import { frameInRoutes } from '@/router/routes';
export default { export default {
components: { MainLayout }, components: { MainLayout },
created() { created() {
// const filterMenuSider = getMenuSider(menuSider, "home");
// this.$store.commit("admin/menu/setSider", filterMenuSider);
console.warn("menu",menuSider,frameInRoutes,menuHeader);
// 处理路由 得到每一级的路由设置 // 处理路由 得到每一级的路由设置
this.$store.commit("admin/page/init", frameInRoutes); this.$store.commit("admin/page/init", frameInRoutes);
// 设置顶栏菜单 // 设置顶栏菜单
...@@ -35,7 +31,6 @@ export default { ...@@ -35,7 +31,6 @@ export default {
console.warn("to,from", to, from,menuSider); console.warn("to,from", to, from,menuSider);
let path = to.matched[to.matched.length - 1].path; let path = to.matched[to.matched.length - 1].path;
if (!Setting.dynamicSiderMenu) { if (!Setting.dynamicSiderMenu) {
debugger
let headerName = getHeaderName(path, menuSider); let headerName = getHeaderName(path, menuSider);
if (headerName === null) { if (headerName === null) {
path = to.path; path = to.path;
......
...@@ -5,6 +5,25 @@ import dashboard from './modules/dashboard'; ...@@ -5,6 +5,25 @@ import dashboard from './modules/dashboard';
import log from './modules/log'; import log from './modules/log';
export default [ export default [
dashboard, dashboard,
log log,
{
path: '',
title: '前端',
header: 'home',
icon: 'md-person',
children: [{
path: '/hello',
title: '前端1日志',
header: 'home',
icon: 'md-person'
},
{
path: '/hello2',
title: '前端2日志',
header: 'home',
icon: 'md-person'
}
]
}
]; ];
...@@ -7,9 +7,7 @@ import Languages from '@/i18n/locale'; ...@@ -7,9 +7,7 @@ import Languages from '@/i18n/locale';
// import '@/libs/iViewPro/iview-pro.css'; // import '@/libs/iViewPro/iview-pro.css';
import iViewPro from '../iview-pro/src/index.js'; import iViewPro from '../iview-pro/src/index.js';
import '@/libs/iview-pro/iview-pro.css'; import '@/libs/iview-pro/iview-pro.css';
import '@/styles/index.less'; import '@/styles/index.less';
// import '@/libs/iview-pro/iview-pro.css';
// 内置组件 // 内置组件
import iLink from '@/components/link'; import iLink from '@/components/link';
Vue.component("iLink", iLink) Vue.component("iLink", iLink)
......
import store from '@/store';
import axios from 'axios'; import axios from 'axios';
import util from '@/libs/util'; import util from '@/libs/util';
import Setting from '@/setting'; import Setting from '@/setting';
...@@ -15,7 +14,7 @@ function errorCreate (msg) { ...@@ -15,7 +14,7 @@ function errorCreate (msg) {
// 记录和显示错误 // 记录和显示错误
function errorLog (err) { function errorLog (err) {
// 添加到日志 // 添加到日志
store.dispatch('admin/log/push', { $nuxt.$store.dispatch('admin/log/push', {
message: '数据请求异常', message: '数据请求异常',
type: 'error', type: 'error',
meta: { meta: {
......
import Vue from 'vue';
import VueRouter from 'vue-router';
import iView from 'view-design';
import util from '@/libs/util'
import Setting from '@/setting';
import store from '@/store/index';
// 路由数据
import routes from './routes';
Vue.use(VueRouter);
// 导出路由 在 main.js 里使用
const router = new VueRouter({
routes,
mode: Setting.routerMode,
base: Setting.routerBase
});
/**
* 路由拦截
* 权限验证
*/
router.beforeEach((to, from, next) => {
if (Setting.showProgressBar) iView.LoadingBar.start();
// 判断是否需要登录才可以进入
if (to.matched.some(_ => _.meta.auth)) {
// 这里依据 token 判断是否登录,可视情况修改
const token = util.cookies.get('token');
if (token && token !== 'undefined') {
next();
} else {
// 没有登录的时候跳转到登录界面
// 携带上登陆成功之后需要跳转的页面完整路径
next({
name: 'login',
query: {
redirect: to.fullPath
}
});
}
} else {
// 不需要身份校验 直接通过
next();
}
});
router.afterEach(to => {
if (Setting.showProgressBar) iView.LoadingBar.finish();
// 多页控制 打开新的页面
store.dispatch('admin/page/open', to);
// 更改标题
util.title({
title: to.meta.title
});
// 返回页面顶端
window.scrollTo(0, 0);
});
export default router;
...@@ -3,7 +3,6 @@ ...@@ -3,7 +3,6 @@
* 一般情况下,您无需修改此文件 * 一般情况下,您无需修改此文件
* */ * */
import util from '@/libs/util'; import util from '@/libs/util';
import router from '@/router';
import { cloneDeep } from 'lodash'; import { cloneDeep } from 'lodash';
/** /**
...@@ -128,7 +127,7 @@ export const actions={ ...@@ -128,7 +127,7 @@ export const actions={
return new Promise(resolve => { return new Promise(resolve => {
resolve(util.db.get(pathInit({ resolve(util.db.get(pathInit({
dbName: 'database', dbName: 'database',
path: `$page.${router.app.$route[basis]}`, path: `$page.${$nuxt.$router[basis]}`,
user, user,
defaultValue: {} defaultValue: {}
}))) })))
...@@ -147,7 +146,7 @@ export const actions={ ...@@ -147,7 +146,7 @@ export const actions={
return new Promise(resolve => { return new Promise(resolve => {
resolve(util.db.get(pathInit({ resolve(util.db.get(pathInit({
dbName: 'database', dbName: 'database',
path: `$page.${router.app.$route[basis]}`, path: `$page.${$nuxt.$router[basis]}`,
user, user,
validator: () => false, validator: () => false,
defaultValue: {} defaultValue: {}
...@@ -169,7 +168,7 @@ export const actions={ ...@@ -169,7 +168,7 @@ export const actions={
return new Promise(resolve => { return new Promise(resolve => {
resolve(util.db.get(pathInit({ resolve(util.db.get(pathInit({
dbName: 'database', dbName: 'database',
path: `$page.${router.app.$route[basis]}.$data`, path: `$page.${$nuxt.$router[basis]}.$data`,
user, user,
validator: () => false, validator: () => false,
defaultValue: cloneDeep(instance.$data) defaultValue: cloneDeep(instance.$data)
...@@ -191,7 +190,7 @@ export const actions={ ...@@ -191,7 +190,7 @@ export const actions={
return new Promise(resolve => { return new Promise(resolve => {
resolve(cloneDeep(util.db.get(pathInit({ resolve(cloneDeep(util.db.get(pathInit({
dbName: 'database', dbName: 'database',
path: `$page.${router.app.$route[basis]}.$data`, path: `$page.${$nuxt.$router[basis]}.$data`,
user, user,
defaultValue: cloneDeep(instance.$data) defaultValue: cloneDeep(instance.$data)
})).value())) })).value()))
...@@ -210,7 +209,7 @@ export const actions={ ...@@ -210,7 +209,7 @@ export const actions={
return new Promise(resolve => { return new Promise(resolve => {
resolve(util.db.get(pathInit({ resolve(util.db.get(pathInit({
dbName: 'database', dbName: 'database',
path: `$page.${router.app.$route[basis]}.$data`, path: `$page.${$nuxt.$router[basis]}.$data`,
user, user,
validator: () => false, validator: () => false,
defaultValue: {} defaultValue: {}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment