123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256 |
- <!DOCTYPE html>
- <html xmlns="https://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>合力亿捷云客服-在线软电话条</title>
- <script type="text/javascript" src="https://a6.7x24cc.com/softPhone/javascripts/jquery-1.7.2.min.js"></script>
- <script type="text/javascript" src="https://a6.7x24cc.com/softPhone/javascripts/md5.min.js"></script>
- <script type="text/javascript" src="https://a6.7x24cc.com/softPhone/javascripts/phone.min.js"></script>
- <script type="text/javascript" src="https://a6.7x24cc.com/softPhone/javascripts/aes.js"></script>
- <script type="text/javascript" src="https://a6.7x24cc.com/softPhone/javascripts/sip.js"></script>
- <link rel="stylesheet" type="text/css" href="https://a6.7x24cc.com/softPhone/stylesheets/global.css">
- <meta charset="UTF-8">
- <meta name="Generator" content="EditPlus®">
- <meta name="Author" content="">
- <meta name="Keywords" content="">
- <meta name="Description" content="">
- <title>Document</title>
- </head>
- <style>
- #softphone-bar {
- margin: 0;
- width: 100%;
- height: 50px;
- display: flex;
- justify-content: flex-end;
- align-items: center;
- background: #fff;
- transform: scale(1.2);
- padding-right: calc(37px + 5%);
- }
- </style>
- <body>
- <div id="softphone-bar" class="inline-block clearFix">
- <div id="phone_bar" class="clearFix">
- <div class="btn-group f-l">
- <button id="HoldEnable" type="button" class="btn btn-primary margin-r5" style="display:none;"
- onclick="holly.hold();"> 保持 </button>
- <button id="HoldGetEnable" type="button" class="btn btn-primary margin-r5" onclick="holly.unHold();"
- style="display:none" ;> 恢复 </button>
- <button id="TransferEnable" type="button" class="btn btn-primary margin-r5" style="display:none"
- onclick="holly.openTransferOrConsult('softphone_transfer');"> 转接 </button>
- <button id="ConsultTransferEnable" type="button" class="btn btn-primary margin-r5" style="display:none"
- onclick="holly.transfer('9123456', 'number');"> 转接 </button>
- <button id="ConsultEnable" type="button" class="btn btn-primary margin-r5" style="display:none"
- onclick="holly.openTransferOrConsult('softphone_consult');"> 咨询 </button>
- <button id="InvestigateEnable" type="button" class="btn btn-primary margin-r5" style="display:none"
- onclick="holly.investigate();"> 转调查 </button>
- <button id="ValidateEnable" type="button" class="btn btn-primary margin-r5" style="display:none"
- onclick="holly.validate();"> 转验证 </button>
- <button id="ThreeWayCallEnable" class="btn btn-primary margin-r5" style="display:none"> 三方 </button>
- <button id="ConsultThreeWayCallEnable" type="button" class="btn btn-primary margin-r5" style="display: none"
- onclick="holly.threeWayCall('9123456');"> 三方 </button>
- <button id="StopConsultEnable" type="button" class="btn btn-danger margin-r5" style="display:none"
- onclick="holly.stopConsult();"> 结束咨询 </button>
- <button id="HangupEnable" type="button" class="btn btn-danger margin-r5" onclick="holly.hangup();"
- style="display:none;"> 挂机 </button>
- </div>
- <div class="f-l">
- <input id="dialout_input" class="span2" type="text" value="" placeholder="请输入电话号码" style="display: none;"
- onkeydown="if(event.keyCode==13){holly.dialout($('#dialout_input').val());}">
- <button id="DialEnable" class="btn btn-primary margin-r5" type="button"
- onclick="phoneCall($('#dialout_input').val())" style="display:none"> 呼叫 </button>
- </div>
- <div class="state_group f-l clearFix">
- <div id="softphone_phonestate" class="f-l state">未签入</div>
- <div id="softphone_dropdown" class="f-l state_dropdown"><b id="softphone_dropdown_caret" class="caret"></b>
- </div>
- <div id="softphone_timer" class="f-l state_time">00:00:00</div>
- <div id="softphone_otherstate" class="customer_db"></div>
- </div>
- <div class="f-l">
- <button id="softPhoneBarKick" type="button" class="btn btn-primary margin-r5" style="display:none;"> 签出
- </button>
- <button id="softPhoneBarPick" type="button" class="btn btn-primary margin-r5" style="display:none;"> 签入
- </button>
- </div>
- <div class="f-l margin-t5" id="softWaitCountTotalDiv" style="display:none;">
- 排队数:<span id="softWaitCountTotal">0 </span>
- </div>
- <!--以下代码仅使用webrtc时,需要引入-->
- <!-- <div id="AcceptBellingEnable" style="display:none;" onclick="holly.webRtc.processWebRTCButton('accept')">
- <img src="http://a6.7x24cc.com/softPhone/img/webrtc-incoming.png" alt="" style="width: 13px;vertical-align: -2px;background: #0066cc">
- </div>
- <div id="RefuseBellingEnable" style="display:none;margin-left: 5px" onclick="holly.webRtc.processWebRTCButton('reject')">
- <img src="http://a6.7x24cc.com/softPhone/img/hangup.png" alt="" style="vertical-align: -2px">
- </div> -->
- <!--webrtc拨号盘,可选>
- <div class="btn-group-dial" id="DialPlateBtnEnable" style="margin-top: 2px; display:none;">
- <button id="" type="button" class="btn btn-primary" onclick="holly.webRtc.showNum()">拨号盘</button>
- <!--拨号盘-->
- <!-- <div class="dial-wrap" id="dial_plate" style="display:none;">
- <div class="dial-phone-num">
- <span class="pushed1" onclick="holly.webRtc.processWebRTCButton('dtmf', 1)">1</span>
- <span class="pushed2" onclick="holly.webRtc.processWebRTCButton('dtmf', 2)">2</span>
- <span class="pushed3" onclick="holly.webRtc.processWebRTCButton('dtmf', 3)">3</span>
- <span class="pushed4" onclick="holly.webRtc.processWebRTCButton('dtmf', 4)">4</span>
- <span class="pushed5" onclick="holly.webRtc.processWebRTCButton('dtmf', 5)">5</span>
- <span class="pushed6" onclick="holly.webRtc.processWebRTCButton('dtmf', 6)">6</span>
- <span class="pushed7" onclick="holly.webRtc.processWebRTCButton('dtmf', 7)">7</span>
- <span class="pushed8" onclick="holly.webRtc.processWebRTCButton('dtmf', 8)">8</span>
- <span class="pushed9" onclick="holly.webRtc.processWebRTCButton('dtmf', 9)">9</span>
- <span class="" onclick="holly.webRtc.processWebRTCButton('dtmf', '*')">*</span>
- <span class="pushed0" onclick="holly.webRtc.processWebRTCButton('dtmf', 0)">0</span>
- <span class="" onclick="holly.webRtc.processWebRTCButton('dtmf', '#')">#</span>
- </div>
- </div>
- </div> -->
- <!--拨号盘结束-->
- <!--webrtc结束-->
- </div>
- <div id="softphone-bar-bgdiv" class="softphone-transfer-bg-div"></div>
- <div id="softphone_consult" class="softphone-transfer-div"></div>
- <!-- <div id="softphone_transfer" class="softphone-transfer-div"></div> -->
- <div id="icc_event"></div>
- </div>
- <script>
- // const channel = new BroadcastChannel("example-channel");
- // function refreshModel() {
- // channel.postMessage({ event: "datachange", data: [{ path: '/CRM/data/tables/事实表/线索/dwd_f_crm_clue_info.tbl' }] })
- // }
- function refreshModel() {
- const value = { event: "datachange", data: [{ path: '/CRM/data/tables/事实表/线索/dwd_f_crm_clue_info.tbl' },{st:new Date}]}
- window.localStorage.setItem('example-channel', JSON.stringify(value));
- }
- function updateIsTalking(is_talking,seatnum){
- const value = { event: "datachange", data: [{is_talking:is_talking, phone:phone,seatnum:seatnum},{st:new Date}]}
- window.localStorage.setItem('talking-channel', JSON.stringify(value));
- }
- var hollyglobal = {
- loginSuccessCallback: function (peer) { // 软电话条登录成功回调函数
- // console.log(peer);
- },
- loginFailureCallback: function (peer) { // 软电话条登录失败回调函数
- // console.log(peer);
- },
- ringEvent: function (peer) { // 响铃回调函数,可用于实现弹屏。参数请参考“软电话条-》事件API-》坐席振铃事件”
- // console.log(peer);
- },
- talkingEvent: function (peer) { // 接通事件回调函数。参数请参考“软电话条-》事件API-》坐席接通事件”
- // console.log(peer);
- updateIsTalking('1',seatnum)
- },
- hangupEvent: function (peer) { // 挂机事件回调函数。参数请参考“软电话条-》事件API-》坐席挂断事件”
- var phone = $('#dialout_input').val()
- const params = {
- phone: phone
- }
- $.ajax({
- type: 'POST',
- url: location.origin + '/jyapi/biService/autoFollow',
- contentType: "application/json;charset=utf-8",
- data: JSON.stringify(params),
- success: function (res) {
- console.log(res)
- refreshModel()
- }
- })
- console.log("updateIsTalking")
- updateIsTalking('0','null')
- },
- queueWaitCountEvent: function (peer) { // 技能组排队数事件回调函数。参数请参考“软电话条-》事件API-》技能组排队数事件”
- // console.dir(peer);
- },
- setBusyEvent: function (peer) { // 坐席切换状态回调
- },
- queueInfo: function (peer) { // 技能组发生变化回调
- },
- registered: function (peer) { // 电话条注册成功、通话功能可正常使用回调
- },
- newWorkRecover: function (peer) { // 坐席恢复连接回调
- },
- callAgentCount: function (peer) { // 通话坐席数量变化回调,需开启监控权限
- },
- idleAgentCount: function (peer) { // 空闲坐席数量变化回调,需开启监控权限
- },
- availableButton: function (state, button) { // 坐席状态和当前页面可用按钮及控件
- },
- kickEvent: function (peer) { // 坐席被下线
- if (peer === "ukick" || peer == "ekick") {
- console.log("您的帐号在其他地方登录了")
- } else {
- console.log("您已被管理员强制签出")
- }
- },
- isDisplayInvestigate: false, // 是否开启转满意功能
- isDisplayConsult: false, // 是否开启咨询功能
- isDisplayTransfer: false, // 是否开启转接
- isDisplayValidate: true, // 是否开启转验证
- isHiddenNumber: false, // 是否开启隐藏号码功能
- Variable: "", // 自定义外显号码
- monitor: 1, //是否开启监控权限,1表示开启、不配置或者其他值表示不开启,开启后将会收到所有的坐席事件并处理
- requestType: "http", //请求服务端的方式。http:表示以http方式请求服务端,webSocket:表示使用webSocket方式请求服务端
- loginBusyType: "0", //坐席登录后状态。0是空闲,1是忙碌,2是小休,注:该参数不传的情况下,默认为0
- clientType: "hollyPhone" //客户端类型。hollyPhone:软电话,需安装客户端使用;webRtc:网页软电话。webRtc必须在https域名下才能正常使用
- }
- // 获取参数
- const queryString = window.location.search
- const params = new URLSearchParams(queryString)
- const seatnum = params.get('seatnum')
- let phone = params.get('phone')
- console.log(seatnum, 'seatnum')
- // 自动登录
- if (seatnum) {
- holly.loginPhoneBar(seatnum + '@bjjyxx', '@jianyu360', "sip")
- }
- function phoneCall(valPhone) {
- // 拨打电话
- if (valPhone) {
- phone = valPhone
- }
- if (phone) {
- const params = {
- phone: phone
- }
- $.ajax({
- type: 'POST',
- url: location.origin + '/jyapi/biService/call',
- contentType: "application/json;charset=utf-8",
- data: JSON.stringify(params),
- success: function (res) {
- console.log(res)
- if (res.error_code === 1) {
- // 获取业务参数
- let interfacedata = JSON.parse(res.data)
- interfacedata.jianyu = 'jianyu'
- // 使用软电话条呼叫客户
- $('#dialout_input').val(phone)
- holly.dialout(phone, interfacedata)
- }
- }
- })
- }
- }
- window.onload = function () {
- phoneCall()
- }
- </script>
- </body>
- </html>
|