feat(settings): link feature toggles to their config pages
Channel Monitor card now links to 渠道管理 > 渠道监控 and the Available Channels card links to 渠道管理 > 渠道定价 so admins know where to go after flipping the switch.
This commit is contained in:
@@ -473,6 +473,9 @@ export interface SystemSettings {
|
|||||||
// Channel Monitor feature switch
|
// Channel Monitor feature switch
|
||||||
channel_monitor_enabled: boolean;
|
channel_monitor_enabled: boolean;
|
||||||
channel_monitor_default_interval_seconds: number;
|
channel_monitor_default_interval_seconds: number;
|
||||||
|
|
||||||
|
// Available Channels feature switch
|
||||||
|
available_channels_enabled: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface UpdateSettingsRequest {
|
export interface UpdateSettingsRequest {
|
||||||
@@ -626,6 +629,9 @@ export interface UpdateSettingsRequest {
|
|||||||
// Channel Monitor feature switch
|
// Channel Monitor feature switch
|
||||||
channel_monitor_enabled?: boolean;
|
channel_monitor_enabled?: boolean;
|
||||||
channel_monitor_default_interval_seconds?: number;
|
channel_monitor_default_interval_seconds?: number;
|
||||||
|
|
||||||
|
// Available Channels feature switch
|
||||||
|
available_channels_enabled?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -4675,11 +4675,19 @@ export default {
|
|||||||
channelMonitor: {
|
channelMonitor: {
|
||||||
title: 'Channel Monitor',
|
title: 'Channel Monitor',
|
||||||
description: 'Periodically probe configured channels and surface availability / latency to users. Turning it off stops the scheduler and returns an empty list on the user page.',
|
description: 'Periodically probe configured channels and surface availability / latency to users. Turning it off stops the scheduler and returns an empty list on the user page.',
|
||||||
|
configureLink: 'Configure monitors in Channel Management > Channel Monitor',
|
||||||
enabled: 'Enable Channel Monitor',
|
enabled: 'Enable Channel Monitor',
|
||||||
enabledHint: 'Disabling stops background checks; existing history is preserved.',
|
enabledHint: 'Disabling stops background checks; existing history is preserved.',
|
||||||
defaultInterval: 'Default check interval (seconds)',
|
defaultInterval: 'Default check interval (seconds)',
|
||||||
defaultIntervalHint: 'Pre-fills the interval when creating a new monitor; each monitor can override it. Range 15 – 3600.',
|
defaultIntervalHint: 'Pre-fills the interval when creating a new monitor; each monitor can override it. Range 15 – 3600.',
|
||||||
},
|
},
|
||||||
|
availableChannels: {
|
||||||
|
title: 'Available Channels',
|
||||||
|
description: 'Show logged-in users an aggregate view of the channels, models and pricing they can access. Disabled by default.',
|
||||||
|
configureLink: 'Configure model pricing in Channel Management > Channel Pricing',
|
||||||
|
enabled: 'Enable Available Channels',
|
||||||
|
enabledHint: 'When off, the sidebar entry is hidden and the endpoint returns an empty list.',
|
||||||
|
},
|
||||||
},
|
},
|
||||||
emailTabDisabledTitle: 'Email Verification Not Enabled',
|
emailTabDisabledTitle: 'Email Verification Not Enabled',
|
||||||
emailTabDisabledHint: 'Enable email verification in the Security tab to configure SMTP settings.',
|
emailTabDisabledHint: 'Enable email verification in the Security tab to configure SMTP settings.',
|
||||||
|
|||||||
@@ -4840,11 +4840,19 @@ export default {
|
|||||||
channelMonitor: {
|
channelMonitor: {
|
||||||
title: '渠道监控',
|
title: '渠道监控',
|
||||||
description: '定期对配置的渠道发起健康检查,向用户展示可用性与延迟。关闭后调度器停止扫描,用户端列表为空。',
|
description: '定期对配置的渠道发起健康检查,向用户展示可用性与延迟。关闭后调度器停止扫描,用户端列表为空。',
|
||||||
|
configureLink: '前往 渠道管理 > 渠道监控 配置监控项',
|
||||||
enabled: '启用渠道监控',
|
enabled: '启用渠道监控',
|
||||||
enabledHint: '关闭后后台不再执行定时检测,已有数据保留。',
|
enabledHint: '关闭后后台不再执行定时检测,已有数据保留。',
|
||||||
defaultInterval: '默认检测间隔(秒)',
|
defaultInterval: '默认检测间隔(秒)',
|
||||||
defaultIntervalHint: '新建渠道监控时表单的默认值,可被单个渠道覆盖。范围 15 – 3600 秒。',
|
defaultIntervalHint: '新建渠道监控时表单的默认值,可被单个渠道覆盖。范围 15 – 3600 秒。',
|
||||||
},
|
},
|
||||||
|
availableChannels: {
|
||||||
|
title: '可用渠道',
|
||||||
|
description: '向已登录用户展示他们能访问的渠道、模型和定价聚合视图。默认关闭。',
|
||||||
|
configureLink: '前往 渠道管理 > 渠道定价 配置模型价格',
|
||||||
|
enabled: '启用可用渠道',
|
||||||
|
enabledHint: '关闭后用户端侧边栏入口隐藏,接口返回空数组。',
|
||||||
|
},
|
||||||
},
|
},
|
||||||
emailTabDisabledTitle: '邮箱验证未启用',
|
emailTabDisabledTitle: '邮箱验证未启用',
|
||||||
emailTabDisabledHint: '请在「安全与认证」选项卡中启用邮箱验证后,再配置 SMTP 设置。',
|
emailTabDisabledHint: '请在「安全与认证」选项卡中启用邮箱验证后,再配置 SMTP 设置。',
|
||||||
|
|||||||
@@ -3760,6 +3760,15 @@
|
|||||||
<p class="mt-1 text-sm text-gray-500 dark:text-gray-400">
|
<p class="mt-1 text-sm text-gray-500 dark:text-gray-400">
|
||||||
{{ t('admin.settings.features.channelMonitor.description') }}
|
{{ t('admin.settings.features.channelMonitor.description') }}
|
||||||
</p>
|
</p>
|
||||||
|
<p class="mt-1.5 text-xs">
|
||||||
|
<router-link
|
||||||
|
to="/admin/channels/monitor"
|
||||||
|
class="inline-flex items-center gap-1 text-primary-600 hover:underline dark:text-primary-400"
|
||||||
|
>
|
||||||
|
{{ t('admin.settings.features.channelMonitor.configureLink') }}
|
||||||
|
<span aria-hidden="true">→</span>
|
||||||
|
</router-link>
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="space-y-5 p-6">
|
<div class="space-y-5 p-6">
|
||||||
<div class="flex items-center justify-between">
|
<div class="flex items-center justify-between">
|
||||||
@@ -3793,6 +3802,39 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="card">
|
||||||
|
<div class="border-b border-gray-100 px-6 py-4 dark:border-dark-700">
|
||||||
|
<h2 class="text-lg font-semibold text-gray-900 dark:text-white">
|
||||||
|
{{ t('admin.settings.features.availableChannels.title') }}
|
||||||
|
</h2>
|
||||||
|
<p class="mt-1 text-sm text-gray-500 dark:text-gray-400">
|
||||||
|
{{ t('admin.settings.features.availableChannels.description') }}
|
||||||
|
</p>
|
||||||
|
<p class="mt-1.5 text-xs">
|
||||||
|
<router-link
|
||||||
|
to="/admin/channels/pricing"
|
||||||
|
class="inline-flex items-center gap-1 text-primary-600 hover:underline dark:text-primary-400"
|
||||||
|
>
|
||||||
|
{{ t('admin.settings.features.availableChannels.configureLink') }}
|
||||||
|
<span aria-hidden="true">→</span>
|
||||||
|
</router-link>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="space-y-5 p-6">
|
||||||
|
<div class="flex items-center justify-between">
|
||||||
|
<div>
|
||||||
|
<label class="text-sm font-medium text-gray-700 dark:text-gray-300">
|
||||||
|
{{ t('admin.settings.features.availableChannels.enabled') }}
|
||||||
|
</label>
|
||||||
|
<p class="mt-0.5 text-xs text-gray-500 dark:text-gray-400">
|
||||||
|
{{ t('admin.settings.features.availableChannels.enabledHint') }}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<Toggle v-model="form.available_channels_enabled" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div><!-- /Tab: Features -->
|
</div><!-- /Tab: Features -->
|
||||||
|
|
||||||
<!-- Tab: Email -->
|
<!-- Tab: Email -->
|
||||||
@@ -5056,6 +5098,8 @@ const form = reactive<SettingsForm>({
|
|||||||
// Channel Monitor feature switch
|
// Channel Monitor feature switch
|
||||||
channel_monitor_enabled: true,
|
channel_monitor_enabled: true,
|
||||||
channel_monitor_default_interval_seconds: 60,
|
channel_monitor_default_interval_seconds: 60,
|
||||||
|
// Available Channels feature switch
|
||||||
|
available_channels_enabled: false,
|
||||||
});
|
});
|
||||||
|
|
||||||
const authSourceDefaults = reactive<AuthSourceDefaultsState>(
|
const authSourceDefaults = reactive<AuthSourceDefaultsState>(
|
||||||
@@ -5967,6 +6011,8 @@ async function saveSettings() {
|
|||||||
channel_monitor_enabled: form.channel_monitor_enabled,
|
channel_monitor_enabled: form.channel_monitor_enabled,
|
||||||
channel_monitor_default_interval_seconds:
|
channel_monitor_default_interval_seconds:
|
||||||
Number(form.channel_monitor_default_interval_seconds) || 60,
|
Number(form.channel_monitor_default_interval_seconds) || 60,
|
||||||
|
// Available Channels feature switch
|
||||||
|
available_channels_enabled: form.available_channels_enabled,
|
||||||
};
|
};
|
||||||
|
|
||||||
appendAuthSourceDefaultsToUpdateRequest(payload, authSourceDefaults);
|
appendAuthSourceDefaultsToUpdateRequest(payload, authSourceDefaults);
|
||||||
|
|||||||
Reference in New Issue
Block a user