瀏覽代碼

20210820 17-44

邪性 3 年之前
父節點
當前提交
0c41cc0459
共有 4 個文件被更改,包括 143 次插入75 次删除
  1. 27 5
      .idea/workspace.xml
  2. 3 3
      h_exam/exam_list.html
  3. 55 41
      js/components.js
  4. 58 26
      js/exam_list.js

+ 27 - 5
.idea/workspace.xml

@@ -3,7 +3,9 @@
   <component name="ChangeListManager">
     <list default="true" id="82570a17-8430-4238-ae79-81bbbd2de81f" name="Default Changelist" comment="">
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/js/new_list.js" beforeDir="false" afterPath="$PROJECT_DIR$/js/new_list.js" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/h_exam/exam_list.html" beforeDir="false" afterPath="$PROJECT_DIR$/h_exam/exam_list.html" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/js/components.js" beforeDir="false" afterPath="$PROJECT_DIR$/js/components.js" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/js/exam_list.js" beforeDir="false" afterPath="$PROJECT_DIR$/js/exam_list.js" afterDir="false" />
     </list>
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
     <option name="SHOW_DIALOG" value="false" />
@@ -94,6 +96,18 @@
         </counts>
       </usages-collector>
     </session>
+    <session id="-1918643531">
+      <usages-collector id="statistics.file.extensions.edit">
+        <counts>
+          <entry key="txt" value="15" />
+        </counts>
+      </usages-collector>
+      <usages-collector id="statistics.file.types.edit">
+        <counts>
+          <entry key="PLAIN_TEXT" value="15" />
+        </counts>
+      </usages-collector>
+    </session>
   </component>
   <component name="FileEditorManager">
     <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
@@ -141,8 +155,8 @@
       <file pinned="false" current-in-tab="true">
         <entry file="file://$PROJECT_DIR$/css/components.less">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="1485">
-              <caret line="749" column="21" lean-forward="true" selection-start-line="749" selection-start-column="21" selection-end-line="749" selection-end-column="21" />
+            <state relative-caret-position="198">
+              <caret line="710" column="32" lean-forward="true" selection-start-line="710" selection-start-column="32" selection-end-line="710" selection-end-column="32" />
             </state>
           </provider>
         </entry>
@@ -1301,7 +1315,14 @@
       <option name="project" value="LOCAL" />
       <updated>1629425698609</updated>
     </task>
-    <option name="localTasksCounter" value="26" />
+    <task id="LOCAL-00026" summary="试卷图片页">
+      <created>1629442332288</created>
+      <option name="number" value="00026" />
+      <option name="presentableId" value="LOCAL-00026" />
+      <option name="project" value="LOCAL" />
+      <updated>1629442332288</updated>
+    </task>
+    <option name="localTasksCounter" value="27" />
     <servers />
   </component>
   <component name="ToolWindowManager">
@@ -1410,7 +1431,8 @@
     <MESSAGE value="评论" />
     <MESSAGE value="试卷图片页,删除多余功能" />
     <MESSAGE value="试卷图片页" />
-    <option name="LAST_COMMIT_MESSAGE" value="试卷图片页" />
+    <MESSAGE value="20210820 14-52" />
+    <option name="LAST_COMMIT_MESSAGE" value="20210820 14-52" />
   </component>
   <component name="editorHistoryManager">
     <entry file="file://$PROJECT_DIR$/h_news/new_detail.html" />

+ 3 - 3
h_exam/exam_list.html

@@ -76,9 +76,9 @@
         <div class="body">
           <div class="my-nav">
             <ul class="grade">
-              <li class="grade active">高三试题</li>
-              <li class="grade">高二试题</li>
-              <li class="grade">高一试题</li>
+              <li class="grade active" data-id="19">高三试题</li>
+              <li class="grade" data-id="20">高二试题</li>
+              <li class="grade" data-id="26">高一试题</li>
             </ul>
           </div>
           <div class="ke">

+ 55 - 41
js/components.js

@@ -5,8 +5,46 @@ let globaldata = {
   // body 
   body: document.documentElement || document.body,
   // 省份
-  province: ["全国", "北京", "天津", "河北", "山西", "内蒙古", "辽宁", "吉林", "黑龙江", "上海", "江苏", "浙江", "安徽", "福建", "江西", "山东", "河南", "湖北", "湖南", "广东", "海南", "广西", "甘肃", "陕西", "新疆", "青海", "宁夏", "重庆", "四川", "贵州", "云南", "西藏", "台湾", "澳门", "香港", "默认"]
+  province: [{ "code": "", "codeName": "全国" }, { "code": 1, "codeName": "北京" }, { "code": 21, "codeName": "天津" }, { "code": 42, "codeName": "上海" }, { "code": 63, "codeName": "重庆" }, { "code": 105, "codeName": "河北" }, { "code": 290, "codeName": "山西" }, { "code": 424, "codeName": "台湾" }, { "code": 432, "codeName": "辽宁" }, { "code": 549, "codeName": "吉林" }, { "code": 619, "codeName": "黑龙江" }, { "code": 765, "codeName": "江苏" }, { "code": 885, "codeName": "浙江" }, { "code": 988, "codeName": "安徽" }, { "code": 1110, "codeName": "福建" }, { "code": 1205, "codeName": "江西" }, { "code": 1317, "codeName": "山东" }, { "code": 1475, "codeName": "河南" }, { "code": 1654, "codeName": "湖北" }, { "code": 1775, "codeName": "湖南" }, { "code": 1913, "codeName": "广东" }, { "code": 2063, "codeName": "甘肃" }, { "code": 2166, "codeName": "四川" }, { "code": 2370, "codeName": "贵州" }, { "code": 2469, "codeName": "海南" }, { "code": 2508, "codeName": "云南" }, { "code": 2656, "codeName": "青海" }, { "code": 2708, "codeName": "陕西" }, { "code": 2827, "codeName": "广西" }, { "code": 2953, "codeName": "西藏" }, { "code": 3034, "codeName": "宁夏" }, { "code": 3061, "codeName": "新疆" }, { "code": 3181, "codeName": "内蒙古" }, { "code": 3296, "codeName": "澳门" }, { "code": 3298, "codeName": "香港" }, { "code": '', "codeName": "默认" }],
 }
+// 全局添加路径解析
+$(function () {
+  var r = {
+    protocol: /([^\/]+:)\/\/(.*)/i,
+    host: /(^[^\:\/]+)((?:\/|:|$)?.*)/,
+    port: /\:?([^\/]*)(\/?.*)/,
+    pathname: /([^\?#]+)(\??[^#]*)(#?.*)/
+  };
+
+  function parseUrl (url) {
+    var tmp, res = {};
+    res["href"] = url;
+    for (p in r) {
+      tmp = r[p].exec(url);
+      res[p] = tmp[1];
+      url = tmp[2];
+      if (url === "") {
+        url = "/";
+      }
+      if (p === "pathname") {
+        res["pathname"] = tmp[1];
+        res["search"] = tmp[2];
+        res["hash"] = tmp[3];
+      }
+    }
+    let param = res.search.replace('?', '').split("&");
+    let params = {};
+    param.forEach(item => {
+      let arr = item.split("=");
+      params[arr[0]] = arr[1]
+    })
+    res["query"] = params;
+    return res;
+  };
+  window["lxd"] = {
+    parseUrl
+  }
+})
 // app 悬浮放大
 $(function () {
   $("[data-app='download']").mouseenter(function () {
@@ -394,9 +432,22 @@ $(function () {
 })
 // 省份
 $(function () {
+  // 根据路径判断城市
+  let area = lxd.parseUrl(window.location.href).query.area || '', i = 0, bool = true;
+
+  do {
+    if (area == globaldata["province"][i]["code"]) {
+      bool = !bool;
+    } else {
+      i++;
+      i < globaldata["province"].length ? '' : bool = !bool;
+    }
+  } while (bool)
+  i == 36 ? i = 0 : '';
+  $(".my-province>span").html(globaldata.province[i]["codeName"]);
   function province (data) {
     let str = ``;
-    data.forEach(item => str += `<li>${item}</li>`);
+    data.forEach(item => str += `<li data-area=${item.code}>${item.codeName}</li>`);
     str = `<ul >${str}</ul>`;
     return str
   }
@@ -410,7 +461,8 @@ $(function () {
         $(".my-province div[data-province='true']").hide();
         return false;
       }
-      alert("跳转:" + $(this).text())
+      let paresurl = lxd.parseUrl(window.location.href), path = paresurl.pathname;
+      window.location.href = `${path}?area=${$(e.target).data("area")}`;
     })
   })
 
@@ -422,44 +474,6 @@ $(function () {
   $(".my-province>i").click(province_show);
 })
 
-// 全局添加路径解析
-$(function () {
-  var r = {
-    protocol: /([^\/]+:)\/\/(.*)/i,
-    host: /(^[^\:\/]+)((?:\/|:|$)?.*)/,
-    port: /\:?([^\/]*)(\/?.*)/,
-    pathname: /([^\?#]+)(\??[^#]*)(#?.*)/
-  };
-
-  function parseUrl (url) {
-    var tmp, res = {};
-    res["href"] = url;
-    for (p in r) {
-      tmp = r[p].exec(url);
-      res[p] = tmp[1];
-      url = tmp[2];
-      if (url === "") {
-        url = "/";
-      }
-      if (p === "pathname") {
-        res["pathname"] = tmp[1];
-        res["search"] = tmp[2];
-        res["hash"] = tmp[3];
-      }
-    }
-    let param = res.search.replace('?', '').split("&");
-    let params = {};
-    param.forEach(item => {
-      let arr = item.split("=");
-      params[arr[0]] = arr[1]
-    })
-    res["query"] = params;
-    return res;
-  };
-  window["lxd"] = {
-    parseUrl
-  }
-})
 // 页面内通过 .click-dom .click-href 进行业内跳转
 $(function () {
   $(".click-dom").click(function () {

+ 58 - 26
js/exam_list.js

@@ -4,25 +4,35 @@ $(function () {
     active: 0,
   }
   let params = lxd.parseUrl(window.location.href).query,
-    my_nav = $(".my-nav"), my_nav_lis = my_nav.find("li");
-  params["id"] >= my_nav_lis.length || !params["id"] ? params["id"] = 0 : params["id"];
+    my_nav = $(".my-nav"), my_nav_lis = my_nav.find("li"), id = 0;
+  Array.from(my_nav_lis).forEach((item, index) => {
+    params["grade"] == $(item).data("id") ? id = index : '';
+  })
   my_nav_lis.removeClass("active");
-  $(my_nav_lis[params["id"]]).addClass("active");
+  $(my_nav_lis[id]).addClass("active");
+  let grade = $(my_nav_lis[id]).data("id"), lock = false, currentPage = 3, totalPage = 3, type = $(my_nav_lis[id]);
   my_nav.click(function (e) {
     if (e.target.className == "my-nav") return false;
     let active = Array.prototype.slice.call($(this).find("li")).indexOf(e.target);
     if (active == globaldata.active) return false;
+    $(".my-loading").html("数据加载中...").hide();
     globaldata.active = active;
+    type = $(e.target);
+    currentPage = type.data("currentPage") || 3;
+    totalPage = type.data("totalPage") || 3;
+    grade = type.data("id");
+    lock = type.data("lock") || false;
     $(this).find(".active").removeClass("active");
-    $(e.target).addClass("active");
+    type.addClass("active");
     $(".ke>.active").removeClass("active");
     $($(".ke>.my-list")[active]).addClass("active");
   })
 
   // 加载数据
   // 显示区高度
-  let ch = document.documentElement.clientHeight || document.body.clientHeight;
-  let lock = false;
+  let ch = document.documentElement.clientHeight || document.body.clientHeight,
+    // 加载的数据
+    area = params["area"] || '';
   $(window).scroll(function () {
     if (lock) return false;
     // 滑动区高度
@@ -30,32 +40,54 @@ $(function () {
     // 滑动位置
     let st = document.documentElement.scrollTop || document.body.scrollTop;
     let c = sh * 1 - ch * 1 - st * 1;
-    if (c == 0) {
+    if (c == 0 && currentPage <= totalPage) {
       lock = true;
       $(".my-loading").show();
-      data().then(res => { lock = res; $(".my-loading").hide(); })
+      data({ currentPage, area, grade }).then(res => { totalPage = res.totalPage; currentPage++; type.data("totalPage", res.totalPage); type.data("currentPage", currentPage); lock = res.lock; $(".my-loading").hide(); })
+    }
+    if (c == 0 && currentPage > totalPage) {
+      type.data("lock", true)
+      $(".my-loading").html("已经没有可以加载的数据了").show();
     }
   })
   // 加载数据
-  function data () {
-    let str = `<a target="_blank" href="https://www.baidu.com" class="list-item">
-     <div class="item-img">
-       <img data-original="https://dss2.bdstatic.com/8_V1bjqh_Q23odCf/pacific/1975401466.png"
-       src="../imgs/app.png"
-         alt="">
-     </div>
-     <div class="item-detail">
-       <div class="title">广东省警察学院:从未委托任何个人或机构进行招生宣传;广东省警察学院:从未委托任何个人或机构进行招生宣传</div>
-       <div class="time">高考动态<span>2021-04-21</span></div>
-     </div>
-   </a>`
+  function data (data) {
     return new Promise(resolve => {
-      setTimeout(() => {
-        // globaldata.active 请求不同数据
-        $(".ke>.active").append(str);
-        $("img").lazyload();
-        resolve(false)
-      }, 2000)
+      $.ajax({
+        url: "http://192.168.2.45:8033/exampaper/h/",
+        data: {
+          ...data,
+          pageSize: 1
+        },
+        type: "get",
+        error: function (error) {
+          $(".my-loading").html("已经没有可以加载的数据了")
+        },
+        success: function (res) {
+          let { dataList, totalPage } = res.data;
+          let father = document.createDocumentFragment();
+          Array.from(dataList).forEach(
+            item => {
+              let str = `<a target="_blank" href="http://www.gaokaoapp.net/h_exam/${item.id}.html" class="list-item">
+              <div class="item-img">
+                <img data-original="${item.thumbnail}"
+                src="../imgs/app.png"
+                  alt="">
+              </div>
+              <div class="item-detail">
+              <div class="title">${item.title}</div>
+              <div class="province">${item.areas}</div>
+              <div class="time">高考动态<span>${item.delay_time}</span></div>
+              </div>
+            </a>`;
+              $(father).append(str);
+            }
+          )
+          $(".ke>.active").append(father);
+          $("img").lazyload();
+          resolve({ lock: false, totalPage })
+        }
+      })
     })
   }
   // 小屏幕 点击背景关闭 弹窗