message.vue 774 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. <template>
  2. <v-badge
  3. color="error"
  4. :content="unreadCount"
  5. :model-value="unreadCount > 0"
  6. >
  7. <v-btn class="ml-1" size="small" icon="mdi-bell-outline" @click="router.push({ path: '/recruit/personal/message' })"></v-btn>
  8. </v-badge>
  9. </template>
  10. <script setup>
  11. defineOptions({ name: 'personal-message' })
  12. import { watch } from 'vue'
  13. import { useIM, useDataSource } from '@/hooks/web/useIM'
  14. import { useIMStore } from '@/store/im'
  15. import { useRouter } from 'vue-router'
  16. const router = useRouter()
  17. const _im = useIMStore()
  18. useDataSource()
  19. const {
  20. unreadCount,
  21. connected
  22. } = await useIM()
  23. watch(
  24. () => connected.value,
  25. (val) => {
  26. console.log('connected变化', val)
  27. _im.setConnected(val)
  28. }
  29. )
  30. </script>
  31. <style lang="scss" scoped>
  32. </style>