/** * Page Display domain schemas. * Each key corresponds to a sub-page under the "页面&显示" section. */ /** Theme asset base for layout previews (admin SPA). */ function themeAsset(path) { const base = (typeof window !== 'undefined' && window.aksrtAdminData && window.aksrtAdminData.themeUri) ? String(window.aksrtAdminData.themeUri).replace(/\/$/, '') : '' return base ? `${base}/${path.replace(/^\//, '')}` : path } /** Homepage sort options — keep in sync with AKSRT_Settings_Home_Cms::homepage_allowed_sorts() */ const sortOptions = [ { label: '最近更新', value: 'modified' }, { label: '发布时间', value: 'date' }, { label: '浏览量', value: 'views' }, { label: '点赞数', value: 'likes' }, { label: '评论数', value: 'comments' }, { label: '收藏数', value: 'favorites' }, { label: '下载量', value: 'downloads' }, { label: '随机', value: 'rand' }, ] export const pageDisplaySchemas = { /** * Header navigation settings */ 'header-nav': { key: 'page_display.header-nav', title: '顶部导航栏', icon: 'fas fa-bars', description: '配置导航栏布局、菜单结构、搜索入口和用户入口。', defaults: { header_fixed: true, header_search_enabled: true, header_user_menu: true, header_mobile_drawer: true, header_nav_style: 'default', header_max_width: 1200, header_scroll_down_hide: true, header_layout: '1', header_nav_pay_vip: true, header_nav_user_pay_vip: true, header_newposts_types: ['post'], header_user_newposts_btn: 'post', header_user_newposts_text: '发布内容', mobile_header_layout: 'center', mobile_navbar_align: 'left', header_newposts_enabled: true, header_newposts_text: ' 发布', header_newposts_radius: true, header_newposts_class: 'jb-blue', header_theme_custom: false, header_theme_bg_custom: '', header_theme_bg: '', header_theme_color_custom: '', }, groups: [ { key: 'layout', title: '导航栏布局', icon: 'fas fa-th-large', fields: [ { key: 'header_fixed', label: '固定导航栏', type: 'switch', default: true, help: '页面滚动时导航栏保持在顶部' }, { key: 'header_nav_style', label: '导航栏风格', type: 'radio', default: 'default', options: [ { label: '默认', value: 'default' }, { label: '透明', value: 'transparent' }, { label: '毛玻璃', value: 'blur' }, ]}, { key: 'header_max_width', label: '导航栏最大宽度', type: 'select', default: 1200, options: [ { label: '跟随内容', value: 0 }, { label: '1080px', value: 1080 }, { label: '1200px', value: 1200 }, { label: '1320px', value: 1320 }, ]}, { key: 'header_scroll_down_hide', label: '下滑隐藏导航', type: 'switch', default: true, help: '下滚动隐藏,上滚动显示(需开启固定导航)' }, ], }, { key: 'layout-type', title: '布局类型', icon: 'fas fa-columns', fields: [ { key: 'header_layout', label: '电脑端布局', type: 'image_select', default: '1', options: [ { label: '布局 1(经典)', value: '1', image: themeAsset('assets/images/header-layout/header_layout_1.png') }, { label: '布局 2(内联搜索)', value: '2', image: themeAsset('assets/images/header-layout/header_layout_2.png') }, { label: '布局 3(紧凑)', value: '3', image: themeAsset('assets/images/header-layout/header_layout_3.png') }, ], help: '不同布局切换导航 DOM 结构(与 zibll image_select 一致)', }, { key: 'mobile_header_layout', label: '移动端布局', type: 'image_select', default: 'center', options: [ { label: '居中(含搜索按钮)', value: 'center', image: themeAsset('assets/images/header-layout/mobile_header_layout_center.png') }, { label: '靠左', value: 'left', image: themeAsset('assets/images/header-layout/mobile_header_layout_left.png') }, ], }, { key: 'mobile_navbar_align', label: '移动端菜单方向', type: 'radio', default: 'left', options: [ { label: '顶部(关闭手势)', value: 'top' }, { label: '左侧滑出', value: 'left' }, { label: '右侧滑出', value: 'right' }, ], }, ], }, { key: 'newposts', title: '发布按钮', icon: 'fas fa-pen', fields: [ { key: 'header_newposts_enabled', label: '启用发布按钮', type: 'switch', default: true, help: '顶部导航显示发布入口(对齐 zibll nav_newposts)' }, { key: 'header_newposts_text', label: '按钮文案', type: 'input', default: ' 发布', dependsOn: { key: 'header_newposts_enabled', value: true } }, { key: 'header_newposts_radius', label: '按钮圆角(胶囊)', type: 'switch', default: true, dependsOn: { key: 'header_newposts_enabled', value: true }, help: '开启后两端大圆角,对齐 zibll nav_newposts_radius' }, { key: 'header_newposts_class', label: '按钮颜色', type: 'select', default: 'jb-blue', options: [ { label: '蓝色', value: 'jb-blue' }, { label: '红色', value: 'jb-red' }, { label: '绿色', value: 'jb-green' }, { label: '黄色', value: 'jb-yellow' }, { label: '紫色', value: 'jb-purple' }, { label: '粉色', value: 'jb-pink' }, ], dependsOn: { key: 'header_newposts_enabled', value: true } }, { key: 'header_newposts_types', label: '发布类型', type: 'select', multiple: true, default: ['post'], options: [ { label: '文章', value: 'post' }, { label: '帖子', value: 'topic' }, { label: '商品', value: 'product' }, ], dependsOn: { key: 'header_newposts_enabled', value: true }, help: '未开启的模块不会显示' }, { key: 'header_user_newposts_btn', label: '用户卡发布类型', type: 'select', default: 'post', options: [ { label: '文章', value: 'post' }, { label: '帖子', value: 'topic' }, { label: '商品', value: 'product' }, ] }, { key: 'header_user_newposts_text', label: '用户卡发布文案', type: 'input', default: '发布内容' }, { key: 'header_nav_pay_vip', label: '导航栏开通会员按钮', type: 'switch', default: true, help: '顶部导航显示开通会员' }, { key: 'header_nav_user_pay_vip', label: '用户框开通会员按钮', type: 'switch', default: true }, ], }, { key: 'color', title: '导航配色', icon: 'fas fa-palette', fields: [ { key: 'header_theme_custom', label: '自定义导航配色', type: 'switch', default: false, help: '启用后覆盖导航栏默认配色' }, { key: 'header_theme_bg_custom', label: '导航背景色', type: 'color', default: '', dependsOn: { key: 'header_theme_custom', value: true } }, { key: 'header_theme_bg', label: '导航背景色(备选)', type: 'color', default: '', dependsOn: { key: 'header_theme_custom', value: true } }, { key: 'header_theme_color_custom', label: '导航文字色', type: 'color', default: '', dependsOn: { key: 'header_theme_custom', value: true } }, ], }, { key: 'components', title: '导航组件', icon: 'fas fa-puzzle-piece', fields: [ { key: 'header_search_enabled', label: '搜索入口', type: 'switch', default: true }, { key: 'header_user_menu', label: '用户菜单', type: 'switch', default: true }, { key: 'header_mobile_drawer', label: '移动端抽屉导航', type: 'switch', default: true }, ], }, ], }, /** * Category page settings */ category: { key: 'page_display.category', title: '分类页面', icon: 'fas fa-folder-open', description: '为分类归档页配置头图、简介、列表模式、筛选条和侧边栏。', defaults: { category_cover_enabled: true, category_desc_enabled: true, category_header_style: 'cover', category_list_mode: 'grid', category_filter_bar: true, category_sidebar: true, category_per_page: 12, category_default_cover: '', category_post_count: true, category_orderby: 'modified', }, groups: [ { key: 'header', title: '分类头图', icon: 'fas fa-image', fields: [ { key: 'category_header_style', label: '头部风格', type: 'radio', default: 'cover', options: [ { label: '封面图', value: 'cover' }, { label: '简洁标题', value: 'simple' }, { label: '隐藏', value: 'none' }, ]}, { key: 'category_cover_enabled', label: '显示封面图', type: 'switch', default: true, dependsOn: { key: 'category_header_style', value: 'cover' } }, { key: 'category_desc_enabled', label: '显示分类简介', type: 'switch', default: true }, { key: 'category_default_cover', label: '默认封面图', type: 'upload', default: '', help: '未设置分类封面时使用的默认图片' }, ], }, { key: 'list', title: '列表设置', icon: 'fas fa-list', fields: [ { key: 'category_list_mode', label: '列表模式', type: 'radio', default: 'grid', options: [ { label: '网格', value: 'grid' }, { label: '列表', value: 'list' }, { label: '紧凑', value: 'compact' }, ]}, { key: 'category_per_page', label: '每页文章数', type: 'number', default: 12, min: 4, max: 48 }, { key: 'category_filter_bar', label: '筛选条', type: 'switch', default: true, help: '子分类筛选和排序' }, { key: 'category_sidebar', label: '侧边栏', type: 'switch', default: true }, { key: 'category_post_count', label: '显示文章数', type: 'switch', default: true, help: '在分类列表中显示每篇文章的浏览次数' }, ], }, { key: 'orderby', title: '排序设置', icon: 'fas fa-sort', fields: [ { key: 'category_orderby', label: '默认排序', type: 'select', default: 'modified', options: [ { label: '最近更新', value: 'modified' }, { label: '发布时间', value: 'date' }, { label: '浏览数', value: 'views' }, { label: '评论数', value: 'comments' }, { label: '点赞数', value: 'likes' }, ]}, ], }, ], }, /** * Tag page settings */ tag: { key: 'page_display.tag', title: '标签页面', icon: 'fas fa-tags', description: '为标签归档页配置展示样式和布局。', defaults: { tag_header_style: 'simple', tag_default_cover: '', tag_list_mode: 'grid', tag_sidebar: true, tag_per_page: 12, tag_post_count: true, tag_orderby: 'count', }, groups: [ { key: 'header', title: '标签头图', icon: 'fas fa-tag', fields: [ { key: 'tag_header_style', label: '头部风格', type: 'radio', default: 'simple', options: [ { label: '简洁标题', value: 'simple' }, { label: '封面图', value: 'cover' }, { label: '隐藏', value: 'none' }, ]}, { key: 'tag_default_cover', label: '默认封面图', type: 'upload', default: '' }, ], }, { key: 'list', title: '列表设置', icon: 'fas fa-list', fields: [ { key: 'tag_list_mode', label: '列表模式', type: 'radio', default: 'grid', options: [ { label: '网格', value: 'grid' }, { label: '列表', value: 'list' }, ]}, { key: 'tag_per_page', label: '每页文章数', type: 'number', default: 12, min: 4, max: 48 }, { key: 'tag_sidebar', label: '侧边栏', type: 'switch', default: true }, { key: 'tag_post_count', label: '显示文章数', type: 'switch', default: true }, ], }, { key: 'orderby', title: '排序设置', icon: 'fas fa-sort', fields: [ { key: 'tag_orderby', label: '默认排序', type: 'select', default: 'count', options: [ { label: '文章数', value: 'count' }, { label: '名称', value: 'name' }, { label: '最近更新', value: 'modified' }, ]}, ], }, ], }, /** * User homepage settings */ 'user-home': { key: 'page_display.user-home', title: '用户主页', icon: 'fas fa-user-circle', description: '公开用户主页对齐 Zibll 作者页:通栏头图 + Tab 计数;交易/快捷入口仅在用户中心。', defaults: { user_home_tabs: 'posts,favorites,comments,follow', user_home_tabs_order: 'posts,favorites,comments,follow', user_home_tabs_pc_hide: '', user_home_tabs_mobile_hide: '', user_home_sidebar: false, user_home_cover: true, user_home_follow: true, user_home_posts_per_page: 10, user_home_avatar: true, user_home_name: true, user_home_desc: true, user_home_stats: false, user_home_social: true, author_main_tab_swiper: false, user_home_message: true, user_home_private: true, user_home_paging_ajax: true, }, groups: [ { key: 'layout', title: '主页布局', icon: 'fas fa-th-large', fields: [ { key: 'user_home_cover', label: '封面区域', type: 'switch', default: true, help: '用户主页顶部封面图' }, { key: 'user_home_sidebar', label: '侧边栏(已弃用)', type: 'switch', default: false, help: '公开主页为通栏布局(对齐 Zibll author);运行时强制关闭。交易服务请去用户中心。' }, { key: 'user_home_follow', label: '关注按钮', type: 'switch', default: true }, { key: 'user_home_posts_per_page', label: '每页文章数', type: 'number', default: 10, min: 5, max: 50 }, { key: 'user_home_paging_ajax', label: 'AJAX 翻页', type: 'switch', default: true, help: '使用 AJAX 加载替代传统翻页' }, ], }, { key: 'tabs', title: 'Tab 配置', icon: 'fas fa-columns', fields: [ { key: 'user_home_tabs', label: '显示的 Tab', type: 'input', default: 'posts,favorites,comments,follow', help: '逗号分隔;默认 posts,favorites,comments,follow(粉丝)。可选 credits,product,plate,forum' }, { key: 'user_home_tabs_order', label: 'Tab 显示顺序', type: 'input', default: 'posts,favorites,comments,follow', help: '逗号分隔,控制栏目顺序' }, { key: 'user_home_tabs_pc_hide', label: 'PC 端隐藏', type: 'input', default: '', help: '逗号分隔要在 PC 端隐藏的栏目' }, { key: 'user_home_tabs_mobile_hide', label: '移动端隐藏', type: 'input', default: '', help: '逗号分隔要在移动端隐藏的栏目' }, { key: 'author_main_tab_swiper', label: '移动端滑动切换', type: 'switch', default: false, help: '移动端左右滑动切换栏目' }, ], }, { key: 'display', title: '展示设置', icon: 'fas fa-eye', fields: [ { key: 'user_home_avatar', label: '显示头像', type: 'switch', default: true }, { key: 'user_home_name', label: '显示用户名', type: 'switch', default: true }, { key: 'user_home_desc', label: '显示个人简介', type: 'switch', default: true }, { key: 'user_home_stats', label: '显示统计数据(已弃用)', type: 'switch', default: false, help: '计数已并入 Tab 角标,头图内不再重复文章/评论/收藏。' }, { key: 'user_home_social', label: '显示社交链接', type: 'switch', default: true }, { key: 'user_home_message', label: '私信/消息按钮', type: 'switch', default: true, help: '本人显示消息中心入口;访客显示私信入口' }, { key: 'user_home_private', label: '留言按钮', type: 'switch', default: true, help: '预留开关,公开主页留言入口' }, ], }, ], }, /** * Other pages settings (404, search results, etc.) */ other: { key: 'page_display.other', title: '其它页面', icon: 'fas fa-file', description: '配置 404 页面、搜索结果页等特殊页面的展示。', defaults: { page_header_style: '1', page_header_cover_img: '', page_404_search: true, page_404_popular: true, page_404_message: '页面未找到', page_404_back: true, page_search_sidebar: true, page_search_per_page: 12, page_author_cover: true, page_author_sidebar: true, page_author_posts_per_page: 12, }, groups: [ { key: 'page-header', title: '统一页头', icon: 'fas fa-heading', fields: [ { key: 'page_header_style', label: '页面标题样式', type: 'select', default: '1', options: [ { label: '不显示', value: '' }, { label: '简单', value: '1' }, { label: '卡片', value: '2' }, { label: '封面', value: '3' }, ], help: '控制归档/搜索/页面的页头样式,单页可通过 post meta 覆盖' }, { key: 'page_header_cover_img', label: '默认封面图', type: 'upload', default: '', help: '封面样式(样式3)的默认背景图,单页可覆盖' }, ], }, { key: 'page_404', title: '404 页面', icon: 'fas fa-exclamation-triangle', fields: [ { key: 'page_404_message', label: '404 提示文字', type: 'input', default: '页面未找到' }, { key: 'page_404_search', label: '显示搜索框', type: 'switch', default: true }, { key: 'page_404_popular', label: '显示热门文章', type: 'switch', default: true }, { key: 'page_404_back', label: '显示返回首页', type: 'switch', default: true }, ], }, { key: 'search_results', title: '搜索结果页', icon: 'fas fa-search', fields: [ { key: 'page_search_sidebar', label: '搜索结果侧边栏', type: 'switch', default: true }, { key: 'page_search_per_page', label: '每页结果数', type: 'number', default: 12, min: 4, max: 48 }, ], }, { key: 'author', title: '作者页面', icon: 'fas fa-user-edit', fields: [ { key: 'page_author_cover', label: '显示封面', type: 'switch', default: true }, { key: 'page_author_sidebar', label: '显示侧边栏', type: 'switch', default: true }, { key: 'page_author_posts_per_page', label: '每页文章数', type: 'number', default: 12, min: 4, max: 48 }, ], }, ], }, /** * Global background settings */ background: { key: 'page_display.background', title: '全局背景', icon: 'fas fa-image', description: '配置站点全局背景图、背景色、暗色模式背景和遮罩。', defaults: { bg_color: '', bg_image: '', bg_size: '100%', bg_position: 'center center', bg_repeat: 'no-repeat', bg_attachment: 'fixed', bg_dark_color: '', bg_dark_image: '', bg_overlay: false, bg_overlay_color: 'rgba(0, 0, 0, 0.3)', page_bg_color: '', page_bg_image: '', }, groups: [ { key: 'light', title: '亮色背景', icon: 'fas fa-sun', fields: [ { key: 'bg_color', label: '背景颜色', type: 'color', default: '', help: '留空则使用主题默认背景色' }, { key: 'bg_image', label: '背景图片', type: 'media', help: '推荐使用高分辨率图片' }, { key: 'bg_size', label: '图片尺寸', type: 'select', default: 'cover', options: [ { label: '覆盖 (Cover)', value: 'cover' }, { label: '包含 (Contain)', value: 'contain' }, { label: '原始大小', value: 'auto' }, { label: '拉伸填充', value: '100% 100%' }, { label: '100% 宽度(旧版兼容)', value: '100%' }, ]}, { key: 'bg_position', label: '图片位置', type: 'select', default: 'center center', options: [ { label: '居中', value: 'center center' }, { label: '顶部居中', value: 'top center' }, { label: '底部居中', value: 'bottom center' }, ]}, { key: 'bg_repeat', label: '图片重复', type: 'select', default: 'no-repeat', options: [ { label: '不重复', value: 'no-repeat' }, { label: '平铺', value: 'repeat' }, { label: '水平平铺', value: 'repeat-x' }, { label: '垂直平铺', value: 'repeat-y' }, ]}, { key: 'bg_attachment', label: '固定方式', type: 'select', default: 'fixed', options: [ { label: '固定 (视差)', value: 'fixed' }, { label: '随内容滚动', value: 'scroll' }, ]}, ], }, { key: 'dark', title: '暗色背景', icon: 'fas fa-moon', fields: [ { key: 'bg_dark_color', label: '暗色背景颜色', type: 'color', default: '', help: '留空则使用主题默认暗色背景' }, { key: 'bg_dark_image', label: '暗色背景图片', type: 'media', help: '暗色模式下显示的背景图' }, ], }, { key: 'overlay', title: '遮罩设置', icon: 'fas fa-layer-group', fields: [ { key: 'bg_overlay', label: '启用背景遮罩', type: 'switch', default: false, help: '在背景图上方叠加半透明遮罩,提升文字可读性' }, { key: 'bg_overlay_color', label: '遮罩颜色', type: 'input', default: 'rgba(0, 0, 0, 0.3)', dependsOn: { key: 'bg_overlay', value: true }, help: '支持 rgba/hex 色值' }, ], }, { key: 'page', title: '页面背景', icon: 'fas fa-file', fields: [ { key: 'page_bg_color', label: '内容区背景色', type: 'color', default: '', help: '主内容区域的背景色' }, { key: 'page_bg_image', label: '内容区背景图', type: 'media' }, ], }, ], }, /** * Menu decoration settings */ 'menu-decoration': { key: 'page_display.menu-decoration', title: '菜单装饰', icon: 'fas fa-bars', description: '配置导航菜单的图标、徽章、下拉样式和图文卡片子菜单。', defaults: { menu_icon_enabled: true, menu_badge_enabled: true, menu_submenu_style: 'dropdown', menu_submenu_columns: 1, menu_submenu_width: 220, menu_mobile_style: 'drawer', menu_item_padding: 12, menu_hover_effect: 'underline', }, groups: [ { key: 'icon', title: '菜单图标', icon: 'fas fa-icons', fields: [ { key: 'menu_icon_enabled', label: '显示菜单图标', type: 'switch', default: true, help: '在菜单项文字前显示图标(需在菜单管理中设置 CSS 类)' }, { key: 'menu_badge_enabled', label: '显示菜单徽章', type: 'switch', default: true, help: '在菜单项上显示 "新"、"热" 等徽章标记' }, ], }, { key: 'submenu', title: '下拉子菜单', icon: 'fas fa-caret-square-down', fields: [ { key: 'menu_submenu_style', label: '子菜单样式', type: 'radio', default: 'dropdown', options: [ { label: '普通下拉', value: 'dropdown' }, { label: '多列下拉', value: 'mega' }, { label: '图文卡片', value: 'cards' }, ], }, { key: 'menu_submenu_columns', label: '多列列数', type: 'number', default: 1, min: 1, max: 5, dependsOn: { key: 'menu_submenu_style', value: 'mega' } }, { key: 'menu_submenu_width', label: '子菜单宽度 (px)', type: 'number', default: 220, min: 160, max: 800, dependsOn: { key: 'menu_submenu_style', value: 'mega' } }, ], }, { key: 'effect', title: '交互效果', icon: 'fas fa-magic', fields: [ { key: 'menu_hover_effect', label: 'Hover 效果', type: 'radio', default: 'underline', options: [ { label: '下划线', value: 'underline' }, { label: '背景色', value: 'background' }, { label: '文字变色', value: 'color' }, { label: '无效果', value: 'none' }, ], }, { key: 'menu_item_padding', label: '菜单项内边距 (px)', type: 'number', default: 12, min: 4, max: 32 }, ], }, { key: 'mobile', title: '移动端菜单', icon: 'fas fa-mobile-alt', fields: [ { key: 'menu_mobile_style', label: '移动端菜单样式', type: 'radio', default: 'drawer', options: [ { label: '抽屉', value: 'drawer' }, { label: '全屏', value: 'fullscreen' }, { label: '下拉', value: 'dropdown' }, ], }, ], }, ], }, /** * Header components */ 'header-components': { key: 'page_display.header-components', title: '顶部多功能组件', icon: 'fas fa-th', description: '配置顶部组件的显示范围、设备规则、轮播参数、搜索覆盖层与图标卡片。幻灯片图片/文案内容请到「Hero 轮播」「Banner 轮播」管理。', defaults: { header_components_search_enabled: true, header_components_cards_enabled: false, header_components_nav_color: '#ffffff', header_components_show_on: ['home'], header_components_device_visibility: '', header_components_filter_blur_devices: [], header_components_card_show_devices: ['pc', 'mobile'], header_components_card_shared_bg: false, header_components_card_blur: true, header_components_card_icon_shape: 'circle', header_components_icon_cards: [], header_components_search_pc: true, header_components_search_mobile: true, header_components_search_show_keywords: false, header_components_search_popular_limit: 5, header_components_search_show_input_cat: false, header_components_search_show_type: false, header_components_search_before_html: '
更优雅的Wordpress主题
\n
这是导航栏幻灯片多功能组件,可在后台进行配置
', header_components_search_after_html: '', slider_config_direction: 'horizontal', slider_config_speed: 300, slider_config_button: true, slider_config_scale_height: false, slider_config_scale: false, slider_config_max_height: '', slider_config_min_height: '', }, groups: [ { key: 'visibility', title: '显示规则', icon: 'fas fa-eye', fields: [ { key: 'header_components_search_enabled', label: '启用搜索覆盖层', type: 'switch', default: true, help: '在顶部组件区域显示搜索条覆盖层' }, { key: 'header_components_cards_enabled', label: '启用图标卡片', type: 'switch', default: false, help: '在顶部组件区域显示图标卡片入口' }, { key: 'header_components_show_on', label: '按页面类型启用', type: 'checkbox', default: ['home'], options: [ { label: '首页', value: 'home' }, { label: '专题页', value: 'topics' }, { label: '分类页', value: 'category' }, { label: '标签页', value: 'tag' }, { label: '用户页', value: 'author' }, { label: '文章页', value: 'single' }, { label: '搜索页', value: 'search' }, { label: '[论坛]首页', value: 'forum_home' }, { label: '[论坛]板块页面', value: 'forum_plate' }, { label: '[论坛]帖子页面', value: 'forum_post' }, { label: '其它页面', value: 'page' }, ], help: '选择启用顶部多功能组件的页面类型,一个都不选则为关闭此功能' }, { key: 'header_components_device_visibility', label: '设备显示规则', type: 'radio', default: '', options: [ { label: '全部', value: '' }, { label: '仅电脑', value: 'only_pc' }, { label: '仅移动', value: 'only_sm' }, ] }, ], }, { key: 'nav-color', title: '导航栏配色', icon: 'fas fa-palette', fields: [ { key: 'header_components_nav_color', label: '导航栏文字颜色', type: 'color', default: '#ffffff', help: '顶部组件叠加时固定导航的文字颜色' }, ], }, { key: 'slider-config', title: '幻灯片配置', icon: 'fas fa-sliders-h', fields: [ { key: 'slider_config_direction', label: '滑动方向', type: 'radio', default: 'horizontal', options: [ { label: '水平', value: 'horizontal' }, { label: '垂直', value: 'vertical' }, ]}, { key: 'slider_config_speed', label: '切换速度 (ms)', type: 'number', default: 300, min: 100, max: 3000 }, { key: 'slider_config_button', label: '显示前进后退按钮', type: 'switch', default: true }, { key: 'slider_config_scale_height', label: '缩放高度', type: 'switch', default: false }, { key: 'slider_config_scale', label: '缩放效果', type: 'switch', default: false }, { key: 'slider_config_max_height', label: '最大高度', type: 'input', default: '' }, { key: 'slider_config_min_height', label: '最小高度', type: 'input', default: '' }, ], }, { key: 'search', title: '搜索组件', icon: 'fas fa-search', fields: [ { key: 'header_components_search_pc', label: 'PC 端显示搜索', type: 'switch', default: true, dependsOn: { key: 'header_components_search_enabled', value: true } }, { key: 'header_components_search_mobile', label: '移动端显示搜索', type: 'switch', default: true, dependsOn: { key: 'header_components_search_enabled', value: true } }, { key: 'header_components_search_show_keywords', label: '显示热门搜索词', type: 'switch', default: false, dependsOn: { key: 'header_components_search_enabled', value: true } }, { key: 'header_components_search_popular_limit', label: '热词数量', type: 'number', default: 5, min: 1, max: 20, dependsOn: { key: 'header_components_search_show_keywords', value: true } }, { key: 'header_components_search_show_input_cat', label: '显示分类搜索', type: 'switch', default: false, dependsOn: { key: 'header_components_search_enabled', value: true }, help: '搜索框内显示分类选择下拉' }, { key: 'header_components_search_show_type', label: '显示类型切换', type: 'switch', default: false, dependsOn: { key: 'header_components_search_enabled', value: true }, help: '搜索框内显示内容类型切换' }, { key: 'header_components_search_before_html', label: '搜索上方额外内容', type: 'textarea', default: '
更优雅的Wordpress主题
\n
这是导航栏幻灯片多功能组件,可在后台进行配置
', rows: 4, dependsOn: { key: 'header_components_search_enabled', value: true }, help: 'Hero 主标题/副标题写在这里(支持 HTML)。不要依赖幻灯片文案,以免与搜索重叠;请注意组件总高度。', }, { key: 'header_components_search_after_html', label: '搜索下方额外内容', type: 'textarea', default: '', rows: 3, dependsOn: { key: 'header_components_search_enabled', value: true }, help: '支持 HTML;请注意组件总高度。', }, ], }, { key: 'cards', title: '图标卡片样式', icon: 'fas fa-th-large', fields: [ { key: 'header_components_filter_blur_devices', label: '容器模糊设备', type: 'checkbox', default: [], dependsOn: { key: 'header_components_cards_enabled', value: true }, options: [ { label: 'PC', value: 'pc' }, { label: '移动端', value: 'mobile' }, ]}, { key: 'header_components_card_show_devices', label: '卡片显示设备', type: 'checkbox', default: ['pc', 'mobile'], dependsOn: { key: 'header_components_cards_enabled', value: true }, options: [ { label: 'PC', value: 'pc' }, { label: '移动端', value: 'mobile' }, ]}, { key: 'header_components_card_shared_bg', label: '共享卡片背景', type: 'switch', default: false, dependsOn: { key: 'header_components_cards_enabled', value: true }, help: '开启后所有图标卡片共用背景模式' }, { key: 'header_components_card_blur', label: '启用卡片模糊效果', type: 'switch', default: true, dependsOn: { key: 'header_components_cards_enabled', value: true } }, { key: 'header_components_card_icon_shape', label: '图标形状', type: 'radio', default: 'circle', dependsOn: { key: 'header_components_cards_enabled', value: true }, options: [ { label: '圆形', value: 'circle' }, { label: '方形', value: 'square' }, ]}, ], }, { key: 'icon-cards', title: '图标卡片列表', icon: 'fas fa-list', fields: [ { key: 'header_components_icon_cards', label: '图标卡片', type: 'repeater', ui: 'list-modal', listPreview: { iconKey: 'icon', customIconKey: 'custom_icon', iconClassKey: 'icon_class', titleKey: 'title', descKey: 'desc', urlKey: 'url', }, editText: '编辑卡片', emptyText: '暂无图标卡片', sanitize_type: 'array', default: [], dependsOn: { key: 'header_components_cards_enabled', value: true }, addText: '添加卡片', fields: [ { key: 'icon', label: '图标类名', type: 'input', default: 'fas fa-star', placeholder: 'fas fa-star' }, { key: 'custom_icon', label: '自定义图标 HTML', type: 'textarea', default: '', rows: 2, placeholder: '...' }, { key: 'icon_class', label: '图标配色', type: 'select', default: 'c-blue', options: [ { label: 'Blue', value: 'c-blue' }, { label: 'Yellow', value: 'c-yellow' }, { label: 'Green', value: 'c-green' }, { label: 'Red', value: 'c-red' }, { label: 'Orange', value: 'c-orange' }, { label: 'Cyan', value: 'c-cyan' }, { label: 'Pink', value: 'c-pink' }, { label: 'Gradient Cyan', value: 'jb-cyan' }, { label: 'Gradient Green', value: 'jb-green' }, { label: 'Gradient Orange', value: 'jb-orange' }, ]}, { key: 'title', label: '标题', type: 'input', default: '' }, { key: 'desc', label: '描述', type: 'input', default: '' }, { key: 'url', label: '链接 URL', type: 'input', default: '', placeholder: 'https://example.com' }, { key: 'target', label: '打开方式', type: 'radio', default: '_self', options: [ { label: '当前标签页', value: '_self' }, { label: '新标签页', value: '_blank' }, ]}, ], }, ], }, ], }, footer: { key: 'page_display.footer', title: '底部页脚', icon: 'fas fa-shoe-prints', description: '页脚布局、友链、版权信息配置。实际编辑界面在 FooterSettings.vue(customPage),此处为 REST 聚合描述。', defaults: { footer_columns: 3, footer_copyright: true, footer_icp: true, icp_number: '', footer_police: true, police_number: '', footer_theme_custom: false, footer_theme_bg_custom: '', footer_theme_bg: '', footer_theme_color_custom: '', footer_contact_wechat_img: '', footer_contact_qq: '', footer_contact_weibo: '', footer_contact_email: '', footer_t1_m_s: ['pc', 'mobile'], footer_t1_img: '', footer_t1_img_dark: '', footer_t1_t: '', fcode_t1_code: '', footer_contact_m_s: ['pc', 'mobile'], footer_contact_more: '', fcode_t2_code_1: '', fcode_t2_code_2: '', footer_mini_img_m_s: ['pc', 'mobile'], footer_mini_img: '', fcode_customize_code: '', }, groups: [ { key: 'layout', title: '页脚布局', icon: 'fas fa-columns', fields: [ { key: 'footer_columns', label: '页脚列数', type: 'number', default: 3, min: 1, max: 4 }, { key: 'footer_copyright', label: '显示版权信息', type: 'switch', default: true }, { key: 'footer_icp', label: '显示ICP备案', type: 'switch', default: true }, { key: 'icp_number', label: 'ICP备案号', type: 'input', default: '' }, { key: 'footer_police', label: '显示公安备案', type: 'switch', default: true }, { key: 'police_number', label: '公安备案号', type: 'input', default: '' }, ], }, { key: 'color', title: '页脚颜色', icon: 'fas fa-palette', fields: [ { key: 'footer_theme_custom', label: '自定义页脚颜色', type: 'switch', default: false }, { key: 'footer_theme_bg_custom', label: '自定义背景色', type: 'color', default: '' }, { key: 'footer_theme_bg', label: '背景图片', type: 'media', default: '' }, { key: 'footer_theme_color_custom', label: '自定义文字颜色', type: 'color', default: '' }, ], }, { key: 'contact', title: '联系方式', icon: 'fas fa-address-book', fields: [ { key: 'footer_contact_wechat_img', label: '微信二维码', type: 'media', default: '' }, { key: 'footer_contact_qq', label: 'QQ', type: 'input', default: '' }, { key: 'footer_contact_weibo', label: '微博', type: 'input', default: '' }, { key: 'footer_contact_email', label: '邮箱', type: 'input', default: '' }, ], }, { key: 'brand', title: '品牌列(第一列)', icon: 'fas fa-building', fields: [ { key: 'footer_t1_m_s', label: '显示设备', type: 'checkbox', default: ['pc', 'mobile'] }, { key: 'footer_t1_img', label: '页脚 Logo(日间)', type: 'media', default: '' }, { key: 'footer_t1_img_dark', label: '页脚 Logo(夜间)', type: 'media', default: '' }, { key: 'footer_t1_t', label: '品牌标题', type: 'input', default: '' }, { key: 'fcode_t1_code', label: '品牌列自定义代码', type: 'textarea', default: '' }, ], }, { key: 'contact_ext', title: '联系方式扩展', icon: 'fas fa-phone-alt', fields: [ { key: 'footer_contact_m_s', label: '显示设备', type: 'checkbox', default: ['pc', 'mobile'] }, { key: 'footer_contact_more', label: '更多联系项', type: 'textarea', default: '' }, { key: 'fcode_t2_code_1', label: '链接 HTML(fcode_t2_code_1)', type: 'textarea', default: '' }, { key: 'fcode_t2_code_2', label: '链接下方自定义代码', type: 'textarea', default: '' }, ], }, { key: 'mini_qr', title: '二维码图片组(第三列)', icon: 'fas fa-qrcode', fields: [ { key: 'footer_mini_img_m_s', label: '显示设备', type: 'checkbox', default: ['pc', 'mobile'] }, { key: 'footer_mini_img', label: '二维码组', type: 'textarea', default: '' }, ], }, { key: 'custom', title: '底部自定义', icon: 'fas fa-code', fields: [ { key: 'fcode_customize_code', label: '底部自定义代码', type: 'textarea', default: '' }, ], }, ], }, /** * Homepage settings (already has a real Vue page) */ homepage: { key: 'page_display.homepage', title: '首页配置', icon: 'fas fa-home', description: '配置首页主列表、分类 Tab、卡片样式与首页交互。实际编辑界面在 HomepageSettings.vue(customPage),此处补齐 page_display 的 schema 契约。', defaults: { homepage_tabs: [], homepage_card_style: 'default', homepage_multi_thumb_enabled: false, homepage_multi_thumb_min_images: 3, homepage_sidebar_mini_enabled: true, homepage_default_sort: 'date', homepage_default_view: 'list', homepage_sort_ajax_enabled: true, homepage_sticky_tabs_enabled: true, home_posts_list_s: true, home_list_title: '最新发布', home_list_sort_enabled: true, home_list_sort_options: ['modified', 'date', 'views', 'likes', 'comments'], home_list_sort_dropdown: false, home_exclude_post_ids: [], home_exclude_category_ids: [], homepage_tab_posts_per_page: 6, homepage_tab_limit: 4, }, groups: [ { key: 'main-stream', title: '主列表', icon: 'fas fa-list', fields: [ { key: 'home_posts_list_s', label: '启用主列表', type: 'switch', default: true }, { key: 'index_list_title', label: '区块标题', type: 'input', default: '最新发布', dependsOn: { key: 'home_posts_list_s', value: true } }, { key: 'home_list1_orderby_option.orderby', label: '默认排序', type: 'select', default: 'date', dependsOn: { key: 'home_posts_list_s', value: true }, options: sortOptions }, { key: 'home_list1_orderby_s', label: '启用排序栏', type: 'switch', default: true, dependsOn: { key: 'home_posts_list_s', value: true } }, { key: 'home_list_sort_dropdown', label: '排序栏下拉模式', type: 'switch', default: false, dependsOn: { key: 'home_list1_orderby_s', value: true } }, { key: 'home_list1_orderby_option', label: '可用排序选项', type: 'checkbox', default: ['modified', 'date', 'views', 'likes', 'comments'], dependsOn: { key: 'home_list1_orderby_s', value: true }, options: sortOptions }, ], }, { key: 'exclude', title: '排除规则', icon: 'fas fa-filter', fields: [ { key: 'home_exclude_posts', label: '排除文章 ID', type: 'array', default: [], help: '主列表和 Tab 查询均排除这些文章。' }, { key: 'home_exclude_cats', label: '排除分类 ID', type: 'array', default: [], help: '主列表排除这些分类。' }, ], }, { key: 'tabs', title: '首页 Tab', icon: 'fas fa-tags', fields: [ { key: 'home_lists', label: '首页 Tab', type: 'array', default: [], help: '分类 Tab 由 HomepageSettings.vue 中的可视化编辑器维护。' }, { key: 'homepage_tab_limit', label: 'Tab 数量上限', type: 'number', default: 4, min: 1, max: 12 }, { key: 'homepage_tab_posts_per_page', label: '每 Tab 文章数', type: 'number', default: 6, min: 1, max: 20 }, { key: 'homepage_sticky_tabs_enabled', label: 'Tab 吸顶', type: 'switch', default: true }, ], }, { key: 'cards-sidebar', title: '卡片与侧栏', icon: 'fas fa-columns', fields: [ { key: 'homepage_card_style', label: '卡片风格(已弃用)', type: 'radio', default: 'default', options: [ { label: '默认', value: 'default' }, { label: '风格 2', value: 'style2' }, { label: '风格 3', value: 'style3' }, ], help: '已弃用:请改用「文章列表」中的列表/卡片样式设置。', }, { key: 'homepage_multi_thumb_enabled', label: '多图卡片(已弃用)', type: 'switch', default: true, help: '请改用文章列表缩略图/多图设置。' }, { key: 'homepage_multi_thumb_min_images', label: '最少图片数(已弃用)', type: 'number', default: 3, min: 2, max: 4 }, { key: 'homepage_default_view', label: '默认视图(已弃用)', type: 'radio', default: 'list', options: [ { label: '列表', value: 'list' }, { label: '卡片', value: 'card' }, ], help: 'SSR 以文章列表全局设置为准;此字段仅作兼容保留。', }, { key: 'homepage_sidebar_mini_enabled', label: '迷你侧栏列表', type: 'switch', default: true }, { key: 'homepage_sort_ajax_enabled', label: '排序栏 AJAX', type: 'switch', default: true }, ], }, ], }, /** * Special/topic page settings */ special: { key: 'page_display.special', title: '专题页面', icon: 'fas fa-layer-group', description: '配置专题聚合页的封面、摘要、布局、聚合规则和子页面展示策略。', defaults: { special_cover_enabled: true, special_summary_enabled: true, special_summary_length: 200, special_default_cover: '', special_layout: 'grid', special_columns: 2, special_source_type: 'category', special_source_ids: '', special_subpage_display: 'cards', special_subpage_count: 6, special_sidebar: true, special_pagination: 'numeric', special_per_page: 12, special_post_count: false, special_orderby: 'date', }, groups: [ { key: 'header', title: '专题头部', icon: 'fas fa-image', fields: [ { key: 'special_cover_enabled', label: '显示专题封面', type: 'switch', default: true, help: '在专题页顶部展示封面图' }, { key: 'special_summary_enabled', label: '显示专题摘要', type: 'switch', default: true }, { key: 'special_summary_length', label: '摘要最大长度', type: 'number', default: 200, min: 50, max: 500, dependsOn: { key: 'special_summary_enabled', value: true } }, { key: 'special_default_cover', label: '默认封面图', type: 'upload', default: '', help: '未设置专题封面时使用的默认图片' }, ], }, { key: 'layout', title: '布局设置', icon: 'fas fa-th-large', fields: [ { key: 'special_layout', label: '内容布局', type: 'radio', default: 'grid', options: [ { label: '网格', value: 'grid' }, { label: '列表', value: 'list' }, { label: '瀑布流', value: 'masonry' }, ], }, { key: 'special_columns', label: '网格列数', type: 'number', default: 2, min: 1, max: 4, dependsOn: { key: 'special_layout', value: 'grid' } }, { key: 'special_sidebar', label: '侧边栏', type: 'switch', default: true }, { key: 'special_post_count', label: '显示文章数', type: 'switch', default: false, help: '在专题列表中显示每篇文章的浏览次数' }, ], }, { key: 'aggregation', title: '聚合规则', icon: 'fas fa-database', fields: [ { key: 'special_source_type', label: '内容来源', type: 'radio', default: 'category', options: [ { label: '分类', value: 'category' }, { label: '标签', value: 'tag' }, { label: '手动选择', value: 'manual' }, { label: '最新文章', value: 'latest' }, ], }, { key: 'special_source_ids', label: '来源 ID 列表', type: 'input', default: '', placeholder: '逗号分隔分类/标签 ID', help: '填写分类或标签的 ID,逗号分隔' }, ], }, { key: 'subpage', title: '子页面展示', icon: 'fas fa-clone', fields: [ { key: 'special_subpage_display', label: '子页面样式', type: 'radio', default: 'cards', options: [ { label: '卡片', value: 'cards' }, { label: '列表', value: 'list' }, { label: '时间线', value: 'timeline' }, ], }, { key: 'special_subpage_count', label: '每页子页面数', type: 'number', default: 6, min: 1, max: 24 }, ], }, { key: 'pagination', title: '分页设置', icon: 'fas fa-ellipsis-h', fields: [ { key: 'special_pagination', label: '分页模式', type: 'radio', default: 'numeric', options: [ { label: '数字分页', value: 'numeric' }, { label: '加载更多', value: 'load_more' }, { label: '无限滚动', value: 'infinite' }, ], }, { key: 'special_per_page', label: '每页文章数', type: 'number', default: 12, min: 4, max: 48 }, ], }, { key: 'orderby', title: '排序设置', icon: 'fas fa-sort', fields: [ { key: 'special_orderby', label: '默认排序', type: 'select', default: 'date', options: [ { label: '发布时间', value: 'date' }, { label: '最近更新', value: 'modified' }, { label: '浏览数', value: 'views' }, { label: '评论数', value: 'comments' }, ]}, ], }, ], }, }