进行了一些优化

This commit is contained in:
2026-08-27 03:27:26 +08:00
parent ad128ef94e
commit 50c5769d01
8 changed files with 340 additions and 71 deletions
@@ -1,28 +1,82 @@
import { renderFaIcon, schemaPage } from './helpers'
const pages = [
['header-nav', '顶部导航栏'],
['header-components', '顶部多功能组件'],
['footer', '底部页脚'],
['homepage', '首页配置'],
['category', '分类页面'],
['tag', '标签页面'],
['user-home', '用户主页'],
['other', '其它页面'],
]
export const pageDisplaySection = {
key: 'page-display',
label: '页面&显示',
icon: renderFaIcon('fa fas fa-desktop'),
route: '/page-display',
children: pages.map(([section, label]) => schemaPage({
key: `page-display-${section}`,
name: `PageDisplay${section.split('-').map(part => part[0].toUpperCase() + part.slice(1)).join('')}`,
label,
route: `/page-display/${section}`,
title: label,
canonicalDomain: 'page_display',
section,
})),
children: [
schemaPage({
key: 'page-display-header-nav',
name: 'PageDisplayHeaderNav',
label: '顶部导航栏',
route: '/page-display/header-nav',
title: '顶部导航栏',
canonicalDomain: 'page_display',
section: 'header-nav',
}),
schemaPage({
key: 'page-display-header-components',
name: 'PageDisplayHeaderComponents',
label: '顶部多功能组件',
route: '/page-display/header-components',
title: '顶部多功能组件',
canonicalDomain: 'page_display',
section: 'header-components',
}),
schemaPage({
key: 'page-display-footer',
name: 'PageDisplayFooter',
label: '底部页脚',
route: '/page-display/footer',
title: '底部页脚',
canonicalDomain: 'page_display',
section: 'footer',
}),
schemaPage({
key: 'page-display-homepage',
name: 'PageDisplayHomepage',
label: '首页配置',
route: '/page-display/homepage',
title: '首页配置',
canonicalDomain: 'page_display',
section: 'homepage',
}),
schemaPage({
key: 'page-display-category',
name: 'PageDisplayCategory',
label: '分类页面',
route: '/page-display/category',
title: '分类页面',
canonicalDomain: 'page_display',
section: 'category',
}),
schemaPage({
key: 'page-display-tag',
name: 'PageDisplayTag',
label: '标签页面',
route: '/page-display/tag',
title: '标签页面',
canonicalDomain: 'page_display',
section: 'tag',
}),
schemaPage({
key: 'page-display-user-home',
name: 'PageDisplayUserHome',
label: '用户主页',
route: '/page-display/user-home',
title: '用户主页',
canonicalDomain: 'page_display',
section: 'user-home',
}),
schemaPage({
key: 'page-display-other',
name: 'PageDisplayOther',
label: '其它页面',
route: '/page-display/other',
title: '其它页面',
canonicalDomain: 'page_display',
section: 'other',
}),
],
}
@@ -48,5 +48,15 @@ export const permissionsSection = {
canonicalDomain: 'permissions',
section: 'attachment',
}),
schemaPage({
key: 'permissions-download',
name: 'PermissionsDownload',
label: '下载配置',
route: '/permissions/download',
title: '下载配置',
desc: '下载链接别名、默认使用次数与有效期限规则。',
canonicalDomain: 'permissions',
section: 'download',
}),
],
}
@@ -251,4 +251,32 @@ export const permissionsSchemas = {
],
},
/**
* Download link configuration
*/
download: {
key: 'permissions.download',
title: '下载配置',
icon: 'fa fas fa-download',
description: '下载链接别名、默认使用次数与有效期限规则。',
defaults: {
url_alias: 'download',
default_max_uses: 1,
ttl_minutes: 10,
},
groups: [
{
key: 'basic',
title: '链接规则',
icon: 'fa fas fa-link',
description: '文件完整送达才计次(HEAD 探测、传输中断不计次);到期或耗尽后访问旧地址返回 410,需重新获取,不会自动续签。',
fields: [
{ key: 'url_alias', label: '下载链接 URL 别名', type: 'input', placeholder: 'download', required: true, help: '仅允许英文字母、数字、连字符和下划线;禁止中文、空格和 / \\ ? # & 等特殊符号。修改后旧别名路由立即失效。' },
{ key: 'default_max_uses', label: '下载链接默认使用次数', type: 'number', min: 1, max: 100, help: '单个链接可完成下载的次数;耗尽后链接返回 410,需重新获取。' },
{ key: 'ttl_minutes', label: '下载链接默认有效期限(分钟)', type: 'number', min: 1, max: 1440, help: '链接签发后超过该时长即失效并返回 410,不自动续期。' },
],
},
],
},
};