// import UUID from './utils/uuid'
import * as Watermark from './Watermark'
import * as WaterMark2PDF from './WaterMark2PDF'
import ruleWatermark from './ruleWatermark'
import { getCaptionFileName, getFileExtension, isBlobUrl, getWatermarkConfig } from './util'
import IS from './is'
/**
* 添加水印
* @param {string} url
* @param {*} pageSelf
* @param {*} watermarkConfig_
* @param {*} isShowWatermark_
* @returns {Object} {}
*/
export const addWatermark = async (url, pageSelf, watermarkConfig_ = { title:'', subtitle:'中雄机密文件禁止外传' },isShowWatermark_= false)=> {
// console.log('######addWatermark 0###################',pageSelf,pageSelf.$enableDefaultRule);
const watermarkConfig = watermarkConfig_
if(!IS.isNullOrUnDef(pageSelf) && pageSelf.$enableDefaultRule == true){
const temp = getWatermarkConfig()
watermarkConfig.title = temp.title
watermarkConfig.subtitle = temp.subtitle
}
//['jpg', 'png', 'jpeg','pdf']
const getFileSuffix = (filePath) => {
if(!filePath){
return ''
}
return getFileExtension(filePath)
// var startIndex = filePath.lastIndexOf(".");
// if (startIndex != -1)
// return filePath.substring(startIndex + 1, filePath.length).toLowerCase();
// else return "";
}
const picFun = async (url) => {
let url_ = url
if(IS.isNullOrUnDef(pageSelf) || pageSelf.$isShowWatermark == true || isShowWatermark_ == true){
const fileData = await Watermark.adddWatermark(url,watermarkConfig)
url_ = Watermark.base64Img2Blob(fileData.base64, window)
}
// return {url:url_,...fileData.fileInfo}
return url_
}
const SuffixList = {
'jpg': picFun,
'png': picFun,
'jpeg': picFun,
"pdf": async (url) => {
// const str = localStorage.getItem('pro__Login_Userinfo')
// const userInfo = str ? JSON.parse(str) : {};
// // console.log('@@@@@@@@@@@@@@@@@@@@@', userInfo.value);
// let WatermarkText = '请勿外传'
// if (userInfo.value) {
// const { phone, realname } = userInfo.value
// if(phone){
// WatermarkText = `${realname} ${phone&&phone.substr(7, 4)}`
// }else{
// WatermarkText = realname
// }
// }
let url_ = url
if(IS.isNullOrUnDef(pageSelf) || pageSelf.$isShowWatermark == true || isShowWatermark_ == true){
url_ = await WaterMark2PDF.addPDFWaterMark(url, { text: watermarkConfig, size: 10 })
}
// 20230327 暂停此功能
return url_
}
}
const res = { url: '', suffix: '', name:'' }
if(isBlobUrl(url)==true){
res.url= url
} else {
const fileSuffix = getFileSuffix(url)
const fileName = getCaptionFileName(url)
res.suffix = fileSuffix
res.name = fileName
if (SuffixList[fileSuffix]) {
const url_ = await SuffixList[fileSuffix](url)
res.url = url_
} else {
res.url = url
}
}
// console.log('添加水印===========》',url,watermarkConfig,pageSelf.$isShowWatermark,isShowWatermark_, res);
return res
}