// ie11 not support browser-md5-file // import MD5 from 'browser-md5-file'; import {numberValue} from '../../wfc/util/longUtil' import IPCEventType from "../../ipcEventType"; const helper = { parseXml: (text, tagName) => { var parser = new window.DOMParser(); var xml = parser.parseFromString(text.replace(/</g, '<').replace(/>/g, '>'), 'text/xml'); var value = {}; tagName = Array.isArray(tagName) ? tagName : [tagName]; tagName.map(e => { value[e] = xml.getElementsByTagName(e)[0].childNodes[0].nodeValue; }); return {xml, value}; }, humanSize: (size) => { var value = (size / 1024).toFixed(1); if (size > (1024 << 10)) { value = (value / 1024).toFixed(1); return `${value} M`; } else { return `${value} KB`; } }, getFiletypeIcon: (extension) => { var filename = 'unknow'; extension = (extension || '').toLowerCase().replace(/^\./, ''); switch (true) { case ['mp3', 'flac', 'aac', 'm4a', 'wma'].includes(extension): filename = 'audio'; break; case ['mp4', 'mkv', 'avi', 'flv'].includes(extension): filename = 'audio'; break; case ['zip', 'rar', 'tar', 'tar.gz'].includes(extension): filename = 'archive'; break; case ['doc', 'docx'].includes(extension): filename = 'word'; break; case ['xls', 'xlsx'].includes(extension): filename = 'excel'; break; case ['ai', 'apk', 'exe', 'ipa', 'pdf', 'ppt', 'psd'].includes(extension): filename = extension; break; default: break; } return `${filename}.png`; }, getPallet: (image) => { return new Promise((resolve, reject) => { new window.AlbumColors(image).getColors((colors, err) => { if (err) { resolve([ [0, 0, 0], [0, 0, 0], [0, 0, 0], ]); } else { resolve(colors); } }); }); }, decodeHTML: (text = '') => { return text.replace(/</g, '<').replace(/>/g, '>').replace(/&/g, '&'); }, escapeHtml: (text) => { return text.replace(/&/g, '&') .replace(//g, '>') // /(^| ) /g 会匹配开头的空格或者前面是空格的空格,并将其替换为前一个匹配到的内容 $1 加上  。 // 这样可以确保前一个字符不是空格的空格保持不变,其他情况下的空格都会被替换为   .replace(/(^| ) /g, "$1 ") .replace(/