Files
pqs-9100_client/frontend/src/stores/interface/index.ts

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[]
}