切换导航条
此项目
正在载入...
登录
朱兆平
/
vue_cli
·
提交
转到一个项目
GitLab
转到仪表盘
项目
活动
文件
提交
管道
0
构建
0
图表
里程碑
问题
0
合并请求
0
成员
标记
维基
派生
网络
创建新的问题
下载为
邮件补丁
差异文件
浏览文件
作者
朱兆平
6 years ago
提交
01c8403f5fafdad4e77ac988b141c481c39bd2f6
1 个父辈
8db66136
修复用户登录适配权限BUG
隐藏空白字符变更
内嵌
并排对比
正在显示
6 个修改的文件
包含
32 行增加
和
46 行删除
build/webpack.dev.conf.js
index.html
src/routes.js
src/views/Home.vue
src/views/Login.vue
src/views/Main.vue
build/webpack.dev.conf.js
查看文件 @
01c8403
...
...
@@ -28,6 +28,7 @@ module.exports = merge(baseWebpackConfig, {
new
HtmlWebpackPlugin
({
filename
:
'index.html'
,
template
:
'index.html'
,
favicon
:
'static/favicon.ico'
,
inject
:
true
}),
new
FriendlyErrorsPlugin
()
...
...
index.html
查看文件 @
01c8403
...
...
@@ -3,7 +3,8 @@
<head>
<meta
charset=
"utf-8"
>
<title>
vueadmin
</title>
<title>
流浪地球项目
</title>
<link
rel=
"shortcut icon"
type=
"image/x-icon"
href=
"favicon.ico"
>
</head>
<body>
...
...
src/routes.js
查看文件 @
01c8403
...
...
@@ -29,16 +29,16 @@ let routes = [
{
path
:
'/'
,
component
:
Home
,
name
:
''
,
name
:
'
主页
'
,
leaf
:
true
,
iconCls
:
'el-icon-menu'
,
children
:
[
{
path
:
'/main'
,
component
:
Main
,
name
:
'首页'
,
hidden
:
false
},
{
path
:
'/main'
,
component
:
Main
,
name
:
'首页'
},
]
},
// { path: '/test', component: Main },
{
path
:
'/'
,
path
:
'/
admin
'
,
component
:
Home
,
name
:
'用户管理'
,
iconCls
:
'el-icon-setting'
,
//图标样式class
...
...
@@ -62,7 +62,7 @@ let routes = [
{
path
:
'/'
,
component
:
Home
,
name
:
''
,
name
:
'
导航三
'
,
iconCls
:
'fa fa-address-card'
,
leaf
:
true
,
//只有一个节点
children
:
[
...
...
src/views/Home.vue
查看文件 @
01c8403
...
...
@@ -144,8 +144,7 @@
var userRouters = sessionStorage.getItem('menu');
if (userRouters) {
userRouters = JSON.parse(userRouters);
let sysMenus = _this.$router.options.routes;
rt.handleMenuList(sysMenus,userRouters);
_this.$router.options.routes = userRouters;
console.log("home:");
console.log(_this.$router.options.routes);
}
...
...
src/views/Login.vue
查看文件 @
01c8403
...
...
@@ -67,31 +67,34 @@
this.$refs.ruleForm2.resetFields();
},
handleMenuList : function (router,menu) {
var _
self
= this;
var _
this
= this;
var routerName = "";
router.forEach(function (v_router) {
var routerTemp = router.concat();
routerTemp.forEach(function (v_router,v_index,v_arr) {
routerName = v_router.name;
menu.forEach(function (v_menu) {
//查找返回的目录列表是否包含路由名称,有就返回匹配到的元素,没有就移除
let result = menu.find(item => {
return item.name === routerName;
});
//匹配到继续判断是否子元素,有子元素继续递归
if (result) {
if(v_router.children) {
_self.handleMenuList(v_router.children,result.children);
}
//没有则可以移除
}else {
router.splice(router.findIndex(itm => itm.name === routerName ),1);
//查找返回的目录列表是否包含路由名称,有就返回匹配到的元素,没有就移除
let result = menu.find(item => {
return item.name === routerName;
});
//匹配到继续判断是否子元素,有子元素继续递归
if (result) {
if (v_router.children && v_router.children.length>0) {
_this.handleMenuList(v_router.children, result.children);
}
})
}else {
//没有则可以移除
let deletRouter = router.findIndex(itm => itm.name === routerName );
router.splice(deletRouter,1);
}
});
console.log("longined router:");
console.log(_self.$router.options.routes);
//本地存储用户目录 ,防刷新目录丢失用
sessionStorage.setItem('menu', JSON.stringify(_self.$router.options.routes));
console.log(routerName);
console.log(_this.$router.options.routes);
// 本地存储用户目录 ,防刷新目录丢失用
sessionStorage.setItem('menu', JSON.stringify(_this.$router.options.routes));
},
handleSubmit2: function (ev) {
var _this = this;
...
...
@@ -127,11 +130,11 @@
console.log("sysMenus:");
console.log(sysMenus);
_this.handleMenuList(
sysMenu
s,_this.userMenus);
_this.handleMenuList(
_this.$router.options.route
s,_this.userMenus);
console.log("user:");
console.log(_this.$router.options.routes);
this.$router.push({path: '/main'});
_
this.$router.push({path: '/main'});
}
}).catch(error => {
let msg = error.message;
...
...
src/views/Main.vue
查看文件 @
01c8403
...
...
@@ -7,24 +7,6 @@
<script>
import rt from '../routes'
export default {
mounted() {
var _this = this;
var user = sessionStorage.getItem('user');
if (user) {
user = JSON.parse(user);
this.sysUserName = user.username || '';
this.sysUserAvatar = user.userface || '/static/images/faceDefault.jpg';
}
//操作路由,判断本地存储的用户栏目列表是否存在,如果存在则加载路由
var userRouters = sessionStorage.getItem('menu');
if (userRouters) {
userRouters = JSON.parse(userRouters);
let sysMenus = _this.$router.options.routes;
rt.handleMenuList(sysMenus,userRouters);
console.log("main:");
console.log(_this.$router.options.routes);
}
}
}
</script>
...
...
请
注册
或
登录
后发表评论