gongyan 4 лет назад
Сommit
896d1ab004
87 измененных файлов с 26735 добавлено и 0 удалено
  1. 31 0
      .babelrc
  2. 9 0
      .editorconfig
  3. 14 0
      .gitignore
  4. 10 0
      .postcssrc.js
  5. 107 0
      README.md
  6. 41 0
      build/build.js
  7. 54 0
      build/check-versions.js
  8. 41 0
      build/dev.js
  9. BIN
      build/logo.png
  10. 107 0
      build/utils.js
  11. 22 0
      build/vue-loader.conf.js
  12. 84 0
      build/webpack.base.conf.js
  13. 95 0
      build/webpack.dev.conf.js
  14. 146 0
      build/webpack.prod.conf.js
  15. 95 0
      build/webpack.test.conf.js
  16. 8 0
      config/dev.env.js
  17. 75 0
      config/index.js
  18. 5 0
      config/prod.env.js
  19. 77 0
      index.html
  20. 16884 0
      package-lock.json
  21. 94 0
      package.json
  22. 294 0
      src/App.vue
  23. 21 0
      src/api/base.js
  24. 138 0
      src/api/index.js
  25. 70 0
      src/assets/css/common.css
  26. 2 0
      src/assets/css/config.less
  27. 67 0
      src/assets/font/iconfont.css
  28. 0 0
      src/assets/font/iconfont.js
  29. 100 0
      src/assets/font/iconfont.json
  30. BIN
      src/assets/font/iconfont.ttf
  31. BIN
      src/assets/font/iconfont.woff
  32. BIN
      src/assets/font/iconfont.woff2
  33. BIN
      src/assets/image/add.png
  34. BIN
      src/assets/image/alipay.png
  35. BIN
      src/assets/image/android_wx_tips.png
  36. BIN
      src/assets/image/arrows.png
  37. BIN
      src/assets/image/close.png
  38. BIN
      src/assets/image/closeIcon.png
  39. BIN
      src/assets/image/discount.png
  40. BIN
      src/assets/image/floatImg.png
  41. BIN
      src/assets/image/floatRight.png
  42. BIN
      src/assets/image/hbpay.png
  43. BIN
      src/assets/image/ios_wx_tips.png
  44. BIN
      src/assets/image/jh.jpg
  45. BIN
      src/assets/image/jh.png
  46. BIN
      src/assets/image/logoIcon.png
  47. BIN
      src/assets/image/rxzr.png
  48. BIN
      src/assets/image/safari.png
  49. BIN
      src/assets/image/share.png
  50. BIN
      src/assets/image/wxpay.png
  51. 232 0
      src/components/Inner/ExitGame.vue
  52. 222 0
      src/components/Inner/Float.vue
  53. 222 0
      src/components/Menu/MenuAccount.vue
  54. 86 0
      src/components/Menu/MenuLoginOut.vue
  55. 338 0
      src/components/Menu/MenuPay/MenuHbDetail.vue
  56. 269 0
      src/components/Menu/MenuPay/MenuHbPay.vue
  57. 151 0
      src/components/Menu/MenuPay/MenuPay.vue
  58. 868 0
      src/components/Menu/MenuPay/MenuPayH5.vue
  59. 136 0
      src/components/Menu/MenuService.vue
  60. 199 0
      src/components/Menu/MenuWxGzh.vue
  61. 395 0
      src/components/UDB/BindPhone.vue
  62. 276 0
      src/components/UDB/ChangePwd.vue
  63. 111 0
      src/components/UDB/UdbBox.vue
  64. 34 0
      src/config.js
  65. 31 0
      src/main.js
  66. 87 0
      src/plugins/flexible.js
  67. 7 0
      src/plugins/nutui.js
  68. 83 0
      src/router/index.js
  69. 110 0
      src/store/index.js
  70. 84 0
      src/utils/http.js
  71. 265 0
      src/utils/utils.js
  72. 236 0
      src/views/Counter/Counter.vue
  73. 41 0
      src/views/Counter/CounterBox.vue
  74. 406 0
      src/views/Forget/Forget.vue
  75. 68 0
      src/views/GamePay/GamePay.vue
  76. 113 0
      src/views/GamePay/GamePayBox.vue
  77. 396 0
      src/views/GamePay/GamePayH5.vue
  78. 46 0
      src/views/Home/Home.vue
  79. 89 0
      src/views/Home/HomeInner/HomeInner.vue
  80. 302 0
      src/views/Home/HomeMenu/HomeMenu.vue
  81. 520 0
      src/views/Login/Login.vue
  82. 97 0
      src/views/Login/LoginBox.vue
  83. 134 0
      src/views/Login/SelectLogin.vue
  84. 472 0
      src/views/Recall/Recall.vue
  85. 738 0
      src/views/Reg/Reg.vue
  86. 180 0
      src/views/Visitor/Visitor.vue
  87. 0 0
      static/.gitkeep

+ 31 - 0
.babelrc

@@ -0,0 +1,31 @@
+{
+    "presets": [
+        [
+            "env",
+            {
+                "modules": false,
+                "targets": {
+                    "browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
+                }
+            }
+        ],
+        "stage-2"
+    ],
+    "plugins": [
+        "transform-vue-jsx",
+        "transform-runtime",
+        [
+            "component",
+            {
+                "libraryName": "element-ui",
+                "styleLibraryName": "theme-chalk"
+            }
+        ],
+        [
+            "@nutui/babel-plugin-separate-import",
+            {
+                "style": "css"
+            }
+        ]
+    ]
+}

+ 9 - 0
.editorconfig

@@ -0,0 +1,9 @@
+root = true
+
+[*]
+charset = utf-8
+indent_style = space
+indent_size = 4
+end_of_line = lf
+insert_final_newline = true
+trim_trailing_whitespace = true

+ 14 - 0
.gitignore

@@ -0,0 +1,14 @@
+.DS_Store
+node_modules/
+/dist/
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+
+# Editor directories and files
+.idea
+.vscode
+*.suo
+*.ntvs*
+*.njsproj
+*.sln

+ 10 - 0
.postcssrc.js

@@ -0,0 +1,10 @@
+// https://github.com/michael-ciniawsky/postcss-load-config
+
+module.exports = {
+  "plugins": {
+    "postcss-import": {},
+    "postcss-url": {},
+    // to edit target browsers: use "browserslist" field in package.json
+    "autoprefixer": {}
+  }
+}

+ 107 - 0
README.md

@@ -0,0 +1,107 @@
+# 启动
+
+## node 版本
+
+node 10.16.0
+
+# 版本更新
+
+# pay
+
+## order cp 给的参数都随机生成
+
+server_id 服务器 id
+cp_order_id 游戏传递的
+app_id 包 id  
+amount 金额 分为单位
+pay_type 支付类型见群
+支付平台如下
+PayTypeAlipayApp = "ALIPAY-APP" // 支付宝 Native
+PayTypeWechatApp = "WECHAT-APP" // 微信 Native
+PayTypeHB = "HB" // 鸿币支付
+PayTypeWechatJSApi = "WECHAT-JSAPI" // 微信公众号
+PayTypeWechatMini = "WECHAT-MINI" // 微信小程序
+PayTypeAlipayH5 = "ALIPAY-H5" // 支付宝 H5
+PayTypeWechatH5 = "WECHAT-H5" // 微信 H5
+PayTypeWechatQRCode = "WECHAT-QRCODE" // 微信二维码
+PayTypeNowPayWechatH5 = "NOWPAY-WECHAT-H5" // 现在支付微信 H5
+PayTypeNowPayAlipayH5 = "NOWPAY-ALIPAY-H5" // 现在支付支付宝 H5
+PayTypeNowPayWechatGZH = "NOWPAY-WECHAT-GZH" // 现在支付微信公众号
+PayTypeAiDaoWechatH5 = "AIDAO-WECHAT-H5" // 爱道微信 H5
+
+返回值
+order_id
+
+### query
+
+order_id order 接口返回
+
+### finance
+
+没有参数
+
+### recharge
+
+群
+
+## 充值
+
+鸿币充
+appid
+应付金额 amount
+商品名 goods_name
+
+游戏
+服务器 id server_id
+服务器名 server_name
+游戏方订单号 cp_order_id
+角色 id role_id
+角色名 role_name
+商品 id goods_id
+商品名 goods_name
+应付金额 amount
+
+## amount 单位 分
+
+1 鸿币 = 1 分
+展示的时候 单位 元
+游戏方 amount 单位 分
+
+## 游戏方的 messgae 在 innerBox 监听
+
+# 路由
+
+## 登录相关路由
+
+-   [x] 登录
+-   [x] 快速登录
+-   [x] 注册
+-   [x] 忘记密码
+-   [x] 绑定手机号
+-   [x] 重置密码
+-   [x] 退出登录(方法)
+
+## 菜单路由
+
+-   [x] 总菜单(一个页面, 里面通过 v-if/v-show 展示页面)
+
+## 充值路由
+
+-   [x] 游戏内充值
+-   [x] 鸿币充值
+-   [ ] 收银台 支付完成 继续支付 支付遇到问题(联系客服)
+
+# 更新:
+
+## 2021.7.10
+
+-   [x] 配置启动项 启动时, 测试 api, 打包时, 正式 api
+
+## 2021.7.12
+
+-   [x] 登录方式选择(没有记住账密的 显示选择登录方式页面)
+-   [x] 头条上报 页面加载上报 √ 注册验证码上报 √ 注册上报 √ 快速登录上报 √ 登录完成加载游戏上报 √
+-   [x] 账号/手机号登录 新增联系客服
+-   [x] 未登录不显示提示
+-   [ ] 收银台
+-   [ ] 修改头条上报为 window.android 上报

+ 41 - 0
build/build.js

@@ -0,0 +1,41 @@
+'use strict'
+require('./check-versions')()
+
+process.env.NODE_ENV = 'production'
+
+const ora = require('ora')
+const rm = require('rimraf')
+const path = require('path')
+const chalk = require('chalk')
+const webpack = require('webpack')
+const config = require('../config')
+const webpackConfig = require('./webpack.prod.conf')
+
+const spinner = ora('building for production...')
+spinner.start()
+
+rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => {
+  if (err) throw err
+  webpack(webpackConfig, (err, stats) => {
+    spinner.stop()
+    if (err) throw err
+    process.stdout.write(stats.toString({
+      colors: true,
+      modules: false,
+      children: false, // If you are using ts-loader, setting this to true will make TypeScript errors show up during build.
+      chunks: false,
+      chunkModules: false
+    }) + '\n\n')
+
+    if (stats.hasErrors()) {
+      console.log(chalk.red('  Build failed with errors.\n'))
+      process.exit(1)
+    }
+
+    console.log(chalk.cyan('  Build complete.\n'))
+    console.log(chalk.yellow(
+      '  Tip: built files are meant to be served over an HTTP server.\n' +
+      '  Opening index.html over file:// won\'t work.\n'
+    ))
+  })
+})

+ 54 - 0
build/check-versions.js

@@ -0,0 +1,54 @@
+'use strict'
+const chalk = require('chalk')
+const semver = require('semver')
+const packageConfig = require('../package.json')
+const shell = require('shelljs')
+
+function exec (cmd) {
+  return require('child_process').execSync(cmd).toString().trim()
+}
+
+const versionRequirements = [
+  {
+    name: 'node',
+    currentVersion: semver.clean(process.version),
+    versionRequirement: packageConfig.engines.node
+  }
+]
+
+if (shell.which('npm')) {
+  versionRequirements.push({
+    name: 'npm',
+    currentVersion: exec('npm --version'),
+    versionRequirement: packageConfig.engines.npm
+  })
+}
+
+module.exports = function () {
+  const warnings = []
+
+  for (let i = 0; i < versionRequirements.length; i++) {
+    const mod = versionRequirements[i]
+
+    if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) {
+      warnings.push(mod.name + ': ' +
+        chalk.red(mod.currentVersion) + ' should be ' +
+        chalk.green(mod.versionRequirement)
+      )
+    }
+  }
+
+  if (warnings.length) {
+    console.log('')
+    console.log(chalk.yellow('To use this template, you must update following to modules:'))
+    console.log()
+
+    for (let i = 0; i < warnings.length; i++) {
+      const warning = warnings[i]
+      console.log('  ' + warning)
+    }
+
+    console.log()
+    process.exit(1)
+  }
+}

+ 41 - 0
build/dev.js

@@ -0,0 +1,41 @@
+'use strict'
+require('./check-versions')()
+
+process.env.NODE_ENV = 'production'
+
+const ora = require('ora')
+const rm = require('rimraf')
+const path = require('path')
+const chalk = require('chalk')
+const webpack = require('webpack')
+const config = require('../config')
+const webpackConfig = require('./webpack.dev.conf')
+
+const spinner = ora('building for production...')
+spinner.start()
+
+rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => {
+    if (err) throw err
+    webpack(webpackConfig, (err, stats) => {
+        spinner.stop()
+        if (err) throw err
+        process.stdout.write(stats.toString({
+            colors: true,
+            modules: false,
+            children: false, // If you are using ts-loader, setting this to true will make TypeScript errors show up during build.
+            chunks: false,
+            chunkModules: false
+        }) + '\n\n')
+
+        if (stats.hasErrors()) {
+            console.log(chalk.red('  Build failed with errors.\n'))
+            process.exit(1)
+        }
+
+        console.log(chalk.cyan('  Build complete.\n'))
+        console.log(chalk.yellow(
+            '  Tip: built files are meant to be served over an HTTP server.\n' +
+            '  Opening index.html over file:// won\'t work.\n'
+        ))
+    })
+})

BIN
build/logo.png


+ 107 - 0
build/utils.js

@@ -0,0 +1,107 @@
+'use strict'
+const path = require('path')
+const config = require('../config')
+const ExtractTextPlugin = require('extract-text-webpack-plugin')
+const packageConfig = require('../package.json')
+
+exports.assetsPath = function (_path) {
+  const assetsSubDirectory = process.env.NODE_ENV === 'production'
+    ? config.build.assetsSubDirectory
+    : config.dev.assetsSubDirectory
+
+  return path.posix.join(assetsSubDirectory, _path)
+}
+
+exports.cssLoaders = function (options) {
+  options = options || {}
+
+  const cssLoader = {
+    loader: 'css-loader',
+    options: {
+      sourceMap: options.sourceMap
+    }
+  }
+
+  const postcssLoader = {
+    loader: 'postcss-loader',
+    options: {
+      sourceMap: options.sourceMap
+    }
+  }
+
+  // generate loader string to be used with extract text plugin
+  function generateLoaders (loader, loaderOptions) {
+    const loaders = options.usePostCSS ? [cssLoader, postcssLoader] : [cssLoader]
+
+    if (loader) {
+      loaders.push({
+        loader: loader + '-loader',
+        options: Object.assign({}, loaderOptions, {
+          sourceMap: options.sourceMap
+        })
+      })
+    }
+
+    // Extract CSS when that option is specified
+    // (which is the case during production build)
+    if (options.extract) {
+      return ExtractTextPlugin.extract({
+        use: loaders,
+        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'),
+    less: generateLoaders('less').concat({
+        loader: 'sass-resources-loader',
+        options: {
+          resources: path.resolve(__dirname, '../src/assets/css/config.less') // 此处为你需要全局引入的less文件地址
+        }
+    }),
+    sass: generateLoaders('sass', { indentedSyntax: true }),
+    scss: generateLoaders('sass'),
+    stylus: generateLoaders('stylus'),
+    styl: generateLoaders('stylus')
+  }
+}
+
+// Generate loaders for standalone style files (outside of .vue)
+exports.styleLoaders = function (options) {
+  const output = []
+  const loaders = exports.cssLoaders(options)
+
+  for (const extension in loaders) {
+    const loader = loaders[extension]
+    output.push({
+      test: new RegExp('\\.' + extension + '$'),
+      use: loader
+    })
+  }
+
+  return output
+}
+
+exports.createNotifierCallback = () => {
+  const notifier = require('node-notifier')
+
+  return (severity, errors) => {
+    if (severity !== 'error') return
+
+    const error = errors[0]
+    const filename = error.file && error.file.split('!').pop()
+
+    notifier.notify({
+      title: packageConfig.name,
+      message: severity + ': ' + error.name,
+      subtitle: filename || '',
+      icon: path.join(__dirname, 'logo.png')
+    })
+  }
+}

+ 22 - 0
build/vue-loader.conf.js

@@ -0,0 +1,22 @@
+'use strict'
+const utils = require('./utils')
+const config = require('../config')
+const isProduction = process.env.NODE_ENV === 'production'
+const sourceMapEnabled = isProduction
+  ? config.build.productionSourceMap
+  : config.dev.cssSourceMap
+
+module.exports = {
+  loaders: utils.cssLoaders({
+    sourceMap: sourceMapEnabled,
+    extract: isProduction
+  }),
+  cssSourceMap: sourceMapEnabled,
+  cacheBusting: config.dev.cacheBusting,
+  transformToRequire: {
+    video: ['src', 'poster'],
+    source: 'src',
+    img: 'src',
+    image: 'xlink:href'
+  }
+}

+ 84 - 0
build/webpack.base.conf.js

@@ -0,0 +1,84 @@
+'use strict'
+const path = require('path')
+const utils = require('./utils')
+const config = require('../config')
+const vueLoaderConfig = require('./vue-loader.conf')
+
+function resolve(dir) {
+    return path.join(__dirname, '..', dir)
+}
+
+
+
+module.exports = {
+    context: path.resolve(__dirname, '../'),
+    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'),
+        }
+    },
+    module: {
+        rules: [{
+                test: /\.vue$/,
+                loader: 'vue-loader',
+                options: vueLoaderConfig
+            },
+            {
+                test: /\.js$/,
+                loader: 'babel-loader',
+                include: [resolve('src'), resolve('test'), resolve('node_modules/webpack-dev-server/client')]
+            },
+            {
+                test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
+                loader: 'url-loader',
+                options: {
+                    limit: 10000,
+                    name: utils.assetsPath('img/[name].[hash:7].[ext]')
+                }
+            },
+            {
+                test: /\.(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]')
+                }
+            },
+            {
+                test: /\.scss$/,
+                loaders: ['style', 'css', 'sass']
+            }
+        ]
+    },
+    node: {
+        // prevent webpack from injecting useless setImmediate polyfill because Vue
+        // source contains it (although only uses it if it's native).
+        setImmediate: false,
+        // prevent webpack from injecting mocks to Node native modules
+        // that does not make sense for the client
+        dgram: 'empty',
+        fs: 'empty',
+        net: 'empty',
+        tls: 'empty',
+        child_process: 'empty'
+    }
+}

+ 95 - 0
build/webpack.dev.conf.js

@@ -0,0 +1,95 @@
+'use strict'
+const utils = require('./utils')
+const webpack = require('webpack')
+const config = require('../config')
+const merge = require('webpack-merge')
+const path = require('path')
+const baseWebpackConfig = require('./webpack.base.conf')
+const CopyWebpackPlugin = require('copy-webpack-plugin')
+const HtmlWebpackPlugin = require('html-webpack-plugin')
+const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin')
+const portfinder = require('portfinder')
+
+const HOST = process.env.HOST
+const PORT = process.env.PORT && Number(process.env.PORT)
+
+const devWebpackConfig = merge(baseWebpackConfig, {
+  module: {
+    rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap, usePostCSS: true })
+  },
+  // cheap-module-eval-source-map is faster for development
+  devtool: config.dev.devtool,
+
+  // these devServer options should be customized in /config/index.js
+  devServer: {
+    clientLogLevel: 'warning',
+    historyApiFallback: {
+      rewrites: [
+        { from: /.*/, to: path.posix.join(config.dev.assetsPublicPath, 'index.html') },
+      ],
+    },
+    hot: true,
+    contentBase: false, // since we use CopyWebpackPlugin.
+    compress: true,
+    host: HOST || config.dev.host,
+    port: PORT || config.dev.port,
+    open: config.dev.autoOpenBrowser,
+    overlay: config.dev.errorOverlay
+      ? { warnings: false, errors: true }
+      : false,
+    publicPath: config.dev.assetsPublicPath,
+    proxy: config.dev.proxyTable,
+    quiet: true, // necessary for FriendlyErrorsPlugin
+    watchOptions: {
+      poll: config.dev.poll,
+    }
+  },
+  plugins: [
+    new webpack.DefinePlugin({
+      'process.env': require('../config/dev.env')
+    }),
+    new webpack.HotModuleReplacementPlugin(),
+    new webpack.NamedModulesPlugin(), // HMR shows correct file names in console on update.
+    new webpack.NoEmitOnErrorsPlugin(),
+    // https://github.com/ampedandwired/html-webpack-plugin
+    new HtmlWebpackPlugin({
+      filename: 'index.html',
+      template: 'index.html',
+      inject: true
+    }),
+    // copy custom static assets
+    new CopyWebpackPlugin([
+      {
+        from: path.resolve(__dirname, '../static'),
+        to: config.dev.assetsSubDirectory,
+        ignore: ['.*']
+      }
+    ])
+  ]
+})
+
+module.exports = new Promise((resolve, reject) => {
+  portfinder.basePort = process.env.PORT || config.dev.port
+  portfinder.getPort((err, port) => {
+    if (err) {
+      reject(err)
+    } else {
+      // publish the new Port, necessary for e2e tests
+      process.env.PORT = port
+      // add port to devServer config
+      devWebpackConfig.devServer.port = port
+
+      // Add FriendlyErrorsPlugin
+      devWebpackConfig.plugins.push(new FriendlyErrorsPlugin({
+        compilationSuccessInfo: {
+          messages: [`Your application is running here: http://${devWebpackConfig.devServer.host}:${port}`],
+        },
+        onErrors: config.dev.notifyOnErrors
+        ? utils.createNotifierCallback()
+        : undefined
+      }))
+
+      resolve(devWebpackConfig)
+    }
+  })
+})

+ 146 - 0
build/webpack.prod.conf.js

@@ -0,0 +1,146 @@
+'use strict'
+const path = require('path')
+const utils = require('./utils')
+const webpack = require('webpack')
+const config = require('../config')
+const merge = require('webpack-merge')
+const baseWebpackConfig = require('./webpack.base.conf')
+const CopyWebpackPlugin = require('copy-webpack-plugin')
+const HtmlWebpackPlugin = require('html-webpack-plugin')
+const ExtractTextPlugin = require('extract-text-webpack-plugin')
+const OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin')
+const UglifyJsPlugin = require('uglifyjs-webpack-plugin')
+
+const env = require('../config/prod.env')
+
+const webpackConfig = merge(baseWebpackConfig, {
+  module: {
+    rules: utils.styleLoaders({
+      sourceMap: config.build.productionSourceMap,
+      extract: true,
+      usePostCSS: true
+    })
+  },
+  devtool: config.build.productionSourceMap ? config.build.devtool : false,
+  output: {
+    // publicPath:'./',//添加背景图
+    path: config.build.assetsRoot,
+    filename: utils.assetsPath('js/[name].[chunkhash].js'),
+    chunkFilename: utils.assetsPath('js/[id].[chunkhash].js')
+  },
+  plugins: [
+    // http://vuejs.github.io/vue-loader/en/workflow/production.html
+    new webpack.DefinePlugin({
+      'process.env': env
+    }),
+    new UglifyJsPlugin({
+      uglifyOptions: {
+        compress: {
+          warnings: false
+        }
+      },
+      sourceMap: config.build.productionSourceMap,
+      parallel: true
+    }),
+    // extract css into its own file
+    new ExtractTextPlugin({
+      filename: utils.assetsPath('css/[name].[contenthash].css'),
+      // Setting the following option to `false` will not extract CSS from codesplit chunks.
+      // Their CSS will instead be inserted dynamically with style-loader when the codesplit chunk has been loaded by webpack.
+      // It's currently set to `true` because we are seeing that sourcemaps are included in the codesplit bundle as well when it's `false`, 
+      // increasing file size: https://github.com/vuejs-templates/webpack/issues/1110
+      allChunks: true,
+    }),
+    // Compress extracted CSS. We are using this plugin so that possible
+    // duplicated CSS from different components can be deduped.
+    new OptimizeCSSPlugin({
+      cssProcessorOptions: config.build.productionSourceMap
+        ? { safe: true, map: { inline: false } }
+        : { safe: true }
+    }),
+    // generate dist index.html with correct asset hash for caching.
+    // you can customize output by editing /index.html
+    // see https://github.com/ampedandwired/html-webpack-plugin
+    new HtmlWebpackPlugin({
+      filename: config.build.index,
+      template: 'index.html',
+      inject: true,
+      minify: {
+        removeComments: true,
+        collapseWhitespace: true,
+        removeAttributeQuotes: true
+        // more options:
+        // https://github.com/kangax/html-minifier#options-quick-reference
+      },
+      // necessary to consistently work with multiple chunks via CommonsChunkPlugin
+      chunksSortMode: 'dependency'
+    }),
+    // keep module.id stable when vendor modules does not change
+    new webpack.HashedModuleIdsPlugin(),
+    // enable scope hoisting
+    new webpack.optimize.ModuleConcatenationPlugin(),
+    // split vendor js into its own file
+    new webpack.optimize.CommonsChunkPlugin({
+      name: 'vendor',
+      minChunks (module) {
+        // any required modules inside node_modules are extracted to vendor
+        return (
+          module.resource &&
+          /\.js$/.test(module.resource) &&
+          module.resource.indexOf(
+            path.join(__dirname, '../node_modules')
+          ) === 0
+        )
+      }
+    }),
+    // extract webpack runtime and module manifest to its own file in order to
+    // prevent vendor hash from being updated whenever app bundle is updated
+    new webpack.optimize.CommonsChunkPlugin({
+      name: 'manifest',
+      minChunks: Infinity
+    }),
+    // This instance extracts shared chunks from code splitted chunks and bundles them
+    // in a separate chunk, similar to the vendor chunk
+    // see: https://webpack.js.org/plugins/commons-chunk-plugin/#extra-async-commons-chunk
+    new webpack.optimize.CommonsChunkPlugin({
+      name: 'app',
+      async: 'vendor-async',
+      children: true,
+      minChunks: 3
+    }),
+
+    // copy custom static assets
+    new CopyWebpackPlugin([
+      {
+        from: path.resolve(__dirname, '../static'),
+        to: config.build.assetsSubDirectory,
+        ignore: ['.*']
+      }
+    ])
+  ]
+})
+
+if (config.build.productionGzip) {
+  const CompressionWebpackPlugin = require('compression-webpack-plugin')
+
+  webpackConfig.plugins.push(
+    new CompressionWebpackPlugin({
+      asset: '[path].gz[query]',
+      algorithm: 'gzip',
+      test: new RegExp(
+        '\\.(' +
+        config.build.productionGzipExtensions.join('|') +
+        ')$'
+      ),
+      threshold: 10240,
+      minRatio: 0.8
+    })
+  )
+}
+
+if (config.build.bundleAnalyzerReport) {
+  const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
+  webpackConfig.plugins.push(new BundleAnalyzerPlugin())
+}
+
+module.exports = webpackConfig

+ 95 - 0
build/webpack.test.conf.js

@@ -0,0 +1,95 @@
+'use strict'
+const utils = require('./utils')
+const webpack = require('webpack')
+const config = require('../config')
+const merge = require('webpack-merge')
+const path = require('path')
+const baseWebpackConfig = require('./webpack.base.conf')
+const CopyWebpackPlugin = require('copy-webpack-plugin')
+const HtmlWebpackPlugin = require('html-webpack-plugin')
+const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin')
+const portfinder = require('portfinder')
+
+const HOST = process.env.HOST
+const PORT = process.env.PORT && Number(process.env.PORT)
+
+const devWebpackConfig = merge(baseWebpackConfig, {
+  module: {
+    rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap, usePostCSS: true })
+  },
+  // cheap-module-eval-source-map is faster for development
+  devtool: config.dev.devtool,
+
+  // these devServer options should be customized in /config/index.js
+  devServer: {
+    clientLogLevel: 'warning',
+    historyApiFallback: {
+      rewrites: [
+        { from: /.*/, to: path.posix.join(config.dev.assetsPublicPath, 'index.html') },
+      ],
+    },
+    hot: true,
+    contentBase: false, // since we use CopyWebpackPlugin.
+    compress: true,
+    host: HOST || config.dev.host,
+    port: PORT || config.dev.port,
+    open: config.dev.autoOpenBrowser,
+    overlay: config.dev.errorOverlay
+      ? { warnings: false, errors: true }
+      : false,
+    publicPath: config.dev.assetsPublicPath,
+    proxy: config.dev.proxyTable,
+    quiet: true, // necessary for FriendlyErrorsPlugin
+    watchOptions: {
+      poll: config.dev.poll,
+    }
+  },
+  plugins: [
+    new webpack.DefinePlugin({
+      'process.env': require('../config/dev.env')
+    }),
+    new webpack.HotModuleReplacementPlugin(),
+    new webpack.NamedModulesPlugin(), // HMR shows correct file names in console on update.
+    new webpack.NoEmitOnErrorsPlugin(),
+    // https://github.com/ampedandwired/html-webpack-plugin
+    new HtmlWebpackPlugin({
+      filename: 'index.html',
+      template: 'index.html',
+      inject: true
+    }),
+    // copy custom static assets
+    new CopyWebpackPlugin([
+      {
+        from: path.resolve(__dirname, '../static'),
+        to: config.dev.assetsSubDirectory,
+        ignore: ['.*']
+      }
+    ])
+  ]
+})
+
+module.exports = new Promise((resolve, reject) => {
+  portfinder.basePort = process.env.PORT || config.dev.port
+  portfinder.getPort((err, port) => {
+    if (err) {
+      reject(err)
+    } else {
+      // publish the new Port, necessary for e2e tests
+      process.env.PORT = port
+      // add port to devServer config
+      devWebpackConfig.devServer.port = port
+
+      // Add FriendlyErrorsPlugin
+      devWebpackConfig.plugins.push(new FriendlyErrorsPlugin({
+        compilationSuccessInfo: {
+          messages: [`Your application is running here: http://${devWebpackConfig.devServer.host}:${port}`],
+        },
+        onErrors: config.dev.notifyOnErrors
+        ? utils.createNotifierCallback()
+        : undefined
+      }))
+
+      resolve(devWebpackConfig)
+    }
+  })
+})

+ 8 - 0
config/dev.env.js

@@ -0,0 +1,8 @@
+'use strict'
+const merge = require('webpack-merge')
+const prodEnv = require('./prod.env')
+
+module.exports = merge(prodEnv, {
+    NODE_ENV: '"development"',
+    API_ROOT: '"//10.10.100.138:8080"', // 测试环境地址
+})

+ 75 - 0
config/index.js

@@ -0,0 +1,75 @@
+'use strict'
+// Template version: 1.3.1
+// see http://vuejs-templates.github.io/webpack for documentation.
+
+const path = require('path')
+
+module.exports = {
+    dev: {
+
+        // Paths
+        assetsSubDirectory: 'static',
+        assetsPublicPath: '/',
+        // Various Dev Server settings
+        host: '10.10.100.159', // can be overwritten by process.env.HOST
+        port: 8080, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
+        autoOpenBrowser: false,
+        errorOverlay: true,
+        notifyOnErrors: true,
+        poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions-
+        proxyTable: {
+            // '/api': {
+            //     target: 'https://api.jhfly.cn',
+            //     changeOrigin: true,
+            //     pathRewrite: {
+            //         '^/api': '/'
+            //     }
+            // }
+        },
+
+        /**
+         * Source Maps
+         */
+
+        // https://webpack.js.org/configuration/devtool/#development
+        devtool: 'cheap-module-eval-source-map',
+
+        // If you have problems debugging vue-files in devtools,
+        // set this to false - it *may* help
+        // https://vue-loader.vuejs.org/en/options.html#cachebusting
+        cacheBusting: true,
+
+        cssSourceMap: true
+    },
+
+    build: {
+        // Template for index.html
+        index: path.resolve(__dirname, '../dist/index.html'),
+
+        // Paths
+        assetsRoot: path.resolve(__dirname, '../dist'),
+        assetsSubDirectory: 'static',
+        assetsPublicPath: './',
+
+        /**
+         * Source Maps
+         */
+
+        productionSourceMap: true,
+        // https://webpack.js.org/configuration/devtool/#production
+        devtool: '#source-map',
+
+        // Gzip off by default as many popular static hosts such as
+        // Surge or Netlify already gzip all static assets for you.
+        // Before setting to `true`, make sure to:
+        // npm install --save-dev compression-webpack-plugin
+        productionGzip: false,
+        productionGzipExtensions: ['js', 'css'],
+
+        // Run the build command with an extra argument to
+        // View the bundle analyzer report after build finishes:
+        // `npm run build --report`
+        // Set to `true` or `false` to always turn it on or off
+        bundleAnalyzerReport: process.env.npm_config_report
+    }
+}

+ 5 - 0
config/prod.env.js

@@ -0,0 +1,5 @@
+'use strict'
+module.exports = {
+    NODE_ENV: '"production"',
+    API_ROOT: '"https://api.jhfly.cn"', // 正式环境地址
+}

+ 77 - 0
index.html

@@ -0,0 +1,77 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8" />
+    <meta http-equiv="X-UA-Compatible" content="ie=edge,chrome=1" />
+    <meta name="viewport" content="width=device-width,initial-scale=1.0" />
+    <!-- 针对手持设备优化,主要是针对一些老的不识别viewport的浏览器,比如黑莓 -->
+    <meta name="HandheldFriendly" content="true" />
+    <!-- 微软的老式浏览器 -->
+    <meta name="MobileOptimized" content="320" />
+    <!-- uc强制竖屏 -->
+    <meta name="screen-orientation" content="portrait" />
+    <!-- QQ强制竖屏 -->
+    <meta name="x5-orientation" content="portrait" />
+    <!-- UC强制全屏 -->
+    <meta name="full-screen" content="yes" />
+    <!-- QQ强制全屏 -->
+    <meta name="x5-fullscreen" content="true" />
+    <!-- UC应用模式 -->
+    <meta name="browsermode" content="application" />
+    <!-- QQ应用模式 -->
+    <meta name="x5-page-mode" content="app" />
+    <!-- windows phone 点击无高光 -->
+    <meta name="msapplication-tap-highlight" content="no" />
+    <!-- 启用360浏览器的极速模式(webkit) -->
+    <meta name="renderer" content="webkit" />
+    <!-- 删除默认的苹果工具栏和菜单栏 -->
+    <meta name="apple-mobile-web-app-capable" content="yes" />
+    <!-- 设置顶部的bar为黑色背景色 -->
+    <meta name="apple-mobile-web-app-status-bar-style" content="black" />
+    <title>关注惊鸿游戏公众号领福利</title>
+
+    <!-- Bytedance Tracking -->
+    <script>
+        (function(r, d, s, l) {
+            var meteor = r.meteor = r.meteor || [];
+            meteor.methods = ["track", "off", "on"];
+            meteor.factory = function(method) {
+                return function() {
+                    var args = Array.prototype.slice.call(arguments);
+                    args.unshift(method);
+                    meteor.push(args);
+                    return meteor
+                }
+            };
+            for (var i = 0; i < meteor.methods.length; i++) {
+                var key = meteor.methods[i];
+                meteor[key] = meteor.factory(key)
+            }
+            meteor.load = function() {
+                var js, fjs = d.getElementsByTagName(s)[0];
+                js = d.createElement(s);
+                js.src = "https://analytics.snssdk.com/meteor.js/v1/" + l + "/sdk";
+                fjs.parentNode.insertBefore(js, fjs)
+            };
+            meteor.load();
+            if (meteor.invoked) {
+                return
+            }
+            meteor.invoked = true;
+            meteor.track("pageview")
+        })(window, document, "script", "1704442284527624");
+    </script>
+    <!-- End Bytedance Tracking -->
+
+</head>
+<!-- <script src="https://cdn.bootcss.com/vConsole/3.2.0/vconsole.min.js"></script> -->
+<script>
+    // var vConsole = new VConsole();
+</script>
+
+<body>
+    <div id="app"></div>
+</body>
+
+</html>

+ 16884 - 0
package-lock.json

@@ -0,0 +1,16884 @@
+{
+    "name": "vue-demo",
+    "version": "1.0.0",
+    "lockfileVersion": 1,
+    "requires": true,
+    "dependencies": {
+        "@babel/code-frame": {
+            "version": "7.14.5",
+            "resolved": "https://registry.nlark.com/@babel/code-frame/download/@babel/code-frame-7.14.5.tgz?cache=0&sync_timestamp=1623280394200&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fcode-frame%2Fdownload%2F%40babel%2Fcode-frame-7.14.5.tgz",
+            "integrity": "sha1-I7CNdA6D9JxeWZRfvxtD6Au/Tts=",
+            "requires": {
+                "@babel/highlight": "^7.14.5"
+            }
+        },
+        "@babel/compat-data": {
+            "version": "7.14.5",
+            "resolved": "https://registry.nlark.com/@babel/compat-data/download/@babel/compat-data-7.14.5.tgz?cache=0&sync_timestamp=1623280503073&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fcompat-data%2Fdownload%2F%40babel%2Fcompat-data-7.14.5.tgz",
+            "integrity": "sha1-jvTBjljoAcXJXTwcDyh0omgPreo="
+        },
+        "@babel/core": {
+            "version": "7.14.5",
+            "resolved": "https://registry.nlark.com/@babel/core/download/@babel/core-7.14.5.tgz?cache=0&sync_timestamp=1623280464106&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fcore%2Fdownload%2F%40babel%2Fcore-7.14.5.tgz",
+            "integrity": "sha1-0oH0apkF8H0bO/cerVTZx9icseM=",
+            "requires": {
+                "@babel/code-frame": "^7.14.5",
+                "@babel/generator": "^7.14.5",
+                "@babel/helper-compilation-targets": "^7.14.5",
+                "@babel/helper-module-transforms": "^7.14.5",
+                "@babel/helpers": "^7.14.5",
+                "@babel/parser": "^7.14.5",
+                "@babel/template": "^7.14.5",
+                "@babel/traverse": "^7.14.5",
+                "@babel/types": "^7.14.5",
+                "convert-source-map": "^1.7.0",
+                "debug": "^4.1.0",
+                "gensync": "^1.0.0-beta.2",
+                "json5": "^2.1.2",
+                "semver": "^6.3.0",
+                "source-map": "^0.5.0"
+            },
+            "dependencies": {
+                "@babel/types": {
+                    "version": "7.14.5",
+                    "resolved": "https://registry.nlark.com/@babel/types/download/@babel/types-7.14.5.tgz?cache=0&sync_timestamp=1623280355970&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Ftypes%2Fdownload%2F%40babel%2Ftypes-7.14.5.tgz",
+                    "integrity": "sha1-O7mXuoKaIQTO2yBonEpbgSHTg/8=",
+                    "requires": {
+                        "@babel/helper-validator-identifier": "^7.14.5",
+                        "to-fast-properties": "^2.0.0"
+                    }
+                },
+                "debug": {
+                    "version": "4.3.1",
+                    "resolved": "https://registry.nlark.com/debug/download/debug-4.3.1.tgz?cache=0&sync_timestamp=1618847042350&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-4.3.1.tgz",
+                    "integrity": "sha1-8NIpxQXgxtjEmsVT0bE9wYP2su4=",
+                    "requires": {
+                        "ms": "2.1.2"
+                    }
+                },
+                "json5": {
+                    "version": "2.2.0",
+                    "resolved": "https://registry.npm.taobao.org/json5/download/json5-2.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson5%2Fdownload%2Fjson5-2.2.0.tgz",
+                    "integrity": "sha1-Lf7+cgxrpSXZ69kJlQ8FFTFsiaM=",
+                    "requires": {
+                        "minimist": "^1.2.5"
+                    }
+                },
+                "ms": {
+                    "version": "2.1.2",
+                    "resolved": "https://registry.nlark.com/ms/download/ms-2.1.2.tgz",
+                    "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk="
+                },
+                "semver": {
+                    "version": "6.3.0",
+                    "resolved": "https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1618847119601&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz",
+                    "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0="
+                },
+                "source-map": {
+                    "version": "0.5.7",
+                    "resolved": "https://registry.nlark.com/source-map/download/source-map-0.5.7.tgz",
+                    "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+                },
+                "to-fast-properties": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.nlark.com/to-fast-properties/download/to-fast-properties-2.0.0.tgz",
+                    "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
+                }
+            }
+        },
+        "@babel/generator": {
+            "version": "7.14.5",
+            "resolved": "https://registry.nlark.com/@babel/generator/download/@babel/generator-7.14.5.tgz?cache=0&sync_timestamp=1623280360946&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fgenerator%2Fdownload%2F%40babel%2Fgenerator-7.14.5.tgz",
+            "integrity": "sha1-hI17nwMcrKnQzQrwGwY/Im9S14U=",
+            "requires": {
+                "@babel/types": "^7.14.5",
+                "jsesc": "^2.5.1",
+                "source-map": "^0.5.0"
+            },
+            "dependencies": {
+                "@babel/types": {
+                    "version": "7.14.5",
+                    "resolved": "https://registry.nlark.com/@babel/types/download/@babel/types-7.14.5.tgz?cache=0&sync_timestamp=1623280355970&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Ftypes%2Fdownload%2F%40babel%2Ftypes-7.14.5.tgz",
+                    "integrity": "sha1-O7mXuoKaIQTO2yBonEpbgSHTg/8=",
+                    "requires": {
+                        "@babel/helper-validator-identifier": "^7.14.5",
+                        "to-fast-properties": "^2.0.0"
+                    }
+                },
+                "jsesc": {
+                    "version": "2.5.2",
+                    "resolved": "https://registry.nlark.com/jsesc/download/jsesc-2.5.2.tgz",
+                    "integrity": "sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q="
+                },
+                "source-map": {
+                    "version": "0.5.7",
+                    "resolved": "https://registry.nlark.com/source-map/download/source-map-0.5.7.tgz",
+                    "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+                },
+                "to-fast-properties": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.nlark.com/to-fast-properties/download/to-fast-properties-2.0.0.tgz",
+                    "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
+                }
+            }
+        },
+        "@babel/helper-compilation-targets": {
+            "version": "7.14.5",
+            "resolved": "https://registry.nlark.com/@babel/helper-compilation-targets/download/@babel/helper-compilation-targets-7.14.5.tgz?cache=0&sync_timestamp=1623280393577&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-compilation-targets%2Fdownload%2F%40babel%2Fhelper-compilation-targets-7.14.5.tgz",
+            "integrity": "sha1-epnF0JZ5Eely/iw0EffVtJhJjs8=",
+            "requires": {
+                "@babel/compat-data": "^7.14.5",
+                "@babel/helper-validator-option": "^7.14.5",
+                "browserslist": "^4.16.6",
+                "semver": "^6.3.0"
+            },
+            "dependencies": {
+                "browserslist": {
+                    "version": "4.16.6",
+                    "resolved": "https://registry.nlark.com/browserslist/download/browserslist-4.16.6.tgz?cache=0&sync_timestamp=1619789101558&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbrowserslist%2Fdownload%2Fbrowserslist-4.16.6.tgz",
+                    "integrity": "sha1-15ASd6WojlVO0wWxg+ybDAj2b6I=",
+                    "requires": {
+                        "caniuse-lite": "^1.0.30001219",
+                        "colorette": "^1.2.2",
+                        "electron-to-chromium": "^1.3.723",
+                        "escalade": "^3.1.1",
+                        "node-releases": "^1.1.71"
+                    }
+                },
+                "caniuse-lite": {
+                    "version": "1.0.30001237",
+                    "resolved": "https://registry.nlark.com/caniuse-lite/download/caniuse-lite-1.0.30001237.tgz",
+                    "integrity": "sha1-S3eDZhUVuOcVH8Y3bP2X8OQnueU="
+                },
+                "electron-to-chromium": {
+                    "version": "1.3.752",
+                    "resolved": "https://registry.nlark.com/electron-to-chromium/download/electron-to-chromium-1.3.752.tgz?cache=0&sync_timestamp=1623290610685&other_urls=https%3A%2F%2Fregistry.nlark.com%2Felectron-to-chromium%2Fdownload%2Felectron-to-chromium-1.3.752.tgz",
+                    "integrity": "sha1-ByhYfxublw7J/62TJJZCmu91DQk="
+                },
+                "node-releases": {
+                    "version": "1.1.73",
+                    "resolved": "https://registry.nlark.com/node-releases/download/node-releases-1.1.73.tgz?cache=0&sync_timestamp=1623060267794&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnode-releases%2Fdownload%2Fnode-releases-1.1.73.tgz",
+                    "integrity": "sha1-3U6B3dUnf/hGuAtSu0DEnt96eyA="
+                },
+                "semver": {
+                    "version": "6.3.0",
+                    "resolved": "https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1618847119601&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz",
+                    "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0="
+                }
+            }
+        },
+        "@babel/helper-define-polyfill-provider": {
+            "version": "0.2.3",
+            "resolved": "https://registry.nlark.com/@babel/helper-define-polyfill-provider/download/@babel/helper-define-polyfill-provider-0.2.3.tgz?cache=0&sync_timestamp=1622025470416&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-define-polyfill-provider%2Fdownload%2F%40babel%2Fhelper-define-polyfill-provider-0.2.3.tgz",
+            "integrity": "sha1-BSXt7FCUZTooJojTTYRuTHXpwLY=",
+            "requires": {
+                "@babel/helper-compilation-targets": "^7.13.0",
+                "@babel/helper-module-imports": "^7.12.13",
+                "@babel/helper-plugin-utils": "^7.13.0",
+                "@babel/traverse": "^7.13.0",
+                "debug": "^4.1.1",
+                "lodash.debounce": "^4.0.8",
+                "resolve": "^1.14.2",
+                "semver": "^6.1.2"
+            },
+            "dependencies": {
+                "@babel/helper-module-imports": {
+                    "version": "7.14.5",
+                    "resolved": "https://registry.nlark.com/@babel/helper-module-imports/download/@babel/helper-module-imports-7.14.5.tgz?cache=0&sync_timestamp=1623280362184&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-module-imports%2Fdownload%2F%40babel%2Fhelper-module-imports-7.14.5.tgz",
+                    "integrity": "sha1-bRpE32o4yVeqfDEtoHZCnxG0IvM=",
+                    "requires": {
+                        "@babel/types": "^7.14.5"
+                    }
+                },
+                "@babel/types": {
+                    "version": "7.14.5",
+                    "resolved": "https://registry.nlark.com/@babel/types/download/@babel/types-7.14.5.tgz?cache=0&sync_timestamp=1623280355970&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Ftypes%2Fdownload%2F%40babel%2Ftypes-7.14.5.tgz",
+                    "integrity": "sha1-O7mXuoKaIQTO2yBonEpbgSHTg/8=",
+                    "requires": {
+                        "@babel/helper-validator-identifier": "^7.14.5",
+                        "to-fast-properties": "^2.0.0"
+                    }
+                },
+                "debug": {
+                    "version": "4.3.1",
+                    "resolved": "https://registry.nlark.com/debug/download/debug-4.3.1.tgz?cache=0&sync_timestamp=1618847042350&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-4.3.1.tgz",
+                    "integrity": "sha1-8NIpxQXgxtjEmsVT0bE9wYP2su4=",
+                    "requires": {
+                        "ms": "2.1.2"
+                    }
+                },
+                "ms": {
+                    "version": "2.1.2",
+                    "resolved": "https://registry.nlark.com/ms/download/ms-2.1.2.tgz",
+                    "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk="
+                },
+                "semver": {
+                    "version": "6.3.0",
+                    "resolved": "https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1618847119601&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz",
+                    "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0="
+                },
+                "to-fast-properties": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.nlark.com/to-fast-properties/download/to-fast-properties-2.0.0.tgz",
+                    "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
+                }
+            }
+        },
+        "@babel/helper-function-name": {
+            "version": "7.14.5",
+            "resolved": "https://registry.nlark.com/@babel/helper-function-name/download/@babel/helper-function-name-7.14.5.tgz?cache=0&sync_timestamp=1623280385237&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-function-name%2Fdownload%2F%40babel%2Fhelper-function-name-7.14.5.tgz",
+            "integrity": "sha1-ieLEdJcvFdjiM7Uu6MSA4s/NUMQ=",
+            "requires": {
+                "@babel/helper-get-function-arity": "^7.14.5",
+                "@babel/template": "^7.14.5",
+                "@babel/types": "^7.14.5"
+            },
+            "dependencies": {
+                "@babel/types": {
+                    "version": "7.14.5",
+                    "resolved": "https://registry.nlark.com/@babel/types/download/@babel/types-7.14.5.tgz?cache=0&sync_timestamp=1623280355970&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Ftypes%2Fdownload%2F%40babel%2Ftypes-7.14.5.tgz",
+                    "integrity": "sha1-O7mXuoKaIQTO2yBonEpbgSHTg/8=",
+                    "requires": {
+                        "@babel/helper-validator-identifier": "^7.14.5",
+                        "to-fast-properties": "^2.0.0"
+                    }
+                },
+                "to-fast-properties": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.nlark.com/to-fast-properties/download/to-fast-properties-2.0.0.tgz",
+                    "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
+                }
+            }
+        },
+        "@babel/helper-get-function-arity": {
+            "version": "7.14.5",
+            "resolved": "https://registry.nlark.com/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.14.5.tgz?cache=0&sync_timestamp=1623280360950&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-get-function-arity%2Fdownload%2F%40babel%2Fhelper-get-function-arity-7.14.5.tgz",
+            "integrity": "sha1-Jfv6V5sJN+7h87gF7OTOOYxDGBU=",
+            "requires": {
+                "@babel/types": "^7.14.5"
+            },
+            "dependencies": {
+                "@babel/types": {
+                    "version": "7.14.5",
+                    "resolved": "https://registry.nlark.com/@babel/types/download/@babel/types-7.14.5.tgz?cache=0&sync_timestamp=1623280355970&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Ftypes%2Fdownload%2F%40babel%2Ftypes-7.14.5.tgz",
+                    "integrity": "sha1-O7mXuoKaIQTO2yBonEpbgSHTg/8=",
+                    "requires": {
+                        "@babel/helper-validator-identifier": "^7.14.5",
+                        "to-fast-properties": "^2.0.0"
+                    }
+                },
+                "to-fast-properties": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.nlark.com/to-fast-properties/download/to-fast-properties-2.0.0.tgz",
+                    "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
+                }
+            }
+        },
+        "@babel/helper-hoist-variables": {
+            "version": "7.14.5",
+            "resolved": "https://registry.nlark.com/@babel/helper-hoist-variables/download/@babel/helper-hoist-variables-7.14.5.tgz?cache=0&sync_timestamp=1623280361512&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-hoist-variables%2Fdownload%2F%40babel%2Fhelper-hoist-variables-7.14.5.tgz",
+            "integrity": "sha1-4N0nwzp45XfXyIhJFqPn7x98f40=",
+            "requires": {
+                "@babel/types": "^7.14.5"
+            },
+            "dependencies": {
+                "@babel/types": {
+                    "version": "7.14.5",
+                    "resolved": "https://registry.nlark.com/@babel/types/download/@babel/types-7.14.5.tgz?cache=0&sync_timestamp=1623280355970&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Ftypes%2Fdownload%2F%40babel%2Ftypes-7.14.5.tgz",
+                    "integrity": "sha1-O7mXuoKaIQTO2yBonEpbgSHTg/8=",
+                    "requires": {
+                        "@babel/helper-validator-identifier": "^7.14.5",
+                        "to-fast-properties": "^2.0.0"
+                    }
+                },
+                "to-fast-properties": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.nlark.com/to-fast-properties/download/to-fast-properties-2.0.0.tgz",
+                    "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
+                }
+            }
+        },
+        "@babel/helper-member-expression-to-functions": {
+            "version": "7.14.5",
+            "resolved": "https://registry.nlark.com/@babel/helper-member-expression-to-functions/download/@babel/helper-member-expression-to-functions-7.14.5.tgz?cache=0&sync_timestamp=1623280360948&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-member-expression-to-functions%2Fdownload%2F%40babel%2Fhelper-member-expression-to-functions-7.14.5.tgz",
+            "integrity": "sha1-1ccOStE7QCyVFWx6U1aPUE4vt7g=",
+            "requires": {
+                "@babel/types": "^7.14.5"
+            },
+            "dependencies": {
+                "@babel/types": {
+                    "version": "7.14.5",
+                    "resolved": "https://registry.nlark.com/@babel/types/download/@babel/types-7.14.5.tgz?cache=0&sync_timestamp=1623280355970&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Ftypes%2Fdownload%2F%40babel%2Ftypes-7.14.5.tgz",
+                    "integrity": "sha1-O7mXuoKaIQTO2yBonEpbgSHTg/8=",
+                    "requires": {
+                        "@babel/helper-validator-identifier": "^7.14.5",
+                        "to-fast-properties": "^2.0.0"
+                    }
+                },
+                "to-fast-properties": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.nlark.com/to-fast-properties/download/to-fast-properties-2.0.0.tgz",
+                    "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
+                }
+            }
+        },
+        "@babel/helper-module-imports": {
+            "version": "7.0.0-beta.35",
+            "resolved": "https://registry.npm.taobao.org/@babel/helper-module-imports/download/@babel/helper-module-imports-7.0.0-beta.35.tgz?cache=0&sync_timestamp=1604441076449&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-module-imports%2Fdownload%2F%40babel%2Fhelper-module-imports-7.0.0-beta.35.tgz",
+            "integrity": "sha1-MI41DnMXUs200PBY3x1wSSXGTgo=",
+            "dev": true,
+            "requires": {
+                "@babel/types": "7.0.0-beta.35",
+                "lodash": "^4.2.0"
+            }
+        },
+        "@babel/helper-module-transforms": {
+            "version": "7.14.5",
+            "resolved": "https://registry.nlark.com/@babel/helper-module-transforms/download/@babel/helper-module-transforms-7.14.5.tgz?cache=0&sync_timestamp=1623280681627&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-module-transforms%2Fdownload%2F%40babel%2Fhelper-module-transforms-7.14.5.tgz",
+            "integrity": "sha1-feQvENeJtCPrkC69JAMcp3yx4Q4=",
+            "requires": {
+                "@babel/helper-module-imports": "^7.14.5",
+                "@babel/helper-replace-supers": "^7.14.5",
+                "@babel/helper-simple-access": "^7.14.5",
+                "@babel/helper-split-export-declaration": "^7.14.5",
+                "@babel/helper-validator-identifier": "^7.14.5",
+                "@babel/template": "^7.14.5",
+                "@babel/traverse": "^7.14.5",
+                "@babel/types": "^7.14.5"
+            },
+            "dependencies": {
+                "@babel/helper-module-imports": {
+                    "version": "7.14.5",
+                    "resolved": "https://registry.nlark.com/@babel/helper-module-imports/download/@babel/helper-module-imports-7.14.5.tgz?cache=0&sync_timestamp=1623280362184&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-module-imports%2Fdownload%2F%40babel%2Fhelper-module-imports-7.14.5.tgz",
+                    "integrity": "sha1-bRpE32o4yVeqfDEtoHZCnxG0IvM=",
+                    "requires": {
+                        "@babel/types": "^7.14.5"
+                    }
+                },
+                "@babel/types": {
+                    "version": "7.14.5",
+                    "resolved": "https://registry.nlark.com/@babel/types/download/@babel/types-7.14.5.tgz?cache=0&sync_timestamp=1623280355970&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Ftypes%2Fdownload%2F%40babel%2Ftypes-7.14.5.tgz",
+                    "integrity": "sha1-O7mXuoKaIQTO2yBonEpbgSHTg/8=",
+                    "requires": {
+                        "@babel/helper-validator-identifier": "^7.14.5",
+                        "to-fast-properties": "^2.0.0"
+                    }
+                },
+                "to-fast-properties": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.nlark.com/to-fast-properties/download/to-fast-properties-2.0.0.tgz",
+                    "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
+                }
+            }
+        },
+        "@babel/helper-optimise-call-expression": {
+            "version": "7.14.5",
+            "resolved": "https://registry.nlark.com/@babel/helper-optimise-call-expression/download/@babel/helper-optimise-call-expression-7.14.5.tgz?cache=0&sync_timestamp=1623280360981&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-optimise-call-expression%2Fdownload%2F%40babel%2Fhelper-optimise-call-expression-7.14.5.tgz",
+            "integrity": "sha1-8nOVqGGeBmWz8DZM3bQcJdcbSZw=",
+            "requires": {
+                "@babel/types": "^7.14.5"
+            },
+            "dependencies": {
+                "@babel/types": {
+                    "version": "7.14.5",
+                    "resolved": "https://registry.nlark.com/@babel/types/download/@babel/types-7.14.5.tgz?cache=0&sync_timestamp=1623280355970&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Ftypes%2Fdownload%2F%40babel%2Ftypes-7.14.5.tgz",
+                    "integrity": "sha1-O7mXuoKaIQTO2yBonEpbgSHTg/8=",
+                    "requires": {
+                        "@babel/helper-validator-identifier": "^7.14.5",
+                        "to-fast-properties": "^2.0.0"
+                    }
+                },
+                "to-fast-properties": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.nlark.com/to-fast-properties/download/to-fast-properties-2.0.0.tgz",
+                    "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
+                }
+            }
+        },
+        "@babel/helper-plugin-utils": {
+            "version": "7.14.5",
+            "resolved": "https://registry.nlark.com/@babel/helper-plugin-utils/download/@babel/helper-plugin-utils-7.14.5.tgz",
+            "integrity": "sha1-WsgizpfuxGdBq3ClF5ceRDpwxak="
+        },
+        "@babel/helper-replace-supers": {
+            "version": "7.14.5",
+            "resolved": "https://registry.nlark.com/@babel/helper-replace-supers/download/@babel/helper-replace-supers-7.14.5.tgz?cache=0&sync_timestamp=1623280689842&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-replace-supers%2Fdownload%2F%40babel%2Fhelper-replace-supers-7.14.5.tgz",
+            "integrity": "sha1-DswLA8Qc1We0Ak6gFhNMKEFKu5Q=",
+            "requires": {
+                "@babel/helper-member-expression-to-functions": "^7.14.5",
+                "@babel/helper-optimise-call-expression": "^7.14.5",
+                "@babel/traverse": "^7.14.5",
+                "@babel/types": "^7.14.5"
+            },
+            "dependencies": {
+                "@babel/types": {
+                    "version": "7.14.5",
+                    "resolved": "https://registry.nlark.com/@babel/types/download/@babel/types-7.14.5.tgz?cache=0&sync_timestamp=1623280355970&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Ftypes%2Fdownload%2F%40babel%2Ftypes-7.14.5.tgz",
+                    "integrity": "sha1-O7mXuoKaIQTO2yBonEpbgSHTg/8=",
+                    "requires": {
+                        "@babel/helper-validator-identifier": "^7.14.5",
+                        "to-fast-properties": "^2.0.0"
+                    }
+                },
+                "to-fast-properties": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.nlark.com/to-fast-properties/download/to-fast-properties-2.0.0.tgz",
+                    "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
+                }
+            }
+        },
+        "@babel/helper-simple-access": {
+            "version": "7.14.5",
+            "resolved": "https://registry.nlark.com/@babel/helper-simple-access/download/@babel/helper-simple-access-7.14.5.tgz?cache=0&sync_timestamp=1623280360968&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-simple-access%2Fdownload%2F%40babel%2Fhelper-simple-access-7.14.5.tgz",
+            "integrity": "sha1-ZuqFz1O6C05Yi6d/yBP1OryqQcQ=",
+            "requires": {
+                "@babel/types": "^7.14.5"
+            },
+            "dependencies": {
+                "@babel/types": {
+                    "version": "7.14.5",
+                    "resolved": "https://registry.nlark.com/@babel/types/download/@babel/types-7.14.5.tgz?cache=0&sync_timestamp=1623280355970&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Ftypes%2Fdownload%2F%40babel%2Ftypes-7.14.5.tgz",
+                    "integrity": "sha1-O7mXuoKaIQTO2yBonEpbgSHTg/8=",
+                    "requires": {
+                        "@babel/helper-validator-identifier": "^7.14.5",
+                        "to-fast-properties": "^2.0.0"
+                    }
+                },
+                "to-fast-properties": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.nlark.com/to-fast-properties/download/to-fast-properties-2.0.0.tgz",
+                    "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
+                }
+            }
+        },
+        "@babel/helper-split-export-declaration": {
+            "version": "7.14.5",
+            "resolved": "https://registry.nlark.com/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.14.5.tgz?cache=0&sync_timestamp=1623280365934&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-split-export-declaration%2Fdownload%2F%40babel%2Fhelper-split-export-declaration-7.14.5.tgz",
+            "integrity": "sha1-IrI6VO9RwrdgXYUZMMGXbdC8aTo=",
+            "requires": {
+                "@babel/types": "^7.14.5"
+            },
+            "dependencies": {
+                "@babel/types": {
+                    "version": "7.14.5",
+                    "resolved": "https://registry.nlark.com/@babel/types/download/@babel/types-7.14.5.tgz?cache=0&sync_timestamp=1623280355970&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Ftypes%2Fdownload%2F%40babel%2Ftypes-7.14.5.tgz",
+                    "integrity": "sha1-O7mXuoKaIQTO2yBonEpbgSHTg/8=",
+                    "requires": {
+                        "@babel/helper-validator-identifier": "^7.14.5",
+                        "to-fast-properties": "^2.0.0"
+                    }
+                },
+                "to-fast-properties": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.nlark.com/to-fast-properties/download/to-fast-properties-2.0.0.tgz",
+                    "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
+                }
+            }
+        },
+        "@babel/helper-validator-identifier": {
+            "version": "7.14.5",
+            "resolved": "https://registry.nlark.com/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.14.5.tgz?cache=0&sync_timestamp=1623280293264&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-validator-identifier%2Fdownload%2F%40babel%2Fhelper-validator-identifier-7.14.5.tgz",
+            "integrity": "sha1-0PDid8US4Mk4J3+qhaOWjJpEwOg="
+        },
+        "@babel/helper-validator-option": {
+            "version": "7.14.5",
+            "resolved": "https://registry.nlark.com/@babel/helper-validator-option/download/@babel/helper-validator-option-7.14.5.tgz",
+            "integrity": "sha1-bnKh//GNXfy4eOHmLxoCHEty1aM="
+        },
+        "@babel/helpers": {
+            "version": "7.14.5",
+            "resolved": "https://registry.nlark.com/@babel/helpers/download/@babel/helpers-7.14.5.tgz?cache=0&sync_timestamp=1623280691003&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelpers%2Fdownload%2F%40babel%2Fhelpers-7.14.5.tgz",
+            "integrity": "sha1-SHD42ab9u9ZeVnSjVYtP9/7w2bI=",
+            "requires": {
+                "@babel/template": "^7.14.5",
+                "@babel/traverse": "^7.14.5",
+                "@babel/types": "^7.14.5"
+            },
+            "dependencies": {
+                "@babel/types": {
+                    "version": "7.14.5",
+                    "resolved": "https://registry.nlark.com/@babel/types/download/@babel/types-7.14.5.tgz?cache=0&sync_timestamp=1623280355970&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Ftypes%2Fdownload%2F%40babel%2Ftypes-7.14.5.tgz",
+                    "integrity": "sha1-O7mXuoKaIQTO2yBonEpbgSHTg/8=",
+                    "requires": {
+                        "@babel/helper-validator-identifier": "^7.14.5",
+                        "to-fast-properties": "^2.0.0"
+                    }
+                },
+                "to-fast-properties": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.nlark.com/to-fast-properties/download/to-fast-properties-2.0.0.tgz",
+                    "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
+                }
+            }
+        },
+        "@babel/highlight": {
+            "version": "7.14.5",
+            "resolved": "https://registry.nlark.com/@babel/highlight/download/@babel/highlight-7.14.5.tgz?cache=0&sync_timestamp=1623280393681&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhighlight%2Fdownload%2F%40babel%2Fhighlight-7.14.5.tgz",
+            "integrity": "sha1-aGGlLwOWZAUAH2qlNKAaJNmejNk=",
+            "requires": {
+                "@babel/helper-validator-identifier": "^7.14.5",
+                "chalk": "^2.0.0",
+                "js-tokens": "^4.0.0"
+            },
+            "dependencies": {
+                "js-tokens": {
+                    "version": "4.0.0",
+                    "resolved": "https://registry.nlark.com/js-tokens/download/js-tokens-4.0.0.tgz?cache=0&sync_timestamp=1619345098261&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjs-tokens%2Fdownload%2Fjs-tokens-4.0.0.tgz",
+                    "integrity": "sha1-GSA/tZmR35jjoocFDUZHzerzJJk="
+                }
+            }
+        },
+        "@babel/parser": {
+            "version": "7.14.5",
+            "resolved": "https://registry.nlark.com/@babel/parser/download/@babel/parser-7.14.5.tgz",
+            "integrity": "sha1-TNLzRiYQYbJRiHP/7N8WEssDKCk="
+        },
+        "@babel/plugin-proposal-object-rest-spread": {
+            "version": "7.14.5",
+            "resolved": "https://registry.nlark.com/@babel/plugin-proposal-object-rest-spread/download/@babel/plugin-proposal-object-rest-spread-7.14.5.tgz?cache=0&sync_timestamp=1623280397683&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-object-rest-spread%2Fdownload%2F%40babel%2Fplugin-proposal-object-rest-spread-7.14.5.tgz",
+            "integrity": "sha1-5YHVzN+hh+pu1z9WxqIcFYC5D78=",
+            "requires": {
+                "@babel/compat-data": "^7.14.5",
+                "@babel/helper-compilation-targets": "^7.14.5",
+                "@babel/helper-plugin-utils": "^7.14.5",
+                "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+                "@babel/plugin-transform-parameters": "^7.14.5"
+            }
+        },
+        "@babel/plugin-syntax-jsx": {
+            "version": "7.14.5",
+            "resolved": "https://registry.nlark.com/@babel/plugin-syntax-jsx/download/@babel/plugin-syntax-jsx-7.14.5.tgz",
+            "integrity": "sha1-AA4uJdhnPM5JMAUXo+2kTCY+QgE=",
+            "requires": {
+                "@babel/helper-plugin-utils": "^7.14.5"
+            }
+        },
+        "@babel/plugin-syntax-object-rest-spread": {
+            "version": "7.8.3",
+            "resolved": "https://registry.nlark.com/@babel/plugin-syntax-object-rest-spread/download/@babel/plugin-syntax-object-rest-spread-7.8.3.tgz",
+            "integrity": "sha1-YOIl7cvZimQDMqLnLdPmbxr1WHE=",
+            "requires": {
+                "@babel/helper-plugin-utils": "^7.8.0"
+            }
+        },
+        "@babel/plugin-transform-parameters": {
+            "version": "7.14.5",
+            "resolved": "https://registry.nlark.com/@babel/plugin-transform-parameters/download/@babel/plugin-transform-parameters-7.14.5.tgz",
+            "integrity": "sha1-SWYuhqHz3cysY2On37H/ChWK/rM=",
+            "requires": {
+                "@babel/helper-plugin-utils": "^7.14.5"
+            }
+        },
+        "@babel/plugin-transform-runtime": {
+            "version": "7.14.5",
+            "resolved": "https://registry.nlark.com/@babel/plugin-transform-runtime/download/@babel/plugin-transform-runtime-7.14.5.tgz?cache=0&sync_timestamp=1623280381633&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-runtime%2Fdownload%2F%40babel%2Fplugin-transform-runtime-7.14.5.tgz",
+            "integrity": "sha1-MEkdrUnGBZ+Pj6XuiJagCJ6YdSM=",
+            "requires": {
+                "@babel/helper-module-imports": "^7.14.5",
+                "@babel/helper-plugin-utils": "^7.14.5",
+                "babel-plugin-polyfill-corejs2": "^0.2.2",
+                "babel-plugin-polyfill-corejs3": "^0.2.2",
+                "babel-plugin-polyfill-regenerator": "^0.2.2",
+                "semver": "^6.3.0"
+            },
+            "dependencies": {
+                "@babel/helper-module-imports": {
+                    "version": "7.14.5",
+                    "resolved": "https://registry.nlark.com/@babel/helper-module-imports/download/@babel/helper-module-imports-7.14.5.tgz?cache=0&sync_timestamp=1623280362184&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-module-imports%2Fdownload%2F%40babel%2Fhelper-module-imports-7.14.5.tgz",
+                    "integrity": "sha1-bRpE32o4yVeqfDEtoHZCnxG0IvM=",
+                    "requires": {
+                        "@babel/types": "^7.14.5"
+                    }
+                },
+                "@babel/types": {
+                    "version": "7.14.5",
+                    "resolved": "https://registry.nlark.com/@babel/types/download/@babel/types-7.14.5.tgz?cache=0&sync_timestamp=1623280355970&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Ftypes%2Fdownload%2F%40babel%2Ftypes-7.14.5.tgz",
+                    "integrity": "sha1-O7mXuoKaIQTO2yBonEpbgSHTg/8=",
+                    "requires": {
+                        "@babel/helper-validator-identifier": "^7.14.5",
+                        "to-fast-properties": "^2.0.0"
+                    }
+                },
+                "semver": {
+                    "version": "6.3.0",
+                    "resolved": "https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1618847119601&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz",
+                    "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0="
+                },
+                "to-fast-properties": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.nlark.com/to-fast-properties/download/to-fast-properties-2.0.0.tgz",
+                    "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
+                }
+            }
+        },
+        "@babel/template": {
+            "version": "7.14.5",
+            "resolved": "https://registry.nlark.com/@babel/template/download/@babel/template-7.14.5.tgz?cache=0&sync_timestamp=1623280386138&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Ftemplate%2Fdownload%2F%40babel%2Ftemplate-7.14.5.tgz",
+            "integrity": "sha1-qbydizM1T/blWpxg0RCSAKaJdPQ=",
+            "requires": {
+                "@babel/code-frame": "^7.14.5",
+                "@babel/parser": "^7.14.5",
+                "@babel/types": "^7.14.5"
+            },
+            "dependencies": {
+                "@babel/types": {
+                    "version": "7.14.5",
+                    "resolved": "https://registry.nlark.com/@babel/types/download/@babel/types-7.14.5.tgz?cache=0&sync_timestamp=1623280355970&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Ftypes%2Fdownload%2F%40babel%2Ftypes-7.14.5.tgz",
+                    "integrity": "sha1-O7mXuoKaIQTO2yBonEpbgSHTg/8=",
+                    "requires": {
+                        "@babel/helper-validator-identifier": "^7.14.5",
+                        "to-fast-properties": "^2.0.0"
+                    }
+                },
+                "to-fast-properties": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.nlark.com/to-fast-properties/download/to-fast-properties-2.0.0.tgz",
+                    "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
+                }
+            }
+        },
+        "@babel/traverse": {
+            "version": "7.14.5",
+            "resolved": "https://registry.nlark.com/@babel/traverse/download/@babel/traverse-7.14.5.tgz",
+            "integrity": "sha1-wRGw9Yr6tP6j0zhaQG9pJ0jFmHA=",
+            "requires": {
+                "@babel/code-frame": "^7.14.5",
+                "@babel/generator": "^7.14.5",
+                "@babel/helper-function-name": "^7.14.5",
+                "@babel/helper-hoist-variables": "^7.14.5",
+                "@babel/helper-split-export-declaration": "^7.14.5",
+                "@babel/parser": "^7.14.5",
+                "@babel/types": "^7.14.5",
+                "debug": "^4.1.0",
+                "globals": "^11.1.0"
+            },
+            "dependencies": {
+                "@babel/types": {
+                    "version": "7.14.5",
+                    "resolved": "https://registry.nlark.com/@babel/types/download/@babel/types-7.14.5.tgz?cache=0&sync_timestamp=1623280355970&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Ftypes%2Fdownload%2F%40babel%2Ftypes-7.14.5.tgz",
+                    "integrity": "sha1-O7mXuoKaIQTO2yBonEpbgSHTg/8=",
+                    "requires": {
+                        "@babel/helper-validator-identifier": "^7.14.5",
+                        "to-fast-properties": "^2.0.0"
+                    }
+                },
+                "debug": {
+                    "version": "4.3.1",
+                    "resolved": "https://registry.nlark.com/debug/download/debug-4.3.1.tgz?cache=0&sync_timestamp=1618847042350&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-4.3.1.tgz",
+                    "integrity": "sha1-8NIpxQXgxtjEmsVT0bE9wYP2su4=",
+                    "requires": {
+                        "ms": "2.1.2"
+                    }
+                },
+                "globals": {
+                    "version": "11.12.0",
+                    "resolved": "https://registry.nlark.com/globals/download/globals-11.12.0.tgz?cache=0&sync_timestamp=1622088114568&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fglobals%2Fdownload%2Fglobals-11.12.0.tgz",
+                    "integrity": "sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4="
+                },
+                "ms": {
+                    "version": "2.1.2",
+                    "resolved": "https://registry.nlark.com/ms/download/ms-2.1.2.tgz",
+                    "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk="
+                },
+                "to-fast-properties": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.nlark.com/to-fast-properties/download/to-fast-properties-2.0.0.tgz",
+                    "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
+                }
+            }
+        },
+        "@babel/types": {
+            "version": "7.0.0-beta.35",
+            "resolved": "https://registry.npm.taobao.org/@babel/types/download/@babel/types-7.0.0-beta.35.tgz?cache=0&sync_timestamp=1604441075576&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftypes%2Fdownload%2F%40babel%2Ftypes-7.0.0-beta.35.tgz",
+            "integrity": "sha1-z5M6mpo4SEynJLM1uI2Dcm1auWA=",
+            "dev": true,
+            "requires": {
+                "esutils": "^2.0.2",
+                "lodash": "^4.2.0",
+                "to-fast-properties": "^2.0.0"
+            },
+            "dependencies": {
+                "to-fast-properties": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-2.0.0.tgz",
+                    "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+                    "dev": true
+                }
+            }
+        },
+        "@commitlint/cli": {
+            "version": "8.3.5",
+            "resolved": "https://registry.nlark.com/@commitlint/cli/download/@commitlint/cli-8.3.5.tgz?cache=0&sync_timestamp=1621842636693&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40commitlint%2Fcli%2Fdownload%2F%40commitlint%2Fcli-8.3.5.tgz",
+            "integrity": "sha1-bZOjqLJDf6l4mZ0/ajNrzHC+P9M=",
+            "requires": {
+                "@commitlint/format": "^8.3.4",
+                "@commitlint/lint": "^8.3.5",
+                "@commitlint/load": "^8.3.5",
+                "@commitlint/read": "^8.3.4",
+                "babel-polyfill": "6.26.0",
+                "chalk": "2.4.2",
+                "get-stdin": "7.0.0",
+                "lodash": "4.17.15",
+                "meow": "5.0.0",
+                "resolve-from": "5.0.0",
+                "resolve-global": "1.0.0"
+            },
+            "dependencies": {
+                "camelcase": {
+                    "version": "4.1.0",
+                    "resolved": "https://registry.nlark.com/camelcase/download/camelcase-4.1.0.tgz",
+                    "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0="
+                },
+                "camelcase-keys": {
+                    "version": "4.2.0",
+                    "resolved": "https://registry.nlark.com/camelcase-keys/download/camelcase-keys-4.2.0.tgz",
+                    "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=",
+                    "requires": {
+                        "camelcase": "^4.1.0",
+                        "map-obj": "^2.0.0",
+                        "quick-lru": "^1.0.0"
+                    }
+                },
+                "get-stdin": {
+                    "version": "7.0.0",
+                    "resolved": "https://registry.nlark.com/get-stdin/download/get-stdin-7.0.0.tgz",
+                    "integrity": "sha1-jV3pjxUXGhJcXlFmQ8em0OqKlvY="
+                },
+                "indent-string": {
+                    "version": "3.2.0",
+                    "resolved": "https://registry.npm.taobao.org/indent-string/download/indent-string-3.2.0.tgz?cache=0&sync_timestamp=1618679561483&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Findent-string%2Fdownload%2Findent-string-3.2.0.tgz",
+                    "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok="
+                },
+                "load-json-file": {
+                    "version": "4.0.0",
+                    "resolved": "https://registry.npm.taobao.org/load-json-file/download/load-json-file-4.0.0.tgz",
+                    "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
+                    "requires": {
+                        "graceful-fs": "^4.1.2",
+                        "parse-json": "^4.0.0",
+                        "pify": "^3.0.0",
+                        "strip-bom": "^3.0.0"
+                    }
+                },
+                "lodash": {
+                    "version": "4.17.15",
+                    "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.15.tgz?cache=0&sync_timestamp=1618321064459&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.15.tgz",
+                    "integrity": "sha1-tEf2ZwoEVbv+7dETku/zMOoJdUg="
+                },
+                "map-obj": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.npm.taobao.org/map-obj/download/map-obj-2.0.0.tgz?cache=0&sync_timestamp=1617771232226&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmap-obj%2Fdownload%2Fmap-obj-2.0.0.tgz",
+                    "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk="
+                },
+                "meow": {
+                    "version": "5.0.0",
+                    "resolved": "https://registry.nlark.com/meow/download/meow-5.0.0.tgz",
+                    "integrity": "sha1-38c9Y6mvxxSl43F2DrXIi5EHiqQ=",
+                    "requires": {
+                        "camelcase-keys": "^4.0.0",
+                        "decamelize-keys": "^1.0.0",
+                        "loud-rejection": "^1.0.0",
+                        "minimist-options": "^3.0.1",
+                        "normalize-package-data": "^2.3.4",
+                        "read-pkg-up": "^3.0.0",
+                        "redent": "^2.0.0",
+                        "trim-newlines": "^2.0.0",
+                        "yargs-parser": "^10.0.0"
+                    }
+                },
+                "minimist-options": {
+                    "version": "3.0.2",
+                    "resolved": "https://registry.nlark.com/minimist-options/download/minimist-options-3.0.2.tgz",
+                    "integrity": "sha1-+6TIGRM54T7PTWG+sD8HAQPz2VQ=",
+                    "requires": {
+                        "arrify": "^1.0.1",
+                        "is-plain-obj": "^1.1.0"
+                    }
+                },
+                "quick-lru": {
+                    "version": "1.1.0",
+                    "resolved": "https://registry.npm.taobao.org/quick-lru/download/quick-lru-1.1.0.tgz?cache=0&sync_timestamp=1610610364837&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fquick-lru%2Fdownload%2Fquick-lru-1.1.0.tgz",
+                    "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g="
+                },
+                "read-pkg": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-3.0.0.tgz",
+                    "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
+                    "requires": {
+                        "load-json-file": "^4.0.0",
+                        "normalize-package-data": "^2.3.2",
+                        "path-type": "^3.0.0"
+                    }
+                },
+                "read-pkg-up": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-3.0.0.tgz?cache=0&sync_timestamp=1616916344510&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg-up%2Fdownload%2Fread-pkg-up-3.0.0.tgz",
+                    "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=",
+                    "requires": {
+                        "find-up": "^2.0.0",
+                        "read-pkg": "^3.0.0"
+                    }
+                },
+                "redent": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.nlark.com/redent/download/redent-2.0.0.tgz",
+                    "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=",
+                    "requires": {
+                        "indent-string": "^3.0.0",
+                        "strip-indent": "^2.0.0"
+                    }
+                },
+                "resolve-from": {
+                    "version": "5.0.0",
+                    "resolved": "https://registry.nlark.com/resolve-from/download/resolve-from-5.0.0.tgz",
+                    "integrity": "sha1-w1IlhD3493bfIcV1V7wIfp39/Gk="
+                },
+                "strip-indent": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.nlark.com/strip-indent/download/strip-indent-2.0.0.tgz?cache=0&sync_timestamp=1620053310624&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fstrip-indent%2Fdownload%2Fstrip-indent-2.0.0.tgz",
+                    "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g="
+                },
+                "trim-newlines": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.nlark.com/trim-newlines/download/trim-newlines-2.0.0.tgz?cache=0&sync_timestamp=1623341510447&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftrim-newlines%2Fdownload%2Ftrim-newlines-2.0.0.tgz",
+                    "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA="
+                },
+                "yargs-parser": {
+                    "version": "10.1.0",
+                    "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-10.1.0.tgz",
+                    "integrity": "sha1-cgImW4n36eny5XZeD+c1qQXtuqg=",
+                    "requires": {
+                        "camelcase": "^4.1.0"
+                    }
+                }
+            }
+        },
+        "@commitlint/config-conventional": {
+            "version": "8.3.4",
+            "resolved": "https://registry.nlark.com/@commitlint/config-conventional/download/@commitlint/config-conventional-8.3.4.tgz?cache=0&sync_timestamp=1621842270885&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40commitlint%2Fconfig-conventional%2Fdownload%2F%40commitlint%2Fconfig-conventional-8.3.4.tgz",
+            "integrity": "sha1-/tE7NxFpBmOxdsH2s5wgWlZWGNI=",
+            "requires": {
+                "conventional-changelog-conventionalcommits": "4.2.1"
+            }
+        },
+        "@commitlint/ensure": {
+            "version": "8.3.4",
+            "resolved": "https://registry.nlark.com/@commitlint/ensure/download/@commitlint/ensure-8.3.4.tgz?cache=0&sync_timestamp=1621842172335&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40commitlint%2Fensure%2Fdownload%2F%40commitlint%2Fensure-8.3.4.tgz",
+            "integrity": "sha1-aTFnfkyg/ecWhq47ejZyYWR6NB0=",
+            "requires": {
+                "lodash": "4.17.15"
+            },
+            "dependencies": {
+                "lodash": {
+                    "version": "4.17.15",
+                    "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.15.tgz?cache=0&sync_timestamp=1618321064459&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.15.tgz",
+                    "integrity": "sha1-tEf2ZwoEVbv+7dETku/zMOoJdUg="
+                }
+            }
+        },
+        "@commitlint/execute-rule": {
+            "version": "8.3.4",
+            "resolved": "https://registry.nlark.com/@commitlint/execute-rule/download/@commitlint/execute-rule-8.3.4.tgz?cache=0&sync_timestamp=1621842302709&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40commitlint%2Fexecute-rule%2Fdownload%2F%40commitlint%2Fexecute-rule-8.3.4.tgz",
+            "integrity": "sha1-G2PwcTsZeInZC3b57qGrwBDSVrE="
+        },
+        "@commitlint/format": {
+            "version": "8.3.4",
+            "resolved": "https://registry.nlark.com/@commitlint/format/download/@commitlint/format-8.3.4.tgz?cache=0&sync_timestamp=1621842172303&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40commitlint%2Fformat%2Fdownload%2F%40commitlint%2Fformat-8.3.4.tgz",
+            "integrity": "sha1-fNHwuloyicjRTX2sKe4fwVl/4dk=",
+            "requires": {
+                "chalk": "^2.0.1"
+            }
+        },
+        "@commitlint/is-ignored": {
+            "version": "8.3.5",
+            "resolved": "https://registry.nlark.com/@commitlint/is-ignored/download/@commitlint/is-ignored-8.3.5.tgz?cache=0&sync_timestamp=1621842172997&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40commitlint%2Fis-ignored%2Fdownload%2F%40commitlint%2Fis-ignored-8.3.5.tgz",
+            "integrity": "sha1-5vWUluGxzlgCDVGc1XitD0MWkZk=",
+            "requires": {
+                "semver": "6.3.0"
+            },
+            "dependencies": {
+                "semver": {
+                    "version": "6.3.0",
+                    "resolved": "https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1618847119601&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz",
+                    "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0="
+                }
+            }
+        },
+        "@commitlint/lint": {
+            "version": "8.3.5",
+            "resolved": "https://registry.nlark.com/@commitlint/lint/download/@commitlint/lint-8.3.5.tgz?cache=0&sync_timestamp=1621842636368&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40commitlint%2Flint%2Fdownload%2F%40commitlint%2Flint-8.3.5.tgz",
+            "integrity": "sha1-Yn51rbHMgDzHI+M8wrpKony7nww=",
+            "requires": {
+                "@commitlint/is-ignored": "^8.3.5",
+                "@commitlint/parse": "^8.3.4",
+                "@commitlint/rules": "^8.3.4",
+                "babel-runtime": "^6.23.0",
+                "lodash": "4.17.15"
+            },
+            "dependencies": {
+                "lodash": {
+                    "version": "4.17.15",
+                    "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.15.tgz?cache=0&sync_timestamp=1618321064459&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.15.tgz",
+                    "integrity": "sha1-tEf2ZwoEVbv+7dETku/zMOoJdUg="
+                }
+            }
+        },
+        "@commitlint/load": {
+            "version": "8.3.5",
+            "resolved": "https://registry.nlark.com/@commitlint/load/download/@commitlint/load-8.3.5.tgz?cache=0&sync_timestamp=1621842272952&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40commitlint%2Fload%2Fdownload%2F%40commitlint%2Fload-8.3.5.tgz",
+            "integrity": "sha1-PwWSJe3pIWa6lM9MSOPWfIsIsYo=",
+            "requires": {
+                "@commitlint/execute-rule": "^8.3.4",
+                "@commitlint/resolve-extends": "^8.3.5",
+                "babel-runtime": "^6.23.0",
+                "chalk": "2.4.2",
+                "cosmiconfig": "^5.2.0",
+                "lodash": "4.17.15",
+                "resolve-from": "^5.0.0"
+            },
+            "dependencies": {
+                "lodash": {
+                    "version": "4.17.15",
+                    "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.15.tgz?cache=0&sync_timestamp=1618321064459&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.15.tgz",
+                    "integrity": "sha1-tEf2ZwoEVbv+7dETku/zMOoJdUg="
+                },
+                "resolve-from": {
+                    "version": "5.0.0",
+                    "resolved": "https://registry.nlark.com/resolve-from/download/resolve-from-5.0.0.tgz",
+                    "integrity": "sha1-w1IlhD3493bfIcV1V7wIfp39/Gk="
+                }
+            }
+        },
+        "@commitlint/message": {
+            "version": "8.3.4",
+            "resolved": "https://registry.nlark.com/@commitlint/message/download/@commitlint/message-8.3.4.tgz?cache=0&sync_timestamp=1621842167304&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40commitlint%2Fmessage%2Fdownload%2F%40commitlint%2Fmessage-8.3.4.tgz",
+            "integrity": "sha1-tOUNFKpuFaWtB2e5UqeVPzaB12g="
+        },
+        "@commitlint/parse": {
+            "version": "8.3.4",
+            "resolved": "https://registry.nlark.com/@commitlint/parse/download/@commitlint/parse-8.3.4.tgz?cache=0&sync_timestamp=1621842634632&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40commitlint%2Fparse%2Fdownload%2F%40commitlint%2Fparse-8.3.4.tgz",
+            "integrity": "sha1-10H4uRBLNdD0wQk4Flsgy/Fn+B4=",
+            "requires": {
+                "conventional-changelog-angular": "^1.3.3",
+                "conventional-commits-parser": "^3.0.0",
+                "lodash": "^4.17.11"
+            }
+        },
+        "@commitlint/read": {
+            "version": "8.3.4",
+            "resolved": "https://registry.nlark.com/@commitlint/read/download/@commitlint/read-8.3.4.tgz?cache=0&sync_timestamp=1621842634884&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40commitlint%2Fread%2Fdownload%2F%40commitlint%2Fread-8.3.4.tgz",
+            "integrity": "sha1-gaNCg9jNeyrN9XgpqRdh6cd5FFU=",
+            "requires": {
+                "@commitlint/top-level": "^8.3.4",
+                "@marionebl/sander": "^0.6.0",
+                "babel-runtime": "^6.23.0",
+                "git-raw-commits": "^2.0.0"
+            }
+        },
+        "@commitlint/resolve-extends": {
+            "version": "8.3.5",
+            "resolved": "https://registry.nlark.com/@commitlint/resolve-extends/download/@commitlint/resolve-extends-8.3.5.tgz?cache=0&sync_timestamp=1621842270209&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40commitlint%2Fresolve-extends%2Fdownload%2F%40commitlint%2Fresolve-extends-8.3.5.tgz",
+            "integrity": "sha1-j/+ADykqwheuMLGGL1+ahLJ4MQo=",
+            "requires": {
+                "import-fresh": "^3.0.0",
+                "lodash": "4.17.15",
+                "resolve-from": "^5.0.0",
+                "resolve-global": "^1.0.0"
+            },
+            "dependencies": {
+                "import-fresh": {
+                    "version": "3.3.0",
+                    "resolved": "https://registry.nlark.com/import-fresh/download/import-fresh-3.3.0.tgz",
+                    "integrity": "sha1-NxYsJfy566oublPVtNiM4X2eDCs=",
+                    "requires": {
+                        "parent-module": "^1.0.0",
+                        "resolve-from": "^4.0.0"
+                    },
+                    "dependencies": {
+                        "resolve-from": {
+                            "version": "4.0.0",
+                            "resolved": "https://registry.nlark.com/resolve-from/download/resolve-from-4.0.0.tgz",
+                            "integrity": "sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY="
+                        }
+                    }
+                },
+                "lodash": {
+                    "version": "4.17.15",
+                    "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.15.tgz?cache=0&sync_timestamp=1618321064459&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.15.tgz",
+                    "integrity": "sha1-tEf2ZwoEVbv+7dETku/zMOoJdUg="
+                },
+                "resolve-from": {
+                    "version": "5.0.0",
+                    "resolved": "https://registry.nlark.com/resolve-from/download/resolve-from-5.0.0.tgz",
+                    "integrity": "sha1-w1IlhD3493bfIcV1V7wIfp39/Gk="
+                }
+            }
+        },
+        "@commitlint/rules": {
+            "version": "8.3.4",
+            "resolved": "https://registry.nlark.com/@commitlint/rules/download/@commitlint/rules-8.3.4.tgz?cache=0&sync_timestamp=1621842636115&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40commitlint%2Frules%2Fdownload%2F%40commitlint%2Frules-8.3.4.tgz",
+            "integrity": "sha1-Qdp+Fsa4mvJo/oHIehWMH9KsgrE=",
+            "requires": {
+                "@commitlint/ensure": "^8.3.4",
+                "@commitlint/message": "^8.3.4",
+                "@commitlint/to-lines": "^8.3.4",
+                "babel-runtime": "^6.23.0"
+            }
+        },
+        "@commitlint/to-lines": {
+            "version": "8.3.4",
+            "resolved": "https://registry.nlark.com/@commitlint/to-lines/download/@commitlint/to-lines-8.3.4.tgz?cache=0&sync_timestamp=1621842168815&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40commitlint%2Fto-lines%2Fdownload%2F%40commitlint%2Fto-lines-8.3.4.tgz",
+            "integrity": "sha1-ziSWO22G2+UdiNXjAoqyjzhWLi4="
+        },
+        "@commitlint/top-level": {
+            "version": "8.3.4",
+            "resolved": "https://registry.nlark.com/@commitlint/top-level/download/@commitlint/top-level-8.3.4.tgz?cache=0&sync_timestamp=1621842167436&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40commitlint%2Ftop-level%2Fdownload%2F%40commitlint%2Ftop-level-8.3.4.tgz",
+            "integrity": "sha1-gD/G6PW+XvpfNVF2Gs/Klh8dhoU=",
+            "requires": {
+                "find-up": "^4.0.0"
+            },
+            "dependencies": {
+                "find-up": {
+                    "version": "4.1.0",
+                    "resolved": "https://registry.nlark.com/find-up/download/find-up-4.1.0.tgz?cache=0&sync_timestamp=1618846778775&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffind-up%2Fdownload%2Ffind-up-4.1.0.tgz",
+                    "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=",
+                    "requires": {
+                        "locate-path": "^5.0.0",
+                        "path-exists": "^4.0.0"
+                    }
+                },
+                "locate-path": {
+                    "version": "5.0.0",
+                    "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-5.0.0.tgz",
+                    "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=",
+                    "requires": {
+                        "p-locate": "^4.1.0"
+                    }
+                },
+                "p-limit": {
+                    "version": "2.3.0",
+                    "resolved": "https://registry.nlark.com/p-limit/download/p-limit-2.3.0.tgz",
+                    "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=",
+                    "requires": {
+                        "p-try": "^2.0.0"
+                    }
+                },
+                "p-locate": {
+                    "version": "4.1.0",
+                    "resolved": "https://registry.nlark.com/p-locate/download/p-locate-4.1.0.tgz",
+                    "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=",
+                    "requires": {
+                        "p-limit": "^2.2.0"
+                    }
+                },
+                "p-try": {
+                    "version": "2.2.0",
+                    "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz",
+                    "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY="
+                },
+                "path-exists": {
+                    "version": "4.0.0",
+                    "resolved": "https://registry.nlark.com/path-exists/download/path-exists-4.0.0.tgz",
+                    "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM="
+                }
+            }
+        },
+        "@istanbuljs/load-nyc-config": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npm.taobao.org/@istanbuljs/load-nyc-config/download/@istanbuljs/load-nyc-config-1.1.0.tgz",
+            "integrity": "sha1-/T2x1Z7PfPEh6AZQu4ZxL5tV7O0=",
+            "requires": {
+                "camelcase": "^5.3.1",
+                "find-up": "^4.1.0",
+                "get-package-type": "^0.1.0",
+                "js-yaml": "^3.13.1",
+                "resolve-from": "^5.0.0"
+            },
+            "dependencies": {
+                "camelcase": {
+                    "version": "5.3.1",
+                    "resolved": "https://registry.nlark.com/camelcase/download/camelcase-5.3.1.tgz",
+                    "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA="
+                },
+                "esprima": {
+                    "version": "4.0.1",
+                    "resolved": "https://registry.nlark.com/esprima/download/esprima-4.0.1.tgz",
+                    "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE="
+                },
+                "find-up": {
+                    "version": "4.1.0",
+                    "resolved": "https://registry.nlark.com/find-up/download/find-up-4.1.0.tgz?cache=0&sync_timestamp=1618846778775&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffind-up%2Fdownload%2Ffind-up-4.1.0.tgz",
+                    "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=",
+                    "requires": {
+                        "locate-path": "^5.0.0",
+                        "path-exists": "^4.0.0"
+                    }
+                },
+                "js-yaml": {
+                    "version": "3.14.1",
+                    "resolved": "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.14.1.tgz?cache=0&sync_timestamp=1618435004368&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-yaml%2Fdownload%2Fjs-yaml-3.14.1.tgz",
+                    "integrity": "sha1-2ugS/bOCX6MGYJqHFzg8UMNqBTc=",
+                    "requires": {
+                        "argparse": "^1.0.7",
+                        "esprima": "^4.0.0"
+                    }
+                },
+                "locate-path": {
+                    "version": "5.0.0",
+                    "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-5.0.0.tgz",
+                    "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=",
+                    "requires": {
+                        "p-locate": "^4.1.0"
+                    }
+                },
+                "p-limit": {
+                    "version": "2.3.0",
+                    "resolved": "https://registry.nlark.com/p-limit/download/p-limit-2.3.0.tgz",
+                    "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=",
+                    "requires": {
+                        "p-try": "^2.0.0"
+                    }
+                },
+                "p-locate": {
+                    "version": "4.1.0",
+                    "resolved": "https://registry.nlark.com/p-locate/download/p-locate-4.1.0.tgz",
+                    "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=",
+                    "requires": {
+                        "p-limit": "^2.2.0"
+                    }
+                },
+                "p-try": {
+                    "version": "2.2.0",
+                    "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz",
+                    "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY="
+                },
+                "path-exists": {
+                    "version": "4.0.0",
+                    "resolved": "https://registry.nlark.com/path-exists/download/path-exists-4.0.0.tgz",
+                    "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM="
+                },
+                "resolve-from": {
+                    "version": "5.0.0",
+                    "resolved": "https://registry.nlark.com/resolve-from/download/resolve-from-5.0.0.tgz",
+                    "integrity": "sha1-w1IlhD3493bfIcV1V7wIfp39/Gk="
+                }
+            }
+        },
+        "@istanbuljs/schema": {
+            "version": "0.1.3",
+            "resolved": "https://registry.nlark.com/@istanbuljs/schema/download/@istanbuljs/schema-0.1.3.tgz",
+            "integrity": "sha1-5F44TkuOwWvOL9kDr3hFD2v37Jg="
+        },
+        "@mapbox/node-pre-gyp": {
+            "version": "1.0.5",
+            "resolved": "https://registry.nlark.com/@mapbox/node-pre-gyp/download/@mapbox/node-pre-gyp-1.0.5.tgz",
+            "integrity": "sha1-Kgsy/LQW+z8iUP0kyyqBQhpPWVA=",
+            "requires": {
+                "detect-libc": "^1.0.3",
+                "https-proxy-agent": "^5.0.0",
+                "make-dir": "^3.1.0",
+                "node-fetch": "^2.6.1",
+                "nopt": "^5.0.0",
+                "npmlog": "^4.1.2",
+                "rimraf": "^3.0.2",
+                "semver": "^7.3.4",
+                "tar": "^6.1.0"
+            },
+            "dependencies": {
+                "lru-cache": {
+                    "version": "6.0.0",
+                    "resolved": "https://registry.nlark.com/lru-cache/download/lru-cache-6.0.0.tgz",
+                    "integrity": "sha1-bW/mVw69lqr5D8rR2vo7JWbbOpQ=",
+                    "requires": {
+                        "yallist": "^4.0.0"
+                    }
+                },
+                "make-dir": {
+                    "version": "3.1.0",
+                    "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-3.1.0.tgz",
+                    "integrity": "sha1-QV6WcEazp/HRhSd9hKpYIDcmoT8=",
+                    "requires": {
+                        "semver": "^6.0.0"
+                    },
+                    "dependencies": {
+                        "semver": {
+                            "version": "6.3.0",
+                            "resolved": "https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1618847119601&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz",
+                            "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0="
+                        }
+                    }
+                },
+                "rimraf": {
+                    "version": "3.0.2",
+                    "resolved": "https://registry.nlark.com/rimraf/download/rimraf-3.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frimraf%2Fdownload%2Frimraf-3.0.2.tgz",
+                    "integrity": "sha1-8aVAK6YiCtUswSgrrBrjqkn9Bho=",
+                    "requires": {
+                        "glob": "^7.1.3"
+                    }
+                },
+                "semver": {
+                    "version": "7.3.5",
+                    "resolved": "https://registry.nlark.com/semver/download/semver-7.3.5.tgz?cache=0&sync_timestamp=1618847119601&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-7.3.5.tgz",
+                    "integrity": "sha1-C2Ich5NI2JmOSw5L6Us/EuYBjvc=",
+                    "requires": {
+                        "lru-cache": "^6.0.0"
+                    }
+                },
+                "yallist": {
+                    "version": "4.0.0",
+                    "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-4.0.0.tgz",
+                    "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI="
+                }
+            }
+        },
+        "@marionebl/sander": {
+            "version": "0.6.1",
+            "resolved": "https://registry.npm.taobao.org/@marionebl/sander/download/@marionebl/sander-0.6.1.tgz",
+            "integrity": "sha1-GViWWHTyS8Ub5Ih1/rUNZC/EH3s=",
+            "requires": {
+                "graceful-fs": "^4.1.3",
+                "mkdirp": "^0.5.1",
+                "rimraf": "^2.5.2"
+            }
+        },
+        "@nutui/babel-plugin-separate-import": {
+            "version": "1.2.2",
+            "resolved": "https://registry.npm.taobao.org/@nutui/babel-plugin-separate-import/download/@nutui/babel-plugin-separate-import-1.2.2.tgz",
+            "integrity": "sha1-YCalmECvIBVKsqPW5UwEPbj5pIY=",
+            "dev": true,
+            "requires": {
+                "babel-types": "^6.26.0"
+            }
+        },
+        "@nutui/nutui": {
+            "version": "2.3.1",
+            "resolved": "https://registry.nlark.com/@nutui/nutui/download/@nutui/nutui-2.3.1.tgz",
+            "integrity": "sha1-LaE+O4m1TL06r25oBkyjz48cHNI=",
+            "requires": {
+                "@babel/plugin-proposal-object-rest-spread": "^7.9.5",
+                "@babel/plugin-syntax-jsx": "^7.8.3",
+                "@babel/plugin-transform-runtime": "^7.9.6",
+                "@commitlint/cli": "^8.0.0",
+                "@commitlint/config-conventional": "^8.0.0",
+                "autoprefixer": "^9.8.4",
+                "babel-plugin-istanbul": "^6.0.0",
+                "gsap": "^3.2.6",
+                "hammerjs": "^2.0.8",
+                "standard-version": "^9.1.0",
+                "vue-lazyload": "^1.3.3",
+                "vue-qr": "^2.2.1"
+            },
+            "dependencies": {
+                "autoprefixer": {
+                    "version": "9.8.6",
+                    "resolved": "https://registry.nlark.com/autoprefixer/download/autoprefixer-9.8.6.tgz?cache=0&sync_timestamp=1622039654812&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fautoprefixer%2Fdownload%2Fautoprefixer-9.8.6.tgz",
+                    "integrity": "sha1-O3NZTKG/kmYyDFrPFYjXTep0IQ8=",
+                    "requires": {
+                        "browserslist": "^4.12.0",
+                        "caniuse-lite": "^1.0.30001109",
+                        "colorette": "^1.2.1",
+                        "normalize-range": "^0.1.2",
+                        "num2fraction": "^1.2.2",
+                        "postcss": "^7.0.32",
+                        "postcss-value-parser": "^4.1.0"
+                    }
+                },
+                "browserslist": {
+                    "version": "4.16.6",
+                    "resolved": "https://registry.nlark.com/browserslist/download/browserslist-4.16.6.tgz?cache=0&sync_timestamp=1619789101558&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbrowserslist%2Fdownload%2Fbrowserslist-4.16.6.tgz",
+                    "integrity": "sha1-15ASd6WojlVO0wWxg+ybDAj2b6I=",
+                    "requires": {
+                        "caniuse-lite": "^1.0.30001219",
+                        "colorette": "^1.2.2",
+                        "electron-to-chromium": "^1.3.723",
+                        "escalade": "^3.1.1",
+                        "node-releases": "^1.1.71"
+                    },
+                    "dependencies": {
+                        "caniuse-lite": {
+                            "version": "1.0.30001237",
+                            "resolved": "https://registry.nlark.com/caniuse-lite/download/caniuse-lite-1.0.30001237.tgz",
+                            "integrity": "sha1-S3eDZhUVuOcVH8Y3bP2X8OQnueU="
+                        }
+                    }
+                },
+                "electron-to-chromium": {
+                    "version": "1.3.752",
+                    "resolved": "https://registry.nlark.com/electron-to-chromium/download/electron-to-chromium-1.3.752.tgz?cache=0&sync_timestamp=1623290610685&other_urls=https%3A%2F%2Fregistry.nlark.com%2Felectron-to-chromium%2Fdownload%2Felectron-to-chromium-1.3.752.tgz",
+                    "integrity": "sha1-ByhYfxublw7J/62TJJZCmu91DQk="
+                },
+                "node-releases": {
+                    "version": "1.1.73",
+                    "resolved": "https://registry.nlark.com/node-releases/download/node-releases-1.1.73.tgz?cache=0&sync_timestamp=1623060267794&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnode-releases%2Fdownload%2Fnode-releases-1.1.73.tgz",
+                    "integrity": "sha1-3U6B3dUnf/hGuAtSu0DEnt96eyA="
+                },
+                "postcss": {
+                    "version": "7.0.36",
+                    "resolved": "https://registry.nlark.com/postcss/download/postcss-7.0.36.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss%2Fdownload%2Fpostcss-7.0.36.tgz",
+                    "integrity": "sha1-BW+M/6k5ZiqPWQWVDAfVKFZE38s=",
+                    "requires": {
+                        "chalk": "^2.4.2",
+                        "source-map": "^0.6.1",
+                        "supports-color": "^6.1.0"
+                    }
+                },
+                "postcss-value-parser": {
+                    "version": "4.1.0",
+                    "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-4.1.0.tgz",
+                    "integrity": "sha1-RD9qIM7WSBor2k+oUypuVdeJoss="
+                },
+                "supports-color": {
+                    "version": "6.1.0",
+                    "resolved": "https://registry.nlark.com/supports-color/download/supports-color-6.1.0.tgz?cache=0&sync_timestamp=1622293579301&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-6.1.0.tgz",
+                    "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=",
+                    "requires": {
+                        "has-flag": "^3.0.0"
+                    }
+                }
+            }
+        },
+        "@types/json-schema": {
+            "version": "7.0.7",
+            "resolved": "https://registry.nlark.com/@types/json-schema/download/@types/json-schema-7.0.7.tgz",
+            "integrity": "sha1-mKmTUWyFnrDVxMjwmDF6nqaNua0=",
+            "dev": true
+        },
+        "@types/minimist": {
+            "version": "1.2.1",
+            "resolved": "https://registry.nlark.com/@types/minimist/download/@types/minimist-1.2.1.tgz",
+            "integrity": "sha1-KD9mn/dte4Jg34q3pCYsyD2YglY="
+        },
+        "@types/normalize-package-data": {
+            "version": "2.4.0",
+            "resolved": "https://registry.nlark.com/@types/normalize-package-data/download/@types/normalize-package-data-2.4.0.tgz?cache=0&sync_timestamp=1621242064742&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fnormalize-package-data%2Fdownload%2F%40types%2Fnormalize-package-data-2.4.0.tgz",
+            "integrity": "sha1-5IbQ2XOW15vu3QpuM/RTT/a0lz4="
+        },
+        "@types/q": {
+            "version": "1.5.4",
+            "resolved": "https://registry.npm.taobao.org/@types/q/download/@types/q-1.5.4.tgz",
+            "integrity": "sha1-FZJUFOCtLNdlv+9YhC9+JqesyyQ=",
+            "dev": true
+        },
+        "JSONStream": {
+            "version": "1.3.5",
+            "resolved": "https://registry.npm.taobao.org/JSONStream/download/JSONStream-1.3.5.tgz",
+            "integrity": "sha1-MgjB8I06TZkmGrZPkjArwV4RHKA=",
+            "requires": {
+                "jsonparse": "^1.2.0",
+                "through": ">=2.2.7 <3"
+            }
+        },
+        "abbrev": {
+            "version": "1.1.1",
+            "resolved": "https://registry.nlark.com/abbrev/download/abbrev-1.1.1.tgz",
+            "integrity": "sha1-+PLIh60Qv2f2NPAFtph/7TF5qsg="
+        },
+        "accepts": {
+            "version": "1.3.7",
+            "resolved": "https://registry.npm.taobao.org/accepts/download/accepts-1.3.7.tgz",
+            "integrity": "sha1-UxvHJlF6OytB+FACHGzBXqq1B80=",
+            "dev": true,
+            "requires": {
+                "mime-types": "~2.1.24",
+                "negotiator": "0.6.2"
+            }
+        },
+        "acorn": {
+            "version": "5.7.4",
+            "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-5.7.4.tgz",
+            "integrity": "sha1-Po2KmUfQWZoXltECJddDL0pKz14=",
+            "dev": true
+        },
+        "acorn-dynamic-import": {
+            "version": "2.0.2",
+            "resolved": "https://registry.npm.taobao.org/acorn-dynamic-import/download/acorn-dynamic-import-2.0.2.tgz",
+            "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=",
+            "dev": true,
+            "requires": {
+                "acorn": "^4.0.3"
+            },
+            "dependencies": {
+                "acorn": {
+                    "version": "4.0.13",
+                    "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-4.0.13.tgz",
+                    "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=",
+                    "dev": true
+                }
+            }
+        },
+        "add-stream": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/add-stream/download/add-stream-1.0.0.tgz",
+            "integrity": "sha1-anmQQ3ynNtXhKI25K9MmbV9csqo="
+        },
+        "agent-base": {
+            "version": "6.0.2",
+            "resolved": "https://registry.nlark.com/agent-base/download/agent-base-6.0.2.tgz",
+            "integrity": "sha1-Sf/1hXfP7j83F2/qtMIuAPhtf3c=",
+            "requires": {
+                "debug": "4"
+            },
+            "dependencies": {
+                "debug": {
+                    "version": "4.3.1",
+                    "resolved": "https://registry.nlark.com/debug/download/debug-4.3.1.tgz?cache=0&sync_timestamp=1618847042350&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-4.3.1.tgz",
+                    "integrity": "sha1-8NIpxQXgxtjEmsVT0bE9wYP2su4=",
+                    "requires": {
+                        "ms": "2.1.2"
+                    }
+                },
+                "ms": {
+                    "version": "2.1.2",
+                    "resolved": "https://registry.nlark.com/ms/download/ms-2.1.2.tgz",
+                    "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk="
+                }
+            }
+        },
+        "ajv": {
+            "version": "5.5.2",
+            "resolved": "https://registry.npm.taobao.org/ajv/download/ajv-5.5.2.tgz?cache=0&sync_timestamp=1603561547443&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv%2Fdownload%2Fajv-5.5.2.tgz",
+            "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
+            "dev": true,
+            "requires": {
+                "co": "^4.6.0",
+                "fast-deep-equal": "^1.0.0",
+                "fast-json-stable-stringify": "^2.0.0",
+                "json-schema-traverse": "^0.3.0"
+            }
+        },
+        "ajv-keywords": {
+            "version": "3.5.2",
+            "resolved": "https://registry.npm.taobao.org/ajv-keywords/download/ajv-keywords-3.5.2.tgz?cache=0&sync_timestamp=1603566069729&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv-keywords%2Fdownload%2Fajv-keywords-3.5.2.tgz",
+            "integrity": "sha1-MfKdpatuANHC0yms97WSlhTVAU0=",
+            "dev": true
+        },
+        "align-text": {
+            "version": "0.1.4",
+            "resolved": "https://registry.npm.taobao.org/align-text/download/align-text-0.1.4.tgz",
+            "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
+            "dev": true,
+            "requires": {
+                "kind-of": "^3.0.2",
+                "longest": "^1.0.1",
+                "repeat-string": "^1.5.2"
+            }
+        },
+        "alphanum-sort": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npm.taobao.org/alphanum-sort/download/alphanum-sort-1.0.2.tgz",
+            "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=",
+            "dev": true
+        },
+        "amdefine": {
+            "version": "1.0.1",
+            "resolved": "https://registry.nlark.com/amdefine/download/amdefine-1.0.1.tgz",
+            "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
+            "dev": true
+        },
+        "ansi-html": {
+            "version": "0.0.7",
+            "resolved": "https://registry.npm.taobao.org/ansi-html/download/ansi-html-0.0.7.tgz?cache=0&sync_timestamp=1589682753624&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-html%2Fdownload%2Fansi-html-0.0.7.tgz",
+            "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=",
+            "dev": true
+        },
+        "ansi-regex": {
+            "version": "2.1.1",
+            "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz",
+            "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
+        },
+        "ansi-styles": {
+            "version": "3.2.1",
+            "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1601839122515&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz",
+            "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
+            "requires": {
+                "color-convert": "^1.9.0"
+            }
+        },
+        "anymatch": {
+            "version": "3.1.1",
+            "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-3.1.1.tgz",
+            "integrity": "sha1-xV7PAhheJGklk5kxDBc84xIzsUI=",
+            "dev": true,
+            "optional": true,
+            "requires": {
+                "normalize-path": "^3.0.0",
+                "picomatch": "^2.0.4"
+            }
+        },
+        "aproba": {
+            "version": "1.2.0",
+            "resolved": "https://registry.npm.taobao.org/aproba/download/aproba-1.2.0.tgz",
+            "integrity": "sha1-aALmJk79GMeQobDVF/DyYnvyyUo="
+        },
+        "are-we-there-yet": {
+            "version": "1.1.5",
+            "resolved": "https://registry.npm.taobao.org/are-we-there-yet/download/are-we-there-yet-1.1.5.tgz",
+            "integrity": "sha1-SzXClE8GKov82mZBB2A1D+nd/CE=",
+            "requires": {
+                "delegates": "^1.0.0",
+                "readable-stream": "^2.0.6"
+            }
+        },
+        "argparse": {
+            "version": "1.0.10",
+            "resolved": "https://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz?cache=0&sync_timestamp=1598649734444&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fargparse%2Fdownload%2Fargparse-1.0.10.tgz",
+            "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=",
+            "requires": {
+                "sprintf-js": "~1.0.2"
+            }
+        },
+        "arr-diff": {
+            "version": "4.0.0",
+            "resolved": "https://registry.npm.taobao.org/arr-diff/download/arr-diff-4.0.0.tgz",
+            "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
+            "dev": true
+        },
+        "arr-flatten": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npm.taobao.org/arr-flatten/download/arr-flatten-1.1.0.tgz",
+            "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=",
+            "dev": true
+        },
+        "arr-union": {
+            "version": "3.1.0",
+            "resolved": "https://registry.npm.taobao.org/arr-union/download/arr-union-3.1.0.tgz",
+            "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
+            "dev": true
+        },
+        "array-find-index": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npm.taobao.org/array-find-index/download/array-find-index-1.0.2.tgz",
+            "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E="
+        },
+        "array-flatten": {
+            "version": "1.1.1",
+            "resolved": "https://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz",
+            "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=",
+            "dev": true
+        },
+        "array-ify": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/array-ify/download/array-ify-1.0.0.tgz",
+            "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4="
+        },
+        "array-includes": {
+            "version": "3.1.1",
+            "resolved": "https://registry.npm.taobao.org/array-includes/download/array-includes-3.1.1.tgz",
+            "integrity": "sha1-zdZ+aFK9+cEhVGB4ZzIlXtJFk0g=",
+            "dev": true,
+            "requires": {
+                "define-properties": "^1.1.3",
+                "es-abstract": "^1.17.0",
+                "is-string": "^1.0.5"
+            }
+        },
+        "array-union": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npm.taobao.org/array-union/download/array-union-1.0.2.tgz",
+            "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
+            "dev": true,
+            "requires": {
+                "array-uniq": "^1.0.1"
+            }
+        },
+        "array-uniq": {
+            "version": "1.0.3",
+            "resolved": "https://registry.npm.taobao.org/array-uniq/download/array-uniq-1.0.3.tgz",
+            "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
+            "dev": true
+        },
+        "array-unique": {
+            "version": "0.3.2",
+            "resolved": "https://registry.npm.taobao.org/array-unique/download/array-unique-0.3.2.tgz",
+            "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
+            "dev": true
+        },
+        "arrify": {
+            "version": "1.0.1",
+            "resolved": "https://registry.nlark.com/arrify/download/arrify-1.0.1.tgz?cache=0&sync_timestamp=1619599497996&other_urls=https%3A%2F%2Fregistry.nlark.com%2Farrify%2Fdownload%2Farrify-1.0.1.tgz",
+            "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0="
+        },
+        "asn1": {
+            "version": "0.2.4",
+            "resolved": "https://registry.npm.taobao.org/asn1/download/asn1-0.2.4.tgz",
+            "integrity": "sha1-jSR136tVO7M+d7VOWeiAu4ziMTY=",
+            "dev": true,
+            "requires": {
+                "safer-buffer": "~2.1.0"
+            }
+        },
+        "asn1.js": {
+            "version": "5.4.1",
+            "resolved": "https://registry.npm.taobao.org/asn1.js/download/asn1.js-5.4.1.tgz",
+            "integrity": "sha1-EamAuE67kXgc41sP3C7ilON4Pwc=",
+            "dev": true,
+            "requires": {
+                "bn.js": "^4.0.0",
+                "inherits": "^2.0.1",
+                "minimalistic-assert": "^1.0.0",
+                "safer-buffer": "^2.1.0"
+            },
+            "dependencies": {
+                "bn.js": {
+                    "version": "4.11.9",
+                    "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.11.9.tgz",
+                    "integrity": "sha1-JtVWgpRY+dHoH8SJUkk9C6NQeCg=",
+                    "dev": true
+                }
+            }
+        },
+        "assert": {
+            "version": "1.5.0",
+            "resolved": "https://registry.npm.taobao.org/assert/download/assert-1.5.0.tgz",
+            "integrity": "sha1-VcEJqvbgrv2z3EtxJAxwv1dLGOs=",
+            "dev": true,
+            "requires": {
+                "object-assign": "^4.1.1",
+                "util": "0.10.3"
+            },
+            "dependencies": {
+                "inherits": {
+                    "version": "2.0.1",
+                    "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.1.tgz",
+                    "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
+                    "dev": true
+                },
+                "util": {
+                    "version": "0.10.3",
+                    "resolved": "https://registry.npm.taobao.org/util/download/util-0.10.3.tgz",
+                    "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
+                    "dev": true,
+                    "requires": {
+                        "inherits": "2.0.1"
+                    }
+                }
+            }
+        },
+        "assert-plus": {
+            "version": "1.0.0",
+            "resolved": "https://registry.nlark.com/assert-plus/download/assert-plus-1.0.0.tgz",
+            "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+            "dev": true
+        },
+        "assign-symbols": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/assign-symbols/download/assign-symbols-1.0.0.tgz",
+            "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
+            "dev": true
+        },
+        "async": {
+            "version": "2.6.3",
+            "resolved": "https://registry.npm.taobao.org/async/download/async-2.6.3.tgz",
+            "integrity": "sha1-1yYl4jRKNlbjo61Pp0n6gymdgv8=",
+            "dev": true,
+            "requires": {
+                "lodash": "^4.17.14"
+            }
+        },
+        "async-each": {
+            "version": "1.0.3",
+            "resolved": "https://registry.npm.taobao.org/async-each/download/async-each-1.0.3.tgz",
+            "integrity": "sha1-tyfb+H12UWAvBvTUrDh/R9kbDL8=",
+            "dev": true
+        },
+        "async-foreach": {
+            "version": "0.1.3",
+            "resolved": "https://registry.npm.taobao.org/async-foreach/download/async-foreach-0.1.3.tgz",
+            "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=",
+            "dev": true
+        },
+        "async-limiter": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/async-limiter/download/async-limiter-1.0.1.tgz",
+            "integrity": "sha1-3TeelPDbgxCwgpH51kwyCXZmF/0=",
+            "dev": true
+        },
+        "asynckit": {
+            "version": "0.4.0",
+            "resolved": "https://registry.nlark.com/asynckit/download/asynckit-0.4.0.tgz",
+            "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
+            "dev": true
+        },
+        "atob": {
+            "version": "2.1.2",
+            "resolved": "https://registry.npm.taobao.org/atob/download/atob-2.1.2.tgz",
+            "integrity": "sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k=",
+            "dev": true
+        },
+        "autoprefixer": {
+            "version": "7.2.6",
+            "resolved": "https://registry.npm.taobao.org/autoprefixer/download/autoprefixer-7.2.6.tgz?cache=0&sync_timestamp=1601167582745&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fautoprefixer%2Fdownload%2Fautoprefixer-7.2.6.tgz",
+            "integrity": "sha1-JWZy+G98c12oScTwfQCKuwVgZ9w=",
+            "dev": true,
+            "requires": {
+                "browserslist": "^2.11.3",
+                "caniuse-lite": "^1.0.30000805",
+                "normalize-range": "^0.1.2",
+                "num2fraction": "^1.2.2",
+                "postcss": "^6.0.17",
+                "postcss-value-parser": "^3.2.3"
+            }
+        },
+        "aws-sign2": {
+            "version": "0.7.0",
+            "resolved": "https://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.7.0.tgz",
+            "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
+            "dev": true
+        },
+        "aws4": {
+            "version": "1.11.0",
+            "resolved": "https://registry.nlark.com/aws4/download/aws4-1.11.0.tgz",
+            "integrity": "sha1-1h9G2DslGSUOJ4Ta9bCUeai0HFk=",
+            "dev": true
+        },
+        "axios": {
+            "version": "0.21.0",
+            "resolved": "https://registry.npm.taobao.org/axios/download/axios-0.21.0.tgz",
+            "integrity": "sha1-Jt8IiAOiNQ3/LCf5b++Z/klEKso=",
+            "requires": {
+                "follow-redirects": "^1.10.0"
+            }
+        },
+        "babel-code-frame": {
+            "version": "6.26.0",
+            "resolved": "https://registry.npm.taobao.org/babel-code-frame/download/babel-code-frame-6.26.0.tgz",
+            "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
+            "dev": true,
+            "requires": {
+                "chalk": "^1.1.3",
+                "esutils": "^2.0.2",
+                "js-tokens": "^3.0.2"
+            },
+            "dependencies": {
+                "ansi-styles": {
+                    "version": "2.2.1",
+                    "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz?cache=0&sync_timestamp=1601839122515&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-2.2.1.tgz",
+                    "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+                    "dev": true
+                },
+                "chalk": {
+                    "version": "1.1.3",
+                    "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz",
+                    "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+                    "dev": true,
+                    "requires": {
+                        "ansi-styles": "^2.2.1",
+                        "escape-string-regexp": "^1.0.2",
+                        "has-ansi": "^2.0.0",
+                        "strip-ansi": "^3.0.0",
+                        "supports-color": "^2.0.0"
+                    }
+                },
+                "supports-color": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz",
+                    "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+                    "dev": true
+                }
+            }
+        },
+        "babel-core": {
+            "version": "6.26.3",
+            "resolved": "https://registry.npm.taobao.org/babel-core/download/babel-core-6.26.3.tgz",
+            "integrity": "sha1-suLwnjQtDwyI4vAuBneUEl51wgc=",
+            "dev": true,
+            "requires": {
+                "babel-code-frame": "^6.26.0",
+                "babel-generator": "^6.26.0",
+                "babel-helpers": "^6.24.1",
+                "babel-messages": "^6.23.0",
+                "babel-register": "^6.26.0",
+                "babel-runtime": "^6.26.0",
+                "babel-template": "^6.26.0",
+                "babel-traverse": "^6.26.0",
+                "babel-types": "^6.26.0",
+                "babylon": "^6.18.0",
+                "convert-source-map": "^1.5.1",
+                "debug": "^2.6.9",
+                "json5": "^0.5.1",
+                "lodash": "^4.17.4",
+                "minimatch": "^3.0.4",
+                "path-is-absolute": "^1.0.1",
+                "private": "^0.1.8",
+                "slash": "^1.0.0",
+                "source-map": "^0.5.7"
+            },
+            "dependencies": {
+                "source-map": {
+                    "version": "0.5.7",
+                    "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1589682764497&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz",
+                    "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+                    "dev": true
+                }
+            }
+        },
+        "babel-generator": {
+            "version": "6.26.1",
+            "resolved": "https://registry.npm.taobao.org/babel-generator/download/babel-generator-6.26.1.tgz",
+            "integrity": "sha1-GERAjTuPDTWkBOp6wYDwh6YBvZA=",
+            "dev": true,
+            "requires": {
+                "babel-messages": "^6.23.0",
+                "babel-runtime": "^6.26.0",
+                "babel-types": "^6.26.0",
+                "detect-indent": "^4.0.0",
+                "jsesc": "^1.3.0",
+                "lodash": "^4.17.4",
+                "source-map": "^0.5.7",
+                "trim-right": "^1.0.1"
+            },
+            "dependencies": {
+                "source-map": {
+                    "version": "0.5.7",
+                    "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1589682764497&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz",
+                    "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+                    "dev": true
+                }
+            }
+        },
+        "babel-helper-bindify-decorators": {
+            "version": "6.24.1",
+            "resolved": "https://registry.npm.taobao.org/babel-helper-bindify-decorators/download/babel-helper-bindify-decorators-6.24.1.tgz",
+            "integrity": "sha1-FMGeXxQte0fxmlJDHlKxzLxAozA=",
+            "dev": true,
+            "requires": {
+                "babel-runtime": "^6.22.0",
+                "babel-traverse": "^6.24.1",
+                "babel-types": "^6.24.1"
+            }
+        },
+        "babel-helper-builder-binary-assignment-operator-visitor": {
+            "version": "6.24.1",
+            "resolved": "https://registry.npm.taobao.org/babel-helper-builder-binary-assignment-operator-visitor/download/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz",
+            "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=",
+            "dev": true,
+            "requires": {
+                "babel-helper-explode-assignable-expression": "^6.24.1",
+                "babel-runtime": "^6.22.0",
+                "babel-types": "^6.24.1"
+            }
+        },
+        "babel-helper-call-delegate": {
+            "version": "6.24.1",
+            "resolved": "https://registry.npm.taobao.org/babel-helper-call-delegate/download/babel-helper-call-delegate-6.24.1.tgz",
+            "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=",
+            "dev": true,
+            "requires": {
+                "babel-helper-hoist-variables": "^6.24.1",
+                "babel-runtime": "^6.22.0",
+                "babel-traverse": "^6.24.1",
+                "babel-types": "^6.24.1"
+            }
+        },
+        "babel-helper-define-map": {
+            "version": "6.26.0",
+            "resolved": "https://registry.npm.taobao.org/babel-helper-define-map/download/babel-helper-define-map-6.26.0.tgz",
+            "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=",
+            "dev": true,
+            "requires": {
+                "babel-helper-function-name": "^6.24.1",
+                "babel-runtime": "^6.26.0",
+                "babel-types": "^6.26.0",
+                "lodash": "^4.17.4"
+            }
+        },
+        "babel-helper-explode-assignable-expression": {
+            "version": "6.24.1",
+            "resolved": "https://registry.npm.taobao.org/babel-helper-explode-assignable-expression/download/babel-helper-explode-assignable-expression-6.24.1.tgz",
+            "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=",
+            "dev": true,
+            "requires": {
+                "babel-runtime": "^6.22.0",
+                "babel-traverse": "^6.24.1",
+                "babel-types": "^6.24.1"
+            }
+        },
+        "babel-helper-explode-class": {
+            "version": "6.24.1",
+            "resolved": "https://registry.npm.taobao.org/babel-helper-explode-class/download/babel-helper-explode-class-6.24.1.tgz",
+            "integrity": "sha1-fcKjkQ3uAHBW4eMdZAztPVTqqes=",
+            "dev": true,
+            "requires": {
+                "babel-helper-bindify-decorators": "^6.24.1",
+                "babel-runtime": "^6.22.0",
+                "babel-traverse": "^6.24.1",
+                "babel-types": "^6.24.1"
+            }
+        },
+        "babel-helper-function-name": {
+            "version": "6.24.1",
+            "resolved": "https://registry.npm.taobao.org/babel-helper-function-name/download/babel-helper-function-name-6.24.1.tgz",
+            "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=",
+            "dev": true,
+            "requires": {
+                "babel-helper-get-function-arity": "^6.24.1",
+                "babel-runtime": "^6.22.0",
+                "babel-template": "^6.24.1",
+                "babel-traverse": "^6.24.1",
+                "babel-types": "^6.24.1"
+            }
+        },
+        "babel-helper-get-function-arity": {
+            "version": "6.24.1",
+            "resolved": "https://registry.npm.taobao.org/babel-helper-get-function-arity/download/babel-helper-get-function-arity-6.24.1.tgz",
+            "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=",
+            "dev": true,
+            "requires": {
+                "babel-runtime": "^6.22.0",
+                "babel-types": "^6.24.1"
+            }
+        },
+        "babel-helper-hoist-variables": {
+            "version": "6.24.1",
+            "resolved": "https://registry.npm.taobao.org/babel-helper-hoist-variables/download/babel-helper-hoist-variables-6.24.1.tgz",
+            "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=",
+            "dev": true,
+            "requires": {
+                "babel-runtime": "^6.22.0",
+                "babel-types": "^6.24.1"
+            }
+        },
+        "babel-helper-optimise-call-expression": {
+            "version": "6.24.1",
+            "resolved": "https://registry.npm.taobao.org/babel-helper-optimise-call-expression/download/babel-helper-optimise-call-expression-6.24.1.tgz",
+            "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=",
+            "dev": true,
+            "requires": {
+                "babel-runtime": "^6.22.0",
+                "babel-types": "^6.24.1"
+            }
+        },
+        "babel-helper-regex": {
+            "version": "6.26.0",
+            "resolved": "https://registry.npm.taobao.org/babel-helper-regex/download/babel-helper-regex-6.26.0.tgz",
+            "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=",
+            "dev": true,
+            "requires": {
+                "babel-runtime": "^6.26.0",
+                "babel-types": "^6.26.0",
+                "lodash": "^4.17.4"
+            }
+        },
+        "babel-helper-remap-async-to-generator": {
+            "version": "6.24.1",
+            "resolved": "https://registry.npm.taobao.org/babel-helper-remap-async-to-generator/download/babel-helper-remap-async-to-generator-6.24.1.tgz",
+            "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=",
+            "dev": true,
+            "requires": {
+                "babel-helper-function-name": "^6.24.1",
+                "babel-runtime": "^6.22.0",
+                "babel-template": "^6.24.1",
+                "babel-traverse": "^6.24.1",
+                "babel-types": "^6.24.1"
+            }
+        },
+        "babel-helper-replace-supers": {
+            "version": "6.24.1",
+            "resolved": "https://registry.npm.taobao.org/babel-helper-replace-supers/download/babel-helper-replace-supers-6.24.1.tgz",
+            "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=",
+            "dev": true,
+            "requires": {
+                "babel-helper-optimise-call-expression": "^6.24.1",
+                "babel-messages": "^6.23.0",
+                "babel-runtime": "^6.22.0",
+                "babel-template": "^6.24.1",
+                "babel-traverse": "^6.24.1",
+                "babel-types": "^6.24.1"
+            }
+        },
+        "babel-helper-vue-jsx-merge-props": {
+            "version": "2.0.3",
+            "resolved": "https://registry.npm.taobao.org/babel-helper-vue-jsx-merge-props/download/babel-helper-vue-jsx-merge-props-2.0.3.tgz",
+            "integrity": "sha1-Iq69OzOQIyjlEyk6jkmSs4T58bY=",
+            "dev": true
+        },
+        "babel-helpers": {
+            "version": "6.24.1",
+            "resolved": "https://registry.npm.taobao.org/babel-helpers/download/babel-helpers-6.24.1.tgz",
+            "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=",
+            "dev": true,
+            "requires": {
+                "babel-runtime": "^6.22.0",
+                "babel-template": "^6.24.1"
+            }
+        },
+        "babel-loader": {
+            "version": "7.1.5",
+            "resolved": "https://registry.npm.taobao.org/babel-loader/download/babel-loader-7.1.5.tgz",
+            "integrity": "sha1-4+4M1zlKpVfgE7AtPkkr/QeqbWg=",
+            "dev": true,
+            "requires": {
+                "find-cache-dir": "^1.0.0",
+                "loader-utils": "^1.0.2",
+                "mkdirp": "^0.5.1"
+            }
+        },
+        "babel-messages": {
+            "version": "6.23.0",
+            "resolved": "https://registry.npm.taobao.org/babel-messages/download/babel-messages-6.23.0.tgz",
+            "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
+            "dev": true,
+            "requires": {
+                "babel-runtime": "^6.22.0"
+            }
+        },
+        "babel-plugin-check-es2015-constants": {
+            "version": "6.22.0",
+            "resolved": "https://registry.npm.taobao.org/babel-plugin-check-es2015-constants/download/babel-plugin-check-es2015-constants-6.22.0.tgz",
+            "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=",
+            "dev": true,
+            "requires": {
+                "babel-runtime": "^6.22.0"
+            }
+        },
+        "babel-plugin-component": {
+            "version": "1.1.1",
+            "resolved": "https://registry.npm.taobao.org/babel-plugin-component/download/babel-plugin-component-1.1.1.tgz",
+            "integrity": "sha1-mwI6I/9cmq4P1WxaGLnKuMTUXuo=",
+            "dev": true,
+            "requires": {
+                "@babel/helper-module-imports": "7.0.0-beta.35"
+            }
+        },
+        "babel-plugin-istanbul": {
+            "version": "6.0.0",
+            "resolved": "https://registry.npm.taobao.org/babel-plugin-istanbul/download/babel-plugin-istanbul-6.0.0.tgz",
+            "integrity": "sha1-4VnM3Jr5XgtXDHW0Vzt8NNZx12U=",
+            "requires": {
+                "@babel/helper-plugin-utils": "^7.0.0",
+                "@istanbuljs/load-nyc-config": "^1.0.0",
+                "@istanbuljs/schema": "^0.1.2",
+                "istanbul-lib-instrument": "^4.0.0",
+                "test-exclude": "^6.0.0"
+            }
+        },
+        "babel-plugin-polyfill-corejs2": {
+            "version": "0.2.2",
+            "resolved": "https://registry.nlark.com/babel-plugin-polyfill-corejs2/download/babel-plugin-polyfill-corejs2-0.2.2.tgz?cache=0&sync_timestamp=1622023904181&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbabel-plugin-polyfill-corejs2%2Fdownload%2Fbabel-plugin-polyfill-corejs2-0.2.2.tgz",
+            "integrity": "sha1-6RJHheb9lPlLYYp5VOVpMFO/Uyc=",
+            "requires": {
+                "@babel/compat-data": "^7.13.11",
+                "@babel/helper-define-polyfill-provider": "^0.2.2",
+                "semver": "^6.1.1"
+            },
+            "dependencies": {
+                "semver": {
+                    "version": "6.3.0",
+                    "resolved": "https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1618847119601&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz",
+                    "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0="
+                }
+            }
+        },
+        "babel-plugin-polyfill-corejs3": {
+            "version": "0.2.2",
+            "resolved": "https://registry.nlark.com/babel-plugin-polyfill-corejs3/download/babel-plugin-polyfill-corejs3-0.2.2.tgz?cache=0&sync_timestamp=1622023907017&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbabel-plugin-polyfill-corejs3%2Fdownload%2Fbabel-plugin-polyfill-corejs3-0.2.2.tgz",
+            "integrity": "sha1-dCShaC7kS67IFzJ3ELGwlOX49/U=",
+            "requires": {
+                "@babel/helper-define-polyfill-provider": "^0.2.2",
+                "core-js-compat": "^3.9.1"
+            }
+        },
+        "babel-plugin-polyfill-regenerator": {
+            "version": "0.2.2",
+            "resolved": "https://registry.nlark.com/babel-plugin-polyfill-regenerator/download/babel-plugin-polyfill-regenerator-0.2.2.tgz?cache=0&sync_timestamp=1622023907940&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbabel-plugin-polyfill-regenerator%2Fdownload%2Fbabel-plugin-polyfill-regenerator-0.2.2.tgz",
+            "integrity": "sha1-sxDI1kKsraNIwfo7Pmzg6FG+4Hc=",
+            "requires": {
+                "@babel/helper-define-polyfill-provider": "^0.2.2"
+            }
+        },
+        "babel-plugin-syntax-async-functions": {
+            "version": "6.13.0",
+            "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-async-functions/download/babel-plugin-syntax-async-functions-6.13.0.tgz",
+            "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=",
+            "dev": true
+        },
+        "babel-plugin-syntax-async-generators": {
+            "version": "6.13.0",
+            "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-async-generators/download/babel-plugin-syntax-async-generators-6.13.0.tgz",
+            "integrity": "sha1-a8lj67FuzLrmuStZbrfzXDQqi5o=",
+            "dev": true
+        },
+        "babel-plugin-syntax-class-properties": {
+            "version": "6.13.0",
+            "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-class-properties/download/babel-plugin-syntax-class-properties-6.13.0.tgz",
+            "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=",
+            "dev": true
+        },
+        "babel-plugin-syntax-decorators": {
+            "version": "6.13.0",
+            "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-decorators/download/babel-plugin-syntax-decorators-6.13.0.tgz",
+            "integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=",
+            "dev": true
+        },
+        "babel-plugin-syntax-dynamic-import": {
+            "version": "6.18.0",
+            "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-dynamic-import/download/babel-plugin-syntax-dynamic-import-6.18.0.tgz",
+            "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=",
+            "dev": true
+        },
+        "babel-plugin-syntax-exponentiation-operator": {
+            "version": "6.13.0",
+            "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-exponentiation-operator/download/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz",
+            "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=",
+            "dev": true
+        },
+        "babel-plugin-syntax-jsx": {
+            "version": "6.18.0",
+            "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-jsx/download/babel-plugin-syntax-jsx-6.18.0.tgz",
+            "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=",
+            "dev": true
+        },
+        "babel-plugin-syntax-object-rest-spread": {
+            "version": "6.13.0",
+            "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-object-rest-spread/download/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
+            "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=",
+            "dev": true
+        },
+        "babel-plugin-syntax-trailing-function-commas": {
+            "version": "6.22.0",
+            "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-trailing-function-commas/download/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz",
+            "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=",
+            "dev": true
+        },
+        "babel-plugin-transform-async-generator-functions": {
+            "version": "6.24.1",
+            "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-async-generator-functions/download/babel-plugin-transform-async-generator-functions-6.24.1.tgz?cache=0&sync_timestamp=1589684033821&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-plugin-transform-async-generator-functions%2Fdownload%2Fbabel-plugin-transform-async-generator-functions-6.24.1.tgz",
+            "integrity": "sha1-8FiQAUX9PpkHpt3yjaWfIVJYpds=",
+            "dev": true,
+            "requires": {
+                "babel-helper-remap-async-to-generator": "^6.24.1",
+                "babel-plugin-syntax-async-generators": "^6.5.0",
+                "babel-runtime": "^6.22.0"
+            }
+        },
+        "babel-plugin-transform-async-to-generator": {
+            "version": "6.24.1",
+            "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-async-to-generator/download/babel-plugin-transform-async-to-generator-6.24.1.tgz",
+            "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=",
+            "dev": true,
+            "requires": {
+                "babel-helper-remap-async-to-generator": "^6.24.1",
+                "babel-plugin-syntax-async-functions": "^6.8.0",
+                "babel-runtime": "^6.22.0"
+            }
+        },
+        "babel-plugin-transform-class-properties": {
+            "version": "6.24.1",
+            "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-class-properties/download/babel-plugin-transform-class-properties-6.24.1.tgz",
+            "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=",
+            "dev": true,
+            "requires": {
+                "babel-helper-function-name": "^6.24.1",
+                "babel-plugin-syntax-class-properties": "^6.8.0",
+                "babel-runtime": "^6.22.0",
+                "babel-template": "^6.24.1"
+            }
+        },
+        "babel-plugin-transform-decorators": {
+            "version": "6.24.1",
+            "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-decorators/download/babel-plugin-transform-decorators-6.24.1.tgz",
+            "integrity": "sha1-eIAT2PjGtSIr33s0Q5Df13Vp4k0=",
+            "dev": true,
+            "requires": {
+                "babel-helper-explode-class": "^6.24.1",
+                "babel-plugin-syntax-decorators": "^6.13.0",
+                "babel-runtime": "^6.22.0",
+                "babel-template": "^6.24.1",
+                "babel-types": "^6.24.1"
+            }
+        },
+        "babel-plugin-transform-es2015-arrow-functions": {
+            "version": "6.22.0",
+            "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-arrow-functions/download/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz",
+            "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=",
+            "dev": true,
+            "requires": {
+                "babel-runtime": "^6.22.0"
+            }
+        },
+        "babel-plugin-transform-es2015-block-scoped-functions": {
+            "version": "6.22.0",
+            "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-block-scoped-functions/download/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz",
+            "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=",
+            "dev": true,
+            "requires": {
+                "babel-runtime": "^6.22.0"
+            }
+        },
+        "babel-plugin-transform-es2015-block-scoping": {
+            "version": "6.26.0",
+            "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-block-scoping/download/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz",
+            "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=",
+            "dev": true,
+            "requires": {
+                "babel-runtime": "^6.26.0",
+                "babel-template": "^6.26.0",
+                "babel-traverse": "^6.26.0",
+                "babel-types": "^6.26.0",
+                "lodash": "^4.17.4"
+            }
+        },
+        "babel-plugin-transform-es2015-classes": {
+            "version": "6.24.1",
+            "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-classes/download/babel-plugin-transform-es2015-classes-6.24.1.tgz",
+            "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=",
+            "dev": true,
+            "requires": {
+                "babel-helper-define-map": "^6.24.1",
+                "babel-helper-function-name": "^6.24.1",
+                "babel-helper-optimise-call-expression": "^6.24.1",
+                "babel-helper-replace-supers": "^6.24.1",
+                "babel-messages": "^6.23.0",
+                "babel-runtime": "^6.22.0",
+                "babel-template": "^6.24.1",
+                "babel-traverse": "^6.24.1",
+                "babel-types": "^6.24.1"
+            }
+        },
+        "babel-plugin-transform-es2015-computed-properties": {
+            "version": "6.24.1",
+            "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-computed-properties/download/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz",
+            "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=",
+            "dev": true,
+            "requires": {
+                "babel-runtime": "^6.22.0",
+                "babel-template": "^6.24.1"
+            }
+        },
+        "babel-plugin-transform-es2015-destructuring": {
+            "version": "6.23.0",
+            "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-destructuring/download/babel-plugin-transform-es2015-destructuring-6.23.0.tgz",
+            "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=",
+            "dev": true,
+            "requires": {
+                "babel-runtime": "^6.22.0"
+            }
+        },
+        "babel-plugin-transform-es2015-duplicate-keys": {
+            "version": "6.24.1",
+            "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-duplicate-keys/download/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz",
+            "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=",
+            "dev": true,
+            "requires": {
+                "babel-runtime": "^6.22.0",
+                "babel-types": "^6.24.1"
+            }
+        },
+        "babel-plugin-transform-es2015-for-of": {
+            "version": "6.23.0",
+            "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-for-of/download/babel-plugin-transform-es2015-for-of-6.23.0.tgz",
+            "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=",
+            "dev": true,
+            "requires": {
+                "babel-runtime": "^6.22.0"
+            }
+        },
+        "babel-plugin-transform-es2015-function-name": {
+            "version": "6.24.1",
+            "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-function-name/download/babel-plugin-transform-es2015-function-name-6.24.1.tgz",
+            "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=",
+            "dev": true,
+            "requires": {
+                "babel-helper-function-name": "^6.24.1",
+                "babel-runtime": "^6.22.0",
+                "babel-types": "^6.24.1"
+            }
+        },
+        "babel-plugin-transform-es2015-literals": {
+            "version": "6.22.0",
+            "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-literals/download/babel-plugin-transform-es2015-literals-6.22.0.tgz",
+            "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=",
+            "dev": true,
+            "requires": {
+                "babel-runtime": "^6.22.0"
+            }
+        },
+        "babel-plugin-transform-es2015-modules-amd": {
+            "version": "6.24.1",
+            "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-amd/download/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz",
+            "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=",
+            "dev": true,
+            "requires": {
+                "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1",
+                "babel-runtime": "^6.22.0",
+                "babel-template": "^6.24.1"
+            }
+        },
+        "babel-plugin-transform-es2015-modules-commonjs": {
+            "version": "6.26.2",
+            "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-commonjs/download/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz",
+            "integrity": "sha1-WKeThjqefKhwvcWogRF/+sJ9tvM=",
+            "dev": true,
+            "requires": {
+                "babel-plugin-transform-strict-mode": "^6.24.1",
+                "babel-runtime": "^6.26.0",
+                "babel-template": "^6.26.0",
+                "babel-types": "^6.26.0"
+            }
+        },
+        "babel-plugin-transform-es2015-modules-systemjs": {
+            "version": "6.24.1",
+            "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-systemjs/download/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz",
+            "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=",
+            "dev": true,
+            "requires": {
+                "babel-helper-hoist-variables": "^6.24.1",
+                "babel-runtime": "^6.22.0",
+                "babel-template": "^6.24.1"
+            }
+        },
+        "babel-plugin-transform-es2015-modules-umd": {
+            "version": "6.24.1",
+            "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-umd/download/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz",
+            "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=",
+            "dev": true,
+            "requires": {
+                "babel-plugin-transform-es2015-modules-amd": "^6.24.1",
+                "babel-runtime": "^6.22.0",
+                "babel-template": "^6.24.1"
+            }
+        },
+        "babel-plugin-transform-es2015-object-super": {
+            "version": "6.24.1",
+            "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-object-super/download/babel-plugin-transform-es2015-object-super-6.24.1.tgz",
+            "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=",
+            "dev": true,
+            "requires": {
+                "babel-helper-replace-supers": "^6.24.1",
+                "babel-runtime": "^6.22.0"
+            }
+        },
+        "babel-plugin-transform-es2015-parameters": {
+            "version": "6.24.1",
+            "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-parameters/download/babel-plugin-transform-es2015-parameters-6.24.1.tgz",
+            "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=",
+            "dev": true,
+            "requires": {
+                "babel-helper-call-delegate": "^6.24.1",
+                "babel-helper-get-function-arity": "^6.24.1",
+                "babel-runtime": "^6.22.0",
+                "babel-template": "^6.24.1",
+                "babel-traverse": "^6.24.1",
+                "babel-types": "^6.24.1"
+            }
+        },
+        "babel-plugin-transform-es2015-shorthand-properties": {
+            "version": "6.24.1",
+            "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-shorthand-properties/download/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz",
+            "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=",
+            "dev": true,
+            "requires": {
+                "babel-runtime": "^6.22.0",
+                "babel-types": "^6.24.1"
+            }
+        },
+        "babel-plugin-transform-es2015-spread": {
+            "version": "6.22.0",
+            "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-spread/download/babel-plugin-transform-es2015-spread-6.22.0.tgz",
+            "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=",
+            "dev": true,
+            "requires": {
+                "babel-runtime": "^6.22.0"
+            }
+        },
+        "babel-plugin-transform-es2015-sticky-regex": {
+            "version": "6.24.1",
+            "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-sticky-regex/download/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz",
+            "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=",
+            "dev": true,
+            "requires": {
+                "babel-helper-regex": "^6.24.1",
+                "babel-runtime": "^6.22.0",
+                "babel-types": "^6.24.1"
+            }
+        },
+        "babel-plugin-transform-es2015-template-literals": {
+            "version": "6.22.0",
+            "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-template-literals/download/babel-plugin-transform-es2015-template-literals-6.22.0.tgz",
+            "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=",
+            "dev": true,
+            "requires": {
+                "babel-runtime": "^6.22.0"
+            }
+        },
+        "babel-plugin-transform-es2015-typeof-symbol": {
+            "version": "6.23.0",
+            "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-typeof-symbol/download/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz",
+            "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=",
+            "dev": true,
+            "requires": {
+                "babel-runtime": "^6.22.0"
+            }
+        },
+        "babel-plugin-transform-es2015-unicode-regex": {
+            "version": "6.24.1",
+            "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-es2015-unicode-regex/download/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz",
+            "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=",
+            "dev": true,
+            "requires": {
+                "babel-helper-regex": "^6.24.1",
+                "babel-runtime": "^6.22.0",
+                "regexpu-core": "^2.0.0"
+            }
+        },
+        "babel-plugin-transform-exponentiation-operator": {
+            "version": "6.24.1",
+            "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-exponentiation-operator/download/babel-plugin-transform-exponentiation-operator-6.24.1.tgz",
+            "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=",
+            "dev": true,
+            "requires": {
+                "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1",
+                "babel-plugin-syntax-exponentiation-operator": "^6.8.0",
+                "babel-runtime": "^6.22.0"
+            }
+        },
+        "babel-plugin-transform-object-rest-spread": {
+            "version": "6.26.0",
+            "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-object-rest-spread/download/babel-plugin-transform-object-rest-spread-6.26.0.tgz?cache=0&sync_timestamp=1589684028747&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-plugin-transform-object-rest-spread%2Fdownload%2Fbabel-plugin-transform-object-rest-spread-6.26.0.tgz",
+            "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=",
+            "dev": true,
+            "requires": {
+                "babel-plugin-syntax-object-rest-spread": "^6.8.0",
+                "babel-runtime": "^6.26.0"
+            }
+        },
+        "babel-plugin-transform-regenerator": {
+            "version": "6.26.0",
+            "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-regenerator/download/babel-plugin-transform-regenerator-6.26.0.tgz",
+            "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=",
+            "dev": true,
+            "requires": {
+                "regenerator-transform": "^0.10.0"
+            }
+        },
+        "babel-plugin-transform-runtime": {
+            "version": "6.23.0",
+            "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-runtime/download/babel-plugin-transform-runtime-6.23.0.tgz",
+            "integrity": "sha1-iEkNRGUC6puOfvsP4J7E2ZR5se4=",
+            "dev": true,
+            "requires": {
+                "babel-runtime": "^6.22.0"
+            }
+        },
+        "babel-plugin-transform-strict-mode": {
+            "version": "6.24.1",
+            "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-strict-mode/download/babel-plugin-transform-strict-mode-6.24.1.tgz",
+            "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=",
+            "dev": true,
+            "requires": {
+                "babel-runtime": "^6.22.0",
+                "babel-types": "^6.24.1"
+            }
+        },
+        "babel-plugin-transform-vue-jsx": {
+            "version": "3.7.0",
+            "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-vue-jsx/download/babel-plugin-transform-vue-jsx-3.7.0.tgz",
+            "integrity": "sha1-1ASS5mkqNrWU9+mhko9D6Wl0CWA=",
+            "dev": true,
+            "requires": {
+                "esutils": "^2.0.2"
+            }
+        },
+        "babel-polyfill": {
+            "version": "6.26.0",
+            "resolved": "https://registry.nlark.com/babel-polyfill/download/babel-polyfill-6.26.0.tgz",
+            "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=",
+            "requires": {
+                "babel-runtime": "^6.26.0",
+                "core-js": "^2.5.0",
+                "regenerator-runtime": "^0.10.5"
+            },
+            "dependencies": {
+                "regenerator-runtime": {
+                    "version": "0.10.5",
+                    "resolved": "https://registry.nlark.com/regenerator-runtime/download/regenerator-runtime-0.10.5.tgz",
+                    "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg="
+                }
+            }
+        },
+        "babel-preset-env": {
+            "version": "1.7.0",
+            "resolved": "https://registry.npm.taobao.org/babel-preset-env/download/babel-preset-env-1.7.0.tgz",
+            "integrity": "sha1-3qefpOvriDzTXasH4mDBycBN93o=",
+            "dev": true,
+            "requires": {
+                "babel-plugin-check-es2015-constants": "^6.22.0",
+                "babel-plugin-syntax-trailing-function-commas": "^6.22.0",
+                "babel-plugin-transform-async-to-generator": "^6.22.0",
+                "babel-plugin-transform-es2015-arrow-functions": "^6.22.0",
+                "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0",
+                "babel-plugin-transform-es2015-block-scoping": "^6.23.0",
+                "babel-plugin-transform-es2015-classes": "^6.23.0",
+                "babel-plugin-transform-es2015-computed-properties": "^6.22.0",
+                "babel-plugin-transform-es2015-destructuring": "^6.23.0",
+                "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0",
+                "babel-plugin-transform-es2015-for-of": "^6.23.0",
+                "babel-plugin-transform-es2015-function-name": "^6.22.0",
+                "babel-plugin-transform-es2015-literals": "^6.22.0",
+                "babel-plugin-transform-es2015-modules-amd": "^6.22.0",
+                "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0",
+                "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0",
+                "babel-plugin-transform-es2015-modules-umd": "^6.23.0",
+                "babel-plugin-transform-es2015-object-super": "^6.22.0",
+                "babel-plugin-transform-es2015-parameters": "^6.23.0",
+                "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0",
+                "babel-plugin-transform-es2015-spread": "^6.22.0",
+                "babel-plugin-transform-es2015-sticky-regex": "^6.22.0",
+                "babel-plugin-transform-es2015-template-literals": "^6.22.0",
+                "babel-plugin-transform-es2015-typeof-symbol": "^6.23.0",
+                "babel-plugin-transform-es2015-unicode-regex": "^6.22.0",
+                "babel-plugin-transform-exponentiation-operator": "^6.22.0",
+                "babel-plugin-transform-regenerator": "^6.22.0",
+                "browserslist": "^3.2.6",
+                "invariant": "^2.2.2",
+                "semver": "^5.3.0"
+            },
+            "dependencies": {
+                "browserslist": {
+                    "version": "3.2.8",
+                    "resolved": "https://registry.npm.taobao.org/browserslist/download/browserslist-3.2.8.tgz",
+                    "integrity": "sha1-sABTYdZHHw9ZUnl6dvyYXx+Xj8Y=",
+                    "dev": true,
+                    "requires": {
+                        "caniuse-lite": "^1.0.30000844",
+                        "electron-to-chromium": "^1.3.47"
+                    }
+                }
+            }
+        },
+        "babel-preset-stage-2": {
+            "version": "6.24.1",
+            "resolved": "https://registry.npm.taobao.org/babel-preset-stage-2/download/babel-preset-stage-2-6.24.1.tgz",
+            "integrity": "sha1-2eKWD7PXEYfw5k7sYrwHdnIZvcE=",
+            "dev": true,
+            "requires": {
+                "babel-plugin-syntax-dynamic-import": "^6.18.0",
+                "babel-plugin-transform-class-properties": "^6.24.1",
+                "babel-plugin-transform-decorators": "^6.24.1",
+                "babel-preset-stage-3": "^6.24.1"
+            }
+        },
+        "babel-preset-stage-3": {
+            "version": "6.24.1",
+            "resolved": "https://registry.npm.taobao.org/babel-preset-stage-3/download/babel-preset-stage-3-6.24.1.tgz",
+            "integrity": "sha1-g2raCp56f6N8sTj7kyb4eTSkg5U=",
+            "dev": true,
+            "requires": {
+                "babel-plugin-syntax-trailing-function-commas": "^6.22.0",
+                "babel-plugin-transform-async-generator-functions": "^6.24.1",
+                "babel-plugin-transform-async-to-generator": "^6.24.1",
+                "babel-plugin-transform-exponentiation-operator": "^6.24.1",
+                "babel-plugin-transform-object-rest-spread": "^6.22.0"
+            }
+        },
+        "babel-register": {
+            "version": "6.26.0",
+            "resolved": "https://registry.npm.taobao.org/babel-register/download/babel-register-6.26.0.tgz",
+            "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=",
+            "dev": true,
+            "requires": {
+                "babel-core": "^6.26.0",
+                "babel-runtime": "^6.26.0",
+                "core-js": "^2.5.0",
+                "home-or-tmp": "^2.0.0",
+                "lodash": "^4.17.4",
+                "mkdirp": "^0.5.1",
+                "source-map-support": "^0.4.15"
+            }
+        },
+        "babel-runtime": {
+            "version": "6.26.0",
+            "resolved": "https://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.26.0.tgz?cache=0&sync_timestamp=1589682807065&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-runtime%2Fdownload%2Fbabel-runtime-6.26.0.tgz",
+            "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+            "requires": {
+                "core-js": "^2.4.0",
+                "regenerator-runtime": "^0.11.0"
+            }
+        },
+        "babel-template": {
+            "version": "6.26.0",
+            "resolved": "https://registry.npm.taobao.org/babel-template/download/babel-template-6.26.0.tgz",
+            "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=",
+            "dev": true,
+            "requires": {
+                "babel-runtime": "^6.26.0",
+                "babel-traverse": "^6.26.0",
+                "babel-types": "^6.26.0",
+                "babylon": "^6.18.0",
+                "lodash": "^4.17.4"
+            }
+        },
+        "babel-traverse": {
+            "version": "6.26.0",
+            "resolved": "https://registry.npm.taobao.org/babel-traverse/download/babel-traverse-6.26.0.tgz",
+            "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=",
+            "dev": true,
+            "requires": {
+                "babel-code-frame": "^6.26.0",
+                "babel-messages": "^6.23.0",
+                "babel-runtime": "^6.26.0",
+                "babel-types": "^6.26.0",
+                "babylon": "^6.18.0",
+                "debug": "^2.6.8",
+                "globals": "^9.18.0",
+                "invariant": "^2.2.2",
+                "lodash": "^4.17.4"
+            }
+        },
+        "babel-types": {
+            "version": "6.26.0",
+            "resolved": "https://registry.npm.taobao.org/babel-types/download/babel-types-6.26.0.tgz",
+            "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
+            "dev": true,
+            "requires": {
+                "babel-runtime": "^6.26.0",
+                "esutils": "^2.0.2",
+                "lodash": "^4.17.4",
+                "to-fast-properties": "^1.0.3"
+            }
+        },
+        "babylon": {
+            "version": "6.18.0",
+            "resolved": "https://registry.npm.taobao.org/babylon/download/babylon-6.18.0.tgz",
+            "integrity": "sha1-ry87iPpvXB5MY00aD46sT1WzleM=",
+            "dev": true
+        },
+        "balanced-match": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz",
+            "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
+        },
+        "base": {
+            "version": "0.11.2",
+            "resolved": "https://registry.npm.taobao.org/base/download/base-0.11.2.tgz",
+            "integrity": "sha1-e95c7RRbbVUakNuH+DxVi060io8=",
+            "dev": true,
+            "requires": {
+                "cache-base": "^1.0.1",
+                "class-utils": "^0.3.5",
+                "component-emitter": "^1.2.1",
+                "define-property": "^1.0.0",
+                "isobject": "^3.0.1",
+                "mixin-deep": "^1.2.0",
+                "pascalcase": "^0.1.1"
+            },
+            "dependencies": {
+                "define-property": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz",
+                    "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+                    "dev": true,
+                    "requires": {
+                        "is-descriptor": "^1.0.0"
+                    }
+                },
+                "is-accessor-descriptor": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz",
+                    "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=",
+                    "dev": true,
+                    "requires": {
+                        "kind-of": "^6.0.0"
+                    }
+                },
+                "is-data-descriptor": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz",
+                    "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=",
+                    "dev": true,
+                    "requires": {
+                        "kind-of": "^6.0.0"
+                    }
+                },
+                "is-descriptor": {
+                    "version": "1.0.2",
+                    "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz",
+                    "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=",
+                    "dev": true,
+                    "requires": {
+                        "is-accessor-descriptor": "^1.0.0",
+                        "is-data-descriptor": "^1.0.0",
+                        "kind-of": "^6.0.2"
+                    }
+                },
+                "kind-of": {
+                    "version": "6.0.3",
+                    "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.3.tgz",
+                    "integrity": "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=",
+                    "dev": true
+                }
+            }
+        },
+        "base64-js": {
+            "version": "1.3.1",
+            "resolved": "https://registry.npm.taobao.org/base64-js/download/base64-js-1.3.1.tgz?cache=0&sync_timestamp=1599054234315&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbase64-js%2Fdownload%2Fbase64-js-1.3.1.tgz",
+            "integrity": "sha1-WOzoy3XdB+ce0IxzarxfrE2/jfE="
+        },
+        "batch": {
+            "version": "0.6.1",
+            "resolved": "https://registry.npm.taobao.org/batch/download/batch-0.6.1.tgz",
+            "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=",
+            "dev": true
+        },
+        "bcrypt-pbkdf": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz",
+            "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
+            "dev": true,
+            "requires": {
+                "tweetnacl": "^0.14.3"
+            }
+        },
+        "bfj-node4": {
+            "version": "5.3.1",
+            "resolved": "https://registry.npm.taobao.org/bfj-node4/download/bfj-node4-5.3.1.tgz",
+            "integrity": "sha1-4j2LJwV/HQIU/FYRQq2duZjyaDA=",
+            "dev": true,
+            "requires": {
+                "bluebird": "^3.5.1",
+                "check-types": "^7.3.0",
+                "tryer": "^1.0.0"
+            }
+        },
+        "big.js": {
+            "version": "5.2.2",
+            "resolved": "https://registry.npm.taobao.org/big.js/download/big.js-5.2.2.tgz",
+            "integrity": "sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg=",
+            "dev": true
+        },
+        "binary-extensions": {
+            "version": "2.1.0",
+            "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-2.1.0.tgz",
+            "integrity": "sha1-MPpAyef+B9vIlWeM0ocCTeokHdk=",
+            "dev": true,
+            "optional": true
+        },
+        "binaryify-awesome-qr": {
+            "version": "2.1.10",
+            "resolved": "https://registry.nlark.com/binaryify-awesome-qr/download/binaryify-awesome-qr-2.1.10.tgz",
+            "integrity": "sha1-wkWV3GINGpPdb6jZAo5WMDqkB/E=",
+            "requires": {
+                "buffer": "^6.0.3",
+                "canvas": "^2.7.0",
+                "js-binary-schema-parser": "^2.0.0"
+            },
+            "dependencies": {
+                "buffer": {
+                    "version": "6.0.3",
+                    "resolved": "https://registry.npm.taobao.org/buffer/download/buffer-6.0.3.tgz",
+                    "integrity": "sha1-Ks5XhFnMj74qcKqo9S7mO2p0xsY=",
+                    "requires": {
+                        "base64-js": "^1.3.1",
+                        "ieee754": "^1.2.1"
+                    }
+                }
+            }
+        },
+        "bindings": {
+            "version": "1.5.0",
+            "resolved": "https://registry.npm.taobao.org/bindings/download/bindings-1.5.0.tgz",
+            "integrity": "sha1-EDU8npRTNLwFEabZCzj7x8nFBN8=",
+            "dev": true,
+            "optional": true,
+            "requires": {
+                "file-uri-to-path": "1.0.0"
+            }
+        },
+        "bluebird": {
+            "version": "3.7.2",
+            "resolved": "https://registry.npm.taobao.org/bluebird/download/bluebird-3.7.2.tgz?cache=0&sync_timestamp=1589682744631&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbluebird%2Fdownload%2Fbluebird-3.7.2.tgz",
+            "integrity": "sha1-nyKcFb4nJFT/qXOs4NvueaGww28=",
+            "dev": true
+        },
+        "bn.js": {
+            "version": "5.1.3",
+            "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-5.1.3.tgz",
+            "integrity": "sha1-vsoAVAj2Quvr6oCwQrTRjSrA7ms=",
+            "dev": true
+        },
+        "body-parser": {
+            "version": "1.19.0",
+            "resolved": "https://registry.npm.taobao.org/body-parser/download/body-parser-1.19.0.tgz",
+            "integrity": "sha1-lrJwnlfJxOCab9Zqj9l5hE9p8Io=",
+            "dev": true,
+            "requires": {
+                "bytes": "3.1.0",
+                "content-type": "~1.0.4",
+                "debug": "2.6.9",
+                "depd": "~1.1.2",
+                "http-errors": "1.7.2",
+                "iconv-lite": "0.4.24",
+                "on-finished": "~2.3.0",
+                "qs": "6.7.0",
+                "raw-body": "2.4.0",
+                "type-is": "~1.6.17"
+            }
+        },
+        "bonjour": {
+            "version": "3.5.0",
+            "resolved": "https://registry.npm.taobao.org/bonjour/download/bonjour-3.5.0.tgz",
+            "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=",
+            "dev": true,
+            "requires": {
+                "array-flatten": "^2.1.0",
+                "deep-equal": "^1.0.1",
+                "dns-equal": "^1.0.0",
+                "dns-txt": "^2.0.2",
+                "multicast-dns": "^6.0.1",
+                "multicast-dns-service-types": "^1.1.0"
+            },
+            "dependencies": {
+                "array-flatten": {
+                    "version": "2.1.2",
+                    "resolved": "https://registry.npm.taobao.org/array-flatten/download/array-flatten-2.1.2.tgz",
+                    "integrity": "sha1-JO+AoowaiTYX4hSbDG0NeIKTsJk=",
+                    "dev": true
+                }
+            }
+        },
+        "boolbase": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/boolbase/download/boolbase-1.0.0.tgz",
+            "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
+            "dev": true
+        },
+        "brace-expansion": {
+            "version": "1.1.11",
+            "resolved": "https://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz?cache=0&sync_timestamp=1601898189928&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrace-expansion%2Fdownload%2Fbrace-expansion-1.1.11.tgz",
+            "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=",
+            "requires": {
+                "balanced-match": "^1.0.0",
+                "concat-map": "0.0.1"
+            }
+        },
+        "braces": {
+            "version": "3.0.2",
+            "resolved": "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz",
+            "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=",
+            "dev": true,
+            "optional": true,
+            "requires": {
+                "fill-range": "^7.0.1"
+            }
+        },
+        "brorand": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npm.taobao.org/brorand/download/brorand-1.1.0.tgz",
+            "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
+            "dev": true
+        },
+        "browserify-aes": {
+            "version": "1.2.0",
+            "resolved": "https://registry.npm.taobao.org/browserify-aes/download/browserify-aes-1.2.0.tgz",
+            "integrity": "sha1-Mmc0ZC9APavDADIJhTu3CtQo70g=",
+            "dev": true,
+            "requires": {
+                "buffer-xor": "^1.0.3",
+                "cipher-base": "^1.0.0",
+                "create-hash": "^1.1.0",
+                "evp_bytestokey": "^1.0.3",
+                "inherits": "^2.0.1",
+                "safe-buffer": "^5.0.1"
+            }
+        },
+        "browserify-cipher": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/browserify-cipher/download/browserify-cipher-1.0.1.tgz",
+            "integrity": "sha1-jWR0wbhwv9q807z8wZNKEOlPFfA=",
+            "dev": true,
+            "requires": {
+                "browserify-aes": "^1.0.4",
+                "browserify-des": "^1.0.0",
+                "evp_bytestokey": "^1.0.0"
+            }
+        },
+        "browserify-des": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npm.taobao.org/browserify-des/download/browserify-des-1.0.2.tgz",
+            "integrity": "sha1-OvTx9Zg5QDVy8cZiBDdfen9wPpw=",
+            "dev": true,
+            "requires": {
+                "cipher-base": "^1.0.1",
+                "des.js": "^1.0.0",
+                "inherits": "^2.0.1",
+                "safe-buffer": "^5.1.2"
+            }
+        },
+        "browserify-rsa": {
+            "version": "4.0.1",
+            "resolved": "https://registry.npm.taobao.org/browserify-rsa/download/browserify-rsa-4.0.1.tgz",
+            "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
+            "dev": true,
+            "requires": {
+                "bn.js": "^4.1.0",
+                "randombytes": "^2.0.1"
+            },
+            "dependencies": {
+                "bn.js": {
+                    "version": "4.11.9",
+                    "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.11.9.tgz",
+                    "integrity": "sha1-JtVWgpRY+dHoH8SJUkk9C6NQeCg=",
+                    "dev": true
+                }
+            }
+        },
+        "browserify-sign": {
+            "version": "4.2.1",
+            "resolved": "https://registry.npm.taobao.org/browserify-sign/download/browserify-sign-4.2.1.tgz",
+            "integrity": "sha1-6vSt1G3VS+O7OzbAzxWrvrp5VsM=",
+            "dev": true,
+            "requires": {
+                "bn.js": "^5.1.1",
+                "browserify-rsa": "^4.0.1",
+                "create-hash": "^1.2.0",
+                "create-hmac": "^1.1.7",
+                "elliptic": "^6.5.3",
+                "inherits": "^2.0.4",
+                "parse-asn1": "^5.1.5",
+                "readable-stream": "^3.6.0",
+                "safe-buffer": "^5.2.0"
+            },
+            "dependencies": {
+                "readable-stream": {
+                    "version": "3.6.0",
+                    "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz?cache=0&sync_timestamp=1589682741447&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-3.6.0.tgz",
+                    "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=",
+                    "dev": true,
+                    "requires": {
+                        "inherits": "^2.0.3",
+                        "string_decoder": "^1.1.1",
+                        "util-deprecate": "^1.0.1"
+                    }
+                },
+                "safe-buffer": {
+                    "version": "5.2.1",
+                    "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.1.tgz?cache=0&sync_timestamp=1589682795646&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsafe-buffer%2Fdownload%2Fsafe-buffer-5.2.1.tgz",
+                    "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=",
+                    "dev": true
+                }
+            }
+        },
+        "browserify-zlib": {
+            "version": "0.2.0",
+            "resolved": "https://registry.npm.taobao.org/browserify-zlib/download/browserify-zlib-0.2.0.tgz",
+            "integrity": "sha1-KGlFnZqjviRf6P4sofRuLn9U1z8=",
+            "dev": true,
+            "requires": {
+                "pako": "~1.0.5"
+            }
+        },
+        "browserslist": {
+            "version": "2.11.3",
+            "resolved": "https://registry.npm.taobao.org/browserslist/download/browserslist-2.11.3.tgz",
+            "integrity": "sha1-/jYWeu0bvN5IJ+v+cTR6LMcLmbI=",
+            "dev": true,
+            "requires": {
+                "caniuse-lite": "^1.0.30000792",
+                "electron-to-chromium": "^1.3.30"
+            }
+        },
+        "buffer": {
+            "version": "4.9.2",
+            "resolved": "https://registry.npm.taobao.org/buffer/download/buffer-4.9.2.tgz?cache=0&sync_timestamp=1603834228181&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbuffer%2Fdownload%2Fbuffer-4.9.2.tgz",
+            "integrity": "sha1-Iw6tNEACmIZEhBqwJEr4xEu+Pvg=",
+            "dev": true,
+            "requires": {
+                "base64-js": "^1.0.2",
+                "ieee754": "^1.1.4",
+                "isarray": "^1.0.0"
+            }
+        },
+        "buffer-from": {
+            "version": "1.1.1",
+            "resolved": "https://registry.npm.taobao.org/buffer-from/download/buffer-from-1.1.1.tgz",
+            "integrity": "sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8="
+        },
+        "buffer-indexof": {
+            "version": "1.1.1",
+            "resolved": "https://registry.npm.taobao.org/buffer-indexof/download/buffer-indexof-1.1.1.tgz",
+            "integrity": "sha1-Uvq8xqYG0aADAoAmSO9o9jnaJow=",
+            "dev": true
+        },
+        "buffer-xor": {
+            "version": "1.0.3",
+            "resolved": "https://registry.npm.taobao.org/buffer-xor/download/buffer-xor-1.0.3.tgz",
+            "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
+            "dev": true
+        },
+        "builtin-status-codes": {
+            "version": "3.0.0",
+            "resolved": "https://registry.npm.taobao.org/builtin-status-codes/download/builtin-status-codes-3.0.0.tgz",
+            "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
+            "dev": true
+        },
+        "bytes": {
+            "version": "3.1.0",
+            "resolved": "https://registry.npm.taobao.org/bytes/download/bytes-3.1.0.tgz?cache=0&sync_timestamp=1589682741197&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbytes%2Fdownload%2Fbytes-3.1.0.tgz",
+            "integrity": "sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY=",
+            "dev": true
+        },
+        "cacache": {
+            "version": "10.0.4",
+            "resolved": "https://registry.npm.taobao.org/cacache/download/cacache-10.0.4.tgz",
+            "integrity": "sha1-ZFI2eZnv+dQYiu/ZoU6dfGomNGA=",
+            "dev": true,
+            "requires": {
+                "bluebird": "^3.5.1",
+                "chownr": "^1.0.1",
+                "glob": "^7.1.2",
+                "graceful-fs": "^4.1.11",
+                "lru-cache": "^4.1.1",
+                "mississippi": "^2.0.0",
+                "mkdirp": "^0.5.1",
+                "move-concurrently": "^1.0.1",
+                "promise-inflight": "^1.0.1",
+                "rimraf": "^2.6.2",
+                "ssri": "^5.2.4",
+                "unique-filename": "^1.1.0",
+                "y18n": "^4.0.0"
+            }
+        },
+        "cache-base": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/cache-base/download/cache-base-1.0.1.tgz",
+            "integrity": "sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=",
+            "dev": true,
+            "requires": {
+                "collection-visit": "^1.0.0",
+                "component-emitter": "^1.2.1",
+                "get-value": "^2.0.6",
+                "has-value": "^1.0.0",
+                "isobject": "^3.0.1",
+                "set-value": "^2.0.0",
+                "to-object-path": "^0.3.0",
+                "union-value": "^1.0.0",
+                "unset-value": "^1.0.0"
+            }
+        },
+        "call-bind": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/call-bind/download/call-bind-1.0.0.tgz?cache=0&sync_timestamp=1604117008862&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcall-bind%2Fdownload%2Fcall-bind-1.0.0.tgz",
+            "integrity": "sha1-JBJwVLs/m9y0sfuCQYGGBy93uM4=",
+            "dev": true,
+            "requires": {
+                "function-bind": "^1.1.1",
+                "get-intrinsic": "^1.0.0"
+            }
+        },
+        "caller-callsite": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npm.taobao.org/caller-callsite/download/caller-callsite-2.0.0.tgz",
+            "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=",
+            "requires": {
+                "callsites": "^2.0.0"
+            }
+        },
+        "caller-path": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npm.taobao.org/caller-path/download/caller-path-2.0.0.tgz",
+            "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=",
+            "requires": {
+                "caller-callsite": "^2.0.0"
+            }
+        },
+        "callsites": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npm.taobao.org/callsites/download/callsites-2.0.0.tgz",
+            "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA="
+        },
+        "camel-case": {
+            "version": "3.0.0",
+            "resolved": "https://registry.npm.taobao.org/camel-case/download/camel-case-3.0.0.tgz",
+            "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=",
+            "dev": true,
+            "requires": {
+                "no-case": "^2.2.0",
+                "upper-case": "^1.1.1"
+            }
+        },
+        "camelcase": {
+            "version": "1.2.1",
+            "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-1.2.1.tgz?cache=0&sync_timestamp=1603923709404&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-1.2.1.tgz",
+            "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
+            "dev": true
+        },
+        "camelcase-keys": {
+            "version": "2.1.0",
+            "resolved": "https://registry.npm.taobao.org/camelcase-keys/download/camelcase-keys-2.1.0.tgz",
+            "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
+            "requires": {
+                "camelcase": "^2.0.0",
+                "map-obj": "^1.0.0"
+            },
+            "dependencies": {
+                "camelcase": {
+                    "version": "2.1.1",
+                    "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-2.1.1.tgz?cache=0&sync_timestamp=1603923709404&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-2.1.1.tgz",
+                    "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8="
+                }
+            }
+        },
+        "caniuse-api": {
+            "version": "1.6.1",
+            "resolved": "https://registry.npm.taobao.org/caniuse-api/download/caniuse-api-1.6.1.tgz",
+            "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=",
+            "dev": true,
+            "requires": {
+                "browserslist": "^1.3.6",
+                "caniuse-db": "^1.0.30000529",
+                "lodash.memoize": "^4.1.2",
+                "lodash.uniq": "^4.5.0"
+            },
+            "dependencies": {
+                "browserslist": {
+                    "version": "1.7.7",
+                    "resolved": "https://registry.npm.taobao.org/browserslist/download/browserslist-1.7.7.tgz",
+                    "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=",
+                    "dev": true,
+                    "requires": {
+                        "caniuse-db": "^1.0.30000639",
+                        "electron-to-chromium": "^1.2.7"
+                    }
+                }
+            }
+        },
+        "caniuse-db": {
+            "version": "1.0.30001154",
+            "resolved": "https://registry.npm.taobao.org/caniuse-db/download/caniuse-db-1.0.30001154.tgz?cache=0&sync_timestamp=1604002737052&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcaniuse-db%2Fdownload%2Fcaniuse-db-1.0.30001154.tgz",
+            "integrity": "sha1-c9rgW4Pe/vCMDJOZSMBP7Z1AtUk=",
+            "dev": true
+        },
+        "caniuse-lite": {
+            "version": "1.0.30001154",
+            "resolved": "https://registry.npm.taobao.org/caniuse-lite/download/caniuse-lite-1.0.30001154.tgz?cache=0&sync_timestamp=1604001843079&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcaniuse-lite%2Fdownload%2Fcaniuse-lite-1.0.30001154.tgz",
+            "integrity": "sha1-87vCRc5V5MHNIPpzGwl4gBgafxc="
+        },
+        "canvas": {
+            "version": "2.8.0",
+            "resolved": "https://registry.nlark.com/canvas/download/canvas-2.8.0.tgz",
+            "integrity": "sha1-+Zyn8l5uJmhmYf+k/sEjm773RGE=",
+            "requires": {
+                "@mapbox/node-pre-gyp": "^1.0.0",
+                "nan": "^2.14.0",
+                "simple-get": "^3.0.3"
+            }
+        },
+        "caseless": {
+            "version": "0.12.0",
+            "resolved": "https://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz",
+            "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
+            "dev": true
+        },
+        "center-align": {
+            "version": "0.1.3",
+            "resolved": "https://registry.npm.taobao.org/center-align/download/center-align-0.1.3.tgz",
+            "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
+            "dev": true,
+            "requires": {
+                "align-text": "^0.1.3",
+                "lazy-cache": "^1.0.3"
+            }
+        },
+        "chalk": {
+            "version": "2.4.2",
+            "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz",
+            "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=",
+            "requires": {
+                "ansi-styles": "^3.2.1",
+                "escape-string-regexp": "^1.0.5",
+                "supports-color": "^5.3.0"
+            }
+        },
+        "check-types": {
+            "version": "7.4.0",
+            "resolved": "https://registry.npm.taobao.org/check-types/download/check-types-7.4.0.tgz",
+            "integrity": "sha1-A3jsG5YW7HH3dJMaPGUW+tjBUvQ=",
+            "dev": true
+        },
+        "chokidar": {
+            "version": "3.4.3",
+            "resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-3.4.3.tgz?cache=0&sync_timestamp=1602585381749&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-3.4.3.tgz",
+            "integrity": "sha1-wd84IxRI5FykrFiObHlXO6alfVs=",
+            "dev": true,
+            "optional": true,
+            "requires": {
+                "anymatch": "~3.1.1",
+                "braces": "~3.0.2",
+                "fsevents": "~2.1.2",
+                "glob-parent": "~5.1.0",
+                "is-binary-path": "~2.1.0",
+                "is-glob": "~4.0.1",
+                "normalize-path": "~3.0.0",
+                "readdirp": "~3.5.0"
+            }
+        },
+        "chownr": {
+            "version": "1.1.4",
+            "resolved": "https://registry.npm.taobao.org/chownr/download/chownr-1.1.4.tgz",
+            "integrity": "sha1-b8nXtC0ypYNZYzdmbn0ICE2izGs=",
+            "dev": true
+        },
+        "cipher-base": {
+            "version": "1.0.4",
+            "resolved": "https://registry.npm.taobao.org/cipher-base/download/cipher-base-1.0.4.tgz",
+            "integrity": "sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94=",
+            "dev": true,
+            "requires": {
+                "inherits": "^2.0.1",
+                "safe-buffer": "^5.0.1"
+            }
+        },
+        "clap": {
+            "version": "1.2.3",
+            "resolved": "https://registry.npm.taobao.org/clap/download/clap-1.2.3.tgz",
+            "integrity": "sha1-TzZ0WzIAhJJVf0ZBLWbVDLmbzlE=",
+            "dev": true,
+            "requires": {
+                "chalk": "^1.1.3"
+            },
+            "dependencies": {
+                "ansi-styles": {
+                    "version": "2.2.1",
+                    "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz?cache=0&sync_timestamp=1601839122515&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-2.2.1.tgz",
+                    "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+                    "dev": true
+                },
+                "chalk": {
+                    "version": "1.1.3",
+                    "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz",
+                    "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+                    "dev": true,
+                    "requires": {
+                        "ansi-styles": "^2.2.1",
+                        "escape-string-regexp": "^1.0.2",
+                        "has-ansi": "^2.0.0",
+                        "strip-ansi": "^3.0.0",
+                        "supports-color": "^2.0.0"
+                    }
+                },
+                "supports-color": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz",
+                    "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+                    "dev": true
+                }
+            }
+        },
+        "class-utils": {
+            "version": "0.3.6",
+            "resolved": "https://registry.npm.taobao.org/class-utils/download/class-utils-0.3.6.tgz",
+            "integrity": "sha1-+TNprouafOAv1B+q0MqDAzGQxGM=",
+            "dev": true,
+            "requires": {
+                "arr-union": "^3.1.0",
+                "define-property": "^0.2.5",
+                "isobject": "^3.0.0",
+                "static-extend": "^0.1.1"
+            },
+            "dependencies": {
+                "define-property": {
+                    "version": "0.2.5",
+                    "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz",
+                    "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+                    "dev": true,
+                    "requires": {
+                        "is-descriptor": "^0.1.0"
+                    }
+                }
+            }
+        },
+        "clean-css": {
+            "version": "4.2.3",
+            "resolved": "https://registry.npm.taobao.org/clean-css/download/clean-css-4.2.3.tgz",
+            "integrity": "sha1-UHtd59l7SO5T2ErbAWD/YhY4D3g=",
+            "dev": true,
+            "requires": {
+                "source-map": "~0.6.0"
+            }
+        },
+        "cli-cursor": {
+            "version": "2.1.0",
+            "resolved": "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-2.1.0.tgz",
+            "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
+            "dev": true,
+            "requires": {
+                "restore-cursor": "^2.0.0"
+            }
+        },
+        "cli-spinners": {
+            "version": "1.3.1",
+            "resolved": "https://registry.npm.taobao.org/cli-spinners/download/cli-spinners-1.3.1.tgz?cache=0&sync_timestamp=1602505826257&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcli-spinners%2Fdownload%2Fcli-spinners-1.3.1.tgz",
+            "integrity": "sha1-ACwZkJEtDVlYDJO9NsBW3pnkJZo=",
+            "dev": true
+        },
+        "clipboard": {
+            "version": "2.0.8",
+            "resolved": "https://registry.npm.taobao.org/clipboard/download/clipboard-2.0.8.tgz?cache=0&sync_timestamp=1615409953598&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fclipboard%2Fdownload%2Fclipboard-2.0.8.tgz",
+            "integrity": "sha1-/8bBA90pZ6gwBfP2GXaqRlWkzbo=",
+            "requires": {
+                "good-listener": "^1.2.2",
+                "select": "^1.1.2",
+                "tiny-emitter": "^2.0.0"
+            }
+        },
+        "cliui": {
+            "version": "2.1.0",
+            "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-2.1.0.tgz?cache=0&sync_timestamp=1602861367442&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcliui%2Fdownload%2Fcliui-2.1.0.tgz",
+            "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
+            "dev": true,
+            "requires": {
+                "center-align": "^0.1.1",
+                "right-align": "^0.1.1",
+                "wordwrap": "0.0.2"
+            }
+        },
+        "clone": {
+            "version": "1.0.4",
+            "resolved": "https://registry.npm.taobao.org/clone/download/clone-1.0.4.tgz?cache=0&sync_timestamp=1589682821772&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fclone%2Fdownload%2Fclone-1.0.4.tgz",
+            "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
+            "dev": true
+        },
+        "co": {
+            "version": "4.6.0",
+            "resolved": "https://registry.npm.taobao.org/co/download/co-4.6.0.tgz?cache=0&sync_timestamp=1589683669101&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fco%2Fdownload%2Fco-4.6.0.tgz",
+            "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
+            "dev": true
+        },
+        "coa": {
+            "version": "1.0.4",
+            "resolved": "https://registry.npm.taobao.org/coa/download/coa-1.0.4.tgz",
+            "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=",
+            "dev": true,
+            "requires": {
+                "q": "^1.1.2"
+            }
+        },
+        "code-point-at": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npm.taobao.org/code-point-at/download/code-point-at-1.1.0.tgz",
+            "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
+        },
+        "collection-visit": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/collection-visit/download/collection-visit-1.0.0.tgz",
+            "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
+            "dev": true,
+            "requires": {
+                "map-visit": "^1.0.0",
+                "object-visit": "^1.0.0"
+            }
+        },
+        "color": {
+            "version": "0.11.4",
+            "resolved": "https://registry.npm.taobao.org/color/download/color-0.11.4.tgz?cache=0&sync_timestamp=1602228883047&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcolor%2Fdownload%2Fcolor-0.11.4.tgz",
+            "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=",
+            "dev": true,
+            "requires": {
+                "clone": "^1.0.2",
+                "color-convert": "^1.3.0",
+                "color-string": "^0.3.0"
+            }
+        },
+        "color-convert": {
+            "version": "1.9.3",
+            "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz",
+            "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=",
+            "requires": {
+                "color-name": "1.1.3"
+            }
+        },
+        "color-name": {
+            "version": "1.1.3",
+            "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz",
+            "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
+        },
+        "color-string": {
+            "version": "0.3.0",
+            "resolved": "https://registry.npm.taobao.org/color-string/download/color-string-0.3.0.tgz?cache=0&sync_timestamp=1602228106182&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcolor-string%2Fdownload%2Fcolor-string-0.3.0.tgz",
+            "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=",
+            "dev": true,
+            "requires": {
+                "color-name": "^1.0.0"
+            }
+        },
+        "colorette": {
+            "version": "1.2.2",
+            "resolved": "https://registry.npm.taobao.org/colorette/download/colorette-1.2.2.tgz",
+            "integrity": "sha1-y8x51emcrqLb8Q6zom/Ys+as+pQ="
+        },
+        "colormin": {
+            "version": "1.1.2",
+            "resolved": "https://registry.npm.taobao.org/colormin/download/colormin-1.1.2.tgz",
+            "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=",
+            "dev": true,
+            "requires": {
+                "color": "^0.11.0",
+                "css-color-names": "0.0.4",
+                "has": "^1.0.1"
+            }
+        },
+        "colors": {
+            "version": "1.1.2",
+            "resolved": "https://registry.npm.taobao.org/colors/download/colors-1.1.2.tgz",
+            "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=",
+            "dev": true
+        },
+        "combined-stream": {
+            "version": "1.0.8",
+            "resolved": "https://registry.nlark.com/combined-stream/download/combined-stream-1.0.8.tgz",
+            "integrity": "sha1-w9RaizT9cwYxoRCoolIGgrMdWn8=",
+            "dev": true,
+            "requires": {
+                "delayed-stream": "~1.0.0"
+            }
+        },
+        "commander": {
+            "version": "2.17.1",
+            "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.17.1.tgz?cache=0&sync_timestamp=1603599636161&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.17.1.tgz",
+            "integrity": "sha1-vXerfebelCBc6sxy8XFtKfIKd78=",
+            "dev": true
+        },
+        "commondir": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/commondir/download/commondir-1.0.1.tgz",
+            "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
+            "dev": true
+        },
+        "compare-func": {
+            "version": "1.3.4",
+            "resolved": "https://registry.npm.taobao.org/compare-func/download/compare-func-1.3.4.tgz",
+            "integrity": "sha1-awfExeg0ERm69EV4CFvaD0qCNRY=",
+            "requires": {
+                "array-ify": "^1.0.0",
+                "dot-prop": "^3.0.0"
+            },
+            "dependencies": {
+                "dot-prop": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.npm.taobao.org/dot-prop/download/dot-prop-3.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdot-prop%2Fdownload%2Fdot-prop-3.0.0.tgz",
+                    "integrity": "sha1-G3CK8JSknJoOfbyteQq6U52sEXc=",
+                    "requires": {
+                        "is-obj": "^1.0.0"
+                    }
+                },
+                "is-obj": {
+                    "version": "1.0.1",
+                    "resolved": "https://registry.npm.taobao.org/is-obj/download/is-obj-1.0.1.tgz?cache=0&sync_timestamp=1618600378936&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-obj%2Fdownload%2Fis-obj-1.0.1.tgz",
+                    "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8="
+                }
+            }
+        },
+        "component-emitter": {
+            "version": "1.3.0",
+            "resolved": "https://registry.npm.taobao.org/component-emitter/download/component-emitter-1.3.0.tgz",
+            "integrity": "sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A=",
+            "dev": true
+        },
+        "compressible": {
+            "version": "2.0.18",
+            "resolved": "https://registry.npm.taobao.org/compressible/download/compressible-2.0.18.tgz",
+            "integrity": "sha1-r1PMprBw1MPAdQ+9dyhqbXzEb7o=",
+            "dev": true,
+            "requires": {
+                "mime-db": ">= 1.43.0 < 2"
+            }
+        },
+        "compression": {
+            "version": "1.7.4",
+            "resolved": "https://registry.npm.taobao.org/compression/download/compression-1.7.4.tgz",
+            "integrity": "sha1-lVI+/xcMpXwpoMpB5v4TH0Hlu48=",
+            "dev": true,
+            "requires": {
+                "accepts": "~1.3.5",
+                "bytes": "3.0.0",
+                "compressible": "~2.0.16",
+                "debug": "2.6.9",
+                "on-headers": "~1.0.2",
+                "safe-buffer": "5.1.2",
+                "vary": "~1.1.2"
+            },
+            "dependencies": {
+                "bytes": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.npm.taobao.org/bytes/download/bytes-3.0.0.tgz?cache=0&sync_timestamp=1589682741197&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbytes%2Fdownload%2Fbytes-3.0.0.tgz",
+                    "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=",
+                    "dev": true
+                }
+            }
+        },
+        "concat-map": {
+            "version": "0.0.1",
+            "resolved": "https://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz",
+            "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
+        },
+        "concat-stream": {
+            "version": "1.6.2",
+            "resolved": "https://registry.npm.taobao.org/concat-stream/download/concat-stream-1.6.2.tgz?cache=0&sync_timestamp=1589682751334&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconcat-stream%2Fdownload%2Fconcat-stream-1.6.2.tgz",
+            "integrity": "sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ=",
+            "dev": true,
+            "requires": {
+                "buffer-from": "^1.0.0",
+                "inherits": "^2.0.3",
+                "readable-stream": "^2.2.2",
+                "typedarray": "^0.0.6"
+            }
+        },
+        "connect-history-api-fallback": {
+            "version": "1.6.0",
+            "resolved": "https://registry.npm.taobao.org/connect-history-api-fallback/download/connect-history-api-fallback-1.6.0.tgz",
+            "integrity": "sha1-izIIk1kwjRERFdgcrT/Oq4iPl7w=",
+            "dev": true
+        },
+        "console-browserify": {
+            "version": "1.2.0",
+            "resolved": "https://registry.npm.taobao.org/console-browserify/download/console-browserify-1.2.0.tgz",
+            "integrity": "sha1-ZwY871fOts9Jk6KrOlWECujEkzY=",
+            "dev": true
+        },
+        "console-control-strings": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npm.taobao.org/console-control-strings/download/console-control-strings-1.1.0.tgz",
+            "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4="
+        },
+        "consolidate": {
+            "version": "0.14.5",
+            "resolved": "https://registry.npm.taobao.org/consolidate/download/consolidate-0.14.5.tgz?cache=0&sync_timestamp=1599596647062&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconsolidate%2Fdownload%2Fconsolidate-0.14.5.tgz",
+            "integrity": "sha1-WiUEe8dvcwcmZ8jLUsmJiI9JTGM=",
+            "dev": true,
+            "requires": {
+                "bluebird": "^3.1.1"
+            }
+        },
+        "constants-browserify": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/constants-browserify/download/constants-browserify-1.0.0.tgz?cache=0&sync_timestamp=1589682802723&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconstants-browserify%2Fdownload%2Fconstants-browserify-1.0.0.tgz",
+            "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
+            "dev": true
+        },
+        "content-disposition": {
+            "version": "0.5.3",
+            "resolved": "https://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.3.tgz",
+            "integrity": "sha1-4TDK9+cnkIfFYWwgB9BIVpiYT70=",
+            "dev": true,
+            "requires": {
+                "safe-buffer": "5.1.2"
+            }
+        },
+        "content-type": {
+            "version": "1.0.4",
+            "resolved": "https://registry.npm.taobao.org/content-type/download/content-type-1.0.4.tgz",
+            "integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js=",
+            "dev": true
+        },
+        "conventional-changelog": {
+            "version": "3.1.24",
+            "resolved": "https://registry.npm.taobao.org/conventional-changelog/download/conventional-changelog-3.1.24.tgz?cache=0&sync_timestamp=1604539677880&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconventional-changelog%2Fdownload%2Fconventional-changelog-3.1.24.tgz",
+            "integrity": "sha1-69GAsP0bLh8AlcSwT9CIaYNIpGQ=",
+            "requires": {
+                "conventional-changelog-angular": "^5.0.12",
+                "conventional-changelog-atom": "^2.0.8",
+                "conventional-changelog-codemirror": "^2.0.8",
+                "conventional-changelog-conventionalcommits": "^4.5.0",
+                "conventional-changelog-core": "^4.2.1",
+                "conventional-changelog-ember": "^2.0.9",
+                "conventional-changelog-eslint": "^3.0.9",
+                "conventional-changelog-express": "^2.0.6",
+                "conventional-changelog-jquery": "^3.0.11",
+                "conventional-changelog-jshint": "^2.0.9",
+                "conventional-changelog-preset-loader": "^2.3.4"
+            },
+            "dependencies": {
+                "compare-func": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.npm.taobao.org/compare-func/download/compare-func-2.0.0.tgz",
+                    "integrity": "sha1-+2XnXtvd/S5WhVTotbBf/3pR/LM=",
+                    "requires": {
+                        "array-ify": "^1.0.0",
+                        "dot-prop": "^5.1.0"
+                    }
+                },
+                "conventional-changelog-angular": {
+                    "version": "5.0.12",
+                    "resolved": "https://registry.npm.taobao.org/conventional-changelog-angular/download/conventional-changelog-angular-5.0.12.tgz?cache=0&sync_timestamp=1604539525097&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconventional-changelog-angular%2Fdownload%2Fconventional-changelog-angular-5.0.12.tgz",
+                    "integrity": "sha1-yXm4uSHL/iZALrPaW7/aAthlork=",
+                    "requires": {
+                        "compare-func": "^2.0.0",
+                        "q": "^1.5.1"
+                    }
+                },
+                "conventional-changelog-conventionalcommits": {
+                    "version": "4.6.0",
+                    "resolved": "https://registry.nlark.com/conventional-changelog-conventionalcommits/download/conventional-changelog-conventionalcommits-4.6.0.tgz?cache=0&sync_timestamp=1619742190111&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fconventional-changelog-conventionalcommits%2Fdownload%2Fconventional-changelog-conventionalcommits-4.6.0.tgz",
+                    "integrity": "sha1-f8FyEdvKFgrPJGh70v3V/XZ3UOs=",
+                    "requires": {
+                        "compare-func": "^2.0.0",
+                        "lodash": "^4.17.15",
+                        "q": "^1.5.1"
+                    }
+                }
+            }
+        },
+        "conventional-changelog-angular": {
+            "version": "1.6.6",
+            "resolved": "https://registry.npm.taobao.org/conventional-changelog-angular/download/conventional-changelog-angular-1.6.6.tgz?cache=0&sync_timestamp=1604539525097&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconventional-changelog-angular%2Fdownload%2Fconventional-changelog-angular-1.6.6.tgz",
+            "integrity": "sha1-sn8rMVwW0KHyPrGBMJ0OakaY6g8=",
+            "requires": {
+                "compare-func": "^1.3.1",
+                "q": "^1.5.1"
+            }
+        },
+        "conventional-changelog-atom": {
+            "version": "2.0.8",
+            "resolved": "https://registry.npm.taobao.org/conventional-changelog-atom/download/conventional-changelog-atom-2.0.8.tgz",
+            "integrity": "sha1-p1nsYcItHBGWkl/KiP466J/X2N4=",
+            "requires": {
+                "q": "^1.5.1"
+            }
+        },
+        "conventional-changelog-codemirror": {
+            "version": "2.0.8",
+            "resolved": "https://registry.npm.taobao.org/conventional-changelog-codemirror/download/conventional-changelog-codemirror-2.0.8.tgz?cache=0&sync_timestamp=1604539676670&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconventional-changelog-codemirror%2Fdownload%2Fconventional-changelog-codemirror-2.0.8.tgz",
+            "integrity": "sha1-OY6VMPCM407EZAr5jurzAi6x99w=",
+            "requires": {
+                "q": "^1.5.1"
+            }
+        },
+        "conventional-changelog-config-spec": {
+            "version": "2.1.0",
+            "resolved": "https://registry.npm.taobao.org/conventional-changelog-config-spec/download/conventional-changelog-config-spec-2.1.0.tgz",
+            "integrity": "sha1-h0pjUofvi1gf2FWFMr9lXU+1ny0="
+        },
+        "conventional-changelog-conventionalcommits": {
+            "version": "4.2.1",
+            "resolved": "https://registry.nlark.com/conventional-changelog-conventionalcommits/download/conventional-changelog-conventionalcommits-4.2.1.tgz?cache=0&sync_timestamp=1619742190111&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fconventional-changelog-conventionalcommits%2Fdownload%2Fconventional-changelog-conventionalcommits-4.2.1.tgz",
+            "integrity": "sha1-1ssuLF17/KBEoIuduoS0CC4aG9k=",
+            "requires": {
+                "compare-func": "^1.3.1",
+                "lodash": "^4.2.1",
+                "q": "^1.5.1"
+            }
+        },
+        "conventional-changelog-core": {
+            "version": "4.2.2",
+            "resolved": "https://registry.npm.taobao.org/conventional-changelog-core/download/conventional-changelog-core-4.2.2.tgz",
+            "integrity": "sha1-8Il99tU7XWPew2uUQr1FNU+LPOU=",
+            "requires": {
+                "add-stream": "^1.0.0",
+                "conventional-changelog-writer": "^4.0.18",
+                "conventional-commits-parser": "^3.2.0",
+                "dateformat": "^3.0.0",
+                "get-pkg-repo": "^1.0.0",
+                "git-raw-commits": "^2.0.8",
+                "git-remote-origin-url": "^2.0.0",
+                "git-semver-tags": "^4.1.1",
+                "lodash": "^4.17.15",
+                "normalize-package-data": "^3.0.0",
+                "q": "^1.5.1",
+                "read-pkg": "^3.0.0",
+                "read-pkg-up": "^3.0.0",
+                "shelljs": "^0.8.3",
+                "through2": "^4.0.0"
+            },
+            "dependencies": {
+                "hosted-git-info": {
+                    "version": "4.0.2",
+                    "resolved": "https://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-4.0.2.tgz",
+                    "integrity": "sha1-XkJVB+7eT+qEa3Ji8IOEVsQgmWE=",
+                    "requires": {
+                        "lru-cache": "^6.0.0"
+                    }
+                },
+                "is-core-module": {
+                    "version": "2.4.0",
+                    "resolved": "https://registry.nlark.com/is-core-module/download/is-core-module-2.4.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-core-module%2Fdownload%2Fis-core-module-2.4.0.tgz",
+                    "integrity": "sha1-jp/I4VAnsBFBgCbpjw5vTYYwXME=",
+                    "requires": {
+                        "has": "^1.0.3"
+                    }
+                },
+                "load-json-file": {
+                    "version": "4.0.0",
+                    "resolved": "https://registry.npm.taobao.org/load-json-file/download/load-json-file-4.0.0.tgz",
+                    "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
+                    "requires": {
+                        "graceful-fs": "^4.1.2",
+                        "parse-json": "^4.0.0",
+                        "pify": "^3.0.0",
+                        "strip-bom": "^3.0.0"
+                    }
+                },
+                "lru-cache": {
+                    "version": "6.0.0",
+                    "resolved": "https://registry.nlark.com/lru-cache/download/lru-cache-6.0.0.tgz",
+                    "integrity": "sha1-bW/mVw69lqr5D8rR2vo7JWbbOpQ=",
+                    "requires": {
+                        "yallist": "^4.0.0"
+                    }
+                },
+                "normalize-package-data": {
+                    "version": "3.0.2",
+                    "resolved": "https://registry.nlark.com/normalize-package-data/download/normalize-package-data-3.0.2.tgz",
+                    "integrity": "sha1-yuXEEK4kNPmmwbqmXVvDuTZshpk=",
+                    "requires": {
+                        "hosted-git-info": "^4.0.1",
+                        "resolve": "^1.20.0",
+                        "semver": "^7.3.4",
+                        "validate-npm-package-license": "^3.0.1"
+                    }
+                },
+                "read-pkg": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-3.0.0.tgz",
+                    "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
+                    "requires": {
+                        "load-json-file": "^4.0.0",
+                        "normalize-package-data": "^2.3.2",
+                        "path-type": "^3.0.0"
+                    },
+                    "dependencies": {
+                        "hosted-git-info": {
+                            "version": "2.8.9",
+                            "resolved": "https://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.8.9.tgz",
+                            "integrity": "sha1-3/wL+aIcAiCQkPKqaUKeFBTa8/k="
+                        },
+                        "normalize-package-data": {
+                            "version": "2.5.0",
+                            "resolved": "https://registry.nlark.com/normalize-package-data/download/normalize-package-data-2.5.0.tgz",
+                            "integrity": "sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg=",
+                            "requires": {
+                                "hosted-git-info": "^2.1.4",
+                                "resolve": "^1.10.0",
+                                "semver": "2 || 3 || 4 || 5",
+                                "validate-npm-package-license": "^3.0.1"
+                            }
+                        },
+                        "semver": {
+                            "version": "5.7.1",
+                            "resolved": "https://registry.nlark.com/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1618847119601&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz",
+                            "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc="
+                        }
+                    }
+                },
+                "read-pkg-up": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-3.0.0.tgz?cache=0&sync_timestamp=1616916344510&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg-up%2Fdownload%2Fread-pkg-up-3.0.0.tgz",
+                    "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=",
+                    "requires": {
+                        "find-up": "^2.0.0",
+                        "read-pkg": "^3.0.0"
+                    }
+                },
+                "readable-stream": {
+                    "version": "3.6.0",
+                    "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz",
+                    "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=",
+                    "requires": {
+                        "inherits": "^2.0.3",
+                        "string_decoder": "^1.1.1",
+                        "util-deprecate": "^1.0.1"
+                    }
+                },
+                "resolve": {
+                    "version": "1.20.0",
+                    "resolved": "https://registry.nlark.com/resolve/download/resolve-1.20.0.tgz",
+                    "integrity": "sha1-YpoBP7P3B1XW8LeTXMHCxTeLGXU=",
+                    "requires": {
+                        "is-core-module": "^2.2.0",
+                        "path-parse": "^1.0.6"
+                    }
+                },
+                "semver": {
+                    "version": "7.3.5",
+                    "resolved": "https://registry.nlark.com/semver/download/semver-7.3.5.tgz?cache=0&sync_timestamp=1618847119601&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-7.3.5.tgz",
+                    "integrity": "sha1-C2Ich5NI2JmOSw5L6Us/EuYBjvc=",
+                    "requires": {
+                        "lru-cache": "^6.0.0"
+                    }
+                },
+                "shelljs": {
+                    "version": "0.8.4",
+                    "resolved": "https://registry.nlark.com/shelljs/download/shelljs-0.8.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fshelljs%2Fdownload%2Fshelljs-0.8.4.tgz",
+                    "integrity": "sha1-3naE/ut2f4cWsyYHiooAh1iQ48I=",
+                    "requires": {
+                        "glob": "^7.0.0",
+                        "interpret": "^1.0.0",
+                        "rechoir": "^0.6.2"
+                    }
+                },
+                "through2": {
+                    "version": "4.0.2",
+                    "resolved": "https://registry.npm.taobao.org/through2/download/through2-4.0.2.tgz",
+                    "integrity": "sha1-p846wqeosLlmyA58SfBITDsjl2Q=",
+                    "requires": {
+                        "readable-stream": "3"
+                    }
+                },
+                "yallist": {
+                    "version": "4.0.0",
+                    "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-4.0.0.tgz",
+                    "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI="
+                }
+            }
+        },
+        "conventional-changelog-ember": {
+            "version": "2.0.9",
+            "resolved": "https://registry.npm.taobao.org/conventional-changelog-ember/download/conventional-changelog-ember-2.0.9.tgz",
+            "integrity": "sha1-YZs37HCL6edKIg9Nz3khKuHJKWI=",
+            "requires": {
+                "q": "^1.5.1"
+            }
+        },
+        "conventional-changelog-eslint": {
+            "version": "3.0.9",
+            "resolved": "https://registry.npm.taobao.org/conventional-changelog-eslint/download/conventional-changelog-eslint-3.0.9.tgz",
+            "integrity": "sha1-aJvQpHDgL3uq/iGklYgN7qGLfNs=",
+            "requires": {
+                "q": "^1.5.1"
+            }
+        },
+        "conventional-changelog-express": {
+            "version": "2.0.6",
+            "resolved": "https://registry.npm.taobao.org/conventional-changelog-express/download/conventional-changelog-express-2.0.6.tgz",
+            "integrity": "sha1-QgydkqNHtyqRVEdQv/qTh2Zabug=",
+            "requires": {
+                "q": "^1.5.1"
+            }
+        },
+        "conventional-changelog-jquery": {
+            "version": "3.0.11",
+            "resolved": "https://registry.npm.taobao.org/conventional-changelog-jquery/download/conventional-changelog-jquery-3.0.11.tgz",
+            "integrity": "sha1-0UIgdAD1HJ5btYhZZZjiS7qJlL8=",
+            "requires": {
+                "q": "^1.5.1"
+            }
+        },
+        "conventional-changelog-jshint": {
+            "version": "2.0.9",
+            "resolved": "https://registry.npm.taobao.org/conventional-changelog-jshint/download/conventional-changelog-jshint-2.0.9.tgz",
+            "integrity": "sha1-8tfyPmrNSSeiOFVdksCbUP44Uv8=",
+            "requires": {
+                "compare-func": "^2.0.0",
+                "q": "^1.5.1"
+            },
+            "dependencies": {
+                "compare-func": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.npm.taobao.org/compare-func/download/compare-func-2.0.0.tgz",
+                    "integrity": "sha1-+2XnXtvd/S5WhVTotbBf/3pR/LM=",
+                    "requires": {
+                        "array-ify": "^1.0.0",
+                        "dot-prop": "^5.1.0"
+                    }
+                }
+            }
+        },
+        "conventional-changelog-preset-loader": {
+            "version": "2.3.4",
+            "resolved": "https://registry.npm.taobao.org/conventional-changelog-preset-loader/download/conventional-changelog-preset-loader-2.3.4.tgz",
+            "integrity": "sha1-FKhVq7/9WQJ/1gJYHx802YYupEw="
+        },
+        "conventional-changelog-writer": {
+            "version": "4.1.0",
+            "resolved": "https://registry.npm.taobao.org/conventional-changelog-writer/download/conventional-changelog-writer-4.1.0.tgz",
+            "integrity": "sha1-HKeIC3WqKGla0zMSofI2b0sSZZ8=",
+            "requires": {
+                "compare-func": "^2.0.0",
+                "conventional-commits-filter": "^2.0.7",
+                "dateformat": "^3.0.0",
+                "handlebars": "^4.7.6",
+                "json-stringify-safe": "^5.0.1",
+                "lodash": "^4.17.15",
+                "meow": "^8.0.0",
+                "semver": "^6.0.0",
+                "split": "^1.0.0",
+                "through2": "^4.0.0"
+            },
+            "dependencies": {
+                "camelcase": {
+                    "version": "5.3.1",
+                    "resolved": "https://registry.nlark.com/camelcase/download/camelcase-5.3.1.tgz",
+                    "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA="
+                },
+                "camelcase-keys": {
+                    "version": "6.2.2",
+                    "resolved": "https://registry.nlark.com/camelcase-keys/download/camelcase-keys-6.2.2.tgz",
+                    "integrity": "sha1-XnVda6UaoiPsfT1S8ld4IQ+dw8A=",
+                    "requires": {
+                        "camelcase": "^5.3.1",
+                        "map-obj": "^4.0.0",
+                        "quick-lru": "^4.0.1"
+                    }
+                },
+                "compare-func": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.npm.taobao.org/compare-func/download/compare-func-2.0.0.tgz",
+                    "integrity": "sha1-+2XnXtvd/S5WhVTotbBf/3pR/LM=",
+                    "requires": {
+                        "array-ify": "^1.0.0",
+                        "dot-prop": "^5.1.0"
+                    }
+                },
+                "find-up": {
+                    "version": "4.1.0",
+                    "resolved": "https://registry.nlark.com/find-up/download/find-up-4.1.0.tgz?cache=0&sync_timestamp=1618846778775&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffind-up%2Fdownload%2Ffind-up-4.1.0.tgz",
+                    "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=",
+                    "requires": {
+                        "locate-path": "^5.0.0",
+                        "path-exists": "^4.0.0"
+                    }
+                },
+                "hosted-git-info": {
+                    "version": "4.0.2",
+                    "resolved": "https://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-4.0.2.tgz",
+                    "integrity": "sha1-XkJVB+7eT+qEa3Ji8IOEVsQgmWE=",
+                    "requires": {
+                        "lru-cache": "^6.0.0"
+                    }
+                },
+                "indent-string": {
+                    "version": "4.0.0",
+                    "resolved": "https://registry.npm.taobao.org/indent-string/download/indent-string-4.0.0.tgz?cache=0&sync_timestamp=1618679561483&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Findent-string%2Fdownload%2Findent-string-4.0.0.tgz",
+                    "integrity": "sha1-Yk+PRJfWGbLZdoUx1Y9BIoVNclE="
+                },
+                "is-core-module": {
+                    "version": "2.4.0",
+                    "resolved": "https://registry.nlark.com/is-core-module/download/is-core-module-2.4.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-core-module%2Fdownload%2Fis-core-module-2.4.0.tgz",
+                    "integrity": "sha1-jp/I4VAnsBFBgCbpjw5vTYYwXME=",
+                    "requires": {
+                        "has": "^1.0.3"
+                    }
+                },
+                "locate-path": {
+                    "version": "5.0.0",
+                    "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-5.0.0.tgz",
+                    "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=",
+                    "requires": {
+                        "p-locate": "^4.1.0"
+                    }
+                },
+                "lru-cache": {
+                    "version": "6.0.0",
+                    "resolved": "https://registry.nlark.com/lru-cache/download/lru-cache-6.0.0.tgz",
+                    "integrity": "sha1-bW/mVw69lqr5D8rR2vo7JWbbOpQ=",
+                    "requires": {
+                        "yallist": "^4.0.0"
+                    }
+                },
+                "map-obj": {
+                    "version": "4.2.1",
+                    "resolved": "https://registry.npm.taobao.org/map-obj/download/map-obj-4.2.1.tgz?cache=0&sync_timestamp=1617771232226&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmap-obj%2Fdownload%2Fmap-obj-4.2.1.tgz",
+                    "integrity": "sha1-5Oo5nbyXmuc1yDyGPdMb3zZCd7c="
+                },
+                "meow": {
+                    "version": "8.1.2",
+                    "resolved": "https://registry.nlark.com/meow/download/meow-8.1.2.tgz",
+                    "integrity": "sha1-vL5FvaDuFynTUMA8/8g5WjbE6Jc=",
+                    "requires": {
+                        "@types/minimist": "^1.2.0",
+                        "camelcase-keys": "^6.2.2",
+                        "decamelize-keys": "^1.1.0",
+                        "hard-rejection": "^2.1.0",
+                        "minimist-options": "4.1.0",
+                        "normalize-package-data": "^3.0.0",
+                        "read-pkg-up": "^7.0.1",
+                        "redent": "^3.0.0",
+                        "trim-newlines": "^3.0.0",
+                        "type-fest": "^0.18.0",
+                        "yargs-parser": "^20.2.3"
+                    }
+                },
+                "normalize-package-data": {
+                    "version": "3.0.2",
+                    "resolved": "https://registry.nlark.com/normalize-package-data/download/normalize-package-data-3.0.2.tgz",
+                    "integrity": "sha1-yuXEEK4kNPmmwbqmXVvDuTZshpk=",
+                    "requires": {
+                        "hosted-git-info": "^4.0.1",
+                        "resolve": "^1.20.0",
+                        "semver": "^7.3.4",
+                        "validate-npm-package-license": "^3.0.1"
+                    },
+                    "dependencies": {
+                        "semver": {
+                            "version": "7.3.5",
+                            "resolved": "https://registry.nlark.com/semver/download/semver-7.3.5.tgz?cache=0&sync_timestamp=1618847119601&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-7.3.5.tgz",
+                            "integrity": "sha1-C2Ich5NI2JmOSw5L6Us/EuYBjvc=",
+                            "requires": {
+                                "lru-cache": "^6.0.0"
+                            }
+                        }
+                    }
+                },
+                "p-limit": {
+                    "version": "2.3.0",
+                    "resolved": "https://registry.nlark.com/p-limit/download/p-limit-2.3.0.tgz",
+                    "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=",
+                    "requires": {
+                        "p-try": "^2.0.0"
+                    }
+                },
+                "p-locate": {
+                    "version": "4.1.0",
+                    "resolved": "https://registry.nlark.com/p-locate/download/p-locate-4.1.0.tgz",
+                    "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=",
+                    "requires": {
+                        "p-limit": "^2.2.0"
+                    }
+                },
+                "p-try": {
+                    "version": "2.2.0",
+                    "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz",
+                    "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY="
+                },
+                "parse-json": {
+                    "version": "5.2.0",
+                    "resolved": "https://registry.nlark.com/parse-json/download/parse-json-5.2.0.tgz",
+                    "integrity": "sha1-x2/Gbe5UIxyWKyK8yKcs8vmXU80=",
+                    "requires": {
+                        "@babel/code-frame": "^7.0.0",
+                        "error-ex": "^1.3.1",
+                        "json-parse-even-better-errors": "^2.3.0",
+                        "lines-and-columns": "^1.1.6"
+                    }
+                },
+                "path-exists": {
+                    "version": "4.0.0",
+                    "resolved": "https://registry.nlark.com/path-exists/download/path-exists-4.0.0.tgz",
+                    "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM="
+                },
+                "read-pkg": {
+                    "version": "5.2.0",
+                    "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-5.2.0.tgz",
+                    "integrity": "sha1-e/KVQ4yloz5WzTDgU7NO5yUMk8w=",
+                    "requires": {
+                        "@types/normalize-package-data": "^2.4.0",
+                        "normalize-package-data": "^2.5.0",
+                        "parse-json": "^5.0.0",
+                        "type-fest": "^0.6.0"
+                    },
+                    "dependencies": {
+                        "hosted-git-info": {
+                            "version": "2.8.9",
+                            "resolved": "https://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.8.9.tgz",
+                            "integrity": "sha1-3/wL+aIcAiCQkPKqaUKeFBTa8/k="
+                        },
+                        "normalize-package-data": {
+                            "version": "2.5.0",
+                            "resolved": "https://registry.nlark.com/normalize-package-data/download/normalize-package-data-2.5.0.tgz",
+                            "integrity": "sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg=",
+                            "requires": {
+                                "hosted-git-info": "^2.1.4",
+                                "resolve": "^1.10.0",
+                                "semver": "2 || 3 || 4 || 5",
+                                "validate-npm-package-license": "^3.0.1"
+                            }
+                        },
+                        "semver": {
+                            "version": "5.7.1",
+                            "resolved": "https://registry.nlark.com/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1618847119601&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz",
+                            "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc="
+                        },
+                        "type-fest": {
+                            "version": "0.6.0",
+                            "resolved": "https://registry.nlark.com/type-fest/download/type-fest-0.6.0.tgz?cache=0&sync_timestamp=1622543370439&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftype-fest%2Fdownload%2Ftype-fest-0.6.0.tgz",
+                            "integrity": "sha1-jSojcNPfiG61yQraHFv2GIrPg4s="
+                        }
+                    }
+                },
+                "read-pkg-up": {
+                    "version": "7.0.1",
+                    "resolved": "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-7.0.1.tgz?cache=0&sync_timestamp=1616916344510&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg-up%2Fdownload%2Fread-pkg-up-7.0.1.tgz",
+                    "integrity": "sha1-86YTV1hFlzOuK5VjgFbhhU5+9Qc=",
+                    "requires": {
+                        "find-up": "^4.1.0",
+                        "read-pkg": "^5.2.0",
+                        "type-fest": "^0.8.1"
+                    },
+                    "dependencies": {
+                        "type-fest": {
+                            "version": "0.8.1",
+                            "resolved": "https://registry.nlark.com/type-fest/download/type-fest-0.8.1.tgz?cache=0&sync_timestamp=1622543370439&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftype-fest%2Fdownload%2Ftype-fest-0.8.1.tgz",
+                            "integrity": "sha1-CeJJ696FHTseSNJ8EFREZn8XuD0="
+                        }
+                    }
+                },
+                "readable-stream": {
+                    "version": "3.6.0",
+                    "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz",
+                    "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=",
+                    "requires": {
+                        "inherits": "^2.0.3",
+                        "string_decoder": "^1.1.1",
+                        "util-deprecate": "^1.0.1"
+                    }
+                },
+                "redent": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.nlark.com/redent/download/redent-3.0.0.tgz",
+                    "integrity": "sha1-5Ve3mYMWu1PJ8fVvpiY1LGljBZ8=",
+                    "requires": {
+                        "indent-string": "^4.0.0",
+                        "strip-indent": "^3.0.0"
+                    }
+                },
+                "resolve": {
+                    "version": "1.20.0",
+                    "resolved": "https://registry.nlark.com/resolve/download/resolve-1.20.0.tgz",
+                    "integrity": "sha1-YpoBP7P3B1XW8LeTXMHCxTeLGXU=",
+                    "requires": {
+                        "is-core-module": "^2.2.0",
+                        "path-parse": "^1.0.6"
+                    }
+                },
+                "semver": {
+                    "version": "6.3.0",
+                    "resolved": "https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1618847119601&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz",
+                    "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0="
+                },
+                "strip-indent": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.nlark.com/strip-indent/download/strip-indent-3.0.0.tgz?cache=0&sync_timestamp=1620053310624&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fstrip-indent%2Fdownload%2Fstrip-indent-3.0.0.tgz",
+                    "integrity": "sha1-wy4c7pQLazQyx3G8LFS8znPNMAE=",
+                    "requires": {
+                        "min-indent": "^1.0.0"
+                    }
+                },
+                "through2": {
+                    "version": "4.0.2",
+                    "resolved": "https://registry.npm.taobao.org/through2/download/through2-4.0.2.tgz",
+                    "integrity": "sha1-p846wqeosLlmyA58SfBITDsjl2Q=",
+                    "requires": {
+                        "readable-stream": "3"
+                    }
+                },
+                "trim-newlines": {
+                    "version": "3.0.1",
+                    "resolved": "https://registry.nlark.com/trim-newlines/download/trim-newlines-3.0.1.tgz?cache=0&sync_timestamp=1623341510447&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftrim-newlines%2Fdownload%2Ftrim-newlines-3.0.1.tgz",
+                    "integrity": "sha1-Jgpdli2LdSQlsy86fbDcrNF2wUQ="
+                },
+                "yallist": {
+                    "version": "4.0.0",
+                    "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-4.0.0.tgz",
+                    "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI="
+                },
+                "yargs-parser": {
+                    "version": "20.2.7",
+                    "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-20.2.7.tgz",
+                    "integrity": "sha1-Yd+FwRPt+1p6TjbriqYO9CPLyQo="
+                }
+            }
+        },
+        "conventional-commits-filter": {
+            "version": "2.0.7",
+            "resolved": "https://registry.npm.taobao.org/conventional-commits-filter/download/conventional-commits-filter-2.0.7.tgz?cache=0&sync_timestamp=1604539677673&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconventional-commits-filter%2Fdownload%2Fconventional-commits-filter-2.0.7.tgz",
+            "integrity": "sha1-+Nm08YL84Aya9xOdpJNlsTbIoLM=",
+            "requires": {
+                "lodash.ismatch": "^4.4.0",
+                "modify-values": "^1.0.0"
+            }
+        },
+        "conventional-commits-parser": {
+            "version": "3.2.1",
+            "resolved": "https://registry.npm.taobao.org/conventional-commits-parser/download/conventional-commits-parser-3.2.1.tgz?cache=0&sync_timestamp=1613425238030&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconventional-commits-parser%2Fdownload%2Fconventional-commits-parser-3.2.1.tgz",
+            "integrity": "sha1-ukTws7ZYjaLun9jaUI6/9Q0RbOI=",
+            "requires": {
+                "JSONStream": "^1.0.4",
+                "is-text-path": "^1.0.1",
+                "lodash": "^4.17.15",
+                "meow": "^8.0.0",
+                "split2": "^3.0.0",
+                "through2": "^4.0.0",
+                "trim-off-newlines": "^1.0.0"
+            },
+            "dependencies": {
+                "camelcase": {
+                    "version": "5.3.1",
+                    "resolved": "https://registry.nlark.com/camelcase/download/camelcase-5.3.1.tgz",
+                    "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA="
+                },
+                "camelcase-keys": {
+                    "version": "6.2.2",
+                    "resolved": "https://registry.nlark.com/camelcase-keys/download/camelcase-keys-6.2.2.tgz",
+                    "integrity": "sha1-XnVda6UaoiPsfT1S8ld4IQ+dw8A=",
+                    "requires": {
+                        "camelcase": "^5.3.1",
+                        "map-obj": "^4.0.0",
+                        "quick-lru": "^4.0.1"
+                    }
+                },
+                "find-up": {
+                    "version": "4.1.0",
+                    "resolved": "https://registry.nlark.com/find-up/download/find-up-4.1.0.tgz?cache=0&sync_timestamp=1618846778775&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffind-up%2Fdownload%2Ffind-up-4.1.0.tgz",
+                    "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=",
+                    "requires": {
+                        "locate-path": "^5.0.0",
+                        "path-exists": "^4.0.0"
+                    }
+                },
+                "hosted-git-info": {
+                    "version": "4.0.2",
+                    "resolved": "https://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-4.0.2.tgz",
+                    "integrity": "sha1-XkJVB+7eT+qEa3Ji8IOEVsQgmWE=",
+                    "requires": {
+                        "lru-cache": "^6.0.0"
+                    }
+                },
+                "indent-string": {
+                    "version": "4.0.0",
+                    "resolved": "https://registry.npm.taobao.org/indent-string/download/indent-string-4.0.0.tgz?cache=0&sync_timestamp=1618679561483&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Findent-string%2Fdownload%2Findent-string-4.0.0.tgz",
+                    "integrity": "sha1-Yk+PRJfWGbLZdoUx1Y9BIoVNclE="
+                },
+                "is-core-module": {
+                    "version": "2.4.0",
+                    "resolved": "https://registry.nlark.com/is-core-module/download/is-core-module-2.4.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-core-module%2Fdownload%2Fis-core-module-2.4.0.tgz",
+                    "integrity": "sha1-jp/I4VAnsBFBgCbpjw5vTYYwXME=",
+                    "requires": {
+                        "has": "^1.0.3"
+                    }
+                },
+                "locate-path": {
+                    "version": "5.0.0",
+                    "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-5.0.0.tgz",
+                    "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=",
+                    "requires": {
+                        "p-locate": "^4.1.0"
+                    }
+                },
+                "lru-cache": {
+                    "version": "6.0.0",
+                    "resolved": "https://registry.nlark.com/lru-cache/download/lru-cache-6.0.0.tgz",
+                    "integrity": "sha1-bW/mVw69lqr5D8rR2vo7JWbbOpQ=",
+                    "requires": {
+                        "yallist": "^4.0.0"
+                    }
+                },
+                "map-obj": {
+                    "version": "4.2.1",
+                    "resolved": "https://registry.npm.taobao.org/map-obj/download/map-obj-4.2.1.tgz?cache=0&sync_timestamp=1617771232226&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmap-obj%2Fdownload%2Fmap-obj-4.2.1.tgz",
+                    "integrity": "sha1-5Oo5nbyXmuc1yDyGPdMb3zZCd7c="
+                },
+                "meow": {
+                    "version": "8.1.2",
+                    "resolved": "https://registry.nlark.com/meow/download/meow-8.1.2.tgz",
+                    "integrity": "sha1-vL5FvaDuFynTUMA8/8g5WjbE6Jc=",
+                    "requires": {
+                        "@types/minimist": "^1.2.0",
+                        "camelcase-keys": "^6.2.2",
+                        "decamelize-keys": "^1.1.0",
+                        "hard-rejection": "^2.1.0",
+                        "minimist-options": "4.1.0",
+                        "normalize-package-data": "^3.0.0",
+                        "read-pkg-up": "^7.0.1",
+                        "redent": "^3.0.0",
+                        "trim-newlines": "^3.0.0",
+                        "type-fest": "^0.18.0",
+                        "yargs-parser": "^20.2.3"
+                    }
+                },
+                "normalize-package-data": {
+                    "version": "3.0.2",
+                    "resolved": "https://registry.nlark.com/normalize-package-data/download/normalize-package-data-3.0.2.tgz",
+                    "integrity": "sha1-yuXEEK4kNPmmwbqmXVvDuTZshpk=",
+                    "requires": {
+                        "hosted-git-info": "^4.0.1",
+                        "resolve": "^1.20.0",
+                        "semver": "^7.3.4",
+                        "validate-npm-package-license": "^3.0.1"
+                    }
+                },
+                "p-limit": {
+                    "version": "2.3.0",
+                    "resolved": "https://registry.nlark.com/p-limit/download/p-limit-2.3.0.tgz",
+                    "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=",
+                    "requires": {
+                        "p-try": "^2.0.0"
+                    }
+                },
+                "p-locate": {
+                    "version": "4.1.0",
+                    "resolved": "https://registry.nlark.com/p-locate/download/p-locate-4.1.0.tgz",
+                    "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=",
+                    "requires": {
+                        "p-limit": "^2.2.0"
+                    }
+                },
+                "p-try": {
+                    "version": "2.2.0",
+                    "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz",
+                    "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY="
+                },
+                "parse-json": {
+                    "version": "5.2.0",
+                    "resolved": "https://registry.nlark.com/parse-json/download/parse-json-5.2.0.tgz",
+                    "integrity": "sha1-x2/Gbe5UIxyWKyK8yKcs8vmXU80=",
+                    "requires": {
+                        "@babel/code-frame": "^7.0.0",
+                        "error-ex": "^1.3.1",
+                        "json-parse-even-better-errors": "^2.3.0",
+                        "lines-and-columns": "^1.1.6"
+                    }
+                },
+                "path-exists": {
+                    "version": "4.0.0",
+                    "resolved": "https://registry.nlark.com/path-exists/download/path-exists-4.0.0.tgz",
+                    "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM="
+                },
+                "read-pkg": {
+                    "version": "5.2.0",
+                    "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-5.2.0.tgz",
+                    "integrity": "sha1-e/KVQ4yloz5WzTDgU7NO5yUMk8w=",
+                    "requires": {
+                        "@types/normalize-package-data": "^2.4.0",
+                        "normalize-package-data": "^2.5.0",
+                        "parse-json": "^5.0.0",
+                        "type-fest": "^0.6.0"
+                    },
+                    "dependencies": {
+                        "hosted-git-info": {
+                            "version": "2.8.9",
+                            "resolved": "https://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.8.9.tgz",
+                            "integrity": "sha1-3/wL+aIcAiCQkPKqaUKeFBTa8/k="
+                        },
+                        "normalize-package-data": {
+                            "version": "2.5.0",
+                            "resolved": "https://registry.nlark.com/normalize-package-data/download/normalize-package-data-2.5.0.tgz",
+                            "integrity": "sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg=",
+                            "requires": {
+                                "hosted-git-info": "^2.1.4",
+                                "resolve": "^1.10.0",
+                                "semver": "2 || 3 || 4 || 5",
+                                "validate-npm-package-license": "^3.0.1"
+                            }
+                        },
+                        "semver": {
+                            "version": "5.7.1",
+                            "resolved": "https://registry.nlark.com/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1618847119601&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz",
+                            "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc="
+                        },
+                        "type-fest": {
+                            "version": "0.6.0",
+                            "resolved": "https://registry.nlark.com/type-fest/download/type-fest-0.6.0.tgz?cache=0&sync_timestamp=1622543370439&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftype-fest%2Fdownload%2Ftype-fest-0.6.0.tgz",
+                            "integrity": "sha1-jSojcNPfiG61yQraHFv2GIrPg4s="
+                        }
+                    }
+                },
+                "read-pkg-up": {
+                    "version": "7.0.1",
+                    "resolved": "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-7.0.1.tgz?cache=0&sync_timestamp=1616916344510&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg-up%2Fdownload%2Fread-pkg-up-7.0.1.tgz",
+                    "integrity": "sha1-86YTV1hFlzOuK5VjgFbhhU5+9Qc=",
+                    "requires": {
+                        "find-up": "^4.1.0",
+                        "read-pkg": "^5.2.0",
+                        "type-fest": "^0.8.1"
+                    },
+                    "dependencies": {
+                        "type-fest": {
+                            "version": "0.8.1",
+                            "resolved": "https://registry.nlark.com/type-fest/download/type-fest-0.8.1.tgz?cache=0&sync_timestamp=1622543370439&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftype-fest%2Fdownload%2Ftype-fest-0.8.1.tgz",
+                            "integrity": "sha1-CeJJ696FHTseSNJ8EFREZn8XuD0="
+                        }
+                    }
+                },
+                "readable-stream": {
+                    "version": "3.6.0",
+                    "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz",
+                    "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=",
+                    "requires": {
+                        "inherits": "^2.0.3",
+                        "string_decoder": "^1.1.1",
+                        "util-deprecate": "^1.0.1"
+                    }
+                },
+                "redent": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.nlark.com/redent/download/redent-3.0.0.tgz",
+                    "integrity": "sha1-5Ve3mYMWu1PJ8fVvpiY1LGljBZ8=",
+                    "requires": {
+                        "indent-string": "^4.0.0",
+                        "strip-indent": "^3.0.0"
+                    }
+                },
+                "resolve": {
+                    "version": "1.20.0",
+                    "resolved": "https://registry.nlark.com/resolve/download/resolve-1.20.0.tgz",
+                    "integrity": "sha1-YpoBP7P3B1XW8LeTXMHCxTeLGXU=",
+                    "requires": {
+                        "is-core-module": "^2.2.0",
+                        "path-parse": "^1.0.6"
+                    }
+                },
+                "semver": {
+                    "version": "7.3.5",
+                    "resolved": "https://registry.nlark.com/semver/download/semver-7.3.5.tgz?cache=0&sync_timestamp=1618847119601&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-7.3.5.tgz",
+                    "integrity": "sha1-C2Ich5NI2JmOSw5L6Us/EuYBjvc=",
+                    "requires": {
+                        "lru-cache": "^6.0.0"
+                    }
+                },
+                "strip-indent": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.nlark.com/strip-indent/download/strip-indent-3.0.0.tgz?cache=0&sync_timestamp=1620053310624&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fstrip-indent%2Fdownload%2Fstrip-indent-3.0.0.tgz",
+                    "integrity": "sha1-wy4c7pQLazQyx3G8LFS8znPNMAE=",
+                    "requires": {
+                        "min-indent": "^1.0.0"
+                    }
+                },
+                "through2": {
+                    "version": "4.0.2",
+                    "resolved": "https://registry.npm.taobao.org/through2/download/through2-4.0.2.tgz",
+                    "integrity": "sha1-p846wqeosLlmyA58SfBITDsjl2Q=",
+                    "requires": {
+                        "readable-stream": "3"
+                    }
+                },
+                "trim-newlines": {
+                    "version": "3.0.1",
+                    "resolved": "https://registry.nlark.com/trim-newlines/download/trim-newlines-3.0.1.tgz?cache=0&sync_timestamp=1623341510447&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftrim-newlines%2Fdownload%2Ftrim-newlines-3.0.1.tgz",
+                    "integrity": "sha1-Jgpdli2LdSQlsy86fbDcrNF2wUQ="
+                },
+                "yallist": {
+                    "version": "4.0.0",
+                    "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-4.0.0.tgz",
+                    "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI="
+                },
+                "yargs-parser": {
+                    "version": "20.2.7",
+                    "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-20.2.7.tgz",
+                    "integrity": "sha1-Yd+FwRPt+1p6TjbriqYO9CPLyQo="
+                }
+            }
+        },
+        "conventional-recommended-bump": {
+            "version": "6.1.0",
+            "resolved": "https://registry.npm.taobao.org/conventional-recommended-bump/download/conventional-recommended-bump-6.1.0.tgz",
+            "integrity": "sha1-z6YjKF0d5VQBLy/95w2ciiIjH1U=",
+            "requires": {
+                "concat-stream": "^2.0.0",
+                "conventional-changelog-preset-loader": "^2.3.4",
+                "conventional-commits-filter": "^2.0.7",
+                "conventional-commits-parser": "^3.2.0",
+                "git-raw-commits": "^2.0.8",
+                "git-semver-tags": "^4.1.1",
+                "meow": "^8.0.0",
+                "q": "^1.5.1"
+            },
+            "dependencies": {
+                "camelcase": {
+                    "version": "5.3.1",
+                    "resolved": "https://registry.nlark.com/camelcase/download/camelcase-5.3.1.tgz",
+                    "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA="
+                },
+                "camelcase-keys": {
+                    "version": "6.2.2",
+                    "resolved": "https://registry.nlark.com/camelcase-keys/download/camelcase-keys-6.2.2.tgz",
+                    "integrity": "sha1-XnVda6UaoiPsfT1S8ld4IQ+dw8A=",
+                    "requires": {
+                        "camelcase": "^5.3.1",
+                        "map-obj": "^4.0.0",
+                        "quick-lru": "^4.0.1"
+                    }
+                },
+                "concat-stream": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.nlark.com/concat-stream/download/concat-stream-2.0.0.tgz",
+                    "integrity": "sha1-QUz1r3kKSMYKub5FJ9VtXkETPLE=",
+                    "requires": {
+                        "buffer-from": "^1.0.0",
+                        "inherits": "^2.0.3",
+                        "readable-stream": "^3.0.2",
+                        "typedarray": "^0.0.6"
+                    }
+                },
+                "find-up": {
+                    "version": "4.1.0",
+                    "resolved": "https://registry.nlark.com/find-up/download/find-up-4.1.0.tgz?cache=0&sync_timestamp=1618846778775&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffind-up%2Fdownload%2Ffind-up-4.1.0.tgz",
+                    "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=",
+                    "requires": {
+                        "locate-path": "^5.0.0",
+                        "path-exists": "^4.0.0"
+                    }
+                },
+                "hosted-git-info": {
+                    "version": "4.0.2",
+                    "resolved": "https://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-4.0.2.tgz",
+                    "integrity": "sha1-XkJVB+7eT+qEa3Ji8IOEVsQgmWE=",
+                    "requires": {
+                        "lru-cache": "^6.0.0"
+                    }
+                },
+                "indent-string": {
+                    "version": "4.0.0",
+                    "resolved": "https://registry.npm.taobao.org/indent-string/download/indent-string-4.0.0.tgz?cache=0&sync_timestamp=1618679561483&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Findent-string%2Fdownload%2Findent-string-4.0.0.tgz",
+                    "integrity": "sha1-Yk+PRJfWGbLZdoUx1Y9BIoVNclE="
+                },
+                "is-core-module": {
+                    "version": "2.4.0",
+                    "resolved": "https://registry.nlark.com/is-core-module/download/is-core-module-2.4.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-core-module%2Fdownload%2Fis-core-module-2.4.0.tgz",
+                    "integrity": "sha1-jp/I4VAnsBFBgCbpjw5vTYYwXME=",
+                    "requires": {
+                        "has": "^1.0.3"
+                    }
+                },
+                "locate-path": {
+                    "version": "5.0.0",
+                    "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-5.0.0.tgz",
+                    "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=",
+                    "requires": {
+                        "p-locate": "^4.1.0"
+                    }
+                },
+                "lru-cache": {
+                    "version": "6.0.0",
+                    "resolved": "https://registry.nlark.com/lru-cache/download/lru-cache-6.0.0.tgz",
+                    "integrity": "sha1-bW/mVw69lqr5D8rR2vo7JWbbOpQ=",
+                    "requires": {
+                        "yallist": "^4.0.0"
+                    }
+                },
+                "map-obj": {
+                    "version": "4.2.1",
+                    "resolved": "https://registry.npm.taobao.org/map-obj/download/map-obj-4.2.1.tgz?cache=0&sync_timestamp=1617771232226&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmap-obj%2Fdownload%2Fmap-obj-4.2.1.tgz",
+                    "integrity": "sha1-5Oo5nbyXmuc1yDyGPdMb3zZCd7c="
+                },
+                "meow": {
+                    "version": "8.1.2",
+                    "resolved": "https://registry.nlark.com/meow/download/meow-8.1.2.tgz",
+                    "integrity": "sha1-vL5FvaDuFynTUMA8/8g5WjbE6Jc=",
+                    "requires": {
+                        "@types/minimist": "^1.2.0",
+                        "camelcase-keys": "^6.2.2",
+                        "decamelize-keys": "^1.1.0",
+                        "hard-rejection": "^2.1.0",
+                        "minimist-options": "4.1.0",
+                        "normalize-package-data": "^3.0.0",
+                        "read-pkg-up": "^7.0.1",
+                        "redent": "^3.0.0",
+                        "trim-newlines": "^3.0.0",
+                        "type-fest": "^0.18.0",
+                        "yargs-parser": "^20.2.3"
+                    }
+                },
+                "normalize-package-data": {
+                    "version": "3.0.2",
+                    "resolved": "https://registry.nlark.com/normalize-package-data/download/normalize-package-data-3.0.2.tgz",
+                    "integrity": "sha1-yuXEEK4kNPmmwbqmXVvDuTZshpk=",
+                    "requires": {
+                        "hosted-git-info": "^4.0.1",
+                        "resolve": "^1.20.0",
+                        "semver": "^7.3.4",
+                        "validate-npm-package-license": "^3.0.1"
+                    }
+                },
+                "p-limit": {
+                    "version": "2.3.0",
+                    "resolved": "https://registry.nlark.com/p-limit/download/p-limit-2.3.0.tgz",
+                    "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=",
+                    "requires": {
+                        "p-try": "^2.0.0"
+                    }
+                },
+                "p-locate": {
+                    "version": "4.1.0",
+                    "resolved": "https://registry.nlark.com/p-locate/download/p-locate-4.1.0.tgz",
+                    "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=",
+                    "requires": {
+                        "p-limit": "^2.2.0"
+                    }
+                },
+                "p-try": {
+                    "version": "2.2.0",
+                    "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz",
+                    "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY="
+                },
+                "parse-json": {
+                    "version": "5.2.0",
+                    "resolved": "https://registry.nlark.com/parse-json/download/parse-json-5.2.0.tgz",
+                    "integrity": "sha1-x2/Gbe5UIxyWKyK8yKcs8vmXU80=",
+                    "requires": {
+                        "@babel/code-frame": "^7.0.0",
+                        "error-ex": "^1.3.1",
+                        "json-parse-even-better-errors": "^2.3.0",
+                        "lines-and-columns": "^1.1.6"
+                    }
+                },
+                "path-exists": {
+                    "version": "4.0.0",
+                    "resolved": "https://registry.nlark.com/path-exists/download/path-exists-4.0.0.tgz",
+                    "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM="
+                },
+                "read-pkg": {
+                    "version": "5.2.0",
+                    "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-5.2.0.tgz",
+                    "integrity": "sha1-e/KVQ4yloz5WzTDgU7NO5yUMk8w=",
+                    "requires": {
+                        "@types/normalize-package-data": "^2.4.0",
+                        "normalize-package-data": "^2.5.0",
+                        "parse-json": "^5.0.0",
+                        "type-fest": "^0.6.0"
+                    },
+                    "dependencies": {
+                        "hosted-git-info": {
+                            "version": "2.8.9",
+                            "resolved": "https://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.8.9.tgz",
+                            "integrity": "sha1-3/wL+aIcAiCQkPKqaUKeFBTa8/k="
+                        },
+                        "normalize-package-data": {
+                            "version": "2.5.0",
+                            "resolved": "https://registry.nlark.com/normalize-package-data/download/normalize-package-data-2.5.0.tgz",
+                            "integrity": "sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg=",
+                            "requires": {
+                                "hosted-git-info": "^2.1.4",
+                                "resolve": "^1.10.0",
+                                "semver": "2 || 3 || 4 || 5",
+                                "validate-npm-package-license": "^3.0.1"
+                            }
+                        },
+                        "semver": {
+                            "version": "5.7.1",
+                            "resolved": "https://registry.nlark.com/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1618847119601&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz",
+                            "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc="
+                        },
+                        "type-fest": {
+                            "version": "0.6.0",
+                            "resolved": "https://registry.nlark.com/type-fest/download/type-fest-0.6.0.tgz?cache=0&sync_timestamp=1622543370439&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftype-fest%2Fdownload%2Ftype-fest-0.6.0.tgz",
+                            "integrity": "sha1-jSojcNPfiG61yQraHFv2GIrPg4s="
+                        }
+                    }
+                },
+                "read-pkg-up": {
+                    "version": "7.0.1",
+                    "resolved": "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-7.0.1.tgz?cache=0&sync_timestamp=1616916344510&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg-up%2Fdownload%2Fread-pkg-up-7.0.1.tgz",
+                    "integrity": "sha1-86YTV1hFlzOuK5VjgFbhhU5+9Qc=",
+                    "requires": {
+                        "find-up": "^4.1.0",
+                        "read-pkg": "^5.2.0",
+                        "type-fest": "^0.8.1"
+                    },
+                    "dependencies": {
+                        "type-fest": {
+                            "version": "0.8.1",
+                            "resolved": "https://registry.nlark.com/type-fest/download/type-fest-0.8.1.tgz?cache=0&sync_timestamp=1622543370439&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftype-fest%2Fdownload%2Ftype-fest-0.8.1.tgz",
+                            "integrity": "sha1-CeJJ696FHTseSNJ8EFREZn8XuD0="
+                        }
+                    }
+                },
+                "readable-stream": {
+                    "version": "3.6.0",
+                    "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz",
+                    "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=",
+                    "requires": {
+                        "inherits": "^2.0.3",
+                        "string_decoder": "^1.1.1",
+                        "util-deprecate": "^1.0.1"
+                    }
+                },
+                "redent": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.nlark.com/redent/download/redent-3.0.0.tgz",
+                    "integrity": "sha1-5Ve3mYMWu1PJ8fVvpiY1LGljBZ8=",
+                    "requires": {
+                        "indent-string": "^4.0.0",
+                        "strip-indent": "^3.0.0"
+                    }
+                },
+                "resolve": {
+                    "version": "1.20.0",
+                    "resolved": "https://registry.nlark.com/resolve/download/resolve-1.20.0.tgz",
+                    "integrity": "sha1-YpoBP7P3B1XW8LeTXMHCxTeLGXU=",
+                    "requires": {
+                        "is-core-module": "^2.2.0",
+                        "path-parse": "^1.0.6"
+                    }
+                },
+                "semver": {
+                    "version": "7.3.5",
+                    "resolved": "https://registry.nlark.com/semver/download/semver-7.3.5.tgz?cache=0&sync_timestamp=1618847119601&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-7.3.5.tgz",
+                    "integrity": "sha1-C2Ich5NI2JmOSw5L6Us/EuYBjvc=",
+                    "requires": {
+                        "lru-cache": "^6.0.0"
+                    }
+                },
+                "strip-indent": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.nlark.com/strip-indent/download/strip-indent-3.0.0.tgz?cache=0&sync_timestamp=1620053310624&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fstrip-indent%2Fdownload%2Fstrip-indent-3.0.0.tgz",
+                    "integrity": "sha1-wy4c7pQLazQyx3G8LFS8znPNMAE=",
+                    "requires": {
+                        "min-indent": "^1.0.0"
+                    }
+                },
+                "trim-newlines": {
+                    "version": "3.0.1",
+                    "resolved": "https://registry.nlark.com/trim-newlines/download/trim-newlines-3.0.1.tgz?cache=0&sync_timestamp=1623341510447&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftrim-newlines%2Fdownload%2Ftrim-newlines-3.0.1.tgz",
+                    "integrity": "sha1-Jgpdli2LdSQlsy86fbDcrNF2wUQ="
+                },
+                "yallist": {
+                    "version": "4.0.0",
+                    "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-4.0.0.tgz",
+                    "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI="
+                },
+                "yargs-parser": {
+                    "version": "20.2.7",
+                    "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-20.2.7.tgz",
+                    "integrity": "sha1-Yd+FwRPt+1p6TjbriqYO9CPLyQo="
+                }
+            }
+        },
+        "convert-source-map": {
+            "version": "1.7.0",
+            "resolved": "https://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.7.0.tgz",
+            "integrity": "sha1-F6LLiC1/d9NJBYXizmxSRCSjpEI=",
+            "requires": {
+                "safe-buffer": "~5.1.1"
+            }
+        },
+        "cookie": {
+            "version": "0.4.0",
+            "resolved": "https://registry.npm.taobao.org/cookie/download/cookie-0.4.0.tgz",
+            "integrity": "sha1-vrQ35wIrO21JAZ0IhmUwPr6cFLo=",
+            "dev": true
+        },
+        "cookie-signature": {
+            "version": "1.0.6",
+            "resolved": "https://registry.npm.taobao.org/cookie-signature/download/cookie-signature-1.0.6.tgz",
+            "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=",
+            "dev": true
+        },
+        "copy-concurrently": {
+            "version": "1.0.5",
+            "resolved": "https://registry.npm.taobao.org/copy-concurrently/download/copy-concurrently-1.0.5.tgz",
+            "integrity": "sha1-kilzmMrjSTf8r9bsgTnBgFHwteA=",
+            "dev": true,
+            "requires": {
+                "aproba": "^1.1.1",
+                "fs-write-stream-atomic": "^1.0.8",
+                "iferr": "^0.1.5",
+                "mkdirp": "^0.5.1",
+                "rimraf": "^2.5.4",
+                "run-queue": "^1.0.0"
+            }
+        },
+        "copy-descriptor": {
+            "version": "0.1.1",
+            "resolved": "https://registry.npm.taobao.org/copy-descriptor/download/copy-descriptor-0.1.1.tgz",
+            "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
+            "dev": true
+        },
+        "copy-webpack-plugin": {
+            "version": "4.6.0",
+            "resolved": "https://registry.npm.taobao.org/copy-webpack-plugin/download/copy-webpack-plugin-4.6.0.tgz?cache=0&sync_timestamp=1604418450281&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcopy-webpack-plugin%2Fdownload%2Fcopy-webpack-plugin-4.6.0.tgz",
+            "integrity": "sha1-5/QN2KaEd9QF3Rt6hUquMksVi64=",
+            "dev": true,
+            "requires": {
+                "cacache": "^10.0.4",
+                "find-cache-dir": "^1.0.0",
+                "globby": "^7.1.1",
+                "is-glob": "^4.0.0",
+                "loader-utils": "^1.1.0",
+                "minimatch": "^3.0.4",
+                "p-limit": "^1.0.0",
+                "serialize-javascript": "^1.4.0"
+            }
+        },
+        "core-js": {
+            "version": "2.6.11",
+            "resolved": "https://registry.npm.taobao.org/core-js/download/core-js-2.6.11.tgz?cache=0&sync_timestamp=1589682726446&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcore-js%2Fdownload%2Fcore-js-2.6.11.tgz",
+            "integrity": "sha1-OIMUafmSK97Y7iHJ3EaYXgOZMIw="
+        },
+        "core-js-compat": {
+            "version": "3.14.0",
+            "resolved": "https://registry.nlark.com/core-js-compat/download/core-js-compat-3.14.0.tgz",
+            "integrity": "sha1-tXTavykYRoHVsWNXvTPRBN89KaU=",
+            "requires": {
+                "browserslist": "^4.16.6",
+                "semver": "7.0.0"
+            },
+            "dependencies": {
+                "browserslist": {
+                    "version": "4.16.6",
+                    "resolved": "https://registry.nlark.com/browserslist/download/browserslist-4.16.6.tgz?cache=0&sync_timestamp=1619789101558&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbrowserslist%2Fdownload%2Fbrowserslist-4.16.6.tgz",
+                    "integrity": "sha1-15ASd6WojlVO0wWxg+ybDAj2b6I=",
+                    "requires": {
+                        "caniuse-lite": "^1.0.30001219",
+                        "colorette": "^1.2.2",
+                        "electron-to-chromium": "^1.3.723",
+                        "escalade": "^3.1.1",
+                        "node-releases": "^1.1.71"
+                    }
+                },
+                "caniuse-lite": {
+                    "version": "1.0.30001237",
+                    "resolved": "https://registry.nlark.com/caniuse-lite/download/caniuse-lite-1.0.30001237.tgz",
+                    "integrity": "sha1-S3eDZhUVuOcVH8Y3bP2X8OQnueU="
+                },
+                "electron-to-chromium": {
+                    "version": "1.3.752",
+                    "resolved": "https://registry.nlark.com/electron-to-chromium/download/electron-to-chromium-1.3.752.tgz?cache=0&sync_timestamp=1623290610685&other_urls=https%3A%2F%2Fregistry.nlark.com%2Felectron-to-chromium%2Fdownload%2Felectron-to-chromium-1.3.752.tgz",
+                    "integrity": "sha1-ByhYfxublw7J/62TJJZCmu91DQk="
+                },
+                "node-releases": {
+                    "version": "1.1.73",
+                    "resolved": "https://registry.nlark.com/node-releases/download/node-releases-1.1.73.tgz?cache=0&sync_timestamp=1623060267794&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnode-releases%2Fdownload%2Fnode-releases-1.1.73.tgz",
+                    "integrity": "sha1-3U6B3dUnf/hGuAtSu0DEnt96eyA="
+                },
+                "semver": {
+                    "version": "7.0.0",
+                    "resolved": "https://registry.nlark.com/semver/download/semver-7.0.0.tgz?cache=0&sync_timestamp=1618847119601&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-7.0.0.tgz",
+                    "integrity": "sha1-XzyjV2HkfgWyBsba/yz4FPAxa44="
+                }
+            }
+        },
+        "core-util-is": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz",
+            "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
+        },
+        "cosmiconfig": {
+            "version": "5.2.1",
+            "resolved": "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-5.2.1.tgz?cache=0&sync_timestamp=1596310819353&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcosmiconfig%2Fdownload%2Fcosmiconfig-5.2.1.tgz",
+            "integrity": "sha1-BA9yaAnFked6F8CjYmykW08Wixo=",
+            "requires": {
+                "import-fresh": "^2.0.0",
+                "is-directory": "^0.3.1",
+                "js-yaml": "^3.13.1",
+                "parse-json": "^4.0.0"
+            },
+            "dependencies": {
+                "esprima": {
+                    "version": "4.0.1",
+                    "resolved": "https://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz?cache=0&sync_timestamp=1589682833047&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fesprima%2Fdownload%2Fesprima-4.0.1.tgz",
+                    "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE="
+                },
+                "js-yaml": {
+                    "version": "3.14.0",
+                    "resolved": "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.14.0.tgz",
+                    "integrity": "sha1-p6NBcPJqIbsWJCTYray0ETpp5II=",
+                    "requires": {
+                        "argparse": "^1.0.7",
+                        "esprima": "^4.0.0"
+                    }
+                }
+            }
+        },
+        "create-ecdh": {
+            "version": "4.0.4",
+            "resolved": "https://registry.npm.taobao.org/create-ecdh/download/create-ecdh-4.0.4.tgz",
+            "integrity": "sha1-1uf0v/pmc2CFoHYv06YyaE2rzE4=",
+            "dev": true,
+            "requires": {
+                "bn.js": "^4.1.0",
+                "elliptic": "^6.5.3"
+            },
+            "dependencies": {
+                "bn.js": {
+                    "version": "4.11.9",
+                    "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.11.9.tgz",
+                    "integrity": "sha1-JtVWgpRY+dHoH8SJUkk9C6NQeCg=",
+                    "dev": true
+                }
+            }
+        },
+        "create-hash": {
+            "version": "1.2.0",
+            "resolved": "https://registry.npm.taobao.org/create-hash/download/create-hash-1.2.0.tgz",
+            "integrity": "sha1-iJB4rxGmN1a8+1m9IhmWvjqe8ZY=",
+            "dev": true,
+            "requires": {
+                "cipher-base": "^1.0.1",
+                "inherits": "^2.0.1",
+                "md5.js": "^1.3.4",
+                "ripemd160": "^2.0.1",
+                "sha.js": "^2.4.0"
+            }
+        },
+        "create-hmac": {
+            "version": "1.1.7",
+            "resolved": "https://registry.npm.taobao.org/create-hmac/download/create-hmac-1.1.7.tgz",
+            "integrity": "sha1-aRcMeLOrlXFHsriwRXLkfq0iQ/8=",
+            "dev": true,
+            "requires": {
+                "cipher-base": "^1.0.3",
+                "create-hash": "^1.1.0",
+                "inherits": "^2.0.1",
+                "ripemd160": "^2.0.0",
+                "safe-buffer": "^5.0.1",
+                "sha.js": "^2.4.8"
+            }
+        },
+        "cross-spawn": {
+            "version": "5.1.0",
+            "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-5.1.0.tgz",
+            "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
+            "dev": true,
+            "requires": {
+                "lru-cache": "^4.0.1",
+                "shebang-command": "^1.2.0",
+                "which": "^1.2.9"
+            }
+        },
+        "crypto-browserify": {
+            "version": "3.12.0",
+            "resolved": "https://registry.npm.taobao.org/crypto-browserify/download/crypto-browserify-3.12.0.tgz?cache=0&sync_timestamp=1589682788096&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcrypto-browserify%2Fdownload%2Fcrypto-browserify-3.12.0.tgz",
+            "integrity": "sha1-OWz58xN/A+S45TLFj2mCVOAPgOw=",
+            "dev": true,
+            "requires": {
+                "browserify-cipher": "^1.0.0",
+                "browserify-sign": "^4.0.0",
+                "create-ecdh": "^4.0.0",
+                "create-hash": "^1.1.0",
+                "create-hmac": "^1.1.0",
+                "diffie-hellman": "^5.0.0",
+                "inherits": "^2.0.1",
+                "pbkdf2": "^3.0.3",
+                "public-encrypt": "^4.0.0",
+                "randombytes": "^2.0.0",
+                "randomfill": "^1.0.3"
+            }
+        },
+        "crypto-js": {
+            "version": "4.0.0",
+            "resolved": "https://registry.nlark.com/crypto-js/download/crypto-js-4.0.0.tgz",
+            "integrity": "sha1-KQSrJnep0EKFai6i74DekuSjbcw="
+        },
+        "css-color-names": {
+            "version": "0.0.4",
+            "resolved": "https://registry.npm.taobao.org/css-color-names/download/css-color-names-0.0.4.tgz",
+            "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=",
+            "dev": true
+        },
+        "css-declaration-sorter": {
+            "version": "4.0.1",
+            "resolved": "https://registry.npm.taobao.org/css-declaration-sorter/download/css-declaration-sorter-4.0.1.tgz?cache=0&sync_timestamp=1603749642748&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-declaration-sorter%2Fdownload%2Fcss-declaration-sorter-4.0.1.tgz",
+            "integrity": "sha1-wZiUD2OnbX42wecQGLABchBUyyI=",
+            "dev": true,
+            "requires": {
+                "postcss": "^7.0.1",
+                "timsort": "^0.3.0"
+            },
+            "dependencies": {
+                "postcss": {
+                    "version": "7.0.35",
+                    "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-7.0.35.tgz?cache=0&sync_timestamp=1603496056144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-7.0.35.tgz",
+                    "integrity": "sha1-0r4AuZj38hHYonaXQHny6SuXDiQ=",
+                    "dev": true,
+                    "requires": {
+                        "chalk": "^2.4.2",
+                        "source-map": "^0.6.1",
+                        "supports-color": "^6.1.0"
+                    }
+                },
+                "supports-color": {
+                    "version": "6.1.0",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-6.1.0.tgz",
+                    "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^3.0.0"
+                    }
+                }
+            }
+        },
+        "css-loader": {
+            "version": "0.28.11",
+            "resolved": "https://registry.npm.taobao.org/css-loader/download/css-loader-0.28.11.tgz?cache=0&sync_timestamp=1602609200442&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-loader%2Fdownload%2Fcss-loader-0.28.11.tgz",
+            "integrity": "sha1-w/mGSnAL4nEbtaJGKyOJsaOS2rc=",
+            "dev": true,
+            "requires": {
+                "babel-code-frame": "^6.26.0",
+                "css-selector-tokenizer": "^0.7.0",
+                "cssnano": "^3.10.0",
+                "icss-utils": "^2.1.0",
+                "loader-utils": "^1.0.2",
+                "lodash.camelcase": "^4.3.0",
+                "object-assign": "^4.1.1",
+                "postcss": "^5.0.6",
+                "postcss-modules-extract-imports": "^1.2.0",
+                "postcss-modules-local-by-default": "^1.2.0",
+                "postcss-modules-scope": "^1.1.0",
+                "postcss-modules-values": "^1.3.0",
+                "postcss-value-parser": "^3.3.0",
+                "source-list-map": "^2.0.0"
+            },
+            "dependencies": {
+                "ansi-styles": {
+                    "version": "2.2.1",
+                    "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz?cache=0&sync_timestamp=1601839122515&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-2.2.1.tgz",
+                    "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+                    "dev": true
+                },
+                "chalk": {
+                    "version": "1.1.3",
+                    "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz",
+                    "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+                    "dev": true,
+                    "requires": {
+                        "ansi-styles": "^2.2.1",
+                        "escape-string-regexp": "^1.0.2",
+                        "has-ansi": "^2.0.0",
+                        "strip-ansi": "^3.0.0",
+                        "supports-color": "^2.0.0"
+                    },
+                    "dependencies": {
+                        "supports-color": {
+                            "version": "2.0.0",
+                            "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz",
+                            "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+                            "dev": true
+                        }
+                    }
+                },
+                "has-flag": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz",
+                    "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+                    "dev": true
+                },
+                "postcss": {
+                    "version": "5.2.18",
+                    "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz?cache=0&sync_timestamp=1603496056144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-5.2.18.tgz",
+                    "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=",
+                    "dev": true,
+                    "requires": {
+                        "chalk": "^1.1.3",
+                        "js-base64": "^2.1.9",
+                        "source-map": "^0.5.6",
+                        "supports-color": "^3.2.3"
+                    }
+                },
+                "source-map": {
+                    "version": "0.5.7",
+                    "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1589682764497&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz",
+                    "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+                    "dev": true
+                },
+                "supports-color": {
+                    "version": "3.2.3",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz",
+                    "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^1.0.0"
+                    }
+                }
+            }
+        },
+        "css-select": {
+            "version": "1.2.0",
+            "resolved": "https://registry.npm.taobao.org/css-select/download/css-select-1.2.0.tgz",
+            "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=",
+            "dev": true,
+            "requires": {
+                "boolbase": "~1.0.0",
+                "css-what": "2.1",
+                "domutils": "1.5.1",
+                "nth-check": "~1.0.1"
+            }
+        },
+        "css-select-base-adapter": {
+            "version": "0.1.1",
+            "resolved": "https://registry.npm.taobao.org/css-select-base-adapter/download/css-select-base-adapter-0.1.1.tgz",
+            "integrity": "sha1-Oy/0lyzDYquIVhUHqVQIoUMhNdc=",
+            "dev": true
+        },
+        "css-selector-tokenizer": {
+            "version": "0.7.3",
+            "resolved": "https://registry.npm.taobao.org/css-selector-tokenizer/download/css-selector-tokenizer-0.7.3.tgz",
+            "integrity": "sha1-c18mGG5nx0mq8nV4NAXPBmH66PE=",
+            "dev": true,
+            "requires": {
+                "cssesc": "^3.0.0",
+                "fastparse": "^1.1.2"
+            }
+        },
+        "css-tree": {
+            "version": "1.0.0-alpha.37",
+            "resolved": "https://registry.npm.taobao.org/css-tree/download/css-tree-1.0.0-alpha.37.tgz?cache=0&sync_timestamp=1603806516773&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-tree%2Fdownload%2Fcss-tree-1.0.0-alpha.37.tgz",
+            "integrity": "sha1-mL69YsTB2flg7DQM+fdSLjBwmiI=",
+            "dev": true,
+            "requires": {
+                "mdn-data": "2.0.4",
+                "source-map": "^0.6.1"
+            }
+        },
+        "css-what": {
+            "version": "2.1.3",
+            "resolved": "https://registry.npm.taobao.org/css-what/download/css-what-2.1.3.tgz?cache=0&sync_timestamp=1602571001952&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-what%2Fdownload%2Fcss-what-2.1.3.tgz",
+            "integrity": "sha1-ptdgRXM2X+dGhsPzEcVlE9iChfI=",
+            "dev": true
+        },
+        "cssesc": {
+            "version": "3.0.0",
+            "resolved": "https://registry.npm.taobao.org/cssesc/download/cssesc-3.0.0.tgz",
+            "integrity": "sha1-N3QZGZA7hoVl4cCep0dEXNGJg+4=",
+            "dev": true
+        },
+        "cssnano": {
+            "version": "3.10.0",
+            "resolved": "https://registry.npm.taobao.org/cssnano/download/cssnano-3.10.0.tgz?cache=0&sync_timestamp=1603212729205&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcssnano%2Fdownload%2Fcssnano-3.10.0.tgz",
+            "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=",
+            "dev": true,
+            "requires": {
+                "autoprefixer": "^6.3.1",
+                "decamelize": "^1.1.2",
+                "defined": "^1.0.0",
+                "has": "^1.0.1",
+                "object-assign": "^4.0.1",
+                "postcss": "^5.0.14",
+                "postcss-calc": "^5.2.0",
+                "postcss-colormin": "^2.1.8",
+                "postcss-convert-values": "^2.3.4",
+                "postcss-discard-comments": "^2.0.4",
+                "postcss-discard-duplicates": "^2.0.1",
+                "postcss-discard-empty": "^2.0.1",
+                "postcss-discard-overridden": "^0.1.1",
+                "postcss-discard-unused": "^2.2.1",
+                "postcss-filter-plugins": "^2.0.0",
+                "postcss-merge-idents": "^2.1.5",
+                "postcss-merge-longhand": "^2.0.1",
+                "postcss-merge-rules": "^2.0.3",
+                "postcss-minify-font-values": "^1.0.2",
+                "postcss-minify-gradients": "^1.0.1",
+                "postcss-minify-params": "^1.0.4",
+                "postcss-minify-selectors": "^2.0.4",
+                "postcss-normalize-charset": "^1.1.0",
+                "postcss-normalize-url": "^3.0.7",
+                "postcss-ordered-values": "^2.1.0",
+                "postcss-reduce-idents": "^2.2.2",
+                "postcss-reduce-initial": "^1.0.0",
+                "postcss-reduce-transforms": "^1.0.3",
+                "postcss-svgo": "^2.1.1",
+                "postcss-unique-selectors": "^2.0.2",
+                "postcss-value-parser": "^3.2.3",
+                "postcss-zindex": "^2.0.1"
+            },
+            "dependencies": {
+                "ansi-styles": {
+                    "version": "2.2.1",
+                    "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz?cache=0&sync_timestamp=1601839122515&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-2.2.1.tgz",
+                    "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+                    "dev": true
+                },
+                "autoprefixer": {
+                    "version": "6.7.7",
+                    "resolved": "https://registry.npm.taobao.org/autoprefixer/download/autoprefixer-6.7.7.tgz?cache=0&sync_timestamp=1601167582745&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fautoprefixer%2Fdownload%2Fautoprefixer-6.7.7.tgz",
+                    "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=",
+                    "dev": true,
+                    "requires": {
+                        "browserslist": "^1.7.6",
+                        "caniuse-db": "^1.0.30000634",
+                        "normalize-range": "^0.1.2",
+                        "num2fraction": "^1.2.2",
+                        "postcss": "^5.2.16",
+                        "postcss-value-parser": "^3.2.3"
+                    }
+                },
+                "browserslist": {
+                    "version": "1.7.7",
+                    "resolved": "https://registry.npm.taobao.org/browserslist/download/browserslist-1.7.7.tgz",
+                    "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=",
+                    "dev": true,
+                    "requires": {
+                        "caniuse-db": "^1.0.30000639",
+                        "electron-to-chromium": "^1.2.7"
+                    }
+                },
+                "chalk": {
+                    "version": "1.1.3",
+                    "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz",
+                    "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+                    "dev": true,
+                    "requires": {
+                        "ansi-styles": "^2.2.1",
+                        "escape-string-regexp": "^1.0.2",
+                        "has-ansi": "^2.0.0",
+                        "strip-ansi": "^3.0.0",
+                        "supports-color": "^2.0.0"
+                    },
+                    "dependencies": {
+                        "supports-color": {
+                            "version": "2.0.0",
+                            "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz",
+                            "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+                            "dev": true
+                        }
+                    }
+                },
+                "has-flag": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz",
+                    "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+                    "dev": true
+                },
+                "postcss": {
+                    "version": "5.2.18",
+                    "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz?cache=0&sync_timestamp=1603496056144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-5.2.18.tgz",
+                    "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=",
+                    "dev": true,
+                    "requires": {
+                        "chalk": "^1.1.3",
+                        "js-base64": "^2.1.9",
+                        "source-map": "^0.5.6",
+                        "supports-color": "^3.2.3"
+                    }
+                },
+                "source-map": {
+                    "version": "0.5.7",
+                    "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1589682764497&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz",
+                    "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+                    "dev": true
+                },
+                "supports-color": {
+                    "version": "3.2.3",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz",
+                    "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^1.0.0"
+                    }
+                }
+            }
+        },
+        "cssnano-preset-default": {
+            "version": "4.0.7",
+            "resolved": "https://registry.npm.taobao.org/cssnano-preset-default/download/cssnano-preset-default-4.0.7.tgz?cache=0&sync_timestamp=1603212741552&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcssnano-preset-default%2Fdownload%2Fcssnano-preset-default-4.0.7.tgz",
+            "integrity": "sha1-UexmLM/KD4izltzZZ5zbkxvhf3Y=",
+            "dev": true,
+            "requires": {
+                "css-declaration-sorter": "^4.0.1",
+                "cssnano-util-raw-cache": "^4.0.1",
+                "postcss": "^7.0.0",
+                "postcss-calc": "^7.0.1",
+                "postcss-colormin": "^4.0.3",
+                "postcss-convert-values": "^4.0.1",
+                "postcss-discard-comments": "^4.0.2",
+                "postcss-discard-duplicates": "^4.0.2",
+                "postcss-discard-empty": "^4.0.1",
+                "postcss-discard-overridden": "^4.0.1",
+                "postcss-merge-longhand": "^4.0.11",
+                "postcss-merge-rules": "^4.0.3",
+                "postcss-minify-font-values": "^4.0.2",
+                "postcss-minify-gradients": "^4.0.2",
+                "postcss-minify-params": "^4.0.2",
+                "postcss-minify-selectors": "^4.0.2",
+                "postcss-normalize-charset": "^4.0.1",
+                "postcss-normalize-display-values": "^4.0.2",
+                "postcss-normalize-positions": "^4.0.2",
+                "postcss-normalize-repeat-style": "^4.0.2",
+                "postcss-normalize-string": "^4.0.2",
+                "postcss-normalize-timing-functions": "^4.0.2",
+                "postcss-normalize-unicode": "^4.0.1",
+                "postcss-normalize-url": "^4.0.1",
+                "postcss-normalize-whitespace": "^4.0.2",
+                "postcss-ordered-values": "^4.1.2",
+                "postcss-reduce-initial": "^4.0.3",
+                "postcss-reduce-transforms": "^4.0.2",
+                "postcss-svgo": "^4.0.2",
+                "postcss-unique-selectors": "^4.0.1"
+            },
+            "dependencies": {
+                "browserslist": {
+                    "version": "4.14.6",
+                    "resolved": "https://registry.npm.taobao.org/browserslist/download/browserslist-4.14.6.tgz",
+                    "integrity": "sha1-l3AqnCEuDGtq/vrZE9OhU440hFc=",
+                    "dev": true,
+                    "requires": {
+                        "caniuse-lite": "^1.0.30001154",
+                        "electron-to-chromium": "^1.3.585",
+                        "escalade": "^3.1.1",
+                        "node-releases": "^1.1.65"
+                    }
+                },
+                "caniuse-api": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.npm.taobao.org/caniuse-api/download/caniuse-api-3.0.0.tgz",
+                    "integrity": "sha1-Xk2Q4idJYdRikZl99Znj7QCO5MA=",
+                    "dev": true,
+                    "requires": {
+                        "browserslist": "^4.0.0",
+                        "caniuse-lite": "^1.0.0",
+                        "lodash.memoize": "^4.1.2",
+                        "lodash.uniq": "^4.5.0"
+                    }
+                },
+                "coa": {
+                    "version": "2.0.2",
+                    "resolved": "https://registry.npm.taobao.org/coa/download/coa-2.0.2.tgz",
+                    "integrity": "sha1-Q/bCEVG07yv1cYfbDXPeIp4+fsM=",
+                    "dev": true,
+                    "requires": {
+                        "@types/q": "^1.5.1",
+                        "chalk": "^2.4.1",
+                        "q": "^1.1.2"
+                    }
+                },
+                "color": {
+                    "version": "3.1.3",
+                    "resolved": "https://registry.npm.taobao.org/color/download/color-3.1.3.tgz?cache=0&sync_timestamp=1602228883047&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcolor%2Fdownload%2Fcolor-3.1.3.tgz",
+                    "integrity": "sha1-ymf7TnuX1hHc3jns7tQiBn2RWW4=",
+                    "dev": true,
+                    "requires": {
+                        "color-convert": "^1.9.1",
+                        "color-string": "^1.5.4"
+                    }
+                },
+                "color-string": {
+                    "version": "1.5.4",
+                    "resolved": "https://registry.npm.taobao.org/color-string/download/color-string-1.5.4.tgz?cache=0&sync_timestamp=1602228106182&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcolor-string%2Fdownload%2Fcolor-string-1.5.4.tgz",
+                    "integrity": "sha1-3VHNJc/ulT0Tj+QAI3LMPQ5QTLY=",
+                    "dev": true,
+                    "requires": {
+                        "color-name": "^1.0.0",
+                        "simple-swizzle": "^0.2.2"
+                    }
+                },
+                "css-select": {
+                    "version": "2.1.0",
+                    "resolved": "https://registry.npm.taobao.org/css-select/download/css-select-2.1.0.tgz",
+                    "integrity": "sha1-ajRlM1ZjWTSoG6ymjQJVQyEF2+8=",
+                    "dev": true,
+                    "requires": {
+                        "boolbase": "^1.0.0",
+                        "css-what": "^3.2.1",
+                        "domutils": "^1.7.0",
+                        "nth-check": "^1.0.2"
+                    }
+                },
+                "css-what": {
+                    "version": "3.4.2",
+                    "resolved": "https://registry.npm.taobao.org/css-what/download/css-what-3.4.2.tgz?cache=0&sync_timestamp=1602571001952&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-what%2Fdownload%2Fcss-what-3.4.2.tgz",
+                    "integrity": "sha1-6nAm/LAXd+295SEk4h8yfnrpUOQ=",
+                    "dev": true
+                },
+                "csso": {
+                    "version": "4.1.0",
+                    "resolved": "https://registry.npm.taobao.org/csso/download/csso-4.1.0.tgz?cache=0&sync_timestamp=1603840362568&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcsso%2Fdownload%2Fcsso-4.1.0.tgz",
+                    "integrity": "sha1-HTEZPvqZuHqmutbAzvFV5UPQnos=",
+                    "dev": true,
+                    "requires": {
+                        "css-tree": "^1.0.0"
+                    },
+                    "dependencies": {
+                        "css-tree": {
+                            "version": "1.0.0",
+                            "resolved": "https://registry.npm.taobao.org/css-tree/download/css-tree-1.0.0.tgz?cache=0&sync_timestamp=1603806516773&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-tree%2Fdownload%2Fcss-tree-1.0.0.tgz",
+                            "integrity": "sha1-IZk/onDXQmQqkECaLAyzrAKYrfY=",
+                            "dev": true,
+                            "requires": {
+                                "mdn-data": "2.0.12",
+                                "source-map": "^0.6.1"
+                            }
+                        }
+                    }
+                },
+                "domutils": {
+                    "version": "1.7.0",
+                    "resolved": "https://registry.npm.taobao.org/domutils/download/domutils-1.7.0.tgz",
+                    "integrity": "sha1-Vuo0HoNOBuZ0ivehyyXaZ+qfjCo=",
+                    "dev": true,
+                    "requires": {
+                        "dom-serializer": "0",
+                        "domelementtype": "1"
+                    }
+                },
+                "esprima": {
+                    "version": "4.0.1",
+                    "resolved": "https://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz?cache=0&sync_timestamp=1589682833047&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fesprima%2Fdownload%2Fesprima-4.0.1.tgz",
+                    "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=",
+                    "dev": true
+                },
+                "is-svg": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.npm.taobao.org/is-svg/download/is-svg-3.0.0.tgz",
+                    "integrity": "sha1-kyHb0pwhLlypnE+peUxxS8r6L3U=",
+                    "dev": true,
+                    "requires": {
+                        "html-comment-regex": "^1.1.0"
+                    }
+                },
+                "js-yaml": {
+                    "version": "3.14.0",
+                    "resolved": "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.14.0.tgz",
+                    "integrity": "sha1-p6NBcPJqIbsWJCTYray0ETpp5II=",
+                    "dev": true,
+                    "requires": {
+                        "argparse": "^1.0.7",
+                        "esprima": "^4.0.0"
+                    }
+                },
+                "mdn-data": {
+                    "version": "2.0.12",
+                    "resolved": "https://registry.npm.taobao.org/mdn-data/download/mdn-data-2.0.12.tgz?cache=0&sync_timestamp=1602987212845&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmdn-data%2Fdownload%2Fmdn-data-2.0.12.tgz",
+                    "integrity": "sha1-u7ZY0Is49XS7uI97g3A979zEaEQ=",
+                    "dev": true
+                },
+                "normalize-url": {
+                    "version": "3.3.0",
+                    "resolved": "https://registry.npm.taobao.org/normalize-url/download/normalize-url-3.3.0.tgz?cache=0&sync_timestamp=1602432435724&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnormalize-url%2Fdownload%2Fnormalize-url-3.3.0.tgz",
+                    "integrity": "sha1-suHE3E98bVd0PfczpPWXjRhlBVk=",
+                    "dev": true
+                },
+                "postcss": {
+                    "version": "7.0.35",
+                    "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-7.0.35.tgz?cache=0&sync_timestamp=1603496056144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-7.0.35.tgz",
+                    "integrity": "sha1-0r4AuZj38hHYonaXQHny6SuXDiQ=",
+                    "dev": true,
+                    "requires": {
+                        "chalk": "^2.4.2",
+                        "source-map": "^0.6.1",
+                        "supports-color": "^6.1.0"
+                    }
+                },
+                "postcss-calc": {
+                    "version": "7.0.5",
+                    "resolved": "https://registry.npm.taobao.org/postcss-calc/download/postcss-calc-7.0.5.tgz?cache=0&sync_timestamp=1601732630249&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-calc%2Fdownload%2Fpostcss-calc-7.0.5.tgz",
+                    "integrity": "sha1-+KbpnxLmGcLrwjz2xIb9wVhgkz4=",
+                    "dev": true,
+                    "requires": {
+                        "postcss": "^7.0.27",
+                        "postcss-selector-parser": "^6.0.2",
+                        "postcss-value-parser": "^4.0.2"
+                    }
+                },
+                "postcss-colormin": {
+                    "version": "4.0.3",
+                    "resolved": "https://registry.npm.taobao.org/postcss-colormin/download/postcss-colormin-4.0.3.tgz?cache=0&sync_timestamp=1603212729528&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-colormin%2Fdownload%2Fpostcss-colormin-4.0.3.tgz",
+                    "integrity": "sha1-rgYLzpPteUrHEmTwgTLVUJVr04E=",
+                    "dev": true,
+                    "requires": {
+                        "browserslist": "^4.0.0",
+                        "color": "^3.0.0",
+                        "has": "^1.0.0",
+                        "postcss": "^7.0.0",
+                        "postcss-value-parser": "^3.0.0"
+                    },
+                    "dependencies": {
+                        "postcss-value-parser": {
+                            "version": "3.3.1",
+                            "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
+                            "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
+                            "dev": true
+                        }
+                    }
+                },
+                "postcss-convert-values": {
+                    "version": "4.0.1",
+                    "resolved": "https://registry.npm.taobao.org/postcss-convert-values/download/postcss-convert-values-4.0.1.tgz?cache=0&sync_timestamp=1603212729674&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-convert-values%2Fdownload%2Fpostcss-convert-values-4.0.1.tgz",
+                    "integrity": "sha1-yjgT7U2g+BL51DcDWE5Enr4Ymn8=",
+                    "dev": true,
+                    "requires": {
+                        "postcss": "^7.0.0",
+                        "postcss-value-parser": "^3.0.0"
+                    },
+                    "dependencies": {
+                        "postcss-value-parser": {
+                            "version": "3.3.1",
+                            "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
+                            "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
+                            "dev": true
+                        }
+                    }
+                },
+                "postcss-discard-comments": {
+                    "version": "4.0.2",
+                    "resolved": "https://registry.npm.taobao.org/postcss-discard-comments/download/postcss-discard-comments-4.0.2.tgz?cache=0&sync_timestamp=1603214702204&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-discard-comments%2Fdownload%2Fpostcss-discard-comments-4.0.2.tgz",
+                    "integrity": "sha1-H7q9LCRr/2qq15l7KwkY9NevQDM=",
+                    "dev": true,
+                    "requires": {
+                        "postcss": "^7.0.0"
+                    }
+                },
+                "postcss-discard-duplicates": {
+                    "version": "4.0.2",
+                    "resolved": "https://registry.npm.taobao.org/postcss-discard-duplicates/download/postcss-discard-duplicates-4.0.2.tgz?cache=0&sync_timestamp=1603214703212&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-discard-duplicates%2Fdownload%2Fpostcss-discard-duplicates-4.0.2.tgz",
+                    "integrity": "sha1-P+EzzTyCKC5VD8myORdqkge3hOs=",
+                    "dev": true,
+                    "requires": {
+                        "postcss": "^7.0.0"
+                    }
+                },
+                "postcss-discard-empty": {
+                    "version": "4.0.1",
+                    "resolved": "https://registry.npm.taobao.org/postcss-discard-empty/download/postcss-discard-empty-4.0.1.tgz?cache=0&sync_timestamp=1603212724216&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-discard-empty%2Fdownload%2Fpostcss-discard-empty-4.0.1.tgz",
+                    "integrity": "sha1-yMlR6fc+2UKAGUWERKAq2Qu592U=",
+                    "dev": true,
+                    "requires": {
+                        "postcss": "^7.0.0"
+                    }
+                },
+                "postcss-discard-overridden": {
+                    "version": "4.0.1",
+                    "resolved": "https://registry.npm.taobao.org/postcss-discard-overridden/download/postcss-discard-overridden-4.0.1.tgz?cache=0&sync_timestamp=1603212724307&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-discard-overridden%2Fdownload%2Fpostcss-discard-overridden-4.0.1.tgz",
+                    "integrity": "sha1-ZSrvipZybwKfXj4AFG7npOdV/1c=",
+                    "dev": true,
+                    "requires": {
+                        "postcss": "^7.0.0"
+                    }
+                },
+                "postcss-merge-longhand": {
+                    "version": "4.0.11",
+                    "resolved": "https://registry.npm.taobao.org/postcss-merge-longhand/download/postcss-merge-longhand-4.0.11.tgz?cache=0&sync_timestamp=1603212724836&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-merge-longhand%2Fdownload%2Fpostcss-merge-longhand-4.0.11.tgz",
+                    "integrity": "sha1-YvSaE+Sg7gTnuY9CuxYGLKJUniQ=",
+                    "dev": true,
+                    "requires": {
+                        "css-color-names": "0.0.4",
+                        "postcss": "^7.0.0",
+                        "postcss-value-parser": "^3.0.0",
+                        "stylehacks": "^4.0.0"
+                    },
+                    "dependencies": {
+                        "postcss-value-parser": {
+                            "version": "3.3.1",
+                            "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
+                            "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
+                            "dev": true
+                        }
+                    }
+                },
+                "postcss-merge-rules": {
+                    "version": "4.0.3",
+                    "resolved": "https://registry.npm.taobao.org/postcss-merge-rules/download/postcss-merge-rules-4.0.3.tgz?cache=0&sync_timestamp=1603212724951&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-merge-rules%2Fdownload%2Fpostcss-merge-rules-4.0.3.tgz",
+                    "integrity": "sha1-NivqT/Wh+Y5AdacTxsslrv75plA=",
+                    "dev": true,
+                    "requires": {
+                        "browserslist": "^4.0.0",
+                        "caniuse-api": "^3.0.0",
+                        "cssnano-util-same-parent": "^4.0.0",
+                        "postcss": "^7.0.0",
+                        "postcss-selector-parser": "^3.0.0",
+                        "vendors": "^1.0.0"
+                    },
+                    "dependencies": {
+                        "postcss-selector-parser": {
+                            "version": "3.1.2",
+                            "resolved": "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-3.1.2.tgz?cache=0&sync_timestamp=1601045316432&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-3.1.2.tgz",
+                            "integrity": "sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA=",
+                            "dev": true,
+                            "requires": {
+                                "dot-prop": "^5.2.0",
+                                "indexes-of": "^1.0.1",
+                                "uniq": "^1.0.1"
+                            }
+                        }
+                    }
+                },
+                "postcss-minify-font-values": {
+                    "version": "4.0.2",
+                    "resolved": "https://registry.npm.taobao.org/postcss-minify-font-values/download/postcss-minify-font-values-4.0.2.tgz?cache=0&sync_timestamp=1603212725064&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-minify-font-values%2Fdownload%2Fpostcss-minify-font-values-4.0.2.tgz",
+                    "integrity": "sha1-zUw0TM5HQ0P6xdgiBqssvLiv1aY=",
+                    "dev": true,
+                    "requires": {
+                        "postcss": "^7.0.0",
+                        "postcss-value-parser": "^3.0.0"
+                    },
+                    "dependencies": {
+                        "postcss-value-parser": {
+                            "version": "3.3.1",
+                            "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
+                            "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
+                            "dev": true
+                        }
+                    }
+                },
+                "postcss-minify-gradients": {
+                    "version": "4.0.2",
+                    "resolved": "https://registry.npm.taobao.org/postcss-minify-gradients/download/postcss-minify-gradients-4.0.2.tgz?cache=0&sync_timestamp=1603212725189&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-minify-gradients%2Fdownload%2Fpostcss-minify-gradients-4.0.2.tgz",
+                    "integrity": "sha1-k7KcL/UJnFNe7NpWxKpuZlpmNHE=",
+                    "dev": true,
+                    "requires": {
+                        "cssnano-util-get-arguments": "^4.0.0",
+                        "is-color-stop": "^1.0.0",
+                        "postcss": "^7.0.0",
+                        "postcss-value-parser": "^3.0.0"
+                    },
+                    "dependencies": {
+                        "postcss-value-parser": {
+                            "version": "3.3.1",
+                            "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
+                            "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
+                            "dev": true
+                        }
+                    }
+                },
+                "postcss-minify-params": {
+                    "version": "4.0.2",
+                    "resolved": "https://registry.npm.taobao.org/postcss-minify-params/download/postcss-minify-params-4.0.2.tgz?cache=0&sync_timestamp=1603212725335&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-minify-params%2Fdownload%2Fpostcss-minify-params-4.0.2.tgz",
+                    "integrity": "sha1-a5zvAwwR41Jh+V9hjJADbWgNuHQ=",
+                    "dev": true,
+                    "requires": {
+                        "alphanum-sort": "^1.0.0",
+                        "browserslist": "^4.0.0",
+                        "cssnano-util-get-arguments": "^4.0.0",
+                        "postcss": "^7.0.0",
+                        "postcss-value-parser": "^3.0.0",
+                        "uniqs": "^2.0.0"
+                    },
+                    "dependencies": {
+                        "postcss-value-parser": {
+                            "version": "3.3.1",
+                            "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
+                            "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
+                            "dev": true
+                        }
+                    }
+                },
+                "postcss-minify-selectors": {
+                    "version": "4.0.2",
+                    "resolved": "https://registry.npm.taobao.org/postcss-minify-selectors/download/postcss-minify-selectors-4.0.2.tgz?cache=0&sync_timestamp=1603212725451&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-minify-selectors%2Fdownload%2Fpostcss-minify-selectors-4.0.2.tgz",
+                    "integrity": "sha1-4uXrQL/uUA0M2SQ1APX46kJi+9g=",
+                    "dev": true,
+                    "requires": {
+                        "alphanum-sort": "^1.0.0",
+                        "has": "^1.0.0",
+                        "postcss": "^7.0.0",
+                        "postcss-selector-parser": "^3.0.0"
+                    },
+                    "dependencies": {
+                        "postcss-selector-parser": {
+                            "version": "3.1.2",
+                            "resolved": "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-3.1.2.tgz?cache=0&sync_timestamp=1601045316432&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-3.1.2.tgz",
+                            "integrity": "sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA=",
+                            "dev": true,
+                            "requires": {
+                                "dot-prop": "^5.2.0",
+                                "indexes-of": "^1.0.1",
+                                "uniq": "^1.0.1"
+                            }
+                        }
+                    }
+                },
+                "postcss-normalize-charset": {
+                    "version": "4.0.1",
+                    "resolved": "https://registry.npm.taobao.org/postcss-normalize-charset/download/postcss-normalize-charset-4.0.1.tgz?cache=0&sync_timestamp=1603212725539&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-charset%2Fdownload%2Fpostcss-normalize-charset-4.0.1.tgz",
+                    "integrity": "sha1-izWt067oOhNrBHHg1ZvlilAoXdQ=",
+                    "dev": true,
+                    "requires": {
+                        "postcss": "^7.0.0"
+                    }
+                },
+                "postcss-normalize-url": {
+                    "version": "4.0.1",
+                    "resolved": "https://registry.npm.taobao.org/postcss-normalize-url/download/postcss-normalize-url-4.0.1.tgz?cache=0&sync_timestamp=1603212726241&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-url%2Fdownload%2Fpostcss-normalize-url-4.0.1.tgz",
+                    "integrity": "sha1-EOQ3+GvHx+WPe5ZS7YeNqqlfquE=",
+                    "dev": true,
+                    "requires": {
+                        "is-absolute-url": "^2.0.0",
+                        "normalize-url": "^3.0.0",
+                        "postcss": "^7.0.0",
+                        "postcss-value-parser": "^3.0.0"
+                    },
+                    "dependencies": {
+                        "postcss-value-parser": {
+                            "version": "3.3.1",
+                            "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
+                            "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
+                            "dev": true
+                        }
+                    }
+                },
+                "postcss-ordered-values": {
+                    "version": "4.1.2",
+                    "resolved": "https://registry.npm.taobao.org/postcss-ordered-values/download/postcss-ordered-values-4.1.2.tgz?cache=0&sync_timestamp=1603212726427&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-ordered-values%2Fdownload%2Fpostcss-ordered-values-4.1.2.tgz",
+                    "integrity": "sha1-DPdcgg7H1cTSgBiVWeC1ceusDu4=",
+                    "dev": true,
+                    "requires": {
+                        "cssnano-util-get-arguments": "^4.0.0",
+                        "postcss": "^7.0.0",
+                        "postcss-value-parser": "^3.0.0"
+                    },
+                    "dependencies": {
+                        "postcss-value-parser": {
+                            "version": "3.3.1",
+                            "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
+                            "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
+                            "dev": true
+                        }
+                    }
+                },
+                "postcss-reduce-initial": {
+                    "version": "4.0.3",
+                    "resolved": "https://registry.npm.taobao.org/postcss-reduce-initial/download/postcss-reduce-initial-4.0.3.tgz?cache=0&sync_timestamp=1603212726527&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-reduce-initial%2Fdownload%2Fpostcss-reduce-initial-4.0.3.tgz",
+                    "integrity": "sha1-f9QuvqXpyBRgljniwuhK4nC6SN8=",
+                    "dev": true,
+                    "requires": {
+                        "browserslist": "^4.0.0",
+                        "caniuse-api": "^3.0.0",
+                        "has": "^1.0.0",
+                        "postcss": "^7.0.0"
+                    }
+                },
+                "postcss-reduce-transforms": {
+                    "version": "4.0.2",
+                    "resolved": "https://registry.npm.taobao.org/postcss-reduce-transforms/download/postcss-reduce-transforms-4.0.2.tgz?cache=0&sync_timestamp=1603214556347&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-reduce-transforms%2Fdownload%2Fpostcss-reduce-transforms-4.0.2.tgz",
+                    "integrity": "sha1-F++kBerMbge+NBSlyi0QdGgdTik=",
+                    "dev": true,
+                    "requires": {
+                        "cssnano-util-get-match": "^4.0.0",
+                        "has": "^1.0.0",
+                        "postcss": "^7.0.0",
+                        "postcss-value-parser": "^3.0.0"
+                    },
+                    "dependencies": {
+                        "postcss-value-parser": {
+                            "version": "3.3.1",
+                            "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
+                            "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
+                            "dev": true
+                        }
+                    }
+                },
+                "postcss-selector-parser": {
+                    "version": "6.0.4",
+                    "resolved": "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-6.0.4.tgz?cache=0&sync_timestamp=1601045316432&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-6.0.4.tgz",
+                    "integrity": "sha1-VgdaE4CgRgTDiwY+p3Z6Epr1wrM=",
+                    "dev": true,
+                    "requires": {
+                        "cssesc": "^3.0.0",
+                        "indexes-of": "^1.0.1",
+                        "uniq": "^1.0.1",
+                        "util-deprecate": "^1.0.2"
+                    }
+                },
+                "postcss-svgo": {
+                    "version": "4.0.2",
+                    "resolved": "https://registry.npm.taobao.org/postcss-svgo/download/postcss-svgo-4.0.2.tgz",
+                    "integrity": "sha1-F7mXvHEbMzurFDqu07jT1uPTglg=",
+                    "dev": true,
+                    "requires": {
+                        "is-svg": "^3.0.0",
+                        "postcss": "^7.0.0",
+                        "postcss-value-parser": "^3.0.0",
+                        "svgo": "^1.0.0"
+                    },
+                    "dependencies": {
+                        "postcss-value-parser": {
+                            "version": "3.3.1",
+                            "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
+                            "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
+                            "dev": true
+                        }
+                    }
+                },
+                "postcss-unique-selectors": {
+                    "version": "4.0.1",
+                    "resolved": "https://registry.npm.taobao.org/postcss-unique-selectors/download/postcss-unique-selectors-4.0.1.tgz?cache=0&sync_timestamp=1603212891912&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-unique-selectors%2Fdownload%2Fpostcss-unique-selectors-4.0.1.tgz",
+                    "integrity": "sha1-lEaRHzKJv9ZMbWgPBzwDsfnuS6w=",
+                    "dev": true,
+                    "requires": {
+                        "alphanum-sort": "^1.0.0",
+                        "postcss": "^7.0.0",
+                        "uniqs": "^2.0.0"
+                    }
+                },
+                "postcss-value-parser": {
+                    "version": "4.1.0",
+                    "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-4.1.0.tgz",
+                    "integrity": "sha1-RD9qIM7WSBor2k+oUypuVdeJoss=",
+                    "dev": true
+                },
+                "supports-color": {
+                    "version": "6.1.0",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-6.1.0.tgz",
+                    "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^3.0.0"
+                    }
+                },
+                "svgo": {
+                    "version": "1.3.2",
+                    "resolved": "https://registry.npm.taobao.org/svgo/download/svgo-1.3.2.tgz",
+                    "integrity": "sha1-ttxRHAYzRsnkFbgeQ0ARRbltQWc=",
+                    "dev": true,
+                    "requires": {
+                        "chalk": "^2.4.1",
+                        "coa": "^2.0.2",
+                        "css-select": "^2.0.0",
+                        "css-select-base-adapter": "^0.1.1",
+                        "css-tree": "1.0.0-alpha.37",
+                        "csso": "^4.0.2",
+                        "js-yaml": "^3.13.1",
+                        "mkdirp": "~0.5.1",
+                        "object.values": "^1.1.0",
+                        "sax": "~1.2.4",
+                        "stable": "^0.1.8",
+                        "unquote": "~1.1.1",
+                        "util.promisify": "~1.0.0"
+                    }
+                }
+            }
+        },
+        "cssnano-util-get-arguments": {
+            "version": "4.0.0",
+            "resolved": "https://registry.npm.taobao.org/cssnano-util-get-arguments/download/cssnano-util-get-arguments-4.0.0.tgz",
+            "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=",
+            "dev": true
+        },
+        "cssnano-util-get-match": {
+            "version": "4.0.0",
+            "resolved": "https://registry.npm.taobao.org/cssnano-util-get-match/download/cssnano-util-get-match-4.0.0.tgz",
+            "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=",
+            "dev": true
+        },
+        "cssnano-util-raw-cache": {
+            "version": "4.0.1",
+            "resolved": "https://registry.npm.taobao.org/cssnano-util-raw-cache/download/cssnano-util-raw-cache-4.0.1.tgz",
+            "integrity": "sha1-sm1f1fcqEd/np4RvtMZyYPlr8oI=",
+            "dev": true,
+            "requires": {
+                "postcss": "^7.0.0"
+            },
+            "dependencies": {
+                "postcss": {
+                    "version": "7.0.35",
+                    "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-7.0.35.tgz?cache=0&sync_timestamp=1603496056144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-7.0.35.tgz",
+                    "integrity": "sha1-0r4AuZj38hHYonaXQHny6SuXDiQ=",
+                    "dev": true,
+                    "requires": {
+                        "chalk": "^2.4.2",
+                        "source-map": "^0.6.1",
+                        "supports-color": "^6.1.0"
+                    }
+                },
+                "supports-color": {
+                    "version": "6.1.0",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-6.1.0.tgz",
+                    "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^3.0.0"
+                    }
+                }
+            }
+        },
+        "cssnano-util-same-parent": {
+            "version": "4.0.1",
+            "resolved": "https://registry.npm.taobao.org/cssnano-util-same-parent/download/cssnano-util-same-parent-4.0.1.tgz",
+            "integrity": "sha1-V0CC+yhZ0ttDOFWDXZqEVuoYu/M=",
+            "dev": true
+        },
+        "csso": {
+            "version": "2.3.2",
+            "resolved": "https://registry.npm.taobao.org/csso/download/csso-2.3.2.tgz?cache=0&sync_timestamp=1603840362568&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcsso%2Fdownload%2Fcsso-2.3.2.tgz",
+            "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=",
+            "dev": true,
+            "requires": {
+                "clap": "^1.0.9",
+                "source-map": "^0.5.3"
+            },
+            "dependencies": {
+                "source-map": {
+                    "version": "0.5.7",
+                    "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1589682764497&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz",
+                    "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+                    "dev": true
+                }
+            }
+        },
+        "cuint": {
+            "version": "0.2.2",
+            "resolved": "https://registry.npm.taobao.org/cuint/download/cuint-0.2.2.tgz",
+            "integrity": "sha1-QICG1AlVDCYxFVYZ6fp7ytw7mRs=",
+            "dev": true
+        },
+        "currently-unhandled": {
+            "version": "0.4.1",
+            "resolved": "https://registry.npm.taobao.org/currently-unhandled/download/currently-unhandled-0.4.1.tgz",
+            "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
+            "requires": {
+                "array-find-index": "^1.0.1"
+            }
+        },
+        "cyclist": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/cyclist/download/cyclist-1.0.1.tgz",
+            "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=",
+            "dev": true
+        },
+        "d": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/d/download/d-1.0.1.tgz",
+            "integrity": "sha1-hpgJU3LVjb7jRv/Qxwk/mfj561o=",
+            "dev": true,
+            "requires": {
+                "es5-ext": "^0.10.50",
+                "type": "^1.0.1"
+            }
+        },
+        "dargs": {
+            "version": "7.0.0",
+            "resolved": "https://registry.nlark.com/dargs/download/dargs-7.0.0.tgz?cache=0&sync_timestamp=1620054548989&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdargs%2Fdownload%2Fdargs-7.0.0.tgz",
+            "integrity": "sha1-BAFcQd4Ly2nshAUPPZvgyvjW1cw="
+        },
+        "dashdash": {
+            "version": "1.14.1",
+            "resolved": "https://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz?cache=0&sync_timestamp=1601073454623&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdashdash%2Fdownload%2Fdashdash-1.14.1.tgz",
+            "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+            "dev": true,
+            "requires": {
+                "assert-plus": "^1.0.0"
+            }
+        },
+        "dateformat": {
+            "version": "3.0.3",
+            "resolved": "https://registry.nlark.com/dateformat/download/dateformat-3.0.3.tgz",
+            "integrity": "sha1-puN0maTZqc+F71hyBE1ikByYia4="
+        },
+        "de-indent": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npm.taobao.org/de-indent/download/de-indent-1.0.2.tgz",
+            "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=",
+            "dev": true
+        },
+        "debug": {
+            "version": "2.6.9",
+            "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&sync_timestamp=1600502894812&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz",
+            "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
+            "dev": true,
+            "requires": {
+                "ms": "2.0.0"
+            }
+        },
+        "decamelize": {
+            "version": "1.2.0",
+            "resolved": "https://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz",
+            "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA="
+        },
+        "decamelize-keys": {
+            "version": "1.1.0",
+            "resolved": "https://registry.nlark.com/decamelize-keys/download/decamelize-keys-1.1.0.tgz",
+            "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=",
+            "requires": {
+                "decamelize": "^1.1.0",
+                "map-obj": "^1.0.0"
+            }
+        },
+        "decode-uri-component": {
+            "version": "0.2.0",
+            "resolved": "https://registry.npm.taobao.org/decode-uri-component/download/decode-uri-component-0.2.0.tgz",
+            "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
+            "dev": true
+        },
+        "decompress-response": {
+            "version": "4.2.1",
+            "resolved": "https://registry.npm.taobao.org/decompress-response/download/decompress-response-4.2.1.tgz",
+            "integrity": "sha1-QUAjzHowLaJc4uyC0NUjjMr9iYY=",
+            "requires": {
+                "mimic-response": "^2.0.0"
+            }
+        },
+        "deep-equal": {
+            "version": "1.1.1",
+            "resolved": "https://registry.npm.taobao.org/deep-equal/download/deep-equal-1.1.1.tgz",
+            "integrity": "sha1-tcmMlCzv+vfLBR4k4UNKJaLmB2o=",
+            "dev": true,
+            "requires": {
+                "is-arguments": "^1.0.4",
+                "is-date-object": "^1.0.1",
+                "is-regex": "^1.0.4",
+                "object-is": "^1.0.1",
+                "object-keys": "^1.1.1",
+                "regexp.prototype.flags": "^1.2.0"
+            }
+        },
+        "define-properties": {
+            "version": "1.1.3",
+            "resolved": "https://registry.npm.taobao.org/define-properties/download/define-properties-1.1.3.tgz",
+            "integrity": "sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=",
+            "dev": true,
+            "requires": {
+                "object-keys": "^1.0.12"
+            }
+        },
+        "define-property": {
+            "version": "2.0.2",
+            "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-2.0.2.tgz",
+            "integrity": "sha1-1Flono1lS6d+AqgX+HENcCyxbp0=",
+            "dev": true,
+            "requires": {
+                "is-descriptor": "^1.0.2",
+                "isobject": "^3.0.1"
+            },
+            "dependencies": {
+                "is-accessor-descriptor": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz",
+                    "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=",
+                    "dev": true,
+                    "requires": {
+                        "kind-of": "^6.0.0"
+                    }
+                },
+                "is-data-descriptor": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz",
+                    "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=",
+                    "dev": true,
+                    "requires": {
+                        "kind-of": "^6.0.0"
+                    }
+                },
+                "is-descriptor": {
+                    "version": "1.0.2",
+                    "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz",
+                    "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=",
+                    "dev": true,
+                    "requires": {
+                        "is-accessor-descriptor": "^1.0.0",
+                        "is-data-descriptor": "^1.0.0",
+                        "kind-of": "^6.0.2"
+                    }
+                },
+                "kind-of": {
+                    "version": "6.0.3",
+                    "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.3.tgz",
+                    "integrity": "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=",
+                    "dev": true
+                }
+            }
+        },
+        "defined": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/defined/download/defined-1.0.0.tgz",
+            "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=",
+            "dev": true
+        },
+        "del": {
+            "version": "3.0.0",
+            "resolved": "https://registry.npm.taobao.org/del/download/del-3.0.0.tgz?cache=0&sync_timestamp=1601076882347&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdel%2Fdownload%2Fdel-3.0.0.tgz",
+            "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=",
+            "dev": true,
+            "requires": {
+                "globby": "^6.1.0",
+                "is-path-cwd": "^1.0.0",
+                "is-path-in-cwd": "^1.0.0",
+                "p-map": "^1.1.1",
+                "pify": "^3.0.0",
+                "rimraf": "^2.2.8"
+            },
+            "dependencies": {
+                "globby": {
+                    "version": "6.1.0",
+                    "resolved": "https://registry.npm.taobao.org/globby/download/globby-6.1.0.tgz?cache=0&sync_timestamp=1591083812416&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobby%2Fdownload%2Fglobby-6.1.0.tgz",
+                    "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
+                    "dev": true,
+                    "requires": {
+                        "array-union": "^1.0.1",
+                        "glob": "^7.0.3",
+                        "object-assign": "^4.0.1",
+                        "pify": "^2.0.0",
+                        "pinkie-promise": "^2.0.0"
+                    },
+                    "dependencies": {
+                        "pify": {
+                            "version": "2.3.0",
+                            "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz",
+                            "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+                            "dev": true
+                        }
+                    }
+                }
+            }
+        },
+        "delayed-stream": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz",
+            "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
+            "dev": true
+        },
+        "delegate": {
+            "version": "3.2.0",
+            "resolved": "https://registry.nlark.com/delegate/download/delegate-3.2.0.tgz",
+            "integrity": "sha1-tmtxwxWFIuirV0T3INjKDCr1kWY="
+        },
+        "delegates": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/delegates/download/delegates-1.0.0.tgz",
+            "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o="
+        },
+        "depd": {
+            "version": "1.1.2",
+            "resolved": "https://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz",
+            "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
+            "dev": true
+        },
+        "des.js": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/des.js/download/des.js-1.0.1.tgz",
+            "integrity": "sha1-U4IULhvcU/hdhtU+X0qn3rkeCEM=",
+            "dev": true,
+            "requires": {
+                "inherits": "^2.0.1",
+                "minimalistic-assert": "^1.0.0"
+            }
+        },
+        "destroy": {
+            "version": "1.0.4",
+            "resolved": "https://registry.npm.taobao.org/destroy/download/destroy-1.0.4.tgz",
+            "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
+            "dev": true
+        },
+        "detect-indent": {
+            "version": "4.0.0",
+            "resolved": "https://registry.npm.taobao.org/detect-indent/download/detect-indent-4.0.0.tgz",
+            "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
+            "dev": true,
+            "requires": {
+                "repeating": "^2.0.0"
+            }
+        },
+        "detect-libc": {
+            "version": "1.0.3",
+            "resolved": "https://registry.npm.taobao.org/detect-libc/download/detect-libc-1.0.3.tgz",
+            "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups="
+        },
+        "detect-newline": {
+            "version": "3.1.0",
+            "resolved": "https://registry.nlark.com/detect-newline/download/detect-newline-3.1.0.tgz",
+            "integrity": "sha1-V29d/GOuGhkv8ZLYrTr2MImRtlE="
+        },
+        "detect-node": {
+            "version": "2.0.4",
+            "resolved": "https://registry.npm.taobao.org/detect-node/download/detect-node-2.0.4.tgz",
+            "integrity": "sha1-AU7o+PZpxcWAI9pkuBecCDooxGw=",
+            "dev": true
+        },
+        "diffie-hellman": {
+            "version": "5.0.3",
+            "resolved": "https://registry.npm.taobao.org/diffie-hellman/download/diffie-hellman-5.0.3.tgz",
+            "integrity": "sha1-QOjumPVaIUlgcUaSHGPhrl89KHU=",
+            "dev": true,
+            "requires": {
+                "bn.js": "^4.1.0",
+                "miller-rabin": "^4.0.0",
+                "randombytes": "^2.0.0"
+            },
+            "dependencies": {
+                "bn.js": {
+                    "version": "4.11.9",
+                    "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.11.9.tgz",
+                    "integrity": "sha1-JtVWgpRY+dHoH8SJUkk9C6NQeCg=",
+                    "dev": true
+                }
+            }
+        },
+        "dir-glob": {
+            "version": "2.2.2",
+            "resolved": "https://registry.npm.taobao.org/dir-glob/download/dir-glob-2.2.2.tgz",
+            "integrity": "sha1-+gnwaUFTyJGLGLoN6vrpR2n8UMQ=",
+            "dev": true,
+            "requires": {
+                "path-type": "^3.0.0"
+            }
+        },
+        "dns-equal": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/dns-equal/download/dns-equal-1.0.0.tgz",
+            "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=",
+            "dev": true
+        },
+        "dns-packet": {
+            "version": "1.3.1",
+            "resolved": "https://registry.npm.taobao.org/dns-packet/download/dns-packet-1.3.1.tgz",
+            "integrity": "sha1-EqpCaYEHW+UAuRDu3NC0fdfe2lo=",
+            "dev": true,
+            "requires": {
+                "ip": "^1.1.0",
+                "safe-buffer": "^5.0.1"
+            }
+        },
+        "dns-txt": {
+            "version": "2.0.2",
+            "resolved": "https://registry.npm.taobao.org/dns-txt/download/dns-txt-2.0.2.tgz",
+            "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=",
+            "dev": true,
+            "requires": {
+                "buffer-indexof": "^1.0.0"
+            }
+        },
+        "dom-converter": {
+            "version": "0.2.0",
+            "resolved": "https://registry.npm.taobao.org/dom-converter/download/dom-converter-0.2.0.tgz",
+            "integrity": "sha1-ZyGp2u4uKTaClVtq/kFncWJ7t2g=",
+            "dev": true,
+            "requires": {
+                "utila": "~0.4"
+            }
+        },
+        "dom-serializer": {
+            "version": "0.2.2",
+            "resolved": "https://registry.npm.taobao.org/dom-serializer/download/dom-serializer-0.2.2.tgz",
+            "integrity": "sha1-GvuB9TNxcXXUeGVd68XjMtn5u1E=",
+            "dev": true,
+            "requires": {
+                "domelementtype": "^2.0.1",
+                "entities": "^2.0.0"
+            },
+            "dependencies": {
+                "domelementtype": {
+                    "version": "2.0.2",
+                    "resolved": "https://registry.npm.taobao.org/domelementtype/download/domelementtype-2.0.2.tgz?cache=0&sync_timestamp=1600028495728&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomelementtype%2Fdownload%2Fdomelementtype-2.0.2.tgz",
+                    "integrity": "sha1-87blSSAeRvWItZRj3XcYcTH+aXE=",
+                    "dev": true
+                }
+            }
+        },
+        "domain-browser": {
+            "version": "1.2.0",
+            "resolved": "https://registry.npm.taobao.org/domain-browser/download/domain-browser-1.2.0.tgz?cache=0&sync_timestamp=1604239998047&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomain-browser%2Fdownload%2Fdomain-browser-1.2.0.tgz",
+            "integrity": "sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto=",
+            "dev": true
+        },
+        "domelementtype": {
+            "version": "1.3.1",
+            "resolved": "https://registry.npm.taobao.org/domelementtype/download/domelementtype-1.3.1.tgz?cache=0&sync_timestamp=1600028495728&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomelementtype%2Fdownload%2Fdomelementtype-1.3.1.tgz",
+            "integrity": "sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8=",
+            "dev": true
+        },
+        "domhandler": {
+            "version": "2.4.2",
+            "resolved": "https://registry.npm.taobao.org/domhandler/download/domhandler-2.4.2.tgz",
+            "integrity": "sha1-iAUJfpM9ZehVRvcm1g9euItE+AM=",
+            "dev": true,
+            "requires": {
+                "domelementtype": "1"
+            }
+        },
+        "domutils": {
+            "version": "1.5.1",
+            "resolved": "https://registry.npm.taobao.org/domutils/download/domutils-1.5.1.tgz",
+            "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
+            "dev": true,
+            "requires": {
+                "dom-serializer": "0",
+                "domelementtype": "1"
+            }
+        },
+        "dot-prop": {
+            "version": "5.3.0",
+            "resolved": "https://registry.npm.taobao.org/dot-prop/download/dot-prop-5.3.0.tgz",
+            "integrity": "sha1-kMzOcIzZzYLMTcjD3dmr3VWyDog=",
+            "requires": {
+                "is-obj": "^2.0.0"
+            }
+        },
+        "dotgitignore": {
+            "version": "2.1.0",
+            "resolved": "https://registry.npm.taobao.org/dotgitignore/download/dotgitignore-2.1.0.tgz",
+            "integrity": "sha1-pLFaTk7zzzg1mKrx36SgS8wIm3s=",
+            "requires": {
+                "find-up": "^3.0.0",
+                "minimatch": "^3.0.4"
+            },
+            "dependencies": {
+                "find-up": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.nlark.com/find-up/download/find-up-3.0.0.tgz?cache=0&sync_timestamp=1618846778775&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffind-up%2Fdownload%2Ffind-up-3.0.0.tgz",
+                    "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=",
+                    "requires": {
+                        "locate-path": "^3.0.0"
+                    }
+                },
+                "locate-path": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz",
+                    "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=",
+                    "requires": {
+                        "p-locate": "^3.0.0",
+                        "path-exists": "^3.0.0"
+                    }
+                },
+                "p-limit": {
+                    "version": "2.3.0",
+                    "resolved": "https://registry.nlark.com/p-limit/download/p-limit-2.3.0.tgz",
+                    "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=",
+                    "requires": {
+                        "p-try": "^2.0.0"
+                    }
+                },
+                "p-locate": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.nlark.com/p-locate/download/p-locate-3.0.0.tgz",
+                    "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=",
+                    "requires": {
+                        "p-limit": "^2.0.0"
+                    }
+                },
+                "p-try": {
+                    "version": "2.2.0",
+                    "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz",
+                    "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY="
+                }
+            }
+        },
+        "duplexer": {
+            "version": "0.1.2",
+            "resolved": "https://registry.npm.taobao.org/duplexer/download/duplexer-0.1.2.tgz",
+            "integrity": "sha1-Or5DrvODX4rgd9E23c4PJ2sEAOY=",
+            "dev": true
+        },
+        "duplexify": {
+            "version": "3.7.1",
+            "resolved": "https://registry.npm.taobao.org/duplexify/download/duplexify-3.7.1.tgz",
+            "integrity": "sha1-Kk31MX9sz9kfhtb9JdjYoQO4gwk=",
+            "dev": true,
+            "requires": {
+                "end-of-stream": "^1.0.0",
+                "inherits": "^2.0.1",
+                "readable-stream": "^2.0.0",
+                "stream-shift": "^1.0.0"
+            }
+        },
+        "ecc-jsbn": {
+            "version": "0.1.2",
+            "resolved": "https://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz",
+            "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
+            "dev": true,
+            "requires": {
+                "jsbn": "~0.1.0",
+                "safer-buffer": "^2.1.0"
+            }
+        },
+        "ee-first": {
+            "version": "1.1.1",
+            "resolved": "https://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz",
+            "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
+            "dev": true
+        },
+        "ejs": {
+            "version": "2.7.4",
+            "resolved": "https://registry.npm.taobao.org/ejs/download/ejs-2.7.4.tgz?cache=0&sync_timestamp=1597678506855&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fejs%2Fdownload%2Fejs-2.7.4.tgz",
+            "integrity": "sha1-SGYSh1c9zFPjZsehrlLDoSDuybo=",
+            "dev": true
+        },
+        "electron-to-chromium": {
+            "version": "1.3.586",
+            "resolved": "https://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.586.tgz?cache=0&sync_timestamp=1604370885911&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felectron-to-chromium%2Fdownload%2Felectron-to-chromium-1.3.586.tgz",
+            "integrity": "sha1-FIT1my+CD18yePDG6tcdBbGaExE=",
+            "dev": true
+        },
+        "elliptic": {
+            "version": "6.5.3",
+            "resolved": "https://registry.npm.taobao.org/elliptic/download/elliptic-6.5.3.tgz",
+            "integrity": "sha1-y1nrLv2vc6C9eMzXAVpirW4Pk9Y=",
+            "dev": true,
+            "requires": {
+                "bn.js": "^4.4.0",
+                "brorand": "^1.0.1",
+                "hash.js": "^1.0.0",
+                "hmac-drbg": "^1.0.0",
+                "inherits": "^2.0.1",
+                "minimalistic-assert": "^1.0.0",
+                "minimalistic-crypto-utils": "^1.0.0"
+            },
+            "dependencies": {
+                "bn.js": {
+                    "version": "4.11.9",
+                    "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.11.9.tgz",
+                    "integrity": "sha1-JtVWgpRY+dHoH8SJUkk9C6NQeCg=",
+                    "dev": true
+                }
+            }
+        },
+        "emoji-regex": {
+            "version": "8.0.0",
+            "resolved": "https://registry.nlark.com/emoji-regex/download/emoji-regex-8.0.0.tgz",
+            "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc="
+        },
+        "emojis-list": {
+            "version": "3.0.0",
+            "resolved": "https://registry.npm.taobao.org/emojis-list/download/emojis-list-3.0.0.tgz",
+            "integrity": "sha1-VXBmIEatKeLpFucariYKvf9Pang=",
+            "dev": true
+        },
+        "encodeurl": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.2.tgz",
+            "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
+            "dev": true
+        },
+        "end-of-stream": {
+            "version": "1.4.4",
+            "resolved": "https://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.4.tgz",
+            "integrity": "sha1-WuZKX0UFe682JuwU2gyl5LJDHrA=",
+            "dev": true,
+            "requires": {
+                "once": "^1.4.0"
+            }
+        },
+        "enhanced-resolve": {
+            "version": "3.4.1",
+            "resolved": "https://registry.npm.taobao.org/enhanced-resolve/download/enhanced-resolve-3.4.1.tgz",
+            "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=",
+            "dev": true,
+            "requires": {
+                "graceful-fs": "^4.1.2",
+                "memory-fs": "^0.4.0",
+                "object-assign": "^4.0.1",
+                "tapable": "^0.2.7"
+            }
+        },
+        "entities": {
+            "version": "2.1.0",
+            "resolved": "https://registry.npm.taobao.org/entities/download/entities-2.1.0.tgz?cache=0&sync_timestamp=1602897029273&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fentities%2Fdownload%2Fentities-2.1.0.tgz",
+            "integrity": "sha1-mS0xKc999ocLlsV4WMJJoSD4uLU=",
+            "dev": true
+        },
+        "env-paths": {
+            "version": "2.2.1",
+            "resolved": "https://registry.npm.taobao.org/env-paths/download/env-paths-2.2.1.tgz?cache=0&sync_timestamp=1615206693154&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fenv-paths%2Fdownload%2Fenv-paths-2.2.1.tgz",
+            "integrity": "sha1-QgOZ1BbOH76bwKB8Yvpo1n/Q+PI=",
+            "dev": true
+        },
+        "errno": {
+            "version": "0.1.7",
+            "resolved": "https://registry.npm.taobao.org/errno/download/errno-0.1.7.tgz",
+            "integrity": "sha1-RoTXF3mtOa8Xfj8AeZb3xnyFJhg=",
+            "dev": true,
+            "requires": {
+                "prr": "~1.0.1"
+            }
+        },
+        "error-ex": {
+            "version": "1.3.2",
+            "resolved": "https://registry.npm.taobao.org/error-ex/download/error-ex-1.3.2.tgz",
+            "integrity": "sha1-tKxAZIEH/c3PriQvQovqihTU8b8=",
+            "requires": {
+                "is-arrayish": "^0.2.1"
+            }
+        },
+        "error-stack-parser": {
+            "version": "2.0.6",
+            "resolved": "https://registry.npm.taobao.org/error-stack-parser/download/error-stack-parser-2.0.6.tgz",
+            "integrity": "sha1-WpmnB716TFinl5AtSNgoA+3mqtg=",
+            "dev": true,
+            "requires": {
+                "stackframe": "^1.1.1"
+            }
+        },
+        "es-abstract": {
+            "version": "1.17.7",
+            "resolved": "https://registry.npm.taobao.org/es-abstract/download/es-abstract-1.17.7.tgz?cache=0&sync_timestamp=1601502719982&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fes-abstract%2Fdownload%2Fes-abstract-1.17.7.tgz",
+            "integrity": "sha1-pN5hsvZpifx0IWdsHLl4dXOs5Uw=",
+            "dev": true,
+            "requires": {
+                "es-to-primitive": "^1.2.1",
+                "function-bind": "^1.1.1",
+                "has": "^1.0.3",
+                "has-symbols": "^1.0.1",
+                "is-callable": "^1.2.2",
+                "is-regex": "^1.1.1",
+                "object-inspect": "^1.8.0",
+                "object-keys": "^1.1.1",
+                "object.assign": "^4.1.1",
+                "string.prototype.trimend": "^1.0.1",
+                "string.prototype.trimstart": "^1.0.1"
+            }
+        },
+        "es-to-primitive": {
+            "version": "1.2.1",
+            "resolved": "https://registry.npm.taobao.org/es-to-primitive/download/es-to-primitive-1.2.1.tgz",
+            "integrity": "sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo=",
+            "dev": true,
+            "requires": {
+                "is-callable": "^1.1.4",
+                "is-date-object": "^1.0.1",
+                "is-symbol": "^1.0.2"
+            }
+        },
+        "es5-ext": {
+            "version": "0.10.53",
+            "resolved": "https://registry.npm.taobao.org/es5-ext/download/es5-ext-0.10.53.tgz",
+            "integrity": "sha1-k8WjrP2+8nUiCtcmRK0C7hg2jeE=",
+            "dev": true,
+            "requires": {
+                "es6-iterator": "~2.0.3",
+                "es6-symbol": "~3.1.3",
+                "next-tick": "~1.0.0"
+            }
+        },
+        "es6-iterator": {
+            "version": "2.0.3",
+            "resolved": "https://registry.npm.taobao.org/es6-iterator/download/es6-iterator-2.0.3.tgz",
+            "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
+            "dev": true,
+            "requires": {
+                "d": "1",
+                "es5-ext": "^0.10.35",
+                "es6-symbol": "^3.1.1"
+            }
+        },
+        "es6-map": {
+            "version": "0.1.5",
+            "resolved": "https://registry.npm.taobao.org/es6-map/download/es6-map-0.1.5.tgz",
+            "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=",
+            "dev": true,
+            "requires": {
+                "d": "1",
+                "es5-ext": "~0.10.14",
+                "es6-iterator": "~2.0.1",
+                "es6-set": "~0.1.5",
+                "es6-symbol": "~3.1.1",
+                "event-emitter": "~0.3.5"
+            }
+        },
+        "es6-promise": {
+            "version": "4.2.8",
+            "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
+            "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w=="
+        },
+        "es6-set": {
+            "version": "0.1.5",
+            "resolved": "https://registry.npm.taobao.org/es6-set/download/es6-set-0.1.5.tgz",
+            "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=",
+            "dev": true,
+            "requires": {
+                "d": "1",
+                "es5-ext": "~0.10.14",
+                "es6-iterator": "~2.0.1",
+                "es6-symbol": "3.1.1",
+                "event-emitter": "~0.3.5"
+            },
+            "dependencies": {
+                "es6-symbol": {
+                    "version": "3.1.1",
+                    "resolved": "https://registry.npm.taobao.org/es6-symbol/download/es6-symbol-3.1.1.tgz",
+                    "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=",
+                    "dev": true,
+                    "requires": {
+                        "d": "1",
+                        "es5-ext": "~0.10.14"
+                    }
+                }
+            }
+        },
+        "es6-symbol": {
+            "version": "3.1.3",
+            "resolved": "https://registry.npm.taobao.org/es6-symbol/download/es6-symbol-3.1.3.tgz",
+            "integrity": "sha1-utXTwbzawoJp9MszHkMceKxwXRg=",
+            "dev": true,
+            "requires": {
+                "d": "^1.0.1",
+                "ext": "^1.1.2"
+            }
+        },
+        "es6-weak-map": {
+            "version": "2.0.3",
+            "resolved": "https://registry.npm.taobao.org/es6-weak-map/download/es6-weak-map-2.0.3.tgz",
+            "integrity": "sha1-ttofFswswNm+Q+a9v8Xn383zHVM=",
+            "dev": true,
+            "requires": {
+                "d": "1",
+                "es5-ext": "^0.10.46",
+                "es6-iterator": "^2.0.3",
+                "es6-symbol": "^3.1.1"
+            }
+        },
+        "escalade": {
+            "version": "3.1.1",
+            "resolved": "https://registry.npm.taobao.org/escalade/download/escalade-3.1.1.tgz?cache=0&sync_timestamp=1602567224085&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescalade%2Fdownload%2Fescalade-3.1.1.tgz",
+            "integrity": "sha1-2M/ccACWXFoBdLSoLqpcBVJ0LkA="
+        },
+        "escape-html": {
+            "version": "1.0.3",
+            "resolved": "https://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz",
+            "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
+            "dev": true
+        },
+        "escape-string-regexp": {
+            "version": "1.0.5",
+            "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz",
+            "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
+        },
+        "escope": {
+            "version": "3.6.0",
+            "resolved": "https://registry.npm.taobao.org/escope/download/escope-3.6.0.tgz",
+            "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=",
+            "dev": true,
+            "requires": {
+                "es6-map": "^0.1.3",
+                "es6-weak-map": "^2.0.1",
+                "esrecurse": "^4.1.0",
+                "estraverse": "^4.1.1"
+            }
+        },
+        "esprima": {
+            "version": "2.7.3",
+            "resolved": "https://registry.npm.taobao.org/esprima/download/esprima-2.7.3.tgz?cache=0&sync_timestamp=1589682833047&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fesprima%2Fdownload%2Fesprima-2.7.3.tgz",
+            "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
+            "dev": true
+        },
+        "esrecurse": {
+            "version": "4.3.0",
+            "resolved": "https://registry.npm.taobao.org/esrecurse/download/esrecurse-4.3.0.tgz?cache=0&sync_timestamp=1598898255610&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fesrecurse%2Fdownload%2Fesrecurse-4.3.0.tgz",
+            "integrity": "sha1-eteWTWeauyi+5yzsY3WLHF0smSE=",
+            "dev": true,
+            "requires": {
+                "estraverse": "^5.2.0"
+            },
+            "dependencies": {
+                "estraverse": {
+                    "version": "5.2.0",
+                    "resolved": "https://registry.npm.taobao.org/estraverse/download/estraverse-5.2.0.tgz?cache=0&sync_timestamp=1596642998635&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-5.2.0.tgz",
+                    "integrity": "sha1-MH30JUfmzHMk088DwVXVzbjFOIA=",
+                    "dev": true
+                }
+            }
+        },
+        "estraverse": {
+            "version": "4.3.0",
+            "resolved": "https://registry.npm.taobao.org/estraverse/download/estraverse-4.3.0.tgz?cache=0&sync_timestamp=1596642998635&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Festraverse%2Fdownload%2Festraverse-4.3.0.tgz",
+            "integrity": "sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0=",
+            "dev": true
+        },
+        "esutils": {
+            "version": "2.0.3",
+            "resolved": "https://registry.npm.taobao.org/esutils/download/esutils-2.0.3.tgz?cache=0&sync_timestamp=1589682816934&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fesutils%2Fdownload%2Fesutils-2.0.3.tgz",
+            "integrity": "sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q=",
+            "dev": true
+        },
+        "etag": {
+            "version": "1.8.1",
+            "resolved": "https://registry.npm.taobao.org/etag/download/etag-1.8.1.tgz",
+            "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
+            "dev": true
+        },
+        "event-emitter": {
+            "version": "0.3.5",
+            "resolved": "https://registry.npm.taobao.org/event-emitter/download/event-emitter-0.3.5.tgz",
+            "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=",
+            "dev": true,
+            "requires": {
+                "d": "1",
+                "es5-ext": "~0.10.14"
+            }
+        },
+        "eventemitter3": {
+            "version": "4.0.7",
+            "resolved": "https://registry.npm.taobao.org/eventemitter3/download/eventemitter3-4.0.7.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feventemitter3%2Fdownload%2Feventemitter3-4.0.7.tgz",
+            "integrity": "sha1-Lem2j2Uo1WRO9cWVJqG0oHMGFp8=",
+            "dev": true
+        },
+        "events": {
+            "version": "3.2.0",
+            "resolved": "https://registry.npm.taobao.org/events/download/events-3.2.0.tgz?cache=0&sync_timestamp=1595422595227&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fevents%2Fdownload%2Fevents-3.2.0.tgz",
+            "integrity": "sha1-k7h8GPjvzUICpGGuxN/AVWtjk3k=",
+            "dev": true
+        },
+        "eventsource": {
+            "version": "0.1.6",
+            "resolved": "https://registry.npm.taobao.org/eventsource/download/eventsource-0.1.6.tgz",
+            "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=",
+            "dev": true,
+            "requires": {
+                "original": ">=0.0.5"
+            }
+        },
+        "evp_bytestokey": {
+            "version": "1.0.3",
+            "resolved": "https://registry.npm.taobao.org/evp_bytestokey/download/evp_bytestokey-1.0.3.tgz",
+            "integrity": "sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI=",
+            "dev": true,
+            "requires": {
+                "md5.js": "^1.3.4",
+                "safe-buffer": "^5.1.1"
+            }
+        },
+        "execa": {
+            "version": "0.7.0",
+            "resolved": "https://registry.npm.taobao.org/execa/download/execa-0.7.0.tgz?cache=0&sync_timestamp=1603882912233&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-0.7.0.tgz",
+            "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
+            "dev": true,
+            "requires": {
+                "cross-spawn": "^5.0.1",
+                "get-stream": "^3.0.0",
+                "is-stream": "^1.1.0",
+                "npm-run-path": "^2.0.0",
+                "p-finally": "^1.0.0",
+                "signal-exit": "^3.0.0",
+                "strip-eof": "^1.0.0"
+            }
+        },
+        "expand-brackets": {
+            "version": "2.1.4",
+            "resolved": "https://registry.npm.taobao.org/expand-brackets/download/expand-brackets-2.1.4.tgz",
+            "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
+            "dev": true,
+            "requires": {
+                "debug": "^2.3.3",
+                "define-property": "^0.2.5",
+                "extend-shallow": "^2.0.1",
+                "posix-character-classes": "^0.1.0",
+                "regex-not": "^1.0.0",
+                "snapdragon": "^0.8.1",
+                "to-regex": "^3.0.1"
+            },
+            "dependencies": {
+                "define-property": {
+                    "version": "0.2.5",
+                    "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz",
+                    "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+                    "dev": true,
+                    "requires": {
+                        "is-descriptor": "^0.1.0"
+                    }
+                },
+                "extend-shallow": {
+                    "version": "2.0.1",
+                    "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz",
+                    "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+                    "dev": true,
+                    "requires": {
+                        "is-extendable": "^0.1.0"
+                    }
+                }
+            }
+        },
+        "express": {
+            "version": "4.17.1",
+            "resolved": "https://registry.npm.taobao.org/express/download/express-4.17.1.tgz?cache=0&sync_timestamp=1589682766604&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexpress%2Fdownload%2Fexpress-4.17.1.tgz",
+            "integrity": "sha1-RJH8OGBc9R+GKdOcK10Cb5ikwTQ=",
+            "dev": true,
+            "requires": {
+                "accepts": "~1.3.7",
+                "array-flatten": "1.1.1",
+                "body-parser": "1.19.0",
+                "content-disposition": "0.5.3",
+                "content-type": "~1.0.4",
+                "cookie": "0.4.0",
+                "cookie-signature": "1.0.6",
+                "debug": "2.6.9",
+                "depd": "~1.1.2",
+                "encodeurl": "~1.0.2",
+                "escape-html": "~1.0.3",
+                "etag": "~1.8.1",
+                "finalhandler": "~1.1.2",
+                "fresh": "0.5.2",
+                "merge-descriptors": "1.0.1",
+                "methods": "~1.1.2",
+                "on-finished": "~2.3.0",
+                "parseurl": "~1.3.3",
+                "path-to-regexp": "0.1.7",
+                "proxy-addr": "~2.0.5",
+                "qs": "6.7.0",
+                "range-parser": "~1.2.1",
+                "safe-buffer": "5.1.2",
+                "send": "0.17.1",
+                "serve-static": "1.14.1",
+                "setprototypeof": "1.1.1",
+                "statuses": "~1.5.0",
+                "type-is": "~1.6.18",
+                "utils-merge": "1.0.1",
+                "vary": "~1.1.2"
+            }
+        },
+        "ext": {
+            "version": "1.4.0",
+            "resolved": "https://registry.npm.taobao.org/ext/download/ext-1.4.0.tgz",
+            "integrity": "sha1-ia56BxWPedNVF4gpBDJAd+Q3kkQ=",
+            "dev": true,
+            "requires": {
+                "type": "^2.0.0"
+            },
+            "dependencies": {
+                "type": {
+                    "version": "2.1.0",
+                    "resolved": "https://registry.npm.taobao.org/type/download/type-2.1.0.tgz?cache=0&sync_timestamp=1598016585110&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftype%2Fdownload%2Ftype-2.1.0.tgz",
+                    "integrity": "sha1-m9wixkjPjPht0j0yM2pBz7ZHXj8=",
+                    "dev": true
+                }
+            }
+        },
+        "extend": {
+            "version": "3.0.2",
+            "resolved": "https://registry.nlark.com/extend/download/extend-3.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fextend%2Fdownload%2Fextend-3.0.2.tgz",
+            "integrity": "sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo=",
+            "dev": true
+        },
+        "extend-shallow": {
+            "version": "3.0.2",
+            "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-3.0.2.tgz",
+            "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+            "dev": true,
+            "requires": {
+                "assign-symbols": "^1.0.0",
+                "is-extendable": "^1.0.1"
+            },
+            "dependencies": {
+                "is-extendable": {
+                    "version": "1.0.1",
+                    "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz",
+                    "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=",
+                    "dev": true,
+                    "requires": {
+                        "is-plain-object": "^2.0.4"
+                    }
+                }
+            }
+        },
+        "extglob": {
+            "version": "2.0.4",
+            "resolved": "https://registry.npm.taobao.org/extglob/download/extglob-2.0.4.tgz",
+            "integrity": "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=",
+            "dev": true,
+            "requires": {
+                "array-unique": "^0.3.2",
+                "define-property": "^1.0.0",
+                "expand-brackets": "^2.1.4",
+                "extend-shallow": "^2.0.1",
+                "fragment-cache": "^0.2.1",
+                "regex-not": "^1.0.0",
+                "snapdragon": "^0.8.1",
+                "to-regex": "^3.0.1"
+            },
+            "dependencies": {
+                "define-property": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz",
+                    "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+                    "dev": true,
+                    "requires": {
+                        "is-descriptor": "^1.0.0"
+                    }
+                },
+                "extend-shallow": {
+                    "version": "2.0.1",
+                    "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz",
+                    "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+                    "dev": true,
+                    "requires": {
+                        "is-extendable": "^0.1.0"
+                    }
+                },
+                "is-accessor-descriptor": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz",
+                    "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=",
+                    "dev": true,
+                    "requires": {
+                        "kind-of": "^6.0.0"
+                    }
+                },
+                "is-data-descriptor": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz",
+                    "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=",
+                    "dev": true,
+                    "requires": {
+                        "kind-of": "^6.0.0"
+                    }
+                },
+                "is-descriptor": {
+                    "version": "1.0.2",
+                    "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz",
+                    "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=",
+                    "dev": true,
+                    "requires": {
+                        "is-accessor-descriptor": "^1.0.0",
+                        "is-data-descriptor": "^1.0.0",
+                        "kind-of": "^6.0.2"
+                    }
+                },
+                "kind-of": {
+                    "version": "6.0.3",
+                    "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.3.tgz",
+                    "integrity": "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=",
+                    "dev": true
+                }
+            }
+        },
+        "extract-text-webpack-plugin": {
+            "version": "3.0.2",
+            "resolved": "https://registry.npm.taobao.org/extract-text-webpack-plugin/download/extract-text-webpack-plugin-3.0.2.tgz",
+            "integrity": "sha1-XwQ+qgL5dQqSWLeMCm4NwUCPsvc=",
+            "dev": true,
+            "requires": {
+                "async": "^2.4.1",
+                "loader-utils": "^1.1.0",
+                "schema-utils": "^0.3.0",
+                "webpack-sources": "^1.0.1"
+            }
+        },
+        "extsprintf": {
+            "version": "1.3.0",
+            "resolved": "https://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz",
+            "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
+            "dev": true
+        },
+        "fast-deep-equal": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-1.1.0.tgz",
+            "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=",
+            "dev": true
+        },
+        "fast-json-stable-stringify": {
+            "version": "2.1.0",
+            "resolved": "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz",
+            "integrity": "sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM=",
+            "dev": true
+        },
+        "fastparse": {
+            "version": "1.1.2",
+            "resolved": "https://registry.npm.taobao.org/fastparse/download/fastparse-1.1.2.tgz",
+            "integrity": "sha1-kXKMWllC7O2FMSg8eUQe5BIsNak=",
+            "dev": true
+        },
+        "faye-websocket": {
+            "version": "0.10.0",
+            "resolved": "https://registry.npm.taobao.org/faye-websocket/download/faye-websocket-0.10.0.tgz",
+            "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=",
+            "dev": true,
+            "requires": {
+                "websocket-driver": ">=0.5.1"
+            }
+        },
+        "figures": {
+            "version": "3.2.0",
+            "resolved": "https://registry.npm.taobao.org/figures/download/figures-3.2.0.tgz",
+            "integrity": "sha1-YlwYvSk8YE3EqN2y/r8MiDQXRq8=",
+            "requires": {
+                "escape-string-regexp": "^1.0.5"
+            }
+        },
+        "file-loader": {
+            "version": "1.1.11",
+            "resolved": "https://registry.npm.taobao.org/file-loader/download/file-loader-1.1.11.tgz?cache=0&sync_timestamp=1603816843418&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffile-loader%2Fdownload%2Ffile-loader-1.1.11.tgz",
+            "integrity": "sha1-b+iGRJsPKpNuQ8q6rAzb+zaVBvg=",
+            "dev": true,
+            "requires": {
+                "loader-utils": "^1.0.2",
+                "schema-utils": "^0.4.5"
+            },
+            "dependencies": {
+                "ajv": {
+                    "version": "6.12.6",
+                    "resolved": "https://registry.npm.taobao.org/ajv/download/ajv-6.12.6.tgz?cache=0&sync_timestamp=1603561547443&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv%2Fdownload%2Fajv-6.12.6.tgz",
+                    "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=",
+                    "dev": true,
+                    "requires": {
+                        "fast-deep-equal": "^3.1.1",
+                        "fast-json-stable-stringify": "^2.0.0",
+                        "json-schema-traverse": "^0.4.1",
+                        "uri-js": "^4.2.2"
+                    }
+                },
+                "fast-deep-equal": {
+                    "version": "3.1.3",
+                    "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz",
+                    "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=",
+                    "dev": true
+                },
+                "json-schema-traverse": {
+                    "version": "0.4.1",
+                    "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz?cache=0&sync_timestamp=1599333856086&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema-traverse%2Fdownload%2Fjson-schema-traverse-0.4.1.tgz",
+                    "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=",
+                    "dev": true
+                },
+                "schema-utils": {
+                    "version": "0.4.7",
+                    "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-0.4.7.tgz",
+                    "integrity": "sha1-unT1l9K+LqiAExdG7hfQoJPGgYc=",
+                    "dev": true,
+                    "requires": {
+                        "ajv": "^6.1.0",
+                        "ajv-keywords": "^3.1.0"
+                    }
+                }
+            }
+        },
+        "file-uri-to-path": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/file-uri-to-path/download/file-uri-to-path-1.0.0.tgz",
+            "integrity": "sha1-VTp7hEb/b2hDWcRF8eN6BdrMM90=",
+            "dev": true,
+            "optional": true
+        },
+        "filesize": {
+            "version": "3.6.1",
+            "resolved": "https://registry.npm.taobao.org/filesize/download/filesize-3.6.1.tgz",
+            "integrity": "sha1-CQuz7gG2+AGoqL6Z0xcQs0Irsxc=",
+            "dev": true
+        },
+        "fill-range": {
+            "version": "7.0.1",
+            "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz",
+            "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=",
+            "dev": true,
+            "optional": true,
+            "requires": {
+                "to-regex-range": "^5.0.1"
+            }
+        },
+        "finalhandler": {
+            "version": "1.1.2",
+            "resolved": "https://registry.npm.taobao.org/finalhandler/download/finalhandler-1.1.2.tgz",
+            "integrity": "sha1-t+fQAP/RGTjQ/bBTUG9uur6fWH0=",
+            "dev": true,
+            "requires": {
+                "debug": "2.6.9",
+                "encodeurl": "~1.0.2",
+                "escape-html": "~1.0.3",
+                "on-finished": "~2.3.0",
+                "parseurl": "~1.3.3",
+                "statuses": "~1.5.0",
+                "unpipe": "~1.0.0"
+            }
+        },
+        "find-cache-dir": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-1.0.0.tgz",
+            "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=",
+            "dev": true,
+            "requires": {
+                "commondir": "^1.0.1",
+                "make-dir": "^1.0.0",
+                "pkg-dir": "^2.0.0"
+            }
+        },
+        "find-up": {
+            "version": "2.1.0",
+            "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-2.1.0.tgz?cache=0&sync_timestamp=1597169842138&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-2.1.0.tgz",
+            "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+            "requires": {
+                "locate-path": "^2.0.0"
+            }
+        },
+        "flatten": {
+            "version": "1.0.3",
+            "resolved": "https://registry.npm.taobao.org/flatten/download/flatten-1.0.3.tgz",
+            "integrity": "sha1-wSg6yfJ7Noq8HjbR/3sEUBowNWs=",
+            "dev": true
+        },
+        "flush-write-stream": {
+            "version": "1.1.1",
+            "resolved": "https://registry.npm.taobao.org/flush-write-stream/download/flush-write-stream-1.1.1.tgz",
+            "integrity": "sha1-jdfYc6G6vCB9lOrQwuDkQnbr8ug=",
+            "dev": true,
+            "requires": {
+                "inherits": "^2.0.3",
+                "readable-stream": "^2.3.6"
+            }
+        },
+        "follow-redirects": {
+            "version": "1.13.0",
+            "resolved": "https://registry.npm.taobao.org/follow-redirects/download/follow-redirects-1.13.0.tgz?cache=0&sync_timestamp=1597057976909&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffollow-redirects%2Fdownload%2Ffollow-redirects-1.13.0.tgz",
+            "integrity": "sha1-tC6Nk6Kn7qXtiGM2dtZZe8jjhNs="
+        },
+        "for-in": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz",
+            "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
+            "dev": true
+        },
+        "forever-agent": {
+            "version": "0.6.1",
+            "resolved": "https://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz",
+            "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
+            "dev": true
+        },
+        "form-data": {
+            "version": "2.3.3",
+            "resolved": "https://registry.npm.taobao.org/form-data/download/form-data-2.3.3.tgz",
+            "integrity": "sha1-3M5SwF9kTymManq5Nr1yTO/786Y=",
+            "dev": true,
+            "requires": {
+                "asynckit": "^0.4.0",
+                "combined-stream": "^1.0.6",
+                "mime-types": "^2.1.12"
+            }
+        },
+        "forwarded": {
+            "version": "0.1.2",
+            "resolved": "https://registry.npm.taobao.org/forwarded/download/forwarded-0.1.2.tgz",
+            "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=",
+            "dev": true
+        },
+        "fragment-cache": {
+            "version": "0.2.1",
+            "resolved": "https://registry.npm.taobao.org/fragment-cache/download/fragment-cache-0.2.1.tgz",
+            "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
+            "dev": true,
+            "requires": {
+                "map-cache": "^0.2.2"
+            }
+        },
+        "fresh": {
+            "version": "0.5.2",
+            "resolved": "https://registry.npm.taobao.org/fresh/download/fresh-0.5.2.tgz?cache=0&sync_timestamp=1589682752100&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffresh%2Fdownload%2Ffresh-0.5.2.tgz",
+            "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
+            "dev": true
+        },
+        "friendly-errors-webpack-plugin": {
+            "version": "1.7.0",
+            "resolved": "https://registry.npm.taobao.org/friendly-errors-webpack-plugin/download/friendly-errors-webpack-plugin-1.7.0.tgz",
+            "integrity": "sha1-78hsu4FiJFZYYaG+ep2E0Kr+oTY=",
+            "dev": true,
+            "requires": {
+                "chalk": "^1.1.3",
+                "error-stack-parser": "^2.0.0",
+                "string-width": "^2.0.0"
+            },
+            "dependencies": {
+                "ansi-styles": {
+                    "version": "2.2.1",
+                    "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz?cache=0&sync_timestamp=1601839122515&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-2.2.1.tgz",
+                    "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+                    "dev": true
+                },
+                "chalk": {
+                    "version": "1.1.3",
+                    "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz",
+                    "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+                    "dev": true,
+                    "requires": {
+                        "ansi-styles": "^2.2.1",
+                        "escape-string-regexp": "^1.0.2",
+                        "has-ansi": "^2.0.0",
+                        "strip-ansi": "^3.0.0",
+                        "supports-color": "^2.0.0"
+                    }
+                },
+                "supports-color": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz",
+                    "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+                    "dev": true
+                }
+            }
+        },
+        "from2": {
+            "version": "2.3.0",
+            "resolved": "https://registry.npm.taobao.org/from2/download/from2-2.3.0.tgz",
+            "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
+            "dev": true,
+            "requires": {
+                "inherits": "^2.0.1",
+                "readable-stream": "^2.0.0"
+            }
+        },
+        "fs-access": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/fs-access/download/fs-access-1.0.1.tgz",
+            "integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=",
+            "requires": {
+                "null-check": "^1.0.0"
+            }
+        },
+        "fs-minipass": {
+            "version": "2.1.0",
+            "resolved": "https://registry.npm.taobao.org/fs-minipass/download/fs-minipass-2.1.0.tgz",
+            "integrity": "sha1-f1A2/b8SxjwWkZDL5BmchSJx+fs=",
+            "requires": {
+                "minipass": "^3.0.0"
+            }
+        },
+        "fs-write-stream-atomic": {
+            "version": "1.0.10",
+            "resolved": "https://registry.npm.taobao.org/fs-write-stream-atomic/download/fs-write-stream-atomic-1.0.10.tgz",
+            "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
+            "dev": true,
+            "requires": {
+                "graceful-fs": "^4.1.2",
+                "iferr": "^0.1.5",
+                "imurmurhash": "^0.1.4",
+                "readable-stream": "1 || 2"
+            }
+        },
+        "fs.realpath": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz",
+            "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
+        },
+        "fsevents": {
+            "version": "2.1.3",
+            "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-2.1.3.tgz?cache=0&sync_timestamp=1604409195916&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffsevents%2Fdownload%2Ffsevents-2.1.3.tgz",
+            "integrity": "sha1-+3OHA66NL5/pAMM4Nt3r7ouX8j4=",
+            "dev": true,
+            "optional": true
+        },
+        "function-bind": {
+            "version": "1.1.1",
+            "resolved": "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz",
+            "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0="
+        },
+        "gauge": {
+            "version": "2.7.4",
+            "resolved": "https://registry.nlark.com/gauge/download/gauge-2.7.4.tgz",
+            "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
+            "requires": {
+                "aproba": "^1.0.3",
+                "console-control-strings": "^1.0.0",
+                "has-unicode": "^2.0.0",
+                "object-assign": "^4.1.0",
+                "signal-exit": "^3.0.0",
+                "string-width": "^1.0.1",
+                "strip-ansi": "^3.0.1",
+                "wide-align": "^1.1.0"
+            },
+            "dependencies": {
+                "is-fullwidth-code-point": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz?cache=0&sync_timestamp=1618552489864&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-fullwidth-code-point%2Fdownload%2Fis-fullwidth-code-point-1.0.0.tgz",
+                    "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+                    "requires": {
+                        "number-is-nan": "^1.0.0"
+                    }
+                },
+                "string-width": {
+                    "version": "1.0.2",
+                    "resolved": "https://registry.nlark.com/string-width/download/string-width-1.0.2.tgz",
+                    "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+                    "requires": {
+                        "code-point-at": "^1.0.0",
+                        "is-fullwidth-code-point": "^1.0.0",
+                        "strip-ansi": "^3.0.0"
+                    }
+                }
+            }
+        },
+        "gaze": {
+            "version": "1.1.3",
+            "resolved": "https://registry.nlark.com/gaze/download/gaze-1.1.3.tgz",
+            "integrity": "sha1-xEFzPhO5J6yMD/C0w7Az8ogSkko=",
+            "dev": true,
+            "requires": {
+                "globule": "^1.0.0"
+            }
+        },
+        "gensync": {
+            "version": "1.0.0-beta.2",
+            "resolved": "https://registry.nlark.com/gensync/download/gensync-1.0.0-beta.2.tgz",
+            "integrity": "sha1-MqbudsPX9S1GsrGuXZP+qFgKJeA="
+        },
+        "get-caller-file": {
+            "version": "1.0.3",
+            "resolved": "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-1.0.3.tgz",
+            "integrity": "sha1-+Xj6TJDR3+f/LWvtoqUV5xO9z0o=",
+            "dev": true
+        },
+        "get-intrinsic": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/get-intrinsic/download/get-intrinsic-1.0.1.tgz?cache=0&sync_timestamp=1604120551861&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-intrinsic%2Fdownload%2Fget-intrinsic-1.0.1.tgz",
+            "integrity": "sha1-lKl2j8vdBZWhySc6rPTInQdWMb4=",
+            "dev": true,
+            "requires": {
+                "function-bind": "^1.1.1",
+                "has": "^1.0.3",
+                "has-symbols": "^1.0.1"
+            }
+        },
+        "get-package-type": {
+            "version": "0.1.0",
+            "resolved": "https://registry.nlark.com/get-package-type/download/get-package-type-0.1.0.tgz",
+            "integrity": "sha1-jeLYA8/0TfO8bEVuZmizbDkm4Ro="
+        },
+        "get-pkg-repo": {
+            "version": "1.4.0",
+            "resolved": "https://registry.nlark.com/get-pkg-repo/download/get-pkg-repo-1.4.0.tgz?cache=0&sync_timestamp=1619914368818&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fget-pkg-repo%2Fdownload%2Fget-pkg-repo-1.4.0.tgz",
+            "integrity": "sha1-xztInAbYDMVTbCyFP54FIyBWly0=",
+            "requires": {
+                "hosted-git-info": "^2.1.4",
+                "meow": "^3.3.0",
+                "normalize-package-data": "^2.3.0",
+                "parse-github-repo-url": "^1.3.0",
+                "through2": "^2.0.0"
+            }
+        },
+        "get-stdin": {
+            "version": "4.0.1",
+            "resolved": "https://registry.npm.taobao.org/get-stdin/download/get-stdin-4.0.1.tgz?cache=0&sync_timestamp=1599054261857&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-stdin%2Fdownload%2Fget-stdin-4.0.1.tgz",
+            "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4="
+        },
+        "get-stream": {
+            "version": "3.0.0",
+            "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-3.0.0.tgz?cache=0&sync_timestamp=1597056502934&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-stream%2Fdownload%2Fget-stream-3.0.0.tgz",
+            "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
+            "dev": true
+        },
+        "get-value": {
+            "version": "2.0.6",
+            "resolved": "https://registry.npm.taobao.org/get-value/download/get-value-2.0.6.tgz",
+            "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
+            "dev": true
+        },
+        "getpass": {
+            "version": "0.1.7",
+            "resolved": "https://registry.nlark.com/getpass/download/getpass-0.1.7.tgz",
+            "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
+            "dev": true,
+            "requires": {
+                "assert-plus": "^1.0.0"
+            }
+        },
+        "git-raw-commits": {
+            "version": "2.0.10",
+            "resolved": "https://registry.npm.taobao.org/git-raw-commits/download/git-raw-commits-2.0.10.tgz?cache=0&sync_timestamp=1611765513212&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fgit-raw-commits%2Fdownload%2Fgit-raw-commits-2.0.10.tgz",
+            "integrity": "sha1-4iVe2VY7HJw+pr0FgGQQKQKXu8E=",
+            "requires": {
+                "dargs": "^7.0.0",
+                "lodash": "^4.17.15",
+                "meow": "^8.0.0",
+                "split2": "^3.0.0",
+                "through2": "^4.0.0"
+            },
+            "dependencies": {
+                "camelcase": {
+                    "version": "5.3.1",
+                    "resolved": "https://registry.nlark.com/camelcase/download/camelcase-5.3.1.tgz",
+                    "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA="
+                },
+                "camelcase-keys": {
+                    "version": "6.2.2",
+                    "resolved": "https://registry.nlark.com/camelcase-keys/download/camelcase-keys-6.2.2.tgz",
+                    "integrity": "sha1-XnVda6UaoiPsfT1S8ld4IQ+dw8A=",
+                    "requires": {
+                        "camelcase": "^5.3.1",
+                        "map-obj": "^4.0.0",
+                        "quick-lru": "^4.0.1"
+                    }
+                },
+                "find-up": {
+                    "version": "4.1.0",
+                    "resolved": "https://registry.nlark.com/find-up/download/find-up-4.1.0.tgz?cache=0&sync_timestamp=1618846778775&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffind-up%2Fdownload%2Ffind-up-4.1.0.tgz",
+                    "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=",
+                    "requires": {
+                        "locate-path": "^5.0.0",
+                        "path-exists": "^4.0.0"
+                    }
+                },
+                "hosted-git-info": {
+                    "version": "4.0.2",
+                    "resolved": "https://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-4.0.2.tgz",
+                    "integrity": "sha1-XkJVB+7eT+qEa3Ji8IOEVsQgmWE=",
+                    "requires": {
+                        "lru-cache": "^6.0.0"
+                    }
+                },
+                "indent-string": {
+                    "version": "4.0.0",
+                    "resolved": "https://registry.npm.taobao.org/indent-string/download/indent-string-4.0.0.tgz?cache=0&sync_timestamp=1618679561483&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Findent-string%2Fdownload%2Findent-string-4.0.0.tgz",
+                    "integrity": "sha1-Yk+PRJfWGbLZdoUx1Y9BIoVNclE="
+                },
+                "is-core-module": {
+                    "version": "2.4.0",
+                    "resolved": "https://registry.nlark.com/is-core-module/download/is-core-module-2.4.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-core-module%2Fdownload%2Fis-core-module-2.4.0.tgz",
+                    "integrity": "sha1-jp/I4VAnsBFBgCbpjw5vTYYwXME=",
+                    "requires": {
+                        "has": "^1.0.3"
+                    }
+                },
+                "locate-path": {
+                    "version": "5.0.0",
+                    "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-5.0.0.tgz",
+                    "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=",
+                    "requires": {
+                        "p-locate": "^4.1.0"
+                    }
+                },
+                "lru-cache": {
+                    "version": "6.0.0",
+                    "resolved": "https://registry.nlark.com/lru-cache/download/lru-cache-6.0.0.tgz",
+                    "integrity": "sha1-bW/mVw69lqr5D8rR2vo7JWbbOpQ=",
+                    "requires": {
+                        "yallist": "^4.0.0"
+                    }
+                },
+                "map-obj": {
+                    "version": "4.2.1",
+                    "resolved": "https://registry.npm.taobao.org/map-obj/download/map-obj-4.2.1.tgz?cache=0&sync_timestamp=1617771232226&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmap-obj%2Fdownload%2Fmap-obj-4.2.1.tgz",
+                    "integrity": "sha1-5Oo5nbyXmuc1yDyGPdMb3zZCd7c="
+                },
+                "meow": {
+                    "version": "8.1.2",
+                    "resolved": "https://registry.nlark.com/meow/download/meow-8.1.2.tgz",
+                    "integrity": "sha1-vL5FvaDuFynTUMA8/8g5WjbE6Jc=",
+                    "requires": {
+                        "@types/minimist": "^1.2.0",
+                        "camelcase-keys": "^6.2.2",
+                        "decamelize-keys": "^1.1.0",
+                        "hard-rejection": "^2.1.0",
+                        "minimist-options": "4.1.0",
+                        "normalize-package-data": "^3.0.0",
+                        "read-pkg-up": "^7.0.1",
+                        "redent": "^3.0.0",
+                        "trim-newlines": "^3.0.0",
+                        "type-fest": "^0.18.0",
+                        "yargs-parser": "^20.2.3"
+                    }
+                },
+                "normalize-package-data": {
+                    "version": "3.0.2",
+                    "resolved": "https://registry.nlark.com/normalize-package-data/download/normalize-package-data-3.0.2.tgz",
+                    "integrity": "sha1-yuXEEK4kNPmmwbqmXVvDuTZshpk=",
+                    "requires": {
+                        "hosted-git-info": "^4.0.1",
+                        "resolve": "^1.20.0",
+                        "semver": "^7.3.4",
+                        "validate-npm-package-license": "^3.0.1"
+                    }
+                },
+                "p-limit": {
+                    "version": "2.3.0",
+                    "resolved": "https://registry.nlark.com/p-limit/download/p-limit-2.3.0.tgz",
+                    "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=",
+                    "requires": {
+                        "p-try": "^2.0.0"
+                    }
+                },
+                "p-locate": {
+                    "version": "4.1.0",
+                    "resolved": "https://registry.nlark.com/p-locate/download/p-locate-4.1.0.tgz",
+                    "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=",
+                    "requires": {
+                        "p-limit": "^2.2.0"
+                    }
+                },
+                "p-try": {
+                    "version": "2.2.0",
+                    "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz",
+                    "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY="
+                },
+                "parse-json": {
+                    "version": "5.2.0",
+                    "resolved": "https://registry.nlark.com/parse-json/download/parse-json-5.2.0.tgz",
+                    "integrity": "sha1-x2/Gbe5UIxyWKyK8yKcs8vmXU80=",
+                    "requires": {
+                        "@babel/code-frame": "^7.0.0",
+                        "error-ex": "^1.3.1",
+                        "json-parse-even-better-errors": "^2.3.0",
+                        "lines-and-columns": "^1.1.6"
+                    }
+                },
+                "path-exists": {
+                    "version": "4.0.0",
+                    "resolved": "https://registry.nlark.com/path-exists/download/path-exists-4.0.0.tgz",
+                    "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM="
+                },
+                "read-pkg": {
+                    "version": "5.2.0",
+                    "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-5.2.0.tgz",
+                    "integrity": "sha1-e/KVQ4yloz5WzTDgU7NO5yUMk8w=",
+                    "requires": {
+                        "@types/normalize-package-data": "^2.4.0",
+                        "normalize-package-data": "^2.5.0",
+                        "parse-json": "^5.0.0",
+                        "type-fest": "^0.6.0"
+                    },
+                    "dependencies": {
+                        "hosted-git-info": {
+                            "version": "2.8.9",
+                            "resolved": "https://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.8.9.tgz",
+                            "integrity": "sha1-3/wL+aIcAiCQkPKqaUKeFBTa8/k="
+                        },
+                        "normalize-package-data": {
+                            "version": "2.5.0",
+                            "resolved": "https://registry.nlark.com/normalize-package-data/download/normalize-package-data-2.5.0.tgz",
+                            "integrity": "sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg=",
+                            "requires": {
+                                "hosted-git-info": "^2.1.4",
+                                "resolve": "^1.10.0",
+                                "semver": "2 || 3 || 4 || 5",
+                                "validate-npm-package-license": "^3.0.1"
+                            }
+                        },
+                        "semver": {
+                            "version": "5.7.1",
+                            "resolved": "https://registry.nlark.com/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1618847119601&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz",
+                            "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc="
+                        },
+                        "type-fest": {
+                            "version": "0.6.0",
+                            "resolved": "https://registry.nlark.com/type-fest/download/type-fest-0.6.0.tgz?cache=0&sync_timestamp=1622543370439&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftype-fest%2Fdownload%2Ftype-fest-0.6.0.tgz",
+                            "integrity": "sha1-jSojcNPfiG61yQraHFv2GIrPg4s="
+                        }
+                    }
+                },
+                "read-pkg-up": {
+                    "version": "7.0.1",
+                    "resolved": "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-7.0.1.tgz?cache=0&sync_timestamp=1616916344510&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg-up%2Fdownload%2Fread-pkg-up-7.0.1.tgz",
+                    "integrity": "sha1-86YTV1hFlzOuK5VjgFbhhU5+9Qc=",
+                    "requires": {
+                        "find-up": "^4.1.0",
+                        "read-pkg": "^5.2.0",
+                        "type-fest": "^0.8.1"
+                    },
+                    "dependencies": {
+                        "type-fest": {
+                            "version": "0.8.1",
+                            "resolved": "https://registry.nlark.com/type-fest/download/type-fest-0.8.1.tgz?cache=0&sync_timestamp=1622543370439&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftype-fest%2Fdownload%2Ftype-fest-0.8.1.tgz",
+                            "integrity": "sha1-CeJJ696FHTseSNJ8EFREZn8XuD0="
+                        }
+                    }
+                },
+                "readable-stream": {
+                    "version": "3.6.0",
+                    "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz",
+                    "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=",
+                    "requires": {
+                        "inherits": "^2.0.3",
+                        "string_decoder": "^1.1.1",
+                        "util-deprecate": "^1.0.1"
+                    }
+                },
+                "redent": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.nlark.com/redent/download/redent-3.0.0.tgz",
+                    "integrity": "sha1-5Ve3mYMWu1PJ8fVvpiY1LGljBZ8=",
+                    "requires": {
+                        "indent-string": "^4.0.0",
+                        "strip-indent": "^3.0.0"
+                    }
+                },
+                "resolve": {
+                    "version": "1.20.0",
+                    "resolved": "https://registry.nlark.com/resolve/download/resolve-1.20.0.tgz",
+                    "integrity": "sha1-YpoBP7P3B1XW8LeTXMHCxTeLGXU=",
+                    "requires": {
+                        "is-core-module": "^2.2.0",
+                        "path-parse": "^1.0.6"
+                    }
+                },
+                "semver": {
+                    "version": "7.3.5",
+                    "resolved": "https://registry.nlark.com/semver/download/semver-7.3.5.tgz?cache=0&sync_timestamp=1618847119601&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-7.3.5.tgz",
+                    "integrity": "sha1-C2Ich5NI2JmOSw5L6Us/EuYBjvc=",
+                    "requires": {
+                        "lru-cache": "^6.0.0"
+                    }
+                },
+                "strip-indent": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.nlark.com/strip-indent/download/strip-indent-3.0.0.tgz?cache=0&sync_timestamp=1620053310624&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fstrip-indent%2Fdownload%2Fstrip-indent-3.0.0.tgz",
+                    "integrity": "sha1-wy4c7pQLazQyx3G8LFS8znPNMAE=",
+                    "requires": {
+                        "min-indent": "^1.0.0"
+                    }
+                },
+                "through2": {
+                    "version": "4.0.2",
+                    "resolved": "https://registry.npm.taobao.org/through2/download/through2-4.0.2.tgz",
+                    "integrity": "sha1-p846wqeosLlmyA58SfBITDsjl2Q=",
+                    "requires": {
+                        "readable-stream": "3"
+                    }
+                },
+                "trim-newlines": {
+                    "version": "3.0.1",
+                    "resolved": "https://registry.nlark.com/trim-newlines/download/trim-newlines-3.0.1.tgz?cache=0&sync_timestamp=1623341510447&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftrim-newlines%2Fdownload%2Ftrim-newlines-3.0.1.tgz",
+                    "integrity": "sha1-Jgpdli2LdSQlsy86fbDcrNF2wUQ="
+                },
+                "yallist": {
+                    "version": "4.0.0",
+                    "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-4.0.0.tgz",
+                    "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI="
+                },
+                "yargs-parser": {
+                    "version": "20.2.7",
+                    "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-20.2.7.tgz",
+                    "integrity": "sha1-Yd+FwRPt+1p6TjbriqYO9CPLyQo="
+                }
+            }
+        },
+        "git-remote-origin-url": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npm.taobao.org/git-remote-origin-url/download/git-remote-origin-url-2.0.0.tgz",
+            "integrity": "sha1-UoJlna4hBxRaERJhEq0yFuxfpl8=",
+            "requires": {
+                "gitconfiglocal": "^1.0.0",
+                "pify": "^2.3.0"
+            },
+            "dependencies": {
+                "pify": {
+                    "version": "2.3.0",
+                    "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz",
+                    "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
+                }
+            }
+        },
+        "git-semver-tags": {
+            "version": "4.1.1",
+            "resolved": "https://registry.npm.taobao.org/git-semver-tags/download/git-semver-tags-4.1.1.tgz",
+            "integrity": "sha1-YxkbzYCbDsPhUbpHUcFsRE5bV4A=",
+            "requires": {
+                "meow": "^8.0.0",
+                "semver": "^6.0.0"
+            },
+            "dependencies": {
+                "camelcase": {
+                    "version": "5.3.1",
+                    "resolved": "https://registry.nlark.com/camelcase/download/camelcase-5.3.1.tgz",
+                    "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA="
+                },
+                "camelcase-keys": {
+                    "version": "6.2.2",
+                    "resolved": "https://registry.nlark.com/camelcase-keys/download/camelcase-keys-6.2.2.tgz",
+                    "integrity": "sha1-XnVda6UaoiPsfT1S8ld4IQ+dw8A=",
+                    "requires": {
+                        "camelcase": "^5.3.1",
+                        "map-obj": "^4.0.0",
+                        "quick-lru": "^4.0.1"
+                    }
+                },
+                "find-up": {
+                    "version": "4.1.0",
+                    "resolved": "https://registry.nlark.com/find-up/download/find-up-4.1.0.tgz?cache=0&sync_timestamp=1618846778775&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffind-up%2Fdownload%2Ffind-up-4.1.0.tgz",
+                    "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=",
+                    "requires": {
+                        "locate-path": "^5.0.0",
+                        "path-exists": "^4.0.0"
+                    }
+                },
+                "hosted-git-info": {
+                    "version": "4.0.2",
+                    "resolved": "https://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-4.0.2.tgz",
+                    "integrity": "sha1-XkJVB+7eT+qEa3Ji8IOEVsQgmWE=",
+                    "requires": {
+                        "lru-cache": "^6.0.0"
+                    }
+                },
+                "indent-string": {
+                    "version": "4.0.0",
+                    "resolved": "https://registry.npm.taobao.org/indent-string/download/indent-string-4.0.0.tgz?cache=0&sync_timestamp=1618679561483&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Findent-string%2Fdownload%2Findent-string-4.0.0.tgz",
+                    "integrity": "sha1-Yk+PRJfWGbLZdoUx1Y9BIoVNclE="
+                },
+                "is-core-module": {
+                    "version": "2.4.0",
+                    "resolved": "https://registry.nlark.com/is-core-module/download/is-core-module-2.4.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-core-module%2Fdownload%2Fis-core-module-2.4.0.tgz",
+                    "integrity": "sha1-jp/I4VAnsBFBgCbpjw5vTYYwXME=",
+                    "requires": {
+                        "has": "^1.0.3"
+                    }
+                },
+                "locate-path": {
+                    "version": "5.0.0",
+                    "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-5.0.0.tgz",
+                    "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=",
+                    "requires": {
+                        "p-locate": "^4.1.0"
+                    }
+                },
+                "lru-cache": {
+                    "version": "6.0.0",
+                    "resolved": "https://registry.nlark.com/lru-cache/download/lru-cache-6.0.0.tgz",
+                    "integrity": "sha1-bW/mVw69lqr5D8rR2vo7JWbbOpQ=",
+                    "requires": {
+                        "yallist": "^4.0.0"
+                    }
+                },
+                "map-obj": {
+                    "version": "4.2.1",
+                    "resolved": "https://registry.npm.taobao.org/map-obj/download/map-obj-4.2.1.tgz?cache=0&sync_timestamp=1617771232226&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmap-obj%2Fdownload%2Fmap-obj-4.2.1.tgz",
+                    "integrity": "sha1-5Oo5nbyXmuc1yDyGPdMb3zZCd7c="
+                },
+                "meow": {
+                    "version": "8.1.2",
+                    "resolved": "https://registry.nlark.com/meow/download/meow-8.1.2.tgz",
+                    "integrity": "sha1-vL5FvaDuFynTUMA8/8g5WjbE6Jc=",
+                    "requires": {
+                        "@types/minimist": "^1.2.0",
+                        "camelcase-keys": "^6.2.2",
+                        "decamelize-keys": "^1.1.0",
+                        "hard-rejection": "^2.1.0",
+                        "minimist-options": "4.1.0",
+                        "normalize-package-data": "^3.0.0",
+                        "read-pkg-up": "^7.0.1",
+                        "redent": "^3.0.0",
+                        "trim-newlines": "^3.0.0",
+                        "type-fest": "^0.18.0",
+                        "yargs-parser": "^20.2.3"
+                    }
+                },
+                "normalize-package-data": {
+                    "version": "3.0.2",
+                    "resolved": "https://registry.nlark.com/normalize-package-data/download/normalize-package-data-3.0.2.tgz",
+                    "integrity": "sha1-yuXEEK4kNPmmwbqmXVvDuTZshpk=",
+                    "requires": {
+                        "hosted-git-info": "^4.0.1",
+                        "resolve": "^1.20.0",
+                        "semver": "^7.3.4",
+                        "validate-npm-package-license": "^3.0.1"
+                    },
+                    "dependencies": {
+                        "semver": {
+                            "version": "7.3.5",
+                            "resolved": "https://registry.nlark.com/semver/download/semver-7.3.5.tgz?cache=0&sync_timestamp=1618847119601&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-7.3.5.tgz",
+                            "integrity": "sha1-C2Ich5NI2JmOSw5L6Us/EuYBjvc=",
+                            "requires": {
+                                "lru-cache": "^6.0.0"
+                            }
+                        }
+                    }
+                },
+                "p-limit": {
+                    "version": "2.3.0",
+                    "resolved": "https://registry.nlark.com/p-limit/download/p-limit-2.3.0.tgz",
+                    "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=",
+                    "requires": {
+                        "p-try": "^2.0.0"
+                    }
+                },
+                "p-locate": {
+                    "version": "4.1.0",
+                    "resolved": "https://registry.nlark.com/p-locate/download/p-locate-4.1.0.tgz",
+                    "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=",
+                    "requires": {
+                        "p-limit": "^2.2.0"
+                    }
+                },
+                "p-try": {
+                    "version": "2.2.0",
+                    "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz",
+                    "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY="
+                },
+                "parse-json": {
+                    "version": "5.2.0",
+                    "resolved": "https://registry.nlark.com/parse-json/download/parse-json-5.2.0.tgz",
+                    "integrity": "sha1-x2/Gbe5UIxyWKyK8yKcs8vmXU80=",
+                    "requires": {
+                        "@babel/code-frame": "^7.0.0",
+                        "error-ex": "^1.3.1",
+                        "json-parse-even-better-errors": "^2.3.0",
+                        "lines-and-columns": "^1.1.6"
+                    }
+                },
+                "path-exists": {
+                    "version": "4.0.0",
+                    "resolved": "https://registry.nlark.com/path-exists/download/path-exists-4.0.0.tgz",
+                    "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM="
+                },
+                "read-pkg": {
+                    "version": "5.2.0",
+                    "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-5.2.0.tgz",
+                    "integrity": "sha1-e/KVQ4yloz5WzTDgU7NO5yUMk8w=",
+                    "requires": {
+                        "@types/normalize-package-data": "^2.4.0",
+                        "normalize-package-data": "^2.5.0",
+                        "parse-json": "^5.0.0",
+                        "type-fest": "^0.6.0"
+                    },
+                    "dependencies": {
+                        "hosted-git-info": {
+                            "version": "2.8.9",
+                            "resolved": "https://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.8.9.tgz",
+                            "integrity": "sha1-3/wL+aIcAiCQkPKqaUKeFBTa8/k="
+                        },
+                        "normalize-package-data": {
+                            "version": "2.5.0",
+                            "resolved": "https://registry.nlark.com/normalize-package-data/download/normalize-package-data-2.5.0.tgz",
+                            "integrity": "sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg=",
+                            "requires": {
+                                "hosted-git-info": "^2.1.4",
+                                "resolve": "^1.10.0",
+                                "semver": "2 || 3 || 4 || 5",
+                                "validate-npm-package-license": "^3.0.1"
+                            }
+                        },
+                        "semver": {
+                            "version": "5.7.1",
+                            "resolved": "https://registry.nlark.com/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1618847119601&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz",
+                            "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc="
+                        },
+                        "type-fest": {
+                            "version": "0.6.0",
+                            "resolved": "https://registry.nlark.com/type-fest/download/type-fest-0.6.0.tgz?cache=0&sync_timestamp=1622543370439&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftype-fest%2Fdownload%2Ftype-fest-0.6.0.tgz",
+                            "integrity": "sha1-jSojcNPfiG61yQraHFv2GIrPg4s="
+                        }
+                    }
+                },
+                "read-pkg-up": {
+                    "version": "7.0.1",
+                    "resolved": "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-7.0.1.tgz?cache=0&sync_timestamp=1616916344510&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg-up%2Fdownload%2Fread-pkg-up-7.0.1.tgz",
+                    "integrity": "sha1-86YTV1hFlzOuK5VjgFbhhU5+9Qc=",
+                    "requires": {
+                        "find-up": "^4.1.0",
+                        "read-pkg": "^5.2.0",
+                        "type-fest": "^0.8.1"
+                    },
+                    "dependencies": {
+                        "type-fest": {
+                            "version": "0.8.1",
+                            "resolved": "https://registry.nlark.com/type-fest/download/type-fest-0.8.1.tgz?cache=0&sync_timestamp=1622543370439&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftype-fest%2Fdownload%2Ftype-fest-0.8.1.tgz",
+                            "integrity": "sha1-CeJJ696FHTseSNJ8EFREZn8XuD0="
+                        }
+                    }
+                },
+                "redent": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.nlark.com/redent/download/redent-3.0.0.tgz",
+                    "integrity": "sha1-5Ve3mYMWu1PJ8fVvpiY1LGljBZ8=",
+                    "requires": {
+                        "indent-string": "^4.0.0",
+                        "strip-indent": "^3.0.0"
+                    }
+                },
+                "resolve": {
+                    "version": "1.20.0",
+                    "resolved": "https://registry.nlark.com/resolve/download/resolve-1.20.0.tgz",
+                    "integrity": "sha1-YpoBP7P3B1XW8LeTXMHCxTeLGXU=",
+                    "requires": {
+                        "is-core-module": "^2.2.0",
+                        "path-parse": "^1.0.6"
+                    }
+                },
+                "semver": {
+                    "version": "6.3.0",
+                    "resolved": "https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1618847119601&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz",
+                    "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0="
+                },
+                "strip-indent": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.nlark.com/strip-indent/download/strip-indent-3.0.0.tgz?cache=0&sync_timestamp=1620053310624&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fstrip-indent%2Fdownload%2Fstrip-indent-3.0.0.tgz",
+                    "integrity": "sha1-wy4c7pQLazQyx3G8LFS8znPNMAE=",
+                    "requires": {
+                        "min-indent": "^1.0.0"
+                    }
+                },
+                "trim-newlines": {
+                    "version": "3.0.1",
+                    "resolved": "https://registry.nlark.com/trim-newlines/download/trim-newlines-3.0.1.tgz?cache=0&sync_timestamp=1623341510447&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftrim-newlines%2Fdownload%2Ftrim-newlines-3.0.1.tgz",
+                    "integrity": "sha1-Jgpdli2LdSQlsy86fbDcrNF2wUQ="
+                },
+                "yallist": {
+                    "version": "4.0.0",
+                    "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-4.0.0.tgz",
+                    "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI="
+                },
+                "yargs-parser": {
+                    "version": "20.2.7",
+                    "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-20.2.7.tgz",
+                    "integrity": "sha1-Yd+FwRPt+1p6TjbriqYO9CPLyQo="
+                }
+            }
+        },
+        "gitconfiglocal": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/gitconfiglocal/download/gitconfiglocal-1.0.0.tgz",
+            "integrity": "sha1-QdBF84UaXqiPA/JMocYXgRRGS5s=",
+            "requires": {
+                "ini": "^1.3.2"
+            }
+        },
+        "glob": {
+            "version": "7.1.6",
+            "resolved": "https://registry.npm.taobao.org/glob/download/glob-7.1.6.tgz",
+            "integrity": "sha1-FB8zuBp8JJLhJVlDB0gMRmeSeKY=",
+            "requires": {
+                "fs.realpath": "^1.0.0",
+                "inflight": "^1.0.4",
+                "inherits": "2",
+                "minimatch": "^3.0.4",
+                "once": "^1.3.0",
+                "path-is-absolute": "^1.0.0"
+            }
+        },
+        "glob-parent": {
+            "version": "5.1.1",
+            "resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-5.1.1.tgz",
+            "integrity": "sha1-tsHvQXxOVmPqSY8cRa+saRa7wik=",
+            "dev": true,
+            "optional": true,
+            "requires": {
+                "is-glob": "^4.0.1"
+            }
+        },
+        "global-dirs": {
+            "version": "0.1.1",
+            "resolved": "https://registry.nlark.com/global-dirs/download/global-dirs-0.1.1.tgz",
+            "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=",
+            "requires": {
+                "ini": "^1.3.4"
+            }
+        },
+        "globals": {
+            "version": "9.18.0",
+            "resolved": "https://registry.npm.taobao.org/globals/download/globals-9.18.0.tgz?cache=0&sync_timestamp=1603664378253&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobals%2Fdownload%2Fglobals-9.18.0.tgz",
+            "integrity": "sha1-qjiWs+abSH8X4x7SFD1pqOMMLYo=",
+            "dev": true
+        },
+        "globby": {
+            "version": "7.1.1",
+            "resolved": "https://registry.npm.taobao.org/globby/download/globby-7.1.1.tgz?cache=0&sync_timestamp=1591083812416&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglobby%2Fdownload%2Fglobby-7.1.1.tgz",
+            "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=",
+            "dev": true,
+            "requires": {
+                "array-union": "^1.0.1",
+                "dir-glob": "^2.0.0",
+                "glob": "^7.1.2",
+                "ignore": "^3.3.5",
+                "pify": "^3.0.0",
+                "slash": "^1.0.0"
+            }
+        },
+        "globule": {
+            "version": "1.3.2",
+            "resolved": "https://registry.npm.taobao.org/globule/download/globule-1.3.2.tgz",
+            "integrity": "sha1-2L3Z6eTu+PluJFmZpd7n612FKcQ=",
+            "dev": true,
+            "requires": {
+                "glob": "~7.1.1",
+                "lodash": "~4.17.10",
+                "minimatch": "~3.0.2"
+            }
+        },
+        "good-listener": {
+            "version": "1.2.2",
+            "resolved": "https://registry.npm.taobao.org/good-listener/download/good-listener-1.2.2.tgz",
+            "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=",
+            "requires": {
+                "delegate": "^3.1.2"
+            }
+        },
+        "graceful-fs": {
+            "version": "4.2.4",
+            "resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.4.tgz?cache=0&sync_timestamp=1589682809142&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fgraceful-fs%2Fdownload%2Fgraceful-fs-4.2.4.tgz",
+            "integrity": "sha1-Ila94U02MpWMRl68ltxGfKB6Kfs="
+        },
+        "growly": {
+            "version": "1.3.0",
+            "resolved": "https://registry.npm.taobao.org/growly/download/growly-1.3.0.tgz",
+            "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=",
+            "dev": true
+        },
+        "gsap": {
+            "version": "3.6.1",
+            "resolved": "https://registry.npm.taobao.org/gsap/download/gsap-3.6.1.tgz?cache=0&sync_timestamp=1616656374974&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fgsap%2Fdownload%2Fgsap-3.6.1.tgz",
+            "integrity": "sha1-YY8jOARNK3i4y87Y6ovyRtHPZAc="
+        },
+        "gzip-size": {
+            "version": "4.1.0",
+            "resolved": "https://registry.npm.taobao.org/gzip-size/download/gzip-size-4.1.0.tgz",
+            "integrity": "sha1-iuCWJX6r59acRb4rZ8RIEk/7UXw=",
+            "dev": true,
+            "requires": {
+                "duplexer": "^0.1.1",
+                "pify": "^3.0.0"
+            }
+        },
+        "hammerjs": {
+            "version": "2.0.8",
+            "resolved": "https://registry.npm.taobao.org/hammerjs/download/hammerjs-2.0.8.tgz",
+            "integrity": "sha1-BO93hiz/K7edMPdpIJWTAiK/YPE="
+        },
+        "handle-thing": {
+            "version": "2.0.1",
+            "resolved": "https://registry.npm.taobao.org/handle-thing/download/handle-thing-2.0.1.tgz",
+            "integrity": "sha1-hX95zjWVgMNA1DCBzGSJcNC7I04=",
+            "dev": true
+        },
+        "handlebars": {
+            "version": "4.7.7",
+            "resolved": "https://registry.npm.taobao.org/handlebars/download/handlebars-4.7.7.tgz?cache=0&sync_timestamp=1613385269284&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhandlebars%2Fdownload%2Fhandlebars-4.7.7.tgz",
+            "integrity": "sha1-nOM0FqrQLb1sj6+oJA1dmABJRaE=",
+            "requires": {
+                "minimist": "^1.2.5",
+                "neo-async": "^2.6.0",
+                "source-map": "^0.6.1",
+                "uglify-js": "^3.1.4",
+                "wordwrap": "^1.0.0"
+            },
+            "dependencies": {
+                "wordwrap": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.nlark.com/wordwrap/download/wordwrap-1.0.0.tgz",
+                    "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus="
+                }
+            }
+        },
+        "har-schema": {
+            "version": "2.0.0",
+            "resolved": "https://registry.nlark.com/har-schema/download/har-schema-2.0.0.tgz",
+            "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
+            "dev": true
+        },
+        "har-validator": {
+            "version": "5.1.5",
+            "resolved": "https://registry.nlark.com/har-validator/download/har-validator-5.1.5.tgz",
+            "integrity": "sha1-HwgDufjLIMD6E4It8ezds2veHv0=",
+            "dev": true,
+            "requires": {
+                "ajv": "^6.12.3",
+                "har-schema": "^2.0.0"
+            },
+            "dependencies": {
+                "ajv": {
+                    "version": "6.12.6",
+                    "resolved": "https://registry.nlark.com/ajv/download/ajv-6.12.6.tgz?cache=0&sync_timestamp=1622991493844&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fajv%2Fdownload%2Fajv-6.12.6.tgz",
+                    "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=",
+                    "dev": true,
+                    "requires": {
+                        "fast-deep-equal": "^3.1.1",
+                        "fast-json-stable-stringify": "^2.0.0",
+                        "json-schema-traverse": "^0.4.1",
+                        "uri-js": "^4.2.2"
+                    }
+                },
+                "fast-deep-equal": {
+                    "version": "3.1.3",
+                    "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz",
+                    "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=",
+                    "dev": true
+                },
+                "json-schema-traverse": {
+                    "version": "0.4.1",
+                    "resolved": "https://registry.nlark.com/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz",
+                    "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=",
+                    "dev": true
+                }
+            }
+        },
+        "hard-rejection": {
+            "version": "2.1.0",
+            "resolved": "https://registry.npm.taobao.org/hard-rejection/download/hard-rejection-2.1.0.tgz",
+            "integrity": "sha1-HG7aXBaFxjlCdm15u0Cudzzs2IM="
+        },
+        "has": {
+            "version": "1.0.3",
+            "resolved": "https://registry.npm.taobao.org/has/download/has-1.0.3.tgz",
+            "integrity": "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=",
+            "requires": {
+                "function-bind": "^1.1.1"
+            }
+        },
+        "has-ansi": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npm.taobao.org/has-ansi/download/has-ansi-2.0.0.tgz",
+            "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+            "dev": true,
+            "requires": {
+                "ansi-regex": "^2.0.0"
+            }
+        },
+        "has-flag": {
+            "version": "3.0.0",
+            "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz",
+            "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
+        },
+        "has-symbols": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.1.tgz",
+            "integrity": "sha1-n1IUdYpEGWxAbZvXbOv4HsLdMeg=",
+            "dev": true
+        },
+        "has-unicode": {
+            "version": "2.0.1",
+            "resolved": "https://registry.nlark.com/has-unicode/download/has-unicode-2.0.1.tgz",
+            "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk="
+        },
+        "has-value": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/has-value/download/has-value-1.0.0.tgz",
+            "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
+            "dev": true,
+            "requires": {
+                "get-value": "^2.0.6",
+                "has-values": "^1.0.0",
+                "isobject": "^3.0.0"
+            }
+        },
+        "has-values": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/has-values/download/has-values-1.0.0.tgz",
+            "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
+            "dev": true,
+            "requires": {
+                "is-number": "^3.0.0",
+                "kind-of": "^4.0.0"
+            },
+            "dependencies": {
+                "is-number": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz",
+                    "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+                    "dev": true,
+                    "requires": {
+                        "kind-of": "^3.0.2"
+                    },
+                    "dependencies": {
+                        "kind-of": {
+                            "version": "3.2.2",
+                            "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
+                            "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+                            "dev": true,
+                            "requires": {
+                                "is-buffer": "^1.1.5"
+                            }
+                        }
+                    }
+                },
+                "kind-of": {
+                    "version": "4.0.0",
+                    "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-4.0.0.tgz",
+                    "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+                    "dev": true,
+                    "requires": {
+                        "is-buffer": "^1.1.5"
+                    }
+                }
+            }
+        },
+        "hash-base": {
+            "version": "3.1.0",
+            "resolved": "https://registry.npm.taobao.org/hash-base/download/hash-base-3.1.0.tgz",
+            "integrity": "sha1-VcOB2eBuHSmXqIO0o/3f5/DTrzM=",
+            "dev": true,
+            "requires": {
+                "inherits": "^2.0.4",
+                "readable-stream": "^3.6.0",
+                "safe-buffer": "^5.2.0"
+            },
+            "dependencies": {
+                "readable-stream": {
+                    "version": "3.6.0",
+                    "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz?cache=0&sync_timestamp=1589682741447&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-3.6.0.tgz",
+                    "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=",
+                    "dev": true,
+                    "requires": {
+                        "inherits": "^2.0.3",
+                        "string_decoder": "^1.1.1",
+                        "util-deprecate": "^1.0.1"
+                    }
+                },
+                "safe-buffer": {
+                    "version": "5.2.1",
+                    "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.1.tgz?cache=0&sync_timestamp=1589682795646&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsafe-buffer%2Fdownload%2Fsafe-buffer-5.2.1.tgz",
+                    "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=",
+                    "dev": true
+                }
+            }
+        },
+        "hash-sum": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npm.taobao.org/hash-sum/download/hash-sum-1.0.2.tgz",
+            "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=",
+            "dev": true
+        },
+        "hash.js": {
+            "version": "1.1.7",
+            "resolved": "https://registry.npm.taobao.org/hash.js/download/hash.js-1.1.7.tgz",
+            "integrity": "sha1-C6vKU46NTuSg+JiNaIZlN6ADz0I=",
+            "dev": true,
+            "requires": {
+                "inherits": "^2.0.3",
+                "minimalistic-assert": "^1.0.1"
+            }
+        },
+        "he": {
+            "version": "1.2.0",
+            "resolved": "https://registry.npm.taobao.org/he/download/he-1.2.0.tgz?cache=0&sync_timestamp=1589682765156&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhe%2Fdownload%2Fhe-1.2.0.tgz",
+            "integrity": "sha1-hK5l+n6vsWX922FWauFLrwVmTw8=",
+            "dev": true
+        },
+        "hex-color-regex": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npm.taobao.org/hex-color-regex/download/hex-color-regex-1.1.0.tgz",
+            "integrity": "sha1-TAb8y0YC/iYCs8k9+C1+fb8aio4=",
+            "dev": true
+        },
+        "hmac-drbg": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/hmac-drbg/download/hmac-drbg-1.0.1.tgz",
+            "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
+            "dev": true,
+            "requires": {
+                "hash.js": "^1.0.3",
+                "minimalistic-assert": "^1.0.0",
+                "minimalistic-crypto-utils": "^1.0.1"
+            }
+        },
+        "home-or-tmp": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npm.taobao.org/home-or-tmp/download/home-or-tmp-2.0.0.tgz",
+            "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=",
+            "dev": true,
+            "requires": {
+                "os-homedir": "^1.0.0",
+                "os-tmpdir": "^1.0.1"
+            }
+        },
+        "hosted-git-info": {
+            "version": "2.8.8",
+            "resolved": "https://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.8.8.tgz?cache=0&sync_timestamp=1602803832496&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhosted-git-info%2Fdownload%2Fhosted-git-info-2.8.8.tgz",
+            "integrity": "sha1-dTm9S8Hg4KiVgVouAmJCCxKFhIg="
+        },
+        "hpack.js": {
+            "version": "2.1.6",
+            "resolved": "https://registry.npm.taobao.org/hpack.js/download/hpack.js-2.1.6.tgz",
+            "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=",
+            "dev": true,
+            "requires": {
+                "inherits": "^2.0.1",
+                "obuf": "^1.0.0",
+                "readable-stream": "^2.0.1",
+                "wbuf": "^1.1.0"
+            }
+        },
+        "hsl-regex": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/hsl-regex/download/hsl-regex-1.0.0.tgz",
+            "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=",
+            "dev": true
+        },
+        "hsla-regex": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/hsla-regex/download/hsla-regex-1.0.0.tgz",
+            "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=",
+            "dev": true
+        },
+        "html-comment-regex": {
+            "version": "1.1.2",
+            "resolved": "https://registry.npm.taobao.org/html-comment-regex/download/html-comment-regex-1.1.2.tgz",
+            "integrity": "sha1-l9RoiutcgYhqNk+qDK0d2hTUM6c=",
+            "dev": true
+        },
+        "html-entities": {
+            "version": "1.3.1",
+            "resolved": "https://registry.npm.taobao.org/html-entities/download/html-entities-1.3.1.tgz",
+            "integrity": "sha1-+5oaS1sUxdq6gtPjTGrk/nAaDkQ=",
+            "dev": true
+        },
+        "html-minifier": {
+            "version": "3.5.21",
+            "resolved": "https://registry.npm.taobao.org/html-minifier/download/html-minifier-3.5.21.tgz",
+            "integrity": "sha1-0AQOBUcw41TbAIRjWTGUAVIS0gw=",
+            "dev": true,
+            "requires": {
+                "camel-case": "3.0.x",
+                "clean-css": "4.2.x",
+                "commander": "2.17.x",
+                "he": "1.2.x",
+                "param-case": "2.1.x",
+                "relateurl": "0.2.x",
+                "uglify-js": "3.4.x"
+            }
+        },
+        "html-webpack-plugin": {
+            "version": "2.30.1",
+            "resolved": "https://registry.npm.taobao.org/html-webpack-plugin/download/html-webpack-plugin-2.30.1.tgz?cache=0&sync_timestamp=1604303597686&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhtml-webpack-plugin%2Fdownload%2Fhtml-webpack-plugin-2.30.1.tgz",
+            "integrity": "sha1-f5xCG36pHsRg9WUn1430hO51N9U=",
+            "dev": true,
+            "requires": {
+                "bluebird": "^3.4.7",
+                "html-minifier": "^3.2.3",
+                "loader-utils": "^0.2.16",
+                "lodash": "^4.17.3",
+                "pretty-error": "^2.0.2",
+                "toposort": "^1.0.0"
+            },
+            "dependencies": {
+                "big.js": {
+                    "version": "3.2.0",
+                    "resolved": "https://registry.npm.taobao.org/big.js/download/big.js-3.2.0.tgz",
+                    "integrity": "sha1-pfwpi4G54Nyi5FiCR4S2XFK6WI4=",
+                    "dev": true
+                },
+                "emojis-list": {
+                    "version": "2.1.0",
+                    "resolved": "https://registry.npm.taobao.org/emojis-list/download/emojis-list-2.1.0.tgz",
+                    "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
+                    "dev": true
+                },
+                "loader-utils": {
+                    "version": "0.2.17",
+                    "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-0.2.17.tgz",
+                    "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
+                    "dev": true,
+                    "requires": {
+                        "big.js": "^3.1.3",
+                        "emojis-list": "^2.0.0",
+                        "json5": "^0.5.0",
+                        "object-assign": "^4.0.1"
+                    }
+                }
+            }
+        },
+        "htmlparser2": {
+            "version": "3.10.1",
+            "resolved": "https://registry.npm.taobao.org/htmlparser2/download/htmlparser2-3.10.1.tgz?cache=0&sync_timestamp=1603668161350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhtmlparser2%2Fdownload%2Fhtmlparser2-3.10.1.tgz",
+            "integrity": "sha1-vWedw/WYl7ajS7EHSchVu1OpOS8=",
+            "dev": true,
+            "requires": {
+                "domelementtype": "^1.3.1",
+                "domhandler": "^2.3.0",
+                "domutils": "^1.5.1",
+                "entities": "^1.1.1",
+                "inherits": "^2.0.1",
+                "readable-stream": "^3.1.1"
+            },
+            "dependencies": {
+                "entities": {
+                    "version": "1.1.2",
+                    "resolved": "https://registry.npm.taobao.org/entities/download/entities-1.1.2.tgz?cache=0&sync_timestamp=1602897029273&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fentities%2Fdownload%2Fentities-1.1.2.tgz",
+                    "integrity": "sha1-vfpzUplmTfr9NFKe1PhSKidf6lY=",
+                    "dev": true
+                },
+                "readable-stream": {
+                    "version": "3.6.0",
+                    "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz?cache=0&sync_timestamp=1589682741447&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-3.6.0.tgz",
+                    "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=",
+                    "dev": true,
+                    "requires": {
+                        "inherits": "^2.0.3",
+                        "string_decoder": "^1.1.1",
+                        "util-deprecate": "^1.0.1"
+                    }
+                }
+            }
+        },
+        "http-deceiver": {
+            "version": "1.2.7",
+            "resolved": "https://registry.npm.taobao.org/http-deceiver/download/http-deceiver-1.2.7.tgz",
+            "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=",
+            "dev": true
+        },
+        "http-errors": {
+            "version": "1.7.2",
+            "resolved": "https://registry.npm.taobao.org/http-errors/download/http-errors-1.7.2.tgz?cache=0&sync_timestamp=1593407858306&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-errors%2Fdownload%2Fhttp-errors-1.7.2.tgz",
+            "integrity": "sha1-T1ApzxMjnzEDblsuVSkrz7zIXI8=",
+            "dev": true,
+            "requires": {
+                "depd": "~1.1.2",
+                "inherits": "2.0.3",
+                "setprototypeof": "1.1.1",
+                "statuses": ">= 1.5.0 < 2",
+                "toidentifier": "1.0.0"
+            },
+            "dependencies": {
+                "inherits": {
+                    "version": "2.0.3",
+                    "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz",
+                    "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+                    "dev": true
+                }
+            }
+        },
+        "http-parser-js": {
+            "version": "0.5.2",
+            "resolved": "https://registry.npm.taobao.org/http-parser-js/download/http-parser-js-0.5.2.tgz",
+            "integrity": "sha1-2i4x0jezk6rnKs5DiC3X4nCo/3c=",
+            "dev": true
+        },
+        "http-proxy": {
+            "version": "1.18.1",
+            "resolved": "https://registry.npm.taobao.org/http-proxy/download/http-proxy-1.18.1.tgz",
+            "integrity": "sha1-QBVB8FNIhLv5UmAzTnL4juOXZUk=",
+            "dev": true,
+            "requires": {
+                "eventemitter3": "^4.0.0",
+                "follow-redirects": "^1.0.0",
+                "requires-port": "^1.0.0"
+            }
+        },
+        "http-proxy-middleware": {
+            "version": "0.19.2",
+            "resolved": "https://registry.npm.taobao.org/http-proxy-middleware/download/http-proxy-middleware-0.19.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-proxy-middleware%2Fdownload%2Fhttp-proxy-middleware-0.19.2.tgz",
+            "integrity": "sha1-7nPcyDSBZa/v6N4v9xd1HRgWCO4=",
+            "dev": true,
+            "requires": {
+                "http-proxy": "^1.18.1",
+                "is-glob": "^4.0.0",
+                "lodash": "^4.17.11",
+                "micromatch": "^3.1.10"
+            }
+        },
+        "http-signature": {
+            "version": "1.2.0",
+            "resolved": "https://registry.nlark.com/http-signature/download/http-signature-1.2.0.tgz",
+            "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
+            "dev": true,
+            "requires": {
+                "assert-plus": "^1.0.0",
+                "jsprim": "^1.2.2",
+                "sshpk": "^1.7.0"
+            }
+        },
+        "https-browserify": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/https-browserify/download/https-browserify-1.0.0.tgz",
+            "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
+            "dev": true
+        },
+        "https-proxy-agent": {
+            "version": "5.0.0",
+            "resolved": "https://registry.nlark.com/https-proxy-agent/download/https-proxy-agent-5.0.0.tgz",
+            "integrity": "sha1-4qkFQqu2inYuCghQ9sntrf2FBrI=",
+            "requires": {
+                "agent-base": "6",
+                "debug": "4"
+            },
+            "dependencies": {
+                "debug": {
+                    "version": "4.3.1",
+                    "resolved": "https://registry.nlark.com/debug/download/debug-4.3.1.tgz?cache=0&sync_timestamp=1618847042350&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdebug%2Fdownload%2Fdebug-4.3.1.tgz",
+                    "integrity": "sha1-8NIpxQXgxtjEmsVT0bE9wYP2su4=",
+                    "requires": {
+                        "ms": "2.1.2"
+                    }
+                },
+                "ms": {
+                    "version": "2.1.2",
+                    "resolved": "https://registry.nlark.com/ms/download/ms-2.1.2.tgz",
+                    "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk="
+                }
+            }
+        },
+        "iconv-lite": {
+            "version": "0.4.24",
+            "resolved": "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.24.tgz",
+            "integrity": "sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=",
+            "dev": true,
+            "requires": {
+                "safer-buffer": ">= 2.1.2 < 3"
+            }
+        },
+        "icss-replace-symbols": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npm.taobao.org/icss-replace-symbols/download/icss-replace-symbols-1.1.0.tgz",
+            "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=",
+            "dev": true
+        },
+        "icss-utils": {
+            "version": "2.1.0",
+            "resolved": "https://registry.npm.taobao.org/icss-utils/download/icss-utils-2.1.0.tgz?cache=0&sync_timestamp=1602526927264&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ficss-utils%2Fdownload%2Ficss-utils-2.1.0.tgz",
+            "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=",
+            "dev": true,
+            "requires": {
+                "postcss": "^6.0.1"
+            }
+        },
+        "ieee754": {
+            "version": "1.2.1",
+            "resolved": "https://registry.npm.taobao.org/ieee754/download/ieee754-1.2.1.tgz?cache=0&sync_timestamp=1603838208740&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fieee754%2Fdownload%2Fieee754-1.2.1.tgz",
+            "integrity": "sha1-jrehCmP/8l0VpXsAFYbRd9Gw01I="
+        },
+        "iferr": {
+            "version": "0.1.5",
+            "resolved": "https://registry.npm.taobao.org/iferr/download/iferr-0.1.5.tgz",
+            "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=",
+            "dev": true
+        },
+        "ignore": {
+            "version": "3.3.10",
+            "resolved": "https://registry.npm.taobao.org/ignore/download/ignore-3.3.10.tgz",
+            "integrity": "sha1-Cpf7h2mG6AgcYxFg+PnziRV/AEM=",
+            "dev": true
+        },
+        "image-size": {
+            "version": "0.5.5",
+            "resolved": "https://registry.npm.taobao.org/image-size/download/image-size-0.5.5.tgz?cache=0&sync_timestamp=1603729042810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fimage-size%2Fdownload%2Fimage-size-0.5.5.tgz",
+            "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=",
+            "dev": true,
+            "optional": true
+        },
+        "import-cwd": {
+            "version": "2.1.0",
+            "resolved": "https://registry.npm.taobao.org/import-cwd/download/import-cwd-2.1.0.tgz",
+            "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=",
+            "dev": true,
+            "requires": {
+                "import-from": "^2.1.0"
+            }
+        },
+        "import-fresh": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npm.taobao.org/import-fresh/download/import-fresh-2.0.0.tgz?cache=0&sync_timestamp=1604255662987&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fimport-fresh%2Fdownload%2Fimport-fresh-2.0.0.tgz",
+            "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=",
+            "requires": {
+                "caller-path": "^2.0.0",
+                "resolve-from": "^3.0.0"
+            }
+        },
+        "import-from": {
+            "version": "2.1.0",
+            "resolved": "https://registry.npm.taobao.org/import-from/download/import-from-2.1.0.tgz",
+            "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=",
+            "dev": true,
+            "requires": {
+                "resolve-from": "^3.0.0"
+            }
+        },
+        "import-local": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/import-local/download/import-local-1.0.0.tgz",
+            "integrity": "sha1-Xk/9wD9P5sAJxnKb6yljHC+CJ7w=",
+            "dev": true,
+            "requires": {
+                "pkg-dir": "^2.0.0",
+                "resolve-cwd": "^2.0.0"
+            }
+        },
+        "imurmurhash": {
+            "version": "0.1.4",
+            "resolved": "https://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz",
+            "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
+            "dev": true
+        },
+        "indent-string": {
+            "version": "2.1.0",
+            "resolved": "https://registry.npm.taobao.org/indent-string/download/indent-string-2.1.0.tgz",
+            "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
+            "requires": {
+                "repeating": "^2.0.0"
+            }
+        },
+        "indexes-of": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/indexes-of/download/indexes-of-1.0.1.tgz",
+            "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=",
+            "dev": true
+        },
+        "inflight": {
+            "version": "1.0.6",
+            "resolved": "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz",
+            "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+            "requires": {
+                "once": "^1.3.0",
+                "wrappy": "1"
+            }
+        },
+        "inherits": {
+            "version": "2.0.4",
+            "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.4.tgz",
+            "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w="
+        },
+        "ini": {
+            "version": "1.3.8",
+            "resolved": "https://registry.nlark.com/ini/download/ini-1.3.8.tgz",
+            "integrity": "sha1-op2kJbSIBvNHZ6Tvzjlyaa8oQyw="
+        },
+        "internal-ip": {
+            "version": "1.2.0",
+            "resolved": "https://registry.npm.taobao.org/internal-ip/download/internal-ip-1.2.0.tgz?cache=0&sync_timestamp=1596563037835&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finternal-ip%2Fdownload%2Finternal-ip-1.2.0.tgz",
+            "integrity": "sha1-rp+/k7mEh4eF1QqN4bNWlWBYz1w=",
+            "dev": true,
+            "requires": {
+                "meow": "^3.3.0"
+            }
+        },
+        "interpret": {
+            "version": "1.4.0",
+            "resolved": "https://registry.npm.taobao.org/interpret/download/interpret-1.4.0.tgz",
+            "integrity": "sha1-Zlq4vE2iendKQFhOgS4+D6RbGh4="
+        },
+        "invariant": {
+            "version": "2.2.4",
+            "resolved": "https://registry.npm.taobao.org/invariant/download/invariant-2.2.4.tgz",
+            "integrity": "sha1-YQ88ksk1nOHbYW5TgAjSP/NRWOY=",
+            "dev": true,
+            "requires": {
+                "loose-envify": "^1.0.0"
+            }
+        },
+        "invert-kv": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/invert-kv/download/invert-kv-1.0.0.tgz",
+            "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
+            "dev": true
+        },
+        "ip": {
+            "version": "1.1.5",
+            "resolved": "https://registry.npm.taobao.org/ip/download/ip-1.1.5.tgz",
+            "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
+            "dev": true
+        },
+        "ipaddr.js": {
+            "version": "1.9.1",
+            "resolved": "https://registry.npm.taobao.org/ipaddr.js/download/ipaddr.js-1.9.1.tgz",
+            "integrity": "sha1-v/OFQ+64mEglB5/zoqjmy9RngbM=",
+            "dev": true
+        },
+        "is-absolute-url": {
+            "version": "2.1.0",
+            "resolved": "https://registry.npm.taobao.org/is-absolute-url/download/is-absolute-url-2.1.0.tgz",
+            "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=",
+            "dev": true
+        },
+        "is-accessor-descriptor": {
+            "version": "0.1.6",
+            "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz",
+            "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+            "dev": true,
+            "requires": {
+                "kind-of": "^3.0.2"
+            }
+        },
+        "is-arguments": {
+            "version": "1.0.4",
+            "resolved": "https://registry.npm.taobao.org/is-arguments/download/is-arguments-1.0.4.tgz",
+            "integrity": "sha1-P6+WbHy6D/Q3+zH2JQCC/PBEjPM=",
+            "dev": true
+        },
+        "is-arrayish": {
+            "version": "0.2.1",
+            "resolved": "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz",
+            "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0="
+        },
+        "is-binary-path": {
+            "version": "2.1.0",
+            "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-2.1.0.tgz",
+            "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=",
+            "dev": true,
+            "optional": true,
+            "requires": {
+                "binary-extensions": "^2.0.0"
+            }
+        },
+        "is-buffer": {
+            "version": "1.1.6",
+            "resolved": "https://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz?cache=0&sync_timestamp=1604429452232&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-buffer%2Fdownload%2Fis-buffer-1.1.6.tgz",
+            "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=",
+            "dev": true
+        },
+        "is-callable": {
+            "version": "1.2.2",
+            "resolved": "https://registry.npm.taobao.org/is-callable/download/is-callable-1.2.2.tgz?cache=0&sync_timestamp=1600719276620&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-callable%2Fdownload%2Fis-callable-1.2.2.tgz",
+            "integrity": "sha1-x8ZxXNItTdtI0+GZcCI6zquwgNk=",
+            "dev": true
+        },
+        "is-color-stop": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npm.taobao.org/is-color-stop/download/is-color-stop-1.1.0.tgz",
+            "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=",
+            "dev": true,
+            "requires": {
+                "css-color-names": "^0.0.4",
+                "hex-color-regex": "^1.1.0",
+                "hsl-regex": "^1.0.0",
+                "hsla-regex": "^1.0.0",
+                "rgb-regex": "^1.0.1",
+                "rgba-regex": "^1.0.0"
+            }
+        },
+        "is-core-module": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npm.taobao.org/is-core-module/download/is-core-module-2.0.0.tgz?cache=0&sync_timestamp=1603133391687&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-core-module%2Fdownload%2Fis-core-module-2.0.0.tgz",
+            "integrity": "sha1-WFMbcK7R23wOjU6xoKLR3dZL0S0=",
+            "requires": {
+                "has": "^1.0.3"
+            }
+        },
+        "is-data-descriptor": {
+            "version": "0.1.4",
+            "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz",
+            "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+            "dev": true,
+            "requires": {
+                "kind-of": "^3.0.2"
+            }
+        },
+        "is-date-object": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npm.taobao.org/is-date-object/download/is-date-object-1.0.2.tgz",
+            "integrity": "sha1-vac28s2P0G0yhE53Q7+nSUw7/X4=",
+            "dev": true
+        },
+        "is-descriptor": {
+            "version": "0.1.6",
+            "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-0.1.6.tgz",
+            "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=",
+            "dev": true,
+            "requires": {
+                "is-accessor-descriptor": "^0.1.6",
+                "is-data-descriptor": "^0.1.4",
+                "kind-of": "^5.0.0"
+            },
+            "dependencies": {
+                "kind-of": {
+                    "version": "5.1.0",
+                    "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-5.1.0.tgz",
+                    "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=",
+                    "dev": true
+                }
+            }
+        },
+        "is-directory": {
+            "version": "0.3.1",
+            "resolved": "https://registry.npm.taobao.org/is-directory/download/is-directory-0.3.1.tgz",
+            "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE="
+        },
+        "is-extendable": {
+            "version": "0.1.1",
+            "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz",
+            "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
+            "dev": true
+        },
+        "is-extglob": {
+            "version": "2.1.1",
+            "resolved": "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz",
+            "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+            "dev": true
+        },
+        "is-finite": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npm.taobao.org/is-finite/download/is-finite-1.1.0.tgz",
+            "integrity": "sha1-kEE1x3+0LAZB1qobzbxNqo2ggvM="
+        },
+        "is-fullwidth-code-point": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz",
+            "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8="
+        },
+        "is-glob": {
+            "version": "4.0.1",
+            "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz",
+            "integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=",
+            "dev": true,
+            "requires": {
+                "is-extglob": "^2.1.1"
+            }
+        },
+        "is-negative-zero": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npm.taobao.org/is-negative-zero/download/is-negative-zero-2.0.0.tgz",
+            "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=",
+            "dev": true
+        },
+        "is-number": {
+            "version": "7.0.0",
+            "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz",
+            "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=",
+            "dev": true,
+            "optional": true
+        },
+        "is-obj": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npm.taobao.org/is-obj/download/is-obj-2.0.0.tgz",
+            "integrity": "sha1-Rz+wXZc3BeP9liBUUBjKjiLvSYI="
+        },
+        "is-path-cwd": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/is-path-cwd/download/is-path-cwd-1.0.0.tgz",
+            "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=",
+            "dev": true
+        },
+        "is-path-in-cwd": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/is-path-in-cwd/download/is-path-in-cwd-1.0.1.tgz",
+            "integrity": "sha1-WsSLNF72dTOb1sekipEhELJBz1I=",
+            "dev": true,
+            "requires": {
+                "is-path-inside": "^1.0.0"
+            }
+        },
+        "is-path-inside": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/is-path-inside/download/is-path-inside-1.0.1.tgz",
+            "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
+            "dev": true,
+            "requires": {
+                "path-is-inside": "^1.0.1"
+            }
+        },
+        "is-plain-obj": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npm.taobao.org/is-plain-obj/download/is-plain-obj-1.1.0.tgz?cache=0&sync_timestamp=1602541451286&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-plain-obj%2Fdownload%2Fis-plain-obj-1.1.0.tgz",
+            "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4="
+        },
+        "is-plain-object": {
+            "version": "2.0.4",
+            "resolved": "https://registry.npm.taobao.org/is-plain-object/download/is-plain-object-2.0.4.tgz",
+            "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=",
+            "dev": true,
+            "requires": {
+                "isobject": "^3.0.1"
+            }
+        },
+        "is-regex": {
+            "version": "1.1.1",
+            "resolved": "https://registry.npm.taobao.org/is-regex/download/is-regex-1.1.1.tgz?cache=0&sync_timestamp=1596555640677&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-regex%2Fdownload%2Fis-regex-1.1.1.tgz",
+            "integrity": "sha1-xvmKrMVG9s7FRooHt7FTq1ZKV7k=",
+            "dev": true,
+            "requires": {
+                "has-symbols": "^1.0.1"
+            }
+        },
+        "is-resolvable": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npm.taobao.org/is-resolvable/download/is-resolvable-1.1.0.tgz",
+            "integrity": "sha1-+xj4fOH+uSUWnJpAfBkxijIG7Yg=",
+            "dev": true
+        },
+        "is-stream": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npm.taobao.org/is-stream/download/is-stream-1.1.0.tgz",
+            "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
+            "dev": true
+        },
+        "is-string": {
+            "version": "1.0.5",
+            "resolved": "https://registry.npm.taobao.org/is-string/download/is-string-1.0.5.tgz",
+            "integrity": "sha1-QEk+0ZjvP/R3uMf5L2ROyCpc06Y=",
+            "dev": true
+        },
+        "is-svg": {
+            "version": "2.1.0",
+            "resolved": "https://registry.npm.taobao.org/is-svg/download/is-svg-2.1.0.tgz",
+            "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=",
+            "dev": true,
+            "requires": {
+                "html-comment-regex": "^1.1.0"
+            }
+        },
+        "is-symbol": {
+            "version": "1.0.3",
+            "resolved": "https://registry.npm.taobao.org/is-symbol/download/is-symbol-1.0.3.tgz",
+            "integrity": "sha1-OOEBS55jKb4N6dJKQU/XRB7GGTc=",
+            "dev": true,
+            "requires": {
+                "has-symbols": "^1.0.1"
+            }
+        },
+        "is-text-path": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/is-text-path/download/is-text-path-1.0.1.tgz",
+            "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=",
+            "requires": {
+                "text-extensions": "^1.0.0"
+            }
+        },
+        "is-typedarray": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz",
+            "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
+            "dev": true
+        },
+        "is-utf8": {
+            "version": "0.2.1",
+            "resolved": "https://registry.npm.taobao.org/is-utf8/download/is-utf8-0.2.1.tgz",
+            "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI="
+        },
+        "is-windows": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npm.taobao.org/is-windows/download/is-windows-1.0.2.tgz",
+            "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=",
+            "dev": true
+        },
+        "is-wsl": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npm.taobao.org/is-wsl/download/is-wsl-1.1.0.tgz",
+            "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=",
+            "dev": true
+        },
+        "isarray": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz",
+            "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
+        },
+        "isexe": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz",
+            "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
+            "dev": true
+        },
+        "isobject": {
+            "version": "3.0.1",
+            "resolved": "https://registry.npm.taobao.org/isobject/download/isobject-3.0.1.tgz",
+            "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+            "dev": true
+        },
+        "isstream": {
+            "version": "0.1.2",
+            "resolved": "https://registry.nlark.com/isstream/download/isstream-0.1.2.tgz",
+            "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
+            "dev": true
+        },
+        "istanbul-lib-coverage": {
+            "version": "3.0.0",
+            "resolved": "https://registry.nlark.com/istanbul-lib-coverage/download/istanbul-lib-coverage-3.0.0.tgz",
+            "integrity": "sha1-9ZRKN8cLVQsCp4pcOyBVsoDOyOw="
+        },
+        "istanbul-lib-instrument": {
+            "version": "4.0.3",
+            "resolved": "https://registry.nlark.com/istanbul-lib-instrument/download/istanbul-lib-instrument-4.0.3.tgz",
+            "integrity": "sha1-hzxv/4l0UBGCIndGlqPyiQLXfB0=",
+            "requires": {
+                "@babel/core": "^7.7.5",
+                "@istanbuljs/schema": "^0.1.2",
+                "istanbul-lib-coverage": "^3.0.0",
+                "semver": "^6.3.0"
+            },
+            "dependencies": {
+                "semver": {
+                    "version": "6.3.0",
+                    "resolved": "https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1618847119601&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz",
+                    "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0="
+                }
+            }
+        },
+        "js-base64": {
+            "version": "2.6.4",
+            "resolved": "https://registry.npm.taobao.org/js-base64/download/js-base64-2.6.4.tgz?cache=0&sync_timestamp=1604450326544&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-base64%2Fdownload%2Fjs-base64-2.6.4.tgz",
+            "integrity": "sha1-9OaGxd4eofhn28rT1G2WlCjfmMQ=",
+            "dev": true
+        },
+        "js-binary-schema-parser": {
+            "version": "2.0.2",
+            "resolved": "https://registry.nlark.com/js-binary-schema-parser/download/js-binary-schema-parser-2.0.2.tgz",
+            "integrity": "sha1-j+wRVha/6RxsQH8e8rWCl7EUcpk="
+        },
+        "js-md5": {
+            "version": "0.7.3",
+            "resolved": "https://registry.nlark.com/js-md5/download/js-md5-0.7.3.tgz",
+            "integrity": "sha1-tPL7sLMnRV9ZjWcn447Ccs0Jw/I="
+        },
+        "js-tokens": {
+            "version": "3.0.2",
+            "resolved": "https://registry.npm.taobao.org/js-tokens/download/js-tokens-3.0.2.tgz",
+            "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
+            "dev": true
+        },
+        "js-yaml": {
+            "version": "3.7.0",
+            "resolved": "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.7.0.tgz",
+            "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=",
+            "dev": true,
+            "requires": {
+                "argparse": "^1.0.7",
+                "esprima": "^2.6.0"
+            }
+        },
+        "jsbn": {
+            "version": "0.1.1",
+            "resolved": "https://registry.nlark.com/jsbn/download/jsbn-0.1.1.tgz",
+            "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
+            "dev": true
+        },
+        "jsesc": {
+            "version": "1.3.0",
+            "resolved": "https://registry.npm.taobao.org/jsesc/download/jsesc-1.3.0.tgz?cache=0&sync_timestamp=1603891232110&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsesc%2Fdownload%2Fjsesc-1.3.0.tgz",
+            "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=",
+            "dev": true
+        },
+        "json-loader": {
+            "version": "0.5.7",
+            "resolved": "https://registry.npm.taobao.org/json-loader/download/json-loader-0.5.7.tgz",
+            "integrity": "sha1-3KFKcCNf+C8KyaOr62DTN6NlGF0=",
+            "dev": true
+        },
+        "json-parse-better-errors": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npm.taobao.org/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz",
+            "integrity": "sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk="
+        },
+        "json-parse-even-better-errors": {
+            "version": "2.3.1",
+            "resolved": "https://registry.npm.taobao.org/json-parse-even-better-errors/download/json-parse-even-better-errors-2.3.1.tgz",
+            "integrity": "sha1-fEeAWpQxmSjgV3dAXcEuH3pO4C0="
+        },
+        "json-schema": {
+            "version": "0.2.3",
+            "resolved": "https://registry.npm.taobao.org/json-schema/download/json-schema-0.2.3.tgz?cache=0&sync_timestamp=1609553637722&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema%2Fdownload%2Fjson-schema-0.2.3.tgz",
+            "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
+            "dev": true
+        },
+        "json-schema-traverse": {
+            "version": "0.3.1",
+            "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.3.1.tgz?cache=0&sync_timestamp=1599333856086&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema-traverse%2Fdownload%2Fjson-schema-traverse-0.3.1.tgz",
+            "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
+            "dev": true
+        },
+        "json-stringify-safe": {
+            "version": "5.0.1",
+            "resolved": "https://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz",
+            "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
+        },
+        "json3": {
+            "version": "3.3.3",
+            "resolved": "https://registry.npm.taobao.org/json3/download/json3-3.3.3.tgz",
+            "integrity": "sha1-f8EON1/FrkLEcFpcwKpvYr4wW4E=",
+            "dev": true
+        },
+        "json5": {
+            "version": "0.5.1",
+            "resolved": "https://registry.npm.taobao.org/json5/download/json5-0.5.1.tgz",
+            "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
+            "dev": true
+        },
+        "jsonparse": {
+            "version": "1.3.1",
+            "resolved": "https://registry.npm.taobao.org/jsonparse/download/jsonparse-1.3.1.tgz",
+            "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA="
+        },
+        "jsprim": {
+            "version": "1.4.1",
+            "resolved": "https://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz",
+            "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
+            "dev": true,
+            "requires": {
+                "assert-plus": "1.0.0",
+                "extsprintf": "1.3.0",
+                "json-schema": "0.2.3",
+                "verror": "1.10.0"
+            }
+        },
+        "jwt-decode": {
+            "version": "3.1.2",
+            "resolved": "https://registry.npm.taobao.org/jwt-decode/download/jwt-decode-3.1.2.tgz",
+            "integrity": "sha1-P7MZ82daLfDCiVyPXp+ktnsE7Vk="
+        },
+        "killable": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/killable/download/killable-1.0.1.tgz",
+            "integrity": "sha1-TIzkQRh6Bhx0dPuHygjipjgZSJI=",
+            "dev": true
+        },
+        "kind-of": {
+            "version": "3.2.2",
+            "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
+            "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+            "dev": true,
+            "requires": {
+                "is-buffer": "^1.1.5"
+            }
+        },
+        "klona": {
+            "version": "2.0.4",
+            "resolved": "https://registry.npm.taobao.org/klona/download/klona-2.0.4.tgz",
+            "integrity": "sha1-e7Hjr/sMuGJFR+9+j2cI6i4538A=",
+            "dev": true
+        },
+        "last-call-webpack-plugin": {
+            "version": "2.1.2",
+            "resolved": "https://registry.npm.taobao.org/last-call-webpack-plugin/download/last-call-webpack-plugin-2.1.2.tgz",
+            "integrity": "sha1-rYDG4xCZgpTS7SGApo6VieR2jEQ=",
+            "dev": true,
+            "requires": {
+                "lodash": "^4.17.4",
+                "webpack-sources": "^1.0.1"
+            }
+        },
+        "lazy-cache": {
+            "version": "1.0.4",
+            "resolved": "https://registry.npm.taobao.org/lazy-cache/download/lazy-cache-1.0.4.tgz",
+            "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=",
+            "dev": true
+        },
+        "lcid": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/lcid/download/lcid-1.0.0.tgz",
+            "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
+            "dev": true,
+            "requires": {
+                "invert-kv": "^1.0.0"
+            }
+        },
+        "less": {
+            "version": "3.12.2",
+            "resolved": "https://registry.npm.taobao.org/less/download/less-3.12.2.tgz",
+            "integrity": "sha1-FX5t0ypohp34hZMUrTjnAhGvOrQ=",
+            "dev": true,
+            "requires": {
+                "errno": "^0.1.1",
+                "graceful-fs": "^4.1.2",
+                "image-size": "~0.5.0",
+                "make-dir": "^2.1.0",
+                "mime": "^1.4.1",
+                "native-request": "^1.0.5",
+                "source-map": "~0.6.0",
+                "tslib": "^1.10.0"
+            },
+            "dependencies": {
+                "make-dir": {
+                    "version": "2.1.0",
+                    "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-2.1.0.tgz",
+                    "integrity": "sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU=",
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "pify": "^4.0.1",
+                        "semver": "^5.6.0"
+                    }
+                },
+                "pify": {
+                    "version": "4.0.1",
+                    "resolved": "https://registry.npm.taobao.org/pify/download/pify-4.0.1.tgz",
+                    "integrity": "sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE=",
+                    "dev": true,
+                    "optional": true
+                }
+            }
+        },
+        "less-loader": {
+            "version": "4.1.0",
+            "resolved": "https://registry.npm.taobao.org/less-loader/download/less-loader-4.1.0.tgz?cache=0&sync_timestamp=1602250118610&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fless-loader%2Fdownload%2Fless-loader-4.1.0.tgz",
+            "integrity": "sha1-LBNSxbCaT4QQFJAnT9UWdN5BNj4=",
+            "dev": true,
+            "requires": {
+                "clone": "^2.1.1",
+                "loader-utils": "^1.1.0",
+                "pify": "^3.0.0"
+            },
+            "dependencies": {
+                "clone": {
+                    "version": "2.1.2",
+                    "resolved": "https://registry.npm.taobao.org/clone/download/clone-2.1.2.tgz?cache=0&sync_timestamp=1589682821772&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fclone%2Fdownload%2Fclone-2.1.2.tgz",
+                    "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=",
+                    "dev": true
+                }
+            }
+        },
+        "lines-and-columns": {
+            "version": "1.1.6",
+            "resolved": "https://registry.nlark.com/lines-and-columns/download/lines-and-columns-1.1.6.tgz",
+            "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA="
+        },
+        "load-json-file": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npm.taobao.org/load-json-file/download/load-json-file-2.0.0.tgz",
+            "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
+            "dev": true,
+            "requires": {
+                "graceful-fs": "^4.1.2",
+                "parse-json": "^2.2.0",
+                "pify": "^2.0.0",
+                "strip-bom": "^3.0.0"
+            },
+            "dependencies": {
+                "parse-json": {
+                    "version": "2.2.0",
+                    "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz?cache=0&sync_timestamp=1598129182781&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-json-2.2.0.tgz",
+                    "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+                    "dev": true,
+                    "requires": {
+                        "error-ex": "^1.2.0"
+                    }
+                },
+                "pify": {
+                    "version": "2.3.0",
+                    "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz",
+                    "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+                    "dev": true
+                }
+            }
+        },
+        "loader-runner": {
+            "version": "2.4.0",
+            "resolved": "https://registry.npm.taobao.org/loader-runner/download/loader-runner-2.4.0.tgz?cache=0&sync_timestamp=1601450715716&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floader-runner%2Fdownload%2Floader-runner-2.4.0.tgz",
+            "integrity": "sha1-7UcGa/5TTX6ExMe5mYwqdWB9k1c=",
+            "dev": true
+        },
+        "loader-utils": {
+            "version": "1.4.0",
+            "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-1.4.0.tgz",
+            "integrity": "sha1-xXm140yzSxp07cbB+za/o3HVphM=",
+            "dev": true,
+            "requires": {
+                "big.js": "^5.2.2",
+                "emojis-list": "^3.0.0",
+                "json5": "^1.0.1"
+            },
+            "dependencies": {
+                "json5": {
+                    "version": "1.0.1",
+                    "resolved": "https://registry.npm.taobao.org/json5/download/json5-1.0.1.tgz",
+                    "integrity": "sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4=",
+                    "dev": true,
+                    "requires": {
+                        "minimist": "^1.2.0"
+                    }
+                }
+            }
+        },
+        "locate-path": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-2.0.0.tgz",
+            "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
+            "requires": {
+                "p-locate": "^2.0.0",
+                "path-exists": "^3.0.0"
+            }
+        },
+        "lodash": {
+            "version": "4.17.20",
+            "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.20.tgz?cache=0&sync_timestamp=1597335994883&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.20.tgz",
+            "integrity": "sha1-tEqbYpe8tpjxxRo1RaKzs2jVnFI="
+        },
+        "lodash.camelcase": {
+            "version": "4.3.0",
+            "resolved": "https://registry.npm.taobao.org/lodash.camelcase/download/lodash.camelcase-4.3.0.tgz",
+            "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=",
+            "dev": true
+        },
+        "lodash.debounce": {
+            "version": "4.0.8",
+            "resolved": "https://registry.npm.taobao.org/lodash.debounce/download/lodash.debounce-4.0.8.tgz",
+            "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168="
+        },
+        "lodash.ismatch": {
+            "version": "4.4.0",
+            "resolved": "https://registry.npm.taobao.org/lodash.ismatch/download/lodash.ismatch-4.4.0.tgz",
+            "integrity": "sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc="
+        },
+        "lodash.memoize": {
+            "version": "4.1.2",
+            "resolved": "https://registry.npm.taobao.org/lodash.memoize/download/lodash.memoize-4.1.2.tgz?cache=0&sync_timestamp=1589682725270&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash.memoize%2Fdownload%2Flodash.memoize-4.1.2.tgz",
+            "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
+            "dev": true
+        },
+        "lodash.uniq": {
+            "version": "4.5.0",
+            "resolved": "https://registry.npm.taobao.org/lodash.uniq/download/lodash.uniq-4.5.0.tgz?cache=0&sync_timestamp=1589682817275&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash.uniq%2Fdownload%2Flodash.uniq-4.5.0.tgz",
+            "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=",
+            "dev": true
+        },
+        "log-symbols": {
+            "version": "2.2.0",
+            "resolved": "https://registry.npm.taobao.org/log-symbols/download/log-symbols-2.2.0.tgz",
+            "integrity": "sha1-V0Dhxdbw39pK2TI7UzIQfva0xAo=",
+            "dev": true,
+            "requires": {
+                "chalk": "^2.0.1"
+            }
+        },
+        "loglevel": {
+            "version": "1.7.0",
+            "resolved": "https://registry.npm.taobao.org/loglevel/download/loglevel-1.7.0.tgz",
+            "integrity": "sha1-coFmhVp0DVnTjbAc9G8ELKoEG7A=",
+            "dev": true
+        },
+        "longest": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/longest/download/longest-1.0.1.tgz",
+            "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=",
+            "dev": true
+        },
+        "loose-envify": {
+            "version": "1.4.0",
+            "resolved": "https://registry.npm.taobao.org/loose-envify/download/loose-envify-1.4.0.tgz",
+            "integrity": "sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8=",
+            "dev": true,
+            "requires": {
+                "js-tokens": "^3.0.0 || ^4.0.0"
+            }
+        },
+        "loud-rejection": {
+            "version": "1.6.0",
+            "resolved": "https://registry.npm.taobao.org/loud-rejection/download/loud-rejection-1.6.0.tgz",
+            "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
+            "requires": {
+                "currently-unhandled": "^0.4.1",
+                "signal-exit": "^3.0.0"
+            }
+        },
+        "lower-case": {
+            "version": "1.1.4",
+            "resolved": "https://registry.npm.taobao.org/lower-case/download/lower-case-1.1.4.tgz",
+            "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=",
+            "dev": true
+        },
+        "lru-cache": {
+            "version": "4.1.5",
+            "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz?cache=0&sync_timestamp=1594427582110&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-4.1.5.tgz",
+            "integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=",
+            "dev": true,
+            "requires": {
+                "pseudomap": "^1.0.2",
+                "yallist": "^2.1.2"
+            }
+        },
+        "make-dir": {
+            "version": "1.3.0",
+            "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-1.3.0.tgz",
+            "integrity": "sha1-ecEDO4BRW9bSTsmTPoYMp17ifww=",
+            "dev": true,
+            "requires": {
+                "pify": "^3.0.0"
+            }
+        },
+        "map-cache": {
+            "version": "0.2.2",
+            "resolved": "https://registry.npm.taobao.org/map-cache/download/map-cache-0.2.2.tgz",
+            "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
+            "dev": true
+        },
+        "map-obj": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/map-obj/download/map-obj-1.0.1.tgz",
+            "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0="
+        },
+        "map-visit": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/map-visit/download/map-visit-1.0.0.tgz",
+            "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
+            "dev": true,
+            "requires": {
+                "object-visit": "^1.0.0"
+            }
+        },
+        "math-expression-evaluator": {
+            "version": "1.2.22",
+            "resolved": "https://registry.npm.taobao.org/math-expression-evaluator/download/math-expression-evaluator-1.2.22.tgz",
+            "integrity": "sha1-wU3LPYtNFQ5dzqnGjI2tgDCbDV4=",
+            "dev": true
+        },
+        "md5.js": {
+            "version": "1.3.5",
+            "resolved": "https://registry.npm.taobao.org/md5.js/download/md5.js-1.3.5.tgz",
+            "integrity": "sha1-tdB7jjIW4+J81yjXL3DR5qNCAF8=",
+            "dev": true,
+            "requires": {
+                "hash-base": "^3.0.0",
+                "inherits": "^2.0.1",
+                "safe-buffer": "^5.1.2"
+            }
+        },
+        "mdn-data": {
+            "version": "2.0.4",
+            "resolved": "https://registry.npm.taobao.org/mdn-data/download/mdn-data-2.0.4.tgz?cache=0&sync_timestamp=1602987212845&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmdn-data%2Fdownload%2Fmdn-data-2.0.4.tgz",
+            "integrity": "sha1-aZs8OKxvHXKAkaZGULZdOIUC/Vs=",
+            "dev": true
+        },
+        "media-typer": {
+            "version": "0.3.0",
+            "resolved": "https://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz",
+            "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
+            "dev": true
+        },
+        "mem": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npm.taobao.org/mem/download/mem-1.1.0.tgz?cache=0&sync_timestamp=1602347232236&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmem%2Fdownload%2Fmem-1.1.0.tgz",
+            "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=",
+            "dev": true,
+            "requires": {
+                "mimic-fn": "^1.0.0"
+            }
+        },
+        "memory-fs": {
+            "version": "0.4.1",
+            "resolved": "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.4.1.tgz",
+            "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
+            "dev": true,
+            "requires": {
+                "errno": "^0.1.3",
+                "readable-stream": "^2.0.1"
+            }
+        },
+        "meow": {
+            "version": "3.7.0",
+            "resolved": "https://registry.npm.taobao.org/meow/download/meow-3.7.0.tgz",
+            "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
+            "requires": {
+                "camelcase-keys": "^2.0.0",
+                "decamelize": "^1.1.2",
+                "loud-rejection": "^1.0.0",
+                "map-obj": "^1.0.1",
+                "minimist": "^1.1.3",
+                "normalize-package-data": "^2.3.4",
+                "object-assign": "^4.0.1",
+                "read-pkg-up": "^1.0.1",
+                "redent": "^1.0.0",
+                "trim-newlines": "^1.0.0"
+            },
+            "dependencies": {
+                "find-up": {
+                    "version": "1.1.2",
+                    "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-1.1.2.tgz?cache=0&sync_timestamp=1597169842138&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-1.1.2.tgz",
+                    "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+                    "requires": {
+                        "path-exists": "^2.0.0",
+                        "pinkie-promise": "^2.0.0"
+                    }
+                },
+                "load-json-file": {
+                    "version": "1.1.0",
+                    "resolved": "https://registry.npm.taobao.org/load-json-file/download/load-json-file-1.1.0.tgz",
+                    "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
+                    "requires": {
+                        "graceful-fs": "^4.1.2",
+                        "parse-json": "^2.2.0",
+                        "pify": "^2.0.0",
+                        "pinkie-promise": "^2.0.0",
+                        "strip-bom": "^2.0.0"
+                    }
+                },
+                "parse-json": {
+                    "version": "2.2.0",
+                    "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz?cache=0&sync_timestamp=1598129182781&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-json-2.2.0.tgz",
+                    "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+                    "requires": {
+                        "error-ex": "^1.2.0"
+                    }
+                },
+                "path-exists": {
+                    "version": "2.1.0",
+                    "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-2.1.0.tgz",
+                    "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+                    "requires": {
+                        "pinkie-promise": "^2.0.0"
+                    }
+                },
+                "path-type": {
+                    "version": "1.1.0",
+                    "resolved": "https://registry.npm.taobao.org/path-type/download/path-type-1.1.0.tgz",
+                    "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
+                    "requires": {
+                        "graceful-fs": "^4.1.2",
+                        "pify": "^2.0.0",
+                        "pinkie-promise": "^2.0.0"
+                    }
+                },
+                "pify": {
+                    "version": "2.3.0",
+                    "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz",
+                    "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
+                },
+                "read-pkg": {
+                    "version": "1.1.0",
+                    "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-1.1.0.tgz?cache=0&sync_timestamp=1589682810106&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg%2Fdownload%2Fread-pkg-1.1.0.tgz",
+                    "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
+                    "requires": {
+                        "load-json-file": "^1.0.0",
+                        "normalize-package-data": "^2.3.2",
+                        "path-type": "^1.0.0"
+                    }
+                },
+                "read-pkg-up": {
+                    "version": "1.0.1",
+                    "resolved": "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-1.0.1.tgz",
+                    "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
+                    "requires": {
+                        "find-up": "^1.0.0",
+                        "read-pkg": "^1.0.0"
+                    }
+                },
+                "strip-bom": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.npm.taobao.org/strip-bom/download/strip-bom-2.0.0.tgz",
+                    "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+                    "requires": {
+                        "is-utf8": "^0.2.0"
+                    }
+                }
+            }
+        },
+        "merge-descriptors": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/merge-descriptors/download/merge-descriptors-1.0.1.tgz",
+            "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=",
+            "dev": true
+        },
+        "methods": {
+            "version": "1.1.2",
+            "resolved": "https://registry.npm.taobao.org/methods/download/methods-1.1.2.tgz",
+            "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
+            "dev": true
+        },
+        "micromatch": {
+            "version": "3.1.10",
+            "resolved": "https://registry.npm.taobao.org/micromatch/download/micromatch-3.1.10.tgz",
+            "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=",
+            "dev": true,
+            "requires": {
+                "arr-diff": "^4.0.0",
+                "array-unique": "^0.3.2",
+                "braces": "^2.3.1",
+                "define-property": "^2.0.2",
+                "extend-shallow": "^3.0.2",
+                "extglob": "^2.0.4",
+                "fragment-cache": "^0.2.1",
+                "kind-of": "^6.0.2",
+                "nanomatch": "^1.2.9",
+                "object.pick": "^1.3.0",
+                "regex-not": "^1.0.0",
+                "snapdragon": "^0.8.1",
+                "to-regex": "^3.0.2"
+            },
+            "dependencies": {
+                "braces": {
+                    "version": "2.3.2",
+                    "resolved": "https://registry.npm.taobao.org/braces/download/braces-2.3.2.tgz",
+                    "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=",
+                    "dev": true,
+                    "requires": {
+                        "arr-flatten": "^1.1.0",
+                        "array-unique": "^0.3.2",
+                        "extend-shallow": "^2.0.1",
+                        "fill-range": "^4.0.0",
+                        "isobject": "^3.0.1",
+                        "repeat-element": "^1.1.2",
+                        "snapdragon": "^0.8.1",
+                        "snapdragon-node": "^2.0.1",
+                        "split-string": "^3.0.2",
+                        "to-regex": "^3.0.1"
+                    },
+                    "dependencies": {
+                        "extend-shallow": {
+                            "version": "2.0.1",
+                            "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz",
+                            "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+                            "dev": true,
+                            "requires": {
+                                "is-extendable": "^0.1.0"
+                            }
+                        }
+                    }
+                },
+                "fill-range": {
+                    "version": "4.0.0",
+                    "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-4.0.0.tgz",
+                    "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+                    "dev": true,
+                    "requires": {
+                        "extend-shallow": "^2.0.1",
+                        "is-number": "^3.0.0",
+                        "repeat-string": "^1.6.1",
+                        "to-regex-range": "^2.1.0"
+                    },
+                    "dependencies": {
+                        "extend-shallow": {
+                            "version": "2.0.1",
+                            "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz",
+                            "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+                            "dev": true,
+                            "requires": {
+                                "is-extendable": "^0.1.0"
+                            }
+                        }
+                    }
+                },
+                "is-number": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz",
+                    "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+                    "dev": true,
+                    "requires": {
+                        "kind-of": "^3.0.2"
+                    },
+                    "dependencies": {
+                        "kind-of": {
+                            "version": "3.2.2",
+                            "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
+                            "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+                            "dev": true,
+                            "requires": {
+                                "is-buffer": "^1.1.5"
+                            }
+                        }
+                    }
+                },
+                "kind-of": {
+                    "version": "6.0.3",
+                    "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.3.tgz",
+                    "integrity": "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=",
+                    "dev": true
+                },
+                "to-regex-range": {
+                    "version": "2.1.1",
+                    "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-2.1.1.tgz",
+                    "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+                    "dev": true,
+                    "requires": {
+                        "is-number": "^3.0.0",
+                        "repeat-string": "^1.6.1"
+                    }
+                }
+            }
+        },
+        "miller-rabin": {
+            "version": "4.0.1",
+            "resolved": "https://registry.npm.taobao.org/miller-rabin/download/miller-rabin-4.0.1.tgz",
+            "integrity": "sha1-8IA1HIZbDcViqEYpZtqlNUPHik0=",
+            "dev": true,
+            "requires": {
+                "bn.js": "^4.0.0",
+                "brorand": "^1.0.1"
+            },
+            "dependencies": {
+                "bn.js": {
+                    "version": "4.11.9",
+                    "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.11.9.tgz",
+                    "integrity": "sha1-JtVWgpRY+dHoH8SJUkk9C6NQeCg=",
+                    "dev": true
+                }
+            }
+        },
+        "mime": {
+            "version": "1.6.0",
+            "resolved": "https://registry.npm.taobao.org/mime/download/mime-1.6.0.tgz?cache=0&sync_timestamp=1590635592890&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime%2Fdownload%2Fmime-1.6.0.tgz",
+            "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=",
+            "dev": true
+        },
+        "mime-db": {
+            "version": "1.44.0",
+            "resolved": "https://registry.npm.taobao.org/mime-db/download/mime-db-1.44.0.tgz?cache=0&sync_timestamp=1600831210195&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime-db%2Fdownload%2Fmime-db-1.44.0.tgz",
+            "integrity": "sha1-+hHF6wrKEzS0Izy01S8QxaYnL5I=",
+            "dev": true
+        },
+        "mime-types": {
+            "version": "2.1.27",
+            "resolved": "https://registry.npm.taobao.org/mime-types/download/mime-types-2.1.27.tgz?cache=0&sync_timestamp=1589682770020&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime-types%2Fdownload%2Fmime-types-2.1.27.tgz",
+            "integrity": "sha1-R5SfmOJ56lMRn1ci4PNOUpvsAJ8=",
+            "dev": true,
+            "requires": {
+                "mime-db": "1.44.0"
+            }
+        },
+        "mimic-fn": {
+            "version": "1.2.0",
+            "resolved": "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-1.2.0.tgz?cache=0&sync_timestamp=1596095644798&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmimic-fn%2Fdownload%2Fmimic-fn-1.2.0.tgz",
+            "integrity": "sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI=",
+            "dev": true
+        },
+        "mimic-response": {
+            "version": "2.1.0",
+            "resolved": "https://registry.nlark.com/mimic-response/download/mimic-response-2.1.0.tgz",
+            "integrity": "sha1-0Tdj019hPQnsN+uzC6wEacDuj0M="
+        },
+        "min-indent": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/min-indent/download/min-indent-1.0.1.tgz",
+            "integrity": "sha1-pj9oFnOzBXH76LwlaGrnRu76mGk="
+        },
+        "minimalistic-assert": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/minimalistic-assert/download/minimalistic-assert-1.0.1.tgz",
+            "integrity": "sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc=",
+            "dev": true
+        },
+        "minimalistic-crypto-utils": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz",
+            "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
+            "dev": true
+        },
+        "minimatch": {
+            "version": "3.0.4",
+            "resolved": "https://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz",
+            "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=",
+            "requires": {
+                "brace-expansion": "^1.1.7"
+            }
+        },
+        "minimist": {
+            "version": "1.2.5",
+            "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz?cache=0&sync_timestamp=1589682820731&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminimist%2Fdownload%2Fminimist-1.2.5.tgz",
+            "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI="
+        },
+        "minimist-options": {
+            "version": "4.1.0",
+            "resolved": "https://registry.nlark.com/minimist-options/download/minimist-options-4.1.0.tgz",
+            "integrity": "sha1-wGVXE8U6ii69d/+iR9NCxA8BBhk=",
+            "requires": {
+                "arrify": "^1.0.1",
+                "is-plain-obj": "^1.1.0",
+                "kind-of": "^6.0.3"
+            },
+            "dependencies": {
+                "kind-of": {
+                    "version": "6.0.3",
+                    "resolved": "https://registry.nlark.com/kind-of/download/kind-of-6.0.3.tgz",
+                    "integrity": "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0="
+                }
+            }
+        },
+        "minipass": {
+            "version": "3.1.3",
+            "resolved": "https://registry.npm.taobao.org/minipass/download/minipass-3.1.3.tgz",
+            "integrity": "sha1-fUL/HzljVILhX5zbUxhN7r1YFf0=",
+            "requires": {
+                "yallist": "^4.0.0"
+            },
+            "dependencies": {
+                "yallist": {
+                    "version": "4.0.0",
+                    "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-4.0.0.tgz",
+                    "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI="
+                }
+            }
+        },
+        "minizlib": {
+            "version": "2.1.2",
+            "resolved": "https://registry.npm.taobao.org/minizlib/download/minizlib-2.1.2.tgz",
+            "integrity": "sha1-6Q00Zrogm5MkUVCKEc49NjIUWTE=",
+            "requires": {
+                "minipass": "^3.0.0",
+                "yallist": "^4.0.0"
+            },
+            "dependencies": {
+                "yallist": {
+                    "version": "4.0.0",
+                    "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-4.0.0.tgz",
+                    "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI="
+                }
+            }
+        },
+        "mississippi": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npm.taobao.org/mississippi/download/mississippi-2.0.0.tgz",
+            "integrity": "sha1-NEKlCPr8KFAEhv7qmUCWduTuWm8=",
+            "dev": true,
+            "requires": {
+                "concat-stream": "^1.5.0",
+                "duplexify": "^3.4.2",
+                "end-of-stream": "^1.1.0",
+                "flush-write-stream": "^1.0.0",
+                "from2": "^2.1.0",
+                "parallel-transform": "^1.1.0",
+                "pump": "^2.0.1",
+                "pumpify": "^1.3.3",
+                "stream-each": "^1.1.0",
+                "through2": "^2.0.0"
+            }
+        },
+        "mixin-deep": {
+            "version": "1.3.2",
+            "resolved": "https://registry.npm.taobao.org/mixin-deep/download/mixin-deep-1.3.2.tgz",
+            "integrity": "sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY=",
+            "dev": true,
+            "requires": {
+                "for-in": "^1.0.2",
+                "is-extendable": "^1.0.1"
+            },
+            "dependencies": {
+                "is-extendable": {
+                    "version": "1.0.1",
+                    "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz",
+                    "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=",
+                    "dev": true,
+                    "requires": {
+                        "is-plain-object": "^2.0.4"
+                    }
+                }
+            }
+        },
+        "mkdirp": {
+            "version": "0.5.5",
+            "resolved": "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.5.tgz?cache=0&sync_timestamp=1589682820707&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmkdirp%2Fdownload%2Fmkdirp-0.5.5.tgz",
+            "integrity": "sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8=",
+            "requires": {
+                "minimist": "^1.2.5"
+            }
+        },
+        "mobile-detect": {
+            "version": "1.4.5",
+            "resolved": "https://registry.npm.taobao.org/mobile-detect/download/mobile-detect-1.4.5.tgz?cache=0&sync_timestamp=1615628315030&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmobile-detect%2Fdownload%2Fmobile-detect-1.4.5.tgz",
+            "integrity": "sha1-2jk8PEE8oam83ZztZTw4KBwPtq0="
+        },
+        "modify-values": {
+            "version": "1.0.1",
+            "resolved": "https://registry.nlark.com/modify-values/download/modify-values-1.0.1.tgz",
+            "integrity": "sha1-s5OfpgVUZHTj4+PGPWS9Q7TuYCI="
+        },
+        "move-concurrently": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/move-concurrently/download/move-concurrently-1.0.1.tgz",
+            "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
+            "dev": true,
+            "requires": {
+                "aproba": "^1.1.1",
+                "copy-concurrently": "^1.0.0",
+                "fs-write-stream-atomic": "^1.0.8",
+                "mkdirp": "^0.5.1",
+                "rimraf": "^2.5.4",
+                "run-queue": "^1.0.3"
+            }
+        },
+        "ms": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz",
+            "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+            "dev": true
+        },
+        "multicast-dns": {
+            "version": "6.2.3",
+            "resolved": "https://registry.npm.taobao.org/multicast-dns/download/multicast-dns-6.2.3.tgz",
+            "integrity": "sha1-oOx72QVcQoL3kMPIL04o2zsxsik=",
+            "dev": true,
+            "requires": {
+                "dns-packet": "^1.3.1",
+                "thunky": "^1.0.2"
+            }
+        },
+        "multicast-dns-service-types": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npm.taobao.org/multicast-dns-service-types/download/multicast-dns-service-types-1.1.0.tgz",
+            "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=",
+            "dev": true
+        },
+        "nan": {
+            "version": "2.14.2",
+            "resolved": "https://registry.npm.taobao.org/nan/download/nan-2.14.2.tgz?cache=0&sync_timestamp=1602591684976&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnan%2Fdownload%2Fnan-2.14.2.tgz",
+            "integrity": "sha1-9TdkAGlRaPTMaUrJOT0MlYXu6hk="
+        },
+        "nanomatch": {
+            "version": "1.2.13",
+            "resolved": "https://registry.npm.taobao.org/nanomatch/download/nanomatch-1.2.13.tgz",
+            "integrity": "sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk=",
+            "dev": true,
+            "requires": {
+                "arr-diff": "^4.0.0",
+                "array-unique": "^0.3.2",
+                "define-property": "^2.0.2",
+                "extend-shallow": "^3.0.2",
+                "fragment-cache": "^0.2.1",
+                "is-windows": "^1.0.2",
+                "kind-of": "^6.0.2",
+                "object.pick": "^1.3.0",
+                "regex-not": "^1.0.0",
+                "snapdragon": "^0.8.1",
+                "to-regex": "^3.0.1"
+            },
+            "dependencies": {
+                "kind-of": {
+                    "version": "6.0.3",
+                    "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.3.tgz",
+                    "integrity": "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=",
+                    "dev": true
+                }
+            }
+        },
+        "native-request": {
+            "version": "1.0.8",
+            "resolved": "https://registry.npm.taobao.org/native-request/download/native-request-1.0.8.tgz",
+            "integrity": "sha1-j2a/YG4PfqJ8DlmV6y9dA+M65vs=",
+            "dev": true,
+            "optional": true
+        },
+        "negotiator": {
+            "version": "0.6.2",
+            "resolved": "https://registry.npm.taobao.org/negotiator/download/negotiator-0.6.2.tgz?cache=0&sync_timestamp=1589682752355&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnegotiator%2Fdownload%2Fnegotiator-0.6.2.tgz",
+            "integrity": "sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs=",
+            "dev": true
+        },
+        "neo-async": {
+            "version": "2.6.2",
+            "resolved": "https://registry.npm.taobao.org/neo-async/download/neo-async-2.6.2.tgz",
+            "integrity": "sha1-tKr7k+OustgXTKU88WOrfXMIMF8="
+        },
+        "next-tick": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/next-tick/download/next-tick-1.0.0.tgz",
+            "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=",
+            "dev": true
+        },
+        "no-case": {
+            "version": "2.3.2",
+            "resolved": "https://registry.npm.taobao.org/no-case/download/no-case-2.3.2.tgz",
+            "integrity": "sha1-YLgTOWvjmz8SiKTB7V0efSi0ZKw=",
+            "dev": true,
+            "requires": {
+                "lower-case": "^1.1.1"
+            }
+        },
+        "node-fetch": {
+            "version": "2.6.1",
+            "resolved": "https://registry.npm.taobao.org/node-fetch/download/node-fetch-2.6.1.tgz?cache=0&sync_timestamp=1599309179354&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-fetch%2Fdownload%2Fnode-fetch-2.6.1.tgz",
+            "integrity": "sha1-BFvTI2Mfdu0uK1VXM5RBa2OaAFI="
+        },
+        "node-forge": {
+            "version": "0.10.0",
+            "resolved": "https://registry.npm.taobao.org/node-forge/download/node-forge-0.10.0.tgz?cache=0&sync_timestamp=1599010773454&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-forge%2Fdownload%2Fnode-forge-0.10.0.tgz",
+            "integrity": "sha1-Mt6ir7Ppkm8C7lzoeUkCaRpna/M=",
+            "dev": true
+        },
+        "node-gyp": {
+            "version": "7.1.2",
+            "resolved": "https://registry.nlark.com/node-gyp/download/node-gyp-7.1.2.tgz",
+            "integrity": "sha1-IagQrrsYcSAlHDvOyXmvFYexiK4=",
+            "dev": true,
+            "requires": {
+                "env-paths": "^2.2.0",
+                "glob": "^7.1.4",
+                "graceful-fs": "^4.2.3",
+                "nopt": "^5.0.0",
+                "npmlog": "^4.1.2",
+                "request": "^2.88.2",
+                "rimraf": "^3.0.2",
+                "semver": "^7.3.2",
+                "tar": "^6.0.2",
+                "which": "^2.0.2"
+            },
+            "dependencies": {
+                "lru-cache": {
+                    "version": "6.0.0",
+                    "resolved": "https://registry.nlark.com/lru-cache/download/lru-cache-6.0.0.tgz",
+                    "integrity": "sha1-bW/mVw69lqr5D8rR2vo7JWbbOpQ=",
+                    "dev": true,
+                    "requires": {
+                        "yallist": "^4.0.0"
+                    }
+                },
+                "rimraf": {
+                    "version": "3.0.2",
+                    "resolved": "https://registry.nlark.com/rimraf/download/rimraf-3.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frimraf%2Fdownload%2Frimraf-3.0.2.tgz",
+                    "integrity": "sha1-8aVAK6YiCtUswSgrrBrjqkn9Bho=",
+                    "dev": true,
+                    "requires": {
+                        "glob": "^7.1.3"
+                    }
+                },
+                "semver": {
+                    "version": "7.3.5",
+                    "resolved": "https://registry.nlark.com/semver/download/semver-7.3.5.tgz?cache=0&sync_timestamp=1618847119601&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-7.3.5.tgz",
+                    "integrity": "sha1-C2Ich5NI2JmOSw5L6Us/EuYBjvc=",
+                    "dev": true,
+                    "requires": {
+                        "lru-cache": "^6.0.0"
+                    }
+                },
+                "which": {
+                    "version": "2.0.2",
+                    "resolved": "https://registry.nlark.com/which/download/which-2.0.2.tgz",
+                    "integrity": "sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=",
+                    "dev": true,
+                    "requires": {
+                        "isexe": "^2.0.0"
+                    }
+                },
+                "yallist": {
+                    "version": "4.0.0",
+                    "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-4.0.0.tgz",
+                    "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=",
+                    "dev": true
+                }
+            }
+        },
+        "node-libs-browser": {
+            "version": "2.2.1",
+            "resolved": "https://registry.npm.taobao.org/node-libs-browser/download/node-libs-browser-2.2.1.tgz",
+            "integrity": "sha1-tk9RPRgzhiX5A0bSew0jXmMfZCU=",
+            "dev": true,
+            "requires": {
+                "assert": "^1.1.1",
+                "browserify-zlib": "^0.2.0",
+                "buffer": "^4.3.0",
+                "console-browserify": "^1.1.0",
+                "constants-browserify": "^1.0.0",
+                "crypto-browserify": "^3.11.0",
+                "domain-browser": "^1.1.1",
+                "events": "^3.0.0",
+                "https-browserify": "^1.0.0",
+                "os-browserify": "^0.3.0",
+                "path-browserify": "0.0.1",
+                "process": "^0.11.10",
+                "punycode": "^1.2.4",
+                "querystring-es3": "^0.2.0",
+                "readable-stream": "^2.3.3",
+                "stream-browserify": "^2.0.1",
+                "stream-http": "^2.7.2",
+                "string_decoder": "^1.0.0",
+                "timers-browserify": "^2.0.4",
+                "tty-browserify": "0.0.0",
+                "url": "^0.11.0",
+                "util": "^0.11.0",
+                "vm-browserify": "^1.0.1"
+            },
+            "dependencies": {
+                "punycode": {
+                    "version": "1.4.1",
+                    "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz?cache=0&sync_timestamp=1589682803838&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpunycode%2Fdownload%2Fpunycode-1.4.1.tgz",
+                    "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
+                    "dev": true
+                }
+            }
+        },
+        "node-notifier": {
+            "version": "5.4.3",
+            "resolved": "https://registry.npm.taobao.org/node-notifier/download/node-notifier-5.4.3.tgz?cache=0&sync_timestamp=1597311365226&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-notifier%2Fdownload%2Fnode-notifier-5.4.3.tgz",
+            "integrity": "sha1-y3La+UyTkECY4oucWQ/YZuRkvVA=",
+            "dev": true,
+            "requires": {
+                "growly": "^1.3.0",
+                "is-wsl": "^1.1.0",
+                "semver": "^5.5.0",
+                "shellwords": "^0.1.1",
+                "which": "^1.3.0"
+            }
+        },
+        "node-releases": {
+            "version": "1.1.65",
+            "resolved": "https://registry.npm.taobao.org/node-releases/download/node-releases-1.1.65.tgz",
+            "integrity": "sha1-UtlXkXa9YPI+ugXEQ4WD80GUS4E=",
+            "dev": true
+        },
+        "node-sass": {
+            "version": "5.0.0",
+            "resolved": "https://registry.nlark.com/node-sass/download/node-sass-5.0.0.tgz",
+            "integrity": "sha1-To85++87rI0txy6+O1OXEYg6eNI=",
+            "dev": true,
+            "requires": {
+                "async-foreach": "^0.1.3",
+                "chalk": "^1.1.1",
+                "cross-spawn": "^7.0.3",
+                "gaze": "^1.0.0",
+                "get-stdin": "^4.0.1",
+                "glob": "^7.0.3",
+                "lodash": "^4.17.15",
+                "meow": "^3.7.0",
+                "mkdirp": "^0.5.1",
+                "nan": "^2.13.2",
+                "node-gyp": "^7.1.0",
+                "npmlog": "^4.0.0",
+                "request": "^2.88.0",
+                "sass-graph": "2.2.5",
+                "stdout-stream": "^1.4.0",
+                "true-case-path": "^1.0.2"
+            },
+            "dependencies": {
+                "ansi-styles": {
+                    "version": "2.2.1",
+                    "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-2.2.1.tgz",
+                    "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+                    "dev": true
+                },
+                "chalk": {
+                    "version": "1.1.3",
+                    "resolved": "https://registry.nlark.com/chalk/download/chalk-1.1.3.tgz?cache=0&sync_timestamp=1618995367379&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-1.1.3.tgz",
+                    "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+                    "dev": true,
+                    "requires": {
+                        "ansi-styles": "^2.2.1",
+                        "escape-string-regexp": "^1.0.2",
+                        "has-ansi": "^2.0.0",
+                        "strip-ansi": "^3.0.0",
+                        "supports-color": "^2.0.0"
+                    }
+                },
+                "cross-spawn": {
+                    "version": "7.0.3",
+                    "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-7.0.3.tgz",
+                    "integrity": "sha1-9zqFudXUHQRVUcF34ogtSshXKKY=",
+                    "dev": true,
+                    "requires": {
+                        "path-key": "^3.1.0",
+                        "shebang-command": "^2.0.0",
+                        "which": "^2.0.1"
+                    }
+                },
+                "path-key": {
+                    "version": "3.1.1",
+                    "resolved": "https://registry.npm.taobao.org/path-key/download/path-key-3.1.1.tgz?cache=0&sync_timestamp=1617971613935&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-key%2Fdownload%2Fpath-key-3.1.1.tgz",
+                    "integrity": "sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U=",
+                    "dev": true
+                },
+                "shebang-command": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.npm.taobao.org/shebang-command/download/shebang-command-2.0.0.tgz",
+                    "integrity": "sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo=",
+                    "dev": true,
+                    "requires": {
+                        "shebang-regex": "^3.0.0"
+                    }
+                },
+                "shebang-regex": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.nlark.com/shebang-regex/download/shebang-regex-3.0.0.tgz",
+                    "integrity": "sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=",
+                    "dev": true
+                },
+                "supports-color": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.nlark.com/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1622293579301&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz",
+                    "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+                    "dev": true
+                },
+                "which": {
+                    "version": "2.0.2",
+                    "resolved": "https://registry.nlark.com/which/download/which-2.0.2.tgz",
+                    "integrity": "sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=",
+                    "dev": true,
+                    "requires": {
+                        "isexe": "^2.0.0"
+                    }
+                }
+            }
+        },
+        "nopt": {
+            "version": "5.0.0",
+            "resolved": "https://registry.npm.taobao.org/nopt/download/nopt-5.0.0.tgz",
+            "integrity": "sha1-UwlCu1ilEvzK/lP+IQ8TolNV3Ig=",
+            "requires": {
+                "abbrev": "1"
+            }
+        },
+        "normalize-package-data": {
+            "version": "2.5.0",
+            "resolved": "https://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.5.0.tgz?cache=0&sync_timestamp=1602547447569&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnormalize-package-data%2Fdownload%2Fnormalize-package-data-2.5.0.tgz",
+            "integrity": "sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg=",
+            "requires": {
+                "hosted-git-info": "^2.1.4",
+                "resolve": "^1.10.0",
+                "semver": "2 || 3 || 4 || 5",
+                "validate-npm-package-license": "^3.0.1"
+            }
+        },
+        "normalize-path": {
+            "version": "3.0.0",
+            "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz",
+            "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=",
+            "dev": true
+        },
+        "normalize-range": {
+            "version": "0.1.2",
+            "resolved": "https://registry.npm.taobao.org/normalize-range/download/normalize-range-0.1.2.tgz",
+            "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI="
+        },
+        "normalize-url": {
+            "version": "1.9.1",
+            "resolved": "https://registry.npm.taobao.org/normalize-url/download/normalize-url-1.9.1.tgz?cache=0&sync_timestamp=1602432435724&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnormalize-url%2Fdownload%2Fnormalize-url-1.9.1.tgz",
+            "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=",
+            "dev": true,
+            "requires": {
+                "object-assign": "^4.0.1",
+                "prepend-http": "^1.0.0",
+                "query-string": "^4.1.0",
+                "sort-keys": "^1.0.0"
+            }
+        },
+        "npm-run-path": {
+            "version": "2.0.2",
+            "resolved": "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-2.0.2.tgz",
+            "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
+            "dev": true,
+            "requires": {
+                "path-key": "^2.0.0"
+            }
+        },
+        "npmlog": {
+            "version": "4.1.2",
+            "resolved": "https://registry.npm.taobao.org/npmlog/download/npmlog-4.1.2.tgz",
+            "integrity": "sha1-CKfyqL9zRgR3mp76StXMcXq7lUs=",
+            "requires": {
+                "are-we-there-yet": "~1.1.2",
+                "console-control-strings": "~1.1.0",
+                "gauge": "~2.7.3",
+                "set-blocking": "~2.0.0"
+            }
+        },
+        "nth-check": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npm.taobao.org/nth-check/download/nth-check-1.0.2.tgz",
+            "integrity": "sha1-sr0pXDfj3VijvwcAN2Zjuk2c8Fw=",
+            "dev": true,
+            "requires": {
+                "boolbase": "~1.0.0"
+            }
+        },
+        "null-check": {
+            "version": "1.0.0",
+            "resolved": "https://registry.nlark.com/null-check/download/null-check-1.0.0.tgz",
+            "integrity": "sha1-l33/1xdgErnsMNKjnbXPcqBDnt0="
+        },
+        "num2fraction": {
+            "version": "1.2.2",
+            "resolved": "https://registry.npm.taobao.org/num2fraction/download/num2fraction-1.2.2.tgz",
+            "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4="
+        },
+        "number-is-nan": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/number-is-nan/download/number-is-nan-1.0.1.tgz?cache=0&sync_timestamp=1589682839339&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnumber-is-nan%2Fdownload%2Fnumber-is-nan-1.0.1.tgz",
+            "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
+        },
+        "oauth-sign": {
+            "version": "0.9.0",
+            "resolved": "https://registry.nlark.com/oauth-sign/download/oauth-sign-0.9.0.tgz",
+            "integrity": "sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU=",
+            "dev": true
+        },
+        "object-assign": {
+            "version": "4.1.1",
+            "resolved": "https://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz",
+            "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
+        },
+        "object-copy": {
+            "version": "0.1.0",
+            "resolved": "https://registry.npm.taobao.org/object-copy/download/object-copy-0.1.0.tgz",
+            "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
+            "dev": true,
+            "requires": {
+                "copy-descriptor": "^0.1.0",
+                "define-property": "^0.2.5",
+                "kind-of": "^3.0.3"
+            },
+            "dependencies": {
+                "define-property": {
+                    "version": "0.2.5",
+                    "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz",
+                    "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+                    "dev": true,
+                    "requires": {
+                        "is-descriptor": "^0.1.0"
+                    }
+                }
+            }
+        },
+        "object-inspect": {
+            "version": "1.8.0",
+            "resolved": "https://registry.npm.taobao.org/object-inspect/download/object-inspect-1.8.0.tgz?cache=0&sync_timestamp=1592545231350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-inspect%2Fdownload%2Fobject-inspect-1.8.0.tgz",
+            "integrity": "sha1-34B+Xs9TpgnMa/6T6sPMe+WzqdA=",
+            "dev": true
+        },
+        "object-is": {
+            "version": "1.1.3",
+            "resolved": "https://registry.npm.taobao.org/object-is/download/object-is-1.1.3.tgz?cache=0&sync_timestamp=1601502788762&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-is%2Fdownload%2Fobject-is-1.1.3.tgz",
+            "integrity": "sha1-LjueZVYBN0Ve471irsTZCi6hzIE=",
+            "dev": true,
+            "requires": {
+                "define-properties": "^1.1.3",
+                "es-abstract": "^1.18.0-next.1"
+            },
+            "dependencies": {
+                "es-abstract": {
+                    "version": "1.18.0-next.1",
+                    "resolved": "https://registry.npm.taobao.org/es-abstract/download/es-abstract-1.18.0-next.1.tgz?cache=0&sync_timestamp=1601502719982&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fes-abstract%2Fdownload%2Fes-abstract-1.18.0-next.1.tgz",
+                    "integrity": "sha1-bjoKS9pxflAjqzuOkL7DYQjSLGg=",
+                    "dev": true,
+                    "requires": {
+                        "es-to-primitive": "^1.2.1",
+                        "function-bind": "^1.1.1",
+                        "has": "^1.0.3",
+                        "has-symbols": "^1.0.1",
+                        "is-callable": "^1.2.2",
+                        "is-negative-zero": "^2.0.0",
+                        "is-regex": "^1.1.1",
+                        "object-inspect": "^1.8.0",
+                        "object-keys": "^1.1.1",
+                        "object.assign": "^4.1.1",
+                        "string.prototype.trimend": "^1.0.1",
+                        "string.prototype.trimstart": "^1.0.1"
+                    }
+                }
+            }
+        },
+        "object-keys": {
+            "version": "1.1.1",
+            "resolved": "https://registry.npm.taobao.org/object-keys/download/object-keys-1.1.1.tgz",
+            "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=",
+            "dev": true
+        },
+        "object-visit": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/object-visit/download/object-visit-1.0.1.tgz",
+            "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
+            "dev": true,
+            "requires": {
+                "isobject": "^3.0.0"
+            }
+        },
+        "object.assign": {
+            "version": "4.1.2",
+            "resolved": "https://registry.npm.taobao.org/object.assign/download/object.assign-4.1.2.tgz?cache=0&sync_timestamp=1604115158081&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject.assign%2Fdownload%2Fobject.assign-4.1.2.tgz",
+            "integrity": "sha1-DtVKNC7Os3s4/3brgxoOeIy2OUA=",
+            "dev": true,
+            "requires": {
+                "call-bind": "^1.0.0",
+                "define-properties": "^1.1.3",
+                "has-symbols": "^1.0.1",
+                "object-keys": "^1.1.1"
+            }
+        },
+        "object.getownpropertydescriptors": {
+            "version": "2.1.0",
+            "resolved": "https://registry.npm.taobao.org/object.getownpropertydescriptors/download/object.getownpropertydescriptors-2.1.0.tgz",
+            "integrity": "sha1-Npvx+VktiridcS3O1cuBx8U1Jkk=",
+            "dev": true,
+            "requires": {
+                "define-properties": "^1.1.3",
+                "es-abstract": "^1.17.0-next.1"
+            }
+        },
+        "object.pick": {
+            "version": "1.3.0",
+            "resolved": "https://registry.npm.taobao.org/object.pick/download/object.pick-1.3.0.tgz",
+            "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
+            "dev": true,
+            "requires": {
+                "isobject": "^3.0.1"
+            }
+        },
+        "object.values": {
+            "version": "1.1.1",
+            "resolved": "https://registry.npm.taobao.org/object.values/download/object.values-1.1.1.tgz",
+            "integrity": "sha1-aKmezeNWt+kpWjxeDOMdyMlT3l4=",
+            "dev": true,
+            "requires": {
+                "define-properties": "^1.1.3",
+                "es-abstract": "^1.17.0-next.1",
+                "function-bind": "^1.1.1",
+                "has": "^1.0.3"
+            }
+        },
+        "obuf": {
+            "version": "1.1.2",
+            "resolved": "https://registry.npm.taobao.org/obuf/download/obuf-1.1.2.tgz",
+            "integrity": "sha1-Cb6jND1BhZ69RGKS0RydTbYZCE4=",
+            "dev": true
+        },
+        "on-finished": {
+            "version": "2.3.0",
+            "resolved": "https://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz",
+            "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
+            "dev": true,
+            "requires": {
+                "ee-first": "1.1.1"
+            }
+        },
+        "on-headers": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npm.taobao.org/on-headers/download/on-headers-1.0.2.tgz",
+            "integrity": "sha1-dysK5qqlJcOZ5Imt+tkMQD6zwo8=",
+            "dev": true
+        },
+        "once": {
+            "version": "1.4.0",
+            "resolved": "https://registry.npm.taobao.org/once/download/once-1.4.0.tgz",
+            "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+            "requires": {
+                "wrappy": "1"
+            }
+        },
+        "onetime": {
+            "version": "2.0.1",
+            "resolved": "https://registry.npm.taobao.org/onetime/download/onetime-2.0.1.tgz?cache=0&sync_timestamp=1597005345612&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fonetime%2Fdownload%2Fonetime-2.0.1.tgz",
+            "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
+            "dev": true,
+            "requires": {
+                "mimic-fn": "^1.0.0"
+            }
+        },
+        "opener": {
+            "version": "1.5.2",
+            "resolved": "https://registry.npm.taobao.org/opener/download/opener-1.5.2.tgz?cache=0&sync_timestamp=1598733244715&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fopener%2Fdownload%2Fopener-1.5.2.tgz",
+            "integrity": "sha1-XTfh81B3udysQwE3InGv3rKhNZg=",
+            "dev": true
+        },
+        "opn": {
+            "version": "5.5.0",
+            "resolved": "https://registry.npm.taobao.org/opn/download/opn-5.5.0.tgz",
+            "integrity": "sha1-/HFk+rVtI1kExRw7J9pnWMo7m/w=",
+            "dev": true,
+            "requires": {
+                "is-wsl": "^1.1.0"
+            }
+        },
+        "optimize-css-assets-webpack-plugin": {
+            "version": "3.2.1",
+            "resolved": "https://registry.npm.taobao.org/optimize-css-assets-webpack-plugin/download/optimize-css-assets-webpack-plugin-3.2.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Foptimize-css-assets-webpack-plugin%2Fdownload%2Foptimize-css-assets-webpack-plugin-3.2.1.tgz",
+            "integrity": "sha1-nRhlSg4FjAkL3ZkbBLyw9vJIZXM=",
+            "dev": true,
+            "requires": {
+                "cssnano": "^4.1.10",
+                "last-call-webpack-plugin": "^2.1.2"
+            },
+            "dependencies": {
+                "cssnano": {
+                    "version": "4.1.10",
+                    "resolved": "https://registry.npm.taobao.org/cssnano/download/cssnano-4.1.10.tgz?cache=0&sync_timestamp=1603212729205&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcssnano%2Fdownload%2Fcssnano-4.1.10.tgz",
+                    "integrity": "sha1-CsQfCxPRPUZUh+ERt3jULaYxuLI=",
+                    "dev": true,
+                    "requires": {
+                        "cosmiconfig": "^5.0.0",
+                        "cssnano-preset-default": "^4.0.7",
+                        "is-resolvable": "^1.0.0",
+                        "postcss": "^7.0.0"
+                    }
+                },
+                "postcss": {
+                    "version": "7.0.35",
+                    "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-7.0.35.tgz?cache=0&sync_timestamp=1603496056144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-7.0.35.tgz",
+                    "integrity": "sha1-0r4AuZj38hHYonaXQHny6SuXDiQ=",
+                    "dev": true,
+                    "requires": {
+                        "chalk": "^2.4.2",
+                        "source-map": "^0.6.1",
+                        "supports-color": "^6.1.0"
+                    }
+                },
+                "supports-color": {
+                    "version": "6.1.0",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-6.1.0.tgz",
+                    "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^3.0.0"
+                    }
+                }
+            }
+        },
+        "ora": {
+            "version": "1.4.0",
+            "resolved": "https://registry.npm.taobao.org/ora/download/ora-1.4.0.tgz?cache=0&sync_timestamp=1599424857800&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fora%2Fdownload%2Fora-1.4.0.tgz",
+            "integrity": "sha1-iERYIVs6XUCXWSKF+TMhu3p54uU=",
+            "dev": true,
+            "requires": {
+                "chalk": "^2.1.0",
+                "cli-cursor": "^2.1.0",
+                "cli-spinners": "^1.0.1",
+                "log-symbols": "^2.1.0"
+            }
+        },
+        "original": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npm.taobao.org/original/download/original-1.0.2.tgz",
+            "integrity": "sha1-5EKmHP/hxf0gpl8yYcJmY7MD8l8=",
+            "dev": true,
+            "requires": {
+                "url-parse": "^1.4.3"
+            }
+        },
+        "os-browserify": {
+            "version": "0.3.0",
+            "resolved": "https://registry.npm.taobao.org/os-browserify/download/os-browserify-0.3.0.tgz",
+            "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
+            "dev": true
+        },
+        "os-homedir": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npm.taobao.org/os-homedir/download/os-homedir-1.0.2.tgz",
+            "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
+            "dev": true
+        },
+        "os-locale": {
+            "version": "2.1.0",
+            "resolved": "https://registry.npm.taobao.org/os-locale/download/os-locale-2.1.0.tgz",
+            "integrity": "sha1-QrwpAKa1uL0XN2yOiCtlr8zyS/I=",
+            "dev": true,
+            "requires": {
+                "execa": "^0.7.0",
+                "lcid": "^1.0.0",
+                "mem": "^1.1.0"
+            }
+        },
+        "os-tmpdir": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz",
+            "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
+            "dev": true
+        },
+        "p-finally": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/p-finally/download/p-finally-1.0.0.tgz",
+            "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
+            "dev": true
+        },
+        "p-limit": {
+            "version": "1.3.0",
+            "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-1.3.0.tgz",
+            "integrity": "sha1-uGvV8MJWkJEcdZD8v8IBDVSzzLg=",
+            "requires": {
+                "p-try": "^1.0.0"
+            }
+        },
+        "p-locate": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-2.0.0.tgz",
+            "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
+            "requires": {
+                "p-limit": "^1.1.0"
+            }
+        },
+        "p-map": {
+            "version": "1.2.0",
+            "resolved": "https://registry.npm.taobao.org/p-map/download/p-map-1.2.0.tgz",
+            "integrity": "sha1-5OlPMR6rvIYzoeeZCBZfyiYkG2s=",
+            "dev": true
+        },
+        "p-try": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-1.0.0.tgz",
+            "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M="
+        },
+        "pako": {
+            "version": "1.0.11",
+            "resolved": "https://registry.npm.taobao.org/pako/download/pako-1.0.11.tgz",
+            "integrity": "sha1-bJWZ00DVTf05RjgCUqNXBaa5kr8=",
+            "dev": true
+        },
+        "parallel-transform": {
+            "version": "1.2.0",
+            "resolved": "https://registry.npm.taobao.org/parallel-transform/download/parallel-transform-1.2.0.tgz",
+            "integrity": "sha1-kEnKN9bLIYLDsdLHIL6U0UpYFPw=",
+            "dev": true,
+            "requires": {
+                "cyclist": "^1.0.1",
+                "inherits": "^2.0.3",
+                "readable-stream": "^2.1.5"
+            }
+        },
+        "param-case": {
+            "version": "2.1.1",
+            "resolved": "https://registry.npm.taobao.org/param-case/download/param-case-2.1.1.tgz",
+            "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=",
+            "dev": true,
+            "requires": {
+                "no-case": "^2.2.0"
+            }
+        },
+        "parent-module": {
+            "version": "1.0.1",
+            "resolved": "https://registry.nlark.com/parent-module/download/parent-module-1.0.1.tgz",
+            "integrity": "sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI=",
+            "requires": {
+                "callsites": "^3.0.0"
+            },
+            "dependencies": {
+                "callsites": {
+                    "version": "3.1.0",
+                    "resolved": "https://registry.npm.taobao.org/callsites/download/callsites-3.1.0.tgz",
+                    "integrity": "sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M="
+                }
+            }
+        },
+        "parse-asn1": {
+            "version": "5.1.6",
+            "resolved": "https://registry.npm.taobao.org/parse-asn1/download/parse-asn1-5.1.6.tgz?cache=0&sync_timestamp=1597167309380&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-asn1%2Fdownload%2Fparse-asn1-5.1.6.tgz",
+            "integrity": "sha1-OFCAo+wTy2KmLTlAnLPoiETNrtQ=",
+            "dev": true,
+            "requires": {
+                "asn1.js": "^5.2.0",
+                "browserify-aes": "^1.0.0",
+                "evp_bytestokey": "^1.0.0",
+                "pbkdf2": "^3.0.3",
+                "safe-buffer": "^5.1.1"
+            }
+        },
+        "parse-github-repo-url": {
+            "version": "1.4.1",
+            "resolved": "https://registry.npm.taobao.org/parse-github-repo-url/download/parse-github-repo-url-1.4.1.tgz",
+            "integrity": "sha1-nn2LslKmy2ukJZUGC3v23z28H1A="
+        },
+        "parse-json": {
+            "version": "4.0.0",
+            "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-4.0.0.tgz?cache=0&sync_timestamp=1598129182781&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-json-4.0.0.tgz",
+            "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
+            "requires": {
+                "error-ex": "^1.3.1",
+                "json-parse-better-errors": "^1.0.1"
+            }
+        },
+        "parseurl": {
+            "version": "1.3.3",
+            "resolved": "https://registry.npm.taobao.org/parseurl/download/parseurl-1.3.3.tgz",
+            "integrity": "sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ=",
+            "dev": true
+        },
+        "pascalcase": {
+            "version": "0.1.1",
+            "resolved": "https://registry.npm.taobao.org/pascalcase/download/pascalcase-0.1.1.tgz",
+            "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
+            "dev": true
+        },
+        "path-browserify": {
+            "version": "0.0.1",
+            "resolved": "https://registry.npm.taobao.org/path-browserify/download/path-browserify-0.0.1.tgz",
+            "integrity": "sha1-5sTd1+06onxoogzE5Q4aTug7vEo=",
+            "dev": true
+        },
+        "path-dirname": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npm.taobao.org/path-dirname/download/path-dirname-1.0.2.tgz",
+            "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
+            "dev": true
+        },
+        "path-exists": {
+            "version": "3.0.0",
+            "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz",
+            "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU="
+        },
+        "path-is-absolute": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz",
+            "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
+        },
+        "path-is-inside": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npm.taobao.org/path-is-inside/download/path-is-inside-1.0.2.tgz",
+            "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
+            "dev": true
+        },
+        "path-key": {
+            "version": "2.0.1",
+            "resolved": "https://registry.npm.taobao.org/path-key/download/path-key-2.0.1.tgz",
+            "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
+            "dev": true
+        },
+        "path-parse": {
+            "version": "1.0.6",
+            "resolved": "https://registry.npm.taobao.org/path-parse/download/path-parse-1.0.6.tgz",
+            "integrity": "sha1-1i27VnlAXXLEc37FhgDp3c8G0kw="
+        },
+        "path-to-regexp": {
+            "version": "0.1.7",
+            "resolved": "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz",
+            "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=",
+            "dev": true
+        },
+        "path-type": {
+            "version": "3.0.0",
+            "resolved": "https://registry.npm.taobao.org/path-type/download/path-type-3.0.0.tgz",
+            "integrity": "sha1-zvMdyOCho7sNEFwM2Xzzv0f0428=",
+            "requires": {
+                "pify": "^3.0.0"
+            }
+        },
+        "pbkdf2": {
+            "version": "3.1.1",
+            "resolved": "https://registry.npm.taobao.org/pbkdf2/download/pbkdf2-3.1.1.tgz",
+            "integrity": "sha1-y4cksPramEWWhW0abrr9NYRlS5Q=",
+            "dev": true,
+            "requires": {
+                "create-hash": "^1.1.2",
+                "create-hmac": "^1.1.4",
+                "ripemd160": "^2.0.1",
+                "safe-buffer": "^5.0.1",
+                "sha.js": "^2.4.8"
+            }
+        },
+        "performance-now": {
+            "version": "2.1.0",
+            "resolved": "https://registry.nlark.com/performance-now/download/performance-now-2.1.0.tgz",
+            "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
+            "dev": true
+        },
+        "picomatch": {
+            "version": "2.2.2",
+            "resolved": "https://registry.npm.taobao.org/picomatch/download/picomatch-2.2.2.tgz",
+            "integrity": "sha1-IfMz6ba46v8CRo9RRupAbTRfTa0=",
+            "dev": true,
+            "optional": true
+        },
+        "pify": {
+            "version": "3.0.0",
+            "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz",
+            "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY="
+        },
+        "pinkie": {
+            "version": "2.0.4",
+            "resolved": "https://registry.npm.taobao.org/pinkie/download/pinkie-2.0.4.tgz",
+            "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA="
+        },
+        "pinkie-promise": {
+            "version": "2.0.1",
+            "resolved": "https://registry.npm.taobao.org/pinkie-promise/download/pinkie-promise-2.0.1.tgz",
+            "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+            "requires": {
+                "pinkie": "^2.0.0"
+            }
+        },
+        "pkg-dir": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-2.0.0.tgz?cache=0&sync_timestamp=1602859045787&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpkg-dir%2Fdownload%2Fpkg-dir-2.0.0.tgz",
+            "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
+            "dev": true,
+            "requires": {
+                "find-up": "^2.1.0"
+            }
+        },
+        "portfinder": {
+            "version": "1.0.28",
+            "resolved": "https://registry.npm.taobao.org/portfinder/download/portfinder-1.0.28.tgz?cache=0&sync_timestamp=1596018176291&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fportfinder%2Fdownload%2Fportfinder-1.0.28.tgz",
+            "integrity": "sha1-Z8RiKFK9U3TdHdkA93n1NGL6x3g=",
+            "dev": true,
+            "requires": {
+                "async": "^2.6.2",
+                "debug": "^3.1.1",
+                "mkdirp": "^0.5.5"
+            },
+            "dependencies": {
+                "debug": {
+                    "version": "3.2.6",
+                    "resolved": "https://registry.npm.taobao.org/debug/download/debug-3.2.6.tgz?cache=0&sync_timestamp=1600502894812&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-3.2.6.tgz",
+                    "integrity": "sha1-6D0X3hbYp++3cX7b5fsQE17uYps=",
+                    "dev": true,
+                    "requires": {
+                        "ms": "^2.1.1"
+                    }
+                },
+                "ms": {
+                    "version": "2.1.2",
+                    "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz",
+                    "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
+                    "dev": true
+                }
+            }
+        },
+        "posix-character-classes": {
+            "version": "0.1.1",
+            "resolved": "https://registry.npm.taobao.org/posix-character-classes/download/posix-character-classes-0.1.1.tgz",
+            "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
+            "dev": true
+        },
+        "postcss": {
+            "version": "6.0.23",
+            "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-6.0.23.tgz?cache=0&sync_timestamp=1603496056144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-6.0.23.tgz",
+            "integrity": "sha1-YcgswyisYOZ3ZF+XkFTrmLwOMyQ=",
+            "dev": true,
+            "requires": {
+                "chalk": "^2.4.1",
+                "source-map": "^0.6.1",
+                "supports-color": "^5.4.0"
+            }
+        },
+        "postcss-calc": {
+            "version": "5.3.1",
+            "resolved": "https://registry.npm.taobao.org/postcss-calc/download/postcss-calc-5.3.1.tgz?cache=0&sync_timestamp=1601732630249&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-calc%2Fdownload%2Fpostcss-calc-5.3.1.tgz",
+            "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=",
+            "dev": true,
+            "requires": {
+                "postcss": "^5.0.2",
+                "postcss-message-helpers": "^2.0.0",
+                "reduce-css-calc": "^1.2.6"
+            },
+            "dependencies": {
+                "ansi-styles": {
+                    "version": "2.2.1",
+                    "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz?cache=0&sync_timestamp=1601839122515&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-2.2.1.tgz",
+                    "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+                    "dev": true
+                },
+                "chalk": {
+                    "version": "1.1.3",
+                    "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz",
+                    "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+                    "dev": true,
+                    "requires": {
+                        "ansi-styles": "^2.2.1",
+                        "escape-string-regexp": "^1.0.2",
+                        "has-ansi": "^2.0.0",
+                        "strip-ansi": "^3.0.0",
+                        "supports-color": "^2.0.0"
+                    },
+                    "dependencies": {
+                        "supports-color": {
+                            "version": "2.0.0",
+                            "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz",
+                            "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+                            "dev": true
+                        }
+                    }
+                },
+                "has-flag": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz",
+                    "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+                    "dev": true
+                },
+                "postcss": {
+                    "version": "5.2.18",
+                    "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz?cache=0&sync_timestamp=1603496056144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-5.2.18.tgz",
+                    "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=",
+                    "dev": true,
+                    "requires": {
+                        "chalk": "^1.1.3",
+                        "js-base64": "^2.1.9",
+                        "source-map": "^0.5.6",
+                        "supports-color": "^3.2.3"
+                    }
+                },
+                "source-map": {
+                    "version": "0.5.7",
+                    "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1589682764497&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz",
+                    "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+                    "dev": true
+                },
+                "supports-color": {
+                    "version": "3.2.3",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz",
+                    "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^1.0.0"
+                    }
+                }
+            }
+        },
+        "postcss-colormin": {
+            "version": "2.2.2",
+            "resolved": "https://registry.npm.taobao.org/postcss-colormin/download/postcss-colormin-2.2.2.tgz?cache=0&sync_timestamp=1603212729528&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-colormin%2Fdownload%2Fpostcss-colormin-2.2.2.tgz",
+            "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=",
+            "dev": true,
+            "requires": {
+                "colormin": "^1.0.5",
+                "postcss": "^5.0.13",
+                "postcss-value-parser": "^3.2.3"
+            },
+            "dependencies": {
+                "ansi-styles": {
+                    "version": "2.2.1",
+                    "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz?cache=0&sync_timestamp=1601839122515&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-2.2.1.tgz",
+                    "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+                    "dev": true
+                },
+                "chalk": {
+                    "version": "1.1.3",
+                    "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz",
+                    "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+                    "dev": true,
+                    "requires": {
+                        "ansi-styles": "^2.2.1",
+                        "escape-string-regexp": "^1.0.2",
+                        "has-ansi": "^2.0.0",
+                        "strip-ansi": "^3.0.0",
+                        "supports-color": "^2.0.0"
+                    },
+                    "dependencies": {
+                        "supports-color": {
+                            "version": "2.0.0",
+                            "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz",
+                            "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+                            "dev": true
+                        }
+                    }
+                },
+                "has-flag": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz",
+                    "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+                    "dev": true
+                },
+                "postcss": {
+                    "version": "5.2.18",
+                    "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz?cache=0&sync_timestamp=1603496056144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-5.2.18.tgz",
+                    "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=",
+                    "dev": true,
+                    "requires": {
+                        "chalk": "^1.1.3",
+                        "js-base64": "^2.1.9",
+                        "source-map": "^0.5.6",
+                        "supports-color": "^3.2.3"
+                    }
+                },
+                "source-map": {
+                    "version": "0.5.7",
+                    "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1589682764497&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz",
+                    "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+                    "dev": true
+                },
+                "supports-color": {
+                    "version": "3.2.3",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz",
+                    "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^1.0.0"
+                    }
+                }
+            }
+        },
+        "postcss-convert-values": {
+            "version": "2.6.1",
+            "resolved": "https://registry.npm.taobao.org/postcss-convert-values/download/postcss-convert-values-2.6.1.tgz?cache=0&sync_timestamp=1603212729674&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-convert-values%2Fdownload%2Fpostcss-convert-values-2.6.1.tgz",
+            "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=",
+            "dev": true,
+            "requires": {
+                "postcss": "^5.0.11",
+                "postcss-value-parser": "^3.1.2"
+            },
+            "dependencies": {
+                "ansi-styles": {
+                    "version": "2.2.1",
+                    "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz?cache=0&sync_timestamp=1601839122515&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-2.2.1.tgz",
+                    "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+                    "dev": true
+                },
+                "chalk": {
+                    "version": "1.1.3",
+                    "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz",
+                    "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+                    "dev": true,
+                    "requires": {
+                        "ansi-styles": "^2.2.1",
+                        "escape-string-regexp": "^1.0.2",
+                        "has-ansi": "^2.0.0",
+                        "strip-ansi": "^3.0.0",
+                        "supports-color": "^2.0.0"
+                    },
+                    "dependencies": {
+                        "supports-color": {
+                            "version": "2.0.0",
+                            "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz",
+                            "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+                            "dev": true
+                        }
+                    }
+                },
+                "has-flag": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz",
+                    "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+                    "dev": true
+                },
+                "postcss": {
+                    "version": "5.2.18",
+                    "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz?cache=0&sync_timestamp=1603496056144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-5.2.18.tgz",
+                    "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=",
+                    "dev": true,
+                    "requires": {
+                        "chalk": "^1.1.3",
+                        "js-base64": "^2.1.9",
+                        "source-map": "^0.5.6",
+                        "supports-color": "^3.2.3"
+                    }
+                },
+                "source-map": {
+                    "version": "0.5.7",
+                    "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1589682764497&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz",
+                    "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+                    "dev": true
+                },
+                "supports-color": {
+                    "version": "3.2.3",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz",
+                    "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^1.0.0"
+                    }
+                }
+            }
+        },
+        "postcss-discard-comments": {
+            "version": "2.0.4",
+            "resolved": "https://registry.npm.taobao.org/postcss-discard-comments/download/postcss-discard-comments-2.0.4.tgz?cache=0&sync_timestamp=1603214702204&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-discard-comments%2Fdownload%2Fpostcss-discard-comments-2.0.4.tgz",
+            "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=",
+            "dev": true,
+            "requires": {
+                "postcss": "^5.0.14"
+            },
+            "dependencies": {
+                "ansi-styles": {
+                    "version": "2.2.1",
+                    "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz?cache=0&sync_timestamp=1601839122515&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-2.2.1.tgz",
+                    "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+                    "dev": true
+                },
+                "chalk": {
+                    "version": "1.1.3",
+                    "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz",
+                    "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+                    "dev": true,
+                    "requires": {
+                        "ansi-styles": "^2.2.1",
+                        "escape-string-regexp": "^1.0.2",
+                        "has-ansi": "^2.0.0",
+                        "strip-ansi": "^3.0.0",
+                        "supports-color": "^2.0.0"
+                    },
+                    "dependencies": {
+                        "supports-color": {
+                            "version": "2.0.0",
+                            "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz",
+                            "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+                            "dev": true
+                        }
+                    }
+                },
+                "has-flag": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz",
+                    "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+                    "dev": true
+                },
+                "postcss": {
+                    "version": "5.2.18",
+                    "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz?cache=0&sync_timestamp=1603496056144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-5.2.18.tgz",
+                    "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=",
+                    "dev": true,
+                    "requires": {
+                        "chalk": "^1.1.3",
+                        "js-base64": "^2.1.9",
+                        "source-map": "^0.5.6",
+                        "supports-color": "^3.2.3"
+                    }
+                },
+                "source-map": {
+                    "version": "0.5.7",
+                    "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1589682764497&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz",
+                    "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+                    "dev": true
+                },
+                "supports-color": {
+                    "version": "3.2.3",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz",
+                    "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^1.0.0"
+                    }
+                }
+            }
+        },
+        "postcss-discard-duplicates": {
+            "version": "2.1.0",
+            "resolved": "https://registry.npm.taobao.org/postcss-discard-duplicates/download/postcss-discard-duplicates-2.1.0.tgz?cache=0&sync_timestamp=1603214703212&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-discard-duplicates%2Fdownload%2Fpostcss-discard-duplicates-2.1.0.tgz",
+            "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=",
+            "dev": true,
+            "requires": {
+                "postcss": "^5.0.4"
+            },
+            "dependencies": {
+                "ansi-styles": {
+                    "version": "2.2.1",
+                    "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz?cache=0&sync_timestamp=1601839122515&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-2.2.1.tgz",
+                    "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+                    "dev": true
+                },
+                "chalk": {
+                    "version": "1.1.3",
+                    "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz",
+                    "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+                    "dev": true,
+                    "requires": {
+                        "ansi-styles": "^2.2.1",
+                        "escape-string-regexp": "^1.0.2",
+                        "has-ansi": "^2.0.0",
+                        "strip-ansi": "^3.0.0",
+                        "supports-color": "^2.0.0"
+                    },
+                    "dependencies": {
+                        "supports-color": {
+                            "version": "2.0.0",
+                            "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz",
+                            "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+                            "dev": true
+                        }
+                    }
+                },
+                "has-flag": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz",
+                    "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+                    "dev": true
+                },
+                "postcss": {
+                    "version": "5.2.18",
+                    "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz?cache=0&sync_timestamp=1603496056144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-5.2.18.tgz",
+                    "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=",
+                    "dev": true,
+                    "requires": {
+                        "chalk": "^1.1.3",
+                        "js-base64": "^2.1.9",
+                        "source-map": "^0.5.6",
+                        "supports-color": "^3.2.3"
+                    }
+                },
+                "source-map": {
+                    "version": "0.5.7",
+                    "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1589682764497&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz",
+                    "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+                    "dev": true
+                },
+                "supports-color": {
+                    "version": "3.2.3",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz",
+                    "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^1.0.0"
+                    }
+                }
+            }
+        },
+        "postcss-discard-empty": {
+            "version": "2.1.0",
+            "resolved": "https://registry.npm.taobao.org/postcss-discard-empty/download/postcss-discard-empty-2.1.0.tgz?cache=0&sync_timestamp=1603212724216&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-discard-empty%2Fdownload%2Fpostcss-discard-empty-2.1.0.tgz",
+            "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=",
+            "dev": true,
+            "requires": {
+                "postcss": "^5.0.14"
+            },
+            "dependencies": {
+                "ansi-styles": {
+                    "version": "2.2.1",
+                    "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz?cache=0&sync_timestamp=1601839122515&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-2.2.1.tgz",
+                    "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+                    "dev": true
+                },
+                "chalk": {
+                    "version": "1.1.3",
+                    "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz",
+                    "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+                    "dev": true,
+                    "requires": {
+                        "ansi-styles": "^2.2.1",
+                        "escape-string-regexp": "^1.0.2",
+                        "has-ansi": "^2.0.0",
+                        "strip-ansi": "^3.0.0",
+                        "supports-color": "^2.0.0"
+                    },
+                    "dependencies": {
+                        "supports-color": {
+                            "version": "2.0.0",
+                            "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz",
+                            "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+                            "dev": true
+                        }
+                    }
+                },
+                "has-flag": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz",
+                    "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+                    "dev": true
+                },
+                "postcss": {
+                    "version": "5.2.18",
+                    "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz?cache=0&sync_timestamp=1603496056144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-5.2.18.tgz",
+                    "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=",
+                    "dev": true,
+                    "requires": {
+                        "chalk": "^1.1.3",
+                        "js-base64": "^2.1.9",
+                        "source-map": "^0.5.6",
+                        "supports-color": "^3.2.3"
+                    }
+                },
+                "source-map": {
+                    "version": "0.5.7",
+                    "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1589682764497&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz",
+                    "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+                    "dev": true
+                },
+                "supports-color": {
+                    "version": "3.2.3",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz",
+                    "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^1.0.0"
+                    }
+                }
+            }
+        },
+        "postcss-discard-overridden": {
+            "version": "0.1.1",
+            "resolved": "https://registry.npm.taobao.org/postcss-discard-overridden/download/postcss-discard-overridden-0.1.1.tgz?cache=0&sync_timestamp=1603212724307&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-discard-overridden%2Fdownload%2Fpostcss-discard-overridden-0.1.1.tgz",
+            "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=",
+            "dev": true,
+            "requires": {
+                "postcss": "^5.0.16"
+            },
+            "dependencies": {
+                "ansi-styles": {
+                    "version": "2.2.1",
+                    "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz?cache=0&sync_timestamp=1601839122515&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-2.2.1.tgz",
+                    "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+                    "dev": true
+                },
+                "chalk": {
+                    "version": "1.1.3",
+                    "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz",
+                    "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+                    "dev": true,
+                    "requires": {
+                        "ansi-styles": "^2.2.1",
+                        "escape-string-regexp": "^1.0.2",
+                        "has-ansi": "^2.0.0",
+                        "strip-ansi": "^3.0.0",
+                        "supports-color": "^2.0.0"
+                    },
+                    "dependencies": {
+                        "supports-color": {
+                            "version": "2.0.0",
+                            "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz",
+                            "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+                            "dev": true
+                        }
+                    }
+                },
+                "has-flag": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz",
+                    "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+                    "dev": true
+                },
+                "postcss": {
+                    "version": "5.2.18",
+                    "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz?cache=0&sync_timestamp=1603496056144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-5.2.18.tgz",
+                    "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=",
+                    "dev": true,
+                    "requires": {
+                        "chalk": "^1.1.3",
+                        "js-base64": "^2.1.9",
+                        "source-map": "^0.5.6",
+                        "supports-color": "^3.2.3"
+                    }
+                },
+                "source-map": {
+                    "version": "0.5.7",
+                    "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1589682764497&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz",
+                    "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+                    "dev": true
+                },
+                "supports-color": {
+                    "version": "3.2.3",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz",
+                    "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^1.0.0"
+                    }
+                }
+            }
+        },
+        "postcss-discard-unused": {
+            "version": "2.2.3",
+            "resolved": "https://registry.npm.taobao.org/postcss-discard-unused/download/postcss-discard-unused-2.2.3.tgz?cache=0&sync_timestamp=1603212724416&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-discard-unused%2Fdownload%2Fpostcss-discard-unused-2.2.3.tgz",
+            "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=",
+            "dev": true,
+            "requires": {
+                "postcss": "^5.0.14",
+                "uniqs": "^2.0.0"
+            },
+            "dependencies": {
+                "ansi-styles": {
+                    "version": "2.2.1",
+                    "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz?cache=0&sync_timestamp=1601839122515&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-2.2.1.tgz",
+                    "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+                    "dev": true
+                },
+                "chalk": {
+                    "version": "1.1.3",
+                    "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz",
+                    "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+                    "dev": true,
+                    "requires": {
+                        "ansi-styles": "^2.2.1",
+                        "escape-string-regexp": "^1.0.2",
+                        "has-ansi": "^2.0.0",
+                        "strip-ansi": "^3.0.0",
+                        "supports-color": "^2.0.0"
+                    },
+                    "dependencies": {
+                        "supports-color": {
+                            "version": "2.0.0",
+                            "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz",
+                            "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+                            "dev": true
+                        }
+                    }
+                },
+                "has-flag": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz",
+                    "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+                    "dev": true
+                },
+                "postcss": {
+                    "version": "5.2.18",
+                    "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz?cache=0&sync_timestamp=1603496056144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-5.2.18.tgz",
+                    "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=",
+                    "dev": true,
+                    "requires": {
+                        "chalk": "^1.1.3",
+                        "js-base64": "^2.1.9",
+                        "source-map": "^0.5.6",
+                        "supports-color": "^3.2.3"
+                    }
+                },
+                "source-map": {
+                    "version": "0.5.7",
+                    "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1589682764497&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz",
+                    "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+                    "dev": true
+                },
+                "supports-color": {
+                    "version": "3.2.3",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz",
+                    "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^1.0.0"
+                    }
+                }
+            }
+        },
+        "postcss-filter-plugins": {
+            "version": "2.0.3",
+            "resolved": "https://registry.npm.taobao.org/postcss-filter-plugins/download/postcss-filter-plugins-2.0.3.tgz",
+            "integrity": "sha1-giRf34IzcEFkXkdxFNjlk6oYuOw=",
+            "dev": true,
+            "requires": {
+                "postcss": "^5.0.4"
+            },
+            "dependencies": {
+                "ansi-styles": {
+                    "version": "2.2.1",
+                    "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz?cache=0&sync_timestamp=1601839122515&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-2.2.1.tgz",
+                    "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+                    "dev": true
+                },
+                "chalk": {
+                    "version": "1.1.3",
+                    "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz",
+                    "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+                    "dev": true,
+                    "requires": {
+                        "ansi-styles": "^2.2.1",
+                        "escape-string-regexp": "^1.0.2",
+                        "has-ansi": "^2.0.0",
+                        "strip-ansi": "^3.0.0",
+                        "supports-color": "^2.0.0"
+                    },
+                    "dependencies": {
+                        "supports-color": {
+                            "version": "2.0.0",
+                            "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz",
+                            "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+                            "dev": true
+                        }
+                    }
+                },
+                "has-flag": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz",
+                    "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+                    "dev": true
+                },
+                "postcss": {
+                    "version": "5.2.18",
+                    "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz?cache=0&sync_timestamp=1603496056144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-5.2.18.tgz",
+                    "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=",
+                    "dev": true,
+                    "requires": {
+                        "chalk": "^1.1.3",
+                        "js-base64": "^2.1.9",
+                        "source-map": "^0.5.6",
+                        "supports-color": "^3.2.3"
+                    }
+                },
+                "source-map": {
+                    "version": "0.5.7",
+                    "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1589682764497&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz",
+                    "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+                    "dev": true
+                },
+                "supports-color": {
+                    "version": "3.2.3",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz",
+                    "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^1.0.0"
+                    }
+                }
+            }
+        },
+        "postcss-import": {
+            "version": "11.1.0",
+            "resolved": "https://registry.npm.taobao.org/postcss-import/download/postcss-import-11.1.0.tgz",
+            "integrity": "sha1-Vck2LJGSmU7GiGXSJEGd8dspgfA=",
+            "dev": true,
+            "requires": {
+                "postcss": "^6.0.1",
+                "postcss-value-parser": "^3.2.3",
+                "read-cache": "^1.0.0",
+                "resolve": "^1.1.7"
+            }
+        },
+        "postcss-load-config": {
+            "version": "2.1.2",
+            "resolved": "https://registry.npm.taobao.org/postcss-load-config/download/postcss-load-config-2.1.2.tgz?cache=0&sync_timestamp=1601607876353&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-load-config%2Fdownload%2Fpostcss-load-config-2.1.2.tgz",
+            "integrity": "sha1-xepQTyxK7zPHNZo03jVzdyrXUCo=",
+            "dev": true,
+            "requires": {
+                "cosmiconfig": "^5.0.0",
+                "import-cwd": "^2.0.0"
+            }
+        },
+        "postcss-load-options": {
+            "version": "1.2.0",
+            "resolved": "https://registry.npm.taobao.org/postcss-load-options/download/postcss-load-options-1.2.0.tgz",
+            "integrity": "sha1-sJixVZ3awt8EvAuzdfmaXP4rbYw=",
+            "dev": true,
+            "requires": {
+                "cosmiconfig": "^2.1.0",
+                "object-assign": "^4.1.0"
+            },
+            "dependencies": {
+                "cosmiconfig": {
+                    "version": "2.2.2",
+                    "resolved": "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-2.2.2.tgz?cache=0&sync_timestamp=1596310819353&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcosmiconfig%2Fdownload%2Fcosmiconfig-2.2.2.tgz",
+                    "integrity": "sha1-YXPOvVb6wELB9DkO33r2wHx8uJI=",
+                    "dev": true,
+                    "requires": {
+                        "is-directory": "^0.3.1",
+                        "js-yaml": "^3.4.3",
+                        "minimist": "^1.2.0",
+                        "object-assign": "^4.1.0",
+                        "os-homedir": "^1.0.1",
+                        "parse-json": "^2.2.0",
+                        "require-from-string": "^1.1.0"
+                    }
+                },
+                "parse-json": {
+                    "version": "2.2.0",
+                    "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz?cache=0&sync_timestamp=1598129182781&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-json-2.2.0.tgz",
+                    "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+                    "dev": true,
+                    "requires": {
+                        "error-ex": "^1.2.0"
+                    }
+                }
+            }
+        },
+        "postcss-load-plugins": {
+            "version": "2.3.0",
+            "resolved": "https://registry.npm.taobao.org/postcss-load-plugins/download/postcss-load-plugins-2.3.0.tgz",
+            "integrity": "sha1-dFdoEWWZrKLwCfrUJrABdQSdjZI=",
+            "dev": true,
+            "requires": {
+                "cosmiconfig": "^2.1.1",
+                "object-assign": "^4.1.0"
+            },
+            "dependencies": {
+                "cosmiconfig": {
+                    "version": "2.2.2",
+                    "resolved": "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-2.2.2.tgz?cache=0&sync_timestamp=1596310819353&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcosmiconfig%2Fdownload%2Fcosmiconfig-2.2.2.tgz",
+                    "integrity": "sha1-YXPOvVb6wELB9DkO33r2wHx8uJI=",
+                    "dev": true,
+                    "requires": {
+                        "is-directory": "^0.3.1",
+                        "js-yaml": "^3.4.3",
+                        "minimist": "^1.2.0",
+                        "object-assign": "^4.1.0",
+                        "os-homedir": "^1.0.1",
+                        "parse-json": "^2.2.0",
+                        "require-from-string": "^1.1.0"
+                    }
+                },
+                "parse-json": {
+                    "version": "2.2.0",
+                    "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz?cache=0&sync_timestamp=1598129182781&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-json-2.2.0.tgz",
+                    "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+                    "dev": true,
+                    "requires": {
+                        "error-ex": "^1.2.0"
+                    }
+                }
+            }
+        },
+        "postcss-loader": {
+            "version": "2.1.6",
+            "resolved": "https://registry.npm.taobao.org/postcss-loader/download/postcss-loader-2.1.6.tgz",
+            "integrity": "sha1-HX3XsXxrojS5vtWvE+C+pApC10A=",
+            "dev": true,
+            "requires": {
+                "loader-utils": "^1.1.0",
+                "postcss": "^6.0.0",
+                "postcss-load-config": "^2.0.0",
+                "schema-utils": "^0.4.0"
+            },
+            "dependencies": {
+                "ajv": {
+                    "version": "6.12.6",
+                    "resolved": "https://registry.npm.taobao.org/ajv/download/ajv-6.12.6.tgz?cache=0&sync_timestamp=1603561547443&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv%2Fdownload%2Fajv-6.12.6.tgz",
+                    "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=",
+                    "dev": true,
+                    "requires": {
+                        "fast-deep-equal": "^3.1.1",
+                        "fast-json-stable-stringify": "^2.0.0",
+                        "json-schema-traverse": "^0.4.1",
+                        "uri-js": "^4.2.2"
+                    }
+                },
+                "fast-deep-equal": {
+                    "version": "3.1.3",
+                    "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz",
+                    "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=",
+                    "dev": true
+                },
+                "json-schema-traverse": {
+                    "version": "0.4.1",
+                    "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz?cache=0&sync_timestamp=1599333856086&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema-traverse%2Fdownload%2Fjson-schema-traverse-0.4.1.tgz",
+                    "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=",
+                    "dev": true
+                },
+                "schema-utils": {
+                    "version": "0.4.7",
+                    "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-0.4.7.tgz",
+                    "integrity": "sha1-unT1l9K+LqiAExdG7hfQoJPGgYc=",
+                    "dev": true,
+                    "requires": {
+                        "ajv": "^6.1.0",
+                        "ajv-keywords": "^3.1.0"
+                    }
+                }
+            }
+        },
+        "postcss-merge-idents": {
+            "version": "2.1.7",
+            "resolved": "https://registry.npm.taobao.org/postcss-merge-idents/download/postcss-merge-idents-2.1.7.tgz?cache=0&sync_timestamp=1603212724721&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-merge-idents%2Fdownload%2Fpostcss-merge-idents-2.1.7.tgz",
+            "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=",
+            "dev": true,
+            "requires": {
+                "has": "^1.0.1",
+                "postcss": "^5.0.10",
+                "postcss-value-parser": "^3.1.1"
+            },
+            "dependencies": {
+                "ansi-styles": {
+                    "version": "2.2.1",
+                    "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz?cache=0&sync_timestamp=1601839122515&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-2.2.1.tgz",
+                    "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+                    "dev": true
+                },
+                "chalk": {
+                    "version": "1.1.3",
+                    "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz",
+                    "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+                    "dev": true,
+                    "requires": {
+                        "ansi-styles": "^2.2.1",
+                        "escape-string-regexp": "^1.0.2",
+                        "has-ansi": "^2.0.0",
+                        "strip-ansi": "^3.0.0",
+                        "supports-color": "^2.0.0"
+                    },
+                    "dependencies": {
+                        "supports-color": {
+                            "version": "2.0.0",
+                            "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz",
+                            "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+                            "dev": true
+                        }
+                    }
+                },
+                "has-flag": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz",
+                    "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+                    "dev": true
+                },
+                "postcss": {
+                    "version": "5.2.18",
+                    "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz?cache=0&sync_timestamp=1603496056144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-5.2.18.tgz",
+                    "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=",
+                    "dev": true,
+                    "requires": {
+                        "chalk": "^1.1.3",
+                        "js-base64": "^2.1.9",
+                        "source-map": "^0.5.6",
+                        "supports-color": "^3.2.3"
+                    }
+                },
+                "source-map": {
+                    "version": "0.5.7",
+                    "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1589682764497&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz",
+                    "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+                    "dev": true
+                },
+                "supports-color": {
+                    "version": "3.2.3",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz",
+                    "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^1.0.0"
+                    }
+                }
+            }
+        },
+        "postcss-merge-longhand": {
+            "version": "2.0.2",
+            "resolved": "https://registry.npm.taobao.org/postcss-merge-longhand/download/postcss-merge-longhand-2.0.2.tgz?cache=0&sync_timestamp=1603212724836&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-merge-longhand%2Fdownload%2Fpostcss-merge-longhand-2.0.2.tgz",
+            "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=",
+            "dev": true,
+            "requires": {
+                "postcss": "^5.0.4"
+            },
+            "dependencies": {
+                "ansi-styles": {
+                    "version": "2.2.1",
+                    "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz?cache=0&sync_timestamp=1601839122515&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-2.2.1.tgz",
+                    "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+                    "dev": true
+                },
+                "chalk": {
+                    "version": "1.1.3",
+                    "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz",
+                    "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+                    "dev": true,
+                    "requires": {
+                        "ansi-styles": "^2.2.1",
+                        "escape-string-regexp": "^1.0.2",
+                        "has-ansi": "^2.0.0",
+                        "strip-ansi": "^3.0.0",
+                        "supports-color": "^2.0.0"
+                    },
+                    "dependencies": {
+                        "supports-color": {
+                            "version": "2.0.0",
+                            "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz",
+                            "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+                            "dev": true
+                        }
+                    }
+                },
+                "has-flag": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz",
+                    "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+                    "dev": true
+                },
+                "postcss": {
+                    "version": "5.2.18",
+                    "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz?cache=0&sync_timestamp=1603496056144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-5.2.18.tgz",
+                    "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=",
+                    "dev": true,
+                    "requires": {
+                        "chalk": "^1.1.3",
+                        "js-base64": "^2.1.9",
+                        "source-map": "^0.5.6",
+                        "supports-color": "^3.2.3"
+                    }
+                },
+                "source-map": {
+                    "version": "0.5.7",
+                    "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1589682764497&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz",
+                    "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+                    "dev": true
+                },
+                "supports-color": {
+                    "version": "3.2.3",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz",
+                    "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^1.0.0"
+                    }
+                }
+            }
+        },
+        "postcss-merge-rules": {
+            "version": "2.1.2",
+            "resolved": "https://registry.npm.taobao.org/postcss-merge-rules/download/postcss-merge-rules-2.1.2.tgz?cache=0&sync_timestamp=1603212724951&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-merge-rules%2Fdownload%2Fpostcss-merge-rules-2.1.2.tgz",
+            "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=",
+            "dev": true,
+            "requires": {
+                "browserslist": "^1.5.2",
+                "caniuse-api": "^1.5.2",
+                "postcss": "^5.0.4",
+                "postcss-selector-parser": "^2.2.2",
+                "vendors": "^1.0.0"
+            },
+            "dependencies": {
+                "ansi-styles": {
+                    "version": "2.2.1",
+                    "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz?cache=0&sync_timestamp=1601839122515&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-2.2.1.tgz",
+                    "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+                    "dev": true
+                },
+                "browserslist": {
+                    "version": "1.7.7",
+                    "resolved": "https://registry.npm.taobao.org/browserslist/download/browserslist-1.7.7.tgz",
+                    "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=",
+                    "dev": true,
+                    "requires": {
+                        "caniuse-db": "^1.0.30000639",
+                        "electron-to-chromium": "^1.2.7"
+                    }
+                },
+                "chalk": {
+                    "version": "1.1.3",
+                    "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz",
+                    "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+                    "dev": true,
+                    "requires": {
+                        "ansi-styles": "^2.2.1",
+                        "escape-string-regexp": "^1.0.2",
+                        "has-ansi": "^2.0.0",
+                        "strip-ansi": "^3.0.0",
+                        "supports-color": "^2.0.0"
+                    },
+                    "dependencies": {
+                        "supports-color": {
+                            "version": "2.0.0",
+                            "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz",
+                            "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+                            "dev": true
+                        }
+                    }
+                },
+                "has-flag": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz",
+                    "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+                    "dev": true
+                },
+                "postcss": {
+                    "version": "5.2.18",
+                    "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz?cache=0&sync_timestamp=1603496056144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-5.2.18.tgz",
+                    "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=",
+                    "dev": true,
+                    "requires": {
+                        "chalk": "^1.1.3",
+                        "js-base64": "^2.1.9",
+                        "source-map": "^0.5.6",
+                        "supports-color": "^3.2.3"
+                    }
+                },
+                "source-map": {
+                    "version": "0.5.7",
+                    "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1589682764497&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz",
+                    "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+                    "dev": true
+                },
+                "supports-color": {
+                    "version": "3.2.3",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz",
+                    "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^1.0.0"
+                    }
+                }
+            }
+        },
+        "postcss-message-helpers": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npm.taobao.org/postcss-message-helpers/download/postcss-message-helpers-2.0.0.tgz",
+            "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=",
+            "dev": true
+        },
+        "postcss-minify-font-values": {
+            "version": "1.0.5",
+            "resolved": "https://registry.npm.taobao.org/postcss-minify-font-values/download/postcss-minify-font-values-1.0.5.tgz?cache=0&sync_timestamp=1603212725064&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-minify-font-values%2Fdownload%2Fpostcss-minify-font-values-1.0.5.tgz",
+            "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=",
+            "dev": true,
+            "requires": {
+                "object-assign": "^4.0.1",
+                "postcss": "^5.0.4",
+                "postcss-value-parser": "^3.0.2"
+            },
+            "dependencies": {
+                "ansi-styles": {
+                    "version": "2.2.1",
+                    "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz?cache=0&sync_timestamp=1601839122515&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-2.2.1.tgz",
+                    "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+                    "dev": true
+                },
+                "chalk": {
+                    "version": "1.1.3",
+                    "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz",
+                    "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+                    "dev": true,
+                    "requires": {
+                        "ansi-styles": "^2.2.1",
+                        "escape-string-regexp": "^1.0.2",
+                        "has-ansi": "^2.0.0",
+                        "strip-ansi": "^3.0.0",
+                        "supports-color": "^2.0.0"
+                    },
+                    "dependencies": {
+                        "supports-color": {
+                            "version": "2.0.0",
+                            "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz",
+                            "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+                            "dev": true
+                        }
+                    }
+                },
+                "has-flag": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz",
+                    "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+                    "dev": true
+                },
+                "postcss": {
+                    "version": "5.2.18",
+                    "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz?cache=0&sync_timestamp=1603496056144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-5.2.18.tgz",
+                    "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=",
+                    "dev": true,
+                    "requires": {
+                        "chalk": "^1.1.3",
+                        "js-base64": "^2.1.9",
+                        "source-map": "^0.5.6",
+                        "supports-color": "^3.2.3"
+                    }
+                },
+                "source-map": {
+                    "version": "0.5.7",
+                    "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1589682764497&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz",
+                    "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+                    "dev": true
+                },
+                "supports-color": {
+                    "version": "3.2.3",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz",
+                    "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^1.0.0"
+                    }
+                }
+            }
+        },
+        "postcss-minify-gradients": {
+            "version": "1.0.5",
+            "resolved": "https://registry.npm.taobao.org/postcss-minify-gradients/download/postcss-minify-gradients-1.0.5.tgz?cache=0&sync_timestamp=1603212725189&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-minify-gradients%2Fdownload%2Fpostcss-minify-gradients-1.0.5.tgz",
+            "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=",
+            "dev": true,
+            "requires": {
+                "postcss": "^5.0.12",
+                "postcss-value-parser": "^3.3.0"
+            },
+            "dependencies": {
+                "ansi-styles": {
+                    "version": "2.2.1",
+                    "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz?cache=0&sync_timestamp=1601839122515&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-2.2.1.tgz",
+                    "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+                    "dev": true
+                },
+                "chalk": {
+                    "version": "1.1.3",
+                    "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz",
+                    "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+                    "dev": true,
+                    "requires": {
+                        "ansi-styles": "^2.2.1",
+                        "escape-string-regexp": "^1.0.2",
+                        "has-ansi": "^2.0.0",
+                        "strip-ansi": "^3.0.0",
+                        "supports-color": "^2.0.0"
+                    },
+                    "dependencies": {
+                        "supports-color": {
+                            "version": "2.0.0",
+                            "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz",
+                            "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+                            "dev": true
+                        }
+                    }
+                },
+                "has-flag": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz",
+                    "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+                    "dev": true
+                },
+                "postcss": {
+                    "version": "5.2.18",
+                    "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz?cache=0&sync_timestamp=1603496056144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-5.2.18.tgz",
+                    "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=",
+                    "dev": true,
+                    "requires": {
+                        "chalk": "^1.1.3",
+                        "js-base64": "^2.1.9",
+                        "source-map": "^0.5.6",
+                        "supports-color": "^3.2.3"
+                    }
+                },
+                "source-map": {
+                    "version": "0.5.7",
+                    "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1589682764497&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz",
+                    "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+                    "dev": true
+                },
+                "supports-color": {
+                    "version": "3.2.3",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz",
+                    "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^1.0.0"
+                    }
+                }
+            }
+        },
+        "postcss-minify-params": {
+            "version": "1.2.2",
+            "resolved": "https://registry.npm.taobao.org/postcss-minify-params/download/postcss-minify-params-1.2.2.tgz?cache=0&sync_timestamp=1603212725335&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-minify-params%2Fdownload%2Fpostcss-minify-params-1.2.2.tgz",
+            "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=",
+            "dev": true,
+            "requires": {
+                "alphanum-sort": "^1.0.1",
+                "postcss": "^5.0.2",
+                "postcss-value-parser": "^3.0.2",
+                "uniqs": "^2.0.0"
+            },
+            "dependencies": {
+                "ansi-styles": {
+                    "version": "2.2.1",
+                    "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz?cache=0&sync_timestamp=1601839122515&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-2.2.1.tgz",
+                    "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+                    "dev": true
+                },
+                "chalk": {
+                    "version": "1.1.3",
+                    "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz",
+                    "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+                    "dev": true,
+                    "requires": {
+                        "ansi-styles": "^2.2.1",
+                        "escape-string-regexp": "^1.0.2",
+                        "has-ansi": "^2.0.0",
+                        "strip-ansi": "^3.0.0",
+                        "supports-color": "^2.0.0"
+                    },
+                    "dependencies": {
+                        "supports-color": {
+                            "version": "2.0.0",
+                            "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz",
+                            "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+                            "dev": true
+                        }
+                    }
+                },
+                "has-flag": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz",
+                    "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+                    "dev": true
+                },
+                "postcss": {
+                    "version": "5.2.18",
+                    "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz?cache=0&sync_timestamp=1603496056144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-5.2.18.tgz",
+                    "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=",
+                    "dev": true,
+                    "requires": {
+                        "chalk": "^1.1.3",
+                        "js-base64": "^2.1.9",
+                        "source-map": "^0.5.6",
+                        "supports-color": "^3.2.3"
+                    }
+                },
+                "source-map": {
+                    "version": "0.5.7",
+                    "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1589682764497&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz",
+                    "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+                    "dev": true
+                },
+                "supports-color": {
+                    "version": "3.2.3",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz",
+                    "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^1.0.0"
+                    }
+                }
+            }
+        },
+        "postcss-minify-selectors": {
+            "version": "2.1.1",
+            "resolved": "https://registry.npm.taobao.org/postcss-minify-selectors/download/postcss-minify-selectors-2.1.1.tgz?cache=0&sync_timestamp=1603212725451&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-minify-selectors%2Fdownload%2Fpostcss-minify-selectors-2.1.1.tgz",
+            "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=",
+            "dev": true,
+            "requires": {
+                "alphanum-sort": "^1.0.2",
+                "has": "^1.0.1",
+                "postcss": "^5.0.14",
+                "postcss-selector-parser": "^2.0.0"
+            },
+            "dependencies": {
+                "ansi-styles": {
+                    "version": "2.2.1",
+                    "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz?cache=0&sync_timestamp=1601839122515&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-2.2.1.tgz",
+                    "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+                    "dev": true
+                },
+                "chalk": {
+                    "version": "1.1.3",
+                    "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz",
+                    "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+                    "dev": true,
+                    "requires": {
+                        "ansi-styles": "^2.2.1",
+                        "escape-string-regexp": "^1.0.2",
+                        "has-ansi": "^2.0.0",
+                        "strip-ansi": "^3.0.0",
+                        "supports-color": "^2.0.0"
+                    },
+                    "dependencies": {
+                        "supports-color": {
+                            "version": "2.0.0",
+                            "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz",
+                            "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+                            "dev": true
+                        }
+                    }
+                },
+                "has-flag": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz",
+                    "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+                    "dev": true
+                },
+                "postcss": {
+                    "version": "5.2.18",
+                    "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz?cache=0&sync_timestamp=1603496056144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-5.2.18.tgz",
+                    "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=",
+                    "dev": true,
+                    "requires": {
+                        "chalk": "^1.1.3",
+                        "js-base64": "^2.1.9",
+                        "source-map": "^0.5.6",
+                        "supports-color": "^3.2.3"
+                    }
+                },
+                "source-map": {
+                    "version": "0.5.7",
+                    "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1589682764497&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz",
+                    "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+                    "dev": true
+                },
+                "supports-color": {
+                    "version": "3.2.3",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz",
+                    "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^1.0.0"
+                    }
+                }
+            }
+        },
+        "postcss-modules-extract-imports": {
+            "version": "1.2.1",
+            "resolved": "https://registry.npm.taobao.org/postcss-modules-extract-imports/download/postcss-modules-extract-imports-1.2.1.tgz?cache=0&sync_timestamp=1602588245463&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-extract-imports%2Fdownload%2Fpostcss-modules-extract-imports-1.2.1.tgz",
+            "integrity": "sha1-3IfjQUjsfqtfeR981YSYMzdbdBo=",
+            "dev": true,
+            "requires": {
+                "postcss": "^6.0.1"
+            }
+        },
+        "postcss-modules-local-by-default": {
+            "version": "1.2.0",
+            "resolved": "https://registry.npm.taobao.org/postcss-modules-local-by-default/download/postcss-modules-local-by-default-1.2.0.tgz?cache=0&sync_timestamp=1602587568476&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-local-by-default%2Fdownload%2Fpostcss-modules-local-by-default-1.2.0.tgz",
+            "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=",
+            "dev": true,
+            "requires": {
+                "css-selector-tokenizer": "^0.7.0",
+                "postcss": "^6.0.1"
+            }
+        },
+        "postcss-modules-scope": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npm.taobao.org/postcss-modules-scope/download/postcss-modules-scope-1.1.0.tgz?cache=0&sync_timestamp=1602593260387&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-scope%2Fdownload%2Fpostcss-modules-scope-1.1.0.tgz",
+            "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=",
+            "dev": true,
+            "requires": {
+                "css-selector-tokenizer": "^0.7.0",
+                "postcss": "^6.0.1"
+            }
+        },
+        "postcss-modules-values": {
+            "version": "1.3.0",
+            "resolved": "https://registry.npm.taobao.org/postcss-modules-values/download/postcss-modules-values-1.3.0.tgz?cache=0&sync_timestamp=1602586230505&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-values%2Fdownload%2Fpostcss-modules-values-1.3.0.tgz",
+            "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=",
+            "dev": true,
+            "requires": {
+                "icss-replace-symbols": "^1.1.0",
+                "postcss": "^6.0.1"
+            }
+        },
+        "postcss-normalize-charset": {
+            "version": "1.1.1",
+            "resolved": "https://registry.npm.taobao.org/postcss-normalize-charset/download/postcss-normalize-charset-1.1.1.tgz?cache=0&sync_timestamp=1603212725539&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-charset%2Fdownload%2Fpostcss-normalize-charset-1.1.1.tgz",
+            "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=",
+            "dev": true,
+            "requires": {
+                "postcss": "^5.0.5"
+            },
+            "dependencies": {
+                "ansi-styles": {
+                    "version": "2.2.1",
+                    "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz?cache=0&sync_timestamp=1601839122515&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-2.2.1.tgz",
+                    "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+                    "dev": true
+                },
+                "chalk": {
+                    "version": "1.1.3",
+                    "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz",
+                    "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+                    "dev": true,
+                    "requires": {
+                        "ansi-styles": "^2.2.1",
+                        "escape-string-regexp": "^1.0.2",
+                        "has-ansi": "^2.0.0",
+                        "strip-ansi": "^3.0.0",
+                        "supports-color": "^2.0.0"
+                    },
+                    "dependencies": {
+                        "supports-color": {
+                            "version": "2.0.0",
+                            "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz",
+                            "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+                            "dev": true
+                        }
+                    }
+                },
+                "has-flag": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz",
+                    "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+                    "dev": true
+                },
+                "postcss": {
+                    "version": "5.2.18",
+                    "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz?cache=0&sync_timestamp=1603496056144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-5.2.18.tgz",
+                    "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=",
+                    "dev": true,
+                    "requires": {
+                        "chalk": "^1.1.3",
+                        "js-base64": "^2.1.9",
+                        "source-map": "^0.5.6",
+                        "supports-color": "^3.2.3"
+                    }
+                },
+                "source-map": {
+                    "version": "0.5.7",
+                    "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1589682764497&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz",
+                    "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+                    "dev": true
+                },
+                "supports-color": {
+                    "version": "3.2.3",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz",
+                    "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^1.0.0"
+                    }
+                }
+            }
+        },
+        "postcss-normalize-display-values": {
+            "version": "4.0.2",
+            "resolved": "https://registry.npm.taobao.org/postcss-normalize-display-values/download/postcss-normalize-display-values-4.0.2.tgz?cache=0&sync_timestamp=1603214719221&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-display-values%2Fdownload%2Fpostcss-normalize-display-values-4.0.2.tgz",
+            "integrity": "sha1-Db4EpM6QY9RmftK+R2u4MMglk1o=",
+            "dev": true,
+            "requires": {
+                "cssnano-util-get-match": "^4.0.0",
+                "postcss": "^7.0.0",
+                "postcss-value-parser": "^3.0.0"
+            },
+            "dependencies": {
+                "postcss": {
+                    "version": "7.0.35",
+                    "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-7.0.35.tgz?cache=0&sync_timestamp=1603496056144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-7.0.35.tgz",
+                    "integrity": "sha1-0r4AuZj38hHYonaXQHny6SuXDiQ=",
+                    "dev": true,
+                    "requires": {
+                        "chalk": "^2.4.2",
+                        "source-map": "^0.6.1",
+                        "supports-color": "^6.1.0"
+                    }
+                },
+                "supports-color": {
+                    "version": "6.1.0",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-6.1.0.tgz",
+                    "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^3.0.0"
+                    }
+                }
+            }
+        },
+        "postcss-normalize-positions": {
+            "version": "4.0.2",
+            "resolved": "https://registry.npm.taobao.org/postcss-normalize-positions/download/postcss-normalize-positions-4.0.2.tgz?cache=0&sync_timestamp=1603212743465&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-positions%2Fdownload%2Fpostcss-normalize-positions-4.0.2.tgz",
+            "integrity": "sha1-BfdX+E8mBDc3g2ipH4ky1LECkX8=",
+            "dev": true,
+            "requires": {
+                "cssnano-util-get-arguments": "^4.0.0",
+                "has": "^1.0.0",
+                "postcss": "^7.0.0",
+                "postcss-value-parser": "^3.0.0"
+            },
+            "dependencies": {
+                "postcss": {
+                    "version": "7.0.35",
+                    "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-7.0.35.tgz?cache=0&sync_timestamp=1603496056144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-7.0.35.tgz",
+                    "integrity": "sha1-0r4AuZj38hHYonaXQHny6SuXDiQ=",
+                    "dev": true,
+                    "requires": {
+                        "chalk": "^2.4.2",
+                        "source-map": "^0.6.1",
+                        "supports-color": "^6.1.0"
+                    }
+                },
+                "supports-color": {
+                    "version": "6.1.0",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-6.1.0.tgz",
+                    "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^3.0.0"
+                    }
+                }
+            }
+        },
+        "postcss-normalize-repeat-style": {
+            "version": "4.0.2",
+            "resolved": "https://registry.npm.taobao.org/postcss-normalize-repeat-style/download/postcss-normalize-repeat-style-4.0.2.tgz?cache=0&sync_timestamp=1603212744307&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-repeat-style%2Fdownload%2Fpostcss-normalize-repeat-style-4.0.2.tgz",
+            "integrity": "sha1-xOu8KJ85kaAo1EdRy90RkYsXkQw=",
+            "dev": true,
+            "requires": {
+                "cssnano-util-get-arguments": "^4.0.0",
+                "cssnano-util-get-match": "^4.0.0",
+                "postcss": "^7.0.0",
+                "postcss-value-parser": "^3.0.0"
+            },
+            "dependencies": {
+                "postcss": {
+                    "version": "7.0.35",
+                    "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-7.0.35.tgz?cache=0&sync_timestamp=1603496056144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-7.0.35.tgz",
+                    "integrity": "sha1-0r4AuZj38hHYonaXQHny6SuXDiQ=",
+                    "dev": true,
+                    "requires": {
+                        "chalk": "^2.4.2",
+                        "source-map": "^0.6.1",
+                        "supports-color": "^6.1.0"
+                    }
+                },
+                "supports-color": {
+                    "version": "6.1.0",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-6.1.0.tgz",
+                    "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^3.0.0"
+                    }
+                }
+            }
+        },
+        "postcss-normalize-string": {
+            "version": "4.0.2",
+            "resolved": "https://registry.npm.taobao.org/postcss-normalize-string/download/postcss-normalize-string-4.0.2.tgz?cache=0&sync_timestamp=1603212744390&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-string%2Fdownload%2Fpostcss-normalize-string-4.0.2.tgz",
+            "integrity": "sha1-zUTECrB6DHo23F6Zqs4eyk7CaQw=",
+            "dev": true,
+            "requires": {
+                "has": "^1.0.0",
+                "postcss": "^7.0.0",
+                "postcss-value-parser": "^3.0.0"
+            },
+            "dependencies": {
+                "postcss": {
+                    "version": "7.0.35",
+                    "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-7.0.35.tgz?cache=0&sync_timestamp=1603496056144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-7.0.35.tgz",
+                    "integrity": "sha1-0r4AuZj38hHYonaXQHny6SuXDiQ=",
+                    "dev": true,
+                    "requires": {
+                        "chalk": "^2.4.2",
+                        "source-map": "^0.6.1",
+                        "supports-color": "^6.1.0"
+                    }
+                },
+                "supports-color": {
+                    "version": "6.1.0",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-6.1.0.tgz",
+                    "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^3.0.0"
+                    }
+                }
+            }
+        },
+        "postcss-normalize-timing-functions": {
+            "version": "4.0.2",
+            "resolved": "https://registry.npm.taobao.org/postcss-normalize-timing-functions/download/postcss-normalize-timing-functions-4.0.2.tgz?cache=0&sync_timestamp=1603212744477&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-timing-functions%2Fdownload%2Fpostcss-normalize-timing-functions-4.0.2.tgz",
+            "integrity": "sha1-jgCcoqOUnNr4rSPmtquZy159KNk=",
+            "dev": true,
+            "requires": {
+                "cssnano-util-get-match": "^4.0.0",
+                "postcss": "^7.0.0",
+                "postcss-value-parser": "^3.0.0"
+            },
+            "dependencies": {
+                "postcss": {
+                    "version": "7.0.35",
+                    "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-7.0.35.tgz?cache=0&sync_timestamp=1603496056144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-7.0.35.tgz",
+                    "integrity": "sha1-0r4AuZj38hHYonaXQHny6SuXDiQ=",
+                    "dev": true,
+                    "requires": {
+                        "chalk": "^2.4.2",
+                        "source-map": "^0.6.1",
+                        "supports-color": "^6.1.0"
+                    }
+                },
+                "supports-color": {
+                    "version": "6.1.0",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-6.1.0.tgz",
+                    "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^3.0.0"
+                    }
+                }
+            }
+        },
+        "postcss-normalize-unicode": {
+            "version": "4.0.1",
+            "resolved": "https://registry.npm.taobao.org/postcss-normalize-unicode/download/postcss-normalize-unicode-4.0.1.tgz?cache=0&sync_timestamp=1603212744570&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-unicode%2Fdownload%2Fpostcss-normalize-unicode-4.0.1.tgz",
+            "integrity": "sha1-hBvUj9zzAZrUuqdJOj02O1KuHPs=",
+            "dev": true,
+            "requires": {
+                "browserslist": "^4.0.0",
+                "postcss": "^7.0.0",
+                "postcss-value-parser": "^3.0.0"
+            },
+            "dependencies": {
+                "browserslist": {
+                    "version": "4.14.6",
+                    "resolved": "https://registry.npm.taobao.org/browserslist/download/browserslist-4.14.6.tgz",
+                    "integrity": "sha1-l3AqnCEuDGtq/vrZE9OhU440hFc=",
+                    "dev": true,
+                    "requires": {
+                        "caniuse-lite": "^1.0.30001154",
+                        "electron-to-chromium": "^1.3.585",
+                        "escalade": "^3.1.1",
+                        "node-releases": "^1.1.65"
+                    }
+                },
+                "postcss": {
+                    "version": "7.0.35",
+                    "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-7.0.35.tgz?cache=0&sync_timestamp=1603496056144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-7.0.35.tgz",
+                    "integrity": "sha1-0r4AuZj38hHYonaXQHny6SuXDiQ=",
+                    "dev": true,
+                    "requires": {
+                        "chalk": "^2.4.2",
+                        "source-map": "^0.6.1",
+                        "supports-color": "^6.1.0"
+                    }
+                },
+                "supports-color": {
+                    "version": "6.1.0",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-6.1.0.tgz",
+                    "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^3.0.0"
+                    }
+                }
+            }
+        },
+        "postcss-normalize-url": {
+            "version": "3.0.8",
+            "resolved": "https://registry.npm.taobao.org/postcss-normalize-url/download/postcss-normalize-url-3.0.8.tgz?cache=0&sync_timestamp=1603212726241&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-url%2Fdownload%2Fpostcss-normalize-url-3.0.8.tgz",
+            "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=",
+            "dev": true,
+            "requires": {
+                "is-absolute-url": "^2.0.0",
+                "normalize-url": "^1.4.0",
+                "postcss": "^5.0.14",
+                "postcss-value-parser": "^3.2.3"
+            },
+            "dependencies": {
+                "ansi-styles": {
+                    "version": "2.2.1",
+                    "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz?cache=0&sync_timestamp=1601839122515&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-2.2.1.tgz",
+                    "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+                    "dev": true
+                },
+                "chalk": {
+                    "version": "1.1.3",
+                    "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz",
+                    "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+                    "dev": true,
+                    "requires": {
+                        "ansi-styles": "^2.2.1",
+                        "escape-string-regexp": "^1.0.2",
+                        "has-ansi": "^2.0.0",
+                        "strip-ansi": "^3.0.0",
+                        "supports-color": "^2.0.0"
+                    },
+                    "dependencies": {
+                        "supports-color": {
+                            "version": "2.0.0",
+                            "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz",
+                            "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+                            "dev": true
+                        }
+                    }
+                },
+                "has-flag": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz",
+                    "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+                    "dev": true
+                },
+                "postcss": {
+                    "version": "5.2.18",
+                    "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz?cache=0&sync_timestamp=1603496056144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-5.2.18.tgz",
+                    "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=",
+                    "dev": true,
+                    "requires": {
+                        "chalk": "^1.1.3",
+                        "js-base64": "^2.1.9",
+                        "source-map": "^0.5.6",
+                        "supports-color": "^3.2.3"
+                    }
+                },
+                "source-map": {
+                    "version": "0.5.7",
+                    "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1589682764497&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz",
+                    "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+                    "dev": true
+                },
+                "supports-color": {
+                    "version": "3.2.3",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz",
+                    "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^1.0.0"
+                    }
+                }
+            }
+        },
+        "postcss-normalize-whitespace": {
+            "version": "4.0.2",
+            "resolved": "https://registry.npm.taobao.org/postcss-normalize-whitespace/download/postcss-normalize-whitespace-4.0.2.tgz?cache=0&sync_timestamp=1603212744791&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-normalize-whitespace%2Fdownload%2Fpostcss-normalize-whitespace-4.0.2.tgz",
+            "integrity": "sha1-vx1AcP5Pzqh9E0joJdjMDF+qfYI=",
+            "dev": true,
+            "requires": {
+                "postcss": "^7.0.0",
+                "postcss-value-parser": "^3.0.0"
+            },
+            "dependencies": {
+                "postcss": {
+                    "version": "7.0.35",
+                    "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-7.0.35.tgz?cache=0&sync_timestamp=1603496056144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-7.0.35.tgz",
+                    "integrity": "sha1-0r4AuZj38hHYonaXQHny6SuXDiQ=",
+                    "dev": true,
+                    "requires": {
+                        "chalk": "^2.4.2",
+                        "source-map": "^0.6.1",
+                        "supports-color": "^6.1.0"
+                    }
+                },
+                "supports-color": {
+                    "version": "6.1.0",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-6.1.0.tgz",
+                    "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^3.0.0"
+                    }
+                }
+            }
+        },
+        "postcss-ordered-values": {
+            "version": "2.2.3",
+            "resolved": "https://registry.npm.taobao.org/postcss-ordered-values/download/postcss-ordered-values-2.2.3.tgz?cache=0&sync_timestamp=1603212726427&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-ordered-values%2Fdownload%2Fpostcss-ordered-values-2.2.3.tgz",
+            "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=",
+            "dev": true,
+            "requires": {
+                "postcss": "^5.0.4",
+                "postcss-value-parser": "^3.0.1"
+            },
+            "dependencies": {
+                "ansi-styles": {
+                    "version": "2.2.1",
+                    "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz?cache=0&sync_timestamp=1601839122515&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-2.2.1.tgz",
+                    "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+                    "dev": true
+                },
+                "chalk": {
+                    "version": "1.1.3",
+                    "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz",
+                    "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+                    "dev": true,
+                    "requires": {
+                        "ansi-styles": "^2.2.1",
+                        "escape-string-regexp": "^1.0.2",
+                        "has-ansi": "^2.0.0",
+                        "strip-ansi": "^3.0.0",
+                        "supports-color": "^2.0.0"
+                    },
+                    "dependencies": {
+                        "supports-color": {
+                            "version": "2.0.0",
+                            "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz",
+                            "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+                            "dev": true
+                        }
+                    }
+                },
+                "has-flag": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz",
+                    "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+                    "dev": true
+                },
+                "postcss": {
+                    "version": "5.2.18",
+                    "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz?cache=0&sync_timestamp=1603496056144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-5.2.18.tgz",
+                    "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=",
+                    "dev": true,
+                    "requires": {
+                        "chalk": "^1.1.3",
+                        "js-base64": "^2.1.9",
+                        "source-map": "^0.5.6",
+                        "supports-color": "^3.2.3"
+                    }
+                },
+                "source-map": {
+                    "version": "0.5.7",
+                    "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1589682764497&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz",
+                    "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+                    "dev": true
+                },
+                "supports-color": {
+                    "version": "3.2.3",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz",
+                    "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^1.0.0"
+                    }
+                }
+            }
+        },
+        "postcss-reduce-idents": {
+            "version": "2.4.0",
+            "resolved": "https://registry.npm.taobao.org/postcss-reduce-idents/download/postcss-reduce-idents-2.4.0.tgz?cache=0&sync_timestamp=1603212726762&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-reduce-idents%2Fdownload%2Fpostcss-reduce-idents-2.4.0.tgz",
+            "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=",
+            "dev": true,
+            "requires": {
+                "postcss": "^5.0.4",
+                "postcss-value-parser": "^3.0.2"
+            },
+            "dependencies": {
+                "ansi-styles": {
+                    "version": "2.2.1",
+                    "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz?cache=0&sync_timestamp=1601839122515&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-2.2.1.tgz",
+                    "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+                    "dev": true
+                },
+                "chalk": {
+                    "version": "1.1.3",
+                    "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz",
+                    "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+                    "dev": true,
+                    "requires": {
+                        "ansi-styles": "^2.2.1",
+                        "escape-string-regexp": "^1.0.2",
+                        "has-ansi": "^2.0.0",
+                        "strip-ansi": "^3.0.0",
+                        "supports-color": "^2.0.0"
+                    },
+                    "dependencies": {
+                        "supports-color": {
+                            "version": "2.0.0",
+                            "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz",
+                            "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+                            "dev": true
+                        }
+                    }
+                },
+                "has-flag": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz",
+                    "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+                    "dev": true
+                },
+                "postcss": {
+                    "version": "5.2.18",
+                    "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz?cache=0&sync_timestamp=1603496056144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-5.2.18.tgz",
+                    "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=",
+                    "dev": true,
+                    "requires": {
+                        "chalk": "^1.1.3",
+                        "js-base64": "^2.1.9",
+                        "source-map": "^0.5.6",
+                        "supports-color": "^3.2.3"
+                    }
+                },
+                "source-map": {
+                    "version": "0.5.7",
+                    "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1589682764497&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz",
+                    "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+                    "dev": true
+                },
+                "supports-color": {
+                    "version": "3.2.3",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz",
+                    "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^1.0.0"
+                    }
+                }
+            }
+        },
+        "postcss-reduce-initial": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/postcss-reduce-initial/download/postcss-reduce-initial-1.0.1.tgz?cache=0&sync_timestamp=1603212726527&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-reduce-initial%2Fdownload%2Fpostcss-reduce-initial-1.0.1.tgz",
+            "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=",
+            "dev": true,
+            "requires": {
+                "postcss": "^5.0.4"
+            },
+            "dependencies": {
+                "ansi-styles": {
+                    "version": "2.2.1",
+                    "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz?cache=0&sync_timestamp=1601839122515&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-2.2.1.tgz",
+                    "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+                    "dev": true
+                },
+                "chalk": {
+                    "version": "1.1.3",
+                    "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz",
+                    "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+                    "dev": true,
+                    "requires": {
+                        "ansi-styles": "^2.2.1",
+                        "escape-string-regexp": "^1.0.2",
+                        "has-ansi": "^2.0.0",
+                        "strip-ansi": "^3.0.0",
+                        "supports-color": "^2.0.0"
+                    },
+                    "dependencies": {
+                        "supports-color": {
+                            "version": "2.0.0",
+                            "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz",
+                            "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+                            "dev": true
+                        }
+                    }
+                },
+                "has-flag": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz",
+                    "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+                    "dev": true
+                },
+                "postcss": {
+                    "version": "5.2.18",
+                    "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz?cache=0&sync_timestamp=1603496056144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-5.2.18.tgz",
+                    "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=",
+                    "dev": true,
+                    "requires": {
+                        "chalk": "^1.1.3",
+                        "js-base64": "^2.1.9",
+                        "source-map": "^0.5.6",
+                        "supports-color": "^3.2.3"
+                    }
+                },
+                "source-map": {
+                    "version": "0.5.7",
+                    "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1589682764497&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz",
+                    "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+                    "dev": true
+                },
+                "supports-color": {
+                    "version": "3.2.3",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz",
+                    "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^1.0.0"
+                    }
+                }
+            }
+        },
+        "postcss-reduce-transforms": {
+            "version": "1.0.4",
+            "resolved": "https://registry.npm.taobao.org/postcss-reduce-transforms/download/postcss-reduce-transforms-1.0.4.tgz?cache=0&sync_timestamp=1603214556347&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-reduce-transforms%2Fdownload%2Fpostcss-reduce-transforms-1.0.4.tgz",
+            "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=",
+            "dev": true,
+            "requires": {
+                "has": "^1.0.1",
+                "postcss": "^5.0.8",
+                "postcss-value-parser": "^3.0.1"
+            },
+            "dependencies": {
+                "ansi-styles": {
+                    "version": "2.2.1",
+                    "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz?cache=0&sync_timestamp=1601839122515&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-2.2.1.tgz",
+                    "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+                    "dev": true
+                },
+                "chalk": {
+                    "version": "1.1.3",
+                    "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz",
+                    "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+                    "dev": true,
+                    "requires": {
+                        "ansi-styles": "^2.2.1",
+                        "escape-string-regexp": "^1.0.2",
+                        "has-ansi": "^2.0.0",
+                        "strip-ansi": "^3.0.0",
+                        "supports-color": "^2.0.0"
+                    },
+                    "dependencies": {
+                        "supports-color": {
+                            "version": "2.0.0",
+                            "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz",
+                            "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+                            "dev": true
+                        }
+                    }
+                },
+                "has-flag": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz",
+                    "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+                    "dev": true
+                },
+                "postcss": {
+                    "version": "5.2.18",
+                    "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz?cache=0&sync_timestamp=1603496056144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-5.2.18.tgz",
+                    "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=",
+                    "dev": true,
+                    "requires": {
+                        "chalk": "^1.1.3",
+                        "js-base64": "^2.1.9",
+                        "source-map": "^0.5.6",
+                        "supports-color": "^3.2.3"
+                    }
+                },
+                "source-map": {
+                    "version": "0.5.7",
+                    "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1589682764497&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz",
+                    "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+                    "dev": true
+                },
+                "supports-color": {
+                    "version": "3.2.3",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz",
+                    "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^1.0.0"
+                    }
+                }
+            }
+        },
+        "postcss-selector-parser": {
+            "version": "2.2.3",
+            "resolved": "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-2.2.3.tgz?cache=0&sync_timestamp=1601045316432&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-2.2.3.tgz",
+            "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=",
+            "dev": true,
+            "requires": {
+                "flatten": "^1.0.2",
+                "indexes-of": "^1.0.1",
+                "uniq": "^1.0.1"
+            }
+        },
+        "postcss-svgo": {
+            "version": "2.1.6",
+            "resolved": "https://registry.npm.taobao.org/postcss-svgo/download/postcss-svgo-2.1.6.tgz",
+            "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=",
+            "dev": true,
+            "requires": {
+                "is-svg": "^2.0.0",
+                "postcss": "^5.0.14",
+                "postcss-value-parser": "^3.2.3",
+                "svgo": "^0.7.0"
+            },
+            "dependencies": {
+                "ansi-styles": {
+                    "version": "2.2.1",
+                    "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz?cache=0&sync_timestamp=1601839122515&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-2.2.1.tgz",
+                    "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+                    "dev": true
+                },
+                "chalk": {
+                    "version": "1.1.3",
+                    "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz",
+                    "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+                    "dev": true,
+                    "requires": {
+                        "ansi-styles": "^2.2.1",
+                        "escape-string-regexp": "^1.0.2",
+                        "has-ansi": "^2.0.0",
+                        "strip-ansi": "^3.0.0",
+                        "supports-color": "^2.0.0"
+                    },
+                    "dependencies": {
+                        "supports-color": {
+                            "version": "2.0.0",
+                            "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz",
+                            "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+                            "dev": true
+                        }
+                    }
+                },
+                "has-flag": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz",
+                    "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+                    "dev": true
+                },
+                "postcss": {
+                    "version": "5.2.18",
+                    "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz?cache=0&sync_timestamp=1603496056144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-5.2.18.tgz",
+                    "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=",
+                    "dev": true,
+                    "requires": {
+                        "chalk": "^1.1.3",
+                        "js-base64": "^2.1.9",
+                        "source-map": "^0.5.6",
+                        "supports-color": "^3.2.3"
+                    }
+                },
+                "source-map": {
+                    "version": "0.5.7",
+                    "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1589682764497&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz",
+                    "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+                    "dev": true
+                },
+                "supports-color": {
+                    "version": "3.2.3",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz",
+                    "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^1.0.0"
+                    }
+                }
+            }
+        },
+        "postcss-unique-selectors": {
+            "version": "2.0.2",
+            "resolved": "https://registry.npm.taobao.org/postcss-unique-selectors/download/postcss-unique-selectors-2.0.2.tgz?cache=0&sync_timestamp=1603212891912&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-unique-selectors%2Fdownload%2Fpostcss-unique-selectors-2.0.2.tgz",
+            "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=",
+            "dev": true,
+            "requires": {
+                "alphanum-sort": "^1.0.1",
+                "postcss": "^5.0.4",
+                "uniqs": "^2.0.0"
+            },
+            "dependencies": {
+                "ansi-styles": {
+                    "version": "2.2.1",
+                    "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz?cache=0&sync_timestamp=1601839122515&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-2.2.1.tgz",
+                    "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+                    "dev": true
+                },
+                "chalk": {
+                    "version": "1.1.3",
+                    "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz",
+                    "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+                    "dev": true,
+                    "requires": {
+                        "ansi-styles": "^2.2.1",
+                        "escape-string-regexp": "^1.0.2",
+                        "has-ansi": "^2.0.0",
+                        "strip-ansi": "^3.0.0",
+                        "supports-color": "^2.0.0"
+                    },
+                    "dependencies": {
+                        "supports-color": {
+                            "version": "2.0.0",
+                            "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz",
+                            "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+                            "dev": true
+                        }
+                    }
+                },
+                "has-flag": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz",
+                    "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+                    "dev": true
+                },
+                "postcss": {
+                    "version": "5.2.18",
+                    "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz?cache=0&sync_timestamp=1603496056144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-5.2.18.tgz",
+                    "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=",
+                    "dev": true,
+                    "requires": {
+                        "chalk": "^1.1.3",
+                        "js-base64": "^2.1.9",
+                        "source-map": "^0.5.6",
+                        "supports-color": "^3.2.3"
+                    }
+                },
+                "source-map": {
+                    "version": "0.5.7",
+                    "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1589682764497&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz",
+                    "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+                    "dev": true
+                },
+                "supports-color": {
+                    "version": "3.2.3",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz",
+                    "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^1.0.0"
+                    }
+                }
+            }
+        },
+        "postcss-url": {
+            "version": "7.3.2",
+            "resolved": "https://registry.npm.taobao.org/postcss-url/download/postcss-url-7.3.2.tgz?cache=0&sync_timestamp=1603481900421&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-url%2Fdownload%2Fpostcss-url-7.3.2.tgz",
+            "integrity": "sha1-X+onOAf7hLOMRhw8mp6KvSNfcSA=",
+            "dev": true,
+            "requires": {
+                "mime": "^1.4.1",
+                "minimatch": "^3.0.4",
+                "mkdirp": "^0.5.0",
+                "postcss": "^6.0.1",
+                "xxhashjs": "^0.2.1"
+            }
+        },
+        "postcss-value-parser": {
+            "version": "3.3.1",
+            "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz",
+            "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=",
+            "dev": true
+        },
+        "postcss-zindex": {
+            "version": "2.2.0",
+            "resolved": "https://registry.npm.taobao.org/postcss-zindex/download/postcss-zindex-2.2.0.tgz?cache=0&sync_timestamp=1603213049457&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-zindex%2Fdownload%2Fpostcss-zindex-2.2.0.tgz",
+            "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=",
+            "dev": true,
+            "requires": {
+                "has": "^1.0.1",
+                "postcss": "^5.0.4",
+                "uniqs": "^2.0.0"
+            },
+            "dependencies": {
+                "ansi-styles": {
+                    "version": "2.2.1",
+                    "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz?cache=0&sync_timestamp=1601839122515&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-2.2.1.tgz",
+                    "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+                    "dev": true
+                },
+                "chalk": {
+                    "version": "1.1.3",
+                    "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz",
+                    "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+                    "dev": true,
+                    "requires": {
+                        "ansi-styles": "^2.2.1",
+                        "escape-string-regexp": "^1.0.2",
+                        "has-ansi": "^2.0.0",
+                        "strip-ansi": "^3.0.0",
+                        "supports-color": "^2.0.0"
+                    },
+                    "dependencies": {
+                        "supports-color": {
+                            "version": "2.0.0",
+                            "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-2.0.0.tgz",
+                            "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+                            "dev": true
+                        }
+                    }
+                },
+                "has-flag": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz",
+                    "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+                    "dev": true
+                },
+                "postcss": {
+                    "version": "5.2.18",
+                    "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-5.2.18.tgz?cache=0&sync_timestamp=1603496056144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-5.2.18.tgz",
+                    "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=",
+                    "dev": true,
+                    "requires": {
+                        "chalk": "^1.1.3",
+                        "js-base64": "^2.1.9",
+                        "source-map": "^0.5.6",
+                        "supports-color": "^3.2.3"
+                    }
+                },
+                "source-map": {
+                    "version": "0.5.7",
+                    "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1589682764497&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz",
+                    "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+                    "dev": true
+                },
+                "supports-color": {
+                    "version": "3.2.3",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-3.2.3.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-3.2.3.tgz",
+                    "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^1.0.0"
+                    }
+                }
+            }
+        },
+        "prepend-http": {
+            "version": "1.0.4",
+            "resolved": "https://registry.npm.taobao.org/prepend-http/download/prepend-http-1.0.4.tgz",
+            "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=",
+            "dev": true
+        },
+        "prettier": {
+            "version": "1.19.1",
+            "resolved": "https://registry.npm.taobao.org/prettier/download/prettier-1.19.1.tgz?cache=0&sync_timestamp=1600215482255&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fprettier%2Fdownload%2Fprettier-1.19.1.tgz",
+            "integrity": "sha1-99f1/4qc2HKnvkyhQglZVqYHl8s=",
+            "dev": true
+        },
+        "pretty-error": {
+            "version": "2.1.2",
+            "resolved": "https://registry.npm.taobao.org/pretty-error/download/pretty-error-2.1.2.tgz?cache=0&sync_timestamp=1603050467792&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpretty-error%2Fdownload%2Fpretty-error-2.1.2.tgz",
+            "integrity": "sha1-von4LYGxyG7I/fvDhQRYgnJ/k7Y=",
+            "dev": true,
+            "requires": {
+                "lodash": "^4.17.20",
+                "renderkid": "^2.0.4"
+            }
+        },
+        "private": {
+            "version": "0.1.8",
+            "resolved": "https://registry.npm.taobao.org/private/download/private-0.1.8.tgz",
+            "integrity": "sha1-I4Hts2ifelPWUxkAYPz4ItLzaP8=",
+            "dev": true
+        },
+        "process": {
+            "version": "0.11.10",
+            "resolved": "https://registry.npm.taobao.org/process/download/process-0.11.10.tgz",
+            "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
+            "dev": true
+        },
+        "process-nextick-args": {
+            "version": "2.0.1",
+            "resolved": "https://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.1.tgz",
+            "integrity": "sha1-eCDZsWEgzFXKmud5JoCufbptf+I="
+        },
+        "promise-inflight": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/promise-inflight/download/promise-inflight-1.0.1.tgz",
+            "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
+            "dev": true
+        },
+        "proxy-addr": {
+            "version": "2.0.6",
+            "resolved": "https://registry.npm.taobao.org/proxy-addr/download/proxy-addr-2.0.6.tgz",
+            "integrity": "sha1-/cIzZQVEfT8vLGOO0nLK9hS7sr8=",
+            "dev": true,
+            "requires": {
+                "forwarded": "~0.1.2",
+                "ipaddr.js": "1.9.1"
+            }
+        },
+        "prr": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/prr/download/prr-1.0.1.tgz",
+            "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
+            "dev": true
+        },
+        "pseudomap": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npm.taobao.org/pseudomap/download/pseudomap-1.0.2.tgz",
+            "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
+            "dev": true
+        },
+        "psl": {
+            "version": "1.8.0",
+            "resolved": "https://registry.npm.taobao.org/psl/download/psl-1.8.0.tgz",
+            "integrity": "sha1-kyb4vPsBOtzABf3/BWrM4CDlHCQ=",
+            "dev": true
+        },
+        "public-encrypt": {
+            "version": "4.0.3",
+            "resolved": "https://registry.npm.taobao.org/public-encrypt/download/public-encrypt-4.0.3.tgz",
+            "integrity": "sha1-T8ydd6B+SLp1J+fL4N4z0HATMeA=",
+            "dev": true,
+            "requires": {
+                "bn.js": "^4.1.0",
+                "browserify-rsa": "^4.0.0",
+                "create-hash": "^1.1.0",
+                "parse-asn1": "^5.0.0",
+                "randombytes": "^2.0.1",
+                "safe-buffer": "^5.1.2"
+            },
+            "dependencies": {
+                "bn.js": {
+                    "version": "4.11.9",
+                    "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.11.9.tgz",
+                    "integrity": "sha1-JtVWgpRY+dHoH8SJUkk9C6NQeCg=",
+                    "dev": true
+                }
+            }
+        },
+        "pump": {
+            "version": "2.0.1",
+            "resolved": "https://registry.npm.taobao.org/pump/download/pump-2.0.1.tgz",
+            "integrity": "sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk=",
+            "dev": true,
+            "requires": {
+                "end-of-stream": "^1.1.0",
+                "once": "^1.3.1"
+            }
+        },
+        "pumpify": {
+            "version": "1.5.1",
+            "resolved": "https://registry.npm.taobao.org/pumpify/download/pumpify-1.5.1.tgz",
+            "integrity": "sha1-NlE74karJ1cLGjdKXOJ4v9dDcM4=",
+            "dev": true,
+            "requires": {
+                "duplexify": "^3.6.0",
+                "inherits": "^2.0.3",
+                "pump": "^2.0.0"
+            }
+        },
+        "punycode": {
+            "version": "2.1.1",
+            "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz?cache=0&sync_timestamp=1589682803838&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpunycode%2Fdownload%2Fpunycode-2.1.1.tgz",
+            "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=",
+            "dev": true
+        },
+        "q": {
+            "version": "1.5.1",
+            "resolved": "https://registry.npm.taobao.org/q/download/q-1.5.1.tgz?cache=0&sync_timestamp=1589682817412&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fq%2Fdownload%2Fq-1.5.1.tgz",
+            "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc="
+        },
+        "qs": {
+            "version": "6.7.0",
+            "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.7.0.tgz",
+            "integrity": "sha1-QdwaAV49WB8WIXdr4xr7KHapsbw=",
+            "dev": true
+        },
+        "query-string": {
+            "version": "4.3.4",
+            "resolved": "https://registry.npm.taobao.org/query-string/download/query-string-4.3.4.tgz?cache=0&sync_timestamp=1602948828228&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fquery-string%2Fdownload%2Fquery-string-4.3.4.tgz",
+            "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=",
+            "dev": true,
+            "requires": {
+                "object-assign": "^4.1.0",
+                "strict-uri-encode": "^1.0.0"
+            }
+        },
+        "querystring": {
+            "version": "0.2.0",
+            "resolved": "https://registry.npm.taobao.org/querystring/download/querystring-0.2.0.tgz?cache=0&sync_timestamp=1589682791876&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fquerystring%2Fdownload%2Fquerystring-0.2.0.tgz",
+            "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
+            "dev": true
+        },
+        "querystring-es3": {
+            "version": "0.2.1",
+            "resolved": "https://registry.npm.taobao.org/querystring-es3/download/querystring-es3-0.2.1.tgz",
+            "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
+            "dev": true
+        },
+        "querystringify": {
+            "version": "2.2.0",
+            "resolved": "https://registry.npm.taobao.org/querystringify/download/querystringify-2.2.0.tgz?cache=0&sync_timestamp=1597686771604&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fquerystringify%2Fdownload%2Fquerystringify-2.2.0.tgz",
+            "integrity": "sha1-M0WUG0FTy50ILY7uTNogFqmu9/Y=",
+            "dev": true
+        },
+        "quick-lru": {
+            "version": "4.0.1",
+            "resolved": "https://registry.npm.taobao.org/quick-lru/download/quick-lru-4.0.1.tgz?cache=0&sync_timestamp=1610610364837&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fquick-lru%2Fdownload%2Fquick-lru-4.0.1.tgz",
+            "integrity": "sha1-W4h48ROlgheEjGSCAmxz4bpXcn8="
+        },
+        "randombytes": {
+            "version": "2.1.0",
+            "resolved": "https://registry.npm.taobao.org/randombytes/download/randombytes-2.1.0.tgz",
+            "integrity": "sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo=",
+            "dev": true,
+            "requires": {
+                "safe-buffer": "^5.1.0"
+            }
+        },
+        "randomfill": {
+            "version": "1.0.4",
+            "resolved": "https://registry.npm.taobao.org/randomfill/download/randomfill-1.0.4.tgz",
+            "integrity": "sha1-ySGW/IarQr6YPxvzF3giSTHWFFg=",
+            "dev": true,
+            "requires": {
+                "randombytes": "^2.0.5",
+                "safe-buffer": "^5.1.0"
+            }
+        },
+        "range-parser": {
+            "version": "1.2.1",
+            "resolved": "https://registry.npm.taobao.org/range-parser/download/range-parser-1.2.1.tgz",
+            "integrity": "sha1-PPNwI9GZ4cJNGlW4SADC8+ZGgDE=",
+            "dev": true
+        },
+        "raw-body": {
+            "version": "2.4.0",
+            "resolved": "https://registry.npm.taobao.org/raw-body/download/raw-body-2.4.0.tgz",
+            "integrity": "sha1-oc5vucm8NWylLoklarWQWeE9AzI=",
+            "dev": true,
+            "requires": {
+                "bytes": "3.1.0",
+                "http-errors": "1.7.2",
+                "iconv-lite": "0.4.24",
+                "unpipe": "1.0.0"
+            }
+        },
+        "read-cache": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/read-cache/download/read-cache-1.0.0.tgz",
+            "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=",
+            "dev": true,
+            "requires": {
+                "pify": "^2.3.0"
+            },
+            "dependencies": {
+                "pify": {
+                    "version": "2.3.0",
+                    "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz",
+                    "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+                    "dev": true
+                }
+            }
+        },
+        "read-pkg": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-2.0.0.tgz?cache=0&sync_timestamp=1589682810106&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg%2Fdownload%2Fread-pkg-2.0.0.tgz",
+            "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
+            "dev": true,
+            "requires": {
+                "load-json-file": "^2.0.0",
+                "normalize-package-data": "^2.3.2",
+                "path-type": "^2.0.0"
+            },
+            "dependencies": {
+                "path-type": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.npm.taobao.org/path-type/download/path-type-2.0.0.tgz",
+                    "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
+                    "dev": true,
+                    "requires": {
+                        "pify": "^2.0.0"
+                    }
+                },
+                "pify": {
+                    "version": "2.3.0",
+                    "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz",
+                    "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+                    "dev": true
+                }
+            }
+        },
+        "read-pkg-up": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-2.0.0.tgz",
+            "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
+            "dev": true,
+            "requires": {
+                "find-up": "^2.0.0",
+                "read-pkg": "^2.0.0"
+            }
+        },
+        "readable-stream": {
+            "version": "2.3.7",
+            "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz?cache=0&sync_timestamp=1589682741447&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-2.3.7.tgz",
+            "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=",
+            "requires": {
+                "core-util-is": "~1.0.0",
+                "inherits": "~2.0.3",
+                "isarray": "~1.0.0",
+                "process-nextick-args": "~2.0.0",
+                "safe-buffer": "~5.1.1",
+                "string_decoder": "~1.1.1",
+                "util-deprecate": "~1.0.1"
+            }
+        },
+        "readdirp": {
+            "version": "3.5.0",
+            "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-3.5.0.tgz?cache=0&sync_timestamp=1602584331621&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freaddirp%2Fdownload%2Freaddirp-3.5.0.tgz",
+            "integrity": "sha1-m6dMAZsV02UnjS6Ru4xI17TULJ4=",
+            "dev": true,
+            "optional": true,
+            "requires": {
+                "picomatch": "^2.2.1"
+            }
+        },
+        "rechoir": {
+            "version": "0.6.2",
+            "resolved": "https://registry.npm.taobao.org/rechoir/download/rechoir-0.6.2.tgz",
+            "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
+            "requires": {
+                "resolve": "^1.1.6"
+            }
+        },
+        "redent": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/redent/download/redent-1.0.0.tgz",
+            "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
+            "requires": {
+                "indent-string": "^2.1.0",
+                "strip-indent": "^1.0.1"
+            }
+        },
+        "reduce-css-calc": {
+            "version": "1.3.0",
+            "resolved": "https://registry.npm.taobao.org/reduce-css-calc/download/reduce-css-calc-1.3.0.tgz",
+            "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=",
+            "dev": true,
+            "requires": {
+                "balanced-match": "^0.4.2",
+                "math-expression-evaluator": "^1.2.14",
+                "reduce-function-call": "^1.0.1"
+            },
+            "dependencies": {
+                "balanced-match": {
+                    "version": "0.4.2",
+                    "resolved": "https://registry.npm.taobao.org/balanced-match/download/balanced-match-0.4.2.tgz",
+                    "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=",
+                    "dev": true
+                }
+            }
+        },
+        "reduce-function-call": {
+            "version": "1.0.3",
+            "resolved": "https://registry.npm.taobao.org/reduce-function-call/download/reduce-function-call-1.0.3.tgz",
+            "integrity": "sha1-YDUPf7JSwKZ+sQ/UaU0WkJlxMA8=",
+            "dev": true,
+            "requires": {
+                "balanced-match": "^1.0.0"
+            }
+        },
+        "regenerate": {
+            "version": "1.4.2",
+            "resolved": "https://registry.npm.taobao.org/regenerate/download/regenerate-1.4.2.tgz?cache=0&sync_timestamp=1604218353677&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerate%2Fdownload%2Fregenerate-1.4.2.tgz",
+            "integrity": "sha1-uTRtiCfo9aMve6KWN9OYtpAUhIo=",
+            "dev": true
+        },
+        "regenerator-runtime": {
+            "version": "0.11.1",
+            "resolved": "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz?cache=0&sync_timestamp=1595456311465&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerator-runtime%2Fdownload%2Fregenerator-runtime-0.11.1.tgz",
+            "integrity": "sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk="
+        },
+        "regenerator-transform": {
+            "version": "0.10.1",
+            "resolved": "https://registry.npm.taobao.org/regenerator-transform/download/regenerator-transform-0.10.1.tgz",
+            "integrity": "sha1-HkmWg3Ix2ot/PPQRTXG1aRoGgN0=",
+            "dev": true,
+            "requires": {
+                "babel-runtime": "^6.18.0",
+                "babel-types": "^6.19.0",
+                "private": "^0.1.6"
+            }
+        },
+        "regex-not": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npm.taobao.org/regex-not/download/regex-not-1.0.2.tgz",
+            "integrity": "sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw=",
+            "dev": true,
+            "requires": {
+                "extend-shallow": "^3.0.2",
+                "safe-regex": "^1.1.0"
+            }
+        },
+        "regexp.prototype.flags": {
+            "version": "1.3.0",
+            "resolved": "https://registry.npm.taobao.org/regexp.prototype.flags/download/regexp.prototype.flags-1.3.0.tgz",
+            "integrity": "sha1-erqJs8E6ZFCdq888qNn7ub31y3U=",
+            "dev": true,
+            "requires": {
+                "define-properties": "^1.1.3",
+                "es-abstract": "^1.17.0-next.1"
+            }
+        },
+        "regexpu-core": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npm.taobao.org/regexpu-core/download/regexpu-core-2.0.0.tgz?cache=0&sync_timestamp=1600413461940&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregexpu-core%2Fdownload%2Fregexpu-core-2.0.0.tgz",
+            "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=",
+            "dev": true,
+            "requires": {
+                "regenerate": "^1.2.1",
+                "regjsgen": "^0.2.0",
+                "regjsparser": "^0.1.4"
+            }
+        },
+        "regjsgen": {
+            "version": "0.2.0",
+            "resolved": "https://registry.npm.taobao.org/regjsgen/download/regjsgen-0.2.0.tgz",
+            "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=",
+            "dev": true
+        },
+        "regjsparser": {
+            "version": "0.1.5",
+            "resolved": "https://registry.npm.taobao.org/regjsparser/download/regjsparser-0.1.5.tgz",
+            "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
+            "dev": true,
+            "requires": {
+                "jsesc": "~0.5.0"
+            },
+            "dependencies": {
+                "jsesc": {
+                    "version": "0.5.0",
+                    "resolved": "https://registry.npm.taobao.org/jsesc/download/jsesc-0.5.0.tgz?cache=0&sync_timestamp=1603891232110&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsesc%2Fdownload%2Fjsesc-0.5.0.tgz",
+                    "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
+                    "dev": true
+                }
+            }
+        },
+        "relateurl": {
+            "version": "0.2.7",
+            "resolved": "https://registry.npm.taobao.org/relateurl/download/relateurl-0.2.7.tgz",
+            "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=",
+            "dev": true
+        },
+        "remove-trailing-separator": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npm.taobao.org/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz",
+            "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
+            "dev": true
+        },
+        "renderkid": {
+            "version": "2.0.4",
+            "resolved": "https://registry.npm.taobao.org/renderkid/download/renderkid-2.0.4.tgz?cache=0&sync_timestamp=1603039762136&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frenderkid%2Fdownload%2Frenderkid-2.0.4.tgz",
+            "integrity": "sha1-0yXlMq+yjT+Hlv/uMGvo/9b8hkw=",
+            "dev": true,
+            "requires": {
+                "css-select": "^1.1.0",
+                "dom-converter": "^0.2",
+                "htmlparser2": "^3.3.0",
+                "lodash": "^4.17.20",
+                "strip-ansi": "^3.0.0"
+            }
+        },
+        "repeat-element": {
+            "version": "1.1.3",
+            "resolved": "https://registry.npm.taobao.org/repeat-element/download/repeat-element-1.1.3.tgz",
+            "integrity": "sha1-eC4NglwMWjuzlzH4Tv7mt0Lmsc4=",
+            "dev": true
+        },
+        "repeat-string": {
+            "version": "1.6.1",
+            "resolved": "https://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz",
+            "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
+            "dev": true
+        },
+        "repeating": {
+            "version": "2.0.1",
+            "resolved": "https://registry.npm.taobao.org/repeating/download/repeating-2.0.1.tgz",
+            "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
+            "requires": {
+                "is-finite": "^1.0.0"
+            }
+        },
+        "request": {
+            "version": "2.88.2",
+            "resolved": "https://registry.nlark.com/request/download/request-2.88.2.tgz",
+            "integrity": "sha1-1zyRhzHLWofaBH4gcjQUb2ZNErM=",
+            "dev": true,
+            "requires": {
+                "aws-sign2": "~0.7.0",
+                "aws4": "^1.8.0",
+                "caseless": "~0.12.0",
+                "combined-stream": "~1.0.6",
+                "extend": "~3.0.2",
+                "forever-agent": "~0.6.1",
+                "form-data": "~2.3.2",
+                "har-validator": "~5.1.3",
+                "http-signature": "~1.2.0",
+                "is-typedarray": "~1.0.0",
+                "isstream": "~0.1.2",
+                "json-stringify-safe": "~5.0.1",
+                "mime-types": "~2.1.19",
+                "oauth-sign": "~0.9.0",
+                "performance-now": "^2.1.0",
+                "qs": "~6.5.2",
+                "safe-buffer": "^5.1.2",
+                "tough-cookie": "~2.5.0",
+                "tunnel-agent": "^0.6.0",
+                "uuid": "^3.3.2"
+            },
+            "dependencies": {
+                "qs": {
+                    "version": "6.5.2",
+                    "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.5.2.tgz?cache=0&sync_timestamp=1616385328325&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fqs%2Fdownload%2Fqs-6.5.2.tgz",
+                    "integrity": "sha1-yzroBuh0BERYTvFUzo7pjUA/PjY=",
+                    "dev": true
+                }
+            }
+        },
+        "require-directory": {
+            "version": "2.1.1",
+            "resolved": "https://registry.npm.taobao.org/require-directory/download/require-directory-2.1.1.tgz",
+            "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I="
+        },
+        "require-from-string": {
+            "version": "1.2.1",
+            "resolved": "https://registry.npm.taobao.org/require-from-string/download/require-from-string-1.2.1.tgz",
+            "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=",
+            "dev": true
+        },
+        "require-main-filename": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-1.0.1.tgz",
+            "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
+            "dev": true
+        },
+        "requires-port": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/requires-port/download/requires-port-1.0.0.tgz",
+            "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
+            "dev": true
+        },
+        "resolve": {
+            "version": "1.18.1",
+            "resolved": "https://registry.npm.taobao.org/resolve/download/resolve-1.18.1.tgz?cache=0&sync_timestamp=1603313597183&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fresolve%2Fdownload%2Fresolve-1.18.1.tgz",
+            "integrity": "sha1-AY/LLFsgfSpkJK7jYcWiZtqPQTA=",
+            "requires": {
+                "is-core-module": "^2.0.0",
+                "path-parse": "^1.0.6"
+            }
+        },
+        "resolve-cwd": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npm.taobao.org/resolve-cwd/download/resolve-cwd-2.0.0.tgz",
+            "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=",
+            "dev": true,
+            "requires": {
+                "resolve-from": "^3.0.0"
+            }
+        },
+        "resolve-from": {
+            "version": "3.0.0",
+            "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-3.0.0.tgz",
+            "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g="
+        },
+        "resolve-global": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/resolve-global/download/resolve-global-1.0.0.tgz",
+            "integrity": "sha1-oqed9K8so/Sb93753azTItrRklU=",
+            "requires": {
+                "global-dirs": "^0.1.1"
+            }
+        },
+        "resolve-url": {
+            "version": "0.2.1",
+            "resolved": "https://registry.npm.taobao.org/resolve-url/download/resolve-url-0.2.1.tgz",
+            "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
+            "dev": true
+        },
+        "restore-cursor": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-2.0.0.tgz",
+            "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
+            "dev": true,
+            "requires": {
+                "onetime": "^2.0.0",
+                "signal-exit": "^3.0.2"
+            }
+        },
+        "ret": {
+            "version": "0.1.15",
+            "resolved": "https://registry.npm.taobao.org/ret/download/ret-0.1.15.tgz",
+            "integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w=",
+            "dev": true
+        },
+        "rgb-regex": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/rgb-regex/download/rgb-regex-1.0.1.tgz",
+            "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=",
+            "dev": true
+        },
+        "rgba-regex": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/rgba-regex/download/rgba-regex-1.0.0.tgz",
+            "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=",
+            "dev": true
+        },
+        "right-align": {
+            "version": "0.1.3",
+            "resolved": "https://registry.npm.taobao.org/right-align/download/right-align-0.1.3.tgz",
+            "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
+            "dev": true,
+            "requires": {
+                "align-text": "^0.1.1"
+            }
+        },
+        "rimraf": {
+            "version": "2.7.1",
+            "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz?cache=0&sync_timestamp=1589682814592&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frimraf%2Fdownload%2Frimraf-2.7.1.tgz",
+            "integrity": "sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w=",
+            "requires": {
+                "glob": "^7.1.3"
+            }
+        },
+        "ripemd160": {
+            "version": "2.0.2",
+            "resolved": "https://registry.npm.taobao.org/ripemd160/download/ripemd160-2.0.2.tgz",
+            "integrity": "sha1-ocGm9iR1FXe6XQeRTLyShQWFiQw=",
+            "dev": true,
+            "requires": {
+                "hash-base": "^3.0.0",
+                "inherits": "^2.0.1"
+            }
+        },
+        "run-queue": {
+            "version": "1.0.3",
+            "resolved": "https://registry.npm.taobao.org/run-queue/download/run-queue-1.0.3.tgz",
+            "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
+            "dev": true,
+            "requires": {
+                "aproba": "^1.1.1"
+            }
+        },
+        "safe-buffer": {
+            "version": "5.1.2",
+            "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz?cache=0&sync_timestamp=1589682795646&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsafe-buffer%2Fdownload%2Fsafe-buffer-5.1.2.tgz",
+            "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0="
+        },
+        "safe-regex": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npm.taobao.org/safe-regex/download/safe-regex-1.1.0.tgz?cache=0&sync_timestamp=1589682757445&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsafe-regex%2Fdownload%2Fsafe-regex-1.1.0.tgz",
+            "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
+            "dev": true,
+            "requires": {
+                "ret": "~0.1.10"
+            }
+        },
+        "safer-buffer": {
+            "version": "2.1.2",
+            "resolved": "https://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz?cache=0&sync_timestamp=1589682784154&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsafer-buffer%2Fdownload%2Fsafer-buffer-2.1.2.tgz",
+            "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=",
+            "dev": true
+        },
+        "sass-graph": {
+            "version": "2.2.5",
+            "resolved": "https://registry.nlark.com/sass-graph/download/sass-graph-2.2.5.tgz",
+            "integrity": "sha1-qYHIdEa4MZ2W3OBnHkh4eb0kwug=",
+            "dev": true,
+            "requires": {
+                "glob": "^7.0.0",
+                "lodash": "^4.0.0",
+                "scss-tokenizer": "^0.2.3",
+                "yargs": "^13.3.2"
+            },
+            "dependencies": {
+                "ansi-regex": {
+                    "version": "4.1.0",
+                    "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-4.1.0.tgz",
+                    "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=",
+                    "dev": true
+                },
+                "camelcase": {
+                    "version": "5.3.1",
+                    "resolved": "https://registry.nlark.com/camelcase/download/camelcase-5.3.1.tgz",
+                    "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=",
+                    "dev": true
+                },
+                "cliui": {
+                    "version": "5.0.0",
+                    "resolved": "https://registry.nlark.com/cliui/download/cliui-5.0.0.tgz",
+                    "integrity": "sha1-3u/P2y6AB4SqNPRvoI4GhRx7u8U=",
+                    "dev": true,
+                    "requires": {
+                        "string-width": "^3.1.0",
+                        "strip-ansi": "^5.2.0",
+                        "wrap-ansi": "^5.1.0"
+                    }
+                },
+                "emoji-regex": {
+                    "version": "7.0.3",
+                    "resolved": "https://registry.nlark.com/emoji-regex/download/emoji-regex-7.0.3.tgz",
+                    "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=",
+                    "dev": true
+                },
+                "find-up": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.nlark.com/find-up/download/find-up-3.0.0.tgz?cache=0&sync_timestamp=1618846778775&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffind-up%2Fdownload%2Ffind-up-3.0.0.tgz",
+                    "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=",
+                    "dev": true,
+                    "requires": {
+                        "locate-path": "^3.0.0"
+                    }
+                },
+                "get-caller-file": {
+                    "version": "2.0.5",
+                    "resolved": "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-2.0.5.tgz",
+                    "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=",
+                    "dev": true
+                },
+                "locate-path": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz",
+                    "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=",
+                    "dev": true,
+                    "requires": {
+                        "p-locate": "^3.0.0",
+                        "path-exists": "^3.0.0"
+                    }
+                },
+                "p-limit": {
+                    "version": "2.3.0",
+                    "resolved": "https://registry.nlark.com/p-limit/download/p-limit-2.3.0.tgz",
+                    "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=",
+                    "dev": true,
+                    "requires": {
+                        "p-try": "^2.0.0"
+                    }
+                },
+                "p-locate": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.nlark.com/p-locate/download/p-locate-3.0.0.tgz",
+                    "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=",
+                    "dev": true,
+                    "requires": {
+                        "p-limit": "^2.0.0"
+                    }
+                },
+                "p-try": {
+                    "version": "2.2.0",
+                    "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz",
+                    "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=",
+                    "dev": true
+                },
+                "require-main-filename": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-2.0.0.tgz",
+                    "integrity": "sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs=",
+                    "dev": true
+                },
+                "string-width": {
+                    "version": "3.1.0",
+                    "resolved": "https://registry.nlark.com/string-width/download/string-width-3.1.0.tgz",
+                    "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=",
+                    "dev": true,
+                    "requires": {
+                        "emoji-regex": "^7.0.1",
+                        "is-fullwidth-code-point": "^2.0.0",
+                        "strip-ansi": "^5.1.0"
+                    }
+                },
+                "strip-ansi": {
+                    "version": "5.2.0",
+                    "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz?cache=0&sync_timestamp=1618553320591&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-5.2.0.tgz",
+                    "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=",
+                    "dev": true,
+                    "requires": {
+                        "ansi-regex": "^4.1.0"
+                    }
+                },
+                "wrap-ansi": {
+                    "version": "5.1.0",
+                    "resolved": "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-5.1.0.tgz",
+                    "integrity": "sha1-H9H2cjXVttD+54EFYAG/tpTAOwk=",
+                    "dev": true,
+                    "requires": {
+                        "ansi-styles": "^3.2.0",
+                        "string-width": "^3.0.0",
+                        "strip-ansi": "^5.0.0"
+                    }
+                },
+                "yargs": {
+                    "version": "13.3.2",
+                    "resolved": "https://registry.nlark.com/yargs/download/yargs-13.3.2.tgz?cache=0&sync_timestamp=1620086465147&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fyargs%2Fdownload%2Fyargs-13.3.2.tgz",
+                    "integrity": "sha1-rX/+/sGqWVZayRX4Lcyzipwxot0=",
+                    "dev": true,
+                    "requires": {
+                        "cliui": "^5.0.0",
+                        "find-up": "^3.0.0",
+                        "get-caller-file": "^2.0.1",
+                        "require-directory": "^2.1.1",
+                        "require-main-filename": "^2.0.0",
+                        "set-blocking": "^2.0.0",
+                        "string-width": "^3.0.0",
+                        "which-module": "^2.0.0",
+                        "y18n": "^4.0.0",
+                        "yargs-parser": "^13.1.2"
+                    }
+                },
+                "yargs-parser": {
+                    "version": "13.1.2",
+                    "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-13.1.2.tgz",
+                    "integrity": "sha1-Ew8JcC667vJlDVTObj5XBvek+zg=",
+                    "dev": true,
+                    "requires": {
+                        "camelcase": "^5.0.0",
+                        "decamelize": "^1.2.0"
+                    }
+                }
+            }
+        },
+        "sass-loader": {
+            "version": "10.2.0",
+            "resolved": "https://registry.nlark.com/sass-loader/download/sass-loader-10.2.0.tgz",
+            "integrity": "sha1-PWTBWQ+REBOz+kigsiqD1eFJRxY=",
+            "dev": true,
+            "requires": {
+                "klona": "^2.0.4",
+                "loader-utils": "^2.0.0",
+                "neo-async": "^2.6.2",
+                "schema-utils": "^3.0.0",
+                "semver": "^7.3.2"
+            },
+            "dependencies": {
+                "ajv": {
+                    "version": "6.12.6",
+                    "resolved": "https://registry.nlark.com/ajv/download/ajv-6.12.6.tgz?cache=0&sync_timestamp=1622991493844&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fajv%2Fdownload%2Fajv-6.12.6.tgz",
+                    "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=",
+                    "dev": true,
+                    "requires": {
+                        "fast-deep-equal": "^3.1.1",
+                        "fast-json-stable-stringify": "^2.0.0",
+                        "json-schema-traverse": "^0.4.1",
+                        "uri-js": "^4.2.2"
+                    }
+                },
+                "fast-deep-equal": {
+                    "version": "3.1.3",
+                    "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz",
+                    "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=",
+                    "dev": true
+                },
+                "json-schema-traverse": {
+                    "version": "0.4.1",
+                    "resolved": "https://registry.nlark.com/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz",
+                    "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=",
+                    "dev": true
+                },
+                "json5": {
+                    "version": "2.2.0",
+                    "resolved": "https://registry.npm.taobao.org/json5/download/json5-2.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson5%2Fdownload%2Fjson5-2.2.0.tgz",
+                    "integrity": "sha1-Lf7+cgxrpSXZ69kJlQ8FFTFsiaM=",
+                    "dev": true,
+                    "requires": {
+                        "minimist": "^1.2.5"
+                    }
+                },
+                "loader-utils": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-2.0.0.tgz",
+                    "integrity": "sha1-5MrOW4FtQloWa18JfhDNErNgZLA=",
+                    "dev": true,
+                    "requires": {
+                        "big.js": "^5.2.2",
+                        "emojis-list": "^3.0.0",
+                        "json5": "^2.1.2"
+                    }
+                },
+                "lru-cache": {
+                    "version": "6.0.0",
+                    "resolved": "https://registry.nlark.com/lru-cache/download/lru-cache-6.0.0.tgz",
+                    "integrity": "sha1-bW/mVw69lqr5D8rR2vo7JWbbOpQ=",
+                    "dev": true,
+                    "requires": {
+                        "yallist": "^4.0.0"
+                    }
+                },
+                "schema-utils": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-3.0.0.tgz",
+                    "integrity": "sha1-Z1AvaqK2ai1AMrQnmilEl4oJE+8=",
+                    "dev": true,
+                    "requires": {
+                        "@types/json-schema": "^7.0.6",
+                        "ajv": "^6.12.5",
+                        "ajv-keywords": "^3.5.2"
+                    }
+                },
+                "semver": {
+                    "version": "7.3.5",
+                    "resolved": "https://registry.nlark.com/semver/download/semver-7.3.5.tgz?cache=0&sync_timestamp=1618847119601&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-7.3.5.tgz",
+                    "integrity": "sha1-C2Ich5NI2JmOSw5L6Us/EuYBjvc=",
+                    "dev": true,
+                    "requires": {
+                        "lru-cache": "^6.0.0"
+                    }
+                },
+                "yallist": {
+                    "version": "4.0.0",
+                    "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-4.0.0.tgz",
+                    "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=",
+                    "dev": true
+                }
+            }
+        },
+        "sass-resources-loader": {
+            "version": "2.2.1",
+            "resolved": "https://registry.npm.taobao.org/sass-resources-loader/download/sass-resources-loader-2.2.1.tgz",
+            "integrity": "sha1-19vDbMslstj/pQixuGMLmH3x5cM=",
+            "dev": true,
+            "requires": {
+                "async": "^3.2.0",
+                "chalk": "^4.1.0",
+                "glob": "^7.1.6",
+                "loader-utils": "^2.0.0"
+            },
+            "dependencies": {
+                "ansi-styles": {
+                    "version": "4.3.0",
+                    "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz",
+                    "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=",
+                    "dev": true,
+                    "requires": {
+                        "color-convert": "^2.0.1"
+                    }
+                },
+                "async": {
+                    "version": "3.2.0",
+                    "resolved": "https://registry.nlark.com/async/download/async-3.2.0.tgz",
+                    "integrity": "sha1-s6JoXF67ZB094C0WEALGD8n4VyA=",
+                    "dev": true
+                },
+                "chalk": {
+                    "version": "4.1.1",
+                    "resolved": "https://registry.nlark.com/chalk/download/chalk-4.1.1.tgz?cache=0&sync_timestamp=1618995367379&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-4.1.1.tgz",
+                    "integrity": "sha1-yAs/qyi/Y3HmhjMl7uZ+YYt35q0=",
+                    "dev": true,
+                    "requires": {
+                        "ansi-styles": "^4.1.0",
+                        "supports-color": "^7.1.0"
+                    }
+                },
+                "color-convert": {
+                    "version": "2.0.1",
+                    "resolved": "https://registry.nlark.com/color-convert/download/color-convert-2.0.1.tgz",
+                    "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=",
+                    "dev": true,
+                    "requires": {
+                        "color-name": "~1.1.4"
+                    }
+                },
+                "color-name": {
+                    "version": "1.1.4",
+                    "resolved": "https://registry.nlark.com/color-name/download/color-name-1.1.4.tgz",
+                    "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=",
+                    "dev": true
+                },
+                "has-flag": {
+                    "version": "4.0.0",
+                    "resolved": "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz?cache=0&sync_timestamp=1618847009337&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-flag%2Fdownload%2Fhas-flag-4.0.0.tgz",
+                    "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=",
+                    "dev": true
+                },
+                "json5": {
+                    "version": "2.2.0",
+                    "resolved": "https://registry.npm.taobao.org/json5/download/json5-2.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson5%2Fdownload%2Fjson5-2.2.0.tgz",
+                    "integrity": "sha1-Lf7+cgxrpSXZ69kJlQ8FFTFsiaM=",
+                    "dev": true,
+                    "requires": {
+                        "minimist": "^1.2.5"
+                    }
+                },
+                "loader-utils": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-2.0.0.tgz",
+                    "integrity": "sha1-5MrOW4FtQloWa18JfhDNErNgZLA=",
+                    "dev": true,
+                    "requires": {
+                        "big.js": "^5.2.2",
+                        "emojis-list": "^3.0.0",
+                        "json5": "^2.1.2"
+                    }
+                },
+                "supports-color": {
+                    "version": "7.2.0",
+                    "resolved": "https://registry.nlark.com/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1622293579301&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz",
+                    "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^4.0.0"
+                    }
+                }
+            }
+        },
+        "sax": {
+            "version": "1.2.4",
+            "resolved": "https://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz",
+            "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=",
+            "dev": true
+        },
+        "schema-utils": {
+            "version": "0.3.0",
+            "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-0.3.0.tgz",
+            "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=",
+            "dev": true,
+            "requires": {
+                "ajv": "^5.0.0"
+            }
+        },
+        "scss-tokenizer": {
+            "version": "0.2.3",
+            "resolved": "https://registry.nlark.com/scss-tokenizer/download/scss-tokenizer-0.2.3.tgz",
+            "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=",
+            "dev": true,
+            "requires": {
+                "js-base64": "^2.1.8",
+                "source-map": "^0.4.2"
+            },
+            "dependencies": {
+                "source-map": {
+                    "version": "0.4.4",
+                    "resolved": "https://registry.nlark.com/source-map/download/source-map-0.4.4.tgz",
+                    "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
+                    "dev": true,
+                    "requires": {
+                        "amdefine": ">=0.0.4"
+                    }
+                }
+            }
+        },
+        "select": {
+            "version": "1.1.2",
+            "resolved": "https://registry.npm.taobao.org/select/download/select-1.1.2.tgz",
+            "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0="
+        },
+        "select-hose": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npm.taobao.org/select-hose/download/select-hose-2.0.0.tgz",
+            "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=",
+            "dev": true
+        },
+        "selfsigned": {
+            "version": "1.10.8",
+            "resolved": "https://registry.npm.taobao.org/selfsigned/download/selfsigned-1.10.8.tgz?cache=0&sync_timestamp=1600186189732&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fselfsigned%2Fdownload%2Fselfsigned-1.10.8.tgz",
+            "integrity": "sha1-DRcgi30Swz+OrIXEGDXyf8PYGjA=",
+            "dev": true,
+            "requires": {
+                "node-forge": "^0.10.0"
+            }
+        },
+        "semver": {
+            "version": "5.7.1",
+            "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1589682805026&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz",
+            "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc="
+        },
+        "send": {
+            "version": "0.17.1",
+            "resolved": "https://registry.npm.taobao.org/send/download/send-0.17.1.tgz",
+            "integrity": "sha1-wdiwWfeQD3Rm3Uk4vcROEd2zdsg=",
+            "dev": true,
+            "requires": {
+                "debug": "2.6.9",
+                "depd": "~1.1.2",
+                "destroy": "~1.0.4",
+                "encodeurl": "~1.0.2",
+                "escape-html": "~1.0.3",
+                "etag": "~1.8.1",
+                "fresh": "0.5.2",
+                "http-errors": "~1.7.2",
+                "mime": "1.6.0",
+                "ms": "2.1.1",
+                "on-finished": "~2.3.0",
+                "range-parser": "~1.2.1",
+                "statuses": "~1.5.0"
+            },
+            "dependencies": {
+                "ms": {
+                    "version": "2.1.1",
+                    "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.1.tgz",
+                    "integrity": "sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo=",
+                    "dev": true
+                }
+            }
+        },
+        "serialize-javascript": {
+            "version": "1.9.1",
+            "resolved": "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-1.9.1.tgz?cache=0&sync_timestamp=1599740650381&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fserialize-javascript%2Fdownload%2Fserialize-javascript-1.9.1.tgz",
+            "integrity": "sha1-z8IArvd7YAxH2pu4FJyUPnmML9s=",
+            "dev": true
+        },
+        "serve-index": {
+            "version": "1.9.1",
+            "resolved": "https://registry.npm.taobao.org/serve-index/download/serve-index-1.9.1.tgz",
+            "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=",
+            "dev": true,
+            "requires": {
+                "accepts": "~1.3.4",
+                "batch": "0.6.1",
+                "debug": "2.6.9",
+                "escape-html": "~1.0.3",
+                "http-errors": "~1.6.2",
+                "mime-types": "~2.1.17",
+                "parseurl": "~1.3.2"
+            },
+            "dependencies": {
+                "http-errors": {
+                    "version": "1.6.3",
+                    "resolved": "https://registry.npm.taobao.org/http-errors/download/http-errors-1.6.3.tgz?cache=0&sync_timestamp=1593407858306&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-errors%2Fdownload%2Fhttp-errors-1.6.3.tgz",
+                    "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
+                    "dev": true,
+                    "requires": {
+                        "depd": "~1.1.2",
+                        "inherits": "2.0.3",
+                        "setprototypeof": "1.1.0",
+                        "statuses": ">= 1.4.0 < 2"
+                    }
+                },
+                "inherits": {
+                    "version": "2.0.3",
+                    "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz",
+                    "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+                    "dev": true
+                },
+                "setprototypeof": {
+                    "version": "1.1.0",
+                    "resolved": "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.0.tgz",
+                    "integrity": "sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY=",
+                    "dev": true
+                }
+            }
+        },
+        "serve-static": {
+            "version": "1.14.1",
+            "resolved": "https://registry.npm.taobao.org/serve-static/download/serve-static-1.14.1.tgz",
+            "integrity": "sha1-Zm5jbcTwEPfvKZcKiKZ0MgiYsvk=",
+            "dev": true,
+            "requires": {
+                "encodeurl": "~1.0.2",
+                "escape-html": "~1.0.3",
+                "parseurl": "~1.3.3",
+                "send": "0.17.1"
+            }
+        },
+        "set-blocking": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npm.taobao.org/set-blocking/download/set-blocking-2.0.0.tgz",
+            "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
+        },
+        "set-value": {
+            "version": "2.0.1",
+            "resolved": "https://registry.npm.taobao.org/set-value/download/set-value-2.0.1.tgz",
+            "integrity": "sha1-oY1AUw5vB95CKMfe/kInr4ytAFs=",
+            "dev": true,
+            "requires": {
+                "extend-shallow": "^2.0.1",
+                "is-extendable": "^0.1.1",
+                "is-plain-object": "^2.0.3",
+                "split-string": "^3.0.1"
+            },
+            "dependencies": {
+                "extend-shallow": {
+                    "version": "2.0.1",
+                    "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz",
+                    "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+                    "dev": true,
+                    "requires": {
+                        "is-extendable": "^0.1.0"
+                    }
+                }
+            }
+        },
+        "setimmediate": {
+            "version": "1.0.5",
+            "resolved": "https://registry.npm.taobao.org/setimmediate/download/setimmediate-1.0.5.tgz",
+            "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
+            "dev": true
+        },
+        "setprototypeof": {
+            "version": "1.1.1",
+            "resolved": "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.1.tgz",
+            "integrity": "sha1-fpWsskqpL1iF4KvvW6ExMw1K5oM=",
+            "dev": true
+        },
+        "sha.js": {
+            "version": "2.4.11",
+            "resolved": "https://registry.npm.taobao.org/sha.js/download/sha.js-2.4.11.tgz",
+            "integrity": "sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc=",
+            "dev": true,
+            "requires": {
+                "inherits": "^2.0.1",
+                "safe-buffer": "^5.0.1"
+            }
+        },
+        "shebang-command": {
+            "version": "1.2.0",
+            "resolved": "https://registry.npm.taobao.org/shebang-command/download/shebang-command-1.2.0.tgz",
+            "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+            "dev": true,
+            "requires": {
+                "shebang-regex": "^1.0.0"
+            }
+        },
+        "shebang-regex": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-1.0.0.tgz",
+            "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
+            "dev": true
+        },
+        "shelljs": {
+            "version": "0.7.8",
+            "resolved": "https://registry.npm.taobao.org/shelljs/download/shelljs-0.7.8.tgz?cache=0&sync_timestamp=1589684087110&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fshelljs%2Fdownload%2Fshelljs-0.7.8.tgz",
+            "integrity": "sha1-3svPh0sNHl+3LhSxZKloMEjprLM=",
+            "dev": true,
+            "requires": {
+                "glob": "^7.0.0",
+                "interpret": "^1.0.0",
+                "rechoir": "^0.6.2"
+            }
+        },
+        "shellwords": {
+            "version": "0.1.1",
+            "resolved": "https://registry.npm.taobao.org/shellwords/download/shellwords-0.1.1.tgz",
+            "integrity": "sha1-1rkYHBpI05cyTISHHvvPxz/AZUs=",
+            "dev": true
+        },
+        "signal-exit": {
+            "version": "3.0.3",
+            "resolved": "https://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.3.tgz",
+            "integrity": "sha1-oUEMLt2PB3sItOJTyOrPyvBXRhw="
+        },
+        "simple-concat": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/simple-concat/download/simple-concat-1.0.1.tgz",
+            "integrity": "sha1-9Gl2CCujXCJj8cirXt/ibEHJVS8="
+        },
+        "simple-get": {
+            "version": "3.1.0",
+            "resolved": "https://registry.npm.taobao.org/simple-get/download/simple-get-3.1.0.tgz",
+            "integrity": "sha1-tFvgYkNeUNFZVAtXYgLO7EC5xrM=",
+            "requires": {
+                "decompress-response": "^4.2.0",
+                "once": "^1.3.1",
+                "simple-concat": "^1.0.0"
+            }
+        },
+        "simple-swizzle": {
+            "version": "0.2.2",
+            "resolved": "https://registry.npm.taobao.org/simple-swizzle/download/simple-swizzle-0.2.2.tgz",
+            "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=",
+            "dev": true,
+            "requires": {
+                "is-arrayish": "^0.3.1"
+            },
+            "dependencies": {
+                "is-arrayish": {
+                    "version": "0.3.2",
+                    "resolved": "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.3.2.tgz",
+                    "integrity": "sha1-RXSirlb3qyBolvtDHq7tBm/fjwM=",
+                    "dev": true
+                }
+            }
+        },
+        "slash": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/slash/download/slash-1.0.0.tgz?cache=0&sync_timestamp=1589682715547&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fslash%2Fdownload%2Fslash-1.0.0.tgz",
+            "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
+            "dev": true
+        },
+        "snapdragon": {
+            "version": "0.8.2",
+            "resolved": "https://registry.npm.taobao.org/snapdragon/download/snapdragon-0.8.2.tgz",
+            "integrity": "sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0=",
+            "dev": true,
+            "requires": {
+                "base": "^0.11.1",
+                "debug": "^2.2.0",
+                "define-property": "^0.2.5",
+                "extend-shallow": "^2.0.1",
+                "map-cache": "^0.2.2",
+                "source-map": "^0.5.6",
+                "source-map-resolve": "^0.5.0",
+                "use": "^3.1.0"
+            },
+            "dependencies": {
+                "define-property": {
+                    "version": "0.2.5",
+                    "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz",
+                    "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+                    "dev": true,
+                    "requires": {
+                        "is-descriptor": "^0.1.0"
+                    }
+                },
+                "extend-shallow": {
+                    "version": "2.0.1",
+                    "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz",
+                    "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+                    "dev": true,
+                    "requires": {
+                        "is-extendable": "^0.1.0"
+                    }
+                },
+                "source-map": {
+                    "version": "0.5.7",
+                    "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1589682764497&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz",
+                    "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+                    "dev": true
+                }
+            }
+        },
+        "snapdragon-node": {
+            "version": "2.1.1",
+            "resolved": "https://registry.npm.taobao.org/snapdragon-node/download/snapdragon-node-2.1.1.tgz",
+            "integrity": "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=",
+            "dev": true,
+            "requires": {
+                "define-property": "^1.0.0",
+                "isobject": "^3.0.0",
+                "snapdragon-util": "^3.0.1"
+            },
+            "dependencies": {
+                "define-property": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz",
+                    "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+                    "dev": true,
+                    "requires": {
+                        "is-descriptor": "^1.0.0"
+                    }
+                },
+                "is-accessor-descriptor": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz",
+                    "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=",
+                    "dev": true,
+                    "requires": {
+                        "kind-of": "^6.0.0"
+                    }
+                },
+                "is-data-descriptor": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz",
+                    "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=",
+                    "dev": true,
+                    "requires": {
+                        "kind-of": "^6.0.0"
+                    }
+                },
+                "is-descriptor": {
+                    "version": "1.0.2",
+                    "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz",
+                    "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=",
+                    "dev": true,
+                    "requires": {
+                        "is-accessor-descriptor": "^1.0.0",
+                        "is-data-descriptor": "^1.0.0",
+                        "kind-of": "^6.0.2"
+                    }
+                },
+                "kind-of": {
+                    "version": "6.0.3",
+                    "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.3.tgz",
+                    "integrity": "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=",
+                    "dev": true
+                }
+            }
+        },
+        "snapdragon-util": {
+            "version": "3.0.1",
+            "resolved": "https://registry.npm.taobao.org/snapdragon-util/download/snapdragon-util-3.0.1.tgz",
+            "integrity": "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=",
+            "dev": true,
+            "requires": {
+                "kind-of": "^3.2.0"
+            }
+        },
+        "sockjs": {
+            "version": "0.3.19",
+            "resolved": "https://registry.npm.taobao.org/sockjs/download/sockjs-0.3.19.tgz",
+            "integrity": "sha1-2Xa76ACve9IK4IWY1YI5NQiZPA0=",
+            "dev": true,
+            "requires": {
+                "faye-websocket": "^0.10.0",
+                "uuid": "^3.0.1"
+            }
+        },
+        "sockjs-client": {
+            "version": "1.1.5",
+            "resolved": "https://registry.npm.taobao.org/sockjs-client/download/sockjs-client-1.1.5.tgz?cache=0&sync_timestamp=1596410219305&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsockjs-client%2Fdownload%2Fsockjs-client-1.1.5.tgz",
+            "integrity": "sha1-G7fA9yIsQPQq3xT0RCy9Eml3GoM=",
+            "dev": true,
+            "requires": {
+                "debug": "^2.6.6",
+                "eventsource": "0.1.6",
+                "faye-websocket": "~0.11.0",
+                "inherits": "^2.0.1",
+                "json3": "^3.3.2",
+                "url-parse": "^1.1.8"
+            },
+            "dependencies": {
+                "faye-websocket": {
+                    "version": "0.11.3",
+                    "resolved": "https://registry.npm.taobao.org/faye-websocket/download/faye-websocket-0.11.3.tgz",
+                    "integrity": "sha1-XA6aiWjokSwoZjn96XeosgnyUI4=",
+                    "dev": true,
+                    "requires": {
+                        "websocket-driver": ">=0.5.1"
+                    }
+                }
+            }
+        },
+        "sort-keys": {
+            "version": "1.1.2",
+            "resolved": "https://registry.npm.taobao.org/sort-keys/download/sort-keys-1.1.2.tgz?cache=0&sync_timestamp=1602621889278&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsort-keys%2Fdownload%2Fsort-keys-1.1.2.tgz",
+            "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=",
+            "dev": true,
+            "requires": {
+                "is-plain-obj": "^1.0.0"
+            }
+        },
+        "source-list-map": {
+            "version": "2.0.1",
+            "resolved": "https://registry.npm.taobao.org/source-list-map/download/source-list-map-2.0.1.tgz",
+            "integrity": "sha1-OZO9hzv8SEecyp6jpUeDXHwVSzQ=",
+            "dev": true
+        },
+        "source-map": {
+            "version": "0.6.1",
+            "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz?cache=0&sync_timestamp=1589682764497&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.6.1.tgz",
+            "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM="
+        },
+        "source-map-resolve": {
+            "version": "0.5.3",
+            "resolved": "https://registry.npm.taobao.org/source-map-resolve/download/source-map-resolve-0.5.3.tgz",
+            "integrity": "sha1-GQhmvs51U+H48mei7oLGBrVQmho=",
+            "dev": true,
+            "requires": {
+                "atob": "^2.1.2",
+                "decode-uri-component": "^0.2.0",
+                "resolve-url": "^0.2.1",
+                "source-map-url": "^0.4.0",
+                "urix": "^0.1.0"
+            }
+        },
+        "source-map-support": {
+            "version": "0.4.18",
+            "resolved": "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.4.18.tgz?cache=0&sync_timestamp=1589682814927&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-support%2Fdownload%2Fsource-map-support-0.4.18.tgz",
+            "integrity": "sha1-Aoam3ovkJkEzhZTpfM6nXwosWF8=",
+            "dev": true,
+            "requires": {
+                "source-map": "^0.5.6"
+            },
+            "dependencies": {
+                "source-map": {
+                    "version": "0.5.7",
+                    "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1589682764497&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz",
+                    "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+                    "dev": true
+                }
+            }
+        },
+        "source-map-url": {
+            "version": "0.4.0",
+            "resolved": "https://registry.npm.taobao.org/source-map-url/download/source-map-url-0.4.0.tgz",
+            "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
+            "dev": true
+        },
+        "spdx-correct": {
+            "version": "3.1.1",
+            "resolved": "https://registry.npm.taobao.org/spdx-correct/download/spdx-correct-3.1.1.tgz",
+            "integrity": "sha1-3s6BrJweZxPl99G28X1Gj6U9iak=",
+            "requires": {
+                "spdx-expression-parse": "^3.0.0",
+                "spdx-license-ids": "^3.0.0"
+            }
+        },
+        "spdx-exceptions": {
+            "version": "2.3.0",
+            "resolved": "https://registry.npm.taobao.org/spdx-exceptions/download/spdx-exceptions-2.3.0.tgz",
+            "integrity": "sha1-PyjOGnegA3JoPq3kpDMYNSeiFj0="
+        },
+        "spdx-expression-parse": {
+            "version": "3.0.1",
+            "resolved": "https://registry.npm.taobao.org/spdx-expression-parse/download/spdx-expression-parse-3.0.1.tgz?cache=0&sync_timestamp=1589682794533&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fspdx-expression-parse%2Fdownload%2Fspdx-expression-parse-3.0.1.tgz",
+            "integrity": "sha1-z3D1BILu/cmOPOCmgz5KU87rpnk=",
+            "requires": {
+                "spdx-exceptions": "^2.1.0",
+                "spdx-license-ids": "^3.0.0"
+            }
+        },
+        "spdx-license-ids": {
+            "version": "3.0.6",
+            "resolved": "https://registry.npm.taobao.org/spdx-license-ids/download/spdx-license-ids-3.0.6.tgz?cache=0&sync_timestamp=1600284873714&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fspdx-license-ids%2Fdownload%2Fspdx-license-ids-3.0.6.tgz",
+            "integrity": "sha1-yAdXODwoq/cpZ0SZjLwQaui4VM4="
+        },
+        "spdy": {
+            "version": "4.0.2",
+            "resolved": "https://registry.npm.taobao.org/spdy/download/spdy-4.0.2.tgz",
+            "integrity": "sha1-t09GYgOj7aRSwCSSuR+56EonZ3s=",
+            "dev": true,
+            "requires": {
+                "debug": "^4.1.0",
+                "handle-thing": "^2.0.0",
+                "http-deceiver": "^1.2.7",
+                "select-hose": "^2.0.0",
+                "spdy-transport": "^3.0.0"
+            },
+            "dependencies": {
+                "debug": {
+                    "version": "4.2.0",
+                    "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.2.0.tgz?cache=0&sync_timestamp=1600502894812&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.2.0.tgz",
+                    "integrity": "sha1-fxUPk5IOlMWPVXTC/QGjEQ7/5/E=",
+                    "dev": true,
+                    "requires": {
+                        "ms": "2.1.2"
+                    }
+                },
+                "ms": {
+                    "version": "2.1.2",
+                    "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz",
+                    "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
+                    "dev": true
+                }
+            }
+        },
+        "spdy-transport": {
+            "version": "3.0.0",
+            "resolved": "https://registry.npm.taobao.org/spdy-transport/download/spdy-transport-3.0.0.tgz",
+            "integrity": "sha1-ANSGOmQArXXfkzYaFghgXl3NzzE=",
+            "dev": true,
+            "requires": {
+                "debug": "^4.1.0",
+                "detect-node": "^2.0.4",
+                "hpack.js": "^2.1.6",
+                "obuf": "^1.1.2",
+                "readable-stream": "^3.0.6",
+                "wbuf": "^1.7.3"
+            },
+            "dependencies": {
+                "debug": {
+                    "version": "4.2.0",
+                    "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.2.0.tgz?cache=0&sync_timestamp=1600502894812&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.2.0.tgz",
+                    "integrity": "sha1-fxUPk5IOlMWPVXTC/QGjEQ7/5/E=",
+                    "dev": true,
+                    "requires": {
+                        "ms": "2.1.2"
+                    }
+                },
+                "ms": {
+                    "version": "2.1.2",
+                    "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz",
+                    "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
+                    "dev": true
+                },
+                "readable-stream": {
+                    "version": "3.6.0",
+                    "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz?cache=0&sync_timestamp=1589682741447&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-3.6.0.tgz",
+                    "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=",
+                    "dev": true,
+                    "requires": {
+                        "inherits": "^2.0.3",
+                        "string_decoder": "^1.1.1",
+                        "util-deprecate": "^1.0.1"
+                    }
+                }
+            }
+        },
+        "split": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/split/download/split-1.0.1.tgz",
+            "integrity": "sha1-YFvZvjA6pZ+zX5Ip++oN3snqB9k=",
+            "requires": {
+                "through": "2"
+            }
+        },
+        "split-string": {
+            "version": "3.1.0",
+            "resolved": "https://registry.npm.taobao.org/split-string/download/split-string-3.1.0.tgz",
+            "integrity": "sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=",
+            "dev": true,
+            "requires": {
+                "extend-shallow": "^3.0.0"
+            }
+        },
+        "split2": {
+            "version": "3.2.2",
+            "resolved": "https://registry.nlark.com/split2/download/split2-3.2.2.tgz",
+            "integrity": "sha1-vyzyo32DgxLCSciSBv16F90SNl8=",
+            "requires": {
+                "readable-stream": "^3.0.0"
+            },
+            "dependencies": {
+                "readable-stream": {
+                    "version": "3.6.0",
+                    "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz",
+                    "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=",
+                    "requires": {
+                        "inherits": "^2.0.3",
+                        "string_decoder": "^1.1.1",
+                        "util-deprecate": "^1.0.1"
+                    }
+                }
+            }
+        },
+        "sprintf-js": {
+            "version": "1.0.3",
+            "resolved": "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz",
+            "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
+        },
+        "sshpk": {
+            "version": "1.16.1",
+            "resolved": "https://registry.npm.taobao.org/sshpk/download/sshpk-1.16.1.tgz",
+            "integrity": "sha1-+2YcC+8ps520B2nuOfpwCT1vaHc=",
+            "dev": true,
+            "requires": {
+                "asn1": "~0.2.3",
+                "assert-plus": "^1.0.0",
+                "bcrypt-pbkdf": "^1.0.0",
+                "dashdash": "^1.12.0",
+                "ecc-jsbn": "~0.1.1",
+                "getpass": "^0.1.1",
+                "jsbn": "~0.1.0",
+                "safer-buffer": "^2.0.2",
+                "tweetnacl": "~0.14.0"
+            }
+        },
+        "ssri": {
+            "version": "5.3.0",
+            "resolved": "https://registry.npm.taobao.org/ssri/download/ssri-5.3.0.tgz",
+            "integrity": "sha1-ujhyycbTOgcEp9cf8EXl7EiZnQY=",
+            "dev": true,
+            "requires": {
+                "safe-buffer": "^5.1.1"
+            }
+        },
+        "stable": {
+            "version": "0.1.8",
+            "resolved": "https://registry.npm.taobao.org/stable/download/stable-0.1.8.tgz",
+            "integrity": "sha1-g26zyDgv4pNv6vVEYxAXzn1Ho88=",
+            "dev": true
+        },
+        "stackframe": {
+            "version": "1.2.0",
+            "resolved": "https://registry.npm.taobao.org/stackframe/download/stackframe-1.2.0.tgz",
+            "integrity": "sha1-UkKUktY8YuuYmATBFVLj0i53kwM=",
+            "dev": true
+        },
+        "standard-version": {
+            "version": "9.3.0",
+            "resolved": "https://registry.nlark.com/standard-version/download/standard-version-9.3.0.tgz?cache=0&sync_timestamp=1620147465224&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fstandard-version%2Fdownload%2Fstandard-version-9.3.0.tgz",
+            "integrity": "sha1-Lm/0OapJsuqJUiYvMK5rcMAkZ9M=",
+            "requires": {
+                "chalk": "^2.4.2",
+                "conventional-changelog": "3.1.24",
+                "conventional-changelog-config-spec": "2.1.0",
+                "conventional-changelog-conventionalcommits": "4.5.0",
+                "conventional-recommended-bump": "6.1.0",
+                "detect-indent": "^6.0.0",
+                "detect-newline": "^3.1.0",
+                "dotgitignore": "^2.1.0",
+                "figures": "^3.1.0",
+                "find-up": "^5.0.0",
+                "fs-access": "^1.0.1",
+                "git-semver-tags": "^4.0.0",
+                "semver": "^7.1.1",
+                "stringify-package": "^1.0.1",
+                "yargs": "^16.0.0"
+            },
+            "dependencies": {
+                "ansi-regex": {
+                    "version": "5.0.0",
+                    "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-5.0.0.tgz",
+                    "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U="
+                },
+                "ansi-styles": {
+                    "version": "4.3.0",
+                    "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz",
+                    "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=",
+                    "requires": {
+                        "color-convert": "^2.0.1"
+                    }
+                },
+                "cliui": {
+                    "version": "7.0.4",
+                    "resolved": "https://registry.nlark.com/cliui/download/cliui-7.0.4.tgz",
+                    "integrity": "sha1-oCZe5lVHb8gHrqnfPfjfd4OAi08=",
+                    "requires": {
+                        "string-width": "^4.2.0",
+                        "strip-ansi": "^6.0.0",
+                        "wrap-ansi": "^7.0.0"
+                    }
+                },
+                "color-convert": {
+                    "version": "2.0.1",
+                    "resolved": "https://registry.nlark.com/color-convert/download/color-convert-2.0.1.tgz",
+                    "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=",
+                    "requires": {
+                        "color-name": "~1.1.4"
+                    }
+                },
+                "color-name": {
+                    "version": "1.1.4",
+                    "resolved": "https://registry.nlark.com/color-name/download/color-name-1.1.4.tgz",
+                    "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI="
+                },
+                "compare-func": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.npm.taobao.org/compare-func/download/compare-func-2.0.0.tgz",
+                    "integrity": "sha1-+2XnXtvd/S5WhVTotbBf/3pR/LM=",
+                    "requires": {
+                        "array-ify": "^1.0.0",
+                        "dot-prop": "^5.1.0"
+                    }
+                },
+                "conventional-changelog-conventionalcommits": {
+                    "version": "4.5.0",
+                    "resolved": "https://registry.nlark.com/conventional-changelog-conventionalcommits/download/conventional-changelog-conventionalcommits-4.5.0.tgz?cache=0&sync_timestamp=1619742190111&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fconventional-changelog-conventionalcommits%2Fdownload%2Fconventional-changelog-conventionalcommits-4.5.0.tgz",
+                    "integrity": "sha1-oC4LBtEdNC/cDwDJHXgmXtC8CmI=",
+                    "requires": {
+                        "compare-func": "^2.0.0",
+                        "lodash": "^4.17.15",
+                        "q": "^1.5.1"
+                    }
+                },
+                "detect-indent": {
+                    "version": "6.1.0",
+                    "resolved": "https://registry.nlark.com/detect-indent/download/detect-indent-6.1.0.tgz?cache=0&sync_timestamp=1622185076482&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdetect-indent%2Fdownload%2Fdetect-indent-6.1.0.tgz",
+                    "integrity": "sha1-WSSF67v2s7GrK+F1yDk9BMoNV+Y="
+                },
+                "find-up": {
+                    "version": "5.0.0",
+                    "resolved": "https://registry.nlark.com/find-up/download/find-up-5.0.0.tgz?cache=0&sync_timestamp=1618846778775&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffind-up%2Fdownload%2Ffind-up-5.0.0.tgz",
+                    "integrity": "sha1-TJKBnstwg1YeT0okCoa+UZj1Nvw=",
+                    "requires": {
+                        "locate-path": "^6.0.0",
+                        "path-exists": "^4.0.0"
+                    }
+                },
+                "get-caller-file": {
+                    "version": "2.0.5",
+                    "resolved": "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-2.0.5.tgz",
+                    "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34="
+                },
+                "is-fullwidth-code-point": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz?cache=0&sync_timestamp=1618552489864&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-fullwidth-code-point%2Fdownload%2Fis-fullwidth-code-point-3.0.0.tgz",
+                    "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0="
+                },
+                "locate-path": {
+                    "version": "6.0.0",
+                    "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-6.0.0.tgz",
+                    "integrity": "sha1-VTIeswn+u8WcSAHZMackUqaB0oY=",
+                    "requires": {
+                        "p-locate": "^5.0.0"
+                    }
+                },
+                "lru-cache": {
+                    "version": "6.0.0",
+                    "resolved": "https://registry.nlark.com/lru-cache/download/lru-cache-6.0.0.tgz",
+                    "integrity": "sha1-bW/mVw69lqr5D8rR2vo7JWbbOpQ=",
+                    "requires": {
+                        "yallist": "^4.0.0"
+                    }
+                },
+                "p-limit": {
+                    "version": "3.1.0",
+                    "resolved": "https://registry.nlark.com/p-limit/download/p-limit-3.1.0.tgz",
+                    "integrity": "sha1-4drMvnjQ0TiMoYxk/qOOPlfjcGs=",
+                    "requires": {
+                        "yocto-queue": "^0.1.0"
+                    }
+                },
+                "p-locate": {
+                    "version": "5.0.0",
+                    "resolved": "https://registry.nlark.com/p-locate/download/p-locate-5.0.0.tgz",
+                    "integrity": "sha1-g8gxXGeFAF470CGDlBHJ4RDm2DQ=",
+                    "requires": {
+                        "p-limit": "^3.0.2"
+                    }
+                },
+                "path-exists": {
+                    "version": "4.0.0",
+                    "resolved": "https://registry.nlark.com/path-exists/download/path-exists-4.0.0.tgz",
+                    "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM="
+                },
+                "semver": {
+                    "version": "7.3.5",
+                    "resolved": "https://registry.nlark.com/semver/download/semver-7.3.5.tgz?cache=0&sync_timestamp=1618847119601&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-7.3.5.tgz",
+                    "integrity": "sha1-C2Ich5NI2JmOSw5L6Us/EuYBjvc=",
+                    "requires": {
+                        "lru-cache": "^6.0.0"
+                    }
+                },
+                "string-width": {
+                    "version": "4.2.2",
+                    "resolved": "https://registry.nlark.com/string-width/download/string-width-4.2.2.tgz",
+                    "integrity": "sha1-2v1PlVmnWFz7pSnGoKT3NIjr1MU=",
+                    "requires": {
+                        "emoji-regex": "^8.0.0",
+                        "is-fullwidth-code-point": "^3.0.0",
+                        "strip-ansi": "^6.0.0"
+                    }
+                },
+                "strip-ansi": {
+                    "version": "6.0.0",
+                    "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-6.0.0.tgz?cache=0&sync_timestamp=1618553320591&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-6.0.0.tgz",
+                    "integrity": "sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI=",
+                    "requires": {
+                        "ansi-regex": "^5.0.0"
+                    }
+                },
+                "wrap-ansi": {
+                    "version": "7.0.0",
+                    "resolved": "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-7.0.0.tgz",
+                    "integrity": "sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=",
+                    "requires": {
+                        "ansi-styles": "^4.0.0",
+                        "string-width": "^4.1.0",
+                        "strip-ansi": "^6.0.0"
+                    }
+                },
+                "y18n": {
+                    "version": "5.0.8",
+                    "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-5.0.8.tgz?cache=0&sync_timestamp=1617822684820&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fy18n%2Fdownload%2Fy18n-5.0.8.tgz",
+                    "integrity": "sha1-f0k00PfKjFb5UxSTndzS3ZHOHVU="
+                },
+                "yallist": {
+                    "version": "4.0.0",
+                    "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-4.0.0.tgz",
+                    "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI="
+                },
+                "yargs": {
+                    "version": "16.2.0",
+                    "resolved": "https://registry.nlark.com/yargs/download/yargs-16.2.0.tgz?cache=0&sync_timestamp=1620086465147&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fyargs%2Fdownload%2Fyargs-16.2.0.tgz",
+                    "integrity": "sha1-HIK/D2tqZur85+8w43b0mhJHf2Y=",
+                    "requires": {
+                        "cliui": "^7.0.2",
+                        "escalade": "^3.1.1",
+                        "get-caller-file": "^2.0.5",
+                        "require-directory": "^2.1.1",
+                        "string-width": "^4.2.0",
+                        "y18n": "^5.0.5",
+                        "yargs-parser": "^20.2.2"
+                    }
+                },
+                "yargs-parser": {
+                    "version": "20.2.7",
+                    "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-20.2.7.tgz",
+                    "integrity": "sha1-Yd+FwRPt+1p6TjbriqYO9CPLyQo="
+                }
+            }
+        },
+        "static-extend": {
+            "version": "0.1.2",
+            "resolved": "https://registry.npm.taobao.org/static-extend/download/static-extend-0.1.2.tgz",
+            "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
+            "dev": true,
+            "requires": {
+                "define-property": "^0.2.5",
+                "object-copy": "^0.1.0"
+            },
+            "dependencies": {
+                "define-property": {
+                    "version": "0.2.5",
+                    "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz",
+                    "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+                    "dev": true,
+                    "requires": {
+                        "is-descriptor": "^0.1.0"
+                    }
+                }
+            }
+        },
+        "statuses": {
+            "version": "1.5.0",
+            "resolved": "https://registry.npm.taobao.org/statuses/download/statuses-1.5.0.tgz?cache=0&sync_timestamp=1589682739548&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstatuses%2Fdownload%2Fstatuses-1.5.0.tgz",
+            "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
+            "dev": true
+        },
+        "stdout-stream": {
+            "version": "1.4.1",
+            "resolved": "https://registry.npm.taobao.org/stdout-stream/download/stdout-stream-1.4.1.tgz",
+            "integrity": "sha1-WsF0zdXNcmEEqgwLK9g4FdjVNd4=",
+            "dev": true,
+            "requires": {
+                "readable-stream": "^2.0.1"
+            }
+        },
+        "stream-browserify": {
+            "version": "2.0.2",
+            "resolved": "https://registry.npm.taobao.org/stream-browserify/download/stream-browserify-2.0.2.tgz",
+            "integrity": "sha1-h1IdOKRKp+6RzhzSpH3wy0ndZgs=",
+            "dev": true,
+            "requires": {
+                "inherits": "~2.0.1",
+                "readable-stream": "^2.0.2"
+            }
+        },
+        "stream-each": {
+            "version": "1.2.3",
+            "resolved": "https://registry.npm.taobao.org/stream-each/download/stream-each-1.2.3.tgz",
+            "integrity": "sha1-6+J6DDibBPvMIzZClS4Qcxr6m64=",
+            "dev": true,
+            "requires": {
+                "end-of-stream": "^1.1.0",
+                "stream-shift": "^1.0.0"
+            }
+        },
+        "stream-http": {
+            "version": "2.8.3",
+            "resolved": "https://registry.npm.taobao.org/stream-http/download/stream-http-2.8.3.tgz",
+            "integrity": "sha1-stJCRpKIpaJ+xP6JM6z2I95lFPw=",
+            "dev": true,
+            "requires": {
+                "builtin-status-codes": "^3.0.0",
+                "inherits": "^2.0.1",
+                "readable-stream": "^2.3.6",
+                "to-arraybuffer": "^1.0.0",
+                "xtend": "^4.0.0"
+            }
+        },
+        "stream-shift": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/stream-shift/download/stream-shift-1.0.1.tgz",
+            "integrity": "sha1-1wiCgVWasneEJCebCHfaPDktWj0=",
+            "dev": true
+        },
+        "strict-uri-encode": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npm.taobao.org/strict-uri-encode/download/strict-uri-encode-1.1.0.tgz",
+            "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=",
+            "dev": true
+        },
+        "string-width": {
+            "version": "2.1.1",
+            "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz",
+            "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=",
+            "requires": {
+                "is-fullwidth-code-point": "^2.0.0",
+                "strip-ansi": "^4.0.0"
+            },
+            "dependencies": {
+                "ansi-regex": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz",
+                    "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
+                },
+                "strip-ansi": {
+                    "version": "4.0.0",
+                    "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-4.0.0.tgz?cache=0&sync_timestamp=1589682795383&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-4.0.0.tgz",
+                    "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+                    "requires": {
+                        "ansi-regex": "^3.0.0"
+                    }
+                }
+            }
+        },
+        "string.prototype.trimend": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npm.taobao.org/string.prototype.trimend/download/string.prototype.trimend-1.0.2.tgz?cache=0&sync_timestamp=1603219618123&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimend%2Fdownload%2Fstring.prototype.trimend-1.0.2.tgz",
+            "integrity": "sha1-bd2ah5a8cUtImjriIkaiCPN7+kY=",
+            "dev": true,
+            "requires": {
+                "define-properties": "^1.1.3",
+                "es-abstract": "^1.18.0-next.1"
+            },
+            "dependencies": {
+                "es-abstract": {
+                    "version": "1.18.0-next.1",
+                    "resolved": "https://registry.npm.taobao.org/es-abstract/download/es-abstract-1.18.0-next.1.tgz?cache=0&sync_timestamp=1601502719982&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fes-abstract%2Fdownload%2Fes-abstract-1.18.0-next.1.tgz",
+                    "integrity": "sha1-bjoKS9pxflAjqzuOkL7DYQjSLGg=",
+                    "dev": true,
+                    "requires": {
+                        "es-to-primitive": "^1.2.1",
+                        "function-bind": "^1.1.1",
+                        "has": "^1.0.3",
+                        "has-symbols": "^1.0.1",
+                        "is-callable": "^1.2.2",
+                        "is-negative-zero": "^2.0.0",
+                        "is-regex": "^1.1.1",
+                        "object-inspect": "^1.8.0",
+                        "object-keys": "^1.1.1",
+                        "object.assign": "^4.1.1",
+                        "string.prototype.trimend": "^1.0.1",
+                        "string.prototype.trimstart": "^1.0.1"
+                    }
+                }
+            }
+        },
+        "string.prototype.trimstart": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npm.taobao.org/string.prototype.trimstart/download/string.prototype.trimstart-1.0.2.tgz?cache=0&sync_timestamp=1603219618047&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimstart%2Fdownload%2Fstring.prototype.trimstart-1.0.2.tgz",
+            "integrity": "sha1-ItRdqBAVMJzQzdeXh+iRn8XGE+c=",
+            "dev": true,
+            "requires": {
+                "define-properties": "^1.1.3",
+                "es-abstract": "^1.18.0-next.1"
+            },
+            "dependencies": {
+                "es-abstract": {
+                    "version": "1.18.0-next.1",
+                    "resolved": "https://registry.npm.taobao.org/es-abstract/download/es-abstract-1.18.0-next.1.tgz?cache=0&sync_timestamp=1601502719982&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fes-abstract%2Fdownload%2Fes-abstract-1.18.0-next.1.tgz",
+                    "integrity": "sha1-bjoKS9pxflAjqzuOkL7DYQjSLGg=",
+                    "dev": true,
+                    "requires": {
+                        "es-to-primitive": "^1.2.1",
+                        "function-bind": "^1.1.1",
+                        "has": "^1.0.3",
+                        "has-symbols": "^1.0.1",
+                        "is-callable": "^1.2.2",
+                        "is-negative-zero": "^2.0.0",
+                        "is-regex": "^1.1.1",
+                        "object-inspect": "^1.8.0",
+                        "object-keys": "^1.1.1",
+                        "object.assign": "^4.1.1",
+                        "string.prototype.trimend": "^1.0.1",
+                        "string.prototype.trimstart": "^1.0.1"
+                    }
+                }
+            }
+        },
+        "string_decoder": {
+            "version": "1.1.1",
+            "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz",
+            "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=",
+            "requires": {
+                "safe-buffer": "~5.1.0"
+            }
+        },
+        "stringify-package": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/stringify-package/download/stringify-package-1.0.1.tgz",
+            "integrity": "sha1-5ao2Q+f3TQ8oYoty89rVzs/DuoU="
+        },
+        "strip-ansi": {
+            "version": "3.0.1",
+            "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz?cache=0&sync_timestamp=1589682795383&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-3.0.1.tgz",
+            "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+            "requires": {
+                "ansi-regex": "^2.0.0"
+            }
+        },
+        "strip-bom": {
+            "version": "3.0.0",
+            "resolved": "https://registry.npm.taobao.org/strip-bom/download/strip-bom-3.0.0.tgz",
+            "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM="
+        },
+        "strip-eof": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/strip-eof/download/strip-eof-1.0.0.tgz",
+            "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
+            "dev": true
+        },
+        "strip-indent": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/strip-indent/download/strip-indent-1.0.1.tgz",
+            "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
+            "requires": {
+                "get-stdin": "^4.0.1"
+            }
+        },
+        "style-loader": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npm.taobao.org/style-loader/download/style-loader-2.0.0.tgz?cache=0&sync_timestamp=1602248048594&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstyle-loader%2Fdownload%2Fstyle-loader-2.0.0.tgz",
+            "integrity": "sha1-lmlgL9RpB0DqrsE3eZoDrdu8OTw=",
+            "dev": true,
+            "requires": {
+                "loader-utils": "^2.0.0",
+                "schema-utils": "^3.0.0"
+            },
+            "dependencies": {
+                "ajv": {
+                    "version": "6.12.6",
+                    "resolved": "https://registry.nlark.com/ajv/download/ajv-6.12.6.tgz?cache=0&sync_timestamp=1622991493844&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fajv%2Fdownload%2Fajv-6.12.6.tgz",
+                    "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=",
+                    "dev": true,
+                    "requires": {
+                        "fast-deep-equal": "^3.1.1",
+                        "fast-json-stable-stringify": "^2.0.0",
+                        "json-schema-traverse": "^0.4.1",
+                        "uri-js": "^4.2.2"
+                    }
+                },
+                "fast-deep-equal": {
+                    "version": "3.1.3",
+                    "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz",
+                    "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=",
+                    "dev": true
+                },
+                "json-schema-traverse": {
+                    "version": "0.4.1",
+                    "resolved": "https://registry.nlark.com/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz",
+                    "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=",
+                    "dev": true
+                },
+                "json5": {
+                    "version": "2.2.0",
+                    "resolved": "https://registry.npm.taobao.org/json5/download/json5-2.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson5%2Fdownload%2Fjson5-2.2.0.tgz",
+                    "integrity": "sha1-Lf7+cgxrpSXZ69kJlQ8FFTFsiaM=",
+                    "dev": true,
+                    "requires": {
+                        "minimist": "^1.2.5"
+                    }
+                },
+                "loader-utils": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-2.0.0.tgz",
+                    "integrity": "sha1-5MrOW4FtQloWa18JfhDNErNgZLA=",
+                    "dev": true,
+                    "requires": {
+                        "big.js": "^5.2.2",
+                        "emojis-list": "^3.0.0",
+                        "json5": "^2.1.2"
+                    }
+                },
+                "schema-utils": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-3.0.0.tgz",
+                    "integrity": "sha1-Z1AvaqK2ai1AMrQnmilEl4oJE+8=",
+                    "dev": true,
+                    "requires": {
+                        "@types/json-schema": "^7.0.6",
+                        "ajv": "^6.12.5",
+                        "ajv-keywords": "^3.5.2"
+                    }
+                }
+            }
+        },
+        "stylehacks": {
+            "version": "4.0.3",
+            "resolved": "https://registry.npm.taobao.org/stylehacks/download/stylehacks-4.0.3.tgz",
+            "integrity": "sha1-Zxj8r00eB9ihMYaQiB6NlnJqcdU=",
+            "dev": true,
+            "requires": {
+                "browserslist": "^4.0.0",
+                "postcss": "^7.0.0",
+                "postcss-selector-parser": "^3.0.0"
+            },
+            "dependencies": {
+                "browserslist": {
+                    "version": "4.14.6",
+                    "resolved": "https://registry.npm.taobao.org/browserslist/download/browserslist-4.14.6.tgz",
+                    "integrity": "sha1-l3AqnCEuDGtq/vrZE9OhU440hFc=",
+                    "dev": true,
+                    "requires": {
+                        "caniuse-lite": "^1.0.30001154",
+                        "electron-to-chromium": "^1.3.585",
+                        "escalade": "^3.1.1",
+                        "node-releases": "^1.1.65"
+                    }
+                },
+                "postcss": {
+                    "version": "7.0.35",
+                    "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-7.0.35.tgz?cache=0&sync_timestamp=1603496056144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-7.0.35.tgz",
+                    "integrity": "sha1-0r4AuZj38hHYonaXQHny6SuXDiQ=",
+                    "dev": true,
+                    "requires": {
+                        "chalk": "^2.4.2",
+                        "source-map": "^0.6.1",
+                        "supports-color": "^6.1.0"
+                    }
+                },
+                "postcss-selector-parser": {
+                    "version": "3.1.2",
+                    "resolved": "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-3.1.2.tgz?cache=0&sync_timestamp=1601045316432&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-3.1.2.tgz",
+                    "integrity": "sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA=",
+                    "dev": true,
+                    "requires": {
+                        "dot-prop": "^5.2.0",
+                        "indexes-of": "^1.0.1",
+                        "uniq": "^1.0.1"
+                    }
+                },
+                "supports-color": {
+                    "version": "6.1.0",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-6.1.0.tgz",
+                    "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^3.0.0"
+                    }
+                }
+            }
+        },
+        "supports-color": {
+            "version": "5.5.0",
+            "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz",
+            "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=",
+            "requires": {
+                "has-flag": "^3.0.0"
+            }
+        },
+        "svgo": {
+            "version": "0.7.2",
+            "resolved": "https://registry.npm.taobao.org/svgo/download/svgo-0.7.2.tgz",
+            "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=",
+            "dev": true,
+            "requires": {
+                "coa": "~1.0.1",
+                "colors": "~1.1.2",
+                "csso": "~2.3.1",
+                "js-yaml": "~3.7.0",
+                "mkdirp": "~0.5.1",
+                "sax": "~1.2.1",
+                "whet.extend": "~0.9.9"
+            }
+        },
+        "tapable": {
+            "version": "0.2.9",
+            "resolved": "https://registry.npm.taobao.org/tapable/download/tapable-0.2.9.tgz?cache=0&sync_timestamp=1600381197118&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftapable%2Fdownload%2Ftapable-0.2.9.tgz",
+            "integrity": "sha1-ry2LvJsE907hevK02QSPgHrNGKg=",
+            "dev": true
+        },
+        "tar": {
+            "version": "6.1.0",
+            "resolved": "https://registry.nlark.com/tar/download/tar-6.1.0.tgz?cache=0&sync_timestamp=1618847250141&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftar%2Fdownload%2Ftar-6.1.0.tgz",
+            "integrity": "sha1-0XJOm8wEuXexjVxXOzM6IgcimoM=",
+            "requires": {
+                "chownr": "^2.0.0",
+                "fs-minipass": "^2.0.0",
+                "minipass": "^3.0.0",
+                "minizlib": "^2.1.1",
+                "mkdirp": "^1.0.3",
+                "yallist": "^4.0.0"
+            },
+            "dependencies": {
+                "chownr": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.nlark.com/chownr/download/chownr-2.0.0.tgz",
+                    "integrity": "sha1-Fb++U9LqtM9w8YqM1o6+Wzyx3s4="
+                },
+                "mkdirp": {
+                    "version": "1.0.4",
+                    "resolved": "https://registry.nlark.com/mkdirp/download/mkdirp-1.0.4.tgz",
+                    "integrity": "sha1-PrXtYmInVteaXw4qIh3+utdcL34="
+                },
+                "yallist": {
+                    "version": "4.0.0",
+                    "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-4.0.0.tgz",
+                    "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI="
+                }
+            }
+        },
+        "test-exclude": {
+            "version": "6.0.0",
+            "resolved": "https://registry.nlark.com/test-exclude/download/test-exclude-6.0.0.tgz",
+            "integrity": "sha1-BKhphmHYBepvopO2y55jrARO8V4=",
+            "requires": {
+                "@istanbuljs/schema": "^0.1.2",
+                "glob": "^7.1.4",
+                "minimatch": "^3.0.4"
+            }
+        },
+        "text-extensions": {
+            "version": "1.9.0",
+            "resolved": "https://registry.nlark.com/text-extensions/download/text-extensions-1.9.0.tgz",
+            "integrity": "sha1-GFPkX+45yUXOb2w2stZZtaq8KiY="
+        },
+        "through": {
+            "version": "2.3.8",
+            "resolved": "https://registry.nlark.com/through/download/through-2.3.8.tgz",
+            "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
+        },
+        "through2": {
+            "version": "2.0.5",
+            "resolved": "https://registry.npm.taobao.org/through2/download/through2-2.0.5.tgz",
+            "integrity": "sha1-AcHjnrMdB8t9A6lqcIIyYLIxMs0=",
+            "requires": {
+                "readable-stream": "~2.3.6",
+                "xtend": "~4.0.1"
+            }
+        },
+        "thunky": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npm.taobao.org/thunky/download/thunky-1.1.0.tgz",
+            "integrity": "sha1-Wrr3FKlAXbBQRzK7zNLO3Z75U30=",
+            "dev": true
+        },
+        "time-stamp": {
+            "version": "2.2.0",
+            "resolved": "https://registry.npm.taobao.org/time-stamp/download/time-stamp-2.2.0.tgz",
+            "integrity": "sha1-kX4KZpBWiHkOx7u94EBGJZr4P1c=",
+            "dev": true
+        },
+        "timers-browserify": {
+            "version": "2.0.12",
+            "resolved": "https://registry.npm.taobao.org/timers-browserify/download/timers-browserify-2.0.12.tgz?cache=0&sync_timestamp=1603793741116&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftimers-browserify%2Fdownload%2Ftimers-browserify-2.0.12.tgz",
+            "integrity": "sha1-RKRcEfv0B/NPl7zNFXfGUjYbAO4=",
+            "dev": true,
+            "requires": {
+                "setimmediate": "^1.0.4"
+            }
+        },
+        "timsort": {
+            "version": "0.3.0",
+            "resolved": "https://registry.npm.taobao.org/timsort/download/timsort-0.3.0.tgz",
+            "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=",
+            "dev": true
+        },
+        "tiny-emitter": {
+            "version": "2.1.0",
+            "resolved": "https://registry.nlark.com/tiny-emitter/download/tiny-emitter-2.1.0.tgz",
+            "integrity": "sha1-HRpW7fxRxD6GPLtTgqcjMONVVCM="
+        },
+        "to-arraybuffer": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz",
+            "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
+            "dev": true
+        },
+        "to-fast-properties": {
+            "version": "1.0.3",
+            "resolved": "https://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-1.0.3.tgz",
+            "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=",
+            "dev": true
+        },
+        "to-object-path": {
+            "version": "0.3.0",
+            "resolved": "https://registry.npm.taobao.org/to-object-path/download/to-object-path-0.3.0.tgz",
+            "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
+            "dev": true,
+            "requires": {
+                "kind-of": "^3.0.2"
+            }
+        },
+        "to-regex": {
+            "version": "3.0.2",
+            "resolved": "https://registry.npm.taobao.org/to-regex/download/to-regex-3.0.2.tgz",
+            "integrity": "sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4=",
+            "dev": true,
+            "requires": {
+                "define-property": "^2.0.2",
+                "extend-shallow": "^3.0.2",
+                "regex-not": "^1.0.2",
+                "safe-regex": "^1.1.0"
+            }
+        },
+        "to-regex-range": {
+            "version": "5.0.1",
+            "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz",
+            "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=",
+            "dev": true,
+            "optional": true,
+            "requires": {
+                "is-number": "^7.0.0"
+            }
+        },
+        "toidentifier": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/toidentifier/download/toidentifier-1.0.0.tgz",
+            "integrity": "sha1-fhvjRw8ed5SLxD2Uo8j013UrpVM=",
+            "dev": true
+        },
+        "toposort": {
+            "version": "1.0.7",
+            "resolved": "https://registry.npm.taobao.org/toposort/download/toposort-1.0.7.tgz",
+            "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=",
+            "dev": true
+        },
+        "tough-cookie": {
+            "version": "2.5.0",
+            "resolved": "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.5.0.tgz",
+            "integrity": "sha1-zZ+yoKodWhK0c72fuW+j3P9lreI=",
+            "dev": true,
+            "requires": {
+                "psl": "^1.1.28",
+                "punycode": "^2.1.1"
+            }
+        },
+        "trim-newlines": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/trim-newlines/download/trim-newlines-1.0.0.tgz",
+            "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM="
+        },
+        "trim-off-newlines": {
+            "version": "1.0.1",
+            "resolved": "https://registry.nlark.com/trim-off-newlines/download/trim-off-newlines-1.0.1.tgz",
+            "integrity": "sha1-n5up2e+odkw4dpi8v+sshI8RrbM="
+        },
+        "trim-right": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/trim-right/download/trim-right-1.0.1.tgz",
+            "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
+            "dev": true
+        },
+        "true-case-path": {
+            "version": "1.0.3",
+            "resolved": "https://registry.npm.taobao.org/true-case-path/download/true-case-path-1.0.3.tgz",
+            "integrity": "sha1-+BO1qMhrQNpZYGcisUTjIleZ9H0=",
+            "dev": true,
+            "requires": {
+                "glob": "^7.1.2"
+            }
+        },
+        "tryer": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/tryer/download/tryer-1.0.1.tgz",
+            "integrity": "sha1-8shUBoALmw90yfdGW4HqrSQSUvg=",
+            "dev": true
+        },
+        "tslib": {
+            "version": "1.14.1",
+            "resolved": "https://registry.npm.taobao.org/tslib/download/tslib-1.14.1.tgz",
+            "integrity": "sha1-zy04vcNKE0vK8QkcQfZhni9nLQA=",
+            "dev": true
+        },
+        "tty-browserify": {
+            "version": "0.0.0",
+            "resolved": "https://registry.npm.taobao.org/tty-browserify/download/tty-browserify-0.0.0.tgz",
+            "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
+            "dev": true
+        },
+        "tunnel-agent": {
+            "version": "0.6.0",
+            "resolved": "https://registry.nlark.com/tunnel-agent/download/tunnel-agent-0.6.0.tgz",
+            "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+            "dev": true,
+            "requires": {
+                "safe-buffer": "^5.0.1"
+            }
+        },
+        "tweetnacl": {
+            "version": "0.14.5",
+            "resolved": "https://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz",
+            "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
+            "dev": true
+        },
+        "type": {
+            "version": "1.2.0",
+            "resolved": "https://registry.npm.taobao.org/type/download/type-1.2.0.tgz?cache=0&sync_timestamp=1598016585110&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftype%2Fdownload%2Ftype-1.2.0.tgz",
+            "integrity": "sha1-hI3XaY2vo+VKbEeedZxLw/GIR6A=",
+            "dev": true
+        },
+        "type-fest": {
+            "version": "0.18.1",
+            "resolved": "https://registry.nlark.com/type-fest/download/type-fest-0.18.1.tgz?cache=0&sync_timestamp=1622543370439&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftype-fest%2Fdownload%2Ftype-fest-0.18.1.tgz",
+            "integrity": "sha1-20vBUaSiz07r+a3V23VQjbbMhB8="
+        },
+        "type-is": {
+            "version": "1.6.18",
+            "resolved": "https://registry.npm.taobao.org/type-is/download/type-is-1.6.18.tgz",
+            "integrity": "sha1-TlUs0F3wlGfcvE73Od6J8s83wTE=",
+            "dev": true,
+            "requires": {
+                "media-typer": "0.3.0",
+                "mime-types": "~2.1.24"
+            }
+        },
+        "typedarray": {
+            "version": "0.0.6",
+            "resolved": "https://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz",
+            "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
+        },
+        "uglify-js": {
+            "version": "3.4.10",
+            "resolved": "https://registry.npm.taobao.org/uglify-js/download/uglify-js-3.4.10.tgz?cache=0&sync_timestamp=1604365961542&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuglify-js%2Fdownload%2Fuglify-js-3.4.10.tgz",
+            "integrity": "sha1-mtlWPY6zrN+404WX0q8dgV9qdV8=",
+            "requires": {
+                "commander": "~2.19.0",
+                "source-map": "~0.6.1"
+            },
+            "dependencies": {
+                "commander": {
+                    "version": "2.19.0",
+                    "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.19.0.tgz?cache=0&sync_timestamp=1603599636161&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.19.0.tgz",
+                    "integrity": "sha1-9hmKqE5bg8RgVLlN3tv+1e6f8So="
+                }
+            }
+        },
+        "uglify-to-browserify": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npm.taobao.org/uglify-to-browserify/download/uglify-to-browserify-1.0.2.tgz",
+            "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
+            "dev": true,
+            "optional": true
+        },
+        "uglifyjs-webpack-plugin": {
+            "version": "1.3.0",
+            "resolved": "https://registry.npm.taobao.org/uglifyjs-webpack-plugin/download/uglifyjs-webpack-plugin-1.3.0.tgz",
+            "integrity": "sha1-dfVIFghYFjoIZD4IbV/v4YpdZ94=",
+            "dev": true,
+            "requires": {
+                "cacache": "^10.0.4",
+                "find-cache-dir": "^1.0.0",
+                "schema-utils": "^0.4.5",
+                "serialize-javascript": "^1.4.0",
+                "source-map": "^0.6.1",
+                "uglify-es": "^3.3.4",
+                "webpack-sources": "^1.1.0",
+                "worker-farm": "^1.5.2"
+            },
+            "dependencies": {
+                "ajv": {
+                    "version": "6.12.6",
+                    "resolved": "https://registry.npm.taobao.org/ajv/download/ajv-6.12.6.tgz?cache=0&sync_timestamp=1603561547443&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv%2Fdownload%2Fajv-6.12.6.tgz",
+                    "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=",
+                    "dev": true,
+                    "requires": {
+                        "fast-deep-equal": "^3.1.1",
+                        "fast-json-stable-stringify": "^2.0.0",
+                        "json-schema-traverse": "^0.4.1",
+                        "uri-js": "^4.2.2"
+                    }
+                },
+                "commander": {
+                    "version": "2.13.0",
+                    "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.13.0.tgz?cache=0&sync_timestamp=1603599636161&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.13.0.tgz",
+                    "integrity": "sha1-aWS8pnaF33wfFDDFhPB9dZeIW5w=",
+                    "dev": true
+                },
+                "fast-deep-equal": {
+                    "version": "3.1.3",
+                    "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz",
+                    "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=",
+                    "dev": true
+                },
+                "json-schema-traverse": {
+                    "version": "0.4.1",
+                    "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz?cache=0&sync_timestamp=1599333856086&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema-traverse%2Fdownload%2Fjson-schema-traverse-0.4.1.tgz",
+                    "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=",
+                    "dev": true
+                },
+                "schema-utils": {
+                    "version": "0.4.7",
+                    "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-0.4.7.tgz",
+                    "integrity": "sha1-unT1l9K+LqiAExdG7hfQoJPGgYc=",
+                    "dev": true,
+                    "requires": {
+                        "ajv": "^6.1.0",
+                        "ajv-keywords": "^3.1.0"
+                    }
+                },
+                "uglify-es": {
+                    "version": "3.3.9",
+                    "resolved": "https://registry.npm.taobao.org/uglify-es/download/uglify-es-3.3.9.tgz",
+                    "integrity": "sha1-DBxPBwC+2NvBJM2zBNJZLKID5nc=",
+                    "dev": true,
+                    "requires": {
+                        "commander": "~2.13.0",
+                        "source-map": "~0.6.1"
+                    }
+                }
+            }
+        },
+        "union-value": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/union-value/download/union-value-1.0.1.tgz",
+            "integrity": "sha1-C2/nuDWuzaYcbqTU8CwUIh4QmEc=",
+            "dev": true,
+            "requires": {
+                "arr-union": "^3.1.0",
+                "get-value": "^2.0.6",
+                "is-extendable": "^0.1.1",
+                "set-value": "^2.0.1"
+            }
+        },
+        "uniq": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/uniq/download/uniq-1.0.1.tgz",
+            "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=",
+            "dev": true
+        },
+        "uniqs": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npm.taobao.org/uniqs/download/uniqs-2.0.0.tgz",
+            "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=",
+            "dev": true
+        },
+        "unique-filename": {
+            "version": "1.1.1",
+            "resolved": "https://registry.npm.taobao.org/unique-filename/download/unique-filename-1.1.1.tgz",
+            "integrity": "sha1-HWl2k2mtoFgxA6HmrodoG1ZXMjA=",
+            "dev": true,
+            "requires": {
+                "unique-slug": "^2.0.0"
+            }
+        },
+        "unique-slug": {
+            "version": "2.0.2",
+            "resolved": "https://registry.npm.taobao.org/unique-slug/download/unique-slug-2.0.2.tgz",
+            "integrity": "sha1-uqvOkQg/xk6UWw861hPiZPfNTmw=",
+            "dev": true,
+            "requires": {
+                "imurmurhash": "^0.1.4"
+            }
+        },
+        "unpipe": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz?cache=0&sync_timestamp=1589682745059&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funpipe%2Fdownload%2Funpipe-1.0.0.tgz",
+            "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
+            "dev": true
+        },
+        "unquote": {
+            "version": "1.1.1",
+            "resolved": "https://registry.npm.taobao.org/unquote/download/unquote-1.1.1.tgz",
+            "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=",
+            "dev": true
+        },
+        "unset-value": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npm.taobao.org/unset-value/download/unset-value-1.0.0.tgz",
+            "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
+            "dev": true,
+            "requires": {
+                "has-value": "^0.3.1",
+                "isobject": "^3.0.0"
+            },
+            "dependencies": {
+                "has-value": {
+                    "version": "0.3.1",
+                    "resolved": "https://registry.npm.taobao.org/has-value/download/has-value-0.3.1.tgz",
+                    "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
+                    "dev": true,
+                    "requires": {
+                        "get-value": "^2.0.3",
+                        "has-values": "^0.1.4",
+                        "isobject": "^2.0.0"
+                    },
+                    "dependencies": {
+                        "isobject": {
+                            "version": "2.1.0",
+                            "resolved": "https://registry.npm.taobao.org/isobject/download/isobject-2.1.0.tgz",
+                            "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+                            "dev": true,
+                            "requires": {
+                                "isarray": "1.0.0"
+                            }
+                        }
+                    }
+                },
+                "has-values": {
+                    "version": "0.1.4",
+                    "resolved": "https://registry.npm.taobao.org/has-values/download/has-values-0.1.4.tgz",
+                    "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
+                    "dev": true
+                }
+            }
+        },
+        "upath": {
+            "version": "1.2.0",
+            "resolved": "https://registry.npm.taobao.org/upath/download/upath-1.2.0.tgz?cache=0&sync_timestamp=1602008334498&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fupath%2Fdownload%2Fupath-1.2.0.tgz",
+            "integrity": "sha1-j2bbzVWog6za5ECK+LA1pQRMGJQ=",
+            "dev": true
+        },
+        "upper-case": {
+            "version": "1.1.3",
+            "resolved": "https://registry.npm.taobao.org/upper-case/download/upper-case-1.1.3.tgz",
+            "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=",
+            "dev": true
+        },
+        "uri-js": {
+            "version": "4.4.0",
+            "resolved": "https://registry.npm.taobao.org/uri-js/download/uri-js-4.4.0.tgz",
+            "integrity": "sha1-qnFCYd55PoqCNHp7zJznTobyhgI=",
+            "dev": true,
+            "requires": {
+                "punycode": "^2.1.0"
+            }
+        },
+        "urix": {
+            "version": "0.1.0",
+            "resolved": "https://registry.npm.taobao.org/urix/download/urix-0.1.0.tgz",
+            "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
+            "dev": true
+        },
+        "url": {
+            "version": "0.11.0",
+            "resolved": "https://registry.npm.taobao.org/url/download/url-0.11.0.tgz",
+            "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
+            "dev": true,
+            "requires": {
+                "punycode": "1.3.2",
+                "querystring": "0.2.0"
+            },
+            "dependencies": {
+                "punycode": {
+                    "version": "1.3.2",
+                    "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-1.3.2.tgz?cache=0&sync_timestamp=1589682803838&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpunycode%2Fdownload%2Fpunycode-1.3.2.tgz",
+                    "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
+                    "dev": true
+                }
+            }
+        },
+        "url-loader": {
+            "version": "0.5.9",
+            "resolved": "https://registry.npm.taobao.org/url-loader/download/url-loader-0.5.9.tgz?cache=0&sync_timestamp=1602252626029&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Furl-loader%2Fdownload%2Furl-loader-0.5.9.tgz",
+            "integrity": "sha1-zI/qgse5Bud3cBklCGnlaemVwpU=",
+            "dev": true,
+            "requires": {
+                "loader-utils": "^1.0.2",
+                "mime": "1.3.x"
+            },
+            "dependencies": {
+                "mime": {
+                    "version": "1.3.6",
+                    "resolved": "https://registry.npm.taobao.org/mime/download/mime-1.3.6.tgz?cache=0&sync_timestamp=1590635592890&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime%2Fdownload%2Fmime-1.3.6.tgz",
+                    "integrity": "sha1-WR2E02U6awtKO5343lqoEI5y5eA=",
+                    "dev": true
+                }
+            }
+        },
+        "url-parse": {
+            "version": "1.4.7",
+            "resolved": "https://registry.npm.taobao.org/url-parse/download/url-parse-1.4.7.tgz",
+            "integrity": "sha1-qKg1NejACjFuQDpdtKwbm4U64ng=",
+            "dev": true,
+            "requires": {
+                "querystringify": "^2.1.1",
+                "requires-port": "^1.0.0"
+            }
+        },
+        "use": {
+            "version": "3.1.1",
+            "resolved": "https://registry.npm.taobao.org/use/download/use-3.1.1.tgz",
+            "integrity": "sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8=",
+            "dev": true
+        },
+        "util": {
+            "version": "0.11.1",
+            "resolved": "https://registry.npm.taobao.org/util/download/util-0.11.1.tgz",
+            "integrity": "sha1-MjZzNyDsZLsn9uJvQhqqLhtYjWE=",
+            "dev": true,
+            "requires": {
+                "inherits": "2.0.3"
+            },
+            "dependencies": {
+                "inherits": {
+                    "version": "2.0.3",
+                    "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz",
+                    "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+                    "dev": true
+                }
+            }
+        },
+        "util-deprecate": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz",
+            "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
+        },
+        "util.promisify": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/util.promisify/download/util.promisify-1.0.1.tgz?cache=0&sync_timestamp=1589682767473&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil.promisify%2Fdownload%2Futil.promisify-1.0.1.tgz",
+            "integrity": "sha1-a693dLgO6w91INi4HQeYKlmruu4=",
+            "dev": true,
+            "requires": {
+                "define-properties": "^1.1.3",
+                "es-abstract": "^1.17.2",
+                "has-symbols": "^1.0.1",
+                "object.getownpropertydescriptors": "^2.1.0"
+            }
+        },
+        "utila": {
+            "version": "0.4.0",
+            "resolved": "https://registry.npm.taobao.org/utila/download/utila-0.4.0.tgz",
+            "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=",
+            "dev": true
+        },
+        "utils-merge": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/utils-merge/download/utils-merge-1.0.1.tgz",
+            "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
+            "dev": true
+        },
+        "uuid": {
+            "version": "3.4.0",
+            "resolved": "https://registry.npm.taobao.org/uuid/download/uuid-3.4.0.tgz",
+            "integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4=",
+            "dev": true
+        },
+        "validate-npm-package-license": {
+            "version": "3.0.4",
+            "resolved": "https://registry.npm.taobao.org/validate-npm-package-license/download/validate-npm-package-license-3.0.4.tgz",
+            "integrity": "sha1-/JH2uce6FchX9MssXe/uw51PQQo=",
+            "requires": {
+                "spdx-correct": "^3.0.0",
+                "spdx-expression-parse": "^3.0.0"
+            }
+        },
+        "vary": {
+            "version": "1.1.2",
+            "resolved": "https://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz",
+            "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
+            "dev": true
+        },
+        "vendors": {
+            "version": "1.0.4",
+            "resolved": "https://registry.npm.taobao.org/vendors/download/vendors-1.0.4.tgz",
+            "integrity": "sha1-4rgApT56Kbk1BsPPQRANFsTErY4=",
+            "dev": true
+        },
+        "verror": {
+            "version": "1.10.0",
+            "resolved": "https://registry.npm.taobao.org/verror/download/verror-1.10.0.tgz",
+            "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
+            "dev": true,
+            "requires": {
+                "assert-plus": "^1.0.0",
+                "core-util-is": "1.0.2",
+                "extsprintf": "^1.2.0"
+            }
+        },
+        "vm-browserify": {
+            "version": "1.1.2",
+            "resolved": "https://registry.npm.taobao.org/vm-browserify/download/vm-browserify-1.1.2.tgz?cache=0&sync_timestamp=1589682787766&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvm-browserify%2Fdownload%2Fvm-browserify-1.1.2.tgz",
+            "integrity": "sha1-eGQcSIuObKkadfUR56OzKobl3aA=",
+            "dev": true
+        },
+        "vue": {
+            "version": "2.6.12",
+            "resolved": "https://registry.npm.taobao.org/vue/download/vue-2.6.12.tgz?cache=0&sync_timestamp=1603224185181&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue%2Fdownload%2Fvue-2.6.12.tgz",
+            "integrity": "sha512-uhmLFETqPPNyuLLbsKz6ioJ4q7AZHzD8ZVFNATNyICSZouqP2Sz0rotWQC8UNBF6VGSCs5abnKJoStA6JbCbfg=="
+        },
+        "vue-cli-plugin-element": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npm.taobao.org/vue-cli-plugin-element/download/vue-cli-plugin-element-1.0.1.tgz",
+            "integrity": "sha1-NOWPtls2z1mvrxT1AyiOXleLFVQ=",
+            "dev": true
+        },
+        "vue-hot-reload-api": {
+            "version": "2.3.4",
+            "resolved": "https://registry.npm.taobao.org/vue-hot-reload-api/download/vue-hot-reload-api-2.3.4.tgz?cache=0&sync_timestamp=1589682714858&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-hot-reload-api%2Fdownload%2Fvue-hot-reload-api-2.3.4.tgz",
+            "integrity": "sha1-UylVzB6yCKPZkLOp+acFdGV+CPI=",
+            "dev": true
+        },
+        "vue-lazyload": {
+            "version": "1.3.3",
+            "resolved": "https://registry.npm.taobao.org/vue-lazyload/download/vue-lazyload-1.3.3.tgz",
+            "integrity": "sha1-TfUKJxvem3TDyveiKNbgr1DVaC8="
+        },
+        "vue-loader": {
+            "version": "13.7.3",
+            "resolved": "https://registry.npm.taobao.org/vue-loader/download/vue-loader-13.7.3.tgz?cache=0&sync_timestamp=1604397812964&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-loader%2Fdownload%2Fvue-loader-13.7.3.tgz",
+            "integrity": "sha1-4HRA94IwpjnQCtpNp7ltDp1iA38=",
+            "dev": true,
+            "requires": {
+                "consolidate": "^0.14.0",
+                "hash-sum": "^1.0.2",
+                "loader-utils": "^1.1.0",
+                "lru-cache": "^4.1.1",
+                "postcss": "^6.0.8",
+                "postcss-load-config": "^1.1.0",
+                "postcss-selector-parser": "^2.0.0",
+                "prettier": "^1.7.0",
+                "resolve": "^1.4.0",
+                "source-map": "^0.6.1",
+                "vue-hot-reload-api": "^2.2.0",
+                "vue-style-loader": "^3.0.0",
+                "vue-template-es2015-compiler": "^1.6.0"
+            },
+            "dependencies": {
+                "cosmiconfig": {
+                    "version": "2.2.2",
+                    "resolved": "https://registry.npm.taobao.org/cosmiconfig/download/cosmiconfig-2.2.2.tgz?cache=0&sync_timestamp=1596310819353&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcosmiconfig%2Fdownload%2Fcosmiconfig-2.2.2.tgz",
+                    "integrity": "sha1-YXPOvVb6wELB9DkO33r2wHx8uJI=",
+                    "dev": true,
+                    "requires": {
+                        "is-directory": "^0.3.1",
+                        "js-yaml": "^3.4.3",
+                        "minimist": "^1.2.0",
+                        "object-assign": "^4.1.0",
+                        "os-homedir": "^1.0.1",
+                        "parse-json": "^2.2.0",
+                        "require-from-string": "^1.1.0"
+                    }
+                },
+                "parse-json": {
+                    "version": "2.2.0",
+                    "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz?cache=0&sync_timestamp=1598129182781&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-json-2.2.0.tgz",
+                    "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+                    "dev": true,
+                    "requires": {
+                        "error-ex": "^1.2.0"
+                    }
+                },
+                "postcss-load-config": {
+                    "version": "1.2.0",
+                    "resolved": "https://registry.npm.taobao.org/postcss-load-config/download/postcss-load-config-1.2.0.tgz?cache=0&sync_timestamp=1601607876353&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-load-config%2Fdownload%2Fpostcss-load-config-1.2.0.tgz",
+                    "integrity": "sha1-U56a/J3chiASHr+djDZz4M5Q0oo=",
+                    "dev": true,
+                    "requires": {
+                        "cosmiconfig": "^2.1.0",
+                        "object-assign": "^4.1.0",
+                        "postcss-load-options": "^1.2.0",
+                        "postcss-load-plugins": "^2.3.0"
+                    }
+                }
+            }
+        },
+        "vue-qr": {
+            "version": "2.4.0",
+            "resolved": "https://registry.nlark.com/vue-qr/download/vue-qr-2.4.0.tgz",
+            "integrity": "sha1-ANlFiQLQKnEV0q0ZFDYRv+OtGvY=",
+            "requires": {
+                "binaryify-awesome-qr": "^2.1.6"
+            }
+        },
+        "vue-router": {
+            "version": "3.4.8",
+            "resolved": "https://registry.npm.taobao.org/vue-router/download/vue-router-3.4.8.tgz?cache=0&sync_timestamp=1603710629657&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-router%2Fdownload%2Fvue-router-3.4.8.tgz",
+            "integrity": "sha1-LAYmHTXYB1iTRwNS1C1wtih7gZQ="
+        },
+        "vue-style-loader": {
+            "version": "3.1.2",
+            "resolved": "https://registry.npm.taobao.org/vue-style-loader/download/vue-style-loader-3.1.2.tgz",
+            "integrity": "sha1-a2atNJmPyVIMLx5NX6QJFkHBWXo=",
+            "dev": true,
+            "requires": {
+                "hash-sum": "^1.0.2",
+                "loader-utils": "^1.0.2"
+            }
+        },
+        "vue-template-compiler": {
+            "version": "2.6.12",
+            "resolved": "https://registry.npm.taobao.org/vue-template-compiler/download/vue-template-compiler-2.6.12.tgz?cache=0&sync_timestamp=1597927407682&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-template-compiler%2Fdownload%2Fvue-template-compiler-2.6.12.tgz",
+            "integrity": "sha1-lH7XGWdEyKUoXr4SM/6WBDf8xX4=",
+            "dev": true,
+            "requires": {
+                "de-indent": "^1.0.2",
+                "he": "^1.1.0"
+            }
+        },
+        "vue-template-es2015-compiler": {
+            "version": "1.9.1",
+            "resolved": "https://registry.npm.taobao.org/vue-template-es2015-compiler/download/vue-template-es2015-compiler-1.9.1.tgz",
+            "integrity": "sha1-HuO8mhbsv1EYvjNLsV+cRvgvWCU=",
+            "dev": true
+        },
+        "vuex": {
+            "version": "3.5.1",
+            "resolved": "https://registry.npm.taobao.org/vuex/download/vuex-3.5.1.tgz?cache=0&sync_timestamp=1604065509216&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvuex%2Fdownload%2Fvuex-3.5.1.tgz",
+            "integrity": "sha512-w7oJzmHQs0FM9LXodfskhw9wgKBiaB+totOdb8sNzbTB2KDCEEwEs29NzBZFh/lmEK1t5tDmM1vtsO7ubG1DFw=="
+        },
+        "watchpack": {
+            "version": "1.7.4",
+            "resolved": "https://registry.npm.taobao.org/watchpack/download/watchpack-1.7.4.tgz?cache=0&sync_timestamp=1604146081475&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwatchpack%2Fdownload%2Fwatchpack-1.7.4.tgz",
+            "integrity": "sha1-bp2lOzyAuy1lCBiPWyAEEIZs0ws=",
+            "dev": true,
+            "requires": {
+                "chokidar": "^3.4.1",
+                "graceful-fs": "^4.1.2",
+                "neo-async": "^2.5.0",
+                "watchpack-chokidar2": "^2.0.0"
+            }
+        },
+        "watchpack-chokidar2": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npm.taobao.org/watchpack-chokidar2/download/watchpack-chokidar2-2.0.0.tgz",
+            "integrity": "sha1-mUihhmy71suCTeoTp+1pH2yN3/A=",
+            "dev": true,
+            "optional": true,
+            "requires": {
+                "chokidar": "^2.1.8"
+            },
+            "dependencies": {
+                "anymatch": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-2.0.0.tgz",
+                    "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=",
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "micromatch": "^3.1.4",
+                        "normalize-path": "^2.1.1"
+                    },
+                    "dependencies": {
+                        "normalize-path": {
+                            "version": "2.1.1",
+                            "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz",
+                            "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+                            "dev": true,
+                            "optional": true,
+                            "requires": {
+                                "remove-trailing-separator": "^1.0.1"
+                            }
+                        }
+                    }
+                },
+                "binary-extensions": {
+                    "version": "1.13.1",
+                    "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.13.1.tgz",
+                    "integrity": "sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U=",
+                    "dev": true,
+                    "optional": true
+                },
+                "braces": {
+                    "version": "2.3.2",
+                    "resolved": "https://registry.npm.taobao.org/braces/download/braces-2.3.2.tgz",
+                    "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=",
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "arr-flatten": "^1.1.0",
+                        "array-unique": "^0.3.2",
+                        "extend-shallow": "^2.0.1",
+                        "fill-range": "^4.0.0",
+                        "isobject": "^3.0.1",
+                        "repeat-element": "^1.1.2",
+                        "snapdragon": "^0.8.1",
+                        "snapdragon-node": "^2.0.1",
+                        "split-string": "^3.0.2",
+                        "to-regex": "^3.0.1"
+                    }
+                },
+                "chokidar": {
+                    "version": "2.1.8",
+                    "resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-2.1.8.tgz?cache=0&sync_timestamp=1602585381749&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-2.1.8.tgz",
+                    "integrity": "sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc=",
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "anymatch": "^2.0.0",
+                        "async-each": "^1.0.1",
+                        "braces": "^2.3.2",
+                        "fsevents": "^1.2.7",
+                        "glob-parent": "^3.1.0",
+                        "inherits": "^2.0.3",
+                        "is-binary-path": "^1.0.0",
+                        "is-glob": "^4.0.0",
+                        "normalize-path": "^3.0.0",
+                        "path-is-absolute": "^1.0.0",
+                        "readdirp": "^2.2.1",
+                        "upath": "^1.1.1"
+                    }
+                },
+                "extend-shallow": {
+                    "version": "2.0.1",
+                    "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz",
+                    "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "is-extendable": "^0.1.0"
+                    }
+                },
+                "fill-range": {
+                    "version": "4.0.0",
+                    "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-4.0.0.tgz",
+                    "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "extend-shallow": "^2.0.1",
+                        "is-number": "^3.0.0",
+                        "repeat-string": "^1.6.1",
+                        "to-regex-range": "^2.1.0"
+                    }
+                },
+                "fsevents": {
+                    "version": "1.2.13",
+                    "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-1.2.13.tgz?cache=0&sync_timestamp=1604409195916&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffsevents%2Fdownload%2Ffsevents-1.2.13.tgz",
+                    "integrity": "sha1-8yXLBFVZJCi88Rs4M3DvcOO/zDg=",
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "bindings": "^1.5.0",
+                        "nan": "^2.12.1"
+                    }
+                },
+                "glob-parent": {
+                    "version": "3.1.0",
+                    "resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz",
+                    "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "is-glob": "^3.1.0",
+                        "path-dirname": "^1.0.0"
+                    },
+                    "dependencies": {
+                        "is-glob": {
+                            "version": "3.1.0",
+                            "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz",
+                            "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+                            "dev": true,
+                            "optional": true,
+                            "requires": {
+                                "is-extglob": "^2.1.0"
+                            }
+                        }
+                    }
+                },
+                "is-binary-path": {
+                    "version": "1.0.1",
+                    "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz",
+                    "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "binary-extensions": "^1.0.0"
+                    }
+                },
+                "is-number": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz",
+                    "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "kind-of": "^3.0.2"
+                    }
+                },
+                "readdirp": {
+                    "version": "2.2.1",
+                    "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-2.2.1.tgz?cache=0&sync_timestamp=1602584331621&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freaddirp%2Fdownload%2Freaddirp-2.2.1.tgz",
+                    "integrity": "sha1-DodiKjMlqjPokihcr4tOhGUppSU=",
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "graceful-fs": "^4.1.11",
+                        "micromatch": "^3.1.10",
+                        "readable-stream": "^2.0.2"
+                    }
+                },
+                "to-regex-range": {
+                    "version": "2.1.1",
+                    "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-2.1.1.tgz",
+                    "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "is-number": "^3.0.0",
+                        "repeat-string": "^1.6.1"
+                    }
+                }
+            }
+        },
+        "wbuf": {
+            "version": "1.7.3",
+            "resolved": "https://registry.npm.taobao.org/wbuf/download/wbuf-1.7.3.tgz",
+            "integrity": "sha1-wdjRSTFtPqhShIiVy2oL/oh7h98=",
+            "dev": true,
+            "requires": {
+                "minimalistic-assert": "^1.0.0"
+            }
+        },
+        "webpack": {
+            "version": "3.12.0",
+            "resolved": "https://registry.npm.taobao.org/webpack/download/webpack-3.12.0.tgz?cache=0&sync_timestamp=1603999440291&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack%2Fdownload%2Fwebpack-3.12.0.tgz",
+            "integrity": "sha1-P540NgNwYC/PY56Xk520hvTsDXQ=",
+            "dev": true,
+            "requires": {
+                "acorn": "^5.0.0",
+                "acorn-dynamic-import": "^2.0.0",
+                "ajv": "^6.1.0",
+                "ajv-keywords": "^3.1.0",
+                "async": "^2.1.2",
+                "enhanced-resolve": "^3.4.0",
+                "escope": "^3.6.0",
+                "interpret": "^1.0.0",
+                "json-loader": "^0.5.4",
+                "json5": "^0.5.1",
+                "loader-runner": "^2.3.0",
+                "loader-utils": "^1.1.0",
+                "memory-fs": "~0.4.1",
+                "mkdirp": "~0.5.0",
+                "node-libs-browser": "^2.0.0",
+                "source-map": "^0.5.3",
+                "supports-color": "^4.2.1",
+                "tapable": "^0.2.7",
+                "uglifyjs-webpack-plugin": "^0.4.6",
+                "watchpack": "^1.4.0",
+                "webpack-sources": "^1.0.1",
+                "yargs": "^8.0.2"
+            },
+            "dependencies": {
+                "ajv": {
+                    "version": "6.12.6",
+                    "resolved": "https://registry.npm.taobao.org/ajv/download/ajv-6.12.6.tgz?cache=0&sync_timestamp=1603561547443&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv%2Fdownload%2Fajv-6.12.6.tgz",
+                    "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=",
+                    "dev": true,
+                    "requires": {
+                        "fast-deep-equal": "^3.1.1",
+                        "fast-json-stable-stringify": "^2.0.0",
+                        "json-schema-traverse": "^0.4.1",
+                        "uri-js": "^4.2.2"
+                    }
+                },
+                "fast-deep-equal": {
+                    "version": "3.1.3",
+                    "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz",
+                    "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=",
+                    "dev": true
+                },
+                "has-flag": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-2.0.0.tgz",
+                    "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+                    "dev": true
+                },
+                "json-schema-traverse": {
+                    "version": "0.4.1",
+                    "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz?cache=0&sync_timestamp=1599333856086&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema-traverse%2Fdownload%2Fjson-schema-traverse-0.4.1.tgz",
+                    "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=",
+                    "dev": true
+                },
+                "source-map": {
+                    "version": "0.5.7",
+                    "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz?cache=0&sync_timestamp=1589682764497&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map%2Fdownload%2Fsource-map-0.5.7.tgz",
+                    "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+                    "dev": true
+                },
+                "supports-color": {
+                    "version": "4.5.0",
+                    "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-4.5.0.tgz?cache=0&sync_timestamp=1598611709087&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-4.5.0.tgz",
+                    "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^2.0.0"
+                    }
+                },
+                "uglify-js": {
+                    "version": "2.8.29",
+                    "resolved": "https://registry.npm.taobao.org/uglify-js/download/uglify-js-2.8.29.tgz?cache=0&sync_timestamp=1604365961542&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuglify-js%2Fdownload%2Fuglify-js-2.8.29.tgz",
+                    "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
+                    "dev": true,
+                    "requires": {
+                        "source-map": "~0.5.1",
+                        "uglify-to-browserify": "~1.0.0",
+                        "yargs": "~3.10.0"
+                    },
+                    "dependencies": {
+                        "yargs": {
+                            "version": "3.10.0",
+                            "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-3.10.0.tgz?cache=0&sync_timestamp=1602805561021&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-3.10.0.tgz",
+                            "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
+                            "dev": true,
+                            "requires": {
+                                "camelcase": "^1.0.2",
+                                "cliui": "^2.1.0",
+                                "decamelize": "^1.0.0",
+                                "window-size": "0.1.0"
+                            }
+                        }
+                    }
+                },
+                "uglifyjs-webpack-plugin": {
+                    "version": "0.4.6",
+                    "resolved": "https://registry.npm.taobao.org/uglifyjs-webpack-plugin/download/uglifyjs-webpack-plugin-0.4.6.tgz",
+                    "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=",
+                    "dev": true,
+                    "requires": {
+                        "source-map": "^0.5.6",
+                        "uglify-js": "^2.8.29",
+                        "webpack-sources": "^1.0.1"
+                    }
+                }
+            }
+        },
+        "webpack-bundle-analyzer": {
+            "version": "2.13.1",
+            "resolved": "https://registry.npm.taobao.org/webpack-bundle-analyzer/download/webpack-bundle-analyzer-2.13.1.tgz",
+            "integrity": "sha1-B9IXbG6Gw83OTCPlb64qe2tK1SY=",
+            "dev": true,
+            "requires": {
+                "acorn": "^5.3.0",
+                "bfj-node4": "^5.2.0",
+                "chalk": "^2.3.0",
+                "commander": "^2.13.0",
+                "ejs": "^2.5.7",
+                "express": "^4.16.2",
+                "filesize": "^3.5.11",
+                "gzip-size": "^4.1.0",
+                "lodash": "^4.17.4",
+                "mkdirp": "^0.5.1",
+                "opener": "^1.4.3",
+                "ws": "^4.0.0"
+            }
+        },
+        "webpack-dev-middleware": {
+            "version": "1.12.2",
+            "resolved": "https://registry.npm.taobao.org/webpack-dev-middleware/download/webpack-dev-middleware-1.12.2.tgz?cache=0&sync_timestamp=1603894555091&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-dev-middleware%2Fdownload%2Fwebpack-dev-middleware-1.12.2.tgz",
+            "integrity": "sha1-+PwRIM47T8VoDO7LQ9d3lmshEF4=",
+            "dev": true,
+            "requires": {
+                "memory-fs": "~0.4.1",
+                "mime": "^1.5.0",
+                "path-is-absolute": "^1.0.0",
+                "range-parser": "^1.0.3",
+                "time-stamp": "^2.0.0"
+            }
+        },
+        "webpack-dev-server": {
+            "version": "2.11.5",
+            "resolved": "https://registry.npm.taobao.org/webpack-dev-server/download/webpack-dev-server-2.11.5.tgz",
+            "integrity": "sha1-QW+96g4E7r5EpibnkdWi6zf+jEg=",
+            "dev": true,
+            "requires": {
+                "ansi-html": "0.0.7",
+                "array-includes": "^3.0.3",
+                "bonjour": "^3.5.0",
+                "chokidar": "^2.1.2",
+                "compression": "^1.7.3",
+                "connect-history-api-fallback": "^1.3.0",
+                "debug": "^3.1.0",
+                "del": "^3.0.0",
+                "express": "^4.16.2",
+                "html-entities": "^1.2.0",
+                "http-proxy-middleware": "^0.19.1",
+                "import-local": "^1.0.0",
+                "internal-ip": "1.2.0",
+                "ip": "^1.1.5",
+                "killable": "^1.0.0",
+                "loglevel": "^1.4.1",
+                "opn": "^5.1.0",
+                "portfinder": "^1.0.9",
+                "selfsigned": "^1.9.1",
+                "serve-index": "^1.9.1",
+                "sockjs": "0.3.19",
+                "sockjs-client": "1.1.5",
+                "spdy": "^4.0.0",
+                "strip-ansi": "^3.0.0",
+                "supports-color": "^5.1.0",
+                "webpack-dev-middleware": "1.12.2",
+                "yargs": "6.6.0"
+            },
+            "dependencies": {
+                "anymatch": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-2.0.0.tgz",
+                    "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=",
+                    "dev": true,
+                    "requires": {
+                        "micromatch": "^3.1.4",
+                        "normalize-path": "^2.1.1"
+                    },
+                    "dependencies": {
+                        "normalize-path": {
+                            "version": "2.1.1",
+                            "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz",
+                            "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+                            "dev": true,
+                            "requires": {
+                                "remove-trailing-separator": "^1.0.1"
+                            }
+                        }
+                    }
+                },
+                "binary-extensions": {
+                    "version": "1.13.1",
+                    "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.13.1.tgz",
+                    "integrity": "sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U=",
+                    "dev": true
+                },
+                "braces": {
+                    "version": "2.3.2",
+                    "resolved": "https://registry.npm.taobao.org/braces/download/braces-2.3.2.tgz",
+                    "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=",
+                    "dev": true,
+                    "requires": {
+                        "arr-flatten": "^1.1.0",
+                        "array-unique": "^0.3.2",
+                        "extend-shallow": "^2.0.1",
+                        "fill-range": "^4.0.0",
+                        "isobject": "^3.0.1",
+                        "repeat-element": "^1.1.2",
+                        "snapdragon": "^0.8.1",
+                        "snapdragon-node": "^2.0.1",
+                        "split-string": "^3.0.2",
+                        "to-regex": "^3.0.1"
+                    }
+                },
+                "camelcase": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-3.0.0.tgz?cache=0&sync_timestamp=1603923709404&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-3.0.0.tgz",
+                    "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
+                    "dev": true
+                },
+                "chokidar": {
+                    "version": "2.1.8",
+                    "resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-2.1.8.tgz?cache=0&sync_timestamp=1602585381749&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-2.1.8.tgz",
+                    "integrity": "sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc=",
+                    "dev": true,
+                    "requires": {
+                        "anymatch": "^2.0.0",
+                        "async-each": "^1.0.1",
+                        "braces": "^2.3.2",
+                        "fsevents": "^1.2.7",
+                        "glob-parent": "^3.1.0",
+                        "inherits": "^2.0.3",
+                        "is-binary-path": "^1.0.0",
+                        "is-glob": "^4.0.0",
+                        "normalize-path": "^3.0.0",
+                        "path-is-absolute": "^1.0.0",
+                        "readdirp": "^2.2.1",
+                        "upath": "^1.1.1"
+                    }
+                },
+                "cliui": {
+                    "version": "3.2.0",
+                    "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-3.2.0.tgz?cache=0&sync_timestamp=1602861367442&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcliui%2Fdownload%2Fcliui-3.2.0.tgz",
+                    "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
+                    "dev": true,
+                    "requires": {
+                        "string-width": "^1.0.1",
+                        "strip-ansi": "^3.0.1",
+                        "wrap-ansi": "^2.0.0"
+                    }
+                },
+                "debug": {
+                    "version": "3.2.6",
+                    "resolved": "https://registry.npm.taobao.org/debug/download/debug-3.2.6.tgz?cache=0&sync_timestamp=1600502894812&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-3.2.6.tgz",
+                    "integrity": "sha1-6D0X3hbYp++3cX7b5fsQE17uYps=",
+                    "dev": true,
+                    "requires": {
+                        "ms": "^2.1.1"
+                    }
+                },
+                "extend-shallow": {
+                    "version": "2.0.1",
+                    "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz",
+                    "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+                    "dev": true,
+                    "requires": {
+                        "is-extendable": "^0.1.0"
+                    }
+                },
+                "fill-range": {
+                    "version": "4.0.0",
+                    "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-4.0.0.tgz",
+                    "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+                    "dev": true,
+                    "requires": {
+                        "extend-shallow": "^2.0.1",
+                        "is-number": "^3.0.0",
+                        "repeat-string": "^1.6.1",
+                        "to-regex-range": "^2.1.0"
+                    }
+                },
+                "find-up": {
+                    "version": "1.1.2",
+                    "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-1.1.2.tgz?cache=0&sync_timestamp=1597169842138&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-up%2Fdownload%2Ffind-up-1.1.2.tgz",
+                    "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+                    "dev": true,
+                    "requires": {
+                        "path-exists": "^2.0.0",
+                        "pinkie-promise": "^2.0.0"
+                    }
+                },
+                "fsevents": {
+                    "version": "1.2.13",
+                    "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-1.2.13.tgz?cache=0&sync_timestamp=1604409195916&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffsevents%2Fdownload%2Ffsevents-1.2.13.tgz",
+                    "integrity": "sha1-8yXLBFVZJCi88Rs4M3DvcOO/zDg=",
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "bindings": "^1.5.0",
+                        "nan": "^2.12.1"
+                    }
+                },
+                "glob-parent": {
+                    "version": "3.1.0",
+                    "resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz",
+                    "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+                    "dev": true,
+                    "requires": {
+                        "is-glob": "^3.1.0",
+                        "path-dirname": "^1.0.0"
+                    },
+                    "dependencies": {
+                        "is-glob": {
+                            "version": "3.1.0",
+                            "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-3.1.0.tgz",
+                            "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+                            "dev": true,
+                            "requires": {
+                                "is-extglob": "^2.1.0"
+                            }
+                        }
+                    }
+                },
+                "is-binary-path": {
+                    "version": "1.0.1",
+                    "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz",
+                    "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
+                    "dev": true,
+                    "requires": {
+                        "binary-extensions": "^1.0.0"
+                    }
+                },
+                "is-fullwidth-code-point": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz",
+                    "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+                    "dev": true,
+                    "requires": {
+                        "number-is-nan": "^1.0.0"
+                    }
+                },
+                "is-number": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz",
+                    "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+                    "dev": true,
+                    "requires": {
+                        "kind-of": "^3.0.2"
+                    }
+                },
+                "load-json-file": {
+                    "version": "1.1.0",
+                    "resolved": "https://registry.npm.taobao.org/load-json-file/download/load-json-file-1.1.0.tgz",
+                    "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
+                    "dev": true,
+                    "requires": {
+                        "graceful-fs": "^4.1.2",
+                        "parse-json": "^2.2.0",
+                        "pify": "^2.0.0",
+                        "pinkie-promise": "^2.0.0",
+                        "strip-bom": "^2.0.0"
+                    }
+                },
+                "ms": {
+                    "version": "2.1.2",
+                    "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz",
+                    "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=",
+                    "dev": true
+                },
+                "os-locale": {
+                    "version": "1.4.0",
+                    "resolved": "https://registry.npm.taobao.org/os-locale/download/os-locale-1.4.0.tgz",
+                    "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
+                    "dev": true,
+                    "requires": {
+                        "lcid": "^1.0.0"
+                    }
+                },
+                "parse-json": {
+                    "version": "2.2.0",
+                    "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz?cache=0&sync_timestamp=1598129182781&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-json-2.2.0.tgz",
+                    "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+                    "dev": true,
+                    "requires": {
+                        "error-ex": "^1.2.0"
+                    }
+                },
+                "path-exists": {
+                    "version": "2.1.0",
+                    "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-2.1.0.tgz",
+                    "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+                    "dev": true,
+                    "requires": {
+                        "pinkie-promise": "^2.0.0"
+                    }
+                },
+                "path-type": {
+                    "version": "1.1.0",
+                    "resolved": "https://registry.npm.taobao.org/path-type/download/path-type-1.1.0.tgz",
+                    "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
+                    "dev": true,
+                    "requires": {
+                        "graceful-fs": "^4.1.2",
+                        "pify": "^2.0.0",
+                        "pinkie-promise": "^2.0.0"
+                    }
+                },
+                "pify": {
+                    "version": "2.3.0",
+                    "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz",
+                    "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+                    "dev": true
+                },
+                "read-pkg": {
+                    "version": "1.1.0",
+                    "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-1.1.0.tgz?cache=0&sync_timestamp=1589682810106&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fread-pkg%2Fdownload%2Fread-pkg-1.1.0.tgz",
+                    "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
+                    "dev": true,
+                    "requires": {
+                        "load-json-file": "^1.0.0",
+                        "normalize-package-data": "^2.3.2",
+                        "path-type": "^1.0.0"
+                    }
+                },
+                "read-pkg-up": {
+                    "version": "1.0.1",
+                    "resolved": "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-1.0.1.tgz",
+                    "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
+                    "dev": true,
+                    "requires": {
+                        "find-up": "^1.0.0",
+                        "read-pkg": "^1.0.0"
+                    }
+                },
+                "readdirp": {
+                    "version": "2.2.1",
+                    "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-2.2.1.tgz?cache=0&sync_timestamp=1602584331621&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freaddirp%2Fdownload%2Freaddirp-2.2.1.tgz",
+                    "integrity": "sha1-DodiKjMlqjPokihcr4tOhGUppSU=",
+                    "dev": true,
+                    "requires": {
+                        "graceful-fs": "^4.1.11",
+                        "micromatch": "^3.1.10",
+                        "readable-stream": "^2.0.2"
+                    }
+                },
+                "string-width": {
+                    "version": "1.0.2",
+                    "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz",
+                    "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+                    "dev": true,
+                    "requires": {
+                        "code-point-at": "^1.0.0",
+                        "is-fullwidth-code-point": "^1.0.0",
+                        "strip-ansi": "^3.0.0"
+                    }
+                },
+                "strip-bom": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.npm.taobao.org/strip-bom/download/strip-bom-2.0.0.tgz",
+                    "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+                    "dev": true,
+                    "requires": {
+                        "is-utf8": "^0.2.0"
+                    }
+                },
+                "to-regex-range": {
+                    "version": "2.1.1",
+                    "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-2.1.1.tgz",
+                    "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+                    "dev": true,
+                    "requires": {
+                        "is-number": "^3.0.0",
+                        "repeat-string": "^1.6.1"
+                    }
+                },
+                "which-module": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npm.taobao.org/which-module/download/which-module-1.0.0.tgz",
+                    "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=",
+                    "dev": true
+                },
+                "y18n": {
+                    "version": "3.2.1",
+                    "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-3.2.1.tgz?cache=0&sync_timestamp=1603637417853&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fy18n%2Fdownload%2Fy18n-3.2.1.tgz",
+                    "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
+                    "dev": true
+                },
+                "yargs": {
+                    "version": "6.6.0",
+                    "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-6.6.0.tgz?cache=0&sync_timestamp=1602805561021&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-6.6.0.tgz",
+                    "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=",
+                    "dev": true,
+                    "requires": {
+                        "camelcase": "^3.0.0",
+                        "cliui": "^3.2.0",
+                        "decamelize": "^1.1.1",
+                        "get-caller-file": "^1.0.1",
+                        "os-locale": "^1.4.0",
+                        "read-pkg-up": "^1.0.1",
+                        "require-directory": "^2.1.1",
+                        "require-main-filename": "^1.0.1",
+                        "set-blocking": "^2.0.0",
+                        "string-width": "^1.0.2",
+                        "which-module": "^1.0.0",
+                        "y18n": "^3.2.1",
+                        "yargs-parser": "^4.2.0"
+                    }
+                },
+                "yargs-parser": {
+                    "version": "4.2.1",
+                    "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-4.2.1.tgz?cache=0&sync_timestamp=1602861397132&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-4.2.1.tgz",
+                    "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=",
+                    "dev": true,
+                    "requires": {
+                        "camelcase": "^3.0.0"
+                    }
+                }
+            }
+        },
+        "webpack-merge": {
+            "version": "4.2.2",
+            "resolved": "https://registry.npm.taobao.org/webpack-merge/download/webpack-merge-4.2.2.tgz",
+            "integrity": "sha1-onxS6ng9E5iv0gh/VH17nS9DY00=",
+            "dev": true,
+            "requires": {
+                "lodash": "^4.17.15"
+            }
+        },
+        "webpack-sources": {
+            "version": "1.4.3",
+            "resolved": "https://registry.npm.taobao.org/webpack-sources/download/webpack-sources-1.4.3.tgz?cache=0&sync_timestamp=1603965311142&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-sources%2Fdownload%2Fwebpack-sources-1.4.3.tgz",
+            "integrity": "sha1-7t2OwLko+/HL/plOItLYkPMwqTM=",
+            "dev": true,
+            "requires": {
+                "source-list-map": "^2.0.0",
+                "source-map": "~0.6.1"
+            }
+        },
+        "websocket-driver": {
+            "version": "0.7.4",
+            "resolved": "https://registry.npm.taobao.org/websocket-driver/download/websocket-driver-0.7.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebsocket-driver%2Fdownload%2Fwebsocket-driver-0.7.4.tgz",
+            "integrity": "sha1-ia1Slbv2S0gKvLox5JU6ynBvV2A=",
+            "dev": true,
+            "requires": {
+                "http-parser-js": ">=0.5.1",
+                "safe-buffer": ">=5.1.0",
+                "websocket-extensions": ">=0.1.1"
+            }
+        },
+        "websocket-extensions": {
+            "version": "0.1.4",
+            "resolved": "https://registry.npm.taobao.org/websocket-extensions/download/websocket-extensions-0.1.4.tgz",
+            "integrity": "sha1-f4RzvIOd/YdgituV1+sHUhFXikI=",
+            "dev": true
+        },
+        "weixin-js-sdk": {
+            "version": "1.6.0",
+            "resolved": "https://registry.npm.taobao.org/weixin-js-sdk/download/weixin-js-sdk-1.6.0.tgz",
+            "integrity": "sha1-/1BITYEYzhII8RJIz0ocCDFXdRQ="
+        },
+        "whet.extend": {
+            "version": "0.9.9",
+            "resolved": "https://registry.npm.taobao.org/whet.extend/download/whet.extend-0.9.9.tgz?cache=0&sync_timestamp=1589684060745&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhet.extend%2Fdownload%2Fwhet.extend-0.9.9.tgz",
+            "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=",
+            "dev": true
+        },
+        "which": {
+            "version": "1.3.1",
+            "resolved": "https://registry.npm.taobao.org/which/download/which-1.3.1.tgz?cache=0&sync_timestamp=1589682812246&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhich%2Fdownload%2Fwhich-1.3.1.tgz",
+            "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=",
+            "dev": true,
+            "requires": {
+                "isexe": "^2.0.0"
+            }
+        },
+        "which-module": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npm.taobao.org/which-module/download/which-module-2.0.0.tgz",
+            "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
+            "dev": true
+        },
+        "wide-align": {
+            "version": "1.1.3",
+            "resolved": "https://registry.npm.taobao.org/wide-align/download/wide-align-1.1.3.tgz",
+            "integrity": "sha1-rgdOa9wMFKQx6ATmJFScYzsABFc=",
+            "requires": {
+                "string-width": "^1.0.2 || 2"
+            }
+        },
+        "window-size": {
+            "version": "0.1.0",
+            "resolved": "https://registry.npm.taobao.org/window-size/download/window-size-0.1.0.tgz",
+            "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
+            "dev": true
+        },
+        "wordwrap": {
+            "version": "0.0.2",
+            "resolved": "https://registry.npm.taobao.org/wordwrap/download/wordwrap-0.0.2.tgz",
+            "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
+            "dev": true
+        },
+        "worker-farm": {
+            "version": "1.7.0",
+            "resolved": "https://registry.npm.taobao.org/worker-farm/download/worker-farm-1.7.0.tgz",
+            "integrity": "sha1-JqlMU5G7ypJhUgAvabhKS/dy5ag=",
+            "dev": true,
+            "requires": {
+                "errno": "~0.1.7"
+            }
+        },
+        "wrap-ansi": {
+            "version": "2.1.0",
+            "resolved": "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-2.1.0.tgz",
+            "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
+            "dev": true,
+            "requires": {
+                "string-width": "^1.0.1",
+                "strip-ansi": "^3.0.1"
+            },
+            "dependencies": {
+                "is-fullwidth-code-point": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz",
+                    "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+                    "dev": true,
+                    "requires": {
+                        "number-is-nan": "^1.0.0"
+                    }
+                },
+                "string-width": {
+                    "version": "1.0.2",
+                    "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz",
+                    "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+                    "dev": true,
+                    "requires": {
+                        "code-point-at": "^1.0.0",
+                        "is-fullwidth-code-point": "^1.0.0",
+                        "strip-ansi": "^3.0.0"
+                    }
+                }
+            }
+        },
+        "wrappy": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz",
+            "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
+        },
+        "ws": {
+            "version": "4.1.0",
+            "resolved": "https://registry.npm.taobao.org/ws/download/ws-4.1.0.tgz",
+            "integrity": "sha1-qXm119TaaL9U7+BAiWfDJIaacok=",
+            "dev": true,
+            "requires": {
+                "async-limiter": "~1.0.0",
+                "safe-buffer": "~5.1.0"
+            }
+        },
+        "xtend": {
+            "version": "4.0.2",
+            "resolved": "https://registry.npm.taobao.org/xtend/download/xtend-4.0.2.tgz?cache=0&sync_timestamp=1589682817913&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fxtend%2Fdownload%2Fxtend-4.0.2.tgz",
+            "integrity": "sha1-u3J3n1+kZRhrH0OPZ0+jR/2121Q="
+        },
+        "xxhashjs": {
+            "version": "0.2.2",
+            "resolved": "https://registry.npm.taobao.org/xxhashjs/download/xxhashjs-0.2.2.tgz",
+            "integrity": "sha1-imJRVnYhocRqWuIE2gJJx/jKqdg=",
+            "dev": true,
+            "requires": {
+                "cuint": "^0.2.2"
+            }
+        },
+        "y18n": {
+            "version": "4.0.0",
+            "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-4.0.0.tgz?cache=0&sync_timestamp=1603637417853&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fy18n%2Fdownload%2Fy18n-4.0.0.tgz",
+            "integrity": "sha1-le+U+F7MgdAHwmThkKEg8KPIVms=",
+            "dev": true
+        },
+        "yallist": {
+            "version": "2.1.2",
+            "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz",
+            "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
+            "dev": true
+        },
+        "yargs": {
+            "version": "8.0.2",
+            "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-8.0.2.tgz?cache=0&sync_timestamp=1602805561021&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-8.0.2.tgz",
+            "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=",
+            "dev": true,
+            "requires": {
+                "camelcase": "^4.1.0",
+                "cliui": "^3.2.0",
+                "decamelize": "^1.1.1",
+                "get-caller-file": "^1.0.1",
+                "os-locale": "^2.0.0",
+                "read-pkg-up": "^2.0.0",
+                "require-directory": "^2.1.1",
+                "require-main-filename": "^1.0.1",
+                "set-blocking": "^2.0.0",
+                "string-width": "^2.0.0",
+                "which-module": "^2.0.0",
+                "y18n": "^3.2.1",
+                "yargs-parser": "^7.0.0"
+            },
+            "dependencies": {
+                "camelcase": {
+                    "version": "4.1.0",
+                    "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-4.1.0.tgz?cache=0&sync_timestamp=1603923709404&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-4.1.0.tgz",
+                    "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
+                    "dev": true
+                },
+                "cliui": {
+                    "version": "3.2.0",
+                    "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-3.2.0.tgz?cache=0&sync_timestamp=1602861367442&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcliui%2Fdownload%2Fcliui-3.2.0.tgz",
+                    "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
+                    "dev": true,
+                    "requires": {
+                        "string-width": "^1.0.1",
+                        "strip-ansi": "^3.0.1",
+                        "wrap-ansi": "^2.0.0"
+                    },
+                    "dependencies": {
+                        "string-width": {
+                            "version": "1.0.2",
+                            "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz",
+                            "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+                            "dev": true,
+                            "requires": {
+                                "code-point-at": "^1.0.0",
+                                "is-fullwidth-code-point": "^1.0.0",
+                                "strip-ansi": "^3.0.0"
+                            }
+                        }
+                    }
+                },
+                "is-fullwidth-code-point": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz",
+                    "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+                    "dev": true,
+                    "requires": {
+                        "number-is-nan": "^1.0.0"
+                    }
+                },
+                "y18n": {
+                    "version": "3.2.1",
+                    "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-3.2.1.tgz?cache=0&sync_timestamp=1603637417853&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fy18n%2Fdownload%2Fy18n-3.2.1.tgz",
+                    "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
+                    "dev": true
+                }
+            }
+        },
+        "yargs-parser": {
+            "version": "7.0.0",
+            "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-7.0.0.tgz?cache=0&sync_timestamp=1602861397132&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-7.0.0.tgz",
+            "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=",
+            "dev": true,
+            "requires": {
+                "camelcase": "^4.1.0"
+            },
+            "dependencies": {
+                "camelcase": {
+                    "version": "4.1.0",
+                    "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-4.1.0.tgz?cache=0&sync_timestamp=1603923709404&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-4.1.0.tgz",
+                    "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
+                    "dev": true
+                }
+            }
+        },
+        "yocto-queue": {
+            "version": "0.1.0",
+            "resolved": "https://registry.nlark.com/yocto-queue/download/yocto-queue-0.1.0.tgz",
+            "integrity": "sha1-ApTrPe4FAo0x7hpfosVWpqrxChs="
+        }
+    }
+}

+ 94 - 0
package.json

@@ -0,0 +1,94 @@
+{
+    "name": "vue-demo",
+    "version": "1.0.0",
+    "private": true,
+    "description": "h5SDK",
+    "author": "",
+    "scripts": {
+        "build": "node build/build.js",
+        "build:test": "node build/dev.js",
+        "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
+        "start": "webpack-dev-server --inline --progress --config build/webpack.test.conf.js"
+    },
+    "dependencies": {
+        "@nutui/nutui": "^2.2.13",
+        "axios": "^0.21.0",
+        "clipboard": "^2.0.6",
+        "crypto-js": "^4.0.0",
+        "es6-promise": "^4.2.8",
+        "js-md5": "^0.7.3",
+        "jwt-decode": "^3.1.2",
+        "mobile-detect": "^1.4.4",
+        "vue": "^2.5.2",
+        "vue-router": "^3.0.1",
+        "vuex": "^3.5.1",
+        "weixin-js-sdk": "^1.6.0"
+    },
+    "devDependencies": {
+        "@nutui/babel-plugin-separate-import": "^1.2.2",
+        "autoprefixer": "^7.1.2",
+        "babel-core": "^6.22.1",
+        "babel-helper-vue-jsx-merge-props": "^2.0.3",
+        "babel-loader": "^7.1.1",
+        "babel-plugin-component": "^1.1.1",
+        "babel-plugin-syntax-jsx": "^6.18.0",
+        "babel-plugin-transform-runtime": "^6.22.0",
+        "babel-plugin-transform-vue-jsx": "^3.5.0",
+        "babel-preset-env": "^1.3.2",
+        "babel-preset-stage-2": "^6.22.0",
+        "chalk": "^2.0.1",
+        "copy-webpack-plugin": "^4.0.1",
+        "css-loader": "^0.28.11",
+        "extract-text-webpack-plugin": "^3.0.0",
+        "file-loader": "^1.1.4",
+        "friendly-errors-webpack-plugin": "^1.6.1",
+        "html-webpack-plugin": "^2.30.1",
+        "less": "^3.12.2",
+        "less-loader": "^4.1.0",
+        "node-notifier": "^5.1.2",
+        "node-sass": "^5.0.0",
+        "optimize-css-assets-webpack-plugin": "^3.2.0",
+        "ora": "^1.2.0",
+        "portfinder": "^1.0.13",
+        "postcss-import": "^11.0.0",
+        "postcss-loader": "^2.0.8",
+        "postcss-url": "^7.2.1",
+        "querystring": "^0.2.0",
+        "rimraf": "^2.6.0",
+        "sass-loader": "^10.1.1",
+        "sass-resources-loader": "^2.1.1",
+        "semver": "^5.3.0",
+        "shelljs": "^0.7.6",
+        "style-loader": "^2.0.0",
+        "uglifyjs-webpack-plugin": "^1.1.1",
+        "url-loader": "^0.5.8",
+        "vue-cli-plugin-element": "~1.0.1",
+        "vue-loader": "^13.3.0",
+        "vue-style-loader": "^3.0.1",
+        "vue-template-compiler": "^2.5.2",
+        "webpack": "^3.6.0",
+        "webpack-bundle-analyzer": "^2.9.0",
+        "webpack-dev-server": "^2.9.1",
+        "webpack-merge": "^4.1.0"
+    },
+    "babel": {
+        "plugins": [
+            [
+                "component",
+                {
+                    "libraryName": "element-ui",
+                    "styleLibraryName": "theme-chalk"
+                }
+            ]
+        ]
+    },
+    "browserslist": [
+        "> 1%",
+        "last 2 versions",
+        "not ie <= 8"
+    ],
+    "engines": {
+        "node": ">= 6.0.0",
+        "npm": ">= 3.0.0"
+    }
+}

+ 294 - 0
src/App.vue

@@ -0,0 +1,294 @@
+<template>
+  <div id="app">
+    <router-view />
+  </div>
+</template>
+
+<script>
+import { mapState, mapActions } from "vuex";
+export default {
+  name: "App",
+  // 向子组件提供变量/方法, 子组件通过inject 注入变量
+  provide() {
+    return {
+      // 校验返回值
+      checkCode: this.checkCode,
+      // 支付校验返回值
+      checkCodeHandler: this.checkCodeHandler,
+      // 刷新登录态
+      refresh: this.refresh,
+      // 获取用户信息
+      getUserInfo: this.getUserInfo,
+      // 获取鸿币余额
+      getFinance: this.getFinance,
+      // 支付
+      payHandler: this.payHandler,
+      // 订单查询
+      queryOrder: this.queryOrder,
+      // 路由跳转(携带路由参数)
+      routeLink: this.routeLink,
+      // 鸿币充值
+      onRecharge: this.onRecharge,
+    };
+  },
+  components: {},
+  data() {
+    return {
+      wechatAppid: "wx2c4f9f89c572aeb5", // 公众号appid
+    };
+  },
+  computed: {
+    ...mapState(["query", "appid", "CONFIG"]),
+  },
+  watch: {
+    // 监听路由变化 初始化路由
+    $route(to, from) {
+      this.initUrl();
+    },
+  },
+  created() {
+    this.initUrl();
+  },
+  mounted() {
+    // 设置页面基础配置信息
+    this.setConfigAction(this.$CONFIG);
+  },
+  methods: {
+    ...mapActions([
+      "queryAction",
+      "userInfoAction",
+      "financeAction",
+      "appidAction",
+      "setConfigAction",
+    ]),
+
+    /**
+     * 初始化路由地址
+     */
+    initUrl() {
+      // 获取url 参数
+      const query = this.$utils.getAllQueryString();
+      this.queryAction({ ...query });
+
+      // 获取appid
+      const _appid = this.$utils.getQueryString("appid");
+      const appid = _appid || this.CONFIG.appid;
+      this.appidAction(appid);
+    },
+
+    // 获取用户信息
+    getUserInfo() {
+      this.$api.info().then((res) => {
+        this.checkCode(res);
+        const { data, code } = res.data;
+        // 错误
+        if (code) {
+          return;
+        }
+        // 成功
+        localStorage.setItem("userInfo", JSON.stringify(data));
+        this.userInfoAction(data);
+      });
+    },
+
+    // 查询鸿币余额
+    getFinance() {
+      this.$api.finance().then((res) => {
+        this.checkCode(res);
+        const { data, code } = res.data;
+        // 错误
+        if (code) {
+          return;
+        }
+        // 成功
+        this.financeAction(data.hb / 100);
+      });
+    },
+
+    /**
+     * 支付宝 微信支付
+     * @param {Object} payInfo 支付信息
+     */
+    payHandler(payInfo) {
+      const {
+        server_id,
+        server_name,
+        cp_order_id,
+        role_name,
+        role_id,
+        goods_id,
+        goods_name,
+        amount,
+        pay_type,
+        pay_platform,
+        extra,
+      } = payInfo;
+      const { appid } = this;
+      const returnUrlLeft =
+        window.location.origin + window.location.pathname + "#/counter?";
+      const returnUrlQuery = `pay=game&appid=${appid}&server_id=${server_id}&server_name=${server_name}&cp_order_id=${cp_order_id}&role_name=${role_name}&role_id=${role_id}&goods_id=${goods_id}&goods_name=${goods_name}&amount=${amount}&pay_type=${pay_type}&pay_platform=${pay_platform}`;
+      return this.$api
+        .order({
+          server_id,
+          server_name,
+          cp_order_id,
+          app_id: appid,
+          role_name,
+          role_id,
+          goods_id,
+          goods_name,
+          amount,
+          pay_type,
+          pay_platform,
+          return_url: returnUrlLeft + returnUrlQuery,
+          extra,
+        })
+        .then((res) => {
+          this.checkCodeHandler(res);
+          const { data, code, msg } = res.data;
+          // 错误
+          if (code) {
+            return;
+          }
+
+          // 鸿币支付不需要跳转页面
+          if (pay_platform === "HB") {
+            return;
+          }
+          window.location.href = data.url;
+        });
+    },
+
+    /**
+     * 鸿币充值
+     */
+    onRecharge(payInfo) {
+      const { pay_platform, amount, goods_name, pay_type, extra } = payInfo;
+      const { appid } = this;
+      const returnUrlLeft =
+        window.location.origin + window.location.pathname + "#/counter?";
+      const returnUrlQuery = `pay=hb&appid=${appid}&amount=${amount}&goods_name=${goods_name}&pay_type=${pay_type}&pay_platform=${pay_platform}`;
+      return this.$api
+        .recharge({
+          amount,
+          goods_name,
+          app_id: appid,
+          pay_type,
+          pay_platform,
+          return_url: returnUrlLeft + returnUrlQuery,
+          extra,
+        })
+        .then((res) => {
+          this.checkCodeHandler(res);
+          const { data, code } = res.data;
+          // 错误
+          if (code) {
+            return res;
+          }
+
+          // 成功
+          const time = new Date().getTime();
+          const orderItem = {
+            order_id: data.order_id,
+            time,
+          };
+          let orderList = JSON.parse(localStorage.getItem("orderList")) || [];
+          orderList.push(orderItem);
+          localStorage.setItem("orderList", JSON.stringify(orderList));
+
+          window.location.href = data.url;
+          return res;
+        });
+    },
+
+    // 订单查询
+    queryOrder(order_id) {
+      this.$api.query({
+        order_id,
+      });
+    },
+
+    // 校验返回值
+    checkCode(res) {
+      // 请求超时
+      if (!res) {
+        this.$toast.text("当前网络拥堵, 请重试");
+        return;
+      }
+      this.checkCodeHandler(res);
+    },
+
+    // 刷新登录态
+    refresh() {
+      return this.$api.refresh().then((res) => {
+        this.checkCode(res);
+        const { code } = res.data;
+        // 错误
+        if (code) {
+          localStorage.removeItem("userInfo");
+          return;
+        }
+
+        const userInfo = localStorage.getItem("userInfo");
+        this.userInfoAction(JSON.parse(userInfo));
+      });
+    },
+
+    // 校验返回值====all
+    checkCodeHandler(res) {
+      const { code, msg } = res.data;
+      if (!code) {
+        return;
+      }
+      switch (code) {
+        // 2 未登录
+        case 2:
+          localStorage.removeItem("userInfo");
+          this.userInfoAction({});
+          // 跳转登录
+          this.routeLink("Login");
+          break;
+        // 7 微信支付code 过期
+        case 7:
+          this.$toast.text(msg);
+          break;
+        default:
+          this.$toast.text(msg);
+      }
+    },
+
+    // 跳转页面
+    routeLink(routeName, params) {
+      const { query } = this;
+      this.$router
+        .push({
+          name: routeName,
+          query,
+          params,
+        })
+        .catch((err) => {
+          //   console.log(err);
+        });
+    },
+  },
+};
+</script>
+
+<style lang="less">
+#app {
+  font-family: "Avenir", Helvetica, Arial, sans-serif;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+  text-align: center;
+  //   color: #eee;
+  color: #555555;
+  font-size: 28 / @rem;
+}
+/**横屏 */
+@media screen and (orientation: landscape),
+  only screen and (min-device-width: 768px) and (min-device-height: 768px) and (orientation: portrait) {
+  #app {
+    font-size: 16 / @rem;
+  }
+}
+</style>

+ 21 - 0
src/api/base.js

@@ -0,0 +1,21 @@
+const base = {
+    baseUrl: process.env.API_ROOT, // api地址
+    login: "/api/auth/login", // 登录
+    regist: "/api/auth/regist", // 注册
+    passportExists: "/api/auth/passportExists", // 验证账号是否存在
+    quickRegist: "/api/auth/quickRegist", // 快速登录
+    sendSms: "/api/auth/sendSms", // 发送验证码
+    forgetPwd: "/api/auth/forgetPwd", // 忘记密码
+    bindMobile: "/api/user/bindMobile", // 绑定手机号
+    changePwd: "/api/user/changePwd", // 修改密码
+    info: "/api/user/info", // 用户信息
+    logout: "/api/user/logout", // 登出
+    refresh: "/api/user/refresh", // 刷新登录态
+    order: "/api/pay/order", // 下单
+    query: "/api/pay/query", // 订单查询
+    finance: "/api/pay/finance", // 鸿币余额
+    recharge: "/api/pay/recharge", // 鸿币充值
+    wechatOpenId: "/api/pay/wechatOpenId", // code换openid
+}
+
+export default base;

+ 138 - 0
src/api/index.js

@@ -0,0 +1,138 @@
+import axios from "../utils/http";
+import base from "./base";
+const api = {
+    /**
+     * get 例子
+     */
+    getMusic(params) {
+        return axios.get(base.baseUrl + base.music, {
+            params: params,
+        });
+    },
+    /**
+     * post 例子
+     */
+    addSdkRedLog(params) {
+        return axios.post(base.baseUrl + base.music, params);
+    },
+
+    /**
+     * 登录
+     */
+    login(params) {
+        return axios.post(base.baseUrl + base.login, params);
+    },
+
+    /**
+     * 检测账号是否存在
+     */
+    passportExists(params) {
+        return axios.post(base.baseUrl + base.passportExists, params)
+    },
+
+    /**
+     * 注册
+     */
+    regist(params) {
+        return axios.post(base.baseUrl + base.regist, params)
+    },
+
+    /**
+     * 快速登录
+     */
+    quickRegist(params) {
+        return axios.get(base.baseUrl + base.quickRegist, { params })
+    },
+
+    /**
+     * 发送验证码
+     * reason 参数 : regist, forgetPwd, bindMobile, changePwd
+     */
+    sendSms(params) {
+        return axios.post(base.baseUrl + base.sendSms, params)
+    },
+
+    /**
+     * 忘记密码
+     */
+    forgetPwd(params) {
+        return axios.post(base.baseUrl + base.forgetPwd, params)
+    },
+
+    /**
+     * 绑定手机号
+     */
+    bindMobile(params) {
+        return axios.post(base.baseUrl + base.bindMobile, params)
+    },
+
+    /**
+     * 修改密码
+     */
+    changePwd(params) {
+        return axios.post(base.baseUrl + base.changePwd, params)
+    },
+
+    /**
+     * 用户信息
+     */
+    info(params) {
+        return axios.get(base.baseUrl + base.info, { params })
+    },
+
+    /**
+     * 登出
+     */
+    logout(params) {
+        return axios.get(base.baseUrl + base.logout, { params })
+    },
+
+    /**
+     * 刷新登录态 /user 下的操作 都调一遍这个接口
+     */
+    refresh(params) {
+        return axios.get(base.baseUrl + base.refresh, { params })
+    },
+
+    /* ************ pay ************ */
+
+    /**
+     * 下单
+     * @param app_id 默认1 从url拿
+     * @param pay_type  ALIPAY-H5 支付宝H5 WECHAT-H5 微信H5 HB 鸿币
+     * @param pay_platform ALIPAY 支付宝支付 WECHATPAY 微信支付 HB 鸿币支付
+     */
+    order(params) {
+        return axios.post(base.baseUrl + base.order, params)
+    },
+
+    /**
+     * 订单查询
+     */
+    query(params) {
+        return axios.post(base.baseUrl + base.query, params)
+    },
+
+    /**
+     * 鸿币余额
+     */
+    finance(params) {
+        return axios.get(base.baseUrl + base.finance, { params })
+    },
+
+    /**
+     * 鸿币充值
+     */
+    recharge(params) {
+        return axios.post(base.baseUrl + base.recharge, params)
+    },
+
+    /**
+     * test 微信支付
+     */
+    wechatOpenId(params) {
+        return axios.post(base.baseUrl + base.wechatOpenId, params)
+    }
+};
+
+export default api;

+ 70 - 0
src/assets/css/common.css

@@ -0,0 +1,70 @@
+body,
+div,
+dl,
+dt,
+dd,
+ul,
+ol,
+li,
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+pre,
+form,
+fieldset,
+legend,
+input,
+textarea,
+button,
+p,
+blockquote,
+th,
+td {
+    margin: 0;
+    padding: 0;
+}
+
+body {
+    text-align: center;
+}
+
+li {
+    list-style: none;
+}
+
+a {
+    text-decoration: none;
+}
+
+input {
+    outline: none;
+    border: 0;
+    /* 去除ios input 默认样式 */
+    -webkit-appearance: none;
+}
+
+.hide {
+    display: none;
+}
+
+.gray {
+    background-color: #c4c4c4 !important;
+}
+
+.clear::after {
+    display: block;
+    content: " ";
+    clear: both;
+}
+
+.inner_box {
+    position: absolute;
+    top: 0;
+    left: 0;
+    right: 0;
+    bottom: 0;
+    background-color: rgba(0, 0, 0, 0.6);
+}

+ 2 - 0
src/assets/css/config.less

@@ -0,0 +1,2 @@
+@design-width: 750;
+@rem: @design-width / 10rem;

+ 67 - 0
src/assets/font/iconfont.css

@@ -0,0 +1,67 @@
+@font-face {
+  font-family: "iconfont"; /* Project id 2554785 */
+  src: url('iconfont.woff2?t=1625988955157') format('woff2'),
+       url('iconfont.woff?t=1625988955157') format('woff'),
+       url('iconfont.ttf?t=1625988955157') format('truetype');
+}
+
+.iconfont {
+  font-family: "iconfont" !important;
+  font-size: 16px;
+  font-style: normal;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+
+.icon-shandian:before {
+  content: "\e638";
+}
+
+.icon-mobile:before {
+  content: "\e60d";
+}
+
+.icon-shuaxin:before {
+  content: "\e85e";
+}
+
+.icon-shangcheng:before {
+  content: "\e67c";
+}
+
+.icon-yiwen:before {
+  content: "\e764";
+}
+
+.icon-weixingongzhonghao:before {
+  content: "\e650";
+}
+
+.icon-lianxikefu:before {
+  content: "\e667";
+}
+
+.icon-pay:before {
+  content: "\e640";
+}
+
+.icon-bangdingshouji:before {
+  content: "\e62a";
+}
+
+.icon-account:before {
+  content: "\e672";
+}
+
+.icon-edit:before {
+  content: "\e62f";
+}
+
+.icon-back:before {
+  content: "\e697";
+}
+
+.icon-baseline-close-px:before {
+  content: "\e615";
+}
+

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
src/assets/font/iconfont.js


+ 100 - 0
src/assets/font/iconfont.json

@@ -0,0 +1,100 @@
+{
+  "id": "2554785",
+  "name": "h5sdk",
+  "font_family": "iconfont",
+  "css_prefix_text": "icon-",
+  "description": "",
+  "glyphs": [
+    {
+      "icon_id": "18663433",
+      "name": "闪电",
+      "font_class": "shandian",
+      "unicode": "e638",
+      "unicode_decimal": 58936
+    },
+    {
+      "icon_id": "13253820",
+      "name": "mobile",
+      "font_class": "mobile",
+      "unicode": "e60d",
+      "unicode_decimal": 58893
+    },
+    {
+      "icon_id": "16399006",
+      "name": "刷新",
+      "font_class": "shuaxin",
+      "unicode": "e85e",
+      "unicode_decimal": 59486
+    },
+    {
+      "icon_id": "1059244",
+      "name": "商城",
+      "font_class": "shangcheng",
+      "unicode": "e67c",
+      "unicode_decimal": 59004
+    },
+    {
+      "icon_id": "14463306",
+      "name": "疑问",
+      "font_class": "yiwen",
+      "unicode": "e764",
+      "unicode_decimal": 59236
+    },
+    {
+      "icon_id": "1126028",
+      "name": "微信公众号",
+      "font_class": "weixingongzhonghao",
+      "unicode": "e650",
+      "unicode_decimal": 58960
+    },
+    {
+      "icon_id": "8875695",
+      "name": "联系客服",
+      "font_class": "lianxikefu",
+      "unicode": "e667",
+      "unicode_decimal": 58983
+    },
+    {
+      "icon_id": "1011824",
+      "name": "pay",
+      "font_class": "pay",
+      "unicode": "e640",
+      "unicode_decimal": 58944
+    },
+    {
+      "icon_id": "579823",
+      "name": "绑定手机",
+      "font_class": "bangdingshouji",
+      "unicode": "e62a",
+      "unicode_decimal": 58922
+    },
+    {
+      "icon_id": "1061308",
+      "name": "account",
+      "font_class": "account",
+      "unicode": "e672",
+      "unicode_decimal": 58994
+    },
+    {
+      "icon_id": "19725679",
+      "name": "edit",
+      "font_class": "edit",
+      "unicode": "e62f",
+      "unicode_decimal": 58927
+    },
+    {
+      "icon_id": "122688",
+      "name": "back",
+      "font_class": "back",
+      "unicode": "e697",
+      "unicode_decimal": 59031
+    },
+    {
+      "icon_id": "7826085",
+      "name": "close",
+      "font_class": "baseline-close-px",
+      "unicode": "e615",
+      "unicode_decimal": 58901
+    }
+  ]
+}

BIN
src/assets/font/iconfont.ttf


BIN
src/assets/font/iconfont.woff


BIN
src/assets/font/iconfont.woff2


BIN
src/assets/image/add.png


BIN
src/assets/image/alipay.png


BIN
src/assets/image/android_wx_tips.png


BIN
src/assets/image/arrows.png


BIN
src/assets/image/close.png


BIN
src/assets/image/closeIcon.png


BIN
src/assets/image/discount.png


BIN
src/assets/image/floatImg.png


BIN
src/assets/image/floatRight.png


BIN
src/assets/image/hbpay.png


BIN
src/assets/image/ios_wx_tips.png


BIN
src/assets/image/jh.jpg


BIN
src/assets/image/jh.png


BIN
src/assets/image/logoIcon.png


BIN
src/assets/image/rxzr.png


BIN
src/assets/image/safari.png


BIN
src/assets/image/share.png


BIN
src/assets/image/wxpay.png


+ 232 - 0
src/components/Inner/ExitGame.vue

@@ -0,0 +1,232 @@
+<template>
+  <!-- 退出弹窗 -->
+  <div v-show="isShowExitGame" class="close_win_shade">
+    <div class="close_win_box">
+      <div class="close_win_title">
+        <span>退出确定</span>
+      </div>
+      <div v-if="CONFIG.wechatInfo" class="close_win_content">
+        <div @click="copy" class="close_win_copy">
+          公众号:{{ CONFIG.wechatInfo.wechatName }}
+          <span
+            ref="copyBtn"
+            :data-clipboard-text="CONFIG.wechatInfo.wechatName"
+            >(点击复制)</span
+          >
+        </div>
+        <div class="close_win_hint">
+          <span>搜索关注公众号</span>
+          <span>无需下载即可登录游戏</span>
+        </div>
+        <div class="close_win_qr_code">
+          <img :src="CONFIG.wechatInfo.wechatImg" />
+        </div>
+      </div>
+      <div class="close_win_btn">
+        <div class="close_win_btn_l" @click="outGame">
+          <span>退出游戏</span>
+        </div>
+        <div class="close_win_btn_r" @click="goOnGame">
+          <span>继续游戏</span>
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import { mapState, mapActions } from "vuex";
+import Clipboard from "clipboard";
+import wx from "weixin-js-sdk";
+export default {
+  components: {},
+  data() {
+    return {};
+  },
+  computed: {
+    ...mapState(["CONFIG", "isShowExitGame"]),
+  },
+  watch: {},
+  created() {},
+  mounted() {
+    if (window.history && window.history.pushState) {
+      history.pushState(null, null, document.URL);
+      window.addEventListener("popstate", this.goBack, false);
+    }
+  },
+  destroyed() {
+    window.removeEventListener("popstate", this.goBack, false);
+  },
+  methods: {
+    ...mapActions(["isShowExitGameAction"]),
+    /**
+     * 复制公众号
+     */
+    copy() {
+      let copyBtn = this.$refs.copyBtn;
+      var clipboard = new Clipboard(copyBtn);
+      clipboard.on("success", () => {
+        this.$toast.text("已复制");
+      });
+    },
+
+    /**
+     * 退出游戏
+     */
+    outGame() {
+      window.location.href = "about:blank";
+      wx.closeWindow();
+    },
+
+    /**
+     * 继续游戏
+     */
+    goOnGame() {
+      this.isShowExitGameAction(false);
+    },
+
+    /**
+     * 返回按钮
+     */
+    goBack() {
+      history.pushState(null, null, document.URL);
+      window.android && window.android.exit();
+      this.isShowExitGameAction(true);
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+/* 退出弹窗遮罩层  */
+.close_win_shade {
+  width: 100%;
+  height: 100%;
+  z-index: 9;
+  position: absolute;
+  top: 0;
+  left: 0;
+  display: flex;
+  -webkit-box-pack: center;
+  justify-content: center;
+  -webkit-box-align: center;
+  align-items: center;
+  background: rgba(0, 0, 0, 0.75);
+
+  /* 退出提示弹窗 */
+  .close_win_box {
+    width: 600 / @rem;
+    height: 600 / @rem;
+    position: relative;
+    background: #fff;
+    border-radius: 5px;
+    font-size: 30 / @rem;
+    overflow: hidden;
+  }
+}
+
+.close_win_title {
+  height: 100 / @rem;
+  line-height: 100 / @rem;
+  background-color: #3faeed;
+  border-radius: 5px 5px 0 0;
+  span {
+    color: #fff;
+    font-size: 38 / @rem;
+  }
+}
+.close_win_content {
+  flex: 1;
+}
+.close_win_copy {
+  height: 70 / @rem;
+  line-height: 70 / @rem;
+  color: #ff0000;
+  text-align: center;
+}
+.close_win_copy span {
+  height: 70 / @rem;
+  line-height: 70 / @rem;
+  padding-left: 20 / @rem;
+  color: #ff0000;
+}
+.close_win_hint span {
+  color: #333;
+  height: 40 / @rem;
+  line-height: 40 / @rem;
+}
+.close_win_qr_code img {
+  width: 305 / @rem;
+}
+.close_win_btn {
+  height: 80 / @rem;
+  line-height: 80 / @rem;
+  display: flex;
+  flex-direction: row;
+  justify-content: space-between;
+  align-items: stretch;
+  border-top: 1px solid #ccc;
+  border-radius: 0 0 0.1rem 0.1rem;
+  box-sizing: border-box;
+}
+.close_win_btn_l,
+.close_win_btn_r {
+  flex: 1;
+}
+.close_win_btn_r {
+  border-left: 1px solid #ccc;
+}
+.close_win_btn_l span {
+  color: #333;
+}
+.close_win_btn_r span {
+  color: #3faeed;
+}
+// 横屏
+@media screen and (orientation: landscape),
+  /**竖屏 */ all and (orientation: portrait) and (min-width: 600px) and (min-height: 800px),
+  /**ipad */ all and (min-device-aspect-ratio: 3/4) and (max-device-aspect-ratio: 4/3),
+  all and (device-aspect-ratio: 4/3) {
+  .close_win_shade {
+    /* 退出提示弹窗 */
+    .close_win_box {
+      width: 300 / @rem;
+      height: 270 / @rem;
+      font-size: 15 / @rem;
+    }
+  }
+
+  .close_win_title {
+    height: 40 / @rem;
+    line-height: 40 / @rem;
+    span {
+      font-size: 18 / @rem;
+    }
+  }
+
+  .close_win_copy {
+    height: 35 / @rem;
+    line-height: 35 / @rem;
+  }
+  .close_win_copy span {
+    height: 35 / @rem;
+    line-height: 35 / @rem;
+    padding-left: 10 / @rem;
+  }
+
+  .close_win_qr_code img {
+    width: 135 / @rem;
+  }
+
+  .close_win_hint span {
+    color: #333;
+    height: 20 / @rem;
+    line-height: 20 / @rem;
+  }
+
+  .close_win_btn {
+    height: 38 / @rem;
+    line-height: 38 / @rem;
+  }
+}
+</style>

+ 222 - 0
src/components/Inner/Float.vue

@@ -0,0 +1,222 @@
+<template>
+  <!-- todo: 红点显示 方法没写 判断没写  网络请求没捋 -->
+  <div v-if="CONFIG.imgInfo" class="float" ref="floatBox">
+    <!-- 缩略到左右的图片 -->
+    <div
+      v-show="!showLogoIcon"
+      ref="floatIcon"
+      @click="showLogo"
+      class="float_icon"
+      :class="{ float_right: floatRight }"
+    >
+      <img :src="floatIcon || this.CONFIG.imgInfo.floatImg" alt="" />
+    </div>
+    <!-- 被拖动的div -->
+    <div
+      v-show="showLogoIcon"
+      @touchstart.prevent="onTouchstart"
+      @touchmove.prevent="onTouchmove"
+      @touchend="onTouchend"
+      @click="openInnerBox"
+      ref="logoIcon"
+      class="logo_icon"
+      :class="{ float_right: floatRight }"
+    >
+      <img :src="logoIcon || this.CONFIG.imgInfo.logoIcon" alt="" />
+    </div>
+  </div>
+</template>
+
+<script>
+import { mapState } from "vuex";
+
+export default {
+  name: "Float",
+  components: {},
+  inject: ["getFinance"],
+  data() {
+    return {
+      floatRight: false, // 靠右
+      logoIconTimer: null, // 延迟 隐藏logoIcon延时器
+      showLogoIcon: false, // 是否显示logoIcon
+      touchFlag: false, // 是否处于触摸状态
+      limitX: 0, // x轴限制拖拽范围
+      limitY: 0, // y轴限制拖拽范围
+      touchStartLeft: 0, // 手指按下时的元素里屏幕边缘坐标 x轴
+      touchStartTop: 0, // 手指按下时的元素里屏幕边缘坐标 y轴
+      touchStartX: 0, // 手指按下时 clientX x轴
+      touchStartY: 0, // 手指按下时 clientY y轴
+      clientWidth: 0, // 屏幕宽
+      clientHeight: 0, // 屏幕高
+      floatIcon: "", // 缩略图
+      logoIcon: "", // logo图
+      moveFlag: false, // 识别是点击还是移动
+      hideLogoTimeout: null, // 定时器(点击logo之后两秒隐藏)
+    };
+  },
+  computed: {
+    ...mapState(["userInfo", "CONFIG"]),
+  },
+  watch: {},
+  created() {},
+  mounted() {
+    // 触屏事件初始化信息
+    this.initMove();
+
+    // 监听横竖屏切换事件 防止滚动条出现
+    window.addEventListener(
+      "orientationchange",
+      () => {
+        if (!(this.$refs && this.$refs.floatBox)) {
+          return;
+        }
+        this.$refs.floatBox.style.top = "40%";
+        this.$refs.floatBox.style.left = 0;
+        this.floatRight = false;
+        this.floatIcon = "";
+      },
+      false
+    );
+  },
+  methods: {
+    /**
+     * 触屏事件初始化信息
+     */
+    initMove() {
+      const floatBox = this.$refs.floatBox;
+      if (!floatBox) {
+        return;
+      }
+      // 屏幕宽
+      this.clientWidth = document.documentElement.clientWidth;
+      // 屏幕高
+      this.clientHeight = document.documentElement.clientHeight;
+      // 限制拖拽范围 x轴
+      this.limitX = this.clientWidth - floatBox.offsetWidth;
+      // 限制拖拽范围 y轴
+      this.limitY = this.clientHeight - floatBox.offsetHeight;
+    },
+    /**
+     * 显示logo
+     */
+    showLogo() {
+      this.showLogoIcon = true;
+      this.hideLogoTimeout = setTimeout(() => {
+        this.showLogoIcon = false;
+      }, 2000);
+    },
+    /**
+     * touchstart -> touchmove -> touchend -> click
+     * 触摸开始
+     */
+    onTouchstart(e) {
+      this.moveFlag = false;
+      clearTimeout(this.logoIconTimer);
+      this.initMove();
+      const floatBox = this.$refs.floatBox;
+      this.touchStartLeft = e.touches[0].clientX - floatBox.offsetLeft;
+      this.touchStartTop = e.touches[0].clientY - floatBox.offsetTop;
+      this.touchStartX = e.touches[0].clientX;
+      this.touchStartY = e.touches[0].clientY;
+    },
+    /**
+     * 触摸移动
+     */
+    onTouchmove(e) {
+      if (!this.showLogoIcon) {
+        return;
+      }
+      clearTimeout(this.hideLogoTimeout);
+      const floatBox = this.$refs.floatBox;
+      let moveX = e.touches[0].clientX - this.touchStartLeft;
+      let moveY = e.touches[0].clientY - this.touchStartTop;
+
+      // moveFlag 用来识别是点击还是移动
+      const endX = e.touches[0].clientX - this.touchStartX;
+      const endY = e.touches[0].clientY - this.touchStartY;
+
+      this.moveFlag = Math.abs(endX) > 0 || Math.abs(endY) > 0 ? true : false;
+
+      // x轴限制
+      if (moveX < 0) {
+        moveX = 0;
+      }
+      if (moveX > this.limitX) {
+        moveX = this.limitX;
+      }
+      // y轴限制
+      if (moveY < 0) {
+        moveY = 0;
+      }
+      if (moveY > this.limitY) {
+        moveY = this.limitY;
+      }
+
+      floatBox.style.left = moveX + "px";
+      floatBox.style.top = moveY + "px";
+    },
+    /**
+     * 触摸结束
+     */
+    onTouchend(e) {
+      this.logoIconTimer = setTimeout(() => {
+        // 获取左右距离差 吸附
+        const floatBox = this.$refs.floatBox;
+        const logoIcon = this.$refs.logoIcon;
+        const left = floatBox.getClientRects()[0].left;
+        const center = this.clientWidth / 2;
+        this.floatRight = left >= center;
+        const _left = this.clientWidth - logoIcon.offsetWidth;
+        const leftPosition = left > center ? _left : 0;
+        floatBox.style.left = `${leftPosition}px`;
+        // this.floatIcon = left > center ? this.CONFIG.imgInfo.floatRight : "";
+        this.showLogoIcon = false;
+      }, 2000);
+
+      clearTimeout(this.hideLogoTimeout);
+      // 如果是点击 显示InnerBox
+      if (!this.moveFlag) {
+        this.openInnerBox();
+        // 获取鸿币余额
+        this.getFinance();
+        return;
+      }
+    },
+
+    // 点击logo 显示登录框
+    openInnerBox() {
+      this.$emit("openInnerBox");
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.float {
+  position: absolute;
+  top: 40%;
+  left: 0;
+  z-index: 2;
+
+  .float_icon {
+    width: 30px;
+
+    img {
+      width: 100%;
+    }
+  }
+  .logo_icon {
+    width: 65px;
+    img {
+      width: 100%;
+    }
+    &.float_right {
+      margin-left: 0;
+    }
+  }
+  .float_right {
+    margin-left: 35px;
+    transform: rotateY(180deg);
+  }
+}
+</style>

+ 222 - 0
src/components/Menu/MenuAccount.vue

@@ -0,0 +1,222 @@
+<template>
+  <div class="menu_account">
+    <i class="iconfont icon-back" @click="showInnerControl('')"></i>
+    <div class="title">账号</div>
+    <!-- 修改密码 -->
+    <div class="change_pwd">
+      <i class="iconfont icon-edit"></i>
+      <span>修改密码</span>
+      <div class="go" @click="showInnerControl('changePwd')">前往</div>
+    </div>
+    <!-- 绑定手机号 -->
+    <div class="bind_tel">
+      <i class="iconfont icon-bangdingshouji"></i>
+      <span>{{ bindMobileTitle }}</span>
+      <div class="go" @click="showInnerControl('bind')">前往</div>
+    </div>
+    <!-- 切换账号 -->
+    <MenuLoginOut v-on="$listeners" />
+  </div>
+</template>
+
+<script>
+import MenuLoginOut from "@/components/Menu/MenuLoginOut"; // 切换账号
+import { mapState } from "vuex";
+export default {
+  name: "MenuAccount",
+  components: {
+    MenuLoginOut,
+  },
+  inject: ["refresh"],
+  data() {
+    return {
+      showBindBtn: false, // 是否显示绑定手机号按钮
+      bindMobileTitle: "绑定手机号", // 绑定手机号
+    };
+  },
+  computed: {
+    ...mapState(["userInfo", "CONFIG"]),
+    passport() {
+      return this.$store.state.userInfo.passport;
+    },
+    mobile() {
+      return this.$store.state.userInfo.mobile;
+    },
+  },
+  watch: {
+    passport(newValue) {
+      this.init();
+    },
+    mobile(newValue) {
+      this.init();
+    },
+  },
+  created() {},
+  mounted() {
+    this.init();
+  },
+  methods: {
+    // 控制显示哪个组件
+    showInnerControl(name) {
+      this.$emit("showInnerControl", name);
+    },
+
+    // 初始化信息
+    init() {
+      const { passport, mobile } = this;
+
+      if (!passport) {
+        return;
+      }
+      // 手机号注册无需绑定手机号
+      this.bindMobileTitle = mobile ? "更换手机号" : "绑定手机号";
+    },
+  },
+};
+</script>
+
+<style lang='less' scoped>
+.menu_account {
+  width: 100%;
+  height: 538 / @rem;
+  position: absolute;
+  top: 100%;
+  margin-top: -538 / @rem;
+  padding: 20 / @rem;
+  border-radius: 30 / @rem 30 / @rem 0 0;
+  box-sizing: border-box;
+  background-color: #fff;
+
+  i {
+    float: right;
+    font-size: 60 / @rem;
+  }
+
+  .icon-back {
+    margin-right: 10 / @rem;
+    font-size: 50 / @rem;
+  }
+
+  .title {
+    height: 60 / @rem;
+    line-height: 60 / @rem;
+    margin-top: 10 / @rem;
+    margin-left: 10 / @rem;
+    padding-left: 20 / @rem;
+    font-size: 36 / @rem;
+    font-weight: bold;
+    border-left: 4px solid #3faeed;
+    text-align: left;
+  }
+
+  .change_pwd,
+  .bind_tel {
+    height: 70 / @rem;
+    line-height: 70 / @rem;
+    margin-top: 30 / @rem;
+    padding: 30 / @rem 0;
+    border-top: 1px solid #e6e6e6;
+    font-size: 32 / @rem;
+
+    i,
+    span,
+    .go {
+      float: left;
+    }
+    i {
+      width: 20%;
+    }
+    span {
+      width: 50%;
+      text-align: left;
+    }
+    .go {
+      width: 20%;
+      border-radius: 10 / @rem;
+      background-color: #3faeed;
+      color: #fff;
+    }
+
+    .gray {
+      background-color: #888;
+    }
+  }
+  .bind_tel {
+    margin-top: 0;
+  }
+
+  .menu_login_out {
+    border-top: 1px solid #e6e6e6;
+  }
+}
+
+// 正常横屏样式
+@media all and (orientation: landscape),
+  /** 伪竖屏*/all and (orientation: portrait) and (min-width: 600px) and (min-height: 800px) {
+  .menu_account {
+    width: 45%;
+    height: 250 / @rem;
+    left: 0;
+    top: 50%;
+    margin-top: -125 / @rem;
+    padding: 0 10 / @rem;
+    border-radius: 0 20 / @rem 20 / @rem 0;
+
+    .icon-back {
+      margin-top: 10 / @rem;
+      margin-right: 5 / @rem;
+      font-size: 25 / @rem;
+    }
+
+    .title {
+      height: 30 / @rem;
+      line-height: 30 / @rem;
+      margin-top: 15 / @rem;
+      margin-left: 5 / @rem;
+      padding-left: 10 / @rem;
+      font-size: 18 / @rem;
+    }
+
+    .change_pwd,
+    .bind_tel {
+      height: 30 / @rem;
+      line-height: 30 / @rem;
+      margin-top: 15 / @rem;
+      padding: 15 / @rem 0;
+      font-size: 16 / @rem;
+
+      .go {
+        border-radius: 50 / @rem;
+      }
+    }
+
+    .bind_tel {
+      margin-top: 0;
+    }
+    .menu_login_out {
+      padding-top: 9 / @rem;
+    }
+  }
+}
+
+// ipad 横屏
+@media /** 伪竖屏*/all and (orientation: portrait) and (min-width: 600px) and (min-height: 800px),
+  /**ipad伪横屏 */ all and (orientation: landscape) and (min-width: 800px) and (min-height: 600px),
+  all and (min-device-aspect-ratio: 3/4) and (max-device-aspect-ratio: 4/3),
+  all and (device-aspect-ratio: 4/3) {
+  .menu_account {
+    width: 350 / @rem;
+    height: 250 / @rem;
+    left: 50%;
+    top: 50%;
+    margin-top: -125 / @rem;
+    margin-left: -175 / @rem;
+    padding: 0 10 / @rem;
+    border-radius: 20 / @rem;
+  }
+}
+
+// ipad 竖屏
+@media /** 伪竖屏*/all and (orientation: portrait) and (min-width: 600px) and (min-height: 800px) {
+}
+</style>

+ 86 - 0
src/components/Menu/MenuLoginOut.vue

@@ -0,0 +1,86 @@
+<template>
+  <div class="menu_login_out">
+    <div v-if="canLogout" class="change_account" @click="loginOut">
+      切换账号
+    </div>
+    <div v-else class="change_account gray" @click="loginOut">切换中</div>
+  </div>
+</template>
+
+<script>
+import { mapActions } from "vuex";
+export default {
+  name: "MenuLoginOut",
+  components: {},
+  inject: ["checkCode", "routeLink"],
+  data() {
+    return {
+      canLogout: true, // 是否可以退出登录
+    };
+  },
+  computed: {},
+  watch: {},
+  created() {},
+  mounted() {},
+  methods: {
+    ...mapActions(["userInfoAction"]),
+
+    // 显示哪个组件(工具函数)
+    showInnerControl(name) {
+      this.$emit("showInnerControl", name);
+    },
+
+    // 切换账号
+    loginOut() {
+      if (!this.canLogout) {
+        return;
+      }
+      this.canLogout = false;
+      this.$api.logout().then((res) => {
+        this.checkCode(res);
+        this.canLogout = true;
+        const { data, code, msg } = res.data;
+        // 错误
+        if (code) {
+          return;
+        }
+        // 成功
+        this.showInnerControl("");
+        localStorage.removeItem("userInfo");
+        this.userInfoAction({});
+        this.routeLink("Login");
+      });
+    },
+  },
+};
+</script>
+
+<style lang='less' scoped>
+.menu_login_out {
+  .change_account {
+    width: 60%;
+    margin: 40 / @rem auto 0;
+    height: 70 / @rem;
+    line-height: 70 / @rem;
+    border-radius: 10 / @rem;
+    background-color: #3faeed;
+    color: #fff;
+    font-size: 32 / @rem;
+  }
+}
+// 横屏
+@media screen and (orientation: landscape),
+  /**竖屏 */ all and (orientation: portrait) and (min-width: 600px) and (min-height: 800px),
+  /**ipad */ all and (min-device-aspect-ratio: 3/4) and (max-device-aspect-ratio: 4/3),
+  all and (device-aspect-ratio: 4/3) {
+  .menu_login_out {
+    .change_account {
+      height: 35 / @rem;
+      line-height: 35 / @rem;
+      margin: 10 / @rem auto 0;
+      border-radius: 5 / @rem;
+      font-size: 16 / @rem;
+    }
+  }
+}
+</style>

+ 338 - 0
src/components/Menu/MenuPay/MenuHbDetail.vue

@@ -0,0 +1,338 @@
+<template>
+  <!-- 鸿币优惠明细 -->
+  <div class="menu_hb_detail">
+    <div class="content">
+      <i class="iconfont icon-back" @click="close"></i>
+      <div class="title">鸿币优惠明细</div>
+      <!-- 充值档位, 优惠明细  -->
+      <ul class="detail_ul">
+        <li class="li_title">
+          <div class="left">档位(单位:元)</div>
+          <div class="right">优惠折扣</div>
+        </li>
+        <li v-for="(item, index) in list" :key="index" class="li_content">
+          <div class="left">{{ item.money }}</div>
+          <div class="right">{{ item.discount }}</div>
+        </li>
+      </ul>
+      <!-- 抽奖次数 -->
+      <ul class="draw_ul">
+        <li class="li_title">
+          <div>抽奖次数</div>
+        </li>
+        <li class="value_first">
+          <div>首充送1次</div>
+        </li>
+        <li class="value_second">
+          <div>首充送2次</div>
+        </li>
+        <li class="value_thrid">
+          <div>
+            每满1000
+            <br />
+            送3次
+          </div>
+        </li>
+      </ul>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "MenuHbDetail",
+  components: {},
+  data() {
+    return {
+      // >< ≥≤
+      // 表格
+      list: [
+        {
+          money: "100≤ x <200",
+          discount: "99折",
+        },
+        {
+          money: "200≤ x <500",
+          discount: "98折",
+        },
+        {
+          money: "500≤ x <1000",
+          discount: "97折",
+        },
+        {
+          money: "1000≤ x <1500",
+          discount: "96折",
+        },
+        {
+          money: "1500≤ x <2000",
+          discount: "95折",
+        },
+        {
+          money: "2000≤ x <3000",
+          discount: "94折",
+        },
+        {
+          money: "x =3000",
+          discount: "92折",
+        },
+        {
+          money: "x >3000",
+          discount: "9折",
+        },
+      ],
+    };
+  },
+  computed: {},
+  watch: {},
+  created() {},
+  mounted() {},
+  methods: {
+    close() {
+      this.showInnerControl("hb");
+    },
+
+    // 显示哪个组件(工具函数)
+    showInnerControl(name) {
+      this.$emit("showInnerControl", name);
+    },
+  },
+};
+</script>
+
+<style lang='less' scoped>
+.menu_hb_detail {
+  .content {
+    width: 700 / @rem;
+    height: 800 / @rem;
+    position: absolute;
+    top: 50%;
+    left: 50%;
+    margin-left: -350 / @rem;
+    margin-top: -400 / @rem;
+    padding: 20 / @rem;
+    font-size: 30 / @rem;
+    background-color: #fff;
+    box-sizing: border-box;
+    border-radius: 5px;
+    overflow: hidden;
+
+    i {
+      float: right;
+      font-size: 60 / @rem;
+    }
+
+    .icon-back {
+      margin-right: 10 / @rem;
+      font-size: 50 / @rem;
+    }
+
+    .title {
+      height: 60 / @rem;
+      line-height: 60 / @rem;
+      margin-top: 10 / @rem;
+      margin-left: 10 / @rem;
+      padding-left: 20 / @rem;
+      font-size: 36 / @rem;
+      font-weight: bold;
+      border-left: 4px solid #3faeed;
+      text-align: left;
+    }
+
+    .detail_ul {
+      width: 72%;
+      margin: 20 / @rem auto;
+      float: left;
+
+      .li_title {
+        font-weight: bold;
+        border-bottom: 0;
+      }
+
+      li {
+        height: 70 / @rem;
+        line-height: 70 / @rem;
+        text-align: center;
+        margin: 0 auto;
+        box-sizing: border-box;
+
+        &:last-child {
+          .left,
+          .right {
+            border-bottom: 1px solid #999999;
+          }
+        }
+
+        .left,
+        .right {
+          width: 50%;
+          height: 100%;
+          float: left;
+          box-sizing: border-box;
+          border: 1px solid #999999;
+          box-sizing: border-box;
+          border-bottom: 0;
+        }
+
+        .right {
+          border-left: 0;
+        }
+      }
+    }
+
+    .draw_ul {
+      width: 28%;
+      margin: 20 / @rem auto;
+      float: left;
+
+      .li_title {
+        height: 70 / @rem;
+        font-weight: bold;
+        div {
+          height: 100%;
+          border: 1px solid #999999;
+          border-left: 0;
+          border-bottom: 0;
+        }
+      }
+
+      li {
+        height: 70 / @rem;
+        line-height: 70 / @rem;
+        text-align: center;
+        margin: 0 auto;
+        box-sizing: border-box;
+      }
+
+      .value_first,
+      .value_second,
+      .value_thrid {
+        border: 1px solid #999999;
+        border-left: 0;
+        border-bottom: 0;
+      }
+
+      .value_first {
+        height: 140 / @rem;
+        line-height: 140 / @rem;
+      }
+
+      .value_second {
+        height: 70 / @rem;
+        line-height: 70 / @rem;
+      }
+
+      .value_thrid {
+        height: 350 / @rem;
+        padding-top: 100 / @rem;
+        box-sizing: border-box;
+        border-bottom: 1px solid #999999;
+      }
+    }
+
+    .close {
+      width: 80%;
+      height: 80 / @rem;
+      line-height: 80 / @rem;
+      margin: auto;
+      margin: 40 / @rem auto;
+      border-radius: 20 / @rem;
+      background-color: #3faeed;
+      color: #ffffff;
+    }
+  }
+}
+// 正常横屏样式
+@media all and (orientation: landscape),
+  /** 伪竖屏*/all and (orientation: portrait) and (min-width: 600px) and (min-height: 800px) {
+  .menu_hb_detail {
+    .content {
+      width: 350 / @rem;
+      height: 260 / @rem;
+      margin-left: -175 / @rem;
+      margin-top: -130 / @rem;
+      font-size: 16 / @rem;
+      padding: 10 / @rem;
+      overflow-y: auto;
+
+      .icon-back {
+        margin-top: 2 / @rem;
+        margin-right: 5 / @rem;
+        font-size: 25 / @rem;
+      }
+
+      .title {
+        height: 30 / @rem;
+        line-height: 30 / @rem;
+        margin-top: 8 / @rem;
+        margin-left: 5 / @rem;
+        padding-left: 10 / @rem;
+        font-size: 18 / @rem;
+      }
+
+      .detail_ul {
+        margin: 10 / @rem auto;
+
+        li {
+          height: 35 / @rem;
+          line-height: 35 / @rem;
+        }
+      }
+
+      .draw_ul {
+        margin: 10 / @rem auto;
+
+        li {
+          height: 35 / @rem;
+          line-height: 35 / @rem;
+        }
+
+        .li_title {
+          height: 35 / @rem;
+        }
+
+        .value_first {
+          height: 70 / @rem;
+          line-height: 70 / @rem;
+        }
+
+        .value_second {
+          height: 35 / @rem;
+          line-height: 35 / @rem;
+        }
+
+        .value_thrid {
+          height: 175 / @rem;
+          padding-top: 50 / @rem;
+        }
+      }
+
+      .close {
+        width: 80%;
+        height: 40 / @rem;
+        line-height: 40 / @rem;
+        margin: 20 / @rem auto;
+        border-radius: 10 / @rem;
+      }
+    }
+  }
+}
+
+// ipad 横屏
+@media /** 伪竖屏*/all and (orientation: portrait) and (min-width: 600px) and (min-height: 800px),
+  /**ipad伪横屏 */ all and (orientation: landscape) and (min-width: 800px) and (min-height: 600px),
+  all and (min-device-aspect-ratio: 3/4) and (max-device-aspect-ratio: 4/3),
+  all and (device-aspect-ratio: 4/3) {
+  .menu_hb_detail {
+    .content {
+      width: 350 / @rem;
+      height: 400 / @rem;
+      left: 50%;
+      top: 50%;
+      margin-top: -200 / @rem;
+      margin-left: -175 / @rem;
+      padding: 10 / @rem;
+      border-radius: 20 / @rem;
+    }
+  }
+}
+</style>

+ 269 - 0
src/components/Menu/MenuPay/MenuHbPay.vue

@@ -0,0 +1,269 @@
+<template>
+  <!-- 鸿币支付 -->
+  <div class="menu_hb_pay">
+    <i class="iconfont icon-back" @click="back"></i>
+    <div class="title">确认付款</div>
+    <!-- 鸿币余额 -->
+    <div class="money">
+      <span class="left">鸿币余额</span>
+      <span class="right">{{ finance }}</span>
+    </div>
+
+    <!-- 支付鸿币 -->
+    <div class="pay_money">
+      <span class="left">应付鸿币</span>
+      <span class="right">{{ payArg.amount / 100 }}</span>
+    </div>
+    <!-- 确认 -->
+    <div
+      class="confirm"
+      v-if="finance >= payArg.amount / 100 && canPay"
+      @click="toPay"
+    >
+      立即支付
+    </div>
+    <div class="confirm gray" v-else-if="finance >= payArg.amount / 100">
+      支付中
+    </div>
+
+    <!-- 余额不足 -->
+    <div v-else class="less">
+      <div class="msg">您的鸿币余额不足</div>
+      <div class="confirm" @click="toRecharge">前往充值</div>
+    </div>
+  </div>
+</template>
+
+<script>
+import { mapState } from "vuex";
+export default {
+  name: "MenuHbPay",
+  components: {},
+  inject: ["checkCode", "payHandler", "getFinance"],
+  data() {
+    return {
+      payPlatform: "HB", // 支付平台
+      canPay: true, // 是否可以支付
+    };
+  },
+  computed: {
+    ...mapState(["finance", "query"]),
+    payArg() {
+      return this.$store.state.payArg;
+    },
+  },
+  watch: {
+    payArg: {
+      handler(newValue) {
+        // console.log(newValue, "payArg");
+      },
+      deep: true,
+      immediate: true,
+    },
+  },
+  created() {},
+  mounted() {},
+  methods: {
+    // 返回游戏内支付页面
+    back() {
+      this.showInnerControl("");
+    },
+
+    // 充值鸿币
+    toRecharge() {
+      this.showInnerControl("hb");
+    },
+
+    // 显示哪个组件(工具函数)
+    showInnerControl(name) {
+      this.$emit("showInnerControl", name);
+    },
+
+    // 鸿币充值 支付宝 微信支付
+    toPay() {
+      if (!this.canPay) {
+        return;
+      }
+      this.canPay = false;
+      const { payPlatform } = this;
+      const {
+        server_id,
+        server_name,
+        cp_order_id,
+        role_id,
+        role_name,
+        goods_id,
+        goods_name,
+        amount,
+      } = this.payArg;
+      const payType = this.$utils.payType(payPlatform).h5;
+      this.payHandler({
+        server_id,
+        server_name,
+        cp_order_id,
+        role_name,
+        role_id,
+        goods_id,
+        goods_name,
+        amount,
+        pay_type: payType,
+        pay_platform: payPlatform,
+      }).then(() => {
+        this.canPay = true;
+        this.$toast.text("鸿币支付成功");
+        this.getFinance();
+        this.back();
+      });
+    },
+
+    // 返回  关闭当前浏览器
+    back() {
+      this.showInnerControl("");
+    },
+  },
+};
+</script>
+
+<style lang='less' scoped>
+.menu_hb_pay {
+  width: 100%;
+  height: 500 / @rem;
+  position: absolute;
+  top: 100%;
+  margin-top: -500 / @rem;
+  padding: 15 / @rem 20 / @rem;
+  border-radius: 30 / @rem 30 / @rem 0 0;
+  box-sizing: border-box;
+  background-color: #fff;
+
+  i {
+    float: right;
+    font-size: 60 / @rem;
+  }
+
+  .icon-back {
+    margin-right: 10 / @rem;
+    font-size: 50 / @rem;
+  }
+
+  .title {
+    height: 60 / @rem;
+    line-height: 60 / @rem;
+    margin-top: 10 / @rem;
+    margin-left: 10 / @rem;
+    padding-left: 20 / @rem;
+    font-size: 36 / @rem;
+    font-weight: bold;
+    border-left: 4px solid #3faeed;
+    text-align: left;
+  }
+
+  .money,
+  .pay_money {
+    height: 80 / @rem;
+    line-height: 80 / @rem;
+    font-size: 30 / @rem;
+    border-top: 1px solid #e6e6e6;
+
+    .left {
+      float: left;
+    }
+    .right {
+      float: right;
+    }
+  }
+  .money {
+    margin-top: 20 / @rem;
+  }
+  .confirm {
+    width: 60%;
+    line-height: 70 / @rem;
+    margin: 120 / @rem auto 0;
+    background-color: #3faeed;
+    color: #fff;
+    border-radius: 8 / @rem;
+  }
+  .less {
+    margin-top: 70 / @rem;
+    .msg {
+      color: #ca0000;
+    }
+    .confirm {
+      margin-top: 20 / @rem;
+    }
+  }
+}
+
+// 正常横屏样式
+@media all and (orientation: landscape),
+  /** 伪竖屏*/all and (orientation: portrait) and (min-width: 600px) and (min-height: 800px) {
+  .menu_hb_pay {
+    width: 45%;
+    max-height: 250 / @rem;
+    left: 0;
+    top: 50%;
+    margin-top: -125 / @rem;
+    padding: 7.5 / @rem 10 / @rem;
+    border-radius: 0 20 / @rem 20 / @rem 0;
+    overflow-y: auto;
+
+    .icon-back {
+      margin-top: 2 / @rem;
+      margin-right: 5 / @rem;
+      font-size: 25 / @rem;
+    }
+
+    .title {
+      height: 30 / @rem;
+      line-height: 30 / @rem;
+      margin-top: 8 / @rem;
+      margin-left: 5 / @rem;
+      padding-left: 10 / @rem;
+      font-size: 18 / @rem;
+    }
+
+    .money,
+    .pay_money {
+      height: 40 / @rem;
+      line-height: 40 / @rem;
+      font-size: 15 / @rem;
+    }
+
+    .money {
+      margin-top: 10 / @rem;
+    }
+
+    .confirm {
+      line-height: 35 / @rem;
+      margin: 60 / @rem auto 0;
+      border-radius: 4 / @rem;
+    }
+    .less {
+      margin-top: 35 / @rem;
+      .msg {
+        color: #ca0000;
+      }
+      .confirm {
+        margin-top: 10 / @rem;
+      }
+    }
+  }
+}
+
+// ipad 横屏
+@media /** 伪竖屏*/all and (orientation: portrait) and (min-width: 600px) and (min-height: 800px),
+  /**ipad伪横屏 */ all and (orientation: landscape) and (min-width: 800px) and (min-height: 600px),
+  all and (min-device-aspect-ratio: 3/4) and (max-device-aspect-ratio: 4/3),
+  all and (device-aspect-ratio: 4/3) {
+  .menu_hb_pay {
+    width: 350 / @rem;
+    height: 250 / @rem;
+    left: 50%;
+    top: 50%;
+    margin-top: -125 / @rem;
+    margin-left: -175 / @rem;
+    padding: 7.5 / @rem 10 / @rem;
+    border-radius: 20 / @rem;
+  }
+}
+</style>

+ 151 - 0
src/components/Menu/MenuPay/MenuPay.vue

@@ -0,0 +1,151 @@
+<template>
+  <!-- 鸿币充值 -->
+  <div class="menu_pay">
+    <i class="iconfont icon-back" @click="back"></i>
+    <div class="title">
+      鸿币充值
+      <span class="tips" @click="detail">
+        优惠明细
+        <i class="iconfont icon-yiwen"></i>
+      </span>
+    </div>
+    <!-- 鸿币充值 - 移动端 -->
+    <MenuPayH5 v-on="$listeners" />
+  </div>
+</template>
+
+<script>
+import MenuPayH5 from "@/components/Menu/MenuPay/MenuPayH5"; // 移动端充值
+export default {
+  name: "MenuPay",
+  components: {
+    MenuPayH5,
+  },
+  data() {
+    return {};
+  },
+  computed: {},
+  watch: {},
+  created() {},
+  mounted() {},
+  methods: {
+    // 返回
+    back() {
+      this.showInnerControl("");
+    },
+
+    // 显示哪个组件(工具函数)
+    showInnerControl(name) {
+      this.$emit("showInnerControl", name);
+    },
+
+    // 明细
+    detail() {
+      this.showInnerControl("hbDetail");
+    },
+  },
+};
+</script>
+
+<style lang='less' scoped>
+.menu_pay {
+  width: 100%;
+  height: 800 / @rem;
+  position: absolute;
+  top: 100%;
+  margin-top: -800 / @rem;
+  padding: 15 / @rem 20 / @rem;
+  border-radius: 30 / @rem 30 / @rem 0 0;
+  box-sizing: border-box;
+  background-color: #fff;
+
+  i {
+    float: right;
+    font-size: 60 / @rem;
+  }
+
+  .icon-back {
+    margin-right: 10 / @rem;
+    font-size: 50 / @rem;
+  }
+
+  .title {
+    height: 60 / @rem;
+    line-height: 60 / @rem;
+    margin-top: 10 / @rem;
+    margin-left: 10 / @rem;
+    padding-left: 20 / @rem;
+    font-size: 36 / @rem;
+    font-weight: bold;
+    border-left: 4px solid #3faeed;
+    text-align: left;
+
+    .tips {
+      color: #ca0000;
+      font-size: 28 / @rem;
+      font-weight: normal;
+      i {
+        float: none;
+        font-size: 32 / @rem;
+      }
+    }
+  }
+}
+
+// 正常横屏样式
+@media all and (orientation: landscape),
+  /** 伪竖屏*/all and (orientation: portrait) and (min-width: 600px) and (min-height: 800px) {
+  .menu_pay {
+    width: 45%;
+    height: 250 / @rem;
+    left: 0;
+    top: 50%;
+    margin-top: -125 / @rem;
+    padding: 7.5 / @rem 10 / @rem;
+    border-radius: 0 20 / @rem 20 / @rem 0;
+
+    .icon-back {
+      margin-top: 2 / @rem;
+      margin-right: 5 / @rem;
+      font-size: 25 / @rem;
+    }
+
+    .title {
+      height: 30 / @rem;
+      line-height: 30 / @rem;
+      margin-top: 8 / @rem;
+      margin-left: 5 / @rem;
+      padding-left: 10 / @rem;
+      font-size: 18 / @rem;
+
+      .tips {
+        font-size: 14 / @rem;
+        i {
+          font-size: 16 / @rem;
+        }
+      }
+    }
+  }
+}
+
+// ipad 横屏
+@media /** 伪竖屏*/all and (orientation: portrait) and (min-width: 600px) and (min-height: 800px),
+  /**ipad伪横屏 */ all and (orientation: landscape) and (min-width: 800px) and (min-height: 600px),
+  all and (min-device-aspect-ratio: 3/4) and (max-device-aspect-ratio: 4/3),
+  all and (device-aspect-ratio: 4/3) {
+  .menu_pay {
+    width: 350 / @rem;
+    height: 430 / @rem;
+    left: 50%;
+    top: 50%;
+    margin-top: -215 / @rem;
+    margin-left: -175 / @rem;
+    padding: 7.5 / @rem 10 / @rem;
+    border-radius: 20 / @rem;
+
+    .menu_pay_h5 {
+      height: 100%;
+    }
+  }
+}
+</style>

+ 868 - 0
src/components/Menu/MenuPay/MenuPayH5.vue

@@ -0,0 +1,868 @@
+<template>
+  <!-- 鸿币充值 -->
+  <div class="menu_pay_h5">
+    <!-- 充值账号 -->
+    <div class="pay_account">
+      <span class="left"> 充值账号:</span>
+      <div class="right">
+        <span class="account">{{ userInfo.passport }}</span>
+        <span class="money">(余额 {{ finance }} HB)</span>
+      </div>
+    </div>
+
+    <!-- 充值金额 -->
+    <div class="pay_money">
+      <span class="left">充值金额:</span>
+      <!-- <div class="right">
+        <ul>
+          <li
+            class="default"
+            :class="{
+              active: currentCount === index,
+            }"
+            v-for="(item, index) in payCountList"
+            :key="index"
+            @click="onSelectCount(item.count, index)"
+          >
+            {{ item.name }}
+          </li>
+          <li
+            class="count_input"
+            :class="{
+              active: currentCount === -1,
+            }"
+            @click="onSelectCount(null, -1)"
+            @keyup.enter="onConfirmCount"
+          >
+            <input type="number" v-model="payCount2" />
+            <div class="confirm" @click="onConfirmCount">确认</div>
+          </li>
+        </ul>
+      </div> -->
+      <!-- 类似购物车 -->
+      <div class="right">
+        <ul class="clear">
+          <!-- 第一档 -->
+          <li
+            class="default"
+            :class="{
+              active: firstCount,
+            }"
+            @click="select(0)"
+          >
+            {{ payCountList[0] }} HB
+          </li>
+          <li class="count clear">
+            <div class="reduce" @click="reduce(0)">-</div>
+            <input
+              type="tel"
+              v-model="firstCount"
+              pattern="[0-9]*"
+              compositionstart="compositionstartInput"
+              oninput="this.value=this.value.replace(/\D/g,'')"
+              onafterpaste="this.value=this.value.replace(/\D/g,'')"
+              @blur="checkInput(0)"
+            />
+            <div class="add" @click="add(0)">+</div>
+          </li>
+          <!-- 第二档 -->
+          <li
+            class="default"
+            :class="{
+              active: secondCount,
+            }"
+            @click="select(1)"
+          >
+            {{ payCountList[1] }} HB
+          </li>
+          <li class="count clear">
+            <div class="reduce" @click="reduce(1)">-</div>
+            <input
+              type="tel"
+              v-model="secondCount"
+              pattern="[0-9]*"
+              compositionstart="compositionstartInput"
+              oninput="this.value=this.value.replace(/\D/g,'')"
+              onafterpaste="this.value=this.value.replace(/\D/g,'')"
+              @blur="checkInput(1)"
+            />
+            <div class="add" @click="add(1)">+</div>
+          </li>
+          <!-- 第三档 -->
+          <li
+            class="default"
+            :class="{
+              active: thirdCount,
+            }"
+            @click="select(2)"
+          >
+            {{ payCountList[2] }} HB
+          </li>
+          <li class="count clear">
+            <div class="reduce" @click="reduce(2)">-</div>
+            <input
+              type="tel"
+              v-model="thirdCount"
+              pattern="[0-9]*"
+              compositionstart="compositionstartInput"
+              oninput="this.value=this.value.replace(/\D/g,'')"
+              onafterpaste="this.value=this.value.replace(/\D/g,'')"
+              @blur="checkInput(2)"
+            />
+            <div class="add" @click="add(2)">+</div>
+          </li>
+          <!-- 第四档 -->
+          <li
+            class="default"
+            :class="{
+              active: fourthCount,
+            }"
+            @click="select(3)"
+          >
+            {{ payCountList[3] }} HB
+          </li>
+          <!-- <li
+            class="count_input"
+            :class="{
+              active: currentCount === -1,
+            }"
+            @click="onSelectCount(null, -1)"
+            @keyup.enter="onConfirmCount"
+          >
+            <input type="number" v-model="payCount2" />
+            <div class="confirm" @click="onConfirmCount">确认</div>
+          </li> -->
+          <li class="count clear">
+            <div class="reduce" @click="reduce(3)">-</div>
+            <input
+              type="tel"
+              v-model="fourthCount"
+              pattern="[0-9]*"
+              compositionstart="compositionstartInput"
+              oninput="this.value=this.value.replace(/\D/g,'')"
+              onafterpaste="this.value=this.value.replace(/\D/g,'')"
+              @blur="checkInput(3)"
+            />
+            <div class="add" @click="add(3)">+</div>
+          </li>
+        </ul>
+      </div>
+    </div>
+
+    <!-- 支付方式 -->
+    <div class="pay_type">
+      <span class="left"> 支付方式:</span>
+      <div class="right">
+        <div
+          class="alipay"
+          :class="{
+            active: payPlatform === 'ALIPAY',
+          }"
+          @click="onSelectpayPlatform('ALIPAY')"
+        >
+          <img src="~@/assets/image/alipay.png" alt="" />
+          <span>支付宝</span>
+        </div>
+        <div
+          class="wxpay"
+          :class="{
+            active: payPlatform === 'WECHATPAY',
+          }"
+          @click="onSelectpayPlatform('WECHATPAY')"
+        >
+          <img src="~@/assets/image/wxpay.png" alt="" />
+          <span>微信</span>
+        </div>
+      </div>
+    </div>
+
+    <!-- 应付金额 -->
+    <div class="pay_all_money">
+      <span class="left"> 应付金额:</span>
+      <div class="right">
+        <!-- <div class="old">
+          <span class="account">{{ allCount }}</span>
+          <span>元</span>
+        </div> -->
+        <span class="account new_count">{{ payCount }}</span>
+        <span>元</span>
+      </div>
+    </div>
+    <!-- 实得鸿币 -->
+    <div class="pay_all_money">
+      <span class="left"> 实得鸿币:</span>
+      <div class="right">
+        <div class="old">
+          <span class="account">{{ payCount }}</span>
+          <span>HB</span>
+        </div>
+        <span class="account new_count">{{ newHB }}</span>
+        <span>HB</span>
+      </div>
+    </div>
+
+    <!-- 立即付款 -->
+    <div class="to_pay" @click="toPay">立即付款</div>
+  </div>
+</template>
+
+<script>
+import { mapActions, mapState } from "vuex";
+export default {
+  name: "MenuPayH5",
+  components: {},
+  inject: ["checkCode", "getFinance", "checkCodeHandler", "onRecharge"],
+  data() {
+    return {
+      payCountList: ["100", "200", "500", "1000"], // 可选充值金额列表
+      currentCount: 0, // 默认选中的充值金额
+      payPlatform: "ALIPAY", // 默认支付方式
+      payCount: 0, // 应付金额
+      payCount2: "", // 输入框的应付金额
+      canPay: true, // 是否可以点击支付
+      firstCount: 0, // 第一档 数量
+      secondCount: 0, // 第二档 数量
+      thirdCount: 0, // 第三档 数量
+      fourthCount: 0, // 第四档 数量
+      allCount: 0, // 本应付金额
+      oldHB: 0, // 原得鸿币
+      newHB: 0, // 应得鸿币
+    };
+  },
+  computed: {
+    ...mapState([
+      "userInfo",
+      "finance",
+      "query",
+      "isWeChat",
+      "CONFIG",
+      "appid",
+    ]),
+  },
+  watch: {
+    // 第一档 100
+    firstCount(firstCountNew) {
+      this.checkInput(0);
+      this.computeMoney();
+    },
+    // 第二档 200
+    secondCount(secondCountNew) {
+      this.checkInput(1);
+      this.computeMoney();
+    },
+    // 第三档 500
+    thirdCount(thirdCountNew) {
+      this.checkInput(2);
+      this.computeMoney();
+    },
+    // 第四档 1000
+    fourthCount(fourthCountNew) {
+      this.checkInput(3);
+      this.computeMoney();
+    },
+  },
+  created() {},
+  mounted() {
+    // 默认选中第一栏
+    this.add(0);
+  },
+  methods: {
+    ...mapActions(["isPayAction"]),
+
+    // ios中文输入
+    compositionstartInput() {
+      this.account = "";
+    },
+
+    // 选择充值金额
+    onSelectCount(count, index) {
+      this.currentCount = index;
+      if (count) {
+        this.payCount = count;
+        this.payCount2 = "";
+      }
+    },
+
+    // 显示哪个组件(工具函数)
+    showInnerControl(name) {
+      this.$emit("showInnerControl", name);
+    },
+
+    // 选中充值金额
+    select(index) {
+      switch (index) {
+        // 100
+        case 0:
+          if (this.firstCount == 0) {
+            this.firstCount++;
+          }
+          break;
+        // 200
+        case 1:
+          if (this.secondCount == 0) {
+            this.secondCount++;
+          }
+          break;
+        // 500
+        case 2:
+          if (this.thirdCount == 0) {
+            this.thirdCount++;
+          }
+          break;
+        // 1000
+        case 3:
+          if (this.fourthCount == 0) {
+            this.fourthCount++;
+          }
+          break;
+      }
+    },
+
+    // 选择支付方式
+    onSelectpayPlatform(payPlatform) {
+      this.payPlatform = payPlatform;
+    },
+
+    // 自定义金额
+    onConfirmCount() {
+      if (!this.payCount2) {
+        this.$toast.text("请输入正确的金额");
+        return;
+      }
+      this.payCount2 = Math.ceil(parseFloat(this.payCount2 * 100)) / 100;
+      this.payCount = this.payCount2;
+    },
+
+    //  充值鸿币 立即付款
+    toPay() {
+      // 查看金额是否为0
+      const { payCount } = this;
+      if (!payCount) {
+        this.$toast.text("请选择充值金额");
+        return;
+      }
+
+      if (!this.canPay) {
+        return;
+      }
+      this.canPay = false;
+      this.payFun();
+    },
+
+    // 支付接口
+    payFun(extra) {
+      const { payPlatform, payCount } = this;
+      const { appid } = this;
+      const payType = this.$utils.payType(payPlatform).h5;
+
+      this.onRecharge({
+        amount: payCount * 100,
+        goods_name: `${payCount}元`,
+        pay_type: payType,
+        pay_platform: payPlatform,
+        extra,
+      }).then((res) => {
+        this.canPay = true;
+        this.back();
+      });
+
+      return;
+      this.$api
+        .recharge({
+          amount: payCount * 100,
+          goods_name: `${payCount}元`,
+          app_id: appid,
+          pay_type: payType,
+          pay_platform: payPlatform,
+          return_url: window.location.href,
+          extra,
+        })
+        .then((res) => {
+          this.canPay = true;
+          this.checkCodeHandler(res);
+          const { data, code } = res.data;
+          // 错误
+          if (code) {
+            return;
+          }
+
+          // 成功
+          // 刷新鸿币
+          const time = new Date().getTime();
+          const orderItem = {
+            order_id: data.order_id,
+            time,
+          };
+          let orderList = JSON.parse(localStorage.getItem("orderList")) || [];
+          orderList.push(orderItem);
+          localStorage.setItem("orderList", JSON.stringify(orderList));
+
+          window.location.href = data.url;
+          this.back();
+        });
+    },
+
+    // 返回
+    back() {
+      this.showInnerControl("");
+    },
+
+    /**
+     * 第几档 减
+     * @param index 档位下标
+     */
+    reduce(index) {
+      switch (index) {
+        // 100
+        case 0:
+          if (this.firstCount == 0) {
+            return;
+          }
+          this.firstCount--;
+          break;
+
+        // 200
+        case 1:
+          if (this.secondCount == 0) {
+            return;
+          }
+          this.secondCount--;
+          break;
+        // 500
+        case 2:
+          if (this.thirdCount == 0) {
+            return;
+          }
+          this.thirdCount--;
+          break;
+        // 1000
+        case 3:
+          if (this.fourthCount == 0) {
+            return;
+          }
+          this.fourthCount--;
+          break;
+      }
+    },
+
+    /**
+     * 第几档 加
+     * @param index 档位下标
+     */
+    add(index) {
+      switch (index) {
+        // 100
+        case 0:
+          this.firstCount++;
+          break;
+        // 200
+        case 1:
+          this.secondCount++;
+          break;
+        // 500
+        case 2:
+          this.thirdCount++;
+          break;
+        // 1000
+        case 3:
+          this.fourthCount++;
+          break;
+      }
+    },
+
+    // 第几档 校验
+    checkInput(index) {
+      switch (index) {
+        // 100
+        case 0:
+          if (this.firstCount === "") {
+            this.firstCount = 0;
+            return;
+          }
+          this.firstCount = parseInt(this.firstCount);
+          break;
+        // 200
+        case 1:
+          if (this.secondCount === "") {
+            this.secondCount = 0;
+            return;
+          }
+          this.secondCount = parseInt(this.secondCount);
+
+          break;
+        // 500
+        case 2:
+          if (this.thirdCount === "") {
+            this.thirdCount = 0;
+            return;
+          }
+          this.thirdCount = parseInt(this.thirdCount);
+          break;
+        // 1000
+        case 3:
+          if (this.fourthCount === "") {
+            this.fourthCount = 0;
+            return;
+          }
+          this.fourthCount = parseInt(this.fourthCount);
+          break;
+      }
+    },
+
+    // 计算总额
+    computeMoney() {
+      const { firstCount, secondCount, thirdCount, fourthCount, payCountList } =
+        this;
+      this.payCount =
+        payCountList[0] * firstCount +
+        payCountList[1] * secondCount +
+        payCountList[2] * thirdCount +
+        payCountList[3] * fourthCount;
+      // 计算折后金额
+      this.discount(this.payCount);
+    },
+
+    /**
+     * 获取折扣
+     * @param payCount 应付金额
+     */
+    discount(payCount) {
+      let rate = 1;
+      switch (true) {
+        case payCount > 3000: // > 3000 9折
+          rate = 1.1;
+          break;
+        case payCount == 3000: //  3000 92折
+          rate = 1.08;
+          break;
+        case payCount >= 2000: // >= 2000 94折
+          rate = 1.06;
+          break;
+        case payCount >= 1500: // >= 1500 95折
+          rate = 1.05;
+          break;
+        case payCount >= 1000: // >= 1000 96折
+          rate = 1.04;
+          break;
+        case payCount >= 500: // >= 500 97折
+          rate = 1.03;
+          break;
+        case payCount >= 200: // >= 200 98折
+          rate = 1.02;
+          break;
+        case payCount >= 100: // >= 100 99折
+          rate = 1.01;
+          break;
+      }
+      this.newHB = Math.floor(payCount * rate);
+    },
+  },
+};
+</script>
+
+<style lang='less' scoped>
+.menu_pay_h5 {
+  .pay_account,
+  .pay_money,
+  .pay_type,
+  .pay_all_money {
+    font-size: 32 / @rem;
+    overflow: hidden;
+
+    .left,
+    .right {
+      float: left;
+    }
+
+    .left {
+      width: 25%;
+      text-align: right;
+      color: #9d9d9d;
+    }
+
+    .right {
+      width: 75%;
+      padding-left: 20 / @rem;
+      box-sizing: border-box;
+      text-align: left;
+    }
+  }
+
+  .active {
+    border: 2px solid #3faeed !important;
+  }
+
+  .pay_account {
+    height: 70 / @rem;
+    line-height: 70 / @rem;
+    margin-top: 20 / @rem;
+    border-top: 1px solid #e6e6e6;
+
+    .money {
+      color: #9d9d9d;
+    }
+  }
+
+  .pay_money {
+    line-height: 60 / @rem;
+
+    li {
+      width: 47%;
+      float: left;
+      text-align: center;
+    }
+
+    .default {
+      margin-right: 2%;
+      border-radius: 8 / @rem;
+      border: 2px solid #e2e2e2;
+      margin-bottom: 10 / @rem;
+    }
+
+    .count {
+      .reduce,
+      input,
+      .add {
+        width: 33%;
+        height: 70 / @rem;
+        line-height: 70 / @rem;
+        float: left;
+        border: 2px solid #e2e2e2;
+        box-sizing: border-box;
+        font-size: 30 / @rem;
+      }
+
+      input {
+        text-align: center;
+      }
+
+      .reduce {
+        border-right: 0;
+        border-radius: 5px 0 0 5px;
+      }
+
+      .add {
+        border-left: 0;
+        border-radius: 0 5px 5px 0;
+      }
+    }
+
+    // .count_input {
+    //   width: 60%;
+    //   display: flex;
+    //   border: 2px solid #e2e2e2;
+    //   border-radius: 8 / @rem;
+    //   overflow: hidden;
+
+    //   input,
+    //   .confirm {
+    //     width: 50%;
+    //     float: left;
+    //     color: #555555;
+    //   }
+
+    //   input {
+    //     padding: 0 10 / @rem;
+    //     box-sizing: border-box;
+    //     font-size: 30 / @rem;
+    //   }
+    //   .confirm {
+    //     color: #fff;
+    //     background-color: #3faeed;
+    //   }
+    // }
+  }
+
+  .pay_type {
+    line-height: 70 / @rem;
+
+    .alipay,
+    .wxpay {
+      padding: 0 30 / @rem;
+      float: left;
+      text-align: center;
+      border: 2px solid #e2e2e2;
+      box-sizing: border-box;
+      border-radius: 8 / @rem;
+
+      img {
+        width: 52 / @rem;
+        margin-top: 8 / @rem;
+        float: left;
+      }
+
+      i,
+      span {
+        float: left;
+      }
+    }
+
+    i {
+      margin-right: 10 / @rem;
+      width: 52 / @rem;
+      height: 52 / @rem;
+      margin-top: 9 / @rem;
+    }
+
+    .alipay {
+      i {
+        background: url("../../../assets/image/alipay.png") no-repeat;
+      }
+    }
+    .wxpay {
+      margin-left: 70 / @rem;
+      i {
+        background: url("../../../assets/image/wxpay.png") no-repeat;
+      }
+    }
+  }
+
+  .pay_all_money {
+    line-height: 70 / @rem;
+
+    .right {
+      .account {
+      }
+      .new_count {
+        color: #3faeed;
+      }
+    }
+
+    .old {
+      position: relative;
+      float: left;
+      margin-right: 20 / @rem;
+
+      &::after {
+        content: "";
+        display: block;
+        width: 110%;
+        height: 2 / @rem;
+        position: absolute;
+        top: 50%;
+        left: -5%;
+        background-color: #ca0000;
+      }
+    }
+  }
+
+  .to_pay {
+    width: 60%;
+    line-height: 70 / @rem;
+    margin: 0 auto;
+    background-color: #3faeed;
+    color: #fff;
+    border-radius: 8 / @rem;
+  }
+}
+
+// 正常横屏样式
+@media all and (orientation: landscape),
+  /** 伪竖屏*/only screen and (min-device-width: 768px) and (min-device-height: 768px) and (orientation: portrait) {
+  .menu_pay_h5 {
+    width: 100%;
+    height: 200 / @rem;
+    overflow-y: auto;
+
+    .pay_account,
+    .pay_money,
+    .pay_type,
+    .pay_all_money {
+      font-size: 16 / @rem;
+
+      .right {
+        padding-left: 10 / @rem;
+      }
+    }
+
+    .pay_account {
+      height: 35 / @rem;
+      line-height: 35 / @rem;
+      margin-top: 10 / @rem;
+
+      .money {
+        color: #9d9d9d;
+      }
+    }
+
+    .pay_money {
+      line-height: 30 / @rem;
+
+      li {
+        width: 48%;
+      }
+
+      .default {
+        margin-right: 1%;
+        border-radius: 4 / @rem;
+        margin-bottom: 10 / @rem;
+      }
+
+      .count {
+        .reduce,
+        input,
+        .add {
+          height: 35 / @rem;
+          line-height: 35 / @rem;
+          font-size: 15 / @rem;
+        }
+      }
+      //   .count_input {
+      //     border-radius: 4 / @rem;
+
+      //     input {
+      //       padding: 0 5 / @rem;
+      //       font-size: 16 / @rem;
+      //     }
+      //   }
+    }
+
+    .pay_type {
+      line-height: 35 / @rem;
+
+      .alipay,
+      .wxpay {
+        padding: 0 10 / @rem;
+        border-radius: 4 / @rem;
+        img {
+          width: 25 / @rem;
+          margin-top: 4.5 / @rem;
+          margin-left: 5 / @rem;
+          margin-right: 5 / @rem;
+        }
+      }
+
+      .wxpay {
+        margin-left: 10 / @rem;
+      }
+
+      i {
+        width: 32 / @rem;
+        height: 32 / @rem;
+        margin-top: 3 / @rem;
+        margin-right: 5 / @rem;
+      }
+    }
+
+    .pay_all_money {
+      line-height: 35 / @rem;
+    }
+
+    .to_pay {
+      line-height: 35 / @rem;
+      margin: 10 / @rem auto;
+      border-radius: 4 / @rem;
+    }
+  }
+}
+
+// ipad 横屏
+@media /** 伪竖屏*/all and (orientation: portrait) and (min-width: 600px) and (min-height: 800px),
+  /**ipad伪横屏 */ all and (orientation: landscape) and (min-width: 800px) and (min-height: 600px),
+  all and (min-device-aspect-ratio: 3/4) and (max-device-aspect-ratio: 4/3),
+  all and (device-aspect-ratio: 4/3) {
+  .menu_pay_h5 {
+    height: 260 / @rem;
+  }
+}
+</style>

+ 136 - 0
src/components/Menu/MenuService.vue

@@ -0,0 +1,136 @@
+<template>
+  <!-- 联系客服 -->
+  <div class="menu_service" :width="iframeWidth">
+    <iframe
+      id="service-iframe"
+      class="iframe"
+      frameborder="no"
+      scrolling="no"
+      allowtransparency="yes"
+      style="overflow: hidden"
+      :src="`${CONFIG.serviceUrl}${userInfo.passport}`"
+      :width="iframeWidth"
+      :height="iframeHeight"
+    ></iframe>
+    <i class="iconfont icon-baseline-close-px" @click="back"></i>
+  </div>
+</template>
+
+<script>
+import { mapState } from "vuex";
+export default {
+  name: "MenuService",
+  components: {},
+  data() {
+    return {
+      iframeWidth: 0, // iframe宽
+      iframeHeight: 0, // iframe高
+    };
+  },
+  computed: {
+    ...mapState(["CONFIG", "userInfo"]),
+  },
+  watch: {},
+  created() {},
+  mounted() {
+    // 根据屏幕宽和高获取iframe高度
+    this.h5ScreenOrientation();
+
+    // 监听页面重载
+    this.onResize();
+  },
+  methods: {
+    // 返回
+    back() {
+      this.showInnerControl("");
+    },
+
+    // 显示哪个组件(工具函数)
+    showInnerControl(name) {
+      this.$emit("showInnerControl", name);
+    },
+
+    /**
+     * 根据屏幕宽和高获取iframe高度
+     */
+    h5ScreenOrientation() {
+      // 当前的宽
+      const width = window.innerWidth || document.documentElement.clientWidth;
+      // 当前的高
+      const height =
+        window.innerHeight || document.documentElement.clientHeight;
+      this.iframeWidth = width;
+      this.iframeHeight = height;
+    },
+    /**
+     * 监听页面重载
+     */
+    onResize() {
+      var clientHeight =
+        document.documentElement.clientHeight || document.body.clientHeight;
+      window.onresize = () => {
+        // 页面resize
+        clearTimeout(this.resizeTimer);
+        this.resizeTimer = setTimeout(() => {
+          this.h5ScreenOrientation();
+        }, 1000);
+
+        // 页面调起输入框
+        var nowClientHeight =
+          document.documentElement.clientHeight || document.body.clientHeight;
+
+        if (clientHeight > nowClientHeight) {
+          // 键盘打开
+          clearTimeout(this.resizeTimer);
+          this.h5ScreenOrientation();
+          document.getElementById("app").classList.add("focusState");
+        } else {
+          //键盘收起的事件处理
+          document.getElementById("app").classList.remove("focusState");
+          this.h5ScreenOrientation();
+        }
+      };
+    },
+  },
+};
+</script>
+
+<style lang='less' scoped>
+.menu_service {
+  display: flex;
+
+  i {
+    float: right;
+    font-size: 60 / @rem;
+    position: absolute;
+    top: 20 / @rem;
+    right: 20 / @rem;
+    border-radius: 50%;
+    background-color: #f1f3f4;
+  }
+
+  .icon-baseline-close-px {
+    margin-right: 10 / @rem;
+    font-size: 50 / @rem;
+  }
+}
+
+// 正常横屏样式
+@media all and (orientation: landscape),
+  /** 伪竖屏*/all and (orientation: portrait) and (min-width: 600px) and (min-height: 800px) {
+  .menu_service {
+    .icon-baseline-close-px {
+      margin-top: 10 / @rem;
+      margin-right: 5 / @rem;
+      font-size: 25 / @rem;
+    }
+  }
+}
+
+// ipad 横屏
+@media /** 伪竖屏*/all and (orientation: portrait) and (min-width: 600px) and (min-height: 800px),
+  /**ipad伪横屏 */ all and (orientation: landscape) and (min-width: 800px) and (min-height: 600px),
+  all and (min-device-aspect-ratio: 3/4) and (max-device-aspect-ratio: 4/3),
+  all and (device-aspect-ratio: 4/3) {
+}
+</style>

+ 199 - 0
src/components/Menu/MenuWxGzh.vue

@@ -0,0 +1,199 @@
+<template>
+  <div class="menu_wx_gzh">
+    <i class="iconfont icon-back" @click="back"></i>
+    <div class="title">{{ title }}</div>
+    <div v-if="CONFIG.wechatInfo" class="close_win_content">
+      <div @click="copy" class="close_win_copy">
+        公众号:{{ CONFIG.wechatInfo.wechatName }}
+        <span ref="copyBtn" :data-clipboard-text="CONFIG.wechatInfo.wechatName"
+          >(点击复制)</span
+        >
+      </div>
+      <div class="close_win_hint">
+        <span>搜索关注公众号</span>
+        <span>无需下载即可登录游戏</span>
+      </div>
+      <div class="close_win_qr_code">
+        <img :src="CONFIG.wechatInfo.wechatImg" />
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import { mapState, mapActions } from "vuex";
+import Clipboard from "clipboard";
+export default {
+  name: "MenuWxGzh",
+  components: {},
+  data() {
+    return {
+      title: "关注公众号领福利",
+    };
+  },
+  computed: {
+    ...mapState(["CONFIG"]),
+  },
+  watch: {},
+  created() {},
+  mounted() {},
+  methods: {
+
+    // 返回
+    back() {
+      this.showInnerControl("");
+    },
+
+    // 显示哪个组件(工具函数)
+    showInnerControl(name) {
+      this.$emit("showInnerControl", name);
+    },
+
+    /**
+     * 复制公众号
+     */
+    copy() {
+      let copyBtn = this.$refs.copyBtn;
+      var clipboard = new Clipboard(copyBtn);
+      clipboard.on("success", () => {
+        this.$toast.text("已复制");
+      });
+    },
+  },
+};
+</script>
+
+<style lang='less' scoped>
+.menu_wx_gzh {
+  width: 100%;
+  height: 550 / @rem;
+  margin-top: -550 / @rem;
+  position: absolute;
+  top: 100%;
+  padding: 20 / @rem;
+  border-radius: 30 / @rem 30 / @rem 0 0;
+  box-sizing: border-box;
+  background-color: #fff;
+
+  .title {
+    height: 60 / @rem;
+    line-height: 60 / @rem;
+    margin-top: 10 / @rem;
+    margin-left: 10 / @rem;
+    padding-left: 20 / @rem;
+    font-size: 36 / @rem;
+    font-weight: bold;
+    border-left: 4px solid #3faeed;
+    text-align: left;
+  }
+
+  i {
+    float: right;
+    font-size: 60 / @rem;
+  }
+
+  .close_win_content {
+    margin-top: 20 / @rem;
+    border-top: 1px solid #e6e6e6;
+    flex: 1;
+  }
+  .close_win_copy {
+    height: 70 / @rem;
+    line-height: 70 / @rem;
+    color: #ff0000;
+    text-align: center;
+  }
+  .close_win_copy span {
+    height: 70 / @rem;
+    line-height: 70 / @rem;
+    padding-left: 20 / @rem;
+    color: #ff0000;
+  }
+  .close_win_hint span {
+    color: #333;
+  }
+  .close_win_qr_code img {
+    width: 310 / @rem;
+  }
+}
+
+// 正常横屏样式
+@media all and (orientation: landscape),
+  /** 伪竖屏*/all and (orientation: portrait) and (min-width: 600px) and (min-height: 800px) {
+  .menu_wx_gzh {
+    width: 45%;
+    height: 250 / @rem;
+    left: 0;
+    top: 50%;
+    margin-top: -125 / @rem;
+    padding: 0 10 / @rem;
+    border-radius: 0 20 / @rem 20 / @rem 0;
+
+    .icon-back {
+      margin-top: 10 / @rem;
+      margin-right: 5 / @rem;
+      font-size: 25 / @rem;
+    }
+
+    .close_win_content {
+      margin-top: 10 / @rem;
+    }
+
+    .title {
+      height: 30 / @rem;
+      line-height: 30 / @rem;
+      margin-top: 15 / @rem;
+      margin-left: 5 / @rem;
+      padding-left: 10 / @rem;
+      font-size: 18 / @rem;
+    }
+
+    .close_win_copy {
+      height: 35 / @rem;
+      line-height: 35 / @rem;
+    }
+    .close_win_copy span {
+      height: 35 / @rem;
+      line-height: 35 / @rem;
+      padding-left: 10 / @rem;
+    }
+    .close_win_qr_code img {
+      width: 135 / @rem;
+    }
+  }
+}
+
+// ipad 横屏
+@media /** 伪竖屏*/all and (orientation: portrait) and (min-width: 600px) and (min-height: 800px),
+  /**ipad伪横屏 */ all and (orientation: landscape) and (min-width: 800px) and (min-height: 600px),
+  all and (min-device-aspect-ratio: 3/4) and (max-device-aspect-ratio: 4/3),
+  all and (device-aspect-ratio: 4/3) {
+  .menu_wx_gzh {
+    width: 350 / @rem;
+    height: 260 / @rem;
+    left: 50%;
+    top: 50%;
+    margin-top: -125 / @rem;
+    margin-left: -175 / @rem;
+    padding: 0 10 / @rem;
+    border-radius: 20 / @rem;
+    overflow-y: auto;
+
+    .close_win_content {
+      margin-top: 10 / @rem;
+    }
+    .close_win_copy {
+      height: 35 / @rem;
+      line-height: 35 / @rem;
+    }
+    .close_win_copy span {
+      height: 35 / @rem;
+      line-height: 35 / @rem;
+      padding-left: 10 / @rem;
+    }
+    .close_win_qr_code img {
+      width: 135 / @rem;
+    }
+  }
+}
+</style>

+ 395 - 0
src/components/UDB/BindPhone.vue

@@ -0,0 +1,395 @@
+<template>
+  <div class="bind_phone">
+    <i class="iconfont icon-back" @click="back"></i>
+    <div class="title">{{ bindMobileTitle }}</div>
+    <!-- 绑定手机号 -->
+    <div class="bind_box">
+      <div class="phone_code_tel">
+        <input
+          class="phone_code_input_username"
+          type="tel"
+          maxlength="11"
+          :placeholder="mobile ? '当前绑定:' + mobile : '请输入手机号'"
+          oninput="value=value.replace(/[^\d]/g,'')"
+          v-model="phoneNumber"
+        />
+      </div>
+      <!-- 验证码 -->
+      <div class="phone_code_captcha">
+        <input
+          class="phone_code_input_captcha"
+          placeholder="请输入验证码"
+          v-model="captcha"
+          maxlength="4"
+        />
+        <div
+          class="bind_send"
+          :class="{ gray: canVerif }"
+          @click="sendPhoneNumber"
+        >
+          {{ verifText }}
+        </div>
+      </div>
+      <div v-if="canBind" class="bind_btn" @click="onBind">
+        {{ bindMobileTitle }}
+      </div>
+      <div v-else class="bind_btn gray">{{ bindMobileTitle }}</div>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "BindPhone",
+  components: {},
+  inject: ["checkCode", "getUserInfo"],
+  data() {
+    return {
+      phoneNumber: "", // 手机号
+      captcha: "", // 验证码
+      verifText: "获取验证码", // 获取验证码按钮文本
+      canVerif: false, // 获取验证码按钮是否可以点击
+      countDownTimer: null, // 验证码倒计时
+      bindMobileTitle: "绑定手机号", // 绑定手机号
+      canSms: true, // 是否可以请求验证码接口
+      canBind: true, // 是否可以点击绑定按钮
+    };
+  },
+  computed: {
+    mobile() {
+      return this.$store.state.userInfo.mobile;
+    },
+  },
+  watch: {
+    mobile(newValue) {
+      this.init();
+    },
+  },
+  created() {},
+  mounted() {
+    this.init();
+  },
+  destroyed() {
+    clearInterval(this.countDownTimer);
+  },
+  methods: {
+    // 初始化信息
+    init() {
+      const { mobile } = this;
+      this.bindMobileTitle = mobile ? "更换手机号" : "绑定手机号";
+    },
+
+    // 返回
+    back() {
+      this.showInnerControl("account");
+    },
+
+    // 显示哪个组件(工具函数)
+    showInnerControl(name) {
+      this.$emit("showInnerControl", name);
+    },
+
+    // 获取验证码
+    sendPhoneNumber() {
+      if (!this.canSms) {
+        return;
+      }
+      const { phoneNumber } = this;
+      // 1. 验证手机号格式
+      this.canVerif = this.$utils.checkVerification(phoneNumber);
+      if (!this.canVerif) {
+        this.$toast.text("手机号格式不正确");
+        return;
+      }
+      // 2. 验证码倒计时
+      this.countDown();
+
+      //3. 验证码
+      this.getSmsCode();
+    },
+
+    // 倒计时
+    countDown() {
+      this.canSms = false;
+      let count = 60;
+      this.verifText = count + "s";
+      this.countDownTimer = setInterval(() => {
+        count--;
+        this.verifText = count + "s";
+        // 倒计时结束
+        if (count === 0) {
+          this.canVerif = false;
+          this.verifText = "获取验证码";
+          this.canSms = true;
+          clearInterval(this.countDownTimer);
+        }
+      }, 1000);
+    },
+
+    // 获取验证码
+    getSmsCode() {
+      // 3. 请求接口 发送验证码
+      const { phoneNumber } = this;
+      this.$api
+        .sendSms({
+          mobile: phoneNumber,
+          reason: "bindMobile",
+        })
+        .then((res) => {
+          this.checkCode(res);
+          const { code, data, msg } = res.data;
+          // 错误
+          if (code) {
+            return;
+          }
+        });
+    },
+
+    //  绑定手机号
+    onBind() {
+      const { phoneNumber, captcha } = this;
+      const canVerif = this.$utils.checkVerification(phoneNumber);
+      if (!canVerif) {
+        this.$toast.text("手机号格式不正确");
+        return;
+      }
+      if (!captcha) {
+        this.$toast.text("验证码不能为空");
+        return;
+      }
+
+      if (!this.canBind) {
+        return;
+      }
+      this.canBind = false;
+      // 绑定手机号接口
+      this.$api
+        .bindMobile({
+          mobile: phoneNumber,
+          smsCode: captcha,
+        })
+        .then((res) => {
+          this.canBind = true;
+          this.checkCode(res);
+
+          const { code, msg } = res.data;
+          // 错误
+          if (code) {
+            return;
+          }
+          // 成功 关闭当前 返回账号页面 刷新userInfo
+          this.back();
+          this.$toast.text("绑定成功");
+          this.getUserInfo();
+        });
+    },
+  },
+};
+</script>
+
+<style lang='less' scoped>
+// 正常竖屏
+.bind_phone {
+  width: 100%;
+  height: 500 / @rem;
+  margin-top: -500 / @rem;
+  position: absolute;
+  top: 100%;
+  padding: 20 / @rem;
+  border-radius: 30 / @rem 30 / @rem 0 0;
+  box-sizing: border-box;
+  background-color: #fff;
+
+  i {
+    float: right;
+    font-size: 60 / @rem;
+  }
+
+  .icon-back {
+    margin-right: 10 / @rem;
+    font-size: 50 / @rem;
+  }
+
+  .title {
+    height: 60 / @rem;
+    line-height: 60 / @rem;
+    margin-top: 10 / @rem;
+    margin-left: 10 / @rem;
+    padding-left: 20 / @rem;
+    font-size: 36 / @rem;
+    font-weight: bold;
+    border-left: 4px solid #3faeed;
+    text-align: left;
+  }
+
+  .bind_box {
+    margin-top: 40 / @rem;
+    padding-top: 20 / @rem;
+    border-top: 1px solid #e6e6e6;
+
+    .phone_code_tel,
+    .phone_code_captcha {
+      width: 100%;
+      height: 70 / @rem;
+      position: relative;
+      margin-top: 40 / @rem;
+    }
+    .phone_code_tel {
+      margin-top: 20 / @rem;
+    }
+
+    .phone_code_input_username,
+    .phone_code_input_captcha {
+      width: 100%;
+      height: 80 / @rem;
+      padding-left: 20 / @rem;
+      float: left;
+      font-size: 32 / @rem;
+      border: 1 / @rem solid #d6d6d6;
+      box-sizing: border-box;
+    }
+
+    .phone_code_input_captcha {
+      width: 60%;
+    }
+
+    input::-webkit-input-placeholder {
+      color: #888;
+    }
+
+    .bind_send {
+      width: 30%;
+      height: 75 / @rem;
+      line-height: 70 / @rem;
+      float: right;
+      color: #ffffff;
+      font-size: 32 / @rem;
+      border-radius: 10 / @rem;
+      background-color: #3faeed;
+    }
+
+    .gray {
+      background-color: #888;
+    }
+    .bind_btn {
+      width: 60%;
+      margin: 40 / @rem auto 0;
+      height: 70 / @rem;
+      line-height: 70 / @rem;
+      border-radius: 10 / @rem;
+      background-color: #3faeed;
+      color: #fff;
+      font-size: 32 / @rem;
+    }
+  }
+}
+
+// 正常横屏样式
+@media all and (orientation: landscape),
+  /** 伪竖屏*/all and (orientation: portrait) and (min-width: 600px) and (min-height: 800px) {
+  .bind_phone {
+    width: 45%;
+    height: 250 / @rem;
+    left: 0;
+    top: 50%;
+    margin-top: -125 / @rem;
+    padding: 0 10 / @rem;
+    border-radius: 0 20 / @rem 20 / @rem 0;
+
+    .icon-back {
+      margin-top: 10 / @rem;
+      margin-right: 5 / @rem;
+      font-size: 25 / @rem;
+    }
+
+    .title {
+      height: 30 / @rem;
+      line-height: 30 / @rem;
+      margin-top: 15 / @rem;
+      margin-left: 5 / @rem;
+      padding-left: 10 / @rem;
+      font-size: 18 / @rem;
+    }
+
+    .bind_box {
+      margin-top: 20 / @rem;
+      padding-top: 10 / @rem;
+
+      .phone_code_tel,
+      .phone_code_captcha {
+        height: 35 / @rem;
+        margin-top: 20 / @rem;
+      }
+      .phone_code_tel {
+        margin-top: 10 / @rem;
+      }
+
+      .phone_code_input_username,
+      .phone_code_input_captcha {
+        height: 40 / @rem;
+        padding-left: 10 / @rem;
+        font-size: 16 / @rem;
+      }
+
+      .bind_send {
+        height: 35 / @rem;
+        line-height: 35 / @rem;
+        font-size: 16 / @rem;
+        border-radius: 5 / @rem;
+      }
+
+      .bind_btn {
+        margin: 20 / @rem auto 0;
+        height: 35 / @rem;
+        line-height: 35 / @rem;
+        border-radius: 5 / @rem;
+        font-size: 16 / @rem;
+      }
+    }
+  }
+}
+
+// ipad 横屏
+@media /** 伪竖屏*/all and (orientation: portrait) and (min-width: 600px) and (min-height: 800px),
+  /**ipad伪横屏 */ all and (orientation: landscape) and (min-width: 800px) and (min-height: 600px),
+  all and (min-device-aspect-ratio: 3/4) and (max-device-aspect-ratio: 4/3),
+  all and (device-aspect-ratio: 4/3) {
+  .bind_phone {
+    width: 350 / @rem;
+    height: 250 / @rem;
+    left: 50%;
+    top: 50%;
+    margin-top: -125 / @rem;
+    margin-left: -175 / @rem;
+    padding: 0 10 / @rem;
+    border-radius: 20 / @rem;
+
+    i {
+      font-size: 20 / @rem;
+    }
+
+    .title {
+      font-size: 18 / @rem;
+    }
+
+    .bind_box {
+      .phone_code_input_username,
+      .phone_code_input_captcha {
+        font-size: 16 / @rem;
+      }
+
+      .bind_send {
+        font-size: 16 / @rem;
+      }
+
+      .bind_btn {
+        font-size: 16 / @rem;
+      }
+    }
+  }
+}
+
+// ipad 竖屏
+@media /** 伪竖屏*/all and (orientation: portrait) and (min-width: 600px) and (min-height: 800px) {
+}
+</style>

+ 276 - 0
src/components/UDB/ChangePwd.vue

@@ -0,0 +1,276 @@
+<template>
+  <div class="change_pwd">
+    <i class="iconfont icon-back" @click="back"></i>
+    <div class="title">修改密码</div>
+    <!-- 修改密码内容 -->
+    <div class="change_input" @keyup.enter="onChangePwd">
+      <div class="change_username">
+        <input
+          class="change_input_username"
+          type="password"
+          placeholder="请输入原密码"
+          oninput="value=value.replace(/[^\w\/]/ig,'');"
+          v-model="currentPwd"
+        />
+      </div>
+      <div class="change_password">
+        <input
+          class="change_input_password"
+          type="password"
+          maxlength="20"
+          oninput="value=value.replace(/[\u4E00-\u9FA5]|[\uFE30-\uFFA0]|\s+|[^\w\u4e00-\u9fa5\/\-]|[/|]/ig,'');"
+          placeholder="输入新密码"
+          v-model="newPwd"
+        />
+      </div>
+      <div class="change_password_agin">
+        <input
+          class="change_input_password_agin"
+          type="password"
+          maxlength="20"
+          oninput="value=value.replace(/[\u4E00-\u9FA5]|[\uFE30-\uFFA0]|\s+|[^\w\u4e00-\u9fa5\/\-]|[/|]/ig,'');"
+          placeholder="再次输入新密码"
+          v-model="newPwdAgin"
+        />
+      </div>
+    </div>
+    <div v-if="canChange" class="change_btn" @click="onChangePwd">修改密码</div>
+    <div v-else class="change_btn gray">修改中</div>
+  </div>
+</template>
+
+<script>
+import { mapActions } from "vuex";
+export default {
+  name: "ChangePwd",
+  components: {},
+  inject: ["checkCode", "routeLink"],
+  data() {
+    return {
+      currentPwd: "", // 原密码
+      newPwd: "", // 新密码
+      newPwdAgin: "", // 确认密码
+      canChange: true, // 可以修改密码
+    };
+  },
+  computed: {},
+  watch: {},
+  created() {},
+  mounted() {},
+  methods: {
+    ...mapActions(["userInfoAction"]),
+    // 返回
+    back() {
+      this.showInnerControl("account");
+    },
+
+    // 显示哪个组件(工具函数)
+    showInnerControl(name) {
+      this.$emit("showInnerControl", name);
+    },
+
+    // 修改密码
+    onChangePwd() {
+      const { currentPwd, newPwd, newPwdAgin } = this;
+      if (!currentPwd) {
+        this.$toast.text("原密码不能为空");
+        return;
+      }
+      if (!newPwd) {
+        this.$toast.text("新密码不能为空");
+        return;
+      }
+      if (newPwdAgin !== newPwd) {
+        this.$toast.text("两次密码不一致");
+        return;
+      }
+      // 修改密码接口
+      if (!this.canChange) {
+        return;
+      }
+      this.canChange = false;
+
+      this.$api
+        .changePwd({
+          password: currentPwd,
+          newPwd,
+        })
+        .then((res) => {
+          this.checkCode(res);
+          this.canChange = true;
+          const { code } = res.data;
+          // 错误
+          if (code) {
+            return;
+          }
+          // 成功
+          this.$toast.text("修改密码成功, 请重新登录");
+          localStorage.removeItem("userInfo");
+          this.showInnerControl("");
+          this.routeLink("Login");
+        });
+    },
+  },
+};
+</script>
+
+<style lang='less' scoped>
+.change_pwd {
+  width: 100%;
+  height: 580 / @rem;
+  margin-top: -580 / @rem;
+  position: absolute;
+  top: 100%;
+  padding: 20 / @rem;
+  border-radius: 30 / @rem 30 / @rem 0 0;
+  box-sizing: border-box;
+  background-color: #fff;
+
+  i {
+    float: right;
+    font-size: 60 / @rem;
+  }
+
+  .icon-back {
+    margin-right: 10 / @rem;
+    font-size: 50 / @rem;
+  }
+
+  .title {
+    height: 60 / @rem;
+    line-height: 60 / @rem;
+    margin-top: 10 / @rem;
+    margin-left: 10 / @rem;
+    padding-left: 20 / @rem;
+    font-size: 36 / @rem;
+    font-weight: bold;
+    border-left: 4px solid #3faeed;
+    text-align: left;
+  }
+
+  .change_input {
+    width: 100%;
+    margin-top: 40 / @rem;
+    padding-top: 10 / @rem;
+    border-top: 1px solid #e6e6e6;
+
+    .change_username,
+    .change_password,
+    .change_password_agin {
+      width: 100%;
+      height: 80 / @rem;
+      position: relative;
+      margin-top: 25 / @rem;
+    }
+
+    .change_username {
+      margin-top: 25 / @rem;
+    }
+
+    .change_input_username,
+    .change_input_password,
+    .change_input_password_agin {
+      width: 100%;
+      height: 80 / @rem;
+      padding-left: 20 / @rem;
+      font-size: 32 / @rem;
+      box-sizing: border-box;
+      border: 1 / @rem solid #d6d6d6;
+    }
+
+    input::-webkit-input-placeholder {
+      color: #888;
+    }
+  }
+  .change_btn {
+    width: 60%;
+    margin: 25 / @rem auto 0;
+    height: 70 / @rem;
+    line-height: 70 / @rem;
+    border-radius: 10 / @rem;
+    background-color: #3faeed;
+    color: #fff;
+    font-size: 32 / @rem;
+  }
+}
+
+// 正常横屏样式
+@media all and (orientation: landscape),
+  /** 伪竖屏*/all and (orientation: portrait) and (min-width: 600px) and (min-height: 800px) {
+  .change_pwd {
+    width: 45%;
+    height: 250 / @rem;
+    left: 0;
+    top: 50%;
+    margin-top: -125 / @rem;
+    padding: 0 10 / @rem;
+    border-radius: 0 20 / @rem 20 / @rem 0;
+
+    .icon-back {
+      margin-top: 10 / @rem;
+      margin-right: 5 / @rem;
+      font-size: 25 / @rem;
+    }
+
+    .title {
+      height: 30 / @rem;
+      line-height: 30 / @rem;
+      margin-top: 15 / @rem;
+      margin-left: 5 / @rem;
+      padding-left: 10 / @rem;
+      font-size: 18 / @rem;
+    }
+
+    .change_input {
+      margin-top: 10 / @rem;
+      padding-top: 5 / @rem;
+
+      .change_username,
+      .change_password,
+      .change_password_agin {
+        height: 35 / @rem;
+        margin-top: 10 / @rem;
+      }
+
+      .change_username {
+        margin-top: 8 / @rem;
+      }
+
+      .change_input_username,
+      .change_input_password,
+      .change_input_password_agin {
+        height: 35 / @rem;
+        padding-left: 10 / @rem;
+        font-size: 16 / @rem;
+      }
+    }
+    .change_btn {
+      margin: 12.5 / @rem auto 0;
+      height: 35 / @rem;
+      line-height: 35 / @rem;
+      border-radius: 5 / @rem;
+      font-size: 16 / @rem;
+    }
+  }
+}
+// ipad 横屏
+@media /** 伪竖屏*/all and (orientation: portrait) and (min-width: 600px) and (min-height: 800px),
+  /**ipad伪横屏 */ all and (orientation: landscape) and (min-width: 800px) and (min-height: 600px),
+  all and (min-device-aspect-ratio: 3/4) and (max-device-aspect-ratio: 4/3),
+  all and (device-aspect-ratio: 4/3) {
+  .change_pwd {
+    width: 350 / @rem;
+    height: 250 / @rem;
+    left: 50%;
+    top: 50%;
+    margin-top: -125 / @rem;
+    margin-left: -175 / @rem;
+    padding: 0 10 / @rem;
+    border-radius: 20 / @rem;
+  }
+}
+
+// ipad 竖屏
+@media /** 伪竖屏*/all and (orientation: portrait) and (min-width: 600px) and (min-height: 800px) {
+}
+</style>

+ 111 - 0
src/components/UDB/UdbBox.vue

@@ -0,0 +1,111 @@
+<template>
+  <div class="udb_box">
+    <div class="bg"></div>
+    <div class="udb">
+      <!-- 手机号密码注册 -->
+      <RegPhonePwd v-if="showReg" @onLogin="onLogin" />
+      <!-- 账号/手机号密码登录 -->
+      <Login
+        v-if="showLogin"
+        @onVisitor="onVisitor"
+        @onReg="onReg"
+        @onForget="onForget"
+      />
+      <!-- 忘记密码 -->
+      <Forget v-if="showForget" @onLoginForget="onLoginForget" />
+      <!-- 快速登录 -->
+      <VisitorLogin v-if="showVisitorLogin" :visitorInfo="visitorInfo" />
+    </div>
+  </div>
+</template>
+
+<script>
+import RegPhonePwd from "@/components/UDB/RegPhonePwd"; // 手机号密码注册
+import Login from "@/components/UDB/Login"; // 账号/手机号密码登录
+import Forget from "@/components/UDB/Forget"; // 忘记密码
+import VisitorLogin from "@/components/UDB/VisitorLogin"; // 快速登录
+import { mapState } from "vuex";
+export default {
+  name: "UdbBox",
+  components: {
+    RegPhonePwd,
+    Login,
+    Forget,
+    VisitorLogin,
+  },
+  data() {
+    return {
+      showReg: false, // 展示注册
+      showLogin: false, // 展示登录
+      showForget: false, // 展示忘记密码
+      showVisitorLogin: false, // 展示快速登录账密
+      closeVisitor: null, // 快速登录弹窗关闭延时器
+      visitorInfo: "", // 快速登录组件需要的信息
+    };
+  },
+  computed: {
+    ...mapState(["isLogin"]),
+  },
+  watch: {},
+  created() {},
+  mounted() {
+    this.showLogin = !this.isLogin;
+  },
+  beforeDestroy() {
+    clearTimeout(this.closeVisitor);
+  },
+  methods: {
+    // 展示登录
+    onLogin() {
+      this.showReg = false;
+      this.showLogin = true;
+    },
+
+    // 快速登录账密
+    onVisitor(visitorInfo) {
+      this.showVisitorLogin = true;
+      this.showLogin = false;
+      this.visitorInfo = visitorInfo;
+    },
+
+    // 注册
+    onReg() {
+      this.showReg = true;
+      this.showLogin = false;
+    },
+
+    // 忘记密码
+    onForget() {
+      this.showForget = true;
+      this.showLogin = false;
+    },
+
+    // 返回登录
+    onLoginForget() {
+      this.showForget = false;
+      this.showLogin = true;
+    },
+  },
+};
+</script>
+
+<style lang='less' scoped>
+.udb_box {
+  position: absolute;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  z-index: 3;
+  background-color: rgba(0, 0, 0, 0.6);
+}
+@media screen and (orientation: landscape),
+  /**竖屏 */ all and (orientation: portrait) and (min-width: 600px) and (min-height: 800px),
+  /**ipad */ all and (min-device-aspect-ratio: 3/4) and (max-device-aspect-ratio: 4/3),
+  all and (device-aspect-ratio: 4/3) {
+  .udb_box {
+    min-height: 270 / @rem;
+    overflow-y: auto;
+  }
+}
+</style>

+ 34 - 0
src/config.js

@@ -0,0 +1,34 @@
+import wechatImg from "./assets/image/jh.jpg"; // 公众号二维码
+import logoIcon from "./assets/image/logoIcon.png"; // logo icon
+import floatImg from "./assets/image/floatImg.png"; //  悬浮缩略图
+import icon from "./assets/image/rxzr.png"; // 图标
+/* 所有配置 */
+const CONFIG = {
+    // 热血之刃
+    name: "热血之刃", // 名字
+    icon: icon, //   图标
+    appid: 3, // 热血之刃 appid
+    // 公众号信息
+    wechatInfo: {
+        wechatName: '惊鸿游戏', // 公众号名
+        wechatImg: wechatImg, // 公众号二维码
+    },
+    // 图片配置信息
+    imgInfo: {
+        // 悬浮球
+        logoIcon: logoIcon, // 被拖动的图
+        logoIconRed: "", //   被拖动的图 红点图
+        floatImg: floatImg, //   缩略图 左
+        floatImgRed: "", //   缩略图 左 红点
+    },
+    isRealName: true, // 实名认证版本
+    loginTitle: "jh", // 快速登录随机账号开头
+    visitorPrompt: "温馨提示: 快速登录未绑定手机号无法找回密码, <br /> 请进入游戏后尽快绑定! ", // 快速登录账密截图提示
+    kfQQ: 3563681140, // 客服qq
+    serviceUrl: "//kf.jhfly.cn/chatIndex?kefu_id=kefu2&refer=", // 惊鸿客服url
+    storeUrl: "//h5.jhfly.cn/rxzr/activities/dazhuanpan", // 积分商城链接
+}
+
+
+/* 配置信息 */
+export default CONFIG;

+ 31 - 0
src/main.js

@@ -0,0 +1,31 @@
+// The Vue build version to load with the `import` command
+// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
+import Vue from "vue";
+import App from "./App";
+import router from "./router";
+import store from "./store/index";
+import "./assets/css/common.css";
+import api from "./api/index";
+import "./plugins/flexible";
+import utils from "@/utils/utils";
+import "./plugins/nutui";
+import "./assets/font/iconfont.css";
+import Clipboard from "clipboard";
+import CONFIG from "./config"
+
+Vue.prototype.$utils = utils;
+Vue.prototype.$CONFIG = CONFIG;
+Vue.prototype.$api = api;
+Vue.prototype.$clipboard = Clipboard
+Vue.config.productionTip = false;
+
+/* eslint-disable no-new */
+new Vue({
+    el: "#app",
+    router,
+    store,
+    components: {
+        App
+    },
+    template: "<App/>"
+});

+ 87 - 0
src/plugins/flexible.js

@@ -0,0 +1,87 @@
+(function flexible(window, document) {
+    var docEl = document.documentElement
+    var dpr = window.devicePixelRatio || 1
+
+    // adjust body font size
+    function setBodyFontSize() {
+        if (document.body) {
+            document.body.style.fontSize = (12 * dpr) + 'px'
+        } else {
+            document.addEventListener('DOMContentLoaded', setBodyFontSize)
+        }
+    }
+    // setBodyFontSize();
+
+    // set 1rem = viewWidth / 10
+    function setRemUnit() {
+        var width = docEl.clientWidth;
+        /*if (width / dpr > 540) {
+          width = 540 * dpr;
+        }*/
+        var rem = width / 10;
+
+        const isPc = IsPC()
+        if (isPc) {
+            rem = 100
+        }
+        docEl.style.fontSize = rem + 'px';
+    }
+
+    setRemUnit()
+
+    // reset rem unit on page resize
+    window.addEventListener('resize', setRemUnit)
+    window.addEventListener('pageshow', function(e) {
+        if (e.persisted) {
+            setRemUnit()
+        }
+    })
+
+    // detect 0.5px supports
+    if (dpr >= 2) {
+        var fakeBody = document.createElement('body')
+        var testElement = document.createElement('div')
+        testElement.style.border = '.5px solid transparent'
+        fakeBody.appendChild(testElement)
+        docEl.appendChild(fakeBody)
+        if (testElement.offsetHeight === 1) {
+            docEl.classList.add('hairlines')
+        }
+        docEl.removeChild(fakeBody)
+    }
+
+    // 超大屏手机适配
+    if (typeof WeixinJSBridge == "object" && typeof WeixinJSBridge.invoke == "function") {
+        handleFontSize();
+    } else {
+        if (document.addEventListener) {
+            document.addEventListener("WeixinJSBridgeReady", handleFontSize, false);
+        } else if (document.attachEvent) {
+            //IE浏览器,非W3C规范
+            document.attachEvent("onWeixinJSBridgeReady", handleFontSize);
+        }
+    }
+
+    function handleFontSize() {
+        // 设置网页字体为默认大小
+        WeixinJSBridge.invoke('setFontSizeCallback', {
+            'fontSize': 0
+        });
+        // 重写设置网页字体大小的事件
+        WeixinJSBridge.on('menu:setfont', function() {
+            WeixinJSBridge.invoke('setFontSizeCallback', {
+                'fontSize': 0
+            });
+        });
+    }
+
+    function IsPC() {
+        if (!navigator.userAgent.match(/AppleWebKit.*Mobile.*/)) {
+            //跳转至pc端
+            return true
+        }
+        return false
+    }
+
+
+}(window, document))

+ 7 - 0
src/plugins/nutui.js

@@ -0,0 +1,7 @@
+import Vue from 'vue'
+
+import {
+    Toast
+} from '@nutui/nutui';
+
+Toast.install(Vue);

+ 83 - 0
src/router/index.js

@@ -0,0 +1,83 @@
+import Vue from 'vue'
+import Router from 'vue-router'
+
+Vue.use(Router)
+const router = new Router({
+    routes: [
+        // 首页(innerBox)
+        {
+            path: '/',
+            name: 'Home',
+            component: () =>
+                import ('../views/Home/Home'),
+            // meta: {
+            //     isLogin: true
+            // }
+        },
+        // 登录
+        {
+            path: '/login',
+            name: 'Login',
+            component: () =>
+                import ("@/views/Login/LoginBox")
+        },
+        // 注册
+        {
+            path: '/reg',
+            name: 'Reg',
+            component: () =>
+                import ("@/views/Reg/Reg")
+        },
+        // 忘记密码
+        {
+            path: '/forget',
+            name: 'Forget',
+            component: () =>
+                import ("@/views/Forget/Forget")
+        },
+        // 快速登录账号密码
+        {
+            path: '/visitor',
+            name: 'Visitor',
+            component: () =>
+                import ("@/views/Visitor/Visitor"),
+            // meta: {
+            //     isLogin: true
+            // }
+        },
+        // 游戏内充值
+        {
+            path: '/gamepay',
+            name: 'GamePay',
+            component: () =>
+                import ("@/views/GamePay/GamePay"),
+            // meta: {
+            //     isLogin: true
+            // }
+        },
+        // 收银台
+        {
+            path: '/counter',
+            name: 'Counter',
+            component: () =>
+                import ("@/views/Counter/CounterBox"),
+            // meta: {
+            //     isLogin: true
+            // }
+        }
+    ]
+});
+// 全局前置守卫
+router.beforeEach((to, from, next) => {
+    const isLogin = localStorage.getItem("userInfo");
+    if (to.matched.some(item => item.meta.isLogin)) {
+        if (isLogin) {
+            next();
+            return;
+        }
+        next('/login')
+    } else {
+        next();
+    }
+});
+export default router;

+ 110 - 0
src/store/index.js

@@ -0,0 +1,110 @@
+import Vue from 'vue'
+import 'es6-promise'
+import Vuex from 'vuex'
+Vue.use(Vuex)
+export default new Vuex.Store({
+    state: {
+        CONFIG: {}, // 配置
+        userInfo: {}, // 用户信息
+        finance: 0, // 鸿币余额
+        query: {}, // 路由携带参数 pay: game 游戏充值  hb 鸿币充值
+        payArg: {}, // 支付传递的参数
+        isShowExitGame: false, // 是否显示退出游戏
+        /**
+         * gamepay页面
+         * 显示哪个菜单内容
+         * 游戏内充值: "" 鸿币充值优惠明细: hbDetailGamePay
+         * 鸿币充值: hbGamePay  鸿币支付确认: hbConfirm
+         * 
+         */
+        showGameInner: "",
+    },
+    getters: {
+        // 获取当前支付平台的中文名
+        getPayPlatform: function(state) {
+            const { query } = state
+            let pay_platform;
+            switch (query.pay_platform) {
+                case "HB":
+                    pay_platform = "鸿币"
+                    break;
+                case "WECHATPAY":
+                    pay_platform = "微信"
+                    break;
+                case "ALIPAY":
+                    pay_platform = "支付宝"
+                    break;
+            }
+            return pay_platform;
+        }
+    },
+    // 异步操作
+    actions: {
+        // 页面配置
+        setConfigAction(context, payload) {
+            context.commit('setConfigMutation', payload)
+        },
+        // 用户信息
+        userInfoAction(context, payload) {
+            context.commit("userInfoMutation", payload)
+        },
+        // 鸿币余额
+        financeAction(context, payload) {
+            context.commit("financeMutation", payload)
+        },
+        // 路由携带参数
+        queryAction(context, payload) {
+            context.commit("queryMutation", payload)
+        },
+        // 支付传递过来的参数
+        payArgAction(context, payload) {
+            context.commit("payArgMutation", payload)
+        },
+        // 是否显示退出游戏
+        isShowExitGameAction(context, payload) {
+            context.commit("isShowExitGameMutation", payload)
+        },
+        // appid
+        appidAction(context, payload) {
+            context.commit("appidMutation", payload)
+        },
+        // 显示的菜单内容
+        showGameInnerAction(context, payload) {
+            context.commit("showGameInnerMutation", payload)
+        },
+    },
+    mutations: {
+        // 页面配置
+        setConfigMutation(state, payload) {
+            state.CONFIG = payload
+        },
+        // 用户信息
+        userInfoMutation(state, payload) {
+            state.userInfo = payload
+        },
+        // 鸿币余额
+        financeMutation(state, payload) {
+            state.finance = payload
+        },
+        // 路由携带参数
+        queryMutation(state, payload) {
+            state.query = payload
+        },
+        // 支付传递过来的参数
+        payArgMutation(state, payload) {
+            state.payArg = payload
+        },
+        // 是否展示退出游戏
+        isShowExitGameMutation(state, payload) {
+            state.isShowExitGame = payload
+        },
+        // appid
+        appidMutation(state, payload) {
+            state.appid = payload
+        },
+        // 显示的菜单
+        showGameInnerMutation(state, payload) {
+            state.showGameInner = payload
+        },
+    }
+})

+ 84 - 0
src/utils/http.js

@@ -0,0 +1,84 @@
+/**
+ * 封装axios
+ */
+import axios from "axios"
+
+const errorHandle = (status, other) => {
+    switch (status) {
+        case 400:
+            console.log("请求信息发生错误");
+            break;
+        case 401:
+            console.log("用户信息验证失败:token验证失败");
+            // localStorage.removeItem("token")
+            // toLogin();
+            break;
+        case 403:
+            console.log("请求被限制");
+            // localStorage.removeItem("token")
+            // toLogin();
+            break;
+        case 404:
+            console.log("客户端错误");
+            break;
+        default:
+            console.log(other);
+            break;
+    }
+}
+
+const instance = axios.create({
+    timeout: 8000
+})
+
+/**
+ * 请求和响应拦截
+ */
+
+instance.interceptors.request.use(
+    config => {
+        const token = localStorage.getItem("x-token")
+        config.data = JSON.stringify(config.data);
+        config.headers = {
+            'Content-Type': 'application/json',
+            'X-Token': token,
+        }
+        return config;
+    },
+    error => {
+        return Promise.reject(error)
+    }
+)
+
+instance.interceptors.response.use(
+    response => {
+        if (response.data.code === 0 && response.headers["x-token"]) {
+            localStorage.setItem("x-token", response.headers["x-token"])
+                // 更新游戏的token
+                // api.info().then(res => {
+                //     console.log(res, "res===================")
+                //     store.dispatch("userInfoAction", res.data.data)
+                //     localStorage.setItem("userInfo", JSON.stringify(res.data.data));
+                // })
+                // const token = jwt_decode(response.headers["x-token"])
+                // localStorage.setItem("token", token.jti);
+                // console.log(token.jti, "token.jti", store.state.token, "store", localStorage.getItem("token"), "========")
+        }
+        return response.status === 200 ? Promise.resolve(response) : Promise.reject(response)
+    },
+    error => {
+        const {
+            response
+        } = error;
+        if (response) {
+            //  处理错误信息
+            errorHandle(response.status, response.data);
+            return Promise.reject(response);
+        } else {
+            // 断网操作,请求发生错误
+            console.log("断网操作,请求发生错误");
+        }
+    }
+)
+
+export default instance;

+ 265 - 0
src/utils/utils.js

@@ -0,0 +1,265 @@
+import querystring from "querystring"
+var CryptoJS = require('crypto-js');
+var Md5 = require("js-md5");
+const utils = {
+    // 设置cookie
+    setCookie(name, value, days) {
+        var exp = new Date();
+        exp.setTime(exp.getTime() + days * 24 * 60 * 60 * 1000);
+        document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();
+    },
+
+    // 读取cookie
+    getCookie(name) {
+        var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
+        if (arr = document.cookie.match(reg)) {
+            return unescape(arr[2]);
+        }
+        return null;
+    },
+
+    // 删除cookies
+    delCookie(name) {
+        var exp = new Date();
+        exp.setTime(exp.getTime() - 1);
+        var cval = this.getCookie(name);
+        if (cval != null) {
+            document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString();
+        }
+    },
+    /**
+     * 用来遍历传入的浏览器标识,查询其中包含的build/下标
+     * @param {*} msg 浏览器标识,手机型号
+     * @param {*} str 从msg中寻找的参数
+     */
+    getModels(msg, str) {
+        for (let i in msg) {
+            if (msg[i].indexOf(str) > 0) {
+                return i;
+            }
+        }
+        return -1;
+    },
+
+    /**
+     * 手机号格式校验
+     * @param {number} tel 手机号
+     */
+    checkVerification(tel) {
+        // 判断手机号格式是否正确
+        if (!/^((1[3,5,8,7,9][0-9])|(14[5,7])|(17[0,6,7,8])|(19[7]))\d{8}$/.test(
+                tel
+            )) {
+            return false;
+        }
+        return true;
+    },
+
+    /**
+     * cryptoJs base64 加密
+     * @param {string} encStr 需要加密的值
+     */
+    encrypt(encStr) {
+        const wordArray = CryptoJS.enc.Utf8.parse(encStr);
+        const base64EncStr = CryptoJS.enc.Base64.stringify(wordArray);
+        return base64EncStr;
+    },
+
+    /**
+     * cryptoJs base64 解密
+     * @param {string} decStr  需要解密的值
+     */
+    decrypt(decStr) {
+        const parsedWordArray = CryptoJS.enc.Base64.parse(decStr);
+        const parsedStr = parsedWordArray.toString(CryptoJS.enc.Utf8);
+        return parsedStr;
+    },
+
+    /**
+     * 判断是否微信内
+     */
+    isWeChat() {
+        if (typeof WeixinJSBridge !== "undefined") {
+            return 1;
+        }
+        return 0;
+    },
+
+    /**
+     * 判断是否pc
+     * @returns 是否pc端
+     */
+    IsPC() {
+        if (!navigator.userAgent.match(/AppleWebKit.*Mobile.*/)) {
+            // pc
+            return true
+        }
+        return false
+    },
+
+    /**
+     * 判断是否ios
+     * @returns 是否ios端(已排除pc)
+     */
+    isiOS() {
+        if (!this.IsPC()) {
+            var u = navigator.userAgent;
+            // var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端
+            var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
+            return isiOS
+        }
+    },
+
+    /**
+     *  获取支付类型
+     * @param {string} pay_platform  支付平台
+     */
+    payType(pay_platform) {
+        const payType = {}
+        switch (pay_platform) {
+            case "ALIPAY":
+                payType.h5 = "ALIPAY-H5"
+                break;
+            case "WECHATPAY":
+                const isWeChat = this.isWeChat()
+                payType.h5 = isWeChat ? "WECHAT-JSAPI" : "WECHAT-H5"
+                break;
+            case "HB":
+                payType.h5 = "HB"
+                break;
+        }
+        return payType
+    },
+
+    /**
+     * md5 加密
+     * @param {string} str  需要加密的字符串
+     */
+    md5(str) {
+        return Md5(str)
+    },
+
+    /**
+     * 查找query  不传即为查找window.location中的参数
+     * @param {*} name 需要查找的字符串的key
+     * @param {*} search 查找search中的name
+     */
+    getQueryString(name, search) {
+        const str =
+            search ||
+            window.location.search.substr(1) ||
+            window.location.hash.split("?")[1];
+        let result = querystring.parse(str)[name];
+        // 当有重复参数时querystring.parse返回的是数组
+        if (result instanceof Array) {
+            result = result[0];
+        }
+        return result || null;
+    },
+
+    /**
+     * 获取url中所有的参数
+     * @param {string} search 查找search中  ? 后面带的 所有的参数
+     */
+    getAllQueryString(search) {
+        const str =
+            search ||
+            window.location.search.substr(1) ||
+            window.location.hash.split("?")[1];
+
+        if (!str) {
+            return null
+        }
+
+        let resuleObj = new Object();
+        let strs = str.split("&");
+        for (var i = 0; i < strs.length; i++) {
+            resuleObj[strs[i].split("=")[0]] = decodeURI(strs[i].split("=")[1]);
+        }
+        return resuleObj
+    },
+
+    // 删除url参数值
+    delQueStr(url, ref) {
+        var str = "";
+
+        if (url.indexOf('?') != -1)
+            str = url.substr(url.indexOf('?') + 1);
+        else
+            return url;
+        var arr = "";
+        var returnurl = "";
+        if (str.indexOf('&') != -1) {
+            arr = str.split('&');
+            for (i in arr) {
+                if (arr[i].split('=')[0] != ref) {
+                    returnurl = returnurl + arr[i].split('=')[0] + "=" + arr[i].split('=')[1] + "&";
+                }
+            }
+            return url.substr(0, url.indexOf('?')) + "?" + returnurl.substr(0, returnurl.length - 1);
+        } else {
+            arr = str.split('=');
+            if (arr[0] == ref)
+                return url.substr(0, url.indexOf('?'));
+            else
+                return url;
+        }
+    },
+
+    // 记住密码工具函数
+    rememberFun(account, password) {
+        const accountEnc = this.encrypt(account);
+        const pwdEnc = this.encrypt(password);
+        const accountPwd = `${accountEnc}&&${pwdEnc}`;
+        let accountLocal = JSON.parse(localStorage.getItem("jhremember"));
+        let accountList = []
+
+        // 获取账号密码列表
+        accountLocal &&
+            accountLocal.length &&
+            accountLocal.map((ele) => {
+                const _account = ele.split("&&")[0];
+                const _pwd = ele.split("&&")[1];
+                const account = this.decrypt(_account);
+                const pwd = this.decrypt(_pwd);
+                accountList.push({
+                    account,
+                    pwd,
+                });
+            });
+
+        // 初始状态
+        if (!accountLocal) {
+            accountLocal = [accountPwd];
+            accountList.unshift({
+                account,
+                pwd: password,
+            });
+            localStorage.setItem("jhremember", JSON.stringify(accountLocal));
+            return accountList;
+        }
+
+        // 已经存有账密
+        // 1.  判断账号是否存在
+        const reAccount = accountList.filter((ele) => {
+            return ele.account === account;
+        });
+        // 1 如果账号存在
+        if (reAccount.length > 0) {
+            //  删除原来的账密 存
+            accountLocal = accountLocal.filter((ele) => {
+                const _accountEcv = ele.split("&&")[0];
+                return _accountEcv !== accountEnc;
+            });
+        }
+        // 2. 账号不存在 存
+        accountLocal = accountLocal ? [accountPwd, ...accountLocal] : [accountPwd];
+        accountList.unshift({
+            account,
+            pwd: password,
+        });
+        localStorage.setItem("jhremember", JSON.stringify(accountLocal));
+        return accountList
+    },
+};
+export default utils;

+ 236 - 0
src/views/Counter/Counter.vue

@@ -0,0 +1,236 @@
+<template>
+  <!-- 收银台 -->
+  <div class="counter">
+    <!-- 上方支付方式 -->
+    <div class="top clear">
+      <i class="iconfont icon-back" @click="back"></i>
+      <div class="title">
+        <img
+          v-if="query.pay_platform === 'HB'"
+          src="~@/assets/image/hbpay.png"
+          alt=""
+        />
+        <img
+          v-if="query.pay_platform === 'WECHATPAY'"
+          class="wx"
+          src="~@/assets/image/wxpay.png"
+          alt=""
+        />
+        <img
+          v-if="query.pay_platform === 'ALIPAY'"
+          class="ali"
+          src="~@/assets/image/alipay.png"
+          alt=""
+        />
+        <span>{{ getPayPlatform }}付款</span>
+      </div>
+    </div>
+    <!-- 多少rmb -->
+    <div class="rmb">
+      <div class="count">
+        <span class="icon">¥</span>
+        <span class="yuan">{{ query.amount / 100 }}.00</span>
+      </div>
+      <div class="bottom">{{ query.amount / 100 }}元</div>
+    </div>
+    <!-- 继续付款 -->
+    <div class="continue" v-if="query.pay === 'game'" @click="gamePay">
+      继续付款
+    </div>
+    <div class="continue" v-if="query.pay === 'hb'" @click="hbPay">
+      继续付款
+    </div>
+
+    <!-- 支付遇到问题 -->
+    <div class="question" @click="onService">支付遇到问题?联系客服</div>
+
+    <!-- 支付完成 -->
+    <div class="finish" @click="back">支付完成, 返回游戏</div>
+  </div>
+</template>
+
+<script>
+import { mapGetters, mapState } from "vuex";
+export default {
+  name: "Counter",
+  components: {},
+  inject: ["payHandler", "onRecharge"],
+  data() {
+    return {};
+  },
+  computed: {
+    ...mapGetters(["getPayPlatform"]),
+    ...mapState(["query"]),
+  },
+  watch: {},
+  created() {},
+  mounted() {},
+  methods: {
+    back() {},
+
+    // 游戏充值
+    gamePay() {
+      const {
+        server_id,
+        server_name,
+        cp_order_id,
+        role_name,
+        role_id,
+        goods_id,
+        goods_name,
+        amount,
+        pay_type,
+        pay_platform,
+      } = this.query;
+      this.payHandler({
+        server_id,
+        server_name,
+        cp_order_id,
+        role_name,
+        role_id,
+        goods_id,
+        goods_name,
+        amount,
+        pay_type,
+        pay_platform,
+      });
+    },
+
+    // 鸿币充值
+    hbPay() {
+      const { amount, goods_name, pay_type, pay_platform } = this.query;
+      this.onRecharge({
+        amount,
+        goods_name,
+        pay_type,
+        pay_platform,
+      });
+    },
+
+    // 联系客服
+    onService() {
+      this.$emit("showInnerControl", "service");
+    },
+
+    // 返回游戏
+    back() {
+      console.log("返回");
+    },
+  },
+};
+</script>
+
+<style lang='less' scoped>
+.counter {
+  .top {
+    i {
+      float: left;
+      font-size: 60 / @rem;
+      color: #3faeed;
+    }
+
+    .icon-back {
+      margin-right: 10 / @rem;
+      font-size: 50 / @rem;
+    }
+
+    .title {
+      width: 250 / @rem;
+      height: 60 / @rem;
+      line-height: 60 / @rem;
+      margin: 10 / @rem auto 0;
+      padding-left: 20 / @rem;
+      font-size: 36 / @rem;
+      font-weight: bold;
+      text-align: center;
+
+      img {
+        width: 60 / @rem;
+        float: left;
+      }
+
+      .wx,
+      .ali {
+        width: 50 / @rem;
+        margin-top: 5 / @rem;
+      }
+
+      span {
+        float: left;
+        margin-left: 10 / @rem;
+      }
+    }
+  }
+
+  .rmb {
+    margin-top: 50 / @rem;
+
+    .count {
+      font-size: 50 / @rem;
+      text-align: center;
+
+      .yuan {
+        font-size: 80 / @rem;
+      }
+    }
+  }
+
+  .bottom {
+    margin-bottom: 80 / @rem;
+    font-size: 32 / @rem;
+  }
+
+  .continue {
+    width: 80%;
+    height: 100 / @rem;
+    line-height: 100 / @rem;
+    margin: 0 auto 40 / @rem;
+    background-color: #3faeed;
+    color: #fff;
+    font-size: 36 / @rem;
+    border-radius: 5px;
+  }
+
+  .question {
+    color: #3faeed;
+    font-size: 32 / @rem;
+  }
+
+  .finish {
+    width: 300 / @rem;
+    position: absolute;
+    margin-left: -150 / @rem;
+    left: 50%;
+    bottom: 80 / @rem;
+    font-size: 32 / @rem;
+    color: #3faeed;
+  }
+}
+// 正常横屏样式
+@media all and (orientation: landscape),
+  /** 伪竖屏*/all and (orientation: portrait) and (min-width: 600px) and (min-height: 800px) {
+  .counter {
+    .icon-back {
+      margin-top: 2 / @rem;
+      margin-right: 5 / @rem;
+      font-size: 25 / @rem;
+    }
+
+    .title {
+      height: 30 / @rem;
+      line-height: 30 / @rem;
+      margin-top: 8 / @rem;
+      margin-left: 5 / @rem;
+      padding-left: 10 / @rem;
+      font-size: 18 / @rem;
+    }
+  }
+}
+
+// ipad 横屏
+@media /** 伪竖屏*/all and (orientation: portrait) and (min-width: 600px) and (min-height: 800px),
+  /**ipad伪横屏 */ all and (orientation: landscape) and (min-width: 800px) and (min-height: 600px),
+  all and (min-device-aspect-ratio: 3/4) and (max-device-aspect-ratio: 4/3),
+  all and (device-aspect-ratio: 4/3) {
+}
+</style>

+ 41 - 0
src/views/Counter/CounterBox.vue

@@ -0,0 +1,41 @@
+<template>
+  <div class="counter_box">
+    <!-- 收银台 -->
+    <Counter v-if="showInner == ''" @showInnerControl="showInnerControl" />
+    <!-- 联系客服 -->
+    <MenuService
+      v-if="showInner == 'service'"
+      @showInnerControl="showInnerControl"
+    />
+  </div>
+</template>
+
+<script>
+import Counter from "@/views/Counter/Counter"; // 收银台内容
+import MenuService from "@/components/Menu/MenuService"; // 联系客服
+export default {
+  name: "CounterBox",
+  components: {
+    Counter,
+    MenuService,
+  },
+  data() {
+    return {
+      showInner: "", // 控制显示哪个组件
+    };
+  },
+  computed: {},
+  watch: {},
+  created() {},
+  mounted() {},
+  methods: {
+    // 控制显示哪个组件
+    showInnerControl(showInner) {
+      this.showInner = showInner;
+    },
+  },
+};
+</script>
+
+<style lang='less' scoped>
+</style>

+ 406 - 0
src/views/Forget/Forget.vue

@@ -0,0 +1,406 @@
+<template>
+  <div class="inner_box">
+    <div class="forget">
+      <!-- 标题 -->
+      <div class="title">忘记密码</div>
+      <!-- 手机号 -->
+      <div class="tel_input_box">
+        <i class="red">*</i>
+        <input
+          class="tel_input"
+          type="tel"
+          maxlength="11"
+          placeholder="请输入手机号"
+          oninput="value=value.replace(/[^\d]/g,'')"
+          v-model="phoneNumber"
+        />
+      </div>
+      <!-- 验证码 -->
+      <div class="captcha_box">
+        <i class="red">*</i>
+        <div
+          class="bind_send"
+          :class="{ gray: canVerif }"
+          @click="sendPhoneNumber"
+        >
+          {{ verifText }}
+        </div>
+        <input
+          class="captcha_input"
+          placeholder="请输入验证码"
+          v-model="captcha"
+          maxlength="4"
+        />
+      </div>
+      <!-- 密码 -->
+      <div class="reg_password">
+        <i class="red">*</i>
+        <input
+          class="reg_input_password"
+          type="password"
+          placeholder="请输入密码"
+          password="true"
+          maxlength="20"
+          oninput="value=value.replace(/[\u4E00-\u9FA5]|[\uFE30-\uFFA0]|\s+|[^\w\u4e00-\u9fa5\/\-]|[/|]/ig,'');"
+          v-model="password"
+        />
+      </div>
+      <!--    确认密码 -->
+      <div class="reg_password2">
+        <i class="red">*</i>
+        <input
+          class="reg_input_password2"
+          type="password"
+          placeholder="请再次输入密码"
+          password="true"
+          maxlength="20"
+          oninput="value=value.replace(/[\u4E00-\u9FA5]|[\uFE30-\uFFA0]|\s+|[^\w\u4e00-\u9fa5\/\-]|[/|]/ig,'');"
+          v-model="passwordAgin"
+        />
+      </div>
+      <!-- 重置密码 -->
+      <div v-if="canForget" class="reset_pwd" @click="resetPwd">重置密码</div>
+      <div v-else class="reset_pwd gray">重置中</div>
+      <!-- 其他 -->
+      <div class="other" @click="onLogin">返回登录</div>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "Forget",
+  components: {},
+  inject: ["checkCode", "routeLink"],
+  data() {
+    return {
+      phoneNumber: "", // 手机号
+      captcha: "", // 验证码
+      password: "", // 密码
+      passwordAgin: "", // 确认密码
+      verifText: "获取验证码", // 获取验证码按钮文本
+      canVerif: false, // 获取验证码按钮是否可以点击
+      countDownTimer: null, // 验证码倒计时
+      canSms: true, // 是否可以请求验证码接口
+      canForget: true, // 是否可以请求忘记密码
+    };
+  },
+  computed: {},
+  watch: {},
+  created() {},
+  mounted() {},
+  methods: {
+    // 获取验证码
+    sendPhoneNumber() {
+      if (!this.canSms) {
+        return;
+      }
+      const { phoneNumber } = this;
+      // 1. 验证手机号格式
+      this.canVerif = this.$utils.checkVerification(phoneNumber);
+      if (!this.canVerif) {
+        this.$toast.text("手机号格式不正确");
+        return;
+      }
+      // 2. 验证码倒计时
+      this.countDown();
+
+      // 3. 请求接口 发送验证码
+      this.$api
+        .sendSms({
+          mobile: phoneNumber,
+          reason: "forgetPwd",
+        })
+        .then((res) => {
+          this.checkCode(res);
+          const { code, data } = res.data;
+          // 错误
+          if (code) {
+            return;
+          }
+        });
+    },
+
+    // 倒计时
+    countDown() {
+      this.canSms = false;
+      let count = 60;
+      this.verifText = count + "s";
+      this.countDownTimer = setInterval(() => {
+        count--;
+        this.verifText = count + "s";
+        // 倒计时结束
+        if (count === 0) {
+          this.canVerif = false;
+          this.verifText = "获取验证码";
+          this.canSms = true;
+          clearInterval(this.countDownTimer);
+        }
+      }, 1000);
+    },
+
+    // 重置密码
+    resetPwd() {
+      const { phoneNumber, captcha, password, passwordAgin } = this;
+      // 1. 验证手机号格式
+      const telCheck = this.$utils.checkVerification(phoneNumber);
+      if (!telCheck) {
+        this.$toast.text("手机号格式不准确");
+        return;
+      }
+      // 2. 验证验证码是否为空
+      if (!captcha) {
+        this.$toast.text("验证码不能为空");
+        return;
+      }
+      // 3. 验证密码
+      if (!password) {
+        this.$toast.text("密码不能为空");
+        return;
+      }
+      if (password !== passwordAgin) {
+        this.$toast.text("两次密码不一致");
+        return;
+      }
+
+      // 4. 重置密码
+      if (!this.canForget) {
+        return;
+      }
+      this.canForget = false;
+
+      this.$api
+        .forgetPwd({
+          mobile: phoneNumber,
+          smsCode: captcha,
+          password,
+        })
+        .then((res) => {
+          this.checkCode(res);
+          this.canForget = true;
+          const { code } = res.data;
+          // 错误
+          if (code) {
+            return;
+          }
+          // 成功
+          this.onLogin();
+          this.$toast.text("重置密码成功");
+        });
+    },
+
+    // 返回登录
+    onLogin() {
+      this.routeLink("Login");
+    },
+  },
+};
+</script>
+
+<style lang='less' scoped>
+.forget {
+  width: 700 / @rem;
+  height: 660 / @rem;
+  position: absolute;
+  top: 50%;
+  left: 50%;
+  margin-top: -330 / @rem;
+  margin-left: -350 / @rem;
+  background-color: #fff;
+  box-sizing: border-box;
+  border-radius: 5px;
+  overflow: hidden;
+
+  .red {
+    line-height: 70 / @rem;
+    color: #e43633;
+    float: left;
+  }
+
+  .title {
+    height: 100 / @rem;
+    line-height: 100 / @rem;
+    background-color: #3faeed;
+    color: #fff;
+    font-size: 36 / @rem;
+  }
+  .tel_input_box,
+  .captcha_box,
+  .reg_password,
+  .reg_password2,
+  .reset_pwd,
+  .other {
+    padding: 0 20 / @rem;
+    box-sizing: border-box;
+  }
+
+  .tel_input_box,
+  .captcha_box {
+    width: 100%;
+    height: 70 / @rem;
+    position: relative;
+    margin-top: 20 / @rem;
+  }
+
+  .tel_input_box {
+    margin-top: 20 / @rem;
+  }
+
+  .tel_input,
+  .captcha_input {
+    width: 94.5%;
+    height: 75 / @rem;
+    padding-left: 20 / @rem;
+    float: right;
+    font-size: 32 / @rem;
+    border: 1 / @rem solid #d6d6d6;
+    box-sizing: border-box;
+  }
+  .captcha_input {
+    width: 60%;
+  }
+  .bind_send {
+    width: 30%;
+    height: 75 / @rem;
+    line-height: 70 / @rem;
+    margin-left: 30 / @rem;
+    float: right;
+    color: #ffffff;
+    font-size: 32 / @rem;
+    border-radius: 10 / @rem;
+    background-color: #3faeed;
+  }
+
+  .gray {
+    background-color: #888;
+  }
+  .reg_password,
+  .reg_password2 {
+    width: 100%;
+    height: 70 / @rem;
+    margin-top: 20 / @rem;
+    position: relative;
+  }
+  .reg_input_password {
+    width: 94.5%;
+    height: 70 / @rem;
+    padding-left: 20 / @rem;
+    font-size: 32 / @rem;
+    float: right;
+    box-sizing: border-box;
+    border: 1 / @rem solid #d6d6d6;
+  }
+  .reg_input_password2 {
+    width: 94.5%;
+    height: 70 / @rem;
+    padding-left: 20 / @rem;
+    font-size: 32 / @rem;
+    float: right;
+    box-sizing: border-box;
+    border: 1 / @rem solid #d6d6d6;
+    outline: none;
+  }
+  .reset_pwd {
+    width: 80%;
+    height: 90 / @rem;
+    line-height: 90 / @rem;
+    margin: 20 / @rem auto 0;
+    border-radius: 15 / @rem;
+    background-color: #3faeed;
+    color: #ffffff;
+    box-sizing: border-box;
+    font-size: 32 / @rem;
+  }
+  .other {
+    margin-top: 20 / @rem;
+    float: left;
+    color: #3faeed;
+    font-size: 28 / @rem;
+  }
+}
+// 横屏
+@media screen and (orientation: landscape),
+  /**竖屏 */ all and (orientation: portrait) and (min-width: 600px) and (min-height: 800px),
+  /**ipad */ all and (min-device-aspect-ratio: 3/4) and (max-device-aspect-ratio: 4/3),
+  all and (device-aspect-ratio: 4/3) {
+  .forget {
+    width: 350 / @rem;
+    height: 260 / @rem;
+    margin-top: -130 / @rem;
+    margin-left: -175 / @rem;
+
+    .title {
+      height: 35 / @rem;
+      line-height: 35 / @rem;
+      font-size: 18 / @rem;
+    }
+    .tel_input_box,
+    .captcha_box,
+    .reg_password,
+    .reg_password2,
+    .reset_pwd,
+    .other {
+      padding: 0 10 / @rem;
+    }
+
+    .tel_input_box,
+    .captcha_box {
+      height: 35 / @rem;
+      margin-top: 5 / @rem;
+    }
+
+    .red {
+      line-height: 35 / @rem;
+    }
+
+    .tel_input_box {
+      margin-top: 5 / @rem;
+    }
+
+    .tel_input,
+    .captcha_input {
+      height: 32 / @rem;
+      padding-left: 10 / @rem;
+      font-size: 16 / @rem;
+    }
+
+    .captcha_input {
+      width: 55.5%;
+    }
+
+    .bind_send {
+      height: 32 / @rem;
+      line-height: 32 / @rem;
+      font-size: 16 / @rem;
+      border-radius: 5 / @rem;
+    }
+
+    .reg_password,
+    .reg_password2 {
+      height: 32 / @rem;
+      margin-top: 5 / @rem;
+    }
+    .reg_input_password {
+      height: 32 / @rem;
+      padding-left: 10 / @rem;
+      font-size: 16 / @rem;
+    }
+    .reg_input_password2 {
+      height: 32 / @rem;
+      padding-left: 10 / @rem;
+      font-size: 16 / @rem;
+    }
+    .reset_pwd {
+      height: 35 / @rem;
+      line-height: 35 / @rem;
+      margin: 5 / @rem auto 0;
+      border-radius: 7 / @rem;
+      font-size: 16 / @rem;
+    }
+    .other {
+      margin-top: 5 / @rem;
+      font-size: 14 / @rem;
+    }
+  }
+}
+</style>

+ 68 - 0
src/views/GamePay/GamePay.vue

@@ -0,0 +1,68 @@
+<template>
+  <div class="game">
+    <div class="inner_box" @click="close"></div>
+    <!-- 游戏内充值 -->
+    <GamePayBox
+      v-if="showGameInner === ''"
+      @showInnerControl="showInnerControl"
+      @close="close"
+    />
+
+    <!-- 鸿币充值 -->
+    <MenuPay
+      v-if="showGameInner === 'hb'"
+      @showInnerControl="showInnerControl"
+    />
+
+    <!-- 鸿币支付确认 -->
+    <MenuHbPay
+      v-if="showGameInner == 'hbConfirm'"
+      @showInnerControl="showInnerControl"
+    />
+
+    <!-- 鸿币充值优惠明细 -->
+    <MenuHbDetail
+      v-if="showGameInner == 'hbDetail'"
+      @showInnerControl="showInnerControl"
+    />
+  </div>
+</template>
+
+<script>
+import GamePayBox from "@/views/GamePay/GamePayBox"; // 游戏内充值
+import MenuPay from "@/components/Menu/MenuPay/MenuPay"; // 鸿币充值
+import MenuHbPay from "@/components/Menu/MenuPay/MenuHbPay"; // 鸿币支付确认
+import MenuHbDetail from "@/components/Menu/MenuPay/MenuHbDetail"; // 鸿币充值优惠明细
+export default {
+  name: "GamePay",
+  components: {
+    GamePayBox,
+    MenuPay,
+    MenuHbPay,
+    MenuHbDetail,
+  },
+  data() {
+    return {
+      showGameInner: "", // 控制显示哪个组件
+    };
+  },
+  computed: {},
+  watch: {},
+  created() {},
+  mounted() {},
+  methods: {
+    // 控制显示哪个组件
+    showInnerControl(showGameInner) {
+      this.showGameInner = showGameInner;
+    },
+
+    // 关闭
+    close() {
+      console.log("gamepay close");
+    },
+  },
+};
+</script>
+
+<style lang='less' scoped>
+</style>

+ 113 - 0
src/views/GamePay/GamePayBox.vue

@@ -0,0 +1,113 @@
+<template>
+  <div class="menu_game_pay">
+    <i class="iconfont icon-back" @click="back"></i>
+    <div class="title">确认付款</div>
+    <!-- 游戏内支付 h5 -->
+    <GamePayH5 v-on="$listeners" />
+  </div>
+</template>
+
+<script>
+import GamePayH5 from "@/views/GamePay/GamePayH5"; // 游戏内充值 h5
+export default {
+  name: "GamePayBox",
+  components: {
+    GamePayH5,
+  },
+  data() {
+    return {};
+  },
+  computed: {},
+  watch: {},
+  created() {},
+  mounted() {},
+  methods: {
+    // 返回
+    back() {
+      this.$emit("close");
+    },
+  },
+};
+</script>
+
+<style lang='less' scoped>
+.menu_game_pay {
+  width: 100%;
+  height: 620 / @rem;
+  position: absolute;
+  top: 100%;
+  margin-top: -620 / @rem;
+  padding: 15 / @rem 20 / @rem;
+  border-radius: 30 / @rem 30 / @rem 0 0;
+  box-sizing: border-box;
+  background-color: #fff;
+
+  i {
+    float: right;
+    font-size: 60 / @rem;
+  }
+
+  .icon-back {
+    margin-right: 10 / @rem;
+    font-size: 50 / @rem;
+  }
+
+  .title {
+    height: 60 / @rem;
+    line-height: 60 / @rem;
+    margin-top: 10 / @rem;
+    margin-left: 10 / @rem;
+    padding-left: 20 / @rem;
+    font-size: 36 / @rem;
+    font-weight: bold;
+    border-left: 4px solid #3faeed;
+    text-align: left;
+  }
+}
+
+// 正常横屏样式
+@media all and (orientation: landscape),
+  /** 伪竖屏*/all and (orientation: portrait) and (min-width: 600px) and (min-height: 800px) {
+  .menu_game_pay {
+    width: 45%;
+    height: 250 / @rem;
+    left: 0;
+    top: 50%;
+    margin-top: -125 / @rem;
+    padding: 7.5 / @rem 10 / @rem;
+    border-radius: 0 20 / @rem 20 / @rem 0;
+
+    .icon-back {
+      margin-top: 2 / @rem;
+      margin-right: 5 / @rem;
+      font-size: 25 / @rem;
+    }
+
+    .title {
+      height: 30 / @rem;
+      line-height: 30 / @rem;
+      margin-top: 8 / @rem;
+      margin-left: 5 / @rem;
+      padding-left: 10 / @rem;
+      font-size: 18 / @rem;
+    }
+  }
+}
+
+// ipad 横屏
+@media /** 伪竖屏*/all and (orientation: portrait) and (min-width: 600px) and (min-height: 800px),
+  /**ipad伪横屏 */ all and (orientation: landscape) and (min-width: 800px) and (min-height: 600px),
+  all and (min-device-aspect-ratio: 3/4) and (max-device-aspect-ratio: 4/3),
+  all and (device-aspect-ratio: 4/3) {
+  .menu_game_pay {
+    width: 350 / @rem;
+    height: 400 / @rem;
+    left: 50%;
+    top: 50%;
+    margin-top: -200 / @rem;
+    margin-left: -175 / @rem;
+    padding: 7.5 / @rem 10 / @rem;
+    border-radius: 20 / @rem;
+  }
+}
+</style>

+ 396 - 0
src/views/GamePay/GamePayH5.vue

@@ -0,0 +1,396 @@
+<template>
+  <!-- 游戏内支付 -->
+  <div class="menu_game_pay_h5">
+    <div class="content">
+      <!-- 确认信息 -->
+      <div class="pay_money">
+        <span class="left">充值金额</span>
+        <span class="right">¥ {{ payArg.amount / 100 }}</span>
+      </div>
+      <div class="pay_info">
+        <span class="left">购买商品</span>
+        <span class="right">{{ payArg.goods_name }}</span>
+      </div>
+
+      <!-- 支付方式 -->
+      <p>
+        请选择支付方式
+        <span class="red"> (鸿币充值低至9折) </span>
+      </p>
+      <div class="pay_type clear">
+        <div
+          class="alipay"
+          :class="{
+            active: currentPayPlatform === 'ALIPAY',
+          }"
+          @click="onSelectPayPlatform('ALIPAY')"
+        >
+          <img src="~@/assets/image/alipay.png" alt="" />
+          <span>支付宝</span>
+        </div>
+        <div
+          class="wxpay"
+          :class="{
+            active: currentPayPlatform === 'WECHATPAY',
+          }"
+          @click="onSelectPayPlatform('WECHATPAY')"
+        >
+          <img src="~@/assets/image/wxpay.png" alt="" />
+          <span>微信</span>
+        </div>
+        <div
+          class="hbpay"
+          :class="{
+            active: currentPayPlatform === 'HB',
+          }"
+          @click="onSelectPayPlatform('HB')"
+        >
+          <img src="~@/assets/image/hbpay.png" alt="" />
+          <span>鸿币</span>
+          <img class="discount" src="~@/assets/image/discount.png" alt="" />
+        </div>
+      </div>
+      <!-- 鸿币余额 -->
+      <div class="money">
+        鸿币余额:
+        <span>{{ finance }}</span>
+        <span class="hb_pay" @click="onHbPay">(点此充值鸿币)</span>
+      </div>
+
+      <!-- 立即付款 -->
+      <!-- 鸿币支付 -->
+      <div class="to_pay" v-if="currentPayPlatform === 'HB'" @click="toHbPay">
+        立即付款
+      </div>
+      <!-- 支付 -->
+      <div class="to_pay" v-else @click="toPay">立即付款</div>
+    </div>
+  </div>
+</template>
+
+<script>
+import { mapState } from "vuex";
+export default {
+  name: "",
+  components: {},
+  inject: ["checkCode", "payHandler", "checkCodeHandler", "routeLink"],
+  data() {
+    return {
+      currentPayPlatform: "ALIPAY", // 默认支付方式     如果没有余额  默认支付宝
+      canPay: true, // 是否可以支付
+    };
+  },
+  computed: {
+    ...mapState(["finance", "query"]),
+    payArg() {
+      return this.$store.state.payArg;
+    },
+  },
+  watch: {
+    payArg: {
+      handler(newValue) {
+        // console.log(newValue, "payArg");
+      },
+      deep: true,
+      immediate: true,
+    },
+    finance(newValue) {
+      newValue
+        ? this.onSelectPayPlatform("ALIPAY")
+        : this.onSelectPayPlatform("HB");
+    },
+  },
+  created() {},
+  mounted() {
+    this.finance
+      ? this.onSelectPayPlatform("ALIPAY")
+      : this.onSelectPayPlatform("HB");
+  },
+  destroyed() {},
+  methods: {
+    // 选择支付方式
+    onSelectPayPlatform(payPlatform) {
+      this.currentPayPlatform = payPlatform;
+    },
+
+    // 显示哪个组件(工具函数)
+    showInnerControl(name) {
+      this.$emit("showInnerControl", name);
+    },
+
+    // 鸿币支付
+    toHbPay() {
+      this.showInnerControl("hbConfirm");
+    },
+
+    // 支付宝 微信支付
+    toPay() {
+      if (!this.canPay) {
+        return;
+      }
+      this.canPay = false;
+      this.payFun();
+    },
+
+    // 支付工具函数
+    payFun(extra) {
+      const { currentPayPlatform } = this;
+      const {
+        server_id,
+        server_name,
+        cp_order_id,
+        role_id,
+        role_name,
+        goods_id,
+        goods_name,
+        amount,
+      } = this.payArg;
+      const payType = this.$utils.payType(currentPayPlatform).h5;
+      this.payHandler({
+        server_id,
+        server_name,
+        cp_order_id,
+        role_id,
+        role_name,
+        goods_id,
+        goods_name,
+        amount,
+        pay_type: payType,
+        pay_platform: currentPayPlatform,
+        extra,
+      }).then(() => {
+        this.canPay = true;
+        this.back();
+      });
+    },
+
+    // 点此充值鸿币
+    onHbPay() {
+      this.showInnerControl("hb");
+    },
+
+    // 关闭
+    back() {
+      this.$emit("close");
+    },
+  },
+};
+</script>
+
+<style lang='less' scoped>
+.menu_game_pay_h5 {
+  .pay_info,
+  .pay_money {
+    height: 70 / @rem;
+    line-height: 70 / @rem;
+    border-top: 1px solid #e6e6e6;
+
+    .left {
+      float: left;
+    }
+    .right {
+      float: right;
+    }
+  }
+  .pay_money {
+    margin-top: 20 / @rem;
+    .right {
+      color: #ca0000;
+    }
+  }
+  p {
+    height: 70 / @rem;
+    line-height: 70 / @rem;
+    background-color: #efefef;
+    border-radius: 8 / @rem;
+
+    .red {
+      color: #ca0000;
+      font-size: 26 / @rem;
+    }
+  }
+  .pay_type {
+    width: 90%;
+    line-height: 70 / @rem;
+    margin: 40 / @rem auto 20 / @rem;
+
+    .hbpay,
+    .alipay,
+    .wxpay {
+      width: 32%;
+      padding: 0 20 / @rem;
+      float: left;
+      text-align: center;
+      border: 2px solid #e2e2e2;
+      box-sizing: border-box;
+      border-radius: 8 / @rem;
+      img {
+        width: 52 / @rem;
+        margin-top: 8 / @rem;
+        float: left;
+      }
+
+      i,
+      span {
+        display: inline-block;
+        text-align: center;
+      }
+    }
+
+    i {
+      width: 52 / @rem;
+      height: 52 / @rem;
+      margin-top: 9 / @rem;
+      margin-right: 10 / @rem;
+      float: left;
+    }
+    .hbpay {
+      float: right;
+      position: relative;
+
+      img {
+        width: 60 / @rem;
+        margin-top: 7 / @rem;
+        float: left;
+      }
+
+      .discount {
+        width: 60 / @rem;
+        position: absolute;
+        top: -20 / @rem;
+        left: 100%;
+        margin-left: -30 / @rem;
+      }
+    }
+    .alipay {
+      i {
+        // background: url("@/assets/image/alipay.png") no-repeat;
+      }
+    }
+    .wxpay {
+      margin: 0 2%;
+      i {
+        // background: url("@/assets/image/wxpay.png") no-repeat;
+      }
+    }
+
+    .active {
+      border: 2px solid #3faeed !important;
+    }
+  }
+  .money {
+    font-size: 30 / @rem;
+    span {
+      color: #3faeed;
+    }
+    .hb_pay {
+      margin-left: 10 / @rem;
+      border-bottom: 2px solid #3faeed;
+    }
+  }
+  .to_pay {
+    width: 60%;
+    line-height: 70 / @rem;
+    margin: 20 / @rem auto;
+    background-color: #3faeed;
+    color: #fff;
+    border-radius: 8 / @rem;
+  }
+}
+
+// 正常横屏样式
+@media all and (orientation: landscape),
+  /** 伪竖屏*/all and (orientation: portrait) and (min-width: 600px) and (min-height: 800px) {
+  .menu_game_pay_h5 {
+    .content {
+      width: 100%;
+      height: 200 / @rem;
+      overflow-y: auto;
+    }
+
+    .pay_info,
+    .pay_money {
+      height: 35 / @rem;
+      line-height: 35 / @rem;
+    }
+
+    .pay_money {
+      margin-top: 10 / @rem;
+    }
+
+    p {
+      height: 35 / @rem;
+      line-height: 35 / @rem;
+      border-radius: 4 / @rem;
+      .red {
+        font-size: 13 / @rem;
+      }
+    }
+    .pay_type {
+      width: 80%;
+      line-height: 35 / @rem;
+      margin: 10 / @rem auto 0;
+
+      .hbpay,
+      .alipay,
+      .wxpay {
+        width: 100%;
+        float: none;
+        padding: 0 10 / @rem;
+        border-radius: 4 / @rem;
+        margin: 10 / @rem 0;
+        img {
+          width: 28 / @rem;
+          margin-top: 3.5 / @rem;
+          margin-left: 5 / @rem;
+        }
+      }
+
+      i {
+        width: 30 / @rem;
+        height: 30 / @rem;
+        margin: 4.5 / @rem;
+      }
+      .hbpay {
+        img {
+          width: 30 / @rem;
+          margin-top: 2.5 / @rem;
+          margin-left: 5 / @rem;
+        }
+        .discount {
+          width: 30 / @rem;
+          margin-left: -15 / @rem;
+          top: -10 / @rem;
+        }
+      }
+
+      .alipay {
+        margin: 0;
+      }
+    }
+    .money {
+      font-size: 15 / @rem;
+      .hb_pay {
+        margin-left: 5 / @rem;
+      }
+    }
+    .to_pay {
+      line-height: 35 / @rem;
+      margin: 10 / @rem auto;
+      border-radius: 4 / @rem;
+    }
+  }
+}
+
+// ipad 横屏
+@media /** 伪竖屏*/all and (orientation: portrait) and (min-width: 600px) and (min-height: 800px),
+  /**ipad伪横屏 */ all and (orientation: landscape) and (min-width: 800px) and (min-height: 600px),
+  all and (min-device-aspect-ratio: 3/4) and (max-device-aspect-ratio: 4/3),
+  all and (device-aspect-ratio: 4/3) {
+  .menu_game_pay_h5 {
+    .content {
+      height: 100%;
+    }
+  }
+}
+</style>

+ 46 - 0
src/views/Home/Home.vue

@@ -0,0 +1,46 @@
+<template>
+  <div class="home">
+    <div class="inner_box" @click="close"></div>
+    <HomeInner @close="close" />
+  </div>
+</template>
+
+<script>
+import HomeInner from "@/views/Home/HomeInner/HomeInner"; // 菜单内容
+export default {
+  name: "Home",
+  components: {
+    HomeInner,
+  },
+  inject: ["refresh", "getUserInfo", "getFinance"],
+  data() {
+    return {};
+  },
+  computed: {},
+  watch: {},
+  created() {},
+  mounted() {
+    // 初始化页面信息
+    this.init();
+  },
+  methods: {
+    // 初始化页面信息
+    init() {
+      // 校验登录态
+      this.refresh();
+      // 获取用户信息
+      this.getUserInfo();
+      // 获取鸿币余额
+      this.getFinance();
+    },
+
+    // 关闭
+    close() {
+      console.log("close");
+    },
+  },
+};
+</script>
+
+<style lang='less' scoped>
+</style>

+ 89 - 0
src/views/Home/HomeInner/HomeInner.vue

@@ -0,0 +1,89 @@
+<template>
+  <div class="home_inner">
+    <!-- 总菜单 -->
+    <HomeMenu
+      v-if="showInner == ''"
+      @showInnerControl="showInnerControl"
+      v-on="$listeners"
+    />
+
+    <!-- 账号 -->
+    <MenuAccount
+      v-if="showInner == 'account'"
+      @showInnerControl="showInnerControl"
+    />
+
+    <!-- 修改密码 -->
+    <ChangePwd
+      v-if="showInner == 'changePwd'"
+      @showInnerControl="showInnerControl"
+    />
+
+    <!-- 绑定手机号 -->
+    <BindPhone
+      v-if="showInner == 'bind'"
+      @showInnerControl="showInnerControl"
+    />
+
+    <!-- 鸿币充值 -->
+    <MenuPay v-if="showInner == 'hb'" @showInnerControl="showInnerControl" />
+
+    <!-- 微信公众号 -->
+    <MenuWxGzh v-if="showInner == 'gzh'" @showInnerControl="showInnerControl" />
+
+    <!-- 联系客服 -->
+    <MenuService
+      v-if="showInner == 'service'"
+      @showInnerControl="showInnerControl"
+    />
+
+    <!-- 鸿币充值优惠明细 -->
+    <MenuHbDetail
+      v-if="showInner == 'hbDetail'"
+      @showInnerControl="showInnerControl"
+    />
+  </div>
+</template>
+
+<script>
+import HomeMenu from "@/views/Home/HomeMenu/HomeMenu"; // 总菜单
+import MenuAccount from "@/components/Menu/MenuAccount"; // 账号子菜单
+import ChangePwd from "@/components/UDB/ChangePwd"; // 修改密码
+import BindPhone from "@/components/UDB/BindPhone"; // 绑定手机号
+import MenuPay from "@/components/Menu/MenuPay/MenuPay"; // 充值
+import MenuWxGzh from "@/components/Menu/MenuWxGzh"; // 微信公众号
+import MenuService from "@/components/Menu/MenuService"; // 联系客服
+import MenuHbDetail from "@/components/Menu/MenuPay/MenuHbDetail"; // 鸿币充值优惠明细
+export default {
+  name: "HomeInner",
+  components: {
+    HomeMenu,
+    MenuAccount,
+    ChangePwd,
+    BindPhone,
+    MenuPay,
+    MenuWxGzh,
+    MenuService,
+    MenuHbDetail,
+  },
+  inject: ["checkCode"],
+  data() {
+    return {
+      showInner: "", // 控制显示哪个组件
+    };
+  },
+  computed: {},
+  watch: {},
+  created() {},
+  mounted() {},
+  methods: {
+    // 控制显示哪个组件
+    showInnerControl(showInner) {
+      this.showInner = showInner;
+    },
+  },
+};
+</script>
+
+<style lang='less' scoped>
+</style>

+ 302 - 0
src/views/Home/HomeMenu/HomeMenu.vue

@@ -0,0 +1,302 @@
+<template>
+  <div class="menu_box">
+    <!-- 用户信息 -->
+    <div class="userinfo_box">
+      <img src="~@/assets/image/jh.png" alt="" />
+      <div class="info">
+        <div class="account">账号: {{ userInfo && userInfo.passport }}</div>
+        <!-- <div class="userid">用户ID: {{ userInfo.uid }}</div> -->
+        <div class="hb">
+          <div class="left">
+            <span> 鸿币余额: </span>
+            <span class="money">{{ finance }}</span>
+          </div>
+          <span class="to" @click="showInnerControl('hb')"> 前往充值 >> </span>
+        </div>
+      </div>
+      <!-- 返回 -->
+      <i class="iconfont icon-back" @click="close"></i>
+    </div>
+
+    <!-- 菜单 -->
+    <!-- 上 -->
+    <div class="menu">
+      <div class="menu_top">
+        <!-- 账号 -->
+        <div class="menu_account" @click="showInnerControl('account')">
+          <i class="iconfont icon-account"></i>
+          <span class="normal">账号</span>
+        </div>
+        <!-- 鸿币充值 -->
+        <div class="menu_account" @click="showInnerControl('hb')">
+          <i class="iconfont icon-pay"></i>
+          <span class="normal">鸿币充值</span>
+        </div>
+        <!-- 联系客服 -->
+        <div class="menu_account" @click="showInnerControl('service')">
+          <i class="iconfont icon-lianxikefu"></i>
+          <span class="normal">联系客服</span>
+        </div>
+        <!-- 公众号福利 -->
+        <div class="menu_account" @click="showInnerControl('gzh')">
+          <i class="iconfont icon-weixingongzhonghao"></i>
+          <span class="special">公众号福利</span>
+        </div>
+        <!-- 积分商城 -->
+        <div class="menu_account" @click="toStore">
+          <i class="iconfont icon-shangcheng"></i>
+          <span class="special">积分商城</span>
+        </div>
+      </div>
+      <!-- 第二排 -->
+      <div class="menu_top menu_bottom">
+        <!-- 刷新 -->
+        <div class="menu_account" @click="toRefresh">
+          <i class="iconfont icon-shuaxin"></i>
+          <span class="special">刷新</span>
+        </div>
+        <!-- 备用 -->
+        <div class="menu_account"></div>
+        <!-- 备用 -->
+        <div class="menu_account"></div>
+        <!-- 备用 -->
+        <div class="menu_account"></div>
+        <!-- 备用 -->
+        <div class="menu_account"></div>
+      </div>
+    </div>
+    <!-- 切换账号 -->
+    <MenuLoginOut v-on="$listeners" />
+  </div>
+</template>
+
+<script>
+import { mapState } from "vuex";
+import MenuLoginOut from "@/components/Menu/MenuLoginOut"; // 切换账号
+export default {
+  name: "HomeMenu",
+  components: {
+    MenuLoginOut,
+  },
+  data() {
+    return {};
+  },
+  computed: {
+    ...mapState(["CONFIG", "userInfo", "finance", "isWeChat"]),
+  },
+  watch: {},
+  created() {},
+  mounted() {},
+  methods: {
+    // 控制显示哪个组件
+    showInnerControl(name) {
+      this.$emit("showInnerControl", name);
+    },
+
+    // 总菜单的关闭
+    close() {
+      this.$emit("close");
+    },
+
+    // 积分商城
+    toStore() {
+      window.location.href = this.CONFIG.storeUrl;
+    },
+
+    // 刷新
+    toRefresh() {
+      window.location.reload();
+    },
+  },
+};
+</script>
+
+<style lang='less' scoped>
+.menu_box {
+  width: 100%;
+  height: 688 / @rem;
+  position: absolute;
+  top: 100%;
+  margin-top: -688 / @rem;
+  padding: 0 20 / @rem;
+  border-radius: 30 / @rem 30 / @rem 0 0;
+  box-sizing: border-box;
+  background-color: #fff;
+
+  .userinfo_box {
+    padding: 20 / @rem 0;
+    border-bottom: 1px solid #e6e6e6;
+    overflow: hidden;
+
+    img {
+      width: 130 / @rem;
+      margin-top: 10 / @rem;
+      float: left;
+    }
+
+    .info {
+      width: 450 / @rem;
+      margin-left: 40 / @rem;
+      margin-top: 40 / @rem;
+      float: left;
+
+      .account,
+      .userid {
+        height: 60 / @rem;
+        line-height: 60 / @rem;
+        vertical-align: middle;
+        text-align: left;
+        font-size: 32 / @rem;
+      }
+
+      .hb {
+        .left {
+          float: left;
+        }
+        .to {
+          float: right;
+          color: #3faeed;
+          border-bottom: 1px solid #3faeed;
+        }
+        .money {
+          color: #3faeed;
+        }
+      }
+    }
+
+    .icon-back {
+      position: absolute;
+      top: 20 / @rem;
+      right: 30 / @rem;
+      font-size: 50 / @rem;
+    }
+  }
+
+  .menu {
+    height: 330 / @rem;
+    border-bottom: 1px solid #e6e6e6;
+
+    .menu_top {
+      display: flex;
+      margin-top: 20 / @rem;
+      font-size: 28 / @rem;
+
+      i,
+      & > span {
+        display: block;
+        margin: 20 / @rem 0;
+      }
+
+      .menu_account {
+        width: 25%;
+        height: 150 / @rem;
+
+        i {
+          font-size: 60 / @rem;
+        }
+
+        .normal {
+        }
+
+        .special {
+        }
+      }
+    }
+  }
+}
+
+// 正常横屏样式
+@media all and (orientation: landscape),
+  /** 伪竖屏*/all and (orientation: portrait) and (min-width: 600px) and (min-height: 800px) {
+  .menu_box {
+    width: 50%;
+    height: 250 / @rem;
+    left: 0;
+    top: 50%;
+    margin-top: -125 / @rem;
+    padding: 0 10 / @rem;
+    border-radius: 0 20 / @rem 20 / @rem 0;
+    overflow-y: auto;
+
+    .userinfo_box {
+      padding: 10 / @rem 0;
+
+      img {
+        width: 60 / @rem;
+        float: left;
+      }
+
+      .info {
+        width: 225 / @rem;
+        margin-left: 20 / @rem;
+        margin-top: 20 / @rem;
+
+        .account,
+        .userid,
+        .hb {
+          height: 30 / @rem;
+          line-height: 30 / @rem;
+          font-size: 16 / @rem;
+        }
+      }
+
+      .icon-back {
+        top: 10 / @rem;
+        right: 15 / @rem;
+        font-size: 25 / @rem;
+      }
+    }
+
+    .menu {
+      height: 170 / @rem;
+
+      .menu_top {
+        margin-top: 0;
+        font-size: 13 / @rem;
+
+        i,
+        & > span {
+          margin: 10 / @rem 0;
+        }
+
+        .menu_account {
+          height: 90 / @rem;
+
+          i {
+            font-size: 30 / @rem;
+          }
+        }
+      }
+    }
+
+    .menu_login_out {
+      margin-bottom: 10 / @rem;
+    }
+
+    .change_account {
+      margin-top: 10 / @rem;
+    }
+  }
+}
+
+// ipad 横屏
+@media /** 伪竖屏*/all and (orientation: portrait) and (min-width: 600px) and (min-height: 800px),
+  /**ipad伪横屏 */ all and (orientation: landscape) and (min-width: 800px) and (min-height: 600px),
+  all and (min-device-aspect-ratio: 3/4) and (max-device-aspect-ratio: 4/3),
+  all and (device-aspect-ratio: 4/3) {
+  .menu_box {
+    width: 350 / @rem;
+    height: 330 / @rem;
+    left: 50%;
+    top: 50%;
+    margin-top: -145 / @rem;
+    margin-left: -175 / @rem;
+    padding: 0 10 / @rem;
+    border-radius: 20 / @rem;
+  }
+}
+
+// ipad 竖屏
+@media /** 伪竖屏*/all and (orientation: portrait) and (min-width: 600px) and (min-height: 800px) {
+}
+</style>

+ 520 - 0
src/views/Login/Login.vue

@@ -0,0 +1,520 @@
+<template>
+  <div class="login">
+    <div id="udb_login">
+      <div class="title">登录</div>
+      <div class="login_input" @keyup.enter="login">
+        <!-- 手机号/账号 -->
+        <div class="login_username">
+          <!-- <i class="iconfont icon-ziyuan"></i> -->
+          <input
+            class="login_input_username"
+            placeholder="请输入手机号/账号登录"
+            compositionstart="compositionnstartInput"
+            @input="passportKeyup"
+            @focus="onAccountFocus"
+            v-model="account"
+          />
+          <!-- 记住密码的所有账密列表 -->
+          <ul
+            class="account_list"
+            v-show="isShowAccount && !account && accountList.length > 0"
+          >
+            <li v-for="(item, index) in accountList" :key="index">
+              <span @click="selectAccount(item.account, item.pwd)">
+                {{ item.account }}
+              </span>
+              <i
+                class="iconfont icon-baseline-close-px"
+                @click="deleteAccount(index)"
+              ></i>
+            </li>
+          </ul>
+        </div>
+        <!-- 密码 -->
+        <div class="login_password">
+          <!-- <i class="iconfont icon-mima"></i> -->
+          <input
+            class="login_input_password"
+            type="password"
+            password="true"
+            maxlength="20"
+            oninput="value=value.replace(/[\u4E00-\u9FA5]|[\uFE30-\uFFA0]|\s+|[^\w\u4e00-\u9fa5\/\-]|[/|]/ig,'');"
+            placeholder="请输入密码"
+            v-model="password"
+          />
+        </div>
+      </div>
+      <!-- 记住密码 -->
+      <div class="login_other">
+        <p class="login_remember">
+          <input
+            id="is_remember"
+            class="login_input_remember"
+            type="checkbox"
+            v-model="isChecked"
+            value="true"
+          />
+          <label for="is_remember">记住密码</label>
+        </p>
+        <div @click="onForgetClick" class="login_forget">忘记密码</div>
+      </div>
+      <!-- 登录按钮 -->
+      <div v-if="canLogin" class="login_true" @click="login">登录</div>
+      <div v-else class="login_true gray">正在登录</div>
+
+      <!-- 联系客服 -->
+      <span class="service" @click="onService">遇到问题? 联系客服</span>
+
+      <!-- 其他 -->
+      <div class="other">
+        <span class="left" @click="onVisitor">快速登录</span>
+        <span class="right" @click="onReg">没有账号?去注册</span>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import { mapActions, mapState } from "vuex";
+export default {
+  name: "Login",
+  components: {},
+  inject: ["checkCode", "getFinance", "routeLink", "onQuickHandler"],
+  data() {
+    return {
+      isChecked: true, //记住密码是否选中
+      account: "", //获取用户名的值
+      password: "", //获取密码的值
+      isShowAccount: false, // 是否显示账密列表
+      accountList: [], // 账密列表
+      accountLocal: [], // 本地存储的账密
+      canLogin: true, // 登录按钮防抖
+    };
+  },
+  computed: {
+    ...mapState(["query", "isWeChat", "appid"]),
+  },
+  watch: {},
+  created() {},
+  mounted() {
+    //   初始化操作
+    this.init();
+  },
+  methods: {
+    ...mapActions(["userInfoAction"]),
+    // 初始化操作
+    init() {
+      // 初始化账密列表内容
+      this.initAccountList();
+    },
+
+    // ios中文输入
+    compositionstartInput() {
+      this.account = "";
+    },
+
+    // 账号 输入
+    passportKeyup() {
+      this.account = this.account.replace(
+        /[\u4E00-\u9FA5]|[\uFE30-\uFFA0]|\s+|[^\w\u4e00-\u9fa5\/\-]|[/|]/gi,
+        ""
+      );
+    },
+
+    // 初始化账密列表
+    initAccountList() {
+      const accountLocal = JSON.parse(localStorage.getItem("jhremember"));
+      accountLocal &&
+        accountLocal.length &&
+        accountLocal.map((ele) => {
+          const _account = ele.split("&&")[0];
+          const _pwd = ele.split("&&")[1];
+          const account = this.$utils.decrypt(_account);
+          const pwd = this.$utils.decrypt(_pwd);
+          this.accountList.push({
+            account,
+            pwd,
+          });
+        });
+      // 填充账号密码
+      if (accountLocal && accountLocal.length) {
+        this.account = this.accountList[0].account;
+        this.password = this.accountList[0].pwd;
+      }
+    },
+
+    //登录
+    login() {
+      const { account, password } = this;
+      // 1. 账号校验
+      if (!account) {
+        this.$toast.text("账号不能为空");
+        return;
+      }
+      // 2. 密码是否为空
+      if (!password) {
+        this.$toast.text("密码不能为空");
+        return;
+      }
+      // 3. 登录接口
+      this.onLogin();
+    },
+
+    // 忘记密码
+    onForgetClick() {
+      this.routeLink("Forget");
+    },
+
+    // 账密格式正确, 进行登录
+    onLogin() {
+      // 登录接口
+      const { account, password, isChecked } = this;
+
+      if (!this.canLogin) {
+        return;
+      }
+      this.canLogin = false;
+
+      this.$api
+        .login({
+          passport: account,
+          password,
+        })
+        .then((res) => {
+          this.checkCode(res);
+          this.canLogin = true;
+          const { data, code } = res.data;
+          // 错误
+          if (code) {
+            return;
+          }
+          // 成功  进入游戏
+
+          // 获取鸿币余额
+          this.getFinance();
+
+          // 存储信息
+          localStorage.setItem("userInfo", JSON.stringify(data));
+          this.userInfoAction(data);
+
+          // 1. 记住密码
+          if (isChecked) {
+            this.rememberFun(account, password);
+          }
+
+          this.routeLink("Home");
+          // 2. 未记住 不用管
+        });
+    },
+
+    // 账号/手机号 聚焦
+    onAccountFocus() {
+      this.isShowAccount = true;
+    },
+
+    // 选择登录账号
+    selectAccount(account, pwd) {
+      this.account = account;
+      this.password = pwd;
+    },
+
+    // 删除账号密码
+    deleteAccount(accountIndex) {
+      this.accountList.splice(accountIndex, 1);
+      const accountLocal = JSON.parse(localStorage.getItem("jhremember"));
+      accountLocal.splice(accountIndex, 1);
+      localStorage.setItem("jhremember", JSON.stringify(accountLocal));
+    },
+
+    // 快速登录
+    onVisitor() {
+      this.onQuickHandler();
+    },
+
+    // 注册
+    onReg() {
+      this.routeLink("Reg");
+    },
+
+    // 登录成功
+    toHome() {
+      this.routeLink("Home");
+    },
+
+    // 记住密码
+    rememberFun(account, password) {
+      this.accountList = this.$utils.rememberFun(account, password);
+    },
+
+    // 联系客服
+    onService() {
+      this.$emit("showInnerControl", "service");
+    },
+  },
+};
+</script>
+
+<style lang="less">
+.login {
+  position: absolute;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  background-color: rgba(0, 0, 0, 0.6);
+}
+
+#udb_login {
+  width: 700 / @rem;
+  height: 600 / @rem;
+  position: absolute;
+  top: 50%;
+  left: 50%;
+  margin-left: -350 / @rem;
+  margin-top: -300 / @rem;
+  font-size: 32 / @rem;
+  background-color: #fff;
+  box-sizing: border-box;
+  border-radius: 5px;
+  overflow: hidden;
+
+  input {
+    outline: none;
+  }
+
+  .title {
+    height: 100 / @rem;
+    line-height: 100 / @rem;
+    background-color: #3faeed;
+    color: #fff;
+    font-size: 36 / @rem;
+  }
+
+  .login_input,
+  .login_other,
+  .login_true,
+  .other {
+    padding: 0 / @rem 30 / @rem;
+    box-sizing: border-box;
+  }
+
+  .login_input {
+    width: 100%;
+    margin-top: 20 / @rem;
+  }
+  .login_username,
+  .login_password {
+    width: 100%;
+    height: 90 / @rem;
+    position: relative;
+  }
+  .login_username {
+    .account_list {
+      width: 100%;
+      max-height: 305 / @rem;
+      position: absolute;
+      top: 100%;
+      z-index: 5;
+      margin-top: -1px;
+      background-color: #e4e4e4;
+      border: 1px solid #cecece;
+      box-sizing: border-box;
+      overflow-y: auto;
+
+      li {
+        height: 60 / @rem;
+        line-height: 60 / @rem;
+        padding: 0 20 / @rem;
+        border-bottom: 1px solid #dadada;
+
+        &:last-child {
+          border-bottom: 0;
+        }
+
+        span {
+          float: left;
+          width: 80%;
+        }
+        i {
+          float: right;
+        }
+      }
+    }
+  }
+  .icon-ziyuan,
+  .icon-mima {
+    width: 50 / @rem;
+    height: 90 / @rem;
+    line-height: 90 / @rem;
+    position: absolute;
+    left: 5 / @rem;
+    z-index: 5;
+  }
+  .login_password {
+    margin-top: 20 / @rem;
+  }
+  .login_input_username,
+  .login_input_password {
+    width: 100%;
+    height: 100%;
+    border: 1 / @rem solid #d6d6d6;
+    box-sizing: border-box;
+    position: absolute;
+    left: 0;
+    z-index: 4;
+    font-size: 32 / @rem;
+    padding-left: 20 / @rem;
+  }
+  input::-webkit-input-placeholder {
+    color: #888;
+  }
+  .login_other {
+    width: 100%;
+    height: 50 / @rem;
+    margin-top: 20 / @rem;
+  }
+  .login_remember,
+  .login_forget {
+    color: #3faeed;
+    font-size: 30 / @rem;
+    width: 290 / @rem;
+    height: 40 / @rem;
+    line-height: 40 / @rem;
+    display: inline-block;
+  }
+  .login_input_remember {
+    position: relative;
+    top: 4 / @rem;
+    -webkit-appearance: checkbox;
+  }
+  .login_true {
+    width: 80%;
+    height: 80 / @rem;
+    line-height: 80 / @rem;
+    margin: auto;
+    margin-top: 5 / @rem;
+    border-radius: 20 / @rem;
+    background-color: #3faeed;
+    color: #ffffff;
+  }
+  .login_username_check,
+  .login_password_check {
+    font-size: 28 / @rem;
+    color: #e43633;
+    position: absolute;
+  }
+  .is_hide_username,
+  .is_hide_password {
+    display: none;
+  }
+
+  .service {
+    margin-top: 15 / @rem;
+    font-size: 28 / @rem;
+    color: #3faeed;
+    display: inline-block;
+    border-bottom: 1px solid #3faeed;
+  }
+
+  .other {
+    margin-top: 10 / @rem;
+    color: #3faeed;
+    font-size: 34 / @rem;
+    .left {
+      float: left;
+    }
+    .right {
+      float: right;
+    }
+  }
+}
+//  横屏
+@media screen and (orientation: landscape),
+  /**竖屏 */ all and (orientation: portrait) and (min-width: 600px) and (min-height: 800px),
+  /**ipad */ all and (min-device-aspect-ratio: 3/4) and (max-device-aspect-ratio: 4/3),
+  all and (device-aspect-ratio: 4/3) {
+  #udb_login {
+    width: 350 / @rem;
+    height: 260 / @rem;
+    margin-left: -175 / @rem;
+    margin-top: -130 / @rem;
+    font-size: 16 / @rem;
+    overflow-y: auto;
+
+    .title {
+      height: 35 / @rem;
+      line-height: 35 / @rem;
+      font-size: 18 / @rem;
+    }
+
+    .login_input,
+    .login_other,
+    .login_true,
+    .other {
+      padding: 0 / @rem 15 / @rem;
+    }
+
+    .login_input {
+      margin-top: 10 / @rem;
+    }
+    .login_username,
+    .login_password {
+      height: 40 / @rem;
+    }
+    .login_username {
+      .account_list {
+        max-height: 152.5 / @rem;
+
+        li {
+          height: 30 / @rem;
+          line-height: 30 / @rem;
+          padding: 0 10 / @rem;
+        }
+      }
+    }
+    .login_password {
+      margin-top: 10 / @rem;
+    }
+    .login_input_username,
+    .login_input_password {
+      border: 1 / @rem solid #d6d6d6;
+      font-size: 16 / @rem;
+      padding-left: 10 / @rem;
+    }
+    .login_other {
+      height: 25 / @rem;
+      margin-top: 10 / @rem;
+    }
+    .login_remember,
+    .login_forget {
+      width: 145 / @rem;
+      height: 20 / @rem;
+      line-height: 20 / @rem;
+      font-size: 15 / @rem;
+    }
+    .login_input_remember {
+      top: 2 / @rem;
+    }
+    .login_true {
+      height: 30 / @rem;
+      line-height: 30 / @rem;
+      margin-top: 5 / @rem;
+      border-radius: 10 / @rem;
+    }
+    .login_username_check,
+    .login_password_check {
+      font-size: 14 / @rem;
+    }
+
+    .service {
+      margin-top: 5 / @rem;
+      font-size: 14 / @rem;
+    }
+
+    .other {
+      margin-top: 5 / @rem;
+      font-size: 16 / @rem;
+    }
+  }
+}
+</style>

+ 97 - 0
src/views/Login/LoginBox.vue

@@ -0,0 +1,97 @@
+<template>
+  <!-- 登录box -->
+  <div class="login_box">
+    <!-- 账号/手机号登录 -->
+    <Login v-if="showInner == ''" @showInnerControl="showInnerControl" />
+
+    <!-- 选择登录方式 -->
+    <SelectLogin
+      v-if="showInner == 'selectLogin'"
+      @showInnerControl="showInnerControl"
+    />
+
+    <!-- 联系客服 -->
+    <MenuService
+      v-if="showInner == 'service'"
+      @showInnerControl="showInnerControl"
+    />
+  </div>
+</template>
+
+<script>
+import SelectLogin from "@/views/Login/SelectLogin"; // 选择登录方式页
+import Login from "@/views/Login/Login"; // 账号/手机号登录页
+import MenuService from "@/components/Menu/MenuService"; // 联系客服
+import { mapActions } from "vuex";
+export default {
+  name: "LoginBox",
+  components: {
+    SelectLogin,
+    Login,
+    MenuService,
+  },
+  provide() {
+    return {
+      onQuickHandler: this.onQuickHandler,
+    };
+  },
+  data() {
+    return {
+      showInner: "", // 控制显示哪个组件
+      canQucikLogin: true, // 是否能够快速登录
+    };
+  },
+  inject: ["checkCode", "getFinance", "routeLink"],
+  computed: {},
+  watch: {},
+  created() {},
+  mounted() {
+    const jhremember = JSON.parse(localStorage.getItem("jhremember"));
+    const isRemember = jhremember && jhremember.length > 0;
+    // 没有登录, 并且记住了密码 显示账号/手机号登录页面
+    this.showInner = !this.isLogin && isRemember ? "" : "selectLogin";
+  },
+  methods: {
+    ...mapActions(["userInfoAction"]),
+
+    // 控制显示哪个组件
+    showInnerControl(showInner) {
+      this.showInner = showInner;
+    },
+
+    // 游客登录工具函数
+    onQuickHandler() {
+      const { canQucikLogin } = this;
+      if (!canQucikLogin) {
+        return;
+      }
+      this.canQucikLogin = false;
+      const promoCode = this.$utils.getQueryString("promoCode");
+      const { appid } = this;
+      return this.$api.quickRegist({ promoCode, appId: appid }).then((res) => {
+        this.canQucikLogin = true;
+        this.checkCode(res);
+        const { data, code } = res.data;
+        // 错误
+        if (code) {
+          return;
+        }
+        // 成功
+        // 记住密码
+        this.$utils.rememberFun(data.passport, data.password);
+
+        // 获取鸿币余额
+        this.getFinance();
+
+        // 存储用户信息
+        localStorage.setItem("userInfo", JSON.stringify(data));
+        this.userInfoAction(data);
+        this.routeLink("Visitor", data);
+      });
+    },
+  },
+};
+</script>
+
+<style lang='less' scoped>
+</style>

+ 134 - 0
src/views/Login/SelectLogin.vue

@@ -0,0 +1,134 @@
+<template>
+  <div class="inner_box">
+    <div class="select_login">
+      <div class="title">选择登录方式</div>
+      <div class="select_type clear">
+        <div class="left" @click="quickHandler">
+          <i class="iconfont icon-shandian"></i>
+          <div class="type">快速登录</div>
+        </div>
+        <div class="right" @click="onLogin">
+          <i class="iconfont icon-mobile"></i>
+          <div class="type">账号/手机号登录</div>
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "selectLogin",
+  components: {},
+  inject: ["onQuickHandler"],
+  data() {
+    return {};
+  },
+  computed: {},
+  watch: {},
+  created() {},
+  mounted() {},
+  methods: {
+    quickHandler() {
+      this.onQuickHandler();
+    },
+    onLogin() {
+      this.$emit("showInnerControl", "");
+    },
+  },
+};
+</script>
+
+<style lang='less' scoped>
+.select_login {
+  width: 700 / @rem;
+  height: 550 / @rem;
+  position: absolute;
+  top: 50%;
+  left: 50%;
+  margin-left: -350 / @rem;
+  margin-top: -300 / @rem;
+  font-size: 32 / @rem;
+  background-color: #fff;
+  box-sizing: border-box;
+  border-radius: 5px;
+  overflow: hidden;
+
+  .title {
+    height: 100 / @rem;
+    line-height: 100 / @rem;
+    background-color: #3faeed;
+    color: #fff;
+    font-size: 36 / @rem;
+  }
+
+  .select_type {
+    .left,
+    .right {
+      width: 50%;
+      margin-top: 120 / @rem;
+      float: left;
+
+      i {
+        line-height: 100 / @rem;
+      }
+    }
+
+    .left {
+      i {
+        color: #3faeed;
+        font-size: 70 / @rem;
+      }
+    }
+
+    .right {
+      i {
+        font-size: 70 / @rem;
+      }
+    }
+  }
+}
+
+//  横屏
+@media screen and (orientation: landscape),
+  /**竖屏 */ all and (orientation: portrait) and (min-width: 600px) and (min-height: 800px),
+  /**ipad */ all and (min-device-aspect-ratio: 3/4) and (max-device-aspect-ratio: 4/3),
+  all and (device-aspect-ratio: 4/3) {
+  .select_login {
+    width: 350 / @rem;
+    height: 260 / @rem;
+    margin-left: -175 / @rem;
+    margin-top: -130 / @rem;
+    font-size: 16 / @rem;
+
+    .title {
+      height: 40 / @rem;
+      line-height: 40 / @rem;
+      font-size: 18 / @rem;
+    }
+
+    .select_type {
+      .left,
+      .right {
+        margin-top: 60 / @rem;
+
+        i {
+          line-height: 50 / @rem;
+        }
+      }
+
+      .left {
+        i {
+          font-size: 35 / @rem;
+        }
+      }
+
+      .right {
+        i {
+          font-size: 35 / @rem;
+        }
+      }
+    }
+  }
+}
+</style>

+ 472 - 0
src/views/Recall/Recall.vue

@@ -0,0 +1,472 @@
+<template>
+  <div id="recall">
+    <!-- 点击下载提示 -->
+    <DownLoadInfo @onShowControl="onShowControl"></DownLoadInfo>
+
+    <!-- safari添加到桌面提示 -->
+    <SafariTips v-if="showSafariTips" @onShowControl="onShowControl" />
+
+    <!-- 退出页面提示 -->
+    <ExitGame></ExitGame>
+
+    <!-- 页面悬浮球 -->
+    <Float @openInnerBox="openInnerBox"></Float>
+
+    <!-- 游戏iframe -->
+    <GameIframe></GameIframe>
+
+    <!-- 已登录 -->
+    <InnerBox v-show="isLogin && showInnerBox"></InnerBox>
+
+    <!-- 未 显示登录框 -->
+    <UdbBox v-if="!isLogin"></UdbBox>
+  </div>
+</template>
+
+<script>
+import { recallConfig } from "../../config";
+import { mapState, mapActions } from "vuex";
+import DownLoadInfo from "@/components/Inner/DownLoadInfo"; // 点击下载到桌面提示
+import ExitGame from "@/components/Inner/ExitGame.vue"; // 退出页面提示
+import Float from "@/components/Inner/Float"; // 页面悬浮球
+import GameIframe from "@/components/Inner/GameIframe"; // 游戏iframe
+import InnerBox from "@/components/Inner/InnerBox"; // 已登录显示的内容
+import UdbBox from "@/components/UDB/UdbBox"; // 登录框
+import SafariTips from "@/components/Inner/SafariTips"; // safari添加到桌面提示
+export default {
+  name: "Recall",
+  components: {
+    DownLoadInfo,
+    ExitGame,
+    Float,
+    GameIframe,
+    InnerBox,
+    UdbBox,
+    SafariTips,
+  },
+  data() {
+    return {
+      queryTimeout: null, // 订单查询 定时器
+      wechatAppid: "wx2c4f9f89c572aeb5", // 公众号appid
+      showSafariTips: false, // 显示safari组件
+    };
+  },
+  provide() {
+    return {
+      // 校验返回值
+      checkCode: this.checkCode,
+      // 支付校验返回值
+      checkCodeHandler: this.checkCodeHandler,
+      // 刷新登录态
+      refresh: this.refresh,
+      // 获取用户信息
+      getUserInfo: this.getUserInfo,
+      // 获取鸿币余额
+      getFinance: this.getFinance,
+      // 支付
+      payHandler: this.payHandler,
+      // 订单查询
+      queryOrder: this.queryOrder,
+      // 微信内支付
+      wechatPay: this.wechatPay,
+      // 获取微信code
+      getWechatCode: this.getWechatCode,
+    };
+  },
+  computed: {
+    ...mapState(["CONFIG", "isLogin", "showInnerBox", "isPay", "query","appid"]),
+    userInfo() {
+      return this.$store.state.userInfo;
+    },
+  },
+  watch: {
+    // ios url带token 直接登录进去
+    userInfo: {
+      handler(newValue) {
+        if (newValue) {
+          const token = this.$utils.getQueryString("token");
+          if (token) {
+            window.location.href = this.$utils.delQueStr(
+              window.location.href,
+              "token"
+            );
+          }
+        }
+      },
+      deep: true,
+      immediate: true,
+    },
+  },
+  created() {
+    // 携带token 直接登录
+    const token = this.$utils.getQueryString("token");
+    if (token) {
+      localStorage.setItem("x-token", token);
+    }
+  },
+  mounted() {
+    clearTimeout(this.queryTimeout);
+
+    // 设置页面基础配置信息
+    this.setConfigAction(recallConfig);
+
+    // 初始化页面信息
+    this.init();
+  },
+  methods: {
+    ...mapActions([
+      "setConfigAction",
+      "showInnerAction",
+      "userInfoAction",
+      "isLoginAction",
+      "financeAction",
+      "isPayAction",
+      "tokenAction",
+      "isShowExitGameAction",
+      "isWeChatAction",
+    ]),
+
+    onShowControl(showSafariTips) {
+      this.showSafariTips = showSafariTips;
+    },
+
+    // 初始化页面信息
+    async init() {
+      // 微信内
+      const _this = this;
+      document.addEventListener(
+        "WeixinJSBridgeReady",
+        function onBridgeReady() {
+          _this.isWeChatAction(true);
+          // const wechat_open_id = localStorage.getItem("wechat_open_id");
+          const wechat_open_id = _this.$utils.getCookie("wechat_open_id");
+          const wechat_code = _this.$utils.getQueryString("code");
+          if (!wechat_open_id && !wechat_code) {
+            _this.$toast.text("授权过期,请重新授权");
+            _this.getWechatCode();
+            return;
+          }
+
+          // 有code, 没有openid 用code换openid
+          if (!wechat_open_id && wechat_code) {
+            _this.wechatOpenId();
+          }
+        },
+        false
+      );
+
+      // userInfo
+      //   const userInfo = localStorage.getItem("userInfo");
+      //   if (!userInfo) {
+      //     this.isLoginAction(false);
+      //     return;
+      //   }
+
+      // 校验登录态
+      await this.refresh();
+      // 获取用户信息
+      await this.getUserInfo();
+      // 获取鸿币余额
+      await this.getFinance();
+      // 订单查询
+      await this.queryOrder();
+    },
+
+    // 换openid
+    wechatOpenId() {
+      const wechat_code = this.$utils.getQueryString("code");
+      const pay_type = this.$utils.payType("WECHATPAY").h5;
+      this.$api
+        .wechatOpenId({
+          wechat_code,
+          pay_type,
+        })
+        .then((res) => {
+          this.checkCode(res);
+          const { data, code, msg } = res.data;
+          // 错误
+          if (code) {
+            return;
+          }
+          // 成功
+          this.$utils.setCookie("wechat_open_id", data.openId, 30);
+        });
+    },
+
+    // 获取用户信息
+    getUserInfo() {
+      this.$api
+        .info()
+        .then((res) => {
+          this.checkCode(res);
+          const { data, code, msg } = res.data;
+          // 错误
+          if (code) {
+            return;
+          }
+          // 成功
+          this.isLoginAction(true);
+          localStorage.setItem("userInfo", JSON.stringify(data));
+          this.userInfoAction(data);
+          const token = localStorage.getItem("token");
+          this.tokenAction(token);
+        })
+        .then(() => {
+          // 携带token 直接登录
+          const token = this.$utils.getQueryString("token");
+          if (token) {
+            // window.location.href = this.$utils.delQueStr(
+            //   window.location.href,
+            //   "token"
+            // );
+            return;
+          }
+        });
+    },
+
+    // 查询鸿币余额
+    getFinance() {
+      this.$api.finance().then((res) => {
+        this.checkCode(res);
+        const { data, code, msg } = res.data;
+        // 错误
+        if (code) {
+          return;
+        }
+        // 成功
+        this.financeAction(data.hb / 100);
+      });
+    },
+
+    // 微信获取微信code
+    getWechatCode() {
+      const { wechatAppid } = this;
+      let redirect_uri = "";
+      redirect_uri = escape(window.location.href);
+      window.location.href = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${wechatAppid}&redirect_uri=${redirect_uri}&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect`;
+    },
+
+    /**
+     * 支付宝 微信支付
+     * @param {Object} payInfo 支付信息
+     */
+    payHandler(payInfo) {
+      const {
+        server_id,
+        server_name,
+        cp_order_id,
+        role_name,
+        role_id,
+        goods_id,
+        goods_name,
+        amount,
+        pay_type,
+        pay_platform,
+        extra,
+      } = payInfo;
+      const { appid } = this;
+      return this.$api
+        .order({
+          server_id,
+          server_name,
+          cp_order_id,
+          app_id: appid,
+          role_name,
+          role_id,
+          goods_id,
+          goods_name,
+          amount,
+          pay_type,
+          pay_platform,
+          return_url: window.location.href,
+          extra,
+        })
+        .then((res) => {
+          this.checkCodeHandler(res);
+          const { data, code, msg } = res.data;
+          // 错误
+          if (code) {
+            return;
+          }
+          // 成功
+          this.isPayAction(true);
+
+          // 鸿币支付不需要回调
+          if (pay_platform === "HB") {
+            return;
+          }
+
+          const time = new Date().getTime();
+          const orderItem = {
+            order_id: data.order_id,
+            time,
+          };
+          let orderList = JSON.parse(localStorage.getItem("orderList")) || [];
+          orderList.push(orderItem);
+          localStorage.setItem("orderList", JSON.stringify(orderList));
+
+          // 微信内支付
+          const { isWeChat } = this;
+          if (isWeChat) {
+            this.wechatPay(data);
+            return;
+          }
+          window.location.href = data.url;
+        });
+    },
+
+    // 微信内支付
+    wechatPay(res) {
+      if (typeof WeixinJSBridge == "undefined") {
+        if (document.addEventListener) {
+          document.addEventListener(
+            "WeixinJSBridgeReady",
+            this.onBridgeReady(res),
+            false
+          );
+        } else if (document.attachEvent) {
+          document.attachEvent("WeixinJSBridgeReady", this.onBridgeReady(res));
+          document.attachEvent(
+            "onWeixinJSBridgeReady",
+            this.onBridgeReady(res)
+          );
+        }
+      } else {
+        this.onBridgeReady(res);
+      }
+    },
+
+    // 微信内支付
+    onBridgeReady(res) {
+      const { appId, timeStamp, nonceStr, signType, paySign, openId } = res;
+      //   localStorage.setItem("wechat_open_id", openId);
+      this.$utils.setCookie("wechat_open_id", openId, 30);
+      const _this = this;
+      WeixinJSBridge.invoke(
+        "getBrandWCPayRequest",
+        {
+          appId, //公众号ID,由商户传入
+          timeStamp, //时间戳,自1970年以来的秒数
+          nonceStr, //随机串
+          package: res.package,
+          signType, //微信签名方式:
+          paySign, //微信签名
+        },
+        function (res) {
+          if (res.err_msg == "get_brand_wcpay_request:ok") {
+            _this.$toast.text("支付成功");
+            // 使用以上方式判断前端返回,微信团队郑重提示:
+            //res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。
+            return;
+          }
+          if (res.err_msg == "get_brand_wcpay_request:cancel") {
+            _this.$toast.text("取消支付");
+            return;
+          }
+          _this.$toast.text("支付失败");
+        }
+      );
+    },
+
+    // 订单查询
+    queryOrder() {
+      //  延迟执行定义定时器
+      this.queryTimeout = setTimeout(() => {
+        let orderList = JSON.parse(localStorage.getItem("orderList")) || [];
+        if (orderList.length == 0) {
+          clearTimeout(this.queryTimeout);
+          return;
+        }
+        const maxTime = 10000;
+        const nowTime = new Date().getTime();
+        let _orderList = JSON.parse(JSON.stringify(orderList));
+        orderList.map((ele, index) => {
+          const flag = nowTime - ele.time > maxTime;
+          if (!flag) {
+            return;
+          }
+          // 大于10s 订单查询
+          this.$api
+            .query({
+              order_id: ele.order_id,
+            })
+            .then((res) => {
+              _orderList.splice(index, 1);
+              localStorage.setItem("orderList", JSON.stringify(_orderList));
+            });
+        });
+        this.queryOrder();
+      }, 5000);
+    },
+
+    // 显示innerBox
+    openInnerBox() {
+      this.showInnerAction(true);
+    },
+
+    // 校验返回值
+    checkCode(res) {
+      // 请求超时
+      if (!res) {
+        this.$toast.text("当前网络拥堵, 请重试");
+        return;
+      }
+      this.checkCodeHandler(res);
+    },
+
+    // 刷新登录态
+    refresh() {
+      return this.$api.refresh().then((res) => {
+        this.checkCode(res);
+        const { data, code, msg } = res.data;
+        // 错误
+        if (code) {
+          this.isLoginAction(false);
+          this.showInnerAction(false);
+          localStorage.removeItem("userInfo");
+          return;
+        }
+
+        const userInfo = localStorage.getItem("userInfo");
+        this.isLoginAction(true);
+        this.userInfoAction(JSON.parse(userInfo));
+      });
+    },
+
+    // 校验返回值====all
+    checkCodeHandler(res) {
+      const { code, msg } = res.data;
+      if (!code) {
+        return;
+      }
+      switch (code) {
+        // 2 未登录
+        case 2:
+          localStorage.removeItem("userInfo");
+          this.showInnerAction(false);
+          this.isLoginAction(false);
+          this.userInfoAction({});
+          this.$toast.text(msg);
+          break;
+        // 7 微信支付code 过期
+        case 7:
+          this.getWechatCode();
+          this.$toast.text(msg);
+          break;
+        default:
+          this.$toast.text(msg);
+      }
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.focusState {
+  position: absolute;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+}
+</style>

+ 738 - 0
src/views/Reg/Reg.vue

@@ -0,0 +1,738 @@
+<template>
+  <div class="inner_box">
+    <div id="udb_reg_phone_password">
+      <div class="udb_phone_code_box">
+        <div class="title">注册</div>
+        <div class="reg_input_box">
+          <!-- 账密输入 -->
+          <div class="phone_code">
+            <div class="phone_code_input">
+              <!-- 账号名 -->
+              <div class="phone_code_tel" @keyup.enter="checkPassport">
+                <i class="red">*</i>
+                <div
+                  v-if="canPassport"
+                  class="bind_send"
+                  @click="checkPassport"
+                >
+                  验证账号
+                </div>
+                <div v-else class="bind_send gray">验证中</div>
+                <input
+                  class="phone_code_input_captcha"
+                  placeholder="请输入账号名"
+                  v-model="passport"
+                  type="text"
+                  compositionstart="compositionstartInput"
+                  @input="passportKeyup"
+                />
+              </div>
+              <!-- 手机号 -->
+              <div class="phone_code_tel">
+                <i class="red">*</i>
+                <input
+                  class="phone_code_input_username"
+                  type="tel"
+                  maxlength="11"
+                  placeholder="请输入手机号"
+                  oninput="value=value.replace(/[^\d]/g,'')"
+                  v-model="phoneNumber"
+                />
+              </div>
+              <!-- 验证码 -->
+              <div class="phone_code_captcha">
+                <i class="red">*</i>
+                <div
+                  class="bind_send"
+                  :class="{ gray: canVerif }"
+                  @click="sendPhoneNumber"
+                >
+                  {{ verifText }}
+                </div>
+                <input
+                  class="phone_code_input_captcha"
+                  placeholder="请输入验证码"
+                  v-model="captcha"
+                  maxlength="4"
+                />
+              </div>
+              <!-- 密码 -->
+              <div class="reg_password">
+                <i class="red">*</i>
+                <input
+                  class="reg_input_password"
+                  type="password"
+                  placeholder="请输入密码"
+                  password="true"
+                  maxlength="20"
+                  oninput="value=value.replace(/[\u4E00-\u9FA5]|[\uFE30-\uFFA0]|\s+|[^\w\u4e00-\u9fa5\/\-]|[/|]/ig,'');"
+                  v-model="password"
+                />
+              </div>
+              <!-- 确认密码 -->
+              <div class="reg_password2">
+                <i class="red">*</i>
+                <input
+                  class="reg_input_password2"
+                  type="password"
+                  placeholder="请再次输入密码"
+                  password="true"
+                  maxlength="20"
+                  oninput="value=value.replace(/[\u4E00-\u9FA5]|[\uFE30-\uFFA0]|\s+|[^\w\u4e00-\u9fa5\/\-]|[/|]/ig,'');"
+                  v-model="passwordAgin"
+                />
+              </div>
+            </div>
+          </div>
+          <!-- 阅读协议 -->
+          <!-- <div class="reg_phone_protocol">
+          <input
+            class="reg_phone_protocol_checkbox"
+            type="checkbox"
+            id="is_phone_read"
+            checked
+            v-model="ischeckRegPhone"
+          />
+          <label
+            for="is_phone_read"
+            :class="{ red: !ischeckRegPhone }"
+            class="reg_phone_protocol_text"
+          >
+            阅读并同意
+          </label>
+          <span @click="onAgreement" class="agreement">用户协议</span>
+        </div> -->
+          <div v-if="canReg" class="bind_phone_true" @click="bindTrue">
+            注册
+          </div>
+          <div v-else class="bind_phone_true gray">注册中</div>
+          <!-- 底部跳其他页面 -->
+          <div class="other" @click="onLogin">返回登录</div>
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import { mapState } from "vuex";
+export default {
+  name: "RegPhonePwd",
+  components: {},
+  inject: ["checkCode", "routeLink"],
+  data() {
+    return {
+      passport: "", // 账号名
+      phoneNumber: "", // 手机号
+      captcha: "", // 验证码
+      password: "", // 密码
+      passwordAgin: "", // 确认密码
+      ischeckRegPhone: true, // 阅读并同意
+      verifText: "获取验证码", // 获取验证码按钮文本
+      canVerif: false, // 获取验证码按钮是否可以点击
+      countDownTimer: null, // 验证码倒计时
+      canSms: true, // 是否可以请求验证码接口
+      canReg: true, // 是否可以注册
+      canPassport: true, // 是否可以验证
+      accountList: [], // 账密列表
+      accountLocal: [], // 本地存储的账密
+    };
+  },
+  computed: {
+    ...mapState(["query"]),
+  },
+  watch: {},
+  created() {},
+  mounted() {
+    //  初始化操作
+    this.init();
+  },
+  destroyed() {
+    clearInterval(this.countDownTimer);
+  },
+  methods: {
+    // ios中文输入
+    compositionstartInput() {
+      this.passport = "";
+    },
+    // 账号 输入
+    passportKeyup() {
+      this.passport = this.passport.replace(
+        /[\u4E00-\u9FA5]|[\uFE30-\uFFA0]|\s+|[^\w\u4e00-\u9fa5\/\-]|[/|]/gi,
+        ""
+      );
+    },
+
+    // 初始化操作
+    init() {
+      // 初始化账密列表内容
+      this.initAccountList();
+    },
+
+    // 验证账号
+    checkPassport() {
+      const { passport } = this;
+      const regpassport = /^[a-zA-Z][a-zA-Z0-9_]{3,31}$/.test(passport);
+      if (!regpassport) {
+        this.$toast.text("账号需用字母开头, 且长度大于4位");
+        return;
+      }
+      if (passport == "admin" || passport == "root") {
+        this.$toast.text("此账号已被注册");
+        return;
+      }
+      this.passportExists();
+    },
+
+    // 验证账号
+    passportExists() {
+      if (!this.canPassport) {
+        return;
+      }
+      this.canPassport = false;
+      const { passport } = this;
+      this.$api
+        .passportExists({
+          passport,
+        })
+        .then((res) => {
+          this.checkCode(res);
+          this.canPassport = true;
+          const { code, data, msg } = res.data;
+          // 错误
+          if (code) {
+            return;
+          }
+          if (data) {
+            this.$toast.text("此账号已被注册");
+            return;
+          }
+          this.$toast.text("此账号可用");
+        });
+    },
+
+    // 获取验证码
+    sendPhoneNumber() {
+      if (!this.canSms) {
+        return;
+      }
+      const { phoneNumber } = this;
+      // 1. 验证手机号格式
+      this.canVerif = this.$utils.checkVerification(phoneNumber);
+      if (!this.canVerif) {
+        this.$toast.text("手机号格式不正确");
+        return;
+      }
+      // 2. 验证码倒计时
+      this.countDown();
+
+      // 3. 请求接口 发送验证码
+      this.$api
+        .sendSms({
+          mobile: phoneNumber,
+          reason: "regist",
+        })
+        .then((res) => {
+          this.checkCode(res);
+          const { code, data, msg } = res.data;
+          // 错误
+          if (code) {
+            return;
+          }
+        });
+    },
+
+    // 用户协议
+    onAgreement() {},
+
+    // 倒计时
+    countDown() {
+      this.canSms = false;
+      let count = 60;
+      this.verifText = count + "s";
+      this.countDownTimer = setInterval(() => {
+        count--;
+        this.verifText = count + "s";
+        // 倒计时结束
+        if (count === 0) {
+          this.canVerif = false;
+          this.verifText = "获取验证码";
+          this.canSms = true;
+          clearInterval(this.countDownTimer);
+        }
+      }, 1000);
+    },
+
+    // 注册
+    bindTrue() {
+      const {
+        phoneNumber,
+        captcha,
+        password,
+        passwordAgin,
+        ischeckRegPhone,
+        passport,
+      } = this;
+
+      // 0. 校验账号是否为空
+      if (!passport) {
+        this.$toast.text("账号不能为空");
+        return;
+      }
+      // 1. 验证手机号格式
+      const telCheck = this.$utils.checkVerification(phoneNumber);
+      if (!telCheck) {
+        this.$toast.text("手机号格式不准确");
+        return;
+      }
+      // 2. 验证验证码是否为空
+      if (!captcha) {
+        this.$toast.text("验证码不能为空");
+        return;
+      }
+      // 3. 验证密码
+      if (!password) {
+        this.$toast.text("密码不能为空");
+        return;
+      }
+      if (password !== passwordAgin) {
+        this.$toast.text("两次密码不一致");
+        return;
+      }
+      // 4. 阅读协议
+      if (!ischeckRegPhone) {
+        this.$toast.text("请阅读与同意协议");
+        return;
+      }
+      // 5. 校验账号
+      const regpassport = /^[a-zA-Z][a-zA-Z0-9_]{3,31}$/.test(passport);
+      if (!regpassport) {
+        this.$toast.text("账号需用字母开头, 且长度大于4位");
+        return;
+      }
+      if (passport == "admin" || passport == "root") {
+        this.$toast.text("此账号已被注册");
+        return;
+      }
+      // 6. 注册
+      this.onRegister();
+    },
+
+    // 返回登录
+    onLogin() {
+      this.routeLink("Login");
+    },
+
+    // 注册接口
+    onRegister() {
+      if (!this.canReg) {
+        return;
+      }
+      this.canReg = false;
+
+      const { phoneNumber, captcha, password, passport } = this;
+      const promoCode = this.$utils.getQueryString("promoCode");
+      const { appid } = this.$CONFIG;
+      const registObj = {
+        passport,
+        mobile: phoneNumber,
+        smsCode: captcha,
+        password,
+        promoCode,
+        appId: appid,
+      };
+      this.$api.regist(registObj).then((res) => {
+        this.checkCode(res);
+        this.canReg = true;
+        const { code, msg } = res.data;
+
+        // 错误
+        if (code) {
+          return;
+        }
+
+        this.$toast.text(msg);
+        // 记住密码
+        this.rememberFun(passport, password);
+        // 成功 去登录
+        this.onLogin();
+      });
+    },
+
+    // 初始化账密列表
+    initAccountList() {
+      const accountLocal = JSON.parse(localStorage.getItem("jhremember"));
+      accountLocal &&
+        accountLocal.length &&
+        accountLocal.map((ele) => {
+          const _account = ele.split("&&")[0];
+          const _pwd = ele.split("&&")[1];
+          const account = this.$utils.decrypt(_account);
+          const pwd = this.$utils.decrypt(_pwd);
+          this.accountList.push({
+            account,
+            pwd,
+          });
+        });
+    },
+
+    // 记住密码
+    rememberFun(account, password) {
+      const accountEnc = this.$utils.encrypt(account);
+      const pwdEnc = this.$utils.encrypt(password);
+      const accountPwd = `${accountEnc}&&${pwdEnc}`;
+      let accountLocal = JSON.parse(localStorage.getItem("jhremember"));
+      // 初始状态
+      if (!accountLocal) {
+        accountLocal = [accountPwd];
+        this.accountList.unshift({
+          account,
+          pwd: password,
+        });
+        localStorage.setItem("jhremember", JSON.stringify(accountLocal));
+        return;
+      }
+
+      // 已经存有账密
+      // 1.  判断账号是否存在
+      const reAccount = this.accountList.filter((ele) => {
+        return ele.account === account;
+      });
+      // 1.1 如果账号存在 判断密码是否一致
+      if (reAccount.length > 0) {
+        if (reAccount[0].pwd === password) {
+          return;
+        }
+        // 1.2 不一致  删除原来的账密 存
+        accountLocal = accountLocal.filter((ele) => {
+          const _accountEcv = ele.split("&&")[0];
+          return _accountEcv !== accountEnc;
+        });
+      }
+      // 2. 账号不存在 存
+      accountLocal = accountLocal
+        ? [accountPwd, ...accountLocal]
+        : [accountPwd];
+      this.accountList.unshift({
+        account,
+        pwd: password,
+      });
+      localStorage.setItem("jhremember", JSON.stringify(accountLocal));
+    },
+  },
+};
+</script>
+
+<style lang="less">
+#udb_reg_phone_password {
+  input {
+    outline: none;
+  }
+
+  .udb_phone_code_box {
+    width: 700 / @rem;
+    height: 750 / @rem;
+    position: absolute;
+    top: 50%;
+    left: 50%;
+    margin-left: -350 / @rem;
+    margin-top: -375 / @rem;
+    font-size: 32 / @rem;
+    background-color: #fff;
+    box-sizing: border-box;
+    border-radius: 5px;
+    overflow: hidden;
+
+    .title {
+      height: 100 / @rem;
+      line-height: 100 / @rem;
+      background-color: #3faeed;
+      color: #fff;
+      font-size: 36 / @rem;
+    }
+
+    .reg_input_box {
+      padding: 0 / @rem 30 / @rem;
+
+      .other {
+        margin-top: 20 / @rem;
+        float: left;
+        color: #3faeed;
+        font-size: 28 / @rem;
+      }
+    }
+
+    .reg_phone_protocol_text {
+      display: inline-block;
+    }
+    .red {
+      line-height: 70 / @rem;
+      color: #e43633;
+      float: left;
+    }
+    .agreement {
+      color: #e65c1c;
+      border-bottom: 1 / @rem solid #e65c1c;
+      margin-left: -2 / @rem;
+    }
+    .reg_phone_protocol {
+      font-size: 32 / @rem;
+      margin-top: 20 / @rem;
+    }
+    .reg_phone_protocol_checkbox {
+      vertical-align: middle;
+      -webkit-appearance: checkbox;
+    }
+    .phone_code_input {
+      width: 100%;
+      margin-top: 25 / @rem;
+    }
+    .phone_code_tel,
+    .phone_code_captcha {
+      width: 100%;
+      height: 70 / @rem;
+      position: relative;
+      margin-top: 20 / @rem;
+    }
+    .phone_code_tel {
+      margin-top: 20 / @rem;
+    }
+    .icon-shouji1,
+    .icon-mima {
+      width: 50 / @rem;
+      height: 70 / @rem;
+      line-height: 70 / @rem;
+      position: absolute;
+      left: 0;
+      z-index: 5;
+    }
+    .phone_code_input_username,
+    .phone_code_input_captcha {
+      width: 94.5%;
+      height: 75 / @rem;
+      padding-left: 20 / @rem;
+      float: right;
+      font-size: 32 / @rem;
+      border: 1 / @rem solid #d6d6d6;
+      box-sizing: border-box;
+    }
+    .phone_code_input_captcha {
+      width: 60%;
+      margin-right: 30 / @rem;
+    }
+    input::-webkit-input-placeholder {
+      color: #888;
+    }
+    .phone_code_protocol {
+      width: 100%;
+      font-size: 32 / @rem;
+      margin: auto;
+      margin-top: 50 / @rem;
+      height: 40 / @rem;
+      line-height: 40 / @rem;
+    }
+    .phone_code_protocol_checkbox {
+      position: relative;
+      top: 2 / @rem;
+    }
+    .phone_code_protocol_text {
+      display: inline-block;
+    }
+    .phone_code_check,
+    .bind_captcha_check {
+      font-size: 32 / @rem;
+      color: #e43633;
+      position: absolute;
+    }
+    .bind_send {
+      width: 30%;
+      height: 75 / @rem;
+      line-height: 70 / @rem;
+      float: right;
+      color: #ffffff;
+      font-size: 32 / @rem;
+      border-radius: 10 / @rem;
+      background-color: #3faeed;
+    }
+    .bind_phone_true {
+      width: 80%;
+      height: 90 / @rem;
+      line-height: 90 / @rem;
+      margin: 20 / @rem auto 0;
+      border-radius: 15 / @rem;
+      background-color: #3faeed;
+      color: #ffffff;
+      box-sizing: border-box;
+      font-size: 32 / @rem;
+    }
+    .gray {
+      background-color: #888;
+    }
+    .reg_password,
+    .reg_password2 {
+      width: 100%;
+      height: 70 / @rem;
+      margin-top: 20 / @rem;
+      position: relative;
+    }
+    .reg_input_password {
+      width: 94.5%;
+      height: 70 / @rem;
+      padding-left: 20 / @rem;
+      float: right;
+      font-size: 32 / @rem;
+      box-sizing: border-box;
+      border: 1 / @rem solid #d6d6d6;
+    }
+    .reg_input_password2 {
+      width: 94.5%;
+      height: 70 / @rem;
+      padding-left: 20 / @rem;
+      float: right;
+      z-index: 4;
+      font-size: 32 / @rem;
+      box-sizing: border-box;
+      border: 1 / @rem solid #d6d6d6;
+      outline: none;
+    }
+    .icon-mima {
+      position: absolute;
+      left: 0;
+      width: 50 / @rem;
+      z-index: 5;
+      height: 70 / @rem;
+      line-height: 70 / @rem;
+    }
+    .login_password_check,
+    .login_passwordAgin_check {
+      font-size: 32 / @rem;
+      color: #e43633;
+      position: absolute;
+    }
+    .is_hide_password,
+    .is_hide_pwd_agin {
+      display: none;
+    }
+  }
+}
+
+// 横屏
+@media screen and (orientation: landscape),
+  /**竖屏 */ all and (orientation: portrait) and (min-width: 600px) and (min-height: 800px),
+  /**ipad */ all and (min-device-aspect-ratio: 3/4) and (max-device-aspect-ratio: 4/3),
+  all and (device-aspect-ratio: 4/3) {
+  #udb_reg_phone_password {
+    .udb_phone_code_box {
+      width: 350 / @rem;
+      height: 270 / @rem;
+      margin-left: -175 / @rem;
+      margin-top: -135 / @rem;
+      font-size: 16 / @rem;
+      overflow-y: auto;
+
+      .title {
+        height: 40 / @rem;
+        line-height: 40 / @rem;
+        font-size: 18 / @rem;
+      }
+
+      .reg_input_box {
+        padding: 0 / @rem 15 / @rem;
+
+        .other {
+          margin-top: 5 / @rem;
+          font-size: 14 / @rem;
+        }
+      }
+      .red {
+        line-height: 35 / @rem;
+      }
+      .agreement {
+        margin-left: -1 / @rem;
+      }
+      .reg_phone_protocol {
+        font-size: 16 / @rem;
+        margin-top: 5 / @rem;
+      }
+      .phone_code_input {
+        margin-top: 10 / @rem;
+      }
+      .phone_code_tel,
+      .phone_code_captcha {
+        height: 35 / @rem;
+        margin-top: 5 / @rem;
+      }
+      .phone_code_tel {
+        margin-top: 5 / @rem;
+      }
+      .phone_code_input_username,
+      .phone_code_input_captcha {
+        height: 35 / @rem;
+        padding-left: 10 / @rem;
+        font-size: 16 / @rem;
+      }
+      .phone_code_input_captcha {
+        width: 55.15%;
+      }
+      .phone_code_protocol {
+        height: 20 / @rem;
+        line-height: 20 / @rem;
+        margin-top: 5 / @rem;
+        font-size: 16 / @rem;
+      }
+      .phone_code_protocol_checkbox {
+        top: 1 / @rem;
+      }
+
+      .phone_code_check,
+      .bind_captcha_check {
+        font-size: 16 / @rem;
+      }
+      .bind_send {
+        height: 30 / @rem;
+        line-height: 30 / @rem;
+        font-size: 16 / @rem;
+        border-radius: 5 / @rem;
+      }
+      .bind_phone_true {
+        height: 30 / @rem;
+        line-height: 30 / @rem;
+        margin: 5 / @rem auto 0;
+        border-radius: 7 / @rem;
+        font-size: 16 / @rem;
+      }
+      .reg_password,
+      .reg_password2 {
+        height: 30 / @rem;
+        margin-top: 5 / @rem;
+      }
+      .reg_input_password {
+        height: 30 / @rem;
+        padding-left: 10 / @rem;
+        font-size: 16 / @rem;
+      }
+      .reg_input_password2 {
+        height: 30 / @rem;
+        padding-left: 10 / @rem;
+        font-size: 16 / @rem;
+      }
+      .login_password_check,
+      .login_passwordAgin_check {
+        font-size: 16 / @rem;
+      }
+    }
+  }
+}
+
+// ipad 横屏
+@media /** 伪竖屏*/all and (orientation: portrait) and (min-width: 600px) and (min-height: 800px),
+  /**ipad伪横屏 */ all and (orientation: landscape) and (min-width: 800px) and (min-height: 600px),
+  all and (min-device-aspect-ratio: 3/4) and (max-device-aspect-ratio: 4/3),
+  all and (device-aspect-ratio: 4/3) {
+  #udb_reg_phone_password {
+    .udb_phone_code_box {
+      height: 300 / @rem;
+    }
+  }
+}
+</style>

+ 180 - 0
src/views/Visitor/Visitor.vue

@@ -0,0 +1,180 @@
+<template>
+  <div class="visitor">
+    <div class="inner_box" @click="close"></div>
+    <div class="visitor_login">
+      <div class="title">账密截图</div>
+      <!-- 账密 -->
+      <div class="account_box">
+        <p>
+          <span class="left">账号:</span>
+          <span class="right">{{ $route.params.passport }}</span>
+        </p>
+        <p>
+          <span class="left">密码:</span>
+          <span class="right">{{ $route.params.password }}</span>
+        </p>
+      </div>
+      <!-- 提示 -->
+      <div class="prompt" v-html="$CONFIG.visitorPrompt"></div>
+      <!-- 倒计时 -->
+      <p
+        class="close"
+        id="copy"
+        ref="copy"
+        :data-clipboard-text="`账号:${$route.params.passport} 密码:${$route.params.password}`"
+        @click="close"
+      >
+        进入游戏
+      </p>
+    </div>
+  </div>
+</template>
+
+<script>
+import { mapActions } from "vuex";
+export default {
+  name: "Visitor",
+  components: {},
+  data() {
+    return {
+      clipboard: null, // 复制对象
+    };
+  },
+  props: {
+    // 游客账密
+    visitorInfo: {
+      type: Object,
+      default: function () {
+        return {};
+      },
+    },
+  },
+  computed: {},
+  watch: {},
+  created() {},
+  mounted() {
+    this.copy();
+  },
+  beforeDestroy() {
+    this.clipboard && this.clipboard.destroy();
+  },
+  methods: {
+    ...mapActions(["isWeChat"]),
+
+    // 进入游戏
+    close() {
+      console.log("visitor close");
+    },
+
+    // 复制账密
+    copy() {
+      this.clipboard = new this.$clipboard("#copy");
+      this.clipboard.on("success", () => {
+        this.$toast.text("账号密码已复制,请注意保存");
+      });
+    },
+  },
+};
+</script>
+
+<style lang='less' scoped>
+.visitor_login {
+  width: 700 / @rem;
+  height: 480 / @rem;
+  position: absolute;
+  top: 50%;
+  left: 50%;
+  margin-top: -230 / @rem;
+  margin-left: -350 / @rem;
+  background-color: #fff;
+  box-sizing: border-box;
+  border-radius: 5px;
+  overflow: hidden;
+
+  .title {
+    height: 100 / @rem;
+    line-height: 100 / @rem;
+    background-color: #3faeed;
+    color: #fff;
+    font-size: 36 / @rem;
+  }
+
+  .hide {
+    display: none;
+  }
+
+  .account_box,
+  .prompt {
+    padding: 20 / @rem;
+  }
+  .account_box {
+    p {
+      margin: 10 / @rem 20 / @rem;
+      font-size: 32 / @rem;
+      .left {
+        font-weight: bold;
+      }
+      .right {
+        color: #3faeed;
+        margin-left: 20 / @rem;
+      }
+    }
+  }
+  .prompt {
+    color: #f00;
+  }
+  .close {
+    width: 60%;
+    margin: 10 / @rem auto 0;
+    margin-bottom: 20 / @rem;
+    height: 70 / @rem;
+    line-height: 70 / @rem;
+    border-radius: 10 / @rem;
+    background-color: #3faeed;
+    color: #fff;
+    font-size: 32 / @rem;
+    cursor: pointer;
+  }
+}
+
+@media screen and (orientation: landscape),
+  /**竖屏 */ all and (orientation: portrait) and (min-width: 600px) and (min-height: 800px),
+  /**ipad */ all and (min-device-aspect-ratio: 3/4) and (max-device-aspect-ratio: 4/3),
+  all and (device-aspect-ratio: 4/3) {
+  .visitor_login {
+    width: 350 / @rem;
+    height: 250 / @rem;
+    margin-top: -120 / @rem;
+    margin-left: -175 / @rem;
+    overflow-y: auto;
+
+    .title {
+      height: 50 / @rem;
+      line-height: 50 / @rem;
+      font-size: 18 / @rem;
+    }
+    .account_box,
+    .prompt {
+      padding: 5 / @rem;
+    }
+    .account_box {
+      padding-bottom: 0;
+      p {
+        margin-top: 8 / @rem;
+        font-size: 16 / @rem;
+        .right {
+          margin-left: 10 / @rem;
+        }
+      }
+    }
+    .close {
+      margin: 20 / @rem auto 0;
+      height: 35 / @rem;
+      line-height: 35 / @rem;
+      border-radius: 5 / @rem;
+      font-size: 16 / @rem;
+      margin-bottom: 10 / @rem;
+    }
+  }
+}
+</style>

+ 0 - 0
static/.gitkeep


Некоторые файлы не были показаны из-за большого количества измененных файлов