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 | 65 ++++++++++++++++++++++---------- 1 files changed, 44 insertions(+), 21 deletions(-) diff --git a/src/types/module.d.ts b/src/types/module.d.ts index 82ff47f..2fc273a 100644 --- a/src/types/module.d.ts +++ b/src/types/module.d.ts @@ -1,28 +1,51 @@ 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 { - // 鍏ㄥ眬鏂规硶澹版槑 - $modal: typeof modal; - $tab: typeof tab; - $download: typeof download; - animate: typeof animate; +export {}; - useDict: typeof useDict; - addDateRange: typeof addDateRange; - download: typeof download1; - handleTree: typeof handleTree; - getConfigKey: typeof getConfigKey; - updateConfigByKey: typeof updateConfigByKey; - selectDictLabel: typeof selectDictLabel; - selectDictLabels: typeof selectDictLabels; - parseTime: typeof parseTime; - } +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 rd; + handleTree: typeof handleTree; + getConfigKey: typeof getConfigKey; + updateConfigByKey: typeof updateConfigByKey; + selectDictLabel: typeof selectDictLabel; + selectDictLabels: typeof selectDictLabels; + 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