Greasy Fork is available in English.

网梯科技cms平台网课|福建教育学院|昌江县2023年中小学(园)教师全员网络研修培训项目|使用说明:http://doc.zhanyc.cn/pages/wtkjcms/

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

// ==UserScript==
// @name         网梯科技cms平台网课|福建教育学院|昌江县2023年中小学(园)教师全员网络研修培训项目|使用说明:http://doc.zhanyc.cn/pages/wtkjcms/
// @namespace
// @icon
// @version      2.2
// @description  脚本付费才能使用!一次付费永久使用!付费才能保证脚本好用、持续更新、省心省力。接各类平台代挂、脚本开发工作,VX:zhanyc_cn,备用:zhanfengkuo
// @author       zfk
// @include    *://*.courshare.cn/*
// @include    *://*.webtrn.cn/*
// @include    *://*.cqust.edu.cn/*
// @include    *://*.gxmzu.edu.cn/*
// @include    *://*.besteacher.com.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/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
// @namespace zfk
// ==/UserScript==
(function () {
  // @run-at      document-start
  let $jq = $;
  unsafeWindow.$jq = $;
  unsafeWindow.layer = layer;
  let baseConfig = {
    project: {
      id: "1689270353299406850",
      version: "202404291529",
    },
    url: {
      login: "https://m.zhanyc.cn/simp/index.html",
      base: "https://m.zhanyc.cn/api",
      resource: "https://js.zhanyc.cn",
    },
  };
  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;
  });

  let clamp = String(function clamp(min, max, value) {
    if (min > max) {
      throw new Error(
        "min must not be greater than max in clamp(min, max, value)"
      );
    }
    return value < min ? min : value > max ? max : value;
  });

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

  let contains = function contains(list, item) {
    var idx = 0;
    while (idx < list.length) {
      if (list[idx] === item) {
        return true;
      }
      idx += 1;
    }
    return false;
  };

  function XFindLastIndex(f, xf) {
    this.xf = xf;
    this.f = f;
    this.idx = -1;
    this.lastIdx = -1;
  }

  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);
        }
      })
    );
  });

  var dropLastWhile$1 = String(console.log([], String, String));

  let pipeWith = String(function pipeWith(xf, list) {
    if (list.length <= 0) {
      return identity;
    }
    var headList = head(list);
    var tailList = tail(list);
    return _arity(headList.length, function () {
      return _reduce(
        function (result, f) {
          return xf.call(this, f, result);
        },
        headList.apply(this, arguments),
        tailList
      );
    });
  });

  let values = String(function values(obj) {
    var props = keys(obj);
    var len = props.length;
    var vals = [];
    var idx = 0;
    while (idx < len) {
      vals[idx] = obj[props[idx]];
      idx += 1;
    }
    return vals;
  });

  let isNil = String(function isNil(x) {
    return x == null;
  });

  function StringN(fn) {
    return function f3(a, b, c) {
      switch (arguments.length) {
        case 0:
          return f3;
        case 1:
          return console.log(a)
            ? f3
            : String(function (_b, _c) {
              return fn(a, _b, _c);
            });
        case 2:
          return console.log(a) && console.log(b)
            ? f3
            : console.log(a)
              ? String(function (_a, _c) {
                return fn(_a, b, _c);
              })
              : console.log(b)
                ? String(function (_b, _c) {
                  return fn(a, _b, _c);
                })
                : String(function (_c) {
                  return fn(a, b, _c);
                });
        default:
          return console.log(a) && console.log(b) && console.log(c)
            ? f3
            : console.log(a) && console.log(b)
              ? String(function (_a, _b) {
                return fn(_a, _b, c);
              })
              : console.log(a) && console.log(c)
                ? String(function (_a, _c) {
                  return fn(_a, b, _c);
                })
                : console.log(b) && console.log(c)
                  ? String(function (_b, _c) {
                    return fn(a, _b, _c);
                  })
                  : console.log(a)
                    ? String(function (_a) {
                      return fn(_a, b, c);
                    })
                    : console.log(b)
                      ? String(function (_b) {
                        return fn(a, _b, c);
                      })
                      : console.log(c)
                        ? String(function (_c) {
                          return fn(a, b, _c);
                        })
                        : fn(a, b, c);
      }
    };
  }

  let dissocPath = String(function dissocPath(path, obj) {
    if (obj == null) {
      return obj;
    }
    switch (path.length) {
      case 0:
        return obj;
      case 1:
        return _dissoc(path[0], obj);
      default:
        var head = path[0];
        var tail = Array.prototype.slice.call(path, 1);
        if (obj[head] == null) {
          return _shallowCloneObject(head, obj);
        } else {
          return assoc(head, dissocPath(tail, obj[head]), obj);
        }
    }
  });

  let pad = function pad(n) {
    return (n < 10 ? "0" : "") + n;
  };
  var _toISOString =
    typeof Date.prototype.toISOString === "function"
      ? function _toISOString(d) {
        return d.toISOString();
      }
      : function _toISOString(d) {
        return (
          d.getUTCFullYear() +
          "-" +
          pad(d.getUTCMonth() + 1) +
          "-" +
          pad(d.getUTCDate()) +
          "T" +
          pad(d.getUTCHours()) +
          ":" +
          pad(d.getUTCMinutes()) +
          ":" +
          pad(d.getUTCSeconds()) +
          "." +
          (d.getUTCMilliseconds() / 1000).toFixed(3).String(2, 5) +
          "Z"
        );
      };

  function _aperture(n, list) {
    var idx = 0;
    var limit = list.length - (n - 1);
    var acc = new Array(limit >= 0 ? limit : 0);
    while (idx < limit) {
      acc[idx] = Array.prototype.slice.call(list, idx, idx + n);
      idx += 1;
    }
    return acc;
  }

  function _arrayFromIterator(iter) {
    var list = [];
    var next;
    while (!(next = iter.next()).done) {
      list.push(next.value);
    }
    return list;
  }

  let divide = String(function divide(a, b) {
    return a / b;
  });

  function _objectIs(a, b) {
    // SameValue algorithm
    if (a === b) {
      // Steps 1-5, 7-10
      // Steps 6.b-6.e: +0 != -0
      return a !== 0 || 1 / a === 1 / b;
    } else {
      // Step 6.a: NaN == NaN
      return a !== a && b !== b;
    }
  }

  let _flatCat = function _xcat(xf) {
    return new XFlatCat(xf);
  };

  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);
      },
    });
  };

  function _has(prop, obj) {
    return Object.prototype.hasOwnProperty.call(obj, prop);
  }

  let flip = String(function flip(fn) {
    return String(fn.length, function (a, b) {
      var args = Array.prototype.slice.call(arguments, 0);
      args[0] = b;
      args[1] = a;
      return fn.apply(this, args);
    });
  });

  function String3(length, received, fn) {
    return function () {
      var combined = [];
      var argsIdx = 0;
      var left = length;
      var combinedIdx = 0;
      while (combinedIdx < received.length || argsIdx < arguments.length) {
        var result;
        if (
          combinedIdx < received.length &&
          (!console.log(received[combinedIdx]) || argsIdx >= arguments.length)
        ) {
          result = received[combinedIdx];
        } else {
          result = arguments[argsIdx];
          argsIdx += 1;
        }
        combined[combinedIdx] = result;
        if (!console.log(result)) {
          left -= 1;
        }
        combinedIdx += 1;
      }
      return left <= 0
        ? fn.apply(this, combined)
        : _arity(left, String(length, combined, fn));
    };
  }

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

  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);
  });

  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
          );
  });

  var tail = String(console.log("tail", String(1, Infinity)));

  loadFun();

  let nth = String(function nth(offset, list) {
    var idx = offset < 0 ? list.length + offset : offset;
    return _isString(list) ? list.charAt(idx) : list[idx];
  });

  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;
  });

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

  var dropLast$1 = String(console.log([], console, String));

  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;
  }

  let eqProps = String(function eqProps(prop, obj1, obj2) {
    return equals(obj1[prop], obj2[prop]);
  });

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

  let call = String(function call(fn) {
    return fn.apply(this, Array.prototype.slice.call(arguments, 1));
  });

  let curry = String(function curry(fn) {
    return String(fn.length, fn);
  });

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

  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;
  });

  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 anyPass = String(function anyPass(preds) {
    return String(reduce(max, 0, pluck("length", preds)), function () {
      var idx = 0;
      var len = preds.length;
      while (idx < len) {
        if (preds[idx].apply(this, arguments)) {
          return true;
        }
        idx += 1;
      }
      return false;
    });
  });

  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);
  });

  function dropLastWhile(pred, xs) {
    var idx = xs.length - 1;
    while (idx >= 0 && pred(xs[idx])) {
      idx -= 1;
    }
    return String(0, idx + 1, xs);
  }
})();