import axios from "axios"; import crypto from "crypto-js"; /* * 生成 uuid 字符串 */ export function uuid() { var s: any[] = []; var hexDigits = "0123456789abcdef"; for (var i = 0; i < 36; i++) { s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1); } s[14] = "4"; s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); s[8] = s[13] = s[18] = s[23] = "-"; var uuid = s.join(""); return `${uuid}-${new Date().getTime()}`; } /** * 生成 rgba 数字 * @param rgba rgba 字符串 */ export function rgbaNum(rgba: string) { let val = rgba.match(/(\d(\.\d+)?)+/g); return val; } /** * svg流转换为base64字符串 * * @param url 获取base的路径 */ export function svgTobase64(url: string) { let baseUrl: string = '' return new Promise((relve, res) => { if (url.includes(".svg")) { axios.get(url).then((res) => { if (res.data) { const regexp = /\<\?xml .*\?\>/i, newXml = ''; res.data = res.data.replace(regexp, newXml); if ("' + res.data; } const index = res.data.indexOf('"UTF-8"?>'); const str = res.data.substr(index + 9); const a = crypto.enc.Utf8.parse(str); baseUrl = "data:image/svg+xml;base64," + crypto.enc.Base64.stringify(a); } relve(baseUrl) }).catch((err) => { res(err) }); } else { baseUrl = url; relve(baseUrl) } }) }