feat: 语音

This commit is contained in:
2026-02-01 18:35:03 +08:00
parent 646a72de64
commit 003e55dccf
8 changed files with 45 additions and 67 deletions

View File

@@ -1,6 +1,6 @@
<script setup>
import { ref, reactive, computed, onMounted } from 'vue'
import { message, Select } from 'ant-design-vue'
import { message } from 'ant-design-vue'
import TikhubService, { InterfaceType, MethodType, ParamType } from '@/api/tikhub'
import { CommonService } from '@/api/common'
import { UserPromptApi } from '@/api/userPrompt'
@@ -166,7 +166,7 @@ async function handleGenerate() {
}
if (!topicDetails.stylePrompt?.trim()) {
message.warning('请先选择提示词风格')
message.warning('请先选择文案风格')
return
}
@@ -602,11 +602,9 @@ onMounted(async () => {
<!-- 热点标题 -->
<div>
<label class="form-label">热点标题</label>
<input
v-model="topicDetails.title"
type="text"
placeholder="选择左侧热点或手动输入标题"
class="form-input"
<a-input
v-model:value="topicDetails.title"
placeholder="选择左侧热点或手动输入标题"
/>
</div>
@@ -619,18 +617,17 @@ onMounted(async () => {
<span class="analyzing-text">正在分析语音...</span>
</span>
</div>
<textarea
v-model="topicDetails.copywriting"
rows="5"
<a-textarea
v-model:value="topicDetails.copywriting"
:rows="5"
placeholder="输入或AI生成文案内容"
class="form-textarea"
:disabled="isAnalyzing"
></textarea>
/>
</div>
<!-- 风格提示词 -->
<div>
<label class="form-label" style="display: block; margin-bottom: 8px; font-size: 14px; font-weight: 500; color: var(--color-text);">风格提示词</label>
<label class="form-label" style="display: block; margin-bottom: 8px; font-size: 14px; font-weight: 500; color: var(--color-text);">风格</label>
<!-- 使用 PromptSelector 组件 -->
<PromptSelector
@@ -642,10 +639,7 @@ onMounted(async () => {
@update:searchKeyword="promptSearchKeyword = $event"
/>
<!-- 空状态提示 -->
<div v-if="!loadingPrompts && allPrompts.length === 0" class="prompt-empty" style="color: var(--color-text-secondary); font-size: 14px; text-align: center; padding: 20px;">
您可以在视频分析页面保存风格
</div>
</div>
<!-- 生成文案按钮 -->
@@ -760,7 +754,6 @@ onMounted(async () => {
padding: 8px 12px;
font-size: 14px;
color: var(--color-text);
background: var(--color-bg);
border: 1px solid var(--color-border);
border-radius: 6px;
transition: all 0.2s;
@@ -1005,7 +998,6 @@ onMounted(async () => {
width: 100%;
padding: 8px 12px;
color: var(--color-text);
background: var(--color-bg);
border: 1px solid var(--color-border);
border-radius: 6px;
transition: all 0.2s;