QYF-GitLab1
2024-12-18 2115fa126543700a7a15235bf3e5fceeb7e39e00
Merge refs/remotes/origin/master into refs/heads/master
11个文件已修改
579 ■■■■ 已修改文件
packageBookService/pages/bookServices/detail/components/testResource/testResource.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageBookService/pages/bookServices/detail/index.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageBookService/pages/bookServices/examination/components/joinGroupDialog/index.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageBookService/pages/bookServices/examination/examination.js 58 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageBookService/pages/bookServices/examination/questionList/index.js 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageBookService/pages/bookServices/examination/questionOptions/index.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/digitalCourses/digitalCoursesDetails/index.wxml 473 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/digitalCourses/digitalCoursesDetails/index.wxss 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/scanResult/index.js 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/scanResult/index.wxml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/scanResult/index.wxss 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packageBookService/pages/bookServices/detail/components/testResource/testResource.js
@@ -138,7 +138,7 @@
            this.properties.bookInfo.rootCmsItemId
          }&idPathList=${JSON.stringify(idPathList)}&answerTitle=${
            value.name
          }&answerType=${"option"}&storeInfo=${this.properties.storeInfo}&jslx=${this.properties.jslx}`,
          }&answerType=${value.refCode ? value.refCode : "option"}&storeInfo=${this.properties.storeInfo}&jslx=${this.properties.jslx}`,
        });
      }
    },
packageBookService/pages/bookServices/detail/index.js
@@ -1173,8 +1173,8 @@
                jslx: false,
              });
            } else {
              data = res.datas.cmsDatas[0].datas.filter((item) => item.type == 'questionBankFolder' &&
                item.refCode != 'jsek_interaction')
              data = res.datas.cmsDatas[0].datas.filter((item) => item.type == 'questionBankFolder' && item.refCode != 'jsek_interaction')
              // && item.refCode != 'jsek_interaction'
              that.setData({
                jslx: true,
              });
packageBookService/pages/bookServices/examination/components/joinGroupDialog/index.js
@@ -86,7 +86,7 @@
      } else {
        wx.showToast({
          icon: 'error',
          title: '请选择加入班级',
          title: '请选择后确认',
        })
      }
    },
packageBookService/pages/bookServices/examination/examination.js
@@ -2285,6 +2285,7 @@
      filterList: [],
    }
    app.MG.identity.joinedGroupByList(query).then((res) => {
      console.log('班级信息', res);
      res.datas.forEach(async item => {
        item.topicId = null
        const data = await this.getTopicInfo(item.id)
@@ -2292,18 +2293,41 @@
          item.topicId = data.id
        }
      })
      if (res.datas.length) {
        this.setData({
          joinGroup: true,
          classList: res.datas,
          classList: res.datas
        })
        // 判断班级 是否所属于该书
        const flag = res.datas.some(item => item.linkProductDto.product.id == this.data.bookId)
        if (!flag) {
          this.setData({
            visible: true,
          })
        } else {
          this.setData({
            visible: false,
            joinGroup: true
          })
        }
      } else {
        // 未加入班级,唤起加入班级弹窗
        this.setData({
          joinGroup: false,
          visible: true
          visible: true,
        })
      }
      // if (res.datas.length) {
      //   this.setData({
      //     classList: res.datas,
      //     visible: true
      //   })
      // } else {
      //   // 未加入班级,唤起加入班级弹窗
      //   this.setData({
      //     joinGroup: false,
      //     visible: true
      //   })
      // }
    })
  },
  // 加入班级
@@ -2358,9 +2382,11 @@
      .then((res) => {
        if (res.length) {
          let value = JSON.parse(res[0].value);
          const scoreData = value.dataList.find(item => item.name == "客观题得分" && item.path == this.data.productLinkPath)
          this.setData({
            submitStatus: value.submitStatus,
            currentIndex: value.currentIndex,
            subjectiveNum: scoreData ? scoreData.score : 0
          });
          // 携带答题记录 获取题目
          this.getQuestionList(value.dataList);
@@ -2385,6 +2411,11 @@
        }))
      })
    })
    list.push({
      name: "客观题得分",
      score: this.data.subjectiveNum,
      path: this.data.productLinkPath,
    })
    console.log('提交数据', list);
    app.MG.identity
      .setUserKey({
@@ -2402,20 +2433,27 @@
  },
  // 处理教学互动答题 
  handleClassQuestion() {
    debugger
    console.log(1, this.data.questionDataList);
    const flag = this.data.questionDataList.some(item => !item.userAnswer)
    if (flag) {
      // 没做完,保存即可
      const isAnswer = this.data.questionDataList.some(item => item.userAnswer)
      if (isAnswer) this.setinteractionInfo(false)
    } else {
      // 做完了,提交到message
      this.setinteractionInfo(true)
      if (this.data.classList.length) {
      // 做完了且加入了班级,提交到message
      if (this.data.classList.length && this.data.joinGroup) {
        this.data.classList.forEach(item => {
          this.newTopicMessage(item.topicId)
          if (item.linkProductDto.product.id == this.data.bookId)
            this.newTopicMessage(item.topicId)
        })
        this.setinteractionInfo(true)
      } else {
        // 做完了,没加入班级
        this.setinteractionInfo(false)
      }
      this.setData({
        isShowDialog: true
      })
    }
    this.setData({
      submitStatus: true
packageBookService/pages/bookServices/examination/questionList/index.js
@@ -37,8 +37,10 @@
  observers: {},
  detached() {
    if (innerAudioContext) {
      innerAudioContext.stop();
      innerAudioContext.destroy();
      try {
        innerAudioContext.stop();
        innerAudioContext.destroy();
      } catch (error) {}
    }
  },
packageBookService/pages/bookServices/examination/questionOptions/index.js
@@ -75,7 +75,7 @@
  },
  observers: {
    countdownTime: function (newValue, oldValue) {
      if (this.properties.answerType == "option") {
      if (this.properties.answerType == "option" || this.properties.answerType == 'interaction') {
        this.setData({
          useTime: this.formatTime(
            2 * 60 * 60 * 1000 - this.properties.countdownTime
pages/digitalCourses/digitalCoursesDetails/index.wxml
@@ -6,10 +6,7 @@
      <view class="book-box">
        <view class="digitalCoursesDetailsTitle">
          <view class="imageBox">
            <image
              src="{{digitalsData.icon ? digitalsData.icon : 'https://jsek.bnuic.com/home/image/courseIcon.png'}}"
              mode="aspectFit"
            />
            <image src="{{digitalsData.icon ? digitalsData.icon : 'https://jsek.bnuic.com/home/image/courseIcon.png'}}" mode="aspectFit" />
          </view>
          <view class="nameBox">{{digitalsData.name}}</view>
          <view>
@@ -42,64 +39,35 @@
            </viwe>
            <viwe class="styleCssBox">
              <view style="width: 200rpx">出版时间:</view>
              <view wx:if="{{digitalsData.publicationDate}}"
                >{{digitalsData.publicationDate}}
              <view wx:if="{{digitalsData.publicationDate}}">{{digitalsData.publicationDate}}
              </view>
              <view wx:else>-</view>
            </viwe>
            <image
              src="/static/images/bookService/detail/square.png"
              mode="aspectFit"
              class="right-background"
            />
            <image src="/static/images/bookService/detail/square.png" mode="aspectFit" class="right-background" />
          </view>
        </view>
        <view class="certificate">
          <view style="margin-left: 30rpx"
            >价格:
            <text
              >{{digitalsData.price != '0.00' ? '¥' + digitalsData.price :
              '免费' }}</text
            >
            <text class="old-price" wx:if="{{digitalsData.oldPrice != '0.00'}}"
              >¥{{ digitalsData.oldPrice }}</text
            >
          <view style="margin-left: 30rpx">价格:
            <text>{{digitalsData.price != '0.00' ? '¥' + digitalsData.price :
              '免费' }}</text>
            <text class="old-price" wx:if="{{digitalsData.oldPrice != '0.00'}}">¥{{ digitalsData.oldPrice }}</text>
          </view>
          <view style="margin-right: 30rpx"
            >共<text
              >{{ digitalsData.classHours ? digitalsData.classHours :
              '0'}}</text
            >课时</view
          >
          <view style="margin-right: 30rpx">共<text>{{ digitalsData.classHours ? digitalsData.classHours :
              '0'}}</text>课时</view>
        </view>
      </view>
    </view>
    <view class="tabBox">
      <t-tabs
        defaultValue="{{tabValue}}"
        bind:change="onTabsChange"
        t-class="custom-tabs"
        t-class-content="custom-panel"
      >
        <t-tab-panel
          icon="{{ tabValue == '0' ? briefIconClick : briefIcon}}"
          label="基本信息"
          value="0"
        >
      <t-tabs defaultValue="{{tabValue}}" bind:change="onTabsChange" t-class="custom-tabs" t-class-content="custom-panel">
        <t-tab-panel icon="{{ tabValue == '0' ? briefIconClick : briefIcon}}" label="基本信息" value="0">
          <view class="rubricBox">
            <view class="rubricimgBox">
              <image
                src="/static/images/bookService/detail/label.png"
                mode="aspectFit"
              />
              <image src="/static/images/bookService/detail/label.png" mode="aspectFit" />
            </view>
            <view class="basic"> 课程介绍</view>
          </view>
          <view class="course-content">
            <rich-text
              wx:if="{{digitalsData.content}}"
              nodes="{{digitalsData.content}}"
            ></rich-text>
            <rich-text wx:if="{{digitalsData.content}}" nodes="{{digitalsData.content}}"></rich-text>
            <view wx:else="" class="noDataBox">
              <!-- <t-empty icon="folder-open" description="暂无数据" font-size="80" /> -->
              <empty />
@@ -107,42 +75,22 @@
          </view>
          <view class="rubricBox">
            <view class="rubricimgBox">
              <image
                src="/static/images/bookService/detail/label.png"
                mode="aspectFit"
              />
              <image src="/static/images/bookService/detail/label.png" mode="aspectFit" />
            </view>
            <view class="basic"> 主讲老师</view>
          </view>
          <view class="course-content" wx:if="{{lecturerList.length> 0}}">
            <view
              class="lecturer"
              wx:for="{{lecturerList}}"
              wx:key="index"
              wx:for-item="item"
            >
            <view class="lecturer" wx:for="{{lecturerList}}" wx:key="index" wx:for-item="item">
              <view class="lecturerImangBox">
                <image
                  src="{{item.icon}}"
                  mode="aspectFit"
                  wx:if="{{item.icon}}"
                />
                <image
                  src="/static/images/lecturer.png"
                  mode="aspectFit"
                  wx:else
                />
                <image src="{{item.icon}}" mode="aspectFit" wx:if="{{item.icon}}" />
                <image src="/static/images/lecturer.png" mode="aspectFit" wx:else />
              </view>
              <view class="lecturerInformation">
                <view class="lecturerName">
                  <view class="name">
                    {{item.name}}
                    <text
                      class="positionalTitle"
                      wx:if="{{item.positionalTitle}}"
                      >({{item.positionalTitle}})</text
                    ></view
                  >
                    <text class="positionalTitle" wx:if="{{item.positionalTitle}}">({{item.positionalTitle}})</text>
                  </view>
                </view>
                <view class="lecturerContent">{{item.description}}</view>
              </view>
@@ -152,79 +100,45 @@
            <empty />
          </view>
        </t-tab-panel>
        <t-tab-panel
          icon="{{ tabValue == '1' ?  learnResourceClickIcon : learnResourceIcon}}"
          label="证书信息"
          value="1"
        >
        <t-tab-panel icon="{{ tabValue == '1' ?  learnResourceClickIcon : learnResourceIcon}}" label="证书信息" value="1">
          <view class="rubricBox">
            <view class="rubricimgBox">
              <image
                src="/static/images/digitalTextbooks/zhengshu@2x.png"
                mode="aspectFit"
              />
              <image src="/static/images/digitalTextbooks/zhengshu@2x.png" mode="aspectFit" />
            </view>
            <view class="basic"> 证书信息</view>
          </view>
          <view class="course-content">
            <view class="certificateChart">
              <view class="chart" bind:tap="onClick1">
                <t-image src="{{cbzsImg}}" mode="" class="chartImage"/>
                <t-image src="{{cbzsImg}}" mode="" class="chartImage" />
              </view>
              <view class="chart" bind:tap="onClick2">
                <t-image src="{{rzzsImg}}" mode="" class="chartImage"/>
                <t-image src="{{rzzsImg}}" mode="" class="chartImage" />
              </view>
            </view>
          </view>
        </t-tab-panel>
        <t-tab-panel
          icon="{{ tabValue == '2' ? courseLearningClick : courseLearning}}"
          label="课程学习"
          value="2"
        >
        <t-tab-panel icon="{{ tabValue == '2' ? courseLearningClick : courseLearning}}" label="课程学习" value="2">
          <view class="course-content">
            <view class="tabsSelect">
              <view
                class="{{selectActive == 'learn' ? 'tabs-item selectActive' : 'tabs-item'}}"
                bind:tap="selectChange"
                data-value="{{'learn'}}"
                >学习内容</view
              >
              <view
                class="{{selectActive == 'test' ? 'tabs-item selectActive' : 'tabs-item'}}"
                bind:tap="selectChange"
                data-value="{{'test'}}"
                >在线测试</view
              >
              <view class="{{selectActive == 'learn' ? 'tabs-item selectActive' : 'tabs-item'}}" bind:tap="selectChange" data-value="{{'learn'}}">学习内容</view>
              <view class="{{selectActive == 'test' ? 'tabs-item selectActive' : 'tabs-item'}}" bind:tap="selectChange" data-value="{{'test'}}">在线测试</view>
            </view>
            <view class="list-box">
              <view wx:if="{{selectActive == 'learn'}}">
                <view wx:if="{{relationTextBook}}" class="textBook">
                  <view class="textTile">
                    <image
                      src="/static/images/bookService/detail/shuzijiaocai.png"
                      mode=""
                      class="leftImg"
                    />
                    <image src="/static/images/bookService/detail/shuzijiaocai.png" mode="" class="leftImg" />
                    <view>数字教材</view>
                  </view>
                  <view class="reabtn" bind:tap="readTextBook">
                    <image
                      src="/static/images/digitalCourses/shidu@2x.png"
                      class="readImage"
                    ></image>
                    <image src="/static/images/digitalCourses/shidu@2x.png" class="readImage"></image>
                    <view>{{isTextBookBuy ? '阅读' : '试看'}}</view>
                  </view>
                </view>
                <view wx:if="{{learnList.length > 0}}">
                  <tree
                    id="test-tree"
                    openIds="{{openTeachids}}"
                    bookInfo="{{digitalsData}}"
                    treeList="{{learnList}}"
                    isBuy="{{isBuy}}"
                  >
                  <tree id="test-tree" openIds="{{openTeachids}}" bookInfo="{{digitalsData}}" treeList="{{learnList}}" isBuy="{{isBuy}}">
                  </tree>
                </view>
                <view wx:if="{{learnList.length == 0}}" class="noData">
@@ -235,44 +149,21 @@
                <view class="testBtnBox">
                  <view class="textTile">共{{testCount}}个</view>
                  <view class="note-btn">
                    <t-button
                      theme="primary"
                      class="make-note"
                      bind:tap="goMycollect"
                      data-answerType="errorQuestion"
                      style="width: 220rpx"
                    >
                    <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"
                        />
                        <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"
                    >
                    <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"
                        />
                        <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}}"
                  isBuy="{{isBuy}}"
                ></testTree>
                <testTree id="tree" openIds="{{openTeachids}}" bookInfo="{{digitalsData}}" tab="{{tab}}" treeList="{{testList}}" isBuy="{{isBuy}}"></testTree>
                <view wx:if="{{testList.length == 0}}" class="noData">
                  <empty />
                </view>
@@ -280,17 +171,9 @@
            </view>
          </view>
        </t-tab-panel>
        <t-tab-panel
          icon="{{ tabValue == '3' ? learningNotesClick : learningNotes}}"
          label="学习笔记"
          value="3"
        >
        <t-tab-panel icon="{{ tabValue == '3' ? learningNotesClick : learningNotes}}" label="学习笔记" value="3">
          <view class="course-content">
            <note
              bookInfo="{{digitalsData}}"
              id="note"
              class="note-list"
            ></note>
            <note bookInfo="{{digitalsData}}" id="note" class="note-list"></note>
            <!-- <view class="topBox">
              <view></view>
              <view class="note-btn">
@@ -304,17 +187,9 @@
            </view> -->
          </view>
        </t-tab-panel>
        <t-tab-panel
          icon="{{ tabValue == '4' ? onlineQuestioningClick : onlineQuestioning}}"
          label="在线提问"
          value="4"
        >
        <t-tab-panel icon="{{ tabValue == '4' ? onlineQuestioningClick : onlineQuestioning}}" label="在线提问" value="4">
          <view class="course-content">
            <question
              bookInfo="{{digitalsData}}"
              id="question"
              class="note-list"
            ></question>
            <question bookInfo="{{digitalsData}}" id="question" class="note-list"></question>
            <!-- <view class="topBox">
              <view>共{{questionTotalCount}}个</view>
              <view class="note-btn">
@@ -344,18 +219,10 @@
            </view> -->
          </view>
        </t-tab-panel>
        <t-tab-panel
          icon="{{tabValue == '5' ? testResourceClickIocn : testResourceIocn}}"
          value="5"
          label="相关课程"
          style="{{tabPanelstyle}}"
        >
        <t-tab-panel icon="{{tabValue == '5' ? testResourceClickIocn : testResourceIocn}}" value="5" label="相关课程" style="{{tabPanelstyle}}">
          <view class="rubricBox">
            <view class="rubricimgBox">
              <image
                src="/static/images/digitalTextbooks/Link@3x.png"
                mode="aspectFit"
              />
              <image src="/static/images/digitalTextbooks/Link@3x.png" mode="aspectFit" />
            </view>
            <view class="basic"> 相关课程</view>
          </view>
@@ -363,22 +230,10 @@
            <empty />
          </view>
          <view class="correlation" wx:else>
            <view
              style="margin-bottom: 30rpx"
              wx:for="{{relatedBookData}}"
              wx:key="index"
              wx:for-item="item"
              wx:for-index="index"
              data-item="{{item}}"
              bind:tap="onCorrelationBook"
            >
            <view style="margin-bottom: 30rpx" wx:for="{{relatedBookData}}" wx:key="index" wx:for-item="item" wx:for-index="index" data-item="{{item}}" bind:tap="onCorrelationBook">
              <view class="correlationImage">
                <image src="{{item.icon}}" mode="aspectFit" />
                <img
                  wx:if="{{item.icon == ''}}"
                  src="/static/images/default-book-img.png"
                  alt=""
                />
                <img wx:if="{{item.icon == ''}}" src="/static/images/default-book-img.png" alt="" />
              </view>
              <view class="correlationName">{{item.name}}</view>
              <view class="correlationAuthor">{{digitalsData.author}}</view>
@@ -387,52 +242,28 @@
        </t-tab-panel>
      </t-tabs>
    </view>
    <view class="box-bottom">
      <view class="bottom-btn" bind:tap="setCoolect">
        <view class="collectionImage">
          <image
            wx:if="{{!digitalsData.isFavourite}}"
            src="/static/images/digitalTextbooks/wodeshoucang@2x.png"
          />
          <image
            wx:else
            src="/static/images/bookService/detail/collecting.png"
          />
        </view>
        <view class="btn-text"> 收藏 </view>
      </view>
      <view
        class="bottom-btn"
        bind:tap="onCertificate"
        wx:if="{{!isCertificate.state || isCertificate.state == 'Reject'}}"
      >
        <view class="applicationImageBox">
          <image src="/static/images/digitalCourses/zhengshushenqing@2x.png" />
        </view>
        <view class="btn-text">证书申请</view>
      </view>
      <view
        class="bottom-btn shopCarColor"
        bind:tap="addBookShopcCar"
        wx:if="{{!isBuy && digitalsData.price != '0.00' }}"
        >加入购物车</view
      >
      <view
        class="bottom-btn buyColor"
        bind:tap="buyBtn"
        wx:if="{{!isBuy &&  digitalsData.price != '0.00'}}"
        >立即购买</view
      >
      <view
        class="bottom-btn buyColor"
        bind:tap="buyBtn"
        wx:if="{{!isBuy &&  digitalsData.price == '0.00'}}"
      >
        免费领取</view
      >
    </view>
    <t-toast id="t-toast" />
  </scroll-view>
  <view class="box-bottom">
    <view class="bottom-btn" bind:tap="setCoolect">
      <view class="collectionImage">
        <image wx:if="{{!digitalsData.isFavourite}}" src="/static/images/digitalTextbooks/wodeshoucang@2x.png" />
        <image wx:else src="/static/images/bookService/detail/collecting.png" />
      </view>
      <view class="btn-text"> 收藏 </view>
    </view>
    <view class="bottom-btn" bind:tap="onCertificate" wx:if="{{!isCertificate.state || isCertificate.state == 'Reject'}}">
      <view class="applicationImageBox">
        <image src="/static/images/digitalCourses/zhengshushenqing@2x.png" />
      </view>
      <view class="btn-text">证书申请</view>
    </view>
    <view class="bottom-btn shopCarColor" bind:tap="addBookShopcCar" wx:if="{{!isBuy && digitalsData.price != '0.00' }}">加入购物车</view>
    <view class="bottom-btn buyColor" bind:tap="buyBtn" wx:if="{{!isBuy &&  digitalsData.price != '0.00'}}">立即购买</view>
    <view class="bottom-btn buyColor" bind:tap="buyBtn" wx:if="{{!isBuy &&  digitalsData.price == '0.00'}}">
      免费领取</view>
  </view>
</view>
<!-- 弹窗 -->
<view wx:if="{{dialogBox}}">
@@ -442,25 +273,15 @@
      <view class="row-info">
        <view class="body">
          <view class="dialog-title">学习证书申请</view>
          <view
            style="width: 100%; height: 2rpx; background-color: #f4f4f4"
          ></view>
          <view style="width: 100%; height: 2rpx; background-color: #f4f4f4"></view>
          <view class="input-box">
            <t-input
              class="input"
              borderless
              placeholder="请输入真实姓名"
              value="{{userInfo.fullName}}"
              bind:change="onFullNameInput"
            ></t-input>
            <t-input class="input" borderless placeholder="请输入真实姓名" value="{{userInfo.fullName}}" bind:change="onFullNameInput"></t-input>
          </view>
          <view class="contentImg">
            <image src="{{userInfo.userPicture}}" mode="aspectFill" />
          </view>
          <view class="buttonBox">
            <t-button size="small" class="right-btn" bind:tap="uploadPicture"
              >上传照片</t-button
            >
            <t-button size="small" class="right-btn" bind:tap="uploadPicture">上传照片</t-button>
          </view>
        </view>
        <view class="row-btn">
@@ -472,159 +293,53 @@
  </view>
</view>
<canvas canvas-id="myCanvas" class="myCanvas" style="height: 845px; width: 595px" wx:if="{{pubCertificateHide}}"></canvas>
<view
  id="pubCertificate"
  class="my_canvas"
  wx:if="{{pubCertificateHide}}"
>
<view id="pubCertificate" class="my_canvas" wx:if="{{pubCertificateHide}}">
  <view class="pubCon">
    <image
      data-type="image"
      data-url="https://jsek.bnuic.com/home/certificate/szkc.jpg"
      src="https://jsek.bnuic.com/home/certificate/szkc.jpg"
      mode=""
      class="bgImg my_draw_canvas"
    />
    <image data-type="image" data-url="https://jsek.bnuic.com/home/certificate/szkc.jpg" src="https://jsek.bnuic.com/home/certificate/szkc.jpg" mode="" class="bgImg my_draw_canvas" />
    <view class="certificateInfo my_draw_canvas">
      <view
        class="bookName my_draw_canvas"
        data-type="text"
        data-text="{{digitalsData.name}}"
        >{{digitalsData.name}}</view
      >
      <view
        class="author my_draw_canvas"
        data-type="text"
        data-text="{{digitalsData.courseLeader}}"
        >{{digitalsData.courseLeader || '-' }}</view
      >
      <view
        class="affiliatedUnit my_draw_canvas"
        data-type="text"
        data-text="{{digitalsData.affiliatedUnit}}"
        >{{digitalsData.affiliatedUnit || '-'}}</view
      >
      <view
        class="affiliatedUnit my_draw_canvas"
        data-type="text"
        data-text="{{digitalsData.isbn}}"
      >
      <view class="bookName my_draw_canvas" data-type="text" data-text="{{digitalsData.name}}">{{digitalsData.name}}</view>
      <view class="author my_draw_canvas" data-type="text" data-text="{{digitalsData.courseLeader}}">{{digitalsData.courseLeader || '-' }}</view>
      <view class="affiliatedUnit my_draw_canvas" data-type="text" data-text="{{digitalsData.affiliatedUnit}}">{{digitalsData.affiliatedUnit || '-'}}</view>
      <view class="affiliatedUnit my_draw_canvas" data-type="text" data-text="{{digitalsData.isbn}}">
        {{ digitalsData.isbn || '-'}}
      </view>
      <view
        class="affiliatedUnit my_draw_canvas"
        data-type="text"
        data-text="{{digitalsData.publicationDate}}"
        >{{digitalsData.publicationDate}}</view
      >
      <view
        class="affiliatedUnit my_draw_canvas"
        data-type="text"
        data-text="{{publishingUnit}}"
        >{{publishingUnit}}</view
      >
      <view
        class="website my_draw_canvas"
        data-type="text"
        data-text="{{website}}"
        >{{website}}</view
      >
      <view class="affiliatedUnit my_draw_canvas" data-type="text" data-text="{{digitalsData.publicationDate}}">{{digitalsData.publicationDate}}</view>
      <view class="affiliatedUnit my_draw_canvas" data-type="text" data-text="{{publishingUnit}}">{{publishingUnit}}</view>
      <view class="website my_draw_canvas" data-type="text" data-text="{{website}}">{{website}}</view>
      <view class="codeBox my_draw_canvas">
        <image data-type="image" data-url="{{imgUrl}}" src="{{imgUrl}}" mode="" class="qrcode my_draw_canvas" wx:if="{{imgUrl}}"/>
        <canvas canvas-id="qrcode" class="qrcode my_draw_canvas" wx:else/>
        <image data-type="image" data-url="{{imgUrl}}" src="{{imgUrl}}" mode="" class="qrcode my_draw_canvas" wx:if="{{imgUrl}}" />
        <canvas canvas-id="qrcode" class="qrcode my_draw_canvas" wx:else />
      </view>
    </view>
  </view>
  </view>
  <canvas
    canvas-id="myCanvas1"
    class="myCanvas"
    style="height: 845px; width: 595px"
    wx:if="{{pubCertificateHide}}"
  ></canvas>
<view
  id="textCertificate"
  class="my_canvas1"
  wx:if="{{pubCertificateHide}}"
>
</view>
<canvas canvas-id="myCanvas1" class="myCanvas" style="height: 845px; width: 595px" wx:if="{{pubCertificateHide}}"></canvas>
<view id="textCertificate" class="my_canvas1" wx:if="{{pubCertificateHide}}">
  <view class="pubCon">
    <image
      data-type="image"
      data-url="https://jsek.bnuic.com/home/certificate/kczs.jpg"
      src="https://jsek.bnuic.com/home/certificate/kczs.jpg"
      mode=""
      class="bgImg my_draw_canvas1"
    />
    <image data-type="image" data-url="https://jsek.bnuic.com/home/certificate/kczs.jpg" src="https://jsek.bnuic.com/home/certificate/kczs.jpg" mode="" class="bgImg my_draw_canvas1" />
    <view class="certificateInfo my_draw_canvas1">
      <view class="userIcon my_draw_canvas1">
        <view class="hexagon my_draw_canvas1">
          <image src="{{userPicture}}"  data-type="image" data-url="{{userPicture}}" class="img my_draw_canvas1" />
          <image src="{{userPicture}}" data-type="image" data-url="{{userPicture}}" class="img my_draw_canvas1" />
        </view>
      </view>
      <view
        class="userName my_draw_canvas1"
        data-type="text"
        data-text="{{userName}}"
        >{{userName}}</view
      >
      <view
        class="bookName my_draw_canvas1"
        data-type="text"
        data-text="{{digitalsData.name}}"
        >{{digitalsData.name}}</view
      >
      <view
        class="author my_draw_canvas1"
        data-type="text"
        data-text="{{digitalsData.courseLeader || '-'}}"
        >{{digitalsData.courseLeader || '-' }}</view
      >
      <view
        class="classHours my_draw_canvas1"
        data-type="text"
        data-text="{{digitalsData.classHours || '-'}}"
        >{{digitalsData.classHours || '-' }}</view
      >
      <view
        class="affiliatedUnit my_draw_canvas1"
        data-type="text"
        data-text="{{publishingUnit || '-'}}"
        >{{publishingUnit || '-'}}</view
      >
      <view
        class="studyTime my_draw_canvas1"
        data-type="text"
        data-text="{{isCertificate ? isCertificate.content.studyTime || '-' : '-'}}"
        >{{ isCertificate ? isCertificate.content.studyTime || '-' : '-'
        }}</view
      >
      <view
        class="website my_draw_canvas1"
        data-type="text"
        data-text="{{website}}"
        >{{website}}</view
      >
      <view class="userName my_draw_canvas1" data-type="text" data-text="{{userName}}">{{userName}}</view>
      <view class="bookName my_draw_canvas1" data-type="text" data-text="{{digitalsData.name}}">{{digitalsData.name}}</view>
      <view class="author my_draw_canvas1" data-type="text" data-text="{{digitalsData.courseLeader || '-'}}">{{digitalsData.courseLeader || '-' }}</view>
      <view class="classHours my_draw_canvas1" data-type="text" data-text="{{digitalsData.classHours || '-'}}">{{digitalsData.classHours || '-' }}</view>
      <view class="affiliatedUnit my_draw_canvas1" data-type="text" data-text="{{publishingUnit || '-'}}">{{publishingUnit || '-'}}</view>
      <view class="studyTime my_draw_canvas1" data-type="text" data-text="{{isCertificate ? isCertificate.content.studyTime || '-' : '-'}}">{{ isCertificate ? isCertificate.content.studyTime || '-' : '-'
        }}</view>
      <view class="website my_draw_canvas1" data-type="text" data-text="{{website}}">{{website}}</view>
      <view class="codeBox my_draw_canvas1">
        <image data-type="image" data-url="{{imgUrl1}}" src="{{imgUrl1}}" mode="" class="qrcode my_draw_canvas1" wx:if="{{imgUrl1}}"/>
        <canvas canvas-id="qrcode1" class="qrcode my_draw_canvas1" wx:else/>
        <image data-type="image" data-url="{{imgUrl1}}" src="{{imgUrl1}}" mode="" class="qrcode my_draw_canvas1" wx:if="{{imgUrl1}}" />
        <canvas canvas-id="qrcode1" class="qrcode my_draw_canvas1" wx:else />
      </view>
      <view
        class="updateDate my_draw_canvas1"
        wx-if="{{isCertificate}}"
      >
      <view class="updateDate my_draw_canvas1" wx-if="{{isCertificate}}">
        {{ moment(isCertificate.updateDate).format('YYYY年MM月') }}
      </view>
    </view>
  </view>
</view>
<t-image-viewer
  usingCustomNavbar
  deleteBtn="{{deleteBtn}}"
  closeBtn="{{closeBtn}}"
  showIndex="{{showIndex}}"
  visible="{{visible}}"
  images="{{images}}"
  bind:change="onChange"
  bind:close="onClose"
></t-image-viewer>
<t-image-viewer usingCustomNavbar deleteBtn="{{deleteBtn}}" closeBtn="{{closeBtn}}" showIndex="{{showIndex}}" visible="{{visible}}" images="{{images}}" bind:change="onChange" bind:close="onClose"></t-image-viewer>
pages/digitalCourses/digitalCoursesDetails/index.wxss
@@ -9,7 +9,7 @@
.page-bookService {
  width: 100vw;
  height: 100%;
  position: relative;
}
.t-image-viewer {
@@ -19,7 +19,7 @@
.outsideContentBox {
  position: relative;
  background-color: #F2F3F8;
  height: calc(100vh - env(safe-area-inset-bottom) - 60px);
  height: calc(100vh - env(safe-area-inset-bottom) - 110rpx);
}
.digitalCoursesDetailsTitle {
@@ -242,14 +242,12 @@
.box-bottom {
  position: fixed;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 110rpx;
  margin-bottom: env(safe-area-inset-bottom);
  display: flex;
  flex-direction: row;
  border: 1px solid #DDD;
}
pages/scanResult/index.js
@@ -30,17 +30,18 @@
          result,
          textValue: result.type == "PromoteCode" ? '领取' : '激活'
        })
        wx.setNavigationBarTitle({
          title: result.type == "PromoteCode" ? '领取优惠卷' : '激活商品',
        })
        // this.getRules();
        this.getProductByCode();
      } else {
        debugger
        this.setData({
          isOther: true
        })
      }
    } catch (error) {
      console.log(error);
      debugger
      this.setData({
        isOther: true
      })
@@ -165,7 +166,6 @@
            const list = JSON.parse(res.config);
            console.log('code', res, list);
            if (this.data.result) {
              const type = res.saleMethodList[0].type
              this.setData({
                goodsData: res,
pages/scanResult/index.wxml
@@ -68,6 +68,10 @@
  <view class="text">
    <rich-text space="emsp" nodes="{{rules.tourism_content}}" />
  </view>
  <view class="explain" wx:if="{{textValue == '激活'}}">
    <view>激活成功后,请到“京师智教”小程序个人中心“激活商品”中查看激活商品。</view>
    <view class="center">激活码最终解释权归北京师范大学出版集团所有。</view>
  </view>
</view>
<view wx:else class="empyt">
  <t-empty icon="error-circle" description="请扫描正确的二维码" />
pages/scanResult/index.wxss
@@ -136,9 +136,19 @@
}
.type-box {
  font-size: 28rpx;
  font-size: 24rpx;
  color: #FF6C00;
  background: rgba(255, 108, 0, 0.24);
  padding: 4rpx 8rpx;
  padding: 6rpx 12rpx;
  border-radius: 9rpx;
}
.explain {
  font-size: 28rpx;
  line-height: 44rpx;
  padding: 40rpx;
}
.center {
  margin-top: 10rpx;
}