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.common.js
CHANGED
|
@@ -28450,12 +28450,13 @@ if (typeof window !== 'undefined') {
|
|
|
28450
28450
|
var es_iterator_constructor = __webpack_require__(8111);
|
|
28451
28451
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.for-each.js
|
|
28452
28452
|
var es_iterator_for_each = __webpack_require__(7588);
|
|
28453
|
-
;// ./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=
|
|
28453
|
+
;// ./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=382b928f&scoped=true
|
|
28454
28454
|
var render = function render() {
|
|
28455
28455
|
var _vm = this,
|
|
28456
28456
|
_c = _vm._self._c;
|
|
28457
28457
|
return _c('div', {
|
|
28458
|
-
staticClass: "chat"
|
|
28458
|
+
staticClass: "chat",
|
|
28459
|
+
style: _vm.chatStyle
|
|
28459
28460
|
}, [_c('audio', {
|
|
28460
28461
|
ref: "audioPlayer",
|
|
28461
28462
|
staticClass: "hidden-audio",
|
|
@@ -28477,14 +28478,13 @@ var render = function render() {
|
|
|
28477
28478
|
"status": _vm.avaterStatus
|
|
28478
28479
|
},
|
|
28479
28480
|
on: {
|
|
28480
|
-
"
|
|
28481
|
+
"mousedown": _vm.startDrag
|
|
28481
28482
|
}
|
|
28482
28483
|
}), _c('ChatWindowDialog', {
|
|
28483
28484
|
attrs: {
|
|
28484
28485
|
"messages": _vm.messages,
|
|
28485
28486
|
"input-message": _vm.inputMessage,
|
|
28486
|
-
"think-status": _vm.thinkStatus
|
|
28487
|
-
"loading": _vm.isLoading
|
|
28487
|
+
"think-status": _vm.thinkStatus
|
|
28488
28488
|
},
|
|
28489
28489
|
on: {
|
|
28490
28490
|
"update:inputMessage": function ($event) {
|
|
@@ -28521,15 +28521,15 @@ var es_set_is_superset_of_v2 = __webpack_require__(2475);
|
|
|
28521
28521
|
var es_set_symmetric_difference_v2 = __webpack_require__(5024);
|
|
28522
28522
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.set.union.v2.js
|
|
28523
28523
|
var es_set_union_v2 = __webpack_require__(1698);
|
|
28524
|
-
;// ./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/ChatRobot.vue?vue&type=template&id=
|
|
28525
|
-
var
|
|
28524
|
+
;// ./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/ChatRobot.vue?vue&type=template&id=ad4ce922&scoped=true
|
|
28525
|
+
var ChatRobotvue_type_template_id_ad4ce922_scoped_true_render = function render() {
|
|
28526
28526
|
var _vm = this,
|
|
28527
28527
|
_c = _vm._self._c;
|
|
28528
28528
|
return _c('div', {
|
|
28529
28529
|
class: ['chat-robot', _vm.status]
|
|
28530
28530
|
});
|
|
28531
28531
|
};
|
|
28532
|
-
var
|
|
28532
|
+
var ChatRobotvue_type_template_id_ad4ce922_scoped_true_staticRenderFns = [];
|
|
28533
28533
|
|
|
28534
28534
|
;// ./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/ChatRobot.vue?vue&type=script&lang=js
|
|
28535
28535
|
/* harmony default export */ var ChatRobotvue_type_script_lang_js = ({
|
|
@@ -28540,14 +28540,19 @@ var ChatRobotvue_type_template_id_3d936cb2_scoped_true_staticRenderFns = [];
|
|
|
28540
28540
|
required: true,
|
|
28541
28541
|
validator: value => ['entering', 'waiting', 'speaking'].includes(value)
|
|
28542
28542
|
}
|
|
28543
|
+
},
|
|
28544
|
+
watch: {
|
|
28545
|
+
status(newStatus, oldStatus) {
|
|
28546
|
+
console.log('机器人状态变化:', newStatus, oldStatus);
|
|
28547
|
+
}
|
|
28543
28548
|
}
|
|
28544
28549
|
});
|
|
28545
28550
|
;// ./components/ChatRobot.vue?vue&type=script&lang=js
|
|
28546
28551
|
/* harmony default export */ var components_ChatRobotvue_type_script_lang_js = (ChatRobotvue_type_script_lang_js);
|
|
28547
|
-
;// ./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/ChatRobot.vue?vue&type=style&index=0&id=
|
|
28552
|
+
;// ./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/ChatRobot.vue?vue&type=style&index=0&id=ad4ce922&prod&scoped=true&lang=css
|
|
28548
28553
|
// extracted by mini-css-extract-plugin
|
|
28549
28554
|
|
|
28550
|
-
;// ./components/ChatRobot.vue?vue&type=style&index=0&id=
|
|
28555
|
+
;// ./components/ChatRobot.vue?vue&type=style&index=0&id=ad4ce922&prod&scoped=true&lang=css
|
|
28551
28556
|
|
|
28552
28557
|
;// ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
|
|
28553
28558
|
/* globals __VUE_SSR_CONTEXT__ */
|
|
@@ -28658,25 +28663,25 @@ function normalizeComponent(
|
|
|
28658
28663
|
|
|
28659
28664
|
var component = normalizeComponent(
|
|
28660
28665
|
components_ChatRobotvue_type_script_lang_js,
|
|
28661
|
-
|
|
28662
|
-
|
|
28666
|
+
ChatRobotvue_type_template_id_ad4ce922_scoped_true_render,
|
|
28667
|
+
ChatRobotvue_type_template_id_ad4ce922_scoped_true_staticRenderFns,
|
|
28663
28668
|
false,
|
|
28664
28669
|
null,
|
|
28665
|
-
"
|
|
28670
|
+
"ad4ce922",
|
|
28666
28671
|
null
|
|
28667
28672
|
|
|
28668
28673
|
)
|
|
28669
28674
|
|
|
28670
28675
|
/* harmony default export */ var ChatRobot = (component.exports);
|
|
28671
|
-
;// ./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/ChatAvatar.vue?vue&type=template&id=
|
|
28672
|
-
var
|
|
28676
|
+
;// ./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/ChatAvatar.vue?vue&type=template&id=45540794&scoped=true
|
|
28677
|
+
var ChatAvatarvue_type_template_id_45540794_scoped_true_render = function render() {
|
|
28673
28678
|
var _vm = this,
|
|
28674
28679
|
_c = _vm._self._c;
|
|
28675
28680
|
return _c('div', {
|
|
28676
28681
|
staticClass: "chat-ai",
|
|
28677
28682
|
on: {
|
|
28678
|
-
"
|
|
28679
|
-
return _vm.$emit('
|
|
28683
|
+
"mousedown": function ($event) {
|
|
28684
|
+
return _vm.$emit('mousedown');
|
|
28680
28685
|
}
|
|
28681
28686
|
}
|
|
28682
28687
|
}, [_c('div', {
|
|
@@ -28685,7 +28690,7 @@ var ChatAvatarvue_type_template_id_0c02b1ca_scoped_true_render = function render
|
|
|
28685
28690
|
staticClass: "chat-ai-text"
|
|
28686
28691
|
}, [_vm._v(_vm._s(_vm.statusText))])]);
|
|
28687
28692
|
};
|
|
28688
|
-
var
|
|
28693
|
+
var ChatAvatarvue_type_template_id_45540794_scoped_true_staticRenderFns = [];
|
|
28689
28694
|
|
|
28690
28695
|
;// ./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/ChatAvatar.vue?vue&type=script&lang=js
|
|
28691
28696
|
/* harmony default export */ var ChatAvatarvue_type_script_lang_js = ({
|
|
@@ -28710,10 +28715,10 @@ var ChatAvatarvue_type_template_id_0c02b1ca_scoped_true_staticRenderFns = [];
|
|
|
28710
28715
|
});
|
|
28711
28716
|
;// ./components/ChatAvatar.vue?vue&type=script&lang=js
|
|
28712
28717
|
/* harmony default export */ var components_ChatAvatarvue_type_script_lang_js = (ChatAvatarvue_type_script_lang_js);
|
|
28713
|
-
;// ./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/ChatAvatar.vue?vue&type=style&index=0&id=
|
|
28718
|
+
;// ./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/ChatAvatar.vue?vue&type=style&index=0&id=45540794&prod&scoped=true&lang=css
|
|
28714
28719
|
// extracted by mini-css-extract-plugin
|
|
28715
28720
|
|
|
28716
|
-
;// ./components/ChatAvatar.vue?vue&type=style&index=0&id=
|
|
28721
|
+
;// ./components/ChatAvatar.vue?vue&type=style&index=0&id=45540794&prod&scoped=true&lang=css
|
|
28717
28722
|
|
|
28718
28723
|
;// ./components/ChatAvatar.vue
|
|
28719
28724
|
|
|
@@ -28726,11 +28731,11 @@ var ChatAvatarvue_type_template_id_0c02b1ca_scoped_true_staticRenderFns = [];
|
|
|
28726
28731
|
|
|
28727
28732
|
var ChatAvatar_component = normalizeComponent(
|
|
28728
28733
|
components_ChatAvatarvue_type_script_lang_js,
|
|
28729
|
-
|
|
28730
|
-
|
|
28734
|
+
ChatAvatarvue_type_template_id_45540794_scoped_true_render,
|
|
28735
|
+
ChatAvatarvue_type_template_id_45540794_scoped_true_staticRenderFns,
|
|
28731
28736
|
false,
|
|
28732
28737
|
null,
|
|
28733
|
-
"
|
|
28738
|
+
"45540794",
|
|
28734
28739
|
null
|
|
28735
28740
|
|
|
28736
28741
|
)
|
|
@@ -28794,8 +28799,8 @@ var ChatWindowDialogvue_type_template_id_1424b8b1_scoped_true_render = function
|
|
|
28794
28799
|
};
|
|
28795
28800
|
var ChatWindowDialogvue_type_template_id_1424b8b1_scoped_true_staticRenderFns = [];
|
|
28796
28801
|
|
|
28797
|
-
;// ./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=
|
|
28798
|
-
var
|
|
28802
|
+
;// ./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=428ec56e&scoped=true
|
|
28803
|
+
var ChatWindowHeadervue_type_template_id_428ec56e_scoped_true_render = function render() {
|
|
28799
28804
|
var _vm = this,
|
|
28800
28805
|
_c = _vm._self._c;
|
|
28801
28806
|
return _c('div', {
|
|
@@ -28880,13 +28885,15 @@ var ChatWindowHeadervue_type_template_id_90ac64ba_scoped_true_render = function
|
|
|
28880
28885
|
}
|
|
28881
28886
|
})])])]);
|
|
28882
28887
|
};
|
|
28883
|
-
var
|
|
28888
|
+
var ChatWindowHeadervue_type_template_id_428ec56e_scoped_true_staticRenderFns = [];
|
|
28884
28889
|
|
|
28885
28890
|
;// ./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
|
|
28886
28891
|
/* harmony default export */ var ChatWindowHeadervue_type_script_lang_js = ({
|
|
28887
28892
|
name: 'ChatWindowHeader',
|
|
28888
28893
|
methods: {
|
|
28889
28894
|
handleOpen() {
|
|
28895
|
+
// const chatId = ''
|
|
28896
|
+
// const baseUrl = window.location.protocol + '//' + window.location.hostname + ':3100/c/' + chatId;
|
|
28890
28897
|
const baseUrl = window.location.protocol + '//' + window.location.hostname + ':3100/';
|
|
28891
28898
|
window.open(baseUrl, '_blank');
|
|
28892
28899
|
}
|
|
@@ -28894,10 +28901,10 @@ var ChatWindowHeadervue_type_template_id_90ac64ba_scoped_true_staticRenderFns =
|
|
|
28894
28901
|
});
|
|
28895
28902
|
;// ./components/ChatWindowHeader.vue?vue&type=script&lang=js
|
|
28896
28903
|
/* harmony default export */ var components_ChatWindowHeadervue_type_script_lang_js = (ChatWindowHeadervue_type_script_lang_js);
|
|
28897
|
-
;// ./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=
|
|
28904
|
+
;// ./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=428ec56e&prod&scoped=true&lang=css
|
|
28898
28905
|
// extracted by mini-css-extract-plugin
|
|
28899
28906
|
|
|
28900
|
-
;// ./components/ChatWindowHeader.vue?vue&type=style&index=0&id=
|
|
28907
|
+
;// ./components/ChatWindowHeader.vue?vue&type=style&index=0&id=428ec56e&prod&scoped=true&lang=css
|
|
28901
28908
|
|
|
28902
28909
|
;// ./components/ChatWindowHeader.vue
|
|
28903
28910
|
|
|
@@ -28910,24 +28917,26 @@ var ChatWindowHeadervue_type_template_id_90ac64ba_scoped_true_staticRenderFns =
|
|
|
28910
28917
|
|
|
28911
28918
|
var ChatWindowHeader_component = normalizeComponent(
|
|
28912
28919
|
components_ChatWindowHeadervue_type_script_lang_js,
|
|
28913
|
-
|
|
28914
|
-
|
|
28920
|
+
ChatWindowHeadervue_type_template_id_428ec56e_scoped_true_render,
|
|
28921
|
+
ChatWindowHeadervue_type_template_id_428ec56e_scoped_true_staticRenderFns,
|
|
28915
28922
|
false,
|
|
28916
28923
|
null,
|
|
28917
|
-
"
|
|
28924
|
+
"428ec56e",
|
|
28918
28925
|
null
|
|
28919
28926
|
|
|
28920
28927
|
)
|
|
28921
28928
|
|
|
28922
28929
|
/* harmony default export */ var ChatWindowHeader = (ChatWindowHeader_component.exports);
|
|
28923
|
-
;// ./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/ChatMessageList.vue?vue&type=template&id=
|
|
28924
|
-
var
|
|
28930
|
+
;// ./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/ChatMessageList.vue?vue&type=template&id=dfc4454c&scoped=true
|
|
28931
|
+
var ChatMessageListvue_type_template_id_dfc4454c_scoped_true_render = function render() {
|
|
28925
28932
|
var _vm = this,
|
|
28926
28933
|
_c = _vm._self._c;
|
|
28927
28934
|
return _c('div', {
|
|
28928
28935
|
ref: "chatArea",
|
|
28929
28936
|
staticClass: "chat-window-content scrollbar-hide"
|
|
28930
|
-
}, _vm.
|
|
28937
|
+
}, [_vm.messages.length === 0 ? _c('div', {
|
|
28938
|
+
staticClass: "chat-window-empty"
|
|
28939
|
+
}) : _vm._e(), _vm._l(_vm.messages, function (message) {
|
|
28931
28940
|
return _c('div', {
|
|
28932
28941
|
key: message.id,
|
|
28933
28942
|
staticClass: "chat-window-message"
|
|
@@ -28938,18 +28947,17 @@ var ChatMessageListvue_type_template_id_53715846_scoped_true_render = function r
|
|
|
28938
28947
|
}) : _c('AiMessage', {
|
|
28939
28948
|
attrs: {
|
|
28940
28949
|
"message": message,
|
|
28941
|
-
"think-status": _vm.thinkStatus
|
|
28942
|
-
"loading": _vm.isLoading
|
|
28950
|
+
"think-status": _vm.thinkStatus
|
|
28943
28951
|
},
|
|
28944
28952
|
on: {
|
|
28945
|
-
"thinking-
|
|
28946
|
-
return _vm
|
|
28953
|
+
"thinking-toggle": function ($event) {
|
|
28954
|
+
return _vm.handleThinkingToggle(message);
|
|
28947
28955
|
}
|
|
28948
28956
|
}
|
|
28949
28957
|
})], 1);
|
|
28950
|
-
}),
|
|
28958
|
+
})], 2);
|
|
28951
28959
|
};
|
|
28952
|
-
var
|
|
28960
|
+
var ChatMessageListvue_type_template_id_dfc4454c_scoped_true_staticRenderFns = [];
|
|
28953
28961
|
|
|
28954
28962
|
;// ./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/UserMessage.vue?vue&type=template&id=6a2b6167&scoped=true
|
|
28955
28963
|
var UserMessagevue_type_template_id_6a2b6167_scoped_true_render = function render() {
|
|
@@ -29001,15 +29009,15 @@ var UserMessage_component = normalizeComponent(
|
|
|
29001
29009
|
)
|
|
29002
29010
|
|
|
29003
29011
|
/* harmony default export */ var UserMessage = (UserMessage_component.exports);
|
|
29004
|
-
;// ./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/AiMessage.vue?vue&type=template&id=
|
|
29005
|
-
var
|
|
29012
|
+
;// ./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/AiMessage.vue?vue&type=template&id=6e022f2c&scoped=true
|
|
29013
|
+
var AiMessagevue_type_template_id_6e022f2c_scoped_true_render = function render() {
|
|
29006
29014
|
var _vm = this,
|
|
29007
29015
|
_c = _vm._self._c;
|
|
29008
29016
|
return _c('div', {
|
|
29009
29017
|
staticClass: "chat-window-message-ai"
|
|
29010
29018
|
}, [_c('div', {
|
|
29011
29019
|
staticClass: "ai-render"
|
|
29012
|
-
}, [_vm.
|
|
29020
|
+
}, [_vm.isLoading ? _c('div', {
|
|
29013
29021
|
staticClass: "ai-loading"
|
|
29014
29022
|
}, [_c('div', {
|
|
29015
29023
|
staticClass: "dot"
|
|
@@ -29021,12 +29029,12 @@ var AiMessagevue_type_template_id_a8b0fba0_scoped_true_render = function render(
|
|
|
29021
29029
|
staticClass: "ai-thinking",
|
|
29022
29030
|
on: {
|
|
29023
29031
|
"click": function ($event) {
|
|
29024
|
-
return _vm.$emit('thinking-
|
|
29032
|
+
return _vm.$emit('thinking-toggle');
|
|
29025
29033
|
}
|
|
29026
29034
|
}
|
|
29027
29035
|
}, [_c('div', {
|
|
29028
29036
|
staticClass: "ai-thinking-time"
|
|
29029
|
-
}, [_vm._v(
|
|
29037
|
+
}, [_vm._v(_vm._s(_vm.message.time ? `思考用时${_vm.message.time}秒` : '思考中...'))]), _vm.thinkingExpanded ? _c('div', {
|
|
29030
29038
|
staticClass: "ai-thinking-content"
|
|
29031
29039
|
}, [_vm._v(_vm._s(_vm.message.thinking))]) : _vm._e()]) : _vm._e(), _c('div', {
|
|
29032
29040
|
staticClass: "ai-content markdown-body",
|
|
@@ -29035,7 +29043,7 @@ var AiMessagevue_type_template_id_a8b0fba0_scoped_true_render = function render(
|
|
|
29035
29043
|
}
|
|
29036
29044
|
})])]);
|
|
29037
29045
|
};
|
|
29038
|
-
var
|
|
29046
|
+
var AiMessagevue_type_template_id_6e022f2c_scoped_true_staticRenderFns = [];
|
|
29039
29047
|
|
|
29040
29048
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.filter.js
|
|
29041
29049
|
var es_iterator_filter = __webpack_require__(2489);
|
|
@@ -30846,13 +30854,20 @@ function parseMarkdown(text) {
|
|
|
30846
30854
|
html = html.replace(/(<li>.*?<\/li>)/gs, '<ul>$1</ul>');
|
|
30847
30855
|
html = html.replace(/^\s*\d+\.\s+(.+)$/gm, '<li>$1</li>');
|
|
30848
30856
|
html = html.replace(/^>\s+(.+)$/gm, '<blockquote>$1</blockquote>');
|
|
30857
|
+
// 解析Markdown链接
|
|
30849
30858
|
html = html.replace(/\[([^\]]+)\]\(([^)]+)\)/g, '<a href="$2" target="_blank">$1</a>');
|
|
30850
30859
|
html = html.replace(/!\[([^\]]*)\]\(([^)]+)\)/g, '<img src="$2" alt="$1" />');
|
|
30851
30860
|
html = html.replace(/^-{3,}$/gm, '<hr>');
|
|
30852
|
-
|
|
30861
|
+
// 解析简单URL
|
|
30862
|
+
const simpleUrlRegex = /(https?:\/\/[^\s<>"']+)/g;
|
|
30863
|
+
html = html.replace(simpleUrlRegex, match => {
|
|
30864
|
+
return `<a href="${match}" aria-current="page">${match}</a>`;
|
|
30865
|
+
});
|
|
30866
|
+
|
|
30867
|
+
// html = html.replace(/\n/g, '<br>');
|
|
30868
|
+
|
|
30853
30869
|
return html;
|
|
30854
30870
|
}
|
|
30855
|
-
|
|
30856
30871
|
// 解析表格
|
|
30857
30872
|
function parseTable(text) {
|
|
30858
30873
|
const lines = text.split('\n');
|
|
@@ -30889,7 +30904,6 @@ function parseTable(text) {
|
|
|
30889
30904
|
}
|
|
30890
30905
|
return result.join('\n');
|
|
30891
30906
|
}
|
|
30892
|
-
|
|
30893
30907
|
// 渲染表格
|
|
30894
30908
|
function renderTable(rows) {
|
|
30895
30909
|
if (rows.length < 2) return rows.join('\n');
|
|
@@ -30910,7 +30924,7 @@ function renderTable(rows) {
|
|
|
30910
30924
|
if (cells.length > 0) {
|
|
30911
30925
|
html += '<tr>';
|
|
30912
30926
|
cells.forEach(cell => {
|
|
30913
|
-
html += `<td>${cell.trim()}</td>`;
|
|
30927
|
+
html += `<td><div class="table-cell">${cell.trim()}</div></td>`;
|
|
30914
30928
|
});
|
|
30915
30929
|
html += '</tr>';
|
|
30916
30930
|
}
|
|
@@ -30919,7 +30933,6 @@ function renderTable(rows) {
|
|
|
30919
30933
|
html += '</table></div>';
|
|
30920
30934
|
return html;
|
|
30921
30935
|
}
|
|
30922
|
-
|
|
30923
30936
|
// HTML 转义
|
|
30924
30937
|
function escapeHtml(text) {
|
|
30925
30938
|
const map = {
|
|
@@ -30937,19 +30950,17 @@ function escapeHtml(text) {
|
|
|
30937
30950
|
message: {
|
|
30938
30951
|
type: Object,
|
|
30939
30952
|
required: true
|
|
30940
|
-
},
|
|
30941
|
-
thinkStatus: {
|
|
30942
|
-
type: Boolean,
|
|
30943
|
-
default: true
|
|
30944
|
-
},
|
|
30945
|
-
loading: {
|
|
30946
|
-
type: Boolean,
|
|
30947
|
-
default: false
|
|
30948
30953
|
}
|
|
30949
30954
|
},
|
|
30950
30955
|
computed: {
|
|
30956
|
+
thinkingExpanded() {
|
|
30957
|
+
return this.message.thinkingExpanded !== false;
|
|
30958
|
+
},
|
|
30951
30959
|
renderedContent() {
|
|
30952
30960
|
return parseMarkdown(this.message.content);
|
|
30961
|
+
},
|
|
30962
|
+
isLoading() {
|
|
30963
|
+
return this.message.loading === true;
|
|
30953
30964
|
}
|
|
30954
30965
|
},
|
|
30955
30966
|
watch: {
|
|
@@ -30960,10 +30971,10 @@ function escapeHtml(text) {
|
|
|
30960
30971
|
});
|
|
30961
30972
|
;// ./components/AiMessage.vue?vue&type=script&lang=js
|
|
30962
30973
|
/* harmony default export */ var components_AiMessagevue_type_script_lang_js = (AiMessagevue_type_script_lang_js);
|
|
30963
|
-
;// ./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/AiMessage.vue?vue&type=style&index=0&id=
|
|
30974
|
+
;// ./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/AiMessage.vue?vue&type=style&index=0&id=6e022f2c&prod&scoped=true&lang=css
|
|
30964
30975
|
// extracted by mini-css-extract-plugin
|
|
30965
30976
|
|
|
30966
|
-
;// ./components/AiMessage.vue?vue&type=style&index=0&id=
|
|
30977
|
+
;// ./components/AiMessage.vue?vue&type=style&index=0&id=6e022f2c&prod&scoped=true&lang=css
|
|
30967
30978
|
|
|
30968
30979
|
;// ./components/AiMessage.vue
|
|
30969
30980
|
|
|
@@ -30976,11 +30987,11 @@ function escapeHtml(text) {
|
|
|
30976
30987
|
|
|
30977
30988
|
var AiMessage_component = normalizeComponent(
|
|
30978
30989
|
components_AiMessagevue_type_script_lang_js,
|
|
30979
|
-
|
|
30980
|
-
|
|
30990
|
+
AiMessagevue_type_template_id_6e022f2c_scoped_true_render,
|
|
30991
|
+
AiMessagevue_type_template_id_6e022f2c_scoped_true_staticRenderFns,
|
|
30981
30992
|
false,
|
|
30982
30993
|
null,
|
|
30983
|
-
"
|
|
30994
|
+
"6e022f2c",
|
|
30984
30995
|
null
|
|
30985
30996
|
|
|
30986
30997
|
)
|
|
@@ -31003,13 +31014,22 @@ var AiMessage_component = normalizeComponent(
|
|
|
31003
31014
|
thinkStatus: {
|
|
31004
31015
|
type: Boolean,
|
|
31005
31016
|
default: true
|
|
31006
|
-
}
|
|
31007
|
-
|
|
31008
|
-
|
|
31009
|
-
|
|
31017
|
+
}
|
|
31018
|
+
},
|
|
31019
|
+
computed: {
|
|
31020
|
+
lastMessageObject() {
|
|
31021
|
+
const len = this.messages.length;
|
|
31022
|
+
if (len === 0) {
|
|
31023
|
+
return null;
|
|
31024
|
+
}
|
|
31025
|
+
return this.messages[len - 1];
|
|
31010
31026
|
}
|
|
31011
31027
|
},
|
|
31012
31028
|
methods: {
|
|
31029
|
+
handleThinkingToggle(message) {
|
|
31030
|
+
console.log('handleThinkingToggle', message);
|
|
31031
|
+
this.$set(message, 'thinkingExpanded', !message.thinkingExpanded);
|
|
31032
|
+
},
|
|
31013
31033
|
scrollToBottom() {
|
|
31014
31034
|
this.$nextTick(() => {
|
|
31015
31035
|
const chatArea = this.$refs.chatArea;
|
|
@@ -31020,20 +31040,23 @@ var AiMessage_component = normalizeComponent(
|
|
|
31020
31040
|
}
|
|
31021
31041
|
},
|
|
31022
31042
|
watch: {
|
|
31023
|
-
|
|
31024
|
-
handler() {
|
|
31025
|
-
|
|
31043
|
+
lastMessageObject: {
|
|
31044
|
+
handler(newMsg) {
|
|
31045
|
+
if (newMsg) {
|
|
31046
|
+
this.scrollToBottom();
|
|
31047
|
+
}
|
|
31026
31048
|
},
|
|
31027
|
-
deep: true
|
|
31049
|
+
deep: true,
|
|
31050
|
+
immediate: true
|
|
31028
31051
|
}
|
|
31029
31052
|
}
|
|
31030
31053
|
});
|
|
31031
31054
|
;// ./components/ChatMessageList.vue?vue&type=script&lang=js
|
|
31032
31055
|
/* harmony default export */ var components_ChatMessageListvue_type_script_lang_js = (ChatMessageListvue_type_script_lang_js);
|
|
31033
|
-
;// ./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/ChatMessageList.vue?vue&type=style&index=0&id=
|
|
31056
|
+
;// ./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/ChatMessageList.vue?vue&type=style&index=0&id=dfc4454c&prod&scoped=true&lang=css
|
|
31034
31057
|
// extracted by mini-css-extract-plugin
|
|
31035
31058
|
|
|
31036
|
-
;// ./components/ChatMessageList.vue?vue&type=style&index=0&id=
|
|
31059
|
+
;// ./components/ChatMessageList.vue?vue&type=style&index=0&id=dfc4454c&prod&scoped=true&lang=css
|
|
31037
31060
|
|
|
31038
31061
|
;// ./components/ChatMessageList.vue
|
|
31039
31062
|
|
|
@@ -31046,11 +31069,11 @@ var AiMessage_component = normalizeComponent(
|
|
|
31046
31069
|
|
|
31047
31070
|
var ChatMessageList_component = normalizeComponent(
|
|
31048
31071
|
components_ChatMessageListvue_type_script_lang_js,
|
|
31049
|
-
|
|
31050
|
-
|
|
31072
|
+
ChatMessageListvue_type_template_id_dfc4454c_scoped_true_render,
|
|
31073
|
+
ChatMessageListvue_type_template_id_dfc4454c_scoped_true_staticRenderFns,
|
|
31051
31074
|
false,
|
|
31052
31075
|
null,
|
|
31053
|
-
"
|
|
31076
|
+
"dfc4454c",
|
|
31054
31077
|
null
|
|
31055
31078
|
|
|
31056
31079
|
)
|
|
@@ -31366,6 +31389,9 @@ var es_typed_array_with = __webpack_require__(9577);
|
|
|
31366
31389
|
}
|
|
31367
31390
|
});
|
|
31368
31391
|
;// ./components/config/index.js
|
|
31392
|
+
const baseUrl = window.location.protocol + '//' + window.location.hostname;
|
|
31393
|
+
const chatPort = '3100';
|
|
31394
|
+
console.log(baseUrl, chatPort);
|
|
31369
31395
|
const API_URL = 'http://192.168.8.87:3100/lingxiao-byt/api/v1/mcp/ask';
|
|
31370
31396
|
const WS_URL = 'ws://192.168.8.9:9999/ai_model/ws/voice-stream';
|
|
31371
31397
|
const AUDIO_URL = '/minio/lingxiaoai/byt.mp3';
|
|
@@ -31757,8 +31783,7 @@ class StreamParser {
|
|
|
31757
31783
|
/* harmony default export */ var messageMixin = ({
|
|
31758
31784
|
data() {
|
|
31759
31785
|
return {
|
|
31760
|
-
streamParser: null
|
|
31761
|
-
isLoading: false
|
|
31786
|
+
streamParser: null
|
|
31762
31787
|
};
|
|
31763
31788
|
},
|
|
31764
31789
|
created() {
|
|
@@ -31768,7 +31793,6 @@ class StreamParser {
|
|
|
31768
31793
|
// 约60fps
|
|
31769
31794
|
debug: "production" === 'development'
|
|
31770
31795
|
});
|
|
31771
|
-
this.isLoading = true;
|
|
31772
31796
|
},
|
|
31773
31797
|
methods: {
|
|
31774
31798
|
createAiMessage() {
|
|
@@ -31779,7 +31803,9 @@ class StreamParser {
|
|
|
31779
31803
|
time: '',
|
|
31780
31804
|
thinking: '',
|
|
31781
31805
|
charts: [],
|
|
31782
|
-
content: ''
|
|
31806
|
+
content: '',
|
|
31807
|
+
loading: true,
|
|
31808
|
+
thinkingExpanded: true
|
|
31783
31809
|
};
|
|
31784
31810
|
this.messages.push(message);
|
|
31785
31811
|
this.currentMessage = message;
|
|
@@ -31842,14 +31868,17 @@ class StreamParser {
|
|
|
31842
31868
|
}
|
|
31843
31869
|
console.log(`流处理完成,总耗时: ${duration}ms`);
|
|
31844
31870
|
this.avaterStatus = 'normal';
|
|
31845
|
-
this.isLoading = false;
|
|
31846
31871
|
} catch (error) {
|
|
31847
31872
|
console.error('发送消息失败:', error);
|
|
31848
31873
|
if (this.currentMessage) {
|
|
31849
31874
|
this.currentMessage.content = '抱歉,发生了错误,请重试。';
|
|
31850
31875
|
this.$forceUpdate();
|
|
31851
31876
|
}
|
|
31852
|
-
|
|
31877
|
+
} finally {
|
|
31878
|
+
// 确保加载状态关闭
|
|
31879
|
+
if (this.currentMessage) {
|
|
31880
|
+
this.currentMessage.loading = false;
|
|
31881
|
+
}
|
|
31853
31882
|
}
|
|
31854
31883
|
},
|
|
31855
31884
|
/**
|
|
@@ -31886,7 +31915,9 @@ class StreamParser {
|
|
|
31886
31915
|
handleStreamUpdate(result) {
|
|
31887
31916
|
if (!this.currentMessage) return;
|
|
31888
31917
|
console.log('收到更新:', result);
|
|
31889
|
-
|
|
31918
|
+
if (this.currentMessage.loading) {
|
|
31919
|
+
this.currentMessage.loading = false;
|
|
31920
|
+
}
|
|
31890
31921
|
// 更新思考内容
|
|
31891
31922
|
if (result.thinking) {
|
|
31892
31923
|
this.currentMessage.thinking += result.thinking;
|
|
@@ -31961,14 +31992,45 @@ const FRAME_SIZE = 512;
|
|
|
31961
31992
|
thinkStatus: true,
|
|
31962
31993
|
jumpedTimePoints: new Set(),
|
|
31963
31994
|
SAMPLE_RATE,
|
|
31964
|
-
FRAME_SIZE
|
|
31995
|
+
FRAME_SIZE,
|
|
31996
|
+
dragThreshold: 5,
|
|
31997
|
+
// 拖拽阈值
|
|
31998
|
+
isDragging: false,
|
|
31999
|
+
dragStartX: 0,
|
|
32000
|
+
dragStartY: 0,
|
|
32001
|
+
currentX: 10,
|
|
32002
|
+
currentY: 20,
|
|
32003
|
+
initialX: 10,
|
|
32004
|
+
initialY: 20,
|
|
32005
|
+
hasMoved: false
|
|
31965
32006
|
};
|
|
31966
32007
|
},
|
|
32008
|
+
computed: {
|
|
32009
|
+
chatStyle() {
|
|
32010
|
+
if (this.robotStatus === 'leaving' && !this.visible) {
|
|
32011
|
+
return {
|
|
32012
|
+
right: `${this.currentX}px`,
|
|
32013
|
+
bottom: `${this.currentY}px`,
|
|
32014
|
+
cursor: this.isDragging ? 'grabbing' : 'grab',
|
|
32015
|
+
transition: this.isDragging ? 'none' : 'right 0.3s ease, bottom 0.3s ease'
|
|
32016
|
+
};
|
|
32017
|
+
}
|
|
32018
|
+
return {
|
|
32019
|
+
cursor: 'pointer'
|
|
32020
|
+
};
|
|
32021
|
+
}
|
|
32022
|
+
},
|
|
31967
32023
|
mounted() {
|
|
31968
32024
|
this.initWebSocket();
|
|
31969
32025
|
if (this.appendToBody) {
|
|
31970
32026
|
this.appendToBodyHandler();
|
|
31971
32027
|
}
|
|
32028
|
+
this.$nextTick(() => {
|
|
32029
|
+
const chatEl = this.$el;
|
|
32030
|
+
const style = window.getComputedStyle(chatEl);
|
|
32031
|
+
this.initialX = this.currentX = parseInt(style.right, 10) || 10;
|
|
32032
|
+
this.initialY = this.currentY = parseInt(style.bottom, 10) || 20;
|
|
32033
|
+
});
|
|
31972
32034
|
},
|
|
31973
32035
|
beforeDestroy() {
|
|
31974
32036
|
if (this.appendToBody && this.$el.parentElement === document.body) {
|
|
@@ -31976,10 +32038,74 @@ const FRAME_SIZE = 512;
|
|
|
31976
32038
|
}
|
|
31977
32039
|
this.closeWebSocket();
|
|
31978
32040
|
this.stopRecording();
|
|
32041
|
+
|
|
32042
|
+
// 移除全局事件监听器
|
|
32043
|
+
document.removeEventListener('mousemove', this.onDrag);
|
|
32044
|
+
document.removeEventListener('mouseup', this.stopDrag);
|
|
31979
32045
|
},
|
|
31980
32046
|
methods: {
|
|
31981
32047
|
toggleWindow() {
|
|
31982
32048
|
this.visible = !this.visible;
|
|
32049
|
+
if (this.visible) {
|
|
32050
|
+
this.currentX = this.initialX;
|
|
32051
|
+
this.currentY = this.initialY;
|
|
32052
|
+
}
|
|
32053
|
+
},
|
|
32054
|
+
startDrag() {
|
|
32055
|
+
console.log('startDrag');
|
|
32056
|
+
if (this.robotStatus !== 'leaving' && this.visible) return;
|
|
32057
|
+
this.isDragging = true;
|
|
32058
|
+
this.hasMoved = false;
|
|
32059
|
+
|
|
32060
|
+
// 记录鼠标的初始位置
|
|
32061
|
+
this.dragStartX = event.clientX;
|
|
32062
|
+
this.dragStartY = event.clientY;
|
|
32063
|
+
|
|
32064
|
+
// 绑定全局事件监听器
|
|
32065
|
+
document.addEventListener('mousemove', this.onDrag);
|
|
32066
|
+
document.addEventListener('mouseup', this.stopDrag);
|
|
32067
|
+
},
|
|
32068
|
+
onDrag(event) {
|
|
32069
|
+
if (!this.isDragging) return;
|
|
32070
|
+
|
|
32071
|
+
// 鼠标位移量
|
|
32072
|
+
const deltaX = event.clientX - this.dragStartX;
|
|
32073
|
+
const deltaY = event.clientY - this.dragStartY;
|
|
32074
|
+
if (Math.abs(deltaX) > this.dragThreshold || Math.abs(deltaY) > this.dragThreshold) {
|
|
32075
|
+
console.log('移动超过阈值');
|
|
32076
|
+
this.hasMoved = true; // 只要移动超过阈值,就标记为拖拽
|
|
32077
|
+
}
|
|
32078
|
+
|
|
32079
|
+
// 获取 .chat 容器的尺寸
|
|
32080
|
+
const chatEl = this.$el;
|
|
32081
|
+
const chatWidth = chatEl.offsetWidth;
|
|
32082
|
+
const chatHeight = chatEl.offsetHeight;
|
|
32083
|
+
let newX = this.currentX - deltaX;
|
|
32084
|
+
let newY = this.currentY - deltaY;
|
|
32085
|
+
|
|
32086
|
+
// 视口宽度和高度
|
|
32087
|
+
const viewportWidth = window.innerWidth;
|
|
32088
|
+
const viewportHeight = window.innerHeight;
|
|
32089
|
+
newX = Math.max(0, newX);
|
|
32090
|
+
newX = Math.min(viewportWidth - chatWidth, newX);
|
|
32091
|
+
newY = Math.max(0, newY);
|
|
32092
|
+
newY = Math.min(viewportHeight - chatHeight, newY);
|
|
32093
|
+
|
|
32094
|
+
// 更新位置
|
|
32095
|
+
this.currentX = newX;
|
|
32096
|
+
this.currentY = newY;
|
|
32097
|
+
|
|
32098
|
+
// 重新设置新的拖拽起始点,实现平滑拖拽
|
|
32099
|
+
this.dragStartX = event.clientX;
|
|
32100
|
+
this.dragStartY = event.clientY;
|
|
32101
|
+
},
|
|
32102
|
+
stopDrag() {
|
|
32103
|
+
this.isDragging = false;
|
|
32104
|
+
document.removeEventListener('mousemove', this.onDrag);
|
|
32105
|
+
document.removeEventListener('mouseup', this.stopDrag);
|
|
32106
|
+
if (!this.hasMoved) {
|
|
32107
|
+
this.toggleWindow();
|
|
32108
|
+
}
|
|
31983
32109
|
},
|
|
31984
32110
|
handleThinkingClick() {
|
|
31985
32111
|
this.thinkStatus = !this.thinkStatus;
|
|
@@ -32003,8 +32129,14 @@ const FRAME_SIZE = 512;
|
|
|
32003
32129
|
}
|
|
32004
32130
|
fetch(TIME_JUMP_POINTS_URL).then(response => response.json()).then(data => {
|
|
32005
32131
|
console.log('时间跳转点:', data);
|
|
32132
|
+
console.log('当前时间:', currentTime);
|
|
32006
32133
|
data.forEach(point => {
|
|
32007
|
-
|
|
32134
|
+
console.log('跳转点:', point);
|
|
32135
|
+
console.log('跳转时间:', point.time);
|
|
32136
|
+
console.log('当前时间:', currentTime);
|
|
32137
|
+
console.log('是否已跳转:', this.jumpedTimePoints.has(point.time));
|
|
32138
|
+
console.log('跳转时间范围:', currentTime >= point.time && currentTime < point.time + 1);
|
|
32139
|
+
if (currentTime >= point.time && currentTime < point.time + 1 && !this.jumpedTimePoints.has(point.time)) {
|
|
32008
32140
|
this.jumpedTimePoints.add(point.time);
|
|
32009
32141
|
this.$appOptions.store.dispatch('tags/addTagview', {
|
|
32010
32142
|
path: point.url,
|
|
@@ -32026,16 +32158,17 @@ const FRAME_SIZE = 512;
|
|
|
32026
32158
|
},
|
|
32027
32159
|
onAudioEnded() {
|
|
32028
32160
|
this.robotStatus = 'leaving';
|
|
32161
|
+
this.avaterStatus = 'normal';
|
|
32029
32162
|
this.jumpedTimePoints.clear();
|
|
32030
32163
|
}
|
|
32031
32164
|
}
|
|
32032
32165
|
});
|
|
32033
32166
|
;// ./components/ChatWindow.vue?vue&type=script&lang=js
|
|
32034
32167
|
/* harmony default export */ var components_ChatWindowvue_type_script_lang_js = (ChatWindowvue_type_script_lang_js);
|
|
32035
|
-
;// ./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=
|
|
32168
|
+
;// ./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=382b928f&prod&scoped=true&lang=css
|
|
32036
32169
|
// extracted by mini-css-extract-plugin
|
|
32037
32170
|
|
|
32038
|
-
;// ./components/ChatWindow.vue?vue&type=style&index=0&id=
|
|
32171
|
+
;// ./components/ChatWindow.vue?vue&type=style&index=0&id=382b928f&prod&scoped=true&lang=css
|
|
32039
32172
|
|
|
32040
32173
|
;// ./components/ChatWindow.vue
|
|
32041
32174
|
|
|
@@ -32052,7 +32185,7 @@ var ChatWindow_component = normalizeComponent(
|
|
|
32052
32185
|
staticRenderFns,
|
|
32053
32186
|
false,
|
|
32054
32187
|
null,
|
|
32055
|
-
"
|
|
32188
|
+
"382b928f",
|
|
32056
32189
|
null
|
|
32057
32190
|
|
|
32058
32191
|
)
|