import SparkMD5 from 'spark-md5'
|
import { getPublicImage } from '../js/middleGround/tool.js'
|
// import moment from "moment";
|
|
var tool = {
|
secondToTime(second) {
|
var minute = Math.floor(second / 60)
|
var sec = second % 60
|
var time
|
if (second < 60) {
|
time = second + '"'
|
} else {
|
time = sec === 0 ? minute + "'" : minute + "'" + sec + '"'
|
}
|
return time
|
},
|
setCookie: function (c_name, value, expiredays, path) {
|
var exdate = new Date()
|
exdate.setDate(exdate.getDate() + expiredays)
|
document.cookie =
|
c_name +
|
'=' +
|
escape(value) +
|
(expiredays == null ? '' : ';expires=' + exdate.toGMTString()) +
|
(path ? ';path=' + path : '')
|
},
|
getCookie: function (c_name) {
|
if (document.cookie.length > 0) {
|
var c_start = document.cookie.indexOf(c_name + '=')
|
if (c_start != -1) {
|
c_start = c_start + c_name.length + 1
|
var c_end = document.cookie.indexOf(';', c_start)
|
if (c_end == -1) c_end = document.cookie.length
|
return unescape(document.cookie.substring(c_start, c_end))
|
}
|
}
|
return ''
|
},
|
delCookie: function (name) {
|
var exp = new Date()
|
exp.setTime(exp.getTime() - 1)
|
var cval = tool.getCookie(name)
|
if (cval != null) document.cookie = name + '=' + cval + ';expires=' + exp.toGMTString()
|
},
|
// 强制保留2位小数,如:2,会在2后面补上00.即2.00
|
toDecimal2(x) {
|
var f
|
f = parseFloat(x)
|
if (isNaN(f)) {
|
return false
|
}
|
f = Math.round(x * 100) / 100
|
var s = f.toString()
|
var rs = s.indexOf('.')
|
if (rs < 0) {
|
rs = s.length
|
s += '.'
|
}
|
while (s.length <= rs + 2) {
|
s += '0'
|
}
|
return s
|
},
|
formateTime(date) {
|
var newDate = new Date(+new Date(date) + 8 * 3600 * 1000)
|
.toISOString()
|
.replace(/T/g, ' ')
|
.replace(/\.[\d]{3}Z/, '')
|
var time = new Date(newDate)
|
return time.getTime()
|
}
|
}
|
|
// 处理订单记录
|
// export function setOrderList(res) {
|
// // 获取当前年份的开始时间
|
// let currentTimestamp = moment().startOf("year");
|
// let arr = [];
|
// for (let i = 0; i < res.length; i++) {
|
// const item = res[i];
|
// // 发票状态为审核中或者审核失败,将item选中状态设置选中。
|
// // UI控制禁用(显示的效果为 选中并且禁用)
|
// if (item.invoiceInfo) {
|
// item.checked = true;
|
// } else {
|
// item.checked = false;
|
// }
|
// // 判断是否超出申请发票的日期
|
// item.exceedingTheSpecifiedTime = moment(item.createDate).isBefore(
|
// currentTimestamp
|
// );
|
// if (item.saleMethodLinks.length > 0) {
|
// let itemName = null;
|
// let itemIcon = null;
|
// let cmsItemList = null;
|
// try {
|
// cmsItemList = item.saleMethodLinks[0].orderSaleMethod.cmsItemList[0];
|
// } catch (error) {
|
// cmsItemList = null;
|
// }
|
// if (cmsItemList && cmsItemList.icon) {
|
// itemName = cmsItemList.name;
|
// itemIcon = cmsItemList.icon;
|
// } else {
|
// itemName = item.saleMethodLinks[0].orderSaleMethod.product.name;
|
// itemIcon = item.saleMethodLinks[0].orderSaleMethod.product.icon;
|
// }
|
// item.saleMethodLinks[0].title = itemName;
|
// item.saleMethodLinks[0].icon = getPublicImage(itemIcon);
|
// } else {
|
// const itemIcon = require("@/assets/images/bookCity/place_img.png");
|
// const saleMethodLink = [];
|
// const obj = {
|
// icon: itemIcon,
|
// orderSaleMethod: {
|
// price: item.payPrice,
|
// },
|
// };
|
// saleMethodLink.push(obj);
|
// item.saleMethodLinks = saleMethodLink;
|
// }
|
// if (item.state == "Success") {
|
// item.CustomState = "支付成功";
|
// }
|
// if (item.state == "Cancel") {
|
// item.CustomState = "取消支付";
|
// }
|
// if (item.state == "WaitPay") {
|
// item.CustomState = "等待支付";
|
// }
|
// if (item.state == "WaitDeliver") {
|
// item.CustomState = "正在支付";
|
// }
|
// arr.push(item);
|
// }
|
// return arr;
|
// }
|
|
//处理表单提交数据
|
export function worksData(res) {
|
let arr = []
|
for (let i = 0; i < res.length; i++) {
|
const item = res[i]
|
if (item.typeField) {
|
if (item.typeField.config) {
|
item.typeField.options = JSON.parse(item.typeField.config).option
|
}
|
arr.push(item.typeField)
|
}
|
}
|
return arr
|
}
|
|
export function worksDataBytool(res, value, linkList) {
|
let arr = []
|
let nrr = []
|
if (linkList && linkList.length > 0) {
|
linkList.forEach((e) =>
|
nrr.push({
|
linkProtectType: e.linkProtectType,
|
linkType: e.linkType,
|
md5: e.md5
|
})
|
)
|
}
|
|
res.forEach((item) => {
|
const obj = {
|
baseType: item.typeField.baseType,
|
order: 0,
|
typeFieldId: item.typeField.id,
|
sequenceNum: item.config ? JSON.parse(item.config).uuid : '',
|
newDataAndFileLinkListRequest: []
|
}
|
for (let k in value) {
|
if (item.typeField.refCode === k) {
|
if (item.typeField.type == 'File') {
|
try {
|
obj.strValue = JSON.stringify(value[k].map((citem) => citem.md5))
|
} catch (error) {
|
obj.strValue = ''
|
}
|
obj.newDataAndFileLinkListRequest = nrr
|
} else {
|
if (typeof value[k] == 'object') {
|
obj.strValue = JSON.stringify(value[k])
|
} else {
|
if (obj.baseType === 'String') {
|
obj.strValue = value[k] + ''
|
} else if (obj.baseType === 'Text') {
|
obj.textValue = value[k] + ''
|
} else {
|
obj.strValue = value[k] + ''
|
}
|
}
|
}
|
}
|
}
|
// if (obj.strValue || obj.textValue) {
|
arr.push(obj)
|
// }
|
})
|
return arr
|
}
|
|
export function UpdateworksDataBytool(initData, res, value, linkList) {
|
let arr = [];
|
let newArr = [];
|
for (let i = 0; i < initData.length; i++) {
|
const ele = initData[i];
|
for (let j = 0; j < res.length; j++) {
|
const item = res[j];
|
if (item.sequenceNum == ele.sequenceNum) {
|
item.refCode = ele.typeField.refCode;
|
}
|
}
|
}
|
initData.forEach((citem) => {
|
const updateOldData = res.find((f) => f.sequenceNum == citem.sequenceNum);
|
if (updateOldData) {
|
const obj = {
|
baseType: citem.typeField.baseType,
|
order: 0,
|
id: updateOldData.id,
|
typeFieldId: citem.typeField.id,
|
sequenceNum: citem.sequenceNum,
|
setDataAndFileLinkListRequest: [],
|
};
|
for (let k in value) {
|
if (citem.typeField.refCode === k) {
|
if (typeof value[k] == "object" && k != "region") {
|
obj.strValue = JSON.stringify(linkList);
|
obj.setDataAndFileLinkListRequest = linkList;
|
} else if (typeof value[k] == "object" && k == "region") {
|
obj.strValue = value[k]?.join("/");
|
obj.setDataAndFileLinkListRequest = [{ area: value[k] }];
|
} else {
|
obj.strValue = value[k].toString();
|
}
|
}
|
}
|
if (obj.strValue) {
|
arr.push(obj);
|
}
|
} else {
|
const newObj = {
|
baseType: citem.typeField.baseType,
|
order: 0,
|
typeFieldId: citem.typeField.id,
|
sequenceNum: citem.sequenceNum,
|
setDataAndFileLinkListRequest: [],
|
};
|
for (let k in value) {
|
if (citem.typeField.refCode === k) {
|
if (typeof value[k] == "object") {
|
newObj.strValue = JSON.stringify(linkList);
|
newObj.setDataAndFileLinkListRequest = linkList;
|
} else {
|
newObj.strValue = value[k].toString();
|
}
|
}
|
}
|
if (newObj.strValue) {
|
newArr.push(newObj);
|
}
|
}
|
});
|
return {
|
updateData: arr,
|
newData: newArr,
|
};
|
}
|
|
export function download(url) {
|
const iframe = document.createElement('iframe')
|
iframe.setAttribute('hidden', 'hidden')
|
document.body.appendChild(iframe)
|
iframe.onload = () => {
|
if (iframe) {
|
iframe.setAttribute('src', 'about:blank')
|
}
|
}
|
|
iframe.setAttribute('src', url)
|
}
|
|
/**
|
* 获取一个UUID
|
* @param len
|
* @param radix
|
* @returns {string}
|
*/
|
export function uuid(len = 32, radix = 16) {
|
const chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('')
|
let uuid = [],
|
i
|
radix = radix || chars.length
|
|
if (len) {
|
// Compact form
|
for (i = 0; i < len; i++) uuid[i] = chars[0 | (Math.random() * radix)]
|
} else {
|
// rfc4122, version 4 form
|
let r
|
|
// rfc4122 requires these characters
|
uuid[8] = uuid[13] = uuid[18] = uuid[23] = '-'
|
uuid[14] = '4'
|
|
// Fill in random data. At i==19 set the high bits of clock sequence as
|
// per rfc4122, sec. 4.1.5
|
for (i = 0; i < 36; i++) {
|
if (!uuid[i]) {
|
r = 0 | (Math.random() * 16)
|
uuid[i] = chars[i === 19 ? (r & 0x3) | 0x8 : r]
|
}
|
}
|
}
|
|
return uuid.join('')
|
}
|
|
export function getFileMd5(file) {
|
return new Promise((resolve, reject) => {
|
const md5_reader = new FileReader()
|
md5_reader.readAsArrayBuffer(file.tempFilePath)
|
md5_reader.onload = function (event) {
|
let spark = new SparkMD5.ArrayBuffer()
|
spark.append(event.target.result)
|
var md5 = Spark.end()
|
resolve(md5)
|
}
|
})
|
}
|
|
// 处理时间,用于显示音视频当前时间
|
// export function realFormatSecond(time) {
|
// let duration = parseInt(time);
|
// let minute = parseInt(duration / 60);
|
// let sec = (duration % 60) + "";
|
// let isM0 = ":";
|
// if (minute == 0) {
|
// minute = "00";
|
// } else if (minute < 10) {
|
// minute = "0" + minute;
|
// }
|
// if (sec.length == 1) {
|
// sec = "0" + sec;
|
// }
|
// return minute + isM0 + sec;
|
// }
|
|
// export function parseHtml(content) {
|
// const tagReg =
|
// /<\/?div[^>]*>|<\/?span[^>]*>|<\/?table[^>]*>|<\/?th[^>]*>|<\/?thead>|<\/?tbody>|<\/?tr>|<\/?td[^>]*>|<br[^>]*>|<\/?p[^>]*>|<\/?sub>|<\/?sup>|<\/?font[^>]*>|<img[^>]*>|<\/?a[^>]*>|\n|\\n/gi;
|
// const escapeReg =
|
// /&(lt|gt|le|ge|nbsp|amp|quot|times|Alpha|Beta|Gamma|Delta|Epsilon|Zeta|Eta|Theta|Iota|Kappa|Lambda|MU|NU|Xi|Omicron|Pi|Rho|Sigma|Tau|Upsilon|Phi|Chi|Psi|Omega|alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigmaf|sigma|tau|upsilon|phi|chi|psi|omega|thetasym|upsih|piv|circ|tilde|ndash|permil|lsquo|rsquo|ldquo|rdquo|prime);/gi;
|
// const escapeElements = {
|
// lt: "<",
|
// gt: ">",
|
// le: "≤",
|
// ge: "≥",
|
// nbsp: " ",
|
// amp: "&",
|
// quot: '""',
|
// times: "×",
|
// Alpha: "Α",
|
// Beta: "Β",
|
// Gamma: "Γ",
|
// Delta: "Δ",
|
// Epsilon: "Ε",
|
// Zeta: "Ζ",
|
// Eta: "Η",
|
// Theta: "Θ",
|
// Iota: "Ι",
|
// Kappa: "Κ",
|
// Lambda: "Λ",
|
// Mu: "Μ",
|
// Nu: "Ν",
|
// Xi: "Ξ",
|
// Omicron: "Ο",
|
// Pi: "Π",
|
// Rho: "Ρ",
|
// Sigma: "Σ",
|
// Tau: "Τ",
|
// Upsilon: "Υ",
|
// Phi: "Φ",
|
// Chi: "Χ",
|
// Psi: "Ψ",
|
// Omega: "Ω",
|
// alpha: "α",
|
// beta: "β",
|
// gamma: "γ",
|
// delta: "δ",
|
// epsilon: "ε",
|
// zeta: "ζ",
|
// eta: "η",
|
// theta: "θ",
|
// iota: "ι",
|
// kappa: "κ",
|
// lambda: "λ",
|
// mu: "μ",
|
// nu: "ν",
|
// xi: "ξ",
|
// omicron: "ο",
|
// pi: "π",
|
// rho: "ρ",
|
// sigmaf: "ς",
|
// sigma: "σ",
|
// tau: "τ",
|
// upsilon: "υ",
|
// phi: "φ",
|
// chi: "χ",
|
// psi: "ψ",
|
// omega: "ω",
|
// thetasym: "ϑ",
|
// upsih: "ϒ",
|
// piv: "ϖ",
|
// circ: "ˆ",
|
// tilde: "˜",
|
// ndash: "–",
|
// permil: "‰",
|
// lsquo: "‘",
|
// rsquo: "’",
|
// ldquo: "“",
|
// rdquo: "”",
|
// prime: "′",
|
// };
|
// const contentWithoutTag = content.replace(tagReg, "");
|
// const contentWithOnlyOneSpace = contentWithoutTag.replace(/ {2,}/g, " ");
|
// return contentWithOnlyOneSpace.replace(
|
// escapeReg,
|
// (all, t) => escapeElements[t]
|
// );
|
// }
|
|
export default {
|
...tool,
|
uuid,
|
getFileMd5,
|
worksDataBytool,
|
UpdateworksDataBytool,
|
getPublicImage,
|
worksData
|
// parseHtml,
|
}
|