1
YM
2024-09-10 e38c14de9637d22d0a35ae06bede82dcf31b64ec
pages/digitalTextbooks/digitalTextbooksDetails/index.js
@@ -7,6 +7,8 @@
import {
  worksDataBytool
} from "../../../assets/js/toolClass.js";
import SparkMD5 from 'spark-md5'
import FormData from '../../../utils/formdata/index.js';
const app = getApp()
Page({
@@ -53,7 +55,7 @@
    testResourceClickIocn: {
      name: "/static/images/digitalTextbooks/link-t-click@3x.png",
    },
    showIndex1: '',
    catalogue: {
      name: "/static/images/digitalTextbooks/mulu-t@3x.png",
    },
@@ -61,13 +63,22 @@
      name: "/static/images/digitalTextbooks/mulu-t-click@3x.png",
    },
    userInfo: {
      fullName: '' //名称
      fullName: '', //名称
      userPicture: '' //申请证书用户图片
    },
    pictureMd5: '',
    worksInfo: [],
    isCertificate: {},
    isLearn: false,
    isTest: false,
    publishingUnit: ''
    publishingUnit: '',
    cbzsImg: '', //出版证书base64
    rzzsImg: '', //认证证书base64
    visible: false,
    showIndex: false,
    closeBtn: false,
    deleteBtn: false,
    images: [],
  },
  /**
@@ -78,6 +89,18 @@
    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()
@@ -227,7 +250,7 @@
          isBuy: false
        })
      }
      res.datas.publicationDate = moment(res.datas.publicationDate).format('YYYY年MM月DD日')
      res.datas.publicationDate = moment(res.datas.publicationDate).format('YYYY年MM月')
      if (res.datas.icon == '') {
        res.datas.icon = '/static/images/default-book-img.png'
      }
@@ -505,7 +528,6 @@
  },
  onTabClick(e) {
    // debugger
    console.log(e);
    let tab = e.currentTarget.dataset.tab;
@@ -665,15 +687,13 @@
  suggestBtn() {
    // 检查登录状态
    const token = wx.getStorageSync(app.config.tokenKey);
    console.log(465);
    const child = this.selectComponent("#suggest-component");
    // if (token)
    //   // child.showDialog();
    //   this.setData({
    //     showIndex: '1'
    //   })
    const child = this.selectComponent("#suggest-component1");
    if (token)
      // child.showDialog();
      this.setData({
        showIndex1: '1'
      })
  },
  //申请证书
@@ -719,17 +739,17 @@
      });
      return false
    }
    if (!this.data.isLearn) {
      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: "您申请的证书正在审核中",
        title: this.data.isCertificate.state == 'WaitAudit' ? "您申请的证书正在审核中" : this.data.isCertificate.state == 'Normal' ? '您已申请证书' : '',
        icon: "none",
        duration: 1000,
      });
@@ -759,13 +779,89 @@
      "userInfo.fullName": e.detail.value,
    });
  },
  uploadPicture() {
    var that = this;
    wx.chooseMedia({
      count: 1, // 默认9
      sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
      sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
      success: function (res) {
        wx.getFileSystemManager().readFile({
          filePath: res.tempFiles[0].tempFilePath, //选择图片返回的相对路径
          // encoding: 'binary', //编码格式
          success: ress => {
            //成功的回调
            let spark = new SparkMD5.ArrayBuffer();
            spark.append(ress.data);
            let md5 = spark.end(false);
            let formData = new FormData();
            formData.append('Md5', md5);
            formData.append('FileName', md5);
            formData.append('FileType', res.tempFiles[0].fileType);
            formData.appendFile("file", res.tempFiles[0].tempFilePath);
            const data = formData.getData();
            let _token = wx.getStorageSync(app.config.tokenKey);
            let header = {};
            if (_token == null) {
              header["Authorization"] = `Basic ${Base64.encode(website.clientId + ":" + website.clientSecret)}`;
            } else {
              header["Authorization"] = `Bearer ` + _token;
            }
            new Promise((resolve, reject) => {
              wx.request({
                url: app.config.requestCtx + '/file/api/ApiUpload',
                method: 'POST',
                header: {
                  'content-type': data.contentType,
                  ...header
                },
                data: data.buffer,
                success(res) {
                  if (res.statusCode == 200) {
                    resolve(res.data);
                    if (res.data) {
                      that.setData({
                        'userInfo.userPicture': app.config.requestCtx + `/file/GetPreViewImage?md5=` + md5,
                        pictureMd5: md5
                      });
                    }
                  } else {
                    reject('运行时错误,请稍后再试');
                  }
                }
              })
            })
          }
        })
      }
    });
  },
  confirmM() {
    if (this.data.userInfo.fullName) {
      if (this.data.pictureMd5 == '') {
        wx.showToast({
          title: "请上传照片",
          icon: "none",
          duration: 1000,
        });
        return false
      }
      let data = {}
      let bookInfo = {
        bookId: this.data.digitalsData.id,
        icon: this.data.digitalsData.icon,
        name: this.data.digitalsData.name,
        author: this.data.digitalsData.author,
        ISBN: this.data.digitalsData.isbn,
        publicationDate: this.data.digitalsData.publicationDate,
        userPicture: this.data.pictureMd5,
        certificate: this.data.rzzsImg
      }
      data = {
        topicIdOrRefCode: 'applyTextbookCertificate',
        name: this.data.userInfo.fullName,
        content: JSON.stringify(this.data.digitalsData),
        content: JSON.stringify(bookInfo),
        state: 'WaitAudit',
        cmsTypeRefCode: 'jsek_textbookCertificate',
        type: 'applyTextbook',
@@ -803,14 +899,14 @@
  //证书查看
  onClick1() {
    this.setData({
      images: ['/static/images/certificate/cbzs.jpg'],
      images: ['https://jsek.bnuic.com/home/certificate/szjc.jpg'],
      showIndex: true,
      visible: true,
    })
  },
  onClick2() {
    this.setData({
      images: ['/static/images/certificate/rzzs.jpg'],
      images: ['https://jsek.bnuic.com/home/certificate/jczs.jpg'],
      showIndex: true,
      visible: true,
    })