Repository: fantasykai/vue-admin-manager Branch: master Commit: 985096c77cdf Files: 239 Total size: 2.0 MB Directory structure: gitextract_xwlge5m5/ ├── .babelrc ├── .editorconfig ├── .gitignore ├── .postcssrc.js ├── README.md ├── build/ │ ├── build.js │ ├── check-versions.js │ ├── dev-client.js │ ├── dev-server.js │ ├── utils.js │ ├── vendor-manifest.json │ ├── vue-loader.conf.js │ ├── webpack.base.conf.js │ ├── webpack.dev.conf.js │ ├── webpack.dll.conf.js │ └── webpack.prod.conf.js ├── config/ │ ├── dev.env.js │ ├── index.js │ ├── prod.env.js │ └── sit.env.js ├── index.html ├── package.json ├── src/ │ ├── App.vue │ ├── api/ │ │ ├── aggregate.js │ │ ├── index.js │ │ ├── manage.js │ │ ├── messages.js │ │ ├── sts.js │ │ ├── users.js │ │ └── userstats.js │ ├── assets/ │ │ ├── iconfont/ │ │ │ └── iconfont.js │ │ └── theme/ │ │ ├── theme-darkblue/ │ │ │ ├── alert.css │ │ │ ├── autocomplete.css │ │ │ ├── badge.css │ │ │ ├── base.css │ │ │ ├── breadcrumb-item.css │ │ │ ├── breadcrumb.css │ │ │ ├── button-group.css │ │ │ ├── button.css │ │ │ ├── card.css │ │ │ ├── carousel-item.css │ │ │ ├── carousel.css │ │ │ ├── cascader.css │ │ │ ├── checkbox-group.css │ │ │ ├── checkbox.css │ │ │ ├── col.css │ │ │ ├── collapse-item.css │ │ │ ├── collapse.css │ │ │ ├── color-picker.css │ │ │ ├── date-picker.css │ │ │ ├── dialog.css │ │ │ ├── dropdown-item.css │ │ │ ├── dropdown-menu.css │ │ │ ├── dropdown.css │ │ │ ├── form-item.css │ │ │ ├── form.css │ │ │ ├── icon.css │ │ │ ├── index.css │ │ │ ├── input-number.css │ │ │ ├── input.css │ │ │ ├── loading.css │ │ │ ├── menu-item-group.css │ │ │ ├── menu-item.css │ │ │ ├── menu.css │ │ │ ├── message-box.css │ │ │ ├── message.css │ │ │ ├── notification.css │ │ │ ├── option-group.css │ │ │ ├── option.css │ │ │ ├── pagination.css │ │ │ ├── popover.css │ │ │ ├── progress.css │ │ │ ├── radio-button.css │ │ │ ├── radio-group.css │ │ │ ├── radio.css │ │ │ ├── rate.css │ │ │ ├── reset.css │ │ │ ├── row.css │ │ │ ├── scrollbar.css │ │ │ ├── select-dropdown.css │ │ │ ├── select.css │ │ │ ├── slider.css │ │ │ ├── spinner.css │ │ │ ├── step.css │ │ │ ├── steps.css │ │ │ ├── submenu.css │ │ │ ├── switch.css │ │ │ ├── tab-pane.css │ │ │ ├── table-column.css │ │ │ ├── table.css │ │ │ ├── tabs.css │ │ │ ├── tag.css │ │ │ ├── time-picker.css │ │ │ ├── time-select.css │ │ │ ├── tooltip.css │ │ │ ├── tree.css │ │ │ └── upload.css │ │ └── theme-green/ │ │ ├── alert.css │ │ ├── autocomplete.css │ │ ├── badge.css │ │ ├── base.css │ │ ├── breadcrumb-item.css │ │ ├── breadcrumb.css │ │ ├── button-group.css │ │ ├── button.css │ │ ├── card.css │ │ ├── carousel-item.css │ │ ├── carousel.css │ │ ├── cascader.css │ │ ├── checkbox-group.css │ │ ├── checkbox.css │ │ ├── col.css │ │ ├── collapse-item.css │ │ ├── collapse.css │ │ ├── color-picker.css │ │ ├── date-picker.css │ │ ├── dialog.css │ │ ├── dropdown-item.css │ │ ├── dropdown-menu.css │ │ ├── dropdown.css │ │ ├── form-item.css │ │ ├── form.css │ │ ├── icon.css │ │ ├── index.css │ │ ├── input-number.css │ │ ├── input.css │ │ ├── loading.css │ │ ├── menu-item-group.css │ │ ├── menu-item.css │ │ ├── menu.css │ │ ├── message-box.css │ │ ├── message.css │ │ ├── notification.css │ │ ├── option-group.css │ │ ├── option.css │ │ ├── pagination.css │ │ ├── popover.css │ │ ├── progress.css │ │ ├── radio-button.css │ │ ├── radio-group.css │ │ ├── radio.css │ │ ├── rate.css │ │ ├── reset.css │ │ ├── row.css │ │ ├── scrollbar.css │ │ ├── select-dropdown.css │ │ ├── select.css │ │ ├── slider.css │ │ ├── spinner.css │ │ ├── step.css │ │ ├── steps.css │ │ ├── submenu.css │ │ ├── switch.css │ │ ├── tab-pane.css │ │ ├── table-column.css │ │ ├── table.css │ │ ├── tabs.css │ │ ├── tag.css │ │ ├── time-picker.css │ │ ├── time-select.css │ │ ├── tooltip.css │ │ ├── tree.css │ │ └── upload.css │ ├── components/ │ │ ├── common/ │ │ │ ├── HomeMenu.vue │ │ │ ├── Icon-svg/ │ │ │ │ └── index.vue │ │ │ ├── ShowVideo.vue │ │ │ └── error/ │ │ │ ├── 401.vue │ │ │ └── 404.vue │ │ └── page/ │ │ ├── Login.vue │ │ ├── dashboard/ │ │ │ ├── Dashboard.vue │ │ │ ├── HelloSys.vue │ │ │ └── index.vue │ │ ├── friends/ │ │ │ ├── FriendRows.vue │ │ │ ├── FriendsInRow.vue │ │ │ ├── FriendsManage.vue │ │ │ ├── UserRelationInfo.vue │ │ │ └── stat/ │ │ │ └── FrisNumCycleCharts.vue │ │ ├── msg/ │ │ │ └── stat/ │ │ │ └── MsgNumCycleCharts.vue │ │ ├── operation/ │ │ │ ├── AnchorMsgMass.vue │ │ │ ├── AutoReplyCfg.vue │ │ │ ├── AutoReplyCfgList.vue │ │ │ └── OperatingAccountManage.vue │ │ ├── uploadOSS/ │ │ │ └── UploadOSS.vue │ │ ├── userDataStat/ │ │ │ ├── GeoUserNumCityRanked.vue │ │ │ ├── LoggedUserNumCycleCharts.vue │ │ │ └── UserNumCycleCharts.vue │ │ └── userManage/ │ │ └── UserManage.vue │ ├── config/ │ │ └── index.js │ ├── filters/ │ │ └── index.js │ ├── main.js │ ├── mock/ │ │ ├── data/ │ │ │ ├── dashboard.js │ │ │ ├── msgData.js │ │ │ ├── ststoken.js │ │ │ ├── trendData.js │ │ │ └── users.js │ │ ├── index.js │ │ └── mock.js │ ├── routes.js │ ├── store/ │ │ ├── actions.js │ │ ├── getters.js │ │ ├── index.js │ │ ├── modules/ │ │ │ ├── permission.js │ │ │ └── user.js │ │ ├── mutations.js │ │ └── state.js │ ├── styles/ │ │ └── vars.scss │ ├── utils/ │ │ ├── fetch.js │ │ └── index.js │ └── vendor/ │ ├── Blob.js │ └── Export2Excel.js └── static/ ├── .gitkeep ├── channelCode.json ├── css/ │ ├── color-dark.css │ ├── datasource.css │ ├── main.css │ └── theme-green/ │ ├── color-green.css │ └── index.css ├── data.json ├── errCodeCN.json ├── js/ │ └── vendor.dll.js ├── map/ │ └── china.json └── requestList/ ├── activeAppVersion.json ├── activeDevType.json ├── activePhoneBrand.json ├── activePhoneModel.json ├── appVersion.json ├── channel.json ├── cycleFrisNum.json ├── cycleLoggedUserNum.json ├── cycleMsgNum.json ├── cycleUserNum.json ├── devType.json ├── formatTest.json ├── friendNumsRanked.json ├── phoneBrand.json ├── phoneModel.json ├── sendMsgCount.json ├── sendMsgNumsRanked.json └── userNumByGeo.json ================================================ FILE CONTENTS ================================================ ================================================ FILE: .babelrc ================================================ { "presets": [ ["env", { "modules": false }], "stage-2" ], "plugins": ["transform-runtime"], "comments": false, "env": { "test": { "presets": ["env", "stage-2"], "plugins": [ "istanbul" ] } } } ================================================ FILE: .editorconfig ================================================ root = true [*] charset = utf-8 indent_style = space indent_size = 4 end_of_line = lf insert_final_newline = true trim_trailing_whitespace = true ================================================ FILE: .gitignore ================================================ .DS_Store node_modules/ dist/ npm-debug.log* yarn-debug.log* yarn-error.log* .idea package-lock.js package-lock.json ================================================ FILE: .postcssrc.js ================================================ // https://github.com/michael-ciniawsky/postcss-load-config module.exports = { "plugins": { // to edit target browsers: use "browserlist" field in package.json "autoprefixer": {} } } ================================================ FILE: README.md ================================================ 有同学反馈 启动报错,应该是npm 依赖的问题 我的版本信息附上,供参考,但以上版本应该都支持 - npm 5.4.1 - node v8.4.0 - vue 大于 2.4.4 - vue-echarts-v3 的版本要注意下,之前开发时就发现不同的版本,引入的玩法会变 --- 更新: 主分支master 更新为动态加载菜单: 根据用户的权限,动态分配加载菜单,主要通过使用addRoutes,meta,等特性实现 --- # DEMO 展示数据通过mock.js 构造 [Demo 地址](https://fantasykai.github.io/vue-admin-manager) # vue-admin-manager > 后端研发一枚,初创公司,目前没有web端开发,逐步需要做运维,运营的页面,想要快速开展工作, > 就去了解了下目前比较火的,react 、vue 、angular,对比之后,感觉目前vue是最合适的, > 去官网熟悉了一下,写了几个demo,就开始做这个后台,借鉴很多github上的优秀作品,自己也 > 输出一下,也方便自己回顾 # 简介 项目为SPA,前后端分离,前端使用vue-cli构建,认证使用JWT,后端数据库为mongodb,后端提供 restful接口,统计功能非常方便,在前端封装好aggregate,mapReduce,条件, 类似于前端组装好查询条件,后端直接吐对应的结果。 ## 项目架构  ## Build Setup ``` bash # install dependencies npm install # serve with hot reload at localhost:8080 npm run dev # 发布测试环境 包含 webpack ananalyzer npm run build:sit-preview # 构建生成环境 npm run build:prod ``` ## 目录结构 ```shell ├── build // 构建相关 ├── config // 配置相关 ├── src // 源代码 │ ├── api // 所有请求 │ ├── assets // 主题 字体等静态资源 │ ├── components // 全局公用组件(及页面) │ ├── config // 配置项 │ ├── directive // 全局指令 │ ├── filtres // 全局filter │ ├── mock // mock数据 │ ├── router // 路由 │ ├── store // 全局store管理 │ ├── styles // 全局样式 │ ├── utils // 全局公用方法 │ ├── App.vue // 入口页面 │ └── main.js // 入口 加载组件 初始化等 ├── static // 第三方不打包资源 ├── .babelrc // babel-loader 配置 ├── .editorconfig // 代码风格文件,前提是要你的编辑器支持 ├── .gitignore // 用于Git配置不需要加入版本管理的文件 ├── .postcssrc.js // autoprefixer的配置文件 └── package.json // 项目依赖管理 ``` ## 技术栈 - axios - element-ui - moment 日期处理 - vue2X、vue-router、vuex ### 工具集 - vue-datasource - vue-echarts-v3 - vue-quill-editor - vue-simplemde - vue-video-player ### UI方案 #### UI - element-ui - bootstrap(AdminLTE) #### 扩展图标 - font-awesome - ionicons ### 项目模块 - [x] 登录认证(目前基于JWT,)todo 支持Oauth2,支持第三方登录 - [x] 应用概况 Dashboard 各种图标统计 - [x] 数据趋势:注册用户,活跃用户,用户关系,等 - [x] 用户管理 目前只做了查询 - [x] 数据维护 支持视频,图片的查看 ### TODO - [x] 已完成 折叠导航栏 - [x] 已完成 登录获取用户昵称 - [x] 已完成 统计图标抽取 - [x] 已完成 接入阿里云OSS,STS(临时认证服务) - [x] 已完成 支持视频播放 - [x] vuex状态管理 (目前只记录了用户token信息) - [] Dashboard中的echart图标,组件化重构 (第一次使用时,写的,代码比较冗余,后续拆成组件) - [x] 404页面组件(目前空白),考虑使用自己博客上的腾讯公益 - [] 401页面组件 - [] 响应式,支持手机 ### 备注 Dashboard 页面使用了vue-echarts-v3组件,是刚开始熟悉vue时,硬撸出来的,无美感可言啊。后面逐步熟悉及应用起来组件的思想才, 代码尚需逐步优化,哈哈 - [个人博客 https://aimak.cn](https://aimak.cn) ================================================ FILE: build/build.js ================================================ require('./check-versions')(); var server = require('pushstate-server'); var opn = require('opn') var ora = require('ora') var rm = require('rimraf') var path = require('path') var chalk = require('chalk') var webpack = require('webpack') var config = require('../config') var webpackConfig = require('./webpack.prod.conf') console.log(process.env.NODE_ENV) var spinner = ora('building for ' + process.env.NODE_ENV + '...') spinner.start() rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => { if (err) throw err webpack(webpackConfig, function (err, stats) { spinner.stop() if (err) throw err process.stdout.write(stats.toString({ colors: true, modules: false, children: false, chunks: false, chunkModules: false }) + '\n\n') console.log(chalk.cyan(' Build complete.\n')) if(process.env.npm_config_preview){ server.start({ port: 18086, directory: './dist', file: '/index.html' }); console.log('> Listening at ' + 'http://localhost:18086' + '\n') } }) }) ================================================ FILE: build/check-versions.js ================================================ var chalk = require('chalk') var semver = require('semver') var packageConfig = require('../package.json') var shell = require('shelljs') function exec (cmd) { return require('child_process').execSync(cmd).toString().trim() } var versionRequirements = [ { name: 'node', currentVersion: semver.clean(process.version), versionRequirement: packageConfig.engines.node }, ] if (shell.which('npm')) { versionRequirements.push({ name: 'npm', currentVersion: exec('npm --version'), versionRequirement: packageConfig.engines.npm }) } module.exports = function () { var warnings = [] for (var i = 0; i < versionRequirements.length; i++) { var mod = versionRequirements[i] if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) { warnings.push(mod.name + ': ' + chalk.red(mod.currentVersion) + ' should be ' + chalk.green(mod.versionRequirement) ) } } if (warnings.length) { console.log('') console.log(chalk.yellow('To use this template, you must update following to modules:')) console.log() for (var i = 0; i < warnings.length; i++) { var warning = warnings[i] console.log(' ' + warning) } console.log() process.exit(1) } } ================================================ FILE: build/dev-client.js ================================================ /* eslint-disable */ require('eventsource-polyfill') var hotClient = require('webpack-hot-middleware/client?noInfo=true&reload=true') hotClient.subscribe(function (event) { if (event.action === 'reload') { window.location.reload() } }) ================================================ FILE: build/dev-server.js ================================================ //检查NodeJS和npm的版本 require('./check-versions')() // 获取配置 var config = require('../config') // 如果Node的环境变量中没有设置当前的环境(NODE_ENV),则使用config中的配置作为当前的环境 if (!process.env.NODE_ENV) { process.env.NODE_ENV = JSON.parse(config.dev.env.NODE_ENV) } // 一个可以调用默认软件打开网址、图片、文件等内容的插件 // 这里用它来调用默认浏览器打开dev-server监听的端口,例如:localhost:8080 var opn = require('opn') var path = require('path') var express = require('express') var webpack = require('webpack') // 一个express中间件,用于将http请求代理到其他服务器 // 例:localhost:8080/api/xxx --> localhost:3000/api/xxx // 这里使用该插件可以将前端开发中涉及到的请求代理到API服务器上,方便与服务器对接 var proxyMiddleware = require('http-proxy-middleware') var webpackConfig = require('./webpack.dev.conf') var port = process.env.PORT || config.dev.port // automatically open browser, if not set will be false var autoOpenBrowser = !!config.dev.autoOpenBrowser // Define HTTP proxies to your custom API backend // https://github.com/chimurai/http-proxy-middleware var proxyTable = config.dev.proxyTable var app = express() var compiler = webpack(webpackConfig) var devMiddleware = require('webpack-dev-middleware')(compiler, { publicPath: webpackConfig.output.publicPath, quiet: true }) var hotMiddleware = require('webpack-hot-middleware')(compiler, { log: () => { } }) // force page reload when html-webpack-plugin template changes compiler.plugin('compilation', function (compilation) { compilation.plugin('html-webpack-plugin-after-emit', function (data, cb) { hotMiddleware.publish({action: 'reload'}) cb() }) }) // proxy api requests Object.keys(proxyTable).forEach(function (context) { var options = proxyTable[context] if (typeof options === 'string') { options = {target: options} } app.use(proxyMiddleware(options.filter || context, options)) }) // handle fallback for HTML5 history API app.use(require('connect-history-api-fallback')()) // serve webpack bundle output app.use(devMiddleware) // enable hot-reload and state-preserving // compilation error display app.use(hotMiddleware) // serve pure static assets var staticPath = path.posix.join(config.dev.assetsPublicPath, config.dev.assetsSubDirectory) app.use(staticPath, express.static('./static')) var uri = 'http://localhost:' + port var _resolve var readyPromise = new Promise(resolve => { _resolve = resolve }) console.log('> Starting dev server...') devMiddleware.waitUntilValid(() => { console.log('> Listening at ' + uri + '\n') // when env is testing, don't need open it if (autoOpenBrowser && process.env.NODE_ENV !== 'testing') { opn(uri) } _resolve() }) var server = app.listen(port) module.exports = { ready: readyPromise, close: () => { server.close() } } ================================================ FILE: build/utils.js ================================================ var path = require('path') var config = require('../config') var ExtractTextPlugin = require('extract-text-webpack-plugin') exports.assetsPath = function (_path) { var assetsSubDirectory = process.env.NODE_ENV === 'production' ? config.build.assetsSubDirectory : config.dev.assetsSubDirectory return path.posix.join(assetsSubDirectory, _path) } exports.cssLoaders = function (options) { options = options || {} var cssLoader = { loader: 'css-loader', options: { minimize: process.env.NODE_ENV === 'production', sourceMap: options.sourceMap } } // generate loader string to be used with extract text plugin function generateLoaders (loader, loaderOptions) { var loaders = [cssLoader] if (loader) { loaders.push({ loader: loader + '-loader', options: Object.assign({}, loaderOptions, { sourceMap: options.sourceMap }) }) } // Extract CSS when that option is specified // (which is the case during production build) if (options.extract) { return ExtractTextPlugin.extract({ use: loaders, fallback: 'vue-style-loader' }) } else { return ['vue-style-loader'].concat(loaders) } } // https://vue-loader.vuejs.org/en/configurations/extract-css.html return { css: generateLoaders(), postcss: generateLoaders(), less: generateLoaders('less'), sass: generateLoaders('sass', { indentedSyntax: true }), scss: generateLoaders('sass'), stylus: generateLoaders('stylus'), styl: generateLoaders('stylus') } } // Generate loaders for standalone style files (outside of .vue) exports.styleLoaders = function (options) { var output = [] var loaders = exports.cssLoaders(options) for (var extension in loaders) { var loader = loaders[extension] output.push({ test: new RegExp('\\.' + extension + '$'), use: loader }) } return output } ================================================ FILE: build/vendor-manifest.json ================================================ { "name": "vendor_library", "content": { "./node_modules/core-js/modules/_export.js": { "id": 0, "meta": {} }, "./node_modules/core-js/modules/_an-object.js": { "id": 1, "meta": {} }, "./node_modules/core-js/modules/_global.js": { "id": 2, "meta": {} }, "./node_modules/core-js/modules/_fails.js": { "id": 3, "meta": {} }, "./node_modules/core-js/modules/_is-object.js": { "id": 4, "meta": {} }, "./node_modules/core-js/modules/_wks.js": { "id": 5, "meta": {} }, "./node_modules/core-js/modules/_descriptors.js": { "id": 6, "meta": {} }, "./node_modules/core-js/modules/_object-dp.js": { "id": 7, "meta": {} }, "./node_modules/core-js/modules/_to-length.js": { "id": 8, "meta": {} }, "./node_modules/core-js/modules/_to-object.js": { "id": 9, "meta": {} }, "./node_modules/core-js/modules/_has.js": { "id": 10, "meta": {} }, "./node_modules/core-js/modules/_a-function.js": { "id": 11, "meta": {} }, "./node_modules/core-js/modules/_hide.js": { "id": 12, "meta": {} }, "./node_modules/core-js/modules/_redefine.js": { "id": 13, "meta": {} }, "./node_modules/core-js/modules/_string-html.js": { "id": 14, "meta": {} }, "./node_modules/core-js/modules/_to-iobject.js": { "id": 15, "meta": {} }, "./node_modules/axios/lib/utils.js": { "id": 16, "meta": {} }, "./node_modules/core-js/modules/_object-gopd.js": { "id": 17, "meta": {} }, "./node_modules/core-js/modules/_object-gpo.js": { "id": 18, "meta": {} }, "./node_modules/core-js/modules/_cof.js": { "id": 19, "meta": {} }, "./node_modules/core-js/modules/_defined.js": { "id": 20, "meta": {} }, "./node_modules/core-js/modules/_strict-method.js": { "id": 21, "meta": {} }, "./node_modules/core-js/modules/_array-methods.js": { "id": 22, "meta": {} }, "./node_modules/core-js/modules/_object-sap.js": { "id": 23, "meta": {} }, "./node_modules/core-js/modules/_to-primitive.js": { "id": 24, "meta": {} }, "./node_modules/core-js/modules/_core.js": { "id": 25, "meta": {} }, "./node_modules/core-js/modules/_ctx.js": { "id": 26, "meta": {} }, "./node_modules/core-js/modules/_metadata.js": { "id": 27, "meta": {} }, "./node_modules/core-js/modules/_typed-array.js": { "id": 28, "meta": {} }, "./node_modules/core-js/modules/_meta.js": { "id": 29, "meta": {} }, "./node_modules/core-js/modules/_property-desc.js": { "id": 30, "meta": {} }, "./node_modules/core-js/modules/_to-integer.js": { "id": 31, "meta": {} }, "./node_modules/core-js/modules/_an-instance.js": { "id": 32, "meta": {} }, "./node_modules/core-js/modules/_library.js": { "id": 33, "meta": {} }, "./node_modules/core-js/modules/_object-create.js": { "id": 34, "meta": {} }, "./node_modules/core-js/modules/_object-gopn.js": { "id": 35, "meta": {} }, "./node_modules/core-js/modules/_object-keys.js": { "id": 36, "meta": {} }, "./node_modules/core-js/modules/_redefine-all.js": { "id": 37, "meta": {} }, "./node_modules/core-js/modules/_set-species.js": { "id": 38, "meta": {} }, "./node_modules/core-js/modules/_to-index.js": { "id": 39, "meta": {} }, "./node_modules/core-js/modules/_uid.js": { "id": 40, "meta": {} }, "./node_modules/core-js/modules/_add-to-unscopables.js": { "id": 41, "meta": {} }, "./node_modules/core-js/modules/_for-of.js": { "id": 42, "meta": {} }, "./node_modules/core-js/modules/_iterators.js": { "id": 43, "meta": {} }, "./node_modules/core-js/modules/_set-to-string-tag.js": { "id": 44, "meta": {} }, "./node_modules/core-js/modules/_string-trim.js": { "id": 45, "meta": {} }, "./node_modules/core-js/modules/_classof.js": { "id": 46, "meta": {} }, "./node_modules/core-js/modules/_iobject.js": { "id": 47, "meta": {} }, "./node_modules/core-js/modules/_object-pie.js": { "id": 48, "meta": {} }, "./node_modules/core-js/modules/_array-includes.js": { "id": 49, "meta": {} }, "./node_modules/core-js/modules/_collection.js": { "id": 50, "meta": {} }, "./node_modules/core-js/modules/_fix-re-wks.js": { "id": 51, "meta": {} }, "./node_modules/core-js/modules/_flags.js": { "id": 52, "meta": {} }, "./node_modules/core-js/modules/_invoke.js": { "id": 53, "meta": {} }, "./node_modules/core-js/modules/_is-regexp.js": { "id": 54, "meta": {} }, "./node_modules/core-js/modules/_iter-detect.js": { "id": 55, "meta": {} }, "./node_modules/core-js/modules/_object-forced-pam.js": { "id": 56, "meta": {} }, "./node_modules/core-js/modules/_object-gops.js": { "id": 57, "meta": {} }, "./node_modules/core-js/modules/_shared.js": { "id": 58, "meta": {} }, "./node_modules/core-js/modules/_typed.js": { "id": 59, "meta": {} }, "./node_modules/axios/lib/defaults.js": { "id": 60, "meta": {} }, "./node_modules/core-js/modules/_array-fill.js": { "id": 61, "meta": {} }, "./node_modules/core-js/modules/_create-property.js": { "id": 62, "meta": {} }, "./node_modules/core-js/modules/_dom-create.js": { "id": 63, "meta": {} }, "./node_modules/core-js/modules/_enum-bug-keys.js": { "id": 64, "meta": {} }, "./node_modules/core-js/modules/_fails-is-regexp.js": { "id": 65, "meta": {} }, "./node_modules/core-js/modules/_html.js": { "id": 66, "meta": {} }, "./node_modules/core-js/modules/_inherit-if-required.js": { "id": 67, "meta": {} }, "./node_modules/core-js/modules/_is-array-iter.js": { "id": 68, "meta": {} }, "./node_modules/core-js/modules/_is-array.js": { "id": 69, "meta": {} }, "./node_modules/core-js/modules/_iter-create.js": { "id": 70, "meta": {} }, "./node_modules/core-js/modules/_iter-define.js": { "id": 71, "meta": {} }, "./node_modules/core-js/modules/_math-expm1.js": { "id": 72, "meta": {} }, "./node_modules/core-js/modules/_math-sign.js": { "id": 73, "meta": {} }, "./node_modules/core-js/modules/_microtask.js": { "id": 74, "meta": {} }, "./node_modules/core-js/modules/_set-proto.js": { "id": 75, "meta": {} }, "./node_modules/core-js/modules/_shared-key.js": { "id": 76, "meta": {} }, "./node_modules/core-js/modules/_species-constructor.js": { "id": 77, "meta": {} }, "./node_modules/core-js/modules/_string-at.js": { "id": 78, "meta": {} }, "./node_modules/core-js/modules/_string-context.js": { "id": 79, "meta": {} }, "./node_modules/core-js/modules/_string-repeat.js": { "id": 80, "meta": {} }, "./node_modules/core-js/modules/_string-ws.js": { "id": 81, "meta": {} }, "./node_modules/core-js/modules/_task.js": { "id": 82, "meta": {} }, "./node_modules/core-js/modules/_typed-buffer.js": { "id": 83, "meta": {} }, "./node_modules/core-js/modules/_wks-define.js": { "id": 84, "meta": {} }, "./node_modules/core-js/modules/core.get-iterator-method.js": { "id": 85, "meta": {} }, "./node_modules/core-js/modules/es6.array.iterator.js": { "id": 86, "meta": {} }, "./node_modules/webpack/buildin/global.js": { "id": 87, "meta": {} }, "./node_modules/axios/lib/adapters/xhr.js": { "id": 88, "meta": {} }, "./node_modules/axios/lib/cancel/Cancel.js": { "id": 89, "meta": {} }, "./node_modules/axios/lib/cancel/isCancel.js": { "id": 90, "meta": {} }, "./node_modules/axios/lib/core/createError.js": { "id": 91, "meta": {} }, "./node_modules/axios/lib/helpers/bind.js": { "id": 92, "meta": {} }, "./node_modules/core-js/modules/_a-number-value.js": { "id": 93, "meta": {} }, "./node_modules/core-js/modules/_array-copy-within.js": { "id": 94, "meta": {} }, "./node_modules/core-js/modules/_array-from-iterable.js": { "id": 95, "meta": {} }, "./node_modules/core-js/modules/_array-reduce.js": { "id": 96, "meta": {} }, "./node_modules/core-js/modules/_bind.js": { "id": 97, "meta": {} }, "./node_modules/core-js/modules/_collection-strong.js": { "id": 98, "meta": {} }, "./node_modules/core-js/modules/_collection-to-json.js": { "id": 99, "meta": {} }, "./node_modules/core-js/modules/_collection-weak.js": { "id": 100, "meta": {} }, "./node_modules/core-js/modules/_ie8-dom-define.js": { "id": 101, "meta": {} }, "./node_modules/core-js/modules/_is-integer.js": { "id": 102, "meta": {} }, "./node_modules/core-js/modules/_iter-call.js": { "id": 103, "meta": {} }, "./node_modules/core-js/modules/_iter-step.js": { "id": 104, "meta": {} }, "./node_modules/core-js/modules/_math-log1p.js": { "id": 105, "meta": {} }, "./node_modules/core-js/modules/_object-assign.js": { "id": 106, "meta": {} }, "./node_modules/core-js/modules/_object-dps.js": { "id": 107, "meta": {} }, "./node_modules/core-js/modules/_object-gopn-ext.js": { "id": 108, "meta": {} }, "./node_modules/core-js/modules/_object-keys-internal.js": { "id": 109, "meta": {} }, "./node_modules/core-js/modules/_object-to-array.js": { "id": 110, "meta": {} }, "./node_modules/core-js/modules/_own-keys.js": { "id": 111, "meta": {} }, "./node_modules/core-js/modules/_parse-float.js": { "id": 112, "meta": {} }, "./node_modules/core-js/modules/_parse-int.js": { "id": 113, "meta": {} }, "./node_modules/core-js/modules/_same-value.js": { "id": 114, "meta": {} }, "./node_modules/core-js/modules/_string-pad.js": { "id": 115, "meta": {} }, "./node_modules/core-js/modules/_wks-ext.js": { "id": 116, "meta": {} }, "./node_modules/core-js/modules/es6.map.js": { "id": 117, "meta": {} }, "./node_modules/core-js/modules/es6.regexp.flags.js": { "id": 118, "meta": {} }, "./node_modules/core-js/modules/es6.set.js": { "id": 119, "meta": {} }, "./node_modules/core-js/modules/es6.weak-map.js": { "id": 120, "meta": {} }, "./node_modules/process/browser.js": { "id": 121, "meta": {} }, "./node_modules/axios/index.js": { "id": 122, "meta": {} }, "./node_modules/babel-polyfill/lib/index.js": { "id": 123, "meta": {} }, "./node_modules/vue-echarts-v3/dist/js/full.js": { "id": 124, "meta": {} }, "./node_modules/vue-router/dist/vue-router.common.js": { "id": 125, "meta": {} }, "./node_modules/vue/dist/vue.common.js": { "id": 126, "meta": {} }, "./node_modules/axios/lib/axios.js": { "id": 127, "meta": {} }, "./node_modules/axios/lib/cancel/CancelToken.js": { "id": 128, "meta": {} }, "./node_modules/axios/lib/core/Axios.js": { "id": 129, "meta": {} }, "./node_modules/axios/lib/core/InterceptorManager.js": { "id": 130, "meta": {} }, "./node_modules/axios/lib/core/dispatchRequest.js": { "id": 131, "meta": {} }, "./node_modules/axios/lib/core/enhanceError.js": { "id": 132, "meta": {} }, "./node_modules/axios/lib/core/settle.js": { "id": 133, "meta": {} }, "./node_modules/axios/lib/core/transformData.js": { "id": 134, "meta": {} }, "./node_modules/axios/lib/helpers/btoa.js": { "id": 135, "meta": {} }, "./node_modules/axios/lib/helpers/buildURL.js": { "id": 136, "meta": {} }, "./node_modules/axios/lib/helpers/combineURLs.js": { "id": 137, "meta": {} }, "./node_modules/axios/lib/helpers/cookies.js": { "id": 138, "meta": {} }, "./node_modules/axios/lib/helpers/isAbsoluteURL.js": { "id": 139, "meta": {} }, "./node_modules/axios/lib/helpers/isURLSameOrigin.js": { "id": 140, "meta": {} }, "./node_modules/axios/lib/helpers/normalizeHeaderName.js": { "id": 141, "meta": {} }, "./node_modules/axios/lib/helpers/parseHeaders.js": { "id": 142, "meta": {} }, "./node_modules/axios/lib/helpers/spread.js": { "id": 143, "meta": {} }, "./node_modules/core-js/fn/regexp/escape.js": { "id": 144, "meta": {} }, "./node_modules/core-js/modules/_array-species-constructor.js": { "id": 145, "meta": {} }, "./node_modules/core-js/modules/_array-species-create.js": { "id": 146, "meta": {} }, "./node_modules/core-js/modules/_date-to-primitive.js": { "id": 147, "meta": {} }, "./node_modules/core-js/modules/_enum-keys.js": { "id": 148, "meta": {} }, "./node_modules/core-js/modules/_keyof.js": { "id": 149, "meta": {} }, "./node_modules/core-js/modules/_partial.js": { "id": 150, "meta": {} }, "./node_modules/core-js/modules/_path.js": { "id": 151, "meta": {} }, "./node_modules/core-js/modules/_replacer.js": { "id": 152, "meta": {} }, "./node_modules/core-js/modules/core.regexp.escape.js": { "id": 153, "meta": {} }, "./node_modules/core-js/modules/es6.array.copy-within.js": { "id": 154, "meta": {} }, "./node_modules/core-js/modules/es6.array.every.js": { "id": 155, "meta": {} }, "./node_modules/core-js/modules/es6.array.fill.js": { "id": 156, "meta": {} }, "./node_modules/core-js/modules/es6.array.filter.js": { "id": 157, "meta": {} }, "./node_modules/core-js/modules/es6.array.find-index.js": { "id": 158, "meta": {} }, "./node_modules/core-js/modules/es6.array.find.js": { "id": 159, "meta": {} }, "./node_modules/core-js/modules/es6.array.for-each.js": { "id": 160, "meta": {} }, "./node_modules/core-js/modules/es6.array.from.js": { "id": 161, "meta": {} }, "./node_modules/core-js/modules/es6.array.index-of.js": { "id": 162, "meta": {} }, "./node_modules/core-js/modules/es6.array.is-array.js": { "id": 163, "meta": {} }, "./node_modules/core-js/modules/es6.array.join.js": { "id": 164, "meta": {} }, "./node_modules/core-js/modules/es6.array.last-index-of.js": { "id": 165, "meta": {} }, "./node_modules/core-js/modules/es6.array.map.js": { "id": 166, "meta": {} }, "./node_modules/core-js/modules/es6.array.of.js": { "id": 167, "meta": {} }, "./node_modules/core-js/modules/es6.array.reduce-right.js": { "id": 168, "meta": {} }, "./node_modules/core-js/modules/es6.array.reduce.js": { "id": 169, "meta": {} }, "./node_modules/core-js/modules/es6.array.slice.js": { "id": 170, "meta": {} }, "./node_modules/core-js/modules/es6.array.some.js": { "id": 171, "meta": {} }, "./node_modules/core-js/modules/es6.array.sort.js": { "id": 172, "meta": {} }, "./node_modules/core-js/modules/es6.array.species.js": { "id": 173, "meta": {} }, "./node_modules/core-js/modules/es6.date.now.js": { "id": 174, "meta": {} }, "./node_modules/core-js/modules/es6.date.to-iso-string.js": { "id": 175, "meta": {} }, "./node_modules/core-js/modules/es6.date.to-json.js": { "id": 176, "meta": {} }, "./node_modules/core-js/modules/es6.date.to-primitive.js": { "id": 177, "meta": {} }, "./node_modules/core-js/modules/es6.date.to-string.js": { "id": 178, "meta": {} }, "./node_modules/core-js/modules/es6.function.bind.js": { "id": 179, "meta": {} }, "./node_modules/core-js/modules/es6.function.has-instance.js": { "id": 180, "meta": {} }, "./node_modules/core-js/modules/es6.function.name.js": { "id": 181, "meta": {} }, "./node_modules/core-js/modules/es6.math.acosh.js": { "id": 182, "meta": {} }, "./node_modules/core-js/modules/es6.math.asinh.js": { "id": 183, "meta": {} }, "./node_modules/core-js/modules/es6.math.atanh.js": { "id": 184, "meta": {} }, "./node_modules/core-js/modules/es6.math.cbrt.js": { "id": 185, "meta": {} }, "./node_modules/core-js/modules/es6.math.clz32.js": { "id": 186, "meta": {} }, "./node_modules/core-js/modules/es6.math.cosh.js": { "id": 187, "meta": {} }, "./node_modules/core-js/modules/es6.math.expm1.js": { "id": 188, "meta": {} }, "./node_modules/core-js/modules/es6.math.fround.js": { "id": 189, "meta": {} }, "./node_modules/core-js/modules/es6.math.hypot.js": { "id": 190, "meta": {} }, "./node_modules/core-js/modules/es6.math.imul.js": { "id": 191, "meta": {} }, "./node_modules/core-js/modules/es6.math.log10.js": { "id": 192, "meta": {} }, "./node_modules/core-js/modules/es6.math.log1p.js": { "id": 193, "meta": {} }, "./node_modules/core-js/modules/es6.math.log2.js": { "id": 194, "meta": {} }, "./node_modules/core-js/modules/es6.math.sign.js": { "id": 195, "meta": {} }, "./node_modules/core-js/modules/es6.math.sinh.js": { "id": 196, "meta": {} }, "./node_modules/core-js/modules/es6.math.tanh.js": { "id": 197, "meta": {} }, "./node_modules/core-js/modules/es6.math.trunc.js": { "id": 198, "meta": {} }, "./node_modules/core-js/modules/es6.number.constructor.js": { "id": 199, "meta": {} }, "./node_modules/core-js/modules/es6.number.epsilon.js": { "id": 200, "meta": {} }, "./node_modules/core-js/modules/es6.number.is-finite.js": { "id": 201, "meta": {} }, "./node_modules/core-js/modules/es6.number.is-integer.js": { "id": 202, "meta": {} }, "./node_modules/core-js/modules/es6.number.is-nan.js": { "id": 203, "meta": {} }, "./node_modules/core-js/modules/es6.number.is-safe-integer.js": { "id": 204, "meta": {} }, "./node_modules/core-js/modules/es6.number.max-safe-integer.js": { "id": 205, "meta": {} }, "./node_modules/core-js/modules/es6.number.min-safe-integer.js": { "id": 206, "meta": {} }, "./node_modules/core-js/modules/es6.number.parse-float.js": { "id": 207, "meta": {} }, "./node_modules/core-js/modules/es6.number.parse-int.js": { "id": 208, "meta": {} }, "./node_modules/core-js/modules/es6.number.to-fixed.js": { "id": 209, "meta": {} }, "./node_modules/core-js/modules/es6.number.to-precision.js": { "id": 210, "meta": {} }, "./node_modules/core-js/modules/es6.object.assign.js": { "id": 211, "meta": {} }, "./node_modules/core-js/modules/es6.object.create.js": { "id": 212, "meta": {} }, "./node_modules/core-js/modules/es6.object.define-properties.js": { "id": 213, "meta": {} }, "./node_modules/core-js/modules/es6.object.define-property.js": { "id": 214, "meta": {} }, "./node_modules/core-js/modules/es6.object.freeze.js": { "id": 215, "meta": {} }, "./node_modules/core-js/modules/es6.object.get-own-property-descriptor.js": { "id": 216, "meta": {} }, "./node_modules/core-js/modules/es6.object.get-own-property-names.js": { "id": 217, "meta": {} }, "./node_modules/core-js/modules/es6.object.get-prototype-of.js": { "id": 218, "meta": {} }, "./node_modules/core-js/modules/es6.object.is-extensible.js": { "id": 219, "meta": {} }, "./node_modules/core-js/modules/es6.object.is-frozen.js": { "id": 220, "meta": {} }, "./node_modules/core-js/modules/es6.object.is-sealed.js": { "id": 221, "meta": {} }, "./node_modules/core-js/modules/es6.object.is.js": { "id": 222, "meta": {} }, "./node_modules/core-js/modules/es6.object.keys.js": { "id": 223, "meta": {} }, "./node_modules/core-js/modules/es6.object.prevent-extensions.js": { "id": 224, "meta": {} }, "./node_modules/core-js/modules/es6.object.seal.js": { "id": 225, "meta": {} }, "./node_modules/core-js/modules/es6.object.set-prototype-of.js": { "id": 226, "meta": {} }, "./node_modules/core-js/modules/es6.object.to-string.js": { "id": 227, "meta": {} }, "./node_modules/core-js/modules/es6.parse-float.js": { "id": 228, "meta": {} }, "./node_modules/core-js/modules/es6.parse-int.js": { "id": 229, "meta": {} }, "./node_modules/core-js/modules/es6.promise.js": { "id": 230, "meta": {} }, "./node_modules/core-js/modules/es6.reflect.apply.js": { "id": 231, "meta": {} }, "./node_modules/core-js/modules/es6.reflect.construct.js": { "id": 232, "meta": {} }, "./node_modules/core-js/modules/es6.reflect.define-property.js": { "id": 233, "meta": {} }, "./node_modules/core-js/modules/es6.reflect.delete-property.js": { "id": 234, "meta": {} }, "./node_modules/core-js/modules/es6.reflect.enumerate.js": { "id": 235, "meta": {} }, "./node_modules/core-js/modules/es6.reflect.get-own-property-descriptor.js": { "id": 236, "meta": {} }, "./node_modules/core-js/modules/es6.reflect.get-prototype-of.js": { "id": 237, "meta": {} }, "./node_modules/core-js/modules/es6.reflect.get.js": { "id": 238, "meta": {} }, "./node_modules/core-js/modules/es6.reflect.has.js": { "id": 239, "meta": {} }, "./node_modules/core-js/modules/es6.reflect.is-extensible.js": { "id": 240, "meta": {} }, "./node_modules/core-js/modules/es6.reflect.own-keys.js": { "id": 241, "meta": {} }, "./node_modules/core-js/modules/es6.reflect.prevent-extensions.js": { "id": 242, "meta": {} }, "./node_modules/core-js/modules/es6.reflect.set-prototype-of.js": { "id": 243, "meta": {} }, "./node_modules/core-js/modules/es6.reflect.set.js": { "id": 244, "meta": {} }, "./node_modules/core-js/modules/es6.regexp.constructor.js": { "id": 245, "meta": {} }, "./node_modules/core-js/modules/es6.regexp.match.js": { "id": 246, "meta": {} }, "./node_modules/core-js/modules/es6.regexp.replace.js": { "id": 247, "meta": {} }, "./node_modules/core-js/modules/es6.regexp.search.js": { "id": 248, "meta": {} }, "./node_modules/core-js/modules/es6.regexp.split.js": { "id": 249, "meta": {} }, "./node_modules/core-js/modules/es6.regexp.to-string.js": { "id": 250, "meta": {} }, "./node_modules/core-js/modules/es6.string.anchor.js": { "id": 251, "meta": {} }, "./node_modules/core-js/modules/es6.string.big.js": { "id": 252, "meta": {} }, "./node_modules/core-js/modules/es6.string.blink.js": { "id": 253, "meta": {} }, "./node_modules/core-js/modules/es6.string.bold.js": { "id": 254, "meta": {} }, "./node_modules/core-js/modules/es6.string.code-point-at.js": { "id": 255, "meta": {} }, "./node_modules/core-js/modules/es6.string.ends-with.js": { "id": 256, "meta": {} }, "./node_modules/core-js/modules/es6.string.fixed.js": { "id": 257, "meta": {} }, "./node_modules/core-js/modules/es6.string.fontcolor.js": { "id": 258, "meta": {} }, "./node_modules/core-js/modules/es6.string.fontsize.js": { "id": 259, "meta": {} }, "./node_modules/core-js/modules/es6.string.from-code-point.js": { "id": 260, "meta": {} }, "./node_modules/core-js/modules/es6.string.includes.js": { "id": 261, "meta": {} }, "./node_modules/core-js/modules/es6.string.italics.js": { "id": 262, "meta": {} }, "./node_modules/core-js/modules/es6.string.iterator.js": { "id": 263, "meta": {} }, "./node_modules/core-js/modules/es6.string.link.js": { "id": 264, "meta": {} }, "./node_modules/core-js/modules/es6.string.raw.js": { "id": 265, "meta": {} }, "./node_modules/core-js/modules/es6.string.repeat.js": { "id": 266, "meta": {} }, "./node_modules/core-js/modules/es6.string.small.js": { "id": 267, "meta": {} }, "./node_modules/core-js/modules/es6.string.starts-with.js": { "id": 268, "meta": {} }, "./node_modules/core-js/modules/es6.string.strike.js": { "id": 269, "meta": {} }, "./node_modules/core-js/modules/es6.string.sub.js": { "id": 270, "meta": {} }, "./node_modules/core-js/modules/es6.string.sup.js": { "id": 271, "meta": {} }, "./node_modules/core-js/modules/es6.string.trim.js": { "id": 272, "meta": {} }, "./node_modules/core-js/modules/es6.symbol.js": { "id": 273, "meta": {} }, "./node_modules/core-js/modules/es6.typed.array-buffer.js": { "id": 274, "meta": {} }, "./node_modules/core-js/modules/es6.typed.data-view.js": { "id": 275, "meta": {} }, "./node_modules/core-js/modules/es6.typed.float32-array.js": { "id": 276, "meta": {} }, "./node_modules/core-js/modules/es6.typed.float64-array.js": { "id": 277, "meta": {} }, "./node_modules/core-js/modules/es6.typed.int16-array.js": { "id": 278, "meta": {} }, "./node_modules/core-js/modules/es6.typed.int32-array.js": { "id": 279, "meta": {} }, "./node_modules/core-js/modules/es6.typed.int8-array.js": { "id": 280, "meta": {} }, "./node_modules/core-js/modules/es6.typed.uint16-array.js": { "id": 281, "meta": {} }, "./node_modules/core-js/modules/es6.typed.uint32-array.js": { "id": 282, "meta": {} }, "./node_modules/core-js/modules/es6.typed.uint8-array.js": { "id": 283, "meta": {} }, "./node_modules/core-js/modules/es6.typed.uint8-clamped-array.js": { "id": 284, "meta": {} }, "./node_modules/core-js/modules/es6.weak-set.js": { "id": 285, "meta": {} }, "./node_modules/core-js/modules/es7.array.includes.js": { "id": 286, "meta": {} }, "./node_modules/core-js/modules/es7.asap.js": { "id": 287, "meta": {} }, "./node_modules/core-js/modules/es7.error.is-error.js": { "id": 288, "meta": {} }, "./node_modules/core-js/modules/es7.map.to-json.js": { "id": 289, "meta": {} }, "./node_modules/core-js/modules/es7.math.iaddh.js": { "id": 290, "meta": {} }, "./node_modules/core-js/modules/es7.math.imulh.js": { "id": 291, "meta": {} }, "./node_modules/core-js/modules/es7.math.isubh.js": { "id": 292, "meta": {} }, "./node_modules/core-js/modules/es7.math.umulh.js": { "id": 293, "meta": {} }, "./node_modules/core-js/modules/es7.object.define-getter.js": { "id": 294, "meta": {} }, "./node_modules/core-js/modules/es7.object.define-setter.js": { "id": 295, "meta": {} }, "./node_modules/core-js/modules/es7.object.entries.js": { "id": 296, "meta": {} }, "./node_modules/core-js/modules/es7.object.get-own-property-descriptors.js": { "id": 297, "meta": {} }, "./node_modules/core-js/modules/es7.object.lookup-getter.js": { "id": 298, "meta": {} }, "./node_modules/core-js/modules/es7.object.lookup-setter.js": { "id": 299, "meta": {} }, "./node_modules/core-js/modules/es7.object.values.js": { "id": 300, "meta": {} }, "./node_modules/core-js/modules/es7.observable.js": { "id": 301, "meta": {} }, "./node_modules/core-js/modules/es7.reflect.define-metadata.js": { "id": 302, "meta": {} }, "./node_modules/core-js/modules/es7.reflect.delete-metadata.js": { "id": 303, "meta": {} }, "./node_modules/core-js/modules/es7.reflect.get-metadata-keys.js": { "id": 304, "meta": {} }, "./node_modules/core-js/modules/es7.reflect.get-metadata.js": { "id": 305, "meta": {} }, "./node_modules/core-js/modules/es7.reflect.get-own-metadata-keys.js": { "id": 306, "meta": {} }, "./node_modules/core-js/modules/es7.reflect.get-own-metadata.js": { "id": 307, "meta": {} }, "./node_modules/core-js/modules/es7.reflect.has-metadata.js": { "id": 308, "meta": {} }, "./node_modules/core-js/modules/es7.reflect.has-own-metadata.js": { "id": 309, "meta": {} }, "./node_modules/core-js/modules/es7.reflect.metadata.js": { "id": 310, "meta": {} }, "./node_modules/core-js/modules/es7.set.to-json.js": { "id": 311, "meta": {} }, "./node_modules/core-js/modules/es7.string.at.js": { "id": 312, "meta": {} }, "./node_modules/core-js/modules/es7.string.match-all.js": { "id": 313, "meta": {} }, "./node_modules/core-js/modules/es7.string.pad-end.js": { "id": 314, "meta": {} }, "./node_modules/core-js/modules/es7.string.pad-start.js": { "id": 315, "meta": {} }, "./node_modules/core-js/modules/es7.string.trim-left.js": { "id": 316, "meta": {} }, "./node_modules/core-js/modules/es7.string.trim-right.js": { "id": 317, "meta": {} }, "./node_modules/core-js/modules/es7.symbol.async-iterator.js": { "id": 318, "meta": {} }, "./node_modules/core-js/modules/es7.symbol.observable.js": { "id": 319, "meta": {} }, "./node_modules/core-js/modules/es7.system.global.js": { "id": 320, "meta": {} }, "./node_modules/core-js/modules/web.dom.iterable.js": { "id": 321, "meta": {} }, "./node_modules/core-js/modules/web.immediate.js": { "id": 322, "meta": {} }, "./node_modules/core-js/modules/web.timers.js": { "id": 323, "meta": {} }, "./node_modules/core-js/shim.js": { "id": 324, "meta": {} }, "./node_modules/regenerator-runtime/runtime.js": { "id": 325, "meta": {} } } } ================================================ FILE: build/vue-loader.conf.js ================================================ var utils = require('./utils') var config = require('../config') var isProduction = process.env.NODE_ENV === 'production' module.exports = { loaders: utils.cssLoaders({ sourceMap: isProduction ? config.build.productionSourceMap : config.dev.cssSourceMap, extract: isProduction }), postcss: [ require('autoprefixer')({ browsers: ['last 2 versions'] }) ] } ================================================ FILE: build/webpack.base.conf.js ================================================ var path = require('path'); var utils = require('./utils'); var config = require('../config'); var vueLoaderConfig = require('./vue-loader.conf'); function resolve (dir) { return path.join(__dirname, '..', dir) } var src = path.resolve(__dirname, '../src'); module.exports = { entry: { app: './src/main.js' }, output: { path: config.build.assetsRoot, filename: '[name].js', publicPath: process.env.NODE_ENV !== 'development' ? config.build.assetsPublicPath: config.dev.assetsPublicPath }, resolve: { extensions: ['.js', '.vue', '.json'], alias: { 'vue$': 'vue/dist/vue.esm.js', '@': resolve('src'), 'src': path.resolve(__dirname, '../src'), 'scss_vars': '@/styles/vars.scss', 'assets': path.resolve(__dirname, '../src/assets'), 'api': path.resolve(__dirname, '../src/api'), 'utils': path.resolve(__dirname, '../src/utils'), 'vendor': path.resolve(__dirname, '../src/vendor'), 'static': path.resolve(__dirname, '../static'), } }, module: { rules: [ { test: /\.vue$/, loader: 'vue-loader', options: vueLoaderConfig }, { test: /\.js$/, loader: 'babel-loader', include: [resolve('src'), resolve('test')] }, { test: /\.(png|jpe?g|gif|svg)(\?.*)?$/, loader: 'url-loader', options: { limit: 10000, name: utils.assetsPath('img/[name].[hash:7].[ext]') } }, { test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, loader: 'url-loader', options: { limit: 10000, name: utils.assetsPath('fonts/[name].[hash:7].[ext]') } } ] } } ================================================ FILE: build/webpack.dev.conf.js ================================================ var utils = require('./utils') var webpack = require('webpack') var config = require('../config') var merge = require('webpack-merge') var baseWebpackConfig = require('./webpack.base.conf') var HtmlWebpackPlugin = require('html-webpack-plugin') var FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin') // add hot-reload related code to entry chunks Object.keys(baseWebpackConfig.entry).forEach(function (name) { baseWebpackConfig.entry[name] = ['./build/dev-client'].concat(baseWebpackConfig.entry[name]) }) module.exports = merge(baseWebpackConfig, { module: { rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap }) }, // cheap-module-eval-source-map is faster for development devtool: '#cheap-module-eval-source-map', plugins: [ new webpack.DefinePlugin({ 'process.env': config.dev.env }), // https://github.com/glenjamin/webpack-hot-middleware#installation--usage new webpack.HotModuleReplacementPlugin(), new webpack.NoEmitOnErrorsPlugin(), // https://github.com/ampedandwired/html-webpack-plugin new HtmlWebpackPlugin({ filename: 'index.html', template: 'index.html', inject: true }), new FriendlyErrorsPlugin() ] }) ================================================ FILE: build/webpack.dll.conf.js ================================================ const path = require('path'); const webpack = require('webpack'); module.exports = { entry: { vendor: ['vue/dist/vue.common.js','vue-router', 'babel-polyfill','axios','vue-echarts-v3'] }, output: { path: path.join(__dirname, '../static/js'), filename: '[name].dll.js', library: '[name]_library' }, plugins: [ new webpack.DllPlugin({ path: path.join(__dirname, '.', '[name]-manifest.json'), name: '[name]_library' }), new webpack.optimize.UglifyJsPlugin({ compress: { warnings: false } }), new webpack.DefinePlugin({ 'process.env': { NODE_ENV: '"production"' } }) ] }; ================================================ FILE: build/webpack.prod.conf.js ================================================ var path = require('path') var utils = require('./utils') var webpack = require('webpack') var config = require('../config') var merge = require('webpack-merge') var baseWebpackConfig = require('./webpack.base.conf') var CopyWebpackPlugin = require('copy-webpack-plugin') var HtmlWebpackPlugin = require('html-webpack-plugin') var ExtractTextPlugin = require('extract-text-webpack-plugin') var OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin') var env = process.env.NODE_ENV === 'production' ? config.build.prodEnv : config.build.sitEnv function resolveApp(relativePath) { return path.resolve(relativePath); } var webpackConfig = merge(baseWebpackConfig, { module: { rules: utils.styleLoaders({ sourceMap: config.build.productionSourceMap, extract: true }) }, devtool: config.build.productionSourceMap ? '#source-map' : false, output: { path: config.build.assetsRoot, filename: utils.assetsPath('js/[name].[chunkhash].js'), chunkFilename: utils.assetsPath('js/[id].[chunkhash].js') }, plugins: [ // http://vuejs.github.io/vue-loader/en/workflow/production.html new webpack.DefinePlugin({ 'process.env': env }), new webpack.optimize.UglifyJsPlugin({ compress: { warnings: false }, sourceMap: true }), // extract css into its own file new ExtractTextPlugin({ filename: utils.assetsPath('css/[name].[contenthash].css') }), // Compress extracted CSS. We are using this plugin so that possible // duplicated CSS from different components can be deduped. new OptimizeCSSPlugin({ cssProcessorOptions: { safe: true } }), // generate dist index.html with correct asset hash for caching. // you can customize output by editing /index.html // see https://github.com/ampedandwired/html-webpack-plugin new HtmlWebpackPlugin({ filename: config.build.index, template: 'index.html', inject: true, minify: { removeComments: true, collapseWhitespace: true, removeAttributeQuotes: true // more options: // https://github.com/kangax/html-minifier#options-quick-reference }, // necessary to consistently work with multiple chunks via CommonsChunkPlugin chunksSortMode: 'dependency' }), // split vendor js into its own file new webpack.optimize.CommonsChunkPlugin({ name: 'vendor', minChunks: function (module, count) { // any required modules inside node_modules are extracted to vendor return ( module.resource && /\.js$/.test(module.resource) && module.resource.indexOf( path.join(__dirname, '../node_modules') ) === 0 ) } }), // extract webpack runtime and module manifest to its own file in order to // prevent vendor hash from being updated whenever app bundle is updated new webpack.optimize.CommonsChunkPlugin({ name: 'manifest', chunks: ['vendor'] }), // copy custom static assets new CopyWebpackPlugin([ { from: path.resolve(__dirname, '../static'), to: config.build.assetsSubDirectory, ignore: ['.*'] } ]) ] }) if (config.build.productionGzip) { var CompressionWebpackPlugin = require('compression-webpack-plugin') webpackConfig.plugins.push( new CompressionWebpackPlugin({ asset: '[path].gz[query]', algorithm: 'gzip', test: new RegExp( '\\.(' + config.build.productionGzipExtensions.join('|') + ')$' ), threshold: 10240, minRatio: 0.8 }) ) } if (config.build.bundleAnalyzerReport) { var BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin webpackConfig.plugins.push(new BundleAnalyzerPlugin()) } module.exports = webpackConfig ================================================ FILE: config/dev.env.js ================================================ module.exports = { NODE_ENV: '"development"', BASE_API: '""', }; ================================================ FILE: config/index.js ================================================ // see http://vuejs-templates.github.io/webpack for documentation. var path = require('path'); module.exports = { build: { sitEnv: require('./sit.env'), prodEnv: require('./prod.env'), index: path.resolve(__dirname, '../dist/index.html'), assetsRoot: path.resolve(__dirname, '../dist'), assetsSubDirectory: 'static', assetsPublicPath: './', productionSourceMap: false, // Gzip off by default as many popular static hosts such as // Surge or Netlify already gzip all static assets for you. // Before setting to `true`, make sure to: // npm install --save-dev compression-webpack-plugin productionGzip: false, productionGzipExtensions: ['js', 'css'], // Run the build command with an extra argument to // View the bundle analyzer report after build finishes: // `npm run build --report` // Set to `true` or `false` to always turn it on or off bundleAnalyzerReport: process.env.npm_config_report }, dev: { env: require('./dev.env'), port: 18085, autoOpenBrowser: true, assetsSubDirectory: 'static', assetsPublicPath: '/', proxyTable: { '/charts/v1': { target: 'https://api.fantasykai.cc/charts/v1', changeOrigin: true, pathRewrite: { '/charts/v1': '' } }, '/manage/v1': { target: 'https://api.fantasykai.cc/manage/v1', changeOrigin: true, pathRewrite: { '/manage/v1': '' } }, '/api': { target: 'https://api.fantasykai.cc/api/v1', changeOrigin: true, pathRewrite: { '/api/v1': '' } } }, // CSS Sourcemaps off by default because relative paths are "buggy" // with this option, according to the CSS-Loader README // (https://github.com/webpack/css-loader#sourcemaps) // In our experience, they generally work as expected, // just be aware of this issue when enabling this option. cssSourceMap: false } } ================================================ FILE: config/prod.env.js ================================================ module.exports = { NODE_ENV: '"production"', BASE_API: '"https://api-prod.com"' }; ================================================ FILE: config/sit.env.js ================================================ module.exports = { NODE_ENV: '"production"', BASE_API: '"https://api-sit.com"' }; ================================================ FILE: index.html ================================================
Tips : admin: 管理员
intern: 见习员~ 就是权限管理噻~~
个人资料 /
注册时间: {{ scope.row._created | formatBeijingDate }}
住址: {{ scope.row.address | formattedDetail }}
学校: {{ scope.row.schools | formattedSchools }}
工作: {{ scope.row.jobs | formattedJob }}
签名: {{ scope.row.sign }}
{{ scope.row.sexual | formattedSexual }}
{{ scope.row.constellation | formattedConstellation }}
用户注册手机 :
Android/ios : {{ 1 == scope.row.client.item0.src ? 'Android' : 'iOS' }}
注册APP版本 : {{ scope.row.client.item0.bluVer }}
品牌 : {{ scope.row.client.item0.brand }}
设备型号 : {{ scope.row.client.item0.deviceName }}
设备版本 : {{ scope.row.client.item0.sysVer }}
设备详情 : {{ scope.row.client.item0.sysDesc }}
用户当前在用手机 :
最近登录时间 : {{ scope.row.client | formattedClientLastLoginTime | formatBeijingDate}}
在用APP版本 : {{ scope.row.client | formattedClientLastBluVer}}
品牌 : {{ scope.row.client | formattedClientLastBrand}}
设备型号 : {{ scope.row.client | formattedClientLastDeviceName}}
设备版本 : {{ scope.row.client | formattedClientLastSysVer }}
设备详情 : {{ scope.row.client | formattedClientLastSysDesc}}
支持手机号搜索 : {{ 0 === scope.row.privacy.seachTel ? '不支持' : '支持' }}
支持BludId搜索 : {{ 0 === scope.row.privacy.seachNum ? '不支持' : '支持' }}
{{ relationName }}
个人资料 /
注册时间: {{ scope.row._created | formatBeijingDate }}
住址: {{ scope.row.address | formattedDetail }}
学校: {{ scope.row.schools | formattedSchools }}
工作: {{ scope.row.jobs | formattedJob }}
签名: {{ scope.row.sign }}
{{ scope.row.sexual | formattedSexual }}
{{ scope.row.constellation | formattedConstellation }}
用户注册手机 :
Android/ios : {{ 1 == scope.row.client.item0.src ? 'Android' : 'iOS' }}
注册APP版本 : {{ scope.row.client.item0.bluVer }}
品牌 : {{ scope.row.client.item0.brand }}
设备型号 : {{ scope.row.client.item0.deviceName }}
设备版本 : {{ scope.row.client.item0.sysVer }}
设备详情 : {{ scope.row.client.item0.sysDesc }}
用户当前在用手机 :
最近登录时间 : {{ scope.row.client | formattedClientLastLoginTime | formatBeijingDate}}
在用APP版本 : {{ scope.row.client | formattedClientLastBluVer}}
品牌 : {{ scope.row.client | formattedClientLastBrand}}
设备型号 : {{ scope.row.client | formattedClientLastDeviceName}}
设备版本 : {{ scope.row.client | formattedClientLastSysVer }}
设备详情 : {{ scope.row.client | formattedClientLastSysDesc}}
支持手机号搜索 : {{ 0 === scope.row.privacy.seachTel ? '不支持' : '支持' }}
支持BludId搜索 : {{ 0 === scope.row.privacy.seachNum ? '不支持' : '支持' }}
{{ relationName }}({{this.friendTotal}})
{{ scope.row | formattedJson }}
{{ scope.row.rets | formattedJson }}
{{ scope.row | formattedJson }}
注册时间: {{ scope.row._created | formatBeijingDate }}
住址: {{ scope.row.address | formattedDetail }}
学校: {{ scope.row.schools | formattedSchools }}
工作: {{ scope.row.jobs | formattedJob }}
签名: {{ scope.row.sign }}
{{ scope.row.sexual | formattedSexual }}
{{ scope.row.constellation | formattedConstellation }}
=n.length)return e;for(var o=-1,a=e.length,s=n[i++],l={},u={};++o=n.length)return t;var a=[],s=i[o++];return r.each(t,function(t,n){a.push({key:n,values:e(t,o)})}),s?a.sort(function(t,e){return s(t.key,e.key)}):a}var n=[],i=[];return{key:function(t){return n.push(t),this},sortKeys:function(t){return i[n.length-1]=t,this},entries:function(n){return e(t(n,0),0)}}}var r=n(1);t.exports=i},function(t,e,n){var i=n(1),r={get:function(t,e,n){var r=i.clone((o[t]||{})[e]);return n&&i.isArray(r)?r[r.length-1]:r}},o={color:{active:["#006edd","#e0ffff"],inactive:["rgba(0,0,0,0)"]},colorHue:{active:[0,360],inactive:[0,0]},colorSaturation:{active:[.3,1],inactive:[0,0]},colorLightness:{active:[.9,.5],inactive:[0,0]},colorAlpha:{active:[.3,1],inactive:[0,0]},opacity:{active:[.3,1],inactive:[0,0]},symbol:{active:["circle","roundRect","diamond"],inactive:["none"]},symbolSize:{active:[10,50],inactive:[0,0]}};t.exports=r},function(t,e){"use strict";var n=t.exports={};n.isIE=function(t){function e(){var t=navigator.userAgent.toLowerCase();return t.indexOf("msie")!==-1||t.indexOf("trident")!==-1||t.indexOf(" edge/")!==-1}return!(!e()||t&&t!==function(){var t,e=3,n=document.createElement("div"),i=n.getElementsByTagName("i");do n.innerHTML="";while(i[0]);return e>4?e:t}())},n.isLegacyOpera=function(){return!!window.opera}},function(t,e){"use strict";(t.exports={}).forEach=function(t,e){for(var n=0;n-1&&t.instance.off(i)}}else for(var r=0,o=n.length;r
"),r=[];return null!=this.name&&r.push(s(this.name)),null!=n&&r.push(n),r.join("
")},brushSelector:function(t,e){return e.rect(t.brushRect)}});i.mixin(u,o.seriesModelMixin,!0),t.exports=u},function(t,e,n){"use strict";function i(t,e,n){var i=e.getItemModel(n),r=i.getModel(u),o=e.getItemVisual(n,"color"),s=e.getItemVisual(n,"borderColor")||o,l=r.getItemStyle(["color","color0","borderColor","borderColor0"]),h=t.childAt(t.whiskerIndex);h.useStyle(l),h.style.stroke=s;var f=t.childAt(t.bodyIndex);f.useStyle(l),f.style.fill=o,f.style.stroke=s;var d=i.getModel(c).getItemStyle();a.setHoverStyle(t,d)}var r=n(1),o=n(24),a=n(3),s=n(43),l=o.extend({type:"candlestick",getStyleUpdater:function(){return i},dispose:r.noop});r.mixin(l,s.viewMixin,!0);var u=["itemStyle","normal"],c=["itemStyle","emphasis"];t.exports=l},function(t,e,n){function i(t,e){var n,i=t.getBaseAxis(),a="category"===i.type?i.getBandWidth():(n=i.getExtent(),Math.abs(n[1]-n[0])/e.count()),s=o(r(t.get("barMaxWidth"),a),a),l=o(r(t.get("barMinWidth"),1),a),u=t.get("barWidth");return null!=u?o(u,a):Math.max(Math.min(a/2,s),l)}var r=n(1).retrieve,o=n(4).parsePercent;t.exports=function(t){t.eachSeriesByType("candlestick",function(t){var e=t.coordinateSystem,n=t.getData(),r=t.dimensions,o=t.get("layout"),a=i(t,n);n.each(r,function(){function t(t){var n=[];return n[f]=c,n[d]=t,isNaN(c)||isNaN(t)?[NaN,NaN]:e.dataToPoint(n)}function i(t,e){var n=t.slice(),i=t.slice();n[f]+=a/2,i[f]-=a/2,e?A.push(n,i):A.push(i,n)}function s(){var e=t(Math.min(p,g,v,m)),n=t(Math.max(p,g,v,m));return e[f]-=a/2,n[f]-=a/2,{x:e[0],y:e[1],width:d?a:n[0]-e[0],height:d?n[1]-e[1]:a}}var l=arguments,u=r.length,c=l[0],h=l[u],f="horizontal"===o?0:1,d=1-f,p=l[1],g=l[2],v=l[3],m=l[4],y=Math.min(p,g),x=Math.max(p,g),_=t(y),b=t(x),w=t(v),S=t(m),M=[[S,b],[w,_]],A=[];i(b,0),i(_,1),n.setItemLayout(h,{chartLayout:o,sign:p>g?-1:p
")},defaultOption:{zlevel:0,z:2,coordinateSystem:"radar",legendHoverLink:!0,radarIndex:0,lineStyle:{normal:{width:2,type:"solid"}},label:{normal:{position:"top"}},symbol:"emptyCircle",symbolSize:4}});t.exports=l},function(t,e,n){function i(t){return o.isArray(t)||(t=[+t,+t]),t}var r=n(3),o=n(1),a=n(18);t.exports=n(2).extendChartView({type:"radar",render:function(t,e,n){function s(t,e){var n=t.getItemVisual(e,"symbol")||"circle",r=t.getItemVisual(e,"color");if("none"!==n){var o=a.createSymbol(n,-.5,-.5,1,1,r);return o.attr({style:{strokeNoScale:!0},z2:100,scale:i(t.getItemVisual(e,"symbolSize"))}),o}}function l(e,n,i,o,a,l){i.removeAll();for(var u=0;u0){var l=i.getLayout().y+r;i.setLayout({y:l},!0)}a=i.getLayout().y+i.getLayout().dy+e}if(r=a-e-n,r>0){var l=i.getLayout().y-r;for(i.setLayout({y:l},!0),a=i.getLayout().y,o=s-2;o>=0;--o)i=t[o],r=i.getLayout().y+i.getLayout().dy+e-a,r>0&&(l=i.getLayout().y-r,i.setLayout({y:l},!0)),a=i.getLayout().y}})}function f(t,e){T.each(t.slice().reverse(),function(t){T.each(t,function(t){if(t.outEdges.length){var n=x(t.outEdges,d)/x(t.outEdges,S),i=t.getLayout().y+(n-_(t))*e;t.setLayout({y:i},!0)}})})}function d(t){return _(t.node2)*t.getValue()}function p(t,e){T.each(t,function(t){T.each(t,function(t){if(t.inEdges.length){var n=x(t.inEdges,g)/x(t.inEdges,S),i=t.getLayout().y+(n-_(t))*e;t.setLayout({y:i},!0)}})})}function g(t){return _(t.node1)*t.getValue()}function v(t){T.each(t,function(t){t.outEdges.sort(m),t.inEdges.sort(y)}),T.each(t,function(t){var e=0,n=0;T.each(t.outEdges,function(t){t.setLayout({sy:e},!0),e+=t.getLayout().dy}),T.each(t.inEdges,function(t){t.setLayout({ty:n},!0),n+=t.getLayout().dy})})}function m(t,e){return t.node2.getLayout().y-e.node2.getLayout().y}function y(t,e){return t.node1.getLayout().y-e.node1.getLayout().y}function x(t,e){for(var n=0,i=t.length,r=-1;++re?1:t===e?0:NaN}function S(t){return t.getValue()}var M=n(8),A=n(113),T=n(1);t.exports=function(t,e,n){t.eachSeriesByType("sankey",function(t){var n=t.get("nodeWidth"),a=t.get("nodeGap"),s=i(t,e);t.layoutInfo=s;var l=s.width,u=s.height,c=t.getGraph(),h=c.nodes,f=c.edges;o(h),r(h,f,n,a,l,u,0!==h.filter(function(t){return 0===t.getLayout().value}).length?0:t.get("layoutIterations"))})}},function(t,e,n){var i=n(28),r=n(1);t.exports=function(t,e){t.eachSeriesByType("sankey",function(t){var e=t.getGraph(),n=e.nodes;n.sort(function(t,e){return t.getLayout().value-e.getLayout().value});var o=n[0].getLayout().value,a=n[n.length-1].getLayout().value;r.each(n,function(e){var n=new i({type:"color",mappingMethod:"linear",dataExtent:[o,a],visual:t.get("color")}),r=n.mapValueToVisual(e.getLayout().value);e.setVisual("color",r);var s=e.getModel(),l=s.get("itemStyle.normal.color");null!=l&&e.setVisual("color",l)})})}},function(t,e,n){var i=n(1),r=n(2);n(230),n(231),r.registerVisual(i.curry(n(32),"scatter","circle",null)),r.registerLayout(i.curry(n(69),"scatter")),n(38)},function(t,e,n){"use strict";var i=n(30),r=n(13);t.exports=r.extend({type:"series.scatter",dependencies:["grid","polar"],getInitialData:function(t,e){return i(t.data,this,e)},brushSelector:"point",defaultOption:{coordinateSystem:"cartesian2d",zlevel:0,z:2,legendHoverLink:!0,hoverAnimation:!0,symbolSize:10,large:!1,largeThreshold:2e3,itemStyle:{normal:{opacity:.8}}}})},function(t,e,n){var i=n(34),r=n(190);n(2).extendChartView({type:"scatter",init:function(){this._normalSymbolDraw=new i,this._largeSymbolDraw=new r},render:function(t,e,n){var i=t.getData(),r=this._largeSymbolDraw,o=this._normalSymbolDraw,a=this.group,s=t.get("large")&&i.count()>t.get("largeThreshold")?r:o;this._symbolDraw=s,s.updateData(i),a.add(s.group),a.remove(s===r?o.group:r.group)},updateLayout:function(t){this._symbolDraw.updateLayout(t)},remove:function(t,e){this._symbolDraw&&this._symbolDraw.remove(e,!0)},dispose:function(){}})},function(t,e,n){var i=n(2),r=n(1);n(97),n(233),n(234),i.registerLayout(n(235)),i.registerVisual(n(236)),i.registerProcessor(r.curry(n(47),"themeRiver"))},function(t,e,n){"use strict";var i=n(17),r=n(13),o=n(10),a=n(1),s=n(6),l=s.encodeHTML,u=n(113),c=2,h=r.extend({type:"series.themeRiver",dependencies:["singleAxis"],nameMap:null,init:function(t){h.superApply(this,"init",arguments),this.legendDataProvider=function(){return this.getRawData()}},fixData:function(t){for(var e=t.length,n=u().key(function(t){return t[2]}).entries(t),i=a.map(n,function(t){return{name:t.key,dataList:t.values}}),r=i.length,o=-1,s=-1,l=0;lr&&(r=i));var l=t.area*t.area,u=e*e*n;return l?x(u*r/l,l/(u*o)):1/0}function c(t,e,n,i,r){var o=e===n.width?0:1,a=1-o,s=["x","y"],l=["width","height"],u=n[s[o]],c=e?t.area/e:0;(r||c>n[l[a]])&&(c=n[l[a]]);for(var h=0,f=t.length;h=0)return!0}function u(t){for(var e=t.split(/\n+/g),n=s(e.shift()).split(y),i=[],r=p.map(n,function(t){return{name:t,data:[]}}),o=0;o';window.open().document.write(u)}else{var c=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!1});o.dispatchEvent(c)}},n(22).register("saveAsImage",i),t.exports=i},function(t,e,n){n(312),n(313),n(2).registerAction({type:"showTip",event:"showTip",update:"tooltip:manuallyShowTip"},function(){}),n(2).registerAction({type:"hideTip",event:"hideTip",update:"tooltip:manuallyHideTip"},function(){})},function(t,e,n){function i(t){var e="cubic-bezier(0.23, 1, 0.32, 1)",n="left "+t+"s "+e+",top "+t+"s "+e;return s.map(p,function(t){return t+"transition:"+n}).join(";")}function r(t){var e=[],n=t.get("fontSize"),i=t.getTextColor();return i&&e.push("color:"+i),e.push("font:"+t.getFont()),n&&e.push("line-height:"+Math.round(3*n/2)+"px"),h(["decoration","align"],function(n){var i=t.get(n);i&&e.push("text-"+n+":"+i)}),e.join(";")}function o(t){t=t;var e=[],n=t.get("transitionDuration"),o=t.get("backgroundColor"),a=t.getModel("textStyle"),s=t.get("padding");return n&&e.push(i(n)),o&&(d.canvasSupported?e.push("background-Color:"+o):(e.push("background-Color:#"+l.toHex(o)),e.push("filter:alpha(opacity=70)"))),h(["width","color","radius"],function(n){var i="border-"+n,r=f(i),o=t.get(r);null!=o&&e.push(i+":"+o+("color"===n?"":"px"))}),e.push(r(a)),null!=s&&e.push("padding:"+c.normalizeCssArray(s).join("px ")+"px"),e.join(";")+";"}function a(t,e){var n=document.createElement("div"),i=e.getZr();this.el=n,this._x=e.getWidth()/2,this._y=e.getHeight()/2,t.appendChild(n),this._container=t,this._show=!1,this._hideTimeout;var r=this;n.onmouseenter=function(){r.enterable&&(clearTimeout(r._hideTimeout),r._show=!0),r._inContent=!0},n.onmousemove=function(e){if(e=e||window.event,!r.enterable){var n=i.handler;u.normalizeEvent(t,e,!0),n.dispatch("mousemove",e)}},n.onmouseleave=function(){r.enterable&&r._show&&r.hideLater(r._hideDelay),r._inContent=!1}}var s=n(1),l=n(21),u=n(33),c=n(6),h=s.each,f=c.toCamelCase,d=n(14),p=["","-webkit-","-moz-","-o-"];a.prototype={constructor:a,enterable:!0,update:function(){var t=this._container,e=t.currentStyle||document.defaultView.getComputedStyle(t),n=t.style;"absolute"!==n.position&&"absolute"!==e.position&&(n.position="relative")},show:function(t){clearTimeout(this._hideTimeout);var e=this.el;e.style.cssText="position:absolute;display:block;border-style:solid;white-space:nowrap;z-index:9999999;"+o(t)+";left:"+this._x+"px;top:"+this._y+"px;"+(t.get("extraCssText")||""),e.style.display=e.innerHTML?"block":"none",this._show=!0},setContent:function(t){var e=this.el;e.innerHTML=t,e.style.display=t?"block":"none"},moveTo:function(t,e){var n=this.el.style;n.left=t+"px",n.top=e+"px",this._x=t,this._y=e},hide:function(){this.el.style.display="none",this._show=!1},hideLater:function(t){!this._show||this._inContent&&this.enterable||(t?(this._hideDelay=t,this._show=!1,this._hideTimeout=setTimeout(s.bind(this.hide,this),t)):this.hide())},isShow:function(){return this._show}},t.exports=a},function(t,e,n){n(2).extendComponentModel({type:"tooltip",defaultOption:{zlevel:0,z:8,show:!0,showContent:!0,trigger:"item",triggerOn:"mousemove",alwaysShowContent:!1,confine:!1,showDelay:0,hideDelay:100,transitionDuration:.4,enterable:!1,backgroundColor:"rgba(50,50,50,0.7)",borderColor:"#333",borderRadius:4,borderWidth:0,padding:5,extraCssText:"",axisPointer:{type:"line",axis:"auto",animation:!0,animationDurationUpdate:200,animationEasingUpdate:"exponentialOut",lineStyle:{color:"#555",width:1,type:"solid"},crossStyle:{color:"#555",width:1,type:"dashed",textStyle:{}},shadowStyle:{color:"rgba(150,150,150,0.3)"}},textStyle:{color:"#fff",fontSize:14}}})},function(t,e,n){function i(t,e){if(!t||!e)return!1;var n=v.round;return n(t[0])===n(e[0])&&n(t[1])===n(e[1])}function r(t,e,n,i){return{x1:t,y1:e,x2:n,y2:i}}function o(t,e,n,i){return{x:t,y:e,width:n,height:i}}function a(t,e,n,i,r,o){return{cx:t,cy:e,r0:n,r:i,startAngle:r,endAngle:o,clockwise:!0}}function s(t,e,n,i,r){var o=n.clientWidth,a=n.clientHeight,s=20;return t+o+s>i?t-=o+s:t+=s,e+a+s>r?e-=a+s:e+=s,[t,e]}function l(t,e,n,i,r){var o=n.clientWidth,a=n.clientHeight;return t=Math.min(t+o,i)-o,e=Math.min(e+a,r)-a,t=Math.max(t,0),e=Math.max(e,0),[t,e]}function u(t,e,n){var i=n.clientWidth,r=n.clientHeight,o=5,a=0,s=0,l=e.width,u=e.height;switch(t){case"inside":a=e.x+l/2-i/2,s=e.y+u/2-r/2;break;case"top":a=e.x+l/2-i/2,s=e.y-r-o;break;case"bottom":a=e.x+l/2-i/2,s=e.y+u+o;break;case"left":a=e.x-i-o,s=e.y+u/2-r/2;break;case"right":a=e.x+l+o,s=e.y+u/2-r/2}return[a,s]}function c(t,e,n,i,r,o,a,c){var h=c.getWidth(),f=c.getHeight(),d=a&&a.getBoundingRect().clone();if(a&&d.applyTransform(a.transform),"function"==typeof t&&(t=t([e,n],o,r.el,d)),p.isArray(t))e=y(t[0],h),n=y(t[1],f);else if("string"==typeof t&&a){var g=u(t,d,r.el);e=g[0],n=g[1]}else{var g=s(e,n,r.el,h,f);e=g[0],n=g[1]}if(i){var g=l(e,n,r.el,h,f);e=g[0],n=g[1]}r.moveTo(e,n)}function h(t){var e=t.coordinateSystem,n=t.get("tooltip.trigger",!0);return!(!e||"cartesian2d"!==e.type&&"polar"!==e.type&&"singleAxis"!==e.type||"item"===n)}var f=n(311),d=n(3),p=n(1),g=n(6),v=n(4),m=n(7),y=v.parsePercent,x=n(14),_=n(11);n(2).extendComponentView({type:"tooltip",_axisPointers:{},init:function(t,e){if(!x.node){var n=new f(e.getDom(),e);this._tooltipContent=n}},render:function(t,e,n){if(!x.node){this.group.removeAll(),this._axisPointers={},this._tooltipModel=t,this._ecModel=e,this._api=n,this._lastHover={};var i=this._tooltipContent;i.update(),i.enterable=t.get("enterable"),this._alwaysShowContent=t.get("alwaysShowContent"),this._seriesGroupByAxis=this._prepareAxisTriggerData(t,e);var r=this._crossText;r&&this.group.add(r);var o=t.get("triggerOn");if(null!=this._lastX&&null!=this._lastY&&"none"!==o){var a=this;clearTimeout(this._refreshUpdateTimeout),this._refreshUpdateTimeout=setTimeout(function(){a.manuallyShowTip(t,e,n,{x:a._lastX,y:a._lastY})})}var s=this._api.getZr();s.off("click",this._tryShow),s.off("mousemove",this._mousemove),s.off("mouseout",this._hide),s.off("globalout",this._hide),"click"===o?s.on("click",this._tryShow,this):"mousemove"===o&&(s.on("mousemove",this._mousemove,this),s.on("mouseout",this._hide,this),s.on("globalout",this._hide,this))}},_mousemove:function(t){var e=this._tooltipModel.get("showDelay"),n=this;clearTimeout(this._showTimeout),e>0?this._showTimeout=setTimeout(function(){n._tryShow(t)},e):this._tryShow(t)},manuallyShowTip:function(t,e,n,i){function r(t){var e=t.getData(),n=m.queryDataIndex(e,i);if(null!=n&&!p.isArray(n)&&e.hasValue(n))return!0}if(i.from!==this.uid){var e=this._ecModel,o=i.seriesIndex,a=e.getSeriesByIndex(o),n=this._api,s="axis"===this._tooltipModel.get("trigger");if(null==i.x||null==i.y){if(s?(a&&!r(a)&&(a=null),a||e.eachSeries(function(t){h(t)&&!a&&r(t)&&(a=t)})):a=a||e.getSeriesByIndex(0),a){var l=a.getData(),u=m.queryDataIndex(l,i);if(null==u||p.isArray(u))return;var c,f,d=l.getItemGraphicEl(u),g=a.coordinateSystem;if(a.getTooltipPosition){var v=a.getTooltipPosition(u)||[];c=v[0],f=v[1]}else if(g&&g.dataToPoint){var v=g.dataToPoint(l.getValues(p.map(g.dimensions,function(t){return a.coordDimToDataDim(t)[0]}),u,!0));c=v&&v[0],f=v&&v[1]}else if(d){var y=d.getBoundingRect().clone();y.applyTransform(d.transform),c=y.x+y.width/2,f=y.y+y.height/2}null!=c&&null!=f&&this._tryShow({offsetX:c,offsetY:f,position:i.position,target:d,event:{}})}}else{var d=n.getZr().handler.findHover(i.x,i.y);this._tryShow({offsetX:i.x,offsetY:i.y,position:i.position,target:d,event:{}})}}},manuallyHideTip:function(t,e,n,i){i.from!==this.uid&&this._hide()},_prepareAxisTriggerData:function(t,e){var n={};return e.eachSeries(function(t){if(h(t)){var e,i,r=t.coordinateSystem;"cartesian2d"===r.type?(e=r.getBaseAxis(),i=e.dim+e.index):"singleAxis"===r.type?(e=r.getAxis(),i=e.dim+e.type):(e=r.getBaseAxis(),i=e.dim+r.name),n[i]=n[i]||{coordSys:[],series:[]},n[i].coordSys.push(r),n[i].series.push(t)}},this),n},_tryShow:function(t){var e=t.target,n=this._tooltipModel,i=n.get("trigger"),r=this._ecModel,o=this._api;if(n)if(this._lastX=t.offsetX,this._lastY=t.offsetY,e&&null!=e.dataIndex){var a=e.dataModel||r.getSeriesByIndex(e.seriesIndex),s=e.dataIndex,l=a.getData(),u=l.getItemModel(s);"axis"===(u.get("tooltip.trigger")||i)?this._showAxisTooltip(n,r,t):(this._ticket="",this._hideAxisPointer(),this._resetLastHover(),this._showItemTooltipContent(a,s,e.dataType,t)),o.dispatchAction({type:"showTip",from:this.uid,dataIndexInside:s,dataIndex:l.getRawIndex(s),seriesIndex:e.seriesIndex})}else if(e&&e.tooltip){var c=e.tooltip;if("string"==typeof c){var h=c;c={content:h,formatter:h}}var f=new _(c,n),d=f.get("content"),p=Math.random();this._showTooltipContent(f,d,f.get("formatterParams")||{},p,t.offsetX,t.offsetY,t.position,e,o)}else"item"===i?this._hide():this._showAxisTooltip(n,r,t),"cross"===n.get("axisPointer.type")&&o.dispatchAction({type:"showTip",from:this.uid,x:t.offsetX,y:t.offsetY})},_showAxisTooltip:function(t,e,n){var r=t.getModel("axisPointer"),o=r.get("type");if("cross"===o){var a=n.target;if(a&&null!=a.dataIndex){var s=e.getSeriesByIndex(a.seriesIndex),l=a.dataIndex;this._showItemTooltipContent(s,l,a.dataType,n)}}this._showAxisPointer();var u=!0;p.each(this._seriesGroupByAxis,function(e){var a=e.coordSys,s=a[0],l=[n.offsetX,n.offsetY];if(!s.containPoint(l))return void this._hideAxisPointer(s.name);u=!1;var c=s.dimensions,h=s.pointToData(l,!0);l=s.dataToPoint(h);var f=s.getBaseAxis(),d=r.get("axis");if("auto"===d&&(d=f.dim),f.isBlank()||p.eqNaN(l[0])||p.eqNaN(l[1]))return void this._hideAxisPointer(s.name);var g=!1,v=this._lastHover;if("cross"===o)i(v.data,h)&&(g=!0),v.data=h;else{var m=p.indexOf(c,d);v.data===h[m]&&(g=!0),v.data=h[m]}var y=t.get("animation");"cartesian2d"!==s.type||g?"polar"!==s.type||g?"singleAxis"!==s.type||g||this._showSinglePointer(r,s,d,l,y):this._showPolarPointer(r,s,d,l,y):this._showCartesianPointer(r,s,d,l,y),"cross"!==o&&this._dispatchAndShowSeriesTooltipContent(s,e.series,l,h,g,n.position)},this),this._tooltipModel.get("show")||this._hideAxisPointer(),u&&this._hide()},_showCartesianPointer:function(t,e,n,i,a){function s(n,i,o){var a="x"===n?r(i[0],o[0],i[0],o[1]):r(o[0],i[1],o[1],i[1]),s=u._getPointerElement(e,t,n,a);d.subPixelOptimizeLine({shape:a,style:s.style}),f?d.updateProps(s,{shape:a},t):s.attr({shape:a})}function l(n,i,r){var a=e.getAxis(n),s=a.getBandWidth(),l=r[1]-r[0],c="x"===n?o(i[0]-s/2,r[0],s,l):o(r[0],i[1]-s/2,l,s),h=u._getPointerElement(e,t,n,c);f?d.updateProps(h,{shape:c},t):h.attr({shape:c})}var u=this,c=t.get("type"),h=e.getBaseAxis(),f=a&&"cross"!==c&&"category"===h.type&&h.getBandWidth()>20;if("cross"===c)s("x",i,e.getAxis("y").getGlobalExtent()),s("y",i,e.getAxis("x").getGlobalExtent()),this._updateCrossText(e,i,t);else{var p=e.getAxis("x"===n?"y":"x"),g=p.getGlobalExtent();"cartesian2d"===e.type&&("line"===c?s:l)(n,i,g)}},_showSinglePointer:function(t,e,n,i,o){function a(n,i,o){var a=e.getAxis(),l=a.orient,c="horizontal"===l?r(i[0],o[0],i[0],o[1]):r(o[0],i[1],o[1],i[1]),h=s._getPointerElement(e,t,n,c);u?d.updateProps(h,{shape:c},t):h.attr({shape:c})}var s=this,l=t.get("type"),u=o&&"cross"!==l&&"category"===e.getBaseAxis().type,c=e.getRect();a(n,i,[c.y,c.y+c.height])},_showPolarPointer:function(t,e,n,i,o){function s(n,i,o){var a,s=e.pointToCoord(i);if("angle"===n){var l=e.coordToPoint([o[0],s[1]]),c=e.coordToPoint([o[1],s[1]]);a=r(l[0],l[1],c[0],c[1])}else a={cx:e.cx,cy:e.cy,r:s[0]};var h=u._getPointerElement(e,t,n,a);p?d.updateProps(h,{shape:a},t):h.attr({shape:a})}function l(n,i,r){var o,s=e.getAxis(n),l=s.getBandWidth(),c=e.pointToCoord(i),h=Math.PI/180;o="angle"===n?a(e.cx,e.cy,r[0],r[1],(-c[1]-l/2)*h,(-c[1]+l/2)*h):a(e.cx,e.cy,c[0]-l/2,c[0]+l/2,0,2*Math.PI);var f=u._getPointerElement(e,t,n,o);p?d.updateProps(f,{shape:o},t):f.attr({shape:o})}var u=this,c=t.get("type"),h=e.getAngleAxis(),f=e.getRadiusAxis(),p=o&&"cross"!==c&&"category"===e.getBaseAxis().type;if("cross"===c)s("angle",i,f.getExtent()),s("radius",i,h.getExtent()),this._updateCrossText(e,i,t);else{var g=e.getAxis("radius"===n?"angle":"radius"),v=g.getExtent();("line"===c?s:l)(n,i,v)}},_updateCrossText:function(t,e,n){var i=n.getModel("crossStyle"),r=i.getModel("textStyle"),o=this._tooltipModel,a=this._crossText;a||(a=this._crossText=new d.Text({style:{textAlign:"left",textVerticalAlign:"bottom"}}),this.group.add(a));var s=t.pointToData(e),l=t.dimensions;s=p.map(s,function(e,n){var i=t.getAxis(l[n]);return e="category"===i.type||"time"===i.type?i.scale.getLabel(e):g.addCommas(e.toFixed(i.getPixelPrecision()))}),a.setStyle({fill:r.getTextColor()||i.get("color"),textFont:r.getFont(),text:s.join(", "),x:e[0]+5,y:e[1]-5}),a.z=o.get("z"),a.zlevel=o.get("zlevel")},_getPointerElement:function(t,e,n,i){var r=this._tooltipModel,o=r.get("z"),a=r.get("zlevel"),s=this._axisPointers,l=t.name;if(s[l]=s[l]||{},s[l][n])return s[l][n];var u=e.get("type"),c=e.getModel(u+"Style"),h="shadow"===u,f=c[h?"getAreaStyle":"getLineStyle"](),p="polar"===t.type?h?"Sector":"radius"===n?"Circle":"Line":h?"Rect":"Line";h?f.stroke=null:f.fill=null;var g=s[l][n]=new d[p]({style:f,z:o,zlevel:a,silent:!0,shape:i});return this.group.add(g),g},_dispatchAndShowSeriesTooltipContent:function(t,e,n,i,r,o){var a=this._tooltipModel,s=t.getBaseAxis(),l={x:1,radius:1,single:1}[s.dim]?0:1;if(e.length){var u,h=p.map(e,function(t){return{seriesIndex:t.seriesIndex,dataIndexInside:t.getAxisTooltipDataIndex?t.getAxisTooltipDataIndex(t.coordDimToDataDim(s.dim),i,s):t.getData().indexOfNearest(t.coordDimToDataDim(s.dim)[0],i[l],!1,"category"===s.type?.5:null)}});p.each(h,function(t,n){e[n].getData().hasValue(t.dataIndexInside)&&(u=n)}),u=u||0;var f=this._lastHover,d=this._api;f.payloadBatch&&!r&&d.dispatchAction({type:"downplay",batch:f.payloadBatch}),r||(d.dispatchAction({type:"highlight",batch:h}),f.payloadBatch=h);var v=h[u].dataIndexInside;if(d.dispatchAction({type:"showTip",dataIndexInside:v,dataIndex:e[u].getData().getRawIndex(v),seriesIndex:h[u].seriesIndex,from:this.uid}),s&&a.get("showContent")&&a.get("show")){var m=p.map(e,function(t,e){return t.getDataParams(h[e].dataIndexInside)});if(r)c(o||a.get("position"),n[0],n[1],a.get("confine"),this._tooltipContent,m,null,d);else{var y=h[u].dataIndexInside,x="time"===s.type?s.scale.getLabel(i[l]):e[u].getData().getName(y),_=(x?g.encodeHTML(x)+"
":"")+p.map(e,function(t,e){return t.formatTooltip(h[e].dataIndexInside,!0)}).join("
"),b="axis_"+t.name+"_"+y;this._showTooltipContent(a,_,m,b,n[0],n[1],o,null,d)}}}},_showItemTooltipContent:function(t,e,n,i){var r=this._api,o=t.getData(n),a=o.getItemModel(e),s=a.get("tooltip",!0);"string"==typeof s&&(s={formatter:s});var l=this._tooltipModel,u=t.getModel("tooltip",l),c=new _(s,u,u.ecModel),h=t.getDataParams(e,n),f=t.formatTooltip(e,!1,n),d="item_"+t.name+"_"+e;this._showTooltipContent(c,f,h,d,i.offsetX,i.offsetY,i.position,i.target,r)},_showTooltipContent:function(t,e,n,i,r,o,a,s,l){if(this._ticket="",t.get("showContent")&&t.get("show")){var u=this._tooltipContent,h=t.get("confine"),f=t.get("formatter");a=a||t.get("position");var d=e;if(f)if("string"==typeof f)d=g.formatTpl(f,n,!0);else if("function"==typeof f){var p=this,v=i,m=function(t,e){t===p._ticket&&(u.setContent(e),c(a,r,o,h,u,n,s,l))};p._ticket=v,d=f(n,v,m)}u.show(t),u.setContent(d),c(a,r,o,h,u,n,s,l)}},_showAxisPointer:function(t){if(t){var e=this._axisPointers[t];e&&p.each(e,function(t){t.show()})}else this.group.eachChild(function(t){t.show()}),this.group.show()},_resetLastHover:function(){var t=this._lastHover;t.payloadBatch&&this._api.dispatchAction({type:"downplay",batch:t.payloadBatch}),this._lastHover={}},_hideAxisPointer:function(t){if(t){var e=this._axisPointers[t];e&&p.each(e,function(t){t.hide()})}else this.group.children().length&&this.group.hide()},_hide:function(){clearTimeout(this._showTimeout),this._hideAxisPointer(),this._resetLastHover(),this._alwaysShowContent||this._tooltipContent.hideLater(this._tooltipModel.get("hideDelay")),this._api.dispatchAction({type:"hideTip",from:this.uid}),this._lastX=this._lastY=null},dispose:function(t,e){if(!x.node){var n=e.getZr();this._tooltipContent.hide(),n.off("click",this._tryShow),n.off("mousemove",this._mousemove),n.off("mouseout",this._hide),n.off("globalout",this._hide)}}})},function(t,e,n){n(319),n(320)},function(t,e,n){function i(t,e,n){if(n[0]===n[1])return n.slice();for(var i=200,r=(n[1]-n[0])/i,o=n[0],a=[],s=0;s<=i&&o1&&o&&o.length>1){var s=i(o)/i(a);!isFinite(s)&&(s=1),e.pinchScale=s;var l=r(o);return e.pinchX=l[0],e.pinchY=l[1],{type:"pinch",target:t[0].target,event:e}}}}};t.exports=a},function(t,e){var n=function(){this.head=null,this.tail=null,this._len=0},i=n.prototype;i.insert=function(t){var e=new r(t);return this.insertEntry(e),e},i.insertEntry=function(t){this.head?(this.tail.next=t,t.prev=this.tail,this.tail=t):this.head=this.tail=t,this._len++},i.remove=function(t){var e=t.prev,n=t.next;e?e.next=n:this.head=n,n?n.prev=e:this.tail=e,t.next=t.prev=null,this._len--},i.len=function(){return this._len};var r=function(t){this.value=t,this.next,this.prev},o=function(t){this._list=new n,this._map={},this._maxSize=t||10},a=o.prototype;a.put=function(t,e){var n=this._list,i=this._map;if(null==i[t]){var r=n.len();if(r>=this._maxSize&&r>0){var o=n.head;n.remove(o),delete i[o.key]}var a=n.insert(e);a.key=t,i[t]=a}},a.get=function(t){var e=this._map[t],n=this._list;if(null!=e)return e!==n.tail&&(n.remove(e),n.insertEntry(e)),e.value},a.clear=function(){this._list.clear(),this._map={}},t.exports=o},function(t,e,n){function i(t){return"mousewheel"===t&&f.browser.firefox?"DOMMouseScroll":t}function r(t,e,n){var i=t._gestureMgr;"start"===n&&i.clear();var r=i.recognize(e,t.handler.findHover(e.zrX,e.zrY,null),t.dom);if("end"===n&&i.clear(),r){var o=r.type;e.gestureEvent=o,t.handler.dispatchToElement(r.target,o,r.event)}}function o(t){t._touching=!0,clearTimeout(t._touchTimer),t._touchTimer=setTimeout(function(){t._touching=!1},700)}function a(t){var e=t.pointerType;return"pen"===e||"touch"===e}function s(t){function e(t,e){return function(){if(!e._touching)return t.apply(e,arguments)}}c.each(x,function(e){t._handlers[e]=c.bind(w[e],t)}),c.each(b,function(e){t._handlers[e]=c.bind(w[e],t)}),c.each(y,function(n){t._handlers[n]=e(w[n],t)})}function l(t){function e(e,n){c.each(e,function(e){p(t,i(e),n._handlers[e])},n)}h.call(this),this.dom=t,this._touching=!1,this._touchTimer,this._gestureMgr=new d,this._handlers={},s(this),f.pointerEventsSupported?e(b,this):(f.touchEventsSupported&&e(x,this),e(y,this))}var u=n(33),c=n(1),h=n(29),f=n(14),d=n(390),p=u.addEventListener,g=u.removeEventListener,v=u.normalizeEvent,m=300,y=["click","dblclick","mousewheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],x=["touchstart","touchend","touchmove"],_={pointerdown:1,pointerup:1,pointermove:1,pointerout:1},b=c.map(y,function(t){var e=t.replace("mouse","pointer");return _[e]?e:t}),w={mousemove:function(t){t=v(this.dom,t),this.trigger("mousemove",t)},mouseout:function(t){t=v(this.dom,t);var e=t.toElement||t.relatedTarget;if(e!=this.dom)for(;e&&9!=e.nodeType;){if(e===this.dom)return;e=e.parentNode}this.trigger("mouseout",t)},touchstart:function(t){t=v(this.dom,t),t.zrByTouch=!0,this._lastTouchMoment=new Date,r(this,t,"start"),w.mousemove.call(this,t),w.mousedown.call(this,t),o(this)},touchmove:function(t){t=v(this.dom,t),t.zrByTouch=!0,r(this,t,"change"),w.mousemove.call(this,t),o(this)},touchend:function(t){t=v(this.dom,t),t.zrByTouch=!0,r(this,t,"end"),w.mouseup.call(this,t),+new Date-this._lastTouchMoment