@supermsy/smart-chat-widget 1.0.0
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/README.md +135 -0
- package/dist/index.css +1 -0
- package/dist/index.html +12 -0
- package/dist/smart-chat-widget.cjs.js +3 -0
- package/dist/smart-chat-widget.es.js +505 -0
- package/dist/smart-chat-widget.umd.js +4 -0
- package/package.json +50 -0
- package/src/App.vue +72 -0
- package/src/api/chat.js +179 -0
- package/src/assets/data/car-loading4-data.json +1 -0
- package/src/assets/imgs/jiqirentouxiang.png +0 -0
- package/src/assets/imgs/new_logo2.png +0 -0
- package/src/assets/imgs/touxiang6.png +0 -0
- package/src/components/ChatHeader.vue +118 -0
- package/src/components/ChatInput.vue +198 -0
- package/src/components/ChatMessageList.vue +334 -0
- package/src/components/ChatToggleButton.vue +179 -0
- package/src/components/ChatWindow.vue +237 -0
- package/src/components/FAQCard.vue +82 -0
- package/src/components/SmartChatWidget.vue +220 -0
- package/src/index.js +12 -0
- package/src/main.js +5 -0
- package/src/styles/index.scss +8 -0
|
@@ -0,0 +1,505 @@
|
|
|
1
|
+
import { ref as f, openBlock as u, createElementBlock as v, createStaticVNode as E, createElementVNode as i, createCommentVNode as x, watch as H, Fragment as q, renderList as U, normalizeClass as O, unref as A, nextTick as S, withDirectives as Y, withKeys as k, withModifiers as R, vModelText as G, createVNode as F, onMounted as T, createBlock as B } from "vue";
|
|
2
|
+
import W from "axios";
|
|
3
|
+
const y = (s, c) => {
|
|
4
|
+
const e = s.__vccOpts || s;
|
|
5
|
+
for (const [t, l] of c)
|
|
6
|
+
e[t] = l;
|
|
7
|
+
return e;
|
|
8
|
+
}, M = {
|
|
9
|
+
key: 0,
|
|
10
|
+
class: "tooltip"
|
|
11
|
+
}, b = {
|
|
12
|
+
__name: "ChatToggleButton",
|
|
13
|
+
emits: ["click"],
|
|
14
|
+
setup(s, { emit: c }) {
|
|
15
|
+
const e = c, t = f(!1), l = () => {
|
|
16
|
+
t.value = !1, e("click");
|
|
17
|
+
};
|
|
18
|
+
return (a, n) => (u(), v("div", {
|
|
19
|
+
class: "chat-toggle-btn",
|
|
20
|
+
onClick: l,
|
|
21
|
+
onMouseenter: n[0] || (n[0] = (o) => t.value = !0),
|
|
22
|
+
onMouseleave: n[1] || (n[1] = (o) => t.value = !1)
|
|
23
|
+
}, [
|
|
24
|
+
n[3] || (n[3] = E('<div class="avatar-wrapper" data-v-e383ba9d><div class="avatar" data-v-e383ba9d><div class="face" data-v-e383ba9d><div class="eye left-eye" data-v-e383ba9d></div><div class="eye right-eye" data-v-e383ba9d></div></div><div class="glow" data-v-e383ba9d></div></div></div>', 1)),
|
|
25
|
+
t.value ? (u(), v("div", M, [...n[2] || (n[2] = [
|
|
26
|
+
i("div", { style: { "font-weight": "600", color: "#1f2937" } }, "需要帮助么", -1),
|
|
27
|
+
i("div", { style: { "font-size": "12px", color: "#9ca3af", "margin-top": "2px" } }, "点击我,与我对话", -1)
|
|
28
|
+
])])) : x("", !0)
|
|
29
|
+
], 32));
|
|
30
|
+
}
|
|
31
|
+
}, j = /* @__PURE__ */ y(b, [["__scopeId", "data-v-e383ba9d"]]), P = "data:image/png;base64,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", X = { class: "chat-header" }, z = { class: "actions" }, K = {
|
|
32
|
+
__name: "ChatHeader",
|
|
33
|
+
emits: ["minimize", "close"],
|
|
34
|
+
setup(s) {
|
|
35
|
+
return (c, e) => (u(), v("div", X, [
|
|
36
|
+
e[4] || (e[4] = i("div", { class: "header-left" }, [
|
|
37
|
+
i("div", { class: "logo" }, [
|
|
38
|
+
i("img", {
|
|
39
|
+
src: P,
|
|
40
|
+
alt: "",
|
|
41
|
+
style: { width: "36px", height: "36px" }
|
|
42
|
+
})
|
|
43
|
+
]),
|
|
44
|
+
i("div", null, [
|
|
45
|
+
i("div", { class: "title" }, "交小科智能助手")
|
|
46
|
+
])
|
|
47
|
+
], -1)),
|
|
48
|
+
i("div", z, [
|
|
49
|
+
i("button", {
|
|
50
|
+
title: "最小化",
|
|
51
|
+
onClick: e[0] || (e[0] = (t) => c.$emit("minimize"))
|
|
52
|
+
}, [...e[2] || (e[2] = [
|
|
53
|
+
i("svg", {
|
|
54
|
+
viewBox: "0 0 24 24",
|
|
55
|
+
fill: "none",
|
|
56
|
+
stroke: "currentColor",
|
|
57
|
+
"stroke-width": "2"
|
|
58
|
+
}, [
|
|
59
|
+
i("path", { d: "M5 15h14" })
|
|
60
|
+
], -1)
|
|
61
|
+
])]),
|
|
62
|
+
i("button", {
|
|
63
|
+
title: "关闭",
|
|
64
|
+
onClick: e[1] || (e[1] = (t) => c.$emit("close"))
|
|
65
|
+
}, [...e[3] || (e[3] = [
|
|
66
|
+
i("svg", {
|
|
67
|
+
viewBox: "0 0 24 24",
|
|
68
|
+
fill: "none",
|
|
69
|
+
stroke: "currentColor",
|
|
70
|
+
"stroke-width": "2"
|
|
71
|
+
}, [
|
|
72
|
+
i("path", { d: "M18 6L6 18M6 6l12 12" })
|
|
73
|
+
], -1)
|
|
74
|
+
])])
|
|
75
|
+
])
|
|
76
|
+
]));
|
|
77
|
+
}
|
|
78
|
+
}, J = /* @__PURE__ */ y(K, [["__scopeId", "data-v-f4ee3104"]]), L = "data:image/png;base64,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", Z = "data:image/png;base64,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", N = { class: "avatar" }, $ = ["src"], _ = ["src"], ee = { class: "content" }, te = ["innerHTML"], se = {
|
|
79
|
+
key: 0,
|
|
80
|
+
class: "typing-indicator"
|
|
81
|
+
}, ne = {
|
|
82
|
+
__name: "ChatMessageList",
|
|
83
|
+
props: {
|
|
84
|
+
messages: {
|
|
85
|
+
type: Array,
|
|
86
|
+
default: () => []
|
|
87
|
+
},
|
|
88
|
+
userInfo: {
|
|
89
|
+
type: Object,
|
|
90
|
+
default: () => ({ id: "", name: "", avatar: "" })
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
setup(s) {
|
|
94
|
+
const c = (a) => a ? a.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, "").replace(/\*\*(.*?)\*\*/g, "<strong>$1</strong>").replace(/\n/g, "<br/>") : "", e = s, t = f(null), l = () => {
|
|
95
|
+
S(() => {
|
|
96
|
+
t.value && (t.value.scrollTop = t.value.scrollHeight);
|
|
97
|
+
});
|
|
98
|
+
};
|
|
99
|
+
return H(() => e.messages.length, l), H(
|
|
100
|
+
() => e.messages,
|
|
101
|
+
(a) => {
|
|
102
|
+
if (a.length > 0) {
|
|
103
|
+
const n = a[a.length - 1];
|
|
104
|
+
n && !n.isFinished && l();
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
{ deep: !0 }
|
|
108
|
+
), (a, n) => (u(), v("div", {
|
|
109
|
+
class: "chat-message-list",
|
|
110
|
+
ref_key: "scrollContainer",
|
|
111
|
+
ref: t
|
|
112
|
+
}, [
|
|
113
|
+
(u(!0), v(q, null, U(s.messages, (o, m) => (u(), v("div", {
|
|
114
|
+
key: m,
|
|
115
|
+
class: O(["message", o.type])
|
|
116
|
+
}, [
|
|
117
|
+
i("div", N, [
|
|
118
|
+
o.type === "user" ? (u(), v("img", {
|
|
119
|
+
key: 0,
|
|
120
|
+
src: s.userInfo.avatar || A(L)
|
|
121
|
+
}, null, 8, $)) : (u(), v("img", {
|
|
122
|
+
key: 1,
|
|
123
|
+
src: A(Z)
|
|
124
|
+
}, null, 8, _))
|
|
125
|
+
]),
|
|
126
|
+
i("div", ee, [
|
|
127
|
+
i("div", {
|
|
128
|
+
class: "message-text",
|
|
129
|
+
innerHTML: c(o.content)
|
|
130
|
+
}, null, 8, te),
|
|
131
|
+
o.isFinished ? x("", !0) : (u(), v("div", se, [...n[0] || (n[0] = [
|
|
132
|
+
i("span", null, null, -1),
|
|
133
|
+
i("span", null, null, -1),
|
|
134
|
+
i("span", null, null, -1)
|
|
135
|
+
])]))
|
|
136
|
+
])
|
|
137
|
+
], 2))), 128))
|
|
138
|
+
], 512));
|
|
139
|
+
}
|
|
140
|
+
}, ae = /* @__PURE__ */ y(ne, [["__scopeId", "data-v-a02ba327"]]), oe = { class: "chat-input-area" }, ie = { class: "input-wrapper" }, le = ["disabled", "onKeydown"], re = { class: "actions" }, ce = ["disabled"], de = {
|
|
141
|
+
viewBox: "0 0 24 24",
|
|
142
|
+
fill: "none",
|
|
143
|
+
stroke: "currentColor",
|
|
144
|
+
"stroke-width": "2",
|
|
145
|
+
style: { width: "18px" }
|
|
146
|
+
}, w = 24, ge = 3, ue = 26, he = {
|
|
147
|
+
__name: "ChatInput",
|
|
148
|
+
props: {
|
|
149
|
+
disabled: {
|
|
150
|
+
type: Boolean,
|
|
151
|
+
default: !1
|
|
152
|
+
}
|
|
153
|
+
},
|
|
154
|
+
emits: ["send", "file", "plus"],
|
|
155
|
+
setup(s, { emit: c }) {
|
|
156
|
+
const e = s, t = c, l = f(""), a = f(null), n = w, o = w * ge, m = () => {
|
|
157
|
+
S(() => {
|
|
158
|
+
g();
|
|
159
|
+
});
|
|
160
|
+
}, g = () => {
|
|
161
|
+
if (!a.value) return;
|
|
162
|
+
const p = a.value;
|
|
163
|
+
if (!l.value.trim()) {
|
|
164
|
+
p.style.height = ue + "px";
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
p.style.height = "auto";
|
|
168
|
+
const I = p.scrollHeight, d = Math.min(Math.max(I, n), o);
|
|
169
|
+
p.style.height = d + "px";
|
|
170
|
+
}, C = () => {
|
|
171
|
+
l.value.trim() && !e.disabled && (t("send", l.value.trim()), l.value = "", S(() => {
|
|
172
|
+
g();
|
|
173
|
+
}));
|
|
174
|
+
};
|
|
175
|
+
return H(
|
|
176
|
+
() => e.disabled,
|
|
177
|
+
(p) => {
|
|
178
|
+
p || (l.value = "", S(() => {
|
|
179
|
+
g();
|
|
180
|
+
}));
|
|
181
|
+
}
|
|
182
|
+
), H(l, () => {
|
|
183
|
+
S(() => {
|
|
184
|
+
g();
|
|
185
|
+
});
|
|
186
|
+
}), (p, I) => (u(), v("div", oe, [
|
|
187
|
+
i("div", ie, [
|
|
188
|
+
Y(i("textarea", {
|
|
189
|
+
style: { height: "26px" },
|
|
190
|
+
ref_key: "textareaRef",
|
|
191
|
+
ref: a,
|
|
192
|
+
"onUpdate:modelValue": I[0] || (I[0] = (d) => l.value = d),
|
|
193
|
+
placeholder: "请输入内容,Ctrl+Enter可换行",
|
|
194
|
+
disabled: s.disabled,
|
|
195
|
+
onInput: m,
|
|
196
|
+
onKeydown: [
|
|
197
|
+
k(R(C, ["exact", "prevent"]), ["enter"]),
|
|
198
|
+
k(R(C, ["ctrl"]), ["enter"])
|
|
199
|
+
]
|
|
200
|
+
}, null, 40, le), [
|
|
201
|
+
[G, l.value]
|
|
202
|
+
]),
|
|
203
|
+
i("div", re, [
|
|
204
|
+
I[2] || (I[2] = i("div", { class: "divider" }, null, -1)),
|
|
205
|
+
i("button", {
|
|
206
|
+
class: "send",
|
|
207
|
+
disabled: !l.value.trim() || s.disabled,
|
|
208
|
+
onClick: C
|
|
209
|
+
}, [
|
|
210
|
+
(u(), v("svg", de, [...I[1] || (I[1] = [
|
|
211
|
+
i("line", {
|
|
212
|
+
x1: "22",
|
|
213
|
+
y1: "2",
|
|
214
|
+
x2: "11",
|
|
215
|
+
y2: "13"
|
|
216
|
+
}, null, -1),
|
|
217
|
+
i("polygon", { points: "22 2 15 22 11 13 2 9 22 2" }, null, -1)
|
|
218
|
+
])]))
|
|
219
|
+
], 8, ce)
|
|
220
|
+
])
|
|
221
|
+
])
|
|
222
|
+
]));
|
|
223
|
+
}
|
|
224
|
+
}, me = /* @__PURE__ */ y(he, [["__scopeId", "data-v-145267f8"]]), ve = { class: "chat-window" }, Ie = { class: "modal-actions" }, pe = {
|
|
225
|
+
__name: "ChatWindow",
|
|
226
|
+
props: {
|
|
227
|
+
messages: {
|
|
228
|
+
type: Array,
|
|
229
|
+
default: () => []
|
|
230
|
+
},
|
|
231
|
+
isStreaming: {
|
|
232
|
+
type: Boolean,
|
|
233
|
+
default: !1
|
|
234
|
+
},
|
|
235
|
+
userInfo: {
|
|
236
|
+
type: Object,
|
|
237
|
+
default: () => ({ id: "", name: "", avatar: "" })
|
|
238
|
+
},
|
|
239
|
+
enableTransfer: {
|
|
240
|
+
type: Boolean,
|
|
241
|
+
default: !0
|
|
242
|
+
}
|
|
243
|
+
},
|
|
244
|
+
emits: ["minimize", "close", "send-message", "transfer"],
|
|
245
|
+
setup(s, { emit: c }) {
|
|
246
|
+
const e = c, t = f(!1), l = () => {
|
|
247
|
+
t.value = !0;
|
|
248
|
+
}, a = () => {
|
|
249
|
+
t.value = !1, e("close");
|
|
250
|
+
};
|
|
251
|
+
return (n, o) => (u(), v("div", ve, [
|
|
252
|
+
F(J, {
|
|
253
|
+
onMinimize: o[0] || (o[0] = (m) => n.$emit("minimize")),
|
|
254
|
+
onClose: l
|
|
255
|
+
}),
|
|
256
|
+
F(ae, {
|
|
257
|
+
messages: s.messages,
|
|
258
|
+
"user-info": s.userInfo
|
|
259
|
+
}, null, 8, ["messages", "user-info"]),
|
|
260
|
+
F(me, {
|
|
261
|
+
disabled: s.isStreaming,
|
|
262
|
+
"enable-transfer": s.enableTransfer,
|
|
263
|
+
onSend: o[1] || (o[1] = (m) => n.$emit("send-message", m)),
|
|
264
|
+
onTransfer: o[2] || (o[2] = (m) => n.$emit("transfer"))
|
|
265
|
+
}, null, 8, ["disabled", "enable-transfer"]),
|
|
266
|
+
t.value ? (u(), v("div", {
|
|
267
|
+
key: 0,
|
|
268
|
+
class: "modal-overlay",
|
|
269
|
+
onClick: o[5] || (o[5] = (m) => t.value = !1)
|
|
270
|
+
}, [
|
|
271
|
+
i("div", {
|
|
272
|
+
class: "confirm-modal",
|
|
273
|
+
onClick: o[4] || (o[4] = R(() => {
|
|
274
|
+
}, ["stop"]))
|
|
275
|
+
}, [
|
|
276
|
+
o[6] || (o[6] = E('<div class="modal-icon" data-v-5b64794c><svg viewBox="0 0 24 24" fill="none" stroke="#f59e0b" stroke-width="2" data-v-5b64794c><circle cx="12" cy="12" r="10" data-v-5b64794c></circle><line x1="12" y1="8" x2="12" y2="12" data-v-5b64794c></line><line x1="12" y1="16" x2="12.01" y2="16" data-v-5b64794c></line></svg></div><div class="modal-title" data-v-5b64794c>确认关闭</div><div class="modal-content" data-v-5b64794c>确定要关闭对话窗口吗?</div>', 3)),
|
|
277
|
+
i("div", Ie, [
|
|
278
|
+
i("button", {
|
|
279
|
+
class: "btn-cancel",
|
|
280
|
+
onClick: o[3] || (o[3] = (m) => t.value = !1)
|
|
281
|
+
}, " 取消 "),
|
|
282
|
+
i("button", {
|
|
283
|
+
class: "btn-confirm",
|
|
284
|
+
onClick: a
|
|
285
|
+
}, " 确定 ")
|
|
286
|
+
])
|
|
287
|
+
])
|
|
288
|
+
])) : x("", !0)
|
|
289
|
+
]));
|
|
290
|
+
}
|
|
291
|
+
}, fe = /* @__PURE__ */ y(pe, [["__scopeId", "data-v-5b64794c"]]), Ve = (s = "") => {
|
|
292
|
+
const c = W.create({
|
|
293
|
+
baseURL: s || void 0 || "/api",
|
|
294
|
+
timeout: 6e4,
|
|
295
|
+
headers: {
|
|
296
|
+
"Content-Type": "application/json"
|
|
297
|
+
}
|
|
298
|
+
});
|
|
299
|
+
return c.interceptors.request.use(
|
|
300
|
+
(e) => {
|
|
301
|
+
const t = localStorage.getItem("token");
|
|
302
|
+
return t && (e.headers.Authorization = `Bearer ${t}`), e;
|
|
303
|
+
},
|
|
304
|
+
(e) => Promise.reject(e)
|
|
305
|
+
), c;
|
|
306
|
+
}, Ce = (s, c = "") => {
|
|
307
|
+
const e = Ve(c), { agentId: t, prompt: l, clientId: a } = s;
|
|
308
|
+
return e({
|
|
309
|
+
url: `/service/url/openurl/v1/agent/${t}/conversation`,
|
|
310
|
+
method: "post",
|
|
311
|
+
data: { prompt: l },
|
|
312
|
+
headers: {
|
|
313
|
+
"X-Client-ID": a || ""
|
|
314
|
+
}
|
|
315
|
+
});
|
|
316
|
+
}, ye = async (s, c = "", e, t) => new Promise((l, a) => {
|
|
317
|
+
console.log("[chat.js] 开始发送消息:", s), Ce(s, c).then((n) => {
|
|
318
|
+
var p, I;
|
|
319
|
+
console.log("[chat.js] 创建对话响应:", n.data);
|
|
320
|
+
const o = (I = (p = n.data) == null ? void 0 : p.data) == null ? void 0 : I.conversationId;
|
|
321
|
+
if (console.log("[chat.js] 获取到 conversationId:", o), !o)
|
|
322
|
+
throw new Error("未能获取 conversationId");
|
|
323
|
+
const m = c ? `${c}/service/url/openurl/v1/agent/${s.agentId}/stream` : `/api/service/url/openurl/v1/agent/${s.agentId}/stream`;
|
|
324
|
+
console.log("[chat.js] 流式请求URL:", m);
|
|
325
|
+
const g = new XMLHttpRequest();
|
|
326
|
+
g.open("POST", m, !0), g.setRequestHeader("Content-Type", "text/plain;charset=UTF-8"), g.setRequestHeader("X-Client-ID", s.clientId || ""), g.setRequestHeader("Accept", "text/event-stream");
|
|
327
|
+
let C = 0;
|
|
328
|
+
g.onprogress = function() {
|
|
329
|
+
const d = g.responseText.substring(C);
|
|
330
|
+
if (d) {
|
|
331
|
+
console.log("[chat.js] 收到新数据:", d);
|
|
332
|
+
const D = d.split(`
|
|
333
|
+
`);
|
|
334
|
+
for (const V of D)
|
|
335
|
+
if (V.trim())
|
|
336
|
+
try {
|
|
337
|
+
let r = V.trim();
|
|
338
|
+
r.startsWith("message") ? r = r.substring(7).trim() : r.startsWith("data:") && (r = r.substring(5).trim());
|
|
339
|
+
const h = JSON.parse(r);
|
|
340
|
+
if (console.log("[chat.js] 解析到JSON:", h), h.code === 0 && h.order === 3 && h.eventType === 0) {
|
|
341
|
+
const Q = {
|
|
342
|
+
content: h.response || "",
|
|
343
|
+
finish: h.finish === 1,
|
|
344
|
+
conversationId: o
|
|
345
|
+
};
|
|
346
|
+
console.log("[chat.js] 调用 onMessage:", Q), e && e(Q);
|
|
347
|
+
}
|
|
348
|
+
} catch (r) {
|
|
349
|
+
console.log("[chat.js] 解析行失败:", r.message);
|
|
350
|
+
}
|
|
351
|
+
C = g.responseText.length;
|
|
352
|
+
}
|
|
353
|
+
}, g.onload = function() {
|
|
354
|
+
console.log("[chat.js] 请求完成"), l();
|
|
355
|
+
}, g.onerror = function(d) {
|
|
356
|
+
console.error("[chat.js] 请求错误:", d), t && t(d), a(d);
|
|
357
|
+
}, g.send(JSON.stringify({
|
|
358
|
+
conversationId: o,
|
|
359
|
+
fileInfo: [],
|
|
360
|
+
prompt: s.prompt
|
|
361
|
+
})), console.log("[chat.js] 请求已发送");
|
|
362
|
+
}).catch((n) => {
|
|
363
|
+
console.error("[chat.js] 创建对话失败:", n), t && t(n), a(n);
|
|
364
|
+
});
|
|
365
|
+
}), De = { class: "smart-chat-widget" }, Se = {
|
|
366
|
+
__name: "SmartChatWidget",
|
|
367
|
+
props: {
|
|
368
|
+
// 智能体ID(可省略,使用默认值)
|
|
369
|
+
agentId: {
|
|
370
|
+
type: String,
|
|
371
|
+
default: "a29b7cb5-96f3-4126-bbcb-a584659b3f76"
|
|
372
|
+
},
|
|
373
|
+
// 用户信息(可省略)
|
|
374
|
+
userInfo: {
|
|
375
|
+
type: Object,
|
|
376
|
+
default: () => ({ id: "", name: "", avatar: "" })
|
|
377
|
+
},
|
|
378
|
+
// 初始问候语
|
|
379
|
+
greeting: {
|
|
380
|
+
type: String,
|
|
381
|
+
default: "您好,请问有什么可以帮助您的?"
|
|
382
|
+
},
|
|
383
|
+
// 是否显示转人工按钮
|
|
384
|
+
enableTransfer: {
|
|
385
|
+
type: Boolean,
|
|
386
|
+
default: !0
|
|
387
|
+
},
|
|
388
|
+
// API基础路径(可省略,自动检测)
|
|
389
|
+
apiBaseUrl: {
|
|
390
|
+
type: String,
|
|
391
|
+
default: ""
|
|
392
|
+
},
|
|
393
|
+
// 客户端ID(可省略,自动生成)
|
|
394
|
+
clientId: {
|
|
395
|
+
type: String,
|
|
396
|
+
default: ""
|
|
397
|
+
},
|
|
398
|
+
// 窗口标题
|
|
399
|
+
title: {
|
|
400
|
+
type: String,
|
|
401
|
+
default: "智能助手"
|
|
402
|
+
},
|
|
403
|
+
// 输入框占位符
|
|
404
|
+
placeholder: {
|
|
405
|
+
type: String,
|
|
406
|
+
default: "请问有什么可以帮助您的?"
|
|
407
|
+
}
|
|
408
|
+
},
|
|
409
|
+
emits: [
|
|
410
|
+
"message-sent",
|
|
411
|
+
"message-received",
|
|
412
|
+
"transfer-customer",
|
|
413
|
+
"window-opened",
|
|
414
|
+
"window-closed"
|
|
415
|
+
],
|
|
416
|
+
setup(s, { emit: c }) {
|
|
417
|
+
const e = s, t = c, l = f(!1), a = f([]), n = f(!1), o = f(""), m = () => e.apiBaseUrl ? e.apiBaseUrl : "/smart-chat-api";
|
|
418
|
+
T(() => {
|
|
419
|
+
a.value.push({
|
|
420
|
+
id: Date.now().toString(),
|
|
421
|
+
type: "bot",
|
|
422
|
+
content: e.greeting,
|
|
423
|
+
timestamp: (/* @__PURE__ */ new Date()).toLocaleString(),
|
|
424
|
+
isFinished: !0
|
|
425
|
+
});
|
|
426
|
+
});
|
|
427
|
+
const g = () => {
|
|
428
|
+
l.value = !l.value, l.value ? t("window-opened") : t("window-closed");
|
|
429
|
+
}, C = async (d) => {
|
|
430
|
+
if (console.log("[SmartChatWidget] 收到消息:", d), !d.trim()) return;
|
|
431
|
+
const D = {
|
|
432
|
+
id: Date.now().toString(),
|
|
433
|
+
type: "user",
|
|
434
|
+
content: d.trim(),
|
|
435
|
+
timestamp: (/* @__PURE__ */ new Date()).toLocaleString(),
|
|
436
|
+
isFinished: !0
|
|
437
|
+
};
|
|
438
|
+
a.value.push(D), console.log("[SmartChatWidget] 添加用户消息:", a.value), t("message-sent", { message: D, timestamp: Date.now() }), n.value = !0, console.log("[SmartChatWidget] 开始流式请求");
|
|
439
|
+
try {
|
|
440
|
+
const V = a.value.length, r = f({
|
|
441
|
+
id: Date.now().toString() + "-bot",
|
|
442
|
+
type: "bot",
|
|
443
|
+
content: "",
|
|
444
|
+
timestamp: (/* @__PURE__ */ new Date()).toLocaleString(),
|
|
445
|
+
isFinished: !1
|
|
446
|
+
});
|
|
447
|
+
a.value.push(r.value), console.log("[SmartChatWidget] 添加机器人消息模板:", r.value), await ye(
|
|
448
|
+
{
|
|
449
|
+
agentId: e.agentId,
|
|
450
|
+
prompt: d.trim(),
|
|
451
|
+
clientId: e.clientId || p()
|
|
452
|
+
},
|
|
453
|
+
m(),
|
|
454
|
+
(h) => {
|
|
455
|
+
console.log("[SmartChatWidget] 收到流式数据:", h), h.conversationId && (o.value = h.conversationId, console.log("[SmartChatWidget] 更新conversationId:", o.value)), h.content && (r.value.content += h.content, a.value[V] = { ...r.value }, console.log("[SmartChatWidget] 更新消息内容:", r.value.content)), h.finish && (r.value.isFinished = !0, a.value[V] = { ...r.value }, n.value = !1, console.log("[SmartChatWidget] 消息完成:", r.value), t("message-received", { message: r.value, timestamp: Date.now() }));
|
|
456
|
+
},
|
|
457
|
+
(h) => {
|
|
458
|
+
console.error("[SmartChatWidget] 流式消息错误:", h), n.value = !1, r.value.isFinished = !0, a.value[V] = { ...r.value };
|
|
459
|
+
}
|
|
460
|
+
), r.value.isFinished || (r.value.isFinished = !0, a.value[V] = { ...r.value }, n.value = !1, console.log("[SmartChatWidget] 消息完成(流式结束):", r.value), t("message-received", { message: r.value, timestamp: Date.now() }));
|
|
461
|
+
} catch (V) {
|
|
462
|
+
console.error("[SmartChatWidget] 发送消息失败:", V), n.value = !1, a.value.push({
|
|
463
|
+
id: Date.now().toString() + "-error",
|
|
464
|
+
type: "bot",
|
|
465
|
+
content: "抱歉,服务暂时不可用,请稍后重试",
|
|
466
|
+
timestamp: (/* @__PURE__ */ new Date()).toLocaleString(),
|
|
467
|
+
isFinished: !0
|
|
468
|
+
});
|
|
469
|
+
}
|
|
470
|
+
}, p = () => "client-" + Date.now().toString(36) + Math.random().toString(36).substr(2, 9), I = () => {
|
|
471
|
+
t("transfer-customer", {
|
|
472
|
+
userId: e.userInfo.id,
|
|
473
|
+
conversationId: o.value,
|
|
474
|
+
context: a.value.map((d) => `${d.type === "user" ? "用户" : "助手"}: ${d.content}`).join(`
|
|
475
|
+
`)
|
|
476
|
+
});
|
|
477
|
+
};
|
|
478
|
+
return (d, D) => (u(), v("div", De, [
|
|
479
|
+
l.value ? x("", !0) : (u(), B(j, {
|
|
480
|
+
key: 0,
|
|
481
|
+
onClick: g
|
|
482
|
+
})),
|
|
483
|
+
l.value ? (u(), B(fe, {
|
|
484
|
+
key: 1,
|
|
485
|
+
messages: a.value,
|
|
486
|
+
"is-streaming": n.value,
|
|
487
|
+
"user-info": s.userInfo,
|
|
488
|
+
"enable-transfer": s.enableTransfer,
|
|
489
|
+
onMinimize: g,
|
|
490
|
+
onClose: g,
|
|
491
|
+
onSendMessage: C,
|
|
492
|
+
onTransfer: I
|
|
493
|
+
}, null, 8, ["messages", "is-streaming", "user-info", "enable-transfer"])) : x("", !0)
|
|
494
|
+
]));
|
|
495
|
+
}
|
|
496
|
+
}, xe = /* @__PURE__ */ y(Se, [["__scopeId", "data-v-e599594c"]]), Re = {
|
|
497
|
+
install(s) {
|
|
498
|
+
s.component("SmartChatWidget", xe);
|
|
499
|
+
}
|
|
500
|
+
};
|
|
501
|
+
export {
|
|
502
|
+
xe as SmartChatWidget,
|
|
503
|
+
Re as SmartChatWidgetPlugin,
|
|
504
|
+
Re as default
|
|
505
|
+
};
|