constants.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. export const YYYYMMDDHHmmss = "YYYY-MM-DD HH:mm:ss";
  2. export const PLATFORM = "WEB";
  3. if (!localStorage.getItem("deviceId")) {
  4. localStorage.setItem("deviceId", Math.random() + "-" + Date.now());
  5. }
  6. export const DEVICE_ID = localStorage.getItem("deviceId");
  7. export const INVIGILATOR_IMPORT_TEMPLATE_DOWNLOAD_URL =
  8. "http://qmth-test.oss-cn-shenzhen.aliyuncs.com/file/考场监考老师导入.xlsx";
  9. export const EXAM_STUDENT_IMPORT_TEMPLATE_DOWNLOAD_URL =
  10. "http://qmth-test.oss-cn-shenzhen.aliyuncs.com/file/考生导入_在线考试.xlsx";
  11. // 交卷方式
  12. export const STUDENT_FINISH_EXAM_TYPE = {
  13. MANUAL: "手动交卷",
  14. AUTO: "自动交卷",
  15. BREACH: "违纪交卷",
  16. INTERRUPT: "监考强制交卷",
  17. };
  18. // 是 / 否
  19. export const BOOLEAN_TYPE = {
  20. 0: "否",
  21. 1: "是",
  22. };
  23. // 是 / 否
  24. export const BOOLEAN_INVERSE_TYPE = {
  25. 1: "否",
  26. 0: "是",
  27. };
  28. // 考生在线状态
  29. export const STUDENT_ONLINE_STATUS = {
  30. FIRST_PREPARE: "已待考",
  31. EXAMING: "考试中",
  32. BREAK_OFF: "通讯故障",
  33. };
  34. // 推流通讯
  35. export const STUDENT_EXAM_STATUS = {
  36. FIRST_PREPARE: "首次候考",
  37. ANSWERING: "正在答题",
  38. BREAK_OFF: "",
  39. RESUME_PREPARE: "",
  40. FINISHED: "",
  41. PERSISTED: "",
  42. };
  43. // 违纪、缺考
  44. export const STUDENT_BEHAVIOR_STATUS = {
  45. 0: "违纪",
  46. 1: "正常",
  47. };
  48. // 违规类型
  49. export const BREACH_REASON_TYPE = {
  50. PLAGIARIZE: "夹带抄袭",
  51. LOOK_AROUND: "左顾右盼",
  52. ILLEGAL_ITEMS: "考中携带违规物品",
  53. TAKER: "他人替考",
  54. ASSISTANCE: "他人协助作答",
  55. BLACK_LIST_SOFTWARE: "考中使用违规(远程协助、直播等)软件",
  56. OTHER: "其他",
  57. };
  58. // 违规撤销原因
  59. export const BREACH_REPEAL_TYPE = {
  60. SOFTWARE_MISSING: "软件误操作",
  61. INCONSISTENT_FACTS: "违规事实不符",
  62. CANCEL_OTHER: "其他",
  63. };
  64. // 异常状态
  65. export const EXCEPTION_TYPE = {
  66. NET_TIME_OUT: "软件误操作",
  67. MACHING_STOP: "机器硬件故障、死机",
  68. NET_TIME_BREAK: "网络断开",
  69. SOFTWARE_STOP: "软件故障",
  70. POWER_CUT: "停电",
  71. OTHER: "其他",
  72. };
  73. //
  74. export const VERIFY_EXCEPTION_TYPE = {
  75. FACE_COUNT_ERROR: "人脸数量异常",
  76. FACE_COMPARE_ERROR: "人脸比对异常",
  77. EYE_CLOSE_ERROR: "闭眼检测异常",
  78. LIVENESS_ACTION_ERROR: "活检动作错误",
  79. NONE: "无异常",
  80. REALNESS: "真实性检测异常",
  81. };
  82. // 考试状态
  83. export const EXAM_TYPE = {
  84. FIRST_START: "初次开考",
  85. RESUME_START: "恢复开考",
  86. IN_PROCESS: "过程中",
  87. };
  88. // 审阅状态
  89. export const APPROVE_STATUS = {
  90. 0: "未审阅",
  91. 1: "已审阅",
  92. };
  93. // 重考方式
  94. export const REEXAM_TYPE = {
  95. 0: "批次内",
  96. 1: "换批次",
  97. };
  98. // 重考原因
  99. export const REEXAM_REASON = {
  100. EXCEPTION_TIME_OUT: "异常处理时效过期",
  101. BREAK_TIME_OUT: "断点续考次数用完",
  102. INVIGILATE_MISS: "监考人员误操作",
  103. };
  104. // 通讯状态
  105. export const CLIENT_WEBSOCKET_STATUS = {
  106. ON_LINE: 1,
  107. OFF_LINE: 0,
  108. };
  109. // 推流通讯
  110. export const MONITOR_STATUS_SOURCE = {
  111. INIT: 1,
  112. STOP: 0,
  113. START: 1,
  114. FINISH: 0,
  115. };
  116. export const IMPORT_EXPORT_TASKS = [
  117. { code: "CALCULATE_EXAM_SCORE", name: "考试重新算分" },
  118. { code: "IMPORT_EXAM_STUDENT", name: "导入考生" },
  119. { code: "IMPORT_EXAM_PAPER", name: "导入试卷" },
  120. { code: "IMPORT_INVIGILATE_USER", name: "导入监考员" },
  121. { code: "EXPORT_INVIGILATE_USER", name: "导出监考员" },
  122. { code: "EXPORT_EXAM_STUDENT", name: "导出考生" },
  123. ];
  124. let domain;
  125. if (process.env.VUE_APP_SELF_DEFINE_DOMAIN === "true") {
  126. domain = window.localStorage.getItem("domain_in_url");
  127. }
  128. if (!domain) domain = window.location.hostname.split(".")[0];
  129. export const ORG_CODE = domain;