+
@@ -11,6 +11,7 @@
+
+
diff --git a/src/views/customerService/account/component/editAccount.vue b/src/views/customerService/account/component/editAccount.vue
index 1906b15..c7e613b 100644
--- a/src/views/customerService/account/component/editAccount.vue
+++ b/src/views/customerService/account/component/editAccount.vue
@@ -171,7 +171,7 @@ const onSubmit = async () => {
emit('refresh');
} catch (error) {
console.error('操作失败:', error);
- ElMessage.error(state.formData.id ? '修改失败' : '添加失败');
+ // 错误已由请求拦截器统一处理
} finally {
state.loading = false;
}
diff --git a/src/views/customerService/account/component/promptConfig.vue b/src/views/customerService/account/component/promptConfig.vue
index af69cf9..1fa0eaa 100644
--- a/src/views/customerService/account/component/promptConfig.vue
+++ b/src/views/customerService/account/component/promptConfig.vue
@@ -144,10 +144,11 @@ const onSubmit = async () => {
closeDialog();
emit('refresh');
} else {
- ElMessage.error(res.message || '配置失败');
+ // 错误已由请求拦截器统一处理
}
} catch (error: any) {
- ElMessage.error(error.message || '配置失败');
+ console.error('配置失败:', error);
+ // 错误已由请求拦截器统一处理
} finally {
state.loading = false;
}
diff --git a/src/views/customerService/account/index.vue b/src/views/customerService/account/index.vue
index 6f99d8d..f42b91f 100644
--- a/src/views/customerService/account/index.vue
+++ b/src/views/customerService/account/index.vue
@@ -173,7 +173,7 @@ const getList = async () => {
}
} catch (error) {
console.error('获取客服账号列表失败:', error);
- ElMessage.error('获取数据失败');
+ // 错误已由请求拦截器统一处理
tableData.data = [];
tableData.total = 0;
} finally {
@@ -267,7 +267,7 @@ const handleStatusChange = async (row: TableDataItem) => {
return;
}
console.error('状态切换失败:', error);
- ElMessage.error('状态切换失败');
+ // 错误已由请求拦截器统一处理
} finally {
setTimeout(() => {
row.statusLoading = false;
diff --git a/src/views/customerService/product/component/editRole.vue b/src/views/customerService/product/component/editRole.vue
index 06c913e..f77a082 100644
--- a/src/views/customerService/product/component/editRole.vue
+++ b/src/views/customerService/product/component/editRole.vue
@@ -115,7 +115,7 @@ const openDialog = async (row?: ProductFormData) => {
state.isShowDialog = true;
} catch (error) {
console.error('打开对话框失败:', error);
- ElMessage.error('初始化数据失败');
+ // 错误已由请求拦截器统一处理
}
};
@@ -155,7 +155,7 @@ const onCancel = () => {
*/
const onSubmit = async () => {
if (!formRef.value) {
- ElMessage.error('表单引用不存在');
+ console.error('表单引用不存在');
return;
}
@@ -189,7 +189,7 @@ const onSubmit = async () => {
emit('refresh');
} catch (error) {
console.error('提交失败:', error);
- ElMessage.error(state.formData.id === 0 ? '添加失败' : '修改失败');
+ // 错误已由请求拦截器统一处理
} finally {
state.loading = false;
}
diff --git a/src/views/customerService/product/component/exportDialog.vue b/src/views/customerService/product/component/exportDialog.vue
index e440edb..b473acc 100644
--- a/src/views/customerService/product/component/exportDialog.vue
+++ b/src/views/customerService/product/component/exportDialog.vue
@@ -74,7 +74,7 @@ const handleExport = async () => {
isShowDialog.value = false;
} catch (error: any) {
console.error('导出失败:', error);
- ElMessage.error(`导出失败:${error.message || '未知错误'}`);
+ // 错误已由请求拦截器统一处理
} finally {
loading.value = false;
}
diff --git a/src/views/customerService/product/component/importDialog.vue b/src/views/customerService/product/component/importDialog.vue
index 1d2109e..dd69461 100644
--- a/src/views/customerService/product/component/importDialog.vue
+++ b/src/views/customerService/product/component/importDialog.vue
@@ -288,7 +288,7 @@ const handleCustomUpload = async (file: File) => {
success: false,
message: error.message || '导入失败',
};
- ElMessage.error(`导入失败:${error.message || '未知错误'}`);
+ // 错误已由请求拦截器统一处理
}
};
@@ -324,7 +324,8 @@ const handleDownloadTemplate = async () => {
saveAs(zipBlob, filename);
ElMessage.success(`模板下载成功!`);
} catch (error: any) {
- ElMessage.error(`模板下载失败:${error.message || '未知错误'}`);
+ console.error('模板下载失败:', error);
+ // 错误已由请求拦截器统一处理
} finally {
downloadLoading.value = false;
}
@@ -343,7 +344,7 @@ const handleUploadSuccess = (response: any, file: UploadFile, fileList: UploadFi
*/
const handleUploadError = (error: Error, file: UploadFile, fileList: UploadFiles) => {
console.error('上传失败回调', error);
- ElMessage.error('文件上传失败');
+ // 错误已由请求拦截器统一处理
// 手动上传模式下不会执行到这里
};
diff --git a/src/views/customerService/product/index.vue b/src/views/customerService/product/index.vue
index 35ab69a..8b9d0ed 100644
--- a/src/views/customerService/product/index.vue
+++ b/src/views/customerService/product/index.vue
@@ -173,7 +173,7 @@ const getProductList = async () => {
}
} catch (error) {
console.error('获取产品列表失败:', error);
- ElMessage.error('获取产品列表失败');
+ // 错误已由请求拦截器统一处理,此处不再重复提示
} finally {
tableData.loading = false;
}
diff --git a/src/views/customerService/report/component/exportDialog.vue b/src/views/customerService/report/component/exportDialog.vue
index fcba1be..03cfd7d 100644
--- a/src/views/customerService/report/component/exportDialog.vue
+++ b/src/views/customerService/report/component/exportDialog.vue
@@ -74,7 +74,7 @@ const handleExport = async () => {
isShowDialog.value = false;
} catch (error: any) {
console.error('导出失败:', error);
- ElMessage.error(`导出失败:${error.message || '未知错误'}`);
+ // 错误已由请求拦截器统一处理
} finally {
loading.value = false;
}
diff --git a/src/views/customerService/report/index.vue b/src/views/customerService/report/index.vue
index a27b439..ee8ccab 100644
--- a/src/views/customerService/report/index.vue
+++ b/src/views/customerService/report/index.vue
@@ -201,7 +201,7 @@ const dataList = async () => {
tableData.total = res.data.total;
} catch (error) {
console.error('获取数据失败:', error);
- ElMessage.error('获取数据失败');
+ // 错误已由请求拦截器统一处理
} finally {
tableData.loading = false;
}
diff --git a/src/views/customerService/script/component/editRole.vue b/src/views/customerService/script/component/editRole.vue
index b0f66cd..02a96cf 100644
--- a/src/views/customerService/script/component/editRole.vue
+++ b/src/views/customerService/script/component/editRole.vue
@@ -162,7 +162,7 @@ const onSubmit = async () => {
emit('refresh');
} catch (error) {
console.error('提交失败:', error);
- ElMessage.error('操作失败');
+ // 错误已由请求拦截器统一处理
} finally {
state.loading = false;
}
diff --git a/src/views/customerService/script/index.vue b/src/views/customerService/script/index.vue
index d4dc424..7d7e0df 100644
--- a/src/views/customerService/script/index.vue
+++ b/src/views/customerService/script/index.vue
@@ -197,7 +197,7 @@ const loadTableData = async () => {
tableData.total = total;
} catch (error) {
console.error('加载数据失败:', error);
- ElMessage.error('数据加载失败');
+ // 错误已由请求拦截器统一处理
tableData.data = [];
tableData.total = 0;
} finally {
@@ -238,7 +238,7 @@ const handleDelete = async (row: ScriptItem) => {
} catch (error) {
if (error !== 'cancel') {
console.error('删除失败:', error);
- ElMessage.error('删除失败');
+ // 错误已由请求拦截器统一处理
}
}
};
diff --git a/src/views/digitalHuman/audioAssets/index.vue b/src/views/digitalHuman/audioAssets/index.vue
new file mode 100644
index 0000000..f373694
--- /dev/null
+++ b/src/views/digitalHuman/audioAssets/index.vue
@@ -0,0 +1,368 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{ getVoiceTypeLabel(row.voiceType) }}
+
+
+
+
+ {{ formatDuration(row.duration) }}
+
+
+
+
+ {{ formatFileSize(row.fileSize) }}
+
+
+
+
+ {{ row.sampleRate }}Hz
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/digitalHuman/avatar/index.vue b/src/views/digitalHuman/avatar/index.vue
new file mode 100644
index 0000000..7110195
--- /dev/null
+++ b/src/views/digitalHuman/avatar/index.vue
@@ -0,0 +1,340 @@
+
+
+
+
+
+
+
+
+
+
![]()
+
+
+
+
+
+
+
+
{{ item.name }}
+
{{ item.description }}
+
+
+ {{ item.status === 1 ? '启用' : '禁用' }}
+
+ {{ item.type }}
+
+
+ 编辑
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/digitalHuman/videoAssets/index.vue b/src/views/digitalHuman/videoAssets/index.vue
new file mode 100644
index 0000000..1b05a8a
--- /dev/null
+++ b/src/views/digitalHuman/videoAssets/index.vue
@@ -0,0 +1,483 @@
+
+
+
+
+
+
+
+
+
+
![]()
+
{{ formatDuration(item.duration) }}
+
+
+
+
+
+
+
+
{{ item.name }}
+
+
+ {{ getVideoTypeLabel(item.videoType) }}
+
+ {{ formatFileSize(item.fileSize) }}
+
+
+ {{ item.resolution }}
+ {{ item.fps }}fps
+
+
+
+ {{ item.status === 1 ? '启用' : '禁用' }}
+
+
+ 编辑
+ 下载
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
视频预览区域
+
{{ previewVideo?.resolution }} | {{ previewVideo?.fps }}fps | {{ formatDuration(previewVideo?.duration || 0) }}
+
+
+
+
+
+
+
+
+
diff --git a/src/views/system/user/component/editUser.vue b/src/views/system/user/component/editUser.vue
index 7141a76..7cc544a 100644
--- a/src/views/system/user/component/editUser.vue
+++ b/src/views/system/user/component/editUser.vue
@@ -67,13 +67,13 @@
-->
-
+
-
+
+
@@ -95,7 +95,7 @@
-
+
{{ item.name + ' ' }}
@@ -119,8 +119,8 @@
- 修改
- 删除
+ 修改
+ 删除
重置