pcm-agents 0.3.2 → 0.3.4

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 (107) hide show
  1. package/LICENSE +21 -21
  2. package/dist/cjs/{index-BFPEnLbS.js → index-RmBfqEV7.js} +4 -3
  3. package/dist/cjs/index-RmBfqEV7.js.map +1 -0
  4. package/dist/cjs/index.cjs.js +1 -1
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/my-component.cjs.entry.js +2 -2
  7. package/dist/cjs/my-component.cjs.entry.js.map +1 -1
  8. package/dist/cjs/my-component.entry.cjs.js.map +1 -1
  9. package/dist/cjs/pcm-agents.cjs.js +1 -1
  10. package/dist/cjs/pcm-app-chat-modal.pcm-chat-message.pcm-hr-chat-modal.pcm-jlpp-modal.pcm-mnms-modal.pcm-video-chat-modal.pcm-zygh-modal.entry.cjs.js.map +1 -0
  11. package/dist/cjs/pcm-app-chat-modal_7.cjs.entry.js +68 -61
  12. package/dist/cjs/pcm-app-chat-modal_7.cjs.entry.js.map +1 -1
  13. package/dist/cjs/pcm-chat-modal.cjs.entry.js +1 -1
  14. package/dist/collection/collection-manifest.json +1 -1
  15. package/dist/collection/components/my-component/my-component.css +3 -3
  16. package/dist/collection/components/my-component/my-component.js +1 -1
  17. package/dist/collection/components/my-component/my-component.js.map +1 -1
  18. package/dist/collection/components/pcm-app-chat-modal/pcm-app-chat-modal.js +5 -6
  19. package/dist/collection/components/pcm-app-chat-modal/pcm-app-chat-modal.js.map +1 -1
  20. package/dist/collection/components/pcm-chat-message/pcm-chat-message.js +26 -2
  21. package/dist/collection/components/pcm-chat-message/pcm-chat-message.js.map +1 -1
  22. package/dist/collection/components/pcm-hr-chat-modal/pcm-hr-chat-modal.js +4 -4
  23. package/dist/collection/components/pcm-hr-chat-modal/pcm-hr-chat-modal.js.map +1 -1
  24. package/dist/collection/components/{pcm-jlpx-modal/pcm-jlpx-modal.js → pcm-jlpp-modal/pcm-jlpp-modal.js} +21 -21
  25. package/dist/collection/components/pcm-jlpp-modal/pcm-jlpp-modal.js.map +1 -0
  26. package/dist/collection/components/pcm-mnms-modal/pcm-mnms-modal.js +16 -16
  27. package/dist/collection/components/pcm-mnms-modal/pcm-mnms-modal.js.map +1 -1
  28. package/dist/collection/components/pcm-video-chat-modal/pcm-video-chat-modal.js +4 -4
  29. package/dist/collection/components/pcm-video-chat-modal/pcm-video-chat-modal.js.map +1 -1
  30. package/dist/collection/components/pcm-zygh-modal/pcm-zygh-modal.js +22 -18
  31. package/dist/collection/components/pcm-zygh-modal/pcm-zygh-modal.js.map +1 -1
  32. package/dist/collection/global/global.css +31 -0
  33. package/dist/collection/index.js.map +1 -1
  34. package/dist/collection/utils/utils.js +2 -1
  35. package/dist/collection/utils/utils.js.map +1 -1
  36. package/dist/components/index.js +2 -1
  37. package/dist/components/index.js.map +1 -1
  38. package/dist/components/my-component.js +1 -1
  39. package/dist/components/my-component.js.map +1 -1
  40. package/dist/components/{p-LkDC0SN2.js → p-CBMLAbWp.js} +10 -5
  41. package/dist/components/p-CBMLAbWp.js.map +1 -0
  42. package/dist/components/{p-BctfuDvG.js → p-VU0niiMk.js} +7 -8
  43. package/dist/components/p-VU0niiMk.js.map +1 -0
  44. package/dist/components/pcm-app-chat-modal.js +1 -1
  45. package/dist/components/pcm-chat-message.js +1 -1
  46. package/dist/components/pcm-chat-modal.js +1 -1
  47. package/dist/components/pcm-hr-chat-modal.js +4 -4
  48. package/dist/components/pcm-hr-chat-modal.js.map +1 -1
  49. package/dist/components/{pcm-jlpx-modal.d.ts → pcm-jlpp-modal.d.ts} +4 -4
  50. package/dist/components/{pcm-jlpx-modal.js → pcm-jlpp-modal.js} +27 -27
  51. package/dist/components/pcm-jlpp-modal.js.map +1 -0
  52. package/dist/components/pcm-mnms-modal.js +16 -16
  53. package/dist/components/pcm-mnms-modal.js.map +1 -1
  54. package/dist/components/pcm-video-chat-modal.js +4 -4
  55. package/dist/components/pcm-video-chat-modal.js.map +1 -1
  56. package/dist/components/pcm-zygh-modal.js +20 -16
  57. package/dist/components/pcm-zygh-modal.js.map +1 -1
  58. package/dist/esm/{index-nVjZGfA8.js → index-CDtyzi83.js} +4 -3
  59. package/dist/esm/index-CDtyzi83.js.map +1 -0
  60. package/dist/esm/index.js +1 -1
  61. package/dist/esm/loader.js +1 -1
  62. package/dist/esm/my-component.entry.js +2 -2
  63. package/dist/esm/my-component.entry.js.map +1 -1
  64. package/dist/esm/pcm-agents.js +1 -1
  65. package/dist/esm/pcm-app-chat-modal.pcm-chat-message.pcm-hr-chat-modal.pcm-jlpp-modal.pcm-mnms-modal.pcm-video-chat-modal.pcm-zygh-modal.entry.js.map +1 -0
  66. package/dist/esm/pcm-app-chat-modal_7.entry.js +68 -61
  67. package/dist/esm/pcm-app-chat-modal_7.entry.js.map +1 -1
  68. package/dist/esm/pcm-chat-modal.entry.js +1 -1
  69. package/dist/pcm-agents/index.esm.js +1 -1
  70. package/dist/pcm-agents/my-component.entry.esm.js.map +1 -1
  71. package/dist/pcm-agents/p-11c829b3.entry.js +2 -0
  72. package/dist/pcm-agents/p-11c829b3.entry.js.map +1 -0
  73. package/dist/pcm-agents/{p-f3ca99b4.entry.js → p-430f9a9f.entry.js} +2 -2
  74. package/dist/pcm-agents/p-CDtyzi83.js +2 -0
  75. package/dist/pcm-agents/p-CDtyzi83.js.map +1 -0
  76. package/dist/pcm-agents/p-a0826602.entry.js +2 -0
  77. package/dist/pcm-agents/p-a0826602.entry.js.map +1 -0
  78. package/dist/pcm-agents/pcm-agents.esm.js +1 -1
  79. package/dist/pcm-agents/pcm-app-chat-modal.pcm-chat-message.pcm-hr-chat-modal.pcm-jlpp-modal.pcm-mnms-modal.pcm-video-chat-modal.pcm-zygh-modal.entry.esm.js.map +1 -0
  80. package/dist/types/components/pcm-app-chat-modal/pcm-app-chat-modal.d.ts +1 -1
  81. package/dist/types/components/pcm-chat-message/pcm-chat-message.d.ts +4 -0
  82. package/dist/types/components/pcm-hr-chat-modal/pcm-hr-chat-modal.d.ts +1 -1
  83. package/dist/types/components/{pcm-jlpx-modal/pcm-jlpx-modal.d.ts → pcm-jlpp-modal/pcm-jlpp-modal.d.ts} +4 -4
  84. package/dist/types/components/pcm-mnms-modal/pcm-mnms-modal.d.ts +3 -3
  85. package/dist/types/components/pcm-video-chat-modal/pcm-video-chat-modal.d.ts +1 -1
  86. package/dist/types/components/pcm-zygh-modal/pcm-zygh-modal.d.ts +8 -4
  87. package/dist/types/components.d.ts +56 -48
  88. package/dist/types/utils/utils.d.ts +1 -1
  89. package/package.json +62 -61
  90. package/readme.md +307 -307
  91. package/dist/cjs/index-BFPEnLbS.js.map +0 -1
  92. package/dist/cjs/pcm-app-chat-modal.pcm-chat-message.pcm-hr-chat-modal.pcm-jlpx-modal.pcm-mnms-modal.pcm-video-chat-modal.pcm-zygh-modal.entry.cjs.js.map +0 -1
  93. package/dist/collection/components/pcm-jlpx-modal/pcm-jlpx-modal.js.map +0 -1
  94. package/dist/components/p-BctfuDvG.js.map +0 -1
  95. package/dist/components/p-LkDC0SN2.js.map +0 -1
  96. package/dist/components/pcm-jlpx-modal.js.map +0 -1
  97. package/dist/esm/index-nVjZGfA8.js.map +0 -1
  98. package/dist/esm/pcm-app-chat-modal.pcm-chat-message.pcm-hr-chat-modal.pcm-jlpx-modal.pcm-mnms-modal.pcm-video-chat-modal.pcm-zygh-modal.entry.js.map +0 -1
  99. package/dist/pcm-agents/p-55417392.entry.js +0 -2
  100. package/dist/pcm-agents/p-55417392.entry.js.map +0 -1
  101. package/dist/pcm-agents/p-a698b59f.entry.js +0 -2
  102. package/dist/pcm-agents/p-a698b59f.entry.js.map +0 -1
  103. package/dist/pcm-agents/p-nVjZGfA8.js +0 -2
  104. package/dist/pcm-agents/p-nVjZGfA8.js.map +0 -1
  105. package/dist/pcm-agents/pcm-app-chat-modal.pcm-chat-message.pcm-hr-chat-modal.pcm-jlpx-modal.pcm-mnms-modal.pcm-video-chat-modal.pcm-zygh-modal.entry.esm.js.map +0 -1
  106. /package/dist/collection/components/{pcm-jlpx-modal/pcm-jlpx-modal.css → pcm-jlpp-modal/pcm-jlpp-modal.css} +0 -0
  107. /package/dist/pcm-agents/{p-f3ca99b4.entry.js.map → p-430f9a9f.entry.js.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var index = require('./index-SU3eqPPs.js');
4
- var index$1 = require('./index-BFPEnLbS.js');
4
+ var index$1 = require('./index-RmBfqEV7.js');
5
5
 
6
6
  const pcmAppChatModalCss = ":host{display:block}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0, 0, 0, 0.5);display:flex;justify-content:center;align-items:center;overflow-y:auto;padding:20px;z-index:1000}.fullscreen-overlay{padding:0}.modal-container{background:white;border-radius:8px;width:100%;max-width:900px;display:flex;flex-direction:column;position:relative;margin:auto}.modal-container.fullscreen{width:100vw;max-width:none;height:100%;border-radius:0;margin:0;display:flex;flex-direction:column;height:100vh;max-height:100vh}.modal-container.fullscreen>div:not(.modal-header):not(.initial-upload){display:flex;flex-direction:column;flex:1;overflow:hidden;height:100%}.pc-layout{width:80%;max-width:800px;min-width:320px;min-height:400px}.mobile-layout{width:100%;height:100%;border-radius:0}.video-preview.placeholder{display:flex;justify-content:center;align-items:center;background:#EAEAEA}.placeholder-status{color:#00000066}.waiting-message p{margin:0;font-size:16px;color:white;font-weight:500}.recording-container{width:100%;display:flex;flex-direction:column;align-items:center}.video-area{width:100%;display:flex;flex-direction:column;align-items:center}.stop-recording-button{width:100%;height:100%;font-size:16px;background:#f44336;border-radius:6px;color:white;border:none;cursor:pointer}.stop-recording-button:hover{background:#d32f2f}.play-audio-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:4px 16px;height:50px;border-bottom:1px solid #e8e8e8;flex-shrink:0;}.header-left{display:flex;align-items:center;gap:8px}.header-icon{width:24px;height:24px}.close-button{background:transparent;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:4px}.close-button:hover{background-color:rgba(0, 0, 0, 0.04)}.close-button span{font-size:24px;line-height:1;color:#999}.close-button:hover span{color:#666}.chat-history{position:relative;flex:1;overflow-y:auto;padding:20px;scroll-behavior:smooth;height:400px;background:url(https://pcm-resource-1312611446.cos.ap-guangzhou.myqcloud.com/web/sdk/chat_bg.png);background-size:100%}.fullscreen .chat-history{height:auto;flex:1 1 auto}.message-input{padding:16px;border-top:1px solid #eee;display:flex;gap:8px;align-items:center}.message-input input{flex:1;padding:8px 12px;border:1px solid #ddd;border-radius:4px;outline:none;transition:border-color 0.2s ease}.message-input input:focus{border-color:#bbb}.message{margin-bottom:16px;opacity:1;transition:opacity 0.3s ease}.message-content{max-width:70%;padding:8px 12px;border-radius:8px;word-break:break-word}.message-content p{margin:0;word-break:break-word}.user-message{display:flex;justify-content:flex-end}.agent-message{display:flex;justify-content:flex-start}.user-message .message-content{background-color:#007bff;color:white}.agent-message .message-content{background-color:#f1f1f1}.message-time{font-size:12px;color:#999;margin-top:4px;display:block}.send-button{background-color:#1890ff;color:white;border:none;border-radius:4px;padding:8px 16px;cursor:pointer;font-weight:500}.send-button:disabled{background-color:#ccc;cursor:not-allowed}.empty-state{display:flex;justify-content:center;align-items:center;height:100%;color:#999;text-align:center}.loading-container{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:rgba(255, 255, 255, 0.98);z-index:1;opacity:1;transition:opacity 0.3s ease}.loading-container p{margin-top:16px;color:#666;font-size:14px}.loading-spinner{width:40px;height:40px;border:3px solid #f3f3f3;border-top:3px solid #1890ff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.messages-wrapper{width:100%;min-height:100%;display:flex;flex-direction:column;justify-content:flex-end}.messages-wrapper.has-overflow{justify-content:flex-start}.suggested-questions{display:flex;flex-direction:column;gap:8px;padding:16px}.suggested-question{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background-color:#f3f4f6;border-radius:4px;cursor:pointer;font-size:14px;color:#374151;transition:background-color 0.2s}.suggested-question:hover{background-color:#e5e7eb}.arrow-right{margin-left:8px}.loading-suggestions{display:flex;justify-content:center;padding:16px}.loading-spinner-small{width:20px;height:20px;border:2px solid #e5e7eb;border-top-color:#6b7280;border-radius:50%;animation:spin 1s linear infinite}.upload-button{background:transparent;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;color:#666;border-radius:4px;transition:background-color 0.2s}.upload-button:hover{background-color:rgba(0, 0, 0, 0.04)}.upload-button svg{width:20px;height:20px}.file-input{display:none}.selected-file{font-size:12px;color:#666;margin-left:8px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.input-wrapper{flex:1;display:flex;align-items:center;border:1px solid #ddd;border-radius:4px;padding:0 4px;background:white}.input-wrapper input{border:none;flex:1;padding:8px;outline:none}.input-wrapper:focus-within{border-color:#bbb}.file-preview{padding:8px 16px;border-top:1px solid #eee;background-color:#f9f9f9}.file-info{display:flex;align-items:center;justify-content:space-between;padding:8px;background:white;border:1px solid #e8e8e8;border-radius:4px}.recording-section{border-top:1px solid #eee;display:flex;flex-direction:column;align-items:center;padding:20px;border-radius:14px 14px 0 0;flex:0 0 auto}.recording-section .video-preview{width:100%;height:200px;max-width:400px;position:relative;margin-bottom:10px;border:1px solid #ddd;border-radius:12px;overflow:hidden}.recording-section video{width:100%;height:100%;object-fit:cover}.recording-status{position:absolute;top:10px;left:10px;background-color:rgba(0, 0, 0, 0.6);color:white;padding:4px 8px;border-radius:4px;display:flex;align-items:center;gap:5px;font-size:0.8rem;z-index:2}.recording-status .recording-dot{display:inline-block;width:10px;height:10px;background-color:red;border-radius:50%;margin-right:5px;animation:blink 1s infinite}.recording-status.warning{color:#ff4d4f;animation:blink 1s infinite}@keyframes blink{0%{opacity:1}50%{opacity:0.5}100%{opacity:1}}.recording-section .stop-recording-button{background-color:#f44336;color:white;border:none;cursor:pointer;font-weight:bold}.recording-section .stop-recording-button:hover{background-color:#d32f2f}.fullscreen{width:100vw;border-radius:0;height:100vh;display:flex;flex-direction:column;overflow-y:auto}.recording-controls{margin-top:10px;height:53px;width:100%;max-width:400px;display:flex;justify-content:center}.recording-controls .waiting-message{text-align:center;color:white;font-size:1rem;background-image:linear-gradient(100deg, #4A9FFF 0%, #1058FF 100%);border-radius:6px;box-shadow:0 2px 8px rgba(0, 0, 0, 0.15);width:95%;display:flex;justify-content:center;align-items:center;cursor:pointer}.recording-controls .waiting-message.loading{background:#faad14}.recording-controls .waiting-message p{margin:0;font-size:16px;color:white;font-weight:500}.recording-controls .stop-recording-button{background-color:#dc3545;color:white;border:none;cursor:pointer;font-size:1rem}.recording-controls .stop-recording-button:hover{background-color:#c82333}.recording-controls .stop-recording-button.disabled{background:#ccc;cursor:not-allowed}.recording-controls .stop-recording-button.disabled:hover{background:#ccc}.progress-container{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:400px;margin-top:10px;padding:0 5px}.progress-bar-container{height:4px;background-color:#E5E5E5;border-radius:2px;overflow:hidden;margin-right:10px;width:75px}.progress-bar{height:100%;background-image:linear-gradient(111deg, #4A9FFF 0%, #1058FF 100%);border-radius:2px;transition:width 0.3s ease}.progress-text{font-size:14px;color:#666;white-space:nowrap}.text-input-area{display:flex;flex-direction:column;width:100%;height:100%;padding:16px;border-radius:8px;border:none;}.text-answer-input{flex:1;min-height:80px;padding:12px 12px 0px 12px;border:1px solid #ddd;border-radius:8px 8px 0 0;resize:none;font-size:16px;background-color:#fff;border-bottom:none;outline:none;}.input-toolbar{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background-color:#fff;border:1px solid #ddd;border-top:none;border-radius:0 0 8px 8px}.text-answer-input:focus{border-color:rgb(74, 144, 226);border-bottom:none}.text-answer-input:focus+.input-toolbar{border-color:rgb(74, 144, 226);border-top:none}.toolbar-actions{display:flex;gap:8px}.toolbar-button{background:transparent;border:none;color:#666;padding:4px;cursor:pointer;border-radius:4px}.toolbar-button:hover{background-color:#f0f0f0}.submit-text-button{padding:6px 16px;background-color:#4a90e2;color:white;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color 0.2s}.submit-text-button:hover:not(.disabled){background-color:#3a7bc8}.submit-text-button.disabled{background-color:#b3b3b3;cursor:not-allowed}@media screen and (max-width: 768px){.pc-layout{width:95%;}.modal-overlay{padding:0}.modal-container.fullscreen{height:-webkit-fill-available;max-height:-webkit-fill-available;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}.modal-container.mobile-layout{width:100%;height:100vh;max-height:100vh;min-height:100vh;border-radius:0;margin:0;display:flex;flex-direction:column}.chat-history{min-height:200px;max-height:350px}}";
7
7
 
@@ -20,7 +20,7 @@ const ChatAPPModal = class {
20
20
  */
21
21
  modalTitle = '在线客服';
22
22
  /**
23
- * API鉴权密钥
23
+ * SDK鉴权密钥
24
24
  */
25
25
  token = '';
26
26
  /**
@@ -244,7 +244,7 @@ const ChatAPPModal = class {
244
244
  },
245
245
  data: requestData,
246
246
  onMessage: (data) => {
247
- console.log('收到Stream数据:', data);
247
+ // console.log('收到Stream数据:', data);
248
248
  if (data.conversation_id && !this.conversationId) {
249
249
  this.conversationId = data.conversation_id;
250
250
  this.conversationStart.emit({
@@ -257,7 +257,6 @@ const ChatAPPModal = class {
257
257
  // 检查是否有 node_finished 事件和 LLMText
258
258
  if (data.event === 'node_finished' && data.data.inputs && data.data.inputs.LLMText) {
259
259
  llmText = data.data.inputs.LLMText;
260
- console.log('获取到 LLMText:', llmText);
261
260
  }
262
261
  if (data.event === 'message') {
263
262
  if (data.event === 'agent_message' || data.event === 'message') {
@@ -973,10 +972,10 @@ const ChatAPPModal = class {
973
972
  'submit-text-button': true,
974
973
  'disabled': !this.textAnswer.trim() || this.isSubmittingText || this.isLoading || !!this.currentStreamingMessage || this.waitingToRecord || this.isPlayingAudio
975
974
  }, disabled: !this.textAnswer.trim() || this.isSubmittingText || this.isLoading || !!this.currentStreamingMessage || this.waitingToRecord || this.isPlayingAudio, onClick: this.submitTextAnswer }, this.isSubmittingText ? '发送中...' : '发送'))));
976
- return (index.h("div", { class: overlayClass, style: modalStyle }, index.h("div", { class: containerClass }, this.isShowHeader && (index.h("div", { class: "modal-header" }, index.h("div", { class: "header-left" }, this.icon && index.h("img", { src: this.icon, class: "header-icon", alt: "\u5E94\u7528\u56FE\u6807" }), index.h("div", null, this.modalTitle)), this.isNeedClose && (index.h("button", { class: "close-button", onClick: this.handleClose }, index.h("span", null, "\u00D7"))))), index.h("div", { style: { height: '100%' } }, index.h("div", { class: "chat-history", onScroll: this.handleScroll }, this.isLoadingHistory ? (index.h("div", { class: "loading-container" }, index.h("div", { class: "loading-spinner" }), index.h("p", null, "\u52A0\u8F7D\u5386\u53F2\u6D88\u606F\u4E2D..."))) : (index.h("div", null, this.messages.map((message) => (index.h("div", { id: `message_${message.id}`, key: message.id }, index.h("pcm-chat-message", { message: message, onMessageChange: (event) => {
975
+ return (index.h("div", { class: overlayClass, style: modalStyle }, index.h("div", { class: containerClass }, this.isShowHeader && (index.h("div", { class: "modal-header" }, index.h("div", { class: "header-left" }, this.icon && index.h("img", { src: this.icon, class: "header-icon", alt: "\u5E94\u7528\u56FE\u6807" }), index.h("div", null, this.modalTitle)), this.isNeedClose && (index.h("button", { class: "close-button", onClick: this.handleClose }, index.h("span", null, "\u00D7"))))), index.h("div", { style: { height: '100%' } }, index.h("div", { class: "chat-history", onScroll: this.handleScroll }, this.isLoadingHistory ? (index.h("div", { class: "loading-container" }, index.h("div", { class: "loading-spinner" }), index.h("p", null, "\u52A0\u8F7D\u5386\u53F2\u6D88\u606F\u4E2D..."))) : (index.h("div", null, this.messages.map((message) => (index.h("div", { id: `message_${message.id}`, key: message.id }, index.h("pcm-chat-message", { message: message, token: this.token, onMessageChange: (event) => {
977
976
  const updatedMessages = this.messages.map(msg => msg.id === message.id ? { ...msg, ...event.detail } : msg);
978
977
  this.messages = updatedMessages;
979
- } })))), this.currentStreamingMessage && (index.h("div", { id: `message_${this.currentStreamingMessage.id}` }, index.h("pcm-chat-message", { message: this.currentStreamingMessage }))), this.messages.length === 0 && !this.currentStreamingMessage && (index.h("div", { class: "empty-state" }, index.h("p", null, "\u6B63\u5728\u51C6\u5907\u9762\u8BD5...")))))), index.h("div", { class: "recording-section" }, index.h("div", { class: "recording-container" }, this.interviewMode === 'text' && (renderTextInputArea()), this.interviewMode === 'video' && (index.h("div", { style: { width: '100%', display: 'flex', flexWrap: 'wrap', justifyContent: 'center' } }, index.h("div", { class: "video-area" }, this.showRecordingUI ? (renderVideoPreview()) : (index.h("div", { class: "video-preview placeholder" }, renderPlaceholderStatus())), index.h("div", { class: "progress-container" }, index.h("div", { class: "progress-bar-container" }, index.h("div", { class: "progress-bar", style: {
978
+ } })))), this.currentStreamingMessage && (index.h("div", { id: `message_${this.currentStreamingMessage.id}` }, index.h("pcm-chat-message", { token: this.token, message: this.currentStreamingMessage }))), this.messages.length === 0 && !this.currentStreamingMessage && (index.h("div", { class: "empty-state" }, index.h("p", null, "\u6B63\u5728\u51C6\u5907\u9762\u8BD5...")))))), index.h("div", { class: "recording-section" }, index.h("div", { class: "recording-container" }, this.interviewMode === 'text' && (renderTextInputArea()), this.interviewMode === 'video' && (index.h("div", { style: { width: '100%', display: 'flex', flexWrap: 'wrap', justifyContent: 'center' } }, index.h("div", { class: "video-area" }, this.showRecordingUI ? (renderVideoPreview()) : (index.h("div", { class: "video-preview placeholder" }, renderPlaceholderStatus())), index.h("div", { class: "progress-container" }, index.h("div", { class: "progress-bar-container" }, index.h("div", { class: "progress-bar", style: {
980
979
  width: `${Math.max(0, this.currentQuestionNumber - 1) / this.totalQuestions * 100}%`
981
980
  } })), index.h("div", { class: "progress-text" }, "\u5DF2\u5B8C\u6210", Math.max(0, this.currentQuestionNumber - 1), "/", this.totalQuestions))), index.h("div", { class: "recording-controls" }, this.showRecordingUI ? (index.h("button", { class: "stop-recording-button", onClick: () => this.stopRecording() }, "\u5B8C\u6210\u672C\u9898\u56DE\u7B54")) : (index.h("div", { class: "waiting-message" }, (() => {
982
981
  // 显示播放按钮(当不自动播放且有音频URL时)
@@ -3615,6 +3614,10 @@ const ChatMessageComponent = class {
3615
3614
  */
3616
3615
  message;
3617
3616
  /**
3617
+ * SDK鉴权密钥
3618
+ */
3619
+ token = '';
3620
+ /**
3618
3621
  * 消息变更事件
3619
3622
  */
3620
3623
  messageChange;
@@ -3715,7 +3718,7 @@ const ChatMessageComponent = class {
3715
3718
  url: '/sdk/v1/files/presigned-url',
3716
3719
  method: 'GET',
3717
3720
  headers: {
3718
- 'authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuaWNrbmFtZSI6Ilx1NTMzYlx1ODA1OFx1NzMyYjgxMDMiLCJ1aWQiOjcsImNoYXRfdXNlciI6bnVsbCwiYm90X2lkIjoiMSIsInNlY3JldF9pZCI6Mzg5OTk1ODAyNTUxOTEwNDAsImV4cCI6MTc0NTA0OTAxM30.56OoTrp16avgl48YfWBKOHywAKHJ5qPGypqRCGCyVt0'
3721
+ 'authorization': `Bearer ${this.token}`
3719
3722
  },
3720
3723
  params: {
3721
3724
  cos_key: cosKey
@@ -3777,7 +3780,7 @@ const ChatMessageComponent = class {
3777
3780
  })));
3778
3781
  }
3779
3782
  render() {
3780
- return (index.h("div", { key: '3d9014ffaf4a18e08e6cea97abce67d918512720', class: "message-round" }, this.renderUserMessage(), this.renderAssistantMessage()));
3783
+ return (index.h("div", { key: 'fd26d8b6c4f13847c987badee00a8add00486f84', class: "message-round" }, this.renderUserMessage(), this.renderAssistantMessage()));
3781
3784
  }
3782
3785
  };
3783
3786
  ChatMessageComponent.style = pcmChatMessageCss;
@@ -3798,7 +3801,7 @@ const ChatHRModal = class {
3798
3801
  */
3799
3802
  modalTitle = '在线客服';
3800
3803
  /**
3801
- * API鉴权密钥
3804
+ * SDK鉴权密钥
3802
3805
  */
3803
3806
  token = '';
3804
3807
  /**
@@ -4802,10 +4805,10 @@ const ChatHRModal = class {
4802
4805
  }, onClick: () => this.handleDimensionSelect(dimension) }, dimension))))), index.h("button", { class: "submit-button", disabled: (this.requireResume && !this.selectedFile) ||
4803
4806
  !this.selectedJobCategory ||
4804
4807
  this.selectedDimensions.length === 0 ||
4805
- (this.requireResume && this.isUploading), onClick: this.handleInitialSubmit }, this.requireResume && this.isUploading ? '上传中...' : '开始面试')), this.requireResume && (index.h("input", { type: "file", class: "file-input", onChange: this.handleFileChange, accept: ".pdf,.doc,.docx,.txt" })))) : (index.h("div", { style: { height: '100%' } }, index.h("div", { class: "chat-history", onScroll: this.handleScroll }, this.isLoadingHistory ? (index.h("div", { class: "loading-container" }, index.h("div", { class: "loading-spinner" }), index.h("p", null, "\u52A0\u8F7D\u5386\u53F2\u6D88\u606F\u4E2D..."))) : (index.h("div", null, this.messages.map((message) => (index.h("div", { id: `message_${message.id}`, key: message.id }, index.h("pcm-chat-message", { message: message, onMessageChange: (event) => {
4808
+ (this.requireResume && this.isUploading), onClick: this.handleInitialSubmit }, this.requireResume && this.isUploading ? '上传中...' : '开始面试')), this.requireResume && (index.h("input", { type: "file", class: "file-input", onChange: this.handleFileChange, accept: ".pdf,.doc,.docx,.txt" })))) : (index.h("div", { style: { height: '100%' } }, index.h("div", { class: "chat-history", onScroll: this.handleScroll }, this.isLoadingHistory ? (index.h("div", { class: "loading-container" }, index.h("div", { class: "loading-spinner" }), index.h("p", null, "\u52A0\u8F7D\u5386\u53F2\u6D88\u606F\u4E2D..."))) : (index.h("div", null, this.messages.map((message) => (index.h("div", { id: `message_${message.id}`, key: message.id }, index.h("pcm-chat-message", { token: this.token, message: message, onMessageChange: (event) => {
4806
4809
  const updatedMessages = this.messages.map(msg => msg.id === message.id ? { ...msg, ...event.detail } : msg);
4807
4810
  this.messages = updatedMessages;
4808
- } })))), this.currentStreamingMessage && (index.h("div", { id: `message_${this.currentStreamingMessage.id}` }, index.h("pcm-chat-message", { message: this.currentStreamingMessage }))), this.messages.length === 0 && !this.currentStreamingMessage && (index.h("div", { class: "empty-state" }, index.h("p", null, "\u8BF7\u4E0A\u4F20\u7B80\u5386\u5F00\u59CB\u9762\u8BD5")))))), index.h("div", { class: "recording-section" }, index.h("div", { class: "recording-container" }, index.h("div", { class: "video-area" }, this.showRecordingUI ? (renderVideoPreview()) : (index.h("div", { class: "video-preview placeholder" }, renderPlaceholderStatus()))), index.h("div", { class: "progress-container" }, index.h("div", { class: "progress-bar-container" }, index.h("div", { class: "progress-bar", style: {
4811
+ } })))), this.currentStreamingMessage && (index.h("div", { id: `message_${this.currentStreamingMessage.id}` }, index.h("pcm-chat-message", { token: this.token, message: this.currentStreamingMessage }))), this.messages.length === 0 && !this.currentStreamingMessage && (index.h("div", { class: "empty-state" }, index.h("p", null, "\u8BF7\u4E0A\u4F20\u7B80\u5386\u5F00\u59CB\u9762\u8BD5")))))), index.h("div", { class: "recording-section" }, index.h("div", { class: "recording-container" }, index.h("div", { class: "video-area" }, this.showRecordingUI ? (renderVideoPreview()) : (index.h("div", { class: "video-preview placeholder" }, renderPlaceholderStatus()))), index.h("div", { class: "progress-container" }, index.h("div", { class: "progress-bar-container" }, index.h("div", { class: "progress-bar", style: {
4809
4812
  width: `${Math.max(0, this.currentQuestionNumber - 1) / this.totalQuestions * 100}%`
4810
4813
  } })), index.h("div", { class: "progress-text" }, "\u5DF2\u5B8C\u6210", Math.max(0, this.currentQuestionNumber - 1), "/", this.totalQuestions)), index.h("div", { class: "recording-controls" }, this.showRecordingUI ? (index.h("button", { class: "stop-recording-button", onClick: () => this.stopRecording() }, "\u5B8C\u6210\u672C\u9898\u56DE\u7B54")) : (index.h("div", { class: "waiting-message" }, (() => {
4811
4814
  // 显示播放按钮(当不自动播放且有音频URL时)
@@ -4822,11 +4825,11 @@ const ChatHRModal = class {
4822
4825
  };
4823
4826
  ChatHRModal.style = pcmHrChatModalCss;
4824
4827
 
4825
- const pcmJlpxModalCss = ":host{display:block}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0, 0, 0, 0.5);display:flex;justify-content:center;align-items:center;overflow-y:auto;padding:20px;z-index:1000}.fullscreen-overlay{padding:0}.modal-container{background:white;border-radius:8px;width:100%;max-width:500px;display:flex;flex-direction:column;position:relative;margin:auto;transition:all 0.3s ease-out;overflow:hidden}.modal-container.fullscreen{width:100vw;max-width:none;height:100%;border-radius:0;margin:0;display:flex;flex-direction:column;height:100vh;max-height:100vh}.pc-layout{width:80%;max-width:500px;min-width:320px}.mobile-layout{width:100%;height:100%;border-radius:0}@media screen and (max-width: 768px){.pc-layout{width:95%}.modal-overlay{padding:0}.modal-container.fullscreen{height:-webkit-fill-available;max-height:-webkit-fill-available;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);margin-top:40px;height:calc(100% - 40px);max-height:calc(100% - 40px);border-radius:16px 16px 0 0}.modal-container.mobile-layout{width:100%;height:100vh;max-height:100vh;min-height:100vh;border-radius:0;margin:0;display:flex;flex-direction:column}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:4px 16px;height:50px;border-bottom:1px solid #e8e8e8;flex-shrink:0;}.header-left{display:flex;align-items:center;gap:8px}.header-icon{width:24px;height:24px}.close-button{background:transparent;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:4px}.close-button:hover{background-color:rgba(0, 0, 0, 0.04)}.close-button span{font-size:24px;line-height:1;color:#999}.close-button:hover span{color:#666}.file-input{display:none}.chat-modal-container{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column}";
4828
+ const pcmJlppModalCss = ":host{display:block}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0, 0, 0, 0.5);display:flex;justify-content:center;align-items:center;overflow-y:auto;padding:20px;z-index:1000}.fullscreen-overlay{padding:0}.modal-container{background:white;border-radius:8px;width:100%;max-width:500px;display:flex;flex-direction:column;position:relative;margin:auto;transition:all 0.3s ease-out;overflow:hidden}.modal-container.fullscreen{width:100vw;max-width:none;height:100%;border-radius:0;margin:0;display:flex;flex-direction:column;height:100vh;max-height:100vh}.pc-layout{width:80%;max-width:500px;min-width:320px}.mobile-layout{width:100%;height:100%;border-radius:0}@media screen and (max-width: 768px){.pc-layout{width:95%}.modal-overlay{padding:0}.modal-container.fullscreen{height:-webkit-fill-available;max-height:-webkit-fill-available;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);margin-top:40px;height:calc(100% - 40px);max-height:calc(100% - 40px);border-radius:16px 16px 0 0}.modal-container.mobile-layout{width:100%;height:100vh;max-height:100vh;min-height:100vh;border-radius:0;margin:0;display:flex;flex-direction:column}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:4px 16px;height:50px;border-bottom:1px solid #e8e8e8;flex-shrink:0;}.header-left{display:flex;align-items:center;gap:8px}.header-icon{width:24px;height:24px}.close-button{background:transparent;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:4px}.close-button:hover{background-color:rgba(0, 0, 0, 0.04)}.close-button span{font-size:24px;line-height:1;color:#999}.close-button:hover span{color:#666}.file-input{display:none}.chat-modal-container{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column}";
4826
4829
 
4827
- const globalCss$2 = ".modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0, 0, 0, 0.5);display:flex;justify-content:center;align-items:center;z-index:1000;overflow-y:auto;padding:20px}.fullscreen-overlay{padding:0;background-color:rgba(0, 0, 0, 0.7)}.modal-container{background-color:#fff;border-radius:8px;width:100%;display:flex;flex-direction:column;position:relative;margin:auto;transition:all 0.3s ease-out;overflow:hidden}.modal-container.fullscreen{width:100vw;max-width:none;height:100%;border-radius:0;margin:0;display:flex;flex-direction:column;height:100vh;max-height:100vh}.pc-layout{width:80%;max-width:500px;min-width:320px}.mobile-layout{width:100%;height:100%;border-radius:0}@media screen and (max-width: 768px){.pc-layout{width:95%}.modal-overlay{padding:0}.modal-container.fullscreen{height:-webkit-fill-available;max-height:-webkit-fill-available;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);margin-top:40px;height:calc(100% - 40px);max-height:calc(100% - 40px);border-radius:16px 16px 0 0}.modal-container.mobile-layout{width:100%;height:100vh;max-height:100vh;min-height:100vh;border-radius:0;margin:0;display:flex;flex-direction:column}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:4px 16px;height:50px;border-bottom:1px solid #e8e8e8;flex-shrink:0}.header-left{display:flex;align-items:center;gap:8px}.header-icon{width:24px;height:24px}.close-button{background:transparent;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:4px}.close-button:hover{background-color:rgba(0, 0, 0, 0.04)}.close-button span{font-size:24px;line-height:1;color:#999}.close-button:hover span{color:#666}.upload-area{border:2px dashed #ddd;border-radius:8px;cursor:pointer;transition:all 0.3s ease;margin-bottom:20px;width:100%}.upload-area:hover{border-color:#1890ff;background-color:rgba(24, 144, 255, 0.05)}.upload-placeholder{display:flex;flex-direction:column;align-items:center;color:#666}.upload-placeholder svg{color:#1890ff;margin-bottom:8px}.upload-placeholder p{margin:4px 0}.upload-hint{font-size:0.8rem;color:#999;margin-top:0.5rem}.file-info{display:flex;align-items:center;justify-content:space-between;padding:8px;background:#f9f9f9;border:1px solid #e8e8e8;border-radius:4px}.file-info span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 30px)}.remove-file{background:transparent;border:none;color:#999;cursor:pointer;padding:4px 8px;font-size:16px;line-height:1;border-radius:4px;transition:all 0.2s}.remove-file:hover{background-color:#f0f0f0;color:#666}.file-input{display:none}.input-container{padding:20px;display:flex;flex-direction:column;height:calc(100% - 50px);overflow-y:auto}.input-container h3{margin-top:0;margin-bottom:20px;font-size:18px;color:#333;text-align:center}.jd-input-section{margin-bottom:20px}.jd-input-section label{display:block;margin-bottom:8px;font-weight:500;color:#333}.job-description-textarea{width:100%;border:1px solid #ddd;border-radius:4px;resize:vertical;font-family:inherit;font-size:14px;line-height:1.5;transition:border-color 0.3s}.job-description-textarea:focus{outline:none;border-color:#1890ff;box-shadow:0 0 0 2px rgba(24, 144, 255, 0.2)}.resume-upload-section{margin-bottom:20px;width:100%;display:flex;flex-direction:column;align-items:center}.resume-upload-section label{display:block;margin-bottom:8px;font-weight:500;color:#333;align-self:flex-start}.submit-button{margin-top:10px;padding:10px 30px;background:#1890ff;color:white;border:none;border-radius:4px;font-size:16px;cursor:pointer;transition:all 0.3s ease;width:100%;max-width:400px;align-self:center;}.submit-button:disabled{background:#ccc;cursor:not-allowed}.submit-button:hover:not(:disabled){background:#40a9ff}.chat-modal-container{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column}";
4830
+ const globalCss$2 = ".modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0, 0, 0, 0.5);display:flex;justify-content:center;align-items:center;z-index:1000;overflow-y:auto;padding:20px}.fullscreen-overlay{padding:0;background-color:rgba(0, 0, 0, 0.7)}.modal-container{background-color:#fff;border-radius:8px;width:100%;display:flex;flex-direction:column;position:relative;margin:auto;transition:all 0.3s ease-out;overflow:hidden}.modal-container.fullscreen{width:100vw;max-width:none;height:100%;border-radius:0;margin:0;display:flex;flex-direction:column;height:100vh;max-height:100vh}.pc-layout{width:80%;max-width:500px;min-width:320px}.mobile-layout{width:100%;height:100%;border-radius:0}@media screen and (max-width: 768px){.pc-layout{width:95%}.modal-overlay{padding:0}.modal-container.fullscreen{height:-webkit-fill-available;max-height:-webkit-fill-available;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);margin-top:40px;height:calc(100% - 40px);max-height:calc(100% - 40px);border-radius:16px 16px 0 0}.modal-container.mobile-layout{width:100%;height:100vh;max-height:100vh;min-height:100vh;border-radius:0;margin:0;display:flex;flex-direction:column}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:4px 16px;height:50px;border-bottom:1px solid #e8e8e8;flex-shrink:0}.header-left{display:flex;align-items:center;gap:8px}.header-icon{width:24px;height:24px}.close-button{background:transparent;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:4px}.close-button:hover{background-color:rgba(0, 0, 0, 0.04)}.close-button span{font-size:24px;line-height:1;color:#999}.close-button:hover span{color:#666}.upload-area{border:2px dashed #ddd;border-radius:8px;cursor:pointer;transition:all 0.3s ease;margin-bottom:20px;width:100%}.upload-area:hover{border-color:#1890ff;background-color:rgba(24, 144, 255, 0.05)}.upload-placeholder{display:flex;flex-direction:column;align-items:center;color:#666}.upload-placeholder svg{color:#1890ff;margin-bottom:8px}.upload-placeholder p{margin:4px 0}.upload-hint{font-size:0.8rem;color:#999;margin-top:0.5rem}.file-info{display:flex;align-items:center;justify-content:space-between;padding:8px;background:#f9f9f9;border:1px solid #e8e8e8;border-radius:4px}.file-info span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 30px)}.remove-file{background:transparent;border:none;color:#999;cursor:pointer;padding:4px 8px;font-size:16px;line-height:1;border-radius:4px;transition:all 0.2s}.remove-file:hover{background-color:#f0f0f0;color:#666}.file-input{display:none}.input-container{padding:20px;display:flex;flex-direction:column;height:calc(100% - 50px);overflow-y:auto}.input-container h3{margin-top:0;margin-bottom:20px;font-size:18px;color:#333;text-align:center}.jd-input-section{margin-bottom:20px}.jd-input-section label{display:block;margin-bottom:8px;font-weight:500;color:#333}.job-description-textarea{width:100%;border:1px solid #ddd;border-radius:4px;resize:vertical;font-family:inherit;font-size:14px;line-height:1.5;transition:border-color 0.3s}.job-description-textarea:focus{outline:none;border-color:#1890ff;box-shadow:0 0 0 2px rgba(24, 144, 255, 0.2)}.resume-upload-section{margin-bottom:20px;width:100%;display:flex;flex-direction:column;align-items:center}.resume-upload-section label{display:block;margin-bottom:8px;font-weight:500;color:#333;align-self:flex-start}.submit-button{margin-top:10px;padding:10px 30px;background:#1890ff;color:white;border:none;border-radius:4px;font-size:16px;cursor:pointer;transition:all 0.3s ease;width:100%;max-width:400px;align-self:center;}.submit-button:disabled{background:#ccc;cursor:not-allowed}.submit-button:hover:not(:disabled){background:#40a9ff}.chat-modal-container{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column}.ai-disclaimer{margin-top:16px;text-align:center;font-size:12px;color:#999;line-height:1.5}.ai-disclaimer p{margin:4px 0}.beian-info{display:flex;justify-content:center;flex-wrap:wrap;gap:4px}.ai-disclaimer a{color:#666;text-decoration:none;transition:color 0.2s ease}.ai-disclaimer a:hover{color:#1890ff;text-decoration:underline}";
4828
4831
 
4829
- const JlpxModal = class {
4832
+ const JlppModal = class {
4830
4833
  constructor(hostRef) {
4831
4834
  index.registerInstance(this, hostRef);
4832
4835
  this.modalClosed = index.createEvent(this, "modalClosed");
@@ -4834,14 +4837,14 @@ const JlpxModal = class {
4834
4837
  this.streamComplete = index.createEvent(this, "streamComplete");
4835
4838
  this.conversationStart = index.createEvent(this, "conversationStart");
4836
4839
  this.interviewComplete = index.createEvent(this, "interviewComplete");
4837
- this.apiKeyInvalid = index.createEvent(this, "apiKeyInvalid");
4840
+ this.tokenInvalid = index.createEvent(this, "tokenInvalid");
4838
4841
  }
4839
4842
  /**
4840
4843
  * 模态框标题
4841
4844
  */
4842
4845
  modalTitle = '简历剖析助手';
4843
4846
  /**
4844
- * API鉴权密钥
4847
+ * SDK鉴权密钥
4845
4848
  */
4846
4849
  token = '';
4847
4850
  /**
@@ -4901,9 +4904,9 @@ const JlpxModal = class {
4901
4904
  */
4902
4905
  interviewComplete;
4903
4906
  /**
4904
- * API密钥验证失败事件
4907
+ * SDK密钥验证失败事件
4905
4908
  */
4906
- apiKeyInvalid;
4909
+ tokenInvalid;
4907
4910
  selectedFile = null;
4908
4911
  isUploading = false;
4909
4912
  uploadedFileInfo = null;
@@ -4982,12 +4985,12 @@ const JlpxModal = class {
4982
4985
  }
4983
4986
  }
4984
4987
  // 使用预设的job_info或用户输入的jobDescription
4985
- const jobInfo = this.customInputs?.job_info || this.jobDescription;
4986
- console.log('传递的customInputs:', {
4987
- ...this.customInputs,
4988
- file_url: this.uploadedFileInfo.cos_key,
4989
- job_info: jobInfo
4990
- });
4988
+ // const jobInfo = this.customInputs?.job_info || this.jobDescription;
4989
+ // console.log('传递的customInputs:', {
4990
+ // ...this.customInputs,
4991
+ // file_url: this.uploadedFileInfo.cos_key,
4992
+ // job_info: jobInfo
4993
+ // });
4991
4994
  // 直接显示聊天模态框
4992
4995
  this.showChatModal = true;
4993
4996
  }
@@ -5025,7 +5028,7 @@ const JlpxModal = class {
5025
5028
  */
5026
5029
  async verifyApiKey() {
5027
5030
  if (!this.token) {
5028
- this.apiKeyInvalid.emit();
5031
+ this.tokenInvalid.emit();
5029
5032
  return;
5030
5033
  }
5031
5034
  try {
@@ -5044,7 +5047,7 @@ const JlpxModal = class {
5044
5047
  catch (error) {
5045
5048
  console.error('API密钥验证错误:', error);
5046
5049
  // 通知父组件API密钥无效
5047
- this.apiKeyInvalid.emit();
5050
+ this.tokenInvalid.emit();
5048
5051
  }
5049
5052
  }
5050
5053
  componentWillLoad() {
@@ -5090,7 +5093,7 @@ const JlpxModal = class {
5090
5093
  return (index.h("div", { class: overlayClass, style: modalStyle }, index.h("div", { class: containerClass }, this.isShowHeader && (index.h("div", { class: "modal-header" }, index.h("div", { class: "header-left" }, this.icon && index.h("img", { src: this.icon, class: "header-icon", alt: "\u5E94\u7528\u56FE\u6807" }), index.h("div", null, this.modalTitle)), this.isNeedClose && (index.h("button", { class: "close-button", onClick: this.handleClose }, index.h("span", null, "\u00D7"))))), !this.showChatModal && !this.conversationId && (index.h("div", { class: "input-container" }, !hideJdInput && (index.h("div", { class: "jd-input-section" }, index.h("label", { htmlFor: "job-description" }, "\u8BF7\u8F93\u5165\u804C\u4F4D\u63CF\u8FF0 (JD)"), index.h("textarea", { id: "job-description", class: "job-description-textarea", placeholder: "\u8BF7\u8F93\u5165\u804C\u4F4D\u63CF\u8FF0\uFF0C\u5305\u62EC\u804C\u8D23\u3001\u8981\u6C42\u7B49\u4FE1\u606F...", rows: 6, value: this.jobDescription, onInput: this.handleJobDescriptionChange }))), index.h("div", { class: "resume-upload-section" }, index.h("label", null, "\u4E0A\u4F20\u7B80\u5386"), index.h("div", { class: "upload-area", onClick: this.handleUploadClick }, this.selectedFile ? (index.h("div", { class: "file-info" }, index.h("span", null, this.selectedFile.name), index.h("button", { class: "remove-file", onClick: (e) => {
5091
5094
  e.stopPropagation();
5092
5095
  this.clearSelectedFile();
5093
- } }, "\u00D7"))) : (index.h("div", { class: "upload-placeholder" }, index.h("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", width: "48", height: "48" }, index.h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", "stroke-width": "2", d: "M12 4v16m0-16l-4 4m4-4l4 4" })), index.h("p", null, "\u70B9\u51FB\u4E0A\u4F20\u7B80\u5386"), index.h("p", { class: "upload-hint" }, "\u652F\u6301 txt\u3001markdown\u3001pdf\u3001docx\u3001md \u683C\u5F0F"))))), index.h("button", { class: "submit-button", disabled: !this.selectedFile || (!hideJdInput && !this.jobDescription.trim()) || this.isUploading || this.isSubmitting, onClick: this.handleStartAnalysis }, this.isUploading ? '上传中...' : this.isSubmitting ? '处理中...' : '开始分析'), index.h("input", { type: "file", class: "file-input", onChange: this.handleFileChange, accept: ".pdf,.doc,.docx,.txt,.md" }))), this.showChatModal && (index.h("div", { class: "chat-modal-container" }, index.h("pcm-app-chat-modal", { isOpen: true, modalTitle: this.modalTitle, icon: this.icon, token: this.token, isShowHeader: this.isShowHeader, isNeedClose: this.isShowHeader, zIndex: this.zIndex, fullscreen: this.fullscreen, conversationId: this.conversationId, defaultQuery: this.defaultQuery, enableTTS: false, enableVoice: false, botId: "3022316191018881", customInputs: this.conversationId ? undefined : {
5096
+ } }, "\u00D7"))) : (index.h("div", { class: "upload-placeholder" }, index.h("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", width: "48", height: "48" }, index.h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", "stroke-width": "2", d: "M12 4v16m0-16l-4 4m4-4l4 4" })), index.h("p", null, "\u70B9\u51FB\u4E0A\u4F20\u7B80\u5386"), index.h("p", { class: "upload-hint" }, "\u652F\u6301 txt\u3001markdown\u3001pdf\u3001docx\u3001doc\u3001md \u683C\u5F0F"))))), index.h("button", { class: "submit-button", disabled: !this.selectedFile || (!hideJdInput && !this.jobDescription.trim()) || this.isUploading || this.isSubmitting, onClick: this.handleStartAnalysis }, this.isUploading ? '上传中...' : this.isSubmitting ? '处理中...' : '开始分析'), index.h("div", { class: "ai-disclaimer" }, index.h("p", null, "\u6240\u6709\u5185\u5BB9\u5747\u7531AI\u751F\u6210\u4EC5\u4F9B\u53C2\u8003"), index.h("p", { class: "beian-info" }, index.h("span", null, "\u4E2D\u592E\u7F51\u4FE1\u529E\u751F\u6210\u5F0F\u4EBA\u5DE5\u667A\u80FD\u670D\u52A1\u5907\u6848\u53F7"), "\uFF1A", index.h("a", { href: "https://www.pincaimao.com", target: "_blank", rel: "noopener noreferrer" }, "Hunan-PinCaiMao-202412310003"))), index.h("input", { type: "file", class: "file-input", onChange: this.handleFileChange }))), this.showChatModal && (index.h("div", { class: "chat-modal-container" }, index.h("pcm-app-chat-modal", { isOpen: true, modalTitle: this.modalTitle, icon: this.icon, token: this.token, isShowHeader: this.isShowHeader, isNeedClose: this.isShowHeader, zIndex: this.zIndex, fullscreen: this.fullscreen, conversationId: this.conversationId, defaultQuery: this.defaultQuery, enableTTS: false, enableVoice: false, botId: "3022316191018881", customInputs: this.conversationId ? undefined : {
5094
5097
  ...this.customInputs,
5095
5098
  file_url: this.uploadedFileInfo?.cos_key,
5096
5099
  job_info: this.customInputs?.job_info || this.jobDescription
@@ -5100,11 +5103,11 @@ const JlpxModal = class {
5100
5103
  "isOpen": ["handleIsOpenChange"]
5101
5104
  }; }
5102
5105
  };
5103
- JlpxModal.style = pcmJlpxModalCss + globalCss$2;
5106
+ JlppModal.style = pcmJlppModalCss + globalCss$2;
5104
5107
 
5105
5108
  const pcmMnmsModalCss = ":host{display:block}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0, 0, 0, 0.5);display:flex;justify-content:center;align-items:center;overflow-y:auto;padding:20px;z-index:1000}.fullscreen-overlay{padding:0}.modal-container{background:white;border-radius:8px;width:100%;max-width:500px;display:flex;flex-direction:column;position:relative;margin:auto;transition:all 0.3s ease-out;overflow:hidden}.modal-container.fullscreen{width:100vw;max-width:none;height:100%;border-radius:0;margin:0;display:flex;flex-direction:column;height:100vh;max-height:100vh}.pc-layout{width:80%;max-width:500px;min-width:320px}.mobile-layout{width:100%;height:100%;border-radius:0}@media screen and (max-width: 768px){.pc-layout{width:95%}.modal-overlay{padding:0}.modal-container.fullscreen{height:-webkit-fill-available;max-height:-webkit-fill-available;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);margin-top:40px;height:calc(100% - 40px);max-height:calc(100% - 40px);border-radius:16px 16px 0 0}.modal-container.mobile-layout{width:100%;height:100vh;max-height:100vh;min-height:100vh;border-radius:0;margin:0;display:flex;flex-direction:column}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:4px 16px;height:50px;border-bottom:1px solid #e8e8e8;flex-shrink:0;}.header-left{display:flex;align-items:center;gap:8px}.header-icon{width:24px;height:24px}.close-button{background:transparent;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:4px}.close-button:hover{background-color:rgba(0, 0, 0, 0.04)}.close-button span{font-size:24px;line-height:1;color:#999}.close-button:hover span{color:#666}.upload-container{padding:30px 20px;display:flex;flex-direction:column;align-items:center;text-align:center;height:calc(100% - 60px);transition:opacity 0.5s ease-out}.upload-container h3{margin-top:0;margin-bottom:20px;font-size:18px;color:#333}.submit-button{max-width:400px}.file-input{display:none}.transitioning{position:relative;overflow:hidden}.fade-out{opacity:0.7;transition:opacity 0.5s ease-out}.transition-container{margin-top:20px;width:100%}.progress-bar{width:100%;height:6px;background-color:#f0f0f0;border-radius:3px;overflow:hidden;margin-bottom:10px}.progress-fill{height:100%;background-color:#4285f4;transition:width 0.3s ease-out}.upload-container.fade-out{opacity:0;transform:translateY(-20px);transition:opacity 0.3s ease, transform 0.3s ease}.chat-modal-container{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column}.modal-container{position:relative;overflow:hidden}";
5106
5109
 
5107
- const globalCss$1 = ".modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0, 0, 0, 0.5);display:flex;justify-content:center;align-items:center;z-index:1000;overflow-y:auto;padding:20px}.fullscreen-overlay{padding:0;background-color:rgba(0, 0, 0, 0.7)}.modal-container{background-color:#fff;border-radius:8px;width:100%;display:flex;flex-direction:column;position:relative;margin:auto;transition:all 0.3s ease-out;overflow:hidden}.modal-container.fullscreen{width:100vw;max-width:none;height:100%;border-radius:0;margin:0;display:flex;flex-direction:column;height:100vh;max-height:100vh}.pc-layout{width:80%;max-width:500px;min-width:320px}.mobile-layout{width:100%;height:100%;border-radius:0}@media screen and (max-width: 768px){.pc-layout{width:95%}.modal-overlay{padding:0}.modal-container.fullscreen{height:-webkit-fill-available;max-height:-webkit-fill-available;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);margin-top:40px;height:calc(100% - 40px);max-height:calc(100% - 40px);border-radius:16px 16px 0 0}.modal-container.mobile-layout{width:100%;height:100vh;max-height:100vh;min-height:100vh;border-radius:0;margin:0;display:flex;flex-direction:column}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:4px 16px;height:50px;border-bottom:1px solid #e8e8e8;flex-shrink:0}.header-left{display:flex;align-items:center;gap:8px}.header-icon{width:24px;height:24px}.close-button{background:transparent;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:4px}.close-button:hover{background-color:rgba(0, 0, 0, 0.04)}.close-button span{font-size:24px;line-height:1;color:#999}.close-button:hover span{color:#666}.upload-area{border:2px dashed #ddd;border-radius:8px;cursor:pointer;transition:all 0.3s ease;margin-bottom:20px;width:100%}.upload-area:hover{border-color:#1890ff;background-color:rgba(24, 144, 255, 0.05)}.upload-placeholder{display:flex;flex-direction:column;align-items:center;color:#666}.upload-placeholder svg{color:#1890ff;margin-bottom:8px}.upload-placeholder p{margin:4px 0}.upload-hint{font-size:0.8rem;color:#999;margin-top:0.5rem}.file-info{display:flex;align-items:center;justify-content:space-between;padding:8px;background:#f9f9f9;border:1px solid #e8e8e8;border-radius:4px}.file-info span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 30px)}.remove-file{background:transparent;border:none;color:#999;cursor:pointer;padding:4px 8px;font-size:16px;line-height:1;border-radius:4px;transition:all 0.2s}.remove-file:hover{background-color:#f0f0f0;color:#666}.file-input{display:none}.input-container{padding:20px;display:flex;flex-direction:column;height:calc(100% - 50px);overflow-y:auto}.input-container h3{margin-top:0;margin-bottom:20px;font-size:18px;color:#333;text-align:center}.jd-input-section{margin-bottom:20px}.jd-input-section label{display:block;margin-bottom:8px;font-weight:500;color:#333}.job-description-textarea{width:100%;border:1px solid #ddd;border-radius:4px;resize:vertical;font-family:inherit;font-size:14px;line-height:1.5;transition:border-color 0.3s}.job-description-textarea:focus{outline:none;border-color:#1890ff;box-shadow:0 0 0 2px rgba(24, 144, 255, 0.2)}.resume-upload-section{margin-bottom:20px;width:100%;display:flex;flex-direction:column;align-items:center}.resume-upload-section label{display:block;margin-bottom:8px;font-weight:500;color:#333;align-self:flex-start}.submit-button{margin-top:10px;padding:10px 30px;background:#1890ff;color:white;border:none;border-radius:4px;font-size:16px;cursor:pointer;transition:all 0.3s ease;width:100%;max-width:400px;align-self:center;}.submit-button:disabled{background:#ccc;cursor:not-allowed}.submit-button:hover:not(:disabled){background:#40a9ff}.chat-modal-container{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column}";
5110
+ const globalCss$1 = ".modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0, 0, 0, 0.5);display:flex;justify-content:center;align-items:center;z-index:1000;overflow-y:auto;padding:20px}.fullscreen-overlay{padding:0;background-color:rgba(0, 0, 0, 0.7)}.modal-container{background-color:#fff;border-radius:8px;width:100%;display:flex;flex-direction:column;position:relative;margin:auto;transition:all 0.3s ease-out;overflow:hidden}.modal-container.fullscreen{width:100vw;max-width:none;height:100%;border-radius:0;margin:0;display:flex;flex-direction:column;height:100vh;max-height:100vh}.pc-layout{width:80%;max-width:500px;min-width:320px}.mobile-layout{width:100%;height:100%;border-radius:0}@media screen and (max-width: 768px){.pc-layout{width:95%}.modal-overlay{padding:0}.modal-container.fullscreen{height:-webkit-fill-available;max-height:-webkit-fill-available;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);margin-top:40px;height:calc(100% - 40px);max-height:calc(100% - 40px);border-radius:16px 16px 0 0}.modal-container.mobile-layout{width:100%;height:100vh;max-height:100vh;min-height:100vh;border-radius:0;margin:0;display:flex;flex-direction:column}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:4px 16px;height:50px;border-bottom:1px solid #e8e8e8;flex-shrink:0}.header-left{display:flex;align-items:center;gap:8px}.header-icon{width:24px;height:24px}.close-button{background:transparent;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:4px}.close-button:hover{background-color:rgba(0, 0, 0, 0.04)}.close-button span{font-size:24px;line-height:1;color:#999}.close-button:hover span{color:#666}.upload-area{border:2px dashed #ddd;border-radius:8px;cursor:pointer;transition:all 0.3s ease;margin-bottom:20px;width:100%}.upload-area:hover{border-color:#1890ff;background-color:rgba(24, 144, 255, 0.05)}.upload-placeholder{display:flex;flex-direction:column;align-items:center;color:#666}.upload-placeholder svg{color:#1890ff;margin-bottom:8px}.upload-placeholder p{margin:4px 0}.upload-hint{font-size:0.8rem;color:#999;margin-top:0.5rem}.file-info{display:flex;align-items:center;justify-content:space-between;padding:8px;background:#f9f9f9;border:1px solid #e8e8e8;border-radius:4px}.file-info span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 30px)}.remove-file{background:transparent;border:none;color:#999;cursor:pointer;padding:4px 8px;font-size:16px;line-height:1;border-radius:4px;transition:all 0.2s}.remove-file:hover{background-color:#f0f0f0;color:#666}.file-input{display:none}.input-container{padding:20px;display:flex;flex-direction:column;height:calc(100% - 50px);overflow-y:auto}.input-container h3{margin-top:0;margin-bottom:20px;font-size:18px;color:#333;text-align:center}.jd-input-section{margin-bottom:20px}.jd-input-section label{display:block;margin-bottom:8px;font-weight:500;color:#333}.job-description-textarea{width:100%;border:1px solid #ddd;border-radius:4px;resize:vertical;font-family:inherit;font-size:14px;line-height:1.5;transition:border-color 0.3s}.job-description-textarea:focus{outline:none;border-color:#1890ff;box-shadow:0 0 0 2px rgba(24, 144, 255, 0.2)}.resume-upload-section{margin-bottom:20px;width:100%;display:flex;flex-direction:column;align-items:center}.resume-upload-section label{display:block;margin-bottom:8px;font-weight:500;color:#333;align-self:flex-start}.submit-button{margin-top:10px;padding:10px 30px;background:#1890ff;color:white;border:none;border-radius:4px;font-size:16px;cursor:pointer;transition:all 0.3s ease;width:100%;max-width:400px;align-self:center;}.submit-button:disabled{background:#ccc;cursor:not-allowed}.submit-button:hover:not(:disabled){background:#40a9ff}.chat-modal-container{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column}.ai-disclaimer{margin-top:16px;text-align:center;font-size:12px;color:#999;line-height:1.5}.ai-disclaimer p{margin:4px 0}.beian-info{display:flex;justify-content:center;flex-wrap:wrap;gap:4px}.ai-disclaimer a{color:#666;text-decoration:none;transition:color 0.2s ease}.ai-disclaimer a:hover{color:#1890ff;text-decoration:underline}";
5108
5111
 
5109
5112
  const MnmsModal = class {
5110
5113
  constructor(hostRef) {
@@ -5114,14 +5117,14 @@ const MnmsModal = class {
5114
5117
  this.streamComplete = index.createEvent(this, "streamComplete");
5115
5118
  this.conversationStart = index.createEvent(this, "conversationStart");
5116
5119
  this.interviewComplete = index.createEvent(this, "interviewComplete");
5117
- this.apiKeyInvalid = index.createEvent(this, "apiKeyInvalid");
5120
+ this.tokenInvalid = index.createEvent(this, "tokenInvalid");
5118
5121
  }
5119
5122
  /**
5120
5123
  * 模态框标题
5121
5124
  */
5122
5125
  modalTitle = '模拟面试';
5123
5126
  /**
5124
- * API鉴权密钥
5127
+ * SDK鉴权密钥
5125
5128
  */
5126
5129
  token = '';
5127
5130
  /**
@@ -5181,9 +5184,9 @@ const MnmsModal = class {
5181
5184
  */
5182
5185
  interviewComplete;
5183
5186
  /**
5184
- * API密钥验证失败事件
5187
+ * SDK密钥验证失败事件
5185
5188
  */
5186
- apiKeyInvalid;
5189
+ tokenInvalid;
5187
5190
  selectedFile = null;
5188
5191
  isUploading = false;
5189
5192
  uploadedFileInfo = null;
@@ -5262,12 +5265,12 @@ const MnmsModal = class {
5262
5265
  }
5263
5266
  }
5264
5267
  // 使用预设的job_info或用户输入的jobDescription
5265
- const jobInfo = this.customInputs?.job_info || this.jobDescription;
5266
- console.log('传递的customInputs:', {
5267
- ...this.customInputs,
5268
- file_url: this.uploadedFileInfo.cos_key,
5269
- job_info: jobInfo
5270
- });
5268
+ // const jobInfo = this.customInputs?.job_info || this.jobDescription;
5269
+ // console.log('传递的customInputs:', {
5270
+ // ...this.customInputs,
5271
+ // file_url: this.uploadedFileInfo.cos_key,
5272
+ // job_info: jobInfo
5273
+ // });
5271
5274
  // 直接显示聊天模态框
5272
5275
  this.showChatModal = true;
5273
5276
  }
@@ -5324,7 +5327,7 @@ const MnmsModal = class {
5324
5327
  */
5325
5328
  async verifyApiKey() {
5326
5329
  if (!this.token) {
5327
- this.apiKeyInvalid.emit();
5330
+ this.tokenInvalid.emit();
5328
5331
  return;
5329
5332
  }
5330
5333
  try {
@@ -5343,7 +5346,7 @@ const MnmsModal = class {
5343
5346
  catch (error) {
5344
5347
  console.error('API密钥验证错误:', error);
5345
5348
  // 通知父组件API密钥无效
5346
- this.apiKeyInvalid.emit();
5349
+ this.tokenInvalid.emit();
5347
5350
  }
5348
5351
  }
5349
5352
  render() {
@@ -5371,7 +5374,7 @@ const MnmsModal = class {
5371
5374
  return (index.h("div", { class: overlayClass, style: modalStyle }, index.h("div", { class: containerClass }, this.isShowHeader && (index.h("div", { class: "modal-header" }, index.h("div", { class: "header-left" }, this.icon && index.h("img", { src: this.icon, class: "header-icon", alt: "\u5E94\u7528\u56FE\u6807" }), index.h("div", null, this.modalTitle)), this.isNeedClose && (index.h("button", { class: "close-button", onClick: this.handleClose }, index.h("span", null, "\u00D7"))))), !this.showChatModal && !this.conversationId && (index.h("div", { class: "input-container" }, !hideJdInput && (index.h("div", { class: "jd-input-section" }, index.h("label", { htmlFor: "job-description" }, "\u8BF7\u8F93\u5165\u804C\u4F4D\u63CF\u8FF0 (JD)"), index.h("textarea", { id: "job-description", class: "job-description-textarea", placeholder: "\u8BF7\u8F93\u5165\u804C\u4F4D\u63CF\u8FF0\uFF0C\u5305\u62EC\u804C\u8D23\u3001\u8981\u6C42\u7B49\u4FE1\u606F...", rows: 6, value: this.jobDescription, onInput: this.handleJobDescriptionChange }))), index.h("div", { class: "resume-upload-section" }, index.h("label", null, "\u4E0A\u4F20\u7B80\u5386"), index.h("div", { class: "upload-area", onClick: this.handleUploadClick }, this.selectedFile ? (index.h("div", { class: "file-info" }, index.h("span", null, this.selectedFile.name), index.h("button", { class: "remove-file", onClick: (e) => {
5372
5375
  e.stopPropagation();
5373
5376
  this.clearSelectedFile();
5374
- } }, "\u00D7"))) : (index.h("div", { class: "upload-placeholder" }, index.h("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", width: "48", height: "48" }, index.h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", "stroke-width": "2", d: "M12 4v16m0-16l-4 4m4-4l4 4" })), index.h("p", null, "\u70B9\u51FB\u4E0A\u4F20\u7B80\u5386"), index.h("p", { class: "upload-hint" }, "\u652F\u6301 txt\u3001markdown\u3001pdf\u3001docx\u3001md \u683C\u5F0F"))))), index.h("button", { class: "submit-button", disabled: !this.selectedFile || (!hideJdInput && !this.jobDescription.trim()) || this.isUploading || this.isSubmitting, onClick: this.handleStartInterview }, this.isUploading ? '上传中...' : this.isSubmitting ? '处理中...' : '开始分析'), index.h("input", { type: "file", class: "file-input", onChange: this.handleFileChange, accept: ".pdf,.doc,.docx,.txt,.md" }))), this.showChatModal && (index.h("div", { class: "chat-modal-container" }, index.h("pcm-app-chat-modal", { isOpen: true, modalTitle: this.modalTitle, icon: this.icon, token: this.token, isShowHeader: this.isShowHeader, isNeedClose: this.isShowHeader, zIndex: this.zIndex, fullscreen: this.fullscreen, botId: "3022316191018884", conversationId: this.conversationId, defaultQuery: this.defaultQuery, enableVoice: false, customInputs: this.conversationId ? undefined : {
5377
+ } }, "\u00D7"))) : (index.h("div", { class: "upload-placeholder" }, index.h("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", width: "48", height: "48" }, index.h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", "stroke-width": "2", d: "M12 4v16m0-16l-4 4m4-4l4 4" })), index.h("p", null, "\u70B9\u51FB\u4E0A\u4F20\u7B80\u5386"), index.h("p", { class: "upload-hint" }, "\u652F\u6301 txt\u3001markdown\u3001pdf\u3001docx\u3001doc\u3001md \u683C\u5F0F"))))), index.h("button", { class: "submit-button", disabled: !this.selectedFile || (!hideJdInput && !this.jobDescription.trim()) || this.isUploading || this.isSubmitting, onClick: this.handleStartInterview }, this.isUploading ? '上传中...' : this.isSubmitting ? '处理中...' : '开始分析'), index.h("div", { class: "ai-disclaimer" }, index.h("p", null, "\u6240\u6709\u5185\u5BB9\u5747\u7531AI\u751F\u6210\u4EC5\u4F9B\u53C2\u8003"), index.h("p", { class: "beian-info" }, index.h("span", null, "\u4E2D\u592E\u7F51\u4FE1\u529E\u751F\u6210\u5F0F\u4EBA\u5DE5\u667A\u80FD\u670D\u52A1\u5907\u6848\u53F7"), "\uFF1A", index.h("a", { href: "https://www.pincaimao.com", target: "_blank", rel: "noopener noreferrer" }, "Hunan-PinCaiMao-202412310003"))), index.h("input", { type: "file", class: "file-input", onChange: this.handleFileChange }))), this.showChatModal && (index.h("div", { class: "chat-modal-container" }, index.h("pcm-app-chat-modal", { isOpen: true, modalTitle: this.modalTitle, icon: this.icon, token: this.token, isShowHeader: this.isShowHeader, isNeedClose: this.isShowHeader, zIndex: this.zIndex, fullscreen: this.fullscreen, botId: "3022316191018884", conversationId: this.conversationId, defaultQuery: this.defaultQuery, enableVoice: false, customInputs: this.conversationId ? undefined : {
5375
5378
  ...this.customInputs,
5376
5379
  file_url: this.uploadedFileInfo?.cos_key,
5377
5380
  job_info: this.customInputs?.job_info || this.jobDescription
@@ -5399,7 +5402,7 @@ const VideoChatModal = class {
5399
5402
  */
5400
5403
  modalTitle = '在线客服';
5401
5404
  /**
5402
- * API鉴权密钥
5405
+ * SDK鉴权密钥
5403
5406
  */
5404
5407
  token = '';
5405
5408
  /**
@@ -6257,10 +6260,10 @@ const VideoChatModal = class {
6257
6260
  // 添加默认状态
6258
6261
  return (index.h("div", { class: "placeholder-status default-status" }, index.h("p", null, "\u51C6\u5907\u4E2D...")));
6259
6262
  };
6260
- return (index.h("div", { class: overlayClass, style: modalStyle }, index.h("div", { class: containerClass }, this.isShowHeader && (index.h("div", { class: "modal-header" }, index.h("div", { class: "header-left" }, this.icon && index.h("img", { src: this.icon, class: "header-icon", alt: "\u5E94\u7528\u56FE\u6807" }), index.h("div", null, this.modalTitle)), this.isNeedClose && (index.h("button", { class: "close-button", onClick: this.handleClose }, index.h("span", null, "\u00D7"))))), index.h("div", { style: { height: '100%' } }, index.h("div", { class: "chat-history", onScroll: this.handleScroll }, this.isLoadingHistory ? (index.h("div", { class: "loading-container" }, index.h("div", { class: "loading-spinner" }), index.h("p", null, "\u52A0\u8F7D\u5386\u53F2\u6D88\u606F\u4E2D..."))) : (index.h("div", null, this.messages.map((message) => (index.h("div", { id: `message_${message.id}`, key: message.id }, index.h("pcm-chat-message", { message: message, onMessageChange: (event) => {
6263
+ return (index.h("div", { class: overlayClass, style: modalStyle }, index.h("div", { class: containerClass }, this.isShowHeader && (index.h("div", { class: "modal-header" }, index.h("div", { class: "header-left" }, this.icon && index.h("img", { src: this.icon, class: "header-icon", alt: "\u5E94\u7528\u56FE\u6807" }), index.h("div", null, this.modalTitle)), this.isNeedClose && (index.h("button", { class: "close-button", onClick: this.handleClose }, index.h("span", null, "\u00D7"))))), index.h("div", { style: { height: '100%' } }, index.h("div", { class: "chat-history", onScroll: this.handleScroll }, this.isLoadingHistory ? (index.h("div", { class: "loading-container" }, index.h("div", { class: "loading-spinner" }), index.h("p", null, "\u52A0\u8F7D\u5386\u53F2\u6D88\u606F\u4E2D..."))) : (index.h("div", null, this.messages.map((message) => (index.h("div", { id: `message_${message.id}`, key: message.id }, index.h("pcm-chat-message", { token: this.token, message: message, onMessageChange: (event) => {
6261
6264
  const updatedMessages = this.messages.map(msg => msg.id === message.id ? { ...msg, ...event.detail } : msg);
6262
6265
  this.messages = updatedMessages;
6263
- } })))), this.currentStreamingMessage && (index.h("div", { id: `message_${this.currentStreamingMessage.id}` }, index.h("pcm-chat-message", { message: this.currentStreamingMessage })))))), index.h("div", { class: "recording-section" }, index.h("div", { class: "recording-container" }, index.h("div", { class: "video-area" }, this.showRecordingUI ? (renderVideoPreview()) : (index.h("div", { class: "video-preview placeholder" }, renderPlaceholderStatus()))), index.h("div", { class: "progress-container" }, index.h("div", { class: "progress-bar-container" }, index.h("div", { class: "progress-bar", style: {
6266
+ } })))), this.currentStreamingMessage && (index.h("div", { id: `message_${this.currentStreamingMessage.id}` }, index.h("pcm-chat-message", { token: this.token, message: this.currentStreamingMessage })))))), index.h("div", { class: "recording-section" }, index.h("div", { class: "recording-container" }, index.h("div", { class: "video-area" }, this.showRecordingUI ? (renderVideoPreview()) : (index.h("div", { class: "video-preview placeholder" }, renderPlaceholderStatus()))), index.h("div", { class: "progress-container" }, index.h("div", { class: "progress-bar-container" }, index.h("div", { class: "progress-bar", style: {
6264
6267
  width: `${Math.max(0, this.currentQuestionNumber - 1) / this.totalQuestions * 100}%`
6265
6268
  } })), index.h("div", { class: "progress-text" }, "\u5DF2\u5B8C\u6210", Math.max(0, this.currentQuestionNumber - 1), "/", this.totalQuestions)), index.h("div", { class: "recording-controls" }, this.showRecordingUI ? (index.h("button", { class: "stop-recording-button", onClick: () => this.stopRecording() }, "\u5B8C\u6210\u672C\u9898\u56DE\u7B54")) : (index.h("div", { class: "waiting-message" }, (() => {
6266
6269
  // 显示播放按钮(当不自动播放且有音频URL时)
@@ -6279,7 +6282,7 @@ VideoChatModal.style = pcmVideoChatModalCss;
6279
6282
 
6280
6283
  const pcmZyghModalCss = ".modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0, 0, 0, 0.5);display:flex;justify-content:center;align-items:center;z-index:1000}.fullscreen-overlay{background-color:rgba(0, 0, 0, 0.7)}.modal-container{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);width:90%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.fullscreen{width:100%;height:100%;max-width:100%;max-height:100%;border-radius:0}.pc-layout{width:90%;max-width:800px;max-height:90vh}.mobile-layout{width:100%;height:100%;max-width:100%;max-height:100%;border-radius:0}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #f0f0f0;background-color:#fff}.header-left{display:flex;align-items:center;font-size:16px;font-weight:600;color:#333}.header-icon{width:24px;height:24px;margin-right:8px;border-radius:4px}.close-button{background:none;border:none;font-size:20px;cursor:pointer;color:#999;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;transition:background-color 0.3s}.close-button:hover{background-color:#f5f5f5;color:#666}.input-container{padding:20px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:20px}.plan-type-section{display:flex;flex-direction:column;gap:10px}.plan-type-section label{font-weight:600;color:#333;margin-bottom:8px}.plan-type-options{display:flex;gap:15px;flex-wrap:wrap}.plan-type-option{flex:1;min-width:120px;border:1px solid #e8e8e8;border-radius:8px;padding:15px;cursor:pointer;display:flex;flex-direction:column;align-items:center;transition:all 0.3s}.plan-type-option:hover{border-color:#1890ff;background-color:#f0f7ff}.plan-type-option.selected{border-color:#1890ff;background-color:#e6f7ff;box-shadow:0 2px 8px rgba(24, 144, 255, 0.2)}.option-icon{font-size:24px;margin-bottom:8px}.option-label{font-size:14px;font-weight:500;color:#333}.resume-upload-section{display:flex;flex-direction:column;gap:8px}.resume-upload-section label{font-weight:600;color:#333}.upload-area{border:2px dashed #d9d9d9;border-radius:4px;text-align:center;cursor:pointer;transition:border-color 0.3s, background-color 0.3s}.upload-area:hover{border-color:#1890ff;background-color:#f0f7ff}.upload-placeholder{display:flex;flex-direction:column;align-items:center;color:#666}.upload-placeholder svg{color:#1890ff;margin-bottom:8px}.upload-placeholder p{margin:4px 0}.upload-hint{font-size:12px;color:#999}.file-info{display:flex;align-items:center;justify-content:space-between;background-color:#f5f5f5;padding:8px 12px;border-radius:4px}.file-info span{flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-break:break-word;margin-right:8px;max-width:calc(100% - 32px);line-height:1.4}.remove-file{flex-shrink:0;background:none;border:none;color:#ff4d4f;cursor:pointer;font-size:16px;padding:4px 8px;border-radius:50%;transition:background-color 0.3s}.remove-file:hover{background-color:#fff1f0}.file-input{display:none}.submit-button{background-color:#1890ff;color:white;border:none;border-radius:4px;padding:12px 20px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color 0.3s;margin-top:10px}.submit-button:hover{background-color:#40a9ff}.submit-button:disabled{background-color:#d9d9d9;cursor:not-allowed}.chat-modal-container{flex:1;display:flex;flex-direction:column;overflow:hidden}";
6281
6284
 
6282
- const globalCss = ".modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0, 0, 0, 0.5);display:flex;justify-content:center;align-items:center;z-index:1000;overflow-y:auto;padding:20px}.fullscreen-overlay{padding:0;background-color:rgba(0, 0, 0, 0.7)}.modal-container{background-color:#fff;border-radius:8px;width:100%;display:flex;flex-direction:column;position:relative;margin:auto;transition:all 0.3s ease-out;overflow:hidden}.modal-container.fullscreen{width:100vw;max-width:none;height:100%;border-radius:0;margin:0;display:flex;flex-direction:column;height:100vh;max-height:100vh}.pc-layout{width:80%;max-width:500px;min-width:320px}.mobile-layout{width:100%;height:100%;border-radius:0}@media screen and (max-width: 768px){.pc-layout{width:95%}.modal-overlay{padding:0}.modal-container.fullscreen{height:-webkit-fill-available;max-height:-webkit-fill-available;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);margin-top:40px;height:calc(100% - 40px);max-height:calc(100% - 40px);border-radius:16px 16px 0 0}.modal-container.mobile-layout{width:100%;height:100vh;max-height:100vh;min-height:100vh;border-radius:0;margin:0;display:flex;flex-direction:column}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:4px 16px;height:50px;border-bottom:1px solid #e8e8e8;flex-shrink:0}.header-left{display:flex;align-items:center;gap:8px}.header-icon{width:24px;height:24px}.close-button{background:transparent;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:4px}.close-button:hover{background-color:rgba(0, 0, 0, 0.04)}.close-button span{font-size:24px;line-height:1;color:#999}.close-button:hover span{color:#666}.upload-area{border:2px dashed #ddd;border-radius:8px;cursor:pointer;transition:all 0.3s ease;margin-bottom:20px;width:100%}.upload-area:hover{border-color:#1890ff;background-color:rgba(24, 144, 255, 0.05)}.upload-placeholder{display:flex;flex-direction:column;align-items:center;color:#666}.upload-placeholder svg{color:#1890ff;margin-bottom:8px}.upload-placeholder p{margin:4px 0}.upload-hint{font-size:0.8rem;color:#999;margin-top:0.5rem}.file-info{display:flex;align-items:center;justify-content:space-between;padding:8px;background:#f9f9f9;border:1px solid #e8e8e8;border-radius:4px}.file-info span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 30px)}.remove-file{background:transparent;border:none;color:#999;cursor:pointer;padding:4px 8px;font-size:16px;line-height:1;border-radius:4px;transition:all 0.2s}.remove-file:hover{background-color:#f0f0f0;color:#666}.file-input{display:none}.input-container{padding:20px;display:flex;flex-direction:column;height:calc(100% - 50px);overflow-y:auto}.input-container h3{margin-top:0;margin-bottom:20px;font-size:18px;color:#333;text-align:center}.jd-input-section{margin-bottom:20px}.jd-input-section label{display:block;margin-bottom:8px;font-weight:500;color:#333}.job-description-textarea{width:100%;border:1px solid #ddd;border-radius:4px;resize:vertical;font-family:inherit;font-size:14px;line-height:1.5;transition:border-color 0.3s}.job-description-textarea:focus{outline:none;border-color:#1890ff;box-shadow:0 0 0 2px rgba(24, 144, 255, 0.2)}.resume-upload-section{margin-bottom:20px;width:100%;display:flex;flex-direction:column;align-items:center}.resume-upload-section label{display:block;margin-bottom:8px;font-weight:500;color:#333;align-self:flex-start}.submit-button{margin-top:10px;padding:10px 30px;background:#1890ff;color:white;border:none;border-radius:4px;font-size:16px;cursor:pointer;transition:all 0.3s ease;width:100%;max-width:400px;align-self:center;}.submit-button:disabled{background:#ccc;cursor:not-allowed}.submit-button:hover:not(:disabled){background:#40a9ff}.chat-modal-container{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column}";
6285
+ const globalCss = ".modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0, 0, 0, 0.5);display:flex;justify-content:center;align-items:center;z-index:1000;overflow-y:auto;padding:20px}.fullscreen-overlay{padding:0;background-color:rgba(0, 0, 0, 0.7)}.modal-container{background-color:#fff;border-radius:8px;width:100%;display:flex;flex-direction:column;position:relative;margin:auto;transition:all 0.3s ease-out;overflow:hidden}.modal-container.fullscreen{width:100vw;max-width:none;height:100%;border-radius:0;margin:0;display:flex;flex-direction:column;height:100vh;max-height:100vh}.pc-layout{width:80%;max-width:500px;min-width:320px}.mobile-layout{width:100%;height:100%;border-radius:0}@media screen and (max-width: 768px){.pc-layout{width:95%}.modal-overlay{padding:0}.modal-container.fullscreen{height:-webkit-fill-available;max-height:-webkit-fill-available;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);margin-top:40px;height:calc(100% - 40px);max-height:calc(100% - 40px);border-radius:16px 16px 0 0}.modal-container.mobile-layout{width:100%;height:100vh;max-height:100vh;min-height:100vh;border-radius:0;margin:0;display:flex;flex-direction:column}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:4px 16px;height:50px;border-bottom:1px solid #e8e8e8;flex-shrink:0}.header-left{display:flex;align-items:center;gap:8px}.header-icon{width:24px;height:24px}.close-button{background:transparent;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:4px}.close-button:hover{background-color:rgba(0, 0, 0, 0.04)}.close-button span{font-size:24px;line-height:1;color:#999}.close-button:hover span{color:#666}.upload-area{border:2px dashed #ddd;border-radius:8px;cursor:pointer;transition:all 0.3s ease;margin-bottom:20px;width:100%}.upload-area:hover{border-color:#1890ff;background-color:rgba(24, 144, 255, 0.05)}.upload-placeholder{display:flex;flex-direction:column;align-items:center;color:#666}.upload-placeholder svg{color:#1890ff;margin-bottom:8px}.upload-placeholder p{margin:4px 0}.upload-hint{font-size:0.8rem;color:#999;margin-top:0.5rem}.file-info{display:flex;align-items:center;justify-content:space-between;padding:8px;background:#f9f9f9;border:1px solid #e8e8e8;border-radius:4px}.file-info span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 30px)}.remove-file{background:transparent;border:none;color:#999;cursor:pointer;padding:4px 8px;font-size:16px;line-height:1;border-radius:4px;transition:all 0.2s}.remove-file:hover{background-color:#f0f0f0;color:#666}.file-input{display:none}.input-container{padding:20px;display:flex;flex-direction:column;height:calc(100% - 50px);overflow-y:auto}.input-container h3{margin-top:0;margin-bottom:20px;font-size:18px;color:#333;text-align:center}.jd-input-section{margin-bottom:20px}.jd-input-section label{display:block;margin-bottom:8px;font-weight:500;color:#333}.job-description-textarea{width:100%;border:1px solid #ddd;border-radius:4px;resize:vertical;font-family:inherit;font-size:14px;line-height:1.5;transition:border-color 0.3s}.job-description-textarea:focus{outline:none;border-color:#1890ff;box-shadow:0 0 0 2px rgba(24, 144, 255, 0.2)}.resume-upload-section{margin-bottom:20px;width:100%;display:flex;flex-direction:column;align-items:center}.resume-upload-section label{display:block;margin-bottom:8px;font-weight:500;color:#333;align-self:flex-start}.submit-button{margin-top:10px;padding:10px 30px;background:#1890ff;color:white;border:none;border-radius:4px;font-size:16px;cursor:pointer;transition:all 0.3s ease;width:100%;max-width:400px;align-self:center;}.submit-button:disabled{background:#ccc;cursor:not-allowed}.submit-button:hover:not(:disabled){background:#40a9ff}.chat-modal-container{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column}.ai-disclaimer{margin-top:16px;text-align:center;font-size:12px;color:#999;line-height:1.5}.ai-disclaimer p{margin:4px 0}.beian-info{display:flex;justify-content:center;flex-wrap:wrap;gap:4px}.ai-disclaimer a{color:#666;text-decoration:none;transition:color 0.2s ease}.ai-disclaimer a:hover{color:#1890ff;text-decoration:underline}";
6283
6286
 
6284
6287
  const ZyghModal = class {
6285
6288
  constructor(hostRef) {
@@ -6289,14 +6292,14 @@ const ZyghModal = class {
6289
6292
  this.streamComplete = index.createEvent(this, "streamComplete");
6290
6293
  this.conversationStart = index.createEvent(this, "conversationStart");
6291
6294
  this.planningComplete = index.createEvent(this, "planningComplete");
6292
- this.apiKeyInvalid = index.createEvent(this, "apiKeyInvalid");
6295
+ this.tokenInvalid = index.createEvent(this, "tokenInvalid");
6293
6296
  }
6294
6297
  /**
6295
6298
  * 模态框标题
6296
6299
  */
6297
6300
  modalTitle = '职业规划助手';
6298
6301
  /**
6299
- * API鉴权密钥
6302
+ * SDK鉴权密钥
6300
6303
  */
6301
6304
  token = '';
6302
6305
  /**
@@ -6336,7 +6339,11 @@ const ZyghModal = class {
6336
6339
  */
6337
6340
  fullscreen = false;
6338
6341
  /**
6339
- * 自定义输入参数
6342
+ * 自定义输入参数,传入plan_type则可以指定规划类型,可传入"长期规划"、"转行建议"、"晋升路径"
6343
+ * 例如:
6344
+ * zyghModal.customInputs = {
6345
+ * plan_type: "转行建议"
6346
+ * };
6340
6347
  */
6341
6348
  customInputs = {};
6342
6349
  /**
@@ -6356,9 +6363,9 @@ const ZyghModal = class {
6356
6363
  */
6357
6364
  planningComplete;
6358
6365
  /**
6359
- * API密钥验证失败事件
6366
+ * SDK密钥验证失败事件
6360
6367
  */
6361
- apiKeyInvalid;
6368
+ tokenInvalid;
6362
6369
  selectedFile = null;
6363
6370
  isUploading = false;
6364
6371
  uploadedFileInfo = null;
@@ -6429,11 +6436,11 @@ const ZyghModal = class {
6429
6436
  return; // 上传失败
6430
6437
  }
6431
6438
  }
6432
- console.log('传递的customInputs:', {
6433
- ...this.customInputs,
6434
- file_url: this.uploadedFileInfo.cos_key,
6435
- plan_type: this.selectedPlanType
6436
- });
6439
+ // console.log('传递的customInputs:', {
6440
+ // ...this.customInputs,
6441
+ // file_url: this.uploadedFileInfo.cos_key,
6442
+ // plan_type: this.selectedPlanType
6443
+ // });
6437
6444
  // 直接显示聊天模态框
6438
6445
  this.showChatModal = true;
6439
6446
  }
@@ -6470,7 +6477,7 @@ const ZyghModal = class {
6470
6477
  */
6471
6478
  async verifyApiKey() {
6472
6479
  if (!this.token) {
6473
- this.apiKeyInvalid.emit();
6480
+ this.tokenInvalid.emit();
6474
6481
  return;
6475
6482
  }
6476
6483
  try {
@@ -6489,7 +6496,7 @@ const ZyghModal = class {
6489
6496
  catch (error) {
6490
6497
  console.error('API密钥验证错误:', error);
6491
6498
  // 通知父组件API密钥无效
6492
- this.apiKeyInvalid.emit();
6499
+ this.tokenInvalid.emit();
6493
6500
  }
6494
6501
  }
6495
6502
  componentWillLoad() {
@@ -6536,7 +6543,7 @@ const ZyghModal = class {
6536
6543
  return (index.h("div", { class: overlayClass, style: modalStyle }, index.h("div", { class: containerClass }, this.isShowHeader && (index.h("div", { class: "modal-header" }, index.h("div", { class: "header-left" }, this.icon && index.h("img", { src: this.icon, class: "header-icon", alt: "\u5E94\u7528\u56FE\u6807" }), index.h("div", null, this.modalTitle)), this.isNeedClose && (index.h("button", { class: "close-button", onClick: this.handleClose }, index.h("span", null, "\u00D7"))))), !this.showChatModal && !this.conversationId && (index.h("div", { class: "input-container" }, index.h("div", { class: "plan-type-section" }, index.h("label", null, "\u9009\u62E9\u89C4\u5212\u7C7B\u578B"), index.h("div", { class: "plan-type-options" }, index.h("div", { class: `plan-type-option ${this.selectedPlanType === '长期规划' ? 'selected' : ''}`, onClick: () => this.handlePlanTypeChange('长期规划') }, index.h("div", { class: "option-icon" }, "\uD83D\uDCC8"), index.h("div", { class: "option-label" }, "\u957F\u671F\u89C4\u5212")), index.h("div", { class: `plan-type-option ${this.selectedPlanType === '转行建议' ? 'selected' : ''}`, onClick: () => this.handlePlanTypeChange('转行建议') }, index.h("div", { class: "option-icon" }, "\uD83D\uDD04"), index.h("div", { class: "option-label" }, "\u8F6C\u884C\u5EFA\u8BAE")), index.h("div", { class: `plan-type-option ${this.selectedPlanType === '晋升路径' ? 'selected' : ''}`, onClick: () => this.handlePlanTypeChange('晋升路径') }, index.h("div", { class: "option-icon" }, "\uD83D\uDE80"), index.h("div", { class: "option-label" }, "\u664B\u5347\u8DEF\u5F84")))), index.h("div", { class: "resume-upload-section" }, index.h("label", null, "\u4E0A\u4F20\u7B80\u5386"), index.h("div", { class: "upload-area", onClick: this.handleUploadClick }, this.selectedFile ? (index.h("div", { class: "file-info" }, index.h("span", null, this.selectedFile.name), index.h("button", { class: "remove-file", onClick: (e) => {
6537
6544
  e.stopPropagation();
6538
6545
  this.clearSelectedFile();
6539
- } }, "\u00D7"))) : (index.h("div", { class: "upload-placeholder" }, index.h("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", width: "48", height: "48" }, index.h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", "stroke-width": "2", d: "M12 4v16m0-16l-4 4m4-4l4 4" })), index.h("p", null, "\u70B9\u51FB\u4E0A\u4F20\u7B80\u5386"), index.h("p", { class: "upload-hint" }, "\u652F\u6301 txt\u3001markdown\u3001pdf\u3001docx\u3001md \u683C\u5F0F"))))), index.h("button", { class: "submit-button", disabled: !this.selectedFile || this.isUploading || this.isSubmitting, onClick: this.handleStartPlanning }, this.isUploading ? '上传中...' : this.isSubmitting ? '处理中...' : '开始规划'), index.h("input", { type: "file", class: "file-input", onChange: this.handleFileChange, accept: ".pdf,.doc,.docx,.txt,.md" }))), this.showChatModal && (index.h("div", { class: "chat-modal-container" }, index.h("pcm-app-chat-modal", { isOpen: true, modalTitle: this.modalTitle, icon: this.icon, token: this.token, isShowHeader: this.isShowHeader, isNeedClose: this.isShowHeader, zIndex: this.zIndex, botId: "3022316191018898", fullscreen: this.fullscreen, conversationId: this.conversationId, defaultQuery: this.defaultQuery, enableVoice: false, customInputs: this.conversationId ? undefined : {
6546
+ } }, "\u00D7"))) : (index.h("div", { class: "upload-placeholder" }, index.h("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", width: "48", height: "48" }, index.h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", "stroke-width": "2", d: "M12 4v16m0-16l-4 4m4-4l4 4" })), index.h("p", null, "\u70B9\u51FB\u4E0A\u4F20\u7B80\u5386"), index.h("p", { class: "upload-hint" }, "\u652F\u6301 txt\u3001markdown\u3001pdf\u3001docx\u3001doc\u3001md \u683C\u5F0F"))))), index.h("button", { class: "submit-button", disabled: !this.selectedFile || this.isUploading || this.isSubmitting, onClick: this.handleStartPlanning }, this.isUploading ? '上传中...' : this.isSubmitting ? '处理中...' : '开始规划'), index.h("div", { class: "ai-disclaimer" }, index.h("p", null, "\u6240\u6709\u5185\u5BB9\u5747\u7531AI\u751F\u6210\u4EC5\u4F9B\u53C2\u8003"), index.h("p", { class: "beian-info" }, index.h("span", null, "\u4E2D\u592E\u7F51\u4FE1\u529E\u751F\u6210\u5F0F\u4EBA\u5DE5\u667A\u80FD\u670D\u52A1\u5907\u6848\u53F7"), "\uFF1A", index.h("a", { href: "https://www.pincaimao.com", target: "_blank", rel: "noopener noreferrer" }, "Hunan-PinCaiMao-202412310003"))), index.h("input", { type: "file", class: "file-input", onChange: this.handleFileChange }))), this.showChatModal && (index.h("div", { class: "chat-modal-container" }, index.h("pcm-app-chat-modal", { isOpen: true, modalTitle: this.modalTitle, icon: this.icon, token: this.token, isShowHeader: this.isShowHeader, isNeedClose: this.isShowHeader, zIndex: this.zIndex, botId: "3022316191018898", fullscreen: this.fullscreen, conversationId: this.conversationId, defaultQuery: this.defaultQuery, enableVoice: false, customInputs: this.conversationId ? undefined : {
6540
6547
  ...this.customInputs,
6541
6548
  file_url: this.uploadedFileInfo?.cos_key,
6542
6549
  type: this.selectedPlanType
@@ -6551,10 +6558,10 @@ ZyghModal.style = pcmZyghModalCss + globalCss;
6551
6558
  exports.pcm_app_chat_modal = ChatAPPModal;
6552
6559
  exports.pcm_chat_message = ChatMessageComponent;
6553
6560
  exports.pcm_hr_chat_modal = ChatHRModal;
6554
- exports.pcm_jlpx_modal = JlpxModal;
6561
+ exports.pcm_jlpp_modal = JlppModal;
6555
6562
  exports.pcm_mnms_modal = MnmsModal;
6556
6563
  exports.pcm_video_chat_modal = VideoChatModal;
6557
6564
  exports.pcm_zygh_modal = ZyghModal;
6558
- //# sourceMappingURL=pcm-app-chat-modal.pcm-chat-message.pcm-hr-chat-modal.pcm-jlpx-modal.pcm-mnms-modal.pcm-video-chat-modal.pcm-zygh-modal.entry.cjs.js.map
6565
+ //# sourceMappingURL=pcm-app-chat-modal.pcm-chat-message.pcm-hr-chat-modal.pcm-jlpp-modal.pcm-mnms-modal.pcm-video-chat-modal.pcm-zygh-modal.entry.cjs.js.map
6559
6566
 
6560
6567
  //# sourceMappingURL=pcm-app-chat-modal_7.cjs.entry.js.map