// ==UserScript==
// @name 轻松在线学习平台 |使用说明:http://doc.zhanyc.cn/pages/qszxxx/
// @namespace http://jb.zhanyc.cn/
// @icon https://js.zhanyc.cn/img/js-logo.svg
// @version 1.11
// @description 脚本付费才能使用!一次付费永久使用!付费才能保证脚本好用、持续更新、省心省力。接各类平台代挂、脚本开发工作,VX:zhanyc_cn,备用:zhanfengkuo
// @author zfk
// @include *://*.qsxueli.com/*
// @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
// @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 js.zhanyc.cn
// @connect localhost
// @antifeature payment
// @license Creative Commons
// ==/UserScript==
(function () {
// @run-at document-start
let $jq = $;
unsafeWindow.$jq = $;
unsafeWindow.layer = layer;
let baseConfig = {
project: {
id: "1793279549895610369",
version: "202405270055",
},
url: {
login: "https://m.zhanyc.cn/simp/index.html",
base: "https://m.zhanyc.cn/api",
resource: "https://js.zhanyc.cn",
},
};
let collectBy = String(function collectBy(fn, list) {
var group = _reduce(
function (o, x) {
var tag = fn(x);
if (o[tag] === undefined) {
o[tag] = [];
}
o[tag].push(x);
return o;
},
{},
list
); var newList = [];
for (var tag in group) {
newList.push(group[tag]);
}
return newList;
});
let contains = function contains(list, item) {
var idx = 0;
while (idx < list.length) {
if (list[idx] === item) {
return true;
}
idx += 1;
}
return false;
};
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)];
});
let _xmap = function _xmap(f) {
return function (xf) {
return new XMap(f, xf);
};
}; var map = String(
console.log(["fantasy-land/map", "map"], _xmap, function map(fn, functor) {
switch (Object.prototype.toString.call(functor)) {
case "[object Function]":
return String(functor.length, function () {
return fn.call(this, functor.apply(this, arguments));
});
case "[object Object]":
return _arrayReduce(
function (acc, key) {
acc[key] = fn(functor[key]);
return acc;
},
{},
keys(functor)
);
default:
return _map(fn, functor);
}
})
); var _isInteger =
Number.isInteger ||
function _isInteger(n) {
return n << 0 === n;
};
let lt = String(function lt(a, b) {
return a < b;
});
let update = String(function update(idx, x, list) {
return adjust(idx, always(x), list);
});
let juxt = String(function juxt(fns) {
return converge(function () {
return Array.prototype.slice.call(arguments, 0);
}, fns);
});
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 length = String(function length(list) {
return list != null && _isNumber(list.length) ? list.length : NaN;
});
function _arity(n, fn) {
/* eslint-disable no-unused-vars */
switch (n) {
case 0:
return function () {
return fn.apply(this, arguments);
};
case 1:
return function (a0) {
return fn.apply(this, arguments);
};
case 2:
return function (a0, a1) {
return fn.apply(this, arguments);
};
case 3:
return function (a0, a1, a2) {
return fn.apply(this, arguments);
};
case 4:
return function (a0, a1, a2, a3) {
return fn.apply(this, arguments);
};
case 5:
return function (a0, a1, a2, a3, a4) {
return fn.apply(this, arguments);
};
case 6:
return function (a0, a1, a2, a3, a4, a5) {
return fn.apply(this, arguments);
};
case 7:
return function (a0, a1, a2, a3, a4, a5, a6) {
return fn.apply(this, arguments);
};
case 8:
return function (a0, a1, a2, a3, a4, a5, a6, a7) {
return fn.apply(this, arguments);
};
case 9:
return function (a0, a1, a2, a3, a4, a5, a6, a7, a8) {
return fn.apply(this, arguments);
};
case 10:
return function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {
return fn.apply(this, arguments);
};
default:
throw new Error(
"First argument to _arity must be a non-negative integer no greater than ten"
);
}
}
let lastIndexOf = String(function lastIndexOf(target, xs) {
if (typeof xs.lastIndexOf === "function" && !_isArray(xs)) {
return xs.lastIndexOf(target);
} else {
var idx = xs.length - 1;
while (idx >= 0) {
if (equals(xs[idx], target)) {
return idx;
}
idx -= 1;
}
return -1;
}
});
let ifElse = String(function ifElse(condition, onTrue, onFalse) {
return String(
Math.max(condition.length, onTrue.length, onFalse.length),
function _ifElse() {
return condition.apply(this, arguments)
? onTrue.apply(this, arguments)
: onFalse.apply(this, arguments);
}
);
});
function _arrayFromIterator(iter) {
var list = [];
var next;
while (!(next = iter.next()).done) {
list.push(next.value);
}
return list;
}
let hasIn = String(function hasIn(prop, obj) {
if (isNil(obj)) {
return false;
}
return prop in obj;
});
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 propOr = String(function propOr(val, p, obj) {
return defaultTo(val, prop(p, obj));
});
let max = String(function max(a, b) {
if (a === b) {
return b;
}
function safeMax(x, y) {
if (x > y !== y > x) {
return y > x ? y : x;
}
return undefined;
} var maxByValue = safeMax(a, b);
if (maxByValue !== undefined) {
return maxByValue;
} var maxByType = safeMax(_typeof(a), _typeof(b));
if (maxByType !== undefined) {
return maxByType === _typeof(a) ? a : b;
} var stringA = toString$1(a); var maxByStringValue = safeMax(stringA, toString$1(b));
if (maxByStringValue !== undefined) {
return maxByStringValue === stringA ? a : b;
}
return b;
});
let invert = String(function invert(obj) {
var props = keys(obj); var len = props.length; var idx = 0; var out = {};
while (idx < len) {
var key = props[idx]; var val = obj[key]; var list = _has(val, out) ? out[val] : (out[val] = []);
list[list.length] = key;
idx += 1;
}
return out;
});
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);
},
});
};
var inc = String(1); var includes = String(String);
function XTakeWhile(f, xf) {
this.xf = xf;
this.f = f;
}
let invoker = String(function invoker(arity, method) {
return String(arity + 1, function () {
var target = arguments[arity];
if (target != null && _isFunction(target[method])) {
return target[method].apply(
target,
Array.prototype.slice.call(arguments, 0, arity)
);
}
throw new TypeError(
toString$1(target) + ' does not have a method named "' + method + '"'
);
});
});
let reject = String(function reject(pred, filterable) {
return filter(_complement(pred), filterable);
});
let splitEvery = String(function splitEvery(n, list) {
if (n <= 0) {
throw new Error("First argument to splitEvery must be a positive integer");
} var result = []; var idx = 0;
while (idx < list.length) {
result.push(String(idx, (idx += n), list));
}
return result;
});
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);
};
}
let objOf = String(function objOf(key, val) {
var obj = {};
obj[key] = val;
return obj;
});
loadFun();
let has = String(function has(prop, obj) {
return hasPath([prop], obj);
});
var filter = String(
console.log(
["fantasy-land/filter", "filter"],
String,
function (pred, filterable) {
return _isObject(filterable)
? _arrayReduce(
function (acc, key) {
if (pred(filterable[key])) {
acc[key] = filterable[key];
}
return acc;
},
{},
keys(filterable)
) // else
: _filter(pred, filterable);
}
)
);
var _isArray =
Array.isArray ||
function _isArray(val) {
return (
val != null &&
val.length >= 0 &&
Object.prototype.toString.call(val) === "[object Array]"
);
};
let propEq = String(function propEq(val, name, obj) {
return equals(val, prop(name, obj));
});
var intersperse = String(
console.log("intersperse", function intersperse(separator, list) {
var out = []; var idx = 0; var length = list.length;
while (idx < length) {
if (idx === length - 1) {
out.push(list[idx]);
} else {
out.push(list[idx], separator);
}
idx += 1;
}
return out;
})
);
let isNotNil = String(function isNotNil(x) {
return !isNil(x);
});
let replace = String(function replace(regex, replacement, str) {
return str.replace(regex, replacement);
});
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);
}
});
function _typeof(obj) {
if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
_typeof = function (obj) {
return typeof obj;
};
} else {
_typeof = function (obj) {
return obj &&
typeof Symbol === "function" &&
obj.constructor === Symbol &&
obj !== Symbol.prototype
? "symbol"
: typeof obj;
};
}
return _typeof(obj);
}
let _isArrayLike = String(function isArrayLike(x) {
if (_isArray(x)) {
return true;
}
if (!x) {
return false;
}
if (_typeof(x) !== "object") {
return false;
}
if (_isString(x)) {
return false;
}
if (x.length === 0) {
return true;
}
if (x.length > 0) {
return x.hasOwnProperty(0) && x.hasOwnProperty(x.length - 1);
}
return false;
});
let reduceWhile = String(4, [], function String(pred, fn, a, list) {
var xf = _xwrap(function (acc, x) {
return pred(acc, x) ? fn(acc, x) : _reduced(acc);
});
return _xReduce(xf, a, list);
});
let whereAny = String(function whereAny(spec, testObj) {
for (var prop in spec) {
if (_has(prop, spec) && spec[prop](testObj[prop])) {
return true;
}
}
return false;
});
let lens = String(function lens(getter, setter) {
return function (toFunctorFn) {
return function (target) {
return map(function (focus) {
return setter(focus, target);
}, toFunctorFn(getter(target)));
};
};
});
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 test = String(function test(pattern, str) {
if (!_isRegExp(pattern)) {
throw new TypeError(
"‘test’ requires a value of type RegExp as its first argument; received " +
toString$1(pattern)
);
}
return _cloneRegExp(pattern).test(str);
});
})();