From 5e440a7dc434c43eb828fa62cf9c12b0078b8565 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期一, 20 一月 2025 11:36:18 +0800
Subject: [PATCH] !173 发布 5.3.0-BETA 公测版本 Merge pull request !173 from 疯狂的狮子Li/dev

---
 src/types/module.d.ts |   39 +++++++++++++++++++++++++++++++--------
 1 files changed, 31 insertions(+), 8 deletions(-)

diff --git a/src/types/module.d.ts b/src/types/module.d.ts
index 0e0490e..2fc273a 100644
--- a/src/types/module.d.ts
+++ b/src/types/module.d.ts
@@ -1,11 +1,16 @@
-import type modal from '@/plugins/modal';
-import type tab from '@/plugins/tab';
-import type download from '@/plugins/download';
-import type animate from '@/animate';
-import type { useDict } from '@/utils/dict';
-import type { addDateRange, handleTree, selectDictLabel, selectDictLabels, parseTime } from '@/utils/ruoyi';
-import type { getConfigKey, updateConfigByKey } from '@/api/system/config';
-import type { download as rd } from '@/utils/request';
+import modal from '@/plugins/modal';
+import tab from '@/plugins/tab';
+import download from '@/plugins/download';
+import auth from '@/plugins/auth';
+import cache from '@/plugins/cache';
+import animate from '@/animate';
+import { useDict } from '@/utils/dict';
+import { handleTree, addDateRange, selectDictLabel, selectDictLabels, parseTime } from '@/utils/ruoyi';
+import { getConfigKey, updateConfigByKey } from '@/api/system/config';
+import { download as rd } from '@/utils/request';
+import type { LanguageType } from '@/lang';
+
+export {};
 
 declare module '@vue/runtime-core' {
   interface ComponentCustomProperties {
@@ -13,7 +18,14 @@
     $modal: typeof modal;
     $tab: typeof tab;
     $download: typeof download;
+    $auth: typeof auth;
+    $cache: typeof cache;
     animate: typeof animate;
+    /**
+     * i18n $t鏂规硶鏀寔ts绫诲瀷鎻愮ず
+     * @param key i18n key
+     */
+    $t(key: ObjKeysToUnion<LanguageType>): string;
 
     useDict: typeof useDict;
     addDateRange: typeof addDateRange;
@@ -26,3 +38,14 @@
     parseTime: typeof parseTime;
   }
 }
+
+/**
+ * { a: 1, b: { ba: { baa: 1, bab: 2 }, bb: 2} } ---> a | b.ba.baa | b.ba.bab | b.bb
+ * https://juejin.cn/post/7280062870670606397
+ */
+export type ObjKeysToUnion<T, P extends string = ''> = T extends object
+  ? {
+      [K in keyof T]: ObjKeysToUnion<T[K], P extends '' ? `${K & string}` : `${P}.${K & string}`>;
+    }[keyof T]
+  : P;
+

--
Gitblit v1.9.3