@ai-group/chat-sdk 0.4.2 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/dist/cjs/components/XAiChatbot/styles.js +1 -0
  2. package/dist/cjs/components/XAiChatbot/styles.js.map +2 -2
  3. package/dist/cjs/components/XAiConversations/XAiConversations.stories.js +1 -1
  4. package/dist/cjs/components/XAiConversations/XAiConversations.stories.js.map +2 -2
  5. package/dist/cjs/components/XAiConversations/index.js +41 -15
  6. package/dist/cjs/components/XAiConversations/index.js.map +3 -3
  7. package/dist/cjs/components/XAiProvider/XAiProvider.stories.d.ts +2 -1
  8. package/dist/cjs/components/XAiProvider/XAiProvider.stories.js +88 -34
  9. package/dist/cjs/components/XAiProvider/XAiProvider.stories.js.map +3 -3
  10. package/dist/cjs/components/XAiProvider/index.js +31 -5
  11. package/dist/cjs/components/XAiProvider/index.js.map +2 -2
  12. package/dist/cjs/context/AiProviderContext.d.ts +4 -2
  13. package/dist/cjs/context/AiProviderContext.js.map +2 -2
  14. package/dist/cjs/hooks/useAgentGenerator.d.ts +14 -5
  15. package/dist/cjs/hooks/useAgentGenerator.js +144 -65
  16. package/dist/cjs/hooks/useAgentGenerator.js.map +3 -3
  17. package/dist/cjs/types/XAiChatbot.d.ts +2 -0
  18. package/dist/cjs/types/XAiChatbot.js.map +1 -1
  19. package/dist/cjs/types/XAiConversations.d.ts +14 -2
  20. package/dist/cjs/types/XAiConversations.js.map +1 -1
  21. package/dist/cjs/types/XAiProvider.d.ts +257 -13
  22. package/dist/cjs/types/XAiProvider.js.map +2 -2
  23. package/dist/cjs/utils/umdEntry.d.ts +3 -1
  24. package/dist/cjs/utils/umdEntry.js +5 -2
  25. package/dist/cjs/utils/umdEntry.js.map +3 -3
  26. package/dist/esm/components/XAiChatbot/styles.js +1 -1
  27. package/dist/esm/components/XAiChatbot/styles.js.map +1 -1
  28. package/dist/esm/components/XAiConversations/XAiConversations.stories.js +1 -1
  29. package/dist/esm/components/XAiConversations/XAiConversations.stories.js.map +1 -1
  30. package/dist/esm/components/XAiConversations/index.js +56 -14
  31. package/dist/esm/components/XAiConversations/index.js.map +1 -1
  32. package/dist/esm/components/XAiProvider/XAiProvider.stories.d.ts +2 -1
  33. package/dist/esm/components/XAiProvider/XAiProvider.stories.js +105 -28
  34. package/dist/esm/components/XAiProvider/XAiProvider.stories.js.map +1 -1
  35. package/dist/esm/components/XAiProvider/index.js +31 -8
  36. package/dist/esm/components/XAiProvider/index.js.map +1 -1
  37. package/dist/esm/context/AiProviderContext.d.ts +4 -2
  38. package/dist/esm/context/AiProviderContext.js +1 -0
  39. package/dist/esm/context/AiProviderContext.js.map +1 -1
  40. package/dist/esm/hooks/useAgentGenerator.d.ts +14 -5
  41. package/dist/esm/hooks/useAgentGenerator.js +272 -113
  42. package/dist/esm/hooks/useAgentGenerator.js.map +1 -1
  43. package/dist/esm/types/XAiChatbot.d.ts +2 -0
  44. package/dist/esm/types/XAiChatbot.js.map +1 -1
  45. package/dist/esm/types/XAiConversations.d.ts +14 -2
  46. package/dist/esm/types/XAiConversations.js.map +1 -1
  47. package/dist/esm/types/XAiProvider.d.ts +257 -13
  48. package/dist/esm/types/XAiProvider.js +81 -1
  49. package/dist/esm/types/XAiProvider.js.map +1 -1
  50. package/dist/esm/utils/umdEntry.d.ts +3 -1
  51. package/dist/esm/utils/umdEntry.js +29 -22
  52. package/dist/esm/utils/umdEntry.js.map +1 -1
  53. package/dist/umd/chat-sdk.min.js +1 -1
  54. package/package.json +2 -1
@@ -1,3 +1,4 @@
1
+ import _typeof from "@babel/runtime/helpers/esm/typeof";
1
2
  import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
3
  import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
3
4
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
@@ -7,14 +8,14 @@ import { useState, useEffect, useRef } from 'react';
7
8
  import { v4 as uuidV4 } from 'uuid';
8
9
  import { useEventStreamRequest } from "./useEventStreamRequest";
9
10
  import { MessageRole, MessageStatus } from "../types/XAiMessage";
10
- import { ErrorCode, SuccessCode } from "../types/XAiProvider";
11
+ import { ErrorCode, SuccessCode } from "../types";
11
12
  import { request } from "../utils/request";
12
13
  import { safeJsonParse } from "../utils";
13
14
  import { fetchAppConfig, fetchSessionList, fetchSessionDetail } from "../services/api";
14
15
  // 图标
15
16
  import documentIcon from "../assets/document.png";
16
- import completedIcon from "../assets/completed.png";
17
- import completedExpandIcon from "../assets/completed-black.png";
17
+ // import completedIcon from '@/assets/completed.png';
18
+ // import completedExpandIcon from '@/assets/completed-black.png';
18
19
  import documentExpandIcon from "../assets/document-black.png";
19
20
  import qaIcon from "../assets/qa.png";
20
21
  import qaExpandIcon from "../assets/qa-black.png";
@@ -59,6 +60,7 @@ var useAgentGenerator = function useAgentGenerator(_ref) {
59
60
  token = _ref.token,
60
61
  config = _ref.config,
61
62
  onError = _ref.onError,
63
+ onMessage = _ref.onMessage,
62
64
  onSuccess = _ref.onSuccess;
63
65
  var textSpeed = 60;
64
66
  // 聊天记录
@@ -66,21 +68,44 @@ var useAgentGenerator = function useAgentGenerator(_ref) {
66
68
  _useState2 = _slicedToArray(_useState, 2),
67
69
  messages = _useState2[0],
68
70
  setMessages = _useState2[1];
69
- // 会话记录
70
- var _useState3 = useState([]),
71
+ // 聊天记录分页设置
72
+ var _useState3 = useState({
73
+ total: 0,
74
+ pageNum: 1,
75
+ pageSize: 999
76
+ }),
71
77
  _useState4 = _slicedToArray(_useState3, 2),
72
- sessionsList = _useState4[0],
73
- setSessionList = _useState4[1];
74
- // 当前会话
75
- var _useState5 = useState(''),
78
+ messagePagination = _useState4[0],
79
+ setMessagePagination = _useState4[1];
80
+ // 会话记录
81
+ var _useState5 = useState([]),
76
82
  _useState6 = _slicedToArray(_useState5, 2),
77
- currentSession = _useState6[0],
78
- setCurrentSession = _useState6[1];
79
- // 应用 配置
80
- var _useState7 = useState(null),
83
+ sessionList = _useState6[0],
84
+ setSessionList = _useState6[1];
85
+ // 会话请求是否加载中
86
+ var _useState7 = useState(false),
81
87
  _useState8 = _slicedToArray(_useState7, 2),
82
- appInfo = _useState8[0],
83
- setAppInfo = _useState8[1];
88
+ sessionLoading = _useState8[0],
89
+ setSessionLoading = _useState8[1];
90
+ // 会话分页设置
91
+ var _useState9 = useState({
92
+ total: 0,
93
+ pageNum: 1,
94
+ pageSize: 20
95
+ }),
96
+ _useState10 = _slicedToArray(_useState9, 2),
97
+ sessionPagination = _useState10[0],
98
+ setSessionPagination = _useState10[1];
99
+ // 当前会话
100
+ var _useState11 = useState(''),
101
+ _useState12 = _slicedToArray(_useState11, 2),
102
+ currentSessionId = _useState12[0],
103
+ setCurrentSessionId = _useState12[1];
104
+ // 应用 配置
105
+ var _useState13 = useState(null),
106
+ _useState14 = _slicedToArray(_useState13, 2),
107
+ appInfo = _useState14[0],
108
+ setAppInfo = _useState14[1];
84
109
  // 请求 配置
85
110
  var requestInfo = useRef({});
86
111
  var _ref2 = config || {},
@@ -178,20 +203,22 @@ var useAgentGenerator = function useAgentGenerator(_ref) {
178
203
  });
179
204
  }
180
205
  setMessages(function (prevMessages) {
206
+ var _aiMsg;
181
207
  var newMessages = _toConsumableArray(prevMessages);
182
208
  // 消息类型判断
183
209
  var _response = response,
184
210
  action = _response.action,
185
211
  data = _response.data;
186
- var uniqueId = data.uniqueId,
187
- contentType = data.contentType,
188
- content = data.content,
189
- toolType = data.toolType,
190
- args = data.args,
191
- knowledgeType = data.knowledgeType,
192
- _data$success = data.success,
193
- success = _data$success === void 0 ? true : _data$success,
194
- errorMsg = data.errorMsg;
212
+ var _ref4 = data || {},
213
+ uniqueId = _ref4.uniqueId,
214
+ contentType = _ref4.contentType,
215
+ content = _ref4.content,
216
+ toolType = _ref4.toolType,
217
+ args = _ref4.args,
218
+ knowledgeType = _ref4.knowledgeType,
219
+ _ref4$success = _ref4.success,
220
+ success = _ref4$success === void 0 ? true : _ref4$success,
221
+ errorMsg = _ref4.errorMsg;
195
222
 
196
223
  // 建议类信息 特殊处理
197
224
  if (action === ActionType.suggest) {
@@ -323,19 +350,22 @@ var useAgentGenerator = function useAgentGenerator(_ref) {
323
350
  }
324
351
  break;
325
352
  case ActionType.finish:
326
- aiMsg.thinks = aiMsg.thinks || [];
327
- aiMsg.thinks.push({
328
- id: uniqueId,
329
- createdAt: new Date(),
330
- type: 'ActionExecutionMessage',
331
- name: '运行完毕',
332
- extra: _objectSpread(_objectSpread({}, data), {}, {
333
- cost: data !== null && data !== void 0 && data.cost ? ((data === null || data === void 0 ? void 0 : data.cost) / 1000).toFixed(2) : 0,
334
- icon: completedIcon,
335
- expandIcon: completedExpandIcon
336
- })
337
- });
353
+ // aiMsg.thinks = aiMsg.thinks || [];
354
+ // aiMsg.thinks.push({
355
+ // id: uniqueId,
356
+ // createdAt: new Date(),
357
+ // type: 'ActionExecutionMessage',
358
+ // name: '运行完毕',
359
+ // extra: {
360
+ // ...data,
361
+ // cost: data?.cost ? (data?.cost / 1000).toFixed(2) : 0,
362
+ // icon: completedIcon,
363
+ // expandIcon: completedExpandIcon,
364
+ // },
365
+ // });
338
366
  aiMsg.status = MessageStatus.done;
367
+ // 收到一条完整,触发收到消息回调
368
+ onMessage === null || onMessage === void 0 || onMessage((_aiMsg = aiMsg) === null || _aiMsg === void 0 || (_aiMsg = _aiMsg.content) === null || _aiMsg === void 0 ? void 0 : _aiMsg.text, aiMsg);
339
369
  break;
340
370
  // 其他类型略
341
371
  }
@@ -360,7 +390,7 @@ var useAgentGenerator = function useAgentGenerator(_ref) {
360
390
 
361
391
  // 添加对话(非普通对话)
362
392
  var setMessage = /*#__PURE__*/function () {
363
- var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(messageType, content) {
393
+ var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(messageType, content) {
364
394
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
365
395
  while (1) switch (_context2.prev = _context2.next) {
366
396
  case 0:
@@ -443,27 +473,45 @@ var useAgentGenerator = function useAgentGenerator(_ref) {
443
473
  }, _callee2);
444
474
  }));
445
475
  return function setMessage(_x, _x2) {
446
- return _ref4.apply(this, arguments);
476
+ return _ref5.apply(this, arguments);
447
477
  };
448
478
  }();
449
479
 
450
480
  // 简单对话
451
481
  var chat = /*#__PURE__*/function () {
452
- var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(content) {
453
- var newMessage;
482
+ var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(content) {
483
+ var newMessage, inputs_msg;
454
484
  return _regeneratorRuntime().wrap(function _callee3$(_context3) {
455
485
  while (1) switch (_context3.prev = _context3.next) {
456
486
  case 0:
457
- newMessage = {
458
- type: 'TextMessage',
459
- id: uuidV4(),
460
- createdAt: new Date(),
461
- role: MessageRole.user,
462
- status: MessageStatus.done,
463
- content: {
464
- text: content
465
- }
466
- };
487
+ if (typeof content === 'string') {
488
+ newMessage = {
489
+ type: 'TextMessage',
490
+ id: uuidV4(),
491
+ createdAt: new Date(),
492
+ role: MessageRole.user,
493
+ status: MessageStatus.done,
494
+ content: {
495
+ text: content
496
+ }
497
+ };
498
+ } else {
499
+ newMessage = _objectSpread({
500
+ type: 'TextMessage',
501
+ id: uuidV4(),
502
+ createdAt: new Date(),
503
+ role: MessageRole.user,
504
+ status: MessageStatus.done,
505
+ content: {
506
+ text: content
507
+ }
508
+ }, content);
509
+ }
510
+ if (_typeof(newMessage.content) === 'object' && 'text' in newMessage.content && typeof newMessage.content.text === 'string') {
511
+ inputs_msg = newMessage.content.text;
512
+ } else {
513
+ inputs_msg = '';
514
+ }
467
515
  setMessages(function (prev) {
468
516
  // 若存在对话建议,先删除对话建议
469
517
  var suggestMessageIndex = messages.findIndex(function (item) {
@@ -478,20 +526,20 @@ var useAgentGenerator = function useAgentGenerator(_ref) {
478
526
  });
479
527
  start("".concat(url, "/appouter/").concat(appNo, "/sendMsg?pt=").concat(pt, "&tc=").concat(tc), {
480
528
  appParams: {
481
- inputs_msg: content
529
+ inputs_msg: inputs_msg
482
530
  },
483
- sessionId: currentSession
531
+ sessionId: currentSessionId
484
532
  }, {
485
533
  Authorization: "Bearer ".concat(token)
486
534
  });
487
- case 3:
535
+ case 4:
488
536
  case "end":
489
537
  return _context3.stop();
490
538
  }
491
539
  }, _callee3);
492
540
  }));
493
541
  return function chat(_x3) {
494
- return _ref5.apply(this, arguments);
542
+ return _ref6.apply(this, arguments);
495
543
  };
496
544
  }();
497
545
 
@@ -548,13 +596,14 @@ var useAgentGenerator = function useAgentGenerator(_ref) {
548
596
 
549
597
  // 初始化历史记录
550
598
  var formatMessages = function formatMessages(data) {
599
+ var init = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
551
600
  setMessages(function (prev) {
552
601
  var initMessagesList = [];
553
602
  data.forEach(function (item) {
554
- var _ref6 = item || {},
555
- content = _ref6.content,
556
- messageTime = _ref6.messageTime,
557
- role = _ref6.role;
603
+ var _ref7 = item || {},
604
+ content = _ref7.content,
605
+ messageTime = _ref7.messageTime,
606
+ role = _ref7.role;
558
607
  if (role === 'USER') {
559
608
  var newMessage = {
560
609
  type: 'TextMessage',
@@ -582,19 +631,22 @@ var useAgentGenerator = function useAgentGenerator(_ref) {
582
631
  initMessagesList.push(_newMessage);
583
632
  }
584
633
  });
634
+ if (init) {
635
+ return [].concat(initMessagesList);
636
+ }
585
637
  return [].concat(_toConsumableArray(prev), initMessagesList);
586
638
  });
587
639
  };
588
640
 
589
641
  // 初始化开场白
590
642
  var initPrologue = /*#__PURE__*/function () {
591
- var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
592
- var _appInfo$onboardingIn, onboardingInfo, _ref8, _ref8$suggested_quest, suggested_questions, _ref8$prologue, prologue, formatSuggests, suggestMessages, hasMessages;
643
+ var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
644
+ var _appInfo$onboardingIn, onboardingInfo, _ref9, _ref9$suggested_quest, suggested_questions, _ref9$prologue, prologue, formatSuggests, suggestMessages, hasMessages;
593
645
  return _regeneratorRuntime().wrap(function _callee4$(_context4) {
594
646
  while (1) switch (_context4.prev = _context4.next) {
595
647
  case 0:
596
648
  _appInfo$onboardingIn = appInfo.onboardingInfo, onboardingInfo = _appInfo$onboardingIn === void 0 ? {} : _appInfo$onboardingIn; // eslint-disable-next-line camelcase
597
- _ref8 = onboardingInfo || {}, _ref8$suggested_quest = _ref8.suggested_questions, suggested_questions = _ref8$suggested_quest === void 0 ? [] : _ref8$suggested_quest, _ref8$prologue = _ref8.prologue, prologue = _ref8$prologue === void 0 ? '' : _ref8$prologue; // 初始化开场白
649
+ _ref9 = onboardingInfo || {}, _ref9$suggested_quest = _ref9.suggested_questions, suggested_questions = _ref9$suggested_quest === void 0 ? [] : _ref9$suggested_quest, _ref9$prologue = _ref9.prologue, prologue = _ref9$prologue === void 0 ? '' : _ref9$prologue; // 初始化开场白
598
650
  if (prologue) {
599
651
  setMessage('prologue', prologue);
600
652
  } else {
@@ -638,14 +690,14 @@ var useAgentGenerator = function useAgentGenerator(_ref) {
638
690
  }, _callee4);
639
691
  }));
640
692
  return function initPrologue() {
641
- return _ref7.apply(this, arguments);
693
+ return _ref8.apply(this, arguments);
642
694
  };
643
695
  }();
644
696
 
645
697
  // 获取聊天记录
646
698
  var initAppConversations = /*#__PURE__*/function () {
647
- var _ref9 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
648
- var result, _result$data, resultData, sessionId, sessionResult, _sessionResult$data, sessionsData;
699
+ var _ref10 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
700
+ var result, _result$data, resultData, _result$data2, _result$data3, _result$data4, formatSessions, sessionId;
649
701
  return _regeneratorRuntime().wrap(function _callee5$(_context5) {
650
702
  while (1) switch (_context5.prev = _context5.next) {
651
703
  case 0:
@@ -660,77 +712,180 @@ var useAgentGenerator = function useAgentGenerator(_ref) {
660
712
  });
661
713
  case 3:
662
714
  result = _context5.sent;
663
- if (!(result !== null && result !== void 0 && result.success)) {
664
- _context5.next = 26;
665
- break;
715
+ if (result !== null && result !== void 0 && result.success) {
716
+ resultData = (result === null || result === void 0 || (_result$data = result.data) === null || _result$data === void 0 ? void 0 : _result$data.data) || [];
717
+ if (resultData.length > 0) {
718
+ formatSessions = resultData.map(function (item) {
719
+ return {
720
+ key: item.sessionId,
721
+ label: item.title,
722
+ timestamp: new Date(item.gmtCreated).getTime(),
723
+ messages: [],
724
+ meta: _objectSpread({}, item)
725
+ };
726
+ });
727
+ setSessionList(formatSessions);
728
+ // 设置分页信息
729
+ setSessionPagination({
730
+ pageNum: result === null || result === void 0 || (_result$data2 = result.data) === null || _result$data2 === void 0 ? void 0 : _result$data2.pageNum,
731
+ pageSize: result === null || result === void 0 || (_result$data3 = result.data) === null || _result$data3 === void 0 ? void 0 : _result$data3.pageSize,
732
+ total: result === null || result === void 0 || (_result$data4 = result.data) === null || _result$data4 === void 0 ? void 0 : _result$data4.totalCount
733
+ });
734
+ sessionId = resultData[0].sessionId;
735
+ setCurrentSessionDetail(sessionId);
736
+ } else {
737
+ // 页面报错 初始化
738
+ setSessionList([]);
739
+ setCurrentSessionId(uuidV4());
740
+ initPrologue();
741
+ }
742
+ // 成功回调
743
+ onSuccess === null || onSuccess === void 0 || onSuccess({
744
+ code: SuccessCode.APP_MESSAGES_INIT_SUCCESS,
745
+ message: '初始化聊天记录成功'
746
+ });
747
+ } else {
748
+ initPrologue();
666
749
  }
667
- resultData = (result === null || result === void 0 || (_result$data = result.data) === null || _result$data === void 0 ? void 0 : _result$data.data) || [];
668
- if (!(resultData.length > 0)) {
669
- _context5.next = 20;
750
+ _context5.next = 9;
751
+ break;
752
+ case 7:
753
+ _context5.prev = 7;
754
+ _context5.t0 = _context5["catch"](0);
755
+ case 9:
756
+ case "end":
757
+ return _context5.stop();
758
+ }
759
+ }, _callee5, null, [[0, 7]]);
760
+ }));
761
+ return function initAppConversations() {
762
+ return _ref10.apply(this, arguments);
763
+ };
764
+ }();
765
+
766
+ // 设置当前会话详情
767
+ var setCurrentSessionDetail = /*#__PURE__*/function () {
768
+ var _ref11 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(sessionId) {
769
+ var sessionResult, _sessionResult$data, sessionsData;
770
+ return _regeneratorRuntime().wrap(function _callee6$(_context6) {
771
+ while (1) switch (_context6.prev = _context6.next) {
772
+ case 0:
773
+ if (!sessionId) {
774
+ _context6.next = 10;
670
775
  break;
671
776
  }
672
- setSessionList(resultData);
673
- sessionId = resultData[0].sessionId;
674
- if (!sessionId) {
675
- _context5.next = 17;
777
+ if (!(sessionId === currentSessionId)) {
778
+ _context6.next = 3;
676
779
  break;
677
780
  }
678
- setCurrentSession(sessionId); // 设置当前会话 id;
679
- _context5.next = 13;
781
+ return _context6.abrupt("return");
782
+ case 3:
783
+ setCurrentSessionId(sessionId); // 设置当前会话 id;
784
+ _context6.next = 6;
680
785
  return fetchSessionDetail({
681
786
  url: url,
682
787
  appNo: appNo,
683
788
  pt: pt,
684
789
  tc: tc,
685
790
  sessionId: sessionId,
686
- token: token
791
+ token: token,
792
+ pageNum: sessionPagination.pageNum,
793
+ pageSize: sessionPagination.pageSize
687
794
  });
688
- case 13:
689
- sessionResult = _context5.sent;
795
+ case 6:
796
+ sessionResult = _context6.sent;
690
797
  if (sessionResult !== null && sessionResult !== void 0 && sessionResult.success) {
691
798
  sessionsData = sessionResult === null || sessionResult === void 0 || (_sessionResult$data = sessionResult.data) === null || _sessionResult$data === void 0 || (_sessionResult$data = _sessionResult$data.list) === null || _sessionResult$data === void 0 ? void 0 : _sessionResult$data.reduce(function (acc, cur) {
692
799
  return [].concat(_toConsumableArray(acc), _toConsumableArray(cur.sessionMessages || []));
693
800
  }, []);
694
801
  if (sessionsData.length > 0) {
695
- formatMessages(sessionsData);
802
+ formatMessages(sessionsData, true);
696
803
  }
697
804
  }
698
- _context5.next = 18;
805
+ _context6.next = 11;
699
806
  break;
700
- case 17:
807
+ case 10:
701
808
  // 兼容 无 session异常
702
- setCurrentSession(uuidV4());
703
- case 18:
704
- _context5.next = 23;
705
- break;
706
- case 20:
707
- setSessionList([]);
708
- setCurrentSession(uuidV4());
709
- initPrologue();
710
- case 23:
711
- // 成功回调
712
- onSuccess === null || onSuccess === void 0 || onSuccess({
713
- code: SuccessCode.APP_MESSAGES_INIT_SUCCESS,
714
- message: '初始化聊天记录成功'
809
+ setCurrentSessionId(uuidV4());
810
+ case 11:
811
+ case "end":
812
+ return _context6.stop();
813
+ }
814
+ }, _callee6);
815
+ }));
816
+ return function setCurrentSessionDetail(_x4) {
817
+ return _ref11.apply(this, arguments);
818
+ };
819
+ }();
820
+
821
+ // 获取更多会话记录
822
+ var loadMoreSessions = /*#__PURE__*/function () {
823
+ var _ref12 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7() {
824
+ var pageNum, pageSize, result, _result$data5, _result$data6, _result$data7, _result$data8, resultData, formatSessions;
825
+ return _regeneratorRuntime().wrap(function _callee7$(_context7) {
826
+ while (1) switch (_context7.prev = _context7.next) {
827
+ case 0:
828
+ if (!sessionLoading) {
829
+ _context7.next = 2;
830
+ break;
831
+ }
832
+ return _context7.abrupt("return");
833
+ case 2:
834
+ _context7.prev = 2;
835
+ setSessionLoading(true);
836
+ pageNum = sessionPagination.pageNum, pageSize = sessionPagination.pageSize;
837
+ _context7.next = 7;
838
+ return fetchSessionList({
839
+ url: url,
840
+ appNo: appNo,
841
+ pt: pt,
842
+ tc: tc,
843
+ token: token,
844
+ pageNum: pageNum + 1,
845
+ pageSize: pageSize
715
846
  });
716
- _context5.next = 27;
717
- break;
718
- case 26:
719
- initPrologue();
720
- case 27:
721
- _context5.next = 31;
847
+ case 7:
848
+ result = _context7.sent;
849
+ if (result !== null && result !== void 0 && result.success) {
850
+ resultData = (result === null || result === void 0 || (_result$data5 = result.data) === null || _result$data5 === void 0 ? void 0 : _result$data5.data) || [];
851
+ if (resultData.length > 0) {
852
+ formatSessions = resultData.map(function (item) {
853
+ return {
854
+ key: item.sessionId,
855
+ label: item.title,
856
+ timestamp: new Date(item.gmtCreated).getTime(),
857
+ messages: [],
858
+ meta: _objectSpread({}, item)
859
+ };
860
+ });
861
+ setSessionList(function (prevList) {
862
+ return [].concat(_toConsumableArray(prevList), _toConsumableArray(formatSessions));
863
+ });
864
+ }
865
+ // 设置分页信息
866
+ setSessionPagination({
867
+ pageNum: result === null || result === void 0 || (_result$data6 = result.data) === null || _result$data6 === void 0 ? void 0 : _result$data6.pageNum,
868
+ pageSize: result === null || result === void 0 || (_result$data7 = result.data) === null || _result$data7 === void 0 ? void 0 : _result$data7.pageSize,
869
+ total: result === null || result === void 0 || (_result$data8 = result.data) === null || _result$data8 === void 0 ? void 0 : _result$data8.totalCount
870
+ });
871
+ }
872
+ _context7.next = 13;
722
873
  break;
723
- case 29:
724
- _context5.prev = 29;
725
- _context5.t0 = _context5["catch"](0);
726
- case 31:
874
+ case 11:
875
+ _context7.prev = 11;
876
+ _context7.t0 = _context7["catch"](2);
877
+ case 13:
878
+ _context7.prev = 13;
879
+ setSessionLoading(false);
880
+ return _context7.finish(13);
881
+ case 16:
727
882
  case "end":
728
- return _context5.stop();
883
+ return _context7.stop();
729
884
  }
730
- }, _callee5, null, [[0, 29]]);
885
+ }, _callee7, null, [[2, 11, 13, 16]]);
731
886
  }));
732
- return function initAppConversations() {
733
- return _ref9.apply(this, arguments);
887
+ return function loadMoreSessions() {
888
+ return _ref12.apply(this, arguments);
734
889
  };
735
890
  }();
736
891
 
@@ -747,14 +902,18 @@ var useAgentGenerator = function useAgentGenerator(_ref) {
747
902
  messages: messages,
748
903
  loading: loading,
749
904
  content: responseData.content,
750
- sessionsList: sessionsList,
751
- currentSession: currentSession,
905
+ sessionList: sessionList,
906
+ currentSessionId: currentSessionId,
907
+ sessionPagination: sessionPagination,
908
+ loadMoreSessions: loadMoreSessions,
752
909
  reChat: reChat,
753
910
  chat: chat,
754
- setCurrentSession: setCurrentSession,
911
+ setCurrentSessionId: setCurrentSessionId,
912
+ setCurrentSessionDetail: setCurrentSessionDetail,
755
913
  setMessage: setMessage,
756
914
  setMessages: setMessages,
757
- stopChat: stopChat
915
+ stopChat: stopChat,
916
+ initPrologue: initPrologue
758
917
  };
759
918
  };
760
919
  export default useAgentGenerator;