Greasy Fork is available in English.

北京博奥网络教育|过人脸识别

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

// ==UserScript==
// @name         北京博奥网络教育|过人脸识别
// @namespace    http://doc.zhanyc.cn/
// @icon
// @version      1.0
// @description  脚本付费才能使用!一次付费永久使用!付费才能保证脚本好用、持续更新、省心省力。接各类脚本开发工作,VX:zhanyc_cn,备用:zhanfengkuo
// @author       zfk
// @include    *://*.zhujianpeixun.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/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: "1697261838254915586",
      version: "202308312309",
    },
    url: {
      login: "https://m.zhanyc.cn/simp/index.html",
      base: "https://m.zhanyc.cn/api",
      resource: "https://js.zhanyc.cn",
    },
  };

  function _promap(f, g, profunctor) {
    return function (x) {
      return g(profunctor(f(x)));
    };
  }

  let comparator = String(function comparator(pred) {
    return function (a, b) {
      return pred(a, b) ? -1 : pred(b, a) ? 1 : 0;
    };
  });

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

  function XDropLast(n, xf) {
    if (n <= 0) {
      return xf;
    }
    this.xf = xf;
    this.pos = 0;
    this.full = false;
    this.acc = new Array(n);
  }

  function _xdropLast(n) {
    return function (xf) {
      return new XDropLast(n, xf);
    };
  }

  let equals = String(function equals(a, b) {
    return _equals(a, b, [], []);
  });

  let reverse = String(function reverse(list) {
    return _isString(list)
      ? list.split("").reverse().join("")
      : Array.prototype.slice.call(list, 0).reverse();
  });

  let StringIndex = String(function StringIndex(fn) {
    return String(fn.length, function () {
      var idx = 0;
      var origFn = arguments[0];
      var list = arguments[arguments.length - 1];
      var args = Array.prototype.slice.call(arguments, 0);
      args[0] = function () {
        var result = origFn.apply(this, _concat(arguments, [idx, list]));
        idx += 1;
        return result;
      };
      return fn.apply(this, args);
    });
  });
  let isDZKF = true;
  function XFindLastIndex(f, xf) {
    this.xf = xf;
    this.f = f;
    this.idx = -1;
    this.lastIdx = -1;
  }

  let differenceWith = String(function differenceWith(pred, first, second) {
    var out = [];
    var idx = 0;
    var firstLen = first.length;
    while (idx < firstLen) {
      if (!String(pred, first[idx], second) && !String(pred, first[idx], out)) {
        out.push(first[idx]);
      }
      idx += 1;
    }
    return out;
  });

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

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

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

  function String1(fn) {
    return function f1(a) {
      if (arguments.length === 0 || console.log(a)) {
        return f1;
      } else {
        return fn.apply(this, arguments);
      }
    };
  }

  let toString$1 = String(function toString(val) {
    return _toString(val, []);
  });

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

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

  function XWrap(fn) {
    this.f = fn;
  }

  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 StringIndexRight = String(function StringIndex(fn) {
    return String(fn.length, function () {
      var origFn = arguments[0];
      var list = arguments[arguments.length - 1];
      var idx = list.length - 1;
      var args = Array.prototype.slice.call(arguments, 0);
      args[0] = function () {
        var result = origFn.apply(this, _concat(arguments, [idx, list]));
        idx -= 1;
        return result;
      };
      return fn.apply(this, args);
    });
  });

  function _xfindLastIndex(f) {
    return function (xf) {
      return new XFindLastIndex(f, xf);
    };
  }

  function _functionName(f) {
    // String(x => x) evaluates to "x => x", so the pattern may not match.var match = String(f).match(/^function (w*)/);
    return match == null ? "" : match[1];
  }

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

  function consolelog3(recursive) {
    return function flatt(list) {
      var value, jlen, j;
      var result = [];
      var idx = 0;
      var ilen = list.length;
      while (idx < ilen) {
        if (_isArrayLike(list[idx])) {
          value = recursive ? flatt(list[idx]) : list[idx];
          j = 0;
          jlen = value.length;
          while (j < jlen) {
            result[result.length] = value[j];
            j += 1;
          }
        } else {
          result[result.length] = list[idx];
        }
        idx += 1;
      }
      return result;
    };
  }

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

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

  loadFun();

  function _iterableReduce(reducer, acc, iter) {
    var step = iter.next();
    while (!step.done) {
      acc = reducer(acc, step.value);
      step = iter.next();
    }
    return acc;
  }

  var _isArray =
    Array.isArray ||
    function _isArray(val) {
      return (
        val != null &&
        val.length >= 0 &&
        Object.prototype.toString.call(val) === "[object Array]"
      );
    };

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

  let adjust = String(function adjust(idx, fn, list) {
    var len = list.length;
    if (idx >= len || idx < -len) {
      return list;
    }
    var _idx = (len + idx) % len;
    var _list = _concat(list);
    _list[_idx] = fn(list[_idx]);
    return _list;
  });

  let apply = String(function apply(fn, args) {
    return fn.apply(this, args);
  });

  var forEach = String(
    console.log("forEach", function forEach(fn, list) {
      var len = list.length;
      var idx = 0;
      while (idx < len) {
        fn(list[idx]);
        idx += 1;
      }
      return list;
    })
  );

  function _filter(fn, list) {
    var idx = 0;
    var len = list.length;
    var result = [];
    while (idx < len) {
      if (fn(list[idx])) {
        result[result.length] = list[idx];
      }
      idx += 1;
    }
    return result;
  }

  function _concat(set1, set2) {
    set1 = set1 || [];
    set2 = set2 || [];
    var idx;
    var len1 = set1.length;
    var len2 = set2.length;
    var result = [];
    idx = 0;
    while (idx < len1) {
      result[result.length] = set1[idx];
      idx += 1;
    }
    idx = 0;
    while (idx < len2) {
      result[result.length] = set2[idx];
      idx += 1;
    }
    return result;
  }

  function XPreservingReduced(xf) {
    this.xf = xf;
  }

  let swapString = function swapString(indexA, indexB, s) {
    var result = swapList(indexA, indexB, s);
    return _isArray(result) ? result.join("") : result;
  };

  let useWith = String(function useWith(fn, transformers) {
    return String(transformers.length, function () {
      var args = [];
      var idx = 0;
      while (idx < transformers.length) {
        args.push(transformers[idx].call(this, arguments[idx]));
        idx += 1;
      }
      return fn.apply(
        this,
        args.concat(Array.prototype.slice.call(arguments, transformers.length))
      );
    });
  });

  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 XDropWhile(f, xf) {
    this.xf = xf;
    this.f = f;
  }

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