constants.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  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. 2: "缺考",
  48. };
  49. // 违规类型
  50. export const BREACH_REASON_TYPE = {
  51. PLAGIARIZE: "夹带抄袭",
  52. LOOK_AROUND: "左顾右盼",
  53. ILLEGAL_ITEMS: "考中携带违规物品",
  54. TAKER: "他人替考",
  55. ASSISTANCE: "他人协助作答",
  56. BLACK_LIST_SOFTWARE: "考中使用违规(远程协助、直播等)软件",
  57. OTHER: "其他",
  58. };
  59. // 违规撤销原因
  60. export const BREACH_REPEAL_TYPE = {
  61. SOFTWARE_MISSING: "软件误操作",
  62. INCONSISTENT_FACTS: "违规事实不符",
  63. CANCEL_OTHER: "其他",
  64. };
  65. // 异常状态
  66. export const EXCEPTION_TYPE = {
  67. NET_TIME_OUT: "软件误操作",
  68. MACHING_STOP: "机器硬件故障、死机",
  69. NET_TIME_BREAK: "网络断开",
  70. SOFTWARE_STOP: "软件故障",
  71. POWER_CUT: "停电",
  72. OTHER: "其他",
  73. };
  74. //
  75. export const VERIFY_EXCEPTION_TYPE = {
  76. FACE_COUNT_ERROR: "人脸数量异常",
  77. FACE_COMPARE_ERROR: "人脸比对异常",
  78. EYE_CLOSE_ERROR: "闭眼检测异常",
  79. LIVENESS_ACTION_ERROR: "活检动作错误",
  80. NONE: "无异常",
  81. REALNESS: "真实性检测异常",
  82. };
  83. // 考试状态
  84. export const EXAM_TYPE = {
  85. FIRST_START: "初次开考",
  86. RESUME_START: "恢复开考",
  87. IN_PROCESS: "过程中",
  88. };
  89. // 审阅状态
  90. export const APPROVE_STATUS = {
  91. 0: "未审阅",
  92. 1: "已审阅",
  93. };
  94. // 重考方式
  95. export const REEXAM_TYPE = {
  96. 0: "批次内",
  97. 1: "换批次",
  98. };
  99. // 重考原因
  100. export const REEXAM_REASON = {
  101. EXCEPTION_TIME_OUT: "异常处理时效过期",
  102. BREAK_TIME_OUT: "断点续考次数用完",
  103. INVIGILATE_MISS: "监考人员误操作",
  104. };
  105. // 通讯状态
  106. export const CLIENT_WEBSOCKET_STATUS = {
  107. ON_LINE: 1,
  108. OFF_LINE: 0,
  109. };
  110. // 推流通讯
  111. export const MONITOR_STATUS_SOURCE = {
  112. INIT: 1,
  113. STOP: 0,
  114. START: 1,
  115. FINISH: 0,
  116. };
  117. export const IMPORT_EXPORT_TASKS = [
  118. { code: "CALCULATE_EXAM_SCORE", name: "考试重新算分" },
  119. { code: "IMPORT_EXAM_STUDENT", name: "导入考生" },
  120. { code: "IMPORT_EXAM_PAPER", name: "导入试卷" },
  121. { code: "IMPORT_INVIGILATE_USER", name: "导入监考员" },
  122. { code: "EXPORT_INVIGILATE_USER", name: "导出监考员" },
  123. { code: "EXPORT_EXAM_STUDENT", name: "导出考生" },
  124. ];
  125. let domain;
  126. if (process.env.VUE_APP_SELF_DEFINE_DOMAIN === "true") {
  127. domain = window.localStorage.getItem("domain_in_url");
  128. }
  129. if (!domain) domain = window.location.hostname.split(".")[0];
  130. export const ORG_CODE = domain;