├── .babelrc ├── .editorconfig ├── .gitignore ├── .postcssrc.js ├── README.md ├── _config.yml ├── 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 ├── docs ├── index.html └── static │ ├── bb.mp4 │ ├── css │ ├── app.e9fb278e993615e878129c899ec34696.css │ └── app.e9fb278e993615e878129c899ec34696.css.map │ ├── fonts │ └── element-icons.6f0a763.ttf │ ├── img │ ├── bg.5cb6a88.jpg │ ├── bg1.b1d334f.jpg │ ├── bg2.9ee4d13.jpg │ ├── headline.344ac85.jpg │ ├── img1.14cb90c.jpg │ ├── img2.95a79d1.jpg │ ├── img3.b259777.jpg │ ├── img4.b7608ee.jpg │ ├── img5.20dddab.jpg │ └── img6.74f29f6.jpg │ ├── js │ ├── app.cfe251872c85719fe554.js │ ├── app.cfe251872c85719fe554.js.map │ ├── manifest.3ad1d5771e9b13dbdad2.js │ ├── manifest.3ad1d5771e9b13dbdad2.js.map │ ├── vendor.ab2ba4e504f2f4e54954.js │ └── vendor.ab2ba4e504f2f4e54954.js.map │ └── music │ └── aa.mp3 ├── index.html ├── package-lock.json ├── package.json ├── src ├── App.vue ├── assets │ ├── foot │ │ ├── jhgc.png │ │ ├── logo_footer.png │ │ ├── picp_bg.png │ │ ├── weifaIcon.png │ │ ├── zhengshu_gongshang.png │ │ └── zhengshu_zhengxin.png │ ├── game_img │ │ ├── img1.jpg │ │ ├── img2.jpg │ │ ├── img3.jpg │ │ ├── img4.jpg │ │ ├── img5.jpg │ │ └── img6.jpg │ ├── head │ │ ├── logo.png │ │ └── platform_header_bg.jpg │ ├── parent_img │ │ ├── MiddleBg.jpg │ │ ├── Tag1.gif │ │ ├── Tag2.gif │ │ ├── Tag3.gif │ │ ├── bg1.jpg │ │ ├── bg2.jpg │ │ └── headline.jpg │ ├── personal_img │ │ └── bg.jpg │ └── register_img │ │ └── register_head.png ├── components │ ├── CoverLayer.vue │ ├── Error.vue │ ├── Foot.vue │ ├── Header.vue │ ├── Login.vue │ ├── Register.vue │ ├── Tips.vue │ ├── bbs │ │ ├── Bbs.vue │ │ ├── NavigationBars.vue │ │ ├── Post.vue │ │ ├── PostsList.vue │ │ ├── PublishPosts.vue │ │ └── Reply.vue │ ├── guardian │ │ └── Guardian.vue │ ├── home │ │ ├── Carousel.vue │ │ ├── GameList.vue │ │ └── Home.vue │ ├── personal_center │ │ └── Personal.vue │ └── voucher_center │ │ ├── LeftMenu.vue │ │ ├── RightTable.vue │ │ └── VoucherView.vue ├── http │ └── index.js ├── main.js ├── router │ └── index.js └── store │ ├── index.js │ ├── login_store.js │ ├── register_store.js │ └── user_data.js └── static ├── .gitkeep ├── bb.mp4 └── music └── aa.mp3 /.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 | -------------------------------------------------------------------------------- /.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 | # gameweb 2 | 3 | > Vue全家桶 游戏门户网站 含社区功能(开发中) 在线预览https://nlh1996.github.io/gameWeb/ 4 | > 该项目后台代码地址https://github.com/nlh1996/goWeb 需要go环境编译运行 5 | 6 | ## Build Setup 7 | 8 | ``` bash 9 | # install dependencies 10 | npm install 11 | 12 | # serve with hot reload at localhost:8080 13 | npm run dev 14 | 15 | # build for production with minification 16 | npm run build 17 | 18 | # build for production and view the bundle analyzer report 19 | npm run build --report 20 | ``` 21 | 22 | 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). 23 | # gameWeb 24 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | theme: jekyll-theme-cayman -------------------------------------------------------------------------------- /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/nlh1996/gameWeb/48b60d81f7a49cb78b69432e1f6b0d1311df8787/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 | publicPath: '../../' 52 | }) 53 | } else { 54 | return ['vue-style-loader'].concat(loaders) 55 | } 56 | } 57 | 58 | // https://vue-loader.vuejs.org/en/configurations/extract-css.html 59 | return { 60 | css: generateLoaders(), 61 | postcss: generateLoaders(), 62 | less: generateLoaders('less'), 63 | sass: generateLoaders('sass', { indentedSyntax: true }), 64 | scss: generateLoaders('sass'), 65 | stylus: generateLoaders('stylus'), 66 | styl: generateLoaders('stylus') 67 | } 68 | } 69 | 70 | // Generate loaders for standalone style files (outside of .vue) 71 | exports.styleLoaders = function (options) { 72 | const output = [] 73 | const loaders = exports.cssLoaders(options) 74 | 75 | for (const extension in loaders) { 76 | const loader = loaders[extension] 77 | output.push({ 78 | test: new RegExp('\\.' + extension + '$'), 79 | use: loader 80 | }) 81 | } 82 | 83 | return output 84 | } 85 | 86 | exports.createNotifierCallback = () => { 87 | const notifier = require('node-notifier') 88 | 89 | return (severity, errors) => { 90 | if (severity !== 'error') return 91 | 92 | const error = errors[0] 93 | const filename = error.file && error.file.split('!').pop() 94 | 95 | notifier.notify({ 96 | title: packageConfig.name, 97 | message: severity + ': ' + error.name, 98 | subtitle: filename || '', 99 | icon: path.join(__dirname, 'logo.png') 100 | }) 101 | } 102 | } 103 | -------------------------------------------------------------------------------- /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 | 8 | function resolve (dir) { 9 | return path.join(__dirname, '..', dir) 10 | } 11 | 12 | module.exports = { 13 | context: path.resolve(__dirname, '../'), 14 | entry: { 15 | app: './src/main.js' 16 | }, 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 | }, 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 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 | // const PrerenderSpaPlugin = require('prerender-spa-plugin') 14 | // const Renderer = PrerenderSpaPlugin.PuppeteerRenderer; 15 | 16 | const env = 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 | 33 | plugins: [ 34 | // new PrerenderSpaPlugin({ 35 | // staticDir: path.resolve(__dirname, '../dist'), 36 | // routes: [ '/', '/register', '/error', '/guardian','/voucherView','/personal','/voucherView/leftMenu','/voucherView/rightTable'], 37 | // renderer: new Renderer({ 38 | // rendererAfterTime: 5000, 39 | // headless: true, 40 | // }) 41 | // }), 42 | 43 | 44 | // http://vuejs.github.io/vue-loader/en/workflow/production.html 45 | new webpack.DefinePlugin({ 46 | 'process.env': env 47 | }), 48 | new UglifyJsPlugin({ 49 | uglifyOptions: { 50 | compress: { 51 | warnings: false 52 | } 53 | }, 54 | sourceMap: config.build.productionSourceMap, 55 | parallel: true 56 | }), 57 | // extract css into its own file 58 | new ExtractTextPlugin({ 59 | filename: utils.assetsPath('css/[name].[contenthash].css'), 60 | // Setting the following option to `false` will not extract CSS from codesplit chunks. 61 | // Their CSS will instead be inserted dynamically with style-loader when the codesplit chunk has been loaded by webpack. 62 | // It's currently set to `true` because we are seeing that sourcemaps are included in the codesplit bundle as well when it's `false`, 63 | // increasing file size: https://github.com/vuejs-templates/webpack/issues/1110 64 | allChunks: true, 65 | }), 66 | // Compress extracted CSS. We are using this plugin so that possible 67 | // duplicated CSS from different components can be deduped. 68 | new OptimizeCSSPlugin({ 69 | cssProcessorOptions: config.build.productionSourceMap 70 | ? { safe: true, map: { inline: false } } 71 | : { safe: true } 72 | }), 73 | // generate dist index.html with correct asset hash for caching. 74 | // you can customize output by editing /index.html 75 | // see https://github.com/ampedandwired/html-webpack-plugin 76 | new HtmlWebpackPlugin({ 77 | filename: config.build.index, 78 | template: 'index.html', 79 | inject: true, 80 | minify: { 81 | removeComments: true, 82 | collapseWhitespace: true, 83 | removeAttributeQuotes: true 84 | // more options: 85 | // https://github.com/kangax/html-minifier#options-quick-reference 86 | }, 87 | // necessary to consistently work with multiple chunks via CommonsChunkPlugin 88 | chunksSortMode: 'dependency' 89 | }), 90 | // keep module.id stable when vendor modules does not change 91 | new webpack.HashedModuleIdsPlugin(), 92 | // enable scope hoisting 93 | new webpack.optimize.ModuleConcatenationPlugin(), 94 | // split vendor js into its own file 95 | new webpack.optimize.CommonsChunkPlugin({ 96 | name: 'vendor', 97 | minChunks (module) { 98 | // any required modules inside node_modules are extracted to vendor 99 | return ( 100 | module.resource && 101 | /\.js$/.test(module.resource) && 102 | module.resource.indexOf( 103 | path.join(__dirname, '../node_modules') 104 | ) === 0 105 | ) 106 | } 107 | }), 108 | // extract webpack runtime and module manifest to its own file in order to 109 | // prevent vendor hash from being updated whenever app bundle is updated 110 | new webpack.optimize.CommonsChunkPlugin({ 111 | name: 'manifest', 112 | minChunks: Infinity 113 | }), 114 | // This instance extracts shared chunks from code splitted chunks and bundles them 115 | // in a separate chunk, similar to the vendor chunk 116 | // see: https://webpack.js.org/plugins/commons-chunk-plugin/#extra-async-commons-chunk 117 | new webpack.optimize.CommonsChunkPlugin({ 118 | name: 'app', 119 | async: 'vendor-async', 120 | children: true, 121 | minChunks: 3 122 | }), 123 | 124 | // copy custom static assets 125 | new CopyWebpackPlugin([ 126 | { 127 | from: path.resolve(__dirname, '../static'), 128 | to: config.build.assetsSubDirectory, 129 | ignore: ['.*'] 130 | } 131 | ]) 132 | ] 133 | }) 134 | 135 | if (config.build.productionGzip) { 136 | const CompressionWebpackPlugin = require('compression-webpack-plugin') 137 | 138 | webpackConfig.plugins.push( 139 | new CompressionWebpackPlugin({ 140 | asset: '[path].gz[query]', 141 | algorithm: 'gzip', 142 | test: new RegExp( 143 | '\\.(' + 144 | config.build.productionGzipExtensions.join('|') + 145 | ')$' 146 | ), 147 | threshold: 10240, 148 | minRatio: 0.8 149 | }) 150 | ) 151 | } 152 | 153 | if (config.build.bundleAnalyzerReport) { 154 | const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin 155 | webpackConfig.plugins.push(new BundleAnalyzerPlugin()) 156 | } 157 | 158 | module.exports = webpackConfig 159 | -------------------------------------------------------------------------------- /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 | '/api':{ 15 | //target: 'http://115.159.77.155:11400', 16 | target: 'http://127.0.0.1:8000', 17 | changeOrigin:true, 18 | pathRewrite: {'^/api':''} 19 | } 20 | }, 21 | 22 | // Various Dev Server settings 23 | host: 'localhost', // can be overwritten by process.env.HOST 24 | port: 8080, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined 25 | autoOpenBrowser: false, 26 | errorOverlay: true, 27 | notifyOnErrors: true, 28 | poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions- 29 | 30 | 31 | /** 32 | * Source Maps 33 | */ 34 | 35 | // https://webpack.js.org/configuration/devtool/#development 36 | devtool: 'cheap-module-eval-source-map', 37 | 38 | // If you have problems debugging vue-files in devtools, 39 | // set this to false - it *may* help 40 | // https://vue-loader.vuejs.org/en/options.html#cachebusting 41 | cacheBusting: true, 42 | 43 | cssSourceMap: true 44 | }, 45 | 46 | build: { 47 | // Template for index.html 48 | index: path.resolve(__dirname, '../dist/index.html'), 49 | 50 | // Paths 51 | assetsRoot: path.resolve(__dirname, '../dist'), 52 | assetsSubDirectory: 'static', 53 | assetsPublicPath: './', 54 | 55 | /** 56 | * Source Maps 57 | */ 58 | 59 | productionSourceMap: true, 60 | // https://webpack.js.org/configuration/devtool/#production 61 | devtool: '#source-map', 62 | 63 | // Gzip off by default as many popular static hosts such as 64 | // Surge or Netlify already gzip all static assets for you. 65 | // Before setting to `true`, make sure to: 66 | // npm install --save-dev compression-webpack-plugin 67 | productionGzip: false, 68 | productionGzipExtensions: ['js', 'css'], 69 | 70 | // Run the build command with an extra argument to 71 | // View the bundle analyzer report after build finishes: 72 | // `npm run build --report` 73 | // Set to `true` or `false` to always turn it on or off 74 | bundleAnalyzerReport: process.env.npm_config_report 75 | } 76 | } 77 | -------------------------------------------------------------------------------- /config/prod.env.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | module.exports = { 3 | NODE_ENV: '"production"' 4 | } 5 | -------------------------------------------------------------------------------- /docs/index.html: -------------------------------------------------------------------------------- 1 | gameweb
-------------------------------------------------------------------------------- /docs/static/bb.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlh1996/gameWeb/48b60d81f7a49cb78b69432e1f6b0d1311df8787/docs/static/bb.mp4 -------------------------------------------------------------------------------- /docs/static/fonts/element-icons.6f0a763.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlh1996/gameWeb/48b60d81f7a49cb78b69432e1f6b0d1311df8787/docs/static/fonts/element-icons.6f0a763.ttf -------------------------------------------------------------------------------- /docs/static/img/bg.5cb6a88.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlh1996/gameWeb/48b60d81f7a49cb78b69432e1f6b0d1311df8787/docs/static/img/bg.5cb6a88.jpg -------------------------------------------------------------------------------- /docs/static/img/bg1.b1d334f.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlh1996/gameWeb/48b60d81f7a49cb78b69432e1f6b0d1311df8787/docs/static/img/bg1.b1d334f.jpg -------------------------------------------------------------------------------- /docs/static/img/bg2.9ee4d13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlh1996/gameWeb/48b60d81f7a49cb78b69432e1f6b0d1311df8787/docs/static/img/bg2.9ee4d13.jpg -------------------------------------------------------------------------------- /docs/static/img/headline.344ac85.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlh1996/gameWeb/48b60d81f7a49cb78b69432e1f6b0d1311df8787/docs/static/img/headline.344ac85.jpg -------------------------------------------------------------------------------- /docs/static/img/img1.14cb90c.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlh1996/gameWeb/48b60d81f7a49cb78b69432e1f6b0d1311df8787/docs/static/img/img1.14cb90c.jpg -------------------------------------------------------------------------------- /docs/static/img/img2.95a79d1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlh1996/gameWeb/48b60d81f7a49cb78b69432e1f6b0d1311df8787/docs/static/img/img2.95a79d1.jpg -------------------------------------------------------------------------------- /docs/static/img/img3.b259777.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlh1996/gameWeb/48b60d81f7a49cb78b69432e1f6b0d1311df8787/docs/static/img/img3.b259777.jpg -------------------------------------------------------------------------------- /docs/static/img/img4.b7608ee.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlh1996/gameWeb/48b60d81f7a49cb78b69432e1f6b0d1311df8787/docs/static/img/img4.b7608ee.jpg -------------------------------------------------------------------------------- /docs/static/img/img5.20dddab.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlh1996/gameWeb/48b60d81f7a49cb78b69432e1f6b0d1311df8787/docs/static/img/img5.20dddab.jpg -------------------------------------------------------------------------------- /docs/static/img/img6.74f29f6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlh1996/gameWeb/48b60d81f7a49cb78b69432e1f6b0d1311df8787/docs/static/img/img6.74f29f6.jpg -------------------------------------------------------------------------------- /docs/static/js/app.cfe251872c85719fe554.js: -------------------------------------------------------------------------------- 1 | webpackJsonp([1],{"/ssr":function(t,e){t.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHwAAAAnCAYAAADNVyyKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MUIzOEI5N0QwMjQzMTFFOEE4OEVBM0VCNTM3Mzc4NzgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MUIzOEI5N0UwMjQzMTFFOEE4OEVBM0VCNTM3Mzc4NzgiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxQjM4Qjk3QjAyNDMxMUU4QTg4RUEzRUI1MzczNzg3OCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoxQjM4Qjk3QzAyNDMxMUU4QTg4RUEzRUI1MzczNzg3OCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PqYxMoAAAAuSSURBVHja7FwLlFZV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"},"0cZh":function(t,e){},"2pje":function(t,e){t.exports="data:image/png;base64,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"},"3fi/":function(t,e){},"5op9":function(t,e){t.exports="data:image/png;base64,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"},"8ZJh":function(t,e){},"9H3a":function(t,e){},D28l:function(t,e){},DHCa:function(t,e){t.exports="data:image/gif;base64,R0lGODlhRAATAOYAAPv+8/n97JG/WqbLd8/ksnGsLWemH/v+8l2fENrqwc/lsrrXlNDks/n+7Pr98e/43pvFafv98tDls4a4S8Xeo+Twz/r+7fv+9OXx0KbLeNrrweTxz/n+7u/33rvXlfr97fn97qbMeLDShbvYlXyyPXyyPqbMd7rYlLDRhXKsL8XepPv98/v98e/43/r+8HKsLtvrxZzFabDShrvXlPr98pzFa9Hlt6fMetHktufx1u/33/v+9bvYmIa5S3GsLsbeqNHlts/ksc/ks6fMe/r97/z+9drqwMXeouXx0ebx0+Xw0Pv+8XKsLbvYmfr98JK/XObx1rDRhsfeqIe4S/D349DktObw1fD45Ie5TZ3FbLHSipG/W7rXldvqxX2yPlyfEPn+7XyyPPr+7vr97vn97VKZAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAABEABMAAAf/gGJjYoSFg2OIhImCgouMjYOKkJGMi5GIl5SZhpeFk4wjEphjDCMehqiDGAwMEpCKgxlKnpaYiqwSErgeIRkZIVNhCYg6CGUvjMZlGI62Yy9l0YewYiPRURph2tvbHCCD0eHi4xmIGdEy28oG2yO2YgLiAp9iYdGr4+KNYgb5CNsGYmRw1cKYARD5xIVAxGFMvDJfvkSbZ0vCRBkJGMiIFkLCQ0QWxnxoMUAighAPLGCIx0THhzEDonkoE0aFvTIeKIQRwgCDBTEtbpZRoUHZCwyF7CGIEU3FQw3wogkiAyaBOB8Fxn2hQKZCtC/2vsyIBmGDxBhkPpChIBHiDLUJ/9oiMPFgLE1jW6MZsEAmaxkLFsCQeZAwnIAHZLqOgyCxQAcyDwmAEfolARjBZDT4LWNAxDih/cIh+GDBGxkRC3S2NcC4MmYBE6IV8FtAKOcHMcvMDrMgMQRtscucqBDGr4CHAgiIg+CtyAEXSAS0FaCATFyIGhJDjqZgcz4UZCZQUF5mwOWbBDaISNyh8YMHtQno1CbAMocdO7JcbTvuBJkF0YSBwgQPQZAVcBtQBQZ5AySG3mWJ+dVPbvmEQdUFF2hRWD7EibMAeQTYEwZmCpJngmA3VUeVV+JQ+FliFwAAxRAlpPCDDSmUUYIDHmyBwheSMRZGDwNsAGAZCoi4wP8AD2AGQTQNkpEihH2xMwAKFECZ2GQ0XbbCCgDcEE0KF5RQhhdS6FUFZhUQoMAAC9wkJU0iUvVAW5ZxiSRmG5wwwAS2maCgiIKtYAUJ4fAAQI4lXPFEODckUdgEcxbQTw9UBWcAhA8KZkJh7GgjkYVgRFBDNAicGg4JAADAgzEI5CCaOEYEYJsItoYThHboaafAV2FA8FCFgtEQAQkkUAGDODW0CgAMWMAAgA05YNhENFwktkBbYXQAhgYS9cZpNJJd1gEB2i0Y4ADs9jMiGA7QQIMDERyAAw5AdLFEBPU662+rPwBxwAFEgEBGAAFQmcARiQVAVQIKKPAYwmAE0AA7VQ1UwC66VC15QsIOhOyAC06EHAELB7BwMr8Dt9yyv8+NcTDCDThcMcIOY7ylwwiT0cDFP2Nm8cUBBAIAOw=="},DhHN:function(t,e){t.exports="data:image/gif;base64,R0lGODlhRAATAOYAAPn+7Lu+svj96xAQD/n+6y8wLLu+sfn97rq+r5uek/r+78rNwOnt3R8gHl5fWdrdzvr+7YyOhC8wLU5PSpuelLu+sLq+sPn+7l5fWPr97W1vaD8/POnt3pyelB8gHauuo21vZz8/O3x/dW5vaNrdz7u+r4uOhF1fWIyOhauuocrOwMrNv+nt3Ojt28nNvl5gWT4/PD5AO8rNvtvd0Kyuo25vadndzunt28nNv31/dZuektndzYuOg/j96fn96n1/dn1/d/r+7vn97fn+7fr97j4/O/j96vn97Pn96wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAABEABMAAAf/gEgEgoODSIeFBACKR0cAjY8AkpJCQ0KVlUOam5ybF59BoaKjoQqhgoeoBImGj42OkY6wAJZHnbe3n0OkvKIKqcDAq0hHh8Wurq+vlEOTuM8Q0b1BptTB1ytFINdHD8pHBj8GR5dC4JaaKkAvz0Mq0dK8CvO/18AVSUXXCQMJDz8Ai+QD8gMICQ1JNHAIEOBDkiQUGAYQEkPCwyQBLl7cQCRUxyBEfPhI5aOExpMP9bEYkCRBkZcNkjR4WWQBA4tAUF4UYlEmkA5JNgAZmgQGkaNIQ4r0YcSIhSQDXhaAKjXfoRQTHmiAKfOlhkYMEjAIB/VDgCIoJgrJCGRtEiBI/4MmRWpkqREB+IoIEPBUL998Ag4FThAwH8AERxb8aLSAZQIhFJJI4CAEiIOBQE9ynEukrsimT6MWmSp6qt6UP3Q+/CGwAAWWBYBMEJjEgZCTHYbq/pmB81KmRhCovqhXYBEbJgAqP/yAwewHGkWzZDihdgAUu3XP8O2ZqXC9wfPd7XvIKu2Ti48wYHDEQQHFCcIl+CCEA0sJNELoDMC5qefwBViAAA9JFIAAAiYAJoB5SURQwYMRJJGeAw38k4QBhl14SU4XUZBBBgLxx9lRTJUY3nBWLVicTumxxEBqGBaRGkP2xaRBCCO8dF8INRDRW1J1/SecByKIcEISROZwZNURTSH5UhIYKIeBhInlc4RAC2RoQBGWRdYWBTpKVsQIGRwwVw9GoOlDDy0g4EJT3zV1QwlvGvFQVAXSNNViEf6QZQNHaNngAxi2VU6I5Ryg6KI9NOqof3CKB6kROyCJg0AVIAFQdREgMdUCU0UQaBERTjVOoRnpBMSijDqKJqQ+yKDNpHfp0IIRIBSxAhIYvIQBC0ikgMERCTjQyA9izZYeWyRkp5ta5QjhKpqvdkcrrfak8s22yphjDjnRhntJENNOy1Sj18IaGDDrGsPtu6+IG20ogQAAOw=="},"E+MT":function(t,e){},GxEa:function(t,e){},NHnr:function(t,e,a){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var s=a("7+uW"),r={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"tips"},[a("el-row",[a("el-col",{attrs:{span:8}},[t._v("\n 健康游戏忠告 \n ")]),t._v(" "),a("el-col",{attrs:{span:8}},[t._v("\n 抵制不良游戏\n ")]),t._v(" "),a("el-col",{attrs:{span:8}},[t._v("\n 拒绝盗版游戏\n ")])],1),t._v(" "),a("el-row",[a("el-col",{attrs:{span:8}},[t._v("\n 注意自我保护\n ")]),t._v(" "),a("el-col",{attrs:{span:8}},[t._v("\n 谨防受骗上当\n ")]),t._v(" "),a("el-col",{attrs:{span:8}},[t._v("\n 适度游戏益脑\n ")])],1),t._v(" "),a("el-row",[a("el-col",{attrs:{span:8}},[t._v("\n 沉迷游戏伤身\n ")]),t._v(" "),a("el-col",{attrs:{span:8}},[t._v("\n 合理安排时间\n ")]),t._v(" "),a("el-col",{attrs:{span:8}},[t._v("\n 享受健康生活\n ")])],1)],1)},staticRenderFns:[]};var n=a("VU/8")({data:function(){return{}}},r,!1,function(t){a("f1jN")},"data-v-62d5d41e",null).exports,i={data:function(){return{url:a("uqtk"),images:[{url:a("cSRT")},{url:a("5op9")},{url:a("xrPK")},{url:a("2pje")},{url:a("pm27")}]}}},l={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"foot"},[a("el-row",{staticClass:"foot-text"},[a("el-col",{attrs:{span:6}},[a("div",{staticClass:"footer-colume"},[a("img",{attrs:{src:t.url}})])]),t._v(" "),a("el-col",{attrs:{span:6}},[a("div",{staticClass:"colume-title"},[t._v("在这里找到我们")]),t._v(" "),a("div",{staticClass:"colume-content"},[t._v("一个前端学习的项目,可以在https://github.com/nlh1996/gameWeb找到该项目。")])]),t._v(" "),a("el-col",{attrs:{span:6}},[a("div",{staticClass:"colume-title"},[t._v("联系我们")]),t._v(" "),a("div",{staticClass:"colume-content"},[t._v("目前有两人参与该项目,QQ群号:806997880")])]),t._v(" "),a("el-col",{attrs:{span:6}},[a("div",{staticClass:"colume-title"},[t._v("友情链接")]),t._v(" "),a("div",{staticClass:"colume-content"},[a("a",{attrs:{href:"https://github.com/nlh1996/gameWeb",target:"_blank"}},[t._v("git地址")])])])],1),t._v(" "),a("el-row",{staticClass:"foot-img"},[a("el-col",[a("a",{attrs:{target:"_blank",rel:"nofollow",href:"http://www.zx110.org/picp/?sn=310104100043687"}},[t._v("备案号:310104100043687")]),t._v(" "),a("a",{attrs:{target:"_blank",rel:"nofollow",href:"http://www.zx110.org/picp/?sn=310104100043687"}},[t._v("备案号:310104100043687")]),t._v(" "),a("a",{attrs:{rel:"nofollow",href:"http://www.miibeian.gov.cn/",target:"_blank"}},[t._v("沪ICP备09058784号")]),t._v(" "),a("a",{attrs:{href:"//pic.youzu.com/youzu/images/layout/net.jpg",target:"_blank"}},[t._v("沪网文[2015]0819-219")]),t._v(" "),a("a",{attrs:{href:"http://pic.youzu.com/youzu/images/layout/publish.jpg",rel:"nofollow",target:"_blank"}},[t._v("新出网证(沪)字33号")]),t._v(" "),a("p",{staticClass:"ft_copyright"},[t._v("xx有限公司 ©版权所有")])]),t._v(" "),a("el-col",[a("ul",t._l(t.images,function(t){return a("li",{key:t.url},[a("router-link",{attrs:{to:"/guardian"}},[a("img",{attrs:{src:t.url}})])],1)}))])],1)],1)},staticRenderFns:[]};var o=a("VU/8")(i,l,!1,function(t){a("8ZJh")},"data-v-fb940fce",null).exports,A={data:function(){return{url:a("/ssr"),navData:[{key:0,name:"首页",router:"home",state:!0},{key:1,name:"充值",router:"voucherView",state:!1},{key:2,name:"论坛",router:"bbs",state:!1},{key:3,name:"个人",router:"personal",state:!1}],slideObject:{left:"0"}}},methods:{setMouseOver:function(t){this.slideObject.left=100*t.key+"px"},setMouseOut:function(){var t=this.navData.filter(function(t){return!0===t.state});this.slideObject.left=100*t[0].key+"px"},setClick:function(t){this.navData.forEach(function(t){t.state=!1}),this.navData.filter(function(e){return e.key===t.key})[0].state=!0}}},c={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"head"},[a("el-row",[a("el-col",{staticClass:"left",attrs:{span:6}},[a("h1",{staticClass:"logo"},[a("img",{staticClass:"“logo__img”",attrs:{src:t.url}})])]),t._v(" "),a("el-col",{staticClass:"right",attrs:{span:18}},[a("ul",{staticClass:"nav clearfix",on:{mouseout:t.setMouseOut}},t._l(t.navData,function(e){return a("li",{key:e.key,staticClass:"nav__item",on:{mouseover:function(a){t.setMouseOver(e)},click:function(a){t.setClick(e)}}},[a("router-link",{staticClass:"nav__item-link",class:{nav__item_current:e.state},attrs:{to:{name:e.router}}},[t._v("\n "+t._s(e.name)+"\n ")])],1)})),t._v(" "),a("span",{staticClass:"slide",style:t.slideObject})])],1)],1)},staticRenderFns:[]};var u=a("VU/8")(A,c,!1,function(t){a("9H3a")},"data-v-ecd311a0",null).exports,m={name:"App",components:{foot:o,tips:n,headlist:u}},v={render:function(){var t=this.$createElement,e=this._self._c||t;return e("div",{attrs:{id:"app"}},[e("div",{staticClass:"header"},[e("headlist")],1),this._v(" "),e("div",{staticClass:"router"},[e("router-view")],1),this._v(" "),e("div",{staticClass:"tips"},[e("tips")],1),this._v(" "),e("hr"),this._v(" "),e("div",{staticClass:"foot"},[e("foot")],1)])},staticRenderFns:[]};var p=a("VU/8")(m,v,!1,function(t){a("Xtox")},null,null).exports,g=a("/ocq"),d={data:function(){var t=this;return{msg:{zhanghao:"",password:"",re_password:"",realname:"",identity_card:"",verification:"",phone_verification:"",phone_number:""},openLoading:!1,rules:{zhanghao:[{validator:function(e,a,s){var r=/^[a-zA-Z][0-9a-zA-Z]{4,19}$/;if(!(a=t.msg.zhanghao.replace(/\s+/g,"")))return s(new Error("账号不能为空!!"));setTimeout(function(){r.test(a)?s():s(new Error("请输入正确格式账号"))},1e3)},trigger:"blur"}],password:[{validator:function(e,a,s){var r=/\s/,n=/^(?:\d+|[a-zA-Z]+|[!@#$%^&*]+){6,20}$/;if(!(a=t.msg.password.replace(/\s+/g,"")))return s(new Error("密码不能为空!!"));setTimeout(function(){r.test(a)&&s(new Error("请不要输入空格")),n.test(a)?s():s(new Error("请输入正确格式密码"))},1e3)},trigger:"blur"}],re_password:[{required:!0,message:"两次输入密码不一致",trigger:"change"},{validator:function(e,a,s){if(!(a=t.msg.re_password))return s(new Error("确认密码不能为空!!"));setTimeout(function(){a!=t.msg.password?s(new Error("两次输入密码不一致")):s()},1e3)},trigger:"blur"}],realname:[{validator:function(e,a,s){if(!(a=t.msg.realname.replace(/\s+/g,"")))return s(new Error("姓名不能为空!!"));setTimeout(function(){!a===t.msg.password?s(new Error("姓名格式错误")):s()},1e3)},trigger:"blur"}],identity_card:[{validator:function(e,a,s){var r=/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;if(!(a=t.msg.identity_card.replace(/\s+/g,"")))return s(new Error("身份证号不能为空!!"));setTimeout(function(){r.test(a)?s():s(new Error("身份证格式错误"))},1e3)},trigger:"blur"}],phone:[{required:!0,validator:function(e,a,s){var r=/^[1][3,4,5,7,8][0-9]{9}$/;if(!(a=t.msg.phone_number.replace(/\s+/g,"")))return s(new Error("手机号码不能为空!!"));setTimeout(function(){r.test(a)?s():s(new Error("格式有误"))},1e3)},trigger:"blur"}]}}},methods:{axiosRegister:function(t){var e=this;this.$refs[t].validate(function(t){if(!t)return console.log("error submit!!"),!1;e.$http.post("/v1/register",{zhanghao:e.msg.zhanghao,password:e.msg.password,realname:e.msg.realname,identity_card:e.msg.identity_card,phone_number:e.msg.phone_number}).then(function(t){if(200==t.status){if("0"!=t.data)return alert("用户名存在!"),!1;console.log("注册成功!"),e.$store.commit("SWITCH_REGISTER")}})})}}},f={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"register"},[a("div",{staticClass:"header"},[a("div",{staticClass:"btn_back"},[a("el-button",{attrs:{type:"text",circle:!0},on:{click:function(e){t.$store.commit("SWITCH_REGISTER")}}})],1)]),t._v(" "),a("div",{staticClass:"tabs"},[a("el-tabs",[a("el-tab-pane",{attrs:{label:"通行证注册"}},[a("div",{staticClass:"table"},[a("el-form",{ref:"msg",staticClass:"demo-ruleForm",attrs:{rules:t.rules,model:t.msg}},[a("el-form-item",{attrs:{label:"",prop:"zhanghao"}},[a("el-tooltip",{staticClass:"item",attrs:{effect:"light",content:"5-20位字母和数字,必须字母开头",placement:"right"}},[a("el-input",{attrs:{placeholder:"账号",maxlength:"20",autofocus:"true"},model:{value:t.msg.zhanghao,callback:function(e){t.$set(t.msg,"zhanghao",e)},expression:"msg.zhanghao"}})],1)],1),t._v(" "),a("el-form-item",{attrs:{label:"",prop:"password"}},[a("el-tooltip",{staticClass:"item",attrs:{effect:"light",content:"6-20个字符,不含空格键",placement:"right"}},[a("el-input",{attrs:{placeholder:"密码",type:"password",maxlength:"20"},model:{value:t.msg.password,callback:function(e){t.$set(t.msg,"password",e)},expression:"msg.password"}})],1)],1),t._v(" "),a("el-form-item",{attrs:{label:"",prop:"re_password"}},[a("el-input",{attrs:{placeholder:"确认密码",type:"password",maxlength:"20"},model:{value:t.msg.re_password,callback:function(e){t.$set(t.msg,"re_password",e)},expression:"msg.re_password"}})],1),t._v(" "),a("el-form-item",{attrs:{label:"",prop:"realname"}},[a("el-tooltip",{staticClass:"item",attrs:{effect:"light",content:"请输入您的姓名,2至4个汉字,例如:张三",placement:"right"}},[a("el-input",{attrs:{placeholder:"真实姓名"},model:{value:t.msg.realname,callback:function(e){t.$set(t.msg,"realname",e)},expression:"msg.realname"}})],1)],1),t._v(" "),a("el-form-item",{attrs:{label:"",prop:"identity_card"}},[a("el-tooltip",{staticClass:"item",attrs:{effect:"light",content:"请准确填写身份证号码",placement:"right"}},[a("el-input",{attrs:{placeholder:"身份证号码"},model:{value:t.msg.identity_card,callback:function(e){t.$set(t.msg,"identity_card",e)},expression:"msg.identity_card"}})],1)],1),t._v(" "),a("el-form-item",{attrs:{label:"",prop:""}},[a("el-input",{attrs:{placeholder:"验证码"},model:{value:t.msg.verification,callback:function(e){t.$set(t.msg,"verification",e)},expression:"msg.verification"}})],1),t._v(" "),a("el-form-item",{attrs:{label:""}},[a("el-radio",{attrs:{label:""}}),a("a",{attrs:{href:"http://www.baidu.com",target:"_blank"}},[t._v("阅读并同意游族通行证注册协议")])],1),t._v(" "),a("el-form-item",{attrs:{label:""}},[a("el-button",{attrs:{type:"warning"},on:{click:function(e){t.axiosRegister("msg")}}},[t._v("快速注册")])],1),t._v(" "),a("el-form-item",{attrs:{label:""}},[t._v("\n 已注册,请"),a("el-button",{attrs:{type:"text"},on:{click:function(e){t.$store.commit("SWITCH_REGISTER")}}},[t._v("登录")])],1)],1)],1)]),t._v(" "),a("el-tab-pane",{attrs:{label:"手机号码注册"}},[a("div",{staticClass:"table"},[a("el-form",{attrs:{rules:t.rules}},[a("el-form-item",{attrs:{label:"",prop:"phone"}},[a("el-input",{attrs:{placeholder:"手机号码"},model:{value:t.msg.phone_number,callback:function(e){t.$set(t.msg,"phone_number",e)},expression:"msg.phone_number"}})],1),t._v(" "),a("el-form-item",{attrs:{label:""}},[a("el-input",{attrs:{placeholder:"验证码"},model:{value:t.msg.verification,callback:function(e){t.$set(t.msg,"verification",e)},expression:"msg.verification"}})],1),t._v(" "),a("el-form-item",{attrs:{label:""}},[a("el-input",{attrs:{placeholder:"手机验证码"},model:{value:t.msg.phone_verification,callback:function(e){t.$set(t.msg,"phone_verification",e)},expression:"msg.phone_verification"}})],1),t._v(" "),a("el-form-item",{attrs:{label:""}},[a("el-input",{attrs:{placeholder:"密码"},model:{value:t.msg.password,callback:function(e){t.$set(t.msg,"password",e)},expression:"msg.password"}})],1),t._v(" "),a("el-form-item",{attrs:{label:""}},[a("el-input",{attrs:{placeholder:"确认密码"},model:{value:t.msg.re_password,callback:function(e){t.$set(t.msg,"re_password",e)},expression:"msg.re_password"}})],1),t._v(" "),a("el-form-item",{attrs:{label:""}},[a("el-input",{attrs:{placeholder:"真实姓名"},model:{value:t.msg.realname,callback:function(e){t.$set(t.msg,"realname",e)},expression:"msg.realname"}})],1),t._v(" "),a("el-form-item",{attrs:{label:""}},[a("el-input",{attrs:{placeholder:"身份证号码"},model:{value:t.msg.identity_card,callback:function(e){t.$set(t.msg,"identity_card",e)},expression:"msg.identity_card"}})],1),t._v(" "),a("el-form-item",{attrs:{label:""}},[a("el-radio",{attrs:{label:""}}),a("a",{attrs:{href:"http://www.baidu.com",target:"_blank"}},[t._v("阅读并同意游族通行证注册协议")])],1),t._v(" "),a("el-form-item",{attrs:{label:""}},[a("el-button",{attrs:{type:"warning",loading:t.openLoading},on:{click:t.axiosRegister}},[t._v("快速注册")])],1),t._v(" "),a("el-form-item",{attrs:{label:""}},[t._v("\n 已注册,请"),a("el-button",{attrs:{type:"text"},on:{click:function(e){t.$store.commit("SWITCH_REGISTER")}}},[t._v("登录")])],1)],1)],1)])],1)],1),t._v(" "),a("div",{staticClass:"clear"})])},staticRenderFns:[]};var h={components:{register:a("VU/8")(d,f,!1,function(t){a("fRAF")},"data-v-a3c74e4a",null).exports}},b={render:function(){var t=this.$createElement,e=this._self._c||t;return e("div",[this.$store.state.register.show?e("div",{staticClass:"zhebi"}):this._e(),this._v(" "),this.$store.state.register.show?e("div",{staticClass:"register"},[e("register")],1):this._e()])},staticRenderFns:[]};var w=a("VU/8")(h,b,!1,function(t){a("D28l")},"data-v-a8b5d13a",null).exports,C={data:function(){return{images:[{url:a("WJZv")},{url:a("nD3m")},{url:a("vIJO")},{url:a("W+zq")},{url:a("n+Tx")},{url:a("vZOf")}]}}},E={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",[a("el-tabs",[a("el-tab-pane",{attrs:{label:"精品推荐"}},[a("ul",{staticClass:"gameList"},t._l(t.images,function(e){return a("li",{key:e.url},[a("span",{staticClass:"gameImg"},[a("img",{attrs:{src:e.url,width:"100%"}})]),t._v(" "),a("span",{staticClass:"gemeName"},[t._v("三十六计")])])}))]),t._v(" "),a("el-tab-pane",{attrs:{label:"敬请期待"}},[a("span",[t._v("404-error!!!")])])],1)],1)},staticRenderFns:[]};var I=a("VU/8")(C,E,!1,function(t){a("wx5c")},"data-v-6a566ed2",null).exports,R={render:function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"block"},[e("el-carousel",{attrs:{height:"300px"}},this._l(this.images,function(t){return e("el-carousel-item",{key:t.url},[e("h3",[e("img",{attrs:{src:t.url,width:"100%"}})])])}))],1)},staticRenderFns:[]};var k=a("VU/8")({data:function(){return{images:[{url:"https://upload.youzu.com/youzu/2018/0822/121741384.png"},{url:"https://upload.youzu.com/youzu/2018/0803/163557031.jpg"},{url:"https://upload.youzu.com/youzu/2018/0808/102022153.jpg"}]}}},R,!1,function(t){a("TQfg")},"data-v-61a4d847",null).exports,y={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",[t.$store.state.login.show?a("el-form",[a("div",{staticClass:"form"},[a("p",[a("strong",[t._v("登录游族通行证")])]),t._v(" "),a("el-form-item",[a("el-row",[a("el-col",{attrs:{span:16}},[a("el-input",{attrs:{placeholder:"账号"},model:{value:t.username,callback:function(e){t.username=e},expression:"username"}}),t._v(" "),a("el-input",{attrs:{placeholder:"密码"},model:{value:t.password,callback:function(e){t.password=e},expression:"password"}})],1),t._v(" "),a("el-col",{attrs:{span:8}},[a("el-button",{staticClass:"button",staticStyle:{height:"80px"},on:{click:t.login}},[a("span",{staticStyle:{color:"white","font-size":"18px"}},[a("strong",[t._v("登录")])])])],1)],1)],1),t._v(" "),a("el-form-item",[a("el-col",{attrs:{span:12}},[a("el-radio"),t._v("记住用户名\n ")],1),t._v(" "),a("el-col",{attrs:{span:12}},[a("el-button",{attrs:{type:"text"}},[t._v("忘记密码?")])],1)],1),t._v(" "),a("el-form-item",[a("el-button",{attrs:{type:"success"},on:{click:function(e){t.$store.commit("SWITCH_REGISTER")}}},[t._v("免费注册")])],1),t._v(" "),a("el-form-item",[a("span",[t._v("其他方式登录")])])],1)]):a("el-form",{attrs:{model:t.form}},[a("div",{staticClass:"form"},[a("p",[a("strong",[t._v("欢迎回来")])]),t._v(" "),a("el-form-item",[a("el-col",{attrs:{span:12}},[a("img",{staticStyle:{width:"80px"},attrs:{src:t.form.headImg}})]),t._v(" "),a("el-col",{attrs:{span:12}},[a("h3",[t._v(t._s(t.form.userName))])])],1),t._v(" "),a("el-form-item",{attrs:{label:"贴子数:"}},[t._v(t._s(t.form.postsNum))]),t._v(" "),a("el-form-item",{attrs:{label:"我的回复:"}},[t._v(t._s(t.form.myReply))]),t._v(" "),a("el-form-item",{attrs:{label:"收到回复:"}},[t._v(t._s(t.form.receivedReply))]),t._v(" "),a("el-form-item",{attrs:{label:"我的收藏"}},[t._v(t._s(t.form.myCollect))])],1)])],1)},staticRenderFns:[]};var D=a("VU/8")({data:function(){return{username:"",password:""}},computed:{form:function(){return this.$store.state.login.userdata||""}},methods:{login:function(){this.$store.dispatch("login",this.username,this.password)}}},y,!1,function(t){a("0cZh")},"data-v-63fd6af5",null).exports,G={name:"home",components:{gamelist:I,carousel:k,login:D,coverLayer:w}},W={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"home"},[a("el-row",[a("div",[a("el-col",{attrs:{span:24}},[a("carousel")],1)],1)]),t._v(" "),a("el-row",[a("el-col",{attrs:{span:18}},[a("div",[a("gamelist")],1)]),t._v(" "),a("el-col",{attrs:{span:6}},[a("div",{staticClass:"login"},[a("login")],1)])],1),t._v(" "),a("el-row",[a("div",{staticClass:"extend"},[a("el-col",{attrs:{span:6}},[a("div",{staticClass:"extend-content"},[t._v("海外平台")])]),t._v(" "),a("el-col",{attrs:{span:6}},[a("div",{staticClass:"extend-content"},[t._v("客户服务")])]),t._v(" "),a("el-col",{attrs:{span:6}},[a("div",{staticClass:"extend-content"},[t._v("游戏美女")])]),t._v(" "),a("el-col",{attrs:{span:6}},[a("div",{staticClass:"extend-content"},[a("router-link",{attrs:{to:"/guardian",target:"_blank"}},[t._v("未成年人监护")])],1)])],1)]),t._v(" "),a("div",[a("cover-layer")],1)],1)},staticRenderFns:[]};var B=a("VU/8")(G,W,!1,function(t){a("Vu62")},"data-v-539081d5",null).exports,x={render:function(){var t=this.$createElement,e=this._self._c||t;return e("div",[this._v("\n "+this._s(this.msg)+"\n "),e("router-link",{attrs:{to:"/"}},[this._v("返回首页")])],1)},staticRenderFns:[]};var N=a("VU/8")({data:function(){return{msg:"404-error!!!"}}},x,!1,function(t){a("zdML")},"data-v-2f59a1a2",null).exports,j={data:function(){return{headimgs:[{url:a("DHCa")},{url:a("fGtI")},{url:a("DhHN")}],headline_url:a("W/1A"),bg1_url:a("QKDa"),bg2_url:a("bvKp")}},components:{headlist:u}},M={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("diV",{staticClass:"view"},[a("div",{staticClass:"headimg"}),t._v(" "),a("div",{staticClass:"aa"},[a("div",{staticClass:"left"},[a("div",{staticClass:"text"},[a("p",[t._v(" 卷首语:“网络游戏未成年人家长监护工程”是一项由游族网络等众多网络游戏企业共同发起并参与实施,\n 由中华人民共和国文化部指导,旨在加强家长对未成年人参与网络游戏的监护,引导未成年人健康、绿\n 色参与网络游戏,和谐家庭关系的社会性公益行动。")]),t._v(" "),a("p",[t._v("“家长监护工程”是游族在这一公益行动中,针对目前未成年人缺乏自控及自律能力,容易陷入沉迷;\n 少数监护人缺少时间照顾孩子,不能及时监督孩子游戏时间的现状,而推出的一种可由\n 家长实施监控,纠正部分未成年子女沉迷游戏的保护机制。")])]),t._v(" "),a("div",{staticClass:"bg1"}),t._v(" "),a("div",{staticClass:"bg2"})]),t._v(" "),a("div",{staticClass:"right"},[a("div",{staticClass:"right-title"},[a("p",[t._v("服务方式")])]),t._v(" "),a("div",{staticClass:"right-content"},[a("p",[t._v("客服邮箱:ts@youzu.com")]),t._v(" "),a("p",[t._v("专线电话:021-54623159")]),t._v(" "),a("p",[t._v("客服电话:400 668 9919")]),t._v(" "),a("p",[t._v("客服传真:021-33676520")])])]),t._v(" "),a("div",{staticClass:"vedio"},[a("video",{attrs:{src:"/static/bb.mp4",autoplay:"",width:"400px",controls:""}})])]),t._v(" "),a("br",{staticClass:"clear"})])},staticRenderFns:[]};var Y=a("VU/8")(j,M,!1,function(t){a("GxEa")},"data-v-100ef035",null).exports,z={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",[a("el-form",{ref:"form",attrs:{model:t.form,"label-width":"120px","label-position":"left"}},[a("el-form-item",{attrs:{label:"充值到:"}},[a("el-col",{attrs:{span:10}},[a("el-radio-group",[a("el-radio-button",{attrs:{label:"U币"}}),t._v(" "),a("el-radio-button",{attrs:{label:"游戏"}}),t._v(" "),a("el-radio-button",{attrs:{label:"游米"}})],1)],1)],1),t._v(" "),a("el-form-item",{attrs:{label:"充入账号:"}},[a("el-col",{attrs:{span:8}},[a("el-input",{attrs:{placeholder:"账号"},model:{value:t.form.zhanghao,callback:function(e){t.$set(t.form,"zhanghao",e)},expression:"form.zhanghao"}})],1)],1),t._v(" "),a("el-form-item",{attrs:{label:"选择游戏:"}},[a("el-col",{attrs:{span:10}},[a("el-select",{attrs:{placeholder:"选择充值游戏"},model:{value:t.form.region,callback:function(e){t.$set(t.form,"region",e)},expression:"form.region"}},[a("el-option",{attrs:{label:"游戏一",value:""}}),t._v(" "),a("el-option",{attrs:{label:"游戏二",value:""}})],1),t._v(" "),a("el-select",{attrs:{placeholder:"选择充值服务器"},model:{value:t.form.region,callback:function(e){t.$set(t.form,"region",e)},expression:"form.region"}},[a("el-option",{attrs:{label:"区一",value:""}}),t._v(" "),a("el-option",{attrs:{label:"区二",value:""}})],1)],1)],1),t._v(" "),a("el-form-item",{attrs:{label:"角色名:"}},[a("el-col",{attrs:{span:8}},[a("el-input",{model:{value:t.form.name,callback:function(e){t.$set(t.form,"name",e)},expression:"form.name"}}),t._v("确认您要充值的角色是否正确\n ")],1)],1),t._v(" "),a("el-form-item",{attrs:{label:"手机号码:"}},[a("el-col",{attrs:{span:8}},[a("el-input",{attrs:{placeholder:"输入手机号"}}),t._v("若遇到充值异常,方便客服第一时间与您取得联系\n ")],1)],1),t._v(" "),a("el-form-item",{attrs:{label:"选择充值金额:"}},[a("el-row",[a("el-col",{attrs:{span:20}},[a("el-radio-group",[a("el-radio-button",{attrs:{label:"10元"}}),t._v(" "),a("el-radio-button",{attrs:{label:"50元"}}),t._v(" "),a("el-radio-button",{attrs:{label:"100元"}}),t._v(" "),a("el-radio-button",{attrs:{label:"500元"}}),t._v(" "),a("el-radio-button",{attrs:{label:"1000元"}})],1)],1)],1),t._v(" "),a("el-row",[a("el-col",{attrs:{span:6}},[a("el-input",{attrs:{placeholder:"其他金额"}}),t._v("单笔充值最少10元\n ")],1)],1)],1),t._v(" "),a("el-form-item",{attrs:{label:"将获得: "}}),t._v(" "),a("el-form-item",{attrs:{label:"选择银行卡:"}}),t._v(" "),a("hr"),t._v(" "),a("el-button",{staticClass:"button",staticStyle:{width:"255px",height:"50px"}},[a("strong",{staticStyle:{color:"white","font-size":"16px"}},[t._v("立即支付")])])],1)],1)},staticRenderFns:[]};var T=a("VU/8")({data:function(){return{form:{name:"你的名字",zhanghao:""}}},mounted:function(){}},z,!1,function(t){a("tFSg")},"data-v-32068971",null).exports,S=a("3/yV"),O={data:function(){return{}},components:{CircleMenu:a.n(S).a}},Q={render:function(){this.$createElement;this._self._c;return this._m(0)},staticRenderFns:[function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",[a("div",{staticClass:"leftMenu"},[a("ul",[a("li",[a("div",{staticClass:"block"},[a("span",[t._v("选择充值方式")])])]),t._v(" "),a("li",[a("div",{staticClass:"block"},[t._v("网上银行")])]),t._v(" "),a("li",[a("div",{staticClass:"block"},[t._v("支付宝")])]),t._v(" "),a("li",[a("div",{staticClass:"block"},[t._v("微信支付")])]),t._v(" "),a("li",[a("div",{staticClass:"block"},[t._v("手机固话充值")])]),t._v(" "),a("li",[a("div",{staticClass:"block"},[t._v("游戏点卡充值")])]),t._v(" "),a("li",[a("div",{staticClass:"block"},[t._v("客服电话")])]),t._v(" "),a("li",[a("div",{staticClass:"block"},[t._v("未成年人监护工程")])]),t._v(" "),a("li",[a("div",{staticClass:"block"},[t._v("实名制信息补填")])])])])])}]};var L={name:"voucherView",data:function(){return{}},components:{rightTable:T,leftMenu:a("VU/8")(O,Q,!1,function(t){a("WBLW")},"data-v-601dd178",null).exports}},Z={render:function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"voucher"},[e("diV",{staticClass:"view"},[e("div",{staticClass:"left"},[e("leftMenu")],1),this._v(" "),e("div",{staticClass:"right"},[e("rightTable")],1),this._v(" "),e("div",{staticClass:"clear"})])],1)},staticRenderFns:[]};var H=a("VU/8")(L,Z,!1,function(t){a("hiKo")},"data-v-748e644f",null).exports,U={data:function(){return{}},components:{login:D,coverLayer:w}},P={render:function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"view"},[e("div",{staticClass:"login"},[e("login")],1),this._v(" "),e("cover-layer"),this._v(" "),this._m(0)],1)},staticRenderFns:[function(){var t=this.$createElement,e=this._self._c||t;return e("div",[e("audio",{attrs:{id:"audio",src:"/static/music/aa.mp3",preload:"auto",autoplay:"",loop:""}})])}]};var J=a("VU/8")(U,P,!1,function(t){a("RHL0")},"data-v-93e64b16",null).exports,F={data:function(){return{categories:[{router:"/bbs/new",title:"最新"},{router:"/bbs/hot",title:"热门"},{router:"/bbs/myposts",title:"我的贴子"}]}},methods:{goTop:function(){document.documentElement.scrollTop=0}}},V={render:function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"nav"},[a("nav",[a("ul",{staticClass:"nav-list"},t._l(t.categories,function(e,s){return a("li",{key:s,staticClass:"nav-item"},[a("router-link",{attrs:{to:e.router}},[a("div",[t._v(t._s(e.title))])])],1)}))]),t._v(" "),t._m(0),t._v(" "),a("button",{staticClass:"to-top-btn",attrs:{title:"回到顶部"},on:{click:t.goTop}})])},staticRenderFns:[function(){var t=this.$createElement,e=this._self._c||t;return e("button",{staticClass:"btn btn-default",attrs:{id:"create-topic","data-ember-action":"1000"}},[e("i",{staticClass:"fa fa-plus"}),this._v("新主题")])}]};var X={components:{login:D,postsList:a("VU/8")(null,null,!1,null,null,null).exports,publishPosts:a("VU/8")(null,null,!1,null,null,null).exports,navigationBars:a("VU/8")(F,V,!1,function(t){a("3fi/")},"data-v-5e2a3a3a",null).exports,coverLayer:w}},q={render:function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"bbs"},[e("div",{staticClass:"nav"},[e("navigation-bars")],1),this._v(" "),e("div",{staticClass:"clear"}),this._v(" "),e("div",{staticClass:"login"},[e("login")],1),this._v(" "),e("cover-layer"),this._v(" "),e("div",{staticClass:"clear"})],1)},staticRenderFns:[]};var K=a("VU/8")(X,q,!1,function(t){a("E+MT")},"data-v-1d4b4c68",null).exports;s.default.use(g.a);var _=new g.a({routes:[{path:"/",name:"home",component:B},{path:"/error",name:"error",component:N},{path:"/guardian",name:"guardian",component:Y},{path:"/voucherView",name:"voucherView",component:H},{path:"/personal",name:"personal",component:J},{path:"/bbs",name:"bbs",component:K}],scrollBehavior:function(t,e,a){return{x:0,y:0}}}),$=a("zL8q"),tt=a.n($),et=(a("tvR6"),a("NYxO")),at=a("//Fk"),st=a.n(at),rt=a("mtWM"),nt=a.n(rt),it=a("mw3O"),lt=a.n(it),ot=void 0,At={},ct=nt.a.CancelToken;nt.a.interceptors.request.use(function(t){return At[t.url]?(At[t.url]("操作取消"),At[t.url]=ot):At[t.url]=ot,t},function(t){return st.a.reject(t)}),nt.a.interceptors.response.use(function(t){return t},function(t){if(t&&t.response)switch(t.response.status){case 400:t.message="错误请求";break;case 401:t.message="未授权,请重新登录";break;case 403:t.message="拒绝访问";break;case 404:t.message="请求错误,未找到该资源";break;case 405:t.message="请求方法未允许";break;case 408:t.message="请求超时";break;case 500:t.message="服务器端出错";break;case 501:t.message="网络未实现";break;case 502:t.message="网络错误";break;case 503:t.message="服务不可用";break;case 504:t.message="网络超时";break;case 505:t.message="http版本不支持该请求";break;default:t.message="连接错误"+t.response.status}else t.message="连接到服务器失败";return alert(t.message),st.a.resolve(t.response)}),nt.a.defaults.baseURL="api",nt.a.defaults.headers={"X-Requested-With":"XMLHttpRequest"},nt.a.defaults.timeout=1e4;var ut={get:function(t,e){return new st.a(function(a,s){nt()({method:"get",url:t,params:e,cancelToken:new ct(function(t){ot=t})}).then(function(t){a(t)})})},post:function(t,e){return new st.a(function(a,s){nt()({method:"post",url:t,data:lt.a.stringify(e),headers:{"X-Requested-With":"XMLHttpRequest","Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"},cancelToken:new ct(function(t){ot=t})}).then(function(t){a(t)})})}},mt={state:{show:!0,userdata:{}},mutations:{SWITCH_LOGIN:function(t){t.userdata&&(t.show=!t.show)},USER_LOGIN:function(t,e){t.userdata=e}},actions:{login:function(t,e,a){var s=t.commit;ut.post("/v1/login",{userName:e,passWord:a}).then(function(t){s("USER_LOGIN",{userName:"萌妹子",postsNum:"100",headImg:"https://ss0.baidu.com/6ONWsjip0QIZ8tyhnq/it/u=2564997198,4187947589&fm=58"})}),s("SWITCH_LOGIN")}}};s.default.use(et.a);var vt=new et.a.Store({strict:!0,modules:{register:{state:{show:!1},mutations:{SWITCH_REGISTER:function(t){t.show=!t.show}},actions:{}},login:mt}});s.default.config.productionTip=!1,s.default.prototype.$http=ut,s.default.use(tt.a),new s.default({el:"#app",router:_,store:vt,components:{App:p},template:""})},QKDa:function(t,e,a){t.exports=a.p+"static/img/bg1.b1d334f.jpg"},RHL0:function(t,e){},TQfg:function(t,e){},Vu62:function(t,e){},"W+zq":function(t,e,a){t.exports=a.p+"static/img/img4.b7608ee.jpg"},"W/1A":function(t,e,a){t.exports=a.p+"static/img/headline.344ac85.jpg"},WBLW:function(t,e){},WJZv:function(t,e,a){t.exports=a.p+"static/img/img1.14cb90c.jpg"},Xtox:function(t,e){},bvKp:function(t,e,a){t.exports=a.p+"static/img/bg2.9ee4d13.jpg"},cSRT:function(t,e){t.exports="data:image/png;base64,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"},f1jN:function(t,e){},fGtI:function(t,e){t.exports="data:image/gif;base64,R0lGODlhRAATANUAABAQD/n96nx/drq+r/n97rq+sC8wLHx/dR8gHfn+65uek7u+r21vZ8rNwNrdzouOg/n+7W1vaF1fWC8wLR8gHk5PSj4/Ount3cnNvpuekn1/ddndzejt27u+soyOg15fWYyOhOjt3KquocrNv+nt26uuount3MnNv15fWE5PSdrdzent3ru+sfn+7Lu+sPj9631/dvj96T4/O/j96vn96/n97fn97AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAABEABMAAAb/QEJtSCwaj0ZIy8a0tZZOJvTZotGoiYT1SctarV4aQYgsm2vNtDr9bbtpzLd3PD4XmcO1fm97+/9fdWRHETINRHg1DmowMHxqDjAKViYulpeYf3Y1MjcdRisyBhcKjTA3N6YKNqitqC42LDcyVi6utzdvMwFInbiuLDanFYUyvsYyETTIxgA3BS+2tDS2CALX1zAINy8vATQzL1a9NxPN5efBNjIKDcioyA19bZ0u1LM0AQM31tjX291mCBxI7hOnG+o6qWMSqREqU4sUMHNW4J4Mbwt+tZJRYSDBI53MyXAm0hmLUwg1orIhAVdFaeIyGuhGU+AGAAY8CoSQxwYa/18qWSiggLCEqaMw7HWquEucRSsknKlkoHMGBDw+1yFkopDr1lMsZP2y0glFNgEOaBSYtWvGgBTMmDHgULUnkU4gwhq4kZfF3mBgZRmwxMLFXitSXbkIkFEG4wMaNByYPLklgsl1IVzNClQjCxqnLGms5aJAARcUZ6x1fEClq6pSoGj90IgobRhEAd8wwIDf0W1uBKJaoI/thgELnD0YwPzBbuYxokt3IttGAxYXvKq7nh1lhRsAJuayosKSB1QBZjQeGCADv4HOJUifH+PJo3pw0rRkII1aIwAAWBHAeRsJtI9jHmWAwT6tPDADfdFRF8UahTTgxgshTDKCDAy8UD4AMiLQdAIycwmEAYdVCWTBig/EIBCEEk6xx4U01RhQODimqGN0D0IIo31LVDfPPG3YKNALOiZZFY89+ihdEAA7"},fRAF:function(t,e){},hiKo:function(t,e){},"n+Tx":function(t,e,a){t.exports=a.p+"static/img/img5.20dddab.jpg"},nD3m:function(t,e,a){t.exports=a.p+"static/img/img2.95a79d1.jpg"},pm27:function(t,e){t.exports="data:image/png;base64,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"},tFSg:function(t,e){},tvR6:function(t,e){},uqtk:function(t,e){t.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIcAAAAoCAYAAADUrekxAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo5OWYyNGU5ZS03ZTIxLWI3NGQtOGRhYS0wYjQ2YzFhYjQ0NWIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDNFMTkxNjU1QjE0MTFFNzgzMDVBMzVGMkI1RkJCNDciIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDNFMTkxNjQ1QjE0MTFFNzgzMDVBMzVGMkI1RkJCNDciIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6ZWE5YzRjYjAtYjNiMS1lNDRmLTgzMjctNmFmZGRlNTUwNzQ2IiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6NTM0MWY3YjgtNDEzMy0xMWU3LTkzM2Yt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"},vIJO:function(t,e,a){t.exports=a.p+"static/img/img3.b259777.jpg"},vZOf:function(t,e,a){t.exports=a.p+"static/img/img6.74f29f6.jpg"},wx5c:function(t,e){},xrPK:function(t,e){t.exports="data:image/png;base64,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"},zdML:function(t,e){}},["NHnr"]); 2 | //# sourceMappingURL=app.cfe251872c85719fe554.js.map -------------------------------------------------------------------------------- /docs/static/js/manifest.3ad1d5771e9b13dbdad2.js: -------------------------------------------------------------------------------- 1 | !function(r){var n=window.webpackJsonp;window.webpackJsonp=function(e,u,c){for(var f,i,p,a=0,l=[];a 2 | 3 | 4 | 5 | 7 | gameweb 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "gameweb", 3 | "version": "1.0.0", 4 | "description": "A Vue.js project", 5 | "author": "nlh1996 <1217286494@qq.com>", 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 | "axios": "^0.18.0", 14 | "copy-webpack-plugin": "^4.5.2", 15 | "element-ui": "^2.4.6", 16 | "prerender-spa-plugin": "^3.4.0", 17 | "vue": "^2.5.2", 18 | "vue-circle-menu": "^1.1.1", 19 | "vue-router": "^3.0.1", 20 | "vuex": "^3.0.1" 21 | }, 22 | "devDependencies": { 23 | "autoprefixer": "^7.1.2", 24 | "babel-core": "^6.22.1", 25 | "babel-helper-vue-jsx-merge-props": "^2.0.3", 26 | "babel-loader": "^7.1.1", 27 | "babel-plugin-syntax-jsx": "^6.18.0", 28 | "babel-plugin-transform-runtime": "^6.22.0", 29 | "babel-plugin-transform-vue-jsx": "^3.5.0", 30 | "babel-preset-env": "^1.3.2", 31 | "babel-preset-stage-2": "^6.22.0", 32 | "chalk": "^2.0.1", 33 | "css-loader": "^0.28.0", 34 | "extract-text-webpack-plugin": "^3.0.0", 35 | "file-loader": "^1.1.4", 36 | "friendly-errors-webpack-plugin": "^1.6.1", 37 | "html-webpack-plugin": "^2.30.1", 38 | "less": "^3.8.1", 39 | "less-loader": "^4.1.0", 40 | "node-notifier": "^5.1.2", 41 | "optimize-css-assets-webpack-plugin": "^3.2.0", 42 | "ora": "^1.2.0", 43 | "portfinder": "^1.0.13", 44 | "postcss-import": "^11.0.0", 45 | "postcss-loader": "^2.0.8", 46 | "postcss-url": "^7.2.1", 47 | "rimraf": "^2.6.0", 48 | "semver": "^5.3.0", 49 | "shelljs": "^0.7.6", 50 | "uglifyjs-webpack-plugin": "^1.1.1", 51 | "url-loader": "^0.5.8", 52 | "vue-loader": "^13.3.0", 53 | "vue-style-loader": "^3.0.1", 54 | "vue-template-compiler": "^2.5.2", 55 | "webpack": "^3.6.0", 56 | "webpack-bundle-analyzer": "^2.9.0", 57 | "webpack-dev-server": "^2.9.1", 58 | "webpack-merge": "^4.1.0" 59 | }, 60 | "engines": { 61 | "node": ">= 6.0.0", 62 | "npm": ">= 3.0.0" 63 | }, 64 | "browserslist": [ 65 | "> 1%", 66 | "last 2 versions", 67 | "not ie <= 8" 68 | ] 69 | } 70 | -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 24 | 25 | 41 | 42 | 72 | -------------------------------------------------------------------------------- /src/assets/foot/jhgc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlh1996/gameWeb/48b60d81f7a49cb78b69432e1f6b0d1311df8787/src/assets/foot/jhgc.png -------------------------------------------------------------------------------- /src/assets/foot/logo_footer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlh1996/gameWeb/48b60d81f7a49cb78b69432e1f6b0d1311df8787/src/assets/foot/logo_footer.png -------------------------------------------------------------------------------- /src/assets/foot/picp_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlh1996/gameWeb/48b60d81f7a49cb78b69432e1f6b0d1311df8787/src/assets/foot/picp_bg.png -------------------------------------------------------------------------------- /src/assets/foot/weifaIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlh1996/gameWeb/48b60d81f7a49cb78b69432e1f6b0d1311df8787/src/assets/foot/weifaIcon.png -------------------------------------------------------------------------------- /src/assets/foot/zhengshu_gongshang.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlh1996/gameWeb/48b60d81f7a49cb78b69432e1f6b0d1311df8787/src/assets/foot/zhengshu_gongshang.png -------------------------------------------------------------------------------- /src/assets/foot/zhengshu_zhengxin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlh1996/gameWeb/48b60d81f7a49cb78b69432e1f6b0d1311df8787/src/assets/foot/zhengshu_zhengxin.png -------------------------------------------------------------------------------- /src/assets/game_img/img1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlh1996/gameWeb/48b60d81f7a49cb78b69432e1f6b0d1311df8787/src/assets/game_img/img1.jpg -------------------------------------------------------------------------------- /src/assets/game_img/img2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlh1996/gameWeb/48b60d81f7a49cb78b69432e1f6b0d1311df8787/src/assets/game_img/img2.jpg -------------------------------------------------------------------------------- /src/assets/game_img/img3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlh1996/gameWeb/48b60d81f7a49cb78b69432e1f6b0d1311df8787/src/assets/game_img/img3.jpg -------------------------------------------------------------------------------- /src/assets/game_img/img4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlh1996/gameWeb/48b60d81f7a49cb78b69432e1f6b0d1311df8787/src/assets/game_img/img4.jpg -------------------------------------------------------------------------------- /src/assets/game_img/img5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlh1996/gameWeb/48b60d81f7a49cb78b69432e1f6b0d1311df8787/src/assets/game_img/img5.jpg -------------------------------------------------------------------------------- /src/assets/game_img/img6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlh1996/gameWeb/48b60d81f7a49cb78b69432e1f6b0d1311df8787/src/assets/game_img/img6.jpg -------------------------------------------------------------------------------- /src/assets/head/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlh1996/gameWeb/48b60d81f7a49cb78b69432e1f6b0d1311df8787/src/assets/head/logo.png -------------------------------------------------------------------------------- /src/assets/head/platform_header_bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlh1996/gameWeb/48b60d81f7a49cb78b69432e1f6b0d1311df8787/src/assets/head/platform_header_bg.jpg -------------------------------------------------------------------------------- /src/assets/parent_img/MiddleBg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlh1996/gameWeb/48b60d81f7a49cb78b69432e1f6b0d1311df8787/src/assets/parent_img/MiddleBg.jpg -------------------------------------------------------------------------------- /src/assets/parent_img/Tag1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlh1996/gameWeb/48b60d81f7a49cb78b69432e1f6b0d1311df8787/src/assets/parent_img/Tag1.gif -------------------------------------------------------------------------------- /src/assets/parent_img/Tag2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlh1996/gameWeb/48b60d81f7a49cb78b69432e1f6b0d1311df8787/src/assets/parent_img/Tag2.gif -------------------------------------------------------------------------------- /src/assets/parent_img/Tag3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlh1996/gameWeb/48b60d81f7a49cb78b69432e1f6b0d1311df8787/src/assets/parent_img/Tag3.gif -------------------------------------------------------------------------------- /src/assets/parent_img/bg1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlh1996/gameWeb/48b60d81f7a49cb78b69432e1f6b0d1311df8787/src/assets/parent_img/bg1.jpg -------------------------------------------------------------------------------- /src/assets/parent_img/bg2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlh1996/gameWeb/48b60d81f7a49cb78b69432e1f6b0d1311df8787/src/assets/parent_img/bg2.jpg -------------------------------------------------------------------------------- /src/assets/parent_img/headline.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlh1996/gameWeb/48b60d81f7a49cb78b69432e1f6b0d1311df8787/src/assets/parent_img/headline.jpg -------------------------------------------------------------------------------- /src/assets/personal_img/bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlh1996/gameWeb/48b60d81f7a49cb78b69432e1f6b0d1311df8787/src/assets/personal_img/bg.jpg -------------------------------------------------------------------------------- /src/assets/register_img/register_head.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlh1996/gameWeb/48b60d81f7a49cb78b69432e1f6b0d1311df8787/src/assets/register_img/register_head.png -------------------------------------------------------------------------------- /src/components/CoverLayer.vue: -------------------------------------------------------------------------------- 1 | 10 | 11 | 19 | 20 | -------------------------------------------------------------------------------- /src/components/Error.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 17 | 18 | -------------------------------------------------------------------------------- /src/components/Foot.vue: -------------------------------------------------------------------------------- 1 | 41 | 42 | 58 | 59 | -------------------------------------------------------------------------------- /src/components/Header.vue: -------------------------------------------------------------------------------- 1 | 39 | 40 | 76 | 77 | -------------------------------------------------------------------------------- /src/components/Login.vue: -------------------------------------------------------------------------------- 1 | 56 | 57 | 101 | 102 | -------------------------------------------------------------------------------- /src/components/Register.vue: -------------------------------------------------------------------------------- 1 | 98 | 99 | 274 | 275 | -------------------------------------------------------------------------------- /src/components/Tips.vue: -------------------------------------------------------------------------------- 1 | 42 | 43 | 51 | 52 | -------------------------------------------------------------------------------- /src/components/bbs/Bbs.vue: -------------------------------------------------------------------------------- 1 | //论坛主体 2 | 12 | 13 | 29 | 30 | -------------------------------------------------------------------------------- /src/components/bbs/NavigationBars.vue: -------------------------------------------------------------------------------- 1 | 19 | 20 | 38 | 39 | -------------------------------------------------------------------------------- /src/components/bbs/Post.vue: -------------------------------------------------------------------------------- 1 | //单个贴子组件 -------------------------------------------------------------------------------- /src/components/bbs/PostsList.vue: -------------------------------------------------------------------------------- 1 | //贴子排版 -------------------------------------------------------------------------------- /src/components/bbs/PublishPosts.vue: -------------------------------------------------------------------------------- 1 | //发布贴子组件 -------------------------------------------------------------------------------- /src/components/bbs/Reply.vue: -------------------------------------------------------------------------------- 1 | //回复组件 -------------------------------------------------------------------------------- /src/components/guardian/Guardian.vue: -------------------------------------------------------------------------------- 1 | // 监护人组件 2 | 45 | 46 | 66 | 67 | -------------------------------------------------------------------------------- /src/components/home/Carousel.vue: -------------------------------------------------------------------------------- 1 | 12 | 13 | 27 | 28 | 36 | 37 | -------------------------------------------------------------------------------- /src/components/home/GameList.vue: -------------------------------------------------------------------------------- 1 | 21 | 22 | 38 | 39 | -------------------------------------------------------------------------------- /src/components/home/Home.vue: -------------------------------------------------------------------------------- 1 | 41 | 42 | 57 | 58 | -------------------------------------------------------------------------------- /src/components/personal_center/Personal.vue: -------------------------------------------------------------------------------- 1 | 13 | 14 | 28 | 29 | -------------------------------------------------------------------------------- /src/components/voucher_center/LeftMenu.vue: -------------------------------------------------------------------------------- 1 | 38 | 39 | 51 | 52 | -------------------------------------------------------------------------------- /src/components/voucher_center/RightTable.vue: -------------------------------------------------------------------------------- 1 | 77 | 78 | 93 | 94 | -------------------------------------------------------------------------------- /src/components/voucher_center/VoucherView.vue: -------------------------------------------------------------------------------- 1 | 16 | 17 | 33 | 34 | -------------------------------------------------------------------------------- /src/http/index.js: -------------------------------------------------------------------------------- 1 | //引入axios 2 | import axios from 'axios' 3 | import qs from 'qs' 4 | 5 | //重复请求取消 6 | let cancel ,promiseArr = {} 7 | const CancelToken = axios.CancelToken; 8 | //请求拦截器 9 | axios.interceptors.request.use(config => { 10 | //发起请求时,取消掉当前正在进行的相同请求 11 | if (promiseArr[config.url]) { 12 | promiseArr[config.url]('操作取消') 13 | promiseArr[config.url] = cancel 14 | } else { 15 | promiseArr[config.url] = cancel 16 | } 17 | return config 18 | }, error => { 19 | return Promise.reject(error) 20 | }) 21 | 22 | //响应拦截器即异常处理 23 | axios.interceptors.response.use(response => { 24 | return response 25 | }, err => { 26 | if (err && err.response) { 27 | switch (err.response.status) { 28 | case 400: 29 | err.message = '错误请求' 30 | break; 31 | case 401: 32 | err.message = '未授权,请重新登录' 33 | break; 34 | case 403: 35 | err.message = '拒绝访问' 36 | break; 37 | case 404: 38 | err.message = '请求错误,未找到该资源' 39 | break; 40 | case 405: 41 | err.message = '请求方法未允许' 42 | break; 43 | case 408: 44 | err.message = '请求超时' 45 | break; 46 | case 500: 47 | err.message = '服务器端出错' 48 | break; 49 | case 501: 50 | err.message = '网络未实现' 51 | break; 52 | case 502: 53 | err.message = '网络错误' 54 | break; 55 | case 503: 56 | err.message = '服务不可用' 57 | break; 58 | case 504: 59 | err.message = '网络超时' 60 | break; 61 | case 505: 62 | err.message = 'http版本不支持该请求' 63 | break; 64 | default: 65 | err.message = `连接错误${err.response.status}` 66 | } 67 | } else { 68 | err.message = "连接到服务器失败" 69 | } 70 | alert(err.message) 71 | return Promise.resolve(err.response) 72 | }) 73 | 74 | //抽离get,post公共配置 75 | axios.defaults.baseURL = 'api' 76 | 77 | axios.defaults.headers = { 78 | 'X-Requested-With': 'XMLHttpRequest' 79 | } 80 | axios.defaults.timeout = 10000 81 | 82 | export default { 83 | //get请求 84 | get (url,params) { 85 | return new Promise((resolve,reject) => { 86 | axios({ 87 | method: 'get', 88 | url: url, 89 | params: params, 90 | cancelToken: new CancelToken(c => { 91 | cancel = c 92 | }) 93 | }).then(res => { 94 | resolve(res) 95 | }) 96 | }) 97 | }, 98 | 99 | //post请求 100 | post (url,data) { 101 | return new Promise((resolve,reject) => { 102 | axios({ 103 | method: 'post', 104 | url: url, 105 | data: qs.stringify(data),//post请求的数据 106 | headers: { 107 | 'X-Requested-With': 'XMLHttpRequest', 108 | 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' 109 | }, 110 | cancelToken: new CancelToken(c => { 111 | cancel = c 112 | }) 113 | }).then(res => { 114 | resolve(res) 115 | }) 116 | }) 117 | } 118 | } -------------------------------------------------------------------------------- /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 | import Element from 'element-ui' 7 | import 'element-ui/lib/theme-chalk/index.css' 8 | import store from './store' 9 | import axios from './http' 10 | 11 | Vue.config.productionTip = false 12 | Vue.prototype.$http = axios 13 | 14 | 15 | Vue.use(Element) 16 | /* eslint-disable no-new */ 17 | new Vue({ 18 | el: '#app', 19 | router, 20 | store, 21 | components: { App }, 22 | template: '' 23 | }) 24 | -------------------------------------------------------------------------------- /src/router/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import Router from 'vue-router' 3 | 4 | import Home from '@/components/home/Home' 5 | import Error from '@/components/Error' 6 | import Guardian from "@/components/guardian/Guardian" 7 | import VoucherView from '@/components/voucher_center/VoucherView' 8 | import Personal from '@/components/personal_center/Personal' 9 | import bbs from '@/components/bbs/Bbs' 10 | 11 | Vue.use(Router) 12 | 13 | export default new Router({ 14 | // mode: "history", 15 | routes: [ 16 | { 17 | path: '/', 18 | name: 'home', 19 | component: Home 20 | }, 21 | 22 | { 23 | path: '/error', 24 | name: 'error', 25 | component: Error 26 | }, 27 | { 28 | path: '/guardian', 29 | name: 'guardian', 30 | component: Guardian 31 | }, 32 | { 33 | path: '/voucherView', 34 | name: 'voucherView', 35 | component: VoucherView 36 | }, 37 | 38 | { 39 | path: '/personal', 40 | name: 'personal', 41 | component: Personal 42 | }, 43 | { 44 | path: '/bbs', 45 | name: 'bbs', 46 | component: bbs 47 | } 48 | ], 49 | scrollBehavior (to, from, savedPosition) { 50 | return {x:0,y:0} 51 | } 52 | }) -------------------------------------------------------------------------------- /src/store/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import vuex from 'vuex' 3 | Vue.use(vuex); 4 | 5 | import register_store from './register_store.js' 6 | import login_store from './login_store.js' 7 | 8 | export default new vuex.Store({ 9 | strict: true, //严格模式 10 | modules: { 11 | register: register_store, 12 | login: login_store 13 | } 14 | }) -------------------------------------------------------------------------------- /src/store/login_store.js: -------------------------------------------------------------------------------- 1 | import axios from '../http' 2 | export default { 3 | state: { 4 | show: true, 5 | userdata: { 6 | 7 | } 8 | }, 9 | 10 | //官方建议mutations中事件名称大写,state属性只允许在mutations中处理 11 | mutations: { 12 | //切换登录状态 13 | SWITCH_LOGIN(state) { 14 | //这里的state对应着上面这个state 15 | if (state.userdata) { 16 | state.show = state.show ? false : true; 17 | } 18 | //你还可以在这里执行其他的操作改变state 19 | }, 20 | 21 | //初始化登录用户数据 22 | USER_LOGIN(state, arg) { 23 | state.userdata = arg 24 | }, 25 | }, 26 | 27 | //监听分发事件,可用于处理多个监听事件,方法名与分发名相同 28 | actions: { 29 | login({ commit }, userName, passWord) { 30 | axios.post( 31 | '/v1/login', 32 | { 33 | userName, 34 | passWord 35 | } 36 | ) 37 | .then(response => { 38 | //此处数据模拟从后端获取,正确处理用response.data替换下面的数据 39 | commit('USER_LOGIN', { userName: '萌妹子', postsNum: '100', headImg: 'https://ss0.baidu.com/6ONWsjip0QIZ8tyhnq/it/u=2564997198,4187947589&fm=58', }) 40 | //var storage = window.localStorage 41 | //将JSON对象转换为JSON字符串存储 42 | // let form = JSON.stringify(this.form) 43 | // storage.data = form 44 | // console.log(typeof storage.data) 45 | //storage.username = '萌妹子' 46 | //将JSON字符串转换成为JSON对象输出 47 | // let json = storage.data 48 | // let jsonObj = JSON.parse(json) 49 | // console.log(typeof jsonObj) 50 | }) 51 | commit('SWITCH_LOGIN') 52 | }, 53 | } 54 | } -------------------------------------------------------------------------------- /src/store/register_store.js: -------------------------------------------------------------------------------- 1 | export default { 2 | state:{ 3 | show: false 4 | }, 5 | mutations:{ 6 | SWITCH_REGISTER(state){//这里的state对应着上面这个state 7 | state.show = state.show?false:true; 8 | //你还可以在这里执行其他的操作改变state 9 | } 10 | }, 11 | actions: { 12 | 13 | } 14 | } -------------------------------------------------------------------------------- /src/store/user_data.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlh1996/gameWeb/48b60d81f7a49cb78b69432e1f6b0d1311df8787/src/store/user_data.js -------------------------------------------------------------------------------- /static/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlh1996/gameWeb/48b60d81f7a49cb78b69432e1f6b0d1311df8787/static/.gitkeep -------------------------------------------------------------------------------- /static/bb.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlh1996/gameWeb/48b60d81f7a49cb78b69432e1f6b0d1311df8787/static/bb.mp4 -------------------------------------------------------------------------------- /static/music/aa.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nlh1996/gameWeb/48b60d81f7a49cb78b69432e1f6b0d1311df8787/static/music/aa.mp3 --------------------------------------------------------------------------------