Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
center-book
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
center-book
Commits
761e2bd5
提交
761e2bd5
authored
7月 20, 2026
作者:
王鹏飞
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
refactor(admin): remove unused legacy route metadata
上级
e20c1cd7
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
1 行增加
和
463 行删除
+1
-463
component.js
apps/admin/src/config/component.js
+0
-358
index.jsx
apps/admin/src/layout/index.jsx
+1
-4
user.js
apps/admin/src/store/modules/user.js
+0
-6
breadCrumb.js
apps/admin/src/utils/breadCrumb.js
+0
-95
没有找到文件。
apps/admin/src/config/component.js
deleted
100644 → 0
浏览文件 @
e20c1cd7
export
default
[
// 书籍管理
{
name
:
"books"
,
key
:
"/books"
,
title
:
"书籍管理"
,
component
:
"books/index"
,
},
{
name
:
"books-classify"
,
key
:
"/books/classify"
,
title
:
"书籍分类"
,
component
:
"books/classify/index"
,
},
{
name
:
"books-audit"
,
key
:
"/books/audit"
,
title
:
"书籍审核"
,
component
:
"books/audit/index"
,
isChild
:
true
,
},
{
name
:
"books-label"
,
key
:
"/books/label"
,
title
:
"书籍标签"
,
component
:
"books/label/index"
,
},
{
name
:
"books-management"
,
key
:
"/books/management"
,
title
:
"写书管理"
,
component
:
"books/management/index"
,
isChild
:
true
,
},
{
name
:
"books-sale"
,
key
:
"/books/sale"
,
title
:
"在售书籍"
,
component
:
"books/sale/index"
,
isChild
:
true
,
},
{
name
:
"books-question-bank"
,
key
:
"/books/question-bank"
,
title
:
"题库管理"
,
component
:
"books/question-bank/index"
,
},
{
name
:
"books-discussion"
,
key
:
"/books/discussion"
,
title
:
"讨论互动"
,
component
:
"books/discussion/index"
,
},
{
name
:
"order-management"
,
key
:
"/books/order-management"
,
title
:
"订单管理"
,
component
:
"books/order-management/index"
,
isChild
:
true
,
},
{
name
:
"books-design"
,
key
:
"/books/design"
,
title
:
"在线设计"
,
component
:
"books/design/index"
,
},
// 用户管理
{
name
:
"member"
,
key
:
"/member"
,
title
:
"用户管理"
,
component
:
"member/index"
,
},
{
name
:
"memberlist"
,
key
:
"/member/list"
,
title
:
"用户管理"
,
component
:
"member/list/index"
,
isChild
:
true
,
},
{
name
:
"userlevel"
,
key
:
"/member/userlevel"
,
title
:
"用户等级"
,
component
:
"member/userlevel/index"
,
},
// 广告管理
{
name
:
"advertisement"
,
key
:
"/advertisement"
,
title
:
"广告管理"
,
component
:
"advertisement/index"
,
},
{
name
:
"advert"
,
key
:
"/advertisement/advert"
,
title
:
"广告管理"
,
component
:
"advertisement/advert/index"
,
},
{
name
:
"adsense"
,
key
:
"/advertisement/adsense"
,
title
:
"广告位管理"
,
component
:
"advertisement/adsense/index"
,
},
// 系统设置
{
name
:
"setting"
,
key
:
"/setting"
,
title
:
"系统设置"
,
component
:
"setting/index"
,
},
{
name
:
"settingHelp"
,
key
:
"/setting/help"
,
title
:
"帮助中心"
,
component
:
"setting/help/index"
,
isChild
:
true
,
},
{
name
:
"applied"
,
key
:
"/setting/applied"
,
title
:
"应用管理"
,
component
:
"setting/applied/index"
,
},
{
name
:
"personalized"
,
key
:
"/setting/personalized-setting"
,
title
:
"个性化设置"
,
component
:
"setting/personalized-setting/index"
,
},
{
name
:
"point"
,
key
:
"/setting/point-management"
,
title
:
"积分管理"
,
component
:
"setting/point-management/index"
,
},
{
name
:
"appversion"
,
key
:
"/setting/app-version"
,
title
:
"APP版本管理"
,
component
:
"setting/app-version/index"
,
},
{
name
:
"coupon"
,
key
:
"/setting/coupon"
,
title
:
"优惠卷管理"
,
component
:
"setting/coupon/index"
,
},
{
name
:
"sensitive"
,
key
:
"/setting/sensitive"
,
title
:
"敏感词搜索"
,
component
:
"setting/sensitive/index"
,
},
{
name
:
"feedback"
,
key
:
"/setting/feedback"
,
title
:
"意见反馈"
,
component
:
"setting/feedback/index"
,
},
// 权限管理
{
name
:
"jurisdiction"
,
key
:
"/jurisdiction"
,
title
:
"权限管理"
,
component
:
"jurisdiction/index"
,
},
{
name
:
"jurisdictionadmin"
,
key
:
"/jurisdiction/admin"
,
title
:
"管理员管理"
,
component
:
"jurisdiction/admin/index"
,
},
{
name
:
"jurisdictionrole"
,
key
:
"/jurisdiction/role"
,
title
:
"角色管理"
,
component
:
"jurisdiction/role/index"
,
},
// 老师管理
{
name
:
"teacher"
,
key
:
"/teacher"
,
title
:
"老师管理"
,
component
:
"teacher/index"
,
},
{
name
:
"teacherlist"
,
key
:
"/teacher/list"
,
title
:
"老师管理"
,
component
:
"teacher/query/index"
,
},
];
const
childThirdRoutes
=
{
// 写书管理
"/books/management"
:
[
{
path
:
"/books/management/list"
,
key
:
"/books/management/list"
,
name
:
"managementlist"
,
meta
:
{
title
:
""
},
hidden
:
true
,
component
:
"books/management/list/index"
,
},
{
path
:
"/books/management/add-edit"
,
key
:
"/books/management/add-edit"
,
name
:
"management-addedit"
,
meta
:
{
title
:
""
},
hidden
:
true
,
back
:
true
,
component
:
"books/management/addedit/index"
,
},
{
path
:
"/books/management/chapter"
,
key
:
"/books/management/chapter"
,
name
:
"management-chapter"
,
meta
:
{
title
:
""
},
hidden
:
true
,
back
:
true
,
component
:
"books/section/index"
,
},
],
// 书籍基本信息
"/books/audit"
:
[
{
path
:
"/books/audit/dataset"
,
key
:
"/books/audit/dataset"
,
name
:
"dataset"
,
meta
:
{
title
:
""
,
},
hidden
:
true
,
component
:
"books/audit/table"
,
},
{
path
:
"/books/audit/detail"
,
key
:
"dataset"
,
meta
:
{
title
:
""
,
},
hidden
:
true
,
back
:
true
,
component
:
"books/audit/detail"
,
},
],
// 书籍审核
"/books/sale"
:
[
{
path
:
"/books/sale/dataset"
,
key
:
"/books/sale/dataset"
,
name
:
"dataset"
,
meta
:
{
title
:
""
,
},
hidden
:
true
,
component
:
"books/sale/table"
,
},
{
path
:
"/books/sale/detail"
,
key
:
"/books/sale/detail"
,
name
:
"detail"
,
meta
:
{
title
:
""
,
},
hidden
:
true
,
back
:
true
,
component
:
"books/sale/edit"
,
},
{
path
:
"/books/sale/discussP"
,
key
:
"/books/sale/discussP"
,
name
:
"discussP"
,
meta
:
{
title
:
""
,
},
hidden
:
true
,
back
:
true
,
component
:
"books/sale/discussList/index"
,
},
{
path
:
"/books/sale/discuss-detail"
,
key
:
"/books/sale/discuss-detail"
,
meta
:
{
title
:
""
,
},
hidden
:
true
,
back
:
true
,
component
:
"books/sale/discussDetail/index"
,
},
],
// 订单管理
"/books/order-management"
:
[
{
path
:
"/books/order-management/dataset"
,
key
:
"/books/order-management/dataset"
,
name
:
"dataset"
,
meta
:
{
title
:
""
,
},
hidden
:
true
,
component
:
"books/order-management/tab/table"
,
},
{
path
:
"/books/order-management/sale-statistics"
,
key
:
"/books/order-management/sale-statistics"
,
name
:
"sale-statistics"
,
meta
:
{
title
:
""
,
},
hidden
:
true
,
component
:
"books/order-management/tab/salesStatistics"
,
},
],
// 用户管理
"/member/list"
:
[
{
path
:
"/member/list/query"
,
key
:
"/member/list/query"
,
name
:
"member-query"
,
hidden
:
true
,
meta
:
{},
component
:
"member/list/list"
,
},
{
path
:
"/member/list/detail"
,
key
:
"/member/list/detail"
,
name
:
"member-detail"
,
hidden
:
true
,
meta
:
{},
component
:
"member/detail/index"
,
},
],
// 帮助中心
"/setting/help"
:
[
{
path
:
"/setting/help/list"
,
key
:
"/setting/help/list"
,
anme
:
"help-list"
,
meta
:
{},
hidden
:
true
,
component
:
"setting/help/table"
,
},
{
path
:
"/setting/help/addedit"
,
pakeyth
:
"/setting/help/addedit"
,
name
:
"help-addedit"
,
meta
:
{},
hidden
:
true
,
back
:
true
,
component
:
"setting/help/addedit/index"
,
},
],
};
export
{
childThirdRoutes
};
apps/admin/src/layout/index.jsx
浏览文件 @
761e2bd5
...
@@ -39,7 +39,7 @@ import {
...
@@ -39,7 +39,7 @@ import {
RiLayoutGridLine
,
RiLayoutGridLine
,
RiPaletteLine
,
RiPaletteLine
,
}
from
"@remixicon/react"
;
}
from
"@remixicon/react"
;
import
{
set
MenuRouter
,
set
OperationPermissionsList
}
from
"@/store/modules/user"
;
import
{
setOperationPermissionsList
}
from
"@/store/modules/user"
;
import
Menu
from
"./components/menu"
;
import
Menu
from
"./components/menu"
;
import
Message
from
"./components/message"
;
import
Message
from
"./components/message"
;
...
@@ -50,7 +50,6 @@ import Breadcrumb from "./components/breadcrumb";
...
@@ -50,7 +50,6 @@ import Breadcrumb from "./components/breadcrumb";
import
"./index.less"
;
import
"./index.less"
;
import
logo
from
"@/assets/images/logo.png"
;
import
logo
from
"@/assets/images/logo.png"
;
import
{
getMenuList
,
checkSSOLogin
}
from
"./request"
;
import
{
getMenuList
,
checkSSOLogin
}
from
"./request"
;
import
{
generateToAntdMenus
}
from
"@/utils/breadCrumb"
;
const
{
Header
,
Content
,
Sider
}
=
Layout
;
const
{
Header
,
Content
,
Sider
}
=
Layout
;
...
@@ -157,9 +156,7 @@ export default function AppLayout() {
...
@@ -157,9 +156,7 @@ export default function AppLayout() {
// 获取菜单内容
// 获取菜单内容
const
{
data
,
operation_permissions_list
}
=
await
getMenuList
();
const
{
data
,
operation_permissions_list
}
=
await
getMenuList
();
if
(
data
&&
data
.
length
)
{
if
(
data
&&
data
.
length
)
{
const
menus
=
generateToAntdMenus
(
data
,
"name"
,
"front_url"
,
"childs"
,
1
);
setMenuList
(
generateMenus
(
data
));
setMenuList
(
generateMenus
(
data
));
dispatch
(
setMenuRouter
(
menus
));
}
}
// 获取操作权限内容
// 获取操作权限内容
if
(
operation_permissions_list
&&
operation_permissions_list
.
length
)
{
if
(
operation_permissions_list
&&
operation_permissions_list
.
length
)
{
...
...
apps/admin/src/store/modules/user.js
浏览文件 @
761e2bd5
...
@@ -2,7 +2,6 @@ import { createSlice } from "@reduxjs/toolkit";
...
@@ -2,7 +2,6 @@ import { createSlice } from "@reduxjs/toolkit";
const
initialState
=
{
const
initialState
=
{
token
:
""
,
token
:
""
,
menuRouter
:
[],
menuListRouter
:
[],
menuListRouter
:
[],
userInfo
:
{},
userInfo
:
{},
operationPermissionsList
:
[],
operationPermissionsList
:
[],
...
@@ -28,10 +27,6 @@ export const user = createSlice({
...
@@ -28,10 +27,6 @@ export const user = createSlice({
state
.
token
=
payload
;
state
.
token
=
payload
;
},
},
// 设置动态路由菜单
// 设置动态路由菜单
setMenuRouter
(
state
,
{
payload
})
{
state
.
menuRouter
=
payload
;
},
// 设置动态路由菜单
setMenuListRouter
(
state
,
{
payload
})
{
setMenuListRouter
(
state
,
{
payload
})
{
state
.
menuListRouter
=
payload
;
state
.
menuListRouter
=
payload
;
},
},
...
@@ -49,7 +44,6 @@ export const user = createSlice({
...
@@ -49,7 +44,6 @@ export const user = createSlice({
export
const
{
export
const
{
setUserInfo
,
setUserInfo
,
setToken
,
setToken
,
setMenuRouter
,
setMenuListRouter
,
setMenuListRouter
,
setOperationPermissionsList
,
setOperationPermissionsList
,
setTreeChapter
,
setTreeChapter
,
...
...
apps/admin/src/utils/breadCrumb.js
deleted
100644 → 0
浏览文件 @
e20c1cd7
import
component
,
{
childThirdRoutes
}
from
"@/config/component"
;
/* eslint-disable */
const
getRouteItem
=
(
arrList
,
queryItem
)
=>
{
let
result
;
if
(
Array
.
isArray
(
arrList
))
{
result
=
arrList
.
find
(
(
item
)
=>
item
.
path
===
queryItem
||
getRouteItem
(
item
.
children
,
queryItem
),
);
}
return
result
;
};
const
getRouteList
=
(
result
,
arrList
,
queryItem
)
=>
{
if
(
Array
.
isArray
(
arrList
))
{
arrList
.
forEach
((
item
)
=>
{
if
(
item
.
path
===
queryItem
)
{
result
.
push
({
path
:
item
.
path
,
key
:
item
.
key
,
name
:
item
.
meta
.
title
,
isSubMenu
:
item
.
isSubMenu
,
});
}
else
{
result
.
push
({
path
:
item
.
path
,
key
:
item
.
key
,
name
:
item
.
meta
.
title
,
isSubMenu
:
item
.
isSubMenu
,
});
getRouteList
(
result
,
getRouteItem
(
item
.
children
,
queryItem
)
?
[
getRouteItem
(
item
.
children
,
queryItem
)]
:
[],
queryItem
,
);
}
});
}
return
result
;
};
const
generateToAntdMenus
=
(
data
,
title
=
"title"
,
path
=
"path"
,
children
=
"children"
,
depth
=
1
,
)
=>
{
return
data
.
map
((
item
)
=>
{
const
componentPath
=
component
.
filter
((
citem
)
=>
citem
.
key
==
item
[
path
]);
const
newItem
=
{
title
:
item
[
title
],
type
:
item
.
type
,
path
:
item
[
path
],
icon
:
item
.
icon
||
""
,
name
:
componentPath
[
0
].
name
,
component
:
componentPath
[
0
].
component
,
isChild
:
componentPath
[
0
].
isChild
,
};
if
(
componentPath
[
0
].
isChild
)
{
newItem
.
children
=
childThirdRoutes
[
item
[
path
]];
}
if
(
depth
<
2
&&
item
[
children
]
&&
item
[
children
].
length
>
0
)
{
newItem
.
children
=
generateToAntdMenus
(
item
[
children
],
title
,
path
,
children
,
depth
+
1
);
}
return
newItem
;
});
};
// 判断是否有用该操作权限
const
hasPermission
=
(
permissionList
,
permission
)
=>
{
const
checkPermission
=
(
list
,
id
)
=>
{
for
(
const
item
of
list
)
{
// 如果当前项的id与权限标识匹配,返回true
if
(
item
.
id
===
id
)
{
return
true
;
}
// 如果当前项有子权限,递归检查子权限
if
(
item
.
children
&&
item
.
children
.
length
>
0
)
{
const
hasChildPermission
=
checkPermission
(
item
.
children
,
id
);
if
(
hasChildPermission
)
{
return
true
;
}
}
}
// 如果遍历完列表都没有找到匹配的权限标识,返回false
return
false
;
};
// 调用递归函数,传入权限列表和权限标识
return
checkPermission
(
permissionList
,
permission
);
};
export
{
getRouteItem
,
getRouteList
,
generateToAntdMenus
,
hasPermission
};
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论