2 Commits

  1. 59
      src/views/homePage.vue

59
src/views/homePage.vue

@ -375,9 +375,9 @@ const chartInteractionTimer = ref(null); // 图表交互检测定时器
// //
const getCurrentScrollContainer = () => { const getCurrentScrollContainer = () => {
if (activeTab.value === 'AIchat') {
if (activeTab.value === "AIchat") {
return tabContentAIchat.value; return tabContentAIchat.value;
} else if (activeTab.value === 'AiEmotion') {
} else if (activeTab.value === "AiEmotion") {
return tabContentAiEmotion.value; return tabContentAiEmotion.value;
} }
return null; return null;
@ -408,7 +408,12 @@ const throttledSmoothScrollToBottom = _.throttle(smoothScrollToBottom, 300, {
// AiEmotion // AiEmotion
const debouncedAiEmotionScrollToBottom = _.debounce(() => { const debouncedAiEmotionScrollToBottom = _.debounce(() => {
if (activeTab.value === 'AiEmotion' && isAiEmotionAutoScrollEnabled.value && !isAiEmotionUserScrolling.value && !isChartInteracting.value) {
if (
activeTab.value === "AiEmotion" &&
isAiEmotionAutoScrollEnabled.value &&
!isAiEmotionUserScrolling.value &&
!isChartInteracting.value
) {
const container = tabContentAiEmotion.value; const container = tabContentAiEmotion.value;
if (container) { if (container) {
container.scrollTop = container.scrollHeight - container.offsetHeight; container.scrollTop = container.scrollHeight - container.offsetHeight;
@ -425,7 +430,11 @@ const startAiEmotionHeightObserver = () => {
// ResizeObserver // ResizeObserver
aiEmotionHeightObserver.value = new ResizeObserver((entries) => { aiEmotionHeightObserver.value = new ResizeObserver((entries) => {
if (isAiEmotionAutoScrollEnabled.value && activeTab.value === 'AiEmotion' && !isChartInteracting.value) {
if (
isAiEmotionAutoScrollEnabled.value &&
activeTab.value === "AiEmotion" &&
!isChartInteracting.value
) {
debouncedAiEmotionScrollToBottom(); debouncedAiEmotionScrollToBottom();
} }
}); });
@ -456,7 +465,12 @@ const startAiEmotionHeightObserver = () => {
} }
}); });
if (shouldScroll && isAiEmotionAutoScrollEnabled.value && activeTab.value === 'AiEmotion' && !isChartInteracting.value) {
if (
shouldScroll &&
isAiEmotionAutoScrollEnabled.value &&
activeTab.value === "AiEmotion" &&
!isChartInteracting.value
) {
debouncedAiEmotionScrollToBottom(); debouncedAiEmotionScrollToBottom();
} }
}); });
@ -477,7 +491,9 @@ const startAiEmotionHeightObserver = () => {
// AiEmotion // AiEmotion
if (aiEmotionContainer) { if (aiEmotionContainer) {
aiEmotionContainer.addEventListener('scroll', handleAiEmotionUserScroll, { passive: true });
aiEmotionContainer.addEventListener("scroll", handleAiEmotionUserScroll, {
passive: true,
});
// 便 // 便
aiEmotionHeightObserver.value.scrollListener = handleAiEmotionUserScroll; aiEmotionHeightObserver.value.scrollListener = handleAiEmotionUserScroll;
} }
@ -532,7 +548,7 @@ window.handleChartInteractionEnd = handleChartInteractionEnd;
// AiEmotion // AiEmotion
const handleAiEmotionScrollToBottom = () => { const handleAiEmotionScrollToBottom = () => {
if (activeTab.value === 'AiEmotion') {
if (activeTab.value === "AiEmotion") {
const container = tabContentAiEmotion.value; const container = tabContentAiEmotion.value;
if (container) { if (container) {
// 使nextTickDOM // 使nextTickDOM
@ -566,8 +582,14 @@ const stopAiEmotionHeightObserver = () => {
} }
// //
if (aiEmotionHeightObserver.value.scrollListener && tabContentAiEmotion.value) {
tabContentAiEmotion.value.removeEventListener('scroll', aiEmotionHeightObserver.value.scrollListener);
if (
aiEmotionHeightObserver.value.scrollListener &&
tabContentAiEmotion.value
) {
tabContentAiEmotion.value.removeEventListener(
"scroll",
aiEmotionHeightObserver.value.scrollListener
);
aiEmotionHeightObserver.value.scrollListener = null; aiEmotionHeightObserver.value.scrollListener = null;
} }
@ -837,7 +859,8 @@ const touchmoveHandler = (e) => {
} }
// //
const currentContainer = getCurrentScrollContainer(); const currentContainer = getCurrentScrollContainer();
const isScrollableArea = currentContainer && currentContainer.contains(e.target);
const isScrollableArea =
currentContainer && currentContainer.contains(e.target);
// //
if (!isScrollableArea) { if (!isScrollableArea) {
@ -905,12 +928,14 @@ const backToHome = () => {
if (env == "development" || env == "test") { if (env == "development" || env == "test") {
window.parent.location.href = window.parent.location.href =
"http://121.89.234.155:8807/hljw/homepage?menu=999999991"; "http://121.89.234.155:8807/hljw/homepage?menu=999999991";
} else if (env == "product") {
window.parent.location.href =
"https://web.homilychart.com/product/hljw/homepage?menu=999999991";
} else if (env == "production") {
window.parent.location.href =
"https://web.homilychart.com/hljw/homepage?menu=999999991";
} else {
window.parent.postMessage(
{
type: "NAVIGATE_TO_HOMEPAGE",
menu: "999999991",
},
"*"
);
} }
// window.parent.location.href = window.parent.document.referrer // window.parent.location.href = window.parent.document.referrer
} }
@ -983,7 +1008,6 @@ const goChange = () => {
setTimeout(() => { setTimeout(() => {
changeSuccessDialogVisible.value = false; changeSuccessDialogVisible.value = false;
}, 3000); }, 3000);
}; };
// 8.18Token end // 8.18Token end
@ -1142,7 +1166,6 @@ onUnmounted(() => {
<div class="pc-count-number">{{ UserCount }}</div> <div class="pc-count-number">{{ UserCount }}</div>
</div> </div>
<div class="pc-clickGetCount">点击获取Token</div> <div class="pc-clickGetCount">点击获取Token</div>
</div> </div>
<div class="pc-backToHomeBtn" @click="backToHome()"> <div class="pc-backToHomeBtn" @click="backToHome()">
<img <img

Loading…
Cancel
Save