byt-lingxiao-ai 0.2.6 → 0.2.8
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/components/ChatWindow.vue +21 -38
- package/components/ChatWindowHeader.vue +3 -5
- package/components/mixins/messageMixin.js +4 -1
- package/components/mixins/webSocketMixin.js +13 -7
- package/dist/index.common.js +57 -78
- package/dist/index.common.js.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.umd.js +57 -78
- package/dist/index.umd.js.map +1 -1
- package/dist/index.umd.min.js +1 -1
- package/dist/index.umd.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -68,24 +68,7 @@ export default {
|
|
|
68
68
|
audioSrc: '/minio/lingxiaoai/byt.mp3',
|
|
69
69
|
inputMessage: '',
|
|
70
70
|
visible: false,
|
|
71
|
-
messages: [
|
|
72
|
-
{
|
|
73
|
-
id: 1,
|
|
74
|
-
type: 'user',
|
|
75
|
-
sender: '',
|
|
76
|
-
time: '',
|
|
77
|
-
content: '你好,欢迎来到凌霄大模型AI对话。',
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
id: 2,
|
|
81
|
-
type: 'ai',
|
|
82
|
-
sender: 'AI',
|
|
83
|
-
time: '',
|
|
84
|
-
thinking: '嗯,用户问的是回转窑的工业应用。首先,我需要回忆一下之前对话的内容。用户之前让我解释了水泥的制作流程,特别是提到了回转窑在高温煅烧熟料中的作用。',
|
|
85
|
-
charts: [{ title: '', options: {} }],
|
|
86
|
-
content: '回转窑(Rotary Kiln)是一种长筒形旋转煅烧设备(类似倾斜安装的大管子),因其独特的旋转运动和高温耐火衬里设计,在多个工业领域都有广泛应用',
|
|
87
|
-
}
|
|
88
|
-
],
|
|
71
|
+
messages: [],
|
|
89
72
|
robotStatus: 'leaving',
|
|
90
73
|
avaterStatus: 'normal',
|
|
91
74
|
currentMessage: null,
|
|
@@ -134,27 +117,27 @@ export default {
|
|
|
134
117
|
this.jumpedTimePoints = new Set()
|
|
135
118
|
}
|
|
136
119
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
120
|
+
fetch('/minio/lingxiaoai/timeJumpPoints.json')
|
|
121
|
+
.then(response => response.json())
|
|
122
|
+
.then(data => {
|
|
123
|
+
console.log('时间跳转点:', data)
|
|
124
|
+
data.forEach(point => {
|
|
125
|
+
if (currentTime >= point.time && currentTime < point.time + 0.5 && !this.jumpedTimePoints.has(point.time)) {
|
|
126
|
+
this.jumpedTimePoints.add(point.time)
|
|
127
|
+
this.$appOptions.store.dispatch('tags/addTagview', {
|
|
128
|
+
path: point.url,
|
|
129
|
+
fullPath: point.url,
|
|
130
|
+
label: point.title,
|
|
131
|
+
name: point.title,
|
|
132
|
+
meta: { title: point.title },
|
|
133
|
+
query: {},
|
|
134
|
+
params: {}
|
|
135
|
+
})
|
|
136
|
+
this.$appOptions.router.push({ path: point.url })
|
|
137
|
+
}
|
|
154
138
|
})
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
})
|
|
139
|
+
})
|
|
140
|
+
.catch(error => console.error('获取时间跳转点失败:', error))
|
|
158
141
|
},
|
|
159
142
|
onAudioEnded() {
|
|
160
143
|
this.robotStatus = 'leaving'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="chat-window-header">
|
|
3
|
-
<div class="chat-window-header-title">凌霄大模型
|
|
3
|
+
<div class="chat-window-header-title">凌霄大模型AI对话</div>
|
|
4
4
|
<div class="chat-window-header-open" @click="handleOpen">
|
|
5
5
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
|
|
6
6
|
<path d="M14.5 4.5H19.5V9.5" stroke="#4E5969" stroke-width="1.66667" stroke-linecap="round" stroke-linejoin="round"/>
|
|
@@ -41,10 +41,8 @@ export default {
|
|
|
41
41
|
name: 'ChatWindowHeader',
|
|
42
42
|
methods: {
|
|
43
43
|
handleOpen() {
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
})
|
|
47
|
-
window.open(path.href, '_blank')
|
|
44
|
+
const baseUrl = window.location.protocol + '//' + window.location.hostname + ':3100/';
|
|
45
|
+
window.open(baseUrl, '_blank')
|
|
48
46
|
}
|
|
49
47
|
}
|
|
50
48
|
}
|
|
@@ -60,8 +60,11 @@ export default {
|
|
|
60
60
|
const startTime = Date.now();
|
|
61
61
|
const controller = new AbortController();
|
|
62
62
|
const token = `Bearer ac627d0a-8346-4ae9-b93a-f37ff6210adc`;
|
|
63
|
+
|
|
64
|
+
const baseUrl = window.location.protocol + '//' + window.location.hostname + ':3100';
|
|
65
|
+
const apiUrl = baseUrl + '/lingxiao-byt/api/chat/completions';
|
|
63
66
|
|
|
64
|
-
const response = await fetch(
|
|
67
|
+
const response = await fetch(apiUrl, {
|
|
65
68
|
method: 'POST',
|
|
66
69
|
signal: controller.signal,
|
|
67
70
|
headers: {
|
|
@@ -3,7 +3,9 @@ export default {
|
|
|
3
3
|
return {
|
|
4
4
|
ws: null,
|
|
5
5
|
wsUrl: 'ws://192.168.8.9:9999/ai_model/ws/voice-stream',
|
|
6
|
-
isConnected: false
|
|
6
|
+
isConnected: false,
|
|
7
|
+
reconnectCount: 0, // 重连尝试次数
|
|
8
|
+
maxReconnectAttempts: 3 // 最大重连尝试次数
|
|
7
9
|
}
|
|
8
10
|
},
|
|
9
11
|
methods: {
|
|
@@ -48,12 +50,16 @@ export default {
|
|
|
48
50
|
if (this.isRecording) {
|
|
49
51
|
this.stopRecording();
|
|
50
52
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
53
|
+
this.reconnectCount++;
|
|
54
|
+
console.log(`已尝试重连 ${this.reconnectCount} 次`);
|
|
55
|
+
if (this.reconnectCount <= this.maxReconnectAttempts) {
|
|
56
|
+
setTimeout(() => {
|
|
57
|
+
console.log('尝试重新建立连接');
|
|
58
|
+
if (!this.isConnected) {
|
|
59
|
+
this.initWebSocket();
|
|
60
|
+
}
|
|
61
|
+
}, 3000);
|
|
62
|
+
}
|
|
57
63
|
};
|
|
58
64
|
|
|
59
65
|
this.ws.onerror = (error) => {
|
package/dist/index.common.js
CHANGED
|
@@ -3746,7 +3746,7 @@ if (typeof window !== 'undefined') {
|
|
|
3746
3746
|
var es_iterator_constructor = __webpack_require__(8111);
|
|
3747
3747
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.for-each.js
|
|
3748
3748
|
var es_iterator_for_each = __webpack_require__(7588);
|
|
3749
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/ChatWindow.vue?vue&type=template&id=
|
|
3749
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/ChatWindow.vue?vue&type=template&id=5792943c&scoped=true
|
|
3750
3750
|
var render = function render() {
|
|
3751
3751
|
var _vm = this,
|
|
3752
3752
|
_c = _vm._self._c;
|
|
@@ -4088,15 +4088,15 @@ var ChatWindowDialogvue_type_template_id_5eca994a_scoped_true_render = function
|
|
|
4088
4088
|
};
|
|
4089
4089
|
var ChatWindowDialogvue_type_template_id_5eca994a_scoped_true_staticRenderFns = [];
|
|
4090
4090
|
|
|
4091
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/ChatWindowHeader.vue?vue&type=template&id=
|
|
4092
|
-
var
|
|
4091
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/ChatWindowHeader.vue?vue&type=template&id=90ac64ba&scoped=true
|
|
4092
|
+
var ChatWindowHeadervue_type_template_id_90ac64ba_scoped_true_render = function render() {
|
|
4093
4093
|
var _vm = this,
|
|
4094
4094
|
_c = _vm._self._c;
|
|
4095
4095
|
return _c('div', {
|
|
4096
4096
|
staticClass: "chat-window-header"
|
|
4097
4097
|
}, [_c('div', {
|
|
4098
4098
|
staticClass: "chat-window-header-title"
|
|
4099
|
-
}, [_vm._v("凌霄大模型
|
|
4099
|
+
}, [_vm._v("凌霄大模型AI对话")]), _c('div', {
|
|
4100
4100
|
staticClass: "chat-window-header-open",
|
|
4101
4101
|
on: {
|
|
4102
4102
|
"click": _vm.handleOpen
|
|
@@ -4174,26 +4174,24 @@ var ChatWindowHeadervue_type_template_id_6518e4ca_scoped_true_render = function
|
|
|
4174
4174
|
}
|
|
4175
4175
|
})])])]);
|
|
4176
4176
|
};
|
|
4177
|
-
var
|
|
4177
|
+
var ChatWindowHeadervue_type_template_id_90ac64ba_scoped_true_staticRenderFns = [];
|
|
4178
4178
|
|
|
4179
4179
|
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/ChatWindowHeader.vue?vue&type=script&lang=js
|
|
4180
4180
|
/* harmony default export */ var ChatWindowHeadervue_type_script_lang_js = ({
|
|
4181
4181
|
name: 'ChatWindowHeader',
|
|
4182
4182
|
methods: {
|
|
4183
4183
|
handleOpen() {
|
|
4184
|
-
const
|
|
4185
|
-
|
|
4186
|
-
});
|
|
4187
|
-
window.open(path.href, '_blank');
|
|
4184
|
+
const baseUrl = window.location.protocol + '//' + window.location.hostname + ':3100/';
|
|
4185
|
+
window.open(baseUrl, '_blank');
|
|
4188
4186
|
}
|
|
4189
4187
|
}
|
|
4190
4188
|
});
|
|
4191
4189
|
;// ./components/ChatWindowHeader.vue?vue&type=script&lang=js
|
|
4192
4190
|
/* harmony default export */ var components_ChatWindowHeadervue_type_script_lang_js = (ChatWindowHeadervue_type_script_lang_js);
|
|
4193
|
-
;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-12.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/ChatWindowHeader.vue?vue&type=style&index=0&id=
|
|
4191
|
+
;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-12.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/ChatWindowHeader.vue?vue&type=style&index=0&id=90ac64ba&prod&scoped=true&lang=css
|
|
4194
4192
|
// extracted by mini-css-extract-plugin
|
|
4195
4193
|
|
|
4196
|
-
;// ./components/ChatWindowHeader.vue?vue&type=style&index=0&id=
|
|
4194
|
+
;// ./components/ChatWindowHeader.vue?vue&type=style&index=0&id=90ac64ba&prod&scoped=true&lang=css
|
|
4197
4195
|
|
|
4198
4196
|
;// ./components/ChatWindowHeader.vue
|
|
4199
4197
|
|
|
@@ -4206,11 +4204,11 @@ var ChatWindowHeadervue_type_template_id_6518e4ca_scoped_true_staticRenderFns =
|
|
|
4206
4204
|
|
|
4207
4205
|
var ChatWindowHeader_component = normalizeComponent(
|
|
4208
4206
|
components_ChatWindowHeadervue_type_script_lang_js,
|
|
4209
|
-
|
|
4210
|
-
|
|
4207
|
+
ChatWindowHeadervue_type_template_id_90ac64ba_scoped_true_render,
|
|
4208
|
+
ChatWindowHeadervue_type_template_id_90ac64ba_scoped_true_staticRenderFns,
|
|
4211
4209
|
false,
|
|
4212
4210
|
null,
|
|
4213
|
-
"
|
|
4211
|
+
"90ac64ba",
|
|
4214
4212
|
null
|
|
4215
4213
|
|
|
4216
4214
|
)
|
|
@@ -4743,7 +4741,10 @@ var es_typed_array_with = __webpack_require__(9577);
|
|
|
4743
4741
|
return {
|
|
4744
4742
|
ws: null,
|
|
4745
4743
|
wsUrl: 'ws://192.168.8.9:9999/ai_model/ws/voice-stream',
|
|
4746
|
-
isConnected: false
|
|
4744
|
+
isConnected: false,
|
|
4745
|
+
reconnectCount: 0,
|
|
4746
|
+
// 重连尝试次数
|
|
4747
|
+
maxReconnectAttempts: 3 // 最大重连尝试次数
|
|
4747
4748
|
};
|
|
4748
4749
|
},
|
|
4749
4750
|
methods: {
|
|
@@ -4782,12 +4783,16 @@ var es_typed_array_with = __webpack_require__(9577);
|
|
|
4782
4783
|
if (this.isRecording) {
|
|
4783
4784
|
this.stopRecording();
|
|
4784
4785
|
}
|
|
4785
|
-
|
|
4786
|
-
|
|
4787
|
-
|
|
4788
|
-
|
|
4789
|
-
|
|
4790
|
-
|
|
4786
|
+
this.reconnectCount++;
|
|
4787
|
+
console.log(`已尝试重连 ${this.reconnectCount} 次`);
|
|
4788
|
+
if (this.reconnectCount <= this.maxReconnectAttempts) {
|
|
4789
|
+
setTimeout(() => {
|
|
4790
|
+
console.log('尝试重新建立连接');
|
|
4791
|
+
if (!this.isConnected) {
|
|
4792
|
+
this.initWebSocket();
|
|
4793
|
+
}
|
|
4794
|
+
}, 3000);
|
|
4795
|
+
}
|
|
4791
4796
|
};
|
|
4792
4797
|
this.ws.onerror = error => {
|
|
4793
4798
|
console.error('WebSocket 错误:', error);
|
|
@@ -5143,7 +5148,9 @@ class StreamParser {
|
|
|
5143
5148
|
const startTime = Date.now();
|
|
5144
5149
|
const controller = new AbortController();
|
|
5145
5150
|
const token = `Bearer ac627d0a-8346-4ae9-b93a-f37ff6210adc`;
|
|
5146
|
-
const
|
|
5151
|
+
const baseUrl = window.location.protocol + '//' + window.location.hostname + ':3100';
|
|
5152
|
+
const apiUrl = baseUrl + '/lingxiao-byt/api/chat/completions';
|
|
5153
|
+
const response = await fetch(apiUrl, {
|
|
5147
5154
|
method: 'POST',
|
|
5148
5155
|
signal: controller.signal,
|
|
5149
5156
|
headers: {
|
|
@@ -5252,6 +5259,8 @@ class StreamParser {
|
|
|
5252
5259
|
|
|
5253
5260
|
|
|
5254
5261
|
|
|
5262
|
+
|
|
5263
|
+
|
|
5255
5264
|
const SAMPLE_RATE = 16000;
|
|
5256
5265
|
const FRAME_SIZE = 512;
|
|
5257
5266
|
/* harmony default export */ var ChatWindowvue_type_script_lang_js = ({
|
|
@@ -5273,24 +5282,7 @@ const FRAME_SIZE = 512;
|
|
|
5273
5282
|
audioSrc: '/minio/lingxiaoai/byt.mp3',
|
|
5274
5283
|
inputMessage: '',
|
|
5275
5284
|
visible: false,
|
|
5276
|
-
messages: [
|
|
5277
|
-
id: 1,
|
|
5278
|
-
type: 'user',
|
|
5279
|
-
sender: '',
|
|
5280
|
-
time: '',
|
|
5281
|
-
content: '你好,欢迎来到凌霄大模型AI对话。'
|
|
5282
|
-
}, {
|
|
5283
|
-
id: 2,
|
|
5284
|
-
type: 'ai',
|
|
5285
|
-
sender: 'AI',
|
|
5286
|
-
time: '',
|
|
5287
|
-
thinking: '嗯,用户问的是回转窑的工业应用。首先,我需要回忆一下之前对话的内容。用户之前让我解释了水泥的制作流程,特别是提到了回转窑在高温煅烧熟料中的作用。',
|
|
5288
|
-
charts: [{
|
|
5289
|
-
title: '',
|
|
5290
|
-
options: {}
|
|
5291
|
-
}],
|
|
5292
|
-
content: '回转窑(Rotary Kiln)是一种长筒形旋转煅烧设备(类似倾斜安装的大管子),因其独特的旋转运动和高温耐火衬里设计,在多个工业领域都有广泛应用'
|
|
5293
|
-
}],
|
|
5285
|
+
messages: [],
|
|
5294
5286
|
robotStatus: 'leaving',
|
|
5295
5287
|
avaterStatus: 'normal',
|
|
5296
5288
|
currentMessage: null,
|
|
@@ -5337,41 +5329,28 @@ const FRAME_SIZE = 512;
|
|
|
5337
5329
|
if (!this.jumpedTimePoints) {
|
|
5338
5330
|
this.jumpedTimePoints = new Set();
|
|
5339
5331
|
}
|
|
5340
|
-
|
|
5341
|
-
|
|
5342
|
-
|
|
5343
|
-
|
|
5344
|
-
|
|
5345
|
-
|
|
5346
|
-
|
|
5347
|
-
|
|
5348
|
-
|
|
5349
|
-
|
|
5350
|
-
|
|
5351
|
-
|
|
5352
|
-
|
|
5353
|
-
|
|
5354
|
-
|
|
5355
|
-
|
|
5356
|
-
|
|
5357
|
-
|
|
5358
|
-
|
|
5359
|
-
|
|
5360
|
-
|
|
5361
|
-
|
|
5362
|
-
label: point.title,
|
|
5363
|
-
name: point.title,
|
|
5364
|
-
meta: {
|
|
5365
|
-
title: point.title
|
|
5366
|
-
},
|
|
5367
|
-
query: {},
|
|
5368
|
-
params: {}
|
|
5369
|
-
});
|
|
5370
|
-
this.$appOptions.router.push({
|
|
5371
|
-
path: point.url
|
|
5372
|
-
});
|
|
5373
|
-
}
|
|
5374
|
-
});
|
|
5332
|
+
fetch('/minio/lingxiaoai/timeJumpPoints.json').then(response => response.json()).then(data => {
|
|
5333
|
+
console.log('时间跳转点:', data);
|
|
5334
|
+
data.forEach(point => {
|
|
5335
|
+
if (currentTime >= point.time && currentTime < point.time + 0.5 && !this.jumpedTimePoints.has(point.time)) {
|
|
5336
|
+
this.jumpedTimePoints.add(point.time);
|
|
5337
|
+
this.$appOptions.store.dispatch('tags/addTagview', {
|
|
5338
|
+
path: point.url,
|
|
5339
|
+
fullPath: point.url,
|
|
5340
|
+
label: point.title,
|
|
5341
|
+
name: point.title,
|
|
5342
|
+
meta: {
|
|
5343
|
+
title: point.title
|
|
5344
|
+
},
|
|
5345
|
+
query: {},
|
|
5346
|
+
params: {}
|
|
5347
|
+
});
|
|
5348
|
+
this.$appOptions.router.push({
|
|
5349
|
+
path: point.url
|
|
5350
|
+
});
|
|
5351
|
+
}
|
|
5352
|
+
});
|
|
5353
|
+
}).catch(error => console.error('获取时间跳转点失败:', error));
|
|
5375
5354
|
},
|
|
5376
5355
|
onAudioEnded() {
|
|
5377
5356
|
this.robotStatus = 'leaving';
|
|
@@ -5381,10 +5360,10 @@ const FRAME_SIZE = 512;
|
|
|
5381
5360
|
});
|
|
5382
5361
|
;// ./components/ChatWindow.vue?vue&type=script&lang=js
|
|
5383
5362
|
/* harmony default export */ var components_ChatWindowvue_type_script_lang_js = (ChatWindowvue_type_script_lang_js);
|
|
5384
|
-
;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-12.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/ChatWindow.vue?vue&type=style&index=0&id=
|
|
5363
|
+
;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-12.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-12.use[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/ChatWindow.vue?vue&type=style&index=0&id=5792943c&prod&scoped=true&lang=css
|
|
5385
5364
|
// extracted by mini-css-extract-plugin
|
|
5386
5365
|
|
|
5387
|
-
;// ./components/ChatWindow.vue?vue&type=style&index=0&id=
|
|
5366
|
+
;// ./components/ChatWindow.vue?vue&type=style&index=0&id=5792943c&prod&scoped=true&lang=css
|
|
5388
5367
|
|
|
5389
5368
|
;// ./components/ChatWindow.vue
|
|
5390
5369
|
|
|
@@ -5401,7 +5380,7 @@ var ChatWindow_component = normalizeComponent(
|
|
|
5401
5380
|
staticRenderFns,
|
|
5402
5381
|
false,
|
|
5403
5382
|
null,
|
|
5404
|
-
"
|
|
5383
|
+
"5792943c",
|
|
5405
5384
|
null
|
|
5406
5385
|
|
|
5407
5386
|
)
|