From d9b19600304227a8471ac9aac65af31aa1b8e113 Mon Sep 17 00:00:00 2001 From: vben Date: Thu, 12 Nov 2020 22:40:16 +0800 Subject: [PATCH] refactor(hooks): introduce vueuse, delete duplicate hooks --- CHANGELOG.zh_CN.md | 6 ++ package.json | 1 + src/App.vue | 4 +- src/components/Breadcrumb/BreadcrumbItem.vue | 4 +- .../Container/src/LazyContainer.vue | 7 +- .../src/collapse/CollapseContainer.vue | 5 +- src/components/CountTo/src/index.vue | 4 +- src/components/Modal/src/Modal.tsx | 4 +- src/components/Modal/src/ModalWrapper.tsx | 14 +-- src/components/Table/src/BasicTable.vue | 4 +- .../Table/src/hooks/useDataSource.ts | 4 +- .../Table/src/hooks/useTableScroll.ts | 13 +-- src/components/Verify/src/DragVerify.tsx | 8 +- src/components/Verify/src/ImgRotate.tsx | 4 +- src/components/Verify/src/VerifyModal.vue | 4 +- src/components/VirtualScroll/src/index.tsx | 4 +- src/hooks/core/asyncComputed.ts | 56 ----------- src/hooks/core/useCounter.ts | 16 ---- src/hooks/core/useTimeout.ts | 23 ----- src/hooks/core/useTimeoutRef.ts | 24 ----- src/hooks/event/useBreakpoint.ts | 12 +-- src/hooks/event/useEventHub.ts | 10 -- .../{useEvent.ts => useEventListener.ts} | 2 +- src/hooks/event/useIntersectionObserver.ts | 48 ---------- src/hooks/event/useNow.ts | 35 ------- src/hooks/event/useRaf.ts | 95 ------------------- src/hooks/event/useScrollTo.ts | 4 +- .../{useWindowSize.ts => useWindowSizeFn.ts} | 20 ---- src/hooks/state/useGlobalState.ts | 12 --- src/hooks/web/useApexCharts.ts | 4 +- src/hooks/web/useClickOutside.ts | 6 +- src/hooks/web/useCssVar.ts | 40 -------- src/hooks/web/useECharts.ts | 10 +- src/hooks/web/useLocalStorage.ts | 5 - src/hooks/web/useNetWork.ts | 53 ----------- src/hooks/web/useSessionStorage.ts | 5 - src/hooks/web/useTabs.ts | 4 +- src/hooks/web/useTitle.ts | 32 ------- src/hooks/web/useVisibilityState.ts | 20 ---- src/layouts/default/header/LayoutHeader.tsx | 2 +- src/layouts/logo/index.vue | 4 +- src/settings/projectSetting.ts | 3 - src/setup/theme/index.ts | 5 +- src/types/config.d.ts | 2 - src/useApp.ts | 30 ------ src/utils/animation.ts | 51 ++++++++++ src/views/sys/iframe/index.vue | 2 +- yarn.lock | 20 ++++ 48 files changed, 135 insertions(+), 610 deletions(-) delete mode 100644 src/hooks/core/asyncComputed.ts delete mode 100644 src/hooks/core/useCounter.ts delete mode 100644 src/hooks/core/useTimeout.ts delete mode 100644 src/hooks/core/useTimeoutRef.ts delete mode 100644 src/hooks/event/useEventHub.ts rename src/hooks/event/{useEvent.ts => useEventListener.ts} (97%) delete mode 100644 src/hooks/event/useIntersectionObserver.ts delete mode 100644 src/hooks/event/useNow.ts delete mode 100644 src/hooks/event/useRaf.ts rename src/hooks/event/{useWindowSize.ts => useWindowSizeFn.ts} (65%) delete mode 100644 src/hooks/state/useGlobalState.ts delete mode 100644 src/hooks/web/useCssVar.ts delete mode 100644 src/hooks/web/useLocalStorage.ts delete mode 100644 src/hooks/web/useNetWork.ts delete mode 100644 src/hooks/web/useSessionStorage.ts delete mode 100644 src/hooks/web/useTitle.ts delete mode 100644 src/hooks/web/useVisibilityState.ts create mode 100644 src/utils/animation.ts diff --git a/CHANGELOG.zh_CN.md b/CHANGELOG.zh_CN.md index 21327f6a..39e4b57d 100644 --- a/CHANGELOG.zh_CN.md +++ b/CHANGELOG.zh_CN.md @@ -1,5 +1,10 @@ ## Wip +### ✨ Refactor + +- 重构 hook,引入 `@vueuse`,删除其中已有的`hook`,优化现有的 hook +- `useEvent` 更名->`useEventListener` + ### ✨ Features - 表单项的`componentsProps`支持函数类型 @@ -16,6 +21,7 @@ - 修复多个富文本编辑器只显示一个 - 修复登录过期后重新登录未跳转原来页面的 - 修复 window 系统动态引入错误 +- 修复页面类型错误 ## 2.0.0-rc.9 (2020-11-9) diff --git a/package.json b/package.json index 508dc10c..3f006dd1 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ }, "dependencies": { "@iconify/iconify": "^2.0.0-rc.2", + "@vueuse/core": "^4.0.0-beta.40", "ant-design-vue": "^2.0.0-beta.15", "apexcharts": "3.22.0", "axios": "^0.21.0", diff --git a/src/App.vue b/src/App.vue index a76f50b1..edcf4af5 100644 --- a/src/App.vue +++ b/src/App.vue @@ -13,7 +13,7 @@ import moment from 'moment'; import 'moment/dist/locale/zh-cn'; - import { useConfigProvider, useInitAppConfigStore, useListenerNetWork } from './useApp'; + import { useConfigProvider, useInitAppConfigStore } from './useApp'; import { useLockPage } from '/@/hooks/web/useLockPage'; import { useSetting } from '/@/hooks/core/useSetting'; @@ -25,8 +25,6 @@ setup() { // Initialize application settings useInitAppConfigStore(); - // Initialize network monitoring - useListenerNetWork(); // Initialize breakpoint monitoring createBreakpointListen(); // Get system configuration diff --git a/src/components/Breadcrumb/BreadcrumbItem.vue b/src/components/Breadcrumb/BreadcrumbItem.vue index e325c57c..8547df1b 100644 --- a/src/components/Breadcrumb/BreadcrumbItem.vue +++ b/src/components/Breadcrumb/BreadcrumbItem.vue @@ -11,7 +11,7 @@