message.ts 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  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. export enum TypeMessageData {
  61. APPROVAL = 'approval',
  62. SYSTEM = 'system',
  63. }
  64. export interface IMessageContent {
  65. stepName: string;
  66. approvalComments: string;
  67. addition: string;
  68. reduction: string;
  69. conclusion: string;
  70. }
  71. export interface ISimpleMessageData {
  72. businessID: string;
  73. title: string;
  74. userID: string;
  75. status: string;
  76. type: TypeMessageData;
  77. content?: IMessageContent;
  78. }
  79. export interface IMessageData extends ISimpleMessageData {
  80. // businessID: string;
  81. // userID: string;
  82. createTime: number;
  83. // status: string;
  84. read: boolean;
  85. // type: TypeMessageData;
  86. // title: string;
  87. isShowProcess: boolean;
  88. userName: string;
  89. phone?: string;
  90. process?: IProcess;
  91. // content?: string;
  92. }
  93. export enum IMessageStatus {
  94. /** 未审批 */
  95. UNAPPROVED = 'unapproved',
  96. /** 审批完成 */
  97. APPROVALCOMPLETED = 'approvalCompleted',
  98. /** 退回 */
  99. RETURN = 'return',
  100. /** 业务被删除 */
  101. DELETE = 'delete',
  102. }