From 0f7096a167408a8ad09f1fa7f3537749b8e2ff70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=82=A0=E9=9D=99=E8=90=9D=E8=8E=89?= Date: Sun, 18 Feb 2024 11:10:42 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=B0=86=E4=BB=A3=E7=A0=81=E8=BF=81?= =?UTF-8?q?=E7=A7=BB=E8=87=B3TS=E4=B8=A5=E6=A0=BC=E6=A8=A1=E5=BC=8F=20(#68?= =?UTF-8?q?4)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: 将现有代码迁移至TS严格模式 - 禁止隐匿Any的This * feat: 将代码迁移至TS严格模式 - 启用JS严格模式 和 绑定类型检查 * feat: 移除无用钩子,修改为工具API * feat: 将代码迁移至TS严格模式 - 启用严格函数类型检查 --- package.json | 1 + src/hooks/event/useWindowSizeFn.ts | 34 ------------------- src/layouts/components/FrameContent.vue | 8 +++-- src/layouts/components/Header.vue | 16 +++++---- src/layouts/components/LayoutContent.vue | 2 +- src/layouts/components/SideNav.vue | 4 +-- .../dashboard/base/components/MiddleChart.vue | 2 +- .../base/components/OutputOverview.vue | 2 +- src/pages/dashboard/detail/index.vue | 2 +- src/pages/list/base/index.vue | 2 +- src/pages/list/card/components/DialogForm.vue | 2 +- src/store/modules/setting.ts | 29 ++++++++-------- src/types/interface.d.ts | 10 ------ src/utils/color.ts | 12 +++---- tsconfig.json | 6 +++- 15 files changed, 48 insertions(+), 84 deletions(-) delete mode 100644 src/hooks/event/useWindowSizeFn.ts diff --git a/package.json b/package.json index f75be49..3673697 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,7 @@ "dev:linux": "vite --mode development", "build:test": "vite build --mode test", "build": "vue-tsc --noEmit && vite build --mode release", + "build:type": "vue-tsc --noEmit", "build:site": "vue-tsc --noEmit && vite build --mode site", "preview": "vite preview", "lint": "eslint --ext .vue,.js,.jsx,.ts,.tsx ./ --max-warnings 0", diff --git a/src/hooks/event/useWindowSizeFn.ts b/src/hooks/event/useWindowSizeFn.ts deleted file mode 100644 index 74e92fe..0000000 --- a/src/hooks/event/useWindowSizeFn.ts +++ /dev/null @@ -1,34 +0,0 @@ -import debounce from 'lodash/debounce'; -import { onMounted, onUnmounted } from 'vue'; - -interface WindowSizeOptions { - immediate?: boolean; -} - -interface Fn { - (...arg: T[]): R; -} - -export function useWindowSizeFn(fn: Fn, options?: WindowSizeOptions, wait = 150) { - const handleSize: () => void = debounce(fn, wait); - - const start = () => { - if (options && options.immediate) { - fn(); - } - window.addEventListener('resize', handleSize); - }; - - const stop = () => { - window.removeEventListener('resize', handleSize); - }; - - onMounted(() => { - start(); - }); - - onUnmounted(() => { - stop(); - }); - return [start, stop]; -} diff --git a/src/layouts/components/FrameContent.vue b/src/layouts/components/FrameContent.vue index 5c88928..413f0e6 100644 --- a/src/layouts/components/FrameContent.vue +++ b/src/layouts/components/FrameContent.vue @@ -6,17 +6,19 @@