litian
2024-09-02 b0e2bf29dd96e7100f06b27997a6d4c6c3630374
ceshi
3个文件已修改
129 ■■■■ 已修改文件
pages/digitalCourses/digitalCoursesDetails/index.js 95 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/digitalCourses/digitalCoursesDetails/index.wxml 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/digitalCourses/digitalCoursesDetails/index.wxss 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/digitalCourses/digitalCoursesDetails/index.js
@@ -2,8 +2,7 @@
const app = getApp()
import SparkMD5 from 'spark-md5'
import FormData from '../../../utils/formdata/index.js';
// import Wxml2Canvas from 'wxml2canvas';
// const Wxml2Canvas = require('Wxml2Canvas')
import Wxml2Canvas from 'wxml2canvas';
import {
  worksDataBytool
} from "../../../assets/js/toolClass.js";
@@ -157,7 +156,7 @@
    this.digitalCoursesDetailsGet(options.id)
    this.getPlayerList()
    this.getType()
    this.getCertificateList()
  },
  /**
@@ -220,7 +219,6 @@
          this.setData({
            playerList: JSON.parse(res[0].value)
          })
          console.log(this.data.playerList, "playerList")
        }
      })
  },
@@ -263,7 +261,6 @@
      }
    }
    app.MG.store.getProductDetail(query).then(async res => {
      console.log(res);
      if (res.datas.purchasedSaleMethodIdList.includes(res.datas.defaultSaleMethodId)) {
        this.setData({
          isBuy: true
@@ -311,7 +308,7 @@
        })
      }
      this.getAboutBook(res.datas.productLinkInfo[res.datas.productLinkInfo.length - 1].LinkPath)
      this.getCertificateList()
      this.setData({
        lecturerList: lecturer,
        digitalsData: res.datas,
@@ -347,7 +344,9 @@
    this.setData({
      tabValue: value
    })
    console.log(this.data.tabValue);
    if (this.data.tabValue == 1) {
      this.saveAsImage()
    }
    if (this.data.tabValue == 2) {
      this.getResource()
      this.getRelationBook()
@@ -361,7 +360,6 @@
  },
  selectChange(event) {
    console.log(event)
    const value = event.target.dataset.value
    this.setData({
      selectActive: value
@@ -614,7 +612,6 @@
            isTextBookBuy: false
          })
        }
        console.log(this.data.relationTextBook, "jc")
      })
  },
@@ -622,6 +619,27 @@
    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");
    if (!token) {
      return wx.getUserProfile({
        desc: "用户登录",
        success: (res) => {
          console.log(res);
        },
      });
    }
    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}`,
    });
  },
  // 获取相关课程
@@ -665,7 +683,6 @@
        this.setData({
          relatedBookData: bookArr
        })
        console.log(this.data.relatedBookData);
      } else {
        this.setData({
          relatedBookData: []
@@ -743,7 +760,6 @@
      // 发起订单初始化请求并等待结果
      const res = await app.MG.store.initOrder(query);
      // 获取订单号并赋值给 orderNumber.value
      console.log(res, 'res456');
      bookOrdersId = res.orderNumber;
      // 检查订单号是否存在
      if (bookOrdersId) {
@@ -768,9 +784,7 @@
            url,
          });
        }
      } else {
        console.log(222);
      }
      } else {}
    } else {
      wx.showToast({
        title: "商品不在有效期",
@@ -792,21 +806,48 @@
  },
  //申请证书
  async saveAsImage() {
    await nextTick()
    let query = wx.createSelectorQuery();
    let value = query.select("#pubCertificate").boundingClientRect();
    Wxml2Canvas(value).then((canvas) => {
      const img = canvas.toDataURL('image/png')
      this.setData({
        cbzsImg: img,
      })
    })
    let query = wx.createSelectorQuery().in(this);
    query.select("#pubCertificate").boundingClientRect();
    query.exec(function (res) {
      console.log("View 的信息:", res[0]);
    });
    console.log(value, 123)
    let drawImage = new Wxml2Canvas({
      element: 'pubCertificate', // canvas节点的id,
      obj: that, // 在组件中使用时,需要传入当前组件的this
      width: this.width * 2, // 宽高
      height: this.height * 2,
      background: '#fff', // 默认背景色
      progress(percent) { // 绘制进度
      },
      finish(url) {
        console.log("创建的图片", url);
      },
      error(res) {
        console.log(res);
        // uni.hideLoading()
        // 画失败的原因
      }
    }, this);
    // const canvas = Wxml2Canvas.wxmlToCanvas(value);
    // // 转换为图片
    // const img = Wxml2Canvas.canvasToTempImage(canvas);
    // const path = Wxml2Canvas.canvasToTempFilePath(canvas);
    // console.log(canvas)
    // Wxml2Canvas(value).then((canvas) => {
    //   const img = canvas.toDataURL('image/png')
    //   this.setData({
    //     cbzsImg: img,
    //   })
    // })
    // Wxml2Canvas(textCertificate.value).then((canvas1) => {
    //   const img1 = canvas1.toDataURL('image/png')
    //   rzzsImg.value = img1
    // })
    pubCertificateHide.value = false
    this.setData({
      pubCertificateHide: false,
    })
  },
  //获取字段
  getType() {
@@ -839,6 +880,7 @@
          })
        }
      })
    })
  },
@@ -905,7 +947,6 @@
          // encoding: 'binary', //编码格式
          success: ress => {
            //成功的回调
            console.log(ress.data, 45613489)
            let spark = new SparkMD5.ArrayBuffer();
            spark.append(ress.data);
            let md5 = spark.end(false);
@@ -935,7 +976,6 @@
                  if (res.statusCode == 200) {
                    resolve(res.data);
                    if (res.data) {
                      console.log(md5, "md5555")
                      that.setData({
                        'userInfo.userPicture': app.config.requestCtx + `/file/GetPreViewImage?md5=` + md5,
                        pictureMd5: md5
@@ -1094,7 +1134,6 @@
    const {
      trigger
    } = e.detail;
    console.log(trigger);
    this.setData({
      visible: false,
    });
pages/digitalCourses/digitalCoursesDetails/index.wxml
@@ -101,8 +101,9 @@
              </view>
            </view>
          </view>
          <!-- <view id="pubCertificate" wx:if="pubCertificateHide">
            <image src="/static/images/certificate/szkc.jpg" mode="" class="bgImg" />
          <canvas canvas-id="share"></canvas>
          <view id="pubCertificate" wx:if="pubCertificateHide">
            <image src="https://jsek.bnuic.com/home/certificate/szkc.jpg" mode="" class="bgImg" />
            <view class="certificateInfo">
              <view class="bookName">{{digitalsData.name}}</view>
              <view class="author">{{digitalsData.courseLeader || '-' }}</view>
@@ -113,7 +114,7 @@
              <view class="website">{{website}}</view>
              <view class="codeBox"></view>
            </view>
          </view> -->
          </view>
        </t-tab-panel>
        <t-tab-panel icon="{{ tabValue == '2' ? courseLearningClick : courseLearning}}" label="课程学习" value="2">
          <view class="course-content">
@@ -137,6 +138,24 @@
                </tree>
              </view>
              <view wx:if="{{selectActive == 'test'}}">
                <view class="testBtnBox">
                  <view class="textTile">共{{}}个</view>
                  <view class="note-btn">
                    <t-button theme="primary" class="make-note" bind:tap="goMycollect" data-answerType="errorQuestion" style="width: 220rpx">
                      <view slot="content" class="btn-content">
                        <image src="/static/images/bookService/detail/cuoti.png" />
                        <text class="note-btn-text">我的错题</text>
                      </view>
                    </t-button>
                    <t-button theme="primary" class="make-note" bind:tap="goMycollect" data-answerType="collectQuestion" style="width: 220rpx;margin-left:10rpx;">
                      <view slot="content" class="btn-content">
                        <image src="/static/images/bookService/detail/wodeshoucang.png" />
                        <text class="note-btn-text">我的收藏</text>
                      </view>
                    </t-button>
                  </view>
                </view>
                <testTree id="tree" openIds="{{openTeachids}}" bookInfo="{{digitalsData}}" tab="{{tab}}" treeList="{{testList}}"></testTree>
              </view>
            </view>
pages/digitalCourses/digitalCoursesDetails/index.wxss
@@ -542,6 +542,15 @@
}
.testBtnBox {
  display: flex;
  justify-content: space-between;
  padding: 20rpx 32rpx;
  margin-top: 30rpx;
  border-top: 2rpx solid #ededed;
  border-bottom: 2rpx solid #ededed;
}
.textTile {
  display: flex;
  align-items: center;