|
|
|
@ -474,7 +474,128 @@ Page({ |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
// 我想要(预约)
|
|
|
|
// 在线聊天
|
|
|
|
onChat(e) { |
|
|
|
console.log('在线咨询事件:', e); |
|
|
|
const { id } = e.currentTarget.dataset; |
|
|
|
if (!id) return; |
|
|
|
|
|
|
|
// 获取商品联系人信息
|
|
|
|
const contactName = this.data.goodsDetail.product_contact; |
|
|
|
const contactPhone = this.data.goodsDetail.contact_phone; |
|
|
|
|
|
|
|
// 检查是否有联系电话
|
|
|
|
if (!contactPhone) { |
|
|
|
wx.showToast({ |
|
|
|
title: '未找到联系电话', |
|
|
|
icon: 'none' |
|
|
|
}); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
// 跳转到聊天界面或打开客服窗口
|
|
|
|
wx.showModal({ |
|
|
|
title: '在线咨询', |
|
|
|
content: `将为您连接到 ${contactName || '客服人员'}`, |
|
|
|
showCancel: true, |
|
|
|
cancelText: '取消', |
|
|
|
confirmText: '立即咨询', |
|
|
|
success: (res) => { |
|
|
|
if (res.confirm) { |
|
|
|
// 获取当前用户的手机号
|
|
|
|
let userPhone = ''; |
|
|
|
try { |
|
|
|
// 尝试从不同的存储位置获取手机号
|
|
|
|
const userInfo = wx.getStorageSync('userInfo'); |
|
|
|
if (userInfo && userInfo.phoneNumber) { |
|
|
|
userPhone = userInfo.phoneNumber; |
|
|
|
} else { |
|
|
|
// 尝试从其他可能的存储位置获取
|
|
|
|
const users = wx.getStorageSync('users') || {}; |
|
|
|
const userId = wx.getStorageSync('userId'); |
|
|
|
if (userId && users[userId] && users[userId].phoneNumber) { |
|
|
|
userPhone = users[userId].phoneNumber; |
|
|
|
} else { |
|
|
|
userPhone = wx.getStorageSync('phoneNumber'); |
|
|
|
} |
|
|
|
} |
|
|
|
// 如果都获取不到,使用默认登录手机号
|
|
|
|
if (!userPhone) { |
|
|
|
userPhone = '18482694520'; |
|
|
|
} |
|
|
|
} catch (e) { |
|
|
|
console.error('获取用户手机号失败:', e); |
|
|
|
// 如果获取失败,使用默认登录手机号
|
|
|
|
userPhone = '18482694520'; |
|
|
|
} |
|
|
|
|
|
|
|
console.log('当前用户手机号:', userPhone); |
|
|
|
console.log('联系人信息:', { contactName, contactPhone }); |
|
|
|
|
|
|
|
// 验证手机号
|
|
|
|
if (!userPhone) { |
|
|
|
wx.showToast({ |
|
|
|
title: '请先登录获取手机号', |
|
|
|
icon: 'none' |
|
|
|
}); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
// 验证联系人手机号
|
|
|
|
if (!contactPhone) { |
|
|
|
console.error('联系人手机号不存在'); |
|
|
|
wx.showToast({ |
|
|
|
title: '联系人信息不完整,请稍后重试', |
|
|
|
icon: 'none' |
|
|
|
}); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
console.log('联系人手机号:', contactPhone); |
|
|
|
|
|
|
|
// 显示加载提示
|
|
|
|
wx.showLoading({ |
|
|
|
title: '正在建立聊天...', |
|
|
|
}); |
|
|
|
|
|
|
|
// 调用API创建聊天记录,确保用户和联系人之间的聊天记录是双向的
|
|
|
|
API.fixChatRecordsPair(userPhone, contactPhone).then(res => { |
|
|
|
console.log('聊天建立成功:', JSON.stringify(res, null, 2)); |
|
|
|
// 隐藏加载提示
|
|
|
|
wx.hideLoading(); |
|
|
|
|
|
|
|
// 使用联系人手机号作为聊天会话ID
|
|
|
|
const chatSessionId = contactPhone; |
|
|
|
|
|
|
|
// 跳转到聊天页面,确保正确传递联系人手机号和用户名
|
|
|
|
wx.navigateTo({ |
|
|
|
url: `/pages/chat-detail/index?userId=${chatSessionId}&userName=${encodeURIComponent(contactName || '联系人')}&phone=${contactPhone}&isManager=true`, |
|
|
|
success: function () { |
|
|
|
console.log('成功跳转到聊天详情页'); |
|
|
|
}, |
|
|
|
fail: function (error) { |
|
|
|
console.error('跳转到聊天详情页失败:', error); |
|
|
|
wx.showToast({ |
|
|
|
title: '聊天功能开发中', |
|
|
|
icon: 'none' |
|
|
|
}); |
|
|
|
} |
|
|
|
}); |
|
|
|
}).catch(err => { |
|
|
|
console.error('建立聊天失败:', err); |
|
|
|
// 隐藏加载提示
|
|
|
|
wx.hideLoading(); |
|
|
|
wx.showToast({ |
|
|
|
title: '建立聊天失败,请重试', |
|
|
|
icon: 'none' |
|
|
|
}); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
}, |
|
|
|
|
|
|
|
/* 已移除:我想要(预约)功能 |
|
|
|
onClickWantInDetail(e) { |
|
|
|
console.log('我想要事件:', e); |
|
|
|
const { id } = e.currentTarget.dataset; |
|
|
|
@ -539,6 +660,7 @@ Page({ |
|
|
|
}); |
|
|
|
}); |
|
|
|
}, |
|
|
|
*/ |
|
|
|
|
|
|
|
// 返回上一页
|
|
|
|
goBack() { |
|
|
|
|