pcm-agents 0.2.0 → 0.2.2
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.
- package/dist/cjs/pcm-chat-message.pcm-hr-chat-modal.entry.cjs.js.map +1 -1
- package/dist/cjs/pcm-chat-message_2.cjs.entry.js +51 -40
- package/dist/cjs/pcm-chat-message_2.cjs.entry.js.map +1 -1
- package/dist/collection/components/pcm-chat-message/pcm-chat-message.css +1281 -1270
- package/dist/collection/components/pcm-chat-message/pcm-chat-message.js +2 -6
- package/dist/collection/components/pcm-chat-message/pcm-chat-message.js.map +1 -1
- package/dist/collection/components/pcm-hr-chat-modal/pcm-hr-chat-modal.css +123 -105
- package/dist/collection/components/pcm-hr-chat-modal/pcm-hr-chat-modal.js +47 -32
- package/dist/collection/components/pcm-hr-chat-modal/pcm-hr-chat-modal.js.map +1 -1
- package/dist/components/{p-DA_FsPRT.js → p-D0s1Q-3O.js} +5 -9
- package/dist/components/p-D0s1Q-3O.js.map +1 -0
- package/dist/components/pcm-chat-message.js +1 -1
- package/dist/components/pcm-chat-modal.js +1 -1
- package/dist/components/pcm-hr-chat-modal.js +49 -34
- package/dist/components/pcm-hr-chat-modal.js.map +1 -1
- package/dist/esm/pcm-chat-message.pcm-hr-chat-modal.entry.js.map +1 -1
- package/dist/esm/pcm-chat-message_2.entry.js +51 -40
- package/dist/esm/pcm-chat-message_2.entry.js.map +1 -1
- package/dist/pcm-agents/p-f8a52c86.entry.js +2 -0
- package/dist/pcm-agents/p-f8a52c86.entry.js.map +1 -0
- package/dist/pcm-agents/pcm-agents.esm.js +1 -1
- package/dist/pcm-agents/pcm-chat-message.pcm-hr-chat-modal.entry.esm.js.map +1 -1
- package/package.json +1 -1
- package/dist/components/p-DA_FsPRT.js.map +0 -1
- package/dist/pcm-agents/p-1a7b8c97.entry.js +0 -2
- package/dist/pcm-agents/p-1a7b8c97.entry.js.map +0 -1
|
@@ -45,11 +45,7 @@ export class ChatMessageComponent {
|
|
|
45
45
|
const showLoading = this.message.isStreaming && !this.message.answer;
|
|
46
46
|
const htmlContent = this.message.answer ? marked(this.message.answer) : '';
|
|
47
47
|
return (h("div", { class: "assistant-message-container" }, h("div", { class: "message-bubble assistant-message" }, h("div", { class: "markdown-content markdown-body", innerHTML: showLoading ?
|
|
48
|
-
|
|
49
|
-
<span></span>
|
|
50
|
-
<span></span>
|
|
51
|
-
<span></span>
|
|
52
|
-
</div>` :
|
|
48
|
+
`请稍等...` :
|
|
53
49
|
htmlContent })), !showLoading && this.message.answer && (h("div", { class: "message-actions" }, h("button", { class: "copy-button", onClick: () => this.copyMessageContent(), title: "\u590D\u5236\u5185\u5BB9" }, h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }, h("rect", { x: "9", y: "9", width: "13", height: "13", rx: "2", ry: "2" }), h("path", { d: "M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1" })))))));
|
|
54
50
|
}
|
|
55
51
|
// 渲染输入数据
|
|
@@ -80,7 +76,7 @@ export class ChatMessageComponent {
|
|
|
80
76
|
})));
|
|
81
77
|
}
|
|
82
78
|
render() {
|
|
83
|
-
return (h("div", { key: '
|
|
79
|
+
return (h("div", { key: '5748f17414b9442b9b791955de38437184fa2f7e', class: "message-round" }, this.renderUserMessage(), this.renderAssistantMessage()));
|
|
84
80
|
}
|
|
85
81
|
static get is() { return "pcm-chat-message"; }
|
|
86
82
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pcm-chat-message.js","sourceRoot":"","sources":["../../../src/components/pcm-chat-message/pcm-chat-message.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAgB,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAOhC,MAAM,OAAO,oBAAoB;IAC7B;;OAEG;IACK,OAAO,CAAc;IAE7B;;OAEG;IACM,aAAa,CAAqC;IAE3D,+BAA+B;IACpB,WAAW,CAAc;IAEpC;QACI,eAAe;QACf,MAAM,CAAC,UAAU,CAAC;YACd,MAAM,EAAE,IAAI;YACZ,GAAG,EAAE,IAAI;SACZ,CAAC,CAAC;KACN;IAED,aAAa;IACL,kBAAkB;QACtB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACtB,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;iBAC7C,IAAI,CAAC,GAAG,EAAE;gBACP,cAAc;gBACd,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC7B,CAAC,CAAC;iBACD,KAAK,CAAC,GAAG,CAAC,EAAE;gBACT,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;QACX,CAAC;IACL,CAAC;IAED,WAAW;IACH,iBAAiB;QACrB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE;YAAE,OAAO,IAAI,CAAC;QAE9C,OAAO,CACH,WAAK,KAAK,EAAC,wBAAwB;YAC/B,WAAK,KAAK,EAAC,6BAA6B;gBACpC,aAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAK;gBAC1B,IAAI,CAAC,YAAY,EAAE,CAClB,CACJ,CACT,CAAC;IACN,CAAC;IAED,WAAW;IACH,sBAAsB;QAC1B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;QAEnE,6BAA6B;QAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QACrE,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE3E,OAAO,CACH,WAAK,KAAK,EAAC,6BAA6B;YACpC,WAAK,KAAK,EAAC,kCAAkC;gBACzC,WACI,KAAK,EAAC,gCAAgC,EACtC,SAAS,EAAE,WAAW,CAAC,CAAC;wBACpB
|
|
1
|
+
{"version":3,"file":"pcm-chat-message.js","sourceRoot":"","sources":["../../../src/components/pcm-chat-message/pcm-chat-message.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, h, Element, Event, EventEmitter } from '@stencil/core';\r\nimport { marked } from 'marked';\r\nimport { ChatMessage } from '../../interfaces/chat';\r\n@Component({\r\n tag: 'pcm-chat-message',\r\n styleUrl: 'pcm-chat-message.css',\r\n shadow: true,\r\n})\r\nexport class ChatMessageComponent {\r\n /**\r\n * 消息数据\r\n */\r\n @Prop() message: ChatMessage;\r\n\r\n /**\r\n * 消息变更事件\r\n */\r\n @Event() messageChange: EventEmitter<Partial<ChatMessage>>;\r\n\r\n // 使用 @Element 装饰器获取组件的 host 元素\r\n @Element() hostElement: HTMLElement;\r\n\r\n constructor() {\r\n // 配置 marked 选项\r\n marked.setOptions({\r\n breaks: true,\r\n gfm: true\r\n });\r\n }\r\n\r\n // 复制消息内容到剪贴板\r\n private copyMessageContent() {\r\n if (this.message.answer) {\r\n navigator.clipboard.writeText(this.message.answer)\r\n .then(() => {\r\n // 可以添加复制成功的提示\r\n console.log('内容已复制到剪贴板');\r\n })\r\n .catch(err => {\r\n console.error('复制失败:', err);\r\n });\r\n }\r\n }\r\n\r\n // 渲染用户消息部分\r\n private renderUserMessage() {\r\n if (!this.message?.query?.trim()) return null;\r\n\r\n return (\r\n <div class=\"user-message-container\">\r\n <div class=\"message-bubble user-message\">\r\n <p>{this.message.query}</p>\r\n {this.renderInputs()}\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n // 渲染助手消息部分\r\n private renderAssistantMessage() {\r\n if (!this.message.answer && !this.message.isStreaming) return null;\r\n\r\n // 只有在开始流式输出且还没有内容时才显示loading\r\n const showLoading = this.message.isStreaming && !this.message.answer;\r\n const htmlContent = this.message.answer ? marked(this.message.answer) : '';\r\n\r\n return (\r\n <div class=\"assistant-message-container\">\r\n <div class=\"message-bubble assistant-message\">\r\n <div\r\n class=\"markdown-content markdown-body\"\r\n innerHTML={showLoading ? \r\n `请稍等...` : \r\n htmlContent\r\n }\r\n ></div>\r\n </div>\r\n {!showLoading && this.message.answer && (\r\n <div class=\"message-actions\">\r\n <button class=\"copy-button\" onClick={() => this.copyMessageContent()} title=\"复制内容\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\r\n <rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\" ry=\"2\"></rect>\r\n <path d=\"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\"></path>\r\n </svg>\r\n </button>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n }\r\n\r\n // 渲染输入数据\r\n private renderInputs() {\r\n if (!this.message.inputs) return null;\r\n\r\n return (\r\n <div>\r\n {Object.keys(this.message.inputs).map((key, index) => {\r\n const value = this.message.inputs[key];\r\n if (value && !key.startsWith('hide_') && key !== 'answer') {\r\n if (key === 'file_url') {\r\n return <div key={index} class=\"file-view\">{value}</div>;\r\n } else if (key === 'file_urls' || key === 'fileUrls') {\r\n const fileList = value.split(',');\r\n return (\r\n <div key={index} class=\"flex flex-wrap\">\r\n {fileList.map((fileUrl, fileIndex) => (\r\n <div key={fileIndex} class=\"file-view\">{fileUrl}</div>\r\n ))}\r\n </div>\r\n );\r\n } else if (key === 'job_info') {\r\n return (\r\n <div key={index} class=\"input-view\">\r\n <div class=\"input-label\">职位信息</div>\r\n <div class=\"input-value\">{value}</div>\r\n </div>\r\n );\r\n } else if (key === 'rule') {\r\n return (\r\n <div key={index} class=\"input-view\">\r\n <div class=\"input-label\">评估规则</div>\r\n <div class=\"input-value\">{value}</div>\r\n </div>\r\n );\r\n } else {\r\n return <div key={index} class=\"input-metadata\">{key}: {`${value}`}</div>;\r\n }\r\n }\r\n return null;\r\n })}\r\n </div>\r\n );\r\n }\r\n\r\n render() {\r\n return (\r\n <div class=\"message-round\">\r\n {this.renderUserMessage()}\r\n {this.renderAssistantMessage()}\r\n </div>\r\n );\r\n }\r\n} "]}
|
|
@@ -40,6 +40,19 @@
|
|
|
40
40
|
height: 100%;
|
|
41
41
|
border-radius: 0;
|
|
42
42
|
margin: 0;
|
|
43
|
+
display: flex;
|
|
44
|
+
flex-direction: column;
|
|
45
|
+
height: 100vh;
|
|
46
|
+
max-height: 100vh;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/* 确保内容区域也使用 flex 布局并占满剩余空间 */
|
|
50
|
+
.modal-container.fullscreen > div:not(.modal-header):not(.initial-upload) {
|
|
51
|
+
display: flex;
|
|
52
|
+
flex-direction: column;
|
|
53
|
+
flex: 1;
|
|
54
|
+
overflow: hidden; /* 防止内容溢出 */
|
|
55
|
+
height: 100%;
|
|
43
56
|
}
|
|
44
57
|
|
|
45
58
|
/* PC端布局 */
|
|
@@ -90,89 +103,62 @@
|
|
|
90
103
|
flex-direction: column;
|
|
91
104
|
}
|
|
92
105
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
.recording-section {
|
|
102
|
-
flex: 1 1 auto;
|
|
103
|
-
height: auto;
|
|
104
|
-
margin: 0;
|
|
105
|
-
padding: 20px;
|
|
106
|
-
display: flex;
|
|
107
|
-
flex-direction: column;
|
|
108
|
-
justify-content: center;
|
|
109
|
-
align-items: center;
|
|
110
|
-
background-color: #f5f5f5;
|
|
111
|
-
}
|
|
106
|
+
}
|
|
107
|
+
.video-preview.placeholder {
|
|
108
|
+
display: flex;
|
|
109
|
+
justify-content: center;
|
|
110
|
+
align-items: center;
|
|
111
|
+
background: #EAEAEA;
|
|
112
|
+
}
|
|
112
113
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
flex-direction: column;
|
|
117
|
-
align-items: center;
|
|
118
|
-
}
|
|
114
|
+
.placeholder-status {
|
|
115
|
+
color: #00000066;
|
|
116
|
+
}
|
|
119
117
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
118
|
+
.waiting-message p {
|
|
119
|
+
margin: 0;
|
|
120
|
+
font-size: 16px;
|
|
121
|
+
color: white;
|
|
122
|
+
font-weight: 500;
|
|
123
|
+
}
|
|
123
124
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
overflow: hidden;
|
|
131
|
-
background: #fff;
|
|
132
|
-
}
|
|
125
|
+
.recording-container {
|
|
126
|
+
width: 100%;
|
|
127
|
+
display: flex;
|
|
128
|
+
flex-direction: column;
|
|
129
|
+
align-items: center;
|
|
130
|
+
}
|
|
133
131
|
|
|
134
|
-
.video-preview.placeholder {
|
|
135
|
-
display: flex;
|
|
136
|
-
justify-content: center;
|
|
137
|
-
align-items: center;
|
|
138
|
-
background: #f8f8f8;
|
|
139
|
-
}
|
|
140
132
|
|
|
141
|
-
.waiting-message {
|
|
142
|
-
background: #1890ff;
|
|
143
|
-
padding: 12px 20px;
|
|
144
|
-
border-radius: 24px;
|
|
145
|
-
text-align: center;
|
|
146
|
-
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
|
|
147
|
-
white-space: nowrap;
|
|
148
|
-
}
|
|
149
133
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
134
|
+
.video-area {
|
|
135
|
+
width: 100%;
|
|
136
|
+
display: flex;
|
|
137
|
+
flex-direction: column;
|
|
138
|
+
align-items: center;
|
|
139
|
+
}
|
|
154
140
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
141
|
+
.stop-recording-button {
|
|
142
|
+
width: 100%;
|
|
143
|
+
height: 100%;
|
|
144
|
+
font-size: 16px;
|
|
145
|
+
background: #f44336;
|
|
146
|
+
border-radius: 6px;
|
|
147
|
+
color: white;
|
|
148
|
+
border: none;
|
|
149
|
+
cursor: pointer;
|
|
150
|
+
}
|
|
161
151
|
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
font-size: 16px;
|
|
166
|
-
border-radius: 4px;
|
|
167
|
-
background: #f44336;
|
|
168
|
-
color: white;
|
|
169
|
-
border: none;
|
|
170
|
-
cursor: pointer;
|
|
171
|
-
}
|
|
152
|
+
.stop-recording-button:hover {
|
|
153
|
+
background: #d32f2f;
|
|
154
|
+
}
|
|
172
155
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
156
|
+
.play-audio-container {
|
|
157
|
+
width: 100%;
|
|
158
|
+
height: 100%;
|
|
159
|
+
display: flex;
|
|
160
|
+
justify-content: center;
|
|
161
|
+
align-items: center;
|
|
176
162
|
}
|
|
177
163
|
|
|
178
164
|
.modal-header {
|
|
@@ -182,6 +168,7 @@
|
|
|
182
168
|
padding: 4px 16px;
|
|
183
169
|
height: 50px;
|
|
184
170
|
border-bottom: 1px solid #e8e8e8;
|
|
171
|
+
flex-shrink: 0; /* 防止头部被压缩 */
|
|
185
172
|
}
|
|
186
173
|
|
|
187
174
|
.header-left {
|
|
@@ -228,10 +215,18 @@
|
|
|
228
215
|
overflow-y: auto;
|
|
229
216
|
padding: 20px;
|
|
230
217
|
scroll-behavior: smooth;
|
|
231
|
-
|
|
232
|
-
|
|
218
|
+
min-height: 200px;
|
|
219
|
+
background: url(https://pcm-resource-1312611446.cos.ap-guangzhou.myqcloud.com/web/sdk/chat_bg.png);
|
|
220
|
+
background-size: 100%;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
/* 添加全屏模式下的样式 */
|
|
224
|
+
.fullscreen .chat-history {
|
|
225
|
+
height: auto;
|
|
226
|
+
flex: 1 1 auto;
|
|
233
227
|
}
|
|
234
228
|
|
|
229
|
+
|
|
235
230
|
.message-input {
|
|
236
231
|
padding: 16px;
|
|
237
232
|
border-top: 1px solid #eee;
|
|
@@ -354,8 +349,13 @@
|
|
|
354
349
|
}
|
|
355
350
|
|
|
356
351
|
@keyframes spin {
|
|
357
|
-
0% {
|
|
358
|
-
|
|
352
|
+
0% {
|
|
353
|
+
transform: rotate(0deg);
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
100% {
|
|
357
|
+
transform: rotate(360deg);
|
|
358
|
+
}
|
|
359
359
|
}
|
|
360
360
|
|
|
361
361
|
/* 修改 messages-wrapper 的样式 */
|
|
@@ -521,7 +521,7 @@
|
|
|
521
521
|
}
|
|
522
522
|
|
|
523
523
|
.initial-upload {
|
|
524
|
-
padding:
|
|
524
|
+
padding: 1rem 1rem;
|
|
525
525
|
display: flex;
|
|
526
526
|
flex-direction: column;
|
|
527
527
|
align-items: center;
|
|
@@ -593,7 +593,7 @@
|
|
|
593
593
|
}
|
|
594
594
|
|
|
595
595
|
.submit-button {
|
|
596
|
-
margin-
|
|
596
|
+
margin-top: 1rem;
|
|
597
597
|
padding: 0.8rem 2rem;
|
|
598
598
|
background: #1890ff;
|
|
599
599
|
color: white;
|
|
@@ -602,6 +602,7 @@
|
|
|
602
602
|
font-size: 1rem;
|
|
603
603
|
cursor: pointer;
|
|
604
604
|
transition: all 0.3s ease;
|
|
605
|
+
width: 95%;
|
|
605
606
|
}
|
|
606
607
|
|
|
607
608
|
.submit-button:disabled {
|
|
@@ -615,7 +616,7 @@
|
|
|
615
616
|
|
|
616
617
|
.category-select,
|
|
617
618
|
.dimension-select {
|
|
618
|
-
margin:
|
|
619
|
+
margin: 30px 0;
|
|
619
620
|
}
|
|
620
621
|
|
|
621
622
|
.category-options,
|
|
@@ -628,9 +629,9 @@
|
|
|
628
629
|
|
|
629
630
|
.category-button,
|
|
630
631
|
.dimension-button {
|
|
631
|
-
padding:
|
|
632
|
-
border: 1px solid #
|
|
633
|
-
border-radius:
|
|
632
|
+
padding: 12px 16px;
|
|
633
|
+
border: 1px solid #E5E5E5;
|
|
634
|
+
border-radius: 6px;
|
|
634
635
|
background: white;
|
|
635
636
|
cursor: pointer;
|
|
636
637
|
transition: all 0.3s;
|
|
@@ -642,33 +643,33 @@
|
|
|
642
643
|
}
|
|
643
644
|
|
|
644
645
|
.category-button.selected {
|
|
645
|
-
background: #
|
|
646
|
+
background-image: linear-gradient(111deg, #4A9FFF 0%, #1058FF 100%);
|
|
646
647
|
color: white;
|
|
647
|
-
border-color: #1890ff;
|
|
648
648
|
}
|
|
649
649
|
|
|
650
650
|
.dimension-button.selected {
|
|
651
|
-
background: #
|
|
651
|
+
background-image: linear-gradient(111deg, #4A9FFF 0%, #1058FF 100%);
|
|
652
652
|
color: white;
|
|
653
|
-
border-color: #52c41a;
|
|
654
653
|
}
|
|
655
654
|
|
|
656
655
|
.recording-section {
|
|
657
|
-
margin-top: 10px;
|
|
658
|
-
padding: 10px;
|
|
659
656
|
border-top: 1px solid #eee;
|
|
660
657
|
display: flex;
|
|
661
658
|
flex-direction: column;
|
|
662
659
|
align-items: center;
|
|
660
|
+
padding: 20px;
|
|
661
|
+
border-radius: 14px 14px 0 0;
|
|
662
|
+
flex: 0 0 auto;
|
|
663
663
|
}
|
|
664
664
|
|
|
665
665
|
.recording-section .video-preview {
|
|
666
|
-
width:
|
|
666
|
+
width: 100%;
|
|
667
667
|
height: 200px;
|
|
668
|
+
max-width: 400px;
|
|
668
669
|
position: relative;
|
|
669
670
|
margin-bottom: 10px;
|
|
670
671
|
border: 1px solid #ddd;
|
|
671
|
-
border-radius:
|
|
672
|
+
border-radius: 12px;
|
|
672
673
|
overflow: hidden;
|
|
673
674
|
}
|
|
674
675
|
|
|
@@ -710,17 +711,23 @@
|
|
|
710
711
|
}
|
|
711
712
|
|
|
712
713
|
@keyframes blink {
|
|
713
|
-
0% {
|
|
714
|
-
|
|
715
|
-
|
|
714
|
+
0% {
|
|
715
|
+
opacity: 1;
|
|
716
|
+
}
|
|
717
|
+
|
|
718
|
+
50% {
|
|
719
|
+
opacity: 0.5;
|
|
720
|
+
}
|
|
721
|
+
|
|
722
|
+
100% {
|
|
723
|
+
opacity: 1;
|
|
724
|
+
}
|
|
716
725
|
}
|
|
717
726
|
|
|
718
727
|
.recording-section .stop-recording-button {
|
|
719
|
-
padding: 8px 16px;
|
|
720
728
|
background-color: #f44336;
|
|
721
729
|
color: white;
|
|
722
730
|
border: none;
|
|
723
|
-
border-radius: 4px;
|
|
724
731
|
cursor: pointer;
|
|
725
732
|
font-weight: bold;
|
|
726
733
|
}
|
|
@@ -739,21 +746,26 @@
|
|
|
739
746
|
}
|
|
740
747
|
|
|
741
748
|
.recording-controls {
|
|
749
|
+
margin-top: 10px;
|
|
750
|
+
height: 53px;
|
|
751
|
+
width: 100%;
|
|
752
|
+
max-width: 400px;
|
|
742
753
|
display: flex;
|
|
743
754
|
justify-content: center;
|
|
744
|
-
align-items: center;
|
|
745
|
-
margin-top: 1rem;
|
|
746
|
-
min-height: 40px; /* 确保高度一致 */
|
|
747
755
|
}
|
|
748
756
|
|
|
749
757
|
.recording-controls .waiting-message {
|
|
750
758
|
text-align: center;
|
|
751
759
|
color: white;
|
|
752
760
|
font-size: 1rem;
|
|
753
|
-
background: #
|
|
754
|
-
|
|
755
|
-
border-radius: 24px;
|
|
761
|
+
background-image: linear-gradient(100deg, #4A9FFF 0%, #1058FF 100%);
|
|
762
|
+
border-radius: 6px;
|
|
756
763
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
|
|
764
|
+
width: 95%;
|
|
765
|
+
display: flex;
|
|
766
|
+
justify-content: center;
|
|
767
|
+
align-items: center;
|
|
768
|
+
cursor: pointer;
|
|
757
769
|
}
|
|
758
770
|
|
|
759
771
|
.recording-controls .waiting-message.loading {
|
|
@@ -768,11 +780,9 @@
|
|
|
768
780
|
}
|
|
769
781
|
|
|
770
782
|
.recording-controls .stop-recording-button {
|
|
771
|
-
padding: 8px 20px;
|
|
772
783
|
background-color: #dc3545;
|
|
773
784
|
color: white;
|
|
774
785
|
border: none;
|
|
775
|
-
border-radius: 4px;
|
|
776
786
|
cursor: pointer;
|
|
777
787
|
font-size: 1rem;
|
|
778
788
|
}
|
|
@@ -781,4 +791,12 @@
|
|
|
781
791
|
background-color: #c82333;
|
|
782
792
|
}
|
|
783
793
|
|
|
794
|
+
/* 添加禁用状态的样式 */
|
|
795
|
+
.recording-controls .stop-recording-button.disabled {
|
|
796
|
+
background: #ccc;
|
|
797
|
+
cursor: not-allowed;
|
|
798
|
+
}
|
|
784
799
|
|
|
800
|
+
.recording-controls .stop-recording-button.disabled:hover {
|
|
801
|
+
background: #ccc;
|
|
802
|
+
}
|
|
@@ -228,6 +228,7 @@ export class ChatHRModal {
|
|
|
228
228
|
async sendMessageToAPI(message) {
|
|
229
229
|
this.isLoading = true;
|
|
230
230
|
let answer = '';
|
|
231
|
+
let llmText = ''; // 添加变量存储 LLMText
|
|
231
232
|
const now = new Date();
|
|
232
233
|
const time = `${now.getHours()}:${now.getMinutes().toString().padStart(2, '0')}`;
|
|
233
234
|
// 如果消息为空但有文件,使用默认文本
|
|
@@ -304,6 +305,11 @@ export class ChatHRModal {
|
|
|
304
305
|
this.conversationId = data.conversation_id;
|
|
305
306
|
this.updateUrlWithConversationId(data.conversation_id);
|
|
306
307
|
}
|
|
308
|
+
// 检查是否有 node_finished 事件和 LLMText
|
|
309
|
+
if (data.event === 'node_finished' && data.data.inputs && data.data.inputs.LLMText) {
|
|
310
|
+
llmText = data.data.inputs.LLMText;
|
|
311
|
+
console.log('获取到 LLMText:', llmText);
|
|
312
|
+
}
|
|
307
313
|
if (data.event === 'message') {
|
|
308
314
|
const inputMessage = { message: message };
|
|
309
315
|
convertWorkflowStreamNodeToMessageRound('message', inputMessage, data);
|
|
@@ -356,18 +362,22 @@ export class ChatHRModal {
|
|
|
356
362
|
console.log(this.currentQuestionNumber);
|
|
357
363
|
console.log(message);
|
|
358
364
|
if (latestAIMessage && latestAIMessage.answer) {
|
|
359
|
-
//
|
|
360
|
-
const
|
|
361
|
-
if (
|
|
362
|
-
//
|
|
363
|
-
await this.
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
365
|
+
// 优先使用 LLMText,如果没有则使用 answer
|
|
366
|
+
const textForSynthesis = llmText || latestAIMessage.answer;
|
|
367
|
+
if (textForSynthesis) {
|
|
368
|
+
// 合成语音
|
|
369
|
+
const audioUrl = await this.synthesizeAudio(textForSynthesis);
|
|
370
|
+
if (this.enableVoice) {
|
|
371
|
+
// 自动播放语音
|
|
372
|
+
await this.playAudio(audioUrl);
|
|
373
|
+
// 自动播放模式下,播放完成后立即开始等待录制
|
|
374
|
+
this.startWaitingToRecord();
|
|
375
|
+
}
|
|
376
|
+
else {
|
|
377
|
+
// 只保存音频URL,不自动播放
|
|
378
|
+
this.audioUrl = audioUrl;
|
|
379
|
+
// 非自动播放模式下,不立即开始等待录制
|
|
380
|
+
}
|
|
371
381
|
}
|
|
372
382
|
}
|
|
373
383
|
}
|
|
@@ -1006,6 +1016,27 @@ export class ChatHRModal {
|
|
|
1006
1016
|
'recording-status': true,
|
|
1007
1017
|
'warning': this.showCountdownWarning
|
|
1008
1018
|
} }, h("span", { class: "recording-dot" }), h("span", null, "\u5F55\u5236\u4E2D ", Math.floor(this.recordingTimeLeft / 60), ":", (this.recordingTimeLeft % 60).toString().padStart(2, '0'), this.showCountdownWarning && ` (即将自动完成)`))));
|
|
1019
|
+
// 渲染占位符状态信息
|
|
1020
|
+
const renderPlaceholderStatus = () => {
|
|
1021
|
+
// 正在播放音频
|
|
1022
|
+
if (this.isPlayingAudio) {
|
|
1023
|
+
return (h("div", { class: "placeholder-status" }, h("p", null, "\u6B63\u5728\u64AD\u653E\u95EE\u9898\uFF0C\u8BF7\u542C\u5B8C\u540E\u51C6\u5907\u56DE\u7B54...")));
|
|
1024
|
+
}
|
|
1025
|
+
// 正在上传视频
|
|
1026
|
+
if (this.isUploadingVideo) {
|
|
1027
|
+
return (h("div", { class: "placeholder-status" }, h("p", null, "\u6B63\u5728\u4E0A\u4F20\u89C6\u9891\uFF0C\u8BF7\u7A0D\u5019...")));
|
|
1028
|
+
}
|
|
1029
|
+
// 正在加载或等待AI回复
|
|
1030
|
+
if (this.isLoading || this.currentStreamingMessage) {
|
|
1031
|
+
return (h("div", { class: "placeholder-status" }, h("p", null, "\u8BF7\u7B49\u5F85\u9898\u76EE...")));
|
|
1032
|
+
}
|
|
1033
|
+
// 等待开始录制
|
|
1034
|
+
if (this.waitingToRecord) {
|
|
1035
|
+
return (h("div", { class: "placeholder-status" }, h("p", null, "\u8BF7\u51C6\u5907\u597D\uFF0C", this.waitingTimeLeft, "\u79D2\u540E\u5C06\u5F00\u59CB\u5F55\u5236\u60A8\u7684\u56DE\u7B54...")));
|
|
1036
|
+
}
|
|
1037
|
+
// 添加默认状态
|
|
1038
|
+
return (h("div", { class: "placeholder-status default-status" }, h("p", null, "\u51C6\u5907\u4E2D...")));
|
|
1039
|
+
};
|
|
1009
1040
|
return (h("div", { class: overlayClass, style: modalStyle }, h("div", { class: containerClass }, this.isShowHeader && (h("div", { class: "modal-header" }, h("div", { class: "header-left" }, this.icon && h("img", { src: this.icon, class: "header-icon", alt: "\u5E94\u7528\u56FE\u6807" }), h("div", null, this.modalTitle)), this.isNeedClose && (h("button", { class: "close-button", onClick: this.handleClose }, h("span", null, "\u00D7"))))), this.showInitialUpload ? (h("div", { class: "initial-upload" }, h("div", { class: "upload-section" }, this.requireResume && (h(h.Fragment, null, h("h3", null, "\u5F00\u59CB\u524D\uFF0C\u8BF7\u4E0A\u4F20\u60A8\u7684\u7B80\u5386"), h("div", { class: "upload-area", onClick: this.handleUploadClick }, this.selectedFile ? (h("div", { class: "file-info" }, h("span", null, this.selectedFile.name), h("button", { class: "remove-file", onClick: (e) => {
|
|
1010
1041
|
e.stopPropagation();
|
|
1011
1042
|
this.clearSelectedFile();
|
|
@@ -1018,32 +1049,16 @@ export class ChatHRModal {
|
|
|
1018
1049
|
}, onClick: () => this.handleDimensionSelect(dimension) }, dimension))))), h("button", { class: "submit-button", disabled: (this.requireResume && !this.selectedFile) ||
|
|
1019
1050
|
!this.selectedJobCategory ||
|
|
1020
1051
|
this.selectedDimensions.length === 0 ||
|
|
1021
|
-
(this.requireResume && this.isUploading), onClick: this.handleInitialSubmit }, this.requireResume && this.isUploading ? '上传中...' : '开始面试')), this.requireResume && (h("input", { type: "file", class: "file-input", onChange: this.handleFileChange, accept: ".pdf,.doc,.docx,.txt" })))) : (h(
|
|
1052
|
+
(this.requireResume && this.isUploading), onClick: this.handleInitialSubmit }, this.requireResume && this.isUploading ? '上传中...' : '开始面试')), this.requireResume && (h("input", { type: "file", class: "file-input", onChange: this.handleFileChange, accept: ".pdf,.doc,.docx,.txt" })))) : (h("div", { style: { height: '100%' } }, h("div", { class: "chat-history", onScroll: this.handleScroll }, this.isLoadingHistory ? (h("div", { class: "loading-container" }, h("div", { class: "loading-spinner" }), h("p", null, "\u52A0\u8F7D\u5386\u53F2\u6D88\u606F\u4E2D..."))) : (h("div", null, this.messages.map((message) => (h("div", { id: `message_${message.id}`, key: message.id }, h("pcm-chat-message", { message: message, onMessageChange: (event) => {
|
|
1022
1053
|
const updatedMessages = this.messages.map(msg => msg.id === message.id ? { ...msg, ...event.detail } : msg);
|
|
1023
1054
|
this.messages = updatedMessages;
|
|
1024
|
-
} })))), this.currentStreamingMessage && (h("div", { id: `message_${this.currentStreamingMessage.id}` }, h("pcm-chat-message", { message: this.currentStreamingMessage }))), this.messages.length === 0 && !this.currentStreamingMessage && (h("div", { class: "empty-state" }, h("p", null, "\u8BF7\u4E0A\u4F20\u7B80\u5386\u5F00\u59CB\u9762\u8BD5")))))), h("div", { class: "recording-section" }, h("div", { class: "recording-container" }, h("div", { class: "video-area" }, this.showRecordingUI ? (renderVideoPreview()) : (h("div", { class: "video-preview placeholder" }))), h("div", { class: "recording-controls" }, this.showRecordingUI ? (h("button", { class: "stop-recording-button", onClick: () => this.stopRecording() }, "\u5B8C\u6210\u56DE\u7B54")) : (h("div", { class: "waiting-message" }, (() => {
|
|
1025
|
-
// 正在播放音频
|
|
1026
|
-
if (this.isPlayingAudio) {
|
|
1027
|
-
return h("p", null, "\u6B63\u5728\u64AD\u653E\u95EE\u9898\uFF0C\u8BF7\u542C\u5B8C\u540E\u51C6\u5907\u56DE\u7B54...");
|
|
1028
|
-
}
|
|
1029
|
-
// 正在上传视频
|
|
1030
|
-
if (this.isUploadingVideo) {
|
|
1031
|
-
return h("p", null, "\u6B63\u5728\u4E0A\u4F20\u89C6\u9891\uFF0C\u8BF7\u7A0D\u5019...");
|
|
1032
|
-
}
|
|
1033
|
-
// 正在加载或等待AI回复
|
|
1034
|
-
if (this.isLoading || this.currentStreamingMessage) {
|
|
1035
|
-
return h("p", null, "\u8BF7\u7B49\u5F85\u9898\u76EE...");
|
|
1036
|
-
}
|
|
1037
|
-
// 等待开始录制
|
|
1038
|
-
if (this.waitingToRecord) {
|
|
1039
|
-
return h("p", null, "\u8BF7\u51C6\u5907\u597D\uFF0C", this.waitingTimeLeft, "\u79D2\u540E\u5C06\u5F00\u59CB\u5F55\u5236\u60A8\u7684\u56DE\u7B54...");
|
|
1040
|
-
}
|
|
1055
|
+
} })))), this.currentStreamingMessage && (h("div", { id: `message_${this.currentStreamingMessage.id}` }, h("pcm-chat-message", { message: this.currentStreamingMessage }))), this.messages.length === 0 && !this.currentStreamingMessage && (h("div", { class: "empty-state" }, h("p", null, "\u8BF7\u4E0A\u4F20\u7B80\u5386\u5F00\u59CB\u9762\u8BD5")))))), h("div", { class: "recording-section" }, h("div", { class: "recording-container" }, h("div", { class: "video-area" }, this.showRecordingUI ? (renderVideoPreview()) : (h("div", { class: "video-preview placeholder" }, renderPlaceholderStatus()))), h("div", { class: "recording-controls" }, this.showRecordingUI ? (h("button", { class: "stop-recording-button", onClick: () => this.stopRecording() }, "\u5B8C\u6210\u672C\u9898\u56DE\u7B54")) : (h("div", { class: "waiting-message" }, (() => {
|
|
1041
1056
|
// 显示播放按钮(当不自动播放且有音频URL时)
|
|
1042
1057
|
if (!this.enableVoice && this.audioUrl && !this.isPlayingAudio) {
|
|
1043
1058
|
return (h("div", { class: "play-audio-container", onClick: this.handlePlayAudio }, h("p", null, h("svg", { viewBox: "0 0 24 24", width: "24", height: "24", fill: "currentColor", style: { verticalAlign: 'middle', marginRight: '8px' } }, h("path", { d: "M8 5v14l11-7z" })), h("span", { style: { verticalAlign: 'middle' } }, "\u64AD\u653E\u9898\u76EE"))));
|
|
1044
1059
|
}
|
|
1045
|
-
//
|
|
1046
|
-
return h("
|
|
1060
|
+
// 其他状态下显示禁用的"完成回答"按钮
|
|
1061
|
+
return (h("button", { class: "stop-recording-button disabled", disabled: true }, "\u5B8C\u6210\u56DE\u7B54"));
|
|
1047
1062
|
})()))))))))));
|
|
1048
1063
|
}
|
|
1049
1064
|
static get is() { return "pcm-hr-chat-modal"; }
|