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>
</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>
<div class="fixed-button-group">
<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-badge>
<span class="button-text">VIP</span>