|
@@ -20,7 +20,7 @@ import { onMounted, ref } from "vue";
|
|
|
import { Modal } from "ant-design-vue";
|
|
|
import { useRouter } from "vue-router";
|
|
|
const router = useRouter();
|
|
|
-import { getStudents, countStudents } from "@/api/api";
|
|
|
+import { getStudents, countStudents, getPackages } from "@/api/api";
|
|
|
import { httpApp } from "@/plugins/axiosApp";
|
|
|
import mustache from "mustache";
|
|
|
|
|
@@ -86,7 +86,7 @@ onMounted(async () => {
|
|
|
// console.log(await imageRes.data.arrayBuffer());
|
|
|
// console.log(new Uint8Array(await imageRes.data.arrayBuffer()));
|
|
|
const index = student.sheetUrls.indexOf(sheetUrl);
|
|
|
- student.index = index;
|
|
|
+ student.index = index + 1;
|
|
|
student.examId = store.env.examId;
|
|
|
// console.log(mustache.render(config.template, student));
|
|
|
await window.electron.addWatermark(
|
|
@@ -96,7 +96,7 @@ onMounted(async () => {
|
|
|
height,
|
|
|
[config.dir, mustache.render(config.template, student)],
|
|
|
student,
|
|
|
- index,
|
|
|
+ index + 1,
|
|
|
config.trackMode
|
|
|
);
|
|
|
|
|
@@ -113,14 +113,56 @@ onMounted(async () => {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ } else if (config.type === "2") {
|
|
|
+ const res = await getPackages(store.env.examId, true, true);
|
|
|
+ const array = res.data;
|
|
|
+ totalCount.value = array.length;
|
|
|
|
|
|
- const modal = Modal.success();
|
|
|
- modal.update({
|
|
|
- title: "图片下载完成",
|
|
|
- content: "完成",
|
|
|
- onOk: () => router.back(),
|
|
|
- });
|
|
|
+ for (let i = 0; i < array.length; i++) {
|
|
|
+ const p = array[i];
|
|
|
+ p.examId = store.env.examId;
|
|
|
+ for (let i = 0; i < p.urls.length; i++) {
|
|
|
+ try {
|
|
|
+ const imageRes = await httpApp.get(p.urls[i], {
|
|
|
+ responseType: "blob",
|
|
|
+ });
|
|
|
+
|
|
|
+ const [width, height] = await getImageDim(imageRes.data);
|
|
|
+
|
|
|
+ const index = i + 1;
|
|
|
+ p.index = index;
|
|
|
+ // console.log(mustache.render(config.template, student));
|
|
|
+ await window.electron.addWatermark(
|
|
|
+ JSON.parse(JSON.stringify(store)),
|
|
|
+ await imageRes.data.arrayBuffer(),
|
|
|
+ width,
|
|
|
+ height,
|
|
|
+ [config.dir, mustache.render(config.template, p)],
|
|
|
+ p,
|
|
|
+ index,
|
|
|
+ config.trackMode
|
|
|
+ );
|
|
|
+
|
|
|
+ finishedCount.value += 1;
|
|
|
+ } catch (error) {
|
|
|
+ errorCount.value += 1;
|
|
|
+ if (config.failover) {
|
|
|
+ throw error;
|
|
|
+ } else {
|
|
|
+ console.log(p, error);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
+ const modal = Modal.success();
|
|
|
+ modal.update({
|
|
|
+ title: "图片下载完成",
|
|
|
+ content: "完成",
|
|
|
+ onOk: () => router.back(),
|
|
|
+ });
|
|
|
} catch (error) {
|
|
|
const modal = Modal.error();
|
|
|
console.log(error);
|