diff --git a/src/components/FileEcho.vue b/src/components/FileEcho.vue index 10c14c73..f070926e 100644 --- a/src/components/FileEcho.vue +++ b/src/components/FileEcho.vue @@ -28,6 +28,7 @@ import { ACCESS_TOKEN } from '../store/mutation-types.js' import { downloadFile, getFileAccessHttpUrl } from '../api/manage.js' import { previewPdf } from '../utils/previewPdf.js' import { Base64 } from 'js-base64' +import { kkFilePreview } from '../utils/kkFilePreview' // 支持预览的文件类型 const CAN_PREVIEW_FILE_TYPE = ['pdf', 'image'] @@ -120,8 +121,7 @@ export default { return } // 其余可预览文件仍使用KKFile进行预览 - const url = `${window._CONFIG.onlinePreviewDomainURL}?url=${encodeURIComponent(Base64.encode(fileFullUrl))}` - window.open(url) + kkFilePreview(fileFullUrl) }, /** * 单个文件的下载功能 diff --git a/src/components/UploadFile.vue b/src/components/UploadFile.vue index a4e19fee..3033f413 100644 --- a/src/components/UploadFile.vue +++ b/src/components/UploadFile.vue @@ -54,6 +54,7 @@ import { downloadFile, getFileAccessHttpUrl } from '@/api/manage' import { getFileInfo } from '@/api/api' import { previewPdf } from '@/utils/previewPdf' import Vue from 'vue' +import { kkFilePreview } from '../utils/kkFilePreview' const FILE_TYPE_ALL = 'all' const FILE_TYPE_IMG = 'image' @@ -327,8 +328,7 @@ export default { return } // 其余可预览文件仍使用KKFile进行预览 - const url = `${window._CONFIG.onlinePreviewDomainURL}?url=${encodeURIComponent(Base64.encode(fileFullUrl))}` - window.open(url) + kkFilePreview(fileFullUrl) }, handleDownload (file) { // 下载文件 diff --git a/src/components/jero/JUpload.vue b/src/components/jero/JUpload.vue index 5e5d8884..8b0346de 100644 --- a/src/components/jero/JUpload.vue +++ b/src/components/jero/JUpload.vue @@ -48,6 +48,7 @@ import { ACCESS_TOKEN } from '@/store/mutation-types' import { getFileAccessHttpUrl, downloadFile } from '@/api/manage' import { getFileInfo } from '@/api/api' import { previewPdf } from '../../utils/previewPdf' +import { kkFilePreview } from '../../utils/kkFilePreview' // eslint-disable-next-line no-undef // const Base64 = require('js-base64').Base64 @@ -459,8 +460,7 @@ export default { return } // 其余可预览文件仍使用KKFile进行预览 - const url = `${window._CONFIG.onlinePreviewDomainURL}?url=${encodeURIComponent(Base64.encode(fileFullUrl))}` - window.open(url) + kkFilePreview(fileFullUrl) }, getFileUrl (fileId) { return `${window._CONFIG.domianURL}/sys/common/download/${fileId}` diff --git a/src/utils/kkFilePreview.js b/src/utils/kkFilePreview.js new file mode 100644 index 00000000..c1a2f9b5 --- /dev/null +++ b/src/utils/kkFilePreview.js @@ -0,0 +1,19 @@ +import Vue from 'vue' +import { USER_INFO } from '../store/mutation-types' +import { Base64 } from 'js-base64' + +const md5 = require('md5') + +/** + * kkFile预览文件并添加水印 + * @param fileUrl + */ +export const kkFilePreview = (fileUrl) => { + const userInfo = Vue.ls.get(USER_INFO) + // 水印内容 + const watermarkTxt = `${userInfo.username} ${userInfo.realname}` + // 客户环境预览需要加的加密参数 + const watermarkSign = md5(watermarkTxt, 'cnhtc') + const url = `${window._CONFIG.onlinePreviewDomainURL}?url=${encodeURIComponent(Base64.encode(fileUrl))}&watermarkTxt=${encodeURIComponent(watermarkTxt)}&watermarkSign=${watermarkSign}` + window.open(url) +} \ No newline at end of file diff --git a/src/views/projectLibrary/specialProjectLibrary/modules/BasisDescriptionModal.vue b/src/views/projectLibrary/specialProjectLibrary/modules/BasisDescriptionModal.vue index 44f0d7d3..6c8c6480 100644 --- a/src/views/projectLibrary/specialProjectLibrary/modules/BasisDescriptionModal.vue +++ b/src/views/projectLibrary/specialProjectLibrary/modules/BasisDescriptionModal.vue @@ -95,6 +95,7 @@ import { ACCESS_TOKEN } from '../../../../store/mutation-types' import { downloadFile, getFileAccessHttpUrl } from '../../../../api/manage' import { previewPdf } from '../../../../utils/previewPdf' import { Base64 } from 'js-base64' +import { kkFilePreview } from '../../../../utils/kkFilePreview' export default { name: 'BasisDescriptionModal', @@ -217,8 +218,7 @@ export default { } // word用KKfile预览 if (canPreview && (fileSuffix === 'doc' || fileSuffix === 'docx')) { - const url = `${window._CONFIG.onlinePreviewDomainURL}?url=${encodeURIComponent(Base64.encode(fileFullUrl))}` - window.open(url) + kkFilePreview(fileFullUrl) return } // 如果都不能预览就下载 diff --git a/src/views/standardRegulationLibrary/commonPage/StandardDetailPage.vue b/src/views/standardRegulationLibrary/commonPage/StandardDetailPage.vue index 7bd5b7ab..a52cf665 100644 --- a/src/views/standardRegulationLibrary/commonPage/StandardDetailPage.vue +++ b/src/views/standardRegulationLibrary/commonPage/StandardDetailPage.vue @@ -139,6 +139,7 @@ import { ACCESS_TOKEN } from '../../../store/mutation-types.js' import { downloadFile, getFileAccessHttpUrl } from '../../../api/manage.js' import { previewPdf } from '../../../utils/previewPdf.js' import { Base64 } from 'js-base64' +import { kkFilePreview } from '../../../utils/kkFilePreview' // 国内标准权限 const DomesticStandardPermission = { @@ -396,8 +397,7 @@ export default { return } // 其余可预览文件仍使用KKFile进行预览 - const url = `${window._CONFIG.onlinePreviewDomainURL}?url=${encodeURIComponent(Base64.encode(fileFullUrl))}` - window.open(url) + kkFilePreview(fileFullUrl) }, /** * 无水印下载