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 +