70 lines
1.5 KiB
TypeScript
70 lines
1.5 KiB
TypeScript
import { type Activate } from '@/api/activate/interface'
|
|
|
|
export type LayoutType = 'vertical' | 'classic' | 'transverse' | 'columns'
|
|
|
|
export type AssemblySizeType = 'large' | 'default' | 'small'
|
|
|
|
export type LanguageType = 'zh' | 'en' | null
|
|
|
|
/* GlobalState */
|
|
export interface GlobalState {
|
|
layout: LayoutType
|
|
assemblySize: AssemblySizeType
|
|
language: LanguageType
|
|
maximize: boolean
|
|
primary: string
|
|
isDark: boolean
|
|
isGrey: boolean
|
|
isWeak: boolean
|
|
asideInverted: boolean
|
|
headerInverted: boolean
|
|
isCollapse: boolean
|
|
accordion: boolean
|
|
breadcrumb: boolean
|
|
breadcrumbIcon: boolean
|
|
tabs: boolean
|
|
tabsIcon: boolean
|
|
footer: boolean
|
|
}
|
|
|
|
/* UserState */
|
|
export interface UserState {
|
|
accessToken: string
|
|
refreshToken: string
|
|
isRefreshToken: boolean
|
|
exp: number
|
|
userInfo: { id: string; name: string; loginName: string }
|
|
}
|
|
|
|
/* tabsMenuProps */
|
|
export interface TabsMenuProps {
|
|
icon: string
|
|
title: string
|
|
path: string
|
|
name: string
|
|
close: boolean
|
|
isKeepAlive: boolean
|
|
unshift?: boolean
|
|
}
|
|
|
|
/* TabsState */
|
|
export interface TabsState {
|
|
tabsMenuList: TabsMenuProps[]
|
|
}
|
|
|
|
/* AuthState */
|
|
export interface AuthState {
|
|
routeName: string
|
|
authButtonList: {
|
|
[key: string]: string[]
|
|
}
|
|
authMenuList: Menu.MenuOptions[]
|
|
showMenuFlag: boolean
|
|
activateInfo: Activate.ActivationCodePlaintext
|
|
}
|
|
|
|
/* KeepAliveState */
|
|
export interface KeepAliveState {
|
|
keepAliveName: string[]
|
|
}
|