|
@@ -267,11 +267,43 @@ export default {
|
|
|
},
|
|
|
async faceCompare(captureFilePath, examRecordDataId) {
|
|
|
try {
|
|
|
+ let cameraInfos;
|
|
|
+ let hasVirtualCamera = false;
|
|
|
+ if (typeof nodeRequire != "undefined") {
|
|
|
+ try {
|
|
|
+ var fs = window.nodeRequire("fs");
|
|
|
+ if (!fs.existsSync("multiCamera.exe")) return;
|
|
|
+
|
|
|
+ window.nodeRequire("node-cmd").get("multiCamera.exe", () => {
|
|
|
+ cameraInfos = fs.readFileSync("CameraInfo.txt", "utf-8");
|
|
|
+ if (cameraInfos && cameraInfos.trim()) {
|
|
|
+ cameraInfos = cameraInfos.trim();
|
|
|
+ cameraInfos = cameraInfos.replace(/\r\n/g, "");
|
|
|
+ cameraInfos = cameraInfos.replace(/\n/g, "");
|
|
|
+ console.log(cameraInfos);
|
|
|
+ this.serverLog("debug/S-001001", cameraInfos);
|
|
|
+ }
|
|
|
+ if (cameraInfos.includes("")) {
|
|
|
+ hasVirtualCamera = true;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } catch (error) {
|
|
|
+ console.log(error);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ let body = {
|
|
|
+ fileUrl: captureFilePath,
|
|
|
+ examRecordDataId
|
|
|
+ };
|
|
|
+
|
|
|
+ if (cameraInfos) {
|
|
|
+ body.cameraInfos = cameraInfos;
|
|
|
+ body.hasVirtualCamera = hasVirtualCamera;
|
|
|
+ }
|
|
|
const res = await this.$http.post(
|
|
|
- "/api/ecs_oe_student_face/examCaptureQueue/uploadExamCapture?fileUrl=" +
|
|
|
- captureFilePath +
|
|
|
- "&examRecordDataId=" +
|
|
|
- examRecordDataId
|
|
|
+ "/api/ecs_oe_student_face/examCaptureQueue/uploadExamCapture",
|
|
|
+ body
|
|
|
);
|
|
|
const fileName = res.data;
|
|
|
try {
|