refactor(admin): drop homepage mixed content model and publish-resource preset
This commit is contained in:
1 parent
fb1a4e110c
commit
0ad41715e2
7 files changed
+13
-54
No files matched your search
@@ -379,7 +379,6 @@ const addPresetOptions = computed(() => {
|
|||||||
const presets = [
|
const presets = [
|
||||||
{ label: '写文章', key: 'post' },
|
{ label: '写文章', key: 'post' },
|
||||||
{ label: '投稿页', key: 'submit' },
|
{ label: '投稿页', key: 'submit' },
|
||||||
{ label: '发布资源', key: 'resource' },
|
|
||||||
{ label: '用户中心创作', key: 'profile' },
|
{ label: '用户中心创作', key: 'profile' },
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -493,7 +492,6 @@ function applyAddPreset(key) {
|
|||||||
const presetFactories = {
|
const presetFactories = {
|
||||||
post: () => ({ label: '写文章', icon: 'fas fa-pen-nib', url: `${adminUrl || siteUrl}/post-new.php` }),
|
post: () => ({ label: '写文章', icon: 'fas fa-pen-nib', url: `${adminUrl || siteUrl}/post-new.php` }),
|
||||||
submit: () => ({ label: '投稿页', icon: 'fas fa-paper-plane', url: `${siteUrl}/submit/` }),
|
submit: () => ({ label: '投稿页', icon: 'fas fa-paper-plane', url: `${siteUrl}/submit/` }),
|
||||||
resource: () => ({ label: '发布资源', icon: 'fas fa-box-open', url: `${siteUrl}/resources/` }),
|
|
||||||
profile: () => ({ label: '创作中心', icon: 'fas fa-user-edit', url: `${siteUrl}/user/` }),
|
profile: () => ({ label: '创作中心', icon: 'fas fa-user-edit', url: `${siteUrl}/user/` }),
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -522,7 +520,6 @@ function getAddPresetValue(key) {
|
|||||||
const presetFactories = {
|
const presetFactories = {
|
||||||
post: () => ({ label: '写文章', icon: 'fas fa-pen-nib', url: `${adminUrl || siteUrl}/post-new.php` }),
|
post: () => ({ label: '写文章', icon: 'fas fa-pen-nib', url: `${adminUrl || siteUrl}/post-new.php` }),
|
||||||
submit: () => ({ label: '投稿页', icon: 'fas fa-paper-plane', url: `${siteUrl}/submit/` }),
|
submit: () => ({ label: '投稿页', icon: 'fas fa-paper-plane', url: `${siteUrl}/submit/` }),
|
||||||
resource: () => ({ label: '发布资源', icon: 'fas fa-box-open', url: `${siteUrl}/resources/` }),
|
|
||||||
profile: () => ({ label: '创作中心', icon: 'fas fa-user-edit', url: `${siteUrl}/user/` }),
|
profile: () => ({ label: '创作中心', icon: 'fas fa-user-edit', url: `${siteUrl}/user/` }),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<div class="aksrt-page-container content-page">
|
<div class="aksrt-page-container content-page">
|
||||||
<PageHeader
|
<PageHeader
|
||||||
title="首页配置"
|
title="首页配置"
|
||||||
desc="按 Zibll 首页主线配置内容类型、Tab、主列表与基础交互。列表/卡片显示请在「文章列表」中设置。"
|
desc="配置首页主列表、分类 Tab 与基础交互。列表/卡片显示请在「文章列表」中设置。"
|
||||||
>
|
>
|
||||||
<template #actions>
|
<template #actions>
|
||||||
<n-button type="primary" :loading="saving" @click="handleSave">保存设置</n-button>
|
<n-button type="primary" :loading="saving" @click="handleSave">保存设置</n-button>
|
||||||
@@ -13,25 +13,11 @@
|
|||||||
<n-tab-pane name="stream" tab="主列表 & Tab">
|
<n-tab-pane name="stream" tab="主列表 & Tab">
|
||||||
<n-spin :show="loading" style="width:100%; min-height:200px;">
|
<n-spin :show="loading" style="width:100%; min-height:200px;">
|
||||||
<n-card class="aksrt-section-card" style="margin-bottom:16px;">
|
<n-card class="aksrt-section-card" style="margin-bottom:16px;">
|
||||||
<template #header><strong>首页内容</strong></template>
|
<template #header><strong>首页说明</strong></template>
|
||||||
<n-form :model="form" label-placement="left" label-width="160" class="aksrt-form">
|
<n-form :model="form" label-placement="left" label-width="160" class="aksrt-form">
|
||||||
<n-form-item label="首页内容模型">
|
<n-form-item label="内容说明">
|
||||||
<n-radio-group v-model:value="form.homepage_content_model">
|
|
||||||
<n-space vertical>
|
|
||||||
<n-radio value="mixed">
|
|
||||||
<n-text>混合内容流</n-text>
|
|
||||||
<n-text depth="3" style="margin-left:8px;">文章 + 资源,贴近 Zibll 首页主流呈现。</n-text>
|
|
||||||
</n-radio>
|
|
||||||
<n-radio value="post">
|
|
||||||
<n-text>纯文章流</n-text>
|
|
||||||
<n-text depth="3" style="margin-left:8px;">仅标准文章,适合纯资讯站点。</n-text>
|
|
||||||
</n-radio>
|
|
||||||
</n-space>
|
|
||||||
</n-radio-group>
|
|
||||||
</n-form-item>
|
|
||||||
<n-form-item label="首页说明">
|
|
||||||
<n-alert type="info" :show-icon="false">
|
<n-alert type="info" :show-icon="false">
|
||||||
当前首页已切换为固定骨架模式,不再使用旧版自由模块画布、导入导出预设或历史模块桥接。
|
首页主列表只使用普通文章。下载/付费是文章能力(meta),不是第二种内容类型。当前为固定骨架模式,不再使用旧版自由模块画布。
|
||||||
</n-alert>
|
</n-alert>
|
||||||
</n-form-item>
|
</n-form-item>
|
||||||
</n-form>
|
</n-form>
|
||||||
@@ -228,7 +214,6 @@ const allSortOptions = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
const form = reactive({
|
const form = reactive({
|
||||||
homepage_content_model: 'mixed',
|
|
||||||
home_posts_list_s: true,
|
home_posts_list_s: true,
|
||||||
home_list1_orderby_s: true,
|
home_list1_orderby_s: true,
|
||||||
home_list1_orderby_option: {
|
home_list1_orderby_option: {
|
||||||
@@ -296,7 +281,6 @@ async function loadSettings() {
|
|||||||
const res = await api.getHomepageSettings()
|
const res = await api.getHomepageSettings()
|
||||||
const d = res?.data || {}
|
const d = res?.data || {}
|
||||||
|
|
||||||
form.homepage_content_model = d.homepage_content_model || 'mixed'
|
|
||||||
form.home_posts_list_s = d.home_posts_list_s !== false && d.home_posts_list_enabled !== false
|
form.home_posts_list_s = d.home_posts_list_s !== false && d.home_posts_list_enabled !== false
|
||||||
form.home_list1_orderby_s = d.home_list1_orderby_s !== false && d.home_list_sort_enabled !== false
|
form.home_list1_orderby_s = d.home_list1_orderby_s !== false && d.home_list_sort_enabled !== false
|
||||||
const orderOpt = d.home_list1_orderby_option && typeof d.home_list1_orderby_option === 'object' ? d.home_list1_orderby_option : {}
|
const orderOpt = d.home_list1_orderby_option && typeof d.home_list1_orderby_option === 'object' ? d.home_list1_orderby_option : {}
|
||||||
|
|||||||
@@ -929,9 +929,8 @@ export const pageDisplaySchemas = {
|
|||||||
key: 'page_display.homepage',
|
key: 'page_display.homepage',
|
||||||
title: '首页配置',
|
title: '首页配置',
|
||||||
icon: 'fas fa-home',
|
icon: 'fas fa-home',
|
||||||
description: '配置首页内容模型、主列表、分类 Tab、卡片样式与首页交互。实际编辑界面在 HomepageSettings.vue(customPage),此处补齐 page_display 的 schema 契约。',
|
description: '配置首页主列表、分类 Tab、卡片样式与首页交互。实际编辑界面在 HomepageSettings.vue(customPage),此处补齐 page_display 的 schema 契约。',
|
||||||
defaults: {
|
defaults: {
|
||||||
homepage_content_model: 'post',
|
|
||||||
homepage_tabs: [],
|
homepage_tabs: [],
|
||||||
homepage_card_style: 'default',
|
homepage_card_style: 'default',
|
||||||
homepage_multi_thumb_enabled: false,
|
homepage_multi_thumb_enabled: false,
|
||||||
@@ -952,24 +951,6 @@ export const pageDisplaySchemas = {
|
|||||||
homepage_tab_limit: 4,
|
homepage_tab_limit: 4,
|
||||||
},
|
},
|
||||||
groups: [
|
groups: [
|
||||||
{
|
|
||||||
key: 'content-model',
|
|
||||||
title: '内容模型',
|
|
||||||
icon: 'fas fa-stream',
|
|
||||||
fields: [
|
|
||||||
{
|
|
||||||
key: 'homepage_content_model',
|
|
||||||
label: '首页内容模型',
|
|
||||||
type: 'radio',
|
|
||||||
default: 'post',
|
|
||||||
options: [
|
|
||||||
{ label: '混合模式', value: 'mixed' },
|
|
||||||
{ label: '纯文章', value: 'post' },
|
|
||||||
],
|
|
||||||
help: '混合模式显示文章 + 资源,纯文章模式仅显示标准文章。',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
key: 'main-stream',
|
key: 'main-stream',
|
||||||
title: '主列表',
|
title: '主列表',
|
||||||
|
|||||||
@@ -126,11 +126,6 @@ trait AKSRT_Admin_Homepage_Settings_Rest {
|
|||||||
if (array_key_exists('homepage_sticky_tabs_enabled', $params)) {
|
if (array_key_exists('homepage_sticky_tabs_enabled', $params)) {
|
||||||
$settings['homepage_sticky_tabs_enabled'] = !empty($params['homepage_sticky_tabs_enabled']);
|
$settings['homepage_sticky_tabs_enabled'] = !empty($params['homepage_sticky_tabs_enabled']);
|
||||||
}
|
}
|
||||||
if (isset($params['homepage_content_model'])) {
|
|
||||||
$settings['homepage_content_model'] = in_array($params['homepage_content_model'], ['post', 'mixed'], true)
|
|
||||||
? $params['homepage_content_model']
|
|
||||||
: 'mixed';
|
|
||||||
}
|
|
||||||
if (array_key_exists('home_list_sort_dropdown', $params)) {
|
if (array_key_exists('home_list_sort_dropdown', $params)) {
|
||||||
$settings['home_list_sort_dropdown'] = !empty($params['home_list_sort_dropdown']);
|
$settings['home_list_sort_dropdown'] = !empty($params['home_list_sort_dropdown']);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1205,7 +1205,6 @@ trait AKSRT_Scripts_Part_1b {
|
|||||||
'homepageDefaultView' => class_exists('AKSRT_Settings') ? AKSRT_Settings::homepage_default_view() : 'list',
|
'homepageDefaultView' => class_exists('AKSRT_Settings') ? AKSRT_Settings::homepage_default_view() : 'list',
|
||||||
'homepageSortAjax' => class_exists('AKSRT_Settings') ? AKSRT_Settings::homepage_sort_ajax_enabled() : true,
|
'homepageSortAjax' => class_exists('AKSRT_Settings') ? AKSRT_Settings::homepage_sort_ajax_enabled() : true,
|
||||||
'homepageStickyTabs' => class_exists('AKSRT_Settings') ? AKSRT_Settings::homepage_sticky_tabs_enabled() : true,
|
'homepageStickyTabs' => class_exists('AKSRT_Settings') ? AKSRT_Settings::homepage_sticky_tabs_enabled() : true,
|
||||||
'homepageContentModel' => class_exists('AKSRT_Settings') ? AKSRT_Settings::homepage_content_model() : 'mixed',
|
|
||||||
'homePostsListEnabled' => !class_exists('AKSRT_Settings') || AKSRT_Settings::home_posts_list_enabled(),
|
'homePostsListEnabled' => !class_exists('AKSRT_Settings') || AKSRT_Settings::home_posts_list_enabled(),
|
||||||
'homeListSortEnabled' => !class_exists('AKSRT_Settings') || AKSRT_Settings::home_list_sort_enabled(),
|
'homeListSortEnabled' => !class_exists('AKSRT_Settings') || AKSRT_Settings::home_list_sort_enabled(),
|
||||||
'homeListSortDropdown' => class_exists('AKSRT_Settings') && AKSRT_Settings::home_list_sort_dropdown(),
|
'homeListSortDropdown' => class_exists('AKSRT_Settings') && AKSRT_Settings::home_list_sort_dropdown(),
|
||||||
|
|||||||
@@ -255,7 +255,6 @@ class AKSRT_Settings_Home_Cms {
|
|||||||
'homepage_default_view' => isset($s['homepage_default_view']) ? sanitize_key((string) $s['homepage_default_view']) : 'list',
|
'homepage_default_view' => isset($s['homepage_default_view']) ? sanitize_key((string) $s['homepage_default_view']) : 'list',
|
||||||
'homepage_sort_ajax_enabled' => !isset($s['homepage_sort_ajax_enabled']) || !empty($s['homepage_sort_ajax_enabled']),
|
'homepage_sort_ajax_enabled' => !isset($s['homepage_sort_ajax_enabled']) || !empty($s['homepage_sort_ajax_enabled']),
|
||||||
'homepage_sticky_tabs_enabled' => !isset($s['homepage_sticky_tabs_enabled']) || !empty($s['homepage_sticky_tabs_enabled']),
|
'homepage_sticky_tabs_enabled' => !isset($s['homepage_sticky_tabs_enabled']) || !empty($s['homepage_sticky_tabs_enabled']),
|
||||||
'homepage_content_model' => isset($s['homepage_content_model']) && in_array($s['homepage_content_model'], ['post', 'mixed'], true) ? $s['homepage_content_model'] : 'post',
|
|
||||||
'home_list_sort_dropdown' => !empty($s['home_list_sort_dropdown']),
|
'home_list_sort_dropdown' => !empty($s['home_list_sort_dropdown']),
|
||||||
'homepage_tab_posts_per_page' => max(1, min(20, (int) ($s['homepage_tab_posts_per_page'] ?? 6))),
|
'homepage_tab_posts_per_page' => max(1, min(20, (int) ($s['homepage_tab_posts_per_page'] ?? 6))),
|
||||||
'homepage_tab_limit' => max(1, min(12, (int) ($s['homepage_tab_limit'] ?? 4))),
|
'homepage_tab_limit' => max(1, min(12, (int) ($s['homepage_tab_limit'] ?? 4))),
|
||||||
@@ -276,9 +275,13 @@ class AKSRT_Settings_Home_Cms {
|
|||||||
return $settings;
|
return $settings;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Homepage always uses ordinary posts. Kept for API stability.
|
||||||
|
*
|
||||||
|
* @return string Always 'post'.
|
||||||
|
*/
|
||||||
public static function homepage_content_model(): string {
|
public static function homepage_content_model(): string {
|
||||||
$settings = self::get_homepage_fixed_settings();
|
return 'post';
|
||||||
return $settings['homepage_content_model'];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function homepage_tabs(): array {
|
public static function homepage_tabs(): array {
|
||||||
|
|||||||
@@ -31,9 +31,9 @@ trait AKSRT_Settings_Homepage_Reader {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Homepage content model.
|
* Homepage always uses ordinary posts.
|
||||||
*
|
*
|
||||||
* @return string 'post' or 'mixed'
|
* @return string Always 'post'.
|
||||||
*/
|
*/
|
||||||
public static function homepage_content_model(): string {
|
public static function homepage_content_model(): string {
|
||||||
return AKSRT_Settings_Home_Cms::homepage_content_model();
|
return AKSRT_Settings_Home_Cms::homepage_content_model();
|
||||||
|
|||||||
Reference in new issue
Block a user