|
|
@ -2,7 +2,13 @@ |
|
|
|
// 导入 |
|
|
|
import { ref, computed, onMounted, watch, nextTick, onUnmounted, h } from "vue"; |
|
|
|
import { setHeight } from "../utils/setHeight"; |
|
|
|
import { getUserCountAPI, showExchangeAPI } from "../api/AIxiaocaishen"; |
|
|
|
import { |
|
|
|
getUserCountAPI, |
|
|
|
showExchangeAPI, |
|
|
|
godExchangeAPI, |
|
|
|
exchangeAPI, |
|
|
|
getGoldCoinAPI, |
|
|
|
} from "../api/AIxiaocaishen"; |
|
|
|
import { ElMessage } from "element-plus"; |
|
|
|
import AIchat from "./AIchat.vue"; |
|
|
|
import AIfind from "./AIfind.vue"; |
|
|
@ -45,7 +51,7 @@ const aiEmotionRef = ref(null); |
|
|
|
// 获取历史记录组件的 ref |
|
|
|
const historyRecordRef = ref(null); |
|
|
|
// import { useUserStore } from "../store/userPessionCode.js"; |
|
|
|
const { getQueryVariable, setActiveTabIndex } = useDataStore(); |
|
|
|
const { getQueryVariable, setActiveTabIndex, getUserInfo } = useDataStore(); |
|
|
|
const dataStore = useDataStore(); |
|
|
|
const chatStore = useChatStore(); |
|
|
|
// 变量 |
|
|
@ -894,9 +900,9 @@ const backToHome = () => { |
|
|
|
|
|
|
|
// 8.18金币兑换Token start |
|
|
|
const userInfo = ref({ |
|
|
|
username: "HomilyLink", |
|
|
|
jwcode: "90042088", |
|
|
|
img: " https://d31zlh4on95l9h.cloudfront.net/images/403ef762dd2f335df3b0c9e3fe488375.png", |
|
|
|
nickname: "", |
|
|
|
img: "", |
|
|
|
jwcode: "", |
|
|
|
}); |
|
|
|
const changeRule = ref({ |
|
|
|
gold: 1, |
|
|
@ -922,13 +928,40 @@ const rechargeDialogVisible = ref(false); |
|
|
|
const confirmDialogVisible = ref(false); |
|
|
|
const changeSuccessDialogVisible = ref(false); |
|
|
|
|
|
|
|
// 图片加载错误处理 |
|
|
|
const handleImageError = (event) => { |
|
|
|
console.error("图片加载失败:", event.target.src); |
|
|
|
// 可以设置默认图片或重试逻辑 |
|
|
|
event.target.src = |
|
|
|
"https://cdn.legu168.com/jtzy/Product/pcjingwang/images/userimg.png"; |
|
|
|
}; |
|
|
|
|
|
|
|
// 获取次数 |
|
|
|
const showCount = async () => { |
|
|
|
try { |
|
|
|
const res = await showExchangeAPI(); |
|
|
|
if ( |
|
|
|
!dataStore.userInfo.img || |
|
|
|
!dataStore.userInfo.nickname || |
|
|
|
!dataStore.userInfo.jwcode |
|
|
|
) { |
|
|
|
console.log("缺少用户信息,调用方法"); |
|
|
|
await getUserInfo(); |
|
|
|
} |
|
|
|
|
|
|
|
userInfo.value.nickname = dataStore.userInfo.nickname; |
|
|
|
userInfo.value.img = dataStore.userInfo.img; |
|
|
|
userInfo.value.jwcode = dataStore.userInfo.jwcode; |
|
|
|
console.log("userInfo", userInfo.value); |
|
|
|
const [res, res2] = await Promise.all([ |
|
|
|
showExchangeAPI(), |
|
|
|
getGoldCoinAPI({ |
|
|
|
token: String(localStorage.getItem("localToken")), |
|
|
|
}), |
|
|
|
]); |
|
|
|
changeLevelList.value = res.data; |
|
|
|
activeLevel.value = changeLevelList.value[0]; |
|
|
|
changeRule.value.token = res.data[0].ratio; |
|
|
|
gold.value = res2.data.total; |
|
|
|
|
|
|
|
// 显示弹窗 |
|
|
|
dialogVisible.value = true; |
|
|
@ -988,13 +1021,25 @@ const goRecharge = () => { |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
const goChange = () => { |
|
|
|
confirmDialogVisible.value = false; |
|
|
|
dialogVisible.value = false; |
|
|
|
changeSuccessDialogVisible.value = true; |
|
|
|
setTimeout(() => { |
|
|
|
changeSuccessDialogVisible.value = false; |
|
|
|
}, 2000); |
|
|
|
const goChange = async () => { |
|
|
|
try { |
|
|
|
await exchangeAPI({ |
|
|
|
token: String(localStorage.getItem("localToken")), |
|
|
|
num: activeLevel.value.position, |
|
|
|
}); |
|
|
|
|
|
|
|
confirmDialogVisible.value = false; |
|
|
|
dialogVisible.value = false; |
|
|
|
changeSuccessDialogVisible.value = true; |
|
|
|
setTimeout(() => { |
|
|
|
changeSuccessDialogVisible.value = false; |
|
|
|
}, 2000); |
|
|
|
|
|
|
|
// 刷新次数 |
|
|
|
await chatStore.getUserCount(); |
|
|
|
} catch (e) { |
|
|
|
console.error("兑换失败", e); |
|
|
|
} |
|
|
|
}; |
|
|
|
// 8.18金币兑换Token end |
|
|
|
|
|
|
@ -1028,7 +1073,8 @@ onMounted(async () => { |
|
|
|
sessionStorage.getItem("rechargeFlag") == "1" && |
|
|
|
getQueryVariable("successType") == "success" |
|
|
|
) { |
|
|
|
dialogVisible.value = true; |
|
|
|
await godExchangeAPI({ state: 1 }); |
|
|
|
showCount(); |
|
|
|
sessionStorage.setItem("rechargeFlag", "0"); |
|
|
|
} |
|
|
|
}); |
|
|
@ -1328,15 +1374,20 @@ onUnmounted(() => { |
|
|
|
</el-container> |
|
|
|
<!-- 弹窗 --> |
|
|
|
<!-- 新增弹窗组件 --> |
|
|
|
<el-dialog v-model="dialogVisible" :width="isMobile ? '80%' : '40%'"> |
|
|
|
<el-dialog v-model="dialogVisible" :width="isMobile ? '80%' : '48%'"> |
|
|
|
<!-- 中间内容部分 --> |
|
|
|
<div class="changeMsg"> |
|
|
|
<div class="changeInfo"> |
|
|
|
<div class="changeImg"> |
|
|
|
<img :src="userInfo.img" alt="头像" class="changeImgClass" /> |
|
|
|
<img |
|
|
|
:src="userInfo.img" |
|
|
|
alt="头像" |
|
|
|
class="changeImgClass" |
|
|
|
@error="handleImageError" |
|
|
|
/> |
|
|
|
</div> |
|
|
|
<div class="changeContent"> |
|
|
|
<div class="changeUsername">{{ userInfo.username }}</div> |
|
|
|
<div class="changeUsername">{{ userInfo.nickname }}</div> |
|
|
|
<div class="changeJwcode">精网号:{{ userInfo.jwcode }}</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
@ -2020,6 +2071,8 @@ body { |
|
|
|
} |
|
|
|
|
|
|
|
.changeImgClass { |
|
|
|
width: 50px; |
|
|
|
height: auto; |
|
|
|
} |
|
|
|
|
|
|
|
.changeContent { |
|
|
|