From 2d11e37c570f909b5bdb948323d7bb15049849cd Mon Sep 17 00:00:00 2001 From: Hai Liang Wang Date: Fri, 29 Apr 2022 00:14:45 +0800 Subject: [PATCH] https://github.com/chatopera/cskefu/issues/703 enable ctrl + enter send message, remove iframe bind in the old way --- .../cc/config/CSKeFuWebAppConfigurer.java | 16 +++++++-------- .../interceptor/CrossInterceptorHandler.java | 20 +++++++++---------- .../templates/apps/im/chatbot/index.pug | 18 +++++------------ .../resources/templates/apps/im/index.pug | 20 ++++++------------- 4 files changed, 28 insertions(+), 46 deletions(-) diff --git a/contact-center/app/src/main/java/com/chatopera/cc/config/CSKeFuWebAppConfigurer.java b/contact-center/app/src/main/java/com/chatopera/cc/config/CSKeFuWebAppConfigurer.java index 50962bcb..6e2b171d 100644 --- a/contact-center/app/src/main/java/com/chatopera/cc/config/CSKeFuWebAppConfigurer.java +++ b/contact-center/app/src/main/java/com/chatopera/cc/config/CSKeFuWebAppConfigurer.java @@ -21,23 +21,21 @@ import com.chatopera.cc.interceptor.LogIntercreptorHandler; import com.chatopera.cc.interceptor.UserExperiencePlanInterceptorHandler; import com.chatopera.cc.interceptor.UserInterceptorHandler; import org.springframework.context.annotation.Configuration; -import org.springframework.web.servlet.config.annotation.CorsRegistry; -import org.springframework.web.servlet.config.annotation.InterceptorRegistry; -import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; +import org.springframework.web.servlet.config.annotation.*; @Configuration public class CSKeFuWebAppConfigurer extends WebMvcConfigurerAdapter { - @Override - public void addResourceHandlers(ResourceHandlerRegistry registry) { - - } + /** + * https://www.baeldung.com/spring-cors + * @param registry + */ @Override public void addCorsMappings(CorsRegistry registry) { - registry.addMapping("/**"); + // enables CORS requests from any origin to any endpoint in the application. + registry.addMapping("/**").allowedOrigins("*"); } @Override diff --git a/contact-center/app/src/main/java/com/chatopera/cc/interceptor/CrossInterceptorHandler.java b/contact-center/app/src/main/java/com/chatopera/cc/interceptor/CrossInterceptorHandler.java index b37d19c0..0f8a2fa5 100644 --- a/contact-center/app/src/main/java/com/chatopera/cc/interceptor/CrossInterceptorHandler.java +++ b/contact-center/app/src/main/java/com/chatopera/cc/interceptor/CrossInterceptorHandler.java @@ -29,16 +29,16 @@ import javax.servlet.http.HttpServletResponse; public class CrossInterceptorHandler extends HandlerInterceptorAdapter { private final static Logger logger = LoggerFactory.getLogger(CrossInterceptorHandler.class); - public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) - throws Exception { - response.setHeader("Access-Control-Allow-Origin", "*"); - response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, PUT"); - response.setHeader("Access-Control-Max-Age", "3600"); - response.setHeader("Access-Control-Allow-Headers", "x-requested-with,accept,authorization,content-type"); - response.setHeader("Access-Control-Allow-Credentials", "true"); -// response.setHeader("X-Frame-Options", "SAMEORIGIN"); - return true; - } +// public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) +// throws Exception { +// response.setHeader("Access-Control-Allow-Origin", "*"); +// response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, PUT"); +// response.setHeader("Access-Control-Max-Age", "3600"); +// response.setHeader("Access-Control-Allow-Headers", "x-requested-with,accept,authorization,content-type"); +// response.setHeader("Access-Control-Allow-Credentials", "true"); +//// response.setHeader("X-Frame-Options", "SAMEORIGIN"); +// return true; +// } @Override public void postHandle(HttpServletRequest arg0, HttpServletResponse response, Object arg2, diff --git a/contact-center/app/src/main/resources/templates/apps/im/chatbot/index.pug b/contact-center/app/src/main/resources/templates/apps/im/chatbot/index.pug index 8b829bda..743c1a53 100644 --- a/contact-center/app/src/main/resources/templates/apps/im/chatbot/index.pug +++ b/contact-center/app/src/main/resources/templates/apps/im/chatbot/index.pug @@ -107,22 +107,14 @@ html sendMessage(); }); } else { - var kindEditorIframe = $("iframe").contents().find("body"); - kindEditorIframe.keydown(function (event) { - if (event.keyCode == 13 && !event.ctrlKey) { - self.sync(); - sendMessage(); - return false; - } else if (event.keyCode == 13 && event.ctrlKey) { - editor.insertHtml('
'); - } - }); - //Ctrl+Enter提交表单 + // Ctrl+Enter 提交表单 K.ctrl(document, 13, function () { - editor.insertHtml('
'); + self.sync(); + sendMessage(); }); K.ctrl(self.edit.doc, 13, function () { - editor.insertHtml('
'); + self.sync(); + sendMessage(); }); } } diff --git a/contact-center/app/src/main/resources/templates/apps/im/index.pug b/contact-center/app/src/main/resources/templates/apps/im/index.pug index 124eb0fd..b52e2d5d 100644 --- a/contact-center/app/src/main/resources/templates/apps/im/index.pug +++ b/contact-center/app/src/main/resources/templates/apps/im/index.pug @@ -64,7 +64,6 @@ html br: [] }, afterChange: function () { - var message = document.getElementById('message').value; var imgReg = /|\/>)/gi; var imgnumber = 0; @@ -119,22 +118,15 @@ html sendMessage(); }); } else { - var kindEditorIframe = $("iframe").contents().find("body"); - kindEditorIframe.keydown(function (event) { - if (event.keyCode == 13 && !event.ctrlKey) { - self.sync(); - sendMessage(); - return false; - } else if (event.keyCode == 13 && event.ctrlKey) { - editor.insertHtml('
'); - } - }); - //Ctrl+Enter提交表单 + // Ctrl+Enter 提交表单 K.ctrl(document, 13, function () { - editor.insertHtml('
'); + self.sync(); + sendMessage(); }); + // Ctrl+Enter 提交表单 K.ctrl(self.edit.doc, 13, function () { - editor.insertHtml('
'); + self.sync(); + sendMessage(); }); } }