import type { PageParam } from '@/api';

/**
 * 应用
 */
export interface App {
  // 应用id
  appId?: number;
  // 应用名称
  appName?: string;
  // 上级id, 0是顶级
  parentId?: number;
  // 应用编号
  appCode?: string;
  // 应用图标
  appIcon?: string;
  // 应用类型
  appType?: string;
  // 菜单类型
  menuType?: number;
  // 应用地址
  appUrl?: string;
  // 下载地址
  downUrl?: string;
  // 应用包名
  packageName?: string;
  // 点击次数
  clicks?: string;
  // 安装次数
  installs?: string;
  // 项目介绍
  content?: string;
  // 开发者(个人)
  developer?: string;
  // 软件定价
  price?: string;
  // 评分
  score?: string;
  // 星级
  star?: string;
  // 菜单组件地址
  component?: string;
  // 菜单路由地址
  path?: string;
  // 权限标识
  authority?: string;
  // 打开位置
  target?: string;
  // 是否隐藏, 0否, 1是(仅注册路由不显示在左侧菜单)
  hide?: number;
  // 菜单侧栏选中的path
  active?: string;
  // 其它路由元信息
  meta?: string;
  // 版本
  edition?: string;
  // 版本号
  version?: string;
  // 是否已安装
  isUse?: number;
  // 排序
  sortNumber?: number;
  // 备注
  comments?: string;
  // 创建时间
  createTime?: string;
  // 状态
  status?: number;
  // 发布者
  userId?: any;
  // 发布者昵称
  nickname?: string;
  // 子菜单
  children?: App[];
  // 权限树回显选中状态, 0未选中, 1选中
  checked?: boolean;
  //
  key?: number;
  //
  value?: number;
  //
  parentIds?: number[];
  //
  openType?: number;
}

/**
 * 应用搜索条件
 */
export interface AppParam extends PageParam {
  appName?: string;
  appCode?: string;
  developer?: string;
  parentId?: number;
}
