Browse Source

新增客服

master
liaoxinyu 3 months ago
parent
commit
940839eb71
  1. 13
      src/api/home.js
  2. 4
      src/api/member.js
  3. 2
      src/api/server/index.js
  4. BIN
      src/assets/img/home/kefu.png
  5. 120
      src/components/CommonFooter.vue

13
src/api/home.js

@ -26,7 +26,18 @@ class Home {
static getNewestVersion(){
return server.get('/getNewestVersion')
}
/*
* 获取未读消息
*/
static chat(){
return server.get('/user/chat',{config:{loading:false}})
}
/*
* 已读消息
*/
static chatRead(){
return server.get('/user/chatRead',{config:{loading:false}})
}
}
export default Home;

4
src/api/member.js

@ -157,6 +157,10 @@ class Member {
static getWdcode(data){
return server.get(`/user/wdcode`,{params:data});
}
// 查询用户的帐号
static getUnameByUid(data){
return server.get(`/user/getUserName`, {params:data});
}
}
export default Member;

2
src/api/server/index.js

@ -59,7 +59,7 @@ Object.assign(settings, {
// api请求根地址 打包使用完整地址 调试使用本地服务器代理 避免跨域
// baseURL: process.env.NODE_ENV == 'production' ? 'http://qkladmin2.ruanmeng.top/api/' : '/api/',
// baseURL: process.env.NODE_ENV == 'production' ? 'https://guanli.coin.amatak.net/api/' : '/api/',
baseURL: process.env.NODE_ENV == 'production' ? 'https://occadm.btcooc.com/api/' : '/api/',
baseURL: process.env.NODE_ENV == 'production' ? 'https://occadm.btcooc.com/api/' : 'https://occadm.btcooc.com/api/',
// baseURL: 'https://aaccdd.kixcoin.org/api/' ,
// baseURL: 'https://guanli.coin.amatak.net/api/',
// baseURL: 'https://api.hipc.world/',

BIN
src/assets/img/home/kefu.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

120
src/components/CommonFooter.vue

@ -1,6 +1,11 @@
<template>
<!-- colto-section -->
<footer class="footer" @click="toggleMenu($event,2)">
<div class="cszone">
<a href="javascript:void(0);" @click="scbox()"><img src="../assets/img/home/kefu.png"></a>
<span class="circle-pulse1" v-if="newscount!==0">{{newscount>=100?'99+':newscount}}</span>
</div>
<div class="content">
<div class="footer-upper-section">
<!-- logo -->
@ -254,12 +259,19 @@
<img src="@/assets/img/home/Ewmlogin.png" alt="" style="width: 120px;height: 120px;background-color: #ccc;" v-if="0">
<div style="font-size: 16px; color: #fff;margin-top: 12px;text-align: center;" v-if="0">{{ $t("homeNewText.hh46",{name:"Btcooc"}) }}</div>
</div>
<div class="cspopup" :class='{"hidden":ispopup?"":"none"}'>
<a href="javascript:void(0);" class="close_btn" @click="closebox();">x</a>
<iframe width="100%" height="100%" class="my-modal-body" :src="ifurl" frameborder="0" style="border-radius: 10px;"></iframe>
</div>
</div>
</footer>
</template>
<script>
import College from "@/api/college";
import ContactUs from "@/api/contactUs";
import Member from "@/api/member";
import Home from "@/api/home";
import { mapState } from "vuex";
export default {
data() {
@ -351,7 +363,10 @@ export default {
}
],
showMenu: false,
langer: ''
langer: '',
ispopup:false, // customer service box
ifurl:"", // chat URL
newscount:0
};
},
computed: {
@ -426,12 +441,56 @@ export default {
})
.catch((err) => {});
},
// scbox
scbox(e){
// under login
if (this.isLogin) {
// get user infomation
let user_str = localStorage.getItem("auth");
if(user_str!=""){
let user = JSON.parse(user_str);
//
Member.getUnameByUid({user_id:user.pid}).then(rfres=>{
// query referr uname
this.ifurl ="https://cs.btcaholic.com/chat/?toid="+rfres.username+"&room_id="+user.account+"&usid="+user.user_id;
// show popup
this.ispopup = ! this.ispopup
this.chatRead()
})
}
}else{
//
this.$router.push({ path: '/sign-in' });
}
},
// close
closebox(){
if(this.ispopup){
this.ispopup = false
}
this.ispopup =false
},
chat(){
Home.chat().then(res => {
this.newscount = res.count;
})
},
chatRead(){
Home.chatRead().then(res => {
console.log(res,'已读');
})
}
},
created() {
this.getCollegeLinks();
this.getServiceLink();
// console.log(this.service);
this.getEmial();
if(this.isLogin){
this.chatcount = setInterval(()=>{
this.chat()
},2000)
}
},
};
</script>
@ -441,6 +500,21 @@ export default {
border-top: none;
color: #fff;
.cszone{
width:48px;
position:fixed;
bottom:10%;
right:26px;
z-index:999;
background-color: #ccc;
border-radius: 10px;
}
.cszone img{
text-align:center;
width:48px;
height:48px;
}
.content{
display: flex;
justify-content: space-between;
@ -582,7 +656,36 @@ export default {
margin: 46px 0px 42px;
}
}
.cspopup{
position:fixed;
top:50%;
left:50%;
transform: translate(-50%, -50%);
width:560px;
height:560px;
z-index:999;
.close_btn{
width:35px;
height:35px;
font-size:20px;
font-weight:500;
line-height:30px;
text-align:center;
display:block;
color:#fff;
background:#553646;
border-radius:50%;
position:absolute;
right:-10px;
top:-10px;
z-index:1000;
}
}
}
.hidden{
display:none;
}
.serviceText{
@ -642,4 +745,19 @@ export default {
height: 100%;
}
}
.circle-pulse1 {
background: red;
display: flex;
justify-content: center;
align-items: center;
min-width: 20px;
height: 20px;
font-size: 12px;
border-radius: 50%;
position: absolute;
right: -20%;
top: -10px;
color: #fff;
}
</style>
Loading…
Cancel
Save