refactor(projects): 重构路由页面组件的导入

This commit is contained in:
Soybean
2022-02-11 16:14:30 +08:00
parent a7a269d6a6
commit e65034d946
31 changed files with 65 additions and 163 deletions

View File

@ -0,0 +1,40 @@
<template>
<div class="flex-col-center wh-full">
<div class="w-400px h-400px text-primary">
<component :is="active" />
</div>
<router-link :to="{ name: routeHomePath }">
<n-button type="primary">回到首页</n-button>
</router-link>
</div>
</template>
<script lang="ts" setup>
import { computed } from 'vue';
import type { Component } from 'vue';
import { NButton } from 'naive-ui';
import { SvgNoPermission, SvgNotFound, SvgServiceError } from '@/components';
import { routeName } from '@/router';
type ExceptionType = '403' | '404' | '500';
interface Props {
/** 异常类型 403 404 500 */
type: ExceptionType;
}
type ExceptionComponent = Record<ExceptionType, Component>;
const props = defineProps<Props>();
const routeHomePath = routeName('root');
const exceptions: ExceptionComponent = {
'403': SvgNoPermission,
'404': SvgNotFound,
'500': SvgServiceError
};
const active = computed(() => exceptions[props.type]);
</script>
<style scoped></style>