Update avatar-generator package
This commit is contained in:
@@ -57,9 +57,11 @@ class AvatarController(
|
|||||||
return avatarService.github(avatarGitHubParam)
|
return avatarService.github(avatarGitHubParam)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
@Operation(summary = "8 Bit 头像")
|
@Operation(summary = "8 Bit 头像")
|
||||||
@GetMapping("/8bit", produces = [MediaType.IMAGE_PNG_VALUE])
|
@GetMapping("/8bit", produces = [MediaType.IMAGE_PNG_VALUE])
|
||||||
fun eightBit(@PathVariable apiVersion: String, @Valid avatarEightBitParam: AvatarEightBitParam): ByteArray {
|
fun eightBit(@PathVariable apiVersion: String, @Valid avatarEightBitParam: AvatarEightBitParam): ByteArray {
|
||||||
return avatarService.eightBit(avatarEightBitParam)
|
return avatarService.eightBit(avatarEightBitParam)
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
@@ -3,7 +3,6 @@ package top.fatweb.api.handler
|
|||||||
import com.auth0.jwt.exceptions.JWTDecodeException
|
import com.auth0.jwt.exceptions.JWTDecodeException
|
||||||
import com.auth0.jwt.exceptions.SignatureVerificationException
|
import com.auth0.jwt.exceptions.SignatureVerificationException
|
||||||
import com.auth0.jwt.exceptions.TokenExpiredException
|
import com.auth0.jwt.exceptions.TokenExpiredException
|
||||||
import com.talanlabs.avatargenerator.AvatarException
|
|
||||||
import org.slf4j.Logger
|
import org.slf4j.Logger
|
||||||
import org.slf4j.LoggerFactory
|
import org.slf4j.LoggerFactory
|
||||||
import org.springframework.dao.DuplicateKeyException
|
import org.springframework.dao.DuplicateKeyException
|
||||||
@@ -19,6 +18,7 @@ import org.springframework.web.bind.annotation.RestControllerAdvice
|
|||||||
import top.fatweb.api.entity.common.ResponseCode
|
import top.fatweb.api.entity.common.ResponseCode
|
||||||
import top.fatweb.api.entity.common.ResponseResult
|
import top.fatweb.api.entity.common.ResponseResult
|
||||||
import top.fatweb.api.exception.TokenHasExpiredException
|
import top.fatweb.api.exception.TokenHasExpiredException
|
||||||
|
import top.fatweb.avatargenerator.AvatarException
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Exception handler
|
* Exception handler
|
||||||
|
|||||||
@@ -1,17 +1,15 @@
|
|||||||
package top.fatweb.api.service.api.v1
|
package top.fatweb.api.service.api.v1
|
||||||
|
|
||||||
import com.talanlabs.avatargenerator.GitHubAvatar
|
|
||||||
import com.talanlabs.avatargenerator.IdenticonAvatar
|
|
||||||
import com.talanlabs.avatargenerator.SquareAvatar
|
|
||||||
import com.talanlabs.avatargenerator.TriangleAvatar
|
|
||||||
import com.talanlabs.avatargenerator.eightbit.EightBitAvatar
|
|
||||||
import com.talanlabs.avatargenerator.layers.backgrounds.ColorPaintBackgroundLayer
|
|
||||||
import org.springframework.stereotype.Service
|
import org.springframework.stereotype.Service
|
||||||
import top.fatweb.api.param.api.v1.avatar.AvatarBaseParam
|
import top.fatweb.api.param.api.v1.avatar.AvatarBaseParam
|
||||||
import top.fatweb.api.param.api.v1.avatar.AvatarEightBitParam
|
|
||||||
import top.fatweb.api.param.api.v1.avatar.AvatarGitHubParam
|
import top.fatweb.api.param.api.v1.avatar.AvatarGitHubParam
|
||||||
import top.fatweb.api.util.NumberUtil
|
import top.fatweb.api.util.NumberUtil
|
||||||
import top.fatweb.api.vo.api.v1.avatar.DefaultBase64Vo
|
import top.fatweb.api.vo.api.v1.avatar.DefaultBase64Vo
|
||||||
|
import top.fatweb.avatargenerator.GitHubAvatar
|
||||||
|
import top.fatweb.avatargenerator.IdenticonAvatar
|
||||||
|
import top.fatweb.avatargenerator.SquareAvatar
|
||||||
|
import top.fatweb.avatargenerator.TriangleAvatar
|
||||||
|
import top.fatweb.avatargenerator.layer.background.ColorPaintBackgroundLayer
|
||||||
import java.awt.Color
|
import java.awt.Color
|
||||||
import kotlin.io.encoding.Base64
|
import kotlin.io.encoding.Base64
|
||||||
import kotlin.io.encoding.ExperimentalEncodingApi
|
import kotlin.io.encoding.ExperimentalEncodingApi
|
||||||
@@ -30,7 +28,8 @@ class AvatarServiceImpl : IAvatarService {
|
|||||||
if (avatarBaseParam == null || avatarBaseParam.colors.isNullOrEmpty())
|
if (avatarBaseParam == null || avatarBaseParam.colors.isNullOrEmpty())
|
||||||
TriangleAvatar.newAvatarBuilder()
|
TriangleAvatar.newAvatarBuilder()
|
||||||
else TriangleAvatar.newAvatarBuilder(
|
else TriangleAvatar.newAvatarBuilder(
|
||||||
*avatarBaseParam.colors!!.map { decodeColor(it) }.toTypedArray())
|
*avatarBaseParam.colors!!.map { decodeColor(it) }.toTypedArray()
|
||||||
|
)
|
||||||
).apply {
|
).apply {
|
||||||
avatarBaseParam?.size?.let { size(it, it) }
|
avatarBaseParam?.size?.let { size(it, it) }
|
||||||
avatarBaseParam?.margin?.let { margin(it) }
|
avatarBaseParam?.margin?.let { margin(it) }
|
||||||
@@ -46,7 +45,8 @@ class AvatarServiceImpl : IAvatarService {
|
|||||||
if (avatarBaseParam == null || avatarBaseParam.colors.isNullOrEmpty())
|
if (avatarBaseParam == null || avatarBaseParam.colors.isNullOrEmpty())
|
||||||
SquareAvatar.newAvatarBuilder()
|
SquareAvatar.newAvatarBuilder()
|
||||||
else SquareAvatar.newAvatarBuilder(
|
else SquareAvatar.newAvatarBuilder(
|
||||||
*avatarBaseParam.colors!!.map { decodeColor(it) }.toTypedArray())
|
*avatarBaseParam.colors!!.map { decodeColor(it) }.toTypedArray()
|
||||||
|
)
|
||||||
).apply {
|
).apply {
|
||||||
avatarBaseParam?.size?.let { size(it, it) }
|
avatarBaseParam?.size?.let { size(it, it) }
|
||||||
avatarBaseParam?.margin?.let { margin(it) }
|
avatarBaseParam?.margin?.let { margin(it) }
|
||||||
@@ -86,31 +86,33 @@ class AvatarServiceImpl : IAvatarService {
|
|||||||
return avatar.createAsPngBytes(avatarGitHubParam?.seed ?: NumberUtil.getRandomLong())
|
return avatar.createAsPngBytes(avatarGitHubParam?.seed ?: NumberUtil.getRandomLong())
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun eightBit(avatarEightBitParam: AvatarEightBitParam?): ByteArray {
|
/*
|
||||||
val avatar = if (avatarEightBitParam?.gender?.equals("female") ?: false) {
|
override fun eightBit(avatarEightBitParam: AvatarEightBitParam?): ByteArray {
|
||||||
EightBitAvatar.newFemaleAvatarBuilder().apply {
|
val avatar = if (avatarEightBitParam?.gender?.equals("female") ?: false) {
|
||||||
avatarEightBitParam?.size?.let { size(it, it) }
|
EightBitAvatar.newFemaleAvatarBuilder().apply {
|
||||||
avatarEightBitParam?.margin?.let { margin(it) }
|
avatarEightBitParam?.size?.let { size(it, it) }
|
||||||
avatarEightBitParam?.padding?.let { padding(it) }
|
avatarEightBitParam?.margin?.let { margin(it) }
|
||||||
if (avatarEightBitParam != null && !avatarEightBitParam.colors.isNullOrEmpty()) {
|
avatarEightBitParam?.padding?.let { padding(it) }
|
||||||
color(decodeColor(avatarEightBitParam.colors!!.random()))
|
if (avatarEightBitParam != null && !avatarEightBitParam.colors.isNullOrEmpty()) {
|
||||||
}
|
color(decodeColor(avatarEightBitParam.colors!!.random()))
|
||||||
avatarEightBitParam?.background?.let { layers(ColorPaintBackgroundLayer(decodeColor(it))) }
|
}
|
||||||
}.build()
|
avatarEightBitParam?.background?.let { layers(ColorPaintBackgroundLayer(decodeColor(it))) }
|
||||||
} else {
|
}.build()
|
||||||
EightBitAvatar.newMaleAvatarBuilder().apply {
|
} else {
|
||||||
avatarEightBitParam?.size?.let { size(it, it) }
|
EightBitAvatar.newMaleAvatarBuilder().apply {
|
||||||
avatarEightBitParam?.margin?.let { margin(it) }
|
avatarEightBitParam?.size?.let { size(it, it) }
|
||||||
avatarEightBitParam?.padding?.let { padding(it) }
|
avatarEightBitParam?.margin?.let { margin(it) }
|
||||||
if (avatarEightBitParam != null && !avatarEightBitParam.colors.isNullOrEmpty()) {
|
avatarEightBitParam?.padding?.let { padding(it) }
|
||||||
color(decodeColor(avatarEightBitParam.colors!!.random()))
|
if (avatarEightBitParam != null && !avatarEightBitParam.colors.isNullOrEmpty()) {
|
||||||
}
|
color(decodeColor(avatarEightBitParam.colors!!.random()))
|
||||||
avatarEightBitParam?.background?.let { layers(ColorPaintBackgroundLayer(decodeColor(it))) }
|
}
|
||||||
}.build()
|
avatarEightBitParam?.background?.let { layers(ColorPaintBackgroundLayer(decodeColor(it))) }
|
||||||
}
|
}.build()
|
||||||
|
}
|
||||||
|
|
||||||
return avatar.createAsPngBytes(avatarEightBitParam?.seed ?: NumberUtil.getRandomLong())
|
return avatar.createAsPngBytes(avatarEightBitParam?.seed ?: NumberUtil.getRandomLong())
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
fun decodeColor(nm: String): Color {
|
fun decodeColor(nm: String): Color {
|
||||||
return if (Regex("^#[0-9a-fA-F]{6}$").matches(nm)) {
|
return if (Regex("^#[0-9a-fA-F]{6}$").matches(nm)) {
|
||||||
|
|||||||
@@ -16,6 +16,6 @@ interface IAvatarService {
|
|||||||
|
|
||||||
fun github(avatarGitHubParam: AvatarGitHubParam?): ByteArray
|
fun github(avatarGitHubParam: AvatarGitHubParam?): ByteArray
|
||||||
|
|
||||||
fun eightBit(avatarEightBitParam: AvatarEightBitParam?): ByteArray
|
// fun eightBit(avatarEightBitParam: AvatarEightBitParam?): ByteArray
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,5 @@
|
|||||||
package top.fatweb.api
|
package top.fatweb.api
|
||||||
|
|
||||||
import com.talanlabs.avatargenerator.GitHubAvatar
|
|
||||||
import org.junit.jupiter.api.Assertions.assertEquals
|
import org.junit.jupiter.api.Assertions.assertEquals
|
||||||
import org.junit.jupiter.api.Test
|
import org.junit.jupiter.api.Test
|
||||||
import org.junit.jupiter.api.extension.ExtendWith
|
import org.junit.jupiter.api.extension.ExtendWith
|
||||||
@@ -11,6 +10,7 @@ import top.fatweb.api.properties.SecurityProperties
|
|||||||
import top.fatweb.api.util.ByteUtil
|
import top.fatweb.api.util.ByteUtil
|
||||||
import top.fatweb.api.util.JwtUtil
|
import top.fatweb.api.util.JwtUtil
|
||||||
import top.fatweb.api.util.StrUtil
|
import top.fatweb.api.util.StrUtil
|
||||||
|
import top.fatweb.avatargenerator.GitHubAvatar
|
||||||
import kotlin.io.encoding.Base64
|
import kotlin.io.encoding.Base64
|
||||||
import kotlin.io.encoding.ExperimentalEncodingApi
|
import kotlin.io.encoding.ExperimentalEncodingApi
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user