From ce70bc450a2401997bb850f89f3c4dc0a23e0a72 Mon Sep 17 00:00:00 2001
From: zhongshujie <2862698242@qq.com>
Date: 星期五, 05 九月 2025 18:38:13 +0800
Subject: [PATCH] 31 数字化口腔修复技术 整本

---
 src/assets/icons/index.js |   28 ++++++++++++++++++++++++----
 1 files changed, 24 insertions(+), 4 deletions(-)

diff --git a/src/assets/icons/index.js b/src/assets/icons/index.js
index a7af535..ee00fce 100644
--- a/src/assets/icons/index.js
+++ b/src/assets/icons/index.js
@@ -2,9 +2,29 @@
 import svgIcon from "@/components/svgIcon/index.vue";
 Vue.component("svg-icon", svgIcon);
 
-const req = require.context("@/assets/icons/svg", false, /\.svg$/);
+// 淇敼涓哄皢SVG娉ㄥ叆鍒扮埗搴旂敤DOM
+const requireContext = require.context("@/assets/icons/svg", false, /\.svg$/);
 const requireAll = (requireContext) => {
-  // requireContext.keys()鏁版嵁锛歔'./404.svg', './agency.svg', './det.svg', './user.svg']
-  requireContext.keys().map(requireContext);
+  const svgSymbols = requireContext.keys().map(key => {
+    return requireContext(key).default || requireContext(key);
+  });
+
+  // 鍒涘缓SVG sprite瀹瑰櫒
+  const spriteContainer = document.createElement('div');
+  spriteContainer.id = 'svg-sprite-container';
+  spriteContainer.style.display = 'none';
+  
+  // 鏋勫缓SVG sprite
+  const svgSprite = `
+    <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+      ${svgSymbols.join('')}
+    </svg>
+  `;
+  
+  spriteContainer.innerHTML = svgSprite;
+  
+  // 鍏抽敭锛氭敞鍏ュ埌鐖跺簲鐢ㄧ殑body涓�
+  (window.parent || window).document.body.appendChild(spriteContainer);
 };
-requireAll(req);
+
+requireAll(requireContext);

--
Gitblit v1.9.1