mirror of
https://github.com/fantastic-admin/basic.git
synced 2026-10-07 16:28:49 +08:00
feat: v6 pre-release
This commit is contained in:
+24
@@ -0,0 +1,24 @@
|
||||
import type { MenuRecordMainRaw, MenuRecordRaw, RouteMetaRaw, RouteRecordMainRaw, TabbarRecordRaw } from './types'
|
||||
|
||||
declare module 'vue-router' {
|
||||
interface RouteMeta extends RouteMetaRaw {}
|
||||
}
|
||||
|
||||
declare global {
|
||||
namespace Route {
|
||||
interface recordMainRaw extends RouteRecordMainRaw {}
|
||||
}
|
||||
|
||||
namespace Menu {
|
||||
/** 原始 */
|
||||
interface recordRaw extends MenuRecordRaw {}
|
||||
/** 主导航 */
|
||||
interface recordMainRaw extends MenuRecordMainRaw {}
|
||||
}
|
||||
|
||||
namespace Tabbar {
|
||||
interface recordRaw extends TabbarRecordRaw {}
|
||||
}
|
||||
}
|
||||
|
||||
export {}
|
||||
Executable
+7
@@ -0,0 +1,7 @@
|
||||
export type {
|
||||
MenuRecordMainRaw,
|
||||
MenuRecordRaw,
|
||||
RouteMetaRaw,
|
||||
RouteRecordMainRaw,
|
||||
TabbarRecordRaw,
|
||||
} from './types'
|
||||
Executable
+12
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"name": "@fantastic-admin/types",
|
||||
"type": "module",
|
||||
"version": "0.0.0",
|
||||
"exports": {
|
||||
".": "./index.ts",
|
||||
"./global": "./global.d.ts"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"vue-router": "catalog:"
|
||||
}
|
||||
}
|
||||
Executable
+11
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"extends": "../../tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"lib": ["ESNext", "DOM", "DOM.Iterable"]
|
||||
},
|
||||
"include": [
|
||||
"index.ts",
|
||||
"types.ts",
|
||||
"global.d.ts"
|
||||
]
|
||||
}
|
||||
Executable
+126
@@ -0,0 +1,126 @@
|
||||
import type { RouteRecordRaw } from 'vue-router'
|
||||
|
||||
export interface RouteMetaRaw {
|
||||
/**
|
||||
* 权限
|
||||
* @description 路由访问权限,配置为数组时,只需满足一个即可进入
|
||||
* @default undefined
|
||||
* @example
|
||||
* 'news:view' - 访问该路由时,需要具备 news:view 权限
|
||||
* ['news:view', 'news:edit'] - 访问该路由时,需要具备 news:view 或 news:edit 权限
|
||||
*/
|
||||
auth?: string | string[]
|
||||
|
||||
/**
|
||||
* 标题
|
||||
* @description 标题会在导航、标签页、面包屑等需要的展示位置显示
|
||||
* @default undefined
|
||||
* @example
|
||||
* '新闻管理' - 标题为新闻管理
|
||||
*/
|
||||
title?: string | (() => string)
|
||||
|
||||
/**
|
||||
* 图标
|
||||
* @description 导航菜单、标签页等展示区域使用的图标
|
||||
* @default undefined
|
||||
* @example
|
||||
* 'i-ep:lock' - 显示 i-ep:lock 图标
|
||||
*/
|
||||
icon?: string
|
||||
|
||||
/**
|
||||
* 是否在导航菜单中显示
|
||||
* @description 当子导航菜单里没有可展示的导航菜单时,会直接显示父导航菜单
|
||||
* @default true
|
||||
*/
|
||||
menu?: boolean
|
||||
|
||||
/**
|
||||
* 高亮导航菜单
|
||||
* @description 需要设置完整路由地址
|
||||
* @default undefined
|
||||
* @example '/news/list'
|
||||
*/
|
||||
activeMenu?: string
|
||||
|
||||
/**
|
||||
* 是否默认展开
|
||||
* @description 控制该导航菜单是否默认展开
|
||||
* @default false
|
||||
*/
|
||||
expand?: boolean
|
||||
|
||||
/**
|
||||
* 导航排序
|
||||
* @description 数字越大越靠前
|
||||
* @default 0
|
||||
*/
|
||||
sort?: number
|
||||
|
||||
/**
|
||||
* 是否在面包屑中显示
|
||||
* @description 是否在面包屑导航中显示
|
||||
* @default true
|
||||
*/
|
||||
breadcrumb?: boolean
|
||||
|
||||
/**
|
||||
* 保活
|
||||
* @description 根据规则保活当前路由页面
|
||||
* @default undefined
|
||||
* @example
|
||||
* true - 始终保活
|
||||
* 'news' - 访问路由name为news的页面时保活
|
||||
* ['news', 'user'] - 访问路由name为news或user的页面时保活
|
||||
*/
|
||||
keepAlive?: boolean | string | string[]
|
||||
|
||||
/**
|
||||
* 不保活
|
||||
* @description 根据规则不保活当前路由页面
|
||||
* @default undefined
|
||||
* @example
|
||||
* 'news' - 访问路由name为news的页面时不保活
|
||||
* ['news', 'user'] - 访问路由name为news或user的页面时不保活
|
||||
*/
|
||||
noKeepAlive?: string | string[]
|
||||
|
||||
/**
|
||||
* 外部链接
|
||||
* @description 会在浏览器新窗口访问该链接
|
||||
* @default undefined
|
||||
* @example
|
||||
* 'https://fantastic-admin.hurui.me' - 在浏览器新窗口打开 Fantastic-admin 官网
|
||||
*/
|
||||
link?: string
|
||||
|
||||
/**
|
||||
* 是否显示版权
|
||||
* @description 如果不设置,则使用全局配置
|
||||
* @default undefined
|
||||
*/
|
||||
copyright?: boolean
|
||||
}
|
||||
|
||||
export interface RouteRecordMainRaw {
|
||||
meta?: Pick<RouteMetaRaw, 'auth' | 'title' | 'icon' | 'sort'>
|
||||
children: RouteRecordRaw[]
|
||||
}
|
||||
|
||||
export interface MenuRecordRaw {
|
||||
path?: string
|
||||
meta?: Pick<RouteMetaRaw, 'auth' | 'title' | 'icon' | 'menu' | 'expand' | 'link'>
|
||||
children?: MenuRecordRaw[]
|
||||
}
|
||||
|
||||
export interface MenuRecordMainRaw {
|
||||
meta?: Pick<RouteMetaRaw, 'auth' | 'title' | 'icon'>
|
||||
children: MenuRecordRaw[]
|
||||
}
|
||||
|
||||
export interface TabbarRecordRaw extends Pick<RouteMetaRaw, 'title' | 'icon' | 'activeMenu'> {
|
||||
tabId: string
|
||||
fullPath: string
|
||||
name: string[]
|
||||
}
|
||||
Reference in New Issue
Block a user