responseToMessage.jsx 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import React, { useState, useCallback, useEffect } from 'react';
  2. import { AIChatDialogue, responseToMessage } from '../../../index';
  3. import { RESPONSE_DATA } from '../Data/ResponseData';
  4. const defaultMessages = [{
  5. id: '1',
  6. role: 'user',
  7. content: '此处是用户的输入',
  8. status: 'completed',
  9. }];
  10. const roleConfig = {
  11. user: {
  12. name: 'User',
  13. avatar: 'https://lf3-static.bytednsdoc.com/obj/eden-cn/ptlz_zlp/ljhwZthlaukjlkulzlp/docs-icon.png'
  14. },
  15. assistant: {
  16. name: 'Assistant',
  17. avatar: 'https://lf3-static.bytednsdoc.com/obj/eden-cn/ptlz_zlp/ljhwZthlaukjlkulzlp/other/logo.png'
  18. },
  19. system: {
  20. name: 'System',
  21. avatar: 'https://lf3-static.bytednsdoc.com/obj/eden-cn/ptlz_zlp/ljhwZthlaukjlkulzlp/other/logo.png'
  22. }
  23. };
  24. export default function ResponseToMessageDemo() {
  25. const [messages, setMessage] = useState(defaultMessages);
  26. const onChatsChange = useCallback((chats) => {
  27. setMessage(chats);
  28. }, []);
  29. useEffect(() => {
  30. const responseMessage = responseToMessage(RESPONSE_DATA);
  31. setMessage([...defaultMessages, responseMessage]);
  32. }, []);
  33. return (
  34. <AIChatDialogue
  35. align="leftRight"
  36. mode="bubble"
  37. chats={messages}
  38. roleConfig={roleConfig}
  39. onChatsChange={onChatsChange}
  40. />
  41. );
  42. };