Commit 9df2460e by 无尘

feat: 增加首页

parent 18e4911d
{
"presets": [
["env", {
"modules": false,
"targets": {
"browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
}
}],
"stage-2"
],
"plugins": ["transform-vue-jsx", "transform-runtime"]
}
# http://editorconfig.org
root = true
[*]
charset = utf-8
indent_style = space
indent_size = 2
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
[*.md]
insert_final_newline = false
trim_trailing_whitespace = false
.DS_Store
node_modules/
/build/
/config/
/dist/
/*.js
// https://eslint.org/docs/user-guide/configuring
module.exports = {
root: true,
parserOptions: {
parser: "babel-eslint"
},
env: {
browser: true
},
extends: [
// https://github.com/vuejs/eslint-plugin-vue#priority-a-essential-error-prevention
// consider switching to `plugin:vue/strongly-recommended` or `plugin:vue/recommended` for stricter rules.
// "standard",
"plugin:vue/essential",
// https://github.com/standard/standard/blob/master/docs/RULES-en.md
"plugin:prettier/recommended"
],
// required to lint *.vue files
plugins: ["vue", "prettier"],
// add your custom rules here
rules: {
"prettier/prettier": "error",
// allow async-await
"generator-star-spacing": "off",
"no-console": process.env.NODE_ENV === "production" ? 2 : 0,
"no-alert": process.env.NODE_ENV === "production" ? 2 : 0, //禁止使用alert confirm prompt
"no-debugger": process.env.NODE_ENV === "production" ? 2 : 0,
// --------------------静态检测-----------------------------
/**
* 静态检测:
* 以下基本位能够帮助发现代码错误的规则
* */
// 禁止与负零进行比较
"no-compare-neg-zero": 2,
// 禁止将常量作为 if 或三元表达式的测试条件,比如 if (true), let foo = 0 ? 'foo' : 'bar'
"no-constant-condition": [
2,
{
checkLoops: false
}
],
// 禁止在函数参数中出现重复名称的参数 【辅助检测】
"no-dupe-args": 2,
// 禁止在对象字面量中出现重复名称的键名 【辅助检测】
"no-dupe-keys": 2,
// 禁止出现空代码块 【可读性差】
"no-empty": [
2,
{
"allowEmptyCatch": true
}
],
// 禁止将 catch 的第一个参数 error 重新赋值 【重新赋值,error将没有意义】
"no-ex-assign": 2,
// @fixable 禁止函数表达式中出现多余的括号,比如 let foo = (function () { return 1 }) 【一般不会这么写,可读性差】
"no-extra-parens": [2, "functions"],
// 禁止将一个函数申明重新赋值,如:
// function foo() {}
// foo = bar [静态检测:无意义]
"no-func-assign": 2,
// 禁止在 if 内出现函数申明或使用 var 定义变量
"no-inner-declarations": [2, "both"],
// 禁止使用特殊空白符(比如全角空格),除非是出现在字符串、正则表达式或模版字符串中
"no-irregular-whitespace": [
2,
{
skipStrings: true,
skipComments: false,
skipRegExps: true,
skipTemplates: true
}
],
// typeof 表达式比较的对象必须是 'undefined', 'object', 'boolean', 'number', 'string', 'function' 或 'symbol'
"valid-typeof": 2,
// -----------------------------------最佳实践----------------------------------------------
/**
* 最佳实践
* 这些规则通过一些最佳实践帮助你避免问题
*/
// 禁止函数的循环复杂度超过 20,【https://en.wikipedia.org/wiki/Cyclomatic_complexity】
complexity: [
2,
{
max: 20
}
],
// 不允许有空函数,除非是将一个空函数设置为某个项的默认值 【否则空函数并没有实际意义】
"no-empty-function": [
2,
{
allow: ["functions", "arrowFunctions"]
}
],
// 禁止修改原生对象 【例如 Array.protype.xxx=funcion(){},很容易出问题,比如for in 循环数组 会出问题】
"no-extend-native": 2,
// @fixable 表示小数时,禁止省略 0,比如 .5 【可读性】
"no-floating-decimal": 2,
// 禁止直接 new 一个类而不赋值 【 那么除了占用内存还有什么意义呢? @off vue语法糖大量存在此类语义 先手动关闭】
"no-new": 0,
// 禁止使用 new Function,比如 let x = new Function("a", "b", "return a + b"); 【可读性差】
"no-new-func": 2,
// 禁止将自己赋值给自己 [规则帮助检测]
"no-self-assign": 2,
// 禁止将自己与自己比较 [规则帮助检测]
"no-self-compare": 2,
// @fixable 立即执行的函数必须符合如下格式 (function () { alert('Hello') })() 【立即函数写法很多,这个是最易读最标准的】
"wrap-iife": [
2,
"inside",
{
functionPrototypeMethods: true
}
],
// 禁止使用保留字作为变量名 [规则帮助检测保留字,通常ide难以发现,生产会出现问题]
"no-shadow-restricted-names": 2,
// 禁止使用未定义的变量
"no-undef": [
2,
{
typeof: false
}
],
// 定义过的变量必须使用 【正规应该是这样的,具体可以大家讨论】
"no-unused-vars": [
2,
{
vars: "all",
args: "none",
caughtErrors: "none",
ignoreRestSiblings: true
}
],
// 变量必须先定义后使用 【ps:涉及到es6存在不允许变量提升的问题,以免引起意想不到的错误,具体可以大家讨论】
"no-use-before-define": [
2,
{
functions: false,
classes: false,
variables: false
}
],
// ----------------------------------------------------代码规范----------------------------------------------------------
/**
* 代码规范
* 有关【空格】、【链式换行】、【缩进】、【=、{}、()、首位空格】规范没有添加,怕大家一时间接受不了,目前所挑选的规则都是:保障我们的代码可读性、可维护性的
* */
// 变量名必须是 camelcase 驼峰风格的
// @off 【涉及到 很多 api 或文件名可能都不是 camelcase 先关闭】
camelcase: 0,
// @fixable 禁止在行首写逗号
"comma-style": [2, "last"],
// @fixable 一个缩进必须用两个空格替代
// @off 【不限制大家,为了关闭eslint默认值,所以手动关闭,off不可去掉】 讨论
indent: [2, 2,{ "SwitchCase": 1 }],
//@off 手动关闭//前面需要回车的规则 注释
"spaced-comment": 0,
//@off 手动关闭: 禁用行尾空白
"no-trailing-spaces": 2,
//@off 手动关闭: 不允许多行回车
"no-multiple-empty-lines": 1,
//@off 手动关闭: 逗号前必须加空格
"comma-spacing": 0,
//@off 手动关闭: 冒号后必须加空格
"key-spacing": 1,
// @fixable 结尾禁止使用分号
//@off [vue官方推荐无分号,不知道大家是否可以接受?先手动off掉] 讨论
// "semi": [2,"never"],
semi: 0,
// 代码块嵌套的深度禁止超过 5 层
"max-depth": [1, 5],
// 回调函数嵌套禁止超过 4 层,多了请用 async await 替代
"max-nested-callbacks": [2, 4],
// 函数的参数禁止超过 7 个
"max-params": [2, 7],
// new 后面的类名必须首字母大写 【面向对象编程原则】
"new-cap": [
2,
{
newIsCap: true,
capIsNew: false,
properties: true
}
],
// @fixable new 后面的类必须有小括号 【没有小括号、指针指过去没有意义】
"new-parens": 2,
// @fixable 禁止属性前有空格,比如 foo. bar() 【可读性太差,一般也没人这么写】
"no-whitespace-before-property": 2,
// @fixable 禁止 if 后面不加大括号而写两行代码 eg: if(a>b) a=0 b=0
"nonblock-statement-body-position": [
2,
"beside",
{ overrides: { while: "below" } }
],
// 禁止变量申明时用逗号一次申明多个 eg: let a,b,c,d,e,f,g = [] 【debug并不好审查、并且没办法单独写注释】
"one-var": [2, "never"],
// @fixable 【变量申明必须每行一个,同上】
"one-var-declaration-per-line": [2, "always"],
//是否使用全等
eqeqeq: 0,
//this别名
"consistent-this": [2, "that"],
// -----------------------------ECMAScript 6-------------------------------------
/**
* ECMAScript 6
* 这些规则与 ES6 有关 【请大家 尝试使用正确使用const和let代替var,以后大家熟悉之后可能会提升规则】
* */
// 禁止对定义过的 class 重新赋值
"no-class-assign": 2,
// @fixable 禁止出现难以理解的箭头函数,比如 let x = a => 1 ? 2 : 3
"no-confusing-arrow": [2, { allowParens: true }],
// 禁止对使用 const 定义的常量重新赋值
"no-const-assign": 2,
// 禁止重复定义类
"no-dupe-class-members": 2,
// 禁止重复 import 模块
"no-duplicate-imports": 2,
//@off 以后可能会开启 禁止 var
"no-var": 0,
// ---------------------------------被关闭的规则-----------------------
// parseInt必须指定第二个参数 parseInt("071",10);
radix: 0,
//强制使用一致的反勾号、双引号或单引号 (quotes) 关闭
quotes: 0,
//要求或禁止函数圆括号之前有一个空格
"space-before-function-paren": [0, "always"],
//禁止或强制圆括号内的空格
"space-in-parens": [0, "never"],
//关键字后面是否要空一格
"space-after-keywords": [0, "always"],
// 要求或禁止在函数标识符和其调用之间有空格
"func-call-spacing": [0, "never"]
}
};
.DS_Store
node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
package-lock.json*
# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
// https://github.com/michael-ciniawsky/postcss-load-config
module.exports = {
"plugins": {
"postcss-import": {},
"postcss-url": {},
// to edit target browsers: use "browserslist" field in package.json
"autoprefixer": {}
}
}
{
"printWidth": 2800,
"tabWidth": 2,
"useTabs": false,
"singleQuote": true,
"semi": true,
"trailingComma": "none",
"bracketSpacing": true,
"insertPragma": false,
"jsxBracketSameLine": true,
"proseWrap": "preserve"
}
# api-gateway
> API 网关前端代码
## Build Setup
``` bash
# install dependencies
npm install
# serve with hot reload at localhost:8008
npm run dev
# build for production with minification
npm run build
# build for production and view the bundle analyzer report
npm run build --report
```
For a detailed explanation on how things work, check out the [guide](http://vuejs-templates.github.io/webpack/) and [docs for vue-loader](http://vuejs.github.io/vue-loader).
'use strict'
require('./check-versions')()
process.env.NODE_ENV = 'production'
const ora = require('ora')
const rm = require('rimraf')
const path = require('path')
const chalk = require('chalk')
const webpack = require('webpack')
const config = require('../config')
const webpackConfig = require('./webpack.prod.conf')
const spinner = ora('building for production...')
spinner.start()
rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => {
if (err) throw err
webpack(webpackConfig, (err, stats) => {
spinner.stop()
if (err) throw err
process.stdout.write(stats.toString({
colors: true,
modules: false,
children: false, // If you are using ts-loader, setting this to true will make TypeScript errors show up during build.
chunks: false,
chunkModules: false
}) + '\n\n')
if (stats.hasErrors()) {
console.log(chalk.red(' Build failed with errors.\n'))
process.exit(1)
}
console.log(chalk.cyan(' Build complete.\n'))
console.log(chalk.yellow(
' Tip: built files are meant to be served over an HTTP server.\n' +
' Opening index.html over file:// won\'t work.\n'
))
})
})
'use strict'
const chalk = require('chalk')
const semver = require('semver')
const packageConfig = require('../package.json')
const shell = require('shelljs')
function exec (cmd) {
return require('child_process').execSync(cmd).toString().trim()
}
const versionRequirements = [
{
name: 'node',
currentVersion: semver.clean(process.version),
versionRequirement: packageConfig.engines.node
}
]
if (shell.which('npm')) {
versionRequirements.push({
name: 'npm',
currentVersion: exec('npm --version'),
versionRequirement: packageConfig.engines.npm
})
}
module.exports = function () {
const warnings = []
for (let i = 0; i < versionRequirements.length; i++) {
const mod = versionRequirements[i]
if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) {
warnings.push(mod.name + ': ' +
chalk.red(mod.currentVersion) + ' should be ' +
chalk.green(mod.versionRequirement)
)
}
}
if (warnings.length) {
console.log('')
console.log(chalk.yellow('To use this template, you must update following to modules:'))
console.log()
for (let i = 0; i < warnings.length; i++) {
const warning = warnings[i]
console.log(' ' + warning)
}
console.log()
process.exit(1)
}
}
'use strict'
const path = require('path')
const config = require('../config')
const ExtractTextPlugin = require('extract-text-webpack-plugin')
const packageConfig = require('../package.json')
exports.assetsPath = function (_path) {
const assetsSubDirectory = process.env.NODE_ENV === 'production'
? config.build.assetsSubDirectory
: config.dev.assetsSubDirectory
return path.posix.join(assetsSubDirectory, _path)
}
exports.cssLoaders = function (options) {
options = options || {}
const cssLoader = {
loader: 'css-loader',
options: {
sourceMap: options.sourceMap
}
}
const postcssLoader = {
loader: 'postcss-loader',
options: {
sourceMap: options.sourceMap
}
}
// generate loader string to be used with extract text plugin
function generateLoaders (loader, loaderOptions) {
const loaders = options.usePostCSS ? [cssLoader, postcssLoader] : [cssLoader]
if (loader) {
loaders.push({
loader: loader + '-loader',
options: Object.assign({}, loaderOptions, {
sourceMap: options.sourceMap
})
})
}
// Extract CSS when that option is specified
// (which is the case during production build)
if (options.extract) {
return ExtractTextPlugin.extract({
use: loaders,
publicPath: '../../', //注意: 此处根据路径, 自动更改
fallback: 'vue-style-loader'
})
} else {
return ['vue-style-loader'].concat(loaders)
}
}
// https://vue-loader.vuejs.org/en/configurations/extract-css.html
return {
css: generateLoaders(),
postcss: generateLoaders(),
less: generateLoaders('less'),
sass: generateLoaders('sass', { indentedSyntax: true }),
scss: generateLoaders('sass'),
stylus: generateLoaders('stylus'),
styl: generateLoaders('stylus')
}
}
// Generate loaders for standalone style files (outside of .vue)
exports.styleLoaders = function (options) {
const output = []
const loaders = exports.cssLoaders(options)
for (const extension in loaders) {
const loader = loaders[extension]
output.push({
test: new RegExp('\\.' + extension + '$'),
use: loader
})
}
return output
}
exports.createNotifierCallback = () => {
const notifier = require('node-notifier')
return (severity, errors) => {
if (severity !== 'error') return
const error = errors[0]
const filename = error.file && error.file.split('!').pop()
notifier.notify({
title: packageConfig.name,
message: severity + ': ' + error.name,
subtitle: filename || '',
icon: path.join(__dirname, 'logo.png')
})
}
}
'use strict'
const utils = require('./utils')
const config = require('../config')
const isProduction = process.env.NODE_ENV === 'production'
const sourceMapEnabled = isProduction
? config.build.productionSourceMap
: config.dev.cssSourceMap
module.exports = {
loaders: utils.cssLoaders({
sourceMap: sourceMapEnabled,
extract: isProduction
}),
cssSourceMap: sourceMapEnabled,
cacheBusting: config.dev.cacheBusting,
transformToRequire: {
video: ['src', 'poster'],
source: 'src',
img: 'src',
image: 'xlink:href'
}
}
'use strict'
const path = require('path')
const utils = require('./utils')
const config = require('../config')
const vueLoaderConfig = require('./vue-loader.conf')
function resolve (dir) {
return path.join(__dirname, '..', dir)
}
const createLintingRule = () => ({
test: /\.(js|vue)$/,
loader: "eslint-loader",
enforce: "pre",
include: [resolve("src"), resolve("test")],
options: {
fix: true,
formatter: require("eslint-friendly-formatter"),
emitWarning: !config.dev.showEslintErrorsInOverlay
}
});
module.exports = {
context: path.resolve(__dirname, '../'),
entry: {
app: ["babel-polyfill", "./src/main.js"]
},
output: {
path: config.build.assetsRoot,
filename: '[name].js',
publicPath: process.env.NODE_ENV === 'production'
? config.build.assetsPublicPath
: config.dev.assetsPublicPath
},
externals: {
'vue': 'Vue',
'vue-router': 'VueRouter',
'vuex': 'Vuex'
},
resolve: {
extensions: ['.js', '.vue', '.json'],
alias: {
'vue$': 'vue/dist/vue.esm.js',
'@': resolve('src'),
'components': resolve('src/components'),
'views': resolve('src/views')
}
},
module: {
rules: [
/* {
test: /\.(js|vue)$/,
loader: 'eslint-loader',
enforce: 'pre',
include: [resolve('src'), resolve('test')],
options: {
fix: true,
formatter: require('eslint-friendly-formatter'),
emitWarning: !config.dev.showEslintErrorsInOverlay,
}
}, */
...(config.dev.useEslint ? [createLintingRule()] : []),
{
test: /\.vue$/,
loader: 'vue-loader',
options: vueLoaderConfig
},
{
test: /\.js$/,
loader: 'babel-loader',
include: [resolve('src'), resolve('test'), resolve('node_modules/webpack-dev-server/client')]
},
{
test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
loader: 'url-loader',
options: {
limit: 10000,
name: utils.assetsPath('img/[name].[hash:7].[ext]')
}
},
{
test: /\.scss$/,
loaders: ["style", "css", "scss", "sass"]
},
{
test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/,
loader: 'url-loader',
options: {
limit: 10000,
name: utils.assetsPath('media/[name].[hash:7].[ext]')
}
},
{
test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
loader: 'url-loader',
options: {
limit: 10000,
name: utils.assetsPath('fonts/[name].[hash:7].[ext]')
}
}
]
},
node: {
// prevent webpack from injecting useless setImmediate polyfill because Vue
// source contains it (although only uses it if it's native).
setImmediate: false,
// prevent webpack from injecting mocks to Node native modules
// that does not make sense for the client
dgram: 'empty',
fs: 'empty',
net: 'empty',
tls: 'empty',
child_process: 'empty'
}
}
'use strict'
const utils = require('./utils')
const webpack = require('webpack')
const config = require('../config')
const merge = require('webpack-merge')
const path = require('path')
const baseWebpackConfig = require('./webpack.base.conf')
const CopyWebpackPlugin = require('copy-webpack-plugin')
const HtmlWebpackPlugin = require('html-webpack-plugin')
const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin')
const portfinder = require('portfinder')
const HOST = process.env.HOST
const PORT = process.env.PORT && Number(process.env.PORT)
const devWebpackConfig = merge(baseWebpackConfig, {
module: {
rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap, usePostCSS: true })
},
// cheap-module-eval-source-map is faster for development
devtool: config.dev.devtool,
// these devServer options should be customized in /config/index.js
devServer: {
clientLogLevel: 'warning',
historyApiFallback: {
rewrites: [
{ from: /.*/, to: path.posix.join(config.dev.assetsPublicPath, 'index.html') },
],
},
hot: true,
contentBase: false, // since we use CopyWebpackPlugin.
compress: true,
host: HOST || config.dev.host,
port: PORT || config.dev.port,
open: config.dev.autoOpenBrowser,
overlay: config.dev.errorOverlay
? { warnings: false, errors: true }
: false,
publicPath: config.dev.assetsPublicPath,
proxy: config.dev.proxyTable,
quiet: true, // necessary for FriendlyErrorsPlugin
watchOptions: {
poll: config.dev.poll,
}
},
plugins: [
new webpack.DefinePlugin({
'process.env': require('../config/dev.env')
}),
new webpack.HotModuleReplacementPlugin(),
new webpack.NamedModulesPlugin(), // HMR shows correct file names in console on update.
new webpack.NoEmitOnErrorsPlugin(),
// https://github.com/ampedandwired/html-webpack-plugin
new HtmlWebpackPlugin({
filename: 'index.html',
template: 'index.html',
inject: true,
favicon: './favicon.ico'
}),
// copy custom static assets
new CopyWebpackPlugin([
{
from: path.resolve(__dirname, '../static'),
to: config.dev.assetsSubDirectory,
ignore: ['.*']
}
])
]
})
module.exports = new Promise((resolve, reject) => {
portfinder.basePort = process.env.PORT || config.dev.port
portfinder.getPort((err, port) => {
if (err) {
reject(err)
} else {
// publish the new Port, necessary for e2e tests
process.env.PORT = port
// add port to devServer config
devWebpackConfig.devServer.port = port
// Add FriendlyErrorsPlugin
devWebpackConfig.plugins.push(new FriendlyErrorsPlugin({
compilationSuccessInfo: {
messages: [`Your application is running here: http://${devWebpackConfig.devServer.host}:${port}`],
},
onErrors: config.dev.notifyOnErrors
? utils.createNotifierCallback()
: undefined
}))
resolve(devWebpackConfig)
}
})
})
'use strict'
const path = require('path')
const utils = require('./utils')
const webpack = require('webpack')
const config = require('../config')
const merge = require('webpack-merge')
const baseWebpackConfig = require('./webpack.base.conf')
const CopyWebpackPlugin = require('copy-webpack-plugin')
const HtmlWebpackPlugin = require('html-webpack-plugin')
const ExtractTextPlugin = require('extract-text-webpack-plugin')
const OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin')
const UglifyJsPlugin = require('uglifyjs-webpack-plugin')
const env = require('../config/prod.env')
const webpackConfig = merge(baseWebpackConfig, {
module: {
rules: utils.styleLoaders({
sourceMap: config.build.productionSourceMap,
extract: true,
usePostCSS: true
})
},
devtool: config.build.productionSourceMap ? config.build.devtool : false,
output: {
path: config.build.assetsRoot,
filename: utils.assetsPath('js/[name].[chunkhash].js'),
chunkFilename: utils.assetsPath('js/[id].[chunkhash].js')
},
plugins: [
// http://vuejs.github.io/vue-loader/en/workflow/production.html
new webpack.DefinePlugin({
'process.env': env
}),
new UglifyJsPlugin({
uglifyOptions: {
compress: {
warnings: false
}
},
sourceMap: config.build.productionSourceMap,
parallel: true
}),
// extract css into its own file
new ExtractTextPlugin({
filename: utils.assetsPath('css/[name].[contenthash].css'),
// Setting the following option to `false` will not extract CSS from codesplit chunks.
// Their CSS will instead be inserted dynamically with style-loader when the codesplit chunk has been loaded by webpack.
// It's currently set to `true` because we are seeing that sourcemaps are included in the codesplit bundle as well when it's `false`,
// increasing file size: https://github.com/vuejs-templates/webpack/issues/1110
allChunks: true,
}),
// Compress extracted CSS. We are using this plugin so that possible
// duplicated CSS from different components can be deduped.
new OptimizeCSSPlugin({
cssProcessorOptions: config.build.productionSourceMap
? { safe: true, map: { inline: false } }
: { safe: true }
}),
// 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: 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'
}),
// keep module.id stable when vendor modules does not change
new webpack.HashedModuleIdsPlugin(),
// enable scope hoisting
new webpack.optimize.ModuleConcatenationPlugin(),
// split vendor js into its own file
new webpack.optimize.CommonsChunkPlugin({
name: 'vendor',
minChunks (module) {
// 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',
minChunks: Infinity
}),
// This instance extracts shared chunks from code splitted chunks and bundles them
// in a separate chunk, similar to the vendor chunk
// see: https://webpack.js.org/plugins/commons-chunk-plugin/#extra-async-commons-chunk
new webpack.optimize.CommonsChunkPlugin({
name: 'app',
async: 'vendor-async',
children: true,
minChunks: 3
}),
// copy custom static assets
new CopyWebpackPlugin([
{
from: path.resolve(__dirname, '../static'),
to: config.build.assetsSubDirectory,
ignore: ['.*']
}
])
]
})
if (config.build.productionGzip) {
const 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) {
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
webpackConfig.plugins.push(new BundleAnalyzerPlugin())
}
module.exports = webpackConfig
'use strict'
const merge = require('webpack-merge')
const prodEnv = require('./prod.env')
module.exports = merge(prodEnv, {
NODE_ENV: '"development"'
})
'use strict'
// Template version: 1.3.1
// see http://vuejs-templates.github.io/webpack for documentation.
const path = require('path');
const proxyConfig = require('./proxyList');
module.exports = {
dev: {
// Paths
assetsSubDirectory: 'static',
assetsPublicPath: '/',
proxyTable: proxyConfig.proxyList, //{}, //proxyConfig.proxyList,
// Various Dev Server settings
// host: '0.0.0.0', // can be overwritten by process.env.HOST
host: 'localhost',//'192.168.1.20',//
port: 8098, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
autoOpenBrowser: false,
errorOverlay: true,
notifyOnErrors: true,
poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions-
// Use Eslint Loader?
// If true, your code will be linted during bundling and
// linting errors and warnings will be shown in the console.
useEslint: true,
// If true, eslint errors and warnings will also be shown in the error overlay
// in the browser.
showEslintErrorsInOverlay: false,
/**
* Source Maps
*/
// https://webpack.js.org/configuration/devtool/#development
devtool: 'cheap-module-eval-source-map',
// If you have problems debugging vue-files in devtools,
// set this to false - it *may* help
// https://vue-loader.vuejs.org/en/options.html#cachebusting
cacheBusting: true,
cssSourceMap: true
},
build: {
// Template for index.html
index: path.resolve(__dirname, '../dist/index.html'),
// Paths
assetsRoot: path.resolve(__dirname, '../dist'),
assetsSubDirectory: 'static',
assetsPublicPath: './',
/**
* Source Maps
*/
productionSourceMap: false,
// https://webpack.js.org/configuration/devtool/#production
devtool: '#source-map',
// 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
}
}
'use strict'
module.exports = {
NODE_ENV: '"production"'
}
module.exports = {
proxyList: {
'/gateway-manage/': {
target: 'https://four.gicdev.com/gateway-manage/',
changeOrigin: true,
pathRewrite: {
'^/gateway-manage': ''
}
}
}
}
<!DOCTYPE html><html><head><meta charset=utf-8><link rel="shortcut icon" href=./favicon.ico><title>API网关管理平台</title><link href=./static/css/app.77abf7f22727f9303e0e263d3e44f54e.css rel=stylesheet></head><body style="min-width: 1400px;"><div id=app></div><script src=//web-1251519181.file.myqcloud.com/lib/vue/2.6.6/vue.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vue-router/3.0.2/vue-router.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vuex/3.1.0/vuex.min.js></script><script src=//web-1251519181.file.myqcloud.com/components/img-preview.2.0.00.js></script><script>// Raven.config('https://3715a345910d4c768e7a1ec14619c2d5@sentry.io/1413672').install();</script><script type=text/javascript src=./static/js/manifest.4d659aaf880002144911.js></script><script type=text/javascript src=./static/js/vendor.bb8c036d7dd62f4cb37a.js></script><script type=text/javascript src=./static/js/app.d9731092a9496b107621.js></script></body></html>
\ No newline at end of file
File added
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="shortcut icon" href="./favicon.ico"/>
<title>达摩开放平台</title>
</head>
<body style="min-width: 1400px;" class="damolish">
<div id="app"></div>
<!-- built files will be auto injected -->
<!-- 公共库引用 cdn -->
<script src="//web-1251519181.file.myqcloud.com/lib/vue/2.6.6/vue.min.js"></script>
<script src="//web-1251519181.file.myqcloud.com/lib/vue-router/3.0.2/vue-router.min.js"></script>
<script src="//web-1251519181.file.myqcloud.com/lib/vuex/3.1.0/vuex.min.js"></script>
<script src="//web-1251519181.file.myqcloud.com/components/img-preview.2.0.00.js"></script>
<!-- <script src="https://cdn.ravenjs.com/3.26.2/vue/raven.min.js" crossorigin="anonymous"></script> -->
<script>
// Raven.config('https://3715a345910d4c768e7a1ec14619c2d5@sentry.io/1413672').install();
</script>
</body>
</html>
{
"name": "api-gateway",
"version": "1.0.0",
"description": "api-gateway",
"author": "fairyly",
"private": false,
"scripts": {
"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
"start": "npm run dev",
"build": "node build/build.js",
"format": "onchange 'test/**/*.js' 'src/**/*.js' 'src/**/*.vue' -- prettier --write {{changed}}",
"formater": "onchange \"test/**/*.js\" \"src/**/*.js\" \"src/**/*.vue\" -- prettier --write {{changed}}",
"version": "conventional-changelog -p angular -i changelog.md -s -r 0 && git add changelog.md"
},
"dependencies": {
"babel-polyfill": "^6.26.0",
"element-ui": "^2.6.3",
"file-saver": "^1.3.8",
"html2canvas": "^1.0.0-alpha.12",
"js-md5": "^0.7.3",
"jspdf": "^1.5.3",
"qrcodejs2": "0.0.2",
"requset": "0.0.1-security",
"script-loader": "^0.7.2",
"vue-clipboard2": "^0.2.0",
"xlsx": "^0.13.5"
},
"devDependencies": {
"autoprefixer": "^7.1.2",
"axios": "^0.18.0",
"babel-core": "^6.22.1",
"babel-eslint": "^8.2.1",
"babel-helper-vue-jsx-merge-props": "^2.0.3",
"babel-loader": "^7.1.1",
"babel-plugin-syntax-jsx": "^6.18.0",
"babel-plugin-transform-runtime": "^6.22.0",
"babel-plugin-transform-vue-jsx": "^3.5.0",
"babel-preset-env": "^1.3.2",
"babel-preset-stage-2": "^6.22.0",
"chalk": "^2.0.1",
"copy-webpack-plugin": "^4.0.1",
"css-loader": "^0.28.11",
"es6-promise": "^4.2.6",
"eslint": "^4.15.0",
"eslint-config-prettier": "^3.6.0",
"eslint-config-standard": "^10.2.1",
"eslint-friendly-formatter": "^3.0.0",
"eslint-loader": "^1.7.1",
"eslint-plugin-import": "^2.7.0",
"eslint-plugin-node": "^5.2.0",
"eslint-plugin-prettier": "^3.0.1",
"eslint-plugin-promise": "^3.4.0",
"eslint-plugin-standard": "^3.0.1",
"eslint-plugin-vue": "^4.0.0",
"extract-text-webpack-plugin": "^3.0.0",
"file-loader": "^1.1.4",
"friendly-errors-webpack-plugin": "^1.6.1",
"html-webpack-plugin": "^2.30.1",
"less": "^3.0.4",
"less-loader": "^4.1.0",
"node-notifier": "^5.1.2",
"node-sass": "^4.9.0",
"onchange": "^5.2.0",
"optimize-css-assets-webpack-plugin": "^3.2.0",
"ora": "^1.2.0",
"portfinder": "^1.0.13",
"postcss-import": "^11.0.0",
"postcss-loader": "^2.0.8",
"postcss-url": "^7.2.1",
"prettier": "^1.16.4",
"rimraf": "^2.6.0",
"sass-loader": "^7.0.1",
"semver": "^5.3.0",
"shelljs": "^0.7.6",
"uglifyjs-webpack-plugin": "^1.1.1",
"url-loader": "^0.5.8",
"vue-axios": "^2.1.1",
"vue-loader": "^13.3.0",
"vue-style-loader": "^3.0.1",
"vue-template-compiler": "^2.5.2",
"vuedraggable": "^2.17.0",
"webpack": "^3.6.0",
"webpack-bundle-analyzer": "^2.9.0",
"webpack-dev-server": "^2.9.1",
"webpack-merge": "^4.1.0"
},
"engines": {
"node": ">= 6.0.0",
"npm": ">= 3.0.0"
},
"browserslist": [
"> 1%",
"last 2 versions",
"not ie <= 8"
]
}
<template>
<div id="app">
<transition name="fade" mode="out-in">
<router-view></router-view>
</transition>
</div>
</template>
<script>
export default {
name: 'App',
data() {
return {};
}
};
</script>
<style></style>
import Vue from 'vue';
// import axios from 'axios';
import qs from 'qs';
import { Message } from 'element-ui';
Vue.axios.defaults.timeout = 25000;
let local = window.location.origin;
/* if (local.indexOf('localhost') != -1) {
local = 'http://www.gicdev.com';
} */
Vue.axios.interceptors.request.use(
config => {
return config;
},
err => {
Message.error({ message: '请求超时!' });
return Promise.resolve(err);
}
);
Vue.axios.interceptors.response.use(
data => {
// console.log(data);
if (data.status && data.status == 200 && data.data.code != '0000') {
// Message.error({message: data.data.message});
return data;
}
return data;
},
err => {
// Message.error({message: err.response.message});
if (err.response.status == 504 || err.response.status == 404) {
// Message.error({message: '服务异常⊙﹏⊙∥'});
} else if (err.response.status == 403) {
// Message.error({message: '权限不足,请联系管理员!'});
} else {
// Message.error({message: '未知错误!'});
}
return Promise.resolve(err);
}
);
/*
*
* 统一 get 请求方法
* @url: 请求的 url
* @params: 请求带的参数
* @header: 带 token
*
*/
export const getRequest = (url, params) => {
params.requestProject = 'api-gateway-web';
return Vue.axios({
method: 'get',
url: `${local}${url}`,
data: {},
params: params,
headers: {
'Content-type': 'application/x-www-form-urlencoded'
}
});
};
/**
*
* 统一 post 请求方法
* url: 请求的 url
* @params: 请求带的参数
* @header:
*
*/
export const postRequest = (url, params) => {
params.requestProject = 'api-gateway-web';
return Vue.axios({
method: 'post',
url: `${local}${url}`,
data: qs.stringify(params),
headers: {
'Content-type': 'application/x-www-form-urlencoded'
}
});
};
export const postJsonRequest = (url, params) => {
params.requestProject = 'api-gateway-web';
return Vue.axios({
method: 'post',
url: `${local}${url}`,
data: '{}',
params: params,
headers: { 'Content-Type': 'application/json;charset=UTF-8' }
});
};
/**
* method: 'post'
* 'Content-Type': 'application/json;charset=UTF-8'
* @data: params
* @requestProject: 'api-gateway-web'
*
*/
export const postJson = (url, params) => {
// params.requestProject = "api-gateway-web";
return Vue.axios({
method: 'post',
url: `${local}${url}`,
data: params,
params: { requestProject: 'api-gateway-web' },
headers: { 'Content-Type': 'application/json;charset=UTF-8' }
});
};
/**
* method: 'post'
* data: params
*
*/
export const postForm = (url, params) => {
params.requestProject = 'api-gateway-web';
return Vue.axios({
method: 'post',
url: `${local}${url}`,
data: params,
headers: {}
});
};
/**
* post excel
*/
export const postExcel = (url, params) => {
params.requestProject = 'api-gateway-web';
return Vue.axios({
method: 'post',
url: `${local}${url}`,
data: qs.stringify(params),
responseType: 'blob',
headers: {
'content-type': 'application/x-www-form-urlencoded'
}
});
};
import * as api from './api';
export default api;
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 400 335" style="enable-background:new 0 0 400 335;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FAFCFF;}
.st1{fill:#DBE5F1;}
.st2{fill:#DEE7F4;}
.st3{fill:#B9C7DB;}
.st4{fill:#FFFFFF;}
.st5{fill:none;stroke:#B9C7DB;stroke-width:4;stroke-miterlimit:10;}
.st6{fill:none;stroke:#B6C7D8;stroke-miterlimit:10;}
</style>
<path class="st5" d="M274.5,241.3c-5.3-5.3-4.4,4.4-6.7,6.7c-3.1,3.1-6.3,6-9.7,8.6H125.2c-3.4-2.7-6.6-5.6-9.7-8.7
c-28.4-28.5-38.6-70.5-26.6-109l-10.5-10.6c-5.3-5.3-5.3-13.8,0-19.2c5.2-5.3,13.7-5.3,19-0.1c0,0,0,0,0.1,0.1l6.6,6.8
c3.1,3.2,8.2,3.2,11.4,0l0,0c3.2-3.2,3.2-8.3,0-11.5L103.1,92c-3.2-3.2-3.2-8.3,0-11.5c3.1-3.2,8.2-3.2,11.4,0l0,0l17.2,17.2
c-0.9,3.7,0.9,7.6,4.4,9.3c3.5,1.7,7.7,0.6,9.9-2.5c2.3-3.1,2.1-7.4-0.5-10.3c-3.3-3.8-6.5-7.2-6.5-7.2l-7.3-7.4
c34.8-21.3,82.6-21.7,117.2,0c34.5,21.7,53.9,61.2,50,101.9l15.4,15.6c3.2,3.2,3.2,8.3,0,11.5c-3.1,3.2-8.2,3.2-11.4,0l0,0
l-15.1-15.3c-3.1-3.2-8.2-3.2-11.4,0l0,0c-3.2,3.2-3.2,8.3,0,11.5l17.1,17.2c5.2,5.3,5.2,13.8,0,19.1
C288.4,246.6,279.9,246.6,274.5,241.3C274.6,241.3,274.6,241.3,274.5,241.3L274.5,241.3z"/>
<path class="st3" d="M86.6,71.4c0,4.7,3.8,8.5,8.5,8.5c1.5,0,3-0.4,4.3-1.1c4.1-2.3,5.5-7.5,3.1-11.6c-1.5-2.6-4.3-4.3-7.4-4.3
C90.4,62.9,86.6,66.7,86.6,71.4"/>
<path class="st3" d="M216.4,145.4h24.3l-7.4,17.9c2.6,1.8,4.5,3.8,5.8,6c1.2,2.2,1.9,4.8,1.9,7.8c0,4.6-1.6,8.4-4.8,11.2
c-3.2,2.9-7.3,4.3-12.3,4.3c-2.5,0-5.1-0.4-7.5-1.1v-13.1c2,0.9,3.9,1.4,5.5,1.4s2.9-0.5,3.7-1.4c0.9-1,1.3-2.3,1.3-4.1
c0-1.9-0.8-3.4-2.4-4.6c-1.6-1.2-3.7-1.7-6.4-1.7l3.4-9.1h-5.1V145.4L216.4,145.4z M207.5,181.6c0,1.5-0.3,3-0.8,4.3
s-1.3,2.5-2.3,3.5s-2.2,1.8-3.4,2.3c-1.3,0.6-2.8,0.9-4.3,0.9h-9.6c-1.5,0-2.9-0.3-4.3-0.9c-1.3-0.6-2.5-1.3-3.4-2.3
c-0.4-0.4-0.8-0.9-1.2-1.4l11.7-17.3v6c0,0.6,0.2,1.1,0.6,1.4c0.4,0.4,0.8,0.6,1.4,0.6c1.1,0,2-0.8,2-1.9v-0.1v-11.9l10.9-16.1
c1.8,2,2.8,4.6,2.7,7.3L207.5,181.6L207.5,181.6L207.5,181.6z M177.1,185.9c-0.6-1.4-0.9-2.8-0.8-4.3V156c0-1.5,0.3-3,0.8-4.3
s1.3-2.5,2.3-3.5s2.2-1.8,3.4-2.3c1.3-0.6,2.8-0.9,4.3-0.9h9.6c1.5,0,2.9,0.3,4.3,0.9c1.3,0.5,2.4,1.3,3.4,2.3l-10.5,15.4v-2.7
c0-0.5-0.2-1.1-0.6-1.4c-0.4-0.4-0.9-0.6-1.4-0.6c-1.1,0-2,0.8-2,1.9v0.1v8.6l-12.1,17.9C177.5,186.9,177.3,186.4,177.1,185.9
L177.1,185.9z M243.8,192.7c3.5-7.4,5.3-15.5,5.3-23.7c0-30.5-24.4-55.2-54.6-55.2s-54.6,24.7-54.6,55.2c0,0.4,0,0.8,0,1.1
l19.6-24.6h11.4L154,171.3h5.5v-6.5l11.7-18.5v46.8h-11.7v-9.8h-17.8c5.1,19.2,20.1,34.3,39.2,39.2c-1.2,3.1-4.8,10.7-10.7,12
c-7.3,1.7,19.9,0.4,39.4-12.5c14.9-4.4,27.2-15,33.9-28.9L243.8,192.7L243.8,192.7z"/>
<path class="st4" d="M238.9,154.3l-24.4,35.4l0.5,0.3l24.4-35.4L238.9,154.3z"/>
<path class="st3" d="M266.2,66.6h8c0.7,0,1.3,0.6,1.3,1.3l0,0c0,0.4-0.1,0.7-0.4,1c-0.2,0.3-0.6,0.4-0.9,0.4h-8
c-0.4,0-0.7-0.1-0.9-0.4c-0.5-0.5-0.5-1.4,0-1.9C265.5,66.7,265.8,66.6,266.2,66.6 M116.5,201.9c-4.4,0-8,3.6-8,8.1s3.6,8.1,8,8.1
s8-3.6,8-8.1S120.9,201.9,116.5,201.9L116.5,201.9z M121.4,212.1c-0.8,2-2.8,3.3-4.9,3.3c-3,0-5.3-2.4-5.3-5.4c0-2.2,1.3-4.1,3.3-5
c2-0.8,4.3-0.4,5.8,1.2C121.8,207.7,122.2,210,121.4,212.1L121.4,212.1z M191.3,78.7c-4.4,0-8,3.6-8,8.1s3.6,8.1,8,8.1
c2.1,0,4.2-0.9,5.7-2.4s2.3-3.6,2.3-5.7C199.3,82.4,195.7,78.7,191.3,78.7z M196.3,88.9c-0.8,2-2.8,3.3-4.9,3.3
c-3,0-5.3-2.4-5.3-5.4c0-2.2,1.3-4.2,3.3-5s4.3-0.4,5.8,1.2C196.6,84.6,197.1,86.9,196.3,88.9L196.3,88.9z M270.2,162.6
c-4.4,0-8,3.6-8,8.1s3.6,8.1,8,8.1s8-3.6,8-8.1C278.2,166.3,274.6,162.6,270.2,162.6z M275.1,172.8c-0.8,2-2.8,3.3-4.9,3.3
c-3,0-5.3-2.4-5.3-5.4c0-2.2,1.3-4.2,3.3-5s4.3-0.4,5.8,1.2S275.9,170.8,275.1,172.8z M230.1,31.4c-4.4,0-8,3.6-8,8.1s3.6,8.1,8,8.1
c2.1,0,4.2-0.9,5.7-2.4s2.3-3.6,2.3-5.7C238.1,35,234.5,31.4,230.1,31.4z M235,41.6c-0.8,2-2.8,3.3-4.9,3.3c-3,0-5.3-2.4-5.3-5.4
c0-2.2,1.3-4.2,3.3-5s4.3-0.4,5.8,1.2C235.4,37.2,235.8,39.5,235,41.6z"/>
<path class="st3" d="M163.2,45.9h8.2c0.4,0,0.7,0.1,1,0.4c0.5,0.5,0.5,1.3,0,1.9l0,0c-0.3,0.3-0.6,0.4-1,0.4h-8.2
c-0.4,0-0.7-0.1-1-0.4c-0.5-0.5-0.5-1.3,0-1.9l0,0C162.4,46.1,162.8,45.9,163.2,45.9 M271.7,63.5v8c0,0.4-0.1,0.7-0.4,0.9
c-0.3,0.3-0.6,0.4-1,0.4c-0.7,0-1.4-0.6-1.4-1.3l0,0v-8c0-0.4,0.1-0.7,0.4-0.9c0.5-0.5,1.4-0.5,1.9,0
C271.6,62.8,271.7,63.2,271.7,63.5"/>
<path class="st3" d="M107.4,154.8h8.2c0.4,0,0.7,0.1,1,0.4c0.3,0.2,0.4,0.6,0.4,0.9c0,0.7-0.6,1.3-1.4,1.3h-8.2
c-0.5,0-0.9-0.3-1.2-0.7c-0.2-0.4-0.2-0.9,0-1.3C106.4,155.1,106.9,154.8,107.4,154.8 M169,42.7v8c0,0.4-0.1,0.7-0.4,0.9
c-0.5,0.5-1.4,0.5-2,0c-0.2-0.2-0.4-0.6-0.4-0.9v-8c0-0.4,0.1-0.7,0.4-0.9c0.5-0.5,1.4-0.5,1.9,0C168.8,42,169,42.3,169,42.7"/>
<path class="st3" d="M230.9,110.3h8.1c0.7,0,1.3,0.6,1.3,1.4c0,0.7-0.6,1.3-1.3,1.4h-8.1c-0.8,0-1.4-0.6-1.4-1.4
c0-0.4,0.1-0.7,0.4-1C230.2,110.4,230.6,110.3,230.9,110.3"/>
<path class="st3" d="M114.6,163.8v8.2c0,0.4-0.1,0.7-0.4,1c-0.5,0.5-1.4,0.5-1.9,0c-0.3-0.3-0.4-0.6-0.4-1v-8.2c0-0.4,0.1-0.7,0.4-1
c0.5-0.5,1.4-0.5,1.9,0l0,0C114.4,163.1,114.6,163.4,114.6,163.8"/>
<path class="st1" d="M126,272.7h60.4c0.7,0,1.3,0.6,1.3,1.3l0,0c0,0.7-0.6,1.3-1.3,1.4H126c-0.7,0-1.3-0.6-1.3-1.3
C124.7,273.3,125.3,272.7,126,272.7"/>
<path class="st1" d="M218.6,272.7h34.9c0.7,0,1.3,0.6,1.3,1.3c0,0.7-0.6,1.3-1.3,1.3h-34.9c-0.7,0-1.3-0.6-1.4-1.3
c0-0.4,0.1-0.7,0.4-1C217.9,272.9,218.2,272.7,218.6,272.7"/>
<path class="st1" d="M158.2,282.2h131.5c0.7,0,1.3,0.6,1.4,1.3c0,0.4-0.1,0.7-0.4,1c-0.3,0.3-0.6,0.4-1,0.4H158.2
c-0.7,0-1.3-0.6-1.3-1.3l0,0C156.9,282.8,157.5,282.2,158.2,282.2"/>
<path class="st1" d="M93.8,282.2h34.9c0.7,0,1.3,0.6,1.3,1.3l0,0c0,0.7-0.6,1.3-1.3,1.4l0,0H93.8c-0.7,0-1.3-0.6-1.4-1.3
c0-0.4,0.1-0.7,0.4-1C93.1,282.3,93.5,282.2,93.8,282.2"/>
<path class="st1" d="M197.1,272.7h8.1c0.7,0,1.3,0.6,1.3,1.3c0,0.7-0.6,1.3-1.3,1.3h-8.1c-0.7,0.1-1.4-0.5-1.4-1.3
c-0.1-0.7,0.5-1.4,1.3-1.4C197,272.7,197.1,272.7,197.1,272.7"/>
<path class="st1" d="M284.4,264.6h8.1c0.7,0,1.3,0.6,1.3,1.3l0,0c0,0.7-0.6,1.3-1.3,1.3h-8.1c-0.7,0-1.3-0.6-1.3-1.3
C283,265.3,283.6,264.6,284.4,264.6"/>
<path class="st1" d="M99.2,264.6h171.7c0.4,0,0.7,0.1,0.9,0.4c0.4,0.4,0.5,1,0.3,1.5c-0.2,0.5-0.7,0.8-1.2,0.8H99.1
c-0.7,0-1.3-0.6-1.3-1.3C97.8,265.3,98.4,264.6,99.2,264.6"/>
<path class="st3" d="M235,95.8v8.1c0,0.7-0.6,1.3-1.3,1.3s-1.3-0.6-1.3-1.3v-8.1c0-0.7,0.6-1.3,1.3-1.4C234.4,94.4,235,95,235,95.8"
/>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 400 335" style="enable-background:new 0 0 400 335;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FAFCFF;}
.st1{fill:#DBE5F1;}
.st2{fill:#DEE7F4;}
.st3{fill:#B9C7DB;}
.st4{fill:#FFFFFF;}
.st5{fill:none;stroke:#B9C7DB;stroke-width:4;stroke-miterlimit:10;}
.st6{fill:none;stroke:#B6C7D8;stroke-miterlimit:10;}
</style>
<path class="st0" d="M80.9,159.3c0,50.2,40.7,90.9,90.9,90.9s90.9-40.7,90.9-90.9l0,0c0-50.2-40.7-90.9-90.9-90.9
C121.6,68.3,80.9,109,80.9,159.3C80.9,159.2,80.9,159.3,80.9,159.3z"/>
<path class="st1" d="M96.3,264.2c-0.9,0-2,0-2.8-0.1l0.3-2.7c1.6,0.1,3.3,0.1,5.1,0l0.1,2.7C98,264.1,97.1,264.2,96.3,264.2z
M104.3,263.4l-0.4-2.7c1.6-0.3,3.3-0.7,5.1-1.1l0.7,2.5C107.9,262.8,106,263.2,104.3,263.4z M87.8,263c-1.9-0.5-3.6-1.3-5.2-2.3
l1.3-2.3c1.3,0.8,2.9,1.5,4.5,2L87.8,263L87.8,263z M114.8,260.6l-0.8-2.5c1.6-0.5,3.3-1.2,4.9-1.9l0.9,2.5
C118.2,259.6,116.6,260.1,114.8,260.6z M78.2,257.1c-1.2-1.3-2.3-2.9-3.2-4.7l2.4-1.2c0.8,1.5,1.7,2.9,2.8,4.1L78.2,257.1z
M125,256.7l-1.1-2.4c1.6-0.7,3.2-1.5,4.8-2.3l1.2,2.4C128.2,255.3,126.5,255.9,125,256.7z M134.6,251.9l-1.2-2.4
c1.5-0.8,3.1-1.7,4.7-2.5l1.3,2.3C137.7,250.2,136.1,251.1,134.6,251.9z M72.9,247.3c-0.5-1.7-0.9-3.5-1.2-5.5l2.7-0.4
c0.3,1.7,0.7,3.5,1.1,5.1L72.9,247.3L72.9,247.3z M144,246.6l-1.3-2.3c1.5-0.9,2.9-1.9,4.5-2.8l1.5,2.3
C146.9,244.6,145.5,245.6,144,246.6z M153,240.7l-1.5-2.3c1.5-0.9,2.9-2,4.4-3.1l1.6,2.1C155.9,238.7,154.4,239.6,153,240.7z
M71.3,236.4v-1.2c0-1.3,0-2.8,0.1-4.3l2.7,0.1c-0.1,1.3-0.1,2.8-0.1,4.1v1.1L71.3,236.4z M161.8,234.4l-1.6-2.1
c1.5-1.1,2.8-2.1,4.3-3.2l1.6,2.1C164.6,232.3,163.1,233.3,161.8,234.4z M170.2,227.9l-1.6-2.1c1.3-1.1,2.8-2.3,4.1-3.3l1.7,2
C173,225.6,171.7,226.8,170.2,227.9z M74.7,225.9l-2.7-0.4c0.3-1.7,0.5-3.5,0.9-5.3l2.7,0.5C75.3,222.5,75,224.3,74.7,225.9
L74.7,225.9z M178.5,221l-1.7-2c1.3-1.2,2.7-2.3,4-3.5l1.7,2C181.3,218.8,179.8,219.8,178.5,221z M76.9,215.6l-2.5-0.7l1.6-5.2
l2.5,0.8C77.9,212.2,77.4,214,76.9,215.6z M186.6,214l-1.7-2c1.3-1.2,2.7-2.4,3.9-3.6l1.9,2C189.2,211.6,188,212.8,186.6,214z
M194.4,206.6l-1.9-1.9c1.3-1.2,2.5-2.4,3.9-3.7l1.9,1.9C197.1,204.2,195.7,205.4,194.4,206.6z M80.2,205.5l-2.5-0.9
c0.7-1.6,1.3-3.3,2-4.9l2.5,1.1L80.2,205.5z M202.2,199.1l-1.9-1.9c1.2-1.2,2.5-2.5,3.7-3.9l1.9,1.9
C204.6,196.6,203.4,197.8,202.2,199.1z M84.5,195.6l-2.5-0.7c0.1-0.3,0.1-0.7,0.1-1.2c0-0.9-0.1-2-0.4-3.6l2.7-0.4
c0.3,1.7,0.4,3.1,0.4,4C84.6,194.4,84.6,195.1,84.5,195.6z M209.5,191.4l-2-1.9c1.2-1.3,2.4-2.5,3.6-3.9l2,1.7
C212,188.8,210.7,190,209.5,191.4z M80.8,184.9v-0.4c-0.3-1.5-0.5-3.2-0.9-4.9l2.7-0.4c0.3,1.7,0.7,3.3,0.9,4.9v0.4L80.8,184.9z
M215.5,184.8l-2-1.7c1.2-1.3,2.4-2.7,3.5-4l2,1.7C217.9,182.1,216.7,183.5,215.5,184.8z M222.6,176.8l-2-1.7c1.2-1.3,2.3-2.7,3.5-4
l2,1.7C225,174,223.8,175.5,222.6,176.8z M78.9,174.4c-0.3-1.9-0.5-3.6-0.7-5.3l2.7-0.3c0.1,1.7,0.4,3.5,0.7,5.2L78.9,174.4z
M229.6,168.5l-2.1-1.7c1.1-1.3,2.3-2.8,3.3-4.1l2.1,1.6C231.8,165.7,230.6,167.2,229.6,168.5z M77.7,163.6
c-0.1-1.9-0.1-3.6-0.1-5.5h2.7c0,1.7,0,3.5,0.1,5.2L77.7,163.6z M236.3,160.1l-2.1-1.6c1.1-1.5,2.1-2.8,3.2-4.3l2.1,1.6
C238.4,157.3,237.3,158.6,236.3,160.1z M80.4,152.9l-2.7-0.1c0.1-1.9,0.3-3.6,0.5-5.5l2.7,0.3C80.6,149.4,80.5,151.1,80.4,152.9z
M242.5,151.5l-2.1-1.6c1.1-1.5,2.1-2.9,3.1-4.3l2.1,1.5C244.7,148.6,243.6,150,242.5,151.5z M248.8,142.7l-2.3-1.5
c1.1-1.5,2-2.9,2.9-4.4l2.3,1.5C250.8,139.8,249.8,141.2,248.8,142.7z M81.7,142.4l-2.7-0.5c0.4-1.7,0.8-3.6,1.2-5.3l2.5,0.7
C82.4,139.1,82,140.7,81.7,142.4z M254.7,133.7l-2.3-1.5c0.9-1.5,1.9-3.1,2.8-4.5l2.3,1.3C256.6,130.7,255.6,132.1,254.7,133.7z
M84.5,132.4l-2.5-0.9c0.7-1.7,1.3-3.3,2.1-5.1l2.4,1.1C85.7,129.2,85,130.8,84.5,132.4z M260.2,124.5l-2.3-1.3
c0.9-1.6,1.7-3.1,2.7-4.7l2.3,1.3C262.1,121.4,261.1,122.9,260.2,124.5z M88.9,122.9l-2.3-1.3l0.9-1.6c0.5-0.9,1.1-2,1.7-2.9
l2.3,1.3c-0.5,1.1-1.2,2-1.7,2.9L88.9,122.9z M265.4,115.2L263,114c0.8-1.6,1.6-3.2,2.4-4.7l2.4,1.2
C267.1,111.9,266.3,113.5,265.4,115.2z M94.3,113.7l-2.3-1.3c0.9-1.5,1.9-3.1,2.8-4.5l2.3,1.5L94.3,113.7z M270.2,105.5l-2.4-1.1
c0.8-1.6,1.5-3.2,2.1-4.8l2.4,1.1C271.8,102.2,271,103.8,270.2,105.5z M100,104.9l-2.1-1.6l3.2-4.4l2.1,1.6
C102.1,101.9,101.1,103.3,100,104.9z M106.6,96.4l-2-1.7l3.6-4l1.9,1.9C108.8,93.8,107.6,95.1,106.6,96.4z M274.5,95.6l-2.5-0.9
c0.7-1.6,1.3-3.3,1.9-4.9l2.5,0.9C275.8,92.2,275.2,93.9,274.5,95.6z M113.9,88.9l-1.7-2c1.3-1.2,2.8-2.4,4.1-3.5l1.6,2.1
C116.6,86.7,115.1,87.7,113.9,88.9z M278.1,85.5l-2.5-0.8c0.5-1.7,1.1-3.5,1.5-5.1l2.5,0.7C279.2,81.9,278.8,83.6,278.1,85.5z
M122.1,82.4l-1.5-2.3c1.5-1.1,3.1-2,4.5-2.9l1.3,2.3C125,80.5,123.5,81.5,122.1,82.4z M131.2,77.2l-1.2-2.4
c1.6-0.8,3.3-1.5,4.9-2.3L136,75C134.4,75.7,132.8,76.4,131.2,77.2z M280.9,74.9l-2.7-0.5c0.4-1.7,0.7-3.5,0.8-5.2l2.7,0.4
C281.6,71.3,281.3,73.2,280.9,74.9z M140.9,73.2l-0.8-2.5l5.2-1.6l0.7,2.5C144.3,72.1,142.7,72.6,140.9,73.2z M151.1,70.4l-0.5-2.7
c1.7-0.4,3.6-0.8,5.3-1.1l0.4,2.7C154.6,69.7,152.8,70,151.1,70.4z M187.8,69.2c-1.5-0.1-3.2-0.4-5.2-0.5l0.3-2.7
c2.1,0.1,3.9,0.4,5.3,0.7L187.8,69.2z M194,68.9l-1.6-2.1c1.5-1.1,2.9-2.1,4.3-3.2l1.6,2.1C196.9,66.7,195.5,67.8,194,68.9z
M161.5,68.6l-0.3-2.7c1.7-0.3,3.6-0.4,5.3-0.4l0.1,2.7L161.5,68.6z M177.3,68.1c-1.6-0.1-3.2-0.1-4.8-0.1H172v-2.7h0.5
c1.6,0,3.2,0,4.9,0.1L177.3,68.1z M282.2,64.1l-2.7-0.1v-1.7c0-1.2,0-2.4-0.1-3.5l2.7-0.3c0.1,1.2,0.1,2.4,0.1,3.6V64.1z
M202.7,62.6l-1.5-2.3c1.5-1.1,2.9-2,4.4-2.9l1.5,2.3C205.6,60.6,204.2,61.7,202.7,62.6L202.7,62.6z M211.6,56.9l-1.5-2.3
c1.6-0.9,3.1-1.9,4.7-2.8l1.3,2.3C214.6,55,213.1,55.9,211.6,56.9z M278.6,53.8c-0.4-1.7-1.1-3.3-1.7-4.7l2.4-1.2
c0.8,1.6,1.5,3.3,2,5.3L278.6,53.8L278.6,53.8z M220.7,51.5l-1.3-2.4c1.6-0.9,3.2-1.7,4.8-2.5l1.2,2.4
C223.9,49.8,222.3,50.7,220.7,51.5z M230.2,46.7l-1.1-2.4c1.7-0.8,3.3-1.5,4.9-2.1l0.9,2.5C233.6,45.4,231.8,46,230.2,46.7z
M274.1,45l-0.9-0.9c-0.9-0.8-1.9-1.5-2.9-2.1l1.3-2.3c1.2,0.7,2.4,1.5,3.3,2.4c0.4,0.4,0.8,0.7,1.1,1.1L274.1,45L274.1,45z
M240,42.8l-0.8-2.5c1.7-0.7,3.5-1.2,5.2-1.6l0.7,2.5C243.5,41.7,241.7,42.3,240,42.8z M265.5,40.1c-1.6-0.4-3.2-0.7-5.1-0.8
l0.1-2.7c2,0.1,3.9,0.4,5.5,0.8L265.5,40.1L265.5,40.1z M250.2,40.1l-0.5-2.7c1.9-0.4,3.7-0.5,5.5-0.8l0.3,2.7
C253.8,39.5,252,39.7,250.2,40.1L250.2,40.1z"/>
<path class="st2" d="M92.1,178.4c5.6,5.9,32.8-11.2,60.8-38.2s46.2-53.7,40.6-59.6c0,0,0,0-0.1-0.1c-5.6-5.8-32.9,11.3-60.9,38.4
C104.6,145.9,86.5,172.6,92.1,178.4L92.1,178.4z"/>
<path class="st0" d="M122.1,117.3l5.7-5.7l25.5,25.5l-5.7,5.7L122.1,117.3z M163.8,147.2h148.4c3.7,0,6.7,2.9,6.7,6.7v61.5
c0,3.7-2.9,6.7-6.7,6.7H163.8c-3.7,0-6.7-2.9-6.7-6.7v-61.5C157.1,150.2,160,147.2,163.8,147.2z"/>
<path class="st3" d="M325.8,134.1v-5.6h2v5.6h5.6v2h-5.6v5.7h-2v-5.6h-5.6v-2L325.8,134.1L325.8,134.1z M86.6,202.5l-1.3-2.9
c-0.4-0.9-0.8-1.7-1.3-2.9l-0.8-3.3c-4-10.6-6.3-21.9-6.3-34c0-23.9,9-45.9,23.8-62.3L85.3,80.8c-1.6-1.7-1.6-4.5,0.1-6.2
c1.7-1.7,4.4-1.7,6.2-0.1l16.3,15.4c16.6-15,38.5-24.1,62.7-24.1c17.8,0,34.5,4.9,48.7,13.6c10.7,7.2,13.4,8.7,21,17.6
c5.7,6.7,6,6.4,10.7,14.2c0.8,0.1,7.5,11.8,7.5,15.6c2.4,6.3,4,13,4.9,19.7h48.4c2.7,0,5.1,1.1,7,2.9c1.9,1.9,2.9,4.4,2.9,7v57.8
c0,2.7-1.1,5.1-2.9,7c-1.9,1.9-4.4,2.9-7,2.9h-73.4c-17.1,17.8-41.2,28.9-67.8,28.9c-10.8,0-21.7-1.9-31.8-5.5
c-17.8-7.9-17.1-7.2-26.1-14.2s-10-9.4-22.7-25.9C88.6,205.3,87.7,204.5,86.6,202.5z M91.7,202.6c10.2,18.5,26.7,33,46.7,40.6
c8.6-5.3,23.7-16.8,25.5-19.3c-2.7,0-5.1-1.1-7-2.9s-2.9-4.4-2.9-7v-46.8c-9.6,6.3-20.6,10.8-31.7,13.5c-13.9,3.3-26.7,3.1-30.4-0.5
c-6.3-6.3,9.1-30.2,34.2-56.4l-23-24.2c-14,15.9-22.7,36.8-22.7,59.6c0,10.8,1.9,21.5,5.7,31.6l2,5.5
C88.8,197.4,89.3,198.9,91.7,202.6L91.7,202.6z M110.6,92.3l24.3,22.9l0.1-0.1c27-26.2,51.5-42,57.9-35.6c3.6,3.6,3.7,16.4,0.3,30.5
c-3.2,13-8.8,25.5-16.8,36.4h64.4c5.1-7,9.6-13.6,13.6-20.1c-13.1-33.4-45.7-57-83.7-57C147.5,69.4,126.5,78,110.6,92.3z M137.8,118
l17,16c11-11.4,20.5-22.7,26.7-32.2c6.6-9.9,9.1-16.8,7.5-18.5c-1.6-1.6-8.6,0.9-18.5,7.5C161,97.2,149.5,106.7,137.8,118z
M152.3,136.7L89,77c-0.3-0.3-0.8-0.3-1.1,0s-0.3,0.8,0,1.1l59.6,63.1C149.2,139.8,150.7,138.1,152.3,136.7z M144.9,143.8L129,127
c-10.6,11.1-19.7,21.9-25.7,31.2c-6.6,9.9-9.1,16.8-7.5,18.5c1.6,1.6,8.6-0.9,18.5-7.5C123.3,163,134.1,154.2,144.9,143.8
L144.9,143.8z M192,90.1c-4,11.5-18.7,30.8-38.6,50.7c-20.1,20.1-39.3,34.8-50.9,38.6c5.1,0.1,11.9-0.5,19-2.3
c16.3-3.9,32-11.9,44-23.9c12-11.9,20.2-27.7,24.2-44.1C191.3,102,192,95.2,192,90.1z M157.6,164.8v49.3c0,1.6,0.7,3.2,1.7,4.4
c1.2,1.2,2.7,1.7,4.4,1.7h147.9c3.3,0,6.2-2.8,6.2-6.2v-57.9c0-3.3-2.8-6.2-6.2-6.2H173.3c-0.1,0.3-0.4,0.4-0.5,0.7l3.1,2.8
c3.1,2.9,3.2,7.9,0.1,11c-2.9,3.1-7.9,3.2-11,0.1l-3.1-3.2C160.6,162.6,159.1,163.7,157.6,164.8z M170.3,153.5
c-1.7,2-3.7,3.7-5.6,5.6l2.8,2.9c1.7,1.7,4.3,1.7,5.9,0.1c0.8-0.8,1.2-1.9,1.2-2.9s-0.5-2.1-1.3-2.9
C173.3,156.3,170.3,153.5,170.3,153.5z M233,224h-68.7c-9.8,8-17,13.4-26.1,19.3c9.1,3.3,22.9,6,32.4,6
C194.8,249.1,216.9,239.5,233,224z M259.6,146.3c-0.8-5.3-3.7-15-5.3-20.1c-4.3,7.1-9.1,14.4-13.9,20.1H259.6z M196.5,206.7v-9
h-21.8v-5.1c1.9-3.5,4.1-7.4,7.1-11.8c2.8-4.4,6.8-10.3,12-17.6h8v29.5h6.2v4.8h-6.2v9h-5.3V206.7z M243.6,207.4c-5.1,0-9-2-11.8-6
s-4.1-9.5-4.1-16.3s1.5-12.2,4.3-16.3c2.8-4,6.7-6.2,11.8-6.2s9,2,11.8,6s4.1,9.5,4.1,16.3s-1.3,12.3-4.1,16.3
C252.6,205.4,248.7,207.4,243.6,207.4z M243.6,202.7c3.3,0,6-1.6,7.8-4.8c1.9-3.2,2.7-7.5,2.7-13c0-5.3-0.9-9.6-2.7-12.8
c-1.9-3.2-4.4-4.8-7.8-4.8c-3.3,0-5.9,1.6-7.8,4.8c-1.9,3.2-2.8,7.5-2.8,12.8s0.9,9.8,2.7,13C237.6,201.1,240.1,202.7,243.6,202.7z
M301.6,206.7v-9h-21.8v-5.1c1.9-3.5,4.1-7.4,7.1-11.8c2.8-4.4,6.8-10.3,12-17.6h8v29.5h6.2v4.8h-6.3v9h-5.2V206.7z M180.1,192.8
l16.4,0.1v-25.1h-0.1c-4.1,5.9-7.5,10.7-10,14.6C184,186.3,181.8,189.8,180.1,192.8L180.1,192.8z M285.2,192.8l16.4,0.1v-25.1h-0.1
c-4.1,5.9-7.5,10.7-10,14.6C288.9,186.3,286.9,189.8,285.2,192.8L285.2,192.8z M51.5,100.4l4-4l1.3,1.3l-4,4l4,4l-1.3,1.3l-4-4l-4,4
l-1.3-1.3l4-4l-4-4l1.3-1.3L51.5,100.4z M344.6,167.6V158h3.3v9.6h9.6v3.3h-9.6v9.6h-3.3v-9.6H335v-3.3H344.6z"/>
<path class="st4" d="M52.1,248.9c2.5,0,4.7-2.1,4.7-4.7s-2.1-4.7-4.7-4.7c-2.5,0-4.7,2.1-4.7,4.7S49.6,248.9,52.1,248.9z"/>
<path class="st3" d="M52.1,250.2c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6S55.5,250.2,52.1,250.2z M52.1,240.8c-1.9,0-3.3,1.5-3.3,3.3
s1.5,3.3,3.3,3.3c1.9,0,3.3-1.5,3.3-3.3S54,240.8,52.1,240.8z"/>
<path class="st3" d="M276.6,70.1l5.2-6.4l2.8,7.9l6.4,5.2l-7.9,2.8l-5.2,6.4l-2.8-7.9l-6.4-5.2L276.6,70.1z"/>
<path class="st3" d="M277.4,88.7l-3.5-9.8l-8-6.6l9.8-3.5l6.6-8l3.5,9.8l8,6.6l-9.8,3.5L277.4,88.7z M271.4,73.3l4.9,4l2.1,6l4-4.9
l6-2.1l-4.9-4l-2.1-6l-4,4.9L271.4,73.3z"/>
<path class="st3" d="M109.7,274.7h60.4c0.7,0,1.3,0.6,1.3,1.3l0,0c0,0.7-0.6,1.3-1.3,1.4h-60.4c-0.7,0-1.3-0.6-1.3-1.3
C108.3,275.3,108.9,274.7,109.7,274.7"/>
<path class="st3" d="M202.3,274.7h34.9c0.7,0,1.3,0.6,1.3,1.3c0,0.7-0.6,1.3-1.3,1.3h-34.9c-0.7,0-1.3-0.6-1.4-1.3
c0-0.4,0.1-0.7,0.4-1C201.6,274.9,201.9,274.7,202.3,274.7"/>
<path class="st3" d="M141.9,284.2h131.5c0.7,0,1.3,0.6,1.4,1.3c0,0.4-0.1,0.7-0.4,1c-0.3,0.3-0.6,0.4-1,0.4H141.9
c-0.7,0-1.3-0.6-1.3-1.3l0,0C140.5,284.8,141.1,284.2,141.9,284.2"/>
<path class="st3" d="M77.5,284.2h34.9c0.7,0,1.3,0.6,1.3,1.3l0,0c0,0.7-0.6,1.3-1.3,1.4l0,0H77.5c-0.7,0-1.3-0.6-1.4-1.3
c0-0.4,0.1-0.7,0.4-1C76.8,284.3,77.1,284.2,77.5,284.2"/>
<path class="st3" d="M180.8,274.7h8.1c0.7,0,1.3,0.6,1.3,1.3c0,0.7-0.6,1.3-1.3,1.3h-8.1c-0.7,0.1-1.4-0.5-1.4-1.3
c-0.1-0.7,0.5-1.4,1.3-1.4C180.6,274.7,180.7,274.7,180.8,274.7"/>
<path class="st3" d="M268,266.6h8.1c0.7,0,1.3,0.6,1.3,1.3l0,0c0,0.7-0.6,1.3-1.3,1.3H268c-0.7,0-1.3-0.6-1.3-1.3
C266.7,267.3,267.3,266.6,268,266.6"/>
<path class="st3" d="M82.8,266.6h171.8c0.4,0,0.7,0.1,0.9,0.4c0.4,0.4,0.5,1,0.3,1.5s-0.7,0.8-1.2,0.8H82.8c-0.7,0-1.3-0.6-1.3-1.3
C81.5,267.3,82.1,266.6,82.8,266.6"/>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 400 335" style="enable-background:new 0 0 400 335;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FAFCFF;}
.st1{fill:#DBE5F1;}
.st2{fill:#DEE7F4;}
.st3{fill:#B9C7DB;}
.st4{fill:#FFFFFF;}
.st5{fill:none;stroke:#B9C7DB;stroke-width:4;stroke-miterlimit:10;}
.st6{fill:none;stroke:#B6C7D8;stroke-miterlimit:10;}
</style>
<path class="st3" d="M37.7,141.1c-2.4,0-4.4-1.9-4.4-4.4c0-2.4,1.9-4.4,4.4-4.4c2.4,0,4.4,1.9,4.4,4.4
C42,139.2,40.1,141.1,37.7,141.1z"/>
<path class="st3" d="M264.6,80.4c-2.1,0-3.8-1.7-3.8-3.8s1.7-3.8,3.8-3.8c2.1,0,3.8,1.7,3.8,3.8C268.4,78.7,266.7,80.4,264.6,80.4z
M264.6,74.4c-1.2,0-2.1,0.9-2.1,2.1s0.9,2.1,2.1,2.1s2.1-0.9,2.1-2.1C266.7,75.4,265.8,74.4,264.6,74.4z"/>
<path class="st3" d="M98.8,136.7c-2.6,0-4.7-2.1-4.7-4.7s2.1-4.7,4.7-4.7s4.7,2.1,4.7,4.7S101.4,136.7,98.8,136.7z M98.8,129.4
c-1.5,0-2.6,1.2-2.6,2.6s1.2,2.6,2.6,2.6c1.5,0,2.6-1.2,2.6-2.6S100.2,129.4,98.8,129.4z"/>
<path class="st3" d="M144.3,113.8h8.2c0.4,0,0.7,0.1,1,0.4c0.5,0.5,0.5,1.3,0,1.9l0,0c-0.3,0.3-0.6,0.4-1,0.4h-8.2
c-0.4,0-0.7-0.1-1-0.4c-0.5-0.5-0.5-1.3,0-1.9l0,0C143.6,113.9,143.9,113.8,144.3,113.8"/>
<path class="st3" d="M148.4,89.1v5.7c0,0.3-0.1,0.5-0.3,0.7c-0.4,0.4-0.9,0.4-1.3,0l0,0c-0.2-0.2-0.3-0.4-0.3-0.7v-5.7
c0-0.2,0.1-0.5,0.3-0.7c0.4-0.4,0.9-0.4,1.3,0l0,0C148.3,88.6,148.4,88.8,148.4,89.1"/>
<g>
<path class="st3" d="M193.5,123.6l5.1-5.1c0.2-0.2,0.5-0.4,0.8-0.4s0.6,0.1,0.8,0.3c0.5,0.5,0.4,1.2,0,1.7l-5.1,5.1
c-0.3,0.3-0.7,0.4-1.1,0.3c-0.4-0.1-0.7-0.4-0.8-0.8C193.1,124.3,193.2,123.9,193.5,123.6"/>
<path class="st3" d="M195.3,118.6l5,5c0.2,0.2,0.3,0.5,0.3,0.8c0,0.7-0.6,1.2-1.2,1.2c-0.3,0-0.6-0.1-0.8-0.3l-5-5
c-0.2-0.2-0.3-0.5-0.3-0.8c0-0.7,0.5-1.2,1.2-1.2C194.7,118.2,195,118.4,195.3,118.6"/>
</g>
<g>
<path class="st3" d="M355,85.8l5.1-5.1c0.2-0.2,0.5-0.4,0.8-0.4s0.6,0.1,0.8,0.3c0.5,0.5,0.4,1.2,0,1.7l-5.1,5.1
c-0.3,0.3-0.7,0.4-1.1,0.3s-0.7-0.4-0.8-0.8S354.7,86.1,355,85.8"/>
<path class="st3" d="M356.8,80.8l5,5c0.2,0.2,0.3,0.5,0.3,0.8c0,0.7-0.6,1.2-1.2,1.2c-0.3,0-0.6-0.1-0.8-0.3l-5-5
c-0.2-0.2-0.3-0.5-0.3-0.8c0-0.7,0.5-1.2,1.2-1.2C356.2,80.4,356.5,80.5,356.8,80.8"/>
</g>
<path class="st1" d="M87.8,267.9h99.5c1.2,0,2.2,0.6,2.2,1.3l0,0c0,0.7-1,1.3-2.2,1.4H87.8c-1.2,0-2.2-0.6-2.2-1.3
C85.6,268.5,86.6,267.9,87.8,267.9"/>
<path class="st1" d="M240.5,267.9H298c1.2,0,2.2,0.6,2.2,1.3c0,0.7-1,1.3-2.2,1.3h-57.5c-1.2,0-2.2-0.6-2.2-1.3c0-0.4,0.2-0.7,0.7-1
C239.3,268,239.9,267.9,240.5,267.9"/>
<path class="st1" d="M140.9,277.3h216.8c1.2,0,2.2,0.6,2.2,1.3c0,0.4-0.2,0.7-0.7,1c-0.4,0.3-1,0.4-1.6,0.4H140.9
c-1.2,0-2.2-0.6-2.2-1.3l0,0C138.7,277.9,139.7,277.3,140.9,277.3"/>
<path class="st1" d="M34.7,277.3h57.5c1.2,0,2.2,0.6,2.2,1.3l0,0c0,0.7-1,1.3-2.2,1.4l0,0H34.7c-1.2,0-2.2-0.6-2.2-1.3
c0-0.4,0.2-0.7,0.7-1C33.6,277.5,34.1,277.3,34.7,277.3"/>
<path class="st1" d="M205.1,267.9h13.3c1.2,0,2.2,0.6,2.2,1.3c0,0.7-1,1.3-2.2,1.3h-13.3c-1.2,0.1-2.3-0.5-2.4-1.3s0.8-1.4,2.1-1.4
C204.8,267.9,205,267.9,205.1,267.9"/>
<path class="st1" d="M348.8,259.8h13.3c1.2,0,2.2,0.6,2.2,1.3l0,0c0,0.7-1,1.3-2.2,1.3h-13.3c-1.2,0-2.2-0.6-2.2-1.3
C346.6,260.4,347.6,259.8,348.8,259.8"/>
<path class="st1" d="M43.6,259.8h283.1c0.6,0,1.1,0.1,1.6,0.4c0.6,0.4,0.8,1,0.5,1.5s-1.1,0.8-2,0.8H43.6c-1.2,0-2.2-0.6-2.2-1.3
S42.4,259.8,43.6,259.8"/>
<path class="st3" d="M180.3,240h-41.9c-0.6,0-1-0.4-1-1v-11.9c0-0.6,0.4-1,1-1s1,0.4,1,1v11h40v-41c0-0.6,0.4-1,1-1h10.5
c0.6,0,1,0.4,1,1s-0.4,1-1,1h-9.5v41C181.2,239.6,180.9,240,180.3,240L180.3,240z M237.5,240h-22c-0.6,0-1-0.4-1-1v-41H205
c-0.6,0-1-0.4-1-1s0.4-1,1-1h10.5c0.6,0,1,0.4,1,1v41h21c0.6,0,1,0.4,1,1S238,240,237.5,240z M105.9,231l2.7,18.2H95.7l2.7-18.2
H105.9 M107.5,229.1H96.7l-3.2,22h17.2L107.5,229.1z"/>
<path class="st6" d="M157.7,231.2H46.1c-5.1,0-9.2-4.1-9.2-9.2v-10.5h129.9v10.8C166.8,227.2,162.7,231.2,157.7,231.2L157.7,231.2z"
/>
<path class="st2" d="M167.4,210.9h-125v-47c0-3.6,3-6.7,6.7-6.7H163c2.5,0,4.6,2,4.6,4.6L167.4,210.9L167.4,210.9z"/>
<path class="st3" d="M158.8,154.2c3.9,0,7,3.1,7,7v61.9c0,3.9-3.1,7-7,7H45.4c-3.9,0-7-3.1-7-7v-61.9c0-3.9,3.1-7,7-7L158.8,154.2
M158.8,152.3H45.4c-5,0-9,4-9,9v61.9c0,5,4,9,9,9h113.4c5,0,9-4,9-9v-61.9C167.7,156.3,163.7,152.3,158.8,152.3z M116.2,251.8H88.1
c-0.6,0-1-0.4-1-1s0.4-1,1-1h28.1c0.6,0,1,0.4,1,1C117.1,251.4,116.7,251.8,116.2,251.8L116.2,251.8z"/>
<path class="st3" d="M37.6,210.6h129.1v1.9H37.6V210.6z"/>
<path class="st3" d="M101.7,222.9c1.4,0.9,3.3,0.6,4.2-0.8c0.9-1.4,0.6-3.3-0.8-4.2l0,0c-1.4-0.9-3.3-0.6-4.2,0.8
C99.9,220.1,100.3,222,101.7,222.9L101.7,222.9z"/>
<path class="st3" d="M102.1,223.7c-1.8,0-3.3-1.5-3.3-3.3s1.5-3.3,3.3-3.3s3.3,1.5,3.3,3.3S103.9,223.7,102.1,223.7z M102.1,218.1
c-1.3,0-2.4,1-2.4,2.4s1,2.4,2.4,2.4c1.3,0,2.4-1,2.4-2.4S103.4,218.1,102.1,218.1z M348.1,252.4H244.9c-3.5,0-6.5-2.9-6.5-6.5V114
c0-3.5,2.9-6.5,6.5-6.5h103.3c3.5,0,6.5,2.9,6.5,6.5v131.9C354.6,249.5,351.7,252.4,348.1,252.4L348.1,252.4z M244.9,109.5
c-2.5,0-4.6,2-4.6,4.6V246c0,2.5,2,4.6,4.6,4.6h103.3c2.5,0,4.6-2,4.6-4.6V114c0-2.5-2-4.6-4.6-4.6L244.9,109.5z"/>
<path class="st3" d="M238.9,131.9h114.3v1.9H238.9V131.9z M238.9,155.7h114.3v1.9H238.9V155.7z M238.9,179.5h114.3v1.9H238.9V179.5z
M239.8,202.4h114.3v1.9H239.8V202.4z M238.9,227.1h114.3v1.9H238.9V227.1z"/>
<g>
<path class="st3" d="M255,120.5c0,1.1,0.9,1.9,1.9,1.9c1.1,0,1.9-0.9,1.9-1.9l0,0c0-1.1-0.9-1.9-1.9-1.9S255,119.4,255,120.5
L255,120.5z"/>
<path class="st3" d="M264.6,120.5c0,1.1,0.9,1.9,1.9,1.9c1.1,0,1.9-0.9,1.9-1.9l0,0c0-1.1-0.9-1.9-1.9-1.9
C265.4,118.6,264.6,119.4,264.6,120.5L264.6,120.5z"/>
<path class="st3" d="M274.1,120.5c0,1.1,0.9,1.9,1.9,1.9c1.1,0,1.9-0.9,1.9-1.9l0,0c0-1.1-0.9-1.9-1.9-1.9
C274.9,118.6,274.1,119.4,274.1,120.5L274.1,120.5z"/>
<path class="st3" d="M255,145.2c0,1.1,0.9,1.9,1.9,1.9c1.1,0,1.9-0.9,1.9-1.9l0,0c0-1.1-0.9-1.9-1.9-1.9S255,144.2,255,145.2
L255,145.2z"/>
<path class="st3" d="M264.6,145.2c0,1.1,0.9,1.9,1.9,1.9s1.9-0.9,1.9-1.9l0,0c0-1.1-0.9-1.9-1.9-1.9
C265.4,143.3,264.6,144.2,264.6,145.2L264.6,145.2z"/>
<path class="st3" d="M274.1,145.2c0,1.1,0.9,1.9,1.9,1.9s1.9-0.9,1.9-1.9l0,0c0-1.1-0.9-1.9-1.9-1.9
C274.9,143.3,274.1,144.2,274.1,145.2L274.1,145.2z"/>
<path class="st3" d="M255,169c0,1.1,0.9,1.9,1.9,1.9c1.1,0,1.9-0.9,1.9-1.9l0,0c0-1.1-0.9-1.9-1.9-1.9S255,168,255,169L255,169z"/>
<path class="st3" d="M264.6,169c0,1.1,0.9,1.9,1.9,1.9c1.1,0,1.9-0.9,1.9-1.9l0,0c0-1.1-0.9-1.9-1.9-1.9
C265.4,167.1,264.6,168,264.6,169L264.6,169z"/>
<path class="st3" d="M274.1,169c0,1.1,0.9,1.9,1.9,1.9c1.1,0,1.9-0.9,1.9-1.9l0,0c0-1.1-0.9-1.9-1.9-1.9
C274.9,167.1,274.1,168,274.1,169L274.1,169z"/>
<path class="st3" d="M255,191.9c0,1.1,0.9,1.9,1.9,1.9c1.1,0,1.9-0.9,1.9-1.9l0,0c0-1.1-0.9-1.9-1.9-1.9S255,190.8,255,191.9
L255,191.9z"/>
<path class="st3" d="M264.6,191.9c0,1.1,0.9,1.9,1.9,1.9c1.1,0,1.9-0.9,1.9-1.9l0,0c0-1.1-0.9-1.9-1.9-1.9S264.6,190.8,264.6,191.9
L264.6,191.9z"/>
<path class="st3" d="M274.1,191.9c0,1.1,0.9,1.9,1.9,1.9c1.1,0,1.9-0.9,1.9-1.9l0,0c0-1.1-0.9-1.9-1.9-1.9S274.1,190.8,274.1,191.9
L274.1,191.9z"/>
<path class="st3" d="M255,215.7c0,1.1,0.9,1.9,1.9,1.9c1.1,0,1.9-0.9,1.9-1.9l0,0c0-1.1-0.9-1.9-1.9-1.9S255,214.6,255,215.7
L255,215.7z"/>
<path class="st3" d="M264.6,215.7c0,1.1,0.9,1.9,1.9,1.9c1.1,0,1.9-0.9,1.9-1.9l0,0c0-1.1-0.9-1.9-1.9-1.9
C265.4,213.8,264.6,214.6,264.6,215.7L264.6,215.7z"/>
<path class="st3" d="M274.1,215.7c0,1.1,0.9,1.9,1.9,1.9c1.1,0,1.9-0.9,1.9-1.9l0,0c0-1.1-0.9-1.9-1.9-1.9
C274.9,213.8,274.1,214.6,274.1,215.7L274.1,215.7z"/>
<path class="st3" d="M255,239.5c0,1.1,0.9,1.9,1.9,1.9c1.1,0,1.9-0.9,1.9-1.9l0,0c0-1.1-0.9-1.9-1.9-1.9S255,238.5,255,239.5
L255,239.5z"/>
<path class="st3" d="M264.6,239.5c0,1.1,0.9,1.9,1.9,1.9s1.9-0.9,1.9-1.9l0,0c0-1.1-0.9-1.9-1.9-1.9S264.6,238.5,264.6,239.5
L264.6,239.5z"/>
<path class="st3" d="M274.1,239.5c0,1.1,0.9,1.9,1.9,1.9s1.9-0.9,1.9-1.9l0,0c0-1.1-0.9-1.9-1.9-1.9S274.1,238.5,274.1,239.5
L274.1,239.5z"/>
</g>
<path class="st3" d="M310.3,126.2c-0.6,0-1-0.4-1-1v-9.5c0-0.6,0.4-1,1-1s1,0.4,1,1v9.5C311.2,125.8,310.9,126.2,310.3,126.2z
M319.8,126.2c-0.6,0-1-0.4-1-1v-9.5c0-0.6,0.4-1,1-1s1,0.4,1,1v9.5C320.8,125.8,320.4,126.2,319.8,126.2z M329.3,126.2
c-0.6,0-1-0.4-1-1v-9.5c0-0.6,0.4-1,1-1s1,0.4,1,1v9.5C330.3,125.8,329.9,126.2,329.3,126.2z M338.9,126.2c-0.6,0-1-0.4-1-1v-9.5
c0-0.6,0.4-1,1-1s1,0.4,1,1v9.5C339.8,125.8,339.4,126.2,338.9,126.2z M310.3,150c-0.6,0-1-0.4-1-1v-9.5c0-0.6,0.4-1,1-1s1,0.4,1,1
v9.5C311.2,149.6,310.9,150,310.3,150z M319.8,150c-0.6,0-1-0.4-1-1v-9.5c0-0.6,0.4-1,1-1s1,0.4,1,1v9.5
C320.8,149.6,320.4,150,319.8,150z M329.3,150c-0.6,0-1-0.4-1-1v-9.5c0-0.6,0.4-1,1-1s1,0.4,1,1v9.5
C330.3,149.6,329.9,150,329.3,150z M338.9,150c-0.6,0-1-0.4-1-1v-9.5c0-0.6,0.4-1,1-1s1,0.4,1,1v9.5
C339.8,149.6,339.4,150,338.9,150z M310.3,174.7c-0.6,0-1-0.4-1-1v-9.5c0-0.6,0.4-1,1-1s1,0.4,1,1v9.5
C311.2,174.4,310.9,174.7,310.3,174.7L310.3,174.7z M319.8,174.7c-0.6,0-1-0.4-1-1v-9.5c0-0.6,0.4-1,1-1s1,0.4,1,1v9.5
C320.8,174.4,320.4,174.7,319.8,174.7L319.8,174.7z M329.3,174.7c-0.6,0-1-0.4-1-1v-9.5c0-0.6,0.4-1,1-1s1,0.4,1,1v9.5
C330.3,174.4,329.9,174.7,329.3,174.7L329.3,174.7z M338.9,174.7c-0.6,0-1-0.4-1-1v-9.5c0-0.6,0.4-1,1-1s1,0.4,1,1v9.5
C339.8,174.4,339.4,174.7,338.9,174.7L338.9,174.7z M310.3,197.6c-0.6,0-1-0.4-1-1v-9.5c0-0.6,0.4-1,1-1s1,0.4,1,1v9.5
C311.2,197.2,310.9,197.6,310.3,197.6z M319.8,197.6c-0.6,0-1-0.4-1-1v-9.5c0-0.6,0.4-1,1-1s1,0.4,1,1v9.5
C320.8,197.2,320.4,197.6,319.8,197.6z M329.3,197.6c-0.6,0-1-0.4-1-1v-9.5c0-0.6,0.4-1,1-1s1,0.4,1,1v9.5
C330.3,197.2,329.9,197.6,329.3,197.6z M338.9,197.6c-0.6,0-1-0.4-1-1v-9.5c0-0.6,0.4-1,1-1s1,0.4,1,1v9.5
C339.8,197.2,339.4,197.6,338.9,197.6z M310.3,221.4c-0.6,0-1-0.4-1-1v-9.5c0-0.6,0.4-1,1-1s1,0.4,1,1v9.5
C311.2,221,310.9,221.4,310.3,221.4z M319.8,221.4c-0.6,0-1-0.4-1-1v-9.5c0-0.6,0.4-1,1-1s1,0.4,1,1v9.5
C320.8,221,320.4,221.4,319.8,221.4z M329.3,221.4c-0.6,0-1-0.4-1-1v-9.5c0-0.6,0.4-1,1-1s1,0.4,1,1v9.5
C330.3,221,329.9,221.4,329.3,221.4z M338.9,221.4c-0.6,0-1-0.4-1-1v-9.5c0-0.6,0.4-1,1-1s1,0.4,1,1v9.5
C339.8,221,339.4,221.4,338.9,221.4z M310.3,245.2c-0.6,0-1-0.4-1-1v-9.5c0-0.6,0.4-1,1-1s1,0.4,1,1v9.5
C311.2,244.8,310.9,245.2,310.3,245.2z M319.8,245.2c-0.6,0-1-0.4-1-1v-9.5c0-0.6,0.4-1,1-1s1,0.4,1,1v9.5
C320.8,244.8,320.4,245.2,319.8,245.2z M329.3,245.2c-0.6,0-1-0.4-1-1v-9.5c0-0.6,0.4-1,1-1s1,0.4,1,1v9.5
C330.3,244.8,329.9,245.2,329.3,245.2z M338.9,245.2c-0.6,0-1-0.4-1-1v-9.5c0-0.6,0.4-1,1-1s1,0.4,1,1v9.5
C339.8,244.8,339.4,245.2,338.9,245.2z M353.6,149.9V148c6.6,0,11.8-5.3,11.8-11.8s-5.3-11.8-11.8-11.8v-1.9
c7.6,0,13.7,6.2,13.7,13.7S361.2,149.9,353.6,149.9z"/>
<path class="st3" d="M353.6,165.1v-1.9c6.6,0,11.8-5.3,11.8-11.8s-5.3-11.8-11.8-11.8v-1.9c7.6,0,13.7,6.2,13.7,13.7
C367.3,158.9,361.2,165.1,353.6,165.1z M353.6,204.2v-1.9c6.6,0,11.8-5.3,11.8-11.8s-5.3-11.8-11.8-11.8v-1.9
c7.6,0,13.7,6.2,13.7,13.7C367.3,198,361.2,204.2,353.6,204.2z"/>
<path class="st3" d="M353.6,219.4v-1.9c6.6,0,11.8-5.3,11.8-11.8s-5.3-11.8-11.8-11.8V192c7.6,0,13.7,6.2,13.7,13.7
C367.3,213.2,361.2,219.4,353.6,219.4z"/>
<path class="st3" d="M353.6,238.5v-1.9c6.6,0,11.8-5.3,11.8-11.8s-5.3-11.8-11.8-11.8v-2c7.6,0,13.7,6.2,13.7,13.7
C367.3,232.3,361.2,238.5,353.6,238.5z M235,231.9h3.8v14.3H235V231.9z"/>
<path class="st3" d="M190.3,193.8h2.9v6.7h-2.9V193.8z M202.7,193.8h2.9v6.7h-2.9V193.8z"/>
<path class="st3" d="M192.2,189.5c-0.2,0-0.3-0.1-0.4-0.2l-2.9-4.8c-0.1-0.2-0.1-0.5,0.2-0.7c0.2-0.1,0.5-0.1,0.7,0.2l2.9,4.8
c0.1,0.2,0.1,0.5-0.2,0.7H192.2z M197.4,188c-0.3,0-0.5-0.2-0.5-0.5V182c0-0.3,0.2-0.5,0.5-0.5s0.5,0.2,0.5,0.5v5.5
C197.9,187.8,197.7,188,197.4,188z M202.6,189.4c-0.1,0-0.2,0-0.3-0.1c-0.2-0.2-0.3-0.5-0.1-0.7l3-4.7c0.2-0.2,0.5-0.3,0.7-0.1
s0.3,0.5,0.1,0.7l-3,4.7C202.9,189.3,202.7,189.4,202.6,189.4z"/>
<path class="st3" d="M69.7,190.5l5.7-0.9c0.6,1.9,1.9,2.9,4.2,3c2.4-0.2,3.7-1.2,4-3.3c-0.1-2.2-1.5-3.3-4.2-3.4
c-1.7,0.1-3,0.5-4,1.1h-4.7l1-11.2h16.1v3.6H76.5l-0.6,4.6c1.5-0.8,3.2-1.1,5-1.1c5.3,0.1,8.2,2.2,8.4,6.3c-0.2,4.3-3.4,6.5-9.7,6.7
C74.4,195.6,71.1,193.9,69.7,190.5L69.7,190.5z M111.2,185.5c0.2,6.9-3.1,10.3-9.9,10.1c-6.6-0.1-9.8-3.4-9.9-10
c0.2-6.7,3.5-10.2,9.9-10.4C107.8,175.2,111.1,178.7,111.2,185.5z M105.1,185.6c0.1-4.9-1.1-7.2-3.7-7c-2.7-0.1-4,2.3-4,7
c0,4.6,1.3,7,4,7C104,192.5,105.2,190.2,105.1,185.6z M133.1,185.5c0.2,6.9-3.1,10.3-9.9,10.1c-6.6-0.1-9.8-3.4-9.9-10
c0.2-6.7,3.5-10.2,9.9-10.4C129.7,175.2,133,178.7,133.1,185.5z M127,185.6c0.1-4.9-1.1-7.2-3.7-7c-2.7-0.1-4,2.3-4,7
c0,4.6,1.3,7,4,7C125.9,192.5,127.1,190.2,127,185.6z"/>
</svg>
<?xml version="1.0" encoding="UTF-8"?>
<svg width="705px" height="900px" viewBox="0 0 705 900" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 52.4 (67378) - http://www.bohemiancoding.com/sketch -->
<title>分组 8</title>
<desc>Created with Sketch.</desc>
<defs>
<linearGradient x1="96.7136048%" y1="50%" x2="-6.90030263%" y2="50%" id="linearGradient-1">
<stop stop-color="#B0C5F2" offset="0%"></stop>
<stop stop-color="#C8D9FF" stop-opacity="0.3" offset="100%"></stop>
</linearGradient>
<linearGradient x1="5.47723748%" y1="5.51546403%" x2="100%" y2="100%" id="linearGradient-2">
<stop stop-color="#AAC1FF" stop-opacity="0" offset="0%"></stop>
<stop stop-color="#AAC1FF" offset="100%"></stop>
</linearGradient>
<linearGradient x1="5.51360739%" y1="6.25134676%" x2="98.3659852%" y2="97.3148133%" id="linearGradient-3">
<stop stop-color="#AAC1FF" stop-opacity="0" offset="0%"></stop>
<stop stop-color="#AAC1FF" offset="100%"></stop>
</linearGradient>
<path d="M116.871317,812.456821 L548.009045,173.268853 C612.555291,77.5751077 742.45547,52.3250709 838.149215,116.871317 L1466.55969,540.739538 C1562.25344,605.285784 1587.50348,735.185962 1522.95723,830.879707 L1091.8195,1470.06768 C1027.27326,1565.76142 897.373078,1591.01146 801.679333,1526.46521 L173.268853,1102.59699 C77.5751077,1038.05074 52.3250709,908.150566 116.871317,812.456821 Z" id="path-4"></path>
<linearGradient x1="97.2330085%" y1="2.82254265%" x2="1.96812502%" y2="100%" id="linearGradient-6">
<stop stop-color="#AAC1FF" offset="0%"></stop>
<stop stop-color="#AAC1FF" stop-opacity="0" offset="100%"></stop>
</linearGradient>
<linearGradient x1="97.3401373%" y1="2.65986272%" x2="0%" y2="100%" id="linearGradient-7">
<stop stop-color="#AAC1FF" offset="0%"></stop>
<stop stop-color="#AAC1FF" stop-opacity="0" offset="100%"></stop>
</linearGradient>
<polygon id="path-8" points="0.1981 0.0862 79.859 0.0862 79.859 46.3272 0.1981 46.3272"></polygon>
<polygon id="path-10" points="0.3941 0.3072 65.859 0.3072 65.859 52.9992 0.3941 52.9992"></polygon>
</defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="登录-copy">
<g id="分组-8" transform="translate(-882.000000, -266.000000)">
<g id="分组-7" fill="#5584FF">
<rect id="矩形" transform="translate(819.914274, 931.668264) rotate(-56.000000) translate(-819.914274, -931.668264) " x="225.414274" y="343.668264" width="1189" height="1176" rx="209"></rect>
<rect id="矩形-copy" fill-opacity="0.15" transform="translate(838.437554, 833.796326) rotate(-41.000000) translate(-838.437554, -833.796326) " x="243.937554" y="245.796326" width="1189" height="1176" rx="209"></rect>
</g>
<g id="分组-6" transform="translate(0.000000, 110.000000)">
<g id="分组" transform="translate(1107.000000, 429.000000)">
<path d="M447.103056,191.752658 C460.234296,199.342408 460.311862,211.655087 447.256937,219.249846 L252.926846,332.305809 C239.871922,339.900568 218.638747,339.895559 205.507507,332.305809 L9.89756991,219.247342 C-3.23492114,211.657592 -3.31123646,199.344913 9.74243712,191.750154 L204.073779,78.6941912 C217.127453,71.0994316 238.360628,71.1044413 251.493119,78.6941912 L447.103056,191.752658 Z" id="Fill-1" fill="#3E71F7"></path>
<path d="M447.103056,118.752658 C460.234296,126.342408 460.311862,138.655087 447.256937,146.249846 L252.926846,259.305809 C239.871922,266.900568 218.638747,266.895559 205.507507,259.305809 L9.89756991,146.247342 C-3.23492114,138.657592 -3.31123646,126.344913 9.74243712,118.750154 L204.073779,5.69419122 C217.127453,-1.9005684 238.360628,-1.89555866 251.493119,5.69419122 L447.103056,118.752658 Z" id="Fill-1" fill="#F1F5FF"></path>
<path d="M415.532374,120.723975 C426.767198,127.225384 426.833562,137.772471 415.664032,144.27817 L249.399118,241.122334 C238.229587,247.628034 220.06291,247.623743 208.828085,241.122334 L41.4681616,144.276025 C30.2322666,137.774616 30.1669727,127.227529 41.3354331,120.72183 L207.601417,23.8776657 C218.769878,17.3719659 236.936555,17.3762573 248.17245,23.8776657 L415.532374,120.723975 Z" id="Fill-1" stroke="url(#linearGradient-1)"></path>
<path d="M456.973736,132.788125 C456.964981,132.957546 456.954976,133.126968 456.938717,133.29639 C456.923709,133.443222 456.902447,133.591309 456.883687,133.738141 C456.858673,133.906308 456.834911,134.073219 456.803644,134.241386 C456.776129,134.390728 456.743611,134.538815 456.711094,134.688157 C456.674824,134.851304 456.636053,135.013196 456.592279,135.176343 C456.552258,135.32443 456.508484,135.473772 456.463459,135.621859 C456.412182,135.785006 456.359653,135.946897 456.302122,136.108789 C456.250844,136.253111 456.195815,136.397434 456.138283,136.543011 C456.070747,136.713687 455.999458,136.883109 455.924418,137.052531 C455.860633,137.194343 455.795598,137.336155 455.726811,137.476712 C455.645517,137.646134 455.556719,137.815556 455.46667,137.983722 C455.39288,138.11926 455.320341,138.254797 455.241548,138.38908 C455.125235,138.589876 455.001418,138.788162 454.872598,138.986448 C454.796307,139.106925 454.721266,139.227403 454.639972,139.346626 C454.491142,139.564991 454.331055,139.780847 454.167216,139.996703 C454.095928,140.090826 454.029642,140.187459 453.955852,140.280327 C453.684455,140.624191 453.394298,140.963034 453.086631,141.298112 C453.006588,141.384706 452.921542,141.468789 452.840248,141.554127 C452.597616,141.810142 452.344979,142.063647 452.079836,142.313387 C451.959771,142.42759 451.840957,142.540538 451.715889,142.653486 C451.558304,142.795298 451.395715,142.935855 451.231877,143.076412 C451.080545,143.20693 450.927962,143.334937 450.770377,143.462945 C450.599034,143.600992 450.423939,143.739039 450.246343,143.874577 C450.081254,144.001329 449.914914,144.126827 449.746072,144.251069 C449.562223,144.385352 449.37337,144.517124 449.183268,144.648897 C449.005671,144.770629 448.826825,144.893617 448.644226,145.014094 C448.446619,145.143357 448.244009,145.271364 448.037647,145.398117 C447.781258,145.558754 447.527371,145.719391 447.259726,145.876262 L252.990786,259.160378 C252.264143,259.584559 251.503731,259.976112 250.729562,260.352604 C250.525702,260.451747 250.320591,260.54838 250.114229,260.643759 C249.41385,260.967542 248.699713,261.276266 247.968067,261.562401 C247.871765,261.601305 247.777964,261.642719 247.681662,261.680368 C246.897487,261.979052 246.0908,262.250127 245.275359,262.507397 C244.710053,262.686858 244.129738,262.84373 243.550675,263.001857 C243.111687,263.122335 242.677702,263.249087 242.23121,263.35827 C241.623381,263.505102 241.001795,263.62809 240.38271,263.754842 C239.929964,263.846456 239.483473,263.950619 239.025725,264.030937 C238.836872,264.063566 238.64677,264.089921 238.456667,264.121295 C237.688751,264.248048 236.915832,264.357231 236.13666,264.451354 C235.910288,264.478963 235.685166,264.507828 235.457543,264.532927 C235.011051,264.580616 234.560807,264.608226 234.113065,264.64462 C233.358906,264.708624 232.604748,264.763843 231.846838,264.796472 C231.361575,264.817807 230.877563,264.827846 230.3923,264.836631 C229.779468,264.847926 229.167887,264.852946 228.553805,264.845416 C228.042278,264.839141 227.530751,264.822826 227.020474,264.802747 C226.452667,264.780157 225.884859,264.750038 225.319553,264.711134 C224.801773,264.675994 224.286494,264.63207 223.771215,264.581871 C223.210912,264.527907 222.65311,264.465159 222.096558,264.393625 C221.595037,264.329621 221.094766,264.259343 220.598247,264.181534 C220.001674,264.088666 219.410104,263.983248 218.822285,263.871555 C218.355783,263.782452 217.890531,263.689584 217.431532,263.589186 C216.728652,263.434824 216.037027,263.259127 215.350405,263.077156 C214.903914,262.959188 214.45367,262.847495 214.015933,262.716978 C213.778304,262.646699 213.544428,262.571401 213.310551,262.497357 C212.620177,262.280246 211.941059,262.046821 211.271947,261.799591 C211.079343,261.726802 210.881736,261.659034 210.690382,261.58499 C210.081302,261.349055 209.495985,261.08802 208.909418,260.82573 C208.623013,260.698977 208.325352,260.582265 208.043949,260.449237 C207.199742,260.045135 206.376797,259.618444 205.586369,259.160378 L10.0379861,145.873753 C3.43065848,142.044823 0.130121361,137.018646 0.14387881,132 L5.09327004e-05,183.150285 C-0.0149571937,188.168932 3.28683061,193.196363 9.89290756,197.024038 L205.44129,310.311918 C206.231718,310.768729 207.054664,311.196676 207.900121,311.598268 C208.181524,311.73255 208.477934,311.849263 208.764339,311.976015 C209.265861,312.200656 209.758628,312.432826 210.275157,312.637387 C210.363955,312.672527 210.456506,312.701391 210.545304,312.736531 C210.736657,312.809319 210.934264,312.877088 211.128119,312.949876 C211.795981,313.197106 212.475099,313.429277 213.165472,313.647643 C213.4006,313.721686 213.634476,313.796985 213.870854,313.867263 C214.02969,313.914952 214.186025,313.970171 214.346112,314.01535 C214.627514,314.096924 214.921423,314.152143 215.205327,314.227441 C215.893199,314.410668 216.583573,314.583854 217.286454,314.738216 C217.474055,314.780885 217.654153,314.837359 217.843005,314.876263 C218.116903,314.933992 218.400807,314.969132 218.677207,315.021841 C219.266276,315.134788 219.856595,315.238951 220.453168,315.33182 C220.693298,315.368214 220.925924,315.420923 221.167305,315.456062 C221.426195,315.493711 221.691339,315.511281 221.95273,315.54391 C222.509282,315.615444 223.065833,315.676938 223.627387,315.730902 C223.895032,315.758511 224.158925,315.799925 224.42657,315.822515 C224.675455,315.84134 224.92559,315.843849 225.174475,315.861419 C225.741032,315.900323 226.306338,315.930443 226.875396,315.953032 C227.16055,315.964327 227.444454,315.990682 227.729608,315.998211 C227.955981,316.004486 228.182353,315.991937 228.409977,315.995702 C229.022809,316.003231 229.63439,315.998211 230.247222,315.988172 C230.552387,315.981897 230.858803,315.993192 231.162717,315.983152 C231.344065,315.976877 231.521662,315.954287 231.701759,315.946757 C232.46092,315.914128 233.213828,315.858909 233.967986,315.794905 C234.271901,315.771061 234.578317,315.764786 234.880981,315.733412 C235.026059,315.720862 235.168636,315.698272 235.313715,315.681958 C235.541338,315.658113 235.765209,315.627994 235.992833,315.601639 C236.772004,315.508771 237.544923,315.398333 238.312839,315.271581 C238.501691,315.241461 238.691794,315.213852 238.880646,315.181223 C238.971946,315.164908 239.065746,315.152358 239.157046,315.137298 C239.522244,315.070785 239.876185,314.979171 240.238882,314.905128 C240.857967,314.77963 241.478303,314.656643 242.087383,314.508556 C242.533874,314.400628 242.966609,314.271365 243.406847,314.152143 C243.985911,313.994016 244.564974,313.837144 245.13028,313.657682 C245.252847,313.620033 245.380416,313.591169 245.502982,313.55101 C246.192105,313.326369 246.869972,313.085414 247.537834,312.830654 C247.634136,312.794259 247.725435,312.750335 247.821737,312.713941 C248.554634,312.427807 249.268771,312.119083 249.96915,311.794044 C250.175512,311.698666 250.380623,311.602033 250.584483,311.50289 C251.359903,311.126397 252.120315,310.734845 252.846958,310.310663 L447.115898,197.026548 C447.254723,196.94623 447.389796,196.864656 447.52487,196.783083 C447.652439,196.706529 447.770002,196.627466 447.893819,196.549657 C448.09768,196.42165 448.30154,196.294897 448.500398,196.16438 C448.682997,196.043902 448.860593,195.92217 449.036938,195.799182 C449.228292,195.66741 449.417144,195.535637 449.600994,195.401355 C449.771086,195.277112 449.936175,195.151615 450.101265,195.024862 C450.27761,194.88807 450.453956,194.752533 450.625298,194.61323 C450.782884,194.485223 450.936717,194.357215 451.088049,194.226698 C451.251888,194.087396 451.413225,193.946838 451.57081,193.805026 C451.634595,193.746042 451.705883,193.689568 451.769668,193.630585 C451.82845,193.575366 451.878477,193.518892 451.937259,193.463673 C452.201152,193.212678 452.453788,192.960428 452.695169,192.705668 C452.777714,192.619075 452.86276,192.534991 452.941552,192.448398 C453.247968,192.112064 453.539376,191.773221 453.810773,191.430613 C453.822029,191.416808 453.835787,191.401748 453.848293,191.387944 C453.910827,191.307625 453.962105,191.227307 454.023388,191.146988 C454.185976,190.932388 454.346063,190.715277 454.496144,190.496911 C454.576188,190.377689 454.652479,190.257211 454.72877,190.136733 C454.856339,189.938447 454.980156,189.740161 455.096469,189.54062 C455.127736,189.485401 455.166507,189.432692 455.196523,189.378728 C455.241548,189.297155 455.279068,189.214326 455.322842,189.132753 C455.412891,188.965841 455.499187,188.79642 455.582983,188.628253 C455.650519,188.486441 455.716805,188.344628 455.78059,188.202816 C455.85438,188.033395 455.925668,187.863973 455.993205,187.694551 C456.023221,187.617998 456.061992,187.542699 456.089507,187.466146 C456.114521,187.397122 456.133281,187.326843 456.158294,187.25782 C456.215825,187.095928 456.268354,186.935291 456.318381,186.774654 C456.363405,186.625312 456.40843,186.47597 456.448451,186.326628 C456.490974,186.163481 456.530996,186.000334 456.567266,185.837188 C456.586026,185.749339 456.613541,185.660236 456.632301,185.572388 C456.642306,185.512149 456.64856,185.45191 456.659816,185.392926 C456.689832,185.22476 456.714846,185.056593 456.738608,184.888426 C456.758619,184.740339 456.779881,184.593507 456.793638,184.446675 C456.809897,184.277253 456.821153,184.107832 456.829908,183.93841 C456.836161,183.839267 456.847417,183.741379 456.851169,183.640981 C456.853671,183.543093 456.854921,183.445205 456.854921,183.346062 L457,132.195776 C457,132.394062 456.984992,132.591093 456.973736,132.788125" id="Fill-3" fill="#C2D3FF"></path>
</g>
<g id="API网关" transform="translate(1136.000000, 609.000000)" fill="#87A8FF">
<polygon id="Fill-1" points="398.476 0 385 7.781 385.015 13.489 398.494 5.708 398.478 0"></polygon>
<polygon id="Fill-1-Copy" points="352.476 27 339 34.781 339.015 40.489 352.494 32.708 352.478 27"></polygon>
<polygon id="Fill-1-Copy-2" points="307.476 53 294 60.781 294.015 66.489 307.494 58.708 307.478 53"></polygon>
<polygon id="Fill-1-Copy-3" points="261.476 81 248 88.781 248.015 94.489 261.494 86.708 261.478 81"></polygon>
<polygon id="Fill-1" points="152.016 89 152 94.708 165.478 102.489 165.494 96.781"></polygon>
<polygon id="Fill-1-Copy-4" points="100.016 60 100 65.708 113.478 73.489 113.494 67.781"></polygon>
<polygon id="Fill-1-Copy-5" points="54.016 32 54 37.708 67.478 45.489 67.494 39.781"></polygon>
<polygon id="Fill-1-Copy-6" points="0.016 3 0 8.708 13.478 16.489 13.494 10.781"></polygon>
</g>
<g id="分组-3">
<mask id="mask-5" fill="white">
<use xlink:href="#path-4"></use>
</mask>
<g id="Mask"></g>
<g mask="url(#mask-5)" id="Fill-1" stroke="#AAC1FF">
<g transform="translate(1391.000000, 615.000000)">
<polygon fill="#000000" points="137.002 1.98951966e-13 137 0.814 410.123 158.502 410.125 157.687"></polygon>
<polygon fill="#AAC1FF" points="92.002 28 92 28.814 365.123 186.502 365.125 185.687"></polygon>
<polygon fill="#AAC1FF" points="47.002 54 47 54.814 320.123 212.502 320.125 211.687"></polygon>
<polygon fill="#AAC1FF" points="0.002 81 0 81.814 273.123 239.502 273.125 238.687"></polygon>
</g>
</g>
</g>
<g id="分组-3" transform="translate(869.000000, 294.000000)" fill="url(#linearGradient-2)" stroke="url(#linearGradient-3)">
<polygon id="Fill-1" points="137.002 1.98951966e-13 137 0.814 410.123 158.502 410.125 157.687"></polygon>
<polygon id="Fill-1" points="92.002 28 92 28.814 365.123 186.502 365.125 185.687"></polygon>
<polygon id="Fill-1" points="47.002 54 47 54.814 320.123 212.502 320.125 211.687"></polygon>
<polygon id="Fill-1" points="0.002 81 0 81.814 273.123 239.502 273.125 238.687"></polygon>
</g>
<g id="分组-5" transform="translate(869.000000, 618.000000)" fill="url(#linearGradient-6)" stroke="url(#linearGradient-7)">
<polygon id="Fill-1" points="324.115 30 51 187.684 51.003 188.498 324.118 30.814 324.117 30"></polygon>
<polygon id="Fill-1" points="374.115 60 101 217.684 101.003 218.498 374.118 60.814 374.117 60"></polygon>
<polygon id="Fill-1" points="425.115 86 152 243.684 152.003 244.498 425.118 86.814 425.117 86"></polygon>
<polygon id="Fill-1" points="273.115 -1.98951966e-13 0 157.684 0.003 158.498 273.118 0.814 273.117 -1.98951966e-13"></polygon>
</g>
<g id="分组" transform="translate(1229.000000, 493.000000)">
<polygon id="Fill-1" fill="#6D7589" points="84.3732 26.5937 84.7242 26.7967 84.7652 12.1247 84.4142 11.9207"></polygon>
<polygon id="Fill-2" fill="#D4DFF8" points="84.4148 11.9211 84.3728 26.5941 46.8168 37.2801 46.8578 22.6081"></polygon>
<polygon id="Fill-3" fill="#D4DFF8" points="32.3406 26.924 32.2986 41.597 13.5226 46.733 13.5646 32.06"></polygon>
<polygon id="Fill-4" fill="#B0BDDF" points="0 38.9246 13.523 46.7326 13.564 32.0596 0.041 24.2516"></polygon>
<polygon id="Fill-5" fill="#B0BDDF" points="58.3264 41.927 58.2844 56.6 32.2994 41.597 32.3404 26.924"></polygon>
<path d="M89.3115,0.0005 L0.0415,24.2515 L13.5635,32.0595 L32.3405,26.9245 L58.3265,41.9265 L49.5165,52.8165 L63.7605,61.0405 L106.0455,9.6615 L89.3115,0.0005 Z M46.8585,22.6075 L84.4145,11.9215 L84.7655,12.1245 L65.7255,33.5005 L46.8585,22.6075 Z" id="Fill-6" fill="#E2EAFD"></path>
<polygon id="Fill-7" fill="#D4DFF8" points="106.0457 9.6614 106.0037 24.3344 63.7187 75.7134 63.7607 61.0404"></polygon>
<polygon id="Fill-8" fill="#B0BDDF" points="63.7605 61.0403 63.7185 75.7133 49.4745 67.4893 49.5165 52.8163"></polygon>
<polygon id="Fill-9" fill="#D4DFF8" points="140.8645 43.3078 140.8225 57.9808 122.4335 68.6668 122.4755 53.9948"></polygon>
<g transform="translate(72.000000, 28.193000)">
<path d="M74.0959,18.1207 C73.7849,17.9417 73.4659,17.7627 73.1359,17.5807 C71.9489,17.0347 70.9999,16.5577 70.2879,16.1457 C69.5759,15.7347 69.1009,15.3917 68.8649,15.1147 L68.8229,29.7877 C69.0599,30.0637 69.5339,30.4077 70.2459,30.8187 C70.9579,31.2297 71.9079,31.7077 73.0949,32.2537 C73.4239,32.4347 73.7429,32.6147 74.0539,32.7947 C79.0999,35.7077 81.6219,38.3777 81.6159,40.8077 L81.6569,26.1357 C81.6639,23.7047 79.1419,21.0347 74.0959,18.1207" id="Fill-10" fill="#B0BDDF"></path>
<path d="M101.6023,28.9937 C101.5863,29.3787 101.5473,29.7617 101.4723,30.1407 C101.4693,30.1517 101.4653,30.1637 101.4633,30.1747 C101.3873,30.5487 101.2763,30.9207 101.1423,31.2907 C101.1213,31.3477 101.1043,31.4057 101.0823,31.4637 C101.0453,31.5587 101.0023,31.6537 100.9613,31.7497 C100.9063,31.8797 100.8503,32.0087 100.7873,32.1387 C100.7393,32.2357 100.6863,32.3337 100.6353,32.4317 C100.5703,32.5527 100.5053,32.6747 100.4343,32.7957 C100.3573,32.9277 100.2733,33.0587 100.1883,33.1907 C100.1213,33.2957 100.0543,33.4007 99.9823,33.5067 C99.8903,33.6397 99.7903,33.7717 99.6893,33.9047 C99.6153,34.0037 99.5433,34.1017 99.4653,34.2007 C99.2483,34.4727 99.0163,34.7427 98.7663,35.0117 C98.7183,35.0627 98.6653,35.1137 98.6163,35.1647 C98.4053,35.3857 98.1843,35.6057 97.9513,35.8257 C97.8593,35.9117 97.7663,35.9967 97.6713,36.0827 C97.4733,36.2627 97.2673,36.4407 97.0533,36.6197 C96.9563,36.7007 96.8633,36.7807 96.7633,36.8617 C96.4683,37.0997 96.1623,37.3387 95.8403,37.5747 C95.8193,37.5907 95.8003,37.6057 95.7803,37.6217 C95.4353,37.8727 95.0723,38.1237 94.6973,38.3737 C94.5843,38.4477 94.4663,38.5227 94.3503,38.5977 C94.0763,38.7757 93.7953,38.9537 93.5063,39.1307 C93.2643,39.2777 93.0243,39.4257 92.7713,39.5727 C92.0343,39.9697 91.2933,40.3347 90.5493,40.6847 C90.3413,40.7827 90.1333,40.8757 89.9253,40.9707 C89.3253,41.2407 88.7233,41.4967 88.1183,41.7367 C87.9543,41.8027 87.7913,41.8727 87.6273,41.9347 C86.8933,42.2167 86.1563,42.4727 85.4163,42.7097 C84.9843,42.8477 84.5483,42.9627 84.1143,43.0847 C83.6913,43.2037 83.2693,43.3317 82.8443,43.4367 C82.4083,43.5447 81.9693,43.6287 81.5303,43.7207 C81.0833,43.8147 80.6373,43.9187 80.1883,43.9967 C80.0713,44.0167 79.9533,44.0337 79.8363,44.0537 C79.0603,44.1817 78.2813,44.2907 77.4983,44.3707 C77.4763,44.3727 77.4533,44.3767 77.4313,44.3787 C76.5653,44.4667 75.6963,44.5237 74.8223,44.5537 C74.7253,44.5567 74.6273,44.5527 74.5303,44.5557 C73.7863,44.5747 73.0403,44.5767 72.2903,44.5547 C72.0113,44.5467 71.7303,44.5227 71.4503,44.5097 C70.8873,44.4807 70.3243,44.4487 69.7573,44.3967 C69.3893,44.3637 69.0193,44.3157 68.6503,44.2727 C68.1603,44.2157 67.6703,44.1547 67.1783,44.0797 C66.6823,44.0047 66.1843,43.9117 65.6853,43.8187 C65.1983,43.7267 64.7113,43.6407 64.2213,43.5337 C64.0423,43.4937 63.8643,43.4537 63.6853,43.4117 C62.8773,43.2237 62.0673,43.0187 61.2523,42.7857 C61.0293,42.7227 60.8033,42.6427 60.5793,42.5757 C59.9133,42.3757 59.2473,42.1687 58.5763,41.9377 C58.2433,41.8227 57.9083,41.6917 57.5743,41.5697 C57.0233,41.3687 56.4723,41.1657 55.9183,40.9427 C55.2433,40.6727 54.5633,40.3747 53.8833,40.0737 C53.5513,39.9277 53.2213,39.7927 52.8893,39.6397 C51.8743,39.1697 50.8563,38.6717 49.8323,38.1357 L39.5083,32.1747 L39.4663,46.8477 L49.7903,52.8077 C50.8143,53.3447 51.8323,53.8427 52.8473,54.3117 C53.1803,54.4657 53.5103,54.5997 53.8413,54.7467 C54.5213,55.0477 55.2013,55.3457 55.8763,55.6157 C55.9793,55.6577 56.0843,55.7087 56.1873,55.7487 L56.1873,55.7337 L56.1873,55.7487 C56.6383,55.9267 57.0853,56.0797 57.5353,56.2437 C57.8683,56.3657 58.2023,56.4967 58.5343,56.6107 C59.2073,56.8437 59.8783,57.0507 60.5473,57.2517 C60.7683,57.3177 60.9903,57.3957 61.2093,57.4587 C61.2323,57.4657 61.2563,57.4737 61.2793,57.4807 C62.0713,57.7057 62.8583,57.9017 63.6443,58.0847 C63.8223,58.1267 64.0013,58.1667 64.1803,58.2067 C64.3653,58.2477 64.5513,58.2947 64.7363,58.3327 L64.7363,58.3147 L64.7363,58.3327 C65.0393,58.3957 65.3393,58.4337 65.6423,58.4907 C66.1423,58.5847 66.6413,58.6777 67.1373,58.7527 C67.2853,58.7747 67.4343,58.8087 67.5813,58.8307 C67.9243,58.8797 68.2653,58.9047 68.6073,58.9457 C68.9773,58.9887 69.3473,59.0367 69.7153,59.0697 C69.8363,59.0807 69.9583,59.1007 70.0783,59.1107 C70.5233,59.1467 70.9653,59.1597 71.4093,59.1817 C71.6883,59.1957 71.9693,59.2197 72.2483,59.2267 C72.3103,59.2287 72.3733,59.2357 72.4353,59.2377 C73.1223,59.2547 73.8063,59.2457 74.4883,59.2277 C74.5853,59.2247 74.6843,59.2297 74.7813,59.2267 C74.7893,59.2257 74.7973,59.2267 74.8053,59.2267 C75.6613,59.1967 76.5143,59.1397 77.3623,59.0557 C77.3713,59.0547 77.3803,59.0527 77.3893,59.0517 C77.4123,59.0497 77.4343,59.0467 77.4563,59.0437 C78.2393,58.9637 79.0183,58.8537 79.7943,58.7257 C79.9123,58.7067 80.0293,58.6897 80.1463,58.6697 C80.2273,58.6557 80.3093,58.6447 80.3913,58.6307 C80.7583,58.5637 81.1213,58.4717 81.4873,58.3937 C81.9263,58.3017 82.3663,58.2177 82.8033,58.1097 C83.2273,58.0057 83.6483,57.8777 84.0713,57.7587 C84.5063,57.6357 84.9423,57.5207 85.3743,57.3827 C85.4383,57.3627 85.5023,57.3477 85.5663,57.3277 C86.2423,57.1077 86.9143,56.8657 87.5843,56.6087 C87.7493,56.5457 87.9143,56.4747 88.0793,56.4087 C88.6823,56.1697 89.2843,55.9137 89.8833,55.6427 C90.0913,55.5497 90.3003,55.4557 90.5083,55.3577 C91.2513,55.0077 91.9933,54.6417 92.7293,54.2457 C92.9093,54.1407 93.0853,54.0367 93.2593,53.9317 C93.3313,53.8897 93.3963,53.8447 93.4673,53.8017 C93.7543,53.6257 94.0333,53.4497 94.3053,53.2727 C94.4223,53.1977 94.5423,53.1217 94.6573,53.0457 C95.0313,52.7957 95.3943,52.5457 95.7393,52.2937 C95.7573,52.2797 95.7743,52.2657 95.7923,52.2527 C96.1173,52.0147 96.4253,51.7737 96.7233,51.5337 C96.8213,51.4537 96.9153,51.3737 97.0103,51.2947 C97.2243,51.1147 97.4323,50.9347 97.6303,50.7547 C97.6823,50.7077 97.7413,50.6617 97.7923,50.6147 C97.8333,50.5767 97.8683,50.5377 97.9093,50.4987 C98.1423,50.2787 98.3643,50.0587 98.5753,49.8377 C98.6233,49.7867 98.6763,49.7357 98.7243,49.6837 C98.9743,49.4157 99.2063,49.1447 99.4223,48.8737 C99.4393,48.8527 99.4603,48.8327 99.4773,48.8107 C99.5383,48.7327 99.5903,48.6547 99.6493,48.5757 C99.7483,48.4437 99.8483,48.3117 99.9403,48.1797 C100.0133,48.0737 100.0793,47.9687 100.1473,47.8627 C100.2313,47.7317 100.3153,47.6007 100.3923,47.4697 C100.4143,47.4307 100.4413,47.3927 100.4633,47.3547 C100.5103,47.2707 100.5493,47.1867 100.5943,47.1027 C100.6453,47.0057 100.6983,46.9087 100.7453,46.8107 C100.8083,46.6807 100.8643,46.5517 100.9203,46.4217 C100.9603,46.3267 101.0033,46.2317 101.0403,46.1377 C101.0503,46.1117 101.0633,46.0867 101.0723,46.0607 C101.0843,46.0277 101.0893,45.9947 101.1013,45.9627 C101.2353,45.5927 101.3453,45.2217 101.4213,44.8477 C101.4233,44.8397 101.4273,44.8307 101.4293,44.8217 C101.4303,44.8187 101.4293,44.8167 101.4303,44.8137 C101.5063,44.4337 101.5443,44.0517 101.5603,43.6677 C101.5623,43.6327 101.5723,43.5977 101.5733,43.5607 C101.5743,43.4987 101.5753,43.4357 101.5753,43.3737 L101.6173,28.7007 C101.6173,28.7987 101.6063,28.8957 101.6023,28.9937" id="Fill-12" fill="#B0BDDF"></path>
<polygon id="Fill-14" fill="#D4DFF8" points="39.5085 32.1744 39.4665 46.8474 14.3605 61.4374 14.4025 46.7644"></polygon>
<path d="M57.2961,30.3385 C64.7131,34.6205 71.5571,34.8205 77.8251,30.9425 C83.9721,27.3705 82.7211,23.1015 74.0961,18.1205 C73.7851,17.9425 73.4661,17.7625 73.1361,17.5805 C71.9491,17.0345 71.0001,16.5575 70.2881,16.1465 C69.5761,15.7345 69.1011,15.3915 68.8641,15.1145 L50.4761,25.8015 C51.1911,26.2135 52.4871,27.1095 54.3921,28.4735 C55.3691,29.1635 56.3381,29.7845 57.2961,30.3385 M87.1341,12.9575 C104.3401,22.8915 106.2111,31.7625 92.7711,39.5725 C79.5621,46.6935 65.2531,46.2155 49.8321,38.1355 L39.5081,32.1745 L14.4021,46.7645 L0.5221,38.7505 L65.9451,0.7315 L86.2351,12.4455 C86.5391,12.6165 86.8391,12.7875 87.1341,12.9575" id="Fill-16" fill="#E2EAFD"></path>
<polygon id="Fill-18" fill="#B0BDDF" points="14.4021 46.7643 14.3601 61.4373 0.4801 53.4233 0.5221 38.7503"></polygon>
<g transform="translate(61.000000, 38.000000)">
<mask id="mask-9" fill="white">
<use xlink:href="#path-8"></use>
</mask>
<g id="Clip-21"></g>
<polygon id="Fill-20" fill="#E2EAFD" mask="url(#mask-9)" points="79.8591 8.3072 14.4361 46.3272 0.1981 38.1072 65.6211 0.0862"></polygon>
</g>
<g transform="translate(75.000000, 46.000000)">
<mask id="mask-11" fill="white">
<use xlink:href="#path-10"></use>
</mask>
<g id="Clip-23"></g>
<polygon id="Fill-22" fill="#D4DFF8" mask="url(#mask-11)" points="65.8591 0.3072 65.8171 14.9802 0.3941 52.9992 0.4361 38.3272"></polygon>
</g>
<polygon id="Fill-24" fill="#B0BDDF" points="75.4358 84.3268 75.3938 98.9998 61.1568 90.7798 61.1978 76.1068"></polygon>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>
\ No newline at end of file
/* 后台返回消息提示 */
import { Message } from 'element-ui';
// 后台返回异常提示
export default {
errorMsg: function(response) {
let local = window.location.origin;
/* if (local.indexOf('localhost') != -1) {
local = 'http://www.gicdev.com';
} */
if (response.code != '0000') {
Message.error({
duration: 1000,
message: response.message
});
if (response.code == '2003') {
window.location.href = local + '/gateway-web/#/index';
return false;
}
}
}
};
// 防抖
export function _debounce(fn, delay) {
var delay = delay || 200;
var timer;
// console.log(fn)
return function() {
var that = this;
var args = arguments;
if (timer) {
clearTimeout(timer);
}
timer = setTimeout(function() {
timer = null;
fn.apply(that, args);
}, delay);
};
}
// 节流
export function _throttle(fn, interval) {
var last;
var timer;
var interval = interval || 200;
return function() {
var that = this;
var args = arguments;
var now = +new Date();
if (last && now - last < interval) {
clearTimeout(timer);
timer = setTimeout(function() {
last = now;
fn.apply(that, args);
}, interval);
} else {
last = now;
fn.apply(that, args);
}
};
}
/**
* 手机号格式化
* @param {String} phone
*/
export function formatPhone(phone) {
phone = phone.toString();
return phone.substr(0, 3) + '****' + phone.substr(7, 11);
}
/**
* 时间戳格式化
*/
function formatDig(num) {
return num > 9 ? '' + num : '0' + num;
}
export function formatDate(time) {
let now = new Date(time);
let year = now.getFullYear();
let month = now.getMonth() + 1;
let date = now.getDate();
let hour = now.getHours();
let minute = now.getMinutes();
let second = now.getSeconds();
let data = year + '-' + formatDig(month) + '-' + formatDig(date) + ' ' + formatDig(hour) + ':' + formatDig(minute) + ':' + formatDig(second);
return data;
}
/**
* 千位分割
*/
export function formatNum(num) {
let number = num.toString().split('.'); // 分隔小数点
let dot = '0.' + (number[1] || 0);
var reg = /\d{1,3}(?=(\d{3})+$)/g;
return (
(number[0] + '').replace(reg, '$&,') +
'.' +
Number(dot)
.toFixed(2)
.toString()
.split('.')[1]
);
}
/**
* 重复判断
*/
export function isRepeat(arr) {
let hash = {};
for (let i in arr) {
if (hash[arr[i]]) {
return true;
}
hash[arr[i]] = true;
}
return false;
}
/* 消息提示 */
import { Message } from 'element-ui';
export default {
showmsg: function(msg, type) {
Message({
duration: 1000,
message: msg,
type: type
});
}
};
/**
* 判断字符长度
* @param: str
*/
export default {
/**
* 一个汉字算两个字符,一个英文字母或数字算一个字符
*/
getByteLen: function(val) {
let valStr = val == '' || val == null ? '' : val;
let len = 0;
for (let i = 0; i < valStr.length; i++) {
let a = valStr.charAt(i);
if (a.match(/[^\x00-\xff]/gi) != null) {
len += 2;
} else {
len += 1;
}
}
return len;
},
/**
* 一个汉字算一个字,一个英文字母或数字算半个字
*/
getZhLen: function(val) {
let valStr = val == '' || val == null ? '' : val;
let len = 0;
for (let i = 0; i < valStr.length; i++) {
let a = valStr.charAt(i);
if (a.match(/[^\x00-\xff]/gi) != null) {
len += 1;
} else {
len += 0.5;
}
}
return Math.ceil(len);
},
/*暂无用*/
cutStr: function(str, len, type) {
let char_length = 0;
for (let i = 0; i < str.length; i++) {
let son_str = str.charAt(i);
if (type == 1) {
encodeURI(son_str).length > 2 ? (char_length += 1) : (char_length += 0.5);
}
if (type == 2) {
char_length += 1;
}
if (char_length >= len) {
let sub_len = char_length == len ? i + 1 : i;
return str.substr(0, sub_len);
}
}
},
/**
* 限制字数用, 一个汉字算一个字,两个英文/字母算一个字
*/
getByteVal: function(val, max) {
let valStr = val == '' || val == null ? '' : val;
let returnValue = '';
let byteValLen = 0;
for (let i = 0; i < valStr.length; i++) {
if (valStr[i].match(/[^\x00-\xff]/gi) != null) byteValLen += 1;
else byteValLen += 0.5;
if (byteValLen > max) break;
returnValue += valStr[i];
}
return returnValue;
},
/**
* 限制字符数用, 一个汉字算两个字符,一个英文/字母算一个字符
*/
getCharVal: function(val, max) {
let valStr = val == '' || val == null ? '' : val;
let returnValue = '';
let byteValLen = 0;
for (let i = 0; i < valStr.length; i++) {
if (valStr[i].match(/[^\x00-\xff]/gi) != null) byteValLen += 2;
else byteValLen += 1;
if (byteValLen > max) break;
returnValue += valStr[i];
}
return returnValue;
},
/**
* 正则校验,校验非负数字
*/
regPos: function(v) {
let regTest = /^\d+(\.\d+)?$/;
return regTest.test(v);
}
};
/*
* 时间日期转换
* @param: "10:00-22:00"/ new Date()
*/
export default {
/*
* var storeBusinessTime="10:00-22:00" to
*/
timeToDate: function(val) {
var date = new Date()
var y = date.getFullYear();
var m = date.getMonth() +1;
var day = date.getDate();
var d = [],newArr = [];
var dArr = val.split('-');
dArr.forEach(function(ele,index){
newArr.push(ele.split(':'))
})
d = [new Date(y,m,day,newArr[0][0],newArr[0][1]),new Date(y,m,day,newArr[1][0],newArr[1][1])]
return d;
},
dateToTime(val) {
console.log(val)
// (0-9)年月数字的显示
function formatDig(num) {
return num > 9 ? '' + num : '0' + num;
}
var t;
var t1 = formatDig(new Date(val[0]).getHours())+':'+formatDig(new Date(val[0]).getMinutes())
var t2 = formatDig(new Date(val[1]).getHours())+':'+formatDig(new Date(val[1]).getMinutes())
t= t1+'-'+t2
return t;
}
}
var SIGN_REGEXP = /([yMdhsm])(\1*)/g;
var DEFAULT_PATTERN = 'yyyy-MM-dd';
function padding(s, len) {
var len = len - (s + '').length;
for (var i = 0; i < len; i++) { s = '0' + s; }
return s;
};
export default {
getQueryStringByName: function (name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
var context = "";
if (r != null)
context = r[2];
reg = null;
r = null;
return context == null || context == "" || context == "undefined" ? "" : context;
},
formatDate: {
format: function (date, pattern) {
pattern = pattern || DEFAULT_PATTERN;
return pattern.replace(SIGN_REGEXP, function ($0) {
switch ($0.charAt(0)) {
case 'y': return padding(date.getFullYear(), $0.length);
case 'M': return padding(date.getMonth() + 1, $0.length);
case 'd': return padding(date.getDate(), $0.length);
case 'w': return date.getDay() + 1;
case 'h': return padding(date.getHours(), $0.length);
case 'm': return padding(date.getMinutes(), $0.length);
case 's': return padding(date.getSeconds(), $0.length);
}
});
},
parse: function (dateString, pattern) {
var matchs1 = pattern.match(SIGN_REGEXP);
var matchs2 = dateString.match(/(\d)+/g);
if (matchs1.length == matchs2.length) {
var _date = new Date(1970, 0, 1);
for (var i = 0; i < matchs1.length; i++) {
var _int = parseInt(matchs2[i]);
var sign = matchs1[i];
switch (sign.charAt(0)) {
case 'y': _date.setFullYear(_int); break;
case 'M': _date.setMonth(_int - 1); break;
case 'd': _date.setDate(_int); break;
case 'h': _date.setHours(_int); break;
case 'm': _date.setMinutes(_int); break;
case 's': _date.setSeconds(_int); break;
}
}
return _date;
}
return null;
}
}
};
<!--
限制输入框组件
<limitInput
:inputWidth="500"
:limitClass="'limit-color'"
:disflag='!childItem.fieldEdited'
:inputValue.sync="ruleForm.addressDetail"
:holder="'请输入详细地址'"
:getByType="'word'"
:maxLength="40">
</limitInput>
-->
<template>
<div :class="['input-line-cell', limitClass]" :style="{ width: inputWidth + 'px' }">
<el-input :style="{ width: inputWidth + 'px' }" v-model="itemValue" :disabled="disflag" :placeholder="holder" @blur="inputBlur()" @focus="inputFocus()" @keyup.native="value => toInput(value)"> </el-input>
<span class="tip"
><span class="len_span">{{ inputNum }}</span
>/{{ limitLength }}</span
>
</div>
</template>
<script>
import strLength from '@/assets/js/strlen';
export default {
name: 'limitinput',
props: {
// 传入 input value
inputValue: {
type: [String, Number],
default() {
return '';
}
},
// 限制长度
maxLength: {
type: Number,
default: 10
},
// input 长度
inputWidth: {
type: Number,
default: 500
},
// 字或字符判断类型
getByType: {
type: String,
default: 'word' // word: 字, char: 字符
},
holder: {
type: String,
default: '请输入'
},
disflag: {
type: Boolean,
default: false
},
limitClass: {
type: String,
default: ''
}
},
data() {
return {
inputNum: 0,
limitLength: 10,
itemValue: ''
};
},
methods: {
/* eslint-disable */
inputFocus(num) {},
// 输入
toInput: function(value) {
const that = this;
let temp = '';
if (that.getByType == 'word') {
temp = strLength.getByteVal(value.target.value, that.limitLength);
that.itemValue = temp.trim();
that.inputNum = strLength.getZhLen(that.itemValue);
} else {
temp = strLength.getCharVal(value.target.value, that.limitLength);
that.itemValue = temp.trim();
that.inputNum = strLength.getByteLen(that.itemValue);
}
that.$emit('update:inputValue', that.itemValue);
},
inputBlur() {
const that = this;
that.$emit('update:inputValue', that.itemValue);
}
},
watch: {
maxLength: function(newData, oldData) {
const that = this;
that.limitLength = newData;
},
inputValue: function(newData, oldData) {
let that = this;
that.itemValue = newData || '';
if (that.getByType == 'word') {
that.inputNum = strLength.getZhLen(that.itemValue);
} else {
that.inputNum = strLength.getByteLen(that.itemValue);
}
}
},
/* 接收数据 */
mounted() {
let that = this;
that.limitLength = that.maxLength;
that.itemValue = that.inputValue || '';
if (that.getByType == 'word') {
that.inputNum = strLength.getZhLen(that.inputValue);
} else {
that.inputNum = strLength.getByteLen(that.inputValue);
}
}
};
</script>
<style lang="less" scoped>
.input-line-cell {
position: relative;
display: inline-block;
&.limit-color {
.tip {
color: rgba(255, 255, 255, 0.7);
}
}
}
.w-340 {
width: 340px;
/deep/ .el-input__inner {
font-size: 14px;
color: #fff;
background-color: rgba(255, 255, 255, 0.1);
}
}
.el-input {
/deep/ .el-input__inner {
font-size: 14px;
color: #606266;
background-color: rgba(255, 255, 255, 0.1);
}
&.is-disabled {
opacity: 0.5;
}
.is-disabled {
/deep/ .el-input__inner {
font-size: 14px;
color: #fff;
background-color: rgba(255, 255, 255, 0.1);
}
}
}
.tip {
position: absolute;
top: 2px;
right: 10px;
display: inline-block;
line-height: 32px;
text-align: right;
font-size: 12px;
color: #c0c4cc;
}
</style>
<!--
限制文本框组件
<limit-textarea
:inputWidth="500"
:inputValue.sync="ruleForm.addressDetail"
:holder="'请输入详细地址'"
:getByType="'word'"
:disinput=""
:maxLength="40">
</limit-textarea>
-->
<template>
<div class="input-line-cell" :style="{ width: inputWidth + 'px' }">
<el-input :style="{ width: inputWidth + 'px' }" v-model="itemValue" :placeholder="holder" type="textarea" :rows="3" :disabled="disInput" @blur="inputBlur()" @focus="inputFocus()" @keyup.native="value => toInput(value)"> </el-input>
<span class="tip"
><span class="len_span">{{ inputNum }}</span
>/{{ limitLength }}</span
>
</div>
</template>
<script>
import strLength from '@/assets/js/strlen';
export default {
name: 'limittextarea',
props: {
inputValue: {
// 传入 input value
type: String,
default: ''
},
maxLength: {
// 限制长度
type: Number,
default: 10
},
inputWidth: {
// input 长度
type: Number,
default: 500
},
getByType: {
// 字或字符判断类型
type: String,
default: 'word' // word: 字, char: 字符
},
holder: {
type: String,
default: '请输入'
},
disInput: {
type: Boolean,
default: false
}
},
data() {
return {
inputNum: 0,
limitLength: 10,
itemValue: ''
};
},
methods: {
/* eslint-disable */
inputFocus(num) {},
// 输入
toInput: function(value) {
const that = this;
let temp = '';
if (that.getByType == 'word') {
temp = strLength.getByteVal(value.target.value, that.limitLength);
that.itemValue = temp.trim();
that.inputNum = strLength.getZhLen(that.itemValue);
} else {
temp = strLength.getCharVal(value.target.value, that.limitLength);
that.itemValue = temp.trim();
that.inputNum = strLength.getByteLen(that.itemValue);
}
that.$emit('update:inputValue', that.itemValue);
},
inputBlur() {
const that = this;
that.$emit('update:inputValue', that.itemValue);
}
},
watch: {
maxLength: function(newData, oldData) {
const that = this;
that.limitLength = newData;
},
inputValue: function(newData, oldData) {
const that = this;
that.itemValue = newData;
if (that.getByType == 'word') {
that.inputNum = strLength.getZhLen(that.itemValue);
}else {
that.inputNum = strLength.getByteLen(that.itemValue);
}
}
},
/* 接收数据 */
mounted() {
const that = this;
that.limitLength = that.maxLength;
that.itemValue = that.inputValue || '';
if (that.getByType == 'word') {
that.inputNum = strLength.getZhLen(that.inputValue);
}else {
that.inputNum = strLength.getByteLen(that.inputValue);
}
}
};
</script>
<style lang="less" scoped>
.input-line-cell {
position: relative;
display: inline-block;
}
.w-340 {
width: 340px;
/deep/ .el-input__inner {
font-size: 14px;
color: #fff;
background-color: rgba(255, 255, 255, 0.1);
}
}
.el-textarea {
/deep/ .el-textarea__inner {
font-size: 14px;
color: #606266;
background-color: rgba(255, 255, 255, 0.1);
resize: none;
font-family: 'Helvetica Neue', Helvetica, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', '\5FAE\8F6F\96C5\9ED1', Arial, sans-serif;
}
&.is-disabled {
opacity: 0.5;
}
}
.el-input {
.is-disabled {
/deep/ .el-input__inner {
font-size: 14px;
color: #fff;
background-color: rgba(255, 255, 255, 0.1);
}
}
}
.tip {
position: absolute;
bottom: -4px;
right: 10px;
display: inline-block;
line-height: 32px;
text-align: right;
font-size: 12px;
color: #c0c4cc;
}
</style>
<template>
<div class="nav-wrap boxbttom border-box">
<el-breadcrumb separator-class="el-icon-arrow-right">
<template v-for="(item, index) in navPath">
<template v-if="!!item.path">
<el-breadcrumb-item :key="'nav' + index" @click="changeRoute(item.path, item.relocation)">
<span class="el-breadcrumb__inner is-link" @click="changeRoute(item.path, item.relocation)">
{{ item.name
}}<!-- :to="{ path: item.path }" -->
</span>
</el-breadcrumb-item>
</template>
<template v-else>
<el-breadcrumb-item :key="'nav' + index">{{ item.name }}</el-breadcrumb-item>
</template>
</template>
</el-breadcrumb>
</div>
</template>
<script>
import { postRequest } from '@/api/api';
import errMsg from '@/assets/js/error';
export default {
name: 'nav-bread',
data() {
return {
projectName: 'api-gateway-web' // 当前项目名
};
},
props: {
navPath: {
type: Array,
default: function() {
return [];
}
},
slotFlag: {
type: Boolean,
default: false
},
navtip: {
type: Boolean,
default: false
},
subNavText: {
type: String,
default: ''
}
},
methods: {
changeRoute(path, relocation) {
let that = this;
if (relocation) {
window.location.href = path;
} else {
// 为了返回带参数
if (that.$route.fullPath.includes('?')) {
let hash = '?' + that.$route.fullPath.split('?')[1];
let newPath = path + hash;
that.$router.push(newPath);
return false;
}
that.$router.push(path);
}
},
// get nav path
getNavPath() {
let that = this;
let para = {
project: that.projectName,
path: that.$route.path.split('/')[1]
};
postRequest('/api-auth/get-current-memu-data', para)
.then(res => {
// console.log(res,res.data,res.data.errorCode)
var resData = res.data;
if (resData.errorCode == 0) {
if (!resData.result) {
return false;
}
that.navpath = [];
if (!!resData.result.list && !!resData.result.list.length) {
resData.result.list.forEach(function(ele, index) {
ele.name = ele.menuName;
ele.path = '';
if (index == resData.result.list.length - 1) {
ele.path = '/' + ele.menuUrl;
}
if (index > 0) {
that.navpath.push(ele);
}
});
// that.navpath = resData.result.list
}
// that.navpath[0].name = resData.result.level2.menuName;
// that.navpath[0].path = ''
// that.navpath[1].name = resData.result.level3.menuName;
// that.navpath[1].path = ''
// if (!!resData.result.level4) {
// that.navpath[2] = {
// name:'',
// path: ''
// }
// that.navpath[2].name = resData.result.level4.menuName;
// that.navpath[2].path = ''
// }
return;
}
errMsg.errorMsg(resData);
})
.catch(function(error) {
// that.toLogin()
that.$message.error({
duration: 1000,
message: error.message
});
});
}
},
/* eslint-disable */
mounted() {
// var that = this;
// that.getNavPath();
}
};
</script>
<style lang="less" scoped>
.nav-wrap {
padding: 12px 0 0 21px;
height: 40px;
background-color: #fff;
border-radius: 2px;
}
.boxbttom {
border-bottom: 1px solid #e4e7ed;
}
.boxshow {
border-bottom: 1px solid #e4e7ed;
box-shadow: 5px -1px 5px #dfdfdf;
}
.navtitle {
margin: 24px 0 0 0;
font-size: 20px;
color: #303133;
font-weight: 500;
}
.navtip {
width: 100%;
height: 38px;
line-height: 38px;
font-size: 13px;
border-radius: 2px;
color: #606266;
background-color: #f4f4f5;
}
.navmTop {
margin-top: 25px;
}
.navtipcolor {
margin: 0 12px;
color: #1890ff;
}
.el-breadcrumb__item:last-child .el-breadcrumb__inner,
.el-breadcrumb__item:last-child .el-breadcrumb__inner a,
.el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover,
.el-breadcrumb__item:last-child .el-breadcrumb__inner:hover {
font-weight: 700;
text-decoration: none;
cursor: pointer;
color: #303133;
}
.el-breadcrumb__item:last-child {
/deep/.el-breadcrumb__inner {
font-weight: 700;
color: #303133;
}
}
.el-breadcrumb__inner.is-link {
font-weight: 500;
color: #606266;
}
</style>
<!--
单个上传组件
<single-upload
:imgSrc.sync=""
:field="''">
</single-upload>
-->
<template>
<div class="single-upload-wrap">
<el-upload class="avatar-uploader" :action="uploadUrl()" :show-file-list="false" :on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload">
<img v-if="imgSrc" :src="imgSrc" class="avatar" @mouseover="showImage(imgSrc)" />
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
<p class="upload-tip w-500" v-if="field == 'businessCard'">
上传营业执照复印件加盖公章,手写“仅用于好办认证”字样;照片搜索信息要求清晰可见,内容真实有效,不得做任何修改;支持jpp、jpeg、bmg、gif、png格式,大小不超过8M。
</p>
<p class="upload-tip w-500" v-if="field == 'cardUrl'">
支持jpg、jpeg、pdf、bmg、gif格式照片,大小不超过2M,只能上传一张,再次上传覆盖前一张
</p>
<p class="upload-tip w-500" v-if="field == 'authUrl'">点击可以<a class="color-1890ff" href="https://other-1251519181.cos.ap-shanghai.myqcloud.com/doc/20190529092413/好办认证授权书.docx" download="好办认证授权书.docx">下载授权书</a>模板,支持jpg、jpeg、pdf、bmg、gif格式照片,大小不超过2M,只能上传一张,再次上传覆盖前一张</p>
<!-- 图片预览 -->
<vue-gic-img-preview :imgUrl="imgUrl" :imgShowFlag="imgShowFlag" @hideImage="hideImage"></vue-gic-img-preview>
</div>
</template>
<script>
// import strLength from '@/common/js/strlen';
// import showMsg from '@/common/js/showmsg';
import errMsg from '@/common/js/error';
// import { _debounce } from '@/common/js/public';
// import { getRequest } from '@/api/api';
export default {
name: 'single-upload',
props: {
imgSrc: {
// 传入 input value
type: String,
default: ''
},
field: {
type: String,
default: ''
},
uploadLimit: {
type: Number,
default: 2
}
},
data() {
return {
projectName: '', // 当前项目名
imgShowFlag: false, // 是否弹框显示,true: 显示;false: 不显示
imgUrl: '' // 传递的图片 src
};
},
beforeMount() {
const that = this;
let host = window.location.origin;
if (host.indexOf('localhost') != -1) {
that.baseUrl = 'http://www.gicdev.com';
} else {
that.baseUrl = host;
}
// that.upUrl = that.baseUrl + '/api-plug/upload-img?wxFlag=1'
},
methods: {
/**
* 上传图片
*/
uploadUrl() {
const that = this;
let host = window.location.origin;
let baseUrl;
if (host.indexOf('localhost') != '-1') {
baseUrl = 'http://www.gicdev.com';
} else {
baseUrl = host;
}
that.upUrl = baseUrl + '/haoban-manage-web/upload-img';
return that.upUrl;
},
/**
* 上传图片
*/
handleAvatarSuccess(res, file, type) {
const that = this;
if (res.errorCode == 1) {
that.$emit('update:imgSrc', res.result[0].qcloudImageUrl);
} else {
errMsg.errorMsg(res);
}
},
beforeAvatarUpload(file) {
const that = this;
const isJPG = file.type === 'image/jpeg' || file.type === 'image/jpg' || file.type === 'image/png' || file.type === 'image/gif' || file.type === 'image/bmp';
const isLt2M = file.size / 1024 / 1024 < that.uploadLimit;
// if (!isJPG) {
// that.$message.error('上传头像图片只能是 JPG 格式!');
// }
if (!isLt2M) {
that.$message.error(`上传头像图片大小不能超过 ${that.uploadLimit}MB!`);
}
return (
isJPG &&
isLt2M &&
new Promise(function(resolve, reject) {
let reader = new FileReader();
reader.onload = function(event) {
let image = new Image();
image.onload = function() {
/* eslint-disable */
let width = this.width;
let height = this.height;
// if (width !== 750 && height !== 750){
// that.$message.error('图片尺寸必须为750px*750px!');
// reject();
// }
resolve();
};
image.src = event.target.result;
// that.$emit('update:imgSrc',event.target.result)
};
reader.readAsDataURL(file);
})
);
},
/**
* 上传图片预览
*/
showImage(src) {
const that = this;
if (!src || src == '') {
return false;
}
that.imgShowFlag = true;
that.imgUrl = src;
},
hideImage(val) {
const that = this;
that.imgShowFlag = val;
}
}
// mounted() {}
};
</script>
<style lang="less" scoped>
.w-500 {
width: 500px;
}
.avatar-uploader {
/deep/ .el-upload {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
-webkit-justify-content: center;
justify-content: center;
width: 180px;
height: 180px;
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
}
/* flex */
.flex {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
}
.flex-1 {
-webkit-box-flex: 1;
-webkit-flex: 1;
-ms-flex: 1;
flex: 1;
}
.flex-column {
-webkit-flex-direction: column;
-moz-flex-direction: column;
-ms-flex-direction: column;
-o-flex-direction: column;
flex-direction: column;
}
.flex-row {
-webkit-flex-direction: row;
-moz-flex-direction: row;
-ms-flex-direction: row;
-o-flex-direction: row;
flex-direction: row;
}
.flex-align-center {
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.flex-pack-center {
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
}
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 180px;
height: 180px;
line-height: 180px;
text-align: center;
}
.avatar {
max-width: 180px;
max-height: 180px;
display: block;
}
.upload-tip {
margin-top: 8px;
color: #606266;
font-size: 12px;
line-height: 20px;
}
.color-1890ff {
color: #1890ff;
}
</style>
<!--
<vue-api-aside :activeSelTab="activeSelTab" @setSelectTab="setSelectTab"></vue-api-aside>
import vueApiAside from '@/components/vue-api-aside.vue';
activeSelTab: ''
-->
<template>
<div class="api-body-left border-box">
<ul class="tab-left-list border-box">
<template v-for="(item, index) in leftMenuData">
<li :class="['tab-left-list-cell color-606266 font-14 border-box my-first-level', item.tabCode == activeTab ? 'active-tab' : '']" :key="index" @click="selectTab(item, false, index)">
<i :class="['iconfont tab-icon', item.tabIcon, !!item.onlyIconActive ? 'iconActive' : '']"></i>{{ item.tabName }}
<!-- <i v-if="!!item.children && !!item.children.length" :class="[!!item.collapsFlag ? 'el-icon-arrow-up' : 'el-icon-arrow-down']"></i> -->
</li>
<ul class="child-tab-left-list" :key="'childitem' + index" v-if="item.collapsFlag">
<template v-for="(childitem, childIndex) in item.children">
<li :class="['tab-left-list-cell color-606266 font-14 border-box', childitem.tabCode == activeTab ? 'active-tab' : '']" :key="childIndex" @click="selectTab(childitem, 'child', index)">{{ childitem.tabName }}</li>
</template>
</ul>
</template>
</ul>
</div>
</template>
<script>
import { getRequest } from '@/api/api';
export default {
name: 'vue-api-aside',
props: {
activeSelTab: {
type: String,
default() {
return '1';
}
}
},
data() {
return {
activeTab: this.activeSelTab,
leftMenuData: [
{
tabId: 1,
tabCode: 1,
tabName: '概览',
tabIcon: 'icongailan-',
collapsFlag: false,
tabUrl: '/overview',
children: []
},
{
tabId: 2,
tabCode: 2,
tabName: 'API管理',
tabIcon: 'iconapi',
collapsFlag: true,
tabUrl: '/apiProgram',
children: [
{
tabId: 21,
tabCode: 21,
tabName: '项目列表',
tabIcon: '',
tabUrl: '/apiProgram'
},
{
tabId: 22,
tabCode: 22,
tabName: 'API列表',
tabIcon: '',
tabUrl: '/apiList'
}
]
},
{
tabId: 3,
tabCode: 3,
tabName: '环境管理',
tabIcon: 'iconhuanjingguanli',
collapsFlag: false,
tabUrl: '/envManage',
children: []
},
{
tabId: 4,
tabCode: 4,
tabName: '发布记录',
tabIcon: 'iconfabu',
collapsFlag: false,
tabUrl: '/releaseRecords',
children: []
},
{
tabId: 5,
tabCode: 5,
tabName: '插件管理',
tabIcon: 'iconchajianguanli',
collapsFlag: false,
tabUrl: '/pluginManage',
children: []
},
{
tabId: 6,
tabCode: 6,
tabName: '错误码',
tabIcon: 'iconcuowu',
collapsFlag: false,
tabUrl: '/errorCode',
children: []
},
{
tabId: 7,
tabCode: 7,
tabName: '预警系统',
tabIcon: 'iconRectangleCopy',
collapsFlag: false,
tabUrl: '/',
children: []
},
{
tabId: 8,
tabCode: 8,
tabName: '日志管理',
tabIcon: 'iconrizhiguanli',
collapsFlag: false,
tabUrl: '/',
children: []
},
{
tabId: 9,
tabCode: 9,
tabName: '权限管理',
tabIcon: 'iconquanxian',
collapsFlag: false,
tabUrl: '/',
children: []
}
]
};
},
methods: {
/**
* 选择后触发方法,返回 code
*/
selectTab(item, flag, index) {
let that = this;
if (!!flag) {
that.leftMenuData[index].onlyIconActive = true;
} else {
that.leftMenuData.forEach(ele => {
ele.onlyIconActive = false;
});
item.collapsFlag = !!item.collapsFlag && item.hasOwnProperty('children') && item.children.length > 0 ? false : true;
that.$forceUpdate();
}
// 判断已选 item, 判断只让 icon 变色
if (item.hasOwnProperty('children') && item.children.length > 0) {
that.leftMenuData[index].onlyIconActive = true;
if (item.children[0].hasOwnProperty('children') && item.children[0].hasOwnProperty('children').length > 0) {
that.activeTab = item.children[0].children[0].tabCode;
that.$emit('setSelectTab', item);
return false;
}
that.activeTab = item.children[0].tabCode;
that.$emit('setSelectTab', item);
return false;
}
that.activeTab = item.tabCode;
that.$emit('setSelectTab', item);
},
/**
* 获取左侧菜单
*/
getLeftMenu() {
const that = this;
let para = {
project: that.repProjectName,
router: that.pathName,
requestProject: that.repProjectName
};
getRequest('/haoban-manage-web/menu-detail', para)
.then(res => {
let resData = res.data;
if (resData.errorCode == 1) {
if (!resData.result) {
that.$message.error({
duration: 1000,
message: '暂无数据'
});
return;
}
return;
}
that.$message.error({
duration: 1000,
message: resData.message
});
})
.catch(function(error) {
that.$message.error({
duration: 1000,
message: error.message
});
});
}
},
watch: {
$route: {
handler: function(val, oldVal) {},
// 深度观察监听
deep: true
},
activeSelTab: function(val, oldVal) {
this.activeTab = val;
}
},
/* 接收数据 */
mounted() {
const that = this;
that.activeTab = that.activeSelTab;
}
};
</script>
<style lang="less" scoped>
.tab-left-list {
.tab-icon {
padding-right: 10px;
display: inline-block;
vertical-align: middle;
&.iconRectangleCopy {
width: 16px;
font-size: 20px;
}
&.icongailan- {
font-size: 14px;
}
}
li {
white-space: nowrap;
overflow: hidden;
}
.tab-left-list-cell {
position: relative;
text-align: left;
height: 40px;
line-height: 40px;
white-space: nowrap;
overflow: hidden;
cursor: pointer;
color: #909399;
&.my-first-level {
padding: 0 0 0 30px;
}
.iconActive {
color: #5584ff;
}
&:hover {
color: #5584ff;
background: #f5f7fa;
i {
color: #5584ff;
}
}
&.active-tab {
color: #5584ff;
background: #f5f7fa;
/* &::before {
content: ' ';
position: absolute;
left: 0;
top: 0;
bottom: 0;
width: 2px;
background: #5584ff;
z-index: 1;
} */
i {
color: #5584ff;
}
}
}
.child-tab-left-list {
-webkit-transition: all 0.5s ease-in-out;
-o-transition: all 0.5s ease-in-out;
-moz-transition: all 0.5s ease-in-out;
transition: all 0.5s ease-in-out;
li {
position: relative;
text-align: left;
height: 40px;
line-height: 40px;
padding: 0 0 0 55px;
white-space: nowrap;
overflow: hidden;
cursor: pointer;
&:hover {
color: #5584ff;
background: #f5f7fa;
i {
color: #5584ff;
}
}
&.active-tab {
color: #5584ff;
background: #f5f7fa;
/* &::before {
content: ' ';
position: absolute;
left: 0;
top: 0;
bottom: 0;
width: 2px;
background: #5584ff;
z-index: 1;
} */
i {
color: #5584ff;
}
}
}
}
}
</style>
<template>
<div class="home-footer-content">
<div class="home-footer">
<div class="home-footer-body flex flex-space-between">
<div class="home-footer-left">
<a class="demogic" href="javascript:;">
<img src="../assets/demogic.png" draggable="false" />
</a>
<p class="fonr-14 color-9ba5b4 m-t-9">浙江达摩网络科技有限公司</p>
<div class="qrcode-content m-t-30 font-0">
<template v-for="(item, index) in qrcodeList">
<el-popover placement="bottom" width="70" trigger="click" popper-class="el-qrcode-popper" :key="index + 'qrcode'">
<img :src="item.img_qrcode" alt="" style="width: 70px" />
<span slot="reference" :class="[index != 0 ? 'qrcode-popper' : '']">
<img class="qrcode-wx qrcode-common-img font-12" :src="activeIndex == index ? item.img_active : item.img" alt="" @blur="changeIndex" @click="changeSrc(item, index)" />
</span>
</el-popover>
</template>
<!-- <el-popover placement="bottom" width="70" trigger="click" popper-class="el-qrcode-popper">
<img src="../assets/index/wx_qrcode.png" alt="" style="width: 70px" />
<span slot="reference">
<img class="qrcode-wx qrcode-common-img font-12" src="../assets/index/wx.png" alt="" />
</span>
</el-popover>
<el-popover placement="bottom" width="70" trigger="click" popper-class="el-qrcode-popper">
<img src="../assets/index/app_qrcode.png" alt="" style="width: 70px" />
<span slot="reference" class="qrcode-popper">
<img class="qrcode-wx qrcode-common-img font-12" src="../assets/index/iOS.png" alt="" />
</span>
</el-popover>
<el-popover placement="bottom" width="70" trigger="click" popper-class="el-qrcode-popper">
<img src="../assets/index/app_qrcode.png" alt="" style="width: 70px" />
<span slot="reference" class="qrcode-popper">
<img class="qrcode-wx qrcode-common-img font-12" src="../assets/index/android.png" alt="" />
</span>
</el-popover> -->
</div>
</div>
<div class="content clearfix flex flex-space-between">
<ul class="flex-1">
<li>关于我们</li>
<li><a href="">达摩官网</a></li>
<li><a href="">达摩商户后台</a></li>
<li><a href="">达摩开发者中心</a></li>
</ul>
<ul class="flex-1">
<li>用户指南</li>
<li><a href="">开发者接入</a></li>
<li><a href="">解决方案</a></li>
</ul>
<ul class="flex-1">
<li>快捷入口</li>
<li><a href="">GIC服务市场</a></li>
<li><a href="">好办服务市场</a></li>
</ul>
</div>
</div>
</div>
<div class="home-site-footer">
<p>Copyright © {{ new Date().getFullYear() }} 浙江达摩网络科技有限公司 | 浙ICP备15033117号-1</p>
</div>
</div>
</template>
<script>
export default {
name: 'index',
data() {
return {
/* eslint-disable */
activeIndex: null,
qrcodeList: [
{
img: require('../assets/index/wx.png'),
img_active: require('../assets/index/wx_active.png'),
img_qrcode: require('../assets/index/wx_qrcode.png')
},
{
img: require('../assets/index/iOS.png'),
img_active: require('../assets/index/iOS_active.png'),
img_qrcode: require('../assets/index/app_qrcode.png')
},
{
img: require('../assets/index/android.png'),
img_active: require('../assets/index/android_active.png'),
img_qrcode: require('../assets/index/app_qrcode.png')
}
]
};
},
methods: {
changeSrc(item, index) {
const that = this;
that.activeIndex = index;
},
changeIndex(e) {
const that = this;
if (!e.target.className.includes('qrcode-common-img')) {
that.activeIndex = null;
}
}
},
mounted() {
const that = this;
document.body.addEventListener('click', that.changeIndex);
},
beforeDestroy() {
const that = this;
document.body.removeEventListener('click', that.changeIndex);
},
};
</script>
<style lang="less" scoped>
.home-footer-content {
width: 100%;
height: 320px;
.home-footer {
width: 100%;
height: 268px;
background: #0a1633;
.home-footer-body {
width: 1200px;
margin: 0 auto;
.home-footer-left {
padding-top: 40px;
.qrcode-content {
.qrcode-popper {
margin-left: 20px;
}
.qrcode-common-img {
width: 34px;
height: 34px;
cursor: pointer;
}
}
}
.content {
padding-top: 40px;
padding-left: 400px;
ul {
width: 120px;
margin-right: 110px;
&:last-child {
margin-right: 0;
}
li {
line-height: 32px;
height: 32px;
}
a {
height: 32px;
line-height: 32px;
display: inline-block;
-webkit-transition: all 0.2s ease;
transition: all 0.2s ease;
&:hover {
color: white;
}
}
li,
a {
font-size: 13px;
color: #9ba5b4;
}
li:first-child {
margin-bottom: 20px;
border-bottom: 1px solid rgba(89, 114, 153, 0.36);
}
}
}
}
}
.home-site-footer {
width: 100%;
height: 52px;
line-height: 52px;
background: #071025;
text-align: center;
font-size: 13px;
color: #9ba5b4;
}
}
</style>
<!--
<vue-open-header></vue-open-header>
-->
<template>
<div class="open-header">
<div class="open-header-wrap border-box flex ">
<div class="open-header-left"><img src="../assets/logo_01.png" alt="" /></div>
<div class="open-header-right">
<ul class="flex">
<li v-for="(item, index) in openMenuData" :key="index + 'menu'" class="menu-li" @click.stop.prevent="toRedirect(item)">
<span>{{ item.menuName }}</span
><span v-if="item.children && item.children.length"><i class="font_family icon-arrow_right color-16214a font-14"></i></span>
<div v-if="item.children && item.children.length" class="menu-child">
<ul class="child-menu-ul">
<li v-for="(childItem, child) in item.children" :key="child + 'child'" class="child-item-menu" @click.stop.prevent="toRedirect(childItem)">{{ childItem.menuName }}</li>
</ul>
</div>
</li>
</ul>
</div>
</div>
</div>
</template>
<script>
export default {
name: 'vue-open-header',
data() {
return {
openMenuData: [
{
menuName: '开发者接入',
menuUrl: ''
},
{
menuName: '解决方案',
menuUrl: ''
},
{
menuName: '开发者中心',
menuUrl: ''
},
{
menuName: '服务市场',
menuUrl: '',
children: [
{
menuName: '好办服务市场',
menuUrl: ''
},
{
menuName: 'GIC服务市场',
menuUrl: ''
}
]
},
{
menuName: '达摩官网',
menuUrl: ''
}
]
};
},
methods: {
toRedirect(item) {
const that = this;
that.$router.push(item.menuUrl);
}
},
watch: {
$route: {
handler: function(val, oldVal) {
// console.log('获取当前路由:', val);
},
// 深度观察监听
deep: true
}
},
/* 接收数据 */
mounted() {
var that = this;
that.pathName = that.$route.path;
}
};
</script>
<style lang="less" scoped>
.open-header {
position: fixed;
top: 0;
left: 0;
right: 0;
width: 100%;
height: 58px;
line-height: 58px;
background: #fff;
z-index: 3;
&-wrap {
width: 1200px;
margin: 0 auto;
height: 56px;
line-height: 56px;
.open-header-left {
img {
display: inline-block;
vertical-align: middle;
padding-right: 36px;
-webkit-transform: translateY(-4px);
-moz-transform: translateY(-4px);
-ms-transform: translateY(-4px);
transform: translateY(-4px);
}
span {
font-size: 17px;
}
}
.open-header-right {
ul {
.menu-li {
position: relative;
margin-right: 32px;
font-size: 14px;
color: #16214a;
cursor: pointer;
.el-icon-arrow-down {
-webkit-transition: 0.3s all;
-moz-transition: 0.3s all;
-o-transition: 0.3s all;
-ms-transition: 0.3s all;
transition: 0.3s all;
}
&:hover {
color: #4c70e8;
border-bottom: 2px solid #4c70e8;
.el-icon-arrow-down {
color: #4c70e8;
-webkit-transform: rotate(180deg);
-moz-transform: rotate(180deg);
-o-transform: rotate(180deg);
-ms-transform: rotate(180deg);
transform: rotate(180deg);
}
.menu-child {
display: block;
}
}
.menu-child {
display: none;
position: absolute;
top: 58px;
left: -30px;
width: 140px;
// border: 1px solid #ebeef5;
border-radius: 0px;
background: #ffffff;
box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.08);
z-index: 1;
.child-menu-ul {
padding: 20px 0 20px 32px;
}
.child-item-menu {
line-height: 40px;
margin: 0;
cursor: pointer;
outline: none;
font-size: 14px;
color: #16214a;
&:hover {
color: #4c70e8;
}
}
}
}
}
}
}
}
</style>
/* 全局过滤器 */
const dateFormat = function(timeSpan, format) {
if (!timeSpan) return;
timeSpan = timeSpan.toString().length === 10 ? timeSpan * 1000 : timeSpan;
let date = new Date(timeSpan);
let o = {
'M+': date.getMonth() + 1,
'D+': date.getDate(),
W: '日一二三四五六'.charAt(date.getDay()),
'h+': date.getHours(),
'm+': date.getMinutes(),
's+': date.getSeconds(),
'q+': Math.floor((date.getMonth() + 3) / 3),
S: date.getMilliseconds()
};
if (/(Y+)/.test(format)) {
format = format.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
}
for (let k in o) {
if (new RegExp('(' + k + ')').test(format)) {
format = format.replace(RegExp.$1, RegExp.$1.length === 1 ? o[k] : ('00' + o[k]).substr(('' + o[k]).length));
}
}
return format;
};
/**
* 时间戳---> 年-月-日 时:分:秒
* @param timestamp
*/
const formatTimeStamp = function(data) {
let date = new Date(data);
let month = date.getMonth() + 1;
let day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
let newMonth = month < 10 ? '0' + month : month;
let hours = date.getHours() < 10 ? '0' + date.getHours() : date.getHours();
let minutes = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();
let seconds = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
return `${date.getFullYear()}-${newMonth}-${day} ${hours}:${minutes}:${seconds}`;
};
/**
* 时间戳---> 年-月-日
* @param timestamp
*/
const timeStampToYmd = function(data) {
let date = new Date(data);
let month = date.getMonth() + 1;
let day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
let newMonth = month < 10 ? '0' + month : month;
return `${date.getFullYear()}-${newMonth}-${day}`;
};
/**
* 时间戳---> 时:分:秒
* @param timestamp
*/
const timeStampToHms = function(data) {
let date = new Date(data);
let hours = date.getHours() < 10 ? '0' + date.getHours() : date.getHours();
let minutes = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();
let seconds = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
return `${hours}:${minutes}:${seconds}`;
};
export default {
dateFormat,
formatTimeStamp,
timeStampToYmd,
timeStampToHms
};
import 'babel-polyfill';
import promise from 'es6-promise';
promise.polyfill();
// import Vue from 'vue';
import App from './App';
import router from './router';
import ElementUI from 'element-ui';
import VueAxios from 'vue-axios';
import axios from 'axios';
import store from './store/store';
/* eslint-disable */
import * as types from './store/types';
import '../static/css/index.less';
// import 'element-ui/lib/theme-chalk/index.css'
import '../static/font/iconfont.css';
import '../theme/index.css';
import filters from './filters/index.js';
Vue.config.productionTip = false;
Vue.use(ElementUI, { size: 'large' });
Vue.use(VueAxios, axios);
Vue.axios.defaults.withCredentials = true; // 允许携带 cookie
// 全局注册过滤器
Object.keys(filters).forEach(key => {
Vue.filter(key, filters[key]);
});
/* eslint-disable no-new */
new Vue({
el: '#app',
router,
store,
components: { App },
template: '<App/>'
});
/* eslint-disable */
module.exports = (parantfile, file) => r => {
import('views/' + parantfile + '/' + file + '.vue').then(module => {
r(module);
});
};
import Vue from 'vue';
import Router from 'vue-router';
import _import from './_import.js';
Vue.use(Router);
// const error403 = (r) => {
// import('views/errorPage/403.vue').then((module) => {
// r(module)
// })
// };
// const error404 = (r) => {
// import('views/errorPage/404.vue').then((module) => {
// r(module)
// })
// };
// const error500 = (r) => {
// import('views/errorPage/500.vue').then((module) => {
// r(module)
// })
// };
const errorPage = r => {
import('views/errorPage/index.vue').then(module => {
r(module);
});
};
export const constantRouterMap = [
{
path: '/',
name: '/',
redirect: 'index'
},
{
path: '/login',
name: '登录',
component: _import('login', 'index')
},
{
path: '/index',
name: '首页',
component: _import('index', 'index')
},
{
path: '/403',
name: '无权访问',
component: errorPage
},
{
path: '/404',
name: 'error404',
component: errorPage
},
{
path: '/500',
name: 'error500',
component: errorPage
},
{ path: '*', redirect: '/404', hidden: true }
];
export default new Router({
// mode:'history',
routes: constantRouterMap,
scrollBehavior: () => ({ y: 0 })
});
import Vuex from 'vuex';
import Vue from 'vue';
import * as types from './types';
Vue.use(Vuex);
export default new Vuex.Store({
state: {
userInfo: {}, // 用户信息
token: null,
title: '',
show: false,
bgHeight: window.screen.availHeight - 440 - 24 + 'px',
baseInfo: {}, // 基础信息
frontInfo: {}, // 前端配置
backInfo: {}, // 后端配置
resultInfo: {} // 返回结果配置
},
mutations: {
[types.LOGIN]: (state, data) => {
sessionStorage.token = data;
state.token = data;
},
[types.LOGOUT]: state => {
sessionStorage.removeItem('token');
state.token = null;
},
[types.TITLE]: (state, data) => {
state.title = data;
},
[types.SHOW]: (state, data) => {
state.show = data;
},
saveUser: (state, data) => {
localStorage.removeItem('userInfo');
localStorage.setItem('userInfo', JSON.stringify(data));
state.userInfo = JSON.parse(localStorage.getItem('userInfo'));
},
clearUser: state => {
state.userInfo = {};
if (localStorage.getItem('userInfo')) {
localStorage.removeItem('userInfo');
}
},
saveBase: (state, data) => {
state.baseInfo = data;
},
saveFront: (state, data) => {
state.frontInfo = data;
},
saveBack: (state, data) => {
state.backInfo = data;
},
saveResult: (state, data) => {
state.resultInfo = data;
},
clearData: state => {
state.baseInfo = {};
state.frontInfo = {};
state.backInfo = {};
state.resultInfo = {};
}
},
actions: {
saveUserInfo(context, data) {
context.commit('saveUser', data);
},
clearUserInfo(context, data) {
context.commit('clearUser', data);
},
saveBaseInfo(context, data) {
context.commit('saveBase', data);
},
saveFrontInfo(context, data) {
context.commit('saveFront', data);
},
saveBackInfo(context, data) {
context.commit('saveBack', data);
},
saveResultInfo(context, data) {
context.commit('saveResult', data);
},
clearApiData(context, data) {
context.commit('clearData');
}
}
});
export const LOGIN = 'login';
export const LOGOUT = 'logout';
export const TITLE = 'title';
export const SHOW = 'show';
import Vue from 'vue'
import Clipboard from 'clipboard'
function clipboardSuccess() {
Vue.prototype.$message({
message: 'Copy successfully',
type: 'success',
duration: 1500
})
}
function clipboardError() {
Vue.prototype.$message({
message: 'Copy failed',
type: 'error'
})
}
export default function handleClipboard(text, event) {
const clipboard = new Clipboard(event.target, {
text: () => text
})
clipboard.on('success', () => {
clipboardSuccess()
clipboard.off('error')
clipboard.off('success')
clipboard.destroy()
})
clipboard.on('error', () => {
clipboardError()
clipboard.off('error')
clipboard.off('success')
clipboard.destroy()
})
clipboard.onClick(event)
}
/*设置cookie*/
export function setCookie(c_name,value,expire) {
var date=new Date();
date.setSeconds(date.getSeconds()+expire);
document.cookie = c_name + "="+ encodeURI(value)+"; expires="+date.toGMTString();
}
/*获取cookie*/
export function getCookie(c_name){
if(document.cookie.length>0){
var name = encodeURI(c_name);
var allcookies = document.cookie;
name += "=";
var pos = allcookies.indexOf(name);
if(pos != -1){
var start = pos + name.length;
var end = allcookies.indexOf(";",start);
if(end == -1){
end = allcookies.length;
}
var value = allcookies.substring(start,end);
return decodeURI(value);
} else{
return "";
}
}
}
/*删除cookie*/
export function delCookie(c_name){
setCookie(c_name, "", -1);
}
/**
* Created by jiachenpan on 17/3/8.
*/
export default function createUniqueString() {
const timestamp = +new Date() + ''
const randomNum = parseInt((1 + Math.random()) * 65536) + ''
return (+(randomNum + timestamp)).toString(32)
}
import { date } from "index";
export default function (value, format) {
if (!value) return "";
value = date.getdate(value, format);
return value;
};
/**
* Created by jiachenpan on 16/11/18.
*/
export let date = {
_date_cur_date: new Date(),
_date_reg_all: /^[12][0-9]{3}(-|\/)(0?[0-9]|1[0-2])(-|\/)(0?[1-9]|[1-2][0-9]|3[0-1]).(0?[0-9]|1[0-9]|2[0-3]):(0?[0-9]|[1-5][0-9]):(0?[0-9]|[1-5][0-9])$/,
_date_reg_year_month: /^[12][0-9]{3}(-|\/)(0?[0-9]|1[0-2])$/,
_date_reg_year_month_date: /^[12][0-9]{3}(-|\/)(0?[0-9]|1[0-2])(-|\/)(0?[1-9]|[1-2][0-9]|3[0-1])$/,
_date_reg_year_month_date_hour: /^[12][0-9]{3}(-|\/)(0?[0-9]|1[0-2])(-|\/)(0?[1-9]|[1-2][0-9]|3[0-1]).(0?[0-9]|1[0-9]|2[0-3])$/,
_date_reg_year_month_date_hour_minute: /^[12][0-9]{3}(-|\/)(0?[0-9]|1[0-2])(-|\/)(0?[1-9]|[1-2][0-9]|3[0-1]).(0?[0-9]|1[0-9]|2[0-3]):(0?[0-9]|[1-5][0-9])$/,
_date_reg_time: /^(0?[0-9]|1[0-9]|2[0-3]):(0?[0-9]|[1-5][0-9]):(0?[0-9]|[1-5][0-9])$/,
/***
* @param {Object|Number|String} date
* @param {Object} format
*/
getdate: function(date, format) {
/* eslint-disable */
let now = this.tojsdate(date),
year = now.getFullYear(),
month = now.getMonth() + 1,
day = now.getDate(),
hour = now.getHours(),
minute = now.getMinutes(),
second = now.getSeconds(),
result,
fill = function(val) {
return (val < 10 ? '0' : '') + val;
};
month = fill(month);
day = fill(day);
hour = fill(hour);
minute = fill(minute);
second = fill(second);
switch (format) {
case 'YY-MM':
case 'yyyy-MM':
result = year + '-' + month;
break;
case 'MM-DD':
result = month + '-' + day;
break;
case 'YY-MM-DD':
case 'yyyy-MM-dd':
result = year + '-' + month + '-' + day;
break;
case 'YY-MM-DD HH:MM:SS':
result = year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second;
break;
case 'YY-MM-DD HH:MM':
result = year + '-' + month + '-' + day + ' ' + hour + ':' + minute;
break;
case 'YY/MM/DD HH:MM':
result = year + '/' + month + '/' + day + ' ' + hour + ':' + minute;
break;
case 'HH:MM':
result = hour + ':' + minute;
break;
case 'HH:MM:SS':
result = hour + ':' + minute + ':' + second;
break;
default:
result = year + '/' + month + '/' + day + ' ' + hour + ':' + minute + ':' + second;
}
return result;
},
// 以后所有的时间都从这块来, 这块的时间将会配合时间矫正来处理.
getcurdate: function() {
return new Date(this._date_cur_date);
},
// 转化成为js 的时间
tojsdate: function(date) {
if (!this.is_date(date)) {
return this.getcurdate();
}
if (typeof date === 'string') {
if (/^\d{11,}$/.test(date)) {
return new Date(+date);
}
date = date.replace(/-/g, '/');
if (this._date_reg_year_month.test(date)) {
date += '/01';
}
}
return new Date(date);
},
/**
*
* Number y、mo、d、h、m、s 分别表示年/月/日/小时/分/秒. 如果没带后缀, 则默认为天.
* @param {Object|Number|String} oldDate
* @param {String|Number} changeDate
*/
getdiffdate: function(oldDate, changeDate, format) {
var curDate = this.tojsdate(oldDate);
if (/^(-?\d+)y$/.test(changeDate)) {
curDate.setFullYear(curDate.getFullYear() + +RegExp.$1);
} else if (/^(-?\d+)mo$/.test(changeDate) && RegExp.$1 !== 0) {
// 缓存当前的天
let _cacheDay = curDate.getDate();
// 重置到月初. 如果当前的 getDate() 大于目标月的最大日期就悲剧了
curDate.setDate(1);
// 设置月份
curDate.setMonth(curDate.getMonth() + +RegExp.$1);
curDate.setDate(_cacheDay);
if (curDate.getDate() !== _cacheDay) {
// 上个月的最后一天
curDate.setDate(0);
}
} else if (/^(-?\d+)d$/.test(changeDate)) {
curDate.setDate(curDate.getDate() + +RegExp.$1);
} else if (/^(-?\d+)h$/.test(changeDate)) {
curDate.setHours(curDate.getHours() + +RegExp.$1);
} else if (/^(-?\d+)m$/.test(changeDate)) {
curDate.setMinutes(curDate.getMinutes() + +RegExp.$1);
} else if (/^(-?\d+)s$/.test(changeDate)) {
curDate.setSeconds(curDate.getSeconds() + +RegExp.$1);
}
return this.getdate(curDate, format);
},
calculate: function(date, offset, format = 'YY-MM-DD') {
let timestamp = new Date(date);
let calculateDate = timestamp.setDate(timestamp.getDate() + offset);
return this.getdate(calculateDate, format);
},
format_date: function(date) {
if (!date || !this.is_date(date)) {
return false;
}
var reg = this._date_reg_time;
if (reg.test(date)) {
return date.replace(/-/g, '/');
} else {
return this.getdate(date);
}
},
is_date: function(date) {
if (!date || date === null) {
return false;
}
var newdate;
if (typeof date === 'string') {
if (/^\d{11,}$/.test(date)) {
newdate = new Date(+date);
return newdate !== 'Invalid Date';
}
return this._date_reg_all.test(date) || this._date_reg_year_month.test(date) || this._date_reg_year_month_date.test(date) || this._date_reg_year_month_date_hour.test(date) || this._date_reg_year_month_date_hour_minute.test(date);
}
newdate = new Date(date);
return newdate !== 'Invalid Date';
}
};
export function formatDate(value, format) {
if (!value) return '';
value = date.getdate(value, format);
return value;
}
export function parseTime(time, cFormat) {
if (arguments.length === 0) {
return null;
}
const format = cFormat || '{y}-{m}-{d} {h}:{i}:{s}';
let date;
if (typeof time === 'object') {
date = time;
} else {
if (('' + time).length === 10) time = parseInt(time) * 1000;
date = new Date(time);
}
const formatObj = {
y: date.getFullYear(),
m: date.getMonth() + 1,
d: date.getDate(),
h: date.getHours(),
i: date.getMinutes(),
s: date.getSeconds(),
a: date.getDay()
};
const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => {
let value = formatObj[key];
if (key === 'a') return ['一', '二', '三', '四', '五', '六', '日'][value - 1];
if (result.length > 0 && value < 10) {
value = '0' + value;
}
return value || 0;
});
return time_str;
}
export function formatTime(time, option) {
time = +time * 1000;
const d = new Date(time);
const now = Date.now();
const diff = (now - d) / 1000;
if (diff < 30) {
return '刚刚';
} else if (diff < 3600) {
// less 1 hour
return Math.ceil(diff / 60) + '分钟前';
} else if (diff < 3600 * 24) {
return Math.ceil(diff / 3600) + '小时前';
} else if (diff < 3600 * 24 * 2) {
return '1天前';
}
if (option) {
return parseTime(time, option);
} else {
return d.getMonth() + 1 + '月' + d.getDate() + '日' + d.getHours() + '时' + d.getMinutes() + '分';
}
}
// 格式化时间
export function getQueryObject(url) {
url = url == null ? window.location.href : url;
const search = url.substring(url.lastIndexOf('?') + 1);
const obj = {};
const reg = /([^?&=]+)=([^?&=]*)/g;
search.replace(reg, (rs, $1, $2) => {
const name = decodeURIComponent($1);
let val = decodeURIComponent($2);
val = String(val);
obj[name] = val;
return rs;
});
return obj;
}
/**
*get getByteLen
* @param {Sting} val input value
* @returns {number} output value
*/
export function getByteLen(val) {
let len = 0;
for (let i = 0; i < val.length; i++) {
if (val[i].match(/[^\x00-\xff]/gi) != null) {
len += 1;
} else {
len += 0.5;
}
}
return Math.floor(len);
}
export function cleanArray(actual) {
const newArray = [];
for (let i = 0; i < actual.length; i++) {
if (actual[i]) {
newArray.push(actual[i]);
}
}
return newArray;
}
export function param(json) {
if (!json) return '';
return cleanArray(
Object.keys(json).map(key => {
if (json[key] === undefined) return '';
return encodeURIComponent(key) + '=' + encodeURIComponent(json[key]);
})
).join('&');
}
export function param2Obj(url) {
const search = url.split('?')[1];
if (!search) {
return {};
}
return JSON.parse(
'{"' +
decodeURIComponent(search)
.replace(/"/g, '\\"')
.replace(/&/g, '","')
.replace(/=/g, '":"') +
'"}'
);
}
export function html2Text(val) {
const div = document.createElement('div');
div.innerHTML = val;
return div.textContent || div.innerText;
}
export function objectMerge(target, source) {
/* Merges two objects,
giving the last one precedence */
if (typeof target !== 'object') {
target = {};
}
if (Array.isArray(source)) {
return source.slice();
}
Object.keys(source).forEach(property => {
const sourceProperty = source[property];
if (typeof sourceProperty === 'object') {
target[property] = objectMerge(target[property], sourceProperty);
} else {
target[property] = sourceProperty;
}
});
return target;
}
export function scrollTo(element, to, duration) {
if (duration <= 0) return;
const difference = to - element.scrollTop;
const perTick = (difference / duration) * 10;
setTimeout(() => {
console.log(new Date());
element.scrollTop = element.scrollTop + perTick;
if (element.scrollTop === to) return;
scrollTo(element, to, duration - 10);
}, 10);
}
export function toggleClass(element, className) {
if (!element || !className) {
return;
}
let classString = element.className;
const nameIndex = classString.indexOf(className);
if (nameIndex === -1) {
classString += '' + className;
} else {
classString = classString.substr(0, nameIndex) + classString.substr(nameIndex + className.length);
}
element.className = classString;
}
export const pickerOptions = [
{
text: '今天',
onClick(picker) {
const end = new Date();
const start = new Date(new Date().toDateString());
end.setTime(start.getTime());
picker.$emit('pick', [start, end]);
}
},
{
text: '最近一周',
onClick(picker) {
const end = new Date(new Date().toDateString());
const start = new Date();
start.setTime(end.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit('pick', [start, end]);
}
},
{
text: '最近一个月',
onClick(picker) {
const end = new Date(new Date().toDateString());
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
picker.$emit('pick', [start, end]);
}
},
{
text: '最近三个月',
onClick(picker) {
const end = new Date(new Date().toDateString());
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
picker.$emit('pick', [start, end]);
}
}
];
export function getTime(type) {
if (type === 'start') {
return new Date().getTime() - 3600 * 1000 * 24 * 90;
} else {
return new Date(new Date().toDateString());
}
}
export function debounce(func, wait, immediate) {
/* eslint-disable */
let timeout,
args,
context,
timestamp,
result;
const later = function() {
// 据上一次触发时间间隔
const last = +new Date() - timestamp;
// 上次被包装函数被调用时间间隔last小于设定时间间隔wait
if (last < wait && last > 0) {
timeout = setTimeout(later, wait - last);
} else {
timeout = null;
// 如果设定为immediate===true,因为开始边界已经调用过了此处无需调用
if (!immediate) {
result = func.apply(context, args);
if (!timeout) context = args = null;
}
}
};
return function(...args) {
context = this;
timestamp = +new Date();
const callNow = immediate && !timeout;
// 如果延时不存在,重新设定延时
if (!timeout) timeout = setTimeout(later, wait);
if (callNow) {
result = func.apply(context, args);
context = args = null;
}
return result;
};
}
export function deepClone(source) {
if (!source && typeof source !== 'object') {
throw new Error('error arguments', 'shallowClone');
}
const targetObj = source.constructor === Array ? [] : {};
Object.keys(source).forEach(keys => {
if (source[keys] && typeof source[keys] === 'object') {
targetObj[keys] = source[keys].constructor === Array ? [] : {};
targetObj[keys] = deepClone(source[keys]);
} else {
targetObj[keys] = source[keys];
}
});
return targetObj;
}
export function deepCopy(obj) {
var o = obj.constructor === Array ? [] : {};
for (let i in obj) {
if (obj.hasOwnProperty(i)) {
o[i] = typeof obj[i] === 'object' ? deepCopy(obj[i]) : obj[i];
}
}
return o;
}
/**
* 按层级排序部门
* fixme 现在代码是将每个层级都剥离了出来,为的是适用后面可能出现的需求,但是如果后期需求无特殊更改,本代码可优化精简
*/
export function formatTreeData(list, needChildrens) {
let arr = {
list0: {},
list1: {},
list2: {},
list3: {},
list4: {},
list5: {},
list6: {},
list: list,
listObj: {}
};
let key;
let obj2;
let key2;
let parent;
let idOfLevel0;
let parentLevel;
list.length &&
list.forEach(obj => {
obj.name = obj.name || '';
obj.disableOpen = false;
obj.label = obj.name || '';
obj.id = obj.groupId || '';
obj.englishName = obj.englishName || '';
obj.level = obj.level;
obj.groupId = obj.groupId || '';
obj.parentId = obj.parentId || '';
// obj.childrens = [{label: "", id: ""}];
key = obj.groupId;
if (arr['list' + obj.level]) {
arr['list' + obj.level][key] = obj;
arr['list' + obj.level][key]['children'] = {};
}
if (obj.level == 0) {
idOfLevel0 = obj.groupId;
}
});
for (let level = 6; level > 0; level--) {
for (let item in arr['list' + level]) {
obj2 = arr['list' + level][item];
parentLevel = level - 1;
parent = arr['list' + parentLevel][obj2.parentId];
if (!parent) {
continue;
}
key2 = obj2.groupId;
if (!parent.hasOwnProperty('childrens')) {
parent['childrens'] = [];
}
parent['children'][key2] = obj2;
parent['childrens'].push(obj2);
if (!obj2.hasOwnProperty('childrens') && needChildrens) {
obj2['childrens'] = [{ label: '' }];
obj2['isLast'] = true;
}
}
}
arr.listObj = Object.assign({}, arr.list0, arr.list1, arr.list2, arr.list3, arr.list4, arr.list5, arr.list6);
let menuArr = [];
let defaultOpen = [];
for (let key in arr.list0) {
menuArr.push(arr.list0[key]);
arr.list0[key].disabled = true;
arr.list0[key].hasLoad = true;
defaultOpen.push(key);
}
return {
defaultOpen,
menuArr,
arr
};
}
/**
*Created by jiachenpan on 16/11/29.
* @param {Sting} url
* @param {Sting} title
* @param {Number} w
* @param {Number} h
*/
export default function openWindow(url, title, w, h) {
// Fixes dual-screen position Most browsers Firefox
const dualScreenLeft = window.screenLeft !== undefined ? window.screenLeft : screen.left
const dualScreenTop = window.screenTop !== undefined ? window.screenTop : screen.top
const width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width
const height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height
const left = ((width / 2) - (w / 2)) + dualScreenLeft
const top = ((height / 2) - (h / 2)) + dualScreenTop
const newWindow = window.open(url, title, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=yes, copyhistory=no, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left)
// Puts focus on the newWindow
if (window.focus) {
newWindow.focus()
}
}
import axios from 'axios'
import { Message } from 'element-ui'
import store from '@/store'
import { getToken } from '@/utils/auth'
// create an axios instance
const service = axios.create({
baseURL: process.env.BASE_API, // api的base_url
timeout: 5000 // request timeout
})
// request interceptor
service.interceptors.request.use(config => {
// Do something before request is sent
if (store.getters.token) {
config.headers['X-Token'] = getToken() // 让每个请求携带token-- ['X-Token']为自定义key 请根据实际情况自行修改
}
return config
}, error => {
// Do something with request error
console.log(error) // for debug
Promise.reject(error)
})
// respone interceptor
service.interceptors.response.use(
response => response,
/**
* 下面的注释为通过response自定义code来标示请求状态,当code返回如下情况为权限有问题,登出并返回到登录页
* 如通过xmlhttprequest 状态码标识 逻辑可写在下面error中
*/
// const res = response.data;
// if (res.code !== 20000) {
// Message({
// message: res.message,
// type: 'error',
// duration: 5 * 1000
// });
// // 50008:非法的token; 50012:其他客户端登录了; 50014:Token 过期了;
// if (res.code === 50008 || res.code === 50012 || res.code === 50014) {
// MessageBox.confirm('你已被登出,可以取消继续留在该页面,或者重新登录', '确定登出', {
// confirmButtonText: '重新登录',
// cancelButtonText: '取消',
// type: 'warning'
// }).then(() => {
// store.dispatch('FedLogOut').then(() => {
// location.reload();// 为了重新实例化vue-router对象 避免bug
// });
// })
// }
// return Promise.reject('error');
// } else {
// return response.data;
// }
error => {
console.log('err' + error)// for debug
Message({
message: error.message,
type: 'error',
duration: 5 * 1000
})
return Promise.reject(error)
})
export default service
/**
* Created by jiachenpan on 16/11/18.
*/
export function isvalidUsername(str) {
const valid_map = ['admin', 'editor']
return valid_map.indexOf(str.trim()) >= 0
}
/* 合法uri*/
export function validateURL(textval) {
const urlregex = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/
return urlregex.test(textval)
}
/* 小写字母*/
export function validateLowerCase(str) {
const reg = /^[a-z]+$/
return reg.test(str)
}
/* 大写字母*/
export function validateUpperCase(str) {
const reg = /^[A-Z]+$/
return reg.test(str)
}
/* 大小写字母*/
export function validateAlphabets(str) {
const reg = /^[A-Za-z]+$/
return reg.test(str)
}
/**
* validate email
* @param email
* @returns {boolean}
*/
export function validateEmail(email) {
const re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
return re.test(email)
}
<template>
<div style="background:#f0f2f5;margin-top: -20px;height:100%;">
<div class="wscn-http404">
<div class="pic-404">
<img class="pic-404__parent" :src="img_403" alt="403" />
</div>
<div class="bullshit">
<!-- <div class="bullshit__oops">403</div> -->
<div class="bullshit__headline">{{ message }}</div>
<a href="#/companyGroup" class="bullshit__return-home">返回首页</a>
</div>
</div>
</div>
</template>
<script>
import img_403 from '@/assets/403_images/error_403.svg';
export default {
name: 'page403',
data() {
return {
img_403
};
},
computed: {
message() {
return '抱歉,你无权访问该页面';
}
}
};
</script>
<style lang="scss" scoped>
.wscn-http404 {
position: relative;
width: 1200px;
margin: 20px auto 60px;
padding: 0 100px;
overflow: hidden;
.pic-404 {
position: relative;
float: left;
width: 600px;
padding: 150px 152px 150px 0;
text-align: right;
overflow: hidden;
&__parent {
width: 100%;
max-width: 430px;
}
&__child {
position: absolute;
&.left {
width: 80px;
top: 17px;
left: 220px;
opacity: 0;
animation-name: cloudLeft;
animation-duration: 2s;
animation-timing-function: linear;
animation-fill-mode: forwards;
animation-delay: 1s;
}
&.mid {
width: 46px;
top: 10px;
left: 420px;
opacity: 0;
animation-name: cloudMid;
animation-duration: 2s;
animation-timing-function: linear;
animation-fill-mode: forwards;
animation-delay: 1.2s;
}
&.right {
width: 62px;
top: 100px;
left: 500px;
opacity: 0;
animation-name: cloudRight;
animation-duration: 2s;
animation-timing-function: linear;
animation-fill-mode: forwards;
animation-delay: 1s;
}
@keyframes cloudLeft {
0% {
top: 17px;
left: 220px;
opacity: 0;
}
20% {
top: 33px;
left: 188px;
opacity: 1;
}
80% {
top: 81px;
left: 92px;
opacity: 1;
}
100% {
top: 97px;
left: 60px;
opacity: 0;
}
}
@keyframes cloudMid {
0% {
top: 10px;
left: 420px;
opacity: 0;
}
20% {
top: 40px;
left: 360px;
opacity: 1;
}
70% {
top: 130px;
left: 180px;
opacity: 1;
}
100% {
top: 160px;
left: 120px;
opacity: 0;
}
}
@keyframes cloudRight {
0% {
top: 100px;
left: 500px;
opacity: 0;
}
20% {
top: 120px;
left: 460px;
opacity: 1;
}
80% {
top: 180px;
left: 340px;
opacity: 1;
}
100% {
top: 200px;
left: 300px;
opacity: 0;
}
}
}
}
.bullshit {
position: relative;
float: left;
width: 300px;
padding: 150px 0;
overflow: hidden;
display: flex;
align-items: flex-start;
flex-direction: column;
justify-content: center;
height: 360px;
&__oops {
color: #434e59;
font-size: 72px;
font-weight: 600;
line-height: 72px;
margin-bottom: 24px;
/*animation-name: slideUp;
animation-duration: 0.5s;
animation-fill-mode: forwards;*/
}
&__headline {
color: rgba(0, 0, 0, 0.45);
font-size: 20px;
line-height: 28px;
margin-bottom: 16px;
/*animation-name: slideUp;
animation-duration: 0.5s;
animation-delay: 0.1s;
animation-fill-mode: forwards;*/
}
&__return-home {
display: inline-block;
height: 32px;
line-height: 32px;
font-weight: 400;
text-align: center;
-ms-touch-action: manipulation;
touch-action: manipulation;
background-image: none;
white-space: nowrap;
padding: 0 15px;
font-size: 14px;
border-radius: 4px;
border: 1px solid #1890ff;
color: #fff;
background-color: #1890ff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.12);
-webkit-box-shadow: 0 2px 0 rgba(0, 0, 0, 0.035);
box-shadow: 0 2px 0 rgba(0, 0, 0, 0.035);
cursor: pointer;
/*animation-name: slideUp;
animation-duration: 0.5s;
animation-delay: 0.3s;
animation-fill-mode: forwards;*/
}
@keyframes slideUp {
0% {
transform: translateY(60px);
opacity: 0;
}
100% {
transform: translateY(0);
opacity: 1;
}
}
}
}
</style>
<template>
<div style="background:#f0f2f5;margin-top: -20px;height:100%;">
<div class="wscn-http404">
<div class="pic-404">
<img class="pic-404__parent" :src="img_404" alt="404" />
</div>
<div class="bullshit">
<!-- <div class="bullshit__oops">404</div> -->
<div class="bullshit__headline">{{ message }}</div>
<a href="#/companyGroup" class="bullshit__return-home">返回首页</a>
</div>
</div>
</div>
</template>
<script>
import img_404 from '@/assets/404_images/error_404.svg';
export default {
name: 'page404',
data() {
return {
img_404
};
},
computed: {
message() {
return '抱歉,你访问的页面不存在';
}
},
/* eslint-disable */
mounted() {
}
};
</script>
<style lang="scss" scoped>
.wscn-http404 {
position: relative;
width: 1200px;
margin: 20px auto 60px;
padding: 0 100px;
overflow: hidden;
.pic-404 {
position: relative;
float: left;
width: 600px;
padding: 150px 152px 150px 0;
text-align: right;
overflow: hidden;
&__parent {
width: 100%;
max-width: 430px;
}
&__child {
position: absolute;
&.left {
width: 80px;
top: 17px;
left: 220px;
opacity: 0;
animation-name: cloudLeft;
animation-duration: 2s;
animation-timing-function: linear;
animation-fill-mode: forwards;
animation-delay: 1s;
}
&.mid {
width: 46px;
top: 10px;
left: 420px;
opacity: 0;
animation-name: cloudMid;
animation-duration: 2s;
animation-timing-function: linear;
animation-fill-mode: forwards;
animation-delay: 1.2s;
}
&.right {
width: 62px;
top: 100px;
left: 500px;
opacity: 0;
animation-name: cloudRight;
animation-duration: 2s;
animation-timing-function: linear;
animation-fill-mode: forwards;
animation-delay: 1s;
}
@keyframes cloudLeft {
0% {
top: 17px;
left: 220px;
opacity: 0;
}
20% {
top: 33px;
left: 188px;
opacity: 1;
}
80% {
top: 81px;
left: 92px;
opacity: 1;
}
100% {
top: 97px;
left: 60px;
opacity: 0;
}
}
@keyframes cloudMid {
0% {
top: 10px;
left: 420px;
opacity: 0;
}
20% {
top: 40px;
left: 360px;
opacity: 1;
}
70% {
top: 130px;
left: 180px;
opacity: 1;
}
100% {
top: 160px;
left: 120px;
opacity: 0;
}
}
@keyframes cloudRight {
0% {
top: 100px;
left: 500px;
opacity: 0;
}
20% {
top: 120px;
left: 460px;
opacity: 1;
}
80% {
top: 180px;
left: 340px;
opacity: 1;
}
100% {
top: 200px;
left: 300px;
opacity: 0;
}
}
}
}
.bullshit {
position: relative;
float: left;
width: 300px;
padding: 150px 0;
overflow: hidden;
display: flex;
align-items: flex-start;
flex-direction: column;
justify-content: center;
height: 360px;
&__oops {
color: #434e59;
font-size: 72px;
font-weight: 600;
line-height: 72px;
margin-bottom: 24px;
/*animation-name: slideUp;
animation-duration: 0.5s;
animation-fill-mode: forwards;*/
}
&__headline {
color: rgba(0, 0, 0, 0.45);
font-size: 20px;
line-height: 28px;
margin-bottom: 16px;
/*animation-name: slideUp;
animation-duration: 0.5s;
animation-delay: 0.1s;
animation-fill-mode: forwards;*/
}
&__return-home {
display: inline-block;
height: 32px;
line-height: 32px;
font-weight: 400;
text-align: center;
-ms-touch-action: manipulation;
touch-action: manipulation;
background-image: none;
white-space: nowrap;
padding: 0 15px;
font-size: 14px;
border-radius: 4px;
border: 1px solid #1890ff;
color: #fff;
background-color: #1890ff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.12);
-webkit-box-shadow: 0 2px 0 rgba(0, 0, 0, 0.035);
box-shadow: 0 2px 0 rgba(0, 0, 0, 0.035);
cursor: pointer;
/*animation-name: slideUp;
animation-duration: 0.5s;
animation-delay: 0.3s;
animation-fill-mode: forwards;*/
}
@keyframes slideUp {
0% {
transform: translateY(60px);
opacity: 0;
}
100% {
transform: translateY(0);
opacity: 1;
}
}
}
}
</style>
<template>
<div style="background:#f0f2f5;margin-top: -20px;height:100%;">
<div class="wscn-http404">
<div class="pic-404">
<img class="pic-404__parent" :src="img_500" alt="500" />
</div>
<div class="bullshit">
<!-- <div class="bullshit__oops">500</div> -->
<div class="bullshit__headline">{{ message }}</div>
<a href="#/companyGroup" class="bullshit__return-home">返回首页</a>
</div>
</div>
</div>
</template>
<script>
import img_500 from '@/assets/500_images/error_500.svg';
export default {
name: 'page500',
data() {
return {
img_500
};
},
computed: {
message() {
return '抱歉,服务器出错了';
}
}
};
</script>
<style lang="scss" scoped>
.wscn-http404 {
position: relative;
width: 1200px;
margin: 20px auto 60px;
padding: 0 100px;
overflow: hidden;
.pic-404 {
position: relative;
float: left;
width: 600px;
padding: 150px 152px 150px 0;
text-align: right;
overflow: hidden;
&__parent {
width: 100%;
max-width: 430px;
}
&__child {
position: absolute;
&.left {
width: 80px;
top: 17px;
left: 220px;
opacity: 0;
animation-name: cloudLeft;
animation-duration: 2s;
animation-timing-function: linear;
animation-fill-mode: forwards;
animation-delay: 1s;
}
&.mid {
width: 46px;
top: 10px;
left: 420px;
opacity: 0;
animation-name: cloudMid;
animation-duration: 2s;
animation-timing-function: linear;
animation-fill-mode: forwards;
animation-delay: 1.2s;
}
&.right {
width: 62px;
top: 100px;
left: 500px;
opacity: 0;
animation-name: cloudRight;
animation-duration: 2s;
animation-timing-function: linear;
animation-fill-mode: forwards;
animation-delay: 1s;
}
@keyframes cloudLeft {
0% {
top: 17px;
left: 220px;
opacity: 0;
}
20% {
top: 33px;
left: 188px;
opacity: 1;
}
80% {
top: 81px;
left: 92px;
opacity: 1;
}
100% {
top: 97px;
left: 60px;
opacity: 0;
}
}
@keyframes cloudMid {
0% {
top: 10px;
left: 420px;
opacity: 0;
}
20% {
top: 40px;
left: 360px;
opacity: 1;
}
70% {
top: 130px;
left: 180px;
opacity: 1;
}
100% {
top: 160px;
left: 120px;
opacity: 0;
}
}
@keyframes cloudRight {
0% {
top: 100px;
left: 500px;
opacity: 0;
}
20% {
top: 120px;
left: 460px;
opacity: 1;
}
80% {
top: 180px;
left: 340px;
opacity: 1;
}
100% {
top: 200px;
left: 300px;
opacity: 0;
}
}
}
}
.bullshit {
position: relative;
float: left;
width: 300px;
padding: 150px 0;
overflow: hidden;
display: flex;
align-items: flex-start;
flex-direction: column;
justify-content: center;
height: 360px;
&__oops {
color: #434e59;
font-size: 72px;
font-weight: 600;
line-height: 72px;
margin-bottom: 24px;
/*animation-name: slideUp;
animation-duration: 0.5s;
animation-fill-mode: forwards;*/
}
&__headline {
color: rgba(0, 0, 0, 0.45);
font-size: 20px;
line-height: 28px;
margin-bottom: 16px;
/*animation-name: slideUp;
animation-duration: 0.5s;
animation-delay: 0.1s;
animation-fill-mode: forwards;*/
}
&__return-home {
display: inline-block;
height: 32px;
line-height: 32px;
font-weight: 400;
text-align: center;
-ms-touch-action: manipulation;
touch-action: manipulation;
background-image: none;
white-space: nowrap;
padding: 0 15px;
font-size: 14px;
border-radius: 4px;
border: 1px solid #1890ff;
color: #fff;
background-color: #1890ff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.12);
-webkit-box-shadow: 0 2px 0 rgba(0, 0, 0, 0.035);
box-shadow: 0 2px 0 rgba(0, 0, 0, 0.035);
cursor: pointer;
/*animation-name: slideUp;
animation-duration: 0.5s;
animation-delay: 0.3s;
animation-fill-mode: forwards;*/
}
@keyframes slideUp {
0% {
transform: translateY(60px);
opacity: 0;
}
100% {
transform: translateY(0);
opacity: 1;
}
}
}
}
</style>
<template>
<div style="background:#f0f2f5;margin-top: -20px;height:100%;">
<div class="wscn-http404">
<div class="pic-404">
<img class="pic-404__parent" :src="imgSrc" alt="404" />
</div>
<div class="bullshit">
<!-- <div class="bullshit__oops">404</div> -->
<div class="bullshit__headline">{{ message }}</div>
<a href="#/index" class="bullshit__return-home">返回首页</a>
</div>
</div>
</div>
</template>
<script>
import img_403 from '@/assets/403_images/error_403.svg';
import img_404 from '@/assets/404_images/error_404.svg';
import img_500 from '@/assets/500_images/error_500.svg';
export default {
name: 'errpage',
data() {
return {
imgSrc: '',
message: '',
srcList: {
403: img_403,
404: img_404,
500: img_500
},
msgList: {
403: '抱歉,你无权访问该页面',
404: '抱歉,你访问的页面不存在',
500: '抱歉,服务器出错了'
}
};
},
mounted() {
var that = this;
var path = that.$route.path.split('/')[1];
that.imgSrc = that.srcList[path];
that.message = that.msgList[path];
}
};
</script>
<style lang="scss" scoped>
.wscn-http404 {
position: relative;
width: 1200px;
margin: 20px auto 60px;
padding: 0 100px;
overflow: hidden;
.pic-404 {
position: relative;
float: left;
width: 600px;
padding: 150px 152px 150px 0;
text-align: right;
overflow: hidden;
&__parent {
width: 100%;
max-width: 430px;
}
&__child {
position: absolute;
&.left {
width: 80px;
top: 17px;
left: 220px;
opacity: 0;
animation-name: cloudLeft;
animation-duration: 2s;
animation-timing-function: linear;
animation-fill-mode: forwards;
animation-delay: 1s;
}
&.mid {
width: 46px;
top: 10px;
left: 420px;
opacity: 0;
animation-name: cloudMid;
animation-duration: 2s;
animation-timing-function: linear;
animation-fill-mode: forwards;
animation-delay: 1.2s;
}
&.right {
width: 62px;
top: 100px;
left: 500px;
opacity: 0;
animation-name: cloudRight;
animation-duration: 2s;
animation-timing-function: linear;
animation-fill-mode: forwards;
animation-delay: 1s;
}
@keyframes cloudLeft {
0% {
top: 17px;
left: 220px;
opacity: 0;
}
20% {
top: 33px;
left: 188px;
opacity: 1;
}
80% {
top: 81px;
left: 92px;
opacity: 1;
}
100% {
top: 97px;
left: 60px;
opacity: 0;
}
}
@keyframes cloudMid {
0% {
top: 10px;
left: 420px;
opacity: 0;
}
20% {
top: 40px;
left: 360px;
opacity: 1;
}
70% {
top: 130px;
left: 180px;
opacity: 1;
}
100% {
top: 160px;
left: 120px;
opacity: 0;
}
}
@keyframes cloudRight {
0% {
top: 100px;
left: 500px;
opacity: 0;
}
20% {
top: 120px;
left: 460px;
opacity: 1;
}
80% {
top: 180px;
left: 340px;
opacity: 1;
}
100% {
top: 200px;
left: 300px;
opacity: 0;
}
}
}
}
.bullshit {
position: relative;
float: left;
width: 300px;
padding: 150px 0;
overflow: hidden;
display: flex;
align-items: flex-start;
flex-direction: column;
justify-content: center;
height: 360px;
&__oops {
color: #434e59;
font-size: 72px;
font-weight: 600;
line-height: 72px;
margin-bottom: 24px;
/*animation-name: slideUp;
animation-duration: 0.5s;
animation-fill-mode: forwards;*/
}
&__headline {
color: rgba(0, 0, 0, 0.45);
font-size: 20px;
line-height: 28px;
margin-bottom: 16px;
/*animation-name: slideUp;
animation-duration: 0.5s;
animation-delay: 0.1s;
animation-fill-mode: forwards;*/
}
&__return-home {
display: inline-block;
height: 32px;
line-height: 32px;
font-weight: 400;
text-align: center;
-ms-touch-action: manipulation;
touch-action: manipulation;
background-image: none;
white-space: nowrap;
padding: 0 15px;
font-size: 14px;
border-radius: 4px;
border: 1px solid #1890ff;
color: #fff;
background-color: #1890ff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.12);
-webkit-box-shadow: 0 2px 0 rgba(0, 0, 0, 0.035);
box-shadow: 0 2px 0 rgba(0, 0, 0, 0.035);
cursor: pointer;
/*animation-name: slideUp;
animation-duration: 0.5s;
animation-delay: 0.3s;
animation-fill-mode: forwards;*/
&:hover {
color: #fff;
background-color: #40a9ff;
border-color: #40a9ff;
}
&:active {
background: #096dd9;
border-color: #096dd9;
color: #fff;
}
}
@keyframes slideUp {
0% {
transform: translateY(60px);
opacity: 0;
}
100% {
transform: translateY(0);
opacity: 1;
}
}
}
}
</style>
<template>
<div id="index">
<vue-open-header></vue-open-header>
<div class="open-body border-box">
<div class="open-body-wrap border-box">
<div class="swiper-content">
<div class="swiper-content-body">
<el-carousel :interval="5000" arrow="never" height="480px">
<el-carousel-item v-for="item in 4" :key="item">
<img src="../../assets/index/banner.png" alt="" />
</el-carousel-item>
</el-carousel>
</div>
<div class="notice-content">
<div class="notice-container">
<div class="notice-inner">
<div class="notice-box clearfix flex">
<div class="notice-tips"><i class="font_family icon-tongzhigonggao color-fff font-14"></i></div>
<ul class="clearfix flex">
<template v-for="(item, index) in noticeList">
<li class="notice-li clearfix" :key="index + 'notice'">
<a class="color-fff font-14" target="_blank" rel="noopener noreferrer" href="announcement.htm?id=1"
><span>{{ item.noticeDate }}</span>{{ item.noticeTitle }}
</a>
</li>
</template>
<li class="more-notice">
<a class="color-fff font-14" target="_blank" rel="noopener noreferrer" href="/platform/announcement.htm">查看更多&gt;</a>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="home-content">
<div class="home-content-service commont-width">
<div class="homepage-title">
<h2 class="open-service">开放业务</h2>
<div class="common-border-line"></div>
</div>
<div class="home-content-body">
<div class="open-service-list">
<ul class="flex">
<template v-for="(item, index) in serviceList">
<li :key="index">
<img :src="item.serviceIcon" alt="" />
<h3>{{ item.serviceName }}</h3>
<p>{{ item.serviceContent }}</p>
</li>
</template>
</ul>
</div>
</div>
</div>
<div class="home-content-guide commont-width">
<div class="homepage-title">
<h2 class="access-guide">接入指南</h2>
<div class="common-border-line"></div>
</div>
<div class="home-content-body">
<div class="access-guide-item">
<ul class="flex flex-space-between">
<li>
<img src="../../assets/index/banner03.png" alt="" />
<div class="inner-li">
<h3>平台服务商</h3>
<p>面向企业内部开发人员和定制服务商,自主开发内部应用,供企业内部使用,对接已有的后台系统。</p>
<div>
<el-button plain>立即入驻<i class="font_family icon-jiantou color-000 p-l-8"></i></el-button>
</div>
</div>
</li>
<li class="m-l-40">
<img src="../../assets/index/banner04.png" alt="" />
<div class="inner-li">
<h3>企业开发者</h3>
<p>面向企业内部开发人员和定制服务商,自主开发内部应用,供企业内部使用,对接已有的后台系统。</p>
<div>
<el-button plain>立即入驻<i class="font_family icon-jiantou color-000 p-l-8"></i></el-button>
</div>
</div>
</li>
</ul>
</div>
</div>
</div>
</div>
<vue-open-footer></vue-open-footer>
</div>
</div>
</div>
</template>
<script>
import vueOpenHeader from '@/components/vue-open-header.vue';
import vueOpenFooter from '@/components/vue-open-footer.vue';
/* import { getRequest } from '@/api/api';
import errMsg from '@/common/js/error'; */
export default {
name: 'index',
data() {
return {
projectName: '', // 当前项目名
noticeList: [
{
noticeId: '',
noticeDate: '07-08',
noticeTitle: '关于《小程序违规处理规则》等规则修订公告'
},
{
noticeId: '',
noticeDate: '07-08',
noticeTitle: '关于《小程序违规处理规则》等规则修订公告'
},
{
noticeId: '',
noticeDate: '07-08',
noticeTitle: '关于《小程序违规处理规则》等规则修订公告'
}
],
/* eslint-disable */
serviceList: [
{
serviceId: '',
serviceIcon: require('../../assets/index/service_01_icon.png'),
serviceName: '商品管理',
serviceContent: '接入微信开放平台,让你的移动应用支持微信分享、微信收藏和微信支付、微信收藏和微信支付、微信收藏和微信支付。'
},
{
serviceId: '',
serviceIcon: require('../../assets/index/service_02_icon.png'),
serviceName: '门店导购管理',
serviceContent: '接入微信开放平台,让你的移动应用支持微信分享、微信收藏和微信支付、微信收藏和微信支付、微信收藏和微信支付。'
},
{
serviceId: '',
serviceIcon: require('../../assets/index/service_03_icon.png'),
serviceName: '会员管理',
serviceContent: '接入微信开放平台,让你的移动应用支持微信分享、微信收藏和微信支付、微信收藏和微信支付、微信收藏和微信支付。'
},
{
serviceId: '',
serviceIcon: require('../../assets/index/service_04_icon.png'),
serviceName: '营销管理',
serviceContent: '接入微信开放平台,让你的移动应用支持微信分享、微信收藏和微信支付、微信收藏和微信支付、微信收藏和微信支付。'
}
]
};
},
methods: {
/**
* 路由跳转
*/
changeRoute(route) {
this.$router.push(route);
},
/**
* 处理路由跳转
*/
toRouterView(val) {
const that = this;
// 模拟检查数据,有两个参数
/*{
name:,
path:
}*/
that.$router.push({
path: val.path
});
},
/**
* 各路由返回 tabId
*/
showTab(id) {
let that = this;
that.activeSelTab = id;
},
// 选择后返回tabCode,做各路由判断
setSelectTab(item) {
const that = this;
let tabCode = item.tabCode;
if (item.hasOwnProperty('children') && !!item.children.length) {
tabCode = item.children[0].tabCode;
if (item.children[0].hasOwnProperty('children') && !!item.children[0].hasOwnProperty('children').length) {
tabCode = item.children[0].children[0].tabCode;
}
}
that.$router.push({
path: item.tabUrl,
query: {
tabCode: tabCode
}
});
}
},
mounted() {
const that = this;
that.contentHeight = (document.documentElement.clientHeight || document.body.clientHeight) - 204 + 'px';
},
components: {
vueOpenHeader,
vueOpenFooter
}
};
</script>
<style lang="less">
#index {
position: relative;
width: 100%;
.open-body {
position: relative;
width: 100%;
height: 100%;
margin-top: 58px;
overflow: hidden;
&-wrap {
position: relative;
width: 100%;
height: 100%;
// 轮播
.swiper-content {
position: relative;
width: 100%;
height: 480px;
.swiper-content-body {
position: relative;
z-index: 0;
}
.notice-content {
position: absolute;
width: 100%;
left: 0;
right: 0;
bottom: 0;
z-index: 1;
.notice-container {
.notice-inner {
width: 1200px;
height: 36px;
line-height: 36px;
margin: 0 auto;
.notice-li {
width: 234px;
margin-right: 60px;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
color: #fff;
font-size: 14px;
}
.more-notice {
margin-left: 236px;
}
}
}
}
}
.home-content {
width: 100%;
.home-content-service {
padding: 40px 0 48px 0;
text-align: center;
.open-service-list {
li {
width:25%;
padding: 0 20px;
text-align: center;
img {
width: 70px;
}
h3 {
margin-top: 25px;
font-size: 16px;
color: #0A1633;
}
p {
margin-top: 16px;
font-size: 14px;
color: #6B798E;
line-height: 24px;
white-space: pre-wrap;
}
}
}
}
.home-content-guide {
text-align: center;
margin-bottom: 60px;
.access-guide-item {
li {
width: 580px;
height: 400px;
background: #FFFFFF;
cursor: pointer;
box-shadow: 0px 2px 8px 0px rgba(193,205,241,0.42);
img {
display: inline-block;
vertical-align: top;
width: 100%;
}
.inner-li {
height: 232px;
}
h3 {
padding-top: 40px;
font-size: 16px;
color: #0A1633;
}
p {
padding: 0 40px;
margin-top: 16px;
line-height: 24px;
font-size: 14px;
color: #6B798E;
text-align: left;
}
&:hover {
.inner-li {
border: 1px solid #4C70E8;
border-top: 0px;
}
.el-button {
border: 1px solid #4C70E8;
color:#4C70E8;
i {
color: #4C70E8;
}
}
}
.el-button {
margin-top: 38px;
width: 150px;
height: 38px;
line-height: 38px;
padding: 0;
border: none;
border-radius: 2px;
&:hover {
border: 1px solid #4C70E8;
i {
color: #4C70E8;
}
}
}
}
}
}
}
}
}
}
.commont-width {
width: 1200px;
margin: 0 auto;
}
.homepage-title {
h2 {
font-size: 24px;
color: #0a1633;
font-weight: 700;
}
.common-border-line {
width: 40px;
height: 5px;
border-radius: 6px;
background: #4C70E8;
margin: 15px auto 48px auto;
}
}
/* 表格为空 */
.el-table .el-table__empty-block {
height: 256px;
}
.el-table__empty-text {
width: auto;
margin-bottom: 80px;
&::before {
content: ' ';
display: block;
width: 60px;
height: 60px;
background: url(../../assets/no-data_icon.png) no-repeat center;
margin: 0px auto 22px auto;
}
}
.line-18 {
line-height: 18px;
}
</style>
<template>
<div class="login-wrap" :style="{ height: windowH }">
<header>
<div class="login-wrap-header">
<img class="login-wrap-inline" src="../../assets/logo_01.png" alt="logo" />
<span class="login-wrap-inline">API网关管理后台</span>
</div>
</header>
<section>
<div class="login-wrap-body">
<div class="login-wrap-form">
<div class="form-title font-24 color-303133 text-center">登录</div>
<el-form :model="loginForm" :rules="rules" ref="loginForm" class="loginForm">
<el-form-item label="" prop="userName">
<el-input class="w-318" v-model="loginForm.userName" placeholder="请输入账号">
<i slot="prefix" class="el-input__icon el-icon-search"></i>
</el-input>
</el-form-item>
<el-form-item label="" prop="password">
<el-input class="w-318" type="password" v-model="loginForm.password" placeholder="请输入密码">
<i slot="prefix" class="el-input__icon el-icon-search"></i>
</el-input>
</el-form-item>
<!-- <el-form-item label="" prop="checked">
<el-checkbox v-model="loginForm.checked">记住我的登录状态</el-checkbox>
</el-form-item> -->
<el-form-item>
<el-button type="primary" @click="submitForm('loginForm')">登录</el-button>
</el-form-item>
</el-form>
</div>
</div>
</section>
<div class="login-footer font-12 color-909399">Copyright {{ new Date().getFullYear() }} Demogic.com All Rights Reserved 浙ICP备15033117号-1</div>
</div>
</template>
<script>
import { _debounce } from '@/assets/js/public';
import errMsg from '@/assets/js/error';
import showMsg from '@/assets/js/showmsg';
import { postRequest } from '@/api/api';
import md5 from 'js-md5';
export default {
name: 'login',
data() {
return {
windowH: window.screen.availHeight - 104 + 'px',
// 登录
loginForm: {
userName: '',
password: '',
checked: false
},
rules: {
userName: [{ required: true, message: '请输入账号', trigger: 'blur' }],
password: [{ required: true, message: '请输入密码', trigger: 'blur' }]
}
};
},
computed: {},
methods: {
/**
* 处理路由跳转
*/
toRouterView(val) {
const that = this;
// 模拟检查数据,有两个参数
/*{
name:,
path:
}*/
that.$router.push({
path: val.path
});
},
/**
* 登录
*/
submitForm: _debounce(function(formName) {
const that = this;
that.$refs[formName].validate(valid => {
if (valid) {
that.postPassLogin();
} else {
return false;
}
});
}, 500),
postPassLogin() {
const that = this;
let para = {
userName: that.loginForm.userName,
password: md5(that.loginForm.password)
};
postRequest('/gateway-manage/login', para)
.then(res => {
let resData = res.data;
if (resData.code == '0000') {
showMsg.showmsg('登录成功', 'success');
that.$router.push('/overview');
return false;
}
errMsg.errorMsg(resData);
})
.catch(function(error) {
that.$message.error({
duration: 1000,
message: error.message
});
});
},
/**
* 获取用户信息-判断用户是否登录
*/
getUserInfo() {
const that = this;
postRequest('/gateway-manage/get-login-userInfo', {})
.then(res => {
const resData = res.data;
if (resData.code == '0000') {
showMsg.showmsg('用户已登录', 'success');
that.$router.push('/overview');
return;
}
})
.catch(function(error) {});
}
},
mounted() {
const that = this;
that.getUserInfo();
// console.log(that.$store.state.userInfo);
},
components: {}
};
</script>
<style lang="less" scoped>
.login-wrap {
position: relative;
width: 100%;
height: 640px;
background-color: #fff;
background: url('../../assets/bg.svg') no-repeat left center;
background-size: auto 100%;
header {
position: relative;
width: 100%;
padding: 0;
margin: 0;
}
&-header {
position: relative;
width: 100%;
min-width: 1400px;
padding: 39px 43px 0 0;
margin: 0 auto;
text-align: right;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
/*-webkit-box-shadow: 0px 0px 10px rgba(147,165,184,0.13);
-moz-box-shadow: 0px 0px 10px rgba(147,165,184,0.13);
box-shadow: 0px 0px 10px rgba(147,165,184,0.13);*/
img {
padding-right: 8px;
}
}
&-inline {
display: inline-block;
vertical-align: middle;
font-size: 17px;
color: #303133;
}
&-body {
position: relative;
width: 100%;
min-width: 1400px;
.login-wrap-form {
position: absolute;
width: 318px;
height: 281px;
top: 204px;
right: 228px;
.form-title {
font-size: 24px;
margin-bottom: 56px;
}
.loginForm {
width: 100%;
padding: 0;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
.w-318 {
width: 318px;
}
.code-item {
text-align: left;
}
.el-button {
width: 100%;
padding: 0;
height: 40px;
line-height: 40px;
background: #5584ff;
}
.el-input {
/deep/ .el-input__inner {
height: 40px;
line-height: 40px;
}
}
}
}
}
.login-footer {
position: absolute;
right: 181px;
bottom: 28px;
}
}
</style>
@import './public.css';
/**
* Eric Meyer's Reset CSS v2.0 (http://meyerweb.com/eric/tools/css/reset/)
* http://cssreset.com
*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video,
input {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font-weight: normal;
vertical-align: baseline;
font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif;
}
/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
menu,
nav,
section {
display: block;
}
body {
line-height: 1;
}
blockquote,
q {
quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
/* custom */
a {
color: #7e8c8d;
text-decoration: none;
-webkit-backface-visibility: hidden;
}
.a-href {
color: #409EFF;
cursor: pointer;
}
li {
list-style: none;
}
::-webkit-scrollbar {
width: 5px;
height: 5px;
-webkit-border-radius: 6px;
border-radius: 6px;
/*background: #e4e7ed;*/
/*background-color: rgba(0, 0, 0, 0.1)*/
}
::-webkit-scrollbar-track {
/*background: #f5f7fa;*/
-webkit-border-radius: 6px;
border-radius: 6px;
}
::-webkit-scrollbar-track-piece {
/*background-color: rgba(0, 0, 0, 0.2);
-webkit-border-radius: 6px;*/
}
::-webkit-scrollbar-thumb {
background: #c0c4cc;
-webkit-border-radius: 6px;
border-radius: 6px;
background-color: rgba(0, 0, 0, 0.1)
}
@-moz-document url-prefix(http: //),url-prefix(https://) {
/* 滚动条颜色 */
scrollbar {
-moz-appearance: none !important;
width: 5px;
height: 5px;
-webkit-border-radius: 6px;
border-radius: 6px;
}
/* 滚动条按钮颜色 */
thumb, scrollbarbutton {
-moz-appearance: none !important;
}
/* 鼠标悬停时按钮颜色 */
thumb:hover, scrollbarbutton:hover {
-moz-appearance: none !important;
}
/* 隐藏上下箭头 */
scrollbarbutton {
display: none !important;
}
/* 纵向滚动条宽度 */
scrollbar[orient="vertical"] {
/*min-width: 15px !important;*/
}
}
scrollbar {
/* clear useragent default style*/
-moz-appearance: none !important;
}
/* buttons at two ends */
scrollbarbutton {
-moz-appearance: none !important;
}
/* the sliding part*/
thumb {
-moz-appearance: none !important;
}
scrollcorner {
-moz-appearance: none !important;
resize: both;
}
/* vertical or horizontal */
scrollbar[orient="vertical"] {
color: silver;
}
-moz-scrollbar-track {
width: 5px;
border: none;
background: #ff0000;
}
-moz-scrollbar-face {
width: 5px;
border: none;
background: #ff0000;
}
-moz-scrollbar-arrow {
width: 5px;
border: none;
background: #ff0000;
}
-moz-scrollbar {
-moz-scrollbar-width: 15px;
-moz-scrollbar-border: 1px solid black;
-moz-scrollbar-background-color: white;
-moz-scrollbar-track-background-color: silver;
-moz-scrollbar-arrow-background-color: silver;
-moz-scrollbar-arrow-color: blue;
}
/*::-webkit-scrollbar-button {
color: #c8cbd3;
}*/
html,
body {
width: 100%;
}
body {
-webkit-text-size-adjust: none;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
input:focus {
box-shadow: none;
outline: none;
}
.btn-default {
color: #333;
border: 1px solid #ddd;
background-color: #f7f7f7;
cursor: pointer;
}
.btn {
font-size: 12px;
border-radius: 2px;
padding: 8px 16px;
height: 32px;
line-height: 14px;
}
.btn-new {
color: #333;
border: 1px solid #fede29;
background-color: #fede29;
}
.fl {
float: left;
}
.fr {
float: right;
}
.clearfix:before, .clearfix:after {
display: block;
visibility: hidden;
height: 0;
content: "";
clear: both;
}
.clearfix {
zoom: 1;
}
.inline-block {
display: inline-block;
}
.block {
display: block;
}
.pointer {
cursor: pointer;
}
.bdr-box {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.border-box {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.border-radius-18 {
border-radius: 18px;
}
.t-rt {
text-align: right;
}
.t-ct {
text-align: center;
}
.text-center {
text-align: center;
}
.text-right {
text-align: right;
}
.color-fff {
color: #fff;
}
.color-5584FF {
color: #5584FF;
}
.c-909399 {
color: #909399;
}
.c-303133 {
color: #303133;
}
.color-c0c4cc {
color: #c0c4cc;
}
.color-606266 {
color: #606266;
}
.color-303133 {
color: #303133;
}
.color-f56c6c {
color: #f56c6c;
}
.color-909399 {
color: #909399;
}
.color-9ba5b4 {
color: #9ba5b4;
}
.color-16214a {
color: #16214a
}
.p-0 {
padding: 0;
}
.p-20 {
padding: 20px;
}
.p-24 {
padding: 24px;
}
.p-60 {
padding: 60px;
}
.p-45 {
padding: 45px;
}
.p-l-4 {
padding-left: 4px;
}
.p-l-6 {
padding-left: 6px;
}
.p-l-8 {
padding-left: 8px;
}
.p-l-10 {
padding-left: 10px;
}
.p-l-14 {
padding-left: 14px;
}
.p-l-15 {
padding-left: 15px;
}
.p-l-20 {
padding-left: 20px;
}
.p-l-40 {
padding-left: 40px;
}
.p-l-60 {
padding-left: 60px;
}
.p-l-110 {
padding-left: 110px;
}
.p-lr-10 {
padding: 0 10px;
}
.p-lr-11 {
padding: 0 11px;
}
.p-r-6 {
padding-right: 6px;
}
.p-r-10 {
padding-right: 10px;
}
.p-r-14 {
padding-right: 14px;
}
.p-t-12 {
padding-top: 12px;
}
.p-t-35 {
padding-top: 35px;
}
.p-t-185 {
padding-top: 185px;
}
.m-l-10 {
margin-left: 10px;
}
.m-l-16 {
margin-left: 16px;
}
.m-l-20 {
margin-left: 20px;
}
.m-l-40 {
margin-left: 40px;
}
.m-t-8 {
margin-top: 8px;
}
.m-t-9 {
margin-top: 9px;
}
.m-t-10 {
margin-top: 10px;
}
.m-t-14 {
margin-top: 14px;
}
.m-t-15 {
margin-top: 15px;
}
.m-t-18 {
margin-top: 18px;
}
.m-t-20 {
margin-top: 20px;
}
.m-t-22 {
margin-top: 22px;
}
.m-t-24 {
margin-top: 24px;
}
.m-t-30 {
margin-top: 30px;
}
.m-t-44 {
margin-top: 44px;
}
.m-t-46 {
margin-top: 46px;
}
.m-r-10 {
margin-right: 10px;
}
.m-r-20 {
margin-right: 20px;
}
.m-b-10 {
margin-bottom: 10px;
}
.m-b-16 {
margin-bottom: 16px;
}
.m-b-18 {
margin-bottom: 18px;
}
.m-b-20 {
margin-bottom: 20px;
}
.m-b-23 {
margin-bottom: 23px;
}
.m-b-48 {
margin-bottom: 48px;
}
.m-b-60 {
margin-bottom: 60px;
}
.m-20 {
margin: 20px;
}
.font-0 .el-form-item__content, .dialog-footer {
font-size: 0;
}
.font-0 {
font-size: 0;
}
.font-12 {
font-size: 12px;
}
.font-13 {
font-size: 13px;
}
.font-14 {
font-size: 14px;
}
.font-16 {
font-size: 16px;
}
.font-20 {
font-size: 20px;
}
.font-30 {
font-size: 30px;
}
.font-w-500 {
font-weight: 500;
}
.font-w-700 {
font-weight: 700;
}
.line-h-1 {
line-height: 1;
}
.w-80 {
width: 80px;
}
.w-105 {
width: 105px;
}
.w-118 {
width: 118px;
}
.w-130 {
width: 130px;
}
.w-157 {
width: 157px;
}
.w-264 {
width: 264px;
}
.w-250 {
width: 250px;
}
.w-320 {
width: 320px;
}
.w-500 {
width: 500px;
}
.el-input.w-500 {
width: 500px;
}
.w-680 {
width: 680px;
}
.inline-block {
display: inline-block;
}
.block {
display: block;
}
/* flex */
.flex {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
}
.flex-1 {
-webkit-box-flex: 1;
-webkit-flex: 1;
-ms-flex: 1;
flex: 1;
}
.flex-column {
-webkit-flex-direction: column;
-moz-flex-direction: column;
-ms-flex-direction: column;
-o-flex-direction: column;
flex-direction: column;
}
.flex-row {
-webkit-flex-direction: row;
-moz-flex-direction: row;
-ms-flex-direction: row;
-o-flex-direction: row;
flex-direction: row;
}
.flex-align-center {
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.flex-pack-center {
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
}
.flex-start {
-webkit-justify-content: flex-start;
-moz-justify-content: flex-start;
-ms-justify-content: flex-start;
-o-justify-content: flex-start;
justify-content: flex-start;
}
.flex-wrap {
-webkit-flex-wrap: wrap;
-moz-flex-wrap: wrap;
-ms-flex-wrap: wrap;
-o-flex-wrap: wrap;
flex-wrap: wrap;
}
.flex-space-between {
-webkit-justify-content: space-between;
-moz-justify-content: space-between;
-ms-justify-content: space-between;
-o-justify-content: space-between;
justify-content: space-between;
}
.el-popover.el-qrcode-popper {
min-width: 50px;
padding: 0;
border: none;
background: none;
}
.el-popover.el-qrcode-popper img {
margin-top: -8px;
}
input:-webkit-autofill, textarea:-webkit-autofill, select:-webkit-autofill {
background-color: rgb(250, 255, 189);
/* #FAFFBD; */
background-image: none;
color: rgb(0, 0, 0);
}
/*提示文字*/
.tip-text {
font-size: 12px;
color: #909399;
position: absolute;
bottom: -30px;
}
.el-form .el-form-item.is-success .el-input__inner, .el-form .el-form-item.is-success .el-input__inner:focus, .el-form .el-form-item.is-success .el-textarea__inner, .el-form .el-form-item.is-success .el-textarea__inner:focus {
border-color: #dcdfe6;
}
/* 头部菜单 */
.user-item {
padding: 10px 0;
color: #606266;
}
.user-item:hover {
background-color: #ecf5ff;
cursor: pointer;
}
.user-item:hover a {
color: #5584FF;
}
/* 1px */
.border-bottom-1 {
position: relative;
}
.border-bottom-1:after {
content: " ";
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 0;
border-top: 1px solid #eef1f8;
color: #eef1f8;
-webkit-transform-origin: 0 0;
transform-origin: 0 0;
-webkit-transform: scaleY(0.5);
transform: scaleY(0.5);
}
/* 主体 */
.nav-wrap .el-breadcrumb__separator {
color: #A0A2AD;
}
/* 上传 */
.single-upload-wrap .avatar-uploader .el-upload:hover {
border-color: #1890ff;
}
/* 表格 选择当页/全部 */
.el-table__header-wrapper thead .el-dropdown-link {
cursor: pointer;
}
.el-table__header-wrapper thead .el-dropdown-link i {
-webkit-transition: all 0.3s ease-in;
-moz-transition: all 0.3s ease-in;
transition: all 0.3s ease-in;
}
.el-table__header-wrapper thead .el-dropdown-link i:hover {
-webkit-transition: all 0.3s ease-in;
-moz-transition: all 0.3s ease-in;
transition: all 0.3s ease-in;
transform: rotate(180deg);
}
.el-table__header-wrapper thead .el-dropdown-link i:visited {
-webkit-transition: all 0.3s ease-in;
-moz-transition: all 0.3s ease-in;
transition: all 0.3s ease-in;
-webkit-transform: rotate(180deg);
-moz-transform: rotate(180deg);
transform: rotate(180deg);
}
/* home */
.swiper-content .el-carousel__indicators {
bottom: 36px;
}
@base-color: #353944;
@hover-color: #3c92eb;
@hoverbg-color: #20242d;
@main-color: #5584ff;
@navbgcolor: #04143a;
@sidebgcolor: #343c4c;
@userinfobgcolor: #ecf5ff;
@contentbgcolor: #f5f7fa;
@bordercolor: #dcdfe6;
@customnavcolor: #04143a;
@btnbgcolor: #f5f7fa;
@iconbgcolor: #e6e9f2;
.flex1(@width,@height) {
flex: 0 0 @width;
width: @width;
height: @height;
}
/* Logo 字体 */
@font-face {
font-family: "iconfont logo";
src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834');
src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'),
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'),
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'),
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg');
}
.logo {
font-family: "iconfont logo";
font-size: 160px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
/* tabs */
.nav-tabs {
position: relative;
}
.nav-tabs .nav-more {
position: absolute;
right: 0;
bottom: 0;
height: 42px;
line-height: 42px;
color: #666;
}
#tabs {
border-bottom: 1px solid #eee;
}
#tabs li {
cursor: pointer;
width: 100px;
height: 40px;
line-height: 40px;
text-align: center;
font-size: 16px;
border-bottom: 2px solid transparent;
position: relative;
z-index: 1;
margin-bottom: -1px;
color: #666;
}
#tabs .active {
border-bottom-color: #f00;
color: #222;
}
.tab-container .content {
display: none;
}
/* 页面布局 */
.main {
padding: 30px 100px;
width: 960px;
margin: 0 auto;
}
.main .logo {
color: #333;
text-align: left;
margin-bottom: 30px;
line-height: 1;
height: 110px;
margin-top: -50px;
overflow: hidden;
*zoom: 1;
}
.main .logo a {
font-size: 160px;
color: #333;
}
.helps {
margin-top: 40px;
}
.helps pre {
padding: 20px;
margin: 10px 0;
border: solid 1px #e7e1cd;
background-color: #fffdef;
overflow: auto;
}
.icon_lists {
width: 100% !important;
overflow: hidden;
*zoom: 1;
}
.icon_lists li {
width: 100px;
margin-bottom: 10px;
margin-right: 20px;
text-align: center;
list-style: none !important;
cursor: default;
}
.icon_lists li .code-name {
line-height: 1.2;
}
.icon_lists .icon {
display: block;
height: 100px;
line-height: 100px;
font-size: 42px;
margin: 10px auto;
color: #333;
-webkit-transition: font-size 0.25s linear, width 0.25s linear;
-moz-transition: font-size 0.25s linear, width 0.25s linear;
transition: font-size 0.25s linear, width 0.25s linear;
}
.icon_lists .icon:hover {
font-size: 100px;
}
.icon_lists .svg-icon {
/* 通过设置 font-size 来改变图标大小 */
width: 1em;
/* 图标和文字相邻时,垂直对齐 */
vertical-align: -0.15em;
/* 通过设置 color 来改变 SVG 的颜色/fill */
fill: currentColor;
/* path 和 stroke 溢出 viewBox 部分在 IE 下会显示
normalize.css 中也包含这行 */
overflow: hidden;
}
.icon_lists li .name,
.icon_lists li .code-name {
color: #666;
}
/* markdown 样式 */
.markdown {
color: #666;
font-size: 14px;
line-height: 1.8;
}
.highlight {
line-height: 1.5;
}
.markdown img {
vertical-align: middle;
max-width: 100%;
}
.markdown h1 {
color: #404040;
font-weight: 500;
line-height: 40px;
margin-bottom: 24px;
}
.markdown h2,
.markdown h3,
.markdown h4,
.markdown h5,
.markdown h6 {
color: #404040;
margin: 1.6em 0 0.6em 0;
font-weight: 500;
clear: both;
}
.markdown h1 {
font-size: 28px;
}
.markdown h2 {
font-size: 22px;
}
.markdown h3 {
font-size: 16px;
}
.markdown h4 {
font-size: 14px;
}
.markdown h5 {
font-size: 12px;
}
.markdown h6 {
font-size: 12px;
}
.markdown hr {
height: 1px;
border: 0;
background: #e9e9e9;
margin: 16px 0;
clear: both;
}
.markdown p {
margin: 1em 0;
}
.markdown>p,
.markdown>blockquote,
.markdown>.highlight,
.markdown>ol,
.markdown>ul {
width: 80%;
}
.markdown ul>li {
list-style: circle;
}
.markdown>ul li,
.markdown blockquote ul>li {
margin-left: 20px;
padding-left: 4px;
}
.markdown>ul li p,
.markdown>ol li p {
margin: 0.6em 0;
}
.markdown ol>li {
list-style: decimal;
}
.markdown>ol li,
.markdown blockquote ol>li {
margin-left: 20px;
padding-left: 4px;
}
.markdown code {
margin: 0 3px;
padding: 0 5px;
background: #eee;
border-radius: 3px;
}
.markdown strong,
.markdown b {
font-weight: 600;
}
.markdown>table {
border-collapse: collapse;
border-spacing: 0px;
empty-cells: show;
border: 1px solid #e9e9e9;
width: 95%;
margin-bottom: 24px;
}
.markdown>table th {
white-space: nowrap;
color: #333;
font-weight: 600;
}
.markdown>table th,
.markdown>table td {
border: 1px solid #e9e9e9;
padding: 8px 16px;
text-align: left;
}
.markdown>table th {
background: #F7F7F7;
}
.markdown blockquote {
font-size: 90%;
color: #999;
border-left: 4px solid #e9e9e9;
padding-left: 0.8em;
margin: 1em 0;
}
.markdown blockquote p {
margin: 0;
}
.markdown .anchor {
opacity: 0;
transition: opacity 0.3s ease;
margin-left: 8px;
}
.markdown .waiting {
color: #ccc;
}
.markdown h1:hover .anchor,
.markdown h2:hover .anchor,
.markdown h3:hover .anchor,
.markdown h4:hover .anchor,
.markdown h5:hover .anchor,
.markdown h6:hover .anchor {
opacity: 1;
display: inline-block;
}
.markdown>br,
.markdown>p>br {
clear: both;
}
.hljs {
display: block;
background: white;
padding: 0.5em;
color: #333333;
overflow-x: auto;
}
.hljs-comment,
.hljs-meta {
color: #969896;
}
.hljs-string,
.hljs-variable,
.hljs-template-variable,
.hljs-strong,
.hljs-emphasis,
.hljs-quote {
color: #df5000;
}
.hljs-keyword,
.hljs-selector-tag,
.hljs-type {
color: #a71d5d;
}
.hljs-literal,
.hljs-symbol,
.hljs-bullet,
.hljs-attribute {
color: #0086b3;
}
.hljs-section,
.hljs-name {
color: #63a35c;
}
.hljs-tag {
color: #333333;
}
.hljs-title,
.hljs-attr,
.hljs-selector-id,
.hljs-selector-class,
.hljs-selector-attr,
.hljs-selector-pseudo {
color: #795da3;
}
.hljs-addition {
color: #55a532;
background-color: #eaffea;
}
.hljs-deletion {
color: #bd2c00;
background-color: #ffecec;
}
.hljs-link {
text-decoration: underline;
}
/* 代码高亮 */
/* PrismJS 1.15.0
https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */
/**
* prism.js default theme for JavaScript, CSS and HTML
* Based on dabblet (http://dabblet.com)
* @author Lea Verou
*/
code[class*="language-"],
pre[class*="language-"] {
color: black;
background: none;
text-shadow: 0 1px white;
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
text-align: left;
white-space: pre;
word-spacing: normal;
word-break: normal;
word-wrap: normal;
line-height: 1.5;
-moz-tab-size: 4;
-o-tab-size: 4;
tab-size: 4;
-webkit-hyphens: none;
-moz-hyphens: none;
-ms-hyphens: none;
hyphens: none;
}
pre[class*="language-"]::-moz-selection,
pre[class*="language-"] ::-moz-selection,
code[class*="language-"]::-moz-selection,
code[class*="language-"] ::-moz-selection {
text-shadow: none;
background: #b3d4fc;
}
pre[class*="language-"]::selection,
pre[class*="language-"] ::selection,
code[class*="language-"]::selection,
code[class*="language-"] ::selection {
text-shadow: none;
background: #b3d4fc;
}
@media print {
code[class*="language-"],
pre[class*="language-"] {
text-shadow: none;
}
}
/* Code blocks */
pre[class*="language-"] {
padding: 1em;
margin: .5em 0;
overflow: auto;
}
:not(pre)>code[class*="language-"],
pre[class*="language-"] {
background: #f5f2f0;
}
/* Inline code */
:not(pre)>code[class*="language-"] {
padding: .1em;
border-radius: .3em;
white-space: normal;
}
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
color: slategray;
}
.token.punctuation {
color: #999;
}
.namespace {
opacity: .7;
}
.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol,
.token.deleted {
color: #905;
}
.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
color: #690;
}
.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
color: #9a6e3a;
background: hsla(0, 0%, 100%, .5);
}
.token.atrule,
.token.attr-value,
.token.keyword {
color: #07a;
}
.token.function,
.token.class-name {
color: #DD4A68;
}
.token.regex,
.token.important,
.token.variable {
color: #e90;
}
.token.important,
.token.bold {
font-weight: bold;
}
.token.italic {
font-style: italic;
}
.token.entity {
cursor: help;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>IconFont Demo</title>
<link rel="shortcut icon" href="https://gtms04.alicdn.com/tps/i4/TB1_oz6GVXXXXaFXpXXJDFnIXXX-64-64.ico" type="image/x-icon"/>
<link rel="stylesheet" href="https://g.alicdn.com/thx/cube/1.3.2/cube.min.css">
<link rel="stylesheet" href="demo.css">
<link rel="stylesheet" href="iconfont.css">
<script src="iconfont.js"></script>
<!-- jQuery -->
<script src="https://a1.alicdn.com/oss/uploads/2018/12/26/7bfddb60-08e8-11e9-9b04-53e73bb6408b.js"></script>
<!-- 代码高亮 -->
<script src="https://a1.alicdn.com/oss/uploads/2018/12/26/a3f714d0-08e6-11e9-8a15-ebf944d7534c.js"></script>
</head>
<body>
<div class="main">
<h1 class="logo"><a href="https://www.iconfont.cn/" title="iconfont 首页" target="_blank">&#xe86b;</a></h1>
<div class="nav-tabs">
<ul id="tabs" class="dib-box">
<li class="dib active"><span>Unicode</span></li>
<li class="dib"><span>Font class</span></li>
<li class="dib"><span>Symbol</span></li>
</ul>
<a href="https://www.iconfont.cn/manage/index?manage_type=myprojects&projectId=1362949" target="_blank" class="nav-more">查看项目</a>
</div>
<div class="tab-container">
<div class="content unicode" style="display: block;">
<ul class="icon_lists dib-box">
<li class="dib">
<span class="icon font_family">&#xe63a;</span>
<div class="name">搜索</div>
<div class="code-name">&amp;#xe63a;</div>
</li>
<li class="dib">
<span class="icon font_family">&#xe6d5;</span>
<div class="name">通知公告</div>
<div class="code-name">&amp;#xe6d5;</div>
</li>
<li class="dib">
<span class="icon font_family">&#xe8a3;</span>
<div class="name">右箭头</div>
<div class="code-name">&amp;#xe8a3;</div>
</li>
<li class="dib">
<span class="icon font_family">&#xe8da;</span>
<div class="name">arrow_down</div>
<div class="code-name">&amp;#xe8da;</div>
</li>
</ul>
<div class="article markdown">
<h2 id="unicode-">Unicode 引用</h2>
<hr>
<p>Unicode 是字体在网页端最原始的应用方式,特点是:</p>
<ul>
<li>兼容性最好,支持 IE6+,及所有现代浏览器。</li>
<li>支持按字体的方式去动态调整图标大小,颜色等等。</li>
<li>但是因为是字体,所以不支持多色。只能使用平台里单色的图标,就算项目里有多色图标也会自动去色。</li>
</ul>
<blockquote>
<p>注意:新版 iconfont 支持多色图标,这些多色图标在 Unicode 模式下将不能使用,如果有需求建议使用symbol 的引用方式</p>
</blockquote>
<p>Unicode 使用步骤如下:</p>
<h3 id="-font-face">第一步:拷贝项目下面生成的 <code>@font-face</code></h3>
<pre><code class="language-css"
>@font-face {
font-family: 'font_family';
src: url('iconfont.eot');
src: url('iconfont.eot?#iefix') format('embedded-opentype'),
url('iconfont.woff2') format('woff2'),
url('iconfont.woff') format('woff'),
url('iconfont.ttf') format('truetype'),
url('iconfont.svg#font_family') format('svg');
}
</code></pre>
<h3 id="-iconfont-">第二步:定义使用 iconfont 的样式</h3>
<pre><code class="language-css"
>.font_family {
font-family: "font_family" !important;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
</code></pre>
<h3 id="-">第三步:挑选相应图标并获取字体编码,应用于页面</h3>
<pre>
<code class="language-html"
>&lt;span class="font_family"&gt;&amp;#x33;&lt;/span&gt;
</code></pre>
<blockquote>
<p>"font_family" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。</p>
</blockquote>
</div>
</div>
<div class="content font-class">
<ul class="icon_lists dib-box">
<li class="dib">
<span class="icon font_family icon-search"></span>
<div class="name">
搜索
</div>
<div class="code-name">.icon-search
</div>
</li>
<li class="dib">
<span class="icon font_family icon-tongzhigonggao"></span>
<div class="name">
通知公告
</div>
<div class="code-name">.icon-tongzhigonggao
</div>
</li>
<li class="dib">
<span class="icon font_family icon-jiantou"></span>
<div class="name">
右箭头
</div>
<div class="code-name">.icon-jiantou
</div>
</li>
<li class="dib">
<span class="icon font_family icon-arrow_right"></span>
<div class="name">
arrow_down
</div>
<div class="code-name">.icon-arrow_right
</div>
</li>
</ul>
<div class="article markdown">
<h2 id="font-class-">font-class 引用</h2>
<hr>
<p>font-class 是 Unicode 使用方式的一种变种,主要是解决 Unicode 书写不直观,语意不明确的问题。</p>
<p>与 Unicode 使用方式相比,具有如下特点:</p>
<ul>
<li>兼容性良好,支持 IE8+,及所有现代浏览器。</li>
<li>相比于 Unicode 语意明确,书写更直观。可以很容易分辨这个 icon 是什么。</li>
<li>因为使用 class 来定义图标,所以当要替换图标时,只需要修改 class 里面的 Unicode 引用。</li>
<li>不过因为本质上还是使用的字体,所以多色图标还是不支持的。</li>
</ul>
<p>使用步骤如下:</p>
<h3 id="-fontclass-">第一步:引入项目下面生成的 fontclass 代码:</h3>
<pre><code class="language-html">&lt;link rel="stylesheet" href="./iconfont.css"&gt;
</code></pre>
<h3 id="-">第二步:挑选相应图标并获取类名,应用于页面:</h3>
<pre><code class="language-html">&lt;span class="font_family icon-xxx"&gt;&lt;/span&gt;
</code></pre>
<blockquote>
<p>"
font_family" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。</p>
</blockquote>
</div>
</div>
<div class="content symbol">
<ul class="icon_lists dib-box">
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-search"></use>
</svg>
<div class="name">搜索</div>
<div class="code-name">#icon-search</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-tongzhigonggao"></use>
</svg>
<div class="name">通知公告</div>
<div class="code-name">#icon-tongzhigonggao</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-jiantou"></use>
</svg>
<div class="name">右箭头</div>
<div class="code-name">#icon-jiantou</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-arrow_right"></use>
</svg>
<div class="name">arrow_down</div>
<div class="code-name">#icon-arrow_right</div>
</li>
</ul>
<div class="article markdown">
<h2 id="symbol-">Symbol 引用</h2>
<hr>
<p>这是一种全新的使用方式,应该说这才是未来的主流,也是平台目前推荐的用法。相关介绍可以参考这篇<a href="">文章</a>
这种用法其实是做了一个 SVG 的集合,与另外两种相比具有如下特点:</p>
<ul>
<li>支持多色图标了,不再受单色限制。</li>
<li>通过一些技巧,支持像字体那样,通过 <code>font-size</code>, <code>color</code> 来调整样式。</li>
<li>兼容性较差,支持 IE9+,及现代浏览器。</li>
<li>浏览器渲染 SVG 的性能一般,还不如 png。</li>
</ul>
<p>使用步骤如下:</p>
<h3 id="-symbol-">第一步:引入项目下面生成的 symbol 代码:</h3>
<pre><code class="language-html">&lt;script src="./iconfont.js"&gt;&lt;/script&gt;
</code></pre>
<h3 id="-css-">第二步:加入通用 CSS 代码(引入一次就行):</h3>
<pre><code class="language-html">&lt;style&gt;
.icon {
width: 1em;
height: 1em;
vertical-align: -0.15em;
fill: currentColor;
overflow: hidden;
}
&lt;/style&gt;
</code></pre>
<h3 id="-">第三步:挑选相应图标并获取类名,应用于页面:</h3>
<pre><code class="language-html">&lt;svg class="icon" aria-hidden="true"&gt;
&lt;use xlink:href="#icon-xxx"&gt;&lt;/use&gt;
&lt;/svg&gt;
</code></pre>
</div>
</div>
</div>
</div>
<script>
$(document).ready(function () {
$('.tab-container .content:first').show()
$('#tabs li').click(function (e) {
var tabContent = $('.tab-container .content')
var index = $(this).index()
if ($(this).hasClass('active')) {
return
} else {
$('#tabs li').removeClass('active')
$(this).addClass('active')
tabContent.hide().eq(index).fadeIn()
}
})
})
</script>
</body>
</html>
@font-face {font-family: "font_family";
src: url('iconfont.eot?t=1567414884917'); /* IE9 */
src: url('iconfont.eot?t=1567414884917#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAARkAAsAAAAACQwAAAQYAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDMgqEdIQLATYCJAMUCwwABCAFhREHWRvMBxEVnHvJfiQYN45nZf3QljNsChpJufMgoJza7K4UkAMkuUhglwDlFCkMdkqATtsDghcZI267hy6kbN+5fuqAhI46CfjBokc7TNqukL0sh9Pfr3QzBZ59ANmotsigBV7BBYsIi/Ybj9QT5RvGbiIPcjUEYFBJA6JHrwEuQtAAnQQg5s2eOZmQhAqtgi4IkQYVjNQQ+9EJkTvkE2Cf9/HiR5oVAhJdAdYaMqPnNLp80+67D5QdsBmn4rGHMwDKOFBAA6CBWFJomocKPA0oDOvvNLoABiFI5DftvvF/l//dB4EANm9DEgP+wwOBRKGBCAKIwgR0F6F2cGwMQcA3fggSvsuHoOC7DzgPRqQLEmMg3yXgTx5do49EQ0dERkRVjYoKBbvFWKuHzHjzxYjSD0e+/dLtf+8aW1o64s0bl9/v3vWWe9lrjQJvHKm+mo7iw0J4SmZceePamWAkeA1jpxdpOxxnC83ERNPv71h4v7qed8edWOgcmZxuWUlFca6EFHN0UkFcXEKq6U4sdjqT06yxnsO7fLZ3Z4m7qCTk+ZqR6fn6yckW7DEjqcCbYrpdCam+QufURIrHWT95lzl9Jjls3UQ7blrCTqvzbz0eN2oUP7VluUWrZq8PbbV4+arFrfS181YuNltO82hCbjtzZhvHl7JcbRPnPX1mu+qyrMnoMU2W0uEdu0zPyDB64D0nKiyq5+3+r1LG9GgslHDZdReYyyyjQcOFi/a5kHRrnDL+j/mBtplt96ffWb/Zm+ZJHTh/lNwj1ePrOL/JJu/m9X3md/QlGHyTUfMHptJlS8zKGtDwwhnlyWvOxJYEorKWOXVE0Ms2tlesuD0oOOXO9oHbP/8CzLdjwPbX27h3aejQK5WvXL5c+XHLlm3bMsHluGLxYvkirAIC/wdsFVDxEPhTfaciANRN6QVQafKVthawu8qotRMjO/wd4ngY9vcH/2k8ZneCBuvNimnM/gUE2uDs714D4NY1oILtsXEOAtAZevMsEt520Yu3xfhkGInZOBYEDswISIKpAhQOasM1dDO4ju4ID0L3AQb1DR/vINYGFEILBeo5wAGB5TKQRPASKCyfwjX03zCdnAOOHKCrgon/nmacWrbHeBMsFRuo7uBqToSUOiG/zKmMLty/0ZxDKZni8LX/KL3jBNvVpsD/hQlluD79xexUCUg4wmeN9TAEhk64xVpXVrV7Xa+pSL6q+TNkE28EKinUAJU74NRYQtSmJgE871+KnODuGzLOaj0lqa6iIPQfEj3PrGgM2FrZNIN/iVLTskucp3dh7ChFABHOF4HPQQTIRwYMdMXNWqimVmwHV+fVGtaipqLV5iXxrgvgqwB76U2r3ekafCyltgvlZB7WGba4KXnYujIpn6elCF9zccZqlgE=') format('woff2'),
url('iconfont.woff?t=1567414884917') format('woff'),
url('iconfont.ttf?t=1567414884917') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
url('iconfont.svg?t=1567414884917#font_family') format('svg'); /* iOS 4.1- */
}
.font_family {
font-family: "font_family" !important;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-search:before {
content: "\e63a";
}
.icon-tongzhigonggao:before {
content: "\e6d5";
}
.icon-jiantou:before {
content: "\e8a3";
}
.icon-arrow_right:before {
content: "\e8da";
}
!function(a){var t,n='<svg><symbol id="icon-search" viewBox="0 0 1024 1024"><path d="M1022.628247 963.715794l-60.284206 60.284206-303.333496-303.250345a403.800244 403.800244 0 1 1 60.596021-59.826878zM725.07372 403.405278a320.441738 320.441738 0 1 0-320.524889 320.358587 320.400162 320.400162 0 0 0 320.524889-320.358587z" fill="#2F3135" ></path></symbol><symbol id="icon-tongzhigonggao" viewBox="0 0 1024 1024"><path d="M961.024 466.432h-187.392c-21.504 0-38.4 17.408-38.4 38.4v12.288c0 21.504 17.408 38.4 38.4 38.4h187.392c21.504 0 38.4-17.408 38.4-38.4v-12.288c0.512-20.992-16.896-38.4-38.4-38.4z m-434.688-331.776c-58.368 46.592-180.224 111.616-268.288 174.08-1.024 0.512-2.048 4.096-3.072 4.608-10.24 5.632-14.848 22.016-71.68 22.016H73.216c-28.16 0-45.568 13.312-45.568 43.008v265.216c0 29.696 15.872 44.544 45.568 44.544h110.592c56.32 0 60.928 15.872 71.168 22.016 1.024 0.512 2.048 4.096 3.072 4.608 84.992 62.464 207.872 132.608 268.288 177.152 17.92 13.312 78.336 36.864 78.336-46.08V177.152c0-82.944-60.928-56.32-78.336-42.496zM699.392 317.44c9.728 17.408 29.696 22.016 44.032 9.728l154.112-130.048c14.336-12.288 17.92-36.352 8.192-53.76l-5.632-9.728c-9.728-17.408-29.696-22.016-44.032-9.728l-154.112 130.048c-14.336 12.288-17.92 36.352-8.192 53.76l5.632 9.728z m44.032 378.368c-14.336-12.288-34.304-7.68-44.032 9.728l-5.632 9.728c-9.728 17.408-6.144 41.472 8.192 53.76l154.112 130.048c14.336 12.288 34.304 7.68 44.032-9.728l5.632-9.728c9.728-17.408 6.144-41.472-8.192-53.76l-154.112-130.048z" ></path></symbol><symbol id="icon-jiantou" viewBox="0 0 1024 1024"><path d="M64.512 505.856c0-23.552 18.944-42.496 42.496-42.496s42.496 18.944 42.496 42.496c0 23.552-18.944 42.496-42.496 42.496-23.552-0.512-42.496-19.456-42.496-42.496zM274.432 547.84c-23.552 0-42.496-18.944-42.496-42.496 0-23.552 18.944-42.496 42.496-42.496 23.552 0 42.496 18.944 42.496 42.496-0.512 23.552-19.456 42.496-42.496 42.496zM441.344 547.84c-23.552 0-42.496-18.944-42.496-42.496 0-23.552 18.944-42.496 42.496-42.496 23.552 0 42.496 18.944 42.496 42.496 0 23.552-18.944 42.496-42.496 42.496zM566.272 505.856c0-23.552 18.944-42.496 42.496-42.496 23.552 0 42.496 18.944 42.496 42.496 0 23.552-18.944 42.496-42.496 42.496-23.04-0.512-42.496-19.456-42.496-42.496z" ></path><path d="M952.32 534.528c5.632-5.632 7.68-13.824 6.656-22.528 1.024-8.704-1.024-16.896-6.656-22.528L688.64 225.28c-12.288-12.288-35.328-8.704-51.712 8.192-16.384 16.384-19.968 39.936-8.192 51.712L855.04 512l-226.816 226.816c-12.288 12.288-8.704 35.328 8.192 51.712 16.384 16.384 39.936 19.968 51.712 8.192l264.192-264.192z" ></path></symbol><symbol id="icon-arrow_right" viewBox="0 0 1024 1024"><path d="M454.656 708.608l-337.92-337.92c-15.872-15.872-15.872-39.936 0-56.32l28.16-28.16c15.872-15.872 39.936-15.872 56.32 0l309.76 309.76 313.856-313.856c15.872-15.872 39.936-15.872 56.32 0l28.16 28.16c15.872 15.872 15.872 39.936 0 56.32l-370.176 370.176c-15.872 15.872-39.936 15.872-56.32 0l-28.16-28.16z" ></path></symbol></svg>',e=(t=document.getElementsByTagName("script"))[t.length-1].getAttribute("data-injectcss");if(e&&!a.__iconfont__svg__cssinject__){a.__iconfont__svg__cssinject__=!0;try{document.write("<style>.svgfont {display: inline-block;width: 1em;height: 1em;fill: currentColor;vertical-align: -0.1em;font-size:16px;}</style>")}catch(t){console&&console.log(t)}}!function(t){if(document.addEventListener)if(~["complete","loaded","interactive"].indexOf(document.readyState))setTimeout(t,0);else{var e=function(){document.removeEventListener("DOMContentLoaded",e,!1),t()};document.addEventListener("DOMContentLoaded",e,!1)}else document.attachEvent&&(c=t,o=a.document,i=!1,(l=function(){try{o.documentElement.doScroll("left")}catch(t){return void setTimeout(l,50)}n()})(),o.onreadystatechange=function(){"complete"==o.readyState&&(o.onreadystatechange=null,n())});function n(){i||(i=!0,c())}var c,o,i,l}(function(){var t,e;(t=document.createElement("div")).innerHTML=n,n=null,(e=t.getElementsByTagName("svg")[0])&&(e.setAttribute("aria-hidden","true"),e.style.position="absolute",e.style.width=0,e.style.height=0,e.style.overflow="hidden",function(t,e){e.firstChild?function(t,e){e.parentNode.insertBefore(t,e)}(t,e.firstChild):e.appendChild(t)}(e,document.body))})}(window);
\ No newline at end of file
<?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" >
<!--
2013-9-30: Created.
-->
<svg>
<metadata>
Created by iconfont
</metadata>
<defs>
<font id="font_family" horiz-adv-x="1024" >
<font-face
font-family="font_family"
font-weight="500"
font-stretch="normal"
units-per-em="1024"
ascent="896"
descent="-128"
/>
<missing-glyph />
<glyph glyph-name="search" unicode="&#58938;" d="M1022.628247-67.71579399999996l-60.284206-60.284206-303.333496 303.250345a403.800244 403.800244 0 1 0 60.596021 59.826878zM725.07372 492.594722a320.441738 320.441738 0 1 1-320.524889-320.358587 320.400162 320.400162 0 0 1 320.524889 320.358587z" horiz-adv-x="1024" />
<glyph glyph-name="tongzhigonggao" unicode="&#59093;" d="M961.024 429.568h-187.392c-21.504 0-38.4-17.408-38.4-38.4v-12.288c0-21.504 17.408-38.4 38.4-38.4h187.392c21.504 0 38.4 17.408 38.4 38.4v12.288c0.512 20.992-16.896 38.4-38.4 38.4z m-434.688 331.776c-58.368-46.592-180.224-111.616-268.288-174.08-1.024-0.512-2.048-4.096-3.072-4.608-10.24-5.632-14.848-22.016-71.68-22.016H73.216c-28.16 0-45.568-13.312-45.568-43.008v-265.216c0-29.696 15.872-44.544 45.568-44.544h110.592c56.32 0 60.928-15.872 71.168-22.016 1.024-0.512 2.048-4.096 3.072-4.608 84.992-62.464 207.872-132.608 268.288-177.152 17.92-13.312 78.336-36.864 78.336 46.08V718.848c0 82.944-60.928 56.32-78.336 42.496zM699.392 578.56c9.728-17.408 29.696-22.016 44.032-9.728l154.112 130.048c14.336 12.288 17.92 36.352 8.192 53.76l-5.632 9.728c-9.728 17.408-29.696 22.016-44.032 9.728l-154.112-130.048c-14.336-12.288-17.92-36.352-8.192-53.76l5.632-9.728z m44.032-378.368c-14.336 12.288-34.304 7.68-44.032-9.728l-5.632-9.728c-9.728-17.408-6.144-41.472 8.192-53.76l154.112-130.048c14.336-12.288 34.304-7.68 44.032 9.728l5.632 9.728c9.728 17.408 6.144 41.472-8.192 53.76l-154.112 130.048z" horiz-adv-x="1024" />
<glyph glyph-name="jiantou" unicode="&#59555;" d="M64.512 390.144c0 23.552 18.944 42.496 42.496 42.496s42.496-18.944 42.496-42.496c0-23.552-18.944-42.496-42.496-42.496-23.552 0.512-42.496 19.456-42.496 42.496zM274.432 348.16c-23.552 0-42.496 18.944-42.496 42.496 0 23.552 18.944 42.496 42.496 42.496 23.552 0 42.496-18.944 42.496-42.496-0.512-23.552-19.456-42.496-42.496-42.496zM441.344 348.16c-23.552 0-42.496 18.944-42.496 42.496 0 23.552 18.944 42.496 42.496 42.496 23.552 0 42.496-18.944 42.496-42.496 0-23.552-18.944-42.496-42.496-42.496zM566.272 390.144c0 23.552 18.944 42.496 42.496 42.496 23.552 0 42.496-18.944 42.496-42.496 0-23.552-18.944-42.496-42.496-42.496-23.04 0.512-42.496 19.456-42.496 42.496zM952.32 361.472c5.632 5.632 7.68 13.824 6.656 22.528 1.024 8.704-1.024 16.896-6.656 22.528L688.64 670.72c-12.288 12.288-35.328 8.704-51.712-8.192-16.384-16.384-19.968-39.936-8.192-51.712L855.04 384l-226.816-226.816c-12.288-12.288-8.704-35.328 8.192-51.712 16.384-16.384 39.936-19.968 51.712-8.192l264.192 264.192z" horiz-adv-x="1024" />
<glyph glyph-name="arrow_right" unicode="&#59610;" d="M454.656 187.392l-337.92 337.92c-15.872 15.872-15.872 39.936 0 56.32l28.16 28.16c15.872 15.872 39.936 15.872 56.32 0l309.76-309.76 313.856 313.856c15.872 15.872 39.936 15.872 56.32 0l28.16-28.16c15.872-15.872 15.872-39.936 0-56.32l-370.176-370.176c-15.872-15.872-39.936-15.872-56.32 0l-28.16 28.16z" horiz-adv-x="1024" />
</font>
</defs></svg>
export const baseList = [
{
type: 'one',
name: '图片广告',
template: '1',
isSpace: 'Y',
imgList: [
{
imgUrl: '',
imglink: '',
crowd: ''
}
],
linkUrl: ''
},
{
type: 'two',
name: '魔方',
template: '1',
isSpace: 'Y',
imgList: [
{
imgUrl: '',
imglink: '',
crowd: ''
}
],
crowd: {
type: 'Y',
condition: ''
},
linkUrl: ''
},
{
type: 'three',
name: '文本',
content: '',
textcolor: '#333',
bgcolor: '#fff',
showPosition: '',
isSpace: 'Y',
crowd: {
type: 'Y',
condition: ''
}
},
{
type: 'four',
name: '横栏',
template: 'one',
tip: 'true',
textcolor: '#333',
bgcolor: '#fff',
imgList: [
{
label: '',
imgUrl: '',
linkUrl: '',
crowd: {
type: 'Y',
condition: ''
}
}
]
},
{
type: 'five',
name: '辅助线',
color: '#333',
margin: '10px',
style: 'solid'
},
{
type: 'six',
name: '辅助空白',
height: '10'
}
];
export const mainList = [
{
name:"进入积分", id: 1
},
{
name:"数据icon", id: 2
},
{
name:"卡券兑换", id: 3
},
{
name:"礼品兑换", id: 4
},
{
name:"订单分组", id: 5
}
];
export const mallList = [
{
name:"商品", id: 1
},
{
name:"商品分组", id: 2
},
{
name:"商品搜索", id: 3
}
];
export const saleList = [
{
name:"优惠券", id: 1
},
{
name:"拼团", id: 2
},
{
name:"周期购", id: 3
},
{
name:"限时折扣", id: 4
},
{
name:"秒杀", id: 5
},
{
name:"预售", id: 6
}
];
import { Message } from 'element-ui'
export function checkFalse(message) {
if(message) {
Message.warning(message);
return false
}else{
Message.warning('操作失败');
}
return false;
}
export function checkSuccess(message) {
if(message) {
Message.success(message);
}else{
Message.success('操作成功');
}
}
export function checkStatus(err) {
if(err == 'cancel') {
Message.info(err || 'cancel');
return false;
}else if(err.hasOwnProperty('response')){
if(err.response.status == 401) {
Message.error('登录过期');
return false;
}else if(err.response.status == 500){
Message.error('服务器错误500');
return false;
}
}else {
Message.error(err);
return false;
}
}
/*设置cookie*/
export function setCookie(c_name,value,expire) {
var date=new Date();
date.setSeconds(date.getSeconds()+expire);
document.cookie = c_name + "="+ encodeURI(value)+"; expires="+date.toGMTString();
}
/*获取cookie*/
export function getCookie(c_name){
if(document.cookie.length>0){
var name = encodeURI(c_name);
var allcookies = document.cookie;
name += "=";
var pos = allcookies.indexOf(name);
if(pos != -1){
var start = pos + name.length;
var end = allcookies.indexOf(";",start);
if(end == -1){
end = allcookies.length;
}
var value = allcookies.substring(start,end);
return decodeURI(value);
} else{
return "";
}
}
}
/*删除cookie*/
export function delCookie(c_name){
setCookie(c_name, "", -1);
}
(function () {
function CanvasAnimate(Dom,options){
options = options || {};
this.Element = Dom;
this.cvs = Dom.getContext("2d");
this.off_cvs = document.createElement("canvas");
this.off_cvs.width = Dom.width;
this.off_cvs.height = Dom.height;
this.Dom = this.off_cvs.getContext("2d");
this.width = Dom.width;
this.height = Dom.height;
this.length = options.length || 100;
this.RoundColor = options.RoundColor || "#999";
this.RoundDiameter = options.RoundDiameter || 2;
this.LineColor = options.LineColor || "#ccc";
this.LineWeight = options.LineWeight || 1;
this.clicked = options.clicked || false;
this.moveon = options.moveon || false;
this.list = [];
this.paused = true
}
CanvasAnimate.prototype.Run = function(){
if( this.clicked ){
this.Element.addEventListener( "click",this.Clicked.bind(this) )
}
if( this.moveon ){
this.Element.addEventListener( "mousemove",this.moveXY.bind(this) );
this.Element.addEventListener( "mouseout",this.moveoutXY.bind(this) )
}
this.Draw( this.getLength() )
};
CanvasAnimate.prototype.getLength=function(){
let arr = [];
for(let i=0;i< this.length ;i++){
let obj = {};
obj.x = parseInt( Math.random() * this.width );
obj.y = parseInt( Math.random() * this.height );
obj.r = parseInt( Math.random()*2 );
obj.controlX = parseInt( Math.random()*10 ) > 5 ? "left":"right";
obj.controlY = parseInt( Math.random()*10 ) > 5 ? "bottom":"top";
arr.push(obj)
}
return arr
};
CanvasAnimate.prototype.Draw = function(list){
let new_arr = [];
let line_arr = [];
list.map((item,index)=>{
let xy = this.ControlXY(item);
let obj = this.ControlRound(xy);
new_arr.push( obj )
});
new_arr.map((item1,index1)=>{
new_arr.map((item2,index2)=>{
if(item1 !== item2){
let x = item1.x - item2.x;
let y = item1.y - item2.y;
if( Math.abs(x)< 100 && Math.abs(y)<100 ){
let obj = {
x1:item1.x,
y1:item1.y,
x2:item2.x,
y2:item2.y,
};
line_arr.push(obj)
}
}
})
});
this.drawLine(line_arr);
new_arr.map((item)=>{
this.drawRound(item)
});
this.list = new_arr;
this.cvs.drawImage(this.off_cvs,0,0,this.width,this.height);
setTimeout(()=>{
if(this.paused){
this.next()
}
},60)
};
CanvasAnimate.prototype.next = function(){
this.cvs.clearRect( 0,0,this.width,this.height );
this.Dom.clearRect( 0,0,this.width,this.height );
this.Draw( this.list )
};
CanvasAnimate.prototype.drawRound = function(obj){
let {x,y,r} = obj;
this.Dom.beginPath();
this.Dom.arc( x,y,r, 0, 2*Math.PI );
this.Dom.fillStyle = this.RoundColor;
this.Dom.fill();
this.Dom.closePath()
};
CanvasAnimate.prototype.drawLine = function(list){
list.map( (item)=>{
this.Dom.beginPath();
this.Dom.moveTo( item.x1,item.y1 );
this.Dom.lineTo( item.x2,item.y2 );
this.Dom.lineWidth = this.LineWeight;
this.Dom.strokeStyle = this.LineColor;
this.Dom.stroke();
this.Dom.closePath();
})
};
CanvasAnimate.prototype.ControlXY = function(obj){
if(obj.x >= (this.width - obj.r) ){
obj.controlX = 'left'
}else if( obj.x <= parseInt(obj.r/2) ){
obj.controlX = "right"
}
if( obj.y >= (this.height - obj.r) ){
obj.controlY = "bottom"
}else if( obj.y <= parseInt(obj.r/2) ){
obj.controlY = "top"
}
return obj
}
CanvasAnimate.prototype.ControlRound = function(obj){
switch(obj.controlX){
case "right":
obj.x++;
break;
case "left":
obj.x--;
break;
}
switch(obj.controlY){
case "top":
obj.y++;
break;
case "bottom":
obj.y--;
break;
}
return obj
};
CanvasAnimate.prototype.Clicked = function(event){
let obj = {};
obj.x = event.clientX;
obj.y = event.clientY;
obj.r = parseInt( Math.random()*10 );
obj.controlX = parseInt( Math.random()*10 ) > 5 ? 'left' :'right';
obj.controlY = parseInt( Math.random()*10 ) > 5 ? 'bottom' :'top';
this.list.push(obj)
};
CanvasAnimate.prototype.moveXY = function(event){
let obj = {};
obj.x = event.clientX;
obj.y = event.clientY;
obj.r = 0;
obj.move = true;
if( this.list[0]["move"] ){
this.list[0]["x"] = obj.x;
this.list[0]["y"] = obj.y;
this.list[0]["r"] = 1
}else{
this.list.unshift(obj)
}
};
CanvasAnimate.prototype.moveoutXY = function(event){
this.list.shift()
};
CanvasAnimate.prototype.pause = function(){
this.paused = !this.paused;
if( this.paused){
this.Draw(this.list)
}
};
window.LoginAnimate = CanvasAnimate;
})();
.word-wrap{word-wrap:break-word;-ms-word-break:break-all;word-break:break-all;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}.mce-content-body .mce-reset{margin:0;padding:0;border:0;outline:0;vertical-align:top;background:transparent;text-decoration:none;color:black;font-family:Arial;font-size:11px;text-shadow:none;float:none;position:static;width:auto;height:auto;white-space:nowrap;cursor:inherit;line-height:normal;font-weight:normal;text-align:left;-webkit-tap-highlight-color:transparent;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;direction:ltr;max-width:none}.mce-object{border:1px dotted #3A3A3A;background:#D5D5D5 url(img/object.gif) no-repeat center}.mce-preview-object{display:inline-block;position:relative;margin:0 2px 0 2px;line-height:0;border:1px solid gray}.mce-preview-object[data-mce-selected="2"] .mce-shim{display:none}.mce-preview-object .mce-shim{position:absolute;top:0;left:0;width:100%;height:100%;background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)}figure.align-left{float:left}figure.align-right{float:right}figure.image.align-center{display:table;margin-left:auto;margin-right:auto}figure.image{display:inline-block;border:1px solid gray;margin:0 2px 0 1px;background:#f5f2f0}figure.image img{margin:8px 8px 0 8px}figure.image figcaption{margin:6px 8px 6px 8px;text-align:center}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc li{list-style-type:none}.mce-pagebreak{cursor:default;display:block;border:0;width:100%;height:5px;border:1px dashed #666;margin-top:15px;page-break-before:always}@media print{.mce-pagebreak{border:0}}.mce-item-anchor{cursor:default;display:inline-block;-webkit-user-select:all;-webkit-user-modify:read-only;-moz-user-select:all;-moz-user-modify:read-only;user-select:all;user-modify:read-only;width:9px !important;height:9px !important;border:1px dotted #3A3A3A;background:#D5D5D5 url(img/anchor.gif) no-repeat center}.mce-nbsp,.mce-shy{background:#AAA}.mce-shy::after{content:'-'}.mce-match-marker{background:#AAA;color:#fff}.mce-match-marker-selected{background:#3399ff;color:#fff}.mce-spellchecker-word{border-bottom:2px solid rgba(208,2,27,0.5);cursor:default}.mce-spellchecker-grammar{border-bottom:2px solid #008000;cursor:default}.mce-item-table,.mce-item-table td,.mce-item-table th,.mce-item-table caption{border:1px dashed #BBB}td[data-mce-selected],th[data-mce-selected]{background-color:#2276d2 !important}.mce-edit-focus{outline:1px dotted #333}.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus{outline:2px solid #2276d2}.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover{outline:2px solid #2276d2}.mce-content-body *[contentEditable=false][data-mce-selected]{outline:2px solid #2276d2}.mce-content-body.mce-content-readonly *[contentEditable=true]:focus,.mce-content-body.mce-content-readonly *[contentEditable=true]:hover{outline:none}.mce-content-body *[data-mce-selected="inline-boundary"]{background:#bfe6ff}.mce-content-body .mce-item-anchor[data-mce-selected]{background:#D5D5D5 url(img/anchor.gif) no-repeat center}.mce-content-body hr{cursor:default}.mce-content-body table{-webkit-nbsp-mode:normal}.ephox-snooker-resizer-bar{background-color:#2276d2;opacity:0}.ephox-snooker-resizer-cols{cursor:col-resize}.ephox-snooker-resizer-rows{cursor:row-resize}.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging{opacity:.2}.mce-content-body{line-height:1.3}
\ No newline at end of file
body{background-color:#FFFFFF;color:#000000;font-family:Verdana,Arial,Helvetica,sans-serif;font-size:14px;line-height:1.3;scrollbar-3dlight-color:#F0F0EE;scrollbar-arrow-color:#676662;scrollbar-base-color:#F0F0EE;scrollbar-darkshadow-color:#DDDDDD;scrollbar-face-color:#E0E0DD;scrollbar-highlight-color:#F0F0EE;scrollbar-shadow-color:#F0F0EE;scrollbar-track-color:#F5F5F5}td,th{font-family:Verdana,Arial,Helvetica,sans-serif;font-size:14px}.word-wrap{word-wrap:break-word;-ms-word-break:break-all;word-break:break-all;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}.mce-content-body .mce-reset{margin:0;padding:0;border:0;outline:0;vertical-align:top;background:transparent;text-decoration:none;color:black;font-family:Arial;font-size:11px;text-shadow:none;float:none;position:static;width:auto;height:auto;white-space:nowrap;cursor:inherit;line-height:normal;font-weight:normal;text-align:left;-webkit-tap-highlight-color:transparent;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;direction:ltr;max-width:none}.mce-object{border:1px dotted #3A3A3A;background:#D5D5D5 url(img/object.gif) no-repeat center}.mce-preview-object{display:inline-block;position:relative;margin:0 2px 0 2px;line-height:0;border:1px solid gray}.mce-preview-object[data-mce-selected="2"] .mce-shim{display:none}.mce-preview-object .mce-shim{position:absolute;top:0;left:0;width:100%;height:100%;background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)}figure.align-left{float:left}figure.align-right{float:right}figure.image.align-center{display:table;margin-left:auto;margin-right:auto}figure.image{display:inline-block;border:1px solid gray;margin:0 2px 0 1px;background:#f5f2f0}figure.image img{margin:8px 8px 0 8px}figure.image figcaption{margin:6px 8px 6px 8px;text-align:center}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc li{list-style-type:none}.mce-pagebreak{cursor:default;display:block;border:0;width:100%;height:5px;border:1px dashed #666;margin-top:15px;page-break-before:always}@media print{.mce-pagebreak{border:0}}.mce-item-anchor{cursor:default;display:inline-block;-webkit-user-select:all;-webkit-user-modify:read-only;-moz-user-select:all;-moz-user-modify:read-only;user-select:all;user-modify:read-only;width:9px !important;height:9px !important;border:1px dotted #3A3A3A;background:#D5D5D5 url(img/anchor.gif) no-repeat center}.mce-nbsp,.mce-shy{background:#AAA}.mce-shy::after{content:'-'}.mce-match-marker{background:#AAA;color:#fff}.mce-match-marker-selected{background:#3399ff;color:#fff}.mce-spellchecker-word{border-bottom:2px solid rgba(208,2,27,0.5);cursor:default}.mce-spellchecker-grammar{border-bottom:2px solid #008000;cursor:default}.mce-item-table,.mce-item-table td,.mce-item-table th,.mce-item-table caption{border:1px dashed #BBB}td[data-mce-selected],th[data-mce-selected]{background-color:#2276d2 !important}.mce-edit-focus{outline:1px dotted #333}.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus{outline:2px solid #2276d2}.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover{outline:2px solid #2276d2}.mce-content-body *[contentEditable=false][data-mce-selected]{outline:2px solid #2276d2}.mce-content-body.mce-content-readonly *[contentEditable=true]:focus,.mce-content-body.mce-content-readonly *[contentEditable=true]:hover{outline:none}.mce-content-body *[data-mce-selected="inline-boundary"]{background:#bfe6ff}.mce-content-body .mce-item-anchor[data-mce-selected]{background:#D5D5D5 url(img/anchor.gif) no-repeat center}.mce-content-body hr{cursor:default}.mce-content-body table{-webkit-nbsp-mode:normal}.ephox-snooker-resizer-bar{background-color:#2276d2;opacity:0}.ephox-snooker-resizer-cols{cursor:col-resize}.ephox-snooker-resizer-rows{cursor:row-resize}.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging{opacity:.2}
\ No newline at end of file
.tinymce-mobile-unfocused-selections .tinymce-mobile-unfocused-selection{position:absolute;display:inline-block;background-color:green;opacity:.5}body{-webkit-text-size-adjust:none}body img{max-width:96vw}body table img{max-width:95%}
\ No newline at end of file
<?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>Generated by IcoMoon</metadata>
<defs>
<font id="tinymce-small" horiz-adv-x="1024">
<font-face units-per-em="1024" ascent="960" descent="-64" />
<missing-glyph horiz-adv-x="1024" />
<glyph unicode="&#x20;" horiz-adv-x="512" d="" />
<glyph unicode="&#xe000;" glyph-name="save" d="M960 80v591.938l-223.938 224.062h-592.062c-44.182 0-80-35.816-80-80v-736c0-44.184 35.818-80 80-80h736c44.184 0 80 35.816 80 80zM576 768h64v-192h-64v192zM704 128h-384v255.882c0.034 0.042 0.076 0.082 0.116 0.118h383.77c0.040-0.036 0.082-0.076 0.116-0.118l-0.002-255.882zM832 128h-64v256c0 35.2-28.8 64-64 64h-384c-35.2 0-64-28.8-64-64v-256h-64v640h64v-192c0-35.2 28.8-64 64-64h320c35.2 0 64 28.8 64 64v171.010l128-128.072v-490.938z" />
<glyph unicode="&#xe001;" glyph-name="newdocument" d="M850.746 717.254l-133.492 133.49c-24.888 24.892-74.054 45.256-109.254 45.256h-416c-35.2 0-64-28.8-64-64v-768c0-35.2 28.8-64 64-64h640c35.2 0 64 28.8 64 64v544c0 35.2-20.366 84.364-45.254 109.254zM805.49 672.002c6.792-6.796 13.792-19.162 18.894-32.002h-184.384v184.386c12.84-5.1 25.204-12.1 32-18.896l133.49-133.488zM831.884 64h-639.77c-0.040 0.034-0.082 0.076-0.114 0.116v767.77c0.034 0.040 0.076 0.082 0.114 0.114h383.886v-256h256v-511.884c-0.034-0.040-0.076-0.082-0.116-0.116z" />
<glyph unicode="&#xe002;" glyph-name="fullpage" d="M1024 367.542v160.916l-159.144 15.914c-8.186 30.042-20.088 58.548-35.21 84.98l104.596 127.838-113.052 113.050-127.836-104.596c-26.434 15.124-54.942 27.026-84.982 35.208l-15.914 159.148h-160.916l-15.914-159.146c-30.042-8.186-58.548-20.086-84.98-35.208l-127.838 104.594-113.050-113.050 104.596-127.836c-15.124-26.432-27.026-54.94-35.21-84.98l-159.146-15.916v-160.916l159.146-15.914c8.186-30.042 20.086-58.548 35.21-84.982l-104.596-127.836 113.048-113.048 127.838 104.596c26.432-15.124 54.94-27.028 84.98-35.21l15.916-159.148h160.916l15.914 159.144c30.042 8.186 58.548 20.088 84.982 35.21l127.836-104.596 113.048 113.048-104.596 127.836c15.124 26.434 27.028 54.942 35.21 84.98l159.148 15.92zM704 384l-128-128h-128l-128 128v128l128 128h128l128-128v-128z" />
<glyph unicode="&#xe003;" glyph-name="alignleft" d="M64 768h896v-128h-896zM64 384h896v-128h-896zM64 576h576v-128h-576zM64 192h576v-128h-576z" />
<glyph unicode="&#xe004;" glyph-name="aligncenter" d="M64 768h896v-128h-896zM64 384h896v-128h-896zM256 576h512v-128h-512zM256 192h512v-128h-512z" />
<glyph unicode="&#xe005;" glyph-name="alignright" d="M64 768h896v-128h-896zM64 384h896v-128h-896zM384 576h576v-128h-576zM384 192h576v-128h-576z" />
<glyph unicode="&#xe006;" glyph-name="alignjustify" d="M64 768h896v-128h-896zM64 384h896v-128h-896zM64 576h896v-128h-896zM64 192h896v-128h-896z" />
<glyph unicode="&#xe007;" glyph-name="cut" d="M864.408 289.868c-46.47 46.47-106.938 68.004-161.082 62.806l-63.326 63.326 192 192c0 0 128 128 0 256l-320-320-320 320c-128-128 0-256 0-256l192-192-63.326-63.326c-54.144 5.198-114.61-16.338-161.080-62.806-74.98-74.98-85.112-186.418-22.626-248.9 62.482-62.482 173.92-52.354 248.9 22.626 46.47 46.468 68.002 106.938 62.806 161.080l63.326 63.326 63.328-63.328c-5.196-54.144 16.336-114.61 62.806-161.078 74.978-74.98 186.418-85.112 248.898-22.626 62.488 62.482 52.356 173.918-22.624 248.9zM353.124 201.422c-2.212-24.332-15.020-49.826-35.14-69.946-22.212-22.214-51.080-35.476-77.218-35.476-10.524 0-25.298 2.228-35.916 12.848-21.406 21.404-17.376 73.132 22.626 113.136 22.212 22.214 51.080 35.476 77.218 35.476 10.524 0 25.298-2.228 35.916-12.848 13.112-13.11 13.47-32.688 12.514-43.19zM512 352c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zM819.152 108.848c-10.62-10.62-25.392-12.848-35.916-12.848-26.138 0-55.006 13.262-77.218 35.476-20.122 20.12-32.928 45.614-35.138 69.946-0.958 10.502-0.6 30.080 12.514 43.192 10.618 10.622 25.39 12.848 35.916 12.848 26.136 0 55.006-13.262 77.216-35.474 40.004-40.008 44.032-91.736 22.626-113.14z" />
<glyph unicode="&#xe008;" glyph-name="paste" d="M704 576v160c0 17.6-14.4 32-32 32h-160v64c0 35.2-28.8 64-64 64h-128c-35.204 0-64-28.8-64-64v-64h-160c-17.602 0-32-14.4-32-32v-512c0-17.6 14.398-32 32-32h224v-192h384l192 192v384h-192zM320 831.886c0.034 0.038 0.072 0.078 0.114 0.114h127.768c0.042-0.036 0.082-0.076 0.118-0.114v-63.886h-128v63.886zM192 640v64h384v-64h-384zM704 90.51v101.49h101.49l-101.49-101.49zM832 256h-192v-192h-256v448h448v-256z" />
<glyph unicode="&#xe009;" glyph-name="searchreplace" d="M888 576h-56v256h64v64h-320v-64h64v-256h-256v256h64v64h-320v-64h64v-256h-56c-39.6 0-72-32.4-72-72v-432c0-39.6 32.4-72 72-72h240c39.6 0 72 32.4 72 72v312h128v-312c0-39.6 32.4-72 72-72h240c39.6 0 72 32.4 72 72v432c0 39.6-32.4 72-72 72zM348 64h-184c-19.8 0-36 14.4-36 32s16.2 32 36 32h184c19.8 0 36-14.4 36-32s-16.2-32-36-32zM544 448h-64c-17.6 0-32 14.4-32 32s14.4 32 32 32h64c17.6 0 32-14.4 32-32s-14.4-32-32-32zM860 64h-184c-19.8 0-36 14.4-36 32s16.2 32 36 32h184c19.8 0 36-14.4 36-32s-16.2-32-36-32z" />
<glyph unicode="&#xe00a;" glyph-name="bullist" d="M384 832h576v-128h-576zM384 512h576v-128h-576zM384 192h576v-128h-576zM128 768c0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64s-64-28.654-64-64zM128 448c0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64s-64-28.654-64-64zM128 128c0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64s-64-28.654-64-64z" />
<glyph unicode="&#xe00b;" glyph-name="numlist" d="M384 832h576v-128h-576zM384 512h576v-128h-576zM384 192h576v-128h-576zM320 430v146h-64v320h-128v-64h64v-256h-64v-64h128v-50l-128-60v-146h128v-64h-128v-64h128v-64h-128v-64h192v320h-128v50z" />
<glyph unicode="&#xe00c;" glyph-name="indent" d="M64 768h896v-128h-896zM384 384h576v-128h-576zM384 576h576v-128h-576zM64 192h896v-128h-896zM64 576l224-160-224-160z" />
<glyph unicode="&#xe00d;" glyph-name="outdent" d="M64 768h896v-128h-896zM64 384h576v-128h-576zM64 576h576v-128h-576zM64 192h896v-128h-896zM960 576l-224-160 224-160z" />
<glyph unicode="&#xe00e;" glyph-name="blockquote" d="M256.428 535.274c105.8 0 191.572-91.17 191.572-203.638 0-112.464-85.772-203.636-191.572-203.636-105.802 0-191.572 91.17-191.572 203.636l-0.856 29.092c0 224.93 171.54 407.272 383.144 407.272v-116.364c-73.1 0-141.826-30.26-193.516-85.204-9.954-10.578-19.034-21.834-27.224-33.656 9.784 1.64 19.806 2.498 30.024 2.498zM768.428 535.274c105.8 0 191.572-91.17 191.572-203.638 0-112.464-85.772-203.636-191.572-203.636-105.802 0-191.572 91.17-191.572 203.636l-0.856 29.092c0 224.93 171.54 407.272 383.144 407.272v-116.364c-73.1 0-141.826-30.26-193.516-85.204-9.956-10.578-19.036-21.834-27.224-33.656 9.784 1.64 19.806 2.498 30.024 2.498z" />
<glyph unicode="&#xe00f;" glyph-name="undo" d="M704 0c59 199 134.906 455.266-256 446.096v-222.096l-336.002 336 336.002 336v-217.326c468.092 12.2 544-358.674 256-678.674z" />
<glyph unicode="&#xe010;" glyph-name="redo" d="M576 678.674v217.326l336.002-336-336.002-336v222.096c-390.906 9.17-315-247.096-256-446.096-288 320-212.092 690.874 256 678.674z" />
<glyph unicode="&#xe011;" glyph-name="unlink" d="M927.274 729.784l-133.49 133.488c-21.104 21.104-49.232 32.728-79.198 32.728s-58.094-11.624-79.196-32.726l-165.492-165.49c-43.668-43.668-43.668-114.724 0-158.392l2.746-2.746 67.882 67.882-2.746 2.746c-6.132 6.132-6.132 16.494 0 22.626l165.492 165.492c4.010 4.008 8.808 4.608 11.312 4.608s7.302-0.598 11.312-4.61l133.49-133.488c6.132-6.134 6.132-16.498 0.002-22.628l-165.494-165.494c-4.008-4.008-8.806-4.608-11.31-4.608s-7.302 0.6-11.312 4.612l-2.746 2.746-67.88-67.884 2.742-2.742c21.106-21.108 49.23-32.728 79.2-32.728s58.094 11.624 79.196 32.726l165.494 165.492c43.662 43.666 43.662 114.72-0.004 158.39zM551.356 359.356l-67.882-67.882 2.746-2.746c4.008-4.008 4.61-8.806 4.61-11.31 0-2.506-0.598-7.302-4.606-11.314l-165.494-165.49c-4.010-4.010-8.81-4.61-11.314-4.61s-7.304 0.6-11.314 4.61l-133.492 133.486c-4.010 4.010-4.61 8.81-4.61 11.314s0.598 7.3 4.61 11.312l165.49 165.488c4.010 4.012 8.81 4.612 11.314 4.612s7.304-0.6 11.314-4.612l2.746-2.742 67.882 67.88-2.746 2.746c-21.104 21.104-49.23 32.726-79.196 32.726s-58.092-11.624-79.196-32.726l-165.488-165.486c-21.106-21.104-32.73-49.234-32.73-79.198s11.624-58.094 32.726-79.198l133.49-133.49c21.106-21.102 49.232-32.726 79.198-32.726s58.092 11.624 79.196 32.726l165.494 165.492c21.104 21.104 32.722 49.23 32.722 79.196s-11.624 58.094-32.726 79.196l-2.744 2.746zM352 250c-9.724 0-19.45 3.71-26.87 11.128-14.84 14.84-14.84 38.898 0 53.738l320 320c14.84 14.84 38.896 14.84 53.736 0 14.844-14.84 14.844-38.9 0-53.74l-320-320c-7.416-7.416-17.142-11.126-26.866-11.126z" />
<glyph unicode="&#xe012;" glyph-name="link" d="M927.274 729.784l-133.49 133.488c-21.104 21.104-49.232 32.728-79.198 32.728s-58.094-11.624-79.196-32.726l-165.492-165.49c-43.668-43.668-43.668-114.724 0-158.392l2.746-2.746 67.882 67.882-2.746 2.746c-6.132 6.132-6.132 16.494 0 22.626l165.492 165.492c4.010 4.008 8.808 4.608 11.312 4.608s7.302-0.598 11.312-4.61l133.49-133.488c6.132-6.134 6.132-16.498 0.002-22.628l-165.494-165.494c-4.008-4.008-8.806-4.608-11.31-4.608s-7.302 0.6-11.312 4.612l-2.746 2.746-67.88-67.884 2.742-2.742c21.106-21.108 49.23-32.728 79.2-32.728s58.094 11.624 79.196 32.726l165.494 165.492c43.662 43.666 43.662 114.72-0.004 158.39zM551.356 359.356l-67.882-67.882 2.746-2.746c4.008-4.008 4.61-8.806 4.61-11.31 0-2.506-0.598-7.302-4.606-11.314l-165.494-165.49c-4.010-4.010-8.81-4.61-11.314-4.61s-7.304 0.6-11.314 4.61l-133.492 133.486c-4.010 4.010-4.61 8.81-4.61 11.314s0.598 7.3 4.61 11.312l165.49 165.488c4.010 4.012 8.81 4.612 11.314 4.612s7.304-0.6 11.314-4.612l2.746-2.742 67.882 67.88-2.746 2.746c-21.104 21.104-49.23 32.726-79.196 32.726s-58.092-11.624-79.196-32.726l-165.488-165.486c-21.106-21.104-32.73-49.234-32.73-79.198s11.624-58.094 32.726-79.198l133.49-133.49c21.106-21.102 49.232-32.726 79.198-32.726s58.092 11.624 79.196 32.726l165.494 165.492c21.104 21.104 32.722 49.23 32.722 79.196s-11.624 58.094-32.726 79.196l-2.744 2.746zM800 122c-9.724 0-19.45 3.708-26.87 11.13l-128 127.998c-14.844 14.84-14.844 38.898 0 53.738 14.84 14.844 38.896 14.844 53.736 0l128-128c14.844-14.84 14.844-38.896 0-53.736-7.416-7.422-17.142-11.13-26.866-11.13zM608 0c-17.674 0-32 14.326-32 32v128c0 17.674 14.326 32 32 32s32-14.326 32-32v-128c0-17.674-14.326-32-32-32zM928 320h-128c-17.674 0-32 14.326-32 32s14.326 32 32 32h128c17.674 0 32-14.326 32-32s-14.326-32-32-32zM224 774c9.724 0 19.45-3.708 26.87-11.13l128-128c14.842-14.84 14.842-38.898 0-53.738-14.84-14.844-38.898-14.844-53.738 0l-128 128c-14.842 14.84-14.842 38.898 0 53.738 7.418 7.422 17.144 11.13 26.868 11.13zM416 896c17.674 0 32-14.326 32-32v-128c0-17.674-14.326-32-32-32s-32 14.326-32 32v128c0 17.674 14.326 32 32 32zM96 576h128c17.674 0 32-14.326 32-32s-14.326-32-32-32h-128c-17.674 0-32 14.326-32 32s14.326 32 32 32z" />
<glyph unicode="&#xe013;" glyph-name="bookmark" d="M256 896v-896l256 256 256-256v896h-512zM704 170.51l-192 192-192-192v661.49h384v-661.49z" />
<glyph unicode="&#xe014;" glyph-name="image" d="M896 832h-768c-35.2 0-64-28.8-64-64v-640c0-35.2 28.8-64 64-64h768c35.2 0 64 28.8 64 64v640c0 35.2-28.8 64-64 64zM896 128.116c-0.012-0.014-0.030-0.028-0.042-0.042l-191.958 319.926-160-128-224 288-191.968-479.916c-0.010 0.010-0.022 0.022-0.032 0.032v639.77c0.034 0.040 0.076 0.082 0.114 0.114h767.77c0.040-0.034 0.082-0.076 0.116-0.116v-639.768zM640 608c0-53.019 42.981-96 96-96s96 42.981 96 96c0 53.019-42.981 96-96 96s-96-42.981-96-96z" />
<glyph unicode="&#xe015;" glyph-name="media" d="M896 832h-768c-35.2 0-64-28.8-64-64v-640c0-35.2 28.8-64 64-64h768c35.2 0 64 28.8 64 64v640c0 35.2-28.8 64-64 64zM256 128h-128v128h128v-128zM256 384h-128v128h128v-128zM256 640h-128v128h128v-128zM704 128h-384v640h384v-640zM896 128h-128v128h128v-128zM896 384h-128v128h128v-128zM896 640h-128v128h128v-128zM384 640v-384l288 192z" />
<glyph unicode="&#xe016;" glyph-name="help" d="M448 256h128v-128h-128v128zM704 704c35.346 0 64-28.654 64-64v-166l-228-154h-92v64l192 128v64h-320v128h384zM512 896c-119.666 0-232.166-46.6-316.784-131.216-84.614-84.618-131.216-197.118-131.216-316.784 0-119.664 46.602-232.168 131.216-316.784 84.618-84.616 197.118-131.216 316.784-131.216 119.664 0 232.168 46.6 316.784 131.216s131.216 197.12 131.216 316.784c0 119.666-46.6 232.166-131.216 316.784-84.616 84.616-197.12 131.216-316.784 131.216z" />
<glyph unicode="&#xe017;" glyph-name="code" d="M416 256l-192 192 192 192-64 64-256-256 256-256zM672 704l-64-64 192-192-192-192 64-64 256 256z" />
<glyph unicode="&#xe018;" glyph-name="insertdatetime" d="M77.798 655.376l81.414-50.882c50.802 81.114 128.788 143.454 221.208 174.246l-30.366 91.094c-113.748-37.898-209.728-114.626-272.256-214.458zM673.946 869.834l-30.366-91.094c92.422-30.792 170.404-93.132 221.208-174.248l81.412 50.882c-62.526 99.834-158.506 176.562-272.254 214.46zM607.974 255.992c-4.808 0-9.692 1.090-14.286 3.386l-145.688 72.844v211.778c0 17.672 14.328 32 32 32s32-14.328 32-32v-172.222l110.31-55.156c15.806-7.902 22.214-27.124 14.31-42.932-5.604-11.214-16.908-17.696-28.646-17.698zM512 768c-212.078 0-384-171.922-384-384s171.922-384 384-384c212.078 0 384 171.922 384 384s-171.922 384-384 384zM512 96c-159.058 0-288 128.942-288 288s128.942 288 288 288c159.058 0 288-128.942 288-288s-128.942-288-288-288z" />
<glyph unicode="&#xe019;" glyph-name="preview" d="M64 504.254c45.318 49.92 97.162 92.36 153.272 125.124 90.332 52.744 192.246 80.622 294.728 80.622 102.48 0 204.396-27.878 294.726-80.624 56.112-32.764 107.956-75.204 153.274-125.124v117.432c-33.010 28.118-68.124 53.14-104.868 74.594-105.006 61.314-223.658 93.722-343.132 93.722s-238.128-32.408-343.134-93.72c-36.742-21.454-71.856-46.478-104.866-74.596v-117.43zM512 640c-183.196 0-345.838-100.556-448-256 102.162-155.448 264.804-256 448-256s345.838 100.552 448 256c-102.162 155.444-264.804 256-448 256zM512 448c0-35.346-28.654-64-64-64s-64 28.654-64 64c0 35.348 28.654 64 64 64s64-28.652 64-64zM728.066 263.338c-67.434-39.374-140.128-59.338-216.066-59.338s-148.632 19.964-216.066 59.338c-51.554 30.104-98.616 71.31-138.114 120.662 39.498 49.35 86.56 90.558 138.116 120.66 13.276 7.752 26.758 14.74 40.426 20.982-10.512-23.742-16.362-50.008-16.362-77.642 0-106.040 85.962-192 192-192 106.040 0 192 85.96 192 192 0 27.634-5.85 53.9-16.36 77.642 13.668-6.244 27.15-13.23 40.426-20.982 51.554-30.102 98.616-71.31 138.116-120.66-39.498-49.352-86.56-90.558-138.116-120.662z" />
<glyph unicode="&#xe01a;" glyph-name="forecolor" d="M651.168 676.166c-24.612 81.962-28.876 91.834-107.168 91.834h-64c-79.618 0-82.664-10.152-108.418-96 0-0.002 0-0.002-0.002-0.004l-143.998-479.996h113.636l57.6 192h226.366l57.6-192h113.63l-145.246 484.166zM437.218 512l38.4 136c10.086 33.618 36.38 30 36.38 30s26.294 3.618 36.38-30h0.004l38.4-136h-149.564z" />
<glyph unicode="&#xe01b;" glyph-name="table" d="M64 768v-704h896v704h-896zM384 320v128h256v-128h-256zM640 256v-128h-256v128h256zM640 640v-128h-256v128h256zM320 640v-128h-192v128h192zM128 448h192v-128h-192v128zM704 448h192v-128h-192v128zM704 512v128h192v-128h-192zM128 256h192v-128h-192v128zM704 128v128h192v-128h-192z" />
<glyph unicode="&#xe01c;" glyph-name="hr" d="M64 512h896v-128h-896z" />
<glyph unicode="&#xe01d;" glyph-name="removeformat" d="M64 192h512v-128h-512v128zM768 768h-220.558l-183.766-512h-132.288l183.762 512h-223.15v128h576v-128zM929.774 64l-129.774 129.774-129.774-129.774-62.226 62.226 129.774 129.774-129.774 129.774 62.226 62.226 129.774-129.774 129.774 129.774 62.226-62.226-129.774-129.774 129.774-129.774-62.226-62.226z" />
<glyph unicode="&#xe01e;" glyph-name="subscript" d="M768 50v-50h128v-64h-192v146l128 60v50h-128v64h192v-146zM676 704h-136l-188-188-188 188h-136l256-256-256-256h136l188 188 188-188h136l-256 256z" />
<glyph unicode="&#xe01f;" glyph-name="superscript" d="M768 754v-50h128v-64h-192v146l128 60v50h-128v64h192v-146zM676 704h-136l-188-188-188 188h-136l256-256-256-256h136l188 188 188-188h136l-256 256z" />
<glyph unicode="&#xe020;" glyph-name="charmap" d="M704 128v37.004c151.348 61.628 256 193.82 256 346.996 0 212.078-200.576 384-448 384s-448-171.922-448-384c0-153.176 104.654-285.368 256-346.996v-37.004h-192l-64 96v-224h320v222.812c-100.9 51.362-170.666 161.54-170.666 289.188 0 176.732 133.718 320 298.666 320s298.666-143.268 298.666-320c0-127.648-69.766-237.826-170.666-289.188v-222.812h320v224l-64-96h-192z" />
<glyph unicode="&#xe021;" glyph-name="emoticons" d="M512 820c99.366 0 192.782-38.694 263.042-108.956s108.958-163.678 108.958-263.044-38.696-192.782-108.958-263.042-163.676-108.958-263.042-108.958-192.782 38.696-263.044 108.958-108.956 163.676-108.956 263.042 38.694 192.782 108.956 263.044 163.678 108.956 263.044 108.956zM512 896c-247.424 0-448-200.576-448-448s200.576-448 448-448 448 200.576 448 448-200.576 448-448 448v0zM320 576c0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64s-64-28.654-64-64zM576 576c0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64s-64-28.654-64-64zM512 304c-101.84 0-192.56 36.874-251.166 94.328 23.126-117.608 126.778-206.328 251.166-206.328s228.040 88.72 251.168 206.328c-58.608-57.454-149.328-94.328-251.168-94.328z" />
<glyph unicode="&#xe022;" glyph-name="print" d="M256 832h512v-128h-512v128zM896 640h-768c-35.2 0-64-28.8-64-64v-256c0-35.2 28.796-64 64-64h128v-192h512v192h128c35.2 0 64 28.8 64 64v256c0 35.2-28.8 64-64 64zM704 128h-384v256h384v-256zM910.4 544c0-25.626-20.774-46.4-46.398-46.4s-46.402 20.774-46.402 46.4 20.778 46.4 46.402 46.4c25.626 0 46.398-20.774 46.398-46.4z" />
<glyph unicode="&#xe023;" glyph-name="fullscreen" d="M480 576l-192 192 128 128h-352v-352l128 128 192-192zM640 480l192 192 128-128v352h-352l128-128-192-192zM544 320l192-192-128-128h352v352l-128-128-192 192zM384 416l-192-192-128 128v-352h352l-128 128 192 192z" />
<glyph unicode="&#xe024;" glyph-name="spellcheck" d="M960 832v64h-192c-35.202 0-64-28.8-64-64v-320c0-15.856 5.858-30.402 15.496-41.614l-303.496-260.386-142 148-82-70 224-288 416 448h128v64h-192v320h192zM256 448h64v384c0 35.2-28.8 64-64 64h-128c-35.2 0-64-28.8-64-64v-384h64v192h128v-192zM128 704v128h128v-128h-128zM640 512v96c0 35.2-8.8 64-44 64 35.2 0 44 28.8 44 64v96c0 35.2-28.8 64-64 64h-192v-448h192c35.2 0 64 28.8 64 64zM448 832h128v-128h-128v128zM448 640h128v-128h-128v128z" />
<glyph unicode="&#xe025;" glyph-name="nonbreaking" d="M448 448h-128v128h128v128h128v-128h128v-128h-128v-128h-128v128zM960 384v-320h-896v320h128v-192h640v192h128z" />
<glyph unicode="&#xe026;" glyph-name="template" d="M512 576h128v-64h-128zM512 192h128v-64h-128zM576 384h128v-64h-128zM768 384v-192h-64v-64h128v256zM384 384h128v-64h-128zM320 192h128v-64h-128zM320 576h128v-64h-128zM192 768v-256h64v192h64v64zM704 512h128v256h-64v-192h-64zM64 896v-896h896v896h-896zM896 64h-768v768h768v-768zM192 384v-256h64v192h64v64zM576 768h128v-64h-128zM384 768h128v-64h-128z" />
<glyph unicode="&#xe027;" glyph-name="pagebreak" d="M816 896l16-384h-640l16 384h32l16-320h512l16 320h32zM208 0l-16 320h640l-16-320h-32l-16 256h-512l-16-256h-32zM64 448h128v-64h-128zM256 448h128v-64h-128zM448 448h128v-64h-128zM640 448h128v-64h-128zM832 448h128v-64h-128z" />
<glyph unicode="&#xe028;" glyph-name="restoredraft" d="M576 896c247.424 0 448-200.576 448-448s-200.576-448-448-448v96c94.024 0 182.418 36.614 248.902 103.098s103.098 154.878 103.098 248.902c0 94.022-36.614 182.418-103.098 248.902s-154.878 103.098-248.902 103.098c-94.022 0-182.418-36.614-248.902-103.098-51.14-51.138-84.582-115.246-97.306-184.902h186.208l-224-256-224 256h164.57c31.060 217.102 217.738 384 443.43 384zM768 512v-128h-256v320h128v-192z" />
<glyph unicode="&#xe02a;" glyph-name="bold" d="M625.442 465.818c48.074 38.15 78.558 94.856 78.558 158.182 0 114.876-100.29 208-224 208h-224v-768h288c123.712 0 224 93.124 224 208 0 88.196-59.118 163.562-142.558 193.818zM384 656c0 26.51 21.49 48 48 48h67.204c42.414 0 76.796-42.98 76.796-96s-34.382-96-76.796-96h-115.204v144zM547.2 192h-115.2c-26.51 0-48 21.49-48 48v144h163.2c42.418 0 76.8-42.98 76.8-96s-34.382-96-76.8-96z" />
<glyph unicode="&#xe02b;" glyph-name="italic" d="M832 832v-64h-144l-256-640h144v-64h-448v64h144l256 640h-144v64h448z" />
<glyph unicode="&#xe02c;" glyph-name="underline" d="M192 128h576v-64h-576v64zM640 832v-384c0-31.312-14.7-61.624-41.39-85.352-30.942-27.502-73.068-42.648-118.61-42.648-45.544 0-87.668 15.146-118.608 42.648-26.692 23.728-41.392 54.040-41.392 85.352v384h-128v-384c0-141.382 128.942-256 288-256s288 114.618 288 256v384h-128z" />
<glyph unicode="&#xe02d;" glyph-name="strikethrough" d="M960 448h-265.876c-50.078 35.42-114.43 54.86-182.124 54.86-89.206 0-164.572 50.242-164.572 109.712s75.366 109.714 164.572 109.714c75.058 0 140.308-35.576 159.12-82.286h113.016c-7.93 50.644-37.58 97.968-84.058 132.826-50.88 38.16-117.676 59.174-188.078 59.174-70.404 0-137.196-21.014-188.074-59.174-54.788-41.090-86.212-99.502-86.212-160.254s31.424-119.164 86.212-160.254c1.956-1.466 3.942-2.898 5.946-4.316h-265.872v-64h512.532c58.208-17.106 100.042-56.27 100.042-100.572 0-59.468-75.368-109.71-164.572-109.71-75.060 0-140.308 35.574-159.118 82.286h-113.016c7.93-50.64 37.582-97.968 84.060-132.826 50.876-38.164 117.668-59.18 188.072-59.18 70.402 0 137.198 21.016 188.074 59.174 54.79 41.090 86.208 99.502 86.208 160.254 0 35.298-10.654 69.792-30.294 100.572h204.012v64z" />
<glyph unicode="&#xe02e;" glyph-name="visualchars" d="M384 832c-123.712 0-224-100.288-224-224s100.288-224 224-224v-320h128v640h64v-640h128v640h128v128h-448z" />
<glyph unicode="&#xe02f;" glyph-name="ltr" d="M448 832c-123.712 0-224-100.288-224-224s100.288-224 224-224v-320h128v640h64v-640h128v640h128v128h-448zM64 64l224 192-224 192z" />
<glyph unicode="&#xe030;" glyph-name="rtl" d="M320 832c-123.712 0-224-100.288-224-224s100.288-224 224-224v-320h128v640h64v-640h128v640h128v128h-448zM960 448l-224-192 224-192z" />
<glyph unicode="&#xe031;" glyph-name="copy" d="M832 640h-192v64l-192 192h-384v-704h384v-192h576v448l-192 192zM832 549.49l101.49-101.49h-101.49v101.49zM448 805.49l101.49-101.49h-101.49v101.49zM128 832h256v-192h192v-384h-448v576zM960 64h-448v128h128v384h128v-192h192v-320z" />
<glyph unicode="&#xe032;" glyph-name="resize" d="M768 704h64v-64h-64zM640 576h64v-64h-64zM640 448h64v-64h-64zM640 320h64v-64h-64zM512 448h64v-64h-64zM512 320h64v-64h-64zM384 320h64v-64h-64zM768 576h64v-64h-64zM768 448h64v-64h-64zM768 320h64v-64h-64zM768 192h64v-64h-64zM640 192h64v-64h-64zM512 192h64v-64h-64zM384 192h64v-64h-64zM256 192h64v-64h-64z" />
<glyph unicode="&#xe034;" glyph-name="browse" d="M928 832h-416l-32 64h-352l-64-128h896zM840.34 256h87.66l32 448h-896l64-640h356.080c-104.882 37.776-180.080 138.266-180.080 256 0 149.982 122.018 272 272 272 149.98 0 272-122.018 272-272 0-21.678-2.622-43.15-7.66-64zM874.996 110.25l-134.496 110.692c17.454 28.922 27.5 62.814 27.5 99.058 0 106.040-85.96 192-192 192s-192-85.96-192-192 85.96-192 192-192c36.244 0 70.138 10.046 99.058 27.5l110.692-134.496c22.962-26.678 62.118-28.14 87.006-3.252l5.492 5.492c24.888 24.888 23.426 64.044-3.252 87.006zM576 196c-68.484 0-124 55.516-124 124s55.516 124 124 124 124-55.516 124-124-55.516-124-124-124z" />
<glyph unicode="&#xe035;" glyph-name="pastetext" d="M704 576v160c0 17.6-14.4 32-32 32h-160v64c0 35.2-28.8 64-64 64h-128c-35.204 0-64-28.8-64-64v-64h-160c-17.602 0-32-14.4-32-32v-512c0-17.6 14.398-32 32-32h224v-192h576v576h-192zM320 831.886c0.034 0.038 0.072 0.078 0.114 0.114h127.768c0.042-0.036 0.082-0.076 0.118-0.114v-63.886h-128v63.886zM192 640v64h384v-64h-384zM832 64h-448v448h448v-448zM448 448v-128h32l32 64h64v-192h-48v-64h160v64h-48v192h64l32-64h32v128z" />
<glyph unicode="&#xe603;" glyph-name="codesample" d="M200.015 577.994v103.994c0 43.077 34.919 77.997 77.997 77.997h26v103.994h-26c-100.51 0-181.991-81.481-181.991-181.991v-103.994c0-43.077-34.919-77.997-77.997-77.997h-26v-103.994h26c43.077 0 77.997-34.919 77.997-77.997v-103.994c0-100.509 81.481-181.991 181.991-181.991h26v103.994h-26c-43.077 0-77.997 34.919-77.997 77.997v103.994c0 50.927-20.928 96.961-54.642 129.994 33.714 33.032 54.642 79.065 54.642 129.994zM823.985 577.994v103.994c0 43.077-34.919 77.997-77.997 77.997h-26v103.994h26c100.509 0 181.991-81.481 181.991-181.991v-103.994c0-43.077 34.919-77.997 77.997-77.997h26v-103.994h-26c-43.077 0-77.997-34.919-77.997-77.997v-103.994c0-100.509-81.482-181.991-181.991-181.991h-26v103.994h26c43.077 0 77.997 34.919 77.997 77.997v103.994c0 50.927 20.928 96.961 54.642 129.994-33.714 33.032-54.642 79.065-54.642 129.994zM615.997 603.277c0-57.435-46.56-103.994-103.994-103.994s-103.994 46.56-103.994 103.994c0 57.435 46.56 103.994 103.994 103.994s103.994-46.56 103.994-103.994zM512 448.717c-57.435 0-103.994-46.56-103.994-103.994 0-55.841 26-100.107 105.747-103.875-23.715-33.413-59.437-46.608-105.747-50.94v-61.747c0 0 207.991-18.144 207.991 216.561-0.202 57.437-46.56 103.996-103.994 103.996z" />
</font></defs></svg>
\ No newline at end of file
<?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>Generated by IcoMoon</metadata>
<defs>
<font id="tinymce" horiz-adv-x="1024">
<font-face units-per-em="1024" ascent="960" descent="-64" />
<missing-glyph horiz-adv-x="1024" />
<glyph unicode="&#x20;" horiz-adv-x="512" d="" />
<glyph unicode="&#xe000;" glyph-name="save" d="M896 960h-896v-1024h1024v896l-128 128zM512 832h128v-256h-128v256zM896 64h-768v768h64v-320h576v320h74.978l53.022-53.018v-714.982z" />
<glyph unicode="&#xe001;" glyph-name="newdocument" d="M903.432 760.57l-142.864 142.862c-31.112 31.112-92.568 56.568-136.568 56.568h-480c-44 0-80-36-80-80v-864c0-44 36-80 80-80h736c44 0 80 36 80 80v608c0 44-25.456 105.458-56.568 136.57zM858.178 715.314c3.13-3.13 6.25-6.974 9.28-11.314h-163.458v163.456c4.34-3.030 8.184-6.15 11.314-9.28l142.864-142.862zM896 16c0-8.672-7.328-16-16-16h-736c-8.672 0-16 7.328-16 16v864c0 8.672 7.328 16 16 16h480c4.832 0 10.254-0.61 16-1.704v-254.296h254.296c1.094-5.746 1.704-11.166 1.704-16v-608z" />
<glyph unicode="&#xe002;" glyph-name="fullpage" d="M1024 367.542v160.916l-159.144 15.914c-8.186 30.042-20.088 58.548-35.21 84.98l104.596 127.838-113.052 113.050-127.836-104.596c-26.434 15.124-54.942 27.026-84.982 35.208l-15.914 159.148h-160.916l-15.914-159.146c-30.042-8.186-58.548-20.086-84.98-35.208l-127.838 104.594-113.050-113.050 104.596-127.836c-15.124-26.432-27.026-54.94-35.21-84.98l-159.146-15.916v-160.916l159.146-15.914c8.186-30.042 20.086-58.548 35.21-84.982l-104.596-127.836 113.048-113.048 127.838 104.596c26.432-15.124 54.94-27.028 84.98-35.21l15.916-159.148h160.916l15.914 159.144c30.042 8.186 58.548 20.088 84.982 35.21l127.836-104.596 113.048 113.048-104.596 127.836c15.124 26.434 27.028 54.942 35.21 84.98l159.148 15.92zM704 384l-128-128h-128l-128 128v128l128 128h128l128-128v-128z" />
<glyph unicode="&#xe003;" glyph-name="alignleft" d="M0 896h1024v-128h-1024zM0 704h640v-128h-640zM0 320h640v-128h-640zM0 512h1024v-128h-1024zM0 128h1024v-128h-1024z" />
<glyph unicode="&#xe004;" glyph-name="aligncenter" d="M0 896h1024v-128h-1024zM192 704h640v-128h-640zM192 320h640v-128h-640zM0 512h1024v-128h-1024zM0 128h1024v-128h-1024z" />
<glyph unicode="&#xe005;" glyph-name="alignright" d="M0 896h1024v-128h-1024zM384 704h640v-128h-640zM384 320h640v-128h-640zM0 512h1024v-128h-1024zM0 128h1024v-128h-1024z" />
<glyph unicode="&#xe006;" glyph-name="alignjustify" d="M0 896h1024v-128h-1024zM0 704h1024v-128h-1024zM0 512h1024v-128h-1024zM0 320h1024v-128h-1024zM0 128h1024v-128h-1024z" />
<glyph unicode="&#xe007;" glyph-name="cut" d="M890.774 250.846c-45.654 45.556-103.728 69.072-157.946 69.072h-29.112l-63.904 64.008 255.62 256.038c63.904 64.010 63.904 192.028 0 256.038l-383.43-384.056-383.432 384.054c-63.904-64.008-63.904-192.028 0-256.038l255.622-256.034-63.906-64.008h-29.114c-54.22 0-112.292-23.518-157.948-69.076-81.622-81.442-92.65-202.484-24.63-270.35 29.97-29.902 70.288-44.494 112.996-44.494 54.216 0 112.29 23.514 157.946 69.072 53.584 53.464 76.742 124 67.084 185.348l65.384 65.488 65.376-65.488c-9.656-61.348 13.506-131.882 67.084-185.348 45.662-45.558 103.732-69.072 157.948-69.072 42.708 0 83.024 14.592 112.994 44.496 68.020 67.866 56.988 188.908-24.632 270.35zM353.024 114.462c-7.698-17.882-19.010-34.346-33.626-48.926-14.636-14.604-31.172-25.918-49.148-33.624-16.132-6.916-32.96-10.568-48.662-10.568-15.146 0-36.612 3.402-52.862 19.612-16.136 16.104-19.52 37.318-19.52 52.288 0 15.542 3.642 32.21 10.526 48.212 7.7 17.884 19.014 34.346 33.626 48.926 14.634 14.606 31.172 25.914 49.15 33.624 16.134 6.914 32.96 10.568 48.664 10.568 15.146 0 36.612-3.4 52.858-19.614 16.134-16.098 19.522-37.316 19.522-52.284 0.002-15.542-3.638-32.216-10.528-48.214zM512.004 293.404c-49.914 0-90.376 40.532-90.376 90.526 0 49.992 40.462 90.52 90.376 90.52s90.372-40.528 90.372-90.52c0-49.998-40.46-90.526-90.372-90.526zM855.272 40.958c-16.248-16.208-37.712-19.612-52.86-19.612-15.704 0-32.53 3.652-48.666 10.568-17.972 7.706-34.508 19.020-49.142 33.624-14.614 14.58-25.926 31.042-33.626 48.926-6.886 15.998-10.526 32.672-10.526 48.212 0 14.966 3.384 36.188 19.52 52.286 16.246 16.208 37.712 19.614 52.86 19.614 15.7 0 32.53-3.654 48.66-10.568 17.978-7.708 34.516-19.018 49.15-33.624 14.61-14.58 25.924-31.042 33.626-48.926 6.884-15.998 10.526-32.67 10.526-48.212-0.002-14.97-3.39-36.186-19.522-52.288z" />
<glyph unicode="&#xe008;" glyph-name="paste" d="M832 640v160c0 17.6-14.4 32-32 32h-224v64c0 35.2-28.8 64-64 64h-128c-35.204 0-64-28.8-64-64v-64h-224c-17.602 0-32-14.4-32-32v-640c0-17.6 14.398-32 32-32h288v-192h448l192 192v512h-192zM384 895.886c0.034 0.038 0.072 0.078 0.114 0.114h127.768c0.042-0.036 0.082-0.076 0.118-0.114v-63.886h-128v63.886zM192 704v64h512v-64h-512zM832 26.51v101.49h101.49l-101.49-101.49zM960 192h-192v-192h-320v576h512v-384z" />
<glyph unicode="&#xe009;" glyph-name="searchreplace" d="M64 960h384v-64h-384zM576 960h384v-64h-384zM952 640h-56v256h-256v-256h-256v256h-256v-256h-56c-39.6 0-72-32.4-72-72v-560c0-39.6 32.4-72 72-72h304c39.6 0 72 32.4 72 72v376h128v-376c0-39.6 32.4-72 72-72h304c39.6 0 72 32.4 72 72v560c0 39.6-32.4 72-72 72zM348 0h-248c-19.8 0-36 14.4-36 32s16.2 32 36 32h248c19.8 0 36-14.4 36-32s-16.2-32-36-32zM544 448h-64c-17.6 0-32 14.4-32 32s14.4 32 32 32h64c17.6 0 32-14.4 32-32s-14.4-32-32-32zM924 0h-248c-19.8 0-36 14.4-36 32s16.2 32 36 32h248c19.8 0 36-14.4 36-32s-16.2-32-36-32z" />
<glyph unicode="&#xe00a;" glyph-name="bullist" d="M384 896h640v-128h-640v128zM384 512h640v-128h-640v128zM384 128h640v-128h-640v128zM0 832c0 70.692 57.308 128 128 128s128-57.308 128-128c0-70.692-57.308-128-128-128s-128 57.308-128 128zM0 448c0 70.692 57.308 128 128 128s128-57.308 128-128c0-70.692-57.308-128-128-128s-128 57.308-128 128zM0 64c0 70.692 57.308 128 128 128s128-57.308 128-128c0-70.692-57.308-128-128-128s-128 57.308-128 128z" />
<glyph unicode="&#xe00b;" glyph-name="numlist" d="M384 128h640v-128h-640zM384 512h640v-128h-640zM384 896h640v-128h-640zM192 960v-256h-64v192h-64v64zM128 434v-50h128v-64h-192v146l128 60v50h-128v64h192v-146zM256 256v-320h-192v64h128v64h-128v64h128v64h-128v64z" />
<glyph unicode="&#xe00c;" glyph-name="indent" d="M0 896h1024v-128h-1024zM384 704h640v-128h-640zM384 512h640v-128h-640zM384 320h640v-128h-640zM0 128h1024v-128h-1024zM0 256v384l256-192z" />
<glyph unicode="&#xe00d;" glyph-name="outdent" d="M0 896h1024v-128h-1024zM384 704h640v-128h-640zM384 512h640v-128h-640zM384 320h640v-128h-640zM0 128h1024v-128h-1024zM256 640v-384l-256 192z" />
<glyph unicode="&#xe00e;" glyph-name="blockquote" d="M225 512c123.712 0 224-100.29 224-224 0-123.712-100.288-224-224-224s-224 100.288-224 224l-1 32c0 247.424 200.576 448 448 448v-128c-85.474 0-165.834-33.286-226.274-93.726-11.634-11.636-22.252-24.016-31.83-37.020 11.438 1.8 23.16 2.746 35.104 2.746zM801 512c123.71 0 224-100.29 224-224 0-123.712-100.29-224-224-224s-224 100.288-224 224l-1 32c0 247.424 200.576 448 448 448v-128c-85.474 0-165.834-33.286-226.274-93.726-11.636-11.636-22.254-24.016-31.832-37.020 11.44 1.8 23.16 2.746 35.106 2.746z" />
<glyph unicode="&#xe00f;" glyph-name="undo" d="M761.862-64c113.726 206.032 132.888 520.306-313.862 509.824v-253.824l-384 384 384 384v-248.372c534.962 13.942 594.57-472.214 313.862-775.628z" />
<glyph unicode="&#xe010;" glyph-name="redo" d="M576 711.628v248.372l384-384-384-384v253.824c-446.75 10.482-427.588-303.792-313.86-509.824-280.712 303.414-221.1 789.57 313.86 775.628z" />
<glyph unicode="&#xe011;" glyph-name="link" d="M320 256c17.6-17.6 47.274-16.726 65.942 1.942l316.118 316.116c18.668 18.668 19.54 48.342 1.94 65.942s-47.274 16.726-65.942-1.942l-316.116-316.116c-18.668-18.668-19.542-48.342-1.942-65.942zM476.888 284.888c4.56-9.050 6.99-19.16 6.99-29.696 0-17.616-6.744-34.060-18.992-46.308l-163.382-163.382c-12.248-12.248-28.694-18.992-46.308-18.992s-34.060 6.744-46.308 18.992l-99.382 99.382c-12.248 12.248-18.992 28.694-18.992 46.308s6.744 34.060 18.992 46.308l163.382 163.382c12.248 12.248 28.694 18.994 46.308 18.994 10.536 0 20.644-2.43 29.696-6.99l65.338 65.338c-27.87 21.41-61.44 32.16-95.034 32.16-39.986 0-79.972-15.166-110.308-45.502l-163.382-163.382c-60.67-60.67-60.67-159.948 0-220.618l99.382-99.382c30.334-30.332 70.32-45.5 110.306-45.5 39.988 0 79.974 15.168 110.308 45.502l163.382 163.382c55.82 55.82 60.238 144.298 13.344 205.344l-65.34-65.34zM978.498 815.116l-99.382 99.382c-30.334 30.336-70.32 45.502-110.308 45.502-39.986 0-79.972-15.166-110.308-45.502l-163.382-163.382c-55.82-55.82-60.238-144.298-13.342-205.342l65.338 65.34c-4.558 9.050-6.988 19.16-6.988 29.694 0 17.616 6.744 34.060 18.992 46.308l163.382 163.382c12.248 12.248 28.694 18.994 46.308 18.994s34.060-6.746 46.308-18.994l99.382-99.382c12.248-12.248 18.992-28.694 18.992-46.308s-6.744-34.060-18.992-46.308l-163.382-163.382c-12.248-12.248-28.694-18.992-46.308-18.992-10.536 0-20.644 2.43-29.696 6.99l-65.338-65.338c27.872-21.41 61.44-32.16 95.034-32.16 39.988 0 79.974 15.168 110.308 45.502l163.382 163.382c60.67 60.666 60.67 159.944 0 220.614z" />
<glyph unicode="&#xe012;" glyph-name="unlink" d="M476.888 284.886c4.56-9.048 6.99-19.158 6.99-29.696 0-17.616-6.744-34.058-18.992-46.308l-163.38-163.38c-12.248-12.248-28.696-18.992-46.308-18.992s-34.060 6.744-46.308 18.992l-99.38 99.38c-12.248 12.25-18.992 28.696-18.992 46.308s6.744 34.060 18.992 46.308l163.38 163.382c12.248 12.246 28.696 18.992 46.308 18.992 10.538 0 20.644-2.43 29.696-6.988l65.338 65.336c-27.87 21.41-61.44 32.16-95.034 32.16-39.986 0-79.972-15.166-110.308-45.502l-163.38-163.382c-60.67-60.67-60.67-159.95 0-220.618l99.38-99.382c30.334-30.332 70.32-45.5 110.306-45.5 39.988 0 79.974 15.168 110.308 45.502l163.38 163.38c55.82 55.82 60.238 144.298 13.344 205.346l-65.34-65.338zM978.496 815.116l-99.38 99.382c-30.334 30.336-70.32 45.502-110.308 45.502-39.986 0-79.97-15.166-110.306-45.502l-163.382-163.382c-55.82-55.82-60.238-144.298-13.342-205.342l65.338 65.34c-4.558 9.050-6.988 19.16-6.988 29.694 0 17.616 6.744 34.060 18.992 46.308l163.382 163.382c12.246 12.248 28.694 18.994 46.306 18.994 17.616 0 34.060-6.746 46.308-18.994l99.38-99.382c12.248-12.248 18.992-28.694 18.992-46.308s-6.744-34.060-18.992-46.308l-163.38-163.382c-12.248-12.248-28.694-18.992-46.308-18.992-10.536 0-20.644 2.43-29.696 6.99l-65.338-65.338c27.872-21.41 61.44-32.16 95.034-32.16 39.988 0 79.974 15.168 110.308 45.504l163.38 163.38c60.672 60.666 60.672 159.944 0 220.614zM233.368 681.376l-191.994 191.994 45.256 45.256 191.994-191.994zM384 960h64v-192h-64zM0 576h192v-64h-192zM790.632 214.624l191.996-191.996-45.256-45.256-191.996 191.996zM576 128h64v-192h-64zM832 384h192v-64h-192z" />
<glyph unicode="&#xe013;" glyph-name="anchor" d="M192 960v-1024l320 320 320-320v1024h-640zM768 90.51l-256 256-256-256v805.49h512v-805.49z" />
<glyph unicode="&#xe014;" glyph-name="image" d="M0 832v-832h1024v832h-1024zM960 64h-896v704h896v-704zM704 608c0 53.019 42.981 96 96 96s96-42.981 96-96c0-53.019-42.981-96-96-96s-96 42.981-96 96zM896 128h-768l192 512 256-320 128 96z" />
<glyph unicode="&#xe015;" glyph-name="media" d="M0 832v-768h1024v768h-1024zM192 128h-128v128h128v-128zM192 384h-128v128h128v-128zM192 640h-128v128h128v-128zM768 128h-512v640h512v-640zM960 128h-128v128h128v-128zM960 384h-128v128h128v-128zM960 640h-128v128h128v-128zM384 640v-384l256 192z" />
<glyph unicode="&#xe016;" glyph-name="help" d="M448 256h128v-128h-128zM704 704c35.346 0 64-28.654 64-64v-192l-192-128h-128v64l192 128v64h-320v128h384zM512 864c-111.118 0-215.584-43.272-294.156-121.844s-121.844-183.038-121.844-294.156c0-111.118 43.272-215.584 121.844-294.156s183.038-121.844 294.156-121.844c111.118 0 215.584 43.272 294.156 121.844s121.844 183.038 121.844 294.156c0 111.118-43.272 215.584-121.844 294.156s-183.038 121.844-294.156 121.844zM512 960v0c282.77 0 512-229.23 512-512s-229.23-512-512-512c-282.77 0-512 229.23-512 512s229.23 512 512 512z" />
<glyph unicode="&#xe017;" glyph-name="code" d="M320 704l-256-256 256-256h128l-256 256 256 256zM704 704h-128l256-256-256-256h128l256 256z" />
<glyph unicode="&#xe018;" glyph-name="inserttime" d="M512 768c-212.076 0-384-171.922-384-384s171.922-384 384-384c212.074 0 384 171.922 384 384s-171.926 384-384 384zM715.644 180.354c-54.392-54.396-126.716-84.354-203.644-84.354s-149.25 29.958-203.646 84.354c-54.396 54.394-84.354 126.718-84.354 203.646s29.958 149.25 84.354 203.646c54.396 54.396 126.718 84.354 203.646 84.354s149.252-29.958 203.642-84.354c54.402-54.396 84.358-126.718 84.358-203.646s-29.958-149.252-84.356-203.646zM325.93 756.138l-42.94 85.878c-98.874-49.536-179.47-130.132-229.006-229.008l85.876-42.94c40.248 80.336 105.732 145.822 186.070 186.070zM884.134 570.070l85.878 42.938c-49.532 98.876-130.126 179.472-229.004 229.008l-42.944-85.878c80.338-40.248 145.824-105.732 186.070-186.068zM512 576h-64v-192c0-10.11 4.7-19.11 12.022-24.972l-0.012-0.016 160-128 39.976 49.976-147.986 118.39v176.622z" />
<glyph unicode="&#xe019;" glyph-name="preview" d="M512 640c-209.368 0-395.244-100.556-512-256 116.756-155.446 302.632-256 512-256s395.244 100.554 512 256c-116.756 155.444-302.632 256-512 256zM448 512c35.346 0 64-28.654 64-64s-28.654-64-64-64-64 28.654-64 64 28.654 64 64 64zM773.616 254.704c-39.648-20.258-81.652-35.862-124.846-46.376-44.488-10.836-90.502-16.328-136.77-16.328-46.266 0-92.282 5.492-136.768 16.324-43.194 10.518-85.198 26.122-124.846 46.376-63.020 32.202-120.222 76.41-167.64 129.298 47.418 52.888 104.62 97.1 167.64 129.298 32.336 16.522 66.242 29.946 101.082 40.040-19.888-30.242-31.468-66.434-31.468-105.336 0-106.040 85.962-192 192-192s192 85.96 192 192c0 38.902-11.582 75.094-31.466 105.34 34.838-10.096 68.744-23.52 101.082-40.042 63.022-32.198 120.218-76.408 167.638-129.298-47.42-52.886-104.618-97.1-167.638-129.296zM860.918 716.278c-108.72 55.554-226.112 83.722-348.918 83.722s-240.198-28.168-348.918-83.722c-58.772-30.032-113.732-67.904-163.082-112.076v-109.206c55.338 58.566 120.694 107.754 192.194 144.29 99.62 50.904 207.218 76.714 319.806 76.714s220.186-25.81 319.804-76.716c71.502-36.536 136.858-85.724 192.196-144.29v109.206c-49.35 44.174-104.308 82.046-163.082 112.078z" />
<glyph unicode="&#xe01a;" glyph-name="forecolor" d="M322.018 128l57.6 192h264.764l57.6-192h113.632l-191.996 640h-223.236l-192-640h113.636zM475.618 640h72.764l57.6-192h-187.964l57.6 192z" />
<glyph unicode="&#xe01b;" glyph-name="table" d="M0 896v-896h1024v896h-1024zM384 320v192h256v-192h-256zM640 256v-192h-256v192h256zM640 768v-192h-256v192h256zM320 768v-192h-256v192h256zM64 512h256v-192h-256v192zM704 512h256v-192h-256v192zM704 576v192h256v-192h-256zM64 256h256v-192h-256v192zM704 64v192h256v-192h-256z" />
<glyph unicode="&#xe01c;" glyph-name="hr" d="M0 512h1024v-128h-1024z" />
<glyph unicode="&#xe01d;" glyph-name="removeformat" d="M0 64h576v-128h-576zM192 960h704v-128h-704zM277.388 128l204.688 784.164 123.85-32.328-196.25-751.836zM929.774-64l-129.774 129.774-129.774-129.774-62.226 62.226 129.774 129.774-129.774 129.774 62.226 62.226 129.774-129.774 129.774 129.774 62.226-62.226-129.774-129.774 129.774-129.774z" />
<glyph unicode="&#xe01e;" glyph-name="sub" d="M768 50v-50h128v-64h-192v146l128 60v50h-128v64h192v-146zM676 704h-136l-188-188-188 188h-136l256-256-256-256h136l188 188 188-188h136l-256 256z" />
<glyph unicode="&#xe01f;" glyph-name="sup" d="M768 754v-50h128v-64h-192v146l128 60v50h-128v64h192v-146zM676 704h-136l-188-188-188 188h-136l256-256-256-256h136l188 188 188-188h136l-256 256z" />
<glyph unicode="&#xe020;" glyph-name="charmap" d="M704 64h256l64 128v-256h-384v214.214c131.112 56.484 224 197.162 224 361.786 0 214.432-157.598 382.266-352 382.266-194.406 0-352-167.832-352-382.266 0-164.624 92.886-305.302 224-361.786v-214.214h-384v256l64-128h256v32.59c-187.63 66.46-320 227.402-320 415.41 0 247.424 229.23 448 512 448s512-200.576 512-448c0-188.008-132.37-348.95-320-415.41v-32.59z" />
<glyph unicode="&#xe021;" glyph-name="emoticons" d="M512 960c-282.77 0-512-229.228-512-512 0-282.77 229.228-512 512-512 282.77 0 512 229.23 512 512 0 282.772-229.23 512-512 512zM512 16c-238.586 0-432 193.412-432 432 0 238.586 193.414 432 432 432 238.59 0 432-193.414 432-432 0-238.588-193.41-432-432-432zM384 640c0-35.346-28.654-64-64-64s-64 28.654-64 64 28.654 64 64 64 64-28.654 64-64zM768 640c0-35.346-28.652-64-64-64s-64 28.654-64 64 28.652 64 64 64 64-28.654 64-64zM512 308c141.074 0 262.688 57.532 318.462 123.192-20.872-171.22-156.288-303.192-318.462-303.192-162.118 0-297.498 132.026-318.444 303.168 55.786-65.646 177.386-123.168 318.444-123.168z" />
<glyph unicode="&#xe022;" glyph-name="print" d="M256 896h512v-128h-512zM960 704h-896c-35.2 0-64-28.8-64-64v-320c0-35.2 28.796-64 64-64h192v-256h512v256h192c35.2 0 64 28.8 64 64v320c0 35.2-28.8 64-64 64zM704 64h-384v320h384v-320zM974.4 608c0-25.626-20.774-46.4-46.398-46.4-25.626 0-46.402 20.774-46.402 46.4s20.776 46.4 46.402 46.4c25.626 0 46.398-20.774 46.398-46.4z" />
<glyph unicode="&#xe023;" glyph-name="fullscreen" d="M1024 960v-384l-138.26 138.26-212-212-107.48 107.48 212 212-138.26 138.26zM245.74 821.74l212-212-107.48-107.48-212 212-138.26-138.26v384h384zM885.74 181.74l138.26 138.26v-384h-384l138.26 138.26-212 212 107.48 107.48zM457.74 286.26l-212-212 138.26-138.26h-384v384l138.26-138.26 212 212z" />
<glyph unicode="&#xe024;" glyph-name="spellchecker" d="M128 704h128v-192h64v384c0 35.2-28.8 64-64 64h-128c-35.2 0-64-28.8-64-64v-384h64v192zM128 896h128v-128h-128v128zM960 896v64h-192c-35.202 0-64-28.8-64-64v-320c0-35.2 28.798-64 64-64h192v64h-192v320h192zM640 800v96c0 35.2-28.8 64-64 64h-192v-448h192c35.2 0 64 28.8 64 64v96c0 35.2-8.8 64-44 64 35.2 0 44 28.8 44 64zM576 576h-128v128h128v-128zM576 768h-128v128h128v-128zM832 384l-416-448-224 288 82 70 142-148 352 302z" />
<glyph unicode="&#xe025;" glyph-name="nonbreaking" d="M448 384h-192v128h192v192h128v-192h192v-128h-192v-192h-128zM1024 320v-384h-1024v384h128v-256h768v256z" />
<glyph unicode="&#xe026;" glyph-name="template" d="M384 768h128v-64h-128zM576 768h128v-64h-128zM896 768v-256h-192v64h128v128h-64v64zM320 576h128v-64h-128zM512 576h128v-64h-128zM192 704v-128h64v-64h-128v256h192v-64zM384 384h128v-64h-128zM576 384h128v-64h-128zM896 384v-256h-192v64h128v128h-64v64zM320 192h128v-64h-128zM512 192h128v-64h-128zM192 320v-128h64v-64h-128v256h192v-64zM960 896h-896v-896h896v896zM1024 960v0-1024h-1024v1024h1024z" />
<glyph unicode="&#xe027;" glyph-name="pagebreak" d="M0 448h128v-64h-128zM192 448h192v-64h-192zM448 448h128v-64h-128zM640 448h192v-64h-192zM896 448h128v-64h-128zM880 960l16-448h-768l16 448h32l16-384h640l16 384zM144-64l-16 384h768l-16-384h-32l-16 320h-640l-16-320z" />
<glyph unicode="&#xe028;" glyph-name="restoredraft" d="M576 896c247.424 0 448-200.576 448-448s-200.576-448-448-448v96c94.024 0 182.418 36.614 248.902 103.098s103.098 154.878 103.098 248.902c0 94.022-36.614 182.418-103.098 248.902s-154.878 103.098-248.902 103.098c-94.022 0-182.418-36.614-248.902-103.098-51.14-51.138-84.582-115.246-97.306-184.902h186.208l-224-256-224 256h164.57c31.060 217.102 217.738 384 443.43 384zM768 512v-128h-256v320h128v-192z" />
<glyph unicode="&#xe02a;" glyph-name="bold" d="M707.88 475.348c37.498 44.542 60.12 102.008 60.12 164.652 0 141.16-114.842 256-256 256h-320v-896h384c141.158 0 256 114.842 256 256 0 92.956-49.798 174.496-124.12 219.348zM384 768h101.5c55.968 0 101.5-57.42 101.5-128s-45.532-128-101.5-128h-101.5v256zM543 128h-159v256h159c58.45 0 106-57.42 106-128s-47.55-128-106-128z" />
<glyph unicode="&#xe02b;" glyph-name="italic" d="M896 896v-64h-128l-320-768h128v-64h-448v64h128l320 768h-128v64z" />
<glyph unicode="&#xe02c;" glyph-name="underline" d="M704 896h128v-416c0-159.058-143.268-288-320-288-176.73 0-320 128.942-320 288v416h128v-416c0-40.166 18.238-78.704 51.354-108.506 36.896-33.204 86.846-51.494 140.646-51.494s103.75 18.29 140.646 51.494c33.116 29.802 51.354 68.34 51.354 108.506v416zM192 128h640v-128h-640z" />
<glyph unicode="&#xe02d;" glyph-name="strikethrough" d="M731.42 442.964c63.92-47.938 100.58-116.086 100.58-186.964s-36.66-139.026-100.58-186.964c-59.358-44.518-137.284-69.036-219.42-69.036-82.138 0-160.062 24.518-219.42 69.036-63.92 47.938-100.58 116.086-100.58 186.964h128c0-69.382 87.926-128 192-128s192 58.618 192 128c0 69.382-87.926 128-192 128-82.138 0-160.062 24.518-219.42 69.036-63.92 47.94-100.58 116.086-100.58 186.964s36.66 139.024 100.58 186.964c59.358 44.518 137.282 69.036 219.42 69.036 82.136 0 160.062-24.518 219.42-69.036 63.92-47.94 100.58-116.086 100.58-186.964h-128c0 69.382-87.926 128-192 128s-192-58.618-192-128c0-69.382 87.926-128 192-128 82.136 0 160.062-24.518 219.42-69.036zM0 448h1024v-64h-1024z" />
<glyph unicode="&#xe02e;" glyph-name="visualchars" d="M384 896h512v-128h-128v-768h-128v768h-128v-768h-128v448c-123.712 0-224 100.288-224 224s100.288 224 224 224z" />
<glyph unicode="&#xe02f;" glyph-name="ltr" d="M448 896h512v-128h-128v-768h-128v768h-128v-768h-128v448c-123.712 0-224 100.288-224 224s100.288 224 224 224zM64 512l256-224-256-224z" />
<glyph unicode="&#xe030;" glyph-name="rtl" d="M256 896h512v-128h-128v-768h-128v768h-128v-768h-128v448c-123.712 0-224 100.288-224 224s100.288 224 224 224zM960 64l-256 224 256 224z" />
<glyph unicode="&#xe031;" glyph-name="copy" d="M832 704h-192v64l-192 192h-448v-768h384v-256h640v576l-192 192zM832 613.49l101.49-101.49h-101.49v101.49zM448 869.49l101.49-101.49h-101.49v101.49zM64 896h320v-192h192v-448h-512v640zM960 0h-512v192h192v448h128v-192h192v-448z" />
<glyph unicode="&#xe032;" glyph-name="resize" d="M768 704h64v-64h-64zM640 576h64v-64h-64zM640 448h64v-64h-64zM640 320h64v-64h-64zM512 448h64v-64h-64zM512 320h64v-64h-64zM384 320h64v-64h-64zM768 576h64v-64h-64zM768 448h64v-64h-64zM768 320h64v-64h-64zM768 192h64v-64h-64zM640 192h64v-64h-64zM512 192h64v-64h-64zM384 192h64v-64h-64zM256 192h64v-64h-64z" />
<glyph unicode="&#xe033;" glyph-name="checkbox" d="M128 416l288-288 480 480-128 128-352-352-160 160z" />
<glyph unicode="&#xe034;" glyph-name="browse" d="M928 832h-416l-32 64h-352l-64-128h896zM904.34 256h74.86l44.8 448h-1024l64-640h484.080c-104.882 37.776-180.080 138.266-180.080 256 0 149.982 122.018 272 272 272 149.98 0 272-122.018 272-272 0-21.678-2.622-43.15-7.66-64zM1002.996 46.25l-198.496 174.692c17.454 28.92 27.5 62.814 27.5 99.058 0 106.040-85.96 192-192 192s-192-85.96-192-192 85.96-192 192-192c36.244 0 70.138 10.046 99.058 27.5l174.692-198.496c22.962-26.678 62.118-28.14 87.006-3.252l5.492 5.492c24.888 24.888 23.426 64.044-3.252 87.006zM640 196c-68.484 0-124 55.516-124 124s55.516 124 124 124 124-55.516 124-124-55.516-124-124-124z" />
<glyph unicode="&#xe035;" glyph-name="pastetext" d="M512 448v-128h32l32 64h64v-256h-48v-64h224v64h-48v256h64l32-64h32v128zM832 640v160c0 17.6-14.4 32-32 32h-224v64c0 35.2-28.8 64-64 64h-128c-35.204 0-64-28.8-64-64v-64h-224c-17.602 0-32-14.4-32-32v-640c0-17.6 14.398-32 32-32h288v-192h640v704h-192zM384 895.886c0.034 0.038 0.072 0.078 0.114 0.114h127.768c0.042-0.036 0.082-0.076 0.118-0.114v-63.886h-128v63.886zM192 704v64h512v-64h-512zM960 0h-512v576h512v-576z" />
<glyph unicode="&#xe600;" glyph-name="gamma" d="M483.2 320l-147.2 336c-9.6 25.6-19.2 44.8-25.6 54.4s-16 12.8-25.6 12.8c-16 0-25.6-3.2-28.8-3.2v70.4c9.6 6.4 25.6 6.4 38.4 9.6 32 0 57.6-6.4 73.6-22.4 6.4-6.4 12.8-16 19.2-25.6 6.4-12.8 12.8-25.6 16-41.6l121.6-291.2 150.4 371.2h92.8l-198.4-470.4v-224h-86.4v224zM0 960v-1024h1024v1024h-1024zM960 0h-896v896h896v-896z" />
<glyph unicode="&#xe601;" glyph-name="orientation" d="M627.2 80h-579.2v396.8h579.2v-396.8zM553.6 406.4h-435.2v-256h435.2v256zM259.2 732.8c176 176 457.6 176 633.6 0s176-457.6 0-633.6c-121.6-121.6-297.6-160-454.4-108.8 121.6-28.8 262.4 9.6 361.6 108.8 150.4 150.4 160 384 22.4 521.6-121.6 121.6-320 128-470.4 19.2l86.4-86.4-294.4-22.4 22.4 294.4 92.8-92.8z" />
<glyph unicode="&#xe602;" glyph-name="invert" d="M892.8-22.4l-89.6 89.6c-70.4-80-172.8-131.2-288-131.2-208 0-380.8 166.4-384 377.6 0 0 0 0 0 0 0 3.2 0 3.2 0 6.4s0 3.2 0 6.4v0c0 0 0 0 0 3.2 0 0 0 3.2 0 3.2 3.2 105.6 48 211.2 105.6 304l-192 192 44.8 44.8 182.4-182.4c0 0 0 0 0 0l569.6-569.6c0 0 0 0 0 0l99.2-99.2-48-44.8zM896 326.4c0 0 0 0 0 0 0 3.2 0 6.4 0 6.4-9.6 316.8-384 627.2-384 627.2s-108.8-89.6-208-220.8l70.4-70.4c6.4 9.6 16 22.4 22.4 32 41.6 51.2 83.2 96 115.2 128v0c32-32 73.6-76.8 115.2-128 108.8-137.6 169.6-265.6 172.8-371.2 0 0 0-3.2 0-3.2v0 0c0-3.2 0-3.2 0-6.4s0-3.2 0-3.2v0 0c0-22.4-3.2-41.6-9.6-64l76.8-76.8c16 41.6 28.8 89.6 28.8 137.6 0 0 0 0 0 0 0 3.2 0 3.2 0 6.4s0 3.2 0 6.4z" />
<glyph unicode="&#xe603;" glyph-name="codesample" d="M199.995 578.002v104.002c0 43.078 34.923 78.001 78.001 78.001h26v104.002h-26c-100.518 0-182.003-81.485-182.003-182.003v-104.002c0-43.078-34.923-78.001-78.001-78.001h-26v-104.002h26c43.078 0 78.001-34.923 78.001-78.001v-104.002c0-100.515 81.485-182.003 182.003-182.003h26v104.002h-26c-43.078 0-78.001 34.923-78.001 78.001v104.002c0 50.931-20.928 96.966-54.646 130.002 33.716 33.036 54.646 79.072 54.646 130.002zM824.005 578.002v104.002c0 43.078-34.923 78.001-78.001 78.001h-26v104.002h26c100.515 0 182.003-81.485 182.003-182.003v-104.002c0-43.078 34.923-78.001 78.001-78.001h26v-104.002h-26c-43.078 0-78.001-34.923-78.001-78.001v-104.002c0-100.515-81.488-182.003-182.003-182.003h-26v104.002h26c43.078 0 78.001 34.923 78.001 78.001v104.002c0 50.931 20.928 96.966 54.646 130.002-33.716 33.036-54.646 79.072-54.646 130.002zM616.002 603.285c0-57.439-46.562-104.002-104.002-104.002s-104.002 46.562-104.002 104.002c0 57.439 46.562 104.002 104.002 104.002s104.002-46.562 104.002-104.002zM512 448.717c-57.439 0-104.002-46.562-104.002-104.002 0-55.845 26-100.115 105.752-103.88-23.719-33.417-59.441-46.612-105.752-50.944v-61.751c0 0 208.003-18.144 208.003 216.577-0.202 57.441-46.56 104.004-104.002 104.004z" />
<glyph unicode="&#xe604;" glyph-name="tablerowprops" d="M0 896v-896h1024v896h-1024zM640 256v-192h-256v192h256zM640 768v-192h-256v192h256zM320 768v-192h-256v192h256zM704 576v192h256v-192h-256zM64 256h256v-192h-256v192zM704 64v192h256v-192h-256z" />
<glyph unicode="&#xe605;" glyph-name="tablecellprops" d="M0 896v-896h1024v896h-1024zM640 256v-192h-256v192h256zM640 768v-192h-256v192h256zM320 768v-192h-256v192h256zM64 512h256v-192h-256v192zM704 512h256v-192h-256v192zM704 576v192h256v-192h-256zM64 256h256v-192h-256v192zM704 64v192h256v-192h-256z" />
<glyph unicode="&#xe606;" glyph-name="table2" d="M0 896v-832h1024v832h-1024zM320 128h-256v192h256v-192zM320 384h-256v192h256v-192zM640 128h-256v192h256v-192zM640 384h-256v192h256v-192zM960 128h-256v192h256v-192zM960 384h-256v192h256v-192zM960 640h-896v192h896v-192z" />
<glyph unicode="&#xe607;" glyph-name="tablemergecells" d="M0 896v-896h1024v896h-1024zM384 64v448h576v-448h-576zM640 768v-192h-256v192h256zM320 768v-192h-256v192h256zM64 512h256v-192h-256v192zM704 576v192h256v-192h-256zM64 256h256v-192h-256v192z" />
<glyph unicode="&#xe608;" glyph-name="tableinsertcolbefore" d="M320 188.8v182.4h-182.4v89.6h182.4v182.4h86.4v-182.4h185.6v-89.6h-185.6v-182.4zM0 896v-896h1024v896h-1024zM640 64h-576v704h576v-704zM960 64h-256v192h256v-192zM960 320h-256v192h256v-192zM960 576h-256v192h256v-192z" />
<glyph unicode="&#xe609;" glyph-name="tableinsertcolafter" d="M704 643.2v-182.4h182.4v-89.6h-182.4v-182.4h-86.4v182.4h-185.6v89.6h185.6v182.4zM0 896v-896h1024v896h-1024zM320 64h-256v192h256v-192zM320 320h-256v192h256v-192zM320 576h-256v192h256v-192zM960 64h-576v704h576v-704z" />
<glyph unicode="&#xe60a;" glyph-name="tableinsertrowbefore" d="M691.2 508.8h-144v-144h-70.4v144h-144v67.2h144v144h70.4v-144h144zM0 896v-896h1024v896h-1024zM320 64h-256v192h256v-192zM640 64h-256v192h256v-192zM960 64h-256v192h256v-192zM960 316.8h-896v451.2h896v-451.2z" />
<glyph unicode="&#xe60b;" glyph-name="tableinsertrowafter" d="M332.8 323.2h144v144h70.4v-144h144v-67.2h-144v-144h-70.4v144h-144zM0 896v-896h1024v896h-1024zM384 768h256v-192h-256v192zM64 768h256v-192h-256v192zM960 64h-896v451.2h896v-451.2zM960 576h-256v192h256v-192z" />
<glyph unicode="&#xe60d;" glyph-name="tablesplitcells" d="M0 896v-896h1024v896h-1024zM384 768h256v-192h-256v192zM320 64h-256v192h256v-192zM320 320h-256v192h256v-192zM320 576h-256v192h256v-192zM960 64h-576v448h576v-448zM960 576h-256v192h256v-192zM864 156.8l-60.8-60.8-131.2 131.2-131.2-131.2-60.8 60.8 131.2 131.2-131.2 131.2 60.8 60.8 131.2-131.2 131.2 131.2 60.8-60.8-131.2-131.2z" />
<glyph unicode="&#xe60e;" glyph-name="tabledelete" d="M0 896h1024v-896h-1024v896zM60.8 768v-704h899.2v704h-899.2zM809.6 211.2l-96-96-204.8 204.8-204.8-204.8-96 96 204.8 204.8-204.8 204.8 96 96 204.8-204.8 204.8 204.8 96-96-204.8-204.8z" />
<glyph unicode="&#xe62a;" glyph-name="tableleftheader" d="M0 896v-832h1024v832h-1024zM640 128h-256v192h256v-192zM640 384h-256v192h256v-192zM640 640h-256v192h256v-192zM960 128h-256v192h256v-192zM960 384h-256v192h256v-192zM960 640h-256v192h256v-192z" />
<glyph unicode="&#xe62b;" glyph-name="tabletopheader" d="M0 896v-832h1024v832h-1024zM320 128h-256v192h256v-192zM320 384h-256v192h256v-192zM640 128h-256v192h256v-192zM640 384h-256v192h256v-192zM960 128h-256v192h256v-192zM960 384h-256v192h256v-192z" />
<glyph unicode="&#xe800;" glyph-name="tabledeleterow" d="M886.4 572.8l-156.8-156.8 160-160-76.8-76.8-160 160-156.8-156.8-76.8 73.6 160 160-163.2 163.2 76.8 76.8 163.2-163.2 156.8 156.8 73.6-76.8zM0 896v-896h1024v896h-1024zM960 576h-22.4l-64-64h86.4v-192h-89.6l64-64h25.6v-192h-896v192h310.4l64 64h-374.4v192h371.2l-64 64h-307.2v192h896v-192z" />
<glyph unicode="&#xe801;" glyph-name="tabledeletecol" d="M320 499.2l64-64v-12.8l-64-64v140.8zM640 422.4l64-64v137.6l-64-64v-9.6zM1024 896v-896h-1024v896h1024zM960 768h-256v-51.2l-12.8 12.8-51.2-51.2v89.6h-256v-89.6l-51.2 51.2-12.8-12.8v51.2h-256v-704h256v118.4l35.2-35.2 28.8 28.8v-115.2h256v115.2l48-48 16 16v-83.2h256v707.2zM672 662.4l-156.8-156.8-163.2 163.2-76.8-76.8 163.2-163.2-156.8-156.8 76.8-76.8 156.8 156.8 160-160 76.8 76.8-160 160 156.8 156.8-76.8 76.8z" />
<glyph unicode="&#xe900;" glyph-name="a11y" d="M960 704v64l-448-128-448 128v-64l320-128v-256l-128-448h64l192 448 192-448h64l-128 448v256zM416 800q0 40 28 68t68 28 68-28 28-68-28-68-68-28-68 28-28 68z" />
<glyph unicode="&#xe901;" glyph-name="toc" d="M0 896h128v-128h-128v128zM192 896h832v-128h-832v128zM0 512h128v-128h-128v128zM192 512h832v-128h-832v128zM0 128h128v-128h-128v128zM192 128h832v-128h-832v128zM192 704h128v-128h-128v128zM384 704h640v-128h-640v128zM192 320h128v-128h-128v128zM384 320h640v-128h-640v128z" />
<glyph unicode="&#xe902;" glyph-name="fill" d="M521.6 915.2l-67.2-67.2-86.4 86.4-86.4-86.4 86.4-86.4-368-368 432-432 518.4 518.4-428.8 435.2zM435.2 134.4l-262.4 262.4 35.2 35.2 576 51.2-348.8-348.8zM953.6 409.6c-6.4-6.4-16-16-28.8-32-28.8-32-41.6-64-41.6-89.6v0 0 0 0 0 0 0c0-16 6.4-35.2 22.4-48 12.8-12.8 32-22.4 48-22.4s35.2 6.4 48 22.4 22.4 32 22.4 48v0 0 0 0 0 0 0c0 25.6-12.8 54.4-41.6 89.6-9.6 16-22.4 25.6-28.8 32v0z" />
<glyph unicode="&#xe903;" glyph-name="borderwidth" d="M0 265.6h1024v-128h-1024v128zM0 32h1024v-64h-1024v64zM0 566.4h1024v-192h-1024v192zM0 928h1024v-256h-1024v256z" />
<glyph unicode="&#xe904;" glyph-name="line" d="M739.2 627.2l-502.4-502.4h-185.6v185.6l502.4 502.4 185.6-185.6zM803.2 688l-185.6 185.6 67.2 67.2c22.4 22.4 54.4 22.4 76.8 0l108.8-108.8c22.4-22.4 22.4-54.4 0-76.8l-67.2-67.2zM41.6 48h940.8v-112h-940.8v112z" />
<glyph unicode="&#xe905;" glyph-name="count" d="M0 480h1024v-64h-1024v64zM304 912v-339.2h-67.2v272h-67.2v67.2zM444.8 694.4v-54.4h134.4v-67.2h-201.6v153.6l134.4 64v54.4h-134.4v67.2h201.6v-153.6zM854.4 912v-339.2h-204.8v67.2h137.6v67.2h-137.6v70.4h137.6v67.2h-137.6v67.2zM115.2 166.4c3.2 57.6 38.4 83.2 108.8 83.2 38.4 0 67.2-9.6 86.4-25.6s25.6-35.2 25.6-70.4v-112c0-25.6 0-28.8 9.6-41.6h-73.6c-3.2 9.6-3.2 9.6-6.4 19.2-22.4-19.2-41.6-25.6-70.4-25.6-54.4 0-89.6 32-89.6 76.8s28.8 70.4 99.2 80l38.4 6.4c16 3.2 22.4 6.4 22.4 16 0 12.8-12.8 22.4-38.4 22.4s-41.6-9.6-44.8-28.8h-67.2zM262.4 115.2c-6.4-3.2-12.8-6.4-25.6-6.4l-25.6-6.4c-25.6-6.4-38.4-16-38.4-28.8 0-16 12.8-25.6 35.2-25.6s41.6 9.6 54.4 32v35.2zM390.4 336h73.6v-112c22.4 16 41.6 22.4 67.2 22.4 64 0 105.6-51.2 105.6-124.8 0-76.8-44.8-134.4-108.8-134.4-32 0-48 9.6-67.2 35.2v-28.8h-70.4v342.4zM460.8 121.6c0-41.6 22.4-70.4 51.2-70.4s51.2 28.8 51.2 70.4c0 44.8-19.2 70.4-51.2 70.4-28.8 0-51.2-28.8-51.2-70.4zM851.2 153.6c-3.2 22.4-19.2 35.2-44.8 35.2-32 0-51.2-25.6-51.2-70.4 0-48 19.2-73.6 51.2-73.6 25.6 0 41.6 12.8 44.8 41.6l70.4-3.2c-9.6-60.8-54.4-96-118.4-96-73.6 0-121.6 51.2-121.6 128 0 80 48 131.2 124.8 131.2 64 0 108.8-35.2 112-96h-67.2z" />
<glyph unicode="&#xe906;" glyph-name="reload" d="M889.68 793.68c-93.608 102.216-228.154 166.32-377.68 166.32-282.77 0-512-229.23-512-512h96c0 229.75 186.25 416 416 416 123.020 0 233.542-53.418 309.696-138.306l-149.696-149.694h352v352l-134.32-134.32zM928 448c0-229.75-186.25-416-416-416-123.020 0-233.542 53.418-309.694 138.306l149.694 149.694h-352v-352l134.32 134.32c93.608-102.216 228.154-166.32 377.68-166.32 282.77 0 512 229.23 512 512h-96z" />
<glyph unicode="&#xe907;" glyph-name="translate" d="M553.6 304l-118.4 118.4c80 89.6 137.6 195.2 172.8 304h137.6v92.8h-326.4v92.8h-92.8v-92.8h-326.4v-92.8h518.4c-32-89.6-80-176-147.2-249.6-44.8 48-80 99.2-108.8 156.8h-92.8c35.2-76.8 80-147.2 137.6-211.2l-236.8-233.6 67.2-67.2 233.6 233.6 144-144c3.2 0 38.4 92.8 38.4 92.8zM816 540.8h-92.8l-208-560h92.8l51.2 140.8h220.8l51.2-140.8h92.8l-208 560zM691.2 214.4l76.8 201.6 76.8-201.6h-153.6z" />
<glyph unicode="&#xe908;" glyph-name="drag" d="M576 896h128v-128h-128v128zM576 640h128v-128h-128v128zM320 640h128v-128h-128v128zM576 384h128v-128h-128v128zM320 384h128v-128h-128v128zM320 128h128v-128h-128v128zM576 128h128v-128h-128v128zM320 896h128v-128h-128v128z" />
<glyph unicode="&#xe90b;" glyph-name="home" d="M1024 369.556l-512 397.426-512-397.428v162.038l512 397.426 512-397.428zM896 384v-384h-256v256h-256v-256h-256v384l384 288z" />
<glyph unicode="&#xe911;" glyph-name="books" d="M576.234 670.73l242.712 81.432 203.584-606.784-242.712-81.432zM0 64h256v704h-256v-704zM64 640h128v-64h-128v64zM320 64h256v704h-256v-704zM384 640h128v-64h-128v64z" />
<glyph unicode="&#xe914;" glyph-name="upload" d="M839.432 760.57c27.492-27.492 50.554-78.672 55.552-120.57h-318.984v318.984c41.898-4.998 93.076-28.060 120.568-55.552l142.864-142.862zM512 576v384h-368c-44 0-80-36-80-80v-864c0-44 36-80 80-80h672c44 0 80 36 80 80v560h-384zM576 192v-192h-192v192h-160l256 256 256-256h-160z" />
<glyph unicode="&#xe915;" glyph-name="editimage" d="M768 416v-352h-640v640h352l128 128h-512c-52.8 0-96-43.2-96-96v-704c0-52.8 43.2-96 96-96h704c52.798 0 96 43.2 96 96v512l-128-128zM864 960l-608-608v-160h160l608 608c0 96-64 160-160 160zM416 320l-48 48 480 480 48-48-480-480z" />
<glyph unicode="&#xe91c;" glyph-name="bubble" d="M928 896h-832c-52.8 0-96-43.2-96-96v-512c0-52.8 43.2-96 96-96h160v-256l307.2 256h364.8c52.8 0 96 43.2 96 96v512c0 52.8-43.2 96-96 96zM896 320h-379.142l-196.858-174.714v174.714h-192v448h768v-448z" />
<glyph unicode="&#xe91d;" glyph-name="user" d="M622.826 257.264c-22.11 3.518-22.614 64.314-22.614 64.314s64.968 64.316 79.128 150.802c38.090 0 61.618 91.946 23.522 124.296 1.59 34.054 48.96 267.324-190.862 267.324s-192.45-233.27-190.864-267.324c-38.094-32.35-14.57-124.296 23.522-124.296 14.158-86.486 79.128-150.802 79.128-150.802s-0.504-60.796-22.614-64.314c-71.22-11.332-337.172-128.634-337.172-257.264h896c0 128.63-265.952 245.932-337.174 257.264z" />
<glyph unicode="&#xe926;" glyph-name="lock" d="M592 512h-16v192c0 105.87-86.13 192-192 192h-128c-105.87 0-192-86.13-192-192v-192h-16c-26.4 0-48-21.6-48-48v-480c0-26.4 21.6-48 48-48h544c26.4 0 48 21.6 48 48v480c0 26.4-21.6 48-48 48zM192 704c0 35.29 28.71 64 64 64h128c35.29 0 64-28.71 64-64v-192h-256v192z" />
<glyph unicode="&#xe927;" glyph-name="unlock" d="M768 896c105.87 0 192-86.13 192-192v-192h-128v192c0 35.29-28.71 64-64 64h-128c-35.29 0-64-28.71-64-64v-192h16c26.4 0 48-21.6 48-48v-480c0-26.4-21.6-48-48-48h-544c-26.4 0-48 21.6-48 48v480c0 26.4 21.6 48 48 48h400v192c0 105.87 86.13 192 192 192h128z" />
<glyph unicode="&#xe928;" glyph-name="settings" d="M448 832v16c0 26.4-21.6 48-48 48h-160c-26.4 0-48-21.6-48-48v-16h-192v-128h192v-16c0-26.4 21.6-48 48-48h160c26.4 0 48 21.6 48 48v16h576v128h-576zM256 704v128h128v-128h-128zM832 528c0 26.4-21.6 48-48 48h-160c-26.4 0-48-21.6-48-48v-16h-576v-128h576v-16c0-26.4 21.6-48 48-48h160c26.4 0 48 21.6 48 48v16h192v128h-192v16zM640 384v128h128v-128h-128zM448 208c0 26.4-21.6 48-48 48h-160c-26.4 0-48-21.6-48-48v-16h-192v-128h192v-16c0-26.4 21.6-48 48-48h160c26.4 0 48 21.6 48 48v16h576v128h-576v16zM256 64v128h128v-128h-128z" />
<glyph unicode="&#xe92a;" glyph-name="remove2" d="M192-64h640l64 704h-768zM640 832v128h-256v-128h-320v-192l64 64h768l64-64v192h-320zM576 832h-128v64h128v-64z" />
<glyph unicode="&#xe92d;" glyph-name="menu" d="M384 896h256v-256h-256zM384 576h256v-256h-256zM384 256h256v-256h-256z" />
<glyph unicode="&#xe930;" glyph-name="warning" d="M1009.956 44.24l-437.074 871.112c-16.742 29.766-38.812 44.648-60.882 44.648s-44.14-14.882-60.884-44.648l-437.074-871.112c-33.486-59.532-5-108.24 63.304-108.24h869.308c68.302 0 96.792 48.708 63.302 108.24zM512 64c-35.346 0-64 28.654-64 64 0 35.348 28.654 64 64 64 35.348 0 64-28.652 64-64 0-35.346-28.652-64-64-64zM556 256h-88l-20 256c0 35.346 28.654 64 64 64s64-28.654 64-64l-20-256z" />
<glyph unicode="&#xe931;" glyph-name="question" d="M448 256h128v-128h-128zM704 704c35.346 0 64-28.654 64-64v-192l-192-128h-128v64l192 128v64h-320v128h384zM512 864c-111.118 0-215.584-43.272-294.156-121.844s-121.844-183.038-121.844-294.156c0-111.118 43.272-215.584 121.844-294.156s183.038-121.844 294.156-121.844c111.118 0 215.584 43.272 294.156 121.844s121.844 183.038 121.844 294.156c0 111.118-43.272 215.584-121.844 294.156s-183.038 121.844-294.156 121.844zM512 960v0c282.77 0 512-229.23 512-512s-229.23-512-512-512c-282.77 0-512 229.23-512 512s229.23 512 512 512z" />
<glyph unicode="&#xe932;" glyph-name="pluscircle" d="M512 960c-282.77 0-512-229.23-512-512s229.23-512 512-512 512 229.23 512 512-229.23 512-512 512zM512 64c-212.078 0-384 171.922-384 384s171.922 384 384 384c212.078 0 384-171.922 384-384s-171.922-384-384-384zM768 384h-192v-192h-128v192h-192v128h192v192h128v-192h192z" />
<glyph unicode="&#xe933;" glyph-name="info" d="M512 960c-282.77 0-512-229.23-512-512s229.23-512 512-512 512 229.23 512 512-229.23 512-512 512zM448 768h128v-128h-128v128zM640 128h-256v64h64v256h-64v64h192v-320h64v-64z" />
<glyph unicode="&#xe934;" glyph-name="notice" d="M1024 224l-288 736h-448l-288-288v-448l288-288h448l288 288v448l-288 288zM576 128h-128v128h128v-128zM576 384h-128v384h128v-384z" />
<glyph unicode="&#xe935;" glyph-name="drop" d="M864.626 486.838c-65.754 183.44-205.11 348.15-352.626 473.162-147.516-125.012-286.87-289.722-352.626-473.162-40.664-113.436-44.682-236.562 12.584-345.4 65.846-125.14 198.632-205.438 340.042-205.438s274.196 80.298 340.040 205.44c57.27 108.838 53.25 231.962 12.586 345.398zM738.764 201.044c-43.802-83.252-132.812-137.044-226.764-137.044-55.12 0-108.524 18.536-152.112 50.652 13.242-1.724 26.632-2.652 40.112-2.652 117.426 0 228.668 67.214 283.402 171.242 44.878 85.292 40.978 173.848 23.882 244.338 14.558-28.15 26.906-56.198 36.848-83.932 22.606-63.062 40.024-156.34-5.368-242.604z" />
<glyph unicode="&#xe939;" glyph-name="minus" d="M0 544v-192c0-17.672 14.328-32 32-32h960c17.672 0 32 14.328 32 32v192c0 17.672-14.328 32-32 32h-960c-17.672 0-32-14.328-32-32z" />
<glyph unicode="&#xe93a;" glyph-name="plus" d="M992 576h-352v352c0 17.672-14.328 32-32 32h-192c-17.672 0-32-14.328-32-32v-352h-352c-17.672 0-32-14.328-32-32v-192c0-17.672 14.328-32 32-32h352v-352c0-17.672 14.328-32 32-32h192c17.672 0 32 14.328 32 32v352h352c17.672 0 32 14.328 32 32v192c0 17.672-14.328 32-32 32z" />
<glyph unicode="&#xe93b;" glyph-name="arrowup" d="M0 320l192-192 320 320 320-320 192 192-511.998 512z" />
<glyph unicode="&#xe93c;" glyph-name="arrowright" d="M384 960l-192-192 320-320-320-320 192-192 512 512z" />
<glyph unicode="&#xe93d;" glyph-name="arrowdown" d="M1024 576l-192 192-320-320-320 320-192-192 512-511.998z" />
<glyph unicode="&#xe93f;" glyph-name="arrowup2" d="M768 320l-256 256-256-256z" />
<glyph unicode="&#xe940;" glyph-name="arrowdown2" d="M256 576l256-256 256 256z" />
<glyph unicode="&#xe941;" glyph-name="menu2" d="M256 704l256-256 256 256zM255.996 384.004l256-256 256 256z" />
<glyph unicode="&#xe961;" glyph-name="newtab" d="M704 384l128 128v-512h-768v768h512l-128-128h-256v-512h512zM960 896v-352l-130.744 130.744-354.746-354.744h-90.51v90.512l354.744 354.744-130.744 130.744z" />
<glyph unicode="&#xeaa8;" glyph-name="rotateleft" d="M607.998 831.986c-212.070 0-383.986-171.916-383.986-383.986h-191.994l246.848-246.848 246.848 246.848h-191.994c0 151.478 122.798 274.276 274.276 274.276 151.48 0 274.276-122.798 274.276-274.276 0-151.48-122.796-274.276-274.276-274.276v-109.71c212.070 0 383.986 171.916 383.986 383.986s-171.916 383.986-383.986 383.986z" />
<glyph unicode="&#xeaa9;" glyph-name="rotateright" d="M416.002 831.986c212.070 0 383.986-171.916 383.986-383.986h191.994l-246.848-246.848-246.848 246.848h191.994c0 151.478-122.798 274.276-274.276 274.276-151.48 0-274.276-122.798-274.276-274.276 0-151.48 122.796-274.276 274.276-274.276v-109.71c-212.070 0-383.986 171.916-383.986 383.986s171.916 383.986 383.986 383.986z" />
<glyph unicode="&#xeaaa;" glyph-name="flipv" d="M0 576h1024v384zM1024 0v384h-1024z" />
<glyph unicode="&#xeaac;" glyph-name="fliph" d="M576 960v-1024h384zM0-64h384v1024z" />
<glyph unicode="&#xeb35;" glyph-name="zoomin" d="M992.262 88.604l-242.552 206.294c-25.074 22.566-51.89 32.926-73.552 31.926 57.256 67.068 91.842 154.078 91.842 249.176 0 212.078-171.922 384-384 384-212.076 0-384-171.922-384-384s171.922-384 384-384c95.098 0 182.108 34.586 249.176 91.844-1-21.662 9.36-48.478 31.926-73.552l206.294-242.552c35.322-39.246 93.022-42.554 128.22-7.356s31.892 92.898-7.354 128.22zM384 320c-141.384 0-256 114.616-256 256s114.616 256 256 256 256-114.616 256-256-114.614-256-256-256zM448 768h-128v-128h-128v-128h128v-128h128v128h128v128h-128z" />
<glyph unicode="&#xeb36;" glyph-name="zoomout" d="M992.262 88.604l-242.552 206.294c-25.074 22.566-51.89 32.926-73.552 31.926 57.256 67.068 91.842 154.078 91.842 249.176 0 212.078-171.922 384-384 384-212.076 0-384-171.922-384-384s171.922-384 384-384c95.098 0 182.108 34.586 249.176 91.844-1-21.662 9.36-48.478 31.926-73.552l206.294-242.552c35.322-39.246 93.022-42.554 128.22-7.356s31.892 92.898-7.354 128.22zM384 320c-141.384 0-256 114.616-256 256s114.616 256 256 256 256-114.616 256-256-114.614-256-256-256zM192 640h384v-128h-384z" />
<glyph unicode="&#xeba7;" glyph-name="sharpen" d="M768 832h-512l-256-256 512-576 512 576-256 256zM512 181.334v2.666h-2.37l-14.222 16h16.592v16h-30.814l-14.222 16h45.036v16h-59.258l-14.222 16h73.48v16h-87.704l-14.222 16h101.926v16h-116.148l-14.222 16h130.37v16h-144.592l-14.222 16h158.814v16h-173.038l-14.222 16h187.26v16h-201.482l-14.222 16h215.704v16h-229.926l-14.222 16h244.148v16h-258.372l-14.222 16h272.594v16h-286.816l-14.222 16h301.038v16h-315.26l-14.222 16h329.482v16h-343.706l-7.344 8.262 139.072 139.072h211.978v-3.334h215.314l16-16h-231.314v-16h247.314l16-16h-263.314v-16h279.314l16-16h-295.314v-16h311.314l16-16h-327.314v-16h343.312l7.738-7.738-351.050-394.928z" />
<glyph unicode="&#xec6a;" glyph-name="options" d="M64 768h896v-192h-896zM64 512h896v-192h-896zM64 256h896v-192h-896z" />
<glyph unicode="&#xeccc;" glyph-name="sun" d="M512 128c35.346 0 64-28.654 64-64v-64c0-35.346-28.654-64-64-64s-64 28.654-64 64v64c0 35.346 28.654 64 64 64zM512 768c-35.346 0-64 28.654-64 64v64c0 35.346 28.654 64 64 64s64-28.654 64-64v-64c0-35.346-28.654-64-64-64zM960 512c35.346 0 64-28.654 64-64s-28.654-64-64-64h-64c-35.348 0-64 28.654-64 64s28.652 64 64 64h64zM192 448c0-35.346-28.654-64-64-64h-64c-35.346 0-64 28.654-64 64s28.654 64 64 64h64c35.346 0 64-28.654 64-64zM828.784 221.726l45.256-45.258c24.992-24.99 24.992-65.516 0-90.508-24.994-24.992-65.518-24.992-90.51 0l-45.256 45.256c-24.992 24.99-24.992 65.516 0 90.51 24.994 24.992 65.518 24.992 90.51 0zM195.216 674.274l-45.256 45.256c-24.994 24.994-24.994 65.516 0 90.51s65.516 24.994 90.51 0l45.256-45.256c24.994-24.994 24.994-65.516 0-90.51s-65.516-24.994-90.51 0zM828.784 674.274c-24.992-24.992-65.516-24.992-90.51 0-24.992 24.994-24.992 65.516 0 90.51l45.256 45.254c24.992 24.994 65.516 24.994 90.51 0 24.992-24.994 24.992-65.516 0-90.51l-45.256-45.254zM195.216 221.726c24.992 24.992 65.518 24.992 90.508 0 24.994-24.994 24.994-65.52 0-90.51l-45.254-45.256c-24.994-24.992-65.516-24.992-90.51 0s-24.994 65.518 0 90.508l45.256 45.258zM512 704c-141.384 0-256-114.616-256-256 0-141.382 114.616-256 256-256 141.382 0 256 114.618 256 256 0 141.384-114.616 256-256 256zM512 288c-88.366 0-160 71.634-160 160s71.634 160 160 160 160-71.634 160-160-71.634-160-160-160z" />
<glyph unicode="&#xeccd;" glyph-name="moon" d="M715.812 895.52c-60.25 34.784-124.618 55.904-189.572 64.48 122.936-160.082 144.768-384.762 37.574-570.42-107.2-185.67-312.688-279.112-512.788-252.68 39.898-51.958 90.376-97.146 150.628-131.934 245.908-141.974 560.37-57.72 702.344 188.198 141.988 245.924 57.732 560.372-188.186 702.356z" />
<glyph unicode="&#xecd4;" glyph-name="contrast" d="M512 960c-282.77 0-512-229.23-512-512s229.23-512 512-512 512 229.23 512 512-229.23 512-512 512zM128 448c0 212.078 171.922 384 384 384v-768c-212.078 0-384 171.922-384 384z" />
<glyph unicode="&#xed6a;" glyph-name="remove22" d="M893.254 738.746l-90.508 90.508-290.746-290.744-290.746 290.744-90.508-90.506 290.746-290.748-290.746-290.746 90.508-90.508 290.746 290.746 290.746-290.746 90.508 90.51-290.744 290.744z" />
<glyph unicode="&#xedc0;" glyph-name="arrowleft" d="M672-64l192 192-320 320 320 320-192 192-512-512z" />
<glyph unicode="&#xedf9;" glyph-name="resize2" d="M0 896v-384c0-35.346 28.654-64 64-64s64 28.654 64 64v229.488l677.488-677.488h-229.488c-35.346 0-64-28.652-64-64 0-35.346 28.654-64 64-64h384c35.346 0 64 28.654 64 64v384c0 35.348-28.654 64-64 64s-64-28.652-64-64v-229.488l-677.488 677.488h229.488c35.346 0 64 28.654 64 64s-28.652 64-64 64h-384c-35.346 0-64-28.654-64-64z" />
<glyph unicode="&#xee78;" glyph-name="crop" d="M832 704l192 192-64 64-192-192h-448v192h-128v-192h-192v-128h192v-512h512v-192h128v192h192v128h-192v448zM320 640h320l-320-320v320zM384 256l320 320v-320h-320z" />
</font></defs></svg>
\ No newline at end of file
.mce-container,
.mce-container *,
.mce-widget,
.mce-widget *,
.mce-reset {
margin: 0;
padding: 0;
border: 0;
outline: 0;
vertical-align: top;
background: transparent;
text-decoration: none;
color: #595959;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 14px;
text-shadow: none;
float: none;
position: static;
width: auto;
height: auto;
white-space: nowrap;
cursor: inherit;
-webkit-tap-highlight-color: transparent;
line-height: normal;
font-weight: normal;
text-align: left;
border-radius: 2px;
-moz-box-sizing: content-box;
-webkit-box-sizing: content-box;
box-sizing: content-box;
direction: ltr;
max-width: none
}
.mce-widget button {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box
}
.mce-container *[unselectable] {
-moz-user-select: none;
-webkit-user-select: none;
-o-user-select: none;
user-select: none
}
.word-wrap {
word-wrap: break-word;
-ms-word-break: break-all;
word-break: break-all;
word-break: break-word;
-ms-hyphens: auto;
-moz-hyphens: auto;
-webkit-hyphens: auto;
hyphens: auto
}
.mce-fade {
opacity: 0;
-webkit-transition: opacity .15s linear;
transition: opacity .15s linear
}
.mce-fade.mce-in {
opacity: 1
}
.mce-tinymce {
visibility: inherit !important;
position: relative
}
.mce-fullscreen {
border: 0;
padding: 0;
margin: 0;
overflow: hidden;
height: 100%;
z-index: 100
}
div.mce-fullscreen {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: auto
}
.mce-tinymce {
display: block;
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2)
}
.mce-statusbar>.mce-container-body {
display: flex;
padding-right: 16px
}
.mce-statusbar>.mce-container-body .mce-path {
flex: 1
}
.mce-wordcount {
font-size: inherit;
text-transform: uppercase;
padding: 8px 0
}
div.mce-edit-area {
background: #FFF;
filter: none
}
.mce-statusbar {
position: relative
}
.mce-statusbar .mce-container-body {
position: relative;
font-size: 11px
}
.mce-fullscreen .mce-resizehandle {
display: none
}
.mce-statusbar .mce-flow-layout-item {
margin: 0
}
.mce-charmap {
border-collapse: collapse
}
.mce-charmap td {
cursor: default;
border: 1px solid #dcdfe6;
width: 20px;
height: 20px;
line-height: 20px;
text-align: center;
vertical-align: middle;
padding: 2px
}
.mce-charmap td div {
text-align: center
}
.mce-charmap td:hover {
background: white
}
.mce-grid td.mce-grid-cell div {
border: 1px solid #dcdfe6;
width: 15px;
height: 15px;
margin: 0;
cursor: pointer
}
.mce-grid td.mce-grid-cell div:focus {
border-color: #91bbe9
}
.mce-grid td.mce-grid-cell div[disabled] {
cursor: not-allowed
}
.mce-grid {
border-spacing: 2px;
border-collapse: separate
}
.mce-grid a {
display: block;
border: 1px solid transparent
}
.mce-grid a:hover,
.mce-grid a:focus {
border-color: #91bbe9
}
.mce-grid-border {
margin: 0 4px 0 4px
}
.mce-grid-border a {
border-color: #dcdfe6;
width: 13px;
height: 13px
}
.mce-grid-border a:hover,
.mce-grid-border a.mce-active {
border-color: #91bbe9;
background: #bdd6f2
}
.mce-text-center {
text-align: center
}
div.mce-tinymce-inline {
width: 100%
}
.mce-colorbtn-trans div {
text-align: center;
vertical-align: middle;
font-weight: bold;
font-size: 20px;
line-height: 16px;
color: #8b8b8b
}
.mce-monospace {
font-family: "Courier New", Courier, monospace
}
.mce-toolbar-grp .mce-flow-layout-item {
margin-bottom: 0
}
.mce-container b {
font-weight: bold
}
.mce-container p {
margin-bottom: 5px
}
.mce-container a {
cursor: pointer;
color: #2276d2
}
.mce-container a:hover {
text-decoration: underline
}
.mce-container ul {
margin-left: 15px
}
.mce-container .mce-table-striped {
border-collapse: collapse;
margin: 10px
}
.mce-container .mce-table-striped thead>tr {
background-color: #fafafa
}
.mce-container .mce-table-striped thead>tr th {
font-weight: bold
}
.mce-container .mce-table-striped td,
.mce-container .mce-table-striped th {
padding: 5px
}
.mce-container .mce-table-striped tr:nth-child(even) {
background-color: #fafafa
}
.mce-container .mce-table-striped tbody>tr:hover {
background-color: #e1e1e1
}
.mce-branding {
font-size: inherit;
text-transform: uppercase;
white-space: pre;
padding: 8px 0
}
.mce-branding a {
font-size: inherit;
color: inherit
}
.mce-top-part {
position: relative
}
.mce-top-part::before {
content: '';
position: absolute;
/* -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);*/
top: 0;
right: 0;
bottom: 0;
left: 0;
pointer-events: none
}
.mce-rtl .mce-wordcount {
left: 0;
right: auto
}
.mce-rtl .mce-statusbar>.mce-container-body>*:last-child {
padding-right: 0;
padding-left: 10px
}
.mce-rtl .mce-path {
text-align: right;
padding-right: 16px
}
.mce-croprect-container {
position: absolute;
top: 0;
left: 0
}
.mce-croprect-handle {
position: absolute;
top: 0;
left: 0;
width: 20px;
height: 20px;
border: 2px solid white
}
.mce-croprect-handle-nw {
border-width: 2px 0 0 2px;
margin: -2px 0 0 -2px;
cursor: nw-resize;
top: 100px;
left: 100px
}
.mce-croprect-handle-ne {
border-width: 2px 2px 0 0;
margin: -2px 0 0 -20px;
cursor: ne-resize;
top: 100px;
left: 200px
}
.mce-croprect-handle-sw {
border-width: 0 0 2px 2px;
margin: -20px 2px 0 -2px;
cursor: sw-resize;
top: 200px;
left: 100px
}
.mce-croprect-handle-se {
border-width: 0 2px 2px 0;
margin: -20px 0 0 -20px;
cursor: se-resize;
top: 200px;
left: 200px
}
.mce-croprect-handle-move {
position: absolute;
cursor: move;
border: 0
}
.mce-croprect-block {
opacity: .5;
filter: alpha(opacity=50);
zoom: 1;
position: absolute;
background: black
}
.mce-croprect-handle:focus {
border-color: #2276d2
}
.mce-croprect-handle-move:focus {
outline: 1px solid #2276d2
}
.mce-imagepanel {
overflow: auto;
background: black
}
.mce-imagepanel-bg {
position: absolute;
background: url('data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==')
}
.mce-imagepanel img {
position: absolute
}
.mce-imagetool.mce-btn .mce-ico {
display: block;
width: 20px;
height: 20px;
text-align: center;
line-height: 20px;
font-size: 20px;
padding: 5px
}
.mce-arrow-up {
margin-top: 12px
}
.mce-arrow-down {
margin-top: -12px
}
.mce-arrow:before,
.mce-arrow:after {
position: absolute;
left: 50%;
display: block;
width: 0;
height: 0;
border-style: solid;
border-color: transparent;
content: ""
}
.mce-arrow.mce-arrow-up:before {
top: -9px;
border-bottom-color: #dcdfe6;
border-width: 0 9px 9px;
margin-left: -9px
}
.mce-arrow.mce-arrow-down:before {
bottom: -9px;
border-top-color: #dcdfe6;
border-width: 9px 9px 0;
margin-left: -9px
}
.mce-arrow.mce-arrow-up:after {
top: -8px;
border-bottom-color: #fff;
border-width: 0 8px 8px;
margin-left: -8px
}
.mce-arrow.mce-arrow-down:after {
bottom: -8px;
border-top-color: #fff;
border-width: 8px 8px 0;
margin-left: -8px
}
.mce-arrow.mce-arrow-left:before,
.mce-arrow.mce-arrow-left:after {
margin: 0
}
.mce-arrow.mce-arrow-left:before {
left: 8px
}
.mce-arrow.mce-arrow-left:after {
left: 9px
}
.mce-arrow.mce-arrow-right:before,
.mce-arrow.mce-arrow-right:after {
left: auto;
margin: 0
}
.mce-arrow.mce-arrow-right:before {
right: 8px
}
.mce-arrow.mce-arrow-right:after {
right: 9px
}
.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-left:before {
left: -9px;
top: 50%;
border-right-color: #dcdfe6;
border-width: 9px 9px 9px 0;
margin-top: -9px
}
.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-left:after {
left: -8px;
top: 50%;
border-right-color: #fff;
border-width: 8px 8px 8px 0;
margin-top: -8px
}
.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-left {
margin-left: 12px
}
.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-right:before {
right: -9px;
top: 50%;
border-left-color: #dcdfe6;
border-width: 9px 0 9px 9px;
margin-top: -9px
}
.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-right:after {
right: -8px;
top: 50%;
border-left-color: #fff;
border-width: 8px 0 8px 8px;
margin-top: -8px
}
.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-right {
margin-left: -14px
}
.mce-edit-aria-container>.mce-container-body {
display: flex
}
.mce-edit-aria-container>.mce-container-body .mce-edit-area {
flex: 1
}
.mce-edit-aria-container>.mce-container-body .mce-sidebar>.mce-container-body {
display: flex;
align-items: stretch;
height: 100%
}
.mce-edit-aria-container>.mce-container-body .mce-sidebar-panel {
min-width: 250px;
max-width: 250px;
position: relative
}
.mce-edit-aria-container>.mce-container-body .mce-sidebar-panel>.mce-container-body {
position: absolute;
width: 100%;
height: 100%;
overflow: auto;
top: 0;
left: 0
}
.mce-sidebar-toolbar {
border: 0 solid #dcdfe6;
border-left-width: 1px
}
.mce-sidebar-toolbar .mce-btn {
border-left: 0;
border-right: 0
}
.mce-sidebar-toolbar .mce-btn.mce-active,
.mce-sidebar-toolbar .mce-btn.mce-active:hover {
background-color: #555c66
}
.mce-sidebar-toolbar .mce-btn.mce-active button,
.mce-sidebar-toolbar .mce-btn.mce-active:hover button,
.mce-sidebar-toolbar .mce-btn.mce-active button i,
.mce-sidebar-toolbar .mce-btn.mce-active:hover button i {
color: white;
text-shadow: 1px 1px none
}
.mce-sidebar-panel {
border: 0 solid #dcdfe6;
border-left-width: 1px
}
.mce-container,
.mce-container-body {
display: block
}
.mce-autoscroll {
overflow: hidden
}
.mce-scrollbar {
position: absolute;
width: 7px;
height: 100%;
top: 2px;
right: 2px;
opacity: .4;
filter: alpha(opacity=40);
zoom: 1
}
.mce-scrollbar-h {
top: auto;
right: auto;
left: 2px;
bottom: 2px;
width: 100%;
height: 7px
}
.mce-scrollbar-thumb {
position: absolute;
background-color: #000;
border: 1px solid #888;
border-color: rgba(85, 85, 85, 0.6);
width: 5px;
height: 100%
}
.mce-scrollbar-h .mce-scrollbar-thumb {
width: 100%;
height: 5px
}
.mce-scrollbar:hover,
.mce-scrollbar.mce-active {
background-color: #AAA;
opacity: .6;
filter: alpha(opacity=60);
zoom: 1
}
.mce-scroll {
position: relative
}
.mce-panel {
border: 0 solid #f3f3f3;
border: 0 solid #dcdfe6;
background-color: #fff
}
.mce-floatpanel {
position: absolute;
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2)
}
.mce-floatpanel.mce-fixed {
position: fixed
}
.mce-floatpanel .mce-arrow,
.mce-floatpanel .mce-arrow:after {
position: absolute;
display: block;
width: 0;
height: 0;
border-color: transparent;
border-style: solid
}
.mce-floatpanel .mce-arrow {
border-width: 11px
}
.mce-floatpanel .mce-arrow:after {
border-width: 10px;
content: ""
}
.mce-floatpanel.mce-popover {
filter: progid: DXImageTransform.Microsoft.gradient(enabled=false);
background: transparent;
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
top: 0;
left: 0;
background: #FFF;
border: 1px solid #dcdfe6;
border: 1px solid rgba(0, 0, 0, 0.25)
}
.mce-floatpanel.mce-popover.mce-bottom {
margin-top: 10px;
*margin-top: 0
}
.mce-floatpanel.mce-popover.mce-bottom>.mce-arrow {
left: 50%;
margin-left: -11px;
border-top-width: 0;
border-bottom-color: #dcdfe6;
border-bottom-color: rgba(0, 0, 0, 0.25);
top: -11px
}
.mce-floatpanel.mce-popover.mce-bottom>.mce-arrow:after {
top: 1px;
margin-left: -10px;
border-top-width: 0;
border-bottom-color: #FFF
}
.mce-floatpanel.mce-popover.mce-top {
margin-top: -10px;
*margin-top: 0
}
.mce-floatpanel.mce-popover.mce-top>.mce-arrow {
left: 50%;
margin-left: -11px;
border-bottom-width: 0;
border-top-color: #dcdfe6;
top: auto;
bottom: -11px
}
.mce-floatpanel.mce-popover.mce-top>.mce-arrow:after {
bottom: 1px;
margin-left: -10px;
border-bottom-width: 0;
border-top-color: #FFF
}
.mce-floatpanel.mce-popover.mce-bottom.mce-start,
.mce-floatpanel.mce-popover.mce-top.mce-start {
margin-left: -22px
}
.mce-floatpanel.mce-popover.mce-bottom.mce-start>.mce-arrow,
.mce-floatpanel.mce-popover.mce-top.mce-start>.mce-arrow {
left: 20px
}
.mce-floatpanel.mce-popover.mce-bottom.mce-end,
.mce-floatpanel.mce-popover.mce-top.mce-end {
margin-left: 22px
}
.mce-floatpanel.mce-popover.mce-bottom.mce-end>.mce-arrow,
.mce-floatpanel.mce-popover.mce-top.mce-end>.mce-arrow {
right: 10px;
left: auto
}
.mce-fullscreen {
border: 0;
padding: 0;
margin: 0;
overflow: hidden;
height: 100%
}
div.mce-fullscreen {
position: fixed;
top: 0;
left: 0
}
#mce-modal-block {
opacity: 0;
filter: alpha(opacity=0);
zoom: 1;
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100%;
background: #000;
}
#mce-modal-block.mce-in {
opacity: .5;
filter: alpha(opacity=50);
zoom: 1
}
.mce-window-move {
cursor: move
}
.mce-window {
-webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
-moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
filter: progid: DXImageTransform.Microsoft.gradient(enabled=false);
background: transparent;
background: #FFF;
position: fixed;
top: 0;
left: 0;
opacity: 0;
transform: scale(.1);
transition: transform 100ms ease-in, opacity 150ms ease-in;
border-radius: 2px;
border: none;
}
.mce-window.mce-in {
transform: scale(1);
opacity: 1
}
.mce-window-head {
padding: 0px 20px;
border-bottom: 1px solid #dcdfe6;
position: relative
}
.mce-window-head .mce-close {
position: absolute;
right: 0;
top: 0;
height: 54px;
width: 54px;
text-align: center;
cursor: pointer
}
.mce-window-head .mce-close i {
color: #909399;
font-size: 14px;
}
.mce-close:hover i {
color: #1890ff;
}
.mce-window-head .mce-title {
line-height: 54px;
font-size: 18px;
font-weight: normal;
text-rendering: optimizelegibility;
padding-right: 20px;
}
.mce-window .mce-container-body {
display: block;
/*padding: 0 20px;*/
}
.mce-foot {
display: block;
background-color: #FFF;
border-top: 1px solid #dcdfe6;
border-radius: 0 0 2px 2px;
}
.mce-foot .mce-btn.mce-last:hover {
color: #1890ff;
border-color: #1890ff;
background-color: #fff;
}
.mce-foot .mce-btn.mce-last:hover button .mce-txt {
color: #1890ff;
border-color: #1890ff;
background-color: #fff;
}
.mce-window-head .mce-dragh {
position: absolute;
top: 0;
left: 0;
cursor: move;
width: 90%;
height: 100%
}
.mce-window iframe {
width: 100%;
height: 100%
}
.mce-window-body .mce-listbox {
border-color: #e2e4e7
}
.mce-window .mce-btn:hover {
border-color: #dcdfe6
}
.mce-window .mce-btn:focus {
border-color: #2276d2
}
.mce-window-body .mce-btn,
.mce-foot .mce-btn {
border-color: #dcdfe6
}
.mce-foot .mce-btn.mce-primary {
border-color: transparent
}
.mce-rtl .mce-window-head .mce-close {
position: absolute;
right: auto;
left: 0
}
.mce-rtl .mce-window-head .mce-dragh {
left: auto;
right: 0
}
.mce-rtl .mce-window-head .mce-title {
direction: rtl;
text-align: right;
padding-right: 0;
padding-left: 20px
}
.mce-tooltip {
position: absolute;
padding: 5px;
opacity: .8;
filter: alpha(opacity=80);
zoom: 1;
margin-top: 1px
}
.mce-tooltip-inner {
font-size: 11px;
background-color: #000;
color: white;
max-width: 200px;
padding: 5px 8px 4px 8px;
text-align: center;
white-space: normal
}
.mce-tooltip-inner {
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none
}
.mce-tooltip-arrow {
position: absolute;
width: 0;
height: 0;
line-height: 0;
border: 5px dashed #000
}
.mce-tooltip-arrow-n {
border-bottom-color: #000
}
.mce-tooltip-arrow-s {
border-top-color: #000
}
.mce-tooltip-arrow-e {
border-left-color: #000
}
.mce-tooltip-arrow-w {
border-right-color: #000
}
.mce-tooltip-nw,
.mce-tooltip-sw {
margin-left: -14px
}
.mce-tooltip-ne,
.mce-tooltip-se {
margin-left: 14px
}
.mce-tooltip-n .mce-tooltip-arrow {
top: 0;
left: 50%;
margin-left: -5px;
border-bottom-style: solid;
border-top: none;
border-left-color: transparent;
border-right-color: transparent
}
.mce-tooltip-nw .mce-tooltip-arrow {
top: 0;
left: 10px;
border-bottom-style: solid;
border-top: none;
border-left-color: transparent;
border-right-color: transparent
}
.mce-tooltip-ne .mce-tooltip-arrow {
top: 0;
right: 10px;
border-bottom-style: solid;
border-top: none;
border-left-color: transparent;
border-right-color: transparent
}
.mce-tooltip-s .mce-tooltip-arrow {
bottom: 0;
left: 50%;
margin-left: -5px;
border-top-style: solid;
border-bottom: none;
border-left-color: transparent;
border-right-color: transparent
}
.mce-tooltip-sw .mce-tooltip-arrow {
bottom: 0;
left: 10px;
border-top-style: solid;
border-bottom: none;
border-left-color: transparent;
border-right-color: transparent
}
.mce-tooltip-se .mce-tooltip-arrow {
bottom: 0;
right: 10px;
border-top-style: solid;
border-bottom: none;
border-left-color: transparent;
border-right-color: transparent
}
.mce-tooltip-e .mce-tooltip-arrow {
right: 0;
top: 50%;
margin-top: -5px;
border-left-style: solid;
border-right: none;
border-top-color: transparent;
border-bottom-color: transparent
}
.mce-tooltip-w .mce-tooltip-arrow {
left: 0;
top: 50%;
margin-top: -5px;
border-right-style: solid;
border-left: none;
border-top-color: transparent;
border-bottom-color: transparent
}
.mce-progress {
display: inline-block;
position: relative;
height: 20px
}
.mce-progress .mce-bar-container {
display: inline-block;
width: 100px;
height: 100%;
margin-right: 8px;
border: 1px solid #ccc;
overflow: hidden
}
.mce-progress .mce-text {
display: inline-block;
margin-top: auto;
margin-bottom: auto;
font-size: 14px;
width: 40px;
color: #595959
}
.mce-bar {
display: block;
width: 0;
height: 100%;
background-color: #dfdfdf;
-webkit-transition: width .2s ease;
transition: width .2s ease
}
.mce-notification {
position: absolute;
background-color: #fff;
padding: 5px;
margin-top: 5px;
border-width: 1px;
border-style: solid;
border-color: #dcdfe6;
transition: transform 100ms ease-in, opacity 150ms ease-in;
opacity: 0;
box-sizing: border-box
}
.mce-notification.mce-in {
opacity: 1
}
.mce-notification-success {
background-color: #dff0d8;
border-color: #d6e9c6
}
.mce-notification-info {
background-color: #d9edf7;
border-color: #779ECB
}
.mce-notification-warning {
background-color: #fcf8e3;
border-color: #faebcc
}
.mce-notification-error {
background-color: #f2dede;
border-color: #ebccd1
}
.mce-notification.mce-has-close {
padding-right: 15px
}
.mce-notification .mce-ico {
margin-top: 5px
}
.mce-notification-inner {
word-wrap: break-word;
-ms-word-break: break-all;
word-break: break-all;
word-break: break-word;
-ms-hyphens: auto;
-moz-hyphens: auto;
-webkit-hyphens: auto;
hyphens: auto;
display: inline-block;
font-size: 14px;
margin: 5px 8px 4px 8px;
text-align: center;
white-space: normal;
color: #31708f
}
.mce-notification-inner a {
text-decoration: underline;
cursor: pointer
}
.mce-notification .mce-progress {
margin-right: 8px
}
.mce-notification .mce-progress .mce-text {
margin-top: 5px
}
.mce-notification *,
.mce-notification .mce-progress .mce-text {
color: #595959
}
.mce-notification .mce-progress .mce-bar-container {
border-color: #dcdfe6
}
.mce-notification .mce-progress .mce-bar-container .mce-bar {
background-color: #595959
}
.mce-notification-success *,
.mce-notification-success .mce-progress .mce-text {
color: #3c763d
}
.mce-notification-success .mce-progress .mce-bar-container {
border-color: #d6e9c6
}
.mce-notification-success .mce-progress .mce-bar-container .mce-bar {
background-color: #3c763d
}
.mce-notification-info *,
.mce-notification-info .mce-progress .mce-text {
color: #31708f
}
.mce-notification-info .mce-progress .mce-bar-container {
border-color: #779ECB
}
.mce-notification-info .mce-progress .mce-bar-container .mce-bar {
background-color: #31708f
}
.mce-notification-warning *,
.mce-notification-warning .mce-progress .mce-text {
color: #8a6d3b
}
.mce-notification-warning .mce-progress .mce-bar-container {
border-color: #faebcc
}
.mce-notification-warning .mce-progress .mce-bar-container .mce-bar {
background-color: #8a6d3b
}
.mce-notification-error *,
.mce-notification-error .mce-progress .mce-text {
color: #a94442
}
.mce-notification-error .mce-progress .mce-bar-container {
border-color: #ebccd1
}
.mce-notification-error .mce-progress .mce-bar-container .mce-bar {
background-color: #a94442
}
.mce-notification .mce-close {
position: absolute;
top: 6px;
right: 8px;
font-size: 20px;
font-weight: bold;
line-height: 20px;
color: #9b9b9b;
cursor: pointer
}
.mce-abs-layout {
position: relative
}
html .mce-abs-layout-item,
.mce-abs-end {
position: absolute
}
.mce-abs-end {
width: 1px;
height: 1px
}
.mce-container-body.mce-abs-layout {
overflow: hidden
}
.mce-btn {
border: 1px solid #b3b3b3;
border-color: transparent transparent transparent transparent;
border-radius: 4px;
position: relative;
text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
background: white;
display: inline-block;
*display: inline;
*zoom: 1;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none
}
.mce-btn:hover button .mce-ico,
.mce-btn:active button .mce-ico {
/* background: white;
color: #595959;
border-color: #e2e4e7*/
color: #1890ff;
}
.mce-btn:hover button .mce-preview,
.mce-btn:active button .mce-preview {
color: #1890ff;
background: #1890ff;
}
.mce-btn:focus button .mce-ico {
/*background: white;
color: #595959;
border-color: #e2e4e7*/
color: #1890ff;
}
.mce-btn:focus button .mce-preview {
color: #1890ff;
background: #1890ff;
}
.mce-btn.mce-disabled button,
.mce-btn.mce-disabled:hover button {
cursor: default;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
opacity: .4;
filter: alpha(opacity=40);
zoom: 1;
color: #c0c4cc;
}
.mce-btn.mce-disabled button .mce-ico,
.mce-btn.mce-disabled:hover button .mce-ico {
color: #c0c4cc;
}
.mce-btn.mce-active,
.mce-btn.mce-active:hover,
.mce-btn.mce-active:focus,
.mce-btn.mce-active:active {
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
background: #fff;
color: #1890ff;
border-color: transparent
}
.mce-btn.mce-active button,
.mce-btn.mce-active:hover button,
.mce-btn.mce-active i,
.mce-btn.mce-active:hover i {
color: #1890ff
}
.mce-btn:hover .mce-caret {
border-top-color: #b5bcc2
}
.mce-btn.mce-active .mce-caret,
.mce-btn.mce-active:hover .mce-caret {
border-top-color: #1890ff
}
.mce-btn button {
padding: 4px 6px;
font-size: 14px;
line-height: 20px;
*line-height: 16px;
cursor: pointer;
color: #595959;
text-align: center;
overflow: visible;
-webkit-appearance: none
}
.mce-btn button::-moz-focus-inner {
border: 0;
padding: 0
}
.mce-btn i {
text-shadow: 1px 1px none
}
.mce-primary.mce-btn-has-text {
min-width: 50px
}
.mce-primary {
color: white;
border: 1px solid transparent;
border-color: transparent;
background-color: #1890ff;
}
.mce-primary:hover,
.mce-primary:focus {
background: #40a9ff;
border-color: #40a9ff;
color: #fff;
}
.mce-primary.mce-disabled button,
.mce-primary.mce-disabled:hover button {
cursor: default;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
opacity: .4;
filter: alpha(opacity=40);
zoom: 1 color: #c0c4cc;
}
.mce-primary.mce-active,
.mce-primary.mce-active:hover,
.mce-primary:not(.mce-disabled):active {
background-color: #1890ff;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none
}
.mce-primary button,
.mce-primary button i {
color: white;
text-shadow: 1px 1px none
}
.mce-btn .mce-txt {
font-size: inherit;
line-height: inherit;
color: #303133;
}
.mce-btn.mce-primary .mce-txt {
color: #fff;
}
.mce-btn-large button {
padding: 9px 14px;
font-size: 16px;
line-height: normal
}
.mce-btn-large i {
margin-top: 2px
}
.mce-btn-small button {
padding: 1px 5px;
font-size: 12px;
*padding-bottom: 2px
}
.mce-btn-small i {
line-height: 20px;
vertical-align: top;
*line-height: 18px
}
.mce-btn .mce-caret {
margin-top: 8px;
margin-left: 0
}
.mce-btn-small .mce-caret {
margin-top: 8px;
margin-left: 0
}
.mce-caret {
display: inline-block;
*display: inline;
*zoom: 1;
width: 0;
height: 0;
vertical-align: top;
border-top: 4px solid #b5bcc2;
border-right: 4px solid transparent;
border-left: 4px solid transparent;
content: ""
}
.mce-disabled .mce-caret {
border-top-color: #aaa
}
.mce-caret.mce-up {
border-bottom: 4px solid #b5bcc2;
border-top: 0
}
.mce-btn-flat {
border: 0;
background: transparent;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
filter: none
}
.mce-btn-flat:hover,
.mce-btn-flat.mce-active,
.mce-btn-flat:focus,
.mce-btn-flat:active {
border: 0;
background: #e6e6e6;
filter: none;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none
}
.mce-btn-has-text .mce-ico {
padding-right: 5px
}
.mce-rtl .mce-btn button {
direction: rtl
}
.mce-toolbar .mce-btn-group {
margin: 0;
padding: 2px 0
}
.mce-btn-group .mce-btn {
border-width: 1px;
margin: 0;
margin-left: 2px
}
.mce-btn-group:not(:first-child) {
/*border-left: 1px solid #d9d9d9;*/
padding-left: 0;
margin-left: 2px
}
.mce-btn-group {
margin-left: 2px
}
.mce-btn-group .mce-btn.mce-flow-layout-item {
margin: 0
}
.mce-rtl .mce-btn-group .mce-btn {
margin-left: 0;
margin-right: 2px
}
.mce-rtl .mce-btn-group .mce-first {
margin-right: 0
}
.mce-rtl .mce-btn-group:not(:first-child) {
border-left: none;
border-right: 1px solid #d9d9d9;
padding-right: 4px;
margin-right: 4px
}
.mce-checkbox {
cursor: pointer
}
i.mce-i-checkbox {
margin: 0 3px 0 0;
border: 1px solid #dcdfe6;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
background-color: white;
text-indent: -10em;
overflow: hidden
}
.mce-checked i.mce-i-checkbox {
color: #595959;
font-size: 16px;
line-height: 16px;
text-indent: 0
}
.mce-checkbox:focus i.mce-i-checkbox,
.mce-checkbox.mce-focus i.mce-i-checkbox {
border: 1px solid #2276d2;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none
}
.mce-checkbox.mce-disabled .mce-label,
.mce-checkbox.mce-disabled i.mce-i-checkbox {
color: #bdbdbd
}
.mce-checkbox .mce-label {
vertical-align: middle
}
.mce-rtl .mce-checkbox {
direction: rtl;
text-align: right
}
.mce-rtl i.mce-i-checkbox {
margin: 0 0 0 3px
}
.mce-combobox {
position: relative;
display: inline-block;
*display: inline;
*zoom: 1;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
*height: 32px
}
.mce-combobox input {
border: 1px solid #dcdfe6;
border-right-color: #dcdfe6;
border-radius: 4px;
height: 30px
}
.mce-combobox.mce-disabled input {
color: #bdbdbd
}
.mce-combobox .mce-btn {
border: 1px solid #dcdfe6;
border-left: 0;
margin: 0
}
.mce-combobox button {
padding-right: 8px;
padding-left: 8px
}
.mce-combobox.mce-disabled .mce-btn button {
cursor: default;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
opacity: .4;
filter: alpha(opacity=40);
zoom: 1
}
.mce-combobox .mce-status {
position: absolute;
right: 2px;
top: 50%;
line-height: 16px;
margin-top: -8px;
font-size: 12px;
width: 15px;
height: 15px;
text-align: center;
cursor: pointer
}
.mce-combobox.mce-has-status input {
padding-right: 20px
}
.mce-combobox.mce-has-open .mce-status {
right: 37px
}
.mce-combobox .mce-status.mce-i-warning {
color: #c09853
}
.mce-combobox .mce-status.mce-i-checkmark {
color: #468847
}
.mce-menu.mce-combobox-menu {
border-top: 0;
margin-top: 0;
max-height: 200px
}
.mce-menu.mce-combobox-menu .mce-menu-item {
padding: 4px 6px 4px 4px;
font-size: 11px
}
.mce-menu.mce-combobox-menu .mce-menu-item-sep {
padding: 0
}
.mce-menu.mce-combobox-menu .mce-text,
.mce-menu.mce-combobox-menu .mce-text b {
font-size: 11px
}
.mce-menu.mce-combobox-menu .mce-menu-item-link,
.mce-menu.mce-combobox-menu .mce-menu-item-link b {
font-size: 11px
}
.mce-colorbox i {
border: 1px solid #dcdfe6;
width: 14px;
height: 14px
}
.mce-colorbutton .mce-ico {
position: relative
}
.mce-colorbutton-grid {
margin: 4px
}
.mce-colorbutton .mce-preview {
padding-right: 3px;
display: block;
position: absolute;
left: 50%;
top: 50%;
margin-left: -16px;
margin-top: 7px;
background: #909399;
width: 13px;
height: 2px;
overflow: hidden
}
.mce-colorbutton.mce-btn-small .mce-preview {
margin-left: -16px;
padding-right: 0;
width: 16px
}
.mce-rtl .mce-colorbutton {
direction: rtl
}
.mce-rtl .mce-colorbutton .mce-preview {
margin-left: 0;
padding-right: 0;
padding-left: 3px
}
.mce-rtl .mce-colorbutton.mce-btn-small .mce-preview {
margin-left: 0;
padding-right: 0;
padding-left: 2px
}
.mce-rtl .mce-colorbutton .mce-open {
padding-left: 4px;
padding-right: 4px;
border-left: 0
}
.mce-colorpicker {
position: relative;
width: 250px;
height: 220px
}
.mce-colorpicker-sv {
position: absolute;
top: 0;
left: 0;
width: 90%;
height: 100%;
border: 1px solid #dcdfe6;
cursor: crosshair;
overflow: hidden
}
.mce-colorpicker-h-chunk {
width: 100%
}
.mce-colorpicker-overlay1,
.mce-colorpicker-overlay2 {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0
}
.mce-colorpicker-overlay1 {
filter: progid: DXImageTransform.Microsoft.gradient(GradientType=1, startColorstr='#ffffff', endColorstr='#00ffffff');
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr='#ffffff', endColorstr='#00ffffff')";
background: linear-gradient(to right, #fff, rgba(255, 255, 255, 0))
}
.mce-colorpicker-overlay2 {
filter: progid: DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#00000000', endColorstr='#000000');
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#00000000', endColorstr='#000000')";
background: linear-gradient(to bottom, rgba(0, 0, 0, 0), #000)
}
.mce-colorpicker-selector1 {
background: none;
position: absolute;
width: 12px;
height: 12px;
margin: -8px 0 0 -8px;
border: 1px solid black;
border-radius: 50%
}
.mce-colorpicker-selector2 {
position: absolute;
width: 10px;
height: 10px;
border: 1px solid white;
border-radius: 50%
}
.mce-colorpicker-h {
position: absolute;
top: 0;
right: 0;
width: 6.5%;
height: 100%;
border: 1px solid #dcdfe6;
cursor: crosshair
}
.mce-colorpicker-h-marker {
margin-top: -4px;
position: absolute;
top: 0;
left: -1px;
width: 100%;
border: 1px solid black;
background: white;
height: 4px;
z-index: 100
}
.mce-path {
display: inline-block;
*display: inline;
*zoom: 1;
padding: 8px;
white-space: normal;
font-size: inherit
}
.mce-path .mce-txt {
display: inline-block;
padding-right: 3px
}
.mce-path .mce-path-body {
display: inline-block
}
.mce-path-item {
display: inline-block;
*display: inline;
*zoom: 1;
cursor: pointer;
color: #595959;
font-size: inherit;
text-transform: uppercase
}
.mce-path-item:hover {
text-decoration: underline
}
.mce-path-item:focus {
background: #555c66;
color: white
}
.mce-path .mce-divider {
display: inline;
font-size: inherit
}
.mce-disabled .mce-path-item {
color: #aaa
}
.mce-rtl .mce-path {
direction: rtl
}
.mce-fieldset {
border: 0 solid #9E9E9E
}
.mce-fieldset>.mce-container-body {
margin-top: -15px
}
.mce-fieldset-title {
margin-left: 5px;
padding: 0 5px 0 5px
}
.mce-fit-layout {
display: inline-block;
*display: inline;
*zoom: 1
}
.mce-fit-layout-item {
position: absolute
}
.mce-flow-layout-item {
display: inline-block;
*display: inline;
*zoom: 1
}
.mce-flow-layout-item {
margin: 2px 0 2px 2px
}
.mce-flow-layout-item.mce-last {
margin-right: 2px
}
.mce-flow-layout {
white-space: normal
}
.mce-tinymce-inline .mce-flow-layout {
white-space: nowrap
}
.mce-rtl .mce-flow-layout {
text-align: right;
direction: rtl
}
.mce-rtl .mce-flow-layout-item {
margin: 2px 2px 2px 0
}
.mce-rtl .mce-flow-layout-item.mce-last {
margin-left: 2px
}
.mce-iframe {
border: 0 solid #dcdfe6;
width: 100%;
height: 100%
}
.mce-infobox {
display: inline-block;
*display: inline;
*zoom: 1;
text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
overflow: hidden;
border: 1px solid red
}
.mce-infobox div {
display: block;
margin: 5px
}
.mce-infobox div button {
position: absolute;
top: 50%;
right: 4px;
cursor: pointer;
margin-top: -8px;
display: none
}
.mce-infobox div button:focus {
outline: 2px solid #e2e4e7
}
.mce-infobox.mce-has-help div {
margin-right: 25px
}
.mce-infobox.mce-has-help button {
display: block
}
.mce-infobox.mce-success {
background: #dff0d8;
border-color: #d6e9c6
}
.mce-infobox.mce-success div {
color: #3c763d
}
.mce-infobox.mce-warning {
background: #fcf8e3;
border-color: #faebcc
}
.mce-infobox.mce-warning div {
color: #8a6d3b
}
.mce-infobox.mce-error {
background: #f2dede;
border-color: #ebccd1
}
.mce-infobox.mce-error div {
color: #a94442
}
.mce-rtl .mce-infobox div {
text-align: right;
direction: rtl
}
.mce-label {
display: inline-block;
*display: inline;
*zoom: 1;
text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
overflow: hidden
}
.mce-label.mce-abs-layout-item {
color: #303133;
}
.mce-abs-layout-item {
color: #303133;
}
.mce-label.mce-autoscroll {
overflow: auto
}
.mce-label.mce-disabled {
color: #aaa
}
.mce-label.mce-multiline {
white-space: pre-wrap
}
.mce-label.mce-success {
color: #468847
}
.mce-label.mce-warning {
color: #c09853
}
.mce-label.mce-error {
color: #b94a48
}
.mce-rtl .mce-label {
text-align: right;
direction: rtl
}
.mce-menubar {
border: 1px solid #dcdfe6;
}
.mce-menubar .mce-menubtn {
border-color: transparent;
background: transparent;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
filter: none
}
.mce-menubar .mce-menubtn button span {
color: #595959
}
.mce-menubar .mce-caret {
border-top-color: #b5bcc2
}
.mce-menubar .mce-active .mce-caret,
.mce-menubar .mce-menubtn:hover .mce-caret {
border-top-color: #b5bcc2
}
.mce-menubar .mce-menubtn:hover,
.mce-menubar .mce-menubtn.mce-active,
.mce-menubar .mce-menubtn:focus {
/*border-color: #e2e4e7;*/
background: white;
filter: none;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none
}
.mce-menubar .mce-menubtn.mce-active {
border-bottom: none;
z-index: 65537
}
div.mce-menubtn.mce-opened {
border-bottom-color: white;
z-index: 65537
}
.mce-menubtn button {
color: #909399
}
.mce-menubtn.mce-btn-small span {
font-size: 12px
}
.mce-menubtn.mce-fixed-width span {
display: inline-block;
overflow-x: hidden;
text-overflow: ellipsis;
width: 90px
}
.mce-menubtn.mce-fixed-width.mce-btn-small span {
width: 70px
}
.mce-menubtn .mce-caret {
*margin-top: 6px
}
.mce-rtl .mce-menubtn button {
direction: rtl;
text-align: right
}
.mce-rtl .mce-menubtn.mce-fixed-width span {
direction: rtl;
text-align: right
}
.mce-menu-item {
display: block;
padding: 6px 4px 6px 4px;
clear: both;
font-weight: normal;
line-height: 20px;
color: #595959;
white-space: nowrap;
cursor: pointer;
line-height: normal;
border-left: 4px solid transparent;
margin-bottom: 1px
}
.mce-menu-item .mce-text,
.mce-menu-item .mce-text b {
line-height: 1;
vertical-align: initial
}
.mce-menu-item .mce-caret {
margin-top: 4px;
margin-right: 6px;
border-top: 4px solid transparent;
border-bottom: 4px solid transparent;
border-left: 4px solid #595959
}
.mce-menu-item .mce-menu-shortcut {
display: inline-block;
padding: 0 10px 0 20px;
color: #aaa
}
.mce-menu-item .mce-ico {
padding-right: 4px
}
.mce-menu-item:hover,
.mce-menu-item:focus {
background: #ededee
}
.mce-menu-item:hover .mce-menu-shortcut,
.mce-menu-item:focus .mce-menu-shortcut {
color: #aaa
}
.mce-menu-item:hover .mce-text,
.mce-menu-item:focus .mce-text,
.mce-menu-item:hover .mce-ico,
.mce-menu-item:focus .mce-ico {
color: #595959
}
.mce-menu-item.mce-selected {
background: #ededee
}
.mce-menu-item.mce-selected .mce-text,
.mce-menu-item.mce-selected .mce-ico {
color: #595959
}
.mce-menu-item.mce-active.mce-menu-item-normal {
background: #555c66
}
.mce-menu-item.mce-active.mce-menu-item-normal .mce-text,
.mce-menu-item.mce-active.mce-menu-item-normal .mce-ico {
color: white
}
.mce-menu-item.mce-active.mce-menu-item-checkbox .mce-ico {
visibility: visible
}
.mce-menu-item.mce-disabled,
.mce-menu-item.mce-disabled:hover {
background: white
}
.mce-menu-item.mce-disabled:focus,
.mce-menu-item.mce-disabled:hover:focus {
background: #ededee
}
.mce-menu-item.mce-disabled .mce-text,
.mce-menu-item.mce-disabled:hover .mce-text,
.mce-menu-item.mce-disabled .mce-ico,
.mce-menu-item.mce-disabled:hover .mce-ico {
color: #aaa
}
.mce-menu-item.mce-menu-item-preview.mce-active {
border-left: 5px solid #555c66;
background: white
}
.mce-menu-item.mce-menu-item-preview.mce-active .mce-text,
.mce-menu-item.mce-menu-item-preview.mce-active .mce-ico {
color: #595959
}
.mce-menu-item.mce-menu-item-preview.mce-active:hover {
background: #ededee
}
.mce-menu-item-link {
color: #093;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap
}
.mce-menu-item-link b {
color: #093
}
.mce-menu-item-ellipsis {
display: block;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden
}
.mce-menu-item:hover *,
.mce-menu-item.mce-selected *,
.mce-menu-item:focus * {
color: #595959
}
div.mce-menu .mce-menu-item-sep,
.mce-menu-item-sep:hover {
border: 0;
padding: 0;
height: 1px;
margin: 9px 1px;
overflow: hidden;
background: transparent;
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
cursor: default;
filter: none
}
div.mce-menu .mce-menu-item b {
font-weight: bold
}
.mce-menu-item-indent-1 {
padding-left: 20px
}
.mce-menu-item-indent-2 {
padding-left: 35px
}
.mce-menu-item-indent-2 {
padding-left: 35px
}
.mce-menu-item-indent-3 {
padding-left: 40px
}
.mce-menu-item-indent-4 {
padding-left: 45px
}
.mce-menu-item-indent-5 {
padding-left: 50px
}
.mce-menu-item-indent-6 {
padding-left: 55px
}
.mce-menu.mce-rtl {
direction: rtl
}
.mce-rtl .mce-menu-item {
text-align: right;
direction: rtl;
padding: 6px 12px 6px 15px
}
.mce-rtl .mce-menu-item .mce-caret {
margin-left: 6px;
margin-right: 0;
border-right: 4px solid #595959;
border-left: 0
}
.mce-rtl .mce-menu-item.mce-selected .mce-caret,
.mce-rtl .mce-menu-item:focus .mce-caret,
.mce-rtl .mce-menu-item:hover .mce-caret {
border-left-color: transparent;
border-right-color: #595959
}
.mce-rtl .mce-menu-item .mce-ico {
padding-right: 0;
padding-left: 4px
}
.mce-throbber {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
opacity: .6;
filter: alpha(opacity=60);
zoom: 1;
background: #fff url('img/loader.gif') no-repeat center center
}
.mce-throbber-inline {
position: static;
height: 50px
}
.mce-menu .mce-throbber-inline {
height: 25px;
background-size: contain
}
.mce-menu {
position: absolute;
left: 0;
top: 0;
filter: progid: DXImageTransform.Microsoft.gradient(enabled=false);
background: transparent;
z-index: 1000;
padding: 5px 0 5px 0;
margin: -1px 0 0;
min-width: 180px;
background: white;
border: 1px solid #c5c9cf;
border: 1px solid #e2e4e7;
z-index: 1002;
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
max-height: 500px;
overflow: auto;
overflow-x: hidden
}
.mce-menu.mce-animate {
opacity: .01;
transform: rotateY(10deg) rotateX(-10deg);
transform-origin: left top
}
.mce-menu.mce-menu-align .mce-menu-shortcut,
.mce-menu.mce-menu-align .mce-caret {
position: absolute;
right: 0
}
.mce-menu i {
display: none
}
.mce-menu-has-icons i {
display: inline-block
}
.mce-menu.mce-in.mce-animate {
opacity: 1;
transform: rotateY(0) rotateX(0);
transition: opacity .075s ease, transform .1s ease
}
.mce-menu-sub-tr-tl {
margin: -6px 0 0 -1px
}
.mce-menu-sub-br-bl {
margin: 6px 0 0 -1px
}
.mce-menu-sub-tl-tr {
margin: -6px 0 0 1px
}
.mce-menu-sub-bl-br {
margin: 6px 0 0 1px
}
.mce-rtl .mce-menu-item .mce-ico {
padding-right: 0;
padding-left: 4px
}
.mce-rtl.mce-menu-align .mce-caret,
.mce-rtl .mce-menu-shortcut {
right: auto;
left: 0
}
.mce-listbox button {
text-align: left;
padding-right: 20px;
position: relative
}
.mce-listbox .mce-caret {
position: absolute;
margin-top: -2px;
right: 8px;
top: 50%
}
.mce-rtl .mce-listbox .mce-caret {
right: auto;
left: 8px
}
.mce-rtl .mce-listbox button {
padding-right: 10px;
padding-left: 20px
}
.mce-container-body .mce-resizehandle {
position: absolute;
right: 0;
bottom: 0;
width: 16px;
height: 16px;
visibility: visible;
cursor: s-resize;
margin: 0
}
.mce-container-body .mce-resizehandle-both {
cursor: se-resize
}
i.mce-i-resize {
color: #595959
}
.mce-selectbox {
background: #fff;
border: 1px solid #dcdfe6
}
.mce-slider {
border: 1px solid #dcdfe6;
background: #fff;
width: 100px;
height: 10px;
position: relative;
display: block
}
.mce-slider.mce-vertical {
width: 10px;
height: 100px
}
.mce-slider-handle {
border: 1px solid #dcdfe6;
background: #e6e6e6;
display: block;
width: 13px;
height: 13px;
position: absolute;
top: 0;
left: 0;
margin-left: -1px;
margin-top: -2px
}
.mce-slider-handle:focus {
border-color: #2276d2
}
.mce-spacer {
visibility: hidden
}
.mce-splitbtn:hover .mce-open {
/*border-left: 1px solid #e2e4e7*/
}
.mce-splitbtn .mce-open {
/*border-left: 1px solid transparent;*/
padding-right: 4px;
padding-left: 4px
}
.mce-splitbtn .mce-open:focus {
/*border-left: 1px solid #e2e4e7*/
}
.mce-splitbtn .mce-open:hover,
.mce-splitbtn .mce-open:active {
/*border-left: 1px solid #e2e4e7*/
}
.mce-splitbtn.mce-active:hover .mce-open {
/*border-left: 1px solid white*/
}
.mce-splitbtn.mce-opened {
border-color: #e2e4e7
}
.mce-splitbtn.mce-btn-small .mce-open {
padding: 0 3px 0 3px
}
.mce-rtl .mce-splitbtn {
direction: rtl;
text-align: right
}
.mce-rtl .mce-splitbtn button {
padding-right: 4px;
padding-left: 4px
}
.mce-rtl .mce-splitbtn .mce-open {
border-left: 0
}
.mce-stack-layout-item {
display: block
}
.mce-tabs {
display: block;
border-bottom: 1px solid #dcdfe6
}
.mce-tabs,
.mce-tabs+.mce-container-body {
background: #fff
}
.mce-tab {
display: inline-block;
*display: inline;
*zoom: 1;
border: 1px solid #dcdfe6;
border-width: 0 1px 0 0;
background: #fff;
padding: 8px 15px;
text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
height: 13px;
line-height: 13px;
cursor: pointer
}
.mce-tab:hover {
background: #FDFDFD
}
.mce-tab.mce-active {
background: #FDFDFD;
border-bottom-color: transparent;
margin-bottom: -1px;
height: 14px;
color: #1890ff;
}
.mce-tab:focus {
/* color: #1890ff; */
}
.mce-rtl .mce-tabs {
text-align: right;
direction: rtl
}
.mce-rtl .mce-tab {
border-width: 0 0 0 1px
}
.mce-textbox {
background: #fff;
border: 1px solid #dcdfe6;
border-radius: 4px;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
display: inline-block;
-webkit-transition: border linear .2s, box-shadow linear .2s;
transition: border linear .2s, box-shadow linear .2s;
height: 30px;
resize: none;
padding: 0 4px 0 4px;
white-space: pre-wrap;
*white-space: pre;
color: #595959
}
.mce-textbox:focus,
.mce-textbox.mce-focus {
border-color: #1890ff;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none
}
.mce-placeholder .mce-textbox {
color: #aaa
}
.mce-textbox.mce-multiline {
padding: 4px;
height: auto
}
.mce-textbox.mce-disabled {
color: #bdbdbd
}
.mce-rtl .mce-textbox {
text-align: right;
direction: rtl
}
.mce-dropzone {
border: 1px dashed #dcdfe6;
text-align: center;
border-radius: 4px;
}
.mce-dropzone span {
text-transform: uppercase;
display: inline-block;
vertical-align: middle;
color: #909399;
}
.mce-dropzone:after {
content: "";
height: 100%;
display: inline-block;
vertical-align: middle
}
.mce-dropzone.mce-disabled {
opacity: .4;
filter: alpha(opacity=40);
zoom: 1
}
.mce-dropzone.mce-disabled.mce-dragenter {
cursor: not-allowed
}
.mce-browsebutton {
position: relative;
overflow: hidden
}
.mce-browsebutton button {
position: relative;
z-index: 1
}
.mce-browsebutton input {
opacity: 0;
filter: alpha(opacity=0);
zoom: 1;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 0
}
@font-face {
font-family: 'tinymce';
src: url('fonts/tinymce.eot');
src: url('fonts/tinymce.eot?#iefix') format('embedded-opentype'), url('fonts/tinymce.woff') format('woff'), url('fonts/tinymce.ttf') format('truetype'), url('fonts/tinymce.svg#tinymce') format('svg');
font-weight: normal;
font-style: normal
}
@font-face {
font-family: 'tinymce-small';
src: url('fonts/tinymce-small.eot');
src: url('fonts/tinymce-small.eot?#iefix') format('embedded-opentype'), url('fonts/tinymce-small.woff') format('woff'), url('fonts/tinymce-small.ttf') format('truetype'), url('fonts/tinymce-small.svg#tinymce') format('svg');
font-weight: normal;
font-style: normal
}
.mce-ico {
font-family: 'tinymce', Arial;
font-style: normal;
font-weight: normal;
font-variant: normal;
font-size: 16px;
line-height: 16px;
speak: none;
vertical-align: text-top;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
display: inline-block;
background: transparent center center;
background-size: cover;
width: 16px;
height: 16px;
color: #909399
}
.mce-btn-small .mce-ico {
font-family: 'tinymce-small', Arial
}
.mce-i-save:before {
content: "\e000"
}
.mce-i-newdocument:before {
content: "\e001"
}
.mce-i-fullpage:before {
content: "\e002"
}
.mce-i-alignleft:before {
content: "\e003"
}
.mce-i-aligncenter:before {
content: "\e004"
}
.mce-i-alignright:before {
content: "\e005"
}
.mce-i-alignjustify:before {
content: "\e006"
}
.mce-i-alignnone:before {
content: "\e003"
}
.mce-i-cut:before {
content: "\e007"
}
.mce-i-paste:before {
content: "\e008"
}
.mce-i-searchreplace:before {
content: "\e009"
}
.mce-i-bullist:before {
content: "\e00a"
}
.mce-i-numlist:before {
content: "\e00b"
}
.mce-i-indent:before {
content: "\e00c"
}
.mce-i-outdent:before {
content: "\e00d"
}
.mce-i-blockquote:before {
content: "\e00e"
}
.mce-i-undo:before {
content: "\e00f"
}
.mce-i-redo:before {
content: "\e010"
}
.mce-i-link:before {
content: "\e011"
}
.mce-i-unlink:before {
content: "\e012"
}
.mce-i-anchor:before {
content: "\e013"
}
.mce-i-image:before {
content: "\e014"
}
.mce-i-media:before {
content: "\e015"
}
.mce-i-help:before {
content: "\e016"
}
.mce-i-code:before {
content: "\e017"
}
.mce-i-insertdatetime:before {
content: "\e018"
}
.mce-i-preview:before {
content: "\e019"
}
.mce-i-forecolor:before {
content: "\e01a"
}
.mce-i-backcolor:before {
content: "\e01a"
}
.mce-i-table:before {
content: "\e01b"
}
.mce-i-hr:before {
content: "\e01c"
}
.mce-i-removeformat:before {
content: "\e01d"
}
.mce-i-subscript:before {
content: "\e01e"
}
.mce-i-superscript:before {
content: "\e01f"
}
.mce-i-charmap:before {
content: "\e020"
}
.mce-i-emoticons:before {
content: "\e021"
}
.mce-i-print:before {
content: "\e022"
}
.mce-i-fullscreen:before {
content: "\e023"
}
.mce-i-spellchecker:before {
content: "\e024"
}
.mce-i-nonbreaking:before {
content: "\e025"
}
.mce-i-template:before {
content: "\e026"
}
.mce-i-pagebreak:before {
content: "\e027"
}
.mce-i-restoredraft:before {
content: "\e028"
}
.mce-i-bold:before {
content: "\e02a"
}
.mce-i-italic:before {
content: "\e02b"
}
.mce-i-underline:before {
content: "\e02c"
}
.mce-i-strikethrough:before {
content: "\e02d"
}
.mce-i-visualchars:before {
content: "\e02e"
}
.mce-i-visualblocks:before {
content: "\e02e"
}
.mce-i-ltr:before {
content: "\e02f"
}
.mce-i-rtl:before {
content: "\e030"
}
.mce-i-copy:before {
content: "\e031"
}
.mce-i-resize:before {
content: "\e032"
}
.mce-i-browse:before {
content: "\e034"
}
.mce-i-pastetext:before {
content: "\e035"
}
.mce-i-rotateleft:before {
content: "\eaa8"
}
.mce-i-rotateright:before {
content: "\eaa9"
}
.mce-i-crop:before {
content: "\ee78"
}
.mce-i-editimage:before {
content: "\e915"
}
.mce-i-options:before {
content: "\ec6a"
}
.mce-i-flipv:before {
content: "\eaaa"
}
.mce-i-fliph:before {
content: "\eaac"
}
.mce-i-zoomin:before {
content: "\eb35"
}
.mce-i-zoomout:before {
content: "\eb36"
}
.mce-i-sun:before {
content: "\eccc"
}
.mce-i-moon:before {
content: "\eccd"
}
.mce-i-arrowleft:before {
content: "\edc0"
}
.mce-i-arrowright:before {
content: "\e93c"
}
.mce-i-drop:before {
content: "\e935"
}
.mce-i-contrast:before {
content: "\ecd4"
}
.mce-i-sharpen:before {
content: "\eba7"
}
.mce-i-resize2:before {
content: "\edf9"
}
.mce-i-orientation:before {
content: "\e601"
}
.mce-i-invert:before {
content: "\e602"
}
.mce-i-gamma:before {
content: "\e600"
}
.mce-i-remove:before {
content: "\ed6a"
}
.mce-i-tablerowprops:before {
content: "\e604"
}
.mce-i-tablecellprops:before {
content: "\e605"
}
.mce-i-table2:before {
content: "\e606"
}
.mce-i-tablemergecells:before {
content: "\e607"
}
.mce-i-tableinsertcolbefore:before {
content: "\e608"
}
.mce-i-tableinsertcolafter:before {
content: "\e609"
}
.mce-i-tableinsertrowbefore:before {
content: "\e60a"
}
.mce-i-tableinsertrowafter:before {
content: "\e60b"
}
.mce-i-tablesplitcells:before {
content: "\e60d"
}
.mce-i-tabledelete:before {
content: "\e60e"
}
.mce-i-tableleftheader:before {
content: "\e62a"
}
.mce-i-tabletopheader:before {
content: "\e62b"
}
.mce-i-tabledeleterow:before {
content: "\e800"
}
.mce-i-tabledeletecol:before {
content: "\e801"
}
.mce-i-codesample:before {
content: "\e603"
}
.mce-i-fill:before {
content: "\e902"
}
.mce-i-borderwidth:before {
content: "\e903"
}
.mce-i-line:before {
content: "\e904"
}
.mce-i-count:before {
content: "\e905"
}
.mce-i-translate:before {
content: "\e907"
}
.mce-i-drag:before {
content: "\e908"
}
.mce-i-home:before {
content: "\e90b"
}
.mce-i-upload:before {
content: "\e914"
}
.mce-i-bubble:before {
content: "\e91c"
}
.mce-i-user:before {
content: "\e91d"
}
.mce-i-lock:before {
content: "\e926"
}
.mce-i-unlock:before {
content: "\e927"
}
.mce-i-settings:before {
content: "\e928"
}
.mce-i-remove2:before {
content: "\e92a"
}
.mce-i-menu:before {
content: "\e92d"
}
.mce-i-warning:before {
content: "\e930"
}
.mce-i-question:before {
content: "\e931"
}
.mce-i-pluscircle:before {
content: "\e932"
}
.mce-i-info:before {
content: "\e933"
}
.mce-i-notice:before {
content: "\e934"
}
.mce-i-arrowup:before {
content: "\e93b"
}
.mce-i-arrowdown:before {
content: "\e93d"
}
.mce-i-arrowup2:before {
content: "\e93f"
}
.mce-i-arrowdown2:before {
content: "\e940"
}
.mce-i-menu2:before {
content: "\e941"
}
.mce-i-newtab:before {
content: "\e961"
}
.mce-i-a11y:before {
content: "\e900"
}
.mce-i-plus:before {
content: "\e93a"
}
.mce-i-insert:before {
content: "\e93a"
}
.mce-i-minus:before {
content: "\e939"
}
.mce-i-books:before {
content: "\e911"
}
.mce-i-reload:before {
content: "\e906"
}
.mce-i-toc:before {
content: "\e901"
}
.mce-i-checkmark:before {
content: "\e033"
}
.mce-i-checkbox:before,
.mce-i-selected:before {
content: "\e033"
}
.mce-i-insert {
font-size: 14px
}
.mce-i-selected {
visibility: hidden
}
i.mce-i-backcolor {
text-shadow: none;
background: #BBB
}
.mce-rtl .mce-filepicker input {
direction: ltr
}
/*# sourceMappingURL=skin.min.css.map */
\ No newline at end of file
.tinymce-mobile-outer-container{all:initial;display:block}.tinymce-mobile-outer-container *{-webkit-box-sizing:initial;box-sizing:initial;line-height:1;margin:0;padding:0;border:0;outline:0;text-shadow:none;float:none;white-space:nowrap;cursor:inherit;-webkit-tap-highlight-color:transparent}.tinymce-mobile-icon-arrow-back:before{content:"\e5cd"}.tinymce-mobile-icon-image:before{content:"\e412"}.tinymce-mobile-icon-cancel-circle:before{content:"\e5c9"}.tinymce-mobile-icon-full-dot:before{content:"\e061"}.tinymce-mobile-icon-align-center:before{content:"\e234"}.tinymce-mobile-icon-align-left:before{content:"\e236"}.tinymce-mobile-icon-align-right:before{content:"\e237"}.tinymce-mobile-icon-bold:before{content:"\e238"}.tinymce-mobile-icon-italic:before{content:"\e23f"}.tinymce-mobile-icon-unordered-list:before{content:"\e241"}.tinymce-mobile-icon-ordered-list:before{content:"\e242"}.tinymce-mobile-icon-font-size:before{content:"\e245"}.tinymce-mobile-icon-underline:before{content:"\e249"}.tinymce-mobile-icon-link:before{content:"\e157"}.tinymce-mobile-icon-unlink:before{content:"\eca2"}.tinymce-mobile-icon-color:before{content:"\e891"}.tinymce-mobile-icon-previous:before{content:"\e314"}.tinymce-mobile-icon-next:before{content:"\e315"}.tinymce-mobile-icon-large-font:before,.tinymce-mobile-icon-style-formats:before{content:"\e264"}.tinymce-mobile-icon-undo:before{content:"\e166"}.tinymce-mobile-icon-redo:before{content:"\e15a"}.tinymce-mobile-icon-removeformat:before{content:"\e239"}.tinymce-mobile-icon-small-font:before{content:"\e906"}.tinymce-mobile-icon-readonly-back:before,.tinymce-mobile-format-matches:after{content:"\e5ca"}.tinymce-mobile-icon-small-heading:before{content:"small"}.tinymce-mobile-icon-large-heading:before{content:"large"}.tinymce-mobile-icon-small-heading:before,.tinymce-mobile-icon-large-heading:before{font-family:sans-serif;font-size:80%}.tinymce-mobile-mask-edit-icon:before{content:"\e254"}.tinymce-mobile-icon-back:before{content:"\e5c4"}.tinymce-mobile-icon-heading:before{content:"Headings";font-family:sans-serif;font-weight:bold;font-size:80%}.tinymce-mobile-icon-h1:before{content:"H1";font-weight:bold}.tinymce-mobile-icon-h2:before{content:"H2";font-weight:bold}.tinymce-mobile-icon-h3:before{content:"H3";font-weight:bold}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;position:absolute;width:100%;height:100%;top:0;background:rgba(51,51,51,0.5)}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-border-radius:50%;border-radius:50%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;font-family:sans-serif;font-size:1em}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .mixin-menu-item{-webkit-border-radius:50%;border-radius:50%;width:2.1em;height:2.1em;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section{font-size:1em;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}@media only screen and (min-device-width:700px){.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section{font-size:1.2em}}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon{-webkit-border-radius:50%;border-radius:50%;width:2.1em;height:2.1em;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;color:#4682B4;background-color:white}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon:before{font-family:'tinymce-mobile';content:"\e900"}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section:not(.tinymce-mobile-mask-tap-icon-selected) .tinymce-mobile-mask-tap-icon{z-index:2}.tinymce-mobile-android-container.tinymce-mobile-android-maximized{position:fixed;top:0;bottom:0;left:0;right:0;border:none;background:#fff;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.tinymce-mobile-android-container:not(.tinymce-mobile-android-maximized){position:relative}.tinymce-mobile-android-container .tinymce-mobile-editor-socket{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.tinymce-mobile-android-container .tinymce-mobile-editor-socket iframe{display:-webkit-box !important;display:-webkit-flex !important;display:-ms-flexbox !important;display:flex !important;height:auto !important;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.tinymce-mobile-android-scroll-reload{overflow:hidden}:not(.tinymce-mobile-readonly-mode)>.tinymce-mobile-android-selection-context-toolbar{margin-top:23px}.tinymce-mobile-toolstrip{background:#eceff1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;z-index:1;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:100%;height:2.5em;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;color:#455a64}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:first-of-type,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:last-of-type{background:#4682B4;color:#eceff1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:100%;-webkit-flex-shrink:1;-ms-flex-negative:1;flex-shrink:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group>div{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:100%;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-exit-container{background:#f44336}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-toolbar-scrollable-group{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item{padding-left:.5em;padding-right:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;margin-left:2px;margin-right:2px;height:80%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button.tinymce-mobile-toolbar-button-selected{background:#455a64;color:#b1bec6}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:100%;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;padding-top:.4em;padding-bottom:.4em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;position:relative;width:100%;min-height:1.5em;padding-left:0;padding-right:0}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain{-webkit-transition:left cubic-bezier(.4, 0, 1, 1) .15s;transition:left cubic-bezier(.4, 0, 1, 1) .15s;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;height:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen input{font-family:Sans-serif}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;position:relative}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container .tinymce-mobile-input-container-x{position:absolute;right:0;color:#888;font-size:.6em;font-weight:bold;background:inherit;-webkit-border-radius:50%;border-radius:50%;border:none;-webkit-align-self:center;-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;height:100%;padding-right:2px}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container.tinymce-mobile-input-container-empty .tinymce-mobile-input-container-x{display:none}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous:before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next:before{padding-left:.5em;padding-right:.5em;height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;font-weight:bold}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous.tinymce-mobile-toolbar-navigation-disabled:before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next.tinymce-mobile-toolbar-navigation-disabled:before{visibility:hidden}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item{margin:0 2px;font-size:10px;line-height:10px;padding-top:3px;color:#b1bec6}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item.tinymce-mobile-dot-active{color:#455a64}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;position:relative;padding:.28em 0;margin-left:10%;margin-right:10%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-font:before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-heading:before{margin-right:.9em;margin-left:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-font:before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-heading:before{margin-left:.9em;margin-right:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider{margin-left:0;margin-right:0}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;height:100%;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container .tinymce-mobile-slider-size-line{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;margin-top:.3em;margin-bottom:.3em;background:#b1bec6;height:.2em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container{padding-left:2em;padding-right:2em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;height:100%;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container .tinymce-mobile-slider-gradient{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;margin-top:.3em;margin-bottom:.3em;background:-webkit-gradient(linear, left top, right top, color-stop(0, #f00), color-stop(17%, #ff0), color-stop(33%, #0f0), color-stop(50%, #0ff), color-stop(67%, #00f), color-stop(83%, #f0f), to(#f00));background:linear-gradient(to right, #f00 0, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);height:.2em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-black{background:black;width:1.2em;height:.2em;margin-top:.3em;margin-bottom:.3em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-white{background:white;width:1.2em;height:.2em;margin-top:.3em;margin-bottom:.3em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb{position:absolute;height:.5em;width:.5em;left:-10px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin:auto;top:0;bottom:0;-webkit-transition:border 120ms cubic-bezier(.39, .58, .57, 1);transition:border 120ms cubic-bezier(.39, .58, .57, 1);background-color:#455a64;background-clip:padding-box;color:#eceff1;border:.5em solid rgba(136,136,136,0);-webkit-border-radius:3em;border-radius:3em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb.tinymce-mobile-thumb-active{border:.5em solid rgba(136,136,136,0.39)}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group>div{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:100%;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item:not(.tinymce-mobile-serialised-dialog){height:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input{padding-top:.1em;padding-bottom:.1em;padding-left:5px;font-size:.85em;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;background:#fff;border:none;-webkit-border-radius:0;border-radius:0;color:#455a64}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::-webkit-input-placeholder{color:#888}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input:-ms-input-placeholder{color:#888}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::placeholder{color:#888}.tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed){min-height:200px}@media only screen and (orientation: landscape){.tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed){min-height:200px}}@media only screen and (min-device-width : 320px) and (max-device-width : 568px) and (orientation : landscape){.tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed){min-height:150px}}.tinymce-mobile-dropup{background:white;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;overflow:hidden}.tinymce-mobile-dropup.tinymce-mobile-dropup-shrinking{-webkit-transition:height .3s ease-out;transition:height .3s ease-out}.tinymce-mobile-dropup.tinymce-mobile-dropup-growing{-webkit-transition:height .3s ease-in;transition:height .3s ease-in}.tinymce-mobile-dropup.tinymce-mobile-dropup-closed{-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0}.tinymce-mobile-dropup.tinymce-mobile-dropup-open:not(.tinymce-mobile-dropup-growing){-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.tinymce-mobile-styles-menu{overflow:hidden;outline:4px solid black;position:relative;width:100%;font-family:sans-serif}.tinymce-mobile-styles-menu [role="menu"]{height:100%;position:absolute;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:100%}.tinymce-mobile-styles-menu [role="menu"].transitioning{-webkit-transition:-webkit-transform .5s ease-in-out;transition:-webkit-transform .5s ease-in-out;transition:transform .5s ease-in-out;transition:transform .5s ease-in-out, -webkit-transform .5s ease-in-out}.tinymce-mobile-styles-menu .tinymce-mobile-styles-item{cursor:pointer;padding:1em 1em;position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;border-bottom:1px solid #ddd;color:#455a64}.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser .tinymce-mobile-styles-collapse-icon:before{font-family:'tinymce-mobile';content:"\e314";color:#455a64}.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-styles-item-is-menu:after{font-family:'tinymce-mobile';content:"\e315";position:absolute;padding-left:1em;padding-right:1em;right:0;color:#455a64}.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-format-matches:after{font-family:'tinymce-mobile';position:absolute;padding-left:1em;padding-right:1em;right:0}.tinymce-mobile-styles-menu .tinymce-mobile-styles-separator,.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser{border-top:#455a64;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;min-height:2.5em;padding-left:1em;padding-right:1em;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;background:#eceff1;color:#455a64}.tinymce-mobile-styles-menu [data-transitioning-destination="before"][data-transitioning-state],.tinymce-mobile-styles-menu [data-transitioning-state="before"]{-webkit-transform:translate(-100%);transform:translate(-100%)}.tinymce-mobile-styles-menu [data-transitioning-destination="current"][data-transitioning-state],.tinymce-mobile-styles-menu [data-transitioning-state="current"]{-webkit-transform:translate(0);transform:translate(0)}.tinymce-mobile-styles-menu [data-transitioning-destination="after"][data-transitioning-state],.tinymce-mobile-styles-menu [data-transitioning-state="after"]{-webkit-transform:translate(100%);transform:translate(100%)}@font-face{font-family:'tinymce-mobile';src:url('fonts/tinymce-mobile.woff?8x92w3') format('woff');font-weight:normal;font-style:normal}@media (min-device-width:700px){.tinymce-mobile-outer-container,.tinymce-mobile-outer-container input{font-size:25px}}@media (max-device-width:700px){.tinymce-mobile-outer-container,.tinymce-mobile-outer-container input{font-size:18px}}.tinymce-mobile-icon{font-family:'tinymce-mobile'}.mixin-flex-and-centre{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.mixin-flex-bar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:100%}.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket{overflow:hidden;height:300px}.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-toolstrip{display:none}.tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon{position:fixed;right:2em;bottom:1em;color:white;background-color:#4682B4;-webkit-border-radius:50%;border-radius:50%;width:2.1em;height:2.1em;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;font-size:1em}@media only screen and (min-device-width:700px){.tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon{font-size:1.2em}}input[type="file"]::-webkit-file-upload-button{display:none}@media only screen and (min-device-width : 320px) and (max-device-width : 568px) and (orientation : landscape){.tinymce-mobile-ios-container .tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon{bottom:50%}}
/*# sourceMappingURL=skin.mobile.min.css.map */
\ No newline at end of file
tinymce.addI18n('zh_CN',{
"Redo": "\u91cd\u590d",
"Undo": "\u64a4\u6d88",
"Cut": "\u526a\u5207",
"Copy": "\u590d\u5236",
"Paste": "\u7c98\u8d34",
"Select all": "\u5168\u9009",
"New document": "\u65b0\u6587\u6863",
"Ok": "\u786e\u5b9a",
"Cancel": "\u53d6\u6d88",
"Visual aids": "\u7f51\u683c\u7ebf",
"Bold": "\u7c97\u4f53",
"Italic": "\u659c\u4f53",
"Underline": "\u4e0b\u5212\u7ebf",
"Strikethrough": "\u5220\u9664\u7ebf",
"Superscript": "\u4e0a\u6807",
"Subscript": "\u4e0b\u6807",
"Clear formatting": "\u6e05\u9664\u683c\u5f0f",
"Align left": "\u5de6\u5bf9\u9f50",
"Align center": "\u5c45\u4e2d",
"Align right": "\u53f3\u5bf9\u9f50",
"Justify": "\u4e24\u7aef\u5bf9\u9f50",
"Bullet list": "\u9879\u76ee\u7b26\u53f7",
"Numbered list": "\u7f16\u53f7\u5217\u8868",
"Decrease indent": "\u51cf\u5c11\u7f29\u8fdb",
"Increase indent": "\u589e\u52a0\u7f29\u8fdb",
"Close": "\u5173\u95ed",
"Formats": "\u683c\u5f0f",
"Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "\u4f60\u7684\u6d4f\u89c8\u5668\u4e0d\u652f\u6301\u5bf9\u526a\u8d34\u677f\u7684\u8bbf\u95ee\uff0c\u8bf7\u4f7f\u7528Ctrl+X\/C\/V\u952e\u8fdb\u884c\u590d\u5236\u7c98\u8d34\u3002",
"Headers": "\u6807\u9898",
"Header 1": "\u6807\u98981",
"Header 2": "\u6807\u98982",
"Header 3": "\u6807\u98983",
"Header 4": "\u6807\u98984",
"Header 5": "\u6807\u98985",
"Header 6": "\u6807\u98986",
"Headings": "\u6807\u9898",
"Heading 1": "\u6807\u98981",
"Heading 2": "\u6807\u98982",
"Heading 3": "\u6807\u98983",
"Heading 4": "\u6807\u98984",
"Heading 5": "\u6807\u98985",
"Heading 6": "\u6807\u98986",
"Preformatted": "\u9884\u683c\u5f0f\u5316",
"Div": "Div\u533a\u5757",
"Pre": "\u9884\u683c\u5f0f\u6587\u672c",
"Code": "\u4ee3\u7801",
"Paragraph": "\u6bb5\u843d",
"Blockquote": "\u5f15\u7528",
"Inline": "\u6587\u672c",
"Blocks": "\u533a\u5757",
"Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "\u5f53\u524d\u4e3a\u7eaf\u6587\u672c\u7c98\u8d34\u6a21\u5f0f\uff0c\u518d\u6b21\u70b9\u51fb\u53ef\u4ee5\u56de\u5230\u666e\u901a\u7c98\u8d34\u6a21\u5f0f\u3002",
"Font Family": "\u5b57\u4f53",
"Font Sizes": "\u5b57\u53f7",
"Class": "Class",
"Browse for an image": "\u6d4f\u89c8\u56fe\u50cf",
"OR": "\u6216",
"Drop an image here": "\u62d6\u653e\u4e00\u5f20\u56fe\u50cf\u81f3\u6b64",
"Upload": "\u4e0a\u4f20",
"Block": "\u5757",
"Align": "\u5bf9\u9f50",
"Default": "\u9ed8\u8ba4",
"Circle": "\u7a7a\u5fc3\u5706",
"Disc": "\u5b9e\u5fc3\u5706",
"Square": "\u65b9\u5757",
"Lower Alpha": "\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd",
"Lower Greek": "\u5c0f\u5199\u5e0c\u814a\u5b57\u6bcd",
"Lower Roman": "\u5c0f\u5199\u7f57\u9a6c\u5b57\u6bcd",
"Upper Alpha": "\u5927\u5199\u82f1\u6587\u5b57\u6bcd",
"Upper Roman": "\u5927\u5199\u7f57\u9a6c\u5b57\u6bcd",
"Anchor": "\u951a\u70b9",
"Name": "\u540d\u79f0",
"Id": "\u6807\u8bc6\u7b26",
"Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.": "\u6807\u8bc6\u7b26\u5e94\u8be5\u4ee5\u5b57\u6bcd\u5f00\u5934\uff0c\u540e\u8ddf\u5b57\u6bcd\u3001\u6570\u5b57\u3001\u7834\u6298\u53f7\u3001\u70b9\u3001\u5192\u53f7\u6216\u4e0b\u5212\u7ebf\u3002",
"You have unsaved changes are you sure you want to navigate away?": "\u4f60\u8fd8\u6709\u6587\u6863\u5c1a\u672a\u4fdd\u5b58\uff0c\u786e\u5b9a\u8981\u79bb\u5f00\uff1f",
"Restore last draft": "\u6062\u590d\u4e0a\u6b21\u7684\u8349\u7a3f",
"Special character": "\u7279\u6b8a\u7b26\u53f7",
"Source code": "\u6e90\u4ee3\u7801",
"Insert\/Edit code sample": "\u63d2\u5165\/\u7f16\u8f91\u4ee3\u7801\u793a\u4f8b",
"Language": "\u8bed\u8a00",
"Code sample": "\u4ee3\u7801\u793a\u4f8b",
"Color": "\u989c\u8272",
"R": "R",
"G": "G",
"B": "B",
"Left to right": "\u4ece\u5de6\u5230\u53f3",
"Right to left": "\u4ece\u53f3\u5230\u5de6",
"Emoticons": "\u8868\u60c5",
"Document properties": "\u6587\u6863\u5c5e\u6027",
"Title": "\u6807\u9898",
"Keywords": "\u5173\u952e\u8bcd",
"Description": "\u63cf\u8ff0",
"Robots": "\u673a\u5668\u4eba",
"Author": "\u4f5c\u8005",
"Encoding": "\u7f16\u7801",
"Fullscreen": "\u5168\u5c4f",
"Action": "\u64cd\u4f5c",
"Shortcut": "\u5feb\u6377\u952e",
"Help": "\u5e2e\u52a9",
"Address": "\u5730\u5740",
"Focus to menubar": "\u79fb\u52a8\u7126\u70b9\u5230\u83dc\u5355\u680f",
"Focus to toolbar": "\u79fb\u52a8\u7126\u70b9\u5230\u5de5\u5177\u680f",
"Focus to element path": "\u79fb\u52a8\u7126\u70b9\u5230\u5143\u7d20\u8def\u5f84",
"Focus to contextual toolbar": "\u79fb\u52a8\u7126\u70b9\u5230\u4e0a\u4e0b\u6587\u83dc\u5355",
"Insert link (if link plugin activated)": "\u63d2\u5165\u94fe\u63a5 (\u5982\u679c\u94fe\u63a5\u63d2\u4ef6\u5df2\u6fc0\u6d3b)",
"Save (if save plugin activated)": "\u4fdd\u5b58(\u5982\u679c\u4fdd\u5b58\u63d2\u4ef6\u5df2\u6fc0\u6d3b)",
"Find (if searchreplace plugin activated)": "\u67e5\u627e(\u5982\u679c\u67e5\u627e\u66ff\u6362\u63d2\u4ef6\u5df2\u6fc0\u6d3b)",
"Plugins installed ({0}):": "\u5df2\u5b89\u88c5\u63d2\u4ef6 ({0}):",
"Premium plugins:": "\u4f18\u79c0\u63d2\u4ef6\uff1a",
"Learn more...": "\u4e86\u89e3\u66f4\u591a...",
"You are using {0}": "\u4f60\u6b63\u5728\u4f7f\u7528 {0}",
"Plugins": "\u63d2\u4ef6",
"Handy Shortcuts": "\u5feb\u6377\u952e",
"Horizontal line": "\u6c34\u5e73\u5206\u5272\u7ebf",
"Insert\/edit image": "\u63d2\u5165\/\u7f16\u8f91\u56fe\u7247",
"Image description": "\u56fe\u7247\u63cf\u8ff0",
"Source": "\u5730\u5740",
"Dimensions": "\u5927\u5c0f",
"Constrain proportions": "\u4fdd\u6301\u7eb5\u6a2a\u6bd4",
"General": "\u666e\u901a",
"Advanced": "\u9ad8\u7ea7",
"Style": "\u6837\u5f0f",
"Vertical space": "\u5782\u76f4\u8fb9\u8ddd",
"Horizontal space": "\u6c34\u5e73\u8fb9\u8ddd",
"Border": "\u8fb9\u6846",
"Insert image": "\u63d2\u5165\u56fe\u7247",
"Image": "\u56fe\u7247",
"Image list": "\u56fe\u7247\u5217\u8868",
"Rotate counterclockwise": "\u9006\u65f6\u9488\u65cb\u8f6c",
"Rotate clockwise": "\u987a\u65f6\u9488\u65cb\u8f6c",
"Flip vertically": "\u5782\u76f4\u7ffb\u8f6c",
"Flip horizontally": "\u6c34\u5e73\u7ffb\u8f6c",
"Edit image": "\u7f16\u8f91\u56fe\u7247",
"Image options": "\u56fe\u7247\u9009\u9879",
"Zoom in": "\u653e\u5927",
"Zoom out": "\u7f29\u5c0f",
"Crop": "\u88c1\u526a",
"Resize": "\u8c03\u6574\u5927\u5c0f",
"Orientation": "\u65b9\u5411",
"Brightness": "\u4eae\u5ea6",
"Sharpen": "\u9510\u5316",
"Contrast": "\u5bf9\u6bd4\u5ea6",
"Color levels": "\u989c\u8272\u5c42\u6b21",
"Gamma": "\u4f3d\u9a6c\u503c",
"Invert": "\u53cd\u8f6c",
"Apply": "\u5e94\u7528",
"Back": "\u540e\u9000",
"Insert date\/time": "\u63d2\u5165\u65e5\u671f\/\u65f6\u95f4",
"Date\/time": "\u65e5\u671f\/\u65f6\u95f4",
"Insert link": "\u63d2\u5165\u94fe\u63a5",
"Insert\/edit link": "\u63d2\u5165\/\u7f16\u8f91\u94fe\u63a5",
"Text to display": "\u663e\u793a\u6587\u5b57",
"Url": "\u5730\u5740",
"Target": "\u6253\u5f00\u65b9\u5f0f",
"None": "\u65e0",
"New window": "\u5728\u65b0\u7a97\u53e3\u6253\u5f00",
"Remove link": "\u5220\u9664\u94fe\u63a5",
"Anchors": "\u951a\u70b9",
"Link": "\u94fe\u63a5",
"Paste or type a link": "\u7c98\u8d34\u6216\u8f93\u5165\u94fe\u63a5",
"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "\u4f60\u6240\u586b\u5199\u7684URL\u5730\u5740\u4e3a\u90ae\u4ef6\u5730\u5740\uff0c\u9700\u8981\u52a0\u4e0amailto:\u524d\u7f00\u5417\uff1f",
"The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "\u4f60\u6240\u586b\u5199\u7684URL\u5730\u5740\u5c5e\u4e8e\u5916\u90e8\u94fe\u63a5\uff0c\u9700\u8981\u52a0\u4e0ahttp:\/\/:\u524d\u7f00\u5417\uff1f",
"Link list": "\u94fe\u63a5\u5217\u8868",
"Insert video": "\u63d2\u5165\u89c6\u9891",
"Insert\/edit video": "\u63d2\u5165\/\u7f16\u8f91\u89c6\u9891",
"Insert\/edit media": "\u63d2\u5165\/\u7f16\u8f91\u5a92\u4f53",
"Alternative source": "\u955c\u50cf",
"Poster": "\u5c01\u9762",
"Paste your embed code below:": "\u5c06\u5185\u5d4c\u4ee3\u7801\u7c98\u8d34\u5728\u4e0b\u9762:",
"Embed": "\u5185\u5d4c",
"Media": "\u5a92\u4f53",
"Nonbreaking space": "\u4e0d\u95f4\u65ad\u7a7a\u683c",
"Page break": "\u5206\u9875\u7b26",
"Paste as text": "\u7c98\u8d34\u4e3a\u6587\u672c",
"Preview": "\u9884\u89c8",
"Print": "\u6253\u5370",
"Save": "\u4fdd\u5b58",
"Find": "\u67e5\u627e",
"Replace with": "\u66ff\u6362\u4e3a",
"Replace": "\u66ff\u6362",
"Replace all": "\u5168\u90e8\u66ff\u6362",
"Prev": "\u4e0a\u4e00\u4e2a",
"Next": "\u4e0b\u4e00\u4e2a",
"Find and replace": "\u67e5\u627e\u548c\u66ff\u6362",
"Could not find the specified string.": "\u672a\u627e\u5230\u641c\u7d22\u5185\u5bb9.",
"Match case": "\u533a\u5206\u5927\u5c0f\u5199",
"Whole words": "\u5168\u5b57\u5339\u914d",
"Spellcheck": "\u62fc\u5199\u68c0\u67e5",
"Ignore": "\u5ffd\u7565",
"Ignore all": "\u5168\u90e8\u5ffd\u7565",
"Finish": "\u5b8c\u6210",
"Add to Dictionary": "\u6dfb\u52a0\u5230\u5b57\u5178",
"Insert table": "\u63d2\u5165\u8868\u683c",
"Table properties": "\u8868\u683c\u5c5e\u6027",
"Delete table": "\u5220\u9664\u8868\u683c",
"Cell": "\u5355\u5143\u683c",
"Row": "\u884c",
"Column": "\u5217",
"Cell properties": "\u5355\u5143\u683c\u5c5e\u6027",
"Merge cells": "\u5408\u5e76\u5355\u5143\u683c",
"Split cell": "\u62c6\u5206\u5355\u5143\u683c",
"Insert row before": "\u5728\u4e0a\u65b9\u63d2\u5165",
"Insert row after": "\u5728\u4e0b\u65b9\u63d2\u5165",
"Delete row": "\u5220\u9664\u884c",
"Row properties": "\u884c\u5c5e\u6027",
"Cut row": "\u526a\u5207\u884c",
"Copy row": "\u590d\u5236\u884c",
"Paste row before": "\u7c98\u8d34\u5230\u4e0a\u65b9",
"Paste row after": "\u7c98\u8d34\u5230\u4e0b\u65b9",
"Insert column before": "\u5728\u5de6\u4fa7\u63d2\u5165",
"Insert column after": "\u5728\u53f3\u4fa7\u63d2\u5165",
"Delete column": "\u5220\u9664\u5217",
"Cols": "\u5217",
"Rows": "\u884c",
"Width": "\u5bbd",
"Height": "\u9ad8",
"Cell spacing": "\u5355\u5143\u683c\u5916\u95f4\u8ddd",
"Cell padding": "\u5355\u5143\u683c\u5185\u8fb9\u8ddd",
"Caption": "\u6807\u9898",
"Left": "\u5de6\u5bf9\u9f50",
"Center": "\u5c45\u4e2d",
"Right": "\u53f3\u5bf9\u9f50",
"Cell type": "\u5355\u5143\u683c\u7c7b\u578b",
"Scope": "\u8303\u56f4",
"Alignment": "\u5bf9\u9f50\u65b9\u5f0f",
"H Align": "\u6c34\u5e73\u5bf9\u9f50",
"V Align": "\u5782\u76f4\u5bf9\u9f50",
"Top": "\u9876\u90e8\u5bf9\u9f50",
"Middle": "\u5782\u76f4\u5c45\u4e2d",
"Bottom": "\u5e95\u90e8\u5bf9\u9f50",
"Header cell": "\u8868\u5934\u5355\u5143\u683c",
"Row group": "\u884c\u7ec4",
"Column group": "\u5217\u7ec4",
"Row type": "\u884c\u7c7b\u578b",
"Header": "\u8868\u5934",
"Body": "\u8868\u4f53",
"Footer": "\u8868\u5c3e",
"Border color": "\u8fb9\u6846\u989c\u8272",
"Insert template": "\u63d2\u5165\u6a21\u677f",
"Templates": "\u6a21\u677f",
"Template": "\u6a21\u677f",
"Text color": "\u6587\u5b57\u989c\u8272",
"Background color": "\u80cc\u666f\u8272",
"Custom...": "\u81ea\u5b9a\u4e49...",
"Custom color": "\u81ea\u5b9a\u4e49\u989c\u8272",
"No color": "\u65e0",
"Table of Contents": "\u5185\u5bb9\u5217\u8868",
"Show blocks": "\u663e\u793a\u533a\u5757\u8fb9\u6846",
"Show invisible characters": "\u663e\u793a\u4e0d\u53ef\u89c1\u5b57\u7b26",
"Words: {0}": "\u5b57\u6570\uff1a{0}",
"{0} words": "{0} \u5b57",
"File": "\u6587\u4ef6",
"Edit": "\u7f16\u8f91",
"Insert": "\u63d2\u5165",
"View": "\u89c6\u56fe",
"Format": "\u683c\u5f0f",
"Table": "\u8868\u683c",
"Tools": "\u5de5\u5177",
"Powered by {0}": "\u7531{0}\u9a71\u52a8",
"Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "\u5728\u7f16\u8f91\u533a\u6309ALT-F9\u6253\u5f00\u83dc\u5355\uff0c\u6309ALT-F10\u6253\u5f00\u5de5\u5177\u680f\uff0c\u6309ALT-0\u67e5\u770b\u5e2e\u52a9"
});
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
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