refactor: 添加MQTT连接和token监听功能

This commit is contained in:
wangqiao
2025-08-30 11:18:13 +08:00
parent e036c88535
commit 7a91eddbb4
2 changed files with 25 additions and 2 deletions

25
app.vue
View File

@ -7,4 +7,27 @@
</div> </div>
</template> </template>
<script setup lang="ts"></script> <script setup lang="ts">
import refreshToken from '~/utils/RefreshToken'
import useUserStore from '~/stores/user'
const userStore = useUserStore()
onMounted(() => {
if (!userStore.mqttClient && userStore.userInfoRes.id) {
// 判断建立连接没 刷新会走这儿
userStore.connectMqtt()
}
// 浏览器打开新的tab页防止数据不一致
document.addEventListener('visibilitychange', () => {
if (userStore.token !== refreshToken.getToken().token) {
location.reload()
}
})
})
onUnmounted(() => {
// 断开连接
userStore.mqttClient?.disconnect()
})
</script>

View File

@ -1,7 +1,7 @@
<template> <template>
<div class="fixed-button-group"> <div class="fixed-button-group">
<div class="button-item" @click="handleVip"> <div class="button-item" @click="handleVip">
<el-badge :is-dot="readCount" class="item"> <el-badge class="item">
<el-icon class="icon-item !color-[#10c55b]"><Trophy /></el-icon> <el-icon class="icon-item !color-[#10c55b]"><Trophy /></el-icon>
</el-badge> </el-badge>
<span class="button-text">VIP</span> <span class="button-text">VIP</span>