Commit 9e987216 by 王锐

app

parents
{
"presets": [
["env", {
"modules": false,
"targets": {
"browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
}
}],
"stage-2"
],
"plugins": ["transform-runtime", "syntax-dynamic-import"],
"env": {
"test": {
"presets": ["env", "stage-2"],
"plugins": ["istanbul"]
}
}
}
root = true
[*]
charset = utf-8
indent_style = space
indent_size = 2
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
.DS_Store
node_modules/
dist/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# Editor directories and files
.idea
*.suo
*.ntvs*
*.njsproj
*.sln
.vscode
\ No newline at end of file
// https://github.com/michael-ciniawsky/postcss-load-config
module.exports = {
"plugins": {
// to edit target browsers: use "browserslist" field in package.json
"autoprefixer": {}
}
}
# 1.0.0
rebuild done.
\ No newline at end of file
# Intro
A Vue.js template that can support more than 100 thousand lines of code in our business, I hope it can help you too~
Status: building...
## Docs
- [tutorial](/docs/tutorial.md)
## Start
run followed code in your iterm:
```
npm i
npm run dev
```
## Commands
- `npm run dev`
- `npm run start`
- `npm run build`
- `npm run mock`
- `npm run analyz`
require('./check-versions')()
process.env.NODE_ENV = 'production'
var ora = require('ora')
var rm = require('rimraf')
var path = require('path')
var chalk = require('chalk')
var webpack = require('webpack')
var config = require('../config')
var webpackConfig = require('./webpack.prod.conf')
var spinner = ora('building for production...')
spinner.start()
rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => {
if (err) throw err
webpack(webpackConfig, function (err, stats) {
spinner.stop()
if (err) throw err
process.stdout.write(stats.toString({
colors: true,
modules: false,
children: false,
chunks: false,
chunkModules: false
}) + '\n\n')
console.log(chalk.cyan(' Build complete.\n'))
console.log(chalk.yellow(
' Tip: built files are meant to be served over an HTTP server.\n' +
' Opening index.html over file:// won\'t work.\n'
))
})
})
var chalk = require('chalk')
var semver = require('semver')
var packageConfig = require('../package.json')
var shell = require('shelljs')
function exec (cmd) {
return require('child_process').execSync(cmd).toString().trim()
}
var 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 () {
var warnings = []
for (var i = 0; i < versionRequirements.length; i++) {
var mod = versionRequirements[i]
if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) {
warnings.push(mod.name + ': ' +
chalk.red(mod.currentVersion) + ' should be ' +
chalk.green(mod.versionRequirement)
)
}
}
if (warnings.length) {
console.log('')
console.log(chalk.yellow('To use this template, you must update following to modules:'))
console.log()
for (var i = 0; i < warnings.length; i++) {
var warning = warnings[i]
console.log(' ' + warning)
}
console.log()
process.exit(1)
}
}
/* eslint-disable */
require('eventsource-polyfill')
var hotClient = require('webpack-hot-middleware/client?noInfo=true&reload=true')
hotClient.subscribe(function (event) {
if (event.action === 'reload') {
window.location.reload()
}
})
require('./check-versions')()
var config = require('../config')
if (!process.env.NODE_ENV) {
process.env.NODE_ENV = JSON.parse(config.dev.env.NODE_ENV)
}
var opn = require('opn')
var path = require('path')
var express = require('express')
var webpack = require('webpack')
var proxyMiddleware = require('http-proxy-middleware')
var webpackConfig = require('./webpack.dev.conf')
// default port where dev server listens for incoming traffic
var port = process.env.PORT || config.dev.port
// automatically open browser, if not set will be false
var autoOpenBrowser = !!config.dev.autoOpenBrowser
// Define HTTP proxies to your custom API backend
// https://github.com/chimurai/http-proxy-middleware
var proxyTable = config.dev.proxyTable
var app = express()
var compiler = webpack(webpackConfig)
var devMiddleware = require('webpack-dev-middleware')(compiler, {
publicPath: webpackConfig.output.publicPath,
quiet: true
})
var hotMiddleware = require('webpack-hot-middleware')(compiler, {
log: false,
heartbeat: 2000
})
// force page reload when html-webpack-plugin template changes
compiler.plugin('compilation', function (compilation) {
compilation.plugin('html-webpack-plugin-after-emit', function (data, cb) {
hotMiddleware.publish({ action: 'reload' })
cb()
})
})
// proxy api requests
Object.keys(proxyTable).forEach(function (context) {
var options = proxyTable[context]
if (typeof options === 'string') {
options = { target: options }
}
app.use(proxyMiddleware(options.filter || context, options))
})
// handle fallback for HTML5 history API
app.use(require('connect-history-api-fallback')())
// serve webpack bundle output
app.use(devMiddleware)
// enable hot-reload and state-preserving
// compilation error display
app.use(hotMiddleware)
// serve pure static assets
var staticPath = path.posix.join(config.dev.assetsPublicPath, config.dev.assetsSubDirectory)
app.use(staticPath, express.static('./static'))
// 简易本地 mock
// app.use('/mock', express.static('./mock'))
// json-server
var jsonServer = require('json-server')
var apiServer = jsonServer.create()
var apiRouter = jsonServer.router('./mock/db.json')
var middlewares = jsonServer.defaults()
apiServer.use(middlewares)
apiServer.use('/', apiRouter)
apiServer.listen(port + 1, function () {
console.log('JSON Server is running')
})
var uri = 'http://localhost:' + port
var _resolve
var readyPromise = new Promise(resolve => {
_resolve = resolve
})
console.log('> Starting dev server...')
devMiddleware.waitUntilValid(() => {
console.log('> Listening at ' + uri + '\n')
// when env is testing, don't need open it
if (autoOpenBrowser && process.env.NODE_ENV !== 'testing') {
opn(uri)
}
_resolve()
})
var server = app.listen(port)
module.exports = {
ready: readyPromise,
close: () => {
server.close()
}
}
var path = require('path')
var config = require('../config')
var ExtractTextPlugin = require('extract-text-webpack-plugin')
exports.assetsPath = function (_path) {
var assetsSubDirectory = process.env.NODE_ENV === 'production'
? config.build.assetsSubDirectory
: config.dev.assetsSubDirectory
return path.posix.join(assetsSubDirectory, _path)
}
exports.cssLoaders = function (options) {
options = options || {}
var cssLoader = {
loader: 'css-loader',
options: {
minimize: process.env.NODE_ENV === 'production',
sourceMap: options.sourceMap
}
}
// generate loader string to be used with extract text plugin
function generateLoaders (loader, loaderOptions) {
var loaders = [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) {
var output = []
var loaders = exports.cssLoaders(options)
for (var extension in loaders) {
var loader = loaders[extension]
output.push({
test: new RegExp('\\.' + extension + '$'),
use: loader
})
}
return output
}
var utils = require('./utils')
var config = require('../config')
var isProduction = process.env.NODE_ENV === 'production'
module.exports = {
loaders: utils.cssLoaders({
sourceMap: isProduction
? config.build.productionSourceMap
: config.dev.cssSourceMap,
extract: isProduction
}),
transformToRequire: {
video: 'src',
source: 'src',
img: 'src',
image: 'xlink:href'
}
}
var webpack = require("webpack")
var path = require('path')
var utils = require('./utils')
var config = require('../config')
var vueLoaderConfig = require('./vue-loader.conf')
function resolve(dir) {
return path.join(__dirname, '..', dir)
}
var originalConfig = {
entry: {
app: './src/main.js'
},
output: {
path: config.build.assetsRoot,
filename: '[name].js',
publicPath: process.env.NODE_ENV === 'production' ?
config.build.assetsPublicPath : config.dev.assetsPublicPath
},
resolve: {
extensions: ['.js', '.vue', '.json'],
alias: {
'vue$': 'vue/dist/vue.esm.js',
'@': resolve('src'),
'~': resolve('node_modules'),
'Views': resolve('src/views'),
'Store': resolve('src/store'),
'Utils': resolve('src/utils'),
'Config': resolve('src/config'),
'Routes': resolve('src/routes'),
'Assets': resolve('src/assets'),
'Service': resolve('src/service'),
'Plugins': resolve('src/Plugins'),
'Components': resolve('src/Components'),
'Directives': resolve('src/directives'),
'styles': resolve('src/assets/styles'),
}
},
plugins: [
new webpack.ProvidePlugin({
$: "jquery",
jQuery: "jquery"
})
],
module: {
rules: [{
test: /\.vue$/,
loader: 'vue-loader',
options: vueLoaderConfig
},
{
test: /\.js$/,
loader: 'babel-loader',
include: [resolve('src'), resolve('test')]
},
{
test: /\.(css|scss)$/,
loader: 'style!css!sass',
include: [resolve('src')]
},
{
test: /\.less$/,
loader: 'style!css!less',
include: [resolve('src')]
},
{
test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
loader: 'url-loader',
options: {
limit: 10000,
name: utils.assetsPath('img/[name].[hash:7].[ext]')
}
},
{
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]')
}
}
]
}
}
const vuxLoader = require('vux-loader')
const webpackConfig = originalConfig // 原来的 module.exports 代码赋值给变量 webpackConfig
module.exports = vuxLoader.merge(webpackConfig, {
plugins: ['vux-ui']
})
\ No newline at end of file
var utils = require('./utils')
var webpack = require('webpack')
var config = require('../config')
var merge = require('webpack-merge')
var baseWebpackConfig = require('./webpack.base.conf')
var HtmlWebpackPlugin = require('html-webpack-plugin')
var FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin')
// add hot-reload related code to entry chunks
Object.keys(baseWebpackConfig.entry).forEach(function(name) {
baseWebpackConfig.entry[name] = ['./build/dev-client'].concat(baseWebpackConfig.entry[name])
})
module.exports = merge(baseWebpackConfig, {
module: {
rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap })
},
// cheap-module-eval-source-map is faster for development
devtool: '#cheap-module-eval-source-map',
plugins: [
new webpack.DefinePlugin({
'process.env': config.dev.env
}),
// https://github.com/glenjamin/webpack-hot-middleware#installation--usage
new webpack.HotModuleReplacementPlugin(),
new webpack.NoEmitOnErrorsPlugin(),
// https://github.com/ampedandwired/html-webpack-plugin
new HtmlWebpackPlugin({
filename: 'index.html',
template: 'index.html',
inject: true
}),
new FriendlyErrorsPlugin()
]
})
\ No newline at end of file
var path = require('path')
var utils = require('./utils')
var webpack = require('webpack')
var config = require('../config')
var merge = require('webpack-merge')
var baseWebpackConfig = require('./webpack.base.conf')
var CopyWebpackPlugin = require('copy-webpack-plugin')
var HtmlWebpackPlugin = require('html-webpack-plugin')
var ExtractTextPlugin = require('extract-text-webpack-plugin')
var OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin')
var CleanWebpackPlugin = require('clean-webpack-plugin')
var env = config.build.env
var webpackConfig = merge(baseWebpackConfig, {
module: {
rules: utils.styleLoaders({
sourceMap: config.build.productionSourceMap,
extract: true
})
},
devtool: config.build.productionSourceMap ? '#source-map' : false,
output: {
path: config.build.assetsRoot,
filename: utils.assetsPath('js/[name].[chunkhash].js'),
chunkFilename: utils.assetsPath('js/[id].[chunkhash].js')
},
plugins: [
new CleanWebpackPlugin(
['dist/**.*.js'],  //匹配删除的文件
{
root: __dirname,           //根目录
verbose: true,           //开启在控制台输出信息
dry: false           //启用删除文件
}
),
// http://vuejs.github.io/vue-loader/en/workflow/production.html
new webpack.DefinePlugin({
'process.env': env
}),
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false
},
sourceMap: true
}),
// extract css into its own file
new ExtractTextPlugin({
filename: utils.assetsPath('css/[name].[contenthash].css')
}),
// Compress extracted CSS. We are using this plugin so that possible
// duplicated CSS from different components can be deduped.
new OptimizeCSSPlugin({
cssProcessorOptions: {
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'
}),
// split vendor js into its own file
new webpack.optimize.CommonsChunkPlugin({
name: 'vendor',
minChunks: function (module, count) {
// any required modules inside node_modules are extracted to vendor
return (
module.resource &&
/\.js$/.test(module.resource) &&
module.resource.indexOf(
path.join(__dirname, '../node_modules')
) === 0
)
}
}),
// extract webpack runtime and module manifest to its own file in order to
// prevent vendor hash from being updated whenever app bundle is updated
new webpack.optimize.CommonsChunkPlugin({
name: 'manifest',
chunks: ['vendor']
}),
// copy custom static assets
new CopyWebpackPlugin([
{
from: path.resolve(__dirname, '../static'),
to: config.build.assetsSubDirectory,
ignore: ['.*']
}
])
]
})
if (config.build.productionGzip) {
var CompressionWebpackPlugin = require('compression-webpack-plugin')
webpackConfig.plugins.push(
new CompressionWebpackPlugin({
asset: '[path].gz[query]',
algorithm: 'gzip',
test: new RegExp(
'\\.(' +
config.build.productionGzipExtensions.join('|') +
')$'
),
threshold: 10240,
minRatio: 0.8
})
)
}
if (config.build.bundleAnalyzerReport) {
var BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
webpackConfig.plugins.push(new BundleAnalyzerPlugin())
}
module.exports = webpackConfig
var merge = require('webpack-merge')
var prodEnv = require('./prod.env')
module.exports = merge(prodEnv, {
NODE_ENV: '"development"',
BASE_API: '"/api"'
})
// see http://vuejs-templates.github.io/webpack for documentation.
var path = require('path')
module.exports = {
build: {
env: require('./prod.env'),
index: path.resolve(__dirname, '../dist/index.html'),
assetsRoot: path.resolve(__dirname, '../dist'),
assetsSubDirectory: 'static',
assetsPublicPath: './',
productionSourceMap: true,
// Gzip off by default as many popular static hosts such as
// Surge or Netlify already gzip all static assets for you.
// Before setting to `true`, make sure to:
// npm install --save-dev compression-webpack-plugin
productionGzip: false,
productionGzipExtensions: ['js', 'css'],
// Run the build command with an extra argument to
// View the bundle analyzer report after build finishes:
// `npm run build --report`
// Set to `true` or `false` to always turn it on or off
bundleAnalyzerReport: process.env.npm_config_report
},
dev: {
env: require('./dev.env'),
port: 8080,
autoOpenBrowser: true,
assetsSubDirectory: 'static',
assetsPublicPath: '/',
proxyTable: {
'/api': {
target: 'http://demo.dcloud.net.cn', // 接口的域名
// secure: false, // 如果是https接口,需要配置这个参数
changeOrigin: true, // 如果接口跨域,需要进行这个参数配置
pathRewrite: {
'^/api': '/api'
}
}
},
// CSS Sourcemaps off by default because relative paths are "buggy"
// with this option, according to the CSS-Loader README
// (https://github.com/webpack/css-loader#sourcemaps)
// In our experience, they generally work as expected,
// just be aware of this issue when enabling this option.
cssSourceMap: false
},
}
\ No newline at end of file
module.exports = {
NODE_ENV: '"production"'
}
[0325/091852.500:ERROR:http_transport_win.cc(276)] WinHttpSendRequest: ɹɡ (0x0)
## 浅谈 Vue 中构建前端 10w+ 代码量的单页面应用
随着业务的不断累积,目前我们 `ToC 端主要项目`,除去 `node_modules``build 配置文件``dist 静态资源文件`的代码量为 `137521` 行,除去统计过渡的代码,也在 `10w+` 行,`后台管理系统下各个子应用代码`除去依赖等文件的总行数也达到 `100w` 多一点。
本文会在主要描述构建过程中,遇到或者总结的点,可能并不适合你的业务场景,我会尽可能多的描述问题与其中的思考,最大可能的帮助到需要的开发者,也辛苦开发者发现问题或者不合理/不正确的地方及时向我反馈,会尽快修改,末尾会附上 `github` 地址,欢迎有更好的实现方式来 `pr`
### ① 单页面,多页面
首先要思考我们的项目最终的`构建主体``单页面`,还是`多页面`,还是`单页 + 多页`,通过他们的优缺点来分析:
- **单页面(SPA)**
- 优点:体验好,路由之间跳转流程,可定制转场动画,使用了`懒加载`可有效减少首页白屏时间,相较于`多页面`减少了用户访问静态资源服务器的次数等。
- 缺点:初始会加载较大的静态资源,并且随着业务增长会越来越大,`懒加载`也有他的弊端,不做特殊处理不利于 SEO 等。
- **多页面(MPA)**
- 优点:对搜索引擎友好,开发难度较低。
- 缺点:资源请求较多,整页刷新体验较差,页面间传递数据只能依赖 `URL``cookie``storage` 等方式,较为局限。
- **SPA + MPA**
- 这种方式常见于较`老 MPA 项目迁移至 SPA 的情况`,缺点结合两者,两种主体通信方式也只能以兼容`MPA 为准`
- 不过这种方式也有他的好处,假如你的 SPA 中,有类似文章分享这样(没有后端直出,后端返 `HTML 串`的情况下),想保证用户体验在 SPA 中开发一个页面,在 MPA 中也开发一个页面,去掉没用的依赖,或者直接用原生 JS 来开发,分享出去是 MPA 的文章页面,这样可以**加快分享出去的打开速度,同时也能减少静态资源服务器的压力**,因为如果分享出去的是 SPA 的文章页面,那 SPA 所需的静态资源`至少都需要去进行协商请求`,当然如果服务配置了强缓存就忽略以上所说。
我们首先根据业务所需,来最终确定`构建主体`,而我们选择了`体验至上的 SPA`,并选用 `Vue` 技术栈。
### ② 目录结构
其实我们看开源的绝大部分项目中,目录结构都会差不太多,我们可以综合一下来个通用的 `src` 目录:
```
src
├── assets // 资源目录 图片,样式,iconfont
├── common // 全局业务组件目录
├── components // 全局通用组件目录
├── config // 项目配置,拦截器,开关
├── plugins // 插件相关,生成路由、请求、store 等实例,并挂载 Vue 实例
├── directives // 拓展指令集合
├── routes // 路由配置
├── service // 服务层
├── utils // 工具类
└── views // 视图层
```
### ③ 业务组件,通用组件
#### 业务组件
`common` 中我们通常会存放如的 header,footer 等根据业务会自定义一些特有样式或逻辑,无法供其他业务使用的组件。
#### 通用组件
`components` 中我们会存放 UI 组件库中的那些常见通用组件了,在项目中直接通过设置`别名`来使用,如果其他项目需要使用,就发到 `npm` 上。
#### 结构
```
// components 简易结构
components
├── dist
├── build
├── src
├── modal
├── toast
└── ...
├── index.js
└── package.json
```
#### 项目中使用
如果想最终编译成 `es5`,直接在 html 中使用或者部署 CDN 上,在 `build` 配置简单的打包逻辑,搭配着 `package.json` 构建 UI组件 的自动化打包发布,最终部署 `dist` 下的内容,并发布到 `npm` 上即可。
而我们也可直接使用 `es6` 的代码:
```js
import 'Components/src/modal'
```
其他项目使用,假设我们发布的 `npm 包``bm-ui`,并且下载到了本地 `npm i bm-ui -S`:
修改项目的最外层打包配置,在 rules 里 `babel-loader``happypack` 中添加 `include``node_modules/bm-ui`
```js
// webpack.base.conf
...
rules: [{
test: /\.vue$/,
loader: 'vue-loader',
options: vueLoaderConfig
},
{
test: /\.js$/,
loader: 'babel-loader',
// 这里添加
include: [resolve('src'), resolve('test'), resolve('node_modules/bm-ui')]
},{
...
}]
...
```
然后直接在项目中使用即可:
```
import { modal } from 'bm-ui'
```
#### 多个组件库
同时有多个组件库的话,又或者有同学专门进行组件开发的话,把 `components
内部细分`一下,多一个文件分层。
```
components
├── bm-ui-1
├── bm-ui-2
└── ...
```
你的打包配置文件可以放在 `components` 下,进行统一打包,当然如果要开源出去还是放在对应库下。
### ④ 全局配置,插件与拦截器
这个点其实会是项目中经常被忽略的,或者说很少聚合到一起,但同时我认为是**整个项目中重要之一**
#### 全局配置,拦截器目录结构
```
config
├── base.js // 全局配置/开关
├── routes // 路由表关系配置
├── interceptors // 拦截器
├── index.js // 入口文件
├── axios.js // 请求/响应拦截
├── router.js // 路由拦截
└── ...
└── ...
```
#### 全局配置
我们在 `config/index.js` 可能会有如下配置:
```js
// config/index.js
// 当前宿主平台
export const HOST_PLATFORM = 'WEB'
// 这个就不多说了
export const NODE_ENV = process.env.NODE_ENV || 'prod'
// 是否强制所有请求访问本地 MOCK,看到这里同学不难猜到,每个请求也可以单独控制是否请求 MOCK
export const AJAX_LOCALLY_ENABLE = false
// 是否开启监控
export const MONITOR_ENABLE = true
// 路由默认配置,路由表并不从此注入
export const ROUTER_DEFAULT_CONFIG = {
waitForData: true,
transitionOnLoad: true
}
// axios 默认配置
export const AXIOS_DEFAULT_CONFIG = {
timeout: 20000,
maxContentLength: 2000,
headers: {}
}
// vuex 默认配置
export const VUEX_DEFAULT_CONFIG = {
strict: process.env.NODE_ENV !== 'production'
}
// API 默认配置
export const API_DEFAULT_CONFIG = {
mockBaseURL: '',
mock: true,
debug: false,
sep: '/'
}
// CONST 默认配置
export const CONST_DEFAULT_CONFIG = {
sep: '/'
}
// 还有一些业务相关的配置
// ...
// 还有一些方便开发的配置
export const CONSOLE_REQUEST_ENABLE = true // 开启请求参数打印
export const CONSOLE_RESPONSE_ENABLE = true // 开启响应参数打印
export const CONSOLE_MONITOR_ENABLE = true // 监控记录打印
```
可以看出这里汇集了项目中**所有用到的配置**,下面我们在 `plugins` 中实例化插件,注入对应配置,目录如下:
#### 插件目录结构
```
plugins
├── inject.js // 注入 Vue 原型插件
├── router.js // 路由实例插件
├── axios.js // 请求实例插件
├── api.js // 服务层 api 插件
├── const.js // 服务层 const 插件
└── store.js // vuex 实例插件
```
#### 实例化插件并注入配置
这里先举出两个例子,看我们是如何注入配置,拦截器并实例化的
实例化 `router`
```js
import Vue from 'vue'
import Router from 'vue-router'
import ROUTES from 'Routes'
import {ROUTER_DEFAULT_CONFIG} from 'Config/index'
import {routerBeforeEachFunc} from 'Config/interceptors/router'
Vue.use(Router)
// 注入默认配置和路由表
let routerInstance = new Router({
...ROUTER_DEFAULT_CONFIG,
routes: ROUTES
})
// 注入拦截器
routerInstance.beforeEach(routerBeforeEachFunc)
export default routerInstance
```
实例化 `axios`
```js
import axios from 'axios'
import {AXIOS_DEFAULT_CONFIG} from 'Config/index'
import {requestSuccessFunc, requestFailFunc, responseSuccessFunc, responseFailFunc} from 'Config/interceptors/axios'
let axiosInstance = {}
axiosInstance = axios.create(AXIOS_DEFAULT_CONFIG)
// 注入请求拦截
axiosInstance
.interceptors.request.use(requestSuccessFunc, requestFailFunc)
// 注入失败拦截
axiosInstance
.interceptors.response.use(responseSuccessFunc, responseFailFunc)
export default axiosInstance
```
我们在 `main.js` **注入插件**
```js
// main.js
import Vue from 'vue'
GLOBAL.vbus = new Vue()
// import 'Components'// 全局组件注册
import 'Directives' // 指令
// 引入插件
import router from 'Plugins/router'
import inject from 'Plugins/inject'
import store from 'Plugins/store'
// 引入组件库及其组件库样式
import VueOnsen from 'vue-onsenui'
import 'onsenui/css/onsenui.css'
import 'onsenui/css/onsen-css-components.css'
// 引入根组件
import App from './App'
Vue.use(inject)
Vue.use(VueOnsen)
// render
new Vue({
el: '#app',
router,
store,
template: '<App/>',
components: { App }
})
```
`axios` 实例我们并没有直接引用,相信你也猜到他是通过 `inject` 插件引用的,我们看下 `inject`
```js
import axios from './axios'
import api from './api'
import consts from './const'
GLOBAL.ajax = axios
export default {
install: (Vue, options) => {
Vue.prototype.$api = api
Vue.prototype.$ajax = axios
Vue.prototype.$const = consts
// 需要挂载的都放在这里
}
}
```
这里可以挂载你想在业务中( `vue` 实例中)便捷访问的 `api`,除了 `$ajax` 之外,`api``const` 两个插件是我们**服务层中主要的功能**,后续会介绍,这样我们插件流程大致运转起来,下面写对应拦截器的方法。
#### 请求,路由拦截器
`ajax 拦截器`中(`config/interceptors/axios.js`):
```js
// config/interceptors/axios.js
import {CONSOLE_REQUEST_ENABLE, CONSOLE_RESPONSE_ENABLE} from '../index.js'
export function requestSuccessFunc (requestObj) {
CONSOLE_REQUEST_ENABLE && console.info('requestInterceptorFunc', `url: ${requestObj.url}`, requestObj)
// 自定义请求拦截逻辑,可以处理权限,请求发送监控等
// ...
return requestObj
}
export function requestFailFunc (requestError) {
// 自定义发送请求失败逻辑,断网,请求发送监控等
// ...
return Promise.reject(requestError);
}
export function responseSuccessFunc (responseObj) {
// 自定义响应成功逻辑,全局拦截接口,根据不同业务做不同处理,响应成功监控等
// ...
// 假设我们请求体为
// {
// code: 1010,
// msg: 'this is a msg',
// data: null
// }
let resData = responseObj.data
let {code} = resData
switch(code) {
case 0: // 如果业务成功,直接进成功回调
return resData.data;
case 1111:
// 如果业务失败,根据不同 code 做不同处理
// 比如最常见的授权过期跳登录
// 特定弹窗
// 跳转特定页面等
location.href = xxx // 这里的路径也可以放到全局配置里
return;
default:
// 业务中还会有一些特殊 code 逻辑,我们可以在这里做统一处理,也可以下方它们到业务层
!responseObj.config.noShowDefaultError && GLOBAL.vbus.$emit('global.$dialog.show', resData.msg);
return Promise.reject(resData);
}
}
export function responseFailFunc (responseError) {
// 响应失败,可根据 responseError.message 和 responseError.response.status 来做监控处理
// ...
return Promise.reject(responseError);
}
```
定义`路由拦截器`(`config/interceptors/router.js`):
```js
// config/interceptors/router.js
export function routerBeforeFunc (to, from, next) {
// 这里可以做页面拦截,很多后台系统中也非常喜欢在这里面做权限处理
// next(...)
}
```
最后在`入口文件(config/interceptors/index.js)`中引入并暴露出来即可:
```js
import {requestSuccessFunc, requestFailFunc, responseSuccessFunc, responseFailFunc} from './ajax'
import {routerBeforeEachFunc} from './router'
let interceptors = {
requestSuccessFunc,
requestFailFunc,
responseSuccessFunc,
responseFailFunc,
routerBeforeEachFunc
}
export default interceptors
```
请求拦截这里代码都很简单,对于 `responseSuccessFunc` 中 switch `default` 逻辑做下简单说明:
1. `responseObj.config.noShowDefaultError` 这里可能不太好理解
我们在请求的时候,可以传入一个 axios 中并没有意义的 `noShowDefaultError` 参数为我们业务所用,当值为 false 或者不存在时,我们会触发全局事件 `global.dialog.show``global.dialog.show`我们会注册在 `app.vue` 中:
```js
// app.vue
export default {
...
created() {
this.bindEvents
},
methods: {
bindEvents() {
GLOBAL.vbus.$on('global.dialog.show', (msg) => {
if(msg) return
// 我们会在这里注册全局需要操控试图层的事件,方便在非业务代码中通过发布订阅调用
this.$dialog.popup({
content: msg
});
})
}
...
}
}
```
2. `GLOBAL` 是我们挂载 `window` 上的`全局对象`,我们把需要挂载的东西都放在 `window.GLOBAL` 里,减少命名空间冲突的可能。
3. `vbus` 其实就是我们开始 `new Vue()` 挂载上去的
```
GLOBAL.vbus = new Vue()
```
4. 我们在这里 `Promise.reject` 出去,我们就可以在 `error` 回调里面只处理我们的业务逻辑,而其他如`断网``超时``服务器出错`等均通过拦截器进行统一处理。
可以对比下**处理前后在业务中的使用代码**
**拦截器处理前**
```js
this.$axios.get('test_url').then(({code, data}) => {
if( code === 1010 ) {
// 业务成功
} else if ()
// em... 各种业务不成功处理,如果遇到通用的处理,还需要抽离出来
}, error => {
// 需要根据 error 做各种抽离好的处理逻辑,断网,超时等等...
})
```
**拦截器处理后**
```js
<!--业务失败走默认弹窗逻辑的情况-->
this.$axios.get('test_url').then(({data}) => {
// 业务成功,直接操作 data 即可
})
<!--业务失败自定义-->
this.$axios.get('test_url', {
noShowDefaultError: true // 可选
}).then(({data}) => {
// 业务成功,直接操作 data 即可
}, (code, msg) => {
// 当有特定 code 需要特殊处理,传入 noShowDefaultError:true,在这个回调处理就行
})
```
#### **为什么要如此配置与拦截器?**
> 在应对项目开发过程中需求的不可预见性时,让我们能处理的更快更好
到这里很多同学会觉得,就这么简单的引入判断,可有可无,
就如我们最近做的一个需求来说,我们 ToC 端项目之前一直是在微信公众号中打开的,而我们需要在小程序中通过 webview 打开大部分流程,而我们也`没有时间,没有空间`在小程序中重写近 100 + 的页面流程,**这是我们开发之初并没有想到的**。这时候必须把项目兼容到小程序端,在兼容过程中可能需要解决以下问题:
1. 请求路径完全不同。
2. 需要兼容两套不同的权限系统。
3. 有些流程在小程序端需要做改动,跳转到特定页面。
4. 有些公众号的 `api` ,在小程序中无用,需要调用小程序的逻辑,需要做兼容。
5. 很多也页面上的元素,小程序端不做展示等。
> 可以看出,稍微不慎,会影响公众号现有逻辑。
* 添加请求拦截 `interceptors/minaAjax.js``interceptors/minaRouter.js`,原有的换更为 `interceptors/officalAjax.js``interceptors/officalRouter.js`,在入口文件`interceptors/index.js`**根据当前`宿主平台`,也就是全局配置 `HOST_PLATFORM`,通过`代理模式`和`策略模式`,注入对应平台的拦截器****在`minaAjax.js`中重写请求路径和权限处理,在 `minaRouter.js` 中添加页面拦截配置,跳转到特定页面**,这样一并解决了上面的`问题 1,2,3`
* `问题 4` 其实也比较好处理了,拷贝需要兼容 `api` 的页面,重写里面的逻辑,通过`路由拦截器一并做跳转处理`
* `问题 5` 也很简单,拓展两个**自定义指令 v-mina-show 和 v-mina-hide** ,在展示不同步的地方可以直接使用指令。
最终用最少的代码,最快的时间完美上线,丝毫没影响到现有 toC 端业务,而且**这样把所有兼容逻辑绝大部分聚合到了一起,方便二次拓展和修改。**
虽然这只是根据自身业务结合来说明,可能没什么说服力,不过不难看出全局配置/拦截器 虽然代码不多,但却是整个项目的核心之一,我们可以在里面做更多 `awesome` 的事情。
### ⑤ 路由配置与懒加载
`directives` 里面没什么可说的,不过很多难题都可以通过他来解决,要时刻记住,我们可以再指令里面**操作虚拟 DOM。**
#### 路由配置
而我们根据自己的业务性质,最终根据业务流程来拆分配置:
```
routes
├── index.js // 入口文件
├── common.js // 公共路由,登录,提示页等
├── account.js // 账户流程
├── register.js // 挂号流程
└── ...
```
最终通过 index.js 暴露出去给 `plugins/router` 实例使用,这里的划分有两个注意的地方:
- 需要根据自己业务性质来决定,有的项目可能适合`业务线`划分,有的项目更适合以 `功能` 划分。
- 在多人协作过程中,尽可能避免冲突,或者减少冲突。
#### 拦截器
文章开头说到单页面静态资源过大,`首次打开/每次版本升级`后都会较慢,可以用`懒加载`来拆分静态资源,减少白屏时间,但开头也说到`懒加载`也有待商榷的地方:
- 如果异步加载较多的组件,会给静态资源服务器/ CDN 带来更大的访问压力的同时,如果当多个异步组件都被修改,造成版本号的变动,发布的时候会大大增加 CDN 被击穿的风险。
- 懒加载首次加载未被缓存的异步组件白屏的问题,造成用户体验不好。
- 异步加载通用组件,会在页面可能会在网络延时的情况下参差不齐的展示出来等。
这就需要我们根据项目情况在`空间和时间`上做一些权衡。
以下几点可以作为简单的参考:
- 对于访问量可控的项目,如`公司后台管理系统`中,可以以操作 view 为单位进行异步加载,通用组件全部同步加载的方式。
- 对于一些复杂度较高,实时度较高的应用类型,可采用按`功能模块拆分`进行异步组件加载。
- 如果项目想保证比较高的完整性和体验,迭代频率可控,不太关心首次加载时间的话,可按需使用异步加载或者直接不使用。
> 打包出来的 main.js 的大小,绝大部分都是在路由中引入的并注册的视图组件。
### ⑥ Service 服务层
服务层作为项目中的另一个核心之一,“自古以来”都是大家比较关心的地方。
不知道你是否看到过如下组织代码方式:
```
views/
pay/
index.vue
service.js
components/
a.vue
b.vue
```
`service.js` 中写入编写数据来源
```js
export const CONFIAG = {
apple: '苹果',
banana: '香蕉'
}
// ...
// ① 处理业务逻辑,还弹窗
export function getBInfo ({name = '', id = ''}) {
return this.$ajax.get('/api/info', {
name,
id
}).then({age} => {
this.$modal.show({
content: age
})
})
}
// ② 不处理业务,仅仅写请求方法
export function getAInfo ({name = '', id = ''}) {
return this.$ajax.get('/api/info', {
name,
id
})
}
...
```
简单分析:
- ① 就不多说了,拆分的不够单纯,当做二次开发的时候,你还得去找这弹窗到底哪里出来的。
- ② 看起来很美好,不掺杂业务逻辑,但不知道你与没遇到过这样情况,**经常会有其他业务需要用到一样的枚举,请求一样的接口,而开发其他业务的同学并不知道你在这里有一份数据源,最终造成的结果就是数据源的代码到处冗余**
我相信②在绝大多数项目中都能看到。
那么我们的目的就很明显了,**解决冗余,方便使用**,我们把枚举和请求接口的方法,通过插件,挂载到一个大对象上,注入 Vue 原型,方面业务使用即可。
首先抽离请求接口模型,可按照领域模型抽离 (`service/api/index.js`):
```js
{
user: [{
name: 'info',
method: 'GET',
desc: '测试接口1',
path: '/api/info',
mockPath: '/api/info',
params: {
a: 1,
b: 2
}
}, {
name: 'info2',
method: 'GET',
desc: '测试接口2',
path: '/api/info2',
mockPath: '/api/info2',
params: {
a: 1,
b: 2,
b: 3
}
}],
order: [{
name: 'change',
method: 'POST',
desc: '订单变更',
path: '/api/order/change',
mockPath: '/api/order/change',
params: {
type: 'SUCCESS'
}
}]
...
}
```
试想一下我们需要几个简单的功能:
- 请求参数自动截取。
- 请求参数不穿则发送默认配置参数。
- 得需要命名空间。
- 通过全局配置开启调试模式。
- 通过全局配置来控制走本地 mock 还是线上接口等。
定制好功能,开始编写简单的 plugins/api.js 插件:
**目录层级(仅供参考)**
```
service
├── api
├── index.js // 入口文件
├── order.js // 订单相关接口配置
└── ...
├── const
├── index.js // 入口文件
├── order.js // 订单常量接口配置
└── ...
├── store // vuex 状态管理
├── expands // 拓展
├── monitor.js // 监控
├── beacon.js // 打点
├── localstorage.js // 本地存储
└── ... // 按需拓展
└── ...
```
```js
import axios from './axios'
import _pick from 'lodash/pick'
import _assign from 'lodash/assign'
import _isEmpty from 'lodash/isEmpty'
import { assert } from 'Utils/tools'
import { API_DEFAULT_CONFIG } from 'Config'
import API_CONFIG from 'Service/api'
class MakeApi {
constructor(options) {
this.api = {}
this.apiBuilder(options)
}
apiBuilder({
sep = '|',
config = {},
mock = false,
debug = false,
mockBaseURL = ''
}) {
Object.keys(config).map(namespace => {
this._apiSingleBuilder({
namespace,
mock,
mockBaseURL,
sep,
debug,
config: config[namespace]
})
})
}
_apiSingleBuilder({
namespace,
sep = '|',
config = {},
mock = false,
debug = false,
mockBaseURL = ''
}) {
config.forEach( api => {
const {name, desc, params, method, path, mockPath } = api
let apiname = `${namespace}${sep}${name}`,// 命名空间
url = mock ? mockPath : path,//控制走 mock 还是线上
baseURL = mock && mockBaseURL
// 通过全局配置开启调试模式。
debug && console.info(`调用服务层接口${apiname},接口描述为${desc}`)
debug && assert(name, `${apiUrl} :接口name属性不能为空`)
debug && assert(apiUrl.indexOf('/') === 0, `${apiUrl} :接口路径path,首字符应为/`)
Object.defineProperty(this.api, `${namespace}${sep}${name}`, {
value(outerParams, outerOptions) {
// 请求参数自动截取。
// 请求参数不穿则发送默认配置参数。
let _data = _isEmpty(outerParams) ? params : _pick(_assign({}, params, outerParams), Object.keys(params))
return axios(_normoalize(_assign({
url,
desc,
baseURL,
method
}, outerOptions), _data))
}
})
})
}
}
function _normoalize(options, data) {
if (options.method === 'POST') {
options.data = data
} else if (options.method === 'GET') {
options.params = data
}
return options
}
// 注入模型和全局配置,并暴露出去
export default new MakeApi({
config: API_CONFIG,
...API_DEFAULT_CONFIG
})['api']
```
挂载到 `Vue 原型`上,上文有说到,通过 `plugins/inject.js`
```js
import api from './api'
export default {
install: (Vue, options) => {
Vue.prototype.$api = api
// 需要挂载的都放在这里
}
}
```
这样我们可以在`业务中`愉快的使用业务层代码:
```js
// .vue 中
export default {
methods: {
test() {
this.$api['order/info']({
a: 1,
b: 2
})
}
}
}
```
即使在`业务之外`也可以使用:
```js
import api from 'Plugins/api'
api['order/info']({
a: 1,
b: 2
})
```
**当然对于`运行效率要求高`的项目中,`避免内存使用率过大`,我们把命名空间支持成驼峰,直接用解构的方式引入使用,最终利用 `webpack` 的 `tree-shaking` 减少打包体积即可。**
```js
import {orderInfo as getOrderInfo} from 'Plugins/api'
getOrderInfo({
a: 1,
b: 2
})
```
> 一般来说,多人协作时候大家都可以先看 `api` 是否有对应接口,当业务量上来的时候,也肯定会有人出现找不到,或者找起来比较费劲,这时候我们完全可以在 请求拦截器中,把当前请求的 `url` 和 `api` 中的请求做下判断,如果有重复接口请求路径,则提醒开发者已经配置相关请求,根据情况是否进行二次配置即可。
最终我们可以拓展 Service 层的各个功能:
**基础**
- **api**`异步与后端交互`
- **const**`常量枚举`
- **store**`Vuex` 状态管理
**拓展**
- **localStorage**:本地数据,稍微封装下,支持存取对象即可
- **monitor**`监控`功能,自定义搜集策略,调用 `api` 中的接口发送
- **beacon**`打点`功能,自定义搜集策略,调用 `api` 中的接口发送
- ...
`const``localStorage``monitor``beacon` 根据业务自行拓展暴露给业务使用即可,思想也是一样的,下面着重说下 `store(Vuex)`
### 状态管理与视图拆分
[Vuex 源码分析可以看我之前写的文章](https://github.com/PerseveranceZ/zero-blog/issues/2)
#### 我们是不是真的需要状态管理?
> 答案是否定的,就算你的项目达到 10 万行代码,那也并不意味着你必须使用 Vuex,应该由**业务场景**决定。
#### 业务场景
1. 第一类项目:**业务/视图复杂度不高,不建议使用 Vuex,会带来开发与维护的成本**,使用简单的 `vbus` 做好**命名空间**,来解耦即可。
```js
let vbus = new Vue()
vbus.$on('print.hello', () => {
console.log('hello')
})
vbus.$emit('print.hello')
```
2. 第二类项目:类似`多人协作项目管理``有道云笔记``网易云音乐``微信网页版/桌面版`**应用**,功能集中,空间利用率高,实时交互的项目,无疑 `Vuex 是较好的选择`。这类应用中我们可以直接`抽离业务领域模型`
```
store
├── index.js
├── actions.js // 根级别 action
├── mutations.js // 根级别 mutation
└── modules
├── user.js // 用户模块
├── products.js // 产品模块
├── order.js // 订单模块
└── ...
```
当然对于这类项目,[vuex 或许不是最好的选择]()。
3. 第三类项目:`后台系统`或者`页面之间业务耦合不高的项目`,这类项目是占比应该是很大的,我们思考下这类项目:
全局共享状态不多,但是难免在某个模块中会有复杂度较高的功能(客服系统,实时聊天,多人协作功能等),这时候如果为了项目的可管理性,我们也在 store 中进行管理,随着项目的迭代我们不难遇到这样的情况:
```
store/
...
modules/
b.js
...
views/
...
a/
b.js
...
```
- 试想下有几十个 module,对应这边上百个业务模块,开发者在两个平级目录之间调试与开发的成本是巨大的。
- 这些 module 可以在项目中任一一个地方被访问,但往往他们都是冗余的,除了引用的功能模块之外,基本不会再有其他模块引用他。
- 项目的可维护程度会随着项目增大而增大。
#### 如何解决第三类项目的 store 使用问题?
先梳理我们的目标:
- 项目中模块可以自定决定是否使用 Vuex。(渐进增强)
- **从有状态管理的模块,跳转没有的模块,我们不想把之前的状态挂载到 `store` 上,想提高运行效率**。(冗余)
- 让这类项目的状态管理变的更加可维护。(开发成本/沟通成本)
#### 实现
我们借助 Vuex 提供的 `registerModule``unregisterModule` 一并解决这些问题,我们在 `service/store` 中放入全局共享的状态:
```
service/
store/
index.js
actions.js
mutations.js
getters.js
state.js
```
> 一般这类项目全局状态不多,如果多了拆分 module 即可。
编写插件生成 `store 实例`
```js
import Vue from 'vue'
import Vuex from 'vuex'
import {VUEX_DEFAULT_CONFIG} from 'Config'
import commonStore from 'Service/store'
Vue.use(Vuex)
export default new Vuex.Store({
...commonStore,
...VUEX_DEFAULT_CONFIG
})
```
对一个需要状态管理页面或者模块进行分层:
```
views/
pageA/
index.vue
components/
a.vue
b.vue
...
children/
childrenA.vue
childrenB.vue
...
store/
index.js
actions.js
moduleA.js
moduleB.js
```
module 中直接包含了 `getters``mutations``state`,我们在 `store/index.js` 中做文章:
```js
import Store from 'Plugins/store'
import actions from './actions.js'
import moduleA from './moduleA.js'
import moduleB from './moduleB.js'
export default {
install() {
Store.registerModule(['pageA'], {
actions,
modules: {
moduleA,
moduleB
},
namespace: true
})
},
uninstall() {
store.unregisterModule(['pageA'])
}
}
```
最终在 `index.vue` 中引入使用, **在页面跳转之前注册这些状态和管理状态的规则,在路由离开之前,先卸载这些状态和管理状态的规则**
```js
import store from './store'
import {mapGetters} from 'vuex'
export default {
computed: {
...mapGetters('pageA', ['aaa', 'bbb', 'ccc'])
},
beforeRouterEnter(to, from, next) {
store.install()
next()
},
beforeRouterLeave(to, from, next) {
store.uninstall()
next()
}
}
```
当然如果你的状态要共享到全局,就不执行 `uninstall`
> 这样就解决了开头的三个问题,不同开发者在开发页面的时候,可以根据页面特性,渐进增强的选择某种开发形式。
### 其他优化
#### 打包,构建
这里网上已经有很多优化方法:`dll``happypack``多线程打包`等,但随着项目的代码量级,每次 dev 保存的时候编译的速度也是会愈来愈慢的,而一过慢的时候我们就不得不进行拆分,这是肯定的,而在拆分之前尽可能容纳更多的可维护的代码,有几个可以尝试和规避的点:
1. 优化项目流程:这个点看起来好像没什么用,但改变却是最直观的,页面/业务上的化简为繁会直接提现到代码上,同时也会增大项目的可维护,可拓展行等。
2. 减少项目文件层级纵向深度。
3. 减少无用业务代码,避免使用无用或者过大依赖(类似 `moment.js` 这样的库)等。
#### 代码规范
请强制使用 `eslint`
#### TypeScript
非常建议用 TS 编写项目,可能写 .vue 有些别扭,这样前端的大部分错误在编译时解决,同时也能提高浏览器运行时效率,可能减少 `re-optimize` 阶段时间等。
### 最后
时下有各种成熟的方案,项目底层构建往往会成为前端忽略的地方,我们不应该只从一个大局观来看待一个大型项目,或者整条业务线,应该对每一行代码精益求精,对开发体验不断优化,慢慢累积才能应对未知的变化。
![](https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1529469247988&di=19c03a50b7c50288ed557a3ce4d17dad&imgtype=0&src=http%3A%2F%2Fimg.zcool.cn%2Fcommunity%2F032bd3557a5abcd0000018c1b74486e.jpg)
## 开始之前
随着业务的不断累积,目前我们 `ToC 端主要项目`,除去 `node_modules``build 配置文件``dist 静态资源文件`的代码量为 `137521` 行,`后台管理系统下各个子应用代码`除去依赖等文件的总行数也达到 `100w` 多一点。
本文会在主要描述以 `Vue 技术栈``技术主体``ToC 端`项目`业务主体`,在构建过程中,遇到或者总结的点(也会提及一些 ToB 项目的场景),**可能并不适合你的业务场景,我会尽可能多的描述问题与其中的思考,最大可能的帮助到需要的同学**,也辛苦开发者发现问题或者不合理/不正确的地方及时向我反馈,会尽快修改,欢迎有更好的实现方式来 `pr`
##### Git 地址
- [vue-develop-template](https://github.com/PerseveranceZ/vue-develop-template) 完善中,可以运行
##### React 项目
可以参考`蚂蚁金服数据体验技术团队`编写的文章:
- [如何管理好10万行代码的前端单页面应用](https://juejin.im/post/59cb0d0b5188257e876a2d27)
相较于这篇文章,本文可能会枯燥些,会有大量代码,同学可以直接用上仓库看。
## ① 单页面,多页面
首先要思考我们的项目最终的`构建主体``单页面`,还是`多页面`,还是`单页 + 多页`,通过他们的优缺点来分析:
- **单页面(SPA)**
- 优点:体验好,路由之间跳转流程,可定制转场动画,使用了`懒加载`可有效减少首页白屏时间,相较于`多页面`减少了用户访问静态资源服务器的次数等。
- 缺点:初始会加载较大的静态资源,并且随着业务增长会越来越大,`懒加载`也有他的弊端,不做特殊处理不利于 SEO 等。
- **多页面(MPA)**
- 优点:对搜索引擎友好,开发难度较低。
- 缺点:资源请求较多,整页刷新体验较差,页面间传递数据只能依赖 `URL``cookie``storage` 等方式,较为局限。
- **SPA + MPA**
- 这种方式常见于较`老 MPA 项目迁移至 SPA 的情况`,缺点结合两者,两种主体通信方式也只能以兼容`MPA 为准`
- 不过这种方式也有他的好处,假如你的 SPA 中,有类似文章分享这样(没有后端直出,后端返 `HTML 串`的情况下),想保证用户体验在 SPA 中开发一个页面,在 MPA 中也开发一个页面,去掉没用的依赖,或者直接用原生 JS 来开发,分享出去是 MPA 的文章页面,这样可以**加快分享出去的打开速度,同时也能减少静态资源服务器的压力**,因为如果分享出去的是 SPA 的文章页面,那 SPA 所需的静态资源`至少都需要去进行协商请求`,当然如果服务配置了强缓存就忽略以上所说。
我们首先根据业务所需,来最终确定`构建主体`,而我们选择了`体验至上的 SPA`,并选用 `Vue` 技术栈。
## ② 目录结构
其实我们看开源的绝大部分项目中,目录结构都会差不太多,我们可以综合一下来个通用的 `src` 目录:
```
src
├── assets // 资源目录 图片,样式,iconfont
├── components // 全局通用组件目录
├── config // 项目配置,拦截器,开关
├── plugins // 插件相关,生成路由、请求、store 等实例,并挂载 Vue 实例
├── directives // 拓展指令集合
├── routes // 路由配置
├── service // 服务层
├── utils // 工具类
└── views // 视图层
```
## ③ 通用组件
`components` 中我们会存放 UI 组件库中的那些常见通用组件了,在项目中直接通过设置`别名`来使用,如果其他项目需要使用,就发到 `npm` 上。
#### 结构
```
// components 简易结构
components
├── dist
├── build
├── src
├── modal
├── toast
└── ...
├── index.js
└── package.json
```
#### 项目中使用
如果想最终编译成 `es5`,直接在 html 中使用或者部署 CDN 上,在 `build` 配置简单的打包逻辑,搭配着 `package.json` 构建 UI组件 的自动化打包发布,最终部署 `dist` 下的内容,并发布到 `npm` 上即可。
而我们也可直接使用 `es6` 的代码:
```js
import 'Components/src/modal'
```
#### 其他项目使用
假设我们发布的 `npm 包``bm-ui`,并且下载到了本地 `npm i bm-ui -S`:
修改项目的最外层打包配置,在 rules 里 `babel-loader``happypack` 中添加 `include``node_modules/bm-ui`
```js
// webpack.base.conf
...
rules: [{
test: /\.vue$/,
loader: 'vue-loader',
options: vueLoaderConfig
},
{
test: /\.js$/,
loader: 'babel-loader',
// 这里添加
include: [resolve('src'), resolve('test'), resolve('node_modules/bm-ui')]
},{
...
}]
...
```
然后直接在项目中使用即可:
```
import { modal } from 'bm-ui'
```
#### 多个组件库
同时有多个组件库的话,又或者有同学专门进行组件开发的话,把 `components
内部细分`一下,多一个文件分层。
```
components
├── bm-ui-1
├── bm-ui-2
└── ...
```
你的打包配置文件可以放在 `components` 下,进行统一打包,当然如果要开源出去还是放在对应库下。
## ④ 全局配置,插件与拦截器
这个点其实会是项目中经常被忽略的,或者说很少聚合到一起,但同时我认为是**整个项目中的重要之一**,后续会有例子说道。
#### 全局配置,拦截器目录结构
```
config
├── base.js // 全局配置/开关
├── routes // 路由表关系配置
├── interceptors // 拦截器
├── index.js // 入口文件
├── axios.js // 请求/响应拦截
├── router.js // 路由拦截
└── ...
└── ...
```
#### 全局配置
我们在 `config/index.js` 可能会有如下配置:
```js
// config/index.js
// 当前宿主平台 兼容多平台应该通过一些特定函数来取得
export const HOST_PLATFORM = 'WEB'
// 这个就不多说了
export const NODE_ENV = process.env.NODE_ENV || 'prod'
// 是否强制所有请求访问本地 MOCK,看到这里同学不难猜到,每个请求也可以单独控制是否请求 MOCK
export const AJAX_LOCALLY_ENABLE = false
// 是否开启监控
export const MONITOR_ENABLE = true
// 路由默认配置,路由表并不从此注入
export const ROUTER_DEFAULT_CONFIG = {
waitForData: true,
transitionOnLoad: true
}
// axios 默认配置
export const AXIOS_DEFAULT_CONFIG = {
timeout: 20000,
maxContentLength: 2000,
headers: {}
}
// vuex 默认配置
export const VUEX_DEFAULT_CONFIG = {
strict: process.env.NODE_ENV !== 'production'
}
// API 默认配置
export const API_DEFAULT_CONFIG = {
mockBaseURL: '',
mock: true,
debug: false,
sep: '/'
}
// CONST 默认配置
export const CONST_DEFAULT_CONFIG = {
sep: '/'
}
// 还有一些业务相关的配置
// ...
// 还有一些方便开发的配置
export const CONSOLE_REQUEST_ENABLE = true // 开启请求参数打印
export const CONSOLE_RESPONSE_ENABLE = true // 开启响应参数打印
export const CONSOLE_MONITOR_ENABLE = true // 监控记录打印
```
可以看出这里汇集了项目中**所有用到的配置**,下面我们在 `plugins` 中实例化插件,注入对应配置,目录如下:
#### 插件目录结构
```
plugins
├── api.js // 服务层 api 插件
├── axios.js // 请求实例插件
├── const.js // 服务层 const 插件
├── store.js // vuex 实例插件
├── inject.js // 注入 Vue 原型插件
└── router.js // 路由实例插件
```
#### 实例化插件并注入配置
这里先举出两个例子,看我们是如何注入配置,拦截器并实例化的
实例化 `router`
```js
import Vue from 'vue'
import Router from 'vue-router'
import ROUTES from 'Routes'
import {ROUTER_DEFAULT_CONFIG} from 'Config/index'
import {routerBeforeEachFunc} from 'Config/interceptors/router'
Vue.use(Router)
// 注入默认配置和路由表
let routerInstance = new Router({
...ROUTER_DEFAULT_CONFIG,
routes: ROUTES
})
// 注入拦截器
routerInstance.beforeEach(routerBeforeEachFunc)
export default routerInstance
```
实例化 `axios`
```js
import axios from 'axios'
import {AXIOS_DEFAULT_CONFIG} from 'Config/index'
import {requestSuccessFunc, requestFailFunc, responseSuccessFunc, responseFailFunc} from 'Config/interceptors/axios'
let axiosInstance = {}
axiosInstance = axios.create(AXIOS_DEFAULT_CONFIG)
// 注入请求拦截
axiosInstance
.interceptors.request.use(requestSuccessFunc, requestFailFunc)
// 注入失败拦截
axiosInstance
.interceptors.response.use(responseSuccessFunc, responseFailFunc)
export default axiosInstance
```
我们在 `main.js` **注入插件**
```js
// main.js
import Vue from 'vue'
GLOBAL.vbus = new Vue()
// import 'Components'// 全局组件注册
import 'Directives' // 指令
// 引入插件
import router from 'Plugins/router'
import inject from 'Plugins/inject'
import store from 'Plugins/store'
// 引入组件库及其组件库样式
// 不需要配置的库就在这里引入
// 如果需要配置都放入 plugin 即可
import VueOnsen from 'vue-onsenui'
import 'onsenui/css/onsenui.css'
import 'onsenui/css/onsen-css-components.css'
// 引入根组件
import App from './App'
Vue.use(inject)
Vue.use(VueOnsen)
// render
new Vue({
el: '#app',
router,
store,
template: '<App/>',
components: { App }
})
```
`axios` 实例我们并没有直接引用,相信你也猜到他是通过 `inject` 插件引用的,我们看下 `inject`
```js
import axios from './axios'
import api from './api'
import consts from './const'
GLOBAL.ajax = axios
export default {
install: (Vue, options) => {
Vue.prototype.$api = api
Vue.prototype.$ajax = axios
Vue.prototype.$const = consts
// 需要挂载的都放在这里
}
}
```
这里可以挂载你想在业务中( `vue` 实例中)便捷访问的 `api`,除了 `$ajax` 之外,`api``const` 两个插件是我们**服务层中主要的功能**,后续会介绍,这样我们插件流程大致运转起来,下面写对应拦截器的方法。
#### 请求,路由拦截器
`ajax 拦截器`中(`config/interceptors/axios.js`):
```js
// config/interceptors/axios.js
import {CONSOLE_REQUEST_ENABLE, CONSOLE_RESPONSE_ENABLE} from '../index.js'
export function requestSuccessFunc (requestObj) {
CONSOLE_REQUEST_ENABLE && console.info('requestInterceptorFunc', `url: ${requestObj.url}`, requestObj)
// 自定义请求拦截逻辑,可以处理权限,请求发送监控等
// ...
return requestObj
}
export function requestFailFunc (requestError) {
// 自定义发送请求失败逻辑,断网,请求发送监控等
// ...
return Promise.reject(requestError);
}
export function responseSuccessFunc (responseObj) {
// 自定义响应成功逻辑,全局拦截接口,根据不同业务做不同处理,响应成功监控等
// ...
// 假设我们请求体为
// {
// code: 1010,
// msg: 'this is a msg',
// data: null
// }
let resData = responseObj.data
let {code} = resData
switch(code) {
case 0: // 如果业务成功,直接进成功回调
return resData.data;
case 1111:
// 如果业务失败,根据不同 code 做不同处理
// 比如最常见的授权过期跳登录
// 特定弹窗
// 跳转特定页面等
location.href = xxx // 这里的路径也可以放到全局配置里
return;
default:
// 业务中还会有一些特殊 code 逻辑,我们可以在这里做统一处理,也可以下方它们到业务层
!responseObj.config.noShowDefaultError && GLOBAL.vbus.$emit('global.$dialog.show', resData.msg);
return Promise.reject(resData);
}
}
export function responseFailFunc (responseError) {
// 响应失败,可根据 responseError.message 和 responseError.response.status 来做监控处理
// ...
return Promise.reject(responseError);
}
```
定义`路由拦截器`(`config/interceptors/router.js`):
```js
// config/interceptors/router.js
export function routerBeforeFunc (to, from, next) {
// 这里可以做页面拦截,很多后台系统中也非常喜欢在这里面做权限处理
// next(...)
}
```
最后在`入口文件(config/interceptors/index.js)`中引入并暴露出来即可:
```js
import {requestSuccessFunc, requestFailFunc, responseSuccessFunc, responseFailFunc} from './ajax'
import {routerBeforeEachFunc} from './router'
let interceptors = {
requestSuccessFunc,
requestFailFunc,
responseSuccessFunc,
responseFailFunc,
routerBeforeEachFunc
}
export default interceptors
```
请求拦截这里代码都很简单,对于 `responseSuccessFunc` 中 switch `default` 逻辑做下简单说明:
1. `responseObj.config.noShowDefaultError` 这里可能不太好理解
我们在请求的时候,可以传入一个 axios 中并没有意义的 `noShowDefaultError` 参数为我们业务所用,当值为 false 或者不存在时,我们会触发全局事件 `global.dialog.show``global.dialog.show`我们会注册在 `app.vue` 中:
```js
// app.vue
export default {
...
created() {
this.bindEvents
},
methods: {
bindEvents() {
GLOBAL.vbus.$on('global.dialog.show', (msg) => {
if(msg) return
// 我们会在这里注册全局需要操控试图层的事件,方便在非业务代码中通过发布订阅调用
this.$dialog.popup({
content: msg
});
})
}
...
}
}
```
> 这里也可以把弹窗状态放入 `Store` 中,按团队喜好,我们习惯把**公共的涉及视图逻辑的公共状态在这里注册,和业务区分开来**。
2. `GLOBAL` 是我们挂载 `window` 上的`全局对象`,我们把需要挂载的东西都放在 `window.GLOBAL` 里,减少命名空间冲突的可能。
3. `vbus` 其实就是我们开始 `new Vue()` 挂载上去的
```
GLOBAL.vbus = new Vue()
```
4. 我们在这里 `Promise.reject` 出去,我们就可以在 `error` 回调里面只处理我们的业务逻辑,而其他如`断网``超时``服务器出错`等均通过拦截器进行统一处理。
#### 拦截器处理前后对比
对比下`处理前后在业务中的发送请求的代码`
**拦截器处理前**
```js
this.$axios.get('test_url').then(({code, data}) => {
if( code === 0 ) {
// 业务成功
} else if () {}
// em... 各种业务不成功处理,如果遇到通用的处理,还需要抽离出来
}, error => {
// 需要根据 error 做各种抽离好的处理逻辑,断网,超时等等...
})
```
**拦截器处理后**
```js
// 业务失败走默认弹窗逻辑的情况
this.$axios.get('test_url').then(({data}) => {
// 业务成功,直接操作 data 即可
})
// 业务失败自定义
this.$axios.get('test_url', {
noShowDefaultError: true // 可选
}).then(({data}) => {
// 业务成功,直接操作 data 即可
}, (code, msg) => {
// 当有特定 code 需要特殊处理,传入 noShowDefaultError:true,在这个回调处理就行
})
```
#### **为什么要如此配置与拦截器?**
> 在应对项目开发过程中需求的不可预见性时,让我们能处理的更快更好
到这里很多同学会觉得,就这么简单的引入判断,可有可无,
就如我们最近做的一个需求来说,我们 ToC 端项目之前一直是在微信公众号中打开的,而我们需要在小程序中通过 webview 打开大部分流程,而我们也`没有时间,没有空间`在小程序中重写近 100 + 的页面流程,**这是我们开发之初并没有想到的**。这时候必须把项目兼容到小程序端,在兼容过程中可能需要解决以下问题:
1. 请求路径完全不同。
2. 需要兼容两套不同的权限系统。
3. 有些流程在小程序端需要做改动,跳转到特定页面。
4. 有些公众号的 `api` ,在小程序中无用,需要调用小程序的逻辑,需要做兼容。
5. 很多也页面上的元素,小程序端不做展示等。
> 可以看出,稍微不慎,会影响公众号现有逻辑。
* 添加请求拦截 `interceptors/minaAjax.js``interceptors/minaRouter.js`,原有的换更为 `interceptors/officalAjax.js``interceptors/officalRouter.js`,在入口文件`interceptors/index.js`**根据当前`宿主平台`,也就是全局配置 `HOST_PLATFORM`,通过`代理模式`和`策略模式`,注入对应平台的拦截器****在`minaAjax.js`中重写请求路径和权限处理,在 `minaRouter.js` 中添加页面拦截配置,跳转到特定页面**,这样一并解决了上面的`问题 1,2,3`
* `问题 4` 其实也比较好处理了,拷贝需要兼容 `api` 的页面,重写里面的逻辑,通过`路由拦截器一并做跳转处理`
* `问题 5` 也很简单,拓展两个**自定义指令 v-mina-show 和 v-mina-hide** ,在展示不同步的地方可以直接使用指令。
最终用最少的代码,最快的时间完美上线,丝毫没影响到现有 toC 端业务,而且**这样把所有兼容逻辑绝大部分聚合到了一起,方便二次拓展和修改。**
虽然这只是根据自身业务结合来说明,可能没什么说服力,不过不难看出全局配置/拦截器 虽然代码不多,但却是整个项目的核心之一,我们可以在里面做更多 `awesome` 的事情。
## ⑤ 路由配置与懒加载
`directives` 里面没什么可说的,不过很多难题都可以通过他来解决,要时刻记住,我们可以再指令里面**操作虚拟 DOM。**
#### 路由配置
而我们根据自己的业务性质,最终根据业务流程来拆分配置:
```
routes
├── index.js // 入口文件
├── common.js // 公共路由,登录,提示页等
├── account.js // 账户流程
├── register.js // 挂号流程
└── ...
```
最终通过 index.js 暴露出去给 `plugins/router` 实例使用,这里的拆分配置有两个注意的地方:
- 需要根据自己业务性质来决定,有的项目可能适合`业务线`划分,有的项目更适合以 `功能` 划分。
- 在多人协作过程中,尽可能避免冲突,或者减少冲突。
#### 拦截器
文章开头说到单页面静态资源过大,`首次打开/每次版本升级`后都会较慢,可以用`懒加载`来拆分静态资源,减少白屏时间,但开头也说到`懒加载`也有待商榷的地方:
- 如果异步加载较多的组件,会给静态资源服务器/ CDN 带来更大的访问压力的同时,如果当多个异步组件都被修改,造成版本号的变动,发布的时候会大大增加 CDN 被击穿的风险。
- 懒加载首次加载未被缓存的异步组件白屏的问题,造成用户体验不好。
- 异步加载通用组件,会在页面可能会在网络延时的情况下参差不齐的展示出来等。
这就需要我们根据项目情况在`空间和时间`上做一些权衡。
以下几点可以作为简单的参考:
- 对于访问量可控的项目,如`公司后台管理系统`中,可以以操作 view 为单位进行异步加载,通用组件全部同步加载的方式。
- 对于一些复杂度较高,实时度较高的应用类型,可采用按`功能模块拆分`进行异步组件加载。
- 如果项目想保证比较高的完整性和体验,迭代频率可控,不太关心首次加载时间的话,可按需使用异步加载或者直接不使用。
> 打包出来的 main.js 的大小,绝大部分都是在路由中引入的并注册的视图组件。
## ⑥ Service 服务层
服务层作为项目中的另一个核心之一,“自古以来”都是大家比较关心的地方。
不知道你是否看到过如下组织代码方式:
```
views/
pay/
index.vue
service.js
components/
a.vue
b.vue
```
`service.js` 中写入编写数据来源
```js
export const CONFIAG = {
apple: '苹果',
banana: '香蕉'
}
// ...
// ① 处理业务逻辑,还弹窗
export function getBInfo ({name = '', id = ''}) {
return this.$ajax.get('/api/info', {
name,
id
}).then({age} => {
this.$modal.show({
content: age
})
})
}
// ② 不处理业务,仅仅写请求方法
export function getAInfo ({name = '', id = ''}) {
return this.$ajax.get('/api/info', {
name,
id
})
}
...
```
简单分析:
- ① 就不多说了,拆分的不够单纯,当做二次开发的时候,你还得去找这弹窗到底哪里出来的。
- ② 看起来很美好,不掺杂业务逻辑,但不知道你与没遇到过这样情况,**经常会有其他业务需要用到一样的枚举,请求一样的接口,而开发其他业务的同学并不知道你在这里有一份数据源,最终造成的结果就是数据源的代码到处冗余**
我相信②在绝大多数项目中都能看到。
那么我们的目的就很明显了,**解决冗余,方便使用**,我们把枚举和请求接口的方法,通过插件,挂载到一个大对象上,注入 Vue 原型,方面业务使用即可。
```
service
├── api
├── index.js // 入口文件
├── order.js // 订单相关接口配置
└── ...
├── const
├── index.js // 入口文件
├── order.js // 订单常量接口配置
└── ...
├── store // vuex 状态管理
├── expands // 拓展
├── monitor.js // 监控
├── beacon.js // 打点
├── localstorage.js // 本地存储
└── ... // 按需拓展
└── ...
```
首先抽离请求接口模型,可按照`领域模型抽离` (`service/api/index.js`):
```js
{
user: [{
name: 'info',
method: 'GET',
desc: '测试接口1',
path: '/api/info',
mockPath: '/api/info',
params: {
a: 1,
b: 2
}
}, {
name: 'info2',
method: 'GET',
desc: '测试接口2',
path: '/api/info2',
mockPath: '/api/info2',
params: {
a: 1,
b: 2,
b: 3
}
}],
order: [{
name: 'change',
method: 'POST',
desc: '订单变更',
path: '/api/order/change',
mockPath: '/api/order/change',
params: {
type: 'SUCCESS'
}
}]
...
}
```
定制下需要的几个功能:
- 请求参数自动截取。
- 请求参数不穿则发送默认配置参数。
- 得需要命名空间。
- 通过全局配置开启调试模式。
- 通过全局配置来控制走本地 mock 还是线上接口等。
- 通过在接口定义中,设置mockEnable来控制单个接口访问mock。
- 在接口编译过程中,判断process.env.NODE_ENV,当为生产环境时,自动使用线上接口。
定制好功能,开始编写简单的 `plugins/api.js` 插件:
**目录层级(仅供参考)**
```js
import axios from './axios'
import _pick from 'lodash/pick'
import _assign from 'lodash/assign'
import _isEmpty from 'lodash/isEmpty'
import { assert } from 'Utils/tools'
import { API_DEFAULT_CONFIG } from 'Config'
import API_CONFIG from 'Service/api'
class MakeApi {
constructor(options) {
this.api = {}
this.apiBuilder(options)
}
apiBuilder({
sep = '|',
config = {},
mock = false,
debug = false,
mockBaseURL = ''
}) {
Object.keys(config).map(namespace => {
this._apiSingleBuilder({
namespace,
mock,
mockBaseURL,
sep,
debug,
config: config[namespace]
})
})
}
_apiSingleBuilder({
namespace,
sep = '|',
config = {},
mock = false,
debug = false,
mockBaseURL = ''
}) {
config.forEach( api => {
const {name, desc, params, method, mockEnable, path, mockPath } = api
const isMock = process.env.NODE_ENV === 'production' ? false : mock || mockEnable
const url = isMock ? mockPath : path
// 通过全局配置开启调试模式。
debug && assert(name, `${url} :接口name属性不能为空`)
debug && assert(apiUrl.indexOf('/') === 0, `${url} :接口路径path,首字符应为/`)
Object.defineProperty(this.api, `${namespace}${sep}${name}`, {
value(outerParams, outerOptions) {
// 请求参数自动截取。
// 请求参数不穿则发送默认配置参数。
const _data = _isEmpty(outerParams) ? params : _pick(_assign({}, params, outerParams), Object.keys(params))
const _options = isMock ? {url, desc, baseURL, method} : {url, desc, method}
return axios(_normoalize(_assign(_options, outerOptions), _data))
}
})
})
}
}
function _normoalize(options, data) {
// 这里可以做大小写转换,也可以做其他类型 RESTFUl 的兼容
if (options.method === 'POST') {
options.data = data
} else if (options.method === 'GET') {
options.params = data
}
return options
}
// 注入模型和全局配置,并暴露出去
export default new MakeApi({
config: API_CONFIG,
...API_DEFAULT_CONFIG
})['api']
```
挂载到 `Vue 原型`上,上文有说到,通过 `plugins/inject.js`
```js
import api from './api'
export default {
install: (Vue, options) => {
Vue.prototype.$api = api
// 需要挂载的都放在这里
}
}
```
这样我们可以在`业务中`愉快的使用业务层代码:
```js
// .vue 中
export default {
methods: {
test() {
this.$api['order/info']({
a: 1,
b: 2
})
}
}
}
```
即使在`业务之外`也可以使用:
```js
import api from 'Plugins/api'
api['order/info']({
a: 1,
b: 2
})
```
当然对于`运行效率要求高`的项目中,`避免内存使用率过大`,我们需要改造 API,用解构的方式引入使用,最终利用 `webpack``tree-shaking` 减少打包体积。[几个简单的思路](https://github.com/PerseveranceZ/vue-develop-template/issues/4)
> 一般来说,多人协作时候大家都可以先看 `api` 是否有对应接口,当业务量上来的时候,也肯定会有人出现找不到,或者找起来比较费劲,这时候我们完全可以在 请求拦截器中,把当前请求的 `url` 和 `api` 中的请求做下判断,如果有重复接口请求路径,则提醒开发者已经配置相关请求,根据情况是否进行二次配置即可。
最终我们可以拓展 Service 层的各个功能:
**基础**
- **api**`异步与后端交互`
- **const**`常量枚举`
- **store**`Vuex` 状态管理
**拓展**
- **localStorage**:本地数据,稍微封装下,支持存取对象即可
- **monitor**`监控`功能,自定义搜集策略,调用 `api` 中的接口发送
- **beacon**`打点`功能,自定义搜集策略,调用 `api` 中的接口发送
- ...
`const``localStorage``monitor``beacon` 根据业务自行拓展暴露给业务使用即可,思想也是一样的,下面着重说下 `store(Vuex)`
## ⑦ 状态管理与视图拆分
[Vuex 源码分析可以看我之前写的文章](https://github.com/PerseveranceZ/zero-blog/issues/2)
#### 我们是不是真的需要状态管理?
> 答案是否定的,就算你的项目达到 10 万行代码,那也并不意味着你必须使用 Vuex,应该由**业务场景**决定。
#### 业务场景
1. 第一类项目:**业务/视图复杂度不高,不建议使用 Vuex,会带来开发与维护的成本**,使用简单的 `vbus` 做好**命名空间**,来解耦即可。
```js
let vbus = new Vue()
vbus.$on('print.hello', () => {
console.log('hello')
})
vbus.$emit('print.hello')
```
2. 第二类项目:类似`多人协作项目管理``有道云笔记``网易云音乐``微信网页版/桌面版`**应用**,功能集中,空间利用率高,实时交互的项目,无疑 `Vuex 是较好的选择`。这类应用中我们可以直接`抽离业务领域模型`
```
store
├── index.js
├── actions.js // 根级别 action
├── mutations.js // 根级别 mutation
└── modules
├── user.js // 用户模块
├── products.js // 产品模块
├── order.js // 订单模块
└── ...
```
当然对于这类项目,`vuex` 或许不是最好的选择,有兴趣的同学可以学习下 `rxjs`
3. 第三类项目:`后台系统`或者`页面之间业务耦合不高的项目`,这类项目是占比应该是很大的,我们思考下这类项目:
全局共享状态不多,但是难免在某个模块中会有复杂度较高的功能(客服系统,实时聊天,多人协作功能等),这时候如果为了项目的可管理性,我们也在 `store` 中进行管理,随着项目的迭代我们不难遇到这样的情况:
```
store/
...
modules/
b.js
...
views/
...
a/
b.js
...
```
- 试想下有几十个 module,对应这边上百个业务模块,开发者在两个平级目录之间调试与开发的成本是巨大的。
- 这些 module 可以在项目中任一一个地方被访问,但往往他们都是冗余的,除了引用的功能模块之外,基本不会再有其他模块引用他。
- 项目的可维护程度会随着项目增大而增大。
#### 如何解决第三类项目的 store 使用问题?
先梳理我们的目标:
- 项目中模块可以自定决定是否使用 Vuex。(渐进增强)
- **从有状态管理的模块,跳转没有的模块,我们不想把之前的状态挂载到 `store` 上,想提高运行效率**。(冗余)
- 让这类项目的状态管理变的更加可维护。(开发成本/沟通成本)
#### 实现
我们借助 Vuex 提供的 `registerModule``unregisterModule` 一并解决这些问题,我们在 `service/store` 中放入全局共享的状态:
```
service/
store/
index.js
actions.js
mutations.js
getters.js
state.js
```
> 一般这类项目全局状态不多,如果多了拆分 module 即可。
编写插件生成 `store 实例`
```js
import Vue from 'vue'
import Vuex from 'vuex'
import {VUEX_DEFAULT_CONFIG} from 'Config'
import commonStore from 'Service/store'
Vue.use(Vuex)
export default new Vuex.Store({
...commonStore,
...VUEX_DEFAULT_CONFIG
})
```
对一个需要状态管理页面或者模块进行分层:
```
views/
pageA/
index.vue
components/
a.vue
b.vue
...
children/
childrenA.vue
childrenB.vue
...
store/
index.js
actions.js
moduleA.js
moduleB.js
```
module 中直接包含了 `getters``mutations``state`,我们在 `store/index.js` 中做文章:
```js
import Store from 'Plugins/store'
import actions from './actions.js'
import moduleA from './moduleA.js'
import moduleB from './moduleB.js'
export default {
install() {
Store.registerModule(['pageA'], {
actions,
modules: {
moduleA,
moduleB
},
namespace: true
})
},
uninstall() {
store.unregisterModule(['pageA'])
}
}
```
最终在 `index.vue` 中引入使用, **在页面跳转之前注册这些状态和管理状态的规则,在路由离开之前,先卸载这些状态和管理状态的规则**
```js
import store from './store'
import {mapGetters} from 'vuex'
export default {
computed: {
...mapGetters('pageA', ['aaa', 'bbb', 'ccc'])
},
beforeRouterEnter(to, from, next) {
store.install()
next()
},
beforeRouterLeave(to, from, next) {
store.uninstall()
next()
}
}
```
当然如果你的状态要共享到全局,就不执行 `uninstall`
> 这样就解决了开头的三个问题,不同开发者在开发页面的时候,可以根据页面特性,渐进增强的选择某种开发形式。
## 其他优化
这里简单列举下其他方面,需要自行根据项目深入和使用。
#### 打包,构建
这里网上已经有很多优化方法:`dll``happypack``多线程打包`等,但随着项目的代码量级,每次 dev 保存的时候编译的速度也是会愈来愈慢的,而一过慢的时候我们就不得不进行拆分,这是肯定的,而在拆分之前尽可能容纳更多的可维护的代码,有几个可以尝试和规避的点:
1. 优化项目流程:这个点看起来好像没什么用,但改变却是最直观的,页面/业务上的化简为繁会直接提现到代码上,同时也会增大项目的可维护,可拓展行等。
2. 减少项目文件层级纵向深度。
3. 减少无用业务代码,避免使用无用或者过大依赖(类似 `moment.js` 这样的库)等。
#### 样式
- 尽可能抽离各个模块,让整个样式底层更加灵活,同时也应该尽可能的减少冗余。
- 如果使用的 `sass` 的话,善用 `%placeholder` 减少无用代码打包进来。
> `MPA 应用`中样式冗余过大,`%placeholder` 也会给你带来帮助。
#### Mock
很多大公司都有自己的 `mock 平台`,当前后端定好接口格式,放入生成对应 `mock api`,如果没有 mock 平台,那就找相对好用的工具如 `json-server` 等。
#### 代码规范
请强制使用 `eslint`,挂在 git 的钩子上。定期 diff 代码,定期培训等。
#### TypeScript
非常建议用 TS 编写项目,可能写 .vue 有些别扭,这样前端的大部分错误在编译时解决,同时也能提高浏览器运行时效率,可能减少 `re-optimize` 阶段时间等。
#### 测试
这也是项目非常重要的一点,如果你的项目还未使用一些测试工具,请尽快接入,这里不过多赘述。
### 最后
时下有各种成熟的方案,这里只是一个简单的构建分享,还有很多地方没有涉及,项目底层构建往往会成为前端忽略的地方,我们既要从一个大局观来看待一个大型项目,或者整条业务线,又要对每一行代码精益求精,对开发体验不断优化,慢慢累积才能应对未知的变化。
- [About Me.](https://github.com/PerseveranceZ)
#### 其他相关文章
- [蚂蚁金服-如何管理好10万行代码的前端单页面应用](https://juejin.im/post/59cb0d0b5188257e876a2d27)
File added
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>纺检</title>
<meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0" name="viewport" />
<meta content="yes" name="apple-mobile-web-app-capable" />
<meta content="black" name="apple-mobile-web-app-status-bar-style" />
<meta content="telephone=no" name="format-detection" />
<!-- <link rel="stylesheet" href="path/build/css/ydui.css" /> -->
<script src="static/js/ydui.flexible.js"></script>
<script src="static/js/mui.js"></script>
<script src="static/js/pinyin_dict_firstletter.js"></script>
<script src="static/js/pinyinUtil.js"></script>
</head>
<body style="overflow:visible; ">
<div id="app"></div>
<script>
if (window.plus) {
plusReady();
} else {
document.addEventListener("plusready", plusReady, false);
}
function plusReady() {
var ws = plus.webview.currentWebview();
}
// window.GLOBAL = {}
// mui.init({
// keyEventBind: {
// backbutton: true //关闭back按键监听
// }
// });
//首页返回键处理
//处理逻辑:1秒内,连续两次按返回键,则退出应用;
var first = null;
mui.back = function () {
//首次按键,提示‘再按一次退出应用’
if (!first) {
first = new Date().getTime(); //记录第一次按下回退键的时间
mui.toast('再按一次退出应用'); //给出提示
// history.go(0)//回退到上一页面
setTimeout(function () { //1s中后清除
first = null;
}, 1000);
} else {
if (new Date().getTime() - first < 1000) { //如果两次按下的时间小于1s,
plus.runtime.quit(); //那么就退出app
}
}
};
</script>
</body>
</html>
\ No newline at end of file
{
"info": {
"code": 0,
"msg": "success",
"data": {
"name": "Zero"
}
},
"test": {
"code": 0,
"msg": "success",
"data": {
"city": "china"
}
}
}
This source diff could not be displayed because it is too large. You can view the blob instead.
{
"name": "vue-onsenui-base",
"version": "1.0.0",
"description": "A Vue.js project based on onsenui",
"author": "Mingzhe Yang <yangmingzhe@benmu-health.com>",
"private": true,
"scripts": {
"dev": "node build/dev-server.js",
"start": "node build/dev-server.js",
"build": "node build/build.js",
"mock": "json-server --watch mock/db.json",
"analyz": "NODE_ENV=production npm_config_report=true npm run build"
},
"dependencies": {
"axios": "^0.16.0",
"better-scroll": "^1.14.1",
"element-ui": "^2.4.11",
"es6-promise": "^4.0.5",
"fastclick": "^1.0.6",
"highlight.js": "^9.11.0",
"jquery": "^3.3.1",
"lodash": "^4.17.4",
"moment": "^2.23.0",
"vue": "^2.5.16",
"vue-awesome-swiper": "^3.1.3",
"vue-datepicker": "^1.3.0",
"vue-directive-touch": "^1.0.22",
"vue-onsenui": "^2.4.2",
"vue-router": "^3.0.1",
"vue-swiper-component": "^2.1.3",
"vue-ydui": "^1.2.6",
"vue-zj-contractlist": "^1.0.3",
"vuex": "^3.0.1",
"vux": "^2.9.2"
},
"devDependencies": {
"autoprefixer": "^7.1.2",
"babel-core": "^6.22.1",
"babel-loader": "^7.1.1",
"babel-plugin-syntax-dynamic-import": "^6.18.0",
"babel-plugin-transform-runtime": "^6.22.0",
"babel-polyfill": "^6.26.0",
"babel-preset-env": "^1.3.2",
"babel-preset-stage-2": "^6.22.0",
"babel-register": "^6.22.0",
"babili-webpack-plugin": "^0.1.2",
"chalk": "^2.0.1",
"clean-webpack-plugin": "^0.1.16",
"connect-history-api-fallback": "^1.3.0",
"copy-webpack-plugin": "^4.0.1",
"css-loader": "^0.28.11",
"cssnano": "^3.10.0",
"echarts": "^4.2.0-rc.2",
"eventsource-polyfill": "^0.9.6",
"express": "^4.14.1",
"extract-text-webpack-plugin": "^2.0.0",
"file-loader": "^0.11.1",
"friendly-errors-webpack-plugin": "^1.1.3",
"html-webpack-plugin": "^2.28.0",
"http-proxy-middleware": "^0.17.3",
"json-server": "^0.14.0",
"less": "^2.3.1",
"less-loader": "^4.1.0",
"node-sass": "^4.5.3",
"npmproject-wr": "^1.0.0",
"onsenui": "^2.8.2",
"opn": "^5.1.0",
"optimize-css-assets-webpack-plugin": "^2.0.0",
"ora": "^1.2.0",
"rimraf": "^2.6.0",
"sass-loader": "^6.0.6",
"semver": "^5.3.0",
"shelljs": "^0.7.6",
"style-loader": "^0.23.1",
"stylus": "^0.54.5",
"stylus-loader": "^3.0.2",
"swiper": "^4.4.2",
"uglify-js": "^3.4.9",
"uglifyjs-webpack-plugin": "^2.1.1",
"url-loader": "^0.5.8",
"vue-loader": "^12.1.0",
"vue-scroller": "^2.2.4",
"vue-style-loader": "^3.0.1",
"vue-swipe": "^2.4.0",
"vue-template-compiler": "^2.3.3",
"vux-loader": "^1.2.9",
"webpack": "^2.6.1",
"webpack-bundle-analyzer": "^2.2.1",
"webpack-dev-middleware": "^1.10.0",
"webpack-hot-middleware": "^2.18.0",
"webpack-merge": "^4.1.0",
"yaml-loader": "^0.5.0"
},
"engines": {
"node": ">= 4.0.0",
"npm": ">= 3.0.0"
},
"browserslist": [
"> 1%",
"last 2 versions",
"not ie <= 8"
]
}
<template>
<div>
<!-- <transition name="fade" mode="out-in"> -->
<keep-alive>
<router-view v-if="$route.meta.keepAlive"></router-view>
</keep-alive>
<!-- </transition> -->
<loading v-show="bLoading"></loading>
<!-- <transition name="fade" mode="out-in"> -->
<router-view v-if="!$route.meta.keepAlive"></router-view>
<!-- </transition> -->
<footera v-show="this.$root.$data.bfoot"></footera>
</div>
</template>
<style >
.photoview {
padding: 0.2rem;
position: fixed;
overflow: hidden;
width: 100%;
top: 0;
left: 0;
background: rgba(0, 0, 0, 0.3);
z-index: 999;
min-height: 10rem;
align-items: center;
display: flex;
}
.photoview img {
/* width: 100%; */
max-height: 4rem;
width: 7rem;
}
.photoview a {
position: absolute;
top: 0.2rem;
right: 0.2rem;
background: rgba(223, 63, 65, 0.4);
color: white;
height: 24px;
width: 24px;
text-align: center;
line-height: 24px;
border-radius: 50%;
}
.header {
height: 0.8rem;
width: 100%;
text-align: center;
display: flex;
justify-content: center;
overflow: hidden;
align-items: center;
position: relative;
}
.header-font {
font-size: 0.36rem;
font-weight: bold;
}
.header .callbacka {
display: flex;
position: absolute;
left: 0.4rem;
align-items: center;
}
.header .gobackicon {
position: relative;
}
.header .gobackicon:before {
position: absolute;
width: 0.2rem;
height: 0.2rem;
margin-top: -0.08rem;
border-right: 0.02rem solid #000;
border-bottom: 0.02rem solid #000;
transform: rotate(135deg);
content: "";
}
</style>
<script>
import { mapActions, mapGetters ,mapState } from "Vuex";
import footera from "./components/footera";
import loading from "./components/loading";
export default {
components: {
footera,
loading
},
// computed: mapGetters(["bLoading"]),
computed: {
...mapGetters(["bLoading"])
},
// methods: {
// ...mapActions(["getUserInfo"]),
// bindEvent() {
// GLOBAL.vbus.$on("business.response.incorrect", resData => {});
// // 自行触发
// GLOBAL.vbus.$on("ajax.request.error", resData => {});
// GLOBAL.vbus.$on("ajax.response.error", resData => {});
// },
// init() {
// this.getUserInfo();
// }
// },
created(){
},
watch: {
$route: {
handler: function(newvalue) {
if (/home|checkstandard|user|group/.test(newvalue.path)) {
this.$root.$data.bfoot = true;
} else {
this.$root.$data.bfoot = false;
}
},
immediate: true
}
}
};
</script>
<style>
p {
font-weight: normal;
}
@import "./assets/icon/iconfont.css";
@import "./assets/style/index.scss";
</style>
let baseUrl = 'http://k5.jst-gov.com';
export {
baseUrl
}
/* 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=948977" 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 iconfont">&#xe621;</span>
<div class="name">报表</div>
<div class="code-name">&amp;#xe621;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe68b;</span>
<div class="name">轮船</div>
<div class="code-name">&amp;#xe68b;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe664;</span>
<div class="name">提交</div>
<div class="code-name">&amp;#xe664;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe615;</span>
<div class="name">销售2</div>
<div class="code-name">&amp;#xe615;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe61d;</span>
<div class="name">采购2</div>
<div class="code-name">&amp;#xe61d;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe636;</span>
<div class="name">采购</div>
<div class="code-name">&amp;#xe636;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe60b;</span>
<div class="name">投诉建议</div>
<div class="code-name">&amp;#xe60b;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe62e;</span>
<div class="name">更多</div>
<div class="code-name">&amp;#xe62e;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe665;</span>
<div class="name">首页</div>
<div class="code-name">&amp;#xe665;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe617;</span>
<div class="name">数据</div>
<div class="code-name">&amp;#xe617;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe6a1;</span>
<div class="name">付款</div>
<div class="code-name">&amp;#xe6a1;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe622;</span>
<div class="name">待发货</div>
<div class="code-name">&amp;#xe622;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe616;</span>
<div class="name">定位</div>
<div class="code-name">&amp;#xe616;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe684;</span>
<div class="name">收货</div>
<div class="code-name">&amp;#xe684;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe640;</span>
<div class="name">7</div>
<div class="code-name">&amp;#xe640;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe650;</span>
<div class="name"></div>
<div class="code-name">&amp;#xe650;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe638;</span>
<div class="name">列表导航_资讯</div>
<div class="code-name">&amp;#xe638;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe628;</span>
<div class="name">采购订单</div>
<div class="code-name">&amp;#xe628;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe60e;</span>
<div class="name">我的</div>
<div class="code-name">&amp;#xe60e;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe674;</span>
<div class="name">圈子</div>
<div class="code-name">&amp;#xe674;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe63a;</span>
<div class="name">问题反馈</div>
<div class="code-name">&amp;#xe63a;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe632;</span>
<div class="name">首页-销售统计</div>
<div class="code-name">&amp;#xe632;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe60f;</span>
<div class="name">报表</div>
<div class="code-name">&amp;#xe60f;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe6a5;</span>
<div class="name">消息</div>
<div class="code-name">&amp;#xe6a5;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe623;</span>
<div class="name">钱袋</div>
<div class="code-name">&amp;#xe623;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe697;</span>
<div class="name"></div>
<div class="code-name">&amp;#xe697;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe66b;</span>
<div class="name">铁轨</div>
<div class="code-name">&amp;#xe66b;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe605;</span>
<div class="name">手机</div>
<div class="code-name">&amp;#xe605;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe789;</span>
<div class="name">运输</div>
<div class="code-name">&amp;#xe789;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe66a;</span>
<div class="name">更多</div>
<div class="code-name">&amp;#xe66a;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe671;</span>
<div class="name">我的</div>
<div class="code-name">&amp;#xe671;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe68c;</span>
<div class="name">客服</div>
<div class="code-name">&amp;#xe68c;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe6b2;</span>
<div class="name">营收报表</div>
<div class="code-name">&amp;#xe6b2;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe633;</span>
<div class="name">彩色-库存</div>
<div class="code-name">&amp;#xe633;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe60a;</span>
<div class="name">销售录单</div>
<div class="code-name">&amp;#xe60a;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe625;</span>
<div class="name">发货</div>
<div class="code-name">&amp;#xe625;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe610;</span>
<div class="name">收货-物流详情</div>
<div class="code-name">&amp;#xe610;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe6b7;</span>
<div class="name">客服</div>
<div class="code-name">&amp;#xe6b7;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe62c;</span>
<div class="name">月报</div>
<div class="code-name">&amp;#xe62c;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe607;</span>
<div class="name">清理缓存</div>
<div class="code-name">&amp;#xe607;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe672;</span>
<div class="name">付款</div>
<div class="code-name">&amp;#xe672;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xee85;</span>
<div class="name">运输-59</div>
<div class="code-name">&amp;#xee85;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe68a;</span>
<div class="name">链接</div>
<div class="code-name">&amp;#xe68a;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe645;</span>
<div class="name">收款-01</div>
<div class="code-name">&amp;#xe645;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe60d;</span>
<div class="name">客服</div>
<div class="code-name">&amp;#xe60d;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe60c;</span>
<div class="name">客户</div>
<div class="code-name">&amp;#xe60c;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe611;</span>
<div class="name">供应商</div>
<div class="code-name">&amp;#xe611;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe677;</span>
<div class="name">收益</div>
<div class="code-name">&amp;#xe677;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe618;</span>
<div class="name">首页</div>
<div class="code-name">&amp;#xe618;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe693;</span>
<div class="name">订单</div>
<div class="code-name">&amp;#xe693;</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: 'iconfont';
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#iconfont') format('svg');
}
</code></pre>
<h3 id="-iconfont-">第二步:定义使用 iconfont 的样式</h3>
<pre><code class="language-css"
>.iconfont {
font-family: "iconfont" !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="iconfont"&gt;&amp;#x33;&lt;/span&gt;
</code></pre>
<blockquote>
<p>"iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。</p>
</blockquote>
</div>
</div>
<div class="content font-class">
<ul class="icon_lists dib-box">
<li class="dib">
<span class="icon iconfont icon-baobiao1"></span>
<div class="name">
报表
</div>
<div class="code-name">.icon-baobiao1
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-lunchuan"></span>
<div class="name">
轮船
</div>
<div class="code-name">.icon-lunchuan
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-tijiao"></span>
<div class="name">
提交
</div>
<div class="code-name">.icon-tijiao
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-xiaoshou2"></span>
<div class="name">
销售2
</div>
<div class="code-name">.icon-xiaoshou2
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-caigou2"></span>
<div class="name">
采购2
</div>
<div class="code-name">.icon-caigou2
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-icon-cart"></span>
<div class="name">
采购
</div>
<div class="code-name">.icon-icon-cart
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-tousujianyi"></span>
<div class="name">
投诉建议
</div>
<div class="code-name">.icon-tousujianyi
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-more"></span>
<div class="name">
更多
</div>
<div class="code-name">.icon-more
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-shouye"></span>
<div class="name">
首页
</div>
<div class="code-name">.icon-shouye
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-shuju"></span>
<div class="name">
数据
</div>
<div class="code-name">.icon-shuju
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-fukuan"></span>
<div class="name">
付款
</div>
<div class="code-name">.icon-fukuan
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-weibiaoti2fuzhi05"></span>
<div class="name">
待发货
</div>
<div class="code-name">.icon-weibiaoti2fuzhi05
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-buoumaotubiao23"></span>
<div class="name">
定位
</div>
<div class="code-name">.icon-buoumaotubiao23
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-shouhuo"></span>
<div class="name">
收货
</div>
<div class="code-name">.icon-shouhuo
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-7"></span>
<div class="name">
7
</div>
<div class="code-name">.icon-7
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-mao"></span>
<div class="name">
</div>
<div class="code-name">.icon-mao
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-liebiaodaohang_zixun"></span>
<div class="name">
列表导航_资讯
</div>
<div class="code-name">.icon-liebiaodaohang_zixun
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-purchaseorder"></span>
<div class="name">
采购订单
</div>
<div class="code-name">.icon-purchaseorder
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-wode"></span>
<div class="name">
我的
</div>
<div class="code-name">.icon-wode
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-quanzi"></span>
<div class="name">
圈子
</div>
<div class="code-name">.icon-quanzi
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-wentifankui"></span>
<div class="name">
问题反馈
</div>
<div class="code-name">.icon-wentifankui
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-xiaoshoutongji"></span>
<div class="name">
首页-销售统计
</div>
<div class="code-name">.icon-xiaoshoutongji
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-baobiao"></span>
<div class="name">
报表
</div>
<div class="code-name">.icon-baobiao
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-xiaoxi"></span>
<div class="name">
消息
</div>
<div class="code-name">.icon-xiaoxi
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-qiandai"></span>
<div class="name">
钱袋
</div>
<div class="code-name">.icon-qiandai
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-wo"></span>
<div class="name">
</div>
<div class="code-name">.icon-wo
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-tiegui"></span>
<div class="name">
铁轨
</div>
<div class="code-name">.icon-tiegui
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-nb-"></span>
<div class="name">
手机
</div>
<div class="code-name">.icon-nb-
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-yunshu"></span>
<div class="name">
运输
</div>
<div class="code-name">.icon-yunshu
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-gengduo"></span>
<div class="name">
更多
</div>
<div class="code-name">.icon-gengduo
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-wode1"></span>
<div class="name">
我的
</div>
<div class="code-name">.icon-wode1
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-kefu"></span>
<div class="name">
客服
</div>
<div class="code-name">.icon-kefu
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-yingshoubaobiao"></span>
<div class="name">
营收报表
</div>
<div class="code-name">.icon-yingshoubaobiao
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-kucunduiji"></span>
<div class="name">
彩色-库存
</div>
<div class="code-name">.icon-kucunduiji
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-xiaoshouludan"></span>
<div class="name">
销售录单
</div>
<div class="code-name">.icon-xiaoshouludan
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-fahuo"></span>
<div class="name">
发货
</div>
<div class="code-name">.icon-fahuo
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-shouhuo1"></span>
<div class="name">
收货-物流详情
</div>
<div class="code-name">.icon-shouhuo1
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-kefu-copy-copy"></span>
<div class="name">
客服
</div>
<div class="code-name">.icon-kefu-copy-copy
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-yuebao"></span>
<div class="name">
月报
</div>
<div class="code-name">.icon-yuebao
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-qinglihuancun"></span>
<div class="name">
清理缓存
</div>
<div class="code-name">.icon-qinglihuancun
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-fukuan1"></span>
<div class="name">
付款
</div>
<div class="code-name">.icon-fukuan1
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-yunshu-"></span>
<div class="name">
运输-59
</div>
<div class="code-name">.icon-yunshu-
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-lianjie"></span>
<div class="name">
链接
</div>
<div class="code-name">.icon-lianjie
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-shoukuan-"></span>
<div class="name">
收款-01
</div>
<div class="code-name">.icon-shoukuan-
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-kefu1"></span>
<div class="name">
客服
</div>
<div class="code-name">.icon-kefu1
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-ziyuan"></span>
<div class="name">
客户
</div>
<div class="code-name">.icon-ziyuan
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-ziyuan1"></span>
<div class="name">
供应商
</div>
<div class="code-name">.icon-ziyuan1
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-shouyi"></span>
<div class="name">
收益
</div>
<div class="code-name">.icon-shouyi
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-shouye1"></span>
<div class="name">
首页
</div>
<div class="code-name">.icon-shouye1
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-dingdan"></span>
<div class="name">
订单
</div>
<div class="code-name">.icon-dingdan
</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="iconfont icon--xxx"&gt;&lt;/span&gt;
</code></pre>
<blockquote>
<p>"
iconfont" 是你项目下的 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-baobiao1"></use>
</svg>
<div class="name">报表</div>
<div class="code-name">#icon-baobiao1</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-lunchuan"></use>
</svg>
<div class="name">轮船</div>
<div class="code-name">#icon-lunchuan</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-tijiao"></use>
</svg>
<div class="name">提交</div>
<div class="code-name">#icon-tijiao</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-xiaoshou2"></use>
</svg>
<div class="name">销售2</div>
<div class="code-name">#icon-xiaoshou2</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-caigou2"></use>
</svg>
<div class="name">采购2</div>
<div class="code-name">#icon-caigou2</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-icon-cart"></use>
</svg>
<div class="name">采购</div>
<div class="code-name">#icon-icon-cart</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-tousujianyi"></use>
</svg>
<div class="name">投诉建议</div>
<div class="code-name">#icon-tousujianyi</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-more"></use>
</svg>
<div class="name">更多</div>
<div class="code-name">#icon-more</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-shouye"></use>
</svg>
<div class="name">首页</div>
<div class="code-name">#icon-shouye</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-shuju"></use>
</svg>
<div class="name">数据</div>
<div class="code-name">#icon-shuju</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-fukuan"></use>
</svg>
<div class="name">付款</div>
<div class="code-name">#icon-fukuan</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-weibiaoti2fuzhi05"></use>
</svg>
<div class="name">待发货</div>
<div class="code-name">#icon-weibiaoti2fuzhi05</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-buoumaotubiao23"></use>
</svg>
<div class="name">定位</div>
<div class="code-name">#icon-buoumaotubiao23</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-shouhuo"></use>
</svg>
<div class="name">收货</div>
<div class="code-name">#icon-shouhuo</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-7"></use>
</svg>
<div class="name">7</div>
<div class="code-name">#icon-7</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-mao"></use>
</svg>
<div class="name"></div>
<div class="code-name">#icon-mao</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-liebiaodaohang_zixun"></use>
</svg>
<div class="name">列表导航_资讯</div>
<div class="code-name">#icon-liebiaodaohang_zixun</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-purchaseorder"></use>
</svg>
<div class="name">采购订单</div>
<div class="code-name">#icon-purchaseorder</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-wode"></use>
</svg>
<div class="name">我的</div>
<div class="code-name">#icon-wode</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-quanzi"></use>
</svg>
<div class="name">圈子</div>
<div class="code-name">#icon-quanzi</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-wentifankui"></use>
</svg>
<div class="name">问题反馈</div>
<div class="code-name">#icon-wentifankui</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-xiaoshoutongji"></use>
</svg>
<div class="name">首页-销售统计</div>
<div class="code-name">#icon-xiaoshoutongji</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-baobiao"></use>
</svg>
<div class="name">报表</div>
<div class="code-name">#icon-baobiao</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-xiaoxi"></use>
</svg>
<div class="name">消息</div>
<div class="code-name">#icon-xiaoxi</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-qiandai"></use>
</svg>
<div class="name">钱袋</div>
<div class="code-name">#icon-qiandai</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-wo"></use>
</svg>
<div class="name"></div>
<div class="code-name">#icon-wo</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-tiegui"></use>
</svg>
<div class="name">铁轨</div>
<div class="code-name">#icon-tiegui</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-nb-"></use>
</svg>
<div class="name">手机</div>
<div class="code-name">#icon-nb-</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-yunshu"></use>
</svg>
<div class="name">运输</div>
<div class="code-name">#icon-yunshu</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-gengduo"></use>
</svg>
<div class="name">更多</div>
<div class="code-name">#icon-gengduo</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-wode1"></use>
</svg>
<div class="name">我的</div>
<div class="code-name">#icon-wode1</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-kefu"></use>
</svg>
<div class="name">客服</div>
<div class="code-name">#icon-kefu</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-yingshoubaobiao"></use>
</svg>
<div class="name">营收报表</div>
<div class="code-name">#icon-yingshoubaobiao</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-kucunduiji"></use>
</svg>
<div class="name">彩色-库存</div>
<div class="code-name">#icon-kucunduiji</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-xiaoshouludan"></use>
</svg>
<div class="name">销售录单</div>
<div class="code-name">#icon-xiaoshouludan</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-fahuo"></use>
</svg>
<div class="name">发货</div>
<div class="code-name">#icon-fahuo</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-shouhuo1"></use>
</svg>
<div class="name">收货-物流详情</div>
<div class="code-name">#icon-shouhuo1</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-kefu-copy-copy"></use>
</svg>
<div class="name">客服</div>
<div class="code-name">#icon-kefu-copy-copy</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-yuebao"></use>
</svg>
<div class="name">月报</div>
<div class="code-name">#icon-yuebao</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-qinglihuancun"></use>
</svg>
<div class="name">清理缓存</div>
<div class="code-name">#icon-qinglihuancun</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-fukuan1"></use>
</svg>
<div class="name">付款</div>
<div class="code-name">#icon-fukuan1</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-yunshu-"></use>
</svg>
<div class="name">运输-59</div>
<div class="code-name">#icon-yunshu-</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-lianjie"></use>
</svg>
<div class="name">链接</div>
<div class="code-name">#icon-lianjie</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-shoukuan-"></use>
</svg>
<div class="name">收款-01</div>
<div class="code-name">#icon-shoukuan-</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-kefu1"></use>
</svg>
<div class="name">客服</div>
<div class="code-name">#icon-kefu1</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-ziyuan"></use>
</svg>
<div class="name">客户</div>
<div class="code-name">#icon-ziyuan</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-ziyuan1"></use>
</svg>
<div class="name">供应商</div>
<div class="code-name">#icon-ziyuan1</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-shouyi"></use>
</svg>
<div class="name">收益</div>
<div class="code-name">#icon-shouyi</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-shouye1"></use>
</svg>
<div class="name">首页</div>
<div class="code-name">#icon-shouye1</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-dingdan"></use>
</svg>
<div class="name">订单</div>
<div class="code-name">#icon-dingdan</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: "iconfont";
src: url('iconfont.eot?t=1547778220203'); /* IE9 */
src: url('iconfont.eot?t=1547778220203#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAACQEAAsAAAAAQBQAACO2AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCKFgrmPNAZATYCJAOBTAtoAAQgBYRtB4RIG8EzVQQ2DgBInh5K9v+35OSwtasNeJQd7FJ3aDKDW4WKpoW5/EmhqAQzDbfzVtYi++BGk0cWHtcwUx8d9cFlbSgI+lWYwQ79EheVmanHFqnE3R5sKCXPw+/XOu/bmOI2iFUSG8qGto1WN5R2aYQKAXC5+1kmgW8bcxqEAUYp7uH5uf2fu7u4i2ZjxICNqoHUKFfACAftAB9gMERqIG6YzGRgDcEADNAPIhigDTwc2ljY329hJUPR/uxwrczsTniSQwD/BRKuwqgaW+f+ai6jE/vA4BDVQgnQ5qTu1CGH+eW0vP6tDhcgV+SvCc8fTacZWVrJ67Lrk7XXcMJQRSgAJoBlvndmzhgOZiTvgSRTwoZAgY75q30Ce320kPgI9urbuKBpWfrrk0aWvFkHZE7YC2SHQbZf76vtzy/mAAG91W/76YTEkLpYoj5JjayJFkhd9m7hm9Y+fwYA1P/9tJRKbl1OZ7eZUepLB8SFEv2v852eys5+XZnTumrXTdKd57RuK5fSWAyYWUqD+rsuK1fJdS+tdegAluHBJCwAGgZAHhabJuNgxKccQG11JvsZ9+Zldp8fizVHo6PR1CL+s/ufn4KhYw9KObraldVwj1ZQroWHlSzVocmQin6+Y5w0BuUGox/WVi+A/+SnL3/wFiig0kbAvaC/X5WtfMY/q+urX50Z9U5t4hxsT0aNBzRUT2a5PMAhPhBjyProoYMlgE95ieqFCS70bKnR6g7Hi/V2f33zFqqYNl+zLg3Zmra053BOfNf+rP41U1wihDW8NvlcduVqqnVb051efHpSU3/4ePKpPLe0ntL+P8Tj0K0LPU8erey48qwxMfSqVYztubR0o2/buc7ClpkHc7WBYwdO3Fl7MXWvcurNvpFdZ64d2VBSAEuPoTravW8Eg4FDggNuCQG4IERdlkkC4ImQgUdCAVaECuwQGnBF6MAzYQENYQMTYgkMCQd4JVygJTygED4wJo7AHnEGLokbsCRewA3xAfrEH9gmU3RizSAAOhICLEgosEVEwIxE6aowkwCYkzlATfKBAZkHHJMi4ICUAyekArgjlcCaaIEXsgqYkjrgnqwFKrIOOCUNavubWwHYJ23AiLQDu+QwcEZOANd81wJH/KxeyQa8Byf4ouSYr1nfufnS95JanUqt0WlUntHO6a309J7+lm6xBrH2NsCEA01QFooXQwhotdEBSpA4IwAboxv3gUiBHGV1NlWezmeEhruHWLRUHFT989D2tWQpFqdUUXJ1TcWJsp4SRH1XbJMmlyYZZTDnstYSiydzHE/qqEnHI4QTyzlGvXOhtmxTVNr42+IRhVAKkah07Y9UJi9TnlAIRA+EiBM1pPVMo45HBHqAYrnalMghRTMfY/dCVjUcC4VcT3k53T1EE2K8Uj0ada5fKXmjNHQ8+jIWLoox0HTaqCWsAvozBKBWUhTV2YKPZZrRqEYXFiCKHqAvOCQPdAlBLCE/zpKF0/PzqZodSSnPpnb4CUUI+jdpBgDoafu2uTNRye0k3EsZzVBN/iL99QWszyWrl8Xz8334Imd1i9BfYoBEzAKZcuIu95x655t/VKZWeAKopm5BOGaanOh23kUibIzz62Pna4u7xX99hiWV/vkf4ctOJQ3rc1HJntuZJ39xoD2TmGxcWDRKdrVedmoT41Tj3jcaEZ/d5MdMPTxhtaGftDKiQaGsOfGNlbCVlPQqL5lGMedRJmst0tabakM6nKUilhDSqCAjoyZYdYx1k19v71+xYkhbjslON4UA1g9Hs/ZSks2Vj2SY0SoemezcuvoU39dfoJWyk4lENkX+XJ6UxmZuZULzd2zByt08q4SMgwEHR5zfGRRzMu1wT0vPWRXh41bLOoSAamgUQkQpsTCGxNJNACQqq8Y0k+oCw0AhX/AjzQnnLZ2XoMVF71HarICQTzVk7E8aMq+vuoI8maX7ylK5go81AwTM5AcJRe8bXqVox8gX2RPCQYoyQ5SjomGYJn4ts7tucTIq6eH8LjMq69DNqoknC7vToVq31Ay9NDarpRJCBhcw+RErDBuGa/OgtJrTHAipIH0tUsa4uhYFRkNO1nBaKcZtAKC6FK2zyNxtKzBckRHGJ3W9CkyeNU27JGU5VGBOltqYLRuujGJcrNtqKXtBXQeHzW1lA7mL6lJywzAyDTUxkYJcFKXM9pnPtbRawLKIfXhUkXwoq2AxJGMp31N1vku4klnibORqoLW7qEWLjqDUcKdl9eoIlwFZ08QjohNycJTST5HQ+o5ODOxGJaYN7/US3h7Y086NZvb/+PjfcXhOnzy4YaBjaVLmC+xh5Bwc+/v1i3QfGJzKzg2Z0a4ZxJIn+fauPTKy0NvoJ4MTxVoJs+aSRFn4UPkb1eBClEI/fBCI4i+ovCSV6veAikVa7vuDzxJ1oaraubrWHHU1gbSG2sS4MsQSeKSlNTjlKlHrRg5pjw++4EvSQqEcySN6+xOw97bCLty1w/pJGJSaQYbTBpf6bnjUKgsQQwGMBRdSCqgNzYjhBmK0FoSI5J1xcHjYKuHz4tznkVtmSG+TlsSA206z1WGDb3PqwRGE0cK4jR/LkQmGBk0LgIcFlHcQ3nbEDgoIYoijPjwuYT8CctgnsoABwGVZP/Nz7EMfizLa/YmyWJFwbjp0YXUFD95tYsBCTOD5xRnYd6tGPupcu3oVt6T7KPG9F/OM0ZiD2QMx2tNVPGutk73yu6jWihEIyxKSfhZtFE8M/mSkeX2B1CUxqYIqIoZqLUiGcb2C9X5ZUhu7p4IO8upV7RgGdBI89Wv6fnukP9bPrmihOuVn1lLLg5gwfHMz2m/mkZbovXXTn7LD3v+C8Lgvfd7kb2d835S2DV5Lg3igHB6y2sP6I96OnTGRFYMzD994jn0/JzPROY0hiJVSY5EzeIAIJOV22PJiqUA5rRGJIBIvy/fqXfTrj1S321EbqEsQ2/15qUk+sOsuueBDfgV1Vtf1YQlj/Yiz3V0AQQVpq+tAUoDlrwIoyDM0IASL0w8YPU94sIK0igcGph4Xmr2jfljAa+2SKLqnpNJtxPv7ov8mbqYD3cn5GzY8c202dGHW9ws3rAwjXadzGnYjBpJ3twCmJCWrIfNQrv/ERqs/eJH3YHrH5AzR2vWK7j/4HubrtTyQwZB6ZQA0S4mORxqF1EqafbbqGVpbbs3GK72VcBpigM3q3GG1obUgaUuPIIB7tqXD6kzD7XAcQJAKKVqrtUh5GhuYbXCcYfBmFSehzBluiVebSR5mrYU2cU7zipeQUPRjE8jvAnnH1x4XDwFic+LNmJ1HKQeZBAWMX+/rqnyBIjQF1Gih5kz8fmE5uZ8Vbjg4pfaDhdZAM7X3tDXJjVs2b3sLzh253/VsYfbMkS4+CE01+4cERRVcgAd+MnW5QjeSDVNL+KrYVLUApyDlJ/MbsCdMYgUnwNPTShnaCy/WykkF/pAMxQ0vIg5pEq9yAbkznXc4ydaPLr3dMpoGI41zmMQAfY5zX7CACYp+0WeNshCA9RmhdPFTZn75ibHwiG6CgLq6x7I3Mau3YfBtRqPECrOmqRpirUt6+hyoywMX9a1TlGenvT6ZthBaiM41AjBkfWj2hvpiQRABvPe6eLezQRnrvU/WEmssqYv5HyOYjZlK3kQ/BuoaxqbJS3swQD/GdhFfzciqQEQC3NE4PaXNi5iUmuo2saHtkFtkp9LWP2YG5uHJw3GpkXhAa8VIeOTuwMwIydaQ3cRsi9CZrich4+QArkrUjoJ9Xm1+YKMQLjxPCXjYUdf0o3HoHNFWwQjpaociwD6s92DmGlG3e6B38cZIJjBAY3O1hFm9S3lgdYMPqiwE/BNKwsqKhPj3aKqcaGiCjMWW8mQE8dTsi9lnL+9j/Rk6VHygc8tyzxQoPph47+ydsZlVxGjdDf5KD2MBSSYAz0MiyBQhtwF8o6OSrbfj8KX3DUgqJ8CQiA1kUAFvK6c6MqVqkBJOwmUe35B7Ivxk/ImJmVVPC8fW473qJ9E8h9qv60O3o42lD93vv9u3MV8Fya6axFV9pQL9tCXItcZUlQ4MWl3MNVUOFDl3WDnxaC3xMjPvOUpgMzqi8vZSGtfJxEO4TnLANDH5x02h7dDRru9m0dROw5MuYYmFIQ01Z+Zwx8OZvpFn85wruXMw2H3xb95QuchYI6P8FSmG3NVIwF7DI3ovHnS6b6sIxapYhxB56Y6zHmLf6GtCURN2U6dc53eZNmcsQwMebw3CufLKQlJSyleFd6kfEaVmP5ApLX5kcBnDXpGHsB7OWY5BbSf8ecShmttHBNem0x1p6L3iPa5mgHv0Eh6sA+8lFE3VWtB/A2D4VvGbHWOfM50/K4lXhrZRp7KzfVVh9cvB5t5IxrP2AKixoi1GGuuzfWMsxIPYmsLswJ6r7HCWkY+5zcOyGdBWrjTOKuR283sYfBZpBGNdnTva1jE7Hkt0ZJkeSIqTNwK+zIyFtASRgsKIz0Yafy4rUk4WnxDlLcpr0ubJyY+Qry/KGUl5UpE2i18jaFqOgBSLUoMT5SAweAkZrW6B1lc/eZnhfB1ZZhVFJz+hiXgRNR41KOlgRVbRNNLr41O3PqXNMBQ0883WDDFMLH7nvD2BfNiPhmQ9a9Hecu9uqrOqrj1S7y2L/d8CBD/8MpU9jyAWd3g6oJTjMGfy/UAfF7B6rwQhEFBRSFOmPE3CG3f941aYCFSYIra4ZbCaN3mVX2/yUWTl43Flo0XCFv/II8lq0oyawOTXq8ysagmFDIHGIamEYbkSt9L19FOPWc3qbOZH1yGp4kefqqctvcrPbW9GTZsvRQyuYg9tcxNuan5Ha4cT46FUoDGkTv9vBu7o1soG3HL2ivpgmVm/2v7ve2bxEAZXjD8AWkeeHMVYB1BFSIOQSLHJxOj7Zr/7xrVpUP8SGnHCufKJ1MDUWsGToNe5heXupDYA8ruT1t/oU2Q4MLt6F7I5D5N0FJDFD6Xz9Q4UDWH2Io0T4Zf6TqP4LRwipXHRML5+8D7+Qq6RdLHe/JQZ5brfFBa4vWKPsG1DwE0hiAf7PJ+HiaXEyi8tvTOGAcCMQb8I7Stkp/PtxGjaZyQKVZv8z3cD/4bue679+6A1/3827v5HqiP/Uf7tH6RHJfUR+cQZwHF5RQZPjoTg/+Pe7N+yF8Yw/yD8izO+D6kshRE5Xregd+G9cvAjSys/YE7PEq60zzmfXOK2uNeA76J36YDEYr9bmAXnycKW+qlDlVOtLUvcF69QI930LpppIGugxrVS+evh8sbGh7rE7FOJAfZ1U5Xq/7lEzkZtfZcjqR/5iNs+O8Il78Gsgx+5ovKK3XjRicyVWbUxSD/fg0g/cJlfZeU8d66zld2Wew+a7VnuhYVuLJuW+w87+7uHb1f7gMhnX5QVz7/5x9HOK/IcvLDz3fFPuQXY/7lj7j1NydwLaxaJWVvuO9xnbXnLRTmh7N48N/WTy3Rick+x6tPufoQKT0BV+eeHEjZCSjKq6ZA/oiXXwRRJyEnh0hKa1knrjLuLQfjBkbz1KJpF6UJ+ejp3sWhsOzs2io0Me9QF0EYJfSAEJbKxxKe7bIxhty4TTeMdzikeWpSYZKyOZIQ1RdRLMSwL9v+WLU9PTk+BwG0pmW7jtQiqy/OT109Wg9lPHoS3NOOu64j01NRub/Aqg1ynwssRlW5NXh5OBrKzgaw2W7KzZFBtdVYWJMPl5VWGIMUV2tVPLc2Pr0H9wPynGb5+DW6txbHZ0a79tBYolpa+WKtBmmhNiEarbqI2I1otrpnWjEMWpJnaBIJoU2GkCZnYOoFrwmEx/46QtKbmwAIpWTpHGU/j5oykDxuXpNGacGF3kKafjk9vMxJty2elI8/KZxLlGm3BknibHFlvP5/ANSP9SDMOLHXE6XEKrJ6ixypC5vTVN7LiYtbzGWS6hG3C8rHbyHoMH1OLQx/D1WLBXNw2XAGSV2u7FTvxnWptISNJHQlIaiKlWgIblgwLYWWQLfVU134pdpsg8qhC82DKCKnCqOIKuCpjaA8VMZFC1YgApy7X4UJJwMpEnJgMfDPZRBpAdOHO5ZjI4cZ8cj8RzP9PCleB7hKlivpYCjLVihogeWAkdWSAqyBRM5NfGPO5ZCqHSsbpnveYEdM+V14H0fkXnwBI/ouRSNTxE18RDeqZakeAWAyASExL8tRUP6qabLIClpYycKgkS2wVWomuwtokI95yVE9WkvVgYXvxqybeUsX8fWFqgn8Ms/m0MEF1ZOovVWpH9nM4+bSB8Nnis6EEfzLW/6nw5WgrpkYmTAnYirHmdBBGKc8e/i2hxMD1QhIaCJ2xUVHkeC/kHWE9/lRIghc5Iar2EiBWcwrLTPnuKftpMgLccuNGS89QRukmCDTZfvcUU34Z5HhRjzp2FKXHvtN/PusSlEhFG37Wv8Oi9EeP6lExIDcPigHLzbU1SNUoNi/GURAVxbSIkvn5VcGCiZQgFDUvftOHPQ537I98iN9wiSq2eY76/Ipx+Ix6akMV+xlRD6/fUth0xwQvja+PU3wV/fIjjvXc6RkjPkcIxOYNaxtrtJZmS218fA0Ru0e2s3Mum5YkE+wljXHGSBMyc8y5mrRYy+eetNbJGDDa+8ihtVUaJO1kMsOGTm7Ni4nBtuZAy5ZBOUcfaAYJSLMypVAvqV7Q6rP86NbOwq5pZAZFROZb88kiCn0ZdRa2wNWom4Pk/zTxAJSzeOlMFCTOgZZUo3JO1EUVAinIKKyKzD/XEY5CnYakyiwpJIbkUHomk1F4AsI6igPFSKaTtDyyFMrKhKTo0ESA8VTHxeFwcbHl5UUgEhd8VHTF84oHVM27DegaRw2IiMpRZfCgaxj0CL5qRbo2vxv98iW6O/UEdLj22LFaWA8fPwbX0p+07nfkULGKUcBX0TyPX5BbQI8kUAAGDjz9VktWe6+WrvbqJfYuPp59XEKUHFb2SolSSWlEcIQOi8sbGeZ0zFF9D/nu9dbroudF71RWtZcnQeo+7DMs9SjwM+pCgBm8sEvl3Rndf6a0UsngebmAGkuVm2PNAsAVUOX3oty9YGtrbBGbbNsuixHVtmSzVUywErt6OWajbQ9znTw1b5VXqM04AIQ4szokJBaEqhdfL5y5KiBmV0wru6knXHE09dOz9mefqNGlmnZRF0voW5CZXOIZtisMCpRbjJDVp9pZgdq2DaVahRPoQG2NhK39HyqhygXQdCqGSkeBg5qOiq40INI0aSEJlgZJLMR0sd4/OcBzr41i92ip6NEdAW1BlPZNjR4wQaswyTq33sl5f0FJ9t/gmQc89nrz7j4q2y2mn6XPsIlRpAtoJjgWUztl/5q+4eTSZTxRYM7fbFWJc7f1ikzQ4iH22AIUVLTEbVnM9mzHdI96kOW+yQmYq3dAfzsjDKGbwtxL1OpS950q1BDR+RfagXngYE+e33EUHjOhj5KNjfkL0aYx+CiUef2X7Vq2eFnC8KwrloNLyCwV04KSjTs5/HZv7XS83dq+ccZWB+xstoVr494VpUZn22HXLxl+dA7g7mH8C//5i/4XPSCK1lCB/SmRMSmOhOmriKf2L9oYmezoEdIA0oCL7IHiwTSFgjYAHoABvoJPIlbCT4mfFNMSKfzE6EjkIX9r7XnFeb5r+qHzz8N5qN/rSM9hUzovg3aYpuLlg+CkiTzrvdMwqg0rldYETEqkx2DzbAw16PwcQgp95RKen1VENNQ0oIxfkoWBpu/7JMIKs6GOoxvb9qpzjFFThTKwHUuyGtmdhGQBBlbWVCotmF5Qh3sHw8ci0WKNGp2JnUpKsep0d8/iO84HdsHoE+DrEJoF6OtRcD00MQS/DGDixr2TmqalKYJ8b3l3cJloW4MjIy23hJPhub581hAMTfC9AcEzgqOYDo+no6steLkljNQGx0w92Hwh5gtzhQ3qPR5oGE6vbU+5AHi8fRa2c1cvTD/H12wKw5pJS2JcPcNdzU+jEFGYOsPNdexB8Suv883X8KNDLGvWUHnUHmFkiM18DxsfRqz/cf/YK7VxCEoPzk0s516isua53a+2VAy5lbq8un7+LqAwheqkJNy13UqMVotRou7xc6DqaiiH74NS2FcSRZbPooDzhYUzAhauzmynjw8MONDbvXp7z336ZHr8+DyHY0KQczKZKSDgnFptyss7t73FtHbtuYsXd1889PXrIQL+2DEDYaW9/Uq7RbfvdNgp4+KUAvd37zYJvDQaLyCGv38XiAHYvdvdRr50cvK+3Aa+cCFt6slJc+38p08P773961fEIsH4OIU3Fsy8uB19XyU0eTx81NbkJhUPGdP54s7JyTox/12zm1VU8d+/F6Ks3JDmZoRya+IbdzSgtDTA+/vrV3neuVJprrXyxo3V1mstLdfisIcOkU98+HCazRvPrVplamw8p1Sa5s495+VlCg8/D0EmOv3c3bumV6/O7dPzH925dNkOtrS3N4BdkZJSMcpNSroJVrm4RDfOXOvfv63DZqBr11Jx5eVedXUgJkaWMihqS9xW4SDKETlUXNX1lcU1SEKCTlcWQiKg+mOBpmDfAp+DHR/WDNOHtcMyEJ26d0vT88rDsOkR8IQ/SHvEf7nmEUPP4iX/kcMRh5uMKuYgs4pxc0ro4TVXPfVh9T7avsfbDfwAL2yVRnjMemyBXzgQqfvN1jMoApJ7akkPfQcXMasbdGZEGCps0DS2n04+vZmXEboxe3PY0U4MqhxsOEejdGY/E6jLDlVelocKF8Q7MtLyJ0bCoVwO4DQazSP2RuFyh3+14CWcGWAbdB+N3cSPpC7jx54+0kdiv6foo7HrgN1H2J86s68EOFYPV+xNd31NXVSdXr9Ptq9JGF9bsy0KmKsBqnjjxmJoKCfQHj0PvrdD0VdFzawrGEKw7b0I83/px9jfv7OPhYC2KfGodX1966ChrAivgxHZK0jh3MDkiio3rbKPDRCUy+VYLrZjyu13YuEtFy5uhnn+Fy+iGrHYmQ67rpBtcXK5ekQW2M/Cd8BH5kdh7LIe6aBcvn+KX88BfiYcF2fyA5wz9lMyaLjym2j7Gm7VTb09BFavndg0kSY/zup372cFRzhwJtygQqwQlYE0EiRd7+J2nTzVZ9u3YuXt25eXzm3+/JmK063csXPYDvhO0T2Oytb8Fn5LQlcopo2q0pxSs52/HQgddU6jjylOlMej5N7v/4IBnow3ANL/YD0p1DxheUTMxQXOW+CI+UHTMv4ytDSZvETQIe8aNk5LqcKhcXpKDS48G6PF9GELiKqkPpHmwiCuidKEEwRvTECWYQYe5DryZ6kdxb6K3dO2ov9k/vn9AZS5gG0iaLv9pfHtFLmXm3NU1KygqDjHoLhov2Dw3byaObQPR1BP3mAX4s3RU1JLmNhoca73F8c7grWkeGlxeTjxLEG/wntFVl7APBXLlZyy9dm5hEmMcw75ArkWP47MabPF5bh6uybTKJWHRwzDFXJKnrUtiwHhLTfcNGZUeK9C9TZW4HDmwhzCE+JaMX+rtfocN++bw+crHIW175i40YXqgidu2e++yFd4kcLzJSPMbEgOychZWPuVV9rXQ2zqyh77ajx5OiSlwrI1gLtszRIF7fZ0GhC5kkmmzcoXgJTE2FTDqoJSxwmScBXJlR9/CQTM99xgXI5/iF/B3cDdRD6J9e+DeTz/eQY2hT5tLzY+SZoKEgefCs5YdMg6rDuiO4Cf4Cgy+5HFFtX5/GMPLToysnYe+MoOM7y9RRdRO3h78o1harFu9B0xdH0BK2W67ll+KDOrCiwcKWrnySUL6t9KsJSiDl6sZFV1bOFntvF3fSOh3Tp+3sY/mZr2uqRUIEzSeYz0kz3I/SPogQNXdhH6CR6YU7iZVsPQMWqctMH9tEsAJSxUbcMpuf0S9L4Fg9plrYkKouWcNqzc393P3cwMUtkftC8IZI5x3PwQOVuWz7ZRKG4+47SZdri4CQiJnIRcOvnqSPXIVTI98TxWEeMmcN452mblsD+JxdhPHG091DNK3FlY+yg7GO3oKEEPOgM2vxIhNAR3jQTOmxUM63kOTS7e7NrweXNpezLe2+dOXoulQ76wtb5VuNJZrj1r18GKWnT7qw+y3dV7fSjxNjFUXirX7Tx7tGPJAAi/uU7lKylWfJBtnPvPcqxAIvatWn9Wf3NrrU2ND9Xa6bbMJw3yC8tl5Ug/vU+dHq6I9r08HpUwO352+vhl+6BwRZruew6/TFaG7yaV8/FdjC5kfl5uP63sIkPLuI7vwmeDQ3On9Xgv20DHX4eBXFwJ8OlFxdqMdO2MGW0X002X7aN7/jvd55cFvhD1Sp2fWchB68MHAoQ99zkb+xb0UX+gN0uEm4W+LpIXj3cQbp3wFAgj8fOHWjZgEhpHQL+0H4w0JmzDXt+LXyoShujs/ir/js7Pm/Sd9MGFy5q/56q89mX2psYvYT6XXs9ezywRb6lKK9aX5caTEKC7prq2+1/B9nY01auYZC0hWHvjEFoOCwPRJCILDw83+0hrAt03B2/ti7easmyDR0sfGqZJRWUb/gR7/a6wxFPtY5iOZBuSiZRuatkphplSOwjlbDhNOPhgKEcwHy28dWZKwVt/edaPFAnCeM5tP+e91KJJ8Q8ZZliHpe2hXfTVxCTxbxuse1eU+3EQIg1S6m04ES33SWP+eGbg83jDG+M2Dvv5+xnGf6ZRo/yfqlFa9lX2ZdZjlhbseciZxTnI4QBOUE6fx1HaKpSFhZYNMLLB8l+Je4TjHMtuw5MtT5pBkDjPw2rkfvYKdmdyUzwnCd5HePGasA+ljGhdVL1DktkMPT/mtDmLVFORXB+hrgxugJLxLTdvNRMcxOf2rIpbzv6H9H6jycOq57YNTz/S0Xnl/tvStCN5DrzzNMpsGoiRaCxP8AWdZFEwM6aFKYBpvI9T/sHBYCozEje/FFB23Y2qnbrK7R3zQYii575D6PWrGThXyzAGHbkAHgXdEEHTlUD0EEimZ4gg6jQq2A8eQt3ghulf6kOo3+Q5zVMEZSgh0cNUlte15I/x6NXDO2b803OetJxz2W78dUvsb/If8ntMnXdGRUwbLZ2XTgv2pa6JXXVpzVsVGoBqs/nYwCgAwGyEiSJyeU4bgsXml+Z/aFt4JwAAwBmo+xbhGXwmWMMML2BJpaj/W0NFveMewCEomIBXwCRRxlE7p1MO64Iz8CAcSQ8eyl2Ft8ABgQk2wDQYvLH/ShdgnXkSLIgM/oiNyG/0Ci7moUAgaHMCTlfFOQGvRDiomiFRSapHfQ4ewQLYiZY+oVqnV8NdRYKeAJyEBv89ZK9JmK/a6ADeVcXw1Hmw1ltlNrwEecNwIxwEuRH4EizA1SAuzF2Ae2DnXKfvcEHfZbgKDvxvdk0wEjHXz+2TkY8Ri2+L2P+Q/U7Wbe7pSvARwov6v2vWzDKET/tLm4uL120YJtnr01scjfyc3MsfRWxJMGe6zmOL4v5F6QUYM95sxj7R7Lh/+lspbhqgolq3ckAqySGlKeLQocxZS1lQLrIxsDy1lRANQaMZY33fLBlE/ZYD3j85FPVHxKF/ZS7tvyxESygbP8oqpdUuf4//RDAJnMp3Ci2Tz+50fFj2PQSpTYy3kZbPEDucr/TTy/GiJRBEEQndOmQpeeUjN+rFujCoa1Zt5BJsmhUpta/nz1+sxJnlpnfsIQJGCm7tKLndfZHFiD94cpz48d8DgagZMWODz/f9DEQdfOiKNrPgEJcGcW1QlWhnLcgk5HgKrx6xhvKCHFB7AVNadr0SsJKZooDXem2OduR5jVn1VjP8DNb5NuqeeFECCAGBgwAJCvS/p74wBA48RCAqJi4hKSUtIysnr6CopKyiqqauoamlraOrp29gaGRsYmpmbmHZoUduOEfD+rAWsoUYmiQsj9jR1ud0BUt2YA0Goh91AN7UmphOEksnHCvSDkcNR5g89OxgvMJSysRLJYL8RKmj0MSEmZd9gYuHSC4sTUIXVjG7kwVChXD/yXPptkZAmstmCkPhyx63QmetRFuYDjg6iKMND5usSj7dHk82QAm9oUrwXM2lE1Mo8UAffZKmFDtYSRlyBgcb1osLQXBI+XSyE5J1xYMAFJzwuNxaelSBl4sdUhA0rYzIcSVWyEmd5M+2kVqcobE3iluHGtj6/MRgarnd+aR0hMLsbCXIrrFRiQDzoFk69UHFNaYHNRoqEY5KoEx7On7y9GSPO8o82Ju6aTvwAFzQB04cObvdAw==') format('woff2'),
url('iconfont.woff?t=1547778220203') format('woff'),
url('iconfont.ttf?t=1547778220203') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
url('iconfont.svg?t=1547778220203#iconfont') format('svg'); /* iOS 4.1- */
}
.iconfont {
font-family: "iconfont" !important;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-baobiao1:before {
content: "\e621";
}
.icon-lunchuan:before {
content: "\e68b";
}
.icon-tijiao:before {
content: "\e664";
}
.icon-xiaoshou2:before {
content: "\e615";
}
.icon-caigou2:before {
content: "\e61d";
}
.icon-icon-cart:before {
content: "\e636";
}
.icon-tousujianyi:before {
content: "\e60b";
}
.icon-more:before {
content: "\e62e";
}
.icon-shouye:before {
content: "\e665";
}
.icon-shuju:before {
content: "\e617";
}
.icon-fukuan:before {
content: "\e6a1";
}
.icon-weibiaoti2fuzhi05:before {
content: "\e622";
}
.icon-buoumaotubiao23:before {
content: "\e616";
}
.icon-shouhuo:before {
content: "\e684";
}
.icon-7:before {
content: "\e640";
}
.icon-mao:before {
content: "\e650";
}
.icon-liebiaodaohang_zixun:before {
content: "\e638";
}
.icon-purchaseorder:before {
content: "\e628";
}
.icon-wode:before {
content: "\e60e";
}
.icon-quanzi:before {
content: "\e674";
}
.icon-wentifankui:before {
content: "\e63a";
}
.icon-xiaoshoutongji:before {
content: "\e632";
}
.icon-baobiao:before {
content: "\e60f";
}
.icon-xiaoxi:before {
content: "\e6a5";
}
.icon-qiandai:before {
content: "\e623";
}
.icon-wo:before {
content: "\e697";
}
.icon-tiegui:before {
content: "\e66b";
}
.icon-nb-:before {
content: "\e605";
}
.icon-yunshu:before {
content: "\e789";
}
.icon-gengduo:before {
content: "\e66a";
}
.icon-wode1:before {
content: "\e671";
}
.icon-kefu:before {
content: "\e68c";
}
.icon-yingshoubaobiao:before {
content: "\e6b2";
}
.icon-kucunduiji:before {
content: "\e633";
}
.icon-xiaoshouludan:before {
content: "\e60a";
}
.icon-fahuo:before {
content: "\e625";
}
.icon-shouhuo1:before {
content: "\e610";
}
.icon-kefu-copy-copy:before {
content: "\e6b7";
}
.icon-yuebao:before {
content: "\e62c";
}
.icon-qinglihuancun:before {
content: "\e607";
}
.icon-fukuan1:before {
content: "\e672";
}
.icon-yunshu-:before {
content: "\ee85";
}
.icon-lianjie:before {
content: "\e68a";
}
.icon-shoukuan-:before {
content: "\e645";
}
.icon-kefu1:before {
content: "\e60d";
}
.icon-ziyuan:before {
content: "\e60c";
}
.icon-ziyuan1:before {
content: "\e611";
}
.icon-shouyi:before {
content: "\e677";
}
.icon-shouye1:before {
content: "\e618";
}
.icon-dingdan:before {
content: "\e693";
}
!function(o){var c,p='<svg><symbol id="icon-baobiao1" viewBox="0 0 1024 1024"><path d="M511.706311 64.021106C264.433578 64.021106 63.981197 264.473487 63.981197 511.745197s200.452381 447.725114 447.725114 447.725114 447.725114-200.452381 447.725114-447.725114S758.979044 64.021106 511.706311 64.021106zM361.994568 735.607754l-85.551468 0L276.4431 602.750887l85.551468 0L361.994568 735.607754zM490.318188 735.607754l-85.548398 0L404.76979 425.611467l85.548398 0L490.318188 735.607754zM618.645902 735.607754 533.095457 735.607754 533.095457 558.468334l85.550445 0L618.645902 735.607754zM746.970546 735.607754 661.418055 735.607754 661.418055 292.756647l85.551468 0L746.969523 735.607754z" ></path></symbol><symbol id="icon-lunchuan" viewBox="0 0 1024 1024"><path d="M940.606685 920.725892c-43.774993 0-72.529897-13.641695-102.973256-28.086685-25.675776-12.181437-52.150754-24.704658-86.192058-27.309996l89.181135-198.959378c12.491499-27.865651 2.100848-60.620659-24.169469-76.185146l-32.633235-19.339464L783.819802 277.715069c0-11.04966-8.958022-20.007683-20.007683-20.007683L647.769196 257.707386 647.769196 147.665131c0-11.04966-8.958022-20.007683-20.007683-20.007683l-94.0357 0L533.725814 83.640955c0-11.04966-8.958022-20.007683-20.007683-20.007683s-20.007683 8.958022-20.007683 20.007683l0 44.016493-94.0357 0c-11.04966 0-20.007683 8.958022-20.007683 20.007683l0 110.042255L263.622096 257.707386c-11.04966 0-20.007683 8.958022-20.007683 20.007683l0 292.109917-30.990828 18.183128c-27.442002 16.09763-37.554314 50.880831-23.023366 79.184457l101.656261 197.990307c-30.30419 2.330068-54.564733 13.168927-80.0645 24.586978-33.800827 15.136745-68.753897 30.78719-126.411061 30.78719-11.04966 0-20.007683 8.958022-20.007683 20.007683s8.958022 20.007683 20.007683 20.007683c66.206888 0 106.879216-18.21178 142.764518-34.280758 25.847691-11.574616 48.171116-21.570271 75.728752-21.570271 31.195489 0 61.411675 12.44238 93.403297 25.613354 35.950793 14.804171 73.127508 30.110785 116.185162 30.110785 42.176588 0 82.113159-14.863523 120.733759-29.235858 36.45733-13.568017 70.892607-26.38288 104.934934-26.38288 31.435966 0 54.845119 11.105942 81.953524 23.967878 31.562856 14.97404 67.339688 31.94762 120.123868 31.94762 11.048637 0 20.007683-8.958022 20.007683-20.007683S951.656345 920.725892 940.606685 920.725892zM419.681408 167.672814l188.0714 0 0 90.034573L419.681408 257.707386 419.681408 167.672814zM283.629779 297.722752l116.043946 0L627.761514 297.722752l116.043946 0 0 249.40735L524.360516 417.080164c-6.265704-3.714602-14.047947-3.731998-20.325931-0.045025L283.629779 546.347273 283.629779 297.722752zM619.638509 893.705492c-36.926004 13.744026-71.804373 26.723641-106.776885 26.723641-35.142381 0-67.107397-13.161764-100.949156-27.096125-23.830755-9.81146-48.230468-19.840884-74.073042-25.024953L225.196948 648.915299c-4.843308-9.434883-1.473561-21.027919 7.674796-26.39516l258.837116-151.85864 0 233.216599c0 11.048637 8.958022 20.007683 20.007683 20.007683s20.007683-8.959046 20.007683-20.007683L531.724227 467.959971 796.053428 624.608707c8.755408 5.187139 12.219299 16.10377 8.055466 25.394367l-97.518011 217.556944C676.770717 872.462678 647.849014 883.207393 619.638509 893.705492z" ></path><path d="M403.675876 343.739808l-64.024176 0c-11.048637 0-20.007683 8.958022-20.007683 20.007683 0 11.04966 8.958022 20.007683 20.007683 20.007683l64.024176 0c11.048637 0 20.007683-8.958022 20.007683-20.007683C423.683559 352.698854 414.724513 343.739808 403.675876 343.739808z" ></path><path d="M707.791222 363.747491c0-11.048637-8.958022-20.007683-20.007683-20.007683L497.711576 343.739808c-11.048637 0-20.007683 8.958022-20.007683 20.007683 0 11.04966 8.958022 20.007683 20.007683 20.007683l190.072987 0C698.833199 383.755174 707.791222 374.797152 707.791222 363.747491z" ></path></symbol><symbol id="icon-tijiao" viewBox="0 0 1024 1024"><path d="M614.876794 8.441764C252.077632-55.207212-53.437452 250.307872 10.211523 613.107035c38.189386 197.311825 197.311825 362.799163 400.988548 400.988548 356.434265 70.013873 668.314247-241.866108 598.300373-598.300373C977.675957 212.118487 812.18862 46.631149 614.876794 8.441764zM341.186198 740.404986 169.333963 536.728264C150.23927 511.268673 156.604168 473.079288 182.063758 453.984595l0 0c25.45959-19.094693 63.648976-19.094693 82.743669 6.364898L353.915993 574.917649c19.094693 25.45959 57.284078 31.824488 82.743669 6.364898L767.634337 307.59195c25.45959-19.094693 63.648976-19.094693 82.743669 6.364898l0 0c19.094693 25.45959 19.094693 63.648976-6.364898 82.743669l-413.718343 350.069367C398.470276 772.229474 360.280891 765.864577 341.186198 740.404986z" ></path></symbol><symbol id="icon-xiaoshou2" viewBox="0 0 1024 1024"><path d="M429.32965 400.76764c-15.135722 8.840342-20.306488 28.479635-11.550057 43.802622 8.715499 15.344476 28.063149 20.59813 43.198871 11.738345 15.135722-8.860808 20.326954-28.459169 11.592013-43.803645C463.854978 397.140019 444.466396 391.907854 429.32965 400.76764z" ></path><path d="M819.658544 327.881632 542.141996 177.022763c-9.402137-5.086855-19.72218-7.67275-30.042223-7.67275-10.340509 0-20.660552 2.584871-30.063713 7.67275L204.476533 327.965543c-20.911262 11.341303-33.982976 33.607422-33.982976 57.875129l0 292.628734c0 24.246217 13.071713 46.512337 34.004465 57.895595l277.538037 150.838404c9.402137 5.107321 19.72218 7.671727 30.042223 7.671727 10.340509 0 20.640086-2.564405 30.063713-7.671727L819.680033 736.302579c20.912285-11.404748 33.983999-33.649378 33.983999-57.896618L853.664032 385.756761C853.664032 361.532033 840.591295 339.26489 819.658544 327.881632zM650.22155 615.027491 503.63396 699.734732c-18.033725 10.444886-28.770254-8.193613-28.770254-8.193613l-105.953124-183.737698c0 0-12.467963-17.637706-2.210341-46.867424 0 0 25.810852-73.261561 31.752168-85.270059 5.275143-10.674107 14.323217-15.531741 25.059745-14.092973 6.151094 0.833995 89.754187 14.614859 89.754187 14.614859s26.311249 3.898797 38.862099 25.706475l106.119923 184.007851C668.839583 604.249007 650.388349 615.297644 650.22155 615.027491z" ></path></symbol><symbol id="icon-caigou2" viewBox="0 0 1024 1024"><path d="M819.658544 327.894935 542.141996 177.019693c-9.402137-5.126764-19.72218-7.668657-30.042223-7.668657-10.340509 0-20.682042 2.541893-30.063713 7.668657l-277.559527 150.937664c-20.911262 11.357675-33.982976 33.613562-33.982976 57.870012l0 292.644083c0 24.235984 13.071713 46.512337 34.004465 57.890478l277.538037 150.875243c9.381671 5.105275 19.72218 7.648191 30.042223 7.648191 10.340509 0 20.640086-2.541893 30.063713-7.648191l277.538037-150.937664c20.912285-11.399631 33.983999-33.655518 33.983999-57.891502L853.664032 385.785413C853.664032 361.528963 840.591295 339.273077 819.658544 327.894935zM469.379808 702.915168c-23.580045 0-42.698474-19.110243-42.698474-42.700521 0-23.568788 19.11843-42.699498 42.698474-42.699498s42.698474 19.129686 42.698474 42.699498C512.078283 683.805948 492.959853 702.915168 469.379808 702.915168zM597.474208 702.915168c-23.580045 0-42.698474-19.110243-42.698474-42.700521 0-23.568788 19.11843-42.699498 42.698474-42.699498 23.600511 0 42.698474 19.129686 42.698474 42.699498C640.172683 683.805948 621.075743 702.915168 597.474208 702.915168zM682.536536 468.51665l-42.218544 108.092857c-4.879124 12.878309-12.237719 19.567661-21.766746 19.567661L448.802144 596.177168c-9.986445 0-23.100114-4.91801-27.103288-21.35947l-37.735439-170.797991-21.349237 0c0 0-21.307282-0.667196-21.307282-21.360494 0-20.672832 21.307282-21.340027 21.307282-21.340027L384.817877 361.319186c10.1952 0 20.87033 7.127328 24.454972 21.360494l8.422833 43.157939c3.564175 14.211676 8.463766 20.880563 20.014846 20.880563l223.852324 0C675.74076 446.719204 684.746878 454.741925 682.536536 468.51665z" ></path></symbol><symbol id="icon-icon-cart" viewBox="0 0 1024 1024"><path d="M895.606283 319.879378l-539.098171 0c-28.973892 0-54.327326-19.48375-61.820997-47.458895l-38.467103-144.375202c-6.682189-30.597879-31.286564-63.944358-65.942875-63.944358L64.385914 64.100924l0 63.944358 76.933183 0c44.962028 0 56.951083 24.978904 66.941622 65.942875l109.217471 449.614138c9.366322 35.969213 37.280068 59.948347 66.629513 59.948347l447.614597 0 127.889739-318.41298C959.613062 362.53078 959.613062 319.879378 895.606283 319.879378zM788.446681 639.666658l-401.588331 0.37453-67.817572-261.836427c11.927657 3.684926 24.477484 5.619998 37.467333 5.619998l534.726607 0L788.446681 639.666658z" ></path><path d="M416.080905 767.494998c-52.953026 0-95.916537 42.962487-95.916537 95.916537s42.963511 95.916537 95.916537 95.916537c52.955072 0 95.918583-42.962487 95.918583-95.916537S469.035978 767.494998 416.080905 767.494998zM416.081928 895.302873c-17.550725 0-31.789007-14.239306-31.789007-31.789007s14.239306-31.789007 31.789007-31.789007 31.79003 14.239306 31.79003 31.789007S433.632653 895.302873 416.081928 895.302873z" ></path><path d="M735.352439 767.494998c-52.954049 0-95.916537 42.962487-95.916537 95.916537s42.962487 95.916537 95.916537 95.916537 95.918583-42.962487 95.918583-95.916537S788.307512 767.494998 735.352439 767.494998zM735.352439 895.302873c-17.549701 0-31.787984-14.239306-31.787984-31.789007s14.238282-31.789007 31.787984-31.789007c17.550725 0 31.79003 14.239306 31.79003 31.789007S752.904187 895.302873 735.352439 895.302873z" ></path></symbol><symbol id="icon-tousujianyi" viewBox="0 0 1024 1024"><path d="M356.139 673.4l217.877-61.866-155.625-154.654-62.251 216.519zM938.048 249.733l-155.629-154.662-342.375 340.247 155.625 154.661 342.378-340.246zM892.695 822.49c0 53.763-43.577 97.336-97.337 97.336h-584.076c-53.763 0-97.353-43.573-97.353-97.336v-584.074c0-53.763 43.586-97.349 97.353-97.349h389.374l97.356-97.345h-519.179c-89.6 0-162.243 72.64-162.243 162.239v648.977c0 89.6 72.645 162.239 162.243 162.239h648.966c89.606 0 162.251-72.64 162.251-162.239v-519.174l-97.356 97.349v389.377h0.003zM1010.37 119.814l-97.263-96.663c-16.116-16.017-43.121-15.151-60.311 1.927l-46.683 46.402 155.624 154.654 46.691-46.397c17.19-17.076 18.059-43.913 1.943-59.923v0z" ></path></symbol><symbol id="icon-more" viewBox="0 0 1024 1024"><path d="M511.888971 131.844817c-201.858404 0-365.489158 163.640987-365.489158 365.489158 0 201.858404 163.630754 365.490182 365.489158 365.490182s365.489158-163.630754 365.489158-365.490182C877.37813 295.484781 713.747375 131.844817 511.888971 131.844817zM648.948557 515.608178 530.164197 515.608178l0 118.776174c0 10.100032-8.182356 18.282389-18.274202 18.282389s-18.274202-8.182356-18.274202-18.282389L493.615792 515.608178 374.830409 515.608178c-10.090822 0-18.273179-8.182356-18.273179-18.274202 0-10.091846 8.182356-18.274202 18.273179-18.274202l118.78436 0L493.614769 360.275413c0-10.101055 8.182356-18.274202 18.274202-18.274202s18.274202 8.173147 18.274202 18.274202l0 118.78436 118.78436 0c10.090822 0 18.273179 8.182356 18.273179 18.274202C667.221736 507.425821 659.039379 515.608178 648.948557 515.608178z" ></path></symbol><symbol id="icon-shouye" viewBox="0 0 1024 1024"><path d="M865.381911 958.850188 605.972766 958.850188c-9.890254 0-17.907858-8.017604-17.907858-17.907858l0-243.894799-151.449317 0 0 243.894799c0 9.890254-8.017604 17.907858-17.907858 17.907858l-261.454734 0c-9.890254 0-17.907858-8.017604-17.907858-17.907858l0-467.487204L81.888544 473.455125c-7.470135 0-14.155395-4.6366-16.773012-11.632945-2.617617-6.996344-0.617054-14.881942 5.018294-19.785625l429.4284-373.619326c6.756891-5.878894 16.817014-5.861498 23.553439 0.038886l101.277638 88.704275L624.393301 81.927941c0-9.890254 8.017604-17.907858 17.907858-17.907858l148.72016 0c9.890254 0 17.907858 8.017604 17.907858 17.907858l0 235.132228 143.790894 124.494409c4.103458 3.281743 6.731308 8.330736 6.731308 13.992689 0 9.890254-8.018627 17.907858-17.907858 17.907858-0.00921 0-0.01535 0-0.021489 0l-58.232263 0 0 467.487204C883.28977 950.832584 875.272165 958.850188 865.381911 958.850188zM623.880625 923.034471l223.593428 0 0-467.487204c0-9.890254 8.017604-17.907858 17.907858-17.907858l28.097942 0-114.180506-98.857519c-3.928472-3.40147-6.185886-8.341992-6.185886-13.538341L773.113461 99.835799 660.209018 99.835799l0 96.814999c0 7.028067-4.111644 13.406335-10.511401 16.309454-6.399757 2.901073-13.906731 1.791809-19.195178-2.837628L511.278057 105.699344l-381.523343 331.940065 27.499307 0c9.890254 0 17.907858 8.017604 17.907858 17.907858l0 467.487204 225.639017 0 0-243.894799c0-9.890254 8.017604-17.907858 17.907858-17.907858l187.265034 0c9.890254 0 17.907858 8.017604 17.907858 17.907858L623.881648 923.034471z" ></path></symbol><symbol id="icon-shuju" viewBox="0 0 1024 1024"><path d="M382.302164 347.969975C373.395456 347.969975 366.205703 355.181202 366.205703 364.06645L366.205703 953.561673C366.205703 962.446921 373.395456 969.658075 382.302164 969.658075 391.165945 969.658075 398.398625 962.446921 398.398625 953.561673L398.398625 364.06645C398.398625 355.181202 391.165945 347.969975 382.302164 347.969975L382.302164 347.969975ZM89.239318 592.206921C80.35407 592.206921 73.142857 599.418075 73.142857 608.303323L73.142857 953.561673C73.142857 962.446921 80.35407 969.658075 89.239318 969.658075 98.124559 969.658075 105.335771 962.446921 105.335771 953.561673L105.335771 608.303323C105.335771 599.418075 98.124559 592.206921 89.239318 592.206921L89.239318 592.206921ZM968.384936 392.26741C959.499696 392.26741 952.309943 399.478638 952.309943 408.363886L952.309943 953.561673C952.309943 962.446921 959.499696 969.658075 968.384936 969.658075 977.270184 969.658075 984.502857 962.446921 984.502857 953.561673L984.502857 408.363886C984.502857 399.478638 977.270184 392.26741 968.384936 392.26741L968.384936 392.26741ZM963.448693 209.818843C972.333941 209.711543 979.480766 202.43595 979.394918 193.550702L978.19305 89.052526C978.150122 84.588398 976.218551 80.338944 972.913408 77.312805 969.608272 74.308169 965.251496 72.84875 960.723024 73.192155L856.58967 82.012965C847.72589 82.764142 841.158532 90.533376 841.888241 99.397193 842.639411 108.260937 850.558866 114.635118 859.293879 114.098615L922.585154 108.733147 675.536713 380.698843 392.81852 103.732517C386.6804 97.723173 376.958142 97.551433 370.669787 103.346176L78.894658 370.204014C72.327303 376.213358 71.876602 386.386286 77.885945 392.953637 83.895289 399.520987 94.068253 399.950263 100.614144 393.96235L381.164683 137.384814 664.95597 415.381358C667.960642 418.343131 672.016955 419.974217 676.223495 419.974217L676.695654 419.974217C681.052431 419.845486 685.194584 417.93536 688.134868 414.71605L946.472294 130.345326 947.180537 193.915538C947.287852 202.736421 954.456137 209.818843 963.298458 209.818843L963.448693 209.818843 963.448693 209.818843ZM675.34355 591.584475C666.458309 591.584475 659.247097 598.795703 659.247097 607.680951L659.247097 953.561673C659.247097 962.446921 666.458309 969.658075 675.34355 969.658075 684.228798 969.658075 691.440011 962.446921 691.440011 953.561673L691.440011 607.680951C691.440011 598.795703 684.228798 591.584475 675.34355 591.584475L675.34355 591.584475Z" ></path></symbol><symbol id="icon-fukuan" viewBox="0 0 1024 1024"><path d="M828.928 907.776 203.264 907.776c-37.888 0-68.608-30.72-68.608-68.608L134.656 279.04c0-37.888 30.72-68.608 68.608-68.608l57.344 0c16.384 0 29.184 13.312 29.184 29.184 0 16.384-13.312 29.184-29.184 29.184L203.264 268.8c-5.12 0-9.728 4.608-9.728 9.728l0 560.128c0 5.12 4.608 9.728 9.728 9.728l625.152 0c5.12 0 9.728-4.608 9.728-9.728l0-57.344c0-16.384 13.312-29.184 29.184-29.184s29.184 13.312 29.184 29.184l0 57.344C897.024 877.056 866.304 907.776 828.928 907.776z" ></path><path d="M867.84 496.128c-16.384 0-29.184-13.312-29.184-29.184L838.656 279.04c0-5.12-4.608-9.728-9.728-9.728l-60.416 0c-16.384 0-29.184-13.312-29.184-29.184 0-16.384 13.312-29.184 29.184-29.184l60.416 0c37.888 0 68.608 30.72 68.608 68.608l0 187.904C897.024 482.816 884.224 496.128 867.84 496.128z" ></path><path d="M763.904 331.264c-16.384 0-29.184-13.312-29.184-29.184L734.72 223.744c0-27.136-22.016-48.64-48.64-48.64L346.624 175.104c-27.136 0-48.64 22.016-48.64 48.64L297.984 302.08c0 16.384-13.312 29.184-29.184 29.184-16.384 0-29.184-13.312-29.184-29.184L239.616 223.744c0-59.392 48.128-107.52 107.52-107.52l338.944 0c59.392 0 107.52 48.128 107.52 107.52L793.6 302.08C793.088 318.464 779.776 331.264 763.904 331.264z" ></path><path d="M685.568 413.184 203.264 413.184c-37.888 0-68.608-30.72-68.608-68.608 0-16.384 13.312-29.184 29.184-29.184 16.384 0 29.184 13.312 29.184 29.184 0 5.12 4.608 9.728 9.728 9.728l481.792 0c16.384 0 29.184 13.312 29.184 29.184S701.952 413.184 685.568 413.184z" ></path><path d="M867.84 453.12c-16.384 0-29.184-13.312-29.184-29.184 0-5.12-4.608-9.728-9.728-9.728l-306.176 0c-16.384 0-29.184-13.312-29.184-29.184s13.312-29.184 29.184-29.184l306.176 0c37.888 0 68.608 30.72 68.608 68.608C897.024 440.32 884.224 453.12 867.84 453.12z" ></path><path d="M638.464 269.312 394.752 269.312c-16.384 0-29.184-13.312-29.184-29.184 0-16.384 13.312-29.184 29.184-29.184l243.712 0c16.384 0 29.184 13.312 29.184 29.184C667.648 256 654.336 269.312 638.464 269.312z" ></path><path d="M788.992 734.208c-64 0-116.224-52.224-116.224-116.224S724.48 501.76 788.992 501.76c16.384 0 29.184 13.312 29.184 29.184s-13.312 29.184-29.184 29.184c-31.744 0-57.344 25.6-57.344 57.344 0 31.744 25.6 57.344 57.344 57.344 16.384 0 29.184 13.312 29.184 29.184C818.176 720.896 804.864 734.208 788.992 734.208z" ></path><path d="M824.32 734.208l-23.04 0c-16.384 0-29.184-13.312-29.184-29.184 0-16.384 13.312-29.184 29.184-29.184l23.04 0c7.68 0 14.336-6.656 14.336-14.336l0-87.04c0-7.68-6.656-14.336-14.336-14.336l-23.04 0c-16.384 0-29.184-13.312-29.184-29.184s13.312-29.184 29.184-29.184l23.04 0c39.936 0 72.704 32.768 72.704 72.704l0 87.04C897.024 701.44 864.768 734.208 824.32 734.208z" ></path></symbol><symbol id="icon-weibiaoti2fuzhi05" viewBox="0 0 1024 1024"><path d="M633.6 217.6l108.8 0L512 64 281.6 217.6 384 217.6l0 275.2 249.6 0L633.6 217.6zM435.2 172.8 512 121.6l76.8 51.2L588.8 448 435.2 448 435.2 172.8z" ></path><path d="M627.2 761.6l76.8-102.4 179.2 0-64 249.6L204.8 908.8l-64-249.6 179.2 0 76.8 102.4L627.2 761.6zM838.4 281.6l-147.2 0c-12.8 0-25.6 12.8-25.6 25.6 0 12.8 12.8 25.6 25.6 25.6l108.8 0c12.8 0 19.2 6.4 25.6 19.2L876.8 576c6.4 12.8-6.4 32-25.6 32l-160 0c-6.4 0-12.8 6.4-19.2 12.8l-57.6 83.2c-6.4 6.4-12.8 12.8-19.2 12.8L435.2 716.8c-6.4 0-12.8-6.4-19.2-12.8L358.4 620.8C352 614.4 345.6 608 339.2 608L172.8 608C160 608 147.2 595.2 147.2 576l51.2-224c0-12.8 12.8-19.2 25.6-19.2l108.8 0c12.8 0 25.6-12.8 25.6-25.6 0-12.8-12.8-25.6-25.6-25.6L185.6 281.6c-12.8 0-19.2 6.4-25.6 19.2L89.6 627.2c0 6.4 0 6.4 0 12.8l76.8 300.8c0 12.8 12.8 19.2 25.6 19.2l652.8 0c12.8 0 19.2-6.4 25.6-19.2l76.8-300.8c0-6.4 0-6.4 0-12.8l-76.8-326.4C857.6 288 851.2 281.6 838.4 281.6z" ></path></symbol><symbol id="icon-buoumaotubiao23" viewBox="0 0 1024 1024"><path d="M524.474182 1024l-24.901818 0-6.958545-10.053818C481.652364 998.097455 223.837091 624.407273 187.485091 540.974545c-37.026909-84.968727-43.52-110.917818-43.52-173.428364C143.965091 164.864 308.852364 0 511.511273 0c203.682909 0 368.546909 164.864 368.546909 367.546182 0 62.533818-6.493091 88.459636-43.52 173.428364-36.375273 83.432727-294.144 457.099636-305.082182 472.971636L524.474182 1024zM512.512 46.545455C334.498909 46.545455 190.510545 190.557091 190.510545 367.546182c0 56.064 4.817455 74.891636 39.656727 154.833455 29.090909 66.792727 220.485818 348.020364 281.856 437.620364C573.416727 870.4 764.741818 589.172364 793.832727 522.379636c34.839273-79.965091 39.656727-98.769455 39.656727-154.833455C833.489455 190.557091 689.501091 46.545455 512.512 46.545455z" ></path><path d="M512 565.364364c-93.835636 0-170.193455-76.334545-170.193455-170.193455S418.164364 225.000727 512 225.000727s170.193455 76.334545 170.193455 170.193455S605.835636 565.364364 512 565.364364zM512 271.546182c-68.189091 0-123.648 55.458909-123.648 123.648S443.810909 518.818909 512 518.818909s123.648-55.458909 123.648-123.648S580.189091 271.546182 512 271.546182z" ></path></symbol><symbol id="icon-shouhuo" viewBox="0 0 1024 1024"><path d="M928.282496 277.56976l-76.078723-146.396231C833.401546 95.091752 786.830881 66.835198 746.182089 66.835198L278.411429 66.835198c-40.59251 0-87.325881 28.093848-106.291838 63.905472l-76.023464 143.407154c-16.410762 31.028691-29.234835 82.761935-29.234835 117.812219l0 481.737766c0 46.027289 37.386492 83.468017 83.466993 83.468017l723.339336 0c46.027289 0 83.46904-37.44175 83.46904-83.468017l0-478.313783C957.137685 360.386954 944.476317 308.599474 928.282496 277.56976zM145.330458 300.17664l75.969229-143.352919c9.509585-17.932418 36.734646-34.344203 57.112766-34.344203l467.770659 0c20.270672 0 47.27777 16.410762 56.678884 34.398438l76.079746 146.340973c3.586688 6.955412 6.955412 15.868409 10.051937 25.432229L134.189723 328.651159C137.559471 317.946352 141.254629 307.838134 145.330458 300.17664zM901.491317 873.696786c0 15.32401-12.443403 27.821649-27.822672 27.821649L150.328285 901.518435c-15.377222 0-27.821649-12.498662-27.821649-27.821649L122.506637 391.95902c0-2.227738 0.434905-5.16258 0.651846-7.661494l777.407766 0c0.326435 3.695159 0.924045 7.824199 0.924045 11.085476L901.490294 873.696786z" ></path><path d="M745.912959 537.539676 605.765035 687.25142l-56.568367-56.460919c-10.868535-10.868535-28.474518-10.868535-39.344077 0-10.867512 10.867512-10.867512 28.474518 0 39.34203l76.296687 76.079746c5.434779 5.433756 12.498662 8.150634 19.61678 8.150634 3.858888 0 7.661494-0.978281 11.304464-2.608407 4.074805-1.413186 7.878434-3.586688 11.030218-6.9022l158.459988-169.273265c10.487865-11.193947 9.890254-28.800953-1.303692-39.343053C774.061043 525.802354 756.455059 526.346753 745.912959 537.539676z" ></path><path d="M429.046195 578.187445 262.055926 578.187445c-15.325034 0-27.822672 12.444427-27.822672 27.822672s12.498662 27.822672 27.822672 27.822672l166.991292 0c15.378246 0 27.822672-12.444427 27.822672-27.822672S444.425464 578.187445 429.046195 578.187445z" ></path><path d="M344.599897 696.869474l-83.468017 0c-15.378246 0-27.821649 12.498662-27.821649 27.821649 0 15.432481 12.443403 27.822672 27.821649 27.822672l83.468017 0c15.379269 0 27.822672-12.390191 27.822672-27.822672C372.422569 709.368136 359.979166 696.869474 344.599897 696.869474z" ></path></symbol><symbol id="icon-7" viewBox="0 0 1024 1024"><path d="M225.039395 461.694269a159.711401 159.711401 0 0 1 62.271767-12.575953h159.9994a64.09576 64.09576 0 0 1 63.99976 63.99976 64.09576 64.09576 0 0 1-63.99976 63.99976h-159.9994a31.99988 31.99988 0 0 0 0 63.99976h159.9994a127.99952 127.99952 0 0 0 127.99952-127.99952h159.9994a224.03116 224.03116 0 0 0 223.99916-223.99916 31.99988 31.99988 0 0 0-63.99976 0 160.223399 160.223399 0 0 1-159.9994 159.9994H557.550148c-22.175917-38.111857-62.975764-63.99976-110.239586-63.99976h-159.9994c-30.847884 0-60.383774 6.271976-87.199673 17.599934a31.99988 31.99988 0 1 0 24.927906 58.975779zM895.308882 801.116996a31.99988 31.99988 0 0 0-31.99988-31.99988H287.183162c-8.415968 0-16.671937 3.423987-22.623915 9.375965a32.255879 32.255879 0 0 0-9.375965 22.623915c0 8.415968 3.423987 16.671937 9.375965 22.623915 5.951978 5.951978 14.207947 9.375965 22.623915 9.375965H863.341002a31.99988 31.99988 0 0 0 31.96788-31.99988z" fill="#66CCFF" ></path><path d="M256.207278 830.716885v98.399631A94.271646 94.271646 0 0 0 351.310922 1023.99616h447.99832c53.023801 0 96.895637-41.855843 96.895636-94.879644v-100.671623c42.431841-12.095955 63.99976-48.12782 63.99976-91.327657v-511.99808c0-123.711536-95.99964-223.96716-223.99916-223.99916V0H415.310682C291.599146 0 192.207518 101.40762 192.207518 225.119156v182.687315C116.559802 443.486337 63.824 519.550052 63.792 609.117716c0.032 113.151576 80.735697 206.399226 192.415278 221.599169z m-21.887917-371.742606a31.679881 31.679881 0 0 0 18.175931-16.383939 31.807881 31.807881 0 0 0 1.279996-24.447908L253.679288 415.99844h2.52799V225.119156C256.207278 136.767487 326.959013 63.99976 415.310682 63.99976h320.894796v1.119996c95.99964 0.159999 159.9994 71.647731 159.9994 159.9994v511.99808c0 17.663934-14.783945 31.96788-32.447878 31.99988a31.711881 31.711881 0 0 0-31.551882 31.99988v127.99952c0 17.663934-15.231943 30.879884-32.895876 30.879884h-447.99832a30.303886 30.303886 0 0 1-31.103884-30.879884v-127.99952a32.703877 32.703877 0 0 0-32.671877-31.99988 160.319399 160.319399 0 0 1-160.0954-159.9994c-0.032-69.503739 44.575833-128.03152 106.8796-150.143437z" fill="#4E5F80" ></path></symbol><symbol id="icon-mao" viewBox="0 0 1024 1024"><path d="M517.9392 340.48c-72.85248 0-132.12672-59.26912-132.12672-132.12672S445.0816 76.22656 517.9392 76.22656s132.12672 59.26912 132.12672 132.12672S590.7968 340.48 517.9392 340.48z m0-182.32832c-27.68384 0-50.20672 22.52288-50.20672 50.20672s22.51776 50.20672 50.20672 50.20672 50.20672-22.52288 50.20672-50.20672-22.52288-50.20672-50.20672-50.20672z" ></path><path d="M645.9392 371.2h-256a40.96 40.96 0 0 1 0-81.92h256a40.96 40.96 0 0 1 0 81.92z" ></path><path d="M517.9392 926.15168a40.96 40.96 0 0 1-40.96-40.96v-512a40.96 40.96 0 0 1 81.92 0v512a40.96 40.96 0 0 1-40.96 40.96z" ></path><path d="M511.86176 947.76832c-223.66208 0-405.62176-181.95968-405.62176-405.62176a40.96 40.96 0 0 1 81.92 0c0 178.48832 145.21344 323.70176 323.70176 323.70176 178.48832 0 323.70688-145.20832 323.70688-323.70176a40.96 40.96 0 0 1 81.92 0c-0.00512 223.66208-181.96992 405.62176-405.62688 405.62176z" ></path><path d="M252.16 577.99168h-102.4a40.96 40.96 0 0 1 0-81.92h102.4a40.96 40.96 0 0 1 0 81.92zM876.8 577.99168h-102.4a40.96 40.96 0 0 1 0-81.92h102.4a40.96 40.96 0 0 1 0 81.92z" ></path></symbol><symbol id="icon-liebiaodaohang_zixun" viewBox="0 0 1024 1024"><path d="M556.45 334.22H423.11v-66.67h133.34v-44.44H423.11v-66.67h133.34V112H378.67v266.66h177.78v-44.44zM176.45 196.44l91.1 182.22h66.67V112h-66.67v177.78L178.67 112H112v266.66h66.67l-2.22-182.22z" fill="#43B7FA" ></path><path d="M112 489.78h317.1v55.07H112zM112 673.35h317.1v55.07H112zM112 856.93h317.1V912H112z" fill="#43B7FA" ></path><path d="M512 912h355.56V489.78H512z m54.85-367.37H812.7v312.51H566.85zM867.56 112l-44.45 200-44.44-200h-44.44l-44.45 200-44.44-200h-44.45l44.45 266.66h66.67l42.22-202.22 46.66 202.22h66.67L912 112h-44.44z" fill="#43B7FA" ></path></symbol><symbol id="icon-purchaseorder" viewBox="0 0 1024 1024"><path d="M796.444444 1024H227.555556a113.777778 113.777778 0 0 1-113.777778-113.777778V170.666667a113.777778 113.777778 0 0 1 113.777778-113.777778h113.777777v170.666667h341.333334V56.888889h113.777777a113.777778 113.777778 0 0 1 113.777778 113.777778v739.555555a113.777778 113.777778 0 0 1-113.777778 113.777778zM312.888889 398.222222A85.333333 85.333333 0 1 0 398.222222 483.555556 85.333333 85.333333 0 0 0 312.888889 398.222222z m0 284.444445A85.333333 85.333333 0 1 0 398.222222 768 85.333333 85.333333 0 0 0 312.888889 682.666667z m455.111111-284.444445h-284.444444a28.444444 28.444444 0 0 0 0 56.888889h284.444444a28.444444 28.444444 0 0 0 0-56.888889z m0 113.777778h-284.444444a28.444444 28.444444 0 0 0 0 56.888889h284.444444a28.444444 28.444444 0 0 0 0-56.888889z m0 170.666667h-284.444444a28.444444 28.444444 0 0 0 0 56.888889h284.444444a28.444444 28.444444 0 0 0 0-56.888889z m0 113.777777h-284.444444a28.444444 28.444444 0 0 0 0 56.888889h284.444444a28.444444 28.444444 0 0 0 0-56.888889zM568.888889 170.666667H455.111111a56.888889 56.888889 0 0 1-56.888889-56.888889V56.888889a56.888889 56.888889 0 0 1 56.888889-56.888889h113.777778a56.888889 56.888889 0 0 1 56.888889 56.888889v56.888889a56.888889 56.888889 0 0 1-56.888889 56.888889z" fill="#FF9800" ></path></symbol><symbol id="icon-wode" viewBox="0 0 1024 1024"><path d="M935.4 772.8c-19.4-41.6-46.8-79-81.8-111.4-70.2-65.2-164-102.6-257.4-102.6h-159.6c-93.4 0-187.2 37.4-257.4 102.6-35 32.4-62.4 70-81.8 111.4-20.4 43.6-30.6 89.6-30.6 136.6 0 61.4 49.8 111.2 111.2 111.2h676.8c61.4 0 111.2-49.8 111.2-111.2 0-47-10.2-93-30.6-136.6z m-80.6 185H178c-26.8 0-48.4-21.8-48.4-48.4 0-75.8 33.2-148 93.8-203.4 58.6-53.6 136.2-84.4 213.2-84.4h159.6c77 0 154.8 30.8 213.2 84.4 60.4 55.4 93.8 127.6 93.8 203.4 0 26.8-21.6 48.4-48.4 48.4zM516.4 541.8c149.4 0 270.8-121.6 270.8-270.8S665.8 0 516.4 0 245.6 121.6 245.6 270.8s121.4 271 270.8 271z m0-479c114.8 0 208 93.4 208 208s-93.4 208-208 208c-114.8 0-208-93.4-208-208s93.2-208 208-208z" fill="" ></path></symbol><symbol id="icon-quanzi" viewBox="0 0 1024 1024"><path d="M1006.932764 642.446222c-13.539556-44.544-40.391111-90.453333-76.856888-135.68 35.783111-44.373333 62.293333-89.486222 76.117333-133.176889a523.662222 523.662222 0 0 1 0.739555 268.856889zM219.135431 884.337778a509.724444 509.724444 0 0 0 85.731556-7.907556c18.887111 51.484444 42.496 95.914667 70.826666 129.820445a507.050667 507.050667 0 0 1-219.420444-127.658667c19.683556 3.811556 40.675556 5.745778 62.862222 5.745778z m736.028445-117.304889C864.994987 925.525333 696.546987 1024 515.526542 1024c-12.060444 0-24.064-0.568889-36.010666-1.365333-56.718222-20.423111-94.890667-84.935111-118.158223-140.743111a523.320889 523.320889 0 0 1-6.371555-16.156445c189.269333-45.795556 411.079111-176.128 543.744-319.715555 14.734222 18.773333 27.591111 37.717333 38.286222 56.547555 37.034667 65.080889 43.121778 120.433778 18.090667 164.408889zM306.971876 146.204444a511.544889 511.544889 0 0 0-87.552-8.248888c-22.300444 0-43.406222 1.991111-63.146667 5.859555A514.787556 514.787556 0 0 1 257.08032 66.56 508.131556 508.131556 0 0 1 382.00832 14.392889c-30.151111 33.621333-55.182222 78.791111-75.093333 131.811555z m48.071111 12.515556C391.679431 64.113778 445.098098 0.170667 514.161209 0c10.808889 0 21.447111 0.398222 32.085333 1.080889l2.787556 0.227555a505.230222 505.230222 0 0 1 270.791111 103.082667l8.760889 6.940445a551.651556 551.651556 0 0 1 25.031111 21.504 517.973333 517.973333 0 0 1 93.013333 113.664c0.625778 1.024 1.308444 1.991111 1.877334 3.015111 2.161778 3.640889 4.209778 7.395556 6.257777 11.036444 22.755556 43.463111 16.327111 97.507556-19.740444 160.881778-10.695111 18.773333-23.608889 37.717333-38.286222 56.547555-132.209778-143.075556-352.881778-273.066667-541.696-319.317333zM217.087431 838.599111c-60.188444 0-104.391111-15.018667-132.380444-44.145778a524.629333 524.629333 0 0 1-84.48-296.391111c0.170667-4.494222 0.284444-8.988444 0.568889-13.482666l0.113777-2.958223A527.246222 527.246222 0 0 1 83.739876 231.992889c27.932444-29.866667 72.476444-45.226667 133.347555-45.226667 22.926222 0 47.217778 2.218667 72.476445 6.257778C232.731876 381.553778 232.219876 642.844444 287.970987 832.682667a463.416889 463.416889 0 0 1-70.940445 5.916444z" ></path></symbol><symbol id="icon-wentifankui" viewBox="0 0 1024 1024"><path d="M512.022095 1024a511.99254 511.99254 0 1 1 511.99254-511.846256 512.504532 512.504532 0 0 1-511.99254 511.846256z m2.355166-940.164586a425.904651 425.904651 0 1 0 425.875395 425.977793A426.372759 426.372759 0 0 0 514.377261 83.835414z m53.510535 677.585555h-126.111077v-123.609627h126.111077v123.609627z m77.25236-326.358673a89.554809 89.554809 0 0 1-21.020951 32.767522 307.195524 307.195524 0 0 1-33.06009 26.91618 107.811 107.811 0 0 0-27.793881 26.623612 44.90906 44.90906 0 0 0-7.12401 26.769895v21.064836h-101.974286a880.846593 880.846593 0 0 1-0.307195-39.204 155.543334 155.543334 0 0 1 3.086584-27.501313 75.672497 75.672497 0 0 1 11.454004-26.623612 111.46809 111.46809 0 0 1 20.362675-20.479702 261.555046 261.555046 0 0 1 28.261988-20.187134 108.454648 108.454648 0 0 0 19.77754-18.285448 27.35503 27.35503 0 0 0 6.802187-17.55403 54.680803 54.680803 0 0 0-10.942012-27.501314 34.888634 34.888634 0 0 0-27.793881-9.069582 45.918417 45.918417 0 0 0-31.831307 11.84897 48.683176 48.683176 0 0 0-14.628359 29.549284l-1.228782 22.820239H358.409705c0-14.774642 0.599763-29.256717 1.843173-43.153657a139.071802 139.071802 0 0 1 12.682787-44.90906 117.553487 117.553487 0 0 1 31.202288-41.105687 129.080633 129.080633 0 0 1 47.600678-25.014492 228.963064 228.963064 0 0 1 57.47482-8.338165 183.688295 183.688295 0 0 1 70.464801 12.726672 115.56403 115.56403 0 0 1 48.522265 35.254344 105.031612 105.031612 0 0 1 21.64997 41.983388 174.618713 174.618713 0 0 1 4.00817 34.961776 133.001033 133.001033 0 0 1-8.718501 45.640478z" fill="#30C4E9" ></path></symbol><symbol id="icon-xiaoshoutongji" viewBox="0 0 1024 1024"><path d="M474.255 109.527c-246.784 0-446.935 200.151-446.935 446.976 0 246.907 200.151 447.017 446.935 447.017 135.291 0 256.39-60.17 338.35-155.075l-338.35-291.962V109.527z" ></path><path d="M996.68 467.517c0-246.967-200.05-447.037-446.874-447.037v447.037H996.68z m-446.874 62.935l338.207 291.902c67.686-78.336 108.667-180.367 108.667-291.902H549.806z" ></path></symbol><symbol id="icon-baobiao" viewBox="0 0 1024 1024"><path d="M551.463385 315.076923v472.615385h-78.769231V315.076923h78.769231m0-78.769231h-78.769231a78.769231 78.769231 0 0 0-78.769231 78.769231v472.615385a78.769231 78.769231 0 0 0 78.769231 78.76923h78.769231a78.769231 78.769231 0 0 0 78.76923-78.76923V315.076923a78.769231 78.769231 0 0 0-78.76923-78.769231zM866.540308 551.384615v236.307693h-78.769231V551.384615h78.769231m0-78.76923h-78.769231a78.769231 78.769231 0 0 0-78.769231 78.76923v236.307693a78.769231 78.769231 0 0 0 78.769231 78.76923h78.769231a78.769231 78.769231 0 0 0 78.76923-78.76923V551.384615a78.769231 78.769231 0 0 0-78.76923-78.76923zM236.386462 78.769231v708.923077h-78.769231V78.769231h78.769231m0-78.769231h-78.769231a78.769231 78.769231 0 0 0-78.769231 78.769231v708.923077a78.769231 78.769231 0 0 0 78.769231 78.76923h78.769231a78.769231 78.769231 0 0 0 78.76923-78.76923V78.769231a78.769231 78.769231 0 0 0-78.76923-78.769231zM984.694154 945.230769h-945.230769a39.384615 39.384615 0 0 0 0 78.769231h945.230769a39.384615 39.384615 0 0 0 0-78.769231z" fill="#999999" ></path></symbol><symbol id="icon-xiaoxi" viewBox="0 0 1024 1024"><path d="M884.992 651.584c-8.448-55.104-33.088-216.32-39.424-246.592-1.6-137.728-124.928-225.6-237.504-262.208v-10.176c0-49.28-43.008-89.344-95.936-89.344s-95.872 40.128-95.872 89.344v6.656c-125.184 36.16-245.76 129.92-247.36 266.112-6.336 30.912-27.52 190.592-34.816 245.888-31.424 18.624-59.392 45.376-59.392 111.552 0 31.36 25.344 90.624 121.088 90.624h153.408A164.992 164.992 0 0 0 512 990.72a165.12 165.12 0 0 0 162.944-137.28h153.344c95.808 0 121.152-59.264 121.152-90.624-0.064-73.6-36.672-95.68-64.448-111.232zM512 942.72a117.824 117.824 0 0 1-114.496-89.28H626.56A117.76 117.76 0 0 1 512 942.72z m316.224-137.216H195.712c-67.968 0-72.768-35.904-73.088-42.624 0-47.744 17.024-60.288 44.992-75.392l10.816-5.824 1.6-12.16c11.968-91.072 32.256-240.832 35.968-255.04l0.896-6.4c0-118.272 115.008-199.232 229.056-227.072l18.304-4.48v-43.904c0-22.784 21.504-41.344 47.936-41.344s47.936 18.56 47.936 41.344v46.144l17.408 4.928c101.504 28.608 220.032 104.448 220.032 224.064l0.832 6.144c3.52 13.376 26.944 164.352 40.896 256.384l1.728 11.328 18.688 10.752c25.152 14.08 41.664 23.296 41.664 70.528 0 1.728-0.832 42.624-73.152 42.624z" ></path></symbol><symbol id="icon-qiandai" viewBox="0 0 1024 1024"><path d="M30.72 583.68a456.704 433.152 0 1 0 913.408 0 456.704 433.152 0 1 0-913.408 0Z" fill="#87C596" ></path><path d="M243.712 185.344c-11.776-10.752-68.096-57.856-77.824-90.624-9.216-32.256 40.448-100.864 177.152-32.256 0 0 145.92-99.328 288.768 0 0 0 164.864-86.016 177.152 39.424l-96.256 110.08c0.512-0.512-348.16 91.648-468.992-26.624z" fill="#87C596" ></path><path d="M494.08 150.528v866.816c252.416 0 456.704-194.048 456.704-433.152s-204.288-433.664-456.704-433.664z" fill="#649A76" ></path><path d="M632.32 62.464c-47.616-33.28-95.232-44.032-138.24-44.032v220.672c112.64-5.632 218.624-27.648 218.624-27.648L808.96 101.376c-12.288-124.928-176.64-38.912-176.64-38.912z" fill="#649A76" ></path><path d="M731.648 189.952s2.56 22.528-37.888 29.696c-40.96 7.168-243.712 42.496-411.136 0 0 0-18.432-7.168-16.384-19.456 0 0 0-10.24 24.576-5.632 0 0 177.152 54.784 419.84-4.608 0 0 19.456-7.168 20.992 0z" fill="#5E7A52" ></path><path d="M487.424 607.232c-5.12-2.048-10.24-4.096-15.872-6.656s-15.36-7.68-29.696-16.384c-14.336-8.192-25.6-17.92-34.304-28.16-8.704-10.752-15.36-21.504-19.456-32.768-4.096-11.264-6.144-23.552-5.12-37.376 1.024-22.528 7.168-39.936 17.92-52.224 11.264-12.288 22.016-21.504 33.28-27.648 11.264-6.144 22.016-10.24 33.28-12.8l19.968-4.096v-18.432h25.088v18.944c6.656 0 11.776 0.512 16.384 0.512 4.096 0.512 9.216 1.024 15.36 2.56 6.144 1.024 16.384 4.096 31.232 8.192 14.848 4.096 27.136 12.288 36.864 23.552 9.728 11.776 14.848 22.016 14.848 31.232 0 10.24-4.608 18.944-12.8 26.112-8.192 7.168-17.92 11.264-29.184 11.264s-20.992-3.584-28.16-10.24c-7.68-7.168-11.264-15.36-10.752-24.576 0-7.68 2.56-14.848 8.192-20.992 5.632-6.144 8.192-9.728 8.192-11.264 0-2.56-4.608-6.144-12.8-9.728s-15.872-6.144-22.528-6.656l-14.848-1.536V547.84c12.288 4.608 25.6 9.728 40.448 14.848 14.848 5.12 28.16 10.752 40.448 16.384 12.288 5.632 23.552 15.36 33.792 28.16s15.36 26.624 15.36 41.472c0 14.336-2.048 27.648-6.144 40.448-4.096 12.288-10.752 23.04-18.944 32.256-8.704 9.216-17.92 16.384-27.648 20.992-10.24 4.608-20.48 8.704-31.232 11.776-10.752 3.072-21.504 5.12-31.744 6.144l-13.312 1.536V783.36h-25.088v-21.504c-8.704-1.024-15.872-2.56-21.504-3.584-5.632-1.536-12.8-3.584-20.48-6.144-7.68-3.072-14.848-6.144-21.504-9.216-6.656-3.072-13.312-7.68-19.968-12.288s-13.312-11.776-19.968-19.968c-6.656-8.192-10.24-16.896-10.24-26.112 0-8.704 1.024-16.384 4.096-23.04 3.072-6.656 7.68-12.288 13.824-15.872 6.144-3.584 13.312-5.632 22.016-5.632 9.728 0 17.92 2.56 24.064 7.68 6.144 4.608 9.728 10.24 10.24 16.896 0.512 6.144 0 11.264-1.536 14.848-1.536 3.072-3.584 5.632-6.144 7.68l-12.288 7.168c-3.072 2.048-5.12 4.608-7.168 7.68-1.536 3.072 2.048 9.216 10.752 17.408 6.144 6.144 12.8 11.264 19.968 14.848 7.168 3.584 13.312 5.632 17.92 6.144l17.408 3.072V607.232z m0-197.12l-16.896 4.608c-5.632 1.536-11.264 5.12-16.896 9.216-6.144 4.608-11.264 11.264-15.36 19.456-4.608 8.704-6.656 17.92-6.144 28.16 0 14.336 4.096 26.112 11.776 34.816 7.68 8.704 17.408 16.384 29.696 22.528l14.336 7.68v-126.464z m24.576 334.848c8.704-1.024 18.432-3.072 30.208-6.144 11.776-3.072 21.504-9.728 29.184-19.968s11.776-22.016 11.776-34.816-2.56-23.04-7.68-30.208c-5.12-7.168-12.288-13.312-22.016-18.432-9.216-5.12-18.944-9.216-27.648-13.312l-13.824-5.632v128.512z" fill="#FFFFFF" ></path></symbol><symbol id="icon-wo" viewBox="0 0 1024 1024"><path d="M224.8 70.9c-74 21.4-132.5 80-154 154l154-154z" fill="#2DDFFD" ></path><path d="M277.1 62.3c-115.9 5-209.8 98.9-214.8 214.8L277.1 62.3z" fill="#2DDEFD" ></path><path d="M321.1 62H287C163.3 62 62 163.3 62 287v34.1L321.1 62z" fill="#2EDDFD" ></path><path d="M364.8 62H287C163.3 62 62 163.3 62 287v77.8L364.8 62z" fill="#2EDCFD" ></path><path d="M408.5 62H287c-34.6 0-67.4 7.9-96.7 22L84 190.3c-14.1 29.3-22 62.2-22 96.7v121.5L408.5 62z" fill="#2EDBFD" ></path><path d="M452.2 62H287c-11.4 0-22.6 0.9-33.5 2.5l-189 189c-1.7 11-2.5 22.2-2.5 33.5v165.2L452.2 62z" fill="#2FDAFD" ></path><path d="M62 495.9L495.9 62H299.7L62 299.7z" fill="#2FD9FD" ></path><path d="M62 539.6L539.6 62H343.4L62 343.4z" fill="#30D8FE" ></path><path d="M62 583.3L583.3 62H387.1L62 387.1z" fill="#30D7FE" ></path><path d="M62 627L627 62H430.8L62 430.8z" fill="#30D6FE" ></path><path d="M62 670.7L670.7 62H474.5L62 474.5z" fill="#31D5FE" ></path><path d="M62 714.4L714.4 62H518.2L62 518.2z" fill="#31D4FE" ></path><path d="M737 62H561.9L62 561.9V737c0 6.8 0.4 13.5 1 20.1L757.1 63c-6.6-0.6-13.3-1-20.1-1z" fill="#32D3FE" ></path><path d="M737 62H605.6L62 605.6V737c0 19.8 2.6 39 7.5 57.3L794.3 69.5C776 64.6 756.8 62 737 62z" fill="#32D2FE" ></path><path d="M737 62h-87.7L62 649.3V737c0 31.8 6.7 62.1 18.8 89.7L826.7 80.8C799.1 68.7 768.8 62 737 62z" fill="#32D1FE" ></path><path d="M737 62h-44L62 693v44c0 43.3 12.4 83.9 33.9 118.3L855.3 95.9C820.9 74.4 780.3 62 737 62z" fill="#33D0FE" ></path><path d="M737 62h-0.3L62 736.7v0.3c0 54.5 19.7 104.6 52.2 143.7l766.5-766.5C841.6 81.7 791.5 62 737 62z" fill="#33CFFE" ></path><path d="M776.7 65.6L65.6 776.7c8.9 49.5 34.1 93.6 69.9 126.3L903 135.5c-32.7-35.7-76.7-61-126.3-69.9z" fill="#33CEFE" ></path><path d="M811.3 74.7L74.7 811.3c16 45.4 46.2 84.2 85.2 111l762.5-762.5c-26.9-38.9-65.7-69.1-111.1-85.1z" fill="#34CDFE" ></path><path d="M841.7 88.1L88.1 841.7c22.1 41.7 57 75.8 99.3 96.9l751.2-751.2c-21.1-42.4-55.2-77.2-96.9-99.3z" fill="#34CDFE" ></path><path d="M868.6 104.9L104.9 868.6c27.9 38.4 67.5 67.8 113.6 82.6l732.8-732.8c-14.9-46-44.3-85.7-82.7-113.5z" fill="#35CCFE" ></path><path d="M253.8 959.5l705.7-705.7c-7.5-50.3-31.9-95.3-67.1-129.1L124.7 892.4c33.8 35.2 78.8 59.6 129.1 67.1z" fill="#35CBFE" ></path><path d="M962 287c0-52.5-18.3-101-48.8-139.4L147.6 913.2C186 943.7 234.5 962 287 962h8l667-667v-8z" fill="#35CAFE" ></path><path d="M962 287c0-41.3-11.3-80.1-31-113.5L173.5 931c33.4 19.6 72.2 31 113.5 31h51.7L962 338.7V287z" fill="#36C9FE" ></path><path d="M962 287c0-29.8-5.9-58.2-16.5-84.2L202.8 945.5c26.1 10.6 54.5 16.5 84.2 16.5h95.4L962 382.4V287z" fill="#36C8FE" ></path><path d="M962 287c0-17.6-2.1-34.7-6-51.1L235.9 956c16.4 3.9 33.5 6 51.1 6h139.1L962 426.1V287z" fill="#36C7FE" ></path><path d="M962 287c0-4.4-0.2-8.7-0.4-13L274 961.6c4.3 0.2 8.6 0.4 13 0.4h182.8L962 469.8V287z" fill="#37C6FE" ></path><path d="M513.5 962L962 513.5V317.3L317.3 962z" fill="#37C5FE" ></path><path d="M557.2 962L962 557.2V361L361 962z" fill="#38C4FE" ></path><path d="M600.9 962L962 600.9V404.7L404.7 962z" fill="#38C3FE" ></path><path d="M644.6 962L962 644.6V448.4L448.4 962z" fill="#38C2FE" ></path><path d="M688.3 962L962 688.3V492.1L492.1 962z" fill="#39C1FF" ></path><path d="M732 962l230-230V535.8L535.8 962z" fill="#39C0FF" ></path><path d="M962 737V579.5L579.5 962H737c14.7 0 29-1.5 42.9-4.2l177.9-177.9c2.7-13.9 4.2-28.2 4.2-42.9z" fill="#3ABFFF" ></path><path d="M962 737V623.2L623.2 962H737c41.2 0 80-11.3 113.3-30.9l80.8-80.8C950.7 817 962 778.2 962 737z" fill="#3ABEFF" ></path><path d="M962 666.9L666.9 962H737c123.8 0 225-101.3 225-225v-70.1z" fill="#3ABDFF" ></path><path d="M962 710.6L710.6 962H737c123.8 0 225-101.3 225-225v-26.4z" fill="#3BBCFF" ></path><path d="M961.2 755.1L755.1 961.2c109.4-8.8 197.3-96.7 206.1-206.1z" fill="#3BBBFF" ></path><path d="M949.5 810.5l-139 139c64.9-22.6 116.4-74.1 139-139z" fill="#3BBAFF" ></path><path d="M607.1 521H416.9c-13.4 0-25.7 7.5-31.9 19.4l-79.6 153c-12.5 24 4.9 52.6 31.9 52.6h349.4c27 0 44.4-28.6 31.9-52.6l-79.6-153c-6.1-11.9-18.4-19.4-31.9-19.4z" fill="#C1F4FF" ></path><path d="M512 413m-135 0a135 135 0 1 0 270 0 135 135 0 1 0-270 0Z" fill="#F3FEFF" ></path></symbol><symbol id="icon-tiegui" viewBox="0 0 1024 1024"><path d="M127.9 147h102.6v118H127.9zM810.3 147h102.6v118H810.3z" fill="#00A5FF" ></path><path d="M291.4 762.8h458v118.5h-458zM291.4 352.1h458v118.5h-458z" fill="#80F688" ></path><path d="M291.4 146.8h458v118.5h-458zM291.4 557.5h458V676h-458z" fill="#00D8FF" ></path><path d="M127.9 352.4h102.6v118H127.9zM810.3 352.4h102.6v118H810.3z" fill="#55FDC3" ></path><path d="M810.3 557.7h102.6v118H810.3zM127.9 557.7h102.6v118H127.9z" fill="#00A5FF" ></path><path d="M127.9 763.1h102.6v118H127.9zM810.3 763.1h102.6v118H810.3z" fill="#55FDC3" ></path></symbol><symbol id="icon-nb-" viewBox="0 0 1024 1024"><path d="M735.35 931.25h-446.7a80.16 80.16 0 0 1-80.07-80.07v-740a18.48 18.48 0 0 1 18.48-18.48h569.88a18.48 18.48 0 0 1 18.48 18.48v740a80.16 80.16 0 0 1-80.07 80.07zM245.54 129.7v721.49a43.17 43.17 0 0 0 43.11 43.11h446.7a43.17 43.17 0 0 0 43.11-43.11V129.7z" fill="#0897EA" ></path><path d="M726.21 701.46H292.28a18.48 18.48 0 1 1 0-37h433.93a18.48 18.48 0 0 1 0 37z" fill="#0897EA" ></path><path d="M512 857.78a61.59 61.59 0 1 1 61.59-61.59A61.66 61.66 0 0 1 512 857.78z m0-86.23a24.64 24.64 0 1 0 24.64 24.64A24.66 24.66 0 0 0 512 771.56z" fill="#FF4056" ></path></symbol><symbol id="icon-yunshu" viewBox="0 0 1024 1024"><path d="M1000.177479 646.278994l-23.146116-136.962097c-1.431603-46.318839-39.940584-83.620322-87.076021-83.620323h-11.486589l-42.303393-83.396218c-9.888188-19.522597-29.717776-31.627261-51.740305-31.627262H627.042923v-28.792709c0-31.684566-25.812847-57.498437-57.52709-57.498437H166.846672c-31.714242 0-57.52709 25.813871-57.527089 57.498437v57.553696h57.527089v-57.553696h402.669161v373.920454h-147.887916c-12.851677-49.464476-57.497414-86.26147-110.965056-86.26147s-98.117472 36.796994-110.968125 86.26147h-32.848064v-86.26147H109.319583v143.818236h90.374129c12.851677 49.46243 57.500484 86.26147 110.968126 86.26147 53.466619 0 98.113379-36.799041 110.965056-86.26147H688.64174c12.863957 49.46243 57.526066 86.26147 110.979382 86.26147 53.454339 0 98.114402-36.799041 110.978358-86.26147h32.415206c17.161834 0 33.341296-7.500819 44.380701-20.562274 10.928888-12.893632 15.565479-29.860015 12.782092-46.516337z m-689.514618 95.838574c-31.712196 0-57.52709-25.840476-57.527089-57.552672s25.814894-57.525043 57.527089-57.525043c31.710149 0 57.52709 25.812847 57.52709 57.525043s-25.815917 57.552672-57.52709 57.552672zM784.874285 368.33833l29.100724 57.358244h-71.879954v-57.413502l42.77923 0.055258z m14.748883 373.779238c-31.714242 0-57.52709-25.840476-57.527089-57.552672s25.812847-57.525043 57.527089-57.525043c31.712196 0 57.52709 25.812847 57.52709 57.525043s-25.814894 57.552672-57.52709 57.552672z m110.978359-86.316729c-12.863957-49.464476-57.52402-86.26147-110.978359-86.26147-53.453316 0-98.115426 36.796994-110.979382 86.26147h-61.59984v-258.89595l57.52709 0.028652v28.763033c0 31.712196 25.814894 57.554719 57.526066 57.554719h147.859264c16.320678 0 29.578607 12.863957 29.578606 28.734381l23.481761 143.815165h-32.415206z" ></path><path d="M23.031507 368.170508h230.104265v57.526066H23.031507zM51.79454 483.251293h230.103242v57.497414H51.79454z" ></path></symbol><symbol id="icon-gengduo" viewBox="0 0 1024 1024"><path d="M105.025641 0h236.307692c57.764103 0 105.025641 47.261538 105.025641 105.025641v236.307692c0 57.764103-47.261538 105.025641-105.025641 105.025641H105.025641c-57.764103 0-105.025641-47.261538-105.025641-105.025641V105.025641c0-57.764103 47.261538-105.025641 105.025641-105.025641z m0 577.641026h236.307692c57.764103 0 105.025641 47.261538 105.025641 105.025641v236.307692c0 57.764103-47.261538 105.025641-105.025641 105.025641H105.025641c-57.764103 0-105.025641-47.261538-105.025641-105.025641V682.666667c0-57.764103 47.261538-105.025641 105.025641-105.025641z m577.641026 0h236.307692c57.764103 0 105.025641 47.261538 105.025641 105.025641v236.307692c0 57.764103-47.261538 105.025641-105.025641 105.025641H682.666667c-57.764103 0-105.025641-47.261538-105.025641-105.025641V682.666667c0-57.764103 47.261538-105.025641 105.025641-105.025641z" fill="#2F77F1" ></path><path d="M848.082051 24.94359L984.615385 161.476923c34.133333 34.133333 34.133333 87.958974 0 122.092308L848.082051 421.415385c-34.133333 34.133333-87.958974 34.133333-122.092307 0L589.45641 283.569231c-34.133333-34.133333-34.133333-87.958974 0-122.092308L727.302564 24.94359c32.820513-32.820513 87.958974-32.820513 120.779487 0z" fill="#AFFCFE" ></path></symbol><symbol id="icon-wode1" viewBox="0 0 1024 1024"><path d="M512 256m-256 0a256 256 0 1 0 512 0 256 256 0 1 0-512 0Z" fill="#AFFCFE" ></path><path d="M1024 972.8c0 28.16-23.04 51.2-51.2 51.2H51.2c-28.16 0-51.2-21.76-51.2-49.92 0-6.4 1.28-12.8 3.84-17.92 30.72-280.32 282.88-483.84 564.48-453.12C806.4 528.64 994.56 716.8 1020.16 954.88c2.56 6.4 3.84 11.52 3.84 17.92z" fill="#2F77F1" ></path></symbol><symbol id="icon-kefu" viewBox="0 0 1024 1024"><path d="M418.238197 331.702986m-331.702986 0a331.702986 331.702986 0 1 0 663.405972 0 331.702986 331.702986 0 1 0-663.405972 0Z" fill="#8CF6FB" ></path><path d="M690.811521 977.802716l-30.285925-64.898411s157.198372-119.701512 187.484296-212.001473c-12.979682 2.884374-27.401551 5.768748-40.381233 5.768747-72.109345 0-129.796821-57.687476-129.79682-129.796821v-28.843737c0-72.109345 57.687476-129.796821 129.79682-129.796821 20.190617 0 40.381233 4.326561 57.687476 14.421869v-5.768748C865.316135 230.749903 706.675577 72.109345 511.980346 72.109345S158.644556 230.749903 158.644556 425.445134v5.768748c63.456223-31.728112 141.334316-5.768748 173.062428 57.687476 8.653121 18.74843 14.421869 37.496859 14.421869 57.687476v28.843738c0 72.109345-57.687476 129.796821-129.796821 129.79682-60.57185 0-112.490578-41.82342-126.912447-99.510896-1.442187-4.326561-2.884374-8.653121-2.884374-14.421869V425.445134C86.535211 190.36867 276.903882 0 511.980346 0S937.42548 190.36867 937.42548 425.445134V591.296627c0 271.131136-246.613959 386.506088-246.613959 386.506089zM158.644556 576.874758c0 31.728112 25.959364 57.687476 57.687476 57.687476s57.687476-25.959364 57.687476-57.687476v-28.843737c0-31.728112-25.959364-57.687476-57.687476-57.687476s-57.687476 25.959364-57.687476 57.687476v28.843737z m706.671579-28.843737c0-31.728112-25.959364-57.687476-57.687476-57.687476s-57.687476 25.959364-57.687476 57.687476v28.843737c0 31.728112 25.959364 57.687476 57.687476 57.687476s57.687476-25.959364 57.687476-57.687476v-28.843737z" fill="#3C2DCB" ></path><path d="M719.655259 951.843351c1.442187 37.496859-27.401551 70.667158-66.340598 72.109345H648.988101c-40.381233 1.442187-72.109345-30.285925-73.551532-70.667158s30.285925-72.109345 70.667158-73.551531c40.381233-1.442187 72.109345 30.285925 73.551532 72.109344 0-1.442187 0 0 0 0z" fill="#D098FF" ></path></symbol><symbol id="icon-yingshoubaobiao" viewBox="0 0 1024 1024"><path d="M390.095238 755.809524h243.809524v146.285714H390.095238z" fill="#C7B2FF" ></path><path d="M731.428571 975.238095H292.571429c-26.819048 0-48.761905-21.942857-48.761905-48.761905s21.942857-48.761905 48.761905-48.761904h438.857142c26.819048 0 48.761905 21.942857 48.761905 48.761904s-21.942857 48.761905-48.761905 48.761905zM926.47619 780.190476H97.52381c-53.638095 0-97.52381-43.885714-97.52381-97.523809V146.285714c0-53.638095 43.885714-97.52381 97.52381-97.523809h828.95238c53.638095 0 97.52381 43.885714 97.52381 97.523809v536.380953c0 53.638095-43.885714 97.52381-97.52381 97.523809z" fill="#8F65FF" ></path><path d="M195.047619 572.952381c-14.628571-14.628571-14.628571-36.571429 0-51.2l185.295238-185.295238c14.628571-14.628571 36.571429-14.628571 51.2 0l131.657143 131.657143 212.114286-212.114286c14.628571-14.628571 36.571429-14.628571 51.2 0 14.628571 14.628571 14.628571 36.571429 0 51.2l-238.933334 238.933333c-14.628571 14.628571-36.571429 14.628571-51.2 0L407.161905 414.47619l-158.476191 158.476191c-17.066667 14.628571-39.009524 14.628571-53.638095 0z" fill="#FFFFFF" ></path></symbol><symbol id="icon-kucunduiji" viewBox="0 0 1024 1024"><path d="M754.876282 0.09999H277.722879v477.053413h477.053412V0.09999zM593.892003 374.963382H438.707158v-34.09667h155.184845V374.963382z" fill="#8FB3FF" ></path><path d="M4.549556 1024h477.053412V546.946587H4.549556v477.053413z m160.984279-136.286691h155.184845v34.09667H165.533835v-34.09667z" fill="#2868F0" ></path><path d="M542.597012 546.946587v477.053413h477.053413V546.946587H542.597012z m316.069134 374.863392H703.481301v-34.09667h155.184845v34.09667z" fill="#043EB8" ></path></symbol><symbol id="icon-xiaoshouludan" viewBox="0 0 1024 1024"><path d="M914.4 0H109.6C49.1 0 0 49.1 0 109.6v804.7C0 974.9 49.1 1024 109.6 1024h804.7c60.5 0 109.6-49.1 109.6-109.6V109.6C1024 49.1 974.9 0 914.4 0zM726.1 766.2c0 43.1-35.1 78.2-78.2 78.2H324.3c-43.1 0-78.2-35.1-78.2-78.2V257.8c0-43.1 35.1-78.2 78.2-78.2h246.9c13.1 0 25.6 5.6 34.3 15.3l106.6 118.8c9 10 13.9 22.9 13.9 36.3v42.5l-35.6 61.6V350c0-4.6-1.7-9.1-4.8-12.6L579.1 218.6c-2-2.2-4.9-3.5-7.9-3.5H324.3c-23.5 0-42.7 19.1-42.7 42.7v508.4c0 23.5 19.1 42.7 42.7 42.7h323.6c23.5 0 42.7-19.1 42.7-42.7V590.8l35.6-61.6v237z m-392-213.7c-8.6 0-15.6-7-15.6-15.6s7-15.6 15.6-15.6h260.2c8.6 0 15.6 7 15.6 15.6s-7 15.6-15.6 15.6H334.1z m198.7 91.1c0 7.3-5.9 13.2-13.2 13.2H334.1c-7.3 0-13.2-5.9-13.2-13.2s5.9-13.2 13.2-13.2h185.6c7.2 0 13.1 5.9 13.1 13.2zM334.1 447.1c-9.3 0-16.9-7.5-16.9-16.9s7.5-16.9 16.9-16.9h304c9.3 0 16.9 7.5 16.9 16.9s-7.5 16.9-16.9 16.9h-304z m251.2-91.5c-14.3 0-15.6-10.7-15.6-23.6l1.4-95.9c1.1-2.5 4.4-3.1 6.2-1l98.9 112.5c2 2.2 0.6 5.7-2.3 6.1l-88.6 1.9z m40.2 333.9l-43 19-4.6-46.8 152-260.3 47.7 27.8-152.1 260.3z m158.2-270.8L736 390.9l15.6-26.7 47.7 27.8-15.6 26.7z" fill="#11AAED" ></path></symbol><symbol id="icon-fahuo" viewBox="0 0 1024 1024"><path d="M368.4864 856.99072c-1.4336 42.60864-33.52576 74.69568-76.1344 76.12928-42.58816 1.4336-74.77248-35.68128-76.1344-76.12928-1.4336-42.58816 35.68128-74.77248 76.1344-76.1344 42.59328-1.43872 74.77248 35.68128 76.1344 76.1344 1.11104 32.92672 52.31104 33.03424 51.2 0-2.39104-70.99904-56.33536-124.94336-127.3344-127.3344-70.95808-2.39104-125.06112 59.93472-127.3344 127.3344-2.39104 70.95296 59.93472 125.06112 127.3344 127.32928 70.95296 2.39104 125.06112-59.9296 127.3344-127.32928 1.11104-33.03424-50.08896-32.92672-51.2 0zM783.91296 856.99072c-1.4336 42.60864-33.52576 74.69568-76.1344 76.12928-42.58816 1.4336-74.76736-35.6864-76.12928-76.12928-1.4336-42.58816 35.68128-74.77248 76.12928-76.1344 42.5984-1.43872 74.77248 35.68128 76.1344 76.1344 1.11104 32.92672 52.31616 33.03424 51.2 0-2.39104-70.99904-56.33536-124.94336-127.3344-127.3344-70.95296-2.39104-125.06112 59.93984-127.32928 127.3344-2.39104 70.94784 59.93472 125.06112 127.32928 127.32928 70.95296 2.39104 125.06624-59.9296 127.3344-127.32928 1.11616-33.03424-50.08896-32.92672-51.2 0z" ></path><path d="M725.76512 297.63584c83.70176 72.75008 167.3984 145.50016 251.10528 218.24512l-7.5008-18.0992v315.76064c0 15.24224-10.83904 15.31392-23.28064 15.31392h-136.55552c-33.01376 0-33.01376 51.2 0 51.2h89.99936c30.03392 0 69.67296 6.41024 95.60576-11.92448 25.80992-18.24256 25.43104-46.41792 25.43104-74.23488v-105.14944-190.0032c0-18.18624-19.93728-29.87008-32.1536-40.49408l-81.74592-71.05024-144.70656-125.7728c-24.79104-21.54496-61.16352 14.5152-36.1984 36.20864z" ></path><path d="M190.6176 828.86144H97.24928c-17.52064 0-26.43456-1.88416-26.43456-20.06016v-158.32064-449.54112-41.18528c0-14.2336 15.81056-11.53024 25.30816-11.53024H707.5328c15.95392 0 10.73664 28.5184 10.73664 38.12352v93.18912c0 33.01888 51.2 33.01888 51.2 0V199.0144c0-41.74336 0.3584-96.45568-54.99392-101.41696-38.25152-3.42528-77.80352-0.57856-116.15744-0.57856H140.48256c-50.304 0-114.67776-7.6032-120.86272 61.44-3.2 35.69664 0 73.15456 0 108.9536v529.67936c0 10.89536-1.42336 24.15104 1.49504 34.78016 11.55072 42.0864 46.62784 48.18944 84.03456 48.18944h85.4784c33.00864 0 33.00864-51.2-0.01024-51.2zM603.5712 828.86144h-176.0768c-33.01888 0-33.01888 51.2 0 51.2h176.0768c33.01376 0 33.01376-51.2 0-51.2zM718.26432 454.11328v94.17216c0 13.94688 11.64288 25.59488 25.6 25.59488H883.2c33.01376 0 33.01376-51.18976 0-51.18976h-139.33568c8.53504 8.53504 17.06496 17.07008 25.6 25.59488V454.11328c0-33.01888-51.2-33.01888-51.2 0z" ></path></symbol><symbol id="icon-shouhuo1" viewBox="0 0 1024 1024"><path d="M928.282 277.57l-76.078-146.396c-18.802-36.082-65.373-64.339-106.022-64.339h-467.77c-40.593 0-87.326 28.094-106.292 63.906L96.096 274.148c-16.41 31.029-29.235 82.762-29.235 117.812v481.738c0 46.027 37.387 83.468 83.467 83.468h723.34c46.027 0 83.469-37.442 83.469-83.468V395.384c0-34.997-12.66-86.785-28.855-117.814zM145.33 300.177l75.97-143.353c9.51-17.933 36.734-34.344 57.112-34.344h467.771c20.27 0 47.278 16.41 56.679 34.398l76.08 146.34c3.586 6.956 6.955 15.87 10.052 25.433H134.19c3.37-10.705 7.065-20.813 11.14-28.474z m756.161 573.52c0 15.324-12.443 27.821-27.822 27.821h-723.34c-15.378 0-27.822-12.498-27.822-27.821V391.959c0-2.228 0.435-5.163 0.651-7.661h777.408c0.327 3.695 0.924 7.824 0.924 11.085v478.314z" fill="" ></path><path d="M745.913 537.54L605.765 687.25l-56.568-56.46c-10.869-10.869-28.475-10.869-39.344 0-10.868 10.867-10.868 28.474 0 39.342l76.296 76.08c5.435 5.433 12.499 8.15 19.617 8.15 3.859 0 7.662-0.978 11.305-2.608 4.074-1.414 7.878-3.587 11.03-6.903L786.56 575.58c10.488-11.194 9.89-28.8-1.304-39.343-11.196-10.434-28.802-9.89-39.344 1.304zM429.046 578.187h-166.99c-15.325 0-27.823 12.445-27.823 27.823s12.499 27.823 27.823 27.823h166.991c15.378 0 27.823-12.445 27.823-27.823s-12.445-27.823-27.824-27.823zM344.6 696.87h-83.468c-15.378 0-27.822 12.498-27.822 27.821 0 15.433 12.444 27.823 27.822 27.823H344.6c15.38 0 27.823-12.39 27.823-27.823 0-15.323-12.444-27.822-27.823-27.822z" fill="" ></path></symbol><symbol id="icon-kefu-copy-copy" viewBox="0 0 1024 1024"><path d="M959.995 377.6C921.598 160.004 735.999 0.006 512.004 0.006c-224.004 0-409.596 166.399-448 377.593C25.605 409.601 0.006 467.203 0.006 524.801c0 76.799 44.799 166.398 115.199 166.398 63.997 0 63.997-70.398 63.997-166.398 0-89.599 0-159.999-44.797-166.4C172.801 185.604 326.404 57.604 512.004 57.604c185.592 0 339.194 128 377.592 294.401-44.799 12.798-44.799 76.796-44.799 166.394 0 63.422 0 107.986 12.451 139.923 0.114 0.293 0.41 0.569 0.346 0.876C821.333 831 716.8 902.398 614.398 928c-19.198-25.602-57.597-44.799-102.395-44.799-64.006 0-115.202 32-115.202 70.398 0 38.404 51.196 70.4 115.202 70.4 63.997 0 115.197-31.996 115.197-70.4C729.598 928 853.333 839.667 876.798 678.396c-0.04 0.275 0.399 0.388 0.608 0.572 6.575 5.83 18.984 5.83 31.389 5.83 70.399 0 115.199-89.6 115.199-166.4 0-51.195-25.6-108.797-63.999-140.798z m0 0" fill="#3ab477" ></path></symbol><symbol id="icon-yuebao" viewBox="0 0 1024 1024"><path d="M839.2 85H185.3c-37.7 0-71.3 26.9-71.3 61.5v730.3c0 34.6 33.5 61.5 71.3 61.5h653.9c37.7 0 71.3-26.9 71.3-61.5V146.5c-0.1-34.6-33.6-61.5-71.3-61.5zM633.4 653.9c0 22.1-11.3 33.4-33 33.4h-50.1l-7.8-27.5c17.8 0.8 34.1 1.6 48.9 1.6 8.9 0 13.6-5.8 13.6-17.1V567H437.9c-4.7 50.4-19.4 92-44.6 124.9L372 672.5c25.6-34.9 38.4-79.2 39.2-132.7V350.5h222.3v303.4z" fill="#69B3FA" ></path><path d="M439.4 377.3h165.7v67.9H439.4zM439.4 471.2h165.7V541H439.4z" fill="#69B3FA" ></path></symbol><symbol id="icon-qinglihuancun" viewBox="0 0 1024 1024"><path d="M786.6 715.9c-5.1 0-10.3-1.3-15.1-4.1L295.4 434.7c-14.3-8.3-19.2-26.7-10.8-41 8.3-14.3 26.7-19.2 41-10.8L801.7 660c14.3 8.3 19.2 26.7 10.8 41-5.6 9.5-15.6 14.9-25.9 14.9z" ></path><path d="M629.3 960c-14.7 0-29.3-4.2-42.1-11.6L186.1 714.7c-40-23.3-53.8-75.1-30.7-115.4l166.4-290.5c15-26.1 42.9-42.4 72.9-42.4 14.7 0 29.3 3.9 42.1 11.4l113.2 66 129-225.2c19.1-33.4 54.8-54.1 93.1-54.1 18.8 0 37.4 5 53.7 14.5 51.1 29.8 68.8 95.9 39.3 147.4L735.9 452l102 59.4c40 23.3 53.8 75 30.7 115.3L702.2 917.4c-14.9 26.1-42.9 42.6-72.9 42.6zM394.7 326.4c-8.6 0-16.5 4.7-20.8 12.2L207.5 629.1c-6.7 11.8-2.8 26.9 8.9 33.6l401.1 233.5c3.7 2.1 7.7 3.2 11.9 3.2 8.6 0 16.5-4.7 20.8-12.2l166.4-290.5c6.7-11.8 2.8-26.9-8.8-33.6L680 488.8c-14.2-8.3-19.1-26.5-10.9-40.8L813 196.6c13.2-23 5.4-52.5-17.4-65.7-7.2-4.2-15.3-6.4-23.5-6.4-16.9 0-32.6 9.2-41 23.9l-144 251.4c-4 6.9-10.5 12-18.3 14.1-7.7 2.1-15.9 1-22.9-3.1l-139.4-81.1c-3.6-2.2-7.6-3.3-11.8-3.3z" ></path></symbol><symbol id="icon-fukuan1" viewBox="0 0 1024 1024"><path d="M917.333333 1024H106.666667c-59.733333 0-106.666667-46.933333-106.666667-106.666667V106.666667c0-59.733333 46.933333-106.666667 106.666667-106.666667h810.666666c59.733333 0 106.666667 46.933333 106.666667 106.666667v810.666666c0 59.733333-46.933333 106.666667-106.666667 106.666667zM106.666667 85.333333c-12.8 0-21.333333 8.533333-21.333334 21.333334v810.666666c0 12.8 8.533333 21.333333 21.333334 21.333334h810.666666c12.8 0 21.333333-8.533333 21.333334-21.333334V106.666667c0-12.8-8.533333-21.333333-21.333334-21.333334H106.666667z" ></path><path d="M298.666667 746.666667c-23.466667 0-42.666667-19.2-42.666667-42.666667V320c0-23.466667 19.2-42.666667 42.666667-42.666667s42.666667 19.2 42.666666 42.666667v384c0 23.466667-19.2 42.666667-42.666666 42.666667zM441.6 746.666667c-23.466667 0-42.666667-19.2-42.666667-42.666667V320c0-23.466667 19.2-42.666667 42.666667-42.666667s42.666667 19.2 42.666667 42.666667v384c0 23.466667-19.2 42.666667-42.666667 42.666667zM582.4 746.666667c-23.466667 0-42.666667-19.2-42.666667-42.666667V320c0-23.466667 19.2-42.666667 42.666667-42.666667s42.666667 19.2 42.666667 42.666667v384c0 23.466667-19.2 42.666667-42.666667 42.666667zM725.333333 746.666667c-23.466667 0-42.666667-19.2-42.666666-42.666667V320c0-23.466667 19.2-42.666667 42.666666-42.666667s42.666667 19.2 42.666667 42.666667v384c0 23.466667-19.2 42.666667-42.666667 42.666667z" ></path></symbol><symbol id="icon-yunshu-" viewBox="0 0 1024 1024"><path d="M703.2 776H320.8c-76.8 0-140-62.4-140-140 0-15.2 2.4-29.6 7.2-44 15.2-45.6 20-95.2 13.6-142.4L160 144c-4-34.4 7.2-68 31.2-94.4C217.6 20 256 4 296.8 4h430.4c40.8 0 80 16.8 105.6 45.6 24 26.4 34.4 60 31.2 93.6l-40.8 305.6c-6.4 48-1.6 96.8 13.6 142.4 4.8 14.4 7.2 28.8 7.2 44-0.8 77.6-63.2 140.8-140.8 140.8zM296.8 36c-32 0-61.6 12.8-82.4 35.2-17.6 19.2-25.6 44-23.2 68.8L232 444.8c7.2 52.8 2.4 106.4-14.4 156.8-4 11.2-5.6 22.4-5.6 33.6 0 59.2 48 108 108 108h383.2c59.2 0 108-48 108-108 0-11.2-1.6-23.2-5.6-33.6-16.8-49.6-21.6-104-14.4-156.8l40.8-304.8c2.4-24.8-5.6-48.8-23.2-68.8-20-22.4-50.4-35.2-82.4-35.2H296.8z" ></path><path d="M725.6 324H298.4c-4 0-7.2-3.2-8-7.2L271.2 144c-0.8-7.2 1.6-15.2 6.4-20.8 4.8-5.6 11.2-8 18.4-8.8h431.2c7.2 0 14.4 3.2 19.2 8.8 4.8 5.6 7.2 12.8 6.4 20.8l-18.4 172.8c-0.8 4-4.8 7.2-8.8 7.2z m-420-16h413.6l18.4-165.6c0-3.2-0.8-5.6-2.4-8-1.6-1.6-4-3.2-6.4-3.2h-432c-2.4 0-4.8 0.8-6.4 3.2-1.6 2.4-3.2 5.6-2.4 8l17.6 165.6zM544 628h-64c-4.8 0-8-3.2-8-8s3.2-8 8-8h64c4.8 0 8 3.2 8 8s-3.2 8-8 8zM343.2 681.6c-33.6 0-61.6-28-61.6-61.6s28-61.6 61.6-61.6 61.6 28 61.6 61.6c0 34.4-27.2 61.6-61.6 61.6z m0-107.2c-24.8 0-45.6 20.8-45.6 45.6s20.8 45.6 45.6 45.6 45.6-20.8 45.6-45.6-20-45.6-45.6-45.6zM680 681.6c-33.6 0-61.6-28-61.6-61.6s28-61.6 61.6-61.6 61.6 28 61.6 61.6c0 34.4-27.2 61.6-61.6 61.6z m0-107.2c-24.8 0-45.6 20.8-45.6 45.6s20.8 45.6 45.6 45.6 45.6-20.8 45.6-45.6-20-45.6-45.6-45.6zM745.6 877.6H278.4c-4.8 0-9.6-2.4-12.8-6.4-3.2-4-4-9.6-2.4-14.4L296 755.2c2.4-6.4 8-11.2 15.2-11.2H712c7.2 0 12.8 4.8 15.2 11.2l32.8 101.6c1.6 4.8 0.8 10.4-2.4 14.4-2.4 4-7.2 6.4-12 6.4z m-444.8-32h422.4L700.8 776H323.2l-22.4 69.6z" ></path><path d="M791.2 1020H232.8c-4.8 0-9.6-2.4-12.8-6.4-3.2-4-4-9.6-2.4-14.4l46.4-142.4c2.4-6.4 8-11.2 15.2-11.2h466.4c7.2 0 12.8 4.8 15.2 11.2l46.4 142.4c1.6 4.8 0.8 10.4-2.4 14.4s-8 6.4-13.6 6.4z m-536.8-32h515.2l-36-110.4H290.4l-36 110.4z" ></path></symbol><symbol id="icon-lianjie" viewBox="0 0 1024 1024"><path d="M573.44 686.08L432.128 582.656l48.128-66.56 108.544 78.848 236.544-324.608-144.384-105.472-94.208 130.048 32.768 23.552-48.128 66.56-66.56-48.128-8.192-57.344L638.976 83.968l57.344-9.216 209.92 152.576 9.216 57.344-284.672 392.192z" fill="#437DFF" ></path><path d="M327.68 949.248L117.76 796.672l-9.216-57.344 284.672-392.192L450.56 337.92l141.312 103.424-48.128 66.56-108.544-78.848-236.544 324.608 144.384 105.472 94.208-130.048-32.768-23.552 48.128-66.56 66.56 48.128 8.192 57.344-142.336 195.584z" fill="#63F7DE" ></path></symbol><symbol id="icon-shoukuan-" viewBox="0 0 1024 1024"><path d="M613.60128 534.00576H500.52096v-67.8912h113.08032a20.35712 20.35712 0 1 0 0-40.73472h-84.34688l60.68224-79.14496a20.3776 20.3776 0 0 0-32.32768-24.79104l-76.40064 99.6352-76.40064-99.6352a20.3776 20.3776 0 0 0-32.32768 24.79104l60.68224 79.14496h-84.34688a20.35712 20.35712 0 1 0 0 40.73472H459.776v67.8912H348.8256a20.35712 20.35712 0 1 0 0 40.73472h110.96064v115.41504a20.35712 20.35712 0 1 0 40.73472 0V574.74048h113.08032a20.35712 20.35712 0 1 0 0-40.73472z" fill="" ></path><path d="M638.88384 902.36928H184.1152a42.3936 42.3936 0 0 1-42.3424-42.3424v-718.2336a20.1728 20.1728 0 0 1 20.15232-20.15232h602.8288a42.3936 42.3936 0 0 1 42.3424 42.3424V691.9168h40.73472V163.98336c0-45.81376-37.26336-83.07712-83.07712-83.07712h-602.8288a60.94848 60.94848 0 0 0-60.88704 60.88704v718.2336c0 45.81376 37.26336 83.07712 83.07712 83.07712h454.76864v-40.73472z" fill="" ></path><path d="M770.59072 941.7216a20.31616 20.31616 0 0 1-14.39744-5.96992L647.56736 827.12576a20.36736 20.36736 0 1 1 28.80512-28.80512L769.024 890.9824l162.27328-199.72096a20.3776 20.3776 0 0 1 31.61088 25.69216L786.39104 934.1952a20.3776 20.3776 0 0 1-15.80032 7.5264z" fill="" ></path><path d="M827.4432 692.36736m-20.36736 0a20.36736 20.36736 0 1 0 40.73472 0 20.36736 20.36736 0 1 0-40.73472 0Z" fill="" ></path><path d="M637.57312 922.73664m-20.36736 0a20.36736 20.36736 0 1 0 40.73472 0 20.36736 20.36736 0 1 0-40.73472 0Z" fill="" ></path></symbol><symbol id="icon-kefu1" viewBox="0 0 1024 1024"><path d="M958.4 337.7C827.8 118.4 683.5 7.1 529.2 7.1 283.4 7.1 99 286.9 67.6 337.7H1.8v312.8h148.8V337.7H104c49.2-73.8 217.1-300.1 425.1-300.1 139.2 0 271.4 101.1 393.5 300.1h-47.2v312.8h62C927.8 802.6 776.7 924.2 590 928.6c-5.8-37.5-37.9-66.3-77-66.3-43.1 0-78.2 35.1-78.2 78.2s35.1 78.2 78.2 78.2c39.4 0 71.7-29.3 77.1-67.2 199.4-4.5 360.7-136.3 370.2-300.9h63.9V337.7h-65.8z m-838.3 30.5V620H32.3V368.2h87.8zM513 995.8c-30.5 0-55.3-24.8-55.3-55.3 0-30.5 24.8-55.3 55.3-55.3 30.5 0 55.3 24.8 55.3 55.3 0 30.5-24.8 55.3-55.3 55.3zM993.7 620H906V368.2h87.7V620z" fill="#323333" ></path><path d="M787.7 611l-22.9-20.1c-190.1 217.3-378.5 85.8-440.4 42.6-18.5-12.9-25.5-17.8-35.4-12.6l-8.6 14.4h18.1l-6.2 13.5c2.8 1.3 7.7 4.9 14.6 9.7 80.4 56.1 157 84.1 229.4 84.1 90.6 0 174.7-43.9 251.4-131.6z m-483.6 36.2l-5.4-12h12.1c0 4.8-2.6 9.4-6.7 12z" fill="#323333" ></path></symbol><symbol id="icon-ziyuan" viewBox="0 0 1024 1024"><path d="M0 0m204.8 0l614.4 0q204.8 0 204.8 204.8l0 614.4q0 204.8-204.8 204.8l-614.4 0q-204.8 0-204.8-204.8l0-614.4q0-204.8 204.8-204.8Z" fill="#00BCD4" ></path><path d="M460.8 837.632c0-9.984 1.792-18.944 3.072-27.648 2.048-15.104 4.608-30.208 6.656-45.312 0-7.68 1.792-15.104 2.56-22.784l4.608-35.072c0-6.656 1.792-13.568 2.56-20.48s1.792-20.48 2.816-30.464c0-5.376 1.792-10.752 2.304-16.384a83.2 83.2 0 0 0-6.4-31.744 91.136 91.136 0 0 1-2.816-11.264 5.376 5.376 0 0 1 3.328-3.84h65.536c3.072 0 4.352 0 3.072 4.352-2.56 7.424-4.352 14.848-6.4 22.272a84.48 84.48 0 0 0-2.304 8.96 83.2 83.2 0 0 0 1.792 30.976 190.72 190.72 0 0 1 2.816 22.272c0 10.752 1.536 21.504 2.816 32.256 2.048 15.616 4.608 31.488 6.656 47.104 0 6.912 1.792 14.08 2.56 20.992s1.792 21.248 2.816 31.744c0 6.4 1.536 12.8 2.56 19.2 0 0 1.792 2.304 3.84 4.608 3.072-11.776 5.376-21.76 8.192-31.744s5.888-20.224 8.96-30.464 3.584-14.336 5.632-21.504 4.608-15.36 6.656-23.296 3.584-14.336 5.632-21.248 4.352-15.104 6.4-22.784 3.84-14.08 5.632-21.248l6.656-23.808c2.048-7.168 3.584-14.592 5.632-22.016s4.352-15.104 6.656-22.784 3.584-13.824 5.632-20.736 0-7.424 3.072-9.216a12.544 12.544 0 0 1 10.24-2.304c13.056 4.608 25.6 10.496 38.912 15.36l40.448 15.104 32 12.544a176.896 176.896 0 0 1 38.912 20.736 67.84 67.84 0 0 1 24.064 29.696 64 64 0 0 1 2.816 17.408c0 10.752 1.536 21.504 2.816 32.256l4.608 38.144v1.792c0 12.8 1.792 25.6 2.816 38.4 0 8.96 1.28 17.664 2.56 25.6a28.928 28.928 0 0 1-28.672 28.672H214.528a27.904 27.904 0 0 1-25.6-10.496 39.68 39.68 0 0 1-5.12-33.024 15.36 15.36 0 0 0 0-3.328c0-12.544 1.792-25.6 3.072-37.888s2.816-21.504 4.352-32v-1.28a337.408 337.408 0 0 1 3.072-37.632 76.8 76.8 0 0 1 10.496-35.84 109.312 109.312 0 0 1 29.44-27.136 302.848 302.848 0 0 1 56.32-25.6c15.104-5.888 29.952-12.032 45.056-18.176s25.6-9.984 38.144-14.592a9.728 9.728 0 0 1 12.8 7.936c1.792 7.936 4.608 15.616 6.656 23.296s3.584 14.336 5.632 21.504 4.608 15.616 6.656 23.296 3.584 13.824 5.632 20.736l9.216 32.768c2.048 6.912 3.584 13.824 5.376 20.736s4.608 15.872 6.912 23.808 3.584 14.336 5.632 21.504 4.608 15.36 6.656 23.296 3.84 14.336 5.632 21.504 5.12 19.712 7.68 29.696l4.096 3.584zM358.4 348.16c2.304-12.544 4.864-28.16 8.192-43.776a145.664 145.664 0 0 1 22.016-51.2 153.6 153.6 0 0 1 59.392-54.016 113.92 113.92 0 0 1 35.328-12.288A210.688 210.688 0 0 1 512 183.296a142.848 142.848 0 0 1 29.184 3.584 146.432 146.432 0 0 1 25.6 7.68 147.968 147.968 0 0 1 59.392 44.288 179.2 179.2 0 0 1 27.904 47.104 184.32 184.32 0 0 1 7.936 30.72 139.52 139.52 0 0 1 3.584 28.416 303.36 303.36 0 0 1-3.072 38.912c0 7.68-3.328 15.104-5.12 22.528a171.52 171.52 0 0 1-17.408 41.216 181.248 181.248 0 0 1-47.104 57.088 132.096 132.096 0 0 1-43.008 23.552 115.456 115.456 0 0 1-43.008 6.656 130.816 130.816 0 0 1-64.512-23.04 153.6 153.6 0 0 1-44.032-43.52 332.8 332.8 0 0 1-21.504-37.888 243.2 243.2 0 0 1-12.032-35.328 111.872 111.872 0 0 1-2.816-18.432c0-8.704-2.048-17.152-3.328-29.184z m0 0" fill="#FFFFFF" ></path></symbol><symbol id="icon-ziyuan1" viewBox="0 0 1024 1024"><path d="M0 0m204.8 0l614.4 0q204.8 0 204.8 204.8l0 614.4q0 204.8-204.8 204.8l-614.4 0q-204.8 0-204.8-204.8l0-614.4q0-204.8 204.8-204.8Z" fill="#FF9800" ></path><path d="M696.32 583.424a493.568 493.568 0 0 0-158.72-67.072 290.56 290.56 0 0 0 47.872-90.112 169.472 169.472 0 0 0 6.144-67.84 315.904 315.904 0 0 0 0-68.352c-16.384-58.624-58.112-74.496-106.752-74.496s-90.368 16.128-106.752 74.752a323.84 323.84 0 0 0 0 68.352 169.728 169.728 0 0 0 5.888 67.84 293.12 293.12 0 0 0 48.128 90.112 381.44 381.44 0 0 0-155.392 67.072c-63.232 43.008-68.096 65.28-68.096 65.28V768a51.2 51.2 0 0 0 51.2 51.2H716.8a51.2 51.2 0 0 0 51.2-51.2v-119.04s-8.192-27.904-71.936-65.28z" fill="#FFFFFF" ></path><path d="M671.232 229.376m23.808 0l174.08 0q23.808 0 23.808 23.808l0 0.256q0 23.808-23.808 23.808l-174.08 0q-23.808 0-23.808-23.808l0-0.256q0-23.808 23.808-23.808Z" fill="#FFFFFF" ></path><path d="M757.248 336.128m23.808 0l87.808 0q23.808 0 23.808 23.808l0 0.256q0 23.808-23.808 23.808l-87.808 0q-23.808 0-23.808-23.808l0-0.256q0-23.808 23.808-23.808Z" fill="#FFFFFF" ></path><path d="M698.624 442.368m23.808 0l146.432 0q23.808 0 23.808 23.808l0 0.256q0 23.808-23.808 23.808l-146.432 0q-23.808 0-23.808-23.808l0-0.256q0-23.808 23.808-23.808Z" fill="#FFFFFF" ></path><path d="M401.152 504.32s88.576 42.752 162.816 0l58.368 16.384a224.768 224.768 0 0 1-274.688 0 297.216 297.216 0 0 1 53.76-16.384" fill="#FF9800" ></path></symbol><symbol id="icon-shouyi" viewBox="0 0 1024 1024"><path d="M868.1 543.9l-299.5-25.7c-8.7-0.7-16.2-5.5-20.6-13.1-4.4-7.6-4.8-16.5-1-24.4l130.5-278.6c7.4-15.9 7.8-34.3 0.9-50.4-6.9-16.1-20.4-28.6-37-34.2-50.6-17.1-103.7-24.4-157.7-21.9C262.9 106 83.6 287.1 75.4 507.9 71 625.7 113.5 737.3 195.1 822c81.7 84.8 191.4 131.5 309.1 131.5 202 0 374.2-137.4 418.6-334.2 4-17.6 0.2-35.9-10.4-50.4-10.5-14.4-26.6-23.5-44.3-25zM504.2 918.3c-108 0-208.8-42.9-283.8-120.7-74.9-77.8-114-180.2-109.9-288.4 7.6-202.7 172.2-368.9 374.7-378.4 6.4-0.3 12.7-0.5 19-0.5 43 0 85.2 6.9 125.7 20.5 7.2 2.4 12.8 7.6 15.8 14.7 3 7 2.9 14.7-0.4 21.6L515 465.8c-8.5 18.2-7.6 39.5 2.4 56.9 10.1 17.4 28 28.9 48.1 30.6L865.1 579c7.7 0.7 14.4 4.4 19 10.7s6.2 14.2 4.5 21.9c-40.9 180.5-198.9 306.7-384.4 306.7z" fill="" ></path><path d="M815.4 199.9c-8.9-5.5-19.8-6.8-29.9-3.8-10.1 3.1-18.5 10.3-23 19.8l-84.3 179.9c-5.1 11-4.6 23.8 1.5 34.3 6.1 10.5 16.9 17.4 28.9 18.4l195.1 16.8c1.1 0.1 2.1 0.2 3.2 0.2 9.2 0 18.2-3.5 25.1-9.8 7.5-6.8 11.8-16.6 11.8-27 0-94.1-48-179.6-128.4-228.8z m84.6 222c-1.9 1.8-4.4 2.6-7 2.4l-168.9-14.5c-3.1-0.3-5.7-2-7.2-4.6-1.6-2.6-1.7-5.7-0.4-8.5l72.9-155.8c1.1-2.4 3.2-4.2 5.8-4.9 0.7-0.2 1.6-0.4 2.7-0.4 1.4 0 3 0.3 4.7 1.3 62.7 38.4 100.1 105.1 100.1 178.7 0.1 3.2-1.6 5.4-2.7 6.3z" fill="" ></path></symbol><symbol id="icon-shouye1" viewBox="0 0 1024 1024"><path d="M1009.158986 66.316476L889.662378 943.696842c-0.019961 0-0.039922 0.009981-0.059883 0.009981a28.937481 28.937481 0 0 1-40.640624 25.41037l-0.029941 0.029942-325.594074-137.960546-64.474074 132.750721a28.904546 28.904546 0 0 1-54.475603-0.179649L324.865497 787.461988l39.810246-45.70074L796.913528 242.219914 225.66924 705.052943 21.37625 618.482027c0.03094-0.089825 0.058885-0.179649 0.088826-0.269473a29.867665 29.867665 0 0 1 0.424172-54.952671L966.681949 33.494581c0.059883 0.077848 0.109786 0.152702 0.169669 0.23055a28.904546 28.904546 0 0 1 42.307368 32.591345z" fill="#E61D15" ></path></symbol><symbol id="icon-dingdan" viewBox="0 0 1039 1024"><path d="M732.806026 950.719397h-462.824858c-84.851224 0-154.274953-71.352166-154.274953-156.203389v-474.395481c0-86.779661 69.423729-156.20339 154.274953-156.20339h15.427495v77.137477h-15.427495c-42.425612 0-77.137476 36.640301-77.137477 79.065913V794.516008c0 44.354049 34.711864 79.065913 77.137477 79.065913h462.824858c42.425612 0 77.137476-36.640301 77.137477-79.065913v-474.395481c0-44.354049-34.711864-79.065913-77.137477-79.065913h-42.425612v-77.137477h42.425612c84.851224 0 154.274953 71.352166 154.274953 156.20339V794.516008c0 84.851224-69.423729 156.20339-154.274953 156.203389z" fill="#388CEB" ></path><path d="M626.741996 312.40678h-250.696798c-57.853107 0-106.06403-42.425612-106.06403-94.493409v-48.210923c0-52.067797 48.210923-94.493409 106.06403-94.493408h250.696798c57.853107 0 106.06403 42.425612 106.06403 94.493408v48.210923c0 52.067797-48.210923 94.493409-106.06403 94.493409z m-250.696798-158.131827c-17.355932 0-28.926554 9.642185-28.926554 17.355932v48.210923c0 7.713748 11.570621 17.355932 28.926554 17.355932h250.696798c17.355932 0 28.926554-9.642185 28.926554-17.355932v-48.210923c0-7.713748-11.570621-17.355932-28.926554-17.355932h-250.696798z" fill="#388CEB" ></path><path d="M705.80791 482.109228H289.265537c-21.212806 0-38.568738-17.355932-38.568739-38.568738s17.355932-38.568738 38.568739-38.568739h416.542373c21.212806 0 38.568738 17.355932 38.568738 38.568739s-17.355932 38.568738-38.568738 38.568738zM705.80791 617.099812H289.265537c-21.212806 0-38.568738-17.355932-38.568739-38.568739s17.355932-38.568738 38.568739-38.568738h416.542373c21.212806 0 38.568738 17.355932 38.568738 38.568738s-17.355932 38.568738-38.568738 38.568739zM520.677966 752.090395h-231.412429c-21.212806 0-38.568738-17.355932-38.568739-38.568738s17.355932-38.568738 38.568739-38.568738h231.412429c21.212806 0 38.568738 17.355932 38.568738 38.568738s-17.355932 38.568738-38.568738 38.568738z" fill="#E78E00" ></path></symbol></svg>',l=(c=document.getElementsByTagName("script"))[c.length-1].getAttribute("data-injectcss");if(l&&!o.__iconfont__svg__cssinject__){o.__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(c){console&&console.log(c)}}!function(c){if(document.addEventListener)if(~["complete","loaded","interactive"].indexOf(document.readyState))setTimeout(c,0);else{var l=function(){document.removeEventListener("DOMContentLoaded",l,!1),c()};document.addEventListener("DOMContentLoaded",l,!1)}else document.attachEvent&&(h=c,a=o.document,t=!1,i=function(){t||(t=!0,h())},(p=function(){try{a.documentElement.doScroll("left")}catch(c){return void setTimeout(p,50)}i()})(),a.onreadystatechange=function(){"complete"==a.readyState&&(a.onreadystatechange=null,i())});var h,a,t,i,p}(function(){var c,l,h,a,t,i;(c=document.createElement("div")).innerHTML=p,p=null,(l=c.getElementsByTagName("svg")[0])&&(l.setAttribute("aria-hidden","true"),l.style.position="absolute",l.style.width=0,l.style.height=0,l.style.overflow="hidden",h=l,(a=document.body).firstChild?(t=h,(i=a.firstChild).parentNode.insertBefore(t,i)):a.appendChild(h))})}(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="iconfont" horiz-adv-x="1024" >
<font-face
font-family="iconfont"
font-weight="500"
font-stretch="normal"
units-per-em="1024"
ascent="896"
descent="-128"
/>
<missing-glyph />
<glyph glyph-name="baobiao1" unicode="&#58913;" d="M511.706311 831.978894C264.433578 831.978894 63.981197 631.526513 63.981197 384.254803s200.452381-447.725114 447.725114-447.725114 447.725114 200.452381 447.725114 447.725114S758.979044 831.978894 511.706311 831.978894zM361.994568 160.392246l-85.551468 0L276.4431 293.249113l85.551468 0L361.994568 160.392246zM490.318188 160.392246l-85.548398 0L404.76979 470.388533l85.548398 0L490.318188 160.392246zM618.645902 160.392246 533.095457 160.392246 533.095457 337.531666l85.550445 0L618.645902 160.392246zM746.970546 160.392246 661.418055 160.392246 661.418055 603.243353l85.551468 0L746.969523 160.392246z" horiz-adv-x="1024" />
<glyph glyph-name="lunchuan" unicode="&#59019;" d="M940.606685-24.725892c-43.774993 0-72.529897 13.641695-102.973256 28.086685-25.675776 12.181437-52.150754 24.704658-86.192058 27.309996l89.181135 198.959378c12.491499 27.865651 2.100848 60.620659-24.169469 76.185146l-32.633235 19.339464L783.819802 618.284931c0 11.04966-8.958022 20.007683-20.007683 20.007683L647.769196 638.292614 647.769196 748.334869c0 11.04966-8.958022 20.007683-20.007683 20.007683l-94.0357 0L533.725814 812.359045c0 11.04966-8.958022 20.007683-20.007683 20.007683s-20.007683-8.958022-20.007683-20.007683l0-44.016493-94.0357 0c-11.04966 0-20.007683-8.958022-20.007683-20.007683l0-110.042255L263.622096 638.292614c-11.04966 0-20.007683-8.958022-20.007683-20.007683l0-292.109917-30.990828-18.183128c-27.442002-16.09763-37.554314-50.880831-23.023366-79.184457l101.656261-197.990307c-30.30419-2.330068-54.564733-13.168927-80.0645-24.586978-33.800827-15.136745-68.753897-30.78719-126.411061-30.78719-11.04966 0-20.007683-8.958022-20.007683-20.007683s8.958022-20.007683 20.007683-20.007683c66.206888 0 106.879216 18.21178 142.764518 34.280758 25.847691 11.574616 48.171116 21.570271 75.728752 21.570271 31.195489 0 61.411675-12.44238 93.403297-25.613354 35.950793-14.804171 73.127508-30.110785 116.185162-30.110785 42.176588 0 82.113159 14.863523 120.733759 29.235858 36.45733 13.568017 70.892607 26.38288 104.934934 26.38288 31.435966 0 54.845119-11.105942 81.953524-23.967878 31.562856-14.97404 67.339688-31.94762 120.123868-31.94762 11.048637 0 20.007683 8.958022 20.007683 20.007683S951.656345-24.725892 940.606685-24.725892zM419.681408 728.327186l188.0714 0 0-90.034573L419.681408 638.292614 419.681408 728.327186zM283.629779 598.277248l116.043946 0L627.761514 598.277248l116.043946 0 0-249.40735L524.360516 478.919836c-6.265704 3.714602-14.047947 3.731998-20.325931 0.045025L283.629779 349.652727 283.629779 598.277248zM619.638509 2.294508c-36.926004-13.744026-71.804373-26.723641-106.776885-26.723641-35.142381 0-67.107397 13.161764-100.949156 27.096125-23.830755 9.81146-48.230468 19.840884-74.073042 25.024953L225.196948 247.084701c-4.843308 9.434883-1.473561 21.027919 7.674796 26.39516l258.837116 151.85864 0-233.216599c0-11.048637 8.958022-20.007683 20.007683-20.007683s20.007683 8.959046 20.007683 20.007683L531.724227 428.040029 796.053428 271.391293c8.755408-5.187139 12.219299-16.10377 8.055466-25.394367l-97.518011-217.556944C676.770717 23.537322 647.849014 12.792607 619.638509 2.294508zM403.675876 552.260192l-64.024176 0c-11.048637 0-20.007683-8.958022-20.007683-20.007683 0-11.04966 8.958022-20.007683 20.007683-20.007683l64.024176 0c11.048637 0 20.007683 8.958022 20.007683 20.007683C423.683559 543.301146 414.724513 552.260192 403.675876 552.260192zM707.791222 532.252509c0 11.048637-8.958022 20.007683-20.007683 20.007683L497.711576 552.260192c-11.048637 0-20.007683-8.958022-20.007683-20.007683 0-11.04966 8.958022-20.007683 20.007683-20.007683l190.072987 0C698.833199 512.244826 707.791222 521.202848 707.791222 532.252509z" horiz-adv-x="1024" />
<glyph glyph-name="tijiao" unicode="&#58980;" d="M614.876794 887.558236C252.077632 951.207212-53.437452 645.692128 10.211523 282.892965c38.189386-197.311825 197.311825-362.799163 400.988548-400.988548 356.434265-70.013873 668.314247 241.866108 598.300373 598.300373C977.675957 683.881513 812.18862 849.368851 614.876794 887.558236zM341.186198 155.595014 169.333963 359.271736C150.23927 384.731327 156.604168 422.920712 182.063758 442.015405l0 0c25.45959 19.094693 63.648976 19.094693 82.743669-6.364898L353.915993 321.082351c19.094693-25.45959 57.284078-31.824488 82.743669-6.364898L767.634337 588.40805c25.45959 19.094693 63.648976 19.094693 82.743669-6.364898l0 0c19.094693-25.45959 19.094693-63.648976-6.364898-82.743669l-413.718343-350.069367C398.470276 123.770526 360.280891 130.135423 341.186198 155.595014z" horiz-adv-x="1024" />
<glyph glyph-name="xiaoshou2" unicode="&#58901;" d="M429.32965 495.23236c-15.135722-8.840342-20.306488-28.479635-11.550057-43.802622 8.715499-15.344476 28.063149-20.59813 43.198871-11.738345 15.135722 8.860808 20.326954 28.459169 11.592013 43.803645C463.854978 498.859981 444.466396 504.092146 429.32965 495.23236zM819.658544 568.118368 542.141996 718.977237c-9.402137 5.086855-19.72218 7.67275-30.042223 7.67275-10.340509 0-20.660552-2.584871-30.063713-7.67275L204.476533 568.034457c-20.911262-11.341303-33.982976-33.607422-33.982976-57.875129l0-292.628734c0-24.246217 13.071713-46.512337 34.004465-57.895595l277.538037-150.838404c9.402137-5.107321 19.72218-7.671727 30.042223-7.671727 10.340509 0 20.640086 2.564405 30.063713 7.671727L819.680033 159.697421c20.912285 11.404748 33.983999 33.649378 33.983999 57.896618L853.664032 510.243239C853.664032 534.467967 840.591295 556.73511 819.658544 568.118368zM650.22155 280.972509 503.63396 196.265268c-18.033725-10.444886-28.770254 8.193613-28.770254 8.193613l-105.953124 183.737698c0 0-12.467963 17.637706-2.210341 46.867424 0 0 25.810852 73.261561 31.752168 85.270059 5.275143 10.674107 14.323217 15.531741 25.059745 14.092973 6.151094-0.833995 89.754187-14.614859 89.754187-14.614859s26.311249-3.898797 38.862099-25.706475l106.119923-184.007851C668.839583 291.750993 650.388349 280.702356 650.22155 280.972509z" horiz-adv-x="1024" />
<glyph glyph-name="caigou2" unicode="&#58909;" d="M819.658544 568.105065 542.141996 718.980307c-9.402137 5.126764-19.72218 7.668657-30.042223 7.668657-10.340509 0-20.682042-2.541893-30.063713-7.668657l-277.559527-150.937664c-20.911262-11.357675-33.982976-33.613562-33.982976-57.870012l0-292.644083c0-24.235984 13.071713-46.512337 34.004465-57.890478l277.538037-150.875243c9.381671-5.105275 19.72218-7.648191 30.042223-7.648191 10.340509 0 20.640086 2.541893 30.063713 7.648191l277.538037 150.937664c20.912285 11.399631 33.983999 33.655518 33.983999 57.891502L853.664032 510.214587C853.664032 534.471037 840.591295 556.726923 819.658544 568.105065zM469.379808 193.084832c-23.580045 0-42.698474 19.110243-42.698474 42.700521 0 23.568788 19.11843 42.699498 42.698474 42.699498s42.698474-19.129686 42.698474-42.699498C512.078283 212.194052 492.959853 193.084832 469.379808 193.084832zM597.474208 193.084832c-23.580045 0-42.698474 19.110243-42.698474 42.700521 0 23.568788 19.11843 42.699498 42.698474 42.699498 23.600511 0 42.698474-19.129686 42.698474-42.699498C640.172683 212.194052 621.075743 193.084832 597.474208 193.084832zM682.536536 427.48335l-42.218544-108.092857c-4.879124-12.878309-12.237719-19.567661-21.766746-19.567661L448.802144 299.822832c-9.986445 0-23.100114 4.91801-27.103288 21.35947l-37.735439 170.797991-21.349237 0c0 0-21.307282 0.667196-21.307282 21.360494 0 20.672832 21.307282 21.340027 21.307282 21.340027L384.817877 534.680814c10.1952 0 20.87033-7.127328 24.454972-21.360494l8.422833-43.157939c3.564175-14.211676 8.463766-20.880563 20.014846-20.880563l223.852324 0C675.74076 449.280796 684.746878 441.258075 682.536536 427.48335z" horiz-adv-x="1024" />
<glyph glyph-name="icon-cart" unicode="&#58934;" d="M895.606 576.121h-539.098c-28.974 0-54.327 19.484-61.821 47.459l-38.467 144.375c-6.682 30.598-31.287 63.944-65.943 63.944l-125.891-0v-63.944h76.933c44.962 0 56.951-24.979 66.942-65.943l109.217-449.614c9.366-35.969 37.28-59.948 66.63-59.948h447.615l127.89 318.413c0.001 22.607 0.001 65.258-64.006 65.258zM788.447 256.333l-401.588-0.375-67.818 261.836c11.928-3.685 24.477-5.62 37.467-5.62h534.727l-102.788-255.842zM416.081 128.505c-52.953 0-95.917-42.962-95.917-95.917s42.964-95.917 95.917-95.917c52.955 0 95.919 42.962 95.919 95.917s-42.964 95.917-95.919 95.917zM416.082 0.697c-17.551 0-31.789 14.239-31.789 31.789s14.239 31.789 31.789 31.789 31.79-14.239 31.79-31.789-14.239-31.789-31.79-31.789zM735.352 128.505c-52.954 0-95.917-42.962-95.917-95.917s42.962-95.917 95.917-95.917 95.919 42.962 95.919 95.917-42.964 95.917-95.919 95.917zM735.352 0.697c-17.55 0-31.788 14.239-31.788 31.789s14.238 31.789 31.788 31.789c17.551 0 31.79-14.239 31.79-31.789s-14.238-31.789-31.79-31.789z" horiz-adv-x="1024" />
<glyph glyph-name="tousujianyi" unicode="&#58891;" d="M356.139 222.6l217.877 61.866-155.625 154.654-62.251-216.519zM938.048 646.267l-155.629 154.662-342.375-340.247 155.625-154.661 342.378 340.246zM892.695 73.51c0-53.763-43.577-97.336-97.337-97.336h-584.076c-53.763 0-97.353 43.573-97.353 97.336v584.074c0 53.763 43.586 97.349 97.353 97.349h389.374l97.356 97.345h-519.179c-89.6 0-162.243-72.64-162.243-162.239v-648.977c0-89.6 72.645-162.239 162.243-162.239h648.966c89.606 0 162.251 72.64 162.251 162.239v519.174l-97.356-97.349v-389.377h0.003zM1010.37 776.186l-97.263 96.663c-16.116 16.017-43.121 15.151-60.311-1.927l-46.683-46.402 155.624-154.654 46.691 46.397c17.19 17.076 18.059 43.913 1.943 59.923v0z" horiz-adv-x="1024" />
<glyph glyph-name="more" unicode="&#58926;" d="M511.889 764.155c-201.858 0-365.489-163.641-365.489-365.489 0-201.858 163.631-365.49 365.489-365.49s365.489 163.631 365.489 365.49c0 201.849-163.631 365.489-365.489 365.489zM648.949 380.392h-118.784v-118.776c0-10.1-8.182-18.282-18.274-18.282s-18.274 8.182-18.274 18.282l-0 118.776h-118.785c-10.091 0-18.273 8.182-18.273 18.274s8.182 18.274 18.273 18.274h118.784v118.784c0 10.101 8.182 18.274 18.274 18.274s18.274-8.173 18.274-18.274v-118.784h118.784c10.091 0 18.273-8.182 18.273-18.274 0.001-10.092-8.181-18.274-18.272-18.274z" horiz-adv-x="1024" />
<glyph glyph-name="shouye" unicode="&#58981;" d="M865.381911-62.850188 605.972766-62.850188c-9.890254 0-17.907858 8.017604-17.907858 17.907858l0 243.894799-151.449317 0 0-243.894799c0-9.890254-8.017604-17.907858-17.907858-17.907858l-261.454734 0c-9.890254 0-17.907858 8.017604-17.907858 17.907858l0 467.487204L81.888544 422.544875c-7.470135 0-14.155395 4.6366-16.773012 11.632945-2.617617 6.996344-0.617054 14.881942 5.018294 19.785625l429.4284 373.619326c6.756891 5.878894 16.817014 5.861498 23.553439-0.038886l101.277638-88.704275L624.393301 814.072059c0 9.890254 8.017604 17.907858 17.907858 17.907858l148.72016 0c9.890254 0 17.907858-8.017604 17.907858-17.907858l0-235.132228 143.790894-124.494409c4.103458-3.281743 6.731308-8.330736 6.731308-13.992689 0-9.890254-8.018627-17.907858-17.907858-17.907858-0.00921 0-0.01535 0-0.021489 0l-58.232263 0 0-467.487204C883.28977-54.832584 875.272165-62.850188 865.381911-62.850188zM623.880625-27.034471l223.593428 0 0 467.487204c0 9.890254 8.017604 17.907858 17.907858 17.907858l28.097942 0-114.180506 98.857519c-3.928472 3.40147-6.185886 8.341992-6.185886 13.538341L773.113461 796.164201 660.209018 796.164201l0-96.814999c0-7.028067-4.111644-13.406335-10.511401-16.309454-6.399757-2.901073-13.906731-1.791809-19.195178 2.837628L511.278057 790.300656l-381.523343-331.940065 27.499307 0c9.890254 0 17.907858-8.017604 17.907858-17.907858l0-467.487204 225.639017 0 0 243.894799c0 9.890254 8.017604 17.907858 17.907858 17.907858l187.265034 0c9.890254 0 17.907858-8.017604 17.907858-17.907858L623.881648-27.034471z" horiz-adv-x="1024" />
<glyph glyph-name="shuju" unicode="&#58903;" d="M382.302164 548.030025C373.395456 548.030025 366.205703 540.818798 366.205703 531.93355L366.205703-57.561673C366.205703-66.446921 373.395456-73.658075 382.302164-73.658075 391.165945-73.658075 398.398625-66.446921 398.398625-57.561673L398.398625 531.93355C398.398625 540.818798 391.165945 548.030025 382.302164 548.030025L382.302164 548.030025ZM89.239318 303.793079C80.35407 303.793079 73.142857 296.581925 73.142857 287.696677L73.142857-57.561673C73.142857-66.446921 80.35407-73.658075 89.239318-73.658075 98.124559-73.658075 105.335771-66.446921 105.335771-57.561673L105.335771 287.696677C105.335771 296.581925 98.124559 303.793079 89.239318 303.793079L89.239318 303.793079ZM968.384936 503.73259C959.499696 503.73259 952.309943 496.521362 952.309943 487.636114L952.309943-57.561673C952.309943-66.446921 959.499696-73.658075 968.384936-73.658075 977.270184-73.658075 984.502857-66.446921 984.502857-57.561673L984.502857 487.636114C984.502857 496.521362 977.270184 503.73259 968.384936 503.73259L968.384936 503.73259ZM963.448693 686.181157C972.333941 686.288457 979.480766 693.56405 979.394918 702.449298L978.19305 806.947474C978.150122 811.411602 976.218551 815.661056 972.913408 818.687195 969.608272 821.691831 965.251496 823.15125 960.723024 822.807845L856.58967 813.987035C847.72589 813.235858 841.158532 805.466624 841.888241 796.602807 842.639411 787.739063 850.558866 781.364882 859.293879 781.901385L922.585154 787.266853 675.536713 515.301157 392.81852 792.267483C386.6804 798.276827 376.958142 798.448567 370.669787 792.653824L78.894658 525.795986C72.327303 519.786642 71.876602 509.613714 77.885945 503.046363 83.895289 496.479013 94.068253 496.049737 100.614144 502.03765L381.164683 758.615186 664.95597 480.618642C667.960642 477.656869 672.016955 476.025783 676.223495 476.025783L676.695654 476.025783C681.052431 476.154514 685.194584 478.06464 688.134868 481.28395L946.472294 765.654674 947.180537 702.084462C947.287852 693.263579 954.456137 686.181157 963.298458 686.181157L963.448693 686.181157 963.448693 686.181157ZM675.34355 304.415525C666.458309 304.415525 659.247097 297.204297 659.247097 288.319049L659.247097-57.561673C659.247097-66.446921 666.458309-73.658075 675.34355-73.658075 684.228798-73.658075 691.440011-66.446921 691.440011-57.561673L691.440011 288.319049C691.440011 297.204297 684.228798 304.415525 675.34355 304.415525L675.34355 304.415525Z" horiz-adv-x="1024" />
<glyph glyph-name="fukuan" unicode="&#59041;" d="M828.928-11.776 203.264-11.776c-37.888 0-68.608 30.72-68.608 68.608L134.656 616.96c0 37.888 30.72 68.608 68.608 68.608l57.344 0c16.384 0 29.184-13.312 29.184-29.184 0-16.384-13.312-29.184-29.184-29.184L203.264 627.2c-5.12 0-9.728-4.608-9.728-9.728l0-560.128c0-5.12 4.608-9.728 9.728-9.728l625.152 0c5.12 0 9.728 4.608 9.728 9.728l0 57.344c0 16.384 13.312 29.184 29.184 29.184s29.184-13.312 29.184-29.184l0-57.344C897.024 18.944 866.304-11.776 828.928-11.776zM867.84 399.872c-16.384 0-29.184 13.312-29.184 29.184L838.656 616.96c0 5.12-4.608 9.728-9.728 9.728l-60.416 0c-16.384 0-29.184 13.312-29.184 29.184 0 16.384 13.312 29.184 29.184 29.184l60.416 0c37.888 0 68.608-30.72 68.608-68.608l0-187.904C897.024 413.184 884.224 399.872 867.84 399.872zM763.904 564.736c-16.384 0-29.184 13.312-29.184 29.184L734.72 672.256c0 27.136-22.016 48.64-48.64 48.64L346.624 720.896c-27.136 0-48.64-22.016-48.64-48.64L297.984 593.92c0-16.384-13.312-29.184-29.184-29.184-16.384 0-29.184 13.312-29.184 29.184L239.616 672.256c0 59.392 48.128 107.52 107.52 107.52l338.944 0c59.392 0 107.52-48.128 107.52-107.52L793.6 593.92C793.088 577.536 779.776 564.736 763.904 564.736zM685.568 482.816 203.264 482.816c-37.888 0-68.608 30.72-68.608 68.608 0 16.384 13.312 29.184 29.184 29.184 16.384 0 29.184-13.312 29.184-29.184 0-5.12 4.608-9.728 9.728-9.728l481.792 0c16.384 0 29.184-13.312 29.184-29.184S701.952 482.816 685.568 482.816zM867.84 442.88c-16.384 0-29.184 13.312-29.184 29.184 0 5.12-4.608 9.728-9.728 9.728l-306.176 0c-16.384 0-29.184 13.312-29.184 29.184s13.312 29.184 29.184 29.184l306.176 0c37.888 0 68.608-30.72 68.608-68.608C897.024 455.68 884.224 442.88 867.84 442.88zM638.464 626.688 394.752 626.688c-16.384 0-29.184 13.312-29.184 29.184 0 16.384 13.312 29.184 29.184 29.184l243.712 0c16.384 0 29.184-13.312 29.184-29.184C667.648 640 654.336 626.688 638.464 626.688zM788.992 161.792c-64 0-116.224 52.224-116.224 116.224S724.48 394.24 788.992 394.24c16.384 0 29.184-13.312 29.184-29.184s-13.312-29.184-29.184-29.184c-31.744 0-57.344-25.6-57.344-57.344 0-31.744 25.6-57.344 57.344-57.344 16.384 0 29.184-13.312 29.184-29.184C818.176 175.104 804.864 161.792 788.992 161.792zM824.32 161.792l-23.04 0c-16.384 0-29.184 13.312-29.184 29.184 0 16.384 13.312 29.184 29.184 29.184l23.04 0c7.68 0 14.336 6.656 14.336 14.336l0 87.04c0 7.68-6.656 14.336-14.336 14.336l-23.04 0c-16.384 0-29.184 13.312-29.184 29.184s13.312 29.184 29.184 29.184l23.04 0c39.936 0 72.704-32.768 72.704-72.704l0-87.04C897.024 194.56 864.768 161.792 824.32 161.792z" horiz-adv-x="1024" />
<glyph glyph-name="weibiaoti2fuzhi05" unicode="&#58914;" d="M633.6 678.4l108.8 0L512 832 281.6 678.4 384 678.4l0-275.2 249.6 0L633.6 678.4zM435.2 723.2 512 774.4l76.8-51.2L588.8 448 435.2 448 435.2 723.2zM627.2 134.4l76.8 102.4 179.2 0-64-249.6L204.8-12.8l-64 249.6 179.2 0 76.8-102.4L627.2 134.4zM838.4 614.4l-147.2 0c-12.8 0-25.6-12.8-25.6-25.6 0-12.8 12.8-25.6 25.6-25.6l108.8 0c12.8 0 19.2-6.4 25.6-19.2L876.8 320c6.4-12.8-6.4-32-25.6-32l-160 0c-6.4 0-12.8-6.4-19.2-12.8l-57.6-83.2c-6.4-6.4-12.8-12.8-19.2-12.8L435.2 179.2c-6.4 0-12.8 6.4-19.2 12.8L358.4 275.2C352 281.6 345.6 288 339.2 288L172.8 288C160 288 147.2 300.8 147.2 320l51.2 224c0 12.8 12.8 19.2 25.6 19.2l108.8 0c12.8 0 25.6 12.8 25.6 25.6 0 12.8-12.8 25.6-25.6 25.6L185.6 614.4c-12.8 0-19.2-6.4-25.6-19.2L89.6 268.8c0-6.4 0-6.4 0-12.8l76.8-300.8c0-12.8 12.8-19.2 25.6-19.2l652.8 0c12.8 0 19.2 6.4 25.6 19.2l76.8 300.8c0 6.4 0 6.4 0 12.8l-76.8 326.4C857.6 608 851.2 614.4 838.4 614.4z" horiz-adv-x="1024" />
<glyph glyph-name="buoumaotubiao23" unicode="&#58902;" d="M524.474182-128l-24.901818 0-6.958545 10.053818C481.652364-102.097455 223.837091 271.592727 187.485091 355.025455c-37.026909 84.968727-43.52 110.917818-43.52 173.428364C143.965091 731.136 308.852364 896 511.511273 896c203.682909 0 368.546909-164.864 368.546909-367.546182 0-62.533818-6.493091-88.459636-43.52-173.428364-36.375273-83.432727-294.144-457.099636-305.082182-472.971636L524.474182-128zM512.512 849.454545C334.498909 849.454545 190.510545 705.442909 190.510545 528.453818c0-56.064 4.817455-74.891636 39.656727-154.833455 29.090909-66.792727 220.485818-348.020364 281.856-437.620364C573.416727 25.6 764.741818 306.827636 793.832727 373.620364c34.839273 79.965091 39.656727 98.769455 39.656727 154.833455C833.489455 705.442909 689.501091 849.454545 512.512 849.454545zM512 330.635636c-93.835636 0-170.193455 76.334545-170.193455 170.193455S418.164364 670.999273 512 670.999273s170.193455-76.334545 170.193455-170.193455S605.835636 330.635636 512 330.635636zM512 624.453818c-68.189091 0-123.648-55.458909-123.648-123.648S443.810909 377.181091 512 377.181091s123.648 55.458909 123.648 123.648S580.189091 624.453818 512 624.453818z" horiz-adv-x="1024" />
<glyph glyph-name="shouhuo" unicode="&#59012;" d="M928.282496 618.43024l-76.078723 146.396231C833.401546 800.908248 786.830881 829.164802 746.182089 829.164802L278.411429 829.164802c-40.59251 0-87.325881-28.093848-106.291838-63.905472l-76.023464-143.407154c-16.410762-31.028691-29.234835-82.761935-29.234835-117.812219l0-481.737766c0-46.027289 37.386492-83.468017 83.466993-83.468017l723.339336 0c46.027289 0 83.46904 37.44175 83.46904 83.468017l0 478.313783C957.137685 535.613046 944.476317 587.400526 928.282496 618.43024zM145.330458 595.82336l75.969229 143.352919c9.509585 17.932418 36.734646 34.344203 57.112766 34.344203l467.770659 0c20.270672 0 47.27777-16.410762 56.678884-34.398438l76.079746-146.340973c3.586688-6.955412 6.955412-15.868409 10.051937-25.432229L134.189723 567.348841C137.559471 578.053648 141.254629 588.161866 145.330458 595.82336zM901.491317 22.303214c0-15.32401-12.443403-27.821649-27.822672-27.821649L150.328285-5.518435c-15.377222 0-27.821649 12.498662-27.821649 27.821649L122.506637 504.04098c0 2.227738 0.434905 5.16258 0.651846 7.661494l777.407766 0c0.326435-3.695159 0.924045-7.824199 0.924045-11.085476L901.490294 22.303214zM745.912959 358.460324 605.765035 208.74858l-56.568367 56.460919c-10.868535 10.868535-28.474518 10.868535-39.344077 0-10.867512-10.867512-10.867512-28.474518 0-39.34203l76.296687-76.079746c5.434779-5.433756 12.498662-8.150634 19.61678-8.150634 3.858888 0 7.661494 0.978281 11.304464 2.608407 4.074805 1.413186 7.878434 3.586688 11.030218 6.9022l158.459988 169.273265c10.487865 11.193947 9.890254 28.800953-1.303692 39.343053C774.061043 370.197646 756.455059 369.653247 745.912959 358.460324zM429.046195 317.812555 262.055926 317.812555c-15.325034 0-27.822672-12.444427-27.822672-27.822672s12.498662-27.822672 27.822672-27.822672l166.991292 0c15.378246 0 27.822672 12.444427 27.822672 27.822672S444.425464 317.812555 429.046195 317.812555zM344.599897 199.130526l-83.468017 0c-15.378246 0-27.821649-12.498662-27.821649-27.821649 0-15.432481 12.443403-27.822672 27.821649-27.822672l83.468017 0c15.379269 0 27.822672 12.390191 27.822672 27.822672C372.422569 186.631864 359.979166 199.130526 344.599897 199.130526z" horiz-adv-x="1024" />
<glyph glyph-name="7" unicode="&#58944;" d="M225.039395 434.305731a159.711401 159.711401 0 0 0 62.271767 12.575953h159.9994a64.09576 64.09576 0 0 0 63.99976-63.99976 64.09576 64.09576 0 0 0-63.99976-63.99976h-159.9994a31.99988 31.99988 0 0 1 0-63.99976h159.9994a127.99952 127.99952 0 0 1 127.99952 127.99952h159.9994a224.03116 224.03116 0 0 1 223.99916 223.99916 31.99988 31.99988 0 0 1-63.99976 0 160.223399 160.223399 0 0 0-159.9994-159.9994H557.550148c-22.175917 38.111857-62.975764 63.99976-110.239586 63.99976h-159.9994c-30.847884 0-60.383774-6.271976-87.199673-17.599934a31.99988 31.99988 0 1 1 24.927906-58.975779zM895.308882 94.883004a31.99988 31.99988 0 0 1-31.99988 31.99988H287.183162c-8.415968 0-16.671937-3.423987-22.623915-9.375965a32.255879 32.255879 0 0 1-9.375965-22.623915c0-8.415968 3.423987-16.671937 9.375965-22.623915 5.951978-5.951978 14.207947-9.375965 22.623915-9.375965H863.341002a31.99988 31.99988 0 0 1 31.96788 31.99988zM256.207278 65.283115v-98.399631A94.271646 94.271646 0 0 1 351.310922-127.99616h447.99832c53.023801 0 96.895637 41.855843 96.895636 94.879644v100.671623c42.431841 12.095955 63.99976 48.12782 63.99976 91.327657v511.99808c0 123.711536-95.99964 223.96716-223.99916 223.99916V896H415.310682C291.599146 896 192.207518 794.59238 192.207518 670.880844v-182.687315C116.559802 452.513663 63.824 376.449948 63.792 286.882284c0.032-113.151576 80.735697-206.399226 192.415278-221.599169z m-21.887917 371.742606a31.679881 31.679881 0 0 1 18.175931 16.383939 31.807881 31.807881 0 0 1 1.279996 24.447908L253.679288 480.00156h2.52799V670.880844C256.207278 759.232513 326.959013 832.00024 415.310682 832.00024h320.894796v-1.119996c95.99964-0.159999 159.9994-71.647731 159.9994-159.9994v-511.99808c0-17.663934-14.783945-31.96788-32.447878-31.99988a31.711881 31.711881 0 0 1-31.551882-31.99988v-127.99952c0-17.663934-15.231943-30.879884-32.895876-30.879884h-447.99832a30.303886 30.303886 0 0 0-31.103884 30.879884v127.99952a32.703877 32.703877 0 0 1-32.671877 31.99988 160.319399 160.319399 0 0 0-160.0954 159.9994c-0.032 69.503739 44.575833 128.03152 106.8796 150.143437z" horiz-adv-x="1024" />
<glyph glyph-name="mao" unicode="&#58960;" d="M517.9392 555.52c-72.85248 0-132.12672 59.26912-132.12672 132.12672S445.0816 819.77344 517.9392 819.77344s132.12672-59.26912 132.12672-132.12672S590.7968 555.52 517.9392 555.52z m0 182.32832c-27.68384 0-50.20672-22.52288-50.20672-50.20672s22.51776-50.20672 50.20672-50.20672 50.20672 22.52288 50.20672 50.20672-22.52288 50.20672-50.20672 50.20672zM645.9392 524.8h-256a40.96 40.96 0 0 0 0 81.92h256a40.96 40.96 0 0 0 0-81.92zM517.9392-30.15168a40.96 40.96 0 0 0-40.96 40.96v512a40.96 40.96 0 0 0 81.92 0v-512a40.96 40.96 0 0 0-40.96-40.96zM511.86176-51.76832c-223.66208 0-405.62176 181.95968-405.62176 405.62176a40.96 40.96 0 0 0 81.92 0c0-178.48832 145.21344-323.70176 323.70176-323.70176 178.48832 0 323.70688 145.20832 323.70688 323.70176a40.96 40.96 0 0 0 81.92 0c-0.00512-223.66208-181.96992-405.62176-405.62688-405.62176zM252.16 318.00832h-102.4a40.96 40.96 0 0 0 0 81.92h102.4a40.96 40.96 0 0 0 0-81.92zM876.8 318.00832h-102.4a40.96 40.96 0 0 0 0 81.92h102.4a40.96 40.96 0 0 0 0-81.92z" horiz-adv-x="1024" />
<glyph glyph-name="liebiaodaohang_zixun" unicode="&#58936;" d="M556.45 561.78H423.11v66.67h133.34v44.44H423.11v66.67h133.34V784H378.67v-266.66h177.78v44.44zM176.45 699.56l91.1-182.22h66.67V784h-66.67v-177.78L178.67 784H112v-266.66h66.67l-2.22 182.22zM112 406.22h317.1v-55.07H112zM112 222.65h317.1v-55.07H112zM112 39.07h317.1V-16H112zM512-16h355.56V406.22H512z m54.85 367.37H812.7v-312.51H566.85zM867.56 784l-44.45-200-44.44 200h-44.44l-44.45-200-44.44 200h-44.45l44.45-266.66h66.67l42.22 202.22 46.66-202.22h66.67L912 784h-44.44z" horiz-adv-x="1024" />
<glyph glyph-name="purchaseorder" unicode="&#58920;" d="M796.444-128h-568.889c-62.838 0-113.778 50.94-113.778 113.778l0 739.556c0 62.838 50.94 113.778 113.778 113.778h113.778v-170.667h341.333v170.667h113.778c0 0 0 0 0 0 62.838 0 113.778-50.94 113.778-113.778l-0-739.556c0-62.838-50.94-113.778-113.778-113.778 0 0 0 0 0 0zM312.889 497.778c-47.128 0-85.333-38.205-85.333-85.333 0-47.128 38.205-85.333 85.333-85.333 47.128 0 85.333 38.205 85.333 85.333 0 47.128-38.205 85.333-85.333 85.333-0 0-0 0-0 0zM312.889 213.333c-47.128 0-85.333-38.205-85.333-85.333s38.205-85.333 85.333-85.333c47.128 0 85.333 38.205 85.333 85.333 0 47.128-38.205 85.333-85.333 85.333 0 0 0 0 0 0zM768 497.778h-284.444c-15.709 0-28.444-12.735-28.444-28.444s12.735-28.444 28.444-28.444l284.444 0c15.709-0 28.444 12.735 28.444 28.444s-12.735 28.444-28.444 28.444zM768 384h-284.444c-15.709-0-28.444-12.735-28.444-28.444 0-15.709 12.735-28.444 28.444-28.444l284.444-0c15.709 0 28.444 12.735 28.444 28.444s-12.735 28.444-28.444 28.444zM768 213.333h-284.444c-15.709-0-28.444-12.735-28.444-28.444 0-15.709 12.735-28.444 28.444-28.444l284.444-0c15.709 0 28.444 12.735 28.444 28.444 0 15.709-12.735 28.444-28.444 28.444zM768 99.556h-284.444c-15.709-0-28.444-12.735-28.444-28.444 0-15.709 12.735-28.444 28.444-28.444l284.444-0c15.709 0 28.444 12.735 28.444 28.444 0 15.709-12.735 28.444-28.444 28.444zM568.889 725.333h-113.778c-31.419 0-56.889 25.47-56.889 56.889 0 0 0 0 0 0v56.889c0 31.419 25.47 56.889 56.889 56.889h113.778c31.419 0 56.889-25.47 56.889-56.889v-56.889c0-31.419-25.47-56.889-56.889-56.889z" horiz-adv-x="1024" />
<glyph glyph-name="wode" unicode="&#58894;" d="M935.4 123.2c-19.4 41.6-46.8 79-81.8 111.4-70.2 65.2-164 102.6-257.4 102.6h-159.6c-93.4 0-187.2-37.4-257.4-102.6-35-32.4-62.4-70-81.8-111.4-20.4-43.6-30.6-89.6-30.6-136.6 0-61.4 49.8-111.2 111.2-111.2h676.8c61.4 0 111.2 49.8 111.2 111.2 0 47-10.2 93-30.6 136.6z m-80.6-185H178c-26.8 0-48.4 21.8-48.4 48.4 0 75.8 33.2 148 93.8 203.4 58.6 53.6 136.2 84.4 213.2 84.4h159.6c77 0 154.8-30.8 213.2-84.4 60.4-55.4 93.8-127.6 93.8-203.4 0-26.8-21.6-48.4-48.4-48.4zM516.4 354.2c149.4 0 270.8 121.6 270.8 270.8S665.8 896 516.4 896 245.6 774.4 245.6 625.2s121.4-271 270.8-271z m0 479c114.8 0 208-93.4 208-208s-93.4-208-208-208c-114.8 0-208 93.4-208 208s93.2 208 208 208z" horiz-adv-x="1024" />
<glyph glyph-name="quanzi" unicode="&#58996;" d="M1006.932764 253.553778c-13.539556 44.544-40.391111 90.453333-76.856888 135.68 35.783111 44.373333 62.293333 89.486222 76.117333 133.176889a523.662222 523.662222 0 0 0 0.739555-268.856889zM219.135431 11.662222a509.724444 509.724444 0 0 1 85.731556 7.907556c18.887111-51.484444 42.496-95.914667 70.826666-129.820445a507.050667 507.050667 0 0 0-219.420444 127.658667c19.683556-3.811556 40.675556-5.745778 62.862222-5.745778z m736.028445 117.304889C864.994987-29.525333 696.546987-128 515.526542-128c-12.060444 0-24.064 0.568889-36.010666 1.365333-56.718222 20.423111-94.890667 84.935111-118.158223 140.743111a523.320889 523.320889 0 0 0-6.371555 16.156445c189.269333 45.795556 411.079111 176.128 543.744 319.715555 14.734222-18.773333 27.591111-37.717333 38.286222-56.547555 37.034667-65.080889 43.121778-120.433778 18.090667-164.408889zM306.971876 749.795556a511.544889 511.544889 0 0 1-87.552 8.248888c-22.300444 0-43.406222-1.991111-63.146667-5.859555A514.787556 514.787556 0 0 0 257.08032 829.44 508.131556 508.131556 0 0 0 382.00832 881.607111c-30.151111-33.621333-55.182222-78.791111-75.093333-131.811555z m48.071111-12.515556C391.679431 831.886222 445.098098 895.829333 514.161209 896c10.808889 0 21.447111-0.398222 32.085333-1.080889l2.787556-0.227555a505.230222 505.230222 0 0 0 270.791111-103.082667l8.760889-6.940445a551.651556 551.651556 0 0 0 25.031111-21.504 517.973333 517.973333 0 0 0 93.013333-113.664c0.625778-1.024 1.308444-1.991111 1.877334-3.015111 2.161778-3.640889 4.209778-7.395556 6.257777-11.036444 22.755556-43.463111 16.327111-97.507556-19.740444-160.881778-10.695111-18.773333-23.608889-37.717333-38.286222-56.547555-132.209778 143.075556-352.881778 273.066667-541.696 319.317333zM217.087431 57.400889c-60.188444 0-104.391111 15.018667-132.380444 44.145778a524.629333 524.629333 0 0 0-84.48 296.391111c0.170667 4.494222 0.284444 8.988444 0.568889 13.482666l0.113777 2.958223A527.246222 527.246222 0 0 0 83.739876 664.007111c27.932444 29.866667 72.476444 45.226667 133.347555 45.226667 22.926222 0 47.217778-2.218667 72.476445-6.257778C232.731876 514.446222 232.219876 253.155556 287.970987 63.317333a463.416889 463.416889 0 0 0-70.940445-5.916444z" horiz-adv-x="1024" />
<glyph glyph-name="wentifankui" unicode="&#58938;" d="M512.022095-128a511.99254 511.99254 0 1 0 511.99254 511.846256 512.504532 512.504532 0 0 0-511.99254-511.846256z m2.355166 940.164586a425.904651 425.904651 0 1 1 425.875395-425.977793A426.372759 426.372759 0 0 1 514.377261 812.164586z m53.510535-677.585555h-126.111077v123.609627h126.111077v-123.609627z m77.25236 326.358673a89.554809 89.554809 0 0 0-21.020951-32.767522 307.195524 307.195524 0 0 0-33.06009-26.91618 107.811 107.811 0 0 1-27.793881-26.623612 44.90906 44.90906 0 0 1-7.12401-26.769895v-21.064836h-101.974286a880.846593 880.846593 0 0 0-0.307195 39.204 155.543334 155.543334 0 0 0 3.086584 27.501313 75.672497 75.672497 0 0 0 11.454004 26.623612 111.46809 111.46809 0 0 0 20.362675 20.479702 261.555046 261.555046 0 0 0 28.261988 20.187134 108.454648 108.454648 0 0 1 19.77754 18.285448 27.35503 27.35503 0 0 1 6.802187 17.55403 54.680803 54.680803 0 0 1-10.942012 27.501314 34.888634 34.888634 0 0 1-27.793881 9.069582 45.918417 45.918417 0 0 1-31.831307-11.84897 48.683176 48.683176 0 0 1-14.628359-29.549284l-1.228782-22.820239H358.409705c0 14.774642 0.599763 29.256717 1.843173 43.153657a139.071802 139.071802 0 0 0 12.682787 44.90906 117.553487 117.553487 0 0 0 31.202288 41.105687 129.080633 129.080633 0 0 0 47.600678 25.014492 228.963064 228.963064 0 0 0 57.47482 8.338165 183.688295 183.688295 0 0 0 70.464801-12.726672 115.56403 115.56403 0 0 0 48.522265-35.254344 105.031612 105.031612 0 0 0 21.64997-41.983388 174.618713 174.618713 0 0 0 4.00817-34.961776 133.001033 133.001033 0 0 0-8.718501-45.640478z" horiz-adv-x="1024" />
<glyph glyph-name="xiaoshoutongji" unicode="&#58930;" d="M474.255 786.473c-246.784 0-446.935-200.151-446.935-446.976 0-246.907 200.151-447.017 446.935-447.017 135.291 0 256.39 60.17 338.35 155.075l-338.35 291.962V786.473zM996.68 428.483c0 246.967-200.05 447.037-446.874 447.037v-447.037H996.68z m-446.874-62.935l338.207-291.902c67.686 78.336 108.667 180.367 108.667 291.902H549.806z" horiz-adv-x="1024" />
<glyph glyph-name="baobiao" unicode="&#58895;" d="M551.463385 580.923077v-472.615385h-78.769231V580.923077h78.769231m0 78.769231h-78.769231a78.769231 78.769231 0 0 1-78.769231-78.769231v-472.615385a78.769231 78.769231 0 0 1 78.769231-78.76923h78.769231a78.769231 78.769231 0 0 1 78.76923 78.76923V580.923077a78.769231 78.769231 0 0 1-78.76923 78.769231zM866.540308 344.615385v-236.307693h-78.769231V344.615385h78.769231m0 78.76923h-78.769231a78.769231 78.769231 0 0 1-78.769231-78.76923v-236.307693a78.769231 78.769231 0 0 1 78.769231-78.76923h78.769231a78.769231 78.769231 0 0 1 78.76923 78.76923V344.615385a78.769231 78.769231 0 0 1-78.76923 78.76923zM236.386462 817.230769v-708.923077h-78.769231V817.230769h78.769231m0 78.769231h-78.769231a78.769231 78.769231 0 0 1-78.769231-78.769231v-708.923077a78.769231 78.769231 0 0 1 78.769231-78.76923h78.769231a78.769231 78.769231 0 0 1 78.76923 78.76923V817.230769a78.769231 78.769231 0 0 1-78.76923 78.769231zM984.694154-49.230769h-945.230769a39.384615 39.384615 0 0 1 0-78.769231h945.230769a39.384615 39.384615 0 0 1 0 78.769231z" horiz-adv-x="1024" />
<glyph glyph-name="xiaoxi" unicode="&#59045;" d="M884.992 244.416c-8.448 55.104-33.088 216.32-39.424 246.592-1.6 137.728-124.928 225.6-237.504 262.208v10.176c0 49.28-43.008 89.344-95.936 89.344s-95.872-40.128-95.872-89.344v-6.656c-125.184-36.16-245.76-129.92-247.36-266.112-6.336-30.912-27.52-190.592-34.816-245.888-31.424-18.624-59.392-45.376-59.392-111.552 0-31.36 25.344-90.624 121.088-90.624h153.408A164.992 164.992 0 0 1 512-94.72a165.12 165.12 0 0 1 162.944 137.28h153.344c95.808 0 121.152 59.264 121.152 90.624-0.064 73.6-36.672 95.68-64.448 111.232zM512-46.72a117.824 117.824 0 0 0-114.496 89.28H626.56A117.76 117.76 0 0 0 512-46.72z m316.224 137.216H195.712c-67.968 0-72.768 35.904-73.088 42.624 0 47.744 17.024 60.288 44.992 75.392l10.816 5.824 1.6 12.16c11.968 91.072 32.256 240.832 35.968 255.04l0.896 6.4c0 118.272 115.008 199.232 229.056 227.072l18.304 4.48v43.904c0 22.784 21.504 41.344 47.936 41.344s47.936-18.56 47.936-41.344v-46.144l17.408-4.928c101.504-28.608 220.032-104.448 220.032-224.064l0.832-6.144c3.52-13.376 26.944-164.352 40.896-256.384l1.728-11.328 18.688-10.752c25.152-14.08 41.664-23.296 41.664-70.528 0-1.728-0.832-42.624-73.152-42.624z" horiz-adv-x="1024" />
<glyph glyph-name="qiandai" unicode="&#58915;" d="M30.72 312.32a456.704 433.152 0 1 1 913.408 0 456.704 433.152 0 1 1-913.408 0ZM243.712 710.656c-11.776 10.752-68.096 57.856-77.824 90.624-9.216 32.256 40.448 100.864 177.152 32.256 0 0 145.92 99.328 288.768 0 0 0 164.864 86.016 177.152-39.424l-96.256-110.08c0.512 0.512-348.16-91.648-468.992 26.624zM494.08 745.472v-866.816c252.416 0 456.704 194.048 456.704 433.152s-204.288 433.664-456.704 433.664zM632.32 833.536c-47.616 33.28-95.232 44.032-138.24 44.032v-220.672c112.64 5.632 218.624 27.648 218.624 27.648L808.96 794.624c-12.288 124.928-176.64 38.912-176.64 38.912zM731.648 706.048s2.56-22.528-37.888-29.696c-40.96-7.168-243.712-42.496-411.136 0 0 0-18.432 7.168-16.384 19.456 0 0 0 10.24 24.576 5.632 0 0 177.152-54.784 419.84 4.608 0 0 19.456 7.168 20.992 0zM487.424 288.768c-5.12 2.048-10.24 4.096-15.872 6.656s-15.36 7.68-29.696 16.384c-14.336 8.192-25.6 17.92-34.304 28.16-8.704 10.752-15.36 21.504-19.456 32.768-4.096 11.264-6.144 23.552-5.12 37.376 1.024 22.528 7.168 39.936 17.92 52.224 11.264 12.288 22.016 21.504 33.28 27.648 11.264 6.144 22.016 10.24 33.28 12.8l19.968 4.096v18.432h25.088v-18.944c6.656 0 11.776-0.512 16.384-0.512 4.096-0.512 9.216-1.024 15.36-2.56 6.144-1.024 16.384-4.096 31.232-8.192 14.848-4.096 27.136-12.288 36.864-23.552 9.728-11.776 14.848-22.016 14.848-31.232 0-10.24-4.608-18.944-12.8-26.112-8.192-7.168-17.92-11.264-29.184-11.264s-20.992 3.584-28.16 10.24c-7.68 7.168-11.264 15.36-10.752 24.576 0 7.68 2.56 14.848 8.192 20.992 5.632 6.144 8.192 9.728 8.192 11.264 0 2.56-4.608 6.144-12.8 9.728s-15.872 6.144-22.528 6.656l-14.848 1.536V348.16c12.288-4.608 25.6-9.728 40.448-14.848 14.848-5.12 28.16-10.752 40.448-16.384 12.288-5.632 23.552-15.36 33.792-28.16s15.36-26.624 15.36-41.472c0-14.336-2.048-27.648-6.144-40.448-4.096-12.288-10.752-23.04-18.944-32.256-8.704-9.216-17.92-16.384-27.648-20.992-10.24-4.608-20.48-8.704-31.232-11.776-10.752-3.072-21.504-5.12-31.744-6.144l-13.312-1.536V112.64h-25.088v21.504c-8.704 1.024-15.872 2.56-21.504 3.584-5.632 1.536-12.8 3.584-20.48 6.144-7.68 3.072-14.848 6.144-21.504 9.216-6.656 3.072-13.312 7.68-19.968 12.288s-13.312 11.776-19.968 19.968c-6.656 8.192-10.24 16.896-10.24 26.112 0 8.704 1.024 16.384 4.096 23.04 3.072 6.656 7.68 12.288 13.824 15.872 6.144 3.584 13.312 5.632 22.016 5.632 9.728 0 17.92-2.56 24.064-7.68 6.144-4.608 9.728-10.24 10.24-16.896 0.512-6.144 0-11.264-1.536-14.848-1.536-3.072-3.584-5.632-6.144-7.68l-12.288-7.168c-3.072-2.048-5.12-4.608-7.168-7.68-1.536-3.072 2.048-9.216 10.752-17.408 6.144-6.144 12.8-11.264 19.968-14.848 7.168-3.584 13.312-5.632 17.92-6.144l17.408-3.072V288.768z m0 197.12l-16.896-4.608c-5.632-1.536-11.264-5.12-16.896-9.216-6.144-4.608-11.264-11.264-15.36-19.456-4.608-8.704-6.656-17.92-6.144-28.16 0-14.336 4.096-26.112 11.776-34.816 7.68-8.704 17.408-16.384 29.696-22.528l14.336-7.68v126.464z m24.576-334.848c8.704 1.024 18.432 3.072 30.208 6.144 11.776 3.072 21.504 9.728 29.184 19.968s11.776 22.016 11.776 34.816-2.56 23.04-7.68 30.208c-5.12 7.168-12.288 13.312-22.016 18.432-9.216 5.12-18.944 9.216-27.648 13.312l-13.824 5.632v-128.512z" horiz-adv-x="1024" />
<glyph glyph-name="wo" unicode="&#59031;" d="M224.8 825.1c-74-21.4-132.5-80-154-154l154 154zM277.1 833.7c-115.9-5-209.8-98.9-214.8-214.8L277.1 833.7zM321.1 834H287C163.3 834 62 732.7 62 609v-34.1L321.1 834zM364.8 834H287C163.3 834 62 732.7 62 609v-77.8L364.8 834zM408.5 834H287c-34.6 0-67.4-7.9-96.7-22L84 705.7c-14.1-29.3-22-62.2-22-96.7v-121.5L408.5 834zM452.2 834H287c-11.4 0-22.6-0.9-33.5-2.5l-189-189c-1.7-11-2.5-22.2-2.5-33.5v-165.2L452.2 834zM62 400.1L495.9 834H299.7L62 596.3zM62 356.4L539.6 834H343.4L62 552.6zM62 312.7L583.3 834H387.1L62 508.9zM62 269L627 834H430.8L62 465.2zM62 225.3L670.7 834H474.5L62 421.5zM62 181.6L714.4 834H518.2L62 377.8zM737 834H561.9L62 334.1V159c0-6.8 0.4-13.5 1-20.1L757.1 833c-6.6 0.6-13.3 1-20.1 1zM737 834H605.6L62 290.4V159c0-19.8 2.6-39 7.5-57.3L794.3 826.5C776 831.4 756.8 834 737 834zM737 834h-87.7L62 246.7V159c0-31.8 6.7-62.1 18.8-89.7L826.7 815.2C799.1 827.3 768.8 834 737 834zM737 834h-44L62 203v-44c0-43.3 12.4-83.9 33.9-118.3L855.3 800.1C820.9 821.6 780.3 834 737 834zM737 834h-0.3L62 159.3v-0.3c0-54.5 19.7-104.6 52.2-143.7l766.5 766.5C841.6 814.3 791.5 834 737 834zM776.7 830.4L65.6 119.3c8.9-49.5 34.1-93.6 69.9-126.3L903 760.5c-32.7 35.7-76.7 61-126.3 69.9zM811.3 821.3L74.7 84.7c16-45.4 46.2-84.2 85.2-111l762.5 762.5c-26.9 38.9-65.7 69.1-111.1 85.1zM841.7 807.9L88.1 54.3c22.1-41.7 57-75.8 99.3-96.9l751.2 751.2c-21.1 42.4-55.2 77.2-96.9 99.3zM868.6 791.1L104.9 27.4c27.9-38.4 67.5-67.8 113.6-82.6l732.8 732.8c-14.9 46-44.3 85.7-82.7 113.5zM253.8-63.5l705.7 705.7c-7.5 50.3-31.9 95.3-67.1 129.1L124.7 3.6c33.8-35.2 78.8-59.6 129.1-67.1zM962 609c0 52.5-18.3 101-48.8 139.4L147.6-17.2C186-47.7 234.5-66 287-66h8l667 667v8zM962 609c0 41.3-11.3 80.1-31 113.5L173.5-35c33.4-19.6 72.2-31 113.5-31h51.7L962 557.3V609zM962 609c0 29.8-5.9 58.2-16.5 84.2L202.8-49.5c26.1-10.6 54.5-16.5 84.2-16.5h95.4L962 513.6V609zM962 609c0 17.6-2.1 34.7-6 51.1L235.9-60c16.4-3.9 33.5-6 51.1-6h139.1L962 469.9V609zM962 609c0 4.4-0.2 8.7-0.4 13L274-65.6c4.3-0.2 8.6-0.4 13-0.4h182.8L962 426.2V609zM513.5-66L962 382.5V578.7L317.3-66zM557.2-66L962 338.8V535L361-66zM600.9-66L962 295.1V491.3L404.7-66zM644.6-66L962 251.4V447.6L448.4-66zM688.3-66L962 207.7V403.9L492.1-66zM732-66l230 230V360.2L535.8-66zM962 159V316.5L579.5-66H737c14.7 0 29 1.5 42.9 4.2l177.9 177.9c2.7 13.9 4.2 28.2 4.2 42.9zM962 159V272.8L623.2-66H737c41.2 0 80 11.3 113.3 30.9l80.8 80.8C950.7 79 962 117.8 962 159zM962 229.1L666.9-66H737c123.8 0 225 101.3 225 225v70.1zM962 185.4L710.6-66H737c123.8 0 225 101.3 225 225v26.4zM961.2 140.9L755.1-65.2c109.4 8.8 197.3 96.7 206.1 206.1zM949.5 85.5l-139-139c64.9 22.6 116.4 74.1 139 139zM607.1 375H416.9c-13.4 0-25.7-7.5-31.9-19.4l-79.6-153c-12.5-24 4.9-52.6 31.9-52.6h349.4c27 0 44.4 28.6 31.9 52.6l-79.6 153c-6.1 11.9-18.4 19.4-31.9 19.4zM512 483m-135 0a135 135 0 1 1 270 0 135 135 0 1 1-270 0Z" horiz-adv-x="1024" />
<glyph glyph-name="tiegui" unicode="&#58987;" d="M127.9 749h102.6v-118H127.9zM810.3 749h102.6v-118H810.3zM291.4 133.2h458v-118.5h-458zM291.4 543.9h458v-118.5h-458zM291.4 749.2h458v-118.5h-458zM291.4 338.5h458V220h-458zM127.9 543.6h102.6v-118H127.9zM810.3 543.6h102.6v-118H810.3zM810.3 338.3h102.6v-118H810.3zM127.9 338.3h102.6v-118H127.9zM127.9 132.9h102.6v-118H127.9zM810.3 132.9h102.6v-118H810.3z" horiz-adv-x="1024" />
<glyph glyph-name="nb-" unicode="&#58885;" d="M735.35-35.25h-446.7a80.16 80.16 0 0 0-80.07 80.07v740a18.48 18.48 0 0 0 18.48 18.48h569.88a18.48 18.48 0 0 0 18.48-18.48v-740a80.16 80.16 0 0 0-80.07-80.07zM245.54 766.3v-721.49a43.17 43.17 0 0 1 43.11-43.11h446.7a43.17 43.17 0 0 1 43.11 43.11V766.3zM726.21 194.54H292.28a18.48 18.48 0 1 0 0 37h433.93a18.48 18.48 0 0 0 0-37zM512 38.22a61.59 61.59 0 1 0 61.59 61.59A61.66 61.66 0 0 0 512 38.22z m0 86.23a24.64 24.64 0 1 1 24.64-24.64A24.66 24.66 0 0 1 512 124.44z" horiz-adv-x="1024" />
<glyph glyph-name="yunshu" unicode="&#59273;" d="M1000.177479 249.721006l-23.146116 136.962097c-1.431603 46.318839-39.940584 83.620322-87.076021 83.620323h-11.486589l-42.303393 83.396218c-9.888188 19.522597-29.717776 31.627261-51.740305 31.627262H627.042923v28.792709c0 31.684566-25.812847 57.498437-57.52709 57.498437H166.846672c-31.714242 0-57.52709-25.813871-57.527089-57.498437v-57.553696h57.527089v57.553696h402.669161v-373.920454h-147.887916c-12.851677 49.464476-57.497414 86.26147-110.965056 86.26147s-98.117472-36.796994-110.968125-86.26147h-32.848064v86.26147H109.319583v-143.818236h90.374129c12.851677-49.46243 57.500484-86.26147 110.968126-86.26147 53.466619 0 98.113379 36.799041 110.965056 86.26147H688.64174c12.863957-49.46243 57.526066-86.26147 110.979382-86.26147 53.454339 0 98.114402 36.799041 110.978358 86.26147h32.415206c17.161834 0 33.341296 7.500819 44.380701 20.562274 10.928888 12.893632 15.565479 29.860015 12.782092 46.516337z m-689.514618-95.838574c-31.712196 0-57.52709 25.840476-57.527089 57.552672s25.814894 57.525043 57.527089 57.525043c31.710149 0 57.52709-25.812847 57.52709-57.525043s-25.815917-57.552672-57.52709-57.552672zM784.874285 527.66167l29.100724-57.358244h-71.879954v57.413502l42.77923-0.055258z m14.748883-373.779238c-31.714242 0-57.52709 25.840476-57.527089 57.552672s25.812847 57.525043 57.527089 57.525043c31.712196 0 57.52709-25.812847 57.52709-57.525043s-25.814894-57.552672-57.52709-57.552672z m110.978359 86.316729c-12.863957 49.464476-57.52402 86.26147-110.978359 86.26147-53.453316 0-98.115426-36.796994-110.979382-86.26147h-61.59984v258.89595l57.52709-0.028652v-28.763033c0-31.712196 25.814894-57.554719 57.526066-57.554719h147.859264c16.320678 0 29.578607-12.863957 29.578606-28.734381l23.481761-143.815165h-32.415206zM23.031507 527.829492h230.104265v-57.526066H23.031507zM51.79454 412.748707h230.103242v-57.497414H51.79454z" horiz-adv-x="1024" />
<glyph glyph-name="gengduo" unicode="&#58986;" d="M105.025641 896h236.307692c57.764103 0 105.025641-47.261538 105.025641-105.025641v-236.307692c0-57.764103-47.261538-105.025641-105.025641-105.025641H105.025641c-57.764103 0-105.025641 47.261538-105.025641 105.025641V790.974359c0 57.764103 47.261538 105.025641 105.025641 105.025641z m0-577.641026h236.307692c57.764103 0 105.025641-47.261538 105.025641-105.025641v-236.307692c0-57.764103-47.261538-105.025641-105.025641-105.025641H105.025641c-57.764103 0-105.025641 47.261538-105.025641 105.025641V213.333333c0 57.764103 47.261538 105.025641 105.025641 105.025641z m577.641026 0h236.307692c57.764103 0 105.025641-47.261538 105.025641-105.025641v-236.307692c0-57.764103-47.261538-105.025641-105.025641-105.025641H682.666667c-57.764103 0-105.025641 47.261538-105.025641 105.025641V213.333333c0 57.764103 47.261538 105.025641 105.025641 105.025641zM848.082051 871.05641L984.615385 734.523077c34.133333-34.133333 34.133333-87.958974 0-122.092308L848.082051 474.584615c-34.133333-34.133333-87.958974-34.133333-122.092307 0L589.45641 612.430769c-34.133333 34.133333-34.133333 87.958974 0 122.092308L727.302564 871.05641c32.820513 32.820513 87.958974 32.820513 120.779487 0z" horiz-adv-x="1024" />
<glyph glyph-name="wode1" unicode="&#58993;" d="M512 640m-256 0a256 256 0 1 1 512 0 256 256 0 1 1-512 0ZM1024-76.79999999999995c0-28.16-23.04-51.2-51.2-51.2H51.2c-28.16 0-51.2 21.76-51.2 49.92 0 6.4 1.28 12.8 3.84 17.92 30.72 280.32 282.88 483.84 564.48 453.12C806.4 367.36 994.56 179.20000000000005 1020.16-58.879999999999995c2.56-6.4 3.84-11.52 3.84-17.92z" horiz-adv-x="1024" />
<glyph glyph-name="kefu" unicode="&#59020;" d="M418.238197 564.297014m-331.702986 0a331.702986 331.702986 0 1 1 663.405972 0 331.702986 331.702986 0 1 1-663.405972 0ZM690.811521-81.802716l-30.285925 64.898411s157.198372 119.701512 187.484296 212.001473c-12.979682-2.884374-27.401551-5.768748-40.381233-5.768747-72.109345 0-129.796821 57.687476-129.79682 129.796821v28.843737c0 72.109345 57.687476 129.796821 129.79682 129.796821 20.190617 0 40.381233-4.326561 57.687476-14.421869v5.768748C865.316135 665.250097 706.675577 823.890655 511.980346 823.890655S158.644556 665.250097 158.644556 470.554866v-5.768748c63.456223 31.728112 141.334316 5.768748 173.062428-57.687476 8.653121-18.74843 14.421869-37.496859 14.421869-57.687476v-28.843738c0-72.109345-57.687476-129.796821-129.796821-129.79682-60.57185 0-112.490578 41.82342-126.912447 99.510896-1.442187 4.326561-2.884374 8.653121-2.884374 14.421869V470.554866C86.535211 705.63133 276.903882 896 511.980346 896S937.42548 705.63133 937.42548 470.554866V304.703373c0-271.131136-246.613959-386.506088-246.613959-386.506089zM158.644556 319.125242c0-31.728112 25.959364-57.687476 57.687476-57.687476s57.687476 25.959364 57.687476 57.687476v28.843737c0 31.728112-25.959364 57.687476-57.687476 57.687476s-57.687476-25.959364-57.687476-57.687476v-28.843737z m706.671579 28.843737c0 31.728112-25.959364 57.687476-57.687476 57.687476s-57.687476-25.959364-57.687476-57.687476v-28.843737c0-31.728112 25.959364-57.687476 57.687476-57.687476s57.687476 25.959364 57.687476 57.687476v28.843737zM719.655259-55.843351c1.442187-37.496859-27.401551-70.667158-66.340598-72.109345H648.988101c-40.381233-1.442187-72.109345 30.285925-73.551532 70.667158s30.285925 72.109345 70.667158 73.551531c40.381233 1.442187 72.109345-30.285925 73.551532-72.109344 0 1.442187 0 0 0 0z" horiz-adv-x="1024" />
<glyph glyph-name="yingshoubaobiao" unicode="&#59058;" d="M390.095238 140.190476h243.809524v-146.285714H390.095238zM731.428571-79.238095H292.571429c-26.819048 0-48.761905 21.942857-48.761905 48.761905s21.942857 48.761905 48.761905 48.761904h438.857142c26.819048 0 48.761905-21.942857 48.761905-48.761904s-21.942857-48.761905-48.761905-48.761905zM926.47619 115.809524H97.52381c-53.638095 0-97.52381 43.885714-97.52381 97.523809V749.714286c0 53.638095 43.885714 97.52381 97.52381 97.523809h828.95238c53.638095 0 97.52381-43.885714 97.52381-97.523809v-536.380953c0-53.638095-43.885714-97.52381-97.52381-97.523809zM195.047619 323.047619c-14.628571 14.628571-14.628571 36.571429 0 51.2l185.295238 185.295238c14.628571 14.628571 36.571429 14.628571 51.2 0l131.657143-131.657143 212.114286 212.114286c14.628571 14.628571 36.571429 14.628571 51.2 0 14.628571-14.628571 14.628571-36.571429 0-51.2l-238.933334-238.933333c-14.628571-14.628571-36.571429-14.628571-51.2 0L407.161905 481.52381l-158.476191-158.476191c-17.066667-14.628571-39.009524-14.628571-53.638095 0z" horiz-adv-x="1024" />
<glyph glyph-name="kucunduiji" unicode="&#58931;" d="M754.876282 895.90001H277.722879v-477.053413h477.053412V895.90001zM593.892003 521.036618H438.707158v34.09667h155.184845V521.036618zM4.549556-128h477.053412V349.053413H4.549556v-477.053413z m160.984279 136.286691h155.184845v-34.09667H165.533835v34.09667zM542.597012 349.053413v-477.053413h477.053413V349.053413H542.597012z m316.069134-374.863392H703.481301v34.09667h155.184845v-34.09667z" horiz-adv-x="1024" />
<glyph glyph-name="xiaoshouludan" unicode="&#58890;" d="M914.4 896H109.6C49.1 896 0 846.9 0 786.4v-804.7C0-78.9 49.1-128 109.6-128h804.7c60.5 0 109.6 49.1 109.6 109.6V786.4C1024 846.9 974.9 896 914.4 896zM726.1 129.8c0-43.1-35.1-78.2-78.2-78.2H324.3c-43.1 0-78.2 35.1-78.2 78.2V638.2c0 43.1 35.1 78.2 78.2 78.2h246.9c13.1 0 25.6-5.6 34.3-15.3l106.6-118.8c9-10 13.9-22.9 13.9-36.3v-42.5l-35.6-61.6V546c0 4.6-1.7 9.1-4.8 12.6L579.1 677.4c-2 2.2-4.9 3.5-7.9 3.5H324.3c-23.5 0-42.7-19.1-42.7-42.7v-508.4c0-23.5 19.1-42.7 42.7-42.7h323.6c23.5 0 42.7 19.1 42.7 42.7V305.2l35.6 61.6v-237z m-392 213.7c-8.6 0-15.6 7-15.6 15.6s7 15.6 15.6 15.6h260.2c8.6 0 15.6-7 15.6-15.6s-7-15.6-15.6-15.6H334.1z m198.7-91.1c0-7.3-5.9-13.2-13.2-13.2H334.1c-7.3 0-13.2 5.9-13.2 13.2s5.9 13.2 13.2 13.2h185.6c7.2 0 13.1-5.9 13.1-13.2zM334.1 448.9c-9.3 0-16.9 7.5-16.9 16.9s7.5 16.9 16.9 16.9h304c9.3 0 16.9-7.5 16.9-16.9s-7.5-16.9-16.9-16.9h-304z m251.2 91.5c-14.3 0-15.6 10.7-15.6 23.6l1.4 95.9c1.1 2.5 4.4 3.1 6.2 1l98.9-112.5c2-2.2 0.6-5.7-2.3-6.1l-88.6-1.9z m40.2-333.9l-43-19-4.6 46.8 152 260.3 47.7-27.8-152.1-260.3z m158.2 270.8L736 505.1l15.6 26.7 47.7-27.8-15.6-26.7z" horiz-adv-x="1024" />
<glyph glyph-name="fahuo" unicode="&#58917;" d="M368.4864 39.00928c-1.4336-42.60864-33.52576-74.69568-76.1344-76.12928-42.58816-1.4336-74.77248 35.68128-76.1344 76.12928-1.4336 42.58816 35.68128 74.77248 76.1344 76.1344 42.59328 1.43872 74.77248-35.68128 76.1344-76.1344 1.11104-32.92672 52.31104-33.03424 51.2 0-2.39104 70.99904-56.33536 124.94336-127.3344 127.3344-70.95808 2.39104-125.06112-59.93472-127.3344-127.3344-2.39104-70.95296 59.93472-125.06112 127.3344-127.32928 70.95296-2.39104 125.06112 59.9296 127.3344 127.32928 1.11104 33.03424-50.08896 32.92672-51.2 0zM783.91296 39.00928c-1.4336-42.60864-33.52576-74.69568-76.1344-76.12928-42.58816-1.4336-74.76736 35.6864-76.12928 76.12928-1.4336 42.58816 35.68128 74.77248 76.12928 76.1344 42.5984 1.43872 74.77248-35.68128 76.1344-76.1344 1.11104-32.92672 52.31616-33.03424 51.2 0-2.39104 70.99904-56.33536 124.94336-127.3344 127.3344-70.95296 2.39104-125.06112-59.93984-127.32928-127.3344-2.39104-70.94784 59.93472-125.06112 127.32928-127.32928 70.95296-2.39104 125.06624 59.9296 127.3344 127.32928 1.11616 33.03424-50.08896 32.92672-51.2 0zM725.76512 598.36416c83.70176-72.75008 167.3984-145.50016 251.10528-218.24512l-7.5008 18.0992v-315.76064c0-15.24224-10.83904-15.31392-23.28064-15.31392h-136.55552c-33.01376 0-33.01376-51.2 0-51.2h89.99936c30.03392 0 69.67296-6.41024 95.60576 11.92448 25.80992 18.24256 25.43104 46.41792 25.43104 74.23488v105.14944 190.0032c0 18.18624-19.93728 29.87008-32.1536 40.49408l-81.74592 71.05024-144.70656 125.7728c-24.79104 21.54496-61.16352-14.5152-36.1984-36.20864zM190.6176 67.13856H97.24928c-17.52064 0-26.43456 1.88416-26.43456 20.06016v158.32064 449.54112 41.18528c0 14.2336 15.81056 11.53024 25.30816 11.53024H707.5328c15.95392 0 10.73664-28.5184 10.73664-38.12352v-93.18912c0-33.01888 51.2-33.01888 51.2 0V696.9856c0 41.74336 0.3584 96.45568-54.99392 101.41696-38.25152 3.42528-77.80352 0.57856-116.15744 0.57856H140.48256c-50.304 0-114.67776 7.6032-120.86272-61.44-3.2-35.69664 0-73.15456 0-108.9536v-529.67936c0-10.89536-1.42336-24.15104 1.49504-34.78016 11.55072-42.0864 46.62784-48.18944 84.03456-48.18944h85.4784c33.00864 0 33.00864 51.2-0.01024 51.2zM603.5712 67.13856h-176.0768c-33.01888 0-33.01888-51.2 0-51.2h176.0768c33.01376 0 33.01376 51.2 0 51.2zM718.26432 441.88672v-94.17216c0-13.94688 11.64288-25.59488 25.6-25.59488H883.2c33.01376 0 33.01376 51.18976 0 51.18976h-139.33568c8.53504-8.53504 17.06496-17.07008 25.6-25.59488V441.88672c0 33.01888-51.2 33.01888-51.2 0z" horiz-adv-x="1024" />
<glyph glyph-name="shouhuo1" unicode="&#58896;" d="M928.282 618.43l-76.078 146.396c-18.802 36.082-65.373 64.339-106.022 64.339h-467.77c-40.593 0-87.326-28.094-106.292-63.906L96.096 621.852c-16.41-31.029-29.235-82.762-29.235-117.812v-481.738c0-46.027 37.387-83.468 83.467-83.468h723.34c46.027 0 83.469 37.442 83.469 83.468V500.616c0 34.997-12.66 86.785-28.855 117.814zM145.33 595.823l75.97 143.353c9.51 17.933 36.734 34.344 57.112 34.344h467.771c20.27 0 47.278-16.41 56.679-34.398l76.08-146.34c3.586-6.956 6.955-15.87 10.052-25.433H134.19c3.37 10.705 7.065 20.813 11.14 28.474z m756.161-573.52c0-15.324-12.443-27.821-27.822-27.821h-723.34c-15.378 0-27.822 12.498-27.822 27.821V504.041c0 2.228 0.435 5.163 0.651 7.661h777.408c0.327-3.695 0.924-7.824 0.924-11.085v-478.314zM745.913 358.46L605.765 208.75l-56.568 56.46c-10.869 10.869-28.475 10.869-39.344 0-10.868-10.867-10.868-28.474 0-39.342l76.296-76.08c5.435-5.433 12.499-8.15 19.617-8.15 3.859 0 7.662 0.978 11.305 2.608 4.074 1.414 7.878 3.587 11.03 6.903L786.56 320.42c10.488 11.194 9.89 28.8-1.304 39.343-11.196 10.434-28.802 9.89-39.344-1.304zM429.046 317.813h-166.99c-15.325 0-27.823-12.445-27.823-27.823s12.499-27.823 27.823-27.823h166.991c15.378 0 27.823 12.445 27.823 27.823s-12.445 27.823-27.824 27.823zM344.6 199.13h-83.468c-15.378 0-27.822-12.498-27.822-27.821 0-15.433 12.444-27.823 27.822-27.823H344.6c15.38 0 27.823 12.39 27.823 27.823 0 15.323-12.444 27.822-27.823 27.822z" horiz-adv-x="1024" />
<glyph glyph-name="kefu-copy-copy" unicode="&#59063;" d="M959.995 518.4C921.598 735.996 735.999 895.994 512.004 895.994c-224.004 0-409.596-166.399-448-377.593C25.605 486.399 0.006 428.797 0.006 371.19899999999996c0-76.799 44.799-166.398 115.199-166.398 63.997 0 63.997 70.398 63.997 166.398 0 89.599 0 159.999-44.797 166.4C172.801 710.396 326.404 838.396 512.004 838.396c185.592 0 339.194-128 377.592-294.401-44.799-12.798-44.799-76.796-44.799-166.394 0-63.422 0-107.986 12.451-139.923 0.114-0.293 0.41-0.569 0.346-0.876C821.333 65 716.8-6.398000000000025 614.398-32c-19.198 25.602-57.597 44.799-102.395 44.799-64.006 0-115.202-32-115.202-70.398 0-38.404 51.196-70.4 115.202-70.4 63.997 0 115.197 31.996 115.197 70.4C729.598-32 853.333 56.33299999999997 876.798 217.60400000000004c-0.04-0.275 0.399-0.388 0.608-0.572 6.575-5.83 18.984-5.83 31.389-5.83 70.399 0 115.199 89.6 115.199 166.4 0 51.195-25.6 108.797-63.999 140.798z m0 0" horiz-adv-x="1024" />
<glyph glyph-name="yuebao" unicode="&#58924;" d="M839.2 811H185.3c-37.7 0-71.3-26.9-71.3-61.5v-730.3c0-34.6 33.5-61.5 71.3-61.5h653.9c37.7 0 71.3 26.9 71.3 61.5V749.5c-0.1 34.6-33.6 61.5-71.3 61.5zM633.4 242.1c0-22.1-11.3-33.4-33-33.4h-50.1l-7.8 27.5c17.8-0.8 34.1-1.6 48.9-1.6 8.9 0 13.6 5.8 13.6 17.1V329H437.9c-4.7-50.4-19.4-92-44.6-124.9L372 223.5c25.6 34.9 38.4 79.2 39.2 132.7V545.5h222.3v-303.4zM439.4 518.7h165.7v-67.9H439.4zM439.4 424.8h165.7V355H439.4z" horiz-adv-x="1024" />
<glyph glyph-name="qinglihuancun" unicode="&#58887;" d="M786.6 180.1c-5.1 0-10.3 1.3-15.1 4.1L295.4 461.3c-14.3 8.3-19.2 26.7-10.8 41 8.3 14.3 26.7 19.2 41 10.8L801.7 236c14.3-8.3 19.2-26.7 10.8-41-5.6-9.5-15.6-14.9-25.9-14.9zM629.3-64c-14.7 0-29.3 4.2-42.1 11.6L186.1 181.3c-40 23.3-53.8 75.1-30.7 115.4l166.4 290.5c15 26.1 42.9 42.4 72.9 42.4 14.7 0 29.3-3.9 42.1-11.4l113.2-66 129 225.2c19.1 33.4 54.8 54.1 93.1 54.1 18.8 0 37.4-5 53.7-14.5 51.1-29.8 68.8-95.9 39.3-147.4L735.9 444l102-59.4c40-23.3 53.8-75 30.7-115.3L702.2-21.4c-14.9-26.1-42.9-42.6-72.9-42.6zM394.7 569.6c-8.6 0-16.5-4.7-20.8-12.2L207.5 266.9c-6.7-11.8-2.8-26.9 8.9-33.6l401.1-233.5c3.7-2.1 7.7-3.2 11.9-3.2 8.6 0 16.5 4.7 20.8 12.2l166.4 290.5c6.7 11.8 2.8 26.9-8.8 33.6L680 407.2c-14.2 8.3-19.1 26.5-10.9 40.8L813 699.4c13.2 23 5.4 52.5-17.4 65.7-7.2 4.2-15.3 6.4-23.5 6.4-16.9 0-32.6-9.2-41-23.9l-144-251.4c-4-6.9-10.5-12-18.3-14.1-7.7-2.1-15.9-1-22.9 3.1l-139.4 81.1c-3.6 2.2-7.6 3.3-11.8 3.3z" horiz-adv-x="1024" />
<glyph glyph-name="fukuan1" unicode="&#58994;" d="M917.333333-128H106.666667c-59.733333 0-106.666667 46.933333-106.666667 106.666667V789.333333c0 59.733333 46.933333 106.666667 106.666667 106.666667h810.666666c59.733333 0 106.666667-46.933333 106.666667-106.666667v-810.666666c0-59.733333-46.933333-106.666667-106.666667-106.666667zM106.666667 810.666667c-12.8 0-21.333333-8.533333-21.333334-21.333334v-810.666666c0-12.8 8.533333-21.333333 21.333334-21.333334h810.666666c12.8 0 21.333333 8.533333 21.333334 21.333334V789.333333c0 12.8-8.533333 21.333333-21.333334 21.333334H106.666667zM298.666667 149.333333c-23.466667 0-42.666667 19.2-42.666667 42.666667V576c0 23.466667 19.2 42.666667 42.666667 42.666667s42.666667-19.2 42.666666-42.666667v-384c0-23.466667-19.2-42.666667-42.666666-42.666667zM441.6 149.333333c-23.466667 0-42.666667 19.2-42.666667 42.666667V576c0 23.466667 19.2 42.666667 42.666667 42.666667s42.666667-19.2 42.666667-42.666667v-384c0-23.466667-19.2-42.666667-42.666667-42.666667zM582.4 149.333333c-23.466667 0-42.666667 19.2-42.666667 42.666667V576c0 23.466667 19.2 42.666667 42.666667 42.666667s42.666667-19.2 42.666667-42.666667v-384c0-23.466667-19.2-42.666667-42.666667-42.666667zM725.333333 149.333333c-23.466667 0-42.666667 19.2-42.666666 42.666667V576c0 23.466667 19.2 42.666667 42.666666 42.666667s42.666667-19.2 42.666667-42.666667v-384c0-23.466667-19.2-42.666667-42.666667-42.666667z" horiz-adv-x="1024" />
<glyph glyph-name="yunshu-" unicode="&#61061;" d="M703.2 120H320.8c-76.8 0-140 62.4-140 140 0 15.2 2.4 29.6 7.2 44 15.2 45.6 20 95.2 13.6 142.4L160 752c-4 34.4 7.2 68 31.2 94.4C217.6 876 256 892 296.8 892h430.4c40.8 0 80-16.8 105.6-45.6 24-26.4 34.4-60 31.2-93.6l-40.8-305.6c-6.4-48-1.6-96.8 13.6-142.4 4.8-14.4 7.2-28.8 7.2-44-0.8-77.6-63.2-140.8-140.8-140.8zM296.8 860c-32 0-61.6-12.8-82.4-35.2-17.6-19.2-25.6-44-23.2-68.8L232 451.2c7.2-52.8 2.4-106.4-14.4-156.8-4-11.2-5.6-22.4-5.6-33.6 0-59.2 48-108 108-108h383.2c59.2 0 108 48 108 108 0 11.2-1.6 23.2-5.6 33.6-16.8 49.6-21.6 104-14.4 156.8l40.8 304.8c2.4 24.8-5.6 48.8-23.2 68.8-20 22.4-50.4 35.2-82.4 35.2H296.8zM725.6 572H298.4c-4 0-7.2 3.2-8 7.2L271.2 752c-0.8 7.2 1.6 15.2 6.4 20.8 4.8 5.6 11.2 8 18.4 8.8h431.2c7.2 0 14.4-3.2 19.2-8.8 4.8-5.6 7.2-12.8 6.4-20.8l-18.4-172.8c-0.8-4-4.8-7.2-8.8-7.2z m-420 16h413.6l18.4 165.6c0 3.2-0.8 5.6-2.4 8-1.6 1.6-4 3.2-6.4 3.2h-432c-2.4 0-4.8-0.8-6.4-3.2-1.6-2.4-3.2-5.6-2.4-8l17.6-165.6zM544 268h-64c-4.8 0-8 3.2-8 8s3.2 8 8 8h64c4.8 0 8-3.2 8-8s-3.2-8-8-8zM343.2 214.4c-33.6 0-61.6 28-61.6 61.6s28 61.6 61.6 61.6 61.6-28 61.6-61.6c0-34.4-27.2-61.6-61.6-61.6z m0 107.2c-24.8 0-45.6-20.8-45.6-45.6s20.8-45.6 45.6-45.6 45.6 20.8 45.6 45.6-20 45.6-45.6 45.6zM680 214.4c-33.6 0-61.6 28-61.6 61.6s28 61.6 61.6 61.6 61.6-28 61.6-61.6c0-34.4-27.2-61.6-61.6-61.6z m0 107.2c-24.8 0-45.6-20.8-45.6-45.6s20.8-45.6 45.6-45.6 45.6 20.8 45.6 45.6-20 45.6-45.6 45.6zM745.6 18.4H278.4c-4.8 0-9.6 2.4-12.8 6.4-3.2 4-4 9.6-2.4 14.4L296 140.8c2.4 6.4 8 11.2 15.2 11.2H712c7.2 0 12.8-4.8 15.2-11.2l32.8-101.6c1.6-4.8 0.8-10.4-2.4-14.4-2.4-4-7.2-6.4-12-6.4z m-444.8 32h422.4L700.8 120H323.2l-22.4-69.6zM791.2-124H232.8c-4.8 0-9.6 2.4-12.8 6.4-3.2 4-4 9.6-2.4 14.4l46.4 142.4c2.4 6.4 8 11.2 15.2 11.2h466.4c7.2 0 12.8-4.8 15.2-11.2l46.4-142.4c1.6-4.8 0.8-10.4-2.4-14.4s-8-6.4-13.6-6.4z m-536.8 32h515.2l-36 110.4H290.4l-36-110.4z" horiz-adv-x="1024" />
<glyph glyph-name="lianjie" unicode="&#59018;" d="M573.44 209.92L432.128 313.344l48.128 66.56 108.544-78.848 236.544 324.608-144.384 105.472-94.208-130.048 32.768-23.552-48.128-66.56-66.56 48.128-8.192 57.344L638.976 812.032l57.344 9.216 209.92-152.576 9.216-57.344-284.672-392.192zM327.68-53.248L117.76 99.328l-9.216 57.344 284.672 392.192L450.56 558.08l141.312-103.424-48.128-66.56-108.544 78.848-236.544-324.608 144.384-105.472 94.208 130.048-32.768 23.552 48.128 66.56 66.56-48.128 8.192-57.344-142.336-195.584z" horiz-adv-x="1024" />
<glyph glyph-name="shoukuan-" unicode="&#58949;" d="M613.60128 361.99424H500.52096v67.8912h113.08032a20.35712 20.35712 0 1 1 0 40.73472h-84.34688l60.68224 79.14496a20.3776 20.3776 0 0 1-32.32768 24.79104l-76.40064-99.6352-76.40064 99.6352a20.3776 20.3776 0 0 1-32.32768-24.79104l60.68224-79.14496h-84.34688a20.35712 20.35712 0 1 1 0-40.73472H459.776v-67.8912H348.8256a20.35712 20.35712 0 1 1 0-40.73472h110.96064v-115.41504a20.35712 20.35712 0 1 1 40.73472 0V321.25952h113.08032a20.35712 20.35712 0 1 1 0 40.73472zM638.88384-6.36928H184.1152a42.3936 42.3936 0 0 0-42.3424 42.3424v718.2336a20.1728 20.1728 0 0 0 20.15232 20.15232h602.8288a42.3936 42.3936 0 0 0 42.3424-42.3424V204.0832h40.73472V732.01664c0 45.81376-37.26336 83.07712-83.07712 83.07712h-602.8288a60.94848 60.94848 0 0 1-60.88704-60.88704v-718.2336c0-45.81376 37.26336-83.07712 83.07712-83.07712h454.76864v40.73472zM770.59072-45.7216a20.31616 20.31616 0 0 0-14.39744 5.96992L647.56736 68.87424a20.36736 20.36736 0 1 0 28.80512 28.80512L769.024 5.0176l162.27328 199.72096a20.3776 20.3776 0 0 0 31.61088-25.69216L786.39104-38.1952a20.3776 20.3776 0 0 0-15.80032-7.5264zM827.4432 203.63264m-20.36736 0a20.36736 20.36736 0 1 1 40.73472 0 20.36736 20.36736 0 1 1-40.73472 0ZM637.57312-26.73664m-20.36736 0a20.36736 20.36736 0 1 1 40.73472 0 20.36736 20.36736 0 1 1-40.73472 0Z" horiz-adv-x="1024" />
<glyph glyph-name="kefu1" unicode="&#58893;" d="M958.4 558.3C827.8 777.6 683.5 888.9 529.2 888.9 283.4 888.9 99 609.1 67.6 558.3H1.8v-312.8h148.8V558.3H104c49.2 73.8 217.1 300.1 425.1 300.1 139.2 0 271.4-101.1 393.5-300.1h-47.2v-312.8h62C927.8 93.4 776.7-28.2 590-32.6c-5.8 37.5-37.9 66.3-77 66.3-43.1 0-78.2-35.1-78.2-78.2s35.1-78.2 78.2-78.2c39.4 0 71.7 29.3 77.1 67.2 199.4 4.5 360.7 136.3 370.2 300.9h63.9V558.3h-65.8z m-838.3-30.5V276H32.3V527.8h87.8zM513-99.8c-30.5 0-55.3 24.8-55.3 55.3 0 30.5 24.8 55.3 55.3 55.3 30.5 0 55.3-24.8 55.3-55.3 0-30.5-24.8-55.3-55.3-55.3zM993.7 276H906V527.8h87.7V276zM787.7 285l-22.9 20.1c-190.1-217.3-378.5-85.8-440.4-42.6-18.5 12.9-25.5 17.8-35.4 12.6l-8.6-14.4h18.1l-6.2-13.5c2.8-1.3 7.7-4.9 14.6-9.7 80.4-56.1 157-84.1 229.4-84.1 90.6 0 174.7 43.9 251.4 131.6z m-483.6-36.2l-5.4 12h12.1c0-4.8-2.6-9.4-6.7-12z" horiz-adv-x="1024" />
<glyph glyph-name="ziyuan" unicode="&#58892;" d="M0 896m204.8 0l614.4 0q204.8 0 204.8-204.8l0-614.4q0-204.8-204.8-204.8l-614.4 0q-204.8 0-204.8 204.8l0 614.4q0 204.8 204.8 204.8ZM460.8 58.368c0 9.984 1.792 18.944 3.072 27.648 2.048 15.104 4.608 30.208 6.656 45.312 0 7.68 1.792 15.104 2.56 22.784l4.608 35.072c0 6.656 1.792 13.568 2.56 20.48s1.792 20.48 2.816 30.464c0 5.376 1.792 10.752 2.304 16.384a83.2 83.2 0 0 1-6.4 31.744 91.136 91.136 0 0 0-2.816 11.264 5.376 5.376 0 0 0 3.328 3.84h65.536c3.072 0 4.352 0 3.072-4.352-2.56-7.424-4.352-14.848-6.4-22.272a84.48 84.48 0 0 1-2.304-8.96 83.2 83.2 0 0 1 1.792-30.976 190.72 190.72 0 0 0 2.816-22.272c0-10.752 1.536-21.504 2.816-32.256 2.048-15.616 4.608-31.488 6.656-47.104 0-6.912 1.792-14.08 2.56-20.992s1.792-21.248 2.816-31.744c0-6.4 1.536-12.8 2.56-19.2 0 0 1.792-2.304 3.84-4.608 3.072 11.776 5.376 21.76 8.192 31.744s5.888 20.224 8.96 30.464 3.584 14.336 5.632 21.504 4.608 15.36 6.656 23.296 3.584 14.336 5.632 21.248 4.352 15.104 6.4 22.784 3.84 14.08 5.632 21.248l6.656 23.808c2.048 7.168 3.584 14.592 5.632 22.016s4.352 15.104 6.656 22.784 3.584 13.824 5.632 20.736 0 7.424 3.072 9.216a12.544 12.544 0 0 0 10.24 2.304c13.056-4.608 25.6-10.496 38.912-15.36l40.448-15.104 32-12.544a176.896 176.896 0 0 0 38.912-20.736 67.84 67.84 0 0 0 24.064-29.696 64 64 0 0 0 2.816-17.408c0-10.752 1.536-21.504 2.816-32.256l4.608-38.144v-1.792c0-12.8 1.792-25.6 2.816-38.4 0-8.96 1.28-17.664 2.56-25.6a28.928 28.928 0 0 0-28.672-28.672H214.528a27.904 27.904 0 0 0-25.6 10.496 39.68 39.68 0 0 0-5.12 33.024 15.36 15.36 0 0 1 0 3.328c0 12.544 1.792 25.6 3.072 37.888s2.816 21.504 4.352 32v1.28a337.408 337.408 0 0 0 3.072 37.632 76.8 76.8 0 0 0 10.496 35.84 109.312 109.312 0 0 0 29.44 27.136 302.848 302.848 0 0 0 56.32 25.6c15.104 5.888 29.952 12.032 45.056 18.176s25.6 9.984 38.144 14.592a9.728 9.728 0 0 0 12.8-7.936c1.792-7.936 4.608-15.616 6.656-23.296s3.584-14.336 5.632-21.504 4.608-15.616 6.656-23.296 3.584-13.824 5.632-20.736l9.216-32.768c2.048-6.912 3.584-13.824 5.376-20.736s4.608-15.872 6.912-23.808 3.584-14.336 5.632-21.504 4.608-15.36 6.656-23.296 3.84-14.336 5.632-21.504 5.12-19.712 7.68-29.696l4.096-3.584zM358.4 547.84c2.304 12.544 4.864 28.16 8.192 43.776a145.664 145.664 0 0 0 22.016 51.2 153.6 153.6 0 0 0 59.392 54.016 113.92 113.92 0 0 0 35.328 12.288A210.688 210.688 0 0 0 512 712.704a142.848 142.848 0 0 0 29.184-3.584 146.432 146.432 0 0 0 25.6-7.68 147.968 147.968 0 0 0 59.392-44.288 179.2 179.2 0 0 0 27.904-47.104 184.32 184.32 0 0 0 7.936-30.72 139.52 139.52 0 0 0 3.584-28.416 303.36 303.36 0 0 0-3.072-38.912c0-7.68-3.328-15.104-5.12-22.528a171.52 171.52 0 0 0-17.408-41.216 181.248 181.248 0 0 0-47.104-57.088 132.096 132.096 0 0 0-43.008-23.552 115.456 115.456 0 0 0-43.008-6.656 130.816 130.816 0 0 0-64.512 23.04 153.6 153.6 0 0 0-44.032 43.52 332.8 332.8 0 0 0-21.504 37.888 243.2 243.2 0 0 0-12.032 35.328 111.872 111.872 0 0 0-2.816 18.432c0 8.704-2.048 17.152-3.328 29.184z m0 0" horiz-adv-x="1024" />
<glyph glyph-name="ziyuan1" unicode="&#58897;" d="M0 896m204.8 0l614.4 0q204.8 0 204.8-204.8l0-614.4q0-204.8-204.8-204.8l-614.4 0q-204.8 0-204.8 204.8l0 614.4q0 204.8 204.8 204.8ZM696.32 312.576a493.568 493.568 0 0 1-158.72 67.072 290.56 290.56 0 0 1 47.872 90.112 169.472 169.472 0 0 1 6.144 67.84 315.904 315.904 0 0 1 0 68.352c-16.384 58.624-58.112 74.496-106.752 74.496s-90.368-16.128-106.752-74.752a323.84 323.84 0 0 1 0-68.352 169.728 169.728 0 0 1 5.888-67.84 293.12 293.12 0 0 1 48.128-90.112 381.44 381.44 0 0 1-155.392-67.072c-63.232-43.008-68.096-65.28-68.096-65.28V128a51.2 51.2 0 0 1 51.2-51.2H716.8a51.2 51.2 0 0 1 51.2 51.2v119.04s-8.192 27.904-71.936 65.28zM671.232 666.624m23.808 0l174.08 0q23.808 0 23.808-23.808l0-0.256q0-23.808-23.808-23.808l-174.08 0q-23.808 0-23.808 23.808l0 0.256q0 23.808 23.808 23.808ZM757.248 559.872m23.808 0l87.808 0q23.808 0 23.808-23.808l0-0.256q0-23.808-23.808-23.808l-87.808 0q-23.808 0-23.808 23.808l0 0.256q0 23.808 23.808 23.808ZM698.624 453.632m23.808 0l146.432 0q23.808 0 23.808-23.808l0-0.256q0-23.808-23.808-23.808l-146.432 0q-23.808 0-23.808 23.808l0 0.256q0 23.808 23.808 23.808ZM401.152 391.68s88.576-42.752 162.816 0l58.368-16.384a224.768 224.768 0 0 0-274.688 0 297.216 297.216 0 0 0 53.76 16.384" horiz-adv-x="1024" />
<glyph glyph-name="shouyi" unicode="&#58999;" d="M868.1 352.1l-299.5 25.7c-8.7 0.7-16.2 5.5-20.6 13.1-4.4 7.6-4.8 16.5-1 24.4l130.5 278.6c7.4 15.9 7.8 34.3 0.9 50.4-6.9 16.1-20.4 28.6-37 34.2-50.6 17.1-103.7 24.4-157.7 21.9C262.9 790 83.6 608.9 75.4 388.1 71 270.3 113.5 158.7 195.1 74c81.7-84.8 191.4-131.5 309.1-131.5 202 0 374.2 137.4 418.6 334.2 4 17.6 0.2 35.9-10.4 50.4-10.5 14.4-26.6 23.5-44.3 25zM504.2-22.3c-108 0-208.8 42.9-283.8 120.7-74.9 77.8-114 180.2-109.9 288.4 7.6 202.7 172.2 368.9 374.7 378.4 6.4 0.3 12.7 0.5 19 0.5 43 0 85.2-6.9 125.7-20.5 7.2-2.4 12.8-7.6 15.8-14.7 3-7 2.9-14.7-0.4-21.6L515 430.2c-8.5-18.2-7.6-39.5 2.4-56.9 10.1-17.4 28-28.9 48.1-30.6L865.1 317c7.7-0.7 14.4-4.4 19-10.7s6.2-14.2 4.5-21.9c-40.9-180.5-198.9-306.7-384.4-306.7zM815.4 696.1c-8.9 5.5-19.8 6.8-29.9 3.8-10.1-3.1-18.5-10.3-23-19.8l-84.3-179.9c-5.1-11-4.6-23.8 1.5-34.3 6.1-10.5 16.9-17.4 28.9-18.4l195.1-16.8c1.1-0.1 2.1-0.2 3.2-0.2 9.2 0 18.2 3.5 25.1 9.8 7.5 6.8 11.8 16.6 11.8 27 0 94.1-48 179.6-128.4 228.8z m84.6-222c-1.9-1.8-4.4-2.6-7-2.4l-168.9 14.5c-3.1 0.3-5.7 2-7.2 4.6-1.6 2.6-1.7 5.7-0.4 8.5l72.9 155.8c1.1 2.4 3.2 4.2 5.8 4.9 0.7 0.2 1.6 0.4 2.7 0.4 1.4 0 3-0.3 4.7-1.3 62.7-38.4 100.1-105.1 100.1-178.7 0.1-3.2-1.6-5.4-2.7-6.3z" horiz-adv-x="1024" />
<glyph glyph-name="shouye1" unicode="&#58904;" d="M1009.158986 829.683524L889.662378-47.696842c-0.019961 0-0.039922-0.009981-0.059883-0.009981a28.937481 28.937481 0 0 0-40.640624-25.41037l-0.029941-0.029942-325.594074 137.960546-64.474074-132.750721a28.904546 28.904546 0 0 0-54.475603 0.179649L324.865497 108.538012l39.810246 45.70074L796.913528 653.780086 225.66924 190.947057 21.37625 277.517973c0.03094 0.089825 0.058885 0.179649 0.088826 0.269473a29.867665 29.867665 0 0 0 0.424172 54.952671L966.681949 862.505419c0.059883-0.077848 0.109786-0.152702 0.169669-0.23055a28.904546 28.904546 0 0 0 42.307368-32.591345z" horiz-adv-x="1024" />
<glyph glyph-name="dingdan" unicode="&#59027;" d="M732.806026-54.719397h-462.824858c-84.851224 0-154.274953 71.352166-154.274953 156.203389v474.395481c0 86.779661 69.423729 156.20339 154.274953 156.20339h15.427495v-77.137477h-15.427495c-42.425612 0-77.137476-36.640301-77.137477-79.065913V101.483992c0-44.354049 34.711864-79.065913 77.137477-79.065913h462.824858c42.425612 0 77.137476 36.640301 77.137477 79.065913v474.395481c0 44.354049-34.711864 79.065913-77.137477 79.065913h-42.425612v77.137477h42.425612c84.851224 0 154.274953-71.352166 154.274953-156.20339V101.483992c0-84.851224-69.423729-156.20339-154.274953-156.203389zM626.741996 583.59322h-250.696798c-57.853107 0-106.06403 42.425612-106.06403 94.493409v48.210923c0 52.067797 48.210923 94.493409 106.06403 94.493408h250.696798c57.853107 0 106.06403-42.425612 106.06403-94.493408v-48.210923c0-52.067797-48.210923-94.493409-106.06403-94.493409z m-250.696798 158.131827c-17.355932 0-28.926554-9.642185-28.926554-17.355932v-48.210923c0-7.713748 11.570621-17.355932 28.926554-17.355932h250.696798c17.355932 0 28.926554 9.642185 28.926554 17.355932v48.210923c0 7.713748-11.570621 17.355932-28.926554 17.355932h-250.696798zM705.80791 413.890772H289.265537c-21.212806 0-38.568738 17.355932-38.568739 38.568738s17.355932 38.568738 38.568739 38.568739h416.542373c21.212806 0 38.568738-17.355932 38.568738-38.568739s-17.355932-38.568738-38.568738-38.568738zM705.80791 278.900188H289.265537c-21.212806 0-38.568738 17.355932-38.568739 38.568739s17.355932 38.568738 38.568739 38.568738h416.542373c21.212806 0 38.568738-17.355932 38.568738-38.568738s-17.355932-38.568738-38.568738-38.568739zM520.677966 143.909605h-231.412429c-21.212806 0-38.568738 17.355932-38.568739 38.568738s17.355932 38.568738 38.568739 38.568738h231.412429c21.212806 0 38.568738-17.355932 38.568738-38.568738s-17.355932-38.568738-38.568738-38.568738z" horiz-adv-x="1039" />
</font>
</defs></svg>
/*!
* Vue.js v2.5.17
* (c) 2014-2018 Evan You
* Released under the MIT License.
*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.Vue=t()}(this,function(){"use strict";var y=Object.freeze({});function M(e){return null==e}function D(e){return null!=e}function S(e){return!0===e}function T(e){return"string"==typeof e||"number"==typeof e||"symbol"==typeof e||"boolean"==typeof e}function P(e){return null!==e&&"object"==typeof e}var r=Object.prototype.toString;function l(e){return"[object Object]"===r.call(e)}function i(e){var t=parseFloat(String(e));return 0<=t&&Math.floor(t)===t&&isFinite(e)}function t(e){return null==e?"":"object"==typeof e?JSON.stringify(e,null,2):String(e)}function F(e){var t=parseFloat(e);return isNaN(t)?e:t}function s(e,t){for(var n=Object.create(null),r=e.split(","),i=0;i<r.length;i++)n[r[i]]=!0;return t?function(e){return n[e.toLowerCase()]}:function(e){return n[e]}}var c=s("slot,component",!0),u=s("key,ref,slot,slot-scope,is");function f(e,t){if(e.length){var n=e.indexOf(t);if(-1<n)return e.splice(n,1)}}var n=Object.prototype.hasOwnProperty;function p(e,t){return n.call(e,t)}function e(t){var n=Object.create(null);return function(e){return n[e]||(n[e]=t(e))}}var o=/-(\w)/g,g=e(function(e){return e.replace(o,function(e,t){return t?t.toUpperCase():""})}),d=e(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}),a=/\B([A-Z])/g,_=e(function(e){return e.replace(a,"-$1").toLowerCase()});var v=Function.prototype.bind?function(e,t){return e.bind(t)}:function(n,r){function e(e){var t=arguments.length;return t?1<t?n.apply(r,arguments):n.call(r,e):n.call(r)}return e._length=n.length,e};function h(e,t){t=t||0;for(var n=e.length-t,r=new Array(n);n--;)r[n]=e[n+t];return r}function m(e,t){for(var n in t)e[n]=t[n];return e}function b(e){for(var t={},n=0;n<e.length;n++)e[n]&&m(t,e[n]);return t}function $(e,t,n){}var O=function(e,t,n){return!1},w=function(e){return e};function C(t,n){if(t===n)return!0;var e=P(t),r=P(n);if(!e||!r)return!e&&!r&&String(t)===String(n);try{var i=Array.isArray(t),o=Array.isArray(n);if(i&&o)return t.length===n.length&&t.every(function(e,t){return C(e,n[t])});if(i||o)return!1;var a=Object.keys(t),s=Object.keys(n);return a.length===s.length&&a.every(function(e){return C(t[e],n[e])})}catch(e){return!1}}function x(e,t){for(var n=0;n<e.length;n++)if(C(e[n],t))return n;return-1}function R(e){var t=!1;return function(){t||(t=!0,e.apply(this,arguments))}}var E="data-server-rendered",k=["component","directive","filter"],A=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured"],j={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:O,isReservedAttr:O,isUnknownElement:O,getTagNamespace:$,parsePlatformTagName:w,mustUseProp:O,_lifecycleHooks:A};function N(e,t,n,r){Object.defineProperty(e,t,{value:n,enumerable:!!r,writable:!0,configurable:!0})}var L=/[^\w.$]/;var I,H="__proto__"in{},B="undefined"!=typeof window,U="undefined"!=typeof WXEnvironment&&!!WXEnvironment.platform,V=U&&WXEnvironment.platform.toLowerCase(),z=B&&window.navigator.userAgent.toLowerCase(),K=z&&/msie|trident/.test(z),J=z&&0<z.indexOf("msie 9.0"),q=z&&0<z.indexOf("edge/"),W=(z&&z.indexOf("android"),z&&/iphone|ipad|ipod|ios/.test(z)||"ios"===V),G=(z&&/chrome\/\d+/.test(z),{}.watch),Z=!1;if(B)try{var X={};Object.defineProperty(X,"passive",{get:function(){Z=!0}}),window.addEventListener("test-passive",null,X)}catch(e){}var Y=function(){return void 0===I&&(I=!B&&!U&&"undefined"!=typeof global&&"server"===global.process.env.VUE_ENV),I},Q=B&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function ee(e){return"function"==typeof e&&/native code/.test(e.toString())}var te,ne="undefined"!=typeof Symbol&&ee(Symbol)&&"undefined"!=typeof Reflect&&ee(Reflect.ownKeys);te="undefined"!=typeof Set&&ee(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var re=$,ie=0,oe=function(){this.id=ie++,this.subs=[]};oe.prototype.addSub=function(e){this.subs.push(e)},oe.prototype.removeSub=function(e){f(this.subs,e)},oe.prototype.depend=function(){oe.target&&oe.target.addDep(this)},oe.prototype.notify=function(){for(var e=this.subs.slice(),t=0,n=e.length;t<n;t++)e[t].update()},oe.target=null;var ae=[];function se(e){oe.target&&ae.push(oe.target),oe.target=e}function ce(){oe.target=ae.pop()}var le=function(e,t,n,r,i,o,a,s){this.tag=e,this.data=t,this.children=n,this.text=r,this.elm=i,this.ns=void 0,this.context=o,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=t&&t.key,this.componentOptions=a,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=s,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1},ue={child:{configurable:!0}};ue.child.get=function(){return this.componentInstance},Object.defineProperties(le.prototype,ue);var fe=function(e){void 0===e&&(e="");var t=new le;return t.text=e,t.isComment=!0,t};function pe(e){return new le(void 0,void 0,void 0,String(e))}function de(e){var t=new le(e.tag,e.data,e.children,e.text,e.elm,e.context,e.componentOptions,e.asyncFactory);return t.ns=e.ns,t.isStatic=e.isStatic,t.key=e.key,t.isComment=e.isComment,t.fnContext=e.fnContext,t.fnOptions=e.fnOptions,t.fnScopeId=e.fnScopeId,t.isCloned=!0,t}var ve=Array.prototype,he=Object.create(ve);["push","pop","shift","unshift","splice","sort","reverse"].forEach(function(o){var a=ve[o];N(he,o,function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var n,r=a.apply(this,e),i=this.__ob__;switch(o){case"push":case"unshift":n=e;break;case"splice":n=e.slice(2)}return n&&i.observeArray(n),i.dep.notify(),r})});var me=Object.getOwnPropertyNames(he),ye=!0;function ge(e){ye=e}var _e=function(e){(this.value=e,this.dep=new oe,this.vmCount=0,N(e,"__ob__",this),Array.isArray(e))?((H?be:$e)(e,he,me),this.observeArray(e)):this.walk(e)};function be(e,t,n){e.__proto__=t}function $e(e,t,n){for(var r=0,i=n.length;r<i;r++){var o=n[r];N(e,o,t[o])}}function we(e,t){var n;if(P(e)&&!(e instanceof le))return p(e,"__ob__")&&e.__ob__ instanceof _e?n=e.__ob__:ye&&!Y()&&(Array.isArray(e)||l(e))&&Object.isExtensible(e)&&!e._isVue&&(n=new _e(e)),t&&n&&n.vmCount++,n}function Ce(n,e,r,t,i){var o=new oe,a=Object.getOwnPropertyDescriptor(n,e);if(!a||!1!==a.configurable){var s=a&&a.get;s||2!==arguments.length||(r=n[e]);var c=a&&a.set,l=!i&&we(r);Object.defineProperty(n,e,{enumerable:!0,configurable:!0,get:function(){var e=s?s.call(n):r;return oe.target&&(o.depend(),l&&(l.dep.depend(),Array.isArray(e)&&function e(t){for(var n=void 0,r=0,i=t.length;r<i;r++)(n=t[r])&&n.__ob__&&n.__ob__.dep.depend(),Array.isArray(n)&&e(n)}(e))),e},set:function(e){var t=s?s.call(n):r;e===t||e!=e&&t!=t||(c?c.call(n,e):r=e,l=!i&&we(e),o.notify())}})}}function xe(e,t,n){if(Array.isArray(e)&&i(t))return e.length=Math.max(e.length,t),e.splice(t,1,n),n;if(t in e&&!(t in Object.prototype))return e[t]=n;var r=e.__ob__;return e._isVue||r&&r.vmCount?n:r?(Ce(r.value,t,n),r.dep.notify(),n):e[t]=n}function ke(e,t){if(Array.isArray(e)&&i(t))e.splice(t,1);else{var n=e.__ob__;e._isVue||n&&n.vmCount||p(e,t)&&(delete e[t],n&&n.dep.notify())}}_e.prototype.walk=function(e){for(var t=Object.keys(e),n=0;n<t.length;n++)Ce(e,t[n])},_e.prototype.observeArray=function(e){for(var t=0,n=e.length;t<n;t++)we(e[t])};var Ae=j.optionMergeStrategies;function Oe(e,t){if(!t)return e;for(var n,r,i,o=Object.keys(t),a=0;a<o.length;a++)r=e[n=o[a]],i=t[n],p(e,n)?l(r)&&l(i)&&Oe(r,i):xe(e,n,i);return e}function Se(n,r,i){return i?function(){var e="function"==typeof r?r.call(i,i):r,t="function"==typeof n?n.call(i,i):n;return e?Oe(e,t):t}:r?n?function(){return Oe("function"==typeof r?r.call(this,this):r,"function"==typeof n?n.call(this,this):n)}:r:n}function Te(e,t){return t?e?e.concat(t):Array.isArray(t)?t:[t]:e}function Ee(e,t,n,r){var i=Object.create(e||null);return t?m(i,t):i}Ae.data=function(e,t,n){return n?Se(e,t,n):t&&"function"!=typeof t?e:Se(e,t)},A.forEach(function(e){Ae[e]=Te}),k.forEach(function(e){Ae[e+"s"]=Ee}),Ae.watch=function(e,t,n,r){if(e===G&&(e=void 0),t===G&&(t=void 0),!t)return Object.create(e||null);if(!e)return t;var i={};for(var o in m(i,e),t){var a=i[o],s=t[o];a&&!Array.isArray(a)&&(a=[a]),i[o]=a?a.concat(s):Array.isArray(s)?s:[s]}return i},Ae.props=Ae.methods=Ae.inject=Ae.computed=function(e,t,n,r){if(!e)return t;var i=Object.create(null);return m(i,e),t&&m(i,t),i},Ae.provide=Se;var je=function(e,t){return void 0===t?e:t};function Ne(n,r,i){"function"==typeof r&&(r=r.options),function(e,t){var n=e.props;if(n){var r,i,o={};if(Array.isArray(n))for(r=n.length;r--;)"string"==typeof(i=n[r])&&(o[g(i)]={type:null});else if(l(n))for(var a in n)i=n[a],o[g(a)]=l(i)?i:{type:i};e.props=o}}(r),function(e,t){var n=e.inject;if(n){var r=e.inject={};if(Array.isArray(n))for(var i=0;i<n.length;i++)r[n[i]]={from:n[i]};else if(l(n))for(var o in n){var a=n[o];r[o]=l(a)?m({from:o},a):{from:a}}}}(r),function(e){var t=e.directives;if(t)for(var n in t){var r=t[n];"function"==typeof r&&(t[n]={bind:r,update:r})}}(r);var e=r.extends;if(e&&(n=Ne(n,e,i)),r.mixins)for(var t=0,o=r.mixins.length;t<o;t++)n=Ne(n,r.mixins[t],i);var a,s={};for(a in n)c(a);for(a in r)p(n,a)||c(a);function c(e){var t=Ae[e]||je;s[e]=t(n[e],r[e],i,e)}return s}function Le(e,t,n,r){if("string"==typeof n){var i=e[t];if(p(i,n))return i[n];var o=g(n);if(p(i,o))return i[o];var a=d(o);return p(i,a)?i[a]:i[n]||i[o]||i[a]}}function Ie(e,t,n,r){var i=t[e],o=!p(n,e),a=n[e],s=Pe(Boolean,i.type);if(-1<s)if(o&&!p(i,"default"))a=!1;else if(""===a||a===_(e)){var c=Pe(String,i.type);(c<0||s<c)&&(a=!0)}if(void 0===a){a=function(e,t,n){if(!p(t,"default"))return;var r=t.default;if(e&&e.$options.propsData&&void 0===e.$options.propsData[n]&&void 0!==e._props[n])return e._props[n];return"function"==typeof r&&"Function"!==Me(t.type)?r.call(e):r}(r,i,e);var l=ye;ge(!0),we(a),ge(l)}return a}function Me(e){var t=e&&e.toString().match(/^\s*function (\w+)/);return t?t[1]:""}function De(e,t){return Me(e)===Me(t)}function Pe(e,t){if(!Array.isArray(t))return De(t,e)?0:-1;for(var n=0,r=t.length;n<r;n++)if(De(t[n],e))return n;return-1}function Fe(e,t,n){if(t)for(var r=t;r=r.$parent;){var i=r.$options.errorCaptured;if(i)for(var o=0;o<i.length;o++)try{if(!1===i[o].call(r,e,t,n))return}catch(e){Re(e,r,"errorCaptured hook")}}Re(e,t,n)}function Re(e,t,n){if(j.errorHandler)try{return j.errorHandler.call(null,e,t,n)}catch(e){He(e,null,"config.errorHandler")}He(e,t,n)}function He(e,t,n){if(!B&&!U||"undefined"==typeof console)throw e;console.error(e)}var Be,Ue,Ve=[],ze=!1;function Ke(){ze=!1;for(var e=Ve.slice(0),t=Ve.length=0;t<e.length;t++)e[t]()}var Je=!1;if("undefined"!=typeof setImmediate&&ee(setImmediate))Ue=function(){setImmediate(Ke)};else if("undefined"==typeof MessageChannel||!ee(MessageChannel)&&"[object MessageChannelConstructor]"!==MessageChannel.toString())Ue=function(){setTimeout(Ke,0)};else{var qe=new MessageChannel,We=qe.port2;qe.port1.onmessage=Ke,Ue=function(){We.postMessage(1)}}if("undefined"!=typeof Promise&&ee(Promise)){var Ge=Promise.resolve();Be=function(){Ge.then(Ke),W&&setTimeout($)}}else Be=Ue;function Ze(e,t){var n;if(Ve.push(function(){if(e)try{e.call(t)}catch(e){Fe(e,t,"nextTick")}else n&&n(t)}),ze||(ze=!0,Je?Ue():Be()),!e&&"undefined"!=typeof Promise)return new Promise(function(e){n=e})}var Xe=new te;function Ye(e){!function e(t,n){var r,i;var o=Array.isArray(t);if(!o&&!P(t)||Object.isFrozen(t)||t instanceof le)return;if(t.__ob__){var a=t.__ob__.dep.id;if(n.has(a))return;n.add(a)}if(o)for(r=t.length;r--;)e(t[r],n);else for(i=Object.keys(t),r=i.length;r--;)e(t[i[r]],n)}(e,Xe),Xe.clear()}var Qe,et=e(function(e){var t="&"===e.charAt(0),n="~"===(e=t?e.slice(1):e).charAt(0),r="!"===(e=n?e.slice(1):e).charAt(0);return{name:e=r?e.slice(1):e,once:n,capture:r,passive:t}});function tt(e){function i(){var e=arguments,t=i.fns;if(!Array.isArray(t))return t.apply(null,arguments);for(var n=t.slice(),r=0;r<n.length;r++)n[r].apply(null,e)}return i.fns=e,i}function nt(e,t,n,r,i){var o,a,s,c;for(o in e)a=e[o],s=t[o],c=et(o),M(a)||(M(s)?(M(a.fns)&&(a=e[o]=tt(a)),n(c.name,a,c.once,c.capture,c.passive,c.params)):a!==s&&(s.fns=a,e[o]=s));for(o in t)M(e[o])&&r((c=et(o)).name,t[o],c.capture)}function rt(e,t,n){var r;e instanceof le&&(e=e.data.hook||(e.data.hook={}));var i=e[t];function o(){n.apply(this,arguments),f(r.fns,o)}M(i)?r=tt([o]):D(i.fns)&&S(i.merged)?(r=i).fns.push(o):r=tt([i,o]),r.merged=!0,e[t]=r}function it(e,t,n,r,i){if(D(t)){if(p(t,n))return e[n]=t[n],i||delete t[n],!0;if(p(t,r))return e[n]=t[r],i||delete t[r],!0}return!1}function ot(e){return T(e)?[pe(e)]:Array.isArray(e)?function e(t,n){var r=[];var i,o,a,s;for(i=0;i<t.length;i++)M(o=t[i])||"boolean"==typeof o||(a=r.length-1,s=r[a],Array.isArray(o)?0<o.length&&(at((o=e(o,(n||"")+"_"+i))[0])&&at(s)&&(r[a]=pe(s.text+o[0].text),o.shift()),r.push.apply(r,o)):T(o)?at(s)?r[a]=pe(s.text+o):""!==o&&r.push(pe(o)):at(o)&&at(s)?r[a]=pe(s.text+o.text):(S(t._isVList)&&D(o.tag)&&M(o.key)&&D(n)&&(o.key="__vlist"+n+"_"+i+"__"),r.push(o)));return r}(e):void 0}function at(e){return D(e)&&D(e.text)&&!1===e.isComment}function st(e,t){return(e.__esModule||ne&&"Module"===e[Symbol.toStringTag])&&(e=e.default),P(e)?t.extend(e):e}function ct(e){return e.isComment&&e.asyncFactory}function lt(e){if(Array.isArray(e))for(var t=0;t<e.length;t++){var n=e[t];if(D(n)&&(D(n.componentOptions)||ct(n)))return n}}function ut(e,t,n){n?Qe.$once(e,t):Qe.$on(e,t)}function ft(e,t){Qe.$off(e,t)}function pt(e,t,n){Qe=e,nt(t,n||{},ut,ft),Qe=void 0}function dt(e,t){var n={};if(!e)return n;for(var r=0,i=e.length;r<i;r++){var o=e[r],a=o.data;if(a&&a.attrs&&a.attrs.slot&&delete a.attrs.slot,o.context!==t&&o.fnContext!==t||!a||null==a.slot)(n.default||(n.default=[])).push(o);else{var s=a.slot,c=n[s]||(n[s]=[]);"template"===o.tag?c.push.apply(c,o.children||[]):c.push(o)}}for(var l in n)n[l].every(vt)&&delete n[l];return n}function vt(e){return e.isComment&&!e.asyncFactory||" "===e.text}function ht(e,t){t=t||{};for(var n=0;n<e.length;n++)Array.isArray(e[n])?ht(e[n],t):t[e[n].key]=e[n].fn;return t}var mt=null;function yt(e){for(;e&&(e=e.$parent);)if(e._inactive)return!0;return!1}function gt(e,t){if(t){if(e._directInactive=!1,yt(e))return}else if(e._directInactive)return;if(e._inactive||null===e._inactive){e._inactive=!1;for(var n=0;n<e.$children.length;n++)gt(e.$children[n]);_t(e,"activated")}}function _t(t,n){se();var e=t.$options[n];if(e)for(var r=0,i=e.length;r<i;r++)try{e[r].call(t)}catch(e){Fe(e,t,n+" hook")}t._hasHookEvent&&t.$emit("hook:"+n),ce()}var bt=[],$t=[],wt={},Ct=!1,xt=!1,kt=0;function At(){var e,t;for(xt=!0,bt.sort(function(e,t){return e.id-t.id}),kt=0;kt<bt.length;kt++)t=(e=bt[kt]).id,wt[t]=null,e.run();var n=$t.slice(),r=bt.slice();kt=bt.length=$t.length=0,wt={},Ct=xt=!1,function(e){for(var t=0;t<e.length;t++)e[t]._inactive=!0,gt(e[t],!0)}(n),function(e){var t=e.length;for(;t--;){var n=e[t],r=n.vm;r._watcher===n&&r._isMounted&&_t(r,"updated")}}(r),Q&&j.devtools&&Q.emit("flush")}var Ot=0,St=function(e,t,n,r,i){this.vm=e,i&&(e._watcher=this),e._watchers.push(this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync):this.deep=this.user=this.lazy=this.sync=!1,this.cb=n,this.id=++Ot,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new te,this.newDepIds=new te,this.expression="","function"==typeof t?this.getter=t:(this.getter=function(e){if(!L.test(e)){var n=e.split(".");return function(e){for(var t=0;t<n.length;t++){if(!e)return;e=e[n[t]]}return e}}}(t),this.getter||(this.getter=function(){})),this.value=this.lazy?void 0:this.get()};St.prototype.get=function(){var e;se(this);var t=this.vm;try{e=this.getter.call(t,t)}catch(e){if(!this.user)throw e;Fe(e,t,'getter for watcher "'+this.expression+'"')}finally{this.deep&&Ye(e),ce(),this.cleanupDeps()}return e},St.prototype.addDep=function(e){var t=e.id;this.newDepIds.has(t)||(this.newDepIds.add(t),this.newDeps.push(e),this.depIds.has(t)||e.addSub(this))},St.prototype.cleanupDeps=function(){for(var e=this.deps.length;e--;){var t=this.deps[e];this.newDepIds.has(t.id)||t.removeSub(this)}var n=this.depIds;this.depIds=this.newDepIds,this.newDepIds=n,this.newDepIds.clear(),n=this.deps,this.deps=this.newDeps,this.newDeps=n,this.newDeps.length=0},St.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():function(e){var t=e.id;if(null==wt[t]){if(wt[t]=!0,xt){for(var n=bt.length-1;kt<n&&bt[n].id>e.id;)n--;bt.splice(n+1,0,e)}else bt.push(e);Ct||(Ct=!0,Ze(At))}}(this)},St.prototype.run=function(){if(this.active){var e=this.get();if(e!==this.value||P(e)||this.deep){var t=this.value;if(this.value=e,this.user)try{this.cb.call(this.vm,e,t)}catch(e){Fe(e,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,e,t)}}},St.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},St.prototype.depend=function(){for(var e=this.deps.length;e--;)this.deps[e].depend()},St.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||f(this.vm._watchers,this);for(var e=this.deps.length;e--;)this.deps[e].removeSub(this);this.active=!1}};var Tt={enumerable:!0,configurable:!0,get:$,set:$};function Et(e,t,n){Tt.get=function(){return this[t][n]},Tt.set=function(e){this[t][n]=e},Object.defineProperty(e,n,Tt)}function jt(e){e._watchers=[];var t=e.$options;t.props&&function(n,r){var i=n.$options.propsData||{},o=n._props={},a=n.$options._propKeys=[];n.$parent&&ge(!1);var e=function(e){a.push(e);var t=Ie(e,r,i,n);Ce(o,e,t),e in n||Et(n,"_props",e)};for(var t in r)e(t);ge(!0)}(e,t.props),t.methods&&function(e,t){e.$options.props;for(var n in t)e[n]=null==t[n]?$:v(t[n],e)}(e,t.methods),t.data?function(e){var t=e.$options.data;l(t=e._data="function"==typeof t?function(e,t){se();try{return e.call(t,t)}catch(e){return Fe(e,t,"data()"),{}}finally{ce()}}(t,e):t||{})||(t={});var n=Object.keys(t),r=e.$options.props,i=(e.$options.methods,n.length);for(;i--;){var o=n[i];r&&p(r,o)||(void 0,36!==(a=(o+"").charCodeAt(0))&&95!==a&&Et(e,"_data",o))}var a;we(t,!0)}(e):we(e._data={},!0),t.computed&&function(e,t){var n=e._computedWatchers=Object.create(null),r=Y();for(var i in t){var o=t[i],a="function"==typeof o?o:o.get;r||(n[i]=new St(e,a||$,$,Nt)),i in e||Lt(e,i,o)}}(e,t.computed),t.watch&&t.watch!==G&&function(e,t){for(var n in t){var r=t[n];if(Array.isArray(r))for(var i=0;i<r.length;i++)Mt(e,n,r[i]);else Mt(e,n,r)}}(e,t.watch)}var Nt={lazy:!0};function Lt(e,t,n){var r=!Y();"function"==typeof n?(Tt.get=r?It(t):n,Tt.set=$):(Tt.get=n.get?r&&!1!==n.cache?It(t):n.get:$,Tt.set=n.set?n.set:$),Object.defineProperty(e,t,Tt)}function It(t){return function(){var e=this._computedWatchers&&this._computedWatchers[t];if(e)return e.dirty&&e.evaluate(),oe.target&&e.depend(),e.value}}function Mt(e,t,n,r){return l(n)&&(n=(r=n).handler),"string"==typeof n&&(n=e[n]),e.$watch(t,n,r)}function Dt(t,e){if(t){for(var n=Object.create(null),r=ne?Reflect.ownKeys(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}):Object.keys(t),i=0;i<r.length;i++){for(var o=r[i],a=t[o].from,s=e;s;){if(s._provided&&p(s._provided,a)){n[o]=s._provided[a];break}s=s.$parent}if(!s&&"default"in t[o]){var c=t[o].default;n[o]="function"==typeof c?c.call(e):c}}return n}}function Pt(e,t){var n,r,i,o,a;if(Array.isArray(e)||"string"==typeof e)for(n=new Array(e.length),r=0,i=e.length;r<i;r++)n[r]=t(e[r],r);else if("number"==typeof e)for(n=new Array(e),r=0;r<e;r++)n[r]=t(r+1,r);else if(P(e))for(o=Object.keys(e),n=new Array(o.length),r=0,i=o.length;r<i;r++)a=o[r],n[r]=t(e[a],a,r);return D(n)&&(n._isVList=!0),n}function Ft(e,t,n,r){var i,o=this.$scopedSlots[e];if(o)n=n||{},r&&(n=m(m({},r),n)),i=o(n)||t;else{var a=this.$slots[e];a&&(a._rendered=!0),i=a||t}var s=n&&n.slot;return s?this.$createElement("template",{slot:s},i):i}function Rt(e){return Le(this.$options,"filters",e)||w}function Ht(e,t){return Array.isArray(e)?-1===e.indexOf(t):e!==t}function Bt(e,t,n,r,i){var o=j.keyCodes[t]||n;return i&&r&&!j.keyCodes[t]?Ht(i,r):o?Ht(o,e):r?_(r)!==t:void 0}function Ut(n,r,i,o,a){if(i)if(P(i)){var s;Array.isArray(i)&&(i=b(i));var e=function(t){if("class"===t||"style"===t||u(t))s=n;else{var e=n.attrs&&n.attrs.type;s=o||j.mustUseProp(r,e,t)?n.domProps||(n.domProps={}):n.attrs||(n.attrs={})}t in s||(s[t]=i[t],a&&((n.on||(n.on={}))["update:"+t]=function(e){i[t]=e}))};for(var t in i)e(t)}else;return n}function Vt(e,t){var n=this._staticTrees||(this._staticTrees=[]),r=n[e];return r&&!t||Kt(r=n[e]=this.$options.staticRenderFns[e].call(this._renderProxy,null,this),"__static__"+e,!1),r}function zt(e,t,n){return Kt(e,"__once__"+t+(n?"_"+n:""),!0),e}function Kt(e,t,n){if(Array.isArray(e))for(var r=0;r<e.length;r++)e[r]&&"string"!=typeof e[r]&&Jt(e[r],t+"_"+r,n);else Jt(e,t,n)}function Jt(e,t,n){e.isStatic=!0,e.key=t,e.isOnce=n}function qt(e,t){if(t)if(l(t)){var n=e.on=e.on?m({},e.on):{};for(var r in t){var i=n[r],o=t[r];n[r]=i?[].concat(i,o):o}}else;return e}function Wt(e){e._o=zt,e._n=F,e._s=t,e._l=Pt,e._t=Ft,e._q=C,e._i=x,e._m=Vt,e._f=Rt,e._k=Bt,e._b=Ut,e._v=pe,e._e=fe,e._u=ht,e._g=qt}function Gt(e,t,n,o,r){var a,s=r.options;p(o,"_uid")?(a=Object.create(o))._original=o:o=(a=o)._original;var i=S(s._compiled),c=!i;this.data=e,this.props=t,this.children=n,this.parent=o,this.listeners=e.on||y,this.injections=Dt(s.inject,o),this.slots=function(){return dt(n,o)},i&&(this.$options=s,this.$slots=this.slots(),this.$scopedSlots=e.scopedSlots||y),s._scopeId?this._c=function(e,t,n,r){var i=rn(a,e,t,n,r,c);return i&&!Array.isArray(i)&&(i.fnScopeId=s._scopeId,i.fnContext=o),i}:this._c=function(e,t,n,r){return rn(a,e,t,n,r,c)}}function Zt(e,t,n,r){var i=de(e);return i.fnContext=n,i.fnOptions=r,t.slot&&((i.data||(i.data={})).slot=t.slot),i}function Xt(e,t){for(var n in t)e[g(n)]=t[n]}Wt(Gt.prototype);var Yt={init:function(e,t,n,r){if(e.componentInstance&&!e.componentInstance._isDestroyed&&e.data.keepAlive){var i=e;Yt.prepatch(i,i)}else{(e.componentInstance=function(e,t,n,r){var i={_isComponent:!0,parent:t,_parentVnode:e,_parentElm:n||null,_refElm:r||null},o=e.data.inlineTemplate;D(o)&&(i.render=o.render,i.staticRenderFns=o.staticRenderFns);return new e.componentOptions.Ctor(i)}(e,mt,n,r)).$mount(t?e.elm:void 0,t)}},prepatch:function(e,t){var n=t.componentOptions;!function(e,t,n,r,i){var o=!!(i||e.$options._renderChildren||r.data.scopedSlots||e.$scopedSlots!==y);if(e.$options._parentVnode=r,e.$vnode=r,e._vnode&&(e._vnode.parent=r),e.$options._renderChildren=i,e.$attrs=r.data.attrs||y,e.$listeners=n||y,t&&e.$options.props){ge(!1);for(var a=e._props,s=e.$options._propKeys||[],c=0;c<s.length;c++){var l=s[c],u=e.$options.props;a[l]=Ie(l,u,t,e)}ge(!0),e.$options.propsData=t}n=n||y;var f=e.$options._parentListeners;e.$options._parentListeners=n,pt(e,n,f),o&&(e.$slots=dt(i,r.context),e.$forceUpdate())}(t.componentInstance=e.componentInstance,n.propsData,n.listeners,t,n.children)},insert:function(e){var t,n=e.context,r=e.componentInstance;r._isMounted||(r._isMounted=!0,_t(r,"mounted")),e.data.keepAlive&&(n._isMounted?((t=r)._inactive=!1,$t.push(t)):gt(r,!0))},destroy:function(e){var t=e.componentInstance;t._isDestroyed||(e.data.keepAlive?function e(t,n){if(!(n&&(t._directInactive=!0,yt(t))||t._inactive)){t._inactive=!0;for(var r=0;r<t.$children.length;r++)e(t.$children[r]);_t(t,"deactivated")}}(t,!0):t.$destroy())}},Qt=Object.keys(Yt);function en(e,t,n,r,i){if(!M(e)){var o=n.$options._base;if(P(e)&&(e=o.extend(e)),"function"==typeof e){var a,s,c,l,u,f,p;if(M(e.cid)&&void 0===(e=function(t,n,e){if(S(t.error)&&D(t.errorComp))return t.errorComp;if(D(t.resolved))return t.resolved;if(S(t.loading)&&D(t.loadingComp))return t.loadingComp;if(!D(t.contexts)){var r=t.contexts=[e],i=!0,o=function(){for(var e=0,t=r.length;e<t;e++)r[e].$forceUpdate()},a=R(function(e){t.resolved=st(e,n),i||o()}),s=R(function(e){D(t.errorComp)&&(t.error=!0,o())}),c=t(a,s);return P(c)&&("function"==typeof c.then?M(t.resolved)&&c.then(a,s):D(c.component)&&"function"==typeof c.component.then&&(c.component.then(a,s),D(c.error)&&(t.errorComp=st(c.error,n)),D(c.loading)&&(t.loadingComp=st(c.loading,n),0===c.delay?t.loading=!0:setTimeout(function(){M(t.resolved)&&M(t.error)&&(t.loading=!0,o())},c.delay||200)),D(c.timeout)&&setTimeout(function(){M(t.resolved)&&s(null)},c.timeout))),i=!1,t.loading?t.loadingComp:t.resolved}t.contexts.push(e)}(a=e,o,n)))return s=a,c=t,l=n,u=r,f=i,(p=fe()).asyncFactory=s,p.asyncMeta={data:c,context:l,children:u,tag:f},p;t=t||{},dn(e),D(t.model)&&function(e,t){var n=e.model&&e.model.prop||"value",r=e.model&&e.model.event||"input";(t.props||(t.props={}))[n]=t.model.value;var i=t.on||(t.on={});D(i[r])?i[r]=[t.model.callback].concat(i[r]):i[r]=t.model.callback}(e.options,t);var d=function(e,t,n){var r=t.options.props;if(!M(r)){var i={},o=e.attrs,a=e.props;if(D(o)||D(a))for(var s in r){var c=_(s);it(i,a,s,c,!0)||it(i,o,s,c,!1)}return i}}(t,e);if(S(e.options.functional))return function(e,t,n,r,i){var o=e.options,a={},s=o.props;if(D(s))for(var c in s)a[c]=Ie(c,s,t||y);else D(n.attrs)&&Xt(a,n.attrs),D(n.props)&&Xt(a,n.props);var l=new Gt(n,a,i,r,e),u=o.render.call(null,l._c,l);if(u instanceof le)return Zt(u,n,l.parent,o);if(Array.isArray(u)){for(var f=ot(u)||[],p=new Array(f.length),d=0;d<f.length;d++)p[d]=Zt(f[d],n,l.parent,o);return p}}(e,d,t,n,r);var v=t.on;if(t.on=t.nativeOn,S(e.options.abstract)){var h=t.slot;t={},h&&(t.slot=h)}!function(e){for(var t=e.hook||(e.hook={}),n=0;n<Qt.length;n++){var r=Qt[n];t[r]=Yt[r]}}(t);var m=e.options.name||i;return new le("vue-component-"+e.cid+(m?"-"+m:""),t,void 0,void 0,void 0,n,{Ctor:e,propsData:d,listeners:v,tag:i,children:r},a)}}}var tn=1,nn=2;function rn(e,t,n,r,i,o){return(Array.isArray(n)||T(n))&&(i=r,r=n,n=void 0),S(o)&&(i=nn),function(e,t,n,r,i){if(D(n)&&D(n.__ob__))return fe();D(n)&&D(n.is)&&(t=n.is);if(!t)return fe();Array.isArray(r)&&"function"==typeof r[0]&&((n=n||{}).scopedSlots={default:r[0]},r.length=0);i===nn?r=ot(r):i===tn&&(r=function(e){for(var t=0;t<e.length;t++)if(Array.isArray(e[t]))return Array.prototype.concat.apply([],e);return e}(r));var o,a;if("string"==typeof t){var s;a=e.$vnode&&e.$vnode.ns||j.getTagNamespace(t),o=j.isReservedTag(t)?new le(j.parsePlatformTagName(t),n,r,void 0,void 0,e):D(s=Le(e.$options,"components",t))?en(s,n,e,r,t):new le(t,n,r,void 0,void 0,e)}else o=en(t,n,e,r);return Array.isArray(o)?o:D(o)?(D(a)&&function e(t,n,r){t.ns=n;"foreignObject"===t.tag&&(n=void 0,r=!0);if(D(t.children))for(var i=0,o=t.children.length;i<o;i++){var a=t.children[i];D(a.tag)&&(M(a.ns)||S(r)&&"svg"!==a.tag)&&e(a,n,r)}}(o,a),D(n)&&function(e){P(e.style)&&Ye(e.style);P(e.class)&&Ye(e.class)}(n),o):fe()}(e,t,n,r,i)}var on,an,sn,cn,ln,un,fn,pn=0;function dn(e){var t=e.options;if(e.super){var n=dn(e.super);if(n!==e.superOptions){e.superOptions=n;var r=function(e){var t,n=e.options,r=e.extendOptions,i=e.sealedOptions;for(var o in n)n[o]!==i[o]&&(t||(t={}),t[o]=vn(n[o],r[o],i[o]));return t}(e);r&&m(e.extendOptions,r),(t=e.options=Ne(n,e.extendOptions)).name&&(t.components[t.name]=e)}}return t}function vn(e,t,n){if(Array.isArray(e)){var r=[];n=Array.isArray(n)?n:[n],t=Array.isArray(t)?t:[t];for(var i=0;i<e.length;i++)(0<=t.indexOf(e[i])||n.indexOf(e[i])<0)&&r.push(e[i]);return r}return e}function hn(e){this._init(e)}function mn(e){e.cid=0;var a=1;e.extend=function(e){e=e||{};var t=this,n=t.cid,r=e._Ctor||(e._Ctor={});if(r[n])return r[n];var i=e.name||t.options.name,o=function(e){this._init(e)};return((o.prototype=Object.create(t.prototype)).constructor=o).cid=a++,o.options=Ne(t.options,e),o.super=t,o.options.props&&function(e){var t=e.options.props;for(var n in t)Et(e.prototype,"_props",n)}(o),o.options.computed&&function(e){var t=e.options.computed;for(var n in t)Lt(e.prototype,n,t[n])}(o),o.extend=t.extend,o.mixin=t.mixin,o.use=t.use,k.forEach(function(e){o[e]=t[e]}),i&&(o.options.components[i]=o),o.superOptions=t.options,o.extendOptions=e,o.sealedOptions=m({},o.options),r[n]=o}}function yn(e){return e&&(e.Ctor.options.name||e.tag)}function gn(e,t){return Array.isArray(e)?-1<e.indexOf(t):"string"==typeof e?-1<e.split(",").indexOf(t):(n=e,"[object RegExp]"===r.call(n)&&e.test(t));var n}function _n(e,t){var n=e.cache,r=e.keys,i=e._vnode;for(var o in n){var a=n[o];if(a){var s=yn(a.componentOptions);s&&!t(s)&&bn(n,o,r,i)}}}function bn(e,t,n,r){var i=e[t];!i||r&&i.tag===r.tag||i.componentInstance.$destroy(),e[t]=null,f(n,t)}hn.prototype._init=function(e){var t,n,r,i,o=this;o._uid=pn++,o._isVue=!0,e&&e._isComponent?function(e,t){var n=e.$options=Object.create(e.constructor.options),r=t._parentVnode;n.parent=t.parent,n._parentVnode=r,n._parentElm=t._parentElm,n._refElm=t._refElm;var i=r.componentOptions;n.propsData=i.propsData,n._parentListeners=i.listeners,n._renderChildren=i.children,n._componentTag=i.tag,t.render&&(n.render=t.render,n.staticRenderFns=t.staticRenderFns)}(o,e):o.$options=Ne(dn(o.constructor),e||{},o),function(e){var t=e.$options,n=t.parent;if(n&&!t.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(e)}e.$parent=n,e.$root=n?n.$root:e,e.$children=[],e.$refs={},e._watcher=null,e._inactive=null,e._directInactive=!1,e._isMounted=!1,e._isDestroyed=!1,e._isBeingDestroyed=!1}((o._renderProxy=o)._self=o),function(e){e._events=Object.create(null),e._hasHookEvent=!1;var t=e.$options._parentListeners;t&&pt(e,t)}(o),function(i){i._vnode=null,i._staticTrees=null;var e=i.$options,t=i.$vnode=e._parentVnode,n=t&&t.context;i.$slots=dt(e._renderChildren,n),i.$scopedSlots=y,i._c=function(e,t,n,r){return rn(i,e,t,n,r,!1)},i.$createElement=function(e,t,n,r){return rn(i,e,t,n,r,!0)};var r=t&&t.data;Ce(i,"$attrs",r&&r.attrs||y,null,!0),Ce(i,"$listeners",e._parentListeners||y,null,!0)}(o),_t(o,"beforeCreate"),(n=Dt((t=o).$options.inject,t))&&(ge(!1),Object.keys(n).forEach(function(e){Ce(t,e,n[e])}),ge(!0)),jt(o),(i=(r=o).$options.provide)&&(r._provided="function"==typeof i?i.call(r):i),_t(o,"created"),o.$options.el&&o.$mount(o.$options.el)},on=hn,an={get:function(){return this._data}},sn={get:function(){return this._props}},Object.defineProperty(on.prototype,"$data",an),Object.defineProperty(on.prototype,"$props",sn),on.prototype.$set=xe,on.prototype.$delete=ke,on.prototype.$watch=function(e,t,n){if(l(t))return Mt(this,e,t,n);(n=n||{}).user=!0;var r=new St(this,e,t,n);return n.immediate&&t.call(this,r.value),function(){r.teardown()}},ln=/^hook:/,(cn=hn).prototype.$on=function(e,t){if(Array.isArray(e))for(var n=0,r=e.length;n<r;n++)this.$on(e[n],t);else(this._events[e]||(this._events[e]=[])).push(t),ln.test(e)&&(this._hasHookEvent=!0);return this},cn.prototype.$once=function(e,t){var n=this;function r(){n.$off(e,r),t.apply(n,arguments)}return r.fn=t,n.$on(e,r),n},cn.prototype.$off=function(e,t){var n=this;if(!arguments.length)return n._events=Object.create(null),n;if(Array.isArray(e)){for(var r=0,i=e.length;r<i;r++)this.$off(e[r],t);return n}var o=n._events[e];if(!o)return n;if(!t)return n._events[e]=null,n;if(t)for(var a,s=o.length;s--;)if((a=o[s])===t||a.fn===t){o.splice(s,1);break}return n},cn.prototype.$emit=function(t){var n=this,e=n._events[t];if(e){e=1<e.length?h(e):e;for(var r=h(arguments,1),i=0,o=e.length;i<o;i++)try{e[i].apply(n,r)}catch(e){Fe(e,n,'event handler for "'+t+'"')}}return n},(un=hn).prototype._update=function(e,t){var n=this;n._isMounted&&_t(n,"beforeUpdate");var r=n.$el,i=n._vnode,o=mt;(mt=n)._vnode=e,i?n.$el=n.__patch__(i,e):(n.$el=n.__patch__(n.$el,e,t,!1,n.$options._parentElm,n.$options._refElm),n.$options._parentElm=n.$options._refElm=null),mt=o,r&&(r.__vue__=null),n.$el&&(n.$el.__vue__=n),n.$vnode&&n.$parent&&n.$vnode===n.$parent._vnode&&(n.$parent.$el=n.$el)},un.prototype.$forceUpdate=function(){this._watcher&&this._watcher.update()},un.prototype.$destroy=function(){var e=this;if(!e._isBeingDestroyed){_t(e,"beforeDestroy"),e._isBeingDestroyed=!0;var t=e.$parent;!t||t._isBeingDestroyed||e.$options.abstract||f(t.$children,e),e._watcher&&e._watcher.teardown();for(var n=e._watchers.length;n--;)e._watchers[n].teardown();e._data.__ob__&&e._data.__ob__.vmCount--,e._isDestroyed=!0,e.__patch__(e._vnode,null),_t(e,"destroyed"),e.$off(),e.$el&&(e.$el.__vue__=null),e.$vnode&&(e.$vnode.parent=null)}},Wt((fn=hn).prototype),fn.prototype.$nextTick=function(e){return Ze(e,this)},fn.prototype._render=function(){var t,n=this,e=n.$options,r=e.render,i=e._parentVnode;i&&(n.$scopedSlots=i.data.scopedSlots||y),n.$vnode=i;try{t=r.call(n._renderProxy,n.$createElement)}catch(e){Fe(e,n,"render"),t=n._vnode}return t instanceof le||(t=fe()),t.parent=i,t};var $n,wn,Cn,xn=[String,RegExp,Array],kn={KeepAlive:{name:"keep-alive",abstract:!0,props:{include:xn,exclude:xn,max:[String,Number]},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var e in this.cache)bn(this.cache,e,this.keys)},mounted:function(){var e=this;this.$watch("include",function(t){_n(e,function(e){return gn(t,e)})}),this.$watch("exclude",function(t){_n(e,function(e){return!gn(t,e)})})},render:function(){var e=this.$slots.default,t=lt(e),n=t&&t.componentOptions;if(n){var r=yn(n),i=this.include,o=this.exclude;if(i&&(!r||!gn(i,r))||o&&r&&gn(o,r))return t;var a=this.cache,s=this.keys,c=null==t.key?n.Ctor.cid+(n.tag?"::"+n.tag:""):t.key;a[c]?(t.componentInstance=a[c].componentInstance,f(s,c),s.push(c)):(a[c]=t,s.push(c),this.max&&s.length>parseInt(this.max)&&bn(a,s[0],s,this._vnode)),t.data.keepAlive=!0}return t||e&&e[0]}}};$n=hn,Cn={get:function(){return j}},Object.defineProperty($n,"config",Cn),$n.util={warn:re,extend:m,mergeOptions:Ne,defineReactive:Ce},$n.set=xe,$n.delete=ke,$n.nextTick=Ze,$n.options=Object.create(null),k.forEach(function(e){$n.options[e+"s"]=Object.create(null)}),m(($n.options._base=$n).options.components,kn),$n.use=function(e){var t=this._installedPlugins||(this._installedPlugins=[]);if(-1<t.indexOf(e))return this;var n=h(arguments,1);return n.unshift(this),"function"==typeof e.install?e.install.apply(e,n):"function"==typeof e&&e.apply(null,n),t.push(e),this},$n.mixin=function(e){return this.options=Ne(this.options,e),this},mn($n),wn=$n,k.forEach(function(n){wn[n]=function(e,t){return t?("component"===n&&l(t)&&(t.name=t.name||e,t=this.options._base.extend(t)),"directive"===n&&"function"==typeof t&&(t={bind:t,update:t}),this.options[n+"s"][e]=t):this.options[n+"s"][e]}}),Object.defineProperty(hn.prototype,"$isServer",{get:Y}),Object.defineProperty(hn.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(hn,"FunctionalRenderContext",{value:Gt}),hn.version="2.5.17";var An=s("style,class"),On=s("input,textarea,option,select,progress"),Sn=function(e,t,n){return"value"===n&&On(e)&&"button"!==t||"selected"===n&&"option"===e||"checked"===n&&"input"===e||"muted"===n&&"video"===e},Tn=s("contenteditable,draggable,spellcheck"),En=s("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),jn="http://www.w3.org/1999/xlink",Nn=function(e){return":"===e.charAt(5)&&"xlink"===e.slice(0,5)},Ln=function(e){return Nn(e)?e.slice(6,e.length):""},In=function(e){return null==e||!1===e};function Mn(e){for(var t=e.data,n=e,r=e;D(r.componentInstance);)(r=r.componentInstance._vnode)&&r.data&&(t=Dn(r.data,t));for(;D(n=n.parent);)n&&n.data&&(t=Dn(t,n.data));return function(e,t){if(D(e)||D(t))return Pn(e,Fn(t));return""}(t.staticClass,t.class)}function Dn(e,t){return{staticClass:Pn(e.staticClass,t.staticClass),class:D(e.class)?[e.class,t.class]:t.class}}function Pn(e,t){return e?t?e+" "+t:e:t||""}function Fn(e){return Array.isArray(e)?function(e){for(var t,n="",r=0,i=e.length;r<i;r++)D(t=Fn(e[r]))&&""!==t&&(n&&(n+=" "),n+=t);return n}(e):P(e)?function(e){var t="";for(var n in e)e[n]&&(t&&(t+=" "),t+=n);return t}(e):"string"==typeof e?e:""}var Rn={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},Hn=s("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),Bn=s("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0),Un=function(e){return Hn(e)||Bn(e)};function Vn(e){return Bn(e)?"svg":"math"===e?"math":void 0}var zn=Object.create(null);var Kn=s("text,number,password,search,email,tel,url");function Jn(e){if("string"==typeof e){var t=document.querySelector(e);return t||document.createElement("div")}return e}var qn=Object.freeze({createElement:function(e,t){var n=document.createElement(e);return"select"!==e||t.data&&t.data.attrs&&void 0!==t.data.attrs.multiple&&n.setAttribute("multiple","multiple"),n},createElementNS:function(e,t){return document.createElementNS(Rn[e],t)},createTextNode:function(e){return document.createTextNode(e)},createComment:function(e){return document.createComment(e)},insertBefore:function(e,t,n){e.insertBefore(t,n)},removeChild:function(e,t){e.removeChild(t)},appendChild:function(e,t){e.appendChild(t)},parentNode:function(e){return e.parentNode},nextSibling:function(e){return e.nextSibling},tagName:function(e){return e.tagName},setTextContent:function(e,t){e.textContent=t},setStyleScope:function(e,t){e.setAttribute(t,"")}}),Wn={create:function(e,t){Gn(t)},update:function(e,t){e.data.ref!==t.data.ref&&(Gn(e,!0),Gn(t))},destroy:function(e){Gn(e,!0)}};function Gn(e,t){var n=e.data.ref;if(D(n)){var r=e.context,i=e.componentInstance||e.elm,o=r.$refs;t?Array.isArray(o[n])?f(o[n],i):o[n]===i&&(o[n]=void 0):e.data.refInFor?Array.isArray(o[n])?o[n].indexOf(i)<0&&o[n].push(i):o[n]=[i]:o[n]=i}}var Zn=new le("",{},[]),Xn=["create","activate","update","remove","destroy"];function Yn(e,t){return e.key===t.key&&(e.tag===t.tag&&e.isComment===t.isComment&&D(e.data)===D(t.data)&&function(e,t){if("input"!==e.tag)return!0;var n,r=D(n=e.data)&&D(n=n.attrs)&&n.type,i=D(n=t.data)&&D(n=n.attrs)&&n.type;return r===i||Kn(r)&&Kn(i)}(e,t)||S(e.isAsyncPlaceholder)&&e.asyncFactory===t.asyncFactory&&M(t.asyncFactory.error))}function Qn(e,t,n){var r,i,o={};for(r=t;r<=n;++r)D(i=e[r].key)&&(o[i]=r);return o}var er={create:tr,update:tr,destroy:function(e){tr(e,Zn)}};function tr(e,t){(e.data.directives||t.data.directives)&&function(t,n){var e,r,i,o=t===Zn,a=n===Zn,s=rr(t.data.directives,t.context),c=rr(n.data.directives,n.context),l=[],u=[];for(e in c)r=s[e],i=c[e],r?(i.oldValue=r.value,ir(i,"update",n,t),i.def&&i.def.componentUpdated&&u.push(i)):(ir(i,"bind",n,t),i.def&&i.def.inserted&&l.push(i));if(l.length){var f=function(){for(var e=0;e<l.length;e++)ir(l[e],"inserted",n,t)};o?rt(n,"insert",f):f()}u.length&&rt(n,"postpatch",function(){for(var e=0;e<u.length;e++)ir(u[e],"componentUpdated",n,t)});if(!o)for(e in s)c[e]||ir(s[e],"unbind",t,t,a)}(e,t)}var nr=Object.create(null);function rr(e,t){var n,r,i,o=Object.create(null);if(!e)return o;for(n=0;n<e.length;n++)(r=e[n]).modifiers||(r.modifiers=nr),(o[(i=r,i.rawName||i.name+"."+Object.keys(i.modifiers||{}).join("."))]=r).def=Le(t.$options,"directives",r.name);return o}function ir(t,n,r,e,i){var o=t.def&&t.def[n];if(o)try{o(r.elm,t,r,e,i)}catch(e){Fe(e,r.context,"directive "+t.name+" "+n+" hook")}}var or=[Wn,er];function ar(e,t){var n=t.componentOptions;if(!(D(n)&&!1===n.Ctor.options.inheritAttrs||M(e.data.attrs)&&M(t.data.attrs))){var r,i,o=t.elm,a=e.data.attrs||{},s=t.data.attrs||{};for(r in D(s.__ob__)&&(s=t.data.attrs=m({},s)),s)i=s[r],a[r]!==i&&sr(o,r,i);for(r in(K||q)&&s.value!==a.value&&sr(o,"value",s.value),a)M(s[r])&&(Nn(r)?o.removeAttributeNS(jn,Ln(r)):Tn(r)||o.removeAttribute(r))}}function sr(e,t,n){-1<e.tagName.indexOf("-")?cr(e,t,n):En(t)?In(n)?e.removeAttribute(t):(n="allowfullscreen"===t&&"EMBED"===e.tagName?"true":t,e.setAttribute(t,n)):Tn(t)?e.setAttribute(t,In(n)||"false"===n?"false":"true"):Nn(t)?In(n)?e.removeAttributeNS(jn,Ln(t)):e.setAttributeNS(jn,t,n):cr(e,t,n)}function cr(t,e,n){if(In(n))t.removeAttribute(e);else{if(K&&!J&&"TEXTAREA"===t.tagName&&"placeholder"===e&&!t.__ieph){var r=function(e){e.stopImmediatePropagation(),t.removeEventListener("input",r)};t.addEventListener("input",r),t.__ieph=!0}t.setAttribute(e,n)}}var lr={create:ar,update:ar};function ur(e,t){var n=t.elm,r=t.data,i=e.data;if(!(M(r.staticClass)&&M(r.class)&&(M(i)||M(i.staticClass)&&M(i.class)))){var o=Mn(t),a=n._transitionClasses;D(a)&&(o=Pn(o,Fn(a))),o!==n._prevClass&&(n.setAttribute("class",o),n._prevClass=o)}}var fr,pr,dr,vr,hr,mr,yr={create:ur,update:ur},gr=/[\w).+\-_$\]]/;function _r(e){var t,n,r,i,o,a=!1,s=!1,c=!1,l=!1,u=0,f=0,p=0,d=0;for(r=0;r<e.length;r++)if(n=t,t=e.charCodeAt(r),a)39===t&&92!==n&&(a=!1);else if(s)34===t&&92!==n&&(s=!1);else if(c)96===t&&92!==n&&(c=!1);else if(l)47===t&&92!==n&&(l=!1);else if(124!==t||124===e.charCodeAt(r+1)||124===e.charCodeAt(r-1)||u||f||p){switch(t){case 34:s=!0;break;case 39:a=!0;break;case 96:c=!0;break;case 40:p++;break;case 41:p--;break;case 91:f++;break;case 93:f--;break;case 123:u++;break;case 125:u--}if(47===t){for(var v=r-1,h=void 0;0<=v&&" "===(h=e.charAt(v));v--);h&&gr.test(h)||(l=!0)}}else void 0===i?(d=r+1,i=e.slice(0,r).trim()):m();function m(){(o||(o=[])).push(e.slice(d,r).trim()),d=r+1}if(void 0===i?i=e.slice(0,r).trim():0!==d&&m(),o)for(r=0;r<o.length;r++)i=br(i,o[r]);return i}function br(e,t){var n=t.indexOf("(");if(n<0)return'_f("'+t+'")('+e+")";var r=t.slice(0,n),i=t.slice(n+1);return'_f("'+r+'")('+e+(")"!==i?","+i:i)}function $r(e){console.error("[Vue compiler]: "+e)}function wr(e,t){return e?e.map(function(e){return e[t]}).filter(function(e){return e}):[]}function Cr(e,t,n){(e.props||(e.props=[])).push({name:t,value:n}),e.plain=!1}function xr(e,t,n){(e.attrs||(e.attrs=[])).push({name:t,value:n}),e.plain=!1}function kr(e,t,n){e.attrsMap[t]=n,e.attrsList.push({name:t,value:n})}function Ar(e,t,n,r,i,o){var a;(r=r||y).capture&&(delete r.capture,t="!"+t),r.once&&(delete r.once,t="~"+t),r.passive&&(delete r.passive,t="&"+t),"click"===t&&(r.right?(t="contextmenu",delete r.right):r.middle&&(t="mouseup")),r.native?(delete r.native,a=e.nativeEvents||(e.nativeEvents={})):a=e.events||(e.events={});var s={value:n.trim()};r!==y&&(s.modifiers=r);var c=a[t];Array.isArray(c)?i?c.unshift(s):c.push(s):a[t]=c?i?[s,c]:[c,s]:s,e.plain=!1}function Or(e,t,n){var r=Sr(e,":"+t)||Sr(e,"v-bind:"+t);if(null!=r)return _r(r);if(!1!==n){var i=Sr(e,t);if(null!=i)return JSON.stringify(i)}}function Sr(e,t,n){var r;if(null!=(r=e.attrsMap[t]))for(var i=e.attrsList,o=0,a=i.length;o<a;o++)if(i[o].name===t){i.splice(o,1);break}return n&&delete e.attrsMap[t],r}function Tr(e,t,n){var r=n||{},i=r.number,o="$$v",a=o;r.trim&&(a="(typeof $$v === 'string'? $$v.trim(): $$v)"),i&&(a="_n("+a+")");var s=Er(t,a);e.model={value:"("+t+")",expression:'"'+t+'"',callback:"function ($$v) {"+s+"}"}}function Er(e,t){var n=function(e){if(e=e.trim(),fr=e.length,e.indexOf("[")<0||e.lastIndexOf("]")<fr-1)return-1<(vr=e.lastIndexOf("."))?{exp:e.slice(0,vr),key:'"'+e.slice(vr+1)+'"'}:{exp:e,key:null};pr=e,vr=hr=mr=0;for(;!Nr();)Lr(dr=jr())?Mr(dr):91===dr&&Ir(dr);return{exp:e.slice(0,hr),key:e.slice(hr+1,mr)}}(e);return null===n.key?e+"="+t:"$set("+n.exp+", "+n.key+", "+t+")"}function jr(){return pr.charCodeAt(++vr)}function Nr(){return fr<=vr}function Lr(e){return 34===e||39===e}function Ir(e){var t=1;for(hr=vr;!Nr();)if(Lr(e=jr()))Mr(e);else if(91===e&&t++,93===e&&t--,0===t){mr=vr;break}}function Mr(e){for(var t=e;!Nr()&&(e=jr())!==t;);}var Dr,Pr="__r",Fr="__c";function Rr(e,t,n,r,i){var o,a,s,c,l;t=(o=t)._withTask||(o._withTask=function(){Je=!0;var e=o.apply(null,arguments);return Je=!1,e}),n&&(a=t,s=e,c=r,l=Dr,t=function e(){null!==a.apply(null,arguments)&&Hr(s,e,c,l)}),Dr.addEventListener(e,t,Z?{capture:r,passive:i}:r)}function Hr(e,t,n,r){(r||Dr).removeEventListener(e,t._withTask||t,n)}function Br(e,t){if(!M(e.data.on)||!M(t.data.on)){var n=t.data.on||{},r=e.data.on||{};Dr=t.elm,function(e){if(D(e[Pr])){var t=K?"change":"input";e[t]=[].concat(e[Pr],e[t]||[]),delete e[Pr]}D(e[Fr])&&(e.change=[].concat(e[Fr],e.change||[]),delete e[Fr])}(n),nt(n,r,Rr,Hr,t.context),Dr=void 0}}var Ur={create:Br,update:Br};function Vr(e,t){if(!M(e.data.domProps)||!M(t.data.domProps)){var n,r,i,o,a=t.elm,s=e.data.domProps||{},c=t.data.domProps||{};for(n in D(c.__ob__)&&(c=t.data.domProps=m({},c)),s)M(c[n])&&(a[n]="");for(n in c){if(r=c[n],"textContent"===n||"innerHTML"===n){if(t.children&&(t.children.length=0),r===s[n])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===n){var l=M(a._value=r)?"":String(r);o=l,(i=a).composing||"OPTION"!==i.tagName&&!function(e,t){var n=!0;try{n=document.activeElement!==e}catch(e){}return n&&e.value!==t}(i,o)&&!function(e,t){var n=e.value,r=e._vModifiers;if(D(r)){if(r.lazy)return!1;if(r.number)return F(n)!==F(t);if(r.trim)return n.trim()!==t.trim()}return n!==t}(i,o)||(a.value=l)}else a[n]=r}}}var zr={create:Vr,update:Vr},Kr=e(function(e){var n={},r=/:(.+)/;return e.split(/;(?![^(]*\))/g).forEach(function(e){if(e){var t=e.split(r);1<t.length&&(n[t[0].trim()]=t[1].trim())}}),n});function Jr(e){var t=qr(e.style);return e.staticStyle?m(e.staticStyle,t):t}function qr(e){return Array.isArray(e)?b(e):"string"==typeof e?Kr(e):e}var Wr,Gr=/^--/,Zr=/\s*!important$/,Xr=function(e,t,n){if(Gr.test(t))e.style.setProperty(t,n);else if(Zr.test(n))e.style.setProperty(t,n.replace(Zr,""),"important");else{var r=Qr(t);if(Array.isArray(n))for(var i=0,o=n.length;i<o;i++)e.style[r]=n[i];else e.style[r]=n}},Yr=["Webkit","Moz","ms"],Qr=e(function(e){if(Wr=Wr||document.createElement("div").style,"filter"!==(e=g(e))&&e in Wr)return e;for(var t=e.charAt(0).toUpperCase()+e.slice(1),n=0;n<Yr.length;n++){var r=Yr[n]+t;if(r in Wr)return r}});function ei(e,t){var n=t.data,r=e.data;if(!(M(n.staticStyle)&&M(n.style)&&M(r.staticStyle)&&M(r.style))){var i,o,a=t.elm,s=r.staticStyle,c=r.normalizedStyle||r.style||{},l=s||c,u=qr(t.data.style)||{};t.data.normalizedStyle=D(u.__ob__)?m({},u):u;var f=function(e,t){var n,r={};if(t)for(var i=e;i.componentInstance;)(i=i.componentInstance._vnode)&&i.data&&(n=Jr(i.data))&&m(r,n);(n=Jr(e.data))&&m(r,n);for(var o=e;o=o.parent;)o.data&&(n=Jr(o.data))&&m(r,n);return r}(t,!0);for(o in l)M(f[o])&&Xr(a,o,"");for(o in f)(i=f[o])!==l[o]&&Xr(a,o,null==i?"":i)}}var ti={create:ei,update:ei};function ni(t,e){if(e&&(e=e.trim()))if(t.classList)-1<e.indexOf(" ")?e.split(/\s+/).forEach(function(e){return t.classList.add(e)}):t.classList.add(e);else{var n=" "+(t.getAttribute("class")||"")+" ";n.indexOf(" "+e+" ")<0&&t.setAttribute("class",(n+e).trim())}}function ri(t,e){if(e&&(e=e.trim()))if(t.classList)-1<e.indexOf(" ")?e.split(/\s+/).forEach(function(e){return t.classList.remove(e)}):t.classList.remove(e),t.classList.length||t.removeAttribute("class");else{for(var n=" "+(t.getAttribute("class")||"")+" ",r=" "+e+" ";0<=n.indexOf(r);)n=n.replace(r," ");(n=n.trim())?t.setAttribute("class",n):t.removeAttribute("class")}}function ii(e){if(e){if("object"==typeof e){var t={};return!1!==e.css&&m(t,oi(e.name||"v")),m(t,e),t}return"string"==typeof e?oi(e):void 0}}var oi=e(function(e){return{enterClass:e+"-enter",enterToClass:e+"-enter-to",enterActiveClass:e+"-enter-active",leaveClass:e+"-leave",leaveToClass:e+"-leave-to",leaveActiveClass:e+"-leave-active"}}),ai=B&&!J,si="transition",ci="animation",li="transition",ui="transitionend",fi="animation",pi="animationend";ai&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(li="WebkitTransition",ui="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(fi="WebkitAnimation",pi="webkitAnimationEnd"));var di=B?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(e){return e()};function vi(e){di(function(){di(e)})}function hi(e,t){var n=e._transitionClasses||(e._transitionClasses=[]);n.indexOf(t)<0&&(n.push(t),ni(e,t))}function mi(e,t){e._transitionClasses&&f(e._transitionClasses,t),ri(e,t)}function yi(t,e,n){var r=_i(t,e),i=r.type,o=r.timeout,a=r.propCount;if(!i)return n();var s=i===si?ui:pi,c=0,l=function(){t.removeEventListener(s,u),n()},u=function(e){e.target===t&&++c>=a&&l()};setTimeout(function(){c<a&&l()},o+1),t.addEventListener(s,u)}var gi=/\b(transform|all)(,|$)/;function _i(e,t){var n,r=window.getComputedStyle(e),i=r[li+"Delay"].split(", "),o=r[li+"Duration"].split(", "),a=bi(i,o),s=r[fi+"Delay"].split(", "),c=r[fi+"Duration"].split(", "),l=bi(s,c),u=0,f=0;return t===si?0<a&&(n=si,u=a,f=o.length):t===ci?0<l&&(n=ci,u=l,f=c.length):f=(n=0<(u=Math.max(a,l))?l<a?si:ci:null)?n===si?o.length:c.length:0,{type:n,timeout:u,propCount:f,hasTransform:n===si&&gi.test(r[li+"Property"])}}function bi(n,e){for(;n.length<e.length;)n=n.concat(n);return Math.max.apply(null,e.map(function(e,t){return $i(e)+$i(n[t])}))}function $i(e){return 1e3*Number(e.slice(0,-1))}function wi(n,e){var r=n.elm;D(r._leaveCb)&&(r._leaveCb.cancelled=!0,r._leaveCb());var t=ii(n.data.transition);if(!M(t)&&!D(r._enterCb)&&1===r.nodeType){for(var i=t.css,o=t.type,a=t.enterClass,s=t.enterToClass,c=t.enterActiveClass,l=t.appearClass,u=t.appearToClass,f=t.appearActiveClass,p=t.beforeEnter,d=t.enter,v=t.afterEnter,h=t.enterCancelled,m=t.beforeAppear,y=t.appear,g=t.afterAppear,_=t.appearCancelled,b=t.duration,$=mt,w=mt.$vnode;w&&w.parent;)$=(w=w.parent).context;var C=!$._isMounted||!n.isRootInsert;if(!C||y||""===y){var x=C&&l?l:a,k=C&&f?f:c,A=C&&u?u:s,O=C&&m||p,S=C&&"function"==typeof y?y:d,T=C&&g||v,E=C&&_||h,j=F(P(b)?b.enter:b),N=!1!==i&&!J,L=ki(S),I=r._enterCb=R(function(){N&&(mi(r,A),mi(r,k)),I.cancelled?(N&&mi(r,x),E&&E(r)):T&&T(r),r._enterCb=null});n.data.show||rt(n,"insert",function(){var e=r.parentNode,t=e&&e._pending&&e._pending[n.key];t&&t.tag===n.tag&&t.elm._leaveCb&&t.elm._leaveCb(),S&&S(r,I)}),O&&O(r),N&&(hi(r,x),hi(r,k),vi(function(){mi(r,x),I.cancelled||(hi(r,A),L||(xi(j)?setTimeout(I,j):yi(r,o,I)))})),n.data.show&&(e&&e(),S&&S(r,I)),N||L||I()}}}function Ci(e,t){var n=e.elm;D(n._enterCb)&&(n._enterCb.cancelled=!0,n._enterCb());var r=ii(e.data.transition);if(M(r)||1!==n.nodeType)return t();if(!D(n._leaveCb)){var i=r.css,o=r.type,a=r.leaveClass,s=r.leaveToClass,c=r.leaveActiveClass,l=r.beforeLeave,u=r.leave,f=r.afterLeave,p=r.leaveCancelled,d=r.delayLeave,v=r.duration,h=!1!==i&&!J,m=ki(u),y=F(P(v)?v.leave:v),g=n._leaveCb=R(function(){n.parentNode&&n.parentNode._pending&&(n.parentNode._pending[e.key]=null),h&&(mi(n,s),mi(n,c)),g.cancelled?(h&&mi(n,a),p&&p(n)):(t(),f&&f(n)),n._leaveCb=null});d?d(_):_()}function _(){g.cancelled||(e.data.show||((n.parentNode._pending||(n.parentNode._pending={}))[e.key]=e),l&&l(n),h&&(hi(n,a),hi(n,c),vi(function(){mi(n,a),g.cancelled||(hi(n,s),m||(xi(y)?setTimeout(g,y):yi(n,o,g)))})),u&&u(n,g),h||m||g())}}function xi(e){return"number"==typeof e&&!isNaN(e)}function ki(e){if(M(e))return!1;var t=e.fns;return D(t)?ki(Array.isArray(t)?t[0]:t):1<(e._length||e.length)}function Ai(e,t){!0!==t.data.show&&wi(t)}var Oi=function(e){var r,t,g={},n=e.modules,_=e.nodeOps;for(r=0;r<Xn.length;++r)for(g[Xn[r]]=[],t=0;t<n.length;++t)D(n[t][Xn[r]])&&g[Xn[r]].push(n[t][Xn[r]]);function o(e){var t=_.parentNode(e);D(t)&&_.removeChild(t,e)}function b(e,t,n,r,i,o,a){if(D(e.elm)&&D(o)&&(e=o[a]=de(e)),e.isRootInsert=!i,!function(e,t,n,r){var i=e.data;if(D(i)){var o=D(e.componentInstance)&&i.keepAlive;if(D(i=i.hook)&&D(i=i.init)&&i(e,!1,n,r),D(e.componentInstance))return d(e,t),S(o)&&function(e,t,n,r){for(var i,o=e;o.componentInstance;)if(o=o.componentInstance._vnode,D(i=o.data)&&D(i=i.transition)){for(i=0;i<g.activate.length;++i)g.activate[i](Zn,o);t.push(o);break}u(n,e.elm,r)}(e,t,n,r),!0}}(e,t,n,r)){var s=e.data,c=e.children,l=e.tag;D(l)?(e.elm=e.ns?_.createElementNS(e.ns,l):_.createElement(l,e),f(e),v(e,c,t),D(s)&&h(e,t)):S(e.isComment)?e.elm=_.createComment(e.text):e.elm=_.createTextNode(e.text),u(n,e.elm,r)}}function d(e,t){D(e.data.pendingInsert)&&(t.push.apply(t,e.data.pendingInsert),e.data.pendingInsert=null),e.elm=e.componentInstance.$el,$(e)?(h(e,t),f(e)):(Gn(e),t.push(e))}function u(e,t,n){D(e)&&(D(n)?n.parentNode===e&&_.insertBefore(e,t,n):_.appendChild(e,t))}function v(e,t,n){if(Array.isArray(t))for(var r=0;r<t.length;++r)b(t[r],n,e.elm,null,!0,t,r);else T(e.text)&&_.appendChild(e.elm,_.createTextNode(String(e.text)))}function $(e){for(;e.componentInstance;)e=e.componentInstance._vnode;return D(e.tag)}function h(e,t){for(var n=0;n<g.create.length;++n)g.create[n](Zn,e);D(r=e.data.hook)&&(D(r.create)&&r.create(Zn,e),D(r.insert)&&t.push(e))}function f(e){var t;if(D(t=e.fnScopeId))_.setStyleScope(e.elm,t);else for(var n=e;n;)D(t=n.context)&&D(t=t.$options._scopeId)&&_.setStyleScope(e.elm,t),n=n.parent;D(t=mt)&&t!==e.context&&t!==e.fnContext&&D(t=t.$options._scopeId)&&_.setStyleScope(e.elm,t)}function y(e,t,n,r,i,o){for(;r<=i;++r)b(n[r],o,e,t,!1,n,r)}function w(e){var t,n,r=e.data;if(D(r))for(D(t=r.hook)&&D(t=t.destroy)&&t(e),t=0;t<g.destroy.length;++t)g.destroy[t](e);if(D(t=e.children))for(n=0;n<e.children.length;++n)w(e.children[n])}function C(e,t,n,r){for(;n<=r;++n){var i=t[n];D(i)&&(D(i.tag)?(a(i),w(i)):o(i.elm))}}function a(e,t){if(D(t)||D(e.data)){var n,r=g.remove.length+1;for(D(t)?t.listeners+=r:t=function(e,t){function n(){0==--n.listeners&&o(e)}return n.listeners=t,n}(e.elm,r),D(n=e.componentInstance)&&D(n=n._vnode)&&D(n.data)&&a(n,t),n=0;n<g.remove.length;++n)g.remove[n](e,t);D(n=e.data.hook)&&D(n=n.remove)?n(e,t):t()}else o(e.elm)}function x(e,t,n,r){for(var i=n;i<r;i++){var o=t[i];if(D(o)&&Yn(e,o))return i}}function k(e,t,n,r){if(e!==t){var i=t.elm=e.elm;if(S(e.isAsyncPlaceholder))D(t.asyncFactory.resolved)?O(e.elm,t,n):t.isAsyncPlaceholder=!0;else if(S(t.isStatic)&&S(e.isStatic)&&t.key===e.key&&(S(t.isCloned)||S(t.isOnce)))t.componentInstance=e.componentInstance;else{var o,a=t.data;D(a)&&D(o=a.hook)&&D(o=o.prepatch)&&o(e,t);var s=e.children,c=t.children;if(D(a)&&$(t)){for(o=0;o<g.update.length;++o)g.update[o](e,t);D(o=a.hook)&&D(o=o.update)&&o(e,t)}M(t.text)?D(s)&&D(c)?s!==c&&function(e,t,n,r,i){for(var o,a,s,c=0,l=0,u=t.length-1,f=t[0],p=t[u],d=n.length-1,v=n[0],h=n[d],m=!i;c<=u&&l<=d;)M(f)?f=t[++c]:M(p)?p=t[--u]:Yn(f,v)?(k(f,v,r),f=t[++c],v=n[++l]):Yn(p,h)?(k(p,h,r),p=t[--u],h=n[--d]):Yn(f,h)?(k(f,h,r),m&&_.insertBefore(e,f.elm,_.nextSibling(p.elm)),f=t[++c],h=n[--d]):(Yn(p,v)?(k(p,v,r),m&&_.insertBefore(e,p.elm,f.elm),p=t[--u]):(M(o)&&(o=Qn(t,c,u)),M(a=D(v.key)?o[v.key]:x(v,t,c,u))?b(v,r,e,f.elm,!1,n,l):Yn(s=t[a],v)?(k(s,v,r),t[a]=void 0,m&&_.insertBefore(e,s.elm,f.elm)):b(v,r,e,f.elm,!1,n,l)),v=n[++l]);u<c?y(e,M(n[d+1])?null:n[d+1].elm,n,l,d,r):d<l&&C(0,t,c,u)}(i,s,c,n,r):D(c)?(D(e.text)&&_.setTextContent(i,""),y(i,null,c,0,c.length-1,n)):D(s)?C(0,s,0,s.length-1):D(e.text)&&_.setTextContent(i,""):e.text!==t.text&&_.setTextContent(i,t.text),D(a)&&D(o=a.hook)&&D(o=o.postpatch)&&o(e,t)}}}function A(e,t,n){if(S(n)&&D(e.parent))e.parent.data.pendingInsert=t;else for(var r=0;r<t.length;++r)t[r].data.hook.insert(t[r])}var m=s("attrs,class,staticClass,staticStyle,key");function O(e,t,n,r){var i,o=t.tag,a=t.data,s=t.children;if(r=r||a&&a.pre,t.elm=e,S(t.isComment)&&D(t.asyncFactory))return t.isAsyncPlaceholder=!0;if(D(a)&&(D(i=a.hook)&&D(i=i.init)&&i(t,!0),D(i=t.componentInstance)))return d(t,n),!0;if(D(o)){if(D(s))if(e.hasChildNodes())if(D(i=a)&&D(i=i.domProps)&&D(i=i.innerHTML)){if(i!==e.innerHTML)return!1}else{for(var c=!0,l=e.firstChild,u=0;u<s.length;u++){if(!l||!O(l,s[u],n,r)){c=!1;break}l=l.nextSibling}if(!c||l)return!1}else v(t,s,n);if(D(a)){var f=!1;for(var p in a)if(!m(p)){f=!0,h(t,n);break}!f&&a.class&&Ye(a.class)}}else e.data!==t.text&&(e.data=t.text);return!0}return function(e,t,n,r,i,o){if(!M(t)){var a,s=!1,c=[];if(M(e))s=!0,b(t,c,i,o);else{var l=D(e.nodeType);if(!l&&Yn(e,t))k(e,t,c,r);else{if(l){if(1===e.nodeType&&e.hasAttribute(E)&&(e.removeAttribute(E),n=!0),S(n)&&O(e,t,c))return A(t,c,!0),e;a=e,e=new le(_.tagName(a).toLowerCase(),{},[],void 0,a)}var u=e.elm,f=_.parentNode(u);if(b(t,c,u._leaveCb?null:f,_.nextSibling(u)),D(t.parent))for(var p=t.parent,d=$(t);p;){for(var v=0;v<g.destroy.length;++v)g.destroy[v](p);if(p.elm=t.elm,d){for(var h=0;h<g.create.length;++h)g.create[h](Zn,p);var m=p.data.hook.insert;if(m.merged)for(var y=1;y<m.fns.length;y++)m.fns[y]()}else Gn(p);p=p.parent}D(f)?C(0,[e],0,0):D(e.tag)&&w(e)}}return A(t,c,s),t.elm}D(e)&&w(e)}}({nodeOps:qn,modules:[lr,yr,Ur,zr,ti,B?{create:Ai,activate:Ai,remove:function(e,t){!0!==e.data.show?Ci(e,t):t()}}:{}].concat(or)});J&&document.addEventListener("selectionchange",function(){var e=document.activeElement;e&&e.vmodel&&Mi(e,"input")});var Si={inserted:function(e,t,n,r){"select"===n.tag?(r.elm&&!r.elm._vOptions?rt(n,"postpatch",function(){Si.componentUpdated(e,t,n)}):Ti(e,t,n.context),e._vOptions=[].map.call(e.options,Ni)):("textarea"===n.tag||Kn(e.type))&&(e._vModifiers=t.modifiers,t.modifiers.lazy||(e.addEventListener("compositionstart",Li),e.addEventListener("compositionend",Ii),e.addEventListener("change",Ii),J&&(e.vmodel=!0)))},componentUpdated:function(e,t,n){if("select"===n.tag){Ti(e,t,n.context);var r=e._vOptions,i=e._vOptions=[].map.call(e.options,Ni);if(i.some(function(e,t){return!C(e,r[t])}))(e.multiple?t.value.some(function(e){return ji(e,i)}):t.value!==t.oldValue&&ji(t.value,i))&&Mi(e,"change")}}};function Ti(e,t,n){Ei(e,t,n),(K||q)&&setTimeout(function(){Ei(e,t,n)},0)}function Ei(e,t,n){var r=t.value,i=e.multiple;if(!i||Array.isArray(r)){for(var o,a,s=0,c=e.options.length;s<c;s++)if(a=e.options[s],i)o=-1<x(r,Ni(a)),a.selected!==o&&(a.selected=o);else if(C(Ni(a),r))return void(e.selectedIndex!==s&&(e.selectedIndex=s));i||(e.selectedIndex=-1)}}function ji(t,e){return e.every(function(e){return!C(e,t)})}function Ni(e){return"_value"in e?e._value:e.value}function Li(e){e.target.composing=!0}function Ii(e){e.target.composing&&(e.target.composing=!1,Mi(e.target,"input"))}function Mi(e,t){var n=document.createEvent("HTMLEvents");n.initEvent(t,!0,!0),e.dispatchEvent(n)}function Di(e){return!e.componentInstance||e.data&&e.data.transition?e:Di(e.componentInstance._vnode)}var Pi={model:Si,show:{bind:function(e,t,n){var r=t.value,i=(n=Di(n)).data&&n.data.transition,o=e.__vOriginalDisplay="none"===e.style.display?"":e.style.display;r&&i?(n.data.show=!0,wi(n,function(){e.style.display=o})):e.style.display=r?o:"none"},update:function(e,t,n){var r=t.value;!r!=!t.oldValue&&((n=Di(n)).data&&n.data.transition?(n.data.show=!0,r?wi(n,function(){e.style.display=e.__vOriginalDisplay}):Ci(n,function(){e.style.display="none"})):e.style.display=r?e.__vOriginalDisplay:"none")},unbind:function(e,t,n,r,i){i||(e.style.display=e.__vOriginalDisplay)}}},Fi={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function Ri(e){var t=e&&e.componentOptions;return t&&t.Ctor.options.abstract?Ri(lt(t.children)):e}function Hi(e){var t={},n=e.$options;for(var r in n.propsData)t[r]=e[r];var i=n._parentListeners;for(var o in i)t[g(o)]=i[o];return t}function Bi(e,t){if(/\d-keep-alive$/.test(t.tag))return e("keep-alive",{props:t.componentOptions.propsData})}var Ui={name:"transition",props:Fi,abstract:!0,render:function(e){var t=this,n=this.$slots.default;if(n&&(n=n.filter(function(e){return e.tag||ct(e)})).length){var r=this.mode,i=n[0];if(function(e){for(;e=e.parent;)if(e.data.transition)return!0}(this.$vnode))return i;var o=Ri(i);if(!o)return i;if(this._leaving)return Bi(e,i);var a="__transition-"+this._uid+"-";o.key=null==o.key?o.isComment?a+"comment":a+o.tag:T(o.key)?0===String(o.key).indexOf(a)?o.key:a+o.key:o.key;var s,c,l=(o.data||(o.data={})).transition=Hi(this),u=this._vnode,f=Ri(u);if(o.data.directives&&o.data.directives.some(function(e){return"show"===e.name})&&(o.data.show=!0),f&&f.data&&(s=o,(c=f).key!==s.key||c.tag!==s.tag)&&!ct(f)&&(!f.componentInstance||!f.componentInstance._vnode.isComment)){var p=f.data.transition=m({},l);if("out-in"===r)return this._leaving=!0,rt(p,"afterLeave",function(){t._leaving=!1,t.$forceUpdate()}),Bi(e,i);if("in-out"===r){if(ct(o))return u;var d,v=function(){d()};rt(l,"afterEnter",v),rt(l,"enterCancelled",v),rt(p,"delayLeave",function(e){d=e})}}return i}}},Vi=m({tag:String,moveClass:String},Fi);function zi(e){e.elm._moveCb&&e.elm._moveCb(),e.elm._enterCb&&e.elm._enterCb()}function Ki(e){e.data.newPos=e.elm.getBoundingClientRect()}function Ji(e){var t=e.data.pos,n=e.data.newPos,r=t.left-n.left,i=t.top-n.top;if(r||i){e.data.moved=!0;var o=e.elm.style;o.transform=o.WebkitTransform="translate("+r+"px,"+i+"px)",o.transitionDuration="0s"}}delete Vi.mode;var qi={Transition:Ui,TransitionGroup:{props:Vi,render:function(e){for(var t=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,i=this.$slots.default||[],o=this.children=[],a=Hi(this),s=0;s<i.length;s++){var c=i[s];c.tag&&null!=c.key&&0!==String(c.key).indexOf("__vlist")&&(o.push(c),((n[c.key]=c).data||(c.data={})).transition=a)}if(r){for(var l=[],u=[],f=0;f<r.length;f++){var p=r[f];p.data.transition=a,p.data.pos=p.elm.getBoundingClientRect(),n[p.key]?l.push(p):u.push(p)}this.kept=e(t,null,l),this.removed=u}return e(t,null,o)},beforeUpdate:function(){this.__patch__(this._vnode,this.kept,!1,!0),this._vnode=this.kept},updated:function(){var e=this.prevChildren,r=this.moveClass||(this.name||"v")+"-move";e.length&&this.hasMove(e[0].elm,r)&&(e.forEach(zi),e.forEach(Ki),e.forEach(Ji),this._reflow=document.body.offsetHeight,e.forEach(function(e){if(e.data.moved){var n=e.elm,t=n.style;hi(n,r),t.transform=t.WebkitTransform=t.transitionDuration="",n.addEventListener(ui,n._moveCb=function e(t){t&&!/transform$/.test(t.propertyName)||(n.removeEventListener(ui,e),n._moveCb=null,mi(n,r))})}}))},methods:{hasMove:function(e,t){if(!ai)return!1;if(this._hasMove)return this._hasMove;var n=e.cloneNode();e._transitionClasses&&e._transitionClasses.forEach(function(e){ri(n,e)}),ni(n,t),n.style.display="none",this.$el.appendChild(n);var r=_i(n);return this.$el.removeChild(n),this._hasMove=r.hasTransform}}}};hn.config.mustUseProp=Sn,hn.config.isReservedTag=Un,hn.config.isReservedAttr=An,hn.config.getTagNamespace=Vn,hn.config.isUnknownElement=function(e){if(!B)return!0;if(Un(e))return!1;if(e=e.toLowerCase(),null!=zn[e])return zn[e];var t=document.createElement(e);return-1<e.indexOf("-")?zn[e]=t.constructor===window.HTMLUnknownElement||t.constructor===window.HTMLElement:zn[e]=/HTMLUnknownElement/.test(t.toString())},m(hn.options.directives,Pi),m(hn.options.components,qi),hn.prototype.__patch__=B?Oi:$,hn.prototype.$mount=function(e,t){return e=e&&B?Jn(e):void 0,r=e,i=t,(n=this).$el=r,n.$options.render||(n.$options.render=fe),_t(n,"beforeMount"),new St(n,function(){n._update(n._render(),i)},$,null,!0),i=!1,null==n.$vnode&&(n._isMounted=!0,_t(n,"mounted")),n;var n,r,i},B&&setTimeout(function(){j.devtools&&Q&&Q.emit("init",hn)},0);var Wi=/\{\{((?:.|\n)+?)\}\}/g,Gi=/[-.*+?^${}()|[\]\/\\]/g,Zi=e(function(e){var t=e[0].replace(Gi,"\\$&"),n=e[1].replace(Gi,"\\$&");return new RegExp(t+"((?:.|\\n)+?)"+n,"g")});var Xi={staticKeys:["staticClass"],transformNode:function(e,t){t.warn;var n=Sr(e,"class");n&&(e.staticClass=JSON.stringify(n));var r=Or(e,"class",!1);r&&(e.classBinding=r)},genData:function(e){var t="";return e.staticClass&&(t+="staticClass:"+e.staticClass+","),e.classBinding&&(t+="class:"+e.classBinding+","),t}};var Yi,Qi={staticKeys:["staticStyle"],transformNode:function(e,t){t.warn;var n=Sr(e,"style");n&&(e.staticStyle=JSON.stringify(Kr(n)));var r=Or(e,"style",!1);r&&(e.styleBinding=r)},genData:function(e){var t="";return e.staticStyle&&(t+="staticStyle:"+e.staticStyle+","),e.styleBinding&&(t+="style:("+e.styleBinding+"),"),t}},eo=function(e){return(Yi=Yi||document.createElement("div")).innerHTML=e,Yi.textContent},to=s("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"),no=s("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"),ro=s("address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"),io=/^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,oo="[a-zA-Z_][\\w\\-\\.]*",ao="((?:"+oo+"\\:)?"+oo+")",so=new RegExp("^<"+ao),co=/^\s*(\/?)>/,lo=new RegExp("^<\\/"+ao+"[^>]*>"),uo=/^<!DOCTYPE [^>]+>/i,fo=/^<!\--/,po=/^<!\[/,vo=!1;"x".replace(/x(.)?/g,function(e,t){vo=""===t});var ho=s("script,style,textarea",!0),mo={},yo={"&lt;":"<","&gt;":">","&quot;":'"',"&amp;":"&","&#10;":"\n","&#9;":"\t"},go=/&(?:lt|gt|quot|amp);/g,_o=/&(?:lt|gt|quot|amp|#10|#9);/g,bo=s("pre,textarea",!0),$o=function(e,t){return e&&bo(e)&&"\n"===t[0]};var wo,Co,xo,ko,Ao,Oo,So,To,Eo=/^@|^v-on:/,jo=/^v-|^@|^:/,No=/([^]*?)\s+(?:in|of)\s+([^]*)/,Lo=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,Io=/^\(|\)$/g,Mo=/:(.*)$/,Do=/^:|^v-bind:/,Po=/\.[^.]+/g,Fo=e(eo);function Ro(e,t,n){return{type:1,tag:e,attrsList:t,attrsMap:function(e){for(var t={},n=0,r=e.length;n<r;n++)t[e[n].name]=e[n].value;return t}(t),parent:n,children:[]}}function Ho(e,p){wo=p.warn||$r,Oo=p.isPreTag||O,So=p.mustUseProp||O,To=p.getTagNamespace||O,xo=wr(p.modules,"transformNode"),ko=wr(p.modules,"preTransformNode"),Ao=wr(p.modules,"postTransformNode"),Co=p.delimiters;var d,v,h=[],i=!1!==p.preserveWhitespace,m=!1,y=!1;function g(e){e.pre&&(m=!1),Oo(e.tag)&&(y=!1);for(var t=0;t<Ao.length;t++)Ao[t](e,p)}return function(i,d){for(var e,v,h=[],m=d.expectHTML,y=d.isUnaryTag||O,g=d.canBeLeftOpenTag||O,a=0;i;){if(e=i,v&&ho(v)){var r=0,o=v.toLowerCase(),t=mo[o]||(mo[o]=new RegExp("([\\s\\S]*?)(</"+o+"[^>]*>)","i")),n=i.replace(t,function(e,t,n){return r=n.length,ho(o)||"noscript"===o||(t=t.replace(/<!\--([\s\S]*?)-->/g,"$1").replace(/<!\[CDATA\[([\s\S]*?)]]>/g,"$1")),$o(o,t)&&(t=t.slice(1)),d.chars&&d.chars(t),""});a+=i.length-n.length,i=n,A(o,a-r,a)}else{var s=i.indexOf("<");if(0===s){if(fo.test(i)){var c=i.indexOf("--\x3e");if(0<=c){d.shouldKeepComment&&d.comment(i.substring(4,c)),C(c+3);continue}}if(po.test(i)){var l=i.indexOf("]>");if(0<=l){C(l+2);continue}}var u=i.match(uo);if(u){C(u[0].length);continue}var f=i.match(lo);if(f){var p=a;C(f[0].length),A(f[1],p,a);continue}var _=x();if(_){k(_),$o(v,i)&&C(1);continue}}var b=void 0,$=void 0,w=void 0;if(0<=s){for($=i.slice(s);!(lo.test($)||so.test($)||fo.test($)||po.test($)||(w=$.indexOf("<",1))<0);)s+=w,$=i.slice(s);b=i.substring(0,s),C(s)}s<0&&(b=i,i=""),d.chars&&b&&d.chars(b)}if(i===e){d.chars&&d.chars(i);break}}function C(e){a+=e,i=i.substring(e)}function x(){var e=i.match(so);if(e){var t,n,r={tagName:e[1],attrs:[],start:a};for(C(e[0].length);!(t=i.match(co))&&(n=i.match(io));)C(n[0].length),r.attrs.push(n);if(t)return r.unarySlash=t[1],C(t[0].length),r.end=a,r}}function k(e){var t=e.tagName,n=e.unarySlash;m&&("p"===v&&ro(t)&&A(v),g(t)&&v===t&&A(t));for(var r,i,o,a=y(t)||!!n,s=e.attrs.length,c=new Array(s),l=0;l<s;l++){var u=e.attrs[l];vo&&-1===u[0].indexOf('""')&&(""===u[3]&&delete u[3],""===u[4]&&delete u[4],""===u[5]&&delete u[5]);var f=u[3]||u[4]||u[5]||"",p="a"===t&&"href"===u[1]?d.shouldDecodeNewlinesForHref:d.shouldDecodeNewlines;c[l]={name:u[1],value:(r=f,i=p,o=i?_o:go,r.replace(o,function(e){return yo[e]}))}}a||(h.push({tag:t,lowerCasedTag:t.toLowerCase(),attrs:c}),v=t),d.start&&d.start(t,c,a,e.start,e.end)}function A(e,t,n){var r,i;if(null==t&&(t=a),null==n&&(n=a),e&&(i=e.toLowerCase()),e)for(r=h.length-1;0<=r&&h[r].lowerCasedTag!==i;r--);else r=0;if(0<=r){for(var o=h.length-1;r<=o;o--)d.end&&d.end(h[o].tag,t,n);h.length=r,v=r&&h[r-1].tag}else"br"===i?d.start&&d.start(e,[],!0,t,n):"p"===i&&(d.start&&d.start(e,[],!1,t,n),d.end&&d.end(e,t,n))}A()}(e,{warn:wo,expectHTML:p.expectHTML,isUnaryTag:p.isUnaryTag,canBeLeftOpenTag:p.canBeLeftOpenTag,shouldDecodeNewlines:p.shouldDecodeNewlines,shouldDecodeNewlinesForHref:p.shouldDecodeNewlinesForHref,shouldKeepComment:p.comments,start:function(e,t,n){var r=v&&v.ns||To(e);K&&"svg"===r&&(t=function(e){for(var t=[],n=0;n<e.length;n++){var r=e[n];Ko.test(r.name)||(r.name=r.name.replace(Jo,""),t.push(r))}return t}(t));var i,o,a,s,c,l=Ro(e,t,v);r&&(l.ns=r),"style"!==(i=l).tag&&("script"!==i.tag||i.attrsMap.type&&"text/javascript"!==i.attrsMap.type)||Y()||(l.forbidden=!0);for(var u=0;u<ko.length;u++)l=ko[u](l,p)||l;if(m||(null!=Sr(o=l,"v-pre")&&(o.pre=!0),l.pre&&(m=!0)),Oo(l.tag)&&(y=!0),m?function(e){var t=e.attrsList.length;if(t)for(var n=e.attrs=new Array(t),r=0;r<t;r++)n[r]={name:e.attrsList[r].name,value:JSON.stringify(e.attrsList[r].value)};else e.pre||(e.plain=!0)}(l):l.processed||(Uo(l),function(e){var t=Sr(e,"v-if");if(t)e.if=t,Vo(e,{exp:t,block:e});else{null!=Sr(e,"v-else")&&(e.else=!0);var n=Sr(e,"v-else-if");n&&(e.elseif=n)}}(l),null!=Sr(a=l,"v-once")&&(a.once=!0),Bo(l,p)),d?h.length||d.if&&(l.elseif||l.else)&&Vo(d,{exp:l.elseif,block:l}):d=l,v&&!l.forbidden)if(l.elseif||l.else)s=l,(c=function(e){var t=e.length;for(;t--;){if(1===e[t].type)return e[t];e.pop()}}(v.children))&&c.if&&Vo(c,{exp:s.elseif,block:s});else if(l.slotScope){v.plain=!1;var f=l.slotTarget||'"default"';(v.scopedSlots||(v.scopedSlots={}))[f]=l}else v.children.push(l),l.parent=v;n?g(l):(v=l,h.push(l))},end:function(){var e=h[h.length-1],t=e.children[e.children.length-1];t&&3===t.type&&" "===t.text&&!y&&e.children.pop(),h.length-=1,v=h[h.length-1],g(e)},chars:function(e){if(v&&(!K||"textarea"!==v.tag||v.attrsMap.placeholder!==e)){var t,n,r=v.children;if(e=y||e.trim()?"script"===(t=v).tag||"style"===t.tag?e:Fo(e):i&&r.length?" ":"")!m&&" "!==e&&(n=function(e,t){var n=t?Zi(t):Wi;if(n.test(e)){for(var r,i,o,a=[],s=[],c=n.lastIndex=0;r=n.exec(e);){c<(i=r.index)&&(s.push(o=e.slice(c,i)),a.push(JSON.stringify(o)));var l=_r(r[1].trim());a.push("_s("+l+")"),s.push({"@binding":l}),c=i+r[0].length}return c<e.length&&(s.push(o=e.slice(c)),a.push(JSON.stringify(o))),{expression:a.join("+"),tokens:s}}}(e,Co))?r.push({type:2,expression:n.expression,tokens:n.tokens,text:e}):" "===e&&r.length&&" "===r[r.length-1].text||r.push({type:3,text:e})}},comment:function(e){v.children.push({type:3,text:e,isComment:!0})}}),d}function Bo(e,t){var n,r,i,o;(r=Or(n=e,"key"))&&(n.key=r),e.plain=!e.key&&!e.attrsList.length,(o=Or(i=e,"ref"))&&(i.ref=o,i.refInFor=function(e){for(var t=e;t;){if(void 0!==t.for)return!0;t=t.parent}return!1}(i)),function(e){if("slot"===e.tag)e.slotName=Or(e,"name");else{var t;"template"===e.tag?(t=Sr(e,"scope"),e.slotScope=t||Sr(e,"slot-scope")):(t=Sr(e,"slot-scope"))&&(e.slotScope=t);var n=Or(e,"slot");n&&(e.slotTarget='""'===n?'"default"':n,"template"===e.tag||e.slotScope||xr(e,"slot",n))}}(e),function(e){var t;(t=Or(e,"is"))&&(e.component=t);null!=Sr(e,"inline-template")&&(e.inlineTemplate=!0)}(e);for(var a=0;a<xo.length;a++)e=xo[a](e,t)||e;!function(e){var t,n,r,i,o,a,s,c=e.attrsList;for(t=0,n=c.length;t<n;t++)if(r=i=c[t].name,o=c[t].value,jo.test(r))if(e.hasBindings=!0,(a=zo(r))&&(r=r.replace(Po,"")),Do.test(r))r=r.replace(Do,""),o=_r(o),s=!1,a&&(a.prop&&(s=!0,"innerHtml"===(r=g(r))&&(r="innerHTML")),a.camel&&(r=g(r)),a.sync&&Ar(e,"update:"+g(r),Er(o,"$event"))),s||!e.component&&So(e.tag,e.attrsMap.type,r)?Cr(e,r,o):xr(e,r,o);else if(Eo.test(r))r=r.replace(Eo,""),Ar(e,r,o,a,!1);else{var l=(r=r.replace(jo,"")).match(Mo),u=l&&l[1];u&&(r=r.slice(0,-(u.length+1))),p=r,d=i,v=o,h=u,m=a,((f=e).directives||(f.directives=[])).push({name:p,rawName:d,value:v,arg:h,modifiers:m}),f.plain=!1}else xr(e,r,JSON.stringify(o)),!e.component&&"muted"===r&&So(e.tag,e.attrsMap.type,r)&&Cr(e,r,"true");var f,p,d,v,h,m}(e)}function Uo(e){var t;if(t=Sr(e,"v-for")){var n=function(e){var t=e.match(No);if(!t)return;var n={};n.for=t[2].trim();var r=t[1].trim().replace(Io,""),i=r.match(Lo);i?(n.alias=r.replace(Lo,""),n.iterator1=i[1].trim(),i[2]&&(n.iterator2=i[2].trim())):n.alias=r;return n}(t);n&&m(e,n)}}function Vo(e,t){e.ifConditions||(e.ifConditions=[]),e.ifConditions.push(t)}function zo(e){var t=e.match(Po);if(t){var n={};return t.forEach(function(e){n[e.slice(1)]=!0}),n}}var Ko=/^xmlns:NS\d+/,Jo=/^NS\d+:/;function qo(e){return Ro(e.tag,e.attrsList.slice(),e.parent)}var Wo=[Xi,Qi,{preTransformNode:function(e,t){if("input"===e.tag){var n,r=e.attrsMap;if(!r["v-model"])return;if((r[":type"]||r["v-bind:type"])&&(n=Or(e,"type")),r.type||n||!r["v-bind"]||(n="("+r["v-bind"]+").type"),n){var i=Sr(e,"v-if",!0),o=i?"&&("+i+")":"",a=null!=Sr(e,"v-else",!0),s=Sr(e,"v-else-if",!0),c=qo(e);Uo(c),kr(c,"type","checkbox"),Bo(c,t),c.processed=!0,c.if="("+n+")==='checkbox'"+o,Vo(c,{exp:c.if,block:c});var l=qo(e);Sr(l,"v-for",!0),kr(l,"type","radio"),Bo(l,t),Vo(c,{exp:"("+n+")==='radio'"+o,block:l});var u=qo(e);return Sr(u,"v-for",!0),kr(u,":type",n),Bo(u,t),Vo(c,{exp:i,block:u}),a?c.else=!0:s&&(c.elseif=s),c}}}}];var Go,Zo,Xo,Yo={expectHTML:!0,modules:Wo,directives:{model:function(e,t,n){var r,i,o,a,s,c,l,u,f,p,d,v,h,m,y,g,_=t.value,b=t.modifiers,$=e.tag,w=e.attrsMap.type;if(e.component)return Tr(e,_,b),!1;if("select"===$)h=e,m=_,g=(g='var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = "_value" in o ? o._value : o.value;return '+((y=b)&&y.number?"_n(val)":"val")+"});")+" "+Er(m,"$event.target.multiple ? $$selectedVal : $$selectedVal[0]"),Ar(h,"change",g,null,!0);else if("input"===$&&"checkbox"===w)c=e,l=_,f=(u=b)&&u.number,p=Or(c,"value")||"null",d=Or(c,"true-value")||"true",v=Or(c,"false-value")||"false",Cr(c,"checked","Array.isArray("+l+")?_i("+l+","+p+")>-1"+("true"===d?":("+l+")":":_q("+l+","+d+")")),Ar(c,"change","var $$a="+l+",$$el=$event.target,$$c=$$el.checked?("+d+"):("+v+");if(Array.isArray($$a)){var $$v="+(f?"_n("+p+")":p)+",$$i=_i($$a,$$v);if($$el.checked){$$i<0&&("+Er(l,"$$a.concat([$$v])")+")}else{$$i>-1&&("+Er(l,"$$a.slice(0,$$i).concat($$a.slice($$i+1))")+")}}else{"+Er(l,"$$c")+"}",null,!0);else if("input"===$&&"radio"===w)r=e,i=_,a=(o=b)&&o.number,s=Or(r,"value")||"null",Cr(r,"checked","_q("+i+","+(s=a?"_n("+s+")":s)+")"),Ar(r,"change",Er(i,s),null,!0);else if("input"===$||"textarea"===$)!function(e,t,n){var r=e.attrsMap.type,i=n||{},o=i.lazy,a=i.number,s=i.trim,c=!o&&"range"!==r,l=o?"change":"range"===r?Pr:"input",u="$event.target.value";s&&(u="$event.target.value.trim()"),a&&(u="_n("+u+")");var f=Er(t,u);c&&(f="if($event.target.composing)return;"+f),Cr(e,"value","("+t+")"),Ar(e,l,f,null,!0),(s||a)&&Ar(e,"blur","$forceUpdate()")}(e,_,b);else if(!j.isReservedTag($))return Tr(e,_,b),!1;return!0},text:function(e,t){t.value&&Cr(e,"textContent","_s("+t.value+")")},html:function(e,t){t.value&&Cr(e,"innerHTML","_s("+t.value+")")}},isPreTag:function(e){return"pre"===e},isUnaryTag:to,mustUseProp:Sn,canBeLeftOpenTag:no,isReservedTag:Un,getTagNamespace:Vn,staticKeys:(Go=Wo,Go.reduce(function(e,t){return e.concat(t.staticKeys||[])},[]).join(","))},Qo=e(function(e){return s("type,tag,attrsList,attrsMap,plain,parent,children,attrs"+(e?","+e:""))});function ea(e,t){e&&(Zo=Qo(t.staticKeys||""),Xo=t.isReservedTag||O,function e(t){t.static=function(e){if(2===e.type)return!1;if(3===e.type)return!0;return!(!e.pre&&(e.hasBindings||e.if||e.for||c(e.tag)||!Xo(e.tag)||function(e){for(;e.parent;){if("template"!==(e=e.parent).tag)return!1;if(e.for)return!0}return!1}(e)||!Object.keys(e).every(Zo)))}(t);if(1===t.type){if(!Xo(t.tag)&&"slot"!==t.tag&&null==t.attrsMap["inline-template"])return;for(var n=0,r=t.children.length;n<r;n++){var i=t.children[n];e(i),i.static||(t.static=!1)}if(t.ifConditions)for(var o=1,a=t.ifConditions.length;o<a;o++){var s=t.ifConditions[o].block;e(s),s.static||(t.static=!1)}}}(e),function e(t,n){if(1===t.type){if((t.static||t.once)&&(t.staticInFor=n),t.static&&t.children.length&&(1!==t.children.length||3!==t.children[0].type))return void(t.staticRoot=!0);if(t.staticRoot=!1,t.children)for(var r=0,i=t.children.length;r<i;r++)e(t.children[r],n||!!t.for);if(t.ifConditions)for(var o=1,a=t.ifConditions.length;o<a;o++)e(t.ifConditions[o].block,n)}}(e,!1))}var ta=/^([\w$_]+|\([^)]*?\))\s*=>|^function\s*\(/,na=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/,ra={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},ia={esc:"Escape",tab:"Tab",enter:"Enter",space:" ",up:["Up","ArrowUp"],left:["Left","ArrowLeft"],right:["Right","ArrowRight"],down:["Down","ArrowDown"],delete:["Backspace","Delete"]},oa=function(e){return"if("+e+")return null;"},aa={stop:"$event.stopPropagation();",prevent:"$event.preventDefault();",self:oa("$event.target !== $event.currentTarget"),ctrl:oa("!$event.ctrlKey"),shift:oa("!$event.shiftKey"),alt:oa("!$event.altKey"),meta:oa("!$event.metaKey"),left:oa("'button' in $event && $event.button !== 0"),middle:oa("'button' in $event && $event.button !== 1"),right:oa("'button' in $event && $event.button !== 2")};function sa(e,t,n){var r=t?"nativeOn:{":"on:{";for(var i in e)r+='"'+i+'":'+ca(i,e[i])+",";return r.slice(0,-1)+"}"}function ca(t,e){if(!e)return"function(){}";if(Array.isArray(e))return"["+e.map(function(e){return ca(t,e)}).join(",")+"]";var n=na.test(e.value),r=ta.test(e.value);if(e.modifiers){var i="",o="",a=[];for(var s in e.modifiers)if(aa[s])o+=aa[s],ra[s]&&a.push(s);else if("exact"===s){var c=e.modifiers;o+=oa(["ctrl","shift","alt","meta"].filter(function(e){return!c[e]}).map(function(e){return"$event."+e+"Key"}).join("||"))}else a.push(s);return a.length&&(i+="if(!('button' in $event)&&"+a.map(la).join("&&")+")return null;"),o&&(i+=o),"function($event){"+i+(n?"return "+e.value+"($event)":r?"return ("+e.value+")($event)":e.value)+"}"}return n||r?e.value:"function($event){"+e.value+"}"}function la(e){var t=parseInt(e,10);if(t)return"$event.keyCode!=="+t;var n=ra[e],r=ia[e];return"_k($event.keyCode,"+JSON.stringify(e)+","+JSON.stringify(n)+",$event.key,"+JSON.stringify(r)+")"}var ua={on:function(e,t){e.wrapListeners=function(e){return"_g("+e+","+t.value+")"}},bind:function(t,n){t.wrapData=function(e){return"_b("+e+",'"+t.tag+"',"+n.value+","+(n.modifiers&&n.modifiers.prop?"true":"false")+(n.modifiers&&n.modifiers.sync?",true":"")+")"}},cloak:$},fa=function(e){this.options=e,this.warn=e.warn||$r,this.transforms=wr(e.modules,"transformCode"),this.dataGenFns=wr(e.modules,"genData"),this.directives=m(m({},ua),e.directives);var t=e.isReservedTag||O;this.maybeComponent=function(e){return!t(e.tag)},this.onceId=0,this.staticRenderFns=[]};function pa(e,t){var n=new fa(t);return{render:"with(this){return "+(e?da(e,n):'_c("div")')+"}",staticRenderFns:n.staticRenderFns}}function da(e,t){if(e.staticRoot&&!e.staticProcessed)return va(e,t);if(e.once&&!e.onceProcessed)return ha(e,t);if(e.for&&!e.forProcessed)return f=t,v=(u=e).for,h=u.alias,m=u.iterator1?","+u.iterator1:"",y=u.iterator2?","+u.iterator2:"",u.forProcessed=!0,(d||"_l")+"(("+v+"),function("+h+m+y+"){return "+(p||da)(u,f)+"})";if(e.if&&!e.ifProcessed)return ma(e,t);if("template"!==e.tag||e.slotTarget){if("slot"===e.tag)return function(e,t){var n=e.slotName||'"default"',r=_a(e,t),i="_t("+n+(r?","+r:""),o=e.attrs&&"{"+e.attrs.map(function(e){return g(e.name)+":"+e.value}).join(",")+"}",a=e.attrsMap["v-bind"];!o&&!a||r||(i+=",null");o&&(i+=","+o);a&&(i+=(o?"":",null")+","+a);return i+")"}(e,t);var n;if(e.component)a=e.component,c=t,l=(s=e).inlineTemplate?null:_a(s,c,!0),n="_c("+a+","+ya(s,c)+(l?","+l:"")+")";else{var r=e.plain?void 0:ya(e,t),i=e.inlineTemplate?null:_a(e,t,!0);n="_c('"+e.tag+"'"+(r?","+r:"")+(i?","+i:"")+")"}for(var o=0;o<t.transforms.length;o++)n=t.transforms[o](e,n);return n}return _a(e,t)||"void 0";var a,s,c,l,u,f,p,d,v,h,m,y}function va(e,t){return e.staticProcessed=!0,t.staticRenderFns.push("with(this){return "+da(e,t)+"}"),"_m("+(t.staticRenderFns.length-1)+(e.staticInFor?",true":"")+")"}function ha(e,t){if(e.onceProcessed=!0,e.if&&!e.ifProcessed)return ma(e,t);if(e.staticInFor){for(var n="",r=e.parent;r;){if(r.for){n=r.key;break}r=r.parent}return n?"_o("+da(e,t)+","+t.onceId+++","+n+")":da(e,t)}return va(e,t)}function ma(e,t,n,r){return e.ifProcessed=!0,function e(t,n,r,i){if(!t.length)return i||"_e()";var o=t.shift();return o.exp?"("+o.exp+")?"+a(o.block)+":"+e(t,n,r,i):""+a(o.block);function a(e){return r?r(e,n):e.once?ha(e,n):da(e,n)}}(e.ifConditions.slice(),t,n,r)}function ya(e,t){var n,r,i="{",o=function(e,t){var n=e.directives;if(!n)return;var r,i,o,a,s="directives:[",c=!1;for(r=0,i=n.length;r<i;r++){o=n[r],a=!0;var l=t.directives[o.name];l&&(a=!!l(e,o,t.warn)),a&&(c=!0,s+='{name:"'+o.name+'",rawName:"'+o.rawName+'"'+(o.value?",value:("+o.value+"),expression:"+JSON.stringify(o.value):"")+(o.arg?',arg:"'+o.arg+'"':"")+(o.modifiers?",modifiers:"+JSON.stringify(o.modifiers):"")+"},")}if(c)return s.slice(0,-1)+"]"}(e,t);o&&(i+=o+","),e.key&&(i+="key:"+e.key+","),e.ref&&(i+="ref:"+e.ref+","),e.refInFor&&(i+="refInFor:true,"),e.pre&&(i+="pre:true,"),e.component&&(i+='tag:"'+e.tag+'",');for(var a=0;a<t.dataGenFns.length;a++)i+=t.dataGenFns[a](e);if(e.attrs&&(i+="attrs:{"+wa(e.attrs)+"},"),e.props&&(i+="domProps:{"+wa(e.props)+"},"),e.events&&(i+=sa(e.events,!1,t.warn)+","),e.nativeEvents&&(i+=sa(e.nativeEvents,!0,t.warn)+","),e.slotTarget&&!e.slotScope&&(i+="slot:"+e.slotTarget+","),e.scopedSlots&&(i+=(n=e.scopedSlots,r=t,"scopedSlots:_u(["+Object.keys(n).map(function(e){return ga(e,n[e],r)}).join(",")+"]),")),e.model&&(i+="model:{value:"+e.model.value+",callback:"+e.model.callback+",expression:"+e.model.expression+"},"),e.inlineTemplate){var s=function(e,t){var n=e.children[0];if(1===n.type){var r=pa(n,t.options);return"inlineTemplate:{render:function(){"+r.render+"},staticRenderFns:["+r.staticRenderFns.map(function(e){return"function(){"+e+"}"}).join(",")+"]}"}}(e,t);s&&(i+=s+",")}return i=i.replace(/,$/,"")+"}",e.wrapData&&(i=e.wrapData(i)),e.wrapListeners&&(i=e.wrapListeners(i)),i}function ga(e,t,n){return t.for&&!t.forProcessed?(r=e,o=n,a=(i=t).for,s=i.alias,c=i.iterator1?","+i.iterator1:"",l=i.iterator2?","+i.iterator2:"",i.forProcessed=!0,"_l(("+a+"),function("+s+c+l+"){return "+ga(r,i,o)+"})"):"{key:"+e+",fn:"+("function("+String(t.slotScope)+"){return "+("template"===t.tag?t.if?t.if+"?"+(_a(t,n)||"undefined")+":undefined":_a(t,n)||"undefined":da(t,n))+"}")+"}";var r,i,o,a,s,c,l}function _a(e,t,n,r,i){var o=e.children;if(o.length){var a=o[0];if(1===o.length&&a.for&&"template"!==a.tag&&"slot"!==a.tag)return(r||da)(a,t);var s=n?function(e,t){for(var n=0,r=0;r<e.length;r++){var i=e[r];if(1===i.type){if(ba(i)||i.ifConditions&&i.ifConditions.some(function(e){return ba(e.block)})){n=2;break}(t(i)||i.ifConditions&&i.ifConditions.some(function(e){return t(e.block)}))&&(n=1)}}return n}(o,t.maybeComponent):0,c=i||$a;return"["+o.map(function(e){return c(e,t)}).join(",")+"]"+(s?","+s:"")}}function ba(e){return void 0!==e.for||"template"===e.tag||"slot"===e.tag}function $a(e,t){return 1===e.type?da(e,t):3===e.type&&e.isComment?(r=e,"_e("+JSON.stringify(r.text)+")"):"_v("+(2===(n=e).type?n.expression:Ca(JSON.stringify(n.text)))+")";var n,r}function wa(e){for(var t="",n=0;n<e.length;n++){var r=e[n];t+='"'+r.name+'":'+Ca(r.value)+","}return t.slice(0,-1)}function Ca(e){return e.replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}new RegExp("\\b"+"do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,super,throw,while,yield,delete,export,import,return,switch,default,extends,finally,continue,debugger,function,arguments".split(",").join("\\b|\\b")+"\\b"),new RegExp("\\b"+"delete,typeof,void".split(",").join("\\s*\\([^\\)]*\\)|\\b")+"\\s*\\([^\\)]*\\)");function xa(t,n){try{return new Function(t)}catch(e){return n.push({err:e,code:t}),$}}var ka,Aa,Oa=(ka=function(e,t){var n=Ho(e.trim(),t);!1!==t.optimize&&ea(n,t);var r=pa(n,t);return{ast:n,render:r.render,staticRenderFns:r.staticRenderFns}},function(s){function e(e,t){var n=Object.create(s),r=[],i=[];if(n.warn=function(e,t){(t?i:r).push(e)},t)for(var o in t.modules&&(n.modules=(s.modules||[]).concat(t.modules)),t.directives&&(n.directives=m(Object.create(s.directives||null),t.directives)),t)"modules"!==o&&"directives"!==o&&(n[o]=t[o]);var a=ka(e,n);return a.errors=r,a.tips=i,a}return{compile:e,compileToFunctions:(c=e,l=Object.create(null),function(e,t,n){(t=m({},t)).warn,delete t.warn;var r=t.delimiters?String(t.delimiters)+e:e;if(l[r])return l[r];var i=c(e,t),o={},a=[];return o.render=xa(i.render,a),o.staticRenderFns=i.staticRenderFns.map(function(e){return xa(e,a)}),l[r]=o})};var c,l})(Yo).compileToFunctions;function Sa(e){return(Aa=Aa||document.createElement("div")).innerHTML=e?'<a href="\n"/>':'<div a="\n"/>',0<Aa.innerHTML.indexOf("&#10;")}var Ta=!!B&&Sa(!1),Ea=!!B&&Sa(!0),ja=e(function(e){var t=Jn(e);return t&&t.innerHTML}),Na=hn.prototype.$mount;return hn.prototype.$mount=function(e,t){if((e=e&&Jn(e))===document.body||e===document.documentElement)return this;var n=this.$options;if(!n.render){var r=n.template;if(r)if("string"==typeof r)"#"===r.charAt(0)&&(r=ja(r));else{if(!r.nodeType)return this;r=r.innerHTML}else e&&(r=function(e){{if(e.outerHTML)return e.outerHTML;var t=document.createElement("div");return t.appendChild(e.cloneNode(!0)),t.innerHTML}}(e));if(r){var i=Oa(r,{shouldDecodeNewlines:Ta,shouldDecodeNewlinesForHref:Ea,delimiters:n.delimiters,comments:n.comments},this),o=i.render,a=i.staticRenderFns;n.render=o,n.staticRenderFns=a}}return Na.call(this,e,t)},hn.compile=Oa,hn});
\ No newline at end of file
!function(e){var t=e.document,n=t.documentElement,i="orientationchange"in e?"orientationchange":"resize",a=function e(){var t=n.getBoundingClientRect().width;return n.style.fontSize=5*Math.max(Math.min(t/750*20,11.2),8.55)+"px",e}();n.setAttribute("data-dpr",e.navigator.appVersion.match(/iphone/gi)?e.devicePixelRatio:1),/iP(hone|od|ad)/.test(e.navigator.userAgent)&&(t.documentElement.classList.add("ios"),parseInt(e.navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/)[1],10)>=8&&t.documentElement.classList.add("hairline")),t.addEventListener&&(e.addEventListener(i,a,!1),t.addEventListener("DOMContentLoaded",a,!1))}(window);
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
@import './reset.scss';
@import './util.scss';
.ivu-form-item-content h1,
.ivu-form-item-content h2,
.ivu-form-item-content h3,
.ivu-form-item-content h4,
.ivu-form-item-content h5,{
margin-top: 2px ;
}
html, body{
width: 100%;
height: 100%;
background: #f3f3f3;
overflow-x: hidden;
}
input:-webkit-autofill,
textarea:-webkit-autofill,
select:-webkit-autofill {
-webkit-box-shadow: 0 0 0 1000px white inset;
}
input[type=text]:focus, input[type=password]:focus, textarea:focus {
-webkit-box-shadow: 0 0 0 1000px white inset;
}
.card-container {
padding: 10px 10px 0 0;
}
p {
color: $primary-font-color;
font-weight: bold;
}
.ivu-affix{
height: 1px;
}
.detail-container .ivu-select-dropdown, .detail-container .ivu-poptip-popper{
position: absolute !important;
}
.schedule-container .ivu-poptip{
position: relative;
.ivu-poptip-popper{
left: -180px !important;
top: 5px !important;
.ivu-poptip-inner{
background-color: rgba(36, 90, 136, 0.72);
color: white;
}
.ivu-poptip-arrow {
display: none;
}
}
}
// .detail-container .ivu-poptip-popper
.detail-container .ivu-select-dropdown{
top: 33px!important;
left: auto;
width: inherit;
}
// 以便在父元素没有height而只有min-height时,依然能够保持水平垂直居中
.ivu-spin-fix {
margin: auto;
}
\ No newline at end of file
//== Position
.relative {
position: relative;
}
.code {
background: #f5f7f9;
padding: 10px 0 10px 20px;
border-radius: 3px;
border-left: 3px solid $primary-color;
}
//== Display
.block {
display: block !important;
}
.hidden {
display: none;
}
.inline-block {
display: inline-block !important;
}
.width-auto {
width: 100%
}
//== Margin
.mg-tp-0 {
margin-top: 0px !important;
}
.mg-tp-5 {
margin-top: 5px !important;
}
.mg-tp-10 {
margin-top: 10px !important;
}
.mg-tp-15 {
margin-top: 15px !important;
}
.mg-tp-20 {
margin-top: 20px !important;
}
.mg-tp-50 {
margin-top: 50px !important;
}
.mg-tp-40 {
margin-top: 40px !important;
}
.mg-bt-0 {
margin-bottom: 0px !important;
}
.mg-bt-5 {
margin-bottom: 5px !important;
}
.mg-bt-10 {
margin-bottom: 10px !important;
}
.mg-bt-0 {
margin-bottom: 0px !important;
}
.mg-bt-15 {
margin-bottom: 15px !important;
}
.mg-bt-20 {
margin-bottom: 20px !important;
}
.mg-bt-30 {
margin-bottom: 30px !important;
}
.mg-lf-10 {
margin-left: 10px !important;
}
.mg-lf-25 {
margin-left: 25px !important;
}
//== Padding
.pd-0 {
padding: 0 !important;
}
.pd-tp-0 {
padding-top: 0 !important;
}
.pd-tp-15 {
padding-top: 15px !important;
}
.pd-lf-15 {
padding-left: 15px !important;
}
.pd-lf-20 {
padding-left: 20px !important;
}
.pd-rg-0 {
padding-right: 0 !important;
}
.pd-bt-15 {
padding-bottom: 15px !important;
}
.pd-bt-30 {
padding-bottom: 30px !important;
}
//== Text
.text-inline {
display: block;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
.text-center {
text-align: center;
}
.text-left {
text-align: left !important;
}
.text-right {
text-align: right;
}
//== Float
.float-right {
float: right;
}
//== Font
.font-bold {
font-weight: 700 !important;
}
.font-normal {
font-weight: 400 !important;
}
//== Vertical
.vertical-middle {
vertical-align: middle;
}
//== Overflow
.overflow-auto {
overflow: auto;
}
.overflow-x-auto {
overflow-x: auto;
}
.overflow-y-auto {
overflow-y: auto;
}
.w200{
width: 200px;
}
.w50{
width: 50px;
}
.w70{
width: 70px;
}
.w100{
width: 100px;
}
.w300{
width: 300px;
}
.w400{
width: 400px;
}
.w500{
width: 500px;
}
.color-white{
color: white
}
.demo-tabs-style1 > .ivu-tabs-card > .ivu-tabs-content {
margin-top: -16px;
}
.demo-tabs-style1 > .ivu-tabs-card > .ivu-tabs-content > .ivu-tabs-tabpane {
background: #fff;
padding: 16px;
}
.demo-tabs-style1 > .ivu-tabs.ivu-tabs-card > .ivu-tabs-bar .ivu-tabs-tab {
border-color: transparent;
}
.demo-tabs-style1 > .ivu-tabs-card > .ivu-tabs-bar .ivu-tabs-tab-active {
border-color: #fff;
}
.demo-tabs-style2 > .ivu-tabs.ivu-tabs-card > .ivu-tabs-bar .ivu-tabs-tab{
border-radius: 0;
background: #fff;
}
.demo-tabs-style2 > .ivu-tabs.ivu-tabs-card > .ivu-tabs-bar .ivu-tabs-tab-active{
border-top: 1px solid #3399ff;
}
.demo-tabs-style2 > .ivu-tabs.ivu-tabs-card > .ivu-tabs-bar .ivu-tabs-tab-active:before{
content: '';
display: block;
width: 100%;
height: 1px;
background: #3399ff;
position: absolute;
top: 0;
left: 0;
}
\ No newline at end of file
@import './test.scss';
@import '../../../static/style/libs/_export.scss';
@import './base/_export.scss';
@import './page/_export.scss';
\ No newline at end of file
@import './index.scss';
@import './login.scss';
\ No newline at end of file
html, body {
// color: $primary-font-color;
}
.layout {
min-width: 1000px;
background: #f3f3f3;
padding: 0;
.layout-content {
zoom: 1;
min-height: 800px;
.layout-left {
float: left;
position: fixed;
.layout-ceiling {
width: $layout-left-position;
height: 100px;
background: $primary-color;
overflow: hidden;
box-shadow: 1px 3px 4px rgba(88, 95, 94, 0.91);
.layout-logo {
width: auto;
color: white;
float: left;
font-size: 35px;
margin-left: 10px;
height: 80px;
margin-top: 10px;
margin-left: 30px;
}
.layout-ceiling-main {
margin-right: 15px;
padding-top: 20px;
a {
color: white;
font-size: 20px;
}
}
}
.layout-userinfo {
width: 240px;
margin-top: 20px;
min-height: 250px;
color: #444;
padding: 20px;
background: white;
box-shadow: 1px 1px 3px rgba(152,152,152,0.91);
}
.username {
text-align: center;
margin-bottom: 10px;
}
.userinfo {
text-align: center;
min-height: 140px;
p {
color: white;
}
}
.userhandle {
text-align: center;
}
}
.layout-content-wapper {
zoom: 1;
width: 100%;
padding-left: $layout-left-position + 10;
box-sizing: border-box;
padding-right: 0px;
// margin-top: 10px;
.layout-content-main {
width: 100%;
word-wrap: break-word;
min-height: 600px;
.layout-copy {
text-align: center;
padding: 30px 0 20px;
color: #9ea7b4;
}
}
}
}
}
.ivu-table-cell {
padding: 18px;
}
.ivu-menu-vertical.ivu-menu-light:after {
background: none;
}
// detail full
.detail-btn {
background-color: transparent;
border: none;
}
.ivu-menu-light.ivu-menu-vertical .ivu-menu-item-active:not(.ivu-menu-submenu) {
color: white;
border-left: 5px solid $primary-color;
border-right: 0;
z-index: 2;
background-color: #474b4e;
}
.ivu-table .table-active-row td {
background-color: #ebf7ff !important;
}
.title {
padding-left: 5px;
border-left: 6px solid $primary-color;
border-bottom: 2px solid $primary-color;
display: inline-block;
padding-right: 30px;
}
.title-bottom {
padding-left: 5px;
color: #73767b;
border-left: 6px solid $primary-color;
}
.page-tab-container {
position: relative;
width: 100%;
min-height: 600px;
display: inline-grid;
}
.navbar {
top: 10px;
width: $layout-left-position;
margin-right: -200px;
overflow-y: auto;
overflow-x: hidden;
max-height: 525px;
box-shadow: 1px 1px 3px rgba(152, 152, 152, 0.91);
}
.common-filter {
.filter-title {
cursor: pointer;
z-index: 9;
position: fixed;
right: 10px;
top: 10px;
padding: 10px 20px;
background: white;
/* color: white; */
border-radius: 2px;
box-shadow: 0px 0px 5px #e4e5e7;
}
.filter-card-contanier {
z-index: 9;
position: fixed;
right: 0;
top: 52px;
padding: 10px;
.filter-card {
background-color: rgba(255, 255, 255, 0.95);
box-shadow: 0 0 5px #dddee1;
border-radius: 2px;
.ivu-card-body {
padding: 0px;
}
.filter-content {
padding: 16px;
}
}
}
}
.home-container {
width: 100%;
height: 100%;
background: url(https://lev-inf.benmu-health.com/resource/image/1b63702d8aaec125e036b778065060c5.jpg) no-repeat 0;
position: absolute;
background-size: cover;
top: 0;
z-index: 999;
bottom: 0;
left: 0;
right: 0;
.home-login-container {
width: 300px;
height: 300px;
position: absolute;
margin: auto;
top: 0;
left: 0;
right: 0;
bottom: 0;
transform: translateY(-30%);
.home-login-logo {
text-shadow: 0 0 4px rgba(36, 90, 136, 0.9), 0 0 10px white;
width: 300px;
height: 80px;
display: block;
color: white;
font-size: 50px;
margin-bottom: 25px;
}
.ivu-card {
width: 300px;
border: none;
box-shadow: 0 0 5px black;
}
.copy-right {
text-align: center;
margin-top: 20px;
color: white;
}
}
}
.ccccccccccccc {
color:red;
background-color: red;
}
\ No newline at end of file
<template>
<div class="home-news">
<div class="home-news-left">
<b>视点推荐</b>
</div>
<div class="home-news-right">
<yd-rollnotice autoplay="2000" :height="'40'" style="font-size:0.3rem ;color:#999;" >
<yd-rollnotice-item >
<span class="home-news-rollnotice">
<span style="color:#FF6A6A;"></span>&nbsp;比较重要的行业资讯业资讯业资业资业资业资
</span>
</yd-rollnotice-item>
</yd-rollnotice>
</div>
</div>
</template>
<script>
export default {};
</script>
<style>
.home-news {
background-color: white;
}
.home-news-left{
margin-left: 0.3rem;
margin-right: 0.4rem;
float: left;
height: 40px;
font-size: 0.3rem;
display: flex;
align-items: center;
}
.home-news-right{
float: left;
}
.home-news-rollnotice{
width: 210px;
overflow: hidden;
text-overflow:ellipsis;
white-space: nowrap;
}
</style>
<template>
<yd-pullrefresh :callback="loadList" ref="pullrefreshDemo">
<yd-list theme="4">
<yd-list-item v-for="(item, key) in list" :key="key">
<img slot="img" :src="item.img">
<span slot="title">{{item.title}}</span>
<yd-list-other slot="other">
<div>
<span class="list-price">
<em>¥</em>
{{item.marketprice}}
</span>
<span class="list-del-price">¥{{item.productprice}}</span>
</div>
<div>content</div>
</yd-list-other>
</yd-list-item>
</yd-list>
</yd-pullrefresh>
</template>
<script type="text/babel">
import * as types from "./common/mixin";
export default {
data() {
return {
page: 1,
list: [
{
img: "http://img1.shikee.com/try/2016/06/23/14381920926024616259.jpg",
title: "标题标题标题标题标题",
marketprice: 56.23,
productprice: 89.36
},
]
};
},
methods: {
loadList() {
setTimeout(() => {
this.$dialog.toast({
mes:
"条内容"+"已是最新内容"
});
this.$refs.pullrefreshDemo.$emit('ydui.pullrefresh.finishLoad');
}, 1000);
}
}
};
</script>
\ No newline at end of file
<template>
<yd-infinitescroll :callback="loadList" ref="infinitescrollDemo" style="margin-bottom:1rem;" >
<yd-list theme="1" slot="list">
<yd-list-item v-for="(item, key) in list" :key="key">
<img slot="img" :src="item.img">
<span slot="title">{{item.title}}</span>
<yd-list-other slot="other">
<div>
<span class="list-price"><em>¥</em>{{item.marketprice}}</span>
<span class="list-del-price">¥{{item.productprice}}</span>
</div>
<div>content</div>
</yd-list-other>
</yd-list-item>
</yd-list>
<!-- 数据全部加载完毕显示 -->
<span slot="doneTip">啦啦啦,啦啦啦,没有数据啦~~</span>
<!-- 加载中提示,不指定,将显示默认加载中图标 -->
<imgslot="loadingTip" src="http://static.ydcss.com/uploads/ydui/loading/loading10.svg"/>
</yd-infinitescroll>
</template>
<script type="text/babel">
Vue.component(InfiniteScroll.name, InfiniteScroll);
export default {
data() {
return {
page: 1,
pageSize: 10,
list: [
{
img: "http://img1.shikee.com/try/2016/06/23/14381920926024616259.jpg",
title: "标题标题标题标题标题",
marketprice: 56.23,
productprice: 89.36
},
{
img: "http://img1.shikee.com/try/2016/06/21/10172020923917672923.jpg",
title: "骆驼男装2016夏装男士短袖T恤 圆领衣服 印花男装体恤 半袖打底衫",
marketprice: 56.23,
productprice: 89.36
},
{
img: "http://img1.shikee.com/try/2016/06/23/15395220917905380014.jpg",
title: "条纹短袖T恤男士韩版衣服大码潮流男装夏季圆领体恤2016新款半袖",
marketprice: 56.23,
productprice: 89.36
},
{
img: "http://img1.shikee.com/try/2016/06/25/14244120933639105658.jpg",
title: "夏季青少年衣服男生潮牌t恤 男士 夏秋学生 日系棉短袖半袖男小衫",
marketprice: 56.23,
productprice: 89.36
},
{
img: "http://img1.shikee.com/try/2016/06/26/12365720933909085511.jpg",
title: "2016夏装新款时尚潮流短袖T恤男纯棉V领日系青少年韩版夏季上衣服",
marketprice: 56.23,
productprice: 89.36
},
{
img: "http://img1.shikee.com/try/2016/06/19/09430120929215230041.jpg",
title: "男装衣服男夏t恤 男士短袖t恤圆领夏季潮牌宽松原宿风半截袖男",
marketprice: 56.23,
productprice: 89.36
}
]
}
},
methods: {
loadList() {
// this.$http.jsonp('http://list.ydui.org/getdata.php?type=backposition', {
// params: {
// page: this.page,
// pagesize: this.pageSize
// }
// }).then(function (response) {
// const _list = response.body;
// this.list = [...this.list, ..._list];
// if (_list.length < this.pageSize || this.page == 3) {
// /* 所有数据加载完毕 */
this.$refs.infinitescrollDemo.$emit('ydui.infinitescroll.loadedDone');
// return;
// }
// /* 单次请求数据完毕 */
this.$refs.infinitescrollDemo.$emit('ydui.infinitescroll.finishLoad');
// this.page++;
// });
}
}
}
</script>
\ No newline at end of file
export function fileWrite(name, data) {
plus.io.requestFileSystem(plus.io.PUBLIC_DOCUMENTS, function (fs) {
fs.root.getFile(name + '.json', {
create: true
}, function (fileEntry) {
fileEntry.file(function (file) {
var fileWrite = new plus.io.FileWriter;
fileEntry.createWriter(function (fileWrite) {
fileWrite.write(data);
fileWrite.onwrite = function (e) {
alert("write ok");
}
})
});
});
});
};
export function fileReader(name, callback) {
plus.io.requestFileSystem(plus.io.PUBLIC_DOCUMENTS, function (fs) {
fs.root.getFile(name + '.json', {
create: true
}, function (fileEntry) {
fileEntry.file(function (file) {
var fileReader = new plus.io.FileReader();
fileReader.readAsText(file, 'utf-8');
fileReader.onloadend = function (evt) {
alert("reader ok");
callback(evt.target.result)
// var data = JSON.parse(evt.target.result)
}
});
});
});
};
\ No newline at end of file
//到时分秒的日期格式化
exports.dateFormat = (dateText) => {
let _func = function (number, length) {
length = length || 2;
return ("0".repeat(length) + number).substr(-length);
};
if (dateText == null) return "";
let date = new Date(dateText);
return (
date.getFullYear() +
"-" +
_func(date.getMonth() + 1) +
"-" +
_func(date.getDate()) +
" " +
_func(date.getHours()) +
":" +
_func(date.getMinutes())
);
},
//日期格式化自定义
exports.Format = (dateText, fmt) => {
//author: meizz
if (dateText == null) return "";
let date = new Date(dateText);
var o = {
"M+": date.getMonth() + 1, //月份
"d+": date.getDate(), //日
"h+": date.getHours(), //小时
"m+": date.getMinutes(), //分
"s+": date.getSeconds(), //秒
"q+": Math.floor((date.getMonth() + 3) / 3), //季度
S: date.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt))
fmt = fmt.replace(
RegExp.$1,
(date.getFullYear() + "").substr(4 - RegExp.$1.length)
);
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt))
fmt = fmt.replace(
RegExp.$1,
RegExp.$1.length == 1 ?
o[k] :
("00" + o[k]).substr(("" + o[k]).length)
);
return fmt;
},
//金额格式化
exports.MoneyFormat = (s, n) => {
if (s < 0) {
n = n > 0 && n <= 20 ? n : 2;
s = 0 - s;
s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";
var l = s
.split(".")[0]
.split("")
.reverse(),
r = s.split(".")[1],
t = "";
for (var i = 0; i < l.length; i++) {
t += l[i] + ((i + 1) % 3 === 0 && i + 1 != l.length ? "," : "");
}
return (
"-" +
t
.split("")
.reverse()
.join("") +
"." +
r
);
} else {
n = n > 0 && n <= 20 ? n : 2;
s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";
var l = s
.split(".")[0]
.split("")
.reverse(),
r = s.split(".")[1],
t = "";
for (var i = 0; i < l.length; i++) {
t += l[i] + ((i + 1) % 3 === 0 && i + 1 != l.length ? "," : "");
}
return (
t
.split("")
.reverse()
.join("") +
"." +
r
);
}
},
//金额以万为单位
exports.MoneyToChineseTail = (number) => {
return (number / 10000).toFixed(2) + '万';
}
export function latitude() {
plus.geolocation.getCurrentPosition(
function(res) {
//成功回调
var user_latitude = res.coords.latitude; //纬度
var user_longitude = res.coords.longitude; //经度
},
function(e) {
console.log(
"Gelocation Error: code - " + e.code + "; message - " + e.message
);
switch (e.code) {
case 10:
mui.alert(
"请开启应用的定位权限",
"温馨提示",
"确定",
function() {},
"div"
);
break;
case 9:
//mui.alert('请开启手机定位服务');
mui.alert(
"请开启手机定位服务",
"温馨提示",
"确定",
function() {},
"div"
);
break;
case 2:
if (e.message.indexOf("[geolocation:13]") > -1) {
//如果网络开启,定位失败,提示检查定位权限
mui.alert(
"请开启应用的定位权限",
"温馨提示",
"确定",
function() {},
"div"
);
}
if (e.message.indexOf("[geolocation:14]") > -1) {
//如果应用的权限开了,提示网络异常
mui.alert(
"请检查网络是否正常",
"温馨提示",
"确定",
function() {},
"div"
);
}
break;
case e.PERMISSION_DENIED:
mui.alert(
"请求定位被拒绝",
"温馨提示",
"确定",
function() {},
"div"
);
break;
case e.POSITION_UNAVAILABLE:
mui.alert(
"位置信息不可用",
"温馨提示",
"确定",
function() {},
"div"
);
break;
case e.TIMEOUT:
mui.alert(
"获取位置信息超时",
"温馨提示",
"确定",
function() {},
"div"
);
break;
case e.UNKNOWN_ERROR:
mui.alert("未知错误", "温馨提示", "确定", function() {}, "div");
break;
}
},
{
//超时未获取到经纬度信息 执行失败回调 (默认为5秒)
timeout: 3000
}
);
}
\ No newline at end of file
export const mixin = {
methods: {
plusReady() {
mui.init({
swipeBack: false
});
let first = null;
mui.back = function () {
if (!first) {
first = new Date().getTime();
mui.toast('再按一次退出应用');
setTimeout(function () {
first = null;
}, 1000);
} else {
if (new Date().getTime() - first < 1000) {
plus.runtime.quit();
}
}
}
},
/**
* 格式化距离
* @param {*数值} d
*/
formatDis(d) {
if (!d) return '未知';
return d > 1000 ? `${(d / 1000).toFixed(2)}公里` : `${d}米`;
},
/**
*
* @param {*时间戳} t
* @param {*类型} type
*
*/
formatTime(t, type) {
var date, year, month, day, hour, minute, second;
if (!t)
return '--'
date = new Date(t);
/**
* @param {String} time 日期时间
* @return {String} 格式化日期时间
*/
var complete = function (time) {
return time.toString().replace(/^(\d)$/, "0$1");
};
year = date.getFullYear();
month = complete(date.getMonth() + 1);
day = complete(date.getDate());
hour = complete(date.getHours());
minute = complete(date.getMinutes());
second = complete(date.getSeconds());
return type ? `${year}-${month}-${day} ${hour}:${minute}:${second}` : `${year}${month}${day}${hour}:${minute}`;
},
/**
* 格式化金额,返回两位小数
* @param {*数值} m
*/
formatPrice(m, d = 2) {
return (m || 0).toFixed(d);
},
/**
* 格式化图片地址,默认图片
* @param {*路径} path
*/
getImgPath(path) {
return path ? path : (process.env.NODE_ENV == 'development' ? "/static/img/default.png" : "./static/img/default.png")
},
/**
* 格式化图片地址,用户图片
* @param {*路径} path
*/
formatUser(path) {
return path ? path : (process.env.NODE_ENV == 'development' ? "/static/img/user.png" : "./static/img/user.png")
},
/**
* 格式化背景图片,例如abc.png
* @param {*图片名称} url
*/
formatBg(url) {
return process.env.NODE_ENV == 'development' ? `url(/static/img/${url})` : `url(./static/img/${url})`
}
}
}
export const localImg = {
methods: {
getLocalImg(filename) {
return process.env.NODE_ENV == 'development' ? `/static/img/${filename}` : `./static/img/${filename}`
}
}
}
/**
* 存储localStorage
*/
export const setStore = (name, content) => {
if (!name) return;
if (typeof content !== 'string') {
content = JSON.stringify(content);
}
window.localStorage.setItem(name, content);
}
/**
* 获取localStorage
*/
export const getStore = name => {
if (!name) return;
return window.localStorage.getItem(name);
}
/**
* 删除localStorage
*/
export const removeStore = name => {
if (!name) return;
window.localStorage.removeItem(name);
}
export const validateSettle = {
computed: {
validStoreName() {
return !!this.storeName
},
validSellerName() {
return !!this.sellerName
},
validSellerMobile() {
return /^1[3,4,5,7,8,9]\d{9}$/.test(this.sellerMobile)
},
validStoreCitys() {
return !!this.storeCitys.length;
},
validAddressDetail() {
return !!this.addressDetail
},
validFileContent() {
return !!this.fileContent
},
}
}
export const payMixin = {
created() {
this.getChannel();
},
methods: {
getChannel() {
plus.payment.getChannels(channels => {
for (let i in channels) {
var channel = channels[i];
if (channel.id == "alipay" || channel.id == "wxpay") {
this.pays[channel.id] = channel;
}
}
});
},
checkService(pc, callback) {
if (!pc.serviceReady) {
var txt = null;
switch (pc.id) {
case "alipay":
txt = "检测到系统未安装“支付宝快捷支付服务”,无法完成支付操作,是否立即安装?";
break;
case "wxpay":
txt = "系统未安装微信,无法完成支付,是否立即安装?";
break;
}
plus.nativeUI.confirm(
txt,
function (e) {
if (e.index == 0) {
pc.installService();
}
},
pc.description
);
} else {
callback && callback();
}
}
}
}
// import {
// findMemberByMoblie
// } from "../../api/index"
export const findMemberByMobile = {
methods: {
findMember() {
if (!this.mobile || this.mobile.length < 11) {
return;
}
let vm = this;
mui.ajax({
url: findMemberByMoblie,
type: "post",
headers: {
"app-version": "v1.0"
},
data: {
account: this.account,
mobile: this.mobile,
token: md5(`gjfengfindMemberByMoblie${this.mobile}`)
},
success(res) {
if (res.code == 200) {
vm.mobileName = res.result ? res.result.name || res.result.nickName : "用户不存在";
} else {
vm.mobileName = res.msg;
}
}
});
}
}
}
export const time = {
methods: {
formatTime(date) {
Date.prototype.format = function (p) {
var o = {
"M+": this.getMonth() + 1,
"d+": this.getDate(),
"h+": this.getHours(),
"m+": this.getMinutes(),
"s+": this.getSeconds(),
"q+": Math.floor((this.getMonth() + 3) / 3),
"S": this.getMilliseconds()
}
if (/(y+)/.test(p)) {
p = p.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
}
for (var k in o) {
if (new RegExp("(" + k + ")").test(p)) {
p = p.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
}
}
return p;
};
function getFormatDate(date, pattern) {
if (!date) {
date = new Date();
}
if (!pattern) {
pattern = "yyyy-MM-dd hh:mm:ss";
}
return date.format(pattern);
};
/* 转换long值为日期字符串
* l long值
* pattern 格式字符串,例如:yyyy-MM-dd hh:mm:ss
*/
function getFormatDateByLong(l, pattern) {
return getFormatDate(new Date(l), pattern);
};
//时间格式转换
// function returnDiyDate(date) {
//date = parseInt(date); //强转整型
var tDate = getFormatDate(new Date(), "yyyy/MM/dd"); //当前凌晨时间(string)
var tTime = new Date(tDate).getTime(); //当前凌晨时间(long)
var eTime = 24 * 60 * 60 * 1000; //一天时间(long)
var yTime = tTime - eTime; //昨天凌晨时间(long)
var byTime = tTime - 2 * eTime; //前天凌晨时间(long)
var formatDate = getFormatDateByLong(date, "hh:mm"); //转成时分格式
var result = '';
if (date >= tTime) {
//今天
result = formatDate;
} else if (date < tTime && date >= yTime) {
//昨天
result = "昨天 " + formatDate;
} else if (date < yTime && date >= byTime) {
//前天
result = "前天 " + formatDate;
} else {
//前天之前
result = getFormatDateByLong(date, "MM-dd hh:mm");
}
return result;
// };
}
}
}
//获取cookie、
export function getCookie(name) {
var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
if (arr = document.cookie.match(reg))
return (arr[2]);
else
return null;
}
//设置cookie,增加到vue实例方便全局调用
export function setCookie(c_name, value, expiredays) {
var exdate = new Date();
exdate.setDate(exdate.getDate() + expiredays);
document.cookie = c_name + "=" + escape(value) + ((expiredays == null) ? "" : ";expires=" + exdate.toGMTString());
};
//删除cookie
export function delCookie(name) {
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval = getCookie(name);
if (cval != null)
document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString();
};
export const helpers = {
//到时分秒的日期格式化
dateFormat: function (dateText) {
let _func = function (number, length) {
length = length || 2;
return ("0".repeat(length) + number).substr(-length);
};
if (dateText == null) return "";
let date = new Date(dateText);
return (
date.getFullYear() +
"-" +
_func(date.getMonth() + 1) +
"-" +
_func(date.getDate()) +
" " +
_func(date.getHours()) +
":" +
_func(date.getMinutes())
);
},
//日期格式化自定义
Format: function (dateText, fmt) {
//author: meizz
if (dateText == null) return "";
let date = new Date(dateText);
var o = {
"M+": date.getMonth() + 1, //月份
"d+": date.getDate(), //日
"h+": date.getHours(), //小时
"m+": date.getMinutes(), //分
"s+": date.getSeconds(), //秒
"q+": Math.floor((date.getMonth() + 3) / 3), //季度
S: date.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt))
fmt = fmt.replace(
RegExp.$1,
(date.getFullYear() + "").substr(4 - RegExp.$1.length)
);
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt))
fmt = fmt.replace(
RegExp.$1,
RegExp.$1.length == 1 ?
o[k] :
("00" + o[k]).substr(("" + o[k]).length)
);
return fmt;
},
//金额格式化
MoneyFormat: function (s, n) {
if (s < 0) {
n = n > 0 && n <= 20 ? n : 2;
s = 0 - s;
s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";
var l = s
.split(".")[0]
.split("")
.reverse(),
r = s.split(".")[1],
t = "";
for (var i = 0; i < l.length; i++) {
t += l[i] + ((i + 1) % 3 === 0 && i + 1 != l.length ? "," : "");
}
return (
"-" +
t
.split("")
.reverse()
.join("") +
"." +
r
);
} else {
n = n > 0 && n <= 20 ? n : 2;
s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";
var l = s
.split(".")[0]
.split("")
.reverse(),
r = s.split(".")[1],
t = "";
for (var i = 0; i < l.length; i++) {
t += l[i] + ((i + 1) % 3 === 0 && i + 1 != l.length ? "," : "");
}
return (
t
.split("")
.reverse()
.join("") +
"." +
r
);
}
},
//金额以万为单位
MoneyToChineseTail: function (number) {
return (number / 10000).toFixed(2) + '万';
}
};
import {
Confirm,
Alert,
Toast,
Notify,
Loading
} from 'vue-ydui/dist/lib.rem/dialog';
import echarts from 'echarts';
import {
helpers
} from "./mixin"
export default {
install: (Vue, options) => {
Vue.prototype.$dialog = {
confirm: Confirm,
alert: Alert,
toast: Toast,
notify: Notify,
loading: Loading,
},
Vue.prototype.$helpers = helpers,
Vue.prototype.$echarts = echarts
}
}
export default{
    pySort(arr){
        var $this = this;
var letters = "ABCDEFGHJKLMNOPQRSTWXYZ".split('');
var result = [];
var curr;
for(var i=0;i<letters.length;i++){
curr = {letter: letters[i], data:[]};
for(var j =0;j<arr.length;j++){
var firstLetter = pinyinUtil.getFirstLetter(arr[j].Name)
var initial = firstLetter.charAt(0);//截取第一个字符
if(initial==letters[i]||initial==letters[i].toLowerCase()){
curr.data.push({
Name:arr[j].Name,
Image:arr[j].Image,
MonitorFlag:arr[j].MonitorFlag,
Student_ID:arr[j].Student_ID
});
}
}
if(curr.data.length) {
result.push(curr);
}
}
return result;
}
}
\ No newline at end of file
export function video() {
// 调用原生android摄像头
var VIDEOZOOM = 200;
var MediaStore = plus.android.importClass("android.provider.MediaStore");
var Intent = plus.android.importClass("android.content.Intent");
// 导入后可以使用new方法创建类的示例对象
var intent = new Intent("android.media.action.VIDEO_CAPTURE");
intent.putExtra("android.intent.extra.videoQuality", 1); //0 means low quality, 1 means high quality
//intent.putExtra("android.provider.MediaStore.EXTRA_OUTPUT", url);
intent.putExtra("android.intent.extra.durationLimit", 3); //设置录像时间
var main = plus.android.runtimeMainActivity();
main.startActivityForResult(intent, VIDEOZOOM);
//获取返回参数
main.onActivityResult = function(requestCode, resultCode, data) {
var context = main;
plus.android.importClass(data);
var uri = data.getData();
var resolver = context.getContentResolver();
plus.android.importClass(resolver);
var cursor = resolver.query(uri, null, null, null, null);
plus.android.importClass(cursor);
cursor.moveToFirst();
var column = cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DATA);
// 获取录制的视频路径
var filePath = cursor.getString(column);
// 解析视频文件的属性
plus.io.resolveLocalFileSystemURL(
filePath,
function(entry) {
entry.file(function(file) {
console.log("size==" + file.size);
console.log("name==" + file.name);
});
},
function(e) {
console.log("Resolve file URL failed: " + e.message);
}
);
};
}
\ No newline at end of file
export function websql() {
function dataBaseCRUD() {
var dataBase = openDatabase(
"schoo",
"1.0.0",
"学校数据库",
1024 * 1024 * 2
);
/**
* (1)openDatabase方法打开一个已经存在的数据库,如果数据库不存在,它还可以创建数据库。几个参数意义分别是:
* 1,数据库名称。
* 2,数据库的版本号,目前来说传个1.0就可以了,当然可以不填;
* 3,对数据库的描述。
* 4,设置分配的数据库的大小(单位是kb)。
* 5,回调函数(可省略)。
*/
if (!dataBase) {
console.info("当前浏览器不支持Html5本地数据库");
return false;
} else {
dataBase.transaction(function(ts) {
//启动一个事务,并设置回调函数
ts.executeSql(
"create table if not exists Student(id int,name text null,age int,sex text null)",
[],
function(ts, result) {
console.info("创建数据库成功" + result);
},
function(ts, message) {
console.info("创建数据库失败", message);
}
);
});
dataBase.transaction(function(ts) {
ts.executeSql(
"insert into Student(id,name,age,sex) values(?,?,?,?) ",
[1, "小1", 21, "男"],
function(ts, result) {
console.info("插入数据成功!" + result);
},
function(ts, message) {
console.info("插入数据失败!" + message);
}
);
});
dataBase.transaction(function(ts) {
ts.executeSql(
"insert into Student(id,name,age,sex) values(?,?,?,?) ",
[2, "小红", 20, "女"],
function(ts, result) {
console.info("插入数据成功!" + result);
},
function(ts, message) {
console.info("插入数据失败!" + message);
}
);
});
dataBase.transaction(function(ts) {
ts.executeSql(
"update Student set name = ? where id = ? ",
["小红s", 2],
function(ts, result) {
console.info("更新数据成功!" + result);
},
function(ts, message) {
console.info("更新数据失败!" + message);
}
);
});
dataBase.transaction(function(ts) {
ts.executeSql(
"delete from Student where id = ? ",
[2],
function(ts, result) {
console.info("删除数据成功!" + result);
},
function(ts, message) {
console.info("删除数据失败!" + message);
}
);
});
dataBase.transaction(function(ts) {
ts.executeSql(
"select * from Student ",
[],
function(ts, result) {
if (result) {
for (var i = 0; i < result.rows.length; i++) {
console.info(result.rows.item(i));
}
}
console.info("查询数据成功!");
},
function(ts, message) {
console.info("查询数据失败!" + message);
}
);
});
}
/**
* (2)db.transaction方法可以设置一个回调函数,此函数可以接受一个参数就是我们开启的事务的对象。然后通过此对象可以进行执行Sql脚本,跟下面的步骤可以结合起来。
* (3)通过executeSql方法执行查询。
* ts.executeSql(sqlQuery,[value1,value2..],dataHandler,errorHandler)
* 参数说明:
* 1,sqlQuery:需要具体执行的sql语句,可以是create、select、update、delete;
* 2,[value1,value2..]:sql语句中所有使用到的参数的数组,在executeSql方法中,将s>语句中所要使用的参数先用“?”代替,然后依次将这些参数组成数组放在第二个参数中
* 3,dataHandler:执行成功是调用的回调函数,通过该函数可以获得查询结果集;
* 4,errorHandler:执行失败时调用的回调函数;
*
*/
}
dataBaseCRUD();
//根据学号删除学生信息
}
\ No newline at end of file
{
"DomiId":"test",
"employees": [{
"firstName": "Bill",
"lastName": "Gates"
},
{
"firstName": "George",
"lastName": "Bush"
},
{
"firstName": "Thomas",
"lastName": "Carter"
}
]
}
<template>
<div class="footNav">
<router-link to="/home" tag="dl" active-class="footeractive1">
<a href="javascript:;">
<dt>
<i class="iconfont icon-ren">&#xe618;</i>
</dt>
<dd>首页</dd>
</a>
</router-link>
<router-link to="/checkstandard" tag="dl" active-class="footeractive3">
<a href="javascript:;">
<dt>
<i class="iconfont icon-ren">&#xe638;</i>
</dt>
<dd>标准</dd>
</a>
</router-link>
<router-link to="/group" tag="dl" active-class="footeractive4">
<a href="javascript:;">
<dt>
<i class="iconfont icon-ren">&#xe674;</i>
</dt>
<dd>业务</dd>
</a>
</router-link>
<router-link to="/user" tag="dl" active-class="footeractive5">
<a href="javascript:;">
<dt>
<i class="iconfont icon-ren">&#xe671;</i>
</dt>
<dd>我的</dd>
</a>
</router-link>
<div class="clearfix"></div>
</div>
</template>
<style>
.footNav {
position: fixed;
left: 0;
bottom: 0;
z-index: 999;
width: 100%;
height: 1rem;
border-top: #ddd 1px solid;
background: #f7f7f7;
}
.footNav dl {
float: left;
width: 25%;
text-align: center;
color: #999;
}
.footNav dl i {
font-size: 0.4rem;
}
.footNav dt {
height: 0.6rem;
line-height: 0.6rem;
}
.footNav dd {
font-size: 0.24rem;
}
.footNav .footeractive1 {
color: #d81e06;
}
.footNav .footeractive2 {
color: #437dff;
}
.footNav .footeractive3 {
color: #63f7de;
}
.footNav .footeractive4 {
color: #87c596;
}
.footNav .footeractive5 {
color: #37c4fe;
}
</style>
<script>
</script>
<template>
<div classs="bloading" >
<div class="loading">
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
</div>
</div>
</template>
<style scoped>
.loading{
width: 110px;
height: 15px;
margin: 0 auto;
margin-top:100px;
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
margin: auto;
}
.loading span{
display: inline-block;
width: 15px;
height: 100%;
margin-right: 5px;
border-radius: 50%;
background: lightgreen;
-webkit-animation: load 1.04s ease infinite;
}
.loading span:last-child{
margin-right: 0px;
}
@-webkit-keyframes load{
0%{
opacity: 1;
}
100%{
opacity: 0;
}
}
.loading span:nth-child(1){
-webkit-animation-delay:0.13s;
}
.loading span:nth-child(2){
-webkit-animation-delay:0.26s;
}
.loading span:nth-child(3){
-webkit-animation-delay:0.39s;
}
.loading span:nth-child(4){
-webkit-animation-delay:0.52s;
}
.loading span:nth-child(5){
-webkit-animation-delay:0.65s;
}
</style>
<template>
<yd-lightbox>
<yd-lightbox-img v-for="(item, key) in this.photo" :key="key" :src="item"></yd-lightbox-img>
</yd-lightbox>
</template>
<script>
export default {
props:['photo']
}
</script>
<template>
<div
class="my-scroll"
:class="[scrollState?'prohibit':'allow']"
ref="myScroll"
@scroll.passive="onScroll($event)"
@touchstart="touchStart($event)"
@touchmove="touchMove($event)"
@touchend="touchEnd($event)"
>
<div class="scroll-top" :style="{height:top+'px'}">
<div v-if="aspect==2">
<p style="color:red;" v-if="state==6">下拉刷新</p>
<p v-if="state==1">
<i>
<img src="../assets/img/pullrefresh.gif">
</i>
<br>
<a style="color:red;">刷新中</a>
</p>
<p style="color:red;" v-if="state==2">松开刷新</p>
<p style="color:red;" v-if="state==3">
<i>
<img src="../assets/img/pullrefresh.gif">
</i>
<br>刷新完成
</p>
</div>
</div>
<!-- top -->
<div class="scroll-list" :style="{ transform: 'translate3d(0, ' + top + 'px, 0)'}">
<slot name="scrollList"></slot>
<div style="color:red;" class="scroll-bottom">
<div v-if="state==4">加载中</div>
<div v-if="state==5">加载完成</div>
<div v-if="state==7">没有更多</div>
</div>
</div>
</div>
</template>
<script type="text/javascript">
// import tween from '@/plugins/tween'
// import Load from '@/assets/Load.gif'
export default {
name: "myScroll",
props: {
page: {
type: Object //counter:当前页 pageStart:开始页数 pageEnd:结束页数 total:总页数
},
onRefresh: {
//刷新回调
type: Function,
require: true
},
onPull: {
//加载回调
type: Function,
require: true
},
getScrollTop: {
//获取滚动条位置
type: Function
},
setScrollPage: {
//改变滚动条位置
type: Function
},
scrollState: {
//是否可滑动
type: Boolean,
require: true
}
},
data() {
return {
// Load,
pageX: 0,
pageY: 0,
state: 0,
scrollPosition: 0,
myScroll: null,
myScrollList: null,
top: 0,
aspect: 0, //1:向下 2:向上
listHeight: 0
};
},
created() {},
methods: {
ScrollTop(top) {
//修改滚动条位置
this.myScroll.scrollTop = top;
},
easeInOut(t, b, c, d) {
if ((t /= d / 2) < 1) return (c / 2) * t * t * t * t + b;
return (-c / 2) * ((t -= 2) * t * t * t - 2) + b;
},
/*
* 刷新中:1
* 松开刷新:2
* 刷新完成:3
* 加载中:4
* 加载完成:5
* 下拉刷新:6
* 没有更多:7
*/
setState(index) {
//修改状态
this.state = index;
if (index == 5 || index == 3) {
setTimeout(() => {
this.state = 0;
let timer = null;
let that = this;
var b = 50,
c = 100,
d = 100,
t = 0;
cancelAnimationFrame(timer);
timer = requestAnimationFrame(function fn() {
var oTop = that.top;
if (that.top > 0) {
that.top =
Math.ceil(that.easeInOut(10, oTop, 8, 10)) - 15;
timer = requestAnimationFrame(fn);
} else {
cancelAnimationFrame(timer);
that.top = 0;
}
});
}, 500);
}
},
touchStart(e) {
//触摸事件
this.pageX = e.targetTouches[0].pageX;
this.pageY = e.targetTouches[0].pageY;
},
touchMove(e) {
//触摸滑动事件
// console.log( this.scrollPosition)
if (document.documentElement.scrollTop == 0) {
this.scrollPosition = this.myScroll.scrollTop; //获取滚动条位置
if (this.scrollState && e.targetTouches[0].pageY > this.pageY) {
//向上滑动
this.aspect = 2;
if (this.myScroll.scrollTop == 0) {
let diff =
e.targetTouches[0].pageY -
this.pageY -
this.scrollPosition;
// console.log(diff)
this.top = Math.pow(diff, 0.9);
let ranget = (diff / document.body.clientHeight) * 100; //计算在屏幕上滑动了多少
if (ranget > 10) {
this.state = 2;
this.top = 50;
} else if (ranget < 5) {
this.state = 6;
}
e.preventDefault();
}
} else if (this.scrollState && this.state != 4) {
//向上滑动
this.aspect = 1;
}
}
},
touchEnd(e) {
if ((this.aspect == 2 && this.state == 2) || this.state == 1) {
//上拉处理
this.top = 50;
this.state = 1;
this.topCallback();
} else if (this.aspect == 2) {
this.state = 0;
this.top = 0;
}
},
onScroll(e) {
let listHeight = this.myScrollList.offsetHeight; //列表总高度
let listScrollTop = e.target.scrollTop + this.myScroll.offsetHeight; //当前滚动条位置
if (this.state == 0 && listHeight - listScrollTop < 100) {
this.bottomCallback();
}
if (this.getScrollTop) this.getScrollTop(e.target.scrollTop); //返回X,Y
},
topCallback() {
//刷新回调
this.onRefresh(this.state);
},
bottomCallback() {
//加载回调
if (this.state != 7) {
this.state = 4;
this.onPull(this.state);
}
}
},
mounted() {
this.myScroll = this.$refs.myScroll; //获取滑条dom
this.myScrollList = this.myScroll.children[1]; //获取列表dom
// console.log(this.myScroll)
}
};
</script>
<style lang="scss" scoped>
.allow {
overflow: hidden;
height: auto;
}
.prohibit {
max-width: 100%;
max-height: 100%;
height: 100%;
overflow: hidden;
overflow-y: scroll;
-webkit-overflow-scrolling: touch;
will-change: transform;
transition: all 450ms;
backface-visibility: hidden;
perspective: 1000;
}
.my-scroll {
position: relative;
color: #fff;
.scroll-top {
text-align: center;
display: flex;
position: absolute;
top: 0;
left: 0;
width: 100%;
overflow: hidden;
div {
display: flex;
height: auto;
width: 100%;
justify-content: center;
align-items: center;
flex-wrap: wrap;
i {
flex: 1 0 100%;
display: block;
height: 0.4rem;
}
img {
width: 0.6rem;
}
p {
flex: 1 0 100%;
}
}
}
.scroll-list {
overflow: hidden;
min-height: 100%;
}
.scroll-bottom {
text-align: center;
line-height: 40px;
}
}
</style>
<template>
<yd-search :result="result" fullpage v-model="value2" :item-click="itemClickHandler" :on-submit="submitHandler"></yd-search>
</template>
<script type="text/babel">
export default {
data() {
return {
value2: '',
result: []
}
},
methods: {
getResult(val) {
if (!val) return [];
return [
'Apple', 'Banana', 'Orange', 'Durian', 'Lemon', 'Peach', 'Cherry', 'Berry',
'Core', 'Fig', 'Haw', 'Melon', 'Plum', 'Pear', 'Peanut', 'Other'
].filter(value => new RegExp(val, 'i').test(value));
},
itemClickHandler(item) {
this.$dialog.toast({mes: `搜索:${item}`});
},
submitHandler(value) {
this.$dialog.toast({mes: `搜索:${value}`});
}
},
watch: {
value2(val) {
this.result = this.getResult(val);
}
}
}
</script>
\ No newline at end of file
<template>
<swipe :showIndicators="false" class="my-swipe">
<swipe-item v-for="(item ,index) in oldimg" class="slide" :key="index">
<img :src="item.imgurl" alt>
</swipe-item>
</swipe>
</template>
<script>
import { Swipe, SwipeItem } from "vue-swipe";
import "vue-swipe/dist/vue-swipe.css"; //引入样式
import { setTimeout } from "timers";
export default {
data() {
return {
type: "",
oldimg: [
{ imgurl: "static/img/lunbo.png" },
{ imgurl: "static/img/lunbo1.jpg" },
{ imgurl: "static/img/lunbo2.jpg" }
],
newimg: [],
urlAll: []
};
},
components: {
swipe: Swipe,
"swipe-item": SwipeItem
},
created() {
var vm = this;
// vm.init();
vm.getDownloadUrl();
},
methods: {
init() {
let u = navigator.userAgent;
let isAndroid = u.indexOf("Android") > -1; //android终端
let isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
this.type = isiOS ? "1" : "0";
},
getDownloadUrl() {
var vm = this;
vm.$ajax
.get("Restful/Kivii.Contents.Entities.Content/Query.json")
.then(res => {
for (let index = 0; index < res.data.Results.length; index++) {
var url = vm.$baseurl + res.data.Results[index].TitleImageUrl;
vm.urlAll.push(url.split("?")[0]);
}
var downUrl = vm.urlAll; //下载链接,数组形式 必填
var localUrl = "image"; //文件类型 json 或 image 必填
vm.download(downUrl, localUrl);
})
.catch(responseerror => {
console.log('error')
});
},
download(downUrl, localUrl) {
var vm = this;
if (localUrl == null || downUrl == null) return;
if (vm.type == "0" || vm.type == "1") {
vm.downloadfile(downUrl, localUrl);
} else {
for (var i = 0; i < downUrl.length; i++) {
let downimg = {};
downimg.imgurl = downUrl[i];
vm.newimg.push(downimg);
}
vm.oldimg = vm.newimg;
}
},
downloadfile(downUrl, localUrl) {
var vm = this;
if (downUrl == null || localUrl == null) return;
//图片下载成功 默认保存在本地相对路径的"_downloads"文件夹里面,
for (var index = 0; index < downUrl.length; index++) {
var relativePath = "";
var filename = downUrl[index].substring(
downUrl[index].lastIndexOf("/") + 1,
downUrl[index].length
);
relativePath = "_downloads/" + localUrl + "/" + filename;
//检查文件是否已存在
console.log(relativePath)
(function(relativePath, downUrl) {
plus.io.resolveLocalFileSystemURL(
relativePath,
function(entry) {
console.log(localUrl + "文件存在,直接设置=" + relativePath);
//如果文件存在,则直接设置本地图片
vm.setImgFromLocal(relativePath);
},
function(e) {
console.log(localUrl + "图片不存在,联网下载=" + relativePath);
//如果文件不存在,联网下载图片
vm.setImgFromNet(downUrl, relativePath, localUrl);
}
);
})(relativePath, downUrl[index]);
}
},
setImgFromLocal(relativePath) {
//本地相对路径("_downloads/logo.jpg")转成SD卡绝对路径("/storage/emulated/0/Android/data/io.dcloud.HBuilder/.HBuilder/downloads/logo.jpg");
var vm = this;
var downimg = {};
var sd_path = plus.io.convertLocalFileSystemURL(relativePath);
downimg.imgurl = sd_path;
vm.newimg.push(downimg);
vm.oldimg = vm.newimg;
},
setImgFromNet(loadUrl, relativePath, localUrl) {
var vm = this;
// 创建下载任务
var dtask = plus.downloader.createDownload(
loadUrl,
{ method: "GET", filename: "_downloads/" + localUrl + "/" },
function(d, status) {
if (status == 200) {
//下载成功
console.log("下载成功=" + relativePath);
vm.setImgFromLocal(d.filename);
} else {
//下载失败,需删除本地临时文件,否则下次进来时会检查到图片已存在
console.log("下载失败=" + status + "==" + relativePath);
//dtask.abort();//文档描述:取消下载,删除临时文件;(但经测试临时文件没有删除,故使用delFile()方法删除);
if (relativePath != null) {
vm.delFile(relativePath);
}
}
}
);
//启动下载任务
dtask.start();
},
delFile(relativePath) {
plus.io.resolveLocalFileSystemURL(relativePath, function(entry) {
entry.remove(
function(entry) {
console.log("文件删除成功==" + relativePath);
},
function(e) {
console.log("文件删除失败=" + relativePath);
}
);
});
}
}
};
</script>
<style>
.slide img {
width: 100%;
height: 2rem;
}
.my-swipe {
width: 100%;
display: block;
height: 2rem;
color: red;
font-size: 30px;
text-align: center;
}
</style>
// 当前宿主平台
import {baseUrl} from '../api/index'
export const HOST_PLATFORM = 'WEB'
// 这个就不多说了
export const NODE_ENV = process.env.NODE_ENV || 'prod'
// 是否强制所有请求访问本地 MOCK,看到这里同学不难猜到,每个请求也可以单独控制是否请求 MOCK
export const AJAX_LOCALLY_ENABLE = false
// 是否开启监控
export const MONITOR_ENABLE = true
// 路由默认配置,路由表并不从此注入
export const ROUTER_DEFAULT_CONFIG = {
waitForData: true,
transitionOnLoad: true
}
// axios 默认配置
export const AXIOS_DEFAULT_CONFIG = {
timeout: 20000,
// maxContentLength: 2000,
headers: { },
baseURL:baseUrl,
withCredentials:true,
}
// vuex 默认配置
export const VUEX_DEFAULT_CONFIG = {
strict: process.env.NODE_ENV !== 'production'
}
// API 默认配置
export const API_DEFAULT_CONFIG = {
mockBaseURL: '',
mock: true,
debug: false,
sep: '/'
}
// CONST 默认配置
export const CONST_DEFAULT_CONFIG = {
sep: '/'
}
// 还有一些业务相关的配置
// ...
// 还有一些方便开发的配置
export const DEBUG_VUE_DEVTOOLS = true // vue devtools 开关
export const DEBUG_VUE_DEBUG = true // vue debug 开关
export const DEBUG_VUE_TIP = true // vue tip 开关
export const CONSOLE_REQUEST_ENABLE = false // 开启请求参数打印
export const CONSOLE_RESPONSE_ENABLE = true // 开启响应参数打印
export const CONSOLE_MONITOR_ENABLE = true // 监控记录打印
\ No newline at end of file
import {CONSOLE_REQUEST_ENABLE,CONSOLE_RESPONSE_ENABLE} from '../index.js'
import {baseUrl} from "../../api/index"
import store from "../../store/store"
import router from "Plugins/router";
import Vue from 'vue'; //引入vue
//必须实例化 Vue
let vm = new Vue();
export function requestSuccessFunc(requestObj) {
CONSOLE_REQUEST_ENABLE && console.info('requestInterceptorFunc', `url: ${requestObj.url}`, "info", requestObj)
// 自定义请求拦截逻辑,可以处理权限,请求发送监控等
if(requestObj.url!=baseUrl+"/auth/Customer.json" && requestObj.url!=baseUrl+"/Customer/Register/Personal"){
store.dispatch("VIEW_LOADING", true);
}
return requestObj
}
export function requestFailFunc(requestError) {
// 自定义发送请求失败逻辑,断网,请求发送监控等
// ...
// console.log(requestError)
return Promise.reject(requestError);
}
export function responseSuccessFunc(responseObj) {
store.dispatch("VIEW_LOADING", false);
// 自定义响应成功逻辑,全局拦截接口,根据不同业务做不同处理,响应成功监控等
// 假设我们请求体为
// {
// code: 1010,
// msg: 'this is a msg',
// data: null
// }
// let resData = responseObj.data
// let {code} = resData
// switch(code) {
// case 0: // 如果业务成功,直接进成功回调
// return resData.data;
// case 1111:
// 如果业务失败,根据不同 code 做不同处理
// 比如最常见的授权过期跳登录
// 特定弹窗
// 跳转特定页面等
// location.href = xxx // 这里的路径也可以放到全局配置里
// return;
// default:
// 业务中还会有一些特殊 code 逻辑,我们可以在这里做统一处理,也可以下方它们到业务层
// !responseObj.config.noShowDefaultError && GLOBAL.vbus.$emit('business.response.incorrect', resData.msg);
// return Promise.reject(resData);
// }
return responseObj
}
export function responseFailFunc(responseError) {
// 响应失败,可根据 responseError.message 和 responseError.response.status 来做监控处理
// ...
store.dispatch("VIEW_LOADING", false);
if(responseError){
switch(responseError.response.status){
case 401:
vm.$dialog.toast({
mes: '登陆状态错误,请重新登陆',
timeout: 2000,
icon: 'error',
});
setTimeout(() => {
router.replace({
path: '/login'
})
}, 2000);break;
}
}
return Promise.reject(responseError);
}
import {requestSuccessFunc, requestFailFunc, responseSuccessFunc, responseFailFunc} from './axios'
import {routerBeforeEachFunc} from './router'
export default {
requestSuccessFunc,
requestFailFunc,
responseSuccessFunc,
responseFailFunc,
routerBeforeEachFunc
}
\ No newline at end of file
import store from "../../store/store"
export function routerBeforeEachFunc (to, from, next) {
// 这里可以做页面拦截,很多后台系统中也非常喜欢在这里面做权限处理
if (to.meta.requireAuth) { // 判断该路由是否需要登录权限
if (store.state.token==1) { // 通过vuex state获取当前的token是否存在 1登陆 0 未登录
next();
}
else {
store.commit("CHANGE_LOGINURL",to.fullPath)
next({
path: '/login',
query: {redirect: to.fullPath} // 将跳转的路由path作为参数,登录成功后跳转到该路由
})
}
}
else {
next();
}
}
const SPECIAL_CLASS_HANDLE = ['ivu-modal']
function containsSpecial (target) {
let isContains = false
SPECIAL_CLASS_HANDLE.forEach((item) => {
if(target.className.indexOf(item) > -1) isContains = true
})
return isContains
}
export default {
bind (el, binding, vnode) {
function documentHandler (e) {
let _target = e.target
if(containsSpecial(_target)) return
if (el.contains(_target)) return false
if (binding.expression) binding.value(e);
}
el.__vueClickOutside__ = documentHandler;
document.addEventListener('click', documentHandler);
},
update () {
},
unbind (el, binding) {
document.removeEventListener('click', el.__vueClickOutside__);
delete el.__vueClickOutside__;
}
};
\ No newline at end of file
import hljs from 'highlight.js'
export default {
deep: true,
bind: function(el, binding) {
// on first bind, highlight all targets
let targets = el.querySelectorAll('code')
Array.from(targets).forEach((target) => {
// if a value is directly assigned to the directive, use this
// instead of the element content.
if (binding.value) {
target.textContent = binding.value
}
hljs.highlightBlock(target)
})
},
componentUpdated: function(el, binding) {
// after an update, re-fill the content and then highlight
let targets = el.querySelectorAll('code')
Array.from(targets).forEach((target) => {
if (binding.value) {
target.textContent = binding.value
hljs.highlightBlock(target)
}
})
}
}
import Vue from 'vue'
import highlightjs from'./highlight'
import clickoutside from './clickoutside'
Vue.directive('highlightjs', highlightjs)
Vue.directive('clickoutside', clickoutside)
\ No newline at end of file
import Vue from "vue";
import {
baseUrl
} from './api/index'
// GLOBAL.vbus = new Vue();
// import 'Components'// 全局组件注册
import $ from "jquery"
import "Directives";
import fastclick from 'fastclick';
import VueScroller from 'vue-scroller'
import router from "Plugins/router";
import inject from "Plugins/inject";
import store from "Store/store";
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
// import VueOnsen from "vue-onsenui";
// import "onsenui/css/onsenui.css";
// import "onsenui/css/onsen-css-components.css";
import echarts from 'echarts';
import VueAwesomeSwiper from 'vue-awesome-swiper'
import 'swiper/dist/css/swiper.css'
import YDUI from "vue-ydui";
import "vue-ydui/dist/ydui.rem.css";
import {
Confirm,
Alert,
Toast,
Notify,
Loading
} from 'vue-ydui/dist/lib.rem/dialog';
import App from "./App";
import touch from "vue-directive-touch";
import {
helpers
} from "./components/common/mixin";
import filters from "./components/common/filters";
Object.keys(filters).forEach((k) =>{ Vue.filter(k, filters[k])});
Vue.prototype.$baseurl = baseUrl;
Vue.prototype.$helpers = helpers
Vue.prototype.$echarts = echarts;
Vue.prototype.$dialog = {
confirm: Confirm,
alert: Alert,
toast: Toast,
notify: Notify,
loading: Loading,
};
Vue.use(ElementUI);
Vue.use(YDUI);
Vue.use(touch);
Vue.use(VueAwesomeSwiper)
Vue.use(inject);
// Vue.use(VueOnsen);
Vue.use(VueScroller)
fastclick.attach(document.body);
var vm = new Vue({
el: "#app",
router,
store,
data() {
return {
bfoot: false,
saletitle: '',
purchase: ''
}
},
template: "<App/>",
components: {
App
},
render: h => h(App)
});
import axios from './axios'
import _pick from 'lodash/pick'
import _assign from 'lodash/assign'
import _isEmpty from 'lodash/isEmpty'
import { assert } from 'Utils/tools'
import { API_DEFAULT_CONFIG } from 'Config'
import API_CONFIG from 'Service/api'
class MakeApi {
constructor(options) {
this.api = {}
this.apiBuilder(options)
}
apiBuilder({
sep = '|',
config = {},
mock = false,
debug = false,
mockBaseURL = ''
}) {
Object.keys(config).map(namespace => {
this._apiSingleBuilder({
namespace,
mock,
mockBaseURL,
sep,
debug,
config: config[namespace]
})
})
}
_apiSingleBuilder({
namespace,
sep = '|',
config = {},
mock = false,
debug = false,
mockBaseURL = ''
}) {
config.forEach( api => {
const {name, desc, params, method, mockEnable, path, mockPath } = api
const isMock = process.env.NODE_ENV === 'production' ? false : mock || mockEnable
const url = isMock ? mockPath : path
const baseURL = isMock && mockBaseURL
debug && assert(name, `${url} :接口name属性不能为空`)
debug && assert(url.indexOf('/') === 0, `${url} :接口路径path,首字符应为/`)
Object.defineProperty(this.api, `${namespace}${sep}${name}`, {
value(outerParams, outerOptions) {
const _data = _isEmpty(outerParams) ? params : _pick(_assign({}, params, outerParams), Object.keys(params))
const _options = isMock ? {url, desc, baseURL, method} : {url, desc, method}
return axios(_normoalize(_assign(_options, outerOptions), _data))
}
})
})
}
}
function _normoalize(options, data) {
if (options.method === 'POST') {
options.data = data
} else if (options.method === 'GET') {
options.params = data
}
return options
}
export default new MakeApi({
config: API_CONFIG,
...API_DEFAULT_CONFIG
})['api']
import axios from 'axios'
import {
AXIOS_DEFAULT_CONFIG
} from 'Config/index'
import {
requestSuccessFunc,
requestFailFunc,
responseSuccessFunc,
responseFailFunc
} from 'Config/interceptors/axios'
let axiosInstance = {}
axiosInstance = axios.create(AXIOS_DEFAULT_CONFIG)
// 注入请求拦截
axiosInstance
.interceptors.request.use(requestSuccessFunc, requestFailFunc)
// 注入失败拦截
axiosInstance
.interceptors.response.use(responseSuccessFunc, responseFailFunc)
export default axiosInstance
import _pick from 'lodash/pick'
import _assign from 'lodash/assign'
import _isEmpty from 'lodash/isEmpty'
import { assert } from 'Utils/tools'
import { CONST_DEFAULT_CONFIG } from 'Config'
import CONST_CONFIG from 'Service/const'
class MakeConst {
constructor(options) {
this.const = {}
this.constBuilder(options)
}
constBuilder({
sep = '/',
config = []
}) {
Object.keys(config).map(namespace => {
this._constSingleBuilder({namespace, sep, config: config[namespace]})
})
}
_constSingleBuilder({
namespace,
sep = '/',
config = {}
}) {
config.forEach( cst => {
let {name, value} = cst
let constName = `${namespace.toUpperCase()}${sep}${name}`
Object.defineProperty(this.const, constName, { value })
})
}
}
// console.log(new MakeConst({
// config: CONST_CONFIG,
// ...CONST_DEFAULT_CONFIG
// })['const'])
export default new MakeConst({
config: CONST_CONFIG,
...CONST_DEFAULT_CONFIG
})['const']
import axios from './axios'
import api from './api'
import consts from './const'
// GLOBAL.ajax = axios
export default {
install: (Vue, options) => {
Vue.prototype.$api = api
Vue.prototype.$ajax = axios
Vue.prototype.$const = consts
// 需要挂载的都放在这里
}
}
import Vue from 'vue'
import Router from 'vue-router'
import ROUTES from 'Routes'
import {ROUTER_DEFAULT_CONFIG} from 'Config/index'
import {routerBeforeEachFunc} from 'Config/interceptors/router'
Vue.use(Router)
// 注入默认配置和路由表
let routerInstance = new Router({
...ROUTER_DEFAULT_CONFIG,
routes: ROUTES
})
// 注入拦截器
routerInstance.beforeEach(routerBeforeEachFunc)
export default routerInstance
\ No newline at end of file
import Vue from 'vue'
import Vuex from 'Vuex'
import {VUEX_DEFAULT_CONFIG} from 'Config'
import commonStore from 'Service/store/common'
Vue.use(Vuex)
export default new Vuex.Store({
...commonStore,
...VUEX_DEFAULT_CONFIG
})
\ No newline at end of file
export default [{
name: "home",
path: "/home",
component: resolve => require(['Views/home/home'], resolve),
meta: {
keepAlive: true, // 添加该字段,是否要缓存该组件
}
},
{
name: "index",
path: "/",
redirect: '/home',
component: resolve => require(['Views/home/home'], resolve),
},
{
name: "data",
path: "/data",
component: resolve => require(['Views/data/data'], resolve),
meta:{
requireAuth: true,
}
},
{
name: "detect",
path: "/detect",
component: resolve => require(['Views/home/detect'], resolve),
meta:{
requireAuth: true,
}
},
{
name: "complex",
path: "/complex",
component: resolve => require(['Views/home/complex'], resolve),
meta:{
requireAuth: true,
}
},
{
name: "checkstandard",
path: "/checkstandard",
component: resolve => require(['Views/home/complex/checkstandard'], resolve),
meta:{
requireAuth: true,
}
},
{
name: "schedule",
path: "/schedule",
component: resolve => require(['Views/home/complex/schedule'], resolve),
meta:{
requireAuth: true,
}
},
{
name: "detailschedule",
path: "/detailschedule",
component: resolve => require(['Views/home/complex/detailschedule'], resolve),
meta:{
requireAuth: true,
}
},
{
name: "detailcontract",
path: "/detailcontract",
component: resolve => require(['Views/home/complex/detailcontract'], resolve),
meta:{
requireAuth: true,
}
},
{
name: "detailreport",
path: "/detailreport",
component: resolve => require(['Views/home/complex/detailreport'], resolve),
meta:{
requireAuth: true,
}
},
{
name: "report",
path: "/report",
component: resolve => require(['Views/home/complex/report'], resolve),
meta:{
requireAuth: true,
}
},
{
name: "sample",
path: "/sample",
component: resolve => require(['Views/home/complex/sample'], resolve),
meta:{
requireAuth: true,
}
},
{
name: "contract",
path: "/contract",
component: resolve => require(['Views/home/complex/contract'], resolve),
meta:{
requireAuth: true,
}
},
{
name: "detailedstandard",
path: "/detailedstandard",
component: resolve => require(['Views/home/complex/detailedstandard'], resolve),
meta:{
requireAuth: true,
}
},
{
name: "qrcode",
path: "/qrcode",
component: resolve => require(['Views/home/qrcode'], resolve),
meta:{
requireAuth: true,
}
},
]
export default [
{
name: "group",
path: "/group",
component: resolve => require(['Views/group/group'], resolve),
meta: {
requireAuth: true,
}
},
{
name: "grorder",
path: "/grorder",
component: resolve => require(['Views/group/grorder'], resolve),
meta: {
requireAuth: true,
}
},
{
name: "detailorder",
path: "/detailorder",
component: resolve => require(['Views/group/detailorder'], resolve),
meta: {
requireAuth: true,
}
},
]
import car from './car'
import user from './userroute'
import login from './loginroute'
import group from './group'
export default [
...car,...user,...login,...group
]
var counter =(function(){
var a=0;
function changby(val){
a+=val;
}
return {
increment: function () {
changby(1)
},
decermrnt: function(){
changby(-1)
},
value: function(){
return a;
}
}
})()
\ No newline at end of file
export default[
{
name: "forgetpassword",
path: "/forgetpassword",
component: resolve => require(['Views/login/forgetpassword'], resolve),
},
{
name: "inputpassword",
path: "/inputpassword",
component: resolve => require(['Views/login/inputpassword'], resolve),
},
{
name: "login",
path: "/login",
component: resolve => require(['Views/login/index'], resolve),
},
{
name: "registerprotocol",
path: "/registerprotocol",
component: resolve => require(['Views/login/registerprotocol'], resolve),
},
]
\ No newline at end of file
export default[
{
name: "user",
path: "/user",
component: resolve => require(['Views/user/user'], resolve),
meta: {
requireAuth: true,
}
},
{
name: "changeusername",
path: "/changename",
component: resolve => require(['Views/user/changeusername'], resolve),
meta: {
requireAuth: true,
}
},
{
name: "accountmanagement",
path: "/accountmanagement",
component: resolve => require(['Views/user/accountmanagement'], resolve),
meta: {
requireAuth: true,
}
},
{
name: "feedback",
path: "/feedback",
component: resolve => require(['Views/user/feedback'], resolve),
meta: {
requireAuth: true,
}
},
{
name: "personalinformation",
path: "/personalinformation",
component: resolve => require(['Views/user/personalinformation'], resolve),
meta: {
requireAuth: true,
}
},
{
name: "changephone",
path: "/changephone",
component: resolve => require(['Views/user/changephone'], resolve),
meta: {
requireAuth: true,
}
},
{
name: "inputphone",
path: "/inputphone",
component: resolve => require(['Views/user/inputphone'], resolve),
meta: {
requireAuth: true,
}
},
{
name: "inputcode",
path: "/inputcode",
component: resolve => require(['Views/user/inputcode'], resolve),
meta: {
requireAuth: true,
}
},
{
name: "changepassword",
path: "/changepassword",
component: resolve => require(['Views/user/changepassword'], resolve),
meta: {
requireAuth: true,
}
},
]
\ No newline at end of file
import other from './other'
import user from './user'
export default {
other,
user
}
\ No newline at end of file
export default [{
name: 'userinfo',
method: 'GET',
desc: '测试服务处',
path: '/tomato/common/showAllGroup',
mockPath: '/api/userinfo',
params: {
a:1,
b:2
}
}]
export default [{
name: 'info',
method: 'GET',
desc: '测试接口1',
path: '/api/info',
mockPath: '/api/info',
params: {
a: 1,
b: 2
}
}, {
name: 'test',
method: 'GET',
desc: '用户信息',
path: '/api/info',
mockPath: '/api/info',
params: {
}
}]
import other from './other'
export default {
other
}
\ No newline at end of file
export default [{
name: 'MENU',
value: {
label: 'Apple',
value: 'apple'
}
}]
\ No newline at end of file
import api from 'Plugins/api'
import consts from 'Plugins/const'
export default {
getUserInfo({ commit }) {
commit('SET_FRUIT', consts['OTHER/FRUIT'])
api['user/info']().then(resData => {
commit('SET_USER_INFO', resData)
})
}
}
//全局getters函数 返回你想要的全局状态格式
export default {
menuOriginGetter: state => state.menuOrigin,
userinfoGetter: state => state.userinfo,
menuTreeGetter: state => state.menuTree,
menuMapGetter: state => state.menuMap
}
\ No newline at end of file
import actions from './actions'
import getters from './getters'
import { state, mutations } from './mutations'
export default {
state,
actions,
getters,
mutations
}
\ No newline at end of file
// 全局state 存放所有模块,业务线都有可能调用的状态
// 把state放入mutations是为了方便开发,观察状态 ,和状态对应的相关方法
export const state = {
toLoginPath: '',
toLogin: false,
userinfo: null,
fruit: null
}
//全局mutations
export const mutations = {
['SET_TO_LOGIN'](state, boolean) {
state.toLogin = boolean
},
['SET_TO_LOGIN_PATH'](state, path) {
state.toLoginPath = path
},
['SET_USER_INFO'](state, resData) {
state.userinfo = resData
},
['SET_FRUIT'](state, resData) {
state.fruit = resData
}
}
//actions 可以异步
import axios from 'axios';
export default {
['VIEW_LOADING']: ({
commit,
state
}, payload) => {
commit('VIEW_LOADING', payload)
},
['SET_TOKEN']: ({
commit,
state
}, payload) => {
commit('SET_TOKEN', payload)
},
['UPDATE_USER']: ({
commit,
state
}, payload) => {
commit('UPDATE_USER', payload)
},
// ['CHANGE_STOCKNUM']:({commit,state},payload)=>{commit('CHANGE_STOCKNUM',payload)},
['CHANGE_STOCKNUM']: (context, value) => {
context.commit('CHANGE_STOCKNUM', value)
},
// ['CHANGE_LOGINURL']: (context, value) => {
// context.commit('CHANGE_LOGINURL', value)
// },
// ['UPDATE_HOME']:({commit,state})=>{
// //....payload== 请求参数->axios 请求->commit->mutations
// axios({
// url:'/static/data/index.data'
// }).then(
// res=>commit('UPDATE_HOME',res.data)
// )
// },
}
//对state数据处理
export default {
bLoading:(state)=>{return state.bLoading},
userauth:(state)=>{return state.userauth},
stocknum:(state)=>{return state.stocknum},
token:(state)=>{return state.token},
loginurl:(state)=>{return state.loginurl},
}
\ No newline at end of file
//显式的更改state里的数据
export default {
["VIEW_LOADING"]:(state,payload)=>{state.bLoading=payload},
["UPDATE_HOME"]:(state,payload)=>{state.home=payload},
[ "SET_TOKEN"]:(state,payload)=>{
state.token=payload;
window.sessionStorage.setItem('token',payload)
},
['UPDATE_USER']:(state,payload)=>{state.userauth=payload},
['CHANGE_STOCKNUM']:(state,payload)=>{state.stocknum=payload},
['CHANGE_LOGINURL']:(state,payload)=>{state.loginurl=payload}
}
\ No newline at end of file
export default {
bLoading: false,//loading图
userauth:false,//登陆状态
token:window.sessionStorage.getItem('token'),//登陆状态存session
stocknum:0,//销售采购返回数据
loginurl:''
}
\ No newline at end of file
import Vue from 'vue';
import Vuex from 'Vuex';
Vue.use(Vuex);
import actions from './actions';
import mutations from './mutations';
import getters from './getters';
import state from './state';
export default new Vuex.Store({
actions,
mutations,
getters,
state
})
\ No newline at end of file
.scroll-content{
position: absolute;
left: 0;
width: 100%;
top: 1rem;
bottom: 1rem;
-webkit-overflow-scrolling: touch;
overflow-y: auto;
}
.scroll-content-1{
position: absolute;
left: 0;
width: 100%;
top: 2rem;
bottom: 0;
-webkit-overflow-scrolling: touch;
overflow-y: auto;
}
.scroll-content-2{
position: absolute;
left: 0;
width: 100%;
top: 1rem;
bottom: 0;
-webkit-overflow-scrolling: touch;
overflow-y: auto;
}
.scroll-content-3{
position: absolute;
left: 0;
width: 100%;
top: 3rem;
bottom: 1rem;
-webkit-overflow-scrolling: touch;
overflow-y: auto;
}
::-webkit-scrollbar{
width: 0;
}
.img-animate{
position:fixed;
z-index:1000;
width: 50px;
height: 50px;
border-radius: 50%;
animation:end 1.5s ease-in-out;
}
@keyframes end {
100% {
left:.5rem;
bottom:.6rem;
width: 10px;
height: 10px;
}
}
input[type='button'],button{
appearance: none;
border: none;
outline: none;
}
@red: #ff5350;
.danger-color{
color: @red;
}
.danger-bg{
background-color: @red;
color: #fff;
}
@blue:#57A9FF;
.primary-color {
color: @blue;
}
@royal:#7e57c2;
.royal-color{
color: @royal;
}
.flex{
display: flex;
flex-wrap: wrap;
}
.flex-1{
flex: 1;
}
.just-center{
justify-content: center;
}
.just-around{
justify-content: space-around;
}
.just-between{
justify-content: space-between;
}
.align-center{
align-items: center;
}
.flex-column{
flex-direction: column;
}
.text-center{
text-align: center;
}
.clearfix{
&:after{
content: '';
display: block;
height: 0;
clear: both;
visibility: hidden;
}
}
.fl{
float: left;
}
.fr{
float: right;
}
.generate-fz(@n, @i: 10) when (@i<=@n) {
.fs-@{i} {
font-size: 1px * @i!important;
}
.generate-fz(@n, (@i + 1));
}
.generate-fz(22);
.px-1{
position: relative;
&::after {
position: absolute;
content: '';
left: 0;
right: 0;
bottom: 0;
border-bottom: 1px solid #d9d9d9;
transform: scaleY(.5);
}
}
.title-wrap {
padding: .2rem;
}
.like-title {
display: inline-block;
position: relative;
color: @red;
border-bottom: 2px solid currentColor;
&::before {
position: absolute;
content: '';
width: 1px;
height: 100%;
background-color: currentcolor;
left: -15%;
top: 0;
transform: rotate(45deg);
}
&::after {
position: absolute;
content: '';
width: 1px;
height: 100%;
background-color: currentcolor;
right: -17%;
top: 0;
transform: rotate(45deg);
}
span:last-of-type{
vertical-align: 2px;
}
}
/*just style*/
.search-container{
font-size: 14px;
background-color: @red;
text-align: center;
padding: .1rem .2rem;
margin-bottom: .1rem;
.search-input{
display: block;
width: 100%;
color: #999;
background-color: #fff;
border-radius: 15px;
span:last-of-type{
vertical-align: 5px;
}
}
}
/*with input do search*/
.search-form {
position: fixed;
left: 0;
width: 100%;
height: 1rem;
top: 1rem;
z-index: 1000;
background-color: #fff;
border-bottom: 1px solid #dfdfdf;
.input-group {
background-color: @red;
color: #fff;
margin: .1rem .2rem;
border: 1px solid @red;
border-radius: .2rem;
}
.search-input {
flex: 1;
padding: .2rem;
font-size: .32rem;
border: none;
background-color: #fff;
border-right: 1px solid @red;
border-radius: 0!important;
}
.search-submit {
width: 1rem;
font-size: .28rem;
color: #fff;
}
}
.ruzhu-container {
position: relative;
padding: .2rem;
text-align: center;
.ruzhu-title {
font-size: .3rem;
}
.ruzhu-content {
padding: 0 .5rem;
overflow: hidden;
margin-top: .5rem;
.ruzhu-item {
float: left;
width: 50%;
span {
font-size: 35px;
}
p {
margin-top: .1rem;
}
}
}
.close {
position: absolute;
top: 0;
right: 0;
}
input[type=radio] {
display: none;
}
input[type=radio]:checked+label {
color: @red;
}
}
.empty-data{
padding: 65% 0 66%;
text-align: center;
span{
font-size: 1rem;
color: #333;
}
p{
margin-top: 0.2rem
}
}
.self-btn{
display: block;
width: 70%;
margin: .2rem auto;
color: #fff;
font-size: 16px;
text-align: center;
padding: .2rem 0;
border-radius: 5px;
}
.save-btn {
.self-btn;
background-color: #57A9FF;
&:disabled {
background-color: #999;
}
}
.delete-btn{
.self-btn;
background-color: @red;
&.btn-large{
width: 100%;
}
&:disabled {
background-color: #999;
}
}
.fix-footer{
position: fixed;
bottom: 0;
left: 0;
right: 0;
height: 1rem;
background-color: #fff;
.flex;
.just-between;
.align-center;
z-index: 500;
overflow: hidden;
}
.protocol {
color: #10aeff;
}
.self-radio {
position: relative;
display: inline-block;
padding-right: 10px;
padding-left: 25px;
font-size: 14px;
> input[type="radio"] {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
opacity: 0;
z-index: 15;
&:checked + span::before {
border-color: rgb(76, 216, 100);
}
&:checked + span::after {
color: rgb(76, 216, 100);
opacity: 1;
transform: scale(1);
transition: all 0.2s ease-in-out;
}
}
span {
&::before {
position: absolute;
content: "";
left: 0;
top: 0;
width: 20px;
height: 20px;
border: 1px solid #ccc;
border-radius: 50%;
display: inline-block;
z-index: 10;
vertical-align: middle;
}
&::after {
position: absolute;
content: "";
left: 5px;
top: 5px;
width: 10px;
height: 10px;
border-radius: 50%;
background-color: currentColor;
opacity: 0;
transform: scale(0);
}
}
}
.self-checker-item {
flex: 1;
padding:.2rem;
text-align: center;
border-radius: 5px;
border: 1px solid #ccc;
background-color: #fff;
font-size: 0.32rem;
margin-right: 5px;
}
.self-checker-selected {
border-color: #ff4a00;
background: url(../assets/active.png) no-repeat right bottom;
}
\ No newline at end of file
@font-face {font-family: "iconfont";
src: url('iconfont.ttf') format('truetype');
}
.iconfont {
font-family:"iconfont" !important;
font-size:16px;
font-style:normal;
-webkit-font-smoothing: antialiased;
}
.iconfont-large{
font-family:"iconfont" !important;
font-size: 24px;
font-style:normal;
-webkit-font-smoothing: antialiased;
}
.self-shopcart:before { content: "\e601"; }
.self-zuo:before { content: "\e644"; }
.self-you:before { content: "\e645"; }
.self-qq:before { content: "\e616"; }
.self-mobile:before { content: "\e621"; }
.self-jifen:before { content: "\e70a"; }
.self-vip:before { content: "\e636"; }
.self-bianji:before { content: "\e83f"; }
.self-quan:before { content: "\e63c"; }
.self-yuanbao:before { content: "\e63b"; }
.self-rmb:before { content: "\e62f"; }
.self-yinhangka:before { content: "\e6e9"; }
.self-sex:before { content: "\e62e"; }
.self-delete:before { content: "\e677"; }
.self-pengyouquan:before { content: "\e630"; }
.self-fenghuang:before { content: "\e604"; }
.self-about:before { content: "\e605"; }
.self-dianhua:before { content: "\e671"; }
.self-score:before { content: "\e75c"; }
.self-shop:before { content: "\e60c"; }
.self-qiche:before { content: "\e62d"; }
.self-delivery:before { content: "\e67f"; }
.self-star:before { content: "\e77e"; }
.self-code:before { content: "\e629"; }
.self-qiye:before { content: "\e6dd"; }
.self-add:before { content: "\e619"; }
.self-rmb1:before { content: "\e73f"; }
.self-pay:before { content: "\e606"; }
.self-right:before { content: "\e701"; }
.self-male:before { content: "\e623"; }
.self-xiaofeiguize:before { content: "\e837"; }
.self-dianfanguo:before { content: "\e61e"; }
.self-edu:before { content: "\e692"; }
.self-upload:before { content: "\e66f"; }
.self-shenghuofuwu:before { content: "\e61f"; }
.self-fabu:before { content: "\e68c"; }
.self-near:before { content: "\e603"; }
.self-hongbao:before { content: "\e640"; }
.self-xiaofeijilu:before { content: "\e624"; }
.self-fulijilu:before { content: "\e6b1"; }
.self-download:before { content: "\e626"; }
.self-chongzhi:before { content: "\e67a"; }
.self-tiqufuli:before { content: "\e610"; }
.self-tixian:before { content: "\e685"; }
.self-down:before { content: "\e617"; }
.self-service:before { content: "\e607"; }
.self-setting:before { content: "\e60d"; }
.self-mairu:before { content: "\e61a"; }
.self-maichu:before { content: "\e61b"; }
.self-female:before { content: "\e67e"; }
.self-KTV:before { content: "\e620"; }
.self-flower:before { content: "\e801"; }
.self-heart:before { content: "\e822"; }
.self-lock:before { content: "\e60f"; }
.self-yinlianzhifu1:before { content: "\e679"; }
.self-wallet:before { content: "\e615"; }
.self-weixin:before { content: "\e631"; }
.self-address:before { content: "\e609"; }
.self-recept:before { content: "\e628"; }
.self-weibo:before { content: "\e632"; }
.self-libao:before { content: "\e602"; }
.self-location:before { content: "\e608"; }
.self-nodata:before { content: "\e637"; }
.self-vip2:before { content: "\e638"; }
.self-geti:before { content: "\e62c"; }
.self-seller:before { content: "\e60a"; }
.self-dui:before { content: "\e61d"; }
.self-dingdanguanli:before { content: "\e612"; }
.self-shenfenzheng:before { content: "\e6fb"; }
.self-scan:before { content: "\e63d"; }
.self-shoukuan:before { content: "\e7bc"; }
.self-guanbi:before { content: "\e653"; }
.self-group:before { content: "\e66e"; }
.self-bags:before { content: "\e625"; }
.self-renzheng:before { content: "\e618"; }
.self-me:before { content: "\e6c7"; }
.self-crown:before { content: "\e600"; }
.self-zhifubao:before { content: "\e62a"; }
.self-daili:before { content: "\e643"; }
.self-vip1:before { content: "\e635"; }
.self-search:before { content: "\e613"; }
.self-daohang:before { content: "\e634"; }
.self-tel:before { content: "\e652"; }
.self-shangpinguanli:before { content: "\e611"; }
.self-zhuanyi:before { content: "\e650"; }
.self-home:before { content: "\e63f"; }
.self-qrcode:before { content: "\e6e8"; }
.self-tiqulishi:before { content: "\e627"; }
.self-zhuanchu:before { content: "\e639"; }
.self-zhuanru:before { content: "\e63a"; }
.self-weixinzhifu:before { content: "\e61c"; }
.self-noorder:before { content: "\e60b"; }
.self-hebing:before { content: "\e614"; }
.self-ruanjian:before { content: "\e663"; }
.self-x:before { content: "\e633"; }
.self-success:before { content: "\e60e"; }
.self-gengxin:before { content: "\e62b"; }
.self-huazhuangpin:before { content: "\e622"; }
.self-announce:before { content: "\e63e"; }
\ No newline at end of file
/*颜色*/
@red: #ff5350;
@lightgray: #999;
@white: #fff;
@blue:#57A9FF;
@green:#4cd864;
@gold:#ffd700;
@purple:#f860ef;
/*省略号*/
.ellipsis {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.multi-ellipsis(@line:2){
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: @line;
text-overflow: ellipsis;
overflow: hidden;
}
.ellipsis-2{
.multi-ellipsis(2);
}
.text-center{
text-align: center;
}
/*定位*/
.hv-cen{
position: absolute;
left: 50%;
top:50%;
transform: translate(-50%,-50%);
}
.h-cen{
position: absolute;
left: 50%;
transform: translateX(-50%);
}
.v-cen{
position: absolute;
top: 50%;
transform: translateY(-50%);
}
.flex{
display: flex;
flex-wrap: wrap;
}
.just-cont(@type:center){
justify-content: @type;
}
.align-items(@type:center){
align-items: @type;
}
/*宽高*/
.wh(@width,@height){
width: @width;
height: @height;
}
/*间距常量*/
@pd:.2rem;
.mg{
margin: @pd;
}
.pd{
padding: @pd;
}
.mg-h{
margin: 0 @pd;
}
.mg-v{
margin: @pd 0;
}
.pd-h{
padding: 0 @pd;
}
.pd-v{
padding: @pd 0;
}
\ No newline at end of file
/*
* A JavaScript implementation of the RSA Data Security, Inc. MD5 Message
* Digest Algorithm, as defined in RFC 1321.
* Version 2.1 Copyright (C) Paul Johnston 1999 - 2002.
* Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
* Distributed under the BSD License
* See http://pajhome.org.uk/crypt/md5 for more info.
*/
/*
* Configurable variables. You may need to tweak these to be compatible with
* the server-side, but the defaults work in most cases.
*/
var hexcase = 0; /* hex output format. 0 - lowercase; 1 - uppercase */
var b64pad = ""; /* base-64 pad character. "=" for strict RFC compliance */
var chrsz = 8; /* bits per input character. 8 - ASCII; 16 - Unicode */
/*
* These are the functions you'll usually want to call
* They take string arguments and return either hex or base-64 encoded strings
*/
function hex_md5(s){ return binl2hex(core_md5(str2binl(s), s.length * chrsz));}
function b64_md5(s){ return binl2b64(core_md5(str2binl(s), s.length * chrsz));}
function str_md5(s){ return binl2str(core_md5(str2binl(s), s.length * chrsz));}
function hex_hmac_md5(key, data) { return binl2hex(core_hmac_md5(key, data)); }
function b64_hmac_md5(key, data) { return binl2b64(core_hmac_md5(key, data)); }
function str_hmac_md5(key, data) { return binl2str(core_hmac_md5(key, data)); }
/*
* Perform a simple self-test to see if the VM is working
*/
function md5_vm_test()
{
return hex_md5("abc") == "900150983cd24fb0d6963f7d28e17f72";
}
/*
* Calculate the MD5 of an array of little-endian words, and a bit length
*/
function core_md5(x, len)
{
/* append padding */
x[len >> 5] |= 0x80 << ((len) % 32);
x[(((len + 64) >>> 9) << 4) + 14] = len;
var a = 1732584193;
var b = -271733879;
var c = -1732584194;
var d = 271733878;
for(var i = 0; i < x.length; i += 16)
{
var olda = a;
var oldb = b;
var oldc = c;
var oldd = d;
a = md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936);
d = md5_ff(d, a, b, c, x[i+ 1], 12, -389564586);
c = md5_ff(c, d, a, b, x[i+ 2], 17, 606105819);
b = md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330);
a = md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897);
d = md5_ff(d, a, b, c, x[i+ 5], 12, 1200080426);
c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341);
b = md5_ff(b, c, d, a, x[i+ 7], 22, -45705983);
a = md5_ff(a, b, c, d, x[i+ 8], 7 , 1770035416);
d = md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417);
c = md5_ff(c, d, a, b, x[i+10], 17, -42063);
b = md5_ff(b, c, d, a, x[i+11], 22, -1990404162);
a = md5_ff(a, b, c, d, x[i+12], 7 , 1804603682);
d = md5_ff(d, a, b, c, x[i+13], 12, -40341101);
c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290);
b = md5_ff(b, c, d, a, x[i+15], 22, 1236535329);
a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510);
d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632);
c = md5_gg(c, d, a, b, x[i+11], 14, 643717713);
b = md5_gg(b, c, d, a, x[i+ 0], 20, -373897302);
a = md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691);
d = md5_gg(d, a, b, c, x[i+10], 9 , 38016083);
c = md5_gg(c, d, a, b, x[i+15], 14, -660478335);
b = md5_gg(b, c, d, a, x[i+ 4], 20, -405537848);
a = md5_gg(a, b, c, d, x[i+ 9], 5 , 568446438);
d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690);
c = md5_gg(c, d, a, b, x[i+ 3], 14, -187363961);
b = md5_gg(b, c, d, a, x[i+ 8], 20, 1163531501);
a = md5_gg(a, b, c, d, x[i+13], 5 , -1444681467);
d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784);
c = md5_gg(c, d, a, b, x[i+ 7], 14, 1735328473);
b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734);
a = md5_hh(a, b, c, d, x[i+ 5], 4 , -378558);
d = md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463);
c = md5_hh(c, d, a, b, x[i+11], 16, 1839030562);
b = md5_hh(b, c, d, a, x[i+14], 23, -35309556);
a = md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060);
d = md5_hh(d, a, b, c, x[i+ 4], 11, 1272893353);
c = md5_hh(c, d, a, b, x[i+ 7], 16, -155497632);
b = md5_hh(b, c, d, a, x[i+10], 23, -1094730640);
a = md5_hh(a, b, c, d, x[i+13], 4 , 681279174);
d = md5_hh(d, a, b, c, x[i+ 0], 11, -358537222);
c = md5_hh(c, d, a, b, x[i+ 3], 16, -722521979);
b = md5_hh(b, c, d, a, x[i+ 6], 23, 76029189);
a = md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487);
d = md5_hh(d, a, b, c, x[i+12], 11, -421815835);
c = md5_hh(c, d, a, b, x[i+15], 16, 530742520);
b = md5_hh(b, c, d, a, x[i+ 2], 23, -995338651);
a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844);
d = md5_ii(d, a, b, c, x[i+ 7], 10, 1126891415);
c = md5_ii(c, d, a, b, x[i+14], 15, -1416354905);
b = md5_ii(b, c, d, a, x[i+ 5], 21, -57434055);
a = md5_ii(a, b, c, d, x[i+12], 6 , 1700485571);
d = md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606);
c = md5_ii(c, d, a, b, x[i+10], 15, -1051523);
b = md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799);
a = md5_ii(a, b, c, d, x[i+ 8], 6 , 1873313359);
d = md5_ii(d, a, b, c, x[i+15], 10, -30611744);
c = md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380);
b = md5_ii(b, c, d, a, x[i+13], 21, 1309151649);
a = md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070);
d = md5_ii(d, a, b, c, x[i+11], 10, -1120210379);
c = md5_ii(c, d, a, b, x[i+ 2], 15, 718787259);
b = md5_ii(b, c, d, a, x[i+ 9], 21, -343485551);
a = safe_add(a, olda);
b = safe_add(b, oldb);
c = safe_add(c, oldc);
d = safe_add(d, oldd);
}
return Array(a, b, c, d);
}
/*
* These functions implement the four basic operations the algorithm uses.
*/
function md5_cmn(q, a, b, x, s, t)
{
return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),b);
}
function md5_ff(a, b, c, d, x, s, t)
{
return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t);
}
function md5_gg(a, b, c, d, x, s, t)
{
return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t);
}
function md5_hh(a, b, c, d, x, s, t)
{
return md5_cmn(b ^ c ^ d, a, b, x, s, t);
}
function md5_ii(a, b, c, d, x, s, t)
{
return md5_cmn(c ^ (b | (~d)), a, b, x, s, t);
}
/*
* Calculate the HMAC-MD5, of a key and some data
*/
function core_hmac_md5(key, data)
{
var bkey = str2binl(key);
if(bkey.length > 16) bkey = core_md5(bkey, key.length * chrsz);
var ipad = Array(16), opad = Array(16);
for(var i = 0; i < 16; i++)
{
ipad[i] = bkey[i] ^ 0x36363636;
opad[i] = bkey[i] ^ 0x5C5C5C5C;
}
var hash = core_md5(ipad.concat(str2binl(data)), 512 + data.length * chrsz);
return core_md5(opad.concat(hash), 512 + 128);
}
/*
* Add integers, wrapping at 2^32. This uses 16-bit operations internally
* to work around bugs in some JS interpreters.
*/
function safe_add(x, y)
{
var lsw = (x & 0xFFFF) + (y & 0xFFFF);
var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
return (msw << 16) | (lsw & 0xFFFF);
}
/*
* Bitwise rotate a 32-bit number to the left.
*/
function bit_rol(num, cnt)
{
return (num << cnt) | (num >>> (32 - cnt));
}
/*
* Convert a string to an array of little-endian words
* If chrsz is ASCII, characters >255 have their hi-byte silently ignored.
*/
function str2binl(str)
{
var bin = Array();
var mask = (1 << chrsz) - 1;
for(var i = 0; i < str.length * chrsz; i += chrsz)
bin[i>>5] |= (str.charCodeAt(i / chrsz) & mask) << (i%32);
return bin;
}
/*
* Convert an array of little-endian words to a string
*/
function binl2str(bin)
{
var str = "";
var mask = (1 << chrsz) - 1;
for(var i = 0; i < bin.length * 32; i += chrsz)
str += String.fromCharCode((bin[i>>5] >>> (i % 32)) & mask);
return str;
}
/*
* Convert an array of little-endian words to a hex string.
*/
function binl2hex(binarray)
{
var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef";
var str = "";
for(var i = 0; i < binarray.length * 4; i++)
{
str += hex_tab.charAt((binarray[i>>2] >> ((i%4)*8+4)) & 0xF) +
hex_tab.charAt((binarray[i>>2] >> ((i%4)*8 )) & 0xF);
}
return str;
}
/*
* Convert an array of little-endian words to a base-64 string
*/
function binl2b64(binarray)
{
var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
var str = "";
for(var i = 0; i < binarray.length * 4; i += 3)
{
var triplet = (((binarray[i >> 2] >> 8 * ( i %4)) & 0xFF) << 16)
| (((binarray[i+1 >> 2] >> 8 * ((i+1)%4)) & 0xFF) << 8 )
| ((binarray[i+2 >> 2] >> 8 * ((i+2)%4)) & 0xFF);
for(var j = 0; j < 4; j++)
{
if(i * 8 + j * 6 > binarray.length * 32) str += b64pad;
else str += tab.charAt((triplet >> 6*(3-j)) & 0x3F);
}
}
return str;
}
module.exports={
'hex_md5':hex_md5
}
/**
* @Author: songqi
* @Date: 2016-06-29 22:06:00
* @Email: songqi@benmu-health.com
* @Last modified by: songqi
* @Last modified time: 2016-07-12
*/
var _ = require('lodash');
/**
* [nameKey 命名空间]
* @type {String}
*/
var nameKey = 'win-';
/**
* [_get 获取 localstroage 值]
* @author songqi
* @date 2016-07-06
* @param {[String]} key [key 值]
* @return {[All]} [value 值]
*/
function _get(key) {
var data = JSON.parse(localStorage.getItem(nameKey + key));
return data && data.data;
}
/**
* [_set 存储 localstroage 值]
* @author songqi
* @date 2016-07-06
* @param {[String]} key [key 值]
* @param {[All]} value [value 值]
*/
function _set(key, value) {
var data = {
data: value
};
try {
localStorage.setItem(nameKey + key, JSON.stringify(data));
} catch (e) {
// console.log(e);
}
}
/**
* [_remove 删除内存中的数据]
* @author songqi
* @date 2016-07-06
* @param {[Object]} keys [内存中的 key]
*/
function _remove(keys) {
if (_.isArray(keys)) {
keys.map(function(item) {
localStorage.removeItem(nameKey + item);
});
} else if (typeof(keys) === 'string') {
localStorage.removeItem(nameKey + keys);
}
}
/**
* [_clear 清除所有的缓存数据]
* @author songqi
* @date 2016-07-06
*/
function _clear() {
localStorage.clear();
}
module.exports = {
get: _get,
set: _set,
clear: _clear,
remove: _remove
};
import Ajax from 'Config/ajax'
import _pick from 'lodash/pick'
import _assign from 'lodash/assign'
import _isEmpty from 'lodash/isEmpty'
import { assert } from './tools'
import { LOCAL_AJAX, TEST_PATH } from 'Config'
/**
* Apior
* @description 简易的api组装器,自动添加命名空间
* @author Zero
*/
// 接口访问: 文件名称/接口名称
// 常量访问: 文件名称大写/常量名称
export default class SourceMaker {
constructor() {
this.service = {}
}
register(type, params) {
if(!this.service[type]) this.service[type] = {}
this[`${type}Builer`] && this[`${type}Builer`](params)
}
apiBuilder({
sep = '|',
config = [],
mock = false,
debug = false,
mockpath = ''
}) {
Object.keys(config).map(namespace => {
this._apiSingleBuilder({namespace, mock, mockpath, sep, debug, config[name]})
})
}
_apiSingleBuilder({
namespace,
sep = '|',
config = {},
mock = false,
debug = false,
mockpath = ''
}) {
const {name, desc, params, method, path, localPath } = config
let apiname = `${namespace}${sep}${name}`,
url = mock ? localPath : path,
baseURL = mock && mockpath,
debug && assert(name, `${apiUrl} :接口name属性不能为空`)
debug && assert(apiUrl.indexOf('/') === 0, `${apiUrl} :接口路径path,首字符应为/`)
Object.defineProperty(this.service.api, `${namespace}${sep}${name}`, {
value(outerParams, outerOptions) {
let _data = _isEmpty(outerParams) ? params : _pick(_assign({}, params, outerParams), Object.keys(params))
return Ajax(normoalize(_assign({
url,
desc,
baseURL,
method
}, options), _data))
}
})
}
constBuilder(name = "", consts = []) {
consts.map((cst, key) => {
let constMap = this._constMap,
constName = name.toUpperCase() + '/' + cst.name
Object.defineProperty(constMap, constName, { value: cst.value })
})
}
localStorageBuilder(name = "", consts = []) {
consts.map((cst, key) => {
let constMap = this._constMap,
constName = name.toUpperCase() + '/' + cst.name
Object.defineProperty(constMap, constName, { value: cst.value })
})
}
storeBuilder(name = "", consts = []) {
consts.map((cst, key) => {
let constMap = this._constMap,
constName = name.toUpperCase() + '/' + cst.name
Object.defineProperty(constMap, constName, { value: cst.value })
})
}
}
function normoalize(options, data) {
if (options.method === 'POST') {
options.data = data
} else if (options.method === 'GET') {
options.params = data
}
return options
}
\ No newline at end of file
import Ajax from 'Config/ajax'
import _pick from 'lodash/pick'
import _assign from 'lodash/assign'
import _isEmpty from 'lodash/isEmpty'
import { assert } from './tools'
import { LOCAL_AJAX, TEST_PATH } from 'Config'
/**
* Apior
* @description 简易的api组装器,自动添加命名空间
* @author Zero
*/
// 接口访问: 文件名称/接口名称
// 常量访问: 文件名称大写/常量名称
export default class SourceMaker {
constructor(map = {}, type = "API") {
this._apiMap = {}
this._constMap = {}
if (type === "API") {
// Object.keys(apiMap)。。。。返回以apiMap下所有key键组成的数组。
Object.keys(map).map((key) => {
// 每个key(即)所对应的所有接口对象。
this.makeApiMap(key, map[key])
})
return this._apiMap
}
if (type === "CONST") {
// Object.keys(apiMap)。。。。返回以apiMap下所有key键组成的数组。
Object.keys(map).map((key) => {
// 每个key(即)所对应的所有接口对象。
this.makeConstMap(key, map[key])
})
return this._constMap
}
}
makeApiMap(name = "", apis = []) {
apis.map((api, key) => {
let apiname = name + '/' + api.name,
apiDesc = api.desc,
apiMap = this._apiMap,
apiParams = api.params,
apiBaseURL = LOCAL_AJAX ? '' : TESTPATH,
apiMethod = LOCAL_AJAX ? 'get' : api.method,
apiUrl = LOCAL_AJAX ? api.localPath : api.path
assert(api.name, `${apiUrl} :接口name属性不能为空`)
assert(apiUrl.indexOf('/') === 0, `${apiUrl} :接口路径path,首字符应为/`)
Object.defineProperty(apiMap, apiname, {
value(params, options) {
let _data = _isEmpty(params) ? apiParams : _pick(_assign({}, apiParams, params), Object.keys(apiParams))
return Ajax(normoalize(_assign({
url: apiUrl,
baseURL: apiBaseURL,
method: apiMethod,
desc: apiDesc
}, options), _data))
}
})
})
}
makeConstMap(name = "", consts = []) {
consts.map((cst, key) => {
let constMap = this._constMap,
constName = name.toUpperCase() + '/' + cst.name
Object.defineProperty(constMap, constName, { value: cst.value })
})
}
}
function normoalize(options, data) {
if (options.method === 'POST') {
options.data = data
} else if (options.method === 'GET') {
options.params = data
}
return options
}
\ No newline at end of file
export function getNumb() {
var num = new Array();
for (var i = 0; i < 10; i++) {
var val = Math.ceil(Math.random() * 30);
var isEqu = false;
for (var idx in num) {
if (num[idx] == val) {
isEqu = true;
break;
}
}
if (isEqu) i--;
else num[num.length] = val;
}
return num;
};
// scrollTop animation
export function scrollTop(el, from = 0, to, duration = 500) {
if (!window.requestAnimationFrame) {
window.requestAnimationFrame = (
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
window.msRequestAnimationFrame ||
function(callback) {
return window.setTimeout(callback, 1000 / 60);
}
);
}
const difference = Math.abs(from - to);
const step = Math.ceil(difference / duration * 50);
function scroll(start, end, step) {
if (start === end) return;
let d = (start + step > end) ? end : start + step;
if (start > end) {
d = (start - step < end) ? end : start - step;
}
if (el === window) {
window.scrollTo(d, d);
} else {
el.scrollTop = d;
}
window.requestAnimationFrame(() => scroll(d, end, step));
}
scroll(from, to, step);
}
export function assert(condition, msg) {
if (!condition) throw new Error(`[Apior] ${msg}`)
}
\ No newline at end of file
var strategies = {
required: function(val, errMsg ) {
if (val === '') {
return errMsg;
}
},
isLongThan: function(val, len, errMsg) {
if (val == len) {
return errMsg
}
},
isRepeat :function(val, len, errMsg){
var isRepeat = val.some((item) => {
if (item === len) {
return true;
}
});
if(isRepeat){
return errMsg
}
},
isMobile: function(val, errMsg) {
// var isMobile = /^0?(13[0-9]|15[012356789]|18[0123456789]|14[57]|17[0-9])[0-9]{8}$/g;
var isMobile = /(^1[3|4|5|7|8][0-9]{9}$)/;
if(!isMobile.test(val)){
return errMsg;
}
},
isLineNumber: function(val, errMsg) {
var isMobile = /^\s*\d+-?\d+\s*$/;
if(!isMobile.test(val)){
return errMsg;
}
},
limitTitle: function(val, errMsg) {//富文本编辑器验证title
if(val.length < 5 || val.length > 30){
return errMsg
}
},
limitContent: function(val, errMsg) {//富文本编辑器验证content
if(val.replace(/<h2[^>]*>.*<\/h2>/i, '').replace(/<\/?[^>]*>/g, '').length < 10){
return errMsg
}
},
isNumber: function(val, errMsg) {
if(!Math.trunc(val) && Math.trunc(val)!==0){
return errMsg
}
}
};
/**
* 接受验证的数组
[{
value: this.modalData.datas.keywordInput,
rules: [{
rule: 'required',
msg: '关键词不能为空'
}]
}]
*/
var validate = function(arr) {
var obj = {
status: true
};
for (var i = 0, l1 = arr.length; i < l1; i++) {
var item = arr[i];
var stop = false;
for (var k = 0, l2 = item.rules.length; k < l2; k++) {
var r = item.rules[k];
var arg = r.rule.split(':');
var rule = arg.shift();
if (r.type) {
arg.unshift(r.type);
}
arg.unshift(item.value);
arg.push(r.msg);
//debugger
var status = strategies[rule].apply(null, arg);
if (status) {
obj = {
value: item.value,
status: false,
msg: status
};
stop = true;
break;
}
}
if (stop) break;
}
return obj;
};
module.exports = validate;
<template>
<div>标准</div>
</template>
<template>
<div>
<yd-navbar title="订单详情">
<a href="javascript:;window.history.go(-1)" slot="left">
<yd-navbar-back-icon></yd-navbar-back-icon>
</a>
</yd-navbar>
<div class="detr">
<div class="deto_title">
报告编号:
<b>江苏纺检江苏纺检江苏纺检江苏纺检江苏纺检江苏纺检江苏纺检江苏纺检</b>
</div>
<div class="deto_list">订单状态:</div>
<div class="deto_list">日期:</div>
<div class="deto_list">报告份数:</div>
<div class="deto_list">报告送达方式:</div>
<div class="deto_list">检验要求:</div>
<div class="deto_list">委托单位:</div>
<div class="deto_list">生产单位:</div>
<div class="deto_list">产品名称:</div>
<div class="deto_list">规格型号:</div>
<div class="deto_list">批号:</div>
<div class="deto_list">商标:</div>
<div class="deto_list">样品等级:</div>
<div class="deto_list">样品数量:</div>
<div class="deto_list">安全类别:</div>
</div>
</div>
</template>
<style>
.detr {
padding: 0.2rem;
}
.deto_title {
font-size: 0.32rem;
margin-bottom: 0.1rem;
}
.deto_list {
font-size: 0.26rem;
margin-bottom: 2px;
}
</style>
<template>
<div>
<yd-navbar title="订单">
<a href="javascript:;window.history.go(-1)" slot="left">
<yd-navbar-back-icon></yd-navbar-back-icon>
</a>
</yd-navbar>
<yd-search v-model="value1" placeholder="订单编号/生产单位/委托单位" :on-submit="submitHandler"></yd-search>
<router-link tag="div" :to="{name:'detailorder',query:{a:1}}" class="ord_list">
<p style="font-size:0.32rem;">江苏纺织产品质量监督检验研究院</p>
<p class="ord_time"><b>2015009</b></p>
<p class="ord_text">委托日期:</p>
<p class="ord_text">订单状态:</p>
</router-link>
</div>
</template>
<script type="text/babel">
export default {
data() {
return {
value1: ""
};
},
methods: {
submitHandler(value) {
this.$dialog.toast({ mes: `搜索:${value}` });
}
}
};
</script>
<style >
.ord_list{
padding: 0.2rem;
border-bottom: 1px solid #e1e1e1;
}
.ord_time{
font-size: 0.36rem;
margin-bottom: 0.1rem;
}
.ord_text{
font-size: 0.26rem;
}
</style>
\ No newline at end of file
<template>
<div>
<router-link tag="div" to="#" class="group_list">
<img src="../../assets/img/shoujian.png" alt>
<div>
<p>领取快递</p>
<span>业务人员领取快递</span>
</div>
</router-link>
<router-link tag="div" to="#" class="group_list">
<img src="../../assets/img/money.png" alt>
<div>
<p>检测费用结算</p>
<span>查看检测费用明细情况,即将开通</span>
</div>
</router-link>
<router-link tag="div" to="grorder" class="group_list">
<img src="../../assets/img/wodedingdan.png" alt>
<div>
<p>我的订单</p>
<span>查看订单执行情况,和QCMS同步</span>
</div>
</router-link>
<router-link tag="div" to="contract" class="group_list">
<img src="../../assets/img/contract.png" alt>
<div>
<p>我的合同</p>
<span>我和纺检院签署的合同执行情况</span>
</div>
</router-link>
<router-link tag="div" :to="{name:'qrcode',params:{a:1},query:{b:2}}" class="group_list">
<img src="../../assets/img/qrcode.png" alt>
<div>
<p>二维码查报告</p>
<span>扫描JST报告的二维码下载报告</span>
</div>
</router-link>
<router-link tag="div" to="#" class="group_list">
<img src="../../assets/img/chavg.png" alt>
<div>
<p>我要查快递</p>
<span>查报告、合同、标准、样品、账单等信息</span>
</div>
</router-link>
<router-link tag="div" to="detect" class="group_list">
<img src="../../assets/img/order.png" alt>
<div>
<p>我要检测</p>
<span>在线下单,在QCMS系统中也可以管理</span>
</div>
</router-link>
<router-link tag="div" to="report" class="group_list">
<img src="../../assets/img/report.png" alt>
<div>
<p>我要查报告</p>
<span>查询和下载已经签发的报告</span>
</div>
</router-link>
</div>
</template>
<style>
.group_list {
border-bottom: 1px solid #e1e1e1;
padding: 0.2rem;
overflow: hidden;
}
.group_list img {
margin-right: 0.2rem;
height: 0.8rem;
width: 0.8rem;
float: left;
}
.group_list p {
font-size: 0.32rem;
}
.group_list span {
font-size: 0.24rem;
color: rgb(120, 121, 120);
margin-top: 0.2rem;
}
</style>
\ No newline at end of file
<template>
<div>
<yd-navbar title="综合查询">
<a href="javascript:;window.history.go(-1)" slot="left">
<yd-navbar-back-icon></yd-navbar-back-icon>
</a>
</yd-navbar>
<router-link tag="div" to="contract" class="home_list">
<img src="../../assets/img/contract.png" alt>
<div>
<p>我的合同</p>
<span>我和纺检院签署的合同执行情况</span>
</div>
</router-link>
<router-link tag="div" to="checkstandard" class="home_list">
<img src="../../assets/img/standard.png" alt>
<div>
<p>我要查标准</p>
<span>在线查看标准PDF文档</span>
</div>
</router-link>
<router-link tag="div" to="sample" class="home_list">
<img src="../../assets/img/cominquiry.png" alt>
<div>
<p>我要查样品信息</p>
<span>查看样品状态信息</span>
</div>
</router-link>
<router-link tag="div" to="report" class="home_list">
<img src="../../assets/img/report.png" alt>
<div>
<p>我要查报告</p>
<span>查询和下载已经签发的报告</span>
</div>
</router-link>
<router-link tag="div" to="schedule" class="home_list">
<img src="../../assets/img/schedule.png" alt>
<div>
<p>检测进度查询</p>
<span>查看报告当前的检测进度</span>
</div>
</router-link>
</div>
</template>
<style >
.home_list {
border-bottom: 1px solid #e1e1e1;
padding: 0.2rem;
overflow: hidden;
}
.home_list img {
margin-right: 0.2rem;
height: 0.8rem;
width: 0.8rem;
float: left;
}
.home_list p {
font-size: 0.32rem;
}
.home_list span {
font-size: 0.24rem;
color: rgb(120, 121, 120);
margin-top: 0.2rem;
}
</style>
\ No newline at end of file
<template>
<div>
<yd-navbar title="标准">
<a href="javascript:;window.history.go(-1)" slot="left">
<yd-navbar-back-icon></yd-navbar-back-icon>
</a>
</yd-navbar>
<yd-search v-model="value1" :on-submit="submitHandler"></yd-search>
<div class="ches_header">最近实施标准</div>
<router-link tag="div" :to="{name:'detailedstandard',query:{a:1}}" class="ches_list">
<p class="ches_list_name">阿达达阿斯顿阿斯顿阿达达阿斯达是的阿斯顿阿斯顿阿达达上的放松的方式地方</p>
<p class="ches_list_num">标准代号:57786asd</p>
<p class="ches_list_date">实施日期:96z7df67</p>
</router-link>
</div>
</template>
<script type="text/babel">
export default {
data() {
return {
value1: ""
};
},
methods: {
submitHandler(value) {
this.$dialog.toast({ mes: `搜索:${value}` });
}
}
};
</script>
<style>
.ches_header{
padding:0 0.2rem;
font-size: 0.5rem;
background: #e1e1e1;
color: #4b4949;
height:1rem;
line-height: 1rem;
}
.ches_list{
padding: 0.2rem;
border-bottom: 1px solid #e1e1e1;
}
.ches_list_name{
font-size: 0.3rem;
width: 100%;
overflow: hidden;
text-overflow: ellipsis;
white-space:nowrap;
margin-bottom: 0.1rem;
}
.ches_list_num{
font-size: 0.24rem;
}
.ches_list_date{
font-size: 0.24rem;
}
</style>
<template>
<div>
<yd-navbar title="我的合同">
<a href="javascript:;window.history.go(-1)" slot="left">
<yd-navbar-back-icon></yd-navbar-back-icon>
</a>
</yd-navbar>
<yd-search v-model="searchvalue" placeholder="报告编号" :on-submit="submitHandler"></yd-search>
<router-link
:to="{name:'detailcontract',query:{kvid:item.Kvid}, params:{data:item}}"
tag="div"
class="cont_list"
v-for="(item,key) in results"
:key="key"
>
<p class="cont_title">
<b>{{item.ReportId}}</b>
</p>
<p class="cont_content">生产单位:{{item.ProductOrgName}}</p>
<p class="cont_content">完成日期:{{$helpers.Format(item.DeadDate,"yyyy-MM-dd")}}</p>
<p class="cont_content">下达日期:{{$helpers.Format(item.ReleaseDate,"yyyy-MM-dd")}}</p>
<p class="cont_content">检验类型:{{item.TypeName}}</p>
</router-link>
</div>
</template>
<script>
export default {
data() {
return {
results: "",
searchvalue: "",
searchdata: ""
};
},
methods: {
getcontract(url) {
var vm = this;
vm.$ajax.get(url).then(res => {
vm.results = res.data.Results;
});
},
submitHandler(value) {
var url = "/Restful/Jst.Lims.Entities.Contract/Query?ReportId=" + value;
this.getcontract(url);
}
},
mounted() {
var url = "/Restful/Jst.Lims.Entities.Contract/Query?Take=20&Skip=0"
this.getcontract(url);
}
};
</script>
<style>
.cont_list {
border-bottom: 1px solid #e1e1e1;
padding: 0.2rem;
}
.cont_title {
color: black;
font-size: 0.32rem;
margin-bottom: 0.1rem;
}
.cont_content {
font-size: 0.26rem;
}
</style>
<template>
<div>
<yd-navbar title="合同详情">
<a href="javascript:;window.history.go(-1)" slot="left">
<yd-navbar-back-icon></yd-navbar-back-icon>
</a>
</yd-navbar>
<div class="dets">
<div class="dets_title">
报告编号:
<b>{{data.ReportId}}</b>
</div>
<div class="dets_list">检验部门:{{data.Metadata.BillDepartment}}</div>
<!-- <div class="dets_list">编号:{{data.CustomSuffixId}}</div> -->
<!-- <div class="dets_list">合同名称:{{data.AgreementName}}</div> -->
<!-- <div class="dets_list">检验类型:{{TypeName}}</div> -->
<div class="dets_list">检验分类:{{data.Category}}</div>
<div class="dets_line"></div>
<div class="dets_list">委托单位:{{data.CustomerOrgName}}</div>
<div class="dets_list">联系人:{{data.CustomerContactName}}</div>
<div class="dets_list">电话:{{data.CustomerContactOfficePhone}}</div>
<div class="dets_list">手机号码:{{data.CustomerContactMobile}}</div>
<div class="dets_list">地址:{{data.CustomerContactAddress}}</div>
<div class="dets_list">邮编:</div>
<div class="dets_list">电子邮箱:</div>
<div class="dets_line"></div>
<div class="dets_list">生产单位:{{data.ProductOrgName}}</div>
<div class="dets_list">联系人:{{data.ProductContactName}}</div>
<div class="dets_list">手机号码:{{data.Metadata.CustomerContactFax}}</div>
<div class="dets_list">电话:</div>
<div class="dets_list">地址:{{data.ProductContactAddress}}</div>
<div class="dets_list">邮编:</div>
<div class="dets_list">电子邮箱:{{data.Metadata.ProductOrgEmail}}</div>
<div class="dets_line"></div>
<div class="dets_list">规格型号:{{data.ProductModel}}</div>
<div class="dets_list">产品名称:{{data.ProductName}}</div>
<div class="dets_list">商标:{{data.ProductBrand}}</div>
<div class="dets_list">样品数量:{{data.ProductCount}}</div>
<div class="dets_list">样品等级:{{data.ProductGrade}}</div>
<div class="dets_list">安全类别:{{data.ProductSafetyGrade}}</div>
<div class="dets_list">批号/货号:{{data.BatchNumber}}</div>
<div class="dets_list">样品状态:{{data.Metadata.ProductStatus}}</div>
<div class="dets_list">来样方式:{{data.Metadata.SampleMode}}</div>
<div class="dets_list">快递单号:</div>
<div class="dets_list">到样日期:{{data.Metadata.CheckInDate}}</div>
<div class="dets_list">送达方式:{{data.Metadata.ReportPostWays}}</div>
<div class="dets_list">价格类型:{{data.FeeType}}</div>
<div class="dets_list">报告要求:{{data.ReportFormat}}</div>
<div class="dets_list">分包情况:</div>
<div class="dets_list">工艺参数:{{data.Metadata.TechParameter}}</div>
<div class="dets_line"></div>
<div class="dets_list">检验依据:{{data.StandardOverView}}</div>
<div class="dets_list">检验项目:{{data.DetectionOverView}}</div>
<div class="dets_list">检验要求:</div>
<div class="dets_list">委托日期:{{$helpers.Format(data.ReleaseDate,"yyyy-MM-dd")}}</div>
<div class="dets_list">完成日期:{{$helpers.Format(data.DeadDate,"yyyy-MM-dd")}}</div>
<div class="dets_list">报告格式:{{data.ReportFormat}}</div>
<div class="dets_list">折后费:{{data.TasksDisCountFee}}</div>
<div class="dets_list">加急类型:{{data.UrgentRate}}</div>
<div class="dets_list">受理人:{{data.OperatorName}}</div>
<div class="dets_list">报告份数:{{data.ReportCount}}</div>
<div class="dets_list">报告费:{{data.PackageFee}}</div>
<div class="dets_list">检验费:{{data.Fee}}</div>
<div class="dets_list">首页备注:{{data.Remark}}</div>
<div class="dets_list">附页备注:</div>
</div>
</div>
</template>
<script>
export default {
data() {
return {
data:''
}
},
mounted() {
this.data=this.$route.params.data
},
}
</script>
<style>
.dets {
padding: 0.2rem;
}
.dets_title {
font-size: 0.32rem;
margin-bottom: 0.1rem;
}
.dets_list {
font-size: 0.26rem;
margin-bottom: 2px;
}
.dets_line{
border-bottom: 1px solid #e1e1e1;
margin: 0.2rem 0;
}
</style>
<template>
<div>
<yd-navbar title="标准详情">
<a href="javascript:;window.history.go(-1)" slot="left">
<yd-navbar-back-icon></yd-navbar-back-icon>
</a>
</yd-navbar>
<p class="dets_header">阿斯达斯阿斯达苏打水大时代阿达达阿达达爱上大叔大婶 </p>
<p class="dets_num">标准代号:erter</p>
<p class="dets_num">实施日期:2014.3.3</p>
<div style="padding:0.2rem;">
<div class="dets_bottom">
<img src="../../../assets/img/attachment.png" alt="">
爱上大时代的阿斯顿阿斯顿阿斯顿阿斯顿阿斯顿爱上打死大大的士大夫士大夫撒旦法撒旦法撒旦法撒旦法上的放松的方式电风扇的风
</div>
</div>
</div>
</template>
<style>
.dets_header{
font-size: 0.4rem;
text-align: center;
padding: 0.2rem
}
.dets_num{
padding: 0 .2rem;
line-height: 0.4rem;
height: 0.4rem;
font-size: 0.26rem;
}
.dets_bottom{
border: 1px solid #e1e1e1;
padding: 0.2rem;
font-size: 0.3rem;
}
.dets_bottom img{
height: 0.3rem;
width: 0.3rem;
}
</style>
<template>
<div>
<yd-navbar title="报告详情">
<a href="javascript:;window.history.go(-1)" slot="left">
<yd-navbar-back-icon></yd-navbar-back-icon>
</a>
</yd-navbar>
<div class="detr">
<div class="detr_title">
报告编号:
<b>JST_HHHHHH</b>
</div>
<div class="detr_list">报告归档:</div>
<div class="detr_list">日期:</div>
<div class="detr_list">报告份数:</div>
<div class="detr_list">报告送达方式:</div>
<div class="detr_list">检验要求:</div>
<div class="detr_list">委托单位:</div>
<div class="detr_list">生产单位:</div>
<div class="detr_list">生产面料:</div>
<div class="detr_list">规格型号:</div>
<div class="detr_list">批号:</div>
<div class="detr_list">商标:</div>
<div class="detr_list">样品等级:</div>
<div class="detr_list">样品数量:</div>
<div class="detr_list">安全类别:</div>
<div class="detr_list">检验结果:</div>
<div class="detr_list">检验依据:</div>
<div class="detr_list">检验结论:</div>
<div class="detr_list">快递单号:</div>
</div>
<div class="detr_down_file">附件:</div>
</div>
</template>
<style>
.detr {
padding: 0.2rem;
}
.detr_title {
font-size: 0.32rem;
margin-bottom: 0.1rem;
}
.detr_list {
font-size: 0.26rem;
margin-bottom: 2px;
}
.detr_down_file {
border-top: 1px solid #e1e1e1;
border-bottom: 1px solid #e1e1e1;
padding: 0.2rem;
font-size: 0.26rem;
}
</style>
<template>
<div>
<yd-navbar title="进度详情">
<a href="javascript:;window.history.go(-1)" slot="left">
<yd-navbar-back-icon></yd-navbar-back-icon>
</a>
</yd-navbar>
<div class="dets">
<div class="dets_title">
报告编号:
<b>JST_HHHHHH</b>
</div>
<div class="dets_list">报告状态:</div>
<div class="dets_list">日期:</div>
<div class="dets_list">报告份数:</div>
<div class="dets_list">报告送达方式:</div>
<div class="dets_list">检验要求:</div>
<div class="dets_list">委托单位:</div>
<div class="dets_list">生产单位:</div>
<div class="dets_list">产品名称:</div>
<div class="dets_list">规格型号:</div>
<div class="dets_list">批号:</div>
<div class="dets_list">商标:</div>
<div class="dets_list">样品等级:</div>
<div class="dets_list">样品数量:</div>
<div class="dets_list">安全类别:</div>
<div class="dets_list">检验结果:</div>
<div class="dets_list">检验依据:asfdasd asd阿斯顿阿斯顿阿斯顿阿斯顿阿斯顿阿斯达送达湿答答爱上</div>
<div class="dets_list">检验结论:</div>
<div class="dets_list">快递单号:</div>
</div>
</div>
</template>
<style>
.dets {
padding: 0.2rem;
}
.dets_title {
font-size: 0.32rem;
margin-bottom: 0.1rem;
}
.dets_list {
font-size: 0.26rem;
margin-bottom: 2px;
}
</style>
<template>
<div>
<yd-navbar title="我要查报告">
<a href="javascript:;window.history.go(-1)" slot="left">
<yd-navbar-back-icon></yd-navbar-back-icon>
</a>
</yd-navbar>
<yd-search v-model="searchvalue" placeholder="报告编号/款号/商标" :on-submit="submitHandler"></yd-search>
<router-link v-for="(item , key) in results" :key="key" :to="{name:'detailreport',query:{kvid:item.Kvid}}" tag="div" class="repo_list">
<p class="repo_title">
<b>{{item.ReportId}}</b>
</p>
<p class="repo_content">款号:</p>
<p class="repo_content">商标</p>
<p class="repo_content">签发日期</p>
<p class="repo_content">检验结果</p>
</router-link>
</div>
</template>
<script type="text/babel">
export default {
data() {
return {
searchvalue: "",
results:''
};
},
methods: {
submitHandler(value) {
var url="/Restful/Jst.Lims.Entities.Report/Query?ReportId="+value
this.getData(url)
},
getData(url) {
var vm = this;
vm.$ajax.get(url).then(res => {
vm.results = res.data.Results;
console.log( vm.results)
});
}
},
mounted() {
var url = "/Restful/Jst.Lims.Entities.Report/Query?Take=20&Skip=0";
this.getData(url)
}
};
</script>
<style>
.repo_list {
border-bottom: 1px solid #e1e1e1;
padding: 0.2rem;
}
.repo_title {
color: black;
font-size: 0.32rem;
margin-bottom: 0.1rem;
}
.repo_content {
font-size: 0.26rem;
}
</style>
<template>
<div>
<yd-navbar title="我要查样品">
<a href="javascript:;window.history.go(-1)" slot="left">
<yd-navbar-back-icon></yd-navbar-back-icon>
</a>
</yd-navbar>
<yd-search v-model="value1" :on-submit="submitHandler"></yd-search>
</div>
</template>
<script type="text/babel">
export default {
data() {
return {
value1: ''
}
},
methods: {
submitHandler(value) {
this.$dialog.toast({mes: `搜索:${value}`});
}
}
}
</script>
\ No newline at end of file
<template>
<div>
<yd-navbar title="报告详情">
<a href="javascript:;window.history.go(-1)" slot="left">
<yd-navbar-back-icon></yd-navbar-back-icon>
</a>
</yd-navbar>
<router-link tag="div" :to="{name:'detailschedule',query:{a:1}}" class="sch_list">
<p class="sch_title"><b>JST-SFDGDFDF</b></p>
<p class="sch_content">款号:</p>
<p class="sch_content">商标:</p>
<p class="sch_content">报告状态:</p>
</router-link>
</div>
</template>
<style>
.sch_list{
border-bottom: 1px solid #e1e1e1;
padding: 0.2rem;
}
.sch_title{
font-size: 0.32rem;
}
.sch_content{
font-size: 0.26rem;
line-height: 0.36rem;
height: 0.36rem;
}
</style>
<template>
<div>
<yd-navbar title="我要检测">
<a href="javascript:;window.history.go(-1)" slot="left">
<yd-navbar-back-icon></yd-navbar-back-icon>
</a>
</yd-navbar>
<div style="padding:0 0.2rem;">
<p style="font-size:0.3rem;">
<b>委托单位名称:</b>
</p>
<input v-model=" entrust_name" class="det_input" type="text">
<p style="font-size:0.3rem;">
<b>单位地址:</b>
</p>
<input v-model=" entrust_address" class="det_input" type="text">
<p style="font-size:0.3rem;">
<b>邮编:</b>
</p>
<input v-model="entrust_zipCode" class="det_input" type="text">
<p style="font-size:0.3rem;">
<b>联系人:</b>
</p>
<input v-model=" entrust_contact" class="det_input" type="text">
<p style="font-size:0.3rem;">
<b>电话:</b>
</p>
<input v-model=" entrust_phone" class="det_input" type="text">
<p style="font-size:0.3rem;">
<b>传真:</b>
</p>
<input v-model=" entrust_fax" class="det_input" type="text">
<p style="font-size:0.3rem;">
<b>生产单位名称:</b>
</p>
<input v-model="produce_name" class="det_input" type="text">
<p style="font-size:0.3rem;">
<b>单位地址:</b>
</p>
<input v-model="produce_address" class="det_input" type="text">
<p style="font-size:0.3rem;">
<b>邮编:</b>
</p>
<input v-model="produce_zipCode" class="det_input" type="text">
<p style="font-size:0.3rem;">
<b>联系人:</b>
</p>
<input v-model="produce_contact" class="det_input" type="text">
<p style="font-size:0.3rem;">
<b>电话:</b>
</p>
<input v-model="produce_phone" class="det_input" type="text">
<p style="font-size:0.3rem;">
<b>传真:</b>
</p>
<input v-model="produce_fax" class="det_input" type="text">
<p style="font-size:0.3rem;">
<b>样品名称:</b>
</p>
<input v-model="sample_name" class="det_input" type="text">
<p style="font-size:0.3rem;">
<b>规格型号:</b>
</p>
<input v-model="specification" class="det_input" type="text">
<p style="font-size:0.3rem;">
<b>商标:</b>
</p>
<input v-model="trademark" class="det_input" type="text">
<p style="font-size:0.3rem;">
<b>样品等级:</b>
</p>
<select v-model="sample_grade" class="det_input">
<option selected value="volvo">优等品</option>
<option value="saab">一等品</option>
<option value="opel">二等品</option>
<option value="audi">合格品</option>
</select>
<p style="font-size:0.3rem;">
<b>安全类别:</b>
</p>
<select v-model="safety_class" class="det_input">
<option selected value="volvo">A类</option>
<option value="saab">B类</option>
<option value="opel">C类</option>
</select>
<p style="font-size:0.3rem;">
<b>样品数量:</b>
</p>
<input v-model="sample_num" class="det_input" type="text">
<p style="font-size:0.3rem;">
<b>批号货号:</b>
</p>
<input v-model="lot_number" class="det_input" type="text">
<p style="font-size:0.3rem;">
<b>工艺参数:</b>
</p>
<input v-model="parameter " class="det_input" type="text">
<p style="font-size:0.3rem;">
<b>检验要求:</b>
</p>
<select v-model="claim" class="det_input">
<option selected value="volvo">判定</option>
<option value="saab">数据</option>
</select>
<p style="font-size:0.3rem;">
<b>报告份数:</b>
</p>
<input v-model="number_copies" class="det_input" type="text">
<p style="font-size:0.3rem;">
<b>报告送达方式:</b>
</p>
<select v-model=" delivery_method" class="det_input">
<option selected value="volvo">邮寄</option>
<option value="saab">自取</option>
</select>
<p style="font-size:0.3rem;">
<b>检验依据:</b>
</p>
<textarea v-model="basis" class="det_textarea"></textarea>
<p style="font-size:0.3rem;">
<b>检验项目:</b>
</p>
<textarea v-model="project" class="det_textarea"></textarea>
<p style="font-size:0.3rem;">
<b>备注:</b>
</p>
<textarea v-model="remark" class="det_textarea"></textarea>
<div @click="submit" class="det_submit">提交</div>
</div>
</div>
</template>
<script>
export default {
data() {
return {
entrust_name: "",
entrust_address: "",
entrust_zipCode: "",
entrust_contact: "",
entrust_phone: "",
entrust_fax: "",
produce_name: "",
produce_address: "",
produce_zipCode: "",
produce_contact: "",
produce_phone: "",
produce_fax: "",
sample_name: "",
specification: "",
trademark: "",
sample_grade: "",
safety_class: "",
sample_num: "",
lot_number: "",
parameter: "",
claim: "",
number_copies: "",
delivery_method: "",
basis: "",
project: "",
remark: ""
};
},
methods: {
submit() {
console.log(this.safety_class);
}
}
};
</script>
<style>
.det_input {
width: 100%;
border: none;
border: 1px solid #b8b8b8;
height: 0.5rem;
margin-top: 0.1rem;
margin-bottom: 0.24rem;
}
.det_textarea {
width: 100%;
border: none;
border: 1px solid #b8b8b8;
height: 2rem;
margin-top: 0.1rem;
margin-bottom: 0.24rem;
}
.det_submit {
border: 1px solid #b8b8b8;
height: 0.6rem;
width: 1rem;
border-radius: 0.1rem;
text-align: center;
line-height: 0.6rem;
font-size: 0.32rem;
margin-bottom: 0.2rem;
}
</style>
\ No newline at end of file
<template>
<div>
<div class="home_list">
<img src="../../assets/img/announcement.png" alt>
<div>
<p>内部公告</p>
<span>和OA实时同步的院内通知公告</span>
</div>
</div>
<div class="home_list">
<img src="../../assets/img/notice.png" alt>
<div>
<p>通知通告</p>
<span>江苏纺检院发布的通知通告信息</span>
</div>
</div>
<router-link tag="div" to="checkstandard" class="home_list">
<img src="../../assets/img/updata.png" alt>
<div>
<p>标准更新</p>
<span>查看最近发的新标准</span>
</div>
</router-link>
<router-link tag="div" :to="{name:'qrcode',params:{a:1},query:{b:2}}" class="home_list">
<img src="../../assets/img/qrcode.png" alt>
<div>
<p>二维码查报告</p>
<span>扫描JST报告的二维码下载报告</span>
</div>
</router-link>
<router-link tag="div" to="complex" class="home_list">
<img src="../../assets/img/inquiry.png" alt>
<div>
<p>综合查询</p>
<span>查报告、合同、标准、样品、账单等信息</span>
</div>
</router-link>
<router-link tag="div" to="detect" class="home_list">
<img src="../../assets/img/order.png" alt>
<div>
<p>我要检测</p>
<span>在线下单,在QCMS系统中也可以管理</span>
</div>
</router-link>
</div>
</template>
<style>
.home_list {
border-bottom: 1px solid #e1e1e1;
padding: 0.2rem;
overflow: hidden;
}
.home_list img {
margin-right: 0.2rem;
height: 0.8rem;
width: 0.8rem;
float: left;
}
.home_list p {
font-size: 0.32rem;
}
.home_list span {
font-size: 0.24rem;
color: rgb(120, 121, 120);
margin-top: 0.2rem;
}
</style>
\ No newline at end of file
<template>
<div>
<yd-navbar title="二维码">
<a @click="goback" slot="left">
<yd-navbar-back-icon></yd-navbar-back-icon>
</a>
</yd-navbar>
<div class="scan">
<div id="bcid"> <div style="height:40%"></div></div>
<footer>
<div class="fbt" @click="scanPicture">从相册选择二维码</div>
<div class="fbt" @click="setFlash">是否开启闪光灯</div>
</footer>
</div>
</div>
</template>
<script type='text/ecmascript-6'>
import { Script } from "vm";
let scan = null;
let isOpen = false;
export default {
created() {
// this.startRecognize()
},
mounted(){
this.startRecognize()
},
data() {
return {
codeUrl: ""
};
},
methods: {
// 创建扫描控件
startRecognize() {
let that = this;
if (!window.plus) return;
// eslint-disable-next-line
scan = new plus.barcode.Barcode("bcid");
scan.onmarked = that.onmarked;
scan.start({
conserve: true,
filename: "_doc/barcode/"
});
},
onmarked(type, result, file) {
var that=this
switch (type) {
// eslint-disable-next-line
case plus.barcode.QR:
type = "QR";
break;
// eslint-disable-next-line
case plus.barcode.EAN13:
type = "EAN13";
break;
// eslint-disable-next-line
case plus.barcode.EAN8:
type = "EAN8";
break;
default:
type = "其它" + type;
break;
}
// 获得code
result = result.replace(/\n/g, "");
that.codeUrl = result;
alert(result);
},
goback() {
window.history.go(-1);
if (!window.plus) return;
scan.cancel();
scan.close();
},
scanPicture() {
var that=this
plus.gallery.pick(
function(path) {
plus.barcode.scan(path, that.onmarked, function(error) {
plus.nativeUI.alert("无法识别此图片");
});
},
function(err) {
console.log("Failed: " + err.message);
}
);
},
setFlash() {
isOpen = !isOpen;
if (isOpen) {
scan.setFlash(true);
} else {
scan.setFlash(false);
}
}
}
};
</script>
<style lang="less">
#bcid {
width: 100%;
position: absolute;
left: 0;
right: 0;
top: 1rem;
bottom: 1rem;
text-align: center;
}
footer {
width: 100%;
height: 1rem;
position: absolute;
bottom: 0px;
line-height: 1rem;
text-align: center;
color: #fff;
}
.fbt {
width: 50%;
height: 100%;
background-color: #ffcc33;
float: left;
line-height: 1rem;
}
</style>
<template>
<div class="login" v-touch:right="onSwipeRight" style="min-height:10rem;">
<yd-navbar title="重置密码">
<a href="javascript:window.history.go(-1);" slot="left">
<yd-navbar-back-icon></yd-navbar-back-icon>
</a>
</yd-navbar>
<div class="page-container">
<yd-cell-group>
<yd-cell-item style=" border-bottom:1px solid #DEDBDB; border-top:1px solid #DEDBDB;">
<yd-input
:debug="true"
v-model="phone"
placeholder="请输入手机号码"
required
regex="mobile"
slot="right"
></yd-input>
</yd-cell-item>
<yd-cell-item style="width:100%; border-bottom:1px solid #DEDBDB;">
<input
type="tel"
slot="right"
placeholder="请输入验证码"
v-model="regcode"
maxlength="6"
@input="formatDigit($event)"
>
<yd-sendcode
style="height:0.9rem; border:none;width:30%"
slot="right"
v-model="startSend"
@click.native="sendCode"
:type="rightMobile?'warning':'disabled'"
></yd-sendcode>
</yd-cell-item>
</yd-cell-group>
<div>
<yd-button
size="large"
type="warning"
:disabled="!validRegister"
@click.native="register"
>下一步</yd-button>
</div>
</div>
</div>
</template>
<script>
import { CheckIcon } from "vux";
import { setStore,getStore } from "../../components/common/mixin";
export default {
name: "Login",
created() {
// this.$dialog.loading.open("发送中...");
this.phone=JSON.parse(getStore('userinfo')).phone
},
data() {
return {
regcode: "",
phone: "",
state: "注册",
correctCode: "",
startSend: false,
checkProtocol: true
};
},
components: { CheckIcon },
computed: {
rightMobile() {
return /^1[3,4,5,7,8,9]\d{9}$/.test(this.phone);
},
rightCode() {
return /^\d{6}$/gi.test(this.regcode) && this.startSend;
},
validRegister() {
return this.rightMobile && this.rightCode && this.checkProtocol;
}
},
methods: {
onSwipeRight(event, start, end) {
if (start.X >= 80) return;
// if(end.X<=250)return;
this.$router.go(-1);
},
formatDigit(event) {
this.code = event.target.value.replace(/\D/g, "");
},
sendCode() {
let vm = this;
vm.startSend=true;
},
register() {
let vm = this;
vm.$router.push({path:'inputpassword'})
}
}
};
</script>
<style lang='less' scoped>
@import "../../style/mixin.less";
.page-container {
padding: 0.2rem;
.forget-pwd {
display: block;
width: 2rem;
padding: 0.1rem 0;
.text-center;
margin: 0.8rem auto;
color: @blue;
border: 1px solid currentColor;
border-radius: 5px;
&:active {
background-color: @blue;
color: @white;
}
}
// margin-top: 2rem;
}
.tips {
margin: 1rem auto 0;
font-size: 0.32rem;
}
.login {
height: 100%;
width: 100%;
position: absolute;
opacity: 0.8;
left: 0;
overflow: hidden;
}
.login h1 {
text-align: center;
font-size: 40px;
transition-duration: 1s;
transition-timing-function: ease-in-put;
font-weight: 200;
}
</style>
\ No newline at end of file
<template>
<div class="login" style="min-height:10rem;">
<yd-navbar :title="title">
<a @click="goback" slot="left">
<yd-navbar-back-icon></yd-navbar-back-icon>
</a>
<a
style="color:red;"
@click="login_register"
slot="right"
>{{loginregister}}</a>
</yd-navbar>
<login v-if="loginorregister"></login>
<register v-if="!loginorregister"></register>
</div>
</template>
<script>
import login from "./login";
import register from "./register";
export default {
data() {
return {
loginregister: "注册",
title: "登陆",
loginorregister: true, //控制登陆或注册显示
// routefrom: ""
};
},
components: {
login,
register
},
methods: {
login_register() {
var vm = this;
if (vm.loginregister == "注册") {
vm.loginregister = "登陆";
vm.title = "注册";
vm.loginorregister=false
// vm.$router.replace('/register')
} else {
vm.loginregister = "注册";
vm.title = "登陆";
// vm.$router.replace('/login')
vm.loginorregister=true
}
},
goback() {
this.$router.go(-1)
},
setData(path) {
this.routefrom = path;
},
setTitle() {
this.title = "重置密码";
}
},
// beforeRouteEnter(to, from, next) {
// if (from.path == "/forgetpassword") {
// next();
// } else {
// next(vm => vm.setData(from.path));
// }
// },
// beforeRouteLeave(to, from, next) {
// if (to.path == "/forgetpassword") {
// next(vm => vm.setTitle());
// }
// }
};
</script>
<template>
<div class="login" v-touch:right="onSwipeRight" style="min-height:10rem;">
<yd-navbar title="重置密码">
<a href="javascript:window.history.go(-1);" slot="left">
<yd-navbar-back-icon></yd-navbar-back-icon>
</a>
</yd-navbar>
<div class="page-container">
<yd-cell-group>
<yd-cell-item style=" border-bottom:1px solid #DEDBDB; border-top:1px solid #DEDBDB;">
<yd-input
slot="right"
type="password"
placeholder="请输入密码(不得少于6位)"
:min="6"
v-model="newpassword"
></yd-input>
</yd-cell-item>
<yd-cell-item style=" border-bottom:1px solid #DEDBDB; ">
<yd-input
slot="right"
type="password"
placeholder="请输入密码(不得少于6位)"
:min="6"
v-model="againpassword"
></yd-input>
</yd-cell-item>
</yd-cell-group>
<div>
<yd-button size="large" type="warning" :disabled="!validRegister" @click.native="reset">重置</yd-button>
</div>
</div>
</div>
</template>
<script>
import { CheckIcon } from "vux";
import { setStore } from "../../components/common/mixin";
export default {
name: "Login",
created() {
// this.$dialog.loading.open("发送中...");
},
data() {
return {
newpassword: "",
againpassword: "",
state: "注册",
correctCode: "",
startSend: false,
checkProtocol: true
};
},
components: { CheckIcon },
computed: {
rightnewPwd() {
return /[0-9a-zA-Z].{5,16}/.test(this.newpassword);
},
rightagainPwd() {
return /[0-9a-zA-Z].{5,16}/.test(this.againpassword);
},
validRegister() {
return this.rightnewPwd && this.rightagainPwd && this.newpassword==this.againpassword;
}
},
methods: {
onSwipeRight(event, start, end) {
if (start.X >= 80) return;
// if(end.X<=250)return;
this.$router.go(-1);
},
reset() {
let vm = this;
vm.$dialog.loading.open("注册中...");
var url = "/Customer/Register/Personal";
var _data = {};
vm.$ajax
.post(url, _data)
.then(function(resp) {
vm.$dialog.loading.close();
vm.$dialog.toast({
mes: "",
timeout: 1000,
icon: "success",
callback: () => {
}
});
})
.catch(function(resp) {
vm.$dialog.loading.close();
vm.$dialog.toast({
mes: resp.response.data.ResponseStatus.Message,
icon: "error",
timeout: 2000
});
});
}
}
};
</script>
<style lang='less' scoped>
@import "../../style/mixin.less";
.page-container {
padding: 0.2rem;
.forget-pwd {
display: block;
width: 2rem;
padding: 0.1rem 0;
.text-center;
margin: 0.8rem auto;
color: @blue;
border: 1px solid currentColor;
border-radius: 5px;
&:active {
background-color: @blue;
color: @white;
}
}
// margin-top: 2rem;
}
.tips {
margin: 1rem auto 0;
font-size: 0.32rem;
}
.login {
height: 100%;
width: 100%;
position: absolute;
opacity: 0.8;
left: 0;
overflow: hidden;
}
.login h1 {
text-align: center;
font-size: 40px;
transition-duration: 1s;
transition-timing-function: ease-in-put;
font-weight: 200;
}
</style>
\ No newline at end of file
<template>
<div class="login" v-touch:right="onSwipeRight" style="min-height:10rem;">
<div class="page-container">
<yd-cell-group>
<yd-cell-item
v-show="!logincode"
style="border-top:1px solid #DEDBDB; border-bottom:1px solid #DEDBDB;"
>
<span slot="left">账户 &nbsp;&nbsp;&nbsp;</span>
<yd-input v-model="username" placeholder="请输入用户名" required slot="right"></yd-input>
</yd-cell-item>
<yd-cell-item v-show="!logincode" style="border-bottom:1px solid #DEDBDB;">
<span slot="left">密码&nbsp;&nbsp;&nbsp;</span>
<yd-input slot="right" type="password" placeholder="请输入密码" :min="0" v-model="password"></yd-input>
</yd-cell-item>
<yd-cell-item
v-show="logincode"
style="border-top:1px solid #DEDBDB; border-bottom:1px solid #DEDBDB;"
>
<span slot="left">账户 &nbsp;&nbsp;&nbsp;</span>
<yd-input v-model="phone" placeholder="请输入手机号" regex="mobile" required slot="right"></yd-input>
</yd-cell-item>
<yd-cell-item v-show="logincode" style="border-bottom:1px solid #DEDBDB;">
<span slot="left">验证码&nbsp;&nbsp;&nbsp;</span>
<input v-model="inputcode" maxlength="6" type="text" slot="right" placeholder="请输入验证码">
<!-- ↓↓关键代码是这里↓↓ -->
<yd-sendcode
style="height:0.9rem; border:none;width:30%"
slot="right"
v-model="codevalue"
@click.native="sendloginCode"
:type="rightphone?'warning':'disabled'"
></yd-sendcode>
<!-- ↑↑关键代码是这里↑↑ -->
</yd-cell-item>
</yd-cell-group>
<!-- <div v-show="!logincode" class="forgetpassword">
<router-link tag="span" to="forgetpassword">忘记密码?</router-link>
</div>-->
<div class="flex just-between">
<yd-button type="primary" size="large" :disabled="!validLogin" @click.native="login">登 录</yd-button>
<!-- <div v-show="!logincode" class="logincode" @click="switchcode">验证码登陆</div> -->
<div v-show="logincode" class="logincode" @click="switchcode">密码登陆</div>
</div>
</div>
</div>
</template>
<script>
import { setStore, getStore, mixin } from "../../components/common/mixin";
import store from "../../store/store";
export default {
name: "Login",
data() {
return {
//judge login or register,default way is login
header: "",
username: "",
password: "",
phone: "",
//获取验证码的类型,验证码登陆同样需要
state: "登陆",
//获取验证码接口所需传值,登陆则不需要
verifier: "VCODE",
codevalue: false,
logincode: false,
getcodebtn: false,
userid: "",
inputcode: ""
};
},
mixins: [mixin],
computed: {
rightusername() {
return /\S/.test(this.username);
},
rightphone() {
return /^1[3,4,5,7,8,9]\d{9}$/.test(this.phone);
},
rightPwd() {
return /[0-9a-zA-Z].{0,}/.test(this.password);
},
rightcode() {
return /^\d{6}$/gi.test(this.inputcode) && this.getcodebtn;
},
validLogin() {
return (
(this.rightusername && this.rightPwd) ||
(this.rightphone && this.rightcode)
);
}
},
activated() {
this.password = "";
},
created() {
if (getStore("userinfo")) {
this.username = JSON.parse(getStore("userinfo")).UserName;
}
// this.userid = plus.device.uuid
},
methods: {
onSwipeRight(event, start, end) {
if (start.X >= 80) return;
// if(end.X<=250)return;
this.$router.go(-1);
},
sendloginCode() {
let vm = this;
var url = "";
var codedata = {
Mobilephone: this.phone,
State: this.state
};
this.$dialog.loading.open("发送中...");
vm.$ajax
.post(url, codedata)
.then(function(res) {
vm.$dialog.loading.close();
if (res) {
vm.codevalue = true;
vm.getcodebtn = true;
vm.$dialog.toast({
mes: "已发送",
icon: "success",
timeout: 1500
});
} else {
vm.correctCode = "";
vm.codevalue = false;
}
})
.catch(function(e) {
vm.$dialog.loading.close();
vm.$dialog.toast({
mes: "发送失败",
icon: "error",
timeout: 1500
});
vm.correctCode = "";
vm.startSend = false;
});
},
switchcode() {
this.logincode = !this.logincode;
},
login() {
const vm = this;
vm.$dialog.loading.open("登录中...");
var url = "/auth/kivii";
var _data = {};
_data.UserName = this.username;
_data.Password = this.password;
//验证码登陆
if (vm.logincode) {
_data.UserName = this.phone;
_data.State = this.state;
_data.Password = this.inputcode;
}
vm.$ajax
.post(url, _data)
.then(function(resp) {
vm.$dialog.loading.close();
vm.$dialog.toast({
mes: "登录成功",
timeout: 1000,
icon: "success",
callback: () => {
console.log(resp.data.DisplayName, resp.data.UserName);
var userinfo = {
DisplayName: resp.data.DisplayName,
UserName: resp.data.UserName
};
setStore("userinfo", JSON.stringify(userinfo));
vm.$store.dispatch("UPDATE_USER", true);
vm.$store.dispatch("SET_TOKEN", 1); //1登陆 0 未登录
vm.$router.replace({
path: store.state.loginurl
});
}
});
})
.catch(function(res) {
vm.$dialog.loading.close();
console.log(res.response);
vm.$dialog.toast({
mes: mess,
icon: "error",
timeout: 2000
});
});
},
forget() {
this.$router.push({ name: "Forgetpwd" });
}
},
beforeRouteLeave(to, from, next) {
// 设置下一个路由的 meta
mui.back = this.oldBack;
to.meta.keepAlive = false; // C 跳转到 A 时让 A 不缓存,即刷新
next();
},
beforeRouteEnter(to, from, next) {
next(vm => {
vm.plusReady();
});
}
};
</script>
<style lang='less' scoped>
@import "../../style/mixin.less";
.page-container {
padding: 0.2rem;
.forget-pwd {
display: block;
width: 2rem;
padding: 0.1rem 0;
.text-center;
margin: 0.1rem auto;
color: @blue;
border: 1px solid currentColor;
border-radius: 5px;
&:active {
background-color: @blue;
color: @white;
}
}
}
.tips {
margin: 1rem auto 0;
font-size: 0.32rem;
}
.logincode {
text-align: center;
width: 100%;
font-size: 13px;
height: 0.8rem;
line-height: 0.8rem;
color: red;
}
.login {
height: 100%;
width: 100%;
position: absolute;
opacity: 0.8;
left: 0;
overflow: hidden;
}
.forgetpassword {
overflow: hidden;
}
.forgetpassword span {
float: right;
font-size: 12px;
color: red;
}
.login-registerr {
position: absolute;
right: 0.2rem;
}
</style>
\ No newline at end of file
<template>
<div class="login" v-touch:right="onSwipeRight" style="min-height:10rem;">
<div class="page-container">
<yd-cell-group>
<yd-cell-item style=" border-bottom:1px solid #DEDBDB; border-top:1px solid #DEDBDB;">
<yd-input
:debug="true"
v-model="phone"
placeholder="请输入手机号码"
required
regex="mobile"
slot="right"
></yd-input>
</yd-cell-item>
<yd-cell-item style="width:100%; border-bottom:1px solid #DEDBDB;">
<input
type="tel"
slot="right"
placeholder="请输入验证码"
v-model="regcode"
maxlength="6"
@input="formatDigit($event)"
>
<yd-sendcode
style="height:0.9rem; border:none;width:30%"
slot="right"
v-model="startSend"
@click.native="sendCode"
:type="rightMobile?'warning':'disabled'"
></yd-sendcode>
</yd-cell-item>
</yd-cell-group>
<div>
<check-icon :value.sync="checkProtocol" type="plain">{{checkProtocol?'同意':'不同意'}}</check-icon>
<router-link to="/registerprotocol" class="protocol">《用户注册协议》</router-link>
<yd-button
size="large"
type="warning"
:disabled="!validRegister"
@click.native="register"
>注册</yd-button>
</div>
</div>
</div>
</template>
<script>
import { CheckIcon } from "vux";
import { setStore } from "../../components/common/mixin";
export default {
name: "Login",
created() {
// this.$dialog.loading.open("发送中...");
this.routefrom = this.$route.query.redirect;
},
data() {
return {
regcode: "",
phone: "",
regstate: "注册",
correctCode: "",
startSend: false,
checkProtocol: true
};
},
components: { CheckIcon },
computed: {
rightMobile() {
return /^1[3,4,5,7,8,9]\d{9}$/.test(this.phone);
},
rightCode() {
return /^\d{6}$/gi.test(this.regcode) && this.startSend;
},
validRegister() {
return this.rightMobile && this.rightCode && this.checkProtocol;
}
},
activated() {
this.password = "";
},
methods: {
onSwipeRight(event, start, end) {
if (start.X >= 80) return;
// if(end.X<=250)return;
this.$router.go(-1);
},
formatDigit(event) {
this.code = event.target.value.replace(/\D/g, "");
},
sendCode() {
let vm = this;
vm.regcode = "";
vm.$dialog.loading.open("发送中...");
var url = "/Customer/Register/Personal";
var _data = {};
_data.UserName = vm.phone;
_data.State = vm.regstate;
_data.Verifier = true;
vm.$ajax
.post(url, _data)
.then(function(res) {
vm.$dialog.loading.close();
vm.startSend = true;
vm.$dialog.toast({
mes: "已发送",
icon: "success",
timeout: 1500
});
})
.catch(function(res) {
vm.$dialog.loading.close();
vm.startSend = true;
vm.$dialog.toast({
mes: res.response.data.ResponseStatus.Message,
icon: "error",
timeout: 1500
});
vm.correctCode = "";
});
},
register() {
let vm = this;
vm.$dialog.loading.open("注册中...");
var url = "/Customer/Register/Personal";
var _data = {};
_data.UserName = vm.phone;
_data.Name = vm.phone;
_data.State = vm.regstate;
_data.SafeCode = vm.regcode;
vm.$ajax
.post(url, _data)
.then(function(resp) {
vm.$dialog.loading.close();
vm.$dialog.toast({
mes: "注册成功 自动登陆",
timeout: 1000,
icon: "success",
callback: () => {
// vm.$router.push({ name: "login" });
var url = "/auth/Customer.json";
var _data = {};
_data.UserName = vm.phone;
_data.Password = vm.regcode;
_data.State = vm.regstate;
//验证码登陆
vm.$ajax
.post(url, _data)
.then(function(resp) {
vm.$dialog.loading.close();
var queryModules = [];
vm.$ajax
.get(
"/Restful/Kivii.Mobiles.Entities.Function/Query.json",
{
params: {
OwnerKvid: resp.data.UserId
}
}
)
.then(response => {
queryModules = response.data.Results;
});
vm.$dialog.toast({
mes: "登录成功",
timeout: 1000,
icon: "success",
callback: () => {
localStorage.setItem("account", vm.phone);
localStorage.removeItem("queryModules");
if (queryModules.length > 0) {
localStorage.setItem(
"queryModules",
JSON.stringify(queryModules)
);
}
vm.$store.dispatch("UPDATE_USER", true);
vm.$store.dispatch("SET_TOKEN", 1); //1登陆 0 未登录
// vm.$router.replace({ path: vm.$route.query.redirect });
vm.$router.push({ name: "home" });
}
});
})
.catch(function(resp) {
vm.$dialog.loading.close();
vm.$dialog.toast({
mes: resp.response.data.ResponseStatus.Message,
icon: "error",
timeout: 2000
});
});
}
});
})
.catch(function(resp) {
vm.$dialog.loading.close();
vm.$dialog.toast({
mes: resp.response.data.ResponseStatus.Message,
icon: "error",
timeout: 2000
});
});
}
}
};
</script>
<style lang='less' scoped>
@import "../../style/mixin.less";
.page-container {
padding: 0.2rem;
.forget-pwd {
display: block;
width: 2rem;
padding: 0.1rem 0;
.text-center;
margin: 0.8rem auto;
color: @blue;
border: 1px solid currentColor;
border-radius: 5px;
&:active {
background-color: @blue;
color: @white;
}
}
// margin-top: 2rem;
}
.tips {
margin: 1rem auto 0;
font-size: 0.32rem;
}
.login {
height: 100%;
width: 100%;
position: absolute;
opacity: 0.8;
left: 0;
overflow: hidden;
}
.login h1 {
text-align: center;
font-size: 40px;
transition-duration: 1s;
transition-timing-function: ease-in-put;
font-weight: 200;
}
</style>
\ No newline at end of file
<template>
<div style="background:white; padding:0 0.2rem;">
<yd-navbar >
<a href="javascript:window.history.go(-1);" slot="left">
<yd-navbar-back-icon></yd-navbar-back-icon>
</a>
</yd-navbar>
</div>
</template>
<template>
<div class="account">
<yd-navbar style="background:#ededed;" title="账号与安全">
<a href="javascript:window.history.go(-1);" slot="left">
<yd-navbar-back-icon></yd-navbar-back-icon>
</a>
</yd-navbar>
<div style="padding-left:0.2rem; background:white;">
<router-link :to="{name:'changephone',query:{phonenum:phone}}" tag="div" class="account-phone">
<div class="account-phone-left">
<p>绑定手机</p>
<p>{{phone}}</p>
</div>
<div class="account-phone-right">
<p>去修改</p>
<img src="static/img/userright.png" alt>
</div>
</router-link>
<router-link tag="div" to="changepassword" class="account-phone">
<div class="account-phone-left">
<p>登陆密码</p>
<p>已设置</p>
</div>
<div class="account-phone-right">
<p>去修改</p>
<img src="static/img/userright.png" alt>
</div>
</router-link>
<div class="account-phone">
<div class="account-phone-left">
<p>绑定邮箱</p>
<p>{{email? email : "绑定后可提升账户防御等级"}}</p>
</div>
<div class="account-phone-right">
<p>{{email? "去修改" : "去绑定"}}</p>
<img src="static/img/userright.png" alt>
</div>
</div>
</div>
<div class="account-clear"></div>
<div style="padding-left:0.2rem; background:white;">
<div class="account-phone">
<div class="account-phone-left">
<p>账户急救</p>
</div>
<div class="account-phone-right">
<p>申诉、注销等急救功能</p>
<img src="static/img/userright.png" alt>
</div>
</div>
<div class="account-phone">
<div class="account-phone-left">
<p>安全设置</p>
</div>
<div class="account-phone-right">
<p>设置后可增强账户保护能力</p>
<img src="static/img/userright.png" alt>
</div>
</div>
<div class="account-phone">
<div class="account-phone-left">
<p>帮助中心</p>
</div>
<div class="account-phone-right">
<p>解决账户使用过程中的常见问题</p>
<img src="static/img/userright.png" alt>
</div>
</div>
</div>
</div>
</template>
<script>
import { removeStore, getStore } from "../../components/common/mixin";
export default {
data(){
return{
phone:'',
email:''
}
},
created(){
var vm=this
vm.phone = JSON.parse(getStore("userinfo")).phone;
vm.email = JSON.parse(getStore("userinfo")).Email;
}
}
</script>
<style>
.account {
background: #ededed;
position: absolute;
width: 100%;
height: 100%;
}
.account-phone {
display: flex;
justify-content: space-between;
align-items: center;
border-bottom: 1px solid #f1f1f1;
padding: 0.2rem 0.1rem 0.2rem 0;
}
.account-phone-right {
display: flex;
align-items: center;
}
.account-phone-right p {
font-size: 0.24rem;
color: #999;
}
.account-phone-right img {
height: 0.4rem;
}
.account-phone-left p:nth-child(1) {
font-size: 0.3rem;
}
.account-phone-left p:nth-child(2) {
font-size: 0.24rem;
color: #999;
margin-top: 0.1rem;
}
.account-clear {
height: 0.15rem;
background: #ededed;
}
</style>
<template>
<div>
<yd-navbar style="background:#ededed;" title="修改密码">
<a href="javascript:window.history.go(-1);" slot="left">
<yd-navbar-back-icon></yd-navbar-back-icon>
</a>
<yd-button slot="right" @click.native="savepassword" type="primary">完成</yd-button>
</yd-navbar>
<yd-cell-group>
<yd-cell-item style="border-bottom:1px solid #f1f1f1;">
<span slot="left">用户名:</span>
<yd-input
slot="right"
required
:value="phonenum"
:disabled="true"
:show-success-icon="false"
max="20"
placeholder="请输入用户名"
></yd-input>
</yd-cell-item>
<yd-cell-item style="border-bottom:1px solid #f1f1f1;">
<span slot="left">原密码:</span>
<yd-input slot="right" type="password" v-model="oldpassword" placeholder="请输入密码"></yd-input>
</yd-cell-item>
<yd-cell-item style="border-bottom:1px solid #f1f1f1;">
<span slot="left">新密码:</span>
<yd-input slot="right" type="password" v-model="newpassword" placeholder="请输入密码"></yd-input>
</yd-cell-item>
<yd-cell-item style="border-bottom:1px solid #f1f1f1;">
<span slot="left">确认密码:</span>
<yd-input slot="right" type="password" v-model="againapssword" placeholder="请输入密码"></yd-input>
</yd-cell-item>
</yd-cell-group>
<p style="padding: 0 0.2rem; color: #999;">密码必须是6-16位的数字、字符组合</p>
<router-link tag="p" to="forgetpassword" style="color:red; padding: 0 0.2rem;">忘记原密码?</router-link>
</div>
</template>
<script>
import { getStore } from "../../components/common/mixin";
export default {
data() {
return {
oldpassword: "",
newpassword: "",
againapssword: "",
phonenum: ""
};
},
created() {
this.phonenum = JSON.parse(getStore("userinfo")).phone;
},
methods: {
savepassword() {
var vm = this;
var url = "/Member/Password/Change";
var _data = {
OldPassword: vm.oldpassword,
NewPassword: vm.newpassword
};
if (vm.newpassword != vm.againapssword) {
vm.$dialog.alert({ mes: "两次输入密码不一样" });
} else {
vm.$ajax
.post(url, _data)
.then(function(resp) {
vm.$dialog.toast({
mes: "修改成功",
timeout: 1000,
icon: "success"
});
vm.$router.push({
path: "user"
});
})
.catch(function(res) {
vm.$dialog.toast({
mes: res.response.data.ResponseStatus.Message,
timeout: 1000,
icon: "error"
});
});
}
}
}
};
</script>
<template>
<div class="changephone">
<yd-navbar style="background:#ededed;" title="修改手机号">
<a href="javascript:window.history.go(-1);" slot="left">
<yd-navbar-back-icon></yd-navbar-back-icon>
</a>
</yd-navbar>
<div style="padding:0.4rem">
<p class="changephone-title">已绑定的手机号</p>
<p class="changephone-num">{{phone}}</p>
<div style="margin-top:0.8rem;">一个手机号只能绑定一个账户,手机号可以作为登陆方式。绑定手机号将作为您身份验证的重要方式,请谨慎操作。</div>
<yd-button
style="border-radius:0.5rem;"
@click.native="change"
size="large"
type="primary"
>更换手机号</yd-button>
<!-- <yd-popup v-model="codeshow" position="center" width="70%">
<div style="background-color:#fff; padding:0.2rem;">
<p style="font-size:0.24rem;">已经给{{phone}}发送了一条验证信息</p>
<yd-cell-group>
<yd-cell-item>
<input
type="text"
maxlength="6"
v-model="inputcode"
slot="right"
placeholder="请输入验证码"
>
<yd-sendcode slot="right" v-model="startcode" @click.native="sendCode" type="warning"></yd-sendcode>
</yd-cell-item>
</yd-cell-group>
<p style="color:#F00;margin-top: 10px;"></p>
<p style="text-align: center;">
<yd-button :disabled="!rightcode" @click.native="nextchange">下一步</yd-button>
</p>
</div>
</yd-popup> -->
</div>
</div>
</template>
<script>
export default {
data() {
return {
codeshow: false,
startcode: false,
inputcode: "",
phone: ""
};
},
created() {
var vm = this;
vm.phone = vm.$route.query.phonenum;
},
methods: {
sendCode() {
this.$dialog.loading.open("发送中...");
setTimeout(() => {
this.startcode = true;
this.$dialog.loading.close();
this.$dialog.toast({
mes: "已发送",
icon: "success",
timeout: 1500
});
}, 1000);
},
change() {
var vm = this;
vm.startcode = true;
vm.codeshow = true;
vm.$router.push({ path: "inputphone" });
},
nextchange() {
var vm = this;
vm.codeshow = false;
vm.$router.push({ path: "inputphone" });
}
},
computed: {
rightcode() {
return /^\d{6}$/gi.test(this.inputcode);
}
}
};
</script>
<style>
.changephonecode {
border: none;
border-bottom: 1px solid #999;
margin-top: 0.1rem;
width: 100%;
}
.changephone {
position: absolute;
height: 100%;
width: 100%;
}
.changephone-title {
font-size: 0.3rem;
}
.changephone-num {
font-size: 0.6rem;
}
.changephone-btn {
margin: auto;
height: 0.8rem;
background: rgba(0, 0, 255, 0.753);
width: 6rem;
border-radius: 0.4rem;
text-align: center;
line-height: 0.8rem;
color: white;
margin-top: 1rem;
}
</style>
<template>
<div>
<yd-navbar title="修改名字">
<a href="javascript:window.history.go(-1);" slot="left">
<yd-navbar-back-icon></yd-navbar-back-icon>
</a>
<yd-button slot="right" @click.native="savename" :disabled="rightname" type="primary">保存</yd-button>
</yd-navbar>
<input type="text" ref="input" v-model="name" class="inputname">
</div>
</template>
<script>
import { setStore, getStore } from "../../components/common/mixin";
export default {
data() {
return {
changename: true,
name: "",
username: ""
};
},
created() {
var vm = this;
vm.username = JSON.parse(getStore("userinfo")).DisplayName;
vm.name = vm.username;
},
mounted() {
this.$refs["input"].focus();
},
methods: {
savename() {
var vm=this;
var userinfo=JSON.parse(getStore("userinfo"))
userinfo.account= vm.name;
setStore('userinfo',JSON.stringify(userinfo))
}
},
computed: {
rightname() {
return this.name == this.username;
}
}
};
</script>
<style>
.inputname {
border: none;
border-bottom: 1px solid #05c15f;
width: 90%;
margin-left: 5%;
font-size: 0.36rem;
margin-top: 0.5rem;
}
</style>
<template>
<div style="width:100%;">
<yd-navbar title="建议反馈">
<a href="javascript:window.history.go(-1);" slot="left">
<yd-navbar-back-icon></yd-navbar-back-icon>
</a>
</yd-navbar>
<yd-cell-item>
<yd-textarea style="border:1px solid #f1f1f1;" slot="right" placeholder="请输入反馈内容,我们将尽快给您回复。" maxlength="200"></yd-textarea>
</yd-cell-item>
<yd-button style="border-radius:4px; width:95%; margin-left:2.5%;" size="large" type="primary" shape="angle">提交</yd-button>
</div>
</template>
<style>
.inputbox{
width:90%;
margin-left: 5%;
}
</style>
<template>
<div>
<yd-navbar style="background:#ededed;" title="更换手机号">
<a href="javascript:window.history.go(-1);" slot="left">
<yd-navbar-back-icon></yd-navbar-back-icon>
</a>
</yd-navbar>
<div style="padding:0.4rem;">
<div style="font-size:0.4rem;">验证码已发送至手机</div>
<div class="code-phone">{{newphonenum}}</div>
<yd-cell-item style="border-bottom:1px solid #999;">
<yd-input slot="right" v-model="inputvalue" placeholder="请输入验证码"></yd-input>
</yd-cell-item>
<p v-if="startcode" style="font-size:0.24rem; color:#999; margin-top:0.2rem;">
<span style="color:rgb(41,145,249)">{{timeout}}</span>&nbsp;&nbsp;后重新发送验证码
</p>
<div v-if="!startcode">
<p
style="font-size:0.24rem; color:#999; margin-top:0.2rem;"
>还收不到验证码?请先确认手机是否安装了短信拦截软件或是否欠费停机。若均不是,请重新获取验证码。</p>
<p
@click="resend"
style="margin-top:0.2rem; color:rgb(41,145,249); font-size:0.24rem;"
>重发验证码</p>
</div>
<yd-button
:disabled="!rightcode"
@click.native="modify"
style="border-radius:0.5rem;"
size="large"
type="primary"
>确定</yd-button>
</div>
</div>
</template>
<script>
import { getStore, setStore } from "../../components/common/mixin";
export default {
data() {
return {
newphonenum: this.$route.query.phone,
timeout: 60,
startcode: true,
inputvalue: "",
state: "修改手机号"
};
},
computed: {
rightcode() {
return /^\d{6}$/gi.test(this.inputvalue);
}
},
methods: {
time() {
var vm = this;
clearInterval(cleartime);
var cleartime = setInterval(function() {
vm.timeout--;
if (vm.timeout == 0) {
clearInterval(cleartime);
vm.startcode = false;
}
}, 1000);
},
resend() {
var vm = this;
vm.timeout = 60;
vm.time();
vm.startcode = true;
vm.inputvalue = "";
var codedata = {
Mobilephone: vm.newphonenum,
State: vm.state
};
let url = "/Organizations/VerificationCode/Request";
vm.$dialog.loading.open("发送中...");
vm.$ajax
.post(url, codedata)
.then(function(res) {
vm.$dialog.loading.close();
vm.$dialog.toast({
mes: "已发送",
icon: "success",
timeout: 1500
});
vm.$router.push({
path: "inputcode",
query: {
phone: vm.inputphonenum
}
});
})
.catch(function(e) {
vm.$dialog.loading.close();
vm.$dialog.toast({
mes: "发送失败",
icon: "error",
timeout: 1500
});
});
},
modify() {
var vm = this;
var codedata = {
Mobilephone: vm.newphonenum,
State: vm.state,
VerCode: vm.inputvalue
};
let url = "/Restful/Kivii.Organizations.Entities.Member/Mobilephone";
vm.$dialog.loading.open("修改中...");
vm.$ajax
.post(url, codedata)
.then(function(res) {
vm.$dialog.loading.close();
vm.$dialog.toast({
mes: "修改成功",
icon: "success",
timeout: 1500
});
vm.$router.push({
path: "user"
// query: {
// phone: vm.inputphonenum
// }
});
var userinfo = JSON.parse(getStore("userinfo"));
userinfo.phone = vm.newphonenum;
setStore("userinfo", JSON.stringify(userinfo));
})
.catch(function(e) {
vm.$dialog.loading.close();
vm.$dialog.toast({
mes: "修改失败",
icon: "error",
timeout: 1500
});
});
}
},
mounted() {
var vm = this;
vm.time();
}
};
</script>
c
<style>
.code-phone {
font-size: 0.5rem;
color: rgb(41, 145, 249);
}
</style>
<template>
<div>
<yd-navbar style="background:#ededed;" title="更换手机号">
<a href="javascript:window.history.go(-1);" slot="left">
<yd-navbar-back-icon></yd-navbar-back-icon>
</a>
</yd-navbar>
<div class="inputphone">
<p>手机号码</p>
<yd-cell-group>
<yd-cell-item style="border-bottom:1px solid #999; ">
<!-- <span slot="left">手机号:</span> -->
<yd-input slot="right" v-model="inputphonenum" regex="mobile" placeholder="请输入新手机号码"></yd-input>
</yd-cell-item>
</yd-cell-group>
<yd-button
:disabled="!rightMobile"
style="border-radius:0.5rem;"
size="large"
@click.native="Nextstep"
type="primary"
>下一步</yd-button>
</div>
<div class="inputphone-bottom">
<div>更换手机号后,下次可使用新的手机号登陆。</div>
<div>当前手机号:{{oldphone}}</div>
</div>
</div>
</template>
<script type="text/babel">
import { removeStore, getStore } from "../../components/common/mixin";
export default {
data() {
return {
inputphonenum: "",
oldphone: "",
state: "修改手机号"
};
},
methods: {
Nextstep() {
var vm = this;
if (vm.oldphone == vm.inputphonenum) {
vm.$dialog.confirm({
title: "",
mes: "该手机号与当前绑定手机号相同",
opts: () => {}
});
} else {
vm.$dialog.confirm({
title: "确认手机号",
mes: "我们将发送短信验证码到这个号码:" + vm.inputphonenum,
opts: () => {
var codedata = {
Mobilephone: vm.inputphonenum,
State: vm.state
};
let url = "/Organizations/VerificationCode/Request";
vm.$dialog.loading.open("发送中...");
vm.$ajax
.post(url, codedata)
.then(function(res) {
vm.$dialog.loading.close();
vm.$dialog.toast({
mes: "已发送",
icon: "success",
timeout: 1500
});
vm.$router.push({
path: "inputcode",
query: {
phone: vm.inputphonenum
}
});
})
.catch(function(e) {
vm.$dialog.loading.close();
vm.$dialog.toast({
mes: "发送失败",
icon: "error",
timeout: 1500
});
});
}
});
}
}
},
created() {
var vm = this;
vm.oldphone = JSON.parse(getStore("userinfo")).phone;
},
computed: {
rightMobile() {
return /^1[3,4,5,7,8,9]\d{9}$/.test(this.inputphonenum);
}
}
};
</script>
<style >
.inputphone {
padding: 0.4rem;
padding-top: 2rem;
}
.inputphone-bottom {
padding: 0 0.4rem;
font-size: 0.24rem;
text-align: center;
}
</style>
<template>
<div class="userinfo">
<yd-navbar style="background:#ededed;" title="个人信息">
<a href="javascript:window.history.go(-1);" slot="left">
<yd-navbar-back-icon></yd-navbar-back-icon>
</a>
</yd-navbar>
<div class="userinfo-content">
<div @click="changeheader" class="userinfo-list">头像
<div class="userinfo-list-right">
<img :src="Avatar ? Avatar : 'static/img/head.png'">
<img src="static/img/userright.png">
</div>
</div>
<router-link to="changename" tag="div" class="userinfo-list">昵称
<div class="userinfo-list-right">
<p>{{username}}</p>
<img src="static/img/userright.png">
</div>
</router-link>
<router-link to="accountmanagement" tag="div" class="userinfo-list">账号管理
<div class="userinfo-list-right">
<p></p>
<img src="static/img/userright.png">
</div>
</router-link>
<div @click="pay" class="userinfo-list">更多
<div class="userinfo-list-right">
<p></p>
<img src="static/img/userright.png">
</div>
</div>
</div>
</div>
</template>
<script>
import { removeStore , getStore} from "../../components/common/mixin";
export default {
data() {
return {
username:'',
Avatar:''
};
}, created(){
var vm=this;
vm.username=JSON.parse(getStore("userinfo")).DisplayName;
vm.Avatar=JSON.parse(getStore("userinfo")).Avatar
},
methods: {
onPlusReady() {},
// 从相册中选择图片
changeheader() {
// var vm = this;
// // 从相册中选择图片
// console.log("从相册中选择图片:");
// plus.gallery.pick(
// function(path) {
// vm.imgpath = path;
// },
// function(e) {
// console.log("取消选择图片");
// },
// { filter: "image" }
// );
},
pay() {
var wxChannel = null; // 微信支付
var aliChannel = null; // 支付宝支付
var channel = null; //支付通道
plus.payment.getChannels(
function(channels) {
for (var i in channels) {
if (channels[i].id == "wxpay") {
wxChannel = channels[i];
} else {
aliChannel = channels[i];
}
console.log(channels[i].id)//alipay wxpay
}
},
function(e) {
alert("获取支付通道失败:" + e.message);
}
);
// plus.payment.getChannels(
// function(s) {
// channels = s;
// console.log(channels);
// },
// function(e) {
// alert("获取支付通道列表失败:" + e.message);
// }
// );
}
}
};
</script>
<style>
.userinfo {
background: #ededed;
position: absolute;
width: 100%;
height: 100%;
}
.userinfo-content {
background: white;
}
.userinfo-list {
font-size: 0.3rem;
padding: 0.2rem 0.1rem 0.2rem 0;
margin-left: 0.2rem;
border-bottom: 1px solid #f1f1f1;
display: flex;
align-items: center;
justify-content: space-between;
/* width: 100%; */
}
.userinfo-list-right {
display: flex;
align-items: center;
justify-content: space-between;
}
.userinfo-list img:nth-child(1) {
height: 0.8rem;
}
.userinfo-list img:nth-child(2) {
height: 0.4rem;
}
</style>
<template>
<div class="myuser">
<router-link to="personalinformation" class="myuser-header">
<div class="myuser-header-left">
<img class="myuser-head" :src="Avatar ? Avatar : 'static/img/head.png'">
<div class="myuser-header-name">
<p>{{username}}</p>
<p>{{phone}}</p>
</div>
</div>
<img style=" height: 0.4rem; margin-right:0.2rem;" src="static/img/userright.png" alt>
</router-link>
<div class="myuser-list">
<div class="myuser-clear"></div>
<div class="myuser-list-order">
<div>
<i class="iconfont icon-ren">&#xe693;</i>
<span>我的订单</span>
</div>
<img src="static/img/userright.png" alt>
</div>
<div class="myuser-clear"></div>
<div class="myuser-list-order">
<div>
<i class="iconfont icon-ren">&#xe605;</i>
<span>设备管理</span>
</div>
<img src="static/img/userright.png" alt>
</div>
<div class="myuser-clear"></div>
<div class="myuser-list-order">
<div>
<i class="iconfont icon-ren">&#xe607;</i>
<span>清理缓存</span>
</div>
<img src="static/img/userright.png" alt>
</div>
<div class="myuser-clear"></div>
<div class="myuser-list-order">
<div>
<i class="iconfont icon-ren">&#xe63a;</i>
</div>
<router-link tag=div to="feedback" class="myuser-list-right">
<span>建议反馈</span>
<img src="static/img/userright.png" alt>
</router-link>
</div>
<div class="myuser-list-order">
<div>
<i class="iconfont icon-ren">&#xe6b7;</i>
<span>人工客服</span>
</div>
<img src="static/img/userright.png" alt>
</div>
</div>
<div @click="quit" class="myuser-quit">
<p>退出登陆</p>
</div>
</div>
</template>
<script>
import { removeStore , getStore} from "../../components/common/mixin";
export default {
data() {
return {
ifquit: false,
username:'',
phone:'',
Avatar:''
};
},
created(){
var vm=this;
vm.username=JSON.parse(getStore("userinfo")).DisplayName;
vm.phone=JSON.parse(getStore("userinfo")).phone;
vm.Avatar=JSON.parse(getStore("userinfo")).Avatar
},
methods: {
quit() {
var vm = this;
vm.ifquit = true;
vm.$store.dispatch("UPDATE_USER", false);
vm.$store.dispatch("SET_TOKEN", false);
vm.$ajax.post('/auth/logout.json', {
}).then(function(response){
vm.$store.dispatch("SET_TOKEN", 0);
vm.$dialog.loading.open('正在退出');
setTimeout(() => {
vm.$dialog.loading.close();
vm.$router.replace({ path: "/home" });
}, 2000);
removeStore("queryModules")
});
},
},
beforeRouteLeave(to, from, next) {
if(this.ifquit){
to.meta.keepAlive = false; // C 跳转到 A 时让 A 不缓存,即刷新
}
next();
}
};
</script>
<style>
.myuser {
background: #f1f1f1;
min-height: 12.5rem;
position: absolute;
width: 100%;
height: 100%;
}
.myuser-clear {
height: 0.1rem;
background: #f1f1f1;
}
.myuser-header {
/* background: linear-gradient(to right, #6e98ff, rgb(56, 78, 221)); */
background: white;
height: 2.2rem;
padding-top: 0.2rem;
display: flex;
align-items: center;
justify-content: space-between;
}
.myuser-head {
background-size: 1.2rem;
height: 1.2rem;
width: 1.2rem;
border-radius: 50%;
float: left;
margin: 0.3rem 0.2rem;
}
.myuser-header-left {
display: flex;
align-items: center;
}
.myuser-header-name p:nth-child(1) {
font-size: 0.36rem;
color: black;
font-weight: 550;
line-height: 0.6rem;
margin-top: -0.1rem;
}
.myuser-header-name p:nth-child(2) {
font-size: 0.3rem;
}
.myuser-header-office {
color: white;
font-size: 0.3rem;
}
.myuser-list-order {
font-family: "苹方-简 中黑体";
font-size: 0.32rem;
font-weight: 550;
line-height: 1rem;
display: flex;
align-items: center;
justify-content: space-between;
padding-left: 0.2rem;
background: white;
}
.myuser-list-order i {
color: #6e98ff;
font-size: 0.55rem;
margin-right: 0.1rem;
}
.myuser-list-order > div {
display: flex;
align-items: center;
}
.myuser-list-right {
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
border-bottom: 1px solid #f1f1f1;
}
.myuser-list-order img {
height: 0.4rem;
margin-right: 0.2rem;
}
.myuser-quit {
width: 4.5rem;
background: #6e98ff;
height: 0.8rem;
border-radius: 0.08rem;
color: white;
text-align: center;
line-height: 0.8rem;
margin: auto;
margin-top: 1rem;
}
.myuser-quit p {
font-size: 0.4rem;
}
</style>
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
/**
* 汉字与拼音互转工具,根据导入的字典文件的不同支持不同
* 对于多音字目前只是将所有可能的组合输出,准确识别多音字需要完善的词库,而词库文件往往比字库还要大,所以不太适合web环境。
* @start 2016-09-26
* @last 2016-09-29
*/
;
(function (global, factory) {
if (typeof module === "object" && typeof module.exports === "object") {
module.exports = factory(global);
} else {
factory(global);
}
})(typeof window !== "undefined" ? window : this, function (window) {
var toneMap = {
"ā": "a1",
"á": "a2",
"ǎ": "a3",
"à": "a4",
"ō": "o1",
"ó": "o2",
"ǒ": "o3",
"ò": "o4",
"ē": "e1",
"é": "e2",
"ě": "e3",
"è": "e4",
"ī": "i1",
"í": "i2",
"ǐ": "i3",
"ì": "i4",
"ū": "u1",
"ú": "u2",
"ǔ": "u3",
"ù": "u4",
"ü": "v0",
"ǖ": "v1",
"ǘ": "v2",
"ǚ": "v3",
"ǜ": "v4",
"ń": "n2",
"ň": "n3",
"": "m2"
};
var dict = {}; // 存储所有字典数据
var pinyinUtil = {
/**
* 解析各种字典文件,所需的字典文件必须在本JS之前导入
*/
parseDict: function () {
// 如果导入了 pinyin_dict_firstletter.js
if (window.pinyin_dict_firstletter) {
dict.firstletter = pinyin_dict_firstletter;
}
// 如果导入了 pinyin_dict_notone.js
if (window.pinyin_dict_notone) {
dict.notone = {};
dict.py2hz = pinyin_dict_notone; // 拼音转汉字
for (var i in pinyin_dict_notone) {
var temp = pinyin_dict_notone[i];
for (var j = 0, len = temp.length; j < len; j++) {
if (!dict.notone[temp[j]]) dict.notone[temp[j]] = i; // 不考虑多音字
}
}
}
// 如果导入了 pinyin_dict_withtone.js
if (window.pinyin_dict_withtone) {
dict.withtone = {}; // 汉字与拼音映射,多音字用空格分开,类似这种结构:{'大': 'da tai'}
var temp = pinyin_dict_withtone.split(',');
for (var i = 0, len = temp.length; i < len; i++) {
// 这段代码耗时28毫秒左右,对性能影响不大,所以一次性处理完毕
dict.withtone[String.fromCharCode(i + 19968)] = temp[i]; // 这里先不进行split(' '),因为一次性循环2万次split比较消耗性能
}
// 拼音 -> 汉字
if (window.pinyin_dict_notone) {
// 对于拼音转汉字,我们优先使用pinyin_dict_notone字典文件
// 因为这个字典文件不包含生僻字,且已按照汉字使用频率排序
dict.py2hz = pinyin_dict_notone; // 拼音转汉字
} else {
// 将字典文件解析成拼音->汉字的结构
// 与先分割后逐个去掉声调相比,先一次性全部去掉声调然后再分割速度至少快了3倍,前者大约需要120毫秒,后者大约只需要30毫秒(Chrome下)
var notone = pinyinUtil.removeTone(pinyin_dict_withtone).split(',');
var py2hz = {},
py, hz;
for (var i = 0, len = notone.length; i < len; i++) {
hz = String.fromCharCode(i + 19968); // 汉字
py = notone[i].split(' '); // 去掉了声调的拼音数组
for (var j = 0; j < py.length; j++) {
py2hz[py[j]] = (py2hz[py[j]] || '') + hz;
}
}
dict.py2hz = py2hz;
}
}
},
/**
* 根据汉字获取拼音,如果不是汉字直接返回原字符
* @param chinese 要转换的汉字
* @param splitter 分隔字符,默认用空格分隔
* @param withtone 返回结果是否包含声调,默认是
* @param polyphone 是否支持多音字,默认否
*/
getPinyin: function (chinese, splitter, withtone, polyphone) {
if (!chinese || /^ +$/g.test(chinese)) return '';
splitter = splitter == undefined ? ' ' : splitter;
withtone = withtone == undefined ? true : withtone;
polyphone = polyphone == undefined ? false : polyphone;
var result = [];
if (dict.withtone) // 优先使用带声调的字典文件
{
var noChinese = '';
for (var i = 0, len = chinese.length; i < len; i++) {
var pinyin = dict.withtone[chinese[i]];
if (pinyin) {
// 如果不需要多音字,默认返回第一个拼音,后面的直接忽略
// 所以这对数据字典有一定要求,常见字的拼音必须放在最前面
if (!polyphone) pinyin = pinyin.replace(/ .*$/g, '');
if (!withtone) pinyin = this.removeTone(pinyin); // 如果不需要声调
//空格,把noChinese作为一个词插入
noChinese && (result.push(noChinese), noChinese = '');
result.push(pinyin);
} else if (!chinese[i] || /^ +$/g.test(chinese[i])) {
//空格,把noChinese作为一个词插入
noChinese && (result.push(noChinese), noChinese = '');
} else {
noChinese += chinese[i];
}
}
if (noChinese) {
result.push(noChinese);
noChinese = '';
}
} else if (dict.notone) // 使用没有声调的字典文件
{
if (withtone) console.warn('pinyin_dict_notone 字典文件不支持声调!');
if (polyphone) console.warn('pinyin_dict_notone 字典文件不支持多音字!');
var noChinese = '';
for (var i = 0, len = chinese.length; i < len; i++) {
var temp = chinese.charAt(i),
pinyin = dict.notone[temp];
if (pinyin) { //插入拼音
//空格,把noChinese作为一个词插入
noChinese && (result.push(noChinese), noChinese = '');
result.push(pinyin);
} else if (!temp || /^ +$/g.test(temp)) {
//空格,插入之前的非中文字符
noChinese && (result.push(noChinese), noChinese = '');
} else {
//非空格,关联到noChinese中
noChinese += temp;
}
}
if (noChinese) {
result.push(noChinese);
noChinese = '';
}
} else {
throw '抱歉,未找到合适的拼音字典文件!';
}
if (!polyphone) return result.join(splitter);
else {
if (window.pinyin_dict_polyphone) return parsePolyphone(chinese, result, splitter, withtone);
else return handlePolyphone(result, ' ', splitter);
}
},
/**
* 获取汉字的拼音首字母
* @param str 汉字字符串,如果遇到非汉字则原样返回
* @param polyphone 是否支持多音字,默认false,如果为true,会返回所有可能的组合数组
*/
getFirstLetter: function (str, polyphone) {
polyphone = polyphone == undefined ? false : polyphone;
if (!str || /^ +$/g.test(str)) return '';
if (dict.firstletter) // 使用首字母字典文件
{
var result = [];
for (var i = 0; i < str.length; i++) {
var unicode = str.charCodeAt(i);
var ch = str.charAt(i);
if (unicode >= 19968 && unicode <= 40869) {
ch = dict.firstletter.all.charAt(unicode - 19968);
if (polyphone) ch = dict.firstletter.polyphone[unicode] || ch;
}
result.push(ch);
}
if (!polyphone) return result.join(''); // 如果不用管多音字,直接将数组拼接成字符串
else return handlePolyphone(result, '', ''); // 处理多音字,此时的result类似于:['D', 'ZC', 'F']
} else {
var py = this.getPinyin(str, ' ', false, polyphone);
py = py instanceof Array ? py : [py];
var result = [];
for (var i = 0; i < py.length; i++) {
result.push(py[i].replace(/(^| )(\w)\w*/g, function (m, $1, $2) {
return $2.toUpperCase();
}));
}
if (!polyphone) return result[0];
else return simpleUnique(result);
}
},
/**
* 拼音转汉字,只支持单个汉字,返回所有匹配的汉字组合
* @param pinyin 单个汉字的拼音,可以包含声调
*/
getHanzi: function (pinyin) {
if (!dict.py2hz) {
throw '抱歉,未找到合适的拼音字典文件!';
}
return dict.py2hz[this.removeTone(pinyin)] || '';
},
/**
* 获取某个汉字的同音字,本方法暂时有问题,待完善
* @param hz 单个汉字
* @param sameTone 是否获取同音同声调的汉字,必须传进来的拼音带声调才支持,默认false
*/
getSameVoiceWord: function (hz, sameTone) {
sameTone = sameTone || false
return this.getHanzi(this.getPinyin(hz, ' ', false))
},
/**
* 去除拼音中的声调,比如将 xiǎo míng tóng xué 转换成 xiao ming tong xue
* @param pinyin 需要转换的拼音
*/
removeTone: function (pinyin) {
return pinyin.replace(/[āáǎàōóǒòēéěèīíǐìūúǔùüǖǘǚǜńň]/g, function (m) {
return toneMap[m][0];
});
},
/**
* 将数组拼音转换成真正的带标点的拼音
* @param pinyinWithoutTone 类似 xu2e这样的带数字的拼音
*/
getTone: function (pinyinWithoutTone) {
var newToneMap = {};
for (var i in toneMap) newToneMap[toneMap[i]] = i;
return (pinyinWithoutTone || '').replace(/[a-z]\d/g, function (m) {
return newToneMap[m] || m;
});
}
};
/**
* 处理多音字,将类似['D', 'ZC', 'F']转换成['DZF', 'DCF']
* 或者将 ['chang zhang', 'cheng'] 转换成 ['chang cheng', 'zhang cheng']
*/
function handlePolyphone(array, splitter, joinChar) {
splitter = splitter || '';
var result = [''],
temp = [];
for (var i = 0; i < array.length; i++) {
temp = [];
var t = array[i].split(splitter);
for (var j = 0; j < t.length; j++) {
for (var k = 0; k < result.length; k++)
temp.push(result[k] + (result[k] ? joinChar : '') + t[j]);
}
result = temp;
}
return simpleUnique(result);
}
/**
* 根据词库找出多音字正确的读音
* 这里只是非常简单的实现,效率和效果都有一些问题
* 推荐使用第三方分词工具先对句子进行分词,然后再匹配多音字
* @param chinese 需要转换的汉字
* @param result 初步匹配出来的包含多个发音的拼音结果
* @param splitter 返回结果拼接字符
*/
function parsePolyphone(chinese, result, splitter, withtone) {
var poly = window.pinyin_dict_polyphone;
var max = 7; // 最多只考虑7个汉字的多音字词,虽然词库里面有10个字的,但是数量非常少,为了整体效率暂时忽略之
var temp = poly[chinese];
if (temp) // 如果直接找到了结果
{
temp = temp.split(' ');
for (var i = 0; i < temp.length; i++) {
result[i] = temp[i] || result[i];
if (!withtone) result[i] = pinyinUtil.removeTone(result[i]);
}
return result.join(splitter);
}
for (var i = 0; i < chinese.length; i++) {
temp = '';
for (var j = 0; j < max && (i + j) < chinese.length; j++) {
if (!/^[\u2E80-\u9FFF]+$/.test(chinese[i + j])) break; // 如果碰到非汉字直接停止本次查找
temp += chinese[i + j];
var res = poly[temp];
if (res) // 如果找到了多音字词语
{
res = res.split(' ');
for (var k = 0; k <= j; k++) {
if (res[k]) result[i + k] = withtone ? res[k] : pinyinUtil.removeTone(res[k]);
}
break;
}
}
}
// 最后这一步是为了防止出现词库里面也没有包含的多音字词语
for (var i = 0; i < result.length; i++) {
result[i] = result[i].replace(/ .*$/g, '');
}
return result.join(splitter);
}
// 简单数组去重
function simpleUnique(array) {
var result = [];
var hash = {};
for (var i = 0; i < array.length; i++) {
var key = (typeof array[i]) + array[i];
if (!hash[key]) {
result.push(array[i]);
hash[key] = true;
}
}
return result;
}
pinyinUtil.parseDict();
pinyinUtil.dict = dict;
window.pinyinUtil = pinyinUtil;
});
/**
* 拼音首字母字典文件
*/
var pinyin_dict_firstletter= {};
pinyin_dict_firstletter.all = "YDYQSXMWZSSXJBYMGCCZQPSSQBYCDSCDQLDYLYBSSJGYZZJJFKCCLZDHWDWZJLJPFYYNWJJTMYHZWZHFLZPPQHGSCYYYNJQYXXGJHHSDSJNKKTMOMLCRXYPSNQSECCQZGGLLYJLMYZZSECYKYYHQWJSSGGYXYZYJWWKDJHYCHMYXJTLXJYQBYXZLDWRDJRWYSRLDZJPCBZJJBRCFTLECZSTZFXXZHTRQHYBDLYCZSSYMMRFMYQZPWWJJYFCRWFDFZQPYDDWYXKYJAWJFFXYPSFTZYHHYZYSWCJYXSCLCXXWZZXNBGNNXBXLZSZSBSGPYSYZDHMDZBQBZCWDZZYYTZHBTSYYBZGNTNXQYWQSKBPHHLXGYBFMJEBJHHGQTJCYSXSTKZHLYCKGLYSMZXYALMELDCCXGZYRJXSDLTYZCQKCNNJWHJTZZCQLJSTSTBNXBTYXCEQXGKWJYFLZQLYHYXSPSFXLMPBYSXXXYDJCZYLLLSJXFHJXPJBTFFYABYXBHZZBJYZLWLCZGGBTSSMDTJZXPTHYQTGLJSCQFZKJZJQNLZWLSLHDZBWJNCJZYZSQQYCQYRZCJJWYBRTWPYFTWEXCSKDZCTBZHYZZYYJXZCFFZZMJYXXSDZZOTTBZLQWFCKSZSXFYRLNYJMBDTHJXSQQCCSBXYYTSYFBXDZTGBCNSLCYZZPSAZYZZSCJCSHZQYDXLBPJLLMQXTYDZXSQJTZPXLCGLQTZWJBHCTSYJSFXYEJJTLBGXSXJMYJQQPFZASYJNTYDJXKJCDJSZCBARTDCLYJQMWNQNCLLLKBYBZZSYHQQLTWLCCXTXLLZNTYLNEWYZYXCZXXGRKRMTCNDNJTSYYSSDQDGHSDBJGHRWRQLYBGLXHLGTGXBQJDZPYJSJYJCTMRNYMGRZJCZGJMZMGXMPRYXKJNYMSGMZJYMKMFXMLDTGFBHCJHKYLPFMDXLQJJSMTQGZSJLQDLDGJYCALCMZCSDJLLNXDJFFFFJCZFMZFFPFKHKGDPSXKTACJDHHZDDCRRCFQYJKQCCWJDXHWJLYLLZGCFCQDSMLZPBJJPLSBCJGGDCKKDEZSQCCKJGCGKDJTJDLZYCXKLQSCGJCLTFPCQCZGWPJDQYZJJBYJHSJDZWGFSJGZKQCCZLLPSPKJGQJHZZLJPLGJGJJTHJJYJZCZMLZLYQBGJWMLJKXZDZNJQSYZMLJLLJKYWXMKJLHSKJGBMCLYYMKXJQLBMLLKMDXXKWYXYSLMLPSJQQJQXYXFJTJDXMXXLLCXQBSYJBGWYMBGGBCYXPJYGPEPFGDJGBHBNSQJYZJKJKHXQFGQZKFHYGKHDKLLSDJQXPQYKYBNQSXQNSZSWHBSXWHXWBZZXDMNSJBSBKBBZKLYLXGWXDRWYQZMYWSJQLCJXXJXKJEQXSCYETLZHLYYYSDZPAQYZCMTLSHTZCFYZYXYLJSDCJQAGYSLCQLYYYSHMRQQKLDXZSCSSSYDYCJYSFSJBFRSSZQSBXXPXJYSDRCKGJLGDKZJZBDKTCSYQPYHSTCLDJDHMXMCGXYZHJDDTMHLTXZXYLYMOHYJCLTYFBQQXPFBDFHHTKSQHZYYWCNXXCRWHOWGYJLEGWDQCWGFJYCSNTMYTOLBYGWQWESJPWNMLRYDZSZTXYQPZGCWXHNGPYXSHMYQJXZTDPPBFYHZHTJYFDZWKGKZBLDNTSXHQEEGZZYLZMMZYJZGXZXKHKSTXNXXWYLYAPSTHXDWHZYMPXAGKYDXBHNHXKDPJNMYHYLPMGOCSLNZHKXXLPZZLBMLSFBHHGYGYYGGBHSCYAQTYWLXTZQCEZYDQDQMMHTKLLSZHLSJZWFYHQSWSCWLQAZYNYTLSXTHAZNKZZSZZLAXXZWWCTGQQTDDYZTCCHYQZFLXPSLZYGPZSZNGLNDQTBDLXGTCTAJDKYWNSYZLJHHZZCWNYYZYWMHYCHHYXHJKZWSXHZYXLYSKQYSPSLYZWMYPPKBYGLKZHTYXAXQSYSHXASMCHKDSCRSWJPWXSGZJLWWSCHSJHSQNHCSEGNDAQTBAALZZMSSTDQJCJKTSCJAXPLGGXHHGXXZCXPDMMHLDGTYBYSJMXHMRCPXXJZCKZXSHMLQXXTTHXWZFKHCCZDYTCJYXQHLXDHYPJQXYLSYYDZOZJNYXQEZYSQYAYXWYPDGXDDXSPPYZNDLTWRHXYDXZZJHTCXMCZLHPYYYYMHZLLHNXMYLLLMDCPPXHMXDKYCYRDLTXJCHHZZXZLCCLYLNZSHZJZZLNNRLWHYQSNJHXYNTTTKYJPYCHHYEGKCTTWLGQRLGGTGTYGYHPYHYLQYQGCWYQKPYYYTTTTLHYHLLTYTTSPLKYZXGZWGPYDSSZZDQXSKCQNMJJZZBXYQMJRTFFBTKHZKBXLJJKDXJTLBWFZPPTKQTZTGPDGNTPJYFALQMKGXBDCLZFHZCLLLLADPMXDJHLCCLGYHDZFGYDDGCYYFGYDXKSSEBDHYKDKDKHNAXXYBPBYYHXZQGAFFQYJXDMLJCSQZLLPCHBSXGJYNDYBYQSPZWJLZKSDDTACTBXZDYZYPJZQSJNKKTKNJDJGYYPGTLFYQKASDNTCYHBLWDZHBBYDWJRYGKZYHEYYFJMSDTYFZJJHGCXPLXHLDWXXJKYTCYKSSSMTWCTTQZLPBSZDZWZXGZAGYKTYWXLHLSPBCLLOQMMZSSLCMBJCSZZKYDCZJGQQDSMCYTZQQLWZQZXSSFPTTFQMDDZDSHDTDWFHTDYZJYQJQKYPBDJYYXTLJHDRQXXXHAYDHRJLKLYTWHLLRLLRCXYLBWSRSZZSYMKZZHHKYHXKSMDSYDYCJPBZBSQLFCXXXNXKXWYWSDZYQOGGQMMYHCDZTTFJYYBGSTTTYBYKJDHKYXBELHTYPJQNFXFDYKZHQKZBYJTZBXHFDXKDASWTAWAJLDYJSFHBLDNNTNQJTJNCHXFJSRFWHZFMDRYJYJWZPDJKZYJYMPCYZNYNXFBYTFYFWYGDBNZZZDNYTXZEMMQBSQEHXFZMBMFLZZSRXYMJGSXWZJSPRYDJSJGXHJJGLJJYNZZJXHGXKYMLPYYYCXYTWQZSWHWLYRJLPXSLSXMFSWWKLCTNXNYNPSJSZHDZEPTXMYYWXYYSYWLXJQZQXZDCLEEELMCPJPCLWBXSQHFWWTFFJTNQJHJQDXHWLBYZNFJLALKYYJLDXHHYCSTYYWNRJYXYWTRMDRQHWQCMFJDYZMHMYYXJWMYZQZXTLMRSPWWCHAQBXYGZYPXYYRRCLMPYMGKSJSZYSRMYJSNXTPLNBAPPYPYLXYYZKYNLDZYJZCZNNLMZHHARQMPGWQTZMXXMLLHGDZXYHXKYXYCJMFFYYHJFSBSSQLXXNDYCANNMTCJCYPRRNYTYQNYYMBMSXNDLYLYSLJRLXYSXQMLLYZLZJJJKYZZCSFBZXXMSTBJGNXYZHLXNMCWSCYZYFZLXBRNNNYLBNRTGZQYSATSWRYHYJZMZDHZGZDWYBSSCSKXSYHYTXXGCQGXZZSHYXJSCRHMKKBXCZJYJYMKQHZJFNBHMQHYSNJNZYBKNQMCLGQHWLZNZSWXKHLJHYYBQLBFCDSXDLDSPFZPSKJYZWZXZDDXJSMMEGJSCSSMGCLXXKYYYLNYPWWWGYDKZJGGGZGGSYCKNJWNJPCXBJJTQTJWDSSPJXZXNZXUMELPXFSXTLLXCLJXJJLJZXCTPSWXLYDHLYQRWHSYCSQYYBYAYWJJJQFWQCQQCJQGXALDBZZYJGKGXPLTZYFXJLTPADKYQHPMATLCPDCKBMTXYBHKLENXDLEEGQDYMSAWHZMLJTWYGXLYQZLJEEYYBQQFFNLYXRDSCTGJGXYYNKLLYQKCCTLHJLQMKKZGCYYGLLLJDZGYDHZWXPYSJBZKDZGYZZHYWYFQYTYZSZYEZZLYMHJJHTSMQWYZLKYYWZCSRKQYTLTDXWCTYJKLWSQZWBDCQYNCJSRSZJLKCDCDTLZZZACQQZZDDXYPLXZBQJYLZLLLQDDZQJYJYJZYXNYYYNYJXKXDAZWYRDLJYYYRJLXLLDYXJCYWYWNQCCLDDNYYYNYCKCZHXXCCLGZQJGKWPPCQQJYSBZZXYJSQPXJPZBSBDSFNSFPZXHDWZTDWPPTFLZZBZDMYYPQJRSDZSQZSQXBDGCPZSWDWCSQZGMDHZXMWWFYBPDGPHTMJTHZSMMBGZMBZJCFZWFZBBZMQCFMBDMCJXLGPNJBBXGYHYYJGPTZGZMQBQTCGYXJXLWZKYDPDYMGCFTPFXYZTZXDZXTGKMTYBBCLBJASKYTSSQYYMSZXFJEWLXLLSZBQJJJAKLYLXLYCCTSXMCWFKKKBSXLLLLJYXTYLTJYYTDPJHNHNNKBYQNFQYYZBYYESSESSGDYHFHWTCJBSDZZTFDMXHCNJZYMQWSRYJDZJQPDQBBSTJGGFBKJBXTGQHNGWJXJGDLLTHZHHYYYYYYSXWTYYYCCBDBPYPZYCCZYJPZYWCBDLFWZCWJDXXHYHLHWZZXJTCZLCDPXUJCZZZLYXJJTXPHFXWPYWXZPTDZZBDZCYHJHMLXBQXSBYLRDTGJRRCTTTHYTCZWMXFYTWWZCWJWXJYWCSKYBZSCCTZQNHXNWXXKHKFHTSWOCCJYBCMPZZYKBNNZPBZHHZDLSYDDYTYFJPXYNGFXBYQXCBHXCPSXTYZDMKYSNXSXLHKMZXLYHDHKWHXXSSKQYHHCJYXGLHZXCSNHEKDTGZXQYPKDHEXTYKCNYMYYYPKQYYYKXZLTHJQTBYQHXBMYHSQCKWWYLLHCYYLNNEQXQWMCFBDCCMLJGGXDQKTLXKGNQCDGZJWYJJLYHHQTTTNWCHMXCXWHWSZJYDJCCDBQCDGDNYXZTHCQRXCBHZTQCBXWGQWYYBXHMBYMYQTYEXMQKYAQYRGYZSLFYKKQHYSSQYSHJGJCNXKZYCXSBXYXHYYLSTYCXQTHYSMGSCPMMGCCCCCMTZTASMGQZJHKLOSQYLSWTMXSYQKDZLJQQYPLSYCZTCQQPBBQJZCLPKHQZYYXXDTDDTSJCXFFLLCHQXMJLWCJCXTSPYCXNDTJSHJWXDQQJSKXYAMYLSJHMLALYKXCYYDMNMDQMXMCZNNCYBZKKYFLMCHCMLHXRCJJHSYLNMTJZGZGYWJXSRXCWJGJQHQZDQJDCJJZKJKGDZQGJJYJYLXZXXCDQHHHEYTMHLFSBDJSYYSHFYSTCZQLPBDRFRZTZYKYWHSZYQKWDQZRKMSYNBCRXQBJYFAZPZZEDZCJYWBCJWHYJBQSZYWRYSZPTDKZPFPBNZTKLQYHBBZPNPPTYZZYBQNYDCPJMMCYCQMCYFZZDCMNLFPBPLNGQJTBTTNJZPZBBZNJKLJQYLNBZQHKSJZNGGQSZZKYXSHPZSNBCGZKDDZQANZHJKDRTLZLSWJLJZLYWTJNDJZJHXYAYNCBGTZCSSQMNJPJYTYSWXZFKWJQTKHTZPLBHSNJZSYZBWZZZZLSYLSBJHDWWQPSLMMFBJDWAQYZTCJTBNNWZXQXCDSLQGDSDPDZHJTQQPSWLYYJZLGYXYZLCTCBJTKTYCZJTQKBSJLGMGZDMCSGPYNJZYQYYKNXRPWSZXMTNCSZZYXYBYHYZAXYWQCJTLLCKJJTJHGDXDXYQYZZBYWDLWQCGLZGJGQRQZCZSSBCRPCSKYDZNXJSQGXSSJMYDNSTZTPBDLTKZWXQWQTZEXNQCZGWEZKSSBYBRTSSSLCCGBPSZQSZLCCGLLLZXHZQTHCZMQGYZQZNMCOCSZJMMZSQPJYGQLJYJPPLDXRGZYXCCSXHSHGTZNLZWZKJCXTCFCJXLBMQBCZZWPQDNHXLJCTHYZLGYLNLSZZPCXDSCQQHJQKSXZPBAJYEMSMJTZDXLCJYRYYNWJBNGZZTMJXLTBSLYRZPYLSSCNXPHLLHYLLQQZQLXYMRSYCXZLMMCZLTZSDWTJJLLNZGGQXPFSKYGYGHBFZPDKMWGHCXMSGDXJMCJZDYCABXJDLNBCDQYGSKYDQTXDJJYXMSZQAZDZFSLQXYJSJZYLBTXXWXQQZBJZUFBBLYLWDSLJHXJYZJWTDJCZFQZQZZDZSXZZQLZCDZFJHYSPYMPQZMLPPLFFXJJNZZYLSJEYQZFPFZKSYWJJJHRDJZZXTXXGLGHYDXCSKYSWMMZCWYBAZBJKSHFHJCXMHFQHYXXYZFTSJYZFXYXPZLCHMZMBXHZZSXYFYMNCWDABAZLXKTCSHHXKXJJZJSTHYGXSXYYHHHJWXKZXSSBZZWHHHCWTZZZPJXSNXQQJGZYZYWLLCWXZFXXYXYHXMKYYSWSQMNLNAYCYSPMJKHWCQHYLAJJMZXHMMCNZHBHXCLXTJPLTXYJHDYYLTTXFSZHYXXSJBJYAYRSMXYPLCKDUYHLXRLNLLSTYZYYQYGYHHSCCSMZCTZQXKYQFPYYRPFFLKQUNTSZLLZMWWTCQQYZWTLLMLMPWMBZSSTZRBPDDTLQJJBXZCSRZQQYGWCSXFWZLXCCRSZDZMCYGGDZQSGTJSWLJMYMMZYHFBJDGYXCCPSHXNZCSBSJYJGJMPPWAFFYFNXHYZXZYLREMZGZCYZSSZDLLJCSQFNXZKPTXZGXJJGFMYYYSNBTYLBNLHPFZDCYFBMGQRRSSSZXYSGTZRNYDZZCDGPJAFJFZKNZBLCZSZPSGCYCJSZLMLRSZBZZLDLSLLYSXSQZQLYXZLSKKBRXBRBZCYCXZZZEEYFGKLZLYYHGZSGZLFJHGTGWKRAAJYZKZQTSSHJJXDCYZUYJLZYRZDQQHGJZXSSZBYKJPBFRTJXLLFQWJHYLQTYMBLPZDXTZYGBDHZZRBGXHWNJTJXLKSCFSMWLSDQYSJTXKZSCFWJLBXFTZLLJZLLQBLSQMQQCGCZFPBPHZCZJLPYYGGDTGWDCFCZQYYYQYSSCLXZSKLZZZGFFCQNWGLHQYZJJCZLQZZYJPJZZBPDCCMHJGXDQDGDLZQMFGPSYTSDYFWWDJZJYSXYYCZCYHZWPBYKXRYLYBHKJKSFXTZJMMCKHLLTNYYMSYXYZPYJQYCSYCWMTJJKQYRHLLQXPSGTLYYCLJSCPXJYZFNMLRGJJTYZBXYZMSJYJHHFZQMSYXRSZCWTLRTQZSSTKXGQKGSPTGCZNJSJCQCXHMXGGZTQYDJKZDLBZSXJLHYQGGGTHQSZPYHJHHGYYGKGGCWJZZYLCZLXQSFTGZSLLLMLJSKCTBLLZZSZMMNYTPZSXQHJCJYQXYZXZQZCPSHKZZYSXCDFGMWQRLLQXRFZTLYSTCTMJCXJJXHJNXTNRZTZFQYHQGLLGCXSZSJDJLJCYDSJTLNYXHSZXCGJZYQPYLFHDJSBPCCZHJJJQZJQDYBSSLLCMYTTMQTBHJQNNYGKYRQYQMZGCJKPDCGMYZHQLLSLLCLMHOLZGDYYFZSLJCQZLYLZQJESHNYLLJXGJXLYSYYYXNBZLJSSZCQQCJYLLZLTJYLLZLLBNYLGQCHXYYXOXCXQKYJXXXYKLXSXXYQXCYKQXQCSGYXXYQXYGYTQOHXHXPYXXXULCYEYCHZZCBWQBBWJQZSCSZSSLZYLKDESJZWMYMCYTSDSXXSCJPQQSQYLYYZYCMDJDZYWCBTJSYDJKCYDDJLBDJJSODZYSYXQQYXDHHGQQYQHDYXWGMMMAJDYBBBPPBCMUUPLJZSMTXERXJMHQNUTPJDCBSSMSSSTKJTSSMMTRCPLZSZMLQDSDMJMQPNQDXCFYNBFSDQXYXHYAYKQYDDLQYYYSSZBYDSLNTFQTZQPZMCHDHCZCWFDXTMYQSPHQYYXSRGJCWTJTZZQMGWJJTJHTQJBBHWZPXXHYQFXXQYWYYHYSCDYDHHQMNMTMWCPBSZPPZZGLMZFOLLCFWHMMSJZTTDHZZYFFYTZZGZYSKYJXQYJZQBHMBZZLYGHGFMSHPZFZSNCLPBQSNJXZSLXXFPMTYJYGBXLLDLXPZJYZJYHHZCYWHJYLSJEXFSZZYWXKZJLUYDTMLYMQJPWXYHXSKTQJEZRPXXZHHMHWQPWQLYJJQJJZSZCPHJLCHHNXJLQWZJHBMZYXBDHHYPZLHLHLGFWLCHYYTLHJXCJMSCPXSTKPNHQXSRTYXXTESYJCTLSSLSTDLLLWWYHDHRJZSFGXTSYCZYNYHTDHWJSLHTZDQDJZXXQHGYLTZPHCSQFCLNJTCLZPFSTPDYNYLGMJLLYCQHYSSHCHYLHQYQTMZYPBYWRFQYKQSYSLZDQJMPXYYSSRHZJNYWTQDFZBWWTWWRXCWHGYHXMKMYYYQMSMZHNGCEPMLQQMTCWCTMMPXJPJJHFXYYZSXZHTYBMSTSYJTTQQQYYLHYNPYQZLCYZHZWSMYLKFJXLWGXYPJYTYSYXYMZCKTTWLKSMZSYLMPWLZWXWQZSSAQSYXYRHSSNTSRAPXCPWCMGDXHXZDZYFJHGZTTSBJHGYZSZYSMYCLLLXBTYXHBBZJKSSDMALXHYCFYGMQYPJYCQXJLLLJGSLZGQLYCJCCZOTYXMTMTTLLWTGPXYMZMKLPSZZZXHKQYSXCTYJZYHXSHYXZKXLZWPSQPYHJWPJPWXQQYLXSDHMRSLZZYZWTTCYXYSZZSHBSCCSTPLWSSCJCHNLCGCHSSPHYLHFHHXJSXYLLNYLSZDHZXYLSXLWZYKCLDYAXZCMDDYSPJTQJZLNWQPSSSWCTSTSZLBLNXSMNYYMJQBQHRZWTYYDCHQLXKPZWBGQYBKFCMZWPZLLYYLSZYDWHXPSBCMLJBSCGBHXLQHYRLJXYSWXWXZSLDFHLSLYNJLZYFLYJYCDRJLFSYZFSLLCQYQFGJYHYXZLYLMSTDJCYHBZLLNWLXXYGYYHSMGDHXXHHLZZJZXCZZZCYQZFNGWPYLCPKPYYPMCLQKDGXZGGWQBDXZZKZFBXXLZXJTPJPTTBYTSZZDWSLCHZHSLTYXHQLHYXXXYYZYSWTXZKHLXZXZPYHGCHKCFSYHUTJRLXFJXPTZTWHPLYXFCRHXSHXKYXXYHZQDXQWULHYHMJTBFLKHTXCWHJFWJCFPQRYQXCYYYQYGRPYWSGSUNGWCHKZDXYFLXXHJJBYZWTSXXNCYJJYMSWZJQRMHXZWFQSYLZJZGBHYNSLBGTTCSYBYXXWXYHXYYXNSQYXMQYWRGYQLXBBZLJSYLPSYTJZYHYZAWLRORJMKSCZJXXXYXCHDYXRYXXJDTSQFXLYLTSFFYXLMTYJMJUYYYXLTZCSXQZQHZXLYYXZHDNBRXXXJCTYHLBRLMBRLLAXKYLLLJLYXXLYCRYLCJTGJCMTLZLLCYZZPZPCYAWHJJFYBDYYZSMPCKZDQYQPBPCJPDCYZMDPBCYYDYCNNPLMTMLRMFMMGWYZBSJGYGSMZQQQZTXMKQWGXLLPJGZBQCDJJJFPKJKCXBLJMSWMDTQJXLDLPPBXCWRCQFBFQJCZAHZGMYKPHYYHZYKNDKZMBPJYXPXYHLFPNYYGXJDBKXNXHJMZJXSTRSTLDXSKZYSYBZXJLXYSLBZYSLHXJPFXPQNBYLLJQKYGZMCYZZYMCCSLCLHZFWFWYXZMWSXTYNXJHPYYMCYSPMHYSMYDYSHQYZCHMJJMZCAAGCFJBBHPLYZYLXXSDJGXDHKXXTXXNBHRMLYJSLTXMRHNLXQJXYZLLYSWQGDLBJHDCGJYQYCMHWFMJYBMBYJYJWYMDPWHXQLDYGPDFXXBCGJSPCKRSSYZJMSLBZZJFLJJJLGXZGYXYXLSZQYXBEXYXHGCXBPLDYHWETTWWCJMBTXCHXYQXLLXFLYXLLJLSSFWDPZSMYJCLMWYTCZPCHQEKCQBWLCQYDPLQPPQZQFJQDJHYMMCXTXDRMJWRHXCJZYLQXDYYNHYYHRSLSRSYWWZJYMTLTLLGTQCJZYABTCKZCJYCCQLJZQXALMZYHYWLWDXZXQDLLQSHGPJFJLJHJABCQZDJGTKHSSTCYJLPSWZLXZXRWGLDLZRLZXTGSLLLLZLYXXWGDZYGBDPHZPBRLWSXQBPFDWOFMWHLYPCBJCCLDMBZPBZZLCYQXLDOMZBLZWPDWYYGDSTTHCSQSCCRSSSYSLFYBFNTYJSZDFNDPDHDZZMBBLSLCMYFFGTJJQWFTMTPJWFNLBZCMMJTGBDZLQLPYFHYYMJYLSDCHDZJWJCCTLJCLDTLJJCPDDSQDSSZYBNDBJLGGJZXSXNLYCYBJXQYCBYLZCFZPPGKCXZDZFZTJJFJSJXZBNZYJQTTYJYHTYCZHYMDJXTTMPXSPLZCDWSLSHXYPZGTFMLCJTYCBPMGDKWYCYZCDSZZYHFLYCTYGWHKJYYLSJCXGYWJCBLLCSNDDBTZBSCLYZCZZSSQDLLMQYYHFSLQLLXFTYHABXGWNYWYYPLLSDLDLLBJCYXJZMLHLJDXYYQYTDLLLBUGBFDFBBQJZZMDPJHGCLGMJJPGAEHHBWCQXAXHHHZCHXYPHJAXHLPHJPGPZJQCQZGJJZZUZDMQYYBZZPHYHYBWHAZYJHYKFGDPFQSDLZMLJXKXGALXZDAGLMDGXMWZQYXXDXXPFDMMSSYMPFMDMMKXKSYZYSHDZKXSYSMMZZZMSYDNZZCZXFPLSTMZDNMXCKJMZTYYMZMZZMSXHHDCZJEMXXKLJSTLWLSQLYJZLLZJSSDPPMHNLZJCZYHMXXHGZCJMDHXTKGRMXFWMCGMWKDTKSXQMMMFZZYDKMSCLCMPCGMHSPXQPZDSSLCXKYXTWLWJYAHZJGZQMCSNXYYMMPMLKJXMHLMLQMXCTKZMJQYSZJSYSZHSYJZJCDAJZYBSDQJZGWZQQXFKDMSDJLFWEHKZQKJPEYPZYSZCDWYJFFMZZYLTTDZZEFMZLBNPPLPLPEPSZALLTYLKCKQZKGENQLWAGYXYDPXLHSXQQWQCQXQCLHYXXMLYCCWLYMQYSKGCHLCJNSZKPYZKCQZQLJPDMDZHLASXLBYDWQLWDNBQCRYDDZTJYBKBWSZDXDTNPJDTCTQDFXQQMGNXECLTTBKPWSLCTYQLPWYZZKLPYGZCQQPLLKCCYLPQMZCZQCLJSLQZDJXLDDHPZQDLJJXZQDXYZQKZLJCYQDYJPPYPQYKJYRMPCBYMCXKLLZLLFQPYLLLMBSGLCYSSLRSYSQTMXYXZQZFDZUYSYZTFFMZZSMZQHZSSCCMLYXWTPZGXZJGZGSJSGKDDHTQGGZLLBJDZLCBCHYXYZHZFYWXYZYMSDBZZYJGTSMTFXQYXQSTDGSLNXDLRYZZLRYYLXQHTXSRTZNGZXBNQQZFMYKMZJBZYMKBPNLYZPBLMCNQYZZZSJZHJCTZKHYZZJRDYZHNPXGLFZTLKGJTCTSSYLLGZRZBBQZZKLPKLCZYSSUYXBJFPNJZZXCDWXZYJXZZDJJKGGRSRJKMSMZJLSJYWQSKYHQJSXPJZZZLSNSHRNYPZTWCHKLPSRZLZXYJQXQKYSJYCZTLQZYBBYBWZPQDWWYZCYTJCJXCKCWDKKZXSGKDZXWWYYJQYYTCYTDLLXWKCZKKLCCLZCQQDZLQLCSFQCHQHSFSMQZZLNBJJZBSJHTSZDYSJQJPDLZCDCWJKJZZLPYCGMZWDJJBSJQZSYZYHHXJPBJYDSSXDZNCGLQMBTSFSBPDZDLZNFGFJGFSMPXJQLMBLGQCYYXBQKDJJQYRFKZTJDHCZKLBSDZCFJTPLLJGXHYXZCSSZZXSTJYGKGCKGYOQXJPLZPBPGTGYJZGHZQZZLBJLSQFZGKQQJZGYCZBZQTLDXRJXBSXXPZXHYZYCLWDXJJHXMFDZPFZHQHQMQGKSLYHTYCGFRZGNQXCLPDLBZCSCZQLLJBLHBZCYPZZPPDYMZZSGYHCKCPZJGSLJLNSCDSLDLXBMSTLDDFJMKDJDHZLZXLSZQPQPGJLLYBDSZGQLBZLSLKYYHZTTNTJYQTZZPSZQZTLLJTYYLLQLLQYZQLBDZLSLYYZYMDFSZSNHLXZNCZQZPBWSKRFBSYZMTHBLGJPMCZZLSTLXSHTCSYZLZBLFEQHLXFLCJLYLJQCBZLZJHHSSTBRMHXZHJZCLXFNBGXGTQJCZTMSFZKJMSSNXLJKBHSJXNTNLZDNTLMSJXGZJYJCZXYJYJWRWWQNZTNFJSZPZSHZJFYRDJSFSZJZBJFZQZZHZLXFYSBZQLZSGYFTZDCSZXZJBQMSZKJRHYJZCKMJKHCHGTXKXQGLXPXFXTRTYLXJXHDTSJXHJZJXZWZLCQSBTXWXGXTXXHXFTSDKFJHZYJFJXRZSDLLLTQSQQZQWZXSYQTWGWBZCGZLLYZBCLMQQTZHZXZXLJFRMYZFLXYSQXXJKXRMQDZDMMYYBSQBHGZMWFWXGMXLZPYYTGZYCCDXYZXYWGSYJYZNBHPZJSQSYXSXRTFYZGRHZTXSZZTHCBFCLSYXZLZQMZLMPLMXZJXSFLBYZMYQHXJSXRXSQZZZSSLYFRCZJRCRXHHZXQYDYHXSJJHZCXZBTYNSYSXJBQLPXZQPYMLXZKYXLXCJLCYSXXZZLXDLLLJJYHZXGYJWKJRWYHCPSGNRZLFZWFZZNSXGXFLZSXZZZBFCSYJDBRJKRDHHGXJLJJTGXJXXSTJTJXLYXQFCSGSWMSBCTLQZZWLZZKXJMLTMJYHSDDBXGZHDLBMYJFRZFSGCLYJBPMLYSMSXLSZJQQHJZFXGFQFQBPXZGYYQXGZTCQWYLTLGWSGWHRLFSFGZJMGMGBGTJFSYZZGZYZAFLSSPMLPFLCWBJZCLJJMZLPJJLYMQDMYYYFBGYGYZMLYZDXQYXRQQQHSYYYQXYLJTYXFSFSLLGNQCYHYCWFHCCCFXPYLYPLLZYXXXXXKQHHXSHJZCFZSCZJXCPZWHHHHHAPYLQALPQAFYHXDYLUKMZQGGGDDESRNNZLTZGCHYPPYSQJJHCLLJTOLNJPZLJLHYMHEYDYDSQYCDDHGZUNDZCLZYZLLZNTNYZGSLHSLPJJBDGWXPCDUTJCKLKCLWKLLCASSTKZZDNQNTTLYYZSSYSSZZRYLJQKCQDHHCRXRZYDGRGCWCGZQFFFPPJFZYNAKRGYWYQPQXXFKJTSZZXSWZDDFBBXTBGTZKZNPZZPZXZPJSZBMQHKCYXYLDKLJNYPKYGHGDZJXXEAHPNZKZTZCMXCXMMJXNKSZQNMNLWBWWXJKYHCPSTMCSQTZJYXTPCTPDTNNPGLLLZSJLSPBLPLQHDTNJNLYYRSZFFJFQWDPHZDWMRZCCLODAXNSSNYZRESTYJWJYJDBCFXNMWTTBYLWSTSZGYBLJPXGLBOCLHPCBJLTMXZLJYLZXCLTPNCLCKXTPZJSWCYXSFYSZDKNTLBYJCYJLLSTGQCBXRYZXBXKLYLHZLQZLNZCXWJZLJZJNCJHXMNZZGJZZXTZJXYCYYCXXJYYXJJXSSSJSTSSTTPPGQTCSXWZDCSYFPTFBFHFBBLZJCLZZDBXGCXLQPXKFZFLSYLTUWBMQJHSZBMDDBCYSCCLDXYCDDQLYJJWMQLLCSGLJJSYFPYYCCYLTJANTJJPWYCMMGQYYSXDXQMZHSZXPFTWWZQSWQRFKJLZJQQYFBRXJHHFWJJZYQAZMYFRHCYYBYQWLPEXCCZSTYRLTTDMQLYKMBBGMYYJPRKZNPBSXYXBHYZDJDNGHPMFSGMWFZMFQMMBCMZZCJJLCNUXYQLMLRYGQZCYXZLWJGCJCGGMCJNFYZZJHYCPRRCMTZQZXHFQGTJXCCJEAQCRJYHPLQLSZDJRBCQHQDYRHYLYXJSYMHZYDWLDFRYHBPYDTSSCNWBXGLPZMLZZTQSSCPJMXXYCSJYTYCGHYCJWYRXXLFEMWJNMKLLSWTXHYYYNCMMCWJDQDJZGLLJWJRKHPZGGFLCCSCZMCBLTBHBQJXQDSPDJZZGKGLFQYWBZYZJLTSTDHQHCTCBCHFLQMPWDSHYYTQWCNZZJTLBYMBPDYYYXSQKXWYYFLXXNCWCXYPMAELYKKJMZZZBRXYYQJFLJPFHHHYTZZXSGQQMHSPGDZQWBWPJHZJDYSCQWZKTXXSQLZYYMYSDZGRXCKKUJLWPYSYSCSYZLRMLQSYLJXBCXTLWDQZPCYCYKPPPNSXFYZJJRCEMHSZMSXLXGLRWGCSTLRSXBZGBZGZTCPLUJLSLYLYMTXMTZPALZXPXJTJWTCYYZLBLXBZLQMYLXPGHDSLSSDMXMBDZZSXWHAMLCZCPJMCNHJYSNSYGCHSKQMZZQDLLKABLWJXSFMOCDXJRRLYQZKJMYBYQLYHETFJZFRFKSRYXFJTWDSXXSYSQJYSLYXWJHSNLXYYXHBHAWHHJZXWMYLJCSSLKYDZTXBZSYFDXGXZJKHSXXYBSSXDPYNZWRPTQZCZENYGCXQFJYKJBZMLJCMQQXUOXSLYXXLYLLJDZBTYMHPFSTTQQWLHOKYBLZZALZXQLHZWRRQHLSTMYPYXJJXMQSJFNBXYXYJXXYQYLTHYLQYFMLKLJTMLLHSZWKZHLJMLHLJKLJSTLQXYLMBHHLNLZXQJHXCFXXLHYHJJGBYZZKBXSCQDJQDSUJZYYHZHHMGSXCSYMXFEBCQWWRBPYYJQTYZCYQYQQZYHMWFFHGZFRJFCDPXNTQYZPDYKHJLFRZXPPXZDBBGZQSTLGDGYLCQMLCHHMFYWLZYXKJLYPQHSYWMQQGQZMLZJNSQXJQSYJYCBEHSXFSZPXZWFLLBCYYJDYTDTHWZSFJMQQYJLMQXXLLDTTKHHYBFPWTYYSQQWNQWLGWDEBZWCMYGCULKJXTMXMYJSXHYBRWFYMWFRXYQMXYSZTZZTFYKMLDHQDXWYYNLCRYJBLPSXCXYWLSPRRJWXHQYPHTYDNXHHMMYWYTZCSQMTSSCCDALWZTCPQPYJLLQZYJSWXMZZMMYLMXCLMXCZMXMZSQTZPPQQBLPGXQZHFLJJHYTJSRXWZXSCCDLXTYJDCQJXSLQYCLZXLZZXMXQRJMHRHZJBHMFLJLMLCLQNLDXZLLLPYPSYJYSXCQQDCMQJZZXHNPNXZMEKMXHYKYQLXSXTXJYYHWDCWDZHQYYBGYBCYSCFGPSJNZDYZZJZXRZRQJJYMCANYRJTLDPPYZBSTJKXXZYPFDWFGZZRPYMTNGXZQBYXNBUFNQKRJQZMJEGRZGYCLKXZDSKKNSXKCLJSPJYYZLQQJYBZSSQLLLKJXTBKTYLCCDDBLSPPFYLGYDTZJYQGGKQTTFZXBDKTYYHYBBFYTYYBCLPDYTGDHRYRNJSPTCSNYJQHKLLLZSLYDXXWBCJQSPXBPJZJCJDZFFXXBRMLAZHCSNDLBJDSZBLPRZTSWSBXBCLLXXLZDJZSJPYLYXXYFTFFFBHJJXGBYXJPMMMPSSJZJMTLYZJXSWXTYLEDQPJMYGQZJGDJLQJWJQLLSJGJGYGMSCLJJXDTYGJQJQJCJZCJGDZZSXQGSJGGCXHQXSNQLZZBXHSGZXCXYLJXYXYYDFQQJHJFXDHCTXJYRXYSQTJXYEFYYSSYYJXNCYZXFXMSYSZXYYSCHSHXZZZGZZZGFJDLTYLNPZGYJYZYYQZPBXQBDZTZCZYXXYHHSQXSHDHGQHJHGYWSZTMZMLHYXGEBTYLZKQWYTJZRCLEKYSTDBCYKQQSAYXCJXWWGSBHJYZYDHCSJKQCXSWXFLTYNYZPZCCZJQTZWJQDZZZQZLJJXLSBHPYXXPSXSHHEZTXFPTLQYZZXHYTXNCFZYYHXGNXMYWXTZSJPTHHGYMXMXQZXTSBCZYJYXXTYYZYPCQLMMSZMJZZLLZXGXZAAJZYXJMZXWDXZSXZDZXLEYJJZQBHZWZZZQTZPSXZTDSXJJJZNYAZPHXYYSRNQDTHZHYYKYJHDZXZLSWCLYBZYECWCYCRYLCXNHZYDZYDYJDFRJJHTRSQTXYXJRJHOJYNXELXSFSFJZGHPZSXZSZDZCQZBYYKLSGSJHCZSHDGQGXYZGXCHXZJWYQWGYHKSSEQZZNDZFKWYSSTCLZSTSYMCDHJXXYWEYXCZAYDMPXMDSXYBSQMJMZJMTZQLPJYQZCGQHXJHHLXXHLHDLDJQCLDWBSXFZZYYSCHTYTYYBHECXHYKGJPXHHYZJFXHWHBDZFYZBCAPNPGNYDMSXHMMMMAMYNBYJTMPXYYMCTHJBZYFCGTYHWPHFTWZZEZSBZEGPFMTSKFTYCMHFLLHGPZJXZJGZJYXZSBBQSCZZLZCCSTPGXMJSFTCCZJZDJXCYBZLFCJSYZFGSZLYBCWZZBYZDZYPSWYJZXZBDSYUXLZZBZFYGCZXBZHZFTPBGZGEJBSTGKDMFHYZZJHZLLZZGJQZLSFDJSSCBZGPDLFZFZSZYZYZSYGCXSNXXCHCZXTZZLJFZGQSQYXZJQDCCZTQCDXZJYQJQCHXZTDLGSCXZSYQJQTZWLQDQZTQCHQQJZYEZZZPBWKDJFCJPZTYPQYQTTYNLMBDKTJZPQZQZZFPZSBNJLGYJDXJDZZKZGQKXDLPZJTCJDQBXDJQJSTCKNXBXZMSLYJCQMTJQWWCJQNJNLLLHJCWQTBZQYDZCZPZZDZYDDCYZZZCCJTTJFZDPRRTZTJDCQTQZDTJNPLZBCLLCTZSXKJZQZPZLBZRBTJDCXFCZDBCCJJLTQQPLDCGZDBBZJCQDCJWYNLLZYZCCDWLLXWZLXRXNTQQCZXKQLSGDFQTDDGLRLAJJTKUYMKQLLTZYTDYYCZGJWYXDXFRSKSTQTENQMRKQZHHQKDLDAZFKYPBGGPZREBZZYKZZSPEGJXGYKQZZZSLYSYYYZWFQZYLZZLZHWCHKYPQGNPGBLPLRRJYXCCSYYHSFZFYBZYYTGZXYLXCZWXXZJZBLFFLGSKHYJZEYJHLPLLLLCZGXDRZELRHGKLZZYHZLYQSZZJZQLJZFLNBHGWLCZCFJYSPYXZLZLXGCCPZBLLCYBBBBUBBCBPCRNNZCZYRBFSRLDCGQYYQXYGMQZWTZYTYJXYFWTEHZZJYWLCCNTZYJJZDEDPZDZTSYQJHDYMBJNYJZLXTSSTPHNDJXXBYXQTZQDDTJTDYYTGWSCSZQFLSHLGLBCZPHDLYZJYCKWTYTYLBNYTSDSYCCTYSZYYEBHEXHQDTWNYGYCLXTSZYSTQMYGZAZCCSZZDSLZCLZRQXYYELJSBYMXSXZTEMBBLLYYLLYTDQYSHYMRQWKFKBFXNXSBYCHXBWJYHTQBPBSBWDZYLKGZSKYHXQZJXHXJXGNLJKZLYYCDXLFYFGHLJGJYBXQLYBXQPQGZTZPLNCYPXDJYQYDYMRBESJYYHKXXSTMXRCZZYWXYQYBMCLLYZHQYZWQXDBXBZWZMSLPDMYSKFMZKLZCYQYCZLQXFZZYDQZPZYGYJYZMZXDZFYFYTTQTZHGSPCZMLCCYTZXJCYTJMKSLPZHYSNZLLYTPZCTZZCKTXDHXXTQCYFKSMQCCYYAZHTJPCYLZLYJBJXTPNYLJYYNRXSYLMMNXJSMYBCSYSYLZYLXJJQYLDZLPQBFZZBLFNDXQKCZFYWHGQMRDSXYCYTXNQQJZYYPFZXDYZFPRXEJDGYQBXRCNFYYQPGHYJDYZXGRHTKYLNWDZNTSMPKLBTHBPYSZBZTJZSZZJTYYXZPHSSZZBZCZPTQFZMYFLYPYBBJQXZMXXDJMTSYSKKBJZXHJCKLPSMKYJZCXTMLJYXRZZQSLXXQPYZXMKYXXXJCLJPRMYYGADYSKQLSNDHYZKQXZYZTCGHZTLMLWZYBWSYCTBHJHJFCWZTXWYTKZLXQSHLYJZJXTMPLPYCGLTBZZTLZJCYJGDTCLKLPLLQPJMZPAPXYZLKKTKDZCZZBNZDYDYQZJYJGMCTXLTGXSZLMLHBGLKFWNWZHDXUHLFMKYSLGXDTWWFRJEJZTZHYDXYKSHWFZCQSHKTMQQHTZHYMJDJSKHXZJZBZZXYMPAGQMSTPXLSKLZYNWRTSQLSZBPSPSGZWYHTLKSSSWHZZLYYTNXJGMJSZSUFWNLSOZTXGXLSAMMLBWLDSZYLAKQCQCTMYCFJBSLXCLZZCLXXKSBZQCLHJPSQPLSXXCKSLNHPSFQQYTXYJZLQLDXZQJZDYYDJNZPTUZDSKJFSLJHYLZSQZLBTXYDGTQFDBYAZXDZHZJNHHQBYKNXJJQCZMLLJZKSPLDYCLBBLXKLELXJLBQYCXJXGCNLCQPLZLZYJTZLJGYZDZPLTQCSXFDMNYCXGBTJDCZNBGBQYQJWGKFHTNPYQZQGBKPBBYZMTJDYTBLSQMPSXTBNPDXKLEMYYCJYNZCTLDYKZZXDDXHQSHDGMZSJYCCTAYRZLPYLTLKXSLZCGGEXCLFXLKJRTLQJAQZNCMBYDKKCXGLCZJZXJHPTDJJMZQYKQSECQZDSHHADMLZFMMZBGNTJNNLGBYJBRBTMLBYJDZXLCJLPLDLPCQDHLXZLYCBLCXZZJADJLNZMMSSSMYBHBSQKBHRSXXJMXSDZNZPXLGBRHWGGFCXGMSKLLTSJYYCQLTSKYWYYHYWXBXQYWPYWYKQLSQPTNTKHQCWDQKTWPXXHCPTHTWUMSSYHBWCRWXHJMKMZNGWTMLKFGHKJYLSYYCXWHYECLQHKQHTTQKHFZLDXQWYZYYDESBPKYRZPJFYYZJCEQDZZDLATZBBFJLLCXDLMJSSXEGYGSJQXCWBXSSZPDYZCXDNYXPPZYDLYJCZPLTXLSXYZYRXCYYYDYLWWNZSAHJSYQYHGYWWAXTJZDAXYSRLTDPSSYYFNEJDXYZHLXLLLZQZSJNYQYQQXYJGHZGZCYJCHZLYCDSHWSHJZYJXCLLNXZJJYYXNFXMWFPYLCYLLABWDDHWDXJMCXZTZPMLQZHSFHZYNZTLLDYWLSLXHYMMYLMBWWKYXYADTXYLLDJPYBPWUXJMWMLLSAFDLLYFLBHHHBQQLTZJCQJLDJTFFKMMMBYTHYGDCQRDDWRQJXNBYSNWZDBYYTBJHPYBYTTJXAAHGQDQTMYSTQXKBTZPKJLZRBEQQSSMJJBDJOTGTBXPGBKTLHQXJJJCTHXQDWJLWRFWQGWSHCKRYSWGFTGYGBXSDWDWRFHWYTJJXXXJYZYSLPYYYPAYXHYDQKXSHXYXGSKQHYWFDDDPPLCJLQQEEWXKSYYKDYPLTJTHKJLTCYYHHJTTPLTZZCDLTHQKZXQYSTEEYWYYZYXXYYSTTJKLLPZMCYHQGXYHSRMBXPLLNQYDQHXSXXWGDQBSHYLLPJJJTHYJKYPPTHYYKTYEZYENMDSHLCRPQFDGFXZPSFTLJXXJBSWYYSKSFLXLPPLBBBLBSFXFYZBSJSSYLPBBFFFFSSCJDSTZSXZRYYSYFFSYZYZBJTBCTSBSDHRTJJBYTCXYJEYLXCBNEBJDSYXYKGSJZBXBYTFZWGENYHHTHZHHXFWGCSTBGXKLSXYWMTMBYXJSTZSCDYQRCYTWXZFHMYMCXLZNSDJTTTXRYCFYJSBSDYERXJLJXBBDEYNJGHXGCKGSCYMBLXJMSZNSKGXFBNBPTHFJAAFXYXFPXMYPQDTZCXZZPXRSYWZDLYBBKTYQPQJPZYPZJZNJPZJLZZFYSBTTSLMPTZRTDXQSJEHBZYLZDHLJSQMLHTXTJECXSLZZSPKTLZKQQYFSYGYWPCPQFHQHYTQXZKRSGTTSQCZLPTXCDYYZXSQZSLXLZMYCPCQBZYXHBSXLZDLTCDXTYLZJYYZPZYZLTXJSJXHLPMYTXCQRBLZSSFJZZTNJYTXMYJHLHPPLCYXQJQQKZZSCPZKSWALQSBLCCZJSXGWWWYGYKTJBBZTDKHXHKGTGPBKQYSLPXPJCKBMLLXDZSTBKLGGQKQLSBKKTFXRMDKBFTPZFRTBBRFERQGXYJPZSSTLBZTPSZQZSJDHLJQLZBPMSMMSXLQQNHKNBLRDDNXXDHDDJCYYGYLXGZLXSYGMQQGKHBPMXYXLYTQWLWGCPBMQXCYZYDRJBHTDJYHQSHTMJSBYPLWHLZFFNYPMHXXHPLTBQPFBJWQDBYGPNZTPFZJGSDDTQSHZEAWZZYLLTYYBWJKXXGHLFKXDJTMSZSQYNZGGSWQSPHTLSSKMCLZXYSZQZXNCJDQGZDLFNYKLJCJLLZLMZZNHYDSSHTHZZLZZBBHQZWWYCRZHLYQQJBEYFXXXWHSRXWQHWPSLMSSKZTTYGYQQWRSLALHMJTQJSMXQBJJZJXZYZKXBYQXBJXSHZTSFJLXMXZXFGHKZSZGGYLCLSARJYHSLLLMZXELGLXYDJYTLFBHBPNLYZFBBHPTGJKWETZHKJJXZXXGLLJLSTGSHJJYQLQZFKCGNNDJSSZFDBCTWWSEQFHQJBSAQTGYPQLBXBMMYWXGSLZHGLZGQYFLZBYFZJFRYSFMBYZHQGFWZSYFYJJPHZBYYZFFWODGRLMFTWLBZGYCQXCDJYGZYYYYTYTYDWEGAZYHXJLZYYHLRMGRXXZCLHNELJJTJTPWJYBJJBXJJTJTEEKHWSLJPLPSFYZPQQBDLQJJTYYQLYZKDKSQJYYQZLDQTGJQYZJSUCMRYQTHTEJMFCTYHYPKMHYZWJDQFHYYXWSHCTXRLJHQXHCCYYYJLTKTTYTMXGTCJTZAYYOCZLYLBSZYWJYTSJYHBYSHFJLYGJXXTMZYYLTXXYPZLXYJZYZYYPNHMYMDYYLBLHLSYYQQLLNJJYMSOYQBZGDLYXYLCQYXTSZEGXHZGLHWBLJHEYXTWQMAKBPQCGYSHHEGQCMWYYWLJYJHYYZLLJJYLHZYHMGSLJLJXCJJYCLYCJPCPZJZJMMYLCQLNQLJQJSXYJMLSZLJQLYCMMHCFMMFPQQMFYLQMCFFQMMMMHMZNFHHJGTTHHKHSLNCHHYQDXTMMQDCYZYXYQMYQYLTDCYYYZAZZCYMZYDLZFFFMMYCQZWZZMABTBYZTDMNZZGGDFTYPCGQYTTSSFFWFDTZQSSYSTWXJHXYTSXXYLBYQHWWKXHZXWZNNZZJZJJQJCCCHYYXBZXZCYZTLLCQXYNJYCYYCYNZZQYYYEWYCZDCJYCCHYJLBTZYYCQWMPWPYMLGKDLDLGKQQBGYCHJXY";
pinyin_dict_firstletter.polyphone = {"19969":"DZ","19975":"WM","19988":"QJ","20048":"YL","20056":"SC","20060":"NM","20094":"QG","20127":"QJ","20167":"QC","20193":"YG","20250":"KH","20256":"ZC","20282":"SC","20285":"QJG","20291":"TD","20314":"YD","20340":"NE","20375":"TD","20389":"YJ","20391":"CZ","20415":"PB","20446":"YS","20447":"SQ","20504":"TC","20608":"KG","20854":"QJ","20857":"ZC","20911":"PF","20504":"TC","20608":"KG","20854":"QJ","20857":"ZC","20911":"PF","20985":"AW","21032":"PB","21048":"XQ","21049":"SC","21089":"YS","21119":"JC","21242":"SB","21273":"SC","21305":"YP","21306":"QO","21330":"ZC","21333":"SDC","21345":"QK","21378":"CA","21397":"SC","21414":"XS","21442":"SC","21477":"JG","21480":"TD","21484":"ZS","21494":"YX","21505":"YX","21512":"HG","21523":"XH","21537":"PB","21542":"PF","21549":"KH","21571":"E","21574":"DA","21588":"TD","21589":"O","21618":"ZC","21621":"KHA","21632":"ZJ","21654":"KG","21679":"LKG","21683":"KH","21710":"A","21719":"YH","21734":"WOE","21769":"A","21780":"WN","21804":"XH","21834":"A","21899":"ZD","21903":"RN","21908":"WO","21939":"ZC","21956":"SA","21964":"YA","21970":"TD","22003":"A","22031":"JG","22040":"XS","22060":"ZC","22066":"ZC","22079":"MH","22129":"XJ","22179":"XA","22237":"NJ","22244":"TD","22280":"JQ","22300":"YH","22313":"XW","22331":"YQ","22343":"YJ","22351":"PH","22395":"DC","22412":"TD","22484":"PB","22500":"PB","22534":"ZD","22549":"DH","22561":"PB","22612":"TD","22771":"KQ","22831":"HB","22841":"JG","22855":"QJ","22865":"XQ","23013":"ML","23081":"WM","23487":"SX","23558":"QJ","23561":"YW","23586":"YW","23614":"YW","23615":"SN","23631":"PB","23646":"ZS","23663":"ZT","23673":"YG","23762":"TD","23769":"ZS","23780":"QJ","23884":"QK","24055":"XH","24113":"DC","24162":"ZC","24191":"GA","24273":"QJ","24324":"NL","24377":"TD","24378":"QJ","24439":"PF","24554":"ZS","24683":"TD","24694":"WE","24733":"LK","24925":"TN","25094":"ZG","25100":"XQ","25103":"XH","25153":"PB","25170":"PB","25179":"KG","25203":"PB","25240":"ZS","25282":"FB","25303":"NA","25324":"KG","25341":"ZY","25373":"WZ","25375":"XJ","25384":"A","25457":"A","25528":"SD","25530":"SC","25552":"TD","25774":"ZC","25874":"ZC","26044":"YW","26080":"WM","26292":"PB","26333":"PB","26355":"ZY","26366":"CZ","26397":"ZC","26399":"QJ","26415":"ZS","26451":"SB","26526":"ZC","26552":"JG","26561":"TD","26588":"JG","26597":"CZ","26629":"ZS","26638":"YL","26646":"XQ","26653":"KG","26657":"XJ","26727":"HG","26894":"ZC","26937":"ZS","26946":"ZC","26999":"KJ","27099":"KJ","27449":"YQ","27481":"XS","27542":"ZS","27663":"ZS","27748":"TS","27784":"SC","27788":"ZD","27795":"TD","27812":"O","27850":"PB","27852":"MB","27895":"SL","27898":"PL","27973":"QJ","27981":"KH","27986":"HX","27994":"XJ","28044":"YC","28065":"WG","28177":"SM","28267":"QJ","28291":"KH","28337":"ZQ","28463":"TL","28548":"DC","28601":"TD","28689":"PB","28805":"JG","28820":"QG","28846":"PB","28952":"TD","28975":"ZC","29100":"A","29325":"QJ","29575":"SL","29602":"FB","30010":"TD","30044":"CX","30058":"PF","30091":"YSP","30111":"YN","30229":"XJ","30427":"SC","30465":"SX","30631":"YQ","30655":"QJ","30684":"QJG","30707":"SD","30729":"XH","30796":"LG","30917":"PB","31074":"NM","31085":"JZ","31109":"SC","31181":"ZC","31192":"MLB","31293":"JQ","31400":"YX","31584":"YJ","31896":"ZN","31909":"ZY","31995":"XJ","32321":"PF","32327":"ZY","32418":"HG","32420":"XQ","32421":"HG","32438":"LG","32473":"GJ","32488":"TD","32521":"QJ","32527":"PB","32562":"ZSQ","32564":"JZ","32735":"ZD","32793":"PB","33071":"PF","33098":"XL","33100":"YA","33152":"PB","33261":"CX","33324":"BP","33333":"TD","33406":"YA","33426":"WM","33432":"PB","33445":"JG","33486":"ZN","33493":"TS","33507":"QJ","33540":"QJ","33544":"ZC","33564":"XQ","33617":"YT","33632":"QJ","33636":"XH","33637":"YX","33694":"WG","33705":"PF","33728":"YW","33882":"SR","34067":"WM","34074":"YW","34121":"QJ","34255":"ZC","34259":"XL","34425":"JH","34430":"XH","34485":"KH","34503":"YS","34532":"HG","34552":"XS","34558":"YE","34593":"ZL","34660":"YQ","34892":"XH","34928":"SC","34999":"QJ","35048":"PB","35059":"SC","35098":"ZC","35203":"TQ","35265":"JX","35299":"JX","35782":"SZ","35828":"YS","35830":"E","35843":"TD","35895":"YG","35977":"MH","36158":"JG","36228":"QJ","36426":"XQ","36466":"DC","36710":"JC","36711":"ZYG","36767":"PB","36866":"SK","36951":"YW","37034":"YX","37063":"XH","37218":"ZC","37325":"ZC","38063":"PB","38079":"TD","38085":"QY","38107":"DC","38116":"TD","38123":"YD","38224":"HG","38241":"XTC","38271":"ZC","38415":"YE","38426":"KH","38461":"YD","38463":"AE","38466":"PB","38477":"XJ","38518":"YT","38551":"WK","38585":"ZC","38704":"XS","38739":"LJ","38761":"GJ","38808":"SQ","39048":"JG","39049":"XJ","39052":"HG","39076":"CZ","39271":"XT","39534":"TD","39552":"TD","39584":"PB","39647":"SB","39730":"LG","39748":"TPB","40109":"ZQ","40479":"ND","40516":"HG","40536":"HG","40583":"QJ","40765":"YQ","40784":"QJ","40840":"YK","40863":"QJG"};
!function(n){function i(h){if(g[h])return g[h].exports;var u=g[h]={exports:{},id:h,loaded:!1};return n[h].call(u.exports,u,u.exports,i),u.loaded=!0,u.exports}var g={};return i.m=n,i.c=g,i.p="",i(0)}([function(n,i,g){n.exports=g(5)},function(n,i){"use strict";function g(n){if(null===n||void 0===n)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(n)}var h=Object.prototype.hasOwnProperty,u=Object.prototype.propertyIsEnumerable;n.exports=Object.assign||function(n,i){for(var o,t,c=g(n),s=1;s<arguments.length;s++){o=Object(arguments[s]);for(var r in o)h.call(o,r)&&(c[r]=o[r]);if(Object.getOwnPropertySymbols){t=Object.getOwnPropertySymbols(o);for(var e=0;e<t.length;e++)u.call(o,t[e])&&(c[t[e]]=o[t[e]])}}return c}},function(n,i){"use strict";n.exports={"\xe8r":"\u4e8c\u8d30","sh\xed":"\u5341\u65f6\u5b9e\u8680","y\u01d0":"\u4e59\u5df2\u4ee5\u8681\u501a","y\u012b":"\u4e00\u8863\u533b\u4f9d\u4f0a\u63d6\u58f9","ch\u01ceng,\u0101n,h\xe0n":"\u5382","d\u012bng,zh\u0113ng":"\u4e01","q\u012b":"\u4e03\u621a\u6b3a\u6f06\u67d2\u51c4\u5601","b\u01d4,bo":"\u535c","r\xe9n":"\u4eba\u4ec1","r\xf9":"\u5165\u8925","ji\u01d4":"\u4e5d\u4e45\u9152\u7396\u7078\u97ed","\xe9r":"\u513f\u800c","b\u0101":"\u516b\u5df4\u75a4\u53ed\u82ad\u634c\u7b06","j\u01d0,j\u012b":"\u51e0","le,li\u01ceo":"\u4e86","l\xec":"\u529b\u5386\u5389\u7acb\u52b1\u5229\u4f8b\u6817\u7c92\u540f\u6ca5\u8354\u4fd0\u8389\u783e\u96f3\u75e2","d\u0101o":"\u5200","n\u01cei":"\u4e43\u5976","s\u0101n":"\u4e09\u53c1","y\xf2u":"\u53c8\u53f3\u5e7c\u8bf1\u4f51","y\xfa":"\u4e8e\u4f59\u9c7c\u5a31\u6e14\u6986\u611a\u9685\u903e\u8206","sh\xec":"\u58eb\u793a\u4e16\u5e02\u5f0f\u52bf\u4e8b\u4f8d\u9970\u8bd5\u89c6\u67ff\u662f\u9002\u5ba4\u901d\u91ca\u8a93\u62ed\u6043\u55dc","g\u0101n,g\xe0n":"\u5e72","g\u014dng":"\u5de5\u5f13\u516c\u529f\u653b\u5bab\u606d\u8eac","ku\u012b":"\u4e8f\u76d4\u7aa5","t\u01d4":"\u571f","c\xf9n":"\u5bf8","d\xe0,d\xe0i,t\xe0i":"\u5927","c\xe1i":"\u624d\u6750\u8d22\u88c1","xi\xe0":"\u4e0b\u590f","zh\xe0ng":"\u4e08\u4ed7\u5e10\u80c0\u969c\u6756\u8d26","y\u01d4,y\xf9,y\xfa":"\u4e0e","sh\xe0ng,sh\u01ceng":"\u4e0a","w\xe0n,m\xf2":"\u4e07","k\u01d2u":"\u53e3","xi\u01ceo":"\u5c0f\u6653","j\u012bn":"\u5dfe\u65a4\u4eca\u91d1\u6d25\u7b4b\u895f","sh\u0101n":"\u5c71\u5220\u886b\u73ca","qi\u0101n":"\u5343\u8fc1\u7275\u8c26\u7b7e","q\u01d0":"\u4e5e\u4f01\u542f\u8d77","chu\u0101n":"\u5ddd\u7a7f","g\xe8,g\u011b":"\u4e2a\u5404","sh\xe1o":"\u52fa\u828d","y\xec":"\u4ebf\u4e49\u827a\u5fc6\u8bae\u4ea6\u5f02\u5f79\u8bd1\u6613\u75ab\u76ca\u8c0a\u610f\u6bc5\u7ffc\u5c79\u6291\u9091\u7ece\u5955\u9038\u8084\u6ea2","j\xed":"\u53ca\u5409\u7ea7\u6781\u5373\u6025\u75be\u96c6\u7c4d\u68d8\u8f91\u5ac9","f\xe1n":"\u51e1\u70e6\u77fe\u6a0a","x\u012b":"\u5915\u897f\u5438\u5e0c\u6790\u727a\u606f\u6089\u60dc\u7a00\u9521\u6eaa\u7184\u819d\u6614\u6670\u7280\u7199\u5b09\u87cb","w\xe1n":"\u4e38\u5b8c\u73a9\u987d","me,m\xf3,ma,y\u0101o":"\u4e48","gu\u01ceng,\u0101n":"\u5e7f","w\xe1ng,w\xfa":"\u4ea1","m\xe9n":"\u95e8\u4eec","sh\u012b":"\u5c38\u5931\u5e08\u8bd7\u72ee\u65bd\u6e7f\u8671","zh\u012b":"\u4e4b\u652f\u6c41\u829d\u80a2\u8102\u8718","j\u01d0":"\u5df1\u6324\u810a","z\u01d0":"\u5b50\u7d2b\u59ca\u7c7d\u6ed3","w\xe8i":"\u536b\u672a\u4f4d\u5473\u754f\u80c3\u5582\u6170\u8c13\u732c\u851a\u9b4f","y\u011b":"\u4e5f\u51b6\u91ce","n\u01da,r\u01d4":"\u5973","r\xe8n":"\u5203\u8ba4\u97e7\u7eab","f\u0113i":"\u98de\u975e\u5561","x\xed":"\u4e60\u5e2d\u88ad\u5ab3","m\u01ce":"\u9a6c\u7801\u739b","ch\u0101,ch\xe1,ch\u01ce":"\u53c9","f\u0113ng":"\u4e30\u5c01\u75af\u5cf0\u950b\u8702\u67ab","xi\u0101ng":"\u4e61\u9999\u7bb1\u53a2\u6e58\u9576","j\u01d0ng":"\u4e95\u8b66\u9631","w\xe1ng,w\xe0ng":"\u738b","k\u0101i":"\u5f00\u63e9","ti\u0101n":"\u5929\u6dfb","w\xfa":"\u65e0\u5434\u829c\u68a7\u8708","f\u016b,f\xfa":"\u592b","zhu\u0101n":"\u4e13\u7816","yu\xe1n":"\u5143\u56ed\u539f\u5706\u63f4\u7f18\u6e90\u8881\u733f\u8f95","y\xfan":"\u4e91\u5300\u8018","zh\u0101,z\u0101,zh\xe1":"\u624e","m\xf9":"\u6728\u76ee\u7267\u5893\u5e55\u66ae\u6155\u6c90\u52df\u7766\u7a46","w\u01d4":"\u4e94\u5348\u4f0d\u6b66\u4fae\u821e\u6342\u9e49","t\u012bng":"\u5385\u542c","b\xf9,f\u01d2u":"\u4e0d","q\u016b,\u014du":"\u533a","qu\u01cen":"\u72ac","t\xe0i":"\u592a\u6001\u6cf0\u6c70","y\u01d2u":"\u53cb","ch\u0113,j\u016b":"\u8f66","p\u01d0":"\u5339","y\xf3u":"\u5c24\u7531\u90ae\u72b9\u6cb9\u6e38","j\xf9":"\u5de8\u62d2\u5177\u4ff1\u5267\u8ddd\u60e7\u952f\u805a\u70ac","y\xe1":"\u7259\u82bd\u5d16\u869c\u6daf\u8859","b\u01d0":"\u6bd4\u5f7c\u7b14\u9119\u5315\u79d5","ji\u0113":"\u7686\u9636\u63a5\u8857\u79f8","h\xf9":"\u4e92\u6237\u62a4\u6caa","qi\xe8,qi\u0113":"\u5207","w\u01ce,w\xe0":"\u74e6","zh\u01d0":"\u6b62\u65e8\u5740\u7eb8\u6307\u8dbe","t\xfan,zh\u016bn":"\u5c6f","sh\u01ceo,sh\xe0o":"\u5c11","r\xec":"\u65e5","zh\u014dng,zh\xf2ng":"\u4e2d","g\u0101ng":"\u5188\u521a\u7eb2\u7f38\u809b","n\xe8i,n\xe0":"\u5185","b\xe8i":"\u8d1d\u5907\u500d\u8f88\u72c8\u60eb\u7119","shu\u01d0":"\u6c34","ji\xe0n,xi\xe0n":"\u89c1","ni\xfa":"\u725b","sh\u01d2u":"\u624b\u5b88\u9996","m\xe1o":"\u6bdb\u77db\u8305\u951a","q\xec":"\u6c14\u5f03\u6c7d\u5668\u8fc4\u6ce3","sh\u0113ng":"\u5347\u751f\u58f0\u7272\u7b19\u7525","ch\xe1ng,zh\u01ceng":"\u957f","sh\xe9n,sh\xed":"\u4ec0","pi\xe0n,pi\u0101n":"\u7247","p\xfa,p\u016b":"\u4ec6","hu\xe0,hu\u0101":"\u5316","b\xec":"\u5e01\u5fc5\u6bd5\u95ed\u6bd9\u78a7\u853d\u5f0a\u907f\u58c1\u5e87\u84d6\u75f9\u74a7","ch\xf3u,qi\xfa":"\u4ec7","zhu\u01ce,zh\u01ceo":"\u722a","j\u01d0n,j\xecn":"\u4ec5","r\xe9ng":"\u4ecd","f\xf9,f\u01d4":"\u7236","c\xf3ng,z\xf2ng":"\u4ece","f\u01cen":"\u53cd\u8fd4","ji\xe8":"\u4ecb\u6212\u5c4a\u754c\u501f\u8beb","xi\u014dng":"\u51f6\u5144\u80f8\u5308\u6c79","f\u0113n,f\xe8n":"\u5206","f\xe1":"\u4e4f\u4f10\u7f5a\u9600\u7b4f","c\u0101ng":"\u4ed3\u82cd\u8231\u6ca7","yu\xe8":"\u6708\u9605\u60a6\u8dc3\u8d8a\u5cb3\u7ca4","sh\xec,zh\u012b":"\u6c0f","w\xf9":"\u52ff\u52a1\u7269\u8bef\u609f\u96fe\u575e\u6664","qi\xe0n":"\u6b20\u6b49","f\u0113ng,f\u011bng":"\u98ce","d\u0101n":"\u4e39\u803d","w\u016b":"\u4e4c\u6c61\u545c\u5c4b\u5deb\u8bec","f\xe8ng":"\u51e4\u5949","g\u014du,g\xf2u":"\u52fe","w\xe9n":"\u6587\u95fb\u868a","li\xf9,l\xf9":"\u516d","hu\u01d2":"\u706b\u4f19","f\u0101ng":"\u65b9\u82b3","d\u01d2u,d\xf2u":"\u6597","w\xe8i,w\xe9i":"\u4e3a","d\xecng":"\u8ba2\u5b9a\u952d","j\xec":"\u8ba1\u8bb0\u6280\u5fcc\u9645\u5b63\u5242\u8ff9\u65e2\u7ee7\u5bc4\u7ee9\u5993\u8360\u5bc2\u9cab\u5180","x\u012bn":"\u5fc3\u8f9b\u6b23\u65b0\u85aa\u950c","ch\u01d0,ch\u011b":"\u5c3a","y\u01d0n":"\u5f15\u996e\u8693\u763e","ch\u01d2u":"\u4e11","k\u01d2ng":"\u5b54\u6050","du\xec":"\u961f\u5bf9","b\xe0n":"\u529e\u534a\u626e\u4f34\u74e3\u7eca","y\u01d4,y\xfa":"\u4e88","y\u01d4n":"\u5141\u9668","qu\xe0n":"\u529d","sh\u016b":"\u4e66\u53d4\u6b8a\u68b3\u8212\u758f\u8f93\u852c\u6292\u67a2\u6dd1","shu\u0101ng":"\u53cc\u971c","y\xf9":"\u7389\u80b2\u72f1\u6d74\u9884\u57df\u6b32\u9047\u5fa1\u88d5\u6108\u8a89\u828b\u90c1\u55bb\u5bd3\u8c6b","hu\xe0n":"\u5e7b\u6362\u5524\u60a3\u5ba6\u6da3\u7115\u75ea","k\u0101n":"\u520a\u582a\u52d8","m\xf2":"\u672b\u6cab\u6f20\u58a8\u9ed8\u8309\u964c\u5bde","j\u012b":"\u51fb\u9965\u573e\u673a\u808c\u9e21\u79ef\u57fa\u6fc0\u8ba5\u53fd\u5527\u7578\u7b95","d\u01ce,d\xe1":"\u6253","qi\u01ceo":"\u5de7","zh\xe8ng,zh\u0113ng":"\u6b63\u75c7\u6323","p\u016b":"\u6251","b\u0101,p\xe1":"\u6252","g\u0101n":"\u7518\u809d\u7aff\u67d1","q\xf9":"\u53bb","r\u0113ng":"\u6254","g\u01d4":"\u53e4\u8c37\u80a1\u9f13","b\u011bn":"\u672c","ji\xe9,ji\u0113":"\u8282\u7ed3","sh\xf9,sh\xfa,zh\xfa":"\u672f","b\u01d0ng":"\u4e19\u67c4\u997c\u79c9\u7980","k\u011b,k\xe8":"\u53ef","zu\u01d2":"\u5de6","b\xf9":"\u5e03\u6b65\u6016\u90e8\u57e0","sh\xed,d\xe0n":"\u77f3","l\xf3ng":"\u9f99\u804b\u9686\u5499\u80e7\u7abf","y\xe0":"\u8f67\u4e9a\u8bb6","mi\xe8":"\u706d\u8511","p\xedng":"\u5e73\u8bc4\u51ed\u74f6\u840d\u576a","d\u014dng":"\u4e1c\u51ac","k\u01ce,qi\u01ce":"\u5361","b\u011bi,b\xe8i":"\u5317","y\xe8":"\u4e1a\u9875\u591c\u6db2\u8c12\u814b","ji\xf9":"\u65e7\u6551\u5c31\u8205\u81fc\u759a","shu\xe0i":"\u5e05\u87c0","gu\u012b":"\u5f52\u89c4\u95fa\u7845\u7470","zh\xe0n,zh\u0101n":"\u5360","d\xe0n":"\u65e6\u4f46\u8bde\u6de1\u86cb\u6c2e","qi\u011b,j\u016b":"\u4e14","y\xe8,xi\xe9":"\u53f6","ji\u01ce":"\u7532\u94be","d\u012bng":"\u53ee\u76ef","sh\u0113n":"\u7533\u4f38\u8eab\u6df1\u547b\u7ec5","h\xe0o,h\xe1o":"\u53f7","di\xe0n":"\u7535\u5e97\u57ab\u6bbf\u73b7\u6dc0\u60e6\u5960","ti\xe1n":"\u7530\u751c\u606c","sh\u01d0":"\u53f2\u4f7f\u59cb\u9a76\u77e2\u5c4e","zh\u012b,zh\u01d0":"\u53ea","y\u0101ng":"\u592e\u6b83\u79e7\u9e2f","di\u0101o":"\u53fc\u96d5\u5201\u7889","ji\xe0o":"\u53eb\u8f7f\u8f83\u7a96\u9175","l\xecng":"\u53e6","d\u0101o,t\u0101o":"\u53e8","s\xec":"\u56db\u5bfa\u9972\u8086","t\xe0n":"\u53f9\u70ad\u63a2\u78b3","qi\u016b":"\u4e18\u79cb\u86af","h\xe9":"\u79be\u6cb3\u8377\u76d2","f\xf9":"\u4ed8\u8d1f\u5987\u9644\u5490\u8d74\u590d\u5085\u5bcc\u8179\u8986\u8d4b\u7f1a","d\xe0i":"\u4ee3\u5e26\u8d37\u6020\u888b\u902e\u6234","xi\u0101n":"\u4ed9\u5148\u6380\u9528","y\xed":"\u4eea\u5b9c\u59e8\u79fb\u9057\u5937\u80f0","b\xe1i":"\u767d","z\u01cei,z\u01d0,z\u012b":"\u4ed4","ch\xec":"\u65a5\u8d64\u7fc5","t\u0101":"\u4ed6\u5b83\u584c","gu\u0101":"\u74dc\u522e","h\u016b":"\u4e4e\u547c\u5ffd","c\xf3ng":"\u4e1b","l\xecng,l\xedng,l\u01d0ng":"\u4ee4","y\xf2ng":"\u7528","shu\u01cei":"\u7529","y\xecn":"\u5370","l\xe8,yu\xe8":"\u4e50","j\xf9,g\u014du":"\u53e5","c\u014dng":"\u5306\u8471\u806a\u56f1","f\xe0n":"\u72af\u996d\u6cdb\u8303\u8d29","c\xe8":"\u518c\u5395\u6d4b\u7b56","w\xe0i":"\u5916","ch\xf9,ch\u01d4":"\u5904","ni\u01ceo":"\u9e1f","b\u0101o":"\u5305\u80de\u82de\u8912","zh\u01d4":"\u4e3b\u716e\u5631\u62c4","sh\u01cen":"\u95ea\u9655","l\xe1n":"\u5170\u62e6\u680f\u84dd\u7bee\u6f9c","t\xf3u,tou":"\u5934","hu\xec":"\u6c47\u7ed8\u8d3f\u60e0\u6167\u8bb3\u8bf2\u6666\u79fd","h\xe0n":"\u6c49\u65f1\u634d\u608d\u710a\u64bc\u7ff0\u61be","t\u01ceo":"\u8ba8","xu\xe9":"\u7a74\u5b66","xi\u011b":"\u5199","n\xedng,n\xecng,zh\xf9":"\u5b81","r\xe0ng":"\u8ba9","l\u01d0":"\u793c\u674e\u91cc\u7406\u9ca4","x\xf9n":"\u8bad\u8baf\u8fc5\u6c5b\u9a6f\u900a\u6b89","y\u01d2ng":"\u6c38\u548f\u6cf3\u52c7\u86f9\u8e0a","m\xedn":"\u6c11","ch\u016b":"\u51fa\u521d","n\xed":"\u5c3c","s\u012b":"\u53f8\u4e1d\u79c1\u65af\u6495\u5636","li\xe1o":"\u8fbd\u7597\u50da\u804a\u5be5\u5639\u7f2d","ji\u0101":"\u52a0\u4f73\u5609\u67b7","n\xfa":"\u5974","zh\xe0o,sh\xe0o":"\u53ec","bi\u0101n":"\u8fb9\u7f16\u97ad\u8759","p\xed":"\u76ae\u75b2\u813e\u5564","y\xf9n":"\u5b55\u8fd0\u97f5\u915d\u8574","f\u0101,f\xe0":"\u53d1","sh\xe8ng":"\u5723\u80dc\u5269","t\xe1i,t\u0101i":"\u53f0\u82d4","ji\u016b":"\u7ea0\u7a76\u63ea\u9e20","m\u01d4":"\u6bcd\u4ea9\u7261\u62c7\u59c6","k\xe1ng,g\u0101ng":"\u625b","x\xedng":"\u5211\u5f62\u578b\u90a2","d\xf2ng":"\u52a8\u51bb\u680b\u6d1e","k\u01ceo":"\u8003\u70e4\u62f7","k\xf2u":"\u6263\u5bc7","tu\u014d":"\u6258\u62d6\u8131","l\u01ceo":"\u8001","g\u01d2ng":"\u5de9\u6c5e\u62f1","zh\xed":"\u6267\u76f4\u4f84\u503c\u804c\u690d","ku\xf2":"\u6269\u9614\u5ed3","y\xe1ng":"\u626c\u9633\u6768\u6d0b","d\xec,de":"\u5730","s\u01ceo,s\xe0o":"\u626b","ch\u01ceng,ch\xe1ng":"\u573a","\u011br":"\u8033\u5c14\u9975","m\xe1ng":"\u8292\u5fd9\u76f2\u832b","xi\u01d4":"\u673d","p\u01d4,p\xf2,p\u014d,pi\xe1o":"\u6734","qu\xe1n":"\u6743\u5168\u6cc9\u62f3\u75ca","gu\xf2,guo,gu\u014d":"\u8fc7","ch\xe9n":"\u81e3\u5c18\u8fb0\u6c89\u9648\u6668\u5ff1","z\xe0i":"\u518d\u5728","xi\xe9":"\u534f\u80c1\u659c\u643a\u978b\u8c10","y\u0101,y\xe0":"\u538b","y\xe0n":"\u538c\u8273\u5bb4\u9a8c\u96c1\u7130\u781a\u5501\u8c1a\u5830","y\u01d2u,y\xf2u":"\u6709","c\xfan":"\u5b58","b\u01cei":"\u767e\u6446","ku\u0101,ku\xe0":"\u5938","ji\xe0ng":"\u5320\u9171","du\xf3":"\u593a\u8e31","hu\u012b":"\u7070\u6325\u6062\u8f89\u5fbd","d\xe1":"\u8fbe","s\u01d0":"\u6b7b","li\xe8":"\u5217\u52a3\u70c8\u730e","gu\u01d0":"\u8f68\u9b3c\u8be1","xi\xe9,y\xe1,y\xe9,y\xfa,x\xfa":"\u90aa","ji\xe1,ji\u0101,g\u0101,xi\xe1":"\u5939","ch\xe9ng":"\u6210\u5448\u8bda\u627f\u57ce\u7a0b\u60e9\u6a59","m\xe0i":"\u8fc8\u9ea6\u5356","hu\xe0,hu\xe1":"\u5212","zh\xec":"\u81f3\u5fd7\u5e1c\u5236\u8d28\u6cbb\u81f4\u79e9\u667a\u7f6e\u631a\u63b7\u7a92\u6ede\u7a1a","c\u01d0":"\u6b64","zh\u0113n":"\u8d1e\u9488\u4fa6\u73cd\u771f\u659f\u699b","ji\u0101n":"\u5c16\u5978\u6b7c\u575a\u80a9\u8270\u517c\u714e","gu\u0101ng":"\u5149","d\u0101ng,d\xe0ng":"\u5f53","z\u01ceo":"\u65e9\u67a3\u6fa1\u86a4\u85fb","t\xf9,t\u01d4":"\u5410","xi\xe0,h\xe8":"\u5413","ch\xf3ng":"\u866b\u5d07","tu\xe1n":"\u56e2","t\xf3ng,t\xf2ng":"\u540c","q\u016b,q\u01d4":"\u66f2","di\xe0o":"\u540a\u9493\u6389","y\u012bn":"\u56e0\u9634\u97f3\u59fb\u8335","ch\u012b":"\u5403\u55e4\u75f4","ma,m\xe1,m\u01ce":"\u5417","y\u01d4":"\u5c7f\u5b87\u7fbd","f\u0101n":"\u5e06\u7ffb","hu\xed":"\u56de\u8334\u86d4","q\u01d0,k\u01cei":"\u5c82","z\xe9":"\u5219\u8d23","su\xec":"\u5c81\u788e\u7a57\u795f\u9042\u96a7","r\xf2u":"\u8089","zh\u016b,sh\xfa":"\u6731","w\u01ceng":"\u7f51\u5f80\u6789","ni\xe1n":"\u5e74","di\u016b":"\u4e22","sh\xe9":"\u820c","zh\xfa":"\u7af9\u9010\u70db","qi\xe1o":"\u4e54\u4fa8\u6865\u77a7\u835e\u6194","w\u011bi":"\u4f1f\u4f2a\u82c7\u7eac\u840e","chu\xe1n,zhu\xe0n":"\u4f20","p\u0101ng":"\u4e53","p\u012bng":"\u4e52","xi\u016b,x\u01d4":"\u4f11","f\xfa":"\u4f0f\u6276\u4fd8\u6d6e\u7b26\u5e45\u798f\u51eb\u8299\u88b1\u8f90\u8760","y\u014du":"\u4f18\u5fe7\u60a0\u5e7d","y\xe1n":"\u5ef6\u4e25\u8a00\u5ca9\u708e\u6cbf\u76d0\u989c\u960e\u8712\u6a90","ji\xe0n":"\u4ef6\u5efa\u8350\u8d31\u5251\u5065\u8230\u8df5\u9274\u952e\u7bad\u6da7","r\xe8n,r\xe9n":"\u4efb","hu\xe1,hu\xe0,hu\u0101":"\u534e","ji\xe0,ji\xe8,jie":"\u4ef7","sh\u0101ng":"\u4f24\u5546","f\xe8n,b\u012bn":"\u4efd","f\u01ceng":"\u4eff\u8bbf\u7eba","y\u01ceng,\xe1ng":"\u4ef0","z\xec":"\u81ea\u5b57","xi\u011b,xu\xe8":"\u8840","xi\xe0ng":"\u5411\u9879\u8c61\u50cf\u6a61","s\xec,sh\xec":"\u4f3c","h\xf2u":"\u540e\u539a\u5019","zh\u014du":"\u821f\u5dde\u5468\u6d32","h\xe1ng,x\xedng":"\u884c","hu\xec,ku\xe0i":"\u4f1a","sh\u0101":"\u6740\u7eb1\u6749\u7802","h\xe9,g\u011b":"\u5408","zh\xe0o":"\u5146\u8d75\u7167\u7f69","zh\xf2ng":"\u4f17\u4ef2","y\xe9":"\u7237","s\u01cen":"\u4f1e","chu\xe0ng,chu\u0101ng":"\u521b","du\u01d2":"\u6735\u8eb2","w\u0113i":"\u5371\u5a01\u5fae\u504e\u8587\u5dcd","x\xfan":"\u65ec\u5bfb\u5de1\u8be2\u5faa","z\xe1":"\u6742\u7838","m\xedng":"\u540d\u660e\u9e23\u94ed\u879f","du\u014d":"\u591a\u54c6","zh\u0113ng":"\u4e89\u5f81\u7741\u7b5d\u84b8\u6014\u72f0","s\xe8":"\u8272\u6da9\u745f","zhu\xe0ng":"\u58ee\u72b6\u649e","ch\u014dng,ch\xf2ng":"\u51b2","b\u012bng":"\u51b0\u5175","zhu\u0101ng":"\u5e84\u88c5\u5986\u6869","q\xecng":"\u5e86","li\xfa":"\u5218\u7559\u6d41\u69b4\u7409\u786b\u7624","q\xed,j\xec,z\u012b,zh\u0101i":"\u9f50","c\xec":"\u6b21\u8d50","ji\u0101o":"\u4ea4\u90ca\u6d47\u5a07\u9a84\u80f6\u6912\u7126\u8549\u7901","ch\u01cen":"\u4ea7\u94f2\u9610","w\xe0ng":"\u5984\u5fd8\u65fa\u671b","ch\u014dng":"\u5145","w\xe8n":"\u95ee","chu\u01ceng":"\u95ef","y\xe1ng,xi\xe1ng":"\u7f8a","b\xecng,b\u012bng":"\u5e76","d\u0113ng":"\u706f\u767b\u8e6c","m\u01d0":"\u7c73","gu\u0101n":"\u5173\u5b98\u68fa","h\xe0n,h\xe1n":"\u6c57","ju\xe9":"\u51b3\u7edd\u6398\u8bc0\u7235","ji\u0101ng":"\u6c5f\u59dc\u50f5\u7f30","t\u0101ng,sh\u0101ng":"\u6c64","ch\xed":"\u6c60\u9a70\u8fdf\u6301\u5f1b","x\u012bng,x\xecng":"\u5174","zh\xe1i":"\u5b85","\u0101n":"\u5b89\u6c28\u5eb5\u978d","ji\u01ceng":"\u8bb2\u5956\u6868\u848b","j\u016bn":"\u519b\u5747\u541b\u94a7","x\u01d4,h\u01d4":"\u8bb8","f\u011bng":"\u8bbd","l\xf9n,l\xfan":"\u8bba","n\xf3ng":"\u519c\u6d53\u8113","sh\xe8":"\u8bbe\u793e\u820d\u6d89\u8d66","n\xe0,n\u01ce,n\xe8i,n\u0101":"\u90a3","j\xecn,j\u01d0n":"\u5c3d","d\u01ceo":"\u5bfc\u5c9b\u8e48\u6363\u7977","s\u016bn,x\xf9n":"\u5b59","zh\xe8n":"\u9635\u632f\u9707\u9547","sh\u014du":"\u6536","f\xe1ng":"\u9632\u59a8\u623f\u80aa","r\xfa":"\u5982\u5112\u8815","m\u0101":"\u5988","x\xec,h\u016b":"\u620f","h\u01ceo,h\xe0o":"\u597d","t\u0101,ji\u011b":"\u5979","gu\u0101n,gu\xe0n":"\u89c2\u51a0","hu\u0101n":"\u6b22","h\xf3ng,g\u014dng":"\u7ea2","m\u01cei":"\u4e70","xi\u0101n,qi\xe0n":"\u7ea4","j\xec,j\u01d0":"\u7eaa\u6d4e","yu\u0113,y\u0101o":"\u7ea6","sh\xf2u":"\u5bff\u53d7\u6388\u552e\u517d\u7626","n\xf2ng,l\xf2ng":"\u5f04","j\xecn":"\u8fdb\u8fd1\u664b\u6d78","w\xe9i":"\u8fdd\u56f4\u552f\u7ef4\u6845","yu\u01cen,yu\xe0n":"\u8fdc","t\u016bn":"\u541e","t\xe1n":"\u575b\u8c08\u75f0\u6619\u8c2d\u6f6d\u6a80","f\u01d4":"\u629a\u65a7\u5e9c\u4fef\u8f85\u8150\u752b\u812f","hu\xe0i,p\u0113i,p\u012b,p\xe9i":"\u574f","r\u01ceo":"\u6270","p\u012b":"\u6279\u62ab\u576f\u9739","zh\u01ceo":"\u627e\u6cbc","ch\u011b":"\u626f","z\u01d2u":"\u8d70","ch\u0101o":"\u6284\u949e\u8d85","b\xe0":"\u575d\u7238\u9738","g\xf2ng":"\u8d21","zh\xe9,sh\xe9,zh\u0113":"\u6298","qi\u01ceng,qi\u0101ng,ch\u0113ng":"\u62a2","zhu\u0101":"\u6293","xi\xe0o":"\u5b5d\u7b11\u6548\u54ee\u5578","p\u0101o":"\u629b","t\xf3u":"\u6295","k\xe0ng":"\u6297\u7095","f\xe9n":"\u575f\u711a","k\u0113ng":"\u5751","d\u01d2u":"\u6296\u9661\u86aa","k\xe9,qi\xe0o":"\u58f3","f\u0101ng,f\xe1ng":"\u574a","ni\u01d4":"\u626d\u7ebd\u94ae","ku\xe0i":"\u5757\u5feb\u7b77","b\u01ce,b\xe0":"\u628a","b\xe0o":"\u62a5\u62b1\u7206\u8c79","ji\xe9":"\u52ab\u6770\u6d01\u6377\u622a\u7aed","qu\xe8":"\u5374\u786e\u9e4a","hu\u0101":"\u82b1","f\u0113n":"\u82ac\u5429\u7eb7\u6c1b","q\xedn":"\u82b9\u7434\u79bd\u52e4\u79e6\u64d2","l\xe1o":"\u52b3\u7262","l\xfa":"\u82a6\u7089\u5362\u5e90\u9885","g\u0101n,g\u01cen":"\u6746","k\xe8":"\u514b\u523b\u5ba2\u8bfe","s\u016b,s\xf9":"\u82cf","d\xf9":"\u675c\u6e21\u5992\u9540","g\xe0ng,g\u0101ng":"\u6760","c\u016bn":"\u6751","qi\xfa":"\u6c42\u7403\u56da","x\xecng":"\u674f\u5e78\u6027\u59d3","g\xe8ng,g\u0113ng":"\u66f4","li\u01ceng":"\u4e24","l\xec,l\xed":"\u4e3d","sh\xf9":"\u675f\u8ff0\u6811\u7ad6\u6055\u5eb6\u5885\u6f31","d\xf2u":"\u8c46\u9017\u75d8","h\xe1i,hu\xe1n":"\u8fd8","f\u01d2u,p\u01d0":"\u5426","l\xe1i":"\u6765\u83b1","li\xe1n":"\u8fde\u601c\u5e18\u83b2\u8054\u5ec9\u9570","xi\xe0n,xu\xe1n":"\u53bf","zh\xf9,ch\xfa":"\u52a9","d\u0101i":"\u5446","ku\xe0ng":"\u65f7\u51b5\u77ff\u6846\u7736","ya,y\u0101":"\u5440","z\xfa":"\u8db3\u65cf","d\u016bn":"\u5428\u8e72\u58a9","k\xf9n":"\u56f0","n\xe1n":"\u7537","ch\u01ceo,ch\u0101o":"\u5435","yu\xe1n,y\xfan,y\xf9n":"\u5458","chu\xe0n":"\u4e32","chu\u012b":"\u5439\u708a","ba,b\u0101":"\u5427","h\u01d2u":"\u543c","g\u01ceng":"\u5c97","bi\xe9,bi\xe8":"\u522b","d\u012bng,d\xecng":"\u9489","g\xe0o":"\u544a","w\u01d2":"\u6211","lu\xe0n":"\u4e71","t\u016b":"\u79c3\u7a81\u51f8","xi\xf9":"\u79c0\u8896\u7ee3\u9508\u55c5","g\u016b,g\xf9":"\u4f30","m\u011bi":"\u6bcf\u7f8e","h\xe9,h\u0113,h\xe8":"\u4f55","t\u01d0,t\u012b,b\xe8n":"\u4f53","b\xf3,b\u01cei,b\xe0":"\u4f2f","zu\xf2":"\u4f5c\u5750\u5ea7\u505a","l\xedng":"\u4f36\u7075\u94c3\u9675\u96f6\u9f84\u73b2\u51cc\u83f1\u86c9\u7fce","d\u012b":"\u4f4e\u5824\u6ef4","y\xf2ng,y\u014dng":"\u4f63","n\u01d0":"\u4f60\u62df","zh\xf9":"\u4f4f\u6ce8\u9a7b\u67f1\u795d\u94f8\u8d2e\u86c0","z\xe0o":"\u7682\u7076\u9020\u71e5\u8e81\u566a","f\xf3,f\xfa,b\xec,b\xf3":"\u4f5b","ch\xe8":"\u5f7b\u64a4\u6f88","tu\u01d2":"\u59a5\u692d","l\xedn":"\u90bb\u6797\u4e34\u7433\u78f7\u9cde","h\xe1n":"\u542b\u5bd2\u51fd\u6db5\u97e9","ch\xe0":"\u5c94\u8869","ch\xe1ng":"\u80a0\u5c1d\u5e38\u507f","d\xf9,d\u01d4":"\u809a","gu\u012b,j\u016bn,qi\u016b":"\u9f9f","mi\u01cen":"\u514d\u52c9\u5a29\u5195\u7f05","ji\u01ceo,ju\xe9":"\u89d2","ku\xe1ng":"\u72c2","ti\xe1o,ti\u0101o":"\u6761","lu\u01cen":"\u5375","y\xedng":"\u8fce\u76c8\u8425\u8747\u8d62\u8367\u83b9\u8424","x\xec,j\xec":"\u7cfb","chu\xe1ng":"\u5e8a","k\xf9":"\u5e93\u88e4\u9177","y\xecng,y\u012bng":"\u5e94","l\u011bng":"\u51b7","zh\xe8,zh\xe8i":"\u8fd9","x\xf9":"\u5e8f\u53d9\u7eea\u7eed\u7d6e\u84c4\u65ed\u6064\u9157\u5a7f","xi\xe1n":"\u95f2\u8d24\u5f26\u54b8\u8854\u5acc\u6d8e\u8237","ji\u0101n,ji\xe0n":"\u95f4\u76d1","p\xe0n":"\u5224\u76fc\u53db\u7554","m\u0113n,m\xe8n":"\u95f7","w\u0101ng":"\u6c6a","d\xec,t\xec,tu\xed":"\u5f1f","sh\u0101,sh\xe0":"\u6c99","sh\xe0,sh\u0101":"\u715e","c\xe0n":"\u707f","w\xf2":"\u6c83\u5367\u63e1","m\xe9i,m\xf2":"\u6ca1","g\u014du":"\u6c9f\u94a9","sh\u011bn,ch\xe9n":"\u6c88","hu\xe1i":"\u6000\u69d0\u5f8a\u6dee","s\xf2ng":"\u5b8b\u9001\u8bf5\u9882\u8bbc","h\xf3ng":"\u5b8f\u8679\u6d2a\u9e3f","qi\xf3ng":"\u7a77\u743c","z\u0101i":"\u707e\u683d","li\xe1ng":"\u826f\u6881\u7cae\u7cb1","zh\xe8ng":"\u8bc1\u90d1\u653f","b\u01d4":"\u8865\u6355\u54fa","s\xf9":"\u8bc9\u8083\u7d20\u901f\u5851\u7c9f\u6eaf","sh\xed,zh\xec":"\u8bc6","c\xed":"\u8bcd\u8f9e\u6148\u78c1\u7960\u74f7\u96cc","zh\u011bn":"\u8bca\u6795\u75b9","ni\xe0o,su\u012b":"\u5c3f","c\xe9ng":"\u5c42","j\xfa":"\u5c40\u83ca\u6a58","w\u011bi,y\u01d0":"\u5c3e","zh\u0101ng":"\u5f20\u7ae0\u5f70\u6a1f","g\u01cei":"\u6539","l\xf9":"\u9646\u5f55\u9e7f\u8def\u8d42","\u0113,\u0101":"\u963f","z\u01d4":"\u963b\u7ec4\u7956\u8bc5","mi\xe0o":"\u5999\u5e99","y\u0101o":"\u5996\u8170\u9080\u592d\u5406","n\u01d4":"\u52aa","j\xecn,j\xecng":"\u52b2","r\u011bn":"\u5fcd","q\u016b":"\u9a71\u5c48\u5c96\u86c6\u8eaf","ch\xfan":"\u7eaf\u5507\u9187","n\xe0":"\u7eb3\u94a0\u637a","b\xf3":"\u9a73\u8116\u535a\u640f\u818a\u8236\u6e24","z\xf2ng,z\u01d2ng":"\u7eb5","w\xe9n,w\xe8n":"\u7eb9","l\u01d8":"\u9a74","hu\xe1n":"\u73af","q\u012bng":"\u9752\u8f7b\u503e\u6e05\u873b\u6c22\u537f","xi\xe0n":"\u73b0\u9650\u7ebf\u5baa\u9677\u9985\u7fa1\u732e\u817a","bi\u01ceo":"\u8868","m\u01d2,m\xf2,m\u0101":"\u62b9","l\u01d2ng":"\u62e2\u5784","d\u0101n,d\xe0n,d\u01cen":"\u62c5","b\xe1":"\u62d4\u8dcb","ji\u01cen":"\u62e3\u8327\u4fed\u6361\u68c0\u51cf\u526a\u7b80\u67ec\u78b1","t\u01cen":"\u5766\u6bef\u8892","ch\u014du":"\u62bd","y\u0101":"\u62bc\u9e26\u9e2d","gu\u01cei":"\u62d0","p\u0101i":"\u62cd","zh\u011b":"\u8005","d\u01d0ng":"\u9876\u9f0e","y\u014dng":"\u62e5\u5eb8","ch\u0101i,c\u0101":"\u62c6","d\u01d0":"\u62b5","j\u016b,g\u014du":"\u62d8","l\u0101":"\u5783","l\u0101,l\xe1":"\u62c9","b\xe0n,p\xe0n":"\u62cc","zh\u0101o":"\u62db\u662d","p\u014d":"\u5761\u6cfc\u9887","b\u014d":"\u62e8\u6ce2\u73bb\u83e0\u64ad","z\xe9,zh\xe1i":"\u62e9","t\xe1i":"\u62ac","q\xed,j\u012b":"\u5176\u5947","q\u01d4":"\u53d6\u5a36","k\u01d4":"\u82e6","m\xe0o":"\u8302\u8d38\u5e3d\u8c8c","ru\xf2,r\u011b":"\u82e5","mi\xe1o":"\u82d7\u63cf\u7784","p\xedng,p\u0113ng":"\u82f9","y\u012bng":"\u82f1\u6a31\u9e70\u83ba\u5a74\u7f28\u9e66","qi\xe9":"\u8304","j\u012bng":"\u830e\u4eac\u7ecf\u60ca\u6676\u775b\u7cbe\u8346\u5162\u9cb8","zh\u012b,q\xed":"\u679d","b\u0113i":"\u676f\u60b2\u7891\u5351","gu\xec,j\u01d4":"\u67dc","b\u01cen":"\u677f\u7248","s\u014dng":"\u677e","qi\u0101ng":"\u67aa\u8154","g\xf2u":"\u6784\u8d2d\u591f\u57a2","s\xe0ng,s\u0101ng":"\u4e27","hu\xe0":"\u753b\u8bdd\u6866","hu\xf2":"\u6216\u8d27\u83b7\u7978\u60d1\u970d","c\xec,c\u012b":"\u523a","y\u01d4,y\xf9":"\u96e8\u8bed","b\u0113n,b\xe8n":"\u5954","f\xe8n":"\u594b\u7caa\u6124\u5fff","h\u014dng":"\u8f70\u70d8","q\u012b,q\xec":"\u59bb","\u014du":"\u6b27\u6bb4\u9e25","q\u01d0ng":"\u9877\u8bf7","zhu\u01cen,zhu\xe0n,zhu\u01cei":"\u8f6c","zh\u01cen":"\u65a9\u76cf\u5c55","ru\u01cen":"\u8f6f","l\xfan":"\u8f6e\u4ed1\u4f26\u6ca6","d\xe0o":"\u5230\u76d7\u60bc\u9053\u7a3b","ch\u01d0":"\u9f7f\u803b\u4f88","k\u011bn":"\u80af\u57a6\u6073\u5543","h\u01d4":"\u864e","xi\u0113,su\xf2":"\u4e9b","l\u01d4":"\u864f\u9c81\u5364","sh\xe8n":"\u80be\u6e17\u614e","sh\xe0ng":"\u5c1a","gu\u01d2":"\u679c\u88f9","k\u016bn":"\u6606\u5764","gu\xf3":"\u56fd","ch\u0101ng":"\u660c\u7316","ch\xe0ng":"\u7545\u5531","di\u01cen":"\u5178\u70b9\u7898","g\xf9":"\u56fa\u6545\u987e\u96c7","\xe1ng":"\u6602","zh\u014dng":"\u5fe0\u7ec8\u949f\u76c5\u8877","ne,n\xed":"\u5462","\xe0n":"\u5cb8\u6309\u6848\u6697","ti\u011b,ti\u0113,ti\xe8,":"\u5e16","lu\xf3":"\u7f57\u841d\u9523\u7ba9\u9aa1\u87ba\u903b","k\u01cei":"\u51ef\u6168","l\u01d0ng,l\xedng":"\u5cad","b\xe0i":"\u8d25\u62dc","t\xfa":"\u56fe\u5f92\u9014\u6d82\u5c60","chu\xed":"\u5782\u9524\u6376","zh\u012b,zh\xec":"\u77e5\u7ec7","gu\u0101i":"\u4e56","g\u01cen":"\u79c6\u8d76\u6562\u611f\u6a44","h\xe9,h\xe8,hu\xf3,hu\xf2,h\xfa":"\u548c","g\xf2ng,g\u014dng":"\u4f9b\u5171","w\u011bi,w\u0113i":"\u59d4","c\xe8,z\xe8,zh\u0101i":"\u4fa7","p\xe8i":"\u4f69\u914d\u6c9b","p\xf2,p\u01cei":"\u8feb","de,d\xec,d\xed":"\u7684","p\xe1":"\u722c","su\u01d2":"\u6240\u7d22\u9501\u7410","j\xecng":"\u5f84\u7ade\u7adf\u656c\u9759\u5883\u955c\u9756","m\xecng":"\u547d","c\u01cei,c\xe0i":"\u91c7","ni\xe0n":"\u5ff5","t\u0101n":"\u8d2a\u644a\u6ee9\u762b","r\u01d4":"\u4e73\u8fb1","p\xedn":"\u8d2b","f\u016b":"\u80a4\u9eb8\u5b75\u6577","f\xe8i":"\u80ba\u5e9f\u6cb8\u8d39\u5420","zh\u01d2ng":"\u80bf","p\xe9ng":"\u670b\u68da\u84ec\u81a8\u787c\u9e4f\u6f8e\u7bf7","f\xfa,f\xf9":"\u670d","f\xe9i":"\u80a5","h\u016bn":"\u660f\u5a5a\u8364","t\xf9":"\u5154","h\xfa":"\u72d0\u80e1\u58f6\u6e56\u8774\u5f27\u846b","g\u01d2u":"\u72d7\u82df","b\u01ceo":"\u9971\u5b9d\u4fdd","xi\u01ceng":"\u4eab\u54cd\u60f3","bi\xe0n":"\u53d8\u904d\u8fa8\u8fa9\u8fab","d\u01d0,de":"\u5e95","j\xecng,ch\u0113ng":"\u51c0","f\xe0ng":"\u653e","n\xe0o":"\u95f9","zh\xe1":"\u95f8\u94e1","ju\xe0n,ju\u01cen":"\u5377","qu\xe0n,xu\xe0n":"\u5238","d\u0101n,sh\xe0n,ch\xe1n":"\u5355","ch\u01ceo":"\u7092","qi\u01cen,ji\u0101n":"\u6d45","f\u01ce":"\u6cd5","xi\xe8,y\xec":"\u6cc4","l\xe8i":"\u6cea\u7c7b","zh\u0101n":"\u6cbe\u7c98\u6be1\u77bb","p\u014d,b\xf3":"\u6cca","p\xe0o,p\u0101o":"\u6ce1","xi\xe8":"\u6cfb\u5378\u5c51\u68b0\u8c22\u61c8\u87f9","n\xed,n\xec":"\u6ce5","z\xe9,sh\xec":"\u6cfd","p\xe0":"\u6015\u5e15","gu\xe0i":"\u602a","z\u014dng":"\u5b97\u68d5\u8e2a","sh\u011bn":"\u5ba1\u5a76","zh\xf2u":"\u5b99\u663c\u76b1\u9aa4\u5492","k\u014dng,k\xf2ng,k\u01d2ng":"\u7a7a","l\xe1ng,l\xe0ng":"\u90ce","ch\xe8n":"\u886c\u8d81","g\u0101i":"\u8be5","xi\xe1ng,y\xe1ng":"\u8be6","l\xec,d\xe0i":"\u96b6","j\u016b":"\u5c45\u97a0\u9a79","shu\u0101,shu\xe0":"\u5237","m\xe8ng":"\u5b5f\u68a6","g\u016b":"\u5b64\u59d1\u8f9c\u5495\u6cbd\u83c7\u7b8d","ji\xe0ng,xi\xe1ng":"\u964d","m\xe8i":"\u59b9\u6627\u5a9a","ji\u011b":"\u59d0","ji\xe0":"\u9a7e\u67b6\u5ac1\u7a3c","c\u0101n,sh\u0113n,c\u0113n,s\u0101n":"\u53c2","li\xe0n":"\u7ec3\u70bc\u604b\u94fe","x\xec":"\u7ec6\u9699","sh\xe0o":"\u7ecd\u54e8","tu\xf3":"\u9a7c\u9a6e\u9e35","gu\xe0n":"\u8d2f\u60ef\u704c\u7f50","z\xf2u":"\u594f\u63cd","ch\u016bn":"\u6625\u693f","b\u0101ng":"\u5e2e\u90a6\u6886","d\xfa,d\xe0i":"\u6bd2","gu\xe0":"\u6302\u5366\u8902","ku\u01ce":"\u57ae","ku\xe0,k\u016b":"\u630e","n\xe1o":"\u6320","d\u01ceng,d\xe0ng":"\u6321","shu\u0101n":"\u62f4\u6813","t\u01d0ng":"\u633a\u8247","ku\xf2,gu\u0101":"\u62ec","sh\xed,sh\xe8":"\u62fe","ti\u0101o,ti\u01ceo":"\u6311","w\u0101":"\u6316\u86d9\u6d3c","p\u012bn":"\u62fc","sh\xe8n,sh\xe9n":"\u751a","m\u01d2u":"\u67d0","nu\xf3":"\u632a","g\xe9":"\u9769\u9601\u683c\u9694","xi\xe0ng,h\xe0ng":"\u5df7","c\u01ceo":"\u8349","ch\xe1":"\u8336\u5bdf\u832c","d\xe0ng":"\u8361\u6863","hu\u0101ng":"\u8352\u614c","r\xf3ng":"\u8363\u7ed2\u5bb9\u7194\u878d\u8338\u84c9\u6eb6\u6995","n\xe1n,n\u0101":"\u5357","bi\u0101o":"\u6807\u5f6a\u8198","y\xe0o":"\u836f\u8000","k\u016b":"\u67af\u54ed\u7a9f","xi\u0101ng,xi\xe0ng":"\u76f8","ch\xe1,zh\u0101":"\u67e5","li\u01d4":"\u67f3","b\u01cei,b\xf3,b\xf2":"\u67cf","y\xe0o,y\u0101o":"\u8981","w\u0101i":"\u6b6a","y\xe1n,y\xe0n":"\u7814","l\xed":"\u5398\u72f8\u79bb\u7281\u68a8\u7483\u9ece\u6f13\u7bf1","q\xec,qi\xe8":"\u780c","mi\xe0n":"\u9762","k\u01cen":"\u780d\u574e","shu\u01ce":"\u800d","n\xe0i":"\u8010\u5948","c\xe1n":"\u6b8b\u8695\u60ed","zh\xe0n":"\u6218\u7ad9\u6808\u7efd\u8638","b\xe8i,b\u0113i":"\u80cc","l\u01cen":"\u89c8\u61d2\u63fd\u7f06\u6984","sh\u011bng,x\u01d0ng":"\u7701","xi\u0101o,xu\u0113":"\u524a","zh\u01ce":"\u7728","h\u01d2ng,h\u014dng,h\xf2ng":"\u54c4","xi\u01cen":"\u663e\u9669","m\xe0o,m\xf2":"\u5192","y\u01ce,y\u0101":"\u54d1","y\xecng":"\u6620\u786c","zu\xf3":"\u6628","x\u012bng":"\u661f\u8165\u7329","p\u0101":"\u8db4","gu\xec":"\u8d35\u6842\u8dea\u523d","s\u012b,s\u0101i":"\u601d","xi\u0101":"\u867e\u778e","m\u01ce,m\u0101,m\xe0":"\u8682","su\u012b":"\u867d","p\u01d0n":"\u54c1","m\xe0":"\u9a82","hu\xe1,hu\u0101":"\u54d7","y\xe8,y\xe0n,y\u0101n":"\u54bd","z\xe1n,z\u01ce":"\u54b1","h\u0101,h\u01ce,h\xe0":"\u54c8","y\u01ceo":"\u54ac\u8200","n\u01ce,n\u011bi,na,n\xe9":"\u54ea","h\u0101i,k\xe9":"\u54b3","xi\xe1":"\u5ce1\u72ed\u971e\u5323\u4fa0\u6687\u8f96","g\u01d4,g\u016b":"\u9aa8","g\u0101ng,g\xe0ng":"\u94a2","ti\u0113":"\u8d34","y\xe0o,yu\xe8":"\u94a5","k\xe0n,k\u0101n":"\u770b","j\u01d4":"\u77e9\u4e3e","z\u011bn":"\u600e","xu\u01cen":"\u9009\u7663","zh\xf2ng,zh\u01d2ng,ch\xf3ng":"\u79cd","mi\u01ceo":"\u79d2\u6e3a\u85d0","k\u0113":"\u79d1\u68f5\u9897\u78d5\u874c","bi\xe0n,pi\xe1n":"\u4fbf","zh\xf2ng,ch\xf3ng":"\u91cd","li\u01ce":"\u4fe9","du\xe0n":"\u6bb5\u65ad\u7f0e\u953b","c\xf9":"\u4fc3\u918b\u7c07","sh\xf9n":"\u987a\u77ac","xi\u016b":"\u4fee\u7f9e","s\xfa":"\u4fd7","q\u012bn":"\u4fb5\u94a6","x\xecn,sh\u0113n":"\u4fe1","hu\xe1ng":"\u7687\u9ec4\u714c\u51f0\u60f6\u8757\u87e5","zhu\u012b,du\u012b":"\u8ffd","j\xf9n":"\u4fca\u5cfb\u9a8f\u7ae3","d\xe0i,d\u0101i":"\u5f85","x\u016b":"\u987b\u865a\u9700","h\u011bn":"\u5f88\u72e0","d\xf9n":"\u76fe\u987f\u949d","l\u01dc":"\u5f8b\u8651\u6ee4\u6c2f","p\xe9n":"\u76c6","sh\xed,s\xec,y\xec":"\u98df","d\u01cen":"\u80c6","t\xe1o":"\u9003\u6843\u9676\u8404\u6dd8","p\xe0ng":"\u80d6","m\xe0i,m\xf2":"\u8109","d\xfa":"\u72ec\u724d","ji\u01ceo":"\u72e1\u997a\u7ede\u811a\u6405","yu\xe0n":"\u6028\u9662\u613f","r\xe1o":"\u9976","w\u0101n":"\u5f2f\u6e7e\u8c4c","\u0101i":"\u54c0\u54ce\u57c3","ji\u0101ng,ji\xe0ng":"\u5c06\u6d46","t\xedng":"\u4ead\u5ead\u505c\u8713\u5ef7","li\xe0ng":"\u4eae\u8c05\u8f86\u667e","d\xf9,du\xf3":"\u5ea6","chu\u0101ng":"\u75ae\u7a97","q\u012bn,q\xecng":"\u4eb2","z\u012b":"\u59ff\u8d44\u6ecb\u54a8","d\xec":"\u5e1d\u9012\u7b2c\u8482\u7f14","ch\xe0,ch\u0101,ch\u0101i,c\u012b":"\u5dee","y\u01ceng":"\u517b\u6c27\u75d2","qi\xe1n":"\u524d\u94b1\u94b3\u6f5c\u9ed4","m\xed":"\u8ff7\u8c1c\u9761","n\xec":"\u9006\u6635\u533f\u817b","zh\xe0,zh\xe1":"\u70b8","z\u01d2ng":"\u603b","l\xe0n":"\u70c2\u6ee5","p\xe0o,p\xe1o,b\u0101o":"\u70ae","t\xec":"\u5243\u60d5\u66ff\u5c49\u6d95","s\u01ce,x\u01d0":"\u6d12","zhu\xf3":"\u6d4a\u5544\u707c\u8301\u5353\u914c","x\u01d0,xi\u01cen":"\u6d17","qi\xe0":"\u6d3d\u6070","p\xe0i":"\u6d3e\u6e43","hu\xf3":"\u6d3b","r\u01cen":"\u67d3","h\xe9ng":"\u6052\u8861","h\xfan":"\u6d51\u9b42","n\u01ceo":"\u607c\u8111","ju\xe9,ji\xe0o":"\u89c9","h\xe8n":"\u6068","xu\u0101n":"\u5ba3\u8f69\u55a7","qi\xe8":"\u7a83\u602f","bi\u01cen,pi\u0101n":"\u6241","\u01ceo":"\u8884","sh\xe9n":"\u795e","shu\u014d,shu\xec,yu\xe8":"\u8bf4","tu\xec":"\u9000\u8715","ch\xfa":"\u9664\u53a8\u9504\u96cf\u6a71","m\xe9i":"\u7709\u6885\u7164\u9709\u73ab\u679a\u5a92\u6963","h\xe1i":"\u5b69","w\xe1":"\u5a03","l\u01ceo,m\u01d4":"\u59e5","n\xf9":"\u6012","h\xe8":"\u8d3a\u8d6b\u8910\u9e64","r\xf3u":"\u67d4\u63c9\u8e42","b\u01ceng":"\u7ed1\u8180","l\u011bi":"\u5792\u857e\u5121","r\xe0o":"\u7ed5","g\u011bi,j\u01d0":"\u7ed9","lu\xf2":"\u9a86\u6d1b","lu\xf2,l\xe0o":"\u7edc","t\u01d2ng":"\u7edf\u6876\u7b52\u6345","g\u0113ng":"\u8015\u7fb9","h\xe0o":"\u8017\u6d69","b\u0101n":"\u73ed\u822c\u6591\u642c\u6273\u9881","zh\u016b":"\u73e0\u682a\u8bf8\u732a\u86db","l\u0101o":"\u635e","f\u011bi":"\u532a\u8bfd","z\u01cei,z\xe0i":"\u8f7d","m\xe1i,m\xe1n":"\u57cb","sh\u0101o,sh\xe0o":"\u634e\u7a0d","zhu\u014d":"\u6349\u684c\u62d9","ni\u0113":"\u634f","k\u01d4n":"\u6346","d\u016b,d\u014du":"\u90fd","s\u01d4n":"\u635f\u7b0b","ju\u0101n":"\u6350\u9e43","zh\xe9":"\u54f2\u8f99","r\xe8":"\u70ed","w\u01cen":"\u633d\u665a\u7897\u60cb\u5a49","\xe1i,\u0101i":"\u6328","m\xf2,m\xf9":"\u83ab","\xe8,w\xf9,\u011b,w\u016b":"\u6076","t\xf3ng":"\u6850\u94dc\u7ae5\u5f64\u77b3","xi\xe0o,ji\xe0o":"\u6821","h\xe9,h\xfa":"\u6838","y\xe0ng":"\u6837\u6f3e","g\u0113n":"\u6839\u8ddf","g\u0113":"\u54e5\u9e3d\u5272\u6b4c\u6208","ch\u01d4":"\u7840\u50a8\u695a","p\xf2":"\u7834\u9b44","t\xe0o":"\u5957","ch\xe1i":"\u67f4\u8c7a","d\u01ceng":"\u515a","mi\xe1n":"\u7720\u7ef5\u68c9","sh\xe0i":"\u6652","j\u01d0n":"\u7d27\u9526\u8c28","y\u016bn,y\xf9n":"\u6655","hu\xe0ng,hu\u01ceng":"\u6643","sh\u01ceng":"\u664c\u8d4f","\u0113n":"\u6069","\xe0i,\u0101i":"\u5509","\u0101,\xe1,\u01ce,\xe0,a":"\u554a",
"b\xe0,ba,p\xed":"\u7f62","z\xe9i":"\u8d3c","ti\u011b":"\u94c1","zu\xe0n,zu\u0101n":"\u94bb","qi\u0101n,y\xe1n":"\u94c5","qu\u0113":"\u7f3a","t\xe8":"\u7279","ch\xe9ng,sh\xe8ng":"\u4e58","d\xed":"\u654c\u7b1b\u6da4\u5600\u5ae1","z\u016b":"\u79df","ch\xe8ng":"\u79e4","m\xec,b\xec":"\u79d8\u6ccc","ch\u0113ng,ch\xe8n,ch\xe8ng":"\u79f0","t\xf2u":"\u900f","zh\xe0i":"\u503a\u5be8","d\xe0o,d\u01ceo":"\u5012","t\u01ceng,ch\xe1ng":"\u5018","ch\xe0ng,ch\u0101ng":"\u5021","ju\xe0n":"\u5026\u7ee2\u7737","ch\xf2u,xi\xf9":"\u81ed","sh\xe8,y\xe8,y\xec":"\u5c04","x\xfa":"\u5f90","h\xe1ng":"\u822a\u676d","n\xe1":"\u62ff","w\u0113ng":"\u7fc1\u55e1","di\u0113":"\u7239\u8dcc","\xe0i":"\u7231\u788d\u827e\u9698","g\u0113,g\xe9":"\u80f3\u6401","cu\xec":"\u8106\u7fe0\u60b4\u7cb9","z\xe0ng":"\u810f\u846c","l\xe1ng":"\u72fc\u5eca\u7405\u6994","f\xe9ng":"\u9022","\xe8":"\u997f\u627c\u904f\u6115\u5669\u9cc4","shu\u0101i,cu\u012b":"\u8870","g\u0101o":"\u9ad8\u7cd5\u7f94\u7bd9","zh\u01d4n":"\u51c6","b\xecng":"\u75c5","t\xe9ng":"\u75bc\u817e\u8a8a\u85e4","li\xe1ng,li\xe0ng":"\u51c9\u91cf","t\xe1ng":"\u5510\u5802\u5858\u819b\u7cd6\u68e0\u642a","p\u014du":"\u5256","ch\xf9,x\xf9":"\u755c","p\xe1ng,b\xe0ng":"\u65c1\u78c5","l\u01da":"\u65c5\u5c61\u5415\u4fa3\u94dd\u7f15\u5c65","f\u011bn":"\u7c89","li\xe0o":"\u6599\u9563","sh\u0101o":"\u70e7","y\u0101n":"\u70df\u6df9","t\u0101o":"\u6d9b\u638f\u6ed4","l\xe0o":"\u6d9d\u916a","zh\xe8":"\u6d59\u8517","xi\u0101o":"\u6d88\u5bb5\u9500\u8427\u785d\u7bab\u56a3","h\u01cei":"\u6d77","zh\u01ceng,zh\xe0ng":"\u6da8","l\xe0ng":"\u6d6a","r\xf9n":"\u6da6\u95f0","t\xe0ng":"\u70eb","y\u01d2ng,ch\u014dng":"\u6d8c","hu\u01d0":"\u6094\u6bc1","qi\u0101o,qi\u01ceo":"\u6084","h\xe0i":"\u5bb3\u4ea5\u9a87","ji\u0101,jia,jie":"\u5bb6","ku\u0101n":"\u5bbd","b\u012bn":"\u5bbe\u6ee8\u5f6c\u7f24\u6fd2","zh\u01cei":"\u7a84","l\u01ceng":"\u6717","d\xfa,d\xf2u":"\u8bfb","z\u01cei":"\u5bb0","sh\xe0n,sh\u0101n":"\u6247","sh\u0101n,sh\xe0n":"\u82eb","w\xe0":"\u889c","xi\xe1ng":"\u7965\u7fd4","shu\xed":"\u8c01","p\xe1o":"\u888d\u5486","b\xe8i,p\u012b":"\u88ab","ti\xe1o,di\xe0o,zh\u014du":"\u8c03","yu\u0101n":"\u51a4\u9e33\u6e0a","b\u014d,b\u0101o":"\u5265","ru\xf2":"\u5f31","p\xe9i":"\u966a\u57f9\u8d54","ni\xe1ng":"\u5a18","t\u014dng":"\u901a","n\xe9ng,n\xe0i":"\u80fd","n\xe1n,n\xe0n,nu\xf3":"\u96be","s\u0101ng":"\u6851","p\u011bng":"\u6367","d\u01d4":"\u5835\u8d4c\u7779","y\u01cen":"\u63a9\u773c\u6f14\u884d","du\u012b":"\u5806","p\xe1i,p\u01cei":"\u6392","tu\u012b":"\u63a8","ji\xe0o,ji\u0101o":"\u6559","l\xfc\xe8":"\u63a0\u7565","j\xf9,j\u016b":"\u636e","k\xf2ng":"\u63a7","zh\xf9,zhu\xf3,zhe":"\u8457","j\u016bn,j\xf9n":"\u83cc","l\xe8,l\u0113i":"\u52d2","m\xe9ng":"\u840c\u76df\u6aac\u6726","c\xe0i":"\u83dc","t\u012b":"\u68af\u8e22\u5254","sh\u0101o,s\xe0o":"\u68a2","f\xf9,p\xec":"\u526f","pi\xe0o,pi\u0101o":"\u7968","shu\u01ceng":"\u723d","sh\xe8ng,ch\xe9ng":"\u76db","qu\xe8,qi\u0101o,qi\u01ceo":"\u96c0","xu\u011b":"\u96ea","ch\xed,shi":"\u5319","xu\xe1n":"\u60ac\u7384\u6f29","m\u012b,m\xed":"\u772f","la,l\u0101":"\u5566","sh\xe9,y\xed":"\u86c7","l\xe8i,l\xe9i,l\u011bi":"\u7d2f","zh\u01cen,ch\xe1n":"\u5d2d","qu\u0101n,ju\xe0n,ju\u0101n":"\u5708","y\xedn":"\u94f6\u541f\u6deb","b\xe8n":"\u7b28","l\xf3ng,l\u01d2ng":"\u7b3c","m\u01d0n":"\u654f\u76bf\u95fd\u60af","n\xedn":"\u60a8","\u01d2u":"\u5076\u85d5","t\u014du":"\u5077","pi\u0101n":"\u504f\u7bc7\u7fe9","d\xe9,d\u011bi,de":"\u5f97","ji\u01ce,ji\xe0":"\u5047","p\xe1n":"\u76d8","chu\xe1n":"\u8239","c\u01cei":"\u5f69\u776c\u8e29","l\u01d0ng":"\u9886","li\u01cen":"\u8138\u655b","m\u0101o,m\xe1o":"\u732b","m\u011bng":"\u731b\u9530","c\u0101i":"\u731c","h\xe1o":"\u6beb\u8c6a\u58d5\u568e","m\xe1":"\u9ebb","gu\u01cen":"\u9986\u7ba1","c\xf2u":"\u51d1","h\xe9n":"\u75d5","k\u0101ng":"\u5eb7\u7ce0\u6177","xu\xe1n,xu\xe0n":"\u65cb","zhe,zhu\xf3,zh\xe1o,zh\u0101o":"\u7740","l\u01dc,shu\xe0i":"\u7387","g\xe0i,g\u011b,h\xe9":"\u76d6","c\u016b":"\u7c97","l\xedn,l\xecn":"\u6dcb","q\xfa,j\xf9":"\u6e20","ji\xe0n,ji\u0101n":"\u6e10\u6e85","h\xf9n,h\xfan":"\u6df7","p\xf3":"\u5a46","q\xedng":"\u60c5\u6674\u64ce","c\u01cen":"\u60e8","s\xf9,xi\u01d4,xi\xf9":"\u5bbf","y\xe1o":"\u7a91\u8c23\u6447\u9065\u80b4\u59da","m\xf3u":"\u8c0b","m\xec":"\u5bc6\u871c\u89c5","hu\u01ceng":"\u8c0e\u604d\u5e4c","t\xe1n,d\xe0n":"\u5f39","su\xed":"\u968f","y\u01d0n,y\xecn":"\u9690","j\u01d0ng,g\u011bng":"\u9888","sh\xe9ng":"\u7ef3","q\xed":"\u9a91\u68cb\u65d7\u6b67\u7948\u8110\u7566\u5d0e\u9ccd","ch\xf3u":"\u7ef8\u916c\u7b79\u7a20\u6101\u7574","l\u01dc,l\xf9":"\u7eff","d\u0101":"\u642d","ku\u01cen":"\u6b3e","t\u01ce":"\u5854","q\u016b,c\xf9":"\u8d8b","t\xed,d\u012b,d\u01d0":"\u63d0","ji\u0113,q\xec":"\u63ed","x\u01d0":"\u559c\u5f99","s\u014du":"\u641c\u8258","ch\u0101":"\u63d2","l\u01d2u,l\u014du":"\u6402","q\u012b,j\u012b":"\u671f","r\u011b":"\u60f9","s\xe0n,s\u01cen":"\u6563","d\u01d2ng":"\u8463\u61c2","g\u011b,g\xe9":"\u845b","p\xfa":"\u8461\u83e9\u84b2","zh\u0101o,ch\xe1o":"\u671d","lu\xf2,l\xe0,l\xe0o":"\u843d","ku\xed":"\u8475\u9b41","b\xe0ng":"\u68d2\u508d\u8c24","y\u01d0,y\u012b":"\u6905","s\u0113n":"\u68ee","g\xf9n,h\xf9n":"\u68cd","b\u012b":"\u903c","zh\xed,shi":"\u6b96","xi\xe0,sh\xe0":"\u53a6","li\xe8,li\u011b":"\u88c2","xi\xf3ng":"\u96c4\u718a","z\xe0n":"\u6682\u8d5e","y\u01ce":"\u96c5","ch\u01ceng":"\u655e","zh\u01ceng":"\u638c","sh\u01d4":"\u6691\u9f20\u85af\u9ecd\u8700\u7f72\u66d9","zu\xec":"\u6700\u7f6a\u9189","h\u01cen":"\u558a\u7f55","j\u01d0ng,y\u01d0ng":"\u666f","l\u01ce":"\u5587","p\u0113n,p\xe8n":"\u55b7","p\u01ceo,p\xe1o":"\u8dd1","chu\u01cen":"\u5598","h\u0113,h\xe8,y\xe8":"\u559d","h\xf3u":"\u5589\u7334","p\xf9,p\u016b":"\u94fa","h\u0113i":"\u9ed1","gu\u014d":"\u9505\u90ed","ru\xec":"\u9510\u745e","du\u01cen":"\u77ed","\xe9":"\u9e45\u989d\u8bb9\u4fc4","d\u011bng":"\u7b49","ku\u0101ng":"\u7b50","shu\xec":"\u7a0e\u7761","zh\xf9,zh\xfa":"\u7b51","sh\u0101i":"\u7b5b","d\xe1,d\u0101":"\u7b54","\xe0o":"\u50b2\u6fb3\u61ca","p\xe1i":"\u724c\u5f98","b\u01ceo,b\u01d4,p\xf9":"\u5821","\xe0o,y\xf9":"\u5965","f\u0101n,p\u0101n":"\u756a","l\xe0,x\u012b":"\u814a","hu\xe1":"\u733e\u6ed1","r\xe1n":"\u7136\u71c3","ch\xe1n":"\u998b\u7f20\u8749","m\xe1n":"\u86ee\u9992","t\xf2ng":"\u75db","sh\xe0n":"\u5584\u64c5\u81b3\u8d61","z\u016bn":"\u5c0a\u9075","p\u01d4":"\u666e\u8c31\u5703\u6d66","g\u01ceng,ji\u01ceng":"\u6e2f","c\xe9ng,z\u0113ng":"\u66fe","w\u0113n":"\u6e29\u761f","k\u011b":"\u6e34","zh\u0101":"\u6e23","du\xf2":"\u60f0\u8235\u8dfa","g\xe0i":"\u6e89\u6982\u4e10\u9499","ku\xec":"\u6127","y\xfa,t\u014du":"\u6109","w\u014d":"\u7a9d\u8717","cu\xe0n":"\u7a9c\u7be1","q\xfan":"\u88d9\u7fa4","qi\xe1ng,qi\u01ceng,ji\xe0ng":"\u5f3a","sh\u01d4,zh\u01d4":"\u5c5e","zh\u014du,y\xf9":"\u7ca5","s\u01ceo":"\u5ac2","hu\u01cen":"\u7f13","pi\xe0n":"\u9a97","m\u014d":"\u6478","sh\xe8,ni\xe8":"\u6444","ti\xe1n,zh\xe8n":"\u586b","g\u01ceo":"\u641e\u7a3f\u9550","su\xe0n":"\u849c\u7b97","m\xe9ng,m\u0113ng,m\u011bng":"\u8499","j\xecn,j\u012bn":"\u7981","l\xf3u":"\u697c\u5a04","l\xe0i":"\u8d56\u765e","l\xf9,li\xf9":"\u788c","p\xe8ng":"\u78b0","l\xe9i":"\u96f7","b\xe1o":"\u96f9","d\u016b":"\u7763","nu\u01cen":"\u6696","xi\u0113":"\u6b47\u6954\u874e","ku\xe0":"\u8de8\u80ef","ti\xe0o,t\xe1o":"\u8df3","\xe9,y\u01d0":"\u86fe","s\u01ceng":"\u55d3","qi\u01cen":"\u9063\u8c34","cu\xf2":"\u9519\u632b\u63aa\u9509","\u01cei":"\u77ee\u853c","sh\u01ce":"\u50bb","cu\u012b":"\u50ac\u6467\u5d14","tu\u01d0":"\u817f","ch\xf9":"\u89e6\u77d7","ji\u011b,ji\xe8,xi\xe8":"\u89e3","sh\xf9,sh\u01d4,shu\xf2":"\u6570","m\u01cen":"\u6ee1","li\u016b,li\xf9":"\u6e9c","g\u01d4n":"\u6eda","s\u0101i,s\xe0i,s\xe8":"\u585e","p\xec,b\xec":"\u8f9f","di\xe9":"\u53e0\u8776\u8c0d\u789f","f\xe8ng,f\xe9ng":"\u7f1d","qi\xe1ng":"\u5899","pi\u011b,pi\u0113":"\u6487","zh\u0101i":"\u6458\u658b","shu\u0101i":"\u6454","m\xf3,m\xfa":"\u6a21","b\u01ceng,b\xe0ng":"\u699c","zh\xe0":"\u69a8\u4e4d\u8bc8","ni\xe0ng":"\u917f","z\u0101o":"\u906d\u7cdf","su\u0101n":"\u9178","shang,ch\xe1ng":"\u88f3","s\xf2u":"\u55fd","l\xe0":"\u8721\u8fa3","qi\u0101o":"\u9539\u6572\u8df7","zhu\xe0n":"\u8d5a\u64b0","w\u011bn":"\u7a33\u543b\u7d0a","b\xed":"\u9f3b\u8378","m\xf3":"\u819c\u9b54\u998d\u6479\u8611","xi\u0101n,xi\u01cen":"\u9c9c","y\xed,n\u01d0":"\u7591","g\u0101o,g\xe0o":"\u818f","zh\u0113":"\u906e","du\u0101n":"\u7aef","m\xe0n":"\u6f2b\u6162\u66fc\u5e54","pi\u0101o,pi\xe0o,pi\u01ceo":"\u6f02","l\xf2u":"\u6f0f\u964b","s\xe0i":"\u8d5b","n\xe8n":"\u5ae9","d\xe8ng":"\u51f3\u9093\u77aa","su\u014d,s\xf9":"\u7f29","q\xf9,c\xf9":"\u8da3","s\u0101,s\u01ce":"\u6492","t\xe0ng,t\u0101ng":"\u8d9f","ch\u0113ng":"\u6491","z\u0113ng":"\u589e\u618e","c\xe1o":"\u69fd\u66f9","h\xe9ng,h\xe8ng":"\u6a2a","pi\u0101o":"\u98d8","m\xe1n,m\xe9n":"\u7792","t\xed":"\u9898\u8e44\u557c","y\u01d0ng":"\u5f71\u9896","b\xe0o,p\xf9":"\u66b4","t\xe0":"\u8e0f\u8e4b","k\xe0o":"\u9760\u94d0","p\xec":"\u50fb\u5c41\u8b6c","t\u01ceng":"\u8eba","d\xe9":"\u5fb7","m\xf3,m\u0101":"\u6469","sh\xfa":"\u719f\u79eb\u8d4e","h\xfa,h\u016b,h\xf9":"\u7cca","p\u012b,p\u01d0":"\u5288","ch\xe1o":"\u6f6e\u5de2","c\u0101o":"\u64cd\u7cd9","y\xe0n,y\u0101n":"\u71d5","di\u0101n":"\u98a0\u6382","b\xe1o,b\xf3,b\xf2":"\u8584","c\u0101n":"\u9910","x\u01d0ng":"\u9192","zh\u011bng":"\u6574\u62ef","zu\u01d0":"\u5634","z\xe8ng":"\u8d60","m\xf3,m\xf2":"\u78e8","n\xedng":"\u51dd\u72de\u67e0","ji\u01ceo,zhu\xf3":"\u7f34","c\u0101":"\u64e6","c\xe1ng,z\xe0ng":"\u85cf","f\xe1n,p\xf3":"\u7e41","b\xec,bei":"\u81c2","b\xe8ng":"\u8e66\u6cf5","p\u0101n":"\u6500\u6f58","ch\xe0n,zh\xe0n":"\u98a4","ji\u0101ng,qi\xe1ng":"\u7586","r\u01ceng":"\u58e4\u6518","ji\xe1o,ju\xe9,ji\xe0o":"\u56bc","r\u01ceng,r\u0101ng":"\u56b7","ch\u01d4n":"\u8822","l\xf9,l\xf2u":"\u9732","n\xe1ng,n\u0101ng":"\u56ca","d\u01cei":"\u6b79","r\u01d2ng":"\u5197","h\u0101ng,b\xe8n":"\u592f","\u0101o,w\u0101":"\u51f9","f\xe9ng,p\xedng":"\u51af","y\u016b":"\u8fc2\u6de4","x\u016b,y\xf9":"\u5401","l\xe8i,l\u0113":"\u808b","k\u014du":"\u62a0","l\u016bn,l\xfan":"\u62a1","ji\xe8,g\xe0i":"\u82a5","x\u012bn,x\xecn":"\u82af","ch\u0101,ch\xe0":"\u6748","xi\u0101o,xi\xe0o":"\u8096","zh\u012b,z\u012b":"\u5431","\u01d2u,\u014du,\xf2u":"\u5455","n\xe0,n\xe8":"\u5450","qi\xe0ng,qi\u0101ng":"\u545b","t\xfan,d\xf9n":"\u56e4","k\u0113ng,h\xe1ng":"\u542d","sh\u01d4n":"\u542e","di\xe0n,ti\xe1n":"\u4f43","s\xec,c\xec":"\u4f3a","zh\u01d2u":"\u8098\u5e1a","di\xe0n,ti\xe1n,sh\xe8ng":"\u7538","p\xe1o,b\xe0o":"\u5228","l\xecn":"\u541d\u8d41\u8e8f","du\xec,ru\xec,yu\xe8":"\u5151","zhu\xec":"\u5760\u7f00\u8d58","k\u0113,k\u011b":"\u5777","tu\xf2,t\xe0,zh\xed":"\u62d3","f\xfa,b\xec":"\u62c2","n\u01d0ng,n\xedng,n\xecng":"\u62e7","\xe0o,\u01ceo,ni\xf9":"\u62d7","k\u0113,h\u0113":"\u82db","y\u0101n,y\u01cen":"\u5944","h\u0113,a,k\u0113":"\u5475","g\u0101,k\u0101":"\u5496","bi\u01cen":"\u8d2c\u533e","ji\u01ceo,y\xe1o":"\u4fa5","ch\xe0,sh\u0101":"\u5239","\u0101ng":"\u80ae","w\xe8ng":"\u74ee","n\xfc\xe8,y\xe0o":"\u759f","p\xe1ng":"\u5e9e\u8783","m\xe1ng,m\xe9ng":"\u6c13","g\u0113,y\xec":"\u7599","j\u01d4,j\xf9":"\u6cae","z\xfa,c\xf9":"\u5352","n\xecng":"\u6cde","ch\u01d2ng":"\u5ba0","w\u01cen,yu\u0101n":"\u5b9b","m\xed,m\u01d0":"\u5f25","q\xec,qi\xe8,xi\xe8":"\u5951","xi\xe9,ji\u0101":"\u631f","du\xf2,du\u01d2":"\u579b","ji\xe1":"\u835a\u988a","zh\xe0,sh\u0101n,shi,c\xe8":"\u6805","b\xf3,b\xe8i":"\u52c3","zh\xf3u,zh\xf2u":"\u8f74","n\xfc\xe8":"\u8650","li\u0113,li\u011b,li\xe9,lie":"\u54a7","d\u01d4n":"\u76f9","x\u016bn":"\u52cb","yo,y\u014d":"\u54df","m\u012b":"\u54aa","qi\xe0o,xi\xe0o":"\u4fcf","h\xf3u,h\xf2u":"\u4faf","p\u0113i":"\u80da","t\u0101i":"\u80ce","lu\xe1n":"\u5ce6","s\xe0":"\u98d2\u8428","shu\xf2":"\u70c1","xu\xe0n":"\u70ab","p\xedng,b\u01d0ng":"\u5c4f","n\xe0,nu\xf3":"\u5a1c","p\xe1,b\xe0":"\u8019","g\u011bng":"\u57c2\u803f\u6897","ni\xe8":"\u8042\u954a\u5b7d","m\u01ceng":"\u83bd","q\u012b,x\u012b":"\u6816","ji\u01ce,g\u01d4":"\u8d3e","ch\u011bng":"\u901e","p\u0113ng":"\u7830\u70f9","l\xe1o,l\xe0o":"\u5520","b\xe0ng,b\xe8ng":"\u868c","g\u014dng,zh\u014dng":"\u86a3","li,l\u01d0,l\u012b":"\u54e9","su\u014d":"\u5506\u68ad\u55e6","h\u0113ng":"\u54fc","z\u0101ng":"\u8d43","qi\xe0o":"\u5ced\u7a8d\u64ac","m\u01ceo":"\u94c6","\u01cen":"\u4ffa","s\u01d2ng":"\u8038","ju\xe8,ju\xe9":"\u5014","y\u012bn,y\u0101n,y\u01d0n":"\u6bb7","gu\xe0ng":"\u901b","n\u011bi":"\u9981","w\u014d,gu\u014d":"\u6da1","l\xe0o,lu\xf2":"\u70d9","nu\xf2":"\u8bfa\u61e6\u7cef","zh\u016bn":"\u8c06","ni\u01cen,ni\u0113":"\u637b","qi\u0101":"\u6390","y\xe8,y\u0113":"\u6396","ch\u0101n,xi\u0101n,c\xe0n,sh\u01cen":"\u63ba","d\u01cen,sh\xe0n":"\u63b8","f\u0113i,f\u011bi":"\u83f2","qi\xe1n,g\u0101n":"\u4e7e","sh\u0113":"\u5962\u8d4a","shu\xf2,sh\xed":"\u7855","lu\u014d,lu\xf3,luo":"\u5570","sh\xe1":"\u5565","h\u01d4,xi\xe0":"\u552c","tu\xf2":"\u553e","b\u0113ng":"\u5d29","d\u0101ng,ch\u0113ng":"\u94db","xi\u01cen,x\u01d0":"\u94e3","ji\u01ceo,ji\xe1o":"\u77eb","ti\xe1o":"\u7b24","ku\u01d0,gu\u012b":"\u5080","x\xecn":"\u8845","d\u014du":"\u515c","j\xec,zh\xe0i":"\u796d","xi\xe1o":"\u6dc6","t\u01ceng,ch\u01ceng":"\u6dcc","ch\xfan,zh\u016bn":"\u6df3","shu\xe0n":"\u6dae","d\u0101ng":"\u88c6","w\xe8i,y\xf9":"\u5c09","du\xf2,hu\u012b":"\u5815","chu\xf2,ch\u0101o":"\u7ef0","b\u0113ng,b\u011bng,b\xe8ng":"\u7ef7","z\u014dng,z\xe8ng":"\u7efc","zhu\xf3,zu\xf3":"\u7422","chu\u01cei,chu\xe0i,chu\u0101i,tu\xe1n,zhu\u012b":"\u63e3","p\xe9ng,b\u0101ng":"\u5f6d","ch\u0101n":"\u6400","cu\u014d":"\u6413","s\u0101o":"\u6414","y\u0113":"\u6930","zhu\u012b,chu\xed":"\u690e","l\xe9ng,l\u0113ng,l\xedng":"\u68f1","h\u0101n":"\u9163\u61a8","s\u016b":"\u9165","z\xe1o":"\u51ff","qi\xe0o,qi\xe1o":"\u7fd8","zh\u0101,ch\u0101":"\u55b3","b\u01d2":"\u8ddb","h\xe1,g\xe9":"\u86e4","qi\xe0n,k\xe0n":"\u5d4c","b\u0101i":"\u63b0","y\u0101n,\u0101":"\u814c","w\xe0n":"\u8155","d\u016bn,du\xec":"\u6566","ku\xec,hu\xec":"\u6e83","ji\u01d2ng":"\u7a98","s\u0101o,s\u01ceo":"\u9a9a","p\xecn":"\u8058","b\u01ce":"\u9776","xu\u0113":"\u9774\u859b","h\u0101o":"\u84bf","l\xe9ng":"\u695e","k\u01cei,ji\u0113":"\u6977","p\xedn,b\u012bn":"\u9891","zhu\u012b":"\u9525","tu\xed":"\u9893","s\u0101i":"\u816e","li\xfa,li\xf9":"\u998f","n\xec,ni\xe0o":"\u6eba","q\u01d0n":"\u5bdd","lu\u01d2":"\u88f8","mi\xf9":"\u8c2c","ji\u01ceo,ch\u0101o":"\u527f","\xe1o,\u0101o":"\u71ac","ni\u0101n":"\u852b","m\xe0n,w\xe0n":"\u8513","ch\xe1,ch\u0101":"\u78b4","x\u016bn,x\xf9n":"\u718f","ti\u01cen":"\u8214","s\u0113ng":"\u50e7","da,d\xe1":"\u7629","gu\u01ce":"\u5be1","tu\xec,t\xf9n":"\u892a","ni\u01cen":"\u64b5\u78be","li\xe1o,li\u0101o":"\u64a9","cu\u014d,zu\u01d2":"\u64ae","ru\u01d0":"\u854a","ch\xe1o,zh\u0101o":"\u5632","bi\u0113":"\u618b\u9cd6","h\u0113i,m\xf2":"\u563f","zhu\xe0ng,chu\xe1ng":"\u5e62","j\u012b,q\u01d0":"\u7a3d","l\u01d2u":"\u7bd3","l\u01d0n":"\u51db\u6aa9","bi\u011b,bi\u0113":"\u762a","li\xe1o,l\xe0o,l\u01ceo":"\u6f66","ch\xe9ng,d\xe8ng":"\u6f84","l\xe8i,l\xe9i":"\u64c2","pi\xe1o":"\u74e2","sh\xe0":"\u970e","m\xf2,m\xe1":"\u87c6","qu\xe9":"\u7638","li\xe1o,li\u01ceo":"\u71ce","li\xe0o,li\u01ceo":"\u77ad","s\xe0o,s\u0101o":"\u81ca","m\xed,m\xe9i":"\u7cdc","\xe1i":"\u764c","t\xfan":"\u81c0","hu\xf2,hu\u014d,hu\xe1":"\u8c41","p\xf9,b\xe0o":"\u7011","chu\u014d":"\u6233","z\u01cen,cu\xe1n":"\u6512","c\xe8ng":"\u8e6d","b\xf2,b\u01d2":"\u7c38","b\xf3,b\xf9":"\u7c3f","b\xecn":"\u9b13","su\u01d0":"\u9ad3","r\xe1ng":"\u74e4"}},function(n,i){"use strict";n.exports={"\u0101":"a1","\xe1":"a2","\u01ce":"a3","\xe0":"a4","\u0113":"e1","\xe9":"e2","\u011b":"e3","\xe8":"e4","\u014d":"o1","\xf3":"o2","\u01d2":"o3","\xf2":"o4","\u012b":"i1","\xed":"i2","\u01d0":"i3","\xec":"i4","\u016b":"u1","\xfa":"u2","\u01d4":"u3","\xf9":"u4","\xfc":"v0","\u01d8":"v2","\u01da":"v3","\u01dc":"v4","\u0144":"n2","\u0148":"n3","\ue7c7":"m2"}},function(n,i,g){"use strict";function h(n,i){if(!(n instanceof i))throw new TypeError("Cannot call a class as a function")}function u(n){for(var i=0,g=r.length;g>i;i++)if(0===n.indexOf(r[i]))return r[i];return""}var o=function(){function n(n,i){for(var g=0;g<i.length;g++){var h=i[g];h.enumerable=h.enumerable||!1,h.configurable=!0,"value"in h&&(h.writable=!0),Object.defineProperty(n,h.key,h)}}return function(i,g,h){return g&&n(i.prototype,g),h&&n(i,h),i}}(),t=g(1),c={NORMAL:0,TONE:1,TONE2:2,TO3NE:5,INITIALS:3,FIRST_LETTER:4},s={style:c.TONE,segment:!1,heteronym:!1},r="b,p,m,f,d,t,n,l,g,k,h,j,q,x,r,zh,ch,sh,z,c,s".split(","),e=g(3),l=new RegExp("(["+Object.keys(e).join("")+"])","g"),z=/([aeoiuvnm])([0-4])$/,y=function(){function n(i){h(this,n),this._dict=i}return o(n,[{key:"convert",value:function(n,i){if("string"!=typeof n)return[];i=t({},s,i);for(var g=[],h="",u=0,o=void 0,c=void 0,r=n.length;r>u;u++)c=n[u],o=c.charCodeAt(0),this._dict[o]?(h.length>0&&(g.push([h]),h=""),g.push(this.single_pinyin(c,i))):h+=c;return h.length>0&&(g.push([h]),h=""),g}},{key:"single_pinyin",value:function(i,g){if("string"!=typeof i)return[];if(1!==i.length)return this.single_pinyin(i.charAt(0),g);var h=i.charCodeAt(0);if(!this._dict[h])return[i];var u=this._dict[h].split(",");if(!g.heteronym)return[n.toFixed(u[0],g.style)];for(var o={},t=[],c=0,s=void 0,r=u.length;r>c;c++)s=n.toFixed(u[c],g.style),o.hasOwnProperty(s)||(o[s]=s,t.push(s));return t}},{key:"compare",value:function(n,i){var g=this.convert(n,s),h=this.convert(i,s);return String(g).localeCompare(h)}}],[{key:"toFixed",value:function(n,i){var g="",h=void 0,o=void 0;switch(i){case c.INITIALS:return u(n);case c.FIRST_LETTER:return h=n.charAt(0),e.hasOwnProperty(h)&&(h=e[h].charAt(0)),h;case c.NORMAL:return n.replace(l,function(n,i){return e[i].replace(z,"$1")});case c.TO3NE:return n.replace(l,function(n,i){return e[i]});case c.TONE2:return o=n.replace(l,function(n,i){return g=e[i].replace(z,"$2"),e[i].replace(z,"$1")}),o+g;case c.TONE:default:return n}}},{key:"STYLE_NORMAL",get:function(){return c.NORMAL}},{key:"STYLE_TONE",get:function(){return c.TONE}},{key:"STYLE_TONE2",get:function(){return c.TONE2}},{key:"STYLE_TO3NE",get:function(){return c.TO3NE}},{key:"STYLE_INITIALS",get:function(){return c.INITIALS}},{key:"STYLE_FIRST_LETTER",get:function(){return c.FIRST_LETTER}},{key:"DEFAULT_OPTIONS",get:function(){return s}}]),n}();n.exports=y},function(n,i,g){"use strict";function h(n){var i=void 0,g={};for(var h in n){i=n[h];for(var u=0,o=void 0,t=i.length;t>u;u++)o=i.charCodeAt(u),g.hasOwnProperty(o)?g[o]+=","+h:g[o]=h}return g}var u=h(g(2)),o=g(4),t=new o(u);n.exports=t.convert.bind(t),n.exports.compare=t.compare.bind(t),n.exports.STYLE_NORMAL=o.STYLE_NORMAL,n.exports.STYLE_TONE=o.STYLE_TONE,n.exports.STYLE_TONE2=o.STYLE_TONE2,n.exports.STYLE_TO3NE=o.STYLE_TO3NE,n.exports.STYLE_INITIALS=o.STYLE_INITIALS,n.exports.STYLE_FIRST_LETTER=o.STYLE_FIRST_LETTER}]);
\ No newline at end of file
!function(e){var t=e.document,n=t.documentElement,i="orientationchange"in e?"orientationchange":"resize",a=function e(){var t=n.getBoundingClientRect().width;return n.style.fontSize=5*Math.max(Math.min(t/750*20,11.2),8.55)+"px",e}();n.setAttribute("data-dpr",e.navigator.appVersion.match(/iphone/gi)?e.devicePixelRatio:1),/iP(hone|od|ad)/.test(e.navigator.userAgent)&&(t.documentElement.classList.add("ios"),parseInt(e.navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/)[1],10)>=8&&t.documentElement.classList.add("hairline")),t.addEventListener&&(e.addEventListener(i,a,!1),t.addEventListener("DOMContentLoaded",a,!1))}(window);
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
@import './animate.scss';
\ No newline at end of file
@charset "UTF-8";
/*!
* vue2-animate v1.0.4
* (c) 2016 Simon Asika
* Released under the MIT License.
* Documentation: https://github.com/asika32764/vue2-animate
*/
@keyframes bounceIn {
from,
20%,
40%,
60%,
80%,
to {
animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
0% {
opacity: 0;
transform: scale3d(0.3, 0.3, 0.3);
}
20% {
transform: scale3d(1.1, 1.1, 1.1);
}
40% {
transform: scale3d(0.9, 0.9, 0.9);
}
60% {
opacity: 1;
transform: scale3d(1.03, 1.03, 1.03);
}
80% {
transform: scale3d(0.97, 0.97, 0.97);
}
to {
opacity: 1;
transform: scale3d(1, 1, 1);
}
}
@keyframes bounceOut {
20% {
transform: scale3d(0.9, 0.9, 0.9);
}
50%,
55% {
opacity: 1;
transform: scale3d(1.1, 1.1, 1.1);
}
to {
opacity: 0;
transform: scale3d(0.3, 0.3, 0.3);
}
}
@keyframes bounceInDown {
from,
60%,
75%,
90%,
to {
animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
0% {
opacity: 0;
transform: translate3d(0, -3000px, 0);
}
60% {
opacity: 1;
transform: translate3d(0, 25px, 0);
}
75% {
transform: translate3d(0, -10px, 0);
}
90% {
transform: translate3d(0, 5px, 0);
}
to {
transform: none;
}
}
@keyframes bounceOutDown {
20% {
transform: translate3d(0, 10px, 0);
}
40%,
45% {
opacity: 1;
transform: translate3d(0, -20px, 0);
}
to {
opacity: 0;
transform: translate3d(0, 2000px, 0);
}
}
@keyframes bounceInLeft {
from,
60%,
75%,
90%,
to {
animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
0% {
opacity: 0;
transform: translate3d(-3000px, 0, 0);
}
60% {
opacity: 1;
transform: translate3d(25px, 0, 0);
}
75% {
transform: translate3d(-10px, 0, 0);
}
90% {
transform: translate3d(5px, 0, 0);
}
to {
transform: none;
}
}
@keyframes bounceOutLeft {
20% {
opacity: 1;
transform: translate3d(20px, 0, 0);
}
to {
opacity: 0;
transform: translate3d(-2000px, 0, 0);
}
}
@keyframes bounceInRight {
from,
60%,
75%,
90%,
to {
animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
from {
opacity: 0;
transform: translate3d(3000px, 0, 0);
}
60% {
opacity: 1;
transform: translate3d(-25px, 0, 0);
}
75% {
transform: translate3d(10px, 0, 0);
}
90% {
transform: translate3d(-5px, 0, 0);
}
to {
transform: none;
}
}
@keyframes bounceOutRight {
20% {
opacity: 1;
transform: translate3d(-20px, 0, 0);
}
to {
opacity: 0;
transform: translate3d(2000px, 0, 0);
}
}
@keyframes bounceInUp {
from,
60%,
75%,
90%,
to {
animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
from {
opacity: 0;
transform: translate3d(0, 3000px, 0);
}
60% {
opacity: 1;
transform: translate3d(0, -20px, 0);
}
75% {
transform: translate3d(0, 10px, 0);
}
90% {
transform: translate3d(0, -5px, 0);
}
to {
transform: translate3d(0, 0, 0);
}
}
@keyframes bounceOutUp {
20% {
transform: translate3d(0, -10px, 0);
}
40%,
45% {
opacity: 1;
transform: translate3d(0, 20px, 0);
}
to {
opacity: 0;
transform: translate3d(0, -2000px, 0);
}
}
.bounce-enter-active,
.bounceIn,
.bounce-leave-active,
.bounceOut {
animation-duration: 1s;
animation-fill-mode: both;
}
.bounce-enter-active,
.bounceIn {
animation-name: bounceIn;
}
.bounce-leave-active,
.bounceOut {
animation-name: bounceOut;
}
.bounceUp-enter-active,
.bounceInUp,
.bounceUp-leave-active,
.bounceOutUp {
animation-duration: 1s;
animation-fill-mode: both;
}
.bounceUp-enter-active,
.bounceInUp {
animation-name: bounceInUp;
}
.bounceUp-leave-active,
.bounceOutUp {
animation-name: bounceOutUp;
}
.bounceRight-enter-active,
.bounceInRight,
.bounceRight-leave-active,
.bounceOutRight {
animation-duration: 1s;
animation-fill-mode: both;
}
.bounceRight-enter-active,
.bounceInRight {
animation-name: bounceInRight;
}
.bounceRight-leave-active,
.bounceOutRight {
animation-name: bounceOutRight;
}
.bounceLeft-enter-active,
.bounceInLeft,
.bounceLeft-leave-active,
.bounceOutLeft {
animation-duration: 1s;
animation-fill-mode: both;
}
.bounceLeft-enter-active,
.bounceInLeft {
animation-name: bounceInLeft;
}
.bounceLeft-leave-active,
.bounceOutLeft {
animation-name: bounceOutLeft;
}
.bounceDown-enter-active,
.bounceInDown,
.bounceDown-leave-active,
.bounceOutDown {
animation-duration: 1s;
animation-fill-mode: both;
}
.bounceDown-enter-active,
.bounceInDown {
animation-name: bounceInDown;
}
.bounceDown-leave-active,
.bounceOutDown {
animation-name: bounceOutDown;
}
@keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@keyframes fadeOut {
from {
opacity: 1;
}
to {
opacity: 0;
}
}
@keyframes fadeInDown {
from {
opacity: 0;
transform: translate3d(0, -100%, 0);
}
to {
opacity: 1;
transform: none;
}
}
@keyframes fadeOutDown {
from {
opacity: 1;
}
to {
opacity: 0;
transform: translate3d(0, 100%, 0);
}
}
@keyframes fadeInDownBig {
from {
opacity: 0;
transform: translate3d(0, -2000px, 0);
}
to {
opacity: 1;
transform: none;
}
}
@keyframes fadeOutDownBig {
from {
opacity: 1;
}
to {
opacity: 0;
transform: translate3d(0, 2000px, 0);
}
}
@keyframes fadeInLeft {
from {
opacity: 0;
transform: translate3d(-100%, 0, 0);
}
to {
opacity: 1;
transform: none;
}
}
@keyframes fadeOutLeft {
from {
opacity: 1;
}
to {
opacity: 0;
transform: translate3d(-100%, 0, 0);
}
}
@keyframes fadeInLeftBig {
from {
opacity: 0;
transform: translate3d(-2000px, 0, 0);
}
to {
opacity: 1;
transform: none;
}
}
@keyframes fadeOutLeftBig {
from {
opacity: 1;
}
to {
opacity: 0;
transform: translate3d(-2000px, 0, 0);
}
}
@keyframes fadeInRight {
from {
opacity: 0;
transform: translate3d(100%, 0, 0);
}
to {
opacity: 1;
transform: none;
}
}
@keyframes fadeOutRight {
from {
opacity: 1;
}
to {
opacity: 0;
transform: translate3d(100%, 0, 0);
}
}
@keyframes fadeInRightBig {
from {
opacity: 0;
transform: translate3d(2000px, 0, 0);
}
to {
opacity: 1;
transform: none;
}
}
@keyframes fadeOutRightBig {
from {
opacity: 1;
}
to {
opacity: 0;
transform: translate3d(2000px, 0, 0);
}
}
@keyframes fadeInUp {
from {
opacity: 0;
transform: translate3d(0, 100%, 0);
}
to {
opacity: 1;
transform: none;
}
}
@keyframes fadeOutUp {
from {
opacity: 1;
}
to {
opacity: 0;
transform: translate3d(0, -100%, 0);
}
}
@keyframes fadeInUpBig {
from {
opacity: 0;
transform: translate3d(0, 2000px, 0);
}
to {
opacity: 1;
transform: none;
}
}
@keyframes fadeOutUp {
from {
opacity: 1;
}
to {
opacity: 0;
transform: translate3d(0, -100%, 0);
}
}
.fade-enter-active,
.fadeIn,
.fade-leave-active,
.fadeOut {
animation-duration: .5s;
animation-fill-mode: both;
}
.fade-enter-active,
.fadeIn {
animation-name: fadeIn;
}
.fade-leave-active,
.fadeOut {
animation-name: fadeOut;
}
.fadeUpBig-enter-active,
.fadeInUpBig,
.fadeUpBig-leave-active,
.fadeOutUpBig {
animation-duration: .5s;
animation-fill-mode: both;
}
.fadeUpBig-enter-active,
.fadeInUpBig {
animation-name: fadeInUpBig;
}
.fadeUpBig-leave-active,
.fadeOutUpBig {
animation-name: fadeOutUpBig;
}
.fadeUp-enter-active,
.fadeInUp,
.fadeUp-leave-active,
.fadeOutUp {
animation-duration: .5s;
animation-fill-mode: both;
}
.fadeUp-enter-active,
.fadeInUp {
animation-name: fadeInUp;
}
.fadeUp-leave-active,
.fadeOutUp {
animation-name: fadeOutUp;
}
.fadeRightBig-enter-active,
.fadeInRightBig,
.fadeRightBig-leave-active,
.fadeOutRightBig {
animation-duration: .5s;
animation-fill-mode: both;
}
.fadeRightBig-enter-active,
.fadeInRightBig {
animation-name: fadeInRightBig;
}
.fadeRightBig-leave-active,
.fadeOutRightBig {
animation-name: fadeOutRightBig;
}
.fadeRight-enter-active,
.fadeInRight,
.fadeRight-leave-active,
.fadeOutRight {
animation-duration: .5s;
animation-fill-mode: both;
}
.fadeRight-enter-active,
.fadeInRight {
animation-name: fadeInRight;
}
.fadeRight-leave-active,
.fadeOutRight {
animation-name: fadeOutRight;
}
.fadeLeftBig-enter-active,
.fadeInLeftBig,
.fadeLeftBig-leave-active,
.fadeOutLeftBig {
animation-duration: .5s;
animation-fill-mode: both;
}
.fadeLeftBig-enter-active,
.fadeInLeftBig {
animation-name: fadeInLeftBig;
}
.fadeLeftBig-leave-active,
.fadeOutLeftBig {
animation-name: fadeOutLeftBig;
}
.fadeLeft-enter-active,
.fadeInLeft,
.fadeLeft-leave-active,
.fadeOutLeft {
animation-duration: .5s;
animation-fill-mode: both;
}
.fadeLeft-enter-active,
.fadeInLeft {
animation-name: fadeInLeft;
}
.fadeLeft-leave-active,
.fadeOutLeft {
animation-name: fadeOutLeft;
}
.fadeDownBig-enter-active,
.fadeInDownBig,
.fadeDownBig-leave-active,
.fadeOutDownBig {
animation-duration: .5s;
animation-fill-mode: both;
}
.fadeDownBig-enter-active,
.fadeInDownBig {
animation-name: fadeInDownBig;
}
.fadeDownBig-leave-active,
.fadeOutDownBig {
animation-name: fadeOutDownBig;
}
.fadeDown-enter-active,
.fadeInDown,
.fadeDown-leave-active,
.fadeOutDown {
animation-duration: .5s;
animation-fill-mode: both;
}
.fadeDown-enter-active,
.fadeInDown {
animation-name: fadeInDown;
}
.fadeDown-leave-active,
.fadeOutDown {
animation-name: fadeOutDown;
}
@keyframes rotateIn {
from {
transform-origin: center;
transform: rotate3d(0, 0, 1, -200deg);
opacity: 0;
}
to {
transform-origin: center;
transform: none;
opacity: 1;
}
}
@keyframes rotateOut {
from {
transform-origin: center;
opacity: 1;
}
to {
transform-origin: center;
transform: rotate3d(0, 0, 1, 200deg);
opacity: 0;
}
}
@keyframes rotateInDownLeft {
from {
transform-origin: left bottom;
transform: rotate3d(0, 0, 1, -45deg);
opacity: 0;
}
to {
transform-origin: left bottom;
transform: none;
opacity: 1;
}
}
@keyframes rotateOutDownLeft {
from {
transform-origin: left bottom;
opacity: 1;
}
to {
transform-origin: left bottom;
transform: rotate3d(0, 0, 1, 45deg);
opacity: 0;
}
}
@keyframes rotateInDownRight {
from {
transform-origin: right bottom;
transform: rotate3d(0, 0, 1, 45deg);
opacity: 0;
}
to {
transform-origin: right bottom;
transform: none;
opacity: 1;
}
}
@keyframes rotateOutDownRight {
from {
transform-origin: right bottom;
opacity: 1;
}
to {
transform-origin: right bottom;
transform: rotate3d(0, 0, 1, -45deg);
opacity: 0;
}
}
@keyframes rotateInUpLeft {
from {
transform-origin: left bottom;
transform: rotate3d(0, 0, 1, 45deg);
opacity: 0;
}
to {
transform-origin: left bottom;
transform: none;
opacity: 1;
}
}
@keyframes rotateOutUpLeft {
from {
transform-origin: left bottom;
opacity: 1;
}
to {
transform-origin: left bottom;
transform: rotate3d(0, 0, 1, -45deg);
opacity: 0;
}
}
@keyframes rotateInUpRight {
from {
transform-origin: right bottom;
transform: rotate3d(0, 0, 1, -90deg);
opacity: 0;
}
to {
transform-origin: right bottom;
transform: none;
opacity: 1;
}
}
@keyframes rotateOutUpRight {
from {
transform-origin: right bottom;
opacity: 1;
}
to {
transform-origin: right bottom;
transform: rotate3d(0, 0, 1, 90deg);
opacity: 0;
}
}
.rotate-enter-active,
.rotateIn,
.rotate-leave-active,
.rotateOut {
animation-duration: 1s;
animation-fill-mode: both;
}
.rotate-enter-active,
.rotateIn {
animation-name: rotateIn;
}
.rotate-leave-active,
.rotateOut {
animation-name: rotateOut;
}
.rotateUpRight-enter-active,
.rotateInUpRight,
.rotateUpRight-leave-active,
.rotateOutUpRight {
animation-duration: 1s;
animation-fill-mode: both;
}
.rotateUpRight-enter-active,
.rotateInUpRight {
animation-name: rotateInUpRight;
}
.rotateUpRight-leave-active,
.rotateOutUpRight {
animation-name: rotateOutUpRight;
}
.rotateUpLeft-enter-active,
.rotateInUpLeft,
.rotateUpLeft-leave-active,
.rotateOutUpLeft {
animation-duration: 1s;
animation-fill-mode: both;
}
.rotateUpLeft-enter-active,
.rotateInUpLeft {
animation-name: rotateInUpLeft;
}
.rotateUpLeft-leave-active,
.rotateOutUpLeft {
animation-name: rotateOutUpLeft;
}
.rotateDownRight-enter-active,
.rotateInDownRight,
.rotateDownRight-leave-active,
.rotateOutDownRight {
animation-duration: 1s;
animation-fill-mode: both;
}
.rotateDownRight-enter-active,
.rotateInDownRight {
animation-name: rotateInDownRight;
}
.rotateDownRight-leave-active,
.rotateOutDownRight {
animation-name: rotateOutDownRight;
}
.rotateDownLeft-enter-active,
.rotateInDownLeft,
.rotateDownLeft-leave-active,
.rotateOutDownLeft {
animation-duration: 1s;
animation-fill-mode: both;
}
.rotateDownLeft-enter-active,
.rotateInDownLeft {
animation-name: rotateInDownLeft;
}
.rotateDownLeft-leave-active,
.rotateOutDownLeft {
animation-name: rotateOutDownLeft;
}
@keyframes slideInDown {
from {
transform: translate3d(0, -100%, 0);
visibility: visible;
}
to {
transform: translate3d(0, 0, 0);
}
}
@keyframes slideOutDown {
from {
transform: translate3d(0, 0, 0);
}
to {
visibility: hidden;
transform: translate3d(0, 100%, 0);
}
}
@keyframes slideInLeft {
from {
transform: translate3d(-100%, 0, 0);
visibility: visible;
}
to {
transform: translate3d(0, 0, 0);
}
}
@keyframes slideOutLeft {
from {
transform: translate3d(0, 0, 0);
}
to {
visibility: hidden;
transform: translate3d(-100%, 0, 0);
}
}
@keyframes slideInRight {
from {
transform: translate3d(100%, 0, 0);
visibility: visible;
}
to {
transform: translate3d(0, 0, 0);
}
}
@keyframes slideOutRight {
from {
transform: translate3d(0, 0, 0);
}
to {
visibility: hidden;
transform: translate3d(100%, 0, 0);
}
}
@keyframes slideInUp {
from {
transform: translate3d(0, 100%, 0);
visibility: visible;
}
to {
transform: translate3d(0, 0, 0);
}
}
@keyframes slideOutUp {
from {
transform: translate3d(0, 0, 0);
}
to {
visibility: hidden;
transform: translate3d(0, -100%, 0);
}
}
.slide-enter-active,
.slideIn,
.slide-leave-active,
.slideOut {
animation-duration: .5s;
animation-fill-mode: both;
}
.slide-enter-active,
.slideIn {
animation-name: slideIn;
}
.slide-leave-active,
.slideOut {
animation-name: slideOut;
}
.slideUp-enter-active,
.slideInUp,
.slideUp-leave-active,
.slideOutUp {
animation-duration: .5s;
animation-fill-mode: both;
}
.slideUp-enter-active,
.slideInUp {
animation-name: slideInUp;
}
.slideUp-leave-active,
.slideOutUp {
animation-name: slideOutUp;
}
.slideRight-enter-active,
.slideInRight,
.slideRight-leave-active,
.slideOutRight {
animation-duration: .5s;
animation-fill-mode: both;
}
.slideRight-enter-active,
.slideInRight {
animation-name: slideInRight;
}
.slideRight-leave-active,
.slideOutRight {
animation-name: slideOutRight;
}
.slideLeft-enter-active,
.slideInLeft,
.slideLeft-leave-active,
.slideOutLeft {
animation-duration: .5s;
animation-fill-mode: both;
}
.slideLeft-enter-active,
.slideInLeft {
animation-name: slideInLeft;
}
.slideLeft-leave-active,
.slideOutLeft {
animation-name: slideOutLeft;
}
.slideDown-enter-active,
.slideInDown,
.slideDown-leave-active,
.slideOutDown {
animation-duration: .5s;
animation-fill-mode: both;
}
.slideDown-enter-active,
.slideInDown {
animation-name: slideInDown;
}
.slideDown-leave-active,
.slideOutDown {
animation-name: slideOutDown;
}
@keyframes zoomIn {
from {
opacity: 0;
transform: scale3d(0.3, 0.3, 0.3);
}
50% {
opacity: 1;
}
}
@keyframes zoomOut {
from {
opacity: 1;
}
50% {
opacity: 0;
transform: scale3d(0.3, 0.3, 0.3);
}
to {
opacity: 0;
}
}
@keyframes zoomInDown {
from {
opacity: 0;
transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
60% {
opacity: 1;
transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
}
}
@keyframes zoomOutDown {
40% {
opacity: 1;
transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
to {
opacity: 0;
transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
transform-origin: center bottom;
animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
}
}
@keyframes zoomInLeft {
from {
opacity: 0;
transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
60% {
opacity: 1;
transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
}
}
@keyframes zoomOutLeft {
40% {
opacity: 1;
transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
}
to {
opacity: 0;
transform: scale(0.1) translate3d(-2000px, 0, 0);
transform-origin: left center;
}
}
@keyframes zoomInRight {
from {
opacity: 0;
transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
60% {
opacity: 1;
transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
}
}
@keyframes zoomOutRight {
40% {
opacity: 1;
transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
}
to {
opacity: 0;
transform: scale(0.1) translate3d(2000px, 0, 0);
transform-origin: right center;
}
}
@keyframes zoomInUp {
from {
opacity: 0;
transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
60% {
opacity: 1;
transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
}
}
@keyframes zoomOutUp {
40% {
opacity: 1;
transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
to {
opacity: 0;
transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
transform-origin: center bottom;
animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
}
}
.zoom-enter-active,
.zoomIn,
.zoom-leave-active,
.zoomOut {
animation-duration: 1s;
animation-fill-mode: both;
}
.zoom-enter-active,
.zoomIn {
animation-name: zoomIn;
}
.zoom-leave-active,
.zoomOut {
animation-name: zoomOut;
}
.zoomUp-enter-active,
.zoomInUp,
.zoomUp-leave-active,
.zoomOutUp {
animation-duration: 1s;
animation-fill-mode: both;
}
.zoomUp-enter-active,
.zoomInUp {
animation-name: zoomInUp;
}
.zoomUp-leave-active,
.zoomOutUp {
animation-name: zoomOutUp;
}
.zoomRight-enter-active,
.zoomInRight,
.zoomRight-leave-active,
.zoomOutRight {
animation-duration: 1s;
animation-fill-mode: both;
}
.zoomRight-enter-active,
.zoomInRight {
animation-name: zoomInRight;
}
.zoomRight-leave-active,
.zoomOutRight {
animation-name: zoomOutRight;
}
.zoomLeft-enter-active,
.zoomInLeft,
.zoomLeft-leave-active,
.zoomOutLeft {
animation-duration: 1s;
animation-fill-mode: both;
}
.zoomLeft-enter-active,
.zoomInLeft {
animation-name: zoomInLeft;
}
.zoomLeft-leave-active,
.zoomOutLeft {
animation-name: zoomOutLeft;
}
.zoomDown-enter-active,
.zoomInDown,
.zoomDown-leave-active,
.zoomOutDown {
animation-duration: 1s;
animation-fill-mode: both;
}
.zoomDown-enter-active,
.zoomInDown {
animation-name: zoomInDown;
}
.zoomDown-leave-active,
.zoomOutDown {
animation-name: zoomOutDown;
}
\ No newline at end of file
/*! vue-ydui v1.2.6 by YDCSS (c) 2018 Licensed MIT */
@-webkit-keyframes yd-kf-zoom-in{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes yd-kf-zoom-in{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@-webkit-keyframes yd-kf-down-in{0%{opacity:0;-webkit-transform:translate3d(0,-50px,0);transform:translate3d(0,-50px,0)}50%{opacity:.5}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes yd-kf-down-in{0%{opacity:0;-webkit-transform:translate3d(0,-50px,0);transform:translate3d(0,-50px,0)}50%{opacity:.5}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@-webkit-keyframes yd-kf-up-out{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}50%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-50px,0);transform:translate3d(0,-50px,0)}}@keyframes yd-kf-up-out{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}50%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-50px,0);transform:translate3d(0,-50px,0)}}@-webkit-keyframes yd-kf-rotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes yd-kf-rotate{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.yd-dialog-black-mask{background-color:rgba(0,0,0,.5)}.yd-dialog-black-mask,.yd-dialog-white-mask{position:fixed;z-index:2000;bottom:0;right:0;left:0;top:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.yd-dialog-white-mask{background-color:transparent}.yd-confirm{width:85%;background-color:#fafafa;border-radius:2px;font-size:15px;-webkit-animation:yd-kf-zoom-in .15s ease forwards;animation:yd-kf-zoom-in .15s ease forwards}.yd-confirm-hd{text-align:left;padding:15px 20px 5px}.yd-confirm-title{font-weight:400;color:#444;word-break:break-all}.yd-confirm-bd{text-align:left;padding:0 20px;font-size:14px;color:#888;line-height:20px;word-break:break-all}.yd-confirm-ft{position:relative;line-height:40px;margin-top:14px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.yd-confirm-ft:after{content:"";position:absolute;z-index:0;top:-1px;left:0;width:100%;height:1px;background-image:-webkit-linear-gradient(bottom,#e4e4e4 50%,transparent 0);background-image:linear-gradient(0deg,#e4e4e4 50%,transparent 0)}.yd-confirm-ft>a{position:relative;text-align:center;display:block;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;padding:0 2px}.yd-confirm-ft>a:not(:last-child):after{content:"";position:absolute;z-index:0;top:0;right:0;width:1px;height:100%;background-image:-webkit-linear-gradient(left,#e4e4e4 50%,transparent 0);background-image:linear-gradient(90deg,#e4e4e4 50%,transparent 0)}.yd-confirm-ft>a.default{color:#353535}.yd-confirm-ft>a.primary{color:#0bb20c}.yd-alert{-webkit-animation:yd-kf-zoom-in .15s ease forwards;animation:yd-kf-zoom-in .15s ease forwards}.yd-alert .yd-confirm-bd{text-align:center;padding:20px 20px 0}.yd-alert .yd-confirm-ft{margin-top:14px}.yd-toast{min-width:124px;max-width:80%;padding-top:27px;background:rgba(40,40,40,.85);text-align:center;border-radius:3px;color:#fff;-webkit-animation:yd-kf-zoom-in .06s ease forwards;animation:yd-kf-zoom-in .06s ease forwards}.yd-toast-none-icon{padding-top:10px;border-radius:3px}.yd-toast-none-icon .yd-toast-content{padding:0 36px 10px}.yd-toast-content{font-size:14px;padding:0 15px 22px;line-height:22px;word-break:break-all}.yd-toast-error-icon,.yd-toast-success-icon{display:block;margin-bottom:6px}.yd-toast-error-icon:after,.yd-toast-success-icon:after{display:inline-block;content:""}.yd-toast-success-icon:after{width:38px;height:38px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAByFBMVEX///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8ip6xsAAAAl3RSTlMAAQIDBAYHCAkKCwwNDg8SFBUWFx0fICEkJygpLi8wMTQ1NzxAQUVGR0hJSktMTU5PUFFSVVhZWlxda2xtb3Byc3R1dnd4e3yCg4SMjo+Qk5SYmZydnqeoq6ytsLe4ubq7vL2+v8DDxMXGyMrOz9DR0tXW19jZ2tvc3d7f4OHi4+Tl5ufp6uvs7e7v8PHy8/T19vn7/P3++FiVSgAAA/NJREFUWMOtmf9DEncYxx8xEbMtYJEoY5VtqWs5wXI1WtZcONsqm83cFxa1NtNVTk1sYxQWYhjzMJXXv7sfLkZwHNwd9/zG5/Pc67jPPZ/383yeE6lv7hORyfhSZovXL/9aiE9GTrjFunUMXn1UpMqKj64OdlihOfqnlTIml8vtlX8p0/0Ok7jOC0n12vTM+PARj0NExOU5Mjw+k1bHkxc6TeBcX2YBdu9E/NpJf+TOLkB2zGWUdyYFkLj0np6D99IKQOqMIZzvZ4CHp+uukuP0Q4CYrzHvbB5InGpp5NdyKgHkzzZwa78JbI+3GXmUtvFt4Pv2ej7eOWC2y+hid80Cc946Dk+geKXVeDi0ThThie4fCKyBEjYXsEMKrAVqz/mfQfaY2R11bB2e+WvNeFb171XPAmuw6qnxzuZhvcfKrg+sw7xTMzwFhV5rqtRbgClNPEMxbFXnQkWoinBfHr61rpwTkK/chTGYb7MObP0dYhX6AkqXNGFdCoy8pfUpGJWmbBRS5cwwBov7mgPuW4Kx//U+CyelSfsENkpZ4TzMSdM2B+ffqO/fMNQ8cAiSqsr3w2OHecDxd6uywgoMiIjINETN8/oKf1QRo3BLRKRDYc9ngQc/Ve22PZT9IhKC38zztmuo4D0IicgN+MIWnkTghogkIGgLT/yQEPFCtsUWnkgavDIAP9jEkxn4WC6bDRp9nkThskypr8YOnoRgSu7CBzbxJAi/yjK4beKJG5Ylw57DJp44imTkX17ZxRN5xZZATjvxTq8lnrwEec2mljdb+NAKT3IgG+xoxn8ELdEAT3bYkiRoatDu51D4yDyvHTLyJ2hLJy3RCE8Nm7s1xaaaaIgnQbint/UqicZ46tbTE4e3iQZ5qjjoyleZ2G+QJzNwso7AloiGearAyiq8L3WIxnlqCpDv9JNU93MoGObJ52qSCkFc6hAN8ySuBsx+hV3d01X3C+M8766a6OUWXNT16nlhlCcX35QiMgDL+om0xyjP8bhULDmSdpVz/zhsLjhL0dK5YXNJbHvRbv+xQkZgq+mDz2c2H81+qRg5nIdvrAO/hnzVE55r9nh7zuYD+E3NqHMe1rsttwja7Wti9Og0MUT8acgcNcs7moG0joAEnoJiUiY+VeCp7nMdWoTihNlW1eIhfYeD98030+4frOfivG623Xfd2cAtvGmmIbk53PjGvhjAg0Yt0wcAscOGlmYkBbAyqpsLvaNqU3fE6GK7xtS28+3abefbatv5K5eJ8DpQboxHw0F3i4iI0x0MR8uN8QMmd0BF676Yy+V2mmrdq5lh8NqC9uPCwjVrHxdKktEXmYwvZRRQMkvxyUifp8EF/wHnSfXkuFtvVAAAAABJRU5ErkJggg==") no-repeat;background-size:38px 38px}.yd-toast-error-icon:after{width:35px;height:35px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAABxVBMVEX////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////sayP7AAAAlnRSTlMAAQIDBAYHCAkKCwwNDxIUFRYXGx0fICEkJygpLi8wMTQ1Njc/QEVGR0hJSktMTU5PUFFSVVhZWlxda2xtbm9wcnN0dXZ3eHt8goOEjI6PkJOUmJmcnZ6nqKust7i5uru8vb6/wMHCw8TFxsfIzs/Q0dLV1tfY2drb3N3e3+Dh4uPk5enq6+zt7u/w8fLz9PX2+fv8/f7QXI1oAAAENklEQVRYw62Z70NTVRjHH4b8dsJSZEmkhilkEgMlbTbRiCGVimFIkdM00w2VAAGL0DGGw8VFgfv5e3txpcF27r3nbjvvOOfhs91zn+d7nvOdiPNoPBkeic2k1nn3+q+p2Ej4ZKMUP+q6rj0zyRvms2tddcXQfB1jRg6TyWS2c38ZYx0+j7iGS4vW/ybHh3qPNvlERGqbjvYOjSet+cVLDR5wtd+kAbbuhoOFi8Hw3S2A9ECtLu/cEsD8lQ/sAgJX5gCWzmnhmn8BeHrWcZd8Z58CTDS7885ngfkzFW5xFWfmgex5l7CaW8DboSqdR6kaegv8VOMUE4gDj1p0N7vlERAPOAS8APO7Sv10qBw24YXtF2hdBqPHW8J2G7Dcql4LvoL0ca8VdXwFXgVVK00L9p/lNFqXYaFJ8c4mYeVIMVXfugKT1QXTo7DRXpwqtW/AaEE+g9lTrM6FTMjL8OYs/FC8cg5Ddm8VTsBkVfHAyj9gYo++gNEiJYwWA/p2af0S9EtJox+WcifDAEzvKw24bwYG/tf7NJyWEsfnsLpzKlyEuJQ84nDxvfr+Dd2lA7th0VL5DnjuKx3om4NOEREZg6iUYUThtohIncG2+qyxVVr1QvM2Rr2IhOCBMqD+wddqXuT3euX8fQiJyE2IKHkPMZXEiMlDJTEMN0VkHtpUy/5JlMSICQm/UvJhXiQAafUhrCba80SSEJBO+Nlm7/2JQqITT8bhMxl0SBp/AsyINk+iMCij1qvRIzrzJASjcg8+Fk2iC0/a4DeZBae2eTfRjSeNMCspth0LOUeMmBD3O5azSUr+5Y1zie4Q3Xkib1gXyIgOUYcnr0HeseYmI/44mDo8yYCssik6RB2ebLIui1DjGjgIMOgaVgMp+ROa3AIjJuTXjG3a3LMRm/x6S2gQ2+C+c+ntyme/BjEEo47isKc+NIhRGHSSr7x6U6lZgXyddhDYgvp1JSYhILIAH2nxXInWESA/2hxSKn1xJn5lHVIhiGnyXIgxK2HqDbYCmjxHYmDLOujlNly24xXWrz3x8vtWRDphVvGeDxpqPfAnwDioUNfnO82Sb1Hdzp3YUOuLP7Hxqbqd+8fn3HB+YqNX/nabhnMnWxpWy9wSl71pL/+1QvpgveSLz5dlvpr9umfmcBa+Lx54FbJ5T3ih1OvthTJfwG8VzFZPwsqHRVsENeUzMY7YmBgiwSSkjnnlHUtBMmjz3V+C4fHW94UBL22f69A0mMNerarpQ/YBBx57N9MeH3AKqb7h1e67Ue0S1rPmxZBc69WwTCcAnrhZpk8AJg5rbU3fEsBcv63TGOi3TN0+3c2uHbBs5ztq2/mOZTt/W+shvfbnjPFoT1tjhYhIdWNbTzRnjO/3aiHstu7NTCazWZJ1b50MXdenCn9cmLpe3I8LO5JxKjwSm0kZYKRmYiPhU24N+X9p2xPwBOaSwgAAAABJRU5ErkJggg==") no-repeat;background-size:35px 35px}.yd-notify{position:fixed;top:0;left:0;width:100%;right:0;background-color:rgba(40,40,40,.85);line-height:.28rem;font-size:.26rem;color:#fff;padding:.4rem .24rem .3rem;opacity:0;-webkit-animation:yd-kf-down-in .2s linear forwards;animation:yd-kf-down-in .2s linear forwards;word-break:break-all;text-align:center;z-index:2000}.yd-notify-out{-webkit-animation:yd-kf-up-out .15s linear forwards;animation:yd-kf-up-out .15s linear forwards}.yd-loading{border-radius:3px;color:#fff;background-color:rgba(40,40,40,.85);-webkit-animation:yd-kf-zoom-in .1s ease forwards;animation:yd-kf-zoom-in .1s ease forwards;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;padding:0 23px 0 24px;height:48px}.yd-loading-icon{width:28px;height:28px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAGzUExURUxpcaSmo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo6Smo7OajWMAAACQdFJOUwDzVSjxAgf0ChUBCd/hpyn6+ai70Qz1uB92XuuOR5xNbnBc0ulZd4eNIdsW/myUA1iBhMgnbQiWb7zsJM/l1hqqFEjOqQ3GrbH4LGQrr/CK49NdjIncrLNiaRtbtRl1771FUHjQj0aQBt5axWCTHeRmt57dnbTyg6vV7eIgEk4mUdcwOvceDgQRiPylmZgL2vNJv00AAAM1SURBVFjDrZl3WxpBEMaPQ3ovKiAKSreABREVLLEbTewaY4mJJb333nvhIwd2jqNzbeYvHnb2d+zd7Du3LxRVPyaPeqK2Mb8sY3n5yG6L9hxNUuJD7Tk57s6URffxiUcthqZoNaoyNUJlbFUIxDW26zN1Q9/eKACnO2jJcEaLU8eX12sontiUmu5P7tD0TrJ/OtVUPGLo5YVzPChMaZhPLmqLB7WL3vmGwnizg5vXweab9+iqi9LRe2b2ih0cuMRj9km6d2un7brZCniYqMfrmmXSLBua+lfWbFiY1Nmu2lmRTSZpOM59b+LDTPJmpFaKKQ0ZMhe/anDJID9tqj4+ugLjq3K+9SVfhRkro1XvSieMWgXsVJ0R5nRWuePXB2AsrBWyRbXrMGtAWTHUBiN9QkWkD+a1VdQzfD8kXJaGYGZZhTtgf8zFhANjW7BnSndhM/nSJ0o51T7Y1yX6AvUnF6fscqjHQNE1QK9clMhwgZoV1ueE/Sa++zwhACer90SfF+TigZHPOcJIvisMEv5FCf2RChHEINPfbhCl10gBaog+6qEXthK6m5IU7ixi4hN8JhvcPC4NOH4Y/pKvGfJr5yiJ8Y39dJWs+C2FFn9yvAtKPOC/HHACj9dFVnweD3iOAE14wGukqhV4QCL9djwedYV0OkTghxwwhAj054BBRODTHPASIpBUzWVEoAUbOIK9ZD32Q/Fhlw16YaNvPXRxQJcvdIGlOpFbAPUbu0lBG/XgAf+SRr+FuGYrxqtIZeG48YAKog+qSTwiwgtnmQVCNHEhjkeEl3YbHpA5VqzhEQOSDj7VAo5mdjUa8DUcHp/H0Ihroo+3dVuBiAN4zVAyFsG6FouYNzGMCSzi6D0g+tCqx/RKmBHEHXdfMO6T7R2PIy2fTvnmVt5MC3GZaT8sqe98nvUd1u4L79dO2w9n+8bPX1/5LPv9IWtIbtNVe6GS3mYMyQNeN9LRXGSZLnuXSi3TJe9ywTJNf+SpPSWmrmrK+sx7m755P9hvnSqxtg0Bvk9b5+RjOwd1AgpohtsYnxHaC3Gte+gMnjN75Z8L9jOPFB3WnJK/P7I/VuUfs0V7TrncmP8jtvO4FdRBjgAAAABJRU5ErkJggg==") no-repeat;background-size:28px 28px;-webkit-animation:yd-kf-rotate .45s linear forwards infinite;animation:yd-kf-rotate .45s linear forwards infinite;margin-right:10px}.yd-loading-txt{font-size:15px;color:#fff;max-width:140px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}@media screen and (min-width:768px){.yd-confirm{width:40%}}.yd-view{margin:0 auto;max-width:750px;min-width:300px}.yd-view:before{height:.9rem}.yd-view:after,.yd-view:before{content:"";display:block;width:100%}.yd-view:after{height:1.5rem}.yd-flexview{height:100%;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;margin:0 auto;max-width:750px;min-width:300px}.yd-scrollview{width:100%;height:100%;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;position:relative;margin-bottom:-1px}.yd-scrollview:after{content:"";display:block;width:100%;height:.5rem}.ios .yd-scrollview{margin-top:1px}.hairline .yd-scrollview{margin-top:.5px}@-webkit-keyframes yd-kf-rolling{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes yd-kf-rolling{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.yd-button{padding:0 .24rem}.yd-btn{text-align:center;position:relative;border:none;pointer-events:auto;-webkit-user-select:none;-ms-user-select:none;user-select:none;height:.6rem;font-size:.24rem;display:inline-block;padding:0 .2rem;box-sizing:content-box;border-radius:2px;white-space:nowrap}.yd-btn-loading{width:100%;height:100%;overflow:hidden;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;pointer-events:none;position:absolute;top:0;left:0;z-index:0}.yd-btn-block{border:none;width:100%;display:block;font-size:.3rem;height:.9rem;margin-top:.5rem;border-radius:3px}.yd-btn-block,.yd-btn-mini{text-align:center;position:relative;pointer-events:auto;-webkit-user-select:none;-ms-user-select:none;user-select:none}.yd-btn-mini{border:none;font-size:10px;border-radius:2px;white-space:nowrap;vertical-align:middle;padding:0 .2rem;height:.44rem}.yd-btn-primary{color:#fff}.yd-btn-primary:not(.yd-btn-loading){background-color:#04be02}.yd-btn-primary:not(.yd-btn-loading):active{background-color:#04ab02}.yd-btn-danger{color:#fff}.yd-btn-danger:not(.yd-btn-loading){background-color:#ef4f4f}.yd-btn-danger:not(.yd-btn-loading):active{background-color:#d74747}.yd-btn-warning{color:#fff}.yd-btn-warning:not(.yd-btn-loading){background-color:#ffb400}.yd-btn-warning:not(.yd-btn-loading):active{background-color:#e6a200}.yd-btn-disabled{background-color:#ccc;color:#f0f0f0;pointer-events:none}.yd-btn-disabled:active{background-color:#b8b8b8}.yd-btn-hollow{color:#454545;border:1px solid #eaeaea}.yd-btn-hollow:not(.yd-btn-loading){background-color:#fff}.yd-btn-hollow:not(.yd-btn-loading):active{background-color:#f7f7f7}.yd-btn-hollow.yd-btn-mini{border:none}.yd-btn-hollow.yd-btn-mini:after{position:absolute;z-index:2;top:-50%;left:-50%;content:"";width:200%;height:200%;-webkit-transform:scale(.5);transform:scale(.5);border:1px solid #ccc;border-radius:4px}.yd-btn-hollow .yd-btn-rolling>i,.yd-btn-hollow .yd-btn-rolling>i:after{border:1px solid #ccc;border-top-color:transparent}.yd-btn-circle{border-radius:200px}.yd-btn-angle{border-radius:0}.yd-btn-angle.yd-btn-hollow.yd-btn-mini:after{border-radius:0!important}.yd-btn-rolling{position:relative}.yd-btn-rolling-mini{width:10px;height:10px}.yd-btn-rolling-mini>i{margin-left:-5px;margin-top:-5px}.yd-btn-rolling-small{width:12px;height:12px}.yd-btn-rolling-small>i{margin-left:-6px;margin-top:-6px}.yd-btn-rolling-large{width:18px;height:18px}.yd-btn-rolling-large>i{margin-left:-9px;margin-top:-9px}.yd-btn-rolling>i,.yd-btn-rolling>i:after{width:inherit;height:inherit;border:1px solid #fff;position:absolute;border-top-color:transparent;border-radius:50%}.yd-btn-rolling>i{top:50%;left:50%;-webkit-animation:yd-kf-rolling .5s linear infinite;animation:yd-kf-rolling .5s linear infinite}.yd-btn-rolling>i:after{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.hairline .yd-btn-block:not(.hairline .yd-btn-mini){border:.5px solid #dedede}.yd-navbar{height:.9rem;position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;z-index:5}.yd-navbar:after{height:1px;position:absolute;z-index:0;bottom:0;left:0;content:"";width:100%;background-image:-webkit-linear-gradient(bottom,currentColor 50%,transparent 0);background-image:linear-gradient(0deg,currentColor 50%,transparent 0)}.yd-navbar-fixed{position:fixed;top:0;left:0;width:100%;z-index:100}.yd-navbar-item{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;padding:0 .2rem;font-size:.26rem;white-space:nowrap;overflow:hidden;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;color:inherit}.yd-navbar-item:first-child{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1;margin-right:-25%}.yd-navbar-item:last-child{-webkit-box-ordinal-group:4;-webkit-order:3;-ms-flex-order:3;order:3}.yd-navbar-item:last-child,.yd-navbar-item:last-child>a{-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.yd-navbar-item>a{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:.9rem;min-width:25%;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.yd-navbar-center-box{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2;height:.9rem;width:50%;margin-left:25%}.yd-navbar-center{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:inherit}.yd-navbar-center-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.yd-navbar-center img{height:60%}.yd-back-icon:before,.yd-next-icon:before{display:inline-block;font-family:YDUI-INLAY;font-size:.3rem;color:inherit;vertical-align:middle;margin-top:-.05rem}.yd-back-icon:before{content:"\E607"}.yd-next-icon:before{content:"\E608"}.yd-cell-box{margin-bottom:.2rem}.yd-cell{position:relative;z-index:5;background-color:#fff}.yd-cell:after{height:1px;position:absolute;z-index:0;bottom:0;left:0;content:"";width:100%;background-image:-webkit-linear-gradient(bottom,#e4e4e4 50%,transparent 0);background-image:linear-gradient(0deg,#e4e4e4 50%,transparent 0)}.yd-cell a.yd-cell-item,.yd-cell label.yd-cell-item{background-color:#fff}.yd-cell a.yd-cell-item:active,.yd-cell label.yd-cell-item:active{background-color:#f5f5f5}.yd-cell-item{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:relative;padding-left:.24rem;overflow:hidden}.yd-cell-item:not(:last-child):after{margin-left:.24rem;height:1px;position:absolute;z-index:0;bottom:0;left:0;content:"";width:100%;background-image:-webkit-linear-gradient(bottom,#ececec 50%,transparent 0);background-image:linear-gradient(0deg,#ececec 50%,transparent 0)}.yd-cell-left{color:#555;font-size:.28rem;white-space:nowrap;-ms-flex-align:center}.yd-cell-left,.yd-cell-right{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.yd-cell-right{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:100%;min-height:1rem;color:#525252;text-align:right;font-size:.26rem;padding-right:.24rem;-ms-flex-align:center;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.yd-cell-right input[type=date],.yd-cell-right input[type=datetime-local],.yd-cell-right input[type=time]{line-height:1rem}.yd-cell-right input[type=checkbox]:not(.yd-switch),.yd-cell-right input[type=radio]{position:absolute;left:-9999em}.yd-cell-right input[type=checkbox]:not(.yd-switch)+.yd-cell-checkbox-icon:after,.yd-cell-right input[type=checkbox]:not(.yd-switch)+.yd-cell-radio-icon:after,.yd-cell-right input[type=radio]+.yd-cell-checkbox-icon:after,.yd-cell-right input[type=radio]+.yd-cell-radio-icon:after{font-family:YDUI-INLAY;font-size:.42rem}.yd-cell-right input[type=checkbox]:not(.yd-switch)+.yd-cell-radio-icon:after,.yd-cell-right input[type=radio]+.yd-cell-radio-icon:after{content:"\E600";color:#4cd864;display:none}.yd-cell-right input[type=checkbox]:not(.yd-switch)+.yd-cell-checkbox-icon:after,.yd-cell-right input[type=radio]+.yd-cell-checkbox-icon:after{content:"\E604";color:#d9d9d9}.yd-cell-right input[type=checkbox]:not(.yd-switch):checked+.yd-cell-radio-icon:after,.yd-cell-right input[type=radio]:checked+.yd-cell-radio-icon:after{display:inline-block}.yd-cell-right input[type=checkbox]:not(.yd-switch):checked+.yd-cell-checkbox-icon:after,.yd-cell-right input[type=radio]:checked+.yd-cell-checkbox-icon:after{color:#4cd864;content:"\E601"}.yd-cell-right:active{background:none}.yd-cell-right .yd-input-clear,.yd-cell-right .yd-input-password{height:1rem}.yd-cell-right .yd-datetime-input,.yd-cell-right input[type=date],.yd-cell-right input[type=datetime-local],.yd-cell-right input[type=email],.yd-cell-right input[type=number]:not(.yd-spinner-input),.yd-cell-right input[type=password],.yd-cell-right input[type=tel],.yd-cell-right input[type=text],.yd-cell-right input[type=time],.yd-cell-right input[type=url]{width:1%;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;height:1rem;border:none;font-size:.28rem;background:transparent;color:#555;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;text-align:left}.yd-cell-right select{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;height:1rem;border:none;display:block;color:#a9a9a9;font-size:.28rem;margin-left:-.08rem}.yd-cell-icon{display:block;margin-right:.1rem}.yd-cell-icon img{height:.3rem;vertical-align:middle}.yd-cell-arrow:after{margin-left:.05rem;margin-right:-.08rem;display:block;font-family:YDUI-INLAY;font-size:.28rem;color:#c9c9c9;content:"\E608"}.yd-cell-title{padding:.05rem .24rem .1rem;font-size:.28rem;text-align:left;color:#888;position:relative;z-index:1}.yd-cell-title:after{height:1px;position:absolute;z-index:0;bottom:0;left:0;content:"";width:100%;background-image:-webkit-linear-gradient(bottom,#e4e4e4 50%,transparent 0);background-image:linear-gradient(0deg,#e4e4e4 50%,transparent 0)}.yd-switch{position:relative;z-index:10;display:block;width:48px;height:27px;left:0;border:1px solid #dfdfdf;border-radius:16px;-webkit-appearance:none}.yd-switch:after,.yd-switch:before{content:"";position:absolute;top:0;left:0;height:25px;border-radius:15px;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.yd-switch:before{width:46px;background-color:#fdfdfd}.yd-switch:after{width:25px;background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.4)}.yd-switch:checked{border-color:currentColor;background-color:currentColor}.yd-switch:checked:before{-webkit-transform:scale(0);transform:scale(0)}.yd-switch:checked:after{-webkit-transform:translateX(21px);transform:translateX(21px)}.yd-switch-small{width:42px;height:22px}.yd-switch-small:after,.yd-switch-small:before{height:20px}.yd-switch-small:before{width:40px}.yd-switch-small:after{width:20px}.yd-switch-small:checked:after{-webkit-transform:translateX(20px);transform:translateX(20px)}.yd-switch-large{width:52px;height:32px}.yd-switch-large:after,.yd-switch-large:before{height:30px}.yd-switch-large:before{width:50px}.yd-switch-large:after{width:30px}.yd-switch-large:checked:after{-webkit-transform:translateX(20px);transform:translateX(20px)}.yd-switch[disabled]{opacity:.5}.yd-grids-2{overflow:hidden;position:relative;background-color:#fff}.yd-grids-2:before{height:1px;position:absolute;z-index:1;bottom:0;left:0;content:"";width:100%;background-image:-webkit-linear-gradient(bottom,#e4e4e4 50%,transparent 0);background-image:linear-gradient(0deg,#e4e4e4 50%,transparent 0)}.yd-grids-2 .yd-grids-item{width:50%}.yd-grids-2 .yd-grids-item:not(:nth-child(2n)):before{content:"";position:absolute;z-index:0;top:0;right:0;width:1px;height:100%;background-image:-webkit-linear-gradient(left,#ececec 50%,transparent 0);background-image:linear-gradient(90deg,#ececec 50%,transparent 0)}.yd-grids-3{overflow:hidden;position:relative;background-color:#fff}.yd-grids-3:before{height:1px;position:absolute;z-index:1;bottom:0;left:0;content:"";width:100%;background-image:-webkit-linear-gradient(bottom,#e4e4e4 50%,transparent 0);background-image:linear-gradient(0deg,#e4e4e4 50%,transparent 0)}.yd-grids-3 .yd-grids-item{width:33.333333%}.yd-grids-3 .yd-grids-item:not(:nth-child(3n)):before{content:"";position:absolute;z-index:0;top:0;right:0;width:1px;height:100%;background-image:-webkit-linear-gradient(left,#ececec 50%,transparent 0);background-image:linear-gradient(90deg,#ececec 50%,transparent 0)}.yd-grids-4{overflow:hidden;position:relative;background-color:#fff}.yd-grids-4:before{height:1px;position:absolute;z-index:1;bottom:0;left:0;content:"";width:100%;background-image:-webkit-linear-gradient(bottom,#e4e4e4 50%,transparent 0);background-image:linear-gradient(0deg,#e4e4e4 50%,transparent 0)}.yd-grids-4 .yd-grids-item{width:25%}.yd-grids-4 .yd-grids-item:not(:nth-child(4n)):before{content:"";position:absolute;z-index:0;top:0;right:0;width:1px;height:100%;background-image:-webkit-linear-gradient(left,#ececec 50%,transparent 0);background-image:linear-gradient(90deg,#ececec 50%,transparent 0)}.yd-grids-5{overflow:hidden;position:relative;background-color:#fff}.yd-grids-5:before{height:1px;position:absolute;z-index:1;bottom:0;left:0;content:"";width:100%;background-image:-webkit-linear-gradient(bottom,#e4e4e4 50%,transparent 0);background-image:linear-gradient(0deg,#e4e4e4 50%,transparent 0)}.yd-grids-5 .yd-grids-item{width:20%}.yd-grids-5 .yd-grids-item:not(:nth-child(5n)):before{content:"";position:absolute;z-index:0;top:0;right:0;width:1px;height:100%;background-image:-webkit-linear-gradient(left,#ececec 50%,transparent 0);background-image:linear-gradient(90deg,#ececec 50%,transparent 0)}.yd-grids-item{width:25%;float:left;position:relative;z-index:0;padding:.35rem 0;font-size:.28rem}.yd-grids-item-center{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.yd-grids-item:after{height:1px;position:absolute;z-index:0;bottom:0;left:0;content:"";width:100%;background-image:-webkit-linear-gradient(bottom,#ececec 50%,transparent 0);background-image:linear-gradient(0deg,#ececec 50%,transparent 0)}.yd-grids-icon{height:.68rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.yd-grids-icon :after,.yd-grids-icon :before{font-size:.54rem}.yd-grids-icon img{height:70%}.yd-grids-txt{word-wrap:normal;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;text-align:center;color:#333;padding:0 .2rem}.yd-gridstitle{padding:.35rem .24rem .1rem;font-size:.28rem;text-align:left;color:#888;position:relative;z-index:1;background-color:#f5f5f5}.yd-gridstitle:after{height:1px;position:absolute;z-index:3;bottom:0;left:0;content:"";width:100%;background-image:-webkit-linear-gradient(bottom,#ececec 50%,transparent 0);background-image:linear-gradient(0deg,#ececec 50%,transparent 0)}@font-face{font-family:YDUI-ICONS;src:url("//at.alicdn.com/t/font_1461139240_0312312.ttf") format("truetype")}[class*=" yd-icon-"]:before,[class^=yd-icon-]:before{font-family:YDUI-ICONS;font-size:inherit;display:inline-block}[class*=" icon-custom-"]:before,[class^=icon-custom-]:before{font-size:inherit;display:inline-block}.yd-icon-footmark:before{content:"\E636"}.yd-icon-discount:before{content:"\E633"}.yd-icon-verifycode:before{content:"\E632"}.yd-icon-star-outline:before{content:"\E630"}.yd-icon-star:before{content:"\E631"}.yd-icon-weibo:before{content:"\E62F"}.yd-icon-download:before{content:"\E62E"}.yd-icon-next:before{content:"\E62D"}.yd-icon-home-outline:before{content:"\E62C"}.yd-icon-home:before{content:"\E63D"}.yd-icon-weixin:before{content:"\E629"}.yd-icon-refresh:before{content:"\E628"}.yd-icon-tencent-weibo:before{content:"\E627"}.yd-icon-search:before{content:"\E626"}.yd-icon-time:before{content:"\E625"}.yd-icon-prev:before{content:"\E624"}.yd-icon-like-outline:before{content:"\E639"}.yd-icon-like:before{content:"\E63A"}.yd-icon-setting:before{content:"\E623"}.yd-icon-delete:before{content:"\E622"}.yd-icon-sortlist:before{content:"\E621"}.yd-icon-sortlarger:before{content:"\E620"}.yd-icon-sortlargest:before{content:"\E61F"}.yd-icon-qq:before{content:"\E62A"}.yd-icon-more:before{content:"\E618"}.yd-icon-shopcart-outline:before{content:"\E61A"}.yd-icon-shopcart:before{content:"\E619"}.yd-icon-checkoff:before{content:"\E617"}.yd-icon-bad:before{content:"\E61C"}.yd-icon-video:before{content:"\E61D"}.yd-icon-clock:before{content:"\E61E"}.yd-icon-ucenter-outline:before{content:"\E616"}.yd-icon-ucenter:before{content:"\E615"}.yd-icon-warn-outline:before{content:"\E613"}.yd-icon-warn:before{content:"\E614"}.yd-icon-share1:before{content:"\E610"}.yd-icon-share2:before{content:"\E60E"}.yd-icon-share3:before{content:"\E60D"}.yd-icon-feedback:before{content:"\E60F"}.yd-icon-type:before{content:"\E60C"}.yd-icon-discover:before{content:"\E60B"}.yd-icon-good:before{content:"\E61B"}.yd-icon-shield-outline:before{content:"\E608"}.yd-icon-shield:before{content:"\E60A"}.yd-icon-qrscan:before{content:"\E609"}.yd-icon-location:before{content:"\E607"}.yd-icon-phone1:before{content:"\E606"}.yd-icon-phone2:before{content:"\E637"}.yd-icon-phone3:before{content:"\E63B"}.yd-icon-error-outline:before{content:"\E602"}.yd-icon-error:before{content:"\E603"}.yd-icon-play:before{content:"\E601"}.yd-icon-compose:before{content:"\E600"}.yd-icon-question:before{content:"\E62B"}.yd-icon-order:before{content:"\E638"}.yd-list{overflow:hidden;position:relative}.yd-list-item:active{background:none}.yd-list-img{height:0;width:100%;padding:50% 0;overflow:hidden}.yd-list-img img{width:100%;margin-top:-50%;border:none;display:block}.yd-list-img img,.yd-list-mes{background-color:#fff}.yd-list-title{color:#505050;font-size:.26rem;text-align:justify;font-weight:800}.yd-list-other{overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:end;-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;color:#999}.yd-list-theme1{padding:0 2px}.yd-list-theme1 .yd-list-item{width:50%;float:left;padding:0 2px;margin-top:4px}.yd-list-theme1 .yd-list-item .yd-list-mes{padding:.1rem}.yd-list-theme1 .yd-list-item .yd-list-title{word-wrap:normal;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;text-align:justify;height:.36rem}.yd-list-theme2 .yd-list-item{width:50%;float:left;padding-top:4px}.yd-list-theme2 .yd-list-item:nth-child(odd){padding-right:2px}.yd-list-theme2 .yd-list-item:nth-child(2n){padding-left:2px}.yd-list-theme2 .yd-list-item .yd-list-mes{padding:.1rem}.yd-list-theme2 .yd-list-item .yd-list-title{word-wrap:normal;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;text-align:justify;height:.36rem}.yd-list-theme3 .yd-list-item{width:50%;float:left;padding:.2rem;position:relative;z-index:0;background-color:#fff}.yd-list-theme3 .yd-list-item:before{height:1px;position:absolute;z-index:0;bottom:0;left:0;content:"";width:100%;background-image:-webkit-linear-gradient(bottom,#ececec 50%,transparent 0);background-image:linear-gradient(0deg,#ececec 50%,transparent 0)}.yd-list-theme3 .yd-list-item:nth-child(odd):after{content:"";position:absolute;z-index:0;top:0;right:0;width:1px;height:100%;background-image:-webkit-linear-gradient(left,#ececec 50%,transparent 0);background-image:linear-gradient(90deg,#ececec 50%,transparent 0)}.yd-list-theme3 .yd-list-item .yd-list-mes{padding-top:.1rem}.yd-list-theme3 .yd-list-item .yd-list-title{word-wrap:normal;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;text-align:justify;height:.36rem}.yd-list-theme3 .yd-list-item:active{background:#fff}.yd-list-theme4{padding:0 7px;background-color:#fff}.yd-list-theme4 .yd-list-item{overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:7px 0 8px;position:relative}.yd-list-theme4 .yd-list-item:not(:last-child):after{height:1px;position:absolute;z-index:0;bottom:0;left:0;content:"";width:100%;background-image:-webkit-linear-gradient(bottom,#ececec 50%,transparent 0);background-image:linear-gradient(0deg,#ececec 50%,transparent 0)}.yd-list-theme4 .yd-list-item .yd-list-img{width:2rem;padding:1rem 0}.yd-list-theme4 .yd-list-item .yd-list-mes{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;padding-left:7px}.yd-list-theme4 .yd-list-item .yd-list-title{overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;word-break:break-all;text-overflow:ellipsis;line-height:.38rem;max-height:1.34rem}.yd-list-theme4 .yd-list-item .yd-list-other{padding-top:.1rem}.yd-list-theme5{background-color:#fff}.yd-list-theme5 .yd-list-item{display:block;position:relative;z-index:1;padding:.2rem .2rem 0}.yd-list-theme5 .yd-list-item:after{height:1px;position:absolute;z-index:0;bottom:0;left:0;content:"";width:100%;background-image:-webkit-linear-gradient(bottom,#ececec 50%,transparent 0);background-image:linear-gradient(0deg,#ececec 50%,transparent 0)}.yd-list-theme5 .yd-list-item .yd-list-mes{padding:.2rem 0 .15rem}.yd-list-theme5 .yd-list-item .yd-list-other{padding-top:.06rem}@media screen and (min-width:768px){.yd-list-theme1{padding:0 4px}.yd-list-theme1 .yd-list-item{padding:0 4px;margin-top:8px}.yd-list-theme2 .yd-list-item{padding-top:8px}.yd-list-theme2 .yd-list-item:nth-child(odd){padding-right:4px}.yd-list-theme2 .yd-list-item:nth-child(2n){padding-left:4px}.yd-list-theme4{padding:0 9px}.yd-list-theme4 .yd-list-item{padding:9px 0 10px}.yd-list-theme4 .yd-list-item .yd-list-mes{padding-left:9px}}.yd-list-loading{padding:.1rem 0;text-align:center;font-size:.26rem;color:#999;height:.66rem;box-sizing:content-box}.yd-list-loading-box{height:.66rem;overflow:hidden;line-height:.66rem}.yd-list-loading img{height:.66rem;display:inline-block}.yd-list-loading svg{width:.66rem;height:.66rem}.yd-list-donetip{font-size:.24rem;text-align:center;padding:.25rem 0;color:#777}@-webkit-keyframes yd-kf-backrotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(-1turn);transform:rotate(-1turn)}}@keyframes yd-kf-backrotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(-1turn);transform:rotate(-1turn)}}.yd-pullrefresh-animation-timing{-webkit-transition:-webkit-transform .2s;transition:-webkit-transform .2s;transition:transform .2s;transition:transform .2s,-webkit-transform .2s}.yd-pullrefresh-dragtip{pointer-events:none;position:absolute;top:-36px;left:0;z-index:996;-webkit-transform:translate(0);transform:translate(0);width:100%;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;color:#6e6e6e;font-size:14px;height:36px;text-align:center;background-color:rgba(240,250,250,.9)}.yd-pullrefresh-dragtip,.yd-pullrefresh-dragtip-icon{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}.yd-pullrefresh-dragtip-icon{height:100%}.yd-pullrefresh-dragtip-icon>i{width:14px;height:14px;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAMAAADyHTlpAAABa1BMVEVTfvH///9TfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFAPDq2AAAAeHRSTlMAAAECAwQGBwkLDQ8QERMUFRkiIyYnLS4vMjM1Njc4OTpAQUJDREVGTVJWXmBiZmdoaWpxc3V8f4GCg4SGiIyNj5aXmZqbnJ+go6SlpqmqrK+wub2/wMHCxMXJzM3P0tPU1djd3t/n6Orr7O7w8fP09fb3+Pn6/f5+D/4+AAABqklEQVQ4y43V+T8CQRQA8GklUeQmhESuHBHJUY5EIWeHECGrcpVV++eb2Z3Y2d22eT+9mfm2n880894AQIRpKnDxVCh/sanD+c7/aS8PdDoCOqPfvCRu3c1VKaOOFC+P3LJBlAQ1h3m1uB8UpJRan/FaOX3i39jaj5fw+OeIJ6nzQ1y4crXhGeP43qfk63/UwQnjxDCxS4ufU9DeNzQqLTBAFn1y2vKIBi9WoAivnAZR/tqtJTG1lWFaHNKUmF6i1K0tRWpDWZLRliINoWykjhRo0ztMYqBuQGpHv3FR0TV07q1U9AzSO0BFM5BG6GgO0nU6ikpkhY5y9DQPqY9+W2E6ek7/Z/noj2CM/mCF6xKnouIlHKWiwtW+ZmqjGV8XpmLBLNWUHXm+Ep+VlGHJVkMaYuhLO/WKG4b+GC2yZqJlsCotAxhPhcqaBrJGtKjYW39akAEA6rS3dr/YxCN6CQWTuGkmXBY802gP4bndBiClYKDaiisP0e3NwEGyWG3NqwwgKWzwFbUGn52QnJbms+ExAjWqeIwyHhN5BxRPXLbAc+xNcK5Hdl1+ASkP8ND4fLD1AAAAAElFTkSuQmCC") no-repeat;display:inline-block;background-size:14px 14px;margin-right:6px}.yd-pullrefresh-dragtip-icon>i.yd-pullrefresh-loading{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAMAAADyHTlpAAABcVBMVEVTfvH///9TfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvFTfvG7eWgbAAAAenRSTlMAAAECAwQGBwkKCw0PEBETFBUZIiMmJy0uLzIzNTY3ODk6QEFCQ0RFRktNUlZeYGJmZ2hpanFzdXyBgoOEhoiMjY+Wl5mam5yfoKOkpqmqrK+wuLm6vb/AwcLExcnMzc/S09TV2N3e3+fo6uvs7vDx8/T19vf4+fr9/naKfqcAAAGISURBVDjLjZVVW0JBEEBXDLC7FbsVuzDAwO7E7sAORDi/3od7/T72Ajrztjvn4c7dmTNKaZHV7t2+eQ5/BI4Xewq1TFKSdmxZ+yIqTvszEqCNx1jjcTAtDpq9RLy4qIpBK27NXPh81TM+OecPmufvNgva8mYk9ly55o2jafYdYMuuo40hAA5qtCrzPCF20vUPKH0BCPbalCXKfOl6WZnXAPcV6q8wUB/AQ7H6H3WGgc9qJUB3AfqVAHUCHNok6DxArRKg9ldgX0nQegCXCB0FwjkidAM4UyL0CliWoY/AmAz9AoZlaEiOPgFueVlLMnRT/rPc8idokD+s/RXwi1CjCeuUuLWP/mjtTneRNjADCcmCJyL+rqgxDDoTkGn7ANOC4U5ZAQhka8oIxFOGYx2ADquI+mJqKz8HwPuv3vI9hsSXU6Kl2WpK88CVZ96k1s+bdzPJuoorf1UcuVybmvAuHH7+qnnEFiv4SDzB3zVL18aQQ7aMroayEu4tY8XdPRMKnPi6Syzt8gMGxsBO8KgZSQAAAABJRU5ErkJggg==") no-repeat;background-size:14px 14px;-webkit-animation:yd-kf-backrotate .5s linear infinite;animation:yd-kf-backrotate .5s linear infinite}.yd-pullrefresh-draghelp{width:100%;height:100%;position:fixed;top:0;left:0;z-index:500;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.yd-pullrefresh-draghelp>div{width:2.3rem;height:2.3rem;background-color:rgba(0,0,0,.8)}.yd-pullrefresh-draghelp>div:before{content:"\E60D";font-family:YDUI-INLAY;font-size:.88rem;text-align:center;color:#fff;display:block;padding-top:.36rem}.yd-pullrefresh-draghelp>div>span{text-align:center;color:#fff;font-size:.28rem;display:block;padding-top:.2rem}.yd-badge{color:#fff;font-size:12px;position:relative;display:inline-block;border-radius:1000px;line-height:1;padding:3px 6px;white-space:nowrap;background-color:#d0d0d0;-webkit-transform-origin:center center;transform-origin:center center}.yd-badge-radius{border-radius:2px}.yd-badge-primary{background-color:#04be02;color:#fff}.yd-badge-danger{background-color:#ef4f4f;color:#fff}.yd-badge-warning{background-color:#ffb400;color:#fff}.yd-badge-hollow{background-color:#fbfbfb;color:#b2b2b2}.yd-badge-hollow:after{content:"";width:200%;height:200%;border:1px solid #b2b2b2;position:absolute;top:0;left:0;border-radius:1rem;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scale(.5);transform:scale(.5)}.yd-badge-radius:after{border-radius:2px}.yd-tabbar{width:100%;position:relative;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}.yd-tabbar:after{content:"";position:absolute;z-index:0;top:-1px;left:0;width:100%;height:1px;background-image:-webkit-linear-gradient(bottom,currentColor 50%,transparent 0);background-image:linear-gradient(0deg,currentColor 50%,transparent 0)}.yd-tabbar-fixed{position:fixed;bottom:0;left:0;z-index:100}.yd-tabbar-item{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;height:100%;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;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.yd-tabbar-active,.yd-tabbar-active .yd-tabbar-icon{color:inherit}.yd-tabbar-badge{top:-.1rem;margin-left:-.15rem}.yd-tabbar-badge,.yd-tabbar-dot{position:absolute;left:100%;z-index:999}.yd-tabbar-dot{display:block;width:8px;height:8px;background-color:#ef4f4f;border-radius:50%;border:1px solid #fff;top:0;margin-left:-4px}.yd-tabbar-icon{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;position:relative}.yd-tabbar-icon img{height:inherit}.yd-tabbar-txt{display:inline-block;font-size:inherit}.yd-tabbar-other{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:100%;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.yd-tabbar-other img{display:block}.yd-tab-box{overflow:auto;-webkit-overflow-scrolling:touch}.yd-tab-nav-nomal .yd-tab-nav{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.yd-tab-nav-nomal .yd-tab-nav .yd-tab-nav-item{width:1%;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.yd-tab-nav-scoll .yd-tab-nav .yd-tab-nav-item{padding:0 20px;display:inline-block}.yd-tab-nav{position:relative;z-index:0}.yd-tab-nav:after{height:1px;position:absolute;z-index:3;bottom:0;left:0;content:"";width:100%;background-image:-webkit-linear-gradient(bottom,currentColor 50%,transparent 0);background-image:linear-gradient(0deg,currentColor 50%,transparent 0)}.yd-tab-nav-item{text-align:center;height:100%;display:block;position:relative}.yd-tab-nav-item-label{color:inherit;display:inline-block;position:relative}.yd-tab-nav .yd-tab-active{color:currentColor}.yd-tab-nav .yd-tab-active:before{content:"";width:70%;height:2px;position:absolute;left:50%;bottom:0;margin-left:-35%;z-index:4;background-color:currentColor}.yd-tab-panel{position:relative;overflow:hidden}.yd-tab-panel-item{width:100%;position:absolute;top:0;overflow:hidden;-webkit-transform:translateX(-100%);transform:translateX(-100%)}.yd-tab-panel-item.yd-tab-active{position:relative;-webkit-transition:-webkit-transform .15s;transition:-webkit-transform .15s;transition:transform .15s;transition:transform .15s,-webkit-transform .15s;-webkit-transform:translateX(0);transform:translateX(0)}.yd-tab-panel-item.yd-tab-active~.yd-tab-panel-item{-webkit-transform:translateX(100%);transform:translateX(100%)}.yd-tab-badge{position:absolute;top:2px;z-index:9;line-height:0}.yd-tab-dot{position:absolute;top:-10px}.yd-tab-dot>i{display:inline-block;width:6px;height:6px;border-radius:100px}.yd-scrolltab{position:absolute;top:0;left:0;right:0;bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.yd-scrolltab-nav{height:100%;background-color:#f5f5f5;overflow-y:auto;-webkit-overflow-scrolling:touch;position:relative;z-index:1}.yd-scrolltab-nav:after{content:"";position:absolute;z-index:0;top:0;right:0;width:1px;height:100%;background-image:-webkit-linear-gradient(left,#dfdfdf 50%,transparent 0);background-image:linear-gradient(90deg,#dfdfdf 50%,transparent 0)}.yd-scrolltab-item{padding:0 .3rem;height:1rem;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;position:relative;z-index:1}.yd-scrolltab-item:after{height:1px;position:absolute;z-index:0;bottom:0;left:0;content:"";width:100%;background-image:-webkit-linear-gradient(bottom,#dfdfdf 50%,transparent 0);background-image:linear-gradient(0deg,#dfdfdf 50%,transparent 0)}.yd-scrolltab-item:before{content:"";position:absolute;z-index:0;top:0;right:0;width:1px;height:100%;background-image:-webkit-linear-gradient(left,#dfdfdf 50%,transparent 0);background-image:linear-gradient(90deg,#dfdfdf 50%,transparent 0)}.yd-scrolltab-item:active{background:none}.yd-scrolltab-active{background-color:#fff}.yd-scrolltab-active:before{content:"";position:absolute;z-index:0;top:0;right:0;width:1px;height:100%;background-image:-webkit-linear-gradient(left,#fff 50%,transparent 0);background-image:linear-gradient(90deg,#fff 50%,transparent 0)}.yd-scrolltab-active:active{background-color:#fff}.yd-scrolltab-icon{margin-right:.2rem;font-size:.32rem;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}.yd-scrolltab-icon>img{height:.4rem;display:inline-block}.yd-scrolltab-title{font-size:.3rem;color:#666;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:1.6rem}.yd-scrolltab-content{height:100%;background-color:#fff;overflow-y:auto;-webkit-overflow-scrolling:touch;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;padding:0 .24rem .24rem;position:relative}.yd-scrolltab-content-title{font-size:.3rem;font-weight:400;color:#555;display:block;padding-bottom:.1rem;padding-top:.32rem;margin-bottom:.2rem;position:relative;z-index:1}.yd-scrolltab-content-title:after{height:1px;position:absolute;z-index:0;bottom:0;left:0;content:"";width:100%;background-image:-webkit-linear-gradient(bottom,#e4e4e4 50%,transparent 0);background-image:linear-gradient(0deg,#e4e4e4 50%,transparent 0)}.yd-actionsheet{text-align:center;position:fixed;bottom:0;left:0;width:100%;z-index:1502;background-color:#efeff4;-webkit-transform:translateY(100%);transform:translateY(100%);-webkit-transition:-webkit-transform .2s;transition:-webkit-transform .2s;transition:transform .2s;transition:transform .2s,-webkit-transform .2s}.yd-actionsheet-active{-webkit-transform:translate(0);transform:translate(0)}.yd-actionsheet-item{display:block;position:relative;font-size:.28rem;color:#555;height:1rem;line-height:1rem;background-color:#fff}.yd-actionsheet-item:after{height:1px;position:absolute;z-index:2;bottom:0;left:0;content:"";width:100%;background-image:-webkit-linear-gradient(bottom,#ececec 50%,transparent 0);background-image:linear-gradient(0deg,#ececec 50%,transparent 0)}.yd-actionsheet-action{display:block;margin-top:.15rem;font-size:.28rem;color:#555;height:1rem;line-height:1rem;background-color:#fff}.yd-mask{position:fixed;bottom:0;right:0;left:0;top:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;pointer-events:none;-webkit-transition:opacity .2s ease-in;transition:opacity .2s ease-in;opacity:0}.yd-keyboard{position:fixed;bottom:0;left:0;width:100%;z-index:1502;-webkit-transform:translateY(100%);transform:translateY(100%);-webkit-transition:-webkit-transform .2s;transition:-webkit-transform .2s;transition:transform .2s;transition:transform .2s,-webkit-transform .2s;background-color:#f7f7f7}.yd-keyboard-active{-webkit-transform:translate(0);transform:translate(0)}.yd-keyboard-content{background-color:#fff;margin-top:.3rem;position:relative}.yd-keyboard-content:before{content:"";position:absolute;z-index:0;top:-1px;left:0;width:100%;height:1px;background-image:-webkit-linear-gradient(bottom,#ececec 50%,transparent 0);background-image:linear-gradient(0deg,#ececec 50%,transparent 0)}.yd-keyboard-title{overflow:hidden;padding:.2rem 0 .12rem;color:#222;margin-bottom:1px;font-size:.24rem;text-align:center;background-color:#fff}.yd-keyboard-title:before{font-family:YDUI-INLAY;content:"\E60A";font-size:.26rem;color:#ff2424;line-height:1;margin-right:.06rem}.yd-keyboard-numbers{font-size:.48rem;background-color:#fff}.yd-keyboard-numbers>li{width:100%}.yd-keyboard-numbers>li,.yd-keyboard-numbers>li>a{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.yd-keyboard-numbers>li>a{width:1%;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;color:#666;height:1rem;position:relative;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;overflow:hidden}.yd-keyboard-numbers>li>a:not(:last-child):after{content:"";position:absolute;z-index:0;top:0;right:0;width:1px;height:100%;background-image:-webkit-linear-gradient(left,#f5f5f5 50%,transparent 0);background-image:linear-gradient(90deg,#f5f5f5 50%,transparent 0)}.yd-keyboard-numbers>li>a:before{content:"";position:absolute;z-index:0;top:-1px;left:0;width:100%;height:1px;background-image:-webkit-linear-gradient(bottom,#f5f5f5 50%,transparent 0);background-image:linear-gradient(0deg,#f5f5f5 50%,transparent 0);top:0}.yd-keyboard-numbers>li:last-child>a:last-child,.yd-keyboard-numbers>li:last-child>a:nth-last-child(3){background-color:#f7f7f7;font-size:.3rem;color:#686868}.yd-keyboard-numbers>li:last-child>a:last-child:after{font-family:YDUI-INLAY;content:"\E609";font-size:.6rem}.yd-keyboard-head{height:.8rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;color:#444;font-size:.3rem;position:relative}.yd-keyboard-head:after{height:1px;position:absolute;z-index:0;bottom:0;left:0;content:"";width:100%;background-image:-webkit-linear-gradient(bottom,#ececec 50%,transparent 0);background-image:linear-gradient(0deg,#ececec 50%,transparent 0)}.yd-keyboard-head>strong{font-weight:400}.yd-keyboard-password{margin:0 .8rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:relative;background-color:#fff}.yd-keyboard-password:after{content:"";width:200%;height:200%;-webkit-transform:scale(.5);transform:scale(.5);position:absolute;border:1px solid #ececec;top:0;left:0;-webkit-transform-origin:0 0;transform-origin:0 0;border-radius:4px}.yd-keyboard-password li{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:1rem}.yd-keyboard-password li:not(:last-child):after{content:"";width:1px;height:50%;position:absolute;right:0;top:25%;background-color:#ececec;-webkit-transform:scaleX(.5);transform:scaleX(.5)}.yd-keyboard-password li i{width:6px;height:6px;border-radius:50%;background-color:#000}.yd-keyboard-error{padding:2px .8rem;color:red;overflow:hidden;height:.5rem;line-height:.5rem;font-size:.24rem;text-align:left}@-webkit-keyframes yd-kf-opacity-in{0%{opacity:0}to{opacity:1}}@keyframes yd-kf-opacity-in{0%{opacity:0}to{opacity:1}}.yd-slider{width:100%;overflow:hidden;position:relative}.yd-slider-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;height:100%;-webkit-transform:translateZ(0);transform:translateZ(0);position:relative;z-index:1;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform}.yd-slider-wrapper-vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.yd-slider-item{width:100%;height:100%;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0}.yd-slider-item a{display:block}.yd-slider-item img{width:100%;display:block}.yd-slider-pagination{position:absolute;width:100%;z-index:2;left:0;bottom:.1rem;pointer-events:none;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:end;-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end;opacity:0;-webkit-animation:yd-kf-opacity-in .3s linear .4s forwards;animation:yd-kf-opacity-in .3s linear .4s forwards}.yd-slider-pagination,.yd-slider-pagination-vertical{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.yd-slider-pagination-vertical{width:0;height:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;bottom:0;left:auto;right:.1rem}.yd-slider-pagination-item{margin:.05rem;width:6px;height:6px;display:inline-block;border-radius:100%}.yd-slider-pagination-item-active{width:14px;border-radius:100px}.yd-spinner{border-radius:1px;display:inline-block}.yd-spinner,.yd-spinner>span{position:relative;overflow:hidden}.yd-spinner>span{float:left;width:25%;height:100%;text-align:center;font-weight:700;color:#666;letter-spacing:0;background-color:#fafafa}.yd-spinner>span:active{background-color:#eee}.yd-spinner>span>i:after{font-family:YDUI-INLAY;color:#777;font-size:.16rem;position:absolute;top:50%;left:50%;-webkit-transform:translate(-45%,-40%);transform:translate(-45%,-40%)}.yd-spinner>span:last-child>i:after{content:"\E602"}.yd-spinner>span:first-child>i:after{content:"\E60B"}.yd-spinner>input{letter-spacing:0;float:left;height:inherit;text-align:center;color:#666;border:none;font-size:.26rem;background-color:#fff}.yd-spinner-square:after{top:-1px;top:0}.yd-spinner-square:after,.yd-spinner-square:before{content:"";position:absolute;z-index:5;left:0;width:100%;height:1px;background-image:-webkit-linear-gradient(bottom,#ececec 50%,transparent 0);background-image:linear-gradient(0deg,#ececec 50%,transparent 0)}.yd-spinner-square:before{bottom:0}.yd-spinner-square>span:last-child:after{content:"";position:absolute;z-index:5;top:0;right:0;width:1px;height:100%;background-image:-webkit-linear-gradient(left,#ececec 50%,transparent 0);background-image:linear-gradient(90deg,#ececec 50%,transparent 0)}.yd-spinner-square>span:first-child:before{content:"";position:absolute;z-index:5;top:0;left:0;width:1px;height:100%;background-image:-webkit-linear-gradient(right,#ececec 50%,transparent 0);background-image:linear-gradient(270deg,#ececec 50%,transparent 0)}.yd-spinner-circle>span{border-radius:100px;display:block;background-color:#f5f5f5}.yd-cityselect{position:fixed;bottom:0;left:0;width:100%;height:75%;background-color:#fff;z-index:1502;-webkit-transform:translateY(100%);transform:translateY(100%);-webkit-transition:-webkit-transform .2s;transition:-webkit-transform .2s;transition:transform .2s;transition:transform .2s,-webkit-transform .2s}.yd-cityselect-active{-webkit-transform:translate(0);transform:translate(0)}.yd-cityselect-move-animate{-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.yd-cityselect-next{-webkit-transform:translate(-50%);transform:translate(-50%)}.yd-cityselect-prev{-webkit-transform:translate(0);transform:translate(0)}.yd-cityselect-header{position:absolute;top:0;left:0;width:100%;z-index:1}.yd-cityselect-header:after{height:1px;position:absolute;z-index:0;bottom:0;left:0;content:"";width:100%;background-image:-webkit-linear-gradient(bottom,#ececec 50%,transparent 0);background-image:linear-gradient(0deg,#ececec 50%,transparent 0)}.yd-cityselect-title{width:100%;font-size:.3rem;text-align:center;height:45px;line-height:45px;position:relative}.yd-cityselect-title:after{height:1px;position:absolute;z-index:0;bottom:0;left:0;content:"";width:100%;background-image:-webkit-linear-gradient(bottom,#ececec 50%,transparent 0);background-image:linear-gradient(0deg,#ececec 50%,transparent 0)}.yd-cityselect-nav{width:100%;padding-left:10px;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.yd-cityselect-nav>a{font-size:13px;color:#222;display:block;height:40px;line-height:46px;padding:0 8px;position:relative;margin-right:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:40%}.yd-cityselect-nav-active{color:#f23030!important}.yd-cityselect-nav-active:after{content:"";width:100%;height:2px;background-color:#f23030;position:absolute;bottom:1px;left:0;z-index:2}.yd-cityselect-content{height:100%;padding-top:85px;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.yd-cityselect-item{display:block;height:inherit;width:50%;-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;overflow-y:auto;-webkit-overflow-scrolling:touch;background-color:#fff}.yd-cityselect-item::-webkit-scrollbar{width:0}.yd-cityselect-item:nth-child(2n){background-color:#f5f5f5}.yd-cityselect-item-active{color:#f23030!important}.yd-cityselect-item-active:after{display:block;content:"\E600";font-family:YDUI-INLAY}.yd-cityselect-item-box{width:100%;height:inherit;display:block;padding:0 20px}.yd-cityselect-item-box>a{color:#333;font-size:13px;height:40px;line-height:40px;overflow:hidden;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;width:100%;position:relative;z-index:1}.yd-cityselect-item-box>a:before{height:1px;position:absolute;z-index:0;bottom:0;left:0;content:"";width:100%;background-image:-webkit-linear-gradient(bottom,#ececec 50%,transparent 0);background-image:linear-gradient(0deg,#ececec 50%,transparent 0)}.yd-cityselect-item-box>a:active{background:none}.yd-cityselect-item-box>a span{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;display:block;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-all;text-overflow:ellipsis;line-height:16px;max-height:32.2px;font-size:13px}.yd-cityselect-loading{width:100%;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;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;font-size:.26rem;color:#999}.yd-cityselect-loading svg{width:36px;height:36px}.yd-progressbar{position:relative;color:#333;width:100%;height:100%}.yd-progressbar>svg{width:100%}.yd-progressbar>svg>path{-webkit-transition:all 1s linear;transition:all 1s linear}.yd-progressbar-content{position:absolute;top:50%;left:50%;font-size:.3rem;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.yd-rate{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}.yd-rate a:after{content:"\E7AD";font-family:YDUI-INLAY;font-size:inherit;color:inherit}.yd-rate a.rate-active:after{content:"\E7AC"}.yd-rate-text{color:#657180;margin-left:.1rem;font-size:.3rem}.yd-textarea{padding:.2rem 0;background-color:#fff;width:100%}.yd-textarea>textarea{border:none;width:100%;display:block;height:1.5rem;font-size:.26rem;color:inherit;background-color:transparent}.yd-textarea-readonly{opacity:.3}.yd-textarea-counter{font-size:.28rem;color:#b2b2b2;text-align:right;padding-top:.06rem}.yd-popup{position:fixed;background-color:#fff;z-index:1501;-webkit-transition:-webkit-transform .2s;transition:-webkit-transform .2s;transition:transform .2s;transition:transform .2s,-webkit-transform .2s;pointer-events:none;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}.yd-popup-content{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;position:relative;overflow-y:auto;-webkit-overflow-scrolling:touch}.yd-popup-left{-webkit-transform:translate(-100%);transform:translate(-100%);left:0;top:0;height:100%}.yd-popup-right{-webkit-transform:translate(100%);transform:translate(100%);right:0;top:0;height:100%}.yd-popup-bottom{-webkit-transform:translateY(100%);transform:translateY(100%);right:0;bottom:0}.yd-popup-show{pointer-events:auto;-webkit-transform:translate(0);transform:translate(0)}.yd-popup-center{z-index:1502;position:fixed;top:50%;left:50%;opacity:0;-webkit-transform:translate(-50%,-50%) scale(.95);transform:translate(-50%,-50%) scale(.95);-webkit-transform-origin:50% 50%;transform-origin:50% 50%;-webkit-transition:-webkit-transform .1s;transition:-webkit-transform .1s;transition:transform .1s;transition:transform .1s,-webkit-transform .1s}.yd-popup-center,.yd-popup-center *{pointer-events:none}.yd-popup-center.yd-popup-show{opacity:1;-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1);pointer-events:auto}.yd-popup-center.yd-popup-show *{pointer-events:auto}.yd-rollnotice{overflow:hidden;width:100%;background-color:#fff}.yd-rollnotice-box{height:inherit}.yd-rollnotice-align-left{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.yd-rollnotice-align-right{-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.yd-rollnotice-align-center{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.yd-rollnotice-item{height:inherit;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:inherit;-webkit-justify-content:inherit;-ms-flex-pack:inherit;justify-content:inherit}.yd-input{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;height:100%;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.yd-input>input{display:block;width:100%;height:100%;border:none;font-size:inherit}.yd-input>input::-webkit-search-cancel-button{-webkit-appearance:none}.yd-input-clear,.yd-input-error,.yd-input-password,.yd-input-success,.yd-input-warn{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}.yd-input-clear:after,.yd-input-error:after,.yd-input-password:after,.yd-input-success:after,.yd-input-warn:after{font-family:YDUI-INLAY}.yd-input-clear{height:100%;padding-right:.15rem;padding-left:.2rem}.yd-input-clear:after{content:"\E60C";color:#b2b2b2;font-size:.3rem}.yd-input-error:after{content:"\E614";color:#f43530;font-size:.4rem}.yd-input-warn:after{content:"\E614";color:#10aeff;font-size:.4rem}.yd-input-success:after{content:"\E601";color:#09bb07;font-size:.4rem}.yd-input-password:after{content:"\E77E";color:#b2b2b2;font-size:.45rem}.yd-input-password-open:after{content:"\E77D";color:#434343}.yd-flexbox{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}.yd-flexbox-vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;height:100%}.yd-flexbox-vertical .yd-flexbox-item{width:100%}.yd-flexbox-item{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.yd-flexbox-item-start{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start;justify-self:flex-end}.yd-flexbox-item-center{-webkit-align-self:center;-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center}.yd-flexbox-item-end{-webkit-align-self:flex-end;-ms-flex-item-align:end;align-self:flex-end}.yd-radio{display:inline-block;padding-right:10px}.yd-radio-icon{border:1px solid #ccc;border-radius:50%;display:inline-block;position:relative;z-index:10;vertical-align:bottom;pointer-events:none}.yd-radio-icon>i{content:"";position:absolute;left:50%;top:50%;border-radius:50%;background-color:currentColor;opacity:0;-webkit-transform:translate(-50%,-50%) scale(.1);transform:translate(-50%,-50%) scale(.1)}.yd-radio-text{margin-left:1px;font-size:15px;color:#666;pointer-events:none}.yd-radio>input[type=radio]{position:absolute;left:-9999em}.yd-radio>input[type=radio]:checked+.yd-radio-icon{border-color:currentColor}.yd-radio>input[type=radio]:checked+.yd-radio-icon>i{opacity:1;-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1);-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.yd-radio>input[type=radio]:disabled~.yd-radio-text{color:#ccc}.yd-radio>input[type=radio]:disabled+.yd-radio-icon{border-color:#ccc;background-color:#f3f3f3}.yd-radio>input[type=radio]:disabled+.yd-radio-icon>i{background-color:#ccc}.yd-checkbox{display:inline-block;padding-right:10px}.yd-checkbox>input[type=checkbox]{position:absolute;left:-9999em}.yd-checkbox>input[type=checkbox]:checked+.yd-checkbox-icon{background-color:currentColor;border-color:currentColor}.yd-checkbox>input[type=checkbox]:checked+.yd-checkbox-icon>i{-webkit-transform:translate(-50%,-50%) rotate(45deg) scale(1);transform:translate(-50%,-50%) rotate(45deg) scale(1);-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.yd-checkbox>input[type=checkbox]:disabled~.yd-checkbox-text{color:#ccc}.yd-checkbox>input[type=checkbox]:disabled+.yd-checkbox-icon{border-color:#ccc;background-color:#f3f3f3}.yd-checkbox>input[type=checkbox]:disabled+.yd-checkbox-icon>i{border-color:#ccc}.yd-checkbox-icon{border:1px solid #ccc;border-radius:2px;display:inline-block;position:relative;z-index:10;vertical-align:bottom;pointer-events:none}.yd-checkbox-icon>i{content:"";position:absolute;top:45%;left:50%;border:2px solid #fff;border-top:0;border-left:0;-webkit-transform:translate(-50%,-50%) rotate(45deg) scale(0);transform:translate(-50%,-50%) rotate(45deg) scale(0)}.yd-checkbox-text{margin-left:1px;font-size:15px;color:#666;pointer-events:none}.yd-checkbox-circle .yd-checkbox-icon{border-radius:50%}.yd-backtop{position:fixed;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;z-index:1000}.yd-backtop-inlay{border:1px solid silver;width:1rem;height:1rem;border-radius:50%;background-color:hsla(0,0%,100%,.85)}.yd-backtop-inlay:after{font-family:YDUI-INLAY;content:"\E788";font-size:.5rem;color:silver}.yd-accordion{background-color:#fff}.yd-accordion-head{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;position:relative;-webkit-user-select:none;-ms-user-select:none;user-select:none;padding:0 .24rem;overflow:hidden}.yd-accordion-head:after{height:1px;position:absolute;z-index:0;bottom:0;left:0;content:"";width:100%;background-image:-webkit-linear-gradient(bottom,#ececec 50%,transparent 0);background-image:linear-gradient(0deg,#ececec 50%,transparent 0)}.yd-accordion-head-content{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.yd-accordion-head-arrow,.yd-accordion-head-content{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}.yd-accordion-head-arrow{overflow:hidden;height:100%;min-height:1rem}.yd-accordion-head-arrow:after{content:"";width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:7px solid #a0a0a0;display:block;-webkit-transition:-webkit-transform .1s linear;transition:-webkit-transform .1s linear;transition:transform .1s linear;transition:transform .1s linear,-webkit-transform .1s linear;-webkit-transform:rotate(-180deg);transform:rotate(-180deg)}.yd-accordion-head-arrow.yd-accordion-rotated:after{-webkit-transform:rotate(0deg);transform:rotate(0deg)}.yd-accordion-title{min-height:1rem;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-size:.28rem;color:#444}.yd-accordion-title-full{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.yd-accordion-content{position:relative;overflow:hidden;-webkit-transition:height .1s linear;transition:height .1s linear}.yd-accordion-content:after{height:1px;position:absolute;z-index:0;bottom:0;left:0;content:"";width:100%;background-image:-webkit-linear-gradient(bottom,#ececec 50%,transparent 0);background-image:linear-gradient(0deg,#ececec 50%,transparent 0)}.yd-datetime{position:fixed;bottom:0;left:0;width:100%;z-index:1502;background-color:#fff;-webkit-transform:translateY(100%);transform:translateY(100%);-webkit-transition:-webkit-transform .25s;transition:-webkit-transform .25s;transition:transform .25s;transition:transform .25s,-webkit-transform .25s;-ms-touch-action:none;touch-action:none;will-change:transform}.yd-datetime-active{-webkit-transform:translateY(0);transform:translateY(0)}.yd-datetime-placeholder{color:#a1a1a1;font-size:inherit}.yd-datetime-input{width:100%}.yd-datetime-head{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;position:relative;background-color:#fbfbfb}.yd-datetime-head:after{height:1px;position:absolute;z-index:0;bottom:0;left:0;content:"";width:100%;background-image:-webkit-linear-gradient(bottom,#ececec 50%,transparent 0);background-image:linear-gradient(0deg,#ececec 50%,transparent 0)}.yd-datetime-head>a{height:43px;padding:0 30px;font-size:15px;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;color:#555}.yd-datetime-head>a:last-child{color:#0bb20c}.yd-datetime-content{position:relative;width:100%;height:266px;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.yd-datetime-item{font-size:16px;height:100%;position:relative;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.yd-datetime-item-content>span{width:100%;display:block;height:38px;line-height:38px;text-align:center}.yd-datetime-item-box{height:100%}.yd-datetime-indicator,.yd-datetime-shade{pointer-events:none;position:absolute;left:0;top:0;height:100%;width:100%}.yd-datetime-shade{z-index:3;-webkit-transform:translateZ(0);transform:translateZ(0);background-image:-webkit-linear-gradient(top,hsla(0,0%,100%,.95),hsla(0,0%,100%,.6)),-webkit-linear-gradient(bottom,hsla(0,0%,100%,.95),hsla(0,0%,100%,.6));background-image:linear-gradient(180deg,hsla(0,0%,100%,.95),hsla(0,0%,100%,.6)),linear-gradient(0deg,hsla(0,0%,100%,.95),hsla(0,0%,100%,.6));background-position:top,bottom;background-size:100% 114px;background-repeat:no-repeat}.yd-datetime-indicator{z-index:4;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-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}.yd-datetime-indicator>span{display:block;width:100%;height:38px;position:relative}.yd-datetime-indicator>span:after{top:-1px}.yd-datetime-indicator>span:after,.yd-datetime-indicator>span:before{content:"";position:absolute;z-index:0;left:0;width:100%;height:1px;background-image:-webkit-linear-gradient(bottom,#ececec 50%,transparent 0);background-image:linear-gradient(0deg,#ececec 50%,transparent 0)}.yd-datetime-indicator>span:before{bottom:0}.yd-lightbox{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1502;background-color:#000}.yd-lightbox-head{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;color:#fff;height:.9rem;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;position:absolute;top:0;left:0;width:100%;z-index:1503;background-color:rgba(0,0,0,.3);-webkit-transform:translate(0);transform:translate(0);-webkit-transition:-webkit-transform .2s;transition:-webkit-transform .2s;transition:transform .2s;transition:transform .2s,-webkit-transform .2s;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.yd-lightbox-head>span{font-size:.24rem;padding-left:.24rem}.yd-lightbox-head>a{padding-right:.24rem;font-size:13px}.yd-lightbox-img{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;width:100%;height:100%;will-change:opacity;-webkit-transform-origin:center center;transform-origin:center center;-webkit-transition:cubic-bezier(.4,0,.22,1);transition:cubic-bezier(.4,0,.22,1)}.yd-lightbox-foot{-webkit-transform:translate(0);transform:translate(0);-webkit-transition:-webkit-transform .2s;transition:-webkit-transform .2s;transition:transform .2s;transition:transform .2s,-webkit-transform .2s;position:absolute;bottom:0;left:0;width:100%;color:#fff;z-index:1502;background-color:rgba(0,0,0,.3);padding:.24rem}.yd-lightbox-scroller{-webkit-overflow-scrolling:touch;max-height:2rem;overflow-y:auto;line-height:.34rem}.yd-lightbox-up-hide{-webkit-transform:translateY(-100%);transform:translateY(-100%)}.yd-lightbox-down-hide{-webkit-transform:translateY(100%);transform:translateY(100%)}.yd-lightbox-loading{width:30px;height:30px;position:absolute;top:50%;left:50%;z-index:0;margin-left:-15px;margin-top:-15px}.yd-lightbox-tip{position:fixed;top:0;left:0;height:100%;width:100%;background-color:rgba(0,0,0,.85);z-index:1505;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}.yd-lightbox-tip>img{width:2.4rem}.yd-timeline{background-color:#fff;font-size:13px;color:#6e6e6e;overflow:hidden;position:relative;z-index:1}.yd-timeline:after{content:"";position:absolute;z-index:0;top:-1px;left:0;width:100%;height:1px;background-image:-webkit-linear-gradient(bottom,#ececec 50%,transparent 0);background-image:linear-gradient(0deg,#ececec 50%,transparent 0)}.yd-timeline-content{margin-left:16px;border-left:1px solid #e4e5e9}.yd-timeline-custom-item,.yd-timeline-item{padding:16px 12px 16px 0;margin-left:16px;position:relative}.yd-timeline-custom-item:not(:last-child):after,.yd-timeline-item:not(:last-child):after{height:1px;position:absolute;z-index:0;bottom:0;left:0;content:"";width:100%;background-image:-webkit-linear-gradient(bottom,#ececec 50%,transparent 0);background-image:linear-gradient(0deg,#ececec 50%,transparent 0)}.yd-timeline-custom-item .yd-timeline-icon,.yd-timeline-item .yd-timeline-icon{content:"";position:absolute;z-index:1;left:-16px;display:block;top:19px;-webkit-transform:translate(-50%);transform:translate(-50%)}.yd-timeline-custom-item:first-child,.yd-timeline-item:first-child{margin-top:16px;padding-top:0;color:#000}.yd-timeline-custom-item:first-child>.yd-timeline-icon,.yd-timeline-item:first-child>.yd-timeline-icon{top:3px}.yd-timeline-custom-item:last-child:before,.yd-timeline-item:last-child:before{content:"";width:1px;height:100%;background-color:#fff;position:absolute;left:-17px;top:19px}.yd-timeline-item .yd-timeline-icon{width:8px;height:8px;border-radius:99px;background-color:#e4e5e9}.yd-timeline-item:first-child>.yd-timeline-icon{background-color:#f23030;width:10px;height:10px}.yd-timeline-item:first-child:before{content:"";width:16px;height:16px;position:absolute;z-index:0;top:0;left:-24px;background-color:#fbbfbf;border-radius:99px}.yd-timeline-custom-item:first-child>.yd-timeline-icon{top:0}.yd-step{font-size:13px}.yd-step-content{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.yd-step-item{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;position:relative}.yd-step-item:not(:first-child):before{content:"";height:2px;position:absolute;top:-1px;background-color:#ccc}.yd-step-item>em{border-radius:50%;position:absolute;top:50%;left:50%;background-color:#ccc}.yd-step-item-bottom,.yd-step-item-top{position:absolute;left:0;text-align:center;white-space:nowrap;text-overflow:ellipsis;width:100%;padding:0 4px}.yd-step-item-top-text>span{color:#989898}.yd-step-item-bottom{color:#333}.yd-step-theme1 .yd-step-content{padding:10px 0 42px}.yd-step-theme1 .yd-step-item:not(:first-child):before{width:70%;left:-35%}.yd-step-theme1 .yd-step-item>em{width:20px;height:20px;margin-left:-10px;margin-top:-10px;text-align:center;line-height:20px;font-size:12px}.yd-step-theme1 .yd-step-item>em>i{color:#fff}.yd-step-theme1 .yd-step-item-top{bottom:18px}.yd-step-theme1 .yd-step-item-bottom{top:18px}.yd-step-theme1 .yd-step-item-current:before,.yd-step-theme1 .yd-step-item-current>em{background-color:currentColor}.yd-step-theme1 .yd-step-item-current>em.yd-step-checkmark:after{content:"";position:absolute;top:4px;left:8px;border:1px solid #fff;border-top:0;border-left:0;-webkit-transform:rotate(45deg);transform:rotate(45deg);width:5px;height:10px}.yd-step-theme1 .yd-step-item-current .yd-step-item-bottom{color:currentColor}.yd-step-theme2 .yd-step-content{padding:42px 0}.yd-step-theme2 .yd-step-item:not(:first-child):before{width:80%;left:-40%}.yd-step-theme2 .yd-step-item>em{width:10px;height:10px;margin-left:-5px;margin-top:-5px}.yd-step-theme2 .yd-step-item-top{bottom:15px}.yd-step-theme2 .yd-step-item-bottom{top:15px}.yd-step-theme2 .yd-step-item-current .yd-step-item-top-text{display:inline-block;background-color:currentColor;padding:5px 11px 3px;border-radius:100px;position:relative;z-index:1}.yd-step-theme2 .yd-step-item-current .yd-step-item-top-text>span{color:#fff}.yd-step-theme2 .yd-step-item-current>em{background-color:currentColor}.yd-step-theme2 .yd-step-item-current>em:after{content:"";width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid currentColor;position:absolute;top:-10px;left:50%;margin-left:-6px}.yd-checklist{background-color:#fff;position:relative;z-index:1}.yd-checklist:after{height:1px;position:absolute;z-index:0;bottom:0;left:0;content:"";width:100%;background-image:-webkit-linear-gradient(bottom,#ececec 50%,transparent 0);background-image:linear-gradient(0deg,#ececec 50%,transparent 0)}.yd-checklist-alignright .yd-checklist-content{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.yd-checklist-alignright .yd-checklist-item-icon{margin-left:0}.yd-checklist-item{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:relative;z-index:1;margin-left:12px}.yd-checklist-item:not(:last-child):after{height:1px;position:absolute;z-index:0;bottom:0;left:0;content:"";width:100%;background-image:-webkit-linear-gradient(bottom,#ececec 50%,transparent 0);background-image:linear-gradient(0deg,#ececec 50%,transparent 0)}.yd-checklist-item-icon{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:12px;margin-left:-12px}.yd-checklist-item-icon>input[type=checkbox]{position:absolute;left:-9999em}.yd-checklist-item-icon>input[type=checkbox]:checked+.yd-checklist-icon{background-color:currentColor;border-color:currentColor}.yd-checklist-item-icon>input[type=checkbox]:checked+.yd-checklist-icon>i{-webkit-transform:translate(-50%,-50%) rotate(45deg) scale(1);transform:translate(-50%,-50%) rotate(45deg) scale(1);-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.yd-checklist-item-icon>input[type=checkbox]:disabled+.yd-checklist-icon{border-color:#ccc;background-color:#f3f3f3}.yd-checklist-item-icon>input[type=checkbox]:disabled+.yd-checklist-icon>i{border-color:#ccc}.yd-checklist-icon{border:1px solid #ccc;border-radius:100px;display:block;position:relative;z-index:10;pointer-events:none;width:20px;height:20px}.yd-checklist-icon>i{width:6px;height:12px;content:"";position:absolute;top:45%;left:50%;border:2px solid #fff;border-top:0;border-left:0;-webkit-transform:translate(-50%,-50%) rotate(45deg) scale(0);transform:translate(-50%,-50%) rotate(45deg) scale(0)}.yd-checklist-content{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;position:relative;color:#333;padding-right:12px}.yd-search{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}.yd-search-fly{width:100%;height:100%;position:fixed;left:0;z-index:1500;opacity:0;pointer-events:none}.yd-search-show{opacity:1;pointer-events:auto}.yd-search-input{background-color:#efeff4;border-left:none;border-right:none;padding:10px 0 10px 10px;position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.yd-search-input:after{bottom:0}.yd-search-input:after,.yd-search-input:before{height:1px;position:absolute;z-index:0;left:0;content:"";width:100%;background-image:-webkit-linear-gradient(bottom,#ececec 50%,transparent 0);background-image:linear-gradient(0deg,#ececec 50%,transparent 0)}.yd-search-input:before{top:-1px}.yd-search-input>.search-input{width:100%;height:30px;background-color:#fff;border:none;border-radius:3px;margin-right:10px;padding-top:1px;overflow:hidden}.yd-search-input>.search-input,.yd-search-input>.search-input .search-icon{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}.yd-search-input>.search-input .search-icon{padding-left:8px;padding-right:5px;line-height:28px}.yd-search-input>.search-input .search-icon:after{content:"\E626";font-family:YDUI-INLAY;font-size:15px;color:#b2b2b2}.yd-search-input>.cancel-text{display:block;white-space:nowrap;padding-left:10px;height:30px;line-height:32px;color:#0bb20c;font-size:14px;padding-right:10px;margin-left:-10px}.yd-search-list{overflow:auto;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;background-color:#fff;-webkit-overflow-scrolling:touch}.yd-search-list-item{position:relative;height:45px;line-height:45px;margin-left:12px;padding-left:4px;overflow:hidden;white-space:nowrap;padding-right:12px;text-overflow:ellipsis}.yd-search-list-item:after{height:1px;position:absolute;z-index:0;bottom:0;left:0;content:"";width:100%;background-image:-webkit-linear-gradient(bottom,#ececec 50%,transparent 0);background-image:linear-gradient(0deg,#ececec 50%,transparent 0)}.yd-scrollnav{position:absolute;top:0;left:0;height:100%;width:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.yd-scrollnav,.yd-scrollnav-tab{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.yd-scrollnav-tab{position:relative}.yd-scrollnav-tab-item{white-space:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.yd-scrollnav-tab-item>li{padding:0 .2rem;font-size:.28rem;display:inline-block;position:relative;height:inherit}.yd-scrollnav-tab-item>li.yd-scrollnav-current{color:currentColor!important;padding-left:.32rem}.yd-scrollnav-tab-item>li.yd-scrollnav-current>i{width:.32rem;height:inherit;position:absolute;top:0;left:.5px;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}.yd-scrollnav-tab-item>li.yd-scrollnav-current>i:before{content:"\E651";font-family:YDUI-INLAY;font-size:.32rem;line-height:1}.yd-scrollnav-tab-item>li>span,.yd-scrollnav-toggle{height:inherit;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}.yd-scrollnav-toggle{width:1rem;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.yd-scrollnav-toggle:after{content:"\E68C";font-family:YDUI-INLAY;display:block;-webkit-transform:rotate(0deg);transform:rotate(0deg);-webkit-transition:-webkit-transform .08s linear;transition:-webkit-transform .08s linear;transition:transform .08s linear;transition:transform .08s linear,-webkit-transform .08s linear;font-size:.32rem;color:currentColor}.yd-scrollnav-toggle-active:after{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.yd-scrollnav-unfold{position:absolute;z-index:2;width:100%;top:0;pointer-events:none;opacity:0;-webkit-transform:translateY(-100%);transform:translateY(-100%);-webkit-transition:all .08s linear;transition:all .08s linear}.yd-scrollnav-unfold-active{opacity:1;-webkit-transform:translate(0);transform:translate(0)}.yd-scrollnav-unfold-header{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;position:relative;border-width:0 0 1px;border-style:solid}.yd-scrollnav-unfold-header>div{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;padding-left:.3rem;font-size:.28rem;color:#333}.yd-scrollnav-unfold-header>span{width:1rem}.yd-scrollnav-unfold>ul{pointer-events:auto;overflow:hidden;padding-bottom:.2rem;padding-top:.2rem}.yd-scrollnav-unfold>ul>li{float:left;width:33.333%;padding-left:.3rem;line-height:.7rem;font-size:.28rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yd-scrollnav-unfold>ul>li.yd-scrollnav-current{color:currentColor!important}.yd-scrollnav-content{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.yd-preview{background-color:#fff;position:relative;z-index:2}.yd-preview:before{top:-1px}.yd-preview:after,.yd-preview:before{content:"";position:absolute;z-index:0;left:0;width:100%;height:1px;background-image:-webkit-linear-gradient(bottom,#ececec 50%,transparent 0);background-image:linear-gradient(0deg,#ececec 50%,transparent 0)}.yd-preview:after{bottom:0}.yd-preview-header{height:1rem;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;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;margin-left:.24rem;padding-right:.24rem;position:relative;color:#999;font-size:.28rem;margin-bottom:.2rem}.yd-preview-header:after{height:1px;position:absolute;z-index:0;bottom:0;left:0;content:"";width:100%;background-image:-webkit-linear-gradient(bottom,#ececec 50%,transparent 0);background-image:linear-gradient(0deg,#ececec 50%,transparent 0)}.yd-preview-header>*{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.yd-preview-header>:first-child{margin-right:.2rem}.yd-preview-header>:last-child{text-align:right;color:#333;font-size:.32rem}.yd-preview-item{padding:0 .24rem;font-size:.27rem;color:#999;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-bottom:.15rem}.yd-preview-item>*{display:block}.yd-preview-item>:first-child{min-width:1.1rem;text-align-last:justify;margin-right:.4rem;height:100%;text-align:right}.yd-preview-item>:last-child{word-break:normal;word-wrap:break-word;text-align:right;line-height:.45rem;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.yd-preview-item:last-child{padding-bottom:.25rem}.yd-preview-footer{height:1rem;-ms-flex-align:center;font-size:.28rem;color:#999;margin-top:.1rem}.yd-preview-footer,.yd-preview-footer>*{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.yd-preview-footer>*{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;height:inherit;-ms-flex-align:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.yd-preview-footer>:not(:first-child):after{content:"";position:absolute;z-index:0;top:0;left:0;width:1px;height:100%;background-image:-webkit-linear-gradient(right,#ececec 50%,transparent 0);background-image:linear-gradient(270deg,#ececec 50%,transparent 0)}.yd-preview-footer:before{content:"";position:absolute;z-index:0;top:-1px;left:0;width:100%;height:1px;background-image:-webkit-linear-gradient(bottom,#ececec 50%,transparent 0);background-image:linear-gradient(0deg,#ececec 50%,transparent 0)}
\ No newline at end of file
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