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