message.ts 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  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. ACCEPT_TRANSFER_DATA = 'acceptTransferData',
  18. TRANSFER_ADMIN = 'transferAdmin',
  19. SHARE_PROJECT = 'shareProject',
  20. SHARE_LIB = 'shareLib',
  21. UPDATE_SHARE_PROJECT = 'updateShareProject',
  22. CANCEL_SHARE_PROJECT = 'cancelShareProject',
  23. CANCEL_SHARE_LIB = 'cancelShareLib',
  24. REPEAT_LOGIN = 'repeatLogin',
  25. }
  26. export interface ISocketDataType {
  27. title: string;
  28. message: string;
  29. [key: string]: any;
  30. }
  31. export interface ISocketData {
  32. // success warning info error, 空字符串或者 undefined 代表普通的消息
  33. type?: string;
  34. // 房间号
  35. rooms: string[];
  36. // 消息的名称,标识这个消息是什么消息,如 invite 表示邀请加入企业
  37. name: MessageName;
  38. // 数据
  39. data: ISocketDataType;
  40. }
  41. export interface IMessage {
  42. ID: string;
  43. userID: string;
  44. title: string;
  45. content: string;
  46. name: MessageName;
  47. data?: any;
  48. tags: string[];
  49. unread: boolean;
  50. removable: boolean;
  51. createTime: number;
  52. }
  53. // 平台信息
  54. interface IProcess {
  55. processID: string;
  56. approvalOpinon ?:string;
  57. approvalChangePrice: number;
  58. approvaledPrice: number;
  59. }
  60. type TypeMessageData = 'approval' | 'system'
  61. export interface IMessageData {
  62. ID: string;
  63. userID: string;
  64. title: string;
  65. createTime: number;
  66. status: string;
  67. process:IProcess;
  68. unRead: boolean;
  69. type: TypeMessageData;
  70. }