refactor(components): 重构AppProvider
This commit is contained in:
parent
195e5b9e57
commit
e70a328284
@ -7,32 +7,16 @@
|
|||||||
:theme-overrides="theme.themeOverrids"
|
:theme-overrides="theme.themeOverrids"
|
||||||
>
|
>
|
||||||
<n-element class="h-full">
|
<n-element class="h-full">
|
||||||
<n-loading-bar-provider>
|
<naive-provider>
|
||||||
<n-dialog-provider>
|
<slot></slot>
|
||||||
<n-notification-provider>
|
</naive-provider>
|
||||||
<n-message-provider>
|
|
||||||
<slot></slot>
|
|
||||||
<app-provider-content />
|
|
||||||
</n-message-provider>
|
|
||||||
</n-notification-provider>
|
|
||||||
</n-dialog-provider>
|
|
||||||
</n-loading-bar-provider>
|
|
||||||
</n-element>
|
</n-element>
|
||||||
</n-config-provider>
|
</n-config-provider>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import {
|
import { NConfigProvider, NElement, zhCN, dateZhCN } from 'naive-ui';
|
||||||
NConfigProvider,
|
import { NaiveProvider } from '@/components';
|
||||||
NElement,
|
|
||||||
NLoadingBarProvider,
|
|
||||||
NDialogProvider,
|
|
||||||
NNotificationProvider,
|
|
||||||
NMessageProvider,
|
|
||||||
zhCN,
|
|
||||||
dateZhCN
|
|
||||||
} from 'naive-ui';
|
|
||||||
import { AppProviderContent } from '@/components';
|
|
||||||
import { useThemeStore } from '@/store';
|
import { useThemeStore } from '@/store';
|
||||||
import { useDarkMode } from '@/composables';
|
import { useDarkMode } from '@/composables';
|
||||||
|
|
||||||
|
@ -6,13 +6,13 @@
|
|||||||
import { useLoadingBar, useDialog, useMessage, useNotification } from 'naive-ui';
|
import { useLoadingBar, useDialog, useMessage, useNotification } from 'naive-ui';
|
||||||
|
|
||||||
// 挂载naive组件的方法至window, 以便在路由钩子函数和请求函数里面调用
|
// 挂载naive组件的方法至window, 以便在路由钩子函数和请求函数里面调用
|
||||||
function registerNaiveUiTools() {
|
function registerNaiveTools() {
|
||||||
window.$loadingBar = useLoadingBar();
|
window.$loadingBar = useLoadingBar();
|
||||||
window.$dialog = useDialog();
|
window.$dialog = useDialog();
|
||||||
window.$message = useMessage();
|
window.$message = useMessage();
|
||||||
window.$notification = useNotification();
|
window.$notification = useNotification();
|
||||||
}
|
}
|
||||||
|
|
||||||
registerNaiveUiTools();
|
registerNaiveTools();
|
||||||
</script>
|
</script>
|
||||||
<style scoped></style>
|
<style scoped></style>
|
3
src/components/common/NaiveProvider/components/index.ts
Normal file
3
src/components/common/NaiveProvider/components/index.ts
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
import NaiveProviderContent from './NaiveProviderContent.vue';
|
||||||
|
|
||||||
|
export { NaiveProviderContent };
|
18
src/components/common/NaiveProvider/index.vue
Normal file
18
src/components/common/NaiveProvider/index.vue
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
<template>
|
||||||
|
<n-loading-bar-provider>
|
||||||
|
<n-dialog-provider>
|
||||||
|
<n-notification-provider>
|
||||||
|
<n-message-provider>
|
||||||
|
<slot></slot>
|
||||||
|
<naive-provider-content />
|
||||||
|
</n-message-provider>
|
||||||
|
</n-notification-provider>
|
||||||
|
</n-dialog-provider>
|
||||||
|
</n-loading-bar-provider>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="ts">
|
||||||
|
import { NLoadingBarProvider, NDialogProvider, NNotificationProvider, NMessageProvider } from 'naive-ui';
|
||||||
|
import { NaiveProviderContent } from './components';
|
||||||
|
</script>
|
||||||
|
<style scoped></style>
|
@ -1,8 +1,8 @@
|
|||||||
import AppProviderContent from './AppProviderContent/index.vue';
|
import NaiveProvider from './NaiveProvider/index.vue';
|
||||||
import SystemLogo from './SystemLogo/index.vue';
|
import SystemLogo from './SystemLogo/index.vue';
|
||||||
import ExceptionSvg from './ExceptionSvg/index.vue';
|
import ExceptionSvg from './ExceptionSvg/index.vue';
|
||||||
import LoginBg from './LoginBg/index.vue';
|
import LoginBg from './LoginBg/index.vue';
|
||||||
import BannerSvg from './BannerSvg/index.vue';
|
import BannerSvg from './BannerSvg/index.vue';
|
||||||
import HoverContainer from './HoverContainer/index.vue';
|
import HoverContainer from './HoverContainer/index.vue';
|
||||||
|
|
||||||
export { AppProviderContent, SystemLogo, ExceptionSvg, LoginBg, BannerSvg, HoverContainer };
|
export { NaiveProvider, SystemLogo, ExceptionSvg, LoginBg, BannerSvg, HoverContainer };
|
||||||
|
Loading…
Reference in New Issue
Block a user