From 129106a2aeaf5ed950f58363a8caeb7e6b64beb0 Mon Sep 17 00:00:00 2001 From: ruibaby Date: Thu, 28 Jun 2018 00:32:14 +0800 Subject: [PATCH] =?UTF-8?q?:apple:=20=E6=96=B0=E5=A2=9Eapi=E5=8F=AF?= =?UTF-8?q?=E5=85=B3=E9=97=AD=E9=80=89=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cc/ryanc/halo/config/MvcConfig.java | 6 + .../java/cc/ryanc/halo/utils/HaloUtils.java | 4 +- .../halo/web/interceptor/ApiInterceptor.java | 36 ++++++ src/main/resources/application.yaml | 2 +- .../templates/admin/admin_option.ftl | 107 ++++++++++++++++-- 5 files changed, 143 insertions(+), 12 deletions(-) create mode 100644 src/main/java/cc/ryanc/halo/web/interceptor/ApiInterceptor.java diff --git a/src/main/java/cc/ryanc/halo/config/MvcConfig.java b/src/main/java/cc/ryanc/halo/config/MvcConfig.java index 2e8b7db31..c23d2aacb 100644 --- a/src/main/java/cc/ryanc/halo/config/MvcConfig.java +++ b/src/main/java/cc/ryanc/halo/config/MvcConfig.java @@ -1,5 +1,6 @@ package cc.ryanc.halo.config; +import cc.ryanc.halo.web.interceptor.ApiInterceptor; import cc.ryanc.halo.web.interceptor.InstallInterceptor; import cc.ryanc.halo.web.interceptor.LoginInterceptor; import lombok.extern.slf4j.Slf4j; @@ -30,6 +31,9 @@ public class MvcConfig implements WebMvcConfigurer { @Autowired private InstallInterceptor installInterceptor; + @Autowired + private ApiInterceptor apiInterceptor; + /** * 注册拦截器 * @@ -48,6 +52,8 @@ public class MvcConfig implements WebMvcConfigurer { .excludePathPatterns("/install") .excludePathPatterns("/install/do") .excludePathPatterns("/static/**"); + registry.addInterceptor(apiInterceptor) + .addPathPatterns("/api/**"); } /** diff --git a/src/main/java/cc/ryanc/halo/utils/HaloUtils.java b/src/main/java/cc/ryanc/halo/utils/HaloUtils.java index 8af4ed409..b0e5cba69 100755 --- a/src/main/java/cc/ryanc/halo/utils/HaloUtils.java +++ b/src/main/java/cc/ryanc/halo/utils/HaloUtils.java @@ -325,7 +325,7 @@ public class HaloUtils { * * @param hostIp ip * @param userName 用户名 - * @param password 密码 + * @param password password * @param savePath 保存路径 * @param fileName 文件名 * @param databaseName 数据库名 @@ -470,7 +470,7 @@ public class HaloUtils { * * @param smtpHost smtpHost * @param userName 邮件地址 - * @param password 密码 + * @param password password */ public static void configMail(String smtpHost, String userName, String password) { Properties properties = OhMyEmail.defaultConfig(false); diff --git a/src/main/java/cc/ryanc/halo/web/interceptor/ApiInterceptor.java b/src/main/java/cc/ryanc/halo/web/interceptor/ApiInterceptor.java new file mode 100644 index 000000000..ac65e3ba0 --- /dev/null +++ b/src/main/java/cc/ryanc/halo/web/interceptor/ApiInterceptor.java @@ -0,0 +1,36 @@ +package cc.ryanc.halo.web.interceptor; + +import cc.ryanc.halo.model.dto.HaloConst; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Component; +import org.springframework.web.servlet.HandlerInterceptor; +import org.springframework.web.servlet.ModelAndView; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * @author : RYAN0UP + * @date : 2018/6/28 + */ +@Component +public class ApiInterceptor implements HandlerInterceptor { + @Override + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { + if (StringUtils.equals("true", HaloConst.OPTIONS.get("api_status"))) { + return true; + } + response.sendRedirect("/404"); + return false; + } + + @Override + public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { + + } + + @Override + public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { + + } +} diff --git a/src/main/resources/application.yaml b/src/main/resources/application.yaml index 22f1a6a78..2705cef84 100755 --- a/src/main/resources/application.yaml +++ b/src/main/resources/application.yaml @@ -2,7 +2,7 @@ server: port: 8090 use-forward-headers: true undertow: - io-threads : 2 + io-threads: 2 worker-threads: 36 buffer-size: 1024 directBuffers: true diff --git a/src/main/resources/templates/admin/admin_option.ftl b/src/main/resources/templates/admin/admin_option.ftl index b952690f1..01c6bf378 100755 --- a/src/main/resources/templates/admin/admin_option.ftl +++ b/src/main/resources/templates/admin/admin_option.ftl @@ -17,7 +17,7 @@

- 设置 + 博客设置

@@ -395,12 +395,66 @@
-
-

- 开发中...
- 可选图片存储在本地或者七牛云等云... -

-
+ <#--
--> + <#--
--> + <#----> + <#--
--> + <#----> + <#----> + <#----> + <#--
--> + <#--
--> + + <#-- + <#----> + + <#-- + <#----> + + <#-- + <#----> + <#--
--> @@ -529,6 +583,17 @@
+
+ +
+ + +
+
<@footer> - \ No newline at end of file +