Commit 2c0f807f authored by suntao's avatar suntao

ka 管理 ui系统

parents
Pipeline #627 canceled with stages
HELP.md
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### NetBeans ###
### VS Code ###
.vscode/
node_modules/
.node_modules/
![](https://github.com/rootsli/vue2admin/blob/master/doc/img/logo.png)
vue2-admin - A scaffolding base Vue2.js
========================================================
[![Vuejs](https://img.shields.io/badge/%20Powered%20by-Vuejs%202.1.x%20-brightgreen.svg)](https://github.com/vuejs/vue) [![Build Status](https://travis-ci.org/rootsli/vue2admin.svg?branch=master)](https://travis-ci.org/rootsli/vue2admin) [![MIT Licence](https://badges.frapsoft.com/os/mit/mit.svg?v=103)](https://opensource.org/licenses/mit-license.php) [![stable](http://badges.github.io/stability-badges/dist/stable.svg)](http://github.com/badges/stability-badges)
> 基于vue2 + vue-router + vuex + fetch + PostCSS + [element-ui](http://element.eleme.io/)(也可以使用其他UI,例如[iView](https://www.iviewui.com/)) + webpack2 实现的一个后台管理系统基础框架。
#### 框架能力:
- 完全的基于组件化的架构
- 基于组件的CSS命名空间独立,不相互污染
- 登录功能(利用vuex与cookie的持久化方案进行登录认证缓存)
- 多级路由支持
- 基于vuex2的状态管理(开发时建议安装chrome插件vue.js devtools跟踪状态)
- vuex2与cookie的持久化支持(支持对指定vuex状态进行持久化,并能指定cookie的过期时间)。具体示例请见项目源码:src\store\index.js
- PostCSS支持:支持自动拼装前缀(autoprefixer插件),支持最新css语法(postcss-cssnext插件),支持@import方式引入css。具体示例请见项目源码:src\modules\page1\index.vue
- 基于fetch的网络服务(源码路径:src\utils\request.js)
- 支持mock数据服务(mock示例路径:src\apis\mock)
- 基于webpack2的开发构建编译:支持开发阶段的HRM,支持模块依赖,静态资源优化,模块打包和Hash指纹等编译功能,一个命令,即可完成整个项目的构建编译
- 提供了一个webpack大项目打包方案(On demand code-splitting)的示例,请见目录:src\modules\code-splitting-demo
[点此查看运行效果](http://vue2admin.duapp.com)(用户名密码不限)
```
说明:项目框架已经集成了大部分前端项目必须的插件服务和项目逻辑架构,可以拿来即用。让框架尽量简单,逻辑尽量清晰,编译构建过程完全可定制,也是本框架追求的目标之一。
```
## Build Setup
```
依赖环境:运行项目前请确认本地已安装nodejs和npm。依赖的版本如下:
- "node": ">= 4.0.0"
- "npm": ">= 3.0.0"
※ 开发和运行时阶段依赖的其他包请到package.json中查看
```
``` bash
# 安装依赖-国内用户推荐使用npm淘宝镜像,设置方法:
# step1.npm config set registry https://registry.npm.taobao.org
# step2.npm info underscore
npm install
# serve with hot reload at localhost:8080
npm run dev
# build for production with minification
npm run build
# build for production and view the bundle analyzer report
npm run build --report
# run unit tests
npm run unit
# run e2e tests
npm run e2e
# run all tests
npm test
```
## 工程目录结构
```
src:项目源码。开发的时候代码写在这里。
|--assets # 项目静态资源,编译时不进行处理的资源都放这里
|--components # 项目公共组件库
|--config # 公共配置文件,例如路由配置等
|--css # 项目公共样式库
|--modules # 项目应用模块,根据应用需要,还可以有子模块,各子模块目录结构和顶级子模块类似
| |--components # 模块级公共组件
| |--views # 模块视图
| |--css # 模块样式
| |--js # 模块脚本
|--App.vue # 项目根视图
|--main.js # 项目入口文件
|--store # 基于vuex的状态管理模块
| |--index.js # 入口及store初始化
| |--mutation-types.js # mutation名称定义
| |--state.js # 根state
| |--mutations.js # 根mutation
| |--getters.js # 根getter
| |--actions.js # 根action
| |--modules # 子模块的store对象
| | |--menu.js # menu模块
|--apis # 服务层ajax请求服务
| |--mock # api数据mock服务
|--utils # 公共库函数
| |--request.js # 网络请求服务,实现了对fetch的二次封装(目前只封装了get,post;实际项目中可按着示例封装其他请求)
```
## 页面结构
![页面结构](https://github.com/rootsli/vue2admin/blob/master/doc/img/vue2admin.png)
## todo
- fetch与Service Workers的本地缓存方案
- 国际化
- 图表插件
// https://github.com/shelljs/shelljs
require('./check-versions')()
process.env.NODE_ENV = 'production'
var ora = require('ora')
var path = require('path')
var chalk = require('chalk')
var shell = require('shelljs')
var webpack = require('webpack')
var config = require('../config')
var webpackConfig = require('./webpack.prod.conf')
var spinner = ora('building for production...')
spinner.start()
var assetsPath = path.join(config.build.assetsRoot, config.build.assetsSubDirectory)
shell.rm('-rf', assetsPath)
shell.mkdir('-p', assetsPath)
shell.config.silent = true
shell.cp('-R', 'static/*', assetsPath)
shell.config.silent = false
webpack(webpackConfig, function (err, stats) {
spinner.stop()
if (err) throw err
process.stdout.write(stats.toString({
colors: true,
modules: false,
children: false,
chunks: false,
chunkModules: false
}) + '\n\n')
console.log(chalk.cyan(' Build complete.\n'))
console.log(chalk.yellow(
' Tip: built files are meant to be served over an HTTP server.\n' +
' Opening index.html over file:// won\'t work.\n'
))
})
var chalk = require('chalk')
var semver = require('semver')
var packageConfig = require('../package.json')
function exec (cmd) {
return require('child_process').execSync(cmd).toString().trim()
}
var versionRequirements = [
{
name: 'node',
currentVersion: semver.clean(process.version),
versionRequirement: packageConfig.engines.node
},
{
name: 'npm',
currentVersion: exec('npm --version'),
versionRequirement: packageConfig.engines.npm
}
]
module.exports = function () {
var warnings = []
for (var i = 0; i < versionRequirements.length; i++) {
var mod = versionRequirements[i]
if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) {
warnings.push(mod.name + ': ' +
chalk.red(mod.currentVersion) + ' should be ' +
chalk.green(mod.versionRequirement)
)
}
}
if (warnings.length) {
console.log('')
console.log(chalk.yellow('To use this template, you must update following to modules:'))
console.log()
for (var i = 0; i < warnings.length; i++) {
var warning = warnings[i]
console.log(' ' + warning)
}
console.log()
process.exit(1)
}
}
/* eslint-disable */
require('eventsource-polyfill')
var hotClient = require('webpack-hot-middleware/client?noInfo=true&reload=true')
hotClient.subscribe(function (event) {
if (event.action === 'reload') {
window.location.reload()
}
})
require('./check-versions')()
var config = require('../config')
if (!process.env.NODE_ENV) {
process.env.NODE_ENV = JSON.parse(config.dev.env.NODE_ENV)
}
var opn = require('opn')
var path = require('path')
var express = require('express')
var webpack = require('webpack')
var proxyMiddleware = require('http-proxy-middleware')
var webpackConfig = process.env.NODE_ENV === 'testing'
? require('./webpack.prod.conf')
: require('./webpack.dev.conf')
// default port where dev server listens for incoming traffic
var port = process.env.PORT || config.dev.port
// automatically open browser, if not set will be false
var autoOpenBrowser = !!config.dev.autoOpenBrowser
// Define HTTP proxies to your custom API backend
// https://github.com/chimurai/http-proxy-middleware
var proxyTable = config.dev.proxyTable
var app = express()
var compiler = webpack(webpackConfig)
var devMiddleware = require('webpack-dev-middleware')(compiler, {
publicPath: webpackConfig.output.publicPath,
quiet: true
})
var hotMiddleware = require('webpack-hot-middleware')(compiler, {
log: () => {}
})
// force page reload when html-webpack-plugin template changes
compiler.plugin('compilation', function (compilation) {
compilation.plugin('html-webpack-plugin-after-emit', function (data, cb) {
hotMiddleware.publish({ action: 'reload' })
cb()
})
})
// proxy api requests
Object.keys(proxyTable).forEach(function (context) {
var options = proxyTable[context]
if (typeof options === 'string') {
options = { target: options }
}
app.use(proxyMiddleware(options.filter || context, options))
})
// handle fallback for HTML5 history API
app.use(require('connect-history-api-fallback')())
// serve webpack bundle output
app.use(devMiddleware)
// enable hot-reload and state-preserving
// compilation error display
app.use(hotMiddleware)
// serve pure static assets
var staticPath = path.posix.join(config.dev.assetsPublicPath, config.dev.assetsSubDirectory)
app.use(staticPath, express.static('./static'))
var uri = 'http://localhost:' + port
devMiddleware.waitUntilValid(function () {
console.log('> Listening at ' + uri + '\n')
})
module.exports = app.listen(port, function (err) {
if (err) {
console.log(err)
return
}
// when env is testing, don't need open it
if (autoOpenBrowser && process.env.NODE_ENV !== 'testing') {
opn(uri)
}
})
var path = require('path')
var config = require('../config')
var ExtractTextPlugin = require('extract-text-webpack-plugin')
exports.assetsPath = function (_path) {
var assetsSubDirectory = process.env.NODE_ENV === 'production'
? config.build.assetsSubDirectory
: config.dev.assetsSubDirectory
return path.posix.join(assetsSubDirectory, _path)
}
exports.cssLoaders = function (options) {
options = options || {}
// generate loader string to be used with extract text plugin
function generateLoaders (loaders) {
var sourceLoader = loaders.map(function (loader) {
var extraParamChar
if (/\?/.test(loader)) {
loader = loader.replace(/\?/, '-loader?')
extraParamChar = '&'
} else {
loader = loader + '-loader'
extraParamChar = '?'
}
return loader + (options.sourceMap ? extraParamChar + 'sourceMap' : '')
}).join('!')
// Extract CSS when that option is specified
// (which is the case during production build)
if (options.extract) {
return ExtractTextPlugin.extract({
use: sourceLoader,
fallback: 'vue-style-loader'
})
} else {
return ['vue-style-loader', sourceLoader].join('!')
}
}
// http://vuejs.github.io/vue-loader/en/configurations/extract-css.html
return {
css: generateLoaders(['css']),
postcss: generateLoaders(['css']),
less: generateLoaders(['css', 'less']),
sass: generateLoaders(['css', 'sass?indentedSyntax']),
scss: generateLoaders(['css', 'sass']),
stylus: generateLoaders(['css', 'stylus']),
styl: generateLoaders(['css', 'stylus'])
}
}
// Generate loaders for standalone style files (outside of .vue)
exports.styleLoaders = function (options) {
var output = []
var loaders = exports.cssLoaders(options)
for (var extension in loaders) {
var loader = loaders[extension]
output.push({
test: new RegExp('\\.' + extension + '$'),
loader: loader
})
}
return output
}
var utils = require('./utils')
var config = require('../config')
var isProduction = process.env.NODE_ENV === 'production'
module.exports = {
loaders: utils.cssLoaders({
sourceMap: isProduction
? config.build.productionSourceMap
: config.dev.cssSourceMap,
extract: isProduction
}),
postcss: [
require('postcss-import')(),
require('postcss-cssnext')()//,
// require('autoprefixer')({browsers: ['last 2 versions']})
]
}
var path = require('path')
var utils = require('./utils')
var config = require('../config')
var vueLoaderConfig = require('./vue-loader.conf')
function resolve (dir) {
return path.join(__dirname, '..', dir)
}
module.exports = {
entry: {
app: './src/main.js'
},
output: {
path: config.build.assetsRoot,
filename: '[name].js',
publicPath: process.env.NODE_ENV === 'production'
? config.build.assetsPublicPath
: config.dev.assetsPublicPath
},
resolve: {
extensions: ['.js', '.vue', '.json'],
modules: [
resolve('src'),
resolve('node_modules')
],
alias: {
'vue$': 'vue/dist/vue.common.js',
'src': resolve('src'),
'@': resolve('src'),
'assets': resolve('src/assets'),
'components': resolve('src/components')
}
},
module: {
rules: [
{
test: /\.vue$/,
loader: 'vue-loader',
options: vueLoaderConfig
},
{
test: /\.js$/,
loader: 'babel-loader',
include: [resolve('src'), resolve('test')]
},
{
test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
loader: 'url-loader',
exclude: [resolve('src/icons')],
query: {
limit: 10000,
name: utils.assetsPath('img/[name].[hash:7].[ext]')
}
},
{
test: /\.svg$/,
loader: 'svg-sprite-loader',
include: [resolve('src/icons')],
options: {
symbolId: 'icon-[name]'
}
},
{
test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
loader: 'url-loader',
query: {
limit: 10000,
name: utils.assetsPath('fonts/[name].[hash:7].[ext]')
}
}
]
}
}
var utils = require('./utils')
var webpack = require('webpack')
var config = require('../config')
var merge = require('webpack-merge')
var baseWebpackConfig = require('./webpack.base.conf')
var HtmlWebpackPlugin = require('html-webpack-plugin')
var FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin')
// add hot-reload related code to entry chunks
Object.keys(baseWebpackConfig.entry).forEach(function (name) {
baseWebpackConfig.entry[name] = ['./build/dev-client'].concat(baseWebpackConfig.entry[name])
})
module.exports = merge(baseWebpackConfig, {
module: {
rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap })
},
// cheap-module-eval-source-map is faster for development
devtool: '#cheap-module-eval-source-map',
plugins: [
new webpack.DefinePlugin({
'process.env': config.dev.env
}),
// https://github.com/glenjamin/webpack-hot-middleware#installation--usage
new webpack.HotModuleReplacementPlugin(),
new webpack.NoEmitOnErrorsPlugin(),
// https://github.com/ampedandwired/html-webpack-plugin
new HtmlWebpackPlugin({
filename: 'index.html',
template: 'index.html',
inject: true
}),
new FriendlyErrorsPlugin()
]
})
var path = require('path')
var utils = require('./utils')
var webpack = require('webpack')
var config = require('../config')
var merge = require('webpack-merge')
var baseWebpackConfig = require('./webpack.base.conf')
var HtmlWebpackPlugin = require('html-webpack-plugin')
var ExtractTextPlugin = require('extract-text-webpack-plugin')
var env = process.env.NODE_ENV === 'testing'
? require('../config/test.env')
: config.build.env
var webpackConfig = merge(baseWebpackConfig, {
module: {
rules: utils.styleLoaders({
sourceMap: config.build.productionSourceMap,
extract: true
})
},
devtool: config.build.productionSourceMap ? '#source-map' : false,
output: {
path: config.build.assetsRoot,
filename: utils.assetsPath('js/[name].[chunkhash:7].js'),
chunkFilename: utils.assetsPath('js/[id].[chunkhash:7].js')
},
plugins: [
// http://vuejs.github.io/vue-loader/en/workflow/production.html
new webpack.DefinePlugin({
'process.env': env
}),
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false
},
sourceMap: true
}),
// extract css into its own file
new ExtractTextPlugin({
filename: utils.assetsPath('css/[name].[contenthash:7].css')
}),
// generate dist index.html with correct asset hash for caching.
// you can customize output by editing /index.html
// see https://github.com/ampedandwired/html-webpack-plugin
new HtmlWebpackPlugin({
filename: process.env.NODE_ENV === 'testing'
? 'index.html'
: config.build.index,
template: 'index.html',
inject: true,
minify: {
removeComments: true,
collapseWhitespace: true,
removeAttributeQuotes: true
// more options:
// https://github.com/kangax/html-minifier#options-quick-reference
},
// necessary to consistently work with multiple chunks via CommonsChunkPlugin
chunksSortMode: 'dependency'
}),
// split vendor js into its own file
new webpack.optimize.CommonsChunkPlugin({
name: 'vendor',
minChunks: function (module, count) {
// any required modules inside node_modules are extracted to vendor
return (
module.resource &&
/\.js$/.test(module.resource) &&
module.resource.indexOf(
path.join(__dirname, '../node_modules')
) === 0
)
}
}),
// extract webpack runtime and module manifest to its own file in order to
// prevent vendor hash from being updated whenever app bundle is updated
new webpack.optimize.CommonsChunkPlugin({
name: 'manifest',
chunks: ['vendor']
})
]
})
if (config.build.productionGzip) {
var CompressionWebpackPlugin = require('compression-webpack-plugin')
webpackConfig.plugins.push(
new CompressionWebpackPlugin({
asset: '[path].gz[query]',
algorithm: 'gzip',
test: new RegExp(
'\\.(' +
config.build.productionGzipExtensions.join('|') +
')$'
),
threshold: 10240,
minRatio: 0.8
})
)
}
if (config.build.bundleAnalyzerReport) {
var BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
webpackConfig.plugins.push(new BundleAnalyzerPlugin())
}
module.exports = webpackConfig
// This is the webpack config used for unit tests.
var utils = require('./utils')
var webpack = require('webpack')
var merge = require('webpack-merge')
var baseConfig = require('./webpack.base.conf')
var webpackConfig = merge(baseConfig, {
// use inline sourcemap for karma-sourcemap-loader
module: {
rules: utils.styleLoaders()
},
devtool: '#inline-source-map',
plugins: [
new webpack.DefinePlugin({
'process.env': require('../config/test.env')
})
]
})
// no need for app entry during tests
delete webpackConfig.entry
module.exports = webpackConfig
var merge = require('webpack-merge')
var prodEnv = require('./prod.env')
module.exports = merge(prodEnv, {
NODE_ENV: '"development"',
BASE_API: '"http://localhost:9037"',
})
// see http://vuejs-templates.github.io/webpack for documentation.
var path = require('path')
module.exports = {
build: {
env: require('./prod.env'),
index: path.resolve(__dirname, '../dist/index.html'),
assetsRoot: path.resolve(__dirname, '../dist'),
assetsSubDirectory: 'static',
assetsPublicPath: '/',
productionSourceMap: true,
// Gzip off by default as many popular static hosts such as
// Surge or Netlify already gzip all static assets for you.
// Before setting to `true`, make sure to:
// npm install --save-dev compression-webpack-plugin
productionGzip: false,
productionGzipExtensions: ['js', 'css'],
// Run the build command with an extra argument to
// View the bundle analyzer report after build finishes:
// `npm run build --report`
// Set to `true` or `false` to always turn it on or off
bundleAnalyzerReport: process.env.npm_config_report
},
dev: {
env: require('./dev.env'),
port: 8080,
autoOpenBrowser: false,
assetsSubDirectory: 'static',
assetsPublicPath: '/',
proxyTable: {},
// '/ka-manager': { //使用"/api"来代替"http://f.apiplus.c"
// target: 'http://localhost:9037', //源地址
// changeOrigin: true, //改变源
// pathRewrite: {
// '^/ka-manager': 'http://localhost:9037' //路径重写
// }
// }
// },
// CSS Sourcemaps off by default because relative paths are "buggy"
// with this option, according to the CSS-Loader README
// (https://github.com/webpack/css-loader#sourcemaps)
// In our experience, they generally work as expected,
// just be aware of this issue when enabling this option.
cssSourceMap: false
}
}
module.exports = {
NODE_ENV: '"production"'
}
var merge = require('webpack-merge')
var devEnv = require('./dev.env')
module.exports = merge(devEnv, {
NODE_ENV: '"testing"'
})
<head><link href=/static/css/app.a1b4677.css rel=stylesheet></head>Html Webpack Plugin:<pre>
Error: Child compilation failed:
Entry module not found: Error: Can't resolve '/Users/simon/Documents/workspace/wp_202002/ka-manager-ui/index.vue.html' in '/Users/simon/Documents/workspace/wp_202002/ka-manager-ui':
Error: Can't resolve '/Users/simon/Documents/workspace/wp_202002/ka-manager-ui/index.vue.html' in '/Users/simon/Documents/workspace/wp_202002/ka-manager-ui'
- compiler.js:76
[ka-manager-ui]/[html-webpack-plugin]/lib/compiler.js:76:16
- Compiler.js:296 Compiler.<anonymous>
[ka-manager-ui]/[webpack]/lib/Compiler.js:296:10
- Compiler.js:499
[ka-manager-ui]/[webpack]/lib/Compiler.js:499:13
- Tapable.js:202 next
[ka-manager-ui]/[tapable]/lib/Tapable.js:202:11
- CachePlugin.js:62 Compiler.<anonymous>
[ka-manager-ui]/[webpack]/lib/CachePlugin.js:62:5
- Tapable.js:206 Compiler.applyPluginsAsyncSeries
[ka-manager-ui]/[tapable]/lib/Tapable.js:206:13
- Compiler.js:496
[ka-manager-ui]/[webpack]/lib/Compiler.js:496:10
- Tapable.js:195 Compilation.applyPluginsAsyncSeries
[ka-manager-ui]/[tapable]/lib/Tapable.js:195:46
- Compilation.js:649 self.applyPluginsAsync.err
[ka-manager-ui]/[webpack]/lib/Compilation.js:649:19
- Tapable.js:195 Compilation.applyPluginsAsyncSeries
[ka-manager-ui]/[tapable]/lib/Tapable.js:195:46
- Compilation.js:640 self.applyPluginsAsync.err
[ka-manager-ui]/[webpack]/lib/Compilation.js:640:11
- Tapable.js:202 next
[ka-manager-ui]/[tapable]/lib/Tapable.js:202:11
- UglifyJsPlugin.js:230 Compilation.compilation.plugin
[ka-manager-ui]/[webpack]/lib/optimize/UglifyJsPlugin.js:230:5
- Tapable.js:206 Compilation.applyPluginsAsyncSeries
[ka-manager-ui]/[tapable]/lib/Tapable.js:206:13
- Compilation.js:635 self.applyPluginsAsync.err
[ka-manager-ui]/[webpack]/lib/Compilation.js:635:10
- Tapable.js:195 Compilation.applyPluginsAsyncSeries
[ka-manager-ui]/[tapable]/lib/Tapable.js:195:46
</anonymous></anonymous></pre><script type=text/javascript src=/static/js/manifest.9cb6469.js></script><script type=text/javascript src=/static/js/vendor.7189c8c.js></script><script type=text/javascript src=/static/js/app.965b06e.js></script>
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
webpackJsonp([0],{
/***/ 208:
/***/ (function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(global) {(function (global, factory) {
true ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global.BrowserSpriteSymbol = factory());
}(this, (function () { 'use strict';
var SpriteSymbol = function SpriteSymbol(ref) {
var id = ref.id;
var viewBox = ref.viewBox;
var content = ref.content;
this.id = id;
this.viewBox = viewBox;
this.content = content;
};
/**
* @return {string}
*/
SpriteSymbol.prototype.stringify = function stringify () {
return this.content;
};
/**
* @return {string}
*/
SpriteSymbol.prototype.toString = function toString () {
return this.stringify();
};
SpriteSymbol.prototype.destroy = function destroy () {
var this$1 = this;
['id', 'viewBox', 'content'].forEach(function (prop) { return delete this$1[prop]; });
};
/**
* @param {string} content
* @return {Element}
*/
var parse = function (content) {
var hasImportNode = !!document.importNode;
var doc = new DOMParser().parseFromString(content, 'image/svg+xml').documentElement;
/**
* Fix for browser which are throwing WrongDocumentError
* if you insert an element which is not part of the document
* @see http://stackoverflow.com/a/7986519/4624403
*/
if (hasImportNode) {
return document.importNode(doc, true);
}
return doc;
};
var commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
function createCommonjsModule(fn, module) {
return module = { exports: {} }, fn(module, module.exports), module.exports;
}
var deepmerge = createCommonjsModule(function (module, exports) {
(function (root, factory) {
if (false) {
undefined(factory);
} else {
module.exports = factory();
}
}(commonjsGlobal, function () {
function isMergeableObject(val) {
var nonNullObject = val && typeof val === 'object';
return nonNullObject
&& Object.prototype.toString.call(val) !== '[object RegExp]'
&& Object.prototype.toString.call(val) !== '[object Date]'
}
function emptyTarget(val) {
return Array.isArray(val) ? [] : {}
}
function cloneIfNecessary(value, optionsArgument) {
var clone = optionsArgument && optionsArgument.clone === true;
return (clone && isMergeableObject(value)) ? deepmerge(emptyTarget(value), value, optionsArgument) : value
}
function defaultArrayMerge(target, source, optionsArgument) {
var destination = target.slice();
source.forEach(function(e, i) {
if (typeof destination[i] === 'undefined') {
destination[i] = cloneIfNecessary(e, optionsArgument);
} else if (isMergeableObject(e)) {
destination[i] = deepmerge(target[i], e, optionsArgument);
} else if (target.indexOf(e) === -1) {
destination.push(cloneIfNecessary(e, optionsArgument));
}
});
return destination
}
function mergeObject(target, source, optionsArgument) {
var destination = {};
if (isMergeableObject(target)) {
Object.keys(target).forEach(function (key) {
destination[key] = cloneIfNecessary(target[key], optionsArgument);
});
}
Object.keys(source).forEach(function (key) {
if (!isMergeableObject(source[key]) || !target[key]) {
destination[key] = cloneIfNecessary(source[key], optionsArgument);
} else {
destination[key] = deepmerge(target[key], source[key], optionsArgument);
}
});
return destination
}
function deepmerge(target, source, optionsArgument) {
var array = Array.isArray(source);
var options = optionsArgument || { arrayMerge: defaultArrayMerge };
var arrayMerge = options.arrayMerge || defaultArrayMerge;
if (array) {
return Array.isArray(target) ? arrayMerge(target, source, optionsArgument) : cloneIfNecessary(source, optionsArgument)
} else {
return mergeObject(target, source, optionsArgument)
}
}
deepmerge.all = function deepmergeAll(array, optionsArgument) {
if (!Array.isArray(array) || array.length < 2) {
throw new Error('first argument should be an array with at least two elements')
}
// we are sure there are at least 2 values, so it is safe to have no initial value
return array.reduce(function(prev, next) {
return deepmerge(prev, next, optionsArgument)
})
};
return deepmerge
}));
});
var namespaces_1 = createCommonjsModule(function (module, exports) {
var namespaces = {
svg: {
name: 'xmlns',
uri: 'http://www.w3.org/2000/svg'
},
xlink: {
name: 'xmlns:xlink',
uri: 'http://www.w3.org/1999/xlink'
}
};
exports.default = namespaces;
module.exports = exports.default;
});
/**
* @param {Object} attrs
* @return {string}
*/
var objectToAttrsString = function (attrs) {
return Object.keys(attrs).map(function (attr) {
var value = attrs[attr].toString().replace(/"/g, '&quot;');
return (attr + "=\"" + value + "\"");
}).join(' ');
};
var svg = namespaces_1.svg;
var xlink = namespaces_1.xlink;
var defaultAttrs = {};
defaultAttrs[svg.name] = svg.uri;
defaultAttrs[xlink.name] = xlink.uri;
/**
* @param {string} [content]
* @param {Object} [attributes]
* @return {string}
*/
var wrapInSvgString = function (content, attributes) {
if ( content === void 0 ) content = '';
var attrs = deepmerge(defaultAttrs, attributes || {});
var attrsRendered = objectToAttrsString(attrs);
return ("<svg " + attrsRendered + ">" + content + "</svg>");
};
var BrowserSpriteSymbol = (function (SpriteSymbol$$1) {
function BrowserSpriteSymbol () {
SpriteSymbol$$1.apply(this, arguments);
}
if ( SpriteSymbol$$1 ) BrowserSpriteSymbol.__proto__ = SpriteSymbol$$1;
BrowserSpriteSymbol.prototype = Object.create( SpriteSymbol$$1 && SpriteSymbol$$1.prototype );
BrowserSpriteSymbol.prototype.constructor = BrowserSpriteSymbol;
var prototypeAccessors = { isMounted: {} };
prototypeAccessors.isMounted.get = function () {
return !!this.node;
};
/**
* @param {Element} node
* @return {BrowserSpriteSymbol}
*/
BrowserSpriteSymbol.createFromExistingNode = function createFromExistingNode (node) {
return new BrowserSpriteSymbol({
id: node.getAttribute('id'),
viewBox: node.getAttribute('viewBox'),
content: node.outerHTML
});
};
BrowserSpriteSymbol.prototype.destroy = function destroy () {
if (this.isMounted) {
this.unmount();
}
SpriteSymbol$$1.prototype.destroy.call(this);
};
/**
* @param {Element|string} target
* @return {Element}
*/
BrowserSpriteSymbol.prototype.mount = function mount (target) {
if (this.isMounted) {
return this.node;
}
var mountTarget = typeof target === 'string' ? document.querySelector(target) : target;
var node = this.render();
this.node = node;
mountTarget.appendChild(node);
return node;
};
/**
* @return {Element}
*/
BrowserSpriteSymbol.prototype.render = function render () {
var content = this.stringify();
return parse(wrapInSvgString(content)).childNodes[0];
};
BrowserSpriteSymbol.prototype.unmount = function unmount () {
this.node.parentNode.removeChild(this.node);
};
Object.defineProperties( BrowserSpriteSymbol.prototype, prototypeAccessors );
return BrowserSpriteSymbol;
}(SpriteSymbol));
return BrowserSpriteSymbol;
})));
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(18)))
/***/ }),
/***/ 209:
/***/ (function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(global) {(function (global, factory) {
true ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global.BrowserSprite = factory());
}(this, (function () { 'use strict';
var commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
function createCommonjsModule(fn, module) {
return module = { exports: {} }, fn(module, module.exports), module.exports;
}
var deepmerge = createCommonjsModule(function (module, exports) {
(function (root, factory) {
if (false) {
undefined(factory);
} else {
module.exports = factory();
}
}(commonjsGlobal, function () {
function isMergeableObject(val) {
var nonNullObject = val && typeof val === 'object';
return nonNullObject
&& Object.prototype.toString.call(val) !== '[object RegExp]'
&& Object.prototype.toString.call(val) !== '[object Date]'
}
function emptyTarget(val) {
return Array.isArray(val) ? [] : {}
}
function cloneIfNecessary(value, optionsArgument) {
var clone = optionsArgument && optionsArgument.clone === true;
return (clone && isMergeableObject(value)) ? deepmerge(emptyTarget(value), value, optionsArgument) : value
}
function defaultArrayMerge(target, source, optionsArgument) {
var destination = target.slice();
source.forEach(function(e, i) {
if (typeof destination[i] === 'undefined') {
destination[i] = cloneIfNecessary(e, optionsArgument);
} else if (isMergeableObject(e)) {
destination[i] = deepmerge(target[i], e, optionsArgument);
} else if (target.indexOf(e) === -1) {
destination.push(cloneIfNecessary(e, optionsArgument));
}
});
return destination
}
function mergeObject(target, source, optionsArgument) {
var destination = {};
if (isMergeableObject(target)) {
Object.keys(target).forEach(function (key) {
destination[key] = cloneIfNecessary(target[key], optionsArgument);
});
}
Object.keys(source).forEach(function (key) {
if (!isMergeableObject(source[key]) || !target[key]) {
destination[key] = cloneIfNecessary(source[key], optionsArgument);
} else {
destination[key] = deepmerge(target[key], source[key], optionsArgument);
}
});
return destination
}
function deepmerge(target, source, optionsArgument) {
var array = Array.isArray(source);
var options = optionsArgument || { arrayMerge: defaultArrayMerge };
var arrayMerge = options.arrayMerge || defaultArrayMerge;
if (array) {
return Array.isArray(target) ? arrayMerge(target, source, optionsArgument) : cloneIfNecessary(source, optionsArgument)
} else {
return mergeObject(target, source, optionsArgument)
}
}
deepmerge.all = function deepmergeAll(array, optionsArgument) {
if (!Array.isArray(array) || array.length < 2) {
throw new Error('first argument should be an array with at least two elements')
}
// we are sure there are at least 2 values, so it is safe to have no initial value
return array.reduce(function(prev, next) {
return deepmerge(prev, next, optionsArgument)
})
};
return deepmerge
}));
});
//
// An event handler can take an optional event argument
// and should not return a value
// An array of all currently registered event handlers for a type
// A map of event types and their corresponding event handlers.
/** Mitt: Tiny (~200b) functional event emitter / pubsub.
* @name mitt
* @returns {Mitt}
*/
function mitt(all ) {
all = all || Object.create(null);
return {
/**
* Register an event handler for the given type.
*
* @param {String} type Type of event to listen for, or `"*"` for all events
* @param {Function} handler Function to call in response to given event
* @memberOf mitt
*/
on: function on(type , handler ) {
(all[type] || (all[type] = [])).push(handler);
},
/**
* Remove an event handler for the given type.
*
* @param {String} type Type of event to unregister `handler` from, or `"*"`
* @param {Function} handler Handler function to remove
* @memberOf mitt
*/
off: function off(type , handler ) {
if (all[type]) {
all[type].splice(all[type].indexOf(handler) >>> 0, 1);
}
},
/**
* Invoke all handlers for the given type.
* If present, `"*"` handlers are invoked after type-matched handlers.
*
* @param {String} type The event type to invoke
* @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler
* @memberof mitt
*/
emit: function emit(type , evt ) {
(all[type] || []).map(function (handler) { handler(evt); });
(all['*'] || []).map(function (handler) { handler(type, evt); });
}
};
}
var namespaces_1 = createCommonjsModule(function (module, exports) {
var namespaces = {
svg: {
name: 'xmlns',
uri: 'http://www.w3.org/2000/svg'
},
xlink: {
name: 'xmlns:xlink',
uri: 'http://www.w3.org/1999/xlink'
}
};
exports.default = namespaces;
module.exports = exports.default;
});
/**
* @param {Object} attrs
* @return {string}
*/
var objectToAttrsString = function (attrs) {
return Object.keys(attrs).map(function (attr) {
var value = attrs[attr].toString().replace(/"/g, '&quot;');
return (attr + "=\"" + value + "\"");
}).join(' ');
};
var svg = namespaces_1.svg;
var xlink = namespaces_1.xlink;
var defaultAttrs = {};
defaultAttrs[svg.name] = svg.uri;
defaultAttrs[xlink.name] = xlink.uri;
/**
* @param {string} [content]
* @param {Object} [attributes]
* @return {string}
*/
var wrapInSvgString = function (content, attributes) {
if ( content === void 0 ) content = '';
var attrs = deepmerge(defaultAttrs, attributes || {});
var attrsRendered = objectToAttrsString(attrs);
return ("<svg " + attrsRendered + ">" + content + "</svg>");
};
var svg$1 = namespaces_1.svg;
var xlink$1 = namespaces_1.xlink;
var defaultConfig = {
attrs: ( obj = {
style: ['position: absolute', 'width: 0', 'height: 0'].join('; '),
'aria-hidden': 'true'
}, obj[svg$1.name] = svg$1.uri, obj[xlink$1.name] = xlink$1.uri, obj )
};
var obj;
var Sprite = function Sprite(config) {
this.config = deepmerge(defaultConfig, config || {});
this.symbols = [];
};
/**
* Add new symbol. If symbol with the same id exists it will be replaced.
* @param {SpriteSymbol} symbol
* @return {boolean} `true` - symbol was added, `false` - replaced
*/
Sprite.prototype.add = function add (symbol) {
var ref = this;
var symbols = ref.symbols;
var existing = this.find(symbol.id);
if (existing) {
symbols[symbols.indexOf(existing)] = symbol;
return false;
}
symbols.push(symbol);
return true;
};
/**
* Remove symbol & destroy it
* @param {string} id
* @return {boolean} `true` - symbol was found & successfully destroyed, `false` - otherwise
*/
Sprite.prototype.remove = function remove (id) {
var ref = this;
var symbols = ref.symbols;
var symbol = this.find(id);
if (symbol) {
symbols.splice(symbols.indexOf(symbol), 1);
symbol.destroy();
return true;
}
return false;
};
/**
* @param {string} id
* @return {SpriteSymbol|null}
*/
Sprite.prototype.find = function find (id) {
return this.symbols.filter(function (s) { return s.id === id; })[0] || null;
};
/**
* @param {string} id
* @return {boolean}
*/
Sprite.prototype.has = function has (id) {
return this.find(id) !== null;
};
/**
* @return {string}
*/
Sprite.prototype.stringify = function stringify () {
var ref = this.config;
var attrs = ref.attrs;
var stringifiedSymbols = this.symbols.map(function (s) { return s.stringify(); }).join('');
return wrapInSvgString(stringifiedSymbols, attrs);
};
/**
* @return {string}
*/
Sprite.prototype.toString = function toString () {
return this.stringify();
};
Sprite.prototype.destroy = function destroy () {
this.symbols.forEach(function (s) { return s.destroy(); });
};
var SpriteSymbol = function SpriteSymbol(ref) {
var id = ref.id;
var viewBox = ref.viewBox;
var content = ref.content;
this.id = id;
this.viewBox = viewBox;
this.content = content;
};
/**
* @return {string}
*/
SpriteSymbol.prototype.stringify = function stringify () {
return this.content;
};
/**
* @return {string}
*/
SpriteSymbol.prototype.toString = function toString () {
return this.stringify();
};
SpriteSymbol.prototype.destroy = function destroy () {
var this$1 = this;
['id', 'viewBox', 'content'].forEach(function (prop) { return delete this$1[prop]; });
};
/**
* @param {string} content
* @return {Element}
*/
var parse = function (content) {
var hasImportNode = !!document.importNode;
var doc = new DOMParser().parseFromString(content, 'image/svg+xml').documentElement;
/**
* Fix for browser which are throwing WrongDocumentError
* if you insert an element which is not part of the document
* @see http://stackoverflow.com/a/7986519/4624403
*/
if (hasImportNode) {
return document.importNode(doc, true);
}
return doc;
};
var BrowserSpriteSymbol = (function (SpriteSymbol$$1) {
function BrowserSpriteSymbol () {
SpriteSymbol$$1.apply(this, arguments);
}
if ( SpriteSymbol$$1 ) BrowserSpriteSymbol.__proto__ = SpriteSymbol$$1;
BrowserSpriteSymbol.prototype = Object.create( SpriteSymbol$$1 && SpriteSymbol$$1.prototype );
BrowserSpriteSymbol.prototype.constructor = BrowserSpriteSymbol;
var prototypeAccessors = { isMounted: {} };
prototypeAccessors.isMounted.get = function () {
return !!this.node;
};
/**
* @param {Element} node
* @return {BrowserSpriteSymbol}
*/
BrowserSpriteSymbol.createFromExistingNode = function createFromExistingNode (node) {
return new BrowserSpriteSymbol({
id: node.getAttribute('id'),
viewBox: node.getAttribute('viewBox'),
content: node.outerHTML
});
};
BrowserSpriteSymbol.prototype.destroy = function destroy () {
if (this.isMounted) {
this.unmount();
}
SpriteSymbol$$1.prototype.destroy.call(this);
};
/**
* @param {Element|string} target
* @return {Element}
*/
BrowserSpriteSymbol.prototype.mount = function mount (target) {
if (this.isMounted) {
return this.node;
}
var mountTarget = typeof target === 'string' ? document.querySelector(target) : target;
var node = this.render();
this.node = node;
mountTarget.appendChild(node);
return node;
};
/**
* @return {Element}
*/
BrowserSpriteSymbol.prototype.render = function render () {
var content = this.stringify();
return parse(wrapInSvgString(content)).childNodes[0];
};
BrowserSpriteSymbol.prototype.unmount = function unmount () {
this.node.parentNode.removeChild(this.node);
};
Object.defineProperties( BrowserSpriteSymbol.prototype, prototypeAccessors );
return BrowserSpriteSymbol;
}(SpriteSymbol));
var defaultConfig$1 = {
/**
* Should following options be automatically configured:
* - `syncUrlsWithBaseTag`
* - `locationChangeAngularEmitter`
* - `moveGradientsOutsideSymbol`
* @type {boolean}
*/
autoConfigure: true,
/**
* Default mounting selector
* @type {string}
*/
mountTo: 'body',
/**
* Fix disappearing SVG elements when <base href> exists.
* Executes when sprite mounted.
* @see http://stackoverflow.com/a/18265336/796152
* @see https://github.com/everdimension/angular-svg-base-fix
* @see https://github.com/angular/angular.js/issues/8934#issuecomment-56568466
* @type {boolean}
*/
syncUrlsWithBaseTag: false,
/**
* Should sprite listen custom location change event
* @type {boolean}
*/
listenLocationChangeEvent: true,
/**
* Custom window event name which should be emitted to update sprite urls
* @type {string}
*/
locationChangeEvent: 'locationChange',
/**
* Emit location change event in Angular automatically
* @type {boolean}
*/
locationChangeAngularEmitter: false,
/**
* Selector to find symbols usages when updating sprite urls
* @type {string}
*/
usagesToUpdate: 'use[*|href]',
/**
* Fix Firefox bug when gradients and patterns don't work if they are within a symbol.
* Executes when sprite is rendered, but not mounted.
* @see https://bugzilla.mozilla.org/show_bug.cgi?id=306674
* @see https://bugzilla.mozilla.org/show_bug.cgi?id=353575
* @see https://bugzilla.mozilla.org/show_bug.cgi?id=1235364
* @type {boolean}
*/
moveGradientsOutsideSymbol: false
};
/**
* @param {*} arrayLike
* @return {Array}
*/
var arrayFrom = function (arrayLike) {
return Array.prototype.slice.call(arrayLike, 0);
};
var browser = {
isChrome: function () { return /chrome/i.test(navigator.userAgent); },
isFirefox: function () { return /firefox/i.test(navigator.userAgent); },
// https://msdn.microsoft.com/en-us/library/ms537503(v=vs.85).aspx
isIE: function () { return /msie/i.test(navigator.userAgent) || /trident/i.test(navigator.userAgent); },
isEdge: function () { return /edge/i.test(navigator.userAgent); }
};
/**
* @param {string} name
* @param {*} data
*/
var dispatchEvent = function (name, data) {
var event = document.createEvent('CustomEvent');
event.initCustomEvent(name, false, false, data);
window.dispatchEvent(event);
};
/**
* IE doesn't evaluate <style> tags in SVGs that are dynamically added to the page.
* This trick will trigger IE to read and use any existing SVG <style> tags.
* @see https://github.com/iconic/SVGInjector/issues/23
* @see https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/10898469/
*
* @param {Element} node DOM Element to search <style> tags in
* @return {Array<HTMLStyleElement>}
*/
var evalStylesIEWorkaround = function (node) {
var updatedNodes = [];
arrayFrom(node.querySelectorAll('style'))
.forEach(function (style) {
style.textContent += '';
updatedNodes.push(style);
});
return updatedNodes;
};
/**
* @param {string} [url] If not provided - current URL will be used
* @return {string}
*/
var getUrlWithoutFragment = function (url) {
return (url || window.location.href).split('#')[0];
};
/* global angular */
/**
* @param {string} eventName
*/
var locationChangeAngularEmitter = function (eventName) {
angular.module('ng').run(['$rootScope', function ($rootScope) {
$rootScope.$on('$locationChangeSuccess', function (e, newUrl, oldUrl) {
dispatchEvent(eventName, { oldUrl: oldUrl, newUrl: newUrl });
});
}]);
};
var defaultSelector = 'linearGradient, radialGradient, pattern, mask, clipPath';
/**
* @param {Element} svg
* @param {string} [selector]
* @return {Element}
*/
var moveGradientsOutsideSymbol = function (svg, selector) {
if ( selector === void 0 ) selector = defaultSelector;
arrayFrom(svg.querySelectorAll('symbol')).forEach(function (symbol) {
arrayFrom(symbol.querySelectorAll(selector)).forEach(function (node) {
symbol.parentNode.insertBefore(node, symbol);
});
});
return svg;
};
/**
* @param {NodeList} nodes
* @param {Function} [matcher]
* @return {Attr[]}
*/
function selectAttributes(nodes, matcher) {
var attrs = arrayFrom(nodes).reduce(function (acc, node) {
if (!node.attributes) {
return acc;
}
var arrayfied = arrayFrom(node.attributes);
var matched = matcher ? arrayfied.filter(matcher) : arrayfied;
return acc.concat(matched);
}, []);
return attrs;
}
/**
* @param {NodeList|Node} nodes
* @param {boolean} [clone=true]
* @return {string}
*/
var xLinkNS = namespaces_1.xlink.uri;
var xLinkAttrName = 'xlink:href';
// eslint-disable-next-line no-useless-escape
var specialUrlCharsPattern = /[{}|\\\^\[\]`"<>]/g;
function encoder(url) {
return url.replace(specialUrlCharsPattern, function (match) {
return ("%" + (match[0].charCodeAt(0).toString(16).toUpperCase()));
});
}
function escapeRegExp(str) {
return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
}
/**
* @param {NodeList} nodes
* @param {string} startsWith
* @param {string} replaceWith
* @return {NodeList}
*/
function updateReferences(nodes, startsWith, replaceWith) {
arrayFrom(nodes).forEach(function (node) {
var href = node.getAttribute(xLinkAttrName);
if (href && href.indexOf(startsWith) === 0) {
var newUrl = href.replace(startsWith, replaceWith);
node.setAttributeNS(xLinkNS, xLinkAttrName, newUrl);
}
});
return nodes;
}
/**
* List of SVG attributes to update url() target in them
*/
var attList = [
'clipPath',
'colorProfile',
'src',
'cursor',
'fill',
'filter',
'marker',
'markerStart',
'markerMid',
'markerEnd',
'mask',
'stroke',
'style'
];
var attSelector = attList.map(function (attr) { return ("[" + attr + "]"); }).join(',');
/**
* Update URLs in svg image (like `fill="url(...)"`) and update referencing elements
* @param {Element} svg
* @param {NodeList} references
* @param {string|RegExp} startsWith
* @param {string} replaceWith
* @return {void}
*
* @example
* const sprite = document.querySelector('svg.sprite');
* const usages = document.querySelectorAll('use');
* updateUrls(sprite, usages, '#', 'prefix#');
*/
var updateUrls = function (svg, references, startsWith, replaceWith) {
var startsWithEncoded = encoder(startsWith);
var replaceWithEncoded = encoder(replaceWith);
var nodes = svg.querySelectorAll(attSelector);
var attrs = selectAttributes(nodes, function (ref) {
var localName = ref.localName;
var value = ref.value;
return attList.indexOf(localName) !== -1 && value.indexOf(("url(" + startsWithEncoded)) !== -1;
});
attrs.forEach(function (attr) { return attr.value = attr.value.replace(new RegExp(escapeRegExp(startsWithEncoded), 'g'), replaceWithEncoded); });
updateReferences(references, startsWithEncoded, replaceWithEncoded);
};
/**
* Internal emitter events
* @enum
* @private
*/
var Events = {
MOUNT: 'mount',
SYMBOL_MOUNT: 'symbol_mount'
};
var BrowserSprite = (function (Sprite$$1) {
function BrowserSprite(cfg) {
var this$1 = this;
if ( cfg === void 0 ) cfg = {};
Sprite$$1.call(this, deepmerge(defaultConfig$1, cfg));
var emitter = mitt();
this._emitter = emitter;
this.node = null;
var ref = this;
var config = ref.config;
if (config.autoConfigure) {
this._autoConfigure(cfg);
}
if (config.syncUrlsWithBaseTag) {
var baseUrl = document.getElementsByTagName('base')[0].getAttribute('href');
emitter.on(Events.MOUNT, function () { return this$1.updateUrls('#', baseUrl); });
}
var handleLocationChange = this._handleLocationChange.bind(this);
this._handleLocationChange = handleLocationChange;
// Provide way to update sprite urls externally via dispatching custom window event
if (config.listenLocationChangeEvent) {
window.addEventListener(config.locationChangeEvent, handleLocationChange);
}
// Emit location change event in Angular automatically
if (config.locationChangeAngularEmitter) {
locationChangeAngularEmitter(config.locationChangeEvent);
}
// After sprite mounted
emitter.on(Events.MOUNT, function (spriteNode) {
if (config.moveGradientsOutsideSymbol) {
moveGradientsOutsideSymbol(spriteNode);
}
});
// After symbol mounted into sprite
emitter.on(Events.SYMBOL_MOUNT, function (symbolNode) {
if (config.moveGradientsOutsideSymbol) {
moveGradientsOutsideSymbol(symbolNode.parentNode);
}
if (browser.isIE() || browser.isEdge()) {
evalStylesIEWorkaround(symbolNode);
}
});
}
if ( Sprite$$1 ) BrowserSprite.__proto__ = Sprite$$1;
BrowserSprite.prototype = Object.create( Sprite$$1 && Sprite$$1.prototype );
BrowserSprite.prototype.constructor = BrowserSprite;
var prototypeAccessors = { isMounted: {} };
/**
* @return {boolean}
*/
prototypeAccessors.isMounted.get = function () {
return !!this.node;
};
/**
* Automatically configure following options
* - `syncUrlsWithBaseTag`
* - `locationChangeAngularEmitter`
* - `moveGradientsOutsideSymbol`
* @param {Object} cfg
* @private
*/
BrowserSprite.prototype._autoConfigure = function _autoConfigure (cfg) {
var ref = this;
var config = ref.config;
if (typeof cfg.syncUrlsWithBaseTag === 'undefined') {
config.syncUrlsWithBaseTag = typeof document.getElementsByTagName('base')[0] !== 'undefined';
}
if (typeof cfg.locationChangeAngularEmitter === 'undefined') {
config.locationChangeAngularEmitter = typeof window.angular !== 'undefined';
}
if (typeof cfg.moveGradientsOutsideSymbol === 'undefined') {
config.moveGradientsOutsideSymbol = browser.isFirefox();
}
};
/**
* @param {Event} event
* @param {Object} event.detail
* @param {string} event.detail.oldUrl
* @param {string} event.detail.newUrl
* @private
*/
BrowserSprite.prototype._handleLocationChange = function _handleLocationChange (event) {
var ref = event.detail;
var oldUrl = ref.oldUrl;
var newUrl = ref.newUrl;
this.updateUrls(oldUrl, newUrl);
};
/**
* Add new symbol. If symbol with the same id exists it will be replaced.
* If sprite already mounted - `symbol.mount(sprite.node)` will be called.
* @fires Events#SYMBOL_MOUNT
* @param {BrowserSpriteSymbol} symbol
* @return {boolean} `true` - symbol was added, `false` - replaced
*/
BrowserSprite.prototype.add = function add (symbol) {
var sprite = this;
var isNewSymbol = Sprite$$1.prototype.add.call(this, symbol);
if (this.isMounted && isNewSymbol) {
symbol.mount(sprite.node);
this._emitter.emit(Events.SYMBOL_MOUNT, symbol.node);
}
return isNewSymbol;
};
/**
* Attach to existing DOM node
* @param {string|Element} target
* @return {Element|null} attached DOM Element. null if node to attach not found.
*/
BrowserSprite.prototype.attach = function attach (target) {
var this$1 = this;
var sprite = this;
if (sprite.isMounted) {
return sprite.node;
}
/** @type Element */
var node = typeof target === 'string' ? document.querySelector(target) : target;
sprite.node = node;
// Already added symbols needs to be mounted
this.symbols.forEach(function (symbol) {
symbol.mount(sprite.node);
this$1._emitter.emit(Events.SYMBOL_MOUNT, symbol.node);
});
// Create symbols from existing DOM nodes, add and mount them
arrayFrom(node.querySelectorAll('symbol'))
.forEach(function (symbolNode) {
var symbol = BrowserSpriteSymbol.createFromExistingNode(symbolNode);
symbol.node = symbolNode; // hack to prevent symbol mounting to sprite when adding
sprite.add(symbol);
});
this._emitter.emit(Events.MOUNT, node);
return node;
};
BrowserSprite.prototype.destroy = function destroy () {
var ref = this;
var config = ref.config;
var symbols = ref.symbols;
var _emitter = ref._emitter;
symbols.forEach(function (s) { return s.destroy(); });
_emitter.off('*');
window.removeEventListener(config.locationChangeEvent, this._handleLocationChange);
if (this.isMounted) {
this.unmount();
}
};
/**
* @fires Events#MOUNT
* @param {string|Element} [target]
* @param {boolean} [prepend=false]
* @return {Element|null} rendered sprite node. null if mount node not found.
*/
BrowserSprite.prototype.mount = function mount (target, prepend) {
if ( target === void 0 ) target = this.config.mountTo;
if ( prepend === void 0 ) prepend = false;
var sprite = this;
if (sprite.isMounted) {
return sprite.node;
}
var mountNode = typeof target === 'string' ? document.querySelector(target) : target;
var node = sprite.render();
this.node = node;
if (prepend && mountNode.childNodes[0]) {
mountNode.insertBefore(node, mountNode.childNodes[0]);
} else {
mountNode.appendChild(node);
}
this._emitter.emit(Events.MOUNT, node);
return node;
};
/**
* @return {Element}
*/
BrowserSprite.prototype.render = function render () {
return parse(this.stringify());
};
/**
* Detach sprite from the DOM
*/
BrowserSprite.prototype.unmount = function unmount () {
this.node.parentNode.removeChild(this.node);
};
/**
* Update URLs in sprite and usage elements
* @param {string} oldUrl
* @param {string} newUrl
* @return {boolean} `true` - URLs was updated, `false` - sprite is not mounted
*/
BrowserSprite.prototype.updateUrls = function updateUrls$1 (oldUrl, newUrl) {
if (!this.isMounted) {
return false;
}
var usages = document.querySelectorAll(this.config.usagesToUpdate);
updateUrls(
this.node,
usages,
((getUrlWithoutFragment(oldUrl)) + "#"),
((getUrlWithoutFragment(newUrl)) + "#")
);
return true;
};
Object.defineProperties( BrowserSprite.prototype, prototypeAccessors );
return BrowserSprite;
}(Sprite));
var ready$1 = createCommonjsModule(function (module) {
/*!
* domready (c) Dustin Diaz 2014 - License MIT
*/
!function (name, definition) {
{ module.exports = definition(); }
}('domready', function () {
var fns = [], listener
, doc = document
, hack = doc.documentElement.doScroll
, domContentLoaded = 'DOMContentLoaded'
, loaded = (hack ? /^loaded|^c/ : /^loaded|^i|^c/).test(doc.readyState);
if (!loaded)
{ doc.addEventListener(domContentLoaded, listener = function () {
doc.removeEventListener(domContentLoaded, listener);
loaded = 1;
while (listener = fns.shift()) { listener(); }
}); }
return function (fn) {
loaded ? setTimeout(fn, 0) : fns.push(fn);
}
});
});
var spriteNodeId = '__SVG_SPRITE_NODE__';
var spriteGlobalVarName = '__SVG_SPRITE__';
var isSpriteExists = !!window[spriteGlobalVarName];
// eslint-disable-next-line import/no-mutable-exports
var sprite;
if (isSpriteExists) {
sprite = window[spriteGlobalVarName];
} else {
sprite = new BrowserSprite({ attrs: { id: spriteNodeId } });
window[spriteGlobalVarName] = sprite;
}
var loadSprite = function () {
/**
* Check for page already contains sprite node
* If found - attach to and reuse it's content
* If not - render and mount the new sprite
*/
var existing = document.getElementById(spriteNodeId);
if (existing) {
sprite.attach(existing);
} else {
sprite.mount(document.body, true);
}
};
if (document.body) {
loadSprite();
} else {
ready$1(loadSprite);
}
var sprite$1 = sprite;
return sprite$1;
})));
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(18)))
/***/ }),
/***/ 210:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(2);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_vue__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_SvgIcon__ = __webpack_require__(226);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_SvgIcon___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__components_SvgIcon__);
// svg组件
// register globally
__WEBPACK_IMPORTED_MODULE_0_vue___default.a.component('svg-icon', __WEBPACK_IMPORTED_MODULE_1__components_SvgIcon___default.a);
const requireAll = requireContext => requireContext.keys().map(requireContext);
const req = __webpack_require__(228);
requireAll(req);
/***/ }),
/***/ 211:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
//
//
//
//
//
//
/* harmony default export */ __webpack_exports__["default"] = ({
name: 'SvgIcon',
props: {
iconClass: {
type: String,
required: true
},
className: {
type: String,
default: ''
}
},
computed: {
iconName() {
return `#icon-${this.iconClass}`;
},
svgClass() {
if (this.className) {
return 'svg-icon ' + this.className;
} else {
return 'svg-icon';
}
}
}
});
/***/ }),
/***/ 212:
/***/ (function(module, exports, __webpack_require__) {
exports = module.exports = __webpack_require__(199)();
// imports
// module
exports.push([module.i, "\n.svg-icon[data-v-4246bec4] {\n width: 1em;\n height: 1em;\n vertical-align: -0.15em;\n fill: currentColor;\n overflow: hidden;\n}\n", "", {"version":3,"sources":["/Users/simon/Documents/workspace/wp_202002/ka-manager-ui/src/components/SvgIcon/index.vue"],"names":[],"mappings":";AACA;EACE,WAAW;EACX,YAAY;EACZ,wBAAwB;EACxB,mBAAmB;EACnB,iBAAiB;CAClB","file":"index.vue","sourcesContent":["\n.svg-icon[data-v-4246bec4] {\n width: 1em;\n height: 1em;\n vertical-align: -0.15em;\n fill: currentColor;\n overflow: hidden;\n}\n"],"sourceRoot":""}]);
// exports
/***/ }),
/***/ 213:
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__(212);
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var update = __webpack_require__(200)("3148892f", content, true);
/***/ }),
/***/ 214:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__ = __webpack_require__(208);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__ = __webpack_require__(209);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__);
var symbol = new __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default.a({
"id": "icon-example",
"use": "icon-example-usage",
"viewBox": "0 0 128 128",
"content": "<symbol xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128 128\" id=\"icon-example\"><path d=\"M96.258 57.462h31.421C124.794 27.323 100.426 2.956 70.287.07v31.422a32.856 32.856 0 0 1 25.971 25.97zm-38.796-25.97V.07C27.323 2.956 2.956 27.323.07 57.462h31.422a32.856 32.856 0 0 1 25.97-25.97zm12.825 64.766v31.421c30.46-2.885 54.507-27.253 57.713-57.712H96.579c-2.886 13.466-13.146 23.726-26.292 26.291zM31.492 70.287H.07c2.886 30.46 27.253 54.507 57.713 57.713V96.579c-13.466-2.886-23.726-13.146-26.291-26.292z\" /></symbol>"
});
var result = __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default.a.add(symbol);
/* harmony default export */ __webpack_exports__["default"] = (symbol);
/***/ }),
/***/ 215:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__ = __webpack_require__(208);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__ = __webpack_require__(209);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__);
var symbol = new __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default.a({
"id": "icon-eye-open",
"use": "icon-eye-open-usage",
"viewBox": "0 0 1024 1024",
"content": "<symbol class=\"icon\" viewBox=\"0 0 1024 1024\" xmlns=\"http://www.w3.org/2000/svg\" id=\"icon-eye-open\"><defs><style></style></defs><path d=\"M512 128q69.675 0 135.51 21.163t115.498 54.997 93.483 74.837 73.685 82.006 51.67 74.837 32.17 54.827L1024 512q-2.347 4.992-6.315 13.483T998.87 560.17t-31.658 51.669-44.331 59.99-56.832 64.34-69.504 60.16-82.347 51.5-94.848 34.687T512 896q-69.675 0-135.51-21.163t-115.498-54.826-93.483-74.326-73.685-81.493-51.67-74.496-32.17-54.997L0 513.707q2.347-4.992 6.315-13.483t18.816-34.816 31.658-51.84 44.331-60.33 56.832-64.683 69.504-60.331 82.347-51.84 94.848-34.816T512 128.085zm0 85.333q-46.677 0-91.648 12.331t-81.152 31.83-70.656 47.146-59.648 54.485-48.853 57.686-37.675 52.821-26.325 43.99q12.33 21.674 26.325 43.52t37.675 52.351 48.853 57.003 59.648 53.845T339.2 767.02t81.152 31.488T512 810.667t91.648-12.331 81.152-31.659 70.656-46.848 59.648-54.186 48.853-57.344 37.675-52.651T927.957 512q-12.33-21.675-26.325-43.648t-37.675-52.65-48.853-57.345-59.648-54.186-70.656-46.848-81.152-31.659T512 213.334zm0 128q70.656 0 120.661 50.006T682.667 512 632.66 632.661 512 682.667 391.339 632.66 341.333 512t50.006-120.661T512 341.333zm0 85.334q-35.328 0-60.33 25.002T426.666 512t25.002 60.33T512 597.334t60.33-25.002T597.334 512t-25.002-60.33T512 426.666z\" /></symbol>"
});
var result = __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default.a.add(symbol);
/* harmony default export */ __webpack_exports__["default"] = (symbol);
/***/ }),
/***/ 216:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__ = __webpack_require__(208);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__ = __webpack_require__(209);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__);
var symbol = new __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default.a({
"id": "icon-eye",
"use": "icon-eye-usage",
"viewBox": "0 0 128 64",
"content": "<symbol xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128 64\" id=\"icon-eye\"><path d=\"M127.072 7.994c1.37-2.208.914-5.152-.914-6.87-2.056-1.717-4.797-1.226-6.396.982-.229.245-25.586 32.382-55.74 32.382-29.24 0-55.74-32.382-55.968-32.627-1.6-1.963-4.57-2.208-6.397-.49C-.17 3.086-.399 6.275 1.2 8.238c.457.736 5.94 7.36 14.62 14.72L4.17 35.96c-1.828 1.963-1.6 5.152.228 6.87.457.98 1.6 1.471 2.742 1.471s2.284-.49 3.198-1.472l12.564-13.983c5.94 4.416 13.021 8.587 20.788 11.53l-4.797 17.418c-.685 2.699.686 5.397 3.198 6.133h1.37c2.057 0 3.884-1.472 4.341-3.68L52.6 42.83c3.655.736 7.538 1.227 11.422 1.227 3.883 0 7.767-.49 11.422-1.227l4.797 17.173c.457 2.208 2.513 3.68 4.34 3.68.457 0 .914 0 1.143-.246 2.513-.736 3.883-3.434 3.198-6.133l-4.797-17.172c7.767-2.944 14.848-7.114 20.788-11.53l12.336 13.738c.913.981 2.056 1.472 3.198 1.472s2.284-.49 3.198-1.472c1.828-1.963 1.828-4.906.228-6.87l-11.65-13.001c9.366-7.36 14.849-14.474 14.849-14.474z\" /></symbol>"
});
var result = __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default.a.add(symbol);
/* harmony default export */ __webpack_exports__["default"] = (symbol);
/***/ }),
/***/ 217:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__ = __webpack_require__(208);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__ = __webpack_require__(209);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__);
var symbol = new __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default.a({
"id": "icon-form",
"use": "icon-form-usage",
"viewBox": "0 0 128 128",
"content": "<symbol xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128 128\" id=\"icon-form\"><path d=\"M84.068 23.784c-1.02 0-1.877-.32-2.572-.96a8.588 8.588 0 0 1-1.738-2.237 11.524 11.524 0 0 1-1.042-2.621c-.232-.895-.348-1.641-.348-2.238V0h.278c.834 0 1.622.085 2.363.256.742.17 1.645.575 2.711 1.214 1.066.64 2.363 1.535 3.892 2.686 1.53 1.15 3.453 2.664 5.77 4.54 2.502 2.045 4.494 3.771 5.977 5.178 1.483 1.406 2.618 2.6 3.406 3.58.787.98 1.274 1.812 1.46 2.494.185.682.277 1.278.277 1.79v2.046H84.068zM127.3 84.01c.278.682.464 1.535.556 2.558.093 1.023-.37 2.003-1.39 2.94-.463.427-.88.832-1.25 1.215-.372.384-.696.704-.974.96a6.69 6.69 0 0 1-.973.767l-11.816-10.741a44.331 44.331 0 0 0 1.877-1.535 31.028 31.028 0 0 1 1.737-1.406c1.112-.938 2.317-1.343 3.615-1.215 1.297.128 2.363.405 3.197.83.927.427 1.923 1.173 2.989 2.239 1.065 1.065 1.876 2.195 2.432 3.388zM78.23 95.902c2.038 0 3.752-.511 5.143-1.534l-26.969 25.83H18.037c-1.761 0-3.684-.47-5.77-1.407a24.549 24.549 0 0 1-5.838-3.709 21.373 21.373 0 0 1-4.518-5.306c-1.204-2.003-1.807-4.07-1.807-6.202V16.495c0-1.79.44-3.665 1.32-5.626A18.41 18.41 0 0 1 5.04 5.562a21.798 21.798 0 0 1 5.213-3.964C12.198.533 14.237 0 16.37 0h53.24v15.984c0 1.62.278 3.367.834 5.242a16.704 16.704 0 0 0 2.572 5.179c1.159 1.577 2.665 2.898 4.518 3.964 1.853 1.066 4.078 1.598 6.673 1.598h20.295v42.325L85.458 92.45c1.02-1.364 1.529-2.856 1.529-4.476 0-2.216-.857-4.113-2.572-5.69-1.714-1.577-3.776-2.366-6.186-2.366H26.1c-2.409 0-4.448.789-6.116 2.366-1.668 1.577-2.502 3.474-2.502 5.69 0 2.217.834 4.092 2.502 5.626 1.668 1.535 3.707 2.302 6.117 2.302h52.13zM26.1 47.951c-2.41 0-4.449.789-6.117 2.366-1.668 1.577-2.502 3.473-2.502 5.69 0 2.216.834 4.092 2.502 5.626 1.668 1.534 3.707 2.302 6.117 2.302h52.13c2.409 0 4.47-.768 6.185-2.302 1.715-1.534 2.572-3.41 2.572-5.626 0-2.217-.857-4.113-2.572-5.69-1.714-1.577-3.776-2.366-6.186-2.366H26.1zm52.407 64.063l1.807-1.663 3.476-3.196a479.75 479.75 0 0 0 4.587-4.284 500.757 500.757 0 0 1 5.004-4.667c3.985-3.666 8.48-7.758 13.485-12.276l11.677 10.741-13.485 12.404-5.004 4.603-4.587 4.22a179.46 179.46 0 0 0-3.267 3.068c-.88.853-1.367 1.322-1.46 1.407-.463.341-.973.703-1.529 1.087-.556.383-1.112.703-1.668.959-.556.256-1.413.575-2.572.959a83.5 83.5 0 0 1-3.545 1.087 72.2 72.2 0 0 1-3.475.895c-1.112.256-1.946.426-2.502.511-1.112.17-1.854.043-2.224-.383-.371-.426-.464-1.151-.278-2.174.092-.511.278-1.279.556-2.302.278-1.023.602-2.067.973-3.132l1.042-3.005c.325-.938.58-1.577.765-1.918a10.157 10.157 0 0 1 2.224-2.941z\" /></symbol>"
});
var result = __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default.a.add(symbol);
/* harmony default export */ __webpack_exports__["default"] = (symbol);
/***/ }),
/***/ 218:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__ = __webpack_require__(208);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__ = __webpack_require__(209);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__);
var symbol = new __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default.a({
"id": "icon-link",
"use": "icon-link-usage",
"viewBox": "0 0 128 128",
"content": "<symbol xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128 128\" id=\"icon-link\"><g><path d=\"M115.625 127.937H.063V12.375h57.781v12.374H12.438v90.813h90.813V70.156h12.374z\" /><path d=\"M116.426 2.821l8.753 8.753-56.734 56.734-8.753-8.745z\" /><path d=\"M127.893 37.982h-12.375V12.375H88.706V0h39.187z\" /></g></symbol>"
});
var result = __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default.a.add(symbol);
/* harmony default export */ __webpack_exports__["default"] = (symbol);
/***/ }),
/***/ 219:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__ = __webpack_require__(208);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__ = __webpack_require__(209);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__);
var symbol = new __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default.a({
"id": "icon-nested",
"use": "icon-nested-usage",
"viewBox": "0 0 128 128",
"content": "<symbol xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128 128\" id=\"icon-nested\"><path d=\"M.002 9.2c0 5.044 3.58 9.133 7.998 9.133 4.417 0 7.997-4.089 7.997-9.133 0-5.043-3.58-9.132-7.997-9.132S.002 4.157.002 9.2zM31.997.066h95.981V18.33H31.997V.066zm0 45.669c0 5.044 3.58 9.132 7.998 9.132 4.417 0 7.997-4.088 7.997-9.132 0-3.263-1.524-6.278-3.998-7.91-2.475-1.63-5.524-1.63-7.998 0-2.475 1.632-4 4.647-4 7.91zM63.992 36.6h63.986v18.265H63.992V36.6zm-31.995 82.2c0 5.043 3.58 9.132 7.998 9.132 4.417 0 7.997-4.089 7.997-9.132 0-5.044-3.58-9.133-7.997-9.133s-7.998 4.089-7.998 9.133zm31.995-9.131h63.986v18.265H63.992V109.67zm0-27.404c0 5.044 3.58 9.133 7.998 9.133 4.417 0 7.997-4.089 7.997-9.133 0-3.263-1.524-6.277-3.998-7.909-2.475-1.631-5.524-1.631-7.998 0-2.475 1.632-4 4.646-4 7.91zm31.995-9.13h31.991V91.4H95.987V73.135z\" /></symbol>"
});
var result = __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default.a.add(symbol);
/* harmony default export */ __webpack_exports__["default"] = (symbol);
/***/ }),
/***/ 220:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__ = __webpack_require__(208);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__ = __webpack_require__(209);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__);
var symbol = new __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default.a({
"id": "icon-password",
"use": "icon-password-usage",
"viewBox": "0 0 128 128",
"content": "<symbol xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128 128\" id=\"icon-password\"><path d=\"M108.8 44.322H89.6v-5.36c0-9.04-3.308-24.163-25.6-24.163-23.145 0-25.6 16.881-25.6 24.162v5.361H19.2v-5.36C19.2 15.281 36.798 0 64 0c27.202 0 44.8 15.281 44.8 38.961v5.361zm-32 39.356c0-5.44-5.763-9.832-12.8-9.832-7.037 0-12.8 4.392-12.8 9.832 0 3.682 2.567 6.808 6.407 8.477v11.205c0 2.718 2.875 4.962 6.4 4.962 3.524 0 6.4-2.244 6.4-4.962V92.155c3.833-1.669 6.393-4.795 6.393-8.477zM128 64v49.201c0 8.158-8.645 14.799-19.2 14.799H19.2C8.651 128 0 121.359 0 113.201V64c0-8.153 8.645-14.799 19.2-14.799h89.6c10.555 0 19.2 6.646 19.2 14.799z\" /></symbol>"
});
var result = __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default.a.add(symbol);
/* harmony default export */ __webpack_exports__["default"] = (symbol);
/***/ }),
/***/ 221:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__ = __webpack_require__(208);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__ = __webpack_require__(209);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__);
var symbol = new __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default.a({
"id": "icon-people",
"use": "icon-people-usage",
"viewBox": "0 0 128 128",
"content": "<symbol xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128 128\" id=\"icon-people\"><path d=\"M104.185 95.254c8.161 7.574 13.145 17.441 13.145 28.28 0 1.508-.098 2.998-.285 4.466h-10.784c.238-1.465.403-2.948.403-4.465 0-8.983-4.36-17.115-11.419-23.216C86 104.66 75.355 107.162 64 107.162c-11.344 0-21.98-2.495-31.22-6.83-7.064 6.099-11.444 14.218-11.444 23.203 0 1.517.165 3 .403 4.465H10.955a35.444 35.444 0 0 1-.285-4.465c0-10.838 4.974-20.713 13.127-28.291C9.294 85.42.003 70.417.003 53.58.003 23.99 28.656.001 64 .001s63.997 23.988 63.997 53.58c0 16.842-9.299 31.85-23.812 41.673zM64 36.867c-29.454 0-53.33-10.077-53.33 15.342 0 25.418 23.876 46.023 53.33 46.023 29.454 0 53.33-20.605 53.33-46.023 0-25.419-23.876-15.342-53.33-15.342zm24.888 25.644c-3.927 0-7.111-2.665-7.111-5.953 0-3.288 3.184-5.954 7.11-5.954 3.928 0 7.111 2.666 7.111 5.954s-3.183 5.953-7.11 5.953zm-3.556 16.372c0 4.11-9.55 7.442-21.332 7.442-11.781 0-21.332-3.332-21.332-7.442 0-1.06.656-2.064 1.8-2.976 3.295 2.626 10.79 4.465 19.532 4.465 8.743 0 16.237-1.84 19.531-4.465 1.145.912 1.801 1.916 1.801 2.976zm-46.22-16.372c-3.927 0-7.11-2.665-7.11-5.953 0-3.288 3.183-5.954 7.11-5.954 3.927 0 7.111 2.666 7.111 5.954s-3.184 5.953-7.11 5.953z\" /></symbol>"
});
var result = __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default.a.add(symbol);
/* harmony default export */ __webpack_exports__["default"] = (symbol);
/***/ }),
/***/ 222:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__ = __webpack_require__(208);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__ = __webpack_require__(209);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__);
var symbol = new __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default.a({
"id": "icon-peoples",
"use": "icon-peoples-usage",
"viewBox": "0 0 128 128",
"content": "<symbol xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128 128\" id=\"icon-peoples\"><path d=\"M95.648 118.762c0 5.035-3.563 9.121-7.979 9.121H7.98c-4.416 0-7.979-4.086-7.979-9.121C0 100.519 15.408 83.47 31.152 76.75c-9.099-6.43-15.216-17.863-15.216-30.987v-9.128c0-20.16 14.293-36.518 31.893-36.518s31.894 16.358 31.894 36.518v9.122c0 13.137-6.123 24.556-15.216 30.993 15.738 6.726 31.141 23.769 31.141 42.012z\" /><path d=\"M106.032 118.252h15.867c3.376 0 6.101-3.125 6.101-6.972 0-13.957-11.787-26.984-23.819-32.123 6.955-4.919 11.638-13.66 11.638-23.704v-6.985c0-15.416-10.928-27.926-24.39-27.926-1.674 0-3.306.193-4.89.561 1.936 4.713 3.018 9.974 3.018 15.526v9.121c0 13.137-3.056 23.111-11.066 30.993 14.842 4.41 27.312 23.42 27.541 41.509z\" /></symbol>"
});
var result = __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default.a.add(symbol);
/* harmony default export */ __webpack_exports__["default"] = (symbol);
/***/ }),
/***/ 223:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__ = __webpack_require__(208);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__ = __webpack_require__(209);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__);
var symbol = new __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default.a({
"id": "icon-table",
"use": "icon-table-usage",
"viewBox": "0 0 128 128",
"content": "<symbol xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128 128\" id=\"icon-table\"><g><path d=\"M.006.064h127.988v31.104H.006V.064zm0 38.016h38.396v41.472H.006V38.08zm0 48.384h38.396v41.472H.006V86.464zM44.802 38.08h38.396v41.472H44.802V38.08zm0 48.384h38.396v41.472H44.802V86.464zM89.598 38.08h38.396v41.472H89.598zm0 48.384h38.396v41.472H89.598z\" /><path d=\"M.006.064h127.988v31.104H.006V.064zm0 38.016h38.396v41.472H.006V38.08zm0 48.384h38.396v41.472H.006V86.464zM44.802 38.08h38.396v41.472H44.802V38.08zm0 48.384h38.396v41.472H44.802V86.464zM89.598 38.08h38.396v41.472H89.598zm0 48.384h38.396v41.472H89.598z\" /></g></symbol>"
});
var result = __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default.a.add(symbol);
/* harmony default export */ __webpack_exports__["default"] = (symbol);
/***/ }),
/***/ 224:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__ = __webpack_require__(208);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__ = __webpack_require__(209);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__);
var symbol = new __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default.a({
"id": "icon-tree",
"use": "icon-tree-usage",
"viewBox": "0 0 128 128",
"content": "<symbol xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128 128\" id=\"icon-tree\"><path d=\"M126.713 90.023c.858.985 1.287 2.134 1.287 3.447v29.553c0 1.423-.429 2.6-1.287 3.53-.858.93-1.907 1.395-3.146 1.395H97.824c-1.145 0-2.146-.465-3.004-1.395-.858-.93-1.287-2.107-1.287-3.53V93.47c0-.875.19-1.696.572-2.462.382-.766.906-1.368 1.573-1.806a3.84 3.84 0 0 1 2.146-.657h9.725V69.007a3.84 3.84 0 0 0-.43-1.806 3.569 3.569 0 0 0-1.143-1.313 2.714 2.714 0 0 0-1.573-.492h-36.47v23.149h9.725c1.144 0 2.145.492 3.004 1.478.858.985 1.287 2.134 1.287 3.447v29.553c0 .876-.191 1.696-.573 2.463-.38.766-.905 1.368-1.573 1.806a3.84 3.84 0 0 1-2.145.656H51.915a3.84 3.84 0 0 1-2.145-.656c-.668-.438-1.216-1.04-1.645-1.806a4.96 4.96 0 0 1-.644-2.463V93.47c0-1.313.43-2.462 1.288-3.447.858-.986 1.907-1.478 3.146-1.478h9.582v-23.15h-37.9c-.953 0-1.74.356-2.359 1.068-.62.711-.93 1.56-.93 2.544v19.538h9.726c1.239 0 2.264.492 3.074 1.478.81.985 1.216 2.134 1.216 3.447v29.553c0 1.423-.405 2.6-1.216 3.53-.81.93-1.835 1.395-3.074 1.395H4.29c-.476 0-.93-.082-1.358-.246a4.1 4.1 0 0 1-1.144-.657 4.658 4.658 0 0 1-.93-1.067 5.186 5.186 0 0 1-.643-1.395 5.566 5.566 0 0 1-.215-1.56V93.47c0-.437.048-.875.143-1.313a3.95 3.95 0 0 1 .429-1.15c.19-.328.429-.656.715-.984.286-.329.572-.602.858-.821.286-.22.62-.383 1.001-.493.382-.11.763-.164 1.144-.164h9.726V61.619c0-.985.31-1.833.93-2.544.619-.712 1.358-1.068 2.216-1.068h44.335V39.62h-9.582c-1.24 0-2.288-.492-3.146-1.477a5.09 5.09 0 0 1-1.287-3.448V5.14c0-1.423.429-2.627 1.287-3.612.858-.985 1.907-1.477 3.146-1.477h25.743c.763 0 1.478.246 2.145.739a5.17 5.17 0 0 1 1.573 1.888c.382.766.573 1.587.573 2.462v29.553c0 1.313-.43 2.463-1.287 3.448-.859.985-1.86 1.477-3.004 1.477h-9.725v18.389h42.762c.954 0 1.74.355 2.36 1.067.62.711.93 1.56.93 2.545v26.925h9.582c1.239 0 2.288.492 3.146 1.478z\" /></symbol>"
});
var result = __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default.a.add(symbol);
/* harmony default export */ __webpack_exports__["default"] = (symbol);
/***/ }),
/***/ 225:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__ = __webpack_require__(208);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__ = __webpack_require__(209);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__);
var symbol = new __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default.a({
"id": "icon-user",
"use": "icon-user-usage",
"viewBox": "0 0 130 130",
"content": "<symbol xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 130 130\" id=\"icon-user\"><path d=\"M63.444 64.996c20.633 0 37.359-14.308 37.359-31.953 0-17.649-16.726-31.952-37.359-31.952-20.631 0-37.36 14.303-37.358 31.952 0 17.645 16.727 31.953 37.359 31.953zM80.57 75.65H49.434c-26.652 0-48.26 18.477-48.26 41.27v2.664c0 9.316 21.608 9.325 48.26 9.325H80.57c26.649 0 48.256-.344 48.256-9.325v-2.663c0-22.794-21.605-41.271-48.256-41.271z\" stroke=\"#979797\" /></symbol>"
});
var result = __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default.a.add(symbol);
/* harmony default export */ __webpack_exports__["default"] = (symbol);
/***/ }),
/***/ 226:
/***/ (function(module, exports, __webpack_require__) {
/* styles */
__webpack_require__(213)
var Component = __webpack_require__(86)(
/* script */
__webpack_require__(211),
/* template */
__webpack_require__(227),
/* scopeId */
"data-v-4246bec4",
/* cssModules */
null
)
module.exports = Component.exports
/***/ }),
/***/ 227:
/***/ (function(module, exports) {
module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
return _c('svg', _vm._g({
class: _vm.svgClass,
attrs: {
"aria-hidden": "true"
}
}, _vm.$listeners), [_c('use', {
attrs: {
"xlink:href": _vm.iconName
}
})])
},staticRenderFns: []}
/***/ }),
/***/ 228:
/***/ (function(module, exports, __webpack_require__) {
var map = {
"./example.svg": 214,
"./eye-open.svg": 215,
"./eye.svg": 216,
"./form.svg": 217,
"./link.svg": 218,
"./nested.svg": 219,
"./password.svg": 220,
"./people.svg": 221,
"./peoples.svg": 222,
"./table.svg": 223,
"./tree.svg": 224,
"./user.svg": 225
};
function webpackContext(req) {
return __webpack_require__(webpackContextResolve(req));
};
function webpackContextResolve(req) {
var id = map[req];
if(!(id + 1)) // check for number or string
throw new Error("Cannot find module '" + req + "'.");
return id;
};
webpackContext.keys = function webpackContextKeys() {
return Object.keys(map);
};
webpackContext.resolve = webpackContextResolve;
module.exports = webpackContext;
webpackContext.id = 228;
/***/ }),
/***/ 233:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__icons__ = __webpack_require__(210);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vuex__ = __webpack_require__(87);
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ __webpack_exports__["default"] = ({
data() {
return {
loginForm: {
username: '',
password: ''
},
loginRules: {
// username: [{ required: true, trigger: 'blur', validator: validateUsername }],
// password: [{ required: true, trigger: 'blur', validator: validatePass }]
},
loading: false,
pwdType: 'password',
redirect: undefined,
nsArray: []
};
},
computed: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1_vuex__["b" /* mapGetters */])(['tokens']),
watch: {
tokens: function (val) {
this.$router.push('/home/channels');
}
},
created() {},
methods: {
showPwd() {
if (this.pwdType === 'password') {
this.pwdType = '';
} else {
this.pwdType = 'password';
}
},
handleLogin() {
this.$refs.loginForm.validate(valid => {
if (valid) {
this.loading = true;
// this.$store.dispatch('login', this.loginForm)
this.$store.dispatch('login', this.loginForm).then(() => {
this.loading = false;
}).catch(() => {
this.loading = false;
});
} else {
console.log('error submit!!');
return false;
}
});
}
}
});
/***/ }),
/***/ 236:
/***/ (function(module, exports, __webpack_require__) {
exports = module.exports = __webpack_require__(199)();
// imports
// module
exports.push([module.i, "\n.login-container .el-input {\n display: inline-block;\n height: 47px;\n width: 82%;\n}\n.login-container .el-input input {\n background: transparent;\n border: 0px;\n -webkit-appearance: none;\n border-radius: 0px;\n padding: 12px 5px 12px 15px;\n color: #eee;\n height: 47px;\n}\n.login-container .el-input input:-webkit-autofill{\n -webkit-box-shadow: 0 0 0px 1000px #2d3a4b inset !important;\n -webkit-text-fill-color: #fff !important;\n}\n/*.login-container .el-input input:-webkit-autofill*/\n/*.login-container .el-input input:-webkit-autofill:hover,*/\n/*.login-container .el-input input:-webkit-autofill:focus,*/\n/*.login-container .el-input input:-webkit-autofill:active {*/\n/* transition-delay: 99999s;*/\n/* transition: color 99999s ease-out, background-color 99999s ease-out;*/\n/* -webkit-transition-delay: 99999s;*/\n/* -webkit-transition: color 99999s ease-out, background-color 99999s ease-out;*/\n/* -webkit-text-fill-color: #807c7c;*/\n/*}*/\n.login-container .el-form-item {\n border: 1px solid rgba(255, 255, 255, .1);\n background: rgba(0, 0, 0, .1);\n border-radius: 5px;\n color: #454545;\n}\n\n", "", {"version":3,"sources":["/Users/simon/Documents/workspace/wp_202002/ka-manager-ui/src/modules/login/index.vue"],"names":[],"mappings":";AACA;IACI,sBAAsB;IACtB,aAAa;IACb,WAAW;CACd;AACD;EACE,wBAAwB;EACxB,YAAY;EACZ,yBAAyB;EACzB,mBAAmB;EACnB,4BAA4B;EAC5B,YAAY;EACZ,aAAa;CACd;AACD;EACE,4DAA4D;EAC5D,yCAAyC;CAC1C;AACD,qDAAqD;AACrD,4DAA4D;AAC5D,4DAA4D;AAC5D,8DAA8D;AAC9D,+BAA+B;AAC/B,0EAA0E;AAC1E,uCAAuC;AACvC,kFAAkF;AAClF,uCAAuC;AACvC,KAAK;AACL;IACI,0CAA0C;IAC1C,8BAA8B;IAC9B,mBAAmB;IACnB,eAAe;CAClB","file":"index.vue","sourcesContent":["\n.login-container .el-input {\n display: inline-block;\n height: 47px;\n width: 82%;\n}\n.login-container .el-input input {\n background: transparent;\n border: 0px;\n -webkit-appearance: none;\n border-radius: 0px;\n padding: 12px 5px 12px 15px;\n color: #eee;\n height: 47px;\n}\n.login-container .el-input input:-webkit-autofill{\n -webkit-box-shadow: 0 0 0px 1000px #2d3a4b inset !important;\n -webkit-text-fill-color: #fff !important;\n}\n/*.login-container .el-input input:-webkit-autofill*/\n/*.login-container .el-input input:-webkit-autofill:hover,*/\n/*.login-container .el-input input:-webkit-autofill:focus,*/\n/*.login-container .el-input input:-webkit-autofill:active {*/\n/* transition-delay: 99999s;*/\n/* transition: color 99999s ease-out, background-color 99999s ease-out;*/\n/* -webkit-transition-delay: 99999s;*/\n/* -webkit-transition: color 99999s ease-out, background-color 99999s ease-out;*/\n/* -webkit-text-fill-color: #807c7c;*/\n/*}*/\n.login-container .el-form-item {\n border: 1px solid rgba(255, 255, 255, .1);\n background: rgba(0, 0, 0, .1);\n border-radius: 5px;\n color: #454545;\n}\n\n"],"sourceRoot":""}]);
// exports
/***/ }),
/***/ 237:
/***/ (function(module, exports, __webpack_require__) {
exports = module.exports = __webpack_require__(199)();
// imports
// module
exports.push([module.i, "\n.login-container[data-v-54706fd7] {\n position: fixed;\n height: 100%;\n width: 100%;\n background-color: #2d3a4b;\n}\n.login-container .login-form[data-v-54706fd7] {\n position: absolute;\n left: 0;\n right: 0;\n width: 520px;\n max-width: 100%;\n padding: 35px 35px 15px 35px;\n margin: 120px auto;\n}\n.login-container .tips[data-v-54706fd7] {\n font-size: 14px;\n color: #fff;\n margin-bottom: 10px;\n}\n/*.login-container .tips span {*/\n/* &:first-of-type {*/\n/* margin-right: 16px;*/\n/* }*/\n/* }*/\n/* }*/\n.svg-container[data-v-54706fd7] {\n padding: 6px 5px 6px 15px;\n color: #889aa4;\n vertical-align: middle;\n width: 30px;\n display: inline-block;\n}\n.title[data-v-54706fd7] {\n font-size: 26px;\n font-weight: 400;\n color: #eee;\n margin: 0px auto 40px auto;\n text-align: center;\n font-weight: bold;\n}\n.title2[data-v-54706fd7] {\n font-size: 16px;\n font-weight: 400;\n color: #eee;\n margin: 0px auto 40px auto;\n text-align: center;\n font-weight: bold;\n}\n.show-pwd[data-v-54706fd7] {\n position: absolute;\n right: 10px;\n top: 7px;\n font-size: 16px;\n color: #889aa4;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n", "", {"version":3,"sources":["/Users/simon/Documents/workspace/wp_202002/ka-manager-ui/src/modules/login/index.vue"],"names":[],"mappings":";AACA;EACE,gBAAgB;EAChB,aAAa;EACb,YAAY;EACZ,0BAA0B;CAC3B;AACD;IACI,mBAAmB;IACnB,QAAQ;IACR,SAAS;IACT,aAAa;IACb,gBAAgB;IAChB,6BAA6B;IAC7B,mBAAmB;CACtB;AACD;EACE,gBAAgB;EAChB,YAAY;EACZ,oBAAoB;CACrB;AACD,oCAAoC;AACpC,2BAA2B;AAC3B,+BAA+B;AAC/B,WAAW;AACX,SAAS;AACT,OAAO;AACP;IACI,0BAA0B;IAC1B,eAAe;IACf,uBAAuB;IACvB,YAAY;IACZ,sBAAsB;CACzB;AACD;IACI,gBAAgB;IAChB,iBAAiB;IACjB,YAAY;IACZ,2BAA2B;IAC3B,mBAAmB;IACnB,kBAAkB;CACrB;AACD;EACE,gBAAgB;EAChB,iBAAiB;EACjB,YAAY;EACZ,2BAA2B;EAC3B,mBAAmB;EACnB,kBAAkB;CACnB;AACD;IACI,mBAAmB;IACnB,YAAY;IACZ,SAAS;IACT,gBAAgB;IAChB,eAAe;IACf,gBAAgB;IAChB,0BAA0B;OACvB,uBAAuB;QACtB,sBAAsB;YAClB,kBAAkB;CAC7B","file":"index.vue","sourcesContent":["\n.login-container[data-v-54706fd7] {\n position: fixed;\n height: 100%;\n width: 100%;\n background-color: #2d3a4b;\n}\n.login-container .login-form[data-v-54706fd7] {\n position: absolute;\n left: 0;\n right: 0;\n width: 520px;\n max-width: 100%;\n padding: 35px 35px 15px 35px;\n margin: 120px auto;\n}\n.login-container .tips[data-v-54706fd7] {\n font-size: 14px;\n color: #fff;\n margin-bottom: 10px;\n}\n/*.login-container .tips span {*/\n/* &:first-of-type {*/\n/* margin-right: 16px;*/\n/* }*/\n/* }*/\n/* }*/\n.svg-container[data-v-54706fd7] {\n padding: 6px 5px 6px 15px;\n color: #889aa4;\n vertical-align: middle;\n width: 30px;\n display: inline-block;\n}\n.title[data-v-54706fd7] {\n font-size: 26px;\n font-weight: 400;\n color: #eee;\n margin: 0px auto 40px auto;\n text-align: center;\n font-weight: bold;\n}\n.title2[data-v-54706fd7] {\n font-size: 16px;\n font-weight: 400;\n color: #eee;\n margin: 0px auto 40px auto;\n text-align: center;\n font-weight: bold;\n}\n.show-pwd[data-v-54706fd7] {\n position: absolute;\n right: 10px;\n top: 7px;\n font-size: 16px;\n color: #889aa4;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n"],"sourceRoot":""}]);
// exports
/***/ }),
/***/ 243:
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__(236);
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var update = __webpack_require__(200)("37d799be", content, true);
/***/ }),
/***/ 244:
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__(237);
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var update = __webpack_require__(200)("4bcea855", content, true);
/***/ }),
/***/ 253:
/***/ (function(module, exports) {
module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
return _c('div', {
staticClass: "login-container"
}, [_c('el-form', {
ref: "loginForm",
staticClass: "login-form",
attrs: {
"model": _vm.loginForm,
"rules": _vm.loginRules,
"auto-complete": "on",
"label-position": "left"
}
}, [_c('h3', {
staticClass: "title"
}, [_vm._v("KA管理系统")]), _vm._v(" "), _c('h3', {
staticClass: "title2"
}, [_c('span', {
staticClass: "svg-container"
}, [_c('svg-icon', {
attrs: {
"iconClass": 'example'
}
})], 1), _vm._v("登陆试试~~")]), _vm._v(" "), _c('el-form-item', {
attrs: {
"prop": "username"
}
}, [_c('span', {
staticClass: "svg-container"
}, [_c('svg-icon', {
attrs: {
"iconClass": 'user'
}
})], 1), _vm._v(" "), _c('el-input', {
attrs: {
"name": "username",
"type": "text",
"auto-complete": "on",
"placeholder": "邮箱前缀",
"suffixIcon": 'form'
},
model: {
value: (_vm.loginForm.username),
callback: function($$v) {
_vm.$set(_vm.loginForm, "username", $$v)
},
expression: "loginForm.username"
}
}, [_c('span', {
attrs: {
"slot": "suffix"
},
slot: "suffix"
}, [_vm._v("@quantgroup.cn")])])], 1), _vm._v(" "), _c('el-form-item', {
attrs: {
"prop": "password"
}
}, [_c('span', {
staticClass: "svg-container"
}, [_c('svg-icon', {
attrs: {
"iconClass": 'password'
}
})], 1), _vm._v(" "), _c('el-input', {
attrs: {
"type": _vm.pwdType,
"name": "password",
"auto-complete": "on",
"placeholder": "password"
},
nativeOn: {
"keyup": function($event) {
if (!$event.type.indexOf('key') && _vm._k($event.keyCode, "enter", 13, $event.key, "Enter")) { return null; }
return _vm.handleLogin($event)
}
},
model: {
value: (_vm.loginForm.password),
callback: function($$v) {
_vm.$set(_vm.loginForm, "password", $$v)
},
expression: "loginForm.password"
}
}), _vm._v(" "), _c('span', {
staticClass: "show-pwd",
on: {
"click": _vm.showPwd
}
}, [_c('svg-icon', {
attrs: {
"iconClass": _vm.pwdType === 'password' ? 'eye' : 'eye-open'
}
})], 1)], 1), _vm._v(" "), _c('el-form-item', [_c('el-button', {
staticStyle: {
"width": "100%"
},
attrs: {
"loading": _vm.loading,
"type": "primary"
},
nativeOn: {
"click": function($event) {
$event.preventDefault();
return _vm.handleLogin($event)
}
}
}, [_vm._v("\n 登陆\n ")])], 1)], 1)], 1)
},staticRenderFns: []}
/***/ }),
/***/ 50:
/***/ (function(module, exports, __webpack_require__) {
/* styles */
__webpack_require__(243)
__webpack_require__(244)
var Component = __webpack_require__(86)(
/* script */
__webpack_require__(233),
/* template */
__webpack_require__(253),
/* scopeId */
"data-v-54706fd7",
/* cssModules */
null
)
module.exports = Component.exports
/***/ })
});
//# sourceMappingURL=0.4573400.js.map
\ No newline at end of file
{"version":3,"sources":["webpack:///./~/svg-baker-runtime/browser-symbol.js","webpack:///./~/svg-sprite-loader/runtime/browser-sprite.build.js","webpack:///./src/icons/index.js","webpack:///index.vue","webpack:///./src/components/SvgIcon/index.vue?14f8","webpack:///./src/components/SvgIcon/index.vue?b90c","webpack:///./src/icons/svg/example.svg","webpack:///./src/icons/svg/eye-open.svg","webpack:///./src/icons/svg/eye.svg","webpack:///./src/icons/svg/form.svg","webpack:///./src/icons/svg/link.svg","webpack:///./src/icons/svg/nested.svg","webpack:///./src/icons/svg/password.svg","webpack:///./src/icons/svg/people.svg","webpack:///./src/icons/svg/peoples.svg","webpack:///./src/icons/svg/table.svg","webpack:///./src/icons/svg/tree.svg","webpack:///./src/icons/svg/user.svg","webpack:///./src/components/SvgIcon/index.vue","webpack:///./src/components/SvgIcon/index.vue?cf78","webpack:///./src/icons/svg nonrecursive \\.svg$","webpack:///index.vue?19eb","webpack:///./src/modules/login/index.vue?58b3","webpack:///./src/modules/login/index.vue?956d","webpack:///./src/modules/login/index.vue?0bf7","webpack:///./src/modules/login/index.vue?2bb0","webpack:///./src/modules/login/index.vue?f4fb","webpack:///./src/modules/login/index.vue"],"names":["Vue","component","SvgIcon","requireAll","requireContext","keys","map","req","require"],"mappings":";;;;;AAAA;AACA,CAAC,KAA4D;AAC7D;AACA;AACA,CAAC,qBAAqB;;AAEtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;;AAEA,wDAAwD,4BAA4B,EAAE;AACtF;;AAEA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;AAMA;AACA,kBAAkB,YAAY,EAAE;AAChC;;AAEA;AACA;AACA,QAAQ,KAAgD;AACxD;AACA,KAAK;AACL;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,sCAAsC;AACtC;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA,CAAC;AACD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA,4DAA4D;AAC5D;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;;AAEA,sDAAsD;AACtD;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,4BAA4B,cAAc;;AAE1C;AACA;AACA;;AAEA;AACA,aAAa,QAAQ;AACrB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,eAAe;AAC5B,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,CAAC;;AAED;;AAEA,CAAC;;;;;;;;;AC7QD;AACA,CAAC,KAA4D;AAC7D;AACA;AACA,CAAC,qBAAqB;;AAEtB;;;;;;AAMA;AACA,kBAAkB,YAAY,EAAE;AAChC;;AAEA;AACA;AACA,QAAQ,KAAgD;AACxD;AACA,KAAK;AACL;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,sCAAsC;AACtC;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA,CAAC;AACD,CAAC;;AAED;AACA;AACA;;AAEA;;AAEA;;;;;AAKA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,cAAc,OAAO;AACrB,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,IAAI;AACjB;AACA;AACA;AACA,6CAA6C,cAAc,EAAE;AAC7D,4CAA4C,oBAAoB,EAAE;AAClE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA,4DAA4D;AAC5D;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;;AAEA,sDAAsD;AACtD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,kEAAkE;AAClE;AACA,GAAG;AACH;AACA;;AAEA;AACA,qDAAqD;AACrD;AACA;;AAEA;AACA;AACA,WAAW,aAAa;AACxB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA,2CAA2C,oBAAoB,EAAE;AACjE;;AAEA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,0DAA0D,sBAAsB,EAAE;AAClF;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA,qCAAqC,oBAAoB,EAAE;AAC3D;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;;AAEA,wDAAwD,4BAA4B,EAAE;AACtF;;AAEA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,4BAA4B,cAAc;;AAE1C;AACA;AACA;;AAEA;AACA,aAAa,QAAQ;AACrB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa,eAAe;AAC5B,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA,yBAAyB,4CAA4C,EAAE;AACvE,0BAA0B,6CAA6C,EAAE;;AAEzE;AACA,qBAAqB,kFAAkF,EAAE;AACzG,uBAAuB,0CAA0C;AACjE;;AAEA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA,gCAAgC,iCAAiC;AACjE,KAAK;AACL,GAAG;AACH;;AAEA;;AAEA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA,WAAW,cAAc;AACzB,WAAW,QAAQ;AACnB,YAAY;AACZ;;AAEA;AACA;;AAEA;AACA,iCAAiC;;AAEjC;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA,+BAA+B,qBAAqB;AACpD;;AAEA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,+CAA+C,2BAA2B,EAAE;;AAE5E;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH,iCAAiC,8GAA8G,EAAE;AACjJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,4CAA4C,wCAAwC,EAAE;AACtF;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA,4BAA4B,cAAc;;AAE1C;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,aAAa,MAAM;AACnB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,oBAAoB;AACjC,cAAc,QAAQ;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,aAAa,eAAe;AAC5B,cAAc,aAAa;AAC3B;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA,OAAO;;AAEP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,kCAAkC,oBAAoB,EAAE;;AAExD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,eAAe;AAC5B,aAAa,QAAQ;AACrB,cAAc,aAAa;AAC3B;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA,GAAG,+BAA+B;;AAElC,CAAC;;AAED;AACA;AACA;AACA;AACA;;;AAGA;AACA,GAAG;AACH;AACA;AACA,oCAAoC,YAAY;AAChD,GAAG,EAAE;;AAEL;AACA;AACA;;AAEA,CAAC;AACD,CAAC;;AAED;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD,8BAA8B,SAAS,mBAAmB,EAAE;AAC5D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA;;AAEA;;AAEA,CAAC;;;;;;;;;;AC5+BD;AAAA;AAAA;AAAA;AAAA;CAC2C;;AAE3C;AACAA,2CAAGA,CAACC,SAAJ,CAAc,UAAd,EAA0BC,2DAA1B;;AAEA,MAAMC,aAAaC,kBAAkBA,eAAeC,IAAf,GAAsBC,GAAtB,CAA0BF,cAA1B,CAArC;AACA,MAAMG,MAAMC,wBAAZ;AACAL,WAAWI,GAAX,E;;;;;;;;;;;;;;;;ACDA;AACA,iBADA;AAEA;AACA;AACA,kBADA;AAEA;AAFA,KADA;AAKA;AACA,kBADA;AAEA;AAFA;AALA,GAFA;AAYA;AACA;AACA;AACA,KAHA;AAIA;AACA;AACA;AACA,OAFA,MAEA;AACA;AACA;AACA;AAVA;AAZA,G;;;;;;;ACPA,2BAA2B,mBAAO,CAAC,GAAkD;AACrF;;;AAGA;AACA,cAAc,QAAS,iCAAiC,eAAe,gBAAgB,4BAA4B,uBAAuB,qBAAqB,GAAG,UAAU,4IAA4I,KAAK,UAAU,UAAU,YAAY,aAAa,aAAa,2EAA2E,eAAe,gBAAgB,4BAA4B,uBAAuB,qBAAqB,GAAG,qBAAqB;;AAEjkB;;;;;;;;ACPA;;AAEA;AACA,cAAc,mBAAO,CAAC,GAA8N;AACpP,4CAA4C,QAAS;AACrD;AACA;AACA,aAAa,mBAAO,CAAC,GAAgE,6B;;;;;;;;ACPrF;AAAA;AAAA;AAAA;AAAA;AAAqF;AACQ;AAC7F,iBAAiB,yFAAY;AAC7B;AACA;AACA;AACA;AACA,CAAC;AACD,aAAa,uGAAM;AACJ,qE;;;;;;;;ACTf;AAAA;AAAA;AAAA;AAAA;AAAqF;AACQ;AAC7F,iBAAiB,yFAAY;AAC7B;AACA;AACA;AACA;AACA,CAAC;AACD,aAAa,uGAAM;AACJ,qE;;;;;;;;ACTf;AAAA;AAAA;AAAA;AAAA;AAAqF;AACQ;AAC7F,iBAAiB,yFAAY;AAC7B;AACA;AACA;AACA;AACA,CAAC;AACD,aAAa,uGAAM;AACJ,qE;;;;;;;;ACTf;AAAA;AAAA;AAAA;AAAA;AAAqF;AACQ;AAC7F,iBAAiB,yFAAY;AAC7B;AACA;AACA;AACA;AACA,CAAC;AACD,aAAa,uGAAM;AACJ,qE;;;;;;;;ACTf;AAAA;AAAA;AAAA;AAAA;AAAqF;AACQ;AAC7F,iBAAiB,yFAAY;AAC7B;AACA;AACA;AACA;AACA,CAAC;AACD,aAAa,uGAAM;AACJ,qE;;;;;;;;ACTf;AAAA;AAAA;AAAA;AAAA;AAAqF;AACQ;AAC7F,iBAAiB,yFAAY;AAC7B;AACA;AACA;AACA;AACA,CAAC;AACD,aAAa,uGAAM;AACJ,qE;;;;;;;;ACTf;AAAA;AAAA;AAAA;AAAA;AAAqF;AACQ;AAC7F,iBAAiB,yFAAY;AAC7B;AACA;AACA;AACA;AACA,CAAC;AACD,aAAa,uGAAM;AACJ,qE;;;;;;;;ACTf;AAAA;AAAA;AAAA;AAAA;AAAqF;AACQ;AAC7F,iBAAiB,yFAAY;AAC7B;AACA;AACA;AACA;AACA,CAAC;AACD,aAAa,uGAAM;AACJ,qE;;;;;;;;ACTf;AAAA;AAAA;AAAA;AAAA;AAAqF;AACQ;AAC7F,iBAAiB,yFAAY;AAC7B;AACA;AACA;AACA;AACA,CAAC;AACD,aAAa,uGAAM;AACJ,qE;;;;;;;;ACTf;AAAA;AAAA;AAAA;AAAA;AAAqF;AACQ;AAC7F,iBAAiB,yFAAY;AAC7B;AACA;AACA;AACA;AACA,CAAC;AACD,aAAa,uGAAM;AACJ,qE;;;;;;;;ACTf;AAAA;AAAA;AAAA;AAAA;AAAqF;AACQ;AAC7F,iBAAiB,yFAAY;AAC7B;AACA;AACA;AACA;AACA,CAAC;AACD,aAAa,uGAAM;AACJ,qE;;;;;;;;ACTf;AAAA;AAAA;AAAA;AAAA;AAAqF;AACQ;AAC7F,iBAAiB,yFAAY;AAC7B;AACA;AACA;AACA;AACA,CAAC;AACD,aAAa,uGAAM;AACJ,qE;;;;;;;;ACRf;AACA,mBAAO,CAAC,GAAmS;;AAE3S,gBAAgB,mBAAO,CAAC,EAA4D;AACpF;AACA,EAAE,mBAAO,CAAC,GAA8F;AACxG;AACA,EAAE,mBAAO,CAAC,GAA6J;AACvK;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACfA,gBAAgB,mBAAmB,aAAa,0BAA0B;AAC1E;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH,CAAC,qB;;;;;;;ACXD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACaA;AACA;;AAGA;AACA;AACA;AACA;AACA,oBADA;AAEA;AAFA,OADA;AAKA;AACA;AACA;AAFA,OALA;AASA,oBATA;AAUA,yBAVA;AAWA,yBAXA;AAYA;AAZA;AAcA,GAhBA;AAiBA,6FACA,QADA,EAjBA;AAoBA;AACA;AACA;AACA;AAHA,GApBA;AAyBA,aACA,CA1BA;AA2BA;AACA;AACA;AACA;AACA,OAFA,MAEA;AACA;AACA;AACA,KAPA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAFA,EAEA,KAFA,CAEA;AACA;AACA,WAJA;AAKA,SARA,MAQA;AACA;AACA;AACA;AACA,OAbA;AAcA;AAvBA;AA3BA,G;;;;;;;AC7CA,2BAA2B,mBAAO,CAAC,GAAkD;AACrF;;;AAGA;AACA,cAAc,QAAS,iCAAiC,4BAA4B,mBAAmB,iBAAiB,GAAG,oCAAoC,4BAA4B,gBAAgB,6BAA6B,uBAAuB,gCAAgC,gBAAgB,iBAAiB,GAAG,oDAAoD,gEAAgE,6CAA6C,GAAG,iPAAiP,iCAAiC,4EAA4E,yCAAyC,oFAAoF,yCAAyC,OAAO,oCAAoC,gDAAgD,oCAAoC,yBAAyB,qBAAqB,GAAG,YAAY,uIAAuI,KAAK,YAAY,WAAW,UAAU,KAAK,KAAK,YAAY,WAAW,YAAY,aAAa,aAAa,WAAW,UAAU,KAAK,KAAK,YAAY,aAAa,MAAM,YAAY,aAAa,aAAa,aAAa,aAAa,aAAa,aAAa,aAAa,aAAa,WAAW,KAAK,YAAY,aAAa,aAAa,WAAW,2EAA2E,4BAA4B,mBAAmB,iBAAiB,GAAG,oCAAoC,4BAA4B,gBAAgB,6BAA6B,uBAAuB,gCAAgC,gBAAgB,iBAAiB,GAAG,oDAAoD,gEAAgE,6CAA6C,GAAG,iPAAiP,iCAAiC,4EAA4E,yCAAyC,oFAAoF,yCAAyC,OAAO,oCAAoC,gDAAgD,oCAAoC,yBAAyB,qBAAqB,GAAG,uBAAuB;;AAEn1F;;;;;;;;ACPA,2BAA2B,mBAAO,CAAC,GAAkD;AACrF;;;AAGA;AACA,cAAc,QAAS,wCAAwC,oBAAoB,iBAAiB,gBAAgB,8BAA8B,GAAG,iDAAiD,yBAAyB,cAAc,eAAe,mBAAmB,sBAAsB,mCAAmC,yBAAyB,GAAG,2CAA2C,oBAAoB,gBAAgB,wBAAwB,GAAG,oCAAoC,6BAA6B,iCAAiC,aAAa,WAAW,SAAS,qCAAqC,gCAAgC,qBAAqB,6BAA6B,kBAAkB,4BAA4B,GAAG,2BAA2B,sBAAsB,uBAAuB,kBAAkB,iCAAiC,yBAAyB,wBAAwB,GAAG,4BAA4B,oBAAoB,qBAAqB,gBAAgB,+BAA+B,uBAAuB,sBAAsB,GAAG,8BAA8B,yBAAyB,kBAAkB,eAAe,sBAAsB,qBAAqB,sBAAsB,gCAAgC,gCAAgC,gCAAgC,gCAAgC,GAAG,UAAU,uIAAuI,KAAK,YAAY,WAAW,UAAU,YAAY,MAAM,KAAK,YAAY,WAAW,UAAU,UAAU,YAAY,aAAa,aAAa,MAAM,KAAK,YAAY,WAAW,YAAY,MAAM,YAAY,aAAa,aAAa,WAAW,UAAU,UAAU,KAAK,YAAY,WAAW,YAAY,WAAW,YAAY,MAAM,KAAK,YAAY,aAAa,WAAW,YAAY,aAAa,aAAa,MAAM,KAAK,YAAY,aAAa,WAAW,YAAY,aAAa,aAAa,MAAM,KAAK,YAAY,WAAW,UAAU,YAAY,WAAW,YAAY,aAAa,aAAa,aAAa,aAAa,kFAAkF,oBAAoB,iBAAiB,gBAAgB,8BAA8B,GAAG,iDAAiD,yBAAyB,cAAc,eAAe,mBAAmB,sBAAsB,mCAAmC,yBAAyB,GAAG,2CAA2C,oBAAoB,gBAAgB,wBAAwB,GAAG,oCAAoC,6BAA6B,iCAAiC,aAAa,WAAW,SAAS,qCAAqC,gCAAgC,qBAAqB,6BAA6B,kBAAkB,4BAA4B,GAAG,2BAA2B,sBAAsB,uBAAuB,kBAAkB,iCAAiC,yBAAyB,wBAAwB,GAAG,4BAA4B,oBAAoB,qBAAqB,gBAAgB,+BAA+B,uBAAuB,sBAAsB,GAAG,8BAA8B,yBAAyB,kBAAkB,eAAe,sBAAsB,qBAAqB,sBAAsB,gCAAgC,gCAAgC,gCAAgC,gCAAgC,GAAG,qBAAqB;;AAE5/G;;;;;;;;ACPA;;AAEA;AACA,cAAc,mBAAO,CAAC,GAAkN;AACxO,4CAA4C,QAAS;AACrD;AACA;AACA,aAAa,mBAAO,CAAC,GAAgE,6B;;;;;;;ACPrF;;AAEA;AACA,cAAc,mBAAO,CAAC,GAA8N;AACpP,4CAA4C,QAAS;AACrD;AACA;AACA,aAAa,mBAAO,CAAC,GAAgE,6B;;;;;;;ACPrF,gBAAgB,mBAAmB,aAAa,0BAA0B;AAC1E;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,sGAAsG,aAAa;AACnH;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC,qB;;;;;;;;ACzGD;AACA,mBAAO,CAAC,GAAuR;AAC/R,mBAAO,CAAC,GAAmS;;AAE3S,gBAAgB,mBAAO,CAAC,EAA4D;AACpF;AACA,EAAE,mBAAO,CAAC,GAA8F;AACxG;AACA,EAAE,mBAAO,CAAC,GAA6J;AACvK;AACA;AACA;AACA;AACA;;AAEA","file":"static/js/0.4573400.js","sourcesContent":["(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.BrowserSpriteSymbol = factory());\n}(this, (function () { 'use strict';\n\nvar SpriteSymbol = function SpriteSymbol(ref) {\n var id = ref.id;\n var viewBox = ref.viewBox;\n var content = ref.content;\n\n this.id = id;\n this.viewBox = viewBox;\n this.content = content;\n};\n\n/**\n * @return {string}\n */\nSpriteSymbol.prototype.stringify = function stringify () {\n return this.content;\n};\n\n/**\n * @return {string}\n */\nSpriteSymbol.prototype.toString = function toString () {\n return this.stringify();\n};\n\nSpriteSymbol.prototype.destroy = function destroy () {\n var this$1 = this;\n\n ['id', 'viewBox', 'content'].forEach(function (prop) { return delete this$1[prop]; });\n};\n\n/**\n * @param {string} content\n * @return {Element}\n */\nvar parse = function (content) {\n var hasImportNode = !!document.importNode;\n var doc = new DOMParser().parseFromString(content, 'image/svg+xml').documentElement;\n\n /**\n * Fix for browser which are throwing WrongDocumentError\n * if you insert an element which is not part of the document\n * @see http://stackoverflow.com/a/7986519/4624403\n */\n if (hasImportNode) {\n return document.importNode(doc, true);\n }\n\n return doc;\n};\n\nvar commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\n\n\n\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar deepmerge = createCommonjsModule(function (module, exports) {\n(function (root, factory) {\n if (typeof undefined === 'function' && undefined.amd) {\n undefined(factory);\n } else {\n module.exports = factory();\n }\n}(commonjsGlobal, function () {\n\nfunction isMergeableObject(val) {\n var nonNullObject = val && typeof val === 'object';\n\n return nonNullObject\n && Object.prototype.toString.call(val) !== '[object RegExp]'\n && Object.prototype.toString.call(val) !== '[object Date]'\n}\n\nfunction emptyTarget(val) {\n return Array.isArray(val) ? [] : {}\n}\n\nfunction cloneIfNecessary(value, optionsArgument) {\n var clone = optionsArgument && optionsArgument.clone === true;\n return (clone && isMergeableObject(value)) ? deepmerge(emptyTarget(value), value, optionsArgument) : value\n}\n\nfunction defaultArrayMerge(target, source, optionsArgument) {\n var destination = target.slice();\n source.forEach(function(e, i) {\n if (typeof destination[i] === 'undefined') {\n destination[i] = cloneIfNecessary(e, optionsArgument);\n } else if (isMergeableObject(e)) {\n destination[i] = deepmerge(target[i], e, optionsArgument);\n } else if (target.indexOf(e) === -1) {\n destination.push(cloneIfNecessary(e, optionsArgument));\n }\n });\n return destination\n}\n\nfunction mergeObject(target, source, optionsArgument) {\n var destination = {};\n if (isMergeableObject(target)) {\n Object.keys(target).forEach(function (key) {\n destination[key] = cloneIfNecessary(target[key], optionsArgument);\n });\n }\n Object.keys(source).forEach(function (key) {\n if (!isMergeableObject(source[key]) || !target[key]) {\n destination[key] = cloneIfNecessary(source[key], optionsArgument);\n } else {\n destination[key] = deepmerge(target[key], source[key], optionsArgument);\n }\n });\n return destination\n}\n\nfunction deepmerge(target, source, optionsArgument) {\n var array = Array.isArray(source);\n var options = optionsArgument || { arrayMerge: defaultArrayMerge };\n var arrayMerge = options.arrayMerge || defaultArrayMerge;\n\n if (array) {\n return Array.isArray(target) ? arrayMerge(target, source, optionsArgument) : cloneIfNecessary(source, optionsArgument)\n } else {\n return mergeObject(target, source, optionsArgument)\n }\n}\n\ndeepmerge.all = function deepmergeAll(array, optionsArgument) {\n if (!Array.isArray(array) || array.length < 2) {\n throw new Error('first argument should be an array with at least two elements')\n }\n\n // we are sure there are at least 2 values, so it is safe to have no initial value\n return array.reduce(function(prev, next) {\n return deepmerge(prev, next, optionsArgument)\n })\n};\n\nreturn deepmerge\n\n}));\n});\n\nvar namespaces_1 = createCommonjsModule(function (module, exports) {\nvar namespaces = {\n svg: {\n name: 'xmlns',\n uri: 'http://www.w3.org/2000/svg'\n },\n xlink: {\n name: 'xmlns:xlink',\n uri: 'http://www.w3.org/1999/xlink'\n }\n};\n\nexports.default = namespaces;\nmodule.exports = exports.default;\n});\n\n/**\n * @param {Object} attrs\n * @return {string}\n */\nvar objectToAttrsString = function (attrs) {\n return Object.keys(attrs).map(function (attr) {\n var value = attrs[attr].toString().replace(/\"/g, '&quot;');\n return (attr + \"=\\\"\" + value + \"\\\"\");\n }).join(' ');\n};\n\nvar svg = namespaces_1.svg;\nvar xlink = namespaces_1.xlink;\n\nvar defaultAttrs = {};\ndefaultAttrs[svg.name] = svg.uri;\ndefaultAttrs[xlink.name] = xlink.uri;\n\n/**\n * @param {string} [content]\n * @param {Object} [attributes]\n * @return {string}\n */\nvar wrapInSvgString = function (content, attributes) {\n if ( content === void 0 ) content = '';\n\n var attrs = deepmerge(defaultAttrs, attributes || {});\n var attrsRendered = objectToAttrsString(attrs);\n return (\"<svg \" + attrsRendered + \">\" + content + \"</svg>\");\n};\n\nvar BrowserSpriteSymbol = (function (SpriteSymbol$$1) {\n function BrowserSpriteSymbol () {\n SpriteSymbol$$1.apply(this, arguments);\n }\n\n if ( SpriteSymbol$$1 ) BrowserSpriteSymbol.__proto__ = SpriteSymbol$$1;\n BrowserSpriteSymbol.prototype = Object.create( SpriteSymbol$$1 && SpriteSymbol$$1.prototype );\n BrowserSpriteSymbol.prototype.constructor = BrowserSpriteSymbol;\n\n var prototypeAccessors = { isMounted: {} };\n\n prototypeAccessors.isMounted.get = function () {\n return !!this.node;\n };\n\n /**\n * @param {Element} node\n * @return {BrowserSpriteSymbol}\n */\n BrowserSpriteSymbol.createFromExistingNode = function createFromExistingNode (node) {\n return new BrowserSpriteSymbol({\n id: node.getAttribute('id'),\n viewBox: node.getAttribute('viewBox'),\n content: node.outerHTML\n });\n };\n\n BrowserSpriteSymbol.prototype.destroy = function destroy () {\n if (this.isMounted) {\n this.unmount();\n }\n SpriteSymbol$$1.prototype.destroy.call(this);\n };\n\n /**\n * @param {Element|string} target\n * @return {Element}\n */\n BrowserSpriteSymbol.prototype.mount = function mount (target) {\n if (this.isMounted) {\n return this.node;\n }\n\n var mountTarget = typeof target === 'string' ? document.querySelector(target) : target;\n var node = this.render();\n this.node = node;\n\n mountTarget.appendChild(node);\n\n return node;\n };\n\n /**\n * @return {Element}\n */\n BrowserSpriteSymbol.prototype.render = function render () {\n var content = this.stringify();\n return parse(wrapInSvgString(content)).childNodes[0];\n };\n\n BrowserSpriteSymbol.prototype.unmount = function unmount () {\n this.node.parentNode.removeChild(this.node);\n };\n\n Object.defineProperties( BrowserSpriteSymbol.prototype, prototypeAccessors );\n\n return BrowserSpriteSymbol;\n}(SpriteSymbol));\n\nreturn BrowserSpriteSymbol;\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/svg-baker-runtime/browser-symbol.js\n// module id = 208\n// module chunks = 0 1","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.BrowserSprite = factory());\n}(this, (function () { 'use strict';\n\nvar commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\n\n\n\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar deepmerge = createCommonjsModule(function (module, exports) {\n(function (root, factory) {\n if (typeof undefined === 'function' && undefined.amd) {\n undefined(factory);\n } else {\n module.exports = factory();\n }\n}(commonjsGlobal, function () {\n\nfunction isMergeableObject(val) {\n var nonNullObject = val && typeof val === 'object';\n\n return nonNullObject\n && Object.prototype.toString.call(val) !== '[object RegExp]'\n && Object.prototype.toString.call(val) !== '[object Date]'\n}\n\nfunction emptyTarget(val) {\n return Array.isArray(val) ? [] : {}\n}\n\nfunction cloneIfNecessary(value, optionsArgument) {\n var clone = optionsArgument && optionsArgument.clone === true;\n return (clone && isMergeableObject(value)) ? deepmerge(emptyTarget(value), value, optionsArgument) : value\n}\n\nfunction defaultArrayMerge(target, source, optionsArgument) {\n var destination = target.slice();\n source.forEach(function(e, i) {\n if (typeof destination[i] === 'undefined') {\n destination[i] = cloneIfNecessary(e, optionsArgument);\n } else if (isMergeableObject(e)) {\n destination[i] = deepmerge(target[i], e, optionsArgument);\n } else if (target.indexOf(e) === -1) {\n destination.push(cloneIfNecessary(e, optionsArgument));\n }\n });\n return destination\n}\n\nfunction mergeObject(target, source, optionsArgument) {\n var destination = {};\n if (isMergeableObject(target)) {\n Object.keys(target).forEach(function (key) {\n destination[key] = cloneIfNecessary(target[key], optionsArgument);\n });\n }\n Object.keys(source).forEach(function (key) {\n if (!isMergeableObject(source[key]) || !target[key]) {\n destination[key] = cloneIfNecessary(source[key], optionsArgument);\n } else {\n destination[key] = deepmerge(target[key], source[key], optionsArgument);\n }\n });\n return destination\n}\n\nfunction deepmerge(target, source, optionsArgument) {\n var array = Array.isArray(source);\n var options = optionsArgument || { arrayMerge: defaultArrayMerge };\n var arrayMerge = options.arrayMerge || defaultArrayMerge;\n\n if (array) {\n return Array.isArray(target) ? arrayMerge(target, source, optionsArgument) : cloneIfNecessary(source, optionsArgument)\n } else {\n return mergeObject(target, source, optionsArgument)\n }\n}\n\ndeepmerge.all = function deepmergeAll(array, optionsArgument) {\n if (!Array.isArray(array) || array.length < 2) {\n throw new Error('first argument should be an array with at least two elements')\n }\n\n // we are sure there are at least 2 values, so it is safe to have no initial value\n return array.reduce(function(prev, next) {\n return deepmerge(prev, next, optionsArgument)\n })\n};\n\nreturn deepmerge\n\n}));\n});\n\n// \n// An event handler can take an optional event argument\n// and should not return a value\n \n// An array of all currently registered event handlers for a type\n \n// A map of event types and their corresponding event handlers.\n \n \n \n\n/** Mitt: Tiny (~200b) functional event emitter / pubsub.\n * @name mitt\n * @returns {Mitt}\n */\nfunction mitt(all ) {\n\tall = all || Object.create(null);\n\n\treturn {\n\t\t/**\n\t\t * Register an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to listen for, or `\"*\"` for all events\n\t\t * @param {Function} handler Function to call in response to given event\n\t\t * @memberOf mitt\n\t\t */\n\t\ton: function on(type , handler ) {\n\t\t\t(all[type] || (all[type] = [])).push(handler);\n\t\t},\n\n\t\t/**\n\t\t * Remove an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to unregister `handler` from, or `\"*\"`\n\t\t * @param {Function} handler Handler function to remove\n\t\t * @memberOf mitt\n\t\t */\n\t\toff: function off(type , handler ) {\n\t\t\tif (all[type]) {\n\t\t\t\tall[type].splice(all[type].indexOf(handler) >>> 0, 1);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Invoke all handlers for the given type.\n\t\t * If present, `\"*\"` handlers are invoked after type-matched handlers.\n\t\t *\n\t\t * @param {String} type The event type to invoke\n\t\t * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler\n\t\t * @memberof mitt\n\t\t */\n\t\temit: function emit(type , evt ) {\n\t\t\t(all[type] || []).map(function (handler) { handler(evt); });\n\t\t\t(all['*'] || []).map(function (handler) { handler(type, evt); });\n\t\t}\n\t};\n}\n\nvar namespaces_1 = createCommonjsModule(function (module, exports) {\nvar namespaces = {\n svg: {\n name: 'xmlns',\n uri: 'http://www.w3.org/2000/svg'\n },\n xlink: {\n name: 'xmlns:xlink',\n uri: 'http://www.w3.org/1999/xlink'\n }\n};\n\nexports.default = namespaces;\nmodule.exports = exports.default;\n});\n\n/**\n * @param {Object} attrs\n * @return {string}\n */\nvar objectToAttrsString = function (attrs) {\n return Object.keys(attrs).map(function (attr) {\n var value = attrs[attr].toString().replace(/\"/g, '&quot;');\n return (attr + \"=\\\"\" + value + \"\\\"\");\n }).join(' ');\n};\n\nvar svg = namespaces_1.svg;\nvar xlink = namespaces_1.xlink;\n\nvar defaultAttrs = {};\ndefaultAttrs[svg.name] = svg.uri;\ndefaultAttrs[xlink.name] = xlink.uri;\n\n/**\n * @param {string} [content]\n * @param {Object} [attributes]\n * @return {string}\n */\nvar wrapInSvgString = function (content, attributes) {\n if ( content === void 0 ) content = '';\n\n var attrs = deepmerge(defaultAttrs, attributes || {});\n var attrsRendered = objectToAttrsString(attrs);\n return (\"<svg \" + attrsRendered + \">\" + content + \"</svg>\");\n};\n\nvar svg$1 = namespaces_1.svg;\nvar xlink$1 = namespaces_1.xlink;\n\nvar defaultConfig = {\n attrs: ( obj = {\n style: ['position: absolute', 'width: 0', 'height: 0'].join('; '),\n 'aria-hidden': 'true'\n }, obj[svg$1.name] = svg$1.uri, obj[xlink$1.name] = xlink$1.uri, obj )\n};\nvar obj;\n\nvar Sprite = function Sprite(config) {\n this.config = deepmerge(defaultConfig, config || {});\n this.symbols = [];\n};\n\n/**\n * Add new symbol. If symbol with the same id exists it will be replaced.\n * @param {SpriteSymbol} symbol\n * @return {boolean} `true` - symbol was added, `false` - replaced\n */\nSprite.prototype.add = function add (symbol) {\n var ref = this;\n var symbols = ref.symbols;\n var existing = this.find(symbol.id);\n\n if (existing) {\n symbols[symbols.indexOf(existing)] = symbol;\n return false;\n }\n\n symbols.push(symbol);\n return true;\n};\n\n/**\n * Remove symbol & destroy it\n * @param {string} id\n * @return {boolean} `true` - symbol was found & successfully destroyed, `false` - otherwise\n */\nSprite.prototype.remove = function remove (id) {\n var ref = this;\n var symbols = ref.symbols;\n var symbol = this.find(id);\n\n if (symbol) {\n symbols.splice(symbols.indexOf(symbol), 1);\n symbol.destroy();\n return true;\n }\n\n return false;\n};\n\n/**\n * @param {string} id\n * @return {SpriteSymbol|null}\n */\nSprite.prototype.find = function find (id) {\n return this.symbols.filter(function (s) { return s.id === id; })[0] || null;\n};\n\n/**\n * @param {string} id\n * @return {boolean}\n */\nSprite.prototype.has = function has (id) {\n return this.find(id) !== null;\n};\n\n/**\n * @return {string}\n */\nSprite.prototype.stringify = function stringify () {\n var ref = this.config;\n var attrs = ref.attrs;\n var stringifiedSymbols = this.symbols.map(function (s) { return s.stringify(); }).join('');\n return wrapInSvgString(stringifiedSymbols, attrs);\n};\n\n/**\n * @return {string}\n */\nSprite.prototype.toString = function toString () {\n return this.stringify();\n};\n\nSprite.prototype.destroy = function destroy () {\n this.symbols.forEach(function (s) { return s.destroy(); });\n};\n\nvar SpriteSymbol = function SpriteSymbol(ref) {\n var id = ref.id;\n var viewBox = ref.viewBox;\n var content = ref.content;\n\n this.id = id;\n this.viewBox = viewBox;\n this.content = content;\n};\n\n/**\n * @return {string}\n */\nSpriteSymbol.prototype.stringify = function stringify () {\n return this.content;\n};\n\n/**\n * @return {string}\n */\nSpriteSymbol.prototype.toString = function toString () {\n return this.stringify();\n};\n\nSpriteSymbol.prototype.destroy = function destroy () {\n var this$1 = this;\n\n ['id', 'viewBox', 'content'].forEach(function (prop) { return delete this$1[prop]; });\n};\n\n/**\n * @param {string} content\n * @return {Element}\n */\nvar parse = function (content) {\n var hasImportNode = !!document.importNode;\n var doc = new DOMParser().parseFromString(content, 'image/svg+xml').documentElement;\n\n /**\n * Fix for browser which are throwing WrongDocumentError\n * if you insert an element which is not part of the document\n * @see http://stackoverflow.com/a/7986519/4624403\n */\n if (hasImportNode) {\n return document.importNode(doc, true);\n }\n\n return doc;\n};\n\nvar BrowserSpriteSymbol = (function (SpriteSymbol$$1) {\n function BrowserSpriteSymbol () {\n SpriteSymbol$$1.apply(this, arguments);\n }\n\n if ( SpriteSymbol$$1 ) BrowserSpriteSymbol.__proto__ = SpriteSymbol$$1;\n BrowserSpriteSymbol.prototype = Object.create( SpriteSymbol$$1 && SpriteSymbol$$1.prototype );\n BrowserSpriteSymbol.prototype.constructor = BrowserSpriteSymbol;\n\n var prototypeAccessors = { isMounted: {} };\n\n prototypeAccessors.isMounted.get = function () {\n return !!this.node;\n };\n\n /**\n * @param {Element} node\n * @return {BrowserSpriteSymbol}\n */\n BrowserSpriteSymbol.createFromExistingNode = function createFromExistingNode (node) {\n return new BrowserSpriteSymbol({\n id: node.getAttribute('id'),\n viewBox: node.getAttribute('viewBox'),\n content: node.outerHTML\n });\n };\n\n BrowserSpriteSymbol.prototype.destroy = function destroy () {\n if (this.isMounted) {\n this.unmount();\n }\n SpriteSymbol$$1.prototype.destroy.call(this);\n };\n\n /**\n * @param {Element|string} target\n * @return {Element}\n */\n BrowserSpriteSymbol.prototype.mount = function mount (target) {\n if (this.isMounted) {\n return this.node;\n }\n\n var mountTarget = typeof target === 'string' ? document.querySelector(target) : target;\n var node = this.render();\n this.node = node;\n\n mountTarget.appendChild(node);\n\n return node;\n };\n\n /**\n * @return {Element}\n */\n BrowserSpriteSymbol.prototype.render = function render () {\n var content = this.stringify();\n return parse(wrapInSvgString(content)).childNodes[0];\n };\n\n BrowserSpriteSymbol.prototype.unmount = function unmount () {\n this.node.parentNode.removeChild(this.node);\n };\n\n Object.defineProperties( BrowserSpriteSymbol.prototype, prototypeAccessors );\n\n return BrowserSpriteSymbol;\n}(SpriteSymbol));\n\nvar defaultConfig$1 = {\n /**\n * Should following options be automatically configured:\n * - `syncUrlsWithBaseTag`\n * - `locationChangeAngularEmitter`\n * - `moveGradientsOutsideSymbol`\n * @type {boolean}\n */\n autoConfigure: true,\n\n /**\n * Default mounting selector\n * @type {string}\n */\n mountTo: 'body',\n\n /**\n * Fix disappearing SVG elements when <base href> exists.\n * Executes when sprite mounted.\n * @see http://stackoverflow.com/a/18265336/796152\n * @see https://github.com/everdimension/angular-svg-base-fix\n * @see https://github.com/angular/angular.js/issues/8934#issuecomment-56568466\n * @type {boolean}\n */\n syncUrlsWithBaseTag: false,\n\n /**\n * Should sprite listen custom location change event\n * @type {boolean}\n */\n listenLocationChangeEvent: true,\n\n /**\n * Custom window event name which should be emitted to update sprite urls\n * @type {string}\n */\n locationChangeEvent: 'locationChange',\n\n /**\n * Emit location change event in Angular automatically\n * @type {boolean}\n */\n locationChangeAngularEmitter: false,\n\n /**\n * Selector to find symbols usages when updating sprite urls\n * @type {string}\n */\n usagesToUpdate: 'use[*|href]',\n\n /**\n * Fix Firefox bug when gradients and patterns don't work if they are within a symbol.\n * Executes when sprite is rendered, but not mounted.\n * @see https://bugzilla.mozilla.org/show_bug.cgi?id=306674\n * @see https://bugzilla.mozilla.org/show_bug.cgi?id=353575\n * @see https://bugzilla.mozilla.org/show_bug.cgi?id=1235364\n * @type {boolean}\n */\n moveGradientsOutsideSymbol: false\n};\n\n/**\n * @param {*} arrayLike\n * @return {Array}\n */\nvar arrayFrom = function (arrayLike) {\n return Array.prototype.slice.call(arrayLike, 0);\n};\n\nvar browser = {\n isChrome: function () { return /chrome/i.test(navigator.userAgent); },\n isFirefox: function () { return /firefox/i.test(navigator.userAgent); },\n\n // https://msdn.microsoft.com/en-us/library/ms537503(v=vs.85).aspx\n isIE: function () { return /msie/i.test(navigator.userAgent) || /trident/i.test(navigator.userAgent); },\n isEdge: function () { return /edge/i.test(navigator.userAgent); }\n};\n\n/**\n * @param {string} name\n * @param {*} data\n */\nvar dispatchEvent = function (name, data) {\n var event = document.createEvent('CustomEvent');\n event.initCustomEvent(name, false, false, data);\n window.dispatchEvent(event);\n};\n\n/**\n * IE doesn't evaluate <style> tags in SVGs that are dynamically added to the page.\n * This trick will trigger IE to read and use any existing SVG <style> tags.\n * @see https://github.com/iconic/SVGInjector/issues/23\n * @see https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/10898469/\n *\n * @param {Element} node DOM Element to search <style> tags in\n * @return {Array<HTMLStyleElement>}\n */\nvar evalStylesIEWorkaround = function (node) {\n var updatedNodes = [];\n\n arrayFrom(node.querySelectorAll('style'))\n .forEach(function (style) {\n style.textContent += '';\n updatedNodes.push(style);\n });\n\n return updatedNodes;\n};\n\n/**\n * @param {string} [url] If not provided - current URL will be used\n * @return {string}\n */\nvar getUrlWithoutFragment = function (url) {\n return (url || window.location.href).split('#')[0];\n};\n\n/* global angular */\n/**\n * @param {string} eventName\n */\nvar locationChangeAngularEmitter = function (eventName) {\n angular.module('ng').run(['$rootScope', function ($rootScope) {\n $rootScope.$on('$locationChangeSuccess', function (e, newUrl, oldUrl) {\n dispatchEvent(eventName, { oldUrl: oldUrl, newUrl: newUrl });\n });\n }]);\n};\n\nvar defaultSelector = 'linearGradient, radialGradient, pattern, mask, clipPath';\n\n/**\n * @param {Element} svg\n * @param {string} [selector]\n * @return {Element}\n */\nvar moveGradientsOutsideSymbol = function (svg, selector) {\n if ( selector === void 0 ) selector = defaultSelector;\n\n arrayFrom(svg.querySelectorAll('symbol')).forEach(function (symbol) {\n arrayFrom(symbol.querySelectorAll(selector)).forEach(function (node) {\n symbol.parentNode.insertBefore(node, symbol);\n });\n });\n return svg;\n};\n\n/**\n * @param {NodeList} nodes\n * @param {Function} [matcher]\n * @return {Attr[]}\n */\nfunction selectAttributes(nodes, matcher) {\n var attrs = arrayFrom(nodes).reduce(function (acc, node) {\n if (!node.attributes) {\n return acc;\n }\n\n var arrayfied = arrayFrom(node.attributes);\n var matched = matcher ? arrayfied.filter(matcher) : arrayfied;\n return acc.concat(matched);\n }, []);\n\n return attrs;\n}\n\n/**\n * @param {NodeList|Node} nodes\n * @param {boolean} [clone=true]\n * @return {string}\n */\n\nvar xLinkNS = namespaces_1.xlink.uri;\nvar xLinkAttrName = 'xlink:href';\n\n// eslint-disable-next-line no-useless-escape\nvar specialUrlCharsPattern = /[{}|\\\\\\^\\[\\]`\"<>]/g;\n\nfunction encoder(url) {\n return url.replace(specialUrlCharsPattern, function (match) {\n return (\"%\" + (match[0].charCodeAt(0).toString(16).toUpperCase()));\n });\n}\n\nfunction escapeRegExp(str) {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\"); // $& means the whole matched string\n}\n\n/**\n * @param {NodeList} nodes\n * @param {string} startsWith\n * @param {string} replaceWith\n * @return {NodeList}\n */\nfunction updateReferences(nodes, startsWith, replaceWith) {\n arrayFrom(nodes).forEach(function (node) {\n var href = node.getAttribute(xLinkAttrName);\n if (href && href.indexOf(startsWith) === 0) {\n var newUrl = href.replace(startsWith, replaceWith);\n node.setAttributeNS(xLinkNS, xLinkAttrName, newUrl);\n }\n });\n\n return nodes;\n}\n\n/**\n * List of SVG attributes to update url() target in them\n */\nvar attList = [\n 'clipPath',\n 'colorProfile',\n 'src',\n 'cursor',\n 'fill',\n 'filter',\n 'marker',\n 'markerStart',\n 'markerMid',\n 'markerEnd',\n 'mask',\n 'stroke',\n 'style'\n];\n\nvar attSelector = attList.map(function (attr) { return (\"[\" + attr + \"]\"); }).join(',');\n\n/**\n * Update URLs in svg image (like `fill=\"url(...)\"`) and update referencing elements\n * @param {Element} svg\n * @param {NodeList} references\n * @param {string|RegExp} startsWith\n * @param {string} replaceWith\n * @return {void}\n *\n * @example\n * const sprite = document.querySelector('svg.sprite');\n * const usages = document.querySelectorAll('use');\n * updateUrls(sprite, usages, '#', 'prefix#');\n */\nvar updateUrls = function (svg, references, startsWith, replaceWith) {\n var startsWithEncoded = encoder(startsWith);\n var replaceWithEncoded = encoder(replaceWith);\n\n var nodes = svg.querySelectorAll(attSelector);\n var attrs = selectAttributes(nodes, function (ref) {\n var localName = ref.localName;\n var value = ref.value;\n\n return attList.indexOf(localName) !== -1 && value.indexOf((\"url(\" + startsWithEncoded)) !== -1;\n });\n\n attrs.forEach(function (attr) { return attr.value = attr.value.replace(new RegExp(escapeRegExp(startsWithEncoded), 'g'), replaceWithEncoded); });\n updateReferences(references, startsWithEncoded, replaceWithEncoded);\n};\n\n/**\n * Internal emitter events\n * @enum\n * @private\n */\nvar Events = {\n MOUNT: 'mount',\n SYMBOL_MOUNT: 'symbol_mount'\n};\n\nvar BrowserSprite = (function (Sprite$$1) {\n function BrowserSprite(cfg) {\n var this$1 = this;\n if ( cfg === void 0 ) cfg = {};\n\n Sprite$$1.call(this, deepmerge(defaultConfig$1, cfg));\n\n var emitter = mitt();\n this._emitter = emitter;\n this.node = null;\n\n var ref = this;\n var config = ref.config;\n\n if (config.autoConfigure) {\n this._autoConfigure(cfg);\n }\n\n if (config.syncUrlsWithBaseTag) {\n var baseUrl = document.getElementsByTagName('base')[0].getAttribute('href');\n emitter.on(Events.MOUNT, function () { return this$1.updateUrls('#', baseUrl); });\n }\n\n var handleLocationChange = this._handleLocationChange.bind(this);\n this._handleLocationChange = handleLocationChange;\n\n // Provide way to update sprite urls externally via dispatching custom window event\n if (config.listenLocationChangeEvent) {\n window.addEventListener(config.locationChangeEvent, handleLocationChange);\n }\n\n // Emit location change event in Angular automatically\n if (config.locationChangeAngularEmitter) {\n locationChangeAngularEmitter(config.locationChangeEvent);\n }\n\n // After sprite mounted\n emitter.on(Events.MOUNT, function (spriteNode) {\n if (config.moveGradientsOutsideSymbol) {\n moveGradientsOutsideSymbol(spriteNode);\n }\n });\n\n // After symbol mounted into sprite\n emitter.on(Events.SYMBOL_MOUNT, function (symbolNode) {\n if (config.moveGradientsOutsideSymbol) {\n moveGradientsOutsideSymbol(symbolNode.parentNode);\n }\n\n if (browser.isIE() || browser.isEdge()) {\n evalStylesIEWorkaround(symbolNode);\n }\n });\n }\n\n if ( Sprite$$1 ) BrowserSprite.__proto__ = Sprite$$1;\n BrowserSprite.prototype = Object.create( Sprite$$1 && Sprite$$1.prototype );\n BrowserSprite.prototype.constructor = BrowserSprite;\n\n var prototypeAccessors = { isMounted: {} };\n\n /**\n * @return {boolean}\n */\n prototypeAccessors.isMounted.get = function () {\n return !!this.node;\n };\n\n /**\n * Automatically configure following options\n * - `syncUrlsWithBaseTag`\n * - `locationChangeAngularEmitter`\n * - `moveGradientsOutsideSymbol`\n * @param {Object} cfg\n * @private\n */\n BrowserSprite.prototype._autoConfigure = function _autoConfigure (cfg) {\n var ref = this;\n var config = ref.config;\n\n if (typeof cfg.syncUrlsWithBaseTag === 'undefined') {\n config.syncUrlsWithBaseTag = typeof document.getElementsByTagName('base')[0] !== 'undefined';\n }\n\n if (typeof cfg.locationChangeAngularEmitter === 'undefined') {\n config.locationChangeAngularEmitter = typeof window.angular !== 'undefined';\n }\n\n if (typeof cfg.moveGradientsOutsideSymbol === 'undefined') {\n config.moveGradientsOutsideSymbol = browser.isFirefox();\n }\n };\n\n /**\n * @param {Event} event\n * @param {Object} event.detail\n * @param {string} event.detail.oldUrl\n * @param {string} event.detail.newUrl\n * @private\n */\n BrowserSprite.prototype._handleLocationChange = function _handleLocationChange (event) {\n var ref = event.detail;\n var oldUrl = ref.oldUrl;\n var newUrl = ref.newUrl;\n this.updateUrls(oldUrl, newUrl);\n };\n\n /**\n * Add new symbol. If symbol with the same id exists it will be replaced.\n * If sprite already mounted - `symbol.mount(sprite.node)` will be called.\n * @fires Events#SYMBOL_MOUNT\n * @param {BrowserSpriteSymbol} symbol\n * @return {boolean} `true` - symbol was added, `false` - replaced\n */\n BrowserSprite.prototype.add = function add (symbol) {\n var sprite = this;\n var isNewSymbol = Sprite$$1.prototype.add.call(this, symbol);\n\n if (this.isMounted && isNewSymbol) {\n symbol.mount(sprite.node);\n this._emitter.emit(Events.SYMBOL_MOUNT, symbol.node);\n }\n\n return isNewSymbol;\n };\n\n /**\n * Attach to existing DOM node\n * @param {string|Element} target\n * @return {Element|null} attached DOM Element. null if node to attach not found.\n */\n BrowserSprite.prototype.attach = function attach (target) {\n var this$1 = this;\n\n var sprite = this;\n\n if (sprite.isMounted) {\n return sprite.node;\n }\n\n /** @type Element */\n var node = typeof target === 'string' ? document.querySelector(target) : target;\n sprite.node = node;\n\n // Already added symbols needs to be mounted\n this.symbols.forEach(function (symbol) {\n symbol.mount(sprite.node);\n this$1._emitter.emit(Events.SYMBOL_MOUNT, symbol.node);\n });\n\n // Create symbols from existing DOM nodes, add and mount them\n arrayFrom(node.querySelectorAll('symbol'))\n .forEach(function (symbolNode) {\n var symbol = BrowserSpriteSymbol.createFromExistingNode(symbolNode);\n symbol.node = symbolNode; // hack to prevent symbol mounting to sprite when adding\n sprite.add(symbol);\n });\n\n this._emitter.emit(Events.MOUNT, node);\n\n return node;\n };\n\n BrowserSprite.prototype.destroy = function destroy () {\n var ref = this;\n var config = ref.config;\n var symbols = ref.symbols;\n var _emitter = ref._emitter;\n\n symbols.forEach(function (s) { return s.destroy(); });\n\n _emitter.off('*');\n window.removeEventListener(config.locationChangeEvent, this._handleLocationChange);\n\n if (this.isMounted) {\n this.unmount();\n }\n };\n\n /**\n * @fires Events#MOUNT\n * @param {string|Element} [target]\n * @param {boolean} [prepend=false]\n * @return {Element|null} rendered sprite node. null if mount node not found.\n */\n BrowserSprite.prototype.mount = function mount (target, prepend) {\n if ( target === void 0 ) target = this.config.mountTo;\n if ( prepend === void 0 ) prepend = false;\n\n var sprite = this;\n\n if (sprite.isMounted) {\n return sprite.node;\n }\n\n var mountNode = typeof target === 'string' ? document.querySelector(target) : target;\n var node = sprite.render();\n this.node = node;\n\n if (prepend && mountNode.childNodes[0]) {\n mountNode.insertBefore(node, mountNode.childNodes[0]);\n } else {\n mountNode.appendChild(node);\n }\n\n this._emitter.emit(Events.MOUNT, node);\n\n return node;\n };\n\n /**\n * @return {Element}\n */\n BrowserSprite.prototype.render = function render () {\n return parse(this.stringify());\n };\n\n /**\n * Detach sprite from the DOM\n */\n BrowserSprite.prototype.unmount = function unmount () {\n this.node.parentNode.removeChild(this.node);\n };\n\n /**\n * Update URLs in sprite and usage elements\n * @param {string} oldUrl\n * @param {string} newUrl\n * @return {boolean} `true` - URLs was updated, `false` - sprite is not mounted\n */\n BrowserSprite.prototype.updateUrls = function updateUrls$1 (oldUrl, newUrl) {\n if (!this.isMounted) {\n return false;\n }\n\n var usages = document.querySelectorAll(this.config.usagesToUpdate);\n\n updateUrls(\n this.node,\n usages,\n ((getUrlWithoutFragment(oldUrl)) + \"#\"),\n ((getUrlWithoutFragment(newUrl)) + \"#\")\n );\n\n return true;\n };\n\n Object.defineProperties( BrowserSprite.prototype, prototypeAccessors );\n\n return BrowserSprite;\n}(Sprite));\n\nvar ready$1 = createCommonjsModule(function (module) {\n/*!\n * domready (c) Dustin Diaz 2014 - License MIT\n */\n!function (name, definition) {\n\n { module.exports = definition(); }\n\n}('domready', function () {\n\n var fns = [], listener\n , doc = document\n , hack = doc.documentElement.doScroll\n , domContentLoaded = 'DOMContentLoaded'\n , loaded = (hack ? /^loaded|^c/ : /^loaded|^i|^c/).test(doc.readyState);\n\n\n if (!loaded)\n { doc.addEventListener(domContentLoaded, listener = function () {\n doc.removeEventListener(domContentLoaded, listener);\n loaded = 1;\n while (listener = fns.shift()) { listener(); }\n }); }\n\n return function (fn) {\n loaded ? setTimeout(fn, 0) : fns.push(fn);\n }\n\n});\n});\n\nvar spriteNodeId = '__SVG_SPRITE_NODE__';\nvar spriteGlobalVarName = '__SVG_SPRITE__';\nvar isSpriteExists = !!window[spriteGlobalVarName];\n\n// eslint-disable-next-line import/no-mutable-exports\nvar sprite;\n\nif (isSpriteExists) {\n sprite = window[spriteGlobalVarName];\n} else {\n sprite = new BrowserSprite({ attrs: { id: spriteNodeId } });\n window[spriteGlobalVarName] = sprite;\n}\n\nvar loadSprite = function () {\n /**\n * Check for page already contains sprite node\n * If found - attach to and reuse it's content\n * If not - render and mount the new sprite\n */\n var existing = document.getElementById(spriteNodeId);\n\n if (existing) {\n sprite.attach(existing);\n } else {\n sprite.mount(document.body, true);\n }\n};\n\nif (document.body) {\n loadSprite();\n} else {\n ready$1(loadSprite);\n}\n\nvar sprite$1 = sprite;\n\nreturn sprite$1;\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/svg-sprite-loader/runtime/browser-sprite.build.js\n// module id = 209\n// module chunks = 0 1","import Vue from 'vue'\nimport SvgIcon from '@/components/SvgIcon' // svg组件\n\n// register globally\nVue.component('svg-icon', SvgIcon)\n\nconst requireAll = requireContext => requireContext.keys().map(requireContext)\nconst req = require.context('./svg', false, /\\.svg$/)\nrequireAll(req)\n\n\n\n// WEBPACK FOOTER //\n// ./src/icons/index.js","<template>\n <svg :class=\"svgClass\" aria-hidden=\"true\" v-on=\"$listeners\">\n <use :xlink:href=\"iconName\"/>\n </svg>\n</template>\n\n<script>\nexport default {\n name: 'SvgIcon',\n props: {\n iconClass: {\n type: String,\n required: true\n },\n className: {\n type: String,\n default: ''\n }\n },\n computed: {\n iconName() {\n return `#icon-${this.iconClass}`\n },\n svgClass() {\n if (this.className) {\n return 'svg-icon ' + this.className\n } else {\n return 'svg-icon'\n }\n }\n }\n}\n</script>\n\n<style scoped>\n.svg-icon {\n width: 1em;\n height: 1em;\n vertical-align: -0.15em;\n fill: currentColor;\n overflow: hidden;\n}\n</style>\n\n\n\n// WEBPACK FOOTER //\n// index.vue?165596ec","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"\\n.svg-icon[data-v-4246bec4] {\\n width: 1em;\\n height: 1em;\\n vertical-align: -0.15em;\\n fill: currentColor;\\n overflow: hidden;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"/Users/simon/Documents/workspace/wp_202002/ka-manager-ui/src/components/SvgIcon/index.vue\"],\"names\":[],\"mappings\":\";AACA;EACE,WAAW;EACX,YAAY;EACZ,wBAAwB;EACxB,mBAAmB;EACnB,iBAAiB;CAClB\",\"file\":\"index.vue\",\"sourcesContent\":[\"\\n.svg-icon[data-v-4246bec4] {\\n width: 1em;\\n height: 1em;\\n vertical-align: -0.15em;\\n fill: currentColor;\\n overflow: hidden;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader?sourceMap!./~/vue-loader/lib/style-rewriter.js?id=data-v-4246bec4&scoped=true!./~/vue-loader/lib/selector.js?type=styles&index=0!./src/components/SvgIcon/index.vue\n// module id = 212\n// module chunks = 0 1","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?sourceMap!../../../node_modules/vue-loader/lib/style-rewriter.js?id=data-v-4246bec4&scoped=true!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\")(\"3148892f\", content, true);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/extract-text-webpack-plugin/loader.js?{\"omit\":1,\"remove\":true}!./~/vue-style-loader!./~/css-loader?sourceMap!./~/vue-loader/lib/style-rewriter.js?id=data-v-4246bec4&scoped=true!./~/vue-loader/lib/selector.js?type=styles&index=0!./src/components/SvgIcon/index.vue\n// module id = 213\n// module chunks = 0 1","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-example\",\n \"use\": \"icon-example-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-example\\\"><path d=\\\"M96.258 57.462h31.421C124.794 27.323 100.426 2.956 70.287.07v31.422a32.856 32.856 0 0 1 25.971 25.97zm-38.796-25.97V.07C27.323 2.956 2.956 27.323.07 57.462h31.422a32.856 32.856 0 0 1 25.97-25.97zm12.825 64.766v31.421c30.46-2.885 54.507-27.253 57.713-57.712H96.579c-2.886 13.466-13.146 23.726-26.292 26.291zM31.492 70.287H.07c2.886 30.46 27.253 54.507 57.713 57.713V96.579c-13.466-2.886-23.726-13.146-26.291-26.292z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/icons/svg/example.svg\n// module id = 214\n// module chunks = 0 1","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-eye-open\",\n \"use\": \"icon-eye-open-usage\",\n \"viewBox\": \"0 0 1024 1024\",\n \"content\": \"<symbol class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"icon-eye-open\\\"><defs><style></style></defs><path d=\\\"M512 128q69.675 0 135.51 21.163t115.498 54.997 93.483 74.837 73.685 82.006 51.67 74.837 32.17 54.827L1024 512q-2.347 4.992-6.315 13.483T998.87 560.17t-31.658 51.669-44.331 59.99-56.832 64.34-69.504 60.16-82.347 51.5-94.848 34.687T512 896q-69.675 0-135.51-21.163t-115.498-54.826-93.483-74.326-73.685-81.493-51.67-74.496-32.17-54.997L0 513.707q2.347-4.992 6.315-13.483t18.816-34.816 31.658-51.84 44.331-60.33 56.832-64.683 69.504-60.331 82.347-51.84 94.848-34.816T512 128.085zm0 85.333q-46.677 0-91.648 12.331t-81.152 31.83-70.656 47.146-59.648 54.485-48.853 57.686-37.675 52.821-26.325 43.99q12.33 21.674 26.325 43.52t37.675 52.351 48.853 57.003 59.648 53.845T339.2 767.02t81.152 31.488T512 810.667t91.648-12.331 81.152-31.659 70.656-46.848 59.648-54.186 48.853-57.344 37.675-52.651T927.957 512q-12.33-21.675-26.325-43.648t-37.675-52.65-48.853-57.345-59.648-54.186-70.656-46.848-81.152-31.659T512 213.334zm0 128q70.656 0 120.661 50.006T682.667 512 632.66 632.661 512 682.667 391.339 632.66 341.333 512t50.006-120.661T512 341.333zm0 85.334q-35.328 0-60.33 25.002T426.666 512t25.002 60.33T512 597.334t60.33-25.002T597.334 512t-25.002-60.33T512 426.666z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/icons/svg/eye-open.svg\n// module id = 215\n// module chunks = 0 1","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-eye\",\n \"use\": \"icon-eye-usage\",\n \"viewBox\": \"0 0 128 64\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 64\\\" id=\\\"icon-eye\\\"><path d=\\\"M127.072 7.994c1.37-2.208.914-5.152-.914-6.87-2.056-1.717-4.797-1.226-6.396.982-.229.245-25.586 32.382-55.74 32.382-29.24 0-55.74-32.382-55.968-32.627-1.6-1.963-4.57-2.208-6.397-.49C-.17 3.086-.399 6.275 1.2 8.238c.457.736 5.94 7.36 14.62 14.72L4.17 35.96c-1.828 1.963-1.6 5.152.228 6.87.457.98 1.6 1.471 2.742 1.471s2.284-.49 3.198-1.472l12.564-13.983c5.94 4.416 13.021 8.587 20.788 11.53l-4.797 17.418c-.685 2.699.686 5.397 3.198 6.133h1.37c2.057 0 3.884-1.472 4.341-3.68L52.6 42.83c3.655.736 7.538 1.227 11.422 1.227 3.883 0 7.767-.49 11.422-1.227l4.797 17.173c.457 2.208 2.513 3.68 4.34 3.68.457 0 .914 0 1.143-.246 2.513-.736 3.883-3.434 3.198-6.133l-4.797-17.172c7.767-2.944 14.848-7.114 20.788-11.53l12.336 13.738c.913.981 2.056 1.472 3.198 1.472s2.284-.49 3.198-1.472c1.828-1.963 1.828-4.906.228-6.87l-11.65-13.001c9.366-7.36 14.849-14.474 14.849-14.474z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/icons/svg/eye.svg\n// module id = 216\n// module chunks = 0 1","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-form\",\n \"use\": \"icon-form-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-form\\\"><path d=\\\"M84.068 23.784c-1.02 0-1.877-.32-2.572-.96a8.588 8.588 0 0 1-1.738-2.237 11.524 11.524 0 0 1-1.042-2.621c-.232-.895-.348-1.641-.348-2.238V0h.278c.834 0 1.622.085 2.363.256.742.17 1.645.575 2.711 1.214 1.066.64 2.363 1.535 3.892 2.686 1.53 1.15 3.453 2.664 5.77 4.54 2.502 2.045 4.494 3.771 5.977 5.178 1.483 1.406 2.618 2.6 3.406 3.58.787.98 1.274 1.812 1.46 2.494.185.682.277 1.278.277 1.79v2.046H84.068zM127.3 84.01c.278.682.464 1.535.556 2.558.093 1.023-.37 2.003-1.39 2.94-.463.427-.88.832-1.25 1.215-.372.384-.696.704-.974.96a6.69 6.69 0 0 1-.973.767l-11.816-10.741a44.331 44.331 0 0 0 1.877-1.535 31.028 31.028 0 0 1 1.737-1.406c1.112-.938 2.317-1.343 3.615-1.215 1.297.128 2.363.405 3.197.83.927.427 1.923 1.173 2.989 2.239 1.065 1.065 1.876 2.195 2.432 3.388zM78.23 95.902c2.038 0 3.752-.511 5.143-1.534l-26.969 25.83H18.037c-1.761 0-3.684-.47-5.77-1.407a24.549 24.549 0 0 1-5.838-3.709 21.373 21.373 0 0 1-4.518-5.306c-1.204-2.003-1.807-4.07-1.807-6.202V16.495c0-1.79.44-3.665 1.32-5.626A18.41 18.41 0 0 1 5.04 5.562a21.798 21.798 0 0 1 5.213-3.964C12.198.533 14.237 0 16.37 0h53.24v15.984c0 1.62.278 3.367.834 5.242a16.704 16.704 0 0 0 2.572 5.179c1.159 1.577 2.665 2.898 4.518 3.964 1.853 1.066 4.078 1.598 6.673 1.598h20.295v42.325L85.458 92.45c1.02-1.364 1.529-2.856 1.529-4.476 0-2.216-.857-4.113-2.572-5.69-1.714-1.577-3.776-2.366-6.186-2.366H26.1c-2.409 0-4.448.789-6.116 2.366-1.668 1.577-2.502 3.474-2.502 5.69 0 2.217.834 4.092 2.502 5.626 1.668 1.535 3.707 2.302 6.117 2.302h52.13zM26.1 47.951c-2.41 0-4.449.789-6.117 2.366-1.668 1.577-2.502 3.473-2.502 5.69 0 2.216.834 4.092 2.502 5.626 1.668 1.534 3.707 2.302 6.117 2.302h52.13c2.409 0 4.47-.768 6.185-2.302 1.715-1.534 2.572-3.41 2.572-5.626 0-2.217-.857-4.113-2.572-5.69-1.714-1.577-3.776-2.366-6.186-2.366H26.1zm52.407 64.063l1.807-1.663 3.476-3.196a479.75 479.75 0 0 0 4.587-4.284 500.757 500.757 0 0 1 5.004-4.667c3.985-3.666 8.48-7.758 13.485-12.276l11.677 10.741-13.485 12.404-5.004 4.603-4.587 4.22a179.46 179.46 0 0 0-3.267 3.068c-.88.853-1.367 1.322-1.46 1.407-.463.341-.973.703-1.529 1.087-.556.383-1.112.703-1.668.959-.556.256-1.413.575-2.572.959a83.5 83.5 0 0 1-3.545 1.087 72.2 72.2 0 0 1-3.475.895c-1.112.256-1.946.426-2.502.511-1.112.17-1.854.043-2.224-.383-.371-.426-.464-1.151-.278-2.174.092-.511.278-1.279.556-2.302.278-1.023.602-2.067.973-3.132l1.042-3.005c.325-.938.58-1.577.765-1.918a10.157 10.157 0 0 1 2.224-2.941z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/icons/svg/form.svg\n// module id = 217\n// module chunks = 0 1","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-link\",\n \"use\": \"icon-link-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-link\\\"><g><path d=\\\"M115.625 127.937H.063V12.375h57.781v12.374H12.438v90.813h90.813V70.156h12.374z\\\" /><path d=\\\"M116.426 2.821l8.753 8.753-56.734 56.734-8.753-8.745z\\\" /><path d=\\\"M127.893 37.982h-12.375V12.375H88.706V0h39.187z\\\" /></g></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/icons/svg/link.svg\n// module id = 218\n// module chunks = 0 1","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-nested\",\n \"use\": \"icon-nested-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-nested\\\"><path d=\\\"M.002 9.2c0 5.044 3.58 9.133 7.998 9.133 4.417 0 7.997-4.089 7.997-9.133 0-5.043-3.58-9.132-7.997-9.132S.002 4.157.002 9.2zM31.997.066h95.981V18.33H31.997V.066zm0 45.669c0 5.044 3.58 9.132 7.998 9.132 4.417 0 7.997-4.088 7.997-9.132 0-3.263-1.524-6.278-3.998-7.91-2.475-1.63-5.524-1.63-7.998 0-2.475 1.632-4 4.647-4 7.91zM63.992 36.6h63.986v18.265H63.992V36.6zm-31.995 82.2c0 5.043 3.58 9.132 7.998 9.132 4.417 0 7.997-4.089 7.997-9.132 0-5.044-3.58-9.133-7.997-9.133s-7.998 4.089-7.998 9.133zm31.995-9.131h63.986v18.265H63.992V109.67zm0-27.404c0 5.044 3.58 9.133 7.998 9.133 4.417 0 7.997-4.089 7.997-9.133 0-3.263-1.524-6.277-3.998-7.909-2.475-1.631-5.524-1.631-7.998 0-2.475 1.632-4 4.646-4 7.91zm31.995-9.13h31.991V91.4H95.987V73.135z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/icons/svg/nested.svg\n// module id = 219\n// module chunks = 0 1","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-password\",\n \"use\": \"icon-password-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-password\\\"><path d=\\\"M108.8 44.322H89.6v-5.36c0-9.04-3.308-24.163-25.6-24.163-23.145 0-25.6 16.881-25.6 24.162v5.361H19.2v-5.36C19.2 15.281 36.798 0 64 0c27.202 0 44.8 15.281 44.8 38.961v5.361zm-32 39.356c0-5.44-5.763-9.832-12.8-9.832-7.037 0-12.8 4.392-12.8 9.832 0 3.682 2.567 6.808 6.407 8.477v11.205c0 2.718 2.875 4.962 6.4 4.962 3.524 0 6.4-2.244 6.4-4.962V92.155c3.833-1.669 6.393-4.795 6.393-8.477zM128 64v49.201c0 8.158-8.645 14.799-19.2 14.799H19.2C8.651 128 0 121.359 0 113.201V64c0-8.153 8.645-14.799 19.2-14.799h89.6c10.555 0 19.2 6.646 19.2 14.799z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/icons/svg/password.svg\n// module id = 220\n// module chunks = 0 1","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-people\",\n \"use\": \"icon-people-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-people\\\"><path d=\\\"M104.185 95.254c8.161 7.574 13.145 17.441 13.145 28.28 0 1.508-.098 2.998-.285 4.466h-10.784c.238-1.465.403-2.948.403-4.465 0-8.983-4.36-17.115-11.419-23.216C86 104.66 75.355 107.162 64 107.162c-11.344 0-21.98-2.495-31.22-6.83-7.064 6.099-11.444 14.218-11.444 23.203 0 1.517.165 3 .403 4.465H10.955a35.444 35.444 0 0 1-.285-4.465c0-10.838 4.974-20.713 13.127-28.291C9.294 85.42.003 70.417.003 53.58.003 23.99 28.656.001 64 .001s63.997 23.988 63.997 53.58c0 16.842-9.299 31.85-23.812 41.673zM64 36.867c-29.454 0-53.33-10.077-53.33 15.342 0 25.418 23.876 46.023 53.33 46.023 29.454 0 53.33-20.605 53.33-46.023 0-25.419-23.876-15.342-53.33-15.342zm24.888 25.644c-3.927 0-7.111-2.665-7.111-5.953 0-3.288 3.184-5.954 7.11-5.954 3.928 0 7.111 2.666 7.111 5.954s-3.183 5.953-7.11 5.953zm-3.556 16.372c0 4.11-9.55 7.442-21.332 7.442-11.781 0-21.332-3.332-21.332-7.442 0-1.06.656-2.064 1.8-2.976 3.295 2.626 10.79 4.465 19.532 4.465 8.743 0 16.237-1.84 19.531-4.465 1.145.912 1.801 1.916 1.801 2.976zm-46.22-16.372c-3.927 0-7.11-2.665-7.11-5.953 0-3.288 3.183-5.954 7.11-5.954 3.927 0 7.111 2.666 7.111 5.954s-3.184 5.953-7.11 5.953z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/icons/svg/people.svg\n// module id = 221\n// module chunks = 0 1","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-peoples\",\n \"use\": \"icon-peoples-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-peoples\\\"><path d=\\\"M95.648 118.762c0 5.035-3.563 9.121-7.979 9.121H7.98c-4.416 0-7.979-4.086-7.979-9.121C0 100.519 15.408 83.47 31.152 76.75c-9.099-6.43-15.216-17.863-15.216-30.987v-9.128c0-20.16 14.293-36.518 31.893-36.518s31.894 16.358 31.894 36.518v9.122c0 13.137-6.123 24.556-15.216 30.993 15.738 6.726 31.141 23.769 31.141 42.012z\\\" /><path d=\\\"M106.032 118.252h15.867c3.376 0 6.101-3.125 6.101-6.972 0-13.957-11.787-26.984-23.819-32.123 6.955-4.919 11.638-13.66 11.638-23.704v-6.985c0-15.416-10.928-27.926-24.39-27.926-1.674 0-3.306.193-4.89.561 1.936 4.713 3.018 9.974 3.018 15.526v9.121c0 13.137-3.056 23.111-11.066 30.993 14.842 4.41 27.312 23.42 27.541 41.509z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/icons/svg/peoples.svg\n// module id = 222\n// module chunks = 0 1","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-table\",\n \"use\": \"icon-table-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-table\\\"><g><path d=\\\"M.006.064h127.988v31.104H.006V.064zm0 38.016h38.396v41.472H.006V38.08zm0 48.384h38.396v41.472H.006V86.464zM44.802 38.08h38.396v41.472H44.802V38.08zm0 48.384h38.396v41.472H44.802V86.464zM89.598 38.08h38.396v41.472H89.598zm0 48.384h38.396v41.472H89.598z\\\" /><path d=\\\"M.006.064h127.988v31.104H.006V.064zm0 38.016h38.396v41.472H.006V38.08zm0 48.384h38.396v41.472H.006V86.464zM44.802 38.08h38.396v41.472H44.802V38.08zm0 48.384h38.396v41.472H44.802V86.464zM89.598 38.08h38.396v41.472H89.598zm0 48.384h38.396v41.472H89.598z\\\" /></g></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/icons/svg/table.svg\n// module id = 223\n// module chunks = 0 1","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-tree\",\n \"use\": \"icon-tree-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-tree\\\"><path d=\\\"M126.713 90.023c.858.985 1.287 2.134 1.287 3.447v29.553c0 1.423-.429 2.6-1.287 3.53-.858.93-1.907 1.395-3.146 1.395H97.824c-1.145 0-2.146-.465-3.004-1.395-.858-.93-1.287-2.107-1.287-3.53V93.47c0-.875.19-1.696.572-2.462.382-.766.906-1.368 1.573-1.806a3.84 3.84 0 0 1 2.146-.657h9.725V69.007a3.84 3.84 0 0 0-.43-1.806 3.569 3.569 0 0 0-1.143-1.313 2.714 2.714 0 0 0-1.573-.492h-36.47v23.149h9.725c1.144 0 2.145.492 3.004 1.478.858.985 1.287 2.134 1.287 3.447v29.553c0 .876-.191 1.696-.573 2.463-.38.766-.905 1.368-1.573 1.806a3.84 3.84 0 0 1-2.145.656H51.915a3.84 3.84 0 0 1-2.145-.656c-.668-.438-1.216-1.04-1.645-1.806a4.96 4.96 0 0 1-.644-2.463V93.47c0-1.313.43-2.462 1.288-3.447.858-.986 1.907-1.478 3.146-1.478h9.582v-23.15h-37.9c-.953 0-1.74.356-2.359 1.068-.62.711-.93 1.56-.93 2.544v19.538h9.726c1.239 0 2.264.492 3.074 1.478.81.985 1.216 2.134 1.216 3.447v29.553c0 1.423-.405 2.6-1.216 3.53-.81.93-1.835 1.395-3.074 1.395H4.29c-.476 0-.93-.082-1.358-.246a4.1 4.1 0 0 1-1.144-.657 4.658 4.658 0 0 1-.93-1.067 5.186 5.186 0 0 1-.643-1.395 5.566 5.566 0 0 1-.215-1.56V93.47c0-.437.048-.875.143-1.313a3.95 3.95 0 0 1 .429-1.15c.19-.328.429-.656.715-.984.286-.329.572-.602.858-.821.286-.22.62-.383 1.001-.493.382-.11.763-.164 1.144-.164h9.726V61.619c0-.985.31-1.833.93-2.544.619-.712 1.358-1.068 2.216-1.068h44.335V39.62h-9.582c-1.24 0-2.288-.492-3.146-1.477a5.09 5.09 0 0 1-1.287-3.448V5.14c0-1.423.429-2.627 1.287-3.612.858-.985 1.907-1.477 3.146-1.477h25.743c.763 0 1.478.246 2.145.739a5.17 5.17 0 0 1 1.573 1.888c.382.766.573 1.587.573 2.462v29.553c0 1.313-.43 2.463-1.287 3.448-.859.985-1.86 1.477-3.004 1.477h-9.725v18.389h42.762c.954 0 1.74.355 2.36 1.067.62.711.93 1.56.93 2.545v26.925h9.582c1.239 0 2.288.492 3.146 1.478z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/icons/svg/tree.svg\n// module id = 224\n// module chunks = 0 1","import SpriteSymbol from \"../../../node_modules/svg-baker-runtime/browser-symbol.js\";\nimport sprite from \"../../../node_modules/svg-sprite-loader/runtime/browser-sprite.build.js\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-user\",\n \"use\": \"icon-user-usage\",\n \"viewBox\": \"0 0 130 130\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 130 130\\\" id=\\\"icon-user\\\"><path d=\\\"M63.444 64.996c20.633 0 37.359-14.308 37.359-31.953 0-17.649-16.726-31.952-37.359-31.952-20.631 0-37.36 14.303-37.358 31.952 0 17.645 16.727 31.953 37.359 31.953zM80.57 75.65H49.434c-26.652 0-48.26 18.477-48.26 41.27v2.664c0 9.316 21.608 9.325 48.26 9.325H80.57c26.649 0 48.256-.344 48.256-9.325v-2.663c0-22.794-21.605-41.271-48.256-41.271z\\\" stroke=\\\"#979797\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/icons/svg/user.svg\n// module id = 225\n// module chunks = 0 1","\n/* styles */\nrequire(\"!!../../../node_modules/extract-text-webpack-plugin/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?sourceMap!../../../node_modules/vue-loader/lib/style-rewriter?id=data-v-4246bec4&scoped=true!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./index.vue\")\n\nvar Component = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")(\n /* script */\n require(\"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./index.vue\"),\n /* template */\n require(\"!!../../../node_modules/vue-loader/lib/template-compiler?id=data-v-4246bec4!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./index.vue\"),\n /* scopeId */\n \"data-v-4246bec4\",\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/SvgIcon/index.vue\n// module id = 226\n// module chunks = 0 1","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('svg', _vm._g({\n class: _vm.svgClass,\n attrs: {\n \"aria-hidden\": \"true\"\n }\n }, _vm.$listeners), [_c('use', {\n attrs: {\n \"xlink:href\": _vm.iconName\n }\n })])\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler.js?id=data-v-4246bec4!./~/vue-loader/lib/selector.js?type=template&index=0!./src/components/SvgIcon/index.vue\n// module id = 227\n// module chunks = 0 1","var map = {\n\t\"./example.svg\": 214,\n\t\"./eye-open.svg\": 215,\n\t\"./eye.svg\": 216,\n\t\"./form.svg\": 217,\n\t\"./link.svg\": 218,\n\t\"./nested.svg\": 219,\n\t\"./password.svg\": 220,\n\t\"./people.svg\": 221,\n\t\"./peoples.svg\": 222,\n\t\"./table.svg\": 223,\n\t\"./tree.svg\": 224,\n\t\"./user.svg\": 225\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number or string\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 228;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/icons/svg nonrecursive \\.svg$\n// module id = 228\n// module chunks = 0 1","<template>\n <div class=\"login-container\">\n <el-form ref=\"loginForm\" :model=\"loginForm\" :rules=\"loginRules\" class=\"login-form\" auto-complete=\"on\" label-position=\"left\">\n <h3 class=\"title\">KA管理系统</h3>\n <h3 class=\"title2\">\n <span class=\"svg-container\">\n <svg-icon :iconClass=\"'example'\"/>\n </span>登陆试试~~</h3>\n <el-form-item prop=\"username\">\n <span class=\"svg-container\">\n <svg-icon :iconClass=\"'user'\"/>\n </span>\n <el-input v-model=\"loginForm.username\" name=\"username\" type=\"text\" auto-complete=\"on\" placeholder=\"邮箱前缀\" :suffixIcon=\"'form'\">\n <span slot=\"suffix\">@quantgroup.cn</span>\n </el-input>\n </el-form-item>\n <el-form-item prop=\"password\">\n <span class=\"svg-container\">\n <svg-icon :iconClass=\"'password'\" />\n </span>\n <el-input\n v-model=\"loginForm.password\"\n :type=\"pwdType\"\n name=\"password\"\n auto-complete=\"on\"\n placeholder=\"password\"\n @keyup.enter.native=\"handleLogin\" />\n <span class=\"show-pwd\" @click=\"showPwd\">\n <svg-icon :iconClass=\"pwdType === 'password' ? 'eye' : 'eye-open'\" />\n </span>\n </el-form-item>\n <el-form-item>\n <el-button :loading=\"loading\" type=\"primary\" style=\"width:100%;\" @click.native.prevent=\"handleLogin\">\n 登陆\n </el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\n import '@/icons'\n import {mapGetters} from 'vuex'\n\n\n export default {\n data() {\n return {\n loginForm: {\n username: '',\n password: ''\n },\n loginRules: {\n // username: [{ required: true, trigger: 'blur', validator: validateUsername }],\n // password: [{ required: true, trigger: 'blur', validator: validatePass }]\n },\n loading: false,\n pwdType: 'password',\n redirect: undefined,\n nsArray: []\n }\n },\n computed: mapGetters([\n 'tokens'\n ]),\n watch: {\n tokens: function (val) {\n this.$router.push('/home/channels');\n }\n },\n created() {\n },\n methods: {\n showPwd() {\n if (this.pwdType === 'password') {\n this.pwdType = ''\n } else {\n this.pwdType = 'password'\n }\n },\n handleLogin() {\n this.$refs.loginForm.validate(valid => {\n if (valid) {\n this.loading = true\n // this.$store.dispatch('login', this.loginForm)\n this.$store.dispatch('login', this.loginForm).then(() => {\n this.loading = false\n }).catch(() => {\n this.loading = false\n })\n } else {\n console.log('error submit!!')\n return false\n }\n })\n }\n }\n }\n</script>\n\n<style>\n .login-container .el-input {\n display: inline-block;\n height: 47px;\n width: 82%;\n }\n\n .login-container .el-input input {\n background: transparent;\n border: 0px;\n -webkit-appearance: none;\n border-radius: 0px;\n padding: 12px 5px 12px 15px;\n color: #eee;\n height: 47px;\n }\n .login-container .el-input input:-webkit-autofill{\n -webkit-box-shadow: 0 0 0px 1000px #2d3a4b inset !important;\n -webkit-text-fill-color: #fff !important;\n }\n /*.login-container .el-input input:-webkit-autofill*/\n /*.login-container .el-input input:-webkit-autofill:hover,*/\n /*.login-container .el-input input:-webkit-autofill:focus,*/\n /*.login-container .el-input input:-webkit-autofill:active {*/\n /* transition-delay: 99999s;*/\n /* transition: color 99999s ease-out, background-color 99999s ease-out;*/\n /* -webkit-transition-delay: 99999s;*/\n /* -webkit-transition: color 99999s ease-out, background-color 99999s ease-out;*/\n /* -webkit-text-fill-color: #807c7c;*/\n /*}*/\n\n .login-container .el-form-item {\n border: 1px solid rgba(255, 255, 255, 0.1);\n background: rgba(0, 0, 0, 0.1);\n border-radius: 5px;\n color: #454545;\n }\n\n</style>\n\n<style scoped>\n .login-container {\n position: fixed;\n height: 100%;\n width: 100%;\n background-color: #2d3a4b;\n }\n .login-container .login-form {\n position: absolute;\n left: 0;\n right: 0;\n width: 520px;\n max-width: 100%;\n padding: 35px 35px 15px 35px;\n margin: 120px auto;\n }\n .login-container .tips {\n font-size: 14px;\n color: #fff;\n margin-bottom: 10px;\n }\n /*.login-container .tips span {*/\n /* &:first-of-type {*/\n /* margin-right: 16px;*/\n /* }*/\n /* }*/\n /* }*/\n .svg-container {\n padding: 6px 5px 6px 15px;\n color: #889aa4;\n vertical-align: middle;\n width: 30px;\n display: inline-block;\n }\n .title {\n font-size: 26px;\n font-weight: 400;\n color: #eee;\n margin: 0px auto 40px auto;\n text-align: center;\n font-weight: bold;\n }\n .title2 {\n font-size: 16px;\n font-weight: 400;\n color: #eee;\n margin: 0px auto 40px auto;\n text-align: center;\n font-weight: bold;\n }\n .show-pwd {\n position: absolute;\n right: 10px;\n top: 7px;\n font-size: 16px;\n color: #889aa4;\n cursor: pointer;\n user-select: none;\n }\n</style>\n\n\n\n// WEBPACK FOOTER //\n// index.vue?e4411e5e","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"\\n.login-container .el-input {\\n display: inline-block;\\n height: 47px;\\n width: 82%;\\n}\\n.login-container .el-input input {\\n background: transparent;\\n border: 0px;\\n -webkit-appearance: none;\\n border-radius: 0px;\\n padding: 12px 5px 12px 15px;\\n color: #eee;\\n height: 47px;\\n}\\n.login-container .el-input input:-webkit-autofill{\\n -webkit-box-shadow: 0 0 0px 1000px #2d3a4b inset !important;\\n -webkit-text-fill-color: #fff !important;\\n}\\n/*.login-container .el-input input:-webkit-autofill*/\\n/*.login-container .el-input input:-webkit-autofill:hover,*/\\n/*.login-container .el-input input:-webkit-autofill:focus,*/\\n/*.login-container .el-input input:-webkit-autofill:active {*/\\n/* transition-delay: 99999s;*/\\n/* transition: color 99999s ease-out, background-color 99999s ease-out;*/\\n/* -webkit-transition-delay: 99999s;*/\\n/* -webkit-transition: color 99999s ease-out, background-color 99999s ease-out;*/\\n/* -webkit-text-fill-color: #807c7c;*/\\n/*}*/\\n.login-container .el-form-item {\\n border: 1px solid rgba(255, 255, 255, .1);\\n background: rgba(0, 0, 0, .1);\\n border-radius: 5px;\\n color: #454545;\\n}\\n\\n\", \"\", {\"version\":3,\"sources\":[\"/Users/simon/Documents/workspace/wp_202002/ka-manager-ui/src/modules/login/index.vue\"],\"names\":[],\"mappings\":\";AACA;IACI,sBAAsB;IACtB,aAAa;IACb,WAAW;CACd;AACD;EACE,wBAAwB;EACxB,YAAY;EACZ,yBAAyB;EACzB,mBAAmB;EACnB,4BAA4B;EAC5B,YAAY;EACZ,aAAa;CACd;AACD;EACE,4DAA4D;EAC5D,yCAAyC;CAC1C;AACD,qDAAqD;AACrD,4DAA4D;AAC5D,4DAA4D;AAC5D,8DAA8D;AAC9D,+BAA+B;AAC/B,0EAA0E;AAC1E,uCAAuC;AACvC,kFAAkF;AAClF,uCAAuC;AACvC,KAAK;AACL;IACI,0CAA0C;IAC1C,8BAA8B;IAC9B,mBAAmB;IACnB,eAAe;CAClB\",\"file\":\"index.vue\",\"sourcesContent\":[\"\\n.login-container .el-input {\\n display: inline-block;\\n height: 47px;\\n width: 82%;\\n}\\n.login-container .el-input input {\\n background: transparent;\\n border: 0px;\\n -webkit-appearance: none;\\n border-radius: 0px;\\n padding: 12px 5px 12px 15px;\\n color: #eee;\\n height: 47px;\\n}\\n.login-container .el-input input:-webkit-autofill{\\n -webkit-box-shadow: 0 0 0px 1000px #2d3a4b inset !important;\\n -webkit-text-fill-color: #fff !important;\\n}\\n/*.login-container .el-input input:-webkit-autofill*/\\n/*.login-container .el-input input:-webkit-autofill:hover,*/\\n/*.login-container .el-input input:-webkit-autofill:focus,*/\\n/*.login-container .el-input input:-webkit-autofill:active {*/\\n/* transition-delay: 99999s;*/\\n/* transition: color 99999s ease-out, background-color 99999s ease-out;*/\\n/* -webkit-transition-delay: 99999s;*/\\n/* -webkit-transition: color 99999s ease-out, background-color 99999s ease-out;*/\\n/* -webkit-text-fill-color: #807c7c;*/\\n/*}*/\\n.login-container .el-form-item {\\n border: 1px solid rgba(255, 255, 255, .1);\\n background: rgba(0, 0, 0, .1);\\n border-radius: 5px;\\n color: #454545;\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader?sourceMap!./~/vue-loader/lib/style-rewriter.js?id=data-v-54706fd7!./~/vue-loader/lib/selector.js?type=styles&index=0!./src/modules/login/index.vue\n// module id = 236\n// module chunks = 0","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"\\n.login-container[data-v-54706fd7] {\\n position: fixed;\\n height: 100%;\\n width: 100%;\\n background-color: #2d3a4b;\\n}\\n.login-container .login-form[data-v-54706fd7] {\\n position: absolute;\\n left: 0;\\n right: 0;\\n width: 520px;\\n max-width: 100%;\\n padding: 35px 35px 15px 35px;\\n margin: 120px auto;\\n}\\n.login-container .tips[data-v-54706fd7] {\\n font-size: 14px;\\n color: #fff;\\n margin-bottom: 10px;\\n}\\n/*.login-container .tips span {*/\\n/* &:first-of-type {*/\\n/* margin-right: 16px;*/\\n/* }*/\\n/* }*/\\n/* }*/\\n.svg-container[data-v-54706fd7] {\\n padding: 6px 5px 6px 15px;\\n color: #889aa4;\\n vertical-align: middle;\\n width: 30px;\\n display: inline-block;\\n}\\n.title[data-v-54706fd7] {\\n font-size: 26px;\\n font-weight: 400;\\n color: #eee;\\n margin: 0px auto 40px auto;\\n text-align: center;\\n font-weight: bold;\\n}\\n.title2[data-v-54706fd7] {\\n font-size: 16px;\\n font-weight: 400;\\n color: #eee;\\n margin: 0px auto 40px auto;\\n text-align: center;\\n font-weight: bold;\\n}\\n.show-pwd[data-v-54706fd7] {\\n position: absolute;\\n right: 10px;\\n top: 7px;\\n font-size: 16px;\\n color: #889aa4;\\n cursor: pointer;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"/Users/simon/Documents/workspace/wp_202002/ka-manager-ui/src/modules/login/index.vue\"],\"names\":[],\"mappings\":\";AACA;EACE,gBAAgB;EAChB,aAAa;EACb,YAAY;EACZ,0BAA0B;CAC3B;AACD;IACI,mBAAmB;IACnB,QAAQ;IACR,SAAS;IACT,aAAa;IACb,gBAAgB;IAChB,6BAA6B;IAC7B,mBAAmB;CACtB;AACD;EACE,gBAAgB;EAChB,YAAY;EACZ,oBAAoB;CACrB;AACD,oCAAoC;AACpC,2BAA2B;AAC3B,+BAA+B;AAC/B,WAAW;AACX,SAAS;AACT,OAAO;AACP;IACI,0BAA0B;IAC1B,eAAe;IACf,uBAAuB;IACvB,YAAY;IACZ,sBAAsB;CACzB;AACD;IACI,gBAAgB;IAChB,iBAAiB;IACjB,YAAY;IACZ,2BAA2B;IAC3B,mBAAmB;IACnB,kBAAkB;CACrB;AACD;EACE,gBAAgB;EAChB,iBAAiB;EACjB,YAAY;EACZ,2BAA2B;EAC3B,mBAAmB;EACnB,kBAAkB;CACnB;AACD;IACI,mBAAmB;IACnB,YAAY;IACZ,SAAS;IACT,gBAAgB;IAChB,eAAe;IACf,gBAAgB;IAChB,0BAA0B;OACvB,uBAAuB;QACtB,sBAAsB;YAClB,kBAAkB;CAC7B\",\"file\":\"index.vue\",\"sourcesContent\":[\"\\n.login-container[data-v-54706fd7] {\\n position: fixed;\\n height: 100%;\\n width: 100%;\\n background-color: #2d3a4b;\\n}\\n.login-container .login-form[data-v-54706fd7] {\\n position: absolute;\\n left: 0;\\n right: 0;\\n width: 520px;\\n max-width: 100%;\\n padding: 35px 35px 15px 35px;\\n margin: 120px auto;\\n}\\n.login-container .tips[data-v-54706fd7] {\\n font-size: 14px;\\n color: #fff;\\n margin-bottom: 10px;\\n}\\n/*.login-container .tips span {*/\\n/* &:first-of-type {*/\\n/* margin-right: 16px;*/\\n/* }*/\\n/* }*/\\n/* }*/\\n.svg-container[data-v-54706fd7] {\\n padding: 6px 5px 6px 15px;\\n color: #889aa4;\\n vertical-align: middle;\\n width: 30px;\\n display: inline-block;\\n}\\n.title[data-v-54706fd7] {\\n font-size: 26px;\\n font-weight: 400;\\n color: #eee;\\n margin: 0px auto 40px auto;\\n text-align: center;\\n font-weight: bold;\\n}\\n.title2[data-v-54706fd7] {\\n font-size: 16px;\\n font-weight: 400;\\n color: #eee;\\n margin: 0px auto 40px auto;\\n text-align: center;\\n font-weight: bold;\\n}\\n.show-pwd[data-v-54706fd7] {\\n position: absolute;\\n right: 10px;\\n top: 7px;\\n font-size: 16px;\\n color: #889aa4;\\n cursor: pointer;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader?sourceMap!./~/vue-loader/lib/style-rewriter.js?id=data-v-54706fd7&scoped=true!./~/vue-loader/lib/selector.js?type=styles&index=1!./src/modules/login/index.vue\n// module id = 237\n// module chunks = 0","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?sourceMap!../../../node_modules/vue-loader/lib/style-rewriter.js?id=data-v-54706fd7!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\")(\"37d799be\", content, true);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/extract-text-webpack-plugin/loader.js?{\"omit\":1,\"remove\":true}!./~/vue-style-loader!./~/css-loader?sourceMap!./~/vue-loader/lib/style-rewriter.js?id=data-v-54706fd7!./~/vue-loader/lib/selector.js?type=styles&index=0!./src/modules/login/index.vue\n// module id = 243\n// module chunks = 0","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?sourceMap!../../../node_modules/vue-loader/lib/style-rewriter.js?id=data-v-54706fd7&scoped=true!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=1!./index.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\")(\"4bcea855\", content, true);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/extract-text-webpack-plugin/loader.js?{\"omit\":1,\"remove\":true}!./~/vue-style-loader!./~/css-loader?sourceMap!./~/vue-loader/lib/style-rewriter.js?id=data-v-54706fd7&scoped=true!./~/vue-loader/lib/selector.js?type=styles&index=1!./src/modules/login/index.vue\n// module id = 244\n// module chunks = 0","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n staticClass: \"login-container\"\n }, [_c('el-form', {\n ref: \"loginForm\",\n staticClass: \"login-form\",\n attrs: {\n \"model\": _vm.loginForm,\n \"rules\": _vm.loginRules,\n \"auto-complete\": \"on\",\n \"label-position\": \"left\"\n }\n }, [_c('h3', {\n staticClass: \"title\"\n }, [_vm._v(\"KA管理系统\")]), _vm._v(\" \"), _c('h3', {\n staticClass: \"title2\"\n }, [_c('span', {\n staticClass: \"svg-container\"\n }, [_c('svg-icon', {\n attrs: {\n \"iconClass\": 'example'\n }\n })], 1), _vm._v(\"登陆试试~~\")]), _vm._v(\" \"), _c('el-form-item', {\n attrs: {\n \"prop\": \"username\"\n }\n }, [_c('span', {\n staticClass: \"svg-container\"\n }, [_c('svg-icon', {\n attrs: {\n \"iconClass\": 'user'\n }\n })], 1), _vm._v(\" \"), _c('el-input', {\n attrs: {\n \"name\": \"username\",\n \"type\": \"text\",\n \"auto-complete\": \"on\",\n \"placeholder\": \"邮箱前缀\",\n \"suffixIcon\": 'form'\n },\n model: {\n value: (_vm.loginForm.username),\n callback: function($$v) {\n _vm.$set(_vm.loginForm, \"username\", $$v)\n },\n expression: \"loginForm.username\"\n }\n }, [_c('span', {\n attrs: {\n \"slot\": \"suffix\"\n },\n slot: \"suffix\"\n }, [_vm._v(\"@quantgroup.cn\")])])], 1), _vm._v(\" \"), _c('el-form-item', {\n attrs: {\n \"prop\": \"password\"\n }\n }, [_c('span', {\n staticClass: \"svg-container\"\n }, [_c('svg-icon', {\n attrs: {\n \"iconClass\": 'password'\n }\n })], 1), _vm._v(\" \"), _c('el-input', {\n attrs: {\n \"type\": _vm.pwdType,\n \"name\": \"password\",\n \"auto-complete\": \"on\",\n \"placeholder\": \"password\"\n },\n nativeOn: {\n \"keyup\": function($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")) { return null; }\n return _vm.handleLogin($event)\n }\n },\n model: {\n value: (_vm.loginForm.password),\n callback: function($$v) {\n _vm.$set(_vm.loginForm, \"password\", $$v)\n },\n expression: \"loginForm.password\"\n }\n }), _vm._v(\" \"), _c('span', {\n staticClass: \"show-pwd\",\n on: {\n \"click\": _vm.showPwd\n }\n }, [_c('svg-icon', {\n attrs: {\n \"iconClass\": _vm.pwdType === 'password' ? 'eye' : 'eye-open'\n }\n })], 1)], 1), _vm._v(\" \"), _c('el-form-item', [_c('el-button', {\n staticStyle: {\n \"width\": \"100%\"\n },\n attrs: {\n \"loading\": _vm.loading,\n \"type\": \"primary\"\n },\n nativeOn: {\n \"click\": function($event) {\n $event.preventDefault();\n return _vm.handleLogin($event)\n }\n }\n }, [_vm._v(\"\\n 登陆\\n \")])], 1)], 1)], 1)\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler.js?id=data-v-54706fd7!./~/vue-loader/lib/selector.js?type=template&index=0!./src/modules/login/index.vue\n// module id = 253\n// module chunks = 0","\n/* styles */\nrequire(\"!!../../../node_modules/extract-text-webpack-plugin/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?sourceMap!../../../node_modules/vue-loader/lib/style-rewriter?id=data-v-54706fd7!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./index.vue\")\nrequire(\"!!../../../node_modules/extract-text-webpack-plugin/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?sourceMap!../../../node_modules/vue-loader/lib/style-rewriter?id=data-v-54706fd7&scoped=true!../../../node_modules/vue-loader/lib/selector?type=styles&index=1!./index.vue\")\n\nvar Component = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")(\n /* script */\n require(\"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./index.vue\"),\n /* template */\n require(\"!!../../../node_modules/vue-loader/lib/template-compiler?id=data-v-54706fd7!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./index.vue\"),\n /* scopeId */\n \"data-v-54706fd7\",\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/modules/login/index.vue\n// module id = 50\n// module chunks = 0"],"sourceRoot":""}
\ No newline at end of file
webpackJsonp([1],{
/***/ 205:
/***/ (function(module, exports, __webpack_require__) {
/* styles */
__webpack_require__(247)
__webpack_require__(248)
var Component = __webpack_require__(86)(
/* script */
__webpack_require__(232),
/* template */
__webpack_require__(257),
/* scopeId */
"data-v-e2feab72",
/* cssModules */
null
)
module.exports = Component.exports
/***/ }),
/***/ 208:
/***/ (function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(global) {(function (global, factory) {
true ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global.BrowserSpriteSymbol = factory());
}(this, (function () { 'use strict';
var SpriteSymbol = function SpriteSymbol(ref) {
var id = ref.id;
var viewBox = ref.viewBox;
var content = ref.content;
this.id = id;
this.viewBox = viewBox;
this.content = content;
};
/**
* @return {string}
*/
SpriteSymbol.prototype.stringify = function stringify () {
return this.content;
};
/**
* @return {string}
*/
SpriteSymbol.prototype.toString = function toString () {
return this.stringify();
};
SpriteSymbol.prototype.destroy = function destroy () {
var this$1 = this;
['id', 'viewBox', 'content'].forEach(function (prop) { return delete this$1[prop]; });
};
/**
* @param {string} content
* @return {Element}
*/
var parse = function (content) {
var hasImportNode = !!document.importNode;
var doc = new DOMParser().parseFromString(content, 'image/svg+xml').documentElement;
/**
* Fix for browser which are throwing WrongDocumentError
* if you insert an element which is not part of the document
* @see http://stackoverflow.com/a/7986519/4624403
*/
if (hasImportNode) {
return document.importNode(doc, true);
}
return doc;
};
var commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
function createCommonjsModule(fn, module) {
return module = { exports: {} }, fn(module, module.exports), module.exports;
}
var deepmerge = createCommonjsModule(function (module, exports) {
(function (root, factory) {
if (false) {
undefined(factory);
} else {
module.exports = factory();
}
}(commonjsGlobal, function () {
function isMergeableObject(val) {
var nonNullObject = val && typeof val === 'object';
return nonNullObject
&& Object.prototype.toString.call(val) !== '[object RegExp]'
&& Object.prototype.toString.call(val) !== '[object Date]'
}
function emptyTarget(val) {
return Array.isArray(val) ? [] : {}
}
function cloneIfNecessary(value, optionsArgument) {
var clone = optionsArgument && optionsArgument.clone === true;
return (clone && isMergeableObject(value)) ? deepmerge(emptyTarget(value), value, optionsArgument) : value
}
function defaultArrayMerge(target, source, optionsArgument) {
var destination = target.slice();
source.forEach(function(e, i) {
if (typeof destination[i] === 'undefined') {
destination[i] = cloneIfNecessary(e, optionsArgument);
} else if (isMergeableObject(e)) {
destination[i] = deepmerge(target[i], e, optionsArgument);
} else if (target.indexOf(e) === -1) {
destination.push(cloneIfNecessary(e, optionsArgument));
}
});
return destination
}
function mergeObject(target, source, optionsArgument) {
var destination = {};
if (isMergeableObject(target)) {
Object.keys(target).forEach(function (key) {
destination[key] = cloneIfNecessary(target[key], optionsArgument);
});
}
Object.keys(source).forEach(function (key) {
if (!isMergeableObject(source[key]) || !target[key]) {
destination[key] = cloneIfNecessary(source[key], optionsArgument);
} else {
destination[key] = deepmerge(target[key], source[key], optionsArgument);
}
});
return destination
}
function deepmerge(target, source, optionsArgument) {
var array = Array.isArray(source);
var options = optionsArgument || { arrayMerge: defaultArrayMerge };
var arrayMerge = options.arrayMerge || defaultArrayMerge;
if (array) {
return Array.isArray(target) ? arrayMerge(target, source, optionsArgument) : cloneIfNecessary(source, optionsArgument)
} else {
return mergeObject(target, source, optionsArgument)
}
}
deepmerge.all = function deepmergeAll(array, optionsArgument) {
if (!Array.isArray(array) || array.length < 2) {
throw new Error('first argument should be an array with at least two elements')
}
// we are sure there are at least 2 values, so it is safe to have no initial value
return array.reduce(function(prev, next) {
return deepmerge(prev, next, optionsArgument)
})
};
return deepmerge
}));
});
var namespaces_1 = createCommonjsModule(function (module, exports) {
var namespaces = {
svg: {
name: 'xmlns',
uri: 'http://www.w3.org/2000/svg'
},
xlink: {
name: 'xmlns:xlink',
uri: 'http://www.w3.org/1999/xlink'
}
};
exports.default = namespaces;
module.exports = exports.default;
});
/**
* @param {Object} attrs
* @return {string}
*/
var objectToAttrsString = function (attrs) {
return Object.keys(attrs).map(function (attr) {
var value = attrs[attr].toString().replace(/"/g, '&quot;');
return (attr + "=\"" + value + "\"");
}).join(' ');
};
var svg = namespaces_1.svg;
var xlink = namespaces_1.xlink;
var defaultAttrs = {};
defaultAttrs[svg.name] = svg.uri;
defaultAttrs[xlink.name] = xlink.uri;
/**
* @param {string} [content]
* @param {Object} [attributes]
* @return {string}
*/
var wrapInSvgString = function (content, attributes) {
if ( content === void 0 ) content = '';
var attrs = deepmerge(defaultAttrs, attributes || {});
var attrsRendered = objectToAttrsString(attrs);
return ("<svg " + attrsRendered + ">" + content + "</svg>");
};
var BrowserSpriteSymbol = (function (SpriteSymbol$$1) {
function BrowserSpriteSymbol () {
SpriteSymbol$$1.apply(this, arguments);
}
if ( SpriteSymbol$$1 ) BrowserSpriteSymbol.__proto__ = SpriteSymbol$$1;
BrowserSpriteSymbol.prototype = Object.create( SpriteSymbol$$1 && SpriteSymbol$$1.prototype );
BrowserSpriteSymbol.prototype.constructor = BrowserSpriteSymbol;
var prototypeAccessors = { isMounted: {} };
prototypeAccessors.isMounted.get = function () {
return !!this.node;
};
/**
* @param {Element} node
* @return {BrowserSpriteSymbol}
*/
BrowserSpriteSymbol.createFromExistingNode = function createFromExistingNode (node) {
return new BrowserSpriteSymbol({
id: node.getAttribute('id'),
viewBox: node.getAttribute('viewBox'),
content: node.outerHTML
});
};
BrowserSpriteSymbol.prototype.destroy = function destroy () {
if (this.isMounted) {
this.unmount();
}
SpriteSymbol$$1.prototype.destroy.call(this);
};
/**
* @param {Element|string} target
* @return {Element}
*/
BrowserSpriteSymbol.prototype.mount = function mount (target) {
if (this.isMounted) {
return this.node;
}
var mountTarget = typeof target === 'string' ? document.querySelector(target) : target;
var node = this.render();
this.node = node;
mountTarget.appendChild(node);
return node;
};
/**
* @return {Element}
*/
BrowserSpriteSymbol.prototype.render = function render () {
var content = this.stringify();
return parse(wrapInSvgString(content)).childNodes[0];
};
BrowserSpriteSymbol.prototype.unmount = function unmount () {
this.node.parentNode.removeChild(this.node);
};
Object.defineProperties( BrowserSpriteSymbol.prototype, prototypeAccessors );
return BrowserSpriteSymbol;
}(SpriteSymbol));
return BrowserSpriteSymbol;
})));
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(18)))
/***/ }),
/***/ 209:
/***/ (function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(global) {(function (global, factory) {
true ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global.BrowserSprite = factory());
}(this, (function () { 'use strict';
var commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
function createCommonjsModule(fn, module) {
return module = { exports: {} }, fn(module, module.exports), module.exports;
}
var deepmerge = createCommonjsModule(function (module, exports) {
(function (root, factory) {
if (false) {
undefined(factory);
} else {
module.exports = factory();
}
}(commonjsGlobal, function () {
function isMergeableObject(val) {
var nonNullObject = val && typeof val === 'object';
return nonNullObject
&& Object.prototype.toString.call(val) !== '[object RegExp]'
&& Object.prototype.toString.call(val) !== '[object Date]'
}
function emptyTarget(val) {
return Array.isArray(val) ? [] : {}
}
function cloneIfNecessary(value, optionsArgument) {
var clone = optionsArgument && optionsArgument.clone === true;
return (clone && isMergeableObject(value)) ? deepmerge(emptyTarget(value), value, optionsArgument) : value
}
function defaultArrayMerge(target, source, optionsArgument) {
var destination = target.slice();
source.forEach(function(e, i) {
if (typeof destination[i] === 'undefined') {
destination[i] = cloneIfNecessary(e, optionsArgument);
} else if (isMergeableObject(e)) {
destination[i] = deepmerge(target[i], e, optionsArgument);
} else if (target.indexOf(e) === -1) {
destination.push(cloneIfNecessary(e, optionsArgument));
}
});
return destination
}
function mergeObject(target, source, optionsArgument) {
var destination = {};
if (isMergeableObject(target)) {
Object.keys(target).forEach(function (key) {
destination[key] = cloneIfNecessary(target[key], optionsArgument);
});
}
Object.keys(source).forEach(function (key) {
if (!isMergeableObject(source[key]) || !target[key]) {
destination[key] = cloneIfNecessary(source[key], optionsArgument);
} else {
destination[key] = deepmerge(target[key], source[key], optionsArgument);
}
});
return destination
}
function deepmerge(target, source, optionsArgument) {
var array = Array.isArray(source);
var options = optionsArgument || { arrayMerge: defaultArrayMerge };
var arrayMerge = options.arrayMerge || defaultArrayMerge;
if (array) {
return Array.isArray(target) ? arrayMerge(target, source, optionsArgument) : cloneIfNecessary(source, optionsArgument)
} else {
return mergeObject(target, source, optionsArgument)
}
}
deepmerge.all = function deepmergeAll(array, optionsArgument) {
if (!Array.isArray(array) || array.length < 2) {
throw new Error('first argument should be an array with at least two elements')
}
// we are sure there are at least 2 values, so it is safe to have no initial value
return array.reduce(function(prev, next) {
return deepmerge(prev, next, optionsArgument)
})
};
return deepmerge
}));
});
//
// An event handler can take an optional event argument
// and should not return a value
// An array of all currently registered event handlers for a type
// A map of event types and their corresponding event handlers.
/** Mitt: Tiny (~200b) functional event emitter / pubsub.
* @name mitt
* @returns {Mitt}
*/
function mitt(all ) {
all = all || Object.create(null);
return {
/**
* Register an event handler for the given type.
*
* @param {String} type Type of event to listen for, or `"*"` for all events
* @param {Function} handler Function to call in response to given event
* @memberOf mitt
*/
on: function on(type , handler ) {
(all[type] || (all[type] = [])).push(handler);
},
/**
* Remove an event handler for the given type.
*
* @param {String} type Type of event to unregister `handler` from, or `"*"`
* @param {Function} handler Handler function to remove
* @memberOf mitt
*/
off: function off(type , handler ) {
if (all[type]) {
all[type].splice(all[type].indexOf(handler) >>> 0, 1);
}
},
/**
* Invoke all handlers for the given type.
* If present, `"*"` handlers are invoked after type-matched handlers.
*
* @param {String} type The event type to invoke
* @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler
* @memberof mitt
*/
emit: function emit(type , evt ) {
(all[type] || []).map(function (handler) { handler(evt); });
(all['*'] || []).map(function (handler) { handler(type, evt); });
}
};
}
var namespaces_1 = createCommonjsModule(function (module, exports) {
var namespaces = {
svg: {
name: 'xmlns',
uri: 'http://www.w3.org/2000/svg'
},
xlink: {
name: 'xmlns:xlink',
uri: 'http://www.w3.org/1999/xlink'
}
};
exports.default = namespaces;
module.exports = exports.default;
});
/**
* @param {Object} attrs
* @return {string}
*/
var objectToAttrsString = function (attrs) {
return Object.keys(attrs).map(function (attr) {
var value = attrs[attr].toString().replace(/"/g, '&quot;');
return (attr + "=\"" + value + "\"");
}).join(' ');
};
var svg = namespaces_1.svg;
var xlink = namespaces_1.xlink;
var defaultAttrs = {};
defaultAttrs[svg.name] = svg.uri;
defaultAttrs[xlink.name] = xlink.uri;
/**
* @param {string} [content]
* @param {Object} [attributes]
* @return {string}
*/
var wrapInSvgString = function (content, attributes) {
if ( content === void 0 ) content = '';
var attrs = deepmerge(defaultAttrs, attributes || {});
var attrsRendered = objectToAttrsString(attrs);
return ("<svg " + attrsRendered + ">" + content + "</svg>");
};
var svg$1 = namespaces_1.svg;
var xlink$1 = namespaces_1.xlink;
var defaultConfig = {
attrs: ( obj = {
style: ['position: absolute', 'width: 0', 'height: 0'].join('; '),
'aria-hidden': 'true'
}, obj[svg$1.name] = svg$1.uri, obj[xlink$1.name] = xlink$1.uri, obj )
};
var obj;
var Sprite = function Sprite(config) {
this.config = deepmerge(defaultConfig, config || {});
this.symbols = [];
};
/**
* Add new symbol. If symbol with the same id exists it will be replaced.
* @param {SpriteSymbol} symbol
* @return {boolean} `true` - symbol was added, `false` - replaced
*/
Sprite.prototype.add = function add (symbol) {
var ref = this;
var symbols = ref.symbols;
var existing = this.find(symbol.id);
if (existing) {
symbols[symbols.indexOf(existing)] = symbol;
return false;
}
symbols.push(symbol);
return true;
};
/**
* Remove symbol & destroy it
* @param {string} id
* @return {boolean} `true` - symbol was found & successfully destroyed, `false` - otherwise
*/
Sprite.prototype.remove = function remove (id) {
var ref = this;
var symbols = ref.symbols;
var symbol = this.find(id);
if (symbol) {
symbols.splice(symbols.indexOf(symbol), 1);
symbol.destroy();
return true;
}
return false;
};
/**
* @param {string} id
* @return {SpriteSymbol|null}
*/
Sprite.prototype.find = function find (id) {
return this.symbols.filter(function (s) { return s.id === id; })[0] || null;
};
/**
* @param {string} id
* @return {boolean}
*/
Sprite.prototype.has = function has (id) {
return this.find(id) !== null;
};
/**
* @return {string}
*/
Sprite.prototype.stringify = function stringify () {
var ref = this.config;
var attrs = ref.attrs;
var stringifiedSymbols = this.symbols.map(function (s) { return s.stringify(); }).join('');
return wrapInSvgString(stringifiedSymbols, attrs);
};
/**
* @return {string}
*/
Sprite.prototype.toString = function toString () {
return this.stringify();
};
Sprite.prototype.destroy = function destroy () {
this.symbols.forEach(function (s) { return s.destroy(); });
};
var SpriteSymbol = function SpriteSymbol(ref) {
var id = ref.id;
var viewBox = ref.viewBox;
var content = ref.content;
this.id = id;
this.viewBox = viewBox;
this.content = content;
};
/**
* @return {string}
*/
SpriteSymbol.prototype.stringify = function stringify () {
return this.content;
};
/**
* @return {string}
*/
SpriteSymbol.prototype.toString = function toString () {
return this.stringify();
};
SpriteSymbol.prototype.destroy = function destroy () {
var this$1 = this;
['id', 'viewBox', 'content'].forEach(function (prop) { return delete this$1[prop]; });
};
/**
* @param {string} content
* @return {Element}
*/
var parse = function (content) {
var hasImportNode = !!document.importNode;
var doc = new DOMParser().parseFromString(content, 'image/svg+xml').documentElement;
/**
* Fix for browser which are throwing WrongDocumentError
* if you insert an element which is not part of the document
* @see http://stackoverflow.com/a/7986519/4624403
*/
if (hasImportNode) {
return document.importNode(doc, true);
}
return doc;
};
var BrowserSpriteSymbol = (function (SpriteSymbol$$1) {
function BrowserSpriteSymbol () {
SpriteSymbol$$1.apply(this, arguments);
}
if ( SpriteSymbol$$1 ) BrowserSpriteSymbol.__proto__ = SpriteSymbol$$1;
BrowserSpriteSymbol.prototype = Object.create( SpriteSymbol$$1 && SpriteSymbol$$1.prototype );
BrowserSpriteSymbol.prototype.constructor = BrowserSpriteSymbol;
var prototypeAccessors = { isMounted: {} };
prototypeAccessors.isMounted.get = function () {
return !!this.node;
};
/**
* @param {Element} node
* @return {BrowserSpriteSymbol}
*/
BrowserSpriteSymbol.createFromExistingNode = function createFromExistingNode (node) {
return new BrowserSpriteSymbol({
id: node.getAttribute('id'),
viewBox: node.getAttribute('viewBox'),
content: node.outerHTML
});
};
BrowserSpriteSymbol.prototype.destroy = function destroy () {
if (this.isMounted) {
this.unmount();
}
SpriteSymbol$$1.prototype.destroy.call(this);
};
/**
* @param {Element|string} target
* @return {Element}
*/
BrowserSpriteSymbol.prototype.mount = function mount (target) {
if (this.isMounted) {
return this.node;
}
var mountTarget = typeof target === 'string' ? document.querySelector(target) : target;
var node = this.render();
this.node = node;
mountTarget.appendChild(node);
return node;
};
/**
* @return {Element}
*/
BrowserSpriteSymbol.prototype.render = function render () {
var content = this.stringify();
return parse(wrapInSvgString(content)).childNodes[0];
};
BrowserSpriteSymbol.prototype.unmount = function unmount () {
this.node.parentNode.removeChild(this.node);
};
Object.defineProperties( BrowserSpriteSymbol.prototype, prototypeAccessors );
return BrowserSpriteSymbol;
}(SpriteSymbol));
var defaultConfig$1 = {
/**
* Should following options be automatically configured:
* - `syncUrlsWithBaseTag`
* - `locationChangeAngularEmitter`
* - `moveGradientsOutsideSymbol`
* @type {boolean}
*/
autoConfigure: true,
/**
* Default mounting selector
* @type {string}
*/
mountTo: 'body',
/**
* Fix disappearing SVG elements when <base href> exists.
* Executes when sprite mounted.
* @see http://stackoverflow.com/a/18265336/796152
* @see https://github.com/everdimension/angular-svg-base-fix
* @see https://github.com/angular/angular.js/issues/8934#issuecomment-56568466
* @type {boolean}
*/
syncUrlsWithBaseTag: false,
/**
* Should sprite listen custom location change event
* @type {boolean}
*/
listenLocationChangeEvent: true,
/**
* Custom window event name which should be emitted to update sprite urls
* @type {string}
*/
locationChangeEvent: 'locationChange',
/**
* Emit location change event in Angular automatically
* @type {boolean}
*/
locationChangeAngularEmitter: false,
/**
* Selector to find symbols usages when updating sprite urls
* @type {string}
*/
usagesToUpdate: 'use[*|href]',
/**
* Fix Firefox bug when gradients and patterns don't work if they are within a symbol.
* Executes when sprite is rendered, but not mounted.
* @see https://bugzilla.mozilla.org/show_bug.cgi?id=306674
* @see https://bugzilla.mozilla.org/show_bug.cgi?id=353575
* @see https://bugzilla.mozilla.org/show_bug.cgi?id=1235364
* @type {boolean}
*/
moveGradientsOutsideSymbol: false
};
/**
* @param {*} arrayLike
* @return {Array}
*/
var arrayFrom = function (arrayLike) {
return Array.prototype.slice.call(arrayLike, 0);
};
var browser = {
isChrome: function () { return /chrome/i.test(navigator.userAgent); },
isFirefox: function () { return /firefox/i.test(navigator.userAgent); },
// https://msdn.microsoft.com/en-us/library/ms537503(v=vs.85).aspx
isIE: function () { return /msie/i.test(navigator.userAgent) || /trident/i.test(navigator.userAgent); },
isEdge: function () { return /edge/i.test(navigator.userAgent); }
};
/**
* @param {string} name
* @param {*} data
*/
var dispatchEvent = function (name, data) {
var event = document.createEvent('CustomEvent');
event.initCustomEvent(name, false, false, data);
window.dispatchEvent(event);
};
/**
* IE doesn't evaluate <style> tags in SVGs that are dynamically added to the page.
* This trick will trigger IE to read and use any existing SVG <style> tags.
* @see https://github.com/iconic/SVGInjector/issues/23
* @see https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/10898469/
*
* @param {Element} node DOM Element to search <style> tags in
* @return {Array<HTMLStyleElement>}
*/
var evalStylesIEWorkaround = function (node) {
var updatedNodes = [];
arrayFrom(node.querySelectorAll('style'))
.forEach(function (style) {
style.textContent += '';
updatedNodes.push(style);
});
return updatedNodes;
};
/**
* @param {string} [url] If not provided - current URL will be used
* @return {string}
*/
var getUrlWithoutFragment = function (url) {
return (url || window.location.href).split('#')[0];
};
/* global angular */
/**
* @param {string} eventName
*/
var locationChangeAngularEmitter = function (eventName) {
angular.module('ng').run(['$rootScope', function ($rootScope) {
$rootScope.$on('$locationChangeSuccess', function (e, newUrl, oldUrl) {
dispatchEvent(eventName, { oldUrl: oldUrl, newUrl: newUrl });
});
}]);
};
var defaultSelector = 'linearGradient, radialGradient, pattern, mask, clipPath';
/**
* @param {Element} svg
* @param {string} [selector]
* @return {Element}
*/
var moveGradientsOutsideSymbol = function (svg, selector) {
if ( selector === void 0 ) selector = defaultSelector;
arrayFrom(svg.querySelectorAll('symbol')).forEach(function (symbol) {
arrayFrom(symbol.querySelectorAll(selector)).forEach(function (node) {
symbol.parentNode.insertBefore(node, symbol);
});
});
return svg;
};
/**
* @param {NodeList} nodes
* @param {Function} [matcher]
* @return {Attr[]}
*/
function selectAttributes(nodes, matcher) {
var attrs = arrayFrom(nodes).reduce(function (acc, node) {
if (!node.attributes) {
return acc;
}
var arrayfied = arrayFrom(node.attributes);
var matched = matcher ? arrayfied.filter(matcher) : arrayfied;
return acc.concat(matched);
}, []);
return attrs;
}
/**
* @param {NodeList|Node} nodes
* @param {boolean} [clone=true]
* @return {string}
*/
var xLinkNS = namespaces_1.xlink.uri;
var xLinkAttrName = 'xlink:href';
// eslint-disable-next-line no-useless-escape
var specialUrlCharsPattern = /[{}|\\\^\[\]`"<>]/g;
function encoder(url) {
return url.replace(specialUrlCharsPattern, function (match) {
return ("%" + (match[0].charCodeAt(0).toString(16).toUpperCase()));
});
}
function escapeRegExp(str) {
return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
}
/**
* @param {NodeList} nodes
* @param {string} startsWith
* @param {string} replaceWith
* @return {NodeList}
*/
function updateReferences(nodes, startsWith, replaceWith) {
arrayFrom(nodes).forEach(function (node) {
var href = node.getAttribute(xLinkAttrName);
if (href && href.indexOf(startsWith) === 0) {
var newUrl = href.replace(startsWith, replaceWith);
node.setAttributeNS(xLinkNS, xLinkAttrName, newUrl);
}
});
return nodes;
}
/**
* List of SVG attributes to update url() target in them
*/
var attList = [
'clipPath',
'colorProfile',
'src',
'cursor',
'fill',
'filter',
'marker',
'markerStart',
'markerMid',
'markerEnd',
'mask',
'stroke',
'style'
];
var attSelector = attList.map(function (attr) { return ("[" + attr + "]"); }).join(',');
/**
* Update URLs in svg image (like `fill="url(...)"`) and update referencing elements
* @param {Element} svg
* @param {NodeList} references
* @param {string|RegExp} startsWith
* @param {string} replaceWith
* @return {void}
*
* @example
* const sprite = document.querySelector('svg.sprite');
* const usages = document.querySelectorAll('use');
* updateUrls(sprite, usages, '#', 'prefix#');
*/
var updateUrls = function (svg, references, startsWith, replaceWith) {
var startsWithEncoded = encoder(startsWith);
var replaceWithEncoded = encoder(replaceWith);
var nodes = svg.querySelectorAll(attSelector);
var attrs = selectAttributes(nodes, function (ref) {
var localName = ref.localName;
var value = ref.value;
return attList.indexOf(localName) !== -1 && value.indexOf(("url(" + startsWithEncoded)) !== -1;
});
attrs.forEach(function (attr) { return attr.value = attr.value.replace(new RegExp(escapeRegExp(startsWithEncoded), 'g'), replaceWithEncoded); });
updateReferences(references, startsWithEncoded, replaceWithEncoded);
};
/**
* Internal emitter events
* @enum
* @private
*/
var Events = {
MOUNT: 'mount',
SYMBOL_MOUNT: 'symbol_mount'
};
var BrowserSprite = (function (Sprite$$1) {
function BrowserSprite(cfg) {
var this$1 = this;
if ( cfg === void 0 ) cfg = {};
Sprite$$1.call(this, deepmerge(defaultConfig$1, cfg));
var emitter = mitt();
this._emitter = emitter;
this.node = null;
var ref = this;
var config = ref.config;
if (config.autoConfigure) {
this._autoConfigure(cfg);
}
if (config.syncUrlsWithBaseTag) {
var baseUrl = document.getElementsByTagName('base')[0].getAttribute('href');
emitter.on(Events.MOUNT, function () { return this$1.updateUrls('#', baseUrl); });
}
var handleLocationChange = this._handleLocationChange.bind(this);
this._handleLocationChange = handleLocationChange;
// Provide way to update sprite urls externally via dispatching custom window event
if (config.listenLocationChangeEvent) {
window.addEventListener(config.locationChangeEvent, handleLocationChange);
}
// Emit location change event in Angular automatically
if (config.locationChangeAngularEmitter) {
locationChangeAngularEmitter(config.locationChangeEvent);
}
// After sprite mounted
emitter.on(Events.MOUNT, function (spriteNode) {
if (config.moveGradientsOutsideSymbol) {
moveGradientsOutsideSymbol(spriteNode);
}
});
// After symbol mounted into sprite
emitter.on(Events.SYMBOL_MOUNT, function (symbolNode) {
if (config.moveGradientsOutsideSymbol) {
moveGradientsOutsideSymbol(symbolNode.parentNode);
}
if (browser.isIE() || browser.isEdge()) {
evalStylesIEWorkaround(symbolNode);
}
});
}
if ( Sprite$$1 ) BrowserSprite.__proto__ = Sprite$$1;
BrowserSprite.prototype = Object.create( Sprite$$1 && Sprite$$1.prototype );
BrowserSprite.prototype.constructor = BrowserSprite;
var prototypeAccessors = { isMounted: {} };
/**
* @return {boolean}
*/
prototypeAccessors.isMounted.get = function () {
return !!this.node;
};
/**
* Automatically configure following options
* - `syncUrlsWithBaseTag`
* - `locationChangeAngularEmitter`
* - `moveGradientsOutsideSymbol`
* @param {Object} cfg
* @private
*/
BrowserSprite.prototype._autoConfigure = function _autoConfigure (cfg) {
var ref = this;
var config = ref.config;
if (typeof cfg.syncUrlsWithBaseTag === 'undefined') {
config.syncUrlsWithBaseTag = typeof document.getElementsByTagName('base')[0] !== 'undefined';
}
if (typeof cfg.locationChangeAngularEmitter === 'undefined') {
config.locationChangeAngularEmitter = typeof window.angular !== 'undefined';
}
if (typeof cfg.moveGradientsOutsideSymbol === 'undefined') {
config.moveGradientsOutsideSymbol = browser.isFirefox();
}
};
/**
* @param {Event} event
* @param {Object} event.detail
* @param {string} event.detail.oldUrl
* @param {string} event.detail.newUrl
* @private
*/
BrowserSprite.prototype._handleLocationChange = function _handleLocationChange (event) {
var ref = event.detail;
var oldUrl = ref.oldUrl;
var newUrl = ref.newUrl;
this.updateUrls(oldUrl, newUrl);
};
/**
* Add new symbol. If symbol with the same id exists it will be replaced.
* If sprite already mounted - `symbol.mount(sprite.node)` will be called.
* @fires Events#SYMBOL_MOUNT
* @param {BrowserSpriteSymbol} symbol
* @return {boolean} `true` - symbol was added, `false` - replaced
*/
BrowserSprite.prototype.add = function add (symbol) {
var sprite = this;
var isNewSymbol = Sprite$$1.prototype.add.call(this, symbol);
if (this.isMounted && isNewSymbol) {
symbol.mount(sprite.node);
this._emitter.emit(Events.SYMBOL_MOUNT, symbol.node);
}
return isNewSymbol;
};
/**
* Attach to existing DOM node
* @param {string|Element} target
* @return {Element|null} attached DOM Element. null if node to attach not found.
*/
BrowserSprite.prototype.attach = function attach (target) {
var this$1 = this;
var sprite = this;
if (sprite.isMounted) {
return sprite.node;
}
/** @type Element */
var node = typeof target === 'string' ? document.querySelector(target) : target;
sprite.node = node;
// Already added symbols needs to be mounted
this.symbols.forEach(function (symbol) {
symbol.mount(sprite.node);
this$1._emitter.emit(Events.SYMBOL_MOUNT, symbol.node);
});
// Create symbols from existing DOM nodes, add and mount them
arrayFrom(node.querySelectorAll('symbol'))
.forEach(function (symbolNode) {
var symbol = BrowserSpriteSymbol.createFromExistingNode(symbolNode);
symbol.node = symbolNode; // hack to prevent symbol mounting to sprite when adding
sprite.add(symbol);
});
this._emitter.emit(Events.MOUNT, node);
return node;
};
BrowserSprite.prototype.destroy = function destroy () {
var ref = this;
var config = ref.config;
var symbols = ref.symbols;
var _emitter = ref._emitter;
symbols.forEach(function (s) { return s.destroy(); });
_emitter.off('*');
window.removeEventListener(config.locationChangeEvent, this._handleLocationChange);
if (this.isMounted) {
this.unmount();
}
};
/**
* @fires Events#MOUNT
* @param {string|Element} [target]
* @param {boolean} [prepend=false]
* @return {Element|null} rendered sprite node. null if mount node not found.
*/
BrowserSprite.prototype.mount = function mount (target, prepend) {
if ( target === void 0 ) target = this.config.mountTo;
if ( prepend === void 0 ) prepend = false;
var sprite = this;
if (sprite.isMounted) {
return sprite.node;
}
var mountNode = typeof target === 'string' ? document.querySelector(target) : target;
var node = sprite.render();
this.node = node;
if (prepend && mountNode.childNodes[0]) {
mountNode.insertBefore(node, mountNode.childNodes[0]);
} else {
mountNode.appendChild(node);
}
this._emitter.emit(Events.MOUNT, node);
return node;
};
/**
* @return {Element}
*/
BrowserSprite.prototype.render = function render () {
return parse(this.stringify());
};
/**
* Detach sprite from the DOM
*/
BrowserSprite.prototype.unmount = function unmount () {
this.node.parentNode.removeChild(this.node);
};
/**
* Update URLs in sprite and usage elements
* @param {string} oldUrl
* @param {string} newUrl
* @return {boolean} `true` - URLs was updated, `false` - sprite is not mounted
*/
BrowserSprite.prototype.updateUrls = function updateUrls$1 (oldUrl, newUrl) {
if (!this.isMounted) {
return false;
}
var usages = document.querySelectorAll(this.config.usagesToUpdate);
updateUrls(
this.node,
usages,
((getUrlWithoutFragment(oldUrl)) + "#"),
((getUrlWithoutFragment(newUrl)) + "#")
);
return true;
};
Object.defineProperties( BrowserSprite.prototype, prototypeAccessors );
return BrowserSprite;
}(Sprite));
var ready$1 = createCommonjsModule(function (module) {
/*!
* domready (c) Dustin Diaz 2014 - License MIT
*/
!function (name, definition) {
{ module.exports = definition(); }
}('domready', function () {
var fns = [], listener
, doc = document
, hack = doc.documentElement.doScroll
, domContentLoaded = 'DOMContentLoaded'
, loaded = (hack ? /^loaded|^c/ : /^loaded|^i|^c/).test(doc.readyState);
if (!loaded)
{ doc.addEventListener(domContentLoaded, listener = function () {
doc.removeEventListener(domContentLoaded, listener);
loaded = 1;
while (listener = fns.shift()) { listener(); }
}); }
return function (fn) {
loaded ? setTimeout(fn, 0) : fns.push(fn);
}
});
});
var spriteNodeId = '__SVG_SPRITE_NODE__';
var spriteGlobalVarName = '__SVG_SPRITE__';
var isSpriteExists = !!window[spriteGlobalVarName];
// eslint-disable-next-line import/no-mutable-exports
var sprite;
if (isSpriteExists) {
sprite = window[spriteGlobalVarName];
} else {
sprite = new BrowserSprite({ attrs: { id: spriteNodeId } });
window[spriteGlobalVarName] = sprite;
}
var loadSprite = function () {
/**
* Check for page already contains sprite node
* If found - attach to and reuse it's content
* If not - render and mount the new sprite
*/
var existing = document.getElementById(spriteNodeId);
if (existing) {
sprite.attach(existing);
} else {
sprite.mount(document.body, true);
}
};
if (document.body) {
loadSprite();
} else {
ready$1(loadSprite);
}
var sprite$1 = sprite;
return sprite$1;
})));
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(18)))
/***/ }),
/***/ 210:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(2);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_vue__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_SvgIcon__ = __webpack_require__(226);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_SvgIcon___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__components_SvgIcon__);
// svg组件
// register globally
__WEBPACK_IMPORTED_MODULE_0_vue___default.a.component('svg-icon', __WEBPACK_IMPORTED_MODULE_1__components_SvgIcon___default.a);
const requireAll = requireContext => requireContext.keys().map(requireContext);
const req = __webpack_require__(228);
requireAll(req);
/***/ }),
/***/ 211:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
//
//
//
//
//
//
/* harmony default export */ __webpack_exports__["default"] = ({
name: 'SvgIcon',
props: {
iconClass: {
type: String,
required: true
},
className: {
type: String,
default: ''
}
},
computed: {
iconName() {
return `#icon-${this.iconClass}`;
},
svgClass() {
if (this.className) {
return 'svg-icon ' + this.className;
} else {
return 'svg-icon';
}
}
}
});
/***/ }),
/***/ 212:
/***/ (function(module, exports, __webpack_require__) {
exports = module.exports = __webpack_require__(199)();
// imports
// module
exports.push([module.i, "\n.svg-icon[data-v-4246bec4] {\n width: 1em;\n height: 1em;\n vertical-align: -0.15em;\n fill: currentColor;\n overflow: hidden;\n}\n", "", {"version":3,"sources":["/Users/simon/Documents/workspace/wp_202002/ka-manager-ui/src/components/SvgIcon/index.vue"],"names":[],"mappings":";AACA;EACE,WAAW;EACX,YAAY;EACZ,wBAAwB;EACxB,mBAAmB;EACnB,iBAAiB;CAClB","file":"index.vue","sourcesContent":["\n.svg-icon[data-v-4246bec4] {\n width: 1em;\n height: 1em;\n vertical-align: -0.15em;\n fill: currentColor;\n overflow: hidden;\n}\n"],"sourceRoot":""}]);
// exports
/***/ }),
/***/ 213:
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__(212);
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var update = __webpack_require__(200)("3148892f", content, true);
/***/ }),
/***/ 214:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__ = __webpack_require__(208);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__ = __webpack_require__(209);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__);
var symbol = new __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default.a({
"id": "icon-example",
"use": "icon-example-usage",
"viewBox": "0 0 128 128",
"content": "<symbol xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128 128\" id=\"icon-example\"><path d=\"M96.258 57.462h31.421C124.794 27.323 100.426 2.956 70.287.07v31.422a32.856 32.856 0 0 1 25.971 25.97zm-38.796-25.97V.07C27.323 2.956 2.956 27.323.07 57.462h31.422a32.856 32.856 0 0 1 25.97-25.97zm12.825 64.766v31.421c30.46-2.885 54.507-27.253 57.713-57.712H96.579c-2.886 13.466-13.146 23.726-26.292 26.291zM31.492 70.287H.07c2.886 30.46 27.253 54.507 57.713 57.713V96.579c-13.466-2.886-23.726-13.146-26.291-26.292z\" /></symbol>"
});
var result = __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default.a.add(symbol);
/* harmony default export */ __webpack_exports__["default"] = (symbol);
/***/ }),
/***/ 215:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__ = __webpack_require__(208);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__ = __webpack_require__(209);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__);
var symbol = new __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default.a({
"id": "icon-eye-open",
"use": "icon-eye-open-usage",
"viewBox": "0 0 1024 1024",
"content": "<symbol class=\"icon\" viewBox=\"0 0 1024 1024\" xmlns=\"http://www.w3.org/2000/svg\" id=\"icon-eye-open\"><defs><style></style></defs><path d=\"M512 128q69.675 0 135.51 21.163t115.498 54.997 93.483 74.837 73.685 82.006 51.67 74.837 32.17 54.827L1024 512q-2.347 4.992-6.315 13.483T998.87 560.17t-31.658 51.669-44.331 59.99-56.832 64.34-69.504 60.16-82.347 51.5-94.848 34.687T512 896q-69.675 0-135.51-21.163t-115.498-54.826-93.483-74.326-73.685-81.493-51.67-74.496-32.17-54.997L0 513.707q2.347-4.992 6.315-13.483t18.816-34.816 31.658-51.84 44.331-60.33 56.832-64.683 69.504-60.331 82.347-51.84 94.848-34.816T512 128.085zm0 85.333q-46.677 0-91.648 12.331t-81.152 31.83-70.656 47.146-59.648 54.485-48.853 57.686-37.675 52.821-26.325 43.99q12.33 21.674 26.325 43.52t37.675 52.351 48.853 57.003 59.648 53.845T339.2 767.02t81.152 31.488T512 810.667t91.648-12.331 81.152-31.659 70.656-46.848 59.648-54.186 48.853-57.344 37.675-52.651T927.957 512q-12.33-21.675-26.325-43.648t-37.675-52.65-48.853-57.345-59.648-54.186-70.656-46.848-81.152-31.659T512 213.334zm0 128q70.656 0 120.661 50.006T682.667 512 632.66 632.661 512 682.667 391.339 632.66 341.333 512t50.006-120.661T512 341.333zm0 85.334q-35.328 0-60.33 25.002T426.666 512t25.002 60.33T512 597.334t60.33-25.002T597.334 512t-25.002-60.33T512 426.666z\" /></symbol>"
});
var result = __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default.a.add(symbol);
/* harmony default export */ __webpack_exports__["default"] = (symbol);
/***/ }),
/***/ 216:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__ = __webpack_require__(208);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__ = __webpack_require__(209);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__);
var symbol = new __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default.a({
"id": "icon-eye",
"use": "icon-eye-usage",
"viewBox": "0 0 128 64",
"content": "<symbol xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128 64\" id=\"icon-eye\"><path d=\"M127.072 7.994c1.37-2.208.914-5.152-.914-6.87-2.056-1.717-4.797-1.226-6.396.982-.229.245-25.586 32.382-55.74 32.382-29.24 0-55.74-32.382-55.968-32.627-1.6-1.963-4.57-2.208-6.397-.49C-.17 3.086-.399 6.275 1.2 8.238c.457.736 5.94 7.36 14.62 14.72L4.17 35.96c-1.828 1.963-1.6 5.152.228 6.87.457.98 1.6 1.471 2.742 1.471s2.284-.49 3.198-1.472l12.564-13.983c5.94 4.416 13.021 8.587 20.788 11.53l-4.797 17.418c-.685 2.699.686 5.397 3.198 6.133h1.37c2.057 0 3.884-1.472 4.341-3.68L52.6 42.83c3.655.736 7.538 1.227 11.422 1.227 3.883 0 7.767-.49 11.422-1.227l4.797 17.173c.457 2.208 2.513 3.68 4.34 3.68.457 0 .914 0 1.143-.246 2.513-.736 3.883-3.434 3.198-6.133l-4.797-17.172c7.767-2.944 14.848-7.114 20.788-11.53l12.336 13.738c.913.981 2.056 1.472 3.198 1.472s2.284-.49 3.198-1.472c1.828-1.963 1.828-4.906.228-6.87l-11.65-13.001c9.366-7.36 14.849-14.474 14.849-14.474z\" /></symbol>"
});
var result = __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default.a.add(symbol);
/* harmony default export */ __webpack_exports__["default"] = (symbol);
/***/ }),
/***/ 217:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__ = __webpack_require__(208);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__ = __webpack_require__(209);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__);
var symbol = new __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default.a({
"id": "icon-form",
"use": "icon-form-usage",
"viewBox": "0 0 128 128",
"content": "<symbol xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128 128\" id=\"icon-form\"><path d=\"M84.068 23.784c-1.02 0-1.877-.32-2.572-.96a8.588 8.588 0 0 1-1.738-2.237 11.524 11.524 0 0 1-1.042-2.621c-.232-.895-.348-1.641-.348-2.238V0h.278c.834 0 1.622.085 2.363.256.742.17 1.645.575 2.711 1.214 1.066.64 2.363 1.535 3.892 2.686 1.53 1.15 3.453 2.664 5.77 4.54 2.502 2.045 4.494 3.771 5.977 5.178 1.483 1.406 2.618 2.6 3.406 3.58.787.98 1.274 1.812 1.46 2.494.185.682.277 1.278.277 1.79v2.046H84.068zM127.3 84.01c.278.682.464 1.535.556 2.558.093 1.023-.37 2.003-1.39 2.94-.463.427-.88.832-1.25 1.215-.372.384-.696.704-.974.96a6.69 6.69 0 0 1-.973.767l-11.816-10.741a44.331 44.331 0 0 0 1.877-1.535 31.028 31.028 0 0 1 1.737-1.406c1.112-.938 2.317-1.343 3.615-1.215 1.297.128 2.363.405 3.197.83.927.427 1.923 1.173 2.989 2.239 1.065 1.065 1.876 2.195 2.432 3.388zM78.23 95.902c2.038 0 3.752-.511 5.143-1.534l-26.969 25.83H18.037c-1.761 0-3.684-.47-5.77-1.407a24.549 24.549 0 0 1-5.838-3.709 21.373 21.373 0 0 1-4.518-5.306c-1.204-2.003-1.807-4.07-1.807-6.202V16.495c0-1.79.44-3.665 1.32-5.626A18.41 18.41 0 0 1 5.04 5.562a21.798 21.798 0 0 1 5.213-3.964C12.198.533 14.237 0 16.37 0h53.24v15.984c0 1.62.278 3.367.834 5.242a16.704 16.704 0 0 0 2.572 5.179c1.159 1.577 2.665 2.898 4.518 3.964 1.853 1.066 4.078 1.598 6.673 1.598h20.295v42.325L85.458 92.45c1.02-1.364 1.529-2.856 1.529-4.476 0-2.216-.857-4.113-2.572-5.69-1.714-1.577-3.776-2.366-6.186-2.366H26.1c-2.409 0-4.448.789-6.116 2.366-1.668 1.577-2.502 3.474-2.502 5.69 0 2.217.834 4.092 2.502 5.626 1.668 1.535 3.707 2.302 6.117 2.302h52.13zM26.1 47.951c-2.41 0-4.449.789-6.117 2.366-1.668 1.577-2.502 3.473-2.502 5.69 0 2.216.834 4.092 2.502 5.626 1.668 1.534 3.707 2.302 6.117 2.302h52.13c2.409 0 4.47-.768 6.185-2.302 1.715-1.534 2.572-3.41 2.572-5.626 0-2.217-.857-4.113-2.572-5.69-1.714-1.577-3.776-2.366-6.186-2.366H26.1zm52.407 64.063l1.807-1.663 3.476-3.196a479.75 479.75 0 0 0 4.587-4.284 500.757 500.757 0 0 1 5.004-4.667c3.985-3.666 8.48-7.758 13.485-12.276l11.677 10.741-13.485 12.404-5.004 4.603-4.587 4.22a179.46 179.46 0 0 0-3.267 3.068c-.88.853-1.367 1.322-1.46 1.407-.463.341-.973.703-1.529 1.087-.556.383-1.112.703-1.668.959-.556.256-1.413.575-2.572.959a83.5 83.5 0 0 1-3.545 1.087 72.2 72.2 0 0 1-3.475.895c-1.112.256-1.946.426-2.502.511-1.112.17-1.854.043-2.224-.383-.371-.426-.464-1.151-.278-2.174.092-.511.278-1.279.556-2.302.278-1.023.602-2.067.973-3.132l1.042-3.005c.325-.938.58-1.577.765-1.918a10.157 10.157 0 0 1 2.224-2.941z\" /></symbol>"
});
var result = __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default.a.add(symbol);
/* harmony default export */ __webpack_exports__["default"] = (symbol);
/***/ }),
/***/ 218:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__ = __webpack_require__(208);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__ = __webpack_require__(209);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__);
var symbol = new __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default.a({
"id": "icon-link",
"use": "icon-link-usage",
"viewBox": "0 0 128 128",
"content": "<symbol xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128 128\" id=\"icon-link\"><g><path d=\"M115.625 127.937H.063V12.375h57.781v12.374H12.438v90.813h90.813V70.156h12.374z\" /><path d=\"M116.426 2.821l8.753 8.753-56.734 56.734-8.753-8.745z\" /><path d=\"M127.893 37.982h-12.375V12.375H88.706V0h39.187z\" /></g></symbol>"
});
var result = __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default.a.add(symbol);
/* harmony default export */ __webpack_exports__["default"] = (symbol);
/***/ }),
/***/ 219:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__ = __webpack_require__(208);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__ = __webpack_require__(209);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__);
var symbol = new __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default.a({
"id": "icon-nested",
"use": "icon-nested-usage",
"viewBox": "0 0 128 128",
"content": "<symbol xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128 128\" id=\"icon-nested\"><path d=\"M.002 9.2c0 5.044 3.58 9.133 7.998 9.133 4.417 0 7.997-4.089 7.997-9.133 0-5.043-3.58-9.132-7.997-9.132S.002 4.157.002 9.2zM31.997.066h95.981V18.33H31.997V.066zm0 45.669c0 5.044 3.58 9.132 7.998 9.132 4.417 0 7.997-4.088 7.997-9.132 0-3.263-1.524-6.278-3.998-7.91-2.475-1.63-5.524-1.63-7.998 0-2.475 1.632-4 4.647-4 7.91zM63.992 36.6h63.986v18.265H63.992V36.6zm-31.995 82.2c0 5.043 3.58 9.132 7.998 9.132 4.417 0 7.997-4.089 7.997-9.132 0-5.044-3.58-9.133-7.997-9.133s-7.998 4.089-7.998 9.133zm31.995-9.131h63.986v18.265H63.992V109.67zm0-27.404c0 5.044 3.58 9.133 7.998 9.133 4.417 0 7.997-4.089 7.997-9.133 0-3.263-1.524-6.277-3.998-7.909-2.475-1.631-5.524-1.631-7.998 0-2.475 1.632-4 4.646-4 7.91zm31.995-9.13h31.991V91.4H95.987V73.135z\" /></symbol>"
});
var result = __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default.a.add(symbol);
/* harmony default export */ __webpack_exports__["default"] = (symbol);
/***/ }),
/***/ 220:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__ = __webpack_require__(208);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__ = __webpack_require__(209);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__);
var symbol = new __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default.a({
"id": "icon-password",
"use": "icon-password-usage",
"viewBox": "0 0 128 128",
"content": "<symbol xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128 128\" id=\"icon-password\"><path d=\"M108.8 44.322H89.6v-5.36c0-9.04-3.308-24.163-25.6-24.163-23.145 0-25.6 16.881-25.6 24.162v5.361H19.2v-5.36C19.2 15.281 36.798 0 64 0c27.202 0 44.8 15.281 44.8 38.961v5.361zm-32 39.356c0-5.44-5.763-9.832-12.8-9.832-7.037 0-12.8 4.392-12.8 9.832 0 3.682 2.567 6.808 6.407 8.477v11.205c0 2.718 2.875 4.962 6.4 4.962 3.524 0 6.4-2.244 6.4-4.962V92.155c3.833-1.669 6.393-4.795 6.393-8.477zM128 64v49.201c0 8.158-8.645 14.799-19.2 14.799H19.2C8.651 128 0 121.359 0 113.201V64c0-8.153 8.645-14.799 19.2-14.799h89.6c10.555 0 19.2 6.646 19.2 14.799z\" /></symbol>"
});
var result = __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default.a.add(symbol);
/* harmony default export */ __webpack_exports__["default"] = (symbol);
/***/ }),
/***/ 221:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__ = __webpack_require__(208);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__ = __webpack_require__(209);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__);
var symbol = new __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default.a({
"id": "icon-people",
"use": "icon-people-usage",
"viewBox": "0 0 128 128",
"content": "<symbol xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128 128\" id=\"icon-people\"><path d=\"M104.185 95.254c8.161 7.574 13.145 17.441 13.145 28.28 0 1.508-.098 2.998-.285 4.466h-10.784c.238-1.465.403-2.948.403-4.465 0-8.983-4.36-17.115-11.419-23.216C86 104.66 75.355 107.162 64 107.162c-11.344 0-21.98-2.495-31.22-6.83-7.064 6.099-11.444 14.218-11.444 23.203 0 1.517.165 3 .403 4.465H10.955a35.444 35.444 0 0 1-.285-4.465c0-10.838 4.974-20.713 13.127-28.291C9.294 85.42.003 70.417.003 53.58.003 23.99 28.656.001 64 .001s63.997 23.988 63.997 53.58c0 16.842-9.299 31.85-23.812 41.673zM64 36.867c-29.454 0-53.33-10.077-53.33 15.342 0 25.418 23.876 46.023 53.33 46.023 29.454 0 53.33-20.605 53.33-46.023 0-25.419-23.876-15.342-53.33-15.342zm24.888 25.644c-3.927 0-7.111-2.665-7.111-5.953 0-3.288 3.184-5.954 7.11-5.954 3.928 0 7.111 2.666 7.111 5.954s-3.183 5.953-7.11 5.953zm-3.556 16.372c0 4.11-9.55 7.442-21.332 7.442-11.781 0-21.332-3.332-21.332-7.442 0-1.06.656-2.064 1.8-2.976 3.295 2.626 10.79 4.465 19.532 4.465 8.743 0 16.237-1.84 19.531-4.465 1.145.912 1.801 1.916 1.801 2.976zm-46.22-16.372c-3.927 0-7.11-2.665-7.11-5.953 0-3.288 3.183-5.954 7.11-5.954 3.927 0 7.111 2.666 7.111 5.954s-3.184 5.953-7.11 5.953z\" /></symbol>"
});
var result = __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default.a.add(symbol);
/* harmony default export */ __webpack_exports__["default"] = (symbol);
/***/ }),
/***/ 222:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__ = __webpack_require__(208);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__ = __webpack_require__(209);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__);
var symbol = new __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default.a({
"id": "icon-peoples",
"use": "icon-peoples-usage",
"viewBox": "0 0 128 128",
"content": "<symbol xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128 128\" id=\"icon-peoples\"><path d=\"M95.648 118.762c0 5.035-3.563 9.121-7.979 9.121H7.98c-4.416 0-7.979-4.086-7.979-9.121C0 100.519 15.408 83.47 31.152 76.75c-9.099-6.43-15.216-17.863-15.216-30.987v-9.128c0-20.16 14.293-36.518 31.893-36.518s31.894 16.358 31.894 36.518v9.122c0 13.137-6.123 24.556-15.216 30.993 15.738 6.726 31.141 23.769 31.141 42.012z\" /><path d=\"M106.032 118.252h15.867c3.376 0 6.101-3.125 6.101-6.972 0-13.957-11.787-26.984-23.819-32.123 6.955-4.919 11.638-13.66 11.638-23.704v-6.985c0-15.416-10.928-27.926-24.39-27.926-1.674 0-3.306.193-4.89.561 1.936 4.713 3.018 9.974 3.018 15.526v9.121c0 13.137-3.056 23.111-11.066 30.993 14.842 4.41 27.312 23.42 27.541 41.509z\" /></symbol>"
});
var result = __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default.a.add(symbol);
/* harmony default export */ __webpack_exports__["default"] = (symbol);
/***/ }),
/***/ 223:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__ = __webpack_require__(208);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__ = __webpack_require__(209);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__);
var symbol = new __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default.a({
"id": "icon-table",
"use": "icon-table-usage",
"viewBox": "0 0 128 128",
"content": "<symbol xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128 128\" id=\"icon-table\"><g><path d=\"M.006.064h127.988v31.104H.006V.064zm0 38.016h38.396v41.472H.006V38.08zm0 48.384h38.396v41.472H.006V86.464zM44.802 38.08h38.396v41.472H44.802V38.08zm0 48.384h38.396v41.472H44.802V86.464zM89.598 38.08h38.396v41.472H89.598zm0 48.384h38.396v41.472H89.598z\" /><path d=\"M.006.064h127.988v31.104H.006V.064zm0 38.016h38.396v41.472H.006V38.08zm0 48.384h38.396v41.472H.006V86.464zM44.802 38.08h38.396v41.472H44.802V38.08zm0 48.384h38.396v41.472H44.802V86.464zM89.598 38.08h38.396v41.472H89.598zm0 48.384h38.396v41.472H89.598z\" /></g></symbol>"
});
var result = __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default.a.add(symbol);
/* harmony default export */ __webpack_exports__["default"] = (symbol);
/***/ }),
/***/ 224:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__ = __webpack_require__(208);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__ = __webpack_require__(209);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__);
var symbol = new __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default.a({
"id": "icon-tree",
"use": "icon-tree-usage",
"viewBox": "0 0 128 128",
"content": "<symbol xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128 128\" id=\"icon-tree\"><path d=\"M126.713 90.023c.858.985 1.287 2.134 1.287 3.447v29.553c0 1.423-.429 2.6-1.287 3.53-.858.93-1.907 1.395-3.146 1.395H97.824c-1.145 0-2.146-.465-3.004-1.395-.858-.93-1.287-2.107-1.287-3.53V93.47c0-.875.19-1.696.572-2.462.382-.766.906-1.368 1.573-1.806a3.84 3.84 0 0 1 2.146-.657h9.725V69.007a3.84 3.84 0 0 0-.43-1.806 3.569 3.569 0 0 0-1.143-1.313 2.714 2.714 0 0 0-1.573-.492h-36.47v23.149h9.725c1.144 0 2.145.492 3.004 1.478.858.985 1.287 2.134 1.287 3.447v29.553c0 .876-.191 1.696-.573 2.463-.38.766-.905 1.368-1.573 1.806a3.84 3.84 0 0 1-2.145.656H51.915a3.84 3.84 0 0 1-2.145-.656c-.668-.438-1.216-1.04-1.645-1.806a4.96 4.96 0 0 1-.644-2.463V93.47c0-1.313.43-2.462 1.288-3.447.858-.986 1.907-1.478 3.146-1.478h9.582v-23.15h-37.9c-.953 0-1.74.356-2.359 1.068-.62.711-.93 1.56-.93 2.544v19.538h9.726c1.239 0 2.264.492 3.074 1.478.81.985 1.216 2.134 1.216 3.447v29.553c0 1.423-.405 2.6-1.216 3.53-.81.93-1.835 1.395-3.074 1.395H4.29c-.476 0-.93-.082-1.358-.246a4.1 4.1 0 0 1-1.144-.657 4.658 4.658 0 0 1-.93-1.067 5.186 5.186 0 0 1-.643-1.395 5.566 5.566 0 0 1-.215-1.56V93.47c0-.437.048-.875.143-1.313a3.95 3.95 0 0 1 .429-1.15c.19-.328.429-.656.715-.984.286-.329.572-.602.858-.821.286-.22.62-.383 1.001-.493.382-.11.763-.164 1.144-.164h9.726V61.619c0-.985.31-1.833.93-2.544.619-.712 1.358-1.068 2.216-1.068h44.335V39.62h-9.582c-1.24 0-2.288-.492-3.146-1.477a5.09 5.09 0 0 1-1.287-3.448V5.14c0-1.423.429-2.627 1.287-3.612.858-.985 1.907-1.477 3.146-1.477h25.743c.763 0 1.478.246 2.145.739a5.17 5.17 0 0 1 1.573 1.888c.382.766.573 1.587.573 2.462v29.553c0 1.313-.43 2.463-1.287 3.448-.859.985-1.86 1.477-3.004 1.477h-9.725v18.389h42.762c.954 0 1.74.355 2.36 1.067.62.711.93 1.56.93 2.545v26.925h9.582c1.239 0 2.288.492 3.146 1.478z\" /></symbol>"
});
var result = __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default.a.add(symbol);
/* harmony default export */ __webpack_exports__["default"] = (symbol);
/***/ }),
/***/ 225:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__ = __webpack_require__(208);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__ = __webpack_require__(209);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__);
var symbol = new __WEBPACK_IMPORTED_MODULE_0__node_modules_svg_baker_runtime_browser_symbol_js___default.a({
"id": "icon-user",
"use": "icon-user-usage",
"viewBox": "0 0 130 130",
"content": "<symbol xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 130 130\" id=\"icon-user\"><path d=\"M63.444 64.996c20.633 0 37.359-14.308 37.359-31.953 0-17.649-16.726-31.952-37.359-31.952-20.631 0-37.36 14.303-37.358 31.952 0 17.645 16.727 31.953 37.359 31.953zM80.57 75.65H49.434c-26.652 0-48.26 18.477-48.26 41.27v2.664c0 9.316 21.608 9.325 48.26 9.325H80.57c26.649 0 48.256-.344 48.256-9.325v-2.663c0-22.794-21.605-41.271-48.256-41.271z\" stroke=\"#979797\" /></symbol>"
});
var result = __WEBPACK_IMPORTED_MODULE_1__node_modules_svg_sprite_loader_runtime_browser_sprite_build_js___default.a.add(symbol);
/* harmony default export */ __webpack_exports__["default"] = (symbol);
/***/ }),
/***/ 226:
/***/ (function(module, exports, __webpack_require__) {
/* styles */
__webpack_require__(213)
var Component = __webpack_require__(86)(
/* script */
__webpack_require__(211),
/* template */
__webpack_require__(227),
/* scopeId */
"data-v-4246bec4",
/* cssModules */
null
)
module.exports = Component.exports
/***/ }),
/***/ 227:
/***/ (function(module, exports) {
module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
return _c('svg', _vm._g({
class: _vm.svgClass,
attrs: {
"aria-hidden": "true"
}
}, _vm.$listeners), [_c('use', {
attrs: {
"xlink:href": _vm.iconName
}
})])
},staticRenderFns: []}
/***/ }),
/***/ 228:
/***/ (function(module, exports, __webpack_require__) {
var map = {
"./example.svg": 214,
"./eye-open.svg": 215,
"./eye.svg": 216,
"./form.svg": 217,
"./link.svg": 218,
"./nested.svg": 219,
"./password.svg": 220,
"./people.svg": 221,
"./peoples.svg": 222,
"./table.svg": 223,
"./tree.svg": 224,
"./user.svg": 225
};
function webpackContext(req) {
return __webpack_require__(webpackContextResolve(req));
};
function webpackContextResolve(req) {
var id = map[req];
if(!(id + 1)) // check for number or string
throw new Error("Cannot find module '" + req + "'.");
return id;
};
webpackContext.keys = function webpackContextKeys() {
return Object.keys(map);
};
webpackContext.resolve = webpackContextResolve;
module.exports = webpackContext;
webpackContext.id = 228;
/***/ }),
/***/ 229:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vuex__ = __webpack_require__(87);
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ __webpack_exports__["default"] = ({
computed: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0_vuex__["b" /* mapGetters */])(['menuIsFold']),
methods: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0_vuex__["c" /* mapActions */])(['toggleMenu'])
});
/***/ }),
/***/ 230:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__config_menu__ = __webpack_require__(235);
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ __webpack_exports__["default"] = ({
data() {
return {
menus: __WEBPACK_IMPORTED_MODULE_0__config_menu__["a" /* default */]
};
}
});
/***/ }),
/***/ 232:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vuex__ = __webpack_require__(87);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__icons__ = __webpack_require__(210);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_components_CMenu__ = __webpack_require__(251);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_components_CMenu___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_components_CMenu__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_components_CMain__ = __webpack_require__(250);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_components_CMain___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_components_CMain__);
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ __webpack_exports__["default"] = ({
data() {
return {
username: this.$store.getters.username
};
},
computed: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0_vuex__["b" /* mapGetters */])(['menuIsFold', 'tokens']),
components: {
CMenu: __WEBPACK_IMPORTED_MODULE_2_components_CMenu___default.a,
CMain: __WEBPACK_IMPORTED_MODULE_3_components_CMain___default.a
},
watch: {
tokens: function (val) {
if (val == '') {
this.$router.push('/login');
}
}
},
methods: __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0_vuex__["c" /* mapActions */])(['logout'])
});
/***/ }),
/***/ 235:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__icons__ = __webpack_require__(210);
/**
* Created by lichb on 2017/1/24.
*/
/* harmony default export */ __webpack_exports__["a"] = ([{
name: '菜单',
items: [{
name: 'KA渠道信息配置',
path: '/home/channels',
icon: 'form'
}, {
name: 'report系统配置',
path: '/home/report',
icon: 'nested'
}, {
name: '统计视图',
path: '/home/matebase',
icon: 'eye-open'
}]
}]);
/***/ }),
/***/ 239:
/***/ (function(module, exports, __webpack_require__) {
exports = module.exports = __webpack_require__(199)();
// imports
// module
exports.push([module.i, "\n.main-container[data-v-a8867780] {\n position: fixed;\n top: 50px;\n left: 230px;\n right: 0;\n bottom: 0;\n overflow: hidden;\n transition: all .28s ease-out;\n will-change: transform\n}\n.main-wrapper.sidebar-mini .main-container[data-v-a8867780] {\n left: 60px;\n}\n/* 顶部通知 */\n.top-notice[data-v-a8867780] {\n padding: 0;\n min-width: 730px;\n background-color: #fff;\n height: 30px;\n line-height: 30px;\n}\n.sdp-container-scroll[data-v-a8867780] {\n position: absolute;\n width: auto;\n top: 0;\n bottom: 8px;\n left: 8px;\n right: 8px;\n overflow: auto;\n /* overflow-y: auto; */\n transition: all 0.2s ease;\n}\n.content-container[data-v-a8867780] {\n position: relative;\n padding: 0;\n min-width: 763px;\n}\n.top-notice i.icon-toggle-menu[data-v-a8867780] {\n border-right: 1px solid #ebebeb;\n padding: 0 10px;\n display: inline-block;\n color: #999999;\n cursor: pointer;\n font-size: 20px;\n}\n.top-notice .icon-notice[data-v-a8867780] {\n font-weight: 800;\n color: #32353a;\n font-size: 14px;\n margin-left: 5px;\n position: relative;\n}\n.top-notice .icon-notice i[data-v-a8867780] {\n font-weight: normal;\n margin-right: 5px;\n font-size: 20px;\n color: #999999;\n float: left;\n}\n", "", {"version":3,"sources":["/Users/simon/Documents/workspace/wp_202002/ka-manager-ui/src/components/CMain.vue"],"names":[],"mappings":";AACA;EACE,gBAAgB;EAChB,UAAU;EACV,YAAY;EACZ,SAAS;EACT,UAAU;EACV,iBAAiB;EACjB,8BAA8B;EAC9B,sBAAsB;CACvB;AACD;EACE,WAAW;CACZ;AACD,UAAU;AACV;EACE,WAAW;EACX,iBAAiB;EACjB,uBAAuB;EACvB,aAAa;EACb,kBAAkB;CACnB;AACD;EACE,mBAAmB;EACnB,YAAY;EACZ,OAAO;EACP,YAAY;EACZ,UAAU;EACV,WAAW;EACX,eAAe;EACf,uBAAuB;EACvB,0BAA0B;CAC3B;AACD;EACE,mBAAmB;EACnB,WAAW;EACX,iBAAiB;CAClB;AACD;EACE,gCAAgC;EAChC,gBAAgB;EAChB,sBAAsB;EACtB,eAAe;EACf,gBAAgB;EAChB,gBAAgB;CACjB;AACD;EACE,iBAAiB;EACjB,eAAe;EACf,gBAAgB;EAChB,iBAAiB;EACjB,mBAAmB;CACpB;AACD;EACE,oBAAoB;EACpB,kBAAkB;EAClB,gBAAgB;EAChB,eAAe;EACf,YAAY;CACb","file":"CMain.vue","sourcesContent":["\n.main-container[data-v-a8867780] {\n position: fixed;\n top: 50px;\n left: 230px;\n right: 0;\n bottom: 0;\n overflow: hidden;\n transition: all .28s ease-out;\n will-change: transform\n}\n.main-wrapper.sidebar-mini .main-container[data-v-a8867780] {\n left: 60px;\n}\n/* 顶部通知 */\n.top-notice[data-v-a8867780] {\n padding: 0;\n min-width: 730px;\n background-color: #fff;\n height: 30px;\n line-height: 30px;\n}\n.sdp-container-scroll[data-v-a8867780] {\n position: absolute;\n width: auto;\n top: 0;\n bottom: 8px;\n left: 8px;\n right: 8px;\n overflow: auto;\n /* overflow-y: auto; */\n transition: all 0.2s ease;\n}\n.content-container[data-v-a8867780] {\n position: relative;\n padding: 0;\n min-width: 763px;\n}\n.top-notice i.icon-toggle-menu[data-v-a8867780] {\n border-right: 1px solid #ebebeb;\n padding: 0 10px;\n display: inline-block;\n color: #999999;\n cursor: pointer;\n font-size: 20px;\n}\n.top-notice .icon-notice[data-v-a8867780] {\n font-weight: 800;\n color: #32353a;\n font-size: 14px;\n margin-left: 5px;\n position: relative;\n}\n.top-notice .icon-notice i[data-v-a8867780] {\n font-weight: normal;\n margin-right: 5px;\n font-size: 20px;\n color: #999999;\n float: left;\n}\n"],"sourceRoot":""}]);
// exports
/***/ }),
/***/ 240:
/***/ (function(module, exports, __webpack_require__) {
exports = module.exports = __webpack_require__(199)();
// imports
// module
exports.push([module.i, "\n.main-wrapper {\n width: 100%;\n height: 100%;\n padding: 0;\n}\n.main-header {\n /*position: fixed;*/\n width: 100%;\n height: 50px;\n /*padding: 0;*/\n /*background-color: #b8b8b8;*/\n /*z-index: 8000;*/\n /*min-width: 860px;*/\n box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 3px 0 rgba(0, 0, 0, .04);\n}\n/* 页内样式 */\n.home-page-center {\n height: 100%;\n}\n.single-page-center {\n padding: 8px;\n box-sizing: border-box;\n}\n.home-section-wrap {\n padding: 8px;\n position: relative;\n}\n.home-section-wrap-bottom {\n min-height: calc(100% - 130px);\n margin: 8px;\n background-color: #fff;\n}\n.page-center-wrap-bottom {\n min-height: calc(100% - 16px);\n background-color: #fff;\n}\n.page-center-wrap-bottom .home-section-env, .home-section-wrap-bottom .home-section-env, .home-section-wrap-right .home-section-env {\n padding: 8px !important;\n}\n.home-section-wrap-right {\n min-height: calc(50% - 32px);\n margin: 8px;\n background-color: #fff;\n}\n.home-section-env {\n background-color: #fff;\n padding: 16px;\n position: relative;\n border-radius: 4px;\n}\n", "", {"version":3,"sources":["/Users/simon/Documents/workspace/wp_202002/ka-manager-ui/src/modules/home/index.vue"],"names":[],"mappings":";AACA;EACE,YAAY;EACZ,aAAa;EACb,WAAW;CACZ;AACD;EACE,oBAAoB;EACpB,YAAY;EACZ,aAAa;EACb,eAAe;EACf,8BAA8B;EAC9B,kBAAkB;EAClB,qBAAqB;EACrB,yEAAyE;CAC1E;AACD,UAAU;AACV;EACE,aAAa;CACd;AACD;EACE,aAAa;EACb,uBAAuB;CACxB;AACD;EACE,aAAa;EACb,mBAAmB;CACpB;AACD;EACE,+BAA+B;EAC/B,YAAY;EACZ,uBAAuB;CACxB;AACD;EACE,8BAA8B;EAC9B,uBAAuB;CACxB;AACD;EACE,wBAAwB;CACzB;AACD;EACE,6BAA6B;EAC7B,YAAY;EACZ,uBAAuB;CACxB;AACD;EACE,uBAAuB;EACvB,cAAc;EACd,mBAAmB;EACnB,mBAAmB;CACpB","file":"index.vue","sourcesContent":["\n.main-wrapper {\n width: 100%;\n height: 100%;\n padding: 0;\n}\n.main-header {\n /*position: fixed;*/\n width: 100%;\n height: 50px;\n /*padding: 0;*/\n /*background-color: #b8b8b8;*/\n /*z-index: 8000;*/\n /*min-width: 860px;*/\n box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 3px 0 rgba(0, 0, 0, .04);\n}\n/* 页内样式 */\n.home-page-center {\n height: 100%;\n}\n.single-page-center {\n padding: 8px;\n box-sizing: border-box;\n}\n.home-section-wrap {\n padding: 8px;\n position: relative;\n}\n.home-section-wrap-bottom {\n min-height: calc(100% - 130px);\n margin: 8px;\n background-color: #fff;\n}\n.page-center-wrap-bottom {\n min-height: calc(100% - 16px);\n background-color: #fff;\n}\n.page-center-wrap-bottom .home-section-env, .home-section-wrap-bottom .home-section-env, .home-section-wrap-right .home-section-env {\n padding: 8px !important;\n}\n.home-section-wrap-right {\n min-height: calc(50% - 32px);\n margin: 8px;\n background-color: #fff;\n}\n.home-section-env {\n background-color: #fff;\n padding: 16px;\n position: relative;\n border-radius: 4px;\n}\n"],"sourceRoot":""}]);
// exports
/***/ }),
/***/ 241:
/***/ (function(module, exports, __webpack_require__) {
exports = module.exports = __webpack_require__(199)();
// imports
// module
exports.push([module.i, "\n.top-menu-item[data-v-e2feab72] {\n color: #3f4657;\n float: right;\n height: 40px;\n margin-right: 2%;\n font-size: 16px;\n padding: 0 16px;\n margin-top: 10px;\n}\n.top-menu-item[data-v-e2feab72]:hover {\n /*background-color: rgb(90, 197, 232);*/\n}\n.top-menu-title[data-v-e2feab72]{\n float: right;\n height: 40px;\n font-size: 16px;\n /*padding: 0 16px;*/\n top: 10px;\n margin-right: 6%;\n}\n", "", {"version":3,"sources":["/Users/simon/Documents/workspace/wp_202002/ka-manager-ui/src/modules/home/index.vue"],"names":[],"mappings":";AACA;EACE,eAAe;EACf,aAAa;EACb,aAAa;EACb,iBAAiB;EACjB,gBAAgB;EAChB,gBAAgB;EAChB,iBAAiB;CAClB;AACD;EACE,wCAAwC;CACzC;AACD;EACE,aAAa;EACb,aAAa;EACb,gBAAgB;EAChB,oBAAoB;EACpB,UAAU;EACV,iBAAiB;CAClB","file":"index.vue","sourcesContent":["\n.top-menu-item[data-v-e2feab72] {\n color: #3f4657;\n float: right;\n height: 40px;\n margin-right: 2%;\n font-size: 16px;\n padding: 0 16px;\n margin-top: 10px;\n}\n.top-menu-item[data-v-e2feab72]:hover {\n /*background-color: rgb(90, 197, 232);*/\n}\n.top-menu-title[data-v-e2feab72]{\n float: right;\n height: 40px;\n font-size: 16px;\n /*padding: 0 16px;*/\n top: 10px;\n margin-right: 6%;\n}\n"],"sourceRoot":""}]);
// exports
/***/ }),
/***/ 242:
/***/ (function(module, exports, __webpack_require__) {
exports = module.exports = __webpack_require__(199)();
// imports
// module
exports.push([module.i, "\n.main-sidebar[data-v-ef7ede34] {\n position: fixed;\n top: 0px;\n width: 230px;\n background-color: #394456;\n z-index: 8000;\n overflow-y: auto;\n bottom: 0;\n}\n.sidebar-scroll[data-v-ef7ede34] {\n min-height: calc(100% - 120px);\n}\n.main-sidebar-l .main-sidebar[data-v-ef7ede34] {\n transition: all .28s ease-out;\n will-change: transform\n}\n.main-sidebar-l.sidebar-mini .main-sidebar[data-v-ef7ede34] {\n overflow-x: hidden;\n}\n.main-sidebar-l.sidebar-mini .main-sidebar[data-v-ef7ede34] {\n transform: translateX(-170px) translateY(0) translateZ(0)\n}\n.main-sidebar-l .main-sidebar .sidebar-content[data-v-ef7ede34] {\n transition: all .28s ease-out;\n will-change: transform\n}\n.main-sidebar-l.sidebar-mini .main-sidebar .sidebar-content[data-v-ef7ede34] {\n width: 230px;\n}\n.main-sidebar-l.sidebar-mini .main-sidebar .sidebar-content[data-v-ef7ede34] {\n transform: translateX(170px) translateY(0) translateZ(0)\n}\n.main-sidebar-l.sidebar-mini .main-sidebar[data-v-ef7ede34]:hover,\n.main-sidebar-l.sidebar-mini .main-sidebar:hover .sidebar-content[data-v-ef7ede34] {\n transform: translateX(0) translateY(0) translateZ(0)\n}\n.main-sidebar-l .main-sidebar .sidebar-mini-hide[data-v-ef7ede34] {\n transition: opacity .28s ease-out\n}\n.main-sidebar-l.sidebar-mini .main-sidebar .sidebar-mini-hide[data-v-ef7ede34] {\n opacity: 0;\n}\n.main-sidebar-l.sidebar-mini .main-sidebar .sidebar-mini-hidden[data-v-ef7ede34] {\n display: none\n}\n.main-sidebar-l.sidebar-mini .main-sidebar .nav-main > li.open > ul[data-v-ef7ede34] {\n display: none\n}\n.main-sidebar-l.sidebar-mini .main-sidebar:hover .sidebar-mini-hide[data-v-ef7ede34] {\n opacity: 1\n}\n.main-sidebar-l.sidebar-mini .main-sidebar:hover .nav-main > li.open > ul[data-v-ef7ede34] {\n display: block\n}\n.side-content[data-v-ef7ede34] {\n margin: 0 auto;\n padding: 0px 20px 14px;\n max-width: 100%;\n overflow-x: hidden;\n position: relative;\n}\n.nav-main[data-v-ef7ede34] {\n margin: 0 -20px;\n padding: 0;\n list-style: none;\n}\n.nav-main a.router-link-active[data-v-ef7ede34], .nav-main a.router-link-active[data-v-ef7ede34]:hover {\n color: #fff !important;\n background-color: rgba(7, 7, 7, .91);\n}\n.nav-main a[data-v-ef7ede34] {\n display: block;\n padding: 10px 20px;\n color: rgba(221, 230, 227, .16);\n font-size: 14px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.nav-main .nav-main-heading[data-v-ef7ede34] {\n padding: 10px 20px 10px;\n font-size: 16px;\n font-weight: 600;\n color: rgb(255, 255, 255);\n position: relative;\n overflow: hidden;\n opacity: 0.8;\n}\n.nav-main a.nav-submenu[data-v-ef7ede34] {\n position: relative;\n display: block;\n padding: 9px 0 9px 20px;\n width: 210px;\n height: 21px;\n line-height: 21px;\n}\n.sidebar-mini-hide[data-v-ef7ede34] {\n margin-left: 8%;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: rgba(241, 241, 241, .91);\n width: 160px;\n}\n.el-icon-my[data-v-ef7ede34] {\n color: rgba(241, 241, 241, .91);\n}\n.sidebar-mini-hide.active_icon[data-v-ef7ede34] {\n width: 110px !important;\n}\n.sidebar-mini-hide.endtime_icon[data-v-ef7ede34] {\n width: 95px !important;\n}\n.nav-main a[data-v-ef7ede34]:hover {\n background-color: rgba(4, 3, 4, .5);\n color: rgba(241, 241, 241, .91);\n}\n.nav-main li[data-v-ef7ede34]:not(.nav-main-heading) {\n position: relative;\n}\n.nav-main a > i[data-v-ef7ede34] {\n float: left;\n margin-right: 5px;\n font-size: 18px;\n}\n/* 菜单底部 */\n.nav-feed-back[data-v-ef7ede34] {\n overflow: hidden;\n position: relative;\n height: 120px;\n padding: 16px;\n margin: auto;\n box-sizing: border-box;\n}\n.feed-back[data-v-ef7ede34] {\n position: absolute;\n /*padding-top: 10px;*/\n bottom: 16px;\n}\n.feed-back li[data-v-ef7ede34] {\n font-size: 13px;\n padding: 5px 0;\n color: #333333;\n}\n.feed-back a[data-v-ef7ede34] {\n color: #489cff;\n}\n", "", {"version":3,"sources":["/Users/simon/Documents/workspace/wp_202002/ka-manager-ui/src/components/CMenu.vue"],"names":[],"mappings":";AACA;EACE,gBAAgB;EAChB,SAAS;EACT,aAAa;EACb,0BAA0B;EAC1B,cAAc;EACd,iBAAiB;EACjB,UAAU;CACX;AACD;EACE,+BAA+B;CAChC;AACD;EACE,8BAA8B;EAC9B,sBAAsB;CACvB;AACD;EACE,mBAAmB;CACpB;AACD;EACE,yDAAyD;CAC1D;AACD;EACE,8BAA8B;EAC9B,sBAAsB;CACvB;AACD;EACE,aAAa;CACd;AACD;EACE,wDAAwD;CACzD;AACD;;EAEE,oDAAoD;CACrD;AACD;EACE,iCAAiC;CAClC;AACD;EACE,WAAW;CACZ;AACD;EACE,aAAa;CACd;AACD;EACE,aAAa;CACd;AACD;EACE,UAAU;CACX;AACD;EACE,cAAc;CACf;AACD;EACE,eAAe;EACf,uBAAuB;EACvB,gBAAgB;EAChB,mBAAmB;EACnB,mBAAmB;CACpB;AACD;EACE,gBAAgB;EAChB,WAAW;EACX,iBAAiB;CAClB;AACD;EACE,uBAAuB;EACvB,qCAAqC;CACtC;AACD;EACE,eAAe;EACf,mBAAmB;EACnB,gCAAgC;EAChC,gBAAgB;EAChB,iBAAiB;EACjB,oBAAoB;EACpB,wBAAwB;CACzB;AACD;EACE,wBAAwB;EACxB,gBAAgB;EAChB,iBAAiB;EACjB,0BAA0B;EAC1B,mBAAmB;EACnB,iBAAiB;EACjB,aAAa;CACd;AACD;EACE,mBAAmB;EACnB,eAAe;EACf,wBAAwB;EACxB,aAAa;EACb,aAAa;EACb,kBAAkB;CACnB;AACD;EACE,gBAAgB;EAChB,iBAAiB;EACjB,oBAAoB;EACpB,wBAAwB;EACxB,gCAAgC;EAChC,aAAa;CACd;AACD;EACE,gCAAgC;CACjC;AACD;EACE,wBAAwB;CACzB;AACD;EACE,uBAAuB;CACxB;AACD;EACE,oCAAoC;EACpC,gCAAgC;CACjC;AACD;EACE,mBAAmB;CACpB;AACD;EACE,YAAY;EACZ,kBAAkB;EAClB,gBAAgB;CACjB;AACD,UAAU;AACV;EACE,iBAAiB;EACjB,mBAAmB;EACnB,cAAc;EACd,cAAc;EACd,aAAa;EACb,uBAAuB;CACxB;AACD;EACE,mBAAmB;EACnB,sBAAsB;EACtB,aAAa;CACd;AACD;EACE,gBAAgB;EAChB,eAAe;EACf,eAAe;CAChB;AACD;EACE,eAAe;CAChB","file":"CMenu.vue","sourcesContent":["\n.main-sidebar[data-v-ef7ede34] {\n position: fixed;\n top: 0px;\n width: 230px;\n background-color: #394456;\n z-index: 8000;\n overflow-y: auto;\n bottom: 0;\n}\n.sidebar-scroll[data-v-ef7ede34] {\n min-height: calc(100% - 120px);\n}\n.main-sidebar-l .main-sidebar[data-v-ef7ede34] {\n transition: all .28s ease-out;\n will-change: transform\n}\n.main-sidebar-l.sidebar-mini .main-sidebar[data-v-ef7ede34] {\n overflow-x: hidden;\n}\n.main-sidebar-l.sidebar-mini .main-sidebar[data-v-ef7ede34] {\n transform: translateX(-170px) translateY(0) translateZ(0)\n}\n.main-sidebar-l .main-sidebar .sidebar-content[data-v-ef7ede34] {\n transition: all .28s ease-out;\n will-change: transform\n}\n.main-sidebar-l.sidebar-mini .main-sidebar .sidebar-content[data-v-ef7ede34] {\n width: 230px;\n}\n.main-sidebar-l.sidebar-mini .main-sidebar .sidebar-content[data-v-ef7ede34] {\n transform: translateX(170px) translateY(0) translateZ(0)\n}\n.main-sidebar-l.sidebar-mini .main-sidebar[data-v-ef7ede34]:hover,\n.main-sidebar-l.sidebar-mini .main-sidebar:hover .sidebar-content[data-v-ef7ede34] {\n transform: translateX(0) translateY(0) translateZ(0)\n}\n.main-sidebar-l .main-sidebar .sidebar-mini-hide[data-v-ef7ede34] {\n transition: opacity .28s ease-out\n}\n.main-sidebar-l.sidebar-mini .main-sidebar .sidebar-mini-hide[data-v-ef7ede34] {\n opacity: 0;\n}\n.main-sidebar-l.sidebar-mini .main-sidebar .sidebar-mini-hidden[data-v-ef7ede34] {\n display: none\n}\n.main-sidebar-l.sidebar-mini .main-sidebar .nav-main > li.open > ul[data-v-ef7ede34] {\n display: none\n}\n.main-sidebar-l.sidebar-mini .main-sidebar:hover .sidebar-mini-hide[data-v-ef7ede34] {\n opacity: 1\n}\n.main-sidebar-l.sidebar-mini .main-sidebar:hover .nav-main > li.open > ul[data-v-ef7ede34] {\n display: block\n}\n.side-content[data-v-ef7ede34] {\n margin: 0 auto;\n padding: 0px 20px 14px;\n max-width: 100%;\n overflow-x: hidden;\n position: relative;\n}\n.nav-main[data-v-ef7ede34] {\n margin: 0 -20px;\n padding: 0;\n list-style: none;\n}\n.nav-main a.router-link-active[data-v-ef7ede34], .nav-main a.router-link-active[data-v-ef7ede34]:hover {\n color: #fff !important;\n background-color: rgba(7, 7, 7, .91);\n}\n.nav-main a[data-v-ef7ede34] {\n display: block;\n padding: 10px 20px;\n color: rgba(221, 230, 227, .16);\n font-size: 14px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.nav-main .nav-main-heading[data-v-ef7ede34] {\n padding: 10px 20px 10px;\n font-size: 16px;\n font-weight: 600;\n color: rgb(255, 255, 255);\n position: relative;\n overflow: hidden;\n opacity: 0.8;\n}\n.nav-main a.nav-submenu[data-v-ef7ede34] {\n position: relative;\n display: block;\n padding: 9px 0 9px 20px;\n width: 210px;\n height: 21px;\n line-height: 21px;\n}\n.sidebar-mini-hide[data-v-ef7ede34] {\n margin-left: 8%;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: rgba(241, 241, 241, .91);\n width: 160px;\n}\n.el-icon-my[data-v-ef7ede34] {\n color: rgba(241, 241, 241, .91);\n}\n.sidebar-mini-hide.active_icon[data-v-ef7ede34] {\n width: 110px !important;\n}\n.sidebar-mini-hide.endtime_icon[data-v-ef7ede34] {\n width: 95px !important;\n}\n.nav-main a[data-v-ef7ede34]:hover {\n background-color: rgba(4, 3, 4, .5);\n color: rgba(241, 241, 241, .91);\n}\n.nav-main li[data-v-ef7ede34]:not(.nav-main-heading) {\n position: relative;\n}\n.nav-main a > i[data-v-ef7ede34] {\n float: left;\n margin-right: 5px;\n font-size: 18px;\n}\n/* 菜单底部 */\n.nav-feed-back[data-v-ef7ede34] {\n overflow: hidden;\n position: relative;\n height: 120px;\n padding: 16px;\n margin: auto;\n box-sizing: border-box;\n}\n.feed-back[data-v-ef7ede34] {\n position: absolute;\n /*padding-top: 10px;*/\n bottom: 16px;\n}\n.feed-back li[data-v-ef7ede34] {\n font-size: 13px;\n padding: 5px 0;\n color: #333333;\n}\n.feed-back a[data-v-ef7ede34] {\n color: #489cff;\n}\n"],"sourceRoot":""}]);
// exports
/***/ }),
/***/ 246:
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__(239);
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var update = __webpack_require__(200)("94ada522", content, true);
/***/ }),
/***/ 247:
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__(240);
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var update = __webpack_require__(200)("64f3278e", content, true);
/***/ }),
/***/ 248:
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__(241);
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var update = __webpack_require__(200)("40ad3d7c", content, true);
/***/ }),
/***/ 249:
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__(242);
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var update = __webpack_require__(200)("bf6ffdf6", content, true);
/***/ }),
/***/ 250:
/***/ (function(module, exports, __webpack_require__) {
/* styles */
__webpack_require__(246)
var Component = __webpack_require__(86)(
/* script */
__webpack_require__(229),
/* template */
__webpack_require__(256),
/* scopeId */
"data-v-a8867780",
/* cssModules */
null
)
module.exports = Component.exports
/***/ }),
/***/ 251:
/***/ (function(module, exports, __webpack_require__) {
/* styles */
__webpack_require__(249)
var Component = __webpack_require__(86)(
/* script */
__webpack_require__(230),
/* template */
__webpack_require__(258),
/* scopeId */
"data-v-ef7ede34",
/* cssModules */
null
)
module.exports = Component.exports
/***/ }),
/***/ 256:
/***/ (function(module, exports) {
module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
return _c('main', {
staticClass: "main-container"
}, [_c('div', {
staticClass: "sdp-container-scroll"
}, [_c('div', {
staticClass: "content-container height100"
}, [_c('router-view')], 1)])])
},staticRenderFns: []}
/***/ }),
/***/ 257:
/***/ (function(module, exports) {
module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
return _c('div', {
staticClass: "main-wrapper main-sidebar-l",
class: {
'sidebar-mini': _vm.menuIsFold
}
}, [_c('header', {
staticClass: "main-header"
}, [_c('div', {
staticClass: "top-menu-item"
}, [_c('el-dropdown', {
staticClass: "avatar-container",
attrs: {
"trigger": "click"
}
}, [_c('div', {
staticClass: "avatar-wrapper",
staticStyle: {
"font-size": "large",
"padding": "10px 0"
}
}, [_c('span', [_vm._v("欢迎 " + _vm._s(_vm.username) + " 同学")]), _vm._v(" "), _c('svg-icon', {
attrs: {
"iconClass": 'user'
}
})], 1), _vm._v(" "), _c('el-dropdown-menu', {
staticClass: "user-dropdown",
attrs: {
"slot": "dropdown"
},
slot: "dropdown"
}, [_c('router-link', {
staticClass: "inlineBlock",
attrs: {
"to": "/"
}
}, [_c('el-dropdown-item', [_vm._v("\n Home\n ")])], 1), _vm._v(" "), _c('el-dropdown-item', {
attrs: {
"divided": ""
}
}, [_c('span', {
staticStyle: {
"display": "block"
},
on: {
"click": _vm.logout
}
}, [_vm._v("LogOut")])])], 1)], 1)], 1)]), _vm._v(" "), _c('c-menu'), _vm._v(" "), _c('c-main')], 1)
},staticRenderFns: []}
/***/ }),
/***/ 258:
/***/ (function(module, exports) {
module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
return _c('nav', {
staticClass: "main-sidebar"
}, [_c('div', {
staticClass: "sidebar-scroll"
}, [_c('div', {
staticClass: "sidebar-content"
}, [_c('div', {
staticClass: "side-content"
}, [_c('ul', {
staticClass: "nav-main"
}, [_vm._l((_vm.menus), function(menu) {
return [_c('li', {
staticClass: "nav-main-heading sidebar-title"
}, [_c('span', {
staticClass: "sidebar-mini-hide"
}, [_vm._v(_vm._s(menu.name))])]), _vm._v(" "), _vm._l((menu.items), function(item) {
return _c('li', [_c('router-link', {
staticClass: "nav-submenu",
attrs: {
"to": item.path,
"data": "nav-submenu"
}
}, [_c('svg-icon', {
staticClass: "el-icon-my",
attrs: {
"iconClass": item.icon
}
}), _vm._v(" "), _c('span', {
staticClass: "sidebar-mini-hide"
}, [_vm._v(_vm._s(item.name))])], 1)], 1)
})]
})], 2)])])])])
},staticRenderFns: []}
/***/ })
});
//# sourceMappingURL=1.9acfa46.js.map
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
webpackJsonp([2],{
/***/ 204:
/***/ (function(module, exports, __webpack_require__) {
/* styles */
__webpack_require__(245)
var Component = __webpack_require__(86)(
/* script */
__webpack_require__(231),
/* template */
__webpack_require__(255),
/* scopeId */
"data-v-a73d5d10",
/* cssModules */
null
)
module.exports = Component.exports
/***/ }),
/***/ 231:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__apis_channel__ = __webpack_require__(234);
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
// import {getChannels, getChannelDetail, saveChannelBaseConf} from '@/apis/channel'
/* harmony default export */ __webpack_exports__["default"] = ({
data() {
return {
listQuery: {
pageNumber: 0,
pageSize: 10
},
channels: [],
channel: { baseConfDetail: {}, importCheckInfo: { "point": 1, "checkedItems": [] }, applyPrivilege: [], callbackInfo: {} },
importCheckPointInit: [{ "name": "一推", "value": 1 }, { "name": "二推", "value": 2 }],
importCheckItemsStaticArr: [{ "name": "地址", "value": "address" }, { "name": "联系人", "value": "contact" }, {
"name": "职业",
"value": "occupation"
}, { "name": "学历", "value": "education" }, { "name": "收入", "value": "income" }, {
"name": "邮箱",
"value": "email"
}, { "name": "ocr", "value": "ocr" }],
applyPrivilegeItems: [{ "name": "预审", "value": "PRE_AUDIT" }, { "name": "进件", "value": "APPLY_LOAN" }],
count: 1,
page: 1,
roles: undefined,
createPage: false,
contentPage: true,
isEdit: true,
baseConfLabelWidth: '25%'
};
},
created() {
createPage: false;
//this.roles = store.getters.roles
},
mounted() {
this.getChannels();
},
methods: {
getChannels() {
for (const prop in this.listQuery) {
if (this.listQuery[prop] === '') {
delete this.listQuery[prop];
}
}
this.listQuery.pageNumber = this.page - 1;
__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__apis_channel__["a" /* getChannels */])(this.listQuery).then(res => {
if (res.data) {
this.channels = res.data.content;
this.count = res.data.totalElements;
this.$refs.myTable.setCurrentRow(this.channels[0]);
}
}).catch(() => {});
},
back2contentPage() {
this.contentPage = true;
this.createPage = false;
},
handleCreate() {
this.isEdit = true;
this.contentPage = false;
this.createPage = true;
this.channel = { basicInfo: {}, addInfo: {} };
},
handleUpdate(data) {
this.isEdit = true;
this.contentPage = false;
this.createPage = true;
__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__apis_channel__["b" /* getChannelDetail */])(data).then(rep => {
this.channel.baseConfDetail = rep.data;
});
__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__apis_channel__["c" /* getApplyInfo */])(data.channelId).then(rep => {
this.channel.applyPrivilege = rep.data.applyPrivilege;
});
},
handleQurey(data) {
this.isEdit = false;
this.contentPage = false;
this.createPage = true;
__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__apis_channel__["b" /* getChannelDetail */])(data).then(rep => {
this.channel.baseConfDetail = rep.data;
});
console.log(data);
__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__apis_channel__["c" /* getApplyInfo */])(data.channelId).then(rep => {
this.channel.applyPrivilege = rep.data;
});
},
saveBaseConf() {
// 保存基本配置信息
__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__apis_channel__["d" /* saveChannelBaseConf */])(this.channel.baseConfDetail).then(rep => {
this.$notify({
title: '成功',
message: '保存成功',
type: 'success',
duration: 1500
});
});
},
saveApplyConf() {
// 保存进件项配置
console.log(this.channel.importCheckInfo);
console.log(this.channel.applyPrivilege);
}
//
// savevData() {
// if (this.roles.includes('channel')) {
// this.channel.basicInfo = { channelId: this.channel.basicInfo.channelId }
// }
// saveChannel(this.channel).then(() => {
// this.$notify({
// title: '成功',
// message: '保存成功',
// type: 'success',
// duration: 1000
// })
// this.handleCurrentChange(this.channel.basicInfo)
// this.getChannels()
// })
// }
}
});
/***/ }),
/***/ 234:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export (immutable) */ __webpack_exports__["a"] = getChannels;
/* harmony export (immutable) */ __webpack_exports__["c"] = getApplyInfo;
/* harmony export (immutable) */ __webpack_exports__["d"] = saveChannelBaseConf;
/* harmony export (immutable) */ __webpack_exports__["b"] = getChannelDetail;
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_request__ = __webpack_require__(49);
function getChannels(data) {
return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__utils_request__["a" /* default */])({
url: '/channel/page',
method: 'post',
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
params: data
});
}
function getApplyInfo(params) {
return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__utils_request__["a" /* default */])({
url: '/channel/getApplyInfo',
method: 'get',
params: params
});
}
function saveChannelBaseConf(data) {
return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__utils_request__["a" /* default */])({
url: '/channel/update/baseConf',
method: 'post',
data
});
}
function getChannelDetail(query) {
return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__utils_request__["a" /* default */])({
url: '/channel/get/info',
method: 'get',
params: query
});
}
/***/ }),
/***/ 238:
/***/ (function(module, exports, __webpack_require__) {
exports = module.exports = __webpack_require__(199)();
// imports
// module
exports.push([module.i, "/* css预定义变量 */\n/* 引入预定义变量 */\n.post-css-test[data-v-a73d5d10] {\n transform: rotateY(360deg);\n box-shadow: 0 0 3px 5px rgba(222, 222, 222, .3);\n display: -ms-flexbox;\n display: flex;\n color: #ff0000;\n}\n.navigation-page[data-v-a73d5d10] {\n font-size: 14px;\n}\n.block—bodl[data-v-a73d5d10] {\n border: 1px solid #f1faf7;\n border-radius: 2px;\n}\n.base_block[data-v-a73d5d10] {\n width: 30%;\n}\n\n\n", "", {"version":3,"sources":["/Users/simon/Documents/workspace/wp_202002/ka-manager-ui/src/modules/channels/index.vue"],"names":[],"mappings":"AAAA,cAAc;AACd,aAAa;AACb;EACE,2BAA2B;EAC3B,gDAAgD;EAChD,qBAAqB;EACrB,cAAc;EACd,eAAe;CAChB;AACD;EACE,gBAAgB;CACjB;AACD;EACE,0BAA0B;EAC1B,mBAAmB;CACpB;AACD;EACE,WAAW;CACZ","file":"index.vue","sourcesContent":["/* css预定义变量 */\n/* 引入预定义变量 */\n.post-css-test[data-v-a73d5d10] {\n transform: rotateY(360deg);\n box-shadow: 0 0 3px 5px rgba(222, 222, 222, .3);\n display: -ms-flexbox;\n display: flex;\n color: #ff0000;\n}\n.navigation-page[data-v-a73d5d10] {\n font-size: 14px;\n}\n.block—bodl[data-v-a73d5d10] {\n border: 1px solid #f1faf7;\n border-radius: 2px;\n}\n.base_block[data-v-a73d5d10] {\n width: 30%;\n}\n\n\n"],"sourceRoot":""}]);
// exports
/***/ }),
/***/ 245:
/***/ (function(module, exports, __webpack_require__) {
// style-loader: Adds some css to the DOM by adding a <style> tag
// load the styles
var content = __webpack_require__(238);
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add the styles to the DOM
var update = __webpack_require__(200)("467d16f0", content, true);
/***/ }),
/***/ 255:
/***/ (function(module, exports) {
module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
return _c('div', [_c('div', {
directives: [{
name: "show",
rawName: "v-show",
value: (_vm.contentPage),
expression: "contentPage"
}],
staticClass: "content-page"
}, [_vm._m(0), _vm._v(" "), _c('div', {
staticClass: "home-page-center single-page-center base"
}, [_c('div', {
staticClass: "home-section-wrap page-center-wrap-bottom"
}, [_c('div', {
staticClass: "home-section-env"
}, [_c('div', {
staticClass: "filter-container",
staticStyle: {
"padding-bottom": "20px"
}
}, [_c('el-input', {
staticClass: "filter-item",
staticStyle: {
"width": "200px"
},
attrs: {
"placeholder": "渠道名称",
"clearable": ""
},
nativeOn: {
"keyup": function($event) {
if (!$event.type.indexOf('key') && _vm._k($event.keyCode, "enter", 13, $event.key, "Enter")) { return null; }
return _vm.getChannels($event)
}
},
model: {
value: (_vm.listQuery.channelName),
callback: function($$v) {
_vm.$set(_vm.listQuery, "channelName", $$v)
},
expression: "listQuery.channelName"
}
}), _vm._v(" "), _c('el-input', {
staticClass: "filter-item",
staticStyle: {
"width": "200px"
},
attrs: {
"placeholder": "渠道号",
"clearable": ""
},
nativeOn: {
"keyup": function($event) {
if (!$event.type.indexOf('key') && _vm._k($event.keyCode, "enter", 13, $event.key, "Enter")) { return null; }
return _vm.getChannels($event)
}
},
model: {
value: (_vm.listQuery.channelId),
callback: function($$v) {
_vm.$set(_vm.listQuery, "channelId", $$v)
},
expression: "listQuery.channelId"
}
}), _vm._v(" "), _c('el-input', {
staticClass: "filter-item",
staticStyle: {
"width": "200px"
},
attrs: {
"placeholder": "channel_code",
"clearable": ""
},
nativeOn: {
"keyup": function($event) {
if (!$event.type.indexOf('key') && _vm._k($event.keyCode, "enter", 13, $event.key, "Enter")) { return null; }
return _vm.getChannels($event)
}
},
model: {
value: (_vm.listQuery.channelCode),
callback: function($$v) {
_vm.$set(_vm.listQuery, "channelCode", $$v)
},
expression: "listQuery.channelCode"
}
}), _vm._v(" "), _c('el-select', {
staticClass: "filter-item",
staticStyle: {
"width": "200px"
},
attrs: {
"placeholder": "渠道",
"clearable": ""
},
model: {
value: (_vm.listQuery.channelId),
callback: function($$v) {
_vm.$set(_vm.listQuery, "channelId", $$v)
},
expression: "listQuery.channelId"
}
}, _vm._l((_vm.channels), function(item) {
return _c('el-option', {
key: item.channelId,
attrs: {
"label": item.channelName,
"value": item.channelId
}
})
}), 1), _vm._v(" "), _c('el-button', {
staticClass: "filter-item",
attrs: {
"type": "primary",
"icon": "el-icon-search"
},
on: {
"click": _vm.getChannels
}
}, [_vm._v("查询")]), _vm._v(" "), _c('el-button', {
staticClass: "filter-item",
staticStyle: {
"margin-left": "10px"
},
attrs: {
"disabled": !_vm.contentPage,
"type": "primary",
"icon": "el-icon-edit"
},
on: {
"click": _vm.handleCreate
}
}, [_vm._v("添加\n ")])], 1), _vm._v(" "), _c('el-table', {
directives: [{
name: "show",
rawName: "v-show",
value: (_vm.contentPage),
expression: "contentPage"
}],
ref: "myTable",
attrs: {
"data": _vm.channels,
"border": "",
"max-height": "350",
"size": "medium",
"fit": "",
"highlight-current-row": ""
}
}, [_c('el-table-column', {
attrs: {
"label": "ID",
"type": "index",
"align": "center",
"width": "65"
}
}), _vm._v(" "), _c('el-table-column', {
attrs: {
"label": "渠道名称",
"prop": "channelName",
"align": "center"
}
}), _vm._v(" "), _c('el-table-column', {
attrs: {
"sortable": "",
"label": "渠道号",
"prop": "channelId",
"align": "center"
}
}), _vm._v(" "), _c('el-table-column', {
attrs: {
"sortable": "",
"label": "channel_code",
"prop": "channelCode",
"align": "center"
}
}), _vm._v(" "), _c('el-table-column', {
attrs: {
"label": "创建时间",
"prop": "createTime",
"align": "center"
}
}), _vm._v(" "), _c('el-table-column', {
attrs: {
"label": "更新时间",
"prop": "updateTime",
"align": "center"
}
}), _vm._v(" "), _c('el-table-column', {
attrs: {
"label": "操作",
"align": "center",
"width": "180",
"class-name": "small-padding fixed-width"
},
scopedSlots: _vm._u([{
key: "default",
fn: function(scope) {
return [_c('el-button', {
attrs: {
"type": "primary",
"size": "mini"
},
on: {
"click": function($event) {
return _vm.handleUpdate(scope.row)
}
}
}, [_vm._v("编辑")]), _vm._v(" "), _c('el-button', {
attrs: {
"type": "primary",
"size": "mini"
},
on: {
"click": function($event) {
return _vm.handleQurey(scope.row)
}
}
}, [_vm._v("查看")])]
}
}])
})], 1)], 1)])])]), _vm._v(" "), _c('div', {
directives: [{
name: "show",
rawName: "v-show",
value: (_vm.createPage),
expression: "createPage"
}],
staticClass: "edit_page"
}, [_c('div', [_c('span', {
staticClass: "navigation-page"
}, [_vm._v("位置:")]), _c('a', {
staticClass: "navigation-page",
on: {
"click": function($event) {
return _vm.back2contentPage()
}
}
}, [_vm._v("KA渠道信息配置")]), _c('span', [_vm._v(">>")]), _c('span', {
staticClass: "navigation-page"
}, [_vm._v("编辑/查看")])]), _vm._v(" "), _c('div', {
staticClass: "block—bodl"
}, [_c('el-card', {
staticClass: "box-card"
}, [_c('div', {
attrs: {
"slot": "header"
},
slot: "header"
}, [_c('span', [_vm._v("基础配置")])]), _vm._v(" "), _c('el-form', {
attrs: {
"inline": true,
"size": "medium"
}
}, [_c('el-form-item', {
staticClass: "base_block",
attrs: {
"label": "渠道名称",
"label-width": "40%"
}
}, [_c('el-input', {
staticClass: "el_input_box",
attrs: {
"disabled": !_vm.isEdit
},
model: {
value: (_vm.channel.baseConfDetail.channelName),
callback: function($$v) {
_vm.$set(_vm.channel.baseConfDetail, "channelName", $$v)
},
expression: "channel.baseConfDetail.channelName"
}
})], 1), _vm._v(" "), _c('el-form-item', {
staticClass: "base_block",
attrs: {
"label": "渠道号",
"label-width": "40%"
}
}, [_c('el-input', {
staticClass: "el_input_box",
attrs: {
"disabled": !_vm.isEdit
},
model: {
value: (_vm.channel.baseConfDetail.channelId),
callback: function($$v) {
_vm.$set(_vm.channel.baseConfDetail, "channelId", $$v)
},
expression: "channel.baseConfDetail.channelId"
}
})], 1), _vm._v(" "), _c('el-form-item', {
staticClass: "base_block",
attrs: {
"label": "channel_code",
"label-width": "40%"
}
}, [_c('el-input', {
staticClass: "el_input_box",
attrs: {
"disabled": !_vm.isEdit
},
model: {
value: (_vm.channel.baseConfDetail.channelCode),
callback: function($$v) {
_vm.$set(_vm.channel.baseConfDetail, "channelCode", $$v)
},
expression: "channel.baseConfDetail.channelCode"
}
})], 1), _vm._v(" "), _c('el-form-item', {
staticClass: "base_block",
attrs: {
"label": "产品id",
"label-width": "40%"
}
}, [_c('el-input', {
staticClass: "el_input_box",
attrs: {
"disabled": !_vm.isEdit
},
model: {
value: (_vm.channel.baseConfDetail.productId),
callback: function($$v) {
_vm.$set(_vm.channel.baseConfDetail, "productId", $$v)
},
expression: "channel.baseConfDetail.productId"
}
})], 1), _vm._v(" "), _c('el-form-item', {
staticClass: "base_block",
attrs: {
"label": "aesKey",
"label-width": "40%"
}
}, [_c('el-input', {
attrs: {
"disabled": !_vm.isEdit
},
model: {
value: (_vm.channel.baseConfDetail.aesKey),
callback: function($$v) {
_vm.$set(_vm.channel.baseConfDetail, "aesKey", $$v)
},
expression: "channel.baseConfDetail.aesKey"
}
})], 1), _vm._v(" "), _c('el-form-item', {
staticClass: "base_block",
attrs: {
"label": "md5Key",
"label-width": "40%"
}
}, [_c('el-input', {
attrs: {
"disabled": !_vm.isEdit
},
model: {
value: (_vm.channel.baseConfDetail.md5Key),
callback: function($$v) {
_vm.$set(_vm.channel.baseConfDetail, "md5Key", $$v)
},
expression: "channel.baseConfDetail.md5Key"
}
})], 1), _vm._v(" "), _c('el-form-item', {
staticClass: "base_block",
attrs: {
"label": "是否标准API渠道",
"label-width": "40%"
}
}, [_c('el-input', {
attrs: {
"disabled": !_vm.isEdit
},
model: {
value: (_vm.channel.baseConfDetail.isStandardChannel),
callback: function($$v) {
_vm.$set(_vm.channel.baseConfDetail, "isStandardChannel", $$v)
},
expression: "channel.baseConfDetail.isStandardChannel"
}
})], 1)], 1), _vm._v(" "), _c('el-button', {
directives: [{
name: "show",
rawName: "v-show",
value: (_vm.isEdit),
expression: "isEdit"
}],
staticClass: "filter-item",
staticStyle: {
"margin-left": "80%"
},
attrs: {
"type": "primary",
"icon": "el-icon-search"
},
on: {
"click": _vm.saveBaseConf
}
}, [_vm._v("基础配置保存\n ")])], 1)], 1), _vm._v(" "), _c('div', {
staticClass: "block—bodl"
}, [_c('el-card', {
staticClass: "box-card"
}, [_c('div', {
attrs: {
"slot": "header"
},
slot: "header"
}, [_c('span', [_vm._v("进件校验项配置")])]), _vm._v(" "), _c('el-form', {
attrs: {
"inline": true,
"size": "medium"
}
}, [_c('el-form-item', {
staticStyle: {
"width": "25%"
},
attrs: {
"label": "校验节点",
"label-width": "30%"
}
}, [_c('el-select', {
staticClass: "filter-item",
staticStyle: {
"width": "100px"
},
attrs: {
"placeholder": "请选择",
"clearable": "",
"disabled": !_vm.isEdit
},
model: {
value: (_vm.channel.importCheckInfo.point),
callback: function($$v) {
_vm.$set(_vm.channel.importCheckInfo, "point", $$v)
},
expression: "channel.importCheckInfo.point"
}
}, _vm._l((_vm.importCheckPointInit), function(item) {
return _c('el-option', {
key: item.value,
attrs: {
"label": item.name,
"value": item.value
}
})
}), 1)], 1), _vm._v(" "), _c('el-form-item', {
staticStyle: {
"width": "70%"
},
attrs: {
"label": "进件校验项:",
"label-width": "15%"
}
}, [_c('el-checkbox-group', {
attrs: {
"disabled": !_vm.isEdit
},
model: {
value: (_vm.channel.importCheckInfo.checkedItems),
callback: function($$v) {
_vm.$set(_vm.channel.importCheckInfo, "checkedItems", $$v)
},
expression: "channel.importCheckInfo.checkedItems"
}
}, _vm._l((_vm.importCheckItemsStaticArr), function(item) {
return _c('el-checkbox', {
key: item.value,
attrs: {
"label": item.value,
"disabled": !_vm.isEdit
}
}, [_vm._v("\n " + _vm._s(item.name) + "\n ")])
}), 1)], 1)], 1), _vm._v(" "), _c('el-button', {
directives: [{
name: "show",
rawName: "v-show",
value: (_vm.isEdit),
expression: "isEdit"
}],
staticClass: "filter-item",
staticStyle: {
"margin-left": "80%"
},
attrs: {
"type": "primary",
"icon": "el-icon-search"
},
on: {
"click": _vm.saveApplyConf
}
}, [_vm._v("进件校验项保存\n ")])], 1)], 1), _vm._v(" "), _c('div', {
staticClass: "block—bodl"
}, [_c('el-card', {
staticClass: "box-card"
}, [_c('div', {
attrs: {
"slot": "header"
},
slot: "header"
}, [_c('span', [_vm._v("进件接口权限")])]), _vm._v(" "), _c('el-form', {
attrs: {
"inline": true,
"size": "medium"
}
}, [_c('el-form-item', {
staticStyle: {
"width": "30%"
},
attrs: {
"label": "进件接口权限:",
"label-width": "40%"
}
}, [_c('el-checkbox-group', {
model: {
value: (_vm.channel.applyPrivilege),
callback: function($$v) {
_vm.$set(_vm.channel, "applyPrivilege", $$v)
},
expression: "channel.applyPrivilege"
}
}, _vm._l((_vm.applyPrivilegeItems), function(item) {
return _c('el-checkbox', {
key: item.value,
attrs: {
"label": item.value,
"disabled": !_vm.isEdit
}
}, [_vm._v(_vm._s(item.name) + "\n ")])
}), 1)], 1), _vm._v(" "), _c('el-form-item', [_c('span', {
staticStyle: {
"font-size": "8px",
"color": "#9598a7"
}
}, [_vm._v("说明:进件接口权限勾选中,对应渠道具有请求该接口的权限")])])], 1), _vm._v(" "), _c('el-button', {
directives: [{
name: "show",
rawName: "v-show",
value: (_vm.isEdit),
expression: "isEdit"
}],
staticClass: "filter-item",
staticStyle: {
"margin-left": "80%"
},
attrs: {
"type": "primary",
"icon": "el-icon-search"
},
on: {
"click": _vm.saveApplyConf
}
}, [_vm._v("进件接口权限保存\n ")])], 1)], 1), _vm._v(" "), _c('div', {
staticClass: "block—bodl"
}, [_c('el-card', {
staticClass: "box-card"
}, [_c('div', {
attrs: {
"slot": "header"
},
slot: "header"
}, [_c('span', [_vm._v("回调配置")])]), _vm._v(" "), _c('el-form', {
staticStyle: {
"width": "92%"
},
attrs: {
"size": "medium"
}
}, [_c('el-form-item', {
attrs: {
"label": "通知节点",
"label-width": "15%"
}
}, [_c('el-input', {
attrs: {
"disabled": !_vm.isEdit
},
model: {
value: (_vm.channel.baseConfDetail.channelPubRsa),
callback: function($$v) {
_vm.$set(_vm.channel.baseConfDetail, "channelPubRsa", $$v)
},
expression: "channel.baseConfDetail.channelPubRsa"
}
})], 1), _vm._v(" "), _c('el-form-item', {
attrs: {
"label": "通知顺序",
"label-width": "15%"
}
}, [_c('el-input', {
attrs: {
"disabled": !_vm.isEdit
},
model: {
value: (_vm.channel.baseConfDetail.lhpPriRsa),
callback: function($$v) {
_vm.$set(_vm.channel.baseConfDetail, "lhpPriRsa", $$v)
},
expression: "channel.baseConfDetail.lhpPriRsa"
}
})], 1), _vm._v(" "), _c('el-form-item', {
attrs: {
"label": "审批回调地址",
"label-width": "15%"
}
}, [_c('el-input', {
attrs: {
"disabled": !_vm.isEdit
},
model: {
value: (_vm.channel.baseConfDetail.channelPubRsa),
callback: function($$v) {
_vm.$set(_vm.channel.baseConfDetail, "channelPubRsa", $$v)
},
expression: "channel.baseConfDetail.channelPubRsa"
}
})], 1), _vm._v(" "), _c('el-form-item', {
attrs: {
"label": "订单状态回调地址",
"label-width": "15%"
}
}, [_c('el-input', {
attrs: {
"disabled": !_vm.isEdit
},
model: {
value: (_vm.channel.baseConfDetail.lhpPriRsa),
callback: function($$v) {
_vm.$set(_vm.channel.baseConfDetail, "lhpPriRsa", $$v)
},
expression: "channel.baseConfDetail.lhpPriRsa"
}
})], 1), _vm._v(" "), _c('el-form-item', {
attrs: {
"label": "还款计划回调地址",
"label-width": "15%"
}
}, [_c('el-input', {
attrs: {
"disabled": !_vm.isEdit
},
model: {
value: (_vm.channel.baseConfDetail.lhpPubRsa),
callback: function($$v) {
_vm.$set(_vm.channel.baseConfDetail, "lhpPubRsa", $$v)
},
expression: "channel.baseConfDetail.lhpPubRsa"
}
})], 1)], 1), _vm._v(" "), _c('el-button', {
directives: [{
name: "show",
rawName: "v-show",
value: (_vm.isEdit),
expression: "isEdit"
}],
staticClass: "filter-item",
staticStyle: {
"margin-left": "80%"
},
attrs: {
"type": "primary",
"icon": "el-icon-search"
},
on: {
"click": _vm.getChannels
}
}, [_vm._v("回调配置保存\n ")])], 1)], 1), _vm._v(" "), _c('div', {
staticClass: "block—bodl"
}, [_c('el-card', {
staticClass: "box-card"
}, [_c('div', {
attrs: {
"slot": "header"
},
slot: "header"
}, [_c('span', [_vm._v("Rsa配置")])]), _vm._v(" "), _c('el-form', {
staticStyle: {
"width": "92%"
},
attrs: {
"size": "medium"
}
}, [_c('el-form-item', {
attrs: {
"label": "渠道Rsa公钥",
"label-width": "12%"
}
}, [_c('el-input', {
attrs: {
"type": "textarea",
"rows": 4,
"disabled": !_vm.isEdit
},
model: {
value: (_vm.channel.baseConfDetail.channelPubRsa),
callback: function($$v) {
_vm.$set(_vm.channel.baseConfDetail, "channelPubRsa", $$v)
},
expression: "channel.baseConfDetail.channelPubRsa"
}
})], 1), _vm._v(" "), _c('el-form-item', {
attrs: {
"label": "量化派Rsa私钥",
"label-width": "12%"
}
}, [_c('el-input', {
attrs: {
"type": "textarea",
"rows": 5,
"disabled": !_vm.isEdit
},
model: {
value: (_vm.channel.baseConfDetail.lhpPriRsa),
callback: function($$v) {
_vm.$set(_vm.channel.baseConfDetail, "lhpPriRsa", $$v)
},
expression: "channel.baseConfDetail.lhpPriRsa"
}
})], 1), _vm._v(" "), _c('el-form-item', {
attrs: {
"label": "量化派Rsa共钥",
"label-width": "12%"
}
}, [_c('el-input', {
attrs: {
"type": "textarea",
"rows": 4,
"disabled": !_vm.isEdit
},
model: {
value: (_vm.channel.baseConfDetail.lhpPubRsa),
callback: function($$v) {
_vm.$set(_vm.channel.baseConfDetail, "lhpPubRsa", $$v)
},
expression: "channel.baseConfDetail.lhpPubRsa"
}
})], 1)], 1), _vm._v(" "), _c('el-button', {
directives: [{
name: "show",
rawName: "v-show",
value: (_vm.isEdit),
expression: "isEdit"
}],
staticClass: "filter-item",
staticStyle: {
"margin-left": "80%"
},
attrs: {
"type": "primary",
"icon": "el-icon-search"
},
on: {
"click": _vm.getChannels
}
}, [_vm._v("Rsa配置保存\n ")])], 1)], 1), _vm._v(" "), _c('div', {
directives: [{
name: "show",
rawName: "v-show",
value: (_vm.isEdit),
expression: "isEdit"
}],
staticClass: "block—bodl"
}, [_c('el-card', {
staticClass: "box-card"
}, [_c('div', {
attrs: {
"slot": "header"
},
slot: "header"
}, [_c('span', [_vm._v("刷新缓存")])]), _vm._v(" "), _c('el-button', {
staticClass: "filter-item",
staticStyle: {
"margin-left": "80%"
},
attrs: {
"type": "primary",
"icon": "el-icon-search"
},
on: {
"click": _vm.getChannels
}
}, [_vm._v("刷新内存缓存\n ")])], 1)], 1)])])
},staticRenderFns: [function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
return _c('div', [_c('span', {
staticClass: "navigation-page"
}, [_vm._v("位置:")]), _c('span', {
staticClass: "navigation-page"
}, [_vm._v("KA渠道信息配置")])])
}]}
/***/ })
});
//# sourceMappingURL=2.1af9f2f.js.map
{"version":3,"sources":["webpack:///./src/modules/channels/index.vue","webpack:///index.vue?6429","webpack:///./src/apis/channel.js","webpack:///./src/modules/channels/index.vue?7468","webpack:///./src/modules/channels/index.vue?3d02","webpack:///./src/modules/channels/index.vue?2439"],"names":["getChannels","data","request","url","method","headers","params","getApplyInfo","saveChannelBaseConf","getChannelDetail","query"],"mappings":";;;;;;AACA;AACA,mBAAO,CAAC,GAAmS;;AAE3S,gBAAgB,mBAAO,CAAC,EAA4D;AACpF;AACA,EAAE,mBAAO,CAAC,GAA8F;AACxG;AACA,EAAE,mBAAO,CAAC,GAA6J;AACvK;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACwOA;AACA;;AAGA;;AAEA;AACA;AACA;AACA,qBADA;AAEA;AAFA,OADA;AAKA,kBALA;AAMA,gIANA;AAOA,yFAPA;AAQA;AACA,oBADA;AAEA;AAFA,SAGA,sCAHA,EAGA,mCAHA,EAGA;AACA,oBADA;AAEA;AAFA,OAHA,EAMA,iCANA,CARA;AAeA,4GAfA;AAgBA,cAhBA;AAiBA,aAjBA;AAkBA,sBAlBA;AAmBA,uBAnBA;AAoBA,uBApBA;AAqBA,kBArBA;AAsBA;AAtBA;AAwBA,GA3BA;AA4BA;AACA;AACA;AACA,GA/BA;AAgCA;AACA;AAEA,GAnCA;AAoCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,0FAAN;AACA;AACA;AACA;AACA;AACA;AACA,OANA,EAMA,KANA,CAMA,OACA,CAPA;AAQA,KAhBA;AAiBA;AACA;AACA;AACA,KApBA;AAqBA;AACA;AACA;AACA;AACA;AACA,KA1BA;AA2BA;AACA;AACA;AACA;AACA,MAAM,+FAAN;AACA;AACA,OAFA;AAGA,MAAM,2FAAN;AACA;AACA,OAFA;AAGA,KArCA;AAsCA;AACA;AACA;AACA;AACA,MAAM,+FAAN;AACA;AACA,OAFA;AAGA;AACA,MAAM,2FAAN;AACA;AACA,OAFA;AAGA,KAjDA;AAkDA;AACA;AACA,MAAM,kGAAN;AACA;AACA,qBADA;AAEA,yBAFA;AAGA,yBAHA;AAIA;AAJA;AAMA,OAPA;AAQA,KA5DA;AA6DA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAlFA;AApCA,G;;;;;;;;AC3PA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEO,SAASA,WAAT,CAAqBC,IAArB,EAA2B;AAChC,SAAOC,sFAAOA,CAAC;AACbC,SAAK,eADQ;AAEbC,YAAQ,MAFK;AAGbC,aAAS;AACP,sBAAgB;AADT,KAHI;AAMbC,YAAQL;AANK,GAAR,CAAP;AAQD;;AAEM,SAASM,YAAT,CAAsBD,MAAtB,EAA8B;AACnC,SAAOJ,sFAAOA,CAAC;AACbC,SAAK,uBADQ;AAEbC,YAAQ,KAFK;AAGbE,YAAQA;AAHK,GAAR,CAAP;AAKD;;AAEM,SAASE,mBAAT,CAA6BP,IAA7B,EAAmC;AACxC,SAAOC,sFAAOA,CAAC;AACbC,SAAK,0BADQ;AAEbC,YAAQ,MAFK;AAGbH;AAHa,GAAR,CAAP;AAKD;;AAEM,SAASQ,gBAAT,CAA0BC,KAA1B,EAAiC;AACtC,SAAOR,sFAAOA,CAAC;AACbC,SAAK,mBADQ;AAEbC,YAAQ,KAFK;AAGbE,YAAQI;AAHK,GAAR,CAAP;AAKD,C;;;;;;;ACnCD,2BAA2B,mBAAO,CAAC,GAAkD;AACrF;;;AAGA;AACA,cAAc,QAAS,mEAAmE,+BAA+B,oDAAoD,yBAAyB,kBAAkB,mBAAmB,GAAG,qCAAqC,oBAAoB,GAAG,gCAAgC,8BAA8B,uBAAuB,GAAG,gCAAgC,eAAe,GAAG,cAAc,mJAAmJ,UAAU,KAAK,YAAY,aAAa,aAAa,WAAW,UAAU,MAAM,KAAK,YAAY,MAAM,KAAK,YAAY,aAAa,MAAM,KAAK,UAAU,4GAA4G,+BAA+B,oDAAoD,yBAAyB,kBAAkB,mBAAmB,GAAG,qCAAqC,oBAAoB,GAAG,gCAAgC,8BAA8B,uBAAuB,GAAG,gCAAgC,eAAe,GAAG,yBAAyB;;AAE9sC;;;;;;;;ACPA;;AAEA;AACA,cAAc,mBAAO,CAAC,GAA8N;AACpP,4CAA4C,QAAS;AACrD;AACA;AACA,aAAa,mBAAO,CAAC,GAAgE,6B;;;;;;;ACPrF,gBAAgB,mBAAmB,aAAa,0BAA0B;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,sGAAsG,aAAa;AACnH;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,sGAAsG,aAAa;AACnH;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,sGAAsG,aAAa;AACnH;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH,CAAC,+BAA+B,aAAa,0BAA0B;AACvE;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH,CAAC,E","file":"static/js/2.1af9f2f.js","sourcesContent":["\n/* styles */\nrequire(\"!!../../../node_modules/extract-text-webpack-plugin/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?sourceMap!../../../node_modules/vue-loader/lib/style-rewriter?id=data-v-a73d5d10&scoped=true!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./index.vue\")\n\nvar Component = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")(\n /* script */\n require(\"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./index.vue\"),\n /* template */\n require(\"!!../../../node_modules/vue-loader/lib/template-compiler?id=data-v-a73d5d10!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./index.vue\"),\n /* scopeId */\n \"data-v-a73d5d10\",\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/modules/channels/index.vue\n// module id = 204\n// module chunks = 2","<style scoped>\n @import \"../../css/vars.css\"; /* 引入预定义变量 */\n .post-css-test {\n transform: rotateY(360deg);\n box-shadow: 0 0 3px 5px rgba(222, 222, 222, .3);\n display: flex;\n color: var(--color-main);\n }\n\n .navigation-page {\n font-size: 14px;\n }\n\n .block—bodl {\n border: 1px solid #f1faf7;\n border-radius: 2px;\n }\n\n .base_block {\n width: 30%;\n }\n\n\n</style>\n<template>\n <div>\n <div class=\"content-page\" v-show=\"contentPage\">\n <div><span class=\"navigation-page\">位置:</span><span class=\"navigation-page\">KA渠道信息配置</span></div>\n <!-- <hr/>-->\n <div class=\"home-page-center single-page-center base\">\n <div class=\"home-section-wrap page-center-wrap-bottom\">\n <div class=\"home-section-env\">\n <div class=\"filter-container\" style=\"padding-bottom:20px\">\n <el-input v-model=\"listQuery.channelName\" placeholder=\"渠道名称\" clearable style=\"width: 200px;\"\n class=\"filter-item\" @keyup.enter.native=\"getChannels\"/>\n <el-input v-model=\"listQuery.channelId\" placeholder=\"渠道号\" clearable style=\"width: 200px;\"\n class=\"filter-item\" @keyup.enter.native=\"getChannels\"/>\n <el-input v-model=\"listQuery.channelCode\" placeholder=\"channel_code\" clearable style=\"width: 200px;\"\n class=\"filter-item\" @keyup.enter.native=\"getChannels\"/>\n <el-select v-model=\"listQuery.channelId\" placeholder=\"渠道\" clearable style=\"width: 200px\"\n class=\"filter-item\">\n <el-option v-for=\"item in channels\" :key=\"item.channelId\" :label=\"item.channelName\"\n :value=\"item.channelId\"/>\n </el-select>\n <el-button class=\"filter-item\" type=\"primary\" icon=\"el-icon-search\" @click=\"getChannels\">查询</el-button>\n <el-button :disabled=\"!contentPage\" class=\"filter-item\" style=\"margin-left: 10px;\" type=\"primary\"\n icon=\"el-icon-edit\" @click=\"handleCreate\">添加\n </el-button>\n </div>\n <el-table\n v-show=\"contentPage\"\n ref=\"myTable\"\n :data=\"channels\"\n border\n max-height=\"350\"\n size=\"medium\"\n fit\n highlight-current-row\n style=\"\">\n <el-table-column label=\"ID\" type=\"index\" align=\"center\" width=\"65\"/>\n\n <el-table-column label=\"渠道名称\" prop=\"channelName\" align=\"center\"/>\n <el-table-column sortable label=\"渠道号\" prop=\"channelId\" align=\"center\"/>\n <el-table-column sortable label=\"channel_code\" prop=\"channelCode\" align=\"center\"/>\n <el-table-column label=\"创建时间\" prop=\"createTime\" align=\"center\"/>\n <el-table-column label=\"更新时间\" prop=\"updateTime\" align=\"center\"/>\n\n <el-table-column label=\"操作\" align=\"center\" width=\"180\" class-name=\"small-padding fixed-width\">\n <template slot-scope=\"scope\">\n <el-button type=\"primary\" size=\"mini\" @click=\"handleUpdate(scope.row)\">编辑</el-button>\n <el-button type=\"primary\" size=\"mini\" @click=\"handleQurey(scope.row)\">查看</el-button>\n </template>\n </el-table-column>\n\n </el-table>\n <!-- <pagination v-show=\"contentPage && count>0\" :total=\"count\" :page.sync=\"page\" :limit.sync=\"listQuery.pageSize\" @pagination=\"getChannels\" />-->\n </div>\n </div>\n </div>\n </div>\n\n\n <div class=\"edit_page\" v-show=\"createPage\">\n <div><span class=\"navigation-page\">位置:</span><a class=\"navigation-page\"\n @click=\"back2contentPage()\">KA渠道信息配置</a><span>>></span><span\n class=\"navigation-page\">编辑/查看</span></div>\n <!-- <hr/>-->\n <div class=\"block—bodl\">\n <el-card class=\"box-card\">\n <div slot=\"header\">\n <span>基础配置</span>\n </div>\n <el-form :inline=\"true\" size=\"medium\">\n <el-form-item class=\"base_block\" label=\"渠道名称\" label-width=\"40%\">\n <el-input class=\"el_input_box\" v-model=\"channel.baseConfDetail.channelName\" :disabled=\"!isEdit\"/>\n </el-form-item>\n <el-form-item class=\"base_block\" label=\"渠道号\" label-width=\"40%\">\n <el-input class=\"el_input_box\" v-model=\"channel.baseConfDetail.channelId\" :disabled=\"!isEdit\"/>\n </el-form-item>\n <el-form-item class=\"base_block\" label=\"channel_code\" label-width=\"40%\">\n <el-input class=\"el_input_box\" v-model=\"channel.baseConfDetail.channelCode\" :disabled=\"!isEdit\"/>\n </el-form-item>\n <el-form-item class=\"base_block\" label=\"产品id\" label-width=\"40%\">\n <el-input class=\"el_input_box\" v-model=\"channel.baseConfDetail.productId\" :disabled=\"!isEdit\"/>\n </el-form-item>\n <el-form-item class=\"base_block\" label=\"aesKey\" label-width=\"40%\">\n <el-input v-model=\"channel.baseConfDetail.aesKey\" :disabled=\"!isEdit\"/>\n </el-form-item>\n <el-form-item class=\"base_block\" label=\"md5Key\" label-width=\"40%\">\n <el-input v-model=\"channel.baseConfDetail.md5Key\" :disabled=\"!isEdit\"/>\n </el-form-item>\n <el-form-item class=\"base_block\" label=\"是否标准API渠道\" label-width=\"40%\">\n <el-input v-model=\"channel.baseConfDetail.isStandardChannel\" :disabled=\"!isEdit\"/>\n </el-form-item>\n </el-form>\n <el-button v-show=\"isEdit\" class=\"filter-item\" style=\"margin-left: 80%;\" type=\"primary\" icon=\"el-icon-search\"\n @click=\"saveBaseConf\">基础配置保存\n </el-button>\n </el-card>\n </div>\n <!-- 基础配置 ====-->\n <!-- 进件项配置 ====-->\n <div class=\"block—bodl\">\n <el-card class=\"box-card\">\n <div slot=\"header\">\n <span>进件校验项配置</span>\n </div>\n <el-form :inline=\"true\" size=\"medium\">\n <el-form-item style=\"width:25%\" label=\"校验节点\" label-width=\"30%\">\n <el-select v-model=\"channel.importCheckItem.point\" placeholder=\"请选择\" clearable class=\"filter-item\"\n style=\"width:100px\" :disabled=\"!isEdit\">\n <el-option v-for=\"item in importCheckItemPoints\" :key=\"item.value\" :label=\"item.name\"\n :value=\"item.value\"/>\n </el-select>\n </el-form-item>\n <el-form-item style=\"width:70%\" label=\"进件校验项:\" label-width=\"15%\">\n <el-checkbox-group v-model=\"channel.importCheckItem.checkedItems\" :disabled=\"!isEdit\">\n <el-checkbox v-for=\"item in importCheckItems\" :key=\"item.value\" :label=\"item.value\" :disabled=\"!isEdit\">\n {{item.name}}\n </el-checkbox>\n </el-checkbox-group>\n </el-form-item>\n </el-form>\n <el-button v-show=\"isEdit\" class=\"filter-item\" style=\"margin-left: 80%;\" type=\"primary\" icon=\"el-icon-search\"\n @click=\"saveApplyConf\">进件校验项保存\n </el-button>\n </el-card>\n </div>\n <!-- 进件项配置 ====-->\n <!-- 进件项配置 ====-->\n <div class=\"block—bodl\">\n <el-card class=\"box-card\">\n <div slot=\"header\">\n <span>进件接口权限</span>\n </div>\n <el-form :inline=\"true\" size=\"medium\">\n <el-form-item style=\"width:30%\" label=\"进件接口权限:\" label-width=\"40%\">\n <el-checkbox-group v-model=\"channel.applyPrivilege\">\n <el-checkbox v-for=\"item in applyPrivilegeItems\" :key=\"item.value\" :label=\"item.value\"\n :disabled=\"!isEdit\">{{item.name}}\n </el-checkbox>\n </el-checkbox-group>\n </el-form-item>\n <el-form-item>\n <span style=\"font-size: 8px;color: #9598a7\">说明:进件接口权限勾选中,对应渠道具有请求该接口的权限</span>\n </el-form-item>\n </el-form>\n\n <el-button v-show=\"isEdit\" class=\"filter-item\" style=\"margin-left: 80%;\" type=\"primary\" icon=\"el-icon-search\"\n @click=\"saveApplyConf\">进件接口权限保存\n </el-button>\n </el-card>\n </div>\n <!-- 进件项配置 ====-->\n <!-- 回调配置 ====-->\n <div class=\"block—bodl\">\n <el-card class=\"box-card\">\n <div slot=\"header\">\n <span>回调配置</span>\n </div>\n <el-form size=\"medium\" style=\"width:92%\">\n <el-form-item label=\"通知节点\" label-width=\"15%\">\n <el-input v-model=\"channel.baseConfDetail.channelPubRsa\" :disabled=\"!isEdit\"/>\n </el-form-item>\n <el-form-item label=\"通知顺序\" label-width=\"15%\">\n <el-input v-model=\"channel.baseConfDetail.lhpPriRsa\" :disabled=\"!isEdit\"/>\n </el-form-item>\n <el-form-item label=\"审批回调地址\" label-width=\"15%\">\n <el-input v-model=\"channel.baseConfDetail.channelPubRsa\" :disabled=\"!isEdit\"/>\n </el-form-item>\n <el-form-item label=\"订单状态回调地址\" label-width=\"15%\">\n <el-input v-model=\"channel.baseConfDetail.lhpPriRsa\" :disabled=\"!isEdit\"/>\n </el-form-item>\n <el-form-item label=\"还款计划回调地址\" label-width=\"15%\">\n <el-input v-model=\"channel.baseConfDetail.lhpPubRsa\" :disabled=\"!isEdit\"/>\n </el-form-item>\n </el-form>\n\n <el-button v-show=\"isEdit\" class=\"filter-item\" style=\"margin-left: 80%;\" type=\"primary\" icon=\"el-icon-search\"\n @click=\"getChannels\">回调配置保存\n </el-button>\n </el-card>\n </div>\n <!-- 回调配置 ====-->\n <!-- 回调配置 ====-->\n <div class=\"block—bodl\">\n <el-card class=\"box-card\">\n <div slot=\"header\">\n <span>Rsa配置</span>\n </div>\n <el-form size=\"medium\" style=\"width:92%\">\n <el-form-item label=\"渠道Rsa公钥\" label-width=\"12%\">\n <el-input type=\"textarea\" :rows=\"4\" v-model=\"channel.baseConfDetail.channelPubRsa\" :disabled=\"!isEdit\"/>\n </el-form-item>\n <el-form-item label=\"量化派Rsa私钥\" label-width=\"12%\">\n <el-input type=\"textarea\" :rows=\"5\" v-model=\"channel.baseConfDetail.lhpPriRsa\" :disabled=\"!isEdit\"/>\n </el-form-item>\n <el-form-item label=\"量化派Rsa共钥\" label-width=\"12%\">\n <el-input type=\"textarea\" :rows=\"4\" v-model=\"channel.baseConfDetail.lhpPubRsa\" :disabled=\"!isEdit\"/>\n </el-form-item>\n </el-form>\n <el-button v-show=\"isEdit\" class=\"filter-item\" style=\"margin-left: 80%;\" type=\"primary\" icon=\"el-icon-search\"\n @click=\"getChannels\">Rsa配置保存\n </el-button>\n </el-card>\n </div>\n <!-- 回调配置 ====-->\n <!-- 刷新内存缓存 ====-->\n <div class=\"block—bodl\" v-show=\"isEdit\">\n <el-card class=\"box-card\">\n <div slot=\"header\">\n <span>刷新缓存</span>\n </div>\n <el-button class=\"filter-item\" style=\"margin-left: 80%;\" type=\"primary\" icon=\"el-icon-search\"\n @click=\"getChannels\">刷新内存缓存\n </el-button>\n </el-card>\n </div>\n <!-- 回调配置 ====-->\n </div>\n\n </div>\n\n</template>\n\n\n<script>\n // import {getChannels, getChannelDetail, saveChannelBaseConf} from '@/apis/channel'\n import {getChannels, getChannelDetail, saveChannelBaseConf, getApplyInfo} from '../../apis/channel'\n\n\n export default {\n\n data() {\n return {\n listQuery: {\n pageNumber: 0,\n pageSize: 10\n },\n channels: [],\n channel: {baseConfDetail: {}, importCheckItem: {\"point\":1,\"checkedItems\":[]}, applyPrivilege: [], callbackInfo: {}},\n importCheckItemPoints: [{\"name\": \"一推\", \"value\": 1}, {\"name\": \"二推\", \"value\": 2}],\n importCheckItems: [{\"name\": \"地址\", \"value\": \"address\"}, {\"name\": \"联系人\", \"value\": \"contact\"}, {\n \"name\": \"职业\",\n \"value\": \"occupation\"\n }, {\"name\": \"学历\", \"value\": \"education\"}, {\"name\": \"收入\", \"value\": \"income\"}, {\n \"name\": \"邮箱\",\n \"value\": \"email\"\n }, {\"name\": \"ocr\", \"value\": \"ocr\"}],\n applyPrivilegeItems: [{\"name\": \"预审\", \"value\": \"PRE_AUDIT\"}, {\"name\": \"进件\", \"value\": \"APPLY_LOAN\"}],\n count: 1,\n page: 1,\n roles: undefined,\n createPage: false,\n contentPage: true,\n isEdit: true,\n baseConfLabelWidth: '25%'\n }\n },\n created() {\n createPage: false\n //this.roles = store.getters.roles\n },\n mounted() {\n this.getChannels()\n\n },\n methods: {\n getChannels() {\n for (const prop in this.listQuery) {\n if (this.listQuery[prop] === '') {\n delete this.listQuery[prop]\n }\n }\n this.listQuery.pageNumber = this.page - 1\n getChannels(this.listQuery).then(res => {\n if (res.data) {\n this.channels = res.data.content\n this.count = res.data.totalElements\n this.$refs.myTable.setCurrentRow(this.channels[0])\n }\n }).catch(() => {\n })\n },\n back2contentPage() {\n this.contentPage = true\n this.createPage = false\n },\n handleCreate() {\n this.isEdit = true\n this.contentPage = false\n this.createPage = true\n this.channel = {basicInfo: {}, addInfo: {}}\n },\n handleUpdate(data) {\n this.isEdit = true\n this.contentPage = false\n this.createPage = true\n getChannelDetail(data).then(rep => {\n this.channel.baseConfDetail = rep.data\n })\n getApplyInfo(data.channelId).then(rep => {\n this.channel.applyPrivilege = rep.data.applyPrivilege\n })\n },\n handleQurey(data) {\n this.isEdit = false\n this.contentPage = false\n this.createPage = true\n getChannelDetail(data).then(rep => {\n this.channel.baseConfDetail = rep.data\n })\n console.log(data)\n getApplyInfo(data.channelId).then(rep => {\n this.channel.applyPrivilege = rep.data\n })\n },\n saveBaseConf() {\n // 保存基本配置信息\n saveChannelBaseConf(this.channel.baseConfDetail).then(rep => {\n this.$notify({\n title: '成功',\n message: '保存成功',\n type: 'success',\n duration: 1500\n })\n })\n },\n saveApplyConf() {\n // 保存进件项配置\n console.log(this.channel.importCheckItem)\n console.log(this.channel.applyPrivilege)\n }\n\n //\n // savevData() {\n // if (this.roles.includes('channel')) {\n // this.channel.basicInfo = { channelId: this.channel.basicInfo.channelId }\n // }\n // saveChannel(this.channel).then(() => {\n // this.$notify({\n // title: '成功',\n // message: '保存成功',\n // type: 'success',\n // duration: 1000\n // })\n // this.handleCurrentChange(this.channel.basicInfo)\n // this.getChannels()\n // })\n // }\n }\n }\n</script>\n\n\n\n// WEBPACK FOOTER //\n// index.vue?25ca6520","import request from '../utils/request'\n\nexport function getChannels(data) {\n return request({\n url: '/channel/page',\n method: 'post',\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded'\n },\n params: data\n })\n}\n\nexport function getApplyInfo(params) {\n return request({\n url: '/channel/getApplyInfo',\n method: 'get',\n params: params\n })\n}\n\nexport function saveChannelBaseConf(data) {\n return request({\n url: '/channel/update/baseConf',\n method: 'post',\n data\n })\n}\n\nexport function getChannelDetail(query) {\n return request({\n url: '/channel/get/info',\n method: 'get',\n params: query\n })\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/apis/channel.js","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"/* css预定义变量 */\\n/* 引入预定义变量 */\\n.post-css-test[data-v-a73d5d10] {\\n transform: rotateY(360deg);\\n box-shadow: 0 0 3px 5px rgba(222, 222, 222, .3);\\n display: -ms-flexbox;\\n display: flex;\\n color: #ff0000;\\n}\\n.navigation-page[data-v-a73d5d10] {\\n font-size: 14px;\\n}\\n.block—bodl[data-v-a73d5d10] {\\n border: 1px solid #f1faf7;\\n border-radius: 2px;\\n}\\n.base_block[data-v-a73d5d10] {\\n width: 30%;\\n}\\n\\n\\n\", \"\", {\"version\":3,\"sources\":[\"/Users/simon/Documents/workspace/wp_202002/ka-manager-ui/src/modules/channels/index.vue\"],\"names\":[],\"mappings\":\"AAAA,cAAc;AACd,aAAa;AACb;EACE,2BAA2B;EAC3B,gDAAgD;EAChD,qBAAqB;EACrB,cAAc;EACd,eAAe;CAChB;AACD;EACE,gBAAgB;CACjB;AACD;EACE,0BAA0B;EAC1B,mBAAmB;CACpB;AACD;EACE,WAAW;CACZ\",\"file\":\"index.vue\",\"sourcesContent\":[\"/* css预定义变量 */\\n/* 引入预定义变量 */\\n.post-css-test[data-v-a73d5d10] {\\n transform: rotateY(360deg);\\n box-shadow: 0 0 3px 5px rgba(222, 222, 222, .3);\\n display: -ms-flexbox;\\n display: flex;\\n color: #ff0000;\\n}\\n.navigation-page[data-v-a73d5d10] {\\n font-size: 14px;\\n}\\n.block—bodl[data-v-a73d5d10] {\\n border: 1px solid #f1faf7;\\n border-radius: 2px;\\n}\\n.base_block[data-v-a73d5d10] {\\n width: 30%;\\n}\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader?sourceMap!./~/vue-loader/lib/style-rewriter.js?id=data-v-a73d5d10&scoped=true!./~/vue-loader/lib/selector.js?type=styles&index=0!./src/modules/channels/index.vue\n// module id = 238\n// module chunks = 2","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js?sourceMap!../../../node_modules/vue-loader/lib/style-rewriter.js?id=data-v-a73d5d10&scoped=true!../../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./index.vue\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\")(\"467d16f0\", content, true);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/extract-text-webpack-plugin/loader.js?{\"omit\":1,\"remove\":true}!./~/vue-style-loader!./~/css-loader?sourceMap!./~/vue-loader/lib/style-rewriter.js?id=data-v-a73d5d10&scoped=true!./~/vue-loader/lib/selector.js?type=styles&index=0!./src/modules/channels/index.vue\n// module id = 245\n// module chunks = 2","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', [_c('div', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (_vm.contentPage),\n expression: \"contentPage\"\n }],\n staticClass: \"content-page\"\n }, [_vm._m(0), _vm._v(\" \"), _c('div', {\n staticClass: \"home-page-center single-page-center base\"\n }, [_c('div', {\n staticClass: \"home-section-wrap page-center-wrap-bottom\"\n }, [_c('div', {\n staticClass: \"home-section-env\"\n }, [_c('div', {\n staticClass: \"filter-container\",\n staticStyle: {\n \"padding-bottom\": \"20px\"\n }\n }, [_c('el-input', {\n staticClass: \"filter-item\",\n staticStyle: {\n \"width\": \"200px\"\n },\n attrs: {\n \"placeholder\": \"渠道名称\",\n \"clearable\": \"\"\n },\n nativeOn: {\n \"keyup\": function($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")) { return null; }\n return _vm.getChannels($event)\n }\n },\n model: {\n value: (_vm.listQuery.channelName),\n callback: function($$v) {\n _vm.$set(_vm.listQuery, \"channelName\", $$v)\n },\n expression: \"listQuery.channelName\"\n }\n }), _vm._v(\" \"), _c('el-input', {\n staticClass: \"filter-item\",\n staticStyle: {\n \"width\": \"200px\"\n },\n attrs: {\n \"placeholder\": \"渠道号\",\n \"clearable\": \"\"\n },\n nativeOn: {\n \"keyup\": function($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")) { return null; }\n return _vm.getChannels($event)\n }\n },\n model: {\n value: (_vm.listQuery.channelId),\n callback: function($$v) {\n _vm.$set(_vm.listQuery, \"channelId\", $$v)\n },\n expression: \"listQuery.channelId\"\n }\n }), _vm._v(\" \"), _c('el-input', {\n staticClass: \"filter-item\",\n staticStyle: {\n \"width\": \"200px\"\n },\n attrs: {\n \"placeholder\": \"channel_code\",\n \"clearable\": \"\"\n },\n nativeOn: {\n \"keyup\": function($event) {\n if (!$event.type.indexOf('key') && _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")) { return null; }\n return _vm.getChannels($event)\n }\n },\n model: {\n value: (_vm.listQuery.channelCode),\n callback: function($$v) {\n _vm.$set(_vm.listQuery, \"channelCode\", $$v)\n },\n expression: \"listQuery.channelCode\"\n }\n }), _vm._v(\" \"), _c('el-select', {\n staticClass: \"filter-item\",\n staticStyle: {\n \"width\": \"200px\"\n },\n attrs: {\n \"placeholder\": \"渠道\",\n \"clearable\": \"\"\n },\n model: {\n value: (_vm.listQuery.channelId),\n callback: function($$v) {\n _vm.$set(_vm.listQuery, \"channelId\", $$v)\n },\n expression: \"listQuery.channelId\"\n }\n }, _vm._l((_vm.channels), function(item) {\n return _c('el-option', {\n key: item.channelId,\n attrs: {\n \"label\": item.channelName,\n \"value\": item.channelId\n }\n })\n }), 1), _vm._v(\" \"), _c('el-button', {\n staticClass: \"filter-item\",\n attrs: {\n \"type\": \"primary\",\n \"icon\": \"el-icon-search\"\n },\n on: {\n \"click\": _vm.getChannels\n }\n }, [_vm._v(\"查询\")]), _vm._v(\" \"), _c('el-button', {\n staticClass: \"filter-item\",\n staticStyle: {\n \"margin-left\": \"10px\"\n },\n attrs: {\n \"disabled\": !_vm.contentPage,\n \"type\": \"primary\",\n \"icon\": \"el-icon-edit\"\n },\n on: {\n \"click\": _vm.handleCreate\n }\n }, [_vm._v(\"添加\\n \")])], 1), _vm._v(\" \"), _c('el-table', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (_vm.contentPage),\n expression: \"contentPage\"\n }],\n ref: \"myTable\",\n attrs: {\n \"data\": _vm.channels,\n \"border\": \"\",\n \"max-height\": \"350\",\n \"size\": \"medium\",\n \"fit\": \"\",\n \"highlight-current-row\": \"\"\n }\n }, [_c('el-table-column', {\n attrs: {\n \"label\": \"ID\",\n \"type\": \"index\",\n \"align\": \"center\",\n \"width\": \"65\"\n }\n }), _vm._v(\" \"), _c('el-table-column', {\n attrs: {\n \"label\": \"渠道名称\",\n \"prop\": \"channelName\",\n \"align\": \"center\"\n }\n }), _vm._v(\" \"), _c('el-table-column', {\n attrs: {\n \"sortable\": \"\",\n \"label\": \"渠道号\",\n \"prop\": \"channelId\",\n \"align\": \"center\"\n }\n }), _vm._v(\" \"), _c('el-table-column', {\n attrs: {\n \"sortable\": \"\",\n \"label\": \"channel_code\",\n \"prop\": \"channelCode\",\n \"align\": \"center\"\n }\n }), _vm._v(\" \"), _c('el-table-column', {\n attrs: {\n \"label\": \"创建时间\",\n \"prop\": \"createTime\",\n \"align\": \"center\"\n }\n }), _vm._v(\" \"), _c('el-table-column', {\n attrs: {\n \"label\": \"更新时间\",\n \"prop\": \"updateTime\",\n \"align\": \"center\"\n }\n }), _vm._v(\" \"), _c('el-table-column', {\n attrs: {\n \"label\": \"操作\",\n \"align\": \"center\",\n \"width\": \"180\",\n \"class-name\": \"small-padding fixed-width\"\n },\n scopedSlots: _vm._u([{\n key: \"default\",\n fn: function(scope) {\n return [_c('el-button', {\n attrs: {\n \"type\": \"primary\",\n \"size\": \"mini\"\n },\n on: {\n \"click\": function($event) {\n return _vm.handleUpdate(scope.row)\n }\n }\n }, [_vm._v(\"编辑\")]), _vm._v(\" \"), _c('el-button', {\n attrs: {\n \"type\": \"primary\",\n \"size\": \"mini\"\n },\n on: {\n \"click\": function($event) {\n return _vm.handleQurey(scope.row)\n }\n }\n }, [_vm._v(\"查看\")])]\n }\n }])\n })], 1)], 1)])])]), _vm._v(\" \"), _c('div', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (_vm.createPage),\n expression: \"createPage\"\n }],\n staticClass: \"edit_page\"\n }, [_c('div', [_c('span', {\n staticClass: \"navigation-page\"\n }, [_vm._v(\"位置:\")]), _c('a', {\n staticClass: \"navigation-page\",\n on: {\n \"click\": function($event) {\n return _vm.back2contentPage()\n }\n }\n }, [_vm._v(\"KA渠道信息配置\")]), _c('span', [_vm._v(\">>\")]), _c('span', {\n staticClass: \"navigation-page\"\n }, [_vm._v(\"编辑/查看\")])]), _vm._v(\" \"), _c('div', {\n staticClass: \"block—bodl\"\n }, [_c('el-card', {\n staticClass: \"box-card\"\n }, [_c('div', {\n attrs: {\n \"slot\": \"header\"\n },\n slot: \"header\"\n }, [_c('span', [_vm._v(\"基础配置\")])]), _vm._v(\" \"), _c('el-form', {\n attrs: {\n \"inline\": true,\n \"size\": \"medium\"\n }\n }, [_c('el-form-item', {\n staticClass: \"base_block\",\n attrs: {\n \"label\": \"渠道名称\",\n \"label-width\": \"40%\"\n }\n }, [_c('el-input', {\n staticClass: \"el_input_box\",\n attrs: {\n \"disabled\": !_vm.isEdit\n },\n model: {\n value: (_vm.channel.baseConfDetail.channelName),\n callback: function($$v) {\n _vm.$set(_vm.channel.baseConfDetail, \"channelName\", $$v)\n },\n expression: \"channel.baseConfDetail.channelName\"\n }\n })], 1), _vm._v(\" \"), _c('el-form-item', {\n staticClass: \"base_block\",\n attrs: {\n \"label\": \"渠道号\",\n \"label-width\": \"40%\"\n }\n }, [_c('el-input', {\n staticClass: \"el_input_box\",\n attrs: {\n \"disabled\": !_vm.isEdit\n },\n model: {\n value: (_vm.channel.baseConfDetail.channelId),\n callback: function($$v) {\n _vm.$set(_vm.channel.baseConfDetail, \"channelId\", $$v)\n },\n expression: \"channel.baseConfDetail.channelId\"\n }\n })], 1), _vm._v(\" \"), _c('el-form-item', {\n staticClass: \"base_block\",\n attrs: {\n \"label\": \"channel_code\",\n \"label-width\": \"40%\"\n }\n }, [_c('el-input', {\n staticClass: \"el_input_box\",\n attrs: {\n \"disabled\": !_vm.isEdit\n },\n model: {\n value: (_vm.channel.baseConfDetail.channelCode),\n callback: function($$v) {\n _vm.$set(_vm.channel.baseConfDetail, \"channelCode\", $$v)\n },\n expression: \"channel.baseConfDetail.channelCode\"\n }\n })], 1), _vm._v(\" \"), _c('el-form-item', {\n staticClass: \"base_block\",\n attrs: {\n \"label\": \"产品id\",\n \"label-width\": \"40%\"\n }\n }, [_c('el-input', {\n staticClass: \"el_input_box\",\n attrs: {\n \"disabled\": !_vm.isEdit\n },\n model: {\n value: (_vm.channel.baseConfDetail.productId),\n callback: function($$v) {\n _vm.$set(_vm.channel.baseConfDetail, \"productId\", $$v)\n },\n expression: \"channel.baseConfDetail.productId\"\n }\n })], 1), _vm._v(\" \"), _c('el-form-item', {\n staticClass: \"base_block\",\n attrs: {\n \"label\": \"aesKey\",\n \"label-width\": \"40%\"\n }\n }, [_c('el-input', {\n attrs: {\n \"disabled\": !_vm.isEdit\n },\n model: {\n value: (_vm.channel.baseConfDetail.aesKey),\n callback: function($$v) {\n _vm.$set(_vm.channel.baseConfDetail, \"aesKey\", $$v)\n },\n expression: \"channel.baseConfDetail.aesKey\"\n }\n })], 1), _vm._v(\" \"), _c('el-form-item', {\n staticClass: \"base_block\",\n attrs: {\n \"label\": \"md5Key\",\n \"label-width\": \"40%\"\n }\n }, [_c('el-input', {\n attrs: {\n \"disabled\": !_vm.isEdit\n },\n model: {\n value: (_vm.channel.baseConfDetail.md5Key),\n callback: function($$v) {\n _vm.$set(_vm.channel.baseConfDetail, \"md5Key\", $$v)\n },\n expression: \"channel.baseConfDetail.md5Key\"\n }\n })], 1), _vm._v(\" \"), _c('el-form-item', {\n staticClass: \"base_block\",\n attrs: {\n \"label\": \"是否标准API渠道\",\n \"label-width\": \"40%\"\n }\n }, [_c('el-input', {\n attrs: {\n \"disabled\": !_vm.isEdit\n },\n model: {\n value: (_vm.channel.baseConfDetail.isStandardChannel),\n callback: function($$v) {\n _vm.$set(_vm.channel.baseConfDetail, \"isStandardChannel\", $$v)\n },\n expression: \"channel.baseConfDetail.isStandardChannel\"\n }\n })], 1)], 1), _vm._v(\" \"), _c('el-button', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (_vm.isEdit),\n expression: \"isEdit\"\n }],\n staticClass: \"filter-item\",\n staticStyle: {\n \"margin-left\": \"80%\"\n },\n attrs: {\n \"type\": \"primary\",\n \"icon\": \"el-icon-search\"\n },\n on: {\n \"click\": _vm.saveBaseConf\n }\n }, [_vm._v(\"基础配置保存\\n \")])], 1)], 1), _vm._v(\" \"), _c('div', {\n staticClass: \"block—bodl\"\n }, [_c('el-card', {\n staticClass: \"box-card\"\n }, [_c('div', {\n attrs: {\n \"slot\": \"header\"\n },\n slot: \"header\"\n }, [_c('span', [_vm._v(\"进件校验项配置\")])]), _vm._v(\" \"), _c('el-form', {\n attrs: {\n \"inline\": true,\n \"size\": \"medium\"\n }\n }, [_c('el-form-item', {\n staticStyle: {\n \"width\": \"25%\"\n },\n attrs: {\n \"label\": \"校验节点\",\n \"label-width\": \"30%\"\n }\n }, [_c('el-select', {\n staticClass: \"filter-item\",\n staticStyle: {\n \"width\": \"100px\"\n },\n attrs: {\n \"placeholder\": \"请选择\",\n \"clearable\": \"\",\n \"disabled\": !_vm.isEdit\n },\n model: {\n value: (_vm.channel.importCheckItem.point),\n callback: function($$v) {\n _vm.$set(_vm.channel.importCheckItem, \"point\", $$v)\n },\n expression: \"channel.importCheckItem.point\"\n }\n }, _vm._l((_vm.importCheckItemPoints), function(item) {\n return _c('el-option', {\n key: item.value,\n attrs: {\n \"label\": item.name,\n \"value\": item.value\n }\n })\n }), 1)], 1), _vm._v(\" \"), _c('el-form-item', {\n staticStyle: {\n \"width\": \"70%\"\n },\n attrs: {\n \"label\": \"进件校验项:\",\n \"label-width\": \"15%\"\n }\n }, [_c('el-checkbox-group', {\n attrs: {\n \"disabled\": !_vm.isEdit\n },\n model: {\n value: (_vm.channel.importCheckItem.checkedItems),\n callback: function($$v) {\n _vm.$set(_vm.channel.importCheckItem, \"checkedItems\", $$v)\n },\n expression: \"channel.importCheckItem.checkedItems\"\n }\n }, _vm._l((_vm.importCheckItems), function(item) {\n return _c('el-checkbox', {\n key: item.value,\n attrs: {\n \"label\": item.value,\n \"disabled\": !_vm.isEdit\n }\n }, [_vm._v(\"\\n \" + _vm._s(item.name) + \"\\n \")])\n }), 1)], 1)], 1), _vm._v(\" \"), _c('el-button', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (_vm.isEdit),\n expression: \"isEdit\"\n }],\n staticClass: \"filter-item\",\n staticStyle: {\n \"margin-left\": \"80%\"\n },\n attrs: {\n \"type\": \"primary\",\n \"icon\": \"el-icon-search\"\n },\n on: {\n \"click\": _vm.saveApplyConf\n }\n }, [_vm._v(\"进件校验项保存\\n \")])], 1)], 1), _vm._v(\" \"), _c('div', {\n staticClass: \"block—bodl\"\n }, [_c('el-card', {\n staticClass: \"box-card\"\n }, [_c('div', {\n attrs: {\n \"slot\": \"header\"\n },\n slot: \"header\"\n }, [_c('span', [_vm._v(\"进件接口权限\")])]), _vm._v(\" \"), _c('el-form', {\n attrs: {\n \"inline\": true,\n \"size\": \"medium\"\n }\n }, [_c('el-form-item', {\n staticStyle: {\n \"width\": \"30%\"\n },\n attrs: {\n \"label\": \"进件接口权限:\",\n \"label-width\": \"40%\"\n }\n }, [_c('el-checkbox-group', {\n model: {\n value: (_vm.channel.applyPrivilege),\n callback: function($$v) {\n _vm.$set(_vm.channel, \"applyPrivilege\", $$v)\n },\n expression: \"channel.applyPrivilege\"\n }\n }, _vm._l((_vm.applyPrivilegeItems), function(item) {\n return _c('el-checkbox', {\n key: item.value,\n attrs: {\n \"label\": item.value,\n \"disabled\": !_vm.isEdit\n }\n }, [_vm._v(_vm._s(item.name) + \"\\n \")])\n }), 1)], 1), _vm._v(\" \"), _c('el-form-item', [_c('span', {\n staticStyle: {\n \"font-size\": \"8px\",\n \"color\": \"#9598a7\"\n }\n }, [_vm._v(\"说明:进件接口权限勾选中,对应渠道具有请求该接口的权限\")])])], 1), _vm._v(\" \"), _c('el-button', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (_vm.isEdit),\n expression: \"isEdit\"\n }],\n staticClass: \"filter-item\",\n staticStyle: {\n \"margin-left\": \"80%\"\n },\n attrs: {\n \"type\": \"primary\",\n \"icon\": \"el-icon-search\"\n },\n on: {\n \"click\": _vm.saveApplyConf\n }\n }, [_vm._v(\"进件接口权限保存\\n \")])], 1)], 1), _vm._v(\" \"), _c('div', {\n staticClass: \"block—bodl\"\n }, [_c('el-card', {\n staticClass: \"box-card\"\n }, [_c('div', {\n attrs: {\n \"slot\": \"header\"\n },\n slot: \"header\"\n }, [_c('span', [_vm._v(\"回调配置\")])]), _vm._v(\" \"), _c('el-form', {\n staticStyle: {\n \"width\": \"92%\"\n },\n attrs: {\n \"size\": \"medium\"\n }\n }, [_c('el-form-item', {\n attrs: {\n \"label\": \"通知节点\",\n \"label-width\": \"15%\"\n }\n }, [_c('el-input', {\n attrs: {\n \"disabled\": !_vm.isEdit\n },\n model: {\n value: (_vm.channel.baseConfDetail.channelPubRsa),\n callback: function($$v) {\n _vm.$set(_vm.channel.baseConfDetail, \"channelPubRsa\", $$v)\n },\n expression: \"channel.baseConfDetail.channelPubRsa\"\n }\n })], 1), _vm._v(\" \"), _c('el-form-item', {\n attrs: {\n \"label\": \"通知顺序\",\n \"label-width\": \"15%\"\n }\n }, [_c('el-input', {\n attrs: {\n \"disabled\": !_vm.isEdit\n },\n model: {\n value: (_vm.channel.baseConfDetail.lhpPriRsa),\n callback: function($$v) {\n _vm.$set(_vm.channel.baseConfDetail, \"lhpPriRsa\", $$v)\n },\n expression: \"channel.baseConfDetail.lhpPriRsa\"\n }\n })], 1), _vm._v(\" \"), _c('el-form-item', {\n attrs: {\n \"label\": \"审批回调地址\",\n \"label-width\": \"15%\"\n }\n }, [_c('el-input', {\n attrs: {\n \"disabled\": !_vm.isEdit\n },\n model: {\n value: (_vm.channel.baseConfDetail.channelPubRsa),\n callback: function($$v) {\n _vm.$set(_vm.channel.baseConfDetail, \"channelPubRsa\", $$v)\n },\n expression: \"channel.baseConfDetail.channelPubRsa\"\n }\n })], 1), _vm._v(\" \"), _c('el-form-item', {\n attrs: {\n \"label\": \"订单状态回调地址\",\n \"label-width\": \"15%\"\n }\n }, [_c('el-input', {\n attrs: {\n \"disabled\": !_vm.isEdit\n },\n model: {\n value: (_vm.channel.baseConfDetail.lhpPriRsa),\n callback: function($$v) {\n _vm.$set(_vm.channel.baseConfDetail, \"lhpPriRsa\", $$v)\n },\n expression: \"channel.baseConfDetail.lhpPriRsa\"\n }\n })], 1), _vm._v(\" \"), _c('el-form-item', {\n attrs: {\n \"label\": \"还款计划回调地址\",\n \"label-width\": \"15%\"\n }\n }, [_c('el-input', {\n attrs: {\n \"disabled\": !_vm.isEdit\n },\n model: {\n value: (_vm.channel.baseConfDetail.lhpPubRsa),\n callback: function($$v) {\n _vm.$set(_vm.channel.baseConfDetail, \"lhpPubRsa\", $$v)\n },\n expression: \"channel.baseConfDetail.lhpPubRsa\"\n }\n })], 1)], 1), _vm._v(\" \"), _c('el-button', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (_vm.isEdit),\n expression: \"isEdit\"\n }],\n staticClass: \"filter-item\",\n staticStyle: {\n \"margin-left\": \"80%\"\n },\n attrs: {\n \"type\": \"primary\",\n \"icon\": \"el-icon-search\"\n },\n on: {\n \"click\": _vm.getChannels\n }\n }, [_vm._v(\"回调配置保存\\n \")])], 1)], 1), _vm._v(\" \"), _c('div', {\n staticClass: \"block—bodl\"\n }, [_c('el-card', {\n staticClass: \"box-card\"\n }, [_c('div', {\n attrs: {\n \"slot\": \"header\"\n },\n slot: \"header\"\n }, [_c('span', [_vm._v(\"Rsa配置\")])]), _vm._v(\" \"), _c('el-form', {\n staticStyle: {\n \"width\": \"92%\"\n },\n attrs: {\n \"size\": \"medium\"\n }\n }, [_c('el-form-item', {\n attrs: {\n \"label\": \"渠道Rsa公钥\",\n \"label-width\": \"12%\"\n }\n }, [_c('el-input', {\n attrs: {\n \"type\": \"textarea\",\n \"rows\": 4,\n \"disabled\": !_vm.isEdit\n },\n model: {\n value: (_vm.channel.baseConfDetail.channelPubRsa),\n callback: function($$v) {\n _vm.$set(_vm.channel.baseConfDetail, \"channelPubRsa\", $$v)\n },\n expression: \"channel.baseConfDetail.channelPubRsa\"\n }\n })], 1), _vm._v(\" \"), _c('el-form-item', {\n attrs: {\n \"label\": \"量化派Rsa私钥\",\n \"label-width\": \"12%\"\n }\n }, [_c('el-input', {\n attrs: {\n \"type\": \"textarea\",\n \"rows\": 5,\n \"disabled\": !_vm.isEdit\n },\n model: {\n value: (_vm.channel.baseConfDetail.lhpPriRsa),\n callback: function($$v) {\n _vm.$set(_vm.channel.baseConfDetail, \"lhpPriRsa\", $$v)\n },\n expression: \"channel.baseConfDetail.lhpPriRsa\"\n }\n })], 1), _vm._v(\" \"), _c('el-form-item', {\n attrs: {\n \"label\": \"量化派Rsa共钥\",\n \"label-width\": \"12%\"\n }\n }, [_c('el-input', {\n attrs: {\n \"type\": \"textarea\",\n \"rows\": 4,\n \"disabled\": !_vm.isEdit\n },\n model: {\n value: (_vm.channel.baseConfDetail.lhpPubRsa),\n callback: function($$v) {\n _vm.$set(_vm.channel.baseConfDetail, \"lhpPubRsa\", $$v)\n },\n expression: \"channel.baseConfDetail.lhpPubRsa\"\n }\n })], 1)], 1), _vm._v(\" \"), _c('el-button', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (_vm.isEdit),\n expression: \"isEdit\"\n }],\n staticClass: \"filter-item\",\n staticStyle: {\n \"margin-left\": \"80%\"\n },\n attrs: {\n \"type\": \"primary\",\n \"icon\": \"el-icon-search\"\n },\n on: {\n \"click\": _vm.getChannels\n }\n }, [_vm._v(\"Rsa配置保存\\n \")])], 1)], 1), _vm._v(\" \"), _c('div', {\n directives: [{\n name: \"show\",\n rawName: \"v-show\",\n value: (_vm.isEdit),\n expression: \"isEdit\"\n }],\n staticClass: \"block—bodl\"\n }, [_c('el-card', {\n staticClass: \"box-card\"\n }, [_c('div', {\n attrs: {\n \"slot\": \"header\"\n },\n slot: \"header\"\n }, [_c('span', [_vm._v(\"刷新缓存\")])]), _vm._v(\" \"), _c('el-button', {\n staticClass: \"filter-item\",\n staticStyle: {\n \"margin-left\": \"80%\"\n },\n attrs: {\n \"type\": \"primary\",\n \"icon\": \"el-icon-search\"\n },\n on: {\n \"click\": _vm.getChannels\n }\n }, [_vm._v(\"刷新内存缓存\\n \")])], 1)], 1)])])\n},staticRenderFns: [function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', [_c('span', {\n staticClass: \"navigation-page\"\n }, [_vm._v(\"位置:\")]), _c('span', {\n staticClass: \"navigation-page\"\n }, [_vm._v(\"KA渠道信息配置\")])])\n}]}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler.js?id=data-v-a73d5d10!./~/vue-loader/lib/selector.js?type=template&index=0!./src/modules/channels/index.vue\n// module id = 255\n// module chunks = 2"],"sourceRoot":""}
\ No newline at end of file
webpackJsonp([3],{
/***/ 201:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/**
* Created by lichb on 2017/3/20.
*/
/* harmony default export */ __webpack_exports__["default"] = ({
start() {
console.log('*********** I AM module-a ***********');
}
});
/***/ }),
/***/ 202:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/**
* Created by lichb on 2017/3/20.
*/
/* harmony default export */ __webpack_exports__["default"] = ({
start() {
console.log('*********** I AM module-b ***********');
}
});
/***/ }),
/***/ 203:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/**
* Created by lichb on 2017/3/20.
*/
/* harmony default export */ __webpack_exports__["default"] = ({
start() {
console.log('*********** I AM module-c ***********');
}
});
/***/ })
});
//# sourceMappingURL=3.d9f90dd.js.map
\ No newline at end of file
{"version":3,"sources":["webpack:///./src/modules/code-splitting-demo/module-a.js","webpack:///./src/modules/code-splitting-demo/module-b.js","webpack:///./src/modules/code-splitting-demo/module-c.js"],"names":["start","console","log"],"mappings":";;;;;;AAAA;AAAA;;;AAGe;AACbA,UAAO;AACLC,YAAQC,GAAR,CAAY,uCAAZ;AACD;AAHY,CAAf,E;;;;;;;;ACHA;AAAA;;;AAGe;AACbF,UAAO;AACLC,YAAQC,GAAR,CAAY,uCAAZ;AACD;AAHY,CAAf,E;;;;;;;;ACHA;AAAA;;;AAGe;AACbF,UAAO;AACLC,YAAQC,GAAR,CAAY,uCAAZ;AACD;AAHY,CAAf,E","file":"static/js/3.d9f90dd.js","sourcesContent":["/**\n * Created by lichb on 2017/3/20.\n */\nexport default {\n start(){\n console.log('*********** I AM module-a ***********');\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/modules/code-splitting-demo/module-a.js","/**\n * Created by lichb on 2017/3/20.\n */\nexport default {\n start(){\n console.log('*********** I AM module-b ***********');\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/modules/code-splitting-demo/module-b.js","/**\n * Created by lichb on 2017/3/20.\n */\nexport default {\n start(){\n console.log('*********** I AM module-c ***********');\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/modules/code-splitting-demo/module-c.js"],"sourceRoot":""}
\ No newline at end of file
webpackJsonp([4],{207:function(t,e,s){var n=s(86)(null,s(252),null,null);t.exports=n.exports},252:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement;t._self._c;return t._m(0)},staticRenderFns:[function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"height100"},[s("div",{staticClass:"home-section-wrap"},[s("div",{staticClass:"home-section-env"},[s("p",[t._v("内容段1")])])]),t._v(" "),s("div",{staticClass:"home-section-wrap home-section-wrap-bottom"},[s("div",{staticClass:"home-section-env"},[s("p",[t._v("内容段2")])])])])}]}}});
//# sourceMappingURL=4.9c82080.js.map
\ No newline at end of file
{"version":3,"sources":["webpack:///static/js/4.9c82080.js","webpack:///./src/modules/report/index.vue","webpack:///./src/modules/report/index.vue?ad50"],"names":["webpackJsonp","207","module","exports","__webpack_require__","Component","252","render","_vm","this","_h","$createElement","_self","_c","_m","staticRenderFns","staticClass","_v"],"mappings":"AAAAA,cAAc,IAERC,IACA,SAAUC,EAAQC,EAASC,GCHjC,GAAIC,GAAY,EAAQ,IAEtB,KAEA,EAAQ,KAER,KAEA,KAGFH,GAAOC,QAAUE,EAAUF,SDUrBG,IACA,SAAUJ,EAAQC,GEtBxBD,EAAOC,SAASI,OAAO,WAAY,GAAIC,GAAIC,KAASC,EAAGF,EAAIG,cAAsBH,GAAII,MAAMC,EACzF,OAAOL,GAAIM,GAAG,IACdC,iBAAkB,WAAY,GAAIP,GAAIC,KAASC,EAAGF,EAAIG,eAAmBE,EAAGL,EAAII,MAAMC,IAAIH,CAC1F,OAAOG,GAAG,OACRG,YAAa,cACXH,EAAG,OACLG,YAAa,sBACXH,EAAG,OACLG,YAAa,qBACXH,EAAG,KAAML,EAAIS,GAAG,cAAeT,EAAIS,GAAG,KAAMJ,EAAG,OACjDG,YAAa,+CACXH,EAAG,OACLG,YAAa,qBACXH,EAAG,KAAML,EAAIS,GAAG","file":"static/js/4.9c82080.js","sourcesContent":["webpackJsonp([4],{\n\n/***/ 207:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(86)(\n /* script */\n null,\n /* template */\n __webpack_require__(252),\n /* scopeId */\n null,\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n\n/***/ 252:\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _vm._m(0)\n},staticRenderFns: [function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n staticClass: \"height100\"\n }, [_c('div', {\n staticClass: \"home-section-wrap\"\n }, [_c('div', {\n staticClass: \"home-section-env\"\n }, [_c('p', [_vm._v(\"内容段1\")])])]), _vm._v(\" \"), _c('div', {\n staticClass: \"home-section-wrap home-section-wrap-bottom\"\n }, [_c('div', {\n staticClass: \"home-section-env\"\n }, [_c('p', [_vm._v(\"内容段2\")])])])])\n}]}\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/4.9c82080.js","var Component = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")(\n /* script */\n null,\n /* template */\n require(\"!!../../../node_modules/vue-loader/lib/template-compiler?id=data-v-4831551c!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./index.vue\"),\n /* scopeId */\n null,\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/modules/report/index.vue\n// module id = 207\n// module chunks = 4","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _vm._m(0)\n},staticRenderFns: [function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n staticClass: \"height100\"\n }, [_c('div', {\n staticClass: \"home-section-wrap\"\n }, [_c('div', {\n staticClass: \"home-section-env\"\n }, [_c('p', [_vm._v(\"内容段1\")])])]), _vm._v(\" \"), _c('div', {\n staticClass: \"home-section-wrap home-section-wrap-bottom\"\n }, [_c('div', {\n staticClass: \"home-section-env\"\n }, [_c('p', [_vm._v(\"内容段2\")])])])])\n}]}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler.js?id=data-v-4831551c!./~/vue-loader/lib/selector.js?type=template&index=0!./src/modules/report/index.vue\n// module id = 252\n// module chunks = 4"],"sourceRoot":""}
\ No newline at end of file
webpackJsonp([5],{206:function(t,e,s){var n=s(86)(null,s(254),null,null);t.exports=n.exports},254:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement;t._self._c;return t._m(0)},staticRenderFns:[function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"height100"},[s("div",{staticClass:"home-section-wrap"},[s("div",{staticClass:"home-section-env"},[s("p",[t._v("内容段1")])])]),t._v(" "),s("div",{staticClass:"home-section-wrap home-section-wrap-bottom"},[s("div",{staticClass:"home-section-env"},[s("p",[t._v("内容段2")])])])])}]}}});
//# sourceMappingURL=5.cc09188.js.map
\ No newline at end of file
{"version":3,"sources":["webpack:///static/js/5.cc09188.js","webpack:///./src/modules/matebase/index.vue","webpack:///./src/modules/matebase/index.vue?28ec"],"names":["webpackJsonp","206","module","exports","__webpack_require__","Component","254","render","_vm","this","_h","$createElement","_self","_c","_m","staticRenderFns","staticClass","_v"],"mappings":"AAAAA,cAAc,IAERC,IACA,SAAUC,EAAQC,EAASC,GCHjC,GAAIC,GAAY,EAAQ,IAEtB,KAEA,EAAQ,KAER,KAEA,KAGFH,GAAOC,QAAUE,EAAUF,SDUrBG,IACA,SAAUJ,EAAQC,GEtBxBD,EAAOC,SAASI,OAAO,WAAY,GAAIC,GAAIC,KAASC,EAAGF,EAAIG,cAAsBH,GAAII,MAAMC,EACzF,OAAOL,GAAIM,GAAG,IACdC,iBAAkB,WAAY,GAAIP,GAAIC,KAASC,EAAGF,EAAIG,eAAmBE,EAAGL,EAAII,MAAMC,IAAIH,CAC1F,OAAOG,GAAG,OACRG,YAAa,cACXH,EAAG,OACLG,YAAa,sBACXH,EAAG,OACLG,YAAa,qBACXH,EAAG,KAAML,EAAIS,GAAG,cAAeT,EAAIS,GAAG,KAAMJ,EAAG,OACjDG,YAAa,+CACXH,EAAG,OACLG,YAAa,qBACXH,EAAG,KAAML,EAAIS,GAAG","file":"static/js/5.cc09188.js","sourcesContent":["webpackJsonp([5],{\n\n/***/ 206:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Component = __webpack_require__(86)(\n /* script */\n null,\n /* template */\n __webpack_require__(254),\n /* scopeId */\n null,\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n/***/ }),\n\n/***/ 254:\n/***/ (function(module, exports) {\n\nmodule.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _vm._m(0)\n},staticRenderFns: [function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n staticClass: \"height100\"\n }, [_c('div', {\n staticClass: \"home-section-wrap\"\n }, [_c('div', {\n staticClass: \"home-section-env\"\n }, [_c('p', [_vm._v(\"内容段1\")])])]), _vm._v(\" \"), _c('div', {\n staticClass: \"home-section-wrap home-section-wrap-bottom\"\n }, [_c('div', {\n staticClass: \"home-section-env\"\n }, [_c('p', [_vm._v(\"内容段2\")])])])])\n}]}\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// static/js/5.cc09188.js","var Component = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")(\n /* script */\n null,\n /* template */\n require(\"!!../../../node_modules/vue-loader/lib/template-compiler?id=data-v-7b74017e!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./index.vue\"),\n /* scopeId */\n null,\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/modules/matebase/index.vue\n// module id = 206\n// module chunks = 5","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _vm._m(0)\n},staticRenderFns: [function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n staticClass: \"height100\"\n }, [_c('div', {\n staticClass: \"home-section-wrap\"\n }, [_c('div', {\n staticClass: \"home-section-env\"\n }, [_c('p', [_vm._v(\"内容段1\")])])]), _vm._v(\" \"), _c('div', {\n staticClass: \"home-section-wrap home-section-wrap-bottom\"\n }, [_c('div', {\n staticClass: \"home-section-env\"\n }, [_c('p', [_vm._v(\"内容段2\")])])])])\n}]}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler.js?id=data-v-7b74017e!./~/vue-loader/lib/selector.js?type=template&index=0!./src/modules/matebase/index.vue\n// module id = 254\n// module chunks = 5"],"sourceRoot":""}
\ No newline at end of file
webpackJsonp([7],{
/***/ 128:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_request__ = __webpack_require__(49);
/**
* Created by lichb on 2017/2/9.
*/
/* harmony default export */ __webpack_exports__["a"] = ({
getTokens(name, pass) {
return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__utils_request__["a" /* default */])({
url: 'login',
method: 'post',
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
params: {
username: name,
password: pass
}
});
}
});
/***/ }),
/***/ 129:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export (immutable) */ __webpack_exports__["a"] = getUserLoginInfo;
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_request__ = __webpack_require__(49);
function getUserLoginInfo(token) {
console.log("getUserLoginInfo");
return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__utils_request__["a" /* default */])({
url: 'login/user/info',
method: 'get',
params: { token }
});
}
/***/ }),
/***/ 130:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(2);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_vue__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__store__ = __webpack_require__(48);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vue_router__ = __webpack_require__(85);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_element_ui__ = __webpack_require__(17);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_element_ui___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_element_ui__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_element_ui_lib_theme_default_index_css__ = __webpack_require__(81);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_element_ui_lib_theme_default_index_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_element_ui_lib_theme_default_index_css__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__css_common_css__ = __webpack_require__(82);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__css_common_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5__css_common_css__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__css_iconfont_css__ = __webpack_require__(83);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__css_iconfont_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6__css_iconfont_css__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__config_routes__ = __webpack_require__(79);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__App__ = __webpack_require__(84);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__App___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8__App__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__modules_code_splitting_demo__ = __webpack_require__(80);
// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
__WEBPACK_IMPORTED_MODULE_0_vue___default.a.use(__WEBPACK_IMPORTED_MODULE_2_vue_router__["a" /* default */]); //路由注册
__WEBPACK_IMPORTED_MODULE_0_vue___default.a.use(__WEBPACK_IMPORTED_MODULE_3_element_ui___default.a); //UI框架注册
const router = new __WEBPACK_IMPORTED_MODULE_2_vue_router__["a" /* default */]({
routes: __WEBPACK_IMPORTED_MODULE_7__config_routes__["a" /* default */]
});
router.beforeEach(({ meta, path }, from, next) => {
let { auth = true } = meta;
let isLogin = Boolean(__WEBPACK_IMPORTED_MODULE_1__store__["a" /* default */].state.login.tokens != ''); //true用户已登录, false用户未登录
if (auth && !isLogin && path !== '/login') {
return next({ path: '/login' });
}
if (isLogin && (path == '/login' || path == '/')) {
//已登录过,则跳转到主页
__WEBPACK_IMPORTED_MODULE_1__store__["a" /* default */].dispatch('GetInfo');
return next({ path: '/home/channels' });
}
next();
});
//mock.start() //启动ajax mock服务
__WEBPACK_IMPORTED_MODULE_9__modules_code_splitting_demo__["a" /* default */].start(); //demo:运行webpack2 code splitting示例
new __WEBPACK_IMPORTED_MODULE_0_vue___default.a({
el: '#app',
router,
store: __WEBPACK_IMPORTED_MODULE_1__store__["a" /* default */],
render: h => h(__WEBPACK_IMPORTED_MODULE_8__App___default.a)
});
/***/ }),
/***/ 131:
/***/ (function(module, exports) {
/**
* Created by lichb on 2017/2/7.
*/
/***/ }),
/***/ 132:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
const getters = {
tokens: state => state.login.tokens,
username: state => state.login.username
};
/* harmony default export */ __webpack_exports__["a"] = (getters);
/***/ }),
/***/ 133:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__mutation_types__ = __webpack_require__(19);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__apis_tokens__ = __webpack_require__(128);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__apis_user__ = __webpack_require__(129);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_auth__ = __webpack_require__(137);
/**
* Created by lichb on 2017/2/7.
*/
const login = {
state: {
tokens: '',
username: '',
roles: []
},
mutations: {
[__WEBPACK_IMPORTED_MODULE_0__mutation_types__["a" /* LOGIN_IN */]](state, data) {
if (data) {
console.log(data);
state.tokens = data.toke;
state.username = data.username;
}
},
[__WEBPACK_IMPORTED_MODULE_0__mutation_types__["b" /* LOGIN_OUT */]](state) {
state.tokens = '';
},
SET_USER_INFO: (state, data) => {
if (data) {
state.tokens = data.toke;
state.username = data.username;
}
}
},
actions: {
login({ commit, state }, user) {
// tokens.getTokens(user.name, user.pass).then((data) => {
__WEBPACK_IMPORTED_MODULE_1__apis_tokens__["a" /* default */].getTokens(user.username, user.password).then(data => {
//success
commit(__WEBPACK_IMPORTED_MODULE_0__mutation_types__["a" /* LOGIN_IN */], data.data);
__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__utils_auth__["a" /* setToken */])(data.data.toke);
}, error => {
//fail
commit(__WEBPACK_IMPORTED_MODULE_0__mutation_types__["a" /* LOGIN_IN */], '');
__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__utils_auth__["b" /* removeToken */])();
});
},
// 获取用户信息
GetInfo({ commit, state }) {
return new Promise((resolve, reject) => {
__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__apis_user__["a" /* getUserLoginInfo */])(__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__utils_auth__["c" /* getToken */])()).then(response => {
const data = response.data;
// data.roles = data.rank.indexOf('CHANNEL') !== -1 ? ['channel'] : ['operator']
// if (data.roleInfo.roleInfos && data.roleInfo.roleInfos[0] && data.roleInfo.roleInfos[0].roleId === 1) {
// data.roles.push('admin')
// }
// if (data.roles && data.roles.length > 0) {
// // commit('SET_ROLES', data.roles)
// } else {
// reject('getInfo: roles must be a non-null array !')
// }
commit('SET_USER_INFO', data);
resolve(response);
}).catch(error => {
reject(error);
});
});
},
logout({ commit }) {
console.log("logoput");
commit(__WEBPACK_IMPORTED_MODULE_0__mutation_types__["b" /* LOGIN_OUT */]);
__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__utils_auth__["b" /* removeToken */])();
}
}
//export
};/* harmony default export */ __webpack_exports__["a"] = (login);
/***/ }),
/***/ 134:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__mutation_types__ = __webpack_require__(19);
/**
* Created by lichb on 2017/2/7.
*/
// initial state
const state = {
isFold: false
// getters
};const getters = {
menuIsFold: state => state.isFold
//actions
};const actions = {
toggleMenu({ commit }) {
commit(__WEBPACK_IMPORTED_MODULE_0__mutation_types__["d" /* TOGGLE_MAIN_MENU */]);
}
};
//mutations
const mutations = {
[__WEBPACK_IMPORTED_MODULE_0__mutation_types__["d" /* TOGGLE_MAIN_MENU */]](state) {
state.isFold = !state.isFold;
}
};
//export
/* harmony default export */ __webpack_exports__["a"] = ({
state,
getters,
actions,
mutations
});
/***/ }),
/***/ 135:
/***/ (function(module, exports) {
/**
* Created by lichb on 2017/2/7.
*/
/***/ }),
/***/ 136:
/***/ (function(module, exports) {
/**
* Created by lichb on 2017/2/8.
*/
/***/ }),
/***/ 137:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export (immutable) */ __webpack_exports__["c"] = getToken;
/* harmony export (immutable) */ __webpack_exports__["a"] = setToken;
/* harmony export (immutable) */ __webpack_exports__["b"] = removeToken;
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_js_cookie__ = __webpack_require__(47);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_js_cookie___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_js_cookie__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__store_mutation_types__ = __webpack_require__(19);
function getToken() {
return __WEBPACK_IMPORTED_MODULE_0_js_cookie___default.a.get(__WEBPACK_IMPORTED_MODULE_1__store_mutation_types__["c" /* SESSION_ID_KEY */]);
}
function setToken(token) {
return __WEBPACK_IMPORTED_MODULE_0_js_cookie___default.a.set(__WEBPACK_IMPORTED_MODULE_1__store_mutation_types__["c" /* SESSION_ID_KEY */], token, { expires: 7, path: '' });
}
function removeToken() {
return __WEBPACK_IMPORTED_MODULE_0_js_cookie___default.a.remove(__WEBPACK_IMPORTED_MODULE_1__store_mutation_types__["c" /* SESSION_ID_KEY */]);
}
/***/ }),
/***/ 138:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_element_ui__ = __webpack_require__(17);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_element_ui___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_element_ui__);
let loadingCount = 0;
let loading;
const startLoading = () => {
loading = __WEBPACK_IMPORTED_MODULE_0_element_ui__["Loading"].service({
fullscreen: true,
lock: true,
text: '加载中...',
spinner: 'el-icon-loading',
background: 'rgba(184,184,184,0.79)'
});
};
const endLoading = () => {
loading.close();
};
const showLoading = () => {
if (loadingCount === 0) {
startLoading();
}
loadingCount += 1;
};
/* harmony export (immutable) */ __webpack_exports__["a"] = showLoading;
const hideLoading = () => {
if (loadingCount <= 0) {
return;
}
loadingCount -= 1;
if (loadingCount === 0) {
endLoading();
}
};
/* harmony export (immutable) */ __webpack_exports__["b"] = hideLoading;
/***/ }),
/***/ 19:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/**
* Created by lichb on 2017/2/7.
*/
//菜单折叠
const TOGGLE_MAIN_MENU = 'menu/TOGGLE_MAIN_MENU';
/* harmony export (immutable) */ __webpack_exports__["d"] = TOGGLE_MAIN_MENU;
//登录
const LOGIN_IN = 'login/LOGIN_IN';
/* harmony export (immutable) */ __webpack_exports__["a"] = LOGIN_IN;
const LOGIN_OUT = 'login/LOGIN_OUT';
/* harmony export (immutable) */ __webpack_exports__["b"] = LOGIN_OUT;
const SESSION_ID_KEY = 'kmSessionId';
/* harmony export (immutable) */ __webpack_exports__["c"] = SESSION_ID_KEY;
/***/ }),
/***/ 193:
/***/ (function(module, exports) {
module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;
return _c('transition', {
attrs: {
"name": "app"
}
}, [_c('router-view')], 1)
},staticRenderFns: []}
/***/ }),
/***/ 48:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(2);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_vue__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vuex__ = __webpack_require__(87);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vuex_dist_logger__ = __webpack_require__(197);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vuex_dist_logger___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_vuex_dist_logger__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vuex_persistedstate__ = __webpack_require__(196);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vuex_persistedstate___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_vuex_persistedstate__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_js_cookie__ = __webpack_require__(47);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_js_cookie___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_js_cookie__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__state__ = __webpack_require__(136);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__state___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5__state__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__mutations__ = __webpack_require__(135);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__mutations___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6__mutations__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__actions__ = __webpack_require__(131);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__actions___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7__actions__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__getters__ = __webpack_require__(132);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__modules_menu__ = __webpack_require__(134);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__modules_login__ = __webpack_require__(133);
/**
* Created by lichb on 2017/2/7.
*/
//vuex持久化localstorage插件
__WEBPACK_IMPORTED_MODULE_0_vue___default.a.use(__WEBPACK_IMPORTED_MODULE_1_vuex__["a" /* default */]);
const debug = "production" !== 'production';
let persistedState = {
paths: ['login.tokens'],
getState: key => __WEBPACK_IMPORTED_MODULE_4_js_cookie__["getJSON"](key),
setState: (key, state) => __WEBPACK_IMPORTED_MODULE_4_js_cookie__["set"](key, state, { expires: 3 }) //expires->cookie过期时间,单位为天
};
const store = new __WEBPACK_IMPORTED_MODULE_1_vuex__["a" /* default */].Store({
state: __WEBPACK_IMPORTED_MODULE_5__state__,
mutations: __WEBPACK_IMPORTED_MODULE_6__mutations__,
actions: __WEBPACK_IMPORTED_MODULE_7__actions__,
getters: __WEBPACK_IMPORTED_MODULE_8__getters__["a" /* default */],
modules: {
menu: __WEBPACK_IMPORTED_MODULE_9__modules_menu__["a" /* default */],
login: __WEBPACK_IMPORTED_MODULE_10__modules_login__["a" /* default */]
},
strict: debug,
plugins: debug ? [__WEBPACK_IMPORTED_MODULE_2_vuex_dist_logger___default()(), __WEBPACK_IMPORTED_MODULE_3_vuex_persistedstate___default()(persistedState)] : [__WEBPACK_IMPORTED_MODULE_3_vuex_persistedstate___default()(persistedState)]
});
/* harmony default export */ __webpack_exports__["a"] = (store);
/***/ }),
/***/ 49:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_axios__ = __webpack_require__(110);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_axios___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_axios__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_element_ui__ = __webpack_require__(17);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_element_ui___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_element_ui__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__store__ = __webpack_require__(48);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__loading__ = __webpack_require__(138);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_js_cookie__ = __webpack_require__(47);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_js_cookie___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_js_cookie__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__store_mutation_types__ = __webpack_require__(19);
// import * as getters from "../store/getters";
// 创建axios实例
const service = __WEBPACK_IMPORTED_MODULE_0_axios___default.a.create({
withCredentials: true,
baseURL: __webpack_require__.i({"NODE_ENV":"production"}).BASE_API, // api 的 base_url
timeout: 1000 * 10 // 请求超时时间
});
// request拦截器
service.interceptors.request.use(config => {
const url = __webpack_require__.i({"NODE_ENV":"production"}).BASE_API;
//config.url = config.url
// console.log(this.$store.getters)
config.headers['ka_token'] = __WEBPACK_IMPORTED_MODULE_4_js_cookie___default.a.get(__WEBPACK_IMPORTED_MODULE_5__store_mutation_types__["c" /* SESSION_ID_KEY */]);
return config;
}, error => {
// Do something with request error
console.log(error); // for debug
Promise.reject(error);
});
// response 拦截器
service.interceptors.response.use(
// response => response.data,
response => {
/**
* code为非20000是抛错 可结合自己业务进行修改
*/
const res = response.data;
if (typeof res.code === 'number' && res.code !== 200000 || typeof res.code === 'string' && res.code !== '0000') {
if (res.code === 500003 || res.code === 500006 || res.code === 500007) {
__WEBPACK_IMPORTED_MODULE_1_element_ui__["MessageBox"].confirm('你已被登出,可以取消继续留在该页面,或者重新登录', '确定登出', {
confirmButtonText: '重新登录',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
__WEBPACK_IMPORTED_MODULE_2__store__["a" /* default */].dispatch('logout').then(() => {
location.reload(); // 为了重新实例化vue-router对象 避免bug
});
}).catch(() => {});
} else if (res.code === 500006) {
__WEBPACK_IMPORTED_MODULE_2__store__["a" /* default */].dispatch('logout').then(() => {
__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1_element_ui__["Message"])({
message: res.message,
type: 'error',
duration: 2 * 1000,
onClose() {
location.replace(`${location.protocol}//${location.host}/login`);
}
});
});
} else {
__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1_element_ui__["Message"])({
message: res.message,
type: 'error',
duration: 3 * 1000
});
}
return Promise.reject(res.message || 'responseInterceptorsError');
} else {
return response.data;
}
}, error => {
//console.log('err' + error) // for debug
__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1_element_ui__["Message"])({
message: error.message,
type: 'error',
duration: 5 * 1000
});
return Promise.reject(error);
});
/* 请求拦截器(请求之前的操作) */
service.interceptors.request.use(req => {
__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__loading__["a" /* showLoading */])();
return req;
}, err => Promise.reject(err));
/* 请求之后的操作 */
service.interceptors.response.use(res => {
__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__loading__["b" /* hideLoading */])();
return res;
}, err => {
__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__loading__["b" /* hideLoading */])();
return Promise.reject(err);
});
/* harmony default export */ __webpack_exports__["a"] = (service);
/***/ }),
/***/ 79:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/**
* Created by lichb on 2017/1/24.
*/
/**
* auth true登录才能访问,false不需要登录,默认true
*/
/* harmony default export */ __webpack_exports__["a"] = ([{
path: '/',
meta: { auth: false },
component: resolve => __webpack_require__.e/* require */(0).then(function() { var __WEBPACK_AMD_REQUIRE_ARRAY__ = [__webpack_require__(50)]; (resolve.apply(null, __WEBPACK_AMD_REQUIRE_ARRAY__));}.bind(this)).catch(__webpack_require__.oe)
}, {
path: '/login',
meta: { auth: false },
component: resolve => __webpack_require__.e/* require */(0/* duplicate */).then(function() { var __WEBPACK_AMD_REQUIRE_ARRAY__ = [__webpack_require__(50)]; (resolve.apply(null, __WEBPACK_AMD_REQUIRE_ARRAY__));}.bind(this)).catch(__webpack_require__.oe)
}, {
path: '/home',
meta: { auth: true },
component: resolve => __webpack_require__.e/* require */(1).then(function() { var __WEBPACK_AMD_REQUIRE_ARRAY__ = [__webpack_require__(205)]; (resolve.apply(null, __WEBPACK_AMD_REQUIRE_ARRAY__));}.bind(this)).catch(__webpack_require__.oe),
children: [{
path: 'channels',
component: resolve => __webpack_require__.e/* require */(2).then(function() { var __WEBPACK_AMD_REQUIRE_ARRAY__ = [__webpack_require__(204)]; (resolve.apply(null, __WEBPACK_AMD_REQUIRE_ARRAY__));}.bind(this)).catch(__webpack_require__.oe),
meta: { auth: true, icon: 'form' }
}, {
path: 'report',
meta: { auth: true },
component: resolve => __webpack_require__.e/* require */(4).then(function() { var __WEBPACK_AMD_REQUIRE_ARRAY__ = [__webpack_require__(207)]; (resolve.apply(null, __WEBPACK_AMD_REQUIRE_ARRAY__));}.bind(this)).catch(__webpack_require__.oe)
}, {
path: 'matebase',
meta: { auth: true },
component: resolve => __webpack_require__.e/* require */(5).then(function() { var __WEBPACK_AMD_REQUIRE_ARRAY__ = [__webpack_require__(206)]; (resolve.apply(null, __WEBPACK_AMD_REQUIRE_ARRAY__));}.bind(this)).catch(__webpack_require__.oe)
}]
}, {
path: '*',
meta: { auth: false },
component: resolve => __webpack_require__.e/* require */(0/* duplicate */).then(function() { var __WEBPACK_AMD_REQUIRE_ARRAY__ = [__webpack_require__(50)]; (resolve.apply(null, __WEBPACK_AMD_REQUIRE_ARRAY__));}.bind(this)).catch(__webpack_require__.oe)
}]);
/***/ }),
/***/ 80:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/**
* Created by lichb on 2017/3/20.
*
*/
/* harmony default export */ __webpack_exports__["a"] = ({
/**
* webpack的code spliting(Using require.ensure)功能可以将require.ensure及其回调内依赖的包合并到一个独立的模块(chunk)中,
* 并且webpack使用jsonp对这个模块进行异步静默加载
* @好处:在中大型项目中,避免合并后的文件过大;此外,也有利于优化项目的资源加载速度
* @结果:此处module-a.js,module-b.js,module-c.js将被打包到一个独立的chunk中。可以通过 npm run build查看打包结果。
*/
start() {
console.log('webpack2 code splitting demo(Using require.ensure) start...');
__webpack_require__.e/* require.ensure */(3).then((function (require) {
__webpack_require__(203);
console.log('webpack2 code splitting demo(Using require.ensure) end!');
}).bind(null, __webpack_require__)).catch(__webpack_require__.oe);
}
});
/***/ }),
/***/ 81:
/***/ (function(module, exports) {
// removed by extract-text-webpack-plugin
/***/ }),
/***/ 82:
/***/ (function(module, exports) {
// removed by extract-text-webpack-plugin
/***/ }),
/***/ 83:
/***/ (function(module, exports) {
// removed by extract-text-webpack-plugin
/***/ }),
/***/ 84:
/***/ (function(module, exports, __webpack_require__) {
var Component = __webpack_require__(86)(
/* script */
null,
/* template */
__webpack_require__(193),
/* scopeId */
null,
/* cssModules */
null
)
module.exports = Component.exports
/***/ })
},[130]);
//# sourceMappingURL=app.965b06e.js.map
\ No newline at end of file
{"version":3,"sources":["webpack:///./src/apis/tokens.js","webpack:///./src/apis/user.js","webpack:///./src/main.js","webpack:///./src/store/actions.js","webpack:///./src/store/getters.js","webpack:///./src/store/modules/login.js","webpack:///./src/store/modules/menu.js","webpack:///./src/store/mutations.js","webpack:///./src/store/state.js","webpack:///./src/utils/auth.js","webpack:///./src/utils/loading.js","webpack:///./src/store/mutation-types.js","webpack:///./src/App.vue?7704","webpack:///./src/store/index.js","webpack:///./src/utils/request.js","webpack:///./src/config/routes.js","webpack:///./src/modules/code-splitting-demo/index.js","webpack:///./~/element-ui/lib/theme-default/index.css?9c8e","webpack:///./src/css/common.css?f6b5","webpack:///./src/css/iconfont.css?907f","webpack:///./src/App.vue"],"names":["getTokens","name","pass","request","url","method","headers","params","username","password","getUserLoginInfo","token","console","log","Vue","use","VueRouter","ElementUI","router","routes","beforeEach","meta","path","from","next","auth","isLogin","Boolean","store","state","login","tokens","dispatch","splitting","start","el","render","h","App","getters","roles","mutations","LOGIN_IN","data","toke","LOGIN_OUT","SET_USER_INFO","actions","commit","user","then","setToken","error","removeToken","GetInfo","Promise","resolve","reject","getToken","response","catch","logout","isFold","menuIsFold","toggleMenu","TOGGLE_MAIN_MENU","Cookies","get","SESSION_ID_KEY","set","expires","remove","loadingCount","loading","startLoading","Loading","service","fullscreen","lock","text","spinner","background","endLoading","close","showLoading","hideLoading","Vuex","debug","process","persistedState","paths","getState","key","setState","Store","modules","menu","strict","plugins","createLogger","createPersistedState","axios","create","withCredentials","baseURL","BASE_API","timeout","interceptors","config","res","code","MessageBox","confirm","confirmButtonText","cancelButtonText","type","location","reload","Message","message","duration","onClose","replace","protocol","host","req","err","component","require","children","icon"],"mappings":";;;;;;AAAA;AAAA;;;AAGA;;AAEe;AACbA,YAAUC,IAAV,EAAgBC,IAAhB,EAAqB;AACnB,WAAOC,sFAAOA,CAAC;AACbC,WAAI,OADS;AAEbC,cAAQ,MAFK;AAGbC,eAAS;AACP,wBAAgB;AADT,OAHI;AAMbC,cAAQ;AACNC,kBAAUP,IADJ;AAENQ,kBAAUP;AAFJ;AANK,KAAR,CAAP;AAWD;AAbY,CAAf,E;;;;;;;;ACLA;AAAA;AAAA;;AAGO,SAASQ,gBAAT,CAA0BC,KAA1B,EAAiC;AACtCC,UAAQC,GAAR,CAAY,kBAAZ;AACA,SAAOV,sFAAOA,CAAC;AACbC,SAAK,iBADQ;AAEbC,YAAQ,KAFK;AAGbE,YAAQ,EAAEI,KAAF;AAHK,GAAR,CAAP;AAKD,C;;;;;;;;ACVD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAGAG,2CAAGA,CAACC,GAAJ,CAAQC,2DAAR,E,CAAmB;AACnBF,2CAAGA,CAACC,GAAJ,CAAQE,kDAAR,E,CAAmB;;AAEnB,MAAMC,SAAS,IAAIF,2DAAJ,CAAc;AAC3BG,yEAAMA;AADqB,CAAd,CAAf;;AAIAD,OAAOE,UAAP,CAAkB,CAAC,EAACC,IAAD,EAAOC,IAAP,EAAD,EAAeC,IAAf,EAAqBC,IAArB,KAA8B;AAC9C,MAAI,EAACC,OAAO,IAAR,KAAgBJ,IAApB;AACA,MAAIK,UAAUC,QAAQC,uDAAKA,CAACC,KAAN,CAAYC,KAAZ,CAAkBC,MAAlB,IAA4B,EAApC,CAAd,CAF8C,CAEQ;;AAEtD,MAAIN,QAAQ,CAACC,OAAT,IAAoBJ,SAAS,QAAjC,EAA2C;AACzC,WAAOE,KAAK,EAACF,MAAM,QAAP,EAAL,CAAP;AACD;;AAED,MAAII,YAAYJ,QAAQ,QAAR,IAAoBA,QAAQ,GAAxC,CAAJ,EAAkD;AAAE;AAClDM,2DAAKA,CAACI,QAAN,CAAe,SAAf;AACA,WAAOR,KAAK,EAACF,MAAM,gBAAP,EAAL,CAAP;AACD;;AAEDE;AACD,CAdD;;AAgBA;;AAEAS,6EAASA,CAACC,KAAV,G,CAAkB;;AAElB,IAAIpB,2CAAJ,CAAQ;AACNqB,MAAI,MADE;AAENjB,QAFM;AAGNU,gEAHM;AAINQ,UAAQC,KAAKA,EAAEC,4CAAF;AAJP,CAAR,E;;;;;;;AC1CA;;;;;;;;;;ACAA,MAAMC,UAAU;AACdR,UAAQF,SAASA,MAAMC,KAAN,CAAYC,MADf;AAEdvB,YAAUqB,SAASA,MAAMC,KAAN,CAAYtB;AAFjB,CAAhB;AAIe+B,gEAAf,E;;;;;;;;ACJA;AAAA;AAAA;AAAA;AAAA;;;AAGA;AACA;AACA;AACA;;AAEA,MAAMT,QAAQ;AACZD,SAAO;AACLE,YAAQ,EADH;AAELvB,cAAU,EAFL;AAGLgC,WAAO;AAHF,GADK;AAMZC,aAAW;AACT,KAACC,iEAAD,EAAWb,KAAX,EAAkBc,IAAlB,EAAwB;AACtB,UAAIA,IAAJ,EAAU;AACR/B,gBAAQC,GAAR,CAAY8B,IAAZ;AACAd,cAAME,MAAN,GAAeY,KAAKC,IAApB;AACAf,cAAMrB,QAAN,GAAiBmC,KAAKnC,QAAtB;AACD;AACF,KAPQ;AAQT,KAACqC,kEAAD,EAAYhB,KAAZ,EAAmB;AACjBA,YAAME,MAAN,GAAe,EAAf;AACD,KAVQ;AAWTe,mBAAgB,CAACjB,KAAD,EAAQc,IAAR,KAAiB;AAC/B,UAAIA,IAAJ,EAAU;AACRd,cAAME,MAAN,GAAeY,KAAKC,IAApB;AACAf,cAAMrB,QAAN,GAAiBmC,KAAKnC,QAAtB;AACD;AACF;AAhBQ,GANC;AAwBZuC,WAAS;AACPjB,UAAM,EAACkB,MAAD,EAASnB,KAAT,EAAN,EAAuBoB,IAAvB,EAA6B;AAC3B;AACAlB,mEAAMA,CAAC/B,SAAP,CAAiBiD,KAAKzC,QAAtB,EAAgCyC,KAAKxC,QAArC,EAA+CyC,IAA/C,CAAqDP,IAAD,IAAU;AAC5D;AACAK,eAAON,iEAAP,EAAiBC,KAAKA,IAAtB;AACAQ,4FAAQA,CAACR,KAAKA,IAAL,CAAUC,IAAnB;AACD,OAJD,EAIIQ,KAAD,IAAW;AACZ;AACAJ,eAAON,iEAAP,EAAiB,EAAjB;AACAW,+FAAWA;AACZ,OARD;AASD,KAZM;AAaP;AACAC,YAAQ,EAAEN,MAAF,EAAUnB,KAAV,EAAR,EAA2B;AACzB,aAAO,IAAI0B,OAAJ,CAAY,CAACC,OAAD,EAAUC,MAAV,KAAqB;AACtC/C,mGAAgBA,CAACgD,oFAAQA,EAAzB,EAA6BR,IAA7B,CAAkCS,YAAY;AAC5C,gBAAMhB,OAAOgB,SAAShB,IAAtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAK,iBAAO,eAAP,EAAwBL,IAAxB;AACAa,kBAAQG,QAAR;AACD,SAbD,EAaGC,KAbH,CAaSR,SAAS;AAChBK,iBAAOL,KAAP;AACD,SAfD;AAgBD,OAjBM,CAAP;AAkBD,KAjCM;AAkCPS,WAAO,EAACb,MAAD,EAAP,EAAiB;AACfpC,cAAQC,GAAR,CAAY,SAAZ;AACAmC,aAAOH,kEAAP;AACAQ,6FAAWA;AACZ;AAtCM;;AA0CX;AAlEc,CAAd,CAmEevB,8DAAf,E;;;;;;;;AC3EA;AAAA;;;AAGA;;AAGA;AACA,MAAMD,QAAQ;AACZiC,UAAQ;;AAGV;AAJc,CAAd,CAKA,MAAMvB,UAAU;AACdwB,cAAYlC,SAASA,MAAMiC;;AAG7B;AAJgB,CAAhB,CAKA,MAAMf,UAAU;AACdiB,aAAW,EAAChB,MAAD,EAAX,EAAoB;AAClBA,WAAOiB,yEAAP;AACD;AAHa,CAAhB;;AAMA;AACA,MAAMxB,YAAY;AAChB,GAACwB,yEAAD,EAAoBpC,KAApB,EAA2B;AACzBA,UAAMiC,MAAN,GAAe,CAACjC,MAAMiC,MAAtB;AACD;AAHe,CAAlB;;AAMA;AACe;AACbjC,OADa;AAEbU,SAFa;AAGbQ,SAHa;AAIbN;AAJa,CAAf,E;;;;;;;AC/BA;;;;;;;;;ACAA;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAEA;;AAEO,SAASiB,QAAT,GAAoB;AACzB,SAAOQ,iDAAOA,CAACC,GAAR,CAAYC,6EAAZ,CAAP;AACD;;AAEM,SAASjB,QAAT,CAAkBxC,KAAlB,EAAyB;AAC9B,SAAOuD,iDAAOA,CAACG,GAAR,CAAYD,6EAAZ,EAA4BzD,KAA5B,EAAmC,EAAE2D,SAAS,CAAX,EAAchD,MAAM,EAApB,EAAnC,CAAP;AACD;;AAEM,SAAS+B,WAAT,GAAuB;AAC5B,SAAOa,iDAAOA,CAACK,MAAR,CAAeH,6EAAf,CAAP;AACD,C;;;;;;;;ACdD;AAAA;AAAA;;AAEA,IAAII,eAAe,CAAnB;AACA,IAAIC,OAAJ;;AAEA,MAAMC,eAAe,MAAM;AACzBD,YAAUE,mDAAOA,CAACC,OAAR,CAAgB;AACxBC,gBAAY,IADY;AAExBC,UAAM,IAFkB;AAGxBC,UAAM,QAHkB;AAIxBC,aAAS,iBAJe;AAKxBC,gBAAY;AALY,GAAhB,CAAV;AAOD,CARD;;AAUA,MAAMC,aAAa,MAAM;AACvBT,UAAQU,KAAR;AACD,CAFD;;AAIO,MAAMC,cAAc,MAAM;AAC/B,MAAIZ,iBAAiB,CAArB,EAAwB;AACtBE;AACD;AACDF,kBAAgB,CAAhB;AACD,CALM;AAAA;AAAA;;AAOA,MAAMa,cAAc,MAAM;AAC/B,MAAIb,gBAAgB,CAApB,EAAuB;AACrB;AACD;AACDA,kBAAgB,CAAhB;AACA,MAAIA,iBAAiB,CAArB,EAAwB;AACtBU;AACD;AACF,CARM,C;;;;;;;;;;AC1BP;;;AAGA;AACO,MAAMjB,mBAAmB,uBAAzB;AAAA;AAAA;;AAEP;AACO,MAAMvB,WAAW,gBAAjB;AAAA;AAAA;AACA,MAAMG,YAAY,iBAAlB;AAAA;AAAA;AACA,MAAMuB,iBAAiB,aAAvB,C;;;;;;;;;ACTP,gBAAgB,mBAAmB,aAAa,0BAA0B;AAC1E;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC,qB;;;;;;;;ACND;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;AAGA;AACA;AACA;CACuD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEAtD,2CAAGA,CAACC,GAAJ,CAAQuE,qDAAR;;AAEA,MAAMC,QAAQC,YAAA,KAAyB,YAAvC;;AAEA,IAAIC,iBAAiB;AACnBC,SAAO,CAAC,cAAD,CADY;AAEnBC,YAAWC,GAAD,IAAS1B,kDAAA,CAAgB0B,GAAhB,CAFA;AAGnBC,YAAU,CAACD,GAAD,EAAM/D,KAAN,KAAgBqC,8CAAA,CAAY0B,GAAZ,EAAiB/D,KAAjB,EAAwB,EAACyC,SAAS,CAAV,EAAxB,CAHP,CAG6C;AAH7C,CAArB;;AAMA,MAAM1C,QAAS,IAAI0D,qDAAIA,CAACQ,KAAT,CAAe;AAC5BjE,6CAD4B;AAE5BY,qDAF4B;AAG5BM,iDAH4B;AAI5BR,oEAJ4B;AAK5BwD,WAAS;AACPC,wEADO;AAEPlE,2EAAKA;AAFE,GALmB;AAS5BmE,UAAQV,KAToB;AAU5BW,WAASX,QAAQ,CAACY,wDAAYA,EAAb,EAAiBC,2DAAoBA,CAACX,cAArB,CAAjB,CAAR,GAAiE,CAACW,2DAAoBA,CAACX,cAArB,CAAD;AAV9C,CAAf,CAAf;;AAae7D,8DAAf,E;;;;;;;;ACtCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,MAAMgD,UAAUyB,6CAAKA,CAACC,MAAN,CAAa;AAC3BC,mBAAiB,IADU;AAE3BC,WAAShB,gDAAA,CAAYiB,QAFM,EAEI;AAC/BC,WAAS,OAAO,EAHW,CAGR;AAHQ,CAAb,CAAhB;;AAMA;AACA9B,QAAQ+B,YAAR,CAAqBxG,OAArB,CAA6BY,GAA7B,CACE6F,UAAU;AACR,QAAMxG,MAAMoF,gDAAA,CAAYiB,QAAxB;AACA;AACA;AACAG,SAAOtG,OAAP,CAAe,UAAf,IAA6B4D,iDAAOA,CAACC,GAAR,CAAYC,6EAAZ,CAA7B;AACA,SAAOwC,MAAP;AACD,CAPH,EAQExD,SAAS;AACP;AACAxC,UAAQC,GAAR,CAAYuC,KAAZ,EAFO,CAEY;AACnBG,UAAQE,MAAR,CAAeL,KAAf;AACD,CAZH;;AAeA;AACAwB,QAAQ+B,YAAR,CAAqBhD,QAArB,CAA8B5C,GAA9B;AACE;AACA4C,YAAY;AACV;;;AAGA,QAAMkD,MAAMlD,SAAShB,IAArB;;AAEA,MAAK,OAAOkE,IAAIC,IAAX,KAAoB,QAApB,IAAgCD,IAAIC,IAAJ,KAAa,MAA9C,IAA0D,OAAOD,IAAIC,IAAX,KAAoB,QAApB,IAAgCD,IAAIC,IAAJ,KAAa,MAA3G,EAAoH;AAClH,QAAID,IAAIC,IAAJ,KAAa,MAAb,IAAuBD,IAAIC,IAAJ,KAAa,MAApC,IAA8CD,IAAIC,IAAJ,KAAa,MAA/D,EAAuE;AACrEC,4DAAUA,CAACC,OAAX,CAAmB,0BAAnB,EAA+C,MAA/C,EAAuD;AACrDC,2BAAmB,MADkC;AAErDC,0BAAkB,IAFmC;AAGrDC,cAAM;AAH+C,OAAvD,EAIGjE,IAJH,CAIQ,MAAM;AACZtB,+DAAKA,CAACI,QAAN,CAAe,QAAf,EAAyBkB,IAAzB,CAA8B,MAAM;AAClCkE,mBAASC,MAAT,GADkC,CAChB;AACnB,SAFD;AAGD,OARD,EAQGzD,KARH,CAQS,MAAM,CAAE,CARjB;AASD,KAVD,MAUO,IAAIiD,IAAIC,IAAJ,KAAa,MAAjB,EAAyB;AAC9BlF,6DAAKA,CAACI,QAAN,CAAe,QAAf,EAAyBkB,IAAzB,CAA8B,MAAM;AAClCoE,kFAAOA,CAAC;AACNC,mBAASV,IAAIU,OADP;AAENJ,gBAAM,OAFA;AAGNK,oBAAU,IAAI,IAHR;AAINC,oBAAU;AACRL,qBAASM,OAAT,CAAkB,GAAEN,SAASO,QAAS,KAAIP,SAASQ,IAAK,QAAxD;AACD;AANK,SAAR;AAQD,OATD;AAUD,KAXM,MAWA;AACLN,gFAAOA,CAAC;AACNC,iBAASV,IAAIU,OADP;AAENJ,cAAM,OAFA;AAGNK,kBAAU,IAAI;AAHR,OAAR;AAKD;;AAED,WAAOjE,QAAQE,MAAR,CAAeoD,IAAIU,OAAJ,IAAe,2BAA9B,CAAP;AACD,GA/BD,MA+BO;AACL,WAAO5D,SAAShB,IAAhB;AACD;AACF,CA1CH,EA2CES,SAAS;AACP;AACAkE,4EAAOA,CAAC;AACNC,aAASnE,MAAMmE,OADT;AAENJ,UAAM,OAFA;AAGNK,cAAU,IAAI;AAHR,GAAR;AAKA,SAAOjE,QAAQE,MAAR,CAAeL,KAAf,CAAP;AACD,CAnDH;;AAsDA;AACAwB,QAAQ+B,YAAR,CAAqBxG,OAArB,CAA6BY,GAA7B,CAAkC8G,GAAD,IAAS;AACxCzC,sFAAWA;AACX,SAAOyC,GAAP;AACD,CAHD,EAGGC,OAAOvE,QAAQE,MAAR,CAAeqE,GAAf,CAHV;;AAKA;AACAlD,QAAQ+B,YAAR,CAAqBhD,QAArB,CAA8B5C,GAA9B,CAAmC8F,GAAD,IAAS;AACzCxB,sFAAWA;AACX,SAAOwB,GAAP;AACD,CAHD,EAGIiB,GAAD,IAAS;AACVzC,sFAAWA;AACX,SAAO9B,QAAQE,MAAR,CAAeqE,GAAf,CAAP;AACD,CAND;;AAQelD,gEAAf,E;;;;;;;;ACvGA;;;;AAKA;;;AAGe,0DACb;AACEtD,QAAM,GADR;AAEED,QAAM,EAACI,MAAM,KAAP,EAFR;AAGEsG,aAAWvE,WAAWwE,wDAAQ,qCAAC,uBAAD,CAAR,GAA+BxE,OAA/B;AAHxB,CADa,EAMb;AACElC,QAAM,QADR;AAEED,QAAM,EAACI,MAAM,KAAP,EAFR;AAGEsG,aAAWvE,WAAWwE,uEAAQ,qCAAC,uBAAD,CAAR,GAA+BxE,OAA/B;AAHxB,CANa,EAWb;AACElC,QAAM,OADR;AAEED,QAAM,EAACI,MAAM,IAAP,EAFR;AAGEsG,aAAWvE,WAAWwE,wDAAQ,qCAAC,wBAAD,CAAR,GAA8BxE,OAA9B,wFAHxB;AAIEyE,YAAU,CACR;AACE3G,UAAM,UADR;AAEEyG,eAAWvE,WAAWwE,wDAAQ,qCAAC,wBAAD,CAAR,GAAkCxE,OAAlC,wFAFxB;AAGEnC,UAAM,EAACI,MAAM,IAAP,EAAayG,MAAM,MAAnB;AAHR,GADQ,EAMR;AACE5G,UAAM,QADR;AAEED,UAAM,EAACI,MAAM,IAAP,EAFR;AAGEsG,eAAWvE,WAAWwE,wDAAQ,qCAAC,wBAAD,CAAR,GAAgCxE,OAAhC;AAHxB,GANQ,EAWT;AACGlC,UAAM,UADT;AAEGD,UAAM,EAACI,MAAM,IAAP,EAFT;AAGGsG,eAAWvE,WAAWwE,wDAAQ,qCAAC,wBAAD,CAAR,GAAkCxE,OAAlC;AAHzB,GAXS;AAJZ,CAXa,EAiCb;AACElC,QAAM,GADR;AAEED,QAAM,EAACI,MAAM,KAAP,EAFR;AAGEsG,aAAWvE,WAAWwE,uEAAQ,qCAAC,uBAAD,CAAR,GAA+BxE,OAA/B;AAHxB,CAjCa,CAAf,E;;;;;;;;ACRA;;;;AAIe;AACb;;;;;;AAMAtB,UAAO;AACLtB,YAAQC,GAAR,CAAY,6DAAZ;AACAmH,uDAA6C,UAAUA,OAAV,EAAmB;AAC9DA,yBAAOA,CAAC,GAAR;AACApH,cAAQC,GAAR,CAAY,yDAAZ;AACD,KAHD;AAID;AAbY,CAAf,E;;;;;;;ACJA,yC;;;;;;;ACAA,yC;;;;;;;ACAA,yC;;;;;;;ACAA,gBAAgB,mBAAO,CAAC,EAAsD;AAC9E;AACA;AACA;AACA,EAAE,mBAAO,CAAC,GAA+I;AACzJ;AACA;AACA;AACA;AACA;;AAEA","file":"static/js/app.965b06e.js","sourcesContent":["/**\n * Created by lichb on 2017/2/9.\n */\nimport request from '../utils/request'\n\nexport default {\n getTokens(name, pass){\n return request({\n url:'login',\n method: 'post',\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded'\n },\n params: {\n username: name,\n password: pass\n }\n })\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/apis/tokens.js","import request from '@/utils/request'\n\n\nexport function getUserLoginInfo(token) {\n console.log(\"getUserLoginInfo\")\n return request({\n url: 'login/user/info',\n method: 'get',\n params: { token }\n })\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/apis/user.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 store from './store'\nimport VueRouter from 'vue-router'\nimport ElementUI from 'element-ui'\nimport 'element-ui/lib/theme-default/index.css'\nimport './css/common.css'\nimport './css/iconfont.css'\n\nimport routes from './config/routes'\nimport App from './App'\nimport splitting from './modules/code-splitting-demo'\n\n\nVue.use(VueRouter) //路由注册\nVue.use(ElementUI) //UI框架注册\n\nconst router = new VueRouter({\n routes\n})\n\nrouter.beforeEach(({meta, path}, from, next) => {\n let {auth = true} = meta\n let isLogin = Boolean(store.state.login.tokens != '') //true用户已登录, false用户未登录\n\n if (auth && !isLogin && path !== '/login') {\n return next({path: '/login'})\n }\n\n if (isLogin && (path == '/login' || path == '/')) { //已登录过,则跳转到主页\n store.dispatch('GetInfo')\n return next({path: '/home/channels'})\n }\n\n next()\n})\n\n//mock.start() //启动ajax mock服务\n\nsplitting.start() //demo:运行webpack2 code splitting示例\n\nnew Vue({\n el: '#app',\n router,\n store,\n render: h => h(App)\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.js","/**\n * Created by lichb on 2017/2/7.\n */\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/actions.js","const getters = {\n tokens: state => state.login.tokens,\n username: state => state.login.username,\n}\nexport default getters\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/getters.js","/**\n * Created by lichb on 2017/2/7.\n */\nimport {LOGIN_IN, LOGIN_OUT} from '../mutation-types'\nimport tokens from '@/apis/tokens'\nimport {getUserLoginInfo } from '@/apis/user'\nimport {getToken, setToken, removeToken} from '@/utils/auth'\n\nconst login = {\n state: {\n tokens: '',\n username: '',\n roles: []\n },\n mutations: {\n [LOGIN_IN](state, data) {\n if (data) {\n console.log(data)\n state.tokens = data.toke\n state.username = data.username\n }\n },\n [LOGIN_OUT](state) {\n state.tokens = ''\n },\n SET_USER_INFO : (state, data) => {\n if (data) {\n state.tokens = data.toke\n state.username = data.username\n }\n }\n },\n actions: {\n login({commit, state}, user) {\n // tokens.getTokens(user.name, user.pass).then((data) => {\n tokens.getTokens(user.username, user.password).then((data) => {\n //success\n commit(LOGIN_IN, data.data)\n setToken(data.data.toke)\n }, (error) => {\n //fail\n commit(LOGIN_IN, '')\n removeToken()\n })\n },\n // 获取用户信息\n GetInfo({ commit, state }) {\n return new Promise((resolve, reject) => {\n getUserLoginInfo(getToken()).then(response => {\n const data = response.data\n // data.roles = data.rank.indexOf('CHANNEL') !== -1 ? ['channel'] : ['operator']\n // if (data.roleInfo.roleInfos && data.roleInfo.roleInfos[0] && data.roleInfo.roleInfos[0].roleId === 1) {\n // data.roles.push('admin')\n // }\n // if (data.roles && data.roles.length > 0) {\n // // commit('SET_ROLES', data.roles)\n // } else {\n // reject('getInfo: roles must be a non-null array !')\n // }\n commit('SET_USER_INFO', data)\n resolve(response)\n }).catch(error => {\n reject(error)\n })\n })\n },\n logout({commit}) {\n console.log(\"logoput\")\n commit(LOGIN_OUT)\n removeToken()\n }\n }\n}\n\n//export\nexport default login\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/login.js","/**\n * Created by lichb on 2017/2/7.\n */\nimport {TOGGLE_MAIN_MENU} from '../mutation-types'\n\n\n// initial state\nconst state = {\n isFold: false\n}\n\n// getters\nconst getters = {\n menuIsFold: state => state.isFold\n}\n\n//actions\nconst actions = {\n toggleMenu({commit}){\n commit(TOGGLE_MAIN_MENU)\n }\n}\n\n//mutations\nconst mutations = {\n [TOGGLE_MAIN_MENU] (state) {\n state.isFold = !state.isFold\n },\n}\n\n//export\nexport default {\n state,\n getters,\n actions,\n mutations\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/modules/menu.js","/**\n * Created by lichb on 2017/2/7.\n */\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/mutations.js","/**\n * Created by lichb on 2017/2/8.\n */\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/state.js","import Cookies from 'js-cookie'\n\nimport {SESSION_ID_KEY} from '../store/mutation-types'\n\nexport function getToken() {\n return Cookies.get(SESSION_ID_KEY)\n}\n\nexport function setToken(token) {\n return Cookies.set(SESSION_ID_KEY, token, { expires: 7, path: '' })\n}\n\nexport function removeToken() {\n return Cookies.remove(SESSION_ID_KEY)\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/auth.js","import { Loading } from 'element-ui'\n\nlet loadingCount = 0\nlet loading\n\nconst startLoading = () => {\n loading = Loading.service({\n fullscreen: true ,\n lock: true,\n text: '加载中...',\n spinner: 'el-icon-loading',\n background: 'rgba(184,184,184,0.79)'\n })\n}\n\nconst endLoading = () => {\n loading.close()\n}\n\nexport const showLoading = () => {\n if (loadingCount === 0) {\n startLoading()\n }\n loadingCount += 1\n}\n\nexport const hideLoading = () => {\n if (loadingCount <= 0) {\n return\n }\n loadingCount -= 1\n if (loadingCount === 0) {\n endLoading()\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/loading.js","/**\n * Created by lichb on 2017/2/7.\n */\n//菜单折叠\nexport const TOGGLE_MAIN_MENU = 'menu/TOGGLE_MAIN_MENU'\n\n//登录\nexport const LOGIN_IN = 'login/LOGIN_IN'\nexport const LOGIN_OUT = 'login/LOGIN_OUT'\nexport const SESSION_ID_KEY = 'kmSessionId'\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/mutation-types.js","module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('transition', {\n attrs: {\n \"name\": \"app\"\n }\n }, [_c('router-view')], 1)\n},staticRenderFns: []}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/vue-loader/lib/template-compiler.js?id=data-v-f8cf1598!./~/vue-loader/lib/selector.js?type=template&index=0!./src/App.vue\n// module id = 193\n// module chunks = 7","/**\n * Created by lichb on 2017/2/7.\n */\nimport Vue from 'vue'\nimport Vuex from 'vuex'\nimport createLogger from 'vuex/dist/logger'\nimport createPersistedState from 'vuex-persistedstate' //vuex持久化localstorage插件\nimport * as Cookies from 'js-cookie';\nimport * as state from './state'\nimport * as mutations from './mutations'\nimport * as actions from './actions'\nimport getters from './getters'\nimport menu from './modules/menu'\nimport login from './modules/login'\n\nVue.use(Vuex)\n\nconst debug = process.env.NODE_ENV !== 'production'\n\nlet persistedState = {\n paths: ['login.tokens'],\n getState: (key) => Cookies.getJSON(key),\n setState: (key, state) => Cookies.set(key, state, {expires: 3}) //expires->cookie过期时间,单位为天\n}\n\nconst store = new Vuex.Store({\n state,\n mutations,\n actions,\n getters,\n modules: {\n menu,\n login\n },\n strict: debug,\n plugins: debug ? [createLogger(), createPersistedState(persistedState)] : [createPersistedState(persistedState)]\n})\n\nexport default store\n\n\n\n// WEBPACK FOOTER //\n// ./src/store/index.js","import axios from 'axios'\nimport { Message } from 'element-ui'\nimport store from '../store'\nimport { MessageBox } from 'element-ui'\nimport { showLoading, hideLoading } from './loading'\nimport Cookies from 'js-cookie'\n\nimport {SESSION_ID_KEY} from '../store/mutation-types'\n// import * as getters from \"../store/getters\";\n\n// 创建axios实例\nconst service = axios.create({\n withCredentials: true,\n baseURL: process.env.BASE_API, // api 的 base_url\n timeout: 1000 * 10 // 请求超时时间\n})\n\n// request拦截器\nservice.interceptors.request.use(\n config => {\n const url = process.env.BASE_API\n //config.url = config.url\n // console.log(this.$store.getters)\n config.headers['ka_token'] = Cookies.get(SESSION_ID_KEY)\n return config\n },\n error => {\n // Do something with request error\n console.log(error) // for debug\n Promise.reject(error)\n }\n)\n\n// response 拦截器\nservice.interceptors.response.use(\n // response => response.data,\n response => {\n /**\n * code为非20000是抛错 可结合自己业务进行修改\n */\n const res = response.data\n\n if ((typeof res.code === 'number' && res.code !== 200000) || (typeof res.code === 'string' && res.code !== '0000')) {\n if (res.code === 500003 || res.code === 500006 || res.code === 500007) {\n MessageBox.confirm('你已被登出,可以取消继续留在该页面,或者重新登录', '确定登出', {\n confirmButtonText: '重新登录',\n cancelButtonText: '取消',\n type: 'warning'\n }).then(() => {\n store.dispatch('logout').then(() => {\n location.reload() // 为了重新实例化vue-router对象 避免bug\n })\n }).catch(() => {})\n } else if (res.code === 500006) {\n store.dispatch('logout').then(() => {\n Message({\n message: res.message,\n type: 'error',\n duration: 2 * 1000,\n onClose() {\n location.replace(`${location.protocol}//${location.host}/login`)\n }\n })\n })\n } else {\n Message({\n message: res.message,\n type: 'error',\n duration: 3 * 1000\n })\n }\n\n return Promise.reject(res.message || 'responseInterceptorsError')\n } else {\n return response.data\n }\n },\n error => {\n //console.log('err' + error) // for debug\n Message({\n message: error.message,\n type: 'error',\n duration: 5 * 1000\n })\n return Promise.reject(error)\n }\n)\n\n/* 请求拦截器(请求之前的操作) */\nservice.interceptors.request.use((req) => {\n showLoading()\n return req\n}, err => Promise.reject(err))\n\n/* 请求之后的操作 */\nservice.interceptors.response.use((res) => {\n hideLoading()\n return res\n}, (err) => {\n hideLoading()\n return Promise.reject(err)\n})\n\nexport default service\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/request.js","/**\n * Created by lichb on 2017/1/24.\n */\n\n\n/**\n * auth true登录才能访问,false不需要登录,默认true\n */\nexport default [\n {\n path: '/',\n meta: {auth: false},\n component: resolve => require(['../modules/login/'], resolve)\n },\n {\n path: '/login',\n meta: {auth: false},\n component: resolve => require(['../modules/login/'], resolve)\n },\n {\n path: '/home',\n meta: {auth: true},\n component: resolve => require(['../modules/home/'], resolve),\n children: [\n {\n path: 'channels',\n component: resolve => require(['../modules/channels/'], resolve),\n meta: {auth: true, icon: 'form'},\n },\n {\n path: 'report',\n meta: {auth: true},\n component: resolve => require(['../modules/report/'], resolve)\n },\n {\n path: 'matebase',\n meta: {auth: true},\n component: resolve => require(['../modules/matebase/'], resolve)\n },\n ]\n },\n {\n path: '*',\n meta: {auth: false},\n component: resolve => require(['../modules/login/'], resolve)\n },\n]\n\n\n\n// WEBPACK FOOTER //\n// ./src/config/routes.js","/**\n * Created by lichb on 2017/3/20.\n *\n */\nexport default {\n /**\n * webpack的code spliting(Using require.ensure)功能可以将require.ensure及其回调内依赖的包合并到一个独立的模块(chunk)中,\n * 并且webpack使用jsonp对这个模块进行异步静默加载\n * @好处:在中大型项目中,避免合并后的文件过大;此外,也有利于优化项目的资源加载速度\n * @结果:此处module-a.js,module-b.js,module-c.js将被打包到一个独立的chunk中。可以通过 npm run build查看打包结果。\n */\n start(){\n console.log('webpack2 code splitting demo(Using require.ensure) start...')\n require.ensure(['./module-a', './module-b'], function (require) {\n require('./module-c')\n console.log('webpack2 code splitting demo(Using require.ensure) end!')\n });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/modules/code-splitting-demo/index.js","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/element-ui/lib/theme-default/index.css\n// module id = 81\n// module chunks = 7","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/css/common.css\n// module id = 82\n// module chunks = 7","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/css/iconfont.css\n// module id = 83\n// module chunks = 7","var Component = require(\"!../node_modules/vue-loader/lib/component-normalizer\")(\n /* script */\n null,\n /* template */\n require(\"!!../node_modules/vue-loader/lib/template-compiler?id=data-v-f8cf1598!../node_modules/vue-loader/lib/selector?type=template&index=0!./App.vue\"),\n /* scopeId */\n null,\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/App.vue\n// module id = 84\n// module chunks = 7"],"sourceRoot":""}
\ No newline at end of file
!function(e){function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}var r=window.webpackJsonp;window.webpackJsonp=function(t,c,a){for(var i,u,f,s=0,l=[];s<t.length;s++)u=t[s],o[u]&&l.push(o[u][0]),o[u]=0;for(i in c)Object.prototype.hasOwnProperty.call(c,i)&&(e[i]=c[i]);for(r&&r(t,c,a);l.length;)l.shift()();if(a)for(s=0;s<a.length;s++)f=n(n.s=a[s]);return f};var t={},o={8:0};n.e=function(e){function r(){i.onerror=i.onload=null,clearTimeout(u);var n=o[e];0!==n&&(n&&n[1](new Error("Loading chunk "+e+" failed.")),o[e]=void 0)}var t=o[e];if(0===t)return new Promise(function(e){e()});if(t)return t[2];var c=new Promise(function(n,r){t=o[e]=[n,r]});t[2]=c;var a=document.getElementsByTagName("head")[0],i=document.createElement("script");i.type="text/javascript",i.charset="utf-8",i.async=!0,i.timeout=12e4,n.nc&&i.setAttribute("nonce",n.nc),i.src=n.p+"static/js/"+e+"."+{0:"4573400",1:"9acfa46",2:"1af9f2f",3:"d9f90dd",4:"9c82080",5:"cc09188",6:"7189c8c",7:"965b06e"}[e]+".js";var u=setTimeout(r,12e4);return i.onerror=i.onload=r,a.appendChild(i),c},n.m=e,n.c=t,n.i=function(e){return e},n.d=function(e,r,t){n.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:t})},n.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(r,"a",r),r},n.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},n.p="/",n.oe=function(e){throw console.error(e),e}}([]);
//# sourceMappingURL=manifest.9cb6469.js.map
\ No newline at end of file
{"version":3,"sources":["webpack:///static/js/manifest.9cb6469.js","webpack:///webpack/bootstrap 69f32c5a1f09dafc626d"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","i","l","call","parentJsonpFunction","window","chunkIds","moreModules","executeModules","chunkId","result","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","shift","s","8","e","onScriptComplete","script","onerror","onload","clearTimeout","timeout","chunk","Error","undefined","installedChunkData","Promise","resolve","promise","reject","head","document","getElementsByTagName","createElement","type","charset","async","nc","setAttribute","src","p","setTimeout","appendChild","m","c","value","d","name","getter","o","defineProperty","configurable","enumerable","get","n","__esModule","object","property","oe","err","console","error"],"mappings":"CAAS,SAAUA,GCuCjB,QAASC,GAAoBC,GAG5B,GAAGC,EAAiBD,GACnB,MAAOC,GAAiBD,GAAUE,OAGnC,IAAIC,GAASF,EAAiBD,IAC7BI,EAAGJ,EACHK,GAAG,EACHH,WAUD,OANAJ,GAAQE,GAAUM,KAAKH,EAAOD,QAASC,EAAQA,EAAOD,QAASH,GAG/DI,EAAOE,GAAI,EAGJF,EAAOD,QA1Df,GAAIK,GAAsBC,OAAqB,YAC/CA,QAAqB,aAAI,SAA8BC,EAAUC,EAAaC,GAI7E,IADA,GAAIX,GAAUY,EAA+BC,EAAtBT,EAAI,EAAGU,KACzBV,EAAIK,EAASM,OAAQX,IACzBQ,EAAUH,EAASL,GAChBY,EAAgBJ,IAClBE,EAASG,KAAKD,EAAgBJ,GAAS,IAExCI,EAAgBJ,GAAW,CAE5B,KAAIZ,IAAYU,GACZQ,OAAOC,UAAUC,eAAed,KAAKI,EAAaV,KACpDF,EAAQE,GAAYU,EAAYV,GAIlC,KADGO,GAAqBA,EAAoBE,EAAUC,EAAaC,GAC7DG,EAASC,QACdD,EAASO,SAEV,IAAGV,EACF,IAAIP,EAAE,EAAGA,EAAIO,EAAeI,OAAQX,IACnCS,EAASd,EAAoBA,EAAoBuB,EAAIX,EAAeP,GAGtE,OAAOS,GAIR,IAAIZ,MAGAe,GACHO,EAAG,EA6BJxB,GAAoByB,EAAI,SAAuBZ,GA+B9C,QAASa,KAERC,EAAOC,QAAUD,EAAOE,OAAS,KACjCC,aAAaC,EACb,IAAIC,GAAQf,EAAgBJ,EACf,KAAVmB,IACCA,GACFA,EAAM,GAAG,GAAIC,OAAM,iBAAmBpB,EAAU,aAEjDI,EAAgBJ,OAAWqB,IAvC7B,GAAIC,GAAqBlB,EAAgBJ,EACzC,IAA0B,IAAvBsB,EACF,MAAO,IAAIC,SAAQ,SAASC,GAAWA,KAIxC,IAAGF,EACF,MAAOA,GAAmB,EAI3B,IAAIG,GAAU,GAAIF,SAAQ,SAASC,EAASE,GAC3CJ,EAAqBlB,EAAgBJ,IAAYwB,EAASE,IAE3DJ,GAAmB,GAAKG,CAGxB,IAAIE,GAAOC,SAASC,qBAAqB,QAAQ,GAC7Cf,EAASc,SAASE,cAAc,SACpChB,GAAOiB,KAAO,kBACdjB,EAAOkB,QAAU,QACjBlB,EAAOmB,OAAQ,EACfnB,EAAOI,QAAU,KAEb/B,EAAoB+C,IACvBpB,EAAOqB,aAAa,QAAShD,EAAoB+C,IAElDpB,EAAOsB,IAAMjD,EAAoBkD,EAAI,aAAerC,EAAU,KAAO,EAAI,UAAU,EAAI,UAAU,EAAI,UAAU,EAAI,UAAU,EAAI,UAAU,EAAI,UAAU,EAAI,UAAU,EAAI,WAAWA,GAAW,KACjM,IAAIkB,GAAUoB,WAAWzB,EAAkB,KAgB3C,OAfAC,GAAOC,QAAUD,EAAOE,OAASH,EAajCc,EAAKY,YAAYzB,GAEVW,GAIRtC,EAAoBqD,EAAItD,EAGxBC,EAAoBsD,EAAIpD,EAGxBF,EAAoBK,EAAI,SAASkD,GAAS,MAAOA,IAGjDvD,EAAoBwD,EAAI,SAASrD,EAASsD,EAAMC,GAC3C1D,EAAoB2D,EAAExD,EAASsD,IAClCtC,OAAOyC,eAAezD,EAASsD,GAC9BI,cAAc,EACdC,YAAY,EACZC,IAAKL,KAMR1D,EAAoBgE,EAAI,SAAS5D,GAChC,GAAIsD,GAAStD,GAAUA,EAAO6D,WAC7B,WAAwB,MAAO7D,GAAgB,SAC/C,WAA8B,MAAOA,GAEtC,OADAJ,GAAoBwD,EAAEE,EAAQ,IAAKA,GAC5BA,GAIR1D,EAAoB2D,EAAI,SAASO,EAAQC,GAAY,MAAOhD,QAAOC,UAAUC,eAAed,KAAK2D,EAAQC,IAGzGnE,EAAoBkD,EAAI,IAGxBlD,EAAoBoE,GAAK,SAASC,GAA2B,KAApBC,SAAQC,MAAMF,GAAYA","file":"static/js/manifest.9cb6469.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// install a JSONP callback for chunk loading\n/******/ \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n/******/ \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) {\n/******/ \t\t// add \"moreModules\" to the modules object,\n/******/ \t\t// then flag all \"chunkIds\" as loaded and fire callback\n/******/ \t\tvar moduleId, chunkId, i = 0, resolves = [], result;\n/******/ \t\tfor(;i < chunkIds.length; i++) {\n/******/ \t\t\tchunkId = chunkIds[i];\n/******/ \t\t\tif(installedChunks[chunkId]) {\n/******/ \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n/******/ \t\t\t}\n/******/ \t\t\tinstalledChunks[chunkId] = 0;\n/******/ \t\t}\n/******/ \t\tfor(moduleId in moreModules) {\n/******/ \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n/******/ \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n/******/ \t\t\t}\n/******/ \t\t}\n/******/ \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules);\n/******/ \t\twhile(resolves.length) {\n/******/ \t\t\tresolves.shift()();\n/******/ \t\t}\n/******/ \t\tif(executeModules) {\n/******/ \t\t\tfor(i=0; i < executeModules.length; i++) {\n/******/ \t\t\t\tresult = __webpack_require__(__webpack_require__.s = executeModules[i]);\n/******/ \t\t\t}\n/******/ \t\t}\n/******/ \t\treturn result;\n/******/ \t};\n/******/\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// objects to store loaded and loading chunks\n/******/ \tvar installedChunks = {\n/******/ \t\t8: 0\n/******/ \t};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/ \t// This file contains only the entry chunk.\n/******/ \t// The chunk loading function for additional chunks\n/******/ \t__webpack_require__.e = function requireEnsure(chunkId) {\n/******/ \t\tvar installedChunkData = installedChunks[chunkId];\n/******/ \t\tif(installedChunkData === 0) {\n/******/ \t\t\treturn new Promise(function(resolve) { resolve(); });\n/******/ \t\t}\n/******/\n/******/ \t\t// a Promise means \"currently loading\".\n/******/ \t\tif(installedChunkData) {\n/******/ \t\t\treturn installedChunkData[2];\n/******/ \t\t}\n/******/\n/******/ \t\t// setup Promise in chunk cache\n/******/ \t\tvar promise = new Promise(function(resolve, reject) {\n/******/ \t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n/******/ \t\t});\n/******/ \t\tinstalledChunkData[2] = promise;\n/******/\n/******/ \t\t// start chunk loading\n/******/ \t\tvar head = document.getElementsByTagName('head')[0];\n/******/ \t\tvar script = document.createElement('script');\n/******/ \t\tscript.type = 'text/javascript';\n/******/ \t\tscript.charset = 'utf-8';\n/******/ \t\tscript.async = true;\n/******/ \t\tscript.timeout = 120000;\n/******/\n/******/ \t\tif (__webpack_require__.nc) {\n/******/ \t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n/******/ \t\t}\n/******/ \t\tscript.src = __webpack_require__.p + \"static/js/\" + chunkId + \".\" + {\"0\":\"4573400\",\"1\":\"9acfa46\",\"2\":\"1af9f2f\",\"3\":\"d9f90dd\",\"4\":\"9c82080\",\"5\":\"cc09188\",\"6\":\"7189c8c\",\"7\":\"965b06e\"}[chunkId] + \".js\";\n/******/ \t\tvar timeout = setTimeout(onScriptComplete, 120000);\n/******/ \t\tscript.onerror = script.onload = onScriptComplete;\n/******/ \t\tfunction onScriptComplete() {\n/******/ \t\t\t// avoid mem leaks in IE.\n/******/ \t\t\tscript.onerror = script.onload = null;\n/******/ \t\t\tclearTimeout(timeout);\n/******/ \t\t\tvar chunk = installedChunks[chunkId];\n/******/ \t\t\tif(chunk !== 0) {\n/******/ \t\t\t\tif(chunk) {\n/******/ \t\t\t\t\tchunk[1](new Error('Loading chunk ' + chunkId + ' failed.'));\n/******/ \t\t\t\t}\n/******/ \t\t\t\tinstalledChunks[chunkId] = undefined;\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t\thead.appendChild(script);\n/******/\n/******/ \t\treturn promise;\n/******/ \t};\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/\";\n/******/\n/******/ \t// on error function for async loading\n/******/ \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n/******/ })\n/************************************************************************/\n/******/ ([]);\n\n\n// WEBPACK FOOTER //\n// static/js/manifest.9cb6469.js"," \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [], result;\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules);\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n \t\tif(executeModules) {\n \t\t\tfor(i=0; i < executeModules.length; i++) {\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = executeModules[i]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// objects to store loaded and loading chunks\n \tvar installedChunks = {\n \t\t8: 0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData === 0) {\n \t\t\treturn new Promise(function(resolve) { resolve(); });\n \t\t}\n\n \t\t// a Promise means \"currently loading\".\n \t\tif(installedChunkData) {\n \t\t\treturn installedChunkData[2];\n \t\t}\n\n \t\t// setup Promise in chunk cache\n \t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t});\n \t\tinstalledChunkData[2] = promise;\n\n \t\t// start chunk loading\n \t\tvar head = document.getElementsByTagName('head')[0];\n \t\tvar script = document.createElement('script');\n \t\tscript.type = 'text/javascript';\n \t\tscript.charset = 'utf-8';\n \t\tscript.async = true;\n \t\tscript.timeout = 120000;\n\n \t\tif (__webpack_require__.nc) {\n \t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t}\n \t\tscript.src = __webpack_require__.p + \"static/js/\" + chunkId + \".\" + {\"0\":\"4573400\",\"1\":\"9acfa46\",\"2\":\"1af9f2f\",\"3\":\"d9f90dd\",\"4\":\"9c82080\",\"5\":\"cc09188\",\"6\":\"7189c8c\",\"7\":\"965b06e\"}[chunkId] + \".js\";\n \t\tvar timeout = setTimeout(onScriptComplete, 120000);\n \t\tscript.onerror = script.onload = onScriptComplete;\n \t\tfunction onScriptComplete() {\n \t\t\t// avoid mem leaks in IE.\n \t\t\tscript.onerror = script.onload = null;\n \t\t\tclearTimeout(timeout);\n \t\t\tvar chunk = installedChunks[chunkId];\n \t\t\tif(chunk !== 0) {\n \t\t\t\tif(chunk) {\n \t\t\t\t\tchunk[1](new Error('Loading chunk ' + chunkId + ' failed.'));\n \t\t\t\t}\n \t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t}\n \t\t};\n \t\thead.appendChild(script);\n\n \t\treturn promise;\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 69f32c5a1f09dafc626d"],"sourceRoot":""}
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>ka-ma</title>
</head>
<body>
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
</html>
This source diff could not be displayed because it is too large. You can view the blob instead.
{
"name": "vue2admin-v2",
"version": "1.0.0",
"description": "基于vue2 + vue-router + vuex + fetch + PostCSS + element-ui + webpack2 实现的一个后台管理系统基础框架。",
"author": "lichbin@hotmail.com",
"private": true,
"scripts": {
"dev": "node build/dev-server.js",
"build": "node build/build.js",
"unit": "cross-env BABEL_ENV=test karma start test/unit/karma.conf.js --single-run",
"e2e": "node test/e2e/runner.js",
"test": "npm run unit && npm run e2e"
},
"dependencies": {
"axios": "^0.19.2",
"element-ui": "^1.4.13",
"js-cookie": "^2.1.3",
"three": "^0.84.0",
"vue": "^2.2.1",
"vue-element-loading": "^1.1.5",
"vue-resource": "^1.5.1",
"vue-router": "^2.3.0",
"vuex": "^2.2.1",
"vuex-persistedstate": "^1.2.0",
"whatwg-fetch": "^2.0.2"
},
"devDependencies": {
"autoprefixer": "^6.7.2",
"babel-core": "^6.22.1",
"babel-loader": "^6.2.10",
"babel-plugin-istanbul": "^3.1.2",
"babel-plugin-transform-runtime": "^6.22.0",
"babel-preset-es2015": "^6.22.0",
"babel-preset-stage-2": "^6.22.0",
"babel-register": "^6.22.0",
"chai": "^3.5.0",
"chalk": "^1.1.3",
"chromedriver": "^2.27.2",
"connect-history-api-fallback": "^1.3.0",
"cross-env": "^3.1.4",
"cross-spawn": "^5.0.1",
"css-loader": "^0.26.1",
"eventsource-polyfill": "^0.9.6",
"express": "^4.14.1",
"extract-text-webpack-plugin": "^2.0.0-rc.2",
"file-loader": "^0.10.0",
"friendly-errors-webpack-plugin": "^1.1.3",
"function-bind": "^1.1.0",
"html-webpack-plugin": "^2.28.0",
"http-proxy-middleware": "^0.17.3",
"inject-loader": "^2.0.1",
"karma": "^1.4.1",
"karma-coverage": "^1.1.1",
"karma-mocha": "^1.3.0",
"karma-phantomjs-launcher": "^1.0.2",
"karma-sinon-chai": "^1.2.4",
"karma-sourcemap-loader": "^0.3.7",
"karma-spec-reporter": "0.0.26",
"karma-webpack": "^2.0.2",
"lolex": "^1.5.2",
"mocha": "^3.2.0",
"mock-fetch-api": "^1.0.7",
"nightwatch": "^0.9.12",
"node-sass": "^4.14.1",
"opn": "^4.0.2",
"ora": "^1.1.0",
"phantomjs-prebuilt": "^2.1.14",
"postcss-cssnext": "^2.9.0",
"postcss-import": "^9.1.0",
"sass-loader": "^9.0.2",
"selenium-server": "^3.0.1",
"semver": "^5.3.0",
"shelljs": "^0.7.6",
"sinon": "^1.17.7",
"sinon-chai": "^2.8.0",
"svg-sprite-loader": "^5.0.0",
"url-loader": "^0.5.7",
"vue-loader": "^10.3.0",
"vue-style-loader": "^2.0.0",
"vue-template-compiler": "^2.1.10",
"webpack": "^2.2.1",
"webpack-bundle-analyzer": "^2.2.1",
"webpack-dev-middleware": "^1.10.0",
"webpack-hot-middleware": "^2.16.1",
"webpack-merge": "^2.6.1",
"less": "^3.9",
"less-loader": "^5.0.0"
},
"engines": {
"node": ">= 4.0.0",
"npm": ">= 3.0.0"
}
}
<template>
<transition name="app">
<router-view></router-view>
</transition>
</template>
import request from '../utils/request'
export function getChannels(data) {
return request({
url: '/channel/page',
method: 'post',
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
params: data
})
}
export function getStaticElement() {
return request({
url: '/channel/static/element',
method: 'get'
})
}
export function saveChannelBaseConf(data) {
return request({
url: '/channel/update/baseConf',
method: 'post',
data
})
}
export function getChannelDetail(query) {
return request({
url: '/channel/get/info',
method: 'get',
params: query
})
}
/**
* Created by lichb on 2017/2/10.
*/
import MockFetch from 'mock-fetch-api'
export default {
start(){
// if (process.env.NODE_ENV !== 'production') {
MockFetch.when('GET', '/login').respondWith(200, '{"tokens":"6C15B16A70AE9FEDC6546343E79103532AB88DCE1B91B0DF77BE49AE9F493D04"}');
// }
}
}
/**
* Created by lichb on 2017/2/9.
*/
import request from '../utils/request'
export default {
getTokens(name, pass){
return request({
url:'login',
method: 'post',
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
params: {
username: name,
password: pass
}
})
}
}
import request from '@/utils/request'
export function getUserLoginInfo(token) {
console.log("getUserLoginInfo")
return request({
url: 'login/user/info',
method: 'get',
params: { token }
})
}
<style scoped>
.main-container {
position: fixed;
top: 50px;
left: 230px;
right: 0;
bottom: 0;
overflow: hidden;
-webkit-transition: all .28s ease-out;
transition: all .28s ease-out;
will-change: transform
}
.main-wrapper.sidebar-mini .main-container {
left: 60px;
}
/* 顶部通知 */
.top-notice {
padding: 0;
min-width: 730px;
background-color: #fff;
height: 30px;
line-height: 30px;
}
.sdp-container-scroll {
position: absolute;
width: auto;
top: 0;
bottom: 8px;
left: 8px;
right: 8px;
overflow: auto;
/* overflow-y: auto; */
-moz-transition: all 0.2s ease;
-webkit-transition: all 0.2s ease;
transition: all 0.2s ease;
}
.content-container {
position: relative;
padding: 0;
min-width: 763px;
}
.top-notice i.icon-toggle-menu {
border-right: 1px solid #ebebeb;
padding: 0 10px;
display: inline-block;
color: #999999;
cursor: pointer;
font-size: 20px;
}
.top-notice .icon-notice {
font-weight: 800;
color: #32353a;
font-size: 14px;
margin-left: 5px;
position: relative;
}
.top-notice .icon-notice i {
font-weight: normal;
margin-right: 5px;
font-size: 20px;
color: #999999;
float: left;
}
</style>
<template>
<main class="main-container">
<!-- <div class="top-notice">-->
<!-- <a @click="toggleMenu" class="fl"><i class="v2 icon-toggle-menu" :class="{'v2-slidebar-packup':!menuIsFold,'v2-slidebar-packup-copy':menuIsFold}"></i></a>-->
<!-- <span class="icon-notice fl"><i class="v2 v2-announcement"></i>公告:</span>-->
<!-- </div>-->
<div class="sdp-container-scroll">
<div class="content-container height100">
<router-view></router-view>
</div>
</div>
</main>
</template>
<script>
import {mapGetters, mapActions} from 'vuex'
export default {
computed: mapGetters([
'menuIsFold'
]),
methods: mapActions([
'toggleMenu'
])
}
</script>
<style scoped>
.main-sidebar {
position: fixed;
top: 0px;
width: 230px;
background-color: #394456;
z-index: 8000;
overflow-y: auto;
bottom: 0;
}
.sidebar-scroll {
min-height: -moz-calc(100% - 120px);
min-height: -webkit-calc(100% - 120px);
min-height: calc(100% - 120px);
}
.main-sidebar-l .main-sidebar {
-webkit-transition: all .28s ease-out;
transition: all .28s ease-out;
will-change: transform
}
.main-sidebar-l.sidebar-mini .main-sidebar {
overflow-x: hidden;
}
.main-sidebar-l.sidebar-mini .main-sidebar {
-webkit-transform: translateX(-170px) translateY(0) translateZ(0);
-ms-transform: translateX(-170px) translateY(0);
transform: translateX(-170px) translateY(0) translateZ(0)
}
.main-sidebar-l .main-sidebar .sidebar-content {
-webkit-transition: all .28s ease-out;
transition: all .28s ease-out;
will-change: transform
}
.main-sidebar-l.sidebar-mini .main-sidebar .sidebar-content {
width: 230px;
}
.main-sidebar-l.sidebar-mini .main-sidebar .sidebar-content {
-webkit-transform: translateX(170px) translateY(0) translateZ(0);
-ms-transform: translateX(170px) translateY(0);
transform: translateX(170px) translateY(0) translateZ(0)
}
.main-sidebar-l.sidebar-mini .main-sidebar:hover,
.main-sidebar-l.sidebar-mini .main-sidebar:hover .sidebar-content {
-webkit-transform: translateX(0) translateY(0) translateZ(0);
-ms-transform: translateX(0) translateY(0);
transform: translateX(0) translateY(0) translateZ(0)
}
.main-sidebar-l .main-sidebar .sidebar-mini-hide {
-webkit-transition: opacity .28s ease-out;
transition: opacity .28s ease-out
}
.main-sidebar-l.sidebar-mini .main-sidebar .sidebar-mini-hide {
opacity: 0;
}
.main-sidebar-l.sidebar-mini .main-sidebar .sidebar-mini-hidden {
display: none
}
.main-sidebar-l.sidebar-mini .main-sidebar .nav-main > li.open > ul {
display: none
}
.main-sidebar-l.sidebar-mini .main-sidebar:hover .sidebar-mini-hide {
opacity: 1
}
.main-sidebar-l.sidebar-mini .main-sidebar:hover .nav-main > li.open > ul {
display: block
}
.side-content {
margin: 0 auto;
padding: 0px 20px 14px;
max-width: 100%;
overflow-x: hidden;
position: relative;
}
.nav-main {
margin: 0 -20px;
padding: 0;
list-style: none;
}
.nav-main a.router-link-active, .nav-main a.router-link-active:hover {
color: #fff !important;
background-color: rgba(7, 7, 7, 0.91);
}
.nav-main a {
display: block;
padding: 10px 20px;
color: rgba(221, 230, 227, 0.16);
font-size: 14px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.nav-main .nav-main-heading {
padding: 10px 20px 10px;
font-size: 16px;
font-weight: 600;
color: rgb(255, 255, 255);
position: relative;
overflow: hidden;
opacity: 0.8;
}
.nav-main a.nav-submenu {
position: relative;
display: block;
padding: 9px 0 9px 20px;
width: 210px;
height: 21px;
line-height: 21px;
}
.sidebar-mini-hide {
margin-left: 8%;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
color: rgba(241, 241, 241, 0.91);
width: 160px;
}
.el-icon-my {
color: rgba(241, 241, 241, 0.91);;
}
.sidebar-mini-hide.active_icon {
width: 110px !important;
}
.sidebar-mini-hide.endtime_icon {
width: 95px !important;
}
.nav-main a:hover {
background-color: rgba(4, 3, 4, 0.5);
color: rgba(241, 241, 241, 0.91);
}
.nav-main li:not(.nav-main-heading) {
position: relative;
}
.nav-main a > i {
float: left;
margin-right: 5px;
font-size: 18px;
}
/* 菜单底部 */
.nav-feed-back {
overflow: hidden;
position: relative;
height: 120px;
padding: 16px;
margin: auto;
box-sizing: border-box;
}
.feed-back {
position: absolute;
/*padding-top: 10px;*/
bottom: 16px;
}
.feed-back li {
font-size: 13px;
padding: 5px 0;
color: #333333;
}
.feed-back a {
color: #489cff;
}
</style>
<template>
<nav class="main-sidebar">
<div class="sidebar-scroll">
<div class="sidebar-content">
<div class="side-content">
<ul class="nav-main">
<template v-for="menu in menus">
<li class="nav-main-heading sidebar-title">
<span class="sidebar-mini-hide">{{ menu.name }}</span>
</li>
<li v-for="item in menu.items">
<router-link :to="item.path" class="nav-submenu" data="nav-submenu">
<svg-icon class="el-icon-my" :iconClass="item.icon"></svg-icon>
<span class="sidebar-mini-hide">{{ item.name }}</span>
</router-link>
</li>
</template>
</ul>
</div>
</div>
</div>
<!-- <div class="nav-feed-back">-->
<!-- <ul class="feed-back sidebar-mini-hide">-->
<!-- <li><a target="_blank" href="http://bbs.sdp.nd/forum.php">开发者中心</a></li>-->
<!-- <li>KA相关系统管理运营系统</li>-->
<!-- </ul>-->
<!-- </div>-->
</nav>
</template>
<script>
import menuConfig from '../config/menu'
export default {
data () {
return {
menus: menuConfig
}
}
}
</script>
<style scoped>
.header {
position: absolute;
width: 100%;
text-align: right;
right: 0;
top: 0;
/*padding: 5px 120px;*/
}
.header a {
color: #ffffff !important;
}
.center {
position: absolute;
text-align: center;
top: 36%;
left: 40%;
height: 320px;
width: 420px;
color: #9cd7d1;
}
.canvas-container {
height: 100%;
width: 100%;
flex: 1;
background-image: linear-gradient(70deg, #2061c2 0, #0d0525 100%);
}
</style>
<template>
<div id="waves_container" class="canvas-container">
<div class="header">
<slot name="header"></slot>
</div>
<div class="center">
<slot name="center"></slot>
</div>
</div>
</template>
<script>
import waves from './js/cwaves'
export default {
mounted(){
waves.init('waves_container');
},
beforeDestroy(){
waves.removeEvent();
}
}
</script>
<template>
<div>
<svg
:class="{'is-active':isActive}"
class="hamburger"
viewBox="0 0 1024 1024"
xmlns="http://www.w3.org/2000/svg"
width="64"
height="64"
@click="toggleClick">
<path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM142.4 642.1L298.7 519a8.84 8.84 0 0 0 0-13.9L142.4 381.9c-5.8-4.6-14.4-.5-14.4 6.9v246.3a8.9 8.9 0 0 0 14.4 7z" />
</svg>
</div>
</template>
<script>
export default {
name: 'Hamburger',
props: {
isActive: {
type: Boolean,
default: false
},
toggleClick: {
type: Function,
default: null
}
}
}
</script>
<style scoped>
.hamburger {
display: inline-block;
cursor: pointer;
width: 20px;
height: 20px;
}
.hamburger.is-active {
transform: rotate(180deg);
}
</style>
<template>
<div :class="{'hidden':hidden}" class="pagination-container">
<el-pagination
:background="background"
:current-page.sync="currentPage"
:page-size.sync="pageSize"
:layout="layout"
:page-sizes="pageSizes"
:total="total"
v-bind="$attrs"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"/>
</div>
</template>
<script>
import { scrollTo } from '@/utils/scrollTo'
export default {
name: 'Pagination',
props: {
total: {
required: true,
type: Number
},
page: {
type: Number,
default: 1
},
limit: {
type: Number,
default: 20
},
pageSizes: {
type: Array,
default() {
return [10, 20, 30, 50]
}
},
layout: {
type: String,
default: 'total, sizes, prev, pager, next, jumper'
},
background: {
type: Boolean,
default: true
},
autoScroll: {
type: Boolean,
default: true
},
hidden: {
type: Boolean,
default: false
}
},
computed: {
currentPage: {
get() {
return this.page
},
set(val) {
this.$emit('update:page', val)
}
},
pageSize: {
get() {
return this.limit
},
set(val) {
this.$emit('update:limit', val)
}
}
},
methods: {
handleSizeChange(val) {
this.$emit('pagination', { page: this.currentPage, limit: val })
if (this.autoScroll) {
scrollTo(0, 800)
}
},
handleCurrentChange(val) {
this.$emit('pagination', { page: val, limit: this.pageSize })
if (this.autoScroll) {
scrollTo(0, 800)
}
}
}
}
</script>
<style scoped>
.pagination-container {
background: #fff;
padding: 32px 16px;
}
.pagination-container.hidden {
display: none;
}
</style>
<template>
<svg :class="svgClass" aria-hidden="true" v-on="$listeners">
<use :xlink:href="iconName"/>
</svg>
</template>
<script>
export default {
name: 'SvgIcon',
props: {
iconClass: {
type: String,
required: true
},
className: {
type: String,
default: ''
}
},
computed: {
iconName() {
return `#icon-${this.iconClass}`
},
svgClass() {
if (this.className) {
return 'svg-icon ' + this.className
} else {
return 'svg-icon'
}
}
}
}
</script>
<style scoped>
.svg-icon {
width: 1em;
height: 1em;
vertical-align: -0.15em;
fill: currentColor;
overflow: hidden;
}
</style>
/**
* Created by lichb on 2017/4/10.
*/
import {
Scene,
PerspectiveCamera,
WebGLRenderer,
Texture,
Vector3,
SpriteMaterial,
Object3D,
Sprite,
Math as Math2
} from 'three';
const SEPARATION = 100, AMOUNTX = 50, AMOUNTY = 50; // 圆点间隔、x轴方向个数、y轴方向个数
const waveStep = 0.04; // 波动速度
const rotateStep = 0.02; // 旋转速度
const CAMERAMOVERADIUS = 1000; // 相机旋转半径
const cameraDefPos = new Vector3(0, 180, CAMERAMOVERADIUS); // 相机初始位置
const focusDefPos = new Vector3(0, 700, 0); // 相机注视点位置
let container; // canvas容器
let scene, camera, renderer;
let particles, particle, count = 0;
let theta = 0;
let focusObject;
// 生成贴图
function generateTexture() {
let canvas = document.createElement('canvas');
let context = canvas.getContext('2d');
canvas.width = 128;
canvas.height = 128;
drawCircle(context, {x: 64, y: 64, r: 60, c: '#fff'});
return canvas;
}
// 画圆
function drawCircle(context, arg) {
let PI2 = Math.PI * 2;
arg = arg || {x: 0, y: 0, r: 0.5, c: '#fff'};
context.fillStyle = arg.c;
context.beginPath();
context.arc(arg.x, arg.y, arg.r, 0, PI2, true);
context.fill();
}
// 生成材质
function getMaterial() {
let texture = new Texture(generateTexture());
texture.needsUpdate = true; // important!
let material = new SpriteMaterial({color: 0xffffff, map: texture});
return material;
}
function onWindowResize() {
camera.aspect = container.clientWidth / container.clientHeight;
camera.updateProjectionMatrix();
renderer.setSize(container.clientWidth, container.clientHeight);
}
function drawWaves() {
camera = new PerspectiveCamera(100, container.clientWidth / container.clientHeight, 1, 10000);
camera.position.x = cameraDefPos.x;
camera.position.y = cameraDefPos.y;
camera.position.z = cameraDefPos.z;
scene = new Scene();
focusObject = new Object3D();
focusObject.position.x = focusDefPos.x;
focusObject.position.y = focusDefPos.y;
focusObject.position.z = focusDefPos.z;
scene.add(focusObject);
particles = [];
let material = getMaterial();
let i = 0;
for (let ix = 0; ix < AMOUNTX; ix++) {
for (let iy = 0; iy < AMOUNTY; iy++) {
particle = particles[i++] = new Sprite(material);
particle.position.x = ix * SEPARATION - ((AMOUNTX * SEPARATION - 1) / 2);
particle.position.z = iy * SEPARATION - ((AMOUNTY * SEPARATION - 1) / 2);
scene.add(particle);
}
}
renderer = new WebGLRenderer({alpha: true});
renderer.setPixelRatio(window.devicePixelRatio);
renderer.setSize(container.clientWidth, container.clientHeight);
container.appendChild(renderer.domElement);
window.addEventListener('resize', onWindowResize, false);
}
function animate() {
requestAnimationFrame(animate);
render();
}
function render() {
let i = 0;
for (let ix = 0; ix < AMOUNTX; ix++) {
for (let iy = 0; iy < AMOUNTY; iy++) {
particle = particles[i++];
particle.position.y = (Math.sin((ix + count) * 0.3) * 26) +
(Math.sin((iy + count) * 0.4) * 26);
particle.scale.x = particle.scale.y = (Math.sin((ix + count) * 0.3) + 1) * 3 +
(Math.sin((iy + count) * 0.4) + 1) * 3;
}
}
theta += rotateStep;
camera.position.x = CAMERAMOVERADIUS * Math.sin(Math2.degToRad(theta));
camera.position.z = CAMERAMOVERADIUS * Math.cos(Math2.degToRad(theta));
camera.lookAt(focusObject.position);
renderer.render(scene, camera);
count += waveStep;
}
export default {
init(id) {
container = document.querySelector('#' + id);
drawWaves();
animate();
},
removeEvent(){
window.removeEventListener('resize', onWindowResize);
}
}
/**
* Created by lichb on 2017/1/24.
*/
import '@/icons'
export default [
{
name: '菜单',
items: [
{
name: 'KA渠道信息配置',
path: '/home/channels',
icon: 'form'
}, {
name: 'report系统配置',
path: '/home/report',
icon: 'nested'
}, {
name: '统计视图',
path: '/home/matebase',
icon: 'eye-open'
}
]
}
]
/**
* Created by lichb on 2017/1/24.
*/
/**
* auth true登录才能访问,false不需要登录,默认true
*/
export default [
{
path: '/',
meta: {auth: false},
component: resolve => require(['../modules/login/'], resolve)
},
{
path: '/login',
meta: {auth: false},
component: resolve => require(['../modules/login/'], resolve)
},
{
path: '/home',
meta: {auth: true},
component: resolve => require(['../modules/home/'], resolve),
children: [
{
path: 'channels',
component: resolve => require(['../modules/channels/'], resolve),
meta: {auth: true, icon: 'form'},
},
{
path: 'report',
meta: {auth: true},
component: resolve => require(['../modules/report/'], resolve)
},
{
path: 'matebase',
meta: {auth: true},
component: resolve => require(['../modules/matebase/'], resolve)
},
]
},
{
path: '*',
meta: {auth: false},
component: resolve => require(['../modules/login/'], resolve)
},
]
body {
height: 100%;
overflow: hidden;
margin: 0;
background-color: #f0f2f5;
font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, SimSun, sans-serif;
font-weight: 400;
-webkit-font-smoothing: antialiased;
}
::-webkit-scrollbar {
width: 4px;
height: 10px;
}
::-webkit-scrollbar-thumb {
border-radius: 2px;
background: #9598a7;
}
::-webkit-scrollbar-track {
background: #e3e3e3;
}
a {
text-decoration: none;
color: #3074bd;
cursor: pointer;
}
a:hover {
opacity: 0.8;
}
ul, ol {
list-style: none;
}
.fl {
float: left !important;
}
.fr {
float: right !important;
}
.height100 {
height: 100%;
}
button, input, select, textarea {
font-family: inherit;
font-size: inherit;
line-height: inherit;
color: inherit;
}
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata>
Created by FontForge 20120731 at Wed Jan 25 18:36:15 2017
By admin
</metadata>
<defs>
<font id="v2" horiz-adv-x="1024" >
<font-face
font-family="v2"
font-weight="500"
font-stretch="normal"
units-per-em="1024"
panose-1="2 0 6 3 0 0 0 0 0 0"
ascent="896"
descent="-128"
x-height="792"
bbox="44 -31 960 792"
underline-thickness="0"
underline-position="0"
unicode-range="U+0078-E9A7"
/>
<missing-glyph
/>
<glyph glyph-name=".notdef"
/>
<glyph glyph-name=".notdef"
/>
<glyph glyph-name=".null" horiz-adv-x="0"
/>
<glyph glyph-name="nonmarkingreturn" horiz-adv-x="341"
/>
<glyph glyph-name="x" unicode="x" horiz-adv-x="1001"
d="M281 543q-27 -1 -53 -1h-83q-18 0 -36.5 -6t-32.5 -18.5t-23 -32t-9 -45.5v-76h912v41q0 16 -0.5 30t-0.5 18q0 13 -5 29t-17 29.5t-31.5 22.5t-49.5 9h-133v-97h-438v97zM955 310v-52q0 -23 0.5 -52t0.5 -58t-10.5 -47.5t-26 -30t-33 -16t-31.5 -4.5q-14 -1 -29.5 -0.5
t-29.5 0.5h-32l-45 128h-439l-44 -128h-29h-34q-20 0 -45 1q-25 0 -41 9.5t-25.5 23t-13.5 29.5t-4 30v167h911zM163 247q-12 0 -21 -8.5t-9 -21.5t9 -21.5t21 -8.5q13 0 22 8.5t9 21.5t-9 21.5t-22 8.5zM316 123q-8 -26 -14 -48q-5 -19 -10.5 -37t-7.5 -25t-3 -15t1 -14.5
t9.5 -10.5t21.5 -4h37h67h81h80h64h36q23 0 34 12t2 38q-5 13 -9.5 30.5t-9.5 34.5q-5 19 -11 39h-368zM336 498v228q0 11 2.5 23t10 21.5t20.5 15.5t34 6h188q31 0 51.5 -14.5t20.5 -52.5v-227h-327z" />
<glyph glyph-name="slidebar-packup" unicode="&#xe698;"
d="M307 702h653v-104h-653v104zM307 438h653v-104h-653v104zM307 174h653v-104h-653v104zM225 231v311l-161 -156z" />
<glyph glyph-name="announcement" unicode="&#xe61b;"
d="M791 123q-10 0 -15 8q-4 6 -2 13t8 11q60 35 95 95q37 62 37 134t-36 134q-35 60 -94 95q-6 4 -8 10.5t2 13t10.5 8t13.5 -1.5q67 -40 106 -108q40 -70 40 -151t-41 -151q-40 -68 -108 -108q-4 -2 -8 -2zM700 234q-10 0 -15 9q-4 6 -2 13t8 10q31 18 49 49q19 32 19 69
t-19 68q-18 31 -48 49q-6 4 -8 11t2 13t11 8t13 -2q38 -23 60 -61q23 -40 23 -86t-23 -86q-23 -39 -62 -61q-4 -3 -8 -3zM292 178q-44 29 -94 29v0q-46 0 -80.5 30.5t-40.5 76.5v0l-1 14v111l1 15q6 45 40.5 76t80.5 31h1h17t35 7t41 21h1l205 154q12 10 27 16q34 16 60 5
q16 -8 24 -20q10 -16 11 -46v-1v-626v-1q0 -16 -2 -27.5t-10.5 -23t-23.5 -17.5q-8 -2 -18 -2q-33 0 -67 24l-33 23zM486 75l33 -23q34 -24 54 -17q4 1 6 3t4.5 10t2.5 23v625q-1 20 -5 26.5t-11 9.5q-10 5 -25.5 -1.5t-24.5 -14.5h-1l-205 -154q-21 -17 -50 -25.5
t-42.5 -9.5t-23.5 -1q-33 0 -57.5 -22t-29.5 -55l-1 -11v-108l1 -12q5 -33 29.5 -55t57.5 -22h2q60 0 111 -34z" />
<glyph glyph-name="slidebar-packup-copy" unicode="&#xe9a7;"
d="M717 66h-653v104h653v-104zM717 330h-653v104h653v-104zM717 594h-653v104h653v-104zM799 537v-311l161 156z" />
</font>
</defs></svg>
@font-face {font-family: "v2";
src: url('./fonts/iconfont.eot?t=1485340575763'); /* IE9*/
src: url('./fonts/iconfont.eot?t=1485340575763#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('./fonts/iconfont.woff?t=1485340575763') format('woff'), /* chrome, firefox */
url('./fonts/iconfont.ttf?t=1485340575763') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
url('./fonts/iconfont.svg?t=1485340575763#v2') format('svg'); /* iOS 4.1- */
}
.v2 {
font-family:"v2" !important;
font-size:16px;
font-style:normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.v2-slidebar-packup:before { content: "\e698"; }
.v2-announcement:before { content: "\e61b"; }
.v2-slidebar-packup-copy:before { content: "\e9a7"; }
/* css预定义变量 */
:root {
--color-main: #ff0000;
}
import Vue from 'vue'
import SvgIcon from '@/components/SvgIcon' // svg组件
// register globally
Vue.component('svg-icon', SvgIcon)
const requireAll = requireContext => requireContext.keys().map(requireContext)
const req = require.context('./svg', false, /\.svg$/)
requireAll(req)
<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M96.258 57.462h31.421C124.794 27.323 100.426 2.956 70.287.07v31.422a32.856 32.856 0 0 1 25.971 25.97zm-38.796-25.97V.07C27.323 2.956 2.956 27.323.07 57.462h31.422a32.856 32.856 0 0 1 25.97-25.97zm12.825 64.766v31.421c30.46-2.885 54.507-27.253 57.713-57.712H96.579c-2.886 13.466-13.146 23.726-26.292 26.291zM31.492 70.287H.07c2.886 30.46 27.253 54.507 57.713 57.713V96.579c-13.466-2.886-23.726-13.146-26.291-26.292z"/></svg>
\ No newline at end of file
<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="128" height="128"><defs><style/></defs><path d="M512 128q69.675 0 135.51 21.163t115.498 54.997 93.483 74.837 73.685 82.006 51.67 74.837 32.17 54.827L1024 512q-2.347 4.992-6.315 13.483T998.87 560.17t-31.658 51.669-44.331 59.99-56.832 64.34-69.504 60.16-82.347 51.5-94.848 34.687T512 896q-69.675 0-135.51-21.163t-115.498-54.826-93.483-74.326-73.685-81.493-51.67-74.496-32.17-54.997L0 513.707q2.347-4.992 6.315-13.483t18.816-34.816 31.658-51.84 44.331-60.33 56.832-64.683 69.504-60.331 82.347-51.84 94.848-34.816T512 128.085zm0 85.333q-46.677 0-91.648 12.331t-81.152 31.83-70.656 47.146-59.648 54.485-48.853 57.686-37.675 52.821-26.325 43.99q12.33 21.674 26.325 43.52t37.675 52.351 48.853 57.003 59.648 53.845T339.2 767.02t81.152 31.488T512 810.667t91.648-12.331 81.152-31.659 70.656-46.848 59.648-54.186 48.853-57.344 37.675-52.651T927.957 512q-12.33-21.675-26.325-43.648t-37.675-52.65-48.853-57.345-59.648-54.186-70.656-46.848-81.152-31.659T512 213.334zm0 128q70.656 0 120.661 50.006T682.667 512 632.66 632.661 512 682.667 391.339 632.66 341.333 512t50.006-120.661T512 341.333zm0 85.334q-35.328 0-60.33 25.002T426.666 512t25.002 60.33T512 597.334t60.33-25.002T597.334 512t-25.002-60.33T512 426.666z"/></svg>
<svg width="128" height="64" xmlns="http://www.w3.org/2000/svg"><path d="M127.072 7.994c1.37-2.208.914-5.152-.914-6.87-2.056-1.717-4.797-1.226-6.396.982-.229.245-25.586 32.382-55.74 32.382-29.24 0-55.74-32.382-55.968-32.627-1.6-1.963-4.57-2.208-6.397-.49C-.17 3.086-.399 6.275 1.2 8.238c.457.736 5.94 7.36 14.62 14.72L4.17 35.96c-1.828 1.963-1.6 5.152.228 6.87.457.98 1.6 1.471 2.742 1.471s2.284-.49 3.198-1.472l12.564-13.983c5.94 4.416 13.021 8.587 20.788 11.53l-4.797 17.418c-.685 2.699.686 5.397 3.198 6.133h1.37c2.057 0 3.884-1.472 4.341-3.68L52.6 42.83c3.655.736 7.538 1.227 11.422 1.227 3.883 0 7.767-.49 11.422-1.227l4.797 17.173c.457 2.208 2.513 3.68 4.34 3.68.457 0 .914 0 1.143-.246 2.513-.736 3.883-3.434 3.198-6.133l-4.797-17.172c7.767-2.944 14.848-7.114 20.788-11.53l12.336 13.738c.913.981 2.056 1.472 3.198 1.472s2.284-.49 3.198-1.472c1.828-1.963 1.828-4.906.228-6.87l-11.65-13.001c9.366-7.36 14.849-14.474 14.849-14.474z"/></svg>
\ No newline at end of file
<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M84.068 23.784c-1.02 0-1.877-.32-2.572-.96a8.588 8.588 0 0 1-1.738-2.237 11.524 11.524 0 0 1-1.042-2.621c-.232-.895-.348-1.641-.348-2.238V0h.278c.834 0 1.622.085 2.363.256.742.17 1.645.575 2.711 1.214 1.066.64 2.363 1.535 3.892 2.686 1.53 1.15 3.453 2.664 5.77 4.54 2.502 2.045 4.494 3.771 5.977 5.178 1.483 1.406 2.618 2.6 3.406 3.58.787.98 1.274 1.812 1.46 2.494.185.682.277 1.278.277 1.79v2.046H84.068zM127.3 84.01c.278.682.464 1.535.556 2.558.093 1.023-.37 2.003-1.39 2.94-.463.427-.88.832-1.25 1.215-.372.384-.696.704-.974.96a6.69 6.69 0 0 1-.973.767l-11.816-10.741a44.331 44.331 0 0 0 1.877-1.535 31.028 31.028 0 0 1 1.737-1.406c1.112-.938 2.317-1.343 3.615-1.215 1.297.128 2.363.405 3.197.83.927.427 1.923 1.173 2.989 2.239 1.065 1.065 1.876 2.195 2.432 3.388zM78.23 95.902c2.038 0 3.752-.511 5.143-1.534l-26.969 25.83H18.037c-1.761 0-3.684-.47-5.77-1.407a24.549 24.549 0 0 1-5.838-3.709 21.373 21.373 0 0 1-4.518-5.306c-1.204-2.003-1.807-4.07-1.807-6.202V16.495c0-1.79.44-3.665 1.32-5.626A18.41 18.41 0 0 1 5.04 5.562a21.798 21.798 0 0 1 5.213-3.964C12.198.533 14.237 0 16.37 0h53.24v15.984c0 1.62.278 3.367.834 5.242a16.704 16.704 0 0 0 2.572 5.179c1.159 1.577 2.665 2.898 4.518 3.964 1.853 1.066 4.078 1.598 6.673 1.598h20.295v42.325L85.458 92.45c1.02-1.364 1.529-2.856 1.529-4.476 0-2.216-.857-4.113-2.572-5.69-1.714-1.577-3.776-2.366-6.186-2.366H26.1c-2.409 0-4.448.789-6.116 2.366-1.668 1.577-2.502 3.474-2.502 5.69 0 2.217.834 4.092 2.502 5.626 1.668 1.535 3.707 2.302 6.117 2.302h52.13zM26.1 47.951c-2.41 0-4.449.789-6.117 2.366-1.668 1.577-2.502 3.473-2.502 5.69 0 2.216.834 4.092 2.502 5.626 1.668 1.534 3.707 2.302 6.117 2.302h52.13c2.409 0 4.47-.768 6.185-2.302 1.715-1.534 2.572-3.41 2.572-5.626 0-2.217-.857-4.113-2.572-5.69-1.714-1.577-3.776-2.366-6.186-2.366H26.1zm52.407 64.063l1.807-1.663 3.476-3.196a479.75 479.75 0 0 0 4.587-4.284 500.757 500.757 0 0 1 5.004-4.667c3.985-3.666 8.48-7.758 13.485-12.276l11.677 10.741-13.485 12.404-5.004 4.603-4.587 4.22a179.46 179.46 0 0 0-3.267 3.068c-.88.853-1.367 1.322-1.46 1.407-.463.341-.973.703-1.529 1.087-.556.383-1.112.703-1.668.959-.556.256-1.413.575-2.572.959a83.5 83.5 0 0 1-3.545 1.087 72.2 72.2 0 0 1-3.475.895c-1.112.256-1.946.426-2.502.511-1.112.17-1.854.043-2.224-.383-.371-.426-.464-1.151-.278-2.174.092-.511.278-1.279.556-2.302.278-1.023.602-2.067.973-3.132l1.042-3.005c.325-.938.58-1.577.765-1.918a10.157 10.157 0 0 1 2.224-2.941z"/></svg>
\ No newline at end of file
<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><g><path d="M115.625 127.937H.063V12.375h57.781v12.374H12.438v90.813h90.813V70.156h12.374z"/><path d="M116.426 2.821l8.753 8.753-56.734 56.734-8.753-8.745z"/><path d="M127.893 37.982h-12.375V12.375H88.706V0h39.187z"/></g></svg>
\ No newline at end of file
<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M.002 9.2c0 5.044 3.58 9.133 7.998 9.133 4.417 0 7.997-4.089 7.997-9.133 0-5.043-3.58-9.132-7.997-9.132S.002 4.157.002 9.2zM31.997.066h95.981V18.33H31.997V.066zm0 45.669c0 5.044 3.58 9.132 7.998 9.132 4.417 0 7.997-4.088 7.997-9.132 0-3.263-1.524-6.278-3.998-7.91-2.475-1.63-5.524-1.63-7.998 0-2.475 1.632-4 4.647-4 7.91zM63.992 36.6h63.986v18.265H63.992V36.6zm-31.995 82.2c0 5.043 3.58 9.132 7.998 9.132 4.417 0 7.997-4.089 7.997-9.132 0-5.044-3.58-9.133-7.997-9.133s-7.998 4.089-7.998 9.133zm31.995-9.131h63.986v18.265H63.992V109.67zm0-27.404c0 5.044 3.58 9.133 7.998 9.133 4.417 0 7.997-4.089 7.997-9.133 0-3.263-1.524-6.277-3.998-7.909-2.475-1.631-5.524-1.631-7.998 0-2.475 1.632-4 4.646-4 7.91zm31.995-9.13h31.991V91.4H95.987V73.135z"/></svg>
\ No newline at end of file
<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M108.8 44.322H89.6v-5.36c0-9.04-3.308-24.163-25.6-24.163-23.145 0-25.6 16.881-25.6 24.162v5.361H19.2v-5.36C19.2 15.281 36.798 0 64 0c27.202 0 44.8 15.281 44.8 38.961v5.361zm-32 39.356c0-5.44-5.763-9.832-12.8-9.832-7.037 0-12.8 4.392-12.8 9.832 0 3.682 2.567 6.808 6.407 8.477v11.205c0 2.718 2.875 4.962 6.4 4.962 3.524 0 6.4-2.244 6.4-4.962V92.155c3.833-1.669 6.393-4.795 6.393-8.477zM128 64v49.201c0 8.158-8.645 14.799-19.2 14.799H19.2C8.651 128 0 121.359 0 113.201V64c0-8.153 8.645-14.799 19.2-14.799h89.6c10.555 0 19.2 6.646 19.2 14.799z"/></svg>
\ No newline at end of file
<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M104.185 95.254c8.161 7.574 13.145 17.441 13.145 28.28 0 1.508-.098 2.998-.285 4.466h-10.784c.238-1.465.403-2.948.403-4.465 0-8.983-4.36-17.115-11.419-23.216C86 104.66 75.355 107.162 64 107.162c-11.344 0-21.98-2.495-31.22-6.83-7.064 6.099-11.444 14.218-11.444 23.203 0 1.517.165 3 .403 4.465H10.955a35.444 35.444 0 0 1-.285-4.465c0-10.838 4.974-20.713 13.127-28.291C9.294 85.42.003 70.417.003 53.58.003 23.99 28.656.001 64 .001s63.997 23.988 63.997 53.58c0 16.842-9.299 31.85-23.812 41.673zM64 36.867c-29.454 0-53.33-10.077-53.33 15.342 0 25.418 23.876 46.023 53.33 46.023 29.454 0 53.33-20.605 53.33-46.023 0-25.419-23.876-15.342-53.33-15.342zm24.888 25.644c-3.927 0-7.111-2.665-7.111-5.953 0-3.288 3.184-5.954 7.11-5.954 3.928 0 7.111 2.666 7.111 5.954s-3.183 5.953-7.11 5.953zm-3.556 16.372c0 4.11-9.55 7.442-21.332 7.442-11.781 0-21.332-3.332-21.332-7.442 0-1.06.656-2.064 1.8-2.976 3.295 2.626 10.79 4.465 19.532 4.465 8.743 0 16.237-1.84 19.531-4.465 1.145.912 1.801 1.916 1.801 2.976zm-46.22-16.372c-3.927 0-7.11-2.665-7.11-5.953 0-3.288 3.183-5.954 7.11-5.954 3.927 0 7.111 2.666 7.111 5.954s-3.184 5.953-7.11 5.953z"/></svg>
\ No newline at end of file
<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M95.648 118.762c0 5.035-3.563 9.121-7.979 9.121H7.98c-4.416 0-7.979-4.086-7.979-9.121C0 100.519 15.408 83.47 31.152 76.75c-9.099-6.43-15.216-17.863-15.216-30.987v-9.128c0-20.16 14.293-36.518 31.893-36.518s31.894 16.358 31.894 36.518v9.122c0 13.137-6.123 24.556-15.216 30.993 15.738 6.726 31.141 23.769 31.141 42.012z"/><path d="M106.032 118.252h15.867c3.376 0 6.101-3.125 6.101-6.972 0-13.957-11.787-26.984-23.819-32.123 6.955-4.919 11.638-13.66 11.638-23.704v-6.985c0-15.416-10.928-27.926-24.39-27.926-1.674 0-3.306.193-4.89.561 1.936 4.713 3.018 9.974 3.018 15.526v9.121c0 13.137-3.056 23.111-11.066 30.993 14.842 4.41 27.312 23.42 27.541 41.509z"/></svg>
\ No newline at end of file
<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><g><path d="M.006.064h127.988v31.104H.006V.064zm0 38.016h38.396v41.472H.006V38.08zm0 48.384h38.396v41.472H.006V86.464zM44.802 38.08h38.396v41.472H44.802V38.08zm0 48.384h38.396v41.472H44.802V86.464zM89.598 38.08h38.396v41.472H89.598zm0 48.384h38.396v41.472H89.598z"/><path d="M.006.064h127.988v31.104H.006V.064zm0 38.016h38.396v41.472H.006V38.08zm0 48.384h38.396v41.472H.006V86.464zM44.802 38.08h38.396v41.472H44.802V38.08zm0 48.384h38.396v41.472H44.802V86.464zM89.598 38.08h38.396v41.472H89.598zm0 48.384h38.396v41.472H89.598z"/></g></svg>
\ No newline at end of file
<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M126.713 90.023c.858.985 1.287 2.134 1.287 3.447v29.553c0 1.423-.429 2.6-1.287 3.53-.858.93-1.907 1.395-3.146 1.395H97.824c-1.145 0-2.146-.465-3.004-1.395-.858-.93-1.287-2.107-1.287-3.53V93.47c0-.875.19-1.696.572-2.462.382-.766.906-1.368 1.573-1.806a3.84 3.84 0 0 1 2.146-.657h9.725V69.007a3.84 3.84 0 0 0-.43-1.806 3.569 3.569 0 0 0-1.143-1.313 2.714 2.714 0 0 0-1.573-.492h-36.47v23.149h9.725c1.144 0 2.145.492 3.004 1.478.858.985 1.287 2.134 1.287 3.447v29.553c0 .876-.191 1.696-.573 2.463-.38.766-.905 1.368-1.573 1.806a3.84 3.84 0 0 1-2.145.656H51.915a3.84 3.84 0 0 1-2.145-.656c-.668-.438-1.216-1.04-1.645-1.806a4.96 4.96 0 0 1-.644-2.463V93.47c0-1.313.43-2.462 1.288-3.447.858-.986 1.907-1.478 3.146-1.478h9.582v-23.15h-37.9c-.953 0-1.74.356-2.359 1.068-.62.711-.93 1.56-.93 2.544v19.538h9.726c1.239 0 2.264.492 3.074 1.478.81.985 1.216 2.134 1.216 3.447v29.553c0 1.423-.405 2.6-1.216 3.53-.81.93-1.835 1.395-3.074 1.395H4.29c-.476 0-.93-.082-1.358-.246a4.1 4.1 0 0 1-1.144-.657 4.658 4.658 0 0 1-.93-1.067 5.186 5.186 0 0 1-.643-1.395 5.566 5.566 0 0 1-.215-1.56V93.47c0-.437.048-.875.143-1.313a3.95 3.95 0 0 1 .429-1.15c.19-.328.429-.656.715-.984.286-.329.572-.602.858-.821.286-.22.62-.383 1.001-.493.382-.11.763-.164 1.144-.164h9.726V61.619c0-.985.31-1.833.93-2.544.619-.712 1.358-1.068 2.216-1.068h44.335V39.62h-9.582c-1.24 0-2.288-.492-3.146-1.477a5.09 5.09 0 0 1-1.287-3.448V5.14c0-1.423.429-2.627 1.287-3.612.858-.985 1.907-1.477 3.146-1.477h25.743c.763 0 1.478.246 2.145.739a5.17 5.17 0 0 1 1.573 1.888c.382.766.573 1.587.573 2.462v29.553c0 1.313-.43 2.463-1.287 3.448-.859.985-1.86 1.477-3.004 1.477h-9.725v18.389h42.762c.954 0 1.74.355 2.36 1.067.62.711.93 1.56.93 2.545v26.925h9.582c1.239 0 2.288.492 3.146 1.478z"/></svg>
\ No newline at end of file
<svg width="130" height="130" xmlns="http://www.w3.org/2000/svg"><path d="M63.444 64.996c20.633 0 37.359-14.308 37.359-31.953 0-17.649-16.726-31.952-37.359-31.952-20.631 0-37.36 14.303-37.358 31.952 0 17.645 16.727 31.953 37.359 31.953zM80.57 75.65H49.434c-26.652 0-48.26 18.477-48.26 41.27v2.664c0 9.316 21.608 9.325 48.26 9.325H80.57c26.649 0 48.256-.344 48.256-9.325v-2.663c0-22.794-21.605-41.271-48.256-41.271z" stroke="#979797"/></svg>
\ No newline at end of file
# replace default config
# multipass: true
# full: true
plugins:
# - name
#
# or:
# - name: false
# - name: true
#
# or:
# - name:
# param1: 1
# param2: 2
- removeAttrs:
attrs:
- 'fill'
- 'fill-rule'
// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import store from './store'
import VueRouter from 'vue-router'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-default/index.css'
import './css/common.css'
import './css/iconfont.css'
import routes from './config/routes'
import App from './App'
import splitting from './modules/code-splitting-demo'
Vue.use(VueRouter) //路由注册
Vue.use(ElementUI) //UI框架注册
const router = new VueRouter({
routes
})
router.beforeEach(({meta, path}, from, next) => {
let {auth = true} = meta
let isLogin = Boolean(store.state.login.tokens != '') //true用户已登录, false用户未登录
if (auth && !isLogin && path !== '/login') {
return next({path: '/login'})
}
if (isLogin && (path == '/login' || path == '/')) { //已登录过,则跳转到主页
console.log("isLogin token" + store.state.login.tokens)
store.dispatch('GetInfo')
return next({path: '/home/channels'})
}
next()
})
//mock.start() //启动ajax mock服务
splitting.start() //demo:运行webpack2 code splitting示例
new Vue({
el: '#app',
router,
store,
render: h => h(App)
});
<style>
@import "../../css/vars.css"; /* 引入预定义变量 */
.post-css-test {
transform: rotateY(360deg);
box-shadow: 0 0 3px 5px rgba(222, 222, 222, .3);
display: flex;
color: var(--color-main);
}
.navigation-page {
font-size: 14px;
}
.blockbodl {
border: 1px solid #f1faf7;
border-radius: 2px;
}
.base_block {
width: 30%;
}
</style>
<template>
<div>
<el-tabs ref="myTab" v-model="activeName" type="card" @tab-click="handleClick">
<el-tab-pane label="查询结果" name="queryPage">
<div class="content-page">
<div class="home-page-center single-page-center base">
<div class="home-section-wrap page-center-wrap-bottom">
<div class="home-section-env">
<div class="filter-container" style="padding-bottom:20px">
<el-input v-model="listQuery.channelName" placeholder="渠道名称" clearable style="width: 200px;"
class="filter-item" @keyup.enter.native="getChannels"/>
<el-input v-model="listQuery.channelId" placeholder="渠道号" clearable style="width: 200px;"
class="filter-item" @keyup.enter.native="getChannels"/>
<el-input v-model="listQuery.channelCode" placeholder="channel_code" clearable style="width: 200px;"
class="filter-item" @keyup.enter.native="getChannels"/>
<!-- <el-select v-model="listQuery.channelId" placeholder="渠道" clearable style="width: 200px"-->
<!-- class="filter-item">-->
<!-- <el-option v-for="item in channels" :key="item.channelId" :label="item.channelName"-->
<!-- :value="item.channelId"/>-->
<!-- </el-select>-->
<el-button class="filter-item" type="primary" icon="el-icon-search" @click="getChannels">查询
</el-button>
<el-button :disabled="!true" class="filter-item" style="margin-left: 10px;" type="primary"
icon="el-icon-edit" @click="handleCreate">添加
</el-button>
</div>
<el-table
v-show="true"
ref="myTable"
:data="channels"
border
max-height="550"
size="medium"
fit
highlight-current-row
style="">
<el-table-column label="ID" type="index" align="center" width="65"/>
<el-table-column label="渠道名称" prop="channelName" align="center"/>
<el-table-column sortable label="渠道号" prop="channelId" align="center"/>
<el-table-column sortable label="channel_code" prop="channelCode" align="center"/>
<el-table-column label="创建时间" prop="createTime" align="center"/>
<el-table-column label="更新时间" prop="updateTime" align="center"/>
<el-table-column label="操作" align="center" width="180" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="handleUpdate(scope.row)">编辑</el-button>
<el-button type="primary" size="mini" @click="handleQurey(scope.row)">查看</el-button>
</template>
</el-table-column>
</el-table>
<pagination v-show="count>0" :total="count" :page.sync="page" :limit.sync="listQuery.pageSize"
@pagination="getChannels"/>
</div>
</div>
</div>
</div>
<!-- 查询页面 -->
</el-tab-pane>
<el-tab-pane label="基本信息配置" name="baseEdit" style="display: none;">
<!-- 基础配置 -->
<div class="block—bodl">
<el-card class="box-card">
<div slot="header">
<span>基础配置</span>
</div>
<el-form :inline="true" size="medium">
<el-form-item class="base_block" label="渠道名称" label-width="40%">
<el-input class="el_input_box" v-model="channel.baseConfDetail.channelName" :disabled="!isEdit"/>
</el-form-item>
<el-form-item class="base_block" label="渠道号" label-width="40%">
<el-input class="el_input_box" v-model="channel.baseConfDetail.channelId" :disabled="!isEdit"/>
</el-form-item>
<el-form-item class="base_block" label="channel_code" label-width="40%">
<el-input class="el_input_box" v-model="channel.baseConfDetail.channelCode" :disabled="!isEdit"/>
</el-form-item>
<el-form-item class="base_block" label="产品id" label-width="40%">
<el-input class="el_input_box" v-model="channel.baseConfDetail.productId" :disabled="!isEdit"/>
</el-form-item>
<el-form-item class="base_block" label="aesKey" label-width="40%">
<el-input v-model="channel.baseConfDetail.aesKey" :disabled="!isEdit"/>
</el-form-item>
<el-form-item class="base_block" label="md5Key" label-width="40%">
<el-input v-model="channel.baseConfDetail.md5Key" :disabled="!isEdit"/>
</el-form-item>
<el-form-item class="base_block" label="是否标准API渠道" label-width="40%">
<el-input v-model="channel.baseConfDetail.isStandardChannel" :disabled="!isEdit"/>
</el-form-item>
</el-form>
<el-button v-show="isEdit" class="filter-item" style="margin-left: 80%;" type="primary"
icon="el-icon-search"
@click="saveBaseConf">基础配置保存
</el-button>
</el-card>
</div>
<!-- 基础配置 -->
</el-tab-pane>
<el-tab-pane label="进件配置项" name="applyEdit">
<!-- 进件项配置 ====-->
<div class="block—bodl">
<el-card class="box-card">
<div slot="header">
<span>进件校验项配置</span>
</div>
<el-form :inline="true" size="medium">
<el-form-item style="width:25%" label="校验节点" label-width="30%">
<el-select v-model="checkedItemsResultVO.point" placeholder="请选择" clearable class="filter-item"
style="width:100px" :disabled="!isEdit">
<el-option v-for="item in staticData.importCheckPointInit" :key="item.value" :label="item.name"
:value="item.value"/>
</el-select>
</el-form-item>
<el-form-item style="width:70%" label="进件校验项:" label-width="15%">
<el-checkbox-group v-model="checkedItemsResultVO.value" :disabled="!isEdit">
<el-checkbox v-for="item in staticData.importCheckItemsStaticArr" :key="item.value"
:label="item.value" :disabled="!isEdit">
{{item.name}}
</el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-form>
<el-button v-show="isEdit" class="filter-item" style="margin-left: 80%;" type="primary"
icon="el-icon-search"
@click="saveApplyConf">进件校验项保存
</el-button>
</el-card>
</div>
<!-- 进件项配置 ====-->
<!-- 进件项配置 ====-->
<div class="block—bodl">
<el-card class="box-card">
<div slot="header">
<span>进件接口权限</span>
</div>
<el-form :inline="true" size="medium">
<el-form-item style="width:30%" label="进件接口权限:" label-width="40%">
<el-checkbox-group v-model="channel.applyPrivilege.privilege">
<el-checkbox v-for="item in staticData.applyPrivilegeItems" :key="item.value" :label="item.value"
:disabled="!isEdit">{{item.name}}
</el-checkbox>
</el-checkbox-group>
</el-form-item>
<el-form-item>
<span style="font-size: 8px;color: #9598a7">说明:进件接口权限勾选中,对应渠道具有请求该接口的权限</span>
</el-form-item>
</el-form>
<el-button v-show="isEdit" class="filter-item" style="margin-left: 80%;" type="primary"
icon="el-icon-search"
@click="saveApplyConf">保存
</el-button>
</el-card>
</div>
<!-- 进件项配置 ====-->
</el-tab-pane>
<el-tab-pane label="回调配置" name="callbackEdit">
<!-- 回调配置 ====-->
<div class="block—bodl">
<el-card class="box-card">
<div slot="header">
<span>回调配置</span>
</div>
<el-form size="medium" style="width:92%">
<el-form-item label="通知节点" label-width="15%">
<el-input v-model="channel.callbackInfo.noticeNode" :disabled="!isEdit"/>
</el-form-item>
<el-form-item label="通知顺序" label-width="15%">
<el-input v-model="channel.callbackInfo.noticeSequence" :disabled="!isEdit"/>
</el-form-item>
<el-form-item label="审批回调地址" label-width="15%">
<el-input v-model="channel.callbackInfo.auditUrl" :disabled="!isEdit"/>
</el-form-item>
<el-form-item label="订单状态回调地址" label-width="15%">
<el-input v-model="channel.callbackInfo.statusUrl" :disabled="!isEdit"/>
</el-form-item>
<el-form-item label="还款计划回调地址" label-width="15%">
<el-input v-model="channel.callbackInfo.repaymentUrl" :disabled="!isEdit"/>
</el-form-item>
</el-form>
<el-button v-show="isEdit" class="filter-item" style="margin-left: 80%;" type="primary"
icon="el-icon-search"
@click="getChannels">回调配置保存
</el-button>
</el-card>
</div>
<!-- 回调配置 ====-->
</el-tab-pane>
<el-tab-pane label="Rsa配置" name="rsaEdit">
<!-- Rsa配置 ====-->
<div class="block—bodl">
<el-card class="box-card">
<div slot="header">
<span>Rsa配置</span>
</div>
<el-form size="medium" style="width:92%">
<el-form-item label="渠道Rsa公钥" label-width="12%">
<el-input type="textarea" :rows="4" v-model="channel.rsa.channelPubRsa" :disabled="!isEdit"/>
</el-form-item>
<el-form-item label="量化派Rsa私钥" label-width="12%">
<el-input type="textarea" :rows="5" v-model="channel.rsa.lhpPriRsa" :disabled="!isEdit"/>
</el-form-item>
<el-form-item label="量化派Rsa共钥" label-width="12%">
<el-input type="textarea" :rows="4" v-model="channel.rsa.lhpPubRsa" :disabled="!isEdit"/>
</el-form-item>
</el-form>
<el-button v-show="isEdit" class="filter-item" style="margin-left: 80%;" type="primary"
icon="el-icon-search"
@click="getChannels">Rsa配置保存
</el-button>
</el-card>
</div>
<!-- Rsa配置 ====-->
</el-tab-pane>
<el-tab-pane label="刷新缓存" name="refush">
<!-- 刷新内存缓存 ====-->
<div class="block—bodl" v-show="isEdit">
<el-card class="box-card">
<div slot="header">
<span>刷新缓存</span>
</div>
<el-button class="filter-item" style="margin-left: 80%;" type="primary" icon="el-icon-search"
@click="getChannels">刷新内存缓存
</el-button>
</el-card>
</div>
<!-- 刷新内存缓存 ====-->
</el-tab-pane>
</el-tabs>
</div>
</template>
<script>
// import {getChannels, getChannelDetail, saveChannelBaseConf} from '@/apis/channel'
import Pagination from '@/components/Pagination'
import {getChannels, getChannelDetail, saveChannelBaseConf, getStaticElement} from '../../apis/channel'
export default {
data() {
return {
listQuery: {
pageNumber: 0,
pageSize: 10
},
channels: [],
staticData: {
// 数据从后台加载
applyPrivilegeItems: [{"name": "进件", "value": "APPLY_LOAN"}],
importCheckPointInit: [{"name": "一推", "value": 1}],
importCheckItemsStaticArr: [{"name": "地址", "value": "address"}, {"name": "联系人", "value": "contact"}]
},
channel: {
baseConfDetail: {},
importCheckInfo: {
checkedItemsResult: [],//UI选择后的结果,或者编辑页面加载时 用户的数据
},
applyPrivilege: {
privilege: []
},
callbackInfo: {},
rsa: {}
},
count: 1,
page: 1,
roles: undefined,
isEdit: true,
checkedItemsResultVO: { point : [], value:[]},
baseConfLabelWidth: '25%',
activeName: 'queryPage'
}
},
created() {
//this.roles = store.getters.roles
},
mounted() {
this.getChannels()
this.getStaticElement()
this.$nextTick(function () {
// 初始化 之后隐藏tab
let tabs = this.$refs.myTab.$children[0].$refs.tabs
for (let i = 0; i < tabs.length; i++) {
tabs[i].style.display = 'none'
}
})
},
methods: {
getStaticElement() {
getStaticElement().then(res => {
if (res.data) {
if (res.data.applyPrivilegeItems) {
this.staticData.applyPrivilegeItems = res.data.applyPrivilegeItems
}
if (res.data.importCheckPointInit) {
this.staticData.importCheckPointInit = res.data.importCheckPointInit
}
if (res.data.importCheckItemsStaticArr) {
this.staticData.importCheckItemsStaticArr = res.data.importCheckItemsStaticArr
}
}
}).catch(() => {
})
},
getChannels() {
for (const prop in this.listQuery) {
if (this.listQuery[prop] === '') {
delete this.listQuery[prop]
}
}
this.listQuery.pageNumber = this.page - 1
getChannels(this.listQuery).then(res => {
if (res.data) {
this.channels = res.data.content
this.count = res.data.totalElements
// this.$refs.myTable.setCurrentRow(this.channels[0])
}
}).catch(() => {
})
},
handleCreate() {
this.isEdit = true
this.$options.methods.showTabAll(this, "刷新缓存")
// this.channel = {
// baseConfDetail: {},
// importCheckItem: {"point": 1, "checkedItems": []},
// applyPrivilege: [],
// callbackInfo: {}
// }
},
handleUpdate(data) {
this.isEdit = true
this.$options.methods.showTabAll(this, "")
this.$options.methods.getChannelDetail(this, data)
},
handleQurey(data) {
this.isEdit = false
this.$options.methods.showTabAll(this, "刷新缓存")
this.$options.methods.getChannelDetail(this, data)
},
getChannelDetail(that, data) {
getChannelDetail(data).then(rep => {
if (rep.data) {
that.channel = rep.data
if (rep.data && rep.data.importCheckInfo && rep.data.importCheckInfo.checkedItemsResult.length > 0) {
// 说明有数据
let def = rep.data.importCheckInfo.checkedItemsResult[0];
that.checkedItemsResultVO.point = def.point
that.checkedItemsResultVO.value = def.checkedItems
}
}
})
},
saveBaseConf() {
// 保存基本配置信息
saveChannelBaseConf(this.channel.baseConfDetail).then(rep => {
this.$notify({
title: '成功',
message: '保存成功',
type: 'success',
duration: 1500
})
})
},
saveApplyConf() {
// 保存进件项配置
console.log(this.channel.importCheckInfo)
console.log(this.channel.applyPrivilege)
},
handleClick(tab) {
// 如果点击查询页 那么隐藏tab
if ('queryPage' === tab.name) {
this.$options.methods.hiddenTabAll(this)
}
},
showTabAll(that, excludeTab) {
let tabs = that.$refs.myTab.$children[0].$refs.tabs
for (let i = 0; i < tabs.length; i++) {
if (tabs[i].innerHTML != excludeTab) {
// 刷新缓存tab 在新建和 查询是 不显示
tabs[i].style.display = ''
}
}
// 默认让基础信息配置也显示
tabs[1].click()
},
hiddenTabAll(that) {
let tabs = that.$refs.myTab.$children[0].$refs.tabs
for (let i = 0; i < tabs.length; i++) {
tabs[i].style.display = 'none'
}
},
//
// savevData() {
// if (this.roles.includes('channel')) {
// this.channel.basicInfo = { channelId: this.channel.basicInfo.channelId }
// }
// saveChannel(this.channel).then(() => {
// this.$notify({
// title: '成功',
// message: '保存成功',
// type: 'success',
// duration: 1000
// })
// this.handleCurrentChange(this.channel.basicInfo)
// this.getChannels()
// })
// }
}
}
function f() {
}
</script>
/**
* Created by lichb on 2017/3/20.
*
*/
export default {
/**
* webpack的code spliting(Using require.ensure)功能可以将require.ensure及其回调内依赖的包合并到一个独立的模块(chunk)中,
* 并且webpack使用jsonp对这个模块进行异步静默加载
* @好处:在中大型项目中,避免合并后的文件过大;此外,也有利于优化项目的资源加载速度
* @结果:此处module-a.js,module-b.js,module-c.js将被打包到一个独立的chunk中。可以通过 npm run build查看打包结果。
*/
start(){
console.log('webpack2 code splitting demo(Using require.ensure) start...')
require.ensure(['./module-a', './module-b'], function (require) {
require('./module-c')
console.log('webpack2 code splitting demo(Using require.ensure) end!')
});
}
}
/**
* Created by lichb on 2017/3/20.
*/
export default {
start(){
console.log('*********** I AM module-a ***********');
}
}
/**
* Created by lichb on 2017/3/20.
*/
export default {
start(){
console.log('*********** I AM module-b ***********');
}
}
/**
* Created by lichb on 2017/3/20.
*/
export default {
start(){
console.log('*********** I AM module-c ***********');
}
}
<style>
.main-wrapper {
width: 100%;
height: 100%;
padding: 0;
}
.main-header {
/*position: fixed;*/
width: 100%;
height: 50px;
/*padding: 0;*/
/*background-color: #b8b8b8;*/
/*z-index: 8000;*/
/*min-width: 860px;*/
box-shadow: 0 1px 3px 0 rgba(0,0,0,.12), 0 0 3px 0 rgba(0,0,0,.04);
}
/* 页内样式 */
.home-page-center {
height: 100%;
}
.single-page-center {
padding: 8px;
box-sizing: border-box;
}
.home-section-wrap {
padding: 8px;
position: relative;
}
.home-section-wrap-bottom {
min-height: -moz-calc(100% - 130px);
min-height: -webkit-calc(100% - 130px);
min-height: calc(100% - 130px);
margin: 8px;
background-color: #fff;
}
.page-center-wrap-bottom {
min-height: -moz-calc(100% - 16px);
min-height: -webkit-calc(100% - 16px);
min-height: calc(100% - 16px);
background-color: #fff;
}
.page-center-wrap-bottom .home-section-env, .home-section-wrap-bottom .home-section-env, .home-section-wrap-right .home-section-env {
padding: 8px !important;
}
.home-section-wrap-right {
min-height: -moz-calc(50% - 32px);
min-height: -webkit-calc(50% - 32px);
min-height: calc(50% - 32px);
margin: 8px;
background-color: #fff;
}
.home-section-env {
background-color: #fff;
padding: 16px;
position: relative;
border-radius: 4px;
}
</style>
<style scoped>
.top-menu-item {
color: #3f4657;
float: right;
height: 40px;
margin-right: 2%;
font-size: 16px;
padding: 0 16px;
margin-top: 10px;
}
.top-menu-item:hover {
/*background-color: rgb(90, 197, 232);*/
}
.top-menu-title{
float: right;
height: 40px;
font-size: 16px;
/*padding: 0 16px;*/
top: 10px;
margin-right: 6%;
}
</style>
<template>
<div class="main-wrapper main-sidebar-l" :class="{'sidebar-mini':menuIsFold}">
<header class="main-header">
<div class="top-menu-item">
<el-dropdown class="avatar-container" trigger="click">
<div class="avatar-wrapper" style="font-size:large;padding:10px 0" >
<span>欢迎 {{username}} 同学</span>
<svg-icon :iconClass="'user'"></svg-icon>
</div>
<el-dropdown-menu slot="dropdown" class="user-dropdown">
<router-link class="inlineBlock" to="/">
<el-dropdown-item>
Home
</el-dropdown-item>
</router-link>
<el-dropdown-item divided>
<span style="display:block;" @click="logout">LogOut</span>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</header>
<c-menu></c-menu>
<c-main></c-main>
</div>
</template>
<script>
import {mapGetters, mapActions} from 'vuex'
import '@/icons'
import CMenu from 'components/CMenu'
import CMain from 'components/CMain'
export default {
data() {
return {
username: this.$store.getters.username
}
},
computed: mapGetters([
'menuIsFold',
'tokens'
]),
components: {
CMenu,
CMain
},
watch: {
tokens: function (val) {
if (val == '') {
this.$router.push('/login');
}
}
},
methods: mapActions([
'logout'
])
}
</script>
<template>
<div class="login-container">
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form" auto-complete="on" label-position="left">
<h3 class="title">KA管理系统</h3>
<h3 class="title2">
<span class="svg-container">
<svg-icon :iconClass="'example'"/>
</span>登陆试试~~</h3>
<el-form-item prop="username">
<span class="svg-container">
<svg-icon :iconClass="'user'"/>
</span>
<el-input v-model="loginForm.username" name="username" type="text" auto-complete="on" placeholder="邮箱前缀" :suffixIcon="'form'">
<span slot="suffix">@quantgroup.cn</span>
</el-input>
</el-form-item>
<el-form-item prop="password">
<span class="svg-container">
<svg-icon :iconClass="'password'" />
</span>
<el-input
v-model="loginForm.password"
:type="pwdType"
name="password"
auto-complete="on"
placeholder="password"
@keyup.enter.native="handleLogin" />
<span class="show-pwd" @click="showPwd">
<svg-icon :iconClass="pwdType === 'password' ? 'eye' : 'eye-open'" />
</span>
</el-form-item>
<el-form-item>
<el-button :loading="loading" type="primary" style="width:100%;" @click.native.prevent="handleLogin">
登陆
</el-button>
</el-form-item>
</el-form>
</div>
</template>
<script>
import '@/icons'
import {mapGetters} from 'vuex'
export default {
data() {
return {
loginForm: {
username: '',
password: ''
},
loginRules: {
// username: [{ required: true, trigger: 'blur', validator: validateUsername }],
// password: [{ required: true, trigger: 'blur', validator: validatePass }]
},
loading: false,
pwdType: 'password',
redirect: undefined,
nsArray: []
}
},
computed: mapGetters([
'tokens'
]),
watch: {
tokens: function (val) {
this.$router.push('/home/channels');
}
},
created() {
},
methods: {
showPwd() {
if (this.pwdType === 'password') {
this.pwdType = ''
} else {
this.pwdType = 'password'
}
},
handleLogin() {
this.$refs.loginForm.validate(valid => {
if (valid) {
this.loading = true
// this.$store.dispatch('login', this.loginForm)
this.$store.dispatch('login', this.loginForm).then(() => {
this.loading = false
}).catch(() => {
this.loading = false
})
} else {
console.log('error submit!!')
return false
}
})
}
}
}
</script>
<style>
.login-container .el-input {
display: inline-block;
height: 47px;
width: 82%;
}
.login-container .el-input input {
background: transparent;
border: 0px;
-webkit-appearance: none;
border-radius: 0px;
padding: 12px 5px 12px 15px;
color: #eee;
height: 47px;
}
.login-container .el-input input:-webkit-autofill{
-webkit-box-shadow: 0 0 0px 1000px #2d3a4b inset !important;
-webkit-text-fill-color: #fff !important;
}
/*.login-container .el-input input:-webkit-autofill*/
/*.login-container .el-input input:-webkit-autofill:hover,*/
/*.login-container .el-input input:-webkit-autofill:focus,*/
/*.login-container .el-input input:-webkit-autofill:active {*/
/* transition-delay: 99999s;*/
/* transition: color 99999s ease-out, background-color 99999s ease-out;*/
/* -webkit-transition-delay: 99999s;*/
/* -webkit-transition: color 99999s ease-out, background-color 99999s ease-out;*/
/* -webkit-text-fill-color: #807c7c;*/
/*}*/
.login-container .el-form-item {
border: 1px solid rgba(255, 255, 255, 0.1);
background: rgba(0, 0, 0, 0.1);
border-radius: 5px;
color: #454545;
}
</style>
<style scoped>
.login-container {
position: fixed;
height: 100%;
width: 100%;
background-color: #2d3a4b;
}
.login-container .login-form {
position: absolute;
left: 0;
right: 0;
width: 520px;
max-width: 100%;
padding: 35px 35px 15px 35px;
margin: 120px auto;
}
.login-container .tips {
font-size: 14px;
color: #fff;
margin-bottom: 10px;
}
/*.login-container .tips span {*/
/* &:first-of-type {*/
/* margin-right: 16px;*/
/* }*/
/* }*/
/* }*/
.svg-container {
padding: 6px 5px 6px 15px;
color: #889aa4;
vertical-align: middle;
width: 30px;
display: inline-block;
}
.title {
font-size: 26px;
font-weight: 400;
color: #eee;
margin: 0px auto 40px auto;
text-align: center;
font-weight: bold;
}
.title2 {
font-size: 16px;
font-weight: 400;
color: #eee;
margin: 0px auto 40px auto;
text-align: center;
font-weight: bold;
}
.show-pwd {
position: absolute;
right: 10px;
top: 7px;
font-size: 16px;
color: #889aa4;
cursor: pointer;
user-select: none;
}
</style>
<style scoped>
.login-container {
position: fixed;
height: 100%;
width: 100%;
/*background-color: rgba(42, 53, 70, 0.85);*/
}
.login {
margin-top: 10%;
}
.login-form {
/*border: 1px solid rgba(127, 125, 125, 0.41);*/
border-radius: 4px;
transition: .2s;
padding: 16px;
color: rgba(241, 250, 247, 0.05);
}
.login-button {
margin-left: 43%;
/*text-align: center;*/
width: 20%;
}
.text-content {
/*color: #e0e1e2;*/
}
.font-color .el-form-item__label {
color: #e0e1e2;
}
/*.input-color .el-input__inner {*/
/* background-color: #2d3a4b;*/
/*}*/
/*.el-input__inner[SuccessColor="success"] {*/
/* background-color: #67C23A; //绿色*/
/*}*/
</style>
<template>
<div class="login-container">
<div class="login">
<el-row>
<el-col :span="10">&nbsp;</el-col>
<el-col :span="8"><h1 class="text-content">KA后台管理系统</h1></el-col>
</el-row>
<el-row>
<el-col :span="8">&nbsp;</el-col>
<el-col :span="8" class="login-form">
<el-form :model="user" :rules="rules" ref="loginForm" label-width="100px" label-suffix=":">
<el-form-item class="font-color" label="用户名" prop="name">
<el-input class="input-color" v-model="user.name" auto-complete="on" placeholder="username"></el-input>
</el-form-item>
<el-form-item class="font-color" label="密码" prop="pass">
<span class="svg-container">
<svg-icon icon-class="password"/>
</span>
<el-input class="input-color" type="password" v-model="user.pass" auto-complete="on"
placeholder="password"></el-input>
</el-form-item>
</el-form>
<el-form>
<el-form-item>
<el-button class="login-button" type="primary" @click="login('loginForm')">登录</el-button>
</el-form-item>
</el-form>
</el-col>
</el-row>
</div>
</div>
</template>
<script>
import {mapGetters} from 'vuex'
// import {login} from '../../apis/login'
export default {
data() {
let checkName = (rule, value, callback) => {
if (!value) {
return callback(new Error('用户名不能为空'));
}
setTimeout(() => {
if (!value) {
callback(new Error('用户名不能为空'));
} else {
callback();
}
}, 1000);
};
return {
user: {
name: '',
pass: ''
},
rules: {
name: [
{required: true, message: '请输入用户名,用户名不能为空', trigger: 'blur'},
{validator: checkName, trigger: 'blur'}
],
pass: [
{required: true, message: '请输入密码', trigger: 'blur'},
{min: 3, max: 15, message: '长度为 3~15 个字符', trigger: 'blur'}
]
}
};
},
computed: mapGetters([
'tokens'
]),
watch: {
tokens: function (val) {
this.$router.push('/home/channels');
}
},
methods: {
login(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
this.$store.dispatch('login', {name: this.user.name, pass: this.user.pass})
} else {
return false;
}
});
}
}
}
</script>
<template>
<div class="height100">
<div class="home-section-wrap">
<div class="home-section-env">
<p>内容段1</p>
</div>
</div>
<div class="home-section-wrap home-section-wrap-bottom">
<div class="home-section-env">
<p>内容段2</p>
</div>
</div>
</div>
</template>
<template>
<div class="height100">
<div class="home-section-wrap">
<div class="home-section-env">
<p>内容段1</p>
</div>
</div>
<div class="home-section-wrap home-section-wrap-bottom">
<div class="home-section-env">
<p>内容段2</p>
</div>
</div>
</div>
</template>
/**
* Created by lichb on 2017/2/7.
*/
const getters = {
tokens: state => state.login.tokens,
username: state => state.login.username,
}
export default getters
/**
* Created by lichb on 2017/2/7.
*/
import Vue from 'vue'
import Vuex from 'vuex'
import createLogger from 'vuex/dist/logger'
import createPersistedState from 'vuex-persistedstate' //vuex持久化localstorage插件
import * as Cookies from 'js-cookie';
import * as state from './state'
import * as mutations from './mutations'
import * as actions from './actions'
import getters from './getters'
import menu from './modules/menu'
import login from './modules/login'
Vue.use(Vuex)
const debug = process.env.NODE_ENV !== 'production'
let persistedState = {
paths: ['login.tokens'],
getState: (key) => Cookies.getJSON(key),
setState: (key, state) => Cookies.set(key, state, {expires: 3}) //expires->cookie过期时间,单位为天
}
const store = new Vuex.Store({
state,
mutations,
actions,
getters,
modules: {
menu,
login
},
strict: debug,
plugins: debug ? [createLogger(), createPersistedState(persistedState)] : [createPersistedState(persistedState)]
})
export default store
/**
* Created by lichb on 2017/2/7.
*/
import {LOGIN_IN, LOGIN_OUT, USER_INFO} from '../mutation-types'
import tokens from '@/apis/tokens'
import {getUserLoginInfo } from '@/apis/user'
import {getToken, setToken, removeToken} from '@/utils/auth'
const login = {
state: {
tokens: '',
username: '',
roles: []
},
mutations: {
[LOGIN_IN](state, data) {
if (data) {
state.tokens = data.toke
state.username = data.username
}
},
[LOGIN_OUT](state) {
state.tokens = ''
},
[USER_INFO] (state, data) {
if (data) {
state.tokens = data.toke
state.username = data.username
}
}
},
actions: {
login({commit, state}, user) {
// tokens.getTokens(user.name, user.pass).then((data) => {
tokens.getTokens(user.username, user.password).then((data) => {
//success
commit(LOGIN_IN, data.data)
setToken(data.data.toke)
}, (error) => {
//fail
commit(LOGIN_IN, '')
removeToken()
})
},
// 获取用户信息
GetInfo({ commit, state }) {
return new Promise((resolve, reject) => {
getUserLoginInfo(getToken()).then(response => {
const data = response.data
// data.roles = data.rank.indexOf('CHANNEL') !== -1 ? ['channel'] : ['operator']
// if (data.roleInfo.roleInfos && data.roleInfo.roleInfos[0] && data.roleInfo.roleInfos[0].roleId === 1) {
// data.roles.push('admin')
// }
// if (data.roles && data.roles.length > 0) {
// // commit('SET_ROLES', data.roles)
// } else {
// reject('getInfo: roles must be a non-null array !')
// }
commit(USER_INFO, data)
resolve(response)
}).catch(error => {
reject(error)
})
})
},
logout({commit}) {
commit(LOGIN_OUT)
removeToken()
}
}
}
//export
export default login
/**
* Created by lichb on 2017/2/7.
*/
import {LOGIN_IN, LOGIN_OUT} from '../mutation-types'
import tokens from '@/apis/tokens'
import {getToken,setToken ,removeToken} from '@/utils/auth'
// initial state
const state = {
tokens: '',
username:''
}
// getters
const getters = {
tokens: state => state.tokens,
username: state => state.username
}
//actions
const actions = {
login({commit, state}, user){
// tokens.getTokens(user.name, user.pass).then((data) => {
tokens.getTokens(user.username, user.password).then((data) => {
//success
commit(LOGIN_IN, {data: data.data})
setToken(data.data.toke)
}, (error) => {
//fail
commit(LOGIN_IN, {data: ''})
removeToken()
})
},
logout({commit}){
commit(LOGIN_OUT)
removeToken()
}
}
//mutations
const mutations = {
[LOGIN_IN] (state, {data}) {
if (data) {
console.log(data)
state.tokens = data.toke,
state.username = data.username
}
},
[LOGIN_OUT] (state) {
state.tokens = ''
}
}
//export
export default {
state,
getters,
actions,
mutations
}
/**
* Created by lichb on 2017/2/7.
*/
import {TOGGLE_MAIN_MENU} from '../mutation-types'
// initial state
const state = {
isFold: false
}
// getters
const getters = {
menuIsFold: state => state.isFold
}
//actions
const actions = {
toggleMenu({commit}){
commit(TOGGLE_MAIN_MENU)
}
}
//mutations
const mutations = {
[TOGGLE_MAIN_MENU] (state) {
state.isFold = !state.isFold
},
}
//export
export default {
state,
getters,
actions,
mutations
}
/**
* Created by lichb on 2017/2/7.
*/
//菜单折叠
export const TOGGLE_MAIN_MENU = 'menu/TOGGLE_MAIN_MENU'
//登录
export const LOGIN_IN = 'login/LOGIN_IN'
export const LOGIN_OUT = 'login/LOGIN_OUT'
export const SESSION_ID_KEY = 'kmSessionId'
export const USER_INFO = 'userInfo'
/**
* Created by lichb on 2017/2/7.
*/
/**
* Created by lichb on 2017/2/8.
*/
import Cookies from 'js-cookie'
import {SESSION_ID_KEY} from '../store/mutation-types'
export function getToken() {
return Cookies.get(SESSION_ID_KEY)
}
export function setToken(token) {
return Cookies.set(SESSION_ID_KEY, token, { expires: 1, path: '' })
}
export function removeToken() {
return Cookies.remove(SESSION_ID_KEY)
}
import { Loading } from 'element-ui'
let loadingCount = 0
let loading
const startLoading = () => {
loading = Loading.service({
fullscreen: true ,
lock: true,
text: '加载中...',
spinner: 'el-icon-loading',
background: 'rgba(184,184,184,0.79)'
})
}
const endLoading = () => {
loading.close()
}
export const showLoading = () => {
if (loadingCount === 0) {
startLoading()
}
loadingCount += 1
}
export const hideLoading = () => {
if (loadingCount <= 0) {
return
}
loadingCount -= 1
if (loadingCount === 0) {
endLoading()
}
}
import axios from 'axios'
import { Message } from 'element-ui'
import store from '../store'
import { MessageBox } from 'element-ui'
import { showLoading, hideLoading } from './loading'
import {getToken} from '@/utils/auth'
// import * as getters from "../store/getters";
// 创建axios实例
const service = axios.create({
withCredentials: true,
baseURL: process.env.BASE_API, // api 的 base_url
timeout: 1000 * 10 // 请求超时时间
})
// request拦截器
service.interceptors.request.use(
config => {
const url = process.env.BASE_API
//config.url = config.url
// console.log(this.$store.getters)
config.headers['ka_token'] = getToken()
return config
},
error => {
// Do something with request error
console.log(error) // for debug
Promise.reject(error)
}
)
// response 拦截器
service.interceptors.response.use(
// response => response.data,
response => {
/**
* code为非20000是抛错 可结合自己业务进行修改
*/
const res = response.data
if ((typeof res.code === 'number' && res.code !== 200000) || (typeof res.code === 'string' && res.code !== '0000')) {
if (res.code === 500003 || res.code === 500006 || res.code === 500007) {
MessageBox.confirm('你已被登出,可以取消继续留在该页面,或者重新登录', '确定登出', {
confirmButtonText: '重新登录',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
store.dispatch('logout').then(() => {
location.reload() // 为了重新实例化vue-router对象 避免bug
})
}).catch(() => {})
} else if (res.code === 500006) {
store.dispatch('logout').then(() => {
Message({
message: res.message,
type: 'error',
duration: 2 * 1000,
onClose() {
location.replace(`${location.protocol}//${location.host}/login`)
}
})
})
} else {
Message({
message: res.message,
type: 'error',
duration: 3 * 1000
})
}
return Promise.reject(res.message || 'responseInterceptorsError')
} else {
return response.data
}
},
error => {
//console.log('err' + error) // for debug
Message({
message: error.message,
type: 'error',
duration: 5 * 1000
})
return Promise.reject(error)
}
)
/* 请求拦截器(请求之前的操作) */
service.interceptors.request.use((req) => {
showLoading()
return req
}, err => Promise.reject(err))
/* 请求之后的操作 */
service.interceptors.response.use((res) => {
hideLoading()
return res
}, (err) => {
hideLoading()
return Promise.reject(err)
})
export default service
Math.easeInOutQuad = function(t, b, c, d) {
t /= d / 2
if (t < 1) {
return c / 2 * t * t + b
}
t--
return -c / 2 * (t * (t - 2) - 1) + b
}
// requestAnimationFrame for Smart Animating http://goo.gl/sx5sts
var requestAnimFrame = (function() {
return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || function(callback) { window.setTimeout(callback, 1000 / 60) }
})()
// because it's so fucking difficult to detect the scrolling element, just move them all
function move(amount) {
document.documentElement.scrollTop = amount
document.body.parentNode.scrollTop = amount
document.body.scrollTop = amount
}
function position() {
return document.documentElement.scrollTop || document.body.parentNode.scrollTop || document.body.scrollTop
}
export function scrollTo(to, duration, callback) {
const start = position()
const change = to - start
const increment = 20
let currentTime = 0
duration = (typeof (duration) === 'undefined') ? 500 : duration
var animateScroll = function() {
// increment the time
currentTime += increment
// find the value with the quadratic in-out easing function
var val = Math.easeInOutQuad(currentTime, start, change, duration)
// move the document.body
move(val)
// do the animation unless its over
if (currentTime < duration) {
requestAnimFrame(animateScroll)
} else {
if (callback && typeof (callback) === 'function') {
// the animation is done so lets callback
callback()
}
}
}
animateScroll()
}
// A custom Nightwatch assertion.
// the name of the method is the filename.
// can be used in tests like this:
//
// browser.assert.elementCount(selector, count)
//
// for how to write custom assertions see
// http://nightwatchjs.org/guide#writing-custom-assertions
exports.assertion = function (selector, count) {
this.message = 'Testing if element <' + selector + '> has count: ' + count
this.expected = count
this.pass = function (val) {
return val === this.expected
}
this.value = function (res) {
return res.value
}
this.command = function (cb) {
var self = this
return this.api.execute(function (selector) {
return document.querySelectorAll(selector).length
}, [selector], function (res) {
cb.call(self, res)
})
}
}
require('babel-register')
var config = require('../../config')
// http://nightwatchjs.org/guide#settings-file
module.exports = {
src_folders: ['test/e2e/specs'],
output_folder: 'test/e2e/reports',
custom_assertions_path: ['test/e2e/custom-assertions'],
selenium: {
start_process: true,
server_path: require('selenium-server').path,
host: '127.0.0.1',
port: 4444,
cli_args: {
'webdriver.chrome.driver': require('chromedriver').path
}
},
test_settings: {
default: {
selenium_port: 4444,
selenium_host: 'localhost',
silent: true,
globals: {
devServerURL: 'http://localhost:' + (process.env.PORT || config.dev.port)
}
},
chrome: {
desiredCapabilities: {
browserName: 'chrome',
javascriptEnabled: true,
acceptSslCerts: true
}
},
firefox: {
desiredCapabilities: {
browserName: 'firefox',
javascriptEnabled: true,
acceptSslCerts: true
}
}
}
}
// 1. start the dev server using production config
process.env.NODE_ENV = 'testing'
var server = require('../../build/dev-server.js')
// 2. run the nightwatch test suite against it
// to run in additional browsers:
// 1. add an entry in test/e2e/nightwatch.conf.json under "test_settings"
// 2. add it to the --env flag below
// or override the environment flag, for example: `npm run e2e -- --env chrome,firefox`
// For more information on Nightwatch's config file, see
// http://nightwatchjs.org/guide#settings-file
var opts = process.argv.slice(2)
if (opts.indexOf('--config') === -1) {
opts = opts.concat(['--config', 'test/e2e/nightwatch.conf.js'])
}
if (opts.indexOf('--env') === -1) {
opts = opts.concat(['--env', 'chrome'])
}
var spawn = require('cross-spawn')
var runner = spawn('./node_modules/.bin/nightwatch', opts, { stdio: 'inherit' })
runner.on('exit', function (code) {
server.close()
process.exit(code)
})
runner.on('error', function (err) {
server.close()
throw err
})
// For authoring Nightwatch tests, see
// http://nightwatchjs.org/guide#usage
module.exports = {
'default e2e tests': function (browser) {
// automatically uses dev Server port from /config.index.js
// default: http://localhost:8080
// see nightwatch.conf.js
const devServer = browser.globals.devServerURL
browser
.url(devServer)
// .waitForElementVisible('#app', 5000)
// .assert.elementPresent('.grid-content')
.assert.containsText('div', '登录页面')
// .assert.elementCount('img', 1)
.end()
}
}
{
"env": {
"mocha": true
},
"globals": {
"expect": true,
"sinon": true
}
}
// Polyfill fn.bind() for PhantomJS
/* eslint-disable no-extend-native */
Function.prototype.bind = require('function-bind')
// require all test files (files that ends with .spec.js)
const testsContext = require.context('./specs', true, /\.spec$/)
testsContext.keys().forEach(testsContext)
// require all src files except main.js for coverage.
// you can also change this to match only the subset of files that
// you want coverage for.
const srcContext = require.context('src', true, /^\.\/(?!main(\.js)?$)/)
srcContext.keys().forEach(srcContext)
// This is a karma config file. For more details see
// http://karma-runner.github.io/0.13/config/configuration-file.html
// we are also using it with karma-webpack
// https://github.com/webpack/karma-webpack
var webpackConfig = require('../../build/webpack.test.conf')
module.exports = function (config) {
config.set({
// to run in additional browsers:
// 1. install corresponding karma launcher
// http://karma-runner.github.io/0.13/config/browsers.html
// 2. add it to the `browsers` array below.
browsers: ['PhantomJS'],
frameworks: ['mocha', 'sinon-chai'],
reporters: ['spec', 'coverage'],
files: ['./index.js'],
preprocessors: {
'./index.js': ['webpack', 'sourcemap']
},
webpack: webpackConfig,
webpackMiddleware: {
noInfo: true
},
coverageReporter: {
dir: './coverage',
reporters: [
{ type: 'lcov', subdir: '.' },
{ type: 'text-summary' }
]
}
})
}
import Vue from 'vue'
import Hello from 'src/components/CMenu'
describe('CMenu.vue', () => {
it('should render correct contents', () => {
const vm = new Vue({
el: document.createElement('div'),
render: (h) => h(Hello)
})
expect(vm.$el.querySelector('.feed-back a').textContent)
.to.equal('FAQ中心')
})
})
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment