Skip to content

Commit e8a0eb0

Browse files
committed
【代码优化】MALL:客服聊天
1 parent 4abd246 commit e8a0eb0

File tree

4 files changed

+16
-2
lines changed

4 files changed

+16
-2
lines changed

src/views/mall/promotion/kefu/components/KeFuMessageList.vue

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,7 @@ const queryParams = reactive({
161161
})
162162
const total = ref(0) // 消息总条数
163163
const refreshContent = ref(false) // 内容刷新,主要解决会话消息页面高度不一致导致的滚动功能精度失效
164+
164165
/** 获悉消息内容 */
165166
const getMessageContent = computed(() => (item: any) => jsonParse(item.content))
166167
/** 获得消息列表 */
@@ -178,6 +179,7 @@ const getMessageList = async () => {
178179
}
179180
refreshContent.value = true
180181
}
182+
181183
/** 添加消息 */
182184
const pushMessage = (message: any) => {
183185
if (messageList.value.some((val) => val.id === message.id)) {
@@ -217,6 +219,7 @@ const refreshMessageList = async (message?: any) => {
217219
await handleToNewMessage()
218220
}
219221
}
222+
220223
const getNewMessageList = async (val: KeFuConversationRespVO) => {
221224
// 会话切换,重置相关参数
222225
queryParams.pageNo = 1
@@ -231,6 +234,7 @@ const getNewMessageList = async (val: KeFuConversationRespVO) => {
231234
await refreshMessageList()
232235
}
233236
defineExpose({ getNewMessageList, refreshMessageList })
237+
234238
const showKeFuMessageList = computed(() => !isEmpty(conversation.value)) // 是否显示聊天区域
235239
const skipGetMessageList = computed(() => {
236240
// 已加载到最后一页的话则不触发新的消息获取

src/views/mall/promotion/kefu/components/history/MemberBrowsingHistory.vue

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
<!-- 目录是不是叫 member 好点。然后这个组件是 MemberInfo,里面有浏览足迹 -->
12
<template>
23
<div v-show="!isEmpty(conversation)" class="kefu">
34
<div class="header-title h-60px flex justify-center items-center">他的足迹</div>
@@ -7,9 +8,9 @@
78
</el-tabs>
89
<div>
910
<el-scrollbar ref="scrollbarRef" always height="calc(100vh - 400px)" @scroll="handleScroll">
10-
<!-- 最近浏览 -->
11+
<!-- 最近浏览 -->
1112
<ProductBrowsingHistory v-if="activeName === 'a'" ref="productBrowsingHistoryRef" />
12-
<!-- 订单列表 -->
13+
<!-- 订单列表 -->
1314
<OrderBrowsingHistory v-if="activeName === 'b'" ref="orderBrowsingHistoryRef" />
1415
</el-scrollbar>
1516
</div>
@@ -29,6 +30,7 @@ import { ElScrollbar as ElScrollbarType } from 'element-plus/es/components/scrol
2930
defineOptions({ name: 'MemberBrowsingHistory' })
3031
3132
const activeName = ref('a')
33+
3234
/** tab 切换 */
3335
const productBrowsingHistoryRef = ref<InstanceType<typeof ProductBrowsingHistory>>()
3436
const orderBrowsingHistoryRef = ref<InstanceType<typeof OrderBrowsingHistory>>()
@@ -37,7 +39,9 @@ const handleClick = async (tab: TabsPaneContext) => {
3739
await nextTick()
3840
await getHistoryList()
3941
}
42+
4043
/** 获得历史数据 */
44+
// TODO @puhui:不要用 a、b 哈。就订单列表、浏览列表这种噶
4145
const getHistoryList = async () => {
4246
switch (activeName.value) {
4347
case 'a':
@@ -50,6 +54,7 @@ const getHistoryList = async () => {
5054
break
5155
}
5256
}
57+
5358
/** 加载下一页数据 */
5459
const loadMore = async () => {
5560
switch (activeName.value) {
@@ -63,6 +68,7 @@ const loadMore = async () => {
6368
break
6469
}
6570
}
71+
6672
/** 浏览历史初始化 */
6773
const conversation = ref<KeFuConversationRespVO>({} as KeFuConversationRespVO) // 用户会话
6874
const initHistory = async (val: KeFuConversationRespVO) => {

src/views/mall/promotion/kefu/components/history/OrderBrowsingHistory.vue

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,15 @@ const skipGetMessageList = computed(() => {
2121
// 已加载到最后一页的话则不触发新的消息获取
2222
return total.value > 0 && Math.ceil(total.value / queryParams.pageSize) === queryParams.pageNo
2323
}) // 跳过消息获取
24+
2425
/** 获得浏览记录 */
2526
const getHistoryList = async (val: KeFuConversationRespVO) => {
2627
queryParams.userId = val.userId
2728
const res = await getOrderPage(queryParams)
2829
total.value = res.total
2930
list.value = res.list
3031
}
32+
3133
/** 加载下一页数据 */
3234
const loadMore = async () => {
3335
if (skipGetMessageList.value) {

src/views/mall/promotion/kefu/components/history/ProductBrowsingHistory.vue

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,15 @@ const skipGetMessageList = computed(() => {
3232
// 已加载到最后一页的话则不触发新的消息获取
3333
return total.value > 0 && Math.ceil(total.value / queryParams.pageSize) === queryParams.pageNo
3434
}) // 跳过消息获取
35+
3536
/** 获得浏览记录 */
3637
const getHistoryList = async (val: KeFuConversationRespVO) => {
3738
queryParams.userId = val.userId
3839
const res = await getBrowseHistoryPage(queryParams)
3940
total.value = res.total
4041
list.value = res.list
4142
}
43+
4244
/** 加载下一页数据 */
4345
const loadMore = async () => {
4446
if (skipGetMessageList.value) {

0 commit comments

Comments
 (0)