客服修改

This commit is contained in:
zpc 2025-10-25 02:31:43 +08:00
parent 3eaef44538
commit 94b3d79831

View File

@ -1,100 +1,115 @@
<template>
<view>
<web-view :webview-styles="webviewStyles" :src="url"></web-view>
</view>
<view>
<web-view :webview-styles="webviewStyles" :src="url"></web-view>
</view>
</template>
<script>
import { mapMutations, mapActions, mapState } from 'vuex';
import { goods } from '@/common/mixins/mixinsHelper.js';
export default {
mixins: [goods],
components: {
},
data() {
return {
url:"",
import {
mapMutations,
mapActions,
mapState
} from 'vuex';
import {
goods
} from '@/common/mixins/mixinsHelper.js';
export default {
mixins: [goods],
components: {
},
data() {
return {
url: "",
kefuUrlTemplate: "", //
webviewStyles: {
top:0,
width:'100%',
height:'100%'
top: 0,
width: '100%',
height: '100%'
}
};
},
computed: {
...mapState({
hasLogin: state => state.hasLogin,
userInfo: state => state.userInfo,
}),
hasLogin: {
get() {
return this.$store.state.hasLogin;
},
set(val) {
this.$store.commit('hasLogin', val);
}
},
userInfo: {
get() {
return this.$store.state.userInfo;
},
set(val) {
this.$store.commit('userInfo', val);
}
};
},
computed: {
...mapState({
hasLogin: state => state.hasLogin,
userInfo: state => state.userInfo,
}),
hasLogin: {
get() {
return this.$store.state.hasLogin;
},
set(val) {
this.$store.commit('hasLogin', val);
}
},
userInfo: {
get() {
return this.$store.state.userInfo;
},
set(val) {
this.$store.commit('userInfo', val);
}
},
},
onReady() {
},
onLoad(e) {
console.log(this.userInfo);
//
const kefuUrlTemplate = "http://kefu.zpc-xy.com/chat/mobile?noCanClose=1&token=18b7482b8b1301e9b2309522859ff8cb&openid={openid}&nickName={nickName}&phone={phone}&avatar={avatar}";
// 使
this.url = this.generateKefuUrl(kefuUrlTemplate);
console.log('生成的客服链接:', this.url);
},
methods: {
about() {
},
//
generateKefuUrl(urlTemplate) {
if (!this.userInfo) {
console.error('用户信息不存在');
return '';
}
if (!urlTemplate) {
console.error('客服地址模板不存在');
return '';
}
//
const openid = this.userInfo.id || '';
const phone = this.userInfo.mobile || '';
const nickName = this.userInfo.nickName || '';
const avatar = this.userInfo.avatarImage || '';
// URLURL
let finalUrl = urlTemplate
.replace('{openid}', openid)
.replace('{phone}', phone)
.replace('{nickName}',nickName)
.replace('{avatar}',avatar);
return finalUrl;
},
},
};
},
onReady() {
},
onLoad(e) {
console.log(this.userInfo);
console.log(this.$store.state.config);
//
if (this.$store.state.config.customerServiceH5Url == null ||
this.$store.state.config.customerServiceH5Url == "") {
return;
}
var kefuUrlTemplate = this.$store.state.config.customerServiceH5Url;
// 使
this.url = this.generateKefuUrl(kefuUrlTemplate);
console.log('生成的客服链接:', this.url);
//#ifdef H5
window.location.href = this.url;
// #endif
},
methods: {
about() {
},
//
generateKefuUrl(urlTemplate) {
if (!this.userInfo) {
console.error('用户信息不存在');
return '';
}
if (!urlTemplate) {
console.error('客服地址模板不存在');
return '';
}
//
const openid = this.userInfo.id || '';
const phone = this.userInfo.mobile || '';
const nickName = this.userInfo.nickName || '';
const avatar = this.userInfo.avatarImage || '';
// URLURL
let finalUrl = urlTemplate
.replace('{openid}', openid)
.replace('{phone}', phone)
.replace('{nickName}', nickName)
.replace('{avatar}', avatar);
return finalUrl;
},
},
};
</script>
<style lang="scss">
</style>
</style>