Forráskód Böngészése

fix(types): fix routing type error #145

vben 4 éve
szülő
commit
b6e5c3f625

+ 1 - 0
CHANGELOG.zh_CN.md

@@ -12,6 +12,7 @@
 - 修复环境变量配置失效以及 history 模式下 logo 地址问题
 - 修复图表库切换页面导致宽高计算错误
 - 修复多语言配置 `Locale.show`导致配置不生效
+- 修复路由类型错误
 
 ## 2.0.0-rc.14 (2020-12-15)
 

+ 4 - 1
src/components/types.ts

@@ -1,3 +1,6 @@
 import { defineComponent } from 'vue';
 
-export type Component = ReturnType<typeof defineComponent>;
+export type Component<T extends any = any> =
+  | ReturnType<typeof defineComponent>
+  | (() => Promise<typeof import('*.vue')>)
+  | (() => Promise<T>);

+ 1 - 1
src/router/helper/menuHelper.ts

@@ -1,4 +1,4 @@
-import { AppRouteModule } from '/@/router/types.d';
+import { AppRouteModule } from '/@/router/types';
 import type { MenuModule, Menu, AppRouteRecordRaw } from '/@/router/types';
 
 import { findPath, forEach, treeMap } from '/@/utils/helper/treeHelper';

+ 1 - 1
src/router/menus/modules/dashboard.ts

@@ -1,4 +1,4 @@
-import type { MenuModule } from '/@/router/types.d';
+import type { MenuModule } from '/@/router/types';
 import { t } from '/@/hooks/web/useI18n';
 
 const menu: MenuModule = {

+ 1 - 1
src/router/menus/modules/demo/charts.ts

@@ -1,4 +1,4 @@
-import type { MenuModule } from '/@/router/types.d';
+import type { MenuModule } from '/@/router/types';
 import { t } from '/@/hooks/web/useI18n';
 
 const menu: MenuModule = {

+ 1 - 1
src/router/menus/modules/demo/comp.ts

@@ -1,4 +1,4 @@
-import type { MenuModule } from '/@/router/types.d';
+import type { MenuModule } from '/@/router/types';
 import { t } from '/@/hooks/web/useI18n';
 
 const menu: MenuModule = {

+ 1 - 1
src/router/menus/modules/demo/excel.ts

@@ -1,4 +1,4 @@
-import type { MenuModule } from '/@/router/types.d';
+import type { MenuModule } from '/@/router/types';
 import { t } from '/@/hooks/web/useI18n';
 
 const menu: MenuModule = {

+ 1 - 1
src/router/menus/modules/demo/feat.ts

@@ -1,4 +1,4 @@
-import type { MenuModule } from '/@/router/types.d';
+import type { MenuModule } from '/@/router/types';
 import { t } from '/@/hooks/web/useI18n';
 
 const menu: MenuModule = {

+ 1 - 1
src/router/menus/modules/demo/iframe.ts

@@ -1,4 +1,4 @@
-import type { MenuModule } from '/@/router/types.d';
+import type { MenuModule } from '/@/router/types';
 import { t } from '/@/hooks/web/useI18n';
 
 const menu: MenuModule = {

+ 1 - 1
src/router/menus/modules/demo/level.ts

@@ -1,4 +1,4 @@
-import type { MenuModule } from '/@/router/types.d';
+import type { MenuModule } from '/@/router/types';
 import { t } from '/@/hooks/web/useI18n';
 
 const menu: MenuModule = {

+ 1 - 1
src/router/menus/modules/demo/page.ts

@@ -1,4 +1,4 @@
-import type { MenuModule } from '/@/router/types.d';
+import type { MenuModule } from '/@/router/types';
 import { t } from '/@/hooks/web/useI18n';
 
 const menu: MenuModule = {

+ 1 - 1
src/router/menus/modules/demo/permission.ts

@@ -1,4 +1,4 @@
-import type { MenuModule } from '/@/router/types.d';
+import type { MenuModule } from '/@/router/types';
 import { t } from '/@/hooks/web/useI18n';
 
 const menu: MenuModule = {

+ 1 - 1
src/router/menus/modules/home.ts

@@ -1,4 +1,4 @@
-import type { MenuModule } from '/@/router/types.d';
+import type { MenuModule } from '/@/router/types';
 import { t } from '/@/hooks/web/useI18n';
 
 const menu: MenuModule = {

+ 4 - 1
src/router/types.d.ts → src/router/types.ts

@@ -1,6 +1,8 @@
 import type { RouteRecordRaw } from 'vue-router';
 import { RoleEnum } from '/@/enums/roleEnum';
-import Component from '/@/components/types';
+
+import type { Component } from '/@/components/types';
+
 export interface RouteMeta {
   // title
   title: string;
@@ -30,6 +32,7 @@ export interface RouteMeta {
   single?: boolean;
 }
 
+// @ts-ignore
 export interface AppRouteRecordRaw extends Omit<RouteRecordRaw, 'meta'> {
   name: string;
   meta: RouteMeta;