1
0
mirror of https://github.com/chatopera/cosin.git synced 2025-08-01 16:38:02 +08:00

#88 fix nickname for mobile web page

This commit is contained in:
Hai Liang Wang 2018-10-17 18:32:26 +08:00
parent 557607b06a
commit c6f55b8f42
7 changed files with 24 additions and 18 deletions

View File

@ -344,6 +344,7 @@ public class IMController extends Handler {
@Valid String purl) throws Exception {
ModelAndView view = request(super.createRequestPageTempletResponse("/apps/im/index"));
BlackEntity black = (BlackEntity) CacheHelper.getSystemCacheBean().getCacheObject(userid, MainContext.SYSTEM_ORGI);
logger.info("index userId {}", userid);
if (StringUtils.isNotBlank(appid) && (black == null || (black.getEndtime() != null && black.getEndtime().before(new Date())))) {
CousultInvite invite = OnlineUserUtils.cousult(appid, orgi, inviteRepository);
String userID = null;
@ -353,6 +354,7 @@ public class IMController extends Handler {
userID = MainUtils.genIDByKey(sessionid);
}
String nickname = "Guest_" + userID;
logger.info("nick name {}", nickname);
boolean consult = true; //是否已收集用户信息
SessionConfig sessionConfig = AutomaticServiceDist.initSessionConfig(orgi);

View File

@ -68,7 +68,7 @@ public class IMEventHandler {
String nickname = client.getHandshakeData().getSingleUrlParam("nickname");
if (!StringUtils.isBlank(user)) {
if (StringUtils.isNotBlank(user)) {
/**
* 用户进入到对话连接 排队用户请求 , 如果返回失败表示当前坐席全忙用户进入排队状态当前提示信息 显示 当前排队的队列位置不可进行对话用户发送的消息作为留言处理
*/
@ -80,7 +80,7 @@ public class IMEventHandler {
// */
NettyClients.getInstance().putIMEventClient(user, client);
//
if (newRequestMessage != null && !StringUtils.isBlank(newRequestMessage.getMessage())) {
if (newRequestMessage != null && StringUtils.isNotBlank(newRequestMessage.getMessage())) {
MessageOutContent outMessage = new MessageOutContent();
outMessage.setMessage(newRequestMessage.getMessage());
outMessage.setMessageType(MainContext.MessageTypeEnum.MESSAGE.toString());

View File

@ -908,6 +908,8 @@ public class OnlineUserUtils {
if (!StringUtils.isBlank(ip)) {
ipdata = IPTools.getInstance().findGeography(ip);
}
logger.info("set new Request message nickname {}", nickname);
if (StringUtils.isBlank(nickname)) {
nickname = "Guest_" + userid;
}

View File

@ -269,9 +269,9 @@
<#if !exchange?? || exchange == "true">
<li><a href="/im/index.html?appid=${appid!''}&orgi=${orgi!''}&ai=false<#if client??>&client=${client!''}</#if><#if type??>&type=text</#if><#if skill??>&skill=${skill!''}</#if><#if agent??>&agent=${agent!''}</#if><#if title??>&title=${title?url}</#if><#if url??>&url=${url?url}</#if><#if traceid??>&traceid=${traceid}</#if>&userid=${userid!''}&sessionid=${sessionid!''}&t=${.now?long}">人工坐席</a></li>
</#if>
<li class="cur"><a href="javascript:void(0)">智能坐席</a></li>
<li class="cur"><a href="javascript:void(0)">智能客服</a></li>
<#else>
<li class="cur"><a href="javascript:void(0)">智能坐席</a></li>
<li class="cur"><a href="javascript:void(0)">智能客服</a></li>
</#if>
</ul>
</div>
@ -312,7 +312,7 @@
<div class="chat-left">
<img class="user-img" src="<#if inviteData?? && inviteData.consult_dialog_headimg??>/res/image.html?id=${inviteData.consult_dialog_headimg?url}<#else>/images/agent.png</#if>" alt="">
<div class="chat-message">
<label class="user"><#if chatMessage?? && chatMessage.chatype?? && chatMessage.chatype == 'aireply'>${inviteData.ainame!'小E'}<#else>${chatMessage.username!''}</#if></label>
<label class="user"><#if chatMessage?? && chatMessage.chatype?? && chatMessage.chatype == 'aireply'>${inviteData.ainame!'小'}<#else>${chatMessage.username!''}</#if></label>
<label class="time">${chatMessage.createtime!''}</label>
</div>
<div class="chatting-left">
@ -498,7 +498,7 @@
chat = "<div class='ukefu-message-file'><div class='ukefu-file-icon'><img src='/im/img/file.png'></div><div class='ukefu-file-desc'><a href='"+data.message+"' target='_blank'><div>"+data.filename+"</div><div>"+(data.filesize/1024).toFixed(3)+"Kb</div></a></div></div>" ;
}
if(data.calltype == "呼入"){
output('<div class="chat-right"> <img class="user-img" src="/im/img/user.png" alt=""><div class="chat-message"><label class="time">'+data.createtime+'</label> </div><div class="chatting-right"><i class="arrow arrow${inviteData.consult_dialog_color!''}"></i><div class="chat-content theme${inviteData.consult_dialog_color!''}">'+chat+'</div></div>' , "chat-block");
output('<div class="chat-right"> <img class="user-img" src="/im/img/user.png" alt=""><div class="chat-message"><label class="time">'+data.createtime+'</label><label class="user">' + data.username + '</label></div><div class="chatting-right"><i class="arrow arrow${inviteData.consult_dialog_color!''}"></i><div class="chat-content theme${inviteData.consult_dialog_color!''}">'+chat+'</div></div>' , "chat-block");
}else if(data.calltype == "呼出"){
output('<div class="chat-left"> <img class="user-img" src="<#if inviteData?? && inviteData.consult_dialog_headimg??>/res/image.html?id=${inviteData.consult_dialog_headimg?url}<#else>/images/agent.png</#if>" alt=""><div class="chat-message"><label class="user">'+data.username+'</label><label class="time">'+data.createtime+'</label> </div><div class="chatting-left"><i class="arrow"></i><div class="chat-content">'+chat+'</div></div>' , "chat-block");
R3Ajax.audioplayer('audioplane', newmessage, false); // 播放

View File

@ -174,12 +174,14 @@
<div class="ukefu-func-tab">
<ul>
<#if models?? && models["chatbot"]?? && models["chatbot"] == true && inviteData.ai?? && inviteData.ai == true && aiid??>
<li><a href="/im/index.html?appid=${appid!''}&orgi=${orgi!''}<#if aiid??>&aiid=${aiid}</#if>&ai=true<#if client??>&client=${client!''}</#if><#if type??>&type=text</#if><#if skill??>&skill=${skill!''}</#if><#if agent??>&agent=${agent!''}</#if>&userid=${userid!''}&sessionid=${sessionid!''}&t=${.now?long}">智能客服</a></li>
<li class="cur"><a href="javascript:void(0)">人工坐席</a></li>
<#if models?? && models["chatbot"]?? && models["chatbot"] == true && inviteData.ai && aiid??>
<#if !exchange?? || exchange == "true">
<li><a href="/im/index.html?appid=${appid!''}&orgi=${orgi!''}&ai=false<#if aiid??>&aiid=${aiid}</#if><#if client??>&client=${client!''}</#if><#if type??>&type=text</#if><#if skill??>&skill=${skill!''}</#if><#if agent??>&agent=${agent!''}</#if><#if traceid??>&traceid=${traceid}</#if>&userid=${userid!''}&sessionid=${sessionid!''}&t=${.now?long}">人工坐席</a></li>
</#if>
<li class="cur"><a href="javascript:void(0)">智能客服</a></li>
<#else>
<li class="cur"><a href="javascript:void(0)">人工坐席</a></li>
</#if>
<li class="cur"><a href="javascript:void(0)">智能客服</a></li>
</#if>
</ul>
</div>
</div>
@ -308,9 +310,9 @@
drawCanvasImage(data.attachmentid) ;
}
if(data.calltype == "呼入"){
output('<div class="chat-right"> <img class="user-img" src="/im/img/user.png" alt=""><div class="chat-message"><label class="time">'+data.createtime+'</label><label class="user">'+data.nickName+'</label> </div><div class="chatting-right"><i class="arrow arrow${inviteData.consult_dialog_color!''}"></i><div class="chat-content theme${inviteData.consult_dialog_color!''}">'+chat+'</div></div>' , "chat-block");
output('<div class="chat-right"> <img class="user-img" src="/im/img/user.png" alt=""><div class="chat-message"><label class="time">'+data.createtime+'</label><label class="user">'+data.username+'</label> </div><div class="chatting-right"><i class="arrow arrow${inviteData.consult_dialog_color!''}"></i><div class="chat-content theme${inviteData.consult_dialog_color!''}">'+chat+'</div></div>' , "chat-block");
}else if(data.calltype == "呼出"){
output('<div class="chat-left"> <img class="user-img" src="<#if inviteData?? && inviteData.consult_dialog_headimg??>/res/image.html?id=${inviteData.consult_dialog_headimg?url}<#else>/images/agent.png</#if>" alt=""><div class="chat-message"><label class="user">'+data.nickName+'</label><label class="time">'+data.createtime+'</label> </div><div class="chatting-left"><i class="arrow"></i><div class="chat-content">'+chat+'</div></div>' , "chat-block");
output('<div class="chat-left"> <img class="user-img" src="<#if inviteData?? && inviteData.consult_dialog_headimg??>/res/image.html?id=${inviteData.consult_dialog_headimg?url}<#else>/images/agent.png</#if>" alt=""><div class="chat-message"><label class="user">'+data.username+'</label><label class="time">'+data.createtime+'</label> </div><div class="chatting-left"><i class="arrow"></i><div class="chat-content">'+chat+'</div></div>' , "chat-block");
}
});

View File

@ -311,7 +311,7 @@
<div class="chat-left">
<img class="user-img" src="<#if inviteData?? && inviteData.consult_dialog_headimg??>/res/image.html?id=${inviteData.consult_dialog_headimg?url}<#else>/images/agent.png</#if>" alt="">
<div class="chat-message">
<label class="user"><#if chatMessage?? && chatMessage.chatype?? && chatMessage.chatype == 'aireply'>${inviteData.ainame!'小E'}<#else>${chatMessage.username!''}</#if></label>
<label class="user"><#if chatMessage?? && chatMessage.chatype?? && chatMessage.chatype == 'aireply'>${inviteData.ainame!'小'}<#else>${chatMessage.username!''}</#if></label>
<label class="time">${chatMessage.createtime!''}</label>
</div>
<div class="chatting-left">

View File

@ -174,7 +174,7 @@
<div class="ukefu-func-tab">
<ul>
<#if models?? && models["xiaoe"]?? && models["xiaoe"] == true && inviteData.ai?? && inviteData.ai == true && aiid??>
<#if models?? && models["chatbot"]?? && models["chatbot"] == true && inviteData.ai?? && inviteData.ai == true && aiid??>
<li><a href="/im/index.html?appid=${appid!''}&orgi=${orgi!''}<#if aiid??>&aiid=${aiid}</#if>&ai=true<#if client??>&client=${client!''}</#if><#if type??>&type=text</#if><#if skill??>&skill=${skill!''}</#if><#if agent??>&agent=${agent!''}</#if>&userid=${userid!''}&sessionid=${sessionid!''}&t=${.now?long}">智能客服</a></li>
<li class="cur"><a href="javascript:void(0)">人工坐席</a></li>
<#else>
@ -223,8 +223,8 @@
src="<#if inviteData?? && inviteData.consult_dialog_headimg??>/res/image.html?id=${inviteData.consult_dialog_headimg?url}<#else>/images/agent.png</#if>"
alt="">
<div class="chat-message">
<label class="user">${chatMessage.username!''}</label> <label
class="time">${chatMessage.createtime!''}</label>
<label class="user"><#if chatMessage?? && chatMessage.chatype?? && chatMessage.chatype == 'aireply'>${inviteData.ainame!'小松'}<#else>${chatMessage.username!''}</#if></label>
<label class="time">${chatMessage.createtime!''}</label>
</div>
<div class="chatting-left">
<i class="arrow"></i>
@ -281,7 +281,7 @@
// 参数连接
var hostname = location.hostname ;
var protocol = window.location.protocol.replace(/:/g,'');
var socket = io.connect(protocol + '://'+hostname+':${port}/im/user?userid=${userid!''}<#if aiid??>&aiid=${aiid}</#if>&orgi=${orgi!''}&session=${sessionid!''}&appid=${appid!''}&osname=${(osname!'')?url}&browser=${(browser!'')?url}<#if skill??>&skill=${skill}</#if><#if agent??>&agent=${agent}</#if>');
var socket = io.connect(protocol + '://'+hostname+':${port}/im/user?userid=${userid!''}<#if aiid??>&aiid=${aiid}</#if>&orgi=${orgi!''}&session=${sessionid!''}&appid=${appid!''}&osname=${(osname!'')?url}&browser=${(browser!'')?url}<#if skill??>&skill=${skill}</#if><#if username??>&nickname=${username}</#if><#if agent??>&agent=${agent}</#if>');
socket.on('connect',function(){
//service.sendRequestMessage();
//output('<span id="callOutConnect-message">'+ new Date().format("yyyy-MM-dd hh:mm:ss") + ' 开始沟通' +'</span>' , 'message callOutConnect-message');