前端: Base URL 输入限长 + 列表截断防撑破
- Input 组件支持 maxlength 透传 - 渠道表单 4 个 Base URL 输入框限 255 字符 - 渠道列表 Base URL 单元格截断显示(max-w-220px) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -9,6 +9,7 @@ withDefaults(
|
|||||||
error?: string
|
error?: string
|
||||||
autocomplete?: string
|
autocomplete?: string
|
||||||
disabled?: boolean
|
disabled?: boolean
|
||||||
|
maxlength?: number
|
||||||
}>(),
|
}>(),
|
||||||
{ type: 'text', modelValue: '', disabled: false },
|
{ type: 'text', modelValue: '', disabled: false },
|
||||||
)
|
)
|
||||||
@@ -24,6 +25,7 @@ const emit = defineEmits<{ 'update:modelValue': [string | number] }>()
|
|||||||
:placeholder="placeholder"
|
:placeholder="placeholder"
|
||||||
:autocomplete="autocomplete"
|
:autocomplete="autocomplete"
|
||||||
:disabled="disabled"
|
:disabled="disabled"
|
||||||
|
:maxlength="maxlength"
|
||||||
class="h-10 w-full rounded-md border border-edge2 bg-surface px-3 text-sm text-ink placeholder-muted outline-none transition focus:border-accent focus:ring-2 focus:ring-accent disabled:cursor-not-allowed disabled:opacity-50"
|
class="h-10 w-full rounded-md border border-edge2 bg-surface px-3 text-sm text-ink placeholder-muted outline-none transition focus:border-accent focus:ring-2 focus:ring-accent disabled:cursor-not-allowed disabled:opacity-50"
|
||||||
:class="error && 'border-err focus:border-err focus:ring-err'"
|
:class="error && 'border-err focus:border-err focus:ring-err'"
|
||||||
@input="emit('update:modelValue', ($event.target as HTMLInputElement).value as string | number)"
|
@input="emit('update:modelValue', ($event.target as HTMLInputElement).value as string | number)"
|
||||||
|
|||||||
@@ -222,7 +222,7 @@ onMounted(load)
|
|||||||
>{{ protocolShort(f) }}</code>
|
>{{ protocolShort(f) }}</code>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td class="px-4 py-2.5 font-mono text-xs text-muted">{{ ch.base_url }}</td>
|
<td class="max-w-[220px] truncate px-4 py-2.5 font-mono text-xs text-muted">{{ ch.base_url }}</td>
|
||||||
<td class="px-4 py-2.5 font-mono text-xs text-muted">{{ ch.api_key_masked || '****' }}</td>
|
<td class="px-4 py-2.5 font-mono text-xs text-muted">{{ ch.api_key_masked || '****' }}</td>
|
||||||
<td class="px-4 py-2.5">
|
<td class="px-4 py-2.5">
|
||||||
<Badge :variant="ch.health_status === 'healthy' ? 'ok' : ch.health_status === 'cooldown' ? 'err' : 'warn'">
|
<Badge :variant="ch.health_status === 'healthy' ? 'ok' : ch.health_status === 'cooldown' ? 'err' : 'warn'">
|
||||||
@@ -288,13 +288,14 @@ onMounted(load)
|
|||||||
v-model="form.base_url"
|
v-model="form.base_url"
|
||||||
label="Base URL(可选)"
|
label="Base URL(可选)"
|
||||||
placeholder="https://api.openai.com/v1"
|
placeholder="https://api.openai.com/v1"
|
||||||
|
:maxlength="255"
|
||||||
hint="支持前缀或完整端点,如 https://api.openai.com/v1 或 https://api.openai.com/v1/chat/completions;留空按供应商默认"
|
hint="支持前缀或完整端点,如 https://api.openai.com/v1 或 https://api.openai.com/v1/chat/completions;留空按供应商默认"
|
||||||
/>
|
/>
|
||||||
<div class="space-y-3 rounded-md border border-edge p-3">
|
<div class="space-y-3 rounded-md border border-edge p-3">
|
||||||
<p class="text-xs font-medium text-muted">分协议 Base URL(可选,如智谱三种格式不同)</p>
|
<p class="text-xs font-medium text-muted">分协议 Base URL(可选,如智谱三种格式不同)</p>
|
||||||
<Input v-model="form.base_urls.chat" label="OpenAI Chat Completions" placeholder="留空用主 Base URL" />
|
<Input v-model="form.base_urls.chat" label="OpenAI Chat Completions" placeholder="留空用主 Base URL" :maxlength="255" />
|
||||||
<Input v-model="form.base_urls.responses" label="OpenAI Responses" placeholder="留空用主 Base URL" />
|
<Input v-model="form.base_urls.responses" label="OpenAI Responses" placeholder="留空用主 Base URL" :maxlength="255" />
|
||||||
<Input v-model="form.base_urls.messages" label="Anthropic Messages" placeholder="留空用主 Base URL" />
|
<Input v-model="form.base_urls.messages" label="Anthropic Messages" placeholder="留空用主 Base URL" :maxlength="255" />
|
||||||
<p class="text-xs text-muted">网关按协议选对应 base_url 直通,无需为每种格式建多个渠道</p>
|
<p class="text-xs text-muted">网关按协议选对应 base_url 直通,无需为每种格式建多个渠道</p>
|
||||||
</div>
|
</div>
|
||||||
<Input
|
<Input
|
||||||
|
|||||||
Reference in New Issue
Block a user