package com.czg.account.dto.menu;

import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.util.List;

/**
 * @author Administrator
 */
@Data
public class MenuAddDTO {
    /**
     * 菜单类型 0 菜单 1按钮 2接口
     */
    @NotNull(message = "菜单类型不为空")
    @Min(0)
    @Max(2)
    private Integer type;
    /**
     * 图标
     */
    private String icon;
    /**
     * 是否外链
     */
    private byte iFrame = 0;
    /**
     * 是否隐藏
     */
    private byte hidden = 0;
    /**
     * 是否缓存
     */
    private byte cache;
    @NotEmpty(message = "菜单名称不为空")
    private String title;
    /**
     * 链接地址
     */
    private String path;
    /**
     * 组件
     */
    private String component;
    /**
     * 组件名称
     */
    private String name;
    /**
     * 菜单排序
     */
    private Integer menuSort;
    /**
     * 上级菜单，不传递则为顶级菜单
     */
    private Long pid;
    /**
     * 是否选中父级菜单
     */
    private String activeMenu;
    /**
     * 权限表示
     */
    private String permission;
    /**
     * 小程序页面路径
     */
    private String miniPath;
    /**
     * 小程序组件
     */
    private String miniComponent;
    /**
     * 接口路径支持通配符, 多个逗号分割
     */
    private List<MenuApiInfoItemDTO> apiInfo;

    private String miniIcon;
}
