惠州学院 HZU 快速查分

没有任何引流和诱导,不需要手动输入代码,安装后访问学校教务系统,然后进入“学籍预警查询”即可查询成绩信息。

// ==UserScript==
// @name         惠州学院 HZU 快速查分
// @namespace    http://tampermonkey.net/
// @version      20250102
// @description  没有任何引流和诱导,不需要手动输入代码,安装后访问学校教务系统,然后进入“学籍预警查询”即可查询成绩信息。
// @author       Anonymous
// @match        https://jwxt.hzu.edu.cn/xjyj/*
// @license      Apache License 2.0
// ==/UserScript==

(function() {
  const c = "https://jwxt.hzu.edu.cn/xjyj/xjyj_cxXjyjjdlb.html";
  function s() {
    return {
      jg_id: document.getElementById("jg_id").value,
      njdm_id: document.getElementById("njdm_id").value,
      zyh_id: document.getElementById("zyh_id").value
    };
  }
  function a(t) {
    const e = new URLSearchParams(t).toString();
    return fetch(c, {
      method: "POST",
      headers: {
        "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8"
      },
      body: e
    }).then((o) => o.json());
  }
  function i(t) {
    let e = [];
    return t.forEach((o) => {
      o.kcList && o.kcList.forEach((n) => {
        n.kcmc && n.bfzcj && e.push({
          name: n.kcmc,
          score: parseFloat(n.bfzcj)
        });
      });
    }), e.sort((o, n) => o.name.localeCompare(n.name, "zh-CN"));
  }
  function d(t) {
    return t.map((e) => `
                    <div class="course-score ${e.score < 60 ? "fail" : "pass"}">
                        <span class="course-name">${e.name}</span>
                        <span class="course-score-value">${e.score}</span>
                    </div>
                `).join("");
  }
  function r(t, e = !1) {
    const o = document.createElement("div");
    o.id = "custom-modal", o.innerHTML = `
                <div class="modal-content">
                    <h2 class="modal-title">${e ? "错误" : "您的成绩"}</h2>
                    <div class="scores-container">${t}</div>
                    <button class="close-btn">×</button>
                </div>
            `, document.body.appendChild(o), o.querySelector(".close-btn").onclick = () => o.remove();
  }
  function l() {
    const t = document.createElement("style");
    t.textContent = `
                #custom-modal {
                    position: fixed;
                    left: 0;
                    top: 0;
                    width: 100%;
                    height: 100%;
                    background-color: rgba(0, 0, 0, 0.5);
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    z-index: 10000;
                }
                .modal-content {
                    background-color: #fff;
                    border-radius: 10px;
                    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
                    width: 90%;
                    max-width: 500px;
                    max-height: 80vh;
                    display: flex;
                    flex-direction: column;
                    overflow: hidden;
                }
                .modal-title {
                    font-size: 24px;
                    color: #333;
                    margin: 0;
                    padding: 20px;
                    background-color: #fff;
                    border-bottom: 2px solid #f0f0f0;
                    text-align: center;
                    position: sticky;
                    top: 0;
                    z-index: 2;
                }
                .scores-container {
                    padding: 20px;
                    overflow-y: auto;
                    flex-grow: 1;
                }
                .course-score {
                    display: flex;
                    justify-content: space-between;
                    align-items: center;
                    padding: 12px 15px;
                    margin-bottom: 10px;
                    border-radius: 5px;
                    transition: all 0.3s ease;
                }
                .course-score:hover {
                    transform: translateY(-2px);
                    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
                }
                .course-score.pass {
                    background-color: #e8f5e9;
                    border-left: 4px solid #4caf50;
                }
                .course-score.fail {
                    background-color: #ffebee;
                    border-left: 4px solid #f44336;
                }
                .course-name {
                    font-weight: bold;
                    color: #333;
                    flex-grow: 1;
                    margin-right: 10px;
                }
                .course-score-value {
                    font-weight: bold;
                    font-size: 18px;
                }
                .pass .course-score-value {
                    color: #4caf50;
                }
                .fail .course-score-value {
                    color: #f44336;
                }
                .close-btn {
                    position: absolute;
                    top: 10px;
                    right: 10px;
                    border: none;
                    background: none;
                    font-size: 48px;
                    color: #999;
                    cursor: pointer;
                    transition: color 0.3s ease;
                    z-index: 20020;
                }
                .close-btn:hover {
                    color: #fc4e4e;
                }
                .scores-container::-webkit-scrollbar {
                    width: 8px;
                }
                .scores-container::-webkit-scrollbar-track {
                    background: #f1f1f1;
                    border-radius: 4px;
                }
                .scores-container::-webkit-scrollbar-thumb {
                    background: #888;
                    border-radius: 4px;
                }
                .scores-container::-webkit-scrollbar-thumb:hover {
                    background: #555;
                }
            `, document.head.appendChild(t);
  }
  function u() {
    const t = s();
    a(t).then(i).then((e) => {
      const o = d(e);
      r(o);
    }).catch((e) => {
      r(`错误: ${e.message}`, !0);
    });
  }
  window.addEventListener("load", () => {
    l(), u();
  });
})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址