1 line
29 KiB
JSON
1 line
29 KiB
JSON
{"remainingRequest":"F:\\lixiaobang\\suyi1111\\suyiScreen\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!F:\\lixiaobang\\suyi1111\\suyiScreen\\node_modules\\@jiaminghi\\data-view\\lib\\components\\flylineChart\\src\\main.vue?vue&type=script&lang=js&","dependencies":[{"path":"F:\\lixiaobang\\suyi1111\\suyiScreen\\node_modules\\@jiaminghi\\data-view\\lib\\components\\flylineChart\\src\\main.vue","mtime":1670891602070},{"path":"F:\\lixiaobang\\suyi1111\\suyiScreen\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1670891604112},{"path":"F:\\lixiaobang\\suyi1111\\suyiScreen\\node_modules\\thread-loader\\dist\\cjs.js","mtime":1670891613575},{"path":"F:\\lixiaobang\\suyi1111\\suyiScreen\\node_modules\\babel-loader\\lib\\index.js","mtime":1670891602826},{"path":"F:\\lixiaobang\\suyi1111\\suyiScreen\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1670891604112},{"path":"F:\\lixiaobang\\suyi1111\\suyiScreen\\node_modules\\vue-loader\\lib\\index.js","mtime":1670891614530}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KDQppbXBvcnQgeyBkZWVwTWVyZ2UgfSBmcm9tICdAamlhbWluZ2hpL2NoYXJ0cy9saWIvdXRpbC9pbmRleCcNCg0KaW1wb3J0IHsgZGVlcENsb25lIH0gZnJvbSAnQGppYW1pbmdoaS9jLXJlbmRlci9saWIvcGx1Z2luL3V0aWwnDQoNCmltcG9ydCB7IHJhbmRvbUV4dGVuZCwgZ2V0UG9pbnREaXN0YW5jZSB9IGZyb20gJy4uLy4uLy4uL3V0aWwvaW5kZXgnDQoNCmltcG9ydCBhdXRvUmVzaXplIGZyb20gJy4uLy4uLy4uL21peGluL2F1dG9SZXNpemUnDQoNCmV4cG9ydCBkZWZhdWx0IHsNCiAgbmFtZTogJ0R2Rmx5bGluZUNoYXJ0JywNCiAgbWl4aW5zOiBbYXV0b1Jlc2l6ZV0sDQogIHByb3BzOiB7DQogICAgY29uZmlnOiB7DQogICAgICB0eXBlOiBPYmplY3QsDQogICAgICBkZWZhdWx0OiAoKSA9PiAoe30pDQogICAgfSwNCiAgICBkZXY6IHsNCiAgICAgIHR5cGU6IEJvb2xlYW4sDQogICAgICBkZWZhdWx0OiBmYWxzZQ0KICAgIH0NCiAgfSwNCiAgZGF0YSAoKSB7DQogICAgY29uc3QgdGltZXN0YW1wID0gRGF0ZS5ub3coKQ0KICAgIHJldHVybiB7DQogICAgICByZWY6ICdkdi1mbHlsaW5lLWNoYXJ0JywNCiAgICAgIHVuaXF1ZTogTWF0aC5yYW5kb20oKSwNCiAgICAgIG1hc2tJZDogYGZseWxpbmUtbWFzay1pZC0ke3RpbWVzdGFtcH1gLA0KICAgICAgbWFza0NpcmNsZUlkOiBgbWFzay1jaXJjbGUtaWQtJHt0aW1lc3RhbXB9YCwNCiAgICAgIGdyYWRpZW50SWQ6IGBncmFkaWVudC1pZC0ke3RpbWVzdGFtcH1gLA0KICAgICAgZ3JhZGllbnQySWQ6IGBncmFkaWVudDItaWQtJHt0aW1lc3RhbXB9YCwNCg0KICAgICAgZGVmYXVsdENvbmZpZzogew0KICAgICAgICAvKioNCiAgICAgICAgICogQGRlc2NyaXB0aW9uIEZseWxpbmUgY2hhcnQgY2VudGVyIHBvaW50DQogICAgICAgICAqIEB0eXBlIHtBcnJheTxOdW1iZXI+fQ0KICAgICAgICAgKiBAZGVmYXVsdCBjZW50ZXJQb2ludCA9IFswLCAwXQ0KICAgICAgICAgKi8NCiAgICAgICAgY2VudGVyUG9pbnQ6IFswLCAwXSwNCiAgICAgICAgLyoqDQogICAgICAgICAqIEBkZXNjcmlwdGlvbiBGbHlsaW5lIHN0YXJ0IHBvaW50cw0KICAgICAgICAgKiBAdHlwZSB7QXJyYXk8QXJyYXk8TnVtYmVyPj59DQogICAgICAgICAqIEBkZWZhdWx0IHBvaW50cyA9IFtdDQogICAgICAgICAqIEBleGFtcGxlIHBvaW50cyA9IFtbMTAsIDEwXSwgWzEwMCwgMTAwXV0NCiAgICAgICAgICovDQogICAgICAgIHBvaW50czogW10sDQogICAgICAgIC8qKg0KICAgICAgICAgKiBAZGVzY3JpcHRpb24gRmx5bGluZSB3aWR0aA0KICAgICAgICAgKiBAdHlwZSB7TnVtYmVyfQ0KICAgICAgICAgKiBAZGVmYXVsdCBsaW5lV2lkdGggPSAxDQogICAgICAgICAqLw0KICAgICAgICBsaW5lV2lkdGg6IDEsDQogICAgICAgIC8qKg0KICAgICAgICAgKiBAZGVzY3JpcHRpb24gT3JiaXQgY29sb3INCiAgICAgICAgICogQHR5cGUge1N0cmluZ30NCiAgICAgICAgICogQGRlZmF1bHQgb3JiaXRDb2xvciA9ICdyZ2JhKDEwMywgMjI0LCAyMjcsIC4yKScNCiAgICAgICAgICovDQogICAgICAgIG9yYml0Q29sb3I6ICdyZ2JhKDEwMywgMjI0LCAyMjcsIC4yKScsDQogICAgICAgIC8qKg0KICAgICAgICAgKiBAZGVzY3JpcHRpb24gRmx5bGluZSBjb2xvcg0KICAgICAgICAgKiBAdHlwZSB7U3RyaW5nfQ0KICAgICAgICAgKiBAZGVmYXVsdCBvcmJpdENvbG9yID0gJyNmZmRlOTMnDQogICAgICAgICAqLw0KICAgICAgICBmbHlsaW5lQ29sb3I6ICcjZmZkZTkzJywNCiAgICAgICAgLyoqDQogICAgICAgICAqIEBkZXNjcmlwdGlvbiBLIHZhbHVlDQogICAgICAgICAqIEB0eXBlIHtOdW1iZXJ9DQogICAgICAgICAqIEBkZWZhdWx0IGsgPSAtMC41DQogICAgICAgICAqIEBleGFtcGxlIGsgPSAtMSB+IDENCiAgICAgICAgICovDQogICAgICAgIGs6IC0wLjUsDQogICAgICAgIC8qKg0KICAgICAgICAgKiBAZGVzY3JpcHRpb24gRmx5bGluZSBjdXJ2YXR1cmUNCiAgICAgICAgICogQHR5cGUge051bWJlcn0NCiAgICAgICAgICogQGRlZmF1bHQgY3VydmF0dXJlID0gNQ0KICAgICAgICAgKi8NCiAgICAgICAgY3VydmF0dXJlOiA1LA0KICAgICAgICAvKioNCiAgICAgICAgICogQGRlc2NyaXB0aW9uIEZseWxpbmUgcmFkaXVzDQogICAgICAgICAqIEB0eXBlIHtOdW1iZXJ9DQogICAgICAgICAqIEBkZWZhdWx0IGZseWxpbmVSYWRpdXMgPSAxMDANCiAgICAgICAgICovDQogICAgICAgIGZseWxpbmVSYWRpdXM6IDEwMCwNCiAgICAgICAgLyoqDQogICAgICAgICAqIEBkZXNjcmlwdGlvbiBGbHlsaW5lIGFuaW1hdGlvbiBkdXJhdGlvbg0KICAgICAgICAgKiBAdHlwZSB7QXJyYXk8TnVtYmVyPn0NCiAgICAgICAgICogQGRlZmF1bHQgZHVyYXRpb24gPSBbMjAsIDMwXQ0KICAgICAgICAgKi8NCiAgICAgICAgZHVyYXRpb246IFsyMCwgMzBdLA0KICAgICAgICAvKioNCiAgICAgICAgICogQGRlc2NyaXB0aW9uIFJlbGF0aXZlIHBvaW50cyBwb3NpdGlvbg0KICAgICAgICAgKiBAdHlwZSB7Qm9vbGVhbn0NCiAgICAgICAgICogQGRlZmF1bHQgcmVsYXRpdmUgPSB0cnVlDQogICAgICAgICAqLw0KICAgICAgICByZWxhdGl2ZTogdHJ1ZSwNCiAgICAgICAgLyoqDQogICAgICAgICAqIEBkZXNjcmlwdGlvbiBCYWNrIGdyb3VuZCBpbWFnZSB1cmwNCiAgICAgICAgICogQHR5cGUge1N0cmluZ30NCiAgICAgICAgICogQGRlZmF1bHQgYmdJbWdVcmwgPSAnJw0KICAgICAgICAgKiBAZXhhbXBsZSBiZ0ltZ1VybCA9ICcuL2ltZy9iZy5qcGcnDQogICAgICAgICAqLw0KICAgICAgICBiZ0ltZ1VybDogJycsDQogICAgICAgIC8qKg0KICAgICAgICAgKiBAZGVzY3JpcHRpb24gVGV4dCBjb25maWd1cmF0aW9uDQogICAgICAgICAqIEB0eXBlIHtPYmplY3R9DQogICAgICAgICAqLw0KICAgICAgICB0ZXh0OiB7DQogICAgICAgICAgLyoqDQogICAgICAgICAgICogQGRlc2NyaXB0aW9uIFRleHQgb2Zmc2V0DQogICAgICAgICAgICogQHR5cGUge0FycmF5PE51bWJlcj59DQogICAgICAgICAgICogQGRlZmF1bHQgb2Zmc2V0ID0gWzAsIDE1XQ0KICAgICAgICAgICAqLw0KICAgICAgICAgIG9mZnNldDogWzAsIDE1XSwNCiAgICAgICAgICAvKioNCiAgICAgICAgICAgKiBAZGVzY3JpcHRpb24gVGV4dCBjb2xvcg0KICAgICAgICAgICAqIEB0eXBlIHtTdHJpbmd9DQogICAgICAgICAgICogQGRlZmF1bHQgY29sb3IgPSAnI2ZmZGI1YycNCiAgICAgICAgICAgKi8NCiAgICAgICAgICBjb2xvcjogJyNmZmRiNWMnLA0KICAgICAgICAgIC8qKg0KICAgICAgICAgICAqIEBkZXNjcmlwdGlvbiBUZXh0IGZvbnQgc2l6ZQ0KICAgICAgICAgICAqIEB0eXBlIHtOdW1iZXJ9DQogICAgICAgICAgICogQGRlZmF1bHQgZm9udFNpemUgPSAxMg0KICAgICAgICAgICAqLw0KICAgICAgICAgIGZvbnRTaXplOiAxMg0KICAgICAgICB9LA0KICAgICAgICAvKioNCiAgICAgICAgICogQGRlc2NyaXB0aW9uIEhhbG8gY29uZmlndXJhdGlvbg0KICAgICAgICAgKiBAdHlwZSB7T2JqZWN0fQ0KICAgICAgICAgKi8NCiAgICAgICAgaGFsbzogew0KICAgICAgICAgIC8qKg0KICAgICAgICAgICAqIEBkZXNjcmlwdGlvbiBXZWF0aGVyIHRvIHNob3cgaGFsbw0KICAgICAgICAgICAqIEB0eXBlIHtCb29sZWFufQ0KICAgICAgICAgICAqIEBkZWZhdWx0IHNob3cgPSB0cnVlDQogICAgICAgICAgICogQGV4YW1wbGUgc2hvdyA9IHRydWUgfCBmYWxzZQ0KICAgICAgICAgICAqLw0KICAgICAgICAgIHNob3c6IHRydWUsDQogICAgICAgICAgLyoqDQogICAgICAgICAgICogQGRlc2NyaXB0aW9uIEhhbG8gYW5pbWF0aW9uIGR1cmF0aW9uICgxMCA9IDFzKQ0KICAgICAgICAgICAqIEB0eXBlIHtOdW1iZXJ9DQogICAgICAgICAgICogQGRlZmF1bHQgZHVyYXRpb24gPSAzMA0KICAgICAgICAgICAqLw0KICAgICAgICAgIGR1cmF0aW9uOiAzMCwNCiAgICAgICAgICAvKioNCiAgICAgICAgICAgKiBAZGVzY3JpcHRpb24gSGFsbyBjb2xvcg0KICAgICAgICAgICAqIEB0eXBlIHtTdHJpbmd9DQogICAgICAgICAgICogQGRlZmF1bHQgY29sb3IgPSAnI2ZiNzI5MycNCiAgICAgICAgICAgKi8NCiAgICAgICAgICBjb2xvcjogJyNmYjcyOTMnLA0KICAgICAgICAgIC8qKg0KICAgICAgICAgICAqIEBkZXNjcmlwdGlvbiBIYWxvIG1heCByYWRpdXMNCiAgICAgICAgICAgKiBAdHlwZSB7TnVtYmVyfQ0KICAgICAgICAgICAqIEBkZWZhdWx0IHJhZGl1cyA9IDEyMA0KICAgICAgICAgICAqLw0KICAgICAgICAgIHJhZGl1czogMTIwDQogICAgICAgIH0sDQogICAgICAgIC8qKg0KICAgICAgICAgKiBAZGVzY3JpcHRpb24gQ2VudGVyIHBvaW50IGltZyBjb25maWd1cmF0aW9uDQogICAgICAgICAqIEB0eXBlIHtPYmplY3R9DQogICAgICAgICAqLw0KICAgICAgICBjZW50ZXJQb2ludEltZzogew0KICAgICAgICAgIC8qKg0KICAgICAgICAgICAqIEBkZXNjcmlwdGlvbiBDZW50ZXIgcG9pbnQgaW1nIHdpZHRoDQogICAgICAgICAgICogQHR5cGUge051bWJlcn0NCiAgICAgICAgICAgKiBAZGVmYXVsdCB3aWR0aCA9IDQwDQogICAgICAgICAgICovDQogICAgICAgICAgd2lkdGg6IDQwLA0KICAgICAgICAgIC8qKg0KICAgICAgICAgICAqIEBkZXNjcmlwdGlvbiBDZW50ZXIgcG9pbnQgaW1nIGhlaWdodA0KICAgICAgICAgICAqIEB0eXBlIHtOdW1iZXJ9DQogICAgICAgICAgICogQGRlZmF1bHQgaGVpZ2h0ID0gNDANCiAgICAgICAgICAgKi8NCiAgICAgICAgICBoZWlnaHQ6IDQwLA0KICAgICAgICAgIC8qKg0KICAgICAgICAgICAqIEBkZXNjcmlwdGlvbiBDZW50ZXIgcG9pbnQgaW1nIHVybA0KICAgICAgICAgICAqIEB0eXBlIHtTdHJpbmd9DQogICAgICAgICAgICogQGRlZmF1bHQgdXJsID0gJycNCiAgICAgICAgICAgKi8NCiAgICAgICAgICB1cmw6ICcnDQogICAgICAgIH0sDQogICAgICAgIC8qKg0KICAgICAgICAgKiBAZGVzY3JpcHRpb24gUG9pbnRzIGltZyBjb25maWd1cmF0aW9uDQogICAgICAgICAqIEB0eXBlIHtPYmplY3R9DQogICAgICAgICAqIEBkZWZhdWx0IHJhZGl1cyA9IDEyMA0KICAgICAgICAgKi8NCiAgICAgICAgcG9pbnRzSW1nOiB7DQogICAgICAgICAgLyoqDQogICAgICAgICAgICogQGRlc2NyaXB0aW9uIFBvaW50cyBpbWcgd2lkdGgNCiAgICAgICAgICAgKiBAdHlwZSB7TnVtYmVyfQ0KICAgICAgICAgICAqIEBkZWZhdWx0IHdpZHRoID0gMTUNCiAgICAgICAgICAgKi8NCiAgICAgICAgICB3aWR0aDogMTUsDQogICAgICAgICAgLyoqDQogICAgICAgICAgICogQGRlc2NyaXB0aW9uIFBvaW50cyBpbWcgaGVpZ2h0DQogICAgICAgICAgICogQHR5cGUge051bWJlcn0NCiAgICAgICAgICAgKiBAZGVmYXVsdCBoZWlnaHQgPSAxNQ0KICAgICAgICAgICAqLw0KICAgICAgICAgIGhlaWdodDogMTUsDQogICAgICAgICAgLyoqDQogICAgICAgICAgICogQGRlc2NyaXB0aW9uIFBvaW50cyBpbWcgdXJsDQogICAgICAgICAgICogQHR5cGUge1N0cmluZ30NCiAgICAgICAgICAgKiBAZGVmYXVsdCB1cmwgPSAnJw0KICAgICAgICAgICAqLw0KICAgICAgICAgIHVybDogJycNCiAgICAgICAgfQ0KICAgICAgfSwNCg0KICAgICAgbWVyZ2VkQ29uZmlnOiBudWxsLA0KDQogICAgICBwYXRoczogW10sDQogICAgICBsZW5ndGhzOiBbXSwNCiAgICAgIHRpbWVzOiBbXSwNCiAgICAgIHRleHRzOiBbXQ0KICAgIH0NCiAgfSwNCiAgd2F0Y2g6IHsNCiAgICBjb25maWcgKCkgew0KICAgICAgY29uc3QgeyBjYWxjRGF0YSB9ID0gdGhpcw0KDQogICAgICBjYWxjRGF0YSgpDQogICAgfQ0KICB9LA0KICBtZXRob2RzOiB7DQogICAgYWZ0ZXJBdXRvUmVzaXplTWl4aW5Jbml0ICgpIHsNCiAgICAgIGNvbnN0IHsgY2FsY0RhdGEgfSA9IHRoaXMNCg0KICAgICAgY2FsY0RhdGEoKQ0KICAgIH0sDQogICAgb25SZXNpemUgKCkgew0KICAgICAgY29uc3QgeyBjYWxjRGF0YSB9ID0gdGhpcw0KDQogICAgICBjYWxjRGF0YSgpDQogICAgfSwNCiAgICBhc3luYyBjYWxjRGF0YSAoKSB7DQogICAgICBjb25zdCB7IG1lcmdlQ29uZmlnLCBjcmVhdGVGbHlsaW5lUGF0aHMsIGNhbGNMaW5lTGVuZ3RocyB9ID0gdGhpcw0KDQogICAgICBtZXJnZUNvbmZpZygpDQoNCiAgICAgIGNyZWF0ZUZseWxpbmVQYXRocygpDQoNCiAgICAgIGF3YWl0IGNhbGNMaW5lTGVuZ3RocygpDQoNCiAgICAgIGNvbnN0IHsgY2FsY1RpbWVzLCBjYWxjVGV4dHMgfSA9IHRoaXMNCg0KICAgICAgY2FsY1RpbWVzKCkNCg0KICAgICAgY2FsY1RleHRzKCkNCiAgICB9LA0KICAgIG1lcmdlQ29uZmlnICgpIHsNCiAgICAgIGxldCB7IGNvbmZpZywgZGVmYXVsdENvbmZpZyB9ID0gdGhpcw0KDQogICAgICBjb25zdCBtZXJnZWRDb25maWcgPSBkZWVwTWVyZ2UoZGVlcENsb25lKGRlZmF1bHRDb25maWcsIHRydWUpLCBjb25maWcgfHwge30pDQoNCiAgICAgIGNvbnN0IHsgcG9pbnRzIH0gPSBtZXJnZWRDb25maWcNCg0KICAgICAgbWVyZ2VkQ29uZmlnLnBvaW50cyA9IHBvaW50cy5tYXAoaXRlbSA9PiB7DQogICAgICAgIGlmIChpdGVtIGluc3RhbmNlb2YgQXJyYXkpIHsNCiAgICAgICAgICByZXR1cm4geyBwb3NpdGlvbjogaXRlbSwgdGV4dDogJycgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGl0ZW0NCiAgICAgIH0pDQoNCiAgICAgIHRoaXMubWVyZ2VkQ29uZmlnID0gbWVyZ2VkQ29uZmlnDQogICAgfSwNCiAgICBjcmVhdGVGbHlsaW5lUGF0aHMgKCkgew0KICAgICAgY29uc3QgeyBnZXRQYXRoLCBtZXJnZWRDb25maWcsIHdpZHRoLCBoZWlnaHQgfSA9IHRoaXMNCg0KICAgICAgbGV0IHsgY2VudGVyUG9pbnQsIHBvaW50cywgcmVsYXRpdmUgfSA9IG1lcmdlZENvbmZpZw0KDQogICAgICBwb2ludHMgPSBwb2ludHMubWFwKCh7IHBvc2l0aW9uIH0pID0+IHBvc2l0aW9uKQ0KDQogICAgICBpZiAocmVsYXRpdmUpIHsNCiAgICAgICAgY2VudGVyUG9pbnQgPSBbd2lkdGggKiBjZW50ZXJQb2ludFswXSwgaGVpZ2h0ICogY2VudGVyUG9pbnRbMV1dDQogICAgICAgIHBvaW50cyA9IHBvaW50cy5tYXAoKFt4LCB5XSkgPT4gW3dpZHRoICogeCwgaGVpZ2h0ICogeV0pDQogICAgICB9DQoNCiAgICAgIHRoaXMucGF0aHMgPSBwb2ludHMubWFwKHBvaW50ID0+IGdldFBhdGgoY2VudGVyUG9pbnQsIHBvaW50KSkNCiAgICB9LA0KICAgIGdldFBhdGggKGNlbnRlciwgcG9pbnQpIHsNCiAgICAgIGNvbnN0IHsgZ2V0Q29udHJvbFBvaW50IH0gPSB0aGlzDQoNCiAgICAgIGNvbnN0IGNvbnRyb2xQb2ludCA9IGdldENvbnRyb2xQb2ludChjZW50ZXIsIHBvaW50KQ0KDQogICAgICByZXR1cm4gW3BvaW50LCBjb250cm9sUG9pbnQsIGNlbnRlcl0NCiAgICB9LA0KICAgIGdldENvbnRyb2xQb2ludCAoW3N4LCBzeV0sIFtleCwgZXldKSB7DQogICAgICBjb25zdCB7IGdldEtMaW5lUG9pbnRCeXgsIG1lcmdlZENvbmZpZyB9ID0gdGhpcw0KDQogICAgICBjb25zdCB7IGN1cnZhdHVyZSwgayB9ID0gbWVyZ2VkQ29uZmlnDQoNCiAgICAgIGNvbnN0IFtteCwgbXldID0gWyhzeCArIGV4KSAvIDIsIChzeSArIGV5KSAvIDJdDQoNCiAgICAgIGNvbnN0IGRpc3RhbmNlID0gZ2V0UG9pbnREaXN0YW5jZShbc3gsIHN5XSwgW2V4LCBleV0pDQoNCiAgICAgIGNvbnN0IHRhcmdldExlbmd0aCA9IGRpc3RhbmNlIC8gY3VydmF0dXJlDQogICAgICBjb25zdCBkaXNEaXZlZCA9IHRhcmdldExlbmd0aCAvIDINCg0KICAgICAgbGV0IFtkeCwgZHldID0gW214LCBteV0NCg0KICAgICAgZG8gew0KICAgICAgICBkeCArPSBkaXNEaXZlZA0KICAgICAgICBkeSA9IGdldEtMaW5lUG9pbnRCeXgoaywgW214LCBteV0sIGR4KVsxXQ0KICAgICAgfSB3aGlsZSAoZ2V0UG9pbnREaXN0YW5jZShbbXgsIG15XSwgW2R4LCBkeV0pIDwgdGFyZ2V0TGVuZ3RoKQ0KDQogICAgICByZXR1cm4gW2R4LCBkeV0NCiAgICB9LA0KICAgIGdldEtMaW5lUG9pbnRCeXggKGssIFtseCwgbHldLCB4KSB7DQogICAgICBjb25zdCB5ID0gbHkgLSBrICogbHggKyBrICogeA0KDQogICAgICByZXR1cm4gW3gsIHldDQogICAgfSwNCiAgICBhc3luYyBjYWxjTGluZUxlbmd0aHMgKCkgew0KICAgICAgY29uc3QgeyAkbmV4dFRpY2ssIHBhdGhzLCAkcmVmcyB9ID0gdGhpcw0KDQogICAgICBhd2FpdCAkbmV4dFRpY2soKQ0KDQogICAgICB0aGlzLmxlbmd0aHMgPSBwYXRocy5tYXAoKGZvbywgaSkgPT4gJHJlZnNbYHBhdGgke2l9YF1bMF0uZ2V0VG90YWxMZW5ndGgoKSkNCiAgICB9LA0KICAgIGNhbGNUaW1lcyAoKSB7DQogICAgICBjb25zdCB7IGR1cmF0aW9uLCBwb2ludHMgfSA9IHRoaXMubWVyZ2VkQ29uZmlnDQoNCiAgICAgIHRoaXMudGltZXMgPSBwb2ludHMubWFwKGZvbyA9PiByYW5kb21FeHRlbmQoLi4uZHVyYXRpb24pIC8gMTApDQogICAgfSwNCiAgICBjYWxjVGV4dHMgKCkgew0KICAgICAgY29uc3QgeyBwb2ludHMgfSA9IHRoaXMubWVyZ2VkQ29uZmlnDQoNCiAgICAgIHRoaXMudGV4dHMgPSBwb2ludHMubWFwKCh7IHRleHQgfSkgPT4gdGV4dCkNCiAgICB9LA0KICAgIGNvbnNvbGVDbGlja1BvcyAoeyBvZmZzZXRYLCBvZmZzZXRZIH0pIHsNCiAgICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCwgZGV2IH0gPSB0aGlzDQoNCiAgICAgIGlmICghZGV2KSByZXR1cm4NCg0KICAgICAgY29uc3QgcmVsYXRpdmVYID0gKG9mZnNldFggLyB3aWR0aCkudG9GaXhlZCgyKQ0KICAgICAgY29uc3QgcmVsYXRpdmVZID0gKG9mZnNldFkgLyBoZWlnaHQpLnRvRml4ZWQoMikNCg0KICAgICAgY29uc29sZS53YXJuKGBkdi1mbHlsaW5lLWNoYXJ0IERFVjogXG4gQ2xpY2sgUG9zaXRpb24gaXMgWyR7b2Zmc2V0WH0sICR7b2Zmc2V0WX1dIFxuIFJlbGF0aXZlIFBvc2l0aW9uIGlzIFske3JlbGF0aXZlWH0sICR7cmVsYXRpdmVZfV1gKQ0KICAgIH0NCiAgfQ0KfQ0K"},{"version":3,"sources":["main.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuJA;;AAEA;;AAEA;;AAEA;;AAEA;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;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA","file":"main.vue","sourceRoot":"node_modules/@jiaminghi/data-view/lib/components/flylineChart/src","sourcesContent":["<template>\r\n <div\r\n class=\"dv-flyline-chart\"\r\n ref=\"dv-flyline-chart\"\r\n :style=\"`background-image: url(${mergedConfig ? mergedConfig.bgImgUrl : ''})`\"\r\n @click=\"consoleClickPos\"\r\n >\r\n <svg v-if=\"mergedConfig\" :width=\"width\" :height=\"height\">\r\n <defs>\r\n <radialGradient\r\n :id=\"gradientId\"\r\n cx=\"50%\" cy=\"50%\" r=\"50%\"\r\n >\r\n <stop\r\n offset=\"0%\" stop-color=\"#fff\"\r\n stop-opacity=\"1\"\r\n />\r\n <stop\r\n offset=\"100%\" stop-color=\"#fff\"\r\n stop-opacity=\"0\"\r\n />\r\n </radialGradient>\r\n\r\n <radialGradient\r\n :id=\"gradient2Id\"\r\n cx=\"50%\" cy=\"50%\" r=\"50%\"\r\n >\r\n <stop\r\n offset=\"0%\" stop-color=\"#fff\"\r\n stop-opacity=\"0\"\r\n />\r\n <stop\r\n offset=\"100%\" stop-color=\"#fff\"\r\n stop-opacity=\"1\"\r\n />\r\n </radialGradient>\r\n\r\n <circle\r\n v-if=\"paths[0]\"\r\n :id=\"`circle${paths[0].toString()}`\"\r\n :cx=\"paths[0][2][0]\"\r\n :cy=\"paths[0][2][1]\"\r\n >\r\n <animate\r\n attributeName=\"r\"\r\n :values=\"`1;${mergedConfig.halo.radius}`\"\r\n :dur=\"mergedConfig.halo.duration / 10 + 's'\"\r\n repeatCount=\"indefinite\"\r\n />\r\n <animate\r\n attributeName=\"opacity\"\r\n values=\"1;0\"\r\n :dur=\"mergedConfig.halo.duration / 10 + 's'\"\r\n repeatCount=\"indefinite\"\r\n />\r\n </circle>\r\n </defs>\r\n\r\n <image\r\n v-if=\"paths[0]\"\r\n :xlink:href=\"mergedConfig.centerPointImg.url\"\r\n :width=\"mergedConfig.centerPointImg.width\"\r\n :height=\"mergedConfig.centerPointImg.height\"\r\n :x=\"paths[0][2][0] - mergedConfig.centerPointImg.width / 2\"\r\n :y=\"paths[0][2][1] - mergedConfig.centerPointImg.height / 2\"\r\n />\r\n\r\n <mask :id=\"`maskhalo${paths[0].toString()}`\">\r\n <use\r\n v-if=\"paths[0]\"\r\n :xlink:href=\"`#circle${paths[0].toString()}`\"\r\n :fill=\"`url(#${gradient2Id})`\"\r\n />\r\n </mask>\r\n\r\n <use\r\n v-if=\"paths[0] && mergedConfig.halo.show\"\r\n :xlink:href=\"`#circle${paths[0].toString()}`\"\r\n :fill=\"mergedConfig.halo.color\"\r\n :mask=\"`url(#maskhalo${paths[0].toString()})`\"\r\n />\r\n\r\n <g\r\n v-for=\"(path, i) in paths\"\r\n :key=\"i\"\r\n >\r\n <defs>\r\n <path\r\n :id=\"`path${path.toString()}`\"\r\n :ref=\"`path${i}`\"\r\n :d=\"`M${path[0].toString()} Q${path[1].toString()} ${path[2].toString()}`\"\r\n fill=\"transparent\"\r\n />\r\n </defs>\r\n\r\n <use\r\n :xlink:href=\"`#path${path.toString()}`\"\r\n :stroke-width=\"mergedConfig.lineWidth\"\r\n :stroke=\"mergedConfig.orbitColor\"\r\n />\r\n\r\n <use\r\n v-if=\"lengths[i]\"\r\n :xlink:href=\"`#path${path.toString()}`\"\r\n :stroke-width=\"mergedConfig.lineWidth\"\r\n :stroke=\"mergedConfig.flylineColor\"\r\n :mask=\"`url(#mask${unique}${path.toString()})`\"\r\n >\r\n <animate\r\n attributeName=\"stroke-dasharray\"\r\n :from=\"`0, ${lengths[i]}`\"\r\n :to=\"`${lengths[i]}, 0`\"\r\n :dur=\"times[i] || 0\"\r\n repeatCount=\"indefinite\"\r\n />\r\n </use>\r\n\r\n <mask :id=\"`mask${unique}${path.toString()}`\">\r\n <circle cx=\"0\" cy=\"0\" :r=\"mergedConfig.flylineRadius\" :fill=\"`url(#${gradientId})`\">\r\n <animateMotion\r\n :dur=\"times[i] || 0\"\r\n :path=\"`M${path[0].toString()} Q${path[1].toString()} ${path[2].toString()}`\"\r\n rotate=\"auto\"\r\n repeatCount=\"indefinite\"\r\n />\r\n </circle>\r\n </mask>\r\n\r\n <image\r\n :xlink:href=\"mergedConfig.pointsImg.url\"\r\n :width=\"mergedConfig.pointsImg.width\"\r\n :height=\"mergedConfig.pointsImg.height\"\r\n :x=\"path[0][0] - mergedConfig.pointsImg.width / 2\"\r\n :y=\"path[0][1] - mergedConfig.pointsImg.height / 2\"\r\n />\r\n\r\n <text\r\n :style=\"`fontSize:${mergedConfig.text.fontSize}px;`\"\r\n :fill=\"mergedConfig.text.color\"\r\n :x=\"path[0][0] + mergedConfig.text.offset[0]\"\r\n :y=\"path[0][1] + mergedConfig.text.offset[1]\"\r\n >\r\n {{ texts[i] }}\r\n </text>\r\n\r\n </g>\r\n </svg>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { deepMerge } from '@jiaminghi/charts/lib/util/index'\r\n\r\nimport { deepClone } from '@jiaminghi/c-render/lib/plugin/util'\r\n\r\nimport { randomExtend, getPointDistance } from '../../../util/index'\r\n\r\nimport autoResize from '../../../mixin/autoResize'\r\n\r\nexport default {\r\n name: 'DvFlylineChart',\r\n mixins: [autoResize],\r\n props: {\r\n config: {\r\n type: Object,\r\n default: () => ({})\r\n },\r\n dev: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n data () {\r\n const timestamp = Date.now()\r\n return {\r\n ref: 'dv-flyline-chart',\r\n unique: Math.random(),\r\n maskId: `flyline-mask-id-${timestamp}`,\r\n maskCircleId: `mask-circle-id-${timestamp}`,\r\n gradientId: `gradient-id-${timestamp}`,\r\n gradient2Id: `gradient2-id-${timestamp}`,\r\n\r\n defaultConfig: {\r\n /**\r\n * @description Flyline chart center point\r\n * @type {Array<Number>}\r\n * @default centerPoint = [0, 0]\r\n */\r\n centerPoint: [0, 0],\r\n /**\r\n * @description Flyline start points\r\n * @type {Array<Array<Number>>}\r\n * @default points = []\r\n * @example points = [[10, 10], [100, 100]]\r\n */\r\n points: [],\r\n /**\r\n * @description Flyline width\r\n * @type {Number}\r\n * @default lineWidth = 1\r\n */\r\n lineWidth: 1,\r\n /**\r\n * @description Orbit color\r\n * @type {String}\r\n * @default orbitColor = 'rgba(103, 224, 227, .2)'\r\n */\r\n orbitColor: 'rgba(103, 224, 227, .2)',\r\n /**\r\n * @description Flyline color\r\n * @type {String}\r\n * @default orbitColor = '#ffde93'\r\n */\r\n flylineColor: '#ffde93',\r\n /**\r\n * @description K value\r\n * @type {Number}\r\n * @default k = -0.5\r\n * @example k = -1 ~ 1\r\n */\r\n k: -0.5,\r\n /**\r\n * @description Flyline curvature\r\n * @type {Number}\r\n * @default curvature = 5\r\n */\r\n curvature: 5,\r\n /**\r\n * @description Flyline radius\r\n * @type {Number}\r\n * @default flylineRadius = 100\r\n */\r\n flylineRadius: 100,\r\n /**\r\n * @description Flyline animation duration\r\n * @type {Array<Number>}\r\n * @default duration = [20, 30]\r\n */\r\n duration: [20, 30],\r\n /**\r\n * @description Relative points position\r\n * @type {Boolean}\r\n * @default relative = true\r\n */\r\n relative: true,\r\n /**\r\n * @description Back ground image url\r\n * @type {String}\r\n * @default bgImgUrl = ''\r\n * @example bgImgUrl = './img/bg.jpg'\r\n */\r\n bgImgUrl: '',\r\n /**\r\n * @description Text configuration\r\n * @type {Object}\r\n */\r\n text: {\r\n /**\r\n * @description Text offset\r\n * @type {Array<Number>}\r\n * @default offset = [0, 15]\r\n */\r\n offset: [0, 15],\r\n /**\r\n * @description Text color\r\n * @type {String}\r\n * @default color = '#ffdb5c'\r\n */\r\n color: '#ffdb5c',\r\n /**\r\n * @description Text font size\r\n * @type {Number}\r\n * @default fontSize = 12\r\n */\r\n fontSize: 12\r\n },\r\n /**\r\n * @description Halo configuration\r\n * @type {Object}\r\n */\r\n halo: {\r\n /**\r\n * @description Weather to show halo\r\n * @type {Boolean}\r\n * @default show = true\r\n * @example show = true | false\r\n */\r\n show: true,\r\n /**\r\n * @description Halo animation duration (10 = 1s)\r\n * @type {Number}\r\n * @default duration = 30\r\n */\r\n duration: 30,\r\n /**\r\n * @description Halo color\r\n * @type {String}\r\n * @default color = '#fb7293'\r\n */\r\n color: '#fb7293',\r\n /**\r\n * @description Halo max radius\r\n * @type {Number}\r\n * @default radius = 120\r\n */\r\n radius: 120\r\n },\r\n /**\r\n * @description Center point img configuration\r\n * @type {Object}\r\n */\r\n centerPointImg: {\r\n /**\r\n * @description Center point img width\r\n * @type {Number}\r\n * @default width = 40\r\n */\r\n width: 40,\r\n /**\r\n * @description Center point img height\r\n * @type {Number}\r\n * @default height = 40\r\n */\r\n height: 40,\r\n /**\r\n * @description Center point img url\r\n * @type {String}\r\n * @default url = ''\r\n */\r\n url: ''\r\n },\r\n /**\r\n * @description Points img configuration\r\n * @type {Object}\r\n * @default radius = 120\r\n */\r\n pointsImg: {\r\n /**\r\n * @description Points img width\r\n * @type {Number}\r\n * @default width = 15\r\n */\r\n width: 15,\r\n /**\r\n * @description Points img height\r\n * @type {Number}\r\n * @default height = 15\r\n */\r\n height: 15,\r\n /**\r\n * @description Points img url\r\n * @type {String}\r\n * @default url = ''\r\n */\r\n url: ''\r\n }\r\n },\r\n\r\n mergedConfig: null,\r\n\r\n paths: [],\r\n lengths: [],\r\n times: [],\r\n texts: []\r\n }\r\n },\r\n watch: {\r\n config () {\r\n const { calcData } = this\r\n\r\n calcData()\r\n }\r\n },\r\n methods: {\r\n afterAutoResizeMixinInit () {\r\n const { calcData } = this\r\n\r\n calcData()\r\n },\r\n onResize () {\r\n const { calcData } = this\r\n\r\n calcData()\r\n },\r\n async calcData () {\r\n const { mergeConfig, createFlylinePaths, calcLineLengths } = this\r\n\r\n mergeConfig()\r\n\r\n createFlylinePaths()\r\n\r\n await calcLineLengths()\r\n\r\n const { calcTimes, calcTexts } = this\r\n\r\n calcTimes()\r\n\r\n calcTexts()\r\n },\r\n mergeConfig () {\r\n let { config, defaultConfig } = this\r\n\r\n const mergedConfig = deepMerge(deepClone(defaultConfig, true), config || {})\r\n\r\n const { points } = mergedConfig\r\n\r\n mergedConfig.points = points.map(item => {\r\n if (item instanceof Array) {\r\n return { position: item, text: '' }\r\n }\r\n\r\n return item\r\n })\r\n\r\n this.mergedConfig = mergedConfig\r\n },\r\n createFlylinePaths () {\r\n const { getPath, mergedConfig, width, height } = this\r\n\r\n let { centerPoint, points, relative } = mergedConfig\r\n\r\n points = points.map(({ position }) => position)\r\n\r\n if (relative) {\r\n centerPoint = [width * centerPoint[0], height * centerPoint[1]]\r\n points = points.map(([x, y]) => [width * x, height * y])\r\n }\r\n\r\n this.paths = points.map(point => getPath(centerPoint, point))\r\n },\r\n getPath (center, point) {\r\n const { getControlPoint } = this\r\n\r\n const controlPoint = getControlPoint(center, point)\r\n\r\n return [point, controlPoint, center]\r\n },\r\n getControlPoint ([sx, sy], [ex, ey]) {\r\n const { getKLinePointByx, mergedConfig } = this\r\n\r\n const { curvature, k } = mergedConfig\r\n\r\n const [mx, my] = [(sx + ex) / 2, (sy + ey) / 2]\r\n\r\n const distance = getPointDistance([sx, sy], [ex, ey])\r\n\r\n const targetLength = distance / curvature\r\n const disDived = targetLength / 2\r\n\r\n let [dx, dy] = [mx, my]\r\n\r\n do {\r\n dx += disDived\r\n dy = getKLinePointByx(k, [mx, my], dx)[1]\r\n } while (getPointDistance([mx, my], [dx, dy]) < targetLength)\r\n\r\n return [dx, dy]\r\n },\r\n getKLinePointByx (k, [lx, ly], x) {\r\n const y = ly - k * lx + k * x\r\n\r\n return [x, y]\r\n },\r\n async calcLineLengths () {\r\n const { $nextTick, paths, $refs } = this\r\n\r\n await $nextTick()\r\n\r\n this.lengths = paths.map((foo, i) => $refs[`path${i}`][0].getTotalLength())\r\n },\r\n calcTimes () {\r\n const { duration, points } = this.mergedConfig\r\n\r\n this.times = points.map(foo => randomExtend(...duration) / 10)\r\n },\r\n calcTexts () {\r\n const { points } = this.mergedConfig\r\n\r\n this.texts = points.map(({ text }) => text)\r\n },\r\n consoleClickPos ({ offsetX, offsetY }) {\r\n const { width, height, dev } = this\r\n\r\n if (!dev) return\r\n\r\n const relativeX = (offsetX / width).toFixed(2)\r\n const relativeY = (offsetY / height).toFixed(2)\r\n\r\n console.warn(`dv-flyline-chart DEV: \\n Click Position is [${offsetX}, ${offsetY}] \\n Relative Position is [${relativeX}, ${relativeY}]`)\r\n }\r\n }\r\n}\r\n</script>"]}]} |