Skip to content

Commit e0d00d7

Browse files
committed
feat: enhance useMessage functionality with new send method and support for multiple messages in addMessage
- Added a new send method to manually trigger message sending after adding messages. - Updated addMessage to accept both single and multiple ChatMessage instances for improved flexibility.
1 parent f7a3d3b commit e0d00d7

File tree

1 file changed

+18
-3
lines changed

1 file changed

+18
-3
lines changed

packages/kit/src/vue/message/useMessage.ts

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,12 @@ export interface UseMessageReturn {
5454
useStream: Ref<boolean>
5555
/** 发送消息 */
5656
sendMessage: (content?: string, clearInput?: boolean) => Promise<void>
57+
/** 手动执行addMessage添加消息后,可以执行send发送消息 */
58+
send: () => Promise<void>
5759
/** 清空消息 */
5860
clearMessages: () => void
5961
/** 添加消息 */
60-
addMessage: (message: ChatMessage) => void
62+
addMessage: (message: ChatMessage | ChatMessage[]) => void
6163
/** 中止请求 */
6264
abortRequest: () => void
6365
/** 重试请求 */
@@ -196,6 +198,14 @@ export function useMessage(options: UseMessageOptions): UseMessageReturn {
196198
await chatRequest()
197199
}
198200

201+
const send = async () => {
202+
if (GeneratingStatus.includes(messageState.status)) {
203+
return
204+
}
205+
206+
await chatRequest()
207+
}
208+
199209
// 中止请求
200210
const abortRequest = () => {
201211
if (abortController) {
@@ -221,8 +231,12 @@ export function useMessage(options: UseMessageOptions): UseMessageReturn {
221231
}
222232

223233
// 添加消息
224-
const addMessage = (message: ChatMessage) => {
225-
messages.value.push(message)
234+
const addMessage = (message: ChatMessage | ChatMessage[]) => {
235+
if (Array.isArray(message)) {
236+
messages.value.push(...message)
237+
} else {
238+
messages.value.push(message)
239+
}
226240
}
227241

228242
return {
@@ -231,6 +245,7 @@ export function useMessage(options: UseMessageOptions): UseMessageReturn {
231245
inputMessage,
232246
useStream,
233247
sendMessage,
248+
send,
234249
clearMessages,
235250
addMessage,
236251
abortRequest,

0 commit comments

Comments
 (0)