base.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. import store from '@/store'
  2. import router from '@/router'
  3. import { Notification } from 'element-ui'
  4. class Base {
  5. /**
  6. * 初始化
  7. */
  8. constructor() {
  9. this.$notify = Notification
  10. }
  11. getStoreInstance() {
  12. return store
  13. }
  14. /**
  15. * 获取当前登入用户的ID
  16. */
  17. getAccountId() {
  18. return store.state.user.uid
  19. }
  20. getTalkParams() {
  21. let { talkType, receiverId, indexName } = store.state.dialogue
  22. return { talkType, receiverId, indexName }
  23. }
  24. /**
  25. * 判断消息是否来自当前对话
  26. *
  27. * @param {Number} talkType 聊天消息类型[1:私信;2:群聊;]
  28. * @param {Number} senderId 发送者ID
  29. * @param {Number} receiverId 接收者ID
  30. */
  31. isTalk(talkType, senderId, receiverId) {
  32. let params = this.getTalkParams()
  33. if (talkType != params.talkType) {
  34. return false
  35. } else if (
  36. params.receiverId == receiverId ||
  37. params.receiverId == senderId
  38. ) {
  39. return true
  40. }
  41. return false
  42. }
  43. /**
  44. * 判断用户是否打开对话页
  45. */
  46. isTalkPage() {
  47. let path = router.currentRoute.path
  48. return !(path != '/message' && path != '/')
  49. }
  50. }
  51. export default Base