message.ts 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /* eslint-disable import/prefer-default-export */
  2. export enum SocketEvent {
  3. JOIN = 'join',
  4. LEAVE = 'leave',
  5. NOTIFY = 'notify',
  6. // 正在查看项目有用户进入
  7. VIEW_PROJECT_ENTER = 'viewProjectEnter',
  8. // 正在查看项目有用户离开
  9. VIEW_PROJECT_LEAVE = 'viewProjectLeave',
  10. }
  11. export enum MessageName {
  12. INVITE = 'invite',
  13. JOIN = 'join',
  14. REMOVE_FROM_ENTERPRISE = 'removeFromEnterprise',
  15. ALL_RESET_PASSWORD = 'allResetPassword',
  16. TRANSFER_DATA = 'transferData',
  17. TRANSFER_ADMIN = 'transferAdmin',
  18. SHARE_PROJECT = 'shareProject',
  19. SHARE_LIB = 'shareLib',
  20. UPDATE_SHARE_PROJECT = 'updateShareProject',
  21. CANCEL_SHARE_PROJECT = 'cancelShareProject',
  22. CANCEL_SHARE_LIB = 'cancelShareLib',
  23. }
  24. export interface ISocketDataType {
  25. title: string;
  26. message: string;
  27. [key: string]: any;
  28. }
  29. export interface ISocketData {
  30. // success warning info error, 空字符串或者 undefined 代表普通的消息
  31. type?: string;
  32. // 房间号
  33. rooms: string[];
  34. // 消息的名称,标识这个消息是什么消息,如 invite 表示邀请加入企业
  35. name: MessageName;
  36. // 数据
  37. data: ISocketDataType;
  38. }
  39. export interface IMessage {
  40. ID: string;
  41. userID: string;
  42. title: string;
  43. content: string;
  44. name: MessageName;
  45. data?: any;
  46. tags: string[];
  47. unread: boolean;
  48. removable: boolean;
  49. createTime: number;
  50. }