index.ts 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. export interface Store {
  2. globalMask: boolean;
  3. env: {
  4. server: Server;
  5. loginName: string;
  6. password: string;
  7. user: {
  8. campusId: number;
  9. schoolId: number;
  10. userId: number;
  11. userName: string;
  12. userRole: string;
  13. doubleTrack?: boolean;
  14. };
  15. exam: {
  16. id: number;
  17. name: string;
  18. examTime: string;
  19. };
  20. examId: number;
  21. };
  22. config: {
  23. db: DB;
  24. imageUrl: ImageURL;
  25. watermark: Watermark;
  26. logger: Logger;
  27. openDevTools: boolean;
  28. servers: Server[];
  29. imagemagickDev?: string;
  30. };
  31. syncTime: Array<{ id: string; time: string }>;
  32. pageInputs: {
  33. "/image-download": {
  34. type: string;
  35. template: string;
  36. dir: string;
  37. pdf: string;
  38. append: boolean;
  39. failover: boolean;
  40. watermark: boolean;
  41. showSubScore: boolean;
  42. trackMode: string;
  43. examNumber?: string;
  44. subjectCode?: string;
  45. x?: number;
  46. y?: number;
  47. };
  48. };
  49. }
  50. export interface DB {
  51. host: string;
  52. post: number;
  53. user: string;
  54. password: string;
  55. database: string;
  56. }
  57. export interface ImageURL {
  58. sheet: string;
  59. package: string;
  60. }
  61. export interface Logger {
  62. level: string;
  63. }
  64. export interface Server {
  65. name: string;
  66. host: string;
  67. }
  68. export interface Watermark {
  69. fontFile: string;
  70. fontSize: number;
  71. color: string;
  72. nextColor: string;
  73. otherColor: string;
  74. }
  75. export interface Student {
  76. id: number;
  77. schoolId: number;
  78. examNumber: string;
  79. campusCode: string;
  80. campusName: string;
  81. subjectCode: string;
  82. subjectName: string;
  83. name: string;
  84. studentCode: string;
  85. packageCode: string;
  86. batchCode: string;
  87. sheetCount: number;
  88. sliceCount: number;
  89. answers: string;
  90. upload: boolean;
  91. absent: boolean;
  92. manualAbsent: boolean;
  93. breach: boolean;
  94. objectiveScore: string;
  95. subjectiveScore: string;
  96. examRoom: string;
  97. remark: string;
  98. college: string;
  99. className: string;
  100. teacher: string;
  101. inspector?: Inspector;
  102. objectiveScoreDetail: SubjectiveScoreDetail[];
  103. subjectiveScoreDetail: SubjectiveScoreDetail[];
  104. sheetUrls: string[];
  105. }
  106. export interface Inspector {
  107. loginName: string;
  108. name: string;
  109. }
  110. export interface SubjectiveScoreDetail {
  111. mainNumber: number;
  112. subNumber: string;
  113. score: number;
  114. marker: string;
  115. groupNumber: number;
  116. mainTitle: string;
  117. }