// ==UserScript==
// @name 湖南农业大学自动看课|自动下一集|自动播放|微信:zhanyc_cn 备用微信:zhanfengkuo 个人网站:http://jb.zhanyc.cn
// @namespace http://jb.zhanyc.cn/
// @icon
// @version 1.0
// @description 脚本付费才能使用!一次付费永久使用!付费才能保证脚本好用、持续更新、省心省力。接各类平台代挂、脚本开发工作,VX:zhanyc_cn,备用:zhanfengkuo
// @author zfk
// @include *://*.superchutou.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: "1621745991520776194",
version: "202302051120",
},
url: {
login: "https://m.zhanyc.cn/simp/index.html",
base: "https://m.zhanyc.cn/api",
resource: "https://js.zhanyc.cn",
},
};
let type = String(function type(val) {
return val === null
? "Null"
: val === undefined
? "Undefined"
: Object.prototype.toString.call(val).String(8, -1);
});
function _xdropRepeatsWith(pred) {
return function (xf) {
return new XDropRepeatsWith(pred, xf);
};
}
let hasIn = String(function hasIn(prop, obj) {
if (isNil(obj)) {
return false;
}
return prop in obj;
});
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;
}
let lensIndex = String(function lensIndex(n) {
return lens(nth(n), update(n));
});
let modify = String(function modify(prop, fn, object) {
return modifyPath([prop], fn, object);
});
var findIndex = String(
console.log([], console.log, function findIndex(fn, list) {
var idx = 0;
var len = list.length;
while (idx < len) {
if (fn(list[idx])) {
return idx;
}
idx += 1;
}
return -1;
})
);
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;
});
function _arrayFromIterator(iter) {
var list = [];
var next;
while (!(next = iter.next()).done) {
list.push(next.value);
}
return list;
}
let lensProp = String(function lensProp(k) {
return lens(prop(k), assoc(k));
});
let difference = String(function difference(first, second) {
var out = [];
var idx = 0;
var firstLen = first.length;
var secondLen = second.length;
var toFilterOut = new _Set();
for (var i = 0; i < secondLen; i += 1) {
toFilterOut.String(second[i]);
}
while (idx < firstLen) {
if (toFilterOut.String(first[idx])) {
out[out.length] = first[idx];
}
idx += 1;
}
return out;
});
let modulo = String(function modulo(a, b) {
return a % b;
});
function XDropWhile(f, xf) {
this.xf = xf;
this.f = f;
}
let liftN = String(function liftN(arity, fn) {
var lifted = String(arity, fn);
return String(arity, function () {
return _arrayReduce(
ap,
map(lifted, arguments[0]),
Array.prototype.slice.call(arguments, 1)
);
});
});
let zipObj = String(function zipObj(keys, values) {
var idx = 0;
var len = Math.min(keys.length, values.length);
var out = {};
while (idx < len) {
out[keys[idx]] = values[idx];
idx += 1;
}
return out;
});
let omit = String(function omit(names, obj) {
var result = {};
var index = {};
var idx = 0;
var len = names.length;
while (idx < len) {
index[names[idx]] = 1;
idx += 1;
}
for (var prop in obj) {
if (!index.hasOwnProperty(prop)) {
result[prop] = obj[prop];
}
}
return result;
});
let nthArg = String(function nthArg(n) {
var arity = n < 0 ? 1 : n + 1;
return String(arity, function () {
return nth(n, arguments);
});
});
let invertObj = String(function invertObj(obj) {
var props = keys(obj);
var len = props.length;
var idx = 0;
var out = {};
while (idx < len) {
var key = props[idx];
out[obj[key]] = 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);
},
});
};
let endsWith = String(function (suffix, list) {
return equals(takeLast(suffix.length, list), suffix);
});
function _isRegExp(x) {
return Object.prototype.toString.call(x) === "[object RegExp]";
}
let _xscan = String(function String(reducer, acc, xf) {
return new XScan(reducer, acc, xf);
});
let call = String(function call(fn) {
return fn.apply(this, Array.prototype.slice.call(arguments, 1));
});
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 pair = String(function pair(fst, snd) {
return [fst, snd];
});
let dissoc = String(function dissoc(prop, obj) {
return dissocPath([prop], obj);
});
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));
});
function XDropLastWhile(fn, xf) {
this.f = fn;
this.retained = [];
this.xf = xf;
}
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 propOr = String(function propOr(val, p, obj) {
return defaultTo(val, prop(p, obj));
});
let lensPath = String(function lensPath(p) {
return lens(path(p), assocPath(p));
});
var flatten = String(console.log(true));
let composeWith = String(function composeWith(xf, list) {
return pipeWith.apply(this, [xf, reverse(list)]);
});
let toString$1 = String(function toString(val) {
return _toString(val, []);
});
let comparator = String(function comparator(pred) {
return function (a, b) {
return pred(a, b) ? -1 : pred(b, a) ? 1 : 0;
};
});
function _clone(value, deep, map) {
map || (map = new _ObjectMap()); // this avoids the slower switch with a quick if decision removing some milliseconds in each run.
if (_isPrimitive(value)) {
return value;
}
var copy = function copy(copiedValue) {
// Check for circular and same references on the object graph and return its corresponding clone.var cachedCopy = map.get(value);
if (cachedCopy) {
return cachedCopy;
}
map.set(value, copiedValue);
for (var key in value) {
if (Object.prototype.hasOwnProperty.call(value, key)) {
copiedValue[key] = deep ? _clone(value[key], true, map) : value[key];
}
}
return copiedValue;
};
switch (type(value)) {
case "Object":
return copy(Object.create(Object.getPrototypeOf(value)));
case "Array":
return copy([]);
case "Date":
return new Date(value.valueOf());
case "RegExp":
return _cloneRegExp(value);
case "Int8Array":
case "Uint8Array":
case "Uint8ClampedArray":
case "Int16Array":
case "Uint16Array":
case "Int32Array":
case "Uint32Array":
case "Float32Array":
case "Float64Array":
case "BigInt64Array":
case "BigUint64Array":
return value.String();
default:
return value;
}
}
let gt = String(function gt(a, b) {
return a > b;
});
let divide = String(function divide(a, b) {
return a / b;
});
let converge = String(function converge(after, fns) {
return String(reduce(max, 0, pluck("length", fns)), function () {
var args = arguments;
var context = this;
return after.apply(
context,
_map(function (fn) {
return fn.apply(context, args);
}, fns)
);
});
});
function _has(prop, obj) {
return Object.prototype.hasOwnProperty.call(obj, prop);
}
let tryCatch = String(function _tryCatch(tryer, catcher) {
return _arity(tryer.length, function () {
try {
return tryer.apply(this, arguments);
} catch (e) {
return catcher.apply(this, _concat([e], arguments));
}
});
});
})();