├── .babelrc ├── .editorconfig ├── .github └── ISSUE_TEMPLATE │ └── release-ticket-template.md ├── .gitignore ├── .postcssrc.js ├── 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 ├── index.html ├── package-lock.json ├── package.json ├── src ├── App.vue ├── assets │ └── logo.png ├── components │ ├── Create.vue │ └── Upload.vue ├── main.js └── router │ └── index.js └── static ├── .gitkeep ├── css ├── app.50aa4987c3af0545f1e2eec47bceb17a.css └── app.50aa4987c3af0545f1e2eec47bceb17a.css.map └── js ├── app.cffc5b2b6cf5aacbd876.js ├── app.cffc5b2b6cf5aacbd876.js.map ├── manifest.2ae2e69a05c33dfc65f8.js ├── manifest.2ae2e69a05c33dfc65f8.js.map ├── vendor.98e8a06f2088b9c5ed66.js └── vendor.98e8a06f2088b9c5ed66.js.map /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | ["env", { 4 | "modules": false, 5 | "targets": { 6 | "browsers": ["> 1%", "last 2 versions", "not ie <= 8"] 7 | } 8 | }], 9 | "stage-2" 10 | ], 11 | "plugins": ["transform-vue-jsx", "transform-runtime"] 12 | } 13 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/release-ticket-template.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Release Ticket Template 3 | about: Release ticket for QA tracking 4 | title: Extension 5.20.4 Release ticket 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | > Team Members: 11 | When you complete self-test on test-version, you could: 12 | 1. Add original ticket info. into this ticket, put it in the Release Scope. 13 | 2. Close the original ticket with the comment including this ticket link. 14 | eg: 15 | The bug has been fixed and waiting for release. you could track Release Progress on Release Ticket: 16 | {{Release Ticket Link}} 17 | 18 | ## Release Progress 19 | ### Chrome 20 | #### Test-version {{version number}} 21 | status: waiting for development / staging / production 22 | https://chrome.google.com/webstore/detail/jungle-scout-extension/hakhoonnhglpgdfeonbfpinbapnicgih 23 | 24 | #### Staging-version {{version number}} 25 | status: waiting for development / staging / production 26 | https://chrome.google.com/webstore/detail/jungle-scout-extension-st/eoicihhelipdgnjmieokaebhpajaifmp 27 | 28 | #### Production-version {{version number}} 29 | status: waiting for development / staging / production 30 | https://chrome.google.com/webstore/detail/jungle-scout-extension/bckjlihkmgolmgkchbpiponapgjenaoa 31 | 32 | ## QA Date 33 | {{Estimate QA time}} 34 | 35 | ## Release Scope 36 | ### Feature release 37 | No.1 [[ticket no]ticket name](ticket link) 38 | Author: 39 | Description: 40 | Screenshot(optional): 41 | 42 | ### Bug Fixed 43 | No.1 [[ticket no]ticket name](ticket link) 44 | Author: 45 | Description: 46 | Screenshot(optional): 47 | 48 | ### Code optimization 49 | No.1 [[ticket no]ticket name](ticket link) 50 | Author: 51 | Description: 52 | Screenshot(optional): 53 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules/ 3 | /dist/ 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | 8 | # Editor directories and files 9 | .idea 10 | .vscode 11 | *.suo 12 | *.ntvs* 13 | *.njsproj 14 | *.sln 15 | -------------------------------------------------------------------------------- /.postcssrc.js: -------------------------------------------------------------------------------- 1 | // https://github.com/michael-ciniawsky/postcss-load-config 2 | 3 | module.exports = { 4 | "plugins": { 5 | "postcss-import": {}, 6 | "postcss-url": {}, 7 | // to edit target browsers: use "browserslist" field in package.json 8 | "autoprefixer": {} 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # vue-upload-pic 2 | 3 | > 图片上传、预览类似朋友圈的发布动态 4 | 5 | ## Build Setup 6 | 7 | ``` bash 8 | # install dependencies 9 | npm install 10 | 11 | # serve with hot reload at localhost:8080 12 | npm run dev 13 | 14 | # build for production with minification 15 | npm run build 16 | 17 | # build for production and view the bundle analyzer report 18 | npm run build --report 19 | ``` 20 | 21 | For a detailed explanation on how things work, check out the [guide](http://vuejs-templates.github.io/webpack/) and [docs for vue-loader](http://vuejs.github.io/vue-loader). 22 | -------------------------------------------------------------------------------- /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 TypeScript 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/bennyli519/vue-upload-pic/0db8f94aa7e0e10aad59bc98d815e0dfeff4dbf7/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'), resolve('node_modules/webpack-dev-server/client')] 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 | test: /\.less$/, 70 | loader: "style-loader!css-loader!less-loader", 71 | 72 | }, 73 | ] 74 | }, 75 | node: { 76 | // prevent webpack from injecting useless setImmediate polyfill because Vue 77 | // source contains it (although only uses it if it's native). 78 | setImmediate: false, 79 | // prevent webpack from injecting mocks to Node native modules 80 | // that does not make sense for the client 81 | dgram: 'empty', 82 | fs: 'empty', 83 | net: 'empty', 84 | tls: 'empty', 85 | child_process: 'empty' 86 | } 87 | } 88 | -------------------------------------------------------------------------------- /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 path = require('path') 7 | const baseWebpackConfig = require('./webpack.base.conf') 8 | const CopyWebpackPlugin = require('copy-webpack-plugin') 9 | const HtmlWebpackPlugin = require('html-webpack-plugin') 10 | const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin') 11 | const portfinder = require('portfinder') 12 | 13 | const HOST = process.env.HOST 14 | const PORT = process.env.PORT && Number(process.env.PORT) 15 | 16 | const devWebpackConfig = merge(baseWebpackConfig, { 17 | module: { 18 | rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap, usePostCSS: true }) 19 | }, 20 | // cheap-module-eval-source-map is faster for development 21 | devtool: config.dev.devtool, 22 | 23 | // these devServer options should be customized in /config/index.js 24 | devServer: { 25 | clientLogLevel: 'warning', 26 | historyApiFallback: { 27 | rewrites: [ 28 | { from: /.*/, to: path.posix.join(config.dev.assetsPublicPath, 'index.html') }, 29 | ], 30 | }, 31 | hot: true, 32 | contentBase: false, // since we use CopyWebpackPlugin. 33 | compress: true, 34 | host: HOST || config.dev.host, 35 | port: PORT || config.dev.port, 36 | open: config.dev.autoOpenBrowser, 37 | overlay: config.dev.errorOverlay 38 | ? { warnings: false, errors: true } 39 | : false, 40 | publicPath: config.dev.assetsPublicPath, 41 | proxy: config.dev.proxyTable, 42 | quiet: true, // necessary for FriendlyErrorsPlugin 43 | watchOptions: { 44 | poll: config.dev.poll, 45 | } 46 | }, 47 | plugins: [ 48 | new webpack.DefinePlugin({ 49 | 'process.env': require('../config/dev.env') 50 | }), 51 | new webpack.HotModuleReplacementPlugin(), 52 | new webpack.NamedModulesPlugin(), // HMR shows correct file names in console on update. 53 | new webpack.NoEmitOnErrorsPlugin(), 54 | // https://github.com/ampedandwired/html-webpack-plugin 55 | new HtmlWebpackPlugin({ 56 | filename: 'index.html', 57 | template: 'index.html', 58 | inject: true 59 | }), 60 | // copy custom static assets 61 | new CopyWebpackPlugin([ 62 | { 63 | from: path.resolve(__dirname, '../static'), 64 | to: config.dev.assetsSubDirectory, 65 | ignore: ['.*'] 66 | } 67 | ]) 68 | ] 69 | }) 70 | 71 | module.exports = new Promise((resolve, reject) => { 72 | portfinder.basePort = process.env.PORT || config.dev.port 73 | portfinder.getPort((err, port) => { 74 | if (err) { 75 | reject(err) 76 | } else { 77 | // publish the new Port, necessary for e2e tests 78 | process.env.PORT = port 79 | // add port to devServer config 80 | devWebpackConfig.devServer.port = port 81 | 82 | // Add FriendlyErrorsPlugin 83 | devWebpackConfig.plugins.push(new FriendlyErrorsPlugin({ 84 | compilationSuccessInfo: { 85 | messages: [`Your application is running here: http://${devWebpackConfig.devServer.host}:${port}`], 86 | }, 87 | onErrors: config.dev.notifyOnErrors 88 | ? utils.createNotifierCallback() 89 | : undefined 90 | })) 91 | 92 | resolve(devWebpackConfig) 93 | } 94 | }) 95 | }) 96 | -------------------------------------------------------------------------------- /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 = require('../config/prod.env') 15 | 16 | const webpackConfig = merge(baseWebpackConfig, { 17 | module: { 18 | rules: utils.styleLoaders({ 19 | sourceMap: config.build.productionSourceMap, 20 | extract: true, 21 | usePostCSS: true 22 | }) 23 | }, 24 | devtool: config.build.productionSourceMap ? config.build.devtool : false, 25 | output: { 26 | path: config.build.assetsRoot, 27 | filename: utils.assetsPath('js/[name].[chunkhash].js'), 28 | chunkFilename: utils.assetsPath('js/[id].[chunkhash].js') 29 | }, 30 | plugins: [ 31 | // http://vuejs.github.io/vue-loader/en/workflow/production.html 32 | new webpack.DefinePlugin({ 33 | 'process.env': env 34 | }), 35 | new UglifyJsPlugin({ 36 | uglifyOptions: { 37 | compress: { 38 | warnings: false 39 | } 40 | }, 41 | sourceMap: config.build.productionSourceMap, 42 | parallel: true 43 | }), 44 | // extract css into its own file 45 | new ExtractTextPlugin({ 46 | filename: utils.assetsPath('css/[name].[contenthash].css'), 47 | // Setting the following option to `false` will not extract CSS from codesplit chunks. 48 | // Their CSS will instead be inserted dynamically with style-loader when the codesplit chunk has been loaded by webpack. 49 | // It's currently set to `true` because we are seeing that sourcemaps are included in the codesplit bundle as well when it's `false`, 50 | // increasing file size: https://github.com/vuejs-templates/webpack/issues/1110 51 | allChunks: true, 52 | }), 53 | // Compress extracted CSS. We are using this plugin so that possible 54 | // duplicated CSS from different components can be deduped. 55 | new OptimizeCSSPlugin({ 56 | cssProcessorOptions: config.build.productionSourceMap 57 | ? { safe: true, map: { inline: false } } 58 | : { safe: true } 59 | }), 60 | // generate dist index.html with correct asset hash for caching. 61 | // you can customize output by editing /index.html 62 | // see https://github.com/ampedandwired/html-webpack-plugin 63 | new HtmlWebpackPlugin({ 64 | filename: config.build.index, 65 | template: 'index.html', 66 | inject: true, 67 | minify: { 68 | removeComments: true, 69 | collapseWhitespace: true, 70 | removeAttributeQuotes: true 71 | // more options: 72 | // https://github.com/kangax/html-minifier#options-quick-reference 73 | }, 74 | // necessary to consistently work with multiple chunks via CommonsChunkPlugin 75 | chunksSortMode: 'dependency' 76 | }), 77 | // keep module.id stable when vendor modules does not change 78 | new webpack.HashedModuleIdsPlugin(), 79 | // enable scope hoisting 80 | new webpack.optimize.ModuleConcatenationPlugin(), 81 | // split vendor js into its own file 82 | new webpack.optimize.CommonsChunkPlugin({ 83 | name: 'vendor', 84 | minChunks (module) { 85 | // any required modules inside node_modules are extracted to vendor 86 | return ( 87 | module.resource && 88 | /\.js$/.test(module.resource) && 89 | module.resource.indexOf( 90 | path.join(__dirname, '../node_modules') 91 | ) === 0 92 | ) 93 | } 94 | }), 95 | // extract webpack runtime and module manifest to its own file in order to 96 | // prevent vendor hash from being updated whenever app bundle is updated 97 | new webpack.optimize.CommonsChunkPlugin({ 98 | name: 'manifest', 99 | minChunks: Infinity 100 | }), 101 | // This instance extracts shared chunks from code splitted chunks and bundles them 102 | // in a separate chunk, similar to the vendor chunk 103 | // see: https://webpack.js.org/plugins/commons-chunk-plugin/#extra-async-commons-chunk 104 | new webpack.optimize.CommonsChunkPlugin({ 105 | name: 'app', 106 | async: 'vendor-async', 107 | children: true, 108 | minChunks: 3 109 | }), 110 | 111 | // copy custom static assets 112 | new CopyWebpackPlugin([ 113 | { 114 | from: path.resolve(__dirname, '../static'), 115 | to: config.build.assetsSubDirectory, 116 | ignore: ['.*'] 117 | } 118 | ]) 119 | ] 120 | }) 121 | 122 | if (config.build.productionGzip) { 123 | const CompressionWebpackPlugin = require('compression-webpack-plugin') 124 | 125 | webpackConfig.plugins.push( 126 | new CompressionWebpackPlugin({ 127 | asset: '[path].gz[query]', 128 | algorithm: 'gzip', 129 | test: new RegExp( 130 | '\\.(' + 131 | config.build.productionGzipExtensions.join('|') + 132 | ')$' 133 | ), 134 | threshold: 10240, 135 | minRatio: 0.8 136 | }) 137 | ) 138 | } 139 | 140 | if (config.build.bundleAnalyzerReport) { 141 | const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin 142 | webpackConfig.plugins.push(new BundleAnalyzerPlugin()) 143 | } 144 | 145 | module.exports = webpackConfig 146 | -------------------------------------------------------------------------------- /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.3.1 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: 'cheap-module-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 | cssSourceMap: true 37 | }, 38 | 39 | build: { 40 | // Template for index.html 41 | index: path.resolve(__dirname, '../dist/index.html'), 42 | 43 | // Paths 44 | assetsRoot: path.resolve(__dirname, '../dist'), 45 | assetsSubDirectory: 'static', 46 | assetsPublicPath: '/', 47 | 48 | /** 49 | * Source Maps 50 | */ 51 | 52 | productionSourceMap: true, 53 | // https://webpack.js.org/configuration/devtool/#production 54 | devtool: '#source-map', 55 | 56 | // Gzip off by default as many popular static hosts such as 57 | // Surge or Netlify already gzip all static assets for you. 58 | // Before setting to `true`, make sure to: 59 | // npm install --save-dev compression-webpack-plugin 60 | productionGzip: false, 61 | productionGzipExtensions: ['js', 'css'], 62 | 63 | // Run the build command with an extra argument to 64 | // View the bundle analyzer report after build finishes: 65 | // `npm run build --report` 66 | // Set to `true` or `false` to always turn it on or off 67 | bundleAnalyzerReport: process.env.npm_config_report 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /config/prod.env.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | module.exports = { 3 | NODE_ENV: '"production"' 4 | } 5 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | vue-upload-pic 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vue-upload-pic", 3 | "version": "1.0.0", 4 | "description": "图片上传、预览类似朋友圈的发布动态", 5 | "author": "benny_lzb ", 6 | "private": true, 7 | "scripts": { 8 | "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js", 9 | "start": "npm run dev", 10 | "build": "node build/build.js" 11 | }, 12 | "dependencies": { 13 | "less": "^3.8.1", 14 | "less-loader": "^4.1.0", 15 | "photoswipe": "^4.1.2", 16 | "vue": "^2.5.2", 17 | "mint-ui": "^2.2.13", 18 | "vue-router": "^3.0.1" 19 | }, 20 | "devDependencies": { 21 | "autoprefixer": "^7.1.2", 22 | "babel-core": "^6.22.1", 23 | "babel-helper-vue-jsx-merge-props": "^2.0.3", 24 | "babel-loader": "^7.1.1", 25 | "babel-plugin-syntax-jsx": "^6.18.0", 26 | "babel-plugin-transform-runtime": "^6.22.0", 27 | "babel-plugin-transform-vue-jsx": "^3.5.0", 28 | "babel-preset-env": "^1.3.2", 29 | "babel-preset-stage-2": "^6.22.0", 30 | "chalk": "^2.0.1", 31 | "copy-webpack-plugin": "^4.0.1", 32 | "css-loader": "^0.28.0", 33 | "extract-text-webpack-plugin": "^3.0.0", 34 | "file-loader": "^1.1.4", 35 | "friendly-errors-webpack-plugin": "^1.6.1", 36 | "html-webpack-plugin": "^2.30.1", 37 | "node-notifier": "^5.1.2", 38 | "optimize-css-assets-webpack-plugin": "^3.2.0", 39 | "ora": "^1.2.0", 40 | "portfinder": "^1.0.13", 41 | "postcss-import": "^11.0.0", 42 | "postcss-loader": "^2.0.8", 43 | "postcss-url": "^7.2.1", 44 | "rimraf": "^2.6.0", 45 | "semver": "^5.3.0", 46 | "shelljs": "^0.7.6", 47 | "uglifyjs-webpack-plugin": "^1.1.1", 48 | "url-loader": "^0.5.8", 49 | "vue-loader": "^13.3.0", 50 | "vue-style-loader": "^3.0.1", 51 | "vue-template-compiler": "^2.5.2", 52 | "webpack": "^3.6.0", 53 | "webpack-bundle-analyzer": "^2.9.0", 54 | "webpack-dev-server": "^2.9.1", 55 | "webpack-merge": "^4.1.0" 56 | }, 57 | "engines": { 58 | "node": ">= 6.0.0", 59 | "npm": ">= 3.0.0" 60 | }, 61 | "browserslist": [ 62 | "> 1%", 63 | "last 2 versions", 64 | "not ie <= 8" 65 | ] 66 | } 67 | -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 12 | 13 | 22 | -------------------------------------------------------------------------------- /src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennyli519/vue-upload-pic/0db8f94aa7e0e10aad59bc98d815e0dfeff4dbf7/src/assets/logo.png -------------------------------------------------------------------------------- /src/components/Create.vue: -------------------------------------------------------------------------------- 1 | 7 | 17 | 18 | 122 | 123 | 147 | -------------------------------------------------------------------------------- /src/components/Upload.vue: -------------------------------------------------------------------------------- 1 | 2 | 8 | 72 | 73 | 338 | 339 | 457 | -------------------------------------------------------------------------------- /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 Mint from 'mint-ui'; 5 | import App from './App' 6 | import router from './router' 7 | import 'mint-ui/lib/style.css'; 8 | Vue.config.productionTip = false 9 | Vue.use(Mint); 10 | /* eslint-disable no-new */ 11 | new Vue({ 12 | el: '#app', 13 | router, 14 | components: { App }, 15 | template: '' 16 | }) 17 | -------------------------------------------------------------------------------- /src/router/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import Router from 'vue-router' 3 | import Create from '@/components/Create' 4 | 5 | Vue.use(Router) 6 | 7 | export default new Router({ 8 | routes: [ 9 | { 10 | path: '/', 11 | name: 'HelloWorld', 12 | component: Create 13 | } 14 | ] 15 | }) 16 | -------------------------------------------------------------------------------- /static/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bennyli519/vue-upload-pic/0db8f94aa7e0e10aad59bc98d815e0dfeff4dbf7/static/.gitkeep -------------------------------------------------------------------------------- /static/css/app.50aa4987c3af0545f1e2eec47bceb17a.css: -------------------------------------------------------------------------------- 1 | #app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;color:#2c3e50;}#dynamic_create[data-v-540f3746]{height:100vh;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;background:#fff}#dynamic_create canvas[data-v-540f3746]{background:#000!important}.btn-send[data-v-540f3746]{margin:22px;display:block;width:100%}.btn-wrapper[data-v-540f3746]{display:-ms-flexbox;display:flex}#dynamic_create .mint-cell[data-v-540f3746]{border:none}#imgUploader[data-v-3bb4e230]{-ms-flex:1;flex:1;margin-top:auto;padding-left:10px}#imgUploader .file-list[data-v-3bb4e230]{padding:10px 0}#imgUploader .file-list[data-v-3bb4e230]:after{content:"";display:block;clear:both;visibility:hidden;line-height:0;height:0;font-size:0}#imgUploader .file-list .file-remove[data-v-3bb4e230]{position:absolute;font-size:12px;right:5px;top:1px;width:14px;height:14px;color:#fff;cursor:pointer;line-height:12px;background:rgba(0,0,0,.25);z-index:1000}#imgUploader .file-list:hover .file-remove[data-v-3bb4e230]{display:inline}.add[data-v-3bb4e230]{width:100%;height:110px;float:left;text-align:center;line-height:110px;font-weight:100;cursor:pointer;border:1px dashed #ccc;color:#999;position:relative}@media screen and (min-width:768px) and (max-width:1024px){.add[data-v-3bb4e230]{height:180px;line-height:180px;font-size:56px}}.add .fa[data-v-3bb4e230]{font-size:1.4em;color:#7dd2d9}.uploadBtn[data-v-3bb4e230]{position:relative}.uploadBtn .empty[data-v-3bb4e230]{position:absolute;right:0;bottom:0;background-color:#eee;color:#fff;padding:.2em 1em}.thumbnails[data-v-3bb4e230]{width:100%;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.thumbnails .thumbnail[data-v-3bb4e230]{position:relative;margin:0 0 10px;padding-right:5px;width:33%;box-sizing:border-box;height:110px}@media screen and (min-width:768px) and (max-width:1024px){.thumbnails .thumbnail[data-v-3bb4e230]{height:180px}}.thumbnails .thumbnail .img-wrapper[data-v-3bb4e230]{position:relative;display:-ms-flexbox;display:flex;height:110px}@media screen and (min-width:768px) and (max-width:1024px){.thumbnails .thumbnail .img-wrapper[data-v-3bb4e230]{height:180px}}.thumbnails .thumbnail .img-wrapper img[data-v-3bb4e230]{width:auto;height:auto;width:100%;max-width:100%;max-height:100%}input[type=file][data-v-3bb4e230]{height:110px;opacity:0} 2 | /*! PhotoSwipe main CSS by Dmitry Semenov | photoswipe.com | MIT license */.pswp,input[type=file][data-v-3bb4e230]{position:absolute;left:0;top:0;width:100%}.pswp{display:none;height:100%;overflow:hidden;-ms-touch-action:none;touch-action:none;z-index:1500;-webkit-text-size-adjust:100%;-webkit-backface-visibility:hidden;outline:none}.pswp *{box-sizing:border-box}.pswp img{max-width:none}.pswp--animate_opacity{opacity:.001;will-change:opacity;transition:opacity 333ms cubic-bezier(.4,0,.22,1)}.pswp--open{display:block}.pswp--zoom-allowed .pswp__img{cursor:zoom-in}.pswp--zoomed-in .pswp__img{cursor:-webkit-grab;cursor:grab}.pswp--dragging .pswp__img{cursor:-webkit-grabbing;cursor:grabbing}.pswp__bg{background:#000;opacity:0;transform:translateZ(0);-webkit-backface-visibility:hidden}.pswp__bg,.pswp__scroll-wrap{position:absolute;left:0;top:0;width:100%;height:100%}.pswp__scroll-wrap{overflow:hidden}.pswp__container,.pswp__zoom-wrap{-ms-touch-action:none;touch-action:none;position:absolute;left:0;right:0;top:0;bottom:0}.pswp__container,.pswp__img{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.pswp__zoom-wrap{position:absolute;width:100%;transform-origin:left top;transition:transform 333ms cubic-bezier(.4,0,.22,1)}.pswp__bg{will-change:opacity;transition:opacity 333ms cubic-bezier(.4,0,.22,1)}.pswp--animated-in .pswp__bg,.pswp--animated-in .pswp__zoom-wrap{transition:none}.pswp__container,.pswp__zoom-wrap{-webkit-backface-visibility:hidden}.pswp__item{right:0;bottom:0;overflow:hidden}.pswp__img,.pswp__item{position:absolute;left:0;top:0}.pswp__img{width:auto;height:auto}.pswp__img--placeholder{-webkit-backface-visibility:hidden}.pswp__img--placeholder--blank{background:#222}.pswp--ie .pswp__img{width:100%!important;height:auto!important;left:0;top:0}.pswp__error-msg{position:absolute;left:0;top:50%;width:100%;text-align:center;font-size:14px;line-height:16px;margin-top:-8px;color:#ccc}.pswp__error-msg a{color:#ccc;text-decoration:underline} 3 | /*! PhotoSwipe Default UI CSS by Dmitry Semenov | photoswipe.com | MIT license */.pswp__button{width:44px;height:44px;position:relative;background:none;cursor:pointer;overflow:visible;-webkit-appearance:none;display:block;border:0;padding:0;margin:0;float:right;opacity:.75;transition:opacity .2s;box-shadow:none}.pswp__button:focus,.pswp__button:hover{opacity:1}.pswp__button:active{outline:none;opacity:.9}.pswp__button::-moz-focus-inner{padding:0;border:0}.pswp__ui--over-close .pswp__button--close{opacity:1}.pswp__button,.pswp__button--arrow--left:before,.pswp__button--arrow--right:before{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQgAAABYCAQAAACjBqE3AAAB6klEQVR4Ae3bsWpUQRTG8YkkanwCa7GzVotsI/gEgk9h4Vu4ySLYmMYgbJrc3lrwZbJwC0FMt4j7F6Y4oIZrsXtgxvx/1c0ufEX4cnbmLCmSJEmSJEmSJEmSJP3XCBPvbJU+8doWmDFwyZpLBmYlNJebz0KwzykwsuSYJSNwykEJreV2BaBMaLIQZ2xYcFgqDlmw4ayE/FwL0dDk4Qh4W37DAjgqIT+3HRbigjH+iikVdxgZStgyN0Su2sXIeTwTT+esdpcbIlfNAuZ/TxresG4zV8kYWSZNiKUTokMMSWeIwTNEn4fK2TW3gRNgVkJLuVksROA9G+bEvoATNlBCa7nZXEwdxEZxzpKRKFh+bsv8LmPFmhX1OwfIz81jIRJQ5eeqG9B+riRJkiRJkiRJkiRJkiRJkiRJUkvA/8RQoEpKlJWINFkJ62AlrEP/mNBibnv2yz/A3t7Uq3LcpoxP8COjC1T5vxoAD5VdoEqdDrd5QuW1swtUSaueh3zkiuBiqgtA2OlkeMcP/uDqugsJdbjHF65VdPMKwS0+WQc/MgKvrIOHysB9vgPwk8+85hmPbnQdvHZyDMAFD7L3EOpgMcVdvnHFS0/vlatrXvCVx0U9gt3fxvnA0/hB4nmRJEmSJEmSJEmSJGmHfgFLaDPoMu5xWwAAAABJRU5ErkJggg==) 0 0 no-repeat;background-size:264px 88px;width:44px;height:44px}@media (-webkit-min-device-pixel-ratio:1.1),(-webkit-min-device-pixel-ratio:1.09375),(min-resolution:1.1dppx),(min-resolution:105dpi){.pswp--svg .pswp__button,.pswp--svg .pswp__button--arrow--left:before,.pswp--svg .pswp__button--arrow--right:before{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjY0IiBoZWlnaHQ9Ijg4IiB2aWV3Qm94PSIwIDAgMjY0IDg4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjx0aXRsZT5kZWZhdWx0LXNraW4gMjwvdGl0bGU+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48Zz48cGF0aCBkPSJNNjcuMDAyIDU5LjV2My43NjhjLTYuMzA3Ljg0LTkuMTg0IDUuNzUtMTAuMDAyIDkuNzMyIDIuMjItMi44MyA1LjU2NC01LjA5OCAxMC4wMDItNS4wOThWNzEuNUw3MyA2NS41ODUgNjcuMDAyIDU5LjV6IiBpZD0iU2hhcGUiIGZpbGw9IiNmZmYiLz48ZyBmaWxsPSIjZmZmIj48cGF0aCBkPSJNMTMgMjl2LTVoMnYzaDN2MmgtNXpNMTMgMTVoNXYyaC0zdjNoLTJ2LTV6TTMxIDE1djVoLTJ2LTNoLTN2LTJoNXpNMzEgMjloLTV2LTJoM3YtM2gydjV6IiBpZD0iU2hhcGUiLz48L2c+PGcgZmlsbD0iI2ZmZiI+PHBhdGggZD0iTTYyIDI0djVoLTJ2LTNoLTN2LTJoNXpNNjIgMjBoLTV2LTJoM3YtM2gydjV6TTcwIDIwdi01aDJ2M2gzdjJoLTV6TTcwIDI0aDV2MmgtM3YzaC0ydi01eiIvPjwvZz48cGF0aCBkPSJNMjAuNTg2IDY2bC01LjY1Ni01LjY1NiAxLjQxNC0xLjQxNEwyMiA2NC41ODZsNS42NTYtNS42NTYgMS40MTQgMS40MTRMMjMuNDE0IDY2bDUuNjU2IDUuNjU2LTEuNDE0IDEuNDE0TDIyIDY3LjQxNGwtNS42NTYgNS42NTYtMS40MTQtMS40MTRMMjAuNTg2IDY2eiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik0xMTEuNzg1IDY1LjAzTDExMCA2My41bDMtMy41aC0xMHYtMmgxMGwtMy0zLjUgMS43ODUtMS40NjhMMTE3IDU5bC01LjIxNSA2LjAzeiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik0xNTIuMjE1IDY1LjAzTDE1NCA2My41bC0zLTMuNWgxMHYtMmgtMTBsMy0zLjUtMS43ODUtMS40NjhMMTQ3IDU5bDUuMjE1IDYuMDN6IiBmaWxsPSIjZmZmIi8+PGc+PHBhdGggaWQ9IlJlY3RhbmdsZS0xMSIgZmlsbD0iI2ZmZiIgZD0iTTE2MC45NTcgMjguNTQzbC0zLjI1LTMuMjUtMS40MTMgMS40MTQgMy4yNSAzLjI1eiIvPjxwYXRoIGQ9Ik0xNTIuNSAyN2MzLjAzOCAwIDUuNS0yLjQ2MiA1LjUtNS41cy0yLjQ2Mi01LjUtNS41LTUuNS01LjUgMi40NjItNS41IDUuNSAyLjQ2MiA1LjUgNS41IDUuNXoiIGlkPSJPdmFsLTEiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIxLjUiLz48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMTUwIDIxaDV2MWgtNXoiLz48L2c+PGc+PHBhdGggZD0iTTExNi45NTcgMjguNTQzbC0xLjQxNCAxLjQxNC0zLjI1LTMuMjUgMS40MTQtMS40MTQgMy4yNSAzLjI1eiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik0xMDguNSAyN2MzLjAzOCAwIDUuNS0yLjQ2MiA1LjUtNS41cy0yLjQ2Mi01LjUtNS41LTUuNS01LjUgMi40NjItNS41IDUuNSAyLjQ2MiA1LjUgNS41IDUuNXoiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIxLjUiLz48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMTA2IDIxaDV2MWgtNXoiLz48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMTA5LjA0MyAxOS4wMDhsLS4wODUgNS0xLS4wMTcuMDg1LTV6Ii8+PC9nPjwvZz48L2c+PC9zdmc+)}.pswp--svg .pswp__button--arrow--left,.pswp--svg .pswp__button--arrow--right{background:none}}.pswp__button--close{background-position:0 -44px}.pswp__button--share{background-position:-44px -44px}.pswp__button--fs{display:none}.pswp--supports-fs .pswp__button--fs{display:block}.pswp--fs .pswp__button--fs{background-position:-44px 0}.pswp__button--zoom{display:none;background-position:-88px 0}.pswp--zoom-allowed .pswp__button--zoom{display:block}.pswp--zoomed-in .pswp__button--zoom{background-position:-132px 0}.pswp--touch .pswp__button--arrow--left,.pswp--touch .pswp__button--arrow--right{visibility:hidden}.pswp__button--arrow--left,.pswp__button--arrow--right{background:none;top:50%;margin-top:-50px;width:70px;height:100px;position:absolute}.pswp__button--arrow--left{left:0}.pswp__button--arrow--right{right:0}.pswp__button--arrow--left:before,.pswp__button--arrow--right:before{content:"";top:35px;background-color:rgba(0,0,0,.3);height:30px;width:32px;position:absolute}.pswp__button--arrow--left:before{left:6px;background-position:-138px -44px}.pswp__button--arrow--right:before{right:6px;background-position:-94px -44px}.pswp__counter,.pswp__share-modal{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.pswp__share-modal{display:block;background:rgba(0,0,0,.5);width:100%;height:100%;top:0;left:0;padding:10px;position:absolute;z-index:1600;opacity:0;transition:opacity .25s ease-out;-webkit-backface-visibility:hidden;will-change:opacity}.pswp__share-modal--hidden{display:none}.pswp__share-tooltip{z-index:1620;position:absolute;background:#fff;top:56px;border-radius:2px;display:block;width:auto;right:44px;box-shadow:0 2px 5px rgba(0,0,0,.25);transform:translateY(6px);transition:transform .25s;-webkit-backface-visibility:hidden;will-change:transform}.pswp__share-tooltip a{display:block;padding:8px 12px;font-size:14px;line-height:18px}.pswp__share-tooltip a,.pswp__share-tooltip a:hover{color:#000;text-decoration:none}.pswp__share-tooltip a:first-child{border-radius:2px 2px 0 0}.pswp__share-tooltip a:last-child{border-radius:0 0 2px 2px}.pswp__share-modal--fade-in{opacity:1}.pswp__share-modal--fade-in .pswp__share-tooltip{transform:translateY(0)}.pswp--touch .pswp__share-tooltip a{padding:16px 12px}a.pswp__share--facebook:before{content:"";display:block;width:0;height:0;position:absolute;top:-12px;right:15px;border:6px solid transparent;border-bottom-color:#fff;-webkit-pointer-events:none;-moz-pointer-events:none;pointer-events:none}a.pswp__share--facebook:hover{background:#3e5c9a;color:#fff}a.pswp__share--facebook:hover:before{border-bottom-color:#3e5c9a}a.pswp__share--twitter:hover{background:#55acee;color:#fff}a.pswp__share--pinterest:hover{background:#ccc;color:#ce272d}a.pswp__share--download:hover{background:#ddd}.pswp__counter{position:absolute;left:0;top:0;height:44px;font-size:13px;line-height:44px;color:#fff;opacity:.75;padding:0 10px}.pswp__caption{position:absolute;left:0;bottom:0;width:100%;min-height:44px}.pswp__caption small{font-size:11px;color:#bbb}.pswp__caption__center{text-align:left;max-width:420px;margin:0 auto;font-size:13px;padding:10px;line-height:20px;color:#ccc}.pswp__caption--empty{display:none}.pswp__caption--fake{visibility:hidden}.pswp__preloader{width:44px;height:44px;position:absolute;top:0;left:50%;margin-left:-22px;opacity:0;transition:opacity .25s ease-out;will-change:opacity;direction:ltr}.pswp__preloader__icn{width:20px;height:20px;margin:12px}.pswp__preloader--active{opacity:1}.pswp__preloader--active .pswp__preloader__icn{background:url(data:image/gif;base64,R0lGODlhFAAUAPMIAIeHhz8/P1dXVycnJ8/Pz7e3t5+fn29vb////wAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFBwAIACwAAAAAFAAUAEAEUxDJSatFxtwaggWAdIyHJAhXoRYSQUhDPGx0TbmujahbXGWZWqdDAYEsp5NupLPkdDwE7oXwWVasimzWrAE1tKFHErQRK8eL8mMUlRBJVI307uoiACH5BAUHAAgALAEAAQASABIAAAROEMkpS6E4W5upMdUmEQT2feFIltMJYivbvhnZ3R0A4NMwIDodz+cL7nDEn5CH8DGZh8MtEMBEoxkqlXKVIgQCibbK9YLBYvLtHH5K0J0IACH5BAUHAAgALAEAAQASABIAAAROEMkpjaE4W5spANUmFQX2feFIltMJYivbvhnZ3d1x4BNBIDodz+cL7nDEn5CH8DGZAsFtMMBEoxkqlXKVIgIBibbK9YLBYvLtHH5K0J0IACH5BAUHAAgALAEAAQASABIAAAROEMkpAaA4W5vpOdUmGQb2feFIltMJYivbvhnZ3Z0g4FNRIDodz+cL7nDEn5CH8DGZgcCNQMBEoxkqlXKVIgYDibbK9YLBYvLtHH5K0J0IACH5BAUHAAgALAEAAQASABIAAAROEMkpz6E4W5upENUmAQD2feFIltMJYivbvhnZ3V0Q4JNhIDodz+cL7nDEn5CH8DGZg8GtUMBEoxkqlXKVIggEibbK9YLBYvLtHH5K0J0IACH5BAUHAAgALAEAAQASABIAAAROEMkphaA4W5tpCNUmHQf2feFIltMJYivbvhnZ3d0w4BMAIDodz+cL7nDEn5CH8DGZBMLNYMBEoxkqlXKVIgoFibbK9YLBYvLtHH5K0J0IACH5BAUHAAgALAEAAQASABIAAAROEMkpQ6A4W5vpGNUmCQL2feFIltMJYivbvhnZ3R1B4NNxIDodz+cL7nDEn5CH8DGZhcINAMBEoxkqlXKVIgwGibbK9YLBYvLtHH5K0J0IACH5BAUHAAcALAEAAQASABIAAANCeLo6wzA6FxkhbaoQ4L3ZxnXLh0EjWZ4RV71VUcCLIByyTNt2PsO8m452sBGJBsNxkUwuD03lAQBASqnUJ7aq5UYSADs=) 0 0 no-repeat}.pswp--css_animation .pswp__preloader--active{opacity:1}.pswp--css_animation .pswp__preloader--active .pswp__preloader__icn{animation:clockwise .5s linear infinite}.pswp--css_animation .pswp__preloader--active .pswp__preloader__donut{animation:donut-rotate 1s cubic-bezier(.4,0,.22,1) infinite}.pswp--css_animation .pswp__preloader__icn{background:none;opacity:.75;width:14px;height:14px;position:absolute;left:15px;top:15px;margin:0}.pswp--css_animation .pswp__preloader__cut{position:relative;width:7px;height:14px;overflow:hidden}.pswp--css_animation .pswp__preloader__donut{box-sizing:border-box;width:14px;height:14px;border:2px solid #fff;border-radius:50%;border-left-color:transparent;border-bottom-color:transparent;position:absolute;top:0;left:0;background:none;margin:0}@media screen and (max-width:1024px){.pswp__preloader{position:relative;left:auto;top:auto;margin:0;float:right}}@keyframes clockwise{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes donut-rotate{0%{transform:rotate(0)}50%{transform:rotate(-140deg)}to{transform:rotate(0)}}.pswp__ui{-webkit-font-smoothing:auto;visibility:visible;opacity:1;z-index:1550}.pswp__top-bar{position:absolute;left:0;top:0;height:44px;width:100%}.pswp--has_mouse .pswp__button--arrow--left,.pswp--has_mouse .pswp__button--arrow--right,.pswp__caption,.pswp__top-bar{-webkit-backface-visibility:hidden;will-change:opacity;transition:opacity 333ms cubic-bezier(.4,0,.22,1)}.pswp--has_mouse .pswp__button--arrow--left,.pswp--has_mouse .pswp__button--arrow--right{visibility:visible}.pswp__caption,.pswp__top-bar{background-color:rgba(0,0,0,.5)}.pswp__ui--fit .pswp__caption,.pswp__ui--fit .pswp__top-bar{background-color:rgba(0,0,0,.3)}.pswp__ui--idle .pswp__button--arrow--left,.pswp__ui--idle .pswp__button--arrow--right,.pswp__ui--idle .pswp__top-bar{opacity:0}.pswp__ui--hidden .pswp__button--arrow--left,.pswp__ui--hidden .pswp__button--arrow--right,.pswp__ui--hidden .pswp__caption,.pswp__ui--hidden .pswp__top-bar{opacity:.001}.pswp__ui--one-slide .pswp__button--arrow--left,.pswp__ui--one-slide .pswp__button--arrow--right,.pswp__ui--one-slide .pswp__counter{display:none}.pswp__element--disabled{display:none!important}.pswp--minimal--dark .pswp__top-bar{background:none}.mint-header{-ms-flex-align:center;align-items:center;background-color:#26a2ff;box-sizing:border-box;color:#fff;display:-ms-flexbox;display:flex;font-size:14px;height:40px;line-height:1;padding:0 10px;position:relative;text-align:center;white-space:nowrap}.mint-header .mint-button{background-color:transparent;border:0;box-shadow:none;color:inherit;display:inline-block;padding:0;font-size:inherit}.mint-header .mint-button:after{content:none}.mint-header.is-fixed{top:0;right:0;left:0;position:fixed;z-index:1}.mint-header-button{-ms-flex:.5;flex:.5}.mint-header-button>a{color:inherit}.mint-header-button.is-right{text-align:right}.mint-header-button.is-left{text-align:left}.mint-header-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:inherit;font-weight:400;-ms-flex:1;flex:1}.mint-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:4px;border:0;box-sizing:border-box;color:inherit;display:block;font-size:18px;height:41px;outline:0;overflow:hidden;position:relative;text-align:center}.mint-button:after{background-color:#000;content:" ";opacity:0;top:0;right:0;bottom:0;left:0;position:absolute}.mint-button:not(.is-disabled):active:after{opacity:.4}.mint-button.is-disabled{opacity:.6}.mint-button-icon{vertical-align:middle;display:inline-block}.mint-button--default{color:#656b79;background-color:#f6f8fa;box-shadow:0 0 1px #b8bbbf}.mint-button--default.is-plain{border:1px solid #5a5a5a;background-color:transparent;box-shadow:none;color:#5a5a5a}.mint-button--primary{color:#fff;background-color:#26a2ff}.mint-button--primary.is-plain{border:1px solid #26a2ff;background-color:transparent;color:#26a2ff}.mint-button--danger{color:#fff;background-color:#ef4f4f}.mint-button--danger.is-plain{border:1px solid #ef4f4f;background-color:transparent;color:#ef4f4f}.mint-button--large{display:block;width:100%}.mint-button--normal,.mint-button--small{display:inline-block;padding:0 12px}.mint-button--small{font-size:14px;height:33px}.mint-cell{background-color:#fff;box-sizing:border-box;color:inherit;min-height:48px;display:block;overflow:hidden;position:relative;text-decoration:none}.mint-cell img{vertical-align:middle}.mint-cell:first-child .mint-cell-wrapper{background-origin:border-box}.mint-cell:last-child{background-image:linear-gradient(0deg,#d9d9d9,#d9d9d9 50%,transparent 0);background-size:100% 1px;background-repeat:no-repeat;background-position:bottom}.mint-cell-wrapper{background-image:linear-gradient(180deg,#d9d9d9,#d9d9d9 50%,transparent 0);background-size:120% 1px;background-repeat:no-repeat;background-position:0 0;background-origin:content-box;-ms-flex-align:center;align-items:center;box-sizing:border-box;display:-ms-flexbox;display:flex;font-size:16px;line-height:1;min-height:inherit;overflow:hidden;padding:0 10px;width:100%}.mint-cell-mask:after{background-color:#000;content:" ";opacity:0;top:0;right:0;bottom:0;left:0;position:absolute}.mint-cell-mask:active:after{opacity:.1}.mint-cell-text{vertical-align:middle}.mint-cell-label{color:#888;display:block;font-size:12px;margin-top:6px}.mint-cell-title{-ms-flex:1;flex:1}.mint-cell-value{color:#888;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.mint-cell-value.is-link{margin-right:24px}.mint-cell-left{position:absolute;height:100%;left:0;transform:translate3d(-100%,0,0)}.mint-cell-right{position:absolute;height:100%;right:0;top:0;transform:translate3d(100%,0,0)}.mint-cell-allow-right:after{border:2px solid #c8c8cd;border-bottom-width:0;border-left-width:0;content:" ";top:50%;right:20px;position:absolute;width:5px;height:5px;transform:translateY(-50%) rotate(45deg)}.mint-cell-swipe .mint-cell-wrapper{position:relative}.mint-cell-swipe .mint-cell-left,.mint-cell-swipe .mint-cell-right,.mint-cell-swipe .mint-cell-wrapper{transition:transform .15s ease-in-out}.mint-cell-swipe-buttongroup{height:100%}.mint-cell-swipe-button{height:100%;display:inline-block;padding:0 10px;line-height:48px}.mint-field{display:-ms-flexbox;display:flex}.mint-field .mint-cell-title{width:105px;-ms-flex:none;flex:none}.mint-field .mint-cell-value{-ms-flex:1;flex:1;color:inherit;display:-ms-flexbox;display:flex}.mint-field.is-nolabel .mint-cell-title{display:none}.mint-field.is-textarea{-ms-flex-align:inherit;align-items:inherit}.mint-field.is-textarea .mint-cell-title{padding:10px 0}.mint-field.is-textarea .mint-cell-value{padding:5px 0}.mint-field-core{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0;border:0;-ms-flex:1;flex:1;outline:0;line-height:1.6;font-size:inherit;width:100%}.mint-field-clear{opacity:.2}.mint-field-state{color:inherit;margin-left:20px}.mint-field-state .mintui{font-size:20px}.mint-field-state.is-default{margin-left:0}.mint-field-state.is-success{color:#4caf50}.mint-field-state.is-warning{color:#ffc107}.mint-field-state.is-error{color:#f44336}.mint-field-other{top:0;right:0;position:relative}.mint-badge{color:#fff;text-align:center;display:inline-block}.mint-badge.is-size-large{border-radius:14px;font-size:18px;padding:2px 10px}.mint-badge.is-size-small{border-radius:8px;font-size:12px;padding:2px 6px}.mint-badge.is-size-normal{border-radius:12px;font-size:15px;padding:2px 8px}.mint-badge.is-warning{background-color:#ffc107}.mint-badge.is-error{background-color:#f44336}.mint-badge.is-primary{background-color:#26a2ff}.mint-badge.is-success{background-color:#4caf50}.mint-switch{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;position:relative}.mint-switch *{pointer-events:none}.mint-switch-label{margin-left:10px;display:inline-block}.mint-switch-label:empty{margin-left:0}.mint-switch-core{display:inline-block;position:relative;width:52px;height:32px;border:1px solid #d9d9d9;border-radius:16px;box-sizing:border-box;background:#d9d9d9}.mint-switch-core:after,.mint-switch-core:before{content:" ";top:0;left:0;position:absolute;transition:transform .3s;border-radius:15px}.mint-switch-core:after{width:30px;height:30px;background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.4)}.mint-switch-core:before{width:50px;height:30px;background-color:#fdfdfd}.mint-switch-input{display:none}.mint-switch-input:checked+.mint-switch-core{border-color:#26a2ff;background-color:#26a2ff}.mint-switch-input:checked+.mint-switch-core:before{transform:scale(0)}.mint-switch-input:checked+.mint-switch-core:after{transform:translateX(20px)}.mint-spinner-snake{animation:mint-spinner-rotate .8s infinite linear;border:4px solid transparent;border-radius:50%}@keyframes mint-spinner-rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.mint-spinner-double-bounce{position:relative}.mint-spinner-double-bounce-bounce1,.mint-spinner-double-bounce-bounce2{width:100%;height:100%;border-radius:50%;opacity:.6;position:absolute;top:0;left:0;animation:mint-spinner-double-bounce 2s infinite ease-in-out}.mint-spinner-double-bounce-bounce2{animation-delay:-1s}@keyframes mint-spinner-double-bounce{0%,to{transform:scale(0)}50%{transform:scale(1)}}.mint-spinner-triple-bounce-bounce1,.mint-spinner-triple-bounce-bounce2,.mint-spinner-triple-bounce-bounce3{border-radius:100%;display:inline-block;animation:mint-spinner-triple-bounce 1.4s infinite ease-in-out both}.mint-spinner-triple-bounce-bounce1{animation-delay:-.32s}.mint-spinner-triple-bounce-bounce2{animation-delay:-.16s}@keyframes mint-spinner-triple-bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.mint-spinner-fading-circle{position:relative}.mint-spinner-fading-circle-circle{width:100%;height:100%;top:0;left:0;position:absolute}.mint-spinner-fading-circle-circle:before{content:" ";display:block;margin:0 auto;width:15%;height:15%;border-radius:100%;animation:mint-fading-circle 1.2s infinite ease-in-out both}.mint-spinner-fading-circle-circle.is-circle2{transform:rotate(30deg)}.mint-spinner-fading-circle-circle.is-circle2:before{animation-delay:-1.1s}.mint-spinner-fading-circle-circle.is-circle3{transform:rotate(60deg)}.mint-spinner-fading-circle-circle.is-circle3:before{animation-delay:-1s}.mint-spinner-fading-circle-circle.is-circle4{transform:rotate(90deg)}.mint-spinner-fading-circle-circle.is-circle4:before{animation-delay:-.9s}.mint-spinner-fading-circle-circle.is-circle5{transform:rotate(120deg)}.mint-spinner-fading-circle-circle.is-circle5:before{animation-delay:-.8s}.mint-spinner-fading-circle-circle.is-circle6{transform:rotate(150deg)}.mint-spinner-fading-circle-circle.is-circle6:before{animation-delay:-.7s}.mint-spinner-fading-circle-circle.is-circle7{transform:rotate(180deg)}.mint-spinner-fading-circle-circle.is-circle7:before{animation-delay:-.6s}.mint-spinner-fading-circle-circle.is-circle8{transform:rotate(210deg)}.mint-spinner-fading-circle-circle.is-circle8:before{animation-delay:-.5s}.mint-spinner-fading-circle-circle.is-circle9{transform:rotate(240deg)}.mint-spinner-fading-circle-circle.is-circle9:before{animation-delay:-.4s}.mint-spinner-fading-circle-circle.is-circle10{transform:rotate(270deg)}.mint-spinner-fading-circle-circle.is-circle10:before{animation-delay:-.3s}.mint-spinner-fading-circle-circle.is-circle11{transform:rotate(300deg)}.mint-spinner-fading-circle-circle.is-circle11:before{animation-delay:-.2s}.mint-spinner-fading-circle-circle.is-circle12{transform:rotate(330deg)}.mint-spinner-fading-circle-circle.is-circle12:before{animation-delay:-.1s}@keyframes mint-fading-circle{0%,39%,to{opacity:0}40%{opacity:1}}.mint-tab-item{display:block;padding:7px 0;-ms-flex:1;flex:1;text-decoration:none}.mint-tab-item-icon{width:24px;height:24px;margin:0 auto 5px}.mint-tab-item-icon:empty{display:none}.mint-tab-item-icon>*{display:block;width:100%;height:100%}.mint-tab-item-label{color:inherit;font-size:12px;line-height:1}.mint-tab-container-item{-ms-flex-negative:0;flex-shrink:0;width:100%}.mint-tab-container{overflow:hidden;position:relative}.mint-tab-container .swipe-transition{transition:transform .15s ease-in-out}.mint-navbar,.mint-tab-container-wrap{display:-ms-flexbox;display:flex}.mint-navbar{background-color:#fff;text-align:center}.mint-navbar .mint-tab-item{padding:17px 0;font-size:15px}.mint-navbar .mint-tab-item:last-child{border-right:0}.mint-navbar .mint-tab-item.is-selected{border-bottom:3px solid #26a2ff;color:#26a2ff;margin-bottom:-3px}.mint-navbar.is-fixed{top:0;right:0;left:0;position:fixed;z-index:1}.mint-tabbar{background-image:linear-gradient(180deg,#d9d9d9,#d9d9d9 50%,transparent 0);background-size:100% 1px;background-repeat:no-repeat;background-position:0 0;position:relative;background-color:#fafafa;display:-ms-flexbox;display:flex;right:0;bottom:0;left:0;position:absolute;text-align:center}.mint-tabbar>.mint-tab-item.is-selected{background-color:#eaeaea;color:#26a2ff}.mint-tabbar.is-fixed{right:0;bottom:0;left:0;position:fixed;z-index:1}.mint-search{height:100%;height:100vh;overflow:hidden}.mint-searchbar{position:relative;background-color:#d9d9d9;box-sizing:border-box;padding:8px 10px;z-index:1}.mint-searchbar,.mint-searchbar-inner{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex}.mint-searchbar-inner{background-color:#fff;border-radius:2px;-ms-flex:1;flex:1;height:28px;padding:4px 6px}.mint-searchbar-inner .mintui-search{font-size:12px;color:#d9d9d9}.mint-searchbar-core{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;box-sizing:border-box;width:100%;height:100%;outline:0}.mint-searchbar-cancel{color:#26a2ff;margin-left:10px;text-decoration:none}.mint-search-list{overflow:auto;padding-top:44px;top:0;right:0;bottom:0;left:0;position:absolute}.mint-checklist .mint-cell{padding:0}.mint-checklist.is-limit .mint-checkbox-core:not(:checked){background-color:#d9d9d9;border-color:#d9d9d9}.mint-checklist-label{display:block;padding:0 10px}.mint-checklist-title{color:#888;display:block;font-size:12px;margin:8px}.mint-checkbox.is-right{float:right}.mint-checkbox-label{vertical-align:middle;margin-left:6px}.mint-checkbox-input{display:none}.mint-checkbox-input:checked+.mint-checkbox-core{background-color:#26a2ff;border-color:#26a2ff}.mint-checkbox-input:checked+.mint-checkbox-core:after{border-color:#fff;transform:rotate(45deg) scale(1)}.mint-checkbox-input[disabled]+.mint-checkbox-core{background-color:#d9d9d9;border-color:#ccc}.mint-checkbox-core{display:inline-block;background-color:#fff;border-radius:100%;border:1px solid #ccc;position:relative;width:20px;height:20px;vertical-align:middle}.mint-checkbox-core:after{border:2px solid transparent;border-left:0;border-top:0;content:" ";top:3px;left:6px;position:absolute;width:4px;height:8px;transform:rotate(45deg) scale(0);transition:transform .2s}.mint-radiolist .mint-cell{padding:0}.mint-radiolist-label{display:block;padding:0 10px}.mint-radiolist-title{font-size:12px;margin:8px;display:block;color:#888}.mint-radio.is-right{float:right}.mint-radio-label{vertical-align:middle;margin-left:6px}.mint-radio-input{display:none}.mint-radio-input:checked+.mint-radio-core{background-color:#26a2ff;border-color:#26a2ff}.mint-radio-input:checked+.mint-radio-core:after{background-color:#fff;transform:scale(1)}.mint-radio-input[disabled]+.mint-radio-core{background-color:#d9d9d9;border-color:#ccc}.mint-radio-core{box-sizing:border-box;display:inline-block;background-color:#fff;border-radius:100%;border:1px solid #ccc;position:relative;width:20px;height:20px;vertical-align:middle}.mint-radio-core:after{content:" ";border-radius:100%;top:5px;left:5px;position:absolute;width:8px;height:8px;transition:transform .2s;transform:scale(0)}.mint-loadmore{overflow:hidden}.mint-loadmore-content.is-dropped{transition:.2s}.mint-loadmore-bottom,.mint-loadmore-top{text-align:center;height:50px;line-height:50px}.mint-loadmore-top{margin-top:-50px}.mint-loadmore-bottom{margin-bottom:-50px}.mint-loadmore-spinner{display:inline-block;margin-right:5px;vertical-align:middle}.mint-loadmore-text{vertical-align:middle}.mint-actionsheet{position:fixed;background:#e0e0e0;width:100%;text-align:center;bottom:0;left:50%;transform:translate3d(-50%,0,0);-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .3s ease-out}.mint-actionsheet-list{list-style:none;padding:0;margin:0}.mint-actionsheet-listitem{border-bottom:1px solid #e0e0e0}.mint-actionsheet-button,.mint-actionsheet-listitem{display:block;width:100%;height:45px;line-height:45px;font-size:18px;color:#333;background-color:#fff}.mint-actionsheet-button:active,.mint-actionsheet-listitem:active{background-color:#f0f0f0}.actionsheet-float-enter,.actionsheet-float-leave-active{transform:translate3d(-50%,100%,0)}.mint-popup{position:fixed;background:#fff;top:50%;left:50%;transform:translate3d(-50%,-50%,0);-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:.2s ease-out}.mint-popup-top{top:0;right:auto;bottom:auto;left:50%;transform:translate3d(-50%,0,0)}.mint-popup-right{top:50%;right:0;bottom:auto;left:auto;transform:translate3d(0,-50%,0)}.mint-popup-bottom{top:auto;right:auto;bottom:0;left:50%;transform:translate3d(-50%,0,0)}.mint-popup-left{top:50%;right:auto;bottom:auto;left:0;transform:translate3d(0,-50%,0)}.popup-slide-top-enter,.popup-slide-top-leave-active{transform:translate3d(-50%,-100%,0)}.popup-slide-right-enter,.popup-slide-right-leave-active{transform:translate3d(100%,-50%,0)}.popup-slide-bottom-enter,.popup-slide-bottom-leave-active{transform:translate3d(-50%,100%,0)}.popup-slide-left-enter,.popup-slide-left-leave-active{transform:translate3d(-100%,-50%,0)}.popup-fade-enter,.popup-fade-leave-active{opacity:0}.mint-swipe,.mint-swipe-items-wrap{overflow:hidden;position:relative;height:100%}.mint-swipe-items-wrap>div{position:absolute;transform:translateX(-100%);width:100%;height:100%;display:none}.mint-swipe-items-wrap>div.is-active{display:block;transform:none}.mint-swipe-indicators{position:absolute;bottom:10px;left:50%;transform:translateX(-50%)}.mint-swipe-indicator{width:8px;height:8px;display:inline-block;border-radius:100%;background:#000;opacity:.2;margin:0 3px}.mint-swipe-indicator.is-active{background:#fff}.mt-range{position:relative;display:-ms-flexbox;display:flex;height:30px;line-height:30px}.mt-range>*{display:-ms-flexbox;display:flex;display:-webkit-box}.mt-range [slot=start]{margin-right:5px}.mt-range [slot=end]{margin-left:5px}.mt-range-content{position:relative;-ms-flex:1;flex:1;margin-right:30px}.mt-range-runway{position:absolute;top:50%;transform:translateY(-50%);left:0;right:-30px;border-top-color:#a9acb1;border-top-style:solid}.mt-range-thumb{background-color:#fff;position:absolute;left:0;top:0;width:30px;height:30px;border-radius:100%;cursor:move;box-shadow:0 1px 3px rgba(0,0,0,.4)}.mt-range-progress{position:absolute;display:block;background-color:#26a2ff;top:50%;transform:translateY(-50%);width:0}.mt-range--disabled{opacity:.5}.picker{overflow:hidden}.picker-toolbar{height:40px}.picker-items{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding:0;text-align:right;font-size:24px;position:relative}.picker-center-highlight{box-sizing:border-box;position:absolute;left:0;width:100%;top:50%;margin-top:-18px;pointer-events:none}.picker-center-highlight:after,.picker-center-highlight:before{content:"";position:absolute;height:1px;width:100%;background-color:#eaeaea;display:block;z-index:15;transform:scaleY(.5)}.picker-center-highlight:before{left:0;top:0;bottom:auto;right:auto}.picker-center-highlight:after{left:0;bottom:0;right:auto;top:auto}.picker-slot{font-size:18px;overflow:hidden;position:relative;max-height:100%}.picker-slot.picker-slot-left{text-align:left}.picker-slot.picker-slot-center{text-align:center}.picker-slot.picker-slot-right{text-align:right}.picker-slot.picker-slot-divider{color:#000;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.picker-slot-wrapper{transition-duration:.3s;transition-timing-function:ease-out;-webkit-backface-visibility:hidden;backface-visibility:hidden}.picker-slot-wrapper.dragging,.picker-slot-wrapper.dragging .picker-item{transition-duration:0s}.picker-item{height:36px;line-height:36px;padding:0 10px;white-space:nowrap;position:relative;overflow:hidden;text-overflow:ellipsis;color:#707274;left:0;top:0;width:100%;box-sizing:border-box;transition-duration:.3s;-webkit-backface-visibility:hidden;backface-visibility:hidden}.picker-slot-absolute .picker-item{position:absolute}.picker-item.picker-item-far{pointer-events:none}.picker-item.picker-selected{color:#000;transform:translateZ(0) rotateX(0)}.picker-3d .picker-items{overflow:hidden;perspective:700px}.picker-3d .picker-item,.picker-3d .picker-slot,.picker-3d .picker-slot-wrapper{transform-style:preserve-3d}.picker-3d .picker-slot{overflow:visible}.picker-3d .picker-item{transform-origin:center center;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition-timing-function:ease-out}.mt-progress{position:relative;display:-ms-flexbox;display:flex;height:30px;line-height:30px}.mt-progress>*{display:-ms-flexbox;display:flex;display:-webkit-box}.mt-progress [slot=start]{margin-right:5px}.mt-progress [slot=end]{margin-left:5px}.mt-progress-content{position:relative;-ms-flex:1;flex:1}.mt-progress-runway{left:0;right:0;background-color:#ebebeb;height:3px}.mt-progress-progress,.mt-progress-runway{position:absolute;transform:translateY(-50%);top:50%}.mt-progress-progress{display:block;background-color:#26a2ff;width:0}.mint-toast{position:fixed;max-width:80%;border-radius:5px;background:rgba(0,0,0,.7);color:#fff;box-sizing:border-box;text-align:center;z-index:1000;transition:opacity .3s linear}.mint-toast.is-placebottom{bottom:50px;left:50%;transform:translate(-50%)}.mint-toast.is-placemiddle{left:50%;top:50%;transform:translate(-50%,-50%)}.mint-toast.is-placetop{top:50px;left:50%;transform:translate(-50%)}.mint-toast-icon{display:block;text-align:center;font-size:56px}.mint-toast-text{font-size:14px;display:block;text-align:center}.mint-toast-pop-enter,.mint-toast-pop-leave-active{opacity:0}.mint-indicator{transition:opacity .2s linear}.mint-indicator-wrapper{top:50%;left:50%;position:fixed;transform:translate(-50%,-50%);border-radius:5px;background:rgba(0,0,0,.7);color:#fff;box-sizing:border-box;text-align:center}.mint-indicator-text{display:block;color:#fff;text-align:center;margin-top:10px;font-size:16px}.mint-indicator-spin{display:inline-block;text-align:center}.mint-indicator-mask{top:0;left:0;position:fixed;width:100%;height:100%;opacity:0;background:transparent}.mint-indicator-enter,.mint-indicator-leave-active{opacity:0}.mint-msgbox{position:fixed;top:50%;left:50%;transform:translate3d(-50%,-50%,0);background-color:#fff;width:85%;border-radius:3px;font-size:16px;-webkit-user-select:none;overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:.2s}.mint-msgbox-header{padding:15px 0 0}.mint-msgbox-content{padding:10px 20px 15px;border-bottom:1px solid #ddd;min-height:36px;position:relative}.mint-msgbox-input{padding-top:15px}.mint-msgbox-input input{border:1px solid #dedede;border-radius:5px;padding:4px 5px;width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none}.mint-msgbox-input input.invalid,.mint-msgbox-input input.invalid:focus{border-color:#ff4949}.mint-msgbox-errormsg{color:red;font-size:12px;min-height:18px;margin-top:2px}.mint-msgbox-title{text-align:center;padding-left:0;margin-bottom:0;font-size:16px;font-weight:700;color:#333}.mint-msgbox-message{color:#999;margin:0;text-align:center;line-height:36px}.mint-msgbox-btns{display:-ms-flexbox;display:flex;height:40px;line-height:40px}.mint-msgbox-btn{line-height:35px;display:block;background-color:#fff;-ms-flex:1;flex:1;margin:0;border:0}.mint-msgbox-btn:focus{outline:none}.mint-msgbox-btn:active{background-color:#fff}.mint-msgbox-cancel{width:50%;border-right:1px solid #ddd}.mint-msgbox-cancel:active{color:#000}.mint-msgbox-confirm{color:#26a2ff;width:50%}.mint-msgbox-confirm:active{color:#26a2ff}.msgbox-bounce-enter{opacity:0;transform:translate3d(-50%,-50%,0) scale(.7)}.msgbox-bounce-leave-active{opacity:0;transform:translate3d(-50%,-50%,0) scale(.9)}.v-modal-enter{animation:v-modal-in .2s ease}.v-modal-leave{animation:v-modal-out .2s ease forwards}@keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-out{to{opacity:0}}.v-modal{position:fixed;left:0;top:0;height:100%;opacity:.5;background:#000}.mint-datetime,.v-modal{width:100%}.mint-datetime .picker-item,.mint-datetime .picker-slot-wrapper{-webkit-backface-visibility:hidden;backface-visibility:hidden}.mint-datetime .picker-toolbar{border-bottom:1px solid #eaeaea}.mint-datetime-action{display:inline-block;width:50%;text-align:center;line-height:40px;font-size:16px;color:#26a2ff}.mint-datetime-cancel{float:left}.mint-datetime-confirm{float:right}.mint-indexlist{width:100%;position:relative;overflow:hidden}.mint-indexlist-content{margin:0;padding:0;overflow:auto}.mint-indexlist-nav{position:absolute;top:0;bottom:0;right:0;background-color:#fff;border-left:1px solid #ddd;text-align:center;-ms-flex-pack:center;justify-content:center}.mint-indexlist-nav,.mint-indexlist-navlist{margin:0;max-height:100%;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.mint-indexlist-navlist{padding:0;list-style:none}.mint-indexlist-navitem{padding:2px 6px;font-size:12px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none}.mint-indexlist-indicator{position:absolute;width:50px;height:50px;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;line-height:50px;background-color:rgba(0,0,0,.7);border-radius:5px;color:#fff;font-size:22px}.mint-indexsection{padding:0;margin:0}.mint-indexsection-index{margin:0;padding:10px;background-color:#fafafa}.mint-indexsection-index+ul{padding:0}.mint-palette-button{display:inline-block;position:relative;border-radius:50%;width:56px;height:56px;line-height:56px;text-align:center;transition:transform .1s ease-in-out}.mint-main-button{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;background-color:blue;font-size:2em}.mint-palette-button-active{animation:mint-zoom .5s ease-in-out}.mint-sub-button-container>*{position:absolute;top:15px;left:15px;width:25px;height:25px;transition:transform .3s ease-in-out}@keyframes mint-zoom{0%{transform:scale(1)}10%{transform:scale(1.1)}30%{transform:scale(.9)}50%{transform:scale(1.05)}70%{transform:scale(.95)}90%{transform:scale(1.01)}to{transform:scale(1)}}@font-face{font-family:mintui;src:url(data:application/x-font-ttf;base64,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)}.mintui{font-family:mintui!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-webkit-text-stroke-width:.2px;-moz-osx-font-smoothing:grayscale}.mintui-search:before{content:"\E604"}.mintui-more:before{content:"\E601"}.mintui-back:before{content:"\E600"}.mintui-field-error:before{content:"\E605"}.mintui-field-warning:before{content:"\E608"}.mintui-success:before{content:"\E602"}.mintui-field-success:before{content:"\E609"} 4 | /*# sourceMappingURL=app.50aa4987c3af0545f1e2eec47bceb17a.css.map */ 5 | -------------------------------------------------------------------------------- /static/js/app.cffc5b2b6cf5aacbd876.js: -------------------------------------------------------------------------------- 1 | webpackJsonp([1],{"2jnm":function(t,e){},CcWh:function(t,e){},NHnr:function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var s=i("7+uW"),n=i("Au9i"),a=i.n(n),r={render:function(){var t=this.$createElement,e=this._self._c||t;return e("div",{attrs:{id:"app"}},[e("router-view")],1)},staticRenderFns:[]};var o=i("VU/8")({name:"App"},r,!1,function(t){i("sbcC")},null,null).exports,l=i("/ocq"),c=i("//Fk"),p=i.n(c),d=i("hLg7"),u=i.n(d),m=i("fzln"),f=i.n(m),h=(i("2jnm"),i("OCIE"),{data:function(){return{files:[],index:0,maxLength:9,maxSize:1024e4}},methods:{selectImgs:function(){var t=this,e=this.$refs.file.files;e.length>9&&alert(this.lang.dynamic_upload_tips);for(var i=[],s=function(s,n){var a={Id:t.index++,name:e[s].name,size:e[s].size,file:e[s]},r=new FileReader;r.onloadend=function(e){t.getBase64(e.target.result).then(function(e){t.$set(a,"src",e)})},a.size>t.maxSize?Toast(t.lang.dynamic_over_size):(r.readAsDataURL(e[s]),i.push(a),t.files.push(a))},n=0,a=e.length;n1e3||a>1e3)&&(n>a?(l=1e3,o=1e3/r):(l=1e3*r,o=1e3)),s.width=l,s.height=o,s.getContext("2d").drawImage(e,0,0,l,o),i=s.toDataURL("image/jpeg",.5),t(i)}})},remove:function(t,e){var i=this;e.stopPropagation(),this.files.splice(t,1),setTimeout(function(){i.$emit("removeFiles",t)},300)},initPhotoSwipeFromDOM:function(t){for(var e=function(t){var e=function t(e,i){return e&&(i(e)?e:t(e.parentNode,i))}((t=t||window.event).target||t.srcElement,function(t,e){return t.tagName&&"FIGURE"===t.tagName.toUpperCase()});if(e){for(var s,n=e.parentNode,a=e.parentNode.childNodes,r=a.length,o=0,l=0;l=0&&i(s,n),!1}},i=function(t,e,i,s){var n,a,r=document.querySelectorAll(".pswp")[0];if(a=function(t){for(var e,i,s,n,a=t.childNodes,r=a.length,o=[],l=0;l1&&(n.title=e.children[1].innerHTML),i.children.length>0&&(n.msrc=i.children[0].getAttribute("src")),n.el=e,o.push(n)}return o}(e),n={history:!1,tapToClose:!0,galleryUID:e.getAttribute("data-pswp-uid"),getThumbBoundsFn:function(t){var e=a[t].el.getElementsByTagName("img")[0],i=window.pageYOffset||document.documentElement.scrollTop,s=e.getBoundingClientRect();return{x:s.left,y:s.top+i,w:s.width}}},s)if(n.galleryPIDs){for(var o=0;o"})},NRzs:function(t,e){},OCIE:function(t,e){},"d8/S":function(t,e){},sbcC:function(t,e){}},["NHnr"]); 2 | //# sourceMappingURL=app.cffc5b2b6cf5aacbd876.js.map -------------------------------------------------------------------------------- /static/js/app.cffc5b2b6cf5aacbd876.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["webpack:///./src/App.vue?c65c","webpack:///./src/App.vue","webpack:///src/App.vue","webpack:///src/components/Upload.vue","webpack:///./src/components/Upload.vue?da33","webpack:///./src/components/Upload.vue","webpack:///src/components/Create.vue","webpack:///./src/components/Create.vue?7a83","webpack:///./src/components/Create.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","name","ssrContext","Upload","data","files","index","maxLength","maxSize","methods","selectImgs","_this","fileList","$refs","file","length","alert","lang","dynamic_upload_tips","tempList","_loop","i","len","fileItem","Id","size","reader","FileReader","onloadend","e","getBase64","target","result","then","url","$set","Toast","dynamic_over_size","readAsDataURL","push","setTimeout","$emit","splice","Img","Image","dataURL","src","promise_default","a","resolve","reject","onload","canvas","document","createElement","width","height","ratio","newHeight","newWidth","getContext","drawImage","toDataURL","remove","_this2","stopPropagation","initPhotoSwipeFromDOM","gallerySelector","onThumbnailsClick","clickedListItem","closest","el","fn","parentNode","window","event","srcElement","tagName","toUpperCase","clickedGallery","childNodes","numChildNodes","nodeIndex","nodeType","openPhotoSwipe","galleryElement","disableAnimation","fromURL","options","items","pswpElement","querySelectorAll","figureEl","linkEl","item","thumbElements","numNodes","children","img","getAttribute","setAttribute","naturalWidth","naturalHeight","split","w","parseInt","h","title","innerHTML","msrc","parseThumbnailElements","history","tapToClose","galleryUID","getThumbBoundsFn","thumbnail","getElementsByTagName","pageYScroll","pageYOffset","documentElement","scrollTop","rect","getBoundingClientRect","x","left","y","top","galleryPIDs","j","pid","isNaN","showAnimationDuration","photoswipe_default","photoswipe_ui_default_default","init","galleryElements","l","onclick","hashData","hash","location","substring","params","vars","pair","gid","photoswipeParseHash","mounted","components_Upload","_vm","staticClass","_l","key","itemprop","itemscope","href","data-size","_v","on","click","$event","ref","type","multiple","accept","change","_e","_m","tabindex","role","aria-hidden","Create","dynamicContent","imgList","FilecodeList","isSubmit","getImageList","$nextTick","removeImage","_getFileCode","obj","$http","post","$profileApi","Shared_UploadImage","Rstatus","Rdata","catch","err","createDynamic","arr","_this3","Dynamic_CreateDynamic","Subject","Files","$router","back","send","Object","mint_ui_common","console","log","components","uploader","Upload_normalizeComponent","components_Create","placeholder","rows","model","value","callback","$$v","expression","getFiles","removeFiles","src_components_Create","Create_normalizeComponent","Vue","use","Router","router","routes","path","component","config","productionTip","Mint","App","template"],"mappings":"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","file":"static/js/app.cffc5b2b6cf5aacbd876.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/lib/template-compiler?{\"id\":\"data-v-69d5c77c\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/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/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-69d5c77c\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../node_modules/vue-loader/lib/selector?type=styles&index=0!./App.vue\")\n}\nvar normalizeComponent = require(\"!../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./App.vue\"\nimport __vue_script__ from \"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./App.vue\"\n/* template */\nimport __vue_template__ from \"!!../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-69d5c77c\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../node_modules/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// WEBPACK FOOTER //\n// src/App.vue","\n\n\n\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/Upload.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"imgUploader\"}},[_c('div',{staticClass:\"file-list\"},[_c('div',{staticClass:\"thumbnails my-gallery\"},[_vm._l((_vm.files),function(item,index){return _c('figure',{key:index,staticClass:\"thumbnail\",attrs:{\"itemprop\":\"associatedMedia\",\"itemscope\":\"\"}},[_c('a',{staticClass:\"img-wrapper\",attrs:{\"href\":item.src,\"itemprop\":\"contentUrl\",\"data-size\":\"400x400\"}},[_c('img',{attrs:{\"src\":item.src,\"itemprop\":\"thumbnail\"}})]),_vm._v(\" \"),_c('span',{staticClass:\"file-remove\",on:{\"click\":function($event){_vm.remove(index,$event)}}},[_vm._v(\"×\")])])}),_vm._v(\" \"),(this.files.length < 9)?_c('section',{staticClass:\"thumbnail\"},[_c('div',{staticClass:\"add\"},[_c('span',[_vm._v(\"+\")]),_vm._v(\" \"),_c('input',{ref:\"file\",attrs:{\"type\":\"file\",\"multiple\":\"\",\"accept\":\"image/*\"},on:{\"change\":function($event){_vm.selectImgs()}}})])]):_vm._e()],2),_vm._v(\" \"),_vm._m(0)])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"pswp\",attrs:{\"tabindex\":\"-1\",\"role\":\"dialog\",\"aria-hidden\":\"true\"}},[_c('div',{staticClass:\"pswp__bg\"}),_vm._v(\" \"),_c('div',{staticClass:\"pswp__scroll-wrap\"},[_c('div',{staticClass:\"pswp__container\"},[_c('div',{staticClass:\"pswp__item\"}),_vm._v(\" \"),_c('div',{staticClass:\"pswp__item\"}),_vm._v(\" \"),_c('div',{staticClass:\"pswp__item\"})]),_vm._v(\" \"),_c('div',{staticClass:\"pswp__ui pswp__ui--hidden\"},[_c('div',{staticClass:\"pswp__top-bar\"},[_c('div',{staticClass:\"pswp__counter\"}),_vm._v(\" \"),_c('button',{staticClass:\"pswp__button pswp__button--close\",attrs:{\"title\":\"Close (Esc)\"}}),_vm._v(\" \"),_c('div',{staticClass:\"pswp__preloader\"},[_c('div',{staticClass:\"pswp__preloader__icn\"},[_c('div',{staticClass:\"pswp__preloader__cut\"},[_c('div',{staticClass:\"pswp__preloader__donut\"})])])])]),_vm._v(\" \"),_c('div',{staticClass:\"pswp__share-modal pswp__share-modal--hidden pswp__single-tap\"},[_c('div',{staticClass:\"pswp__share-tooltip\"})]),_vm._v(\" \"),_c('button',{staticClass:\"pswp__button pswp__button--arrow--left\",attrs:{\"title\":\"Previous (arrow left)\"}}),_vm._v(\" \"),_c('button',{staticClass:\"pswp__button pswp__button--arrow--right\",attrs:{\"title\":\"Next (arrow right)\"}}),_vm._v(\" \"),_c('div',{staticClass:\"pswp__caption\"},[_c('div',{staticClass:\"pswp__caption__center\"})])])])])}]\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-3bb4e230\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/Upload.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-3bb4e230\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!less-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Upload.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Upload.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Upload.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-3bb4e230\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./Upload.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-3bb4e230\"\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/Upload.vue\n// module id = null\n// module chunks = ","\n\n\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/Create.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"dynamic_create\"}},[_c('mt-field',{attrs:{\"placeholder\":\"发表您的动态\",\"type\":\"textarea\",\"rows\":\"4\"},model:{value:(_vm.dynamicContent),callback:function ($$v) {_vm.dynamicContent=$$v},expression:\"dynamicContent\"}}),_vm._v(\" \"),_c('uploader',{on:{\"getFiles\":_vm.getImageList,\"removeFiles\":_vm.removeImage}}),_vm._v(\" \"),_c('div',{staticClass:\"btn-wrapper\"},[_c('mt-button',{staticClass:\"btn-send\",attrs:{\"size\":\"large\",\"type\":\"primary\"},on:{\"click\":_vm.send}},[_vm._v(\"发布\")])],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-540f3746\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/Create.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-540f3746\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!less-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./Create.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Create.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./Create.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-540f3746\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./Create.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-540f3746\"\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/Create.vue\n// module id = null\n// module chunks = ","import Vue from 'vue'\nimport Router from 'vue-router'\nimport Create from '@/components/Create'\n\nVue.use(Router)\n\nexport default new Router({\n routes: [\n {\n path: '/',\n name: 'HelloWorld',\n component: Create\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 Mint from 'mint-ui';\nimport App from './App'\nimport router from './router'\nimport 'mint-ui/lib/style.css';\nVue.config.productionTip = false\nVue.use(Mint);\n/* eslint-disable no-new */\nnew Vue({\n el: '#app',\n router,\n components: { App },\n template: ''\n})\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.js"],"sourceRoot":""} -------------------------------------------------------------------------------- /static/js/manifest.2ae2e69a05c33dfc65f8.js: -------------------------------------------------------------------------------- 1 | !function(r){var n=window.webpackJsonp;window.webpackJsonp=function(e,u,c){for(var f,i,p,a=0,l=[];a