QYF-GitLab1
2025-02-17 1b3fd3be47ea0c06b80db9603eb1279daa0dad07
src/assets/methods/examination.js
@@ -1,33 +1,48 @@
import MG from "@/assets/js/middleGround/WebMiddleGroundApi";
import { tokenKey } from "@/assets/js/config";
import getPublicImage from "@/assets/js/middleGround/tool";
const getQuestionList = async (oldList, questionList,activeBook) => {
// 获取题目列表
const getQuestionList = async (page, questionList, activeBook) => {
  const token = localStorage.getItem(tokenKey);
  let collectList = [];
  if (token) collectList = await getCollectList(activeBook);
  const oldAnswerData = localStorage.getItem(activeBook.name + "oldAnswerData");
  let oldData = null;
  let oldList = [];
  if (oldAnswerData) {
    oldData = JSON.parse(oldAnswerData);
  }
  if (oldData && oldData[page]) {
    oldList = oldData[page];
  }
  let cardList = [
    {
      catalogName: "单选题",
      infoList: []
      infoList: [],
    },
    {
      catalogName: "判断题",
      infoList: []
      infoList: [],
    },
    {
      catalogName: "多选题",
      infoList: []
      infoList: [],
    },
    {
      catalogName: "填空题",
      infoList: []
      infoList: [],
    },
    {
      catalogName: "简答题",
      infoList: []
    }
      infoList: [],
    },
  ];
  let singleChoiceArr = []; // 单选
  let judgeArr = []; // 判断
  let shortArr = []; // 简答
  let multipleChoiceArr = []; // 多选
  let completionArr = []; // 填空
  // 11
  for (let qindex = 0; qindex < questionList.length; qindex++) {
    const qitem = questionList[qindex];
    let query = {
@@ -47,10 +62,11 @@
        Embedded_QuestionBank_StemStyle: [],
        Embedded_QuestionBank_OptionStyle: [],
        Embedded_QuestionBank_KnowledgePoint: [],
        Embedded_QuestionBank_Difficulty: []
      }
        Embedded_QuestionBank_Difficulty: [],
      },
    };
    const res = await MG.store.getProductDetail(query);
    if (!res.datas) return false;
    res.datas.cmsDatas[0].datas.forEach((item, index) => {
      let oldObj = {};
      if (oldList) {
@@ -85,8 +101,8 @@
        isSubmit: false, // 查看解析
        isRight: null, // 是否正确
        isComplete: false,
        isCollect: true,
        isUnfold: ""
        isCollect: collectList.indexOf(qitem) > -1 ? true : false,
        isUnfold: "",
      };
      // 多选和填空答案肯为数组,要转换JSON格式
      if (
@@ -107,7 +123,7 @@
          if (item == "input") {
            questionObj.stem[i] = {
              num: index,
              data: "input"
              data: "input",
            };
            questionObj.userAnswer[index] = "";
            index++;
@@ -195,6 +211,7 @@
      }
    });
  }
  // 22
  cardList[0].infoList = singleChoiceArr;
  cardList[1].infoList = judgeArr;
  cardList[2].infoList = multipleChoiceArr;
@@ -209,8 +226,38 @@
  }
  return cardList.filter((item) => item.infoList.length > 0);
};
const getQuestionData = async (chapter, chapterData,activeBook) => {
// 获取收藏列表
const getCollectList = async (activeBook) => {
  const allCollect = [
    {
      type: "bits",
      collectList: [],
    },
    {
      type: "json",
      collectList: [],
    },
  ];
  const res = await MG.identity.getUserKey({
    domain: "collectData",
    keys: [activeBook.bookId],
  });
  try {
    const collect = JSON.parse(res[0].value);
    if (collect.length) {
      allCollect[0].collectList = collect.find(
        (citem) => citem.type == "bits"
      ).collectList;
      allCollect[1].collectList = collect.find(
        (citem) => citem.type == "json"
      ).collectList;
    }
  } catch (error) {
    console.log("暂无数据");
  }
  return allCollect.find((item) => item.type == "bits").collectList;
};
const getQuestionData = async (chapter, chapterData, activeBook) => {
  const data = { ...chapterData };
  const oldAnswerData = localStorage.getItem("oldAnswerData");
  const oldData = oldAnswerData ? JSON.parse(oldAnswerData) : {};
@@ -223,9 +270,9 @@
    if (oldChapterData) {
      oldList = oldChapterData[key];
    }
    data[key] = await getQuestionList(oldList, chapterData[key],activeBook);
    data[key] = await getQuestionList(oldList, chapterData[key], activeBook);
  }
  return data;
};
export default getQuestionData;
export default getQuestionList;