第一次提交
This commit is contained in:
77
components/customer-btn/index.vue
Executable file
77
components/customer-btn/index.vue
Executable file
@@ -0,0 +1,77 @@
|
||||
<template>
|
||||
<button v-if="isShow" class="btn-normal" :open-type="setting.provider == 'mpwxkf' ? 'contact' : ''" @click="handleContact()">
|
||||
<slot></slot>
|
||||
</button>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import SettingKeyEnum from '@/common/enum/setting/Key'
|
||||
import SettingModel from '@/common/model/Setting'
|
||||
|
||||
export default {
|
||||
props: {
|
||||
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
isShow: false,
|
||||
setting: {}
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
// 是否显示在线客服按钮
|
||||
this.isShow = await SettingModel.isShowCustomerBtn()
|
||||
// 商城客服设置
|
||||
this.setting = await SettingModel.item(SettingKeyEnum.CUSTOMER.value, true)
|
||||
},
|
||||
methods: {
|
||||
|
||||
// 在线客服
|
||||
handleContact() {
|
||||
const app = this
|
||||
const { setting } = app
|
||||
// 企业微信客服
|
||||
if (setting.provider == 'wxqykf') {
|
||||
if (!setting.config.wxqykf.url || !setting.config.wxqykf.corpId) {
|
||||
this.$toast('客服链接和企业ID不能为空')
|
||||
return
|
||||
}
|
||||
// #ifdef H5
|
||||
window.open(setting.config.wxqykf.url)
|
||||
// #endif
|
||||
// #ifdef MP-WEIXIN
|
||||
wx.openCustomerServiceChat({
|
||||
extInfo: { url: setting.config.wxqykf.url },
|
||||
corpId: setting.config.wxqykf.corpId,
|
||||
success(res) {}
|
||||
})
|
||||
// #endif
|
||||
// #ifdef APP-PLUS
|
||||
uni.share({
|
||||
provider: 'weixin',
|
||||
scene: 'WXSceneSession',
|
||||
type: 0,
|
||||
openCustomerServiceChat: true,
|
||||
corpid: setting.config.wxqykf.corpId,
|
||||
customerUrl: setting.config.wxqykf.url,
|
||||
success(res) {
|
||||
console.log("success:" + JSON.stringify(res));
|
||||
},
|
||||
fail(e) {
|
||||
console.log('errCode', e.errCode, e)
|
||||
if (e.errCode === -8) {
|
||||
app.$toast('很抱歉,您的手机没有安装微信~')
|
||||
}
|
||||
}
|
||||
})
|
||||
// #endif
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
</style>
|
||||
Reference in New Issue
Block a user