diff --git a/contact-center/app/src/main/java/com/chatopera/cc/webim/config/web/IMServerConfiguration.java b/contact-center/app/src/main/java/com/chatopera/cc/webim/config/web/IMServerConfiguration.java index 1b98b169..08c1aae3 100644 --- a/contact-center/app/src/main/java/com/chatopera/cc/webim/config/web/IMServerConfiguration.java +++ b/contact-center/app/src/main/java/com/chatopera/cc/webim/config/web/IMServerConfiguration.java @@ -46,7 +46,10 @@ public class IMServerConfiguration @Value("${uk.im.server.port}") private Integer port; - + + @Value("${cs.im.server.ssl.port}") + private Integer sslPort; + @Value("${web.upload-path}") private String path; @@ -57,9 +60,14 @@ public class IMServerConfiguration @Bean(name="webimport") public Integer getWebIMPort() { - UKDataContext.setWebIMPort(port); - return port; - } + if(sslPort != null){ + UKDataContext.setWebIMPort(sslPort); + return sslPort; + } else { + UKDataContext.setWebIMPort(port); + return port; + } + } @Bean public SocketIOServer socketIOServer() throws NoSuchAlgorithmException, IOException diff --git a/contact-center/app/src/main/java/com/chatopera/cc/webim/web/handler/apps/internet/IMController.java b/contact-center/app/src/main/java/com/chatopera/cc/webim/web/handler/apps/internet/IMController.java index f499cade..68b345e0 100644 --- a/contact-center/app/src/main/java/com/chatopera/cc/webim/web/handler/apps/internet/IMController.java +++ b/contact-center/app/src/main/java/com/chatopera/cc/webim/web/handler/apps/internet/IMController.java @@ -100,7 +100,10 @@ public class IMController extends Handler { @Value("${uk.im.server.port}") private Integer port; - + + @Value("${cs.im.server.ssl.port}") + private Integer sslPort; + @Value("${web.upload-path}") private String path; @@ -338,7 +341,13 @@ public class IMController extends Handler { map.addAttribute("hostname", request.getServerName()) ; - map.addAttribute("port", port) ; + + if(sslPort != null){ + map.addAttribute("port", sslPort) ; + } else { + map.addAttribute("port", port); + } + map.addAttribute("appid", appid) ; map.addAttribute("userid", userid) ; map.addAttribute("schema", request.getScheme()) ; diff --git a/contact-center/app/src/main/resources/application.properties b/contact-center/app/src/main/resources/application.properties index e9fb394a..7dc657ef 100644 --- a/contact-center/app/src/main/resources/application.properties +++ b/contact-center/app/src/main/resources/application.properties @@ -39,6 +39,7 @@ spring.servlet.multipart.max-request-size=50MB uk.im.server.port=8036 uk.im.server.host=localhost uk.im.server.threads=1000 +cs.im.server.ssl.port= ############################################## # FREEMARKER (FreeMarkerAutoConfiguration) diff --git a/contact-center/app/src/main/resources/static/js/CSKeFu_Callout.v1.js b/contact-center/app/src/main/resources/static/js/CSKeFu_Callout.v1.js index e8a82ad4..f39dc804 100644 --- a/contact-center/app/src/main/resources/static/js/CSKeFu_Callout.v1.js +++ b/contact-center/app/src/main/resources/static/js/CSKeFu_Callout.v1.js @@ -1,7 +1,8 @@ var socketCallout; $(document).ready(function () { - socketCallout = io.connect(schema + '://' + hostname + ':' + port + '/callout/event?orgi=' + orgi + "&userid=" + userid + "&session=" + session + "&admin=" + adminuser); + var protocol = window.location.protocol.replace(/:/g,''); + socketCallout = io.connect(protocol + '://' + hostname + ':' + port + '/callout/event?orgi=' + orgi + "&userid=" + userid + "&session=" + session + "&admin=" + adminuser); socketCallout.on('connect', function () { console.log("Callout 连接初始化成功"); //请求服务端记录 当前用户在线事件 diff --git a/contact-center/app/src/main/resources/static/js/CSKeFu_IM.v1.js b/contact-center/app/src/main/resources/static/js/CSKeFu_IM.v1.js index b0758cb0..e1aa3418 100644 --- a/contact-center/app/src/main/resources/static/js/CSKeFu_IM.v1.js +++ b/contact-center/app/src/main/resources/static/js/CSKeFu_IM.v1.js @@ -4,7 +4,8 @@ newuser['mp3'] = '/images/new.mp3'; newmessage['mp3'] = '/images/message.mp3'; ring['mp3'] = '/images/ring.mp3'; $(document).ready(function(){ - socket = io.connect(schema+'://'+hostname+':'+port+'/im/agent?orgi='+orgi+"&userid="+userid+"&session="+session+"&admin="+adminuser ); + var protocol = window.location.protocol.replace(/:/g,''); + socket = io.connect(protocol+'://'+hostname+':'+port+'/im/agent?orgi='+orgi+"&userid="+userid+"&session="+session+"&admin="+adminuser ); socket.on('connect',function() { console.log("连接初始化成功"); //请求服务端记录 当前用户在线事件 diff --git a/docker-compose.yml b/docker-compose.yml index a278a0d9..ed3b7751 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -55,6 +55,8 @@ services: - UK_IM_SERVER_PORT=8036 - UK_IM_SERVER_HOST=localhost - UK_IM_SERVER_THREADS=10 + # set a separated port for SSL + - CS_IM_SERVER_SSL_PORT= - SPRING_DATASOURCE_TYPE=com.alibaba.druid.pool.DruidDataSource - SPRING_DATASOURCE_DRIVER_CLASS_NAME=com.mysql.jdbc.Driver - SPRING_DATASOURCE_URL=jdbc:mysql://mysql:3306/contactcenter?useUnicode=true&characterEncoding=UTF-8