导航组件bug修复及聊天数据停用mock

This commit is contained in:
liaozhiyang
2025-05-28 19:03:43 +08:00
parent 0b48c6b655
commit 1f391a0ed2
6 changed files with 259 additions and 77 deletions

2
env/.env vendored
View File

@@ -26,4 +26,4 @@ VITE_APP_PROXY= true
VITE_APP_PROXY_PREFIX = '/api'
# 是否启用mock (1.仅支持h5 2.启用必须要开启代理,否则生效。)
VITE_USE_MOCK = true
VITE_USE_MOCK = false

View File

@@ -21,7 +21,7 @@
</template>
<template v-if="isMp" #left>
<!-- 为了在小程序上美观 -->
<template v-if="$slots.navRight">
<template v-if="$slots.navRight && isShowNavRightTextMp">
<view class="btnGroup">
<view class="left" @click.stop="handleClickLeft">{{ navLeftText }}</view>
<view class="right" @click.stop="() => emit('navRightMp')">{{ navRightTextMp }}</view>
@@ -57,6 +57,7 @@ import { useSlots } from 'vue'
import { useRouter } from '@/plugin/uni-mini-router'
import { useParamsStore } from '@/store/page-params'
import { isMp } from '@/utils/platform'
// const isMp = true
defineOptions({
name: 'pageLayout',
options: {
@@ -120,6 +121,11 @@ const props = defineProps({
typeof: String,
default: '',
},
// 当有右侧有slot时在小程序上不显示slot显示文字 (默认显示)
isShowNavRightTextMp: {
typeof: Boolean,
default: true,
},
// 当有右侧有slot时在小程序上不显示slot显示文字
navRightTextMp: {
typeof: String,

View File

@@ -30,17 +30,10 @@
</view>
</template>
<template #bottom>
<chat-input-bar ref="inputBar" @send="doSend" @image="handleImage" />
<chat-input-bar ref="inputBar" @send="doSend" />
</template>
</z-paging>
</view>
<template #navRight>
<view
v-if="['group', 'discussion'].includes(chatObj.type)"
class="cuIcon-friend font-size-16px color-white"
@click="handleGoChatSetting"
></view>
</template>
</PageLayout>
</template>
@@ -143,8 +136,8 @@ const creatFriendSession = (userId) => {
})
}
const onSocketOpen = () => {
console.log('启动webSocket')
socket.init('eoaNewChatSocket')
// console.log('启动webSocket')
// socket.init('eoaNewChatSocket')
}
const onSocketReceive = () => {
var _this = this
@@ -219,23 +212,134 @@ const queryList = (pageNo, pageSize) => {
// sort: 'DESC',
}
console.log('params', params)
http
.get(api.chatlog, params)
.then((res: any) => {
if (res.success && res.result?.records) {
const records = analysis(res.result.records)
paging.value.complete(records)
if (isFirstLoad) {
uni.$emit('chatList:unreadClear', chatItemData)
unreadClear()
}
} else {
paging.value.complete(false)
}
})
.catch((res) => {
paging.value.complete(false)
})
const data = [
{
id: 1,
fromUserName: '顾平',
sendTime: '1977-11-13',
fromAvatar: 'https://dummyimage.com/100x100/000/fff&text=%E6%9D%8E%E5%9B%9B',
type: 'friend',
izTop: 1,
status: 'offline',
msgFrom: 4000,
msgTo: 100,
userId: '1678948772039729154',
msgType: 'text',
msgData:
'可半达办外将物起算置知空子。上题务点条界思清法导集马为和计。始在形计各强可求开去手先下识极级育专。形子民委想己给号全维精道应。斯适般不拉个世被资提达须之多关。己除约确元则次同风平维音毛听。少验且内果论治量军们活展观情面元越。',
},
{
id: 2,
fromUserName: '熊艳',
sendTime: '1977-11-13',
fromAvatar: 'https://dummyimage.com/100x100/000/fff&text=%E6%9D%8E%E5%9B%9B',
type: 'friend',
izTop: 0,
status: 'online',
msgFrom: 4012,
msgTo: 134,
userId: '1678948772039729154',
msgType: 'text',
msgData:
'斗取写也展需会于儿次只三自到界民品因。只代装细打三管规这前千器她她入音即准。必象和长使南资几时明因米多交极须空。',
},
{
id: 3,
fromUserName: '康娜',
sendTime: '1977-11-13',
fromAvatar: 'https://dummyimage.com/100x100/000/fff&text=%E6%9D%8E%E5%9B%9B',
type: 'discussion',
izTop: 1,
status: 'offline',
msgFrom: 4024,
msgTo: 168,
userId: '1678948772039729154',
msgType: 'text',
msgData:
'图步把单增利老何列力道何认象。子各交群容产识一界边先式声。被思务共是圆音少际指王元压没任内共。养作包京何铁历属信战族再线理却来情料。能周内家术向建满思书温音太装。时她切调它论族温中三关且与志千。',
},
{
id: 4,
fromUserName: '石平',
sendTime: '1977-11-13',
fromAvatar: 'https://dummyimage.com/100x100/000/fff&text=%E6%9D%8E%E5%9B%9B',
type: 'group',
izTop: 1,
status: 'offline',
msgFrom: 4036,
msgTo: 202,
userId: '1678948772039729154',
msgType: 'text',
msgData:
'民高价般直素划达期矿身更价律或支今。争局便工争相算则参调信斯。把清得完别青院阶火老先位包回速变。意温太合为这来物只我非象专型又加军。至取拉方毛眼例着大你这每相亲该元风。',
},
{
id: 5,
fromUserName: '马杰',
sendTime: '1977-11-13',
fromAvatar: 'https://dummyimage.com/100x100/000/fff&text=%E6%9D%8E%E5%9B%9B',
type: 'group',
izTop: 1,
status: 'offline',
msgFrom: 4048,
msgTo: 236,
userId: '1678948772039729154',
msgType: 'text',
msgData:
'除命市与命成型两口接在及民志提能。需参处空容感学长革段易给分。始真结红型图处技界党非青机山。广直声从老照如写中么省风但。论斗展就积信区北形大报达据把青要。',
},
{
id: 6,
fromUserName: '沈艳',
sendTime: '1977-11-13',
fromAvatar: 'https://dummyimage.com/100x100/000/fff&text=%E6%9D%8E%E5%9B%9B',
type: 'friend',
izTop: 0,
status: 'offline',
msgFrom: 4060,
msgTo: 270,
userId: '1678948772039729154',
msgType: 'text',
msgData:
'规响用其江众器老也成等听节电西。系石教建还厂文气要际长中电今。情素他头资风矿象非这经格老包问过。史期带之走北形历值从所因断八技。红行没众说共史张在任千物今老。传队命做打此无直转术直其门公。',
},
{
id: 7,
fromUserName: '崔芳',
sendTime: '1977-11-13',
fromAvatar: 'https://dummyimage.com/100x100/000/fff&text=%E6%9D%8E%E5%9B%9B',
type: 'discussion',
izTop: 0,
status: 'online',
msgFrom: 4072,
msgTo: 304,
userId: '1678948772039729154',
msgType: 'text',
msgData:
'识保住并非先严间眼马级点叫识只管。写信为每下数集被料前号变很整合。收业后局看并太能决来二府展建片活即体。给史求音很三动作目重因质除提。法关活量管集求公又再时共小明个自确。集提支很也规入并我基照计最要飞院面。',
},
{
id: 8,
fromUserName: '郝超',
sendTime: '1977-11-13',
fromAvatar: 'https://dummyimage.com/100x100/000/fff&text=%E6%9D%8E%E5%9B%9B',
type: 'discussion',
izTop: 1,
status: 'online',
msgFrom: 4084,
msgTo: 338,
userId: '1678948772039729154',
msgType: 'text',
msgData:
'状断只派器新以真业强说部多确料。始矿认要联清才权况况法色式。引办研角且百国路里还计走中细位。或温作经人周复技常位交文共没运。',
},
]
const records = analysis(data)
paging.value.complete(records)
if (isFirstLoad) {
uni.$emit('chatList:unreadClear', chatItemData)
unreadClear()
}
}
const analysis = (data) => {
let arr = data
@@ -280,19 +384,7 @@ const handleReplyMsg = (item, list) => {
item.replyContent = replyContent
return item
}
const unreadClear = () => {
http
.post('/eoa/im/newApi/unreadClear', {
type: chatObj.value.type,
msgTo: chatObj.value.msgTo,
msgFrom: chatObj.value.msgFrom,
})
.then((res: any) => {
if (res.success) {
// _this.eventChannel.emit('toPrePageData', { data: 'data from chat page' })
}
})
}
const unreadClear = () => {}
// 播放语音
const handlePlayVoice = (item) => {
if (item.id == playMsgid.value) {
@@ -361,12 +453,12 @@ const sendMsg = (content, type) => {
text: content,
msgType: 'text',
}
http.post(api.sendMsg, params).then((res: any) => {
console.log('消息发送结果:', res)
if (!res.success) {
toast.error(res.message)
}
})
// http.post(api.sendMsg, params).then((res: any) => {
// console.log('消息发送结果:', res)
// if (!res.success) {
// toast.error(res.message)
// }
// })
}
const handleImage = (type) => {
@@ -443,7 +535,7 @@ onMounted(() => {
})
})
onBeforeUnmount(() => {
socket?.closeSocket()
// socket?.closeSocket()
uni.$off('chat:updateTile')
})
</script>

View File

@@ -107,7 +107,7 @@ const router = useRouter()
const paging = ref(null)
const dataList = ref([])
const starFlag = ref('')
const conditionFilter = reactive({ show: true })
const conditionFilter = reactive({ show: false })
const backRouteName = ref('index')
const routeMethod = ref('pushTab')
// 开始时间结束时间

View File

@@ -89,24 +89,114 @@ const bottomOperatePopup = reactive({
})
const queryList = () => {
http
.get('/eoa/im/newApi/getChatList')
.then((res: any) => {
if (res.success) {
paging.value.complete(res.result.logVoList)
nextTick(() => {
setTimeout(() => {
sortByIzTop(dataList.value)
dataList.value = [...dataList.value]
}, 10)
})
} else {
paging.value.complete(false)
}
})
.catch((res) => {
paging.value.complete(false)
})
const data = [
{
id: 1,
fromUserName: '廖秀兰',
sendTime: '2018-12-08',
type: 'discussion',
izTop: 0,
status: 'offline',
msgFrom: 4000,
msgTo: 100,
fromAvatar: 'https://random.imagecdn.app/100/100',
},
{
id: 2,
fromUserName: '廖强',
sendTime: '2018-12-08',
type: 'discussion',
izTop: 1,
status: 'online',
msgFrom: 4012,
msgTo: 134,
fromAvatar: 'https://q1.qlogo.cn/g?b=qq&nk=190848757&s=100',
},
{
id: 3,
fromUserName: '许强',
sendTime: '2018-12-08',
type: 'group',
izTop: 0,
status: 'online',
msgFrom: 4024,
msgTo: 168,
fromAvatar: 'https://dummyimage.com/100x100/f37b1d/fff&text=%E7%8E%8B%E4%BA%94',
},
{
id: 4,
fromUserName: '孙静',
sendTime: '2018-12-08',
type: 'friend',
izTop: 1,
status: 'online',
msgFrom: 4036,
msgTo: 202,
fromAvatar: 'https://random.imagecdn.app/100/100',
},
{
id: 5,
fromUserName: '白艳',
sendTime: '2018-12-08',
type: 'discussion',
izTop: 0,
status: 'offline',
msgFrom: 4048,
msgTo: 236,
fromAvatar: 'https://picsum.photos/100/100',
},
{
id: 6,
fromUserName: '尹芳',
sendTime: '2018-12-08',
type: 'discussion',
izTop: 0,
status: 'offline',
msgFrom: 4060,
msgTo: 270,
fromAvatar: 'https://q1.qlogo.cn/g?b=qq&nk=190848757&s=100',
},
{
id: 7,
fromUserName: '侯娜',
sendTime: '2018-12-08',
type: 'group',
izTop: 0,
status: 'offline',
msgFrom: 4072,
msgTo: 304,
fromAvatar: 'https://q1.qlogo.cn/g?b=qq&nk=190848757&s=100',
},
{
id: 8,
fromUserName: '邹涛',
sendTime: '2018-12-08',
type: 'group',
izTop: 0,
status: 'offline',
msgFrom: 4084,
msgTo: 338,
fromAvatar: 'https://dummyimage.com/100x100/59c7b8/fff&text=%E5%85%AD%E5%AD%90',
},
{
id: 9,
fromUserName: '吴洋',
sendTime: '2018-12-08',
type: 'discussion',
izTop: 0,
status: 'offline',
msgFrom: 4096,
msgTo: 372,
fromAvatar: 'https://random.imagecdn.app/100/100',
},
]
paging.value.complete(data)
nextTick(() => {
setTimeout(() => {
sortByIzTop(dataList.value)
dataList.value = [...dataList.value]
}, 10)
})
}
const sortByIzTop = (arr) => {
return arr.sort((a, b) => {
@@ -200,8 +290,8 @@ const handleGo = (item) => {
}
}
const onSocketOpen = () => {
console.log('启动webSocket')
socket.init('eoaNewChatSocket')
// console.log('启动webSocket')
// socket.init('eoaNewChatSocket')
}
const onSocketReceive = () => {
socket.acceptMessage = function (res) {
@@ -245,7 +335,7 @@ onShow(() => {
onSocketReceive()
})
onHide(() => {
socket?.closeSocket()
// socket?.closeSocket()
})
onMounted(() => {
uni.$on('chatList:unreadClear', (chatItemData) => {

View File

@@ -24,12 +24,6 @@
<wd-tabs :customClass="getClass()" v-model="tabActive">
<template v-for="(item, index) in tabList" :key="index">
<wd-tab :title="item.title" :name="item.key">
<view class="flow" @click="handleGo">
<view class="content">
<view class="cuIcon-roundcheck"></view>
<view class="text">流程待办</view>
</view>
</view>
<view class="mainContent">
<chatList v-if="item.key === '1'"></chatList>
<addressBookList v-if="item.key === '2'"></addressBookList>