package cn.pojo.vo;

import com.fasterxml.jackson.annotation.JsonInclude;
import java.util.List;

/**路由配置信息*/
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public class RouterVo {
	/**
	 * 路由对象参数说明
	 *  {
	 *     component:          组件地址
	 *     redirect:           重定向地址，当设置 noRedirect 的时候该路由在面包屑导航中不可被点击
	 *     path:               路由地址
	 *     name:               路由名字
	 *     btnPower:           权限标识(按钮)',
       islink:             是否外链(1 isLink:true 2 链接地址不为空)',
	 *     // 路由meta对象参数说明 MetaVo
	 *     meta: {
	 *      title:          菜单栏及 tagsView 栏、菜单搜索名称
	 *      isLink：        是否超链接菜单，开启外链条件，`1、isLink:true 2、链接地址不为空`
	 *      isHide：        是否隐藏此路由
	 *      isKeepAlive：   是否缓存组件状态
	 *      isAffix：       是否固定在 tagsView 栏上
	 *      isFrame：      是否内嵌窗口，，开启条件，`1、isFrame:true 2、链接地址不为空`
	 *      roles：          当前路由权限标识（多个请用逗号隔开），最后转成数组格式，用于与当前用户权限进行对比，控制路由显示、隐藏
	 *      icon：          菜单、tagsView 图标，阿里：加 `iconfont xxx`，fontawesome：加 `fa xxx`
	 *     }
	 *  }
	 */
	//按钮权限标识
	private String btnPower;
	//是否外链(1 isLink:true 2 链接地址不为空)',
	private String islink;

	/** 路由名字 */
	private String name;

	/**路由地址 */
	private String path;

	/**重定向地址，当设置 noRedirect 的时候该路由在面包屑导航中不可被点击*/
	private String redirect;

	/**组件地址 */
	private String component;

	/**其他元素 */
	private MetaVo meta;

	/*** 子路由*/
	private List<RouterVo> children;
	/**
	 * @return the btnPower
	 */
	public String getBtnPower() {
		return btnPower;
	}

	/**
	 * @param btnPower the btnPower to set
	 */
	public void setBtnPower(String btnPower) {
		this.btnPower = btnPower;
	}

	/**
	 * @return the islink
	 */
	public String getIslink() {
		return islink;
	}

	/**
	 * @param islink the islink to set
	 */
	public void setIslink(String islink) {
		this.islink = islink;
	}

	/**
	 * @return the name
	 */
	public String getName() {
		return name;
	}

	/**
	 * @param name the name to set
	 */
	public void setName(String name) {
		this.name = name;
	}

	/**
	 * @return the path
	 */
	public String getPath() {
		return path;
	}

	/**
	 * @param path the path to set
	 */
	public void setPath(String path) {
		this.path = path;
	}

	/**
	 * @return the redirect
	 */
	public String getRedirect() {
		return redirect;
	}

	/**
	 * @param redirect the redirect to set
	 */
	public void setRedirect(String redirect) {
		this.redirect = redirect;
	}

	/**
	 * @return the component
	 */
	public String getComponent() {
		return component;
	}

	/**
	 * @param component the component to set
	 */
	public void setComponent(String component) {
		this.component = component;
	}

	/**
	 * @return the meta
	 */
	public MetaVo getMeta() {
		return meta;
	}

	/**
	 * @param meta the meta to set
	 */
	public void setMeta(MetaVo meta) {
		this.meta = meta;
	}

	/**
	 * @return the children
	 */
	public List<RouterVo> getChildren() {
		return children;
	}

	/**
	 * @param children the children to set
	 */
	public void setChildren(List<RouterVo> children) {
		this.children = children;
	}
}
