// 变量名对应含义请在 /stores/* 里边找
import type { RouteRecordRaw, RouteLocationNormalized } from 'vue-router'

export interface Layout {
    showDrawer: boolean
    shrink: boolean
    layoutMode: string
    mainAnimation: string
    isDark: boolean
    menuWidth: number
    menuDefaultIcon: string
    menuCollapse: boolean
    menuUniqueOpened: boolean
    menuShowTopBar: boolean
    elementUiPrimary: string[]
    tableHeaderBackground: string[]
    tableHeaderColor: string[]
    tableCurrent: string[]
    menuBackground: string[]
    menuColor: string[]
    menuActiveBackground: string[]
    menuActiveColor: string[]
    menuTopBarBackground: string[]
    headerBarTabColor: string[]
    headerBarBackground: string[]
    headerBarHoverBackground: string[]
    headerBarTabActiveBackground: string[]
    headerBarTabActiveColor: string[]
}

export interface NavTabs {
    activeIndex: number
    activeRoute: RouteLocationNormalized | null
    tabsView: RouteLocationNormalized[]
    tabFullScreen: boolean
    tabsViewRoutes: RouteRecordRaw[]
    authNode: Map<string, string[]>
}

export interface AdminInfo {
    access_token: string
    token_type: string
    refresh_token: string
    expires_in: number
    scope: string
    nickname: string
    userType: number
    deptIndex: string
    userIndex: string
    client_id: string
    headSculpture: any
    jti: string
    name: string
    deptId: string
    phone: string
    email: string
    limitIpStart: string
    limitIpEnd: string
    limitTime: string
    casualUser: number
    type: number
    smsNotice: number
    emailNotice: number
    role: string[]
    devCode: any
    id: string
    loginName: string
    state: number
    registerTime: string
    loginTime: string
    deptName: string
    areaId: string
    areaName: string
    deptLevel: number
    roleList: string[]
    roleCode: string[]
}

export interface DictData {
    basic: BasicDictData[]
    area: BasicDictData[]
}

export interface BasicDictData {
    name: string
    id: string
    code: string
    value: null
    sort: number | null
    children?: BasicDictData[]
}
