From 30d147c4c92dbfd5ca1b2f8c24a617dc82d2d25b Mon Sep 17 00:00:00 2001
From: zhongshujie <2862698242@qq.com>
Date: 星期一, 28 四月 2025 18:34:51 +0800
Subject: [PATCH] Merge branch 'master' of http://182.92.203.7:2001/r/testbookLayout

---
 src/books/artAndDrama/view/components/chapter004.vue |  119 +++++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 82 insertions(+), 37 deletions(-)

diff --git a/src/books/artAndDrama/view/components/chapter004.vue b/src/books/artAndDrama/view/components/chapter004.vue
index 158b8b6..3aa4c7b 100644
--- a/src/books/artAndDrama/view/components/chapter004.vue
+++ b/src/books/artAndDrama/view/components/chapter004.vue
@@ -5,14 +5,14 @@
                 <h1 id="a004">
                     <!-- 杩欓噷鐨勫姩鍥炬湁闂锛屾病鏈夎儗鏅浘鐗� -->
                     <img class="img-0" alt="" src="../../assets/images/dy4.jpg" />
-                    <audio :src="audioPathOne" controls controlslist="noplaybackrate nodownload" class="audio"></audio>
+                    <audio style="margin-top: 1em;" :src="audioPathOne" controls controlslist="noplaybackrate nodownload" class="audio"></audio>
                 </h1>
                 <div class="bodystyle">
                     <div class="bk">
                         <div class="bj1">
                             <p class="left"><img class="img-gn" alt="" src="../../assets/images/dydd.jpg" /></p>
                         </div>
-                        <p class="block" style="margin:  8% 5% 5% 7%">
+                        <p class="block mar-block">
                             鍦ㄦ垙鍓ф紨鍑轰腑锛岄櫎浜嗚垶鍙颁笂鐨勬紨鍛橈紝瀵兼紨銆佺伅鍏夈�侀�犲瀷绛夊箷鍚庝汉鍛樹篃鍙戞尌鐫�閲嶈鐨勪綔鐢ㄣ�傛湰鍗曞厓璁╂垜浠粠鍙板墠璧拌繘骞曞悗锛屽悜榛橀粯濂夌尞鐨勫伐浣滀汉鍛樿嚧鏁紒</p>
                     </div>
                 </div>
@@ -33,12 +33,16 @@
                 <div class="bodystyle" style="margin-top: 3%">
                     <h2 id="b016" class="problem">绗竴璇俱��涓�妯′竴鏍�</h2>
                     <h3 class="lefth3" id="c031"><img class="img-gn1" alt="" src="../../assets/images/rhybx.jpg" /></h3>
-                    <p class="text"><span class="hs1">鈼�</span>浠ュ皬缁勪负鍗曚綅鍥存垚涓�鍦堬紝闈㈡湞鍦堝韫蹭笅锛岀浉閭讳袱浜轰簰鎸庢墜鑷傦紝缁勫憳鍚屾椂绔欒捣鏉ワ紝鐪嬬湅鍝釜缁勬渶蹇紒</p>
-                    <p class="text"><span class="hs1">鈼�</span>璇翠竴璇达細蹇�熺珯璧锋潵鐨勭璇�鏄粈涔堬紵</p>
-                    <p><input v-model="questionData.warnUp.one" class="input-bottom-border fz-18"
-                            @change="setBookQuestion" style="width: 90%" /></p>
+                    <p class="text rhombusFather"><span class="hs1 rhombus">鈼�</span>浠ュ皬缁勪负鍗曚綅鍥存垚涓�鍦堬紝闈㈡湞鍦堝韫蹭笅锛岀浉閭讳袱浜轰簰鎸庢墜鑷傦紝缁勫憳鍚屾椂绔欒捣鏉ワ紝鐪嬬湅鍝釜缁勬渶蹇紒</p>
+                    <p class="text t-l rhombusFather"><span class="hs1 rhombus">鈼�</span>璇翠竴璇达細蹇�熺珯璧锋潵鐨勭璇�鏄粈涔堬紵
+                        <textarea v-model="questionData.reading.one" placeholder="璇疯緭鍏ュ唴瀹�" rows="6"
+                            class="w90 ma-l-40 fz-16 fm-son" @change="setBookQuestion"
+                            :class="{ 'textarea-focused': isFocused === 'one' }" @focus="handleFocus('one')"
+                            @blur="handleBlur('one')">
+                         </textarea>
+                    </p>
                     <h3 class="lefth3" id="c032"><img class="img-gn1" alt="" src="../../assets/images/czysj.jpg" /></h3>
-                    <p class="text"><span class="hs1">鈼�</span>浠ュ皬缁勪负鍗曚綅锛岃〃婕斾互涓嬪満鏅紝娉ㄦ剰淇濇寔鍔ㄤ綔涓�鑷村摝銆�</p>
+                    <p class="text rhombusFather"><span class="hs1 rhombus">鈼�</span>浠ュ皬缁勪负鍗曚綅锛岃〃婕斾互涓嬪満鏅紝娉ㄦ剰淇濇寔鍔ㄤ綔涓�鑷村摝銆�</p>
                     <p class="text">铓傝殎闃熼暱鍚瑰搷闆嗗悎鍙凤紝铓傝殎浠繀閫熻窇涓婂満绔欏ソ闃熷舰銆�</p>
                     <p class="text">铓傝殎浠姮鐫�濂堕叒鍚戝墠璧扮潃銆�</p>
                     <p class="text">铓傝殎浠窡闅忚殏铓侀槦闀跨殑鍙d护娑堝け鍦ㄨ崏涓涢噷銆�</p>
@@ -62,11 +66,14 @@
                 <div class="bodystyle" style="margin-top: 3%;">
                     <h2 id="b017" class="problem">绗簩璇俱��閫犲瀷鍙樺彉鍙�</h2>
                     <h3 class="lefth3" id="c033"><img class="img-gn1" alt="" src="../../assets/images/rhybx.jpg" /></h3>
-                    <p class="text"><span
-                            class="hs1">鈼�</span>鏄ュぉ鏉ヤ簡锛屾槬椋庡惞杩囷紝鏌虫爲鍙戣娊浜嗭紝杩庢槬鑺卞紑浜嗭紝灏忕嚂瀛愬湪澶╃┖鑷敱鍦伴缈斻�備竴鍒囬兘鏄偅涔堢敓鏈哄媰鍕冦�傝涓衡�滄槬澶┾�濇秱涓婁綘鍠滄鐨勯鑹层��</p>
+                    <p class="text rhombusFather"><span
+                            class="hs1 rhombus">鈼�</span>鏄ュぉ鏉ヤ簡锛屾槬椋庡惞杩囷紝鏌虫爲鍙戣娊浜嗭紝杩庢槬鑺卞紑浜嗭紝灏忕嚂瀛愬湪澶╃┖鑷敱鍦伴缈斻�備竴鍒囬兘鏄偅涔堢敓鏈哄媰鍕冦�傝涓衡�滄槬澶┾�濇秱涓婁綘鍠滄鐨勯鑹层��</p>
                     <!-- 鍥剧墖缂哄け -->
                     <!-- <p class="center"><img class="img-e" alt="" src="./../assets/images/0033-1.jpg" /></p> -->
-                     <graffiti  :page="32" :bcImg="this.config.activeBook.resourceUrl + '/image/0033-1.jpg'" :imgWidth="596" :imgHeight="800" />
+                    <!-- <graffiti :page="32" :bcImg="this.config.activeBook.resourceUrl + '/image/0033-1.jpg'"
+                        :imgWidth="596" :imgHeight="500" /> -->
+                    <paint :imgUrl="this.config.activeBook.resourceUrl + '/image/0033-1.jpg'" :page="32"
+                    />
                 </div>
                 <!-- 姝ゆ涓洪〉鑴氶儴鍒嗭紙闇�瑕佽缃〉鐮侊級 -->
                 <div class="page-footer">
@@ -83,7 +90,7 @@
                 <img class="headerimg" src="../../assets/images/page5.png" alt="" />
                 <div class="bodystyle" style="margin-top: 3%;">
                     <h3 class="lefth3" id="c034"><img class="img-gn1" alt="" src="../../assets/images/czysj.jpg" /></h3>
-                    <p class="text"><span class="hs1">鈼�</span>鍔ㄥ姩鎵嬶紝涓恒�婁竴鍧楀ザ閰�嬩腑鐨勮殏铓佽鑹茶璁$畝鍗曠殑鏈嶈鍚э紒</p>
+                    <p class="text rhombusFather"><span class="hs1 rhombus">鈼�</span>鍔ㄥ姩鎵嬶紝涓恒�婁竴鍧楀ザ閰�嬩腑鐨勮殏铓佽鑹茶璁$畝鍗曠殑鏈嶈鍚э紒</p>
                     <p class="center openImgBox"><img class="img-e" alt="" src="../../assets/images/4-2.gif" /></p>
                 </div>
                 <!-- 姝ゆ涓洪〉鑴氶儴鍒嗭紙闇�瑕佽缃〉鐮侊級 -->
@@ -101,10 +108,17 @@
                 <div class="bodystyle" style="margin-top: 3%">
                     <h2 id="b018" class="problem">绗笁璇俱��鍙樺簾涓哄疂</h2>
                     <h3 class="lefth3" id="c035"><img class="img-gn1" alt="" src="../../assets/images/rhybx.jpg" /></h3>
-                    <p class="text"><span class="hs1">鈼�</span>浠ュ皬缁勪负鍗曚綅锛屽ご椤剁焊鏉紝鑵垮す鎶ョ焊锛岃繘琛屽す绾歌繍鏉父鎴忥紒</p>
+                    <p class="text rhombusFather"><span class="hs1 rhombus">鈼�</span>浠ュ皬缁勪负鍗曚綅锛屽ご椤剁焊鏉紝鑵垮す鎶ョ焊锛岃繘琛屽す绾歌繍鏉父鎴忥紒</p>
                     <h3 class="lefth3" id="c036" style="margin-top: 7%"><img class="img-gn1" alt=""
                             src="../../assets/images/czysj.jpg" /></h3>
-                    <p class="text"><span class="hs1">鈼�</span>璇锋牴鎹�婁竴鍧楀ザ閰�嬬殑鍓ф湰锛屽垪鍑烘紨鍑轰腑闇�瑕佺殑閬撳叿娓呭崟锛岃鎸夌収娓呭崟锛屽埄鐢ㄤ綘鏀堕泦鐨勬棫鐗╁埗浣滈亾鍏峰惂锛�</p>
+                    <p class="text rhombusFather"><span class="hs1 rhombus">鈼�</span>璇锋牴鎹�婁竴鍧楀ザ閰�嬬殑鍓ф湰锛屽垪鍑烘紨鍑轰腑闇�瑕佺殑閬撳叿娓呭崟锛岃鎸夌収娓呭崟锛屽埄鐢ㄤ綘鏀堕泦鐨勬棫鐗╁埗浣滈亾鍏峰惂锛�</p>
+                    <p class="text">
+                        <textarea v-model="questionData.reading.two" placeholder="璇疯緭鍏ュ唴瀹�" rows="6"
+                            style="margin: 1em 0; width: 92%" class="fz-16 fm-son" @change="setBookQuestion"
+                            :class="{ 'textarea-focused': isFocused === 'two' }" @focus="handleFocus('two')"
+                            @blur="handleBlur('two')">
+                         </textarea>
+                    </p>
                     <p class="center"><img class="img-e" alt="" src="../../assets/images/0035-1.jpg" /></p>
                 </div>
                 <!-- 姝ゆ涓洪〉鑴氶儴鍒嗭紙闇�瑕佽缃〉鐮侊級 -->
@@ -123,12 +137,12 @@
                 <div class="bodystyle" style="margin-top: 3%;">
                     <h2 id="b019" class="problem">绗洓璇俱��濂囧鐨勮垶鍙�</h2>
                     <h3 class="lefth3" id="c037"><img class="img-gn1" alt="" src="../../assets/images/rhybx.jpg" /></h3>
-                    <p class="text"><span class="hs1">鈼�</span>璇蜂綘璇曠潃妯℃嫙婕斿憳鍊欏満銆佽阿骞曪紝鑸炲彴缇庢湳宸ヤ綔浜哄憳杩涜骞曞悗鍑嗗鐨勫満鏅��</p>
+                    <p class="text rhombusFather"><span class="hs1 rhombus">鈼�</span>璇蜂綘璇曠潃妯℃嫙婕斿憳鍊欏満銆佽阿骞曪紝鑸炲彴缇庢湳宸ヤ綔浜哄憳杩涜骞曞悗鍑嗗鐨勫満鏅��</p>
                     <p class="center"><img class="img-e" alt="" src="../../assets/images/0036-1.jpg" /></p>
                     <h3 class="lefth3" id="c038" style="margin-top: 7%;"><img class="img-gn1" alt=""
                             src="../../assets/images/czysj.jpg" /></h3>
-                    <p class="text"><span class="hs1">鈼�</span>閭�璇峰悓浼村叡鍚屽畬鎴愩�婁竴鍧楀ザ閰�嬬殑灞曟紨鍚э紒</p>
-                    <p class="center openImgBox"><img class="img-e" alt="" src="../../assets/images/4-2.gif" /></p>
+                    <p class="text rhombusFather"><span class="hs1 rhombus">鈼�</span>閭�璇峰悓浼村叡鍚屽畬鎴愩�婁竴鍧楀ザ閰�嬬殑灞曟紨鍚э紒</p>
+                    <p class="center openImgBox"><img class="img-e" alt="" src="../../assets/images/0036-2.jpg" /></p>
                 </div>
                 <!-- 姝ゆ涓洪〉鑴氶儴鍒嗭紙闇�瑕佽缃〉鐮侊級 -->
                 <div class="page-footer">
@@ -146,8 +160,8 @@
                     <h2 id="b020" class="problem">鍗曞厓娲诲姩浠诲姟</h2>
                     <h3 class="lefth3" id="c039"><img class="img-gn1" alt="" src="../../assets/images/xsyty.jpg" /></h3>
                     <p class="center text1"><span class="hs">褰綋鎿嶇粌涔�</span></p>
-                    <p class="text ends">
-                        <span><span class="hs1">鈼�</span>澶撮儴杩愬姩</span>
+                    <p class="text ends rhombusFather">
+                        <span><span class="hs1 rhombus">鈼�</span>澶撮儴杩愬姩</span>
                         <span> <audio :src="audioPathTwo" controls controlslist="noplaybackrate nodownload"
                                 class="audio"></audio> </span>
                     </p>
@@ -155,16 +169,16 @@
                     <p class="text">绗�2涓叓鎷嶏細宸︽墜瓒婅繃澶撮《鎽稿彸鑰筹紝鍚戝乏杞昏交鍘嬪ご閮ㄣ��</p>
                     <p class="text">绗�3涓叓鎷嶏細澶撮儴椤烘椂閽堣浆涓�鍦堛��</p>
                     <p class="text">绗�4涓叓鎷嶏細澶撮儴閫嗘椂閽堣浆涓�鍦堛��</p>
-                    <p class="text ends">
-                        <span><span class="hs1">鈼�</span>寮�鑲╃粌涔�</span>
+                    <p class="text ends rhombusFather">
+                        <span><span class="hs1 rhombus">鈼�</span>寮�鑲╃粌涔�</span>
                         <span> <audio :src="audioPathThree" controls controlslist="noplaybackrate nodownload"
                                 class="audio"></audio> </span>
                     </p>
                     <p class="text">骞宠鍓嶆柟锛岃偐鑶�鏀炬澗锛屽弻鎵嬭嚜鐒朵笅鍨傦紝鍙岃剼鎵撳紑锛屼笌鑲╁悓瀹姐��</p>
                     <p class="text">绗�1涓叓鎷嶏細绗�1-4鎷嶆墜鑲樺唴渚у悜澶栬浆鍔紝甯﹀姩 鍙岃偐鎵撳紑锛涚5-8鎷嶆墜鑲樺唴渚у悜鍐呮敹鍥烇紝鍚庤儗鎷辫捣锛屽甫鍔ㄥ弻鑲╁唴鎵c��</p>
                     <p class="text">绗�2鑷崇4涓叓鎷嶏細閲嶅绗�1涓叓鎷嶇殑鍔ㄤ綔銆�</p>
-                    <p class="text ends">
-                        <span><span class="hs1">鈼�</span>鎻愭矇鑲╄繍鍔�</span>
+                    <p class="text ends rhombusFather">
+                        <span><span class="hs1 rhombus">鈼�</span>鎻愭矇鑲╄繍鍔�</span>
                         <span> <audio :src="audioPathFour" controls controlslist="noplaybackrate nodownload"
                                 class="audio"></audio> </span>
                     </p>
@@ -186,8 +200,8 @@
                 <div class="bodystyle" style="margin-top: 3%;">
                     <p class="text">绗�1鑷崇2涓叓鎷嶏細鍙屾墜涓嬪瀭锛屾墜蹇冨悜涓嬶紝鍙岃偐涓婃彁鍐嶆矇涓嬶紝涓ゆ媿涓�鍔ㄣ��</p>
                     <p class="text">绗�3鑷崇4涓叓鎷嶏細鍙屾墜涓嬪瀭锛屾墜蹇冨悜涓嬶紝宸﹀彸鑲╄唨渚濇涓婃彁鍐嶆矇涓嬶紝涓�鎷嶄竴鍔ㄣ��</p>
-                    <p class="text ends">
-                        <span><span class="hs1">鈼�</span>浼稿睍杩愬姩</span>
+                    <p class="text ends rhombusFather">
+                        <span><span class="hs1 rhombus">鈼�</span>浼稿睍杩愬姩</span>
                         <span> <audio :src="audioPathFive" controls controlslist="noplaybackrate nodownload"
                                 class="audio"></audio> </span>
                     </p>
@@ -196,7 +210,7 @@
                     <p class="text">绗�2鑷崇4涓叓鎷嶏細閲嶅绗�1涓叓鎷嶇殑鍔ㄤ綔銆�</p>
                     <h3 class="lefth3" id="c040" style="margin-top: 7%;"><img class="img-gn1" alt=""
                             src="../../assets/images/tzyys.jpg" /></h3>
-                    <p class="text"><span class="hs1">鈼�</span>鍐欎竴绡囨帓婕旀�荤粨锛屽垎浜涔犵粡楠屽拰鎰熷彈锛�</p>
+                    <p class="text rhombusFather"><span class="hs1 rhombus">鈼�</span>鍐欎竴绡囨帓婕旀�荤粨锛屽垎浜涔犵粡楠屽拰鎰熷彈锛�</p>
                     <p class="center text">
                         <video :src="videoPathOne" webkit-playsinline="true" x-webkit-airplay="true" playsinline="true"
                             x5-video-orientation="h5" x5-video-player-fullscreen="true" x5-playsinline="" controls
@@ -207,8 +221,8 @@
                         <span>瑙嗛锛氬洟缁撳氨鏄姏閲� </span>
                         <el-tooltip class="item" effect="dark" :content="chapterData.isCollectVideo ? '鐐瑰嚮鍙栨秷' : '鐐瑰嚮鏀惰棌'"
                             placement="top-start">
-                            <img :src="chapterData.isCollectVideo ? collectCheck : collectImg" alt=""
-                                class="collect-btn" @click="handleCollect('video')" />
+                            <img :src="collectResourceList.findIndex(item => item.id == '691cbd2c13198d04afc7800d0f2cafb0') > -1 ? collectCheck : collectImg"
+                                alt="" class="collect-btn" @click="handleCollect('video')" />
                         </el-tooltip>
                     </p>
                 </div>
@@ -223,7 +237,8 @@
 </template>
 <script>
 import { getResourcePath } from "@/assets/methods/resources";
-import graffiti from '@/components/graffiti/index.vue'
+import paint from '@/components/paint/index.vue'
+import { getCollectResource, setCollectResource } from "@/assets/methods/resources";
 export default {
     name: "chapterFour",
     props: {
@@ -231,14 +246,22 @@
             type: Array,
         },
     },
-    components:{graffiti},
+    components: { 
+        paint
+     },
     //鍦ㄨ繖閲屽璋冪敤鐨勬柟娉曡繘琛屾寕杞�
-    mounted() {
+    async mounted() {
         this.getVidoePath();
         const bookQuestion = localStorage.getItem("artAndDrama-book-question-four");
         if (bookQuestion) {
             this.questionData = JSON.parse(bookQuestion);
         }
+
+        const data = localStorage.getItem("artAndDrama-chapter04-Data");
+        if (data) {
+            this.chapterData = JSON.parse(data);
+        }
+        this.collectResourceList = await getCollectResource(this.config.activeBook.bookId)
     },
     data() {
         return {
@@ -250,6 +273,8 @@
             audioPathThree: "",
             audioPathFour: "",
             audioPathFive: "",
+            isFocused: null, // 鐢ㄤ簬璺熻釜textarea鐨勮仛鐒︾姸鎬�
+            collectResourceList: [],
             chapterData: {
                 isCollectImg: false,
                 isCollectVideo: false,
@@ -259,7 +284,6 @@
             questionData: {
                 warnUp: {
                     one: "",
-
                 },
                 reading: {
                     one: "",
@@ -308,8 +332,13 @@
                 "7abb747bd16745afb83715fcbb3579ab"
             );
         },
+        handleFocus(id) {
+            this.isFocused = id; // 褰搕extarea鑱氱劍鏃讹紝璁剧疆涓簍rue  
+        },
+        handleBlur(id) {
+            this.isFocused = null; // 褰搕extarea澶卞幓鐒︾偣鏃讹紝璁剧疆涓篺alse  
+        },
         setBookQuestion() {
-            console.log("淇濆瓨");
             localStorage.setItem(
                 "artAndDrama-book-question-four",
                 JSON.stringify(this.questionData)
@@ -317,18 +346,34 @@
         },
         handleChapterData() {
             localStorage.setItem(
-                "math-chapterData",
+                "artAndDrama-chapter04-Data",
                 JSON.stringify(this.chapterData)
             );
         },
         handleCollect(type) {
-            if (type == "img") {
-                this.chapterData.isCollectImg = !this.chapterData.isCollectImg;
-            } else if (type == "video") {
-                this.chapterData.isCollectVideo = !this.chapterData.isCollectVideo;
+            if (type == "video") {
+                this.handleCollectResource("09de7704eeaaf3a210b8c6af0a94d545", "09de7704eeaaf3a210b8c6af0a94d545", '', "瑙嗛", "bits", '瑙嗛锛氬洟缁撳氨鏄姏閲�')
             }
             this.handleChapterData();
         },
+        //璧勬簮鏀惰棌浜嬩欢
+        handleCollectResource(id, md5, resourcePath, resourceType, source, resourceName) {
+            let list = this.collectResourceList
+            if (list.findIndex(item => item.id == id) > -1) {
+                list = list.filter(item => item.id != id)
+            } else {
+                list.push({
+                    id,
+                    md5,
+                    resourcePath,
+                    resourceType,
+                    source,
+                    resourceName,
+                })
+            }
+            this.collectResourceList = list
+            setCollectResource(this.config.activeBook.bookId, this.collectResourceList)
+        }
     },
 };
 </script>

--
Gitblit v1.9.1