From aff8d054df4a638f399dc8f15d98c19b9c9aa785 Mon Sep 17 00:00:00 2001
From: litian <C21AF165>
Date: 星期二, 29 四月 2025 10:11:25 +0800
Subject: [PATCH] 扫码视频播放

---
 pages/retrievalPage/index.wxml |  533 +++++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 357 insertions(+), 176 deletions(-)

diff --git a/pages/retrievalPage/index.wxml b/pages/retrievalPage/index.wxml
index 58e2947..c094a0b 100644
--- a/pages/retrievalPage/index.wxml
+++ b/pages/retrievalPage/index.wxml
@@ -1,209 +1,390 @@
-<view class="outsideRetrievalPageBox">
+<import src="index.skeleton.wxml" />
+<template is="skeleton" wx:if="{{loading}}" />
 
+<view class="outsideRetrievalPageBox" hidden="{{hidden}}">
   <view class="retrievalPageBox">
-    <view style="width: 100%; height: {{barHeight}}px; "></view>
-    <view class="nacigationBar" style="width: 70%; height: {{navBarHeight}}px;">
-      <view>
-        <t-icon name="chevron-left" size="30" data-name="{{item}}" bind:click="goBack" />
-      </view>
-      <view class="navbar-title">妫�绱㈢粨鏋�</view>
-    </view>
-
-
     <view class="example-search">
-      <t-search bind:submit="onSearchSubmit" class="searchBox" model:value="{{searchVal}}" placeholder="璇疯緭鍏ュ叧閿瘝/涔﹀悕/ISBN/浣滆��" />
+      <t-search
+        bind:submit="onSearchSubmit"
+        class="searchBox"
+        model:value="{{searchVal}}"
+        placeholder="璇疯緭鍏ュ叧閿瘝/涔﹀悕/ISBN/浣滆��/椤圭洰璐熻矗浜�"
+      />
       <view class="cancellation" bind:tap="onCancellation">鍙栨秷</view>
     </view>
-
   </view>
-  <!--pages/retrievalPage/index.wxml-->
-
-
-  <view class="tabsBox">
-    <!-- sticky="true" -->
-    <t-tabs defaultValue="{{0}}" bind:change="onTabsChange" bind:click="onTabsClick" t-class="custom-tabs" t-class-content="custom-panel" sticky="true">
-      <t-tab-panel label="鍥句功({{bookTotal}})" value="0">
-        <view wx:if="{{bookData.length <= 0}}" class="noDataBox">
-          <t-empty icon="folder-open" description="鏆傛棤鏁版嵁" />
-        </view>
-        <view class="bookDataBox">
-          <view class="bookDataForBox" wx:for="{{bookData}}" wx:key="index" wx:for-item="item" wx:for-index="index" data-item="{{item}}" bind:tap="onBook">
-            <view class="imageBox">
-              <image src="{{item.icon}}" mode="aspectFill" />
-            </view>
-            <view class="bookDataNmae">
-              {{item.name}}
-            </view>
-            <view class="bookDataAuthor">{{item.author}}</view>
+  <view>
+    <!-- Tab甯冨眬 -->
+    <scroll-view scroll-x="{{true}}" class="scroll-x">
+      <view class="navBox">
+        <view class="titleBox" wx:for="{{tabList}}" bindtap="tabsOn" wx:key="index" wx:for-item="item" wx:for-index="index" data-idx="{{item.index}}">
+          <view class="tabIndexBox">
+            <text class="{{item.index == tabsId ? 'fontColorBox' : ''}}"
+              >{{item.title}} ({{item.bookTotal}})
+            </text>
           </view>
+          <hr class="{{item.index == tabsId ? 'lineBox' : ''}}" />
         </view>
-        <view wx:if="{{bookData.length != 0}}" class="bottom-box">
-          <t-loading theme="circular" size="40rpx" class="wrapper" wx:if="{{isMore == true}}" />
-          <text wx:if="{{isMore == false}}">娌℃湁鏇村浜�</text>
-        </view>
-      </t-tab-panel>
-      <t-tab-panel label="璇剧▼({{courseTotal}})" value="1">
-        <view wx:if="{{courseData.length <= 0}}" class="noDataBox">
-          <t-empty icon="folder-open" description="鏆傛棤鏁版嵁" />
-        </view>
+      </view>
+    </scroll-view>
+    <!-- 鍐呭甯冨眬 -->
+    <swiper
+      class="swiperTtemBox"
+      bindchange="slideOn"
+      current="{{tabsId}}"
+      circular
+    >
+      <!-- circular 鍚敤寰幆婊戝姩 -->
+      <swiper-item>
+        <scroll-view
+          scroll-y="{{true}}"
+          class="scrollViewBox"
+          bindscrolltolower="onScrollToLower"
+        >
+          <view class="bookDataBox">
+            <view
+              class="bookDataForBox"
+              wx:for="{{bookData}}"
+              wx:key="index"
+              wx:for-item="item"
+              wx:for-index="index"
+              data-item="{{item}}"
+              bind:tap="onBook"
+            >
+              <view class="imageBox">
+                <image
+                  wx:if="{{item.icon}}"
+                  src="{{item.icon}}"
+                  mode="aspectFit"
+                />
+                <image
+                  wx:if="{{!item.icon}}"
+                  src="/static/images/default-book-img.png"
+                  mode=""
+                />
+              </view>
+              <view class="bookDataNmae"> {{item.name}} </view>
+              <view class="bookDataAuthor">{{item.author}}</view>
+            </view>
+          </view>
+          <view wx:if="{{bookData.length}}" class="bottom-box">
+            <t-loading
+              theme="circular"
+              size="40rpx"
+              class="wrapper"
+              wx:if="{{isMore == true}}"
+            />
+            <text wx:if="{{isMore == false}}">娌℃湁鏇村浜�</text>
+          </view>
+          <view wx:if="{{bookData.length <= 0}}" class="noDataBox">
+            <!-- <t-empty icon="folder-open" description="鏆傛棤鏁版嵁" /> -->
+            <empty />
+          </view>
+        </scroll-view>
+      </swiper-item>
+      <swiper-item>
+        <scroll-view
+          scroll-y="{{true}}"
+          class="scrollViewBox"
+          bindscrolltolower="onScrollToLower"
+        >
+          <view class="listBox1">
+            <view>
+              <view
+                wx:for="{{courseData}}"
+                wx:for-item="item"
+                wx:for-index="index"
+                wx:key="index"
+                bindtap="toList"
+                data-info="{{item}}"
+                class="listItemBox"
+              >
+                <view
+                  class="listItem flex"
+                  data-book="{{item}}"
+                  bind:tap="underConstruction"
+                >
+                  <view class="specialSubject-img-box">
+                    <image src="{{item.icon}}" mode="aspectFit" class="img"/>
+                  </view>
+                  <view class="body-info">
+                    <view class="name">{{item.name}}</view>
+                    <view class="flex jc-sb">
+                      <text class="author">{{item.courseLeader}}</text>
+                      <text>{{item.classHours}}璇炬椂</text>
+                    </view>
+                    <view class="priceBox flex jc-sb">
+                      <text class="price" wx:if="{{item.price == 0}}"
+                        >鍏嶈垂</text
+                      >
+                      <text class="price" wx:if="{{item.price !== 0}}"
+                        >锟{item.price}}</text
+                      >
+                      <image
+                        src="/static/images/home/home-cart.png"
+                        mode="aspectFill"
+                        class="addCartImg"
+                      />
+                    </view>
+                  </view>
+                </view>
+              </view>
+            </view>
+          </view>
+          <view wx:if="{{courseData.length != 0}}" class="bottom-box">
+            <t-loading
+              theme="circular"
+              size="40rpx"
+              class="wrapper"
+              wx:if="{{isMore == true}}"
+            />
+            <text wx:if="{{isMore == false}}">娌℃湁鏇村浜�</text>
+          </view>
+          <view wx:if="{{courseData.length <= 0}}" class="noDataBox">
+            <!-- <t-empty icon="folder-open" description="鏆傛棤鏁版嵁" /> -->
+            <empty />
+          </view>
+        </scroll-view>
+      </swiper-item>
+      <swiper-item>
+        <scroll-view
+          scroll-y="{{true}}"
+          class="scrollViewBox"
+          bindscrolltolower="onScrollToLower"
+        >
+          <view class="bookDataBox">
+            <view
+              class="bookDataForBox"
+              wx:for="{{digitalTextbooksData}}"
+              wx:key="index"
+              wx:for-item="item"
+              wx:for-index="index"
+              data-item="{{item}}"
+              bind:tap="goTextBookDetail"
+            >
+              <view class="imageBox">
+                <image src="{{item.icon}}" mode="aspectFit" mode="" />
+              </view>
+              <view class="bookDataNmae"> {{item.name}} </view>
+              <view class="bookDataAuthor">{{item.author}}</view>
+            </view>
+          </view>
 
-        <view class="listBox1">
-
-          <view>
-            <view wx:for="{{courseData}}" wx:for-item="item" wx:for-index="index" wx:key="index" bindtap="toList" data-info="{{item}}" class="listItemBox">
-              <view class="listItem flex" data-item="{{item}}" bind:tap="underConstruction">
-                <view class="specialSubject-img-box">
-                  <image src="{{item.icon}}" mode="aspectFill" />
+          <view wx:if="{{digitalTextbooksData.length != 0}}" class="bottom-box">
+            <t-loading
+              theme="circular"
+              size="40rpx"
+              class="wrapper"
+              wx:if="{{isMore == true}}"
+            />
+            <text wx:if="{{isMore == false}}">娌℃湁鏇村浜�</text>
+          </view>
+          <view wx:if="{{digitalTextbooksData.length <= 0}}" class="noDataBox">
+            <!-- <t-empty icon="folder-open" description="鏆傛棤鏁版嵁" /> -->
+            <empty />
+          </view>
+        </scroll-view>
+      </swiper-item>
+      <swiper-item>
+        <scroll-view
+          scroll-y="{{true}}"
+          class="scrollViewBox"
+          bindscrolltolower="onScrollToLower"
+        >
+          <view class="listBox">
+            <view
+              wx:for="{{seminarData}}"
+              wx:for-item="item"
+              wx:for-index="index"
+              wx:key="index"
+              class="listItemBox"
+              data-item="{{item}}"
+              bind:tap="goSubjectDetail"
+            >
+              <view
+                class="listItem"
+                bindtap="goSubjectDetail"
+                data-book="{{item}}"
+              >
+                <view class="specialSubject-img">
+                  <image src="{{item.icon}}" mode="aspectFill" class="img" />
                 </view>
                 <view class="body-info">
                   <view class="name">{{item.name}}</view>
+                  <view class="time" wx:if="{{item.liveTime}}"
+                    >鐩存挱鏃堕棿锛歿{item.liveTime}}</view
+                  >
+                  <view class="time" wx:if="{{item.startTime}}"
+                    >寮�鎾椂闂达細{{ item.startTime }}</view
+                  >
+                  <view
+                    class="time"
+                    wx:if="{{!item.liveTime && !item.startTime}}"
+                    >寮�鎾椂闂达細<text class="grey">寰呭畾</text></view
+                  >
                   <view class="flex jc-sb">
-                    <text class="author">{{item.courseLeader}}</text>
-                    <text>{{item.classHours}}璇炬椂</text>
-                  </view>
-                  <view class="priceBox flex jc-sb">
+                    <text class="author"
+                      >{{item.lecturer}} {{item.position}}</text
+                    >
                     <text class="price" wx:if="{{item.price == 0}}">鍏嶈垂</text>
-                    <text class="price" wx:if="{{item.price !== 0}}">锟{item.price}}</text>
-                    <image src="/static/images/home/home-cart.png" mode="aspectFill" class="addCartImg" />
+                    <text class="price" wx:if="{{item.price !== 0}}"
+                      >锟{item.price}}</text
+                    >
                   </view>
                 </view>
               </view>
             </view>
           </view>
-
-        </view>
-
-        <view wx:if="{{courseData.length != 0}}" class="bottom-box">
-          <t-loading theme="circular" size="40rpx" class="wrapper" wx:if="{{isMore == true}}" />
-          <text wx:if="{{isMore == false}}">娌℃湁鏇村浜�</text>
-        </view>
-      </t-tab-panel>
-      <t-tab-panel label="鏁板瓧鏁欐潗({{digitalTextbooksTotal}})" value="2">
-
-
-        <view wx:if="{{digitalTextbooksData.length <= 0}}" class="noDataBox">
-          <t-empty icon="folder-open" description="鏆傛棤鏁版嵁" />
-        </view>
-
-        <view class="bookDataBox">
-
-
-          <view class="bookDataForBox" wx:for="{{digitalTextbooksData}}" wx:key="index" wx:for-item="item" wx:for-index="index" data-item="{{item}}" bind:tap="underConstruction">
-            <view class="imageBox">
-              <image src="{{item.icon}}" mode="" />
-            </view>
-            <view class="bookDataNmae">
-              {{item.name}}
-            </view>
-            <view class="bookDataAuthor">{{item.author}}</view>
+          <view wx:if="{{seminarData.length != 0}}" class="bottom-box">
+            <t-loading
+              theme="circular"
+              size="40rpx"
+              class="wrapper"
+              wx:if="{{isMore == true}}"
+            />
+            <text wx:if="{{isMore == false}}">娌℃湁鏇村浜�</text>
           </view>
-        </view>
-
-
-        <view wx:if="{{digitalTextbooksData.length != 0}}" class="bottom-box">
-          <t-loading theme="circular" size="40rpx" class="wrapper" wx:if="{{isMore == true}}" />
-          <text wx:if="{{isMore == false}}">娌℃湁鏇村浜�</text>
-        </view>
-
-
-
-      </t-tab-panel>
-      <t-tab-panel label="涓撻({{seminarTotal}})" value="3">
-        <view wx:if="{{seminarData.length <= 0}}" class="noDataBox">
-          <t-empty icon="folder-open" description="鏆傛棤鏁版嵁" />
-        </view>
-        <view class="listBox">
-          <view wx:for="{{seminarData}}" wx:for-item="item" wx:for-index="index" wx:key="index" class="listItemBox" data-item="{{item}}" bind:tap="underConstruction">
-            <view class="listItem" bindtap="goSubjectDetail" data-book="{{item}}">
-              <view class="specialSubject-img">
-                <image src="{{item.icon}}" mode="aspectFill" class="img" />
-              </view>
-              <view class="body-info">
-                <view class="name">{{item.name}}</view>
-                <view class="time" wx:if="{{item.liveTime}}">鐩存挱鏃堕棿锛歿{item.liveTime}}</view>
-                <view class="time" wx:if="{{item.startTime}}">寮�鎾椂闂达細{{ item.startTime }}</view>
-                <view class="time" wx:if="{{!item.liveTime && !item.startTime}}">寮�鎾椂闂达細<text class="grey">寰呭畾</text></view>
-                <view class="flex jc-sb">
-                  <text class="author">{{item.lecturer}} {{item.position}}</text>
-                  <text class="price" wx:if="{{item.price == 0}}">鍏嶈垂</text>
-                  <text class="price" wx:if="{{item.price !== 0}}">锟{item.price}}</text>
+          <view wx:if="{{seminarData.length <= 0}}" class="noDataBox">
+            <!-- <t-empty icon="folder-open" description="鏆傛棤鏁版嵁" /> -->
+            <empty />
+          </view>
+        </scroll-view>
+      </swiper-item>
+      <swiper-item>
+        <scroll-view
+          scroll-y="{{true}}"
+          class="scrollViewBox"
+          bindscrolltolower="onScrollToLower"
+        >
+          <view class="outsideHigherBox">
+            <view
+              class="higherBox"
+              wx:for="{{bookFairData}}"
+              wx:key="index"
+              wx:for-item="item"
+              wx:for-index="index"
+            >
+              <view class="outsideHigherImageBox">
+                <view
+                  class="higherImageBox"
+                  bind:tap="openBookFair"
+                  data-item="{{item}}"
+                >
+                  <image src="{{item.icon}}" mode="aspectFill" />
+                  <view
+                    class="downloadIcon"
+                    data-item="{{item}}"
+                    data-key="showWithInput"
+                    catch:tap="mailbox"
+                  >
+                    <image
+                      wx:if="{{determine}}"
+                      class="download"
+                      src="/static/images/bibliographyList/email-click.png"
+                      mode="aspectFit"
+                    />
+                    <image
+                      wx:else=""
+                      class="downloadshiftin"
+                      src="/static/images/bibliographyList/email.png"
+                      mode="aspectFit"
+                    />
+                  </view>
                 </view>
               </view>
+              <view class="higherTextBox">{{item.name}}</view>
             </view>
           </view>
-        </view>
 
-        <view wx:if="{{seminarData.length != 0}}" class="bottom-box">
-          <t-loading theme="circular" size="40rpx" class="wrapper" wx:if="{{isMore == true}}" />
-          <text wx:if="{{isMore == false}}">娌℃湁鏇村浜�</text>
-        </view>
-
-      </t-tab-panel>
-      <t-tab-panel label="涔︾洰({{bookFairTotal}})" value="4">
-
-
-
-        <view wx:if="{{bookFairData.length <= 0 }}" class="noDataBox">
-          <t-empty icon="folder-open" description="鏆傛棤鏁版嵁" />
-        </view>
-        <view class="outsideHigherBox">
-
-          <view class="higherBox" wx:for="{{bookFairData}}" wx:key="index" wx:for-item="item" wx:for-index="index">
-            <view class="outsideHigherImageBox">
-              <view bind:tap="downloadData" data-item="{{item}}">
-
-                <image class="higherImageBox" src="{{item.icon}}" mode="" />
-              </view>
-
-              <view class="downloadIcon" data-item="{{item}}" data-key="showWithInput" bind:tap="mailbox">
-
-                <image wx:if="{{determine}}" class="download" src="/static/images/bibliographyList/email-click.png" mode="" />
-                <image wx:else="" class="downloadshiftin" src="/static/images/bibliographyList/email.png" mode="" />
+          <view wx:if="{{bookFairData.length != 0}}" class="bottom-box">
+            <t-loading
+              theme="circular"
+              size="40rpx"
+              class="wrapper"
+              wx:if="{{isMore == true}}"
+            />
+            <text wx:if="{{isMore == false}}">娌℃湁鏇村浜�</text>
+          </view>
+          <view wx:if="{{bookFairData.length <= 0 }}" class="noDataBox">
+            <!-- <t-empty icon="folder-open" description="鏆傛棤鏁版嵁" /> -->
+            <empty />
+          </view>
+        </scroll-view>
+      </swiper-item>
+      <swiper-item>
+        <scroll-view
+          scroll-y="{{true}}"
+          class="scrollViewBox"
+          bindscrolltolower="onScrollToLower"
+        >
+          <view class="outside">
+            <view
+              class="contentBox"
+              wx:for="{{biblioClassificationData}}"
+              wx:key="index"
+              wx:for-item="item"
+              wx:for-index="index"
+              bindtap="onBookExhibitionDetails"
+              data-item="{{item}}"
+            >
+              <image class="bookFairImage" wx:if="{{item.icon}}" src="{{item.icon}}" mode=""/>
+              <image class="bookFairImage" wx:else src="/static/images/bookExhibitionList/banner.png" mode="" />
+              <view class="textBox" title="{{item.name}}">
+                <text>{{item.subtitleName}}</text>
               </view>
             </view>
-
-            <view class="higherTextBox">{{item.name}}</view>
           </view>
-        </view>
-
-
-
-        <view wx:if="{{bookFairData.length != 0}}" class="bottom-box">
-          <t-loading theme="circular" size="40rpx" class="wrapper" wx:if="{{isMore == true}}" />
-          <text wx:if="{{isMore == false}}">娌℃湁鏇村浜�</text>
-        </view>
-
-
-
-
-      </t-tab-panel>
-      <t-tab-panel label="涔﹀睍({{biblioClassificationTotal}})" value="5">
-        <view wx:if="{{biblioClassificationData.length <= 0}}" class="noDataBox">
-          <t-empty icon="folder-open" description="鏆傛棤鏁版嵁" />
-        </view>
-        <view class="outside">
-
-          <view class="contentBox" wx:for="{{biblioClassificationData}}" wx:key="index" wx:for-item="item" wx:for-index="index" bindtap="onBookExhibitionDetails" data-item="{{item}}">
-            <image class="bookFairImage" wx:if="{{item.icon}}" src="{{item.icon}}" mode="" />
-            <image class="bookFairImage" wx:else="" src="/static/images/bookExhibitionList/banner.png" mode="" />
-            <view class="textBox" title="{{item.name}}"> <text>{{item.subtitleName}}</text></view>
+          <view
+            wx:if="{{biblioClassificationData.length != 0}}"
+            class="bottom-box"
+          >
+            <t-loading
+              theme="circular"
+              size="40rpx"
+              class="wrapper"
+              wx:if="{{isMore == true}}"
+            />
+            <text wx:if="{{isMore == false}}">娌℃湁鏇村浜�</text>
           </view>
-
-        </view>
-
-        <view wx:if="{{biblioClassificationData.length != 0}}" class="bottom-box">
-          <t-loading theme="circular" size="40rpx" class="wrapper" wx:if="{{isMore == true}}" />
-          <text wx:if="{{isMore == false}}">娌℃湁鏇村浜�</text>
-        </view>
-
-      </t-tab-panel>
-    </t-tabs>
+          <view
+            wx:if="{{biblioClassificationData.length <= 0}}"
+            class="noDataBox"
+          >
+            <!-- <t-empty icon="folder-open" description="鏆傛棤鏁版嵁" /> -->
+            <empty />
+          </view>
+        </scroll-view>
+      </swiper-item>
+    </swiper>
   </view>
-  <view class="dialogBox">
+  <!-- <view class="dialogBox" wx:if="{{showWithInput}}">
     <t-dialog visible="{{showWithInput}}" title="璇疯緭鍏ラ偖绠�" confirm-btn="纭畾" cancel-btn="鍙栨秷" bind:confirm="onConfirm" bind:cancel="closeDialog">
-
-      <t-input model:value="{{input}}" borderless class="dialog-input" clearable slot="content" placeholder="璇疯緭鍏ラ偖绠卞彿" placeholder-class="placeholder" bindchange="onEmailInput" />
-
+      <t-input value="{{input}}" borderless class="dialog-input" clearable slot="content" placeholder="璇疯緭鍏ラ偖绠卞彿" placeholder-class="placeholder" bindchange="onEmailInput" />
     </t-dialog>
+  </view> -->
+</view>
+<view wx:if="{{showWithInput}}">
+  <view class="popup-box" bindtap="closeDialog"></view>
+  <view class="info-center" style="top:{{height*0.4}}px;">
+    <view>
+      <view class="row-info">
+        <view class="body">
+          <view class="dialog-title">璇疯緭鍏ラ偖绠�</view>
+          <view class="input-box">
+            <t-input
+              style="{{inputStyle}}"
+              class="input"
+              placeholder="璇疯緭鍏ラ偖绠卞彿"
+              value="{{input}}"
+              bind:change="onEmailInput"
+            ></t-input>
+          </view>
+        </view>
+        <view class="row-btn">
+          <view class="left-btn" bindtap="closeDialog">鍙栨秷</view>
+          <view class="right-btn" bindtap="onConfirm">纭</view>
+        </view>
+      </view>
+    </view>
   </view>
-</view>
\ No newline at end of file
+</view>

--
Gitblit v1.9.1