feat: add vocechat push #82

This commit is contained in:
duorameng
2026-04-14 22:01:23 +08:00
parent 8e12d15634
commit 73dd6cc4eb
7 changed files with 110 additions and 2 deletions
+7
View File
@@ -117,6 +117,13 @@ const channelConfigFields: Record<string, { key: string; label: string; required
{ key: 'callback_url', label: '回调地址', required: false },
{ key: 'to', label: '好友令牌', required: false },
],
VoceChat: [
{ key: 'server', label: '服务地址', required: true, placeholder: 'https://vocechat.yourdomain.com' },
{ key: 'api_key', label: 'API Key', required: true, placeholder: 'Bot API Key' },
{ key: 'target_id', label: '目标 ID', required: true, placeholder: 'uid 或 gid' },
{ key: 'target_type', label: '目标类型', required: false, placeholder: 'user (默认) / group' },
{ key: 'note', label: '说明', required: false, placeholder: '当前仅支持 text/plain', type: 'note' },
],
}
// 加载数据
@@ -109,14 +109,17 @@ function updateConfigField(key: string, value: string) {
</Label>
<div class="col-span-3">
<Input
v-if="!field.type || field.type !== 'textarea'"
v-if="!field.type"
:model-value="channel.config?.[field.key] || ''"
@update:model-value="updateConfigField(field.key, String($event))"
:placeholder="field.placeholder || ''"
class="text-sm"
/>
<div v-else-if="field.type === 'note'" class="text-xs text-muted-foreground pt-2">
{{ field.placeholder || '' }}
</div>
<textarea
v-else
v-else-if="field.type === 'textarea'"
:value="channel.config?.[field.key] || ''"
@input="(e: Event) => updateConfigField(field.key, (e.target as HTMLTextAreaElement).value)"
:placeholder="field.placeholder || ''"