zhongshujie
15 小时以前 e2bf73079051769b7b7cdc9627fc32ce64226144
packageBookService/pages/psychologyAnswer/psychologyAnswer.js
@@ -9,11 +9,12 @@
   * 页面的初始数据
   */
  data: {
    isBuy: false, // 是否需要购买
    questuionName: "", //试卷名称
    dataList: "",
    barHeight: "",
    navBarHeight: "",
    loading: false,
    loading: true,
    answerTitle: "", // 导航栏标题
    submitStatus: false, // 提交状态
    currentIndex: 0, // 当前显示的题号
@@ -37,27 +38,69 @@
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    const questuionName = options.listName
    this.setData({
      questuionName: questuionName
    })
    const systInfo = wx.getSystemInfoSync();
    const menu = wx.getMenuButtonBoundingClientRect(); // 胶囊信息
    const navBarHeight =
      (menu.top - systInfo.statusBarHeight) * 2 + menu.height; // 导航栏高度
    const token = wx.getStorageSync(app.config.tokenKey)
    if (!token) {
      loginInfo(app, (data) => {
        if (data) {
          this.init();
    // 在此进行是否购买的查询
    const questionId = options.listId;
    const query = {
      "cmsItemId": Number(questionId)
    };
    app.MG.file.checkCmsItem(query)
      .then((res) => {
        const isBuys = res;
        this.setData({
          isBuy: isBuys
        });
        if (!isBuys) {
          wx.showModal({
            icon: 'error',
            title: '温馨提示',
            content: '请购买题库,即将返回首页',
            confirmText: '确定',
            showCancel: false, // 关闭取消按钮
            success: function (res) {
              if (res.confirm) {
                wx.switchTab({
                  url: '/pages/home/home', // 替换为你的首页路径
                });
              }
            }
          });
          return; // 直接返回,避免执行后续代码
        }
        // 其他逻辑
        const questuionName = options.listName;
        this.setData({
          questionName: questuionName
        });
        const systInfo = wx.getSystemInfoSync();
        const menu = wx.getMenuButtonBoundingClientRect(); // 胶囊信息
        const navBarHeight =
          (menu.top - systInfo.statusBarHeight) * 2 + menu.height; // 导航栏高度
        const token = wx.getStorageSync(app.config.tokenKey);
        if (!token) {
          loginInfo(app, (data) => {
            if (data) {
              this.init();
            } else {
              this.init();
            }
          });
        } else {
          this.init();
        }
      })
    } else {
      this.init()
    }
      .catch((err) => {
        console.error('检查题库失败:', err);
        wx.showToast({
          icon: 'error',
          title: '加载失败,请重试'
        });
      });
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
@@ -289,6 +332,7 @@
      showId: lastItem.id
    });
  },
  // 我的错题,收藏查看解析按钮
  viewParsing() {
    if (
@@ -387,6 +431,12 @@
        radioChange(citem)
      }
    }
    const listLength = this.data.questionDataList.length - 1
    if (this.data.currentIndex < listLength) {
      this.setData({
        currentIndex: this.data.currentIndex + 1
      })
    }
  },
  // 输入框触发
  onChangeInput(e) {
@@ -484,9 +534,6 @@
    });
    this.setData({
      loading: false,
      showDialog: false,
    });
    this.setData({
      isShowDialog: true,
      submitStatus: true,
    });
@@ -494,6 +541,7 @@
  // 初始化函数
  async init(isReset) {
    this.setData({
      isShowDialog: false,
      loading: true,
    });
    const questuionName = this.data.questuionName
@@ -651,6 +699,7 @@
  },
  async restart() {
    this.setData({
      isShowDialog: false,
      currentIndex: 0,
      submitStatus: false,
    });