diff --git a/README.md b/README.md
index 0b2319e6..5827e91e 100644
--- a/README.md
+++ b/README.md
@@ -16,6 +16,9 @@ Snowy谐音“小诺”,恰应小诺团队名称;意思为”下雪的、纯
+
+
+
diff --git a/snowy-plugin/snowy-plugin-auth/src/main/java/vip/xiaonuo/auth/modular/login/enums/AuthExceptionEnum.java b/snowy-plugin/snowy-plugin-auth/src/main/java/vip/xiaonuo/auth/modular/login/enums/AuthExceptionEnum.java
index 7753b20f..37516593 100644
--- a/snowy-plugin/snowy-plugin-auth/src/main/java/vip/xiaonuo/auth/modular/login/enums/AuthExceptionEnum.java
+++ b/snowy-plugin/snowy-plugin-auth/src/main/java/vip/xiaonuo/auth/modular/login/enums/AuthExceptionEnum.java
@@ -29,6 +29,9 @@ public enum AuthExceptionEnum {
/** 验证码请求号不能为空 */
VALID_CODE_REQ_NO_EMPTY("验证码请求号不能为空"),
+ /** 验证码过期 */
+ VALID_CODE_EXPIRED("验证码过期"),
+
/** 验证码错误 */
VALID_CODE_ERROR("验证码错误"),
diff --git a/snowy-plugin/snowy-plugin-auth/src/main/java/vip/xiaonuo/auth/modular/login/service/impl/AuthServiceImpl.java b/snowy-plugin/snowy-plugin-auth/src/main/java/vip/xiaonuo/auth/modular/login/service/impl/AuthServiceImpl.java
index 9ab1f3d8..7a33d078 100644
--- a/snowy-plugin/snowy-plugin-auth/src/main/java/vip/xiaonuo/auth/modular/login/service/impl/AuthServiceImpl.java
+++ b/snowy-plugin/snowy-plugin-auth/src/main/java/vip/xiaonuo/auth/modular/login/service/impl/AuthServiceImpl.java
@@ -327,11 +327,15 @@ public class AuthServiceImpl implements AuthService {
// 手机或者邮箱验证码
existValidCode = commonCacheOperator.get(AUTH_VALID_CODE_CACHE_KEY + phoneOrEmail + StrUtil.UNDERLINE + validCodeReqNo);
}
- // 为空则直接验证码错误
- if(ObjectUtil.isEmpty(existValidCode)) {
+ // 缓存中不存在验证码则返回失效错误
+ if (ObjectUtil.isEmpty(existValidCode)){
+ throw new CommonException(AuthExceptionEnum.VALID_CODE_EXPIRED.getValue());
+ }
+ // 不一致则直接验证码错误
+ if (!validCode.equalsIgnoreCase(Convert.toStr(existValidCode))) {
throw new CommonException(AuthExceptionEnum.VALID_CODE_ERROR.getValue());
}
- // 移除该验证码
+ // 验证成功,移除该验证码
if(ObjectUtil.isEmpty(phoneOrEmail)) {
// 图形验证码
commonCacheOperator.remove(AUTH_VALID_CODE_CACHE_KEY + validCodeReqNo);
@@ -339,10 +343,6 @@ public class AuthServiceImpl implements AuthService {
// 手机或者邮箱验证码
commonCacheOperator.remove(AUTH_VALID_CODE_CACHE_KEY + phoneOrEmail + StrUtil.UNDERLINE + validCodeReqNo);
}
- // 不一致则直接验证码错误
- if (!validCode.equalsIgnoreCase(Convert.toStr(existValidCode))) {
- throw new CommonException("验证码错误");
- }
}
/**
diff --git a/snowy-plugin/snowy-plugin-mobile/src/main/resources/static/mobile/flw/COMPLETED.png b/snowy-plugin/snowy-plugin-mobile/src/main/resources/static/mobile/flw/COMPLETED.png
deleted file mode 100644
index 1ba0eb11..00000000
Binary files a/snowy-plugin/snowy-plugin-mobile/src/main/resources/static/mobile/flw/COMPLETED.png and /dev/null differ
diff --git a/snowy-plugin/snowy-plugin-mobile/src/main/resources/static/mobile/flw/END.png b/snowy-plugin/snowy-plugin-mobile/src/main/resources/static/mobile/flw/END.png
deleted file mode 100644
index 7877da5f..00000000
Binary files a/snowy-plugin/snowy-plugin-mobile/src/main/resources/static/mobile/flw/END.png and /dev/null differ
diff --git a/snowy-plugin/snowy-plugin-mobile/src/main/resources/static/mobile/flw/REJECT.png b/snowy-plugin/snowy-plugin-mobile/src/main/resources/static/mobile/flw/REJECT.png
deleted file mode 100644
index d0d9e28c..00000000
Binary files a/snowy-plugin/snowy-plugin-mobile/src/main/resources/static/mobile/flw/REJECT.png and /dev/null differ
diff --git a/snowy-plugin/snowy-plugin-mobile/src/main/resources/static/mobile/flw/REVOKE.png b/snowy-plugin/snowy-plugin-mobile/src/main/resources/static/mobile/flw/REVOKE.png
deleted file mode 100644
index dbdc08ac..00000000
Binary files a/snowy-plugin/snowy-plugin-mobile/src/main/resources/static/mobile/flw/REVOKE.png and /dev/null differ
diff --git a/snowy-plugin/snowy-plugin-mobile/src/main/resources/static/mobile/flw/SUSPENDED.png b/snowy-plugin/snowy-plugin-mobile/src/main/resources/static/mobile/flw/SUSPENDED.png
deleted file mode 100644
index 5ee4aec4..00000000
Binary files a/snowy-plugin/snowy-plugin-mobile/src/main/resources/static/mobile/flw/SUSPENDED.png and /dev/null differ
diff --git a/snowy-web-app/src/main/java/vip/xiaonuo/core/config/JacksonConfig.java b/snowy-web-app/src/main/java/vip/xiaonuo/core/config/JacksonConfigure.java
similarity index 97%
rename from snowy-web-app/src/main/java/vip/xiaonuo/core/config/JacksonConfig.java
rename to snowy-web-app/src/main/java/vip/xiaonuo/core/config/JacksonConfigure.java
index 90164e26..14b4a29b 100644
--- a/snowy-web-app/src/main/java/vip/xiaonuo/core/config/JacksonConfig.java
+++ b/snowy-web-app/src/main/java/vip/xiaonuo/core/config/JacksonConfigure.java
@@ -1,165 +1,165 @@
-package vip.xiaonuo.core.config;
-
-import com.fasterxml.jackson.core.JsonGenerator;
-import com.fasterxml.jackson.core.JsonStreamContext;
-import com.fasterxml.jackson.databind.JsonSerializer;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.SerializerProvider;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Primary;
-import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
-import org.springframework.web.servlet.HandlerInterceptor;
-import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
-
-import java.io.IOException;
-import java.lang.reflect.Field;
-import java.util.Collection;
-import java.util.Date;
-import java.util.Map;
-
-/**
- * Jackson序列化配置
- * 用于处理返回结果null值改为类型初始值等问题
- */
-@Configuration
-public class JacksonConfig {
-
- private static final ThreadLocal IS_APP_REQUEST = ThreadLocal.withInitial(() -> false);
-
- @Bean
- @Primary
- @ConditionalOnMissingBean(ObjectMapper.class)
- public ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder builder) {
- ObjectMapper objectMapper = builder.createXmlMapper(false).build();
-
- objectMapper.getSerializerProvider().setNullValueSerializer(new JsonSerializer