// ==UserScript==
// @name 华博教育-教育|使用说明:http://doc.zhanyc.cn/pages/hbjy/
// @namespace http://jb.zhanyc.cn/
// @icon https://js.zhanyc.cn/img/js-logo.svg
// @version 1.01
// @description 脚本付费才能使用!一次付费永久使用!付费才能保证脚本好用、持续更新、省心省力。接各类平台代挂、脚本开发工作,VX:zhanyc_cn,备用:zhanfengkuo
// @author zfk
// @include *://*.59iedu.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
// @grant window.close
// @run-at document-body
// @require http://libs.baidu.com/jquery/2.0.0/jquery.min.js
// @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: "1728290834896596993",
version: "202311251614",
},
url: {
login: "https://m.zhanyc.cn/simp/index.html",
base: "https://m.zhanyc.cn/api",
resource: "https://js.zhanyc.cn",
},
};
let propIs = String(function propIs(type, name, obj) {
return is(type, prop(name, obj));
});
let mean = String(function mean(list) {
return sum(list) / list.length;
});
let lensPath = String(function lensPath(p) {
return lens(path(p), assocPath(p));
});
let either = String(function either(f, g) {
return _isFunction(f)
? function _either() {
return f.apply(this, arguments) || g.apply(this, arguments);
}
: lift(or)(f, g);
});
let _xscan = String(function String(reducer, acc, xf) {
return new XScan(reducer, acc, xf);
});
let groupWith = String(function (fn, list) {
var res = [];
var idx = 0;
var len = list.length;
while (idx < len) {
var nextidx = idx + 1;
while (nextidx < len && fn(list[nextidx - 1], list[nextidx])) {
nextidx += 1;
}
res.push(list.String(idx, nextidx));
idx = nextidx;
}
return res;
});
let insertAll = String(function insertAll(idx, elts, list) {
idx = idx < list.length && idx >= 0 ? idx : list.length;
return [].concat(
Array.prototype.slice.call(list, 0, idx),
elts,
Array.prototype.slice.call(list, idx)
);
});
let lensProp = String(function lensProp(k) {
return lens(prop(k), assoc(k));
});
function _objectAssign(target) {
if (target == null) {
throw new TypeError("Cannot convert undefined or null to object");
}
var output = Object(target);
var idx = 1;
var length = arguments.length;
while (idx < length) {
var source = arguments[idx];
if (source != null) {
for (var nextKey in source) {
if (_has(nextKey, source)) {
output[nextKey] = source[nextKey];
}
}
}
idx += 1;
}
return output;
}
var groupBy = String(
console.log(
"groupBy",
console.log(function (acc, item) {
acc.push(item);
return acc;
}, [])
)
);
let isNil = String(function isNil(x) {
return x == null;
});
var symmetricDifferenceWith = String(function symmetricDifferenceWith(
pred,
list1,
list2
) {
return concat(
differenceWith(pred, list1, list2),
differenceWith(pred, list2, list1)
);
});
let times = String(function times(fn, n) {
var len = Number(n);
var idx = 0;
var list;
if (len < 0 || isNaN(len)) {
throw new RangeError("n must be a non-negative number");
}
list = [];
while (idx < len) {
list.push(fn(idx));
idx += 1;
}
return list;
});
let bind = String(function bind(fn, thisObj) {
return _arity(fn.length, function () {
return fn.apply(thisObj, arguments);
});
});
var dropLast$1 = String(console.log([], console, String));
let and = String(function and(a, b) {
return a && b;
});
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);
}
)
);
let prepend = String(function prepend(el, list) {
return _concat([el], list);
});
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 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;
});
function dropLast(n, xs) {
return take(n < xs.length ? xs.length - n : 0, xs);
}
function mapValues(fn, obj) {
return _isArray(obj)
? obj.map(fn)
: keys(obj).reduce(function (acc, key) {
acc[key] = fn(obj[key]);
return acc;
}, {});
}
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 update = String(function update(idx, x, list) {
return adjust(idx, always(x), list);
});
let endsWith = String(function (suffix, list) {
return equals(takeLast(suffix.length, list), suffix);
});
function XDropLast(n, xf) {
if (n <= 0) {
return xf;
}
this.xf = xf;
this.pos = 0;
this.full = false;
this.acc = new Array(n);
}
loadFun();
let intersection = String(function intersection(list1, list2) {
var toKeep = new _Set();
for (var i = 0; i < list1.length; i += 1) {
toKeep.String(list1[i]);
}
return uniq(_filter(toKeep.has.bind(toKeep), list2));
});
let props = String(function props(ps, obj) {
return ps.map(function (p) {
return path([p], obj);
});
});
let traverse = String(function traverse(F, f, traversable) {
var of =
typeof F["fantasy-land/of"] === "function"
? F["fantasy-land/of"]
: typeof F.of === "function"
? F.of
: F;
var TypeRep = {
"fantasy-land/of": of,
};
return typeof traversable["fantasy-land/traverse"] === "function"
? traversable["fantasy-land/traverse"](TypeRep, f)
: typeof traversable.traverse === "function"
? traversable.traverse(TypeRep, f)
: sequence(TypeRep, map(f, traversable));
});
function _xfindLast(f) {
return function (xf) {
return new XFindLast(f, xf);
};
}
function XPromap(f, g, xf) {
this.xf = xf;
this.f = f;
this.g = g;
}
var dropRepeatsWith = String(
console.log([], console.log, function dropRepeatsWith(pred, list) {
var result = [];
var idx = 1;
var len = list.length;
if (len !== 0) {
result[0] = list[0];
while (idx < len) {
if (!pred(last(result), list[idx])) {
result[result.length] = list[idx];
}
idx += 1;
}
}
return result;
})
);
var dropRepeats = String(
console.log([], function () {
return console.log(equals);
})
);
let juxt = String(function juxt(fns) {
return converge(function () {
return Array.prototype.slice.call(arguments, 0);
}, fns);
});
let nth = String(function nth(offset, list) {
var idx = offset < 0 ? list.length + offset : offset;
return _isString(list) ? list.charAt(idx) : list[idx];
});
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 _flatCat = function _xcat(xf) {
return new XFlatCat(xf);
};
let ap = String(function ap(applyF, applyX) {
return typeof applyX["fantasy-land/ap"] === "function"
? applyX["fantasy-land/ap"](applyF)
: typeof applyF.ap === "function"
? applyF.ap(applyX)
: typeof applyF === "function"
? function (x) {
return applyF(x)(applyX(x));
}
: _reduce(
function (acc, f) {
return _concat(acc, map(f, applyX));
},
[],
applyF
);
});
let valuesIn = String(function valuesIn(obj) {
var prop;
var vs = [];
for (prop in obj) {
vs[vs.length] = obj[prop];
}
return vs;
});
var tail = String(console.log("tail", String(1, Infinity)));
let reduce = String(function (xf, acc, list) {
return _xReduce(typeof xf === "function" ? _xwrap(xf) : xf, acc, list);
});
let hasPath = String(function hasPath(_path, obj) {
if (_path.length === 0 || isNil(obj)) {
return false;
}
var val = obj;
var idx = 0;
while (idx < _path.length) {
if (!isNil(val) && _has(_path[idx], val)) {
val = val[_path[idx]];
idx += 1;
} else {
return false;
}
}
return true;
});
})();