From 66fb7933b792015db09f25ca96b8d43d99cd9b5e Mon Sep 17 00:00:00 2001
From: rainv123 <2148537152@qq.com>
Date: Fri, 17 Oct 2025 17:55:56 +0800
Subject: [PATCH] =?UTF-8?q?update:=E5=A2=9E=E5=8A=A0=E9=9F=B3=E8=89=B2?=
=?UTF-8?q?=E5=85=8B=E9=9A=86=E9=A1=B5=E9=9D=A2=E8=AF=A6=E6=83=85=E6=8C=89?=
=?UTF-8?q?=E9=92=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
main/manager-web/src/i18n/en.js | 1 +
main/manager-web/src/i18n/zh_CN.js | 1 +
main/manager-web/src/i18n/zh_TW.js | 1 +
.../src/views/VoiceCloneManagement.vue | 130 ++++++++++++++++--
4 files changed, 125 insertions(+), 8 deletions(-)
diff --git a/main/manager-web/src/i18n/en.js b/main/manager-web/src/i18n/en.js
index 70e4c96c..77028d69 100644
--- a/main/manager-web/src/i18n/en.js
+++ b/main/manager-web/src/i18n/en.js
@@ -1112,4 +1112,5 @@ export default {
'voiceClone.updateNameSuccess': 'Name updated successfully',
'voiceClone.updateNameFailed': 'Failed to update name',
'voiceClone.playFailed': 'Play failed',
+ 'voiceClone.Details': 'Details',
}
\ No newline at end of file
diff --git a/main/manager-web/src/i18n/zh_CN.js b/main/manager-web/src/i18n/zh_CN.js
index bc8a0d06..c063bb4d 100644
--- a/main/manager-web/src/i18n/zh_CN.js
+++ b/main/manager-web/src/i18n/zh_CN.js
@@ -1112,4 +1112,5 @@ export default {
'voiceClone.updateNameSuccess': '名称更新成功',
'voiceClone.updateNameFailed': '名称更新失败',
'voiceClone.playFailed': '播放失败',
+ 'voiceClone.Details': '详情',
}
\ No newline at end of file
diff --git a/main/manager-web/src/i18n/zh_TW.js b/main/manager-web/src/i18n/zh_TW.js
index 8c05836c..07a82737 100644
--- a/main/manager-web/src/i18n/zh_TW.js
+++ b/main/manager-web/src/i18n/zh_TW.js
@@ -1112,4 +1112,5 @@ export default {
'voiceClone.updateNameSuccess': '名稱更新成功',
'voiceClone.updateNameFailed': '名稱更新失敗',
'voiceClone.playFailed': '播放失敗',
+ 'voiceClone.Details': '詳情',
}
\ No newline at end of file
diff --git a/main/manager-web/src/views/VoiceCloneManagement.vue b/main/manager-web/src/views/VoiceCloneManagement.vue
index f1ce9940..04a4fe19 100644
--- a/main/manager-web/src/views/VoiceCloneManagement.vue
+++ b/main/manager-web/src/views/VoiceCloneManagement.vue
@@ -41,6 +41,17 @@
+
+
+
+
+
+
+
+
+
+
{
console.error('API调用失败:', error);
- this.$message.error('请求失败');
- row._submitting = false;
- this.fetchVoiceCloneList();
+ // 尝试从错误信息中提取状态码
+ let statusCode = null;
+ if (error.message) {
+ const statusMatch = error.message.match(/状态码: (\d+)/);
+ if (statusMatch && statusMatch[1]) {
+ statusCode = parseInt(statusMatch[1]);
+ }
+ }
+ this.updateRowStatus(row, 3, statusCode);
+ this.$message.error('请求失败');
+ row._submitting = false;
+ this.fetchVoiceCloneList();
});
} catch (error) {
console.error('调用API时出错:', error);
+ // 尝试从错误信息中提取状态码
+ let statusCode = null;
+ if (error.message && error.message.includes('状态码: ')) {
+ const statusMatch = error.message.match(/状态码: (\d+)/);
+ if (statusMatch && statusMatch[1]) {
+ statusCode = parseInt(statusMatch[1]);
+ }
+ }
+ this.updateRowStatus(row, 3, statusCode);
this.$message.error('调用API时出错');
row._submitting = false;
this.fetchVoiceCloneList();
@@ -296,15 +399,23 @@ export default {
},
// 更新行状态并触发视图更新
- updateRowStatus(row, status) {
+ updateRowStatus(row, status, statusCode = null) {
// 在Vue中直接修改数组中的对象属性可能不会触发视图更新
- // 找到对应行的索引
const index = this.voiceCloneList.findIndex(item => item.id === row.id);
+ const updateData = {
+ trainStatus: status
+ };
+
+ // 如果提供了状态码,也更新状态码信息
+ if (statusCode !== null) {
+ updateData.statusCode = statusCode;
+ }
+
if (index !== -1) {
// 使用Vue.set来确保响应式更新
this.$set(this.voiceCloneList, index, {
...this.voiceCloneList[index],
- trainStatus: status
+ ...updateData
});
// 强制表格重新渲染
if (this.$refs.paramsTable) {
@@ -313,10 +424,13 @@ export default {
} else {
// 如果找不到索引,直接更新row对象
row.trainStatus = status;
+ if (statusCode !== null) {
+ row.statusCode = statusCode;
+ }
// 强制整个表格重新渲染
this.$forceUpdate();
}
- console.log('更新行状态:', row.id, '状态:', status);
+ console.log('更新行状态:', row.id, '状态:', status, '状态码:', statusCode);
},
// 复刻成功后的回调
handleCloneSuccess() {