feat:英文状态下,详情页客服新增点击跳转到客服会话页面功能
This commit is contained in:
@@ -1,13 +1,12 @@
|
||||
<template>
|
||||
<view>
|
||||
<block v-if="text == '客服'">
|
||||
<!-- <ns-contact :niushop="chatParam" :send-message-title="sendData.title" :send-message-path="sendData.path" :send-message-img="sendData.img"> -->
|
||||
<button hoverClass="none" openType="contact" sessionFrom="weapp" showMessageCard="true" class="action-icon-wrap" style="background: transparent;padding: 0;margin: 0;">
|
||||
<!-- 修改后(兼容英文) -->
|
||||
<block v-if="text == '客服' || text == 'Contact'">
|
||||
<button hoverClass="none" openType="contact" sessionFrom="weapp" showMessageCard="true" class="action-icon-wrap" style="background: transparent;padding: 0;margin: 0;" @click="contactClick">
|
||||
<view class="iconfont color-title" :class="icon"></view>
|
||||
<text>{{ text }}</text>
|
||||
<view class="corner-mark color-base-bg" v-if="cornerMark.length" :style="{ background: cornerMarkBg+'!important', color: cornerMarkColor }">{{ cornerMark }}</view>
|
||||
</button>
|
||||
<!-- </ns-contact> -->
|
||||
</block>
|
||||
<block v-else>
|
||||
<view class="action-icon-wrap" @click="clickEvent">
|
||||
@@ -24,37 +23,30 @@ import nsContact from '@/components/ns-contact/ns-contact.vue';
|
||||
export default {
|
||||
name: 'ns-goods-action-icon',
|
||||
props: {
|
||||
// 商品底部icon导航icon图标
|
||||
icon: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
// 商品底部icon导航文字
|
||||
text: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
// 角标文字
|
||||
cornerMark: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
// 角标背景色
|
||||
cornerMarkBg: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
// 角标文字颜色
|
||||
cornerMarkColor: {
|
||||
type: String,
|
||||
default: '#fff'
|
||||
},
|
||||
// 开放能力
|
||||
openType: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
// 发送内容 openType="contact"时有效
|
||||
sendData: {
|
||||
type: Object,
|
||||
default: function() {
|
||||
@@ -77,7 +69,11 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
clickEvent() {
|
||||
console.log('【组件内部】非客服按钮被点击,触发clickEvent');
|
||||
this.$emit('click');
|
||||
},
|
||||
contactClick() {
|
||||
console.log('【组件内部】客服按钮(Contact)被点击,触发contactClick');
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -143,4 +139,4 @@ export default {
|
||||
font-size: $font-size-tag;
|
||||
line-height: 1;
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
@@ -17,6 +17,9 @@ export const lang = {
|
||||
currencySymbol: '¥',
|
||||
submit: 'Submit',
|
||||
langSwitchBtn: '中文',
|
||||
// ========== 新增:kefu 对应的英文文案 ==========
|
||||
kefu: 'Contact',
|
||||
// =============================================
|
||||
// App.vue弹窗翻译
|
||||
updateTip: 'Update Tip',
|
||||
updateContent: 'The new version is ready, do you want to restart the app?',
|
||||
|
||||
@@ -6,6 +6,9 @@ export default {
|
||||
couponBtnSwitch: false, //获取优惠券防止重复提交
|
||||
|
||||
posterApi: '/api/goods/poster',
|
||||
// 👇 新增初始定义
|
||||
contactData: {}, // 客服基础参数初始值
|
||||
chatRoomParams: {}, // 客服会话参数初始值
|
||||
|
||||
//满减活动
|
||||
manjian: {
|
||||
@@ -91,6 +94,14 @@ export default {
|
||||
//同步获取商品详情
|
||||
await this.getGoodsSkuDetail();
|
||||
},
|
||||
// 在detail.js的created/mounted中添加
|
||||
created() {
|
||||
// 监听语言切换事件(需项目有全局事件总线,或直接在切换方法中调用)
|
||||
uni.$on('lang-switch', () => {
|
||||
this.getGoodsSkuDetail(); // 切换语言后重新获取商品数据,赋值两个变量
|
||||
});
|
||||
},
|
||||
|
||||
onHide() {
|
||||
this.couponBtnSwitch = false;
|
||||
},
|
||||
@@ -103,6 +114,14 @@ export default {
|
||||
fail(){}
|
||||
})
|
||||
},
|
||||
// 新增:跳转到客服会话页面
|
||||
goToContact() {
|
||||
// 新增这行日志:打印“父页面触发跳转”
|
||||
console.log('【父页面】点击Contact,触发goToContact方法');
|
||||
uni.navigateTo({
|
||||
url: '/pages/contact/contact'
|
||||
});
|
||||
},
|
||||
setSkuId(val) {
|
||||
if (val) {
|
||||
this.skuId = val;
|
||||
@@ -141,6 +160,12 @@ export default {
|
||||
this.chatRoomParams = {
|
||||
sku_id: this.goodsSkuDetail.sku_id
|
||||
};
|
||||
// 👇 新增contactData赋值(至少空对象,也可补充业务参数)
|
||||
this.contactData = {
|
||||
goodsId: this.goodsId,
|
||||
shopId: this.goodsSkuDetail.shop_id || '', // 若有店铺ID则补充
|
||||
lang: uni.getStorageSync('lang') // 传递当前语言标识,方便客服组件兼容
|
||||
};
|
||||
let typeId = this.goodsSkuDetail.goods_promotion[0];
|
||||
if (typeId) {
|
||||
// 限时折扣
|
||||
|
||||
Reference in New Issue
Block a user