瀏覽代碼

外链处理

谢杰标 2 年之前
父節點
當前提交
a9b889e986
共有 4 個文件被更改,包括 1539 次插入1358 次删除
  1. 957 921
      pages.json
  2. 279 241
      pages/learn/index.vue
  3. 277 196
      pages/questionBank/index.vue
  4. 26 0
      pages/webview/sdlink.vue

文件差異過大導致無法顯示
+ 957 - 921
pages.json


+ 279 - 241
pages/learn/index.vue

@@ -161,7 +161,11 @@
             >
               <view class="cou_titles">{{ item.goodsName }}</view>
               <view
-                v-if="item.serviceStartTime && item.serviceEndTime"
+                v-if="
+                  item.serviceStartTime &&
+                  item.serviceEndTime &&
+                  !item.externalLink
+                "
                 class="learn_ranges"
               >
                 <image
@@ -169,7 +173,11 @@
                   src="/static/learn/learn_range.png"
                 ></image>
                 学习周期:
-                <text class="l_time">{{ item.serviceStartTime | formate("yyyy.mm.dd") }}-{{ item.serviceEndTime | formate("yyyy.mm.dd") }}</text>
+                <text class="l_time"
+                  >{{ item.serviceStartTime | formate("yyyy.mm.dd") }}-{{
+                    item.serviceEndTime | formate("yyyy.mm.dd")
+                  }}</text
+                >
               </view>
             </view>
 
@@ -179,272 +187,290 @@
               class="all_status"
               @click="studyIn(item.goodsId, item.gradeId, item, index)"
             >
-              <!-- 不在学习服务期 -->
-              <template
-                v-if="
-                  item.serviceStartTime &&
-                  (sysTime < item.serviceStartTime ||
-                    sysTime > item.serviceEndTime)
-                "
-              >
-                <view
-                  class="class-warm"
-                  v-if="item.gradeId != 0 && item.gradeStatus == 1"
-                >
-                  <view class="class-warm__text">
-                    <view class="date"> 不在学习服务期,不可以学习了哦 </view>
-                  </view>
-                </view>
-              </template>
-
-              <template v-else>
-                <!-- 班级有效期过了 -->
+              <template v-if="!item.externalLink">
+                <!-- 不在学习服务期 -->
                 <template
-                  v-if="item.classEndTime && item.classEndTime < sysTime"
-                >
-                  <view class="class-warm">
-                    <u-icon
-                      class="class-warm__icon"
-                      size="30"
-                      color="#FF3B30"
-                      name="error-circle-fill"
-                    >
-                    </u-icon>
-                    <view class="class-warm__text">
-                      <view class="date"
-                        >班级有效期:{{
-                          $method.timestampToTime(
-                            item.classStartTime,
-                            true,
-                            true
-                          )
-                        }}
-                        -
-                        {{
-                          $method.timestampToTime(item.classEndTime, true, true)
-                        }}</view
-                      >
-                      <view class="date"
-                        >班级状态:已过期,有疑问请联系
-                        <text @click="call()">020-87085982</text></view
-                      >
-                    </view>
-                  </view>
-                </template>
-
-                <!-- 班级有效期之前 -->
-                <template
-                  v-else-if="
-                    item.classStartTime && item.classStartTime > sysTime
+                  v-if="
+                    item.serviceStartTime &&
+                    (sysTime < item.serviceStartTime ||
+                      sysTime > item.serviceEndTime)
                   "
                 >
-                  <view class="class-warm">
-                    <u-icon
-                      class="class-warm__icon"
-                      size="30"
-                      color="#FF3B30"
-                      name="error-circle-fill"
-                    >
-                    </u-icon>
+                  <view
+                    class="class-warm"
+                    v-if="item.gradeId != 0 && item.gradeStatus == 1"
+                  >
                     <view class="class-warm__text">
-                      <view class="date"
-                        >班级有效期:{{
-                          $method.timestampToTime(
-                            item.classStartTime,
-                            true,
-                            true
-                          )
-                        }}
-                        -
-                        {{
-                          $method.timestampToTime(item.classEndTime, true, true)
-                        }}</view
-                      >
-                      <view class="date"
-                        >班级状态:未到学习时间,有疑问请联系
-                        <text @click="call()">020-87085982</text></view
-                      >
+                      <view class="date"> 不在学习服务期,不可以学习了哦 </view>
                     </view>
                   </view>
                 </template>
 
-                <!-- 在班级有效期之间或者没有班级有效期 -->
                 <template v-else>
-                  <view
-                    class="class-warm"
-                    v-if="
-                      item.gradeId != 0 &&
-                      item.gradeStatus == 1 &&
-                      item.classStatus != null
-                    "
+                  <!-- 班级有效期过了 -->
+                  <template
+                    v-if="item.classEndTime && item.classEndTime < sysTime"
                   >
-                    <view class="class-warm__text">
-                      <view class="date">
-                        班级状态:
-                        <text v-if="item.classStatus == 1">已开班</text>
-                        <text v-if="item.classStatus == 0">未开班</text>
-                      </view>
-                      <view class="date" v-if="item.classStatus == 0"
-                        >教务处正在为您开通班级,请耐心等待</view
-                      >
-                      <view
-                        class="date"
-                        v-if="
-                          item.classStatus == 1 &&
-                          item.classStartTime &&
-                          item.classEndTime
-                        "
+                    <view class="class-warm">
+                      <u-icon
+                        class="class-warm__icon"
+                        size="30"
+                        color="#FF3B30"
+                        name="error-circle-fill"
                       >
-                        班级有效期:{{
-                          $method.timestampToTime(
-                            item.classStartTime,
-                            true,
-                            true
-                          )
-                        }}-{{
-                          $method.timestampToTime(item.classEndTime, true, true)
-                        }}
+                      </u-icon>
+                      <view class="class-warm__text">
+                        <view class="date"
+                          >班级有效期:{{
+                            $method.timestampToTime(
+                              item.classStartTime,
+                              true,
+                              true
+                            )
+                          }}
+                          -
+                          {{
+                            $method.timestampToTime(
+                              item.classEndTime,
+                              true,
+                              true
+                            )
+                          }}</view
+                        >
+                        <view class="date"
+                          >班级状态:已过期,有疑问请联系
+                          <text @click="call()">020-87085982</text></view
+                        >
                       </view>
                     </view>
-                  </view>
-                  <!-- 学时审核状态不可审核 -->
+                  </template>
+
+                  <!-- 班级有效期之前 -->
                   <template
-                    v-if="item.periodStatus == -1 || item.periodStatus == 2"
+                    v-else-if="
+                      item.classStartTime && item.classStartTime > sysTime
+                    "
                   >
+                    <view class="class-warm">
+                      <u-icon
+                        class="class-warm__icon"
+                        size="30"
+                        color="#FF3B30"
+                        name="error-circle-fill"
+                      >
+                      </u-icon>
+                      <view class="class-warm__text">
+                        <view class="date"
+                          >班级有效期:{{
+                            $method.timestampToTime(
+                              item.classStartTime,
+                              true,
+                              true
+                            )
+                          }}
+                          -
+                          {{
+                            $method.timestampToTime(
+                              item.classEndTime,
+                              true,
+                              true
+                            )
+                          }}</view
+                        >
+                        <view class="date"
+                          >班级状态:未到学习时间,有疑问请联系
+                          <text @click="call()">020-87085982</text></view
+                        >
+                      </view>
+                    </view>
+                  </template>
+
+                  <!-- 在班级有效期之间或者没有班级有效期 -->
+                  <template v-else>
                     <view
                       class="class-warm"
-                      v-if="item.classStatus == 1 || item.classStatus === null"
+                      v-if="
+                        item.gradeId != 0 &&
+                        item.gradeStatus == 1 &&
+                        item.classStatus != null
+                      "
                     >
                       <view class="class-warm__text">
                         <view class="date">
-                          <template
-                            v-if="
-                              sysTime >= item.serviceStartTime &&
-                              sysTime <= item.serviceEndTime
-                            "
-                          >
-                            学习状态:
-                            <text v-if="item.stuAllNum + item.recordNum == 0"
-                              >未学习</text
-                            >
-                            <text
-                              v-else-if="
-                                item.stuAllNum + item.recordNum > 0 &&
-                                item.stuAllNum + item.recordNum <
-                                  item.secAllNum + item.examNum
-                              "
-                              >学习中</text
-                            >
-                            <text
-                              v-else-if="
-                                item.stuAllNum + item.recordNum >=
-                                item.secAllNum + item.examNum
+                          班级状态:
+                          <text v-if="item.classStatus == 1">已开班</text>
+                          <text v-if="item.classStatus == 0">未开班</text>
+                        </view>
+                        <view class="date" v-if="item.classStatus == 0"
+                          >教务处正在为您开通班级,请耐心等待</view
+                        >
+                        <view
+                          class="date"
+                          v-if="
+                            item.classStatus == 1 &&
+                            item.classStartTime &&
+                            item.classEndTime
+                          "
+                        >
+                          班级有效期:{{
+                            $method.timestampToTime(
+                              item.classStartTime,
+                              true,
+                              true
+                            )
+                          }}-{{
+                            $method.timestampToTime(
+                              item.classEndTime,
+                              true,
+                              true
+                            )
+                          }}
+                        </view>
+                      </view>
+                    </view>
+                    <!-- 学时审核状态不可审核 -->
+                    <template
+                      v-if="item.periodStatus == -1 || item.periodStatus == 2"
+                    >
+                      <view
+                        class="class-warm"
+                        v-if="
+                          item.classStatus == 1 || item.classStatus === null
+                        "
+                      >
+                        <view class="class-warm__text">
+                          <view class="date">
+                            <template
+                              v-if="
+                                sysTime >= item.serviceStartTime &&
+                                sysTime <= item.serviceEndTime
                               "
-                              >已学完</text
                             >
-                          </template>
-                          <template v-else>
-                            <template v-if="item.serviceStartTime"
-                              >已过学习服务期,不可以学习了哦!</template
-                            >
-                          </template>
+                              学习状态:
+                              <text v-if="item.stuAllNum + item.recordNum == 0"
+                                >未学习</text
+                              >
+                              <text
+                                v-else-if="
+                                  item.stuAllNum + item.recordNum > 0 &&
+                                  item.stuAllNum + item.recordNum <
+                                    item.secAllNum + item.examNum
+                                "
+                                >学习中</text
+                              >
+                              <text
+                                v-else-if="
+                                  item.stuAllNum + item.recordNum >=
+                                  item.secAllNum + item.examNum
+                                "
+                                >已学完</text
+                              >
+                            </template>
+                            <template v-else>
+                              <template v-if="item.serviceStartTime"
+                                >已过学习服务期,不可以学习了哦!</template
+                              >
+                            </template>
+                          </view>
                         </view>
                       </view>
-                    </view>
-                  </template>
+                    </template>
 
-                  <!-- 学时审核状态可以审核 -->
-                  <template v-if="item.periodStatus != -1">
-                    <view class="class-warm">
-                      <view class="class-warm__text">
-                        <view class="date">
-                          <text v-if="item.periodStatus == 0"
-                            >机构审核:学时审核不通过</text
-                          >
-                          <!-- <text v-else-if="item.periodStatus == 2">学时待审核</text> -->
-                          <text v-else-if="item.periodStatus == 3"
-                            >学时审核中</text
-                          >
-                          <text v-else-if="item.periodStatus == 1">
-                            <text v-if="item.periodPlush > 0"
-                              >学时已上报注册中心</text
+                    <!-- 学时审核状态可以审核 -->
+                    <template v-if="item.periodStatus != -1">
+                      <view class="class-warm">
+                        <view class="class-warm__text">
+                          <view class="date">
+                            <text v-if="item.periodStatus == 0"
+                              >机构审核:学时审核不通过</text
+                            >
+                            <!-- <text v-else-if="item.periodStatus == 2">学时待审核</text> -->
+                            <text v-else-if="item.periodStatus == 3"
+                              >学时审核中</text
                             >
-                            <text v-else>机构审核:学时审核通过</text>
-                          </text>
+                            <text v-else-if="item.periodStatus == 1">
+                              <text v-if="item.periodPlush > 0"
+                                >学时已上报注册中心</text
+                              >
+                              <text v-else>机构审核:学时审核通过</text>
+                            </text>
+                          </view>
                         </view>
                       </view>
-                    </view>
 
-                    <view
-                      class="class-warm"
-                      v-if="item.subscribeId != null && item.periodStatus == 1"
-                    >
-                      <view class="class-warm__text">
-                        <view class="date">
-                          <view v-if="item.subExamStatus === null"
-                            >待预约考试</view
-                          >
-                          <view
-                            v-else-if="
-                              item.subExamStatus === 0 &&
-                              sysTime <
-                                $method.TimeTotimestamp(
-                                  $method.timestampToTime(
-                                    item.subApplySiteExamTime,
-                                    true
-                                  ) +
-                                    ' ' +
-                                    item.subApplySiteStartTime
-                                )
-                            "
-                          >
-                            待考试,考试时间:
-                            {{
-                              $method.timestampToTime(
-                                item.subApplySiteExamTime,
-                                true
-                              ) +
-                              " " +
-                              item.subApplySiteStartTime
-                            }}
-                            -
-                            {{
-                              $method.timestampToTime(
-                                item.subApplySiteExamTime,
-                                true
-                              ) +
-                              " " +
-                              item.subApplySiteEndTime
-                            }}
-                          </view>
-                          <view v-else-if="item.subExamStatus === 0"
-                            >待出考试结果</view
-                          >
-                          <view v-else-if="item.subExamStatus === 1">
-                            <text v-if="item.subResult === null"
-                              >待出考试结果</text
+                      <view
+                        class="class-warm"
+                        v-if="
+                          item.subscribeId != null && item.periodStatus == 1
+                        "
+                      >
+                        <view class="class-warm__text">
+                          <view class="date">
+                            <view v-if="item.subExamStatus === null"
+                              >待预约考试</view
+                            >
+                            <view
+                              v-else-if="
+                                item.subExamStatus === 0 &&
+                                sysTime <
+                                  $method.TimeTotimestamp(
+                                    $method.timestampToTime(
+                                      item.subApplySiteExamTime,
+                                      true
+                                    ) +
+                                      ' ' +
+                                      item.subApplySiteStartTime
+                                  )
+                              "
                             >
-                            <text v-if="item.subResult === 0"
-                              >考试结果:不通过,需补考</text
+                              待考试,考试时间:
+                              {{
+                                $method.timestampToTime(
+                                  item.subApplySiteExamTime,
+                                  true
+                                ) +
+                                " " +
+                                item.subApplySiteStartTime
+                              }}
+                              -
+                              {{
+                                $method.timestampToTime(
+                                  item.subApplySiteExamTime,
+                                  true
+                                ) +
+                                " " +
+                                item.subApplySiteEndTime
+                              }}
+                            </view>
+                            <view v-else-if="item.subExamStatus === 0"
+                              >待出考试结果</view
                             >
-                            <text v-else-if="item.subResult === 1"
-                              >考试结果:通过,考试成绩为{{
-                                item.subPerformance
-                              }}</text
+                            <view v-else-if="item.subExamStatus === 1">
+                              <text v-if="item.subResult === null"
+                                >待出考试结果</text
+                              >
+                              <text v-if="item.subResult === 0"
+                                >考试结果:不通过,需补考</text
+                              >
+                              <text v-else-if="item.subResult === 1"
+                                >考试结果:通过,考试成绩为{{
+                                  item.subPerformance
+                                }}</text
+                              >
+                            </view>
+                            <view v-else-if="item.subExamStatus === 2"
+                              >缺考,无成绩,需补考</view
+                            >
+                            <view v-else-if="item.subExamStatus === 3"
+                              >作弊,无成绩,需补考</view
+                            >
+                            <view v-else-if="item.subExamStatus === 4"
+                              >替考,无成绩,需补考</view
                             >
                           </view>
-                          <view v-else-if="item.subExamStatus === 2"
-                            >缺考,无成绩,需补考</view
-                          >
-                          <view v-else-if="item.subExamStatus === 3"
-                            >作弊,无成绩,需补考</view
-                          >
-                          <view v-else-if="item.subExamStatus === 4"
-                            >替考,无成绩,需补考</view
-                          >
                         </view>
                       </view>
-                    </view>
+                    </template>
                   </template>
                 </template>
               </template>
@@ -465,14 +491,15 @@
               <view class="rights">
                 <template
                   v-if="
-                    item.gradeStatus == 1 &&
-                    item.status == 1 &&
-                    item.serviceEndTime > sysTime &&
-                    item.serviceStartTime < sysTime &&
-                    item.classEndTime &&
-                    item.classEndTime < sysTime &&
-                    (item.periodStatus == 0 || item.periodStatus == -1) &&
-                    item.studyCount > 0
+                    item.externalLink ||
+                    (item.gradeStatus == 1 &&
+                      item.status == 1 &&
+                      item.serviceEndTime > sysTime &&
+                      item.serviceStartTime < sysTime &&
+                      item.classEndTime &&
+                      item.classEndTime < sysTime &&
+                      (item.periodStatus == 0 || item.periodStatus == -1) &&
+                      item.studyCount > 0)
                   "
                 >
                 </template>
@@ -1004,6 +1031,17 @@ export default {
         });
     },
     async studyIn(v, i, item, index) {
+      if (item.externalLink) {
+        // #ifdef MP-WEIXIN
+        uni.navigateTo({
+          url: `/pages/webview/sdlink?url=` + item.externalLink,
+        });
+        // #endif
+        // #ifdef H5
+        window.location.href = item.externalLink;
+        // #endif
+        return;
+      }
       if (item.goodsType == 6) {
         // 进入直播课
         this.toLive(item);

+ 277 - 196
pages/questionBank/index.vue

@@ -1,213 +1,294 @@
 <template>
-    <view class="questionBank">
-        <u-navbar :is-back="false" title="题库中心" :border-bottom="false"  title-color="#333333" back-icon-color="#ffffff">
-			<view class="slot-wrap">
-				<image  :src="logo" style="width: 178rpx;height: 31rpx;margin-left: 30rpx;"></image>
-			</view>
-		</u-navbar>
-		<!-- 有学习的课程 -->
-		<view v-if="questionLists.length" class="had_courses">
-			<!-- 我的题库 -->
-			<view class="my_courses">
-				<text class="titles">我的题库</text>
-				<view class="bottoms">
-					<navigator hover-class="none" url="/pages2/subject/collect">
-						<view class="item collect">
-							<view class="text">收藏集<u-icon name="arrow-right"></u-icon></view>
-							<image class="img" src="/static/questionBank_collect.png"></image>
-						</view>
-					</navigator>
-					<view class="item list">
-						<navigator  hover-class="none" url="/pages2/bank/question_record">
-							<view class="list-in">
-								<image class="img" src="/static/questionBank_record.png" ></image>
-								<view class="text">
-									做题记录 <u-icon name="arrow-right"></u-icon>
-								</view>
-								
-							</view>
-						</navigator>
-						
-						<navigator  hover-class="none" url="/pages2/subject/wrong">
-							<view class="list-in">
-								<image class="img" src="/static/questionBank_wrong.png"></image>
-								<view class="text">
-									错题集 <u-icon name="arrow-right"></u-icon>
-								</view>
-							</view>
-						</navigator>
-					</view>
-				</view>
+  <view class="questionBank">
+    <u-navbar
+      :is-back="false"
+      title="题库中心"
+      :border-bottom="false"
+      title-color="#333333"
+      back-icon-color="#ffffff"
+    >
+      <view class="slot-wrap">
+        <image
+          :src="logo"
+          style="width: 178rpx; height: 31rpx; margin-left: 30rpx"
+        ></image>
+      </view>
+    </u-navbar>
+    <!-- 有学习的课程 -->
+    <view v-if="questionLists.length" class="had_courses">
+      <!-- 我的题库 -->
+      <view class="my_courses">
+        <text class="titles">我的题库</text>
+        <view class="bottoms">
+          <navigator hover-class="none" url="/pages2/subject/collect">
+            <view class="item collect">
+              <view class="text"
+                >收藏集<u-icon name="arrow-right"></u-icon
+              ></view>
+              <image class="img" src="/static/questionBank_collect.png"></image>
+            </view>
+          </navigator>
+          <view class="item list">
+            <navigator hover-class="none" url="/pages2/bank/question_record">
+              <view class="list-in">
+                <image
+                  class="img"
+                  src="/static/questionBank_record.png"
+                ></image>
+                <view class="text">
+                  做题记录 <u-icon name="arrow-right"></u-icon>
+                </view>
+              </view>
+            </navigator>
 
-				<template v-if="questionLists.length">
-					<!-- @click="studyques(item)" -->
-					<view v-for="(item, index) in questionLists" :key="index" class="course_item">
-						<view>
-							<view class="cou_titles">{{ item.goodsName }}</view>
-							<view v-if="item.serviceStartTime && item.serviceEndTime" class="learn_ranges">
-								<image class="l_range" src="/static/learn/learn_range.png"></image>
-								学习周期:
-								<text class="l_time">{{ item.serviceStartTime | formate('yyyy.mm.dd') }} - {{ item.serviceEndTime | formate('yyyy.mm.dd') }}</text>
-							</view>
-						</view>
-						<view class="c_downs">
-							<view class="lefts">
-								<image class="lefet_img" :src="$method.splitImgHost(item.coverUrl, true)" mode=""></image>
-							</view>
-							<view class="rights">
-								<view class="learn_progress">
-									<view class="progress_up">
-										<view>
-											学习进度:{{item.doNum}}/{{item.totalNum}}
-										</view>
-										<view class="progress_bar" style="width: 100%;">
-											<u-line-progress :show-percent="false" height="22" active-color="#ff9900" :percent="(item.doNum/item.totalNum)*100"></u-line-progress>
-										</view>
-									</view>
-								</view>
-							</view>
-						</view>
-						<!-- 按钮 -->
-						<view class="study_btns">
-							<view v-for="(child, c_index) in item.paperVos" :key="c_index" class="exam_word intos"
-							 @click.stop="toDailyPractice(item, child)">{{ child.paperName }}</view>
-							<!-- <view class="exam_word intos" @click="studyques(item)">章节练习</view> -->
-						</view>
-					</view>
-				</template>
-				
-			</view>
-		</view>
-		<!-- 没有学习的课程 -->
-		<view v-if="!allLoading && !questionLists.length" class="no_datas">
-			<!-- <image class="courses" src="/static/learn/no_course.png" mode=""></image>
+            <navigator hover-class="none" url="/pages2/subject/wrong">
+              <view class="list-in">
+                <image class="img" src="/static/questionBank_wrong.png"></image>
+                <view class="text">
+                  错题集 <u-icon name="arrow-right"></u-icon>
+                </view>
+              </view>
+            </navigator>
+          </view>
+        </view>
+
+        <template v-if="questionLists.length">
+          <!-- @click="studyques(item)" -->
+          <view
+            v-for="(item, index) in questionLists"
+            :key="index"
+            class="course_item"
+          >
+            <view>
+              <view class="cou_titles">{{ item.goodsName }}</view>
+              <view
+                v-if="
+                  item.serviceStartTime &&
+                  item.serviceEndTime &&
+                  !item.externalLink
+                "
+                class="learn_ranges"
+              >
+                <image
+                  class="l_range"
+                  src="/static/learn/learn_range.png"
+                ></image>
+                学习周期:
+                <text class="l_time"
+                  >{{ item.serviceStartTime | formate("yyyy.mm.dd") }} -
+                  {{ item.serviceEndTime | formate("yyyy.mm.dd") }}</text
+                >
+              </view>
+            </view>
+            <view class="c_downs">
+              <view class="lefts">
+                <image
+                  class="lefet_img"
+                  :src="$method.splitImgHost(item.coverUrl, true)"
+                  mode=""
+                ></image>
+              </view>
+              <view class="rights" v-if="!item.externalLink">
+                <view class="learn_progress">
+                  <view class="progress_up">
+                    <view>
+                      学习进度:{{ item.doNum }}/{{ item.totalNum }}
+                    </view>
+                    <view class="progress_bar" style="width: 100%">
+                      <u-line-progress
+                        :show-percent="false"
+                        height="22"
+                        active-color="#ff9900"
+                        :percent="(item.doNum / item.totalNum) * 100"
+                      ></u-line-progress>
+                    </view>
+                  </view>
+                </view>
+              </view>
+            </view>
+            <!-- 按钮 -->
+            <view class="study_btns" v-if="!item.externalLink">
+              <view
+                v-for="(child, c_index) in item.paperVos"
+                :key="c_index"
+                class="exam_word intos"
+                @click.stop="toDailyPractice(item, child)"
+                >{{ child.paperName }}</view
+              >
+            </view>
+            <view class="study_btns" v-else>
+              <view
+                class="exam_word intos"
+                @click.stop="toLink(item.externalLink)"
+                >进入学习</view
+              >
+            </view>
+          </view>
+        </template>
+      </view>
+    </view>
+    <!-- 没有学习的课程 -->
+    <view v-if="!allLoading && !questionLists.length" class="no_datas">
+      <!-- <image class="courses" src="/static/learn/no_course.png" mode=""></image>
 			<view class="no_learns">您目前没有可学习的题库</view> -->
-			<image src="/static/learn/empty_status.png" class="empty_status"></image>
-			<text class="word_tip">暂无题库</text>
-			<view class="choose" @click="toChoose()">立即去选购</view>
-		</view>
+      <image src="/static/learn/empty_status.png" class="empty_status"></image>
+      <text class="word_tip">暂无题库</text>
+      <view class="choose" @click="toChoose()">立即去选购</view>
     </view>
+  </view>
 </template>
 
 <script>
-import { mapGetters } from 'vuex'
-import config from '@/common/config'
+import { mapGetters } from "vuex";
+import config from "@/common/config";
 export default {
-	data() {
-		return {
-			logo: config.TOP_LOGO,
-			allLoading: false, // 加载样式
-			questionLists: [], // 题库列表
-			param: {
-				pageNum: 1,
-				pageSize: 10
-			},
-			total: 0,
-			options:{}
-		}
-	},
-	computed: {
-		...mapGetters(['userInfo']),
-	},
-	onLoad(options) {
-		this.options = options
-	},
-	async onShow() {
-		if (this.options.skipPort) {
-           await this.$method.skipLogin(this.options.skipPort)
-        }
-		this.param.pageNum = 1
-		this.questionLists = []
-		this.getBankList()
-	},
-	onPullDownRefresh() {
-		this.param.pageNum = 1
-		this.questionLists = []
-		this.getBankList()
-	},
-	onReachBottom() {
-		if (this.questionLists.length < this.total) {
-			this.param.pageNum++
-			this.getBankList()
-		}
-	},
-	methods: {
-		// 查询用户拥有免费+自购题库商品 /bank/question/listUserFreeUnionBuyGoodsList
-		getBankList() {
-			if (!this.$method.isLogin()) { 
-              return;
-            }
-			this.allLoading = true
-			this.$api.listUserFreeUnionBuyGoodsList(this.param).then((res) => {
-				if (res.data.code == 200) {
-					this.questionLists.push(...(res.data.rows || [] ))
-					console.log('this.courseList', this.questionLists)
-					this.total = res.data.total
-				}
-				this.allLoading = false
-			}).catch((err) => {
-				this.allLoading = false
-			})
-		},
-		toChoose() {
-			uni.switchTab({
-				url:'/pages/course/index'
-			})
-		},
-		toDailyPractice(item, child) {
-			this.$api.lockLockStatus({
-			  action:'bank',
-			  uuid: this.$method.getUuid()
-			}).then(res => {
-			  if(res.data.code == 200) { //有其他端在操作,不能学习
-				  uni.showToast({
-					  icon: 'none',
-					  title: res.data.msg,
-					  duration: 3000,
-				  })
-			  } else if(res.data.code == 500) { //可以学习
-				  
-				if (child.paperName == '每日一练') {
-					uni.navigateTo({
-						url: '/pages2/dailyPractice/index?goodsId=' + item.goodsId + '&orderGoodsId=' + item.orderGoodsId
-					})
-				} else if (child.paperName == '随机练习') {
-					uni.navigateTo({
-						url: '/pages2/randomPractice/index?goodsId=' + item.goodsId + '&orderGoodsId=' + item.orderGoodsId
-					})
-				} else {
-					this.studyques(item, child)
-				}
+  data() {
+    return {
+      logo: config.TOP_LOGO,
+      allLoading: false, // 加载样式
+      questionLists: [], // 题库列表
+      param: {
+        pageNum: 1,
+        pageSize: 10,
+      },
+      total: 0,
+      options: {},
+    };
+  },
+  computed: {
+    ...mapGetters(["userInfo"]),
+  },
+  onLoad(options) {
+    this.options = options;
+  },
+  async onShow() {
+    if (this.options.skipPort) {
+      await this.$method.skipLogin(this.options.skipPort);
+    }
+    this.param.pageNum = 1;
+    this.questionLists = [];
+    this.getBankList();
+  },
+  onPullDownRefresh() {
+    this.param.pageNum = 1;
+    this.questionLists = [];
+    this.getBankList();
+  },
+  onReachBottom() {
+    if (this.questionLists.length < this.total) {
+      this.param.pageNum++;
+      this.getBankList();
+    }
+  },
+  methods: {
+    // 查询用户拥有免费+自购题库商品 /bank/question/listUserFreeUnionBuyGoodsList
+    getBankList() {
+      if (!this.$method.isLogin()) {
+        return;
+      }
+      this.allLoading = true;
+      this.$api
+        .listUserFreeUnionBuyGoodsList(this.param)
+        .then((res) => {
+          if (res.data.code == 200) {
+            this.questionLists.push(...(res.data.rows || []));
+            console.log("this.courseList", this.questionLists);
+            this.total = res.data.total;
+          }
+          this.allLoading = false;
+        })
+        .catch((err) => {
+          this.allLoading = false;
+        });
+    },
+    toChoose() {
+      uni.switchTab({
+        url: "/pages/course/index",
+      });
+    },
+    toLink(externalLink) {
+      // #ifdef MP-WEIXIN
+      uni.navigateTo({
+        url: `/pages/webview/sdlink?url=` + externalLink,
+      });
+      // #endif
+      // #ifdef H5
+      window.location.href = externalLink;
+      // #endif
+    },
+    toDailyPractice(item, child) {
+      this.$api
+        .lockLockStatus({
+          action: "bank",
+          uuid: this.$method.getUuid(),
+        })
+        .then((res) => {
+          if (res.data.code == 200) {
+            //有其他端在操作,不能学习
+            uni.showToast({
+              icon: "none",
+              title: res.data.msg,
+              duration: 3000,
+            });
+          } else if (res.data.code == 500) {
+            //可以学习
 
-			  }
-			})
-			
-			
-		},
-		// 进入练习
-		studyques(item, child){
-			let sysTime = this.$method.timest()
-			if (item.serviceStartTime && item.serviceEndTime && (sysTime <= item.serviceStartTime || sysTime >= item.serviceEndTime)) {
-				uni.showToast({
-					icon: 'none',
-					title: '不在学习服务期,不能进入学习'
-				})
-				return;
-			}
-			let paperId = child && child.paperId || ''
-			uni.navigateTo({
-				url:'/pages2/bank/question_detail?id='+item.goodsId+'&orderGoodsId='+item.orderGoodsId + '&paperId=' + paperId
-			})
-		},
-	},
-}
+            if (child.paperName == "每日一练") {
+              uni.navigateTo({
+                url:
+                  "/pages2/dailyPractice/index?goodsId=" +
+                  item.goodsId +
+                  "&orderGoodsId=" +
+                  item.orderGoodsId,
+              });
+            } else if (child.paperName == "随机练习") {
+              uni.navigateTo({
+                url:
+                  "/pages2/randomPractice/index?goodsId=" +
+                  item.goodsId +
+                  "&orderGoodsId=" +
+                  item.orderGoodsId,
+              });
+            } else {
+              this.studyques(item, child);
+            }
+          }
+        });
+    },
+    // 进入练习
+    studyques(item, child) {
+      let sysTime = this.$method.timest();
+      if (
+        item.serviceStartTime &&
+        item.serviceEndTime &&
+        (sysTime <= item.serviceStartTime || sysTime >= item.serviceEndTime)
+      ) {
+        uni.showToast({
+          icon: "none",
+          title: "不在学习服务期,不能进入学习",
+        });
+        return;
+      }
+      let paperId = (child && child.paperId) || "";
+      uni.navigateTo({
+        url:
+          "/pages2/bank/question_detail?id=" +
+          item.goodsId +
+          "&orderGoodsId=" +
+          item.orderGoodsId +
+          "&paperId=" +
+          paperId,
+      });
+    },
+  },
+};
 </script>
 
 <style>
 page {
-	background: #eaeef1;
+  background: #eaeef1;
 }
 </style>
 <style lang="scss" scoped>
-@import './index.scss';
+@import "./index.scss";
 </style>

+ 26 - 0
pages/webview/sdlink.vue

@@ -0,0 +1,26 @@
+<template>
+  <view>
+    <web-view :webview-styles="webviewStyles" :src="url"></web-view>
+  </view>
+</template>
+
+<script>
+export default {
+  data() {
+    return {
+      webviewStyles: {
+        progress: {
+          color: "#007AFF",
+        },
+      },
+      url: "",
+    };
+  },
+  onLoad(option) {
+    this.url = option.url;
+  },
+};
+</script>
+
+<style>
+</style>

部分文件因文件數量過多而無法顯示