Layim 自定义聊天界面

自定义需求:给聊天窗口加侧边,内容为公司介绍!

原窗口:

在这里插入图片描述

修改后

在这里插入图片描述

修改步骤:
1.更改窗体大小 和 结构
需要修改layim.js中的   【聊天主模板】 elemChatTpl 

修改窗体大小,整加侧边 layim-chat-left layim-chat-right
layim.css

/* 聊天页 右侧加公司信息 */
.layim-chat-left{ width: 400px; float: left; }
.layim-chat-right{ width: 200px; float: right; }

layim.js

 //聊天主模板
  var elemChatTpl = ['<div class="layim-chat layim-chat-{{d.data.type}}">'
    ,'<div class="layim-chat-title">'
      ,'<a class="layim-chat-other">'
        ,'<img src="{{ d.data.avatar ||"http://pic.51yuansu.com/pic2/cover/00/44/04/5813a95730ef7_610.jpg"}}">'
        ,'<span layim-event="{{ d.data.type==="group" ? \"groupMembers\" : \"\" }}">{{ d.data.name||"佚名" }} {{d.data.temporary ? "<cite>临时会话</cite>" : ""}} {{# if(d.data.type==="group"){ }} <em class="layim-chat-members"></em><i class="layui-icon">&#xe61a;</i> {{# } }}</span>'
      ,'</a>'
    ,'</div>'
    //提示:左侧 <div class="layim-chat-left">
    ,'<div class="layim-chat-left"><div class="layim-chat-main">'
      ,'<ul></ul>'
    ,'</div>'
    ,'<div class="layim-chat-footer">'
      ,'<div class="layim-chat-tool" data-json="{{encodeURIComponent(JSON.stringify(d.data))}}">'
        ,'<span class="layui-icon layim-tool-face" title="选择表情" layim-event="face">&#xe60c;</span>'
        ,'{{# if(d.base && d.base.uploadImage){ }}'
        ,'<span class="layui-icon layim-tool-image" title="上传图片" layim-event="image">&#xe60d;<input type="file" name="file"></span>'
        ,'{{# }; }}'
        ,'{{# if(d.base && d.base.uploadFile){ }}'
        ,'<span class="layui-icon layim-tool-image" title="发送文件" layim-event="image" data-type="file">&#xe61d;<input type="file" name="file"></span>'
         ,'{{# }; }}'
        ,'{{# if(d.base && d.base.chatLog){ }}'
        ,'<span class="layim-tool-log" layim-event="chatLog"><i class="layui-icon">&#xe60e;</i>聊天记录</span>'
        ,'{{# }; }}'
      ,'</div>'
      ,'<div class="layim-chat-textarea"><textarea></textarea></div>'
      ,'<div class="layim-chat-bottom">'
        ,'<div class="layim-chat-send">'
          ,'{{# if(!d.base.brief){ }}'
          ,'<span class="layim-send-close" layim-event="closeThisChat">关闭</span>'
          ,'{{# } }}'
          ,'<span class="layim-send-btn" layim-event="send">发送</span>'
          ,'<span class="layim-send-set" layim-event="setSend" lay-type="show"><em class="layui-edge"></em></span>'
          ,'<ul class="layui-anim layim-menu-box">'
            ,'<li {{d.local.sendHotKey !== "Ctrl+Enter" ? "class=layim-this" : ""}} layim-event="setSend" lay-type="Enter"><i class="layui-icon">&#xe618;</i>按Enter键发送消息</li>'
            ,'<li {{d.local.sendHotKey === "Ctrl+Enter" ? "class=layim-this" : ""}} layim-event="setSend"  lay-type="Ctrl+Enter"><i class="layui-icon">&#xe618;</i>按Ctrl+Enter键发送消息</li>'
          ,'</ul>'
        ,'</div>'
      ,'</div>'
    ,'</div>'
 //提示:右侧
    ,'</div> <div class="layim-chat-right"><div class="layui-card ">'
    ,'<div class="layui-card-header"><span>公司信息</span></div><div class="layui-card-body company-title">'
    ,'<p><span>公司名称:</span><br>{{ d.data.companyname||"123"}}</p><p><span>经营业务:</span><br>{{d.data.business}}</p>'
	,'<p><span>联系人:</span><br>{{ d.data.linkman}}</p><p><span>电话:</span><br>{{ d.data.mobile }}</p></div> </div></div>'
  ,'</div>'].join('');

2.取得右侧数据

前面的layim.js代码中的 d.data.companyname、d.data.linkman、d.data.mobile、d.data.business
可以在前端页面上设置给 chat 项。

layui.use('layim', function(layim){
	var company_name = '{$company.company_name}';
	var business = '{$company.business}';
	var linkman = '{$company.linkman}';
	var mobile = '{$company.mobile}';
  layim.config({
	  init:{ 
		  mine:mine		
	  }
    //开启客服模式
    ,brief: true //是否简约模式(默认false,如果只用到在线客服,且不想显示主面板,可以设置 true)   
    ,chatLog: "{:U('portal/Chatlog/index')}" //聊天记录地址(如果未填则不显示)
  });
  //打开一个客服面板
  layim.chat({
    name: '在线沟通' //名称
    ,type: 'friend' //聊天类型
    ,avatar: 'https://*******.jpg' //头像
    ,id: company_chat_id //定义唯一的id方便你处理信息
    ,companyname:	company_name
    ,business:	business
    ,linkman:	linkman
    ,mobile:	mobile
  });
  layim.setChatMin(); //收缩聊天面板
  }
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值