From 94a43432fc0eaed3bb37f7cfccef13991512c526 Mon Sep 17 00:00:00 2001 From: LiJinHui <166460433+stu-rgsze@users.noreply.github.com> Date: Sat, 15 Nov 2025 09:51:58 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E9=9F=B3=E8=89=B2=E7=9A=84?= =?UTF-8?q?=E5=89=8D=E7=AB=AF=E9=A1=B5=E9=9D=A2=EF=BC=8C=E6=8F=90=E4=BE=9B?= =?UTF-8?q?=E6=9B=B4=E6=96=B9=E4=BE=BF=E7=9A=84=E8=AF=95=E5=90=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xiaozhi/modules/model/dto/VoiceDTO.java | 26 + .../service/impl/TimbreServiceImpl.java | 11 +- main/manager-web/src/views/roleConfig.vue | 630 +++++++++++++----- 3 files changed, 491 insertions(+), 176 deletions(-) diff --git a/main/manager-api/src/main/java/xiaozhi/modules/model/dto/VoiceDTO.java b/main/manager-api/src/main/java/xiaozhi/modules/model/dto/VoiceDTO.java index 25358eb0..fe458689 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/model/dto/VoiceDTO.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/model/dto/VoiceDTO.java @@ -19,4 +19,30 @@ public class VoiceDTO implements Serializable { @Schema(description = "音色名称") private String name; + + @Schema(description = "音频播放地址") + private String voiceDemo; + + // 添加双参数构造函数,保持向后兼容 + public VoiceDTO(String id, String name) { + this.id = id; + this.name = name; + this.voiceDemo = null; + } + + // 为了兼容性,添加其他可能的音频字段别名 + @Schema(hidden = true) + public String getDemoUrl() { + return voiceDemo; + } + + @Schema(hidden = true) + public String getAudioUrl() { + return voiceDemo; + } + + @Schema(hidden = true) + public String getReferenceAudio() { + return voiceDemo; + } } \ No newline at end of file diff --git a/main/manager-api/src/main/java/xiaozhi/modules/timbre/service/impl/TimbreServiceImpl.java b/main/manager-api/src/main/java/xiaozhi/modules/timbre/service/impl/TimbreServiceImpl.java index 8ebb2155..d0b8350c 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/timbre/service/impl/TimbreServiceImpl.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/timbre/service/impl/TimbreServiceImpl.java @@ -133,7 +133,11 @@ public class TimbreServiceImpl extends BaseServiceImpl timbreEntities = new ArrayList<>(); } List voiceDTOs = timbreEntities.stream() - .map(entity -> new VoiceDTO(entity.getId(), entity.getName())) + .map(entity -> { + VoiceDTO dto = new VoiceDTO(entity.getId(), entity.getName()); + dto.setVoiceDemo(entity.getVoiceDemo()); + return dto; + }) .collect(Collectors.toList()); // 获取当前登录用户ID @@ -205,6 +209,9 @@ public class TimbreServiceImpl extends BaseServiceImpl if (list.isEmpty()) { return null; } - return new VoiceDTO(list.get(0).getId(), list.get(0).getName()); + TimbreEntity entity = list.get(0); + VoiceDTO dto = new VoiceDTO(entity.getId(), entity.getName()); + dto.setVoiceDemo(entity.getVoiceDemo()); + return dto; } } \ No newline at end of file diff --git a/main/manager-web/src/views/roleConfig.vue b/main/manager-web/src/views/roleConfig.vue index bc561f94..e99270e4 100644 --- a/main/manager-web/src/views/roleConfig.vue +++ b/main/manager-web/src/views/roleConfig.vue @@ -3,7 +3,7 @@
-

{{ $t('roleConfig.title') }}

+

{{ $t("roleConfig.title") }}

@@ -12,21 +12,21 @@
- +
{{ form.agentName }}
- - {{ $t('roleConfig.restartNotice') }} + + {{ $t("roleConfig.restartNotice") }}
- {{ $t('roleConfig.saveConfig') }} + {{ $t("roleConfig.saveConfig") }} - {{ $t('roleConfig.reset') }} - + {{ + $t("roleConfig.reset") + }} +
@@ -36,97 +36,210 @@
- +
-
+
{{ template.agentName }}
- + - + - - + + - - + +
- - + +
- - + +
- +
- - + +
- +
功能名称: {{ func.name }}
-
+
{{ func.name.charAt(0) }}
- - {{ $t('roleConfig.editFunctions') }} + + {{ $t("roleConfig.editFunctions") }}
-
- - {{ $t('roleConfig.reportText') }} - {{ $t('roleConfig.reportTextVoice') }} +
+ + {{ + $t("roleConfig.reportText") + }} + {{ + $t("roleConfig.reportTextVoice") + }}
- - + + +
+ {{ item.label }} + +
+
@@ -137,19 +250,25 @@
- +
\ No newline at end of file +