1 line
25 KiB
JSON
1 line
25 KiB
JSON
{"remainingRequest":"F:\\workspace\\webstorm\\SafetyScreen-ui2\\node_modules\\babel-loader\\lib\\index.js!F:\\workspace\\webstorm\\SafetyScreen-ui2\\node_modules\\@vue\\cli-plugin-eslint\\node_modules\\eslint-loader\\index.js??ref--13-0!F:\\workspace\\webstorm\\SafetyScreen-ui2\\src\\utils\\validate.js","dependencies":[{"path":"F:\\workspace\\webstorm\\SafetyScreen-ui2\\src\\utils\\validate.js","mtime":1740032704287},{"path":"F:\\workspace\\webstorm\\SafetyScreen-ui2\\babel.config.js","mtime":1740032703932},{"path":"F:\\workspace\\webstorm\\SafetyScreen-ui2\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1740032832373},{"path":"F:\\workspace\\webstorm\\SafetyScreen-ui2\\node_modules\\babel-loader\\lib\\index.js","mtime":1740032833520},{"path":"F:\\workspace\\webstorm\\SafetyScreen-ui2\\node_modules\\@vue\\cli-plugin-eslint\\node_modules\\eslint-loader\\index.js","mtime":1740032832690}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:InVzZSBzdHJpY3QiOwoKdmFyIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQgPSByZXF1aXJlKCJGOi93b3Jrc3BhY2Uvd2Vic3Rvcm0vU2FmZXR5U2NyZWVuLXVpMi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbnRlcm9wUmVxdWlyZURlZmF1bHQuanMiKS5kZWZhdWx0OwpPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgIl9fZXNNb2R1bGUiLCB7CiAgdmFsdWU6IHRydWUKfSk7CmV4cG9ydHMuaXNBcnJheSA9IGlzQXJyYXk7CmV4cG9ydHMuaXNFeHRlcm5hbCA9IGlzRXh0ZXJuYWw7CmV4cG9ydHMuaXNTdHJpbmcgPSBpc1N0cmluZzsKZXhwb3J0cy52YWxpZEFscGhhYmV0cyA9IHZhbGlkQWxwaGFiZXRzOwpleHBvcnRzLnZhbGlkRW1haWwgPSB2YWxpZEVtYWlsOwpleHBvcnRzLnZhbGlkTG93ZXJDYXNlID0gdmFsaWRMb3dlckNhc2U7CmV4cG9ydHMudmFsaWRQd2QgPSB2YWxpZFB3ZDsKZXhwb3J0cy52YWxpZFVSTCA9IHZhbGlkVVJMOwpleHBvcnRzLnZhbGlkVXBwZXJDYXNlID0gdmFsaWRVcHBlckNhc2U7CmV4cG9ydHMudmFsaWRVc2VybmFtZSA9IHZhbGlkVXNlcm5hbWU7CmV4cG9ydHMudmFsaWRhdGVOZXdQYXNzd29yZCA9IHZhbGlkYXRlTmV3UGFzc3dvcmQ7CnZhciBfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoIkY6L3dvcmtzcGFjZS93ZWJzdG9ybS9TYWZldHlTY3JlZW4tdWkyL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIuanMiKSk7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5lcnJvci5jYXVzZS5qcyIpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuaW5jbHVkZXMuanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC5rZXlzLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3QudG8tc3RyaW5nLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5yZWdleHAuZXhlYy5qcyIpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMucmVnZXhwLnRlc3QuanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLnJlZ2V4cC50by1zdHJpbmcuanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy5pbmNsdWRlcy5qcyIpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuc3RyaW5nLnRyaW0uanMiKTsKdmFyIHN5c3RlbUNvbmZpZyA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3N5c3RlbUNvbmZpZycpKTsKLyoqDQogKiBAcGFyYW0ge3N0cmluZ30gcGF0aA0KICogQHJldHVybnMge0Jvb2xlYW59DQogKi8KZnVuY3Rpb24gaXNFeHRlcm5hbChwYXRoKSB7CiAgcmV0dXJuIC9eKGh0dHBzPzp8bWFpbHRvOnx0ZWw6KS8udGVzdChwYXRoKTsKfQoKLyoqDQogKiBAcGFyYW0ge3N0cmluZ30gc3RyDQogKiBAcmV0dXJucyB7Qm9vbGVhbn0NCiAqLwpmdW5jdGlvbiB2YWxpZFVzZXJuYW1lKHN0cikgewogIHZhciB2YWxpZF9tYXAgPSBbJ2FkbWluJywgJ2VkaXRvciddOwogIHJldHVybiB2YWxpZF9tYXAuaW5kZXhPZihzdHIudHJpbSgpKSA+PSAwOwp9CgovKioNCiAqIEBwYXJhbSB7c3RyaW5nfSB1cmwNCiAqIEByZXR1cm5zIHtCb29sZWFufQ0KICovCmZ1bmN0aW9uIHZhbGlkVVJMKHVybCkgewogIHZhciByZWcgPSAvXihodHRwcz98ZnRwKTpcL1wvKFthLXpBLVowLTkuLV0rKDpbYS16QS1aMC05LiYlJC1dKykqQCkqKCgyNVswLTVdfDJbMC00XVswLTldfDFbMC05XXsyfXxbMS05XVswLTldPykoXC4oMjVbMC01XXwyWzAtNF1bMC05XXwxWzAtOV17Mn18WzEtOV0/WzAtOV0pKXszfXwoW2EtekEtWjAtOS1dK1wuKSpbYS16QS1aMC05LV0rXC4oY29tfGVkdXxnb3Z8aW50fG1pbHxuZXR8b3JnfGJpenxhcnBhfGluZm98bmFtZXxwcm98YWVyb3xjb29wfG11c2V1bXxbYS16QS1aXXsyfSkpKDpbMC05XSspKihcLygkfFthLXpBLVowLTkuLD8nXFwrJiUkIz1+Xy1dKykpKiQvOwogIHJldHVybiByZWcudGVzdCh1cmwpOwp9CgovKioNCiAqIEBwYXJhbSB7c3RyaW5nfSBzdHINCiAqIEByZXR1cm5zIHtCb29sZWFufQ0KICovCmZ1bmN0aW9uIHZhbGlkTG93ZXJDYXNlKHN0cikgewogIHZhciByZWcgPSAvXlthLXpdKyQvOwogIHJldHVybiByZWcudGVzdChzdHIpOwp9CgovKioNCiAqIEBwYXJhbSB7c3RyaW5nfSBzdHINCiAqIEByZXR1cm5zIHtCb29sZWFufQ0KICovCmZ1bmN0aW9uIHZhbGlkVXBwZXJDYXNlKHN0cikgewogIHZhciByZWcgPSAvXltBLVpdKyQvOwogIHJldHVybiByZWcudGVzdChzdHIpOwp9CgovKioNCiAqIEBwYXJhbSB7c3RyaW5nfSBzdHINCiAqIEByZXR1cm5zIHtCb29sZWFufQ0KICovCmZ1bmN0aW9uIHZhbGlkQWxwaGFiZXRzKHN0cikgewogIHZhciByZWcgPSAvXltBLVphLXpdKyQvOwogIHJldHVybiByZWcudGVzdChzdHIpOwp9CgovKioNCiAqIEBwYXJhbSB7c3RyaW5nfSBlbWFpbA0KICogQHJldHVybnMge0Jvb2xlYW59DQogKi8KZnVuY3Rpb24gdmFsaWRFbWFpbChlbWFpbCkgewogIHZhciByZWcgPSAvXigoW148PigpXFtcXVxcLiw7OlxzQCJdKyhcLltePD4oKVxbXF1cXC4sOzpcc0AiXSspKil8KCIuKyIpKUAoKFxbWzAtOV17MSwzfVwuWzAtOV17MSwzfVwuWzAtOV17MSwzfVwuWzAtOV17MSwzfVxdKXwoKFthLXpBLVpcLTAtOV0rXC4pK1thLXpBLVpdezIsfSkpJC87CiAgcmV0dXJuIHJlZy50ZXN0KGVtYWlsKTsKfQoKLyoqDQogKiBAcGFyYW0ge3N0cmluZ30gc3RyDQogKiBAcmV0dXJucyB7Qm9vbGVhbn0NCiAqLwpmdW5jdGlvbiBpc1N0cmluZyhzdHIpIHsKICByZXR1cm4gdHlwZW9mIHN0ciA9PT0gJ3N0cmluZycgfHwgc3RyIGluc3RhbmNlb2YgU3RyaW5nOwp9CgovKioNCiAqIEBwYXJhbSB7QXJyYXl9IGFyZw0KICogQHJldHVybnMge0Jvb2xlYW59DQogKi8KZnVuY3Rpb24gaXNBcnJheShhcmcpIHsKICBpZiAodHlwZW9mIEFycmF5LmlzQXJyYXkgPT09ICd1bmRlZmluZWQnKSB7CiAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGFyZykgPT09ICdbb2JqZWN0IEFycmF5XSc7CiAgfQogIHJldHVybiBBcnJheS5pc0FycmF5KGFyZyk7Cn0KCi8qKg0KICog5a+G56CB55qE5q2j5YiZ6KGo6L6+5byPIOacgOWwkTjkuKrlrZfnrKbvvIzmnIDlpJoyMOS4quWtl+espu+8jOiHs+WwkeS4gOS4quWtl+avje+8jOS4gOS4quaVsOWtl+WSjOS4gOS4queJueauiuWtl+espu+8mg0KICogQHBhcmFtIHtzdHJpbmd9IHBhc3N3b3JkDQogKiBAcmV0dXJucyB7Qm9vbGVhbn0NCiAqLwpmdW5jdGlvbiB2YWxpZFB3ZCh2YWx1ZSkgewogIHZhciByZWcgPSAvXig/PS4qW0EtWmEtel0pKD89LipcZCkoPz0uKltAJCElKiM/Jl0pW0EtWmEtelxkQCQhJSojPyZdezgsMjB9JC87CiAgcmV0dXJuIHJlZy50ZXN0KHZhbHVlKTsKfQpmdW5jdGlvbiB2YWxpZGF0ZU5ld1Bhc3N3b3JkKHJ1bGUsIHZhbHVlLCBjYWxsYmFjaykgewogIC8vIOS9v+eUqOmFjee9ruaWh+S7tuS4reeahOetlueVpei/m+ihjOmqjOivgQoKICAvLyAxLiDmo4Dmn6Xlr4bnoIHplb/luqYKICBpZiAodmFsdWUubGVuZ3RoIDwgc3lzdGVtQ29uZmlnLnBhc3N3b3JkQ29uZmlnLm1pbkxlbmd0aCB8fCB2YWx1ZS5sZW5ndGggPiBzeXN0ZW1Db25maWcucGFzc3dvcmRDb25maWcubWF4TGVuZ3RoKSB7CiAgICBjYWxsYmFjayhuZXcgRXJyb3IoJ+WvhueggemVv+W6puW6lOS4uicgKyBzeXN0ZW1Db25maWcucGFzc3dvcmRDb25maWcubWluTGVuZ3RoICsgJ+iHsycgKyBzeXN0ZW1Db25maWcucGFzc3dvcmRDb25maWcubWF4TGVuZ3RoICsgJ+S9je+8gScpKTsKICAgIHJldHVybjsKICB9CgogIC8vIDIuIOajgOafpeWvhueggeWkjeadguW6pgogIHZhciBoYXNVcHBlckNhc2UgPSAvW0EtWl0vLnRlc3QodmFsdWUpOwogIHZhciBoYXNMb3dlckNhc2UgPSAvW2Etel0vLnRlc3QodmFsdWUpOwogIHZhciBoYXNEaWdpdCA9IC9cZC8udGVzdCh2YWx1ZSk7CiAgdmFyIGhhc1NwZWNpYWxDaGFyID0gL1shQCMkJV4mKigpLC4/Ijp7fXw8Pl0vLnRlc3QodmFsdWUpOwogIGlmIChzeXN0ZW1Db25maWcucGFzc3dvcmRDb25maWcucmVxdWlyZVVwcGVyQ2FzZSAmJiAhaGFzVXBwZXJDYXNlKSB7CiAgICBjYWxsYmFjayhuZXcgRXJyb3IoJ+WvhueggeW/hemhu+WMheWQq+Wkp+WGmeWtl+avje+8gScpKTsKICAgIHJldHVybjsKICB9CiAgaWYgKHN5c3RlbUNvbmZpZy5wYXNzd29yZENvbmZpZy5yZXF1aXJlTG93ZXJDYXNlICYmICFoYXNMb3dlckNhc2UpIHsKICAgIGNhbGxiYWNrKG5ldyBFcnJvcign5a+G56CB5b+F6aG75YyF5ZCr5bCP5YaZ5a2X5q+N77yBJykpOwogICAgcmV0dXJuOwogIH0KICBpZiAoc3lzdGVtQ29uZmlnLnBhc3N3b3JkQ29uZmlnLnJlcXVpcmVEaWdpdCAmJiAhaGFzRGlnaXQpIHsKICAgIGNhbGxiYWNrKG5ldyBFcnJvcign5a+G56CB5b+F6aG75YyF5ZCr5pWw5a2X77yBJykpOwogICAgcmV0dXJuOwogIH0KICBpZiAoc3lzdGVtQ29uZmlnLnBhc3N3b3JkQ29uZmlnLnJlcXVpcmVTcGVjaWFsQ2hhciAmJiAhaGFzU3BlY2lhbENoYXIpIHsKICAgIGNhbGxiYWNrKG5ldyBFcnJvcign5a+G56CB5b+F6aG75YyF5ZCr54m55q6K5a2X56ym77yBJykpOwogICAgcmV0dXJuOwogIH0KICAvLyAzLiDmo4Dmn6XmmK/lkKbljIXlkKvlvLHlr4bnoIEKICB2YXIgX2l0ZXJhdG9yID0gKDAsIF9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyMi5kZWZhdWx0KShzeXN0ZW1Db25maWcucGFzc3dvcmRDb25maWcud2Vha1Bhc3N3b3JkcyksCiAgICBfc3RlcDsKICB0cnkgewogICAgZm9yIChfaXRlcmF0b3IucygpOyAhKF9zdGVwID0gX2l0ZXJhdG9yLm4oKSkuZG9uZTspIHsKICAgICAgdmFyIHdlYWtQd2QgPSBfc3RlcC52YWx1ZTsKICAgICAgLy8g5bCG5a+G56CB5ZKM5byx5a+G56CB6YO96L2s5o2i5Li65bCP5YaZ6L+b6KGM5q+U6L6DCiAgICAgIGlmICh2YWx1ZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHdlYWtQd2QudG9Mb3dlckNhc2UoKSkpIHsKICAgICAgICBjYWxsYmFjayhuZXcgRXJyb3IoIlx1NUJDNlx1NzgwMVx1NTMwNVx1NTQyQlx1NUUzOFx1ODlDMVx1NzY4NFx1NUYzMVx1NUJDNlx1NzgwMVx1NzI0N1x1NkJCNTogIi5jb25jYXQod2Vha1B3ZCkpKTsKICAgICAgICByZXR1cm47CiAgICAgIH0KICAgIH0KICAgIC8vIDQuIOajgOafpeaYr+WQpuWMheWQq+i2hei/h+inhOWumuaVsOmHj+eahOi/nue7reWtl+espgogIH0gY2F0Y2ggKGVycikgewogICAgX2l0ZXJhdG9yLmUoZXJyKTsKICB9IGZpbmFsbHkgewogICAgX2l0ZXJhdG9yLmYoKTsKICB9CiAgaWYgKHN5c3RlbUNvbmZpZy5wYXNzd29yZENvbmZpZy5yZXN0cmljdENvbnNlY3V0aXZlQ2hhcnMgJiYgY29udGFpbnNDb25zZWN1dGl2ZUNoYXJhY3RlcnModmFsdWUsIHN5c3RlbUNvbmZpZy5wYXNzd29yZENvbmZpZy5tYXhDb25zZWN1dGl2ZUNoYXJzKSkgewogICAgY2FsbGJhY2sobmV3IEVycm9yKCJcdTVCQzZcdTc4MDFcdTRFMERcdTgwRkRcdTUzMDVcdTU0MkJcdThEODVcdThGQzciLmNvbmNhdChzeXN0ZW1Db25maWcucGFzc3dvcmRDb25maWcubWF4Q29uc2VjdXRpdmVDaGFycywgIlx1NEY0RFx1OEZERVx1N0VFRFx1NUI1N1x1N0IyNlx1RkYwMSIpKSk7CiAgICByZXR1cm47CiAgfQogIGNhbGxiYWNrKCk7IC8vIOmqjOivgeaIkOWKnwp9CgovKioNCiAqIOajgOafpeWvhueggeS4reaYr+WQpuWMheWQq+i2hei/hyBuIOS4qui/nue7reebuOWQjOWtl+espuOAgei/nue7remAkuWini/pgJLlh4/nmoTmlbDlrZfmiJblrZfmr43vvIjkuI3ljLrliIblpKflsI/lhpnvvIkNCiAqLwpmdW5jdGlvbiBjb250YWluc0NvbnNlY3V0aXZlQ2hhcmFjdGVycyhwYXNzd29yZCwgbikgewogIC8vIOajgOafpei/nue7reebuOWQjOWtl+espgogIG4gPSBuICsgMTsgLy8g5YWB6K645pyA5aSaIG4g5Liq6L+e57ut5a2X56ymCiAgZm9yICh2YXIgaSA9IDA7IGkgPD0gcGFzc3dvcmQubGVuZ3RoIC0gbjsgaSsrKSB7CiAgICB2YXIgY29uc2VjdXRpdmVTYW1lQ2hhciA9IHRydWU7CiAgICBmb3IgKHZhciBqID0gMTsgaiA8IG47IGorKykgewogICAgICBpZiAocGFzc3dvcmRbaSArIGpdICE9PSBwYXNzd29yZFtpXSkgewogICAgICAgIGNvbnNlY3V0aXZlU2FtZUNoYXIgPSBmYWxzZTsKICAgICAgICBicmVhazsKICAgICAgfQogICAgfQogICAgaWYgKGNvbnNlY3V0aXZlU2FtZUNoYXIpIHsKICAgICAgcmV0dXJuIHRydWU7IC8vIOWMheWQq+i2hei/hyBuIOS4qui/nue7reebuOWQjOWtl+espgogICAgfQogIH0KCiAgLy8g5qOA5p+l6L+e57ut6YCS5aKe5oiW6YCS5YeP55qE5pWw5a2XCiAgZm9yICh2YXIgX2kgPSAwOyBfaSA8PSBwYXNzd29yZC5sZW5ndGggLSBuOyBfaSsrKSB7CiAgICB2YXIgY29uc2VjdXRpdmVJbmNyZWFzaW5nID0gdHJ1ZTsKICAgIHZhciBjb25zZWN1dGl2ZURlY3JlYXNpbmcgPSB0cnVlOwogICAgZm9yICh2YXIgX2ogPSAxOyBfaiA8IG47IF9qKyspIHsKICAgICAgdmFyIGN1cnJlbnRDaGFyID0gcGFzc3dvcmRbX2ldOwogICAgICB2YXIgbmV4dENoYXIgPSBwYXNzd29yZFtfaSArIF9qXTsKCiAgICAgIC8vIOajgOafpeaVsOWtl+mAkuWinuaIlumAkuWHjwogICAgICBpZiAoL1xkLy50ZXN0KGN1cnJlbnRDaGFyKSAmJiAvXGQvLnRlc3QobmV4dENoYXIpKSB7CiAgICAgICAgaWYgKG5leHRDaGFyLmNoYXJDb2RlQXQoMCkgIT09IGN1cnJlbnRDaGFyLmNoYXJDb2RlQXQoMCkgKyBfaikgewogICAgICAgICAgY29uc2VjdXRpdmVJbmNyZWFzaW5nID0gZmFsc2U7CiAgICAgICAgfQogICAgICAgIGlmIChuZXh0Q2hhci5jaGFyQ29kZUF0KDApICE9PSBjdXJyZW50Q2hhci5jaGFyQ29kZUF0KDApIC0gX2opIHsKICAgICAgICAgIGNvbnNlY3V0aXZlRGVjcmVhc2luZyA9IGZhbHNlOwogICAgICAgIH0KICAgICAgfSBlbHNlIHsKICAgICAgICBjb25zZWN1dGl2ZUluY3JlYXNpbmcgPSBmYWxzZTsKICAgICAgICBjb25zZWN1dGl2ZURlY3JlYXNpbmcgPSBmYWxzZTsKICAgICAgICBicmVhazsKICAgICAgfQogICAgfQogICAgaWYgKGNvbnNlY3V0aXZlSW5jcmVhc2luZyB8fCBjb25zZWN1dGl2ZURlY3JlYXNpbmcpIHsKICAgICAgcmV0dXJuIHRydWU7IC8vIOWMheWQq+i2hei/hyBuIOS4qumAkuWinuaIlumAkuWHj+eahOi/nue7reaVsOWtlwogICAgfQogIH0KCiAgLy8g5qOA5p+l6L+e57ut6YCS5aKe5oiW6YCS5YeP55qE5a2X5q+N77yI5LiN5Yy65YiG5aSn5bCP5YaZ77yJCiAgZm9yICh2YXIgX2kyID0gMDsgX2kyIDw9IHBhc3N3b3JkLmxlbmd0aCAtIG47IF9pMisrKSB7CiAgICB2YXIgX2NvbnNlY3V0aXZlSW5jcmVhc2luZyA9IHRydWU7CiAgICB2YXIgX2NvbnNlY3V0aXZlRGVjcmVhc2luZyA9IHRydWU7CiAgICBmb3IgKHZhciBfajIgPSAxOyBfajIgPCBuOyBfajIrKykgewogICAgICB2YXIgX2N1cnJlbnRDaGFyID0gcGFzc3dvcmRbX2kyXS50b0xvd2VyQ2FzZSgpOyAvLyDovazkuLrlsI/lhpkKICAgICAgdmFyIF9uZXh0Q2hhciA9IHBhc3N3b3JkW19pMiArIF9qMl0udG9Mb3dlckNhc2UoKTsgLy8g6L2s5Li65bCP5YaZCgogICAgICAvLyDmo4Dmn6XlrZfmr43pgJLlop7miJbpgJLlh48KICAgICAgaWYgKC9bYS16QS1aXS8udGVzdChfY3VycmVudENoYXIpICYmIC9bYS16QS1aXS8udGVzdChfbmV4dENoYXIpKSB7CiAgICAgICAgaWYgKF9uZXh0Q2hhci5jaGFyQ29kZUF0KDApICE9PSBfY3VycmVudENoYXIuY2hhckNvZGVBdCgwKSArIF9qMikgewogICAgICAgICAgX2NvbnNlY3V0aXZlSW5jcmVhc2luZyA9IGZhbHNlOwogICAgICAgIH0KICAgICAgICBpZiAoX25leHRDaGFyLmNoYXJDb2RlQXQoMCkgIT09IF9jdXJyZW50Q2hhci5jaGFyQ29kZUF0KDApIC0gX2oyKSB7CiAgICAgICAgICBfY29uc2VjdXRpdmVEZWNyZWFzaW5nID0gZmFsc2U7CiAgICAgICAgfQogICAgICB9IGVsc2UgewogICAgICAgIF9jb25zZWN1dGl2ZUluY3JlYXNpbmcgPSBmYWxzZTsKICAgICAgICBfY29uc2VjdXRpdmVEZWNyZWFzaW5nID0gZmFsc2U7CiAgICAgICAgYnJlYWs7CiAgICAgIH0KICAgIH0KICAgIGlmIChfY29uc2VjdXRpdmVJbmNyZWFzaW5nIHx8IF9jb25zZWN1dGl2ZURlY3JlYXNpbmcpIHsKICAgICAgcmV0dXJuIHRydWU7IC8vIOWMheWQq+i2hei/hyBuIOS4qumAkuWinuaIlumAkuWHj+eahOi/nue7reWtl+avjQogICAgfQogIH0KCiAgLy8g5LiN5YyF5ZCr6L+e57ut55u45ZCM5a2X56ym44CB5pWw5a2X5oiW5a2X5q+N5bqP5YiXCiAgcmV0dXJuIGZhbHNlOwp9"},{"version":3,"names":["systemConfig","JSON","parse","localStorage","getItem","isExternal","path","test","validUsername","str","valid_map","indexOf","trim","validURL","url","reg","validLowerCase","validUpperCase","validAlphabets","validEmail","email","isString","String","isArray","arg","Array","Object","prototype","toString","call","validPwd","value","validateNewPassword","rule","callback","length","passwordConfig","minLength","maxLength","Error","hasUpperCase","hasLowerCase","hasDigit","hasSpecialChar","requireUpperCase","requireLowerCase","requireDigit","requireSpecialChar","_iterator","_createForOfIteratorHelper2","default","weakPasswords","_step","s","n","done","weakPwd","toLowerCase","includes","concat","err","e","f","restrictConsecutiveChars","containsConsecutiveCharacters","maxConsecutiveChars","password","i","consecutiveSameChar","j","consecutiveIncreasing","consecutiveDecreasing","currentChar","nextChar","charCodeAt"],"sources":["F:/workspace/webstorm/SafetyScreen-ui2/src/utils/validate.js"],"sourcesContent":["const systemConfig = JSON.parse(localStorage.getItem('systemConfig'));\r\n/**\r\n * @param {string} path\r\n * @returns {Boolean}\r\n */\r\nexport function isExternal(path) {\r\n return /^(https?:|mailto:|tel:)/.test(path)\r\n}\r\n\r\n/**\r\n * @param {string} str\r\n * @returns {Boolean}\r\n */\r\nexport function validUsername(str) {\r\n const valid_map = ['admin', 'editor']\r\n return valid_map.indexOf(str.trim()) >= 0\r\n}\r\n\r\n/**\r\n * @param {string} url\r\n * @returns {Boolean}\r\n */\r\nexport function validURL(url) {\r\n const reg = /^(https?|ftp):\\/\\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\\.)*[a-zA-Z0-9-]+\\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\\/($|[a-zA-Z0-9.,?'\\\\+&%$#=~_-]+))*$/\r\n return reg.test(url)\r\n}\r\n\r\n/**\r\n * @param {string} str\r\n * @returns {Boolean}\r\n */\r\nexport function validLowerCase(str) {\r\n const reg = /^[a-z]+$/\r\n return reg.test(str)\r\n}\r\n\r\n/**\r\n * @param {string} str\r\n * @returns {Boolean}\r\n */\r\nexport function validUpperCase(str) {\r\n const reg = /^[A-Z]+$/\r\n return reg.test(str)\r\n}\r\n\r\n/**\r\n * @param {string} str\r\n * @returns {Boolean}\r\n */\r\nexport function validAlphabets(str) {\r\n const reg = /^[A-Za-z]+$/\r\n return reg.test(str)\r\n}\r\n\r\n/**\r\n * @param {string} email\r\n * @returns {Boolean}\r\n */\r\nexport function validEmail(email) {\r\n const reg = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\r\n return reg.test(email)\r\n}\r\n\r\n/**\r\n * @param {string} str\r\n * @returns {Boolean}\r\n */\r\nexport function isString(str) {\r\n return typeof str === 'string' || str instanceof String\r\n}\r\n\r\n/**\r\n * @param {Array} arg\r\n * @returns {Boolean}\r\n */\r\nexport function isArray(arg) {\r\n if (typeof Array.isArray === 'undefined') {\r\n return Object.prototype.toString.call(arg) === '[object Array]'\r\n }\r\n return Array.isArray(arg)\r\n}\r\n\r\n/**\r\n * 密码的正则表达式 最少8个字符,最多20个字符,至少一个字母,一个数字和一个特殊字符:\r\n * @param {string} password\r\n * @returns {Boolean}\r\n */\r\nexport function validPwd(value) {\r\n const reg = /^(?=.*[A-Za-z])(?=.*\\d)(?=.*[@$!%*#?&])[A-Za-z\\d@$!%*#?&]{8,20}$/\r\n return reg.test(value)\r\n}\r\n\r\nexport function validateNewPassword(rule, value, callback) {\r\n // 使用配置文件中的策略进行验证\r\n\r\n // 1. 检查密码长度\r\n if (value.length < systemConfig.passwordConfig.minLength || value.length > systemConfig.passwordConfig.maxLength) {\r\n callback(new Error('密码长度应为' + systemConfig.passwordConfig.minLength + '至' + systemConfig.passwordConfig.maxLength + '位!'))\r\n return\r\n }\r\n\r\n // 2. 检查密码复杂度\r\n const hasUpperCase = /[A-Z]/.test(value)\r\n const hasLowerCase = /[a-z]/.test(value)\r\n const hasDigit = /\\d/.test(value)\r\n const hasSpecialChar = /[!@#$%^&*(),.?\":{}|<>]/.test(value)\r\n\r\n if (systemConfig.passwordConfig.requireUpperCase && !hasUpperCase) {\r\n callback(new Error('密码必须包含大写字母!'))\r\n return\r\n }\r\n if (systemConfig.passwordConfig.requireLowerCase && !hasLowerCase) {\r\n callback(new Error('密码必须包含小写字母!'))\r\n return\r\n }\r\n if (systemConfig.passwordConfig.requireDigit && !hasDigit) {\r\n callback(new Error('密码必须包含数字!'))\r\n return\r\n }\r\n if (systemConfig.passwordConfig.requireSpecialChar && !hasSpecialChar) {\r\n callback(new Error('密码必须包含特殊字符!'))\r\n return\r\n }\r\n // 3. 检查是否包含弱密码\r\n for (const weakPwd of systemConfig.passwordConfig.weakPasswords) {\r\n // 将密码和弱密码都转换为小写进行比较\r\n if (value.toLowerCase().includes(weakPwd.toLowerCase())) {\r\n callback(new Error(`密码包含常见的弱密码片段: ${weakPwd}`))\r\n return\r\n }\r\n }\r\n // 4. 检查是否包含超过规定数量的连续字符\r\n if (systemConfig.passwordConfig.restrictConsecutiveChars && containsConsecutiveCharacters(value, systemConfig.passwordConfig.maxConsecutiveChars)) {\r\n callback(new Error(`密码不能包含超过${systemConfig.passwordConfig.maxConsecutiveChars}位连续字符!`))\r\n return\r\n }\r\n callback() // 验证成功\r\n}\r\n\r\n/**\r\n * 检查密码中是否包含超过 n 个连续相同字符、连续递增/递减的数字或字母(不区分大小写)\r\n */\r\nfunction containsConsecutiveCharacters(password, n) {\r\n // 检查连续相同字符\r\n n = n + 1; // 允许最多 n 个连续字符\r\n for (let i = 0; i <= password.length - n; i++) {\r\n let consecutiveSameChar = true;\r\n for (let j = 1; j < n; j++) {\r\n if (password[i + j] !== password[i]) {\r\n consecutiveSameChar = false;\r\n break;\r\n }\r\n }\r\n if (consecutiveSameChar) {\r\n return true; // 包含超过 n 个连续相同字符\r\n }\r\n }\r\n\r\n // 检查连续递增或递减的数字\r\n for (let i = 0; i <= password.length - n; i++) {\r\n let consecutiveIncreasing = true;\r\n let consecutiveDecreasing = true;\r\n for (let j = 1; j < n; j++) {\r\n const currentChar = password[i];\r\n const nextChar = password[i + j];\r\n\r\n // 检查数字递增或递减\r\n if (/\\d/.test(currentChar) && /\\d/.test(nextChar)) {\r\n if (nextChar.charCodeAt(0) !== currentChar.charCodeAt(0) + j) {\r\n consecutiveIncreasing = false;\r\n }\r\n if (nextChar.charCodeAt(0) !== currentChar.charCodeAt(0) - j) {\r\n consecutiveDecreasing = false;\r\n }\r\n } else {\r\n consecutiveIncreasing = false;\r\n consecutiveDecreasing = false;\r\n break;\r\n }\r\n }\r\n if (consecutiveIncreasing || consecutiveDecreasing) {\r\n return true; // 包含超过 n 个递增或递减的连续数字\r\n }\r\n }\r\n\r\n // 检查连续递增或递减的字母(不区分大小写)\r\n for (let i = 0; i <= password.length - n; i++) {\r\n let consecutiveIncreasing = true;\r\n let consecutiveDecreasing = true;\r\n for (let j = 1; j < n; j++) {\r\n const currentChar = password[i].toLowerCase(); // 转为小写\r\n const nextChar = password[i + j].toLowerCase(); // 转为小写\r\n\r\n // 检查字母递增或递减\r\n if (/[a-zA-Z]/.test(currentChar) && /[a-zA-Z]/.test(nextChar)) {\r\n if (nextChar.charCodeAt(0) !== currentChar.charCodeAt(0) + j) {\r\n consecutiveIncreasing = false;\r\n }\r\n if (nextChar.charCodeAt(0) !== currentChar.charCodeAt(0) - j) {\r\n consecutiveDecreasing = false;\r\n }\r\n } else {\r\n consecutiveIncreasing = false;\r\n consecutiveDecreasing = false;\r\n break;\r\n }\r\n }\r\n if (consecutiveIncreasing || consecutiveDecreasing) {\r\n return true; // 包含超过 n 个递增或递减的连续字母\r\n }\r\n }\r\n\r\n // 不包含连续相同字符、数字或字母序列\r\n return false;\r\n}\r\n\r\n\r\n"],"mappings":"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","ignoreList":[]}]} |