闫增涛
2025-03-28 38cd76c5f05fd55855038e2d393074e27909c63d
剩余页面登录迁移
7个文件已修改
807 ■■■■■ 已修改文件
pages/digitalCourses/digitalCoursesDetails/components/note/note.js 144 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/digitalCourses/digitalCoursesDetails/components/question/question.js 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/digitalCourses/digitalCoursesDetails/components/testTree/index.js 115 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/digitalCourses/digitalCoursesDetails/components/tree/index.js 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/digitalCourses/digitalCoursesDetails/components/tree/index.wxml 135 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/digitalCourses/digitalCoursesDetails/index.js 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/digitalTextbooks/digitalTextbooksDetails/index.js 345 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/digitalCourses/digitalCoursesDetails/components/note/note.js
@@ -1,5 +1,8 @@
// pages/bookServices/detail/components/note/note.js
const app = getApp();
import {
  loginInfo
} from '../../../../../assets/js/login';
Component({
  /**
   * 组件的属性列表
@@ -15,8 +18,7 @@
   * 组件的初始数据
   */
  data: {
    inputStyle:
      "border: 2rpx solid rgba(220,220,220,1);border-radius: 12rpx; padding:16rpx",
    inputStyle: "border: 2rpx solid rgba(220,220,220,1);border-radius: 12rpx; padding:16rpx",
    placeholderstyle: "font-size:28rpx",
    flag: false, // 输入框是否显示
    submitType: "new", //  新建 or 编辑
@@ -64,10 +66,15 @@
      });
    },
    openDialog() {
      this.setData({
        submitTitle: this.properties.bookInfo.name,
        showNoteDialog: true,
      });
      const token = wx.getStorageSync(app.config.tokenKey)
      if (token) {
        this.setData({
          submitTitle: this.properties.bookInfo.name,
          showNoteDialog: true,
        });
      } else {
        loginInfo(app, (data) => {})
      }
    },
    closeDialog() {
      this.setData({
@@ -144,63 +151,82 @@
    },
    // 获取笔记列表
    async getNoteList() {
      if (!this.data.isMore) {
        this.setData({
          loading: true,
        });
      }
      this.setData({
        noList: false,
      });
      let topicId;
      await app.MG.ugc
        .getProductUserSubmitTopic({
          productId: this.properties.bookInfo.id,
          appRefCode: app.config.appRefCode,
        })
        .then((res) => {
          if (res) {
            topicId = res.id;
          } else {
            return wx.showToast({
              icon: "error",
              title: "查询失败",
            });
          }
        });
      // loadings.value.bookResource = true
      let query = {
        start: 0,
        size: this.data.pageCount.page * 5,
        messageType: "note",
        sort: {
          type: "Desc",
          field: "CreateDate",
        },
        appRefCode: app.config.appRefCode,
        topicIdOrRefCode: topicId + "",
      };
      await app.MG.ugc.getTopicMessageList(query).then((res) => {
        if (!res.datas.length) {
          return this.setData({
            loading: false,
            noList: true,
            noteList: res.datas,
      const getFun = async () => {
        if (!this.data.isMore) {
          this.setData({
            loading: true,
          });
        }
        // notePage.value.total = res.totalSize
        res.datas.forEach((item) => {
          item.compliceHover = false;
          item.deleteHover = false;
          item.createDate = this.convertTimestamp(item.createDate);
        });
        this.setData({
          "pageCount.total": res.totalSize,
          noteList: res.datas,
          loading: false,
          noList: false,
        });
      });
        let topicId;
        await app.MG.ugc
          .getProductUserSubmitTopic({
            productId: this.properties.bookInfo.id,
            appRefCode: app.config.appRefCode,
          })
          .then((res) => {
            if (res) {
              topicId = res.id;
            } else {
              return wx.showToast({
                icon: "error",
                title: "查询失败",
              });
            }
          });
        let query = {
          start: 0,
          size: this.data.pageCount.page * 5,
          messageType: "note",
          sort: {
            type: "Desc",
            field: "CreateDate",
          },
          appRefCode: app.config.appRefCode,
          topicIdOrRefCode: topicId + "",
        };
        await app.MG.ugc.getTopicMessageList(query).then((res) => {
          if (!res.datas.length) {
            return this.setData({
              loading: false,
              noList: true,
              noteList: res.datas,
            });
          }
          // notePage.value.total = res.totalSize
          res.datas.forEach((item) => {
            item.compliceHover = false;
            item.deleteHover = false;
            item.createDate = this.convertTimestamp(item.createDate);
          });
          this.setData({
            "pageCount.total": res.totalSize,
            noteList: res.datas,
            loading: false,
            noList: false,
          });
        });
      }
      const token = wx.getStorageSync(app.config.tokenKey)
      if (!token) {
        loginInfo(app, (data) => {
          if (data) {
            getFun()
          } else {
            this.setData({
              loading: false,
              noList: true,
              noteList: [],
            });
          }
        })
      } else {
        getFun()
      }
    },
    // 新建笔记接口
    async makeNote() {
@@ -342,4 +368,4 @@
      });
    },
  },
});
});
pages/digitalCourses/digitalCoursesDetails/components/question/question.js
@@ -1,5 +1,8 @@
// pages/bookServices/detail/components/note/note.js
const app = getApp();
import {
  loginInfo
} from '../../../../../assets/js/login';
import moment from 'moment'
Component({
  /**
@@ -67,10 +70,15 @@
      });
    },
    openDialog() {
      this.setData({
        submitTitle: this.properties.bookInfo.name,
        showNoteDialog: true,
      });
      const token = wx.getStorageSync(app.config.tokenKey)
      if (token) {
        this.setData({
          submitTitle: this.properties.bookInfo.name,
          showNoteDialog: true,
        });
      } else {
        loginInfo(app, (data) => {})
      }
    },
    closeDialog() {
      this.setData({
pages/digitalCourses/digitalCoursesDetails/components/testTree/index.js
@@ -1,4 +1,7 @@
const app = getApp();
import {
  loginInfo
} from '../../../../../assets/js/login';
Component({
  properties: {
    treeList: {
@@ -43,66 +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 isTry = e.currentTarget.dataset.istry;
      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,
          },
        });
      }
      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,
        },
      };
      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()
      }
    },
  },
});
pages/digitalCourses/digitalCoursesDetails/components/tree/index.js
@@ -1,4 +1,7 @@
const app = getApp();
import {
  loginInfo
} from '../../../../../assets/js/login';
Component({
  properties: {
    treeList: {
@@ -114,9 +117,9 @@
          url: `${url}?productLinkPath=${item.productLinkPath}&parentProductLinkPath=${parentProductLinkPath}&parentName=${parentName}&activeId=${item.id}&bookId=${this.properties.bookInfo.id}&bookName=${this.properties.bookInfo.name}&cmsId=${this.properties.bookInfo.rootCmsItemId}&formPath=jsek_cloudLearning&storeInfo=${app.config.digitalCourses}`,
        });
      } else {
        loginInfo(app, (data) => {})
      }
    },
  },
});
pages/digitalCourses/digitalCoursesDetails/components/tree/index.wxml
@@ -1,14 +1,37 @@
<view class="tree">
  <t-collapse default-value="{{openIds}}" catchchange="handleChange">
    <view wx:for="{{treeList}}" wx:for-item="item" wx:for-index="index" wx:key="id" wx:if="{{item.sysType== 'CmsItem' }}">
      <view class="listItems" wx:if="{{item.childrenFolderCount <= 0 && item.sysType == 'CmsItem'}}">
    <view
      wx:for="{{treeList}}"
      wx:for-item="item"
      wx:for-index="index"
      wx:key="id"
      wx:if="{{item.sysType== 'CmsItem' }}"
    >
      <view
        class="listItems"
        wx:if="{{item.childrenFolderCount <= 0 && item.sysType == 'CmsItem'}}"
      >
        <view class="itemsInfo">
          <view class="contentBox" >
          <view class="contentBox">
            <!-- 云学习 图标 -->
            <view class="box-image fl-cn" style="width: 80%" bind:tap="goPlayer" data-item="{{item}}" data-parent="{{''}}">
            <view
              class="box-image fl-cn"
              style="width: 80%"
              bind:tap="goPlayer"
              data-item="{{item}}"
              data-parent="{{''}}"
            >
              <view class="teach-icon fl-cn">
                <image wx:if="{{item.selectType == 'audio' || item.learnSelectType == 'audio'}}" src="/static/images/bookService/detail/audioIcon.png" mode="aspectFill" />
                <image wx:elif="{{item.selectType == 'video' || item.learnSelectType == 'video'}}" src="/static/images/bookService/detail/video.png" mode="aspectFill" />
                <image
                  wx:if="{{item.selectType == 'audio' || item.learnSelectType == 'audio'}}"
                  src="/static/images/bookService/detail/audioIcon.png"
                  mode="aspectFill"
                />
                <image
                  wx:elif="{{item.selectType == 'video' || item.learnSelectType == 'video'}}"
                  src="/static/images/bookService/detail/video.png"
                  mode="aspectFill"
                />
                <image
                  wx:elif="{{item.selectType == 'pdf' || item.learnSelectType == 'pdf'}}"
                  src="/static/images/bookService/detail/pdf.png"
@@ -45,21 +68,43 @@
                  mode="aspectFill"
                />
                <!-- 资源无文件内容图标 -->
                <image wx:else src="/static/images/bookService/detail/word.png" mode="" />
                <image
                  wx:else
                  src="/static/images/bookService/detail/word.png"
                  mode=""
                />
              </view>
              <!-- 名称 -->
              <text class="name" style="width: 100%">{{item.name || '-'}}</text>
              <text>{{item.progress ? item.progress : 0}}%</text>
            </view>
            <view class="seeBox"  wx:if="{{!isBuy && citem.freeFile ? true : false}}" bind:tap="goPlayer" data-item="{{citem}}" data-parent="" data-isTry="{{true}}">
            <view
              class="seeBox"
              wx:if="{{!isBuy && citem.freeFile ? true : false}}"
              bind:tap="goPlayer"
              data-item="{{citem}}"
              data-parent=""
              data-isTry="{{true}}"
            >
              <!-- 云学习试看图标 -->
              <image src="/static/images/bookService/detail/shikan.png" class="testSee" wx:if="{{!isBuy && item.freeFile ? true : false}}"></image>
              <image
                src="/static/images/bookService/detail/shikan.png"
                class="testSee"
                wx:if="{{!isBuy && item.freeFile ? true : false}}"
              ></image>
            </view>
          </view>
        </view>
      </view>
    </view>
    <t-collapse-panel wx:for="{{treeList}}" wx:for-item="item" wx:for-index="index" wx:key="id" value="{{item.id}}" wx:if="{{item.sysType == 'CmsFolder' }}">
    <t-collapse-panel
      wx:for="{{treeList}}"
      wx:for-item="item"
      wx:for-index="index"
      wx:key="id"
      value="{{item.id}}"
      wx:if="{{item.sysType == 'CmsFolder' }}"
    >
      <view slot="header" class="header-title">
        <view class="title-checkBox" catchtap="catchTap">
          <!-- 章节名 -->
@@ -68,16 +113,38 @@
          </view>
        </view>
      </view>
      <view class="list" wx:for="{{item.children}}" wx:for-item="citem" wx:for-index="cindex" wx:key="cindex">
      <view
        class="list"
        wx:for="{{item.children}}"
        wx:for-item="citem"
        wx:for-index="cindex"
        wx:key="cindex"
      >
        <!-- // 判断 无子项 且为商品item 直接显示 -->
        <view class="listItems" wx:if="{{citem.childrenFolderCount <= 0 && citem.sysType == 'CmsItem'}}">
        <view
          class="listItems"
          wx:if="{{citem.childrenFolderCount <= 0 && citem.sysType == 'CmsItem'}}"
        >
          <view class="itemsInfo">
            <view class="contentBox" >
            <view class="contentBox">
              <!-- 云学习 图标 -->
              <view class="box-image fl-cn" bind:tap="goPlayer" data-item="{{citem}}" data-parent="{{item}}">
              <view
                class="box-image fl-cn"
                bind:tap="goPlayer"
                data-item="{{citem}}"
                data-parent="{{item}}"
              >
                <view class="teach-icon fl-cn">
                  <image wx:if="{{citem.selectType == 'audio' || citem.learnSelectType == 'audio'}}" src="/static/images/bookService/detail/audioIcon.png" mode="aspectFill" />
                  <image wx:elif="{{citem.selectType == 'video' || citem.learnSelectType == 'video'}}" src="/static/images/bookService/detail/video.png" mode="aspectFill" />
                  <image
                    wx:if="{{citem.selectType == 'audio' || citem.learnSelectType == 'audio'}}"
                    src="/static/images/bookService/detail/audioIcon.png"
                    mode="aspectFill"
                  />
                  <image
                    wx:elif="{{citem.selectType == 'video' || citem.learnSelectType == 'video'}}"
                    src="/static/images/bookService/detail/video.png"
                    mode="aspectFill"
                  />
                  <image
                    wx:elif="{{citem.selectType == 'pdf' || citem.learnSelectType == 'pdf'}}"
                    src="/static/images/bookService/detail/pdf.png"
@@ -114,21 +181,45 @@
                    mode="aspectFill"
                  />
                  <!-- 资源无文件内容图标 -->
                  <image wx:else src="/static/images/bookService/detail/word.png" mode="" />
                  <text class="name" style="width:400rpx">{{citem.name || '-'}}</text>
                  <image
                    wx:else
                    src="/static/images/bookService/detail/word.png"
                    mode=""
                  />
                  <text class="name" style="width: 400rpx"
                    >{{citem.name || '-'}}</text
                  >
                </view>
                <!-- 名称 -->
                <text>{{citem.progress ? citem.progress : 0}}%</text>
              </view>
              <view class="seeBox" wx:if="{{!isBuy && citem.freeFile ? true : false}}" bind:tap="goPlayer" data-item="{{citem}}" data-parent="{{item}}" data-isTry="{{true}}">
              <view
                class="seeBox"
                wx:if="{{!isBuy && citem.freeFile ? true : false}}"
                bind:tap="goPlayer"
                data-item="{{citem}}"
                data-parent="{{item}}"
                data-isTry="{{true}}"
              >
                <!-- 云学习试看图标 -->
                <image src="/static/images/bookService/detail/shikan.png" class="testSee" ></image>
                <image
                  src="/static/images/bookService/detail/shikan.png"
                  class="testSee"
                ></image>
              </view>
            </view>
          </view>
        </view>
        <!-- // 判断 不是商品 有子项 递归组件 -->
        <tree wx:if="{{ citem.sysType == 'CmsFolder' }}" bookInfo="{{bookInfo}}" treeList="{{[citem]}}" learnList="{{learnList}}" itemId="{{itemId}}" openIds="{{openIds}}" isBuy="{{isBuy}}"></tree>
        <tree
          wx:if="{{ citem.sysType == 'CmsFolder' }}"
          bookInfo="{{bookInfo}}"
          treeList="{{[citem]}}"
          learnList="{{learnList}}"
          itemId="{{itemId}}"
          openIds="{{openIds}}"
          isBuy="{{isBuy}}"
        ></tree>
      </view>
      <!-- 暂无数据 -->
      <view wx:if="{{!item.children || !item.children.length}}" class="noData">
@@ -143,4 +234,4 @@
      </view>
    </t-collapse-panel>
  </t-collapse>
</view>
</view>
pages/digitalCourses/digitalCoursesDetails/index.js
@@ -167,8 +167,9 @@
      bookId: options.id,
      bookPath: parentPath.join('\\')
    })
    const token = wx.getStorageSync(app.config.tokenKey)
    this.digitalCoursesDetailsGet(options.id)
    this.getPlayerList()
    if (token) this.getPlayerList()
    this.getType()
  },
  logInFun(callback) {
@@ -193,7 +194,8 @@
   */
  onShow() {
    if (this.data.tabValue == 2 && this.data.selectActive == 'learn') {
      this.getPlayerList()
      const token = wx.getStorageSync(app.config.tokenKey)
      if (token) this.getPlayerList()
      this.getResource()
      this.getRelationBook()
    }
@@ -506,7 +508,8 @@
      pading: {
        start: 99,
        size: 0
      }
      },
    }
    app.MG.store.getProductDetail(query).then((res) => {
      let test = []
@@ -742,30 +745,32 @@
  },
  readTextBook() {
    wx.navigateTo({
      url: '/pages/digitalCourses/digitalCoursesDetails/components/digitalRead/index?refCode=' + this.data.relationTextBook.refCode + '&tryPageCount=' + this.data.relationTextBook.probationPage + '&isTextBookBuy=' + this.data.isTextBookBuy
    })
    const token = wx.getStorageSync(app.config.tokenKey)
    if (!token) {
      this.logInFun(() => {})
    } else {
      wx.navigateTo({
        url: '/pages/digitalCourses/digitalCoursesDetails/components/digitalRead/index?refCode=' + this.data.relationTextBook.refCode + '&tryPageCount=' + this.data.relationTextBook.probationPage + '&isTextBookBuy=' + this.data.isTextBookBuy
      })
    }
  },
  //在线测试我的收藏、我的错题
  goMycollect(e) {
    const answertype = e.currentTarget.dataset.answertype;
    const token = wx.getStorageSync("jsek-token");
    const token = wx.getStorageSync(app.config.tokenKey)
    if (!token) {
      return wx.getUserProfile({
        desc: "用户登录",
        success: (res) => {
          console.log(res);
        },
      this.logInFun(() => {})
    } else {
      const answertype = e.currentTarget.dataset.answertype;
      wx.navigateTo({
        url: `/packageBookService/pages/bookServices/examination/examination?bookId=${
          this.data.digitalsData.id
        }&rootCmsItemId=${this.data.digitalsData.rootCmsItemId}&answerTitle=${
          answertype == "collectQuestion" ? "我的收藏" : "我的错题"
        }&answerType=${answertype}&storeInfo=${app.config.digitalCourses}`,
      });
    }
    wx.navigateTo({
      url: `/packageBookService/pages/bookServices/examination/examination?bookId=${
        this.data.digitalsData.id
      }&rootCmsItemId=${this.data.digitalsData.rootCmsItemId}&answerTitle=${
        answertype == "collectQuestion" ? "我的收藏" : "我的错题"
      }&answerType=${answertype}&storeInfo=${app.config.digitalCourses}`,
    });
  },
  onCorrelationBook(e) {
pages/digitalTextbooks/digitalTextbooksDetails/index.js
@@ -88,21 +88,19 @@
    this.setData({
      digitalTextId: options.id
    })
    const token = wx.getStorageSync(app.config.tokenKey)
    if (!token) {
      loginInfo(app, (data) => {
        if (data) {
          this.digitalTextbooksDetailsGet(this.data.digitalTextId)
          this.getType()
          this.getCertificateList()
        } else {
        }
      })
    }
    this.digitalTextbooksDetailsGet(this.data.digitalTextId)
    this.getType()
    this.getCertificateList()
  },
  logInFun(callback) {
    loginInfo(app, (data) => {
      if (data) {
        this.digitalTextbooksDetailsGet(this.data.digitalTextId)
        this.getType()
        this.getCertificateList()
        callback()
      }
    })
  },
  // 格式化日期
  // 格式化日期
@@ -377,47 +375,55 @@
    })
  },
  // 图书添加购物车
  async addBookShopcCar() {
    if (!this.data.expire) {
      const shoppingCartGetId = [];
      let query = {
        start: 0,
        size: 9999,
        filterList: [],
        searchList: [],
      };
      const res = await app.MG.store.getShoppingCartProductList(query);
      res.datas.forEach((item) => {
        shoppingCartGetId.push(item.saleMethod.id);
      });
      const determine = shoppingCartGetId.some(
        (item) => item == this.data.digitalsData.defaultSaleMethodId
      );
      if (!determine) {
  addBookShopcCar() {
    const addFun = async () => {
      if (!this.data.expire) {
        const shoppingCartGetId = [];
        let query = {
          requests: [{
            saleMethodId: this.data.digitalsData.defaultSaleMethodId,
            storeEventId: null,
            agentCode: "电子书",
          }, ],
          start: 0,
          size: 9999,
          filterList: [],
          searchList: [],
        };
        const addRes = app.MG.store.addShoppingCart(query);
        this.showSuccessToast();
        const res = await app.MG.store.getShoppingCartProductList(query);
        res.datas.forEach((item) => {
          shoppingCartGetId.push(item.saleMethod.id);
        });
        const determine = shoppingCartGetId.some(
          (item) => item == this.data.digitalsData.defaultSaleMethodId
        );
        if (!determine) {
          let query = {
            requests: [{
              saleMethodId: this.data.digitalsData.defaultSaleMethodId,
              storeEventId: null,
              agentCode: "电子书",
            }, ],
          };
          const addRes = app.MG.store.addShoppingCart(query);
          this.showSuccessToast();
        } else {
          Toast({
            context: this,
            selector: "#t-toast",
            message: "该教材已在购物车,请勿重复添加",
            theme: "warning",
            direction: "column",
          });
        }
      } else {
        Toast({
          context: this,
          selector: "#t-toast",
          message: "该教材已在购物车,请勿重复添加",
          theme: "warning",
          direction: "column",
        wx.showToast({
          title: "商品不在有效期",
          icon: "none",
          duration: 1000,
        });
      }
    }
    const token = wx.getStorageSync(app.config.tokenKey)
    if (!token) {
      this.logInFun(() => {})
    } else {
      wx.showToast({
        title: "商品不在有效期",
        icon: "none",
        duration: 1000,
      });
      addFun()
    }
  },
  showSuccessToast() {
@@ -432,91 +438,78 @@
  //购买按钮
  async buyBtn() {
    if (!this.data.expire) {
      let bookOrdersId = "";
      let query = {
        remarks: "电子书",
        requests: [{
          saleMethodId: this.data.digitalsData.defaultSaleMethodId,
          count: 1,
        }, ],
      };
      // 发起订单初始化请求并等待结果
      const res = await app.MG.store.initOrder(query);
      // 获取订单号并赋值给 orderNumber.value
      bookOrdersId = res.orderNumber;
      // 检查订单号是否存在
      if (bookOrdersId) {
        if (this.data.digitalsData.price == "0.00") {
          app.MG.store
            .confirmOrder({
              orderNum: bookOrdersId,
            })
            .then((res) => {
              this.digitalTextbooksDetailsGet(this.data.digitalTextId)
              if (res) {
                wx.showToast({
                  title: "领取成功",
                  icon: "none",
                  duration: 1000,
                });
                this.getBookInfo(this.data.bookDetail.id);
              }
  buyBtn() {
    const buyFun = async () => {
      if (!this.data.expire) {
        let bookOrdersId = "";
        let query = {
          remarks: "电子书",
          requests: [{
            saleMethodId: this.data.digitalsData.defaultSaleMethodId,
            count: 1,
          }, ],
        };
        // 发起订单初始化请求并等待结果
        const res = await app.MG.store.initOrder(query);
        // 获取订单号并赋值给 orderNumber.value
        bookOrdersId = res.orderNumber;
        // 检查订单号是否存在
        if (bookOrdersId) {
          if (this.data.digitalsData.price == "0.00") {
            app.MG.store
              .confirmOrder({
                orderNum: bookOrdersId,
              })
              .then((res) => {
                this.digitalTextbooksDetailsGet(this.data.digitalTextId)
                if (res) {
                  wx.showToast({
                    title: "领取成功",
                    icon: "none",
                    duration: 1000,
                  });
                  this.getBookInfo(this.data.bookDetail.id);
                }
              });
          } else {
            const url = "/pages/cart/paymentPage/index?orderNumber=" + bookOrdersId + '&onNorderSaleMethod=' + res.saleMethodLinks[0].orderSaleMethod.id;
            wx.navigateTo({
              url,
            });
        } else {
          const url = "/pages/cart/paymentPage/index?orderNumber=" + bookOrdersId + '&onNorderSaleMethod=' + res.saleMethodLinks[0].orderSaleMethod.id;
          wx.navigateTo({
            url,
          });
        }
      } else {}
          }
        } else {}
      } else {
        wx.showToast({
          title: "商品不在有效期",
          icon: "none",
          duration: 1000,
        });
      }
    }
    const token = wx.getStorageSync(app.config.tokenKey)
    if (!token) {
      this.logInFun(() => {})
    } else {
      wx.showToast({
        title: "商品不在有效期",
        icon: "none",
        duration: 1000,
      });
      buyFun()
    }
  },
  goRead() {
    // 首页测试登录功能,后续注释
    // 检查登录状态
    const token = wx.getStorageSync(app.config.tokenKey)
    if (!token) {
      loginInfo(app, (data) => {
        // 如果不是第一次登录,会执行回调
        if (data) {
          // 登录成功,自动记录token和用户信息,并返回true
          const item = this.data.digitalsData
          wx.navigateTo({
            url: '/pages/digitalTextbooks/digitalTextbooksDetails/components/webView/index?refCode=' + item.refCode + "&tryPageCount=" + item.probationPage
          });
        } else {
          // 出现错误,返回false
        }
      })
    } else {
      // 如果是第一次登录,会跳转至绑定用户信息页面,填写完用户信息后进行登录并储存token和用户信息,结束后跳转回当前页面(携带页面参数)
    const gotoPageFun = () => {
      const item = this.data.digitalsData
      wx.navigateTo({
        url: '/pages/digitalTextbooks/digitalTextbooksDetails/components/webView/index?refCode=' + item.refCode + "&tryPageCount=" + item.probationPage
      });
    }
    // let token = wx.getStorageSync(app.config.tokenKey)
    // if (token) {
    // }
    const token = wx.getStorageSync(app.config.tokenKey)
    if (!token) {
      this.logInFun(() => {})
    } else {
      gotoPageFun()
    }
  },
  onTabClick(e) {
    let tab = e.currentTarget.dataset.tab;
    this.setData({
      type: tab,
@@ -606,41 +599,7 @@
    }).exec()
  },
  setCoolect() {
    // 首页测试登录功能,后续注释
    // 检查登录状态
    const token = wx.getStorageSync(app.config.tokenKey)
    if (!token) {
      loginInfo(app, (data) => {
        // 如果不是第一次登录,会执行回调
        if (data) {
          if (this.data.digitalsData.isFavourite) {
            app.MG.store
              .delProductLink({
                productIds: [this.data.digitalsData.id],
                linkType: 'FavoriteTextBooks'
              })
              .then(() => {
                this.setData({
                  "digitalsData.isFavourite": false
                })
              })
          } else {
            let params = {
              productIds: [this.data.digitalsData.id],
              linkType: 'FavoriteTextBooks'
            }
            app.MG.store.addProductLink(params).then((res) => {
              this.setData({
                "digitalsData.isFavourite": true
              })
            })
          }
        } else {
          // 出现错误,返回false
        }
      })
    } else {
    const collectFun = () => {
      if (this.data.digitalsData.isFavourite) {
        app.MG.store
          .delProductLink({
@@ -663,6 +622,12 @@
          })
        })
      }
    }
    const token = wx.getStorageSync(app.config.tokenKey)
    if (!token) {
      this.logInFun(() => {})
    } else {
      collectFun()
    }
  },
  // 我要建议
@@ -712,40 +677,48 @@
  },
  onCertificate() {
    if (!this.data.isBuy) {
      wx.showToast({
        title: "请先购买,体验完整服务",
        icon: "none",
        duration: 1000,
      });
      return false
    }
    // if (!this.data.isLearn) {
    //   wx.showToast({
    //     title: "您的学习任务还未完成,暂不能申请证书,加油哦!",
    //     icon: "none",
    //     duration: 1000,
    //   });
    //   return false
    // }
    if (this.data.isCertificate && this.data.isCertificate.state == 'WaitAudit') {
      wx.showToast({
        title: this.data.isCertificate.state == 'WaitAudit' ? "您申请的证书正在审核中" : this.data.isCertificate.state == 'Normal' ? '您已申请证书' : '',
        icon: "none",
        duration: 1000,
      });
      return false
    }
    const cateFun = () => {
      if (!this.data.isBuy) {
        wx.showToast({
          title: "请先购买,体验完整服务",
          icon: "none",
          duration: 1000,
        });
        return false
      }
      // if (!this.data.isLearn) {
      //   wx.showToast({
      //     title: "您的学习任务还未完成,暂不能申请证书,加油哦!",
      //     icon: "none",
      //     duration: 1000,
      //   });
      //   return false
      // }
      if (this.data.isCertificate && this.data.isCertificate.state == 'WaitAudit') {
        wx.showToast({
          title: this.data.isCertificate.state == 'WaitAudit' ? "您申请的证书正在审核中" : this.data.isCertificate.state == 'Normal' ? '您已申请证书' : '',
          icon: "none",
          duration: 1000,
        });
        return false
      }
    var page = getCurrentPages().pop(); // 获取当前页面实例
    page.setData({
      // 动态设置禁止滚动的样式
      disableScrollStyle: 'overflow: hidden;'
    });
    this.setData({
      dialogBox: true,
      scrollJudge: ''
    })
      var page = getCurrentPages().pop(); // 获取当前页面实例
      page.setData({
        // 动态设置禁止滚动的样式
        disableScrollStyle: 'overflow: hidden;'
      });
      this.setData({
        dialogBox: true,
        scrollJudge: ''
      })
    }
    const token = wx.getStorageSync(app.config.tokenKey)
    if (!token) {
      this.logInFun(() => {})
    } else {
      cateFun()
    }
  },
  closeDialog() {
    this.setData({