You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
118 lines
3.0 KiB
118 lines
3.0 KiB
<template> |
|
<view class="right-nav row"> |
|
<view |
|
class="right-nav-button col-12" |
|
v-for="(item,index) in buttonGroup" |
|
> |
|
<u-image v-if="item.type !== 'wechat' && item.type !== 'chat'" :src="item.image" width="93" height="93" @click="handle(item.type)"></u-image> |
|
<button v-if="item.type === 'wechat'" open-type="contact" :src="item.image" style="padding-left:0;"> |
|
<u-image :src="item.image" width="93" height="93"></u-image> |
|
</button> |
|
<view v-if="item.type === 'chat'" style="position: relative;"> |
|
<u-badge v-if="msgCount>0" type="error" max="99" :value="msgCount" absolute :offset="[0,0]" custom-style="z-index:1;"></u-badge> |
|
<u-image :src="item.image" width="93" height="93" @click="handle(item.type)"></u-image> |
|
</view> |
|
</view> |
|
</view> |
|
</template> |
|
|
|
<script> |
|
import { imghost } from '@/config/host.js' |
|
import functions from "@/utils/functions"; |
|
import {getConfig} from "@/api/other"; |
|
import {userChatCount} from "@/api/user"; |
|
export default{ |
|
data() { |
|
return { |
|
title: 'Hello', |
|
loading: true, |
|
buttonGroup:[ |
|
{ |
|
image:imghost+"/right-button-wechat.png", |
|
type:'wechat' |
|
},{ |
|
image:imghost+"/right-button-chat.png", |
|
type:'chat' |
|
},{ |
|
image:imghost+"/right-button-phone.png", |
|
type:'phone' |
|
}, |
|
], |
|
kefu_phone:'', |
|
msgCount:0, |
|
} |
|
}, |
|
onLoad() { |
|
|
|
}, |
|
mounted() { |
|
let that = this; |
|
if(uni.getStorageSync('token')){ |
|
that.getMsgNumber(); |
|
} |
|
}, |
|
methods: { |
|
getMsgNumber(){ |
|
userChatCount().then(res => { |
|
this.msgCount = res.data.count |
|
}) |
|
}, |
|
callPhone(phone){ |
|
uni.makePhoneCall({ |
|
phoneNumber: phone.toString() |
|
}); |
|
}, |
|
handle(type){ |
|
switch (type) { |
|
case 'chat': |
|
this.navTo("/pages/ChatDetail/index?id=0",true); |
|
break; |
|
case 'wechat': |
|
// uni.openCustomerServiceChat({ |
|
// extInfo: {url: ''}, |
|
// corpId: '', |
|
// success(res) { |
|
// console.log(res) |
|
// }, |
|
// fail(res) { |
|
// console.log(res) |
|
// }, |
|
// }); |
|
functions.success('跳转微信客服'); |
|
break; |
|
default: |
|
this.callPhone(this.kefu_phone) |
|
} |
|
}, |
|
navTo(url,token = false) { |
|
if (token) { |
|
if (uni.getStorageSync('token')) { |
|
uni.navigateTo({ |
|
url: url |
|
}) |
|
} else { |
|
uni.navigateTo({ |
|
url: '/pages/Login/index' |
|
}) |
|
} |
|
}else{ |
|
uni.navigateTo({ |
|
url: url |
|
}) |
|
} |
|
}, |
|
getPhone(){ |
|
getConfig('kefu_phone').then(res => { |
|
this.kefu_phone = res.data.kefu_phone; |
|
}) |
|
} |
|
}, |
|
created() { |
|
this.getPhone(); |
|
}, |
|
} |
|
</script> |
|
|
|
<style lang="scss"> |
|
@import './components/index.scss'; |
|
</style> |