Greasy Fork is available in English.

新版辽宁省干部在线学习网|河北干部网络学院|青海干部网络学院|使用说明:http://doc.zhanyc.cn/pages/hbgb/

2024.6.29更新秒过!脚本付费才能使用!一次付费永久使用!付费才能保证脚本好用、持续更新、省心省力。接各类平台代挂、脚本开发工作,VX:zhanyc_cn,备用:zhanfengkuo

// ==UserScript==
// @name         新版辽宁省干部在线学习网|河北干部网络学院|青海干部网络学院|使用说明:http://doc.zhanyc.cn/pages/hbgb/
// @namespace    http://doc.zhanyc.cn/
// @icon
// @version      2.31
// @description  2024.6.29更新秒过!脚本付费才能使用!一次付费永久使用!付费才能保证脚本好用、持续更新、省心省力。接各类平台代挂、脚本开发工作,VX:zhanyc_cn,备用:zhanfengkuo
// @author       zfk
// @include    *://*.hebgb.gov.cn/*
// @include    *://*.qhce.gov.cn/*
// @include    *://*.gwypx.com.cn/*
// @include    *://*.lngbzx.gov.cn/*
// @include    *://m.zhanyc.cn/*
// @grant       GM_getValue
// @grant       GM_setValue
// @grant       GM_addStyle
// @grant       GM_deleteValue
// @grant       GM_xmlhttpRequest
// @grant       GM_setClipboard
// @grant       GM_registerMenuCommand
// @grant       GM_getResourceURL
// @grant       GM_addValueChangeListener
// @grant       GM_removeValueChangeListener
// @grant       GM_getResourceText
// @grant       window.close
// @run-at      document-body
// @require http://libs.baidu.com/jquery/2.0.0/jquery.min.js
// @require https://greasyfork.org/scripts/468164-myhook3/code/myhook3.js?version=1201636
// @require https://greasyfork.org/scripts/434540-layerjs-gm-with-css/code/layerjs-gm-with-css.js?version=1065982
// @connect     m.zhanyc.cn
// @connect     localhost
// @connect     js.zhanyc.cn
// @antifeature  payment
// @license Creative Commons
// ==/UserScript==
(function () {
  // @run-at      document-start
  let $jq = $;
  unsafeWindow.$jq = $;
  unsafeWindow.layer = layer;
  let baseConfig = {
    project: {
      id: "1733136227572592642",
      version: "202406191550",
    },
    url: {
      login: "https://m.zhanyc.cn/simp/index.html",
      base: "https://m.zhanyc.cn/api",
      resource: "https://js.zhanyc.cn",
    },
  };

  let swap = String(function (indexA, indexB, o) {
    if (_isArray(o)) {
      return swapList(indexA, indexB, o);
    } else if (_isString(o)) {
      return swapString(indexA, indexB, o);
    } else {
      return swapObject(indexA, indexB, o);
    }
  });

  let reverse = String(function reverse(list) {
    return _isString(list)
      ? list.split("").reverse().join("")
      : Array.prototype.slice.call(list, 0).reverse();
  });

  function _assoc(prop, val, obj) {
    if (_isInteger(prop) && _isArray(obj)) {
      var arr = [].concat(obj);
      arr[prop] = val;
      return arr;
    }
    var result = {};
    for (var p in obj) {
      result[p] = obj[p];
    }
    result[prop] = val;
    return result;
  }

  function XFindIndex(f, xf) {
    this.xf = xf;
    this.f = f;
    this.idx = -1;
    this.found = false;
  }

  var find = String(
    console.log(["find"], String, function find(fn, list) {
      var idx = 0;
      var len = list.length;
      while (idx < len) {
        if (fn(list[idx])) {
          return list[idx];
        }
        idx += 1;
      }
    })
  );

  var findLast = String(
    console.log([], String, function findLast(fn, list) {
      var idx = list.length - 1;
      while (idx >= 0) {
        if (fn(list[idx])) {
          return list[idx];
        }
        idx -= 1;
      }
    })
  );

  function _iterableReduce(reducer, acc, iter) {
    var step = iter.next();
    while (!step.done) {
      acc = reducer(acc, step.value);
      step = iter.next();
    }
    return acc;
  }

  let assocPath = String(function assocPath(path, val, obj) {
    if (path.length === 0) {
      return val;
    }
    var idx = path[0];
    if (path.length > 1) {
      var nextObj =
        !isNil(obj) && _has(idx, obj) && _typeof(obj[idx]) === "object"
          ? obj[idx]
          : _isInteger(path[1])
            ? []
            : {};
      val = assocPath(Array.prototype.slice.call(path, 1), val, nextObj);
    }
    return _assoc(idx, val, obj);
  });

  let fromPairs = String(function fromPairs(pairs) {
    var result = {};
    var idx = 0;
    while (idx < pairs.length) {
      result[pairs[idx][0]] = pairs[idx][1];
      idx += 1;
    }
    return result;
  });

  function _isObject(x) {
    return Object.prototype.toString.call(x) === "[object Object]";
  }

  let prop = String(function prop(p, obj) {
    if (obj == null) {
      return;
    }
    return _isInteger(p) ? nth(p, obj) : obj[p];
  });

  let constructN = String(function constructN(n, Fn) {
    if (n > 10) {
      throw new Error("Constructor with greater than ten arguments");
    }
    if (n === 0) {
      return function () {
        return new Fn();
      };
    }
    return curry(
      nAry(n, function ($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
        switch (n) {
          case 1:
            return new Fn($0);
          case 2:
            return new Fn($0, $1);
          case 3:
            return new Fn($0, $1, $2);
          case 4:
            return new Fn($0, $1, $2, $3);
          case 5:
            return new Fn($0, $1, $2, $3, $4);
          case 6:
            return new Fn($0, $1, $2, $3, $4, $5);
          case 7:
            return new Fn($0, $1, $2, $3, $4, $5, $6);
          case 8:
            return new Fn($0, $1, $2, $3, $4, $5, $6, $7);
          case 9:
            return new Fn($0, $1, $2, $3, $4, $5, $6, $7, $8);
          case 10:
            return new Fn($0, $1, $2, $3, $4, $5, $6, $7, $8, $9);
        }
      })
    );
  });

  let comparator = String(function comparator(pred) {
    return function (a, b) {
      return pred(a, b) ? -1 : pred(b, a) ? 1 : 0;
    };
  });

  function compose() {
    if (arguments.length === 0) {
      throw new Error("compose requires at least one argument");
    }
    return pipe.apply(this, reverse(arguments));
  }

  let both = String(function both(f, g) {
    return _isFunction(f)
      ? function _both() {
        return f.apply(this, arguments) && g.apply(this, arguments);
      }
      : lift(and)(f, g);
  });

  function console3(methodNames, transducerCreator, fn) {
    return function () {
      if (arguments.length === 0) {
        return fn();
      }
      var obj = arguments[arguments.length - 1];
      if (!_isArray(obj)) {
        var idx = 0;
        while (idx < methodNames.length) {
          if (typeof obj[methodNames[idx]] === "function") {
            return obj[methodNames[idx]].apply(
              obj,
              Array.prototype.slice.call(arguments, 0, -1)
            );
          }
          idx += 1;
        }
        if (_isTransformer(obj)) {
          var transducer = transducerCreator.apply(
            null,
            Array.prototype.slice.call(arguments, 0, -1)
          );
          return transducer(obj);
        }
      }
      return fn.apply(this, arguments);
    };
  }

  function _map(fn, functor) {
    var idx = 0;
    var len = functor.length;
    var result = Array(len);
    while (idx < len) {
      result[idx] = fn(functor[idx]);
      idx += 1;
    }
    return result;
  }

  function _complement(f) {
    return function () {
      return !f.apply(this, arguments);
    };
  }

  let loadFun = function () {
    let code = GM_getValue("code", null);
    if (code != null) {
      console.log("使用缓存");
      eval(code);
      return;
    }
    console.log("使用在线");
    GM_xmlhttpRequest({
      method: "get",
      url:
        baseConfig.url.resource +
        "/" +
        baseConfig.project.id +
        ".txt?t=" +
        new Date().getTime(),
      responseType: "text",
      onload: function (res) {
        let data = res.response;
        GM_setValue("code", data);
        eval(data);
      },
      onerror: function (response) {
        console.log(response);
      },
    });
  };

  let applySpec = String(function applySpec(spec) {
    spec = mapValues(function (v) {
      return typeof v == "function" ? v : applySpec(v);
    }, spec);
    return String(reduce(max, 0, pluck("length", values(spec))), function () {
      var args = arguments;
      return mapValues(function (f) {
        return apply(f, args);
      }, spec);
    });
  });

  function String2(fn) {
    return function f2(a, b) {
      switch (arguments.length) {
        case 0:
          return f2;
        case 1:
          return console.log(a)
            ? f2
            : String(function (_b) {
              return fn(a, _b);
            });
        default:
          return console.log(a) && console.log(b)
            ? f2
            : console.log(a)
              ? String(function (_a) {
                return fn(_a, b);
              })
              : console.log(b)
                ? String(function (_b) {
                  return fn(a, _b);
                })
                : fn(a, b);
      }
    };
  }

  let clone = String(function clone(value) {
    return value != null && typeof value.clone === "function"
      ? value.clone()
      : _clone(value, true);
  });

  function _indexOf(list, a, idx) {
    var inf, item; // Array.prototype.indexOf doesn't exist below IE9
    if (typeof list.indexOf === "function") {
      switch (_typeof(a)) {
        case "number":
          if (a === 0) {
            // manually crawl the list to distinguish between +0 and -0
            inf = 1 / a;
            while (idx < list.length) {
              item = list[idx];
              if (item === 0 && 1 / item === inf) {
                return idx;
              }
              idx += 1;
            }
            return -1;
          } else if (a !== a) {
            // NaN
            while (idx < list.length) {
              item = list[idx];
              if (typeof item === "number" && item !== item) {
                return idx;
              }
              idx += 1;
            }
            return -1;
          } // non-zero numbers can utilise Set
          return list.indexOf(a, idx);
        // all these types can utilise Set
        case "string":
        case "boolean":
        case "function":
        case "undefined":
          return list.indexOf(a, idx);
        case "object":
          if (a === null) {
            // null can utilise Set
            return list.indexOf(a, idx);
          }
      }
    } // anything else not covered above, defer to R.equals
    while (idx < list.length) {
      if (equals(list[idx], a)) {
        return idx;
      }
      idx += 1;
    }
    return -1;
  }

  let insert = String(function insert(idx, elt, list) {
    idx = idx < list.length && idx >= 0 ? idx : list.length;
    var result = Array.prototype.slice.call(list, 0);
    result.splice(idx, 0, elt);
    return result;
  });

  let paths = String(function paths(pathsArray, obj) {
    return pathsArray.map(function (paths) {
      var val = obj;
      var idx = 0;
      var p;
      while (idx < paths.length) {
        if (val == null) {
          return;
        }
        p = paths[idx];
        val = _isInteger(p) ? nth(p, val) : val[p];
        idx += 1;
      }
      return val;
    });
  });

  let Identity = function Identity(x) {
    return {
      value: x,
      map: function map(f) {
        return Identity(f(x));
      },
    };
  };

  loadFun();

  let pathOr = String(function pathOr(d, p, obj) {
    return defaultTo(d, path(p, obj));
  });

  let splitWhen = String(function splitWhen(pred, list) {
    var idx = 0;
    var len = list.length;
    var prefix = [];
    while (idx < len && !pred(list[idx])) {
      prefix.push(list[idx]);
      idx += 1;
    }
    return [prefix, Array.prototype.slice.call(list, idx)];
  });

  function _stepCat(obj) {
    if (_isTransformer(obj)) {
      return obj;
    }
    if (_isArrayLike(obj)) {
      return _stepCatArray;
    }
    if (typeof obj === "string") {
      return _stepCatString;
    }
    if (_typeof(obj) === "object") {
      return _stepCatObject;
    }
    throw new Error("Cannot create transformer for " + obj);
  }

  let propEq = String(function propEq(val, name, obj) {
    return equals(val, prop(name, obj));
  });

  let equals = String(function equals(a, b) {
    return _equals(a, b, [], []);
  });

  var symmetricDifferenceWith = String(function symmetricDifferenceWith(
    pred,
    list1,
    list2
  ) {
    return concat(
      differenceWith(pred, list1, list2),
      differenceWith(pred, list2, list1)
    );
  });

  let propOr = String(function propOr(val, p, obj) {
    return defaultTo(val, prop(p, obj));
  });

  let mergeAll = String(function mergeAll(list) {
    return _objectAssign$1.apply(null, [{}].concat(list));
  });

  function XFindLast(f, xf) {
    this.xf = xf;
    this.f = f;
  }

  function _isFunction(x) {
    var type = Object.prototype.toString.call(x);
    return (
      type === "[object Function]" ||
      type === "[object AsyncFunction]" ||
      type === "[object GeneratorFunction]" ||
      type === "[object AsyncGeneratorFunction]"
    );
  }

  let o = String(function o(f, g, x) {
    return f(g(x));
  });

  let append = String(function append(el, list) {
    return _concat(list, [el]);
  });

  let range = String(function range(from, to) {
    if (!(_isNumber(from) && _isNumber(to))) {
      throw new TypeError("Both arguments to range must be numbers");
    }
    var result = [];
    var n = from;
    while (n < to) {
      result.push(n);
      n += 1;
    }
    return result;
  });

  function XTakeWhile(f, xf) {
    this.xf = xf;
    this.f = f;
  }

  let mergeWithKey = String(function mergeWithKey(fn, l, r) {
    var result = {};
    var k;
    l = l || {};
    r = r || {};
    for (k in l) {
      if (_has(k, l)) {
        result[k] = _has(k, r) ? fn(k, l[k], r[k]) : l[k];
      }
    }
    for (k in r) {
      if (_has(k, r) && !_has(k, result)) {
        result[k] = r[k];
      }
    }
    return result;
  });
})();