user.ts 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. /* eslint-disable camelcase */
  2. export enum ELockInfo {
  3. BORROW = 1, // 借用
  4. BUY = 2, // 销售
  5. }
  6. export interface IUpgradeItemInfo {
  7. compilationID: string;
  8. isUpgrade: boolean;
  9. lock?: ELockInfo;
  10. }
  11. // 实体类型
  12. export enum EntityType {
  13. // 个人
  14. PERSON = 1,
  15. // 企业
  16. ENTERPRISE = 2,
  17. }
  18. // 登录类型(与实体类型有语义上的区别)
  19. export enum LoginType {
  20. PERSON = 'person',
  21. ENTERPRISE = 'enterprise',
  22. }
  23. export enum UserType {
  24. NORMAL = 'normal',
  25. PROFESSIONAL = 'professional',
  26. }
  27. export interface IContact {
  28. userID: string;
  29. }
  30. export interface IUsed {
  31. compilationId: string;
  32. }
  33. export interface ISpecifyCptItem {
  34. accountType: string;
  35. enterpriseID?: string;
  36. cptID: string;
  37. }
  38. // user 表原始字段
  39. export interface IRawUser {
  40. _id?: string;
  41. qq?: string;
  42. real_name?: string;
  43. avatar?: string;
  44. // 指定的编办
  45. specifyCpt?: string;
  46. latest_login?: number;
  47. user_type?: string;
  48. contacts?: IContact[];
  49. isSmsLogin?: number;
  50. isLoginValid?: number;
  51. ssoId?: string;
  52. email?: string;
  53. mobile?: string;
  54. create_time?: string;
  55. isUserActive?: number;
  56. upgrade_list?: IUpgradeItemInfo[];
  57. used_list?: IUsed[];
  58. latest_used?: string;
  59. }
  60. // 返回给前端的字段
  61. export interface IUser {
  62. ID?: string;
  63. qq?: string;
  64. realName?: string;
  65. avatar?: string;
  66. // 指定的编办
  67. specifyCpt?: string;
  68. latestLogin?: number;
  69. userType?: string;
  70. contacts?: IContact[];
  71. isSmsLogin?: number;
  72. isLoginValid?: number;
  73. ssoID?: string;
  74. email?: string;
  75. mobile?: string;
  76. createTime?: string;
  77. upgradeList?: IUpgradeItemInfo[];
  78. usedList?: IUsed[];
  79. latestUsed?: string;
  80. }
  81. // 最近联系人
  82. export interface IRecentUser extends IUser {
  83. recentDate: number;
  84. }
  85. export interface ILoginResult {
  86. userID: string;
  87. }