mirror of
https://github.com/m-xlsea/ruoyi-plus-soybean.git
synced 2025-09-24 07:49:47 +08:00
refactor(projects): 重构路由页面组件的导入
This commit is contained in:
40
src/views/system-view/components/ExceptionBase.vue
Normal file
40
src/views/system-view/components/ExceptionBase.vue
Normal 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>
|
Reference in New Issue
Block a user