Browse Source

Merge branch 'milestone-20250909-周更新分支' into dev

master
宋杰 1 day ago
parent
commit
248562b746
  1. 2
      src/views/AiEmotion.vue
  2. 6
      src/views/Announcement.vue
  3. 17
      src/views/Feedback.vue
  4. 9
      src/views/Selectmodel.vue
  5. 1
      src/views/components/HistoryRecord.vue
  6. 4
      src/views/components/marketTemperature.vue
  7. 179
      src/views/homePage.vue

2
src/views/AiEmotion.vue

@ -4696,7 +4696,7 @@ const emit = defineEmits(["updateMessage", "sendMessage", "ensureAIchat", "enabl
}
/* 图片样式 */
.golden-wheel img {
.golden-wheel-img {
width: 50%;
}

6
src/views/Announcement.vue

@ -99,11 +99,11 @@ onMounted(() => {
});
</script>
<template>
<div>
<!-- <div>
<div>
<img :src="back" alt="返回按钮" class="backImg" @click="feedbackBack" />
</div>
</div>
</div> -->
<div class="main-wrapper">
<div v-if="showVideoContainer" class="video-container">
<video
@ -134,6 +134,7 @@ onMounted(() => {
>
<div class="announcementItem">
{{ item.market }}
<br>
<span
class="codeItem"
v-for="(code, index) in item.code"
@ -216,5 +217,6 @@ p {
.code {
cursor: pointer;
white-space: nowrap;
}
</style>

17
src/views/Feedback.vue

@ -217,11 +217,11 @@ onMounted(() => {
<template>
<el-container>
<div>
<!-- <div>
<div>
<img :src="back" alt="返回按钮" class="backImg" @click="feedbackBack" />
</div>
</div>
</div> -->
<el-scrollbar>
<el-header>
<div class="feedbackImgClass">
@ -337,7 +337,11 @@ onMounted(() => {
<img w-full :src="dialogImageUrl" alt="Preview Image" />
</el-dialog>
<el-dialog v-model="feedbackBackDialogVisible" class="save-dialog">
<el-dialog
v-model="feedbackBackDialogVisible"
class="save-dialog"
align-center
>
<div class="imgLine">
<img class="dialogImg" :src="save" alt="保存" />
</div>
@ -365,6 +369,7 @@ onMounted(() => {
<el-dialog
v-model="feedbackContentOverLengthDialogVisible"
class="save-dialog"
align-center
>
<div class="feedbackContentOverLengthTitle">温馨提示</div>
<div class="feedbackContentOverLengthContent">当前输入字数已达上限</div>
@ -378,7 +383,7 @@ onMounted(() => {
</div>
</el-dialog>
<el-dialog v-model="submitSuccessDialogVisible" class="save-dialog">
<el-dialog v-model="submitSuccessDialogVisible" class="save-dialog" align-center>
<div class="imgLine">
<img class="dialogImg" :src="success" alt="成功" />
</div>
@ -659,6 +664,10 @@ onMounted(() => {
width: 100px;
height: 100px;
}
.save-dialog {
width: 80%;
}
}
.feedbackContentOverLengthBtn {

9
src/views/Selectmodel.vue

@ -150,6 +150,7 @@ const goToEmotionsmodel = () => {
flex-wrap: nowrap;
position: absolute;
top: 40vh;
z-index: 5;
}
.btn-item {
@ -320,7 +321,7 @@ const goToEmotionsmodel = () => {
.footer-text1 {
background-image: url("@/assets/img/Selectmodel/智能体.png");
width: 100vw;
height: 60px;
height: 10vw;
margin-top: 10px;
background-size: 100% 100%;
/* 保证全宽显示 */
@ -328,9 +329,13 @@ const goToEmotionsmodel = () => {
.footer-text2 {
width: 70vw;
height: 24px;
margin-top: 10px;
}
.footer-wrapper{
gap: 0;
}
}
/* 平板适配 */

1
src/views/components/HistoryRecord.vue

@ -383,6 +383,7 @@
v-model="deleteDialogVisible"
title="永久删除记录"
:width="computedDialogWidth"
align-center
>
<span>删除后该记录将不可恢复确认删除吗</span>
<template #footer>

4
src/views/components/marketTemperature.vue

@ -1083,8 +1083,8 @@ defineExpose({ initChart });
font-size: calc(10px + 1.5vw);
color: #00ffff;
position: absolute;
bottom: 42%;
left: 30px;
bottom: 60%;
left: 10px;
}
.secondTitle {

179
src/views/homePage.vue

@ -37,6 +37,7 @@ import voiceNoActive from "../assets/img/homePage/tail/voice-no-active.png";
import sendBtn from "../assets/img/homePage/tail/send.png";
import msgBtn from "../assets/img/homePage/tail/msg.png";
import feedbackBtn from "../assets/img/Feedback/feedbackBtn.png";
import back from "../assets/img/Feedback/back.png";
import AiEmotion from "./AiEmotion.vue";
import HistoryRecord from "./components/HistoryRecord.vue";
@ -333,8 +334,8 @@ const isAnnouncementVisible = ref(false);
// Token
const tokenRuleDialogVisible = ref(false);
const hasShownTokenRule = ref({
AIchat: sessionStorage.getItem('hasShownTokenRule_AIchat') === 'true',
AiEmotion: sessionStorage.getItem('hasShownTokenRule_AiEmotion') === 'true'
AIchat: sessionStorage.getItem("hasShownTokenRule_AIchat") === "true",
AiEmotion: sessionStorage.getItem("hasShownTokenRule_AiEmotion") === "true",
});
// Token
@ -351,25 +352,29 @@ const handleGlobalClick = () => {
};
onMounted(() => {
document.addEventListener('click', handleGlobalClick);
document.addEventListener("click", handleGlobalClick);
});
//
onUnmounted(() => {
document.removeEventListener('click', handleGlobalClick);
document.removeEventListener("click", handleGlobalClick);
});
// Token
const checkTokenRuleOnPageLoad = () => {
const activeTab = sessionStorage.getItem('activeTabAI');
const fromExternalPage = sessionStorage.getItem('fromExternalPage');
const activeTab = sessionStorage.getItem("activeTabAI");
const fromExternalPage = sessionStorage.getItem("fromExternalPage");
if (fromExternalPage === 'true' && activeTab && !hasShownTokenRule.value[activeTab]) {
if (
fromExternalPage === "true" &&
activeTab &&
!hasShownTokenRule.value[activeTab]
) {
tokenRuleDialogVisible.value = true;
hasShownTokenRule.value[activeTab] = true;
sessionStorage.setItem(`hasShownTokenRule_${activeTab}`, 'true');
sessionStorage.setItem(`hasShownTokenRule_${activeTab}`, "true");
//
sessionStorage.removeItem('fromExternalPage');
sessionStorage.removeItem("fromExternalPage");
}
};
@ -954,6 +959,10 @@ const expandHistory = () => {
}
};
const feedbackBack = () => {
dataStore.isFeedback = false;
};
const backToHome = () => {
if (isMobile.value) {
console.log("用户是移动端");
@ -980,11 +989,11 @@ const backToHome = () => {
} else {
window.parent.postMessage(
{
type: 'NAVIGATE_TO_HOMEPAGE',
menu: '999999991'
type: "NAVIGATE_TO_HOMEPAGE",
menu: "999999991",
},
'*'
)
"*"
);
}
// window.parent.location.href = window.parent.document.referrer
}
@ -1205,8 +1214,6 @@ onMounted(async () => {
sessionStorage.removeItem("activeLevel");
sessionStorage.setItem("rechargeFlag", "0");
}
});
onUnmounted(() => {
@ -1257,8 +1264,8 @@ onUnmounted(() => {
v-if="!dataStore.isFeedback"
class="main-container"
:class="{
collapsed: historyRecordRef?.isCollapsed && !isMobile,
unCollapsed: !historyRecordRef?.isCollapsed && !isMobile,
collapsed: !isMobile && historyRecordRef?.isCollapsed,
unCollapsed: !isMobile && !historyRecordRef?.isCollapsed,
}"
>
<!-- AI小财神头部 logo 次数 公告 -->
@ -1478,10 +1485,15 @@ onUnmounted(() => {
>
<el-header class="homepage-head">
<!-- logo -->
<!-- <div class="homepage-logo">
<img :src="logo" alt="图片加载失败" class="logo1" />
<img :src="madeInHL" alt="图片加载失败" class="logo2" />
</div> -->
<div class="homepage-logo">
<img
:src="back"
alt="返回按钮"
class="backToHomeImg"
@click="feedbackBack"
/>
<!-- <img :src="madeInHL" alt="图片加载失败" class="logo2" /> -->
</div>
<div class="homepage-right-group">
<div class="count-badge" @click="showCount">
@ -1659,6 +1671,7 @@ onUnmounted(() => {
v-model="confirmDialogVisible"
:width="isMobile ? '60%' : '30%'"
:show-close="false"
:align-center="isMobile"
>
<div class="confirmDialogTitle">兑换</div>
<div class="confirmDialogContent">
@ -1679,6 +1692,7 @@ onUnmounted(() => {
:width="isMobile ? '60%' : '30%'"
:show-close="false"
class="changeSuccessDialog"
:align-center="isMobile"
>
<div class="changeSuccessDialogTitle">兑换成功</div>
<div class="changeSuccessDialogContent">
@ -1687,7 +1701,11 @@ onUnmounted(() => {
</el-dialog>
<!-- Token规则提示框 -->
<div v-if="tokenRuleDialogVisible" class="tokenRuleDialog" @click="closeTokenRuleDialog">
<div
v-if="tokenRuleDialogVisible"
class="tokenRuleDialog"
@click="closeTokenRuleDialog"
>
<div class="tokenRuleDialogContent" @click.stop>
<div class="tokenRuleDialogClose" @click="closeTokenRuleDialog">
<el-icon><Close /></el-icon>
@ -1696,16 +1714,30 @@ onUnmounted(() => {
<div class="tokenRuleSection">
<div class="tokenRuleSectionTitle">Token消耗规则</div>
<div class="tokenRuleItem"> "夺宝奇兵大模型""AI情绪大模型"中搜索股票若搜索成功内容正常生成则会消耗1Token</div>
<div class="tokenRuleItem"> "夺宝奇兵大模型""AI情绪大模型"中搜索股票若搜索有误无法生成内容则不会消耗Token</div>
<div class="tokenRuleItem"> 搜索同一只股票产出内容相同时只扣除1Token</div>
<div class="tokenRuleItem"> "夺宝奇兵""AI小财神"中Token是互通的</div>
<div class="tokenRuleItem">
"夺宝奇兵大模型""AI情绪大模型"中搜索股票若搜索成功内容正常生成则会消耗1Token
</div>
<div class="tokenRuleItem">
"夺宝奇兵大模型""AI情绪大模型"中搜索股票若搜索有误无法生成内容则不会消耗Token
</div>
<div class="tokenRuleItem">
搜索同一只股票产出内容相同时只扣除1Token
</div>
<div class="tokenRuleItem">
"夺宝奇兵""AI小财神"中Token是互通的
</div>
</div>
<div class="tokenRuleSection">
<div class="tokenRuleSectionTitle">Token兑换规则</div>
<div class="tokenRuleItem"> 点击右上角"获取Token"即可进入Token兑换页进行金币兑换Token</div>
<div class="tokenRuleItem"> 金币兑换Token的比例为1金币=1Token一经兑换不予退还</div>
<div class="tokenRuleItem">
点击右上角"获取Token"即可进入Token兑换页进行金币兑换Token
</div>
<div class="tokenRuleItem">
金币兑换Token的比例为1金币=1Token一经兑换不予退还
</div>
</div>
<div class="tokenRuleNote">
@ -1770,6 +1802,12 @@ onUnmounted(() => {
padding: 0 6%;
}
.backToHomeImg {
width: 40px;
height: 40px;
margin-left: 10px;
}
@media (max-width: 768px) {
.tab-container {
gap: 15px;
@ -1832,22 +1870,6 @@ body {
/* -webkit-overflow-scrolling: touch; */
}
.main-container {
flex: 1;
transition: margin-left 0.3s ease;
display: flex;
flex-direction: column;
overflow: hidden;
}
.main-container.unCollapsed {
margin-left: 300px; /* 为历史记录组件留出空间 */
}
/* 当历史记录组件折叠时调整主容器边距 */
.main-container.collapsed {
margin-left: 3%;
}
.zhezhao {
width: 100%;
height: 100%;
@ -1856,23 +1878,30 @@ body {
position: fixed;
}
/* 移动端适配 */
@media (max-width: 768px) {
.homepage {
background-image: url("https://d31zlh4on95l9h.cloudfront.net/images/90d31d7052e729c63acb9e2cb94d1307.png");
}
@media (min-width: 769px) {
.main-container {
/* margin-left: 280px; */
flex: 1;
transition: margin-left 0.3s ease;
display: flex;
flex-direction: column;
overflow: hidden;
}
.main-container.unCollapsed {
margin-left: 280px;
margin-left: 300px; /* 为历史记录组件留出空间 */
}
/* 当历史记录组件折叠时调整主容器边距 */
.main-container.collapsed {
margin-left: 40px;
}
}
/* 移动端适配 */
@media (max-width: 768px) {
.homepage {
background-image: url("https://d31zlh4on95l9h.cloudfront.net/images/90d31d7052e729c63acb9e2cb94d1307.png");
}
}
.homepage .el-container {
height: 100%;
flex-direction: column;
@ -1932,10 +1961,10 @@ body {
.homepage-right-group {
display: flex;
gap: 8px;
/* gap: 8px; */
align-items: center;
margin-left: auto;
margin-right: 20px;
margin-right: 5px;
}
.homepage-right-group .action-btn {
@ -2536,7 +2565,7 @@ body {
justify-content: center;
align-items: center;
position: fixed;
bottom: 15%;
bottom: 20%;
color: white;
z-index: 9999;
}
@ -2580,12 +2609,10 @@ body {
font-size: 20px;
font-weight: bold;
text-align: center;
margin-bottom: 20px;
width: 100%;
}
.tokenRuleSection {
margin-bottom: 15px;
width: 100%;
}
@ -2600,7 +2627,6 @@ body {
color: white;
font-size: 16px;
line-height: 1.5;
margin-bottom: 6px;
}
.tokenRuleNote {
@ -2611,22 +2637,24 @@ body {
color: white;
font-size: 14px;
line-height: 1.5;
margin-top: 15px;
text-align: center;
word-wrap: break-word;
overflow-wrap: break-word;
}
@media (max-width: 768px) {
.tokenRuleDialog {
bottom: 20%;
}
.tokenRuleDialogContent {
width: 90vw;
width: 80vw;
padding: 15px 20px;
max-height: 80vh;
}
.tokenRuleDialogTitle {
font-size: 18px;
margin-bottom: 15px;
}
.tokenRuleSectionTitle {
@ -2635,9 +2663,8 @@ body {
}
.tokenRuleItem {
font-size: 14px;
font-size: 13px;
line-height: 1.4;
margin-bottom: 5px;
word-wrap: break-word;
overflow-wrap: break-word;
}
@ -2645,7 +2672,6 @@ body {
.tokenRuleNote {
font-size: 12px;
padding: 10px;
margin-top: 12px;
line-height: 1.4;
}
@ -2656,6 +2682,29 @@ body {
}
@media (max-width: 768px) {
.logo1 {
max-width: 110px;
width: 25vw;
}
.homepage-right-group {
gap: 10px;
}
.homepage-right-group .action-btn {
height: 30px;
}
.count-number {
top: 10px;
font-size: 12px;
}
.backImg {
width: 40px;
height: auto;
}
.action-btn {
height: 21px;
}
@ -2782,8 +2831,6 @@ body {
.changeSuccessDialogContent {
font-size: 1rem;
}
}
</style>

Loading…
Cancel
Save