|
|
|
<html lang="cn">
|
|
|
|
<head>
|
|
|
|
<meta charset="utf-8">
|
|
|
|
<meta name="renderer" content="webkit">
|
|
|
|
<meta name="description" content="">
|
|
|
|
<meta name="author" content="陶士涵">
|
|
|
|
<title>GO语言开源客服系统-GOFLY</title>
|
|
|
|
<link rel="stylesheet" href="https://cdn.staticfile.org/element-ui/2.15.1/theme-chalk/index.min.css">
|
|
|
|
<script src="https://cdn.staticfile.org/vue/2.6.9/vue.min.js"></script>
|
|
|
|
<script src="https://cdn.staticfile.org/element-ui/2.15.1/index.js"></script>
|
|
|
|
<script src="https://cdn.staticfile.org/jquery/3.6.0/jquery.min.js"></script>
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="/static/css/common.css">
|
|
|
|
<script src="/assets/js/functions.js"></script>
|
|
|
|
<style>
|
|
|
|
html,
|
|
|
|
body {
|
|
|
|
height: 100%;
|
|
|
|
padding: 0;
|
|
|
|
margin: 0;
|
|
|
|
}
|
|
|
|
body {
|
|
|
|
overflow: hidden;
|
|
|
|
background-color: #f5f5f5;
|
|
|
|
}
|
|
|
|
|
|
|
|
.el-aside{
|
|
|
|
height: 100%;
|
|
|
|
background: #fff;
|
|
|
|
border: solid 1px #e6e6e6;
|
|
|
|
}
|
|
|
|
.el-aside .el-menu{
|
|
|
|
border-right: none;
|
|
|
|
}
|
|
|
|
.mainLogo{
|
|
|
|
font-size: 20px;
|
|
|
|
font-weight: bold;
|
|
|
|
}
|
|
|
|
.mainMain{
|
|
|
|
background: #fff;
|
|
|
|
margin-left: 10px;
|
|
|
|
margin-bottom: 60px;
|
|
|
|
}
|
|
|
|
.el-card__body{
|
|
|
|
cursor: pointer;
|
|
|
|
}
|
|
|
|
|
|
|
|
</style>
|
|
|
|
|
|
|
|
</head>
|
|
|
|
<body class="text-center">
|
|
|
|
<div id="app">
|
|
|
|
<template>
|
|
|
|
{{template "nav" }}
|
|
|
|
<div class="mainRight">
|
|
|
|
|
|
|
|
<iframe class="mainIframe" v-bind:src="iframeUrl" frameborder="0"></iframe>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
</div>
|
|
|
|
</body>
|
|
|
|
<script>
|
|
|
|
new Vue({
|
|
|
|
el: '#app',
|
|
|
|
delimiters:["<{","}>"],
|
|
|
|
data: {
|
|
|
|
window:window,
|
|
|
|
mailTotal:0,
|
|
|
|
adminAvator:"",
|
|
|
|
adminRole:"",
|
|
|
|
onlineType:"success",
|
|
|
|
haveNewMessage:"",
|
|
|
|
iframeUrl:"/chat_main",
|
|
|
|
},
|
|
|
|
methods: {
|
|
|
|
focusWindow(){
|
|
|
|
var _this=this;
|
|
|
|
window.addEventListener('message',function(e){
|
|
|
|
var redata=e.data;
|
|
|
|
if(!redata.name||!redata.body){
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
notify(redata.name, {
|
|
|
|
body: redata.body,
|
|
|
|
icon: redata.icon
|
|
|
|
}, function(notification) {
|
|
|
|
//可直接打开通知notification相关联的tab窗口
|
|
|
|
window.focus();
|
|
|
|
notification.close();
|
|
|
|
_this.openIframeUrl("/chat_main");
|
|
|
|
});
|
|
|
|
});
|
|
|
|
},
|
|
|
|
openIframeUrl(url){
|
|
|
|
this.iframeUrl=url;
|
|
|
|
},
|
|
|
|
//退出
|
|
|
|
logout(){
|
|
|
|
localStorage.removeItem("token");
|
|
|
|
this.openIframeUrl('/login');
|
|
|
|
},
|
|
|
|
//跳转
|
|
|
|
openUrl(url){
|
|
|
|
window.location.href=url;
|
|
|
|
},
|
|
|
|
GetQueryString(name){
|
|
|
|
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
|
|
|
|
var r = window.location.search.substr(1).match(reg);
|
|
|
|
if(r!=null)return unescape(r[2]); return null;
|
|
|
|
},
|
|
|
|
checkAuth(){
|
|
|
|
let _this=this;
|
|
|
|
$.ajax({
|
|
|
|
type:"post",
|
|
|
|
url:"/check_auth",
|
|
|
|
headers:{
|
|
|
|
"token":localStorage.getItem("token")
|
|
|
|
},
|
|
|
|
success: function(data) {
|
|
|
|
if (data.code != 200) {
|
|
|
|
window.location.href="/login";
|
|
|
|
} else {
|
|
|
|
_this.adminAvator=data.result.avator;
|
|
|
|
_this.adminRole=data.result.role_name;
|
|
|
|
_this.iframeUrl = "/chat_main";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
},
|
|
|
|
created: function () {
|
|
|
|
this.checkAuth();
|
|
|
|
this.focusWindow();
|
|
|
|
$(function(){
|
|
|
|
$("body").on("click",".menuLeftItem",function(){
|
|
|
|
$(".menuLeftItem").removeClass("active");
|
|
|
|
$(this).addClass("active");
|
|
|
|
});
|
|
|
|
})
|
|
|
|
}
|
|
|
|
})
|
|
|
|
$(window).bind("focus",function(e){
|
|
|
|
//alert(1);
|
|
|
|
});
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
var _hmt = _hmt || [];
|
|
|
|
(function() {
|
|
|
|
var hm = document.createElement("script");
|
|
|
|
hm.src = "https://hm.baidu.com/hm.js?82938760e00806c6c57adee91f39aa5e";
|
|
|
|
var s = document.getElementsByTagName("script")[0];
|
|
|
|
s.parentNode.insertBefore(hm, s);
|
|
|
|
})();
|
|
|
|
</script>
|
|
|
|
</html>
|