UNPKG

@cmstops/pro-compo

Version:

[物料平台文档中心](https://arco.design/docs/material/guide)

167 lines (166 loc) 4.91 kB
"use strict"; Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } }); var dayjs = require("dayjs"); var ColorThief = require("colorthief"); var api = require("../imageCrop/script/api.js"); var config = require("../config.js"); function _interopDefaultLegacy(e) { return e && typeof e === "object" && "default" in e ? e : { "default": e }; } var dayjs__default = /* @__PURE__ */ _interopDefaultLegacy(dayjs); var ColorThief__default = /* @__PURE__ */ _interopDefaultLegacy(ColorThief); const dateYYYYDDMMHHmm = (date) => { if (!date) return "--"; return dayjs__default["default"](date).format("YYYY-DD-MM HH:mm"); }; const generateUUID = () => { let d = new Date().getTime(); const uuid = "xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx".replace( /[xy]/g, function(c) { const r = (d + Math.random() * 16) % 16 | 0; d = Math.floor(d / 16); return (c === "x" ? r : r & 3 | 8).toString(16); } ); return uuid; }; const to = (promise, errorExt) => { return promise.then((data) => [null, data]).catch((err) => { if (errorExt) { const parsedError = { ...err, ...errorExt }; return [parsedError, void 0]; } return [err, void 0]; }); }; function replaceSuffix(str, insert) { const reg = /\.[^\.]+$/; const match = str.match(reg); return match ? str.replace(reg, insert + match) : str + insert; } const noCoverText = (item) => { const text = item.alias || item.title || "\u65E0\u56FE"; return text.substring(0, 2); }; const timeFormat = (value) => { if (value === 0) return "--"; if (!value) return "--"; if (typeof value === "number" && String(value).length === 10) { value *= 1e3; } const date = new Date(value); return `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()} ${date.getHours() < 10 ? `0${date.getHours()}` : date.getHours()}:${date.getMinutes() < 10 ? `0${date.getMinutes()}` : date.getMinutes()}`; }; const validateForm = (formRef) => { return new Promise((resolve, reject) => { try { formRef.value.validate((valid) => { if (valid) { resolve(false); } else { resolve(true); } }); } catch (error) { resolve(false); } }); }; function getRealUrl(BASE_API, url) { return new Promise((resove, reject) => { try { const flag = !url.includes("/poplar/v2"); const cape = url.includes("cape/v1/upload"); const extented = !url.includes(BASE_API) && !url.includes(config.DEFAULT_UPLOAD_URL); if (flag || extented || cape) { resove(url); } else { api.getFileRealUrl(BASE_API, url).then((res) => { resove(res.message); }); } } catch (e) { reject(e); } }); } function getThemeColor(BASE_API, src) { return new Promise((resolve, reject) => { const getUrl = getRealUrl(BASE_API, src); getUrl.then((url) => { const colorThief = new ColorThief__default["default"](); const img = document.createElement("img"); img.crossOrigin = "Anonymous"; img.setAttribute("src", `${url}?t=${+new Date()}`); img.onload = () => { let themeColors = []; const getResult = colorThief.getPalette(img); if (getResult) { themeColors = getResult.slice(0, 6); } else { themeColors = [[255, 255, 255]]; } resolve(themeColors); }; img.onerror = (e) => { reject(e); }; }).catch((e) => { reject(e); }); }); } async function copyContent(content) { try { if (typeof content === "string") { const input = document.createElement("input"); input.setAttribute("value", content); document.body.appendChild(input); input.select(); document.execCommand("copy"); document.body.removeChild(input); return true; } if (window.__POWERED_BY_WUJIE__) { await window.parent.navigator.clipboard.write([ new ClipboardItem({ "image/png": content }) ]); } else { await navigator.clipboard.write([ new ClipboardItem({ "image/png": content }) ]); } return true; } catch (e) { return false; } } function mediaTime(v) { const h = Math.floor(v / 3600); const m = Math.floor(v % 3600 / 60); const s = Math.floor(v % 60); let ret = ""; ret += `${h < 10 ? `0${h}` : h}:`; ret += `${m < 10 ? `0${m}` : m}:`; ret += s < 10 ? `0${s}` : s; return ret; } exports.copyContent = copyContent; exports.dateYYYYDDMMHHmm = dateYYYYDDMMHHmm; exports.generateUUID = generateUUID; exports.getRealUrl = getRealUrl; exports.getThemeColor = getThemeColor; exports.mediaTime = mediaTime; exports.noCoverText = noCoverText; exports.replaceSuffix = replaceSuffix; exports.timeFormat = timeFormat; exports.to = to; exports.validateForm = validateForm;