正在显示
58 个修改的文件
包含
2168 行增加
和
657 行删除
| ... | @@ -5,7 +5,6 @@ process.env.NODE_ENV = 'production' | ... | @@ -5,7 +5,6 @@ process.env.NODE_ENV = 'production' |
| 5 | const { say } = require('cfonts') | 5 | const { say } = require('cfonts') |
| 6 | const chalk = require('chalk') | 6 | const chalk = require('chalk') |
| 7 | const del = require('del') | 7 | const del = require('del') |
| 8 | -const { spawn } = require('child_process') | ||
| 9 | const webpack = require('webpack') | 8 | const webpack = require('webpack') |
| 10 | const Multispinner = require('multispinner') | 9 | const Multispinner = require('multispinner') |
| 11 | 10 | ||
| ... | @@ -24,8 +23,8 @@ else if (process.env.BUILD_TARGET === 'web') web() | ... | @@ -24,8 +23,8 @@ else if (process.env.BUILD_TARGET === 'web') web() |
| 24 | else build() | 23 | else build() |
| 25 | 24 | ||
| 26 | function clean () { | 25 | function clean () { |
| 27 | - del.sync(['build/*', '!build/icons','!build/lib','!build/lib/electron-build.*', '!build/icons/icon.*']) | 26 | + del.sync(['dist/electron/*','build/*', '!build/icons','!build/lib','!build/lib/electron-build.*', '!build/icons/icon.*']) |
| 28 | - console.log(`\n${doneLog}\n`) | 27 | + console.log(`\n${doneLog}clear done`) |
| 29 | process.exit() | 28 | process.exit() |
| 30 | } | 29 | } |
| 31 | 30 | ||
| ... | @@ -117,8 +116,8 @@ function greeting () { | ... | @@ -117,8 +116,8 @@ function greeting () { |
| 117 | const cols = process.stdout.columns | 116 | const cols = process.stdout.columns |
| 118 | let text = '' | 117 | let text = '' |
| 119 | 118 | ||
| 120 | - if (cols > 85) text = 'lets-build' | 119 | + if (cols > 85) text = `let's-build` |
| 121 | - else if (cols > 60) text = 'lets-|build' | 120 | + else if (cols > 60) text = `let's-|build` |
| 122 | else text = false | 121 | else text = false |
| 123 | 122 | ||
| 124 | if (text && !isCI) { | 123 | if (text && !isCI) { |
| ... | @@ -127,6 +126,6 @@ function greeting () { | ... | @@ -127,6 +126,6 @@ function greeting () { |
| 127 | font: 'simple3d', | 126 | font: 'simple3d', |
| 128 | space: false | 127 | space: false |
| 129 | }) | 128 | }) |
| 130 | - } else console.log(chalk.yellow.bold('\n lets-build')) | 129 | + } else console.log(chalk.yellow.bold(`\n let's-build`)) |
| 131 | console.log() | 130 | console.log() |
| 132 | } | 131 | } |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
.electron-vue/dev-client.js
deleted
100644 → 0
| 1 | -const hotClient = require('webpack-hot-middleware/client?noInfo=true&reload=true') | ||
| 2 | - | ||
| 3 | -hotClient.subscribe(event => { | ||
| 4 | - /** | ||
| 5 | - * Reload browser when HTMLWebpackPlugin emits a new index.html | ||
| 6 | - * | ||
| 7 | - * Currently disabled until jantimon/html-webpack-plugin#680 is resolved. | ||
| 8 | - * https://github.com/SimulatedGREG/electron-vue/issues/437 | ||
| 9 | - * https://github.com/jantimon/html-webpack-plugin/issues/680 | ||
| 10 | - */ | ||
| 11 | - // if (event.action === 'reload') { | ||
| 12 | - // window.location.reload() | ||
| 13 | - // } | ||
| 14 | - | ||
| 15 | - /** | ||
| 16 | - * Notify `mainWindow` when `main` process is compiling, | ||
| 17 | - * giving notice for an expected reload of the `electron` process | ||
| 18 | - */ | ||
| 19 | - if (event.action === 'compiling') { | ||
| 20 | - document.body.innerHTML += ` | ||
| 21 | - <style> | ||
| 22 | - #dev-client { | ||
| 23 | - background: #4fc08d; | ||
| 24 | - border-radius: 4px; | ||
| 25 | - bottom: 20px; | ||
| 26 | - box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.3); | ||
| 27 | - color: #fff; | ||
| 28 | - font-family: 'Source Sans Pro', sans-serif; | ||
| 29 | - left: 20px; | ||
| 30 | - padding: 8px 12px; | ||
| 31 | - position: absolute; | ||
| 32 | - } | ||
| 33 | - </style> | ||
| 34 | - | ||
| 35 | - <div id="dev-client"> | ||
| 36 | - Compiling Main Process... | ||
| 37 | - </div> | ||
| 38 | - ` | ||
| 39 | - } | ||
| 40 | -}) |
| ... | @@ -9,6 +9,7 @@ const config = require('../config') | ... | @@ -9,6 +9,7 @@ const config = require('../config') |
| 9 | const webpack = require('webpack') | 9 | const webpack = require('webpack') |
| 10 | const WebpackDevServer = require('webpack-dev-server') | 10 | const WebpackDevServer = require('webpack-dev-server') |
| 11 | const webpackHotMiddleware = require('webpack-hot-middleware') | 11 | const webpackHotMiddleware = require('webpack-hot-middleware') |
| 12 | +const Portfinder = require("portfinder") | ||
| 12 | 13 | ||
| 13 | const mainConfig = require('./webpack.main.config') | 14 | const mainConfig = require('./webpack.main.config') |
| 14 | const rendererConfig = require('./webpack.renderer.config') | 15 | const rendererConfig = require('./webpack.renderer.config') |
| ... | @@ -20,7 +21,7 @@ let hotMiddleware | ... | @@ -20,7 +21,7 @@ let hotMiddleware |
| 20 | function logStats(proc, data) { | 21 | function logStats(proc, data) { |
| 21 | let log = '' | 22 | let log = '' |
| 22 | 23 | ||
| 23 | - log += chalk.yellow.bold(`┏ ${proc} Process ${new Array((19 - proc.length) + 1).join('-')}`) | 24 | + log += chalk.yellow.bold(`┏ ${proc} ${config.dev.chineseLog ? '编译过程' : 'Process'} ${new Array((19 - proc.length) + 1).join('-')}`) |
| 24 | log += '\n\n' | 25 | log += '\n\n' |
| 25 | 26 | ||
| 26 | if (typeof data === 'object') { | 27 | if (typeof data === 'object') { |
| ... | @@ -61,9 +62,13 @@ function removeJunk(chunk) { | ... | @@ -61,9 +62,13 @@ function removeJunk(chunk) { |
| 61 | } | 62 | } |
| 62 | 63 | ||
| 63 | function startRenderer() { | 64 | function startRenderer() { |
| 64 | - return new Promise((resolve) => { | 65 | + return new Promise((resolve, reject) => { |
| 65 | - rendererConfig.entry.renderer = [path.join(__dirname, 'dev-client')].concat(rendererConfig.entry.renderer) | ||
| 66 | rendererConfig.mode = 'development' | 66 | rendererConfig.mode = 'development' |
| 67 | + Portfinder.basePort = config.dev.port || 9080 | ||
| 68 | + Portfinder.getPort((err, port) => { | ||
| 69 | + if (err) { | ||
| 70 | + reject("PortError:" + err) | ||
| 71 | + } else { | ||
| 67 | const compiler = webpack(rendererConfig) | 72 | const compiler = webpack(rendererConfig) |
| 68 | hotMiddleware = webpackHotMiddleware(compiler, { | 73 | hotMiddleware = webpackHotMiddleware(compiler, { |
| 69 | log: false, | 74 | log: false, |
| ... | @@ -72,7 +77,9 @@ function startRenderer() { | ... | @@ -72,7 +77,9 @@ function startRenderer() { |
| 72 | 77 | ||
| 73 | compiler.hooks.compilation.tap('compilation', compilation => { | 78 | compiler.hooks.compilation.tap('compilation', compilation => { |
| 74 | compilation.hooks.htmlWebpackPluginAfterEmit.tapAsync('html-webpack-plugin-after-emit', (data, cb) => { | 79 | compilation.hooks.htmlWebpackPluginAfterEmit.tapAsync('html-webpack-plugin-after-emit', (data, cb) => { |
| 75 | - hotMiddleware.publish({ action: 'reload' }) | 80 | + hotMiddleware.publish({ |
| 81 | + action: 'reload' | ||
| 82 | + }) | ||
| 76 | cb() | 83 | cb() |
| 77 | }) | 84 | }) |
| 78 | }) | 85 | }) |
| ... | @@ -82,8 +89,7 @@ function startRenderer() { | ... | @@ -82,8 +89,7 @@ function startRenderer() { |
| 82 | }) | 89 | }) |
| 83 | 90 | ||
| 84 | const server = new WebpackDevServer( | 91 | const server = new WebpackDevServer( |
| 85 | - compiler, | 92 | + compiler, { |
| 86 | - { | ||
| 87 | contentBase: path.join(__dirname, '../'), | 93 | contentBase: path.join(__dirname, '../'), |
| 88 | quiet: true, | 94 | quiet: true, |
| 89 | before(app, ctx) { | 95 | before(app, ctx) { |
| ... | @@ -95,19 +101,25 @@ function startRenderer() { | ... | @@ -95,19 +101,25 @@ function startRenderer() { |
| 95 | } | 101 | } |
| 96 | ) | 102 | ) |
| 97 | 103 | ||
| 98 | - server.listen(9080) | 104 | + process.env.PORT = port |
| 105 | + server.listen(port) | ||
| 106 | + | ||
| 107 | + } | ||
| 108 | + }) | ||
| 109 | + | ||
| 99 | }) | 110 | }) |
| 100 | } | 111 | } |
| 101 | 112 | ||
| 102 | function startMain() { | 113 | function startMain() { |
| 103 | return new Promise((resolve) => { | 114 | return new Promise((resolve) => { |
| 104 | - mainConfig.entry.main = [path.join(__dirname, '../src/main/index.dev.js')].concat(mainConfig.entry.main) | ||
| 105 | mainConfig.mode = 'development' | 115 | mainConfig.mode = 'development' |
| 106 | const compiler = webpack(mainConfig) | 116 | const compiler = webpack(mainConfig) |
| 107 | 117 | ||
| 108 | compiler.hooks.watchRun.tapAsync('watch-run', (compilation, done) => { | 118 | compiler.hooks.watchRun.tapAsync('watch-run', (compilation, done) => { |
| 109 | - logStats('Main', chalk.white.bold('compiling...')) | 119 | + logStats(`${config.dev.chineseLog ? '主进程' : 'Main'}`, chalk.white.bold(`${config.dev.chineseLog ? '正在处理资源文件...' : 'compiling...'}`)) |
| 110 | - hotMiddleware.publish({ action: 'compiling' }) | 120 | + hotMiddleware.publish({ |
| 121 | + action: 'compiling' | ||
| 122 | + }) | ||
| 111 | done() | 123 | done() |
| 112 | }) | 124 | }) |
| 113 | 125 | ||
| ... | @@ -117,7 +129,7 @@ function startMain() { | ... | @@ -117,7 +129,7 @@ function startMain() { |
| 117 | return | 129 | return |
| 118 | } | 130 | } |
| 119 | 131 | ||
| 120 | - logStats('Main', stats) | 132 | + logStats(`${config.dev.chineseLog ? '主进程' : 'Main'}`, stats) |
| 121 | 133 | ||
| 122 | if (electronProcess && electronProcess.kill) { | 134 | if (electronProcess && electronProcess.kill) { |
| 123 | manualRestart = true | 135 | manualRestart = true |
| ... | @@ -163,6 +175,7 @@ function startElectron() { | ... | @@ -163,6 +175,7 @@ function startElectron() { |
| 163 | } | 175 | } |
| 164 | 176 | ||
| 165 | function electronLog(data, color) { | 177 | function electronLog(data, color) { |
| 178 | + if (data) { | ||
| 166 | let log = '' | 179 | let log = '' |
| 167 | data = data.toString().split(/\r?\n/) | 180 | data = data.toString().split(/\r?\n/) |
| 168 | data.forEach(line => { | 181 | data.forEach(line => { |
| ... | @@ -170,13 +183,15 @@ function electronLog(data, color) { | ... | @@ -170,13 +183,15 @@ function electronLog(data, color) { |
| 170 | }) | 183 | }) |
| 171 | if (/[0-9A-z]+/.test(log)) { | 184 | if (/[0-9A-z]+/.test(log)) { |
| 172 | console.log( | 185 | console.log( |
| 173 | - chalk[color].bold('┏ Electron -------------------') + | 186 | + chalk[color].bold(`┏ ${config.dev.chineseLog ? '主程序日志' : 'Electron'} -------------------`) + |
| 174 | '\n\n' + | 187 | '\n\n' + |
| 175 | log + | 188 | log + |
| 176 | chalk[color].bold('┗ ----------------------------') + | 189 | chalk[color].bold('┗ ----------------------------') + |
| 177 | '\n' | 190 | '\n' |
| 178 | ) | 191 | ) |
| 179 | } | 192 | } |
| 193 | + } | ||
| 194 | + | ||
| 180 | } | 195 | } |
| 181 | 196 | ||
| 182 | function greeting() { | 197 | function greeting() { |
| ... | @@ -194,19 +209,20 @@ function greeting() { | ... | @@ -194,19 +209,20 @@ function greeting() { |
| 194 | space: false | 209 | space: false |
| 195 | }) | 210 | }) |
| 196 | } else console.log(chalk.yellow.bold('\n electron-vue')) | 211 | } else console.log(chalk.yellow.bold('\n electron-vue')) |
| 197 | - console.log(chalk.blue(' getting ready......') + '\n') | 212 | + console.log(chalk.blue(`${config.dev.chineseLog ? ' 准备启动...' : ' getting ready...'}`) + '\n') |
| 198 | } | 213 | } |
| 199 | 214 | ||
| 200 | -function init() { | 215 | +async function init() { |
| 201 | greeting() | 216 | greeting() |
| 202 | 217 | ||
| 203 | - Promise.all([startRenderer(), startMain()]) | 218 | + try { |
| 204 | - .then(() => { | 219 | + await startRenderer() |
| 205 | - startElectron() | 220 | + await startMain() |
| 206 | - }) | 221 | + await startElectron() |
| 207 | - .catch(err => { | 222 | + } catch (error) { |
| 208 | - console.error(err) | 223 | + console.error(error) |
| 209 | - }) | 224 | + } |
| 225 | + | ||
| 210 | } | 226 | } |
| 211 | 227 | ||
| 212 | init() | 228 | init() |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -2,12 +2,13 @@ | ... | @@ -2,12 +2,13 @@ |
| 2 | 2 | ||
| 3 | process.env.BABEL_ENV = 'main' | 3 | process.env.BABEL_ENV = 'main' |
| 4 | 4 | ||
| 5 | +const os = require('os') | ||
| 5 | const path = require('path') | 6 | const path = require('path') |
| 6 | const { dependencies } = require('../package.json') | 7 | const { dependencies } = require('../package.json') |
| 7 | const webpack = require('webpack') | 8 | const webpack = require('webpack') |
| 8 | - | 9 | +const MinifyPlugin = require("babel-minify-webpack-plugin"); |
| 9 | -const BabiliWebpackPlugin = require('babili-webpack-plugin') | 10 | +const HappyPack = require('happypack') |
| 10 | -const { CleanWebpackPlugin } = require('clean-webpack-plugin') | 11 | +const HappyThreadPool = HappyPack.ThreadPool({ size: os.cpus().length }) |
| 11 | 12 | ||
| 12 | function resolve(dir) { | 13 | function resolve(dir) { |
| 13 | return path.join(__dirname, '..', dir) | 14 | return path.join(__dirname, '..', dir) |
| ... | @@ -35,7 +36,7 @@ let mainConfig = { | ... | @@ -35,7 +36,7 @@ let mainConfig = { |
| 35 | // }, | 36 | // }, |
| 36 | { | 37 | { |
| 37 | test: /\.js$/, | 38 | test: /\.js$/, |
| 38 | - use: 'babel-loader', | 39 | + use: 'happypack/loader?id=MainHappyBabel', |
| 39 | exclude: /node_modules/ | 40 | exclude: /node_modules/ |
| 40 | }, | 41 | }, |
| 41 | { | 42 | { |
| ... | @@ -55,13 +56,22 @@ let mainConfig = { | ... | @@ -55,13 +56,22 @@ let mainConfig = { |
| 55 | }, | 56 | }, |
| 56 | plugins: [ | 57 | plugins: [ |
| 57 | new webpack.NoEmitOnErrorsPlugin(), | 58 | new webpack.NoEmitOnErrorsPlugin(), |
| 58 | - new CleanWebpackPlugin({ | 59 | + new HappyPack({ |
| 59 | - cleanOnceBeforeBuildPatterns: resolve('dist/electron') | 60 | + id: "MainHappyBabel", |
| 61 | + loaders: [{ | ||
| 62 | + loader: 'babel-loader', | ||
| 63 | + options: { | ||
| 64 | + cacheDirectory: true | ||
| 65 | + } | ||
| 66 | + }], | ||
| 67 | + threadPool: HappyThreadPool | ||
| 60 | }) | 68 | }) |
| 61 | ], | 69 | ], |
| 62 | resolve: { | 70 | resolve: { |
| 63 | - | 71 | + alias: { |
| 64 | - extensions: ['.js', '.json', '.node'] | 72 | + '@config': resolve('config'), |
| 73 | + }, | ||
| 74 | + extensions: ['.tsx', '.ts', '.js', '.json', '.node'] | ||
| 65 | }, | 75 | }, |
| 66 | target: 'electron-main' | 76 | target: 'electron-main' |
| 67 | } | 77 | } |
| ... | @@ -82,7 +92,7 @@ if (process.env.NODE_ENV !== 'production') { | ... | @@ -82,7 +92,7 @@ if (process.env.NODE_ENV !== 'production') { |
| 82 | */ | 92 | */ |
| 83 | if (process.env.NODE_ENV === 'production') { | 93 | if (process.env.NODE_ENV === 'production') { |
| 84 | mainConfig.plugins.push( | 94 | mainConfig.plugins.push( |
| 85 | - new BabiliWebpackPlugin(), | 95 | + new MinifyPlugin(), |
| 86 | new webpack.DefinePlugin({ | 96 | new webpack.DefinePlugin({ |
| 87 | 'process.env.NODE_ENV': '"production"' | 97 | 'process.env.NODE_ENV': '"production"' |
| 88 | }) | 98 | }) | ... | ... |
| ... | @@ -2,17 +2,21 @@ | ... | @@ -2,17 +2,21 @@ |
| 2 | 2 | ||
| 3 | process.env.BABEL_ENV = 'renderer' | 3 | process.env.BABEL_ENV = 'renderer' |
| 4 | 4 | ||
| 5 | +const os = require('os') | ||
| 5 | const path = require('path') | 6 | const path = require('path') |
| 6 | const { dependencies } = require('../package.json') | 7 | const { dependencies } = require('../package.json') |
| 7 | const webpack = require('webpack') | 8 | const webpack = require('webpack') |
| 8 | const config = require('../config') | 9 | const config = require('../config') |
| 9 | 10 | ||
| 10 | -const BabiliWebpackPlugin = require('babili-webpack-plugin') | 11 | +const MinifyPlugin = require("babel-minify-webpack-plugin"); |
| 11 | const CopyWebpackPlugin = require('copy-webpack-plugin') | 12 | const CopyWebpackPlugin = require('copy-webpack-plugin') |
| 12 | const MiniCssExtractPlugin = require('mini-css-extract-plugin') | 13 | const MiniCssExtractPlugin = require('mini-css-extract-plugin') |
| 13 | const HtmlWebpackPlugin = require('html-webpack-plugin') | 14 | const HtmlWebpackPlugin = require('html-webpack-plugin') |
| 14 | const TerserPlugin = require('terser-webpack-plugin'); | 15 | const TerserPlugin = require('terser-webpack-plugin'); |
| 16 | +const HardSourceWebpackPlugin = require('hard-source-webpack-plugin'); | ||
| 15 | const { VueLoaderPlugin } = require('vue-loader') | 17 | const { VueLoaderPlugin } = require('vue-loader') |
| 18 | +const HappyPack = require('happypack') | ||
| 19 | +const HappyThreadPool = HappyPack.ThreadPool({ size: os.cpus().length }) | ||
| 16 | 20 | ||
| 17 | function resolve(dir) { | 21 | function resolve(dir) { |
| 18 | return path.join(__dirname, '..', dir) | 22 | return path.join(__dirname, '..', dir) |
| ... | @@ -24,7 +28,7 @@ function resolve(dir) { | ... | @@ -24,7 +28,7 @@ function resolve(dir) { |
| 24 | * that provide pure *.vue files that need compiling | 28 | * that provide pure *.vue files that need compiling |
| 25 | * https://simulatedgreg.gitbooks.io/electron-vue/content/en/webpack-configurations.html#white-listing-externals | 29 | * https://simulatedgreg.gitbooks.io/electron-vue/content/en/webpack-configurations.html#white-listing-externals |
| 26 | */ | 30 | */ |
| 27 | -let whiteListedModules = ['vue', 'element-ui'] | 31 | +let whiteListedModules = ['vue', "element-ui"] |
| 28 | 32 | ||
| 29 | let rendererConfig = { | 33 | let rendererConfig = { |
| 30 | devtool: '#cheap-module-eval-source-map', | 34 | devtool: '#cheap-module-eval-source-map', |
| ... | @@ -69,7 +73,7 @@ let rendererConfig = { | ... | @@ -69,7 +73,7 @@ let rendererConfig = { |
| 69 | }, | 73 | }, |
| 70 | { | 74 | { |
| 71 | test: /\.js$/, | 75 | test: /\.js$/, |
| 72 | - use: 'babel-loader', | 76 | + use: 'happypack/loader?id=HappyRendererBabel', |
| 73 | exclude: /node_modules/ | 77 | exclude: /node_modules/ |
| 74 | }, | 78 | }, |
| 75 | { | 79 | { |
| ... | @@ -104,8 +108,8 @@ let rendererConfig = { | ... | @@ -104,8 +108,8 @@ let rendererConfig = { |
| 104 | use: { | 108 | use: { |
| 105 | loader: 'url-loader', | 109 | loader: 'url-loader', |
| 106 | query: { | 110 | query: { |
| 107 | - limit: 10000, | ||
| 108 | esModule: false, | 111 | esModule: false, |
| 112 | + limit: 10000, | ||
| 109 | name: 'imgs/[name]--[folder].[ext]' | 113 | name: 'imgs/[name]--[folder].[ext]' |
| 110 | } | 114 | } |
| 111 | }, | 115 | }, |
| ... | @@ -114,8 +118,8 @@ let rendererConfig = { | ... | @@ -114,8 +118,8 @@ let rendererConfig = { |
| 114 | test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/, | 118 | test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/, |
| 115 | loader: 'url-loader', | 119 | loader: 'url-loader', |
| 116 | options: { | 120 | options: { |
| 117 | - limit: 10000, | ||
| 118 | esModule: false, | 121 | esModule: false, |
| 122 | + limit: 10000, | ||
| 119 | name: 'media/[name]--[folder].[ext]' | 123 | name: 'media/[name]--[folder].[ext]' |
| 120 | } | 124 | } |
| 121 | }, | 125 | }, |
| ... | @@ -124,8 +128,8 @@ let rendererConfig = { | ... | @@ -124,8 +128,8 @@ let rendererConfig = { |
| 124 | use: { | 128 | use: { |
| 125 | loader: 'url-loader', | 129 | loader: 'url-loader', |
| 126 | query: { | 130 | query: { |
| 127 | - limit: 10000, | ||
| 128 | esModule: false, | 131 | esModule: false, |
| 132 | + limit: 10000, | ||
| 129 | name: 'fonts/[name]--[folder].[ext]' | 133 | name: 'fonts/[name]--[folder].[ext]' |
| 130 | } | 134 | } |
| 131 | } | 135 | } |
| ... | @@ -167,7 +171,18 @@ let rendererConfig = { | ... | @@ -167,7 +171,18 @@ let rendererConfig = { |
| 167 | nodeModules: false | 171 | nodeModules: false |
| 168 | }), | 172 | }), |
| 169 | new webpack.HotModuleReplacementPlugin(), | 173 | new webpack.HotModuleReplacementPlugin(), |
| 170 | - new webpack.NoEmitOnErrorsPlugin() | 174 | + new webpack.NoEmitOnErrorsPlugin(), |
| 175 | + new HardSourceWebpackPlugin(), | ||
| 176 | + new HappyPack({ | ||
| 177 | + id: 'HappyRendererBabel', | ||
| 178 | + loaders: [{ | ||
| 179 | + loader: 'babel-loader', | ||
| 180 | + options: { | ||
| 181 | + cacheDirectory: true | ||
| 182 | + } | ||
| 183 | + }], | ||
| 184 | + threadPool: HappyThreadPool | ||
| 185 | + }), | ||
| 171 | ], | 186 | ], |
| 172 | output: { | 187 | output: { |
| 173 | filename: '[name].js', | 188 | filename: '[name].js', |
| ... | @@ -190,7 +205,8 @@ let rendererConfig = { | ... | @@ -190,7 +205,8 @@ let rendererConfig = { |
| 190 | if (process.env.NODE_ENV !== 'production') { | 205 | if (process.env.NODE_ENV !== 'production') { |
| 191 | rendererConfig.plugins.push( | 206 | rendererConfig.plugins.push( |
| 192 | new webpack.DefinePlugin({ | 207 | new webpack.DefinePlugin({ |
| 193 | - '__static': `"${path.join(__dirname, '../static').replace(/\\/g, '\\\\')}"` | 208 | + '__static': `"${path.join(__dirname, '../static').replace(/\\/g, '\\\\')}"`, |
| 209 | + '__lib': `"${path.join(__dirname, `../${config.DllFolder}`).replace(/\\/g, '\\\\')}"` | ||
| 194 | }) | 210 | }) |
| 195 | ) | 211 | ) |
| 196 | } | 212 | } |
| ... | @@ -202,7 +218,7 @@ if (process.env.NODE_ENV === 'production') { | ... | @@ -202,7 +218,7 @@ if (process.env.NODE_ENV === 'production') { |
| 202 | rendererConfig.devtool = '' | 218 | rendererConfig.devtool = '' |
| 203 | 219 | ||
| 204 | rendererConfig.plugins.push( | 220 | rendererConfig.plugins.push( |
| 205 | - new BabiliWebpackPlugin(), | 221 | + new MinifyPlugin(), |
| 206 | new CopyWebpackPlugin([ | 222 | new CopyWebpackPlugin([ |
| 207 | { | 223 | { |
| 208 | from: path.join(__dirname, '../static'), | 224 | from: path.join(__dirname, '../static'), | ... | ... |
| ... | @@ -5,7 +5,7 @@ process.env.BABEL_ENV = 'web' | ... | @@ -5,7 +5,7 @@ process.env.BABEL_ENV = 'web' |
| 5 | const path = require('path') | 5 | const path = require('path') |
| 6 | const webpack = require('webpack') | 6 | const webpack = require('webpack') |
| 7 | 7 | ||
| 8 | -const BabiliWebpackPlugin = require('babili-webpack-plugin') | 8 | +const MinifyPlugin = require("babel-minify-webpack-plugin"); |
| 9 | const CopyWebpackPlugin = require('copy-webpack-plugin') | 9 | const CopyWebpackPlugin = require('copy-webpack-plugin') |
| 10 | const MiniCssExtractPlugin = require('mini-css-extract-plugin') | 10 | const MiniCssExtractPlugin = require('mini-css-extract-plugin') |
| 11 | const HtmlWebpackPlugin = require('html-webpack-plugin') | 11 | const HtmlWebpackPlugin = require('html-webpack-plugin') |
| ... | @@ -144,7 +144,7 @@ if (process.env.NODE_ENV === 'production') { | ... | @@ -144,7 +144,7 @@ if (process.env.NODE_ENV === 'production') { |
| 144 | webConfig.devtool = '' | 144 | webConfig.devtool = '' |
| 145 | 145 | ||
| 146 | webConfig.plugins.push( | 146 | webConfig.plugins.push( |
| 147 | - new BabiliWebpackPlugin(), | 147 | + new MinifyPlugin(), |
| 148 | new CopyWebpackPlugin([ | 148 | new CopyWebpackPlugin([ |
| 149 | { | 149 | { |
| 150 | from: path.join(__dirname, '../static'), | 150 | from: path.join(__dirname, '../static'), | ... | ... |
| 1 | module.exports = { | 1 | module.exports = { |
| 2 | build: { | 2 | build: { |
| 3 | - env: require('./prod.env') | 3 | + env: require('./prod.env'), |
| 4 | + DisableF12: true | ||
| 4 | }, | 5 | }, |
| 5 | dev: { | 6 | dev: { |
| 6 | env: require('./dev.env'), | 7 | env: require('./dev.env'), |
| 7 | - removeElectronJunk: true | 8 | + removeElectronJunk: true, |
| 8 | - } | 9 | + chineseLog: false, |
| 10 | + port: 9080 | ||
| 11 | + }, | ||
| 12 | + UseStartupChart: true, | ||
| 13 | + IsUseSysTitle: true, | ||
| 14 | + DllFolder: '', | ||
| 15 | + BuiltInServerPort: 25565 | ||
| 9 | } | 16 | } | ... | ... |
| ... | @@ -358,8 +358,15 @@ | ... | @@ -358,8 +358,15 @@ |
| 358 | "@types/node": { | 358 | "@types/node": { |
| 359 | "version": "12.12.17", | 359 | "version": "12.12.17", |
| 360 | "resolved": "https://registry.npm.taobao.org/@types/node/download/@types/node-12.12.17.tgz?cache=0&sync_timestamp=1576005759515&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-12.12.17.tgz", | 360 | "resolved": "https://registry.npm.taobao.org/@types/node/download/@types/node-12.12.17.tgz?cache=0&sync_timestamp=1576005759515&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-12.12.17.tgz", |
| 361 | - "integrity": "sha1-GRtx5/TDJe4PsjvEqZZHfZK4w5s=", | 361 | + "integrity": "sha1-GRtx5/TDJe4PsjvEqZZHfZK4w5s=" |
| 362 | - "dev": true | 362 | + }, |
| 363 | + "@types/semver": { | ||
| 364 | + "version": "7.1.0", | ||
| 365 | + "resolved": "https://registry.npm.taobao.org/@types/semver/download/@types/semver-7.1.0.tgz?cache=0&sync_timestamp=1580871311074&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fsemver%2Fdownload%2F%40types%2Fsemver-7.1.0.tgz", | ||
| 366 | + "integrity": "sha1-yMYw1MGM0ya+/3dASIdZb5ZAhAg=", | ||
| 367 | + "requires": { | ||
| 368 | + "@types/node": "*" | ||
| 369 | + } | ||
| 363 | }, | 370 | }, |
| 364 | "@types/source-list-map": { | 371 | "@types/source-list-map": { |
| 365 | "version": "0.1.2", | 372 | "version": "0.1.2", |
| ... | @@ -684,7 +691,6 @@ | ... | @@ -684,7 +691,6 @@ |
| 684 | "version": "1.3.7", | 691 | "version": "1.3.7", |
| 685 | "resolved": "https://registry.npm.taobao.org/accepts/download/accepts-1.3.7.tgz", | 692 | "resolved": "https://registry.npm.taobao.org/accepts/download/accepts-1.3.7.tgz", |
| 686 | "integrity": "sha1-UxvHJlF6OytB+FACHGzBXqq1B80=", | 693 | "integrity": "sha1-UxvHJlF6OytB+FACHGzBXqq1B80=", |
| 687 | - "dev": true, | ||
| 688 | "requires": { | 694 | "requires": { |
| 689 | "mime-types": "~2.1.24", | 695 | "mime-types": "~2.1.24", |
| 690 | "negotiator": "0.6.2" | 696 | "negotiator": "0.6.2" |
| ... | @@ -1341,7 +1347,6 @@ | ... | @@ -1341,7 +1347,6 @@ |
| 1341 | "version": "1.0.10", | 1347 | "version": "1.0.10", |
| 1342 | "resolved": "https://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz", | 1348 | "resolved": "https://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz", |
| 1343 | "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", | 1349 | "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", |
| 1344 | - "dev": true, | ||
| 1345 | "requires": { | 1350 | "requires": { |
| 1346 | "sprintf-js": "~1.0.2" | 1351 | "sprintf-js": "~1.0.2" |
| 1347 | } | 1352 | } |
| ... | @@ -1955,6 +1960,17 @@ | ... | @@ -1955,6 +1960,17 @@ |
| 1955 | "babel-runtime": "^6.22.0" | 1960 | "babel-runtime": "^6.22.0" |
| 1956 | } | 1961 | } |
| 1957 | }, | 1962 | }, |
| 1963 | + "babel-minify-webpack-plugin": { | ||
| 1964 | + "version": "0.3.1", | ||
| 1965 | + "resolved": "https://registry.npm.taobao.org/babel-minify-webpack-plugin/download/babel-minify-webpack-plugin-0.3.1.tgz", | ||
| 1966 | + "integrity": "sha1-KSqiQK8ZDi3K309oTW2E0Xm21aQ=", | ||
| 1967 | + "dev": true, | ||
| 1968 | + "requires": { | ||
| 1969 | + "babel-core": "^6.26.0", | ||
| 1970 | + "babel-preset-minify": "^0.3.0", | ||
| 1971 | + "webpack-sources": "^1.0.1" | ||
| 1972 | + } | ||
| 1973 | + }, | ||
| 1958 | "babel-plugin-check-es2015-constants": { | 1974 | "babel-plugin-check-es2015-constants": { |
| 1959 | "version": "6.22.0", | 1975 | "version": "6.22.0", |
| 1960 | "resolved": "https://registry.npm.taobao.org/babel-plugin-check-es2015-constants/download/babel-plugin-check-es2015-constants-6.22.0.tgz", | 1976 | "resolved": "https://registry.npm.taobao.org/babel-plugin-check-es2015-constants/download/babel-plugin-check-es2015-constants-6.22.0.tgz", |
| ... | @@ -2702,6 +2718,191 @@ | ... | @@ -2702,6 +2718,191 @@ |
| 2702 | "semver": "^5.3.0" | 2718 | "semver": "^5.3.0" |
| 2703 | } | 2719 | } |
| 2704 | }, | 2720 | }, |
| 2721 | + "babel-preset-minify": { | ||
| 2722 | + "version": "0.3.0", | ||
| 2723 | + "resolved": "https://registry.npm.taobao.org/babel-preset-minify/download/babel-preset-minify-0.3.0.tgz", | ||
| 2724 | + "integrity": "sha1-fbZK+nXxb24GwKpfJRlfbzZ4TXc=", | ||
| 2725 | + "dev": true, | ||
| 2726 | + "requires": { | ||
| 2727 | + "babel-plugin-minify-builtins": "^0.3.0", | ||
| 2728 | + "babel-plugin-minify-constant-folding": "^0.3.0", | ||
| 2729 | + "babel-plugin-minify-dead-code-elimination": "^0.3.0", | ||
| 2730 | + "babel-plugin-minify-flip-comparisons": "^0.3.0", | ||
| 2731 | + "babel-plugin-minify-guarded-expressions": "^0.3.0", | ||
| 2732 | + "babel-plugin-minify-infinity": "^0.3.0", | ||
| 2733 | + "babel-plugin-minify-mangle-names": "^0.3.0", | ||
| 2734 | + "babel-plugin-minify-numeric-literals": "^0.3.0", | ||
| 2735 | + "babel-plugin-minify-replace": "^0.3.0", | ||
| 2736 | + "babel-plugin-minify-simplify": "^0.3.0", | ||
| 2737 | + "babel-plugin-minify-type-constructors": "^0.3.0", | ||
| 2738 | + "babel-plugin-transform-inline-consecutive-adds": "^0.3.0", | ||
| 2739 | + "babel-plugin-transform-member-expression-literals": "^6.9.0", | ||
| 2740 | + "babel-plugin-transform-merge-sibling-variables": "^6.9.0", | ||
| 2741 | + "babel-plugin-transform-minify-booleans": "^6.9.0", | ||
| 2742 | + "babel-plugin-transform-property-literals": "^6.9.0", | ||
| 2743 | + "babel-plugin-transform-regexp-constructors": "^0.3.0", | ||
| 2744 | + "babel-plugin-transform-remove-console": "^6.9.0", | ||
| 2745 | + "babel-plugin-transform-remove-debugger": "^6.9.0", | ||
| 2746 | + "babel-plugin-transform-remove-undefined": "^0.3.0", | ||
| 2747 | + "babel-plugin-transform-simplify-comparison-operators": "^6.9.0", | ||
| 2748 | + "babel-plugin-transform-undefined-to-void": "^6.9.0", | ||
| 2749 | + "lodash.isplainobject": "^4.0.6" | ||
| 2750 | + }, | ||
| 2751 | + "dependencies": { | ||
| 2752 | + "babel-helper-evaluate-path": { | ||
| 2753 | + "version": "0.3.0", | ||
| 2754 | + "resolved": "https://registry.npm.taobao.org/babel-helper-evaluate-path/download/babel-helper-evaluate-path-0.3.0.tgz", | ||
| 2755 | + "integrity": "sha1-JDlUXgturlt/SbeQrL69a5pz3yA=", | ||
| 2756 | + "dev": true | ||
| 2757 | + }, | ||
| 2758 | + "babel-helper-flip-expressions": { | ||
| 2759 | + "version": "0.3.0", | ||
| 2760 | + "resolved": "https://registry.npm.taobao.org/babel-helper-flip-expressions/download/babel-helper-flip-expressions-0.3.0.tgz", | ||
| 2761 | + "integrity": "sha1-9bY5S9Uhm0PPj3sgFTXtVAxuf6I=", | ||
| 2762 | + "dev": true | ||
| 2763 | + }, | ||
| 2764 | + "babel-helper-is-void-0": { | ||
| 2765 | + "version": "0.3.0", | ||
| 2766 | + "resolved": "https://registry.npm.taobao.org/babel-helper-is-void-0/download/babel-helper-is-void-0-0.3.0.tgz", | ||
| 2767 | + "integrity": "sha1-lVcNIL0nsiBvaAg66ZgO5wA9j+c=", | ||
| 2768 | + "dev": true | ||
| 2769 | + }, | ||
| 2770 | + "babel-helper-mark-eval-scopes": { | ||
| 2771 | + "version": "0.3.0", | ||
| 2772 | + "resolved": "https://registry.npm.taobao.org/babel-helper-mark-eval-scopes/download/babel-helper-mark-eval-scopes-0.3.0.tgz", | ||
| 2773 | + "integrity": "sha1-tHMTFP3XqJCRJxpSE7ThLSNuKeg=", | ||
| 2774 | + "dev": true | ||
| 2775 | + }, | ||
| 2776 | + "babel-helper-remove-or-void": { | ||
| 2777 | + "version": "0.3.0", | ||
| 2778 | + "resolved": "https://registry.npm.taobao.org/babel-helper-remove-or-void/download/babel-helper-remove-or-void-0.3.0.tgz", | ||
| 2779 | + "integrity": "sha1-9DyGFHyPzDlalSjLsx5/9J1+FuM=", | ||
| 2780 | + "dev": true | ||
| 2781 | + }, | ||
| 2782 | + "babel-helper-to-multiple-sequence-expressions": { | ||
| 2783 | + "version": "0.3.0", | ||
| 2784 | + "resolved": "https://registry.npm.taobao.org/babel-helper-to-multiple-sequence-expressions/download/babel-helper-to-multiple-sequence-expressions-0.3.0.tgz", | ||
| 2785 | + "integrity": "sha1-jaInXMwmmVVmEY9yE6v9mvchRCc=", | ||
| 2786 | + "dev": true | ||
| 2787 | + }, | ||
| 2788 | + "babel-plugin-minify-builtins": { | ||
| 2789 | + "version": "0.3.0", | ||
| 2790 | + "resolved": "https://registry.npm.taobao.org/babel-plugin-minify-builtins/download/babel-plugin-minify-builtins-0.3.0.tgz", | ||
| 2791 | + "integrity": "sha1-R0ARemp4QGOq+PCSmJz55L1ISGA=", | ||
| 2792 | + "dev": true, | ||
| 2793 | + "requires": { | ||
| 2794 | + "babel-helper-evaluate-path": "^0.3.0" | ||
| 2795 | + } | ||
| 2796 | + }, | ||
| 2797 | + "babel-plugin-minify-constant-folding": { | ||
| 2798 | + "version": "0.3.0", | ||
| 2799 | + "resolved": "https://registry.npm.taobao.org/babel-plugin-minify-constant-folding/download/babel-plugin-minify-constant-folding-0.3.0.tgz", | ||
| 2800 | + "integrity": "sha1-aH5AM2vU3dkh4OGX8ABiNawYS7k=", | ||
| 2801 | + "dev": true, | ||
| 2802 | + "requires": { | ||
| 2803 | + "babel-helper-evaluate-path": "^0.3.0" | ||
| 2804 | + } | ||
| 2805 | + }, | ||
| 2806 | + "babel-plugin-minify-dead-code-elimination": { | ||
| 2807 | + "version": "0.3.0", | ||
| 2808 | + "resolved": "https://registry.npm.taobao.org/babel-plugin-minify-dead-code-elimination/download/babel-plugin-minify-dead-code-elimination-0.3.0.tgz", | ||
| 2809 | + "integrity": "sha1-oyP2hsQEuCQYa6VYPPeZbKyBcZ4=", | ||
| 2810 | + "dev": true, | ||
| 2811 | + "requires": { | ||
| 2812 | + "babel-helper-evaluate-path": "^0.3.0", | ||
| 2813 | + "babel-helper-mark-eval-scopes": "^0.3.0", | ||
| 2814 | + "babel-helper-remove-or-void": "^0.3.0", | ||
| 2815 | + "lodash.some": "^4.6.0" | ||
| 2816 | + } | ||
| 2817 | + }, | ||
| 2818 | + "babel-plugin-minify-flip-comparisons": { | ||
| 2819 | + "version": "0.3.0", | ||
| 2820 | + "resolved": "https://registry.npm.taobao.org/babel-plugin-minify-flip-comparisons/download/babel-plugin-minify-flip-comparisons-0.3.0.tgz", | ||
| 2821 | + "integrity": "sha1-ZieJOkCcnzDvfyyJ4Mbup+6X3cQ=", | ||
| 2822 | + "dev": true, | ||
| 2823 | + "requires": { | ||
| 2824 | + "babel-helper-is-void-0": "^0.3.0" | ||
| 2825 | + } | ||
| 2826 | + }, | ||
| 2827 | + "babel-plugin-minify-guarded-expressions": { | ||
| 2828 | + "version": "0.3.0", | ||
| 2829 | + "resolved": "https://registry.npm.taobao.org/babel-plugin-minify-guarded-expressions/download/babel-plugin-minify-guarded-expressions-0.3.0.tgz", | ||
| 2830 | + "integrity": "sha1-JVLZYYnvRdmkY/GmteT6EQcDrI0=", | ||
| 2831 | + "dev": true, | ||
| 2832 | + "requires": { | ||
| 2833 | + "babel-helper-flip-expressions": "^0.3.0" | ||
| 2834 | + } | ||
| 2835 | + }, | ||
| 2836 | + "babel-plugin-minify-infinity": { | ||
| 2837 | + "version": "0.3.0", | ||
| 2838 | + "resolved": "https://registry.npm.taobao.org/babel-plugin-minify-infinity/download/babel-plugin-minify-infinity-0.3.0.tgz", | ||
| 2839 | + "integrity": "sha1-xewO3UM1F88xs68XB3wgK+tIu+c=", | ||
| 2840 | + "dev": true | ||
| 2841 | + }, | ||
| 2842 | + "babel-plugin-minify-mangle-names": { | ||
| 2843 | + "version": "0.3.0", | ||
| 2844 | + "resolved": "https://registry.npm.taobao.org/babel-plugin-minify-mangle-names/download/babel-plugin-minify-mangle-names-0.3.0.tgz", | ||
| 2845 | + "integrity": "sha1-8oVhutDdLwOAgWgWu5RuIZs7YTU=", | ||
| 2846 | + "dev": true, | ||
| 2847 | + "requires": { | ||
| 2848 | + "babel-helper-mark-eval-scopes": "^0.3.0" | ||
| 2849 | + } | ||
| 2850 | + }, | ||
| 2851 | + "babel-plugin-minify-numeric-literals": { | ||
| 2852 | + "version": "0.3.0", | ||
| 2853 | + "resolved": "https://registry.npm.taobao.org/babel-plugin-minify-numeric-literals/download/babel-plugin-minify-numeric-literals-0.3.0.tgz", | ||
| 2854 | + "integrity": "sha1-tXc0phLopZIAVAcyPDIRGfJ9S0A=", | ||
| 2855 | + "dev": true | ||
| 2856 | + }, | ||
| 2857 | + "babel-plugin-minify-replace": { | ||
| 2858 | + "version": "0.3.0", | ||
| 2859 | + "resolved": "https://registry.npm.taobao.org/babel-plugin-minify-replace/download/babel-plugin-minify-replace-0.3.0.tgz", | ||
| 2860 | + "integrity": "sha1-mAElu/fLtaY3Q53p0LGwMKRpOJM=", | ||
| 2861 | + "dev": true | ||
| 2862 | + }, | ||
| 2863 | + "babel-plugin-minify-simplify": { | ||
| 2864 | + "version": "0.3.0", | ||
| 2865 | + "resolved": "https://registry.npm.taobao.org/babel-plugin-minify-simplify/download/babel-plugin-minify-simplify-0.3.0.tgz", | ||
| 2866 | + "integrity": "sha1-FFdMx00hyB0wYPr6BBAQAoGJ8Rs=", | ||
| 2867 | + "dev": true, | ||
| 2868 | + "requires": { | ||
| 2869 | + "babel-helper-flip-expressions": "^0.3.0", | ||
| 2870 | + "babel-helper-is-nodes-equiv": "^0.0.1", | ||
| 2871 | + "babel-helper-to-multiple-sequence-expressions": "^0.3.0" | ||
| 2872 | + } | ||
| 2873 | + }, | ||
| 2874 | + "babel-plugin-minify-type-constructors": { | ||
| 2875 | + "version": "0.3.0", | ||
| 2876 | + "resolved": "https://registry.npm.taobao.org/babel-plugin-minify-type-constructors/download/babel-plugin-minify-type-constructors-0.3.0.tgz", | ||
| 2877 | + "integrity": "sha1-f1qG7zIsR0Y2TjxZG4UU7q/qatQ=", | ||
| 2878 | + "dev": true, | ||
| 2879 | + "requires": { | ||
| 2880 | + "babel-helper-is-void-0": "^0.3.0" | ||
| 2881 | + } | ||
| 2882 | + }, | ||
| 2883 | + "babel-plugin-transform-inline-consecutive-adds": { | ||
| 2884 | + "version": "0.3.0", | ||
| 2885 | + "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-inline-consecutive-adds/download/babel-plugin-transform-inline-consecutive-adds-0.3.0.tgz", | ||
| 2886 | + "integrity": "sha1-8H2TaJwAAu0rK2KWm92Z9zTgP1c=", | ||
| 2887 | + "dev": true | ||
| 2888 | + }, | ||
| 2889 | + "babel-plugin-transform-regexp-constructors": { | ||
| 2890 | + "version": "0.3.0", | ||
| 2891 | + "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-regexp-constructors/download/babel-plugin-transform-regexp-constructors-0.3.0.tgz", | ||
| 2892 | + "integrity": "sha1-m7LI3QgicaXLGzpEGnxS6P0H4PU=", | ||
| 2893 | + "dev": true | ||
| 2894 | + }, | ||
| 2895 | + "babel-plugin-transform-remove-undefined": { | ||
| 2896 | + "version": "0.3.0", | ||
| 2897 | + "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-remove-undefined/download/babel-plugin-transform-remove-undefined-0.3.0.tgz", | ||
| 2898 | + "integrity": "sha1-A/XwBxhneB6b6rvHt3v4CV/T8+w=", | ||
| 2899 | + "dev": true, | ||
| 2900 | + "requires": { | ||
| 2901 | + "babel-helper-evaluate-path": "^0.3.0" | ||
| 2902 | + } | ||
| 2903 | + } | ||
| 2904 | + } | ||
| 2905 | + }, | ||
| 2705 | "babel-preset-stage-0": { | 2906 | "babel-preset-stage-0": { |
| 2706 | "version": "6.24.1", | 2907 | "version": "6.24.1", |
| 2707 | "resolved": "https://registry.npm.taobao.org/babel-preset-stage-0/download/babel-preset-stage-0-6.24.1.tgz", | 2908 | "resolved": "https://registry.npm.taobao.org/babel-preset-stage-0/download/babel-preset-stage-0-6.24.1.tgz", |
| ... | @@ -3051,7 +3252,6 @@ | ... | @@ -3051,7 +3252,6 @@ |
| 3051 | "version": "1.19.0", | 3252 | "version": "1.19.0", |
| 3052 | "resolved": "https://registry.npm.taobao.org/body-parser/download/body-parser-1.19.0.tgz", | 3253 | "resolved": "https://registry.npm.taobao.org/body-parser/download/body-parser-1.19.0.tgz", |
| 3053 | "integrity": "sha1-lrJwnlfJxOCab9Zqj9l5hE9p8Io=", | 3254 | "integrity": "sha1-lrJwnlfJxOCab9Zqj9l5hE9p8Io=", |
| 3054 | - "dev": true, | ||
| 3055 | "requires": { | 3255 | "requires": { |
| 3056 | "bytes": "3.1.0", | 3256 | "bytes": "3.1.0", |
| 3057 | "content-type": "~1.0.4", | 3257 | "content-type": "~1.0.4", |
| ... | @@ -3069,7 +3269,6 @@ | ... | @@ -3069,7 +3269,6 @@ |
| 3069 | "version": "2.6.9", | 3269 | "version": "2.6.9", |
| 3070 | "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz", | 3270 | "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz", |
| 3071 | "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", | 3271 | "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", |
| 3072 | - "dev": true, | ||
| 3073 | "requires": { | 3272 | "requires": { |
| 3074 | "ms": "2.0.0" | 3273 | "ms": "2.0.0" |
| 3075 | } | 3274 | } |
| ... | @@ -3078,7 +3277,6 @@ | ... | @@ -3078,7 +3277,6 @@ |
| 3078 | "version": "0.4.24", | 3277 | "version": "0.4.24", |
| 3079 | "resolved": "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.24.tgz", | 3278 | "resolved": "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.24.tgz", |
| 3080 | "integrity": "sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=", | 3279 | "integrity": "sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=", |
| 3081 | - "dev": true, | ||
| 3082 | "requires": { | 3280 | "requires": { |
| 3083 | "safer-buffer": ">= 2.1.2 < 3" | 3281 | "safer-buffer": ">= 2.1.2 < 3" |
| 3084 | } | 3282 | } |
| ... | @@ -3086,8 +3284,7 @@ | ... | @@ -3086,8 +3284,7 @@ |
| 3086 | "qs": { | 3284 | "qs": { |
| 3087 | "version": "6.7.0", | 3285 | "version": "6.7.0", |
| 3088 | "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.7.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fqs%2Fdownload%2Fqs-6.7.0.tgz", | 3286 | "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.7.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fqs%2Fdownload%2Fqs-6.7.0.tgz", |
| 3089 | - "integrity": "sha1-QdwaAV49WB8WIXdr4xr7KHapsbw=", | 3287 | + "integrity": "sha1-QdwaAV49WB8WIXdr4xr7KHapsbw=" |
| 3090 | - "dev": true | ||
| 3091 | } | 3288 | } |
| 3092 | } | 3289 | } |
| 3093 | }, | 3290 | }, |
| ... | @@ -3558,7 +3755,6 @@ | ... | @@ -3558,7 +3755,6 @@ |
| 3558 | "version": "8.6.2", | 3755 | "version": "8.6.2", |
| 3559 | "resolved": "https://registry.npm.taobao.org/builder-util-runtime/download/builder-util-runtime-8.6.2.tgz", | 3756 | "resolved": "https://registry.npm.taobao.org/builder-util-runtime/download/builder-util-runtime-8.6.2.tgz", |
| 3560 | "integrity": "sha1-gnDhWwEtjTsRDz4yew/YsOB7FoY=", | 3757 | "integrity": "sha1-gnDhWwEtjTsRDz4yew/YsOB7FoY=", |
| 3561 | - "dev": true, | ||
| 3562 | "requires": { | 3758 | "requires": { |
| 3563 | "debug": "^4.1.1", | 3759 | "debug": "^4.1.1", |
| 3564 | "sax": "^1.2.4" | 3760 | "sax": "^1.2.4" |
| ... | @@ -3568,7 +3764,6 @@ | ... | @@ -3568,7 +3764,6 @@ |
| 3568 | "version": "4.1.1", | 3764 | "version": "4.1.1", |
| 3569 | "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz", | 3765 | "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz", |
| 3570 | "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=", | 3766 | "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=", |
| 3571 | - "dev": true, | ||
| 3572 | "requires": { | 3767 | "requires": { |
| 3573 | "ms": "^2.1.1" | 3768 | "ms": "^2.1.1" |
| 3574 | } | 3769 | } |
| ... | @@ -3576,8 +3771,7 @@ | ... | @@ -3576,8 +3771,7 @@ |
| 3576 | "ms": { | 3771 | "ms": { |
| 3577 | "version": "2.1.2", | 3772 | "version": "2.1.2", |
| 3578 | "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", | 3773 | "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.2.tgz", |
| 3579 | - "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", | 3774 | + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=" |
| 3580 | - "dev": true | ||
| 3581 | } | 3775 | } |
| 3582 | } | 3776 | } |
| 3583 | }, | 3777 | }, |
| ... | @@ -3615,8 +3809,7 @@ | ... | @@ -3615,8 +3809,7 @@ |
| 3615 | "bytes": { | 3809 | "bytes": { |
| 3616 | "version": "3.1.0", | 3810 | "version": "3.1.0", |
| 3617 | "resolved": "https://registry.npm.taobao.org/bytes/download/bytes-3.1.0.tgz", | 3811 | "resolved": "https://registry.npm.taobao.org/bytes/download/bytes-3.1.0.tgz", |
| 3618 | - "integrity": "sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY=", | 3812 | + "integrity": "sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY=" |
| 3619 | - "dev": true | ||
| 3620 | }, | 3813 | }, |
| 3621 | "cacache": { | 3814 | "cacache": { |
| 3622 | "version": "12.0.3", | 3815 | "version": "12.0.3", |
| ... | @@ -4693,7 +4886,6 @@ | ... | @@ -4693,7 +4886,6 @@ |
| 4693 | "version": "0.5.3", | 4886 | "version": "0.5.3", |
| 4694 | "resolved": "https://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.3.tgz", | 4887 | "resolved": "https://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.3.tgz", |
| 4695 | "integrity": "sha1-4TDK9+cnkIfFYWwgB9BIVpiYT70=", | 4888 | "integrity": "sha1-4TDK9+cnkIfFYWwgB9BIVpiYT70=", |
| 4696 | - "dev": true, | ||
| 4697 | "requires": { | 4889 | "requires": { |
| 4698 | "safe-buffer": "5.1.2" | 4890 | "safe-buffer": "5.1.2" |
| 4699 | } | 4891 | } |
| ... | @@ -4701,8 +4893,7 @@ | ... | @@ -4701,8 +4893,7 @@ |
| 4701 | "content-type": { | 4893 | "content-type": { |
| 4702 | "version": "1.0.4", | 4894 | "version": "1.0.4", |
| 4703 | "resolved": "https://registry.npm.taobao.org/content-type/download/content-type-1.0.4.tgz", | 4895 | "resolved": "https://registry.npm.taobao.org/content-type/download/content-type-1.0.4.tgz", |
| 4704 | - "integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js=", | 4896 | + "integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js=" |
| 4705 | - "dev": true | ||
| 4706 | }, | 4897 | }, |
| 4707 | "convert-source-map": { | 4898 | "convert-source-map": { |
| 4708 | "version": "1.7.0", | 4899 | "version": "1.7.0", |
| ... | @@ -4722,8 +4913,7 @@ | ... | @@ -4722,8 +4913,7 @@ |
| 4722 | "cookie-signature": { | 4913 | "cookie-signature": { |
| 4723 | "version": "1.0.6", | 4914 | "version": "1.0.6", |
| 4724 | "resolved": "https://registry.npm.taobao.org/cookie-signature/download/cookie-signature-1.0.6.tgz", | 4915 | "resolved": "https://registry.npm.taobao.org/cookie-signature/download/cookie-signature-1.0.6.tgz", |
| 4725 | - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", | 4916 | + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" |
| 4726 | - "dev": true | ||
| 4727 | }, | 4917 | }, |
| 4728 | "copy-concurrently": { | 4918 | "copy-concurrently": { |
| 4729 | "version": "1.0.5", | 4919 | "version": "1.0.5", |
| ... | @@ -5552,8 +5742,7 @@ | ... | @@ -5552,8 +5742,7 @@ |
| 5552 | "depd": { | 5742 | "depd": { |
| 5553 | "version": "1.1.2", | 5743 | "version": "1.1.2", |
| 5554 | "resolved": "https://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz", | 5744 | "resolved": "https://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz", |
| 5555 | - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", | 5745 | + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" |
| 5556 | - "dev": true | ||
| 5557 | }, | 5746 | }, |
| 5558 | "des.js": { | 5747 | "des.js": { |
| 5559 | "version": "1.0.1", | 5748 | "version": "1.0.1", |
| ... | @@ -5568,8 +5757,7 @@ | ... | @@ -5568,8 +5757,7 @@ |
| 5568 | "destroy": { | 5757 | "destroy": { |
| 5569 | "version": "1.0.4", | 5758 | "version": "1.0.4", |
| 5570 | "resolved": "https://registry.npm.taobao.org/destroy/download/destroy-1.0.4.tgz", | 5759 | "resolved": "https://registry.npm.taobao.org/destroy/download/destroy-1.0.4.tgz", |
| 5571 | - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", | 5760 | + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" |
| 5572 | - "dev": true | ||
| 5573 | }, | 5761 | }, |
| 5574 | "detect-file": { | 5762 | "detect-file": { |
| 5575 | "version": "1.0.0", | 5763 | "version": "1.0.0", |
| ... | @@ -5863,8 +6051,7 @@ | ... | @@ -5863,8 +6051,7 @@ |
| 5863 | "ee-first": { | 6051 | "ee-first": { |
| 5864 | "version": "1.1.1", | 6052 | "version": "1.1.1", |
| 5865 | "resolved": "https://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz", | 6053 | "resolved": "https://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz", |
| 5866 | - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", | 6054 | + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" |
| 5867 | - "dev": true | ||
| 5868 | }, | 6055 | }, |
| 5869 | "ejs": { | 6056 | "ejs": { |
| 5870 | "version": "3.0.2", | 6057 | "version": "3.0.2", |
| ... | @@ -6175,6 +6362,38 @@ | ... | @@ -6175,6 +6362,38 @@ |
| 6175 | "integrity": "sha1-pvfhx5AlwrBYOOjjRPbonrgyE6g=", | 6362 | "integrity": "sha1-pvfhx5AlwrBYOOjjRPbonrgyE6g=", |
| 6176 | "dev": true | 6363 | "dev": true |
| 6177 | }, | 6364 | }, |
| 6365 | + "electron-updater": { | ||
| 6366 | + "version": "4.2.5", | ||
| 6367 | + "resolved": "https://registry.npm.taobao.org/electron-updater/download/electron-updater-4.2.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felectron-updater%2Fdownload%2Felectron-updater-4.2.5.tgz", | ||
| 6368 | + "integrity": "sha1-287Y2m+Mb8LcZi8ndhMfWknOAY0=", | ||
| 6369 | + "requires": { | ||
| 6370 | + "@types/semver": "^7.1.0", | ||
| 6371 | + "builder-util-runtime": "8.6.2", | ||
| 6372 | + "fs-extra": "^8.1.0", | ||
| 6373 | + "js-yaml": "^3.13.1", | ||
| 6374 | + "lazy-val": "^1.0.4", | ||
| 6375 | + "lodash.isequal": "^4.5.0", | ||
| 6376 | + "pako": "^1.0.11", | ||
| 6377 | + "semver": "^7.1.3" | ||
| 6378 | + }, | ||
| 6379 | + "dependencies": { | ||
| 6380 | + "fs-extra": { | ||
| 6381 | + "version": "8.1.0", | ||
| 6382 | + "resolved": "https://registry.npm.taobao.org/fs-extra/download/fs-extra-8.1.0.tgz", | ||
| 6383 | + "integrity": "sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA=", | ||
| 6384 | + "requires": { | ||
| 6385 | + "graceful-fs": "^4.2.0", | ||
| 6386 | + "jsonfile": "^4.0.0", | ||
| 6387 | + "universalify": "^0.1.0" | ||
| 6388 | + } | ||
| 6389 | + }, | ||
| 6390 | + "semver": { | ||
| 6391 | + "version": "7.2.2", | ||
| 6392 | + "resolved": "https://registry.npm.taobao.org/semver/download/semver-7.2.2.tgz?cache=0&sync_timestamp=1586534511518&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.2.2.tgz", | ||
| 6393 | + "integrity": "sha1-0BQy107TAQog/6+QnWOmkVIFIc0=" | ||
| 6394 | + } | ||
| 6395 | + } | ||
| 6396 | + }, | ||
| 6178 | "element-ui": { | 6397 | "element-ui": { |
| 6179 | "version": "2.13.0", | 6398 | "version": "2.13.0", |
| 6180 | "resolved": "https://registry.npm.taobao.org/element-ui/download/element-ui-2.13.0.tgz", | 6399 | "resolved": "https://registry.npm.taobao.org/element-ui/download/element-ui-2.13.0.tgz", |
| ... | @@ -6218,8 +6437,7 @@ | ... | @@ -6218,8 +6437,7 @@ |
| 6218 | "encodeurl": { | 6437 | "encodeurl": { |
| 6219 | "version": "1.0.2", | 6438 | "version": "1.0.2", |
| 6220 | "resolved": "https://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.2.tgz", | 6439 | "resolved": "https://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.2.tgz", |
| 6221 | - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", | 6440 | + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" |
| 6222 | - "dev": true | ||
| 6223 | }, | 6441 | }, |
| 6224 | "end-of-stream": { | 6442 | "end-of-stream": { |
| 6225 | "version": "1.4.4", | 6443 | "version": "1.4.4", |
| ... | @@ -6454,8 +6672,7 @@ | ... | @@ -6454,8 +6672,7 @@ |
| 6454 | "escape-html": { | 6672 | "escape-html": { |
| 6455 | "version": "1.0.3", | 6673 | "version": "1.0.3", |
| 6456 | "resolved": "https://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz", | 6674 | "resolved": "https://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz", |
| 6457 | - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", | 6675 | + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" |
| 6458 | - "dev": true | ||
| 6459 | }, | 6676 | }, |
| 6460 | "escape-string-regexp": { | 6677 | "escape-string-regexp": { |
| 6461 | "version": "1.0.5", | 6678 | "version": "1.0.5", |
| ... | @@ -6950,8 +7167,7 @@ | ... | @@ -6950,8 +7167,7 @@ |
| 6950 | "esprima": { | 7167 | "esprima": { |
| 6951 | "version": "4.0.1", | 7168 | "version": "4.0.1", |
| 6952 | "resolved": "https://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz", | 7169 | "resolved": "https://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz", |
| 6953 | - "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=", | 7170 | + "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=" |
| 6954 | - "dev": true | ||
| 6955 | }, | 7171 | }, |
| 6956 | "esquery": { | 7172 | "esquery": { |
| 6957 | "version": "1.0.1", | 7173 | "version": "1.0.1", |
| ... | @@ -6986,8 +7202,7 @@ | ... | @@ -6986,8 +7202,7 @@ |
| 6986 | "etag": { | 7202 | "etag": { |
| 6987 | "version": "1.8.1", | 7203 | "version": "1.8.1", |
| 6988 | "resolved": "https://registry.npm.taobao.org/etag/download/etag-1.8.1.tgz", | 7204 | "resolved": "https://registry.npm.taobao.org/etag/download/etag-1.8.1.tgz", |
| 6989 | - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", | 7205 | + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" |
| 6990 | - "dev": true | ||
| 6991 | }, | 7206 | }, |
| 6992 | "eventemitter3": { | 7207 | "eventemitter3": { |
| 6993 | "version": "4.0.0", | 7208 | "version": "4.0.0", |
| ... | @@ -7248,9 +7463,8 @@ | ... | @@ -7248,9 +7463,8 @@ |
| 7248 | }, | 7463 | }, |
| 7249 | "express": { | 7464 | "express": { |
| 7250 | "version": "4.17.1", | 7465 | "version": "4.17.1", |
| 7251 | - "resolved": "https://registry.npm.taobao.org/express/download/express-4.17.1.tgz", | 7466 | + "resolved": "https://registry.npm.taobao.org/express/download/express-4.17.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexpress%2Fdownload%2Fexpress-4.17.1.tgz", |
| 7252 | "integrity": "sha1-RJH8OGBc9R+GKdOcK10Cb5ikwTQ=", | 7467 | "integrity": "sha1-RJH8OGBc9R+GKdOcK10Cb5ikwTQ=", |
| 7253 | - "dev": true, | ||
| 7254 | "requires": { | 7468 | "requires": { |
| 7255 | "accepts": "~1.3.7", | 7469 | "accepts": "~1.3.7", |
| 7256 | "array-flatten": "1.1.1", | 7470 | "array-flatten": "1.1.1", |
| ... | @@ -7287,29 +7501,25 @@ | ... | @@ -7287,29 +7501,25 @@ |
| 7287 | "array-flatten": { | 7501 | "array-flatten": { |
| 7288 | "version": "1.1.1", | 7502 | "version": "1.1.1", |
| 7289 | "resolved": "https://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz?cache=0&sync_timestamp=1574313384951&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farray-flatten%2Fdownload%2Farray-flatten-1.1.1.tgz", | 7503 | "resolved": "https://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz?cache=0&sync_timestamp=1574313384951&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farray-flatten%2Fdownload%2Farray-flatten-1.1.1.tgz", |
| 7290 | - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", | 7504 | + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" |
| 7291 | - "dev": true | ||
| 7292 | }, | 7505 | }, |
| 7293 | "cookie": { | 7506 | "cookie": { |
| 7294 | "version": "0.4.0", | 7507 | "version": "0.4.0", |
| 7295 | "resolved": "https://registry.npm.taobao.org/cookie/download/cookie-0.4.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcookie%2Fdownload%2Fcookie-0.4.0.tgz", | 7508 | "resolved": "https://registry.npm.taobao.org/cookie/download/cookie-0.4.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcookie%2Fdownload%2Fcookie-0.4.0.tgz", |
| 7296 | - "integrity": "sha1-vrQ35wIrO21JAZ0IhmUwPr6cFLo=", | 7509 | + "integrity": "sha1-vrQ35wIrO21JAZ0IhmUwPr6cFLo=" |
| 7297 | - "dev": true | ||
| 7298 | }, | 7510 | }, |
| 7299 | "debug": { | 7511 | "debug": { |
| 7300 | "version": "2.6.9", | 7512 | "version": "2.6.9", |
| 7301 | "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz", | 7513 | "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz", |
| 7302 | "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", | 7514 | "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", |
| 7303 | - "dev": true, | ||
| 7304 | "requires": { | 7515 | "requires": { |
| 7305 | "ms": "2.0.0" | 7516 | "ms": "2.0.0" |
| 7306 | } | 7517 | } |
| 7307 | }, | 7518 | }, |
| 7308 | "qs": { | 7519 | "qs": { |
| 7309 | "version": "6.7.0", | 7520 | "version": "6.7.0", |
| 7310 | - "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.7.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fqs%2Fdownload%2Fqs-6.7.0.tgz", | 7521 | + "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.7.0.tgz", |
| 7311 | - "integrity": "sha1-QdwaAV49WB8WIXdr4xr7KHapsbw=", | 7522 | + "integrity": "sha1-QdwaAV49WB8WIXdr4xr7KHapsbw=" |
| 7312 | - "dev": true | ||
| 7313 | } | 7523 | } |
| 7314 | } | 7524 | } |
| 7315 | }, | 7525 | }, |
| ... | @@ -7682,7 +7892,6 @@ | ... | @@ -7682,7 +7892,6 @@ |
| 7682 | "version": "1.1.2", | 7892 | "version": "1.1.2", |
| 7683 | "resolved": "https://registry.npm.taobao.org/finalhandler/download/finalhandler-1.1.2.tgz", | 7893 | "resolved": "https://registry.npm.taobao.org/finalhandler/download/finalhandler-1.1.2.tgz", |
| 7684 | "integrity": "sha1-t+fQAP/RGTjQ/bBTUG9uur6fWH0=", | 7894 | "integrity": "sha1-t+fQAP/RGTjQ/bBTUG9uur6fWH0=", |
| 7685 | - "dev": true, | ||
| 7686 | "requires": { | 7895 | "requires": { |
| 7687 | "debug": "2.6.9", | 7896 | "debug": "2.6.9", |
| 7688 | "encodeurl": "~1.0.2", | 7897 | "encodeurl": "~1.0.2", |
| ... | @@ -7697,7 +7906,6 @@ | ... | @@ -7697,7 +7906,6 @@ |
| 7697 | "version": "2.6.9", | 7906 | "version": "2.6.9", |
| 7698 | "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz", | 7907 | "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz", |
| 7699 | "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", | 7908 | "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", |
| 7700 | - "dev": true, | ||
| 7701 | "requires": { | 7909 | "requires": { |
| 7702 | "ms": "2.0.0" | 7910 | "ms": "2.0.0" |
| 7703 | } | 7911 | } |
| ... | @@ -7802,8 +8010,7 @@ | ... | @@ -7802,8 +8010,7 @@ |
| 7802 | "forwarded": { | 8010 | "forwarded": { |
| 7803 | "version": "0.1.2", | 8011 | "version": "0.1.2", |
| 7804 | "resolved": "https://registry.npm.taobao.org/forwarded/download/forwarded-0.1.2.tgz", | 8012 | "resolved": "https://registry.npm.taobao.org/forwarded/download/forwarded-0.1.2.tgz", |
| 7805 | - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", | 8013 | + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" |
| 7806 | - "dev": true | ||
| 7807 | }, | 8014 | }, |
| 7808 | "fragment-cache": { | 8015 | "fragment-cache": { |
| 7809 | "version": "0.2.1", | 8016 | "version": "0.2.1", |
| ... | @@ -7817,8 +8024,7 @@ | ... | @@ -7817,8 +8024,7 @@ |
| 7817 | "fresh": { | 8024 | "fresh": { |
| 7818 | "version": "0.5.2", | 8025 | "version": "0.5.2", |
| 7819 | "resolved": "https://registry.npm.taobao.org/fresh/download/fresh-0.5.2.tgz", | 8026 | "resolved": "https://registry.npm.taobao.org/fresh/download/fresh-0.5.2.tgz", |
| 7820 | - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", | 8027 | + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" |
| 7821 | - "dev": true | ||
| 7822 | }, | 8028 | }, |
| 7823 | "from2": { | 8029 | "from2": { |
| 7824 | "version": "2.3.0", | 8030 | "version": "2.3.0", |
| ... | @@ -8836,6 +9042,49 @@ | ... | @@ -8836,6 +9042,49 @@ |
| 8836 | } | 9042 | } |
| 8837 | } | 9043 | } |
| 8838 | }, | 9044 | }, |
| 9045 | + "happypack": { | ||
| 9046 | + "version": "5.0.1", | ||
| 9047 | + "resolved": "https://registry.npm.taobao.org/happypack/download/happypack-5.0.1.tgz", | ||
| 9048 | + "integrity": "sha1-hQg5Qm1iBaUgv5E+liNJ++UjoHw=", | ||
| 9049 | + "dev": true, | ||
| 9050 | + "requires": { | ||
| 9051 | + "async": "1.5.0", | ||
| 9052 | + "json-stringify-safe": "5.0.1", | ||
| 9053 | + "loader-utils": "1.1.0", | ||
| 9054 | + "serialize-error": "^2.1.0" | ||
| 9055 | + }, | ||
| 9056 | + "dependencies": { | ||
| 9057 | + "async": { | ||
| 9058 | + "version": "1.5.0", | ||
| 9059 | + "resolved": "https://registry.npm.taobao.org/async/download/async-1.5.0.tgz", | ||
| 9060 | + "integrity": "sha1-J5ZkJyNXOFlWVjP8YnRES+4vjOM=", | ||
| 9061 | + "dev": true | ||
| 9062 | + }, | ||
| 9063 | + "big.js": { | ||
| 9064 | + "version": "3.2.0", | ||
| 9065 | + "resolved": "https://registry.npm.taobao.org/big.js/download/big.js-3.2.0.tgz", | ||
| 9066 | + "integrity": "sha1-pfwpi4G54Nyi5FiCR4S2XFK6WI4=", | ||
| 9067 | + "dev": true | ||
| 9068 | + }, | ||
| 9069 | + "loader-utils": { | ||
| 9070 | + "version": "1.1.0", | ||
| 9071 | + "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-1.1.0.tgz?cache=0&sync_timestamp=1584445207623&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floader-utils%2Fdownload%2Floader-utils-1.1.0.tgz", | ||
| 9072 | + "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", | ||
| 9073 | + "dev": true, | ||
| 9074 | + "requires": { | ||
| 9075 | + "big.js": "^3.1.3", | ||
| 9076 | + "emojis-list": "^2.0.0", | ||
| 9077 | + "json5": "^0.5.0" | ||
| 9078 | + } | ||
| 9079 | + }, | ||
| 9080 | + "serialize-error": { | ||
| 9081 | + "version": "2.1.0", | ||
| 9082 | + "resolved": "https://registry.npm.taobao.org/serialize-error/download/serialize-error-2.1.0.tgz", | ||
| 9083 | + "integrity": "sha1-ULZ51WNc34Rme9yOWa9OW4HV9go=", | ||
| 9084 | + "dev": true | ||
| 9085 | + } | ||
| 9086 | + } | ||
| 9087 | + }, | ||
| 8839 | "har-schema": { | 9088 | "har-schema": { |
| 8840 | "version": "2.0.0", | 9089 | "version": "2.0.0", |
| 8841 | "resolved": "https://registry.npm.taobao.org/har-schema/download/har-schema-2.0.0.tgz", | 9090 | "resolved": "https://registry.npm.taobao.org/har-schema/download/har-schema-2.0.0.tgz", |
| ... | @@ -8852,6 +9101,147 @@ | ... | @@ -8852,6 +9101,147 @@ |
| 8852 | "har-schema": "^2.0.0" | 9101 | "har-schema": "^2.0.0" |
| 8853 | } | 9102 | } |
| 8854 | }, | 9103 | }, |
| 9104 | + "hard-source-webpack-plugin": { | ||
| 9105 | + "version": "0.13.1", | ||
| 9106 | + "resolved": "https://registry.npm.taobao.org/hard-source-webpack-plugin/download/hard-source-webpack-plugin-0.13.1.tgz", | ||
| 9107 | + "integrity": "sha1-qZBx4lsjLxQ4pbw8mfEKOGnkQo4=", | ||
| 9108 | + "dev": true, | ||
| 9109 | + "requires": { | ||
| 9110 | + "chalk": "^2.4.1", | ||
| 9111 | + "find-cache-dir": "^2.0.0", | ||
| 9112 | + "graceful-fs": "^4.1.11", | ||
| 9113 | + "lodash": "^4.15.0", | ||
| 9114 | + "mkdirp": "^0.5.1", | ||
| 9115 | + "node-object-hash": "^1.2.0", | ||
| 9116 | + "parse-json": "^4.0.0", | ||
| 9117 | + "pkg-dir": "^3.0.0", | ||
| 9118 | + "rimraf": "^2.6.2", | ||
| 9119 | + "semver": "^5.6.0", | ||
| 9120 | + "tapable": "^1.0.0-beta.5", | ||
| 9121 | + "webpack-sources": "^1.0.1", | ||
| 9122 | + "write-json-file": "^2.3.0" | ||
| 9123 | + }, | ||
| 9124 | + "dependencies": { | ||
| 9125 | + "ansi-styles": { | ||
| 9126 | + "version": "3.2.1", | ||
| 9127 | + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", | ||
| 9128 | + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", | ||
| 9129 | + "dev": true, | ||
| 9130 | + "requires": { | ||
| 9131 | + "color-convert": "^1.9.0" | ||
| 9132 | + } | ||
| 9133 | + }, | ||
| 9134 | + "chalk": { | ||
| 9135 | + "version": "2.4.2", | ||
| 9136 | + "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz", | ||
| 9137 | + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", | ||
| 9138 | + "dev": true, | ||
| 9139 | + "requires": { | ||
| 9140 | + "ansi-styles": "^3.2.1", | ||
| 9141 | + "escape-string-regexp": "^1.0.5", | ||
| 9142 | + "supports-color": "^5.3.0" | ||
| 9143 | + } | ||
| 9144 | + }, | ||
| 9145 | + "find-cache-dir": { | ||
| 9146 | + "version": "2.1.0", | ||
| 9147 | + "resolved": "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-2.1.0.tgz", | ||
| 9148 | + "integrity": "sha1-jQ+UzRP+Q8bHwmGg2GEVypGMBfc=", | ||
| 9149 | + "dev": true, | ||
| 9150 | + "requires": { | ||
| 9151 | + "commondir": "^1.0.1", | ||
| 9152 | + "make-dir": "^2.0.0", | ||
| 9153 | + "pkg-dir": "^3.0.0" | ||
| 9154 | + } | ||
| 9155 | + }, | ||
| 9156 | + "find-up": { | ||
| 9157 | + "version": "3.0.0", | ||
| 9158 | + "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz", | ||
| 9159 | + "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=", | ||
| 9160 | + "dev": true, | ||
| 9161 | + "requires": { | ||
| 9162 | + "locate-path": "^3.0.0" | ||
| 9163 | + } | ||
| 9164 | + }, | ||
| 9165 | + "locate-path": { | ||
| 9166 | + "version": "3.0.0", | ||
| 9167 | + "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz", | ||
| 9168 | + "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=", | ||
| 9169 | + "dev": true, | ||
| 9170 | + "requires": { | ||
| 9171 | + "p-locate": "^3.0.0", | ||
| 9172 | + "path-exists": "^3.0.0" | ||
| 9173 | + } | ||
| 9174 | + }, | ||
| 9175 | + "make-dir": { | ||
| 9176 | + "version": "2.1.0", | ||
| 9177 | + "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-2.1.0.tgz?cache=0&sync_timestamp=1581538804263&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmake-dir%2Fdownload%2Fmake-dir-2.1.0.tgz", | ||
| 9178 | + "integrity": "sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU=", | ||
| 9179 | + "dev": true, | ||
| 9180 | + "requires": { | ||
| 9181 | + "pify": "^4.0.1", | ||
| 9182 | + "semver": "^5.6.0" | ||
| 9183 | + } | ||
| 9184 | + }, | ||
| 9185 | + "p-limit": { | ||
| 9186 | + "version": "2.3.0", | ||
| 9187 | + "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-2.3.0.tgz?cache=0&sync_timestamp=1586101408834&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-2.3.0.tgz", | ||
| 9188 | + "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=", | ||
| 9189 | + "dev": true, | ||
| 9190 | + "requires": { | ||
| 9191 | + "p-try": "^2.0.0" | ||
| 9192 | + } | ||
| 9193 | + }, | ||
| 9194 | + "p-locate": { | ||
| 9195 | + "version": "3.0.0", | ||
| 9196 | + "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-3.0.0.tgz", | ||
| 9197 | + "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=", | ||
| 9198 | + "dev": true, | ||
| 9199 | + "requires": { | ||
| 9200 | + "p-limit": "^2.0.0" | ||
| 9201 | + } | ||
| 9202 | + }, | ||
| 9203 | + "p-try": { | ||
| 9204 | + "version": "2.2.0", | ||
| 9205 | + "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz", | ||
| 9206 | + "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=", | ||
| 9207 | + "dev": true | ||
| 9208 | + }, | ||
| 9209 | + "parse-json": { | ||
| 9210 | + "version": "4.0.0", | ||
| 9211 | + "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-4.0.0.tgz", | ||
| 9212 | + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", | ||
| 9213 | + "dev": true, | ||
| 9214 | + "requires": { | ||
| 9215 | + "error-ex": "^1.3.1", | ||
| 9216 | + "json-parse-better-errors": "^1.0.1" | ||
| 9217 | + } | ||
| 9218 | + }, | ||
| 9219 | + "pify": { | ||
| 9220 | + "version": "4.0.1", | ||
| 9221 | + "resolved": "https://registry.npm.taobao.org/pify/download/pify-4.0.1.tgz", | ||
| 9222 | + "integrity": "sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE=", | ||
| 9223 | + "dev": true | ||
| 9224 | + }, | ||
| 9225 | + "pkg-dir": { | ||
| 9226 | + "version": "3.0.0", | ||
| 9227 | + "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-3.0.0.tgz", | ||
| 9228 | + "integrity": "sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM=", | ||
| 9229 | + "dev": true, | ||
| 9230 | + "requires": { | ||
| 9231 | + "find-up": "^3.0.0" | ||
| 9232 | + } | ||
| 9233 | + }, | ||
| 9234 | + "supports-color": { | ||
| 9235 | + "version": "5.5.0", | ||
| 9236 | + "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz", | ||
| 9237 | + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", | ||
| 9238 | + "dev": true, | ||
| 9239 | + "requires": { | ||
| 9240 | + "has-flag": "^3.0.0" | ||
| 9241 | + } | ||
| 9242 | + } | ||
| 9243 | + } | ||
| 9244 | + }, | ||
| 8855 | "has": { | 9245 | "has": { |
| 8856 | "version": "1.0.3", | 9246 | "version": "1.0.3", |
| 8857 | "resolved": "https://registry.npm.taobao.org/has/download/has-1.0.3.tgz", | 9247 | "resolved": "https://registry.npm.taobao.org/has/download/has-1.0.3.tgz", |
| ... | @@ -9243,7 +9633,6 @@ | ... | @@ -9243,7 +9633,6 @@ |
| 9243 | "version": "1.7.2", | 9633 | "version": "1.7.2", |
| 9244 | "resolved": "https://registry.npm.taobao.org/http-errors/download/http-errors-1.7.2.tgz", | 9634 | "resolved": "https://registry.npm.taobao.org/http-errors/download/http-errors-1.7.2.tgz", |
| 9245 | "integrity": "sha1-T1ApzxMjnzEDblsuVSkrz7zIXI8=", | 9635 | "integrity": "sha1-T1ApzxMjnzEDblsuVSkrz7zIXI8=", |
| 9246 | - "dev": true, | ||
| 9247 | "requires": { | 9636 | "requires": { |
| 9248 | "depd": "~1.1.2", | 9637 | "depd": "~1.1.2", |
| 9249 | "inherits": "2.0.3", | 9638 | "inherits": "2.0.3", |
| ... | @@ -9255,8 +9644,7 @@ | ... | @@ -9255,8 +9644,7 @@ |
| 9255 | "inherits": { | 9644 | "inherits": { |
| 9256 | "version": "2.0.3", | 9645 | "version": "2.0.3", |
| 9257 | "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz", | 9646 | "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz", |
| 9258 | - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", | 9647 | + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" |
| 9259 | - "dev": true | ||
| 9260 | } | 9648 | } |
| 9261 | } | 9649 | } |
| 9262 | }, | 9650 | }, |
| ... | @@ -10429,7 +10817,6 @@ | ... | @@ -10429,7 +10817,6 @@ |
| 10429 | "version": "3.13.1", | 10817 | "version": "3.13.1", |
| 10430 | "resolved": "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.13.1.tgz", | 10818 | "resolved": "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.13.1.tgz", |
| 10431 | "integrity": "sha1-r/FRswv9+o5J4F2iLnQV6d+jeEc=", | 10819 | "integrity": "sha1-r/FRswv9+o5J4F2iLnQV6d+jeEc=", |
| 10432 | - "dev": true, | ||
| 10433 | "requires": { | 10820 | "requires": { |
| 10434 | "argparse": "^1.0.7", | 10821 | "argparse": "^1.0.7", |
| 10435 | "esprima": "^4.0.0" | 10822 | "esprima": "^4.0.0" |
| ... | @@ -10499,7 +10886,6 @@ | ... | @@ -10499,7 +10886,6 @@ |
| 10499 | "version": "4.0.0", | 10886 | "version": "4.0.0", |
| 10500 | "resolved": "https://registry.npm.taobao.org/jsonfile/download/jsonfile-4.0.0.tgz", | 10887 | "resolved": "https://registry.npm.taobao.org/jsonfile/download/jsonfile-4.0.0.tgz", |
| 10501 | "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", | 10888 | "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", |
| 10502 | - "dev": true, | ||
| 10503 | "requires": { | 10889 | "requires": { |
| 10504 | "graceful-fs": "^4.1.6" | 10890 | "graceful-fs": "^4.1.6" |
| 10505 | } | 10891 | } |
| ... | @@ -10789,8 +11175,7 @@ | ... | @@ -10789,8 +11175,7 @@ |
| 10789 | "lazy-val": { | 11175 | "lazy-val": { |
| 10790 | "version": "1.0.4", | 11176 | "version": "1.0.4", |
| 10791 | "resolved": "https://registry.npm.taobao.org/lazy-val/download/lazy-val-1.0.4.tgz", | 11177 | "resolved": "https://registry.npm.taobao.org/lazy-val/download/lazy-val-1.0.4.tgz", |
| 10792 | - "integrity": "sha1-iCY2pyRcLP5uCk47psXWihN+XGU=", | 11178 | + "integrity": "sha1-iCY2pyRcLP5uCk47psXWihN+XGU=" |
| 10793 | - "dev": true | ||
| 10794 | }, | 11179 | }, |
| 10795 | "lazystream": { | 11180 | "lazystream": { |
| 10796 | "version": "1.0.0", | 11181 | "version": "1.0.0", |
| ... | @@ -11087,6 +11472,11 @@ | ... | @@ -11087,6 +11472,11 @@ |
| 11087 | "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", | 11472 | "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", |
| 11088 | "dev": true | 11473 | "dev": true |
| 11089 | }, | 11474 | }, |
| 11475 | + "lodash.isequal": { | ||
| 11476 | + "version": "4.5.0", | ||
| 11477 | + "resolved": "https://registry.npm.taobao.org/lodash.isequal/download/lodash.isequal-4.5.0.tgz", | ||
| 11478 | + "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=" | ||
| 11479 | + }, | ||
| 11090 | "lodash.isplainobject": { | 11480 | "lodash.isplainobject": { |
| 11091 | "version": "4.0.6", | 11481 | "version": "4.0.6", |
| 11092 | "resolved": "https://registry.npm.taobao.org/lodash.isplainobject/download/lodash.isplainobject-4.0.6.tgz", | 11482 | "resolved": "https://registry.npm.taobao.org/lodash.isplainobject/download/lodash.isplainobject-4.0.6.tgz", |
| ... | @@ -11668,8 +12058,7 @@ | ... | @@ -11668,8 +12058,7 @@ |
| 11668 | "media-typer": { | 12058 | "media-typer": { |
| 11669 | "version": "0.3.0", | 12059 | "version": "0.3.0", |
| 11670 | "resolved": "https://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz", | 12060 | "resolved": "https://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz", |
| 11671 | - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", | 12061 | + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" |
| 11672 | - "dev": true | ||
| 11673 | }, | 12062 | }, |
| 11674 | "mem": { | 12063 | "mem": { |
| 11675 | "version": "4.3.0", | 12064 | "version": "4.3.0", |
| ... | @@ -11729,8 +12118,7 @@ | ... | @@ -11729,8 +12118,7 @@ |
| 11729 | "merge-descriptors": { | 12118 | "merge-descriptors": { |
| 11730 | "version": "1.0.1", | 12119 | "version": "1.0.1", |
| 11731 | "resolved": "https://registry.npm.taobao.org/merge-descriptors/download/merge-descriptors-1.0.1.tgz", | 12120 | "resolved": "https://registry.npm.taobao.org/merge-descriptors/download/merge-descriptors-1.0.1.tgz", |
| 11732 | - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", | 12121 | + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" |
| 11733 | - "dev": true | ||
| 11734 | }, | 12122 | }, |
| 11735 | "merge-options": { | 12123 | "merge-options": { |
| 11736 | "version": "1.0.1", | 12124 | "version": "1.0.1", |
| ... | @@ -11773,8 +12161,7 @@ | ... | @@ -11773,8 +12161,7 @@ |
| 11773 | "methods": { | 12161 | "methods": { |
| 11774 | "version": "1.1.2", | 12162 | "version": "1.1.2", |
| 11775 | "resolved": "https://registry.npm.taobao.org/methods/download/methods-1.1.2.tgz", | 12163 | "resolved": "https://registry.npm.taobao.org/methods/download/methods-1.1.2.tgz", |
| 11776 | - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", | 12164 | + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" |
| 11777 | - "dev": true | ||
| 11778 | }, | 12165 | }, |
| 11779 | "micromatch": { | 12166 | "micromatch": { |
| 11780 | "version": "3.1.10", | 12167 | "version": "3.1.10", |
| ... | @@ -11846,14 +12233,12 @@ | ... | @@ -11846,14 +12233,12 @@ |
| 11846 | "mime-db": { | 12233 | "mime-db": { |
| 11847 | "version": "1.42.0", | 12234 | "version": "1.42.0", |
| 11848 | "resolved": "https://registry.npm.taobao.org/mime-db/download/mime-db-1.42.0.tgz", | 12235 | "resolved": "https://registry.npm.taobao.org/mime-db/download/mime-db-1.42.0.tgz", |
| 11849 | - "integrity": "sha1-PiUpB7THrbkGWXtLZWNics+ee6w=", | 12236 | + "integrity": "sha1-PiUpB7THrbkGWXtLZWNics+ee6w=" |
| 11850 | - "dev": true | ||
| 11851 | }, | 12237 | }, |
| 11852 | "mime-types": { | 12238 | "mime-types": { |
| 11853 | "version": "2.1.25", | 12239 | "version": "2.1.25", |
| 11854 | "resolved": "https://registry.npm.taobao.org/mime-types/download/mime-types-2.1.25.tgz", | 12240 | "resolved": "https://registry.npm.taobao.org/mime-types/download/mime-types-2.1.25.tgz", |
| 11855 | "integrity": "sha1-OXctRmIfk+KoCoVsU7hqYhVqZDc=", | 12241 | "integrity": "sha1-OXctRmIfk+KoCoVsU7hqYhVqZDc=", |
| 11856 | - "dev": true, | ||
| 11857 | "requires": { | 12242 | "requires": { |
| 11858 | "mime-db": "1.42.0" | 12243 | "mime-db": "1.42.0" |
| 11859 | } | 12244 | } |
| ... | @@ -12287,8 +12672,7 @@ | ... | @@ -12287,8 +12672,7 @@ |
| 12287 | "negotiator": { | 12672 | "negotiator": { |
| 12288 | "version": "0.6.2", | 12673 | "version": "0.6.2", |
| 12289 | "resolved": "https://registry.npm.taobao.org/negotiator/download/negotiator-0.6.2.tgz", | 12674 | "resolved": "https://registry.npm.taobao.org/negotiator/download/negotiator-0.6.2.tgz", |
| 12290 | - "integrity": "sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs=", | 12675 | + "integrity": "sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs=" |
| 12291 | - "dev": true | ||
| 12292 | }, | 12676 | }, |
| 12293 | "neo-async": { | 12677 | "neo-async": { |
| 12294 | "version": "2.6.1", | 12678 | "version": "2.6.1", |
| ... | @@ -12423,6 +12807,12 @@ | ... | @@ -12423,6 +12807,12 @@ |
| 12423 | "integrity": "sha1-x5fvUQle1YWZArFX9jhPY2HgWug=", | 12807 | "integrity": "sha1-x5fvUQle1YWZArFX9jhPY2HgWug=", |
| 12424 | "dev": true | 12808 | "dev": true |
| 12425 | }, | 12809 | }, |
| 12810 | + "node-object-hash": { | ||
| 12811 | + "version": "1.4.2", | ||
| 12812 | + "resolved": "https://registry.npm.taobao.org/node-object-hash/download/node-object-hash-1.4.2.tgz", | ||
| 12813 | + "integrity": "sha1-OFgz2FsimQK3WCYiT2B3vpaanpQ=", | ||
| 12814 | + "dev": true | ||
| 12815 | + }, | ||
| 12426 | "node-sass": { | 12816 | "node-sass": { |
| 12427 | "version": "4.13.1", | 12817 | "version": "4.13.1", |
| 12428 | "resolved": "https://registry.npm.taobao.org/node-sass/download/node-sass-4.13.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-sass%2Fdownload%2Fnode-sass-4.13.1.tgz", | 12818 | "resolved": "https://registry.npm.taobao.org/node-sass/download/node-sass-4.13.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-sass%2Fdownload%2Fnode-sass-4.13.1.tgz", |
| ... | @@ -12916,7 +13306,6 @@ | ... | @@ -12916,7 +13306,6 @@ |
| 12916 | "version": "2.3.0", | 13306 | "version": "2.3.0", |
| 12917 | "resolved": "https://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz", | 13307 | "resolved": "https://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz", |
| 12918 | "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", | 13308 | "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", |
| 12919 | - "dev": true, | ||
| 12920 | "requires": { | 13309 | "requires": { |
| 12921 | "ee-first": "1.1.1" | 13310 | "ee-first": "1.1.1" |
| 12922 | } | 13311 | } |
| ... | @@ -13179,8 +13568,7 @@ | ... | @@ -13179,8 +13568,7 @@ |
| 13179 | "pako": { | 13568 | "pako": { |
| 13180 | "version": "1.0.11", | 13569 | "version": "1.0.11", |
| 13181 | "resolved": "https://registry.npm.taobao.org/pako/download/pako-1.0.11.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpako%2Fdownload%2Fpako-1.0.11.tgz", | 13570 | "resolved": "https://registry.npm.taobao.org/pako/download/pako-1.0.11.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpako%2Fdownload%2Fpako-1.0.11.tgz", |
| 13182 | - "integrity": "sha1-bJWZ00DVTf05RjgCUqNXBaa5kr8=", | 13571 | + "integrity": "sha1-bJWZ00DVTf05RjgCUqNXBaa5kr8=" |
| 13183 | - "dev": true | ||
| 13184 | }, | 13572 | }, |
| 13185 | "parallel-transform": { | 13573 | "parallel-transform": { |
| 13186 | "version": "1.2.0", | 13574 | "version": "1.2.0", |
| ... | @@ -13252,8 +13640,7 @@ | ... | @@ -13252,8 +13640,7 @@ |
| 13252 | "parseurl": { | 13640 | "parseurl": { |
| 13253 | "version": "1.3.3", | 13641 | "version": "1.3.3", |
| 13254 | "resolved": "https://registry.npm.taobao.org/parseurl/download/parseurl-1.3.3.tgz", | 13642 | "resolved": "https://registry.npm.taobao.org/parseurl/download/parseurl-1.3.3.tgz", |
| 13255 | - "integrity": "sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ=", | 13643 | + "integrity": "sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ=" |
| 13256 | - "dev": true | ||
| 13257 | }, | 13644 | }, |
| 13258 | "pascal-case": { | 13645 | "pascal-case": { |
| 13259 | "version": "2.0.1", | 13646 | "version": "2.0.1", |
| ... | @@ -13343,8 +13730,7 @@ | ... | @@ -13343,8 +13730,7 @@ |
| 13343 | "path-to-regexp": { | 13730 | "path-to-regexp": { |
| 13344 | "version": "0.1.7", | 13731 | "version": "0.1.7", |
| 13345 | "resolved": "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz", | 13732 | "resolved": "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz", |
| 13346 | - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", | 13733 | + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" |
| 13347 | - "dev": true | ||
| 13348 | }, | 13734 | }, |
| 13349 | "path-type": { | 13735 | "path-type": { |
| 13350 | "version": "1.1.0", | 13736 | "version": "1.1.0", |
| ... | @@ -13803,13 +14189,19 @@ | ... | @@ -13803,13 +14189,19 @@ |
| 13803 | "optional": true | 14189 | "optional": true |
| 13804 | }, | 14190 | }, |
| 13805 | "proxy-addr": { | 14191 | "proxy-addr": { |
| 13806 | - "version": "2.0.5", | 14192 | + "version": "2.0.6", |
| 13807 | - "resolved": "https://registry.npm.taobao.org/proxy-addr/download/proxy-addr-2.0.5.tgz", | 14193 | + "resolved": "https://registry.npm.taobao.org/proxy-addr/download/proxy-addr-2.0.6.tgz?cache=0&sync_timestamp=1582528781064&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fproxy-addr%2Fdownload%2Fproxy-addr-2.0.6.tgz", |
| 13808 | - "integrity": "sha1-NMvWSi2B9LH9IedvnwbIpFKZ7jQ=", | 14194 | + "integrity": "sha1-/cIzZQVEfT8vLGOO0nLK9hS7sr8=", |
| 13809 | - "dev": true, | ||
| 13810 | "requires": { | 14195 | "requires": { |
| 13811 | "forwarded": "~0.1.2", | 14196 | "forwarded": "~0.1.2", |
| 13812 | - "ipaddr.js": "1.9.0" | 14197 | + "ipaddr.js": "1.9.1" |
| 14198 | + }, | ||
| 14199 | + "dependencies": { | ||
| 14200 | + "ipaddr.js": { | ||
| 14201 | + "version": "1.9.1", | ||
| 14202 | + "resolved": "https://registry.npm.taobao.org/ipaddr.js/download/ipaddr.js-1.9.1.tgz", | ||
| 14203 | + "integrity": "sha1-v/OFQ+64mEglB5/zoqjmy9RngbM=" | ||
| 14204 | + } | ||
| 13813 | } | 14205 | } |
| 13814 | }, | 14206 | }, |
| 13815 | "proxy-agent": { | 14207 | "proxy-agent": { |
| ... | @@ -14004,14 +14396,12 @@ | ... | @@ -14004,14 +14396,12 @@ |
| 14004 | "range-parser": { | 14396 | "range-parser": { |
| 14005 | "version": "1.2.1", | 14397 | "version": "1.2.1", |
| 14006 | "resolved": "https://registry.npm.taobao.org/range-parser/download/range-parser-1.2.1.tgz", | 14398 | "resolved": "https://registry.npm.taobao.org/range-parser/download/range-parser-1.2.1.tgz", |
| 14007 | - "integrity": "sha1-PPNwI9GZ4cJNGlW4SADC8+ZGgDE=", | 14399 | + "integrity": "sha1-PPNwI9GZ4cJNGlW4SADC8+ZGgDE=" |
| 14008 | - "dev": true | ||
| 14009 | }, | 14400 | }, |
| 14010 | "raw-body": { | 14401 | "raw-body": { |
| 14011 | "version": "2.4.0", | 14402 | "version": "2.4.0", |
| 14012 | "resolved": "https://registry.npm.taobao.org/raw-body/download/raw-body-2.4.0.tgz", | 14403 | "resolved": "https://registry.npm.taobao.org/raw-body/download/raw-body-2.4.0.tgz", |
| 14013 | "integrity": "sha1-oc5vucm8NWylLoklarWQWeE9AzI=", | 14404 | "integrity": "sha1-oc5vucm8NWylLoklarWQWeE9AzI=", |
| 14014 | - "dev": true, | ||
| 14015 | "requires": { | 14405 | "requires": { |
| 14016 | "bytes": "3.1.0", | 14406 | "bytes": "3.1.0", |
| 14017 | "http-errors": "1.7.2", | 14407 | "http-errors": "1.7.2", |
| ... | @@ -14023,7 +14413,6 @@ | ... | @@ -14023,7 +14413,6 @@ |
| 14023 | "version": "0.4.24", | 14413 | "version": "0.4.24", |
| 14024 | "resolved": "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.24.tgz", | 14414 | "resolved": "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.24.tgz", |
| 14025 | "integrity": "sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=", | 14415 | "integrity": "sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=", |
| 14026 | - "dev": true, | ||
| 14027 | "requires": { | 14416 | "requires": { |
| 14028 | "safer-buffer": ">= 2.1.2 < 3" | 14417 | "safer-buffer": ">= 2.1.2 < 3" |
| 14029 | } | 14418 | } |
| ... | @@ -14939,8 +15328,7 @@ | ... | @@ -14939,8 +15328,7 @@ |
| 14939 | "safe-buffer": { | 15328 | "safe-buffer": { |
| 14940 | "version": "5.1.2", | 15329 | "version": "5.1.2", |
| 14941 | "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz", | 15330 | "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz", |
| 14942 | - "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=", | 15331 | + "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=" |
| 14943 | - "dev": true | ||
| 14944 | }, | 15332 | }, |
| 14945 | "safe-regex": { | 15333 | "safe-regex": { |
| 14946 | "version": "1.1.0", | 15334 | "version": "1.1.0", |
| ... | @@ -14954,8 +15342,7 @@ | ... | @@ -14954,8 +15342,7 @@ |
| 14954 | "safer-buffer": { | 15342 | "safer-buffer": { |
| 14955 | "version": "2.1.2", | 15343 | "version": "2.1.2", |
| 14956 | "resolved": "https://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsafer-buffer%2Fdownload%2Fsafer-buffer-2.1.2.tgz", | 15344 | "resolved": "https://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsafer-buffer%2Fdownload%2Fsafer-buffer-2.1.2.tgz", |
| 14957 | - "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=", | 15345 | + "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=" |
| 14958 | - "dev": true | ||
| 14959 | }, | 15346 | }, |
| 14960 | "sanitize-filename": { | 15347 | "sanitize-filename": { |
| 14961 | "version": "1.6.3", | 15348 | "version": "1.6.3", |
| ... | @@ -15089,8 +15476,7 @@ | ... | @@ -15089,8 +15476,7 @@ |
| 15089 | "sax": { | 15476 | "sax": { |
| 15090 | "version": "1.2.4", | 15477 | "version": "1.2.4", |
| 15091 | "resolved": "https://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz", | 15478 | "resolved": "https://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz", |
| 15092 | - "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=", | 15479 | + "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=" |
| 15093 | - "dev": true | ||
| 15094 | }, | 15480 | }, |
| 15095 | "schema-utils": { | 15481 | "schema-utils": { |
| 15096 | "version": "1.0.0", | 15482 | "version": "1.0.0", |
| ... | @@ -15173,7 +15559,6 @@ | ... | @@ -15173,7 +15559,6 @@ |
| 15173 | "version": "0.17.1", | 15559 | "version": "0.17.1", |
| 15174 | "resolved": "https://registry.npm.taobao.org/send/download/send-0.17.1.tgz", | 15560 | "resolved": "https://registry.npm.taobao.org/send/download/send-0.17.1.tgz", |
| 15175 | "integrity": "sha1-wdiwWfeQD3Rm3Uk4vcROEd2zdsg=", | 15561 | "integrity": "sha1-wdiwWfeQD3Rm3Uk4vcROEd2zdsg=", |
| 15176 | - "dev": true, | ||
| 15177 | "requires": { | 15562 | "requires": { |
| 15178 | "debug": "2.6.9", | 15563 | "debug": "2.6.9", |
| 15179 | "depd": "~1.1.2", | 15564 | "depd": "~1.1.2", |
| ... | @@ -15194,7 +15579,6 @@ | ... | @@ -15194,7 +15579,6 @@ |
| 15194 | "version": "2.6.9", | 15579 | "version": "2.6.9", |
| 15195 | "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz", | 15580 | "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz", |
| 15196 | "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", | 15581 | "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", |
| 15197 | - "dev": true, | ||
| 15198 | "requires": { | 15582 | "requires": { |
| 15199 | "ms": "2.0.0" | 15583 | "ms": "2.0.0" |
| 15200 | }, | 15584 | }, |
| ... | @@ -15202,22 +15586,19 @@ | ... | @@ -15202,22 +15586,19 @@ |
| 15202 | "ms": { | 15586 | "ms": { |
| 15203 | "version": "2.0.0", | 15587 | "version": "2.0.0", |
| 15204 | "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz", | 15588 | "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz", |
| 15205 | - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", | 15589 | + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" |
| 15206 | - "dev": true | ||
| 15207 | } | 15590 | } |
| 15208 | } | 15591 | } |
| 15209 | }, | 15592 | }, |
| 15210 | "mime": { | 15593 | "mime": { |
| 15211 | "version": "1.6.0", | 15594 | "version": "1.6.0", |
| 15212 | "resolved": "https://registry.npm.taobao.org/mime/download/mime-1.6.0.tgz?cache=0&sync_timestamp=1560034758817&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime%2Fdownload%2Fmime-1.6.0.tgz", | 15595 | "resolved": "https://registry.npm.taobao.org/mime/download/mime-1.6.0.tgz?cache=0&sync_timestamp=1560034758817&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime%2Fdownload%2Fmime-1.6.0.tgz", |
| 15213 | - "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=", | 15596 | + "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=" |
| 15214 | - "dev": true | ||
| 15215 | }, | 15597 | }, |
| 15216 | "ms": { | 15598 | "ms": { |
| 15217 | "version": "2.1.1", | 15599 | "version": "2.1.1", |
| 15218 | "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.1.tgz", | 15600 | "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.1.1.tgz", |
| 15219 | - "integrity": "sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo=", | 15601 | + "integrity": "sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo=" |
| 15220 | - "dev": true | ||
| 15221 | } | 15602 | } |
| 15222 | } | 15603 | } |
| 15223 | }, | 15604 | }, |
| ... | @@ -15301,7 +15682,6 @@ | ... | @@ -15301,7 +15682,6 @@ |
| 15301 | "version": "1.14.1", | 15682 | "version": "1.14.1", |
| 15302 | "resolved": "https://registry.npm.taobao.org/serve-static/download/serve-static-1.14.1.tgz", | 15683 | "resolved": "https://registry.npm.taobao.org/serve-static/download/serve-static-1.14.1.tgz", |
| 15303 | "integrity": "sha1-Zm5jbcTwEPfvKZcKiKZ0MgiYsvk=", | 15684 | "integrity": "sha1-Zm5jbcTwEPfvKZcKiKZ0MgiYsvk=", |
| 15304 | - "dev": true, | ||
| 15305 | "requires": { | 15685 | "requires": { |
| 15306 | "encodeurl": "~1.0.2", | 15686 | "encodeurl": "~1.0.2", |
| 15307 | "escape-html": "~1.0.3", | 15687 | "escape-html": "~1.0.3", |
| ... | @@ -15353,8 +15733,7 @@ | ... | @@ -15353,8 +15733,7 @@ |
| 15353 | "setprototypeof": { | 15733 | "setprototypeof": { |
| 15354 | "version": "1.1.1", | 15734 | "version": "1.1.1", |
| 15355 | "resolved": "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.1.tgz", | 15735 | "resolved": "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.1.tgz", |
| 15356 | - "integrity": "sha1-fpWsskqpL1iF4KvvW6ExMw1K5oM=", | 15736 | + "integrity": "sha1-fpWsskqpL1iF4KvvW6ExMw1K5oM=" |
| 15357 | - "dev": true | ||
| 15358 | }, | 15737 | }, |
| 15359 | "sha.js": { | 15738 | "sha.js": { |
| 15360 | "version": "2.4.11", | 15739 | "version": "2.4.11", |
| ... | @@ -15989,8 +16368,7 @@ | ... | @@ -15989,8 +16368,7 @@ |
| 15989 | "sprintf-js": { | 16368 | "sprintf-js": { |
| 15990 | "version": "1.0.3", | 16369 | "version": "1.0.3", |
| 15991 | "resolved": "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsprintf-js%2Fdownload%2Fsprintf-js-1.0.3.tgz", | 16370 | "resolved": "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsprintf-js%2Fdownload%2Fsprintf-js-1.0.3.tgz", |
| 15992 | - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", | 16371 | + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" |
| 15993 | - "dev": true | ||
| 15994 | }, | 16372 | }, |
| 15995 | "sshpk": { | 16373 | "sshpk": { |
| 15996 | "version": "1.16.1", | 16374 | "version": "1.16.1", |
| ... | @@ -16111,8 +16489,7 @@ | ... | @@ -16111,8 +16489,7 @@ |
| 16111 | "statuses": { | 16489 | "statuses": { |
| 16112 | "version": "1.5.0", | 16490 | "version": "1.5.0", |
| 16113 | "resolved": "https://registry.npm.taobao.org/statuses/download/statuses-1.5.0.tgz", | 16491 | "resolved": "https://registry.npm.taobao.org/statuses/download/statuses-1.5.0.tgz", |
| 16114 | - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", | 16492 | + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" |
| 16115 | - "dev": true | ||
| 16116 | }, | 16493 | }, |
| 16117 | "stdout-stream": { | 16494 | "stdout-stream": { |
| 16118 | "version": "1.4.1", | 16495 | "version": "1.4.1", |
| ... | @@ -17262,8 +17639,7 @@ | ... | @@ -17262,8 +17639,7 @@ |
| 17262 | "toidentifier": { | 17639 | "toidentifier": { |
| 17263 | "version": "1.0.0", | 17640 | "version": "1.0.0", |
| 17264 | "resolved": "https://registry.npm.taobao.org/toidentifier/download/toidentifier-1.0.0.tgz", | 17641 | "resolved": "https://registry.npm.taobao.org/toidentifier/download/toidentifier-1.0.0.tgz", |
| 17265 | - "integrity": "sha1-fhvjRw8ed5SLxD2Uo8j013UrpVM=", | 17642 | + "integrity": "sha1-fhvjRw8ed5SLxD2Uo8j013UrpVM=" |
| 17266 | - "dev": true | ||
| 17267 | }, | 17643 | }, |
| 17268 | "toposort": { | 17644 | "toposort": { |
| 17269 | "version": "1.0.7", | 17645 | "version": "1.0.7", |
| ... | @@ -17397,7 +17773,6 @@ | ... | @@ -17397,7 +17773,6 @@ |
| 17397 | "version": "1.6.18", | 17773 | "version": "1.6.18", |
| 17398 | "resolved": "https://registry.npm.taobao.org/type-is/download/type-is-1.6.18.tgz", | 17774 | "resolved": "https://registry.npm.taobao.org/type-is/download/type-is-1.6.18.tgz", |
| 17399 | "integrity": "sha1-TlUs0F3wlGfcvE73Od6J8s83wTE=", | 17775 | "integrity": "sha1-TlUs0F3wlGfcvE73Od6J8s83wTE=", |
| 17400 | - "dev": true, | ||
| 17401 | "requires": { | 17776 | "requires": { |
| 17402 | "media-typer": "0.3.0", | 17777 | "media-typer": "0.3.0", |
| 17403 | "mime-types": "~2.1.24" | 17778 | "mime-types": "~2.1.24" |
| ... | @@ -17509,14 +17884,12 @@ | ... | @@ -17509,14 +17884,12 @@ |
| 17509 | "universalify": { | 17884 | "universalify": { |
| 17510 | "version": "0.1.2", | 17885 | "version": "0.1.2", |
| 17511 | "resolved": "https://registry.npm.taobao.org/universalify/download/universalify-0.1.2.tgz", | 17886 | "resolved": "https://registry.npm.taobao.org/universalify/download/universalify-0.1.2.tgz", |
| 17512 | - "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=", | 17887 | + "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=" |
| 17513 | - "dev": true | ||
| 17514 | }, | 17888 | }, |
| 17515 | "unpipe": { | 17889 | "unpipe": { |
| 17516 | "version": "1.0.0", | 17890 | "version": "1.0.0", |
| 17517 | "resolved": "https://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz", | 17891 | "resolved": "https://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz", |
| 17518 | - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", | 17892 | + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" |
| 17519 | - "dev": true | ||
| 17520 | }, | 17893 | }, |
| 17521 | "unset-value": { | 17894 | "unset-value": { |
| 17522 | "version": "1.0.0", | 17895 | "version": "1.0.0", |
| ... | @@ -17878,8 +18251,7 @@ | ... | @@ -17878,8 +18251,7 @@ |
| 17878 | "utils-merge": { | 18251 | "utils-merge": { |
| 17879 | "version": "1.0.1", | 18252 | "version": "1.0.1", |
| 17880 | "resolved": "https://registry.npm.taobao.org/utils-merge/download/utils-merge-1.0.1.tgz", | 18253 | "resolved": "https://registry.npm.taobao.org/utils-merge/download/utils-merge-1.0.1.tgz", |
| 17881 | - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", | 18254 | + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" |
| 17882 | - "dev": true | ||
| 17883 | }, | 18255 | }, |
| 17884 | "uuid": { | 18256 | "uuid": { |
| 17885 | "version": "3.3.3", | 18257 | "version": "3.3.3", |
| ... | @@ -17913,8 +18285,7 @@ | ... | @@ -17913,8 +18285,7 @@ |
| 17913 | "vary": { | 18285 | "vary": { |
| 17914 | "version": "1.1.2", | 18286 | "version": "1.1.2", |
| 17915 | "resolved": "https://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz", | 18287 | "resolved": "https://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz", |
| 17916 | - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", | 18288 | + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" |
| 17917 | - "dev": true | ||
| 17918 | }, | 18289 | }, |
| 17919 | "verror": { | 18290 | "verror": { |
| 17920 | "version": "1.10.0", | 18291 | "version": "1.10.0", |
| ... | @@ -19384,6 +19755,37 @@ | ... | @@ -19384,6 +19755,37 @@ |
| 19384 | "signal-exit": "^3.0.2" | 19755 | "signal-exit": "^3.0.2" |
| 19385 | } | 19756 | } |
| 19386 | }, | 19757 | }, |
| 19758 | + "write-json-file": { | ||
| 19759 | + "version": "2.3.0", | ||
| 19760 | + "resolved": "https://registry.npm.taobao.org/write-json-file/download/write-json-file-2.3.0.tgz", | ||
| 19761 | + "integrity": "sha1-K2TIozAE1UuGmMdtWFp3zrYdoy8=", | ||
| 19762 | + "dev": true, | ||
| 19763 | + "requires": { | ||
| 19764 | + "detect-indent": "^5.0.0", | ||
| 19765 | + "graceful-fs": "^4.1.2", | ||
| 19766 | + "make-dir": "^1.0.0", | ||
| 19767 | + "pify": "^3.0.0", | ||
| 19768 | + "sort-keys": "^2.0.0", | ||
| 19769 | + "write-file-atomic": "^2.0.0" | ||
| 19770 | + }, | ||
| 19771 | + "dependencies": { | ||
| 19772 | + "detect-indent": { | ||
| 19773 | + "version": "5.0.0", | ||
| 19774 | + "resolved": "https://registry.npm.taobao.org/detect-indent/download/detect-indent-5.0.0.tgz", | ||
| 19775 | + "integrity": "sha1-OHHMCmoALow+Wzz38zYmRnXwa50=", | ||
| 19776 | + "dev": true | ||
| 19777 | + }, | ||
| 19778 | + "sort-keys": { | ||
| 19779 | + "version": "2.0.0", | ||
| 19780 | + "resolved": "https://registry.npm.taobao.org/sort-keys/download/sort-keys-2.0.0.tgz", | ||
| 19781 | + "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", | ||
| 19782 | + "dev": true, | ||
| 19783 | + "requires": { | ||
| 19784 | + "is-plain-obj": "^1.0.0" | ||
| 19785 | + } | ||
| 19786 | + } | ||
| 19787 | + } | ||
| 19788 | + }, | ||
| 19387 | "ws": { | 19789 | "ws": { |
| 19388 | "version": "3.3.3", | 19790 | "version": "3.3.3", |
| 19389 | "resolved": "https://registry.npm.taobao.org/ws/download/ws-3.3.3.tgz", | 19791 | "resolved": "https://registry.npm.taobao.org/ws/download/ws-3.3.3.tgz", | ... | ... |
| ... | @@ -62,7 +62,9 @@ | ... | @@ -62,7 +62,9 @@ |
| 62 | "dependencies": { | 62 | "dependencies": { |
| 63 | "axios": "^0.19.2", | 63 | "axios": "^0.19.2", |
| 64 | "date-fns": "^2.12.0", | 64 | "date-fns": "^2.12.0", |
| 65 | + "electron-updater": "^4.2.5", | ||
| 65 | "element-ui": "^2.13.0", | 66 | "element-ui": "^2.13.0", |
| 67 | + "express": "^4.17.1", | ||
| 66 | "js-cookie": "^2.2.1", | 68 | "js-cookie": "^2.2.1", |
| 67 | "nedb": "^1.8.0", | 69 | "nedb": "^1.8.0", |
| 68 | "nprogress": "^0.2.0", | 70 | "nprogress": "^0.2.0", |
| ... | @@ -78,6 +80,7 @@ | ... | @@ -78,6 +80,7 @@ |
| 78 | "babel-core": "^6.26.3", | 80 | "babel-core": "^6.26.3", |
| 79 | "babel-eslint": "^8.2.3", | 81 | "babel-eslint": "^8.2.3", |
| 80 | "babel-loader": "^7.1.5", | 82 | "babel-loader": "^7.1.5", |
| 83 | + "babel-minify-webpack-plugin": "^0.3.1", | ||
| 81 | "babel-plugin-dynamic-import-webpack": "^1.1.0", | 84 | "babel-plugin-dynamic-import-webpack": "^1.1.0", |
| 82 | "babel-plugin-istanbul": "^5.2.0", | 85 | "babel-plugin-istanbul": "^5.2.0", |
| 83 | "babel-plugin-transform-runtime": "^6.23.0", | 86 | "babel-plugin-transform-runtime": "^6.23.0", |
| ... | @@ -108,6 +111,8 @@ | ... | @@ -108,6 +111,8 @@ |
| 108 | "eslint-plugin-promise": "^3.8.0", | 111 | "eslint-plugin-promise": "^3.8.0", |
| 109 | "eslint-plugin-standard": "^3.1.0", | 112 | "eslint-plugin-standard": "^3.1.0", |
| 110 | "file-loader": "^6.0.0", | 113 | "file-loader": "^6.0.0", |
| 114 | + "happypack": "^5.0.1", | ||
| 115 | + "hard-source-webpack-plugin": "^0.13.1", | ||
| 111 | "html-webpack-plugin": "^3.2.0", | 116 | "html-webpack-plugin": "^3.2.0", |
| 112 | "inject-loader": "^4.0.1", | 117 | "inject-loader": "^4.0.1", |
| 113 | "karma": "^2.0.2", | 118 | "karma": "^2.0.2", |
| ... | @@ -123,6 +128,7 @@ | ... | @@ -123,6 +128,7 @@ |
| 123 | "multispinner": "^0.2.1", | 128 | "multispinner": "^0.2.1", |
| 124 | "node-loader": "^0.6.0", | 129 | "node-loader": "^0.6.0", |
| 125 | "node-sass": "^4.13.1", | 130 | "node-sass": "^4.13.1", |
| 131 | + "portfinder": "^1.0.25", | ||
| 126 | "require-dir": "^1.2.0", | 132 | "require-dir": "^1.2.0", |
| 127 | "sass-loader": "^8.0.2", | 133 | "sass-loader": "^8.0.2", |
| 128 | "spectron": "^3.8.0", | 134 | "spectron": "^3.8.0", | ... | ... |
| ... | @@ -16,6 +16,7 @@ | ... | @@ -16,6 +16,7 @@ |
| 16 | <% if (!process.browser) { %> | 16 | <% if (!process.browser) { %> |
| 17 | <script> | 17 | <script> |
| 18 | if (process.env.NODE_ENV !== 'development') window.__static = require('path').join(__dirname, '/static').replace(/\\/g, '\\\\') | 18 | if (process.env.NODE_ENV !== 'development') window.__static = require('path').join(__dirname, '/static').replace(/\\/g, '\\\\') |
| 19 | + if (process.env.NODE_ENV !== 'development') window.__lib = require('path').join(__dirname,'..','..','..','..',`${require('../config/index.js').DllFolder}`).replace(/\\/g, '\\\\') | ||
| 19 | </script> | 20 | </script> |
| 20 | <% } %> | 21 | <% } %> |
| 21 | 22 | ... | ... |
src/main/config/DisableButton.js
0 → 100644
| 1 | // 这里是定义菜单的地方,详情请查看 https://electronjs.org/docs/api/menu | 1 | // 这里是定义菜单的地方,详情请查看 https://electronjs.org/docs/api/menu |
| 2 | const { dialog } = require('electron') | 2 | const { dialog } = require('electron') |
| 3 | -const menu = [{ | 3 | +const os = require('os') |
| 4 | - label: '文档操作', | 4 | +const version = require('../../../package.json').version |
| 5 | - submenu: [{ | 5 | +const menu = [ |
| 6 | - label: '撤销', | 6 | + { |
| 7 | - accelerator: 'CmdOrCtrl+Z', | ||
| 8 | - role: 'undo' | ||
| 9 | - }, { | ||
| 10 | - label: '复制', | ||
| 11 | - accelerator: 'CmdOrCtrl+C', | ||
| 12 | - role: 'copy' | ||
| 13 | - }] | ||
| 14 | -}, | ||
| 15 | -{ | ||
| 16 | label: '设置', | 7 | label: '设置', |
| 17 | submenu: [{ | 8 | submenu: [{ |
| 18 | label: '快速重启', | 9 | label: '快速重启', |
| ... | @@ -23,22 +14,24 @@ const menu = [{ | ... | @@ -23,22 +14,24 @@ const menu = [{ |
| 23 | accelerator: 'CmdOrCtrl+F4', | 14 | accelerator: 'CmdOrCtrl+F4', |
| 24 | role: 'close' | 15 | role: 'close' |
| 25 | }] | 16 | }] |
| 26 | -}, { | 17 | + }, { |
| 27 | label: '帮助', | 18 | label: '帮助', |
| 28 | submenu: [{ | 19 | submenu: [{ |
| 29 | - label: '切换到开发者模式', | ||
| 30 | - accelerator: 'CmdOrCtrl+I', | ||
| 31 | - role: 'toggledevtools' | ||
| 32 | - }, { | ||
| 33 | label: '关于', | 20 | label: '关于', |
| 34 | role: 'about', | 21 | role: 'about', |
| 35 | click: function () { | 22 | click: function () { |
| 23 | + info() | ||
| 24 | + } | ||
| 25 | + }] | ||
| 26 | + }] | ||
| 27 | +function info () { | ||
| 36 | dialog.showMessageBox({ | 28 | dialog.showMessageBox({ |
| 37 | title: '关于', | 29 | title: '关于', |
| 38 | type: 'info', | 30 | type: 'info', |
| 39 | - message: '存放显示这个的信息是在,src/main/menu.js中,请自行修改' | 31 | + message: 'electron-Vue框架', |
| 32 | + detail: `版本信息:${version}\n引擎版本:${process.versions.v8}\n当前系统:${os.type()} ${os.arch()} ${os.release()}`, | ||
| 33 | + noLink: true, | ||
| 34 | + buttons: ['查看github', '确定'] | ||
| 40 | }) | 35 | }) |
| 41 | - } | 36 | +} |
| 42 | - }] | ||
| 43 | -}] | ||
| 44 | export default menu | 37 | export default menu | ... | ... |
src/main/index.dev.js
deleted
100644 → 0
| 1 | -/** | ||
| 2 | - * This file is used specifically and only for development. It installs | ||
| 3 | - * `electron-debug` & `vue-devtools`. There shouldn't be any need to | ||
| 4 | - * modify this file, but it can be used to extend your development | ||
| 5 | - * environment. | ||
| 6 | - */ | ||
| 7 | - | ||
| 8 | -/* eslint-disable */ | ||
| 9 | - | ||
| 10 | -// Install `electron-debug` with `devtron` | ||
| 11 | -require('electron-debug')({ showDevTools: true }) | ||
| 12 | - | ||
| 13 | -// Install `vue-devtools` | ||
| 14 | -require('electron').app.on('ready', () => { | ||
| 15 | - let installExtension = require('electron-devtools-installer') | ||
| 16 | - installExtension.default(installExtension.VUEJS_DEVTOOLS) | ||
| 17 | - .then(() => {}) | ||
| 18 | - .catch(err => { | ||
| 19 | - console.log('Unable to install `vue-devtools`: \n', err) | ||
| 20 | - }) | ||
| 21 | -}) | ||
| 22 | - | ||
| 23 | -// Require `main` process to boot app | ||
| 24 | -require('./index') | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| 1 | 'use strict' | 1 | 'use strict' |
| 2 | 2 | ||
| 3 | -import { | 3 | +import { app } from 'electron' |
| 4 | - app, | 4 | +import initWindow from './services/windowManager' |
| 5 | - BrowserWindow, | 5 | +import DisableButton from './config/DisableButton' |
| 6 | - Menu | ||
| 7 | -} from 'electron' | ||
| 8 | -import menuconfig from './menu' | ||
| 9 | 6 | ||
| 10 | -/** | 7 | +function onAppReady () { |
| 11 | - * Set `__static` path to static files in production | 8 | + initWindow() |
| 12 | - * https://simulatedgreg.gitbooks.io/electron-vue/content/en/using-static-assets.html | 9 | + DisableButton.Disablef12() |
| 13 | - */ | ||
| 14 | -if (process.env.NODE_ENV !== 'development') { | ||
| 15 | - global.__static = require('path').join(__dirname, '/static').replace(/\\/g, '\\\\') | ||
| 16 | } | 10 | } |
| 17 | 11 | ||
| 18 | -let mainWindow | 12 | +app.isReady() ? onAppReady() : app.on('ready', onAppReady) |
| 19 | -const winURL = process.env.NODE_ENV === 'development' | ||
| 20 | - ? `http://localhost:9080` | ||
| 21 | - : `file://${__dirname}/index.html` | ||
| 22 | - | ||
| 23 | -function createWindow () { | ||
| 24 | - /** | ||
| 25 | - * Initial window options | ||
| 26 | - */ | ||
| 27 | - mainWindow = new BrowserWindow({ | ||
| 28 | - height: 563, | ||
| 29 | - useContentSize: true, | ||
| 30 | - width: 1000, | ||
| 31 | - show: false, | ||
| 32 | - backgroundColor: '#fffff', | ||
| 33 | - titleBarStyle: 'hidden', | ||
| 34 | - webPreferences: { | ||
| 35 | - nodeIntegration: true, | ||
| 36 | - webSecurity: false, | ||
| 37 | - experimentalFeatures: true | ||
| 38 | - } | ||
| 39 | - // 隐藏边框 | ||
| 40 | - // frame: false, | ||
| 41 | - }) | ||
| 42 | - | ||
| 43 | - mainWindow.once('ready-to-show', () => { | ||
| 44 | - mainWindow.show() | ||
| 45 | - }) | ||
| 46 | - | ||
| 47 | - const menu = Menu.buildFromTemplate(menuconfig) | ||
| 48 | - Menu.setApplicationMenu(menu) | ||
| 49 | - mainWindow.loadURL(winURL) | ||
| 50 | - | ||
| 51 | - mainWindow.on('closed', () => { | ||
| 52 | - mainWindow = null | ||
| 53 | - }) | ||
| 54 | -} | ||
| 55 | - | ||
| 56 | -app.on('ready', createWindow) | ||
| 57 | 13 | ||
| 58 | app.on('window-all-closed', () => { | 14 | app.on('window-all-closed', () => { |
| 59 | if (process.platform !== 'darwin') { | 15 | if (process.platform !== 'darwin') { |
| 60 | app.quit() | 16 | app.quit() |
| 61 | } | 17 | } |
| 62 | }) | 18 | }) |
| 63 | - | 19 | +app.on('browser-window-created', () => { |
| 64 | -app.on('activate', () => { | 20 | + console.log('window-created') |
| 65 | - if (mainWindow === null) { | ||
| 66 | - createWindow() | ||
| 67 | - } | ||
| 68 | -}) | ||
| 69 | - | ||
| 70 | -/** | ||
| 71 | - * Auto Updater | ||
| 72 | - * | ||
| 73 | - * Uncomment the following code below and install `electron-updater` to | ||
| 74 | - * support auto updating. Code Signing with a valid certificate is required. | ||
| 75 | - * https://simulatedgreg.gitbooks.io/electron-vue/content/en/using-electron-builder.html#auto-updating | ||
| 76 | - */ | ||
| 77 | - | ||
| 78 | -/* | ||
| 79 | -import { autoUpdater } from 'electron-updater' | ||
| 80 | - | ||
| 81 | -autoUpdater.on('update-downloaded', () => { | ||
| 82 | - autoUpdater.quitAndInstall() | ||
| 83 | -}) | ||
| 84 | - | ||
| 85 | -app.on('ready', () => { | ||
| 86 | - if (process.env.NODE_ENV === 'production') autoUpdater.checkForUpdates() | ||
| 87 | }) | 21 | }) |
| 88 | - */ | ... | ... |
src/main/server/index.js
0 → 100644
| 1 | +/* eslint-disable prefer-promise-reject-errors */ | ||
| 2 | +import app from './server' | ||
| 3 | +import http from 'http' | ||
| 4 | +import config from '@config' | ||
| 5 | +const port = config.BuiltInServerPort | ||
| 6 | +app.set('port', port) | ||
| 7 | + | ||
| 8 | +export default { | ||
| 9 | + StatrServer () { | ||
| 10 | + return new Promise((resolve, reject) => { | ||
| 11 | + const server = http.createServer(app) | ||
| 12 | + server.listen(port) | ||
| 13 | + server.on('error', (error) => { | ||
| 14 | + switch (error.code) { | ||
| 15 | + case 'EACCES': | ||
| 16 | + reject('权限不足内置服务器启动失败,请使用管理员权限运行。') | ||
| 17 | + break | ||
| 18 | + case 'EADDRINUSE': | ||
| 19 | + reject('内置服务器端口已被占用,请检查。') | ||
| 20 | + break | ||
| 21 | + default: | ||
| 22 | + reject(error) | ||
| 23 | + } | ||
| 24 | + }) | ||
| 25 | + server.on('listening', () => { | ||
| 26 | + resolve('服务端运行中') | ||
| 27 | + }) | ||
| 28 | + }) | ||
| 29 | + } | ||
| 30 | +} |
src/main/server/server.js
0 → 100644
src/main/services/checkupdate.js
0 → 100644
| 1 | +import { autoUpdater } from 'electron-updater' | ||
| 2 | +import { ipcMain } from 'electron' | ||
| 3 | +/** | ||
| 4 | + * -1 检查更新失败 0 正在检查更新 1 检测到新版本,准备下载 2 未检测到新版本 3 下载中 4 下载完成 | ||
| 5 | + **/ | ||
| 6 | +function Message (mainWindow, type, data) { | ||
| 7 | + const senddata = { | ||
| 8 | + state: type, | ||
| 9 | + msg: data | ||
| 10 | + } | ||
| 11 | + mainWindow.webContents.send('UpdateMsg', senddata) | ||
| 12 | +} | ||
| 13 | + | ||
| 14 | +export default { | ||
| 15 | + Update (mainWindow) { | ||
| 16 | + // 设置地址要和package中的一样 | ||
| 17 | + autoUpdater.setFeedURL('http://127.0.0.1:25565/') | ||
| 18 | + | ||
| 19 | + // 当更新发生错误的时候触发。 | ||
| 20 | + autoUpdater.on('error', (err) => { | ||
| 21 | + console.log('更新出现错误') | ||
| 22 | + console.log(err.message) | ||
| 23 | + if (err.message.includes('sha512 checksum mismatch')) { | ||
| 24 | + Message(mainWindow, -1, 'sha512校验失败') | ||
| 25 | + } | ||
| 26 | + }) | ||
| 27 | + | ||
| 28 | + // 当开始检查更新的时候触发 | ||
| 29 | + autoUpdater.on('checking-for-update', (event, arg) => { | ||
| 30 | + console.log('开始检查更新') | ||
| 31 | + Message(mainWindow, 0) | ||
| 32 | + }) | ||
| 33 | + | ||
| 34 | + // 发现可更新数据时 | ||
| 35 | + autoUpdater.on('update-available', (event, arg) => { | ||
| 36 | + console.log('有更新') | ||
| 37 | + Message(mainWindow, 1) | ||
| 38 | + }) | ||
| 39 | + | ||
| 40 | + // 没有可更新数据时 | ||
| 41 | + autoUpdater.on('update-not-available', (event, arg) => { | ||
| 42 | + console.log('没有更新') | ||
| 43 | + Message(mainWindow, 2) | ||
| 44 | + }) | ||
| 45 | + | ||
| 46 | + // 下载监听 | ||
| 47 | + autoUpdater.on('download-progress', (progressObj) => { | ||
| 48 | + Message(mainWindow, 3, progressObj) | ||
| 49 | + }) | ||
| 50 | + | ||
| 51 | + // 下载完成 | ||
| 52 | + autoUpdater.on('update-downloaded', () => { | ||
| 53 | + console.log('下载完成') | ||
| 54 | + Message(mainWindow, 4) | ||
| 55 | + }) | ||
| 56 | + // 执行自动更新检查 | ||
| 57 | + ipcMain.on('check-update', () => { | ||
| 58 | + autoUpdater.checkForUpdates().catch(err => { | ||
| 59 | + console.log('网络连接问题', err) | ||
| 60 | + }) | ||
| 61 | + }) | ||
| 62 | + // 渲染进程执行更新操作 | ||
| 63 | + ipcMain.on('confirm-update', () => { | ||
| 64 | + autoUpdater.quitAndInstall() | ||
| 65 | + }) | ||
| 66 | + } | ||
| 67 | +} |
src/main/services/downloadFile.js
0 → 100644
| 1 | +/* eslint-disable no-case-declarations */ | ||
| 2 | +import { app, ipcMain, dialog } from 'electron' | ||
| 3 | +import path from 'path' | ||
| 4 | +import os from 'os' | ||
| 5 | +// 版本以package.json为基准。 | ||
| 6 | +const version = require('../../../package.json').version | ||
| 7 | +// 您的下载地址 | ||
| 8 | +const baseUrl = 'http://127.0.0.1:25565/' | ||
| 9 | +var Sysarch = null | ||
| 10 | +var defaultDownloadUrL = null | ||
| 11 | +// 识别操作系统位数D | ||
| 12 | +os.arch().includes('64') ? Sysarch = 'win64' : Sysarch = 'win32' | ||
| 13 | +// 识别操作系统 | ||
| 14 | +// linux自己修改后缀名哦,我没有linux就没有测试了 | ||
| 15 | +if (os.platform().includes('win32')) { | ||
| 16 | + defaultDownloadUrL = baseUrl + `electron_${version}_${Sysarch}.exe?${new Date().getTime()}` | ||
| 17 | +} else if (os.platform().includes('linux')) { | ||
| 18 | + defaultDownloadUrL = baseUrl + `electron_${version}_${Sysarch}?${new Date().getTime()}` | ||
| 19 | +} else { | ||
| 20 | + defaultDownloadUrL = baseUrl + `electron_${version}_mac.dmg?${new Date().getTime()}` | ||
| 21 | +} | ||
| 22 | +export default { | ||
| 23 | + download (mainWindow) { | ||
| 24 | + ipcMain.on('start-download', (event, msg) => { | ||
| 25 | + mainWindow.webContents.downloadURL(msg.downloadUrL || defaultDownloadUrL) | ||
| 26 | + event.reply('confirm-download', true) | ||
| 27 | + mainWindow.webContents.session.on('will-download', (event, item, webContents) => { | ||
| 28 | + // 将文件保存在系统的下载目录 | ||
| 29 | + const filePath = path.join(app.getPath('downloads'), item.getFilename()) | ||
| 30 | + // 自动保存 | ||
| 31 | + item.setSavePath(filePath) | ||
| 32 | + // 下载进度 | ||
| 33 | + item.on('updated', (event, state) => { | ||
| 34 | + switch (state) { | ||
| 35 | + case 'progressing': | ||
| 36 | + mainWindow.webContents.send('download-progress', (item.getReceivedBytes() / item.getTotalBytes() * 100).toFixed(0)) | ||
| 37 | + break | ||
| 38 | + case 'interrupted ': | ||
| 39 | + mainWindow.webContents.send('download-paused', true) | ||
| 40 | + break | ||
| 41 | + default: | ||
| 42 | + | ||
| 43 | + break | ||
| 44 | + } | ||
| 45 | + }) | ||
| 46 | + // 下载完成或失败 | ||
| 47 | + item.once('done', (event, state) => { | ||
| 48 | + switch (state) { | ||
| 49 | + case 'completed': | ||
| 50 | + const data = { | ||
| 51 | + filePath | ||
| 52 | + } | ||
| 53 | + mainWindow.webContents.send('download-done', data) | ||
| 54 | + break | ||
| 55 | + case 'interrupted': | ||
| 56 | + mainWindow.webContents.send('download-error', true) | ||
| 57 | + dialog.showErrorBox('下载出错', '由于网络或其他未知原因导致客户端下载出错,请前往官网进行重新安装') | ||
| 58 | + break | ||
| 59 | + default: | ||
| 60 | + break | ||
| 61 | + } | ||
| 62 | + }) | ||
| 63 | + }) | ||
| 64 | + }) | ||
| 65 | + } | ||
| 66 | +} |
src/main/services/ipcMain.js
0 → 100644
| 1 | +import { ipcMain, dialog } from 'electron' | ||
| 2 | +import Server from '../server/index' | ||
| 3 | +export default { | ||
| 4 | + Mainfunc (mainWindow, IsUseSysTitle) { | ||
| 5 | + ipcMain.on('IsUseSysTitle', (event) => { | ||
| 6 | + const data = IsUseSysTitle | ||
| 7 | + event.reply('CisUseSysTitle', data) | ||
| 8 | + }) | ||
| 9 | + ipcMain.on('windows-mini', () => { | ||
| 10 | + mainWindow.minimize() | ||
| 11 | + }) | ||
| 12 | + ipcMain.on('window-max', (event) => { | ||
| 13 | + if (mainWindow.isMaximized()) { | ||
| 14 | + event.reply('window-confirm', false) | ||
| 15 | + mainWindow.restore() | ||
| 16 | + } else { | ||
| 17 | + event.reply('window-confirm', true) | ||
| 18 | + mainWindow.maximize() | ||
| 19 | + } | ||
| 20 | + }) | ||
| 21 | + ipcMain.on('window-close', () => { | ||
| 22 | + mainWindow.close() | ||
| 23 | + }) | ||
| 24 | + ipcMain.on('open-messagebox', (event, arg) => { | ||
| 25 | + dialog.showMessageBox(mainWindow, { | ||
| 26 | + type: arg.type || 'info', | ||
| 27 | + title: arg.title || '', | ||
| 28 | + buttons: arg.buttons || [], | ||
| 29 | + message: arg.message || '', | ||
| 30 | + noLink: arg.noLink || true | ||
| 31 | + }).then(res => { | ||
| 32 | + event.reply('confirm-message', res) | ||
| 33 | + }) | ||
| 34 | + }) | ||
| 35 | + ipcMain.on('open-errorbox', (event, arg) => { | ||
| 36 | + dialog.showErrorBox( | ||
| 37 | + arg.title, | ||
| 38 | + arg.message | ||
| 39 | + ) | ||
| 40 | + }) | ||
| 41 | + ipcMain.on('statr-server', (event, arg) => { | ||
| 42 | + Server.StatrServer().then(res => { | ||
| 43 | + event.reply('confirm-start', res) | ||
| 44 | + }).catch(err => { | ||
| 45 | + dialog.showErrorBox( | ||
| 46 | + '错误', | ||
| 47 | + err | ||
| 48 | + ) | ||
| 49 | + }) | ||
| 50 | + }) | ||
| 51 | + } | ||
| 52 | +} |
src/main/services/windowManager.js
0 → 100644
| 1 | +import { BrowserWindow, Menu } from 'electron' | ||
| 2 | +import menuconfig from '../config/menu' | ||
| 3 | +import config from '@config' | ||
| 4 | +import setIpc from './ipcMain' | ||
| 5 | +import electronDevtoolsInstaller, { VUEJS_DEVTOOLS } from 'electron-devtools-installer' | ||
| 6 | +import upload from './checkupdate' | ||
| 7 | +import DownloadUpdate from './downloadFile' | ||
| 8 | +import path from 'path' | ||
| 9 | + | ||
| 10 | +/** | ||
| 11 | + * Set `__static` path to static files in production | ||
| 12 | + * https://simulatedgreg.gitbooks.io/electron-vue/content/en/using-static-assets.html | ||
| 13 | + */ | ||
| 14 | +// 这个瓜皮全局变量只能在单个js中生效,而并不是整个主进程中 | ||
| 15 | +if (process.env.NODE_ENV !== 'development') { | ||
| 16 | + global.__static = path.join(__dirname, '/static').replace(/\\/g, '\\\\') | ||
| 17 | +} | ||
| 18 | +// 将文件地址挪到这里 | ||
| 19 | +const winURL = process.env.NODE_ENV === 'development' ? `http://localhost:${process.env.PORT}` : `file://${__dirname}/index.html` | ||
| 20 | +const loadingURL = process.env.NODE_ENV === 'development' ? `http://localhost:${process.env.PORT}/static/loader.html` : `file://${__static}/loader.html` | ||
| 21 | +var loadWindow = null | ||
| 22 | +var mainWindow = null | ||
| 23 | + | ||
| 24 | +function createMainWindow () { | ||
| 25 | + /** | ||
| 26 | + * Initial window options | ||
| 27 | + */ | ||
| 28 | + mainWindow = new BrowserWindow({ | ||
| 29 | + height: 800, | ||
| 30 | + useContentSize: true, | ||
| 31 | + width: 1700, | ||
| 32 | + minWidth: 1366, | ||
| 33 | + show: false, | ||
| 34 | + frame: config.IsUseSysTitle, | ||
| 35 | + titleBarStyle: 'hidden', | ||
| 36 | + webPreferences: { | ||
| 37 | + nodeIntegration: true, | ||
| 38 | + webSecurity: false, | ||
| 39 | + // 如果是开发模式可以使用devTools | ||
| 40 | + devTools: process.env.NODE_ENV === 'development', | ||
| 41 | + // 在macos中启用橡皮动画 | ||
| 42 | + scrollBounce: process.platform === 'darwin' | ||
| 43 | + } | ||
| 44 | + }) | ||
| 45 | + // 这里设置只有开发环境才注入显示开发者模式 | ||
| 46 | + if (process.env.NODE_ENV === 'development') { | ||
| 47 | + menuconfig.push({ | ||
| 48 | + label: '开发者设置', | ||
| 49 | + submenu: [{ | ||
| 50 | + label: '切换到开发者模式', | ||
| 51 | + accelerator: 'CmdOrCtrl+I', | ||
| 52 | + role: 'toggledevtools' | ||
| 53 | + }] | ||
| 54 | + }) | ||
| 55 | + } | ||
| 56 | + // 载入菜单 | ||
| 57 | + const menu = Menu.buildFromTemplate(menuconfig) | ||
| 58 | + Menu.setApplicationMenu(menu) | ||
| 59 | + mainWindow.loadURL(winURL) | ||
| 60 | + | ||
| 61 | + setIpc.Mainfunc(mainWindow, config.IsUseSysTitle) | ||
| 62 | + upload.Update(mainWindow) | ||
| 63 | + DownloadUpdate.download(mainWindow) | ||
| 64 | + | ||
| 65 | + if (process.env.NODE_ENV === 'development') { | ||
| 66 | + mainWindow.webContents.once('dom-ready', () => { | ||
| 67 | + mainWindow.show() | ||
| 68 | + electronDevtoolsInstaller(VUEJS_DEVTOOLS) | ||
| 69 | + .then((name) => console.log(`installed: ${name}`)) | ||
| 70 | + .catch(err => console.log('Unable to install `vue-devtools`: \n', err)) | ||
| 71 | + loadWindow.destroy() | ||
| 72 | + }) | ||
| 73 | + mainWindow.webContents.openDevTools(true) | ||
| 74 | + } else { | ||
| 75 | + mainWindow.webContents.once('dom-ready', () => { | ||
| 76 | + mainWindow.show() | ||
| 77 | + loadWindow.destroy() | ||
| 78 | + }) | ||
| 79 | + } | ||
| 80 | + | ||
| 81 | + mainWindow.on('closed', () => { | ||
| 82 | + mainWindow = null | ||
| 83 | + }) | ||
| 84 | +} | ||
| 85 | + | ||
| 86 | +function loadindWindow () { | ||
| 87 | + loadWindow = new BrowserWindow({ | ||
| 88 | + width: 400, | ||
| 89 | + height: 600, | ||
| 90 | + frame: false, | ||
| 91 | + backgroundColor: '#222', | ||
| 92 | + transparent: true, | ||
| 93 | + webPreferences: { experimentalFeatures: true } | ||
| 94 | + }) | ||
| 95 | + | ||
| 96 | + loadWindow.loadURL(loadingURL) | ||
| 97 | + | ||
| 98 | + loadWindow.show() | ||
| 99 | + | ||
| 100 | + setTimeout(() => { | ||
| 101 | + createMainWindow() | ||
| 102 | + }, 2000) | ||
| 103 | + | ||
| 104 | + loadWindow.on('closed', () => { | ||
| 105 | + loadWindow = null | ||
| 106 | + }) | ||
| 107 | +} | ||
| 108 | + | ||
| 109 | +function initWindow () { | ||
| 110 | + if (config.UseStartupChart) { | ||
| 111 | + return loadindWindow() | ||
| 112 | + } else { | ||
| 113 | + return createMainWindow() | ||
| 114 | + } | ||
| 115 | +} | ||
| 116 | +export default initWindow |
| 1 | <template> | 1 | <template> |
| 2 | <div id="app"> | 2 | <div id="app"> |
| 3 | + <c-header></c-header> | ||
| 4 | + <transition name="fade" mode="out-in"> | ||
| 3 | <router-view></router-view> | 5 | <router-view></router-view> |
| 6 | + </transition> | ||
| 4 | </div> | 7 | </div> |
| 5 | </template> | 8 | </template> |
| 6 | 9 | ||
| 7 | <script> | 10 | <script> |
| 8 | - export default { | 11 | +import CHeader from "./components/title"; |
| 9 | - | 12 | +export default { |
| 10 | - } | 13 | + components: { CHeader } |
| 14 | +}; | ||
| 11 | </script> | 15 | </script> |
| 12 | 16 | ||
| 13 | <style> | 17 | <style> |
| 14 | - /* CSS */ | 18 | +/* CSS */ |
| 15 | </style> | 19 | </style> | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <div id="wrapper"> | 2 | <div id="wrapper"> |
| 3 | - <img id="logo" src="~@/assets/logo.png" alt="electron-vue" /> | 3 | + <img id="logo" :src="logo" alt="electron-vue" /> |
| 4 | <main> | 4 | <main> |
| 5 | <div class="left-side"> | 5 | <div class="left-side"> |
| 6 | <span class="title">欢迎进入本框架</span> | 6 | <span class="title">欢迎进入本框架</span> |
| ... | @@ -22,15 +22,39 @@ | ... | @@ -22,15 +22,39 @@ |
| 22 | <el-button type="primary" round @click="setdata">写入数据</el-button> | 22 | <el-button type="primary" round @click="setdata">写入数据</el-button> |
| 23 | <el-button type="primary" round @click="getdata">读取数据</el-button> | 23 | <el-button type="primary" round @click="getdata">读取数据</el-button> |
| 24 | <el-button type="primary" round @click="deledata">清除所有数据</el-button> | 24 | <el-button type="primary" round @click="deledata">清除所有数据</el-button> |
| 25 | + <el-button type="primary" round @click="CheckUpdate('one')">检查更新</el-button> | ||
| 26 | + </div> | ||
| 27 | + <div class="doc"> | ||
| 28 | + <el-button type="primary" round @click="CheckUpdate('two')">检查更新(第二种方法)</el-button> | ||
| 29 | + <el-button type="primary" round @click="StartServer">启动内置服务端</el-button> | ||
| 30 | + <el-button type="primary" round @click="getMessage">查看消息</el-button> | ||
| 25 | </div> | 31 | </div> |
| 26 | </div> | 32 | </div> |
| 27 | </main> | 33 | </main> |
| 34 | + <el-dialog | ||
| 35 | + title="进度" | ||
| 36 | + :visible.sync="dialogVisible" | ||
| 37 | + :before-close="handleClose" | ||
| 38 | + center | ||
| 39 | + width="14%" | ||
| 40 | + top="45vh" | ||
| 41 | + > | ||
| 42 | + <div class="conten"> | ||
| 43 | + <el-progress | ||
| 44 | + type="dashboard" | ||
| 45 | + :percentage="percentage" | ||
| 46 | + :color="colors" | ||
| 47 | + :status="progressStaus" | ||
| 48 | + ></el-progress> | ||
| 49 | + </div> | ||
| 50 | + </el-dialog> | ||
| 28 | </div> | 51 | </div> |
| 29 | </template> | 52 | </template> |
| 30 | 53 | ||
| 31 | <script> | 54 | <script> |
| 32 | import SystemInformation from "./LandingPage/SystemInformation"; | 55 | import SystemInformation from "./LandingPage/SystemInformation"; |
| 33 | -import api from "../tools/dialog"; | 56 | +import ipcApi from "../utils/ipcRenderer"; |
| 57 | +import { message } from "@/api/login"; | ||
| 34 | export default { | 58 | export default { |
| 35 | name: "landing-page", | 59 | name: "landing-page", |
| 36 | components: { SystemInformation }, | 60 | components: { SystemInformation }, |
| ... | @@ -40,12 +64,44 @@ export default { | ... | @@ -40,12 +64,44 @@ export default { |
| 40 | name: "yyy", | 64 | name: "yyy", |
| 41 | age: "12" | 65 | age: "12" |
| 42 | }, | 66 | }, |
| 43 | - textarray: [] | 67 | + logo: require("@/assets/logo.png"), |
| 68 | + textarray: [], | ||
| 69 | + percentage: 0, | ||
| 70 | + colors: [ | ||
| 71 | + { color: "#f56c6c", percentage: 20 }, | ||
| 72 | + { color: "#e6a23c", percentage: 40 }, | ||
| 73 | + { color: "#6f7ad3", percentage: 60 }, | ||
| 74 | + { color: "#1989fa", percentage: 80 }, | ||
| 75 | + { color: "#5cb87a", percentage: 100 } | ||
| 76 | + ], | ||
| 77 | + dialogVisible: false, | ||
| 78 | + progressStaus: null, | ||
| 79 | + filePath: "" | ||
| 44 | }), | 80 | }), |
| 81 | + created() { | ||
| 82 | + console.log(__lib); | ||
| 83 | + }, | ||
| 45 | methods: { | 84 | methods: { |
| 85 | + getMessage() { | ||
| 86 | + message().then(res => { | ||
| 87 | + this.$alert(res.data, "提示", { | ||
| 88 | + confirmButtonText: "确定" | ||
| 89 | + }); | ||
| 90 | + }); | ||
| 91 | + }, | ||
| 92 | + StartServer() { | ||
| 93 | + ipcApi.send("statr-server"); | ||
| 94 | + ipcApi.on("confirm-start", (event, arg) => { | ||
| 95 | + console.log(arg); | ||
| 96 | + this.$message({ | ||
| 97 | + type: "success", | ||
| 98 | + message: arg | ||
| 99 | + }); | ||
| 100 | + }); | ||
| 101 | + }, | ||
| 46 | // 获取electron方法 | 102 | // 获取electron方法 |
| 47 | open() { | 103 | open() { |
| 48 | - console.log(this.$store); | 104 | + console.log(this.$electron); |
| 49 | }, | 105 | }, |
| 50 | // 设置数据库的数据 | 106 | // 设置数据库的数据 |
| 51 | setdata() { | 107 | setdata() { |
| ... | @@ -67,28 +123,138 @@ export default { | ... | @@ -67,28 +123,138 @@ export default { |
| 67 | }, | 123 | }, |
| 68 | // 清空数据库的数据 | 124 | // 清空数据库的数据 |
| 69 | deledata() { | 125 | deledata() { |
| 70 | - // dialog为electron实例,data则是显示需要的参数,fun是需要执行的函数,此选项不是为必选的 | 126 | + // data则是显示需要的参数 |
| 71 | - const dialog = this.$electron.remote.dialog; | ||
| 72 | const data = { | 127 | const data = { |
| 73 | title: "清除数据", | 128 | title: "清除数据", |
| 74 | - buttons: ["OK", "Cancel"], | 129 | + buttons: ["确定了!", "才不要,我手滑了"], |
| 130 | + noLink: true, | ||
| 75 | message: "此操作会清空本地数据库中的所有数据,是否继续?" | 131 | message: "此操作会清空本地数据库中的所有数据,是否继续?" |
| 76 | }; | 132 | }; |
| 77 | - const fun = this.$db.deleall({ name: "yyy" }); | 133 | + ipcApi.send("open-messagebox", data); |
| 78 | - api.MessageBox(dialog, data, fun).then(res => { | 134 | + ipcApi.on("confirm-message", (event, arg) => { |
| 135 | + console.log(arg); | ||
| 136 | + if (arg.response === 0) { | ||
| 137 | + this.$db.deleall({ name: "yyy" }).then(res => { | ||
| 138 | + console.log(res); | ||
| 139 | + if (res !== 0) { | ||
| 79 | this.getdata(); | 140 | this.getdata(); |
| 80 | this.$message({ | 141 | this.$message({ |
| 81 | - showClose: true, | ||
| 82 | message: "成功删除" + res + "条", | 142 | message: "成功删除" + res + "条", |
| 83 | type: "success" | 143 | type: "success" |
| 84 | }); | 144 | }); |
| 145 | + } else { | ||
| 146 | + let errormsg = { | ||
| 147 | + title: "错误", | ||
| 148 | + message: "已经没有数据可以被删除!" | ||
| 149 | + }; | ||
| 150 | + ipcApi.send("open-errorbox", errormsg); | ||
| 151 | + } | ||
| 152 | + }); | ||
| 153 | + } | ||
| 85 | }); | 154 | }); |
| 86 | - // const data = { | ||
| 87 | - // title:'发生致命错误', | ||
| 88 | - // message:'?' | ||
| 89 | - // } | ||
| 90 | - // api.ErrorMessageBox(dialog,data) | ||
| 91 | }, | 155 | }, |
| 156 | + CheckUpdate(data) { | ||
| 157 | + switch (data) { | ||
| 158 | + case "one": | ||
| 159 | + const dialog = this.$electron.remote.dialog; | ||
| 160 | + ipcApi.send("check-update"); | ||
| 161 | + console.log("启动检查"); | ||
| 162 | + ipcApi.on("UpdateMsg", (event, data) => { | ||
| 163 | + console.log(data); | ||
| 164 | + switch (data.state) { | ||
| 165 | + case -1: | ||
| 166 | + const msgdata = { | ||
| 167 | + title: data.msg | ||
| 168 | + }; | ||
| 169 | + api.MessageBox(dialog, msgdata); | ||
| 170 | + break; | ||
| 171 | + case 0: | ||
| 172 | + this.$message("正在检查更新"); | ||
| 173 | + break; | ||
| 174 | + case 1: | ||
| 175 | + this.$message({ | ||
| 176 | + type: "success", | ||
| 177 | + message: "已检查到新版本,开始下载" | ||
| 178 | + }); | ||
| 179 | + this.dialogVisible = true; | ||
| 180 | + break; | ||
| 181 | + case 2: | ||
| 182 | + this.$message({ type: "success", message: "无新版本" }); | ||
| 183 | + break; | ||
| 184 | + case 3: | ||
| 185 | + this.percentage = data.msg.percent.toFixed(1); | ||
| 186 | + break; | ||
| 187 | + case 4: | ||
| 188 | + this.progressStaus = "success"; | ||
| 189 | + this.$alert("更新下载完成!", "提示", { | ||
| 190 | + confirmButtonText: "确定", | ||
| 191 | + callback: action => { | ||
| 192 | + ipcApi.send("confirm-update"); | ||
| 193 | + } | ||
| 194 | + }); | ||
| 195 | + break; | ||
| 196 | + | ||
| 197 | + default: | ||
| 198 | + break; | ||
| 199 | + } | ||
| 200 | + }); | ||
| 201 | + break; | ||
| 202 | + case "two": | ||
| 203 | + console.log(111); | ||
| 204 | + ipcApi.send("start-download"); | ||
| 205 | + ipcApi.on("confirm-download", (event, arg) => { | ||
| 206 | + if (arg) { | ||
| 207 | + this.dialogVisible = true; | ||
| 208 | + } | ||
| 209 | + }); | ||
| 210 | + ipcApi.on("download-progress", (event, arg) => { | ||
| 211 | + this.percentage = Number(arg); | ||
| 212 | + }); | ||
| 213 | + ipcApi.on("download-error", (event, arg) => { | ||
| 214 | + if (arg) { | ||
| 215 | + this.progressStaus = "exception"; | ||
| 216 | + this.percentage = 40; | ||
| 217 | + this.colors = "#d81e06"; | ||
| 218 | + } | ||
| 219 | + }); | ||
| 220 | + ipcApi.on("download-paused", (event, arg) => { | ||
| 221 | + if (arg) { | ||
| 222 | + this.progressStaus = "warning"; | ||
| 223 | + this.$alert("下载由于未知原因被中断!", "提示", { | ||
| 224 | + confirmButtonText: "重试", | ||
| 225 | + callback: action => { | ||
| 226 | + ipcApi.send("satrt-download"); | ||
| 227 | + } | ||
| 228 | + }); | ||
| 229 | + } | ||
| 230 | + }); | ||
| 231 | + ipcApi.on("download-done", (event, age) => { | ||
| 232 | + this.filePath = age.filePath; | ||
| 233 | + this.progressStaus = "success"; | ||
| 234 | + this.$alert("更新下载完成!", "提示", { | ||
| 235 | + confirmButtonText: "确定", | ||
| 236 | + callback: action => { | ||
| 237 | + this.$electron.shell.openItem(this.filePath); | ||
| 238 | + } | ||
| 239 | + }); | ||
| 240 | + }); | ||
| 241 | + break; | ||
| 242 | + | ||
| 243 | + default: | ||
| 244 | + break; | ||
| 245 | + } | ||
| 246 | + }, | ||
| 247 | + handleClose() { | ||
| 248 | + this.dialogVisible = false; | ||
| 249 | + } | ||
| 250 | + }, | ||
| 251 | + destroyed() { | ||
| 252 | + ipcApi.remove("confirm-message"); | ||
| 253 | + ipcApi.remove("download-done"); | ||
| 254 | + ipcApi.remove("download-paused"); | ||
| 255 | + ipcApi.remove("confirm-download"); | ||
| 256 | + ipcApi.remove("download-progress"); | ||
| 257 | + ipcApi.remove("download-error"); | ||
| 92 | } | 258 | } |
| 93 | }; | 259 | }; |
| 94 | </script> | 260 | </script> |
| ... | @@ -105,8 +271,6 @@ body { | ... | @@ -105,8 +271,6 @@ body { |
| 105 | } | 271 | } |
| 106 | 272 | ||
| 107 | #wrapper { | 273 | #wrapper { |
| 108 | - background-color: #d1d1d1ab; | ||
| 109 | - height: 93vh; | ||
| 110 | padding: 60px 80px; | 274 | padding: 60px 80px; |
| 111 | } | 275 | } |
| 112 | 276 | ||
| ... | @@ -147,9 +311,14 @@ main > div { | ... | @@ -147,9 +311,14 @@ main > div { |
| 147 | font-size: 18px; | 311 | font-size: 18px; |
| 148 | margin-bottom: 10px; | 312 | margin-bottom: 10px; |
| 149 | } | 313 | } |
| 150 | - | 314 | +.doc { |
| 315 | + margin-bottom: 20px; | ||
| 316 | +} | ||
| 151 | .doc p { | 317 | .doc p { |
| 152 | color: black; | 318 | color: black; |
| 153 | margin-bottom: 10px; | 319 | margin-bottom: 10px; |
| 154 | } | 320 | } |
| 321 | +.conten { | ||
| 322 | + text-align: center; | ||
| 323 | +} | ||
| 155 | </style> | 324 | </style> |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -26,6 +26,10 @@ | ... | @@ -26,6 +26,10 @@ |
| 26 | <div class="name">所运行的系统:</div> | 26 | <div class="name">所运行的系统:</div> |
| 27 | <div class="value">{{ platform }}</div> | 27 | <div class="value">{{ platform }}</div> |
| 28 | </div> | 28 | </div> |
| 29 | + <div class="item"> | ||
| 30 | + <div class="name">所运行的系统:</div> | ||
| 31 | + <div class="value">{{ arch }}位</div> | ||
| 32 | + </div> | ||
| 29 | </div> | 33 | </div> |
| 30 | </div> | 34 | </div> |
| 31 | </template> | 35 | </template> |
| ... | @@ -39,6 +43,7 @@ | ... | @@ -39,6 +43,7 @@ |
| 39 | node: process.versions.node, | 43 | node: process.versions.node, |
| 40 | path: this.$route.path, | 44 | path: this.$route.path, |
| 41 | platform: require('os').platform(), | 45 | platform: require('os').platform(), |
| 46 | + arch:require('os').arch(), | ||
| 42 | vue: require('vue/package.json').version | 47 | vue: require('vue/package.json').version |
| 43 | } | 48 | } |
| 44 | }, | 49 | }, | ... | ... |
| ... | @@ -15,10 +15,10 @@ | ... | @@ -15,10 +15,10 @@ |
| 15 | :show-file-list="true" | 15 | :show-file-list="true" |
| 16 | :on-remove="handleRemove" | 16 | :on-remove="handleRemove" |
| 17 | :on-success="handleSuccess" | 17 | :on-success="handleSuccess" |
| 18 | - :before-upload="beforeUpload" | 18 | + :on-error="handleError" |
| 19 | :data="picPostData" | 19 | :data="picPostData" |
| 20 | class="editor-slide-upload" | 20 | class="editor-slide-upload" |
| 21 | - action="https://up-z2.qiniup.com/" | 21 | + action="https://jsonplaceholder.typicode.com/post/" |
| 22 | list-type="picture-card" | 22 | list-type="picture-card" |
| 23 | :limit="5" | 23 | :limit="5" |
| 24 | > | 24 | > |
| ... | @@ -31,8 +31,7 @@ | ... | @@ -31,8 +31,7 @@ |
| 31 | </template> | 31 | </template> |
| 32 | 32 | ||
| 33 | <script> | 33 | <script> |
| 34 | -// import { getToken } from 'api/qiniu' | 34 | + |
| 35 | -import { checkPic } from "@util/picUtil.js"; | ||
| 36 | 35 | ||
| 37 | export default { | 36 | export default { |
| 38 | name: "EditorSlideUpload", | 37 | name: "EditorSlideUpload", |
| ... | @@ -93,42 +92,8 @@ export default { | ... | @@ -93,42 +92,8 @@ export default { |
| 93 | } | 92 | } |
| 94 | } | 93 | } |
| 95 | }, | 94 | }, |
| 96 | - beforeUpload(file) { | 95 | + handleError(err){ |
| 97 | - const _self = this; | 96 | + this.alert(err) |
| 98 | - const _URL = window.URL || window.webkitURL; | ||
| 99 | - const fileName = file.uid; | ||
| 100 | - this.listObj[fileName] = {}; | ||
| 101 | - return new Promise((resolve, reject) => { | ||
| 102 | - let Sync = async () => { | ||
| 103 | - try { | ||
| 104 | - let picKey = await checkPic(file, this.fileList.length, 1); | ||
| 105 | - if (picKey) { | ||
| 106 | - let token = await this.getRequest( | ||
| 107 | - "/qiniu/serveGetQiniuUpToken?key=" + picKey | ||
| 108 | - ); | ||
| 109 | - console.log("picKey---", picKey, token); | ||
| 110 | - this.picPostData = token; | ||
| 111 | - const img = new Image(); | ||
| 112 | - img.src = _URL.createObjectURL(file); | ||
| 113 | - img.onload = function() { | ||
| 114 | - _self.listObj[fileName] = { | ||
| 115 | - hasSuccess: false, | ||
| 116 | - uid: file.uid, | ||
| 117 | - width: this.width, | ||
| 118 | - height: this.height | ||
| 119 | - }; | ||
| 120 | - }; | ||
| 121 | - resolve(true); | ||
| 122 | - } else { | ||
| 123 | - reject(false); | ||
| 124 | - this.listObj = {}; | ||
| 125 | - } | ||
| 126 | - } catch (error) { | ||
| 127 | - reject(false); | ||
| 128 | - } | ||
| 129 | - }; | ||
| 130 | - Sync(); | ||
| 131 | - }); | ||
| 132 | } | 97 | } |
| 133 | } | 98 | } |
| 134 | }; | 99 | }; | ... | ... |
src/renderer/components/title/index.vue
0 → 100644
| 1 | +<!-- --> | ||
| 2 | +<template> | ||
| 3 | + <div class="window-title" v-if="!IsUseSysTitle&&isMac"> | ||
| 4 | + <!-- 软件logo预留位置 --> | ||
| 5 | + <div style="-webkit-app-region: drag;" class="logo"> | ||
| 6 | + <svg-icon icon-class="electron-logo"></svg-icon> | ||
| 7 | + </div> | ||
| 8 | + <!-- 菜单栏位置 --> | ||
| 9 | + <div></div> | ||
| 10 | + <!-- 中间标题位置 --> | ||
| 11 | + <div style="-webkit-app-region: drag;" class="title"></div> | ||
| 12 | + <div class="controls-container"> | ||
| 13 | + <div class="windows-icon-bg" @click="Mini"> | ||
| 14 | + <svg-icon icon-class="mini" class-name="icon-size"></svg-icon> | ||
| 15 | + </div> | ||
| 16 | + <div class="windows-icon-bg" @click="MixOrReduction"> | ||
| 17 | + <svg-icon v-if="mix" icon-class="reduction" class-name="icon-size"></svg-icon> | ||
| 18 | + <svg-icon v-else icon-class="mix" class-name="icon-size"></svg-icon> | ||
| 19 | + </div> | ||
| 20 | + <div class="windows-icon-bg close-icon" @click="Close"> | ||
| 21 | + <svg-icon icon-class="close" class-name="icon-size"></svg-icon> | ||
| 22 | + </div> | ||
| 23 | + </div> | ||
| 24 | + </div> | ||
| 25 | +</template> | ||
| 26 | + | ||
| 27 | +<script> | ||
| 28 | +import ipcApi from "@/utils/ipcRenderer"; | ||
| 29 | +export default { | ||
| 30 | + data: () => ({ | ||
| 31 | + mix: false, | ||
| 32 | + IsUseSysTitle: false, | ||
| 33 | + isMac:process.platform !== 'darwin' | ||
| 34 | + }), | ||
| 35 | + | ||
| 36 | + components: {}, | ||
| 37 | + created() { | ||
| 38 | + ipcApi.send("IsUseSysTitle"); | ||
| 39 | + ipcApi.on("CisUseSysTitle", (event, arg) => (this.IsUseSysTitle = arg)); | ||
| 40 | + }, | ||
| 41 | + | ||
| 42 | + mounted() {}, | ||
| 43 | + | ||
| 44 | + methods: { | ||
| 45 | + Mini() { | ||
| 46 | + ipcApi.send("windows-mini"); | ||
| 47 | + }, | ||
| 48 | + MixOrReduction() { | ||
| 49 | + ipcApi.send("window-max"); | ||
| 50 | + ipcApi.on("window-confirm", (event, arg) => (this.mix = arg)); | ||
| 51 | + }, | ||
| 52 | + Close() { | ||
| 53 | + ipcApi.send("window-close"); | ||
| 54 | + } | ||
| 55 | + } | ||
| 56 | +}; | ||
| 57 | +</script> | ||
| 58 | +<style rel='stylesheet/scss' lang='scss' scoped> | ||
| 59 | +.window-title { | ||
| 60 | + width: 100%; | ||
| 61 | + height: 30px; | ||
| 62 | + line-height: 30px; | ||
| 63 | + background-color: #ffffff; | ||
| 64 | + display: flex; | ||
| 65 | + -webkit-app-region: drag; | ||
| 66 | + position: fixed; | ||
| 67 | + top: 0; | ||
| 68 | + z-index: 99999; | ||
| 69 | + .title { | ||
| 70 | + text-align: center; | ||
| 71 | + } | ||
| 72 | + .logo{ | ||
| 73 | + margin-left: 20px; | ||
| 74 | + } | ||
| 75 | + .controls-container { | ||
| 76 | + display: flex; | ||
| 77 | + flex-grow: 0; | ||
| 78 | + flex-shrink: 0; | ||
| 79 | + text-align: center; | ||
| 80 | + position: relative; | ||
| 81 | + z-index: 3000; | ||
| 82 | + -webkit-app-region: no-drag; | ||
| 83 | + height: 100%; | ||
| 84 | + width: 138px; | ||
| 85 | + margin-left: auto; | ||
| 86 | + .windows-icon-bg { | ||
| 87 | + display: inline-block; | ||
| 88 | + -webkit-app-region: no-drag; | ||
| 89 | + height: 100%; | ||
| 90 | + width: 33.34%; | ||
| 91 | + color: rgba(129, 129, 129, 0.6); | ||
| 92 | + .icon-size { | ||
| 93 | + width: 12px; | ||
| 94 | + height: 15px; | ||
| 95 | + } | ||
| 96 | + } | ||
| 97 | + .windows-icon-bg:hover { | ||
| 98 | + background-color: rgba(182, 182, 182, 0.2); | ||
| 99 | + color: #333; | ||
| 100 | + } | ||
| 101 | + .close-icon:hover { | ||
| 102 | + background-color: rgba(232, 17, 35, 0.9); | ||
| 103 | + color: #fff; | ||
| 104 | + } | ||
| 105 | + } | ||
| 106 | +} | ||
| 107 | +</style> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
src/renderer/error.js
0 → 100644
| 1 | +import Vue from 'vue' | ||
| 2 | + | ||
| 3 | +Vue.config.errorHandler = function (err, vm, info) { | ||
| 4 | + Vue.nextTick(() => { | ||
| 5 | + if (process.env.NODE_ENV === 'development') { | ||
| 6 | + console.group('%c >>>>>> 错误信息 >>>>>>', 'color:red') | ||
| 7 | + console.log(`%c ${info}`, 'color:blue') | ||
| 8 | + console.groupEnd() | ||
| 9 | + console.group('%c >>>>>> 发生错误的Vue 实例对象 >>>>>>', 'color:green') | ||
| 10 | + console.log(vm) | ||
| 11 | + console.groupEnd() | ||
| 12 | + console.group('%c >>>>>> 发生错误的原因及位置 >>>>>>', 'color:red') | ||
| 13 | + console.error(err) | ||
| 14 | + console.groupEnd() | ||
| 15 | + } | ||
| 16 | + }) | ||
| 17 | +} |
src/renderer/icons/svg/close.svg
0 → 100644
| 1 | +<?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 width='11' height='11' viewBox='0 0 11 11' class="icon" xmlns='http://www.w3.org/2000/svg'><path d='M6.279 5.5L11 10.221l-.779.779L5.5 6.279.779 11 0 10.221 4.721 5.5 0 .779.779 0 5.5 4.721 10.221 0 11 .779 6.279 5.5z'/></svg> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
src/renderer/icons/svg/electron-logo.svg
0 → 100644
| 1 | +<?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||
| 2 | +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> | ||
| 3 | +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="256px" height="256px" viewBox="0 0 256 256" enable-background="new 0 0 256 256" xml:space="preserve"> <image id="image0" width="256" height="256" x="0" y="0" | ||
| 4 | + href="data:image/png;base64,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" /> | ||
| 529 | +</svg> |
| 1 | -<?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 t="1577517047047" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6202" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M512 128q69.675 0 135.51 21.163t115.498 54.997 93.483 74.837 73.685 82.006 51.67 74.837 32.17 54.827L1024 512q-2.347 4.992-6.315 13.483T998.87 560.17t-31.658 51.669-44.331 59.99-56.832 64.34-69.504 60.16-82.347 51.5-94.848 34.687T512 896q-69.675 0-135.51-21.163t-115.498-54.826-93.483-74.326-73.685-81.493-51.67-74.496-32.17-54.997L0 513.707q2.347-4.992 6.315-13.483t18.816-34.816 31.658-51.84 44.331-60.33 56.832-64.683 69.504-60.331 82.347-51.84 94.848-34.816T512 128.085z m0 85.333q-46.677 0-91.648 12.331t-81.152 31.83-70.656 47.146-59.648 54.485-48.853 57.686-37.675 52.821-26.325 43.99q12.33 21.674 26.325 43.52t37.675 52.351 48.853 57.003 59.648 53.845T339.2 767.02t81.152 31.488T512 810.667t91.648-12.331 81.152-31.659 70.656-46.848 59.648-54.186 48.853-57.344 37.675-52.651T927.957 512q-12.33-21.675-26.325-43.648t-37.675-52.65-48.853-57.345-59.648-54.186-70.656-46.848-81.152-31.659T512 213.334z m0 128q70.656 0 120.661 50.006T682.667 512 632.66 632.661 512 682.667 391.339 632.66 341.333 512t50.006-120.661T512 341.333z m0 85.334q-35.328 0-60.33 25.002T426.666 512t25.002 60.33T512 597.334t60.33-25.002T597.334 512t-25.002-60.33T512 426.666z" p-id="6203"></path></svg> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| 1 | +<?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 t="1577518173588" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6318" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M512 128q69.675 0 135.51 21.163t115.498 54.997 93.483 74.837 73.685 82.006 51.67 74.837 32.17 54.827L1024 512q-2.347 4.992-6.315 13.483T998.87 560.17t-31.658 51.669-44.331 59.99-56.832 64.34-69.504 60.16-82.347 51.5-94.848 34.687T512 896q-69.675 0-135.51-21.163t-115.498-54.826-93.483-74.326-73.685-81.493-51.67-74.496-32.17-54.997L0 513.707q2.347-4.992 6.315-13.483t18.816-34.816 31.658-51.84 44.331-60.33 56.832-64.683 69.504-60.331 82.347-51.84 94.848-34.816T512 128.085z m0 85.333q-46.677 0-91.648 12.331t-81.152 31.83-70.656 47.146-59.648 54.485-48.853 57.686-37.675 52.821-26.325 43.99q12.33 21.674 26.325 43.52t37.675 52.351 48.853 57.003 59.648 53.845T339.2 767.02t81.152 31.488T512 810.667t91.648-12.331 81.152-31.659 70.656-46.848 59.648-54.186 48.853-57.344 37.675-52.651T927.957 512q-12.33-21.675-26.325-43.648t-37.675-52.65-48.853-57.345-59.648-54.186-70.656-46.848-81.152-31.659T512 213.334z m0 128q70.656 0 120.661 50.006T682.667 512 632.66 632.661 512 682.667 391.339 632.66 341.333 512t50.006-120.661T512 341.333z m0 85.334q-35.328 0-60.33 25.002T426.666 512t25.002 60.33T512 597.334t60.33-25.002T597.334 512t-25.002-60.33T512 426.666z" p-id="6319"></path></svg> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
src/renderer/icons/svg/mini.svg
0 → 100644
| 1 | +<?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 width='11' height='11' viewBox='0 0 11 11' class='icon' xmlns='http://www.w3.org/2000/svg'><path d='M11 4.399V5.5H0V4.399h11z'/></svg> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
src/renderer/icons/svg/mix.svg
0 → 100644
| 1 | +<?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 width='11' height='11' viewBox='0 0 11 11' class='icon' xmlns='http://www.w3.org/2000/svg'><path d='M11 0v11H0V0h11zM9.899 1.101H1.1V9.9h8.8V1.1z'/></svg> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
src/renderer/icons/svg/reduction.svg
0 → 100644
| 1 | +<?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 width='11' height='11' viewBox='0 0 11 11' class="icon" xmlns='http://www.w3.org/2000/svg'><path d='M11 8.798H8.798V11H0V2.202h2.202V0H11v8.798zm-3.298-5.5h-6.6v6.6h6.6v-6.6zM9.9 1.1H3.298v1.101h5.5v5.5h1.1v-6.6z'/></svg> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| ... | @@ -62,6 +62,7 @@ export default { | ... | @@ -62,6 +62,7 @@ export default { |
| 62 | this.timer = setInterval(() => { | 62 | this.timer = setInterval(() => { |
| 63 | this.set_time(); | 63 | this.set_time(); |
| 64 | }, 60000); | 64 | }, 60000); |
| 65 | + console.log(this.userImage) | ||
| 65 | }, | 66 | }, |
| 66 | methods: { | 67 | methods: { |
| 67 | toggleSideBar() { | 68 | toggleSideBar() { |
| ... | @@ -73,11 +74,11 @@ export default { | ... | @@ -73,11 +74,11 @@ export default { |
| 73 | message: "退出成功", | 74 | message: "退出成功", |
| 74 | type: "success" | 75 | type: "success" |
| 75 | }); | 76 | }); |
| 76 | - location.reload(); // 为了重新实例化vue-router对象 避免bug | 77 | + this.$router.push('/login') |
| 77 | }); | 78 | }); |
| 78 | }, | 79 | }, |
| 79 | set_time() { | 80 | set_time() { |
| 80 | - this.time = format(new Date(), "YYYY/MM/DD HH:mm"); | 81 | + this.time = format(new Date(), "yyyy/MM/dd HH:mm"); |
| 81 | } | 82 | } |
| 82 | }, | 83 | }, |
| 83 | computed: { | 84 | computed: { | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | - <div v-if="!item.hidden&&item.children" class="menu-wrapper"> | 2 | + <div |
| 3 | - | 3 | + v-if="!item.hidden&&item.children" |
| 4 | + class="menu-wrapper" | ||
| 5 | + :class="collapse?``:`active-menu-wrapper`" | ||
| 6 | + > | ||
| 4 | <div v-if="item.onlyShowfirst"> | 7 | <div v-if="item.onlyShowfirst"> |
| 5 | <router-link | 8 | <router-link |
| 6 | v-if="OneShowingChild(item.children[0]) && !onlyOneChild.children&&!item.alwaysShow" | 9 | v-if="OneShowingChild(item.children[0]) && !onlyOneChild.children&&!item.alwaysShow" |
| ... | @@ -88,6 +91,10 @@ export default { | ... | @@ -88,6 +91,10 @@ export default { |
| 88 | basePath: { | 91 | basePath: { |
| 89 | type: String, | 92 | type: String, |
| 90 | default: "" | 93 | default: "" |
| 94 | + }, | ||
| 95 | + collapse: { | ||
| 96 | + type: Boolean, | ||
| 97 | + required: true | ||
| 91 | } | 98 | } |
| 92 | }, | 99 | }, |
| 93 | data() { | 100 | data() { |
| ... | @@ -111,8 +118,7 @@ export default { | ... | @@ -111,8 +118,7 @@ export default { |
| 111 | return false; | 118 | return false; |
| 112 | }, | 119 | }, |
| 113 | resolvePath(...paths) { | 120 | resolvePath(...paths) { |
| 114 | - return this.basePath + "/" +paths[0] | 121 | + return this.basePath + "/" + paths[0]; |
| 115 | - // return path.resolve(this.basePath, ...paths); | ||
| 116 | }, | 122 | }, |
| 117 | OneShowingChild(children) { | 123 | OneShowingChild(children) { |
| 118 | this.onlyOneChild = children; | 124 | this.onlyOneChild = children; |
| ... | @@ -122,20 +128,12 @@ export default { | ... | @@ -122,20 +128,12 @@ export default { |
| 122 | }; | 128 | }; |
| 123 | </script> | 129 | </script> |
| 124 | <style lang="scss" scoped> | 130 | <style lang="scss" scoped> |
| 125 | -@import "@/styles/color.scss"; | ||
| 126 | .menu-wrapper { | 131 | .menu-wrapper { |
| 127 | /deep/ .el-menu-item, | 132 | /deep/ .el-menu-item, |
| 128 | .el-submenu__title { | 133 | .el-submenu__title { |
| 129 | height: 46px; | 134 | height: 46px; |
| 130 | line-height: 46px; | 135 | line-height: 46px; |
| 131 | } | 136 | } |
| 132 | - /deep/ a { | ||
| 133 | - background-color: #ffc248; | ||
| 134 | - } | ||
| 135 | - /deep/ .el-menu-item.is-active { | ||
| 136 | - margin-left: 8px; | ||
| 137 | - background-color: $Theme-color !important; | ||
| 138 | - } | ||
| 139 | /deep/ .el-menu-item { | 137 | /deep/ .el-menu-item { |
| 140 | padding: 0 20px 0 12px; | 138 | padding: 0 20px 0 12px; |
| 141 | } | 139 | } | ... | ... |
| ... | @@ -4,13 +4,10 @@ | ... | @@ -4,13 +4,10 @@ |
| 4 | mode="vertical" | 4 | mode="vertical" |
| 5 | :show-timeout="200" | 5 | :show-timeout="200" |
| 6 | :default-active="$route.path" | 6 | :default-active="$route.path" |
| 7 | - background-color="#ffffff" | ||
| 8 | - text-color="#666666" | ||
| 9 | :collapse="isCollapse" | 7 | :collapse="isCollapse" |
| 10 | - active-text-color="#ffffff" | ||
| 11 | > | 8 | > |
| 12 | <Logo :collapse="isCollapse" /> | 9 | <Logo :collapse="isCollapse" /> |
| 13 | - <sidebar-item v-for="route in routes" :key="route.name" :item="route" :base-path="route.path"></sidebar-item> | 10 | + <sidebar-item v-for="route in routes" :key="route.name" :item="route" :base-path="route.path" :collapse="isCollapse"></sidebar-item> |
| 14 | </el-menu> | 11 | </el-menu> |
| 15 | </scroll-bar> | 12 | </scroll-bar> |
| 16 | </template> | 13 | </template> | ... | ... |
| ... | @@ -41,6 +41,7 @@ export default { | ... | @@ -41,6 +41,7 @@ export default { |
| 41 | } | 41 | } |
| 42 | 42 | ||
| 43 | .sidebar-logo-container { | 43 | .sidebar-logo-container { |
| 44 | + box-shadow: 2px 0 6px rgba(0,21,41,.15); | ||
| 44 | position: relative; | 45 | position: relative; |
| 45 | width: 100%; | 46 | width: 100%; |
| 46 | height: 61px; | 47 | height: 61px; |
| ... | @@ -75,6 +76,7 @@ export default { | ... | @@ -75,6 +76,7 @@ export default { |
| 75 | .collapse { | 76 | .collapse { |
| 76 | .sidebar-logo { | 77 | .sidebar-logo { |
| 77 | margin-right: 0px !important; | 78 | margin-right: 0px !important; |
| 79 | + margin-left: 0px !important; | ||
| 78 | } | 80 | } |
| 79 | } | 81 | } |
| 80 | </style> | 82 | </style> |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | - <div class="app-wrapper" :class="classObj"> | 2 | + <div class="app-wrapper" :class="IsUseSysTitle?'UseSysTitle':'NoUseSysTitle'"> |
| 3 | + <div :class="classObj"> | ||
| 3 | <navbar></navbar> | 4 | <navbar></navbar> |
| 4 | <div class="container-set"> | 5 | <div class="container-set"> |
| 5 | - <sidebar class="sidebar-container"></sidebar> | 6 | + <sidebar class="sidebar-container" :class="IsUseSysTitle?'UseSysTitle':'NoUseSysTitle'"></sidebar> |
| 6 | <div class="main-container"> | 7 | <div class="main-container"> |
| 7 | <app-main></app-main> | 8 | <app-main></app-main> |
| 8 | </div> | 9 | </div> |
| 9 | </div> | 10 | </div> |
| 10 | </div> | 11 | </div> |
| 12 | + </div> | ||
| 11 | </template> | 13 | </template> |
| 12 | 14 | ||
| 13 | <script> | 15 | <script> |
| ... | @@ -22,6 +24,9 @@ export default { | ... | @@ -22,6 +24,9 @@ export default { |
| 22 | Navbar | 24 | Navbar |
| 23 | }, | 25 | }, |
| 24 | mixins: [ResizeMixin], | 26 | mixins: [ResizeMixin], |
| 27 | + data: () => ({ | ||
| 28 | + IsUseSysTitle: require("./../../../config").IsUseSysTitle | ||
| 29 | + }), | ||
| 25 | computed: { | 30 | computed: { |
| 26 | sidebar() { | 31 | sidebar() { |
| 27 | return this.$store.state.app.sidebar; | 32 | return this.$store.state.app.sidebar; |
| ... | @@ -51,4 +56,10 @@ export default { | ... | @@ -51,4 +56,10 @@ export default { |
| 51 | padding-top: 62px; | 56 | padding-top: 62px; |
| 52 | } | 57 | } |
| 53 | } | 58 | } |
| 59 | +.UseSysTitle{ | ||
| 60 | + top:0px; | ||
| 61 | +} | ||
| 62 | +.NoUseSysTitle{ | ||
| 63 | + top:38px | ||
| 64 | +} | ||
| 54 | </style> | 65 | </style> | ... | ... |
| ... | @@ -9,10 +9,13 @@ import db from './api/operationalData' | ... | @@ -9,10 +9,13 @@ import db from './api/operationalData' |
| 9 | import ElementUI from 'element-ui' | 9 | import ElementUI from 'element-ui' |
| 10 | import 'element-ui/lib/theme-chalk/index.css' | 10 | import 'element-ui/lib/theme-chalk/index.css' |
| 11 | import './permission' | 11 | import './permission' |
| 12 | - | 12 | +// 日志 |
| 13 | +import './error' | ||
| 13 | import './icons' | 14 | import './icons' |
| 14 | import '@/styles/index.scss' | 15 | import '@/styles/index.scss' |
| 15 | 16 | ||
| 17 | +if (!require('../../config').IsUseSysTitle) require('@/styles/custom-title.scss') | ||
| 18 | + | ||
| 16 | if (!process.env.IS_WEB) Vue.use(require('vue-electron')) | 19 | if (!process.env.IS_WEB) Vue.use(require('vue-electron')) |
| 17 | 20 | ||
| 18 | Vue.use(ElementUI) | 21 | Vue.use(ElementUI) |
| ... | @@ -21,9 +24,11 @@ Vue.prototype.$db = db | ... | @@ -21,9 +24,11 @@ Vue.prototype.$db = db |
| 21 | 24 | ||
| 22 | Vue.config.productionTip = false | 25 | Vue.config.productionTip = false |
| 23 | /* eslint-disable no-new */ | 26 | /* eslint-disable no-new */ |
| 24 | -new Vue({ | 27 | +const vue = new Vue({ |
| 25 | components: { App }, | 28 | components: { App }, |
| 26 | router, | 29 | router, |
| 27 | store, | 30 | store, |
| 28 | template: '<App/>' | 31 | template: '<App/>' |
| 29 | }).$mount('#app') | 32 | }).$mount('#app') |
| 33 | + | ||
| 34 | +export default vue | ... | ... |
| 1 | /* eslint-disable no-tabs */ | 1 | /* eslint-disable no-tabs */ |
| 2 | import router from './router' | 2 | import router from './router' |
| 3 | import store from './store' | 3 | import store from './store' |
| 4 | -import NProgress from 'nprogress' // Progress 进度条 | ||
| 5 | -import 'nprogress/nprogress.css'// Progress 进度条样式 | ||
| 6 | import { Message } from 'element-ui' | 4 | import { Message } from 'element-ui' |
| 7 | 5 | ||
| 8 | const whiteList = ['/login'] // 不重定向白名单 | 6 | const whiteList = ['/login'] // 不重定向白名单 |
| 9 | router.beforeEach((to, from, next) => { | 7 | router.beforeEach((to, from, next) => { |
| 10 | - NProgress.start() | ||
| 11 | if (store.getters.token) { | 8 | if (store.getters.token) { |
| 12 | if (to.path === '/login') { | 9 | if (to.path === '/login') { |
| 13 | next({ path: '/' }) | 10 | next({ path: '/' }) |
| 14 | - NProgress.done() // if current page is dashboard will not trigger afterEach hook, so manually handle it | ||
| 15 | } else { | 11 | } else { |
| 16 | if (store.getters.roles.length === 0) { | 12 | if (store.getters.roles.length === 0) { |
| 17 | store.dispatch('GetInfo').then(res => { // 拉取用户信息 | 13 | store.dispatch('GetInfo').then(res => { // 拉取用户信息 |
| ... | @@ -31,11 +27,8 @@ router.beforeEach((to, from, next) => { | ... | @@ -31,11 +27,8 @@ router.beforeEach((to, from, next) => { |
| 31 | next() | 27 | next() |
| 32 | } else { | 28 | } else { |
| 33 | next('/login') | 29 | next('/login') |
| 34 | - NProgress.done() | ||
| 35 | } | 30 | } |
| 36 | } | 31 | } |
| 37 | }) | 32 | }) |
| 38 | 33 | ||
| 39 | -router.afterEach(() => { | 34 | +router.afterEach(() => {}) |
| 40 | - NProgress.done() // 结束Progress | ||
| 41 | -}) | ... | ... |
| 1 | -import Layout from '../layout' | 1 | +import Layout from '@/layout' |
| 2 | const Login = () => import('@/views/login') | 2 | const Login = () => import('@/views/login') |
| 3 | const Notfound = () => import('@/views/404') | 3 | const Notfound = () => import('@/views/404') |
| 4 | /** | 4 | /** |
| ... | @@ -44,12 +44,19 @@ export default [ | ... | @@ -44,12 +44,19 @@ export default [ |
| 44 | { | 44 | { |
| 45 | path: '/form', | 45 | path: '/form', |
| 46 | component: Layout, | 46 | component: Layout, |
| 47 | + meta: { title: '表单', icon: 'form' }, | ||
| 47 | children: [ | 48 | children: [ |
| 48 | { | 49 | { |
| 49 | path: 'index', | 50 | path: 'index', |
| 50 | name: 'Form', | 51 | name: 'Form', |
| 51 | component: () => import('@/views/form/index'), | 52 | component: () => import('@/views/form/index'), |
| 52 | meta: { title: '表单', icon: 'form' } | 53 | meta: { title: '表单', icon: 'form' } |
| 54 | + }, | ||
| 55 | + { | ||
| 56 | + path: 'index2', | ||
| 57 | + name: 'Form2', | ||
| 58 | + component: () => import('@/views/form/index'), | ||
| 59 | + meta: { title: '表单2', icon: 'form' } | ||
| 53 | } | 60 | } |
| 54 | ] | 61 | ] |
| 55 | }, | 62 | }, | ... | ... |
src/renderer/store/modules/template.js
0 → 100644
src/renderer/styles/color.scss
deleted
100644 → 0
| 1 | -$Theme-color:#651FFF; | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| ... | @@ -43,119 +43,3 @@ | ... | @@ -43,119 +43,3 @@ |
| 43 | margin-top: 10px; | 43 | margin-top: 10px; |
| 44 | } | 44 | } |
| 45 | 45 | ||
| 46 | -// 卡片上面的图标和标题样式 | ||
| 47 | -.info-set { | ||
| 48 | - display: flex; | ||
| 49 | - margin-bottom: 16px; | ||
| 50 | - line-height: 22px; | ||
| 51 | - | ||
| 52 | - .info-icon { | ||
| 53 | - width: 8px; | ||
| 54 | - height: 22px; | ||
| 55 | - background: rgba(58, 127, 159, 1); | ||
| 56 | - border-radius: 4px; | ||
| 57 | - margin-right: 12px; | ||
| 58 | - } | ||
| 59 | - | ||
| 60 | - .info-title { | ||
| 61 | - font-size: 16px; | ||
| 62 | - font-weight: bold; | ||
| 63 | - color: rgba(51, 51, 51, 1); | ||
| 64 | - } | ||
| 65 | -} | ||
| 66 | - | ||
| 67 | -// 顶部的单选样式 | ||
| 68 | -.top-order { | ||
| 69 | - flex: 1; | ||
| 70 | - | ||
| 71 | - .order-group { | ||
| 72 | - height: 38px; | ||
| 73 | - display: flex; | ||
| 74 | - align-items: center; | ||
| 75 | - background-color: #3a7f9f; | ||
| 76 | - width: 346px; | ||
| 77 | - justify-content: center; | ||
| 78 | - border-radius: 2px; | ||
| 79 | - } | ||
| 80 | - | ||
| 81 | - .order-group /deep/ .el-radio-group /deep/ .el-radio__input.is-checked .el-radio__inner { | ||
| 82 | - border-color: #f2b931; | ||
| 83 | - background: #f2b931; | ||
| 84 | - } | ||
| 85 | - | ||
| 86 | - .order-group /deep/ .el-radio-group /deep/ .el-radio__input.is-checked+.el-radio__label { | ||
| 87 | - color: #f2b931; | ||
| 88 | - } | ||
| 89 | - | ||
| 90 | - .order-group /deep/ .el-radio__inner { | ||
| 91 | - border: 1px solid #dcdfe6; | ||
| 92 | - border-radius: 100%; | ||
| 93 | - width: 14px; | ||
| 94 | - height: 14px; | ||
| 95 | - position: relative; | ||
| 96 | - cursor: pointer; | ||
| 97 | - display: inline-block; | ||
| 98 | - box-sizing: border-box; | ||
| 99 | - background-color: #3a7f9f; | ||
| 100 | - } | ||
| 101 | - | ||
| 102 | - .order-group /deep/ .el-radio { | ||
| 103 | - color: #fff; | ||
| 104 | - } | ||
| 105 | -} | ||
| 106 | - | ||
| 107 | -// 活动页顶部按钮 | ||
| 108 | -.top-active /deep/ .el-button { | ||
| 109 | - background-color: #3a7f9f; | ||
| 110 | - color: #fff; | ||
| 111 | - height: 38px; | ||
| 112 | -} | ||
| 113 | - | ||
| 114 | -.top-active /deep/ .el-button:active { | ||
| 115 | - background-color: #2c637c; | ||
| 116 | -} | ||
| 117 | - | ||
| 118 | -// 表格添加阴影 | ||
| 119 | -.table-control { | ||
| 120 | - box-shadow: none; | ||
| 121 | -} | ||
| 122 | - | ||
| 123 | -// 表格选中颜色样式 | ||
| 124 | -.table-control /deep/ .el-checkbox__input.is-checked .el-checkbox__inner { | ||
| 125 | - background-color: #3a7f9f; | ||
| 126 | -} | ||
| 127 | - | ||
| 128 | -.table-control /deep/ .el-checkbox__input.is-indeterminate .el-checkbox__inner { | ||
| 129 | - background-color: #3a7f9f; | ||
| 130 | -} | ||
| 131 | - | ||
| 132 | -// 底部修改,保存,取消按钮的样式修改 | ||
| 133 | -.bottom-button { | ||
| 134 | - width: 100%; | ||
| 135 | - display: flex; | ||
| 136 | - justify-content: flex-end; | ||
| 137 | -} | ||
| 138 | - | ||
| 139 | -.bottom-button /deep/ .el-button--primary { | ||
| 140 | - background-color: #3a7f9f; | ||
| 141 | - border-color: #3a7f9f; | ||
| 142 | - height: 38px; | ||
| 143 | -} | ||
| 144 | - | ||
| 145 | -.bottom-button /deep/ .el-button--primary:active { | ||
| 146 | - background-color: #255368; | ||
| 147 | - border-color: #255368; | ||
| 148 | -} | ||
| 149 | - | ||
| 150 | -.bottom-button /deep/ .el-button--default { | ||
| 151 | - height: 38px; | ||
| 152 | - color: #3a7f9f; | ||
| 153 | -} | ||
| 154 | - | ||
| 155 | -.bottom-button /deep/ .el-button--default:hover { | ||
| 156 | - background-color: rgba(58, 127, 159, 0.2); | ||
| 157 | -} | ||
| 158 | - | ||
| 159 | -.bottom-button /deep/ .el-button--default:active { | ||
| 160 | - background-color: rgba(43, 94, 117, 0.3); | ||
| 161 | -} | ... | ... |
src/renderer/styles/custom-title.scss
0 → 100644
| 1 | -@import './color.scss'; | ||
| 2 | //to reset element-ui default css | 1 | //to reset element-ui default css |
| 3 | -.el-upload { | 2 | + .el-upload { |
| 4 | input[type="file"] { | 3 | input[type="file"] { |
| 5 | display: none !important; | 4 | display: none !important; |
| 6 | } | 5 | } |
| 7 | -} | 6 | + } |
| 8 | 7 | ||
| 9 | -.el-upload__input { | 8 | + .el-upload__input { |
| 10 | display: none; | 9 | display: none; |
| 11 | -} | 10 | + } |
| 12 | 11 | ||
| 13 | -//暂时性解决diolag 问题 https://github.com/ElemeFE/element/issues/2461 | 12 | + //暂时性解决diolag 问题 https://github.com/ElemeFE/element/issues/2461 |
| 14 | -.el-dialog { | 13 | + .el-dialog { |
| 15 | transform: none; | 14 | transform: none; |
| 16 | left: 0; | 15 | left: 0; |
| 17 | position: relative; | 16 | position: relative; |
| 18 | margin: 0 auto; | 17 | margin: 0 auto; |
| 19 | -} | 18 | + } |
| 20 | 19 | ||
| 21 | -//element ui upload | 20 | + //element ui upload |
| 22 | -.upload-container { | 21 | + .upload-container { |
| 23 | .el-upload { | 22 | .el-upload { |
| 24 | width: 100%; | 23 | width: 100%; |
| 24 | + | ||
| 25 | .el-upload-dragger { | 25 | .el-upload-dragger { |
| 26 | width: 100%; | 26 | width: 100%; |
| 27 | height: 200px; | 27 | height: 200px; |
| 28 | } | 28 | } |
| 29 | } | 29 | } |
| 30 | -} | ||
| 31 | -// 设置当选中时,popr的背景色被设置为白色的尴尬场景 | ||
| 32 | -.el-menu--vertical{ | ||
| 33 | - /deep/.el-menu--popup{ | ||
| 34 | - /deep/ .el-menu-item.is-active{ | ||
| 35 | - background-color: $Theme-color !important; | ||
| 36 | - } | ||
| 37 | } | 30 | } |
| 38 | -} | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| 31 | + | ... | ... |
| ... | @@ -3,17 +3,22 @@ | ... | @@ -3,17 +3,22 @@ |
| 3 | @import './transition.scss'; | 3 | @import './transition.scss'; |
| 4 | @import './element-ui.scss'; | 4 | @import './element-ui.scss'; |
| 5 | @import './sidebar.scss'; | 5 | @import './sidebar.scss'; |
| 6 | -@import './color.scss'; | ||
| 7 | 6 | ||
| 8 | body { | 7 | body { |
| 9 | -moz-osx-font-smoothing: grayscale; | 8 | -moz-osx-font-smoothing: grayscale; |
| 10 | -webkit-font-smoothing: antialiased; | 9 | -webkit-font-smoothing: antialiased; |
| 11 | text-rendering: optimizeLegibility; | 10 | text-rendering: optimizeLegibility; |
| 12 | font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif; | 11 | font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif; |
| 12 | + margin: 0; | ||
| 13 | + padding: 0; | ||
| 13 | } | 14 | } |
| 14 | 15 | ||
| 15 | html { | 16 | html { |
| 16 | box-sizing: border-box; | 17 | box-sizing: border-box; |
| 18 | + | ||
| 19 | + ::-webkit-scrollbar { | ||
| 20 | + display: none; | ||
| 21 | + } | ||
| 17 | } | 22 | } |
| 18 | 23 | ||
| 19 | *, | 24 | *, |
| ... | @@ -22,7 +27,7 @@ html { | ... | @@ -22,7 +27,7 @@ html { |
| 22 | box-sizing: inherit; | 27 | box-sizing: inherit; |
| 23 | } | 28 | } |
| 24 | 29 | ||
| 25 | -div:focus{ | 30 | +div:focus { |
| 26 | outline: none; | 31 | outline: none; |
| 27 | } | 32 | } |
| 28 | 33 | ||
| ... | @@ -51,7 +56,7 @@ a:hover { | ... | @@ -51,7 +56,7 @@ a:hover { |
| 51 | } | 56 | } |
| 52 | 57 | ||
| 53 | //main-container全局样式 | 58 | //main-container全局样式 |
| 54 | -.app-main{ | 59 | +.app-main { |
| 55 | min-height: 100% | 60 | min-height: 100% |
| 56 | } | 61 | } |
| 57 | 62 | ... | ... |
| ... | @@ -18,7 +18,6 @@ | ... | @@ -18,7 +18,6 @@ |
| 18 | height: 100%; | 18 | height: 100%; |
| 19 | position: fixed; | 19 | position: fixed; |
| 20 | font-size: 0px; | 20 | font-size: 0px; |
| 21 | - top: 0; | ||
| 22 | bottom: 0; | 21 | bottom: 0; |
| 23 | left: 0; | 22 | left: 0; |
| 24 | z-index: 1001; | 23 | z-index: 1001; |
| ... | @@ -30,7 +29,7 @@ | ... | @@ -30,7 +29,7 @@ |
| 30 | } | 29 | } |
| 31 | 30 | ||
| 32 | .svg-icon { | 31 | .svg-icon { |
| 33 | - margin-right: 16px; | 32 | + margin-left: 14px; |
| 34 | } | 33 | } |
| 35 | 34 | ||
| 36 | .el-menu { | 35 | .el-menu { |
| ... | @@ -41,16 +40,16 @@ | ... | @@ -41,16 +40,16 @@ |
| 41 | 40 | ||
| 42 | .hideSidebar { | 41 | .hideSidebar { |
| 43 | .sidebar-container { | 42 | .sidebar-container { |
| 44 | - width: 36px !important; | 43 | + width: 60px !important; |
| 45 | } | 44 | } |
| 46 | 45 | ||
| 47 | .navbar-header-fixed { | 46 | .navbar-header-fixed { |
| 48 | - width: calc(100% - 36px); | 47 | + width: calc(100% - 60px); |
| 49 | ; | 48 | ; |
| 50 | } | 49 | } |
| 51 | 50 | ||
| 52 | .main-container { | 51 | .main-container { |
| 53 | - margin-left: 36px; | 52 | + margin-left: 60px; |
| 54 | } | 53 | } |
| 55 | 54 | ||
| 56 | .submenu-title-noDropdown { | 55 | .submenu-title-noDropdown { |
| ... | @@ -84,11 +83,6 @@ | ... | @@ -84,11 +83,6 @@ |
| 84 | .sidebar-container .nest-menu .el-submenu>.el-submenu__title, | 83 | .sidebar-container .nest-menu .el-submenu>.el-submenu__title, |
| 85 | .sidebar-container .el-submenu .el-menu-item { | 84 | .sidebar-container .el-submenu .el-menu-item { |
| 86 | min-width: 180px !important; | 85 | min-width: 180px !important; |
| 87 | - background-color: $Theme-color !important; | ||
| 88 | - | ||
| 89 | - &:hover { | ||
| 90 | - background-color: $Theme-color !important; | ||
| 91 | - } | ||
| 92 | } | 86 | } |
| 93 | 87 | ||
| 94 | .el-menu--collapse .el-menu .el-submenu { | 88 | .el-menu--collapse .el-menu .el-submenu { | ... | ... |
src/renderer/tools/dialog.js
deleted
100644 → 0
| 1 | -export default { | ||
| 2 | - /** | ||
| 3 | - * @export | ||
| 4 | - * @param {Array} data | ||
| 5 | - * @param {Object} dialog | ||
| 6 | - * @param {function} fun | ||
| 7 | - * @returns | ||
| 8 | - * @feature 消息弹窗通用函数 | ||
| 9 | - */ | ||
| 10 | - MessageBox (dialog, data, fun) { | ||
| 11 | - return new Promise((resolve, reject) => { | ||
| 12 | - dialog.showMessageBox({ | ||
| 13 | - type: 'info', | ||
| 14 | - title: data.title, | ||
| 15 | - buttons: data.buttons, | ||
| 16 | - message: data.message | ||
| 17 | - }, index => { | ||
| 18 | - if (index === 0) { | ||
| 19 | - let tempfun = async () => { | ||
| 20 | - try { | ||
| 21 | - resolve(await fun) | ||
| 22 | - } catch (error) { | ||
| 23 | - reject(error) | ||
| 24 | - } | ||
| 25 | - } | ||
| 26 | - tempfun() | ||
| 27 | - } | ||
| 28 | - }) | ||
| 29 | - }) | ||
| 30 | - }, | ||
| 31 | - /** | ||
| 32 | - * @export | ||
| 33 | - * @param {Array} data | ||
| 34 | - * @param {Object} dialog | ||
| 35 | - * @returns | ||
| 36 | - * @feature 错误消息弹窗 | ||
| 37 | - */ | ||
| 38 | - ErrorMessageBox (dialog, data) { | ||
| 39 | - return dialog.showErrorBox( | ||
| 40 | - data.title, | ||
| 41 | - data.message | ||
| 42 | - ) | ||
| 43 | - } | ||
| 44 | -} |
src/renderer/tools/notification.js
0 → 100644
| 1 | +/** | ||
| 2 | + * @export | ||
| 3 | + * @Author: Sky | ||
| 4 | + * @Date: 2019-09-29 20:23:16 | ||
| 5 | + * @Last Modified by: Sky | ||
| 6 | + * @Last Modified time: 2019-09-29 21:01:24 | ||
| 7 | + * @param {Object} option | ||
| 8 | + * @returns | ||
| 9 | + * @feature 对于普通的通知只需要加入传入title,body;而对于需要图标的还需要传入icon,当然它也接受一个图片链接,当用户点击通知之后,会返回一个true | ||
| 10 | + * 由于是一个promise,请使用then接受 | ||
| 11 | + **/ | ||
| 12 | + | ||
| 13 | +export default { | ||
| 14 | + DesktopMsg (option) { | ||
| 15 | + const msgfunc = new window.Notification(option.title, option) | ||
| 16 | + return new Promise((resolve) => { | ||
| 17 | + msgfunc.onclick = () => { | ||
| 18 | + resolve(true) | ||
| 19 | + } | ||
| 20 | + }) | ||
| 21 | + } | ||
| 22 | +} |
src/renderer/utils/ipcRenderer.js
0 → 100644
| 1 | +import $electron from 'electron' | ||
| 2 | + | ||
| 3 | +export default { | ||
| 4 | + send (data, arg, cb) { | ||
| 5 | + $electron.ipcRenderer.send(data, arg, (event, arg) => cb(event, arg)) | ||
| 6 | + }, | ||
| 7 | + on (data, arg, cb) { | ||
| 8 | + $electron.ipcRenderer.on(data, arg, (event, arg) => cb(event, arg)) | ||
| 9 | + }, | ||
| 10 | + remove (data) { | ||
| 11 | + $electron.ipcRenderer.removeAllListeners(data) | ||
| 12 | + } | ||
| 13 | +} |
| ... | @@ -9,9 +9,7 @@ | ... | @@ -9,9 +9,7 @@ |
| 9 | </div> | 9 | </div> |
| 10 | <div class="bullshit"> | 10 | <div class="bullshit"> |
| 11 | <div class="bullshit__oops">OOPS!</div> | 11 | <div class="bullshit__oops">OOPS!</div> |
| 12 | - <div class="bullshit__info">版权所有<a class="link-type" href="https://wallstreetcn.com" target='_blank'>华尔街见闻</a></div> | 12 | + <div class="bullshit__info">您似乎进到了一个次元世界,请点击以下按钮返回主页或者发送错误报告</div> |
| 13 | - <div class="bullshit__headline">{{ message }}</div> | ||
| 14 | - <div class="bullshit__info">请检查您输入的网址是否正确,请点击以下按钮返回主页或者发送错误报告</div> | ||
| 15 | <a href="/" class="bullshit__return-home">返回首页</a> | 13 | <a href="/" class="bullshit__return-home">返回首页</a> |
| 16 | </div> | 14 | </div> |
| 17 | </div> | 15 | </div> |
| ... | @@ -28,11 +26,6 @@ export default { | ... | @@ -28,11 +26,6 @@ export default { |
| 28 | img_404, | 26 | img_404, |
| 29 | img_404_cloud | 27 | img_404_cloud |
| 30 | } | 28 | } |
| 31 | - }, | ||
| 32 | - computed: { | ||
| 33 | - message() { | ||
| 34 | - return '特朗普说这个页面你不能进......' | ||
| 35 | - } | ||
| 36 | } | 29 | } |
| 37 | } | 30 | } |
| 38 | </script> | 31 | </script> | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <div class="app-container"> | 2 | <div class="app-container"> |
| 3 | <el-form ref="form" :model="form" label-width="120px"> | 3 | <el-form ref="form" :model="form" label-width="120px"> |
| 4 | - <el-form-item label="Activity name"> | 4 | + <el-form-item label="活动名称"> |
| 5 | <el-input v-model="form.name"></el-input> | 5 | <el-input v-model="form.name"></el-input> |
| 6 | </el-form-item> | 6 | </el-form-item> |
| 7 | - <el-form-item label="Activity zone"> | 7 | + <el-form-item label="活动地点"> |
| 8 | - <el-select v-model="form.region" placeholder="please select your zone"> | 8 | + <el-select v-model="form.region" placeholder="请选择活动地点"> |
| 9 | - <el-option label="Zone one" value="shanghai"></el-option> | 9 | + <el-option label="上海" value="上海"></el-option> |
| 10 | - <el-option label="Zone two" value="beijing"></el-option> | 10 | + <el-option label="北京" value="北京"></el-option> |
| 11 | </el-select> | 11 | </el-select> |
| 12 | </el-form-item> | 12 | </el-form-item> |
| 13 | - <el-form-item label="Activity time"> | 13 | + <el-form-item label="活动时间"> |
| 14 | <el-col :span="11"> | 14 | <el-col :span="11"> |
| 15 | - <el-date-picker type="date" placeholder="Pick a date" v-model="form.date1" style="width: 100%;"></el-date-picker> | 15 | + <el-date-picker type="date" placeholder="选择时间" v-model="form.date1" style="width: 100%;"></el-date-picker> |
| 16 | </el-col> | 16 | </el-col> |
| 17 | <el-col class="line" :span="2">-</el-col> | 17 | <el-col class="line" :span="2">-</el-col> |
| 18 | <el-col :span="11"> | 18 | <el-col :span="11"> |
| 19 | - <el-time-picker type="fixed-time" placeholder="Pick a time" v-model="form.date2" style="width: 100%;"></el-time-picker> | 19 | + <el-time-picker |
| 20 | + type="fixed-time" | ||
| 21 | + placeholder="选择时间" | ||
| 22 | + v-model="form.date2" | ||
| 23 | + style="width: 100%;" | ||
| 24 | + ></el-time-picker> | ||
| 20 | </el-col> | 25 | </el-col> |
| 21 | </el-form-item> | 26 | </el-form-item> |
| 22 | - <el-form-item label="Instant delivery"> | 27 | + <el-form-item label="即时交付"> |
| 23 | <el-switch v-model="form.delivery"></el-switch> | 28 | <el-switch v-model="form.delivery"></el-switch> |
| 24 | </el-form-item> | 29 | </el-form-item> |
| 25 | - <el-form-item label="Activity type"> | 30 | + <el-form-item label="额外选项"> |
| 26 | <el-checkbox-group v-model="form.type"> | 31 | <el-checkbox-group v-model="form.type"> |
| 27 | - <el-checkbox label="Online activities" name="type"></el-checkbox> | 32 | + <el-checkbox label="在线活动" name="type"></el-checkbox> |
| 28 | - <el-checkbox label="Promotion activities" name="type"></el-checkbox> | 33 | + <el-checkbox label="促销活动" name="type"></el-checkbox> |
| 29 | - <el-checkbox label="Offline activities" name="type"></el-checkbox> | 34 | + <el-checkbox label="线下活动" name="type"></el-checkbox> |
| 30 | - <el-checkbox label="Simple brand exposure" name="type"></el-checkbox> | 35 | + <el-checkbox label="发布会活动" name="type"></el-checkbox> |
| 31 | </el-checkbox-group> | 36 | </el-checkbox-group> |
| 32 | </el-form-item> | 37 | </el-form-item> |
| 33 | - <el-form-item label="Resources"> | 38 | + <el-form-item label="资源选项"> |
| 34 | <el-radio-group v-model="form.resource"> | 39 | <el-radio-group v-model="form.resource"> |
| 35 | - <el-radio label="Sponsor"></el-radio> | 40 | + <el-radio label="需要赞助商"></el-radio> |
| 36 | - <el-radio label="Venue"></el-radio> | 41 | + <el-radio label="不需要赞助商"></el-radio> |
| 37 | </el-radio-group> | 42 | </el-radio-group> |
| 38 | </el-form-item> | 43 | </el-form-item> |
| 39 | - <el-form-item label="Activity form"> | 44 | + <el-form-item label="活动详情"> |
| 40 | - <el-input type="textarea" v-model="form.desc"></el-input> | 45 | + <tinymce v-model="form.desc" :height="300" /> |
| 41 | </el-form-item> | 46 | </el-form-item> |
| 42 | <el-form-item> | 47 | <el-form-item> |
| 43 | <el-button type="primary" @click="onSubmit">Create</el-button> | 48 | <el-button type="primary" @click="onSubmit">Create</el-button> |
| ... | @@ -48,37 +53,39 @@ | ... | @@ -48,37 +53,39 @@ |
| 48 | </template> | 53 | </template> |
| 49 | 54 | ||
| 50 | <script> | 55 | <script> |
| 56 | +import Tinymce from "@/components/Tinymce"; | ||
| 51 | export default { | 57 | export default { |
| 58 | + components: { Tinymce }, | ||
| 52 | data() { | 59 | data() { |
| 53 | return { | 60 | return { |
| 54 | form: { | 61 | form: { |
| 55 | - name: '', | 62 | + name: "", |
| 56 | - region: '', | 63 | + region: "", |
| 57 | - date1: '', | 64 | + date1: "", |
| 58 | - date2: '', | 65 | + date2: "", |
| 59 | delivery: false, | 66 | delivery: false, |
| 60 | type: [], | 67 | type: [], |
| 61 | - resource: '', | 68 | + resource: "", |
| 62 | - desc: '' | 69 | + desc: "" |
| 63 | - } | ||
| 64 | } | 70 | } |
| 71 | + }; | ||
| 65 | }, | 72 | }, |
| 66 | methods: { | 73 | methods: { |
| 67 | onSubmit() { | 74 | onSubmit() { |
| 68 | - this.$message('submit!') | 75 | + this.$message("submit!"); |
| 69 | }, | 76 | }, |
| 70 | onCancel() { | 77 | onCancel() { |
| 71 | this.$message({ | 78 | this.$message({ |
| 72 | - message: 'cancel!', | 79 | + message: "cancel!", |
| 73 | - type: 'warning' | 80 | + type: "warning" |
| 74 | - }) | 81 | + }); |
| 75 | } | 82 | } |
| 76 | } | 83 | } |
| 77 | -} | 84 | +}; |
| 78 | </script> | 85 | </script> |
| 79 | 86 | ||
| 80 | <style scoped> | 87 | <style scoped> |
| 81 | -.line{ | 88 | +.line { |
| 82 | text-align: center; | 89 | text-align: center; |
| 83 | } | 90 | } |
| 84 | </style> | 91 | </style> | ... | ... |
static/loader.html
0 → 100644
| 1 | +<!doctype html> | ||
| 2 | +<html> | ||
| 3 | + | ||
| 4 | +<head> | ||
| 5 | + <meta charset="utf-8"> | ||
| 6 | + <title></title> | ||
| 7 | + | ||
| 8 | + <style> | ||
| 9 | + html { | ||
| 10 | + height: 100%; | ||
| 11 | + min-height: 100%; | ||
| 12 | + overflow: hidden; | ||
| 13 | + } | ||
| 14 | + | ||
| 15 | + html body { | ||
| 16 | + background-size: 163px; | ||
| 17 | + font: 14px/21px Monaco, sans-serif; | ||
| 18 | + color: #999; | ||
| 19 | + -webkit-font-smoothing: antialiased; | ||
| 20 | + -webkit-text-size-adjust: 100%; | ||
| 21 | + -moz-text-size-adjust: 100%; | ||
| 22 | + -ms-text-size-adjust: 100%; | ||
| 23 | + text-size-adjust: 100%; | ||
| 24 | + height: 100%; | ||
| 25 | + min-height: 100%; | ||
| 26 | + margin: 0px; | ||
| 27 | + } | ||
| 28 | + | ||
| 29 | + html body h4 { | ||
| 30 | + margin: 0; | ||
| 31 | + } | ||
| 32 | + | ||
| 33 | + .scene { | ||
| 34 | + display: flex; | ||
| 35 | + justify-content: center; | ||
| 36 | + align-items: center; | ||
| 37 | + height: 100%; | ||
| 38 | + background: #222; | ||
| 39 | + position: relative; | ||
| 40 | + } | ||
| 41 | + | ||
| 42 | + .loader { | ||
| 43 | + position: relative; | ||
| 44 | + width: 15em; | ||
| 45 | + height: 15em; | ||
| 46 | + background: linear-gradient(-225deg, #ff3cac 0%, #562b7c 52%, #2b86c5 100%); | ||
| 47 | + border-radius: 50%; | ||
| 48 | + animation: spin 0.5s linear infinite; | ||
| 49 | + } | ||
| 50 | + | ||
| 51 | + span { | ||
| 52 | + position: absolute; | ||
| 53 | + width: 100%; | ||
| 54 | + height: 100%; | ||
| 55 | + border-radius: inherit; | ||
| 56 | + background: inherit; | ||
| 57 | + } | ||
| 58 | + | ||
| 59 | + span:nth-child(1) { | ||
| 60 | + filter: blur(5px); | ||
| 61 | + } | ||
| 62 | + | ||
| 63 | + span:nth-child(2) { | ||
| 64 | + filter: blur(10px); | ||
| 65 | + } | ||
| 66 | + | ||
| 67 | + span:nth-child(3) { | ||
| 68 | + filter: blur(25px); | ||
| 69 | + } | ||
| 70 | + | ||
| 71 | + span:nth-child(4) { | ||
| 72 | + filter: blur(50px); | ||
| 73 | + } | ||
| 74 | + | ||
| 75 | + span::after { | ||
| 76 | + position: absolute; | ||
| 77 | + content: ""; | ||
| 78 | + top: 10px; | ||
| 79 | + left: 10px; | ||
| 80 | + right: 10px; | ||
| 81 | + bottom: 10px; | ||
| 82 | + background: #222; | ||
| 83 | + border-radius: inherit; | ||
| 84 | + } | ||
| 85 | + | ||
| 86 | + .text { | ||
| 87 | + position: absolute; | ||
| 88 | + opacity: 0; | ||
| 89 | + animation: breath 3s ease-in-out infinite; | ||
| 90 | + } | ||
| 91 | + | ||
| 92 | + @keyframes breath { | ||
| 93 | + from { | ||
| 94 | + opacity: 0.05; | ||
| 95 | + } | ||
| 96 | + | ||
| 97 | + 50% { | ||
| 98 | + opacity: 1; | ||
| 99 | + } | ||
| 100 | + | ||
| 101 | + to { | ||
| 102 | + opacity: 0.05; | ||
| 103 | + } | ||
| 104 | + } | ||
| 105 | + | ||
| 106 | + @keyframes spin { | ||
| 107 | + to { | ||
| 108 | + transform: rotate(1turn); | ||
| 109 | + } | ||
| 110 | + } | ||
| 111 | + </style> | ||
| 112 | +</head> | ||
| 113 | + | ||
| 114 | +<body> | ||
| 115 | + <div class="scene"> | ||
| 116 | + <div class="loader"> | ||
| 117 | + <span></span> | ||
| 118 | + <span></span> | ||
| 119 | + <span></span> | ||
| 120 | + <span></span> | ||
| 121 | + </div> | ||
| 122 | + <div class="text">正在准备资源中...</div> | ||
| 123 | + </div> | ||
| 124 | + | ||
| 125 | +</body> | ||
| 126 | + | ||
| 127 | +</html> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
-
请 注册 或 登录 后发表评论