import { ErrorTypeEnum } from '/@/enums/exceptionEnum';

import { MenuModeEnum, MenuTypeEnum } from '/@/enums/menuEnum';

import { RoleInfo } from '/@/api/sys/model/userModel';



// Lock screen information

export interface LockInfo {

  // Password required

  pwd?: string | undefined;

  // Is it locked?

  isLock?: boolean;

}



// Error-log information

export interface ErrorLogInfo {

  // Type of error

  type: ErrorTypeEnum;

  // Error file

  file: string;

  // Error name

  name?: string;

  // Error message

  message: string;

  // Error stack

  stack?: string;

  // Error detail

  detail: string;

  // Error url

  url: string;

  // Error time

  time?: string;

}



export interface UserInfo {

  id: string | number;

  userId: string | number;

  username: string;

  realname: string;

  avatar: string;

  desc?: string;

  homePath?: string;

  tenantid?: string | number;

  roles: RoleInfo[];

  orgCode?: string;

}



export interface LoginInfo {

  multi_depart?: string | number;

  userInfo?: object;

  departs?: [];

  tenantList?: [];

  isLogin?: boolean;

}



export interface BeforeMiniState {

  menuCollapsed?: boolean;

  menuSplit?: boolean;

  menuMode?: MenuModeEnum;

  menuType?: MenuTypeEnum;

}