Commit ece4f47f authored by yangkaiyi's avatar yangkaiyi

init,格式化代码,改eslint配置

parents
Pipeline #287 failed with stages
{
"presets": [
["env", {
"modules": false,
"targets": {
"browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
}
}],
"stage-2"
],
"plugins":["transform-vue-jsx", "transform-runtime"],
"ignore":[
"lbsmap.js"
]
}
# http://editorconfig.org
root = true
[*]
charset = utf-8
indent_style = space
indent_size = 2
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
[*.md]
insert_final_newline = false
trim_trailing_whitespace = false
build/*.js
config/*.js
src/assets
module.exports = {
root: true,
parserOptions: {
parser: "babel-eslint"
},
env: {
browser: true
},
extends: [
// https://github.com/vuejs/eslint-plugin-vue#priority-a-essential-error-prevention
// consider switching to `plugin:vue/strongly-recommended` or `plugin:vue/recommended` for stricter rules.
"plugin:vue/essential",
// https://github.com/standard/standard/blob/master/docs/RULES-en.md
"standard"
],
// required to lint *.vue files
plugins: ["vue", "react"],
// add your custom rules here
rules: {
"no-trailing-spaces": 1,
// allow async-await
"generator-star-spacing": 1,
semi: ["warn", "always"],
quotes: [1, "single"],
eqeqeq: [1, "always"],
// allow debugger during development
"no-debugger": process.env.NODE_ENV === "production" ? "error" : "off",
"react/jsx-uses-react": 1,
// ct_id
camelcase: 0,
// no-parsing-error
"vue/no-parsing-error": [
2,
{
"x-invalid-end-tag": false
}
]
},
globals: {
gio: true
}
};
.DS_Store
node_modules/
dist/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
package-lock.json
# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
module.exports = {
"plugins": {
// to edit target browsers: use "browserslist" field in package.json
"postcss-import": {},
"autoprefixer": {}
}
}
language: node_js
node_js: stable
script: npm run test
notifications:
email: false
# GPS/BS卫星定位系统通用平台
## Build Setup
``` bash
# Install dependencies
npm install
# serve with hot reload at localhost:9528
npm run dev
# build for production with minification
npm run build
# build for production and view the bundle analyzer report
npm run build --report
```
v2.1.6
2020-04-29 23:38:38
1、视频通讯改用ws
2、增加对讲功能
v1.3.1
2019-10-11 14:48:32
增加修正里程数据
v1.3.0
新增私服图层服务
Copyright (c) 2019-gpsbd lbssoft
'use strict'
require('./check-versions')()
process.env.NODE_ENV = 'production'
const ora = require('ora')
const rm = require('rimraf')
const path = require('path')
const chalk = require('chalk')
const webpack = require('webpack')
const config = require('../config')
const webpackConfig = require('./webpack.prod.conf')
const spinner = ora('building for production...')
spinner.start()
rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => {
if (err) throw err
webpack(webpackConfig, (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')
if (stats.hasErrors()) {
console.log(chalk.red(' Build failed with errors.\n'))
process.exit(1)
}
console.log(chalk.cyan(' Build complete.\n'))
console.log(chalk.yellow(
' Tip: built files are meant to be served over an HTTP server.\n' +
' Opening index.html over file:// won\'t work.\n'
))
})
})
'use strict'
const chalk = require('chalk')
const semver = require('semver')
const packageConfig = require('../package.json')
const shell = require('shelljs')
function exec (cmd) {
return require('child_process').execSync(cmd).toString().trim()
}
const 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 () {
const warnings = []
for (let i = 0; i < versionRequirements.length; i++) {
const 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 (let i = 0; i < warnings.length; i++) {
const warning = warnings[i]
console.log(' ' + warning)
}
console.log()
process.exit(1)
}
}
'use strict'
const path = require('path')
const config = require('../config')
const ExtractTextPlugin = require('extract-text-webpack-plugin')
const packageConfig = require('../package.json')
exports.assetsPath = function (_path) {
const assetsSubDirectory = process.env.NODE_ENV === 'production'
? config.build.assetsSubDirectory
: config.dev.assetsSubDirectory
return path.posix.join(assetsSubDirectory, _path)
}
exports.cssLoaders = function (options) {
options = options || {}
const cssLoader = {
loader: 'css-loader',
options: {
sourceMap: options.sourceMap
}
}
const postcssLoader = {
loader: 'postcss-loader',
options: {
sourceMap: options.sourceMap
}
}
// generate loader string to be used with extract text plugin
function generateLoaders (loader, loaderOptions) {
const loaders = options.usePostCSS ? [cssLoader, postcssLoader] : [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) {
const output = []
const loaders = exports.cssLoaders(options)
for (const extension in loaders) {
const loader = loaders[extension]
output.push({
test: new RegExp('\\.' + extension + '$'),
use: loader
})
}
return output
}
exports.createNotifierCallback = () => {
const notifier = require('node-notifier')
return (severity, errors) => {
if (severity !== 'error') return
const error = errors[0]
const filename = error.file && error.file.split('!').pop()
notifier.notify({
title: packageConfig.name,
message: severity + ': ' + error.name,
subtitle: filename || '',
icon: path.join(__dirname, 'logo.png')
})
}
}
'use strict'
const utils = require('./utils')
const config = require('../config')
const isProduction = process.env.NODE_ENV === 'production'
const sourceMapEnabled = isProduction
? config.build.productionSourceMap
: config.dev.cssSourceMap
module.exports = {
loaders: utils.cssLoaders({
sourceMap: sourceMapEnabled,
extract: isProduction
}),
cssSourceMap: sourceMapEnabled,
cacheBusting: config.dev.cacheBusting,
transformToRequire: {
video: ['src', 'poster'],
source: 'src',
img: 'src',
image: 'xlink:href'
}
}
'use strict'
const path = require('path')
const utils = require('./utils')
const config = require('../config')
const vueLoaderConfig = require('./vue-loader.conf')
function resolve (dir) {
return path.join(__dirname, '..', dir)
}
const createLintingRule = () => ({
test: /\.(js|vue)$/,
loader: 'eslint-loader',
enforce: 'pre',
include: [resolve('src'), resolve('test')],
options: {
formatter: require('eslint-friendly-formatter'),
emitWarning: !config.dev.showEslintErrorsInOverlay
}
})
module.exports = {
context: path.resolve(__dirname, '../'),
entry: {
app: './src/main.js'
},
output: {
path: config.build.assetsRoot,
filename: '[name].js',
publicPath: process.env.NODE_ENV === 'production'
? config.build.assetsPublicPath
: config.dev.assetsPublicPath
},
resolve: {
extensions: ['.js', '.vue', '.json'],
alias: {
'vue$': 'vue/dist/vue.esm.js',
'@': resolve('src'),
}
},
externals:[
require('webpack-require-http')
],
module: {
rules: [
// ...(config.dev.useEslint ? [createLintingRule()] : []),
{
test: /\.vue$/,
loader: 'vue-loader',
options: vueLoaderConfig
},
{
test: /\.js$/,
loader: 'babel-loader',
include: [resolve('src'), resolve('test') ,resolve('node_modules/webpack-dev-server/client')]
},
{
test: /\.svg$/,
loader: 'svg-sprite-loader',
include: [resolve('src/icons')],
options: {
symbolId: 'icon-[name]'
}
},
{
test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
loader: 'url-loader',
exclude: [resolve('src/icons')],
options: {
limit: 10000,
name: utils.assetsPath('img/[name].[hash:7].[ext]')
}
},
{
test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/,
loader: 'url-loader',
options: {
limit: 10000,
name: utils.assetsPath('media/[name].[hash:7].[ext]')
}
},
{
test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
loader: 'url-loader',
options: {
limit: 80000,
name: utils.assetsPath('fonts/[name].[hash:7].[ext]')
}
}
]
},
node: {
// prevent webpack from injecting useless setImmediate polyfill because Vue
// source contains it (although only uses it if it's native).
setImmediate: false,
// prevent webpack from injecting mocks to Node native modules
// that does not make sense for the client
dgram: 'empty',
fs: 'empty',
net: 'empty',
tls: 'empty',
child_process: 'empty'
}
}
'use strict'
const path = require('path')
const utils = require('./utils')
const webpack = require('webpack')
const config = require('../config')
const merge = require('webpack-merge')
const baseWebpackConfig = require('./webpack.base.conf')
const HtmlWebpackPlugin = require('html-webpack-plugin')
const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin')
const portfinder = require('portfinder')
function resolve (dir) {
return path.join(__dirname, '..', dir)
}
const HOST = process.env.HOST
const PORT = process.env.PORT && Number(process.env.PORT)
const devWebpackConfig = merge(baseWebpackConfig, {
module: {
rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap, usePostCSS: true })
},
// cheap-module-eval-source-map is faster for development
devtool: config.dev.devtool,
// these devServer options should be customized in /config/index.js
devServer: {
clientLogLevel: 'warning',
historyApiFallback: true,
hot: true,
compress: true,
host: HOST || config.dev.host,
port: PORT || config.dev.port,
open: config.dev.autoOpenBrowser,
overlay: config.dev.errorOverlay
? { warnings: false, errors: true }
: false,
publicPath: config.dev.assetsPublicPath,
proxy: config.dev.proxyTable,
quiet: true, // necessary for FriendlyErrorsPlugin
watchOptions: {
poll: config.dev.poll,
}
},
plugins: [
new webpack.DefinePlugin({
'process.env': require('../config/dev.env')
}),
new webpack.HotModuleReplacementPlugin(),
new webpack.NamedModulesPlugin(), // HMR shows correct file names in console on update.
new webpack.NoEmitOnErrorsPlugin(),
// https://github.com/ampedandwired/html-webpack-plugin
new HtmlWebpackPlugin({
filename: 'index.html',
template: 'index.html',
inject: true,
favicon: resolve('favicon.ico'),
title: 'vue-element-admin'
}),
]
})
module.exports = new Promise((resolve, reject) => {
portfinder.basePort = process.env.PORT || config.dev.port
portfinder.getPort((err, port) => {
if (err) {
reject(err)
} else {
// publish the new Port, necessary for e2e tests
process.env.PORT = port
// add port to devServer config
devWebpackConfig.devServer.port = port
// Add FriendlyErrorsPlugin
devWebpackConfig.plugins.push(new FriendlyErrorsPlugin({
compilationSuccessInfo: {
messages: [`Your application is running here: http://${devWebpackConfig.devServer.host}:${port}`],
},
onErrors: config.dev.notifyOnErrors
? utils.createNotifierCallback()
: undefined
}))
resolve(devWebpackConfig)
}
})
})
'use strict'
const path = require('path')
const utils = require('./utils')
const webpack = require('webpack')
const config = require('../config')
const merge = require('webpack-merge')
const baseWebpackConfig = require('./webpack.base.conf')
const CopyWebpackPlugin = require('copy-webpack-plugin')
const HtmlWebpackPlugin = require('html-webpack-plugin')
const ExtractTextPlugin = require('extract-text-webpack-plugin')
const OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin')
const UglifyJsPlugin = require('uglifyjs-webpack-plugin')
function resolve (dir) {
return path.join(__dirname, '..', dir)
}
const env = require('../config/prod.env')
const webpackConfig = merge(baseWebpackConfig, {
module: {
rules: utils.styleLoaders({
sourceMap: config.build.productionSourceMap,
extract: true,
usePostCSS: true
})
},
devtool: config.build.productionSourceMap ? config.build.devtool : 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 UglifyJsPlugin({
uglifyOptions: {
compress: {
warnings: false
}
},
sourceMap: config.build.productionSourceMap,
parallel: true
}),
// extract css into its own file
new ExtractTextPlugin({
filename: utils.assetsPath('css/[name].[contenthash].css'),
// Setting the following option to `false` will not extract CSS from codesplit chunks.
// Their CSS will instead be inserted dynamically with style-loader when the codesplit chunk has been loaded by webpack.
// increasing file size: https://github.com/vuejs-templates/webpack/issues/1110
allChunks: false,
}),
// Compress extracted CSS. We are using this plugin so that possible
// duplicated CSS from different components can be deduped.
new OptimizeCSSPlugin({
cssProcessorOptions: config.build.productionSourceMap
? { safe: true, map: { inline: false } }
: { 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,
favicon: resolve('favicon.ico'),
title: 'GPSBD',
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'
}),
// keep module.id stable when vender modules does not change
new webpack.HashedModuleIdsPlugin(),
// enable scope hoisting
new webpack.optimize.ModuleConcatenationPlugin(),
// split vendor js into its own file
new webpack.optimize.CommonsChunkPlugin({
name: 'vendor',
minChunks (module) {
// 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',
minChunks: Infinity
}),
// This instance extracts shared chunks from code splitted chunks and bundles them
// in a separate chunk, similar to the vendor chunk
// see: https://webpack.js.org/plugins/commons-chunk-plugin/#extra-async-commons-chunk
new webpack.optimize.CommonsChunkPlugin({
name: 'app',
async: 'vendor-async',
children: true,
minChunks: 3
}),
// copy custom static assets
new CopyWebpackPlugin([
{
from: path.resolve(__dirname, '../static'),
to: config.build.assetsSubDirectory,
ignore: ['.*']
}
])
]
})
if (config.build.productionGzip) {
const 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) {
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
webpackConfig.plugins.push(new BundleAnalyzerPlugin())
}
module.exports = webpackConfig
"use strict";
const merge = require("webpack-merge");
const prodEnv = require("./prod.env");
module.exports = merge(prodEnv, {
NODE_ENV: '"development"',
// BASE_API: '"https://demoapi.gpsbd.com"',
// WS_API: '"wss://demoapi.gpsbd.com"',
// WS_MEDIA:'"wss://media.gpsbd.com"'
BASE_API: '"http://47.101.203.155:82"',
WS_API: '"ws://47.101.203.155:8082"',
WS_MEDIA: '"ws://47.101.203.155:8082"'
});
"use strict";
// Template version: 1.2.6
// see http://vuejs-templates.github.io/webpack for documentation.
const path = require("path");
module.exports = {
dev: {
// Paths
assetsSubDirectory: "static",
assetsPublicPath: "/",
proxyTable: {
// "/localhost": {
// target: "47.101.203.155",
// changeOrigin: true,
// pathRewrite: {
// // a: "localhost"
// }
// }
},
// Various Dev Server settings
host: "0.0.0.0", // can be overwritten by process.env.HOST
port: 82, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
autoOpenBrowser: true,
errorOverlay: true,
notifyOnErrors: false,
poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions-
// Use Eslint Loader?
// If true, your code will be linted during bundling and
// linting errors and warnings will be shown in the console.
useEslint: true,
// If true, eslint errors and warnings will also be shown in the error overlay
// in the browser.
showEslintErrorsInOverlay: false,
/**
* Source Maps
*/
// https://webpack.js.org/configuration/devtool/#development
devtool: "cheap-source-map",
// If you have problems debugging vue-files in devtools,
// set this to false - it *may* help
// https://vue-loader.vuejs.org/en/options.html#cachebusting
cacheBusting: true,
// 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
},
build: {
// Template for index.html
index: path.resolve(__dirname, "../dist/index.html"),
// Paths
assetsRoot: path.resolve(__dirname, "../dist"),
assetsSubDirectory: "static",
// you can set by youself according to actual condition
assetsPublicPath: "./",
/**
* Source Maps
*/
productionSourceMap: false,
// https://webpack.js.org/configuration/devtool/#production
devtool: "#source-map",
// 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
}
};
'use strict'
module.exports = {
NODE_ENV: '"production"',
BASE_API: '"https://demoapi.gpsbd.com"',
WS_API: '"wss://demoapi.gpsbd.com"',
WS_MEDIA:'"wss://media.gpsbd.com"'
}
favicon.ico

4.19 KB

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>GPSBD®卫星定位监控系统</title>
</head>
<body>
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
</html>
{
"name": "gpsbd",
"version": "2.1.5",
"description": "A vue lbssoft with Element UI & axios & iconfont & permission control & lint",
"author": "LBSSOFT <lbssoft@163.com>",
"scripts": {
"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
"start": "npm run dev",
"build": "node build/build.js",
"build:report": "npm_config_report=true node build/build.js",
"lint": "eslint --ext .js,.vue src",
"test": "npm run lint",
"prettier": "prettier --write 'src/**/*.{js,less}'"
},
"dependencies": {
"@fortawesome/fontawesome": "^1.1.8",
"@fortawesome/fontawesome-free-brands": "^5.0.13",
"@fortawesome/fontawesome-free-regular": "^5.0.13",
"@fortawesome/fontawesome-free-solid": "^5.0.13",
"@fortawesome/vue-fontawesome": "^0.0.22",
"@gamestdio/websocket": "^0.3.2",
"@jiaminghi/data-view": "^2.4.1",
"axios": "0.17.1",
"echarts": "^4.2.1",
"echarts-gl": "^1.1.1",
"element-ui": "2.10.1",
"file-saver": "^2.0.2",
"flv.js": "^1.5.0",
"js-cookie": "2.2.0",
"less": "^3.0.4",
"less-loader": "^5.0.0",
"moment": "^2.18.1",
"normalize.css": "7.0.0",
"nprogress": "0.2.0",
"prettier": "^2.2.1",
"reconnectingwebsocket": "^1.0.0",
"sortablejs": "1.7.0",
"vivus": "^0.4.5",
"vue": "2.6.10",
"vue-amap": "^0.4.5",
"vue-count-to": "^1.0.13",
"vue-i18n": "^6.1.3",
"vue-moment": "^3.2.0",
"vue-particle-line": "^0.1.3",
"vue-router": "3.0.1",
"vuex": "3.0.1",
"wavesurfer.js": "^3.3.2",
"webpack-require-http": "^0.4.3",
"xlsx": "^0.14.3"
},
"devDependencies": {
"autoprefixer": "7.2.3",
"babel-core": "6.26.0",
"babel-eslint": "8.0.3",
"babel-helper-vue-jsx-merge-props": "2.0.3",
"babel-loader": "7.1.2",
"babel-plugin-syntax-jsx": "6.18.0",
"babel-plugin-transform-runtime": "6.23.0",
"babel-plugin-transform-vue-jsx": "3.5.0",
"babel-preset-env": "1.6.1",
"babel-preset-stage-2": "6.24.1",
"chalk": "2.3.0",
"copy-webpack-plugin": "4.2.3",
"css-loader": "0.28.7",
"driver.js": "0.8.1",
"eslint": "4.13.1",
"eslint-friendly-formatter": "3.0.0",
"eslint-loader": "1.9.0",
"eslint-plugin-html": "4.0.1",
"eventsource-polyfill": "0.9.6",
"extract-text-webpack-plugin": "3.0.2",
"file-loader": "1.1.5",
"friendly-errors-webpack-plugin": "1.6.1",
"html-webpack-plugin": "2.30.1",
"node-notifier": "5.1.2",
"node-sass": "^4.7.2",
"optimize-css-assets-webpack-plugin": "3.2.0",
"ora": "1.3.0",
"portfinder": "1.0.13",
"postcss-import": "11.0.0",
"postcss-loader": "2.0.9",
"rimraf": "2.6.2",
"sass-loader": "6.0.6",
"script-loader": "^0.7.2",
"semver": "5.4.1",
"shelljs": "0.7.8",
"svg-sprite-loader": "3.5.2",
"uglifyjs-webpack-plugin": "1.1.3",
"url-loader": "0.6.2",
"vue-loader": "13.5.0",
"vue-style-loader": "3.0.3",
"vue-template-compiler": "2.6.10",
"webpack": "3.10.0",
"webpack-bundle-analyzer": "2.9.1",
"webpack-dev-server": "2.9.7",
"webpack-merge": "4.1.1"
},
"engines": {
"node": ">= 4.0.0",
"npm": ">= 3.0.0"
},
"browserslist": [
"> 1%",
"last 2 versions",
"not ie <= 8"
]
}
<template>
<div id="app">
<router-view></router-view>
</div>
</template>
<script>
export default {
name: "app",
};
</script>
This diff is collapsed.
@charset "utf-8";
html {
font-size: 1em;
}
body {
font-size: 0.75em;
}
html,
body {
background: #000;
height: 100%;
color: #fff;
font-family: "microsoft yahei", simhei;
moz-user-select: -moz-none;
moz-user-select: none;
-o-user-select: none;
-khtml-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
user-select: none;
}
body {
overflow-x: hidden;
-webkit-animation: fadeIn 1s 0.2s ease both;
-moz-animation: fadeIn 1s 0.2s ease both;
}
#app {
float: left;
width: 100%;
height: 100%;
background: url("../../assets/images/bg01warp.png") 100% 100% no-repeat;
background-size: 100%;
}
code {
display: block;
}
a:link,
a:visited {
text-decoration: none;
color: #333;
}
a:hover,
a:focus,
a:active {
text-decoration: ;
}
a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
blockquote,
big,
body,
center,
canvas,
caption,
cite,
code,
command,
datalist,
dd,
del,
details,
dfn,
dl,
div,
dt,
em,
embed,
fieldset,
figcaption,
figure,
font,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
keygen,
label,
legend,
li,
meter,
nav,
menu,
object,
ol,
output,
p,
pre,
progress,
q,
s,
samp,
section,
small,
span,
source,
strike,
strong,
sub,
sup,
table,
tbody,
tfoot,
thead,
th,
tr,
tdvideo,
tt,
u,
ul,
var {
margin: 0;
padding: 0;
}
h1,
h2,
h3,
h4,
h5,
h6,
th,
td,
table,
input,
button,
select,
textarea {
font-size: 1em;
}
body,
input,
button,
select,
textarea {
}
em,
cite,
address,
optgroup {
font-style: normal;
}
kbd,
samp,
code {
font-family: monospace;
}
img,
input,
button,
select,
textarea {
vertical-align: middle;
}
ul,
ol {
list-style: none;
}
img,
fieldset {
border: 0;
}
abbr,
acronym {
border-bottom: 1px dotted black;
cursor: help;
}
table {
width: 100%;
border-collapse: collapse;
border-spacing: 0;
}
legend,
hr {
overflow: hidden;
position: absolute;
left: 0;
top: 0;
}
legend,
hr,
caption {
visibility: hidden;
width: 0;
height: 0;
font-size: 0;
line-height: 0;
}
/*清除浮动*/
.group:after {
content: ".";
display: block;
visibility: hidden;
clear: both;
height: 0;
}
.group {
display: inline-block;
}
.group {
display: block;
}
.clear {
clear: both;
height: 0;
width: 0;
line-height: 0;
font-size: 0;
}
/* 显示隐藏 */
.hidden {
visibility: hidden;
margin: 0;
padding: 0;
width: 0;
height: 0;
background: none;
font-size: 0;
line-height: 0;
}
.show {
visibility: visible;
}
/* 可访问性导航 */
a.accessibility01 {
position: absolute;
left: 0;
top: -10000px;
display: block;
width: 100%;
text-align: center;
font-size: 1.3em;
z-index: 10000;
}
a.accessibility01:hover,
a.accessibility01:focus,
a.accessibility01:active {
position: absolute;
top: 0;
padding: 15px 0;
background: #1d60a7;
color: #fff;
font-weight: bold;
z-index: 10000;
}
/* html5 标签规范 */
article,
aside,
audio,
canvas,
command,
datalist,
details,
embed,
figcaption,
figure,
footer,
header,
hgroup,
keygen,
meter,
nav,
output,
progress,
section,
source,
video {
display: block;
}
mark,
rp,
rt,
ruby,
summary,
time {
display: inline;
}
@font-face {font-family: "iconfont";
src: url('../iconfont/iconfont.eot?t=1490798165282'); /* IE9*/
src: url('../iconfont/iconfont.eot?t=1490798165282#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../iconfont/iconfont.woff?t=1490798165282') format('woff'), /* chrome, firefox */
url('../iconfont/iconfont.ttf?t=1490798165282') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
url('../iconfont/iconfont.svg?t=1490798165282#iconfont') format('svg'); /* iOS 4.1- */
}
.iconfont {
font-family:"iconfont" !important;
font-size:16px;
font-style:normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-wifi:before { content: "\3470"; }
.icon-jizhan:before { content: "\e663"; }
.icon-height-light-6:before { content: "\e695"; }
.icon-gongyong-xinhao:before { content: "\e607"; }
.icon-gongyong-xinhao1:before { content: "\e608"; }
.icon-gongyong-xinhao2:before { content: "\e615"; }
.icon-gongyong-xinhao3:before { content: "\e616"; }
.icon-gongyong-xinhao4:before { content: "\e617"; }
This diff is collapsed.
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata>
Created by FontForge 20120731 at Wed Mar 29 22:36:05 2017
By admin
</metadata>
<defs>
<font id="iconfont" horiz-adv-x="1024" >
<font-face
font-family="iconfont"
font-weight="500"
font-stretch="normal"
units-per-em="1024"
panose-1="2 0 6 3 0 0 0 0 0 0"
ascent="896"
descent="-128"
x-height="792"
bbox="44 -63 960 831"
underline-thickness="0"
underline-position="0"
unicode-range="U+0078-E695"
/>
<missing-glyph
/>
<glyph glyph-name=".notdef"
/>
<glyph glyph-name=".notdef"
/>
<glyph glyph-name=".null" horiz-adv-x="0"
/>
<glyph glyph-name="nonmarkingreturn" horiz-adv-x="341"
/>
<glyph glyph-name="x" unicode="x" horiz-adv-x="1001"
d="M281 543q-27 -1 -53 -1h-83q-18 0 -36.5 -6t-32.5 -18.5t-23 -32t-9 -45.5v-76h912v41q0 16 -0.5 30t-0.5 18q0 13 -5 29t-17 29.5t-31.5 22.5t-49.5 9h-133v-97h-438v97zM955 310v-52q0 -23 0.5 -52t0.5 -58t-10.5 -47.5t-26 -30t-33 -16t-31.5 -4.5q-14 -1 -29.5 -0.5
t-29.5 0.5h-32l-45 128h-439l-44 -128h-29h-34q-20 0 -45 1q-25 0 -41 9.5t-25.5 23t-13.5 29.5t-4 30v167h911zM163 247q-12 0 -21 -8.5t-9 -21.5t9 -21.5t21 -8.5q13 0 22 8.5t9 21.5t-9 21.5t-22 8.5zM316 123q-8 -26 -14 -48q-5 -19 -10.5 -37t-7.5 -25t-3 -15t1 -14.5
t9.5 -10.5t21.5 -4h37h67h81h80h64h36q23 0 34 12t2 38q-5 13 -9.5 30.5t-9.5 34.5q-5 19 -11 39h-368zM336 498v228q0 11 2.5 23t10 21.5t20.5 15.5t34 6h188q31 0 51.5 -14.5t20.5 -52.5v-227h-327z" />
<glyph glyph-name="wifi" unicode="&#x3470;" horiz-adv-x="1000"
d="M347 192l22 -19q29 35 70.5 55t89.5 20q86 0 147 -61l21 20q-70 70 -168 70q-54 0 -101 -22.5t-81 -62.5zM223 302l23 -20q52 58 123.5 91t152.5 33q75 0 143 -29t120 -82l21 22q-55 56 -129 87t-156 31q-87 0 -164.5 -35t-133.5 -98zM525 622q-129 0 -243.5 -52.5
t-197.5 -144.5l26 -23q78 89 187 140t232 51q112 0 213.5 -43t177.5 -119l21 20q-82 81 -189 126t-227 45zM531 130q-26 0 -44.5 -18.5t-18.5 -44.5t18.5 -45t44.5 -19t44.5 19t18.5 45t-18.5 44.5t-44.5 18.5z" />
<glyph glyph-name="jizhan" unicode="&#xe663;"
d="M676 633q-31 36 -75 56.5t-93 20.5q-101 0 -168 -76v-1q-4 -6 1 -16.5t17 -19.5q11 -9 22 -12t17 2l1 -1q46 53 115 53q65 0 110 -47v-0.5t1 -0.5q4 -5 14.5 -2.5t21 11t15 18t1.5 15.5v0zM762 701l-2 2v0v0l-0.5 0.5l-0.5 0.5q-47 54 -112 84.5t-139 30.5t-139.5 -30.5
t-111.5 -83.5l-1 -0.5t-1 -1.5q-5 -6 0.5 -16.5t17.5 -20.5q11 -9 22.5 -12t16.5 3h1q36 41 86.5 64.5t108.5 23.5q57 0 108.5 -24t87.5 -66v0q14 -9 38 11q24 19 19 34zM749 -1v0l-182 439q28 23 28 58q0 32 -22 54t-53.5 22t-54 -22t-22.5 -54q0 -39 32 -62l-181 -437v-1
q-1 0 -1 -1v-1v0q-2 -6 -2 -11q0 -14 9.5 -24t24 -10t24 10t9.5 24l43 108h243l42 -101v-7q0 -14 9.5 -24t23.5 -10t24 10t10 24q0 8 -4 16zM519 386l56 -133h-109zM418 132l30 76h146l32 -76h-208z" />
<glyph glyph-name="height-light-6" unicode="&#xe695;"
d="M631 491.5q-31 28.5 -70 29.5t-64 -26l-251 -275q-25 -27 -20.5 -66t35.5 -67.5t70.5 -29.5t63.5 26l252 275q24 27 19.5 66t-35.5 67.5zM348.5 120q-19.5 -6 -37.5 3.5t-24.5 29t3 37.5t29 24.5t38 -3t24.5 -29t-3.5 -38t-29 -24.5zM435 488l-258 230l-113 -127
l258 -230zM539 167l258 -230l113 128l-258 230zM958 477q2 17 2 34q0 87 -43 160.5t-116.5 116.5t-160.5 43q-25 0 -49 -4l-13 -49q31 7 62 7q114 0 194 -80t80 -194q0 -23 -4 -47zM834 444q11 33 11 67q0 85 -60 145.5t-145 60.5q-44 0 -84 -19l-17 -63q44 36 101 36
q66 0 113 -47t47 -113q0 -44 -23 -83zM518 334l164 172q8 8 7.5 19t-8.5 18.5t-19 7.5t-19 -8l-163 -173z" />
<glyph glyph-name="gongyong-xinhao" unicode="&#xe607;"
d="M909 74q-21 0 -35.5 11.5t-14.5 28.5v540q0 17 14.5 28.5t35.5 11.5t35.5 -11.5t14.5 -28.5v-540q0 -17 -14.5 -28.5t-35.5 -11.5zM115 74q-21 0 -35.5 11.5t-14.5 28.5v108q0 17 14.5 28.5t35.5 11.5t35.5 -11.5t14.5 -28.5v-108q0 -17 -14.5 -28.5t-35.5 -11.5z
M313.5 74q-20.5 0 -35 11.5t-14.5 28.5v216q0 17 14.5 28.5t35 11.5t35 -11.5t14.5 -28.5v-216q0 -17 -14.5 -28.5t-35 -11.5zM512.5 74q-20.5 0 -35.5 11.5t-15 28.5v324q0 16 15 28t35.5 12t35 -12t14.5 -28v-324q0 -17 -14.5 -28.5t-35 -11.5zM710.5 74q-20.5 0 -35 11.5
t-14.5 28.5v432q0 16 14.5 28t35 12t35 -12t14.5 -28v-432q0 -17 -14.5 -28.5t-35 -11.5z" />
<glyph glyph-name="gongyong-xinhao1" unicode="&#xe608;"
d="M909 74q-21 0 -35.5 11.5t-14.5 28.5v540q0 17 14.5 28.5t35.5 11.5t35.5 -11.5t14.5 -28.5v-540q0 -17 -14.5 -28.5t-35.5 -11.5zM115 74q-21 0 -35.5 11.5t-14.5 28.5v108q0 17 14.5 28.5t35.5 11.5t35.5 -11.5t14.5 -28.5v-108q0 -17 -14.5 -28.5t-35.5 -11.5z
M313.5 74q-20.5 0 -35 11.5t-14.5 28.5v216q0 17 14.5 28.5t35 11.5t35 -11.5t14.5 -28.5v-216q0 -17 -14.5 -28.5t-35 -11.5zM512.5 74q-20.5 0 -35.5 11.5t-15 28.5v324q0 16 15 28t35.5 12t35 -12t14.5 -28v-324q0 -17 -14.5 -28.5t-35 -11.5zM710.5 74q-20.5 0 -35 11.5
t-14.5 28.5v432q0 16 14.5 28t35 12t35 -12t14.5 -28v-432q0 -17 -14.5 -28.5t-35 -11.5z" />
<glyph glyph-name="gongyong-xinhao2" unicode="&#xe615;"
d="M909 74q-21 0 -35.5 11.5t-14.5 28.5v540q0 17 14.5 28.5t35.5 11.5t35.5 -11.5t14.5 -28.5v-540q0 -17 -14.5 -28.5t-35.5 -11.5zM115 74q-21 0 -35.5 11.5t-14.5 28.5v108q0 17 14.5 28.5t35.5 11.5t35.5 -11.5t14.5 -28.5v-108q0 -17 -14.5 -28.5t-35.5 -11.5z
M313.5 74q-20.5 0 -35 11.5t-14.5 28.5v216q0 17 14.5 28.5t35 11.5t35 -11.5t14.5 -28.5v-216q0 -17 -14.5 -28.5t-35 -11.5zM512.5 74q-20.5 0 -35.5 11.5t-15 28.5v324q0 16 15 28t35.5 12t35 -12t14.5 -28v-324q0 -17 -14.5 -28.5t-35 -11.5zM710.5 74q-20.5 0 -35 11.5
t-14.5 28.5v432q0 16 14.5 28t35 12t35 -12t14.5 -28v-432q0 -17 -14.5 -28.5t-35 -11.5z" />
<glyph glyph-name="gongyong-xinhao3" unicode="&#xe616;"
d="M909 74q-21 0 -35.5 11.5t-14.5 28.5v540q0 17 14.5 28.5t35.5 11.5t35.5 -11.5t14.5 -28.5v-540q0 -17 -14.5 -28.5t-35.5 -11.5zM115 74q-21 0 -35.5 11.5t-14.5 28.5v108q0 17 14.5 28.5t35.5 11.5t35.5 -11.5t14.5 -28.5v-108q0 -17 -14.5 -28.5t-35.5 -11.5z
M313.5 74q-20.5 0 -35 11.5t-14.5 28.5v216q0 17 14.5 28.5t35 11.5t35 -11.5t14.5 -28.5v-216q0 -17 -14.5 -28.5t-35 -11.5zM512.5 74q-20.5 0 -35.5 11.5t-15 28.5v324q0 16 15 28t35.5 12t35 -12t14.5 -28v-324q0 -17 -14.5 -28.5t-35 -11.5zM710.5 74q-20.5 0 -35 11.5
t-14.5 28.5v432q0 16 14.5 28t35 12t35 -12t14.5 -28v-432q0 -17 -14.5 -28.5t-35 -11.5z" />
<glyph glyph-name="gongyong-xinhao4" unicode="&#xe617;"
d="M909 74q-21 0 -35.5 11.5t-14.5 28.5v540q0 17 14.5 28.5t35.5 11.5t35.5 -11.5t14.5 -28.5v-540q0 -17 -14.5 -28.5t-35.5 -11.5zM115 74q-21 0 -35.5 11.5t-14.5 28.5v108q0 17 14.5 28.5t35.5 11.5t35.5 -11.5t14.5 -28.5v-108q0 -17 -14.5 -28.5t-35.5 -11.5z
M313.5 74q-20.5 0 -35 11.5t-14.5 28.5v216q0 17 14.5 28.5t35 11.5t35 -11.5t14.5 -28.5v-216q0 -17 -14.5 -28.5t-35 -11.5zM512.5 74q-20.5 0 -35.5 11.5t-15 28.5v324q0 16 15 28t35.5 12t35 -12t14.5 -28v-324q0 -17 -14.5 -28.5t-35 -11.5zM710.5 74q-20.5 0 -35 11.5
t-14.5 28.5v432q0 16 14.5 28t35 12t35 -12t14.5 -28v-432q0 -17 -14.5 -28.5t-35 -11.5z" />
</font>
</defs></svg>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
import { debounce } from "@/utils";
export default {
mounted() {
this.__resizeHanlder = debounce(() => {
if (this.chart) {
this.chart.resize();
}
}, 100);
window.addEventListener("resize", this.__resizeHanlder);
},
beforeDestroy() {
window.removeEventListener("resize", this.__resizeHanlder);
},
};
This diff is collapsed.
import drag from "./drag";
const install = function (Vue) {
Vue.directive("el-drag-dialog", drag);
};
if (window.Vue) {
window["el-drag-dialog"] = drag;
Vue.use(install); // eslint-disable-line
}
drag.install = install;
export default drag;
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment