mirror of
https://gitee.com/270580156/weiyu.git
synced 2026-05-16 12:18:10 +00:00
1 line
39 KiB
JavaScript
1 line
39 KiB
JavaScript
"use strict"; var bd_kfe_utils = { log: function (e) { bd_kfe_data.IS_PRODUCTION || bd_kfe_utils.printLog(e) }, switchEmoji: function () { bd_kfe_data.disabled || (bd_kfe_data.show_emoji = !bd_kfe_data.show_emoji) }, switchAgent: function () { bd_kfe_data.showLeaveMessage = !1, $("#bytedesk_main").show(), $("#bytedesk_leave").hide(), $("#bytedesk_rate").hide(), bd_kfe_data.isRobot = !1, bd_kfe_httpapi.requestThread() }, switchLeaveMessage: function () { bd_kfe_utils.printLog("switch leave message"), bd_kfe_data.showLeaveMessage = !0, $("#bytedesk_main").hide(), $("#bytedesk_leave").show(), $("#bytedesk_rate").hide() }, hideLeaveMessage: function () { bd_kfe_data.showLeaveMessage = !1, $("#bytedesk_main").show(), $("#bytedesk_leave").hide() }, switchForm: function () { $("#bytedesk_main").hide(), $("#bytedesk_leave").hide(), $("#bytedesk_rate").hide(), $("#bytedesk_form").show() }, showMessage: function () { $("#bytedesk_main").show(), $("#bytedesk_form").hide(), $("#bytedesk_leave").hide(), $("#bytedesk_rate").hide() }, switchEmotion: function () { bd_kfe_data.show_emoji = !bd_kfe_data.show_emoji, bd_kfe_data.show_emoji ? ($("#bytedesk_input-emoji-box").show(), bd_kfe_utils.printLog("show")) : ($("#bytedesk_input-emoji-box").hide(), bd_kfe_utils.printLog("hide")) }, switchRate: function () { $("#bytedesk_main").hide(), $("#bytedesk_leave").hide(), $("#bytedesk_rate").show() }, hideRate: function () { $("#bytedesk_main").show(), $("#bytedesk_rate").hide() }, showUploadImageDialog: function () { return bd_kfe_data.isRobot ? void alert("自助服务暂不支持图片") : bd_kfe_data.isThreadClosed ? void alert("会话已经结束") : void $("input[id=imagefile]").click() }, showUploadVideoDialog: function () { return bd_kfe_data.isRobot ? void alert("自助服务暂不支持视频") : bd_kfe_data.isThreadClosed ? void alert("会话已经结束") : void $("input[id=videofile]").click() }, showUploadFileDialog: function () { return bd_kfe_data.isRobot ? void alert("自助服务暂不支持图片") : bd_kfe_data.isThreadClosed ? void alert("会话已经结束") : void $("input[id=filefile]").click() }, clearMessages: function () { bd_kfe_utils.printLog("clearMessages") }, emotionUrl: function (e) { return bd_kfe_data.emojiBaseUrl + e }, imageClicked: function (e) { bd_kfe_data.currentImageUrl = e, window.open(e) }, fileClicked: function (e) { window.open(e) }, voiceClicked: function (e) { bd_kfe_data.currentVoiceUrl = e, window.open(e) }, videoClicked: function (e) { window.open(e) }, is_self: function (e) { return e.user.uid === bd_kfe_data.uid }, is_sending: function (e) { return "sending" === e.status }, is_stored: function (e) { return "stored" === e.status }, is_received: function (e) { return "received" === e.status }, is_error: function (e) { return "error" === e.status }, is_read: function (e) { return "readCount" === e.status }, is_type_text: function (e) { return "text" === e.type || "notification_thread" === e.type || "notification_auto_close" === e.type }, is_type_robot: function (e) { return "robot" === e.type }, is_type_robot_v2: function (e) { return "robotv2" === e.type }, is_type_robot_result: function (e) { return "robot_result" === e.type }, is_type_robot_result_not_found: function (e) { return "robot_result_not_found" === e.type }, is_type_image: function (e) { return "image" === e.type }, is_type_file: function (e) { return "file" === e.type }, is_type_voice: function (e) { return "voice" === e.type }, is_type_video: function (e) { return "video" === e.type || "shortvideo" === e.type }, is_type_card: function (e) { return "card" === e.type }, is_type_commodity: function (e) { return "commodity" === e.type }, is_type_questionnaire: function (e) { return "questionnaire" === e.type }, is_type_company: function (e) { return "company" === e.type }, is_type_workGroup: function (e) { return "workGroup" === e.type }, is_type_form_request: function (e) { return "notification_form_request" === e.type }, is_type_form_result: function (e) { return "notification_form_result" === e.type }, is_type_notification: function (e) { return "notification_preview" !== e.type && "notification_thread" !== e.type && "notification_form_request" !== e.type && "notification_form_result" !== e.type && "notification_thread_reentry" !== e.type && "notification_offline" !== e.type && "notification_non_working_time" !== e.type && "notification_queue" !== e.type && e.type.startsWith("notification") }, is_type_close: function (e) { return "notification_auto_close" === e.type || "notification_agent_close" === e.type }, is_type_notification_agent_close: function (e) { return "notification_agent_close" === e.type }, is_type_notification_visitor_close: function (e) { return "notification_visitor_close" === e.type }, is_type_notification_auto_close: function (e) { return "notification_auto_close" === e.type }, is_type_notification_connect: function (e) { return "notification_connect" === e.type }, is_type_notification_disconnect: function (e) { return "notification_disconnect" === e.type }, is_type_notification_thread_reentry: function (e) { return "notification_thread_reentry" === e.type }, is_type_notification_offline: function (e) { return "notification_offline" === e.type }, is_type_notification_non_working_time: function (e) { return "notification_non_working_time" === e.type }, is_type_notification_queue: function (e) { return "notification_queue" === e.type }, is_type_notification_queue_accept: function (e) { return "notification_queue_accept" === e.type }, is_type_notification_invite_rate: function (e) { return "notification_invite_rate" === e.type }, is_type_notification_rate_result: function (e) { return "notification_rate_result" === e.type }, is_type_notification_rate_helpful: function (e) { return "notification_rate_helpful" === e.type }, is_type_notification_rate_helpless: function (e) { return "notification_rate_helpless" === e.type }, replaceUrl: function (e) { if (!e) return e; var t = /(https?:\/\/|www\.)[a-zA-Z_0-9\-@]+(\.\w[a-zA-Z_0-9\-:]+)+(\/[()~#&\-=?+%\/.\w]+)?/g; return e.replace(t, function (e) { return '<a href="' + e + '" target="_blank">' + e + "</a>" }) }, replaceFace: function (e) { if (null === e || void 0 === e) return ""; var t = bd_kfe_utils.replaceUrl(e), s = bd_kfe_data.emotionMap, a = /\[[\u4E00-\u9FA5NoOK]+\]/g, i = t.match(a), n = t; if (i) for (var d = 0; d < i.length; d++)n = n.replace(i[d], "<img height='25px' width='25px' style='margin-bottom:4px;' src='" + bd_kfe_data.emotionBaseUrl + s[i[d]] + "'>"); return n }, scrollToBottom: function () { $("#bytedesk_message_ul").animate({ scrollTop: $("#bytedesk_message_ul")[0].scrollHeight }, "fast") }, pushToMessageArray: function (e) { var t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1], s = !1; if ("sending" === e.status) bd_kfe_data.messages.push(e); else { if (bd_kfe_data.messages.length > 0) { var a = bd_kfe_data.messages[bd_kfe_data.messages.length - 1]; if (bd_kfe_utils.is_type_close(a) && bd_kfe_utils.is_type_close(e)) return } for (var i = bd_kfe_data.messages.length - 1; i >= 0; i--) { var a = bd_kfe_data.messages[i]; a.mid === e.mid && (bd_kfe_data.messages.splice(i, 1), bd_kfe_data.messages.push(e), s = !0) } } if (!s) { if (bd_kfe_data.messages.push(e), bd_kfe_utils.is_type_commodity(e)) { var n = "<div id='goods' class='bytedesk_goods_info'><div class='bytedesk_goods_pic'><img id='bytedesk_goods_pic' width='50px' height='50px' src='" + JSON.parse(e.content).imageUrl + "'/></div><div class='bytedesk_goods_desc'><div id='bytedesk_goods_name' class='bytedesk_goods_name'>" + JSON.parse(e.content).title + "</div><div class='bytedesk_goods_more'><div id='bytedesk_goods_price' class='bytedesk_goods_price'>¥" + JSON.parse(e.content).price + "</div><div id='bytedesk_goods_sendlink' class='bytedesk_goods_sendlink' onclick='bd_kfe_stompapi.sendCommodityMessageSync()'>发送链接</div></div></div></div>"; t ? $("#bytedesk_message_li").prepend("<li><p class='bytedesk_timestamp'><span>" + e.createdAt + "</span><br/><span>" + n + "</span></p></li>") : $("#bytedesk_message_li").append("<li><p class='bytedesk_timestamp'><span>" + e.createdAt + "</span><br/><span>" + n + "</span></p></li>") } else if (bd_kfe_utils.is_type_notification_agent_close(e)) { var d = "联系客服", r = "客服关闭会话"; "en" === bd_kfe_data.lang && (d = "Contact Agent", r = "agent close thread"), t ? $("#bytedesk_message_li").prepend("<li><p class='bytedesk_timestamp'><span style='color:#007bff; cursor: pointer;' onclick='bd_kfe_httpapi.requestThread(true)'>" + d + "</span><br/><span>" + r + "</span></p></li>") : $("#bytedesk_message_li").append("<li><p class='bytedesk_timestamp'><span style='color:#007bff; cursor: pointer;' onclick='bd_kfe_httpapi.requestThread(true)'>" + d + "</span><br/><span>" + r + "</span></p></li>") } else if (bd_kfe_utils.is_type_notification_visitor_close(e)) { var d = "联系客服", r = "访客关闭会话"; "en" === bd_kfe_data.lang && (d = "Contact Agent", r = "visitor close thread"), t ? $("#bytedesk_message_li").prepend("<li><p class='bytedesk_timestamp'><span style='color:#007bff; cursor: pointer;' onclick='bd_kfe_httpapi.requestThread(true)'>" + d + "</span><br/><span>" + r + "</span></p></li>") : $("#bytedesk_message_li").append("<li><p class='bytedesk_timestamp'><span style='color:#007bff; cursor: pointer;' onclick='bd_kfe_httpapi.requestThread(true)'>" + d + "</span><br/><span>" + r + "</span></p></li>") } else if (bd_kfe_utils.is_type_notification_auto_close(e)) { var d = "联系客服", r = "长时间没有对话,系统自动关闭会话"; "en" === bd_kfe_data.lang && (d = "Contact Agent", r = "system close thread"), t ? $("#bytedesk_message_li").prepend("<li><p class='bytedesk_timestamp'><span style='color:#007bff; cursor: pointer;' onclick='bd_kfe_httpapi.requestThread(true)'>" + d + "</span><br/><span>" + r + "</span></p></li>") : $("#bytedesk_message_li").append("<li><p class='bytedesk_timestamp'><span style='color:#007bff; cursor: pointer;' onclick='bd_kfe_httpapi.requestThread(true)'>" + d + "</span><br/><span>" + r + "</span></p></li>") } else if (bd_kfe_utils.is_type_notification_queue_accept(e)) { var d = "接入会话"; "en" === bd_kfe_data.lang && (d = "start chat"), t ? $("#bytedesk_message_li").prepend("<li><p class='bytedesk_timestamp'><span>" + e.createdAt + "</span><br/><span>" + d + "</span></p></li>") : $("#bytedesk_message_li").append("<li><p class='bytedesk_timestamp'><span>" + e.createdAt + "</span><br/><span>" + d + "</span></p></li>") } else if (bd_kfe_utils.is_type_notification_invite_rate(e)) { var d = "邀请评价"; "en" === bd_kfe_data.lang && (d = "invite rate"), t ? $("#bytedesk_message_li").prepend("<li><p class='bytedesk_timestamp'><span>" + e.createdAt + "</span><br/><span>" + d + "</span></p></li>") : $("#bytedesk_message_li").append("<li><p class='bytedesk_timestamp'><span>" + e.createdAt + "</span><br/><span>" + d + "</span></p></li>") } else if (bd_kfe_utils.is_type_notification_rate_result(e)) { var d = "已评价"; "en" === bd_kfe_data.lang && (d = "rated"), t ? $("#bytedesk_message_li").prepend("<li><p class='bytedesk_timestamp'><span>" + e.createdAt + "</span><br/><span>" + d + "</span></p></li>") : $("#bytedesk_message_li").append("<li><p class='bytedesk_timestamp'><span>" + e.createdAt + "</span><br/><span>" + d + "</span></p></li>") } else if (bd_kfe_utils.is_type_notification_rate_helpful(e)) t ? $("#bytedesk_message_li").prepend("<li><p class='bytedesk_timestamp'><span>" + e.createdAt + "</span><br/><span>" + e.content + "</span></p></li>") : $("#bytedesk_message_li").append("<li><p class='bytedesk_timestamp'><span>" + e.createdAt + "</span><br/><span>" + e.content + "</span></p></li>"); else if (bd_kfe_utils.is_type_notification_rate_helpless(e)) { var d = "人工客服"; "en" === bd_kfe_data.lang && (d = "Contact Agent"), t ? $("#bytedesk_message_li").prepend("<li><p class='bytedesk_timestamp'><span style='color:#007bff; cursor: pointer;' onclick='bd_kfe_httpapi.requestAgent()'>" + d + "</span></p></li>") : $("#bytedesk_message_li").append("<li><p class='bytedesk_timestamp'><span style='color:#007bff; cursor: pointer;' onclick='bd_kfe_httpapi.requestAgent()'>" + d + "</span></p></li>") } else if (bd_kfe_utils.is_type_notification(e)) t ? $("#bytedesk_message_li").prepend("<li><p class='bytedesk_timestamp'><span>" + e.createdAt + "</span><br/><span>" + e.content + "</span></p></li>") : $("#bytedesk_message_li").append("<li><p class='bytedesk_timestamp'><span>" + e.createdAt + "</span><br/><span>" + e.content + "</span></p></li>"); else { var n = "<p class='bytedesk_timestamp'><span>" + e.createdAt + "</span><br/></p>"; if (n += "<img class='bytedesk_avatar' width='30' height='30' src='" + e.user.avatar + "'/>", bd_kfe_utils.is_type_text(e)) { var o = ""; if (void 0 != e.answers) for (var _ = 0; _ < e.answers.length; _++) { var c = e.answers[_]; o += "<br/><span style='color:#007bff; cursor: pointer;' onclick='bd_kfe_httpapi.queryAnswer(" + c.aid + ',"' + encodeURIComponent(c.question) + '","' + encodeURIComponent(c.answer) + "\")'>" + c.question + "</span>" } if (n += "<div class='bytedesk_text' id='content-" + e.mid + "'>" + bd_kfe_utils.replaceFace(e.content) + o + "</div>", bd_kfe_utils.is_self(e)) if ("received" === e.status) { var d = "送达"; "en" === bd_kfe_data.lang && (d = "received"), n += "<div class='bytedesk_status' id='status-" + e.mid + "'>" + d + "</div>" } else if ("read" === e.status) { var d = "已读"; "en" === bd_kfe_data.lang && (d = "read"), n += "<div class='bytedesk_status' id='status-" + e.mid + "'>" + d + "</div>" } else n += "<div class='bytedesk_status' id='status-" + e.mid + "'></div>" } else if (bd_kfe_utils.is_type_image(e)) { if (n += "<div class='bytedesk_image-bubble' id='content-" + e.mid + "'><img src='" + e.imageUrl + "' alt='[图片]' class='bytedesk_image' onclick=\"bd_kfe_utils.imageClicked('" + encodeURI(e.imageUrl) + "')\"/></div>", bd_kfe_utils.is_self(e)) if ("received" === e.status) { var d = "送达"; "en" === bd_kfe_data.lang && (d = "received"), n += "<div class='bytedesk_status' id='status-" + e.mid + "'>" + d + "</div>" } else if ("read" === e.status) { var d = "已读"; "en" === bd_kfe_data.lang && (d = "read"), n += "<div class='bytedesk_status' id='status-" + e.mid + "'>" + d + "</div>" } else n += "<div class='bytedesk_status' id='status-" + e.mid + "'></div>" } else if (bd_kfe_utils.is_type_file(e)) { if (n += "<div class='bytedesk_text' id='content-" + e.mid + "'><span><a href='" + encodeURI(e.fileUrl) + "' target='_blank'>查看文件</a></span ></div>", bd_kfe_utils.is_self(e)) if ("received" === e.status) { var d = "送达"; "en" === bd_kfe_data.lang && (d = "received"), n += "<div class='bytedesk_status' id='status-" + e.mid + "'>" + d + "</div>" } else if ("read" === e.status) { var d = "已读"; "en" === bd_kfe_data.lang && (d = "read"), n += "<div class='bytedesk_status' id='status-" + e.mid + "'>" + d + "</div>" } else n += "<div class='bytedesk_status' id='status-" + e.mid + "'></div>" } else if (bd_kfe_utils.is_type_voice(e)) { if (n += '<audio controls><source src="' + e.voiceUrl + '" type = "audio/ogg"><source src="' + e.voiceUrl + '" type="audio/mpeg">Your browser does not support the audio element.</audio>', bd_kfe_utils.is_self(e)) if ("received" === e.status) { var d = "送达"; "en" === bd_kfe_data.lang && (d = "received"), n += "<div class='bytedesk_status' id='status-" + e.mid + "'>" + d + "</div>" } else if ("read" === e.status) { var d = "已读"; "en" === bd_kfe_data.lang && (d = "read"), n += "<div class='bytedesk_status' id='status-" + e.mid + "'>" + d + "</div>" } else n += "<div class='bytedesk_status' id='status-" + e.mid + "'></div>" } else if (bd_kfe_utils.is_type_video(e)) { if (n += "<div class='bytedesk_video-bubble' id='content-" + e.mid + '\'><video width="220" height="200" controls><source src="' + e.videoOrShortUrl + '" type = "video/mp4"><source src="' + e.videoOrShortUrl + '" type="video/ogg">Your browser does not support the video tag.</video></div>', bd_kfe_utils.is_self(e)) if ("received" === e.status) { var d = "送达"; "en" === bd_kfe_data.lang && (d = "received"), n += "<div class='bytedesk_status' id='status-" + e.mid + "'>" + d + "</div>" } else if ("read" === e.status) { var d = "已读"; "en" === bd_kfe_data.lang && (d = "read"), n += "<div class='bytedesk_status' id='status-" + e.mid + "'>" + d + "</div>" } else n += "<div class='bytedesk_status' id='status-" + e.mid + "'></div>" } else if (bd_kfe_utils.is_type_card(e)) { if (n += "<div class='bytedesk_text' id='content-" + e.mid + "'><a href=" + JSON.parse(e.content).content + ' target="_blank">' + JSON.parse(e.content).name + "</a></div>", bd_kfe_utils.is_self(e)) if ("received" === e.status) { var d = "送达"; "en" === bd_kfe_data.lang && (d = "received"), n += "<div class='bytedesk_status' id='status-" + e.mid + "'>" + d + "</div>" } else if ("read" === e.status) { var d = "已读"; "en" === bd_kfe_data.lang && (d = "read"), n += "<div class='bytedesk_status' id='status-" + e.mid + "'>" + d + "</div>" } else n += "<div class='bytedesk_status' id='status-" + e.mid + "'></div>" } else if (bd_kfe_utils.is_type_robot(e)) { var l = !1; void 0 !== e.content && null !== e.content && e.content.length > 0 && (l = !0); var o = ""; if (void 0 != e.answers) for (var _ = 0; _ < e.answers.length; _++) { var c = e.answers[_]; o += (l ? "<br/>" : "") + "<span style='color:#007bff; cursor: pointer;' onclick='bd_kfe_httpapi.queryAnswer(" + c.aid + ',"' + encodeURIComponent(c.question) + '","' + encodeURIComponent(c.answer) + "\")'>" + c.question + "</span>" } n += "<div class='bytedesk_text'>" + (l ? "<span>" + e.content + "</span>" : "") + o + "</div>" } else if (bd_kfe_utils.is_type_robot_v2(e)) { var p = ""; if (void 0 != e.categories) for (var _ = 0; _ < e.categories.length; _++) { var u = e.categories[_]; p += "<br/><span style='color:#007bff; cursor: pointer;' onclick='bd_kfe_httpapi.queryCategory(" + u.cid + ',"' + u.name + "\")'>" + u.name + "</span>" } n += "<div class='bytedesk_text'><span>" + e.content + "</span>" + p + "</div>" } else if (bd_kfe_utils.is_type_form_request(e)) n += "<div class='bytedesk_text' id='content-" + e.mid + "'>请求表单</div>"; else if (bd_kfe_utils.is_type_form_result(e)) n += "<div class='bytedesk_text'><div>姓名:" + JSON.parse(e.content).form.realname + "</div><div>手机:" + JSON.parse(e.content).form.mobile + "</div><div>邮箱:" + JSON.parse(e.content).form.email + "</div><div>年龄:" + JSON.parse(e.content).form.age + "</div><div>工作:" + JSON.parse(e.content).form.job + "</div></div>"; else if (bd_kfe_utils.is_type_notification_thread_reentry(e)) { var o = ""; if (void 0 != e.answers) for (var _ = 0; _ < e.answers.length; _++) { var c = e.answers[_]; o += "<br/><span style='color:#007bff; cursor: pointer;' onclick='bd_kfe_httpapi.queryAnswer(" + c.aid + ',"' + encodeURIComponent(c.question) + '","' + encodeURIComponent(c.answer) + "\")'>" + c.question + "</span>" } n += "<div class='bytedesk_text' id='content-" + e.mid + "'>" + e.content + o + "</div>" } else if (bd_kfe_utils.is_type_notification_offline(e)) { var o = ""; if (void 0 != e.answers) for (var _ = 0; _ < e.answers.length; _++) { var c = e.answers[_]; o += "<br/><span style='color:#007bff; cursor: pointer;' onclick='bd_kfe_httpapi.queryAnswer(" + c.aid + ',"' + encodeURIComponent(c.question) + '","' + encodeURIComponent(c.answer) + "\")'>" + c.question + "</span>" } n += "<div class='bytedesk_text' id='content-" + e.mid + "'>" + e.content + o + "</div>" } else if (bd_kfe_utils.is_type_notification_non_working_time(e)) { var o = ""; if (void 0 != e.answers) for (var _ = 0; _ < e.answers.length; _++) { var c = e.answers[_]; o += "<br/><span style='color:#007bff; cursor: pointer;' onclick='bd_kfe_httpapi.queryAnswer(" + c.aid + ',"' + encodeURIComponent(c.question) + '","' + encodeURIComponent(c.answer) + "\")'>" + c.question + "</span>" } n += "<div class='bytedesk_text' id='content-" + e.mid + "'>" + e.content + o + "</div>" } else if (bd_kfe_utils.is_type_notification_queue(e)) { var o = ""; if (void 0 != e.answers) for (var _ = 0; _ < e.answers.length; _++) { var c = e.answers[_]; o += "<br/><span style='color:#007bff; cursor: pointer;' onclick='bd_kfe_httpapi.queryAnswer(" + c.aid + ',"' + encodeURIComponent(c.question) + '","' + encodeURIComponent(c.answer) + "\")'>" + c.question + "</span>" } n += "<div class='bytedesk_text' id='content-" + e.mid + "'>" + e.content + o + "</div>" } bd_kfe_utils.is_self(e) ? t ? $("#bytedesk_message_li").prepend("<li><div class='self'>" + n + "</div></li>") : $("#bytedesk_message_li").append("<li><div class='self'>" + n + "</div></li>") : t ? $("#bytedesk_message_li").prepend("<li><div class='other' id='other" + e.mid + "'>" + n + "</div></li>") : $("#bytedesk_message_li").append("<li><div class='other' id='other" + e.mid + "'>" + n + "</div></li>") } t || bd_kfe_utils.scrollToBottom() } }, pushRightAnswerToMessageArray: function (e) { if (e.status === bd_kfe_data.MESSAGE_STATUS_SENDING) return void bd_kfe_data.messages.push(e); for (var t = !1, s = bd_kfe_data.messages.length - 1; s >= 0; s--) { bd_kfe_data.messages[s].mid === e.mid && (bd_kfe_data.messages.splice(s, 1), bd_kfe_data.messages.push(e), t = !0) } if (!t) { bd_kfe_data.messages.push(e); var a = "<p class='bytedesk_timestamp'><span>" + e.createdAt + "</span><br/></p>"; a += "<img class='bytedesk_avatar' width='30' height='30' src='" + e.user.avatar + "'/>"; var i = !1; void 0 !== e.content && null !== e.content && e.content.length > 0 && (i = !0); for (var n = "", d = 0; d < e.answers.length; d++) { var r = e.answers[d]; n += (i ? "<br/>" : "") + "<span style='color:#007bff; cursor: pointer;' onclick='bd_kfe_httpapi.queryAnswer(" + r.aid + ',"' + encodeURIComponent(r.question) + '","' + encodeURIComponent(r.answer) + "\")'>" + r.question + "</span>" } var o = "有帮助", _ = "无帮助"; "en" === bd_kfe_data.lang && (o = "Helpfull", _ = "Helpless"); var c = "<br/><span style='color:#007bff; cursor: pointer;' onclick='bd_kfe_httpapi.rateAnswer(\"" + e.answer.aid + '","' + e.mid + "\",true)'>" + o + "</span><span style='color:#007bff; cursor: pointer; margin-left: 5px;' onclick='bd_kfe_httpapi.rateAnswer(\"" + e.answer.aid + '","' + e.mid + "\",false)'>" + _ + "</span>"; a += "<div class='bytedesk_text' id='content-" + e.mid + "'>" + (i ? "<span>" + e.content + "</span>" : "") + n + c + "</div>"; $("#bytedesk_message_li").append("<li><div class='other'>" + a + "</div></li>"), bd_kfe_utils.scrollToBottom() } }, pushNoAnswerToMessageArray: function (e) { if ("sending" === e.status) return void bd_kfe_data.messages.push(e); for (var t = !1, s = bd_kfe_data.messages.length - 1; s >= 0; s--) { bd_kfe_data.messages[s].mid === e.mid && (bd_kfe_data.messages.splice(s, 1), bd_kfe_data.messages.push(e), t = !0) } if (!t) { bd_kfe_data.messages.push(e); var a = "<p class='bytedesk_timestamp'><span>" + e.createdAt + "</span><br/></p>"; a += "<img class='bytedesk_avatar' width='30' height='30' src='" + e.user.avatar + "'/>"; for (var i = "", n = 0; n < e.answers.length; n++) { var d = e.answers[n]; i += "<br/><span style='color:#007bff; cursor: pointer;' onclick='bd_kfe_httpapi.queryAnswer(" + d.aid + ',"' + encodeURIComponent(d.question) + '","' + encodeURIComponent(d.answer) + "\")'>" + d.question + "</span>" } var r = "人工客服"; "en" === bd_kfe_data.lang && (r = "Contact Agent"); var o = "<br/><span style='color:#007bff; cursor: pointer;' onclick='bd_kfe_httpapi.requestAgent()'>" + r + "</span>"; a += "<div class='bytedesk_text'><span>" + e.content + "</span>" + i + o + "</div>", $("#bytedesk_message_li").append("<li><div class='other'>" + a + "</div></li>"), bd_kfe_utils.scrollToBottom() } }, browserTitleNotification: function () { var e = "(新消息)"; "en" === bd_kfe_data.lang && (e = "(New Message)"), document.title = e + bd_kfe_data.browserTitle }, restoreBrowserTitle: function () { document.title = bd_kfe_data.browserTitle }, requestNotification: function () { window.Notification && "granted" !== Notification.permission && Notification.requestPermission(function (e) { }) }, showNotification: function (e) { var t = "萝卜丝"; "en" === bd_kfe_data.lang && (t = "Bytedesk"); var s = new Notification(t, { body: e, icon: "https://cdn.bytedesk.com/assets/icon/64.png" }); s.onshow = function () { }, s.onclick = function () { }, s.onclose = function () { }, s.onerror = function () { } }, getUrlParam: function (e) { var t = new RegExp("(^|&)" + e + "=([^&]*)(&|$)"), s = window.location.search.substr(1).match(t); return null != s ? decodeURIComponent(s[2]) : null }, pushAnswers: function (e) { e.length > 0 && $("#bytedesk_question-null").remove(); for (var t = "", s = 0; s < e.length; s++) { var a = e[s]; t += "<li class='bytedesk_question' onclick='bd_kfe_httpapi.queryAnswer(" + a.aid + ',"' + encodeURIComponent(a.question) + '","' + encodeURIComponent(a.answer) + "\")'>" + a.question + "</li>" } $("#bytedesk_question").append(t) }, updateConnection: function (e) { e ? $("#bytedesk_connected-image").attr("src", "https://bytedesk.oss-cn-shenzhen.aliyuncs.com/util/connected.png") : $("#bytedesk_connected-image").attr("src", "https://bytedesk.oss-cn-shenzhen.aliyuncs.com/util/disconnected.png") }, onKeyUp: function (e) { 13 === (e.keyCode || window.event.keyCode) && bd_kfe_stompapi.sendTextMessage(), bd_kfe_stompapi.onInputChange() }, toggleInputTip: function (e) { e ? "en" === bd_kfe_data.lang ? $("#bytedesk_agent_description").text("inputing") : $("#bytedesk_agent_description").text("对方正在输入") : $("#bytedesk_agent_description").text(bd_kfe_data.agentDescription) }, showRightColumn: function (e) { $("#bytedesk_right").show(), 0 === e.length && (console.log("默认显示faq-0"), $("#bytedesk_right_tab").append("<button class='bytedesk_right_tablinks'>常见问题</button>"), $("#bytedesk_right_tabcontent").append("<div id='faq' class='bytedesk_right_tabcontent'><div id=\"bytedesk_question\"></div></div >"), bd_kfe_httpapi.getTopAnswers()); for (var t = !1, s = 0; s < e.length; s++) { var a = e[s]; a.published && (t = !0, $("#bytedesk_right_tab").append("<button class='bytedesk_right_tablinks' onclick='bd_kfe_utils.switchRightTab(event, \"" + a.wid + "\")'>" + a.title + "</button>"), "faq" === a.type ? ($("#bytedesk_right_tabcontent").append("<div id='" + a.wid + "' class='bytedesk_right_tabcontent'><div id=\"bytedesk_question\"></div></div >"), bd_kfe_httpapi.getTopAnswers()) : "card" === a.type ? $("#bytedesk_right_tabcontent").append("<div id='" + a.wid + "' class='bytedesk_right_tabcontent'>TODO:CARD</div >") : "url" === a.type ? $("#bytedesk_right_tabcontent").append("<div id='" + a.wid + '\' class=\'bytedesk_right_tabcontent\'><iframe id="bytedesk_right_iframePanel" class="bytedesk_right_fusion" src="' + a.content + '"></iframe></div >') : "custom" === a.type ? $("#bytedesk_right_tabcontent").append("<div id='" + a.wid + "' class='bytedesk_right_tabcontent'>" + a.content + "</div >") : $("#bytedesk_right_tabcontent").append("<div id='" + a.wid + "' class='bytedesk_right_tabcontent'><h3>" + a.title + "</h3><p>未知类型.</p></div >")) } t || (console.log("默认显示faq-1"), $("#bytedesk_right_tab").append("<button class='bytedesk_right_tablinks'>常见问题</button>"), $("#bytedesk_right_tabcontent").append("<div id='faq' class='bytedesk_right_tabcontent'><div id=\"bytedesk_question\"></div></div >"), bd_kfe_httpapi.getTopAnswers()), bd_kfe_utils.rightTabInit() }, switchRightTab: function (e, t) { var s, a, i; for (a = document.getElementsByClassName("bytedesk_right_tabcontent"), s = 0; s < a.length; s++)a[s].style.display = "none"; for (i = document.getElementsByClassName("bytedesk_right_tablinks"), s = 0; s < i.length; s++)i[s].className = i[s].className.replace(" active", ""); document.getElementById(t).style.display = "block", e.currentTarget.className += " active" }, rightTabInit: function () { var e = document.getElementsByClassName("bytedesk_right_tablinks"); e.length > 0 && (e[0].className += " active"); for (var t = document.getElementsByClassName("bytedesk_right_tabcontent"), s = 1; s < t.length; s++)t[s].style.display = "none" }, dragRightColumnInit: function () { var e = document.getElementById("bytedesk_resize"), t = document.getElementById("bytedesk_left"), s = document.getElementById("bytedesk_right"), a = document.getElementById("bytedesk_main"); e.onmousedown = function (i) { var n = i.clientX; return e.left = e.offsetLeft, document.onmousemove = function (i) { var d = i.clientX, r = e.left + (d - n), o = a.clientWidth - e.offsetWidth; r < 150 && (r = 150), r > o - 150 && (r = o - 150), e.style.left = r, t.style.width = r + "px", s.style.width = a.clientWidth - r - 5 + "px" }, document.onmouseup = function (t) { document.onmousemove = null, document.onmouseup = null, e.releaseCapture && e.releaseCapture() }, e.setCapture && e.setCapture(), !1 } }, toggleRequestAgentTip: function (e) { e ? ($("#bytedesk_message_agent").show(), $("#bytedesk_upload_image").hide(), $("#bytedesk_upload_video").hide(), $("#bytedesk_upload_file").hide(), $("#bytedesk_message_rate").hide()) : ($("#bytedesk_message_agent").hide(), $("#bytedesk_upload_image").show(), $("#bytedesk_upload_video").show(), $("#bytedesk_upload_file").show(), $("#bytedesk_message_rate").show()) }, rateStarChoose: function (e) { 1 == e ? ("https://cdn.bytedesk.com/assets/img/rate/ratestar_selected.png" == $("#ratestar1").attr("src") ? ($("#ratestar2").attr("src", "https://cdn.bytedesk.com/assets/img/rate/ratestar_unselected.png"), $("#ratestar3").attr("src", "https://cdn.bytedesk.com/assets/img/rate/ratestar_unselected.png"), $("#ratestar4").attr("src", "https://cdn.bytedesk.com/assets/img/rate/ratestar_unselected.png"), $("#ratestar5").attr("src", "https://cdn.bytedesk.com/assets/img/rate/ratestar_unselected.png")) : $("#ratestar1").attr("src", "https://cdn.bytedesk.com/assets/img/rate/ratestar_selected.png"), $("#ratescore").text("恶劣"), bd_kfe_data.rateScore = 1) : 2 == e ? ("https://cdn.bytedesk.com/assets/img/rate/ratestar_selected.png" == $("#ratestar2").attr("src") ? ($("#ratestar3").attr("src", "https://cdn.bytedesk.com/assets/img/rate/ratestar_unselected.png"), $("#ratestar4").attr("src", "https://cdn.bytedesk.com/assets/img/rate/ratestar_unselected.png"), $("#ratestar5").attr("src", "https://cdn.bytedesk.com/assets/img/rate/ratestar_unselected.png")) : ($("#ratestar1").attr("src", "https://cdn.bytedesk.com/assets/img/rate/ratestar_selected.png"), $("#ratestar2").attr("src", "https://cdn.bytedesk.com/assets/img/rate/ratestar_selected.png")), $("#ratescore").text("较差"), bd_kfe_data.rateScore = 2) : 3 == e ? ("https://cdn.bytedesk.com/assets/img/rate/ratestar_selected.png" == $("#ratestar3").attr("src") ? ($("#ratestar4").attr("src", "https://cdn.bytedesk.com/assets/img/rate/ratestar_unselected.png"), $("#ratestar5").attr("src", "https://cdn.bytedesk.com/assets/img/rate/ratestar_unselected.png")) : ($("#ratestar2").attr("src", "https://cdn.bytedesk.com/assets/img/rate/ratestar_selected.png"), $("#ratestar3").attr("src", "https://cdn.bytedesk.com/assets/img/rate/ratestar_selected.png")), $("#ratescore").text("一般"), bd_kfe_data.rateScore = 3) : 4 == e ? ("https://cdn.bytedesk.com/assets/img/rate/ratestar_selected.png" == $("#ratestar4").attr("src") ? $("#ratestar5").attr("src", "https://cdn.bytedesk.com/assets/img/rate/ratestar_unselected.png") : ($("#ratestar1").attr("src", "https://cdn.bytedesk.com/assets/img/rate/ratestar_selected.png"), $("#ratestar2").attr("src", "https://cdn.bytedesk.com/assets/img/rate/ratestar_selected.png"), $("#ratestar3").attr("src", "https://cdn.bytedesk.com/assets/img/rate/ratestar_selected.png"), $("#ratestar4").attr("src", "https://cdn.bytedesk.com/assets/img/rate/ratestar_selected.png")), $("#ratescore").text("较好"), bd_kfe_data.rateScore = 4) : 5 == e && ("https://cdn.bytedesk.com/assets/img/rate/ratestar_selected.png" == $("#ratestar5").attr("src") || ($("#ratestar1").attr("src", "https://cdn.bytedesk.com/assets/img/rate/ratestar_selected.png"), $("#ratestar2").attr("src", "https://cdn.bytedesk.com/assets/img/rate/ratestar_selected.png"), $("#ratestar3").attr("src", "https://cdn.bytedesk.com/assets/img/rate/ratestar_selected.png"), $("#ratestar4").attr("src", "https://cdn.bytedesk.com/assets/img/rate/ratestar_selected.png"), $("#ratestar5").attr("src", "https://cdn.bytedesk.com/assets/img/rate/ratestar_selected.png")), $("#ratescore").text("非常满意"), bd_kfe_data.rateScore = 5) }, guid: function () { function e() { return Math.floor(65536 * (1 + Math.random())).toString(16).substring(1) } return moment(new Date).format("YYYYMMDDHHmmss") + e() + e() + e() + e() + e() + e() + e() + e() }, currentTimestamp: function () { return moment().format("YYYY-MM-DD HH:mm:ss") }, timeUuid: function () { return moment(new Date).format("YYYYMMDDHHmmss") }, isMobile: function () { return function () { return navigator.userAgent.match(/Android/i) }() || function () { return navigator.userAgent.match(/BlackBerry/i) }() || function () { return navigator.userAgent.match(/iPhone|iPad|iPod/i) }() || function () { return navigator.userAgent.match(/Opera Mini/i) }() || function () { return navigator.userAgent.match(/IEMobile/i) }() }, emotionClicked: function (e) { bd_kfe_utils.printLog("imageclicked:" + e); var t = $("#bytedesk_input_textarea").val(); $("#bytedesk_input_textarea").val(t + e), $("#bytedesk_input-emoji-box").hide(), bd_kfe_data.show_emoji = !1 }, playAudio: function () { if (!bd_kfe_data.voiceMuted) { document.getElementById("audioPlay").play() } }, uploadVideo: function (e) { var t = bd_kfe_utils.timeUuid() + "_" + bd_kfe_data.username + "_" + e.name, s = new FormData; s.append("file_name", t), s.append("username", bd_kfe_data.username), s.append("file", e), s.append("client", bd_kfe_data.client), $.ajax({ url: bd_kfe_data.HTTP_HOST + "/visitor/api/upload/video", contentType: !1, cache: !1, processData: !1, mimeTypes: "multipart/form-data", type: "post", data: s, success: function (e) { bd_kfe_utils.printLog("upload video response:" + JSON.stringify(e.data)); var t = e.data; bd_kfe_stompapi.sendVideoMessage(t) }, error: function (e) { bd_kfe_utils.printLog(e) } }) }, uploadFile: function (e) { var t = bd_kfe_utils.timeUuid() + "_" + bd_kfe_data.username + "_" + e.name, s = new FormData; s.append("file_name", t), s.append("username", bd_kfe_data.username), s.append("file", e), s.append("client", bd_kfe_data.client), $.ajax({ url: bd_kfe_data.HTTP_HOST + "/visitor/api/upload/file", contentType: !1, cache: !1, processData: !1, mimeTypes: "multipart/form-data", type: "post", data: s, success: function (t) { bd_kfe_utils.printLog("upload response:" + JSON.stringify(t.data)); var s = t.data; e.type.startsWith("image") ? bd_kfe_stompapi.sendImageMessage(s) : e.type.startsWith("audio") ? bd_kfe_stompapi.sendVoiceMessage(s) : e.type.startsWith("video") ? bd_kfe_stompapi.sendVideoMessage(s) : bd_kfe_stompapi.sendFileMessage(s) }, error: function (e) { bd_kfe_utils.printLog(e) } }) }, uploadImage: function (e) { bd_kfe_utils.compressImage(e, function (t) { var s = bd_kfe_utils.timeUuid() + "_" + bd_kfe_data.username + "_" + e.name, a = new FormData; a.append("file_name", s), a.append("username", bd_kfe_data.username), a.append("file", t), a.append("client", bd_kfe_data.client), $.ajax({ url: bd_kfe_data.HTTP_HOST + "/visitor/api/upload/image", contentType: !1, cache: !1, processData: !1, mimeTypes: "multipart/form-data", type: "post", data: a, success: function (e) { bd_kfe_utils.printLog("upload response:" + JSON.stringify(e.data)); var t = e.data; bd_kfe_stompapi.sendImageMessage(t) }, error: function (e) { bd_kfe_utils.printLog(e) } }) }) }, imgReader: function (e) { var t = e.getAsFile(); bd_kfe_utils.uploadImage(t) }, compressImage: function (e, t) { if (!(e.size > 1048576)) return bd_kfe_utils.printLog("图片小于1M直接上传"), t(e); bd_kfe_utils.printLog("图片大于1M进行压缩"), bd_kfe_utils.canvasDataURL(e, function (s) { var a = new File([s], e.name, { type: e.type }); e.size < a.size ? e.size : a.size, bd_kfe_utils.printLog("file.size:" + e.size / 1024 / 1024), bd_kfe_utils.printLog("newFile.size: " + a.size / 1024 / 1024), e.size < a.size && t(e), t(a) }) }, canvasDataURL: function (e, t) { console.log("canvasDataURL"); var s = new FileReader; s.readAsDataURL(e), s.onload = function (e) { var s = new Image, a = document.createElement("canvas"), i = a.getContext("2d"); s.src = this.result, s.onload = function () { return a.width = s.width, a.height = s.height, i.drawImage(s, 0, 0, a.width, a.height), bd_kfe_utils.convertBase64UrlToBlob(a.toDataURL("image/jpeg", .3), t) } } }, convertBase64UrlToBlob: function (e, t) { console.log("convertBase64UrlToBlob"); for (var s = window.atob(e.split(",")[1]), a = new ArrayBuffer(s.length), i = new Uint8Array(a), n = 0; n < s.length; n++)i[n] = s.charCodeAt(n); t(new Blob([a], { type: "image/jpeg" })) }, escapeHTML: function (e) { return e.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">") }, str2bytes: function (e) { for (var t = [], s = 0, a = e.length; s < a; ++s) { var i = e.charCodeAt(s), n = 255 & i; t.push(n) } return t }, handleQuickbuttonClick: function (e, t, s) { if ("url" === e) window.open(s); else { var a = bd_kfe_utils.guid(), i = { mid: a, type: "text", content: t, createdAt: bd_kfe_utils.currentTimestamp(), localId: a, status: "stored", user: { uid: bd_kfe_data.my_uid(), username: bd_kfe_data.my_username(), nickname: bd_kfe_data.my_nickname(), avatar: bd_kfe_data.my_avatar() } }; bd_kfe_utils.pushToMessageArray(i); var n = bd_kfe_utils.guid(), d = { mid: n, type: "text", content: s, createdAt: bd_kfe_utils.currentTimestamp(), localId: a, status: "stored", user: { uid: "", username: "", nickname: bd_kfe_data.agentNickname, avatar: bd_kfe_data.agentAvatar } }; bd_kfe_utils.pushToMessageArray(d) } }, handleFaqPreviewItemClicked: function (e, t) { $("#bytedesk_faq_preview").hide(); var s = bd_kfe_utils.guid(), a = { mid: s, type: "text", content: decodeURIComponent(e), createdAt: bd_kfe_utils.currentTimestamp(), localId: s, status: "stored", user: { uid: bd_kfe_data.my_uid(), username: bd_kfe_data.my_username(), nickname: bd_kfe_data.my_nickname(), avatar: bd_kfe_data.my_avatar() } }; bd_kfe_utils.pushToMessageArray(a); var i = bd_kfe_utils.guid(), n = { mid: i, type: "text", content: decodeURIComponent(t), createdAt: bd_kfe_utils.currentTimestamp(), localId: s, status: "stored", user: { uid: "", username: "", nickname: "系统", avatar: "https://chainsnow.oss-cn-shenzhen.aliyuncs.com/avatars/admin_default_avatar.png" } }; bd_kfe_utils.pushToMessageArray(n) }, getLocation: function () { navigator.geolocation ? navigator.geolocation.getCurrentPosition(showPosition) : bd_kfe_utils.printLog("该浏览器不支持获取地理位置。") }, showPosition: function (e) { bd_kfe_utils.printLog("position: " + JSON.stringify(e)), bd_kfe_utils.printLog("纬度: " + e.coords.latitude + "经度: " + e.coords.longitude) }, showQrcode: function (e) { document.getElementById("bytedesk_qrcode_h5") && (document.getElementById("bytedesk_qrcode_h5").innerHTML = ""), new QRCode("bytedesk_qrcode_h5", { text: e, width: 200, height: 200, colorDark: "#000000", colorLight: "#ffffff", correctLevel: QRCode.CorrectLevel.H }) }, download: function (e, t) { var s = document.createElement("a"); s.setAttribute("href", "data:text/plain;charset=utf-8," + encodeURIComponent(t)), s.setAttribute("download", e), s.style.display = "none", document.body.appendChild(s), s.click(), document.body.removeChild(s) }, printLog: function (e) { bd_kfe_data.IS_PRODUCTION || console.log(e) } }; |