Browse Source

Merge branch 'staging' of http://git.dayaedu.com/huangqiyong/classroom into staging

黄琪勇 9 tháng trước cách đây
mục cha
commit
377673649c

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/css/498.d91f7fff.css


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/css/818.b0bf11db.css


+ 1 - 1
dist/index.html

@@ -1,6 +1,6 @@
 <!doctype html><html lang=""><head><meta charset="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="renderer" content="webkit"/><meta name="force-rendering" content="webkit"/><link rel="icon" href="/favicon.ico"/><title>乐教通</title><script>if (!!window.ActiveXObject || "ActiveXObject" in window) {
             window.location.href = "./ieIncompatible/index.html"
-         }</script><script defer="defer" src="/js/chunk-vendors.5249fc2d.js"></script><script defer="defer" src="/js/app.53b8fd13.js"></script><link href="/css/app.2ae84a6b.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but classroom doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"><style>.firstLoading {
+         }</script><script defer="defer" src="/js/chunk-vendors.5249fc2d.js"></script><script defer="defer" src="/js/app.c3711acc.js"></script><link href="/css/app.2ae84a6b.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but classroom doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"><style>.firstLoading {
                position: fixed;
                left: 50%;
                top: 50%;

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/js/498.ea5c6363.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/js/611.b537918c.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/js/818.fff01c39.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/js/879.7ccb5a61.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/js/921.88f8f8ff.js


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 0
dist/js/app.c3711acc.js


+ 23 - 3
src/views/cloudPractice/cloudPractice.tsx

@@ -34,7 +34,7 @@ import PlayLoading from "./component/play-loading"
 import PracticeForm from "@/businessComponents/practiceForm"
 import { saveAs } from "file-saver"
 import JSZip from "jszip"
-import { svgtoblob } from "./formatSvgToImg"
+import { canvasAddTitle, imgToCanvas, svgtoblob } from "./formatSvgToImg"
 import { penShow, whitePenShow } from "@/businessComponents/globalTools/globalTools"
 import { handleFullscreen } from "@/libs/fullscreen"
 
@@ -103,6 +103,9 @@ export default defineComponent({
                musicSheetType: item?.musicSheetType,
                audioFileUrl,
                // titleImg: list?.titleImg,
+               musicImg: list.musicImg,
+               musicJianImg: list.musicJianSvg,
+               musicFirstImg: list.musicFirstSvg,
                isScoreRender: item?.isScoreRender,
                defaultScoreRender: item?.defaultScoreRender,
                musicPdfUrl: item?.musicPdfUrl // 独奏使用PDF
@@ -116,6 +119,9 @@ export default defineComponent({
                musicSheetType: list?.musicSheetType,
                audioFileUrl: list?.audioFileUrl,
                titleImg: list?.titleImg,
+               musicImg: list.musicImg,
+               musicJianImg: list.musicJianSvg,
+               musicFirstImg: list.musicFirstSvg,
                isScoreRender: list?.isScoreRender,
                defaultScoreRender: list?.defaultScoreRender,
                musicPdfUrl: list?.musicPdfUrl
@@ -130,6 +136,9 @@ export default defineComponent({
                musicSheetType: list?.musicSheetType,
                audioFileUrl: item?.audioFileUrl,
                titleImg: list?.titleImg,
+               musicImg: list.musicImg,
+               musicJianImg: list.musicJianSvg,
+               musicFirstImg: list.musicFirstSvg,
                isScoreRender: false,
                defaultScoreRender: false,
                musicPdfUrl: list?.musicPdfUrl
@@ -731,6 +740,19 @@ export default defineComponent({
          if (row.musicSheetType === "SINGLE") {
             loading.value = false
             state.musicPdfUrl = row.musicPdfUrl
+
+            if (userStoreHook.roles === "GYM") {
+               const imgs = row.musicImg ? row.musicImg.split(",") : []
+               state.imgs = []
+               imgs.forEach(async (item: string, index: number) => {
+                  const imgCanvas = await imgToCanvas(item)
+                  const img = await canvasAddTitle(imgCanvas, row.name)
+                  state.imgs.push({
+                     name: index + 1 + ".png",
+                     url: img
+                  })
+               })
+            }
             return
          }
          state.partNames = await getPartNames(row.xmlUrl)
@@ -903,8 +925,6 @@ export default defineComponent({
       // // 多个文件下载
       const downLoadMultiFile = (files: any, filesName: string) => {
          const zip = new JSZip()
-         // const result = []
-         // console.log(files)
          for (const i in files) {
             zip.file(files[i].name, files[i].url, { binary: true })
          }

+ 39 - 0
src/views/cloudPractice/formatSvgToImg.ts

@@ -131,6 +131,45 @@ const canvasAddPadding = async (sourceCanvas: any, name: string) => {
    return blob
 }
 
+export const canvasAddTitle = async (sourceCanvas: any, name: string) => {
+   const targetCanvas = document.createElement("canvas")
+   targetCanvas.width = sourceCanvas.width
+   targetCanvas.height = sourceCanvas.height + 90
+
+   // 坐标(0,0) 表示从此处开始绘制,相当于偏移。
+   const targetContext = targetCanvas.getContext("2d") as CanvasRenderingContext2D
+
+   // const sourceContext = sourceCanvas.getContext("2d") as CanvasRenderingContext2D
+
+   // 从源canvas中获取图像数据
+   // const imageData = sourceContext.getImageData(0, 0, sourceCanvas.width, sourceCanvas.height)
+
+   // 清空目标canvas
+   targetContext.clearRect(0, 0, targetCanvas.width, targetCanvas.height)
+
+   // 将图像数据绘制到目标canvas上,并添加边距
+   // targetContext.putImageData(imageData, 200, 100)
+   targetContext.fillStyle = "#fff"
+   targetContext.fillRect(0, 0, targetCanvas.width, targetCanvas.height)
+   // targetCanvas = await addMusicTitle(targetCanvas, name)
+
+   // 小水印画布大小
+   // const waterCtx = water.getContext("2d") as CanvasRenderingContext2D
+   targetContext.font = `30pt Calibri`
+   targetContext.fillStyle = "#000"
+   targetContext.textAlign = "center"
+   targetContext.drawImage(sourceCanvas, 0, 70)
+   targetContext.fillText(name, targetCanvas.width / 2, 100)
+   const blob = await convertToBlob(targetCanvas)
+   // const base64 = await blobToBase64(blob)
+   targetContext.clearRect(0, 0, targetCanvas.width, targetCanvas.height)
+   return blob
+}
+
+export const convasToImg = (canvas: any) => {
+   return canvas.toDataURL("image/png")
+}
+
 // // 获取文件blob格式
 export const imgToCanvas = async (url: string) => {
    const img = document.createElement("img")

Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác