content: package com.xiliu.server.modules.system.vo;
  
  
  import com.xiliu.common.constant.Constants;
  import io.swagger.annotations.ApiModelProperty;
  import lombok.Data;
  import org.apache.commons.lang3.StringUtils;
  
  /**
   * @author xiliu
   * @description 路由显示信息
   * @date 2022/7/6
   */
  @Data
  public class MetaVo {
  
      /**
       * 设置该路由在侧边栏和面包屑中展示的名字
       */
      @ApiModelProperty(value = "设置该路由在侧边栏和面包屑中展示的名字")
      private String title;
  
      /**
       * 设置该路由的图标，对应路径src/assets/icons/svg
       */
      @ApiModelProperty(value = "设置该路由的图标，对应路径src/assets/icons/svg")
      private String icon;
  
      /**
       * 设置为true，则不会被 <keep-alive>缓存
       */
      @ApiModelProperty(value = "设置为true，则不会被 <keep-alive>缓存")
      private boolean noCache;
  
      /**
       * 内链地址（http(s)://开头）
       */
      @ApiModelProperty(value = "内链地址（http(s)://开头）")
      private String link;
  
      public MetaVo(String title, String icon){
          this.title = title;
          this.icon = icon;
      }
  
      public MetaVo(String title, String icon, String link) {
          this.title = title;
          this.icon = icon;
          this.link = link;
      }
  
  
      public MetaVo(String title, String icon, boolean noCache, String link){
          this.title = title;
          this.icon = icon;
          this.noCache = noCache;
          if (StringUtils.startsWithAny(link, Constants.HTTP, Constants.HTTPS)){
              this.link = link;
          }
      }
  }
  