fix(assistant): 补齐备用模型重设计缺失的变量声明

上一个 commit (b00c457) 的 edit 只替换了 renderFallbackList 函数体,
漏掉了前置的 5 个变量/函数声明,导致打开设置弹窗时抛错:

  Uncaught ReferenceError: renderPrimaryRow is not defined
      at assistant.js:3428:59
      at Array.forEach
      at showSettings

补齐:
- fallbackPrimaryModelEl (主模型只读行里的 model 显示)
- fallbackPrimaryHostEl  (主模型只读行里的 hostname 显示)
- fallbackPresetsEl      (厂商预设按钮容器)
- hostOf(url)            (从 URL 提取 hostname)
- renderPrimaryRow()     (渲染主模型只读行)

验证:npm run build 通过,settings modal 可正常打开。
This commit is contained in:
晴天
2026-04-20 13:35:35 +08:00
parent b00c457c2b
commit d6cc0e04d3

View File

@@ -3233,6 +3233,22 @@ function showSettings() {
const n = fallbackDrafts.filter(f => f && f.enabled !== false && f.baseUrl && f.model).length
fallbackCountEl.textContent = `${n} ${t('assistant.fallbackEnabledSuffix')}`
}
// #Compat-3: 重设计 —— 极简一行 + 厂商预设快捷添加
const fallbackPrimaryModelEl = overlay.querySelector('#ast-fallback-primary-model')
const fallbackPrimaryHostEl = overlay.querySelector('#ast-fallback-primary-host')
const fallbackPresetsEl = overlay.querySelector('#ast-fallback-presets')
// 从 baseUrl 提取 hostname 用于紧凑显示
const hostOf = (url) => {
try { return new URL(url).host } catch { return url || '' }
}
// 渲染主模型只读行(从当前表单读取,不从 _config
const renderPrimaryRow = () => {
if (!fallbackPrimaryModelEl) return
const model = overlay.querySelector('#ast-model')?.value?.trim() || ''
const base = overlay.querySelector('#ast-baseurl')?.value?.trim() || ''
fallbackPrimaryModelEl.textContent = model || t('assistant.fallbackUnnamedModel')
fallbackPrimaryHostEl.textContent = base ? hostOf(base) : ''
}
const renderFallbackList = () => {
if (!fallbackListEl) return
if (fallbackDrafts.length === 0) {