mirror of
http://112.124.100.131/ebiz-ai/ebiz-ai-knowledge-manage.git
synced 2025-12-09 02:46:50 +08:00
feat(knowledge): 添加下载知识文件模板功能
- task-page.js 1. 添加对应的接口 - request.js 1. 更改校验显示 - preprocessing.vue 实现 下载模板的功能
This commit is contained in:
@@ -21,3 +21,14 @@ export function getRuleList(data = {}) {
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 下载知识文件模板
|
||||
*/
|
||||
export function downloadKnowledgeTemplate() {
|
||||
return request({
|
||||
url: getUrl('/datasetDocumentEx/download'),
|
||||
method: 'get',
|
||||
responseType: 'blob'
|
||||
})
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ service.interceptors.request.use(
|
||||
endLoading()
|
||||
}
|
||||
|
||||
console.log(config.noLoading)
|
||||
// console.log(config.noLoading)
|
||||
//linkage 接口
|
||||
// config.type 可以从api的接口地址定义 可以不触发loading
|
||||
if (config.noLoading != true) {
|
||||
@@ -53,13 +53,18 @@ service.interceptors.response.use(
|
||||
const res = response.data
|
||||
endLoading()
|
||||
|
||||
if (res.content.code) {
|
||||
res.content.result = res.content.code
|
||||
// 检查res.content是否存在,处理blob等特殊响应类型
|
||||
if (res.content) {
|
||||
if (res.content.code) {
|
||||
res.content.result = res.content.code
|
||||
}
|
||||
if (res.content.result) {
|
||||
res.content.code = res.content.result
|
||||
}
|
||||
}
|
||||
if (res.content.result) {
|
||||
res.content.code = res.content.result
|
||||
}
|
||||
if (!res.content) {
|
||||
|
||||
// 只有当res.content不存在且res不是blob时才显示错误
|
||||
if (!res.content && !(response.config.responseType === 'blob')) {
|
||||
Message({
|
||||
message: res.message,
|
||||
type: 'error',
|
||||
@@ -67,13 +72,13 @@ service.interceptors.response.use(
|
||||
})
|
||||
return Promise.reject(res)
|
||||
}
|
||||
if (response.request.responseType == 'blob' || response.request.responseType == 'Blob') {
|
||||
if (response.request.responseType === 'blob' || response.request.responseType === 'Blob') {
|
||||
return response.data
|
||||
}
|
||||
if (res.content.code != '0' && res.content.result != 0) {
|
||||
if (res.content.code !== '0' && res.content.result !== 0) {
|
||||
//500毫秒延迟 显得过度平滑
|
||||
// token过期或失效 根据项目设置其code
|
||||
if (response.headers['content-type'] != 'application/x-zip-compressed') {
|
||||
if (response.headers['content-type'] !== 'application/x-zip-compressed') {
|
||||
if (res.content.code === '4001' || res.content.code === '4002') {
|
||||
MessageBox.confirm('你已被登出,可以取消继续留在该页面,或者重新登录', '确认退出', {
|
||||
confirmButtonText: '重新登录',
|
||||
@@ -93,7 +98,7 @@ service.interceptors.response.use(
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (res.content.code == '1' || res.content.code == '') {
|
||||
if (res.content.code === '1' || res.content.code === '') {
|
||||
Message({
|
||||
message: res.content.resultMessage ? res.content.resultMessage : res.content.message ? res.content.message : '接口错误',
|
||||
type: 'error',
|
||||
|
||||
@@ -46,7 +46,8 @@
|
||||
<el-form-item label="是否进行预处理:" required prop="beMinerU">
|
||||
<template slot="label">
|
||||
是否进行预处理
|
||||
<el-tooltip class="item" effect="dark" content="通过整合最先进的文档解析模型来提高内容提取质量" placement="top">
|
||||
<el-tooltip class="item" effect="dark" content="通过整合最先进的文档解析模型来提高内容提取质量"
|
||||
placement="top">
|
||||
<i class="el-icon-info ml5" style="color: #909399;"></i>
|
||||
</el-tooltip>
|
||||
:
|
||||
@@ -82,7 +83,9 @@
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { uploadFileByCustom, uploadFileByTemplate } from '@/api/generatedApi/index'
|
||||
import { uploadFileByCustom, uploadFileByTemplate } from '@/api/generatedApi'
|
||||
import { downloadKnowledgeTemplate } from '@/api/knowledge/task-page'
|
||||
|
||||
export default {
|
||||
name: 'preprocessing',
|
||||
data() {
|
||||
@@ -110,7 +113,40 @@ export default {
|
||||
getFileType() {
|
||||
this.$emit('getFileType', this.form.radio)
|
||||
},
|
||||
downloadTemplate() {},
|
||||
downloadTemplate() {
|
||||
downloadKnowledgeTemplate().then((res) => {
|
||||
// 创建Blob URL
|
||||
const blob = new Blob([res.data])
|
||||
|
||||
const url = window.URL.createObjectURL(blob)
|
||||
|
||||
console.log(`blob url: `, url)
|
||||
// 创建一个临时a标签并触发点击
|
||||
const link = document.createElement('a')
|
||||
link.href = url
|
||||
|
||||
// 尝试从响应头获取文件名,如果没有则使用默认名称
|
||||
// const contentDisposition = res.headers['content-disposition']
|
||||
// console.log(`content-disposition: `, contentDisposition)
|
||||
let filename = '知识文件模板.pdf'
|
||||
// if (contentDisposition) {
|
||||
// const filenameMatch = contentDisposition.match(/filename="?(.+)"?/)
|
||||
// if (filenameMatch && filenameMatch[1]) {
|
||||
// filename = filenameMatch[1]
|
||||
// }
|
||||
// }
|
||||
|
||||
link.setAttribute('download', filename)
|
||||
document.body.appendChild(link)
|
||||
link.click()
|
||||
|
||||
// 清理
|
||||
window.URL.revokeObjectURL(url)
|
||||
document.body.removeChild(link)
|
||||
}).catch(error => {
|
||||
this.$message.error(error)
|
||||
})
|
||||
},
|
||||
|
||||
// 生成filed
|
||||
createFiled() {
|
||||
@@ -204,8 +240,10 @@ export default {
|
||||
return true
|
||||
}
|
||||
},
|
||||
created() {},
|
||||
mounted() {},
|
||||
created() {
|
||||
},
|
||||
mounted() {
|
||||
},
|
||||
computed: {}
|
||||
}
|
||||
</script>
|
||||
@@ -219,9 +257,11 @@ export default {
|
||||
height: 330px;
|
||||
width: 50%;
|
||||
text-align: center;
|
||||
|
||||
&:hover {
|
||||
border-color: #409eff;
|
||||
}
|
||||
|
||||
&.drag-over {
|
||||
border-color: #409eff;
|
||||
background-color: #ecf5ff;
|
||||
@@ -238,6 +278,7 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#preprocessing-container {
|
||||
}
|
||||
|
||||
@@ -271,6 +312,7 @@ export default {
|
||||
overflow-y: auto;
|
||||
}
|
||||
}
|
||||
|
||||
.dialog-footer {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user