feat(widgets): add phase 4 validation and accessibility
This commit is contained in:
1 parent
8cad3c2d3d
commit
e1723a8f08
117 files changed
+6
-17338
No files matched your search
@@ -1,149 +0,0 @@
|
||||
export const systemNoticeSchema = {
|
||||
key: 'global.system-notice',
|
||||
title: '弹窗通知',
|
||||
icon: 'fas fa-bullhorn',
|
||||
description: '全站弹窗公告配置,支持按用户身份定向、多按钮组、弹窗尺寸与过期周期。',
|
||||
defaults: {
|
||||
system_notice_enabled: true,
|
||||
system_notice_policy: '',
|
||||
system_notice_title: '',
|
||||
system_notice_content: '',
|
||||
system_notice_btn1_text: '',
|
||||
system_notice_btn1_link: '',
|
||||
system_notice_btn1_color: 'primary',
|
||||
system_notice_btn2_text: '',
|
||||
system_notice_btn2_link: '',
|
||||
system_notice_btn2_color: 'primary',
|
||||
system_notice_btn3_text: '',
|
||||
system_notice_btn3_link: '',
|
||||
system_notice_btn3_color: 'primary',
|
||||
system_notice_btn4_text: '',
|
||||
system_notice_btn4_link: '',
|
||||
system_notice_btn4_color: 'primary',
|
||||
system_notice_size: '',
|
||||
system_notice_radius: false,
|
||||
system_notice_class: '',
|
||||
system_notice_title_icon: '',
|
||||
system_notice_title_class: '',
|
||||
system_notice_title_style: '',
|
||||
system_notice_expires: 24,
|
||||
},
|
||||
groups: [
|
||||
{
|
||||
key: 'basic',
|
||||
title: '公告设置',
|
||||
icon: 'fas fa-bullhorn',
|
||||
fields: [
|
||||
{ key: 'system_notice_enabled', label: '启用系统公告', type: 'switch', default: true },
|
||||
{
|
||||
key: 'system_notice_policy',
|
||||
label: '显示对象',
|
||||
type: 'select',
|
||||
default: '',
|
||||
options: [
|
||||
{ label: '所有访客', value: '' },
|
||||
{ label: '仅登录用户', value: 'signin' },
|
||||
{ label: '仅 VIP 会员', value: 'vip' },
|
||||
{ label: '仅非 VIP', value: 'free' },
|
||||
{ label: '仅认证用户', value: 'auth' },
|
||||
],
|
||||
dependsOn: { key: 'system_notice_enabled', value: true },
|
||||
},
|
||||
{ key: 'system_notice_title', label: '公告标题', type: 'input', default: '', dependsOn: { key: 'system_notice_enabled', value: true } },
|
||||
{ key: 'system_notice_content', label: '公告内容', type: 'textarea', default: '', rows: 5, dependsOn: { key: 'system_notice_enabled', value: true }, help: '支持 HTML 标签' },
|
||||
],
|
||||
},
|
||||
{
|
||||
key: 'buttons',
|
||||
title: '按钮组(留空则不显示)',
|
||||
icon: 'fas fa-th-large',
|
||||
fields: [
|
||||
{ key: 'system_notice_btn1_text', label: '按钮 1 文案', type: 'input', default: '', dependsOn: { key: 'system_notice_enabled', value: true } },
|
||||
{ key: 'system_notice_btn1_link', label: '按钮 1 链接', type: 'input', default: '', dependsOn: { key: 'system_notice_enabled', value: true }, help: '可选,填写后按钮变为链接' },
|
||||
{ key: 'system_notice_btn1_color', label: '按钮 1 颜色', type: 'select', default: 'primary', options: [
|
||||
{ label: '主题色', value: 'primary' },
|
||||
{ label: '成功绿', value: 'success' },
|
||||
{ label: '警告橙', value: 'warning' },
|
||||
{ label: '危险红', value: 'danger' },
|
||||
{ label: '信息蓝', value: 'info' },
|
||||
{ label: '深紫', value: 'purple' },
|
||||
{ label: '深灰', value: 'dark' },
|
||||
], dependsOn: { key: 'system_notice_enabled', value: true } },
|
||||
{ key: 'system_notice_btn2_text', label: '按钮 2 文案', type: 'input', default: '', dependsOn: { key: 'system_notice_enabled', value: true } },
|
||||
{ key: 'system_notice_btn2_link', label: '按钮 2 链接', type: 'input', default: '', dependsOn: { key: 'system_notice_enabled', value: true } },
|
||||
{ key: 'system_notice_btn2_color', label: '按钮 2 颜色', type: 'select', default: 'primary', options: [
|
||||
{ label: '主题色', value: 'primary' },
|
||||
{ label: '成功绿', value: 'success' },
|
||||
{ label: '警告橙', value: 'warning' },
|
||||
{ label: '危险红', value: 'danger' },
|
||||
{ label: '信息蓝', value: 'info' },
|
||||
{ label: '深紫', value: 'purple' },
|
||||
{ label: '深灰', value: 'dark' },
|
||||
], dependsOn: { key: 'system_notice_enabled', value: true } },
|
||||
{ key: 'system_notice_btn3_text', label: '按钮 3 文案', type: 'input', default: '', dependsOn: { key: 'system_notice_enabled', value: true } },
|
||||
{ key: 'system_notice_btn3_link', label: '按钮 3 链接', type: 'input', default: '', dependsOn: { key: 'system_notice_enabled', value: true } },
|
||||
{ key: 'system_notice_btn3_color', label: '按钮 3 颜色', type: 'select', default: 'primary', options: [
|
||||
{ label: '主题色', value: 'primary' },
|
||||
{ label: '成功绿', value: 'success' },
|
||||
{ label: '警告橙', value: 'warning' },
|
||||
{ label: '危险红', value: 'danger' },
|
||||
{ label: '信息蓝', value: 'info' },
|
||||
{ label: '深紫', value: 'purple' },
|
||||
{ label: '深灰', value: 'dark' },
|
||||
], dependsOn: { key: 'system_notice_enabled', value: true } },
|
||||
{ key: 'system_notice_btn4_text', label: '按钮 4 文案', type: 'input', default: '', dependsOn: { key: 'system_notice_enabled', value: true } },
|
||||
{ key: 'system_notice_btn4_link', label: '按钮 4 链接', type: 'input', default: '', dependsOn: { key: 'system_notice_enabled', value: true } },
|
||||
{ key: 'system_notice_btn4_color', label: '按钮 4 颜色', type: 'select', default: 'primary', options: [
|
||||
{ label: '主题色', value: 'primary' },
|
||||
{ label: '成功绿', value: 'success' },
|
||||
{ label: '警告橙', value: 'warning' },
|
||||
{ label: '危险红', value: 'danger' },
|
||||
{ label: '信息蓝', value: 'info' },
|
||||
{ label: '深紫', value: 'purple' },
|
||||
{ label: '深灰', value: 'dark' },
|
||||
], dependsOn: { key: 'system_notice_enabled', value: true } },
|
||||
],
|
||||
},
|
||||
{
|
||||
key: 'style',
|
||||
title: '样式设置',
|
||||
icon: 'fas fa-paint-brush',
|
||||
fields: [
|
||||
{
|
||||
key: 'system_notice_size',
|
||||
label: '弹窗尺寸',
|
||||
type: 'select',
|
||||
default: '',
|
||||
options: [
|
||||
{ label: '默认', value: '' },
|
||||
{ label: '迷你', value: 'modal-mini' },
|
||||
{ label: '小号', value: 'modal-sm' },
|
||||
{ label: '大号', value: 'modal-lg' },
|
||||
],
|
||||
dependsOn: { key: 'system_notice_enabled', value: true },
|
||||
},
|
||||
{ key: 'system_notice_radius', label: '按钮圆角', type: 'switch', default: false, dependsOn: { key: 'system_notice_enabled', value: true }, help: '开启后弹窗按钮使用圆角样式' },
|
||||
{ key: 'system_notice_class', label: '公告样式类', type: 'input', default: '', dependsOn: { key: 'system_notice_enabled', value: true } },
|
||||
{ key: 'system_notice_title_icon', label: '标题图标', type: 'input', default: '', dependsOn: { key: 'system_notice_enabled', value: true }, help: '如 fas fa-bullhorn' },
|
||||
{ key: 'system_notice_title_class', label: '标题背景配色', type: 'select', default: '', dependsOn: { key: 'system_notice_enabled', value: true }, options: [
|
||||
{ label: '无', value: '' },
|
||||
{ label: '炫彩黄', value: 'jb-yellow' },
|
||||
{ label: '炫彩蓝', value: 'jb-blue' },
|
||||
{ label: '炫彩绿', value: 'jb-green' },
|
||||
{ label: '炫彩紫', value: 'jb-purple' },
|
||||
{ label: '炫彩红', value: 'jb-red' },
|
||||
{ label: '炫彩橙', value: 'jb-orange' },
|
||||
], help: '弹窗标题区域的背景配色方案' },
|
||||
{ key: 'system_notice_title_style', label: '标题样式', type: 'input', default: '', dependsOn: { key: 'system_notice_enabled', value: true } },
|
||||
],
|
||||
},
|
||||
{
|
||||
key: 'expire',
|
||||
title: '过期设置',
|
||||
icon: 'fas fa-clock',
|
||||
fields: [
|
||||
{ key: 'system_notice_expires', label: '弹窗周期(小时)', type: 'number', default: 24, min: 0, max: 720, dependsOn: { key: 'system_notice_enabled', value: true }, help: '0 表示永不过期' },
|
||||
],
|
||||
},
|
||||
],
|
||||
}
|
||||
Reference in new issue
Block a user