|
@ -75,7 +75,26 @@ const goToHomePage = async () => { |
|
|
} else { |
|
|
} else { |
|
|
console.log("无权限"); |
|
|
console.log("无权限"); |
|
|
noPermissonDialogVisible.value = true; |
|
|
noPermissonDialogVisible.value = true; |
|
|
noPermissonDialogObj.value.msg = res.msg; |
|
|
|
|
|
|
|
|
noPermissonDialogObj.value.title = "Token规则"; |
|
|
|
|
|
noPermissonDialogObj.value.content = [ |
|
|
|
|
|
{ |
|
|
|
|
|
title: "Token消耗规则", |
|
|
|
|
|
rules: [ |
|
|
|
|
|
'在"夺宝奇兵大模型"、"AI情绪大模型"中搜索股票,若搜索成功,内容正常生成,则会消耗1Token', |
|
|
|
|
|
'在"夺宝奇兵大模型"、"AI情绪大模型"中搜索股票,若搜索有误,无法生成内容,则不会消耗Token', |
|
|
|
|
|
'搜索同一只股票,产出内容相同时,只扣除1次Token', |
|
|
|
|
|
'"夺宝奇兵"和"AI小财神"中Token是互通的' |
|
|
|
|
|
] |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
title: "Token兑换规则", |
|
|
|
|
|
rules: [ |
|
|
|
|
|
'点击右上角"获取Token次数",即可进入Token兑换页进行金币兑换Token', |
|
|
|
|
|
"金币兑换Token的比例为:1金币=1Token;一经兑换,不予退还" |
|
|
|
|
|
] |
|
|
|
|
|
} |
|
|
|
|
|
]; |
|
|
|
|
|
noPermissonDialogObj.value.notice = "注意:报告生成过程中,请耐心等待,在此期间请勿进行页面刷新操作,以免导致报告生成进程中断"; |
|
|
|
|
|
|
|
|
console.log("noPermissonDialogVisible", noPermissonDialogVisible.value); |
|
|
console.log("noPermissonDialogVisible", noPermissonDialogVisible.value); |
|
|
console.log("noPermissonDialogObj", noPermissonDialogObj.value); |
|
|
console.log("noPermissonDialogObj", noPermissonDialogObj.value); |
|
@ -121,11 +140,24 @@ const closeNoPermissionDialog = () => { |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div v-if="noPermissonDialogVisible" class="noPermissionDialog"> |
|
|
<div v-if="noPermissonDialogVisible" class="noPermissionDialog"> |
|
|
<div class="noPermissionContent" @click="closeNoPermissionDialog"> |
|
|
|
|
|
<div class="noPermissionCloseBtn"> |
|
|
|
|
|
|
|
|
<div class="noPermissionContent"> |
|
|
|
|
|
<div class="noPermissionCloseBtn" @click="closeNoPermissionDialog"> |
|
|
<el-icon class="noPermissionIcon"><Close /></el-icon> |
|
|
<el-icon class="noPermissionIcon"><Close /></el-icon> |
|
|
</div> |
|
|
</div> |
|
|
{{ noPermissonDialogObj.msg }} |
|
|
|
|
|
|
|
|
<div class="tokenRulesContainer"> |
|
|
|
|
|
<h3 class="tokenTitle">{{ noPermissonDialogObj.title }}</h3> |
|
|
|
|
|
<div v-for="(section, index) in noPermissonDialogObj.content" :key="index" class="tokenSection"> |
|
|
|
|
|
<h4 class="sectionTitle">{{ section.title }}</h4> |
|
|
|
|
|
<ul class="rulesList"> |
|
|
|
|
|
<li v-for="(rule, ruleIndex) in section.rules" :key="ruleIndex" class="ruleItem"> |
|
|
|
|
|
• {{ rule }} |
|
|
|
|
|
</li> |
|
|
|
|
|
</ul> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div class="noticeSection"> |
|
|
|
|
|
{{ noPermissonDialogObj.notice }} |
|
|
|
|
|
</div> |
|
|
|
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</template> |
|
|
</template> |
|
@ -217,37 +249,93 @@ const closeNoPermissionDialog = () => { |
|
|
|
|
|
|
|
|
.noPermissionDialog { |
|
|
.noPermissionDialog { |
|
|
width: 100%; |
|
|
width: 100%; |
|
|
|
|
|
height: 100%; |
|
|
display: flex; |
|
|
display: flex; |
|
|
justify-content: center; |
|
|
justify-content: center; |
|
|
align-items: center; |
|
|
align-items: center; |
|
|
position: fixed; |
|
|
position: fixed; |
|
|
bottom: 15%; |
|
|
|
|
|
/* margin: auto auto; */ |
|
|
|
|
|
|
|
|
top: 0; |
|
|
|
|
|
left: 0; |
|
|
|
|
|
background-color: rgba(0, 0, 0, 0.5); |
|
|
|
|
|
z-index: 1000; |
|
|
color: white; |
|
|
color: white; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.noPermissionCloseBtn { |
|
|
.noPermissionCloseBtn { |
|
|
border-radius: 5px; |
|
|
|
|
|
border: 1px solid white; |
|
|
|
|
|
|
|
|
border-radius: 20%; |
|
|
|
|
|
border: 3px solid white; |
|
|
background-color: #8621d9; |
|
|
background-color: #8621d9; |
|
|
padding: 2px; |
|
|
|
|
|
|
|
|
padding: 8px; |
|
|
display: flex; |
|
|
display: flex; |
|
|
justify-content: center; |
|
|
justify-content: center; |
|
|
align-items: center; |
|
|
align-items: center; |
|
|
position: absolute; |
|
|
position: absolute; |
|
|
top: -10px; |
|
|
|
|
|
right: -10px; |
|
|
|
|
|
|
|
|
top: -15px; |
|
|
|
|
|
right: -15px; |
|
|
|
|
|
cursor: pointer; |
|
|
|
|
|
width: 30px; |
|
|
|
|
|
height: 30px; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.noPermissionContent { |
|
|
.noPermissionContent { |
|
|
position: relative; |
|
|
position: relative; |
|
|
|
|
|
border-radius: 10px; |
|
|
|
|
|
border: 2px solid white; |
|
|
|
|
|
padding: 30px; |
|
|
|
|
|
background: linear-gradient(135deg, #1a0b4d 0%, #2d1b69 100%); |
|
|
|
|
|
max-width: 90vw; |
|
|
|
|
|
max-height: 80vh; |
|
|
|
|
|
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.tokenRulesContainer { |
|
|
|
|
|
text-align: left; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.tokenTitle { |
|
|
|
|
|
color: #ffd700; |
|
|
|
|
|
font-size: 24px; |
|
|
|
|
|
font-weight: bold; |
|
|
|
|
|
text-align: center; |
|
|
|
|
|
margin-bottom: 20px; |
|
|
|
|
|
margin-top: 0; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.tokenSection { |
|
|
|
|
|
margin-bottom: 20px; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.sectionTitle { |
|
|
|
|
|
color: #ffd700; |
|
|
|
|
|
font-size: 18px; |
|
|
|
|
|
font-weight: bold; |
|
|
|
|
|
margin-bottom: 10px; |
|
|
|
|
|
margin-top: 0; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.rulesList { |
|
|
|
|
|
list-style: none; |
|
|
|
|
|
padding: 0; |
|
|
|
|
|
margin: 0; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.ruleItem { |
|
|
|
|
|
color: white; |
|
|
|
|
|
font-size: 16px; |
|
|
|
|
|
line-height: 1.6; |
|
|
|
|
|
margin-bottom: 8px; |
|
|
|
|
|
padding-left: 0; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.noticeSection { |
|
|
|
|
|
background-color: rgba(255, 215, 0, 0.1); |
|
|
|
|
|
border: 1px solid #ffd700; |
|
|
border-radius: 5px; |
|
|
border-radius: 5px; |
|
|
border: 1px solid white; |
|
|
|
|
|
padding: 10px 30px; |
|
|
|
|
|
background-color: #261176; |
|
|
|
|
|
display: flex; |
|
|
|
|
|
justify-content: center; |
|
|
|
|
|
align-items: center; |
|
|
|
|
|
|
|
|
padding: 15px; |
|
|
|
|
|
margin-top: 20px; |
|
|
|
|
|
color: #ffd700; |
|
|
|
|
|
font-size: 14px; |
|
|
|
|
|
line-height: 1.5; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/* 手机适配 - 小屏幕时保持纵向排列 */ |
|
|
/* 手机适配 - 小屏幕时保持纵向排列 */ |
|
@ -277,5 +365,36 @@ const closeNoPermissionDialog = () => { |
|
|
width: 50%; |
|
|
width: 50%; |
|
|
/* margin-top: 20px; */ |
|
|
/* margin-top: 20px; */ |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.noPermissionContent { |
|
|
|
|
|
width: 70vw; |
|
|
|
|
|
height: auto; |
|
|
|
|
|
max-height: 80vh; |
|
|
|
|
|
max-width: none; |
|
|
|
|
|
max-height: none; |
|
|
|
|
|
padding: 20px; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.tokenRulesContainer { |
|
|
|
|
|
height: 100%; |
|
|
|
|
|
overflow-y: auto; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.tokenTitle { |
|
|
|
|
|
font-size: 20px; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.sectionTitle { |
|
|
|
|
|
font-size: 16px; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.ruleItem { |
|
|
|
|
|
font-size: 13px; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.noticeSection { |
|
|
|
|
|
font-size: 13px; |
|
|
|
|
|
padding: 12px; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
</style> |
|
|
</style> |