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) => { let spark = new SparkMD5.ArrayBuffer() spark.append(file) const md5 = spark.end(false) 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[^>]*>|]*>|<\/?p[^>]*>|<\/?sub>|<\/?sup>|<\/?font[^>]*>|]*>|<\/?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, }