From 3a85d31c1039315667f8fa66ce01be06626ed23f Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Sat, 18 Mar 2023 10:59:40 +0800
Subject: [PATCH] 添加判断防止报错

---
 src/views/modules/modulesView.vue |  103 ++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 88 insertions(+), 15 deletions(-)

diff --git a/src/views/modules/modulesView.vue b/src/views/modules/modulesView.vue
index cd03345..2d64799 100644
--- a/src/views/modules/modulesView.vue
+++ b/src/views/modules/modulesView.vue
@@ -8,6 +8,7 @@
         <el-button size="small" class="button" icon="el-icon-back" @click="backStartPage">回到开始页</el-button>
       </div>
     </div>
+
     <div class="content-view">
       <!--开始页-->
       <div v-if="currentIndex==1" class="start">
@@ -20,7 +21,7 @@
       </div>
 
       <!--内容页-->
-      <div style="height: 100%;width: 100%"  v-if="currentIndex==2" class="content">
+      <div style="height: 100%;width: 100%;background-color: #404040"  v-if="currentIndex==2" class="content">
 
         <!--flash-->
         <div  v-if="content.type == 1">
@@ -28,7 +29,7 @@
         </div>
 
         <!--图册-->
-        <Flipbook v-if="content.type == 2" class="flipbook"
+        <FlipBook v-if="content.type == 2" class="flipbook"
                   :pages="flipConfig.pages"
                   :startPage="flipConfig.pageNum"
                   v-slot="flipbook"
@@ -58,7 +59,7 @@
               @click="flipbook.flipRight"
             />
           </div>
-        </Flipbook>
+        </FlipBook>
 
         <!--视频-->
         <iframe v-if="content.type == 3" style="height: 100%;width: 100%" class="view-iframe" :src="iframePath"/>
@@ -72,6 +73,7 @@
 
 <script>
 import {getAll} from "@/api/modules/function";
+import FlipBook from "flipbook-vue/dist/vue2/flipbook";
 import LeftIcon from 'vue-material-design-icons/ChevronLeftCircle'
 import RightIcon from 'vue-material-design-icons/ChevronRightCircle'
 import PlusIcon from 'vue-material-design-icons/PlusCircle'
@@ -80,7 +82,7 @@
 export default {
   name: "modulesView",
   props:['modules'],
-  components: {LeftIcon, RightIcon, PlusIcon, MinusIcon},
+  components: {FlipBook,LeftIcon, RightIcon, PlusIcon, MinusIcon},
   data() {
     return {
       funList:[],
@@ -91,9 +93,7 @@
       content:{},
       iframePath:"",
       flipConfig: {
-        pages: [
-          'http://dev.jxpskj.com:9000/multimedia/upload/20230316/4de7aac224ce2a8f4ed8b025740405d4.png'
-        ],
+        pages: [],
         pagesHiRes: [],
         hasMouse: true,
         pageNum: null,
@@ -116,7 +116,6 @@
       getAll(params).then(res => {
         if (res.data.code == 200) {
           let data = res.data.data
-          this.funList = data
           data.forEach(e=>{
             if (e.property == 1){
               this.startPage = e
@@ -135,13 +134,18 @@
       if (data.type == 1) {
 
       } else if (data.type == 2) {
-        // let fileArray = data.fileUrl
-        // fileArray.forEach(e => {
-        //   this.flipConfig.pages.push(e.value)
-        // })
+        let fileArray = data.fileUrl
+        this.flipConfig.pages = []
+        if (fileArray.length>0){
+          fileArray.forEach(e => {
+            this.flipConfig.pages.push(e.value)
+          })
+        }
       } else if (data.type == 3) {
-        let url = data.fileUrl[0].value
-        this.iframePath = 'http://192.168.0.200:8012/onlinePreview?url=' + encodeURIComponent(Base64.encode(url))
+        if (data.fileUrl.length>0){
+          let url = data.fileUrl[0].value
+          this.iframePath = 'http://192.168.0.200:8012/onlinePreview?url=' + encodeURIComponent(Base64.encode(url))
+        }
       }
     },
     backStartPage(){
@@ -170,7 +174,76 @@
 
 .start-button-group {
   position: relative;
+  display: flex;
   top: -25%;
-  left: 42%;
+  justify-content: center;
+}
+/**
+翻页
+ */
+.flipbook {
+  width: 100%;
+  height: 100%;
+}
+
+.page-num {
+  color: white;
+}
+
+.action-bar {
+  width: 100%;
+  height: 30px;
+  padding: 10px 0;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+}
+
+.action-bar .btn {
+  font-size: 30px;
+  color: #999;
+}
+
+.action-bar .btn svg {
+  bottom: 0;
+}
+
+.action-bar .btn:not(:first-child) {
+  margin-left: 10px;
+}
+
+.has-mouse .action-bar .btn:hover {
+  color: #ccc;
+  filter: drop-shadow(1px 1px 5px #000);
+  cursor: pointer;
+}
+
+.action-bar .btn:active {
+  filter: none !important;
+}
+
+.action-bar .btn.disabled {
+  color: #666;
+  pointer-events: none;
+}
+
+.action-bar .page-num {
+  font-size: 12px;
+  margin-left: 10px;
+}
+
+.flipbook .viewport {
+  width: 90vw !important;
+  height: calc(100vh - 800px - 40px) !important;
+}
+
+.flipbook .bounding-box {
+  box-shadow: 0 0 20px #000;
+}
+
+.credit {
+  font-size: 12px;
+  line-height: 20px;
+  margin: 10px;
 }
 </style>

--
Gitblit v1.9.3