优化: 清理无意义注释(走查编号前缀/过时历史标注/死代码注释)
This commit is contained in:
@@ -185,7 +185,7 @@ import type { AiProviderConfig, ModelConfig, Modality, Capability, ProbeSource }
|
||||
import { PROVIDER_PRESETS, CUSTOM_PRESET_ID, findPreset } from './providerPresets'
|
||||
|
||||
// ============================================================
|
||||
// AI 提供商域 — 真实后端 CRUD + F-04c 负载均衡池(enabled / weight)
|
||||
// AI 提供商域 — 真实后端 CRUD + c 负载均衡池(enabled / weight)
|
||||
// ============================================================
|
||||
const { t } = useI18n()
|
||||
|
||||
@@ -200,7 +200,7 @@ async function syncAiStoreProviders() {
|
||||
}
|
||||
|
||||
const emit = defineEmits<{
|
||||
// P0-2: 加 'success'(保存成功绿色 toast)
|
||||
// 加 'success'(保存成功绿色 toast)
|
||||
(e: 'toast', msg: string, type: 'error' | 'warning' | 'info' | 'success'): void
|
||||
(e: 'providers-changed'): void
|
||||
}>()
|
||||
@@ -229,7 +229,7 @@ const providerForm = reactive({
|
||||
// F-01 阶段6:模型拉取 + 列表
|
||||
fetching: false,
|
||||
models: [] as ModelConfig[],
|
||||
// P0-2: 保存失败的持久错误横幅(非自隐 toast)。
|
||||
// 保存失败的持久错误横幅(非自隐 toast)。
|
||||
// toast 3s 自隐易被忽略,保存失败时表单内常驻错误条 + 可操作建议,
|
||||
// 直到下次保存尝试/重开表单才清除。null=无错误。
|
||||
saveError: null as string | null,
|
||||
@@ -401,7 +401,7 @@ function openProviderForm(p?: AiProviderConfig) {
|
||||
providerForm.models = []
|
||||
}
|
||||
providerForm.fetching = false
|
||||
providerForm.saveError = null // P0-2: 重开表单清旧错误横幅
|
||||
providerForm.saveError = null // 重开表单清旧错误横幅
|
||||
providerForm.visible = true
|
||||
// L19/M32: 记初始快照(在 visible=true、字段回填完成后),isFormDirty 据此比对。
|
||||
providerForm.savedSnapshot = formBusinessSnapshot()
|
||||
@@ -426,7 +426,7 @@ function onPresetChange() {
|
||||
}
|
||||
|
||||
/**
|
||||
* 测试连接按钮可用条件(P0-1):
|
||||
* 测试连接按钮可用条件
|
||||
* - baseUrl 必填(无论新建/编辑,表单值都要有)
|
||||
* - 新建态(editId 空):api_key 必填(无已保存配置可沿用)
|
||||
* - 编辑态(editId 有):api_key 可空(留空=沿用已保存密钥)
|
||||
@@ -438,7 +438,7 @@ const canTestConnection = computed(() => {
|
||||
})
|
||||
|
||||
/**
|
||||
* 测试连接并拉取模型列表(P0-1)。
|
||||
* 测试连接并拉取模型列表。
|
||||
* 用**表单当前值**测试(非 DB 值):新建态直接传表单值;编辑态传表单值 + editId,
|
||||
* apiKey 留空时后端从已保存配置沿用密钥。一次性测试不写库。
|
||||
*
|
||||
@@ -486,7 +486,7 @@ async function fetchModels() {
|
||||
}
|
||||
|
||||
/**
|
||||
* P0-2: 把后端返回的错误文本分类成「用户可操作的建议」。
|
||||
* 把后端返回的错误文本分类成「用户可操作的建议」。
|
||||
*
|
||||
* 后端 commands/provider.rs 已对密钥相关失败返回友好中文 Err(含原因+建议),
|
||||
* 这里只做轻量分类挂上"建议下一步",避免裸 Err 文本吓到用户:
|
||||
@@ -526,14 +526,14 @@ async function saveProvider() {
|
||||
defaultModel: providerForm.defaultModel,
|
||||
modelConfigs: providerForm.models,
|
||||
})
|
||||
// P0-2: 成功明确反馈——清错误横幅 + 关表单 + 绿色「已保存」toast
|
||||
// 成功明确反馈——清错误横幅 + 关表单 + 绿色「已保存」toast
|
||||
providerForm.saveError = null
|
||||
providerForm.visible = false
|
||||
providerForm.savedSnapshot = '' // L19: 关表单清快照
|
||||
await loadProviders()
|
||||
emit('toast', t('settings.toastSaved'), 'success')
|
||||
} catch (e) {
|
||||
// P0-2: 失败时①表单保持编辑态(不关)②表单内常驻错误横幅(分类建议,非自隐)
|
||||
// 失败时①表单保持编辑态(不关)②表单内常驻错误横幅(分类建议,非自隐)
|
||||
// ③仍发 error toast(用户视线不在表单时仍可见),双通道确保反馈不被忽略。
|
||||
const raw = errMsg(e)
|
||||
console.error(t('settings.toastSaveFail', { msg: raw }), e)
|
||||
@@ -570,10 +570,10 @@ async function setDefaultProvider(id: string) {
|
||||
}
|
||||
|
||||
// ============================================================
|
||||
// F-260614-04c: 负载均衡池可编辑层(enabled / weight)
|
||||
// c: 负载均衡池可编辑层(enabled / weight)
|
||||
// 卡片即时调 IPC(对齐 syncConcurrencyConfig 模式);落库后后端 reload_provider_caps
|
||||
// 重建 per_provider caps,下条消息即按新配置 acquire。
|
||||
// 不走 saveProvider(全量 INSERT OR REPLACE 会触发 R-PD-1 密钥迁移分支,与 F-04c 轻量 UPDATE 路径冲突)。
|
||||
// 不走 saveProvider(全量 INSERT OR REPLACE 会触发 R-PD-1 密钥迁移分支,与 c 轻量 UPDATE 路径冲突)。
|
||||
// ============================================================
|
||||
let _poolTimer: ReturnType<typeof setTimeout> | null = null
|
||||
|
||||
@@ -693,7 +693,7 @@ onMounted(loadProviders)
|
||||
}
|
||||
.detail-value.mask { color: var(--df-text-dim); letter-spacing: 1px; }
|
||||
|
||||
/* Provider 卡片 disabled 态(F-260614-04c:enabled=false 视觉弱化) */
|
||||
/* Provider 卡片 disabled 态(c:enabled=false 视觉弱化) */
|
||||
.provider-card--disabled { opacity: 0.6; }
|
||||
.pool-badge {
|
||||
font-size: 10px;
|
||||
@@ -718,7 +718,7 @@ onMounted(loadProviders)
|
||||
.form-field-hint { flex-basis: 100%; margin-left: 82px; font-size: 11px; color: var(--df-text-dim); line-height: 1.5; }
|
||||
.form-actions { display: flex; justify-content: flex-end; padding-top: 4px; }
|
||||
|
||||
/* P0-2: 保存失败持久错误横幅(常驻 form-actions 上方,醒目于自隐 toast) */
|
||||
/* 保存失败持久错误横幅(常驻 form-actions 上方,醒目于自隐 toast) */
|
||||
.save-error-banner {
|
||||
background: var(--df-danger-bg);
|
||||
border: 0.5px solid var(--df-danger);
|
||||
|
||||
Reference in New Issue
Block a user