@ued_fpi/data-visual
Version:
<br /> <br /> <div style="text-align:center"> <b style="font-size:30px">@ued_fpi/data-visual</b> <p>基于Vite4+TypeScript的Vue3大屏组件库开发框架</p> <img style="display:inline" src="https://img.shields.io/npm/v/@ued_fpi/data-visual" />
73 lines (70 loc) • 1.89 kB
JavaScript
import { ElMessage } from 'element-plus';
const messageBox = (msg, type) => {
ElMessage({
message: msg,
type: type || "warning",
duration: 2e3
});
};
const errorStatusHandler = (status, message) => {
switch (status) {
case 400:
case 401:
messageBox(`${message} 请重新登录`);
break;
case 403:
messageBox("登录过期,请重新登录");
break;
case 500:
messageBox("服务端错误");
break;
case 502:
messageBox("网络拥堵");
break;
case 404:
messageBox("请求的资源不存在", "error");
break;
}
};
const errorCodeHandler = (code, message) => {
const newCode = Number(code);
console.log(`qpi error code: ${newCode}`);
messageBox(message, "error");
};
const getHexOpacityColor = (color = "#000", opacity = 0.5) => {
opacity = Math.max(opacity, 0);
opacity = Math.min(opacity, 1);
color = color.replace(/\#/g, "").toUpperCase();
if (color.length === 3) {
const arr = color.split("");
color = "";
for (let i = 0; i < arr.length; i++)
color += arr[i] + arr[i];
}
let num = Math.round(255 * opacity);
let str = "";
const arrHex = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"];
while (num > 0) {
const mod = num % 16;
num = (num - mod) / 16;
str = arrHex[mod] + str;
}
if (str.length === 1)
str = `0${str}`;
if (str.length === 0)
str = "00";
return `#${color + str}`;
};
const copyText = (str) => {
const oInput = document.createElement("input");
oInput.value = str;
document.body.appendChild(oInput);
oInput.select();
document.execCommand("Copy");
oInput.className = "oInput";
oInput.style.display = "none";
setTimeout(() => {
oInput.remove();
}, 1e3);
};
export { copyText, errorCodeHandler, errorStatusHandler, getHexOpacityColor, messageBox };