闫增涛
2025-03-28 38cd76c5f05fd55855038e2d393074e27909c63d
pages/digitalCourses/digitalCoursesDetails/components/testTree/index.js
@@ -1,4 +1,7 @@
const app = getApp();
import {
  loginInfo
} from '../../../../../assets/js/login';
Component({
  properties: {
    treeList: {
@@ -17,12 +20,21 @@
      type: Array,
      value: [],
    },
    isBuy: {
      type: Boolean,
      value: false,
    },
  },
  data: {},
  data: {
    isBuy: false,
  },
  ready() {},
  onLoad() {
    console.log(this.properties.openIds, "1111")
    this.setData({
      isBuy: this.properties.isBuy
    });
  },
  methods: {
@@ -34,59 +46,66 @@
        openIds: e.detail.value,
      });
    },
    async goTest(e) {
      console.log(e, 666)
      const value = e.currentTarget.dataset.item;
      const parent = e.currentTarget.dataset.parent;
      const token = wx.getStorageSync("jsek-token");
      if (!token) {
        return wx.getUserProfile({
          desc: "用户登录",
          success: (res) => {
            console.log(res);
    goTest(e) {
      const gotoPageFun = async () => {
        const value = e.currentTarget.dataset.item;
        const parent = e.currentTarget.dataset.parent;
        const isTry = e.currentTarget.dataset.istry;
        const token = wx.getStorageSync("jsek-token");
        if (!isTry && !this.data.isBuy) {
          return wx.showToast({
            icon: 'error',
            title: '请先购买该课程',
          })
        }
        // 获取章节下是否有题目
        let idPathList = [];
        let query = {
          storeInfo: app.config.digitalCourses,
          path: "*",
          queryType: "*",
          productId: this.properties.bookInfo.id,
          cmsPath: value.productLinkPath,
          pading: {
            start: 0,
            size: 999,
          },
        });
      }
      // 获取章节下是否有题目
      let idPathList = [];
      let query = {
        storeInfo: app.config.digitalCourses,
        path: "*",
        queryType: "*",
        productId: this.properties.bookInfo.id,
        cmsPath: value.productLinkPath,
        pading: {
          start: 0,
          size: 999,
        },
      };
      if (value.childrenFolderCount == 0) {
        wx.hideLoading();
        return wx.showToast({
          icon: "error",
          title: "暂无数据",
        });
      } else {
        const res = await app.MG.store.getProductDetail(query);
        res.datas.cmsDatas[0].datas.forEach((item) => {
          idPathList.push({
            id: item.id,
            name: item.name,
            productLinkPath: item.productLinkPath,
            type: item.type,
        };
        if (value.childrenFolderCount == 0) {
          wx.hideLoading();
          return wx.showToast({
            icon: "error",
            title: "暂无数据",
          });
        } else {
          const res = await app.MG.store.getProductDetail(query);
          res.datas.cmsDatas[0].datas.forEach((item) => {
            idPathList.push({
              id: item.id,
              name: item.name,
              productLinkPath: item.productLinkPath,
              type: item.type,
            });
          });
        }
        wx.hideLoading();
        wx.navigateTo({
          url: `/packageBookService/pages/bookServices/examination/examination?bookId=${
              this.properties.bookInfo.id
            }&productLinkPath=${value.productLinkPath}&rootCmsItemId=${
              this.properties.bookInfo.rootCmsItemId
            }&idPathList=${JSON.stringify(idPathList)}&answerTitle=${
              value.name
            }&answerType=${"option"}&storeInfo=${app.config.digitalCourses}`,
        });
      }
      wx.hideLoading();
      wx.navigateTo({
        url: `/packageBookService/pages/bookServices/examination/examination?bookId=${
            this.properties.bookInfo.id
          }&productLinkPath=${value.productLinkPath}&rootCmsItemId=${
            this.properties.bookInfo.rootCmsItemId
          }&idPathList=${JSON.stringify(idPathList)}&answerTitle=${
            value.name
          }&answerType=${"option"}&storeInfo=${app.config.digitalCourses}`,
      });
      const token = wx.getStorageSync(app.config.tokenKey)
      if (!token) {
        loginInfo(app, () => {})
      } else {
        gotoPageFun()
      }
    },
  },
});