From 266c7278841d2cbae5e9ab969ffd2efae1d0dda5 Mon Sep 17 00:00:00 2001
From: litian <C21AF165>
Date: 星期五, 06 九月 2024 10:08:55 +0800
Subject: [PATCH] renwu

---
 pages/digitalCourses/digitalCoursesDetails/index.js |  109 +++++++++++++++++++++++++++++++++---------------------
 1 files changed, 66 insertions(+), 43 deletions(-)

diff --git a/pages/digitalCourses/digitalCoursesDetails/index.js b/pages/digitalCourses/digitalCoursesDetails/index.js
index 7066a1d..c41e720 100644
--- a/pages/digitalCourses/digitalCoursesDetails/index.js
+++ b/pages/digitalCourses/digitalCoursesDetails/index.js
@@ -2,7 +2,7 @@
 const app = getApp()
 import SparkMD5 from 'spark-md5'
 import FormData from '../../../utils/formdata/index.js';
-// import Wxml2Canvas from 'wxml2canvas';
+import Wxml2Canvas from 'wxml2canvas';
 import {
   worksDataBytool
 } from "../../../assets/js/toolClass.js";
@@ -98,8 +98,9 @@
     publishingUnit: '',
     pubCertificateHide: true,
     cbzsImg: '', //鍑虹増璇佷功base64
-    rzzsImg: '' //璁よ瘉璇佷功base64
-
+    rzzsImg: '', //璁よ瘉璇佷功base64
+    imageWidth: '', //鐢诲湪鐢诲竷涓婄殑鍥剧墖鐨勫搴�
+    imageHeight: '', //鐢诲湪鐢诲竷涓婄殑鍥剧墖鐨勯珮搴�
   },
   formatDate(dateString) {
     if (!dateString) {
@@ -282,7 +283,7 @@
           expire: res.false
         })
       }
-      res.datas.publicationDate = moment(res.datas.publicationDate).format('YYYY骞碝M鏈圖D鏃�')
+      res.datas.publicationDate = moment(res.datas.publicationDate).format('YYYY骞碝M鏈�')
       res.datas.price = res.datas.price.toFixed(2)
 
       wx.setNavigationBarTitle({
@@ -310,6 +311,7 @@
       }
       this.getAboutBook(res.datas.productLinkInfo[res.datas.productLinkInfo.length - 1].LinkPath)
       this.getCertificateList()
+      res.datas.content = res.datas.content.replace('../', app.config.requestCtx + '/')
       this.setData({
         lecturerList: lecturer,
         digitalsData: res.datas,
@@ -346,7 +348,7 @@
       tabValue: value
     })
     if (this.data.tabValue == 1) {
-      // this.saveAsImage()
+      this.saveAsImage()
     }
     if (this.data.tabValue == 2) {
       this.getResource()
@@ -823,48 +825,69 @@
   },
   //鐢宠璇佷功
   async saveAsImage() {
-    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鑺傜偣鐨刬d,
-      obj: that, // 鍦ㄧ粍浠朵腑浣跨敤鏃讹紝闇�瑕佷紶鍏ュ綋鍓嶇粍浠剁殑this
-      width: this.width * 2, // 瀹介珮
-      height: this.height * 2,
-      background: '#fff', // 榛樿鑳屾櫙鑹�
-      progress(percent) { // 缁樺埗杩涘害
-      },
+    const that = this
+    const query = wx.createSelectorQuery().in(this)
+    query
+      .select('#pubCertificate')
+      .fields({
+          // 閫夋嫨闇�瑕佺敓鎴恈anvas鐨勮寖鍥�
+          size: true,
+          node: true,
+          scrollOffset: true,
+        },
+        (data) => {
+          let width = data.width
+          let height = data.height
+          console.log(width, height)
+          that.setData({
+            imageWidth: width,
+            imageHeight: height,
+          })
+        },
+      )
+      .exec()
+    this.drawImage1()
+
+  },
+  drawImage1() {
+    let that = this;
+    let drawMyImage = new Wxml2Canvas({
+      // width: 230,
+      // height: 325,
+      width: that.data.imageWidth,
+      height: that.data.imageHeight,
+      element: 'myCanvas',
+      background: '#f0f0f0',
+      progress(percent) {},
       finish(url) {
-        console.log("鍒涘缓鐨勫浘鐗�", url);
+        console.log("鐢熸垚鐨勫浘鐗囧湴鍧�", url)
+        wx.getFileSystemManager().readFile({
+          filePath: url,
+          encoding: 'base64',
+          success: (res) => {
+            let MyImageBase64 = 'data:image/jpg;base64,' + res.data
+            console.log('MyImageBase64', MyImageBase64)
+            that.setData({
+              cbzsImg: MyImageBase64,
+              pubCertificateHide: false,
+            })
+          },
+        })
       },
       error(res) {
-        console.log(res);
-        // uni.hideLoading()
-        // 鐢诲け璐ョ殑鍘熷洜
+        console.log("鐢熸垚鐨勫浘鐗囧け璐�", res)
       }
     }, 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
-    // })
-    this.setData({
-      pubCertificateHide: false,
-    })
+    let data = {
+      list: [{
+        type: 'wxml',
+        class: '.my_canvas .my_draw_canvas', //.my_draw_canvas姣忎釜瑕佺粯鍒跺厓绱犵殑绫诲悕
+        limit: '.my_canvas', //my_canvas鏍瑰厓绱犵被鍚�
+        x: 0,
+        y: 0
+      }]
+    }
+    drawMyImage.draw(data, that);
   },
   //鑾峰彇瀛楁
   getType() {
@@ -1135,7 +1158,7 @@
   //璇佷功鏌ョ湅
   onClick1() {
     this.setData({
-      images: ['https://jsek.bnuic.com/home/certificate/szkc.jpg'],
+      images: [this.data.cbzsImg],
       showIndex: true,
       visible: true,
     })

--
Gitblit v1.9.1