1 |
- {"remainingRequest":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/src/views/dataSimulation/playback.vue?vue&type=script&lang=js","dependencies":[{"path":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/src/views/dataSimulation/playback.vue","mtime":1708395041887},{"path":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/node_modules/cache-loader/dist/cjs.js","mtime":1708395146433},{"path":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/node_modules/babel-loader/lib/index.js","mtime":1708395147257},{"path":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/node_modules/cache-loader/dist/cjs.js","mtime":1708395146433},{"path":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/node_modules/vue-loader/lib/index.js","mtime":1708395147382}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCmltcG9ydCB2aWRlb0xpbmUgZnJvbSAiQC9jb21wb25lbnRzL3ZpZGVvUGxheWVyL3ZpZGVvTGluZSI7CmltcG9ydCB2aWRlb1BsYXllciBmcm9tICJAL2NvbXBvbmVudHMvdmlkZW9QbGF5ZXIvdmlkZW9QbGF5ZXIiOwppbXBvcnQgeyBpbnZpdGUsIGJhc2VDYW1lcmFNYW5hZ2VtZW50UGxheSB9IGZyb20gIkAvYXBpL3ZpZGVvIjsKaW1wb3J0IFZpZGVvIGZyb20gIkAvdmlld3MvZGFzaGJvYXJkL1ZpZGVvIjsKaW1wb3J0IHsgcmVjb3JkcywgbGluZURhdGUgfSBmcm9tICJAL2FwaS92aWRlbyI7CnZhciBkYXlqcyA9IHJlcXVpcmUoImRheWpzIik7CgovLyBwYWx5QW5kUGxheWJhY2sKLy8g5pKt5pS+5LiO5Zue5pS+CmV4cG9ydCBkZWZhdWx0IHsKICAgIG5hbWU6ICJQYWx5QW5kUGxheWJhY2siLAogICAgY29tcG9uZW50czogeyB2aWRlb0xpbmUsIHZpZGVvUGxheWVyLCBWaWRlbyB9LAogICAgZGF0YSgpIHsKICAgICAgICByZXR1cm4gewogICAgICAgICAgICBpc0Z1bGxTY3JlZW46IGZhbHNlLAogICAgICAgIH07CiAgICB9LAogICAgcHJvcHM6IHsKICAgICAgICB2aWRlb1R5cGU6IHsKICAgICAgICAgICAgLy8g6I+c5Y2V57G75Z6LCiAgICAgICAgICAgIHR5cGU6IE51bWJlciwKICAgICAgICAgICAgZGVmYXVsdCgpIHsKICAgICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICAgICAgY2hlY2tib3hBcnI6IHsKICAgICAgICAgICAgdHlwZTogQXJyYXksCiAgICAgICAgICAgIGRlZmF1bHQoKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gIiI7CiAgICAgICAgICAgIH0sCiAgICAgICAgfSwKICAgICAgICBnZXRBbGxDYW1lcmE6IHsKICAgICAgICAgICAgdHlwZTogQXJyYXksCiAgICAgICAgICAgIGRlZmF1bHQoKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gIiI7CiAgICAgICAgICAgIH0sCiAgICAgICAgfSwKICAgICAgICBjYW1lcmFDb2RlOiB7CiAgICAgICAgICAgIC8vIOaRhOWDj+acumNvZGUKICAgICAgICAgICAgdHlwZTogU3RyaW5nLAogICAgICAgICAgICBkZWZhdWx0KCkgewogICAgICAgICAgICAgICAgcmV0dXJuICIiOwogICAgICAgICAgICB9LAogICAgICAgIH0sCiAgICAgICAgYWxhcm1UaW1lOiB7CiAgICAgICAgICAgIC8vIOaKpeitpuaXtumXtAogICAgICAgICAgICB0eXBlOiBTdHJpbmcsCiAgICAgICAgICAgIGRlZmF1bHQoKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gIiI7CiAgICAgICAgICAgIH0sCiAgICAgICAgfSwKICAgIH0sCiAgICB3YXRjaDogewogICAgICAgIGNoZWNrYm94QXJyOiB7CiAgICAgICAgICAgIGhhbmRsZXIocmVzKSB7CiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhyZXMpOwogICAgICAgICAgICB9LAogICAgICAgICAgICBkZWVwOiB0cnVlLAogICAgICAgIH0sCiAgICAgICAgY2FtZXJhQ29kZShuZXdWYWx1ZSkgewogICAgICAgICAgICBjb25zb2xlLmxvZyhuZXdWYWx1ZSwgIjExMSIpOwogICAgICAgICAgICB0aGlzLmNhbWVyYUNvZGVWaWRlbyA9IG5ld1ZhbHVlOwogICAgICAgIH0sCiAgICAgICAgY2FtZXJhQ29kZVZpZGVvKG5ld1ZhbHVlKSB7CiAgICAgICAgICAgIHJlY29yZHMobmV3VmFsdWUsIHRydWUpPy50aGVuKChyZXMpID0+IHsKICAgICAgICAgICAgICAgIHRoaXMuc3JjID0gcmVzLmRhdGEgKyAiPyIgKyBNYXRoLnJhbmRvbSgpOwogICAgICAgICAgICB9KTsKICAgICAgICB9LAogICAgICAgIHZpZGVvVHlwZShuZXdWYWx1ZSkgewogICAgICAgICAgICB0aGlzLl92aWRlb1R5cGUgPSBuZXdWYWx1ZSB8fCAxOwogICAgICAgICAgICB0aGlzLmhhbmRsZVNlbGVjdCh0aGlzLl92aWRlb1R5cGUpOwogICAgICAgIH0sCiAgICAgICAgdmlkZW9MaXN0VHlwZSgpIHsKICAgICAgICAgICAgY29uc29sZS5sb2codGhpcy52aWRlb0xpc3RUeXBlKTsKICAgICAgICB9LAogICAgfSwKICAgIGRhdGEoKSB7CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgdmlkZW9MaXN0VHlwZTogMCwgLy8gW+WPs+iAjF3lvZPliY10YWLnsbvlnosKICAgICAgICAgICAgX3ZpZGVvVHlwZTogMSwKICAgICAgICAgICAgdGFibGVEYXRhOiBbXSwKICAgICAgICAgICAgaXNUaW1lOiBmYWxzZSwKICAgICAgICAgICAgc3JjOiAiIiwKICAgICAgICAgICAgY2FtZXJhQ29kZVZpZGVvOiAiIiwKICAgICAgICAgICAgcGlja2VyT3B0aW9uczogewogICAgICAgICAgICAgICAgb25QaWNrOiAodGltZSkgPT4gewogICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHRpbWUsICJ0aW1lIik7CiAgICAgICAgICAgICAgICAgICAgdGhpcy5taW5EYXRlID0gdGltZS5taW5EYXRlOwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIGRpc2FibGVkRGF0ZTogKHRpbWUsIHBpY2tlcikgPT4gewogICAgICAgICAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5taW5EYXRlICYmCiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0VEltZSh0aGlzLm1pbkRhdGUpICE9IHRoaXMuZ2V0VEltZSh0aW1lKQogICAgICAgICAgICAgICAgICAgICkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRpbWUuZ2V0VGltZSgpID4gRGF0ZS5ub3coKTsKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGNhbWVyYUNvZGVVcmw6ICIiLAogICAgICAgICAgICBlbXB0eVRleHQ6ICIiLAogICAgICAgICAgICBwbGF5YmFja01vZGFsOiB7CiAgICAgICAgICAgICAgICAvLyDlm57mlL7mqKHlnZcKICAgICAgICAgICAgICAgIHNob3c6IGZhbHNlLAogICAgICAgICAgICAgICAgZGF0ZTogIiIsIC8vIOaXpeacnwogICAgICAgICAgICAgICAgdGltZTogIiIsIC8vIOaXtumXtAogICAgICAgICAgICB9LAogICAgICAgIH07CiAgICB9LAogICAgbW91bnRlZCgpIHsKICAgICAgICB0aGlzLmhhbmRsZVNlbGVjdCh0aGlzLl92aWRlb1R5cGUpOwogICAgICAgIHRoaXMuX3ZpZGVvVHlwZSA9IHRoaXMudmlkZW9UeXBlOwogICAgfSwKICAgIG1ldGhvZHM6IHsKICAgICAgICBuYXZDbGljayh2YWwpIHsKICAgICAgICAgICAgdGhpcy5fdmlkZW9UeXBlID0gdmFsOwogICAgICAgICAgICBBcnJheS5mcm9tKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi52aWRlb0RpdiB2aWRlbyIpKS5tYXAoCiAgICAgICAgICAgICAgICAoaXRlbSkgPT4gewogICAgICAgICAgICAgICAgICAgIGl0ZW0uY3VycmVudFRpbWUgPSAwOwogICAgICAgICAgICAgICAgICAgIGl0ZW0ucGxheSgpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApOwogICAgICAgICAgICB0aGlzLiRmb3JjZVVwZGF0ZSgpOwogICAgICAgIH0sCiAgICAgICAgdG9nZ2xlRnVsbFNjcmVlbigpIHsKICAgICAgICAgICAgY29uc3QgZnVsbHNjcmVlbk1vZHVsZSA9IHRoaXMuJHJlZnMuZnVsbHNjcmVlbk1vZHVsZTsKCiAgICAgICAgICAgIGlmICghdGhpcy5pc0Z1bGxTY3JlZW4pIHsKICAgICAgICAgICAgICAgIGZ1bGxzY3JlZW5Nb2R1bGUucmVxdWVzdEZ1bGxzY3JlZW4oKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGRvY3VtZW50LmV4aXRGdWxsc2NyZWVuKCk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHRoaXMuaXNGdWxsU2NyZWVuID0gIXRoaXMuaXNGdWxsU2NyZWVuOwogICAgICAgIH0sCiAgICAgICAgLy8g6KeG6aKR5qih5Z2X5YiH5o2iCiAgICAgICAgdmlkZW9MaXN0VHlwZUNoYW5nZSh0eXBlLCB2YWwpIHsKICAgICAgICAgICAgdGhpcy5udW1JbmRleCA9IDA7CiAgICAgICAgICAgIGNvbnNvbGUubG9nKCJb6KeG6aKR5YiH5o2iMTExMTExMTFdIiwgdHlwZSk7CiAgICAgICAgICAgIHRoaXMubnVtYmVyVmlkZW9zID0gdHlwZTsKCiAgICAgICAgICAgIHRoaXMudmlkZW9MaXN0VHlwZSA9IHR5cGU7CiAgICAgICAgICAgIHZhciBfaW5kZXggPSB0eXBlID09PSAxID8gNCA6IDE7CiAgICAgICAgICAgIHRoaXMuJGVtaXQoImdldFR5cGUiLCB0eXBlKTsKICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7CiAgICAgICAgICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgX2luZGV4OyBpbmRleCsrKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGl0ZW0gPSBBcnJheS5mcm9tKAogICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuZWwtbWVudSAuZWwtY2hlY2tib3giKQogICAgICAgICAgICAgICAgICAgIClbaW5kZXhdOwogICAgICAgICAgICAgICAgICAgIGlmICghaXRlbS5xdWVyeVNlbGVjdG9yKCJpbnB1dCIpLmNoZWNrZWQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5jbGljaygpOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSwgODAwKTsKICAgICAgICAgICAgLy8gdGhpcy52aWRlb0luaXQoKTsKICAgICAgICAgICAgLy8gdGhpcy52aWRlb1RyZWVJbml0KCk7CiAgICAgICAgfSwKICAgICAgICBnZXRUSW1lKHRpbWUpIHsKICAgICAgICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHRpbWUpOwogICAgICAgICAgICBjb25zdCB5ZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpOyAvLyDojrflj5blubTku70KICAgICAgICAgICAgY29uc3QgbW9udGggPSBkYXRlLmdldE1vbnRoKCkgKyAxOyAvLyDojrflj5bmnIjku73vvIzpnIDopoHliqAxCiAgICAgICAgICAgIGNvbnN0IGRheSA9IGRhdGUuZ2V0RGF0ZSgpOyAvLyDojrflj5bml6XmnJ8KICAgICAgICAgICAgY29uc3QgZnVsbERhdGUgPSBgJHt5ZWFyfS0ke21vbnRoIDwgMTAgPyAiMCIgKyBtb250aCA6IG1vbnRofS0kewogICAgICAgICAgICAgICAgZGF5IDwgMTAgPyAiMCIgKyBkYXkgOiBkYXkKICAgICAgICAgICAgfWA7CiAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZShmdWxsRGF0ZSkuZ2V0VGltZSgpOwogICAgICAgIH0sCiAgICAgICAgaGFuZGxlU2VsZWN0KHZhbCA9IDEpIHsKICAgICAgICAgICAgY29uc29sZS5sb2coIlvop4bpopHmnI3liqFddGFi5YiH5o2iIiwgdmFsKTsKICAgICAgICAgICAgaWYgKHZhbCA9PSAxIHx8IHZhbCA9PSAyKSB7CiAgICAgICAgICAgICAgICB0aGlzLl92aWRlb1R5cGUgPSB2YWw7CiAgICAgICAgICAgICAgICB0aGlzLmNhbWVyYUNvZGVVcmwgPSAiIjsKICAgICAgICAgICAgICAgIHRoaXMuY2FtZXJhQ29kZVZpZGVvID0gdGhpcy5jYW1lcmFDb2RlOwogICAgICAgICAgICAgICAgdGhpcy50YWJsZURhdGEgPSBbXTsKICAgICAgICAgICAgICAgIHRoaXMucGxheWJhY2tNb2RhbC50aW1lID0gIiI7CiAgICAgICAgICAgICAgICB0aGlzLmlzVGltZSA9IGZhbHNlOwogICAgICAgICAgICAgICAgdGhpcy52aWRlb0xpc3RUeXBlQ2hhbmdlKDAsIHZhbCk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHRoaXMuJGVtaXQoInRhYkNoYW5nZSIsIHZhbCk7CiAgICAgICAgfSwKICAgICAgICBwbGF5YmFja01vZGFsU2hvdygpIHsKICAgICAgICAgICAgdGhpcy5wbGF5YmFja01vZGFsLnNob3cgPSB0cnVlOwogICAgICAgIH0sCiAgICAgICAgcGxheWJhY2tNb2RhbENsb3NlKCkgewogICAgICAgICAgICB0aGlzLmNhbWVyYUNvZGVVcmwgPSAiIjsKICAgICAgICAgICAgdGhpcy5jYW1lcmFDb2RlVmlkZW8gPSAiIjsKICAgICAgICAgICAgdGhpcy5wbGF5YmFja01vZGFsLnNob3cgPSBmYWxzZTsKICAgICAgICB9LAogICAgICAgIHRpbWVDaGFnZSgpIHsKICAgICAgICAgICAgY29uc29sZS5sb2coInRpbWVDaGFnZSIsIHRoaXMucGxheWJhY2tNb2RhbCk7CiAgICAgICAgICAgIGlmICh0aGlzLnBsYXliYWNrTW9kYWwuZGF0ZSAmJiB0aGlzLnBsYXliYWNrTW9kYWwudGltZS5sZW5ndGggPiAxKSB7CiAgICAgICAgICAgICAgICBiYXNlQ2FtZXJhTWFuYWdlbWVudFBsYXkoewogICAgICAgICAgICAgICAgICAgIGNhbWVyYUNvZGU6IHRoaXMuY2FtZXJhQ29kZSwKICAgICAgICAgICAgICAgICAgICBzdGFydFRpbWU6CiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucGxheWJhY2tNb2RhbC5kYXRlICsKICAgICAgICAgICAgICAgICAgICAgICAgIiAiICsKICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wbGF5YmFja01vZGFsLnRpbWVbMF0sCiAgICAgICAgICAgICAgICAgICAgZW50VGltZToKICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wbGF5YmFja01vZGFsLmRhdGUgKwogICAgICAgICAgICAgICAgICAgICAgICAiICIgKwogICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBsYXliYWNrTW9kYWwudGltZVsxXSwKICAgICAgICAgICAgICAgIH0pLnRoZW4oKHJlcykgPT4gewogICAgICAgICAgICAgICAgICAgIHRoaXMudGFibGVEYXRhID0gcmVzLmRhdGEgfHwgW107CiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2cocmVzLCAicmVzIik7CiAgICAgICAgICAgICAgICAgICAgLy8gaWYgKHJlcy5jb2RlID09ICIyMDAiICYmIHJlcy5kYXRhKSB7CiAgICAgICAgICAgICAgICAgICAgLy8gICB0aGlzLmNhbWVyYUNvZGVVcmwgPSByZXMuZGF0YTsKICAgICAgICAgICAgICAgICAgICAvLyAgIHRoaXMuY2FtZXJhQ29kZVZpZGVvID0gIiI7CiAgICAgICAgICAgICAgICAgICAgLy8gfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvLyAgIHRoaXMuY2FtZXJhQ29kZVVybCA9ICIiOwogICAgICAgICAgICAgICAgICAgIC8vICAgdGhpcy5jYW1lcmFDb2RlVmlkZW8gPSAiIjsKICAgICAgICAgICAgICAgICAgICAvLyAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IocmVzLm1zZyk7CiAgICAgICAgICAgICAgICAgICAgLy8gfQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHBsYXliYWNrTW9kYWxTdWNjZXNzKCkgewogICAgICAgICAgICB0aGlzLnBsYXliYWNrTW9kYWwuc2hvdyA9IGZhbHNlOwogICAgICAgIH0sCiAgICAgICAgcGxheShyb3cpIHsKICAgICAgICAgICAgdGhpcy5wbGF5YmFja01vZGFsLnNob3cgPSB0cnVlOwogICAgICAgICAgICBjb25zb2xlLmxvZyh0aGlzLnRhYmxlRGF0YSk7CiAgICAgICAgICAgIHRoaXMuJG5leHRUaWNrKCgpID0+IHsKICAgICAgICAgICAgICAgIGNvbnN0IGNvbmZpZyA9IHsKICAgICAgICAgICAgICAgICAgICBlbDogdGhpcy4kcmVmcy5tc2UsCiAgICAgICAgICAgICAgICAgICAgdXJsOiByb3cudXJsLAogICAgICAgICAgICAgICAgICAgIGZsdWlkOiB0cnVlLAogICAgICAgICAgICAgICAgICAgIHBsYXluZXh0OiB7CiAgICAgICAgICAgICAgICAgICAgICAgIHVybExpc3Q6IHRoaXMudGFibGVEYXRhLm1hcCgoaXRlbSkgPT4gaXRlbS51cmwpLAogICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICAgcG9zdGVyOiAiIiwKICAgICAgICAgICAgICAgICAgICBwbHVnaW5zOiBbXSwKICAgICAgICAgICAgICAgICAgICBpc0xpdmU6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgIGF1dG9wbGF5OiB0cnVlLAogICAgICAgICAgICAgICAgICAgIGF1dG9wbGF5TXV0ZWQ6IHRydWUsCiAgICAgICAgICAgICAgICB9OwoKICAgICAgICAgICAgICAgIGNvbmZpZy5wbHVnaW5zLnB1c2goRmx2UGxheWVyKTsKCiAgICAgICAgICAgICAgICB0aGlzLnBsYXllciA9IG5ldyBQbGF5ZXIoY29uZmlnKTsKICAgICAgICAgICAgICAgIC8vIHRoaXMucGxheWVyLm9uKEV2ZW50cy5QbEFZLCAoKSA9PiB7CiAgICAgICAgICAgICAgICAvLyAgIC8vIFRPRE8KICAgICAgICAgICAgICAgIC8vIH0pCiAgICAgICAgICAgIH0pOwogICAgICAgIH0sCiAgICAgICAgaW52aXRlKHN0YXJ0VGltZSwgZW50VGltZSkgewogICAgICAgICAgICBpbnZpdGUoewogICAgICAgICAgICAgICAgY2FtZXJhQ29kZTogdGhpcy5jYW1lcmFDb2RlLAogICAgICAgICAgICAgICAgc3RhcnRUaW1lOiBzdGFydFRpbWUsCiAgICAgICAgICAgICAgICBlbnRUaW1lOiBlbnRUaW1lLAogICAgICAgICAgICB9KS50aGVuKChyZXMpID0+IHsKICAgICAgICAgICAgICAgIGlmIChyZXMuY29kZSA9PSAiMjAwIiAmJiByZXMuZGF0YSkgewogICAgICAgICAgICAgICAgICAgIHRoaXMuY2FtZXJhQ29kZVVybCA9IHJlcy5kYXRhOwogICAgICAgICAgICAgICAgICAgIHRoaXMuY2FtZXJhQ29kZVZpZGVvID0gIiI7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIHRoaXMuY2FtZXJhQ29kZVVybCA9ICIiOwogICAgICAgICAgICAgICAgICAgIHRoaXMuY2FtZXJhQ29kZVZpZGVvID0gIiI7CiAgICAgICAgICAgICAgICAgICAgdGhpcy4kbWVzc2FnZS5lcnJvcihyZXMubXNnKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgfSwKICAgIH0sCn07Cg=="},{"version":3,"sources":["playback.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuLA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"playback.vue","sourceRoot":"src/views/dataSimulation","sourcesContent":["<template>\n <el-container style=\"padding: 15px 10px\">\n <el-header style=\"padding: 0px; height: 35px\">\n <div\n style=\"\n display: flex;\n justify-content: space-between;\n align-items: center;\n \"\n >\n <div style=\"display: flex\">\n <div\n style=\"\n width: 100px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n \"\n :style=\"{\n backgroundColor: _videoType == 1 ? '#2766dd' : '',\n color: _videoType == 1 ? '#fff' : '',\n }\"\n @click=\"navClick(1)\"\n >\n 实时监测\n </div>\n <div\n style=\"\n width: 100px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n \"\n :style=\"{\n backgroundColor: _videoType == 2 ? '#2766dd' : '',\n color: _videoType == 2 ? '#fff' : '',\n }\"\n @click=\"navClick(2)\"\n >\n 回放视频\n </div>\n </div>\n <div v-if=\"videoType\">\n <!-- 4分屏已选中 -->\n <img\n v-if=\"videoListType == 1\"\n src=\"@/assets/tag-2-select.png\"\n class=\"button-base\"\n @click=\"videoListTypeChange(1)\"\n />\n <!-- 4分屏未选中 -->\n <img\n v-else\n src=\"@/assets/tag-2.png\"\n class=\"button-base\"\n @click=\"videoListTypeChange(1)\"\n />\n\n <!-- 一分屏已选中 -->\n <div\n v-if=\"videoListType == 0\"\n class=\"button-base\"\n style=\"background-color: #017ebc\"\n ></div>\n <!-- 一分屏未选中 -->\n <img\n v-else\n src=\"@/assets/tag-1.png\"\n class=\"button-base\"\n @click=\"videoListTypeChange(0)\"\n />\n <!-- 九分屏已选中 -->\n <!-- <img\n v-if=\"videoListType == 2\"\n src=\"@/assets/tag-3-select.png\"\n class=\"button-base\"\n @click=\"videoListTypeChange(2)\"\n /> -->\n <!-- 全屏 -->\n\n <img\n v-else\n src=\"@/assets/fagnda.png\"\n class=\"button-base\"\n @click=\"videoListTypeChange(2)\"\n />\n <img\n v-if=\"videoListMagnify == false\"\n src=\"@/assets/fagnda.png\"\n class=\"fangda\"\n style=\"margin-right: 0\"\n @click=\"videoFullScreen\"\n />\n <img\n v-if=\"videoListMagnify == true\"\n src=\"@/assets/fagnda.png\"\n class=\"fangda\"\n style=\"margin-right: 10px\"\n @click=\"fullScreenChange\"\n />\n <!-- <div @click=\"toggleFullScreen\">放大</div> -->\n <img\n src=\"../../assets/放大.png\"\n class=\"fangda\"\n style=\"margin-right: 10px\"\n @click.stop=\"toggleFullScreen\"\n />\n </div>\n </div>\n </el-header>\n <el-main style=\"padding: 0px; overflow: auto\" :class=\"'className' + 1\">\n <div\n :class=\"{ fullscreen: isFullScreen }\"\n ref=\"fullscreenModule\"\n class=\"videoDiv\"\n v-if=\"videoListType == 1\"\n style=\"\n width: 100%;\n height: 100%;\n display: flex;\n flex-wrap: wrap;\n flex-direction: row;\n \"\n >\n <div\n v-for=\"(item, index) in 4\"\n style=\"\n width: 50%;\n height: 50%;\n float: left;\n border: 5px solid #fff;\n \"\n >\n <videoLine\n :camera-code=\"\n checkboxArr[index]\n ? checkboxArr[index].cameraCode\n : ''\n \"\n :items=\"false\"\n :all-camera=\"getAllCamera\"\n ></videoLine>\n <Video\n :src=\"checkboxArr[index] ? checkboxArr[index].src : ''\"\n />\n </div>\n </div>\n <div\n :class=\"{ fullscreen: isFullScreen }\"\n ref=\"fullscreenModule\"\n class=\"videoDiv\"\n v-if=\"videoListType == 0\"\n style=\"width: 100%; height: 100%\"\n >\n <videoLine\n :items=\"false\"\n :camera-code=\"cameraCode ? checkboxArr[0].cameraCode : ''\"\n ></videoLine>\n <Video :src=\"checkboxArr[0].src\" />\n </div>\n </el-main>\n\n <!-- 回放功能 -->\n <el-dialog\n :visible.sync=\"playbackModal.show\"\n v-if=\"playbackModal.show\"\n :before-close=\"playbackModalClose\"\n title=\"视频详情\"\n width=\"900px\"\n >\n <div>\n <videoLine :camera-code=\"cameraCode\"></videoLine>\n <div ref=\"mse\" style=\"width: 100%\"></div>\n </div>\n </el-dialog>\n </el-container>\n</template>\n \n <script>\nimport videoLine from \"@/components/videoPlayer/videoLine\";\nimport videoPlayer from \"@/components/videoPlayer/videoPlayer\";\nimport { invite, baseCameraManagementPlay } from \"@/api/video\";\nimport Video from \"@/views/dashboard/Video\";\nimport { records, lineDate } from \"@/api/video\";\nvar dayjs = require(\"dayjs\");\n\n// palyAndPlayback\n// 播放与回放\nexport default {\n name: \"PalyAndPlayback\",\n components: { videoLine, videoPlayer, Video },\n data() {\n return {\n isFullScreen: false,\n };\n },\n props: {\n videoType: {\n // 菜单类型\n type: Number,\n default() {\n return 1;\n },\n },\n checkboxArr: {\n type: Array,\n default() {\n return \"\";\n },\n },\n getAllCamera: {\n type: Array,\n default() {\n return \"\";\n },\n },\n cameraCode: {\n // 摄像机code\n type: String,\n default() {\n return \"\";\n },\n },\n alarmTime: {\n // 报警时间\n type: String,\n default() {\n return \"\";\n },\n },\n },\n watch: {\n checkboxArr: {\n handler(res) {\n console.log(res);\n },\n deep: true,\n },\n cameraCode(newValue) {\n console.log(newValue, \"111\");\n this.cameraCodeVideo = newValue;\n },\n cameraCodeVideo(newValue) {\n records(newValue, true)?.then((res) => {\n this.src = res.data + \"?\" + Math.random();\n });\n },\n videoType(newValue) {\n this._videoType = newValue || 1;\n this.handleSelect(this._videoType);\n },\n videoListType() {\n console.log(this.videoListType);\n },\n },\n data() {\n return {\n videoListType: 0, // [右而]当前tab类型\n _videoType: 1,\n tableData: [],\n isTime: false,\n src: \"\",\n cameraCodeVideo: \"\",\n pickerOptions: {\n onPick: (time) => {\n console.log(time, \"time\");\n this.minDate = time.minDate;\n },\n disabledDate: (time, picker) => {\n if (\n this.minDate &&\n this.getTIme(this.minDate) != this.getTIme(time)\n ) {\n return true;\n }\n return time.getTime() > Date.now();\n },\n },\n cameraCodeUrl: \"\",\n emptyText: \"\",\n playbackModal: {\n // 回放模块\n show: false,\n date: \"\", // 日期\n time: \"\", // 时间\n },\n };\n },\n mounted() {\n this.handleSelect(this._videoType);\n this._videoType = this.videoType;\n },\n methods: {\n navClick(val) {\n this._videoType = val;\n Array.from(document.querySelectorAll(\".videoDiv video\")).map(\n (item) => {\n item.currentTime = 0;\n item.play();\n }\n );\n this.$forceUpdate();\n },\n toggleFullScreen() {\n const fullscreenModule = this.$refs.fullscreenModule;\n\n if (!this.isFullScreen) {\n fullscreenModule.requestFullscreen();\n } else {\n document.exitFullscreen();\n }\n\n this.isFullScreen = !this.isFullScreen;\n },\n // 视频模块切换\n videoListTypeChange(type, val) {\n this.numIndex = 0;\n console.log(\"[视频切换11111111]\", type);\n this.numberVideos = type;\n\n this.videoListType = type;\n var _index = type === 1 ? 4 : 1;\n this.$emit(\"getType\", type);\n setTimeout(() => {\n for (let index = 0; index < _index; index++) {\n var item = Array.from(\n document.querySelectorAll(\".el-menu .el-checkbox\")\n )[index];\n if (!item.querySelector(\"input\").checked) {\n item.click();\n }\n }\n }, 800);\n // this.videoInit();\n // this.videoTreeInit();\n },\n getTIme(time) {\n const date = new Date(time);\n const year = date.getFullYear(); // 获取年份\n const month = date.getMonth() + 1; // 获取月份,需要加1\n const day = date.getDate(); // 获取日期\n const fullDate = `${year}-${month < 10 ? \"0\" + month : month}-${\n day < 10 ? \"0\" + day : day\n }`;\n return new Date(fullDate).getTime();\n },\n handleSelect(val = 1) {\n console.log(\"[视频服务]tab切换\", val);\n if (val == 1 || val == 2) {\n this._videoType = val;\n this.cameraCodeUrl = \"\";\n this.cameraCodeVideo = this.cameraCode;\n this.tableData = [];\n this.playbackModal.time = \"\";\n this.isTime = false;\n this.videoListTypeChange(0, val);\n }\n\n this.$emit(\"tabChange\", val);\n },\n playbackModalShow() {\n this.playbackModal.show = true;\n },\n playbackModalClose() {\n this.cameraCodeUrl = \"\";\n this.cameraCodeVideo = \"\";\n this.playbackModal.show = false;\n },\n timeChage() {\n console.log(\"timeChage\", this.playbackModal);\n if (this.playbackModal.date && this.playbackModal.time.length > 1) {\n baseCameraManagementPlay({\n cameraCode: this.cameraCode,\n startTime:\n this.playbackModal.date +\n \" \" +\n this.playbackModal.time[0],\n entTime:\n this.playbackModal.date +\n \" \" +\n this.playbackModal.time[1],\n }).then((res) => {\n this.tableData = res.data || [];\n console.log(res, \"res\");\n // if (res.code == \"200\" && res.data) {\n // this.cameraCodeUrl = res.data;\n // this.cameraCodeVideo = \"\";\n // } else {\n // this.cameraCodeUrl = \"\";\n // this.cameraCodeVideo = \"\";\n // this.$message.error(res.msg);\n // }\n });\n }\n },\n playbackModalSuccess() {\n this.playbackModal.show = false;\n },\n play(row) {\n this.playbackModal.show = true;\n console.log(this.tableData);\n this.$nextTick(() => {\n const config = {\n el: this.$refs.mse,\n url: row.url,\n fluid: true,\n playnext: {\n urlList: this.tableData.map((item) => item.url),\n },\n poster: \"\",\n plugins: [],\n isLive: false,\n autoplay: true,\n autoplayMuted: true,\n };\n\n config.plugins.push(FlvPlayer);\n\n this.player = new Player(config);\n // this.player.on(Events.PlAY, () => {\n // // TODO\n // })\n });\n },\n invite(startTime, entTime) {\n invite({\n cameraCode: this.cameraCode,\n startTime: startTime,\n entTime: entTime,\n }).then((res) => {\n if (res.code == \"200\" && res.data) {\n this.cameraCodeUrl = res.data;\n this.cameraCodeVideo = \"\";\n } else {\n this.cameraCodeUrl = \"\";\n this.cameraCodeVideo = \"\";\n this.$message.error(res.msg);\n }\n });\n },\n },\n};\n</script>\n \n <style >\n.className2 {\n position: relative;\n}\n.button-base {\n width: 25px;\n height: 18px;\n margin-right: 10px;\n cursor: pointer;\n float: right;\n}\n\n.fangda {\n cursor: pointer;\n width: 18px;\n height: 18px;\n margin-right: 10px;\n}\n.homeRight-video-operation {\n text-align: right;\n background: red;\n}\n</style>\n "]}]}
|