feat(websearch): settings UI overhaul and quota improvements
- Remove Priority field, auto load-balance by quota remaining - Replace QuotaRefreshInterval (daily/weekly/monthly) with SubscribedAt (subscription date, monthly lazy refresh via Redis TTL) - Add collapsible provider cards, API key show/copy, usage progress bar - Add test endpoint (POST /web-search-emulation/test) bypassing quota - Wire WebSearchManagerBuilder on startup (was never called before) - Fix nextMonthlyReset day-of-month overflow (Jan 31 → Feb 28) - Fix non-deterministic sort in selectByQuotaWeight - Map ProxyID in builder for provider-level proxy tracking - Fix frontend timezone drift in subscribed_at date picker - Fix provider deletion index shift for expandedProviders state
This commit is contained in:
@@ -4417,19 +4417,24 @@ export default {
|
||||
apiKey: 'API Key',
|
||||
apiKeyPlaceholder: 'Enter API Key',
|
||||
apiKeyConfigured: 'Configured',
|
||||
priority: 'Priority',
|
||||
priorityHint: 'Lower number = higher priority',
|
||||
showApiKey: 'Show',
|
||||
hideApiKey: 'Hide',
|
||||
copyApiKey: 'Copy',
|
||||
copied: 'Copied',
|
||||
quotaLimit: 'Quota Limit',
|
||||
quotaLimitHint: '0 = unlimited',
|
||||
quotaRefreshInterval: 'Refresh Interval',
|
||||
quotaUsed: 'Used',
|
||||
subscribedAt: 'Subscribed At',
|
||||
subscribedAtHint: 'Quota resets monthly from this date',
|
||||
quotaUsage: 'Usage',
|
||||
proxy: 'Proxy',
|
||||
expiresAt: 'Expires At',
|
||||
removeProvider: 'Remove',
|
||||
daily: 'Daily',
|
||||
weekly: 'Weekly',
|
||||
monthly: 'Monthly',
|
||||
noProviders: 'No search providers configured',
|
||||
test: 'Test',
|
||||
testDefaultQuery: 'Major world events this year',
|
||||
testing: 'Searching...',
|
||||
testResultTitle: 'Search Results',
|
||||
testResultProvider: 'Provider',
|
||||
testNoResults: 'No results found',
|
||||
},
|
||||
site: {
|
||||
title: 'Site Settings',
|
||||
|
||||
@@ -4579,19 +4579,24 @@ export default {
|
||||
apiKey: 'API Key',
|
||||
apiKeyPlaceholder: '输入 API Key',
|
||||
apiKeyConfigured: '已配置',
|
||||
priority: '优先级',
|
||||
priorityHint: '数值越小优先级越高',
|
||||
showApiKey: '显示',
|
||||
hideApiKey: '隐藏',
|
||||
copyApiKey: '复制',
|
||||
copied: '已复制',
|
||||
quotaLimit: '配额上限',
|
||||
quotaLimitHint: '0 表示无限制',
|
||||
quotaRefreshInterval: '刷新周期',
|
||||
quotaUsed: '已使用',
|
||||
subscribedAt: '订阅时间',
|
||||
subscribedAtHint: '配额从此日期起每月自动重置',
|
||||
quotaUsage: '用量',
|
||||
proxy: '代理',
|
||||
expiresAt: '过期时间',
|
||||
removeProvider: '删除',
|
||||
daily: '每日',
|
||||
weekly: '每周',
|
||||
monthly: '每月',
|
||||
noProviders: '未配置搜索服务商',
|
||||
test: '测试',
|
||||
testDefaultQuery: '搜索今年世界大事件',
|
||||
testing: '搜索中...',
|
||||
testResultTitle: '搜索结果',
|
||||
testResultProvider: '服务商',
|
||||
testNoResults: '无搜索结果',
|
||||
},
|
||||
site: {
|
||||
title: '站点设置',
|
||||
|
||||
Reference in New Issue
Block a user