From d5846fc94573f1c2156230d9cdf2da45e4e12c46 Mon Sep 17 00:00:00 2001 From: gerson <1405270578@qq.com> Date: 星期日, 09 二月 2025 16:43:09 +0800 Subject: [PATCH] 主题对接 --- src/utils/getStyleSheets.ts | 54 +++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 45 insertions(+), 9 deletions(-) diff --git a/src/utils/getStyleSheets.ts b/src/utils/getStyleSheets.ts index e57a073..2b8629a 100644 --- a/src/utils/getStyleSheets.ts +++ b/src/utils/getStyleSheets.ts @@ -1,15 +1,15 @@ -import { nextTick } from 'vue'; import * as svg from '@element-plus/icons-vue'; +import { nextTick } from 'vue'; // 鑾峰彇闃块噷瀛椾綋鍥炬爣 const getAlicdnIconfont = () => { return new Promise((resolve, reject) => { nextTick(() => { const styles: any = document.styleSheets; - let sheetsList = []; - let sheetsIconList = []; + const sheetsList = []; + const sheetsIconList = []; for (let i = 0; i < styles.length; i++) { - if (styles[i].href && styles[i].href.indexOf('at.alicdn.com') > -1) { + if (styles[i].href && styles[i].href.indexOf('iconfont') > -1 && styles[i].href.indexOf('ywiconfont') === -1) { sheetsList.push(styles[i]); } } @@ -17,7 +17,38 @@ for (let j = 0; j < sheetsList[i].cssRules.length; j++) { if (sheetsList[i].cssRules[j].selectorText && sheetsList[i].cssRules[j].selectorText.indexOf('.icon-') > -1) { sheetsIconList.push( - `${sheetsList[i].cssRules[j].selectorText.substring(1, sheetsList[i].cssRules[j].selectorText.length).replace(/\:\:before/gi, '')}` + `${sheetsList[i].cssRules[j].selectorText + .substring(1, sheetsList[i].cssRules[j].selectorText.length) + .replace(/\:\:before/gi, '')}` + ); + } + } + } + if (sheetsIconList.length > 0) resolve(sheetsIconList); + else reject('鏈幏鍙栧埌鍊硷紝璇峰埛鏂伴噸璇�'); + }); + }); +}; + +// 鑾峰彇涔夌淮瀛椾綋鍥炬爣 +const getYwCdnIconfont = () => { + return new Promise((resolve, reject) => { + nextTick(() => { + const styles: any = document.styleSheets; + const sheetsList = []; + const sheetsIconList = []; + for (let i = 0; i < styles.length; i++) { + if (styles[i].href && styles[i].href.indexOf('ywiconfont') > -1) { + sheetsList.push(styles[i]); + } + } + for (let i = 0; i < sheetsList.length; i++) { + for (let j = 0; j < sheetsList[i].cssRules.length; j++) { + if (sheetsList[i].cssRules[j].selectorText && sheetsList[i].cssRules[j].selectorText.indexOf('.icon-') > -1) { + sheetsIconList.push( + `${sheetsList[i].cssRules[j].selectorText + .substring(1, sheetsList[i].cssRules[j].selectorText.length) + .replace(/\:\:before/gi, '')}` ); } } @@ -48,10 +79,10 @@ return new Promise((resolve, reject) => { nextTick(() => { const styles: any = document.styleSheets; - let sheetsList = []; - let sheetsIconList = []; + const sheetsList = []; + const sheetsIconList = []; for (let i = 0; i < styles.length; i++) { - if (styles[i].href && styles[i].href.indexOf('font-awesome') > -1) { + if (styles[i].href && styles[i].href.indexOf('fontawesome') > -1) { sheetsList.push(styles[i]); } } @@ -64,7 +95,9 @@ ) { if (/::before/.test(sheetsList[i].cssRules[j].selectorText)) { sheetsIconList.push( - `${sheetsList[i].cssRules[j].selectorText.substring(1, sheetsList[i].cssRules[j].selectorText.length).replace(/\:\:before/gi, '')}` + `${sheetsList[i].cssRules[j].selectorText + .substring(1, sheetsList[i].cssRules[j].selectorText.length) + .replace(/\:\:before/gi, '')}` ); } } @@ -95,6 +128,9 @@ awe: () => { return getAwesomeIconfont(); }, + yw: () => { + return getYwCdnIconfont(); + }, }; // 瀵煎嚭鏂规硶 -- Gitblit v1.9.3