From 2882d1cae514b58a43e03a6708f76ddfec7c2b26 Mon Sep 17 00:00:00 2001
From: rd <1344903914@qq.com>
Date: Mon, 7 Jul 2025 15:02:04 +0800
Subject: [PATCH] =?UTF-8?q?perf:=20menu=20svg=E5=9B=BE=E6=A0=87=E6=9B=BF?=
=?UTF-8?q?=E6=8D=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/assets/svg/icon-intelligentSolution.svg | 3 +++
src/assets/svg/icon-mediaAccount.svg | 3 +++
src/assets/svg/icon-putAccount.svg | 3 +++
src/assets/svg/icon-repository.svg | 3 +++
src/components/_base/menu/index.vue | 26 ++++++++++++++++++-
.../routes/modules/propertyMarketing.ts | 14 ++++++----
src/router/typeings.d.ts | 2 +-
7 files changed, 47 insertions(+), 7 deletions(-)
create mode 100644 src/assets/svg/icon-intelligentSolution.svg
create mode 100644 src/assets/svg/icon-mediaAccount.svg
create mode 100644 src/assets/svg/icon-putAccount.svg
create mode 100644 src/assets/svg/icon-repository.svg
diff --git a/src/assets/svg/icon-intelligentSolution.svg b/src/assets/svg/icon-intelligentSolution.svg
new file mode 100644
index 0000000..d92d7ec
--- /dev/null
+++ b/src/assets/svg/icon-intelligentSolution.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/src/assets/svg/icon-mediaAccount.svg b/src/assets/svg/icon-mediaAccount.svg
new file mode 100644
index 0000000..c97d96f
--- /dev/null
+++ b/src/assets/svg/icon-mediaAccount.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/src/assets/svg/icon-putAccount.svg b/src/assets/svg/icon-putAccount.svg
new file mode 100644
index 0000000..0228b70
--- /dev/null
+++ b/src/assets/svg/icon-putAccount.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/src/assets/svg/icon-repository.svg b/src/assets/svg/icon-repository.svg
new file mode 100644
index 0000000..bb76562
--- /dev/null
+++ b/src/assets/svg/icon-repository.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/src/components/_base/menu/index.vue b/src/components/_base/menu/index.vue
index 9714392..4a200a1 100644
--- a/src/components/_base/menu/index.vue
+++ b/src/components/_base/menu/index.vue
@@ -87,7 +87,31 @@ export default defineComponent({
// 跳过没有 name 的菜单项,防止 key 报错
if (!element?.name) return;
- const icon = element?.meta?.icon ? () => h(element?.meta?.icon as object) : null;
+ console.log({ icon: element?.meta?.icon });
+ // const icon element?.meta?.icon
+ const icon = element?.meta?.icon
+ ? (() => {
+ if (typeof element.meta.icon === 'string') {
+ return h(
+ 'svg',
+ {
+ style: {
+ width: '16px',
+ height: '16px',
+ },
+ },
+ [
+ h('use', {
+ 'xlink:href': element.meta.icon,
+ }),
+ ],
+ );
+ } else {
+ // 如果是对象,按原来的方式渲染
+ return h(element.meta.icon as object);
+ }
+ })()
+ : null;
if (element.children && element.children.length > 0) {
nodes.push(