user.ts 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  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. upgrade_list?: IUpgradeItemInfo[];
  56. used_list?: IUsed[];
  57. latest_used?: string;
  58. }
  59. // 返回给前端的字段
  60. export interface IUser {
  61. ID?: string;
  62. qq?: string;
  63. realName?: string;
  64. avatar?: string;
  65. // 指定的编办
  66. specifyCpt?: string;
  67. latestLogin?: number;
  68. userType?: string;
  69. contacts?: IContact[];
  70. isSmsLogin?: number;
  71. isLoginValid?: number;
  72. ssoID?: string;
  73. email?: string;
  74. mobile?: string;
  75. createTime?: string;
  76. upgradeList?: IUpgradeItemInfo[];
  77. usedList?: IUsed[];
  78. latestUsed?: string;
  79. }
  80. // 最近联系人
  81. export interface IRecentUser extends IUser {
  82. recentDate: number;
  83. }
  84. export interface ILoginResult {
  85. userID: string;
  86. }