From cb6cbc4f4017cf6da654274a865d8b352cb30326 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期六, 09 九月 2023 11:42:40 +0800
Subject: [PATCH] !40 优化字典标签支持数组和多标签 Merge pull request !40 from 抓蛙师/ts
---
src/utils/theme.ts | 66 ++++++++++++++++----------------
1 files changed, 33 insertions(+), 33 deletions(-)
diff --git a/src/utils/theme.ts b/src/utils/theme.ts
index 2ec6187..3936248 100644
--- a/src/utils/theme.ts
+++ b/src/utils/theme.ts
@@ -1,52 +1,52 @@
// 澶勭悊涓婚鏍峰紡
export const handleThemeStyle = (theme: string) => {
- document.documentElement.style.setProperty('--el-color-primary', theme);
- for (let i = 1; i <= 9; i++) {
- document.documentElement.style.setProperty(`--el-color-primary-light-${i}`, `${getLightColor(theme, i / 10)}`);
- }
- for (let i = 1; i <= 9; i++) {
- document.documentElement.style.setProperty(`--el-color-primary-dark-${i}`, `${getDarkColor(theme, i / 10)}`);
- }
+ document.documentElement.style.setProperty('--el-color-primary', theme);
+ for (let i = 1; i <= 9; i++) {
+ document.documentElement.style.setProperty(`--el-color-primary-light-${i}`, `${getLightColor(theme, i / 10)}`);
+ }
+ for (let i = 1; i <= 9; i++) {
+ document.documentElement.style.setProperty(`--el-color-primary-dark-${i}`, `${getDarkColor(theme, i / 10)}`);
+ }
};
// hex棰滆壊杞瑀gb棰滆壊
export const hexToRgb = (str: string): string[] => {
- str = str.replace('#', '');
- const hexs = str.match(/../g);
- for (let i = 0; i < 3; i++) {
- if (hexs) {
- hexs[i] = String(parseInt(hexs[i], 16));
- }
- }
- return hexs ? hexs : [];
+ str = str.replace('#', '');
+ const hexs = str.match(/../g);
+ for (let i = 0; i < 3; i++) {
+ if (hexs) {
+ hexs[i] = String(parseInt(hexs[i], 16));
+ }
+ }
+ return hexs ? hexs : [];
};
// rgb棰滆壊杞琀ex棰滆壊
export const rgbToHex = (r: string, g: string, b: string) => {
- const hexs = [Number(r).toString(16), Number(g).toString(16), Number(b).toString(16)];
- for (let i = 0; i < 3; i++) {
- if (hexs[i].length == 1) {
- hexs[i] = `0${hexs[i]}`;
- }
- }
- return `#${hexs.join('')}`;
+ const hexs = [Number(r).toString(16), Number(g).toString(16), Number(b).toString(16)];
+ for (let i = 0; i < 3; i++) {
+ if (hexs[i].length == 1) {
+ hexs[i] = `0${hexs[i]}`;
+ }
+ }
+ return `#${hexs.join('')}`;
};
// 鍙樻祬棰滆壊鍊�
export const getLightColor = (color: string, level: number) => {
- const rgb = hexToRgb(color);
- for (let i = 0; i < 3; i++) {
- const s = (255 - Number(rgb[i])) * level + Number(rgb[i]);
- rgb[i] = String(Math.floor(s));
- }
- return rgbToHex(rgb[0], rgb[1], rgb[2]);
+ const rgb = hexToRgb(color);
+ for (let i = 0; i < 3; i++) {
+ const s = (255 - Number(rgb[i])) * level + Number(rgb[i]);
+ rgb[i] = String(Math.floor(s));
+ }
+ return rgbToHex(rgb[0], rgb[1], rgb[2]);
};
// 鍙樻繁棰滆壊鍊�
export const getDarkColor = (color: string, level: number) => {
- const rgb = hexToRgb(color);
- for (let i = 0; i < 3; i++) {
- rgb[i] = String(Math.floor(Number(rgb[i]) * (1 - level)));
- }
- return rgbToHex(rgb[0], rgb[1], rgb[2]);
+ const rgb = hexToRgb(color);
+ for (let i = 0; i < 3; i++) {
+ rgb[i] = String(Math.floor(Number(rgb[i]) * (1 - level)));
+ }
+ return rgbToHex(rgb[0], rgb[1], rgb[2]);
};
--
Gitblit v1.9.3