mirror of https://github.com/halo-dev/halo
Tag support color options (#1566)
* feat: tag support color options * refactor: change the color of tag * feat: add api model property * refactor: change color field length * refactor: color field length in tag parampull/1571/head
parent
ab82fadd6e
commit
448739cddd
|
@ -4,6 +4,7 @@ import java.util.Date;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import run.halo.app.model.dto.base.OutputConverter;
|
import run.halo.app.model.dto.base.OutputConverter;
|
||||||
import run.halo.app.model.entity.Tag;
|
import run.halo.app.model.entity.Tag;
|
||||||
|
import run.halo.app.model.support.HaloConst;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tag output dto.
|
* Tag output dto.
|
||||||
|
@ -21,6 +22,8 @@ public class TagDTO implements OutputConverter<TagDTO, Tag> {
|
||||||
|
|
||||||
private String slug;
|
private String slug;
|
||||||
|
|
||||||
|
private String color = HaloConst.DEFAULT_TAG_COLOR;
|
||||||
|
|
||||||
private String thumbnail;
|
private String thumbnail;
|
||||||
|
|
||||||
private Date createTime;
|
private Date createTime;
|
||||||
|
|
|
@ -16,6 +16,7 @@ import org.hibernate.annotations.GenericGenerator;
|
||||||
* Tag entity
|
* Tag entity
|
||||||
*
|
*
|
||||||
* @author ryanwang
|
* @author ryanwang
|
||||||
|
* @author guqing
|
||||||
* @date 2019-03-12
|
* @date 2019-03-12
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
|
@ -50,6 +51,12 @@ public class Tag extends BaseEntity {
|
||||||
@Column(name = "slug", unique = true)
|
@Column(name = "slug", unique = true)
|
||||||
private String slug;
|
private String slug;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tag color.
|
||||||
|
*/
|
||||||
|
@Column(name = "color", length = 25)
|
||||||
|
private String color;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cover thumbnail of the tag.
|
* Cover thumbnail of the tag.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1,11 +1,13 @@
|
||||||
package run.halo.app.model.params;
|
package run.halo.app.model.params;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import javax.validation.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import javax.validation.constraints.Size;
|
import javax.validation.constraints.Size;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import run.halo.app.model.dto.base.InputConverter;
|
import run.halo.app.model.dto.base.InputConverter;
|
||||||
import run.halo.app.model.entity.Tag;
|
import run.halo.app.model.entity.Tag;
|
||||||
|
import run.halo.app.model.support.HaloConst;
|
||||||
import run.halo.app.utils.SlugUtils;
|
import run.halo.app.utils.SlugUtils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -13,6 +15,7 @@ import run.halo.app.utils.SlugUtils;
|
||||||
*
|
*
|
||||||
* @author johnniang
|
* @author johnniang
|
||||||
* @author ryanwang
|
* @author ryanwang
|
||||||
|
* @author guqing
|
||||||
* @date 2019-03-20
|
* @date 2019-03-20
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
|
@ -25,6 +28,13 @@ public class TagParam implements InputConverter<Tag> {
|
||||||
@Size(max = 255, message = "标签别名的字符长度不能超过 {max}")
|
@Size(max = 255, message = "标签别名的字符长度不能超过 {max}")
|
||||||
private String slug;
|
private String slug;
|
||||||
|
|
||||||
|
@Size(max = 24, message = "颜色值字符长度不能超过 {max}")
|
||||||
|
@ApiModelProperty(value = "标签颜色,支持多种颜色模式,"
|
||||||
|
+ "例如 Hex: #cfd3d7,颜色名称:LightGrey,RGB: rgb(207, 211, 215),"
|
||||||
|
+ "RGBA: rgb(207, 211, 215, 0.5)等", name = "color",
|
||||||
|
example = "#e23d66")
|
||||||
|
private String color;
|
||||||
|
|
||||||
@Size(max = 1023, message = "封面图链接的字符长度不能超过 {max}")
|
@Size(max = 1023, message = "封面图链接的字符长度不能超过 {max}")
|
||||||
private String thumbnail;
|
private String thumbnail;
|
||||||
|
|
||||||
|
@ -37,6 +47,10 @@ public class TagParam implements InputConverter<Tag> {
|
||||||
thumbnail = "";
|
thumbnail = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (StringUtils.isBlank(color)) {
|
||||||
|
this.color = HaloConst.DEFAULT_TAG_COLOR;
|
||||||
|
}
|
||||||
|
|
||||||
return InputConverter.super.convertTo();
|
return InputConverter.super.convertTo();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -49,6 +63,10 @@ public class TagParam implements InputConverter<Tag> {
|
||||||
thumbnail = "";
|
thumbnail = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (StringUtils.isBlank(color)) {
|
||||||
|
this.color = HaloConst.DEFAULT_TAG_COLOR;
|
||||||
|
}
|
||||||
|
|
||||||
InputConverter.super.update(tag);
|
InputConverter.super.update(tag);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,6 +8,7 @@ import org.springframework.http.HttpHeaders;
|
||||||
* Halo constants.
|
* Halo constants.
|
||||||
*
|
*
|
||||||
* @author ryanwang
|
* @author ryanwang
|
||||||
|
* @author guqing
|
||||||
* @date 2017/12/29
|
* @date 2017/12/29
|
||||||
*/
|
*/
|
||||||
public class HaloConst {
|
public class HaloConst {
|
||||||
|
@ -58,6 +59,11 @@ public class HaloConst {
|
||||||
*/
|
*/
|
||||||
public static final String DEFAULT_ERROR_PATH = "common/error/error";
|
public static final String DEFAULT_ERROR_PATH = "common/error/error";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Default tag color.
|
||||||
|
*/
|
||||||
|
public static final String DEFAULT_TAG_COLOR = "#cfd3d7";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Path separator.
|
* Path separator.
|
||||||
*/
|
*/
|
||||||
|
@ -67,6 +73,7 @@ public class HaloConst {
|
||||||
* Post password template name.
|
* Post password template name.
|
||||||
*/
|
*/
|
||||||
public static final String POST_PASSWORD_TEMPLATE = "post_password";
|
public static final String POST_PASSWORD_TEMPLATE = "post_password";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Suffix of freemarker template file.
|
* Suffix of freemarker template file.
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue