From 9d9cb926d2fdd4ba6db1daffdbc6c877a626d813 Mon Sep 17 00:00:00 2001
From: baoshiwei <baoshiwei@shlanbao.cn>
Date: 星期三, 12 三月 2025 09:13:07 +0800
Subject: [PATCH] dev-init

---
 src/types/module.d.ts |   37 ++++++++++++++++++++++++++++++-------
 1 files changed, 30 insertions(+), 7 deletions(-)

diff --git a/src/types/module.d.ts b/src/types/module.d.ts
index b99bc44..2fc273a 100644
--- a/src/types/module.d.ts
+++ b/src/types/module.d.ts
@@ -1,23 +1,35 @@
 import modal from '@/plugins/modal';
 import tab from '@/plugins/tab';
-import { useDict } from '@/utils/dict';
-import { addDateRange, handleTree, selectDictLabel, selectDictLabels, parseTime } from '@/utils/ruoyi';
-import { getConfigKey, updateConfigByKey } from '@/api/system/config';
-import { download as download1 } from '@/utils/request';
 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';
 
-declare module 'vue' {
-  export interface ComponentCustomProperties {
+export {};
+
+declare module '@vue/runtime-core' {
+  interface ComponentCustomProperties {
     // 鍏ㄥ眬鏂规硶澹版槑
     $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;
-    download: typeof download1;
+    download: typeof rd;
     handleTree: typeof handleTree;
     getConfigKey: typeof getConfigKey;
     updateConfigByKey: typeof updateConfigByKey;
@@ -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