byt-lingxiao-ai 0.3.0 → 0.3.3
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/AiMessage.vue +39 -21
- package/components/ChatAvatar.vue +8 -1
- package/components/ChatMessageList.vue +29 -10
- package/components/ChatRobot.vue +5 -0
- package/components/ChatWindow.vue +115 -5
- package/components/ChatWindowHeader.vue +3 -0
- package/components/assets/arrow.png +0 -0
- package/components/assets/empty.png +0 -0
- package/components/assets/entering.png +0 -0
- package/components/assets/logo.png +0 -0
- package/components/assets/normal.png +0 -0
- package/components/assets/output.png +0 -0
- package/components/assets/speaking.png +0 -0
- package/components/assets/think.png +0 -0
- package/components/assets/thinking.png +0 -0
- package/components/assets/waiting.png +0 -0
- package/components/config/index.js +4 -0
- package/components/mixins/messageMixin.js +11 -5
- package/dist/img/empty.f36cb82e.png +0 -0
- package/dist/img/entering.4ef198fb.png +0 -0
- package/dist/img/normal.30197a82.png +0 -0
- package/dist/img/output.1dfa94eb.png +0 -0
- package/dist/img/speaking.fa87fedb.png +0 -0
- package/dist/img/thinking.21ad5ca5.png +0 -0
- package/dist/img/waiting.460478ef.png +0 -0
- package/dist/index.common.js +222 -89
- package/dist/index.common.js.map +1 -1
- package/dist/index.css +2 -2
- package/dist/index.umd.js +222 -89
- 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
- package/components/assets/byt.mp3 +0 -0
- package/dist/img/entering.42f05909.png +0 -0
- package/dist/img/normal.13f08ecb.png +0 -0
- package/dist/img/output.85c6bd8b.png +0 -0
- package/dist/img/speaking.3ce8b666.png +0 -0
- package/dist/img/thinking.05f29a84.png +0 -0
- package/dist/img/waiting.ac21d76e.png +0 -0
package/dist/index.umd.js
CHANGED
|
@@ -28460,12 +28460,13 @@ if (typeof window !== 'undefined') {
|
|
|
28460
28460
|
var es_iterator_constructor = __webpack_require__(8111);
|
|
28461
28461
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.for-each.js
|
|
28462
28462
|
var es_iterator_for_each = __webpack_require__(7588);
|
|
28463
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.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=
|
|
28463
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.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=382b928f&scoped=true
|
|
28464
28464
|
var render = function render() {
|
|
28465
28465
|
var _vm = this,
|
|
28466
28466
|
_c = _vm._self._c;
|
|
28467
28467
|
return _c('div', {
|
|
28468
|
-
staticClass: "chat"
|
|
28468
|
+
staticClass: "chat",
|
|
28469
|
+
style: _vm.chatStyle
|
|
28469
28470
|
}, [_c('audio', {
|
|
28470
28471
|
ref: "audioPlayer",
|
|
28471
28472
|
staticClass: "hidden-audio",
|
|
@@ -28487,14 +28488,13 @@ var render = function render() {
|
|
|
28487
28488
|
"status": _vm.avaterStatus
|
|
28488
28489
|
},
|
|
28489
28490
|
on: {
|
|
28490
|
-
"
|
|
28491
|
+
"mousedown": _vm.startDrag
|
|
28491
28492
|
}
|
|
28492
28493
|
}), _c('ChatWindowDialog', {
|
|
28493
28494
|
attrs: {
|
|
28494
28495
|
"messages": _vm.messages,
|
|
28495
28496
|
"input-message": _vm.inputMessage,
|
|
28496
|
-
"think-status": _vm.thinkStatus
|
|
28497
|
-
"loading": _vm.isLoading
|
|
28497
|
+
"think-status": _vm.thinkStatus
|
|
28498
28498
|
},
|
|
28499
28499
|
on: {
|
|
28500
28500
|
"update:inputMessage": function ($event) {
|
|
@@ -28531,15 +28531,15 @@ var es_set_is_superset_of_v2 = __webpack_require__(2475);
|
|
|
28531
28531
|
var es_set_symmetric_difference_v2 = __webpack_require__(5024);
|
|
28532
28532
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.union.v2.js
|
|
28533
28533
|
var es_set_union_v2 = __webpack_require__(1698);
|
|
28534
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.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/ChatRobot.vue?vue&type=template&id=
|
|
28535
|
-
var
|
|
28534
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.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/ChatRobot.vue?vue&type=template&id=ad4ce922&scoped=true
|
|
28535
|
+
var ChatRobotvue_type_template_id_ad4ce922_scoped_true_render = function render() {
|
|
28536
28536
|
var _vm = this,
|
|
28537
28537
|
_c = _vm._self._c;
|
|
28538
28538
|
return _c('div', {
|
|
28539
28539
|
class: ['chat-robot', _vm.status]
|
|
28540
28540
|
});
|
|
28541
28541
|
};
|
|
28542
|
-
var
|
|
28542
|
+
var ChatRobotvue_type_template_id_ad4ce922_scoped_true_staticRenderFns = [];
|
|
28543
28543
|
|
|
28544
28544
|
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/ChatRobot.vue?vue&type=script&lang=js
|
|
28545
28545
|
/* harmony default export */ var ChatRobotvue_type_script_lang_js = ({
|
|
@@ -28550,14 +28550,19 @@ var ChatRobotvue_type_template_id_3d936cb2_scoped_true_staticRenderFns = [];
|
|
|
28550
28550
|
required: true,
|
|
28551
28551
|
validator: value => ['entering', 'waiting', 'speaking'].includes(value)
|
|
28552
28552
|
}
|
|
28553
|
+
},
|
|
28554
|
+
watch: {
|
|
28555
|
+
status(newStatus, oldStatus) {
|
|
28556
|
+
console.log('机器人状态变化:', newStatus, oldStatus);
|
|
28557
|
+
}
|
|
28553
28558
|
}
|
|
28554
28559
|
});
|
|
28555
28560
|
;// ./components/ChatRobot.vue?vue&type=script&lang=js
|
|
28556
28561
|
/* harmony default export */ var components_ChatRobotvue_type_script_lang_js = (ChatRobotvue_type_script_lang_js);
|
|
28557
|
-
;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-54.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-54.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-54.use[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/ChatRobot.vue?vue&type=style&index=0&id=
|
|
28562
|
+
;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-54.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-54.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-54.use[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/ChatRobot.vue?vue&type=style&index=0&id=ad4ce922&prod&scoped=true&lang=css
|
|
28558
28563
|
// extracted by mini-css-extract-plugin
|
|
28559
28564
|
|
|
28560
|
-
;// ./components/ChatRobot.vue?vue&type=style&index=0&id=
|
|
28565
|
+
;// ./components/ChatRobot.vue?vue&type=style&index=0&id=ad4ce922&prod&scoped=true&lang=css
|
|
28561
28566
|
|
|
28562
28567
|
;// ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
|
|
28563
28568
|
/* globals __VUE_SSR_CONTEXT__ */
|
|
@@ -28668,25 +28673,25 @@ function normalizeComponent(
|
|
|
28668
28673
|
|
|
28669
28674
|
var component = normalizeComponent(
|
|
28670
28675
|
components_ChatRobotvue_type_script_lang_js,
|
|
28671
|
-
|
|
28672
|
-
|
|
28676
|
+
ChatRobotvue_type_template_id_ad4ce922_scoped_true_render,
|
|
28677
|
+
ChatRobotvue_type_template_id_ad4ce922_scoped_true_staticRenderFns,
|
|
28673
28678
|
false,
|
|
28674
28679
|
null,
|
|
28675
|
-
"
|
|
28680
|
+
"ad4ce922",
|
|
28676
28681
|
null
|
|
28677
28682
|
|
|
28678
28683
|
)
|
|
28679
28684
|
|
|
28680
28685
|
/* harmony default export */ var ChatRobot = (component.exports);
|
|
28681
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.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/ChatAvatar.vue?vue&type=template&id=
|
|
28682
|
-
var
|
|
28686
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.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/ChatAvatar.vue?vue&type=template&id=45540794&scoped=true
|
|
28687
|
+
var ChatAvatarvue_type_template_id_45540794_scoped_true_render = function render() {
|
|
28683
28688
|
var _vm = this,
|
|
28684
28689
|
_c = _vm._self._c;
|
|
28685
28690
|
return _c('div', {
|
|
28686
28691
|
staticClass: "chat-ai",
|
|
28687
28692
|
on: {
|
|
28688
|
-
"
|
|
28689
|
-
return _vm.$emit('
|
|
28693
|
+
"mousedown": function ($event) {
|
|
28694
|
+
return _vm.$emit('mousedown');
|
|
28690
28695
|
}
|
|
28691
28696
|
}
|
|
28692
28697
|
}, [_c('div', {
|
|
@@ -28695,7 +28700,7 @@ var ChatAvatarvue_type_template_id_0c02b1ca_scoped_true_render = function render
|
|
|
28695
28700
|
staticClass: "chat-ai-text"
|
|
28696
28701
|
}, [_vm._v(_vm._s(_vm.statusText))])]);
|
|
28697
28702
|
};
|
|
28698
|
-
var
|
|
28703
|
+
var ChatAvatarvue_type_template_id_45540794_scoped_true_staticRenderFns = [];
|
|
28699
28704
|
|
|
28700
28705
|
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/ChatAvatar.vue?vue&type=script&lang=js
|
|
28701
28706
|
/* harmony default export */ var ChatAvatarvue_type_script_lang_js = ({
|
|
@@ -28720,10 +28725,10 @@ var ChatAvatarvue_type_template_id_0c02b1ca_scoped_true_staticRenderFns = [];
|
|
|
28720
28725
|
});
|
|
28721
28726
|
;// ./components/ChatAvatar.vue?vue&type=script&lang=js
|
|
28722
28727
|
/* harmony default export */ var components_ChatAvatarvue_type_script_lang_js = (ChatAvatarvue_type_script_lang_js);
|
|
28723
|
-
;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-54.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-54.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-54.use[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/ChatAvatar.vue?vue&type=style&index=0&id=
|
|
28728
|
+
;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-54.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-54.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-54.use[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/ChatAvatar.vue?vue&type=style&index=0&id=45540794&prod&scoped=true&lang=css
|
|
28724
28729
|
// extracted by mini-css-extract-plugin
|
|
28725
28730
|
|
|
28726
|
-
;// ./components/ChatAvatar.vue?vue&type=style&index=0&id=
|
|
28731
|
+
;// ./components/ChatAvatar.vue?vue&type=style&index=0&id=45540794&prod&scoped=true&lang=css
|
|
28727
28732
|
|
|
28728
28733
|
;// ./components/ChatAvatar.vue
|
|
28729
28734
|
|
|
@@ -28736,11 +28741,11 @@ var ChatAvatarvue_type_template_id_0c02b1ca_scoped_true_staticRenderFns = [];
|
|
|
28736
28741
|
|
|
28737
28742
|
var ChatAvatar_component = normalizeComponent(
|
|
28738
28743
|
components_ChatAvatarvue_type_script_lang_js,
|
|
28739
|
-
|
|
28740
|
-
|
|
28744
|
+
ChatAvatarvue_type_template_id_45540794_scoped_true_render,
|
|
28745
|
+
ChatAvatarvue_type_template_id_45540794_scoped_true_staticRenderFns,
|
|
28741
28746
|
false,
|
|
28742
28747
|
null,
|
|
28743
|
-
"
|
|
28748
|
+
"45540794",
|
|
28744
28749
|
null
|
|
28745
28750
|
|
|
28746
28751
|
)
|
|
@@ -28804,8 +28809,8 @@ var ChatWindowDialogvue_type_template_id_1424b8b1_scoped_true_render = function
|
|
|
28804
28809
|
};
|
|
28805
28810
|
var ChatWindowDialogvue_type_template_id_1424b8b1_scoped_true_staticRenderFns = [];
|
|
28806
28811
|
|
|
28807
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.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=
|
|
28808
|
-
var
|
|
28812
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.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=428ec56e&scoped=true
|
|
28813
|
+
var ChatWindowHeadervue_type_template_id_428ec56e_scoped_true_render = function render() {
|
|
28809
28814
|
var _vm = this,
|
|
28810
28815
|
_c = _vm._self._c;
|
|
28811
28816
|
return _c('div', {
|
|
@@ -28890,13 +28895,15 @@ var ChatWindowHeadervue_type_template_id_90ac64ba_scoped_true_render = function
|
|
|
28890
28895
|
}
|
|
28891
28896
|
})])])]);
|
|
28892
28897
|
};
|
|
28893
|
-
var
|
|
28898
|
+
var ChatWindowHeadervue_type_template_id_428ec56e_scoped_true_staticRenderFns = [];
|
|
28894
28899
|
|
|
28895
28900
|
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/ChatWindowHeader.vue?vue&type=script&lang=js
|
|
28896
28901
|
/* harmony default export */ var ChatWindowHeadervue_type_script_lang_js = ({
|
|
28897
28902
|
name: 'ChatWindowHeader',
|
|
28898
28903
|
methods: {
|
|
28899
28904
|
handleOpen() {
|
|
28905
|
+
// const chatId = ''
|
|
28906
|
+
// const baseUrl = window.location.protocol + '//' + window.location.hostname + ':3100/c/' + chatId;
|
|
28900
28907
|
const baseUrl = window.location.protocol + '//' + window.location.hostname + ':3100/';
|
|
28901
28908
|
window.open(baseUrl, '_blank');
|
|
28902
28909
|
}
|
|
@@ -28904,10 +28911,10 @@ var ChatWindowHeadervue_type_template_id_90ac64ba_scoped_true_staticRenderFns =
|
|
|
28904
28911
|
});
|
|
28905
28912
|
;// ./components/ChatWindowHeader.vue?vue&type=script&lang=js
|
|
28906
28913
|
/* harmony default export */ var components_ChatWindowHeadervue_type_script_lang_js = (ChatWindowHeadervue_type_script_lang_js);
|
|
28907
|
-
;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-54.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-54.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-54.use[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/ChatWindowHeader.vue?vue&type=style&index=0&id=
|
|
28914
|
+
;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-54.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-54.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-54.use[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/ChatWindowHeader.vue?vue&type=style&index=0&id=428ec56e&prod&scoped=true&lang=css
|
|
28908
28915
|
// extracted by mini-css-extract-plugin
|
|
28909
28916
|
|
|
28910
|
-
;// ./components/ChatWindowHeader.vue?vue&type=style&index=0&id=
|
|
28917
|
+
;// ./components/ChatWindowHeader.vue?vue&type=style&index=0&id=428ec56e&prod&scoped=true&lang=css
|
|
28911
28918
|
|
|
28912
28919
|
;// ./components/ChatWindowHeader.vue
|
|
28913
28920
|
|
|
@@ -28920,24 +28927,26 @@ var ChatWindowHeadervue_type_template_id_90ac64ba_scoped_true_staticRenderFns =
|
|
|
28920
28927
|
|
|
28921
28928
|
var ChatWindowHeader_component = normalizeComponent(
|
|
28922
28929
|
components_ChatWindowHeadervue_type_script_lang_js,
|
|
28923
|
-
|
|
28924
|
-
|
|
28930
|
+
ChatWindowHeadervue_type_template_id_428ec56e_scoped_true_render,
|
|
28931
|
+
ChatWindowHeadervue_type_template_id_428ec56e_scoped_true_staticRenderFns,
|
|
28925
28932
|
false,
|
|
28926
28933
|
null,
|
|
28927
|
-
"
|
|
28934
|
+
"428ec56e",
|
|
28928
28935
|
null
|
|
28929
28936
|
|
|
28930
28937
|
)
|
|
28931
28938
|
|
|
28932
28939
|
/* harmony default export */ var ChatWindowHeader = (ChatWindowHeader_component.exports);
|
|
28933
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.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/ChatMessageList.vue?vue&type=template&id=
|
|
28934
|
-
var
|
|
28940
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.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/ChatMessageList.vue?vue&type=template&id=dfc4454c&scoped=true
|
|
28941
|
+
var ChatMessageListvue_type_template_id_dfc4454c_scoped_true_render = function render() {
|
|
28935
28942
|
var _vm = this,
|
|
28936
28943
|
_c = _vm._self._c;
|
|
28937
28944
|
return _c('div', {
|
|
28938
28945
|
ref: "chatArea",
|
|
28939
28946
|
staticClass: "chat-window-content scrollbar-hide"
|
|
28940
|
-
}, _vm.
|
|
28947
|
+
}, [_vm.messages.length === 0 ? _c('div', {
|
|
28948
|
+
staticClass: "chat-window-empty"
|
|
28949
|
+
}) : _vm._e(), _vm._l(_vm.messages, function (message) {
|
|
28941
28950
|
return _c('div', {
|
|
28942
28951
|
key: message.id,
|
|
28943
28952
|
staticClass: "chat-window-message"
|
|
@@ -28948,18 +28957,17 @@ var ChatMessageListvue_type_template_id_53715846_scoped_true_render = function r
|
|
|
28948
28957
|
}) : _c('AiMessage', {
|
|
28949
28958
|
attrs: {
|
|
28950
28959
|
"message": message,
|
|
28951
|
-
"think-status": _vm.thinkStatus
|
|
28952
|
-
"loading": _vm.isLoading
|
|
28960
|
+
"think-status": _vm.thinkStatus
|
|
28953
28961
|
},
|
|
28954
28962
|
on: {
|
|
28955
|
-
"thinking-
|
|
28956
|
-
return _vm
|
|
28963
|
+
"thinking-toggle": function ($event) {
|
|
28964
|
+
return _vm.handleThinkingToggle(message);
|
|
28957
28965
|
}
|
|
28958
28966
|
}
|
|
28959
28967
|
})], 1);
|
|
28960
|
-
}),
|
|
28968
|
+
})], 2);
|
|
28961
28969
|
};
|
|
28962
|
-
var
|
|
28970
|
+
var ChatMessageListvue_type_template_id_dfc4454c_scoped_true_staticRenderFns = [];
|
|
28963
28971
|
|
|
28964
28972
|
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.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/UserMessage.vue?vue&type=template&id=6a2b6167&scoped=true
|
|
28965
28973
|
var UserMessagevue_type_template_id_6a2b6167_scoped_true_render = function render() {
|
|
@@ -29011,15 +29019,15 @@ var UserMessage_component = normalizeComponent(
|
|
|
29011
29019
|
)
|
|
29012
29020
|
|
|
29013
29021
|
/* harmony default export */ var UserMessage = (UserMessage_component.exports);
|
|
29014
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.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/AiMessage.vue?vue&type=template&id=
|
|
29015
|
-
var
|
|
29022
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.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/AiMessage.vue?vue&type=template&id=6e022f2c&scoped=true
|
|
29023
|
+
var AiMessagevue_type_template_id_6e022f2c_scoped_true_render = function render() {
|
|
29016
29024
|
var _vm = this,
|
|
29017
29025
|
_c = _vm._self._c;
|
|
29018
29026
|
return _c('div', {
|
|
29019
29027
|
staticClass: "chat-window-message-ai"
|
|
29020
29028
|
}, [_c('div', {
|
|
29021
29029
|
staticClass: "ai-render"
|
|
29022
|
-
}, [_vm.
|
|
29030
|
+
}, [_vm.isLoading ? _c('div', {
|
|
29023
29031
|
staticClass: "ai-loading"
|
|
29024
29032
|
}, [_c('div', {
|
|
29025
29033
|
staticClass: "dot"
|
|
@@ -29031,12 +29039,12 @@ var AiMessagevue_type_template_id_a8b0fba0_scoped_true_render = function render(
|
|
|
29031
29039
|
staticClass: "ai-thinking",
|
|
29032
29040
|
on: {
|
|
29033
29041
|
"click": function ($event) {
|
|
29034
|
-
return _vm.$emit('thinking-
|
|
29042
|
+
return _vm.$emit('thinking-toggle');
|
|
29035
29043
|
}
|
|
29036
29044
|
}
|
|
29037
29045
|
}, [_c('div', {
|
|
29038
29046
|
staticClass: "ai-thinking-time"
|
|
29039
|
-
}, [_vm._v(
|
|
29047
|
+
}, [_vm._v(_vm._s(_vm.message.time ? `思考用时${_vm.message.time}秒` : '思考中...'))]), _vm.thinkingExpanded ? _c('div', {
|
|
29040
29048
|
staticClass: "ai-thinking-content"
|
|
29041
29049
|
}, [_vm._v(_vm._s(_vm.message.thinking))]) : _vm._e()]) : _vm._e(), _c('div', {
|
|
29042
29050
|
staticClass: "ai-content markdown-body",
|
|
@@ -29045,7 +29053,7 @@ var AiMessagevue_type_template_id_a8b0fba0_scoped_true_render = function render(
|
|
|
29045
29053
|
}
|
|
29046
29054
|
})])]);
|
|
29047
29055
|
};
|
|
29048
|
-
var
|
|
29056
|
+
var AiMessagevue_type_template_id_6e022f2c_scoped_true_staticRenderFns = [];
|
|
29049
29057
|
|
|
29050
29058
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.filter.js
|
|
29051
29059
|
var es_iterator_filter = __webpack_require__(2489);
|
|
@@ -30856,13 +30864,20 @@ function parseMarkdown(text) {
|
|
|
30856
30864
|
html = html.replace(/(<li>.*?<\/li>)/gs, '<ul>$1</ul>');
|
|
30857
30865
|
html = html.replace(/^\s*\d+\.\s+(.+)$/gm, '<li>$1</li>');
|
|
30858
30866
|
html = html.replace(/^>\s+(.+)$/gm, '<blockquote>$1</blockquote>');
|
|
30867
|
+
// 解析Markdown链接
|
|
30859
30868
|
html = html.replace(/\[([^\]]+)\]\(([^)]+)\)/g, '<a href="$2" target="_blank">$1</a>');
|
|
30860
30869
|
html = html.replace(/!\[([^\]]*)\]\(([^)]+)\)/g, '<img src="$2" alt="$1" />');
|
|
30861
30870
|
html = html.replace(/^-{3,}$/gm, '<hr>');
|
|
30862
|
-
|
|
30871
|
+
// 解析简单URL
|
|
30872
|
+
const simpleUrlRegex = /(https?:\/\/[^\s<>"']+)/g;
|
|
30873
|
+
html = html.replace(simpleUrlRegex, match => {
|
|
30874
|
+
return `<a href="${match}" aria-current="page">${match}</a>`;
|
|
30875
|
+
});
|
|
30876
|
+
|
|
30877
|
+
// html = html.replace(/\n/g, '<br>');
|
|
30878
|
+
|
|
30863
30879
|
return html;
|
|
30864
30880
|
}
|
|
30865
|
-
|
|
30866
30881
|
// 解析表格
|
|
30867
30882
|
function parseTable(text) {
|
|
30868
30883
|
const lines = text.split('\n');
|
|
@@ -30899,7 +30914,6 @@ function parseTable(text) {
|
|
|
30899
30914
|
}
|
|
30900
30915
|
return result.join('\n');
|
|
30901
30916
|
}
|
|
30902
|
-
|
|
30903
30917
|
// 渲染表格
|
|
30904
30918
|
function renderTable(rows) {
|
|
30905
30919
|
if (rows.length < 2) return rows.join('\n');
|
|
@@ -30920,7 +30934,7 @@ function renderTable(rows) {
|
|
|
30920
30934
|
if (cells.length > 0) {
|
|
30921
30935
|
html += '<tr>';
|
|
30922
30936
|
cells.forEach(cell => {
|
|
30923
|
-
html += `<td>${cell.trim()}</td>`;
|
|
30937
|
+
html += `<td><div class="table-cell">${cell.trim()}</div></td>`;
|
|
30924
30938
|
});
|
|
30925
30939
|
html += '</tr>';
|
|
30926
30940
|
}
|
|
@@ -30929,7 +30943,6 @@ function renderTable(rows) {
|
|
|
30929
30943
|
html += '</table></div>';
|
|
30930
30944
|
return html;
|
|
30931
30945
|
}
|
|
30932
|
-
|
|
30933
30946
|
// HTML 转义
|
|
30934
30947
|
function escapeHtml(text) {
|
|
30935
30948
|
const map = {
|
|
@@ -30947,19 +30960,17 @@ function escapeHtml(text) {
|
|
|
30947
30960
|
message: {
|
|
30948
30961
|
type: Object,
|
|
30949
30962
|
required: true
|
|
30950
|
-
},
|
|
30951
|
-
thinkStatus: {
|
|
30952
|
-
type: Boolean,
|
|
30953
|
-
default: true
|
|
30954
|
-
},
|
|
30955
|
-
loading: {
|
|
30956
|
-
type: Boolean,
|
|
30957
|
-
default: false
|
|
30958
30963
|
}
|
|
30959
30964
|
},
|
|
30960
30965
|
computed: {
|
|
30966
|
+
thinkingExpanded() {
|
|
30967
|
+
return this.message.thinkingExpanded !== false;
|
|
30968
|
+
},
|
|
30961
30969
|
renderedContent() {
|
|
30962
30970
|
return parseMarkdown(this.message.content);
|
|
30971
|
+
},
|
|
30972
|
+
isLoading() {
|
|
30973
|
+
return this.message.loading === true;
|
|
30963
30974
|
}
|
|
30964
30975
|
},
|
|
30965
30976
|
watch: {
|
|
@@ -30970,10 +30981,10 @@ function escapeHtml(text) {
|
|
|
30970
30981
|
});
|
|
30971
30982
|
;// ./components/AiMessage.vue?vue&type=script&lang=js
|
|
30972
30983
|
/* harmony default export */ var components_AiMessagevue_type_script_lang_js = (AiMessagevue_type_script_lang_js);
|
|
30973
|
-
;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-54.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-54.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-54.use[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/AiMessage.vue?vue&type=style&index=0&id=
|
|
30984
|
+
;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-54.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-54.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-54.use[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/AiMessage.vue?vue&type=style&index=0&id=6e022f2c&prod&scoped=true&lang=css
|
|
30974
30985
|
// extracted by mini-css-extract-plugin
|
|
30975
30986
|
|
|
30976
|
-
;// ./components/AiMessage.vue?vue&type=style&index=0&id=
|
|
30987
|
+
;// ./components/AiMessage.vue?vue&type=style&index=0&id=6e022f2c&prod&scoped=true&lang=css
|
|
30977
30988
|
|
|
30978
30989
|
;// ./components/AiMessage.vue
|
|
30979
30990
|
|
|
@@ -30986,11 +30997,11 @@ function escapeHtml(text) {
|
|
|
30986
30997
|
|
|
30987
30998
|
var AiMessage_component = normalizeComponent(
|
|
30988
30999
|
components_AiMessagevue_type_script_lang_js,
|
|
30989
|
-
|
|
30990
|
-
|
|
31000
|
+
AiMessagevue_type_template_id_6e022f2c_scoped_true_render,
|
|
31001
|
+
AiMessagevue_type_template_id_6e022f2c_scoped_true_staticRenderFns,
|
|
30991
31002
|
false,
|
|
30992
31003
|
null,
|
|
30993
|
-
"
|
|
31004
|
+
"6e022f2c",
|
|
30994
31005
|
null
|
|
30995
31006
|
|
|
30996
31007
|
)
|
|
@@ -31013,13 +31024,22 @@ var AiMessage_component = normalizeComponent(
|
|
|
31013
31024
|
thinkStatus: {
|
|
31014
31025
|
type: Boolean,
|
|
31015
31026
|
default: true
|
|
31016
|
-
}
|
|
31017
|
-
|
|
31018
|
-
|
|
31019
|
-
|
|
31027
|
+
}
|
|
31028
|
+
},
|
|
31029
|
+
computed: {
|
|
31030
|
+
lastMessageObject() {
|
|
31031
|
+
const len = this.messages.length;
|
|
31032
|
+
if (len === 0) {
|
|
31033
|
+
return null;
|
|
31034
|
+
}
|
|
31035
|
+
return this.messages[len - 1];
|
|
31020
31036
|
}
|
|
31021
31037
|
},
|
|
31022
31038
|
methods: {
|
|
31039
|
+
handleThinkingToggle(message) {
|
|
31040
|
+
console.log('handleThinkingToggle', message);
|
|
31041
|
+
this.$set(message, 'thinkingExpanded', !message.thinkingExpanded);
|
|
31042
|
+
},
|
|
31023
31043
|
scrollToBottom() {
|
|
31024
31044
|
this.$nextTick(() => {
|
|
31025
31045
|
const chatArea = this.$refs.chatArea;
|
|
@@ -31030,20 +31050,23 @@ var AiMessage_component = normalizeComponent(
|
|
|
31030
31050
|
}
|
|
31031
31051
|
},
|
|
31032
31052
|
watch: {
|
|
31033
|
-
|
|
31034
|
-
handler() {
|
|
31035
|
-
|
|
31053
|
+
lastMessageObject: {
|
|
31054
|
+
handler(newMsg) {
|
|
31055
|
+
if (newMsg) {
|
|
31056
|
+
this.scrollToBottom();
|
|
31057
|
+
}
|
|
31036
31058
|
},
|
|
31037
|
-
deep: true
|
|
31059
|
+
deep: true,
|
|
31060
|
+
immediate: true
|
|
31038
31061
|
}
|
|
31039
31062
|
}
|
|
31040
31063
|
});
|
|
31041
31064
|
;// ./components/ChatMessageList.vue?vue&type=script&lang=js
|
|
31042
31065
|
/* harmony default export */ var components_ChatMessageListvue_type_script_lang_js = (ChatMessageListvue_type_script_lang_js);
|
|
31043
|
-
;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-54.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-54.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-54.use[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/ChatMessageList.vue?vue&type=style&index=0&id=
|
|
31066
|
+
;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-54.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-54.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-54.use[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/ChatMessageList.vue?vue&type=style&index=0&id=dfc4454c&prod&scoped=true&lang=css
|
|
31044
31067
|
// extracted by mini-css-extract-plugin
|
|
31045
31068
|
|
|
31046
|
-
;// ./components/ChatMessageList.vue?vue&type=style&index=0&id=
|
|
31069
|
+
;// ./components/ChatMessageList.vue?vue&type=style&index=0&id=dfc4454c&prod&scoped=true&lang=css
|
|
31047
31070
|
|
|
31048
31071
|
;// ./components/ChatMessageList.vue
|
|
31049
31072
|
|
|
@@ -31056,11 +31079,11 @@ var AiMessage_component = normalizeComponent(
|
|
|
31056
31079
|
|
|
31057
31080
|
var ChatMessageList_component = normalizeComponent(
|
|
31058
31081
|
components_ChatMessageListvue_type_script_lang_js,
|
|
31059
|
-
|
|
31060
|
-
|
|
31082
|
+
ChatMessageListvue_type_template_id_dfc4454c_scoped_true_render,
|
|
31083
|
+
ChatMessageListvue_type_template_id_dfc4454c_scoped_true_staticRenderFns,
|
|
31061
31084
|
false,
|
|
31062
31085
|
null,
|
|
31063
|
-
"
|
|
31086
|
+
"dfc4454c",
|
|
31064
31087
|
null
|
|
31065
31088
|
|
|
31066
31089
|
)
|
|
@@ -31376,6 +31399,9 @@ var es_typed_array_with = __webpack_require__(9577);
|
|
|
31376
31399
|
}
|
|
31377
31400
|
});
|
|
31378
31401
|
;// ./components/config/index.js
|
|
31402
|
+
const baseUrl = window.location.protocol + '//' + window.location.hostname;
|
|
31403
|
+
const chatPort = '3100';
|
|
31404
|
+
console.log(baseUrl, chatPort);
|
|
31379
31405
|
const API_URL = 'http://192.168.8.87:3100/lingxiao-byt/api/v1/mcp/ask';
|
|
31380
31406
|
const WS_URL = 'ws://192.168.8.9:9999/ai_model/ws/voice-stream';
|
|
31381
31407
|
const AUDIO_URL = '/minio/lingxiaoai/byt.mp3';
|
|
@@ -31767,8 +31793,7 @@ class StreamParser {
|
|
|
31767
31793
|
/* harmony default export */ var messageMixin = ({
|
|
31768
31794
|
data() {
|
|
31769
31795
|
return {
|
|
31770
|
-
streamParser: null
|
|
31771
|
-
isLoading: false
|
|
31796
|
+
streamParser: null
|
|
31772
31797
|
};
|
|
31773
31798
|
},
|
|
31774
31799
|
created() {
|
|
@@ -31778,7 +31803,6 @@ class StreamParser {
|
|
|
31778
31803
|
// 约60fps
|
|
31779
31804
|
debug: "production" === 'development'
|
|
31780
31805
|
});
|
|
31781
|
-
this.isLoading = true;
|
|
31782
31806
|
},
|
|
31783
31807
|
methods: {
|
|
31784
31808
|
createAiMessage() {
|
|
@@ -31789,7 +31813,9 @@ class StreamParser {
|
|
|
31789
31813
|
time: '',
|
|
31790
31814
|
thinking: '',
|
|
31791
31815
|
charts: [],
|
|
31792
|
-
content: ''
|
|
31816
|
+
content: '',
|
|
31817
|
+
loading: true,
|
|
31818
|
+
thinkingExpanded: true
|
|
31793
31819
|
};
|
|
31794
31820
|
this.messages.push(message);
|
|
31795
31821
|
this.currentMessage = message;
|
|
@@ -31852,14 +31878,17 @@ class StreamParser {
|
|
|
31852
31878
|
}
|
|
31853
31879
|
console.log(`流处理完成,总耗时: ${duration}ms`);
|
|
31854
31880
|
this.avaterStatus = 'normal';
|
|
31855
|
-
this.isLoading = false;
|
|
31856
31881
|
} catch (error) {
|
|
31857
31882
|
console.error('发送消息失败:', error);
|
|
31858
31883
|
if (this.currentMessage) {
|
|
31859
31884
|
this.currentMessage.content = '抱歉,发生了错误,请重试。';
|
|
31860
31885
|
this.$forceUpdate();
|
|
31861
31886
|
}
|
|
31862
|
-
|
|
31887
|
+
} finally {
|
|
31888
|
+
// 确保加载状态关闭
|
|
31889
|
+
if (this.currentMessage) {
|
|
31890
|
+
this.currentMessage.loading = false;
|
|
31891
|
+
}
|
|
31863
31892
|
}
|
|
31864
31893
|
},
|
|
31865
31894
|
/**
|
|
@@ -31896,7 +31925,9 @@ class StreamParser {
|
|
|
31896
31925
|
handleStreamUpdate(result) {
|
|
31897
31926
|
if (!this.currentMessage) return;
|
|
31898
31927
|
console.log('收到更新:', result);
|
|
31899
|
-
|
|
31928
|
+
if (this.currentMessage.loading) {
|
|
31929
|
+
this.currentMessage.loading = false;
|
|
31930
|
+
}
|
|
31900
31931
|
// 更新思考内容
|
|
31901
31932
|
if (result.thinking) {
|
|
31902
31933
|
this.currentMessage.thinking += result.thinking;
|
|
@@ -31971,14 +32002,45 @@ const FRAME_SIZE = 512;
|
|
|
31971
32002
|
thinkStatus: true,
|
|
31972
32003
|
jumpedTimePoints: new Set(),
|
|
31973
32004
|
SAMPLE_RATE,
|
|
31974
|
-
FRAME_SIZE
|
|
32005
|
+
FRAME_SIZE,
|
|
32006
|
+
dragThreshold: 5,
|
|
32007
|
+
// 拖拽阈值
|
|
32008
|
+
isDragging: false,
|
|
32009
|
+
dragStartX: 0,
|
|
32010
|
+
dragStartY: 0,
|
|
32011
|
+
currentX: 10,
|
|
32012
|
+
currentY: 20,
|
|
32013
|
+
initialX: 10,
|
|
32014
|
+
initialY: 20,
|
|
32015
|
+
hasMoved: false
|
|
31975
32016
|
};
|
|
31976
32017
|
},
|
|
32018
|
+
computed: {
|
|
32019
|
+
chatStyle() {
|
|
32020
|
+
if (this.robotStatus === 'leaving' && !this.visible) {
|
|
32021
|
+
return {
|
|
32022
|
+
right: `${this.currentX}px`,
|
|
32023
|
+
bottom: `${this.currentY}px`,
|
|
32024
|
+
cursor: this.isDragging ? 'grabbing' : 'grab',
|
|
32025
|
+
transition: this.isDragging ? 'none' : 'right 0.3s ease, bottom 0.3s ease'
|
|
32026
|
+
};
|
|
32027
|
+
}
|
|
32028
|
+
return {
|
|
32029
|
+
cursor: 'pointer'
|
|
32030
|
+
};
|
|
32031
|
+
}
|
|
32032
|
+
},
|
|
31977
32033
|
mounted() {
|
|
31978
32034
|
this.initWebSocket();
|
|
31979
32035
|
if (this.appendToBody) {
|
|
31980
32036
|
this.appendToBodyHandler();
|
|
31981
32037
|
}
|
|
32038
|
+
this.$nextTick(() => {
|
|
32039
|
+
const chatEl = this.$el;
|
|
32040
|
+
const style = window.getComputedStyle(chatEl);
|
|
32041
|
+
this.initialX = this.currentX = parseInt(style.right, 10) || 10;
|
|
32042
|
+
this.initialY = this.currentY = parseInt(style.bottom, 10) || 20;
|
|
32043
|
+
});
|
|
31982
32044
|
},
|
|
31983
32045
|
beforeDestroy() {
|
|
31984
32046
|
if (this.appendToBody && this.$el.parentElement === document.body) {
|
|
@@ -31986,10 +32048,74 @@ const FRAME_SIZE = 512;
|
|
|
31986
32048
|
}
|
|
31987
32049
|
this.closeWebSocket();
|
|
31988
32050
|
this.stopRecording();
|
|
32051
|
+
|
|
32052
|
+
// 移除全局事件监听器
|
|
32053
|
+
document.removeEventListener('mousemove', this.onDrag);
|
|
32054
|
+
document.removeEventListener('mouseup', this.stopDrag);
|
|
31989
32055
|
},
|
|
31990
32056
|
methods: {
|
|
31991
32057
|
toggleWindow() {
|
|
31992
32058
|
this.visible = !this.visible;
|
|
32059
|
+
if (this.visible) {
|
|
32060
|
+
this.currentX = this.initialX;
|
|
32061
|
+
this.currentY = this.initialY;
|
|
32062
|
+
}
|
|
32063
|
+
},
|
|
32064
|
+
startDrag() {
|
|
32065
|
+
console.log('startDrag');
|
|
32066
|
+
if (this.robotStatus !== 'leaving' && this.visible) return;
|
|
32067
|
+
this.isDragging = true;
|
|
32068
|
+
this.hasMoved = false;
|
|
32069
|
+
|
|
32070
|
+
// 记录鼠标的初始位置
|
|
32071
|
+
this.dragStartX = event.clientX;
|
|
32072
|
+
this.dragStartY = event.clientY;
|
|
32073
|
+
|
|
32074
|
+
// 绑定全局事件监听器
|
|
32075
|
+
document.addEventListener('mousemove', this.onDrag);
|
|
32076
|
+
document.addEventListener('mouseup', this.stopDrag);
|
|
32077
|
+
},
|
|
32078
|
+
onDrag(event) {
|
|
32079
|
+
if (!this.isDragging) return;
|
|
32080
|
+
|
|
32081
|
+
// 鼠标位移量
|
|
32082
|
+
const deltaX = event.clientX - this.dragStartX;
|
|
32083
|
+
const deltaY = event.clientY - this.dragStartY;
|
|
32084
|
+
if (Math.abs(deltaX) > this.dragThreshold || Math.abs(deltaY) > this.dragThreshold) {
|
|
32085
|
+
console.log('移动超过阈值');
|
|
32086
|
+
this.hasMoved = true; // 只要移动超过阈值,就标记为拖拽
|
|
32087
|
+
}
|
|
32088
|
+
|
|
32089
|
+
// 获取 .chat 容器的尺寸
|
|
32090
|
+
const chatEl = this.$el;
|
|
32091
|
+
const chatWidth = chatEl.offsetWidth;
|
|
32092
|
+
const chatHeight = chatEl.offsetHeight;
|
|
32093
|
+
let newX = this.currentX - deltaX;
|
|
32094
|
+
let newY = this.currentY - deltaY;
|
|
32095
|
+
|
|
32096
|
+
// 视口宽度和高度
|
|
32097
|
+
const viewportWidth = window.innerWidth;
|
|
32098
|
+
const viewportHeight = window.innerHeight;
|
|
32099
|
+
newX = Math.max(0, newX);
|
|
32100
|
+
newX = Math.min(viewportWidth - chatWidth, newX);
|
|
32101
|
+
newY = Math.max(0, newY);
|
|
32102
|
+
newY = Math.min(viewportHeight - chatHeight, newY);
|
|
32103
|
+
|
|
32104
|
+
// 更新位置
|
|
32105
|
+
this.currentX = newX;
|
|
32106
|
+
this.currentY = newY;
|
|
32107
|
+
|
|
32108
|
+
// 重新设置新的拖拽起始点,实现平滑拖拽
|
|
32109
|
+
this.dragStartX = event.clientX;
|
|
32110
|
+
this.dragStartY = event.clientY;
|
|
32111
|
+
},
|
|
32112
|
+
stopDrag() {
|
|
32113
|
+
this.isDragging = false;
|
|
32114
|
+
document.removeEventListener('mousemove', this.onDrag);
|
|
32115
|
+
document.removeEventListener('mouseup', this.stopDrag);
|
|
32116
|
+
if (!this.hasMoved) {
|
|
32117
|
+
this.toggleWindow();
|
|
32118
|
+
}
|
|
31993
32119
|
},
|
|
31994
32120
|
handleThinkingClick() {
|
|
31995
32121
|
this.thinkStatus = !this.thinkStatus;
|
|
@@ -32013,8 +32139,14 @@ const FRAME_SIZE = 512;
|
|
|
32013
32139
|
}
|
|
32014
32140
|
fetch(TIME_JUMP_POINTS_URL).then(response => response.json()).then(data => {
|
|
32015
32141
|
console.log('时间跳转点:', data);
|
|
32142
|
+
console.log('当前时间:', currentTime);
|
|
32016
32143
|
data.forEach(point => {
|
|
32017
|
-
|
|
32144
|
+
console.log('跳转点:', point);
|
|
32145
|
+
console.log('跳转时间:', point.time);
|
|
32146
|
+
console.log('当前时间:', currentTime);
|
|
32147
|
+
console.log('是否已跳转:', this.jumpedTimePoints.has(point.time));
|
|
32148
|
+
console.log('跳转时间范围:', currentTime >= point.time && currentTime < point.time + 1);
|
|
32149
|
+
if (currentTime >= point.time && currentTime < point.time + 1 && !this.jumpedTimePoints.has(point.time)) {
|
|
32018
32150
|
this.jumpedTimePoints.add(point.time);
|
|
32019
32151
|
this.$appOptions.store.dispatch('tags/addTagview', {
|
|
32020
32152
|
path: point.url,
|
|
@@ -32036,16 +32168,17 @@ const FRAME_SIZE = 512;
|
|
|
32036
32168
|
},
|
|
32037
32169
|
onAudioEnded() {
|
|
32038
32170
|
this.robotStatus = 'leaving';
|
|
32171
|
+
this.avaterStatus = 'normal';
|
|
32039
32172
|
this.jumpedTimePoints.clear();
|
|
32040
32173
|
}
|
|
32041
32174
|
}
|
|
32042
32175
|
});
|
|
32043
32176
|
;// ./components/ChatWindow.vue?vue&type=script&lang=js
|
|
32044
32177
|
/* harmony default export */ var components_ChatWindowvue_type_script_lang_js = (ChatWindowvue_type_script_lang_js);
|
|
32045
|
-
;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-54.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-54.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-54.use[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/ChatWindow.vue?vue&type=style&index=0&id=
|
|
32178
|
+
;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-54.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-54.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-54.use[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./components/ChatWindow.vue?vue&type=style&index=0&id=382b928f&prod&scoped=true&lang=css
|
|
32046
32179
|
// extracted by mini-css-extract-plugin
|
|
32047
32180
|
|
|
32048
|
-
;// ./components/ChatWindow.vue?vue&type=style&index=0&id=
|
|
32181
|
+
;// ./components/ChatWindow.vue?vue&type=style&index=0&id=382b928f&prod&scoped=true&lang=css
|
|
32049
32182
|
|
|
32050
32183
|
;// ./components/ChatWindow.vue
|
|
32051
32184
|
|
|
@@ -32062,7 +32195,7 @@ var ChatWindow_component = normalizeComponent(
|
|
|
32062
32195
|
staticRenderFns,
|
|
32063
32196
|
false,
|
|
32064
32197
|
null,
|
|
32065
|
-
"
|
|
32198
|
+
"382b928f",
|
|
32066
32199
|
null
|
|
32067
32200
|
|
|
32068
32201
|
)
|