1 line
33 KiB
JSON
1 line
33 KiB
JSON
{"remainingRequest":"D:\\phpstudy_pro\\WWW\\travel\\admin\\node_modules\\babel-loader\\lib\\index.js!D:\\phpstudy_pro\\WWW\\travel\\admin\\node_modules\\eslint-loader\\index.js??ref--13-0!D:\\phpstudy_pro\\WWW\\travel\\admin\\src\\utils\\index.js","dependencies":[{"path":"D:\\phpstudy_pro\\WWW\\travel\\admin\\src\\utils\\index.js","mtime":1718070786035},{"path":"D:\\phpstudy_pro\\WWW\\travel\\admin\\babel.config.js","mtime":1718070785981},{"path":"D:\\phpstudy_pro\\WWW\\travel\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1718764957200},{"path":"D:\\phpstudy_pro\\WWW\\travel\\admin\\node_modules\\babel-loader\\lib\\index.js","mtime":1718764959024},{"path":"D:\\phpstudy_pro\\WWW\\travel\\admin\\node_modules\\eslint-loader\\index.js","mtime":1718764957746}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF90eXBlb2YgZnJvbSAiRDovcGhwc3R1ZHlfcHJvL1dXVy90cmF2ZWwvYWRtaW4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL3R5cGVvZi5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmZyb20uanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5qb2luLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkubWFwLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuc2xpY2UuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3Qua2V5cy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC50by1zdHJpbmcuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5yZWdleHAuY29uc3RydWN0b3IuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5yZWdleHAuZXhlYy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnJlZ2V4cC5zdGlja3kuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5yZWdleHAudGVzdC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnJlZ2V4cC50by1zdHJpbmcuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5zZXQuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcuaXRlcmF0b3IuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcubWF0Y2guanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcucGFkLXN0YXJ0LmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuc3RyaW5nLnJlcGxhY2UuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy93ZWIuZG9tLWNvbGxlY3Rpb25zLmZvci1lYWNoLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvd2ViLmRvbS1jb2xsZWN0aW9ucy5pdGVyYXRvci5qcyI7Ci8qKg0KICogQ3JlYXRlZCBieSBQYW5KaWFDaGVuIG9uIDE2LzExLzE4Lg0KICovCgovKioNCiAqIFBhcnNlIHRoZSB0aW1lIHRvIHN0cmluZw0KICogQHBhcmFtIHsoT2JqZWN0fHN0cmluZ3xudW1iZXIpfSB0aW1lDQogKiBAcGFyYW0ge3N0cmluZ30gY0Zvcm1hdA0KICogQHJldHVybnMge3N0cmluZyB8IG51bGx9DQogKi8KZXhwb3J0IGZ1bmN0aW9uIHBhcnNlVGltZSh0aW1lLCBjRm9ybWF0KSB7CiAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDAgfHwgIXRpbWUpIHsKICAgIHJldHVybiBudWxsOwogIH0KICB2YXIgZm9ybWF0ID0gY0Zvcm1hdCB8fCAne3l9LXttfS17ZH0ge2h9OntpfTp7c30nOwogIHZhciBkYXRlOwogIGlmIChfdHlwZW9mKHRpbWUpID09PSAnb2JqZWN0JykgewogICAgZGF0ZSA9IHRpbWU7CiAgfSBlbHNlIHsKICAgIGlmICh0eXBlb2YgdGltZSA9PT0gJ3N0cmluZycpIHsKICAgICAgaWYgKC9eWzAtOV0rJC8udGVzdCh0aW1lKSkgewogICAgICAgIC8vIHN1cHBvcnQgIjE1NDgyMjE0OTA2MzgiCiAgICAgICAgdGltZSA9IHBhcnNlSW50KHRpbWUpOwogICAgICB9IGVsc2UgewogICAgICAgIC8vIHN1cHBvcnQgc2FmYXJpCiAgICAgICAgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNDMxMDk1My9pbnZhbGlkLWRhdGUtaW4tc2FmYXJpCiAgICAgICAgdGltZSA9IHRpbWUucmVwbGFjZShuZXcgUmVnRXhwKC8tL2dtKSwgJy8nKTsKICAgICAgfQogICAgfQogICAgaWYgKHR5cGVvZiB0aW1lID09PSAnbnVtYmVyJyAmJiB0aW1lLnRvU3RyaW5nKCkubGVuZ3RoID09PSAxMCkgewogICAgICB0aW1lID0gdGltZSAqIDEwMDA7CiAgICB9CiAgICBkYXRlID0gbmV3IERhdGUodGltZSk7CiAgfQogIHZhciBmb3JtYXRPYmogPSB7CiAgICB5OiBkYXRlLmdldEZ1bGxZZWFyKCksCiAgICBtOiBkYXRlLmdldE1vbnRoKCkgKyAxLAogICAgZDogZGF0ZS5nZXREYXRlKCksCiAgICBoOiBkYXRlLmdldEhvdXJzKCksCiAgICBpOiBkYXRlLmdldE1pbnV0ZXMoKSwKICAgIHM6IGRhdGUuZ2V0U2Vjb25kcygpLAogICAgYTogZGF0ZS5nZXREYXkoKQogIH07CiAgdmFyIHRpbWVfc3RyID0gZm9ybWF0LnJlcGxhY2UoL3soW3ltZGhpc2FdKSt9L2csIGZ1bmN0aW9uIChyZXN1bHQsIGtleSkgewogICAgdmFyIHZhbHVlID0gZm9ybWF0T2JqW2tleV07CiAgICAvLyBOb3RlOiBnZXREYXkoKSByZXR1cm5zIDAgb24gU3VuZGF5CiAgICBpZiAoa2V5ID09PSAnYScpIHsKICAgICAgcmV0dXJuIFsn5pelJywgJ+S4gCcsICfkuownLCAn5LiJJywgJ+WbmycsICfkupQnLCAn5YWtJ11bdmFsdWVdOwogICAgfQogICAgcmV0dXJuIHZhbHVlLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKTsKICB9KTsKICByZXR1cm4gdGltZV9zdHI7Cn0KCi8qKg0KICogQHBhcmFtIHtudW1iZXJ9IHRpbWUNCiAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb24NCiAqIEByZXR1cm5zIHtzdHJpbmd9DQogKi8KZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdFRpbWUodGltZSwgb3B0aW9uKSB7CiAgaWYgKCgnJyArIHRpbWUpLmxlbmd0aCA9PT0gMTApIHsKICAgIHRpbWUgPSBwYXJzZUludCh0aW1lKSAqIDEwMDA7CiAgfSBlbHNlIHsKICAgIHRpbWUgPSArdGltZTsKICB9CiAgdmFyIGQgPSBuZXcgRGF0ZSh0aW1lKTsKICB2YXIgbm93ID0gRGF0ZS5ub3coKTsKICB2YXIgZGlmZiA9IChub3cgLSBkKSAvIDEwMDA7CiAgaWYgKGRpZmYgPCAzMCkgewogICAgcmV0dXJuICfliJrliJonOwogIH0gZWxzZSBpZiAoZGlmZiA8IDM2MDApIHsKICAgIC8vIGxlc3MgMSBob3VyCiAgICByZXR1cm4gTWF0aC5jZWlsKGRpZmYgLyA2MCkgKyAn5YiG6ZKf5YmNJzsKICB9IGVsc2UgaWYgKGRpZmYgPCAzNjAwICogMjQpIHsKICAgIHJldHVybiBNYXRoLmNlaWwoZGlmZiAvIDM2MDApICsgJ+Wwj+aXtuWJjSc7CiAgfSBlbHNlIGlmIChkaWZmIDwgMzYwMCAqIDI0ICogMikgewogICAgcmV0dXJuICcx5aSp5YmNJzsKICB9CiAgaWYgKG9wdGlvbikgewogICAgcmV0dXJuIHBhcnNlVGltZSh0aW1lLCBvcHRpb24pOwogIH0gZWxzZSB7CiAgICByZXR1cm4gZC5nZXRNb250aCgpICsgMSArICfmnIgnICsgZC5nZXREYXRlKCkgKyAn5pelJyArIGQuZ2V0SG91cnMoKSArICfml7YnICsgZC5nZXRNaW51dGVzKCkgKyAn5YiGJzsKICB9Cn0KCi8qKg0KICogQHBhcmFtIHtzdHJpbmd9IHVybA0KICogQHJldHVybnMge09iamVjdH0NCiAqLwpleHBvcnQgZnVuY3Rpb24gZ2V0UXVlcnlPYmplY3QodXJsKSB7CiAgdXJsID0gdXJsID09IG51bGwgPyB3aW5kb3cubG9jYXRpb24uaHJlZiA6IHVybDsKICB2YXIgc2VhcmNoID0gdXJsLnN1YnN0cmluZyh1cmwubGFzdEluZGV4T2YoJz8nKSArIDEpOwogIHZhciBvYmogPSB7fTsKICB2YXIgcmVnID0gLyhbXj8mPV0rKT0oW14/Jj1dKikvZzsKICBzZWFyY2gucmVwbGFjZShyZWcsIGZ1bmN0aW9uIChycywgJDEsICQyKSB7CiAgICB2YXIgbmFtZSA9IGRlY29kZVVSSUNvbXBvbmVudCgkMSk7CiAgICB2YXIgdmFsID0gZGVjb2RlVVJJQ29tcG9uZW50KCQyKTsKICAgIHZhbCA9IFN0cmluZyh2YWwpOwogICAgb2JqW25hbWVdID0gdmFsOwogICAgcmV0dXJuIHJzOwogIH0pOwogIHJldHVybiBvYmo7Cn0KCi8qKg0KICogQHBhcmFtIHtzdHJpbmd9IGlucHV0IHZhbHVlDQogKiBAcmV0dXJucyB7bnVtYmVyfSBvdXRwdXQgdmFsdWUNCiAqLwpleHBvcnQgZnVuY3Rpb24gYnl0ZUxlbmd0aChzdHIpIHsKICAvLyByZXR1cm5zIHRoZSBieXRlIGxlbmd0aCBvZiBhbiB1dGY4IHN0cmluZwogIHZhciBzID0gc3RyLmxlbmd0aDsKICBmb3IgKHZhciBpID0gc3RyLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7CiAgICB2YXIgY29kZSA9IHN0ci5jaGFyQ29kZUF0KGkpOwogICAgaWYgKGNvZGUgPiAweDdmICYmIGNvZGUgPD0gMHg3ZmYpIHMrKztlbHNlIGlmIChjb2RlID4gMHg3ZmYgJiYgY29kZSA8PSAweGZmZmYpIHMgKz0gMjsKICAgIGlmIChjb2RlID49IDB4REMwMCAmJiBjb2RlIDw9IDB4REZGRikgaS0tOwogIH0KICByZXR1cm4gczsKfQoKLyoqDQogKiBAcGFyYW0ge0FycmF5fSBhY3R1YWwNCiAqIEByZXR1cm5zIHtBcnJheX0NCiAqLwpleHBvcnQgZnVuY3Rpb24gY2xlYW5BcnJheShhY3R1YWwpIHsKICB2YXIgbmV3QXJyYXkgPSBbXTsKICBmb3IgKHZhciBpID0gMDsgaSA8IGFjdHVhbC5sZW5ndGg7IGkrKykgewogICAgaWYgKGFjdHVhbFtpXSkgewogICAgICBuZXdBcnJheS5wdXNoKGFjdHVhbFtpXSk7CiAgICB9CiAgfQogIHJldHVybiBuZXdBcnJheTsKfQoKLyoqDQogKiBAcGFyYW0ge09iamVjdH0ganNvbg0KICogQHJldHVybnMge0FycmF5fQ0KICovCmV4cG9ydCBmdW5jdGlvbiBwYXJhbShqc29uKSB7CiAgaWYgKCFqc29uKSByZXR1cm4gJyc7CiAgcmV0dXJuIGNsZWFuQXJyYXkoT2JqZWN0LmtleXMoanNvbikubWFwKGZ1bmN0aW9uIChrZXkpIHsKICAgIGlmIChqc29uW2tleV0gPT09IHVuZGVmaW5lZCkgcmV0dXJuICcnOwogICAgcmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChrZXkpICsgJz0nICsgZW5jb2RlVVJJQ29tcG9uZW50KGpzb25ba2V5XSk7CiAgfSkpLmpvaW4oJyYnKTsKfQoKLyoqDQogKiBAcGFyYW0ge3N0cmluZ30gdXJsDQogKiBAcmV0dXJucyB7T2JqZWN0fQ0KICovCmV4cG9ydCBmdW5jdGlvbiBwYXJhbTJPYmoodXJsKSB7CiAgdmFyIHNlYXJjaCA9IGRlY29kZVVSSUNvbXBvbmVudCh1cmwuc3BsaXQoJz8nKVsxXSkucmVwbGFjZSgvXCsvZywgJyAnKTsKICBpZiAoIXNlYXJjaCkgewogICAgcmV0dXJuIHt9OwogIH0KICB2YXIgb2JqID0ge307CiAgdmFyIHNlYXJjaEFyciA9IHNlYXJjaC5zcGxpdCgnJicpOwogIHNlYXJjaEFyci5mb3JFYWNoKGZ1bmN0aW9uICh2KSB7CiAgICB2YXIgaW5kZXggPSB2LmluZGV4T2YoJz0nKTsKICAgIGlmIChpbmRleCAhPT0gLTEpIHsKICAgICAgdmFyIG5hbWUgPSB2LnN1YnN0cmluZygwLCBpbmRleCk7CiAgICAgIHZhciB2YWwgPSB2LnN1YnN0cmluZyhpbmRleCArIDEsIHYubGVuZ3RoKTsKICAgICAgb2JqW25hbWVdID0gdmFsOwogICAgfQogIH0pOwogIHJldHVybiBvYmo7Cn0KCi8qKg0KICogQHBhcmFtIHtzdHJpbmd9IHZhbA0KICogQHJldHVybnMge3N0cmluZ30NCiAqLwpleHBvcnQgZnVuY3Rpb24gaHRtbDJUZXh0KHZhbCkgewogIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICBkaXYuaW5uZXJIVE1MID0gdmFsOwogIHJldHVybiBkaXYudGV4dENvbnRlbnQgfHwgZGl2LmlubmVyVGV4dDsKfQoKLyoqDQogKiBNZXJnZXMgdHdvIG9iamVjdHMsIGdpdmluZyB0aGUgbGFzdCBvbmUgcHJlY2VkZW5jZQ0KICogQHBhcmFtIHtPYmplY3R9IHRhcmdldA0KICogQHBhcmFtIHsoT2JqZWN0fEFycmF5KX0gc291cmNlDQogKiBAcmV0dXJucyB7T2JqZWN0fQ0KICovCmV4cG9ydCBmdW5jdGlvbiBvYmplY3RNZXJnZSh0YXJnZXQsIHNvdXJjZSkgewogIGlmIChfdHlwZW9mKHRhcmdldCkgIT09ICdvYmplY3QnKSB7CiAgICB0YXJnZXQgPSB7fTsKICB9CiAgaWYgKEFycmF5LmlzQXJyYXkoc291cmNlKSkgewogICAgcmV0dXJuIHNvdXJjZS5zbGljZSgpOwogIH0KICBPYmplY3Qua2V5cyhzb3VyY2UpLmZvckVhY2goZnVuY3Rpb24gKHByb3BlcnR5KSB7CiAgICB2YXIgc291cmNlUHJvcGVydHkgPSBzb3VyY2VbcHJvcGVydHldOwogICAgaWYgKF90eXBlb2Yoc291cmNlUHJvcGVydHkpID09PSAnb2JqZWN0JykgewogICAgICB0YXJnZXRbcHJvcGVydHldID0gb2JqZWN0TWVyZ2UodGFyZ2V0W3Byb3BlcnR5XSwgc291cmNlUHJvcGVydHkpOwogICAgfSBlbHNlIHsKICAgICAgdGFyZ2V0W3Byb3BlcnR5XSA9IHNvdXJjZVByb3BlcnR5OwogICAgfQogIH0pOwogIHJldHVybiB0YXJnZXQ7Cn0KCi8qKg0KICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWxlbWVudA0KICogQHBhcmFtIHtzdHJpbmd9IGNsYXNzTmFtZQ0KICovCmV4cG9ydCBmdW5jdGlvbiB0b2dnbGVDbGFzcyhlbGVtZW50LCBjbGFzc05hbWUpIHsKICBpZiAoIWVsZW1lbnQgfHwgIWNsYXNzTmFtZSkgewogICAgcmV0dXJuOwogIH0KICB2YXIgY2xhc3NTdHJpbmcgPSBlbGVtZW50LmNsYXNzTmFtZTsKICB2YXIgbmFtZUluZGV4ID0gY2xhc3NTdHJpbmcuaW5kZXhPZihjbGFzc05hbWUpOwogIGlmIChuYW1lSW5kZXggPT09IC0xKSB7CiAgICBjbGFzc1N0cmluZyArPSAnJyArIGNsYXNzTmFtZTsKICB9IGVsc2UgewogICAgY2xhc3NTdHJpbmcgPSBjbGFzc1N0cmluZy5zdWJzdHIoMCwgbmFtZUluZGV4KSArIGNsYXNzU3RyaW5nLnN1YnN0cihuYW1lSW5kZXggKyBjbGFzc05hbWUubGVuZ3RoKTsKICB9CiAgZWxlbWVudC5jbGFzc05hbWUgPSBjbGFzc1N0cmluZzsKfQoKLyoqDQogKiBAcGFyYW0ge3N0cmluZ30gdHlwZQ0KICogQHJldHVybnMge0RhdGV9DQogKi8KZXhwb3J0IGZ1bmN0aW9uIGdldFRpbWUodHlwZSkgewogIGlmICh0eXBlID09PSAnc3RhcnQnKSB7CiAgICByZXR1cm4gbmV3IERhdGUoKS5nZXRUaW1lKCkgLSAzNjAwICogMTAwMCAqIDI0ICogOTA7CiAgfSBlbHNlIHsKICAgIHJldHVybiBuZXcgRGF0ZShuZXcgRGF0ZSgpLnRvRGF0ZVN0cmluZygpKTsKICB9Cn0KCi8qKg0KICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYw0KICogQHBhcmFtIHtudW1iZXJ9IHdhaXQNCiAqIEBwYXJhbSB7Ym9vbGVhbn0gaW1tZWRpYXRlDQogKiBAcmV0dXJuIHsqfQ0KICovCmV4cG9ydCBmdW5jdGlvbiBkZWJvdW5jZShmdW5jLCB3YWl0LCBpbW1lZGlhdGUpIHsKICB2YXIgdGltZW91dCwgYXJncywgY29udGV4dCwgdGltZXN0YW1wLCByZXN1bHQ7CiAgdmFyIGxhdGVyID0gZnVuY3Rpb24gbGF0ZXIoKSB7CiAgICAvLyDmja7kuIrkuIDmrKHop6blj5Hml7bpl7Tpl7TpmpQKICAgIHZhciBsYXN0ID0gK25ldyBEYXRlKCkgLSB0aW1lc3RhbXA7CgogICAgLy8g5LiK5qyh6KKr5YyF6KOF5Ye95pWw6KKr6LCD55So5pe26Ze06Ze06ZqUIGxhc3Qg5bCP5LqO6K6+5a6a5pe26Ze06Ze06ZqUIHdhaXQKICAgIGlmIChsYXN0IDwgd2FpdCAmJiBsYXN0ID4gMCkgewogICAgICB0aW1lb3V0ID0gc2V0VGltZW91dChsYXRlciwgd2FpdCAtIGxhc3QpOwogICAgfSBlbHNlIHsKICAgICAgdGltZW91dCA9IG51bGw7CiAgICAgIC8vIOWmguaenOiuvuWumuS4umltbWVkaWF0ZT09PXRydWXvvIzlm6DkuLrlvIDlp4vovrnnlYzlt7Lnu4/osIPnlKjov4fkuobmraTlpITml6DpnIDosIPnlKgKICAgICAgaWYgKCFpbW1lZGlhdGUpIHsKICAgICAgICByZXN1bHQgPSBmdW5jLmFwcGx5KGNvbnRleHQsIGFyZ3MpOwogICAgICAgIGlmICghdGltZW91dCkgY29udGV4dCA9IGFyZ3MgPSBudWxsOwogICAgICB9CiAgICB9CiAgfTsKICByZXR1cm4gZnVuY3Rpb24gKCkgewogICAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbiksIF9rZXkgPSAwOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7CiAgICAgIGFyZ3NbX2tleV0gPSBhcmd1bWVudHNbX2tleV07CiAgICB9CiAgICBjb250ZXh0ID0gdGhpczsKICAgIHRpbWVzdGFtcCA9ICtuZXcgRGF0ZSgpOwogICAgdmFyIGNhbGxOb3cgPSBpbW1lZGlhdGUgJiYgIXRpbWVvdXQ7CiAgICAvLyDlpoLmnpzlu7bml7bkuI3lrZjlnKjvvIzph43mlrDorr7lrprlu7bml7YKICAgIGlmICghdGltZW91dCkgdGltZW91dCA9IHNldFRpbWVvdXQobGF0ZXIsIHdhaXQpOwogICAgaWYgKGNhbGxOb3cpIHsKICAgICAgcmVzdWx0ID0gZnVuYy5hcHBseShjb250ZXh0LCBhcmdzKTsKICAgICAgY29udGV4dCA9IGFyZ3MgPSBudWxsOwogICAgfQogICAgcmV0dXJuIHJlc3VsdDsKICB9Owp9CgovKioNCiAqIFRoaXMgaXMganVzdCBhIHNpbXBsZSB2ZXJzaW9uIG9mIGRlZXAgY29weQ0KICogSGFzIGEgbG90IG9mIGVkZ2UgY2FzZXMgYnVnDQogKiBJZiB5b3Ugd2FudCB0byB1c2UgYSBwZXJmZWN0IGRlZXAgY29weSwgdXNlIGxvZGFzaCdzIF8uY2xvbmVEZWVwDQogKiBAcGFyYW0ge09iamVjdH0gc291cmNlDQogKiBAcmV0dXJucyB7T2JqZWN0fQ0KICovCmV4cG9ydCBmdW5jdGlvbiBkZWVwQ2xvbmUoc291cmNlKSB7CiAgaWYgKCFzb3VyY2UgJiYgX3R5cGVvZihzb3VyY2UpICE9PSAnb2JqZWN0JykgewogICAgdGhyb3cgbmV3IEVycm9yKCdlcnJvciBhcmd1bWVudHMnLCAnZGVlcENsb25lJyk7CiAgfQogIHZhciB0YXJnZXRPYmogPSBzb3VyY2UuY29uc3RydWN0b3IgPT09IEFycmF5ID8gW10gOiB7fTsKICBPYmplY3Qua2V5cyhzb3VyY2UpLmZvckVhY2goZnVuY3Rpb24gKGtleXMpIHsKICAgIGlmIChzb3VyY2Vba2V5c10gJiYgX3R5cGVvZihzb3VyY2Vba2V5c10pID09PSAnb2JqZWN0JykgewogICAgICB0YXJnZXRPYmpba2V5c10gPSBkZWVwQ2xvbmUoc291cmNlW2tleXNdKTsKICAgIH0gZWxzZSB7CiAgICAgIHRhcmdldE9ialtrZXlzXSA9IHNvdXJjZVtrZXlzXTsKICAgIH0KICB9KTsKICByZXR1cm4gdGFyZ2V0T2JqOwp9CgovKioNCiAqIEBwYXJhbSB7QXJyYXl9IGFycg0KICogQHJldHVybnMge0FycmF5fQ0KICovCmV4cG9ydCBmdW5jdGlvbiB1bmlxdWVBcnIoYXJyKSB7CiAgcmV0dXJuIEFycmF5LmZyb20obmV3IFNldChhcnIpKTsKfQoKLyoqDQogKiBAcmV0dXJucyB7c3RyaW5nfQ0KICovCmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVVbmlxdWVTdHJpbmcoKSB7CiAgdmFyIHRpbWVzdGFtcCA9ICtuZXcgRGF0ZSgpICsgJyc7CiAgdmFyIHJhbmRvbU51bSA9IHBhcnNlSW50KCgxICsgTWF0aC5yYW5kb20oKSkgKiA2NTUzNikgKyAnJzsKICByZXR1cm4gKCsocmFuZG9tTnVtICsgdGltZXN0YW1wKSkudG9TdHJpbmcoMzIpOwp9CgovKioNCiAqIENoZWNrIGlmIGFuIGVsZW1lbnQgaGFzIGEgY2xhc3MNCiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsbQ0KICogQHBhcmFtIHtzdHJpbmd9IGNscw0KICogQHJldHVybnMge2Jvb2xlYW59DQogKi8KZXhwb3J0IGZ1bmN0aW9uIGhhc0NsYXNzKGVsZSwgY2xzKSB7CiAgcmV0dXJuICEhZWxlLmNsYXNzTmFtZS5tYXRjaChuZXcgUmVnRXhwKCcoXFxzfF4pJyArIGNscyArICcoXFxzfCQpJykpOwp9CgovKioNCiAqIEFkZCBjbGFzcyB0byBlbGVtZW50DQogKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBlbG0NCiAqIEBwYXJhbSB7c3RyaW5nfSBjbHMNCiAqLwpleHBvcnQgZnVuY3Rpb24gYWRkQ2xhc3MoZWxlLCBjbHMpIHsKICBpZiAoIWhhc0NsYXNzKGVsZSwgY2xzKSkgZWxlLmNsYXNzTmFtZSArPSAnICcgKyBjbHM7Cn0KCi8qKg0KICogUmVtb3ZlIGNsYXNzIGZyb20gZWxlbWVudA0KICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWxtDQogKiBAcGFyYW0ge3N0cmluZ30gY2xzDQogKi8KZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUNsYXNzKGVsZSwgY2xzKSB7CiAgaWYgKGhhc0NsYXNzKGVsZSwgY2xzKSkgewogICAgdmFyIHJlZyA9IG5ldyBSZWdFeHAoJyhcXHN8XiknICsgY2xzICsgJyhcXHN8JCknKTsKICAgIGVsZS5jbGFzc05hbWUgPSBlbGUuY2xhc3NOYW1lLnJlcGxhY2UocmVnLCAnICcpOwogIH0KfQ=="},{"version":3,"names":["parseTime","time","cFormat","arguments","length","format","date","_typeof","test","parseInt","replace","RegExp","toString","Date","formatObj","y","getFullYear","m","getMonth","d","getDate","h","getHours","i","getMinutes","s","getSeconds","a","getDay","time_str","result","key","value","padStart","formatTime","option","now","diff","Math","ceil","getQueryObject","url","window","location","href","search","substring","lastIndexOf","obj","reg","rs","$1","$2","name","decodeURIComponent","val","String","byteLength","str","code","charCodeAt","cleanArray","actual","newArray","push","param","json","Object","keys","map","undefined","encodeURIComponent","join","param2Obj","split","searchArr","forEach","v","index","indexOf","html2Text","div","document","createElement","innerHTML","textContent","innerText","objectMerge","target","source","Array","isArray","slice","property","sourceProperty","toggleClass","element","className","classString","nameIndex","substr","getTime","type","toDateString","debounce","func","wait","immediate","timeout","args","context","timestamp","later","last","setTimeout","apply","_len","_key","callNow","deepClone","Error","targetObj","constructor","uniqueArr","arr","from","Set","createUniqueString","randomNum","random","hasClass","ele","cls","match","addClass","removeClass"],"sources":["D:/phpstudy_pro/WWW/travel/admin/src/utils/index.js"],"sourcesContent":["/**\r\n * Created by PanJiaChen on 16/11/18.\r\n */\r\n\r\n/**\r\n * Parse the time to string\r\n * @param {(Object|string|number)} time\r\n * @param {string} cFormat\r\n * @returns {string | null}\r\n */\r\nexport function parseTime(time, cFormat) {\r\n if (arguments.length === 0 || !time) {\r\n return null\r\n }\r\n const format = cFormat || '{y}-{m}-{d} {h}:{i}:{s}'\r\n let date\r\n if (typeof time === 'object') {\r\n date = time\r\n } else {\r\n if ((typeof time === 'string')) {\r\n if ((/^[0-9]+$/.test(time))) {\r\n // support \"1548221490638\"\r\n time = parseInt(time)\r\n } else {\r\n // support safari\r\n // https://stackoverflow.com/questions/4310953/invalid-date-in-safari\r\n time = time.replace(new RegExp(/-/gm), '/')\r\n }\r\n }\r\n\r\n if ((typeof time === 'number') && (time.toString().length === 10)) {\r\n time = time * 1000\r\n }\r\n date = new Date(time)\r\n }\r\n const formatObj = {\r\n y: date.getFullYear(),\r\n m: date.getMonth() + 1,\r\n d: date.getDate(),\r\n h: date.getHours(),\r\n i: date.getMinutes(),\r\n s: date.getSeconds(),\r\n a: date.getDay()\r\n }\r\n const time_str = format.replace(/{([ymdhisa])+}/g, (result, key) => {\r\n const value = formatObj[key]\r\n // Note: getDay() returns 0 on Sunday\r\n if (key === 'a') { return ['日', '一', '二', '三', '四', '五', '六'][value ] }\r\n return value.toString().padStart(2, '0')\r\n })\r\n return time_str\r\n}\r\n\r\n/**\r\n * @param {number} time\r\n * @param {string} option\r\n * @returns {string}\r\n */\r\nexport function formatTime(time, option) {\r\n if (('' + time).length === 10) {\r\n time = parseInt(time) * 1000\r\n } else {\r\n time = +time\r\n }\r\n const d = new Date(time)\r\n const now = Date.now()\r\n\r\n const diff = (now - d) / 1000\r\n\r\n if (diff < 30) {\r\n return '刚刚'\r\n } else if (diff < 3600) {\r\n // less 1 hour\r\n return Math.ceil(diff / 60) + '分钟前'\r\n } else if (diff < 3600 * 24) {\r\n return Math.ceil(diff / 3600) + '小时前'\r\n } else if (diff < 3600 * 24 * 2) {\r\n return '1天前'\r\n }\r\n if (option) {\r\n return parseTime(time, option)\r\n } else {\r\n return (\r\n d.getMonth() +\r\n 1 +\r\n '月' +\r\n d.getDate() +\r\n '日' +\r\n d.getHours() +\r\n '时' +\r\n d.getMinutes() +\r\n '分'\r\n )\r\n }\r\n}\r\n\r\n/**\r\n * @param {string} url\r\n * @returns {Object}\r\n */\r\nexport function getQueryObject(url) {\r\n url = url == null ? window.location.href : url\r\n const search = url.substring(url.lastIndexOf('?') + 1)\r\n const obj = {}\r\n const reg = /([^?&=]+)=([^?&=]*)/g\r\n search.replace(reg, (rs, $1, $2) => {\r\n const name = decodeURIComponent($1)\r\n let val = decodeURIComponent($2)\r\n val = String(val)\r\n obj[name] = val\r\n return rs\r\n })\r\n return obj\r\n}\r\n\r\n/**\r\n * @param {string} input value\r\n * @returns {number} output value\r\n */\r\nexport function byteLength(str) {\r\n // returns the byte length of an utf8 string\r\n let s = str.length\r\n for (var i = str.length - 1; i >= 0; i--) {\r\n const code = str.charCodeAt(i)\r\n if (code > 0x7f && code <= 0x7ff) s++\r\n else if (code > 0x7ff && code <= 0xffff) s += 2\r\n if (code >= 0xDC00 && code <= 0xDFFF) i--\r\n }\r\n return s\r\n}\r\n\r\n/**\r\n * @param {Array} actual\r\n * @returns {Array}\r\n */\r\nexport function cleanArray(actual) {\r\n const newArray = []\r\n for (let i = 0; i < actual.length; i++) {\r\n if (actual[i]) {\r\n newArray.push(actual[i])\r\n }\r\n }\r\n return newArray\r\n}\r\n\r\n/**\r\n * @param {Object} json\r\n * @returns {Array}\r\n */\r\nexport function param(json) {\r\n if (!json) return ''\r\n return cleanArray(\r\n Object.keys(json).map(key => {\r\n if (json[key] === undefined) return ''\r\n return encodeURIComponent(key) + '=' + encodeURIComponent(json[key])\r\n })\r\n ).join('&')\r\n}\r\n\r\n/**\r\n * @param {string} url\r\n * @returns {Object}\r\n */\r\nexport function param2Obj(url) {\r\n const search = decodeURIComponent(url.split('?')[1]).replace(/\\+/g, ' ')\r\n if (!search) {\r\n return {}\r\n }\r\n const obj = {}\r\n const searchArr = search.split('&')\r\n searchArr.forEach(v => {\r\n const index = v.indexOf('=')\r\n if (index !== -1) {\r\n const name = v.substring(0, index)\r\n const val = v.substring(index + 1, v.length)\r\n obj[name] = val\r\n }\r\n })\r\n return obj\r\n}\r\n\r\n/**\r\n * @param {string} val\r\n * @returns {string}\r\n */\r\nexport function html2Text(val) {\r\n const div = document.createElement('div')\r\n div.innerHTML = val\r\n return div.textContent || div.innerText\r\n}\r\n\r\n/**\r\n * Merges two objects, giving the last one precedence\r\n * @param {Object} target\r\n * @param {(Object|Array)} source\r\n * @returns {Object}\r\n */\r\nexport function objectMerge(target, source) {\r\n if (typeof target !== 'object') {\r\n target = {}\r\n }\r\n if (Array.isArray(source)) {\r\n return source.slice()\r\n }\r\n Object.keys(source).forEach(property => {\r\n const sourceProperty = source[property]\r\n if (typeof sourceProperty === 'object') {\r\n target[property] = objectMerge(target[property], sourceProperty)\r\n } else {\r\n target[property] = sourceProperty\r\n }\r\n })\r\n return target\r\n}\r\n\r\n/**\r\n * @param {HTMLElement} element\r\n * @param {string} className\r\n */\r\nexport function toggleClass(element, className) {\r\n if (!element || !className) {\r\n return\r\n }\r\n let classString = element.className\r\n const nameIndex = classString.indexOf(className)\r\n if (nameIndex === -1) {\r\n classString += '' + className\r\n } else {\r\n classString =\r\n classString.substr(0, nameIndex) +\r\n classString.substr(nameIndex + className.length)\r\n }\r\n element.className = classString\r\n}\r\n\r\n/**\r\n * @param {string} type\r\n * @returns {Date}\r\n */\r\nexport function getTime(type) {\r\n if (type === 'start') {\r\n return new Date().getTime() - 3600 * 1000 * 24 * 90\r\n } else {\r\n return new Date(new Date().toDateString())\r\n }\r\n}\r\n\r\n/**\r\n * @param {Function} func\r\n * @param {number} wait\r\n * @param {boolean} immediate\r\n * @return {*}\r\n */\r\nexport function debounce(func, wait, immediate) {\r\n let timeout, args, context, timestamp, result\r\n\r\n const later = function() {\r\n // 据上一次触发时间间隔\r\n const last = +new Date() - timestamp\r\n\r\n // 上次被包装函数被调用时间间隔 last 小于设定时间间隔 wait\r\n if (last < wait && last > 0) {\r\n timeout = setTimeout(later, wait - last)\r\n } else {\r\n timeout = null\r\n // 如果设定为immediate===true,因为开始边界已经调用过了此处无需调用\r\n if (!immediate) {\r\n result = func.apply(context, args)\r\n if (!timeout) context = args = null\r\n }\r\n }\r\n }\r\n\r\n return function(...args) {\r\n context = this\r\n timestamp = +new Date()\r\n const callNow = immediate && !timeout\r\n // 如果延时不存在,重新设定延时\r\n if (!timeout) timeout = setTimeout(later, wait)\r\n if (callNow) {\r\n result = func.apply(context, args)\r\n context = args = null\r\n }\r\n\r\n return result\r\n }\r\n}\r\n\r\n/**\r\n * This is just a simple version of deep copy\r\n * Has a lot of edge cases bug\r\n * If you want to use a perfect deep copy, use lodash's _.cloneDeep\r\n * @param {Object} source\r\n * @returns {Object}\r\n */\r\nexport function deepClone(source) {\r\n if (!source && typeof source !== 'object') {\r\n throw new Error('error arguments', 'deepClone')\r\n }\r\n const targetObj = source.constructor === Array ? [] : {}\r\n Object.keys(source).forEach(keys => {\r\n if (source[keys] && typeof source[keys] === 'object') {\r\n targetObj[keys] = deepClone(source[keys])\r\n } else {\r\n targetObj[keys] = source[keys]\r\n }\r\n })\r\n return targetObj\r\n}\r\n\r\n/**\r\n * @param {Array} arr\r\n * @returns {Array}\r\n */\r\nexport function uniqueArr(arr) {\r\n return Array.from(new Set(arr))\r\n}\r\n\r\n/**\r\n * @returns {string}\r\n */\r\nexport function createUniqueString() {\r\n const timestamp = +new Date() + ''\r\n const randomNum = parseInt((1 + Math.random()) * 65536) + ''\r\n return (+(randomNum + timestamp)).toString(32)\r\n}\r\n\r\n/**\r\n * Check if an element has a class\r\n * @param {HTMLElement} elm\r\n * @param {string} cls\r\n * @returns {boolean}\r\n */\r\nexport function hasClass(ele, cls) {\r\n return !!ele.className.match(new RegExp('(\\\\s|^)' + cls + '(\\\\s|$)'))\r\n}\r\n\r\n/**\r\n * Add class to element\r\n * @param {HTMLElement} elm\r\n * @param {string} cls\r\n */\r\nexport function addClass(ele, cls) {\r\n if (!hasClass(ele, cls)) ele.className += ' ' + cls\r\n}\r\n\r\n/**\r\n * Remove class from element\r\n * @param {HTMLElement} elm\r\n * @param {string} cls\r\n */\r\nexport function removeClass(ele, cls) {\r\n if (hasClass(ele, cls)) {\r\n const reg = new RegExp('(\\\\s|^)' + cls + '(\\\\s|$)')\r\n ele.className = ele.className.replace(reg, ' ')\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}]} |