4 changed files with 30 additions and 32 deletions

No files matched your search

+11 -13
View File
@@ -10,16 +10,15 @@ const TRANSCODE_ROUTE_PATH = 'media-transcode'
const TRANSCODE_COMPONENT = 'views/systemManagement/TranscodeSettingsView'
const TRANSCODE_TITLE_KEY = 'router.transcodeSettings'
const findRouteByName = (
routes: AppCustomRouteRecordRaw[],
name: string
): AppCustomRouteRecordRaw | undefined => {
/** 服务端菜单可能用别的路由名指向同一个组件,这里按路由名或组件路径判定是否已存在 */
const hasTranscodeRoute = (routes: AppCustomRouteRecordRaw[]): boolean => {
for (const route of routes) {
if (route.name === name) return route
const child = findRouteByName(route.children || [], name)
if (child) return child
if (route.name === TRANSCODE_ROUTE_NAME || route.component === TRANSCODE_COMPONENT) {
return true
}
if (hasTranscodeRoute(route.children || [])) return true
}
return undefined
return false
}
/**
@@ -32,12 +31,11 @@ export const supplementLocalAdminRoutes = (
if (!permissions.includes(TRANSCODE_PERMISSION)) {
return routes
}
const nextRoutes = cloneDeep(routes)
const existing = findRouteByName(nextRoutes, TRANSCODE_ROUTE_NAME)
if (existing) {
existing.meta = { ...existing.meta, title: TRANSCODE_TITLE_KEY }
return nextRoutes
// 服务端菜单里已经有转码设置时不再补,否则侧边栏会出现两条
if (hasTranscodeRoute(routes)) {
return routes
}
const nextRoutes = cloneDeep(routes)
const contentRoute = nextRoutes.find(
(route) => route.path === CONTENT_ROUTE_PATH || route.name === CONTENT_ROUTE_NAME
)
@@ -326,17 +326,17 @@ function onEpisodesCreated(): void {
.batch-upload-hint {
margin: 0 0 12px;
color: var(--el-text-color-secondary);
font-size: 13px;
color: var(--el-text-color-secondary);
}
.batch-upload-rejected {
margin-bottom: 12px;
padding: 8px 12px;
border-radius: 6px;
background: color-mix(in srgb, var(--el-color-danger) 8%, transparent);
color: var(--el-color-danger);
margin-bottom: 12px;
font-size: 12px;
color: var(--el-color-danger);
background: color-mix(in srgb, var(--el-color-danger) 8%, transparent);
border-radius: 6px;
}
.batch-upload-rejected p {
@@ -348,12 +348,12 @@ function onEpisodesCreated(): void {
}
.batch-upload-summary {
margin: 0 0 12px;
padding: 8px 12px;
border-radius: 6px;
background: color-mix(in srgb, var(--el-color-success) 10%, transparent);
color: var(--el-text-color-primary);
margin: 0 0 12px;
font-size: 13px;
color: var(--el-text-color-primary);
background: color-mix(in srgb, var(--el-color-success) 10%, transparent);
border-radius: 6px;
}
.batch-upload-list {
@@ -202,9 +202,9 @@ function hasFailed(): boolean {
<style scoped>
.create-episode-hint {
margin: 0 0 12px;
color: var(--el-text-color-secondary);
font-size: 13px;
line-height: 1.5;
color: var(--el-text-color-secondary);
}
.create-episode-head,
@@ -229,8 +229,8 @@ function hasFailed(): boolean {
.create-episode-head {
margin-bottom: 8px;
color: var(--el-text-color-secondary);
font-size: 12px;
color: var(--el-text-color-secondary);
}
.create-episode-list {
@@ -253,8 +253,8 @@ function hasFailed(): boolean {
}
.create-episode-result {
color: var(--el-text-color-secondary);
font-size: 12px;
color: var(--el-text-color-secondary);
}
.create-episode-row.is-saved .create-episode-result {
@@ -100,10 +100,10 @@ const canRetry = computed(() => props.item.status === 'failed')
}
.upload-task-row__index {
flex: 0 0 auto;
min-width: 1.5em;
color: var(--el-text-color-secondary);
font-size: 13px;
color: var(--el-text-color-secondary);
flex: 0 0 auto;
font-variant-numeric: tabular-nums;
}
@@ -116,22 +116,22 @@ const canRetry = computed(() => props.item.status === 'failed')
.upload-task-row__error {
margin: 6px 0 0;
color: var(--el-color-danger);
font-size: 12px;
color: var(--el-color-danger);
}
.upload-task-row__actions {
margin-top: 8px;
display: flex;
margin-top: 8px;
margin-left: auto;
gap: 8px;
justify-content: flex-end;
margin-left: auto;
}
.upload-task-row.is-failed {
padding-right: 8px;
padding-left: 8px;
background: color-mix(in srgb, var(--el-color-danger) 6%, transparent);
border-radius: 6px;
padding-left: 8px;
padding-right: 8px;
}
</style>