package com.gxwebsoft.shop.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * 导航信息视图对象
 * 专门用于前端展示，只包含前端需要的字段
 *
 * @author WebSoft
 * @since 2025-01-12
 */
@Data
@Schema(description = "导航信息视图对象")
public class MenuVo implements Serializable {

    @Schema(description = "导航ID")
    private Integer navigationId;

    @Schema(description = "导航名称")
    private String title;

    @Schema(description = "导航类型")
    private String model;

    @Schema(description = "唯一标识")
    private String code;

    @Schema(description = "路由地址")
    private String path;

    @Schema(description = "导航图标")
    private String icon;

    @Schema(description = "导航颜色")
    private String color;

    @Schema(description = "父级ID")
    private Integer parentId;

    @Schema(description = "排序")
    private Integer sort;

    @Schema(description = "是否隐藏 0显示 1隐藏")
    private Integer hide;

    @Schema(description = "位置 0顶部 1底部")
    private Integer top;

    @Schema(description = "打开方式 0当前窗口 1新窗口")
    private Integer target;

    @Schema(description = "子导航")
    private List<MenuVo> children;
}
