0774c1f8be0d5b175cd174e7a6e7ad8e.json 44 KB

1
  1. {"remainingRequest":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/node_modules/babel-loader/lib/index.js!/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/node_modules/hevue-img-preview/hevue-img-preview.vue?vue&type=script&lang=js","dependencies":[{"path":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/node_modules/hevue-img-preview/hevue-img-preview.vue","mtime":1708395147479},{"path":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/babel.config.js","mtime":1708395041663},{"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:aW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMubnVtYmVyLmNvbnN0cnVjdG9yLmpzIjsKLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCmV4cG9ydCBkZWZhdWx0IHsKICBuYW1lOiAnaGV2dWUtaW1nLXByZXZpZXcnLAogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICAvLyBpbWdXaWR0aDogMCwKICAgICAgLy8gaW1nSGVpZ2h0OiAwLAogICAgICB2aXNpYmxlOiBmYWxzZSwKICAgICAgLy8g5o+S5Lu25pi+56S677yM6buY6K6k5Li6ZmFsc2UKICAgICAgaW1nU2NhbGU6IDEsCiAgICAgIGltZ1RvcDogMCwKICAgICAgaW1nTGVmdDogMCwKICAgICAgaW1nUm90YXRlOiAwLAogICAgICBpc0Z1bGw6IGZhbHNlLAogICAgICBtYXhXSDogJ21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJTsnLAogICAgICBjbGllbnRYOiAwLAogICAgICBjbGllbnRZOiAwLAogICAgICBpbWdJbmRleDogMCwKICAgICAgY2FuUnVuOiB0cnVlLAogICAgICBpbWd1cmw6ICcnLAogICAgICBpbWdTdGF0ZTogMSwKICAgICAgc3RhcnQ6IFt7fSwge31dLAogICAgICBtb2JpbGVTY2FsZTogMCwKICAgICAgLy8g5omL5oyH56a75byA5pe25Zu+54mH55qE57yp5pS+5q+U5L6LCiAgICAgIC8vIOS7peS4i+WGheWuueS4uueUqOaIt+S8oOWFpemFjee9rgogICAgICAvLyBzaG93OiB0cnVlLCAvLyDmj5Lku7bmmL7npLrvvIzpu5jorqTkuLpmYWxzZQogICAgICB1cmw6ICcnLAogICAgICAvLyDpooTop4jlm77niYfnmoTlnLDlnYAKICAgICAgbm93SW1nSW5kZXg6IDAsCiAgICAgIG11bHRpcGxlOiBmYWxzZSwKICAgICAgaW1nTGlzdDogW10sCiAgICAgIC8vIOS7peS4i+S4uuWPr+WFqOWxgOmFjee9rgogICAgICBjb250cm9sQmFyOiB0cnVlLAogICAgICBjbG9zZUJ0bjogdHJ1ZSwKICAgICAgYXJyb3dCdG46IHRydWUsCiAgICAgIGtleWJvYXJkOiBmYWxzZSwKICAgICAgY2xpY2tNYXNrQ0xvc2U6IGZhbHNlLAogICAgICAvLyDmmK/lkKbngrnlh7vpga7nvanlhbPpl63vvIzpu5jorqRmYWxzZQogICAgICBjbG9zZUZuOiBudWxsLAogICAgICAvLyDlhbPpl63lm57osIPlh73mlbAKICAgICAgY2hhbmdlRm46IG51bGwgLy8g5YiH5o2i5Zu+54mH5Zue6LCD5Ye95pWwCiAgICB9OwogIH0sCiAgbW91bnRlZDogZnVuY3Rpb24gbW91bnRlZCgpIHsKICAgIHRoaXMuaW5pdEltZygpOwogIH0sCiAgd2F0Y2g6IHsKICAgIHVybDogZnVuY3Rpb24gdXJsKCkgewogICAgICB0aGlzLmluaXRJbWcoKTsKICAgIH0sCiAgICB2aXNpYmxlOiB7CiAgICAgIGhhbmRsZXI6IGZ1bmN0aW9uIGhhbmRsZXIobmV3VikgewogICAgICAgIHZhciBfdGhpcyA9IHRoaXM7CiAgICAgICAgaWYgKG5ld1YpIHsKICAgICAgICAgIHRoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgdmFyIF9kb20gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaGV2dWUtaW1ncHJldmlldy13cmFwJyk7CiAgICAgICAgICAgIF9kb20ub25tb3VzZXdoZWVsID0gX3RoaXMuc2Nyb2xsRnVuYzsKICAgICAgICAgICAgLy8g54Gr54uQ5rWP6KeI5Zmo5rKh5pyJb25tb3VzZXdoZWVs5LqL5Lu277yM55SoRE9NTW91c2VTY3JvbGzku6Pmm78o5rua6L2u5LqL5Lu2KQogICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTU1vdXNlU2Nyb2xsJywgX3RoaXMuc2Nyb2xsRnVuYyk7CiAgICAgICAgICAgIC8vIOemgeatoueBq+eLkOa1j+iniOWZqOS4i+aLluaLveWbvueJh+eahOm7mOiupOS6i+S7tgogICAgICAgICAgICBkb2N1bWVudC5vbmRyYWdzdGFydCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIC8vIOWIpOaWreaYr+WQpuWkmuWbvgogICAgICAgICAgICBpZiAoX3RoaXMubXVsdGlwbGUpIHsKICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShfdGhpcy5pbWdMaXN0KSAmJiBfdGhpcy5pbWdMaXN0Lmxlbmd0aCA+IDApIHsKICAgICAgICAgICAgICAgIF90aGlzLmltZ0luZGV4ID0gTnVtYmVyKF90aGlzLm5vd0ltZ0luZGV4KSB8fCAwOwogICAgICAgICAgICAgICAgLy8gdGhpcy51cmwgPSB0aGlzLmltZ0xpc3RbdGhpcy5pbWdJbmRleF0KICAgICAgICAgICAgICAgIF90aGlzLmNoYW5nZVVybChfdGhpcy5pbWdMaXN0W190aGlzLmltZ0luZGV4XSwgX3RoaXMuaW1nSW5kZXgpOwogICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmVycm9yKCJpbWdMaXN0IOS4uuepuuaIluagvOW8j+S4jeato+ehriIpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICBfdGhpcy5jaGFuZ2VVcmwoX3RoaXMudXJsKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAvLyDliKTmlq3mmK/lkKblvIDlkK/plK7nm5jkuovku7YKICAgICAgICAgICAgaWYgKF90aGlzLmtleWJvYXJkKSB7CiAgICAgICAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIF90aGlzLmtleUhhbmRsZURlYm91bmNlKTsKICAgICAgICAgICAgfQogICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICB9LAogICAgICBpbW1lZGlhdGU6IHRydWUKICAgIH0KICB9LAogIG1ldGhvZHM6IHsKICAgIHNob3c6IGZ1bmN0aW9uIHNob3coKSB7CiAgICAgIHRoaXMudmlzaWJsZSA9IHRydWU7CiAgICB9LAogICAgY2xvc2U6IGZ1bmN0aW9uIGNsb3NlKGRhdGEpIHsKICAgICAgdGhpcy5pbml0SW1nKCk7CiAgICAgIC8vIHRoaXMubWF4V0ggPSAibWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlOyI7CiAgICAgIC8vIHRoaXMuaXNGdWxsID0gZmFsc2U7CiAgICAgIC8vIOenu+mZpOeBq+eLkOa1j+iniOWZqOS4i+eahOm8oOagh+a7muWKqOS6i+S7tgogICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ0RPTU1vdXNlU2Nyb2xsJywgdGhpcy5zY3JvbGxGdW5jKTsKICAgICAgLy/mgaLlpI3ngavni5Dlj4pTYWZhcmnmtY/op4jlmajkuIvnmoTlm77niYfmi5bmi70KICAgICAgZG9jdW1lbnQub25kcmFnc3RhcnQgPSBudWxsOwogICAgICAvLyDnp7vpmaTplK7nm5jkuovku7YKICAgICAgaWYgKHRoaXMua2V5Ym9hcmQpIHsKICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXlkb3duJywgdGhpcy5rZXlIYW5kbGVEZWJvdW5jZSk7CiAgICAgIH0KICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7CiAgICAgIHRoaXMuY2xvc2VGbiAmJiB0aGlzLmNsb3NlRm4oZGF0YSk7CiAgICB9LAogICAgaW5pdEltZzogZnVuY3Rpb24gaW5pdEltZygpIHsKICAgICAgdGhpcy5tb2JpbGVTY2FsZSA9IDE7CiAgICAgIHRoaXMuaW1nU2NhbGUgPSAxOwogICAgICB0aGlzLmltZ1JvdGF0ZSA9IDA7CiAgICAgIHRoaXMuaW1nVG9wID0gMDsKICAgICAgdGhpcy5pbWdMZWZ0ID0gMDsKICAgIH0sCiAgICAvKioNCiAgICAgKiDliIfmjaLlm77niYcNCiAgICAgKiB0cnVlIOS4i+S4gOW8oA0KICAgICAqIGZhbHNlIOS4iuS4gOW8oA0KICAgICAqLwogICAgdG9vZ2xlSW1nOiBmdW5jdGlvbiB0b29nbGVJbWcoYm9vbCwgd2F5KSB7CiAgICAgIHZhciBmcm9tSW5kZXggPSB0aGlzLmltZ0luZGV4OwogICAgICBpZiAoYm9vbCkgewogICAgICAgIHRoaXMuaW1nSW5kZXgrKzsKICAgICAgICBpZiAodGhpcy5pbWdJbmRleCA+IHRoaXMuaW1nTGlzdC5sZW5ndGggLSAxKSB7CiAgICAgICAgICB0aGlzLmltZ0luZGV4ID0gMDsKICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy5pbWdJbmRleC0tOwogICAgICAgIGlmICh0aGlzLmltZ0luZGV4IDwgMCkgewogICAgICAgICAgdGhpcy5pbWdJbmRleCA9IHRoaXMuaW1nTGlzdC5sZW5ndGggLSAxOwogICAgICAgIH0KICAgICAgfQogICAgICB0aGlzLmNoYW5nZUZuICYmIHRoaXMuY2hhbmdlRm4oewogICAgICAgIHR5cGU6IGJvb2wgPyAnbmV4dCcgOiAncHJldicsCiAgICAgICAgZnJvbUltZ0luZGV4OiBmcm9tSW5kZXgsCiAgICAgICAgZnJvbUltZ1VybDogdGhpcy5pbWdMaXN0W2Zyb21JbmRleF0sCiAgICAgICAgdG9JbWdJbmRleDogdGhpcy5pbWdJbmRleCwKICAgICAgICB0b0ltZ1VybDogdGhpcy5pbWdMaXN0W3RoaXMuaW1nSW5kZXhdLAogICAgICAgIHdheTogd2F5CiAgICAgIH0pOwogICAgICAvLyB0aGlzLnVybCA9IHRoaXMuaW1nTGlzdFt0aGlzLmltZ0luZGV4XQogICAgICB0aGlzLmNoYW5nZVVybCh0aGlzLmltZ0xpc3RbdGhpcy5pbWdJbmRleF0sIHRoaXMuaW1nSW5kZXgpOwogICAgfSwKICAgIC8vIOaUueWPmOWbvueJh+WcsOWdgAogICAgLyoqDQogICAgICogQGRlc2NyaXB0aW9uOg0KICAgICAqIEBwYXJhbSB7U3RyaW5nfSB1cmwg6KaB5pi+56S655qE5Zu+54mH55qEdXJsDQogICAgICogQHBhcmFtIHtOdW1iZXJ9IGluZGV4IOW9k+WJjeaYvuekuuW9k+WbvueJh+S4i+agh++8jOmYsuatoueUqOaIt+eCueWHu+WIh+aNouWbvueJh+i/h+W/qw0KICAgICAqIEByZXR1cm4geyp9DQogICAgICovCiAgICBjaGFuZ2VVcmw6IGZ1bmN0aW9uIGNoYW5nZVVybCh1cmwsIGluZGV4KSB7CiAgICAgIHZhciBfdGhpczIgPSB0aGlzOwogICAgICB0aGlzLmltZ1N0YXRlID0gMTsKICAgICAgdmFyIGltZyA9IG5ldyBJbWFnZSgpOwogICAgICBpbWcuc3JjID0gdXJsOwogICAgICBpbWcub25sb2FkID0gZnVuY3Rpb24gKCkgewogICAgICAgIC8vIOWmguaenOWKoOi9veWHuuadpeWbvueJh+W9k+S4i+agh+S4jeaYr+W9k+WJjeaYvuekuuWbvueJh+W9k+S4i+agh++8jOWImeS4jeS6iOaYvuekuu+8iOeUqOaIt+eCueWHu+i/h+W/q+W9k+aXtuWAme+8jOS8muWHuueOsOeUqOaIt+eCueWIsOesrOS4ieW8oOS6hu+8jOatpOaXtuesrOS4gOW8oOWbvueJh+aJjeWKoOi9veWujOW9k+aDheWGte+8iQogICAgICAgIGlmIChpbmRleCAhPSB1bmRlZmluZWQgJiYgaW5kZXggPT0gX3RoaXMyLmltZ0luZGV4KSB7CiAgICAgICAgICBfdGhpczIuaW1nU3RhdGUgPSAyOwogICAgICAgICAgX3RoaXMyLmltZ3VybCA9IHVybDsKICAgICAgICB9IGVsc2UgaWYgKGluZGV4ID09IHVuZGVmaW5lZCkgewogICAgICAgICAgX3RoaXMyLmltZ1N0YXRlID0gMjsKICAgICAgICAgIF90aGlzMi5pbWd1cmwgPSB1cmw7CiAgICAgICAgfQogICAgICB9OwogICAgICBpbWcub25lcnJvciA9IGZ1bmN0aW9uICgpIHsKICAgICAgICBpZiAoaW5kZXggIT0gdW5kZWZpbmVkICYmIGluZGV4ID09IF90aGlzMi5pbWdJbmRleCkgewogICAgICAgICAgX3RoaXMyLmltZ1N0YXRlID0gMzsKICAgICAgICB9IGVsc2UgaWYgKGluZGV4ID09IHVuZGVmaW5lZCkgewogICAgICAgICAgX3RoaXMyLmltZ1N0YXRlID0gMzsKICAgICAgICB9CiAgICAgIH07CiAgICB9LAogICAgLy8g5peL6L2s5Zu+54mHCiAgICByb3RhdGVGdW5jOiBmdW5jdGlvbiByb3RhdGVGdW5jKGRlZykgewogICAgICB0aGlzLmltZ1JvdGF0ZSArPSBkZWc7CiAgICB9LAogICAgLy8g5Zu+54mH57yp5pS+CiAgICBzY2FsZUZ1bmM6IGZ1bmN0aW9uIHNjYWxlRnVuYyhudW0sIGJvb2wpIHsKICAgICAgaWYgKHRoaXMuaW1nU2NhbGUgPD0gMC4yICYmIG51bSA8IDApIHJldHVybjsKICAgICAgaWYgKGJvb2wpIHsKICAgICAgICB0aGlzLmltZ1NjYWxlID0gbnVtOwogICAgICB9IGVsc2UgewogICAgICAgIHRoaXMuaW1nU2NhbGUgKz0gbnVtOwogICAgICB9CiAgICB9LAogICAgLy8g5Zu+54mH5Y6f5bC65a+45YiH5o2iCiAgICBpbWdUb2dnbGU6IGZ1bmN0aW9uIGltZ1RvZ2dsZSgpIHsKICAgICAgdGhpcy5pbml0SW1nKCk7CiAgICAgIGlmICh0aGlzLmlzRnVsbCkgewogICAgICAgIHRoaXMubWF4V0ggPSAnbWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlOyc7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy5tYXhXSCA9ICcnOwogICAgICB9CiAgICAgIHRoaXMuaXNGdWxsID0gIXRoaXMuaXNGdWxsOwogICAgfSwKICAgIC8vIOm8oOagh+a7mui9rue8qeaUvgogICAgc2Nyb2xsRnVuYzogZnVuY3Rpb24gc2Nyb2xsRnVuYyhlKSB7CiAgICAgIGUgPSBlIHx8IHdpbmRvdy5ldmVudDsKICAgICAgLy8gZS5yZXR1cm5WYWx1ZSA9IGZhbHNlIC8vIGllCiAgICAgIC8vIOeBq+eLkOS4i+ayoeaciXdoZWVsRGVsdGHvvIznlKhkZXRhaWzku6Pmm7/vvIznlLHkuo5kZXRhaWzlgLznmoTmraPotJ/lkox3aGVlbERlbHRh55u45Y+N77yM5omA5Lul5Y+W5Y+NCiAgICAgIGUuZGVsdGEgPSBlLndoZWVsRGVsdGEgfHwgLWUuZGV0YWlsOwogICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgIGlmIChlLmRlbHRhID4gMCkgewogICAgICAgIC8v5b2T5ruR6L2u5ZCR5LiK5rua5Yqo5pe2CiAgICAgICAgdGhpcy5zY2FsZUZ1bmMoMC4wNSk7CiAgICAgIH0KICAgICAgaWYgKGUuZGVsdGEgPCAwKSB7CiAgICAgICAgLy/lvZPmu5Hova7lkJHkuIvmu5rliqjml7YKICAgICAgICB0aGlzLnNjYWxlRnVuYygtMC4wNSk7CiAgICAgIH0KICAgIH0sCiAgICAvLyDpvKDmoIfmjInkuIsKICAgIGFkZE1vdmU6IGZ1bmN0aW9uIGFkZE1vdmUoZSkgewogICAgICBlID0gZSB8fCB3aW5kb3cuZXZlbnQ7CiAgICAgIHRoaXMuY2xpZW50WCA9IGUuY2xpZW50WDsKICAgICAgdGhpcy5jbGllbnRZID0gZS5jbGllbnRZOwogICAgICB0aGlzLiRyZWZzLmhlSW1nLm9ubW91c2Vtb3ZlID0gdGhpcy5tb3ZlRnVuYzsKICAgIH0sCiAgICAvLyDmiYvmjIfmjInkuIvkuovku7YKICAgIGFkZE1vdmVNb2JpbGU6IGZ1bmN0aW9uIGFkZE1vdmVNb2JpbGUoZSkgewogICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgIGUgPSBlIHx8IHdpbmRvdy5ldmVudDsKICAgICAgaWYgKGUudG91Y2hlcy5sZW5ndGggPiAxKSB7CiAgICAgICAgdGhpcy5zdGFydCA9IGUudG91Y2hlczsKICAgICAgfSBlbHNlIHsKICAgICAgICB0aGlzLmNsaWVudFggPSBlLnRvdWNoZXNbMF0ucGFnZVg7CiAgICAgICAgdGhpcy5jbGllbnRZID0gZS50b3VjaGVzWzBdLnBhZ2VZOwogICAgICB9CiAgICAgIC8vIOa3u+WKoOaJi+aMh+aLluWKqOS6i+S7tgogICAgICB0aGlzLiRyZWZzLmhlSW1nLm9udG91Y2htb3ZlID0gdGhpcy5tb3ZlRnVuY01vYmlsZTsKICAgIH0sCiAgICAvLyDpvKDmoIfmi5bliqgKICAgIG1vdmVGdW5jOiBmdW5jdGlvbiBtb3ZlRnVuYyhlKSB7CiAgICAgIGUgPSBlIHx8IHdpbmRvdy5ldmVudDsKICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICB2YXIgbW92ZW1lbnRYID0gZS5jbGllbnRYIC0gdGhpcy5jbGllbnRYOwogICAgICB2YXIgbW92ZW1lbnRZID0gZS5jbGllbnRZIC0gdGhpcy5jbGllbnRZOwogICAgICAvLyBldmVudC5jbGllbnRZOwogICAgICB0aGlzLmltZ0xlZnQgKz0gbW92ZW1lbnRYICogMjsKICAgICAgdGhpcy5pbWdUb3AgKz0gbW92ZW1lbnRZICogMjsKICAgICAgdGhpcy5jbGllbnRYID0gZS5jbGllbnRYOwogICAgICB0aGlzLmNsaWVudFkgPSBlLmNsaWVudFk7CiAgICB9LAogICAgLy8g5omL5oyH5ouW5YqoCiAgICBtb3ZlRnVuY01vYmlsZTogZnVuY3Rpb24gbW92ZUZ1bmNNb2JpbGUoZSkgewogICAgICBlID0gZSB8fCB3aW5kb3cuZXZlbnQ7CiAgICAgIGlmIChlLnRvdWNoZXMubGVuZ3RoID4gMSkgewogICAgICAgIHZhciBub3cgPSBlLnRvdWNoZXM7CiAgICAgICAgdmFyIHNjYWxlID0gdGhpcy5nZXREaXN0YW5jZShub3dbMF0sIG5vd1sxXSkgLyB0aGlzLmdldERpc3RhbmNlKHRoaXMuc3RhcnRbMF0sIHRoaXMuc3RhcnRbMV0pOwogICAgICAgIC8vIOWIpOaWreaYr+WQpuaJi+aMh+e8qeaUvui/h++8jOWmguaenOe8qeaUvui/h++8jOimgeWcqOS4iuasoee8qeaUvueahOavlOS+i+WfuuehgOS4iui/m+ihjOe8qeaUvgogICAgICAgIGlmICh0aGlzLm1vYmlsZVNjYWxlKSB7CiAgICAgICAgICBpZiAoc2NhbGUgPiAxKSB7CiAgICAgICAgICAgIC8vIOaUvuWkpwogICAgICAgICAgICB0aGlzLnNjYWxlRnVuYyhzY2FsZSArIHRoaXMubW9iaWxlU2NhbGUgLSAxLCB0cnVlKTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIC8vIOe8qeWwjwogICAgICAgICAgICB0aGlzLnNjYWxlRnVuYyhzY2FsZSAqIHRoaXMubW9iaWxlU2NhbGUsIHRydWUpOwogICAgICAgICAgfQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICB0aGlzLnNjYWxlRnVuYyhzY2FsZSwgdHJ1ZSk7CiAgICAgICAgfQogICAgICB9IGVsc2UgewogICAgICAgIHZhciB0b3VjaCA9IGUudG91Y2hlc1swXTsKICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgdmFyIG1vdmVtZW50WCA9IHRvdWNoLnBhZ2VYIC0gdGhpcy5jbGllbnRYOwogICAgICAgIHZhciBtb3ZlbWVudFkgPSB0b3VjaC5wYWdlWSAtIHRoaXMuY2xpZW50WTsKICAgICAgICAvLyBldmVudC5jbGllbnRZOwogICAgICAgIHRoaXMuaW1nTGVmdCArPSBtb3ZlbWVudFggKiAyOwogICAgICAgIHRoaXMuaW1nVG9wICs9IG1vdmVtZW50WSAqIDI7CiAgICAgICAgdGhpcy5jbGllbnRYID0gdG91Y2gucGFnZVg7CiAgICAgICAgdGhpcy5jbGllbnRZID0gdG91Y2gucGFnZVk7CiAgICAgIH0KICAgIH0sCiAgICAvLyDnp7vpmaTmi5bliqjkuovku7YKICAgIHJlbW92ZU1vdmU6IGZ1bmN0aW9uIHJlbW92ZU1vdmUodHlwZSkgewogICAgICBpZiAodHlwZSA9PT0gJ3BjJykgewogICAgICAgIHRoaXMuJHJlZnMuaGVJbWcub25tb3VzZW1vdmUgPSBudWxsOwogICAgICB9IGVsc2UgewogICAgICAgIHRoaXMubW9iaWxlU2NhbGUgPSB0aGlzLmltZ1NjYWxlOwogICAgICAgIHRoaXMuJHJlZnMuaGVJbWcub250b3VjaG1vdmUgPSBudWxsOwogICAgICB9CiAgICB9LAogICAga2V5SGFuZGxlRGVib3VuY2U6IGZ1bmN0aW9uIGtleUhhbmRsZURlYm91bmNlKGUpIHsKICAgICAgdmFyIF90aGlzMyA9IHRoaXM7CiAgICAgIGlmICh0aGlzLmNhblJ1bikgewogICAgICAgIC8vIOWmguaenHRoaXMuY2FuUnVu5Li6dHJ1ZeivgeaYjuW9k+WJjeWPr+S7peaJp+ihjOWHveaVsAogICAgICAgIHRoaXMua2V5SGFuZGxlKGUpOwogICAgICAgIHRoaXMuY2FuUnVuID0gZmFsc2U7IC8vIOaJp+ihjOWHveaVsOWQjuS4gOauteaXtumXtOWGheS4jeWPr+WGjeasoeaJp+ihjAogICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewogICAgICAgICAgX3RoaXMzLmNhblJ1biA9IHRydWU7IC8vIOetieWIsOS6huaIkeS7rOiuvuWumueahOaXtumXtOS5i+WQju+8jOaKinRoaXMuY2FuUnVu5pS55Li6dHJ1Ze+8jOWPr+S7peWGjeasoeaJp+ihjOWHveaVsAogICAgICAgIH0sIDMwMCk7CiAgICAgIH0KICAgIH0sCiAgICAvLyDplK7nm5jkuovku7YKICAgIGtleUhhbmRsZTogZnVuY3Rpb24ga2V5SGFuZGxlKGUpIHsKICAgICAgZSA9IHdpbmRvdy5ldmVudCB8fCBlOwogICAgICB2YXIga2V5ID0gZS5rZXlDb2RlIHx8IGUud2hpY2ggfHwgZS5jaGFyQ29kZTsKICAgICAgc3dpdGNoIChrZXkpIHsKICAgICAgICBjYXNlIDI3OgogICAgICAgICAgLy8gZXNjCiAgICAgICAgICB0aGlzLmNsb3NlKHsKICAgICAgICAgICAgd2F5OiAnZXNjJwogICAgICAgICAgfSk7CiAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlIDY1OgogICAgICAgICAgLy8gYemUri3kuIrkuIDlvKAKICAgICAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7CiAgICAgICAgICAgIHRoaXMudG9vZ2xlSW1nKGZhbHNlLCAna2V5LWEnKTsKICAgICAgICAgIH0KICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgNjg6CiAgICAgICAgICAvLyBk6ZSuLeS4i+S4gOW8oAogICAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHsKICAgICAgICAgICAgdGhpcy50b29nbGVJbWcodHJ1ZSwgJ2tleS1kJyk7CiAgICAgICAgICB9CiAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlIDg3OgogICAgICAgICAgLy8gd+mUri3mlL7lpKcKICAgICAgICAgIHRoaXMuc2NhbGVGdW5jKDAuMTUpOwogICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSA4MzoKICAgICAgICAgIC8vIHPplK4t57yp5bCPCiAgICAgICAgICB0aGlzLnNjYWxlRnVuYygtMC4xNSk7CiAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlIDgxOgogICAgICAgICAgLy8gcemUri3pgIbml7bpkojml4vovawKICAgICAgICAgIHRoaXMucm90YXRlRnVuYygtOTApOwogICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSA2OToKICAgICAgICAgIC8vIGXplK4t6aG65pe26ZKI5peL6L2sCiAgICAgICAgICB0aGlzLnJvdGF0ZUZ1bmMoOTApOwogICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSA4MjoKICAgICAgICAgIC8vIHLplK4t5aSN5L2N6ZSuCiAgICAgICAgICB0aGlzLmluaXRJbWcoKTsKICAgICAgICAgIGJyZWFrOwogICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICBicmVhazsKICAgICAgfQogICAgfSwKICAgIC8vIOeCueWHu+mBrue9qeWxggogICAgY2xpY2tNYXNrOiBmdW5jdGlvbiBjbGlja01hc2soKSB7CiAgICAgIGlmICh0aGlzLmNsaWNrTWFza0NMb3NlKSB7CiAgICAgICAgdGhpcy5jbG9zZSh7CiAgICAgICAgICB3YXk6ICdtYXNrJwogICAgICAgIH0pOwogICAgICB9CiAgICB9LAogICAgLy/nvKnmlL4g5Yu+6IKh5a6a55CG5pa55rOVLeaxguS4pOeCueS5i+mXtOeahOi3neemuwogICAgZ2V0RGlzdGFuY2U6IGZ1bmN0aW9uIGdldERpc3RhbmNlKHAxLCBwMikgewogICAgICB2YXIgeCA9IHAyLnBhZ2VYIC0gcDEucGFnZVgsCiAgICAgICAgeSA9IHAyLnBhZ2VZIC0gcDEucGFnZVk7CiAgICAgIHJldHVybiBNYXRoLnNxcnQoeCAqIHggKyB5ICogeSk7CiAgICB9LAogICAgLyoqDQogICAgICogQGRlc2NyaXB0aW9uOg0KICAgICAqIEBwYXJhbSB7U3RyaW5nfSBpbWdzcmMNCiAgICAgKiBAcGFyYW0geyp9IG5hbWUNCiAgICAgKiBAcmV0dXJuIHsqfQ0KICAgICAqLwogICAgZG93bmxvYWRJYW1nZTogZnVuY3Rpb24gZG93bmxvYWRJYW1nZSgpIHsKICAgICAgLy/kuIvovb3lm77niYflnLDlnYDlkozlm77niYflkI0KICAgICAgdmFyIGltYWdlID0gbmV3IEltYWdlKCk7CiAgICAgIC8vIOino+WGs+i3qOWfnyBDYW52YXMg5rGh5p+T6Zeu6aKYCiAgICAgIGltYWdlLnNldEF0dHJpYnV0ZSgnY3Jvc3NPcmlnaW4nLCAnYW5vbnltb3VzJyk7CiAgICAgIGltYWdlLm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7CiAgICAgICAgY2FudmFzLndpZHRoID0gaW1hZ2Uud2lkdGg7CiAgICAgICAgY2FudmFzLmhlaWdodCA9IGltYWdlLmhlaWdodDsKICAgICAgICB2YXIgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogICAgICAgIGNvbnRleHQuZHJhd0ltYWdlKGltYWdlLCAwLCAwLCBpbWFnZS53aWR0aCwgaW1hZ2UuaGVpZ2h0KTsKICAgICAgICB2YXIgdXJsID0gY2FudmFzLnRvRGF0YVVSTCgnaW1hZ2UvcG5nJyk7IC8v5b6X5Yiw5Zu+54mH55qEYmFzZTY057yW56CB5pWw5o2uCiAgICAgICAgdmFyIGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7IC8vIOeUn+aIkOS4gOS4qmHlhYPntKAKICAgICAgICB2YXIgZXZlbnQgPSBuZXcgTW91c2VFdmVudCgnY2xpY2snKTsgLy8g5Yib5bu65LiA5Liq5Y2V5Ye75LqL5Lu2CiAgICAgICAgYS5kb3dubG9hZCA9ICdwaG90bycgKyArbmV3IERhdGUoKTsgLy8g6K6+572u5Zu+54mH5ZCN56ewCiAgICAgICAgYS5ocmVmID0gdXJsOyAvLyDlsIbnlJ/miJDnmoRVUkzorr7nva7kuLphLmhyZWblsZ7mgKcKICAgICAgICBhLmRpc3BhdGNoRXZlbnQoZXZlbnQpOyAvLyDop6blj5Fh55qE5Y2V5Ye75LqL5Lu2CiAgICAgIH07CgogICAgICBpbWFnZS5vbmVycm9yID0gZnVuY3Rpb24gKGVycikgewogICAgICAgIGNvbnNvbGUubG9nKCflm77niYfkv6Hmga/kuI3mraPnoa7miJblm77niYfmnI3liqHlmajnpoHmraLorr/pl64nKTsKICAgICAgICBjb25zb2xlLmxvZyhlcnIpOwogICAgICB9OwogICAgICBpZiAodGhpcy5tdWx0aXBsZSkgewogICAgICAgIGltYWdlLnNyYyA9IHRoaXMuaW1nTGlzdFt0aGlzLmltZ0luZGV4XTsKICAgICAgfSBlbHNlIHsKICAgICAgICBpbWFnZS5zcmMgPSB0aGlzLnVybDsKICAgICAgfQogICAgfQogIH0KfTs="},{"version":3,"names":["name","data","visible","imgScale","imgTop","imgLeft","imgRotate","isFull","maxWH","clientX","clientY","imgIndex","canRun","imgurl","imgState","start","mobileScale","url","nowImgIndex","multiple","imgList","controlBar","closeBtn","arrowBtn","keyboard","clickMaskCLose","closeFn","changeFn","mounted","initImg","watch","handler","newV","_this","$nextTick","_dom","document","getElementById","onmousewheel","scrollFunc","body","addEventListener","ondragstart","Array","isArray","length","Number","changeUrl","keyHandleDebounce","immediate","methods","show","close","removeEventListener","toogleImg","bool","way","fromIndex","type","fromImgIndex","fromImgUrl","toImgIndex","toImgUrl","index","_this2","img","Image","src","onload","undefined","onerror","rotateFunc","deg","scaleFunc","num","imgToggle","e","window","event","delta","wheelDelta","detail","preventDefault","addMove","$refs","heImg","onmousemove","moveFunc","addMoveMobile","touches","pageX","pageY","ontouchmove","moveFuncMobile","movementX","movementY","now","scale","getDistance","touch","removeMove","_this3","keyHandle","setTimeout","key","keyCode","which","charCode","clickMask","p1","p2","x","y","Math","sqrt","downloadIamge","image","setAttribute","canvas","createElement","width","height","context","getContext","drawImage","toDataURL","a","MouseEvent","download","Date","href","dispatchEvent","err","console","log"],"sources":["node_modules/hevue-img-preview/hevue-img-preview.vue"],"sourcesContent":["<!--\r\n * @Author: 贺永胜\r\n * @Date: 2021-04-19 16:39:30\r\n * @email: 1378431028@qq.com\r\n * @LastEditors: 贺永胜\r\n * @LastEditTime: 2023-03-28 16:28:25\r\n * @Description: file content\r\n-->\r\n\r\n<!--\r\n * __----~~~~~~~~~~~------___\r\n * . . ~~//====...... __--~ ~~\r\n * -. \\_|// |||\\\\ ~~~~~~::::... /~\r\n * ___-==_ _-~o~ \\/ ||| \\\\ _/~~-\r\n * __---~~~.==~||\\=_ -_--~/_-~|- |\\\\ \\\\ _/~\r\n * _-~~ .=~ | \\\\-_ '-~7 /- / || \\ /\r\n * .~ .~ | \\\\ -_ / /- / || \\ /\r\n * / ____ / | \\\\ ~-_/ /|- _/ .|| \\ /\r\n * |~~ ~~|--~~~~--_ \\ ~==-/ | \\~--===~~ .\\\r\n * ' ~-| /| |-~\\~~ __--~~\r\n * |-~~-_/ | | ~\\_ _-~ /\\\r\n * / \\ \\__ \\/~ \\__\r\n * _--~ _/ | .-~~____--~-/ ~~==.\r\n * ((->/~ '.|||' -_| ~~-/ , . _||\r\n * -_ ~\\ ~~---l__i__i__i--~~_/\r\n * _-~-__ ~) \\--______________--~~\r\n * //.-~~~-~_--~- |-------~~~~~~~~\r\n * //.-~~~--\\\r\n * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n * \r\n * 神兽保佑 永无BUG\r\n -->\r\n\r\n<template>\r\n <transition name=\"fade\">\r\n <div\r\n class=\"hevue-imgpreview-wrap\"\r\n id=\"hevue-imgpreview-wrap\"\r\n v-if=\"visible\"\r\n ref=\"heImg\"\r\n @mouseup=\"removeMove('pc')\"\r\n @touchend=\"removeMove('mobile')\"\r\n @click.stop=\"clickMask\"\r\n >\r\n <div class=\"he-img-wrap\">\r\n <div\r\n class=\"heimgfont hevue-img-status-icon rotate-animation\"\r\n v-show=\"imgState === 1\"\r\n >\r\n &#xe6b1;\r\n </div>\r\n <!-- <div class=\"heimgfont loading\">&#xe6b1;</div> -->\r\n <img\r\n :src=\"imgurl\"\r\n ref=\"heImView\"\r\n @click.stop=\"\"\r\n v-show=\"imgState === 2\"\r\n class=\"he-img-view\"\r\n :style=\"\r\n 'transform: scale(' +\r\n imgScale +\r\n ') rotate(' +\r\n imgRotate +\r\n 'deg);margin-top:' +\r\n imgTop +\r\n 'px;margin-left:' +\r\n imgLeft +\r\n 'px;' +\r\n maxWH\r\n \"\r\n @mousedown=\"addMove\"\r\n @touchstart=\"addMoveMobile\"\r\n />\r\n <!-- 图片加载失败 -->\r\n <div class=\"heimgfont hevue-img-status-icon\" v-show=\"imgState === 3\">\r\n &#xec0d;\r\n </div>\r\n <!-- 关闭按钮 -->\r\n <div\r\n class=\"heimgfont he-close-icon\"\r\n @click.stop=\"close({ way: 'closeBtn' })\"\r\n v-if=\"closeBtn\"\r\n >\r\n &#xe608;\r\n </div>\r\n <!-- 左箭头 -->\r\n <div\r\n class=\"arrow arrow-left heimgfont\"\r\n @click.stop=\"toogleImg(false, 'btn')\"\r\n v-if=\"arrowBtn && multiple\"\r\n >\r\n &#xe620;\r\n </div>\r\n <!-- 右箭头 -->\r\n <div\r\n class=\"arrow arrow-right heimgfont\"\r\n @click.stop=\"toogleImg(true, 'btn')\"\r\n v-if=\"arrowBtn && multiple\"\r\n >\r\n &#xe60d;\r\n </div>\r\n <!-- 控制条 -->\r\n <div class=\"he-control-bar-wrap\" v-if=\"controlBar\">\r\n <div class=\"he-control-bar\" @click.stop>\r\n <!-- 缩小 -->\r\n <div\r\n class=\"he-control-btn heimgfont\"\r\n @click.stop=\"scaleFunc(-0.15)\"\r\n >\r\n &#xe65e;\r\n </div>\r\n <!-- 放大 -->\r\n <div class=\"he-control-btn heimgfont\" @click.stop=\"scaleFunc(0.15)\">\r\n &#xe65d;\r\n </div>\r\n <!-- 复位 -->\r\n <div\r\n class=\"he-control-btn heimgfont\"\r\n v-show=\"isFull\"\r\n @click.stop=\"imgToggle\"\r\n >\r\n &#xe698;\r\n </div>\r\n <!-- 复位 -->\r\n <div\r\n class=\"he-control-btn heimgfont\"\r\n v-show=\"!isFull\"\r\n @click.stop=\"imgToggle\"\r\n >\r\n &#xe86b;\r\n </div>\r\n <!-- 左转 -->\r\n <div class=\"he-control-btn heimgfont\" @click.stop=\"rotateFunc(-90)\">\r\n &#xe670;\r\n </div>\r\n <!-- 右转 -->\r\n <div class=\"he-control-btn heimgfont\" @click.stop=\"rotateFunc(90)\">\r\n &#xe66f;\r\n </div>\r\n <!-- 下载 -->\r\n <!-- <div class=\"he-control-btn heimgfont\" @click.stop=\"downloadIamge\">\r\n &#xe694;\r\n </div> -->\r\n </div>\r\n </div>\r\n <!-- 页码指示器 -->\r\n <div class=\"he-control-num\" v-if=\"controlBar && multiple\">\r\n {{ imgIndex + 1 }} / {{ imgList.length }}\r\n </div>\r\n </div>\r\n </div>\r\n </transition>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n name: 'hevue-img-preview',\r\n data() {\r\n return {\r\n // imgWidth: 0,\r\n // imgHeight: 0,\r\n visible: false, // 插件显示,默认为false\r\n imgScale: 1,\r\n imgTop: 0,\r\n imgLeft: 0,\r\n imgRotate: 0,\r\n isFull: false,\r\n maxWH: 'max-width:100%;max-height:100%;',\r\n clientX: 0,\r\n clientY: 0,\r\n imgIndex: 0,\r\n canRun: true,\r\n imgurl: '',\r\n imgState: 1,\r\n start: [{}, {}],\r\n mobileScale: 0, // 手指离开时图片的缩放比例\r\n // 以下内容为用户传入配置\r\n // show: true, // 插件显示,默认为false\r\n url: '', // 预览图片的地址\r\n nowImgIndex: 0,\r\n multiple: false,\r\n imgList: [],\r\n // 以下为可全局配置\r\n controlBar: true,\r\n closeBtn: true,\r\n arrowBtn: true,\r\n keyboard: false,\r\n clickMaskCLose: false, // 是否点击遮罩关闭,默认false\r\n closeFn: null, // 关闭回调函数\r\n changeFn: null, // 切换图片回调函数\r\n }\r\n },\r\n mounted() {\r\n this.initImg()\r\n },\r\n watch: {\r\n url() {\r\n this.initImg()\r\n },\r\n visible: {\r\n handler(newV) {\r\n if (newV) {\r\n this.$nextTick(() => {\r\n let _dom = document.getElementById('hevue-imgpreview-wrap')\r\n _dom.onmousewheel = this.scrollFunc\r\n // 火狐浏览器没有onmousewheel事件,用DOMMouseScroll代替(滚轮事件)\r\n document.body.addEventListener('DOMMouseScroll', this.scrollFunc)\r\n // 禁止火狐浏览器下拖拽图片的默认事件\r\n document.ondragstart = function () {\r\n return false\r\n }\r\n // 判断是否多图\r\n if (this.multiple) {\r\n if (Array.isArray(this.imgList) && this.imgList.length > 0) {\r\n this.imgIndex = Number(this.nowImgIndex) || 0\r\n // this.url = this.imgList[this.imgIndex]\r\n this.changeUrl(this.imgList[this.imgIndex], this.imgIndex)\r\n } else {\r\n // console.error(\"imgList 为空或格式不正确\");\r\n }\r\n } else {\r\n this.changeUrl(this.url)\r\n }\r\n // 判断是否开启键盘事件\r\n if (this.keyboard) {\r\n document.addEventListener('keydown', this.keyHandleDebounce)\r\n }\r\n })\r\n }\r\n },\r\n immediate: true,\r\n },\r\n },\r\n methods: {\r\n show() {\r\n this.visible = true\r\n },\r\n close(data) {\r\n this.initImg()\r\n // this.maxWH = \"max-width:100%;max-height:100%;\";\r\n // this.isFull = false;\r\n // 移除火狐浏览器下的鼠标滚动事件\r\n document.body.removeEventListener('DOMMouseScroll', this.scrollFunc)\r\n //恢复火狐及Safari浏览器下的图片拖拽\r\n document.ondragstart = null\r\n // 移除键盘事件\r\n if (this.keyboard) {\r\n document.removeEventListener('keydown', this.keyHandleDebounce)\r\n }\r\n this.visible = false\r\n this.closeFn && this.closeFn(data)\r\n },\r\n initImg() {\r\n this.mobileScale = 1\r\n this.imgScale = 1\r\n this.imgRotate = 0\r\n this.imgTop = 0\r\n this.imgLeft = 0\r\n },\r\n /**\r\n * 切换图片\r\n * true 下一张\r\n * false 上一张\r\n */\r\n toogleImg(bool, way) {\r\n let fromIndex = this.imgIndex\r\n if (bool) {\r\n this.imgIndex++\r\n if (this.imgIndex > this.imgList.length - 1) {\r\n this.imgIndex = 0\r\n }\r\n } else {\r\n this.imgIndex--\r\n if (this.imgIndex < 0) {\r\n this.imgIndex = this.imgList.length - 1\r\n }\r\n }\r\n this.changeFn &&\r\n this.changeFn({\r\n type: bool ? 'next' : 'prev',\r\n fromImgIndex: fromIndex,\r\n fromImgUrl: this.imgList[fromIndex],\r\n toImgIndex: this.imgIndex,\r\n toImgUrl: this.imgList[this.imgIndex],\r\n way,\r\n })\r\n // this.url = this.imgList[this.imgIndex]\r\n this.changeUrl(this.imgList[this.imgIndex], this.imgIndex)\r\n },\r\n // 改变图片地址\r\n /**\r\n * @description:\r\n * @param {String} url 要显示的图片的url\r\n * @param {Number} index 当前显示当图片下标,防止用户点击切换图片过快\r\n * @return {*}\r\n */\r\n changeUrl(url, index) {\r\n this.imgState = 1\r\n let img = new Image()\r\n img.src = url\r\n img.onload = () => {\r\n // 如果加载出来图片当下标不是当前显示图片当下标,则不予显示(用户点击过快当时候,会出现用户点到第三张了,此时第一张图片才加载完当情况)\r\n if (index != undefined && index == this.imgIndex) {\r\n this.imgState = 2\r\n this.imgurl = url\r\n } else if (index == undefined) {\r\n this.imgState = 2\r\n this.imgurl = url\r\n }\r\n }\r\n img.onerror = () => {\r\n if (index != undefined && index == this.imgIndex) {\r\n this.imgState = 3\r\n } else if (index == undefined) {\r\n this.imgState = 3\r\n }\r\n }\r\n },\r\n // 旋转图片\r\n rotateFunc(deg) {\r\n this.imgRotate += deg\r\n },\r\n // 图片缩放\r\n scaleFunc(num, bool) {\r\n if (this.imgScale <= 0.2 && num < 0) return\r\n if (bool) {\r\n this.imgScale = num\r\n } else {\r\n this.imgScale += num\r\n }\r\n },\r\n // 图片原尺寸切换\r\n imgToggle() {\r\n this.initImg()\r\n if (this.isFull) {\r\n this.maxWH = 'max-width:100%;max-height:100%;'\r\n } else {\r\n this.maxWH = ''\r\n }\r\n this.isFull = !this.isFull\r\n },\r\n // 鼠标滚轮缩放\r\n scrollFunc(e) {\r\n e = e || window.event\r\n // e.returnValue = false // ie\r\n // 火狐下没有wheelDelta,用detail代替,由于detail值的正负和wheelDelta相反,所以取反\r\n e.delta = e.wheelDelta || -e.detail\r\n\r\n e.preventDefault()\r\n if (e.delta > 0) {\r\n //当滑轮向上滚动时\r\n this.scaleFunc(0.05)\r\n }\r\n if (e.delta < 0) {\r\n //当滑轮向下滚动时\r\n this.scaleFunc(-0.05)\r\n }\r\n },\r\n // 鼠标按下\r\n addMove(e) {\r\n e = e || window.event\r\n this.clientX = e.clientX\r\n this.clientY = e.clientY\r\n this.$refs.heImg.onmousemove = this.moveFunc\r\n },\r\n // 手指按下事件\r\n addMoveMobile(e) {\r\n e.preventDefault()\r\n e = e || window.event\r\n if (e.touches.length > 1) {\r\n this.start = e.touches\r\n } else {\r\n this.clientX = e.touches[0].pageX\r\n this.clientY = e.touches[0].pageY\r\n }\r\n // 添加手指拖动事件\r\n this.$refs.heImg.ontouchmove = this.moveFuncMobile\r\n },\r\n // 鼠标拖动\r\n moveFunc(e) {\r\n e = e || window.event\r\n e.preventDefault()\r\n let movementX = e.clientX - this.clientX\r\n let movementY = e.clientY - this.clientY\r\n // event.clientY;\r\n this.imgLeft += movementX * 2\r\n this.imgTop += movementY * 2\r\n this.clientX = e.clientX\r\n this.clientY = e.clientY\r\n },\r\n // 手指拖动\r\n moveFuncMobile(e) {\r\n e = e || window.event\r\n if (e.touches.length > 1) {\r\n var now = e.touches\r\n var scale =\r\n this.getDistance(now[0], now[1]) /\r\n this.getDistance(this.start[0], this.start[1])\r\n // 判断是否手指缩放过,如果缩放过,要在上次缩放的比例基础上进行缩放\r\n if (this.mobileScale) {\r\n if (scale > 1) {\r\n // 放大\r\n this.scaleFunc(scale + this.mobileScale - 1, true)\r\n } else {\r\n // 缩小\r\n this.scaleFunc(scale * this.mobileScale, true)\r\n }\r\n } else {\r\n this.scaleFunc(scale, true)\r\n }\r\n } else {\r\n let touch = e.touches[0]\r\n e.preventDefault()\r\n let movementX = touch.pageX - this.clientX\r\n let movementY = touch.pageY - this.clientY\r\n // event.clientY;\r\n this.imgLeft += movementX * 2\r\n this.imgTop += movementY * 2\r\n this.clientX = touch.pageX\r\n this.clientY = touch.pageY\r\n }\r\n },\r\n // 移除拖动事件\r\n removeMove(type) {\r\n if (type === 'pc') {\r\n this.$refs.heImg.onmousemove = null\r\n } else {\r\n this.mobileScale = this.imgScale\r\n this.$refs.heImg.ontouchmove = null\r\n }\r\n },\r\n keyHandleDebounce(e) {\r\n if (this.canRun) {\r\n // 如果this.canRun为true证明当前可以执行函数\r\n this.keyHandle(e)\r\n this.canRun = false // 执行函数后一段时间内不可再次执行\r\n setTimeout(() => {\r\n this.canRun = true // 等到了我们设定的时间之后,把this.canRun改为true,可以再次执行函数\r\n }, 300)\r\n }\r\n },\r\n // 键盘事件\r\n keyHandle(e) {\r\n e = window.event || e\r\n var key = e.keyCode || e.which || e.charCode\r\n switch (key) {\r\n case 27: // esc\r\n this.close({ way: 'esc' })\r\n break\r\n case 65: // a键-上一张\r\n if (this.multiple) {\r\n this.toogleImg(false, 'key-a')\r\n }\r\n break\r\n case 68: // d键-下一张\r\n if (this.multiple) {\r\n this.toogleImg(true, 'key-d')\r\n }\r\n break\r\n case 87: // w键-放大\r\n this.scaleFunc(0.15)\r\n break\r\n case 83: // s键-缩小\r\n this.scaleFunc(-0.15)\r\n break\r\n case 81: // q键-逆时针旋转\r\n this.rotateFunc(-90)\r\n break\r\n case 69: // e键-顺时针旋转\r\n this.rotateFunc(90)\r\n break\r\n case 82: // r键-复位键\r\n this.initImg()\r\n break\r\n\r\n default:\r\n break\r\n }\r\n },\r\n // 点击遮罩层\r\n clickMask() {\r\n if (this.clickMaskCLose) {\r\n this.close({ way: 'mask' })\r\n }\r\n },\r\n //缩放 勾股定理方法-求两点之间的距离\r\n getDistance(p1, p2) {\r\n var x = p2.pageX - p1.pageX,\r\n y = p2.pageY - p1.pageY\r\n return Math.sqrt(x * x + y * y)\r\n },\r\n /**\r\n * @description:\r\n * @param {String} imgsrc\r\n * @param {*} name\r\n * @return {*}\r\n */\r\n downloadIamge() {\r\n //下载图片地址和图片名\r\n let image = new Image()\r\n // 解决跨域 Canvas 污染问题\r\n image.setAttribute('crossOrigin', 'anonymous')\r\n image.onload = function () {\r\n let canvas = document.createElement('canvas')\r\n canvas.width = image.width\r\n canvas.height = image.height\r\n let context = canvas.getContext('2d')\r\n context.drawImage(image, 0, 0, image.width, image.height)\r\n let url = canvas.toDataURL('image/png') //得到图片的base64编码数据\r\n let a = document.createElement('a') // 生成一个a元素\r\n let event = new MouseEvent('click') // 创建一个单击事件\r\n a.download = 'photo' + +new Date() // 设置图片名称\r\n a.href = url // 将生成的URL设置为a.href属性\r\n a.dispatchEvent(event) // 触发a的单击事件\r\n }\r\n image.onerror = function (err) {\r\n console.log('图片信息不正确或图片服务器禁止访问')\r\n console.log(err)\r\n }\r\n if (this.multiple) {\r\n image.src = this.imgList[this.imgIndex]\r\n } else {\r\n image.src = this.url\r\n }\r\n },\r\n },\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n@import './iconfont/iconfont.css';\r\n@import './css/default.css';\r\n</style>\r\n"],"mappings":"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"}]}