d10969b45b781230e740243e78eb5848.json 48 KB

1
  1. {"remainingRequest":"/usr/local/develop/php/www/waibao/project/NN2022060801/addons/admin/node_modules/babel-loader/lib/index.js!/usr/local/develop/php/www/waibao/project/NN2022060801/addons/admin/src/utils/util.js","dependencies":[{"path":"/usr/local/develop/php/www/waibao/project/NN2022060801/addons/admin/src/utils/util.js","mtime":1616226204000},{"path":"/usr/local/develop/php/www/waibao/project/NN2022060801/addons/admin/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/usr/local/develop/php/www/waibao/project/NN2022060801/addons/admin/node_modules/babel-loader/lib/index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuZm9yLWVhY2giOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5pbmRleC1vZiI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmpvaW4iOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5zbGljZSI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC5rZXlzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LnRvLXN0cmluZyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnJlZ2V4cC5jb25zdHJ1Y3RvciI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnJlZ2V4cC5leGVjIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMucmVnZXhwLnRvLXN0cmluZyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy5tYXRjaCI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy5yZXBsYWNlIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvd2ViLmRvbS1jb2xsZWN0aW9ucy5mb3ItZWFjaCI7CgovKioNCiAqIOW4uOeUqOW3peWFt+aWueazlQ0KICovCmV4cG9ydCBkZWZhdWx0IHsKICAvKioNCiAgICog5YCS6K6h5pe2DQogICAqIEBwYXJhbSBlbmRUaW1lIOe7k+adn+aXtumXtA0KICAgKiBAcGFyYW0gc2VydmVyVGltZSDmnI3liqHnq6/lvZPliY3ml7bpl7QNCiAgICogQHBhcmFtIGNhbGxiYWNrIOWbnuiwgw0KICAgKiBAcmV0dXJucyB7bnVtYmVyfSDlrprml7blmajlrp7kvosNCiAgICovCiAgY291bnRkb3duOiBmdW5jdGlvbiBjb3VudGRvd24oZW5kVGltZSwgc2VydmVyVGltZSwgY2FsbGJhY2spIHsKICAgIHZhciBfdGhpcyA9IHRoaXM7CgogICAgdmFyIHR5cGUgPSB0eXBlb2Ygc2VydmVyVGltZSA9PT0gJ2Z1bmN0aW9uJywKICAgICAgICBlbmQgPSBuZXcgRGF0ZShlbmRUaW1lKS5nZXRUaW1lKCksCiAgICAgICAgbm93ID0gbmV3IERhdGUoIXNlcnZlclRpbWUgfHwgdHlwZSA/IG5ldyBEYXRlKCkuZ2V0VGltZSgpIDogc2VydmVyVGltZSkuZ2V0VGltZSgpLAogICAgICAgIGNvdW50ID0gZW5kIC0gbm93LAogICAgICAgIHRpbWUgPSBbTWF0aC5mbG9vcihjb3VudCAvICgxMDAwICogNjAgKiA2MCAqIDI0KSksIC8vIOWkqQogICAgTWF0aC5mbG9vcihjb3VudCAvICgxMDAwICogNjAgKiA2MCkpICUgMjQsIC8vIOaXtgogICAgTWF0aC5mbG9vcihjb3VudCAvICgxMDAwICogNjApKSAlIDYwLCAvLyDliIYKICAgIE1hdGguZmxvb3IoY291bnQgLyAxMDAwKSAlIDYwIC8vIOenkgogICAgXTsKICAgIGlmICh0eXBlKSBjYWxsYmFjayA9IHNlcnZlclRpbWU7CiAgICB2YXIgdGltZXIgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKICAgICAgX3RoaXMuY291bnRkb3duKGVuZFRpbWUsIG5vdyArIDEwMDAsIGNhbGxiYWNrKTsKICAgIH0sIDEwMDApOwogICAgY2FsbGJhY2sgJiYgY2FsbGJhY2soY291bnQgPiAwID8gdGltZSA6IFswLCAwLCAwLCAwXSwgc2VydmVyVGltZSwgdGltZXIpOwogICAgaWYgKGNvdW50IDw9IDApIGNsZWFyVGltZW91dCh0aW1lcik7CiAgICByZXR1cm4gdGltZXI7CiAgfSwKCiAgLyoqDQogICAqIOafkOS4quaXtumXtOWcqOW9k+WJjeaXtumXtOeahOWkmuS5heWJjQ0KICAgKiBAcGFyYW0gdGltZSDpnIDopoHor63kuYnljJbnmoTml7bpl7QNCiAgICogQHBhcmFtIG9ubHlEYXRlIOi2hei/hzMw5aSp5piv5ZCm5LuF6L+U5Zue5pel5pyfDQogICAqIEByZXR1cm5zIHtzdHJpbmd9IOivreS5ieWMluWQjueahOaXtumXtA0KICAgKi8KICB0aW1lQWdvOiBmdW5jdGlvbiB0aW1lQWdvKHRpbWUsIG9ubHlEYXRlKSB7CiAgICBpZiAoIXRpbWUpIHJldHVybiAnJzsKICAgIGlmICh0eXBlb2YgdGltZSA9PT0gJ3N0cmluZycpIHRpbWUgPSB0aW1lLnJlcGxhY2UoLy0vZywgJy8nKTsKICAgIHZhciBhcnIgPSBbW10sIFtdXSwKICAgICAgICBzdGFtcCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpIC0gbmV3IERhdGUodGltZSkuZ2V0VGltZSgpOyAvLyAzMOWkqeS7peS4iui/lOWbnuWFt+S9k+aXpeacnwoKICAgIGlmIChzdGFtcCA+IDEwMDAgKiA2MCAqIDYwICogMjQgKiAzMSkgewogICAgICBzdGFtcCA9IG5ldyBEYXRlKHRpbWUpOwogICAgICBhcnJbMF1bMF0gPSB0aGlzLmRpZ2l0KHN0YW1wLmdldEZ1bGxZZWFyKCksIDQpOwogICAgICBhcnJbMF1bMV0gPSB0aGlzLmRpZ2l0KHN0YW1wLmdldE1vbnRoKCkgKyAxKTsKICAgICAgYXJyWzBdWzJdID0gdGhpcy5kaWdpdChzdGFtcC5nZXREYXRlKCkpOwoKICAgICAgaWYgKCFvbmx5RGF0ZSkgewogICAgICAgIC8vIOaYr+WQpui+k+WHuuaXtumXtAogICAgICAgIGFyclsxXVswXSA9IHRoaXMuZGlnaXQoc3RhbXAuZ2V0SG91cnMoKSk7CiAgICAgICAgYXJyWzFdWzFdID0gdGhpcy5kaWdpdChzdGFtcC5nZXRNaW51dGVzKCkpOwogICAgICAgIGFyclsxXVsyXSA9IHRoaXMuZGlnaXQoc3RhbXAuZ2V0U2Vjb25kcygpKTsKICAgICAgfQoKICAgICAgcmV0dXJuIGFyclswXS5qb2luKCctJykgKyAnICcgKyBhcnJbMV0uam9pbignOicpOwogICAgfSAvLyAzMOWkqeS7peWGhe+8jOi/lOWbnuKAnOWkmuS5heWJjeKAnQoKCiAgICBpZiAoc3RhbXAgPj0gMTAwMCAqIDYwICogNjAgKiAyNCkgewogICAgICByZXR1cm4gKHN0YW1wIC8gMTAwMCAvIDYwIC8gNjAgLyAyNCB8IDApICsgJ+WkqeWJjSc7CiAgICB9IGVsc2UgaWYgKHN0YW1wID49IDEwMDAgKiA2MCAqIDYwKSB7CiAgICAgIHJldHVybiAoc3RhbXAgLyAxMDAwIC8gNjAgLyA2MCB8IDApICsgJ+Wwj+aXtuWJjSc7CiAgICB9IGVsc2UgaWYgKHN0YW1wID49IDEwMDAgKiA2MCAqIDMpIHsKICAgICAgLy8gM+WIhumSn+S7peWGheS4uu+8muWImuWImgogICAgICByZXR1cm4gKHN0YW1wIC8gMTAwMCAvIDYwIHwgMCkgKyAn5YiG6ZKf5YmNJzsKICAgIH0gZWxzZSBpZiAoc3RhbXAgPCAwKSB7CiAgICAgIHJldHVybiAn5pyq5p2lJzsKICAgIH0gZWxzZSB7CiAgICAgIHJldHVybiAn5Yia5YiaJzsKICAgIH0KICB9LAoKICAvKioNCiAgICog5pWw5a2X5YmN572u6KGl6Zu2DQogICAqIEBwYXJhbSBudW0g5pWw5a2XDQogICAqIEBwYXJhbSBsZW5ndGgg5L2N5pWwDQogICAqIEByZXR1cm5zIHtzdHJpbmd9DQogICAqLwogIGRpZ2l0OiBmdW5jdGlvbiBkaWdpdChudW0sIGxlbmd0aCkgewogICAgdmFyIHN0ciA9ICcnOwogICAgbnVtID0gU3RyaW5nKG51bSk7CiAgICBsZW5ndGggPSBsZW5ndGggfHwgMjsKCiAgICBmb3IgKHZhciBpID0gbnVtLmxlbmd0aDsgaSA8IGxlbmd0aDsgaSsrKSB7CiAgICAgIHN0ciArPSAnMCc7CiAgICB9CgogICAgcmV0dXJuIG51bSA8IE1hdGgucG93KDEwLCBsZW5ndGgpID8gc3RyICsgKG51bSB8IDApIDogbnVtOwogIH0sCgogIC8qKg0KICAgKiDovazljJbkuLrml6XmnJ/moLzlvI/lrZfnrKYNCiAgICogQHBhcmFtIHRpbWUg5pe26Ze0DQogICAqIEBwYXJhbSBmb3JtYXQg5qC85byPDQogICAqIEByZXR1cm5zIHtzdHJpbmd9DQogICAqLwogIHRvRGF0ZVN0cmluZzogZnVuY3Rpb24gdG9EYXRlU3RyaW5nKHRpbWUsIGZvcm1hdCkgewogICAgaWYgKCF0aW1lKSByZXR1cm4gJyc7CiAgICBpZiAodHlwZW9mIHRpbWUgPT09ICdzdHJpbmcnKSB0aW1lID0gdGltZS5yZXBsYWNlKC8tL2csICcvJyk7CiAgICB2YXIgZGF0ZSA9IG5ldyBEYXRlKHRpbWUgfHwgbmV3IERhdGUoKSksCiAgICAgICAgeW1kID0gW3RoaXMuZGlnaXQoZGF0ZS5nZXRGdWxsWWVhcigpLCA0KSwgdGhpcy5kaWdpdChkYXRlLmdldE1vbnRoKCkgKyAxKSwgdGhpcy5kaWdpdChkYXRlLmdldERhdGUoKSldLAogICAgICAgIGhtcyA9IFt0aGlzLmRpZ2l0KGRhdGUuZ2V0SG91cnMoKSksIHRoaXMuZGlnaXQoZGF0ZS5nZXRNaW51dGVzKCkpLCB0aGlzLmRpZ2l0KGRhdGUuZ2V0U2Vjb25kcygpKV07CiAgICBmb3JtYXQgPSBmb3JtYXQgfHwgJ3l5eXktTU0tZGQgSEg6bW06c3MnOwogICAgcmV0dXJuIGZvcm1hdC5yZXBsYWNlKC95eXl5L2csIHltZFswXSkucmVwbGFjZSgvTU0vZywgeW1kWzFdKS5yZXBsYWNlKC9kZC9nLCB5bWRbMl0pLnJlcGxhY2UoL0hIL2csIGhtc1swXSkucmVwbGFjZSgvbW0vZywgaG1zWzFdKS5yZXBsYWNlKC9zcy9nLCBobXNbMl0pOwogIH0sCgogIC8qKg0KICAgKiBodG1s6L2s5LmJLCDpmLLmraJ4c3PmlLvlh7sNCiAgICogQHBhcmFtIGh0bWwg6ZyA6KaB6L2s5LmJ55qE5a2X56ym5LiyDQogICAqIEByZXR1cm5zIHtzdHJpbmd9DQogICAqLwogIGVzY2FwZTogZnVuY3Rpb24gZXNjYXBlKGh0bWwpIHsKICAgIHJldHVybiBTdHJpbmcoaHRtbCB8fCAnJykucmVwbGFjZSgvJig/ISM/W2EtekEtWjAtOV0rOykvZywgJyZhbXA7JykucmVwbGFjZSgvPC9nLCAnJmx0OycpLnJlcGxhY2UoLz4vZywgJyZndDsnKS5yZXBsYWNlKC8nL2csICcmIzM5OycpLnJlcGxhY2UoLyIvZywgJyZxdW90OycpOwogIH0sCgogIC8qKg0KICAgKiBwaWTlvaLlvI/mlbDmja7ovaxjaGlsZHJlbuW9ouW8jw0KICAgKiBAcGFyYW0gZGF0YSDpnIDopoHovazmjaLnmoTmlbDnu4QNCiAgICogQHBhcmFtIGlkS2V5IGlk5a2X5q615ZCNDQogICAqIEBwYXJhbSBwaWRLZXkgcGlk5a2X5q615ZCNDQogICAqIEBwYXJhbSBjaGlsZEtleSDnlJ/miJDnmoRjaGlsZHJlbuWtl+auteWQjQ0KICAgKiBAcGFyYW0gcGlkIOmhtue6p+eahHBpZA0KICAgKiBAcmV0dXJucyB7W119DQogICAqLwogIHRvVHJlZURhdGE6IGZ1bmN0aW9uIHRvVHJlZURhdGEoZGF0YSwgaWRLZXksIHBpZEtleSwgY2hpbGRLZXksIHBpZCkgewogICAgdmFyIF90aGlzMiA9IHRoaXM7CgogICAgaWYgKCFjaGlsZEtleSkgY2hpbGRLZXkgPSAnY2hpbGRyZW4nOwoKICAgIGlmIChwaWQgPT09IHVuZGVmaW5lZCkgewogICAgICBwaWQgPSBbXTsKICAgICAgZGF0YS5mb3JFYWNoKGZ1bmN0aW9uIChkKSB7CiAgICAgICAgdmFyIGZsYWcgPSB0cnVlOwoKICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGRhdGEubGVuZ3RoOyBpKyspIHsKICAgICAgICAgIGlmIChkW3BpZEtleV0gPT0gZGF0YVtpXVtpZEtleV0pIHsKICAgICAgICAgICAgZmxhZyA9IGZhbHNlOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGlmIChmbGFnKSBwaWQucHVzaChkW3BpZEtleV0pOwogICAgICB9KTsKICAgIH0KCiAgICB2YXIgcmVzdWx0ID0gW107CiAgICBkYXRhLmZvckVhY2goZnVuY3Rpb24gKGQpIHsKICAgICAgaWYgKGRbaWRLZXldID09IGRbcGlkS2V5XSkgcmV0dXJuIGNvbnNvbGUuZXJyb3IoJ2RhdGEgZXJyb3I6ICcsIGQpOwoKICAgICAgaWYgKEFycmF5LmlzQXJyYXkocGlkKSA/IHBpZC5pbmRleE9mKGRbcGlkS2V5XSkgIT09IC0xIDogZFtwaWRLZXldID09IHBpZCkgewogICAgICAgIHZhciBjaGlsZHJlbiA9IF90aGlzMi50b1RyZWVEYXRhKGRhdGEsIGlkS2V5LCBwaWRLZXksIGNoaWxkS2V5LCBkW2lkS2V5XSk7CgogICAgICAgIGlmIChjaGlsZHJlbi5sZW5ndGggPiAwKSBkW2NoaWxkS2V5XSA9IGNoaWxkcmVuOwogICAgICAgIHJlc3VsdC5wdXNoKGQpOwogICAgICB9CiAgICB9KTsKICAgIHJldHVybiByZXN1bHQ7CiAgfSwKCiAgLyoqDQogICAqIOmBjeWOhmNoaWxkcmVu5b2i5byP5pWw5o2uDQogICAqIEBwYXJhbSBkYXRhIOmcgOimgemBjeWOhueahOaVsOe7hA0KICAgKiBAcGFyYW0gY2FsbGJhY2sg5Zue6LCDDQogICAqIEBwYXJhbSBjaGlsZEtleSBjaGlsZHJlbuWtl+auteWQjQ0KICAgKi8KICBlYWNoVHJlZURhdGE6IGZ1bmN0aW9uIGVhY2hUcmVlRGF0YShkYXRhLCBjYWxsYmFjaywgY2hpbGRLZXkpIHsKICAgIHZhciBfdGhpczMgPSB0aGlzOwoKICAgIGlmICghY2hpbGRLZXkpIGNoaWxkS2V5ID0gJ2NoaWxkcmVuJzsKICAgIGRhdGEuZm9yRWFjaChmdW5jdGlvbiAoZCkgewogICAgICBpZiAoY2FsbGJhY2soZCkgIT09IGZhbHNlICYmIGRbY2hpbGRLZXldKSBfdGhpczMuZWFjaFRyZWVEYXRhKGRbY2hpbGRLZXldLCBjYWxsYmFjaywgY2hpbGRLZXkpOwogICAgfSk7CiAgfSwKCiAgLyoqDQogICAqIOiuqea1j+iniOWZqOWFqOWxj+WIh+aNog0KICAgKiBAcmV0dXJucyB7RWxlbWVudHwqfGJvb2xlYW59IOaYr+WQpuaYr+WFqOWxj+eKtuaAgQ0KICAgKi8KICBmdWxsU2NyZWVuOiBmdW5jdGlvbiBmdWxsU2NyZWVuKCkgewogICAgdmFyIGlzRnVsbCA9IGRvY3VtZW50LmZ1bGxzY3JlZW5FbGVtZW50IHx8IGRvY3VtZW50Lm1zRnVsbHNjcmVlbkVsZW1lbnQgfHwgZG9jdW1lbnQubW96RnVsbFNjcmVlbkVsZW1lbnQgfHwgZG9jdW1lbnQud2Via2l0RnVsbHNjcmVlbkVsZW1lbnQgfHwgZmFsc2U7CgogICAgaWYgKGlzRnVsbCkgewogICAgICB2YXIgZWZzID0gZG9jdW1lbnQuZXhpdEZ1bGxzY3JlZW4gfHwgZG9jdW1lbnQud2Via2l0RXhpdEZ1bGxzY3JlZW4gfHwgZG9jdW1lbnQubW96Q2FuY2VsRnVsbFNjcmVlbiB8fCBkb2N1bWVudC5tc0V4aXRGdWxsc2NyZWVuOwoKICAgICAgaWYgKGVmcykgewogICAgICAgIGVmcy5jYWxsKGRvY3VtZW50KTsKICAgICAgfSBlbHNlIGlmICh3aW5kb3cuQWN0aXZlWE9iamVjdCkgewogICAgICAgIHZhciB3cyA9IG5ldyB3aW5kb3cuQWN0aXZlWE9iamVjdCgnV1NjcmlwdC5TaGVsbCcpOwogICAgICAgIHdzICYmIHdzLlNlbmRLZXlzKCd7RjExfScpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICB2YXIgZWwgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7CiAgICAgIHZhciByZnMgPSBlbC5yZXF1ZXN0RnVsbHNjcmVlbiB8fCBlbC53ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbiB8fCBlbC5tb3pSZXF1ZXN0RnVsbFNjcmVlbiB8fCBlbC5tc1JlcXVlc3RGdWxsc2NyZWVuOwoKICAgICAgaWYgKHJmcykgewogICAgICAgIHJmcy5jYWxsKGVsKTsKICAgICAgfSBlbHNlIGlmICh3aW5kb3cuQWN0aXZlWE9iamVjdCkgewogICAgICAgIHZhciB3c3MgPSBuZXcgd2luZG93LkFjdGl2ZVhPYmplY3QoJ1dTY3JpcHQuU2hlbGwnKTsKICAgICAgICB3c3MgJiYgd3NzLlNlbmRLZXlzKCd7RjExfScpOwogICAgICB9CiAgICB9CgogICAgcmV0dXJuIGlzRnVsbDsKICB9LAoKICAvKioNCiAgICog6I635Y+W5bGP5bmV5a695bqmDQogICAqIEByZXR1cm5zIHtudW1iZXJ9DQogICAqLwogIHNjcmVlbldpZHRoOiBmdW5jdGlvbiBzY3JlZW5XaWR0aCgpIHsKICAgIHJldHVybiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGggfHwgZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aDsKICB9LAoKICAvKioNCiAgICog6I635Y+W5bGP5bmV6auY5bqmDQogICAqIEByZXR1cm5zIHtudW1iZXJ9DQogICAqLwogIHNjcmVlbkhlaWdodDogZnVuY3Rpb24gc2NyZWVuSGVpZ2h0KCkgewogICAgcmV0dXJuIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQgfHwgZG9jdW1lbnQuYm9keS5jbGllbnRIZWlnaHQ7CiAgfSwKCiAgLyoqDQogICAqIGh0bWzovax0ZXh0LCDojrflj5ZodG1s55qE57qv5paH5pysDQogICAqIEBwYXJhbSBodG1sDQogICAqIEByZXR1cm5zIHsqfQ0KICAgKi8KICBodG1sVG9UZXh0OiBmdW5jdGlvbiBodG1sVG9UZXh0KGh0bWwpIHsKICAgIC8qbGV0IGVsZW0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsNCiAgICBlbGVtLmlubmVySFRNTCA9IGh0bWw7DQogICAgcmV0dXJuIGVsZW0uaW5uZXJUZXh0OyovCiAgICByZXR1cm4gaHRtbC5yZXBsYWNlKC88W14+XSs+L2csICcnKTsKICB9LAoKICAvKioNCiAgICog6I635Y+W6K6+5aSH5L+h5oGvDQogICAqIEBwYXJhbSBrZXkg6Ieq5a6a5LmJ55qEYWdlbnQNCiAgICogQHJldHVybnMge3t3ZWl4aW46ICosIG9zOiAoc3RyaW5nfHVuZGVmaW5lZCksIGllOiBib29sZWFufX0NCiAgICovCiAgZGV2aWNlOiBmdW5jdGlvbiBkZXZpY2Uoa2V5KSB7CiAgICB2YXIgYWdlbnQgPSBuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCksCiAgICAgICAgLy8g6I635Y+W54mI5pys5Y+3CiAgICBnZXRWZXJzaW9uID0gZnVuY3Rpb24gZ2V0VmVyc2lvbihsYWJlbCkgewogICAgICB2YXIgZXhwID0gbmV3IFJlZ0V4cChsYWJlbCArICcvKFteXFxzXFxfXFwtXSspJyk7CiAgICAgIGxhYmVsID0gKGFnZW50Lm1hdGNoKGV4cCkgfHwgW10pWzFdOwogICAgICByZXR1cm4gbGFiZWwgfHwgZmFsc2U7CiAgICB9LAogICAgICAgIC8vIOi/lOWbnue7k+aenOmbhgogICAgcmVzdWx0ID0gewogICAgICBvczogZnVuY3Rpb24gKCkgewogICAgICAgIC8vIOW6leWxguaTjeS9nOezu+e7nwogICAgICAgIGlmICgvd2luZG93cy8udGVzdChhZ2VudCkpIHsKICAgICAgICAgIHJldHVybiAnd2luZG93cyc7CiAgICAgICAgfSBlbHNlIGlmICgvbGludXgvLnRlc3QoYWdlbnQpKSB7CiAgICAgICAgICByZXR1cm4gJ2xpbnV4JzsKICAgICAgICB9IGVsc2UgaWYgKC9pcGhvbmV8aXBvZHxpcGFkfGlvcy8udGVzdChhZ2VudCkpIHsKICAgICAgICAgIHJldHVybiAnaW9zJzsKICAgICAgICB9IGVsc2UgaWYgKC9tYWMvLnRlc3QoYWdlbnQpKSB7CiAgICAgICAgICByZXR1cm4gJ21hYyc7CiAgICAgICAgfSBlbHNlIGlmICgvYW5kcm9pZC8udGVzdChhZ2VudCkpIHsKICAgICAgICAgIHJldHVybiAnYW5kcm9pZCc7CiAgICAgICAgfQogICAgICB9KCksCiAgICAgIGllOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgLy8gaWXniYjmnKwKICAgICAgICByZXR1cm4gISF3aW5kb3cuQWN0aXZlWE9iamVjdCB8fCAnQWN0aXZlWE9iamVjdCcgaW4gd2luZG93ID8gKGFnZW50Lm1hdGNoKC9tc2llXHMoXGQrKS8pIHx8IFtdKVsxXSB8fCAnMTEnIC8vIOeUseS6jmllMTHlubbmsqHmnIltc2ll55qE5qCH6K+GCiAgICAgICAgOiBmYWxzZTsKICAgICAgfSgpLAogICAgICB3ZWl4aW46IGdldFZlcnNpb24oJ21pY3JvbWVzc2VuZ2VyJykgLy8g5piv5ZCm5b6u5L+hCgogICAgfTsgLy8g5Lu75oSP55qEa2V5CgoKICAgIGlmIChrZXkgJiYgIXJlc3VsdFtrZXldKSB7CiAgICAgIHJlc3VsdFtrZXldID0gZ2V0VmVyc2lvbihrZXkpOwogICAgfSAvLyDnp7vliqjorr7lpIcKCgogICAgcmVzdWx0LmFuZHJvaWQgPSAvYW5kcm9pZC8udGVzdChhZ2VudCk7CiAgICByZXN1bHQuaW9zID0gcmVzdWx0Lm9zID09PSAnaW9zJzsKICAgIHJlc3VsdC5tb2JpbGUgPSByZXN1bHQuYW5kcm9pZCB8fCByZXN1bHQuaW9zID8gdHJ1ZSA6IGZhbHNlOwogICAgcmV0dXJuIHJlc3VsdDsKICB9LAoKICAvKioNCiAgICog55Sf5oiQ6ZqP5py6aWQNCiAgICogQHBhcmFtIGxlbmd0aCDplb/luqYNCiAgICogQHJldHVybnMge3N0cmluZ30NCiAgICovCiAgdXVpZDogZnVuY3Rpb24gdXVpZCgpIHsKICAgIHZhciBsZW5ndGggPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IDMyOwogICAgdmFyIG51bSA9ICdhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMTIzNDU2Nzg5MCc7CiAgICB2YXIgc3RyID0gJyc7CgogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgewogICAgICBzdHIgKz0gbnVtLmNoYXJBdChNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBudW0ubGVuZ3RoKSk7CiAgICB9CgogICAgcmV0dXJuIHN0cjsKICB9LAoKICAvKioNCiAgICog55Sf5oiQbeWIsG7nmoTpmo/mnLrmlbDvvIzkuI3ljIXlkKtuDQogICAqIEBwYXJhbSBtIOacgOWwj+WAvA0KICAgKiBAcGFyYW0gbiDmnIDlpKflgLwNCiAgICogQHJldHVybnMge251bWJlcn0NCiAgICovCiAgcmFuZG9tOiBmdW5jdGlvbiByYW5kb20obSwgbikgewogICAgcmV0dXJuIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIChtIC0gbikgKyBuKTsKICB9LAoKICAvKioNCiAgICog55m+5bqm5Zyw5Zu+5Z2Q5qCH6L2s6auY5b635Zyw5Zu+5Z2Q5qCHDQogICAqIEBwYXJhbSBwb2ludCDlnZDmoIcNCiAgICogQHJldHVybnMge3tsbmc6IG51bWJlciwgbGF0OiBudW1iZXJ9fQ0KICAgKi8KICBiZDA5VG9HY2owMjogZnVuY3Rpb24gYmQwOVRvR2NqMDIocG9pbnQpIHsKICAgIHZhciB4X3BpID0gMy4xNDE1OTI2NTM1ODk3OTMyNCAqIDMwMDAuMCAvIDE4MC4wOwogICAgdmFyIHggPSBwb2ludC5sbmcgLSAwLjAwNjUsCiAgICAgICAgeSA9IHBvaW50LmxhdCAtIDAuMDA2OwogICAgdmFyIHogPSBNYXRoLnNxcnQoeCAqIHggKyB5ICogeSkgLSAwLjAwMDAyICogTWF0aC5zaW4oeSAqIHhfcGkpOwogICAgdmFyIHRoZXRhID0gTWF0aC5hdGFuMih5LCB4KSAtIDAuMDAwMDAzICogTWF0aC5jb3MoeCAqIHhfcGkpOwogICAgcmV0dXJuIHsKICAgICAgbG5nOiB6ICogTWF0aC5jb3ModGhldGEpLAogICAgICBsYXQ6IHogKiBNYXRoLnNpbih0aGV0YSkKICAgIH07CiAgfSwKCiAgLyoqDQogICAqIOmrmOW+t+WcsOWbvuWdkOagh+i9rOeZvuW6puWcsOWbvuWdkOaghw0KICAgKiBAcGFyYW0gcG9pbnQg5Z2Q5qCHDQogICAqIEByZXR1cm5zIHt7bG5nOiBudW1iZXIsIGxhdDogbnVtYmVyfX0NCiAgICovCiAgZ2NqMDJUb0JkMDk6IGZ1bmN0aW9uIGdjajAyVG9CZDA5KHBvaW50KSB7CiAgICB2YXIgeF9waSA9IDMuMTQxNTkyNjUzNTg5NzkzMjQgKiAzMDAwLjAgLyAxODAuMDsKICAgIHZhciB4ID0gcG9pbnQubG5nLAogICAgICAgIHkgPSBwb2ludC5sYXQ7CiAgICB2YXIgeiA9IE1hdGguc3FydCh4ICogeCArIHkgKiB5KSArIDAuMDAwMDIgKiBNYXRoLnNpbih5ICogeF9waSk7CiAgICB2YXIgdGhldGEgPSBNYXRoLmF0YW4yKHksIHgpICsgMC4wMDAwMDMgKiBNYXRoLmNvcyh4ICogeF9waSk7CiAgICByZXR1cm4gewogICAgICBsbmc6IHogKiBNYXRoLmNvcyh0aGV0YSkgKyAwLjAwNjUsCiAgICAgIGxhdDogeiAqIE1hdGguc2luKHRoZXRhKSArIDAuMDA2CiAgICB9OwogIH0sCgogIC8qKg0KICAgKiDmt7HluqblhYvpmoblr7nosaENCiAgICogQHBhcmFtIG9iag0KICAgKiBAcmV0dXJucyB7e318Kn0NCiAgICovCiAgZGVlcENsb25lOiBmdW5jdGlvbiBkZWVwQ2xvbmUob2JqKSB7CiAgICB2YXIgX3RoaXM0ID0gdGhpczsKCiAgICB2YXIgcmVzdWx0OwogICAgdmFyIHR5cGUgPSB0aGlzLnR5cGVPZihvYmopOwogICAgaWYgKHR5cGUgPT09ICdPYmplY3QnKSByZXN1bHQgPSB7fTtlbHNlIGlmICh0eXBlID09PSAnQXJyYXknKSByZXN1bHQgPSBbXTtlbHNlIHJldHVybiBvYmo7CiAgICBPYmplY3Qua2V5cyhvYmopLmZvckVhY2goZnVuY3Rpb24gKGtleSkgewogICAgICB2YXIgY29weSA9IG9ialtrZXldLAogICAgICAgICAgY1R5cGUgPSBfdGhpczQudHlwZU9mKGNvcHkpOwoKICAgICAgaWYgKGNUeXBlID09PSAnT2JqZWN0JyB8fCBjVHlwZSA9PT0gJ0FycmF5JykgcmVzdWx0W2tleV0gPSBfdGhpczQuZGVlcENsb25lKGNvcHkpO2Vsc2UgcmVzdWx0W2tleV0gPSBvYmpba2V5XTsKICAgIH0pOwogICAgcmV0dXJuIHJlc3VsdDsKICB9LAoKICAvKioNCiAgICog6I635Y+W5Y+Y6YeP57G75Z6LDQogICAqIEBwYXJhbSBvYmoNCiAgICogQHJldHVybnMge3N0cmluZ30NCiAgICovCiAgdHlwZU9mOiBmdW5jdGlvbiB0eXBlT2Yob2JqKSB7CiAgICBpZiAob2JqID09PSBudWxsKSByZXR1cm4gJ051bGwnOwogICAgaWYgKG9iaiA9PT0gdW5kZWZpbmVkKSByZXR1cm4gJ1VuZGVmaW5lZCc7CiAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaikuc2xpY2UoOCwgLTEpOwogIH0sCgogIC8qKg0KICAgKiDmkq3mlL7pn7PpopENCiAgICogQHBhcmFtIHVybCDpn7PpopHlnLDlnYANCiAgICovCiAgcGxheTogZnVuY3Rpb24gcGxheSh1cmwpIHsKICAgIHJldHVybiBuZXcgQXVkaW8odXJsKS5wbGF5KCk7CiAgfSwKCiAgLyoqDQogICAqIOWIpOaWreWvjOaWh+acrOaYr+WQpuS4uuepug0KICAgKiBAcGFyYW0gaHRtbA0KICAgKi8KICBodG1sSXNCbGFuazogZnVuY3Rpb24gaHRtbElzQmxhbmsoaHRtbCkgewogICAgaWYgKCFodG1sKSByZXR1cm4gdHJ1ZTsKICAgIHZhciBtZWRpYSA9IFsnaW1nJywgJ2F1ZGlvJywgJ3ZpZGVvJywgJ2lmcmFtZScsICdvYmplY3QnXTsKCiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG1lZGlhLmxlbmd0aDsgaSsrKSB7CiAgICAgIGlmIChodG1sLmluZGV4T2YoJzwnICsgbWVkaWFbaV0pID4gLTEpIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICB2YXIgc3RyID0gaHRtbC5yZXBsYWNlKC9ccyovZywgJycpOyAvLyDljrvmjonmiYDmnInnqbrmoLwKCiAgICBpZiAoIXN0cikgcmV0dXJuIHRydWU7CiAgICBzdHIgPSBzdHIucmVwbGFjZSgvJm5ic3A7L2lnLCAnJyk7IC8vIOWOu+aOieaJgOaciSZuYnNwOwoKICAgIGlmICghc3RyKSByZXR1cm4gdHJ1ZTsKICAgIHN0ciA9IHN0ci5yZXBsYWNlKC88W14+XSs+L2csICcnKTsgLy8g5Y675o6J5omA5pyJaHRtbOagh+etvgoKICAgIHJldHVybiAhc3RyOwogIH0sCgogIC8qKg0KICAgKiDlr7zlh7pleGNlbA0KICAgKiBAcGFyYW0gWExTWCBYTFNY5a+56LGhDQogICAqIEBwYXJhbSBzaGVldCDmlbDnu4TmiJZzaGVldOWvueixoQ0KICAgKiBAcGFyYW0gc2hlZXRuYW1lIOaWh+S7tuWQjeensA0KICAgKiBAcGFyYW0gdHlwZSDmlofku7bmoLzlvI8NCiAgICovCiAgZXhwb3J0U2hlZXQ6IGZ1bmN0aW9uIGV4cG9ydFNoZWV0KFhMU1gsIHNoZWV0LCBzaGVldG5hbWUsIHR5cGUpIHsKICAgIGlmICghc2hlZXRuYW1lKSBzaGVldG5hbWUgPSAnc2hlZXQxJzsKICAgIGlmICghdHlwZSkgdHlwZSA9ICd4bHN4JzsKICAgIGlmIChBcnJheS5pc0FycmF5KHNoZWV0KSkgc2hlZXQgPSBYTFNYLnV0aWxzLmFvYV90b19zaGVldChzaGVldCk7CiAgICB2YXIgd29ya2Jvb2sgPSB7CiAgICAgIFNoZWV0TmFtZXM6IFtzaGVldG5hbWVdLAogICAgICBTaGVldHM6IHt9CiAgICB9OwogICAgd29ya2Jvb2suU2hlZXRzW3NoZWV0bmFtZV0gPSBzaGVldDsKICAgIFhMU1gud3JpdGVGaWxlKHdvcmtib29rLCBzaGVldG5hbWUgKyAnLicgKyB0eXBlKTsKICB9LAoKICAvKioNCiAgICog5bi455So6aKc6ImyDQogICAqLwogIGJlYXV0aWZ1bENvbG9yczogWydyZ2IoMjQsMTQ0LDI1NSknLCAncmdiKDEwMiwxODEsMjU1KScsICdyZ2IoNjUsIDIxNywgMTk5KScsICdyZ2IoNDcsIDE5NCwgOTEpJywgJ3JnYigxMTAsIDIxOSwgMTQzKScsICdyZ2IoMTU0LCAyMzAsIDkyKScsICdyZ2IoMjUwLCAyMDQsIDIwKScsICdyZ2IoMjMwLCAxNTAsIDkyKScsICdyZ2IoODcsIDE3MywgMTEzKScsICdyZ2IoMzQsIDUwLCAxMTUpJywgJ3JnYigxMTUsIDEzOCwgMjMwKScsICdyZ2IoMTE3LCAxMDAsIDIwNCknLCAncmdiKDEzMywgNjcsIDIyNCknLCAncmdiKDE2OCwgMTE5LCAyMzcpJywgJ3JnYig5MiwgMTQyLCAyMzApJywgJ3JnYigxOSwgMTk0LCAxOTQpJywgJ3JnYigxMTIsIDIyNCwgMjI0KScsICdyZ2IoOTIsIDE2MywgMjMwKScsICdyZ2IoNTIsIDU0LCAxOTkpJywgJ3JnYigxMjgsIDEzMCwgMjU1KScsICdyZ2IoMjIxLCAxMjksIDIzMCknLCAncmdiKDI0MCwgNzIsIDEwMCknLCAncmdiKDI1MCwgMTI1LCAxNDYpJywgJ3JnYigyMTMsIDE1MiwgMjE3KSddCn07"},{"version":3,"sources":["/usr/local/develop/php/www/waibao/project/NN2022060801/addons/admin/src/utils/util.js"],"names":["countdown","endTime","serverTime","callback","type","end","Date","getTime","now","count","time","Math","floor","timer","setTimeout","clearTimeout","timeAgo","onlyDate","replace","arr","stamp","digit","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","join","num","length","str","String","i","pow","toDateString","format","date","ymd","hms","escape","html","toTreeData","data","idKey","pidKey","childKey","pid","undefined","forEach","d","flag","push","result","console","error","Array","isArray","indexOf","children","eachTreeData","fullScreen","isFull","document","fullscreenElement","msFullscreenElement","mozFullScreenElement","webkitFullscreenElement","efs","exitFullscreen","webkitExitFullscreen","mozCancelFullScreen","msExitFullscreen","call","window","ActiveXObject","ws","SendKeys","el","documentElement","rfs","requestFullscreen","webkitRequestFullscreen","mozRequestFullScreen","msRequestFullscreen","wss","screenWidth","clientWidth","body","screenHeight","clientHeight","htmlToText","device","key","agent","navigator","userAgent","toLowerCase","getVersion","label","exp","RegExp","match","os","test","ie","weixin","android","ios","mobile","uuid","charAt","random","m","n","bd09ToGcj02","point","x_pi","x","lng","y","lat","z","sqrt","sin","theta","atan2","cos","gcj02ToBd09","deepClone","obj","typeOf","Object","keys","copy","cType","prototype","toString","slice","play","url","Audio","htmlIsBlank","media","exportSheet","XLSX","sheet","sheetname","utils","aoa_to_sheet","workbook","SheetNames","Sheets","writeFile","beautifulColors"],"mappings":"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","sourcesContent":["/**\r\n * 常用工具方法\r\n */\r\nexport default {\r\n /**\r\n * 倒计时\r\n * @param endTime 结束时间\r\n * @param serverTime 服务端当前时间\r\n * @param callback 回调\r\n * @returns {number} 定时器实例\r\n */\r\n countdown(endTime, serverTime, callback) {\r\n let type = typeof serverTime === 'function', end = new Date(endTime).getTime(),\r\n now = new Date((!serverTime || type) ? new Date().getTime() : serverTime).getTime(),\r\n count = end - now, time = [\r\n Math.floor(count / (1000 * 60 * 60 * 24)), // 天\r\n Math.floor(count / (1000 * 60 * 60)) % 24, // 时\r\n Math.floor(count / (1000 * 60)) % 60, // 分\r\n Math.floor(count / 1000) % 60 // 秒\r\n ];\r\n if (type) callback = serverTime;\r\n let timer = setTimeout(() => {\r\n this.countdown(endTime, now + 1000, callback);\r\n }, 1000);\r\n callback && callback(count > 0 ? time : [0, 0, 0, 0], serverTime, timer);\r\n if (count <= 0) clearTimeout(timer);\r\n return timer;\r\n },\r\n /**\r\n * 某个时间在当前时间的多久前\r\n * @param time 需要语义化的时间\r\n * @param onlyDate 超过30天是否仅返回日期\r\n * @returns {string} 语义化后的时间\r\n */\r\n timeAgo(time, onlyDate) {\r\n if (!time) return '';\r\n if (typeof time === 'string') time = time.replace(/-/g, '/');\r\n let arr = [[], []], stamp = new Date().getTime() - new Date(time).getTime();\r\n // 30天以上返回具体日期\r\n if (stamp > 1000 * 60 * 60 * 24 * 31) {\r\n stamp = new Date(time);\r\n arr[0][0] = this.digit(stamp.getFullYear(), 4);\r\n arr[0][1] = this.digit(stamp.getMonth() + 1);\r\n arr[0][2] = this.digit(stamp.getDate());\r\n if (!onlyDate) { // 是否输出时间\r\n arr[1][0] = this.digit(stamp.getHours());\r\n arr[1][1] = this.digit(stamp.getMinutes());\r\n arr[1][2] = this.digit(stamp.getSeconds());\r\n }\r\n return arr[0].join('-') + ' ' + arr[1].join(':');\r\n }\r\n // 30天以内,返回“多久前”\r\n if (stamp >= 1000 * 60 * 60 * 24) {\r\n return ((stamp / 1000 / 60 / 60 / 24) | 0) + '天前';\r\n } else if (stamp >= 1000 * 60 * 60) {\r\n return ((stamp / 1000 / 60 / 60) | 0) + '小时前';\r\n } else if (stamp >= 1000 * 60 * 3) { // 3分钟以内为:刚刚\r\n return ((stamp / 1000 / 60) | 0) + '分钟前';\r\n } else if (stamp < 0) {\r\n return '未来';\r\n } else {\r\n return '刚刚';\r\n }\r\n },\r\n /**\r\n * 数字前置补零\r\n * @param num 数字\r\n * @param length 位数\r\n * @returns {string}\r\n */\r\n digit(num, length) {\r\n let str = '';\r\n num = String(num);\r\n length = length || 2;\r\n for (let i = num.length; i < length; i++) str += '0';\r\n return num < Math.pow(10, length) ? str + (num | 0) : num;\r\n },\r\n /**\r\n * 转化为日期格式字符\r\n * @param time 时间\r\n * @param format 格式\r\n * @returns {string}\r\n */\r\n toDateString(time, format) {\r\n if (!time) return '';\r\n if (typeof time === 'string') time = time.replace(/-/g, '/');\r\n let date = new Date(time || new Date()),\r\n ymd = [\r\n this.digit(date.getFullYear(), 4),\r\n this.digit(date.getMonth() + 1),\r\n this.digit(date.getDate())\r\n ],\r\n hms = [\r\n this.digit(date.getHours()),\r\n this.digit(date.getMinutes()),\r\n this.digit(date.getSeconds())\r\n ];\r\n format = format || 'yyyy-MM-dd HH:mm:ss';\r\n return format.replace(/yyyy/g, ymd[0])\r\n .replace(/MM/g, ymd[1])\r\n .replace(/dd/g, ymd[2])\r\n .replace(/HH/g, hms[0])\r\n .replace(/mm/g, hms[1])\r\n .replace(/ss/g, hms[2]);\r\n },\r\n /**\r\n * html转义, 防止xss攻击\r\n * @param html 需要转义的字符串\r\n * @returns {string}\r\n */\r\n escape(html) {\r\n return String(html || '').replace(/&(?!#?[a-zA-Z0-9]+;)/g, '&amp;')\r\n .replace(/</g, '&lt;').replace(/>/g, '&gt;')\r\n .replace(/'/g, '&#39;').replace(/\"/g, '&quot;');\r\n },\r\n /**\r\n * pid形式数据转children形式\r\n * @param data 需要转换的数组\r\n * @param idKey id字段名\r\n * @param pidKey pid字段名\r\n * @param childKey 生成的children字段名\r\n * @param pid 顶级的pid\r\n * @returns {[]}\r\n */\r\n toTreeData(data, idKey, pidKey, childKey, pid) {\r\n if (!childKey) childKey = 'children';\r\n if (pid === undefined) {\r\n pid = [];\r\n data.forEach(d => {\r\n let flag = true;\r\n for (let i = 0; i < data.length; i++) {\r\n if (d[pidKey] == data[i][idKey]) {\r\n flag = false;\r\n break;\r\n }\r\n }\r\n if (flag) pid.push(d[pidKey]);\r\n });\r\n }\r\n let result = [];\r\n data.forEach(d => {\r\n if (d[idKey] == d[pidKey]) return console.error('data error: ', d);\r\n if (Array.isArray(pid) ? (pid.indexOf(d[pidKey]) !== -1) : (d[pidKey] == pid)) {\r\n let children = this.toTreeData(data, idKey, pidKey, childKey, d[idKey]);\r\n if (children.length > 0) d[childKey] = children;\r\n result.push(d);\r\n }\r\n });\r\n return result;\r\n },\r\n /**\r\n * 遍历children形式数据\r\n * @param data 需要遍历的数组\r\n * @param callback 回调\r\n * @param childKey children字段名\r\n */\r\n eachTreeData(data, callback, childKey) {\r\n if (!childKey) childKey = 'children';\r\n data.forEach(d => {\r\n if (callback(d) !== false && d[childKey]) this.eachTreeData(d[childKey], callback, childKey);\r\n });\r\n },\r\n /**\r\n * 让浏览器全屏切换\r\n * @returns {Element|*|boolean} 是否是全屏状态\r\n */\r\n fullScreen() {\r\n let isFull = document.fullscreenElement || document.msFullscreenElement || document.mozFullScreenElement\r\n || document.webkitFullscreenElement || false;\r\n if (isFull) {\r\n let efs = document.exitFullscreen || document.webkitExitFullscreen || document.mozCancelFullScreen\r\n || document.msExitFullscreen;\r\n if (efs) {\r\n efs.call(document);\r\n } else if (window.ActiveXObject) {\r\n let ws = new window.ActiveXObject('WScript.Shell');\r\n ws && ws.SendKeys('{F11}');\r\n }\r\n } else {\r\n let el = document.documentElement;\r\n let rfs = el.requestFullscreen || el.webkitRequestFullscreen || el.mozRequestFullScreen\r\n || el.msRequestFullscreen;\r\n if (rfs) {\r\n rfs.call(el);\r\n } else if (window.ActiveXObject) {\r\n let wss = new window.ActiveXObject('WScript.Shell');\r\n wss && wss.SendKeys('{F11}');\r\n }\r\n }\r\n return isFull;\r\n },\r\n /**\r\n * 获取屏幕宽度\r\n * @returns {number}\r\n */\r\n screenWidth() {\r\n return document.documentElement.clientWidth || document.body.clientWidth;\r\n },\r\n /**\r\n * 获取屏幕高度\r\n * @returns {number}\r\n */\r\n screenHeight() {\r\n return document.documentElement.clientHeight || document.body.clientHeight;\r\n },\r\n /**\r\n * html转text, 获取html的纯文本\r\n * @param html\r\n * @returns {*}\r\n */\r\n htmlToText(html) {\r\n /*let elem = document.createElement('div');\r\n elem.innerHTML = html;\r\n return elem.innerText;*/\r\n return html.replace(/<[^>]+>/g, '');\r\n },\r\n /**\r\n * 获取设备信息\r\n * @param key 自定义的agent\r\n * @returns {{weixin: *, os: (string|undefined), ie: boolean}}\r\n */\r\n device(key) {\r\n let agent = navigator.userAgent.toLowerCase(),\r\n // 获取版本号\r\n getVersion = function (label) {\r\n const exp = new RegExp(label + '/([^\\\\s\\\\_\\\\-]+)');\r\n label = (agent.match(exp) || [])[1];\r\n return label || false;\r\n },\r\n // 返回结果集\r\n result = {\r\n os: function () { // 底层操作系统\r\n if (/windows/.test(agent)) {\r\n return 'windows';\r\n } else if (/linux/.test(agent)) {\r\n return 'linux';\r\n } else if (/iphone|ipod|ipad|ios/.test(agent)) {\r\n return 'ios';\r\n } else if (/mac/.test(agent)) {\r\n return 'mac';\r\n } else if (/android/.test(agent)) {\r\n return 'android';\r\n }\r\n }(),\r\n ie: function () { // ie版本\r\n return (!!window.ActiveXObject || 'ActiveXObject' in window) ? (\r\n (agent.match(/msie\\s(\\d+)/) || [])[1] || '11' // 由于ie11并没有msie的标识\r\n ) : false;\r\n }(),\r\n weixin: getVersion('micromessenger') // 是否微信\r\n };\r\n // 任意的key\r\n if (key && !result[key]) {\r\n result[key] = getVersion(key);\r\n }\r\n // 移动设备\r\n result.android = /android/.test(agent);\r\n result.ios = result.os === 'ios';\r\n result.mobile = (result.android || result.ios) ? true : false;\r\n return result;\r\n },\r\n /**\r\n * 生成随机id\r\n * @param length 长度\r\n * @returns {string}\r\n */\r\n uuid(length = 32) {\r\n const num = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';\r\n let str = '';\r\n for (let i = 0; i < length; i++) {\r\n str += num.charAt(Math.floor(Math.random() * num.length));\r\n }\r\n return str;\r\n },\r\n /**\r\n * 生成m到n的随机数,不包含n\r\n * @param m 最小值\r\n * @param n 最大值\r\n * @returns {number}\r\n */\r\n random(m, n) {\r\n return Math.floor(Math.random() * (m - n) + n);\r\n },\r\n /**\r\n * 百度地图坐标转高德地图坐标\r\n * @param point 坐标\r\n * @returns {{lng: number, lat: number}}\r\n */\r\n bd09ToGcj02: function (point) {\r\n const x_pi = (3.14159265358979324 * 3000.0) / 180.0;\r\n const x = point.lng - 0.0065, y = point.lat - 0.006;\r\n const z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * x_pi);\r\n const theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * x_pi);\r\n return {lng: z * Math.cos(theta), lat: z * Math.sin(theta)};\r\n },\r\n /**\r\n * 高德地图坐标转百度地图坐标\r\n * @param point 坐标\r\n * @returns {{lng: number, lat: number}}\r\n */\r\n gcj02ToBd09: function (point) {\r\n const x_pi = (3.14159265358979324 * 3000.0) / 180.0;\r\n const x = point.lng, y = point.lat;\r\n const z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * x_pi);\r\n const theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * x_pi);\r\n return {lng: z * Math.cos(theta) + 0.0065, lat: z * Math.sin(theta) + 0.006};\r\n },\r\n /**\r\n * 深度克隆对象\r\n * @param obj\r\n * @returns {{}|*}\r\n */\r\n deepClone: function (obj) {\r\n let result;\r\n const type = this.typeOf(obj);\r\n if (type === 'Object') result = {};\r\n else if (type === 'Array') result = [];\r\n else return obj;\r\n Object.keys(obj).forEach(key => {\r\n const copy = obj[key], cType = this.typeOf(copy);\r\n if (cType === 'Object' || cType === 'Array') result[key] = this.deepClone(copy);\r\n else result[key] = obj[key];\r\n });\r\n return result;\r\n },\r\n /**\r\n * 获取变量类型\r\n * @param obj\r\n * @returns {string}\r\n */\r\n typeOf(obj) {\r\n if (obj === null) return 'Null';\r\n if (obj === undefined) return 'Undefined';\r\n return Object.prototype.toString.call(obj).slice(8, -1);\r\n },\r\n /**\r\n * 播放音频\r\n * @param url 音频地址\r\n */\r\n play(url) {\r\n return new Audio(url).play();\r\n },\r\n /**\r\n * 判断富文本是否为空\r\n * @param html\r\n */\r\n htmlIsBlank(html) {\r\n if (!html) return true;\r\n const media = ['img', 'audio', 'video', 'iframe', 'object'];\r\n for (let i = 0; i < media.length; i++) {\r\n if (html.indexOf('<' + media[i]) > -1) return false;\r\n }\r\n let str = html.replace(/\\s*/g, ''); // 去掉所有空格\r\n if (!str) return true;\r\n str = str.replace(/&nbsp;/ig, ''); // 去掉所有&nbsp;\r\n if (!str) return true;\r\n str = str.replace(/<[^>]+>/g, ''); // 去掉所有html标签\r\n return !str;\r\n },\r\n /**\r\n * 导出excel\r\n * @param XLSX XLSX对象\r\n * @param sheet 数组或sheet对象\r\n * @param sheetname 文件名称\r\n * @param type 文件格式\r\n */\r\n exportSheet(XLSX, sheet, sheetname, type) {\r\n if (!sheetname) sheetname = 'sheet1';\r\n if (!type) type = 'xlsx';\r\n if (Array.isArray(sheet)) sheet = XLSX.utils.aoa_to_sheet(sheet);\r\n let workbook = {SheetNames: [sheetname], Sheets: {}};\r\n workbook.Sheets[sheetname] = sheet;\r\n XLSX.writeFile(workbook, sheetname + '.' + type);\r\n },\r\n /**\r\n * 常用颜色\r\n */\r\n beautifulColors: [\r\n 'rgb(24,144,255)', 'rgb(102,181,255)', 'rgb(65, 217, 199)', 'rgb(47, 194, 91)',\r\n 'rgb(110, 219, 143)', 'rgb(154, 230, 92)', 'rgb(250, 204, 20)', 'rgb(230, 150, 92)',\r\n 'rgb(87, 173, 113)', 'rgb(34, 50, 115)', 'rgb(115, 138, 230)', 'rgb(117, 100, 204)',\r\n 'rgb(133, 67, 224)', 'rgb(168, 119, 237)', 'rgb(92, 142, 230)', 'rgb(19, 194, 194)',\r\n 'rgb(112, 224, 224)', 'rgb(92, 163, 230)', 'rgb(52, 54, 199)', 'rgb(128, 130, 255)',\r\n 'rgb(221, 129, 230)', 'rgb(240, 72, 100)', 'rgb(250, 125, 146)', 'rgb(213, 152, 217)'\r\n ]\r\n}"]}]}