feat(kol): support multiple platform hints with shared tag renderer
Frontend CI / Frontend (push) Successful in 2m47s
Backend CI / Backend (push) Failing after 6m50s

Turn the KOL prompt platform hint into a multi-select backed by the
media platforms API, persist hints as a 、-joined string, and add a
reusable KolPlatformTags component so manage/generate/package/template/
workspace views and the generate-task drawer all render the hints
consistently with truncation and overflow handling.

Also auto-select the first available subscription prompt in
GenerateTaskDrawer when switching to the subscription-prompt target so
users land on a usable option without an extra click.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-24 01:48:04 +08:00
parent db95b8e4ee
commit 8991edabb5
10 changed files with 322 additions and 57 deletions
+9 -4
View File
@@ -1,6 +1,7 @@
<script setup lang="ts">
import KnowledgeGroupSelect from '@/components/KnowledgeGroupSelect.vue'
import KolDynamicForm from '@/components/kol/KolDynamicForm.vue'
import KolPlatformTags from '@/components/kol/KolPlatformTags.vue'
import { kolGenerateApi } from '@/lib/api'
import { formatError } from '@/lib/errors'
import { parseKolCardConfig } from '@/lib/kol-card-config'
@@ -150,10 +151,14 @@ function handleSubmit() {
{{ schema.package_name }}
<span class="divider">/</span>
{{ schema.prompt_name }}
<a-tag v-if="schema.platform_hint" color="cyan" class="platform-badge">
{{ schema.platform_hint }}
</a-tag>
</h2>
<KolPlatformTags
v-if="schema.platform_hint"
:value="schema.platform_hint"
size="small"
:truncate="false"
class="platform-badge"
/>
<p class="header-eyebrow">{{ t('kol.generate.fillVariables') }}</p>
</div>
</div>
@@ -268,7 +273,7 @@ function handleSubmit() {
}
.platform-badge {
margin-left: 8px;
margin-top: 2px;
}
.header-eyebrow {