From 485fcbbc57cbf7495286359250135c482ec1360a Mon Sep 17 00:00:00 2001
From: litian <C21AF165>
Date: 星期五, 30 八月 2024 09:50:00 +0800
Subject: [PATCH] xz

---
 pages/digitalCourses/digitalCoursesDetails/index.js |  177 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 172 insertions(+), 5 deletions(-)

diff --git a/pages/digitalCourses/digitalCoursesDetails/index.js b/pages/digitalCourses/digitalCoursesDetails/index.js
index 4ede1be..1abf9ba 100644
--- a/pages/digitalCourses/digitalCoursesDetails/index.js
+++ b/pages/digitalCourses/digitalCoursesDetails/index.js
@@ -1,5 +1,9 @@
 // pages/digitalCourses/digitalCoursesDetails/index.js
 const app = getApp()
+import SparkMD5 from 'spark-md5'
+import FormData from '../../../utils/formdata/index.js';
+// import Wxml2Canvas from 'wxml2canvas';
+// const Wxml2Canvas = require('Wxml2Canvas')
 import {
   worksDataBytool
 } from "../../../assets/js/toolClass.js";
@@ -50,6 +54,12 @@
     onlineQuestioningClick: {
       name: "/static/images/digitalCourses/tiwen-click@2x.png"
     },
+    testResourceClickIocn: {
+      name: "/static/images/digitalTextbooks/link-t-click@3x.png",
+    },
+    testResourceIocn: {
+      name: "/static/images/digitalTextbooks/link-t@3x.png",
+    },
 
     dialogBox: false,
     lecturerList: [],
@@ -80,9 +90,15 @@
     isLearn: false,
     isTest: false,
     userInfo: {
-      fullName: '' //鍚嶇О
+      fullName: '', //鍚嶇О
+      userPicture: '' //鐢宠璇佷功鐢ㄦ埛鍥剧墖
     },
-    publishingUnit: ''
+    pictureMd5: '',
+    publishingUnit: '',
+    pubCertificateHide: true,
+    cbzsImg: '', //鍑虹増璇佷功base64
+    rzzsImg: '' //璁よ瘉璇佷功base64
+
   },
   formatDate(dateString) {
     if (!dateString) {
@@ -293,6 +309,7 @@
           }
         })
       }
+      this.getAboutBook(res.datas.productLinkInfo[res.datas.productLinkInfo.length - 1].LinkPath)
 
       this.setData({
         lecturerList: lecturer,
@@ -561,6 +578,56 @@
       }
     }
   },
+
+  // 鑾峰彇鐩稿叧鏁欐潗
+  getAboutBook(path) {
+    let query = {
+      path,
+      queryType: '*',
+      coverSize: {
+        width: 260
+      },
+      paging: {
+        start: 0,
+        size: 9
+      },
+      fields: {
+        author: [],
+        publicationDate: []
+      }
+    }
+    app.MG.store.getProductList(query).then(res => {
+      const Arr = res.datas.filter(
+        (item) => item.id != this.data.digitalsData.id
+      );
+      let bookArr = []
+      if (Arr.length) {
+        if (Arr.length > 9) {
+          for (var i = 0; i < 9; i++) {
+            var _num = Math.floor(Math.random() * Arr.length)
+            var mm = Arr[_num]
+            Arr.splice(_num, 1)
+            bookArr.push(mm)
+          }
+        } else {
+          bookArr = Arr
+        }
+        bookArr.forEach(item => {
+          if (item.icon == '') {
+            item.icon = '/static/images/default-book-img.png'
+          }
+        })
+        this.setData({
+          relatedBookData: bookArr
+        })
+        console.log(this.data.relatedBookData);
+      } else {
+        this.setData({
+          relatedBookData: []
+        })
+      }
+    })
+  },
   //瀛︿範绗旇
   //鍦ㄧ嚎鎻愰棶
   // 鍥句功娣诲姞璐墿杞�
@@ -679,7 +746,23 @@
     });
   },
   //鐢宠璇佷功
+  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,
+      })
+    })
+    // Wxml2Canvas(textCertificate.value).then((canvas1) => {
+    //   const img1 = canvas1.toDataURL('image/png')
+    //   rzzsImg.value = img1
+    // })
 
+    pubCertificateHide.value = false
+  },
   //鑾峰彇瀛楁
   getType() {
     app.MG.resource.getCmsTypeByRefCode({
@@ -713,6 +796,8 @@
       })
     })
   },
+
+
 
   onCertificate() {
     // if (!this.data.isBuy) {
@@ -763,13 +848,95 @@
       "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 => {
+            //鎴愬姛鐨勫洖璋�
+            console.log(ress.data, 45613489)
+            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) {
+                      console.log(md5, "md5555")
+                      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,
+        courseLeader: this.data.digitalsData.courseLeader,
+        name: this.data.digitalsData.name,
+        ISBN: this.data.digitalsData.isbn,
+        affiliatedUnit: this.data.digitalsData.affiliatedUnit,
+        publicationDate: this.data.digitalsData.publicationDate,
+        classHours: this.data.digitalsData.classHours,
+        lecturerList: this.data.lecturerList.length > 0 ?
+          this.data.lecturerList[0].name : this.data.digitalsData.courseLeader,
+        userPicture: this.data.pictureMd5,
+        certificate: this.data.rzzsImg
+      }
       data = {
         topicIdOrRefCode: 'applyCourseCertificate',
         name: this.data.userInfo.fullName,
-        content: JSON.stringify(this.data.digitalsData),
+        content: JSON.stringify(bookInfo),
         state: 'WaitAudit',
         cmsTypeRefCode: 'jsek_courseCertificate',
         type: 'applyCourse',
@@ -866,14 +1033,14 @@
   //璇佷功鏌ョ湅
   onClick1() {
     this.setData({
-      images: ['/static/images/certificate/cbzs.jpg'],
+      images: ['/static/images/certificate/szkc.jpg'],
       showIndex: true,
       visible: true,
     })
   },
   onClick2() {
     this.setData({
-      images: ['/static/images/certificate/rzzs.jpg'],
+      images: ['/static/images/certificate/kczs.jpg'],
       showIndex: true,
       visible: true,
     })

--
Gitblit v1.9.1