├── .gitignore
├── README.md
├── build
├── build.js
├── check-versions.js
├── logo.png
├── utils.js
├── vue-loader.conf.js
├── webpack.base.conf.js
├── webpack.dev.conf.js
└── webpack.prod.conf.js
├── config
├── dev.env.js
├── index.js
├── prod.env.js
└── test.env.js
├── dist
├── 1514291260.png
├── index.html
└── static
│ ├── css
│ ├── app.2b34fa42df20fa1925e0e38fb6bbe888.css
│ └── app.2b34fa42df20fa1925e0e38fb6bbe888.css.map
│ └── js
│ ├── app.908c2c0b4b67b5b368a1.js
│ ├── app.908c2c0b4b67b5b368a1.js.map
│ ├── manifest.28a80a11d690e9196934.js
│ ├── manifest.28a80a11d690e9196934.js.map
│ ├── vendor.144ea6915f152b6127b0.js
│ └── vendor.144ea6915f152b6127b0.js.map
├── index.html
├── package-lock.json
├── package.json
├── src
├── App.vue
├── assets
│ └── logo.png
├── components
│ ├── HelloWorld.vue
│ ├── index.js
│ ├── slide.vue
│ └── swiper.vue
├── main.js
└── router
│ └── index.js
├── static
└── .gitkeep
└── test
├── e2e
├── custom-assertions
│ └── elementCount.js
├── nightwatch.conf.js
├── runner.js
└── specs
│ └── test.js
└── unit
├── .eslintrc
├── jest.conf.js
├── setup.js
└── specs
└── HelloWorld.spec.js
/.gitignore:
--------------------------------------------------------------------------------
1 | /node_modules/
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ## vue-swiper
2 |
3 | * 基于 Vue2.0 开发,基本满足大部分功能。
4 | * 轻量、高性能轮播插件。目前支持 无缝衔接自动轮播、无限轮播、手势轮播。
5 | * 没有引入第三方库,原生 js 封装,打包之后只有 8.2KB 大小 性能还是杠杠滴。
6 |
7 | ## [github地址](https://github.com/zwhGithub/vue-swiper/)
8 |
9 | ## demo
10 |
11 | 
12 |
13 | 🎉 觉得好用给一个 star 哦~ 🎉
14 |
15 | ## Install
16 |
17 | ```javascript
18 | npm i vue-swiper-component --save
19 | cnpm i vue-swiper-component --save //国内镜像
20 | ```
21 |
22 | ## Usage
23 |
24 | ```javascript
25 | import { Swiper, Slide } from 'vue-swiper-component';
26 |
27 | components: {
28 | Swiper,
29 | Slide
30 | }
31 |
32 | //异步加载轮播图的情况;
33 |
34 |
35 |
36 |
37 |
38 |
39 | //同步加载轮播图情况
40 |
41 |
42 | 1
43 |
44 |
45 | 2
46 |
47 |
48 | 3
49 |
50 |
51 |
52 | //加一些参数配置情况
53 |
54 |
55 | //添加click事件
56 |
57 |
58 | ```
59 |
60 | ## API
61 |
62 | | 属性 | 说明 | 默认 |
63 | | ------------- | ------------------------ | ---- |
64 | | autoPlay | 是否自动轮播 | true |
65 | | showIndicator | 是否显示轮播的那个点 | true |
66 | | interval | 每两次隔多久滚动一次 | 2500 |
67 | | duration | 每次滚动一页需要多久时间 | 500 |
68 |
69 | ```javascript
70 | ✅ Swiper 上面还暴露了其他方法,在 Swiper 标签上添加 ref 属性, 例如:
71 |
72 | ✅ this.$refs.swiper.prevSlide(); // 上一张图
73 | ✅ this.$refs.swiper.nextSlide(); // 下一张图
74 | ✅ this.$refs.swiper.slideTo(2); //某一张图
75 | ```
76 |
77 | ## 事件
78 |
79 | ```
80 | transtionend 事件 每次轮播出发 参数表示轮播到第几个图片 在Swiper上添加
81 | // @transtionend="getNum" getNum(data) {console.log(data);}
82 | click 事件 每个轮播图上的事件
83 | ```
84 |
85 | ## Other
86 |
87 | * 可以通过覆盖我的样式进行自定义样式,Slide 标签里面可以写 div 或者其他的东西
88 | * 一些参数配置可以参考上面 Usage 第三个示例,异步渲染要加 v-if 保证渲染成功 参考第一个示例
89 | * 如果其他问题可以邮箱沟通,zwhcoder@gmail.com;
90 | * 暂时对 PC 支持不是很友好,等以后有时间了可以加上;
91 |
--------------------------------------------------------------------------------
/build/build.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | require('./check-versions')()
3 |
4 | process.env.NODE_ENV = 'production'
5 |
6 | const ora = require('ora')
7 | const rm = require('rimraf')
8 | const path = require('path')
9 | const chalk = require('chalk')
10 | const webpack = require('webpack')
11 | const config = require('../config')
12 | const webpackConfig = require('./webpack.prod.conf')
13 |
14 | const spinner = ora('building for production...')
15 | spinner.start()
16 |
17 | rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => {
18 | if (err) throw err
19 | webpack(webpackConfig, (err, stats) => {
20 | spinner.stop()
21 | if (err) throw err
22 | process.stdout.write(stats.toString({
23 | colors: true,
24 | modules: false,
25 | children: false, // if you are using ts-loader, setting this to true will make tyescript errors show up during build
26 | chunks: false,
27 | chunkModules: false
28 | }) + '\n\n')
29 |
30 | if (stats.hasErrors()) {
31 | console.log(chalk.red(' Build failed with errors.\n'))
32 | process.exit(1)
33 | }
34 |
35 | console.log(chalk.cyan(' Build complete.\n'))
36 | console.log(chalk.yellow(
37 | ' Tip: built files are meant to be served over an HTTP server.\n' +
38 | ' Opening index.html over file:// won\'t work.\n'
39 | ))
40 | })
41 | })
42 |
--------------------------------------------------------------------------------
/build/check-versions.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | const chalk = require('chalk')
3 | const semver = require('semver')
4 | const packageConfig = require('../package.json')
5 | const shell = require('shelljs')
6 |
7 | function exec (cmd) {
8 | return require('child_process').execSync(cmd).toString().trim()
9 | }
10 |
11 | const versionRequirements = [
12 | {
13 | name: 'node',
14 | currentVersion: semver.clean(process.version),
15 | versionRequirement: packageConfig.engines.node
16 | }
17 | ]
18 |
19 | if (shell.which('npm')) {
20 | versionRequirements.push({
21 | name: 'npm',
22 | currentVersion: exec('npm --version'),
23 | versionRequirement: packageConfig.engines.npm
24 | })
25 | }
26 |
27 | module.exports = function () {
28 | const warnings = []
29 |
30 | for (let i = 0; i < versionRequirements.length; i++) {
31 | const mod = versionRequirements[i]
32 |
33 | if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) {
34 | warnings.push(mod.name + ': ' +
35 | chalk.red(mod.currentVersion) + ' should be ' +
36 | chalk.green(mod.versionRequirement)
37 | )
38 | }
39 | }
40 |
41 | if (warnings.length) {
42 | console.log('')
43 | console.log(chalk.yellow('To use this template, you must update following to modules:'))
44 | console.log()
45 |
46 | for (let i = 0; i < warnings.length; i++) {
47 | const warning = warnings[i]
48 | console.log(' ' + warning)
49 | }
50 |
51 | console.log()
52 | process.exit(1)
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/build/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zwhGithub/vue-swiper/2da7306b0b0a3680689ea4e48df6aff50ee11167/build/logo.png
--------------------------------------------------------------------------------
/build/utils.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | const path = require('path')
3 | const config = require('../config')
4 | const ExtractTextPlugin = require('extract-text-webpack-plugin')
5 | const packageConfig = require('../package.json')
6 |
7 | exports.assetsPath = function (_path) {
8 | const assetsSubDirectory = process.env.NODE_ENV === 'production'
9 | ? config.build.assetsSubDirectory
10 | : config.dev.assetsSubDirectory
11 |
12 | return path.posix.join(assetsSubDirectory, _path)
13 | }
14 |
15 | exports.cssLoaders = function (options) {
16 | options = options || {}
17 |
18 | const cssLoader = {
19 | loader: 'css-loader',
20 | options: {
21 | sourceMap: options.sourceMap
22 | }
23 | }
24 |
25 | const postcssLoader = {
26 | loader: 'postcss-loader',
27 | options: {
28 | sourceMap: options.sourceMap
29 | }
30 | }
31 |
32 | // generate loader string to be used with extract text plugin
33 | function generateLoaders (loader, loaderOptions) {
34 | const loaders = options.usePostCSS ? [cssLoader, postcssLoader] : [cssLoader]
35 |
36 | if (loader) {
37 | loaders.push({
38 | loader: loader + '-loader',
39 | options: Object.assign({}, loaderOptions, {
40 | sourceMap: options.sourceMap
41 | })
42 | })
43 | }
44 |
45 | // Extract CSS when that option is specified
46 | // (which is the case during production build)
47 | if (options.extract) {
48 | return ExtractTextPlugin.extract({
49 | use: loaders,
50 | fallback: 'vue-style-loader'
51 | })
52 | } else {
53 | return ['vue-style-loader'].concat(loaders)
54 | }
55 | }
56 |
57 | // https://vue-loader.vuejs.org/en/configurations/extract-css.html
58 | return {
59 | css: generateLoaders(),
60 | postcss: generateLoaders(),
61 | less: generateLoaders('less'),
62 | sass: generateLoaders('sass', { indentedSyntax: true }),
63 | scss: generateLoaders('sass'),
64 | stylus: generateLoaders('stylus'),
65 | styl: generateLoaders('stylus')
66 | }
67 | }
68 |
69 | // Generate loaders for standalone style files (outside of .vue)
70 | exports.styleLoaders = function (options) {
71 | const output = []
72 | const loaders = exports.cssLoaders(options)
73 |
74 | for (const extension in loaders) {
75 | const loader = loaders[extension]
76 | output.push({
77 | test: new RegExp('\\.' + extension + '$'),
78 | use: loader
79 | })
80 | }
81 |
82 | return output
83 | }
84 |
85 | exports.createNotifierCallback = () => {
86 | const notifier = require('node-notifier')
87 |
88 | return (severity, errors) => {
89 | if (severity !== 'error') return
90 |
91 | const error = errors[0]
92 | const filename = error.file && error.file.split('!').pop()
93 |
94 | notifier.notify({
95 | title: packageConfig.name,
96 | message: severity + ': ' + error.name,
97 | subtitle: filename || '',
98 | icon: path.join(__dirname, 'logo.png')
99 | })
100 | }
101 | }
102 |
--------------------------------------------------------------------------------
/build/vue-loader.conf.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | const utils = require('./utils')
3 | const config = require('../config')
4 | const isProduction = process.env.NODE_ENV === 'production'
5 | const sourceMapEnabled = isProduction
6 | ? config.build.productionSourceMap
7 | : config.dev.cssSourceMap
8 |
9 | module.exports = {
10 | loaders: utils.cssLoaders({
11 | sourceMap: sourceMapEnabled,
12 | extract: isProduction
13 | }),
14 | cssSourceMap: sourceMapEnabled,
15 | cacheBusting: config.dev.cacheBusting,
16 | transformToRequire: {
17 | video: ['src', 'poster'],
18 | source: 'src',
19 | img: 'src',
20 | image: 'xlink:href'
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/build/webpack.base.conf.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | const path = require('path')
3 | const utils = require('./utils')
4 | const config = require('../config')
5 | const vueLoaderConfig = require('./vue-loader.conf')
6 |
7 | function resolve (dir) {
8 | return path.join(__dirname, '..', dir)
9 | }
10 |
11 |
12 |
13 | module.exports = {
14 | context: path.resolve(__dirname, '../'),
15 | entry: {
16 | app: './src/main.js'
17 | },
18 | output: {
19 | path: config.build.assetsRoot,
20 | filename: '[name].js',
21 | publicPath: process.env.NODE_ENV === 'production'
22 | ? config.build.assetsPublicPath
23 | : config.dev.assetsPublicPath
24 | },
25 | resolve: {
26 | extensions: ['.js', '.vue', '.json'],
27 | alias: {
28 | 'vue$': 'vue/dist/vue.esm.js',
29 | '@': resolve('src'),
30 | }
31 | },
32 | module: {
33 | rules: [
34 | {
35 | test: /\.vue$/,
36 | loader: 'vue-loader',
37 | options: vueLoaderConfig
38 | },
39 | {
40 | test: /\.js$/,
41 | loader: 'babel-loader',
42 | include: [resolve('src'), resolve('test')]
43 | },
44 | {
45 | test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
46 | loader: 'url-loader',
47 | options: {
48 | limit: 10000,
49 | name: utils.assetsPath('img/[name].[hash:7].[ext]')
50 | }
51 | },
52 | {
53 | test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/,
54 | loader: 'url-loader',
55 | options: {
56 | limit: 10000,
57 | name: utils.assetsPath('media/[name].[hash:7].[ext]')
58 | }
59 | },
60 | {
61 | test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
62 | loader: 'url-loader',
63 | options: {
64 | limit: 10000,
65 | name: utils.assetsPath('fonts/[name].[hash:7].[ext]')
66 | }
67 | }
68 | ]
69 | },
70 | node: {
71 | // prevent webpack from injecting useless setImmediate polyfill because Vue
72 | // source contains it (although only uses it if it's native).
73 | setImmediate: false,
74 | // prevent webpack from injecting mocks to Node native modules
75 | // that does not make sense for the client
76 | dgram: 'empty',
77 | fs: 'empty',
78 | net: 'empty',
79 | tls: 'empty',
80 | child_process: 'empty'
81 | }
82 | }
83 |
--------------------------------------------------------------------------------
/build/webpack.dev.conf.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | const utils = require('./utils')
3 | const webpack = require('webpack')
4 | const config = require('../config')
5 | const merge = require('webpack-merge')
6 | const baseWebpackConfig = require('./webpack.base.conf')
7 | const HtmlWebpackPlugin = require('html-webpack-plugin')
8 | const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin')
9 | const portfinder = require('portfinder')
10 |
11 | const HOST = process.env.HOST
12 | const PORT = process.env.PORT && Number(process.env.PORT)
13 |
14 | const devWebpackConfig = merge(baseWebpackConfig, {
15 | module: {
16 | rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap, usePostCSS: true })
17 | },
18 | // cheap-module-eval-source-map is faster for development
19 | devtool: config.dev.devtool,
20 |
21 | // these devServer options should be customized in /config/index.js
22 | devServer: {
23 | clientLogLevel: 'warning',
24 | historyApiFallback: true,
25 | hot: true,
26 | compress: true,
27 | host: HOST || config.dev.host,
28 | port: PORT || config.dev.port,
29 | open: config.dev.autoOpenBrowser,
30 | overlay: config.dev.errorOverlay
31 | ? { warnings: false, errors: true }
32 | : false,
33 | publicPath: config.dev.assetsPublicPath,
34 | proxy: config.dev.proxyTable,
35 | quiet: true, // necessary for FriendlyErrorsPlugin
36 | watchOptions: {
37 | poll: config.dev.poll,
38 | }
39 | },
40 | plugins: [
41 | new webpack.DefinePlugin({
42 | 'process.env': require('../config/dev.env')
43 | }),
44 | new webpack.HotModuleReplacementPlugin(),
45 | new webpack.NamedModulesPlugin(), // HMR shows correct file names in console on update.
46 | new webpack.NoEmitOnErrorsPlugin(),
47 | // https://github.com/ampedandwired/html-webpack-plugin
48 | new HtmlWebpackPlugin({
49 | filename: 'index.html',
50 | template: 'index.html',
51 | inject: true
52 | }),
53 | ]
54 | })
55 |
56 | module.exports = new Promise((resolve, reject) => {
57 | portfinder.basePort = process.env.PORT || config.dev.port
58 | portfinder.getPort((err, port) => {
59 | if (err) {
60 | reject(err)
61 | } else {
62 | // publish the new Port, necessary for e2e tests
63 | process.env.PORT = port
64 | // add port to devServer config
65 | devWebpackConfig.devServer.port = port
66 |
67 | // Add FriendlyErrorsPlugin
68 | devWebpackConfig.plugins.push(new FriendlyErrorsPlugin({
69 | compilationSuccessInfo: {
70 | messages: [`Your application is running here: http://${devWebpackConfig.devServer.host}:${port}`],
71 | },
72 | onErrors: config.dev.notifyOnErrors
73 | ? utils.createNotifierCallback()
74 | : undefined
75 | }))
76 |
77 | resolve(devWebpackConfig)
78 | }
79 | })
80 | })
81 |
--------------------------------------------------------------------------------
/build/webpack.prod.conf.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | const path = require('path')
3 | const utils = require('./utils')
4 | const webpack = require('webpack')
5 | const config = require('../config')
6 | const merge = require('webpack-merge')
7 | const baseWebpackConfig = require('./webpack.base.conf')
8 | const CopyWebpackPlugin = require('copy-webpack-plugin')
9 | const HtmlWebpackPlugin = require('html-webpack-plugin')
10 | const ExtractTextPlugin = require('extract-text-webpack-plugin')
11 | const OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin')
12 | const UglifyJsPlugin = require('uglifyjs-webpack-plugin')
13 |
14 | const env = process.env.NODE_ENV === 'testing'
15 | ? require('../config/test.env')
16 | : require('../config/prod.env')
17 |
18 | const webpackConfig = merge(baseWebpackConfig, {
19 | module: {
20 | rules: utils.styleLoaders({
21 | sourceMap: config.build.productionSourceMap,
22 | extract: true,
23 | usePostCSS: true
24 | })
25 | },
26 | devtool: config.build.productionSourceMap ? config.build.devtool : false,
27 | output: {
28 | path: config.build.assetsRoot,
29 | filename: utils.assetsPath('js/[name].[chunkhash].js'),
30 | chunkFilename: utils.assetsPath('js/[id].[chunkhash].js')
31 | },
32 | plugins: [
33 | // http://vuejs.github.io/vue-loader/en/workflow/production.html
34 | new webpack.DefinePlugin({
35 | 'process.env': env
36 | }),
37 | new UglifyJsPlugin({
38 | uglifyOptions: {
39 | compress: {
40 | warnings: false
41 | }
42 | },
43 | sourceMap: config.build.productionSourceMap,
44 | parallel: true
45 | }),
46 | // extract css into its own file
47 | new ExtractTextPlugin({
48 | filename: utils.assetsPath('css/[name].[contenthash].css'),
49 | // Setting the following option to `false` will not extract CSS from codesplit chunks.
50 | // Their CSS will instead be inserted dynamically with style-loader when the codesplit chunk has been loaded by webpack.
51 | // It's currently set to `true` because we are seeing that sourcemaps are included in the codesplit bundle as well when it's `false`,
52 | // increasing file size: https://github.com/vuejs-templates/webpack/issues/1110
53 | allChunks: true,
54 | }),
55 | // Compress extracted CSS. We are using this plugin so that possible
56 | // duplicated CSS from different components can be deduped.
57 | new OptimizeCSSPlugin({
58 | cssProcessorOptions: config.build.productionSourceMap
59 | ? { safe: true, map: { inline: false } }
60 | : { safe: true }
61 | }),
62 | // generate dist index.html with correct asset hash for caching.
63 | // you can customize output by editing /index.html
64 | // see https://github.com/ampedandwired/html-webpack-plugin
65 | new HtmlWebpackPlugin({
66 | filename: process.env.NODE_ENV === 'testing'
67 | ? 'index.html'
68 | : config.build.index,
69 | template: 'index.html',
70 | inject: true,
71 | minify: {
72 | removeComments: true,
73 | collapseWhitespace: true,
74 | removeAttributeQuotes: true
75 | // more options:
76 | // https://github.com/kangax/html-minifier#options-quick-reference
77 | },
78 | // necessary to consistently work with multiple chunks via CommonsChunkPlugin
79 | chunksSortMode: 'dependency'
80 | }),
81 | // keep module.id stable when vender modules does not change
82 | new webpack.HashedModuleIdsPlugin(),
83 | // enable scope hoisting
84 | new webpack.optimize.ModuleConcatenationPlugin(),
85 | // split vendor js into its own file
86 | new webpack.optimize.CommonsChunkPlugin({
87 | name: 'vendor',
88 | minChunks (module) {
89 | // any required modules inside node_modules are extracted to vendor
90 | return (
91 | module.resource &&
92 | /\.js$/.test(module.resource) &&
93 | module.resource.indexOf(
94 | path.join(__dirname, '../node_modules')
95 | ) === 0
96 | )
97 | }
98 | }),
99 | // extract webpack runtime and module manifest to its own file in order to
100 | // prevent vendor hash from being updated whenever app bundle is updated
101 | new webpack.optimize.CommonsChunkPlugin({
102 | name: 'manifest',
103 | minChunks: Infinity
104 | }),
105 | // This instance extracts shared chunks from code splitted chunks and bundles them
106 | // in a separate chunk, similar to the vendor chunk
107 | // see: https://webpack.js.org/plugins/commons-chunk-plugin/#extra-async-commons-chunk
108 | new webpack.optimize.CommonsChunkPlugin({
109 | name: 'app',
110 | async: 'vendor-async',
111 | children: true,
112 | minChunks: 3
113 | }),
114 |
115 | // copy custom static assets
116 | new CopyWebpackPlugin([
117 | {
118 | from: path.resolve(__dirname, '../static'),
119 | to: config.build.assetsSubDirectory,
120 | ignore: ['.*']
121 | }
122 | ])
123 | ]
124 | })
125 |
126 | if (config.build.productionGzip) {
127 | const CompressionWebpackPlugin = require('compression-webpack-plugin')
128 |
129 | webpackConfig.plugins.push(
130 | new CompressionWebpackPlugin({
131 | asset: '[path].gz[query]',
132 | algorithm: 'gzip',
133 | test: new RegExp(
134 | '\\.(' +
135 | config.build.productionGzipExtensions.join('|') +
136 | ')$'
137 | ),
138 | threshold: 10240,
139 | minRatio: 0.8
140 | })
141 | )
142 | }
143 |
144 | if (config.build.bundleAnalyzerReport) {
145 | const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
146 | webpackConfig.plugins.push(new BundleAnalyzerPlugin())
147 | }
148 |
149 | module.exports = webpackConfig
150 |
--------------------------------------------------------------------------------
/config/dev.env.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | const merge = require('webpack-merge')
3 | const prodEnv = require('./prod.env')
4 |
5 | module.exports = merge(prodEnv, {
6 | NODE_ENV: '"development"'
7 | })
8 |
--------------------------------------------------------------------------------
/config/index.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | // Template version: 1.2.7
3 | // see http://vuejs-templates.github.io/webpack for documentation.
4 |
5 | const path = require('path')
6 |
7 | module.exports = {
8 | dev: {
9 |
10 | // Paths
11 | assetsSubDirectory: 'static',
12 | assetsPublicPath: '',
13 | proxyTable: {},
14 |
15 | // Various Dev Server settings
16 | host: 'localhost', // can be overwritten by process.env.HOST
17 | port: 8080, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
18 | autoOpenBrowser: false,
19 | errorOverlay: true,
20 | notifyOnErrors: true,
21 | poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions-
22 |
23 |
24 | /**
25 | * Source Maps
26 | */
27 |
28 | // https://webpack.js.org/configuration/devtool/#development
29 | devtool: 'eval-source-map',
30 |
31 | // If you have problems debugging vue-files in devtools,
32 | // set this to false - it *may* help
33 | // https://vue-loader.vuejs.org/en/options.html#cachebusting
34 | cacheBusting: true,
35 |
36 | // CSS Sourcemaps off by default because relative paths are "buggy"
37 | // with this option, according to the CSS-Loader README
38 | // (https://github.com/webpack/css-loader#sourcemaps)
39 | // In our experience, they generally work as expected,
40 | // just be aware of this issue when enabling this option.
41 | cssSourceMap: false,
42 | },
43 |
44 | build: {
45 | // Template for index.html
46 | index: path.resolve(__dirname, '../dist/index.html'),
47 |
48 | // Paths
49 | assetsRoot: path.resolve(__dirname, '../dist'),
50 | assetsSubDirectory: 'static',
51 | assetsPublicPath: '',
52 |
53 | /**
54 | * Source Maps
55 | */
56 |
57 | productionSourceMap: true,
58 | // https://webpack.js.org/configuration/devtool/#production
59 | devtool: '#source-map',
60 |
61 | // Gzip off by default as many popular static hosts such as
62 | // Surge or Netlify already gzip all static assets for you.
63 | // Before setting to `true`, make sure to:
64 | // npm install --save-dev compression-webpack-plugin
65 | productionGzip: false,
66 | productionGzipExtensions: ['js', 'css'],
67 |
68 | // Run the build command with an extra argument to
69 | // View the bundle analyzer report after build finishes:
70 | // `npm run build --report`
71 | // Set to `true` or `false` to always turn it on or off
72 | bundleAnalyzerReport: process.env.npm_config_report
73 | }
74 | }
75 |
--------------------------------------------------------------------------------
/config/prod.env.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | module.exports = {
3 | NODE_ENV: '"production"'
4 | }
5 |
--------------------------------------------------------------------------------
/config/test.env.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | const merge = require('webpack-merge')
3 | const devEnv = require('./dev.env')
4 |
5 | module.exports = merge(devEnv, {
6 | NODE_ENV: '"testing"'
7 | })
8 |
--------------------------------------------------------------------------------
/dist/1514291260.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zwhGithub/vue-swiper/2da7306b0b0a3680689ea4e48df6aff50ee11167/dist/1514291260.png
--------------------------------------------------------------------------------
/dist/index.html:
--------------------------------------------------------------------------------
1 |
demo
--------------------------------------------------------------------------------
/dist/static/css/app.2b34fa42df20fa1925e0e38fb6bbe888.css:
--------------------------------------------------------------------------------
1 | *{padding:0;margin:0}img[data-v-66dda140]{width:100%}.button[data-v-66dda140]{margin-top:30px;position:relative;display:block;margin-left:auto;margin-right:auto;padding-left:14px;padding-right:14px;box-sizing:border-box;font-size:18px;text-align:center;text-decoration:none;color:#fff;line-height:2.33333333;border-radius:5px;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;border-width:0;width:50%;padding:0 30px;outline:0;-webkit-appearance:none;background-color:#26a2ff}.button[data-v-66dda140]:active{opacity:.5;color:#333}.button2[data-v-66dda140]{margin-top:100px}.wh_content{position:relative;z-index:1;overflow:hidden;width:100%}.wh_swiper{width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;transition-duration:0s linear}.wh_indicator{position:absolute;bottom:8px;width:100%;text-align:center;background:0 0}.wh_indicator_item{display:inline-block;width:8px;height:8px;margin:1px 7px;cursor:pointer;border-radius:100%;background:#aaa}.wh_show_bgcolor{background:#0fc37c}.wh_slide{width:100%;-ms-flex-negative:0;flex-shrink:0;z-index:10;min-height:100px}.wh_slide img{display:block}
2 | /*# sourceMappingURL=app.2b34fa42df20fa1925e0e38fb6bbe888.css.map */
--------------------------------------------------------------------------------
/dist/static/css/app.2b34fa42df20fa1925e0e38fb6bbe888.css.map:
--------------------------------------------------------------------------------
1 | {"version":3,"sources":["app.2b34fa42df20fa1925e0e38fb6bbe888.css"],"names":[],"mappings":"AACA,EACI,UAAW,AACX,QAAU,CACb,AAED,qBACI,UAAY,CACf,AACD,yBACI,gBAAiB,AACjB,kBAAmB,AACnB,cAAe,AACf,iBAAkB,AAClB,kBAAmB,AACnB,kBAAmB,AACnB,mBAAoB,AACpB,sBAAuB,AACvB,eAAgB,AAChB,kBAAmB,AACnB,qBAAsB,AACtB,WAAe,AACf,uBAAwB,AACxB,kBAAmB,AACnB,0CAA8C,AAC9C,gBAAiB,AACjB,eAAgB,AAChB,UAAW,AACX,eAAuB,AACvB,UAAW,AACX,wBAAyB,AACzB,wBAA0B,CAC7B,AACD,gCACI,WAAa,AACb,UAAY,CACf,AACD,0BACI,gBAAkB,CACrB,AAED,YACI,kBAAmB,AACnB,UAAW,AACX,gBAAiB,AACjB,UAAY,CACf,AACD,WACI,WAAY,AACZ,oBAAqB,AAGrB,oBAAqB,AACrB,aAAc,AAId,6BAA+B,CAClC,AACD,cACI,kBAAmB,AACnB,WAAY,AACZ,WAAY,AACZ,kBAAmB,AACnB,cAAgB,CACnB,AACD,mBACI,qBAAsB,AACtB,UAAW,AACX,WAAY,AACZ,eAAgB,AAChB,eAAgB,AAChB,mBAAoB,AACpB,eAAiB,CACpB,AACD,iBACI,kBAAoB,CACvB,AAED,UACI,WAAY,AACZ,oBAAqB,AACrB,cAAe,AACf,WAAY,AACZ,gBAAkB,CACrB,AACD,cACI,aAAe,CAClB","file":"app.2b34fa42df20fa1925e0e38fb6bbe888.css","sourcesContent":["\n* {\n padding: 0;\n margin: 0;\n}\n\nimg[data-v-66dda140] {\n width: 100%;\n}\n.button[data-v-66dda140] {\n margin-top: 30px;\n position: relative;\n display: block;\n margin-left: auto;\n margin-right: auto;\n padding-left: 14px;\n padding-right: 14px;\n box-sizing: border-box;\n font-size: 18px;\n text-align: center;\n text-decoration: none;\n color: #ffffff;\n line-height: 2.33333333;\n border-radius: 5px;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n overflow: hidden;\n border-width: 0;\n width: 50%;\n padding: 0 30px 0 30px;\n outline: 0;\n -webkit-appearance: none;\n background-color: #26a2ff;\n}\n.button[data-v-66dda140]:active {\n opacity: 0.5;\n color: #333;\n}\n.button2[data-v-66dda140] {\n margin-top: 100px;\n}\n\n.wh_content {\n position: relative;\n z-index: 1;\n overflow: hidden;\n width: 100%;\n}\n.wh_swiper {\n width: 100%;\n display: -webkit-box;\n display: -moz-box;\n display: -webkit-flex;\n display: -ms-flexbox;\n display: flex;\n -moz-transition-duration: 0s linear;\n -webkit-transition-duration: 0s linear;\n -o-transition-duration: 0s linear;\n transition-duration: 0s linear;\n}\n.wh_indicator {\n position: absolute;\n bottom: 8px;\n width: 100%;\n text-align: center;\n background: 0 0;\n}\n.wh_indicator_item {\n display: inline-block;\n width: 8px;\n height: 8px;\n margin: 1px 7px;\n cursor: pointer;\n border-radius: 100%;\n background: #aaa;\n}\n.wh_show_bgcolor {\n background: #0fc37c;\n}\n\n.wh_slide {\n width: 100%;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n z-index: 10;\n min-height: 100px;\n}\n.wh_slide img {\n display: block;\n}\n"]}
--------------------------------------------------------------------------------
/dist/static/js/app.908c2c0b4b67b5b368a1.js:
--------------------------------------------------------------------------------
1 | webpackJsonp([1],{"+A7y":function(t,i){},NHnr:function(t,i,s){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var e=s("VCXJ"),n={render:function(){var t=this.$createElement,i=this._self._c||t;return i("div",{attrs:{id:"app"}},[i("router-view")],1)},staticRenderFns:[]};var h=s("X4nt")({name:"app"},n,!1,function(t){s("Sxou")},null,null).exports,r=s("zO6J"),a={data:()=>({slidesLength:1,_width:0,auto:!0,slideing:!0,timer1:"",className:"",dom:{},t:{sx:0,s:0,m:0,e:0},index:1}),props:{autoPlay:{default:!0},duration:{default:500},interval:{default:2500},showIndicator:{default:!0}},mounted(){this.className=`wh_swiper_${1e3*Math.random().toFixed(3)}`,setTimeout(()=>{this.starDom(),this.dom.transform=`translate3d(${-1*this._width}px, 0px, 0px)`,this.dom["-webkit-transform"]=`translate3d(${-1*this._width}px, 0px, 0px)`,this.dom["-ms-transform"]=`translate3d(${-1*this._width}px, 0px, 0px)`,this.autoPlay&&this.setTime()},50)},methods:{s(t){this.slideing&&(this.clearTimeOut(),this.t.sx=this.getTransform(),this.t.s=t.touches[t.touches.length-1].clientX)},m(t){this.slideing&&-1!=this.t.s&&(this.clearTimeOut(),this.t.m=t.touches[t.touches.length-1].clientX-this.t.s,this.setTransform(this.t.m+this.t.sx))},e(t){if(this.slideing&&-1!=this.t.s){this.clearTimeOut(),this.setTransform(this.t.m+this.t.sx);t=this.getTransform();t+=this.t.m>0?.3*this._width:-.3*this._width,this.index=-1*Math.round(t/this._width),this.wh("touch")}},setTransform(t){this.dom.transform=`translate3d(${t}px, 0px, 0px)`,this.dom["-webkit-transform"]=`translate3d(${t}px, 0px, 0px)`,this.dom["-ms-transform"]=`translate3d(${t}px, 0px, 0px)`},getTransform(){var t=this.dom.transform||this.dom["-webkit-transform"]||this.dom["-ms-transform"];return t=(t=t.substring(12)).match(/(\S*)px/)[1],Number(t)},fn(t){t.preventDefault()},prevSlide(){this.clearTimeOut(),this.index--,this.wh()},nextSlide(){this.clearTimeOut(),this.index++,this.wh()},slideTo(t){this.clearTimeOut(),this.index=t+1,this.wh()},wh(t){this.slideing=!1,this.dom.transition="touch"==t?"250ms":this.duration+"ms",this.setTransform(-1*this.index*this._width),this.t.m=0,this.t.s=-1,this.autoPlay&&this.setTime();var i="touch"==t?"250":this.duration;setTimeout(()=>{this.dom.transition="0s",this.index>=this.slidesLength+1&&(this.index=1,this.setTransform(-1*this.index*this._width)),this.index<=0&&(this.index=this.slidesLength,this.setTransform(-1*this.index*this._width)),this.$emit("transtionend",this.index-1),this.auto=!0,this.slideing=!0},i)},setTime(){this.timer1=window.setTimeout(()=>{this.auto?(this.index++,this.wh()):window.clearTimeout(this.timer1)},this.interval)},starDom(){var t=document.querySelector("."+this.className).getElementsByClassName("wh_slide");if(this.slidesLength=t.length,this.slidesLength>1){var i=t[0].cloneNode(!0),s=t[this.slidesLength-1].cloneNode(!0);document.querySelector("."+this.className).insertBefore(s,t[0]),document.querySelector("."+this.className).appendChild(i),this._width=document.querySelector("."+this.className).offsetWidth,this.dom=document.querySelector("."+this.className).style}},clearTimeOut(){this.auto=!1,window.clearTimeout(this.timer1)}}},o={render:function(){var t=this,i=t.$createElement,s=t._self._c||i;return s("section",{staticClass:"wh_content",on:{touchmove:t.fn}},[s("div",{staticClass:"wh_swiper",class:t.className,on:{touchstart:t.s,touchmove:t.m,touchend:t.e}},[t._t("default")],2),t._v(" "),t.showIndicator?s("div",{staticClass:"wh_indicator"},t._l(t.slidesLength,function(i,e){return s("div",{staticClass:"wh_indicator_item",class:{wh_show_bgcolor:t.index-1==e}})})):t._e()])},staticRenderFns:[]};var d=s("X4nt")(a,o,!1,function(t){s("Ocjr")},null,null).exports,l={methods:{clickSlide(){this.$emit("click")}}},m={render:function(){var t=this.$createElement;return(this._self._c||t)("div",{staticClass:"wh_slide",on:{click:this.clickSlide}},[this._t("default")],2)},staticRenderFns:[]};var c={data:()=>({list:[{img:"https://qiniu.epipe.cn/5456575529551388672?imageslim&imageView2/1/w/750/h/360"},{img:"https://qiniu.epipe.cn/5430983074181545984?imageslim&imageView2/1/w/750/h/360"},{img:"https://qiniu.epipe.cn/5464226412548325376?imageslim&imageView2/1/w/750/h/360"}]}),components:{Swiper:d,Slide:s("X4nt")(l,m,!1,function(t){s("+A7y")},null,null).exports},methods:{getNum(t){this.$toast(`==当前滑到了第${t}个`,400)},prevSlideClick(){this.$refs.swiper.prevSlide()},nextSlideClick(){this.$refs.swiper.nextSlide()},slideToClick(){this.$refs.swiper.slideTo(2)}}},u={render:function(){var t=this.$createElement,i=this._self._c||t;return i("div",{staticClass:"hello"},[this.list.length>0?i("Swiper",{ref:"swiper",on:{transtionend:this.getNum}},this._l(this.list,function(t,s){return i("Slide",{key:s},[i("img",{attrs:{src:t.img}})])})):this._e(),this._v(" "),i("div",{staticStyle:{width:"100%",height:"100px",background:"red"}})],1)},staticRenderFns:[]};var p=s("X4nt")(c,u,!1,function(t){s("V4MN")},"data-v-66dda140",null).exports;e.default.use(r.a);var f=new r.a({routes:[{path:"/",name:"HelloWorld",component:p}]}),w=s("kqZI"),x=s.n(w);e.default.config.productionTip=!1,e.default.use(x.a),new e.default({el:"#app",router:f,template:"",components:{App:h}})},Ocjr:function(t,i){},Sxou:function(t,i){},V4MN:function(t,i){}},["NHnr"]);
2 | //# sourceMappingURL=app.908c2c0b4b67b5b368a1.js.map
--------------------------------------------------------------------------------
/dist/static/js/app.908c2c0b4b67b5b368a1.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"sources":["webpack:///./src/App.vue?b06a","webpack:///./src/App.vue","webpack:///src/App.vue","webpack:///src/components/swiper.vue","webpack:///./src/components/swiper.vue?84db","webpack:///./src/components/swiper.vue","webpack:///src/components/slide.vue","webpack:///./src/components/slide.vue?b546","webpack:///./src/components/slide.vue","webpack:///src/components/HelloWorld.vue","webpack:///./src/components/HelloWorld.vue?d240","webpack:///./src/components/HelloWorld.vue","webpack:///./src/router/index.js","webpack:///./src/main.js"],"names":["selectortype_template_index_0_src_App","render","_h","this","$createElement","_c","_self","attrs","id","staticRenderFns","src_App","__webpack_require__","normalizeComponent","ssrContext","swiper","starDom","setTime","clearTimeOut","getTransform","clientX","s","sx","x","preventDefault","index","wh","_width","duration","slidesLength","timeDuration","timer1","interval","length","cloneDom1","offsetWidth","style","components_swiper","_vm","staticClass","on","touchmove","fn","class","className","touchstart","m","touchend","e","_t","_v","_l","tag","$index","wh_show_bgcolor","_e","src_components_swiper","swiper_normalizeComponent","slide","components_slide","click","clickSlide","HelloWorld","img","Swiper","Slide","slide_normalizeComponent","prevSlide","nextSlide","components_HelloWorld","list","ref","transtionend","getNum","item","key","src","staticStyle","width","height","background","src_components_HelloWorld","HelloWorld_normalizeComponent","vue_esm","use","vue_router_esm","router","routes","path","name","component","config","productionTip","_vue_toast_component_2_0_0_vue_toast_component_default","a","el","template","components","App"],"mappings":"4IAGAA,GADiBC,OAFjB,WAA0B,IAAaC,EAAbC,KAAaC,eAA0BC,EAAvCF,KAAuCG,MAAAD,IAAAH,EAAwB,OAAAG,EAAA,OAAiBE,OAAOC,GAAA,SAAYH,EAAA,oBAE5GI,oBCCjB,IAuBAC,EAvBAC,EAAA,OAcAC,OCTA,ODWAZ,GATA,EAVA,SAAAa,GACAF,EAAA,SAaA,KAEA,MAUA,oBEdAG,2BAIA,SACA,QACA,YACA,SACA,aACA,gBAGA,IACA,IACA,IAEA,SAEA,8BAMA,qBAIA,uBAIA,8BAIA,8FAKAC,gPAKAC,WAGA,wCAKAC,8BACAC,sDACAC,kDAKAF,qEACAG,oCACAC,0CAIA,MACAJ,iDACAI,WACAH,6CACA,2BACA,oCACA,wRASA,yCACA,sBACA,UACAI,YAGAC,mCAGAN,oBACAO,aACAC,uBAGAR,oBACAO,aACAC,sBAGAR,4BACA,OACAQ,2BAGA,uDACA,0CACAC,iBACA,kCAGAV,sCAEAW,6CAEA,kDAEA,uCACAD,yCAGAE,kDACAF,8CAEA,cACA,iBACA,GACAG,iEAKAL,aACAC,+BAEAK,cAEAC,6FAGA,mCACAC,2BACA,6HAGA,2DACAC,0DACAC,gEACAC,kCAIA,2BACAL,WCnKAM,GADiBnC,OAFjB,WAA0B,IAAAoC,EAAAlC,KAAaD,EAAAmC,EAAAjC,eAA0BC,EAAAgC,EAAA/B,MAAAD,IAAAH,EAAwB,OAAAG,EAAA,WAAqBiC,YAAA,aAAAC,IAA6BC,UAAAH,EAAAI,MAAoBpC,EAAA,OAAYiC,YAAA,YAAAI,MAAAL,EAAAM,UAAAJ,IAAgDK,WAAAP,EAAAjB,EAAAoB,UAAAH,EAAAQ,EAAAC,SAAAT,EAAAU,KAAuDV,EAAAW,GAAA,eAAAX,EAAAY,GAAA,KAAAZ,EAAA,cAAAhC,EAAA,OAAkEiC,YAAA,gBAA2BD,EAAAa,GAAAb,EAAA,sBAAAc,EAAAC,GAAgD,OAAA/C,EAAA,OAAiBiC,YAAA,oBAAAI,OAAuCW,gBAAAhB,EAAAb,MAAA,GAAA4B,QAA0Cf,EAAAiB,QAEhf7C,oBCCjB,IAuBA8C,EAvBA5C,EAAA,OAcA6C,CACA1C,EACAsB,GATA,EAVA,SAAAvB,GACAF,EAAA,SAaA,KAEA,MAUA,QCRA8C,oCAIA,YCnBAC,GADiBzD,OAFjB,WAA0B,IAAaC,EAAbC,KAAaC,eAAkD,OAA/DD,KAAuCG,MAAAD,IAAAH,GAAwB,OAAiBoC,YAAA,WAAAC,IAA2BoB,MAA3GxD,KAA2GyD,cAA3GzD,KAAmI6C,GAAA,gBAE5IvC,oBCCjB,ICeAoD,qBAIAC,IACA,kFAAAA,IACA,kFAAAA,IAGA,gGAGAC,OAAAR,EAEAS,MD7BArD,EAAA,OAcAsD,CACAR,EACAC,GATA,EAVA,SAAA7C,GACAF,EAAA,SAaA,KAEA,MAUA,wDCSA,yCAGAuD,gDAGAC,sDAGA,MCzCAC,GADiBnE,OAFjB,WAA0B,IAAaC,EAAbC,KAAaC,eAA0BC,EAAvCF,KAAuCG,MAAAD,IAAAH,EAAwB,OAAAG,EAAA,OAAiBiC,YAAA,UAAhFnC,KAAoGkE,KAAArC,OAAA,EAAA3B,EAAA,UAAmCiE,IAAA,SAAA/B,IAAiBgC,aAAxJpE,KAAwJqE,SAAxJrE,KAAmL+C,GAAnL/C,KAAmL,cAAAsE,EAAAjD,GAAwC,OAAAnB,EAAA,SAAmBqE,IAAAlD,IAAUnB,EAAA,OAAYE,OAAOoE,IAAAF,EAAAX,YAA3Q3D,KAA+RmD,KAA/RnD,KAA+R8C,GAAA,KAAA5C,EAAA,OAAkCuE,aAAaC,MAAA,OAAAC,OAAA,QAAAC,WAAA,UAAoD,IAE3YtE,oBCCjB,IAuBAuE,EAvBArE,EAAA,OAcAsE,CACApB,EACAO,GATA,EAVA,SAAAvD,GACAF,EAAA,SAaA,kBAEA,MAUA,QCtBAuE,EAAA,QAAIC,IAAIC,EAAA,GAER,IAAAC,EAAA,IAAmBD,EAAA,GACjBE,SAEIC,KAAM,IACNC,KAAM,aACNC,UAAWT,2BCLjBE,EAAA,QAAIQ,OAAOC,eAAgB,EAI3BT,EAAA,QAAIC,IAAIS,EAAAC,GAGR,IAAIX,EAAA,SACFY,GAAI,OACJT,SACAU,SAAU,SACVC,YAAcC,IAAAvF","file":"static/js/app.908c2c0b4b67b5b368a1.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('router-view')],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_vue-loader@13.7.0@vue-loader/lib/template-compiler?{\"id\":\"data-v-0a657676\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/_vue-loader@13.7.0@vue-loader/lib/selector.js?type=template&index=0!./src/App.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../node_modules/_extract-text-webpack-plugin@3.0.2@extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../node_modules/_vue-loader@13.7.0@vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-0a657676\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../node_modules/_vue-loader@13.7.0@vue-loader/lib/selector?type=styles&index=0!./App.vue\")\n}\nvar normalizeComponent = require(\"!../node_modules/_vue-loader@13.7.0@vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../node_modules/_vue-loader@13.7.0@vue-loader/lib/selector?type=script&index=0!./App.vue\"\nimport __vue_script__ from \"!!babel-loader!../node_modules/_vue-loader@13.7.0@vue-loader/lib/selector?type=script&index=0!./App.vue\"\n/* template */\nimport __vue_template__ from \"!!../node_modules/_vue-loader@13.7.0@vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-0a657676\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../node_modules/_vue-loader@13.7.0@vue-loader/lib/selector?type=template&index=0!./App.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/App.vue\n// module id = null\n// module chunks = ","\n \n \n
\n\n\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/App.vue","\n \n\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/swiper.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"wh_content\",on:{\"touchmove\":_vm.fn}},[_c('div',{staticClass:\"wh_swiper\",class:_vm.className,on:{\"touchstart\":_vm.s,\"touchmove\":_vm.m,\"touchend\":_vm.e}},[_vm._t(\"default\")],2),_vm._v(\" \"),(_vm.showIndicator)?_c('div',{staticClass:\"wh_indicator\"},_vm._l((_vm.slidesLength),function(tag,$index){return _c('div',{staticClass:\"wh_indicator_item\",class:{ wh_show_bgcolor: _vm.index-1==$index }})})):_vm._e()])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_vue-loader@13.7.0@vue-loader/lib/template-compiler?{\"id\":\"data-v-2d1953c2\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/_vue-loader@13.7.0@vue-loader/lib/selector.js?type=template&index=0!./src/components/swiper.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../node_modules/_extract-text-webpack-plugin@3.0.2@extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/_vue-loader@13.7.0@vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-2d1953c2\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../node_modules/_vue-loader@13.7.0@vue-loader/lib/selector?type=styles&index=0!./swiper.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/_vue-loader@13.7.0@vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/_vue-loader@13.7.0@vue-loader/lib/selector?type=script&index=0!./swiper.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/_vue-loader@13.7.0@vue-loader/lib/selector?type=script&index=0!./swiper.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/_vue-loader@13.7.0@vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-2d1953c2\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/_vue-loader@13.7.0@vue-loader/lib/selector?type=template&index=0!./swiper.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/swiper.vue\n// module id = null\n// module chunks = ","\n\n \n \n
\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/slide.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"wh_slide\",on:{\"click\":_vm.clickSlide}},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_vue-loader@13.7.0@vue-loader/lib/template-compiler?{\"id\":\"data-v-1736b36a\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/_vue-loader@13.7.0@vue-loader/lib/selector.js?type=template&index=0!./src/components/slide.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../node_modules/_extract-text-webpack-plugin@3.0.2@extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/_vue-loader@13.7.0@vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-1736b36a\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../../node_modules/_vue-loader@13.7.0@vue-loader/lib/selector?type=styles&index=0!./slide.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/_vue-loader@13.7.0@vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/_vue-loader@13.7.0@vue-loader/lib/selector?type=script&index=0!./slide.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/_vue-loader@13.7.0@vue-loader/lib/selector?type=script&index=0!./slide.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/_vue-loader@13.7.0@vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-1736b36a\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/_vue-loader@13.7.0@vue-loader/lib/selector?type=template&index=0!./slide.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/slide.vue\n// module id = null\n// module chunks = ","\n \n
0\">\n \n
\n \n \n
\n\n
\n \n
\n\n\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/HelloWorld.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"hello\"},[(_vm.list.length>0)?_c('Swiper',{ref:\"swiper\",on:{\"transtionend\":_vm.getNum}},_vm._l((_vm.list),function(item,index){return _c('Slide',{key:index},[_c('img',{attrs:{\"src\":item.img}})])})):_vm._e(),_vm._v(\" \"),_c('div',{staticStyle:{\"width\":\"100%\",\"height\":\"100px\",\"background\":\"red\"}})],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_vue-loader@13.7.0@vue-loader/lib/template-compiler?{\"id\":\"data-v-66dda140\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/_vue-loader@13.7.0@vue-loader/lib/selector.js?type=template&index=0!./src/components/HelloWorld.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../node_modules/_extract-text-webpack-plugin@3.0.2@extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/_vue-loader@13.7.0@vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-66dda140\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../node_modules/_vue-loader@13.7.0@vue-loader/lib/selector?type=styles&index=0!./HelloWorld.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/_vue-loader@13.7.0@vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/_vue-loader@13.7.0@vue-loader/lib/selector?type=script&index=0!./HelloWorld.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/_vue-loader@13.7.0@vue-loader/lib/selector?type=script&index=0!./HelloWorld.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/_vue-loader@13.7.0@vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-66dda140\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/_vue-loader@13.7.0@vue-loader/lib/selector?type=template&index=0!./HelloWorld.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-66dda140\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/HelloWorld.vue\n// module id = null\n// module chunks = ","import Vue from 'vue'\nimport Router from 'vue-router'\nimport HelloWorld from '@/components/HelloWorld'\n\nVue.use(Router)\n\nexport default new Router({\n routes: [\n {\n path: '/',\n name: 'HelloWorld',\n component: HelloWorld\n }\n ]\n})\n\n\n\n// WEBPACK FOOTER //\n// ./src/router/index.js","// The Vue build version to load with the `import` command\n// (runtime-only or standalone) has been set in webpack.base.conf with an alias.\nimport Vue from 'vue'\nimport App from './App'\nimport router from './router'\n\nVue.config.productionTip = false\n\n\nimport Toast from 'vue-toast-component';\nVue.use(Toast);\n\n/* eslint-disable no-new */\nnew Vue({\n el: '#app',\n router,\n template: '',\n components: { App }\n})\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.js"],"sourceRoot":""}
--------------------------------------------------------------------------------
/dist/static/js/manifest.28a80a11d690e9196934.js:
--------------------------------------------------------------------------------
1 | !function(e){var n=window.webpackJsonp;window.webpackJsonp=function(r,c,a){for(var i,u,f,s=0,l=[];s0?u-4:u;var f=0;for(e=0;e>16&255,s[f++]=r>>8&255,s[f++]=255&r;2===a?(r=i[t.charCodeAt(e)]<<2|i[t.charCodeAt(e+1)]>>4,s[f++]=255&r):1===a&&(r=i[t.charCodeAt(e)]<<10|i[t.charCodeAt(e+1)]<<4|i[t.charCodeAt(e+2)]>>2,s[f++]=r>>8&255,s[f++]=255&r);return s},e.fromByteArray=function(t){for(var e,n=t.length,i=n%3,o="",a=[],s=0,u=n-i;su?u:s+16383));1===i?(e=t[n-1],o+=r[e>>2],o+=r[e<<4&63],o+="=="):2===i&&(e=(t[n-2]<<8)+t[n-1],o+=r[e>>10],o+=r[e>>4&63],o+=r[e<<2&63],o+="=");return a.push(o),a.join("")};for(var r=[],i=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,u=a.length;s0)throw new Error("Invalid string. Length must be a multiple of 4");return"="===t[e-2]?2:"="===t[e-1]?1:0}function f(t,e,n){for(var i,o,a=[],s=e;s>18&63]+r[o>>12&63]+r[o>>6&63]+r[63&o]);return a.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},"5RIO":function(t,e){var n={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==n.call(t)}},"7xR8":function(t,e,n){"use strict";(function(t){var r=n("/eEn"),i=n("OId0"),o=n("5RIO");function a(){return u.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(t,e){if(a()=a())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a().toString(16)+" bytes");return 0|t}function d(t,e){if(u.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var n=t.length;if(0===n)return 0;for(var r=!1;;)switch(e){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return M(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return N(t).length;default:if(r)return M(t).length;e=(""+e).toLowerCase(),r=!0}}function v(t,e,n){var r=t[e];t[e]=t[n],t[n]=r}function y(t,e,n,r,i){if(0===t.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(i)return-1;n=t.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof e&&(e=u.from(e,r)),u.isBuffer(e))return 0===e.length?-1:m(t,e,n,r,i);if("number"==typeof e)return e&=255,u.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):m(t,[e],n,r,i);throw new TypeError("val must be string, number or Buffer")}function m(t,e,n,r,i){var o,a=1,s=t.length,u=e.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(t.length<2||e.length<2)return-1;a=2,s/=2,u/=2,n/=2}function c(t,e){return 1===a?t[e]:t.readUInt16BE(e*a)}if(i){var f=-1;for(o=n;os&&(n=s-u),o=n;o>=0;o--){for(var l=!0,p=0;pi&&(r=i):r=i;var o=e.length;if(o%2!=0)throw new TypeError("Invalid hex string");r>o/2&&(r=o/2);for(var a=0;a239?4:c>223?3:c>191?2:1;if(i+l<=n)switch(l){case 1:c<128&&(f=c);break;case 2:128==(192&(o=t[i+1]))&&(u=(31&c)<<6|63&o)>127&&(f=u);break;case 3:o=t[i+1],a=t[i+2],128==(192&o)&&128==(192&a)&&(u=(15&c)<<12|(63&o)<<6|63&a)>2047&&(u<55296||u>57343)&&(f=u);break;case 4:o=t[i+1],a=t[i+2],s=t[i+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&(u=(15&c)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&u<1114112&&(f=u)}null===f?(f=65533,l=1):f>65535&&(f-=65536,r.push(f>>>10&1023|55296),f=56320|1023&f),r.push(f),i+=l}return function(t){var e=t.length;if(e<=x)return String.fromCharCode.apply(String,t);var n="",r=0;for(;rthis.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return $(this,e,n);case"utf8":case"utf-8":return w(this,e,n);case"ascii":return A(this,e,n);case"latin1":case"binary":return C(this,e,n);case"base64":return b(this,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return k(this,e,n);default:if(r)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),r=!0}}.apply(this,arguments)},u.prototype.equals=function(t){if(!u.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===u.compare(this,t)},u.prototype.inspect=function(){var t="",n=e.INSPECT_MAX_BYTES;return this.length>0&&(t=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(t+=" ... ")),""},u.prototype.compare=function(t,e,n,r,i){if(!u.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),e<0||n>t.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&e>=n)return 0;if(r>=i)return-1;if(e>=n)return 1;if(e>>>=0,n>>>=0,r>>>=0,i>>>=0,this===t)return 0;for(var o=i-r,a=n-e,s=Math.min(o,a),c=this.slice(r,i),f=t.slice(e,n),l=0;li)&&(n=i),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o,a,s,u,c,f,l,p,h,d=!1;;)switch(r){case"hex":return g(this,t,e,n);case"utf8":case"utf-8":return p=e,h=n,U(M(t,(l=this).length-p),l,p,h);case"ascii":return _(this,t,e,n);case"latin1":case"binary":return _(this,t,e,n);case"base64":return u=this,c=e,f=n,U(N(t),u,c,f);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return a=e,s=n,U(function(t,e){for(var n,r,i,o=[],a=0;a>8,i=n%256,o.push(i),o.push(r);return o}(t,(o=this).length-a),o,a,s);default:if(d)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),d=!0}},u.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var x=4096;function A(t,e,n){var r="";n=Math.min(t.length,n);for(var i=e;ir)&&(n=r);for(var i="",o=e;on)throw new RangeError("Trying to access beyond buffer length")}function O(t,e,n,r,i,o){if(!u.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function T(t,e,n,r){e<0&&(e=65535+e+1);for(var i=0,o=Math.min(t.length-n,2);i>>8*(r?i:1-i)}function S(t,e,n,r){e<0&&(e=4294967295+e+1);for(var i=0,o=Math.min(t.length-n,4);i>>8*(r?i:3-i)&255}function R(t,e,n,r,i,o){if(n+r>t.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function P(t,e,n,r,o){return o||R(t,0,n,4),i.write(t,e,n,r,23,4),n+4}function j(t,e,n,r,o){return o||R(t,0,n,8),i.write(t,e,n,r,52,8),n+8}u.prototype.slice=function(t,e){var n,r=this.length;if(t=~~t,e=void 0===e?r:~~e,t<0?(t+=r)<0&&(t=0):t>r&&(t=r),e<0?(e+=r)<0&&(e=0):e>r&&(e=r),e0&&(i*=256);)r+=this[t+--e]*i;return r},u.prototype.readUInt8=function(t,e){return e||E(t,1,this.length),this[t]},u.prototype.readUInt16LE=function(t,e){return e||E(t,2,this.length),this[t]|this[t+1]<<8},u.prototype.readUInt16BE=function(t,e){return e||E(t,2,this.length),this[t]<<8|this[t+1]},u.prototype.readUInt32LE=function(t,e){return e||E(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},u.prototype.readUInt32BE=function(t,e){return e||E(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},u.prototype.readIntLE=function(t,e,n){t|=0,e|=0,n||E(t,e,this.length);for(var r=this[t],i=1,o=0;++o=(i*=128)&&(r-=Math.pow(2,8*e)),r},u.prototype.readIntBE=function(t,e,n){t|=0,e|=0,n||E(t,e,this.length);for(var r=e,i=1,o=this[t+--r];r>0&&(i*=256);)o+=this[t+--r]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*e)),o},u.prototype.readInt8=function(t,e){return e||E(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},u.prototype.readInt16LE=function(t,e){e||E(t,2,this.length);var n=this[t]|this[t+1]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt16BE=function(t,e){e||E(t,2,this.length);var n=this[t+1]|this[t]<<8;return 32768&n?4294901760|n:n},u.prototype.readInt32LE=function(t,e){return e||E(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},u.prototype.readInt32BE=function(t,e){return e||E(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},u.prototype.readFloatLE=function(t,e){return e||E(t,4,this.length),i.read(this,t,!0,23,4)},u.prototype.readFloatBE=function(t,e){return e||E(t,4,this.length),i.read(this,t,!1,23,4)},u.prototype.readDoubleLE=function(t,e){return e||E(t,8,this.length),i.read(this,t,!0,52,8)},u.prototype.readDoubleBE=function(t,e){return e||E(t,8,this.length),i.read(this,t,!1,52,8)},u.prototype.writeUIntLE=function(t,e,n,r){(t=+t,e|=0,n|=0,r)||O(this,t,e,n,Math.pow(2,8*n)-1,0);var i=1,o=0;for(this[e]=255&t;++o=0&&(o*=256);)this[e+i]=t/o&255;return e+n},u.prototype.writeUInt8=function(t,e,n){return t=+t,e|=0,n||O(this,t,e,1,255,0),u.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},u.prototype.writeUInt16LE=function(t,e,n){return t=+t,e|=0,n||O(this,t,e,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):T(this,t,e,!0),e+2},u.prototype.writeUInt16BE=function(t,e,n){return t=+t,e|=0,n||O(this,t,e,2,65535,0),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):T(this,t,e,!1),e+2},u.prototype.writeUInt32LE=function(t,e,n){return t=+t,e|=0,n||O(this,t,e,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):S(this,t,e,!0),e+4},u.prototype.writeUInt32BE=function(t,e,n){return t=+t,e|=0,n||O(this,t,e,4,4294967295,0),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):S(this,t,e,!1),e+4},u.prototype.writeIntLE=function(t,e,n,r){if(t=+t,e|=0,!r){var i=Math.pow(2,8*n-1);O(this,t,e,n,i-1,-i)}var o=0,a=1,s=0;for(this[e]=255&t;++o>0)-s&255;return e+n},u.prototype.writeIntBE=function(t,e,n,r){if(t=+t,e|=0,!r){var i=Math.pow(2,8*n-1);O(this,t,e,n,i-1,-i)}var o=n-1,a=1,s=0;for(this[e+o]=255&t;--o>=0&&(a*=256);)t<0&&0===s&&0!==this[e+o+1]&&(s=1),this[e+o]=(t/a>>0)-s&255;return e+n},u.prototype.writeInt8=function(t,e,n){return t=+t,e|=0,n||O(this,t,e,1,127,-128),u.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},u.prototype.writeInt16LE=function(t,e,n){return t=+t,e|=0,n||O(this,t,e,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):T(this,t,e,!0),e+2},u.prototype.writeInt16BE=function(t,e,n){return t=+t,e|=0,n||O(this,t,e,2,32767,-32768),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):T(this,t,e,!1),e+2},u.prototype.writeInt32LE=function(t,e,n){return t=+t,e|=0,n||O(this,t,e,4,2147483647,-2147483648),u.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):S(this,t,e,!0),e+4},u.prototype.writeInt32BE=function(t,e,n){return t=+t,e|=0,n||O(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),u.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):S(this,t,e,!1),e+4},u.prototype.writeFloatLE=function(t,e,n){return P(this,t,e,!0,n)},u.prototype.writeFloatBE=function(t,e,n){return P(this,t,e,!1,n)},u.prototype.writeDoubleLE=function(t,e,n){return j(this,t,e,!0,n)},u.prototype.writeDoubleBE=function(t,e,n){return j(this,t,e,!1,n)},u.prototype.copy=function(t,e,n,r){if(n||(n=0),r||0===r||(r=this.length),e>=t.length&&(e=t.length),e||(e=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),t.length-e=0;--i)t[i+e]=this[i+n];else if(o<1e3||!u.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"==typeof t)for(o=e;o55295&&n<57344){if(!i){if(n>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(a+1===r){(e-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(e-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((e-=1)<0)break;o.push(n)}else if(n<2048){if((e-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((e-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function N(t){return r.toByteArray(function(t){var e;if((t=(e=t,e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")).replace(I,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function U(t,e,n,r){for(var i=0;i=e.length||i>=t.length);++i)e[i+n]=t[i];return i}}).call(e,n("Gkk9"))},Gkk9:function(t,e){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(n=window)}t.exports=n},OId0:function(t,e){e.read=function(t,e,n,r,i){var o,a,s=8*i-r-1,u=(1<>1,f=-7,l=n?i-1:0,p=n?-1:1,h=t[e+l];for(l+=p,o=h&(1<<-f)-1,h>>=-f,f+=s;f>0;o=256*o+t[e+l],l+=p,f-=8);for(a=o&(1<<-f)-1,o>>=-f,f+=r;f>0;a=256*a+t[e+l],l+=p,f-=8);if(0===o)o=1-c;else{if(o===u)return a?NaN:1/0*(h?-1:1);a+=Math.pow(2,r),o-=c}return(h?-1:1)*a*Math.pow(2,o-r)},e.write=function(t,e,n,r,i,o){var a,s,u,c=8*o-i-1,f=(1<>1,p=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,h=r?0:o-1,d=r?1:-1,v=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,a=f):(a=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-a))<1&&(a--,u*=2),(e+=a+l>=1?p/u:p*Math.pow(2,1-l))*u>=2&&(a++,u/=2),a+l>=f?(s=0,a=f):a+l>=1?(s=(e*u-1)*Math.pow(2,i),a+=l):(s=e*Math.pow(2,l-1)*Math.pow(2,i),a=0));i>=8;t[n+h]=255&s,h+=d,s/=256,i-=8);for(a=a<0;t[n+h]=255&a,h+=d,a/=256,c-=8);t[n+h-d]|=128*v}},VCXJ:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){var n=Object.freeze({});function r(t){return void 0===t||null===t}function i(t){return void 0!==t&&null!==t}function o(t){return!0===t}function a(t){return"string"==typeof t||"number"==typeof t||"symbol"==typeof t||"boolean"==typeof t}function s(t){return null!==t&&"object"==typeof t}var u=Object.prototype.toString;function c(t){return"[object Object]"===u.call(t)}function f(t){return"[object RegExp]"===u.call(t)}function l(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e&&isFinite(t)}function p(t){return null==t?"":"object"==typeof t?JSON.stringify(t,null,2):String(t)}function h(t){var e=parseFloat(t);return isNaN(e)?t:e}function d(t,e){for(var n=Object.create(null),r=t.split(","),i=0;i-1)return t.splice(n,1)}}var g=Object.prototype.hasOwnProperty;function _(t,e){return g.call(t,e)}function b(t){var e=Object.create(null);return function(n){return e[n]||(e[n]=t(n))}}var w=/-(\w)/g,x=b(function(t){return t.replace(w,function(t,e){return e?e.toUpperCase():""})}),A=b(function(t){return t.charAt(0).toUpperCase()+t.slice(1)}),C=/\B([A-Z])/g,$=b(function(t){return t.replace(C,"-$1").toLowerCase()});function k(t,e){function n(n){var r=arguments.length;return r?r>1?t.apply(e,arguments):t.call(e,n):t.call(e)}return n._length=t.length,n}function E(t,e){e=e||0;for(var n=t.length-e,r=new Array(n);n--;)r[n]=t[n+e];return r}function O(t,e){for(var n in e)t[n]=e[n];return t}function T(t){for(var e={},n=0;n0,G=K&&K.indexOf("edge/")>0,Z=K&&K.indexOf("android")>0||"android"===J,Q=K&&/iphone|ipad|ipod|ios/.test(K)||"ios"===J,tt=(K&&/chrome\/\d+/.test(K),{}.watch),et=!1;if(q)try{var nt={};Object.defineProperty(nt,"passive",{get:function(){et=!0}}),window.addEventListener("test-passive",null,nt)}catch(t){}var rt=function(){return void 0===H&&(H=!q&&void 0!==t&&"server"===t.process.env.VUE_ENV),H},it=q&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function ot(t){return"function"==typeof t&&/native code/.test(t.toString())}var at,st="undefined"!=typeof Symbol&&ot(Symbol)&&"undefined"!=typeof Reflect&&ot(Reflect.ownKeys);at="undefined"!=typeof Set&&ot(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var ut=S,ct=0,ft=function(){this.id=ct++,this.subs=[]};ft.prototype.addSub=function(t){this.subs.push(t)},ft.prototype.removeSub=function(t){m(this.subs,t)},ft.prototype.depend=function(){ft.target&&ft.target.addDep(this)},ft.prototype.notify=function(){for(var t=this.subs.slice(),e=0,n=t.length;e0&&(ue((c=t(c,(n||"")+"_"+u))[0])&&ue(l)&&(s[f]=vt(l.text+c[0].text),c.shift()),s.push.apply(s,c)):a(c)?ue(l)?s[f]=vt(l.text+c):""!==c&&s.push(vt(c)):ue(c)&&ue(l)?s[f]=vt(l.text+c.text):(o(e._isVList)&&i(c.tag)&&r(c.key)&&i(n)&&(c.key="__vlist"+n+"_"+u+"__"),s.push(c)));return s}(t):void 0}function ue(t){return i(t)&&i(t.text)&&!1===t.isComment}function ce(t,e){return(t.__esModule||st&&"Module"===t[Symbol.toStringTag])&&(t=t.default),s(t)?e.extend(t):t}function fe(t){return t.isComment&&t.asyncFactory}function le(t){if(Array.isArray(t))for(var e=0;eEe&&xe[n].id>t.id;)n--;xe.splice(n+1,0,t)}else xe.push(t);$e||($e=!0,Zt(Oe))}}(this)},Se.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||s(t)||this.deep){var e=this.value;if(this.value=t,this.user)try{this.cb.call(this.vm,t,e)}catch(t){Dt(t,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,t,e)}}},Se.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},Se.prototype.depend=function(){for(var t=this.deps.length;t--;)this.deps[t].depend()},Se.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||m(this.vm._watchers,this);for(var t=this.deps.length;t--;)this.deps[t].removeSub(this);this.active=!1}};var Re={enumerable:!0,configurable:!0,get:S,set:S};function Pe(t,e,n){Re.get=function(){return this[e][n]},Re.set=function(t){this[e][n]=t},Object.defineProperty(t,n,Re)}function je(t){t._watchers=[];var e=t.$options;e.props&&function(t,e){var n=t.$options.propsData||{},r=t._props={},i=t.$options._propKeys=[],o=!t.$parent;wt.shouldConvert=o;var a=function(o){i.push(o);var a=Nt(o,e,n,t);kt(r,o,a),o in t||Pe(t,"_props",o)};for(var s in e)a(s);wt.shouldConvert=!0}(t,e.props),e.methods&&function(t,e){t.$options.props;for(var n in e)t[n]=null==e[n]?S:k(e[n],t)}(t,e.methods),e.data?function(t){var e=t.$options.data;c(e=t._data="function"==typeof e?function(t,e){try{return t.call(e,e)}catch(t){return Dt(t,e,"data()"),{}}}(e,t):e||{})||(e={});var n=Object.keys(e),r=t.$options.props,i=(t.$options.methods,n.length);for(;i--;){var o=n[i];0,r&&_(r,o)||D(o)||Pe(t,"_data",o)}$t(e,!0)}(t):$t(t._data={},!0),e.computed&&function(t,e){var n=t._computedWatchers=Object.create(null),r=rt();for(var i in e){var o=e[i],a="function"==typeof o?o:o.get;0,r||(n[i]=new Se(t,a||S,S,Ie)),i in t||Le(t,i,o)}}(t,e.computed),e.watch&&e.watch!==tt&&function(t,e){for(var n in e){var r=e[n];if(Array.isArray(r))for(var i=0;i=0||n.indexOf(t[i])<0)&&r.push(t[i]);return r}return t}function hn(t){this._init(t)}function dn(t){t.cid=0;var e=1;t.extend=function(t){t=t||{};var n=this,r=n.cid,i=t._Ctor||(t._Ctor={});if(i[r])return i[r];var o=t.name||n.options.name;var a=function(t){this._init(t)};return(a.prototype=Object.create(n.prototype)).constructor=a,a.cid=e++,a.options=Lt(n.options,t),a.super=n,a.options.props&&function(t){var e=t.options.props;for(var n in e)Pe(t.prototype,"_props",n)}(a),a.options.computed&&function(t){var e=t.options.computed;for(var n in e)Le(t.prototype,n,e[n])}(a),a.extend=n.extend,a.mixin=n.mixin,a.use=n.use,N.forEach(function(t){a[t]=n[t]}),o&&(a.options.components[o]=a),a.superOptions=n.options,a.extendOptions=t,a.sealedOptions=O({},a.options),i[r]=a,a}}function vn(t){return t&&(t.Ctor.options.name||t.tag)}function yn(t,e){return Array.isArray(t)?t.indexOf(e)>-1:"string"==typeof t?t.split(",").indexOf(e)>-1:!!f(t)&&t.test(e)}function mn(t,e){var n=t.cache,r=t.keys,i=t._vnode;for(var o in n){var a=n[o];if(a){var s=vn(a.componentOptions);s&&!e(s)&&gn(n,o,r,i)}}}function gn(t,e,n,r){var i=t[e];!i||r&&i.tag===r.tag||i.componentInstance.$destroy(),t[e]=null,m(n,e)}hn.prototype._init=function(t){var e,r,i,o;this._uid=fn++,this._isVue=!0,t&&t._isComponent?function(t,e){var n=t.$options=Object.create(t.constructor.options),r=e._parentVnode;n.parent=e.parent,n._parentVnode=r,n._parentElm=e._parentElm,n._refElm=e._refElm;var i=r.componentOptions;n.propsData=i.propsData,n._parentListeners=i.listeners,n._renderChildren=i.children,n._componentTag=i.tag,e.render&&(n.render=e.render,n.staticRenderFns=e.staticRenderFns)}(this,t):this.$options=Lt(ln(this.constructor),t||{},this),this._renderProxy=this,this._self=this,function(t){var e=t.$options,n=e.parent;if(n&&!e.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(t)}t.$parent=n,t.$root=n?n.$root:t,t.$children=[],t.$refs={},t._watcher=null,t._inactive=null,t._directInactive=!1,t._isMounted=!1,t._isDestroyed=!1,t._isBeingDestroyed=!1}(this),function(t){t._events=Object.create(null),t._hasHookEvent=!1;var e=t.$options._parentListeners;e&&de(t,e)}(this),function(t){t._vnode=null,t._staticTrees=null;var e=t.$options,r=t.$vnode=e._parentVnode,i=r&&r.context;t.$slots=ve(e._renderChildren,i),t.$scopedSlots=n,t._c=function(e,n,r,i){return on(t,e,n,r,i,!1)},t.$createElement=function(e,n,r,i){return on(t,e,n,r,i,!0)};var o=r&&r.data;kt(t,"$attrs",o&&o.attrs||n,0,!0),kt(t,"$listeners",e._parentListeners||n,0,!0)}(this),we(this,"beforeCreate"),(r=Ue((e=this).$options.inject,e))&&(wt.shouldConvert=!1,Object.keys(r).forEach(function(t){kt(e,t,r[t])}),wt.shouldConvert=!0),je(this),(o=(i=this).$options.provide)&&(i._provided="function"==typeof o?o.call(i):o),we(this,"created"),this.$options.el&&this.$mount(this.$options.el)},function(t){var e={};e.get=function(){return this._data};var n={};n.get=function(){return this._props},Object.defineProperty(t.prototype,"$data",e),Object.defineProperty(t.prototype,"$props",n),t.prototype.$set=Et,t.prototype.$delete=Ot,t.prototype.$watch=function(t,e,n){if(c(e))return Ne(this,t,e,n);(n=n||{}).user=!0;var r=new Se(this,t,e,n);return n.immediate&&e.call(this,r.value),function(){r.teardown()}}}(hn),sn=/^hook:/,(an=hn).prototype.$on=function(t,e){if(Array.isArray(t))for(var n=0,r=t.length;n1?E(e):e;for(var n=E(arguments,1),r=0,i=e.length;rparseInt(this.max)&&gn(a,s[0],s,this._vnode)),e.data.keepAlive=!0}return e||t&&t[0]}}};_n=hn,(wn={}).get=function(){return B},Object.defineProperty(_n,"config",wn),_n.util={warn:ut,extend:O,mergeOptions:Lt,defineReactive:kt},_n.set=Et,_n.delete=Ot,_n.nextTick=Zt,_n.options=Object.create(null),N.forEach(function(t){_n.options[t+"s"]=Object.create(null)}),_n.options._base=_n,O(_n.options.components,An),_n.use=function(t){var e=this._installedPlugins||(this._installedPlugins=[]);if(e.indexOf(t)>-1)return this;var n=E(arguments,1);return n.unshift(this),"function"==typeof t.install?t.install.apply(t,n):"function"==typeof t&&t.apply(null,n),e.push(t),this},_n.mixin=function(t){return this.options=Lt(this.options,t),this},dn(_n),bn=_n,N.forEach(function(t){bn[t]=function(e,n){return n?("component"===t&&c(n)&&(n.name=n.name||e,n=this.options._base.extend(n)),"directive"===t&&"function"==typeof n&&(n={bind:n,update:n}),this.options[t+"s"][e]=n,n):this.options[t+"s"][e]}}),Object.defineProperty(hn.prototype,"$isServer",{get:rt}),Object.defineProperty(hn.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),hn.version="2.5.13";var Cn=d("style,class"),$n=d("input,textarea,option,select,progress"),kn=function(t,e,n){return"value"===n&&$n(t)&&"button"!==e||"selected"===n&&"option"===t||"checked"===n&&"input"===t||"muted"===n&&"video"===t},En=d("contenteditable,draggable,spellcheck"),On=d("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),Tn="http://www.w3.org/1999/xlink",Sn=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},Rn=function(t){return Sn(t)?t.slice(6,t.length):""},Pn=function(t){return null==t||!1===t};function jn(t){for(var e=t.data,n=t,r=t;i(r.componentInstance);)(r=r.componentInstance._vnode)&&r.data&&(e=In(r.data,e));for(;i(n=n.parent);)n&&n.data&&(e=In(e,n.data));return function(t,e){if(i(t)||i(e))return Ln(t,Mn(e));return""}(e.staticClass,e.class)}function In(t,e){return{staticClass:Ln(t.staticClass,e.staticClass),class:i(t.class)?[t.class,e.class]:e.class}}function Ln(t,e){return t?e?t+" "+e:t:e||""}function Mn(t){return Array.isArray(t)?function(t){for(var e,n="",r=0,o=t.length;r=0&&" "===(v=t.charAt(d));d--);v&&vr.test(v)||(c=!0)}}else void 0===i?(h=r+1,i=t.slice(0,r).trim()):y();function y(){(o||(o=[])).push(t.slice(h,r).trim()),h=r+1}if(void 0===i?i=t.slice(0,r).trim():0!==h&&y(),o)for(r=0;r-1?{exp:t.slice(0,lr),key:'"'+t.slice(lr+1)+'"'}:{exp:t,key:null};cr=t,lr=pr=hr=0;for(;!Tr();)Sr(fr=Or())?Pr(fr):91===fr&&Rr(fr);return{exp:t.slice(0,pr),key:t.slice(pr+1,hr)}}(t);return null===n.key?t+"="+e:"$set("+n.exp+", "+n.key+", "+e+")"}function Or(){return cr.charCodeAt(++lr)}function Tr(){return lr>=ur}function Sr(t){return 34===t||39===t}function Rr(t){var e=1;for(pr=lr;!Tr();)if(Sr(t=Or()))Pr(t);else if(91===t&&e++,93===t&&e--,0===e){hr=lr;break}}function Pr(t){for(var e=t;!Tr()&&(t=Or())!==e;);}var jr,Ir="__r",Lr="__c";function Mr(t,e,n,r,i){var o,a,s,u,c;e=(o=e)._withTask||(o._withTask=function(){Kt=!0;var t=o.apply(null,arguments);return Kt=!1,t}),n&&(a=e,s=t,u=r,c=jr,e=function t(){null!==a.apply(null,arguments)&&Nr(s,t,u,c)}),jr.addEventListener(t,e,et?{capture:r,passive:i}:r)}function Nr(t,e,n,r){(r||jr).removeEventListener(t,e._withTask||e,n)}function Ur(t,e){if(!r(t.data.on)||!r(e.data.on)){var n=e.data.on||{},o=t.data.on||{};jr=e.elm,function(t){if(i(t[Ir])){var e=W?"change":"input";t[e]=[].concat(t[Ir],t[e]||[]),delete t[Ir]}i(t[Lr])&&(t.change=[].concat(t[Lr],t.change||[]),delete t[Lr])}(n),ie(n,o,Mr,Nr,e.context),jr=void 0}}var Br={create:Ur,update:Ur};function Dr(t,e){if(!r(t.data.domProps)||!r(e.data.domProps)){var n,o,a,s,u=e.elm,c=t.data.domProps||{},f=e.data.domProps||{};i(f.__ob__)&&(f=e.data.domProps=O({},f));for(n in c)r(f[n])&&(u[n]="");for(n in f){if(o=f[n],"textContent"===n||"innerHTML"===n){if(e.children&&(e.children.length=0),o===c[n])continue;1===u.childNodes.length&&u.removeChild(u.childNodes[0])}if("value"===n){u._value=o;var l=r(o)?"":String(o);s=l,(a=u).composing||"OPTION"!==a.tagName&&!function(t,e){var n=!0;try{n=document.activeElement!==t}catch(t){}return n&&t.value!==e}(a,s)&&!function(t,e){var n=t.value,r=t._vModifiers;if(i(r)){if(r.lazy)return!1;if(r.number)return h(n)!==h(e);if(r.trim)return n.trim()!==e.trim()}return n!==e}(a,s)||(u.value=l)}else u[n]=o}}}var Fr={create:Dr,update:Dr},Yr=b(function(t){var e={},n=/:(.+)/;return t.split(/;(?![^(]*\))/g).forEach(function(t){if(t){var r=t.split(n);r.length>1&&(e[r[0].trim()]=r[1].trim())}}),e});function Hr(t){var e=zr(t.style);return t.staticStyle?O(t.staticStyle,e):e}function zr(t){return Array.isArray(t)?T(t):"string"==typeof t?Yr(t):t}var qr,Vr=/^--/,Jr=/\s*!important$/,Kr=function(t,e,n){if(Vr.test(e))t.style.setProperty(e,n);else if(Jr.test(n))t.style.setProperty(e,n.replace(Jr,""),"important");else{var r=Xr(e);if(Array.isArray(n))for(var i=0,o=n.length;i-1?e.split(/\s+/).forEach(function(e){return t.classList.add(e)}):t.classList.add(e);else{var n=" "+(t.getAttribute("class")||"")+" ";n.indexOf(" "+e+" ")<0&&t.setAttribute("class",(n+e).trim())}}function ti(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(/\s+/).forEach(function(e){return t.classList.remove(e)}):t.classList.remove(e),t.classList.length||t.removeAttribute("class");else{for(var n=" "+(t.getAttribute("class")||"")+" ",r=" "+e+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?t.setAttribute("class",n):t.removeAttribute("class")}}function ei(t){if(t){if("object"==typeof t){var e={};return!1!==t.css&&O(e,ni(t.name||"v")),O(e,t),e}return"string"==typeof t?ni(t):void 0}}var ni=b(function(t){return{enterClass:t+"-enter",enterToClass:t+"-enter-to",enterActiveClass:t+"-enter-active",leaveClass:t+"-leave",leaveToClass:t+"-leave-to",leaveActiveClass:t+"-leave-active"}}),ri=q&&!X,ii="transition",oi="animation",ai="transition",si="transitionend",ui="animation",ci="animationend";ri&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(ai="WebkitTransition",si="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(ui="WebkitAnimation",ci="webkitAnimationEnd"));var fi=q?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()};function li(t){fi(function(){fi(t)})}function pi(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n.indexOf(e)<0&&(n.push(e),Qr(t,e))}function hi(t,e){t._transitionClasses&&m(t._transitionClasses,e),ti(t,e)}function di(t,e,n){var r=yi(t,e),i=r.type,o=r.timeout,a=r.propCount;if(!i)return n();var s=i===ii?si:ci,u=0,c=function(){t.removeEventListener(s,f),n()},f=function(e){e.target===t&&++u>=a&&c()};setTimeout(function(){u0&&(n=ii,f=a,l=o.length):e===oi?c>0&&(n=oi,f=c,l=u.length):l=(n=(f=Math.max(a,c))>0?a>c?ii:oi:null)?n===ii?o.length:u.length:0,{type:n,timeout:f,propCount:l,hasTransform:n===ii&&vi.test(r[ai+"Property"])}}function mi(t,e){for(;t.length1}function Ai(t,e){!0!==e.data.show&&_i(e)}var Ci=function(t){var e,n,s={},u=t.modules,c=t.nodeOps;for(e=0;ed?_(t,r(n[m+1])?null:n[m+1].elm,n,h,m,o):h>m&&w(0,e,p,d)}(u,h,d,n,a):i(d)?(i(t.text)&&c.setTextContent(u,""),_(u,null,d,0,d.length-1,n)):i(h)?w(0,h,0,h.length-1):i(t.text)&&c.setTextContent(u,""):t.text!==e.text&&c.setTextContent(u,e.text),i(p)&&i(f=p.hook)&&i(f=f.postpatch)&&f(t,e)}}}function $(t,e,n){if(o(n)&&i(t.parent))t.parent.data.pendingInsert=e;else for(var r=0;r-1,a.selected!==o&&(a.selected=o);else if(j(Ti(a),r))return void(t.selectedIndex!==s&&(t.selectedIndex=s));i||(t.selectedIndex=-1)}}function Oi(t,e){return e.every(function(e){return!j(e,t)})}function Ti(t){return"_value"in t?t._value:t.value}function Si(t){t.target.composing=!0}function Ri(t){t.target.composing&&(t.target.composing=!1,Pi(t.target,"input"))}function Pi(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function ji(t){return!t.componentInstance||t.data&&t.data.transition?t:ji(t.componentInstance._vnode)}var Ii={model:$i,show:{bind:function(t,e,n){var r=e.value,i=(n=ji(n)).data&&n.data.transition,o=t.__vOriginalDisplay="none"===t.style.display?"":t.style.display;r&&i?(n.data.show=!0,_i(n,function(){t.style.display=o})):t.style.display=r?o:"none"},update:function(t,e,n){var r=e.value;r!==e.oldValue&&((n=ji(n)).data&&n.data.transition?(n.data.show=!0,r?_i(n,function(){t.style.display=t.__vOriginalDisplay}):bi(n,function(){t.style.display="none"})):t.style.display=r?t.__vOriginalDisplay:"none")},unbind:function(t,e,n,r,i){i||(t.style.display=t.__vOriginalDisplay)}}},Li={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function Mi(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?Mi(le(e.children)):t}function Ni(t){var e={},n=t.$options;for(var r in n.propsData)e[r]=t[r];var i=n._parentListeners;for(var o in i)e[x(o)]=i[o];return e}function Ui(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}var Bi={name:"transition",props:Li,abstract:!0,render:function(t){var e=this,n=this.$slots.default;if(n&&(n=n.filter(function(t){return t.tag||fe(t)})).length){0;var r=this.mode;0;var i=n[0];if(function(t){for(;t=t.parent;)if(t.data.transition)return!0}(this.$vnode))return i;var o=Mi(i);if(!o)return i;if(this._leaving)return Ui(t,i);var s="__transition-"+this._uid+"-";o.key=null==o.key?o.isComment?s+"comment":s+o.tag:a(o.key)?0===String(o.key).indexOf(s)?o.key:s+o.key:o.key;var u,c,f=(o.data||(o.data={})).transition=Ni(this),l=this._vnode,p=Mi(l);if(o.data.directives&&o.data.directives.some(function(t){return"show"===t.name})&&(o.data.show=!0),p&&p.data&&(u=o,(c=p).key!==u.key||c.tag!==u.tag)&&!fe(p)&&(!p.componentInstance||!p.componentInstance._vnode.isComment)){var h=p.data.transition=O({},f);if("out-in"===r)return this._leaving=!0,oe(h,"afterLeave",function(){e._leaving=!1,e.$forceUpdate()}),Ui(t,i);if("in-out"===r){if(fe(o))return l;var d,v=function(){d()};oe(f,"afterEnter",v),oe(f,"enterCancelled",v),oe(h,"delayLeave",function(t){d=t})}}return i}}},Di=O({tag:String,moveClass:String},Li);function Fi(t){t.elm._moveCb&&t.elm._moveCb(),t.elm._enterCb&&t.elm._enterCb()}function Yi(t){t.data.newPos=t.elm.getBoundingClientRect()}function Hi(t){var e=t.data.pos,n=t.data.newPos,r=e.left-n.left,i=e.top-n.top;if(r||i){t.data.moved=!0;var o=t.elm.style;o.transform=o.WebkitTransform="translate("+r+"px,"+i+"px)",o.transitionDuration="0s"}}delete Di.mode;var zi={Transition:Bi,TransitionGroup:{props:Di,render:function(t){for(var e=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,i=this.$slots.default||[],o=this.children=[],a=Ni(this),s=0;s-1?Yn[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:Yn[t]=/HTMLUnknownElement/.test(e.toString())},O(hn.options.directives,Ii),O(hn.options.components,zi),hn.prototype.__patch__=q?Ci:S,hn.prototype.$mount=function(t,e){return t=t&&q?zn(t):void 0,r=t,i=e,(n=this).$el=r,n.$options.render||(n.$options.render=dt),we(n,"beforeMount"),new Se(n,function(){n._update(n._render(),i)},S,null,!0),i=!1,null==n.$vnode&&(n._isMounted=!0,we(n,"mounted")),n;var n,r,i},hn.nextTick(function(){B.devtools&&it&&it.emit("init",hn)},0);var qi=/\{\{((?:.|\n)+?)\}\}/g,Vi=/[-.*+?^${}()|[\]\/\\]/g,Ji=b(function(t){var e=t[0].replace(Vi,"\\$&"),n=t[1].replace(Vi,"\\$&");return new RegExp(e+"((?:.|\\n)+?)"+n,"g")});function Ki(t,e){var n=e?Ji(e):qi;if(n.test(t)){for(var r,i,o,a=[],s=[],u=n.lastIndex=0;r=n.exec(t);){(i=r.index)>u&&(s.push(o=t.slice(u,i)),a.push(JSON.stringify(o)));var c=yr(r[1].trim());a.push("_s("+c+")"),s.push({"@binding":c}),u=i+r[0].length}return u\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,ro="[a-zA-Z_][\\w\\-\\.]*",io="((?:"+ro+"\\:)?"+ro+")",oo=new RegExp("^<"+io),ao=/^\s*(\/?)>/,so=new RegExp("^<\\/"+io+"[^>]*>"),uo=/^]+>/i,co=/^/g,"$1").replace(//g,"$1")),_o(f,n)&&(n=n.slice(1)),e.chars&&e.chars(n),""});u+=t.length-p.length,t=p,k(f,u-c,u)}else{var h=t.indexOf("<");if(0===h){if(co.test(t)){var d=t.indexOf("--\x3e");if(d>=0){e.shouldKeepComment&&e.comment(t.substring(4,d)),A(d+3);continue}}if(fo.test(t)){var v=t.indexOf("]>");if(v>=0){A(v+2);continue}}var y=t.match(uo);if(y){A(y[0].length);continue}var m=t.match(so);if(m){var g=u;A(m[0].length),k(m[1],g,u);continue}var _=C();if(_){$(_),_o(r,t)&&A(1);continue}}var b=void 0,w=void 0,x=void 0;if(h>=0){for(w=t.slice(h);!(so.test(w)||oo.test(w)||co.test(w)||fo.test(w)||(x=w.indexOf("<",1))<0);)h+=x,w=t.slice(h);b=t.substring(0,h),A(h)}h<0&&(b=t,t=""),e.chars&&b&&e.chars(b)}if(t===n){e.chars&&e.chars(t);break}}function A(e){u+=e,t=t.substring(e)}function C(){var e=t.match(oo);if(e){var n,r,i={tagName:e[1],attrs:[],start:u};for(A(e[0].length);!(n=t.match(ao))&&(r=t.match(no));)A(r[0].length),i.attrs.push(r);if(n)return i.unarySlash=n[1],A(n[0].length),i.end=u,i}}function $(t){var n=t.tagName,u=t.unarySlash;o&&("p"===r&&eo(n)&&k(r),s(n)&&r===n&&k(n));for(var c,f,l,p=a(n)||!!u,h=t.attrs.length,d=new Array(h),v=0;v=0&&i[a].lowerCasedTag!==s;a--);else a=0;if(a>=0){for(var c=i.length-1;c>=a;c--)e.end&&e.end(i[c].tag,n,o);i.length=a,r=a&&i[a-1].tag}else"br"===s?e.start&&e.start(t,[],!0,n,o):"p"===s&&(e.start&&e.start(t,[],!1,n,o),e.end&&e.end(t,n,o))}k()}(t,{warn:bo,expectHTML:e.expectHTML,isUnaryTag:e.isUnaryTag,canBeLeftOpenTag:e.canBeLeftOpenTag,shouldDecodeNewlines:e.shouldDecodeNewlines,shouldDecodeNewlinesForHref:e.shouldDecodeNewlinesForHref,shouldKeepComment:e.comments,start:function(t,o,c){var f=r&&r.ns||Eo(t);W&&"svg"===f&&(o=function(t){for(var e=[],n=0;n-1"+("true"===h?":("+c+")":":_q("+c+","+h+")")),Ar(u,"change","var $$a="+c+",$$el=$event.target,$$c=$$el.checked?("+h+"):("+d+");if(Array.isArray($$a)){var $$v="+(l?"_n("+p+")":p)+",$$i=_i($$a,$$v);if($$el.checked){$$i<0&&("+c+"=$$a.concat([$$v]))}else{$$i>-1&&("+c+"=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{"+Er(c,"$$c")+"}",null,!0);else if("input"===w&&"radio"===x)r=t,i=_,a=(o=b)&&o.number,s=Cr(r,"value")||"null",br(r,"checked","_q("+i+","+(s=a?"_n("+s+")":s)+")"),Ar(r,"change",Er(i,s),null,!0);else if("input"===w||"textarea"===w)!function(t,e,n){var r=t.attrsMap.type,i=n||{},o=i.lazy,a=i.number,s=i.trim,u=!o&&"range"!==r,c=o?"change":"range"===r?Ir:"input",f="$event.target.value";s&&(f="$event.target.value.trim()"),a&&(f="_n("+f+")");var l=Er(e,f);u&&(l="if($event.target.composing)return;"+l),br(t,"value","("+e+")"),Ar(t,c,l,null,!0),(s||a)&&Ar(t,"blur","$forceUpdate()")}(t,_,b);else if(!B.isReservedTag(w))return kr(t,_,b),!1;return!0},text:function(t,e){e.value&&br(t,"textContent","_s("+e.value+")")},html:function(t,e){e.value&&br(t,"innerHTML","_s("+e.value+")")}},isPreTag:function(t){return"pre"===t},isUnaryTag:Qi,mustUseProp:kn,canBeLeftOpenTag:to,isReservedTag:Dn,getTagNamespace:Fn,staticKeys:(Jo=Vo,Jo.reduce(function(t,e){return t.concat(e.staticKeys||[])},[]).join(","))},Go=b(function(t){return d("type,tag,attrsList,attrsMap,plain,parent,children,attrs"+(t?","+t:""))});function Zo(t,e){t&&(Ko=Go(e.staticKeys||""),Wo=e.isReservedTag||R,function t(e){e.static=function(t){if(2===t.type)return!1;if(3===t.type)return!0;return!(!t.pre&&(t.hasBindings||t.if||t.for||v(t.tag)||!Wo(t.tag)||function(t){for(;t.parent;){if("template"!==(t=t.parent).tag)return!1;if(t.for)return!0}return!1}(t)||!Object.keys(t).every(Ko)))}(e);if(1===e.type){if(!Wo(e.tag)&&"slot"!==e.tag&&null==e.attrsMap["inline-template"])return;for(var n=0,r=e.children.length;n|^function\s*\(/,ta=/^\s*[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['.*?']|\[".*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*\s*$/,ea={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},na=function(t){return"if("+t+")return null;"},ra={stop:"$event.stopPropagation();",prevent:"$event.preventDefault();",self:na("$event.target !== $event.currentTarget"),ctrl:na("!$event.ctrlKey"),shift:na("!$event.shiftKey"),alt:na("!$event.altKey"),meta:na("!$event.metaKey"),left:na("'button' in $event && $event.button !== 0"),middle:na("'button' in $event && $event.button !== 1"),right:na("'button' in $event && $event.button !== 2")};function ia(t,e,n){var r=e?"nativeOn:{":"on:{";for(var i in t)r+='"'+i+'":'+oa(i,t[i])+",";return r.slice(0,-1)+"}"}function oa(t,e){if(!e)return"function(){}";if(Array.isArray(e))return"["+e.map(function(e){return oa(t,e)}).join(",")+"]";var n=ta.test(e.value),r=Qo.test(e.value);if(e.modifiers){var i="",o="",a=[];for(var s in e.modifiers)if(ra[s])o+=ra[s],ea[s]&&a.push(s);else if("exact"===s){var u=e.modifiers;o+=na(["ctrl","shift","alt","meta"].filter(function(t){return!u[t]}).map(function(t){return"$event."+t+"Key"}).join("||"))}else a.push(s);return a.length&&(i+="if(!('button' in $event)&&"+a.map(aa).join("&&")+")return null;"),o&&(i+=o),"function($event){"+i+(n?e.value+"($event)":r?"("+e.value+")($event)":e.value)+"}"}return n||r?e.value:"function($event){"+e.value+"}"}function aa(t){var e=parseInt(t,10);if(e)return"$event.keyCode!=="+e;var n=ea[t];return"_k($event.keyCode,"+JSON.stringify(t)+","+JSON.stringify(n)+",$event.key)"}var sa={on:function(t,e){t.wrapListeners=function(t){return"_g("+t+","+e.value+")"}},bind:function(t,e){t.wrapData=function(n){return"_b("+n+",'"+t.tag+"',"+e.value+","+(e.modifiers&&e.modifiers.prop?"true":"false")+(e.modifiers&&e.modifiers.sync?",true":"")+")"}},cloak:S},ua=function(t){this.options=t,this.warn=t.warn||gr,this.transforms=_r(t.modules,"transformCode"),this.dataGenFns=_r(t.modules,"genData"),this.directives=O(O({},sa),t.directives);var e=t.isReservedTag||R;this.maybeComponent=function(t){return!e(t.tag)},this.onceId=0,this.staticRenderFns=[]};function ca(t,e){var n=new ua(e);return{render:"with(this){return "+(t?fa(t,n):'_c("div")')+"}",staticRenderFns:n.staticRenderFns}}function fa(t,e){if(t.staticRoot&&!t.staticProcessed)return la(t,e);if(t.once&&!t.onceProcessed)return pa(t,e);if(t.for&&!t.forProcessed)return function(t,e,n,r){var i=t.for,o=t.alias,a=t.iterator1?","+t.iterator1:"",s=t.iterator2?","+t.iterator2:"";0;return t.forProcessed=!0,(r||"_l")+"(("+i+"),function("+o+a+s+"){return "+(n||fa)(t,e)+"})"}(t,e);if(t.if&&!t.ifProcessed)return ha(t,e);if("template"!==t.tag||t.slotTarget){if("slot"===t.tag)return function(t,e){var n=t.slotName||'"default"',r=ya(t,e),i="_t("+n+(r?","+r:""),o=t.attrs&&"{"+t.attrs.map(function(t){return x(t.name)+":"+t.value}).join(",")+"}",a=t.attrsMap["v-bind"];!o&&!a||r||(i+=",null");o&&(i+=","+o);a&&(i+=(o?"":",null")+","+a);return i+")"}(t,e);var n;if(t.component)a=t.component,u=e,c=(s=t).inlineTemplate?null:ya(s,u,!0),n="_c("+a+","+da(s,u)+(c?","+c:"")+")";else{var r=t.plain?void 0:da(t,e),i=t.inlineTemplate?null:ya(t,e,!0);n="_c('"+t.tag+"'"+(r?","+r:"")+(i?","+i:"")+")"}for(var o=0;o':'',Aa.innerHTML.indexOf("
")>0}var ka=!!q&&$a(!1),Ea=!!q&&$a(!0),Oa=b(function(t){var e=zn(t);return e&&e.innerHTML}),Ta=hn.prototype.$mount;hn.prototype.$mount=function(t,e){if((t=t&&zn(t))===document.body||t===document.documentElement)return this;var n=this.$options;if(!n.render){var r=n.template;if(r)if("string"==typeof r)"#"===r.charAt(0)&&(r=Oa(r));else{if(!r.nodeType)return this;r=r.innerHTML}else t&&(r=function(t){if(t.outerHTML)return t.outerHTML;var e=document.createElement("div");return e.appendChild(t.cloneNode(!0)),e.innerHTML}(t));if(r){0;var i=Ca(r,{shouldDecodeNewlines:ka,shouldDecodeNewlinesForHref:Ea,delimiters:n.delimiters,comments:n.comments},this),o=i.render,a=i.staticRenderFns;n.render=o,n.staticRenderFns=a}}return Ta.call(this,t,e)},hn.compile=Ca,e.default=hn}.call(e,n("Gkk9"))},X4nt:function(t,e){t.exports=function(t,e,n,r,i,o){var a,s=t=t||{},u=typeof t.default;"object"!==u&&"function"!==u||(a=t,s=t.default);var c,f="function"==typeof s?s.options:s;if(e&&(f.render=e.render,f.staticRenderFns=e.staticRenderFns,f._compiled=!0),n&&(f.functional=!0),i&&(f._scopeId=i),o?(c=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),r&&r.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},f._ssrRegister=c):r&&(c=r),c){var l=f.functional,p=l?f.render:f.beforeCreate;l?(f._injectStyles=c,f.render=function(t,e){return c.call(e),p(t,e)}):f.beforeCreate=p?[].concat(p,c):[c]}return{esModule:a,exports:s,options:f}}},kqZI:function(t,e,n){(function(e){t.exports=function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="/",e(e.s=3)}([function(t,e,n){n(8);var r=n(6)(n(2),n(7),null,null);t.exports=r.exports},function(t,e){t.exports=n("VCXJ")},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default={data:function(){return{is_show:!1,duration:1500,content:""}}}},function(t,e,n){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var i=r(n(1)),o=r(n(0)),a=void 0,s=!1,u=i.default.extend(o.default),c=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1500;s||(s=!0,a=new u({el:document.createElement("div")}),document.body.appendChild(a.$el),a.is_show=!0,a.content=t,a.duration=e,setTimeout(function(){s=!1,a.is_show=!1},a.duration))};e.default={install:function(t){t.prototype.$toast=c}}},function(t,e,n){(t.exports=n(5)(void 0)).push([t.i,".wh-fade-toast-enter{opacity:0}.wh-fade-toast-enter-active,.wh-fade-toast-leave-active{-webkit-transition:opacity .4s;transition:opacity .4s}.wh-fade-toast-leave-active{opacity:0}*{margin:0;padding:0}.wh-toast{position:fixed;z-index:9999;line-height:17px;left:50%;-webkit-transform:translate(-50%);-ms-transform:translate(-50%);transform:translate(-50%);bottom:50px}.wh-toast-message{font-size:14px;padding:12px 16px;text-align:center;color:#fff;-webkit-border-radius:6px;border-radius:6px;background:#323232;opacity:.9}",""])},function(t,n){function r(t,n){var r,i=t[1]||"",o=t[3];if(!o)return i;if(n){var a=(r=o,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+new e(JSON.stringify(r)).toString("base64")+" */");return[i].concat(o.sources.map(function(t){return"/*# sourceURL="+o.sourceRoot+t+" */"})).concat([a]).join("\n")}return[i].join("\n")}t.exports=function(t){var e=[];return e.toString=function(){return this.map(function(e){var n=r(e,t);return e[2]?"@media "+e[2]+"{"+n+"}":n}).join("")},e.i=function(t,n){"string"==typeof t&&(t=[[null,t,""]]);for(var r={},i=0;in.parts.length&&(r.parts.length=n.parts.length)}else{var a=[];for(i=0;i-1}var o={name:"router-view",functional:!0,props:{name:{type:String,default:"default"}},render:function(t,e){var n=e.props,r=e.children,i=e.parent,o=e.data;o.routerView=!0;for(var a=i.$createElement,s=n.name,u=i.$route,c=i._routerViewCache||(i._routerViewCache={}),f=0,l=!1;i&&i._routerRoot!==i;)i.$vnode&&i.$vnode.data.routerView&&f++,i._inactive&&(l=!0),i=i.$parent;if(o.routerViewDepth=f,l)return a(c[s],o,r);var p=u.matched[f];if(!p)return c[s]=null,a();var h=c[s]=p.components[s];o.registerRouteInstance=function(t,e){var n=p.instances[s];(e&&n!==t||!e&&n===t)&&(p.instances[s]=e)},(o.hook||(o.hook={})).prepatch=function(t,e){p.instances[s]=e.componentInstance};var d=o.props=function(t,e){switch(typeof e){case"undefined":return;case"object":return e;case"function":return e(t);case"boolean":return e?t.params:void 0;default:0}}(u,p.props&&p.props[s]);if(d){d=o.props=function(t,e){for(var n in e)t[n]=e[n];return t}({},d);var v=o.attrs=o.attrs||{};for(var y in d)h.props&&y in h.props||(v[y]=d[y],delete d[y])}return a(h,o,r)}};var a=/[!'()*]/g,s=function(t){return"%"+t.charCodeAt(0).toString(16)},u=/%2C/g,c=function(t){return encodeURIComponent(t).replace(a,s).replace(u,",")},f=decodeURIComponent;function l(t){var e={};return(t=t.trim().replace(/^(\?|#|&)/,""))?(t.split("&").forEach(function(t){var n=t.replace(/\+/g," ").split("="),r=f(n.shift()),i=n.length>0?f(n.join("=")):null;void 0===e[r]?e[r]=i:Array.isArray(e[r])?e[r].push(i):e[r]=[e[r],i]}),e):e}function p(t){var e=t?Object.keys(t).map(function(e){var n=t[e];if(void 0===n)return"";if(null===n)return c(e);if(Array.isArray(n)){var r=[];return n.forEach(function(t){void 0!==t&&(null===t?r.push(c(e)):r.push(c(e)+"="+c(t)))}),r.join("&")}return c(e)+"="+c(n)}).filter(function(t){return t.length>0}).join("&"):null;return e?"?"+e:""}var h=/\/?$/;function d(t,e,n,r){var i=r&&r.options.stringifyQuery,o=e.query||{};try{o=v(o)}catch(t){}var a={name:e.name||t&&t.name,meta:t&&t.meta||{},path:e.path||"/",hash:e.hash||"",query:o,params:e.params||{},fullPath:m(e,i),matched:t?function(t){var e=[];for(;t;)e.unshift(t),t=t.parent;return e}(t):[]};return n&&(a.redirectedFrom=m(n,i)),Object.freeze(a)}function v(t){if(Array.isArray(t))return t.map(v);if(t&&"object"==typeof t){var e={};for(var n in t)e[n]=v(t[n]);return e}return t}var y=d(null,{path:"/"});function m(t,e){var n=t.path,r=t.query;void 0===r&&(r={});var i=t.hash;return void 0===i&&(i=""),(n||"/")+(e||p)(r)+i}function g(t,e){return e===y?t===e:!!e&&(t.path&&e.path?t.path.replace(h,"")===e.path.replace(h,"")&&t.hash===e.hash&&_(t.query,e.query):!(!t.name||!e.name)&&(t.name===e.name&&t.hash===e.hash&&_(t.query,e.query)&&_(t.params,e.params)))}function _(t,e){if(void 0===t&&(t={}),void 0===e&&(e={}),!t||!e)return t===e;var n=Object.keys(t),r=Object.keys(e);return n.length===r.length&&n.every(function(n){var r=t[n],i=e[n];return"object"==typeof r&&"object"==typeof i?_(r,i):String(r)===String(i)})}var b,w=[String,Object],x=[String,Array],A={name:"router-link",props:{to:{type:w,required:!0},tag:{type:String,default:"a"},exact:Boolean,append:Boolean,replace:Boolean,activeClass:String,exactActiveClass:String,event:{type:x,default:"click"}},render:function(t){var e,n,r=this,i=this.$router,o=this.$route,a=i.resolve(this.to,o,this.append),s=a.location,u=a.route,c=a.href,f={},l=i.options.linkActiveClass,p=i.options.linkExactActiveClass,v=null==l?"router-link-active":l,y=null==p?"router-link-exact-active":p,m=null==this.activeClass?v:this.activeClass,_=null==this.exactActiveClass?y:this.exactActiveClass,w=s.path?d(null,s,null,i):u;f[_]=g(o,w),f[m]=this.exact?f[_]:(n=w,0===(e=o).path.replace(h,"/").indexOf(n.path.replace(h,"/"))&&(!n.hash||e.hash===n.hash)&&function(t,e){for(var n in e)if(!(n in t))return!1;return!0}(e.query,n.query));var x=function(t){C(t)&&(r.replace?i.replace(s):i.push(s))},A={click:C};Array.isArray(this.event)?this.event.forEach(function(t){A[t]=x}):A[this.event]=x;var $={class:f};if("a"===this.tag)$.on=A,$.attrs={href:c};else{var k=function t(e){if(e)for(var n,r=0;r=0&&(e=t.slice(r),t=t.slice(0,r));var i=t.indexOf("?");return i>=0&&(n=t.slice(i+1),t=t.slice(0,i)),{path:t,query:n,hash:e}}(i.path||""),u=e&&e.path||"/",c=s.path?E(s.path,u,n||i.append):u,f=function(t,e,n){void 0===e&&(e={});var r,i=n||l;try{r=i(t||"")}catch(t){r={}}for(var o in e)r[o]=e[o];return r}(s.query,i.query,r&&r.options.parseQuery),p=i.hash||s.hash;return p&&"#"!==p.charAt(0)&&(p="#"+p),{_normalized:!0,path:c,query:f,hash:p}}function K(t,e){for(var n in e)t[n]=e[n];return t}function W(t,e){var n=V(t),r=n.pathList,i=n.pathMap,o=n.nameMap;function a(t,n,a){var s=J(t,n,!1,e),c=s.name;if(c){var f=o[c];if(!f)return u(null,s);var l=f.regex.keys.filter(function(t){return!t.optional}).map(function(t){return t.name});if("object"!=typeof s.params&&(s.params={}),n&&"object"==typeof n.params)for(var p in n.params)!(p in s.params)&&l.indexOf(p)>-1&&(s.params[p]=n.params[p]);if(f)return s.path=q(f.path,s.params),u(f,s,a)}else if(s.path){s.params={};for(var h=0;h=t.length?n():t[i]?e(t[i],function(){r(i+1)}):r(i+1)};r(0)}function dt(t){return function(e,n,r){var o=!1,a=0,s=null;vt(t,function(t,e,n,u){if("function"==typeof t&&void 0===t.cid){o=!0,a++;var c,f=gt(function(e){var i;((i=e).__esModule||mt&&"Module"===i[Symbol.toStringTag])&&(e=e.default),t.resolved="function"==typeof e?e:b.extend(e),n.components[u]=e,--a<=0&&r()}),l=gt(function(t){var e="Failed to resolve async component "+u+": "+t;s||(s=i(t)?t:new Error(e),r(s))});try{c=t(f,l)}catch(t){l(t)}if(c)if("function"==typeof c.then)c.then(f,l);else{var p=c.component;p&&"function"==typeof p.then&&p.then(f,l)}}}),o||r()}}function vt(t,e){return yt(t.map(function(t){return Object.keys(t.components).map(function(n){return e(t.components[n],t.instances[n],t,n)})}))}function yt(t){return Array.prototype.concat.apply([],t)}var mt="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag;function gt(t){var e=!1;return function(){for(var n=[],r=arguments.length;r--;)n[r]=arguments[r];if(!e)return e=!0,t.apply(this,n)}}var _t=function(t,e){this.router=t,this.base=function(t){if(!t)if(k){var e=document.querySelector("base");t=(t=e&&e.getAttribute("href")||"/").replace(/^https?:\/\/[^\/]+/,"")}else t="/";"/"!==t.charAt(0)&&(t="/"+t);return t.replace(/\/$/,"")}(e),this.current=y,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[]};function bt(t,e,n,r){var i=vt(t,function(t,r,i,o){var a=function(t,e){"function"!=typeof t&&(t=b.extend(t));return t.options[e]}(t,e);if(a)return Array.isArray(a)?a.map(function(t){return n(t,r,i,o)}):n(a,r,i,o)});return yt(r?i.reverse():i)}function wt(t,e){if(e)return function(){return t.apply(e,arguments)}}_t.prototype.listen=function(t){this.cb=t},_t.prototype.onReady=function(t,e){this.ready?t():(this.readyCbs.push(t),e&&this.readyErrorCbs.push(e))},_t.prototype.onError=function(t){this.errorCbs.push(t)},_t.prototype.transitionTo=function(t,e,n){var r=this,i=this.router.match(t,this.current);this.confirmTransition(i,function(){r.updateRoute(i),e&&e(i),r.ensureURL(),r.ready||(r.ready=!0,r.readyCbs.forEach(function(t){t(i)}))},function(t){n&&n(t),t&&!r.ready&&(r.ready=!0,r.readyErrorCbs.forEach(function(e){e(t)}))})},_t.prototype.confirmTransition=function(t,e,n){var o=this,a=this.current,s=function(t){i(t)&&(o.errorCbs.length?o.errorCbs.forEach(function(e){e(t)}):(r(),console.error(t))),n&&n(t)};if(g(t,a)&&t.matched.length===a.matched.length)return this.ensureURL(),s();var u=function(t,e){var n,r=Math.max(t.length,e.length);for(n=0;n=0?e.slice(0,n):e)+"#"+t}function Ot(t){at?lt(Et(t)):window.location.hash=t}function Tt(t){at?pt(Et(t)):window.location.replace(Et(t))}var St=function(t){function e(e,n){t.call(this,e,n),this.stack=[],this.index=-1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.push=function(t,e,n){var r=this;this.transitionTo(t,function(t){r.stack=r.stack.slice(0,r.index+1).concat(t),r.index++,e&&e(t)},n)},e.prototype.replace=function(t,e,n){var r=this;this.transitionTo(t,function(t){r.stack=r.stack.slice(0,r.index).concat(t),e&&e(t)},n)},e.prototype.go=function(t){var e=this,n=this.index+t;if(!(n<0||n>=this.stack.length)){var r=this.stack[n];this.confirmTransition(r,function(){e.index=n,e.updateRoute(r)})}},e.prototype.getCurrentLocation=function(){var t=this.stack[this.stack.length-1];return t?t.fullPath:"/"},e.prototype.ensureURL=function(){},e}(_t),Rt=function(t){void 0===t&&(t={}),this.app=null,this.apps=[],this.options=t,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=W(t.routes||[],this);var e=t.mode||"hash";switch(this.fallback="history"===e&&!at&&!1!==t.fallback,this.fallback&&(e="hash"),k||(e="abstract"),this.mode=e,e){case"history":this.history=new xt(this,t.base);break;case"hash":this.history=new Ct(this,t.base,this.fallback);break;case"abstract":this.history=new St(this,t.base);break;default:0}},Pt={currentRoute:{configurable:!0}};function jt(t,e){return t.push(e),function(){var n=t.indexOf(e);n>-1&&t.splice(n,1)}}Rt.prototype.match=function(t,e,n){return this.matcher.match(t,e,n)},Pt.currentRoute.get=function(){return this.history&&this.history.current},Rt.prototype.init=function(t){var e=this;if(this.apps.push(t),!this.app){this.app=t;var n=this.history;if(n instanceof xt)n.transitionTo(n.getCurrentLocation());else if(n instanceof Ct){var r=function(){n.setupListeners()};n.transitionTo(n.getCurrentLocation(),r,r)}n.listen(function(t){e.apps.forEach(function(e){e._route=t})})}},Rt.prototype.beforeEach=function(t){return jt(this.beforeHooks,t)},Rt.prototype.beforeResolve=function(t){return jt(this.resolveHooks,t)},Rt.prototype.afterEach=function(t){return jt(this.afterHooks,t)},Rt.prototype.onReady=function(t,e){this.history.onReady(t,e)},Rt.prototype.onError=function(t){this.history.onError(t)},Rt.prototype.push=function(t,e,n){this.history.push(t,e,n)},Rt.prototype.replace=function(t,e,n){this.history.replace(t,e,n)},Rt.prototype.go=function(t){this.history.go(t)},Rt.prototype.back=function(){this.go(-1)},Rt.prototype.forward=function(){this.go(1)},Rt.prototype.getMatchedComponents=function(t){var e=t?t.matched?t:this.resolve(t).route:this.currentRoute;return e?[].concat.apply([],e.matched.map(function(t){return Object.keys(t.components).map(function(e){return t.components[e]})})):[]},Rt.prototype.resolve=function(t,e,n){var r,i,o,a,s=J(t,e||this.history.current,n,this),u=this.match(s,e),c=u.redirectedFrom||u.fullPath,f=this.history.base;return{location:s,route:u,href:(r=f,i=c,o=this.mode,a="hash"===o?"#"+i:i,r?O(r+"/"+a):a),normalizedTo:s,resolved:u}},Rt.prototype.addRoutes=function(t){this.matcher.addRoutes(t),this.history.current!==y&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(Rt.prototype,Pt),Rt.install=$,Rt.version="3.0.1",k&&window.Vue&&window.Vue.use(Rt),e.a=Rt}});
2 | //# sourceMappingURL=vendor.144ea6915f152b6127b0.js.map
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | demo
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "demo",
3 | "version": "1.0.0",
4 | "lockfileVersion": 1,
5 | "requires": true,
6 | "dependencies": {
7 | "vue-swiper-component": {
8 | "version": "2.1.3",
9 | "resolved": "http://registry.npm.taobao.org/vue-swiper-component/download/vue-swiper-component-2.1.3.tgz",
10 | "integrity": "sha1-z56ibJJHWRN5NqBexR1q7c/8FKw="
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "demo",
3 | "version": "1.0.0",
4 | "description": "A Vue.js project",
5 | "author": "",
6 | "private": true,
7 | "scripts": {
8 | "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
9 | "start": "npm run dev",
10 | "unit": "jest --config test/unit/jest.conf.js --coverage",
11 | "e2e": "node test/e2e/runner.js",
12 | "test": "npm run unit && npm run e2e",
13 | "build": "node build/build.js"
14 | },
15 | "dependencies": {
16 | "vue": "^2.5.2",
17 | "vue-router": "^3.0.1",
18 | "vue-swiper-component": "^2.1.3",
19 | "vue-toast-component": "^2.0.0"
20 | },
21 | "devDependencies": {
22 | "autoprefixer": "^7.1.2",
23 | "babel-core": "^6.22.1",
24 | "babel-helper-vue-jsx-merge-props": "^2.0.3",
25 | "babel-jest": "^21.0.2",
26 | "babel-loader": "^7.1.1",
27 | "babel-plugin-dynamic-import-node": "^1.2.0",
28 | "babel-plugin-syntax-jsx": "^6.18.0",
29 | "babel-plugin-transform-es2015-modules-commonjs": "^6.26.0",
30 | "babel-plugin-transform-runtime": "^6.22.0",
31 | "babel-plugin-transform-vue-jsx": "^3.5.0",
32 | "babel-preset-env": "^1.3.2",
33 | "babel-preset-stage-2": "^6.22.0",
34 | "babel-register": "^6.22.0",
35 | "chalk": "^2.0.1",
36 | "chromedriver": "^2.27.2",
37 | "copy-webpack-plugin": "^4.0.1",
38 | "cross-spawn": "^5.0.1",
39 | "css-loader": "^0.28.0",
40 | "extract-text-webpack-plugin": "^3.0.0",
41 | "file-loader": "^1.1.4",
42 | "friendly-errors-webpack-plugin": "^1.6.1",
43 | "html-webpack-plugin": "^2.30.1",
44 | "jest": "^21.2.0",
45 | "jest-serializer-vue": "^0.3.0",
46 | "nightwatch": "^0.9.12",
47 | "node-notifier": "^5.1.2",
48 | "optimize-css-assets-webpack-plugin": "^3.2.0",
49 | "ora": "^1.2.0",
50 | "portfinder": "^1.0.13",
51 | "postcss-import": "^11.0.0",
52 | "postcss-loader": "^2.0.8",
53 | "rimraf": "^2.6.0",
54 | "selenium-server": "^3.0.1",
55 | "semver": "^5.3.0",
56 | "shelljs": "^0.7.6",
57 | "uglifyjs-webpack-plugin": "^1.1.1",
58 | "url-loader": "^0.5.8",
59 | "vue-jest": "^1.0.2",
60 | "vue-loader": "^13.3.0",
61 | "vue-style-loader": "^3.0.1",
62 | "vue-template-compiler": "^2.5.2",
63 | "webpack": "^3.6.0",
64 | "webpack-bundle-analyzer": "^2.9.0",
65 | "webpack-dev-server": "^2.9.1",
66 | "webpack-merge": "^4.1.0"
67 | },
68 | "engines": {
69 | "node": ">= 4.0.0",
70 | "npm": ">= 3.0.0"
71 | },
72 | "browserslist": [
73 | "> 1%",
74 | "last 2 versions",
75 | "not ie <= 8"
76 | ]
77 | }
78 |
--------------------------------------------------------------------------------
/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
13 |
19 |
--------------------------------------------------------------------------------
/src/assets/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zwhGithub/vue-swiper/2da7306b0b0a3680689ea4e48df6aff50ee11167/src/assets/logo.png
--------------------------------------------------------------------------------
/src/components/HelloWorld.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
14 |
15 |
16 |
17 |
50 |
51 |
52 |
--------------------------------------------------------------------------------
/src/components/index.js:
--------------------------------------------------------------------------------
1 | import Swiper from './swiper.vue';
2 | import Slide from './slide.vue';
3 |
4 | export {
5 | Swiper, Slide
6 | }
--------------------------------------------------------------------------------
/src/components/slide.vue:
--------------------------------------------------------------------------------
1 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/src/components/swiper.vue:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
13 |
172 |
173 |
--------------------------------------------------------------------------------
/src/main.js:
--------------------------------------------------------------------------------
1 | // The Vue build version to load with the `import` command
2 | // (runtime-only or standalone) has been set in webpack.base.conf with an alias.
3 | import Vue from 'vue'
4 | import App from './App'
5 | import router from './router'
6 |
7 | Vue.config.productionTip = false
8 |
9 |
10 | import Toast from 'vue-toast-component';
11 | Vue.use(Toast);
12 |
13 | /* eslint-disable no-new */
14 | new Vue({
15 | el: '#app',
16 | router,
17 | template: '',
18 | components: { App }
19 | })
20 |
--------------------------------------------------------------------------------
/src/router/index.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import Router from 'vue-router'
3 | import HelloWorld from '@/components/HelloWorld'
4 |
5 | Vue.use(Router)
6 |
7 | export default new Router({
8 | routes: [
9 | {
10 | path: '/',
11 | name: 'HelloWorld',
12 | component: HelloWorld
13 | }
14 | ]
15 | })
16 |
--------------------------------------------------------------------------------
/static/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zwhGithub/vue-swiper/2da7306b0b0a3680689ea4e48df6aff50ee11167/static/.gitkeep
--------------------------------------------------------------------------------
/test/e2e/custom-assertions/elementCount.js:
--------------------------------------------------------------------------------
1 | // A custom Nightwatch assertion.
2 | // The assertion name is the filename.
3 | // Example usage:
4 | //
5 | // browser.assert.elementCount(selector, count)
6 | //
7 | // For more information on custom assertions see:
8 | // http://nightwatchjs.org/guide#writing-custom-assertions
9 |
10 | exports.assertion = function (selector, count) {
11 | this.message = 'Testing if element <' + selector + '> has count: ' + count
12 | this.expected = count
13 | this.pass = function (val) {
14 | return val === this.expected
15 | }
16 | this.value = function (res) {
17 | return res.value
18 | }
19 | this.command = function (cb) {
20 | var self = this
21 | return this.api.execute(function (selector) {
22 | return document.querySelectorAll(selector).length
23 | }, [selector], function (res) {
24 | cb.call(self, res)
25 | })
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/test/e2e/nightwatch.conf.js:
--------------------------------------------------------------------------------
1 | require('babel-register')
2 | var config = require('../../config')
3 |
4 | // http://nightwatchjs.org/gettingstarted#settings-file
5 | module.exports = {
6 | src_folders: ['test/e2e/specs'],
7 | output_folder: 'test/e2e/reports',
8 | custom_assertions_path: ['test/e2e/custom-assertions'],
9 |
10 | selenium: {
11 | start_process: true,
12 | server_path: require('selenium-server').path,
13 | host: '127.0.0.1',
14 | port: 4444,
15 | cli_args: {
16 | 'webdriver.chrome.driver': require('chromedriver').path
17 | }
18 | },
19 |
20 | test_settings: {
21 | default: {
22 | selenium_port: 4444,
23 | selenium_host: 'localhost',
24 | silent: true,
25 | globals: {
26 | devServerURL: 'http://localhost:' + (process.env.PORT || config.dev.port)
27 | }
28 | },
29 |
30 | chrome: {
31 | desiredCapabilities: {
32 | browserName: 'chrome',
33 | javascriptEnabled: true,
34 | acceptSslCerts: true
35 | }
36 | },
37 |
38 | firefox: {
39 | desiredCapabilities: {
40 | browserName: 'firefox',
41 | javascriptEnabled: true,
42 | acceptSslCerts: true
43 | }
44 | }
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/test/e2e/runner.js:
--------------------------------------------------------------------------------
1 | // 1. start the dev server using production config
2 | process.env.NODE_ENV = 'testing'
3 |
4 | const webpack = require('webpack')
5 | const DevServer = require('webpack-dev-server')
6 |
7 | const webpackConfig = require('../../build/webpack.prod.conf')
8 | const devConfigPromise = require('../../build/webpack.dev.conf')
9 |
10 | let server
11 |
12 | devConfigPromise.then(devConfig => {
13 | const devServerOptions = devConfig.devServer
14 | const compiler = webpack(webpackConfig)
15 | server = new DevServer(compiler, devServerOptions)
16 | const port = devServerOptions.port
17 | const host = devServerOptions.host
18 | return server.listen(port, host)
19 | })
20 | .then(() => {
21 | // 2. run the nightwatch test suite against it
22 | // to run in additional browsers:
23 | // 1. add an entry in test/e2e/nightwatch.conf.json under "test_settings"
24 | // 2. add it to the --env flag below
25 | // or override the environment flag, for example: `npm run e2e -- --env chrome,firefox`
26 | // For more information on Nightwatch's config file, see
27 | // http://nightwatchjs.org/guide#settings-file
28 | let opts = process.argv.slice(2)
29 | if (opts.indexOf('--config') === -1) {
30 | opts = opts.concat(['--config', 'test/e2e/nightwatch.conf.js'])
31 | }
32 | if (opts.indexOf('--env') === -1) {
33 | opts = opts.concat(['--env', 'chrome'])
34 | }
35 |
36 | const spawn = require('cross-spawn')
37 | const runner = spawn('./node_modules/.bin/nightwatch', opts, { stdio: 'inherit' })
38 |
39 | runner.on('exit', function (code) {
40 | server.close()
41 | process.exit(code)
42 | })
43 |
44 | runner.on('error', function (err) {
45 | server.close()
46 | throw err
47 | })
48 | })
49 |
--------------------------------------------------------------------------------
/test/e2e/specs/test.js:
--------------------------------------------------------------------------------
1 | // For authoring Nightwatch tests, see
2 | // http://nightwatchjs.org/guide#usage
3 |
4 | module.exports = {
5 | 'default e2e tests': function (browser) {
6 | // automatically uses dev Server port from /config.index.js
7 | // default: http://localhost:8080
8 | // see nightwatch.conf.js
9 | const devServer = browser.globals.devServerURL
10 |
11 | browser
12 | .url(devServer)
13 | .waitForElementVisible('#app', 5000)
14 | .assert.elementPresent('.hello')
15 | .assert.containsText('h1', 'Welcome to Your Vue.js App')
16 | .assert.elementCount('img', 1)
17 | .end()
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/test/unit/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "env": {
3 | "jest": true
4 | },
5 | "globals": {
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/test/unit/jest.conf.js:
--------------------------------------------------------------------------------
1 | const path = require('path')
2 |
3 | module.exports = {
4 | rootDir: path.resolve(__dirname, '../../'),
5 | moduleFileExtensions: [
6 | 'js',
7 | 'json',
8 | 'vue'
9 | ],
10 | moduleNameMapper: {
11 | '^@/(.*)$': '/src/$1'
12 | },
13 | transform: {
14 | '^.+\\.js$': '/node_modules/babel-jest',
15 | '.*\\.(vue)$': '/node_modules/vue-jest'
16 | },
17 | testPathIgnorePatterns: [
18 | '/test/e2e'
19 | ],
20 | snapshotSerializers: ['/node_modules/jest-serializer-vue'],
21 | setupFiles: ['/test/unit/setup'],
22 | mapCoverage: true,
23 | coverageDirectory: '/test/unit/coverage',
24 | collectCoverageFrom: [
25 | 'src/**/*.{js,vue}',
26 | '!src/main.js',
27 | '!src/router/index.js',
28 | '!**/node_modules/**'
29 | ]
30 | }
31 |
--------------------------------------------------------------------------------
/test/unit/setup.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 |
3 | Vue.config.productionTip = false
4 |
--------------------------------------------------------------------------------
/test/unit/specs/HelloWorld.spec.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import HelloWorld from '@/components/HelloWorld'
3 |
4 | describe('HelloWorld.vue', () => {
5 | it('should render correct contents', () => {
6 | const Constructor = Vue.extend(HelloWorld)
7 | const vm = new Constructor().$mount()
8 | expect(vm.$el.querySelector('.hello h1').textContent)
9 | .toEqual('Welcome to Your Vue.js App')
10 | })
11 | })
12 |
--------------------------------------------------------------------------------