// ==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;
});
})();