Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
钟摆人-Puppet゜
ant-design-pro
提交
8bc421a7
A
ant-design-pro
项目概览
钟摆人-Puppet゜
/
ant-design-pro
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
ant-design-pro
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
8bc421a7
编写于
12月 04, 2018
作者:
陈
陈小聪
提交者:
陈帅
12月 04, 2018
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
🐛
fix route noAuthority nowork Close: 2998 (#3052)
上级
29477bb4
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
20 addition
and
31 deletion
+20
-31
src/layouts/BasicLayout.js
src/layouts/BasicLayout.js
+19
-25
src/models/menu.js
src/models/menu.js
+1
-6
未找到文件。
src/layouts/BasicLayout.js
浏览文件 @
8bc421a7
...
...
@@ -91,31 +91,27 @@ class BasicLayout extends React.PureComponent {
};
}
/**
* 获取面包屑映射
* @param {Object} menuData 菜单配置
*/
getBreadcrumbNameMap
()
{
const
routerMap
=
{};
const
{
menuData
}
=
this
.
props
;
const
flattenMenuData
=
data
=>
{
data
.
forEach
(
menuItem
=>
{
if
(
menuItem
.
children
)
{
flattenMenuData
(
menuItem
.
children
);
}
// Reduce memory usage
routerMap
[
menuItem
.
path
]
=
menuItem
;
});
};
flattenMenuData
(
menuData
);
return
routerMap
;
}
matchParamsPath
=
(
pathname
,
breadcrumbNameMap
)
=>
{
const
pathKey
=
Object
.
keys
(
breadcrumbNameMap
).
find
(
key
=>
pathToRegexp
(
key
).
test
(
pathname
));
return
breadcrumbNameMap
[
pathKey
];
};
getRouterAuthority
=
(
pathname
,
routeData
)
=>
{
let
routeAuthority
=
[
'
noAuthority
'
];
const
getAuthority
=
(
key
,
routes
)
=>
{
routes
.
map
(
route
=>
{
if
(
route
.
path
===
key
)
{
routeAuthority
=
route
.
authority
;
}
else
if
(
route
.
routes
)
{
routeAuthority
=
getAuthority
(
key
,
route
.
routes
);
}
return
route
;
});
return
routeAuthority
;
};
return
getAuthority
(
pathname
,
routeData
);
};
getPageTitle
=
(
pathname
,
breadcrumbNameMap
)
=>
{
const
currRouterData
=
this
.
matchParamsPath
(
pathname
,
breadcrumbNameMap
);
...
...
@@ -166,11 +162,12 @@ class BasicLayout extends React.PureComponent {
isMobile
,
menuData
,
breadcrumbNameMap
,
route
:
{
routes
},
fixedHeader
,
}
=
this
.
props
;
const
isTop
=
PropsLayout
===
'
topmenu
'
;
const
routerConfig
=
this
.
matchParamsPath
(
pathname
,
breadcrumbNameMap
);
const
routerConfig
=
this
.
getRouterAuthority
(
pathname
,
routes
);
const
contentStyle
=
!
fixedHeader
?
{
paddingTop
:
0
}
:
{};
const
layout
=
(
<
Layout
>
...
...
@@ -198,10 +195,7 @@ class BasicLayout extends React.PureComponent {
{...
this
.
props
}
/
>
<
Content
className
=
{
styles
.
content
}
style
=
{
contentStyle
}
>
<
Authorized
authority
=
{
routerConfig
&&
routerConfig
.
authority
}
noMatch
=
{
<
Exception403
/>
}
>
<
Authorized
authority
=
{
routerConfig
}
noMatch
=
{
<
Exception403
/>
}
>
{
children
}
<
/Authorized
>
<
/Content
>
...
...
src/models/menu.js
浏览文件 @
8bc421a7
...
...
@@ -62,12 +62,7 @@ const filterMenuData = menuData => {
}
return
menuData
.
filter
(
item
=>
item
.
name
&&
!
item
.
hideInMenu
)
.
map
(
item
=>
{
// make dom
const
ItemDom
=
getSubMenu
(
item
);
const
data
=
check
(
item
.
authority
,
ItemDom
);
return
data
;
})
.
map
(
item
=>
check
(
item
.
authority
,
getSubMenu
(
item
)))
.
filter
(
item
=>
item
);
};
/**
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录