fix(im): 将频道消息的 pull 改成 pullChannelMessageList

pull/367/head
YunaiV 2026-06-18 21:59:42 -07:00
parent 3f13f62e40
commit 8279089eb9
13 changed files with 32 additions and 33 deletions

View File

@ -16,7 +16,7 @@ export namespace ImChannelMessageApi {
/** 拉取当前用户应收的频道消息(离线增量);按 minId 游标分页 */
export function pullChannelMessages(
export function pullChannelMessageList(
params: { minId: number; size?: number },
signal?: AbortSignal,
) {

View File

@ -45,7 +45,7 @@ export function sendGroupMessage(data: ImGroupMessageApi.GroupMessageSendReqVO)
}
/** 拉取群聊消息(增量) */
export function pullGroupMessages(
export function pullGroupMessageList(
params: { minId: number | string; size: number },
signal?: AbortSignal,
) {

View File

@ -41,7 +41,7 @@ export function sendPrivateMessage(data: ImPrivateMessageApi.PrivateMessageSendR
}
/** 拉取私聊消息(增量) */
export function pullPrivateMessages(
export function pullPrivateMessageList(
params: { minId: number | string; size: number },
signal?: AbortSignal,
) {

View File

@ -6,9 +6,9 @@ import type { ImPrivateMessageApi } from '#/api/im/message/private'
import { watch } from 'vue'
import { pullChannelMessages as apiPullChannelMessages } from '#/api/im/message/channel'
import { pullGroupMessages as apiPullGroupMessages } from '#/api/im/message/group'
import { getPrivateMaxReadMessageId as apiGetPrivateMaxReadMessageId, pullPrivateMessages as apiPullPrivateMessages } from '#/api/im/message/private'
import { pullChannelMessageList as apiPullChannelMessageList } from '#/api/im/message/channel'
import { pullGroupMessageList as apiPullGroupMessageList } from '#/api/im/message/group'
import { getPrivateMaxReadMessageId as apiGetPrivateMaxReadMessageId, pullPrivateMessageList as apiPullPrivateMessageList } from '#/api/im/message/private'
import { getCurrentUserId } from '#/views/im/utils/auth'
import { buildChannelConversationStub } from '../../utils/channel'
@ -179,12 +179,12 @@ export const useMessagePuller = () => {
isActive: isStillValid,
fetchPage: ({ minId, size }) => {
if (isPrivate) {
return apiPullPrivateMessages({ minId, size }, signal)
return apiPullPrivateMessageList({ minId, size }, signal)
}
if (isChannel) {
return apiPullChannelMessages({ minId, size }, signal)
return apiPullChannelMessageList({ minId, size }, signal)
}
return apiPullGroupMessages({ minId, size }, signal)
return apiPullGroupMessageList({ minId, size }, signal)
},
applyPage: async (list, nextMinId) => {
const pulledMessages: PulledMessage[] = []

View File

@ -16,7 +16,7 @@ export namespace ImChannelMessageApi {
/** 拉取当前用户应收的频道消息(离线增量);按 minId 游标分页 */
export function pullChannelMessages(
export function pullChannelMessageList(
params: { minId: number; size?: number },
signal?: AbortSignal,
) {

View File

@ -45,7 +45,7 @@ export function sendGroupMessage(data: ImGroupMessageApi.GroupMessageSendReqVO)
}
/** 拉取群聊消息(增量) */
export function pullGroupMessages(
export function pullGroupMessageList(
params: { minId: number | string; size: number },
signal?: AbortSignal,
) {

View File

@ -41,7 +41,7 @@ export function sendPrivateMessage(data: ImPrivateMessageApi.PrivateMessageSendR
}
/** 拉取私聊消息(增量) */
export function pullPrivateMessages(
export function pullPrivateMessageList(
params: { minId: number | string; size: number },
signal?: AbortSignal,
) {

View File

@ -6,9 +6,9 @@ import type { ImPrivateMessageApi } from '#/api/im/message/private'
import { watch } from 'vue'
import { pullChannelMessages as apiPullChannelMessages } from '#/api/im/message/channel'
import { pullGroupMessages as apiPullGroupMessages } from '#/api/im/message/group'
import { getPrivateMaxReadMessageId as apiGetPrivateMaxReadMessageId, pullPrivateMessages as apiPullPrivateMessages } from '#/api/im/message/private'
import { pullChannelMessageList as apiPullChannelMessageList } from '#/api/im/message/channel'
import { pullGroupMessageList as apiPullGroupMessageList } from '#/api/im/message/group'
import { getPrivateMaxReadMessageId as apiGetPrivateMaxReadMessageId, pullPrivateMessageList as apiPullPrivateMessageList } from '#/api/im/message/private'
import { getCurrentUserId } from '#/views/im/utils/auth'
import { buildChannelConversationStub } from '../../utils/channel'
@ -179,12 +179,12 @@ export const useMessagePuller = () => {
isActive: isStillValid,
fetchPage: ({ minId, size }) => {
if (isPrivate) {
return apiPullPrivateMessages({ minId, size }, signal)
return apiPullPrivateMessageList({ minId, size }, signal)
}
if (isChannel) {
return apiPullChannelMessages({ minId, size }, signal)
return apiPullChannelMessageList({ minId, size }, signal)
}
return apiPullGroupMessages({ minId, size }, signal)
return apiPullGroupMessageList({ minId, size }, signal)
},
applyPage: async (list, nextMinId) => {
const pulledMessages: PulledMessage[] = []

View File

@ -8,7 +8,7 @@ import { computed, onBeforeUnmount, onMounted, ref, useTemplateRef, watch } from
import { IconifyIcon as Icon } from '@vben/icons'
import { isOpenableUrl } from '@vben/utils'
import { Button, Dropdown, Menu, message, Tooltip } from 'antdv-next'
import { Button, Dropdown, Menu, message, SpaceCompact, Tooltip } from 'antdv-next'
import { uploadFile } from '#/api/infra/file'
import {
@ -1110,10 +1110,9 @@ async function onVideoPicked(e: Event) {
</div>
<!-- 群聊 + 群已读开启发送按钮 + 下拉菜单点主按钮普通发送 / 发送回执消息对齐微信 PC -->
<div
v-if="isGroup && MESSAGE_GROUP_READ_ENABLED"
class="inline-flex"
>
<!-- antdv-next Dropdown.Buttonantd v5+ 已移除官方做法是 Space.Compact 包裹主按钮 + Dropdown 触发按钮拼成分裂按钮
这样两个按钮无缝相连左圆角 / 右圆角共享边框不再是两颗独立的圆角按钮 -->
<SpaceCompact v-if="isGroup && MESSAGE_GROUP_READ_ENABLED">
<Button type="primary" :disabled="!canSend" @click="handleSend()"> </Button>
<Dropdown :disabled="!canSend" :trigger="['click']">
<Button type="primary" :disabled="!canSend" class="!px-2">
@ -1125,7 +1124,7 @@ async function onVideoPicked(e: Event) {
</Menu>
</template>
</Dropdown>
</div>
</SpaceCompact>
<!-- 私聊或群已读关闭普通发送按钮无群回执入口 -->
<Button v-else type="primary" :disabled="!canSend" @click="handleSend()">

View File

@ -16,7 +16,7 @@ export namespace ImChannelMessageApi {
/** 拉取当前用户应收的频道消息(离线增量);按 minId 游标分页 */
export function pullChannelMessages(
export function pullChannelMessageList(
params: { minId: number; size?: number },
signal?: AbortSignal,
) {

View File

@ -45,7 +45,7 @@ export function sendGroupMessage(data: ImGroupMessageApi.GroupMessageSendReqVO)
}
/** 拉取群聊消息(增量) */
export function pullGroupMessages(
export function pullGroupMessageList(
params: { minId: number | string; size: number },
signal?: AbortSignal,
) {

View File

@ -41,7 +41,7 @@ export function sendPrivateMessage(data: ImPrivateMessageApi.PrivateMessageSendR
}
/** 拉取私聊消息(增量) */
export function pullPrivateMessages(
export function pullPrivateMessageList(
params: { minId: number | string; size: number },
signal?: AbortSignal,
) {

View File

@ -6,9 +6,9 @@ import type { ImPrivateMessageApi } from '#/api/im/message/private'
import { watch } from 'vue'
import { pullChannelMessages as apiPullChannelMessages } from '#/api/im/message/channel'
import { pullGroupMessages as apiPullGroupMessages } from '#/api/im/message/group'
import { getPrivateMaxReadMessageId as apiGetPrivateMaxReadMessageId, pullPrivateMessages as apiPullPrivateMessages } from '#/api/im/message/private'
import { pullChannelMessageList as apiPullChannelMessageList } from '#/api/im/message/channel'
import { pullGroupMessageList as apiPullGroupMessageList } from '#/api/im/message/group'
import { getPrivateMaxReadMessageId as apiGetPrivateMaxReadMessageId, pullPrivateMessageList as apiPullPrivateMessageList } from '#/api/im/message/private'
import { getCurrentUserId } from '#/views/im/utils/auth'
import { buildChannelConversationStub } from '../../utils/channel'
@ -179,12 +179,12 @@ export const useMessagePuller = () => {
isActive: isStillValid,
fetchPage: ({ minId, size }) => {
if (isPrivate) {
return apiPullPrivateMessages({ minId, size }, signal)
return apiPullPrivateMessageList({ minId, size }, signal)
}
if (isChannel) {
return apiPullChannelMessages({ minId, size }, signal)
return apiPullChannelMessageList({ minId, size }, signal)
}
return apiPullGroupMessages({ minId, size }, signal)
return apiPullGroupMessageList({ minId, size }, signal)
},
applyPage: async (list, nextMinId) => {
const pulledMessages: PulledMessage[] = []