diff --git a/.env.development b/.env.development index a4955da..6fa2590 100644 --- a/.env.development +++ b/.env.development @@ -1,2 +1,5 @@ NODE_ENV=development -VUE_APP_BASE_URL=" http://127.0.0.1:8083" \ No newline at end of file +# VUE_APP_BASE_URL="http://127.0.0.1:8083" +VUE_APP_BASE_URL="http://192.168.8.111:8083" +# VUE_APP_BASE_URL="/api" + diff --git a/.env.development b/.env.development index a4955da..6fa2590 100644 --- a/.env.development +++ b/.env.development @@ -1,2 +1,5 @@ NODE_ENV=development -VUE_APP_BASE_URL=" http://127.0.0.1:8083" \ No newline at end of file +# VUE_APP_BASE_URL="http://127.0.0.1:8083" +VUE_APP_BASE_URL="http://192.168.8.111:8083" +# VUE_APP_BASE_URL="/api" + diff --git a/.env.production b/.env.production index 803eccf..5b95f0d 100644 --- a/.env.production +++ b/.env.production @@ -1,2 +1,2 @@ NODE_ENV=development -VUE_APP_BASE_URL="http://localhost:8001" \ No newline at end of file +VUE_APP_BASE_URL="http://192.168.8.111:8083" \ No newline at end of file diff --git a/.env.development b/.env.development index a4955da..6fa2590 100644 --- a/.env.development +++ b/.env.development @@ -1,2 +1,5 @@ NODE_ENV=development -VUE_APP_BASE_URL=" http://127.0.0.1:8083" \ No newline at end of file +# VUE_APP_BASE_URL="http://127.0.0.1:8083" +VUE_APP_BASE_URL="http://192.168.8.111:8083" +# VUE_APP_BASE_URL="/api" + diff --git a/.env.production b/.env.production index 803eccf..5b95f0d 100644 --- a/.env.production +++ b/.env.production @@ -1,2 +1,2 @@ NODE_ENV=development -VUE_APP_BASE_URL="http://localhost:8001" \ No newline at end of file +VUE_APP_BASE_URL="http://192.168.8.111:8083" \ No newline at end of file diff --git a/build/build.js b/build/build.js deleted file mode 100644 index 8d125da..0000000 --- a/build/build.js +++ /dev/null @@ -1,56 +0,0 @@ -'use strict' -// npm和node版本检查 -require('./check-versions')() -//设置环境变量为production -process.env.NODE_ENV = 'production' -// ora是一个命令行转圈圈动画插件,好看用的 -const ora = require('ora') -// rimraf插件是用来执行UNIX命令rm和-rf的用来删除文件夹和文件,清空旧的文件 -const rm = require('rimraf') -// node.js路径模块 -const path = require('path') -// chalk插件,用来在命令行中输入不同颜色的文字 -const chalk = require('chalk') -// 引入webpack模块使用内置插件和webpack方法 -const webpack = require('webpack') -// 引入config下的index.js配置文件,此配置文件我之前介绍了请自行查阅,主要配置的是一些通用的选项 -const config = require('../config') -// 下面是生产模式的webpack配置文件 -const webpackConfig = require('./webpack.prod.conf') -// 开启转圈圈动画 -const spinner = ora('building for production...') -spinner.start() -// 调用rm方法,第一个参数的结果就是 dist/static,表示删除这个路径下面的所有文件 -rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => { - // 如果删除的过程中出现错误,就抛出这个错误,同时程序终止 - if (err) throw err - // 没有错误,就执行webpack编译 - webpack(webpackConfig, (err, stats) => { - // 这个回调函数是webpack编译过程中执行 - spinner.stop()// 停止转圈圈动画 - if (err) throw err - // 没有错误就执行下面的代码,process.stdout.write和console.log类似,输出对象 - process.stdout.write( - stats.toString({ - colors: true, - modules: false, - children: false, - chunks: false, - chunkModules: false - }) + '\n\n' - ) - // 以上就是在编译过程中,持续打印消息 - if (stats.hasErrors()) { - console.log(chalk.red(' Build failed with errors.\n')) - process.exit(1) - } - // 下面是编译成功的消息 - console.log(chalk.cyan(' Build complete.\n')) - console.log( - chalk.yellow( - ' Tip: built files are meant to be served over an HTTP server.\n' + - " Opening index.html over file:// won't work.\n" - ) - ) - }) -}) diff --git a/.env.development b/.env.development index a4955da..6fa2590 100644 --- a/.env.development +++ b/.env.development @@ -1,2 +1,5 @@ NODE_ENV=development -VUE_APP_BASE_URL=" http://127.0.0.1:8083" \ No newline at end of file +# VUE_APP_BASE_URL="http://127.0.0.1:8083" +VUE_APP_BASE_URL="http://192.168.8.111:8083" +# VUE_APP_BASE_URL="/api" + diff --git a/.env.production b/.env.production index 803eccf..5b95f0d 100644 --- a/.env.production +++ b/.env.production @@ -1,2 +1,2 @@ NODE_ENV=development -VUE_APP_BASE_URL="http://localhost:8001" \ No newline at end of file +VUE_APP_BASE_URL="http://192.168.8.111:8083" \ No newline at end of file diff --git a/build/build.js b/build/build.js deleted file mode 100644 index 8d125da..0000000 --- a/build/build.js +++ /dev/null @@ -1,56 +0,0 @@ -'use strict' -// npm和node版本检查 -require('./check-versions')() -//设置环境变量为production -process.env.NODE_ENV = 'production' -// ora是一个命令行转圈圈动画插件,好看用的 -const ora = require('ora') -// rimraf插件是用来执行UNIX命令rm和-rf的用来删除文件夹和文件,清空旧的文件 -const rm = require('rimraf') -// node.js路径模块 -const path = require('path') -// chalk插件,用来在命令行中输入不同颜色的文字 -const chalk = require('chalk') -// 引入webpack模块使用内置插件和webpack方法 -const webpack = require('webpack') -// 引入config下的index.js配置文件,此配置文件我之前介绍了请自行查阅,主要配置的是一些通用的选项 -const config = require('../config') -// 下面是生产模式的webpack配置文件 -const webpackConfig = require('./webpack.prod.conf') -// 开启转圈圈动画 -const spinner = ora('building for production...') -spinner.start() -// 调用rm方法,第一个参数的结果就是 dist/static,表示删除这个路径下面的所有文件 -rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => { - // 如果删除的过程中出现错误,就抛出这个错误,同时程序终止 - if (err) throw err - // 没有错误,就执行webpack编译 - webpack(webpackConfig, (err, stats) => { - // 这个回调函数是webpack编译过程中执行 - spinner.stop()// 停止转圈圈动画 - if (err) throw err - // 没有错误就执行下面的代码,process.stdout.write和console.log类似,输出对象 - process.stdout.write( - stats.toString({ - colors: true, - modules: false, - children: false, - chunks: false, - chunkModules: false - }) + '\n\n' - ) - // 以上就是在编译过程中,持续打印消息 - if (stats.hasErrors()) { - console.log(chalk.red(' Build failed with errors.\n')) - process.exit(1) - } - // 下面是编译成功的消息 - console.log(chalk.cyan(' Build complete.\n')) - console.log( - chalk.yellow( - ' Tip: built files are meant to be served over an HTTP server.\n' + - " Opening index.html over file:// won't work.\n" - ) - ) - }) -}) diff --git a/build/check-versions.js b/build/check-versions.js deleted file mode 100644 index c5c29e9..0000000 --- a/build/check-versions.js +++ /dev/null @@ -1,64 +0,0 @@ -'use strict' -const chalk = require('chalk') -const semver = require('semver') -const packageConfig = require('../package.json') -const shell = require('shelljs') - -function exec(cmd) { - return require('child_process') - .execSync(cmd) - .toString() - .trim() -} - -const versionRequirements = [ - { - name: 'node', - currentVersion: semver.clean(process.version), - versionRequirement: packageConfig.engines.node - } -] - -if (shell.which('npm')) { - versionRequirements.push({ - name: 'npm', - currentVersion: exec('npm --version'), - versionRequirement: packageConfig.engines.npm - }) -} - -module.exports = function() { - const warnings = [] - - for (let i = 0; i < versionRequirements.length; i++) { - const mod = versionRequirements[i] - - if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) { - warnings.push( - mod.name + - ': ' + - chalk.red(mod.currentVersion) + - ' should be ' + - chalk.green(mod.versionRequirement) - ) - } - } - - if (warnings.length) { - console.log('') - console.log( - chalk.yellow( - 'To use this template, you must update following to modules:' - ) - ) - console.log() - - for (let i = 0; i < warnings.length; i++) { - const warning = warnings[i] - console.log(' ' + warning) - } - - console.log() - process.exit(1) - } -} diff --git a/.env.development b/.env.development index a4955da..6fa2590 100644 --- a/.env.development +++ b/.env.development @@ -1,2 +1,5 @@ NODE_ENV=development -VUE_APP_BASE_URL=" http://127.0.0.1:8083" \ No newline at end of file +# VUE_APP_BASE_URL="http://127.0.0.1:8083" +VUE_APP_BASE_URL="http://192.168.8.111:8083" +# VUE_APP_BASE_URL="/api" + diff --git a/.env.production b/.env.production index 803eccf..5b95f0d 100644 --- a/.env.production +++ b/.env.production @@ -1,2 +1,2 @@ NODE_ENV=development -VUE_APP_BASE_URL="http://localhost:8001" \ No newline at end of file +VUE_APP_BASE_URL="http://192.168.8.111:8083" \ No newline at end of file diff --git a/build/build.js b/build/build.js deleted file mode 100644 index 8d125da..0000000 --- a/build/build.js +++ /dev/null @@ -1,56 +0,0 @@ -'use strict' -// npm和node版本检查 -require('./check-versions')() -//设置环境变量为production -process.env.NODE_ENV = 'production' -// ora是一个命令行转圈圈动画插件,好看用的 -const ora = require('ora') -// rimraf插件是用来执行UNIX命令rm和-rf的用来删除文件夹和文件,清空旧的文件 -const rm = require('rimraf') -// node.js路径模块 -const path = require('path') -// chalk插件,用来在命令行中输入不同颜色的文字 -const chalk = require('chalk') -// 引入webpack模块使用内置插件和webpack方法 -const webpack = require('webpack') -// 引入config下的index.js配置文件,此配置文件我之前介绍了请自行查阅,主要配置的是一些通用的选项 -const config = require('../config') -// 下面是生产模式的webpack配置文件 -const webpackConfig = require('./webpack.prod.conf') -// 开启转圈圈动画 -const spinner = ora('building for production...') -spinner.start() -// 调用rm方法,第一个参数的结果就是 dist/static,表示删除这个路径下面的所有文件 -rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => { - // 如果删除的过程中出现错误,就抛出这个错误,同时程序终止 - if (err) throw err - // 没有错误,就执行webpack编译 - webpack(webpackConfig, (err, stats) => { - // 这个回调函数是webpack编译过程中执行 - spinner.stop()// 停止转圈圈动画 - if (err) throw err - // 没有错误就执行下面的代码,process.stdout.write和console.log类似,输出对象 - process.stdout.write( - stats.toString({ - colors: true, - modules: false, - children: false, - chunks: false, - chunkModules: false - }) + '\n\n' - ) - // 以上就是在编译过程中,持续打印消息 - if (stats.hasErrors()) { - console.log(chalk.red(' Build failed with errors.\n')) - process.exit(1) - } - // 下面是编译成功的消息 - console.log(chalk.cyan(' Build complete.\n')) - console.log( - chalk.yellow( - ' Tip: built files are meant to be served over an HTTP server.\n' + - " Opening index.html over file:// won't work.\n" - ) - ) - }) -}) diff --git a/build/check-versions.js b/build/check-versions.js deleted file mode 100644 index c5c29e9..0000000 --- a/build/check-versions.js +++ /dev/null @@ -1,64 +0,0 @@ -'use strict' -const chalk = require('chalk') -const semver = require('semver') -const packageConfig = require('../package.json') -const shell = require('shelljs') - -function exec(cmd) { - return require('child_process') - .execSync(cmd) - .toString() - .trim() -} - -const versionRequirements = [ - { - name: 'node', - currentVersion: semver.clean(process.version), - versionRequirement: packageConfig.engines.node - } -] - -if (shell.which('npm')) { - versionRequirements.push({ - name: 'npm', - currentVersion: exec('npm --version'), - versionRequirement: packageConfig.engines.npm - }) -} - -module.exports = function() { - const warnings = [] - - for (let i = 0; i < versionRequirements.length; i++) { - const mod = versionRequirements[i] - - if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) { - warnings.push( - mod.name + - ': ' + - chalk.red(mod.currentVersion) + - ' should be ' + - chalk.green(mod.versionRequirement) - ) - } - } - - if (warnings.length) { - console.log('') - console.log( - chalk.yellow( - 'To use this template, you must update following to modules:' - ) - ) - console.log() - - for (let i = 0; i < warnings.length; i++) { - const warning = warnings[i] - console.log(' ' + warning) - } - - console.log() - process.exit(1) - } -} diff --git a/build/logo.png b/build/logo.png deleted file mode 100644 index f3d2503..0000000 --- a/build/logo.png +++ /dev/null Binary files differ diff --git a/.env.development b/.env.development index a4955da..6fa2590 100644 --- a/.env.development +++ b/.env.development @@ -1,2 +1,5 @@ NODE_ENV=development -VUE_APP_BASE_URL=" http://127.0.0.1:8083" \ No newline at end of file +# VUE_APP_BASE_URL="http://127.0.0.1:8083" +VUE_APP_BASE_URL="http://192.168.8.111:8083" +# VUE_APP_BASE_URL="/api" + diff --git a/.env.production b/.env.production index 803eccf..5b95f0d 100644 --- a/.env.production +++ b/.env.production @@ -1,2 +1,2 @@ NODE_ENV=development -VUE_APP_BASE_URL="http://localhost:8001" \ No newline at end of file +VUE_APP_BASE_URL="http://192.168.8.111:8083" \ No newline at end of file diff --git a/build/build.js b/build/build.js deleted file mode 100644 index 8d125da..0000000 --- a/build/build.js +++ /dev/null @@ -1,56 +0,0 @@ -'use strict' -// npm和node版本检查 -require('./check-versions')() -//设置环境变量为production -process.env.NODE_ENV = 'production' -// ora是一个命令行转圈圈动画插件,好看用的 -const ora = require('ora') -// rimraf插件是用来执行UNIX命令rm和-rf的用来删除文件夹和文件,清空旧的文件 -const rm = require('rimraf') -// node.js路径模块 -const path = require('path') -// chalk插件,用来在命令行中输入不同颜色的文字 -const chalk = require('chalk') -// 引入webpack模块使用内置插件和webpack方法 -const webpack = require('webpack') -// 引入config下的index.js配置文件,此配置文件我之前介绍了请自行查阅,主要配置的是一些通用的选项 -const config = require('../config') -// 下面是生产模式的webpack配置文件 -const webpackConfig = require('./webpack.prod.conf') -// 开启转圈圈动画 -const spinner = ora('building for production...') -spinner.start() -// 调用rm方法,第一个参数的结果就是 dist/static,表示删除这个路径下面的所有文件 -rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => { - // 如果删除的过程中出现错误,就抛出这个错误,同时程序终止 - if (err) throw err - // 没有错误,就执行webpack编译 - webpack(webpackConfig, (err, stats) => { - // 这个回调函数是webpack编译过程中执行 - spinner.stop()// 停止转圈圈动画 - if (err) throw err - // 没有错误就执行下面的代码,process.stdout.write和console.log类似,输出对象 - process.stdout.write( - stats.toString({ - colors: true, - modules: false, - children: false, - chunks: false, - chunkModules: false - }) + '\n\n' - ) - // 以上就是在编译过程中,持续打印消息 - if (stats.hasErrors()) { - console.log(chalk.red(' Build failed with errors.\n')) - process.exit(1) - } - // 下面是编译成功的消息 - console.log(chalk.cyan(' Build complete.\n')) - console.log( - chalk.yellow( - ' Tip: built files are meant to be served over an HTTP server.\n' + - " Opening index.html over file:// won't work.\n" - ) - ) - }) -}) diff --git a/build/check-versions.js b/build/check-versions.js deleted file mode 100644 index c5c29e9..0000000 --- a/build/check-versions.js +++ /dev/null @@ -1,64 +0,0 @@ -'use strict' -const chalk = require('chalk') -const semver = require('semver') -const packageConfig = require('../package.json') -const shell = require('shelljs') - -function exec(cmd) { - return require('child_process') - .execSync(cmd) - .toString() - .trim() -} - -const versionRequirements = [ - { - name: 'node', - currentVersion: semver.clean(process.version), - versionRequirement: packageConfig.engines.node - } -] - -if (shell.which('npm')) { - versionRequirements.push({ - name: 'npm', - currentVersion: exec('npm --version'), - versionRequirement: packageConfig.engines.npm - }) -} - -module.exports = function() { - const warnings = [] - - for (let i = 0; i < versionRequirements.length; i++) { - const mod = versionRequirements[i] - - if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) { - warnings.push( - mod.name + - ': ' + - chalk.red(mod.currentVersion) + - ' should be ' + - chalk.green(mod.versionRequirement) - ) - } - } - - if (warnings.length) { - console.log('') - console.log( - chalk.yellow( - 'To use this template, you must update following to modules:' - ) - ) - console.log() - - for (let i = 0; i < warnings.length; i++) { - const warning = warnings[i] - console.log(' ' + warning) - } - - console.log() - process.exit(1) - } -} diff --git a/build/logo.png b/build/logo.png deleted file mode 100644 index f3d2503..0000000 --- a/build/logo.png +++ /dev/null Binary files differ diff --git a/build/utils.js b/build/utils.js deleted file mode 100644 index c96d093..0000000 --- a/build/utils.js +++ /dev/null @@ -1,108 +0,0 @@ -'use strict' -const path = require('path') -const config = require('../config') -const MiniCssExtractPlugin = require('mini-css-extract-plugin') -const packageConfig = require('../package.json') - -exports.assetsPath = function(_path) { - const assetsSubDirectory = - process.env.NODE_ENV === 'production' - ? config.build.assetsSubDirectory - : config.dev.assetsSubDirectory - - return path.posix.join(assetsSubDirectory, _path) -} - -exports.cssLoaders = function(options) { - options = options || {} - - const cssLoader = { - loader: 'css-loader', - options: { - sourceMap: options.sourceMap - } - } - - const postcssLoader = { - loader: 'postcss-loader', - options: { - sourceMap: options.sourceMap - } - } - - // generate loader string to be used with extract text plugin - function generateLoaders(loader, loaderOptions) { - const loaders = [] - - // Extract CSS when that option is specified - // (which is the case during production build) - if (options.extract) { - loaders.push(MiniCssExtractPlugin.loader) - } else { - loaders.push('vue-style-loader') - } - - loaders.push(cssLoader) - - if (options.usePostCSS) { - loaders.push(postcssLoader) - } - - if (loader) { - loaders.push({ - loader: loader + '-loader', - options: Object.assign({}, loaderOptions, { - sourceMap: options.sourceMap - }) - }) - } - - return loaders - } - // https://vue-loader.vuejs.org/en/configurations/extract-css.html - return { - css: generateLoaders(), - postcss: generateLoaders(), - less: generateLoaders('less'), - sass: generateLoaders('sass', { - indentedSyntax: true - }), - scss: generateLoaders('sass'), - stylus: generateLoaders('stylus'), - styl: generateLoaders('stylus') - } -} - -// Generate loaders for standalone style files (outside of .vue) -exports.styleLoaders = function(options) { - const output = [] - const loaders = exports.cssLoaders(options) - - for (const extension in loaders) { - const loader = loaders[extension] - output.push({ - test: new RegExp('\\.' + extension + '$'), - use: loader - }) - } - - return output -} - -exports.createNotifierCallback = () => { - const notifier = require('node-notifier') - - return (severity, errors) => { - if (severity !== 'error') return - - const error = errors[0] - const filename = error.file && error.file.split('!').pop() - - notifier.notify({ - title: packageConfig.name, - message: severity + ': ' + error.name, - subtitle: filename || '', - icon: path.join(__dirname, 'logo.png') - }) - } -} diff --git a/.env.development b/.env.development index a4955da..6fa2590 100644 --- a/.env.development +++ b/.env.development @@ -1,2 +1,5 @@ NODE_ENV=development -VUE_APP_BASE_URL=" http://127.0.0.1:8083" \ No newline at end of file +# VUE_APP_BASE_URL="http://127.0.0.1:8083" +VUE_APP_BASE_URL="http://192.168.8.111:8083" +# VUE_APP_BASE_URL="/api" + diff --git a/.env.production b/.env.production index 803eccf..5b95f0d 100644 --- a/.env.production +++ b/.env.production @@ -1,2 +1,2 @@ NODE_ENV=development -VUE_APP_BASE_URL="http://localhost:8001" \ No newline at end of file +VUE_APP_BASE_URL="http://192.168.8.111:8083" \ No newline at end of file diff --git a/build/build.js b/build/build.js deleted file mode 100644 index 8d125da..0000000 --- a/build/build.js +++ /dev/null @@ -1,56 +0,0 @@ -'use strict' -// npm和node版本检查 -require('./check-versions')() -//设置环境变量为production -process.env.NODE_ENV = 'production' -// ora是一个命令行转圈圈动画插件,好看用的 -const ora = require('ora') -// rimraf插件是用来执行UNIX命令rm和-rf的用来删除文件夹和文件,清空旧的文件 -const rm = require('rimraf') -// node.js路径模块 -const path = require('path') -// chalk插件,用来在命令行中输入不同颜色的文字 -const chalk = require('chalk') -// 引入webpack模块使用内置插件和webpack方法 -const webpack = require('webpack') -// 引入config下的index.js配置文件,此配置文件我之前介绍了请自行查阅,主要配置的是一些通用的选项 -const config = require('../config') -// 下面是生产模式的webpack配置文件 -const webpackConfig = require('./webpack.prod.conf') -// 开启转圈圈动画 -const spinner = ora('building for production...') -spinner.start() -// 调用rm方法,第一个参数的结果就是 dist/static,表示删除这个路径下面的所有文件 -rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => { - // 如果删除的过程中出现错误,就抛出这个错误,同时程序终止 - if (err) throw err - // 没有错误,就执行webpack编译 - webpack(webpackConfig, (err, stats) => { - // 这个回调函数是webpack编译过程中执行 - spinner.stop()// 停止转圈圈动画 - if (err) throw err - // 没有错误就执行下面的代码,process.stdout.write和console.log类似,输出对象 - process.stdout.write( - stats.toString({ - colors: true, - modules: false, - children: false, - chunks: false, - chunkModules: false - }) + '\n\n' - ) - // 以上就是在编译过程中,持续打印消息 - if (stats.hasErrors()) { - console.log(chalk.red(' Build failed with errors.\n')) - process.exit(1) - } - // 下面是编译成功的消息 - console.log(chalk.cyan(' Build complete.\n')) - console.log( - chalk.yellow( - ' Tip: built files are meant to be served over an HTTP server.\n' + - " Opening index.html over file:// won't work.\n" - ) - ) - }) -}) diff --git a/build/check-versions.js b/build/check-versions.js deleted file mode 100644 index c5c29e9..0000000 --- a/build/check-versions.js +++ /dev/null @@ -1,64 +0,0 @@ -'use strict' -const chalk = require('chalk') -const semver = require('semver') -const packageConfig = require('../package.json') -const shell = require('shelljs') - -function exec(cmd) { - return require('child_process') - .execSync(cmd) - .toString() - .trim() -} - -const versionRequirements = [ - { - name: 'node', - currentVersion: semver.clean(process.version), - versionRequirement: packageConfig.engines.node - } -] - -if (shell.which('npm')) { - versionRequirements.push({ - name: 'npm', - currentVersion: exec('npm --version'), - versionRequirement: packageConfig.engines.npm - }) -} - -module.exports = function() { - const warnings = [] - - for (let i = 0; i < versionRequirements.length; i++) { - const mod = versionRequirements[i] - - if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) { - warnings.push( - mod.name + - ': ' + - chalk.red(mod.currentVersion) + - ' should be ' + - chalk.green(mod.versionRequirement) - ) - } - } - - if (warnings.length) { - console.log('') - console.log( - chalk.yellow( - 'To use this template, you must update following to modules:' - ) - ) - console.log() - - for (let i = 0; i < warnings.length; i++) { - const warning = warnings[i] - console.log(' ' + warning) - } - - console.log() - process.exit(1) - } -} diff --git a/build/logo.png b/build/logo.png deleted file mode 100644 index f3d2503..0000000 --- a/build/logo.png +++ /dev/null Binary files differ diff --git a/build/utils.js b/build/utils.js deleted file mode 100644 index c96d093..0000000 --- a/build/utils.js +++ /dev/null @@ -1,108 +0,0 @@ -'use strict' -const path = require('path') -const config = require('../config') -const MiniCssExtractPlugin = require('mini-css-extract-plugin') -const packageConfig = require('../package.json') - -exports.assetsPath = function(_path) { - const assetsSubDirectory = - process.env.NODE_ENV === 'production' - ? config.build.assetsSubDirectory - : config.dev.assetsSubDirectory - - return path.posix.join(assetsSubDirectory, _path) -} - -exports.cssLoaders = function(options) { - options = options || {} - - const cssLoader = { - loader: 'css-loader', - options: { - sourceMap: options.sourceMap - } - } - - const postcssLoader = { - loader: 'postcss-loader', - options: { - sourceMap: options.sourceMap - } - } - - // generate loader string to be used with extract text plugin - function generateLoaders(loader, loaderOptions) { - const loaders = [] - - // Extract CSS when that option is specified - // (which is the case during production build) - if (options.extract) { - loaders.push(MiniCssExtractPlugin.loader) - } else { - loaders.push('vue-style-loader') - } - - loaders.push(cssLoader) - - if (options.usePostCSS) { - loaders.push(postcssLoader) - } - - if (loader) { - loaders.push({ - loader: loader + '-loader', - options: Object.assign({}, loaderOptions, { - sourceMap: options.sourceMap - }) - }) - } - - return loaders - } - // https://vue-loader.vuejs.org/en/configurations/extract-css.html - return { - css: generateLoaders(), - postcss: generateLoaders(), - less: generateLoaders('less'), - sass: generateLoaders('sass', { - indentedSyntax: true - }), - scss: generateLoaders('sass'), - stylus: generateLoaders('stylus'), - styl: generateLoaders('stylus') - } -} - -// Generate loaders for standalone style files (outside of .vue) -exports.styleLoaders = function(options) { - const output = [] - const loaders = exports.cssLoaders(options) - - for (const extension in loaders) { - const loader = loaders[extension] - output.push({ - test: new RegExp('\\.' + extension + '$'), - use: loader - }) - } - - return output -} - -exports.createNotifierCallback = () => { - const notifier = require('node-notifier') - - return (severity, errors) => { - if (severity !== 'error') return - - const error = errors[0] - const filename = error.file && error.file.split('!').pop() - - notifier.notify({ - title: packageConfig.name, - message: severity + ': ' + error.name, - subtitle: filename || '', - icon: path.join(__dirname, 'logo.png') - }) - } -} diff --git a/build/vue-loader.conf.js b/build/vue-loader.conf.js deleted file mode 100644 index 5496c93..0000000 --- a/build/vue-loader.conf.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict' - -module.exports = { - //You can set the vue-loader configuration by yourself. -} diff --git a/.env.development b/.env.development index a4955da..6fa2590 100644 --- a/.env.development +++ b/.env.development @@ -1,2 +1,5 @@ NODE_ENV=development -VUE_APP_BASE_URL=" http://127.0.0.1:8083" \ No newline at end of file +# VUE_APP_BASE_URL="http://127.0.0.1:8083" +VUE_APP_BASE_URL="http://192.168.8.111:8083" +# VUE_APP_BASE_URL="/api" + diff --git a/.env.production b/.env.production index 803eccf..5b95f0d 100644 --- a/.env.production +++ b/.env.production @@ -1,2 +1,2 @@ NODE_ENV=development -VUE_APP_BASE_URL="http://localhost:8001" \ No newline at end of file +VUE_APP_BASE_URL="http://192.168.8.111:8083" \ No newline at end of file diff --git a/build/build.js b/build/build.js deleted file mode 100644 index 8d125da..0000000 --- a/build/build.js +++ /dev/null @@ -1,56 +0,0 @@ -'use strict' -// npm和node版本检查 -require('./check-versions')() -//设置环境变量为production -process.env.NODE_ENV = 'production' -// ora是一个命令行转圈圈动画插件,好看用的 -const ora = require('ora') -// rimraf插件是用来执行UNIX命令rm和-rf的用来删除文件夹和文件,清空旧的文件 -const rm = require('rimraf') -// node.js路径模块 -const path = require('path') -// chalk插件,用来在命令行中输入不同颜色的文字 -const chalk = require('chalk') -// 引入webpack模块使用内置插件和webpack方法 -const webpack = require('webpack') -// 引入config下的index.js配置文件,此配置文件我之前介绍了请自行查阅,主要配置的是一些通用的选项 -const config = require('../config') -// 下面是生产模式的webpack配置文件 -const webpackConfig = require('./webpack.prod.conf') -// 开启转圈圈动画 -const spinner = ora('building for production...') -spinner.start() -// 调用rm方法,第一个参数的结果就是 dist/static,表示删除这个路径下面的所有文件 -rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => { - // 如果删除的过程中出现错误,就抛出这个错误,同时程序终止 - if (err) throw err - // 没有错误,就执行webpack编译 - webpack(webpackConfig, (err, stats) => { - // 这个回调函数是webpack编译过程中执行 - spinner.stop()// 停止转圈圈动画 - if (err) throw err - // 没有错误就执行下面的代码,process.stdout.write和console.log类似,输出对象 - process.stdout.write( - stats.toString({ - colors: true, - modules: false, - children: false, - chunks: false, - chunkModules: false - }) + '\n\n' - ) - // 以上就是在编译过程中,持续打印消息 - if (stats.hasErrors()) { - console.log(chalk.red(' Build failed with errors.\n')) - process.exit(1) - } - // 下面是编译成功的消息 - console.log(chalk.cyan(' Build complete.\n')) - console.log( - chalk.yellow( - ' Tip: built files are meant to be served over an HTTP server.\n' + - " Opening index.html over file:// won't work.\n" - ) - ) - }) -}) diff --git a/build/check-versions.js b/build/check-versions.js deleted file mode 100644 index c5c29e9..0000000 --- a/build/check-versions.js +++ /dev/null @@ -1,64 +0,0 @@ -'use strict' -const chalk = require('chalk') -const semver = require('semver') -const packageConfig = require('../package.json') -const shell = require('shelljs') - -function exec(cmd) { - return require('child_process') - .execSync(cmd) - .toString() - .trim() -} - -const versionRequirements = [ - { - name: 'node', - currentVersion: semver.clean(process.version), - versionRequirement: packageConfig.engines.node - } -] - -if (shell.which('npm')) { - versionRequirements.push({ - name: 'npm', - currentVersion: exec('npm --version'), - versionRequirement: packageConfig.engines.npm - }) -} - -module.exports = function() { - const warnings = [] - - for (let i = 0; i < versionRequirements.length; i++) { - const mod = versionRequirements[i] - - if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) { - warnings.push( - mod.name + - ': ' + - chalk.red(mod.currentVersion) + - ' should be ' + - chalk.green(mod.versionRequirement) - ) - } - } - - if (warnings.length) { - console.log('') - console.log( - chalk.yellow( - 'To use this template, you must update following to modules:' - ) - ) - console.log() - - for (let i = 0; i < warnings.length; i++) { - const warning = warnings[i] - console.log(' ' + warning) - } - - console.log() - process.exit(1) - } -} diff --git a/build/logo.png b/build/logo.png deleted file mode 100644 index f3d2503..0000000 --- a/build/logo.png +++ /dev/null Binary files differ diff --git a/build/utils.js b/build/utils.js deleted file mode 100644 index c96d093..0000000 --- a/build/utils.js +++ /dev/null @@ -1,108 +0,0 @@ -'use strict' -const path = require('path') -const config = require('../config') -const MiniCssExtractPlugin = require('mini-css-extract-plugin') -const packageConfig = require('../package.json') - -exports.assetsPath = function(_path) { - const assetsSubDirectory = - process.env.NODE_ENV === 'production' - ? config.build.assetsSubDirectory - : config.dev.assetsSubDirectory - - return path.posix.join(assetsSubDirectory, _path) -} - -exports.cssLoaders = function(options) { - options = options || {} - - const cssLoader = { - loader: 'css-loader', - options: { - sourceMap: options.sourceMap - } - } - - const postcssLoader = { - loader: 'postcss-loader', - options: { - sourceMap: options.sourceMap - } - } - - // generate loader string to be used with extract text plugin - function generateLoaders(loader, loaderOptions) { - const loaders = [] - - // Extract CSS when that option is specified - // (which is the case during production build) - if (options.extract) { - loaders.push(MiniCssExtractPlugin.loader) - } else { - loaders.push('vue-style-loader') - } - - loaders.push(cssLoader) - - if (options.usePostCSS) { - loaders.push(postcssLoader) - } - - if (loader) { - loaders.push({ - loader: loader + '-loader', - options: Object.assign({}, loaderOptions, { - sourceMap: options.sourceMap - }) - }) - } - - return loaders - } - // https://vue-loader.vuejs.org/en/configurations/extract-css.html - return { - css: generateLoaders(), - postcss: generateLoaders(), - less: generateLoaders('less'), - sass: generateLoaders('sass', { - indentedSyntax: true - }), - scss: generateLoaders('sass'), - stylus: generateLoaders('stylus'), - styl: generateLoaders('stylus') - } -} - -// Generate loaders for standalone style files (outside of .vue) -exports.styleLoaders = function(options) { - const output = [] - const loaders = exports.cssLoaders(options) - - for (const extension in loaders) { - const loader = loaders[extension] - output.push({ - test: new RegExp('\\.' + extension + '$'), - use: loader - }) - } - - return output -} - -exports.createNotifierCallback = () => { - const notifier = require('node-notifier') - - return (severity, errors) => { - if (severity !== 'error') return - - const error = errors[0] - const filename = error.file && error.file.split('!').pop() - - notifier.notify({ - title: packageConfig.name, - message: severity + ': ' + error.name, - subtitle: filename || '', - icon: path.join(__dirname, 'logo.png') - }) - } -} diff --git a/build/vue-loader.conf.js b/build/vue-loader.conf.js deleted file mode 100644 index 5496c93..0000000 --- a/build/vue-loader.conf.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict' - -module.exports = { - //You can set the vue-loader configuration by yourself. -} diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js deleted file mode 100644 index cf5c1d4..0000000 --- a/build/webpack.base.conf.js +++ /dev/null @@ -1,113 +0,0 @@ -'use strict' -// 导入path -const path = require('path') -// 导入utils -const utils = require('./utils') -// 导入config下的index.js -const config = require('../config') -const { VueLoaderPlugin } = require('vue-loader') -const vueLoaderConfig = require('./vue-loader.conf') - -function resolve(dir) { - return path.join(__dirname, '..', dir) -} - -const createLintingRule = () => ({ - test: /\.(js|vue)$/, - loader: 'eslint-loader', - enforce: 'pre', - include: [resolve('src'), resolve('test')], - options: { - formatter: require('eslint-friendly-formatter'), - emitWarning: !config.dev.showEslintErrorsInOverlay - } -}) - -module.exports = { - context: path.resolve(__dirname, '../'), - entry: { - app: [ "babel-polyfill", "./src/main.js"] - }, - output: { - path: config.build.assetsRoot, - filename: '[name].js', - publicPath: - process.env.NODE_ENV === 'production' - ? config.build.assetsPublicPath - : config.dev.assetsPublicPath - }, - resolve: { - extensions: ['.js', '.vue', '.json'], - alias: { - '@': resolve('src') - } - }, - module: { - rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), - { - test: /\.vue$/, - loader: 'vue-loader', - options: vueLoaderConfig - }, - { - test: /\.js$/, - loader: 'babel-loader', - include: [ - resolve('src'), - resolve('test'), - resolve('mock'), - resolve('node_modules/webpack-dev-server/client'), - resolve('/node_modules/element-ui/src'), - resolve('/node_modules/element-ui/packages') - ] - }, - { - test: /\.svg$/, - loader: 'svg-sprite-loader', - include: [resolve('src/icons')], - options: { - symbolId: 'icon-[name]' - } - }, - { - test: /\.(png|jpe?g|gif|svg)(\?.*)?$/, - loader: 'url-loader', - exclude: [resolve('src/icons')], - options: { - limit: 10000, - name: utils.assetsPath('img/[name].[hash:7].[ext]') - } - }, - { - test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/, - loader: 'url-loader', - options: { - limit: 10000, - name: utils.assetsPath('media/[name].[hash:7].[ext]') - } - }, - { - test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, - loader: 'url-loader', - options: { - limit: 10000, - name: utils.assetsPath('fonts/[name].[hash:7].[ext]') - } - } - ] - }, - plugins: [new VueLoaderPlugin()], - node: { - // prevent webpack from injecting useless setImmediate polyfill because Vue - // source contains it (although only uses it if it's native). - setImmediate: false, - // prevent webpack from injecting mocks to Node native modules - // that does not make sense for the client - dgram: 'empty', - fs: 'empty', - net: 'empty', - tls: 'empty', - child_process: 'empty' - } -} diff --git a/.env.development b/.env.development index a4955da..6fa2590 100644 --- a/.env.development +++ b/.env.development @@ -1,2 +1,5 @@ NODE_ENV=development -VUE_APP_BASE_URL=" http://127.0.0.1:8083" \ No newline at end of file +# VUE_APP_BASE_URL="http://127.0.0.1:8083" +VUE_APP_BASE_URL="http://192.168.8.111:8083" +# VUE_APP_BASE_URL="/api" + diff --git a/.env.production b/.env.production index 803eccf..5b95f0d 100644 --- a/.env.production +++ b/.env.production @@ -1,2 +1,2 @@ NODE_ENV=development -VUE_APP_BASE_URL="http://localhost:8001" \ No newline at end of file +VUE_APP_BASE_URL="http://192.168.8.111:8083" \ No newline at end of file diff --git a/build/build.js b/build/build.js deleted file mode 100644 index 8d125da..0000000 --- a/build/build.js +++ /dev/null @@ -1,56 +0,0 @@ -'use strict' -// npm和node版本检查 -require('./check-versions')() -//设置环境变量为production -process.env.NODE_ENV = 'production' -// ora是一个命令行转圈圈动画插件,好看用的 -const ora = require('ora') -// rimraf插件是用来执行UNIX命令rm和-rf的用来删除文件夹和文件,清空旧的文件 -const rm = require('rimraf') -// node.js路径模块 -const path = require('path') -// chalk插件,用来在命令行中输入不同颜色的文字 -const chalk = require('chalk') -// 引入webpack模块使用内置插件和webpack方法 -const webpack = require('webpack') -// 引入config下的index.js配置文件,此配置文件我之前介绍了请自行查阅,主要配置的是一些通用的选项 -const config = require('../config') -// 下面是生产模式的webpack配置文件 -const webpackConfig = require('./webpack.prod.conf') -// 开启转圈圈动画 -const spinner = ora('building for production...') -spinner.start() -// 调用rm方法,第一个参数的结果就是 dist/static,表示删除这个路径下面的所有文件 -rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => { - // 如果删除的过程中出现错误,就抛出这个错误,同时程序终止 - if (err) throw err - // 没有错误,就执行webpack编译 - webpack(webpackConfig, (err, stats) => { - // 这个回调函数是webpack编译过程中执行 - spinner.stop()// 停止转圈圈动画 - if (err) throw err - // 没有错误就执行下面的代码,process.stdout.write和console.log类似,输出对象 - process.stdout.write( - stats.toString({ - colors: true, - modules: false, - children: false, - chunks: false, - chunkModules: false - }) + '\n\n' - ) - // 以上就是在编译过程中,持续打印消息 - if (stats.hasErrors()) { - console.log(chalk.red(' Build failed with errors.\n')) - process.exit(1) - } - // 下面是编译成功的消息 - console.log(chalk.cyan(' Build complete.\n')) - console.log( - chalk.yellow( - ' Tip: built files are meant to be served over an HTTP server.\n' + - " Opening index.html over file:// won't work.\n" - ) - ) - }) -}) diff --git a/build/check-versions.js b/build/check-versions.js deleted file mode 100644 index c5c29e9..0000000 --- a/build/check-versions.js +++ /dev/null @@ -1,64 +0,0 @@ -'use strict' -const chalk = require('chalk') -const semver = require('semver') -const packageConfig = require('../package.json') -const shell = require('shelljs') - -function exec(cmd) { - return require('child_process') - .execSync(cmd) - .toString() - .trim() -} - -const versionRequirements = [ - { - name: 'node', - currentVersion: semver.clean(process.version), - versionRequirement: packageConfig.engines.node - } -] - -if (shell.which('npm')) { - versionRequirements.push({ - name: 'npm', - currentVersion: exec('npm --version'), - versionRequirement: packageConfig.engines.npm - }) -} - -module.exports = function() { - const warnings = [] - - for (let i = 0; i < versionRequirements.length; i++) { - const mod = versionRequirements[i] - - if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) { - warnings.push( - mod.name + - ': ' + - chalk.red(mod.currentVersion) + - ' should be ' + - chalk.green(mod.versionRequirement) - ) - } - } - - if (warnings.length) { - console.log('') - console.log( - chalk.yellow( - 'To use this template, you must update following to modules:' - ) - ) - console.log() - - for (let i = 0; i < warnings.length; i++) { - const warning = warnings[i] - console.log(' ' + warning) - } - - console.log() - process.exit(1) - } -} diff --git a/build/logo.png b/build/logo.png deleted file mode 100644 index f3d2503..0000000 --- a/build/logo.png +++ /dev/null Binary files differ diff --git a/build/utils.js b/build/utils.js deleted file mode 100644 index c96d093..0000000 --- a/build/utils.js +++ /dev/null @@ -1,108 +0,0 @@ -'use strict' -const path = require('path') -const config = require('../config') -const MiniCssExtractPlugin = require('mini-css-extract-plugin') -const packageConfig = require('../package.json') - -exports.assetsPath = function(_path) { - const assetsSubDirectory = - process.env.NODE_ENV === 'production' - ? config.build.assetsSubDirectory - : config.dev.assetsSubDirectory - - return path.posix.join(assetsSubDirectory, _path) -} - -exports.cssLoaders = function(options) { - options = options || {} - - const cssLoader = { - loader: 'css-loader', - options: { - sourceMap: options.sourceMap - } - } - - const postcssLoader = { - loader: 'postcss-loader', - options: { - sourceMap: options.sourceMap - } - } - - // generate loader string to be used with extract text plugin - function generateLoaders(loader, loaderOptions) { - const loaders = [] - - // Extract CSS when that option is specified - // (which is the case during production build) - if (options.extract) { - loaders.push(MiniCssExtractPlugin.loader) - } else { - loaders.push('vue-style-loader') - } - - loaders.push(cssLoader) - - if (options.usePostCSS) { - loaders.push(postcssLoader) - } - - if (loader) { - loaders.push({ - loader: loader + '-loader', - options: Object.assign({}, loaderOptions, { - sourceMap: options.sourceMap - }) - }) - } - - return loaders - } - // https://vue-loader.vuejs.org/en/configurations/extract-css.html - return { - css: generateLoaders(), - postcss: generateLoaders(), - less: generateLoaders('less'), - sass: generateLoaders('sass', { - indentedSyntax: true - }), - scss: generateLoaders('sass'), - stylus: generateLoaders('stylus'), - styl: generateLoaders('stylus') - } -} - -// Generate loaders for standalone style files (outside of .vue) -exports.styleLoaders = function(options) { - const output = [] - const loaders = exports.cssLoaders(options) - - for (const extension in loaders) { - const loader = loaders[extension] - output.push({ - test: new RegExp('\\.' + extension + '$'), - use: loader - }) - } - - return output -} - -exports.createNotifierCallback = () => { - const notifier = require('node-notifier') - - return (severity, errors) => { - if (severity !== 'error') return - - const error = errors[0] - const filename = error.file && error.file.split('!').pop() - - notifier.notify({ - title: packageConfig.name, - message: severity + ': ' + error.name, - subtitle: filename || '', - icon: path.join(__dirname, 'logo.png') - }) - } -} diff --git a/build/vue-loader.conf.js b/build/vue-loader.conf.js deleted file mode 100644 index 5496c93..0000000 --- a/build/vue-loader.conf.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict' - -module.exports = { - //You can set the vue-loader configuration by yourself. -} diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js deleted file mode 100644 index cf5c1d4..0000000 --- a/build/webpack.base.conf.js +++ /dev/null @@ -1,113 +0,0 @@ -'use strict' -// 导入path -const path = require('path') -// 导入utils -const utils = require('./utils') -// 导入config下的index.js -const config = require('../config') -const { VueLoaderPlugin } = require('vue-loader') -const vueLoaderConfig = require('./vue-loader.conf') - -function resolve(dir) { - return path.join(__dirname, '..', dir) -} - -const createLintingRule = () => ({ - test: /\.(js|vue)$/, - loader: 'eslint-loader', - enforce: 'pre', - include: [resolve('src'), resolve('test')], - options: { - formatter: require('eslint-friendly-formatter'), - emitWarning: !config.dev.showEslintErrorsInOverlay - } -}) - -module.exports = { - context: path.resolve(__dirname, '../'), - entry: { - app: [ "babel-polyfill", "./src/main.js"] - }, - output: { - path: config.build.assetsRoot, - filename: '[name].js', - publicPath: - process.env.NODE_ENV === 'production' - ? config.build.assetsPublicPath - : config.dev.assetsPublicPath - }, - resolve: { - extensions: ['.js', '.vue', '.json'], - alias: { - '@': resolve('src') - } - }, - module: { - rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), - { - test: /\.vue$/, - loader: 'vue-loader', - options: vueLoaderConfig - }, - { - test: /\.js$/, - loader: 'babel-loader', - include: [ - resolve('src'), - resolve('test'), - resolve('mock'), - resolve('node_modules/webpack-dev-server/client'), - resolve('/node_modules/element-ui/src'), - resolve('/node_modules/element-ui/packages') - ] - }, - { - test: /\.svg$/, - loader: 'svg-sprite-loader', - include: [resolve('src/icons')], - options: { - symbolId: 'icon-[name]' - } - }, - { - test: /\.(png|jpe?g|gif|svg)(\?.*)?$/, - loader: 'url-loader', - exclude: [resolve('src/icons')], - options: { - limit: 10000, - name: utils.assetsPath('img/[name].[hash:7].[ext]') - } - }, - { - test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/, - loader: 'url-loader', - options: { - limit: 10000, - name: utils.assetsPath('media/[name].[hash:7].[ext]') - } - }, - { - test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, - loader: 'url-loader', - options: { - limit: 10000, - name: utils.assetsPath('fonts/[name].[hash:7].[ext]') - } - } - ] - }, - plugins: [new VueLoaderPlugin()], - node: { - // prevent webpack from injecting useless setImmediate polyfill because Vue - // source contains it (although only uses it if it's native). - setImmediate: false, - // prevent webpack from injecting mocks to Node native modules - // that does not make sense for the client - dgram: 'empty', - fs: 'empty', - net: 'empty', - tls: 'empty', - child_process: 'empty' - } -} diff --git a/build/webpack.dev.conf.js b/build/webpack.dev.conf.js deleted file mode 100644 index 342c0dc..0000000 --- a/build/webpack.dev.conf.js +++ /dev/null @@ -1,95 +0,0 @@ -'use strict' -const path = require('path') -const utils = require('./utils') -const webpack = require('webpack') -const config = require('../config') -const merge = require('webpack-merge') -const baseWebpackConfig = require('./webpack.base.conf') -const HtmlWebpackPlugin = require('html-webpack-plugin') -const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin') -const portfinder = require('portfinder') - -function resolve(dir) { - return path.join(__dirname, '..', dir) -} - -const HOST = process.env.HOST -const PORT = process.env.PORT && Number(process.env.PORT) - -const devWebpackConfig = merge(baseWebpackConfig, { - mode: 'development', - module: { - rules: utils.styleLoaders({ - sourceMap: config.dev.cssSourceMap, - usePostCSS: true - }) - }, - // cheap-module-eval-source-map is faster for development - devtool: config.dev.devtool, - - // these devServer options should be customized in /config/index.js - devServer: { - clientLogLevel: 'warning', - historyApiFallback: true, - hot: true, - compress: true, - host: HOST || config.dev.host, - port: PORT || config.dev.port, - open: config.dev.autoOpenBrowser, - overlay: config.dev.errorOverlay - ? { warnings: false, errors: true } - : false, - publicPath: config.dev.assetsPublicPath, - proxy: config.dev.proxyTable, - quiet: true, // necessary for FriendlyErrorsPlugin - watchOptions: { - poll: config.dev.poll - } - }, - plugins: [ - new webpack.DefinePlugin({ - 'process.env': require('../config/dev.env') - }), - new webpack.HotModuleReplacementPlugin(), - // https://github.com/ampedandwired/html-webpack-plugin - new HtmlWebpackPlugin({ - filename: 'index.html', - template: 'index.html', - inject: true, - favicon: resolve('favicon.ico'), - title: '全平台连接测试工具' - }) - ] -}) - -module.exports = new Promise((resolve, reject) => { - portfinder.basePort = process.env.PORT || config.dev.port - portfinder.getPort((err, port) => { - if (err) { - reject(err) - } else { - // publish the new Port, necessary for e2e tests - process.env.PORT = port - // add port to devServer config - devWebpackConfig.devServer.port = port - - // Add FriendlyErrorsPlugin - devWebpackConfig.plugins.push( - new FriendlyErrorsPlugin({ - compilationSuccessInfo: { - messages: [ - `Your application is running here: http://${ - devWebpackConfig.devServer.host - }:${port}` - ] - }, - onErrors: config.dev.notifyOnErrors - ? utils.createNotifierCallback() - : undefined - }) - ) - - resolve(devWebpackConfig) - } - }) -}) diff --git a/.env.development b/.env.development index a4955da..6fa2590 100644 --- a/.env.development +++ b/.env.development @@ -1,2 +1,5 @@ NODE_ENV=development -VUE_APP_BASE_URL=" http://127.0.0.1:8083" \ No newline at end of file +# VUE_APP_BASE_URL="http://127.0.0.1:8083" +VUE_APP_BASE_URL="http://192.168.8.111:8083" +# VUE_APP_BASE_URL="/api" + diff --git a/.env.production b/.env.production index 803eccf..5b95f0d 100644 --- a/.env.production +++ b/.env.production @@ -1,2 +1,2 @@ NODE_ENV=development -VUE_APP_BASE_URL="http://localhost:8001" \ No newline at end of file +VUE_APP_BASE_URL="http://192.168.8.111:8083" \ No newline at end of file diff --git a/build/build.js b/build/build.js deleted file mode 100644 index 8d125da..0000000 --- a/build/build.js +++ /dev/null @@ -1,56 +0,0 @@ -'use strict' -// npm和node版本检查 -require('./check-versions')() -//设置环境变量为production -process.env.NODE_ENV = 'production' -// ora是一个命令行转圈圈动画插件,好看用的 -const ora = require('ora') -// rimraf插件是用来执行UNIX命令rm和-rf的用来删除文件夹和文件,清空旧的文件 -const rm = require('rimraf') -// node.js路径模块 -const path = require('path') -// chalk插件,用来在命令行中输入不同颜色的文字 -const chalk = require('chalk') -// 引入webpack模块使用内置插件和webpack方法 -const webpack = require('webpack') -// 引入config下的index.js配置文件,此配置文件我之前介绍了请自行查阅,主要配置的是一些通用的选项 -const config = require('../config') -// 下面是生产模式的webpack配置文件 -const webpackConfig = require('./webpack.prod.conf') -// 开启转圈圈动画 -const spinner = ora('building for production...') -spinner.start() -// 调用rm方法,第一个参数的结果就是 dist/static,表示删除这个路径下面的所有文件 -rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => { - // 如果删除的过程中出现错误,就抛出这个错误,同时程序终止 - if (err) throw err - // 没有错误,就执行webpack编译 - webpack(webpackConfig, (err, stats) => { - // 这个回调函数是webpack编译过程中执行 - spinner.stop()// 停止转圈圈动画 - if (err) throw err - // 没有错误就执行下面的代码,process.stdout.write和console.log类似,输出对象 - process.stdout.write( - stats.toString({ - colors: true, - modules: false, - children: false, - chunks: false, - chunkModules: false - }) + '\n\n' - ) - // 以上就是在编译过程中,持续打印消息 - if (stats.hasErrors()) { - console.log(chalk.red(' Build failed with errors.\n')) - process.exit(1) - } - // 下面是编译成功的消息 - console.log(chalk.cyan(' Build complete.\n')) - console.log( - chalk.yellow( - ' Tip: built files are meant to be served over an HTTP server.\n' + - " Opening index.html over file:// won't work.\n" - ) - ) - }) -}) diff --git a/build/check-versions.js b/build/check-versions.js deleted file mode 100644 index c5c29e9..0000000 --- a/build/check-versions.js +++ /dev/null @@ -1,64 +0,0 @@ -'use strict' -const chalk = require('chalk') -const semver = require('semver') -const packageConfig = require('../package.json') -const shell = require('shelljs') - -function exec(cmd) { - return require('child_process') - .execSync(cmd) - .toString() - .trim() -} - -const versionRequirements = [ - { - name: 'node', - currentVersion: semver.clean(process.version), - versionRequirement: packageConfig.engines.node - } -] - -if (shell.which('npm')) { - versionRequirements.push({ - name: 'npm', - currentVersion: exec('npm --version'), - versionRequirement: packageConfig.engines.npm - }) -} - -module.exports = function() { - const warnings = [] - - for (let i = 0; i < versionRequirements.length; i++) { - const mod = versionRequirements[i] - - if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) { - warnings.push( - mod.name + - ': ' + - chalk.red(mod.currentVersion) + - ' should be ' + - chalk.green(mod.versionRequirement) - ) - } - } - - if (warnings.length) { - console.log('') - console.log( - chalk.yellow( - 'To use this template, you must update following to modules:' - ) - ) - console.log() - - for (let i = 0; i < warnings.length; i++) { - const warning = warnings[i] - console.log(' ' + warning) - } - - console.log() - process.exit(1) - } -} diff --git a/build/logo.png b/build/logo.png deleted file mode 100644 index f3d2503..0000000 --- a/build/logo.png +++ /dev/null Binary files differ diff --git a/build/utils.js b/build/utils.js deleted file mode 100644 index c96d093..0000000 --- a/build/utils.js +++ /dev/null @@ -1,108 +0,0 @@ -'use strict' -const path = require('path') -const config = require('../config') -const MiniCssExtractPlugin = require('mini-css-extract-plugin') -const packageConfig = require('../package.json') - -exports.assetsPath = function(_path) { - const assetsSubDirectory = - process.env.NODE_ENV === 'production' - ? config.build.assetsSubDirectory - : config.dev.assetsSubDirectory - - return path.posix.join(assetsSubDirectory, _path) -} - -exports.cssLoaders = function(options) { - options = options || {} - - const cssLoader = { - loader: 'css-loader', - options: { - sourceMap: options.sourceMap - } - } - - const postcssLoader = { - loader: 'postcss-loader', - options: { - sourceMap: options.sourceMap - } - } - - // generate loader string to be used with extract text plugin - function generateLoaders(loader, loaderOptions) { - const loaders = [] - - // Extract CSS when that option is specified - // (which is the case during production build) - if (options.extract) { - loaders.push(MiniCssExtractPlugin.loader) - } else { - loaders.push('vue-style-loader') - } - - loaders.push(cssLoader) - - if (options.usePostCSS) { - loaders.push(postcssLoader) - } - - if (loader) { - loaders.push({ - loader: loader + '-loader', - options: Object.assign({}, loaderOptions, { - sourceMap: options.sourceMap - }) - }) - } - - return loaders - } - // https://vue-loader.vuejs.org/en/configurations/extract-css.html - return { - css: generateLoaders(), - postcss: generateLoaders(), - less: generateLoaders('less'), - sass: generateLoaders('sass', { - indentedSyntax: true - }), - scss: generateLoaders('sass'), - stylus: generateLoaders('stylus'), - styl: generateLoaders('stylus') - } -} - -// Generate loaders for standalone style files (outside of .vue) -exports.styleLoaders = function(options) { - const output = [] - const loaders = exports.cssLoaders(options) - - for (const extension in loaders) { - const loader = loaders[extension] - output.push({ - test: new RegExp('\\.' + extension + '$'), - use: loader - }) - } - - return output -} - -exports.createNotifierCallback = () => { - const notifier = require('node-notifier') - - return (severity, errors) => { - if (severity !== 'error') return - - const error = errors[0] - const filename = error.file && error.file.split('!').pop() - - notifier.notify({ - title: packageConfig.name, - message: severity + ': ' + error.name, - subtitle: filename || '', - icon: path.join(__dirname, 'logo.png') - }) - } -} diff --git a/build/vue-loader.conf.js b/build/vue-loader.conf.js deleted file mode 100644 index 5496c93..0000000 --- a/build/vue-loader.conf.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict' - -module.exports = { - //You can set the vue-loader configuration by yourself. -} diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js deleted file mode 100644 index cf5c1d4..0000000 --- a/build/webpack.base.conf.js +++ /dev/null @@ -1,113 +0,0 @@ -'use strict' -// 导入path -const path = require('path') -// 导入utils -const utils = require('./utils') -// 导入config下的index.js -const config = require('../config') -const { VueLoaderPlugin } = require('vue-loader') -const vueLoaderConfig = require('./vue-loader.conf') - -function resolve(dir) { - return path.join(__dirname, '..', dir) -} - -const createLintingRule = () => ({ - test: /\.(js|vue)$/, - loader: 'eslint-loader', - enforce: 'pre', - include: [resolve('src'), resolve('test')], - options: { - formatter: require('eslint-friendly-formatter'), - emitWarning: !config.dev.showEslintErrorsInOverlay - } -}) - -module.exports = { - context: path.resolve(__dirname, '../'), - entry: { - app: [ "babel-polyfill", "./src/main.js"] - }, - output: { - path: config.build.assetsRoot, - filename: '[name].js', - publicPath: - process.env.NODE_ENV === 'production' - ? config.build.assetsPublicPath - : config.dev.assetsPublicPath - }, - resolve: { - extensions: ['.js', '.vue', '.json'], - alias: { - '@': resolve('src') - } - }, - module: { - rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), - { - test: /\.vue$/, - loader: 'vue-loader', - options: vueLoaderConfig - }, - { - test: /\.js$/, - loader: 'babel-loader', - include: [ - resolve('src'), - resolve('test'), - resolve('mock'), - resolve('node_modules/webpack-dev-server/client'), - resolve('/node_modules/element-ui/src'), - resolve('/node_modules/element-ui/packages') - ] - }, - { - test: /\.svg$/, - loader: 'svg-sprite-loader', - include: [resolve('src/icons')], - options: { - symbolId: 'icon-[name]' - } - }, - { - test: /\.(png|jpe?g|gif|svg)(\?.*)?$/, - loader: 'url-loader', - exclude: [resolve('src/icons')], - options: { - limit: 10000, - name: utils.assetsPath('img/[name].[hash:7].[ext]') - } - }, - { - test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/, - loader: 'url-loader', - options: { - limit: 10000, - name: utils.assetsPath('media/[name].[hash:7].[ext]') - } - }, - { - test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, - loader: 'url-loader', - options: { - limit: 10000, - name: utils.assetsPath('fonts/[name].[hash:7].[ext]') - } - } - ] - }, - plugins: [new VueLoaderPlugin()], - node: { - // prevent webpack from injecting useless setImmediate polyfill because Vue - // source contains it (although only uses it if it's native). - setImmediate: false, - // prevent webpack from injecting mocks to Node native modules - // that does not make sense for the client - dgram: 'empty', - fs: 'empty', - net: 'empty', - tls: 'empty', - child_process: 'empty' - } -} diff --git a/build/webpack.dev.conf.js b/build/webpack.dev.conf.js deleted file mode 100644 index 342c0dc..0000000 --- a/build/webpack.dev.conf.js +++ /dev/null @@ -1,95 +0,0 @@ -'use strict' -const path = require('path') -const utils = require('./utils') -const webpack = require('webpack') -const config = require('../config') -const merge = require('webpack-merge') -const baseWebpackConfig = require('./webpack.base.conf') -const HtmlWebpackPlugin = require('html-webpack-plugin') -const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin') -const portfinder = require('portfinder') - -function resolve(dir) { - return path.join(__dirname, '..', dir) -} - -const HOST = process.env.HOST -const PORT = process.env.PORT && Number(process.env.PORT) - -const devWebpackConfig = merge(baseWebpackConfig, { - mode: 'development', - module: { - rules: utils.styleLoaders({ - sourceMap: config.dev.cssSourceMap, - usePostCSS: true - }) - }, - // cheap-module-eval-source-map is faster for development - devtool: config.dev.devtool, - - // these devServer options should be customized in /config/index.js - devServer: { - clientLogLevel: 'warning', - historyApiFallback: true, - hot: true, - compress: true, - host: HOST || config.dev.host, - port: PORT || config.dev.port, - open: config.dev.autoOpenBrowser, - overlay: config.dev.errorOverlay - ? { warnings: false, errors: true } - : false, - publicPath: config.dev.assetsPublicPath, - proxy: config.dev.proxyTable, - quiet: true, // necessary for FriendlyErrorsPlugin - watchOptions: { - poll: config.dev.poll - } - }, - plugins: [ - new webpack.DefinePlugin({ - 'process.env': require('../config/dev.env') - }), - new webpack.HotModuleReplacementPlugin(), - // https://github.com/ampedandwired/html-webpack-plugin - new HtmlWebpackPlugin({ - filename: 'index.html', - template: 'index.html', - inject: true, - favicon: resolve('favicon.ico'), - title: '全平台连接测试工具' - }) - ] -}) - -module.exports = new Promise((resolve, reject) => { - portfinder.basePort = process.env.PORT || config.dev.port - portfinder.getPort((err, port) => { - if (err) { - reject(err) - } else { - // publish the new Port, necessary for e2e tests - process.env.PORT = port - // add port to devServer config - devWebpackConfig.devServer.port = port - - // Add FriendlyErrorsPlugin - devWebpackConfig.plugins.push( - new FriendlyErrorsPlugin({ - compilationSuccessInfo: { - messages: [ - `Your application is running here: http://${ - devWebpackConfig.devServer.host - }:${port}` - ] - }, - onErrors: config.dev.notifyOnErrors - ? utils.createNotifierCallback() - : undefined - }) - ) - - resolve(devWebpackConfig) - } - }) -}) diff --git a/src/api/testLink.js b/src/api/testLink.js index 02da58c..2a60035 100644 --- a/src/api/testLink.js +++ b/src/api/testLink.js @@ -2,11 +2,14 @@ * 测试连接 */ import request from '@/utils/request' +// const BASE_URL = '' +// const BASE_URL = '/api/data' // 列表 - export function getListPage({limit, offset}) { + export function getListPage(data) { return request({ - url: `/businessConnectTestrecord/listPage?limit=${limit}&offset=${offset}`, - method: 'get', + url: `/businessConnectTestrecord/listPage?limit=${data.limit}&offset=${data.offset}`, + method: 'post', + data }) } @@ -31,3 +34,36 @@ }) } +// 导出 +export function listExport(data) { + return request({ + url: `/businessConnectTestrecord/fileExport`, + method: 'post', + responseType: 'blob', + data, + }) +} + +// 批量删除 +export function deleteList(data) { + return request({ + url: '/businessConnectTestrecord/batchDelete', + method: 'post', + data, + }) +} + +// 模板下载 +export function downloadTemplate(fileName) { + return request({ + url: 'template/download', + method: 'get', + params: { + filename: fileName + }, + responseType: 'blob', // 这一步也很关键,一定要加上 responseType 值为 blob + }) +} + + + diff --git a/.env.development b/.env.development index a4955da..6fa2590 100644 --- a/.env.development +++ b/.env.development @@ -1,2 +1,5 @@ NODE_ENV=development -VUE_APP_BASE_URL=" http://127.0.0.1:8083" \ No newline at end of file +# VUE_APP_BASE_URL="http://127.0.0.1:8083" +VUE_APP_BASE_URL="http://192.168.8.111:8083" +# VUE_APP_BASE_URL="/api" + diff --git a/.env.production b/.env.production index 803eccf..5b95f0d 100644 --- a/.env.production +++ b/.env.production @@ -1,2 +1,2 @@ NODE_ENV=development -VUE_APP_BASE_URL="http://localhost:8001" \ No newline at end of file +VUE_APP_BASE_URL="http://192.168.8.111:8083" \ No newline at end of file diff --git a/build/build.js b/build/build.js deleted file mode 100644 index 8d125da..0000000 --- a/build/build.js +++ /dev/null @@ -1,56 +0,0 @@ -'use strict' -// npm和node版本检查 -require('./check-versions')() -//设置环境变量为production -process.env.NODE_ENV = 'production' -// ora是一个命令行转圈圈动画插件,好看用的 -const ora = require('ora') -// rimraf插件是用来执行UNIX命令rm和-rf的用来删除文件夹和文件,清空旧的文件 -const rm = require('rimraf') -// node.js路径模块 -const path = require('path') -// chalk插件,用来在命令行中输入不同颜色的文字 -const chalk = require('chalk') -// 引入webpack模块使用内置插件和webpack方法 -const webpack = require('webpack') -// 引入config下的index.js配置文件,此配置文件我之前介绍了请自行查阅,主要配置的是一些通用的选项 -const config = require('../config') -// 下面是生产模式的webpack配置文件 -const webpackConfig = require('./webpack.prod.conf') -// 开启转圈圈动画 -const spinner = ora('building for production...') -spinner.start() -// 调用rm方法,第一个参数的结果就是 dist/static,表示删除这个路径下面的所有文件 -rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => { - // 如果删除的过程中出现错误,就抛出这个错误,同时程序终止 - if (err) throw err - // 没有错误,就执行webpack编译 - webpack(webpackConfig, (err, stats) => { - // 这个回调函数是webpack编译过程中执行 - spinner.stop()// 停止转圈圈动画 - if (err) throw err - // 没有错误就执行下面的代码,process.stdout.write和console.log类似,输出对象 - process.stdout.write( - stats.toString({ - colors: true, - modules: false, - children: false, - chunks: false, - chunkModules: false - }) + '\n\n' - ) - // 以上就是在编译过程中,持续打印消息 - if (stats.hasErrors()) { - console.log(chalk.red(' Build failed with errors.\n')) - process.exit(1) - } - // 下面是编译成功的消息 - console.log(chalk.cyan(' Build complete.\n')) - console.log( - chalk.yellow( - ' Tip: built files are meant to be served over an HTTP server.\n' + - " Opening index.html over file:// won't work.\n" - ) - ) - }) -}) diff --git a/build/check-versions.js b/build/check-versions.js deleted file mode 100644 index c5c29e9..0000000 --- a/build/check-versions.js +++ /dev/null @@ -1,64 +0,0 @@ -'use strict' -const chalk = require('chalk') -const semver = require('semver') -const packageConfig = require('../package.json') -const shell = require('shelljs') - -function exec(cmd) { - return require('child_process') - .execSync(cmd) - .toString() - .trim() -} - -const versionRequirements = [ - { - name: 'node', - currentVersion: semver.clean(process.version), - versionRequirement: packageConfig.engines.node - } -] - -if (shell.which('npm')) { - versionRequirements.push({ - name: 'npm', - currentVersion: exec('npm --version'), - versionRequirement: packageConfig.engines.npm - }) -} - -module.exports = function() { - const warnings = [] - - for (let i = 0; i < versionRequirements.length; i++) { - const mod = versionRequirements[i] - - if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) { - warnings.push( - mod.name + - ': ' + - chalk.red(mod.currentVersion) + - ' should be ' + - chalk.green(mod.versionRequirement) - ) - } - } - - if (warnings.length) { - console.log('') - console.log( - chalk.yellow( - 'To use this template, you must update following to modules:' - ) - ) - console.log() - - for (let i = 0; i < warnings.length; i++) { - const warning = warnings[i] - console.log(' ' + warning) - } - - console.log() - process.exit(1) - } -} diff --git a/build/logo.png b/build/logo.png deleted file mode 100644 index f3d2503..0000000 --- a/build/logo.png +++ /dev/null Binary files differ diff --git a/build/utils.js b/build/utils.js deleted file mode 100644 index c96d093..0000000 --- a/build/utils.js +++ /dev/null @@ -1,108 +0,0 @@ -'use strict' -const path = require('path') -const config = require('../config') -const MiniCssExtractPlugin = require('mini-css-extract-plugin') -const packageConfig = require('../package.json') - -exports.assetsPath = function(_path) { - const assetsSubDirectory = - process.env.NODE_ENV === 'production' - ? config.build.assetsSubDirectory - : config.dev.assetsSubDirectory - - return path.posix.join(assetsSubDirectory, _path) -} - -exports.cssLoaders = function(options) { - options = options || {} - - const cssLoader = { - loader: 'css-loader', - options: { - sourceMap: options.sourceMap - } - } - - const postcssLoader = { - loader: 'postcss-loader', - options: { - sourceMap: options.sourceMap - } - } - - // generate loader string to be used with extract text plugin - function generateLoaders(loader, loaderOptions) { - const loaders = [] - - // Extract CSS when that option is specified - // (which is the case during production build) - if (options.extract) { - loaders.push(MiniCssExtractPlugin.loader) - } else { - loaders.push('vue-style-loader') - } - - loaders.push(cssLoader) - - if (options.usePostCSS) { - loaders.push(postcssLoader) - } - - if (loader) { - loaders.push({ - loader: loader + '-loader', - options: Object.assign({}, loaderOptions, { - sourceMap: options.sourceMap - }) - }) - } - - return loaders - } - // https://vue-loader.vuejs.org/en/configurations/extract-css.html - return { - css: generateLoaders(), - postcss: generateLoaders(), - less: generateLoaders('less'), - sass: generateLoaders('sass', { - indentedSyntax: true - }), - scss: generateLoaders('sass'), - stylus: generateLoaders('stylus'), - styl: generateLoaders('stylus') - } -} - -// Generate loaders for standalone style files (outside of .vue) -exports.styleLoaders = function(options) { - const output = [] - const loaders = exports.cssLoaders(options) - - for (const extension in loaders) { - const loader = loaders[extension] - output.push({ - test: new RegExp('\\.' + extension + '$'), - use: loader - }) - } - - return output -} - -exports.createNotifierCallback = () => { - const notifier = require('node-notifier') - - return (severity, errors) => { - if (severity !== 'error') return - - const error = errors[0] - const filename = error.file && error.file.split('!').pop() - - notifier.notify({ - title: packageConfig.name, - message: severity + ': ' + error.name, - subtitle: filename || '', - icon: path.join(__dirname, 'logo.png') - }) - } -} diff --git a/build/vue-loader.conf.js b/build/vue-loader.conf.js deleted file mode 100644 index 5496c93..0000000 --- a/build/vue-loader.conf.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict' - -module.exports = { - //You can set the vue-loader configuration by yourself. -} diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js deleted file mode 100644 index cf5c1d4..0000000 --- a/build/webpack.base.conf.js +++ /dev/null @@ -1,113 +0,0 @@ -'use strict' -// 导入path -const path = require('path') -// 导入utils -const utils = require('./utils') -// 导入config下的index.js -const config = require('../config') -const { VueLoaderPlugin } = require('vue-loader') -const vueLoaderConfig = require('./vue-loader.conf') - -function resolve(dir) { - return path.join(__dirname, '..', dir) -} - -const createLintingRule = () => ({ - test: /\.(js|vue)$/, - loader: 'eslint-loader', - enforce: 'pre', - include: [resolve('src'), resolve('test')], - options: { - formatter: require('eslint-friendly-formatter'), - emitWarning: !config.dev.showEslintErrorsInOverlay - } -}) - -module.exports = { - context: path.resolve(__dirname, '../'), - entry: { - app: [ "babel-polyfill", "./src/main.js"] - }, - output: { - path: config.build.assetsRoot, - filename: '[name].js', - publicPath: - process.env.NODE_ENV === 'production' - ? config.build.assetsPublicPath - : config.dev.assetsPublicPath - }, - resolve: { - extensions: ['.js', '.vue', '.json'], - alias: { - '@': resolve('src') - } - }, - module: { - rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), - { - test: /\.vue$/, - loader: 'vue-loader', - options: vueLoaderConfig - }, - { - test: /\.js$/, - loader: 'babel-loader', - include: [ - resolve('src'), - resolve('test'), - resolve('mock'), - resolve('node_modules/webpack-dev-server/client'), - resolve('/node_modules/element-ui/src'), - resolve('/node_modules/element-ui/packages') - ] - }, - { - test: /\.svg$/, - loader: 'svg-sprite-loader', - include: [resolve('src/icons')], - options: { - symbolId: 'icon-[name]' - } - }, - { - test: /\.(png|jpe?g|gif|svg)(\?.*)?$/, - loader: 'url-loader', - exclude: [resolve('src/icons')], - options: { - limit: 10000, - name: utils.assetsPath('img/[name].[hash:7].[ext]') - } - }, - { - test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/, - loader: 'url-loader', - options: { - limit: 10000, - name: utils.assetsPath('media/[name].[hash:7].[ext]') - } - }, - { - test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, - loader: 'url-loader', - options: { - limit: 10000, - name: utils.assetsPath('fonts/[name].[hash:7].[ext]') - } - } - ] - }, - plugins: [new VueLoaderPlugin()], - node: { - // prevent webpack from injecting useless setImmediate polyfill because Vue - // source contains it (although only uses it if it's native). - setImmediate: false, - // prevent webpack from injecting mocks to Node native modules - // that does not make sense for the client - dgram: 'empty', - fs: 'empty', - net: 'empty', - tls: 'empty', - child_process: 'empty' - } -} diff --git a/build/webpack.dev.conf.js b/build/webpack.dev.conf.js deleted file mode 100644 index 342c0dc..0000000 --- a/build/webpack.dev.conf.js +++ /dev/null @@ -1,95 +0,0 @@ -'use strict' -const path = require('path') -const utils = require('./utils') -const webpack = require('webpack') -const config = require('../config') -const merge = require('webpack-merge') -const baseWebpackConfig = require('./webpack.base.conf') -const HtmlWebpackPlugin = require('html-webpack-plugin') -const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin') -const portfinder = require('portfinder') - -function resolve(dir) { - return path.join(__dirname, '..', dir) -} - -const HOST = process.env.HOST -const PORT = process.env.PORT && Number(process.env.PORT) - -const devWebpackConfig = merge(baseWebpackConfig, { - mode: 'development', - module: { - rules: utils.styleLoaders({ - sourceMap: config.dev.cssSourceMap, - usePostCSS: true - }) - }, - // cheap-module-eval-source-map is faster for development - devtool: config.dev.devtool, - - // these devServer options should be customized in /config/index.js - devServer: { - clientLogLevel: 'warning', - historyApiFallback: true, - hot: true, - compress: true, - host: HOST || config.dev.host, - port: PORT || config.dev.port, - open: config.dev.autoOpenBrowser, - overlay: config.dev.errorOverlay - ? { warnings: false, errors: true } - : false, - publicPath: config.dev.assetsPublicPath, - proxy: config.dev.proxyTable, - quiet: true, // necessary for FriendlyErrorsPlugin - watchOptions: { - poll: config.dev.poll - } - }, - plugins: [ - new webpack.DefinePlugin({ - 'process.env': require('../config/dev.env') - }), - new webpack.HotModuleReplacementPlugin(), - // https://github.com/ampedandwired/html-webpack-plugin - new HtmlWebpackPlugin({ - filename: 'index.html', - template: 'index.html', - inject: true, - favicon: resolve('favicon.ico'), - title: '全平台连接测试工具' - }) - ] -}) - -module.exports = new Promise((resolve, reject) => { - portfinder.basePort = process.env.PORT || config.dev.port - portfinder.getPort((err, port) => { - if (err) { - reject(err) - } else { - // publish the new Port, necessary for e2e tests - process.env.PORT = port - // add port to devServer config - devWebpackConfig.devServer.port = port - - // Add FriendlyErrorsPlugin - devWebpackConfig.plugins.push( - new FriendlyErrorsPlugin({ - compilationSuccessInfo: { - messages: [ - `Your application is running here: http://${ - devWebpackConfig.devServer.host - }:${port}` - ] - }, - onErrors: config.dev.notifyOnErrors - ? utils.createNotifierCallback() - : undefined - }) - ) - - resolve(devWebpackConfig) - } - }) -}) diff --git a/src/api/testLink.js b/src/api/testLink.js index 02da58c..2a60035 100644 --- a/src/api/testLink.js +++ b/src/api/testLink.js @@ -2,11 +2,14 @@ * 测试连接 */ import request from '@/utils/request' +// const BASE_URL = '' +// const BASE_URL = '/api/data' // 列表 - export function getListPage({limit, offset}) { + export function getListPage(data) { return request({ - url: `/businessConnectTestrecord/listPage?limit=${limit}&offset=${offset}`, - method: 'get', + url: `/businessConnectTestrecord/listPage?limit=${data.limit}&offset=${data.offset}`, + method: 'post', + data }) } @@ -31,3 +34,36 @@ }) } +// 导出 +export function listExport(data) { + return request({ + url: `/businessConnectTestrecord/fileExport`, + method: 'post', + responseType: 'blob', + data, + }) +} + +// 批量删除 +export function deleteList(data) { + return request({ + url: '/businessConnectTestrecord/batchDelete', + method: 'post', + data, + }) +} + +// 模板下载 +export function downloadTemplate(fileName) { + return request({ + url: 'template/download', + method: 'get', + params: { + filename: fileName + }, + responseType: 'blob', // 这一步也很关键,一定要加上 responseType 值为 blob + }) +} + + + diff --git a/src/components/testLink/components/addTestUrlDialog.vue b/src/components/testLink/components/addTestUrlDialog.vue index de52d5e..793e799 100644 --- a/src/components/testLink/components/addTestUrlDialog.vue +++ b/src/components/testLink/components/addTestUrlDialog.vue @@ -2,6 +2,9 @@