diff --git a/src/App.vue b/src/App.vue
index 1b7e5f1..02d5ce1 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -9,35 +9,13 @@
-->
-
-
-
-
-
-
-
+
+
+
-
-
-
+
+
@@ -51,6 +29,7 @@ import { $commonService0, testFun } from "@/app-import";
// console.log(useRouter());
const $route = useRoute();
+const router = useRouter(); //用来进行路由跳转
console.log("window.$commonService", window.$commonService);
// 推荐使用 $commonService
@@ -65,11 +44,50 @@ const title = ref("");
// 生命周期
// 组件被挂载时
onMounted(() => {});
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// 获取缓存组件
+const componentNameList: any = ref([]);
+getKeepAlive(router.options.routes as object[]);
+
+// console.log("componentNameList",componentNameList)
+
+function getKeepAlive(routesArr: object[]) {
+ // console.log(routesArr)
+ routesArr.forEach((item: any) => {
+ if (
+ !item.meta ||
+ item.meta.notKeepAlive === undefined ||
+ item.meta.notKeepAlive === false
+ ) {
+ // console.warn('item',item)
+ // console.warn('item.component',item.component)
+ if (item.component) {
+ componentNameList.value.push(
+ getComponentName(item.component.toString())
+ );
+ }
+ }
+ // 是否有子级
+ if (item.children) {
+ getKeepAlive(item.children);
+ }
+ });
+}
+
+// 获取组件名
+function getComponentName(url: string) {
+ const regex = /\/([^\/]+)\.(?=[^\/]*$)/;
+ const match = regex.exec(url); // 执行正则匹配
+ if (match) {
+ const name = match[1]; // 获取第一个捕获组的值
+ return name;
+ }
+ return "";
+}