feat(frontend): single pay-box positions + Zibll cover episodes/slides
Wire pay_box_position to box_top/top/bottom/box_bottom, render download or paywall modules at those slots, and resolve featured_slide/attachment IDs plus video episode chrome for single covers.
This commit is contained in:
1 parent
9c443c808b
commit
619d2bc170
7 files changed
+221
-75
No files matched your search
@@ -57,7 +57,7 @@ export const orderSchema = {
|
||||
icon: 'fas fa-eye',
|
||||
fields: [
|
||||
{ key: 'pay_mark', label: '付费标记', type: 'input', default: '付费' },
|
||||
{ key: 'pay_box_position', label: '付费框位置', type: 'radio', default: 'top', options: [{ label: '内容顶部(正文前)', value: 'top' }, { label: '内容底部(正文后)', value: 'bottom' }] },
|
||||
{ key: 'pay_box_position', label: '付费框位置', type: 'radio', default: 'top', options: [{ label: '文章框顶部(封面后)', value: 'box_top' }, { label: '正文顶部', value: 'top' }, { label: '正文底部', value: 'bottom' }, { label: '文章框底部(相关前)', value: 'box_bottom' }] },
|
||||
{ key: 'pay_free_logged_show', label: '登录用户显示免费', type: 'switch', default: false },
|
||||
{ key: 'payment_show_ip', label: '显示用户IP', type: 'switch', default: false },
|
||||
{ key: 'payment_show_device', label: '显示设备信息', type: 'switch', default: false },
|
||||
|
||||
@@ -51,7 +51,7 @@ export const paidSchema = {
|
||||
{ key: 'payment_currency_symbol', label: '货币符号', type: 'input', default: '¥', help: '商品价格前缀,如 ¥、$、¥' },
|
||||
{ key: 'pay_show_user', label: '显示购买用户', type: 'switch', default: true },
|
||||
{ key: 'pay_show_paycount', label: '显示购买次数', type: 'switch', default: true },
|
||||
{ key: 'pay_box_position', label: '付费框位置', type: 'radio', default: 'top', options: [{ label: '内容顶部(正文前)', value: 'top' }, { label: '内容底部(正文后)', value: 'bottom' }] },
|
||||
{ key: 'pay_box_position', label: '付费框位置', type: 'radio', default: 'top', options: [{ label: '文章框顶部(封面后)', value: 'box_top' }, { label: '正文顶部', value: 'top' }, { label: '正文底部', value: 'bottom' }, { label: '文章框底部(相关前)', value: 'box_bottom' }] },
|
||||
],
|
||||
},
|
||||
{
|
||||
|
||||
@@ -193,3 +193,23 @@
|
||||
color: var(--color-ink);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ===== Video footer (Zibll single-video-footer) ===== */
|
||||
.single-head-cover .single-video-footer { padding: 12px 4px 4px; }
|
||||
.single-head-cover .single-video-footer .article-title {
|
||||
font-size: clamp(1.1rem, 2.4vw, 1.45rem); font-weight: 700; margin: 8px 0 0; line-height: 1.35;
|
||||
}
|
||||
.single-head-cover .featured-video-episode { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
|
||||
.single-head-cover .featured-video-episode .switch-video {
|
||||
display: inline-flex; align-items: center; max-width: 100%; padding: 6px 10px; border-radius: 8px;
|
||||
background: var(--surface-2, rgba(0,0,0,.04)); color: var(--color-ink); font-size: 13px;
|
||||
}
|
||||
.single-head-cover .featured-video-episode .switch-video.active {
|
||||
background: var(--color-primary-soft, rgba(240, 68, 148, 0.12)); color: var(--color-primary);
|
||||
}
|
||||
.single-head-cover .cover-meta.single-metabox {
|
||||
display: flex; flex-wrap: wrap; gap: 8px 12px; font-size: 12px; color: var(--color-ink-4);
|
||||
}
|
||||
.aksrt-single-pay-box { margin: 16px 0 20px; }
|
||||
.aksrt-single-pay-box .pay-box, .aksrt-single-pay-box .aksrt-paywall { margin: 0; }
|
||||
Reference in new issue
Block a user