YinBin 1 rok temu
commit
a5c8778ed7
75 zmienionych plików z 44674 dodań i 0 usunięć
  1. 13 0
      .editorconfig
  2. 21 0
      .eslintrc.js
  3. 11 0
      .gitignore
  4. 5 0
      .idea/.gitignore
  5. 6 0
      .idea/inspectionProfiles/Project_Default.xml
  6. 8 0
      .idea/modules.xml
  7. 6 0
      .idea/vcs.xml
  8. 12 0
      .idea/yygh-site.iml
  9. 11 0
      Dockerfile
  10. 64 0
      Jenkinsfile
  11. 36 0
      README.en.md
  12. 39 0
      README.md
  13. 19 0
      api/cmn/dict.js
  14. 78 0
      api/hosp/hospital.js
  15. 41 0
      api/order/orderInfo.js
  16. 18 0
      api/order/weixin.js
  17. 12 0
      api/sms/sms.js
  18. 42 0
      api/user/patient.js
  19. 28 0
      api/user/userInfo.js
  20. 13 0
      api/user/weixin.js
  21. 9 0
      assets/README.md
  22. 2892 0
      assets/css/app.css
  23. 6916 0
      assets/css/chunk.css
  24. 2178 0
      assets/css/hospital.css
  25. 1058 0
      assets/css/hospital_personal.css
  26. 3 0
      assets/css/iconfont.css
  27. 114 0
      assets/css/index.css
  28. 547 0
      assets/css/main.css
  29. 1130 0
      assets/css/personal.css
  30. 44 0
      assets/css/reset.css
  31. BIN
      assets/images/logo.png
  32. BIN
      assets/images/web-banner1.png
  33. 80 0
      components/AppLogo.vue
  34. 7 0
      components/README.md
  35. 67 0
      deploy/deploy.yml
  36. 9 0
      layouts/README.md
  37. 37 0
      layouts/default.vue
  38. 5 0
      layouts/empty.vue
  39. 19 0
      layouts/myfooter.vue
  40. 361 0
      layouts/myheader.vue
  41. 10 0
      middleware/README.md
  42. 69 0
      nuxt.config.js
  43. 11127 0
      package-lock.json
  44. 37 0
      package.json
  45. 8 0
      pages/README.md
  46. 162 0
      pages/hospital/_hoscode.vue
  47. 261 0
      pages/hospital/booking.vue
  48. 101 0
      pages/hospital/detail/_hoscode.vue
  49. 104 0
      pages/hospital/notice/_hoscode.vue
  50. 325 0
      pages/hospital/schedule.vue
  51. 276 0
      pages/index.vue
  52. 179 0
      pages/order/index.vue
  53. 239 0
      pages/order/show.vue
  54. 328 0
      pages/patient/add.vue
  55. 114 0
      pages/patient/index.vue
  56. 149 0
      pages/patient/show.vue
  57. 232 0
      pages/user/index.vue
  58. 28 0
      pages/weixin/callback.vue
  59. 9 0
      plugins/README.md
  60. 6 0
      plugins/myPlugin.js
  61. 12 0
      static/README.md
  62. 2892 0
      static/css/app.css
  63. 6916 0
      static/css/chunk.css
  64. 2178 0
      static/css/hospital.css
  65. 1058 0
      static/css/hospital_personal.css
  66. 3 0
      static/css/iconfont.css
  67. 114 0
      static/css/index.css
  68. 547 0
      static/css/main.css
  69. 1130 0
      static/css/personal.css
  70. 44 0
      static/css/reset.css
  71. BIN
      static/favicon.ico
  72. BIN
      static/images/logo.png
  73. BIN
      static/images/web-banner1.png
  74. 11 0
      store/README.md
  75. 46 0
      utils/request.js

+ 13 - 0
.editorconfig

@@ -0,0 +1,13 @@
+# editorconfig.org
+root = true
+
+[*]
+indent_size = 2
+indent_style = space
+end_of_line = lf
+charset = utf-8
+trim_trailing_whitespace = true
+insert_final_newline = true
+
+[*.md]
+trim_trailing_whitespace = false

+ 21 - 0
.eslintrc.js

@@ -0,0 +1,21 @@
+module.exports = {
+  root: true,
+  env: {
+    browser: true,
+    node: true
+  },
+  parserOptions: {
+    parser: 'babel-eslint'
+  },
+  extends: [
+    // https://github.com/vuejs/eslint-plugin-vue#priority-a-essential-error-prevention
+    // consider switching to `plugin:vue/strongly-recommended` or `plugin:vue/recommended` for stricter rules.
+    'plugin:vue/essential'
+  ],
+  // required to lint *.vue files
+  plugins: [
+    'vue'
+  ],
+  // add your custom rules here
+  rules: {}
+}

+ 11 - 0
.gitignore

@@ -0,0 +1,11 @@
+# dependencies
+node_modules
+
+# logs
+npm-debug.log
+
+# Nuxt build
+.nuxt
+
+# Nuxt generate
+dist

+ 5 - 0
.idea/.gitignore

@@ -0,0 +1,5 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/

+ 6 - 0
.idea/inspectionProfiles/Project_Default.xml

@@ -0,0 +1,6 @@
+<component name="InspectionProjectProfileManager">
+  <profile version="1.0">
+    <option name="myName" value="Project Default" />
+    <inspection_tool class="Eslint" enabled="true" level="WARNING" enabled_by_default="true" />
+  </profile>
+</component>

+ 8 - 0
.idea/modules.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectModuleManager">
+    <modules>
+      <module fileurl="file://$PROJECT_DIR$/.idea/yygh-site.iml" filepath="$PROJECT_DIR$/.idea/yygh-site.iml" />
+    </modules>
+  </component>
+</project>

+ 6 - 0
.idea/vcs.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="VcsDirectoryMappings">
+    <mapping directory="$PROJECT_DIR$" vcs="Git" />
+  </component>
+</project>

+ 12 - 0
.idea/yygh-site.iml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="WEB_MODULE" version="4">
+  <component name="NewModuleRootManager">
+    <content url="file://$MODULE_DIR$">
+      <excludeFolder url="file://$MODULE_DIR$/temp" />
+      <excludeFolder url="file://$MODULE_DIR$/.tmp" />
+      <excludeFolder url="file://$MODULE_DIR$/tmp" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>

+ 11 - 0
Dockerfile

@@ -0,0 +1,11 @@
+FROM node:14.17.6
+
+WORKDIR /app
+#把.nuxt目录下的所有内容复制到/app/.nuxt/
+COPY .  /app/
+
+#安装核心依赖  npm cache clean -f
+RUN ["npm","install","--registry=https://registry.npm.taobao.org"]
+RUN ["npm","run","build"]
+EXPOSE 3000
+CMD ["npm", "run", "start"]

+ 64 - 0
Jenkinsfile

@@ -0,0 +1,64 @@
+pipeline {
+  agent {
+    node {
+      label 'nodejs'
+    }
+
+  }
+  stages {
+    stage('clone code') {
+      agent none
+      steps {
+        container('nodejs') {
+          git(url: 'http://gitlab.yinbin.ink:30000/test/yygh-site.git', credentialsId: 'nas-gitlab', branch: 'master', changelog: true, poll: false)
+        }
+
+      }
+    }
+
+    stage('build js') {
+      agent none
+      steps {
+        container('nodejs') {
+          sh 'npm i --registry=https://registry.npmmirror.com'
+          sh 'npm run build'
+        }
+
+      }
+    }
+
+    stage('build & push') {
+      agent none
+      steps {
+        container('nodejs') {
+          sh 'docker build -f Dockerfile -t $REGISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:v$BUILD_NUMBER .'
+          withCredentials([usernamePassword(credentialsId : 'harbor-docker-registry' ,usernameVariable : 'DOCKER_REGISTY_USER' ,passwordVariable : 'DOCKER_REGISTY_PASSWD' ,)]) {
+            sh '''
+echo "$DOCKER_REGISTY_PASSWD" | docker login $REGISTRY -u "$DOCKER_REGISTY_USER" --password-stdin
+'''
+            sh '''
+docker push $REGISTRY/$DOCKERHUB_NAMESPACE/$APP_NAME:v$BUILD_NUMBER'''
+          }
+
+        }
+
+      }
+    }
+
+    stage('deploy to production') {
+      steps {
+        kubernetesDeploy(configs: 'deploy/**', enableConfigSubstitution: true, kubeconfigId: "$KUBECONFIG_CREDENTIAL_ID")
+      }
+    }
+
+  }
+  environment {
+    DOCKER_CREDENTIAL_ID = 'dockerhub-id'
+    GITHUB_CREDENTIAL_ID = 'github-id'
+    KUBECONFIG_CREDENTIAL_ID = 'kubeconfig-dev-id'
+    REGISTRY = '192.168.122.10:30002'
+    DOCKERHUB_NAMESPACE = 'devops_syt'
+    GITHUB_ACCOUNT = 'kubesphere'
+    APP_NAME = 'yygh-site'
+  }
+}

+ 36 - 0
README.en.md

@@ -0,0 +1,36 @@
+# yygh-site
+
+#### Description
+{**When you're done, you can delete the content in this README and update the file with details for others getting started with your repository**}
+
+#### Software Architecture
+Software architecture description
+
+#### Installation
+
+1.  xxxx
+2.  xxxx
+3.  xxxx
+
+#### Instructions
+
+1.  xxxx
+2.  xxxx
+3.  xxxx
+
+#### Contribution
+
+1.  Fork the repository
+2.  Create Feat_xxx branch
+3.  Commit your code
+4.  Create Pull Request
+
+
+#### Gitee Feature
+
+1.  You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md
+2.  Gitee blog [blog.gitee.com](https://blog.gitee.com)
+3.  Explore open source project [https://gitee.com/explore](https://gitee.com/explore)
+4.  The most valuable open source project [GVP](https://gitee.com/gvp)
+5.  The manual of Gitee [https://gitee.com/help](https://gitee.com/help)
+6.  The most popular members  [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)

+ 39 - 0
README.md

@@ -0,0 +1,39 @@
+# yygh-site
+
+#### 介绍
+{**以下是码云平台说明,您可以替换此简介**
+码云是 OSCHINA 推出的基于 Git 的代码托管平台(同时支持 SVN)。专为开发者提供稳定、高效、安全的云端软件开发协作平台
+无论是个人、团队、或是企业,都能够用码云实现代码托管、项目管理、协作开发。企业项目请看 [https://gitee.com/enterprises](https://gitee.com/enterprises)}
+
+#### 软件架构
+软件架构说明
+
+
+#### 安装教程
+
+1.  xxxx
+2.  xxxx
+3.  xxxx
+
+#### 使用说明
+
+1.  xxxx
+2.  xxxx
+3.  xxxx
+
+#### 参与贡献
+
+1.  Fork 本仓库
+2.  新建 Feat_xxx 分支
+3.  提交代码
+4.  新建 Pull Request
+
+
+#### 码云特技
+
+1.  使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
+2.  码云官方博客 [blog.gitee.com](https://blog.gitee.com)
+3.  你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目
+4.  [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目
+5.  码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
+6.  码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)

+ 19 - 0
api/cmn/dict.js

@@ -0,0 +1,19 @@
+import request from '@/utils/request'
+
+const api_name = '/api/cmn/dict'
+
+export default {
+  findByDictCode(dictCode) {
+    return request({
+      url: `${api_name}/findByDictCode/${dictCode}`,
+      method: 'get'
+    })
+  },
+
+  findByParentId(parentId) {
+    return request({
+      url: `${api_name}/findByParentId/${parentId}`,
+      method: 'get'
+    })
+  }
+}

+ 78 - 0
api/hosp/hospital.js

@@ -0,0 +1,78 @@
+import request from '@/utils/request'
+
+const api_name = `/api/hosp/hospital`
+
+export default {
+  getPageList(page, limit, searchObj) {
+    return request({
+      url: `${api_name}/${page}/${limit}`,
+      method: 'get',
+      params: searchObj
+    })
+  },
+
+  getByHosname(hosname) {
+    return request({
+      url: `${api_name}/findByHosname/${hosname}`,
+      method: 'get'
+    })
+  },
+
+  show(hoscode) {
+    return request({
+      url: `${api_name}/${hoscode}`,
+      method: 'get'
+    })
+  },
+
+  findDepartment(hoscode) {
+    return request({
+      url: `${api_name}/department/${hoscode}`,
+      method: 'get'
+    })
+  },
+
+  getBookingScheduleRule(page, limit, hoscode, depcode) {
+    return request({
+      url: `${api_name}/auth/getBookingScheduleRule/${page}/${limit}/${hoscode}/${depcode}`,
+      method: 'get'
+    })
+  },
+
+  findScheduleList(hoscode, depcode, workDate) {
+    return request({
+      url: `${api_name}/auth/findScheduleList/${hoscode}/${depcode}/${workDate}`,
+      method: 'get'
+    })
+  },
+
+  getSchedule(id) {
+    return request({
+      url: `${api_name}/getSchedule/${id}`,
+      method: 'get'
+    })
+  }
+
+  // getHospitalInfo(hoscode) {
+  //   return request({
+  //     url: `${api_name}/getHospitalInfo/${hoscode}`,
+  //     method: 'get'
+  //   })
+  // },
+  //
+  // getBookingScheduleRule(page, limit, hoscode, depcode) {
+  //   return request({
+  //     url: `${api_name}/auth/getBookingScheduleRule/${page}/${limit}/${hoscode}/${depcode}`,
+  //     method: 'get'
+  //   })
+  // },
+  //
+  // findScheduleList(hoscode, depcode, workDate) {
+  //   return request({
+  //     url: `${api_name}/auth/findScheduleList/${hoscode}/${depcode}/${workDate}`,
+  //     method: 'get'
+  //   })
+  // },
+  //
+
+}

+ 41 - 0
api/order/orderInfo.js

@@ -0,0 +1,41 @@
+import request from '@/utils/request'
+
+const api_name = `/api/order/orderInfo`
+
+export default {
+  submitOrder(scheduleId, patientId) {
+    return request({
+      url: `${api_name}/auth/submitOrder/${scheduleId}/${patientId}`,
+      method: 'post'
+    })
+  },
+
+  getPageList(page, limit, searchObj) {
+    return request({
+      url: `${api_name}/auth/${page}/${limit}`,
+      method: 'get',
+      params: searchObj
+    })
+  },
+
+  getStatusList() {
+    return request({
+      url: `${api_name}/auth/getStatusList`,
+      method: 'get'
+    })
+  },
+
+  getOrderInfo(orderId) {
+    return request({
+      url: `${api_name}/auth/getOrderInfo/${orderId}`,
+      method: 'get'
+    })
+  },
+
+  cancelOrder(orderId) {
+    return request({
+      url: `${api_name}/auth/cancelOrder/${orderId}`,
+      method: 'get'
+    })
+  }
+}

+ 18 - 0
api/order/weixin.js

@@ -0,0 +1,18 @@
+import request from '@/utils/request'
+
+const api_name = `/api/order/weixin`
+
+export default {
+  createNative(orderId) {
+    return request({
+      url: `${api_name}/createNative/${orderId}`,
+      method: 'get'
+    })
+  },
+  queryPayStatus(orderId) {
+    return request({
+      url: `${api_name}/queryPayStatus/${orderId}`,
+      method: 'get'
+    })
+  }
+}

+ 12 - 0
api/sms/sms.js

@@ -0,0 +1,12 @@
+import request from '@/utils/request'
+
+const api_name = `/api/sms`
+
+export default {
+  sendCode(mobile) {
+    return request({
+      url: `${api_name}/send/${mobile}`,
+      method: `get`
+    })
+  }
+}

+ 42 - 0
api/user/patient.js

@@ -0,0 +1,42 @@
+import request from '@/utils/request'
+
+const api_name = `/api/user/patient`
+
+export default {
+
+  findList() {
+    return request({
+      url: `${api_name}/auth/findAll`,
+      method: `get`
+    })
+  },
+
+  getById(id) {
+    return request({
+      url: `${api_name}/auth/get/${id}`,
+      method: 'get'
+    })
+  },
+
+  save(patient) {
+    return request({
+      url: `${api_name}/auth/save`,
+      method: 'post',
+      data: patient
+    })
+  },
+
+  updateById(patient) {
+    return request({
+      url: `${api_name}/auth/update`,
+      method: 'put',
+      data: patient
+    })
+  },
+  removeById(id) {
+    return request({
+      url: `${api_name}/auth/remove/${id}`,
+      method: 'delete'
+    })
+  }
+}

+ 28 - 0
api/user/userInfo.js

@@ -0,0 +1,28 @@
+import request from '@/utils/request'
+
+const api_name = `/api/user`
+
+export default {
+  login(userInfo) {
+    return request({
+      url: `${api_name}/login`,
+      method: `post`,
+      data: userInfo
+    })
+  },
+
+  getUserInfo() {
+    return request({
+      url: `${api_name}/auth/getUserInfo`,
+      method: `get`
+    })
+  },
+
+  saveUserAuah(userAuah) {
+    return request({
+      url: `${api_name}/auth/userAuah`,
+      method: 'post',
+      data: userAuah
+    })
+  }
+}

+ 13 - 0
api/user/weixin.js

@@ -0,0 +1,13 @@
+import request from '@/utils/request'
+
+const api_name = `/api/user/weixin`
+
+export default {
+
+  getLoginParam() {
+    return request({
+      url: `${api_name}/getLoginParam`,
+      method: `get`
+    })
+  }
+}

+ 9 - 0
assets/README.md

@@ -0,0 +1,9 @@
+# ASSETS
+
+This directory contains your un-compiled assets such as LESS, SASS, or JavaScript.
+
+More information about the usage of this directory in the documentation:
+https://nuxtjs.org/guide/assets#webpacked
+
+**This directory is not required, you can delete it if you don't want to use it.**
+

Plik diff jest za duży
+ 2892 - 0
assets/css/app.css


Plik diff jest za duży
+ 6916 - 0
assets/css/chunk.css


+ 2178 - 0
assets/css/hospital.css

@@ -0,0 +1,2178 @@
+.flexRow {
+    -webkit-box-orient: vertical;
+    -ms-flex-direction: column;
+    flex-direction: column
+}
+
+.flexCol, .flexRow {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-direction: normal
+}
+
+.flexCol {
+    -webkit-box-orient: horizontal;
+    -ms-flex-direction: row;
+    flex-direction: row
+}
+
+.row-left-top {
+    -webkit-box-pack: start;
+    -ms-flex-pack: start;
+    justify-content: flex-start
+}
+
+.row-left-middle, .row-left-top {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: start;
+    -ms-flex-align: start;
+    align-items: flex-start
+}
+
+.row-left-middle {
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center
+}
+
+.row-left-bottom {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: start;
+    -ms-flex-align: start;
+    align-items: flex-start;
+    -webkit-box-pack: end;
+    -ms-flex-pack: end;
+    justify-content: flex-end
+}
+
+.row-center-top {
+    -webkit-box-pack: start;
+    -ms-flex-pack: start;
+    justify-content: flex-start
+}
+
+.row-center-middle, .row-center-top {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.row-center-middle {
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center
+}
+
+.row-center-bottom {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    -webkit-box-pack: end;
+    -ms-flex-pack: end;
+    justify-content: flex-end
+}
+
+.row-right-top {
+    -webkit-box-pack: start;
+    -ms-flex-pack: start;
+    justify-content: flex-start
+}
+
+.row-right-middle, .row-right-top {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: end;
+    -ms-flex-align: end;
+    align-items: flex-end
+}
+
+.row-right-middle {
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center
+}
+
+.row-right-bottom {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: end;
+    -ms-flex-align: end;
+    align-items: flex-end;
+    -webkit-box-pack: end;
+    -ms-flex-pack: end;
+    justify-content: flex-end
+}
+
+.col-left-top {
+    -webkit-box-align: start;
+    -ms-flex-align: start;
+    align-items: flex-start
+}
+
+.col-left-middle, .col-left-top {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: horizontal;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: row;
+    flex-direction: row;
+    -webkit-box-pack: start;
+    -ms-flex-pack: start;
+    justify-content: flex-start
+}
+
+.col-left-middle {
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.col-left-bottom {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: horizontal;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: row;
+    flex-direction: row;
+    -webkit-box-pack: start;
+    -ms-flex-pack: start;
+    justify-content: flex-start;
+    -webkit-box-align: end;
+    -ms-flex-align: end;
+    align-items: flex-end
+}
+
+.col-center-top {
+    -webkit-box-align: start;
+    -ms-flex-align: start;
+    align-items: flex-start
+}
+
+.col-center-middle, .col-center-top {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: horizontal;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: row;
+    flex-direction: row;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center
+}
+
+.col-center-middle {
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.col-center-bottom {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: horizontal;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: row;
+    flex-direction: row;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    -webkit-box-align: end;
+    -ms-flex-align: end;
+    align-items: flex-end
+}
+
+.col-right-top {
+    -webkit-box-align: start;
+    -ms-flex-align: start;
+    align-items: flex-start
+}
+
+.col-right-middle, .col-right-top {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: horizontal;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: row;
+    flex-direction: row;
+    -webkit-box-pack: end;
+    -ms-flex-pack: end;
+    justify-content: flex-end
+}
+
+.col-right-middle {
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.col-right-bottom {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: horizontal;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: row;
+    flex-direction: row;
+    -webkit-box-pack: end;
+    -ms-flex-pack: end;
+    justify-content: flex-end;
+    -webkit-box-align: end;
+    -ms-flex-align: end;
+    align-items: flex-end
+}
+
+.hospital-department {
+    width: 170px;
+    background: #f4f9ff;
+    position: relative;
+    height: 100%;
+    color: #333
+}
+
+.hospital-department .dept-list-wrapper {
+    padding: 10px 0;
+    height: 100%
+}
+
+.hospital-department .dept-list-wrapper .sub-item {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    text-align: center;
+    padding: 10px;
+    cursor: pointer;
+    -webkit-transition: all .2s ease;
+    transition: all .2s ease;
+    min-height: 40px
+}
+
+.hospital-department .dept-list-wrapper .sub-item:hover {
+    background: hsla(0, 0%, 100%, .7)
+}
+
+.hospital-department .dept-list-wrapper .sub-item.selected {
+    font-size: 16px;
+    font-weight: 700;
+    background: #fff
+}
+
+.hospital-department .mask {
+    width: 100%;
+    height: 40px;
+    background: -webkit-gradient(linear, left top, left bottom, from(rgba(232, 242, 255, 0)), to(rgba(73, 144, 241, .2)));
+    background: linear-gradient(180deg, rgba(232, 242, 255, 0), rgba(73, 144, 241, .2));
+    position: absolute;
+    bottom: 0
+}
+
+ .el-dialog__header {
+    background-color: #e8f2ff;
+    padding: 20px 30px;
+    border-radius: 4px 4px 0 0
+}
+
+ .el-dialog__header .el-dialog__title {
+    font-size: 16px;
+    font-weight: 700;
+    letter-spacing: 1px
+}
+
+ .el-dialog__header .el-dialog__close {
+    font-size: 20px;
+    font-weight: 700
+}
+
+ .el-dialog__body {
+    padding: 10px 20px 0;
+    max-height: 450px;
+    overflow: auto
+}
+
+ .el-dialog__footer {
+    padding: 15px;
+    -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, .1);
+    box-shadow: 0 0 10px 0 rgba(0, 0, 0, .1);
+    border-radius: 0 0 4px 4px;
+    z-index: 100;
+    position: relative
+}
+
+.dialog-text {
+    color: #333;
+    font-size: 14px;
+    margin-bottom: 60px
+}
+
+.content-wrapper {
+    color: #999;
+    font-size: 16px
+}
+
+.content-wrapper p {
+    text-indent: 2em;
+    margin: 0
+}
+
+.placeholder {
+    height: 30px
+}
+
+.button-wrapper {
+    width: 140px;
+    margin: 0 auto
+}
+
+.common-header {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: justify;
+    -ms-flex-pack: justify;
+    justify-content: space-between
+}
+
+.common-header .title-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.common-header .title-wrapper .hospital-title {
+    color: #333;
+    font-size: 20px;
+    font-weight: 700;
+    margin-right: 15px
+}
+
+.common-header .favicon .iconfont {
+    font-size: 14px
+}
+
+.hospital-home .header-wrapper {
+    position: fixed
+}
+
+.hospital-home .info-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    margin-top: 30px;
+    padding-top: 0;
+    padding-left: 0;
+    width: 100%;
+    flex-direction:inherit;
+
+}
+
+.hospital-home .info-wrapper .content-wrapper {
+    -webkit-box-flex: 1;
+    -ms-flex: 1;
+    flex: 1;
+    color: #333;
+    margin-left: 30px
+}
+
+.hospital-home .info-wrapper .content-wrapper .sub-title {
+    letter-spacing: 1px
+}
+
+.hospital-home .info-wrapper .content-wrapper .line {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    margin-top: 8px;
+    font-size: 12px
+}
+
+.hospital-home .info-wrapper .content-wrapper .line .label {
+    color: #999
+}
+
+.hospital-home .info-wrapper .content-wrapper .space {
+    margin-left: 60px
+}
+
+.hospital-home .info-wrapper .mt20 {
+    margin-top: 20px
+}
+
+.hospital-home .info-wrapper .hospital-img {
+    height: 80px;
+    width: 80px;
+    border-radius: 40px
+}
+
+.hospital-home .maintain-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    margin-top: 100px
+}
+
+.hospital-home .maintain-wrapper .maintain-img {
+    width: 130px;
+    height: 130px
+}
+
+.hospital-home .maintain-wrapper .text {
+    margin-top: 20px;
+    color: #333;
+    font-size: 16px
+}
+
+.hospital-home .maintain-wrapper .tips {
+    margin-top: 10px;
+    color: #ccc;
+    width: 550px
+}
+
+.hospital-home .rule-wrapper {
+    margin-top: 8px;
+    font-size: 12px;
+    color: #999;
+    line-height: 20px;
+    min-height: 20px;
+    padding: 0;
+    background: none;
+}
+
+.hospital-home .rule-wrapper ol {
+    margin: 0;
+    padding-left: 13px
+}
+
+.hospital-home .select-title {
+    padding-top: 40px;
+    padding-bottom: 20px;
+    background: #fff;
+    position: -webkit-sticky;
+    position: sticky;
+    top: 0
+}
+
+.hospital-home .select-dept-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: justify;
+    -ms-flex-pack: justify;
+    justify-content: space-between;
+    min-height: 100px
+}
+
+.hospital-home .select-dept-wrapper .block {
+    width: 2px;
+    border-radius: 1px;
+    -webkit-transition: all .2s ease;
+    transition: all .2s ease
+}
+
+.hospital-home .select-dept-wrapper .block.selected {
+    width: 4px;
+    border-radius: 2px
+}
+
+.hospital-home .select-dept-wrapper .department-wrapper {
+    max-height: 460px;
+    position: -webkit-sticky;
+    position: sticky;
+    top: 82px
+}
+
+.hospital-home .select-dept-wrapper .sub-dept-container {
+    margin-left: 50px;
+    -webkit-box-flex: 1;
+    -ms-flex: 1;
+    flex: 1
+}
+
+.hospital-home .select-dept-wrapper .sub-dept-container .sub-dept-wrapper {
+    padding: 20px 0 20px 30px;
+    border-radius: 4px;
+    margin-top: 20px
+}
+
+.hospital-home .select-dept-wrapper .sub-dept-container .sub-dept-wrapper:first-child {
+    margin-top: 0
+}
+
+.hospital-home .select-dept-wrapper .sub-dept-container .sub-dept-wrapper.selected {
+    background: #fafafa
+}
+
+.hospital-home .select-dept-wrapper .sub-dept-container .sub-dept-wrapper .sub-title {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    font-weight: 700;
+    color: #333
+}
+
+.hospital-home .select-dept-wrapper .sub-dept-container .sub-dept-wrapper .sub-item-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -ms-flex-wrap: wrap;
+    flex-wrap: wrap;
+    margin-top: 10px
+}
+
+.hospital-home .select-dept-wrapper .sub-dept-container .sub-dept-wrapper .sub-item-wrapper .sub-item {
+    width: 230px;
+    margin-top: 10px;
+    padding-right: 30px
+}
+
+.countdown-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.countdown-wrapper .countdonw-title {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    color: #333;
+    font-size: 16px
+}
+
+.countdown-wrapper .v-link {
+    margin-left: 5px;
+    margin-right: 5px
+}
+
+.countdown-wrapper .countdown-text {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    color: #999;
+    font-size: 16px;
+    margin-top: 20px
+}
+
+.countdown-wrapper .number {
+    margin-left: 24px;
+    font-weight: 700;
+    font-size: 30px;
+    letter-spacing: 1px;
+    color: #4990f1
+}
+
+.countdown-wrapper .unit {
+    font-size: 16px;
+    color: #333
+}
+
+.calendar-item {
+    width: 124px;
+    height: 80px;
+    color: #4990f1;
+    cursor: pointer;
+    -webkit-transition: all .2 ease;
+    transition: all .2 ease;
+    -webkit-user-select: none;
+    -moz-user-select: none;
+    -ms-user-select: none;
+    user-select: none
+}
+
+.calendar-item.small {
+    width: 110px
+}
+
+.calendar-item .date-wrapper {
+    padding: 10px 0;
+    background-color: #e8f2ff;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    font-size: 14px;
+    border-top-left-radius: 4px;
+    border-top-right-radius: 4px
+}
+
+.calendar-item .date-wrapper .week {
+    font-size: 12px;
+    margin-left: 13px
+}
+
+.calendar-item .status-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    padding: 10px 0;
+    border: 1px solid #e8f2ff;
+    border-top: 0;
+    border-bottom-left-radius: 4px;
+    border-bottom-right-radius: 4px
+}
+
+.calendar-item.selected {
+    font-weight: 700
+}
+
+.calendar-item.selected .date-wrapper {
+    color: #fff;
+    background-color: #4990f1
+}
+
+.calendar-item.selected .status-wrapper {
+    border-color: #4990f1
+}
+
+.calendar-item.gray {
+    color: #999
+}
+
+.calendar-item.gray .date-wrapper {
+    background-color: #eee
+}
+
+.calendar-item.gray .status-wrapper {
+    border-color: #eee
+}
+
+.calendar-item.gray.selected .date-wrapper {
+    color: #fff;
+    background-color: #ccc
+}
+
+.calendar-item.gray.selected .status-wrapper {
+    border-color: #ccc
+}
+
+.calendar-list-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex
+}
+
+.calendar-list-wrapper .space {
+    margin-left: 22px
+}
+
+.calendar-list-wrapper .small-space {
+    margin-left: 16px
+}
+
+.title-wrapper {
+    margin-bottom: 20px;
+    text-align: center;
+    letter-spacing: 1px;
+    color: #333
+}
+
+.pagination {
+    margin-top: 30px;
+    height: 42px
+}
+
+.list-title {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    letter-spacing: 1px;
+    color: #999
+}
+
+.list-item {
+    margin-top: 40px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: justify;
+    -ms-flex-pack: justify;
+    justify-content: space-between
+}
+
+.list-item .item-wrapper {
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center
+}
+
+.list-item .item-wrapper, .list-item .title-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex
+}
+
+.list-item .title-wrapper .title {
+    font-size: 14px
+}
+
+.list-item .title-wrapper .name {
+    letter-spacing: 1px
+}
+
+.list-item .special-wrapper {
+    width: 660px;
+    margin-top: 10px;
+    letter-spacing: 1px;
+    color: #999
+}
+
+.list-item .right-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.list-item .right-wrapper .fee {
+    letter-spacing: 1px;
+    color: #4990f1;
+    font-weight: 700;
+    margin-right: 20px
+}
+
+.list-item .right-wrapper .button-wrapper {
+    width: 140px
+}
+
+.list-item .right-wrapper .button-wrapper .v-button {
+    font-weight: 700
+}
+
+.list-item .right-wrapper .button-wrapper .number {
+    margin-top: -3px
+}
+
+.mt100 {
+    margin-top: 40px
+}
+
+.watch-all-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    margin-top: 40px
+}
+
+.doct-item {
+    width: 440px;
+    height: 130px;
+    background: #fff;
+    -webkit-box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04);
+    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04);
+    border-radius: 4px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    font-size: 14px;
+    padding: 10px;
+    margin: 0 40px 30px 0;
+    float: left;
+    cursor: pointer
+}
+
+.doct-item:nth-child(2n) {
+    margin-right: 0
+}
+
+.doct-item .logo {
+    width: 80px;
+    height: 80px;
+    border-radius: 50%;
+    margin-right: 10px
+}
+
+.doct-item .detail .title {
+    color: #333;
+    font-weight: 700
+}
+
+.doct-item .detail .title .name {
+    color: #666;
+    border-left: 1px solid #eee;
+    padding-left: 10px;
+    margin-left: 10px
+}
+
+.doct-item .dept {
+    color: #333;
+    margin-top: 4px
+}
+
+.doct-item .dept span {
+    margin-right: 10px
+}
+
+.doct-item .begoodat {
+    color: #999;
+    width: 330px;
+    overflow: hidden;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+    margin: 8px 0
+}
+
+.doct-item .base-hos .basebg {
+    width: 84px;
+    height: 24px;
+    display: inline-block;
+    background: #9cc0ff;
+    border-radius: 4px 0 0 4px
+}
+
+.doct-item .base-hos .basebg img {
+    width: 72px;
+    margin: 4px 6px
+}
+
+.doct-item .hosname {
+    width: auto;
+    height: 24px;
+    line-height: 24px;
+    display: inline-block;
+    background: #f0f7ff;
+    border-radius: 0 4px 4px 0;
+    border: 1px solid #9cc0ff;
+    color: #333;
+    padding: 0 12px;
+    vertical-align: super
+}
+
+.dept-item {
+    width: 960px;
+    background: #fff;
+    -webkit-box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04);
+    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04);
+    border-radius: 4px;
+    padding: 10px 20px;
+    margin-top: 30px
+}
+
+.dept-item .item, .dept-item .name-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.dept-item .item {
+    -webkit-box-pack: justify;
+    -ms-flex-pack: justify;
+    justify-content: space-between;
+    border-bottom: 1px solid #eee;
+    padding-bottom: 10px
+}
+
+.dept-item .item img {
+    width: 50px;
+    height: 50px;
+    border-radius: 50%
+}
+
+.dept-item .item .hos-name {
+    overflow: hidden;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+    font-size: 16px;
+    color: #333;
+    margin-left: 10px
+}
+
+.dept-item .item .info {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: justify;
+    -ms-flex-pack: justify;
+    justify-content: space-between
+}
+
+.dept-item .item .info div:nth-child(2) {
+    margin-left: 50px
+}
+
+.dept-item ul {
+    list-style: none;
+    padding: 20px 0 0;
+    margin: 0
+}
+
+.dept-item ul li {
+    background: #f7fbff;
+    padding: 7px 10px;
+    font-size: 14px;
+    color: #4990f1;
+    cursor: pointer;
+    margin: 0 10px 10px 0;
+    display: inline-block;
+    border-radius: 4px
+}
+
+.wrap {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    position: relative;
+    margin-top: 30px
+}
+
+.wrap .list-wrapper {
+    min-height: 270px;
+    width: 960px
+}
+
+.wrap img {
+    width: 30px;
+    display: inline-block;
+    position: absolute;
+    top: 7px;
+    left: 0;
+    margin-right: 15px
+}
+
+.wrap .title {
+    font-size: 14px;
+    color: #ffc53d;
+    padding: 10px 0 20px
+}
+
+.wrap .el-tabs__header {
+    margin-left: 40px
+}
+
+.wrap .el-tabs__header /deep/ .el-tabs__item {
+    font-size: 16px
+}
+
+.wrap .el-tabs__header /deep/ .el-tabs__item.is-active {
+    color: #333;
+    font-size: 18px;
+    font-weight: 700
+}
+
+.wrap .el-tabs__nav-wrap:after {
+    background: none
+}
+
+.wrap .el-tabs__content {
+    overflow: inherit
+}
+
+ .el-dialog__header {
+    background-color: #e8f2ff;
+    padding: 20px 30px;
+    border-radius: 4px 4px 0 0
+}
+
+ .el-dialog__header .el-dialog__title {
+    font-size: 16px;
+    font-weight: 700;
+    letter-spacing: 1px
+}
+
+ .el-dialog__header .el-dialog__close {
+    font-size: 20px;
+    font-weight: 700
+}
+
+ .el-dialog__body {
+    padding: 10px 20px 0
+}
+
+ .el-dialog__footer {
+    padding: 15px;
+    -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, .1);
+    box-shadow: 0 0 10px 0 rgba(0, 0, 0, .1);
+    border-radius: 0 0 4px 4px;
+    z-index: 100;
+    position: relative
+}
+
+.dialog-text {
+    color: #333;
+    font-size: 16px;
+    margin-bottom: 60px
+}
+
+.placeholder {
+    height: 30px
+}
+
+.ml20 {
+    margin-left: 20px
+}
+
+.hospital-source-list .list-item {
+    width: auto;
+    height: auto;
+    color: #333;
+    background:none;
+    display: inline;
+    vertical-align: top;
+    font-weight: 700;
+    padding: 0 ;
+    line-height: inherit;
+    border-radius: 4px;
+    cursor: default;
+    margin-top: 40px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: justify;
+    -ms-flex-pack: justify;
+    justify-content: space-between;
+}
+.hospital-source-list .list-item:hover{
+    border:0;
+    -webkit-box-shadow: none ;
+}
+.list-item {
+    width: 280px;
+    height: 50px;
+    color: #333;
+    background: #fafafa;
+    display: inline-block;
+    vertical-align: top;
+    font-weight: 700;
+    padding: 0 20px 0 30px;
+    line-height: 50px;
+    border-radius: 4px;
+    cursor: pointer;
+    margin-top: 20px
+}
+
+.list-item.selected {
+    background: #4990f1;
+    color: #fff;
+    -webkit-box-shadow: 0 10px 20px -10px rgba(73, 144, 241, .5);
+    box-shadow: 0 10px 20px -10px rgba(73, 144, 241, .5);
+    border: 1px solid #4990f1
+}
+
+.list-item.disabled {
+    color: #ccc
+}
+
+.list-item:hover {
+    border: 1px solid #4990f1;
+    -webkit-box-shadow: 0 10px 20px -10px rgba(73, 144, 241, .2);
+    box-shadow: 0 10px 20px -10px rgba(73, 144, 241, .2)
+}
+
+.list-item .right-text {
+    font-weight: 400;
+    float: right
+}
+
+.button-wrapper {
+    width: 140px;
+    margin: 0 auto
+}
+
+.title {
+    letter-spacing: 1px;
+    font-weight: 700;
+    color: #333;
+    font-size: 16px
+}
+
+.affix {
+    position: fixed;
+    z-index: 100
+}
+
+.el-autocomplete-suggestion {
+    margin-top: 2px !important;
+    border: none !important;
+    border-top-left-radius: 0 !important;
+    border-top-right-radius: 0 !important;
+    -webkit-box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04) !important;
+    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04) !important
+}
+
+.el-autocomplete-suggestion .popper__arrow {
+    display: none !important
+}
+
+.el-form-item__label {
+    color: #999 !important;
+    letter-spacing: 1px
+}
+
+.block {
+    height: 14px;
+    width: 4px;
+    background: #4990f1;
+    margin-right: 6px;
+    border-radius: 2px
+}
+
+.split {
+    border-left: 1px solid #eee;
+    width: 1px;
+    height: 16px;
+    margin: 0 10px
+}
+
+.el-cascader-menu__wrap {
+    height: 200px !important
+}
+
+.lineup .el-icon-warning-outline {
+    font-size: 40px;
+    color: #333
+}
+
+.lineup .el-loading-text {
+    color: #333 !important;
+    font-size: 18px !important;
+    margin-top: 20px !important
+}
+
+.bottom-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center
+}
+
+.bottom-code-wrapper {
+    width: 920px;
+    height: 171px;
+    margin-top: 120px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: justify;
+    -ms-flex-pack: justify;
+    justify-content: space-between;
+    background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA5gAAACrBAMAAADx4C4QAAAAKlBMVEUAAAD2+//////1+v/1+f/0+f/0+v/2+f/1+f/4///////0+//3+f/0+f+qk+F1AAAADXRSTlMAUwbz3NmliqwkAnVatE+yyQAAAppJREFUeNrs3TFKF2AAQPFPp6IGh2gTHFw6gKODXqHZwQN4ASFoDQqiqaW5tQsEja0iahHvLkF5gILv74fP97vCO8Ab/2n7+UtmOTjdG1noGTMdjazzmbnOR5Z5xVw3I6tsMdvOyCL7zHY8ssgus12MLHLGbNcji5ww29XIIofMdjmyCPON/JtippgPAhRTA4qpAcXUgGJqQDE1oJgaUEwNKKYGFFMDiqkBxdSAYmpAMTWgmBpQTA0opgYUUwOKqQHF1IBiakAxNaCYGlBMDSimBhRTA4qpAcXUgGJqQDE1oJgaUEwNKKYGFFMDiqkBxdSAYmpAMTWgmBpQTA0opgYUUwOKqQHF1IBiakAxNaCYGlBMDSimxTbz9XZb5DHzvR9Z4inzfRtZ4hHzvR5Z4hPz/RxZ4h3z/RhZ4Qmb8GVkga9swq+Ru/eRzXgzcsdefGdT3n4YmeH21p977uB07/bWH4Gjv7f+KJz/ufVH4WaMLSKxM/aJxPHYJRIX44xIXI8TInE1DonE5SAaxRQppkgxRYopUkyRYooUU6SYIsUUKaZIMUWKKVJMkWKKFFOkmCLFFCmmSDFFiilSTJFiihRTpJgixRQppkgxRYopUkyRYooUU6SYIsUUKaZIMUWKKVJMkWKKFFOkmCLFFCmmSDFFiilSTJFiihRTpJgixRQppkgxf7dHxzYEBQAURR8TKEQnUVhBqWAFtcIAFpCYxzwiqN4u//8x/s09KxwQM0HMBDETxEwQM0HMBDETxEwQM0HMBDETxEwQM0HMBDETxEwQM0HMBDETxEwQM0HMBDETxEwQM0HMBDETxEyQHCuIT64VxDf3CuKXbQXxzr6COGdRQaySZ4XwT/KqEB4ZrSuAUybLzaWaucNtlwyVJNw6kFj/vwAAAABJRU5ErkJggg==")
+}
+
+.bottom-code-wrapper .code {
+    width: 140px;
+    height: 140px;
+    margin-left: 103px;
+    margin-top: 16px
+}
+
+.bottom-code-wrapper .people {
+    float: right;
+    margin-right: 125px
+}
+
+.bottom-code-wrapper .code-text-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex
+}
+
+.bottom-code-wrapper .content-wrapper {
+    margin-top: 95px;
+    margin-left: 28px;
+    color: #333
+}
+
+.bottom-code-wrapper .content-wrapper .text {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.bottom-code-wrapper .content-wrapper .iconfont {
+    color: #00c25f;
+    font-size: 24px
+}
+
+ .el-dialog__header {
+    background-color: #e8f2ff;
+    padding: 20px 30px;
+    border-radius: 4px 4px 0 0
+}
+
+ .el-dialog__header .el-dialog__title {
+    font-size: 16px;
+    font-weight: 700;
+    letter-spacing: 1px
+}
+
+ .el-dialog__header .el-dialog__close {
+    font-size: 20px;
+    font-weight: 700
+}
+
+ .el-dialog__body {
+    padding: 10px 20px 0;
+    max-height: 450px;
+    overflow: auto
+}
+
+ .el-dialog__footer {
+    padding: 15px;
+    -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, .1);
+    box-shadow: 0 0 10px 0 rgba(0, 0, 0, .1);
+    border-radius: 0 0 4px 4px;
+    z-index: 100;
+    position: relative
+}
+
+.dialog-text {
+    color: #333;
+    font-size: 14px;
+    margin-bottom: 60px
+}
+
+.content-wrapper {
+    color: #999;
+    font-size: 16px
+}
+
+.content-wrapper p {
+    text-indent: 2em;
+    margin: 0
+}
+
+.placeholder {
+    height: 30px
+}
+
+.button-wrapper {
+    width: 140px;
+    margin: 0 auto
+}
+
+.header-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.mt20 {
+    margin-top: 20px
+}
+
+.mt60 {
+    margin-top: 30px
+}
+
+.tips {
+    text-align: center;
+    color: #333;
+    letter-spacing: 1px
+}
+
+.docsource-item {
+    width: 320px;
+    height: 50px;
+    background: #fff;
+    -webkit-box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04);
+    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04);
+    border-radius: 4px;
+    padding: 15px 20px;
+    overflow: hidden;
+    float: left;
+    margin-right: 20px;
+    margin-bottom: 20px;
+    cursor: pointer
+}
+
+.docsource-item:hover {
+    -webkit-box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .1);
+    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .1)
+}
+
+.docsource-item:nth-child(3n) {
+    margin-right: 0
+}
+
+.docsource-item .date {
+    font-weight: 700;
+    float: left
+}
+
+.docsource-item .week {
+    float: left;
+    margin-left: 10px
+}
+
+.docsource-item .btn {
+    float: right;
+    color: #4990f1
+}
+
+.docsource-item.gray .btn, .docsource-item.gray .date, .docsource-item.gray .week {
+    color: #ccc
+}
+
+.doctor-detail .title span {
+    font-size: 14px;
+    color: #666;
+    font-weight: 400
+}
+
+.doctor-detail .title .dept {
+    border-left: 1px solid #eee;
+    padding-left: 10px;
+    margin-left: 10px
+}
+
+.doctor-detail .detail {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    margin-top: 30px
+}
+
+.doctor-detail .detail .logo {
+    width: 80px;
+    height: 80px;
+    display: block;
+    border-radius: 50%
+}
+
+.doctor-detail .detail .info {
+    margin-left: 10px
+}
+
+.doctor-detail .detail .info .tit span {
+    font-size: 18px;
+    color: #333;
+    font-weight: 700
+}
+
+.doctor-detail .detail .info .tit .name {
+    font-weight: 400;
+    border-left: 1px solid #eee;
+    padding-left: 10px;
+    margin-left: 10px
+}
+
+.doctor-detail .detail .info .base-hos {
+    margin: 6px 0 20px
+}
+
+.doctor-detail .detail .info .base-hos .basebg {
+    width: 84px;
+    height: 24px;
+    background: #9cc0ff;
+    border-radius: 4px 0 0 4px;
+    padding: 4px 6px;
+    display: inline-block
+}
+
+.doctor-detail .detail .info .base-hos .basebg img {
+    width: 72px
+}
+
+.doctor-detail .detail .info .base-hos .hosname {
+    border: 1px solid #9cc0ff;
+    border-radius: 0 4px 4px 0;
+    font-size: 14px;
+    color: #333;
+    height: 24px;
+    line-height: 24px;
+    padding: 0 12px;
+    background: #f0f7ff;
+    display: inline-block;
+    vertical-align: bottom
+}
+
+.docsource-list {
+    height: auto;
+    margin-top: 30px
+}
+
+ .el-dialog--center .el-dialog__body {
+    text-align: center;
+    padding: 20px 60px 0
+}
+
+.icon {
+    font-size: 54px;
+    color: #4490f1;
+    display: block;
+    text-align: center
+}
+
+.dialog-footer {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -ms-flex-pack: distribute;
+    justify-content: space-around
+}
+
+.dialog-text {
+    margin: 30px 0 40px;
+    color: #333;
+    font-size: 16px;
+    letter-spacing: 1px
+}
+
+.button-wrapper {
+    width: 140px
+}
+
+ .el-dialog__header {
+    background-color: #e8f2ff;
+    padding: 20px 30px;
+    border-radius: 4px 4px 0 0
+}
+
+ .el-dialog__header .el-dialog__title {
+    font-size: 16px;
+    font-weight: 700;
+    letter-spacing: 1px
+}
+
+ .el-dialog__header .el-dialog__close {
+    font-size: 20px;
+    font-weight: 700
+}
+
+ .el-dialog__body {
+    padding: 10px 20px 0;
+    max-height: 750px;
+    overflow: auto
+}
+
+ .el-dialog__footer {
+    padding: 15px;
+    -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, .1);
+    box-shadow: 0 0 10px 0 rgba(0, 0, 0, .1);
+    border-radius: 0 0 4px 4px;
+    z-index: 100;
+    position: relative
+}
+
+.dialog-text {
+    color: #333;
+    font-size: 14px;
+    margin-bottom: 60px
+}
+
+.content-wrapper {
+    color: #999;
+    font-size: 16px;
+    padding-bottom: 30px
+}
+
+.content-wrapper p {
+    text-indent: 2em;
+    margin: 0
+}
+
+.placeholder {
+    height: 30px
+}
+
+.button-wrapper {
+    width: 140px;
+    margin: 0 auto
+}
+
+.title {
+    letter-spacing: 1px;
+    font-weight: 700;
+    color: #333;
+    font-size: 16px
+}
+
+.affix {
+    position: fixed;
+    z-index: 100
+}
+
+.el-autocomplete-suggestion {
+    margin-top: 2px !important;
+    border: none !important;
+    border-top-left-radius: 0 !important;
+    border-top-right-radius: 0 !important;
+    -webkit-box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04) !important;
+    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04) !important
+}
+
+.el-autocomplete-suggestion .popper__arrow {
+    display: none !important
+}
+
+.el-form-item__label {
+    color: #999 !important;
+    letter-spacing: 1px
+}
+
+.block {
+    height: 14px;
+    width: 4px;
+    background: #4990f1;
+    margin-right: 6px;
+    border-radius: 2px
+}
+
+.split {
+    border-left: 1px solid #eee;
+    width: 1px;
+    height: 16px;
+    margin: 0 10px
+}
+
+.el-cascader-menu__wrap {
+    height: 200px !important
+}
+
+.lineup .el-icon-warning-outline {
+    font-size: 40px;
+    color: #333
+}
+
+.lineup .el-loading-text {
+    color: #333 !important;
+    font-size: 18px !important;
+    margin-top: 20px !important
+}
+
+.header-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.header-wrapper .title {
+    margin-right: 30px
+}
+
+.tip-wrapper {
+    font-size: 12px;
+    color: #999;
+    margin-left: 140px;
+    margin-top: 40px
+}
+
+.tip-wrapper .iconfont {
+    font-size: 12px
+}
+
+.sub-title {
+    letter-spacing: 1px;
+    color: #999;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.sub-title .card-tips {
+    padding-left: 10px;
+    font-size: 12px;
+    color: #ff5f5f
+}
+
+.sub-title .card-tips .iconfont {
+    font-size: 12px
+}
+
+.content-wrapper {
+    /*margin-left: 140px;*/
+    margin-top: 0
+}
+
+/*.content-wrapper .inline, .content-wrapper {*/
+/*    display: -webkit-box;*/
+/*    display: -ms-flexbox;*/
+/*    display: flex*/
+/*}*/
+
+.content-wrapper .inline .v-link {
+    margin-left: 10px
+}
+
+.content-wrapper .fee {
+    color: #4490f1;
+    font-weight: 700
+}
+
+.content-wrapper .form-item {
+    width: 470px;
+    margin-bottom: 20px
+}
+
+.content-wrapper .tips {
+    margin-top: -14px;
+    margin-left: 130px;
+    font-size: 12px;
+    line-height: 16px;
+    color: #f1ba7e;
+    width: 600px
+}
+
+.content-wrapper .tips .iconfont {
+    font-size: 12px;
+    margin-right: 6px
+}
+
+.bottom-wrapper {
+    width: 740px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center
+}
+
+.bottom-wrapper .button-wrapper {
+    width: 140px;
+    margin-top: 80px
+}
+
+.ml20 {
+    margin-left: 20px
+}
+
+.card-img {
+    margin-left: 110px;
+    margin-bottom: 20px;
+    -webkit-box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04);
+    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04);
+    border-radius: 8px;
+    height: 80px
+}
+
+.rule-wrapper {
+    background-color: #fafafa;
+    padding: 30px
+}
+
+.rule-wrapper .rule-title {
+    color: #333;
+    font-weight: 700;
+    margin-bottom: 10px
+}
+
+.mt40 {
+    margin-top: 40px
+}
+
+.patient-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -ms-flex-wrap: wrap;
+    flex-wrap: wrap;
+    margin-top: 30px
+}
+
+.patient-wrapper .item {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.patient-wrapper .item .iconfont {
+    margin-right: 10px;
+    color: #999;
+    font-size: 14px
+}
+
+.patient-wrapper .item:hover .item-title {
+    font-weight: 700
+}
+
+.patient-wrapper .item-wrapper {
+    width: 202px;
+    height: 90px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: justify;
+    -ms-flex-pack: justify;
+    justify-content: space-between;
+    padding: 12px 10px 0 14px;
+    font-size: 12px;
+    color: #999;
+    border-radius: 4px
+}
+
+.patient-wrapper .item-wrapper .item-title {
+    color: #333;
+    letter-spacing: 1px;
+    font-size: 14px;
+    margin-bottom: 10px
+}
+
+.patient-wrapper .item-wrapper.selected {
+    background-color: #4990f1;
+    color: #fff;
+    -webkit-box-shadow: 0 10px 20px -10px rgba(73, 144, 241, .5);
+    box-shadow: 0 10px 20px -10px rgba(73, 144, 241, .5)
+}
+
+.patient-wrapper .item-wrapper.selected .item-title {
+    color: #fff;
+    font-weight: 700
+}
+
+.patient-wrapper .item-wrapper .checked {
+    height: 22px;
+    width: 22px;
+    margin-top: 22px
+}
+
+.patient-wrapper .space {
+    margin-left: 32px
+}
+
+.patient-wrapper .add-patient {
+    height: 90px
+}
+
+.patient-wrapper .item-add-wrapper {
+    width: 202px;
+    height: 90px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    color: #4990f1;
+    font-size: 16px
+}
+
+.patient-wrapper .tips-wrapper {
+    width: 226px;
+    padding: 10px 20px;
+    word-wrap: break-word;
+    word-break: break-all;
+    overflow: hidden;
+    background: #fee;
+    border-radius: 0 0 4px 4px;
+    -webkit-box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04);
+    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04);
+    color: #ff5f5f;
+    font-size: 12px;
+    margin-top: -2px
+}
+
+.patient-card {
+    margin-top: 30px;
+    padding: 0 30px
+}
+
+.patient-card .el-card__header {
+    padding: 16px 0
+}
+
+.patient-card .el-card__header span {
+    font-size: 12px;
+    color: #999
+}
+
+.patient-card .el-card__header span.name {
+    font-size: 16px;
+    color: #333;
+    margin-right: 30px
+}
+
+.patient-card .el-card__header .detail {
+    float: right;
+    color: #999
+}
+
+.patient-card .el-card__body {
+    padding: 20px 0
+}
+
+.patient-card .el-card__body, .patient-card .el-card__body .card {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.patient-card .el-card__body .card {
+    width: 50%;
+    height: 50px;
+    border-radius: 4px;
+    padding: 0 14px;
+    color: #fff;
+    -ms-flex-line-pack: center;
+    align-content: center;
+    margin-right: 50px;
+    cursor: pointer
+}
+
+.patient-card .el-card__body .card .info {
+    width: 100%
+}
+
+.patient-card .el-card__body .card .info span {
+    margin-right: 10px
+}
+
+.patient-card .el-card__body .card .info .type {
+    background: #fff;
+    font-size: 12px;
+    padding: 4px;
+    border-radius: 4px
+}
+
+.patient-card .el-card__body .card.MEDICARE_CARD {
+    background: #76ced5
+}
+
+.patient-card .el-card__body .card.MEDICARE_CARD .type {
+    color: #76ced5
+}
+
+.patient-card .el-card__body .card.SELF_PAY_CARD {
+    background: #89c4ed
+}
+
+.patient-card .el-card__body .card.SELF_PAY_CARD .type {
+    color: #89c4ed
+}
+
+.patient-card .el-card__body .card .operate {
+    width: 100px;
+    text-align: right
+}
+
+.patient-card .el-card__body .card .operate img {
+    width: 22px;
+    -webkit-transform: translateY(2px);
+    transform: translateY(2px)
+}
+
+.patient-card .el-card__body .card:nth-child(2n) {
+    margin-right: 0
+}
+
+.patient-card .el-card__body .card .text {
+    width: 100%;
+    text-align: center;
+    color: #333;
+    font-size: 14px
+}
+
+.icon-text-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    color: #333;
+    letter-spacing: 1px
+}
+
+.icon-text-wrapper .prefix-icon {
+    margin-top: 3px;
+    margin-right: 10px;
+    font-size: 14px
+}
+
+.icon-text-wrapper .right-icon {
+    margin-top: 3px;
+    margin-left: 12px;
+    font-size: 14px;
+    color: #4490f1;
+    cursor: pointer
+}
+
+.icon-text-wrapper .text p {
+    margin: 0
+}
+
+.icon-text-wrapper .text ol {
+    margin: 0;
+    padding-left: 20px
+}
+
+ .el-dialog__header {
+    background-color: #e8f2ff;
+    padding: 20px 30px;
+    border-radius: 4px 4px 0 0
+}
+
+ .el-dialog__header .el-dialog__title {
+    font-size: 16px;
+    font-weight: 700;
+    letter-spacing: 1px
+}
+
+ .el-dialog__header .el-dialog__close {
+    font-size: 20px;
+    font-weight: 700
+}
+
+ .el-dialog__body {
+    padding: 0
+}
+
+ .el-dialog__footer {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center
+}
+
+#map {
+    height: 440px
+}
+
+.hospital-detail .info-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    margin-top: 30px;
+
+}
+
+.hospital-detail .info-wrapper .space {
+    margin-bottom: 10px
+}
+
+.hospital-detail .info-wrapper .content-wrapper {
+    -webkit-box-flex: 1;
+    -ms-flex: 1;
+    flex: 1;
+    margin-left: 30px
+}
+
+.hospital-detail .info-wrapper .hospital-img {
+    height: 80px;
+    width: 80px;
+    border-radius: 40px
+}
+
+.hospital-detail .detail-content {
+    line-height: 22px;
+    letter-spacing: 1px;
+    font-size: 12px
+}
+
+.hospital-detail .detail-content p {
+    text-indent: 2em;
+    margin: 0
+}
+
+.hospital-detail .detail-content h4 {
+    color: #333;
+    margin-bottom: 0
+}
+
+.hospital-detail .mt40 {
+    margin-top: 40px
+}
+
+.hospital-notice {
+    min-height: 300px
+}
+
+.hospital-notice h2, .hospital-notice h4 {
+    color: #333
+}
+
+.hospital-notice h2 {
+    text-align: center;
+    margin-top: 0
+}
+
+.hospital-notice p {
+    text-indent: 2em
+}
+
+.hospital-suspend {
+    padding-bottom: 60px
+}
+
+.hospital-suspend .table {
+    margin-top: 60px
+}
+
+.hospital-suspend .pagination {
+    margin-top: 100px
+}
+
+.hospital-query .content {
+    padding-top: 80px
+}
+
+.hospital-query .content .wrapper {
+    width: 400px;
+    margin-left: 200px;
+    line-height: 22px;
+    letter-spacing: 1px;
+    color: #666;
+    font-size: 12px
+}
+
+.hospital-query .content .wrapper .slot-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.hospital-query .el-input__inner {
+    padding-right: 70px !important;
+    padding-left: 30px !important
+}
+
+.hospital-query .table {
+    margin-top: 40px
+}
+
+.hospital-query .el-dialog__body {
+    text-align: center;
+    padding: 0
+}
+
+.hospital-query .icon {
+    font-size: 54px;
+    color: #4490f1
+}
+
+.hospital-query .dialog-footer {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -ms-flex-pack: distribute;
+    justify-content: space-around
+}
+
+.hospital-query .dialog-text {
+    margin: 30px 0 58px;
+    color: #333;
+    font-size: 16px;
+    letter-spacing: 1px
+}
+
+.hospital-query .button-wrapper {
+    width: 140px
+}

+ 1058 - 0
assets/css/hospital_personal.css

@@ -0,0 +1,1058 @@
+.title {
+    letter-spacing: 1px;
+    font-weight: 700;
+    color: #333;
+    font-size: 16px
+}
+
+.affix {
+    position: fixed;
+    z-index: 100
+}
+
+.el-autocomplete-suggestion {
+    margin-top: 2px !important;
+    border: none !important;
+    border-top-left-radius: 0 !important;
+    border-top-right-radius: 0 !important;
+    -webkit-box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04) !important;
+    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04) !important
+}
+
+.el-autocomplete-suggestion .popper__arrow {
+    display: none !important
+}
+
+.el-form-item__label {
+    color: #999 !important;
+    letter-spacing: 1px
+}
+
+.block {
+    height: 14px;
+    width: 4px;
+    background: #4990f1;
+    margin-right: 6px;
+    border-radius: 2px
+}
+
+.split {
+    border-left: 1px solid #eee;
+    width: 1px;
+    height: 16px;
+    margin: 0 10px
+}
+
+.el-cascader-menu__wrap {
+    height: 200px !important
+}
+
+.lineup .el-icon-warning-outline {
+    font-size: 40px;
+    color: #333
+}
+
+.lineup .el-loading-text {
+    color: #333 !important;
+    font-size: 18px !important;
+    margin-top: 20px !important
+}
+
+.flexRow {
+    -webkit-box-orient: vertical;
+    -ms-flex-direction: column;
+    flex-direction: column
+}
+
+.flexCol, .flexRow {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-direction: normal
+}
+
+.flexCol {
+    -webkit-box-orient: horizontal;
+    -ms-flex-direction: row;
+    flex-direction: row
+}
+
+.row-left-top {
+    -webkit-box-pack: start;
+    -ms-flex-pack: start;
+    justify-content: flex-start
+}
+
+.row-left-middle, .row-left-top {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: start;
+    -ms-flex-align: start;
+    align-items: flex-start
+}
+
+.row-left-middle {
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center
+}
+
+.row-left-bottom {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: start;
+    -ms-flex-align: start;
+    align-items: flex-start;
+    -webkit-box-pack: end;
+    -ms-flex-pack: end;
+    justify-content: flex-end
+}
+
+.row-center-top {
+    -webkit-box-pack: start;
+    -ms-flex-pack: start;
+    justify-content: flex-start
+}
+
+.row-center-middle, .row-center-top {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.row-center-middle {
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center
+}
+
+.row-center-bottom {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    -webkit-box-pack: end;
+    -ms-flex-pack: end;
+    justify-content: flex-end
+}
+
+.row-right-top {
+    -webkit-box-pack: start;
+    -ms-flex-pack: start;
+    justify-content: flex-start
+}
+
+.row-right-middle, .row-right-top {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: end;
+    -ms-flex-align: end;
+    align-items: flex-end
+}
+
+.row-right-middle {
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center
+}
+
+.row-right-bottom {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: end;
+    -ms-flex-align: end;
+    align-items: flex-end;
+    -webkit-box-pack: end;
+    -ms-flex-pack: end;
+    justify-content: flex-end
+}
+
+.col-left-top {
+    -webkit-box-align: start;
+    -ms-flex-align: start;
+    align-items: flex-start
+}
+
+.col-left-middle, .col-left-top {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: horizontal;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: row;
+    flex-direction: row;
+    -webkit-box-pack: start;
+    -ms-flex-pack: start;
+    justify-content: flex-start
+}
+
+.col-left-middle {
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.col-left-bottom {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: horizontal;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: row;
+    flex-direction: row;
+    -webkit-box-pack: start;
+    -ms-flex-pack: start;
+    justify-content: flex-start;
+    -webkit-box-align: end;
+    -ms-flex-align: end;
+    align-items: flex-end
+}
+
+.col-center-top {
+    -webkit-box-align: start;
+    -ms-flex-align: start;
+    align-items: flex-start
+}
+
+.col-center-middle, .col-center-top {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: horizontal;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: row;
+    flex-direction: row;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center
+}
+
+.col-center-middle {
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.col-center-bottom {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: horizontal;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: row;
+    flex-direction: row;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    -webkit-box-align: end;
+    -ms-flex-align: end;
+    align-items: flex-end
+}
+
+.col-right-top {
+    -webkit-box-align: start;
+    -ms-flex-align: start;
+    align-items: flex-start
+}
+
+.col-right-middle, .col-right-top {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: horizontal;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: row;
+    flex-direction: row;
+    -webkit-box-pack: end;
+    -ms-flex-pack: end;
+    justify-content: flex-end
+}
+
+.col-right-middle {
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.col-right-bottom {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: horizontal;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: row;
+    flex-direction: row;
+    -webkit-box-pack: end;
+    -ms-flex-pack: end;
+    justify-content: flex-end;
+    -webkit-box-align: end;
+    -ms-flex-align: end;
+    align-items: flex-end
+}
+
+.nav-item {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    width: 200px;
+    height: 70px;
+    position: relative;
+    padding-left: 20px
+}
+
+.nav-item.selected {
+    font-weight: 700;
+    font-size: 16px
+}
+
+.nav-item.selected:before {
+    content: "";
+    position: absolute;
+    left: 0;
+    width: 10px;
+    height: 10px;
+    z-index: 1;
+    background: #4490f1
+}
+
+.nav-container .page-container {
+    padding-top: 38px;
+    min-height: 500px;
+    width: calc(100% - 200px);
+    margin-left: 200px
+}
+
+.nav-container .left-nav {
+    position: -webkit-sticky;
+    position: sticky;
+    top: 14px;
+    float: left
+}
+
+.icon-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    color: #999;
+    font-size: 14px
+}
+
+.icon-wrapper .iconfont {
+    margin-right: 3px
+}
+
+.no-data-wrapper {
+    margin: 0 auto;
+    padding-top: 100px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.no-data-wrapper .no-text {
+    color: #ccc;
+    margin-top: 20px
+}
+
+.no-data-wrapper .no-data-img {
+    width: 130px;
+    height: 130px
+}
+
+.rule-wrapper {
+    background-color: #fafafa;
+    padding: 30px
+}
+
+.rule-wrapper .rule-title {
+    color: #333;
+    font-weight: 700;
+    margin-bottom: 10px
+}
+
+.rule-wrapper ol {
+    color: #999;
+    line-height: 24px
+}
+
+.mt40 {
+    margin-top: 40px
+}
+
+ .el-dialog__header {
+    background-color: #e8f2ff;
+    padding: 20px 30px;
+    border-radius: 4px 4px 0 0
+}
+
+ .el-dialog__header .el-dialog__title {
+    font-size: 16px;
+    font-weight: 700;
+    letter-spacing: 1px
+}
+
+ .el-dialog__header .el-dialog__close {
+    font-size: 20px;
+    font-weight: 700
+}
+
+ .el-dialog__body {
+    padding: 10px 20px 0;
+    max-height: 450px;
+    overflow: auto
+}
+
+ .el-dialog__footer {
+    padding: 15px;
+    -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, .1);
+    box-shadow: 0 0 10px 0 rgba(0, 0, 0, .1);
+    border-radius: 0 0 4px 4px;
+    z-index: 100;
+    position: relative
+}
+
+.dialog-text {
+    color: #333;
+    font-size: 14px;
+    margin-bottom: 60px
+}
+
+.content-wrapper {
+    color: #999;
+    font-size: 16px
+}
+
+.content-wrapper p {
+    text-indent: 2em;
+    margin: 0
+}
+
+.placeholder {
+    height: 30px
+}
+
+.button-wrapper {
+    width: 140px;
+    margin: 0 auto
+}
+
+.title {
+    letter-spacing: 1px;
+    font-weight: 700;
+    color: #333;
+    font-size: 16px
+}
+
+.affix {
+    position: fixed;
+    z-index: 100
+}
+
+.el-autocomplete-suggestion {
+    margin-top: 2px !important;
+    border: none !important;
+    border-top-left-radius: 0 !important;
+    border-top-right-radius: 0 !important;
+    -webkit-box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04) !important;
+    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04) !important
+}
+
+.el-autocomplete-suggestion .popper__arrow {
+    display: none !important
+}
+
+.el-form-item__label {
+    color: #999 !important;
+    letter-spacing: 1px
+}
+
+.block {
+    height: 14px;
+    width: 4px;
+    background: #4990f1;
+    margin-right: 6px;
+    border-radius: 2px
+}
+
+.split {
+    border-left: 1px solid #eee;
+    width: 1px;
+    height: 16px;
+    margin: 0 10px
+}
+
+.el-cascader-menu__wrap {
+    height: 200px !important
+}
+
+.lineup .el-icon-warning-outline {
+    font-size: 40px;
+    color: #333
+}
+
+.lineup .el-loading-text {
+    color: #333 !important;
+    font-size: 18px !important;
+    margin-top: 20px !important
+}
+
+.order-detail .status-bar {
+    margin-top: 20px;
+    background-color: #f4f9ff;
+    width: 1000px;
+    height: 80px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: justify;
+    -ms-flex-pack: justify;
+    justify-content: space-between
+}
+
+.order-detail .status-bar .status-wrapper {
+    color: #4490f1;
+    font-size: 16px;
+    font-weight: 700;
+    letter-spacing: 1px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.order-detail .status-bar .status-wrapper .iconfont {
+    margin-right: 6px;
+    font-size: 28px;
+    font-weight: 400
+}
+
+.order-detail .status-bar .status-wrapper.CANCELLED, .order-detail .status-bar .status-wrapper.STOP_VISIT {
+    color: #999
+}
+
+.order-detail .status-bar .left-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: justify;
+    -ms-flex-pack: justify;
+    justify-content: space-between;
+    width: 636px;
+    padding-left: 20px
+}
+
+.order-detail .status-bar .identify-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    text-align: right
+}
+
+.order-detail .status-bar .identify-wrapper .identify-text {
+    font-size: 12px;
+    color: #333
+}
+
+.order-detail .status-bar .identify-wrapper .identify-code {
+    font-size: 24px;
+    color: #4490f1
+}
+
+.order-detail .status-bar .right-wrapper {
+    -webkit-box-flex: 1;
+    -ms-flex: 1;
+    flex: 1;
+    padding-left: 40px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    color: #333
+}
+
+.order-detail .status-bar .right-wrapper .content-wrapper {
+    margin-top: -3px;
+    margin-left: 12px
+}
+
+.order-detail .status-bar .right-wrapper .content-wrapper .text {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.order-detail .status-bar .right-wrapper .content-wrapper .iconfont {
+    color: #00c25f;
+    font-size: 24px
+}
+
+.order-detail .status-bar .right-wrapper .watch-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    margin-top: 3px
+}
+
+.order-detail .status-bar .right-wrapper .code-img {
+    width: 61px;
+    height: 61px
+}
+
+.order-detail .info-wrapper .title-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    color: #999;
+    margin-top: 40px
+}
+
+.order-detail .info-wrapper .info-form {
+    margin: 40px 0 0 140px
+}
+
+.order-detail .info-wrapper .info-form .fee {
+    color: #4490f1;
+    font-weight: 700
+}
+
+.order-detail .info-wrapper .info-form .patient-info {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    font-size: 12px
+}
+
+.order-detail .info-wrapper .info-form .patient-info .patient-name {
+    color: #333;
+    font-weight: 700;
+    font-size: 14px
+}
+
+.order-detail .info-wrapper .info-form .patient-info .split {
+    margin: 0 20px;
+    height: 14px
+}
+
+.order-detail .info-wrapper .info-form .patient-info .patient-no {
+    margin-left: 10px
+}
+
+.order-detail .rule-wrapper {
+    background-color: #fafafa;
+    padding: 30px
+}
+
+.order-detail .rule-wrapper .rule-title {
+    color: #333;
+    font-weight: 700;
+    margin-bottom: 10px
+}
+
+.order-detail .bottom-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center
+}
+
+.order-detail .bottom-wrapper .button-wrapper {
+    width: 140px
+}
+
+.order-detail .mt40 {
+    margin-top: 40px
+}
+
+.order-detail .mt60 {
+    margin-top: 60px
+}
+
+.order-detail .ml20 {
+    margin-left: 20px
+}
+
+.order-detail .cancel-dialog .icon {
+    font-size: 54px;
+    color: #4490f1;
+    display: block;
+    text-align: center
+}
+
+.order-detail .cancel-dialog .dialog-footer {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -ms-flex-pack: distribute;
+    justify-content: space-around
+}
+
+.order-detail .cancel-dialog .dialog-text {
+    margin: 30px 0 28px;
+    color: #333;
+    font-size: 16px;
+    letter-spacing: 1px;
+    text-align: center
+}
+
+.order-detail .cancel-dialog .button-wrapper {
+    width: 140px
+}
+
+.v-input .el-input__inner {
+    cursor: auto
+}
+
+.container {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -ms-flex-wrap: wrap;
+    flex-wrap: wrap;
+    padding-bottom: 30px
+}
+
+.container .item {
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    width: 180px;
+    height: 130px;
+    margin-top: 30px;
+    margin-left: 20px;
+    cursor: pointer
+}
+
+.container .item .item-wrapper, .container .item {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.container .item .item-wrapper {
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    margin-left: 5px
+}
+
+.container .item .item-wrapper .image {
+    border-radius: 4px;
+    -webkit-box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .1);
+    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .1)
+}
+
+.container .item .el-checkbox__inner {
+    border-radius: 10px
+}
+
+.container .item .el-checkbox__label {
+    display: none
+}
+
+.container .tips {
+    font-size: 10px;
+    color: #999;
+    margin-top: 4px
+}
+
+.container .label {
+    margin-top: 10px;
+    font-size: 12px;
+    color: #333;
+    width: 132px;
+    text-align: center
+}
+
+.container .label.selected {
+    font-weight: 700
+}
+
+.select-popover .popper__arrow {
+    left: 180px !important
+}
+
+.iconfont {
+    font-size: 13px
+}
+
+.name-input {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.name-input .name-button-wrapper {
+    width: 300px;
+    font-size: 12px;
+    margin-left: 10px
+}
+
+.name-input .name-button-wrapper .v-button {
+    font-size: 12px;
+    height: 30px;
+    border: none;
+    -webkit-box-shadow: none;
+    box-shadow: none
+}
+
+.patient-card {
+    margin-top: 30px;
+    padding: 0 30px;
+    width: 100%;
+    cursor: pointer
+}
+
+.patient-card .el-card__header {
+    padding: 16px 0
+}
+
+.patient-card .el-card__header span {
+    font-size: 12px;
+    color: #999
+}
+
+.patient-card .el-card__header span.name {
+    font-size: 16px;
+    color: #333;
+    margin-right: 30px
+}
+
+.patient-card .el-card__header .detail {
+    float: right;
+    color: #999
+}
+
+.patient-card .el-card__body {
+    padding: 20px 0;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.patient-card .el-card__body .card {
+    -webkit-box-flex: 1;
+    -ms-flex: 1;
+    flex: 1;
+    height: 50px;
+    border-radius: 4px;
+    padding: 0 14px;
+    color: #fff;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    -ms-flex-line-pack: center;
+    align-content: center;
+    margin-right: 50px;
+    cursor: pointer
+}
+
+.patient-card .el-card__body .card .info {
+    width: 100%
+}
+
+.patient-card .el-card__body .card .info span {
+    margin-right: 10px
+}
+
+.patient-card .el-card__body .card .info .type {
+    background: #fff;
+    font-size: 12px;
+    padding: 4px;
+    border-radius: 4px
+}
+
+.patient-card .el-card__body .card.MEDICARE_CARD {
+    background: #76ced5
+}
+
+.patient-card .el-card__body .card.MEDICARE_CARD .type {
+    color: #76ced5
+}
+
+.patient-card .el-card__body .card.SELF_PAY_CARD {
+    background: #89c4ed
+}
+
+.patient-card .el-card__body .card.SELF_PAY_CARD .type {
+    color: #89c4ed
+}
+
+.patient-card .el-card__body .card .operate {
+    width: 100px;
+    text-align: right
+}
+
+.patient-card .el-card__body .card .operate img {
+    width: 22px;
+    -webkit-transform: translateY(2px);
+    transform: translateY(2px)
+}
+
+.patient-card .el-card__body .card:nth-child(2n) {
+    margin-right: 0
+}
+
+.patient-card .el-card__body .card .text {
+    width: 100%;
+    text-align: center;
+    color: #333;
+    font-size: 14px
+}
+
+.patient-card .tips {
+    width: 100%;
+    font-size: 14px;
+    color: #ff5f5f
+}
+
+ .el-dialog__header {
+    background-color: #e8f2ff;
+    padding: 20px 30px;
+    border-radius: 4px 4px 0 0
+}
+
+ .el-dialog__header .el-dialog__title {
+    font-size: 16px;
+    font-weight: 700;
+    letter-spacing: 1px
+}
+
+ .el-dialog__header .el-dialog__close {
+    font-size: 20px;
+    font-weight: 700
+}
+
+ .el-dialog__body {
+    padding: 30px;
+    text-align: center
+}
+
+ .el-dialog__body /deep/ .el-form-item__label {
+    line-height: 30px
+}
+
+ .el-dialog__body .form-item {
+    margin-bottom: 30px;
+    line-height: 1
+}
+
+ .el-dialog__body .form-item .el-form-item__label {
+    line-height: 1
+}
+
+ .el-dialog__body .form-item .content {
+    text-align: left
+}
+
+ .el-dialog__body .text {
+    line-height: 26px;
+    color: #333;
+    font-size: 16px;
+    padding-bottom: 30px;
+    text-align: left
+}
+
+ .el-dialog__body .button-wrapper {
+    text-align: center
+}
+
+ .el-dialog__body .button-wrapper span {
+    cursor: pointer
+}
+
+ .el-dialog__body .v-button {
+    width: 320px;
+    margin: 0 auto 30px
+}
+
+ .el-dialog__body .picture {
+    text-align: left;
+    color: #999;
+    padding-top: 10px
+}
+
+ .el-dialog__body img {
+    width: 280px;
+    margin-bottom: 20px
+}

Plik diff jest za duży
+ 3 - 0
assets/css/iconfont.css


+ 114 - 0
assets/css/index.css

@@ -0,0 +1,114 @@
+#app-container {
+    -webkit-font-smoothing: antialiased;
+    -moz-osx-font-smoothing: grayscale;
+    -webkit-tap-highlight-color: transparent;
+    font-size: 14px;
+    color: #666;
+    height: 100%;
+    background: #fff;
+    overflow-x: auto;
+    overflow-y: hidden;
+    min-width: 1200px;
+}
+#main {
+    height: 100%;
+    min-width: 1200px;
+}
+.header-container .wrapper, .header-container {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+}
+.header-container {
+    position: relative;
+    z-index: 1000;
+    background: #fff;
+    -webkit-box-shadow: 0 0 10px 0 rgba(0,0,0,.1);
+    box-shadow: 0 0 10px 0 rgba(0,0,0,.1);
+    height: 70px;
+}
+.header-container .wrapper{
+    width: 1200px;
+    min-width: 1200px;
+    -webkit-box-pack: justify;
+    -ms-flex-pack: justify;
+    justify-content: space-between;
+}
+.text{
+    margin-left: 10px;
+    font-size: 22px;
+}
+.v-link{
+    color: #666;
+    -webkit-transition: all .2s ease;
+    transition: all .2s ease;
+    -webkit-user-select: none;
+    -moz-user-select: none;
+    -ms-user-select: none;
+    user-select: none;
+    letter-spacing: 1px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+}
+.v-link.selected, .v-link:hover {
+    color: #4490f1;
+}
+
+.header-container .wrapper .search-wrapper{
+    width: 500px;
+}
+
+.hospital-search {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-direction: normal;
+    -webkit-box-orient: vertical;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+}
+
+.hospital-search .search-input{
+    width: 100%;
+}
+
+.col-right-bottom, .hospital-search {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-direction: normal;
+}
+
+/* 头部右侧 */
+.header-container .wrapper .right-wrapper {
+    width: 166px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: horizontal;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: row;
+    flex-direction: row;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    -webkit-box-pack: justify;
+    -ms-flex-pack: justify;
+    justify-content: space-between;
+}

+ 547 - 0
assets/css/main.css

@@ -0,0 +1,547 @@
+.wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    width: 100%;
+    height: 100%
+}
+
+.wrapper .icon {
+    font-size: 40px;
+    color: #4490f1
+}
+
+.wrapper .tips {
+    margin-top: 20px;
+    font-size: 14px
+}
+
+.mobile-wrapper {
+    position: fixed;
+    top: 0;
+    left: 0;
+    bottom: 0;
+    right: 0
+}
+
+.mobile-wrapper .mobile-img {
+    width: 100%
+}
+
+.mobile-wrapper .goto {
+    font-size: 46px;
+    color: #999;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    text-decoration: underline;
+    margin-top: 30px
+}
+
+.filter-wrapper, .mobile-wrapper .goto {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex
+}
+
+.filter-wrapper:nth-child(2) {
+    margin-top: 20px
+}
+
+.filter-wrapper .label {
+    color: #999
+}
+
+.filter-wrapper .condition-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-flex: 1;
+    -ms-flex: 1;
+    flex: 1;
+    -ms-flex-wrap: wrap;
+    flex-wrap: wrap;
+    margin-left: -16px;
+    margin-bottom: -10px
+}
+
+.filter-wrapper .condition-wrapper .item {
+    margin-left: 26px;
+    margin-bottom: 10px
+}
+
+.filter-wrapper .condition-wrapper .item.selected {
+    font-weight: 700
+}
+
+img {
+    width: 100%
+}
+
+ .el-carousel__button {
+    border-radius: 5px;
+    width: 10px;
+    height: 6px;
+    opacity: .4
+}
+
+ .el-carousel__container {
+    height: 350px
+}
+
+ .el-carousel__indicator.is-active button {
+    height: 6px;
+    width: 20px
+}
+
+.no-data-wrapper {
+    margin: 0 auto;
+    padding-top: 100px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.no-data-wrapper .no-text {
+    color: #ccc;
+    margin-top: 20px
+}
+
+.no-data-wrapper .no-data-img {
+    width: 130px;
+    height: 130px
+}
+
+.v-scroll-list .loading-wrapper {
+    margin-top: 10px;
+    height: 100px;
+    width: 100%
+}
+
+.icon-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    color: #999;
+    font-size: 14px
+}
+
+.icon-wrapper .iconfont {
+    margin-right: 3px
+}
+
+.hospital-list-item {
+    height: 98px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    -webkit-box-pack: justify;
+    -ms-flex-pack: justify;
+    justify-content: space-between
+}
+
+.hospital-list-item:hover .wrapper .hospital-title {
+    color: #000;
+    font-weight: 800
+}
+
+.hospital-list-item:hover .hospital-img {
+    -webkit-transform: scale(1.03);
+    transform: scale(1.03)
+}
+
+.hospital-list-item .dept-name {
+    margin-left: 6px;
+    font-weight: 400;
+    font-size: 14px
+}
+
+.hospital-list-item .wrapper {
+    height: 76px;
+    color: #333;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-pack: justify;
+    -ms-flex-pack: justify;
+    justify-content: space-between;
+    -webkit-box-flex: 1;
+    -ms-flex: 1;
+    flex: 1;
+    align-items: normal;
+}
+
+.hospital-list-item .wrapper .hospital-title {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    height: 42px;
+    font-weight: 500;
+    font-size: 16px;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    -webkit-transition: all .2s ease;
+    transition: all .2s ease;
+    width: 100%;
+}
+
+.hospital-list-item .wrapper .bottom-container {
+    width: 250px;
+    color: #999;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: justify;
+    -ms-flex-pack: justify;
+    justify-content: space-between
+}
+
+.hospital-list-item .wrapper .bottom-container .label-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.hospital-list-item .wrapper .bottom-container .label-wrapper .iconfont {
+    margin-right: 3px
+}
+
+.hospital-list-item .hospital-img {
+    width: 80px;
+    height: 80px;
+    border-radius: 40px;
+    margin-left: 12px;
+    -webkit-transition: all .2s linear;
+    transition: all .2s linear
+}
+
+.list-item {
+    width: 440px;
+    height: 98px;
+    margin-top: 30px;
+    display: inline-block;
+    vertical-align: top
+}
+
+.hos-item {
+    padding: 0 10px 0 20px
+}
+
+.space {
+    margin-left: 26px
+}
+
+.hospital-list {
+    padding-left: 10px;
+    padding-right: 80px
+}
+
+.common-dept .header-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: justify;
+    -ms-flex-pack: justify;
+    justify-content: space-between
+}
+
+.common-dept .header-wrapper .all-wrapper {
+    color: #999;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    font-size: 14px;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    cursor: pointer
+}
+
+.common-dept .header-wrapper .all-wrapper .iconfont {
+    font-size: 14px
+}
+
+.common-dept .content-wrapper {
+    margin-top: 20px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -ms-flex-wrap: wrap;
+    flex-wrap: wrap;
+    line-height: 31px;
+    margin-left: -15px
+}
+
+.common-dept .content-wrapper .item {
+    margin-left: 30px;
+    width: 70px;
+    text-align: center
+}
+
+.common-dept .icon {
+    font-size: 14px
+}
+
+.header-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: justify;
+    -ms-flex-pack: justify;
+    justify-content: space-between
+}
+
+.header-wrapper .title-wrapper .icon-wrapper, .header-wrapper .title-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.header-wrapper .title-wrapper .icon-wrapper {
+    height: 40px;
+    width: 40px;
+    border-radius: 20px;
+    background: #f2f8ff;
+    color: #7eabff;
+    margin-right: 10px
+}
+
+.header-wrapper .title-wrapper .icon-wrapper .iconfont {
+    font-size: 20px
+}
+
+.header-wrapper .all-wrapper {
+    color: #999;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    cursor: pointer
+}
+
+.content-wrapper {
+    margin-top: 17px
+}
+
+.content-wrapper .point {
+    height: 4px;
+    width: 4px;
+    border-radius: 2px;
+    background: #7eabff
+}
+
+.content-wrapper .notice-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    margin-top: 14px
+}
+
+.content-wrapper .notice-wrapper .notice {
+    display: block;
+    margin-left: 7px;
+    overflow: hidden;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+    -webkit-line-clamp: 1;
+    -webkit-box-orient: vertical;
+    word-break: break-all;
+    width: 100%
+}
+
+.icon {
+    font-size: 14px
+}
+
+.title-icon {
+    font-size: 22px
+}
+
+.suspend-notice-list {
+    background: #fff
+}
+
+.suspend-notice-list .header-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: justify;
+    -ms-flex-pack: justify;
+    justify-content: space-between
+}
+
+.suspend-notice-list .header-wrapper .title-wrapper .icon-wrapper, .suspend-notice-list .header-wrapper .title-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.suspend-notice-list .header-wrapper .title-wrapper .icon-wrapper {
+    height: 40px;
+    width: 40px;
+    border-radius: 20px;
+    background: #fffaf1;
+    color: #ffaa51;
+    margin-right: 10px
+}
+
+.suspend-notice-list .header-wrapper .all-wrapper {
+    color: #999;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    cursor: pointer
+}
+
+.suspend-notice-list .header-wrapper .all-wrapper .all-icon {
+    font-size: 14px
+}
+
+.suspend-notice-list .content-wrapper {
+    margin-top: 17px
+}
+
+.suspend-notice-list .content-wrapper .point {
+    height: 4px;
+    width: 4px;
+    border-radius: 2px;
+    background: #ffaa51
+}
+
+.suspend-notice-list .content-wrapper .notice-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    margin-top: 14px
+}
+
+.suspend-notice-list .content-wrapper .notice-wrapper .notice {
+    display: block;
+    margin-left: 7px;
+    overflow: hidden;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+    -webkit-line-clamp: 1;
+    -webkit-box-orient: vertical;
+    word-break: break-all;
+    width: 100%
+}
+
+.suspend-notice-list .icon {
+    font-size: 14px
+}
+
+.suspend-notice-list .title-icon {
+    font-size: 22px
+}
+
+.home {
+    background: #fff;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column
+}
+
+.home .search-container {
+    margin-top: 25px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center
+}
+
+.home .search-container .search-wrapper {
+    width: 800px
+}
+
+.home .home-filter-wrapper {
+    background: #fff;
+    padding: 20px 80px 10px 0;
+    z-index: 300
+}
+
+.home .home-filter-wrapper .title {
+    margin-bottom: 30px
+}
+
+.home .bottom {
+    margin-top: 70px
+}
+
+.home .bottom .left {
+    float: left;
+    width: calc(100% - 200px);
+    margin-top: -20px
+}
+
+.home .bottom .right {
+    width: 200px;
+    float: right;
+    position: -webkit-sticky;
+    position: sticky;
+    top: 20px
+}
+
+.home .bottom .right .space {
+    margin-top: 40px
+}

+ 1130 - 0
assets/css/personal.css

@@ -0,0 +1,1130 @@
+.auth-notice {
+    position: fixed;
+    top: 0;
+    left: 0;
+    right: 0;
+    bottom: 0;
+    z-index: 999999
+}
+
+.mask {
+    position: absolute;
+    width: 100%;
+    height: 100%;
+    background: #000;
+    opacity: .5;
+    z-index: -100
+}
+
+.notice-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    height: 100vh
+}
+
+.notice-wrapper .notice-container {
+    height: 670px;
+    width: 455px;
+    border-bottom-left-radius: 20px;
+    border-bottom-right-radius: 20px
+}
+
+.notice-wrapper .notice-title {
+    font-size: 26px;
+    font-weight: 600;
+    color: #333;
+    line-height: 48px;
+    text-align: center;
+    margin-top: 270px
+}
+
+.notice-wrapper .content-wrapper {
+    margin-top: 20px;
+    line-height: 40px;
+    font-size: 21px;
+    font-weight: 400;
+    padding: 0 50px;
+    letter-spacing: .5px
+}
+
+.notice-wrapper .content-wrapper .black {
+    color: #666
+}
+
+.notice-wrapper .content-wrapper .red {
+    color: #ff5f5f
+}
+
+.notice-wrapper .hyde-btn {
+    margin-top: 30px;
+    width: 326px
+}
+
+.id-card-wrapper {
+    height: 100px
+}
+
+.id-card-wrapper .el-form-item__error {
+    top: 40px
+}
+
+.id-card-wrapper .bottom-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    margin-top: 60px
+}
+
+.id-card-wrapper .bottom-wrapper .button-wrapper {
+    width: 140px;
+    margin-bottom: 30px
+}
+
+.id-card-wrapper .form-item {
+    width: 470px;
+    margin-bottom: 20px;
+    height: 40px
+}
+
+.id-card-wrapper .form-item.large {
+    width: 672px
+}
+
+.bottom-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    margin-top: 60px
+}
+
+.bottom-wrapper .button-wrapper {
+    width: 140px;
+    margin-bottom: 30px
+}
+
+ .el-form-item__error {
+    top: 40px
+}
+
+ .el-upload {
+    border: 1px solid #4990f1;
+    cursor: pointer;
+    position: relative;
+    overflow: hidden
+}
+
+.upload-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex
+}
+
+.upload-wrapper .example {
+    height: 125px;
+    width: 160px;
+    margin-left: 40px
+}
+
+.upload-inner-wrapper {
+    width: 160px;
+    height: 125px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    color: #4990f1
+}
+
+.upload-inner-wrapper .icon {
+    font-size: 36px
+}
+
+.upload-inner-wrapper .text {
+    font-size: 14px;
+    margin-top: 5px
+}
+
+.uploaded-img {
+    height: 100%
+}
+
+.form-item {
+    width: 470px;
+    margin-bottom: 20px
+}
+
+.form-item.large {
+    width: 672px
+}
+
+.form-item.form-normal {
+    height: 40px
+}
+
+.title {
+    letter-spacing: 1px;
+    font-weight: 700;
+    color: #333;
+    font-size: 16px
+}
+
+.affix {
+    position: fixed;
+    z-index: 100
+}
+
+.el-autocomplete-suggestion {
+    margin-top: 2px !important;
+    border: none !important;
+    border-top-left-radius: 0 !important;
+    border-top-right-radius: 0 !important;
+    -webkit-box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04) !important;
+    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04) !important
+}
+
+.el-autocomplete-suggestion .popper__arrow {
+    display: none !important
+}
+
+.el-form-item__label {
+    color: #999 !important;
+    letter-spacing: 1px
+}
+
+.block {
+    height: 14px;
+    width: 4px;
+    background: #4990f1;
+    margin-right: 6px;
+    border-radius: 2px
+}
+
+.split {
+    border-left: 1px solid #eee;
+    width: 1px;
+    height: 16px;
+    margin: 0 10px
+}
+
+.el-cascader-menu__wrap {
+    height: 200px !important
+}
+
+.lineup .el-icon-warning-outline {
+    font-size: 40px;
+    color: #333
+}
+
+.lineup .el-loading-text {
+    color: #333 !important;
+    font-size: 18px !important;
+    margin-top: 20px !important
+}
+
+.status-bar {
+    margin-top: 20px;
+    height: 80px;
+    background-color: #f4f9ff;
+    font-size: 16px;
+    color: #4490f1;
+    letter-spacing: 1px;
+    font-weight: 700
+}
+
+.status-bar .status-wrapper, .status-bar {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.status-bar .status-wrapper {
+    padding-bottom: 1px
+}
+
+.status-bar .status-wrapper .iconfont {
+    font-weight: 400;
+    font-size: 28px;
+    margin: 0 14px 0 20px
+}
+
+.tips {
+    font-size: 12px;
+    color: #999;
+    margin: 40px 0;
+    padding-left: 140px
+}
+
+.tips .iconfont {
+    font-size: 12px
+}
+
+.form-wrapper {
+    padding-left: 140px;
+    width: 580px
+}
+
+.bottom-wrapper {
+    width: 740px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    margin-top: 60px
+}
+
+.bottom-wrapper .button-wrapper {
+    width: 140px
+}
+
+.bottom-wrapper .link {
+    margin-top: 30px
+}
+
+.context-container {
+    margin-top: 80px;
+    margin-left: 140px
+}
+
+.loading-wrapper {
+    min-height: 200px
+}
+
+.title {
+    letter-spacing: 1px;
+    font-weight: 700;
+    color: #333;
+    font-size: 16px
+}
+
+.affix {
+    position: fixed;
+    z-index: 100
+}
+
+.el-autocomplete-suggestion {
+    margin-top: 2px !important;
+    border: none !important;
+    border-top-left-radius: 0 !important;
+    border-top-right-radius: 0 !important;
+    -webkit-box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04) !important;
+    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04) !important
+}
+
+.el-autocomplete-suggestion .popper__arrow {
+    display: none !important
+}
+
+.el-form-item__label {
+    color: #999 !important;
+    letter-spacing: 1px
+}
+
+.block {
+    height: 14px;
+    width: 4px;
+    background: #4990f1;
+    margin-right: 6px;
+    border-radius: 2px
+}
+
+.split {
+    border-left: 1px solid #eee;
+    width: 1px;
+    height: 16px;
+    margin: 0 10px
+}
+
+.el-cascader-menu__wrap {
+    height: 200px !important
+}
+
+.lineup .el-icon-warning-outline {
+    font-size: 40px;
+    color: #333
+}
+
+.lineup .el-loading-text {
+    color: #333 !important;
+    font-size: 18px !important;
+    margin-top: 20px !important
+}
+
+.personal-order .title {
+    margin-bottom: 60px
+}
+
+.personal-order .table {
+    margin-top: 40px
+}
+
+.personal-order .pagination {
+    margin-top: 100px
+}
+
+.personal-order .order-status-select {
+    width: 200px
+}
+
+.personal-order .order-status-item {
+    margin-left: 60px
+}
+
+.personal-order .search-button {
+    margin-left: 50px
+}
+
+.personal-order .patient-select {
+    width: 400px
+}
+
+.select-popper /deep/ .el-select-dropdown__wrap {
+    padding-bottom: 17px
+}
+
+.title {
+    margin-bottom: 60px
+}
+
+ .el-textarea__inner {
+    border: 1px solid #eee
+}
+
+.bottom-wrapper {
+    margin-top: 100px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.bottom-wrapper .button {
+    width: 140px
+}
+
+.v-scroll-list .loading-wrapper {
+    margin-top: 10px;
+    height: 100px;
+    width: 100%
+}
+
+.hospital-list-item {
+    height: 98px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    -webkit-box-pack: justify;
+    -ms-flex-pack: justify;
+    justify-content: space-between
+}
+
+.hospital-list-item:hover .wrapper .hospital-title {
+    color: #000;
+    font-weight: 800
+}
+
+.hospital-list-item:hover .hospital-img {
+    -webkit-transform: scale(1.03);
+    transform: scale(1.03)
+}
+
+.hospital-list-item .dept-name {
+    margin-left: 6px;
+    font-weight: 400;
+    font-size: 14px
+}
+
+.hospital-list-item .wrapper {
+    height: 76px;
+    color: #333;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-pack: justify;
+    -ms-flex-pack: justify;
+    justify-content: space-between;
+    -webkit-box-flex: 1;
+    -ms-flex: 1;
+    flex: 1
+}
+
+.hospital-list-item .wrapper .hospital-title {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    height: 42px;
+    font-weight: 500;
+    font-size: 16px;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    -webkit-transition: all .2s ease;
+    transition: all .2s ease
+}
+
+.hospital-list-item .wrapper .bottom-container {
+    width: 250px;
+    color: #999;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: justify;
+    -ms-flex-pack: justify;
+    justify-content: space-between
+}
+
+.hospital-list-item .wrapper .bottom-container .label-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.hospital-list-item .wrapper .bottom-container .label-wrapper .iconfont {
+    margin-right: 3px
+}
+
+.hospital-list-item .hospital-img {
+    width: 80px;
+    height: 80px;
+    border-radius: 40px;
+    margin-left: 12px;
+    -webkit-transition: all .2s linear;
+    transition: all .2s linear
+}
+
+.list-item {
+    width: 440px;
+    margin-top: 30px;
+    padding: 0 10px 0 20px
+}
+
+.space {
+    margin-left: 40px
+}
+
+.hospital-list {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -ms-flex-wrap: wrap;
+    flex-wrap: wrap
+}
+
+.title {
+    margin-bottom: 40px
+}
+
+.title {
+    font-size: 14px;
+    margin-top: 35px
+}
+
+.content {
+    margin-top: 29px;
+    color: #666;
+    line-height: 23px;
+    letter-spacing: 1px
+}
+
+.content .special {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex
+}
+
+.form-wrapper {
+    margin-top: 50px;
+    width: 410px;
+    margin-left: 140px
+}
+
+.form-wrapper .mobile-text {
+    color: #333;
+    letter-spacing: 1px
+}
+
+.bottom-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    padding: 80px 0
+}
+
+.bottom-wrapper .button-wrapper {
+    width: 140px
+}
+
+.bind-wechat-view {
+    padding-bottom: 20px
+}
+
+.bind-wrapper {
+    margin-top: 50px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.portrait {
+    width: 100px;
+    height: 100px
+}
+
+.button-wrapper {
+    width: 140px;
+    margin-top: 80px
+}
+
+.nick-name {
+    color: #333;
+    font-weight: 700;
+    letter-spacing: 1px;
+    margin-top: 20px
+}
+
+.unbound-wrapper {
+    margin-top: 90px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.unbound-wrapper .tips {
+    margin-top: 20px;
+    color: #999;
+    letter-spacing: 1px
+}
+
+.tabs {
+    margin-top: -12px
+}
+
+.header-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.header-wrapper .title {
+    margin-right: 30px
+}
+
+.content-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -ms-flex-wrap: wrap;
+    flex-wrap: wrap;
+    margin-top: 60px
+}
+
+.content-wrapper .item {
+    -webkit-transform: scale(1);
+    transform: scale(1)
+}
+
+.content-wrapper .item .iconfont {
+    margin-right: 10px;
+    color: #999;
+    font-size: 14px
+}
+
+.content-wrapper .item:hover .item-title {
+    font-weight: 700
+}
+
+.content-wrapper .card-info-item {
+    margin-bottom: 30px
+}
+
+.content-wrapper .card-info-item .tips-wrapper {
+    width: 226px;
+    padding: 10px 20px;
+    word-wrap: break-word;
+    word-break: break-all;
+    overflow: hidden;
+    background: #fee;
+    border-radius: 0 0 4px 4px;
+    -webkit-box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04);
+    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04);
+    color: #ff5f5f;
+    font-size: 12px;
+    margin-top: -2px
+}
+
+.content-wrapper .item-wrapper {
+    width: 202px;
+    height: 90px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    padding: 12px 10px 0 14px;
+    font-size: 12px;
+    color: #999
+}
+
+.content-wrapper .item-wrapper.wait-bind {
+    background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADoAAAAwCAMAAAB3/pl8AAAAUVBMVEUAAAD/f3//YmL/cHD/Z2f/YWH/Zmb/YGD/YmL/ZWX/YmL/amr/ZGT/YWH/YWH/YGD/YGD/YWH/YGD/YGD/YGD/YWH/YGD/YGD/YGD/ZGT/YWE75cZNAAAAG3RSTlMABTALFUYZVTshKw8mNUFYTFFqXHN3b2BlHX3J/BX1AAADRElEQVRIx51WCRajIAwN+yKgAgJ6/4OOlqmAnaUz6XsVDVk+WQj8jiaFpZRWTfBPNGGxxbIyxpYcj4DJt4JcbLNtxtCpJ+zfCNIcJXp8QzYV/jdB5DZ8C4q5MfDG0J9B+vDylC3Xf84di4hUQVD+Kx002roo6dxLOeeU9IY5UCYsDvTzfA759psbrNXOd6Wxom8rOs5yurjzh81Nn7YyPle4hRNRhfn11IJpqGQfZ0aSvdAebMKGjGensFpW021dRtGZ/fT1IwMoC3Y8mnV4M6lydz3uIrICHEib3qm4V0nXJCvAhmu/Q4t6s1LUwOru2wAQ4eJbtiyoM8ornzSAAqPO7XgMWm0Ld6iA6a8ASo4So6sFJW6JFtqAXxK4AezzOskrmDHO5vbDTW/uQV5u8AdA8KjyifQl9vqoe0cmV6QDQDsRCLtdzngR7Cg4ty8Mnh479wIY+giikJNiZXWgwnF+p8shdETwSEaBHwB5csERuTo3hUvNuaVYcv6bZzKm+QaIaOVonIP0SyTlpZsw+TrsdrKiRrBLUV6QnhGcPz+5JDTLF4iDUg/0fE+oiaLV3QDNdcKHZ6dhVowIgmDl0uXGxqH4jBHcktJAj9BT7deVAbEcKCcmFUlQ0icnKpBuqAlz2e18hQkBjbOXV5jZvOJs0FbEBEEB6rrr5dcgulhl9sUzLqgmgPF0WM2wAOuGmpjjnaAtG9EihUGw+40R0At44CGrymw1YcLbbdax/A6T86v1V3UGmnhRtAMYGLmM3RKiU3owk69AeX6+eO0eRY9RzZ+73ppHjCWAwtDrNBEeil6dylQrlWez2MmsALlJezsAnKs5TVqpVFpRW+v1YgozdDXyU4Wu22XnDe4gpWdXoy2cqDb6fofo1nYaATbSVcnioCM29uyxq3U5W42SYVvzfgA4uK7q0+PHnTFe4TPjT12ao2o7PziSD21bGzIKGkzdQV/XZDuKMRl1BVgvyW4K4icrk1Pv9jlRLPwFMNq7y7Sr2dwDgD12+CDExNXV6C0L90CAoKT3QED/NoY0CqXNJEQk+v3wA2sehp//GrlkLPzbQQ+ThhmLTezwJRE8b1teFsbWHE89/zidEmWllFj9XuwHWnkkbls5CWAAAAAASUVORK5CYII=") no-repeat;
+    background-position: 142px, 50px
+}
+
+.content-wrapper .item-wrapper .item-title {
+    color: #333;
+    letter-spacing: 1px;
+    font-size: 14px;
+    margin-bottom: 10px
+}
+
+.content-wrapper .item-add-wrapper {
+    width: 100%;
+    height: 54px;
+    line-height: 54px;
+    text-align: center;
+    color: #4990f1;
+    font-size: 16px;
+    margin-top: 30px
+}
+
+.content-wrapper .operate-wrapper {
+    font-size: 12px
+}
+
+.content-wrapper .operate-wrapper .delete-button {
+    margin-left: -10px
+}
+
+.header-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.header-wrapper .title {
+    margin-right: 30px
+}
+
+.tip-wrapper {
+    font-size: 12px;
+    color: #999;
+    margin-left: 140px;
+    margin-top: 40px
+}
+
+.tip-wrapper .iconfont {
+    font-size: 12px
+}
+
+.sub-title {
+    letter-spacing: 1px;
+    color: #999;
+    margin-top: 60px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.content-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    margin-left: 140px;
+    margin-top: 20px
+}
+
+.content-wrapper .inline {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.content-wrapper .inline .v-link {
+    margin-left: 10px
+}
+
+.content-wrapper .mobile-form-item {
+    width: 360px;
+    margin-bottom: 0
+}
+
+.content-wrapper .form-item {
+    width: 470px;
+    margin-bottom: 20px
+}
+
+.content-wrapper .form-item.large {
+    width: 672px
+}
+
+.bottom-wrapper {
+    width: 740px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center
+}
+
+.bottom-wrapper .button-wrapper {
+    width: 140px;
+    margin-top: 80px
+}
+
+.ml20 {
+    margin-left: 20px
+}
+
+.placeholder {
+    height: 300px;
+    margin-left: 300px;
+    width: 150px
+}
+
+ .el-dialog__header {
+    background-color: #e8f2ff;
+    padding: 20px 30px;
+    border-radius: 4px 4px 0 0
+}
+
+ .el-dialog__header .el-dialog__title {
+    font-size: 16px;
+    font-weight: 700;
+    letter-spacing: 1px
+}
+
+ .el-dialog__header .el-dialog__close {
+    font-size: 20px;
+    font-weight: 700
+}
+
+ .el-dialog__body {
+    padding: 60px 80px
+}
+
+ .el-dialog__footer {
+    padding: 0 60px 50px
+}
+
+.dialog-text {
+    color: #333;
+    font-size: 16px;
+    margin-bottom: 60px
+}
+
+ .el-dialog--center .el-dialog__body {
+    text-align: center;
+    padding: 10px 60px 0
+}
+
+ .el-dialog--center .el-dialog__footer {
+    padding-bottom: 40px
+}
+
+.img-wp {
+    width: 140px;
+    height: 140px;
+    margin: 0 auto 20px
+}
+
+.img-wp img {
+    width: 100%;
+    height: 100%;
+    line-height: 0;
+    display: block
+}
+
+.icon {
+    font-size: 54px;
+    color: #4490f1;
+    display: block;
+    text-align: center
+}
+
+.dialog-footer {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center
+}
+
+.dialog-text {
+    margin: 30px 0 20px;
+    color: #333;
+    font-size: 16px;
+    letter-spacing: 1px
+}
+
+.button-wrapper {
+    width: 140px
+}
+
+.header-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.header-wrapper .title {
+    margin-right: 30px
+}
+
+.tip-wrapper {
+    font-size: 12px;
+    color: #999;
+    margin-left: 140px;
+    margin-top: 40px
+}
+
+.tip-wrapper .iconfont {
+    font-size: 12px
+}
+
+.sub-title {
+    letter-spacing: 1px;
+    color: #999;
+    margin-top: 60px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.content-wrapper {
+    margin-left: 140px;
+    margin-top: 20px
+}
+
+.content-wrapper .inline, .content-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex
+}
+
+.content-wrapper .inline .v-link {
+    margin-left: 10px
+}
+
+.content-wrapper .form-item {
+    width: 470px;
+    margin-bottom: 20px
+}
+
+.content-wrapper .form-item.large {
+    width: 672px
+}
+
+.bottom-wrapper {
+    width: 740px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center
+}
+
+.bottom-wrapper .button-wrapper {
+    width: 140px;
+    margin-top: 80px
+}
+
+.ml20 {
+    margin-left: 20px
+}
+
+.card-img {
+    margin-left: 110px;
+    margin-bottom: 20px;
+    -webkit-box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04);
+    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04);
+    border-radius: 8px;
+    height: 80px
+}
+
+.header-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.header-wrapper .title {
+    margin-right: 30px
+}
+
+.tip-wrapper {
+    font-size: 12px;
+    color: #999;
+    margin-left: 140px;
+    margin-top: 40px
+}
+
+.tip-wrapper .iconfont {
+    font-size: 12px
+}
+
+.sub-title {
+    letter-spacing: 1px;
+    color: #999;
+    margin-top: 60px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.content-wrapper {
+    margin-left: 140px;
+    margin-top: 20px
+}
+
+.content-wrapper .inline, .content-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex
+}
+
+.content-wrapper .inline .v-link {
+    margin-left: 10px
+}
+
+.content-wrapper .form-item {
+    width: 470px;
+    margin-bottom: 20px
+}
+
+.content-wrapper .form-item.large {
+    width: 672px
+}
+
+.bottom-wrapper {
+    width: 740px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center
+}
+
+.bottom-wrapper .button-wrapper {
+    width: 140px;
+    margin-top: 80px
+}
+
+.ml20 {
+    margin-left: 20px
+}
+
+.card-img {
+    margin-left: 110px;
+    margin-bottom: 20px;
+    -webkit-box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04);
+    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04);
+    border-radius: 8px;
+    height: 80px
+}

+ 44 - 0
assets/css/reset.css

@@ -0,0 +1,44 @@
+
+/* reset */
+body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,textarea,p,blockquote,th,td,input,select,textarea,button {margin:0;padding:0}  /* 初始化标签在所有浏览器中的margin、padding值 */
+fieldset,img {border:0 none}  /* 重置fieldset(表单分组)、图片的边框为0*/
+dl,ul,ol,menu,li {list-style:none}   /* 重置类表前导符号为onne,menu在HTML5中有效 */
+blockquote, q {quotes: none}   /* 重置嵌套引用的引号类型 */
+blockquote:before, blockquote:after,q:before, q:after {content:'';content:none}  /* 重置嵌套引用*/
+input,select,textarea,button {vertical-align:middle}  /* 重置表单控件垂直居中*/
+button {border:0 none;background-color:transparent;cursor:pointer}  /* 重置表单button按钮效果 */
+body {background:#fff}   /* 重置body 页面背景为白色 */
+body,th,td,input,select,textarea,button {font-size:12px;line-height:1 ;font-family:"微软雅黑", "黑体","宋体";color:#666} /* 重置页面文字属性 */
+a {color:#666;text-decoration:none}  /* 重置链接a标签 */
+a:active, a:hover {text-decoration:none}   /* 重置链接a标签的鼠标滑动效果 */
+address,caption,cite,code,dfn,em,var {font-style:normal;font-weight:normal}  /* 重置样式标签的样式 */
+caption {display:none;}    /* 重置表格标题为隐藏 */
+table {width:100%;border-collapse:collapse;border-spacing:0;table-layout:fixed;}    /* 重置table属性 */
+img{vertical-align:top}  /* 图片在当前行内的垂直位置 */
+ 
+/* 页面设置 */
+ 
+  /* 取消a标签点击后的虚线框 */
+a {outline: none;}  
+
+ 
+ /* 设置页面文字等在拖动鼠标选中情况下的背景色与文字颜色 */
+/* 
+::selection {color: #fff;background-color: #4C6E78;}    
+::-moz-selection {color: #fff;background-color: #4C6E78;} 
+*/
+ 
+/*清除浮动*/
+.clear{clear: both;}
+ 
+/*清除浮动--推荐使用*/
+.clearfix:before,.clearfix:after{content: '';display: table;}
+.clearfix:after{clear: both;}
+
+
+.animation-show {
+    -webkit-animation: animation-show-data-v-c865a8bc .1s ease-in;
+    animation: animation-show-data-v-c865a8bc .1s ease-in;
+    -webkit-animation-fill-mode: forwards;
+    animation-fill-mode: forwards;
+}

BIN
assets/images/logo.png


BIN
assets/images/web-banner1.png


+ 80 - 0
components/AppLogo.vue

@@ -0,0 +1,80 @@
+<template>
+  <div class="VueToNuxtLogo">
+    <div class="Triangle Triangle--two"/>
+    <div class="Triangle Triangle--one"/>
+    <div class="Triangle Triangle--three"/>
+    <div class="Triangle Triangle--four"/>
+  </div>
+</template>
+
+<style>
+.VueToNuxtLogo {
+  display: inline-block;
+  animation: turn 2s linear forwards 1s;
+  transform: rotateX(180deg);
+  position: relative;
+  overflow: hidden;
+  height: 180px;
+  width: 245px;
+}
+
+.Triangle {
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 0;
+  height: 0;
+}
+
+.Triangle--one {
+  border-left: 105px solid transparent;
+  border-right: 105px solid transparent;
+  border-bottom: 180px solid #41B883;
+}
+
+.Triangle--two {
+  top: 30px;
+  left: 35px;
+  animation: goright 0.5s linear forwards 3.5s;
+  border-left: 87.5px solid transparent;
+  border-right: 87.5px solid transparent;
+  border-bottom: 150px solid #3B8070;
+}
+
+.Triangle--three {
+  top: 60px;
+  left: 35px;
+  animation: goright 0.5s linear forwards 3.5s;
+  border-left: 70px solid transparent;
+  border-right: 70px solid transparent;
+  border-bottom: 120px solid #35495E;
+}
+
+.Triangle--four {
+  top: 120px;
+  left: 70px;
+  animation: godown 0.5s linear forwards 3s;
+  border-left: 35px solid transparent;
+  border-right: 35px solid transparent;
+  border-bottom: 60px solid #fff;
+}
+
+@keyframes turn {
+  100% {
+    transform: rotateX(0deg);
+  }
+}
+
+@keyframes godown {
+  100% {
+    top: 180px;
+  }
+}
+
+@keyframes goright {
+  100% {
+    left: 70px;
+  }
+}
+</style>
+

+ 7 - 0
components/README.md

@@ -0,0 +1,7 @@
+# COMPONENTS
+
+The components directory contains your Vue.js Components.
+Nuxt.js doesn't supercharge these components.
+
+**This directory is not required, you can delete it if you don't want to use it.**
+

+ 67 - 0
deploy/deploy.yml

@@ -0,0 +1,67 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  labels:
+    app: yygh-site
+  name: yygh-site
+  namespace: his   #一定要写名称空间
+spec:
+  progressDeadlineSeconds: 600
+  replicas: 1
+  selector:
+    matchLabels:
+      app: yygh-site
+  strategy:
+    rollingUpdate:
+      maxSurge: 50%
+      maxUnavailable: 50%
+    type: RollingUpdate
+  template:
+    metadata:
+      labels:
+        app: yygh-site
+    spec:
+      imagePullSecrets:
+        - name: habor-docker-hub  #提前在项目下配置访问阿里云的账号密码
+      containers:
+        - image: $REGISTRY/$DOCKERHUB_NAMESPACE/yygh-site:v$BUILD_NUMBER
+ #         readinessProbe:
+ #           httpGet:
+ #             path: /actuator/health
+ #             port: 8080
+ #           timeoutSeconds: 10
+ #           failureThreshold: 30
+ #           periodSeconds: 5
+          imagePullPolicy: Always
+          name: app
+          ports:
+            - containerPort: 3000
+              protocol: TCP
+          resources:
+            limits:
+              cpu: 300m
+              memory: 600Mi
+          terminationMessagePath: /dev/termination-log
+          terminationMessagePolicy: File
+      dnsPolicy: ClusterFirst
+      restartPolicy: Always
+      terminationGracePeriodSeconds: 30
+---
+apiVersion: v1
+kind: Service
+metadata:
+  labels:
+    app: yygh-site
+  name: yygh-site
+  namespace: his
+spec:
+  ports:
+    - name: http
+      port: 3000
+      protocol: TCP
+      targetPort: 3000
+      nodePort: 32070
+  selector:
+    app: yygh-site
+  sessionAffinity: None
+  type: NodePort

+ 9 - 0
layouts/README.md

@@ -0,0 +1,9 @@
+# LAYOUTS
+
+This directory contains your Application Layouts.
+
+More information about the usage of this directory in the documentation:
+https://nuxtjs.org/guide/views#layouts
+
+**This directory is not required, you can delete it if you don't want to use it.**
+

+ 37 - 0
layouts/default.vue

@@ -0,0 +1,37 @@
+<template>
+  <div class="app-container">
+    <div id="main">
+      <!-- 公共头 -->
+      <myheader/>
+      <div class="main-container">
+        <el-scrollbar class='page-component__scroll'>
+          <!-- 内容区域 -->
+          <nuxt/>
+        </el-scrollbar>
+      </div>
+      <!-- 公共底 -->
+      <myfooter/>
+    </div>
+  </div>
+</template>
+<script>
+import '~/assets/css/app.css'
+import '~/assets/css/chunk.css'
+import '~/assets/css/iconfont.css'
+import '~/assets/css/main.css'
+
+import myheader from './myheader'
+import myfooter from './myfooter'
+
+export default {
+
+  components: {
+    myheader,myfooter
+  },
+
+  mounted() {
+    window.document.getElementById("__nuxt").classList.add("app-container")
+    window.document.getElementById("__layout").classList.add("app-container")
+  }
+}
+</script>

+ 5 - 0
layouts/empty.vue

@@ -0,0 +1,5 @@
+<template>
+  <div>
+    <nuxt/>
+  </div>
+</template>

+ 19 - 0
layouts/myfooter.vue

@@ -0,0 +1,19 @@
+<template>
+  <div class="footer-container">
+    <div class="wrapper">
+      <div><span class="record">京ICP备13018369号</span><span
+        class="phone">电话挂号010-56253825</span></div>
+      <div class="right"><span
+        class="v-link clickable"> 联系我们 </span><span
+        class="v-link clickable"> 合作伙伴 </span><span
+        class="v-link clickable"> 用户协议 </span><span
+        class="v-link clickable"> 隐私协议 </span></div>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+
+}
+</script>

+ 361 - 0
layouts/myheader.vue

@@ -0,0 +1,361 @@
+<template>
+  <div class="header-container">
+    <div class="wrapper">
+      <!-- logo -->
+      <div class="left-wrapper v-link selected">
+        <img style="width: 50px" width="50" height="50" src="~assets/images/logo.png">
+        <span class="text">尚医通 预约挂号统一平台</span>
+      </div>
+      <!-- 搜索框 -->
+      <div class="search-wrapper">
+        <div class="hospital-search animation-show">
+          <div id="search" style="display: block;">
+            <el-autocomplete
+              class="search-input"
+              prefix-icon="el-icon-search"
+              v-model="hosname"
+              :fetch-suggestions="querySearchAsync"
+              :trigger-on-focus="false"
+              @select="handleSelect"
+              placeholder="点击输入医院名称"
+            >
+              <span slot="suffix" class="search-btn v-link highlight clickable selected">搜索 </span>
+            </el-autocomplete>
+          </div>
+        </div>
+      </div>
+      <!-- 右侧 -->
+      <div class="right-wrapper">
+        <span class="v-link clickable">帮助中心</span>
+
+        <span v-if="name == ''" class="v-link clickable" @click="showLogin()" id="loginDialog">登录/注册</span>
+
+        <el-dropdown v-if="name != ''" @command="loginMenu">
+              <span class="el-dropdown-link">
+                {{ name }}<i class="el-icon-arrow-down el-icon--right"></i>
+              </span>
+          <el-dropdown-menu class="user-name-wrapper" slot="dropdown">
+            <el-dropdown-item command="/user">实名认证</el-dropdown-item>
+            <el-dropdown-item command="/order">挂号订单</el-dropdown-item>
+            <el-dropdown-item command="/patient">就诊人管理</el-dropdown-item>
+            <el-dropdown-item command="/logout" divided>退出登录</el-dropdown-item>
+          </el-dropdown-menu>
+        </el-dropdown>
+      </div>
+    </div>
+
+    <!-- 登录弹出层 -->
+    <el-dialog :visible.sync="dialogUserFormVisible" style="text-align: left;" top="50px" :append-to-body="true"  width="960px" @close="closeDialog()">
+      <div class="container">
+
+        <!-- 手机登录 #start -->
+        <div class="operate-view" v-if="dialogAtrr.showLoginType === 'phone'">
+          <div class="wrapper" style="width: 100%">
+            <div class="mobile-wrapper" style="position: static;width: 70%">
+              <span class="title">{{ dialogAtrr.labelTips }}</span>
+              <el-form>
+                <el-form-item>
+                  <el-input v-model="dialogAtrr.inputValue" :placeholder="dialogAtrr.placeholder" :maxlength="dialogAtrr.maxlength" class="input v-input">
+                    <span slot="suffix" class="sendText v-link" v-if="dialogAtrr.second > 0">{{ dialogAtrr.second }}s </span>
+                    <span slot="suffix" class="sendText v-link highlight clickable selected" v-if="dialogAtrr.second == 0" @click="getCodeFun()">重新发送 </span>
+                  </el-input>
+                </el-form-item>
+              </el-form>
+              <div class="send-button v-button" @click="btnClick()"> {{ dialogAtrr.loginBtn }}</div>
+            </div>
+            <div class="bottom">
+              <div class="wechat-wrapper" @click="weixinLogin()"><span
+                class="iconfont icon"></span></div>
+              <span class="third-text"> 第三方账号登录 </span></div>
+          </div>
+        </div>
+        <!-- 手机登录 #end -->
+
+        <!-- 微信登录 #start -->
+        <div class="operate-view" v-if="dialogAtrr.showLoginType === 'weixin'" >
+          <div class="wrapper wechat" style="height: 400px">
+            <div>
+              <div id="weixinLogin"></div>
+            </div>
+            <div class="bottom wechat" style="margin-top: -80px;">
+              <div class="phone-container">
+                <div class="phone-wrapper"  @click="phoneLogin()"><span
+                  class="iconfont icon"></span></div>
+                <span class="third-text"> 手机短信验证码登录 </span></div>
+            </div>
+          </div>
+        </div>
+        <!-- 微信登录 #end -->
+
+        <div class="info-wrapper">
+          <div class="code-wrapper">
+            <div><img src="//img.114yygh.com/static/web/code_login_wechat.png" class="code-img">
+              <div class="code-text"><span class="iconfont icon"></span>微信扫一扫关注
+              </div>
+              <div class="code-text"> “快速预约挂号”</div>
+            </div>
+            <div class="wechat-code-wrapper"><img
+              src="//img.114yygh.com/static/web/code_app.png"
+              class="code-img">
+              <div class="code-text"> 扫一扫下载</div>
+              <div class="code-text"> “预约挂号”APP</div>
+            </div>
+          </div>
+          <div class="slogan">
+            <div>xxxxxx官方指定平台</div>
+            <div>快速挂号 安全放心</div>
+          </div>
+        </div>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+<script>
+import cookie from 'js-cookie'
+import Vue from 'vue'
+
+import userInfoApi from '@/api/user/userInfo'
+import smsApi from '@/api/sms/sms'
+import hospitalApi from '@/api/hosp/hospital'
+import weixinApi from '@/api/user/weixin'
+
+const defaultDialogAtrr = {
+  showLoginType: 'phone', // 控制手机登录与微信登录切换
+
+  labelTips: '手机号码', // 输入框提示
+
+  inputValue: '', // 输入框绑定对象
+  placeholder: '请输入您的手机号', // 输入框placeholder
+  maxlength: 11, // 输入框长度控制
+
+  loginBtn: '获取验证码', // 登录按钮或获取验证码按钮文本
+
+  sending: true,      // 是否可以发送验证码
+  second: -1,        // 倒计时间  second>0 : 显示倒计时 second=0 :重新发送 second=-1 :什么都不显示
+  clearSmsTime: null  // 倒计时定时任务引用 关闭登录层清除定时任务
+}
+export default {
+  data() {
+    return {
+      userInfo: {
+        phone: '',
+        code: '',
+        openid: ''
+      },
+
+      dialogUserFormVisible: false,
+      // 弹出层相关属性
+      dialogAtrr:defaultDialogAtrr,
+
+      name: '' // 用户登录显示的名称
+    }
+  },
+
+  created() {
+    this.showInfo()
+  },
+
+  mounted() {
+    // 注册全局登录事件对象
+    window.loginEvent = new Vue();
+    // 监听登录事件
+    loginEvent.$on('loginDialogEvent', function () {
+      document.getElementById("loginDialog").click();
+    })
+    // 触发事件,显示登录层:loginEvent.$emit('loginDialogEvent')
+
+    //初始化微信js
+    const script = document.createElement('script')
+    script.type = 'text/javascript'
+    script.src = 'https://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js'
+    document.body.appendChild(script)
+
+    // 微信登录回调处理
+    let self = this;
+    window["loginCallback"] = (name,token, openid) => {
+      debugger
+      self.loginCallback(name, token, openid);
+    }
+  },
+
+  methods: {
+    loginCallback(name, token, openid) {
+      // 打开手机登录层,绑定手机号,改逻辑与手机登录一致
+      if(openid != '') {
+        this.userInfo.openid = openid
+
+        this.showLogin()
+      } else {
+        this.setCookies(name, token)
+      }
+    },
+
+    // 绑定登录或获取验证码按钮
+    btnClick() {
+      // 判断是获取验证码还是登录
+      if(this.dialogAtrr.loginBtn == '获取验证码') {
+        this.userInfo.phone = this.dialogAtrr.inputValue
+
+        // 获取验证码
+        this.getCodeFun()
+      } else {
+        // 登录
+        this.login()
+      }
+    },
+
+    // 绑定登录,点击显示登录层
+    showLogin() {
+      this.dialogUserFormVisible = true
+
+      // 初始化登录层相关参数
+      this.dialogAtrr = { ...defaultDialogAtrr }
+    },
+
+    // 登录
+    login() {
+      debugger
+      this.userInfo.code = this.dialogAtrr.inputValue
+
+      if(this.dialogAtrr.loginBtn == '正在提交...') {
+        this.$message.error('重复提交')
+        return;
+      }
+
+      if (this.userInfo.code == '') {
+        this.$message.error('验证码必须输入')
+        return;
+      }
+      if (this.userInfo.code.length != 6) {
+        this.$message.error('验证码格式不正确')
+        return;
+      }
+
+      this.dialogAtrr.loginBtn = '正在提交...'
+      userInfoApi.login(this.userInfo).then(response => {
+        console.log(response.data)
+        // 登录成功 设置cookie
+        this.setCookies(response.data.name, response.data.token)
+      }).catch(e => {
+        this.dialogAtrr.loginBtn = '马上登录'
+      })
+    },
+
+    setCookies(name, token) {
+      cookie.set('token', token, { domain: 'localhost' })
+      cookie.set('name', name, { domain: 'localhost' })
+      window.location.reload()
+    },
+
+    // 获取验证码
+    getCodeFun() {
+      if (!(/^1[34578]\d{9}$/.test(this.userInfo.phone))) {
+        this.$message.error('手机号码不正确')
+        return;
+      }
+
+      // 初始化验证码相关属性
+      this.dialogAtrr.inputValue = ''
+      this.dialogAtrr.placeholder = '请输入验证码'
+      this.dialogAtrr.maxlength = 6
+      this.dialogAtrr.loginBtn = '马上登录'
+
+      // 控制重复发送
+      if (!this.dialogAtrr.sending) return;
+
+      // 发送短信验证码
+      this.timeDown();
+      this.dialogAtrr.sending = false;
+      smsApi.sendCode(this.userInfo.phone).then(response => {
+        this.timeDown();
+      }).catch(e => {
+        this.$message.error('发送失败,重新发送')
+        // 发送失败,回到重新获取验证码界面
+        this.showLogin()
+      })
+    },
+
+    // 倒计时
+    timeDown() {
+      if(this.clearSmsTime) {
+        clearInterval(this.clearSmsTime);
+      }
+      this.dialogAtrr.second = 60;
+
+      this.dialogAtrr.labelTips = '验证码已发送至' + this.userInfo.phone
+      this.clearSmsTime = setInterval(() => {
+        --this.dialogAtrr.second;
+        if (this.dialogAtrr.second < 1) {
+          clearInterval(this.clearSmsTime);
+          this.dialogAtrr.sending = true;
+          this.dialogAtrr.second = 0;
+        }
+      }, 1000);
+    },
+
+    // 关闭登录层
+    closeDialog() {
+      if(this.clearSmsTime) {
+        clearInterval(this.clearSmsTime);
+      }
+    },
+
+    showInfo() {
+      let token = cookie.get('token')
+      if (token) {
+        this.name = cookie.get('name')
+        console.log(this.name)
+      }
+    },
+
+    loginMenu(command) {
+      if('/logout' == command) {
+        cookie.set('name', '', {domain: 'localhost'})
+        cookie.set('token', '', {domain: 'localhost'})
+
+        //跳转页面
+        window.location.href = '/'
+      } else {
+        window.location.href = command
+      }
+    },
+
+    // 搜索
+    querySearchAsync(queryString, cb) {
+      if(queryString == '') return
+      hospitalApi.getByHosname(queryString).then(response => {
+        for (let i = 0, len = response.data.length; i < len; i++) {
+          response.data[i].value = response.data[i].hosname
+        }
+        cb(response.data)
+      })
+    },
+
+    handleSelect(item) {
+      window.location.href = '/hospital/' + item.hoscode
+    },
+
+    weixinLogin() {
+      this.dialogAtrr.showLoginType = 'weixin'
+
+      weixinApi.getLoginParam().then(response => {
+        var obj = new WxLogin({
+          self_redirect:true,
+          id: 'weixinLogin', // 需要显示的容器id
+          appid: response.data.appid, // 公众号appid wx*******
+          scope: response.data.scope, // 网页默认即可
+          redirect_uri: response.data.redirectUri, // 授权成功后回调的url
+          state: response.data.state, // 可设置为简单的随机数加session用来校验
+          style: 'black', // 提供"black"、"white"可选。二维码的样式
+          href: '' // 外部css文件url,需要https
+        })
+      })
+    },
+
+    phoneLogin() {
+      this.dialogAtrr.showLoginType = 'phone'
+      this.showLogin()
+    }
+  }
+}
+</script>

+ 10 - 0
middleware/README.md

@@ -0,0 +1,10 @@
+# MIDDLEWARE
+
+This directory contains your Application Middleware.
+The middleware lets you define custom function to be ran before rendering a page or a group of pages (layouts).
+
+More information about the usage of this directory in the documentation:
+https://nuxtjs.org/guide/routing#middleware
+
+**This directory is not required, you can delete it if you don't want to use it.**
+

+ 69 - 0
nuxt.config.js

@@ -0,0 +1,69 @@
+module.exports = {
+//   modules: ['@nuxtjs/axios', "@nuxtjs/proxy"],
+//   /*
+//      ** axios proxy
+//      */
+//   axios: {
+//     proxy: true
+//   },
+//   /*
+//    ** proxy
+//    */
+//   proxy: {
+// // 一旦devServer(5000)服务器接收到 /api/xxx 的请求,就会把请求转发到另一个服务器(3000)
+//     // 浏览器和服务器之间有跨域,但是服务器和服务器之间没有跨域
+//     '/api/': {
+//       target: 'http://192.168.122.10:31821',
+//       // 发送请求时,请求路径重写:将 /api/xxx --> /xxx (去掉/api)
+//       // pathRewrite: {
+//       //   '^/api/': ''
+//       // }
+//     }
+//   },
+  /*
+  ** Headers of the page
+  */
+  head: {
+    title: 'yygh-site',
+    meta: [
+      { charset: 'utf-8' },
+      { name: 'viewport', content: 'width=device-width, initial-scale=1' },
+      { hid: 'description', name: 'description', content: '尚医通 - 预约挂号统一平台' }
+    ],
+    link: [
+      { rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }
+    ]
+  },
+  /*
+  ** Customize the progress bar color
+  */
+  loading: { color: '#3B8070' },
+
+  plugins: [{
+    src: '~plugins/myPlugin',
+    ssr: true,
+  }],
+  css: [
+    'element-ui/lib/theme-chalk/index.css'
+  ],
+  /*
+  ** Build configuration
+  */
+  build: {
+    vendor: ['axios'],
+    /*
+    ** Run ESLint on save
+    */
+    extend (config, { isDev, isClient }) {
+      if (isDev && isClient) {
+        config.module.rules.push({
+          enforce: 'pre',
+          test: /\.(js|vue)$/,
+          loader: 'eslint-loader',
+          exclude: /(node_modules)/
+        })
+      }
+    }
+  }
+}
+

+ 11127 - 0
package-lock.json

@@ -0,0 +1,11127 @@
+{
+  "name": "p2p-site",
+  "version": "1.0.0",
+  "lockfileVersion": 1,
+  "requires": true,
+  "dependencies": {
+    "@babel/code-frame": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/code-frame/download/@babel/code-frame-7.10.4.tgz?cache=0&sync_timestamp=1593522826253&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fcode-frame%2Fdownload%2F%40babel%2Fcode-frame-7.10.4.tgz",
+      "integrity": "sha1-Fo2ho26Q2miujUnA8bSMfGJJITo=",
+      "requires": {
+        "@babel/highlight": "7.10.4"
+      }
+    },
+    "@babel/compat-data": {
+      "version": "7.10.5",
+      "resolved": "https://registry.npm.taobao.org/@babel/compat-data/download/@babel/compat-data-7.10.5.tgz",
+      "integrity": "sha1-04Ql5n6paxSAo/UEBNG/hWdjAaY=",
+      "requires": {
+        "browserslist": "4.13.0",
+        "invariant": "2.2.4",
+        "semver": "5.7.1"
+      },
+      "dependencies": {
+        "semver": {
+          "version": "5.7.1",
+          "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1586886301819&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz",
+          "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc="
+        }
+      }
+    },
+    "@babel/core": {
+      "version": "7.10.5",
+      "resolved": "https://registry.npm.taobao.org/@babel/core/download/@babel/core-7.10.5.tgz?cache=0&sync_timestamp=1594749531989&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fcore%2Fdownload%2F%40babel%2Fcore-7.10.5.tgz",
+      "integrity": "sha1-HxXizKitmh14o43bphL158270zA=",
+      "requires": {
+        "@babel/code-frame": "7.10.4",
+        "@babel/generator": "7.10.5",
+        "@babel/helper-module-transforms": "7.10.5",
+        "@babel/helpers": "7.10.4",
+        "@babel/parser": "7.10.5",
+        "@babel/template": "7.10.4",
+        "@babel/traverse": "7.10.5",
+        "@babel/types": "7.10.5",
+        "convert-source-map": "1.7.0",
+        "debug": "4.1.1",
+        "gensync": "1.0.0-beta.1",
+        "json5": "2.1.3",
+        "lodash": "4.17.19",
+        "resolve": "1.17.0",
+        "semver": "5.7.1",
+        "source-map": "0.5.7"
+      },
+      "dependencies": {
+        "semver": {
+          "version": "5.7.1",
+          "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1586886301819&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz",
+          "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc="
+        }
+      }
+    },
+    "@babel/generator": {
+      "version": "7.10.5",
+      "resolved": "https://registry.npm.taobao.org/@babel/generator/download/@babel/generator-7.10.5.tgz?cache=0&sync_timestamp=1594750761575&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fgenerator%2Fdownload%2F%40babel%2Fgenerator-7.10.5.tgz",
+      "integrity": "sha1-G5A1VLyMWD7o0l8eiWlzLmuCmmk=",
+      "requires": {
+        "@babel/types": "7.10.5",
+        "jsesc": "2.5.2",
+        "source-map": "0.5.7"
+      }
+    },
+    "@babel/helper-annotate-as-pure": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/helper-annotate-as-pure/download/@babel/helper-annotate-as-pure-7.10.4.tgz",
+      "integrity": "sha1-W/DUlaP3V6w72ki1vzs7ownHK6M=",
+      "requires": {
+        "@babel/types": "7.10.5"
+      }
+    },
+    "@babel/helper-builder-binary-assignment-operator-visitor": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/helper-builder-binary-assignment-operator-visitor/download/@babel/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz?cache=0&sync_timestamp=1593522841395&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-builder-binary-assignment-operator-visitor%2Fdownload%2F%40babel%2Fhelper-builder-binary-assignment-operator-visitor-7.10.4.tgz",
+      "integrity": "sha1-uwt18xv5jL+f8UPBrleLhydK4aM=",
+      "requires": {
+        "@babel/helper-explode-assignable-expression": "7.10.4",
+        "@babel/types": "7.10.5"
+      }
+    },
+    "@babel/helper-compilation-targets": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/helper-compilation-targets/download/@babel/helper-compilation-targets-7.10.4.tgz?cache=0&sync_timestamp=1593521085687&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-compilation-targets%2Fdownload%2F%40babel%2Fhelper-compilation-targets-7.10.4.tgz",
+      "integrity": "sha1-gEro4/BDdmB8x5G51H1UAnYzK9I=",
+      "requires": {
+        "@babel/compat-data": "7.10.5",
+        "browserslist": "4.13.0",
+        "invariant": "2.2.4",
+        "levenary": "1.1.1",
+        "semver": "5.7.1"
+      },
+      "dependencies": {
+        "semver": {
+          "version": "5.7.1",
+          "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1586886301819&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz",
+          "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc="
+        }
+      }
+    },
+    "@babel/helper-create-class-features-plugin": {
+      "version": "7.10.5",
+      "resolved": "https://registry.npm.taobao.org/@babel/helper-create-class-features-plugin/download/@babel/helper-create-class-features-plugin-7.10.5.tgz?cache=0&sync_timestamp=1594751532828&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-create-class-features-plugin%2Fdownload%2F%40babel%2Fhelper-create-class-features-plugin-7.10.5.tgz",
+      "integrity": "sha1-n2FEa6gOgkCwpchcb9rIRZ1vJZ0=",
+      "requires": {
+        "@babel/helper-function-name": "7.10.4",
+        "@babel/helper-member-expression-to-functions": "7.10.5",
+        "@babel/helper-optimise-call-expression": "7.10.4",
+        "@babel/helper-plugin-utils": "7.10.4",
+        "@babel/helper-replace-supers": "7.10.4",
+        "@babel/helper-split-export-declaration": "7.10.4"
+      }
+    },
+    "@babel/helper-create-regexp-features-plugin": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/helper-create-regexp-features-plugin/download/@babel/helper-create-regexp-features-plugin-7.10.4.tgz?cache=0&sync_timestamp=1593522952175&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-create-regexp-features-plugin%2Fdownload%2F%40babel%2Fhelper-create-regexp-features-plugin-7.10.4.tgz",
+      "integrity": "sha1-/dYNiFJGWaC2lZwFeZJeQlcU87g=",
+      "requires": {
+        "@babel/helper-annotate-as-pure": "7.10.4",
+        "@babel/helper-regex": "7.10.5",
+        "regexpu-core": "4.7.0"
+      }
+    },
+    "@babel/helper-define-map": {
+      "version": "7.10.5",
+      "resolved": "https://registry.npm.taobao.org/@babel/helper-define-map/download/@babel/helper-define-map-7.10.5.tgz?cache=0&sync_timestamp=1594751532671&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-define-map%2Fdownload%2F%40babel%2Fhelper-define-map-7.10.5.tgz",
+      "integrity": "sha1-tTwQ23imQIABUmkrEzkxR6y5uzA=",
+      "requires": {
+        "@babel/helper-function-name": "7.10.4",
+        "@babel/types": "7.10.5",
+        "lodash": "4.17.19"
+      }
+    },
+    "@babel/helper-explode-assignable-expression": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/helper-explode-assignable-expression/download/@babel/helper-explode-assignable-expression-7.10.4.tgz?cache=0&sync_timestamp=1593522841702&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-explode-assignable-expression%2Fdownload%2F%40babel%2Fhelper-explode-assignable-expression-7.10.4.tgz",
+      "integrity": "sha1-QKHNkXv/Eoj2malKdbN6Gi29jHw=",
+      "requires": {
+        "@babel/traverse": "7.10.5",
+        "@babel/types": "7.10.5"
+      }
+    },
+    "@babel/helper-function-name": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/helper-function-name/download/@babel/helper-function-name-7.10.4.tgz?cache=0&sync_timestamp=1593521218775&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-function-name%2Fdownload%2F%40babel%2Fhelper-function-name-7.10.4.tgz",
+      "integrity": "sha1-0tOyDFmtjEcRL6fSqUvAnV74Lxo=",
+      "requires": {
+        "@babel/helper-get-function-arity": "7.10.4",
+        "@babel/template": "7.10.4",
+        "@babel/types": "7.10.5"
+      }
+    },
+    "@babel/helper-get-function-arity": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.10.4.tgz?cache=0&sync_timestamp=1593522827189&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-get-function-arity%2Fdownload%2F%40babel%2Fhelper-get-function-arity-7.10.4.tgz",
+      "integrity": "sha1-mMHL6g4jMvM/mkZhuM4VBbLBm6I=",
+      "requires": {
+        "@babel/types": "7.10.5"
+      }
+    },
+    "@babel/helper-hoist-variables": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/helper-hoist-variables/download/@babel/helper-hoist-variables-7.10.4.tgz?cache=0&sync_timestamp=1593521259807&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-hoist-variables%2Fdownload%2F%40babel%2Fhelper-hoist-variables-7.10.4.tgz",
+      "integrity": "sha1-1JsAHR1aaMpeZgTdoBpil/fJOB4=",
+      "requires": {
+        "@babel/types": "7.10.5"
+      }
+    },
+    "@babel/helper-member-expression-to-functions": {
+      "version": "7.10.5",
+      "resolved": "https://registry.npm.taobao.org/@babel/helper-member-expression-to-functions/download/@babel/helper-member-expression-to-functions-7.10.5.tgz?cache=0&sync_timestamp=1594749530600&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-member-expression-to-functions%2Fdownload%2F%40babel%2Fhelper-member-expression-to-functions-7.10.5.tgz",
+      "integrity": "sha1-Fy9W56Y+eBEvOgQFXyQ2WvcC5+4=",
+      "requires": {
+        "@babel/types": "7.10.5"
+      }
+    },
+    "@babel/helper-module-imports": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/helper-module-imports/download/@babel/helper-module-imports-7.10.4.tgz?cache=0&sync_timestamp=1593522826853&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-module-imports%2Fdownload%2F%40babel%2Fhelper-module-imports-7.10.4.tgz",
+      "integrity": "sha1-TFxUvgS9MWcKc4J5fXW5+i5bViA=",
+      "requires": {
+        "@babel/types": "7.10.5"
+      }
+    },
+    "@babel/helper-module-transforms": {
+      "version": "7.10.5",
+      "resolved": "https://registry.npm.taobao.org/@babel/helper-module-transforms/download/@babel/helper-module-transforms-7.10.5.tgz?cache=0&sync_timestamp=1594749530299&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-module-transforms%2Fdownload%2F%40babel%2Fhelper-module-transforms-7.10.5.tgz",
+      "integrity": "sha1-EgwnHAszU2c/zf2MBT2zxUSiYNY=",
+      "requires": {
+        "@babel/helper-module-imports": "7.10.4",
+        "@babel/helper-replace-supers": "7.10.4",
+        "@babel/helper-simple-access": "7.10.4",
+        "@babel/helper-split-export-declaration": "7.10.4",
+        "@babel/template": "7.10.4",
+        "@babel/types": "7.10.5",
+        "lodash": "4.17.19"
+      }
+    },
+    "@babel/helper-optimise-call-expression": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/helper-optimise-call-expression/download/@babel/helper-optimise-call-expression-7.10.4.tgz?cache=0&sync_timestamp=1593522827576&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-optimise-call-expression%2Fdownload%2F%40babel%2Fhelper-optimise-call-expression-7.10.4.tgz",
+      "integrity": "sha1-UNyWQT1ZT5lad5BZBbBYk813lnM=",
+      "requires": {
+        "@babel/types": "7.10.5"
+      }
+    },
+    "@babel/helper-plugin-utils": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/helper-plugin-utils/download/@babel/helper-plugin-utils-7.10.4.tgz?cache=0&sync_timestamp=1593521123680&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-plugin-utils%2Fdownload%2F%40babel%2Fhelper-plugin-utils-7.10.4.tgz",
+      "integrity": "sha1-L3WoMSadT2d95JmG3/WZJ1M883U="
+    },
+    "@babel/helper-regex": {
+      "version": "7.10.5",
+      "resolved": "https://registry.npm.taobao.org/@babel/helper-regex/download/@babel/helper-regex-7.10.5.tgz?cache=0&sync_timestamp=1594751535064&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-regex%2Fdownload%2F%40babel%2Fhelper-regex-7.10.5.tgz",
+      "integrity": "sha1-Mt+7eYmQc8QVVXBToZvQVarlCuA=",
+      "requires": {
+        "lodash": "4.17.19"
+      }
+    },
+    "@babel/helper-remap-async-to-generator": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/helper-remap-async-to-generator/download/@babel/helper-remap-async-to-generator-7.10.4.tgz?cache=0&sync_timestamp=1593521228698&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-remap-async-to-generator%2Fdownload%2F%40babel%2Fhelper-remap-async-to-generator-7.10.4.tgz",
+      "integrity": "sha1-/Oi+pOlpC76SMFbe0h5UtOi2jtU=",
+      "requires": {
+        "@babel/helper-annotate-as-pure": "7.10.4",
+        "@babel/helper-wrap-function": "7.10.4",
+        "@babel/template": "7.10.4",
+        "@babel/traverse": "7.10.5",
+        "@babel/types": "7.10.5"
+      }
+    },
+    "@babel/helper-replace-supers": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/helper-replace-supers/download/@babel/helper-replace-supers-7.10.4.tgz",
+      "integrity": "sha1-1YXNk4jqBuYDHkzUS2cTy+rZ5s8=",
+      "requires": {
+        "@babel/helper-member-expression-to-functions": "7.10.5",
+        "@babel/helper-optimise-call-expression": "7.10.4",
+        "@babel/traverse": "7.10.5",
+        "@babel/types": "7.10.5"
+      }
+    },
+    "@babel/helper-simple-access": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/helper-simple-access/download/@babel/helper-simple-access-7.10.4.tgz?cache=0&sync_timestamp=1593521217867&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-simple-access%2Fdownload%2F%40babel%2Fhelper-simple-access-7.10.4.tgz",
+      "integrity": "sha1-D1zNopRSd6KnotOoIeFTle3PNGE=",
+      "requires": {
+        "@babel/template": "7.10.4",
+        "@babel/types": "7.10.5"
+      }
+    },
+    "@babel/helper-split-export-declaration": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.10.4.tgz?cache=0&sync_timestamp=1593522826673&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-split-export-declaration%2Fdownload%2F%40babel%2Fhelper-split-export-declaration-7.10.4.tgz",
+      "integrity": "sha1-LHBXbqo7VgmyTLmdsoiMw/xCUdE=",
+      "requires": {
+        "@babel/types": "7.10.5"
+      }
+    },
+    "@babel/helper-validator-identifier": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.10.4.tgz",
+      "integrity": "sha1-p4x6clHgH2FlEtMbEK3PUq2l4NI="
+    },
+    "@babel/helper-wrap-function": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/helper-wrap-function/download/@babel/helper-wrap-function-7.10.4.tgz?cache=0&sync_timestamp=1593522949000&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fhelper-wrap-function%2Fdownload%2F%40babel%2Fhelper-wrap-function-7.10.4.tgz",
+      "integrity": "sha1-im9wHqsP8592W1oc/vQJmQ5iS4c=",
+      "requires": {
+        "@babel/helper-function-name": "7.10.4",
+        "@babel/template": "7.10.4",
+        "@babel/traverse": "7.10.5",
+        "@babel/types": "7.10.5"
+      }
+    },
+    "@babel/helpers": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/helpers/download/@babel/helpers-7.10.4.tgz",
+      "integrity": "sha1-Kr6w1yGv98Cpc3a54fb2XXpHUEQ=",
+      "requires": {
+        "@babel/template": "7.10.4",
+        "@babel/traverse": "7.10.5",
+        "@babel/types": "7.10.5"
+      }
+    },
+    "@babel/highlight": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/highlight/download/@babel/highlight-7.10.4.tgz",
+      "integrity": "sha1-fRvf1ldTU4+r5sOFls23bZrGAUM=",
+      "requires": {
+        "@babel/helper-validator-identifier": "7.10.4",
+        "chalk": "2.4.2",
+        "js-tokens": "4.0.0"
+      },
+      "dependencies": {
+        "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.5.0"
+          }
+        }
+      }
+    },
+    "@babel/parser": {
+      "version": "7.10.5",
+      "resolved": "https://registry.npm.taobao.org/@babel/parser/download/@babel/parser-7.10.5.tgz",
+      "integrity": "sha1-58a/Wn3v+VfOyfBLVR4nYpCdgms="
+    },
+    "@babel/plugin-proposal-async-generator-functions": {
+      "version": "7.10.5",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-async-generator-functions/download/@babel/plugin-proposal-async-generator-functions-7.10.5.tgz",
+      "integrity": "sha1-NJHKvy98F5q4IGBs7Cf+0V4OhVg=",
+      "requires": {
+        "@babel/helper-plugin-utils": "7.10.4",
+        "@babel/helper-remap-async-to-generator": "7.10.4",
+        "@babel/plugin-syntax-async-generators": "7.8.4"
+      }
+    },
+    "@babel/plugin-proposal-class-properties": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-class-properties/download/@babel/plugin-proposal-class-properties-7.10.4.tgz",
+      "integrity": "sha1-ozv2Mto5ClnHqMVwBF0RFc13iAc=",
+      "requires": {
+        "@babel/helper-create-class-features-plugin": "7.10.5",
+        "@babel/helper-plugin-utils": "7.10.4"
+      }
+    },
+    "@babel/plugin-proposal-decorators": {
+      "version": "7.10.5",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-decorators/download/@babel/plugin-proposal-decorators-7.10.5.tgz",
+      "integrity": "sha1-QomLukeLxLGuJCpwOpU6etNQ/7Q=",
+      "requires": {
+        "@babel/helper-create-class-features-plugin": "7.10.5",
+        "@babel/helper-plugin-utils": "7.10.4",
+        "@babel/plugin-syntax-decorators": "7.10.4"
+      }
+    },
+    "@babel/plugin-proposal-dynamic-import": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-dynamic-import/download/@babel/plugin-proposal-dynamic-import-7.10.4.tgz?cache=0&sync_timestamp=1593521117836&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-dynamic-import%2Fdownload%2F%40babel%2Fplugin-proposal-dynamic-import-7.10.4.tgz",
+      "integrity": "sha1-uleibLmLN3QenVvKG4sN34KR8X4=",
+      "requires": {
+        "@babel/helper-plugin-utils": "7.10.4",
+        "@babel/plugin-syntax-dynamic-import": "7.8.3"
+      }
+    },
+    "@babel/plugin-proposal-json-strings": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-json-strings/download/@babel/plugin-proposal-json-strings-7.10.4.tgz?cache=0&sync_timestamp=1593521117237&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-json-strings%2Fdownload%2F%40babel%2Fplugin-proposal-json-strings-7.10.4.tgz",
+      "integrity": "sha1-WT5ZxjUoFgIzvTIbGuvgggwjQds=",
+      "requires": {
+        "@babel/helper-plugin-utils": "7.10.4",
+        "@babel/plugin-syntax-json-strings": "7.8.3"
+      }
+    },
+    "@babel/plugin-proposal-nullish-coalescing-operator": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-nullish-coalescing-operator/download/@babel/plugin-proposal-nullish-coalescing-operator-7.10.4.tgz?cache=0&sync_timestamp=1593521118939&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-nullish-coalescing-operator%2Fdownload%2F%40babel%2Fplugin-proposal-nullish-coalescing-operator-7.10.4.tgz",
+      "integrity": "sha1-AqfpYfwy5tWy2wZJ4Bv4Dd7n4Eo=",
+      "requires": {
+        "@babel/helper-plugin-utils": "7.10.4",
+        "@babel/plugin-syntax-nullish-coalescing-operator": "7.8.3"
+      }
+    },
+    "@babel/plugin-proposal-numeric-separator": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-numeric-separator/download/@babel/plugin-proposal-numeric-separator-7.10.4.tgz",
+      "integrity": "sha1-zhWQ/wplrRKXCmCdeIVemkwa7wY=",
+      "requires": {
+        "@babel/helper-plugin-utils": "7.10.4",
+        "@babel/plugin-syntax-numeric-separator": "7.10.4"
+      }
+    },
+    "@babel/plugin-proposal-object-rest-spread": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-object-rest-spread/download/@babel/plugin-proposal-object-rest-spread-7.10.4.tgz",
+      "integrity": "sha1-UBKawha5pqVbOFP92SPnS/VTpMA=",
+      "requires": {
+        "@babel/helper-plugin-utils": "7.10.4",
+        "@babel/plugin-syntax-object-rest-spread": "7.8.3",
+        "@babel/plugin-transform-parameters": "7.10.5"
+      }
+    },
+    "@babel/plugin-proposal-optional-catch-binding": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-optional-catch-binding/download/@babel/plugin-proposal-optional-catch-binding-7.10.4.tgz",
+      "integrity": "sha1-Mck4MJ0kp4pJ1o/av/qoY3WFVN0=",
+      "requires": {
+        "@babel/helper-plugin-utils": "7.10.4",
+        "@babel/plugin-syntax-optional-catch-binding": "7.8.3"
+      }
+    },
+    "@babel/plugin-proposal-optional-chaining": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-optional-chaining/download/@babel/plugin-proposal-optional-chaining-7.10.4.tgz?cache=0&sync_timestamp=1593521121830&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-optional-chaining%2Fdownload%2F%40babel%2Fplugin-proposal-optional-chaining-7.10.4.tgz",
+      "integrity": "sha1-dQ8SVekwofgtjN3kUDH4Gg0K3/c=",
+      "requires": {
+        "@babel/helper-plugin-utils": "7.10.4",
+        "@babel/plugin-syntax-optional-chaining": "7.8.3"
+      }
+    },
+    "@babel/plugin-proposal-private-methods": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-private-methods/download/@babel/plugin-proposal-private-methods-7.10.4.tgz?cache=0&sync_timestamp=1593521235156&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-proposal-private-methods%2Fdownload%2F%40babel%2Fplugin-proposal-private-methods-7.10.4.tgz",
+      "integrity": "sha1-sWDZcrj9ulx9ERoUX8jEIfwqaQk=",
+      "requires": {
+        "@babel/helper-create-class-features-plugin": "7.10.5",
+        "@babel/helper-plugin-utils": "7.10.4"
+      }
+    },
+    "@babel/plugin-proposal-unicode-property-regex": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-proposal-unicode-property-regex/download/@babel/plugin-proposal-unicode-property-regex-7.10.4.tgz",
+      "integrity": "sha1-RIPNpTBBzjQTt/4vAAImZd36p10=",
+      "requires": {
+        "@babel/helper-create-regexp-features-plugin": "7.10.4",
+        "@babel/helper-plugin-utils": "7.10.4"
+      }
+    },
+    "@babel/plugin-syntax-async-generators": {
+      "version": "7.8.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-async-generators/download/@babel/plugin-syntax-async-generators-7.8.4.tgz",
+      "integrity": "sha1-qYP7Gusuw/btBCohD2QOkOeG/g0=",
+      "requires": {
+        "@babel/helper-plugin-utils": "7.10.4"
+      }
+    },
+    "@babel/plugin-syntax-class-properties": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-class-properties/download/@babel/plugin-syntax-class-properties-7.10.4.tgz?cache=0&sync_timestamp=1593522957421&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-class-properties%2Fdownload%2F%40babel%2Fplugin-syntax-class-properties-7.10.4.tgz",
+      "integrity": "sha1-ZkTmoLqlWmH54yMfbJ7rbuRsEkw=",
+      "requires": {
+        "@babel/helper-plugin-utils": "7.10.4"
+      }
+    },
+    "@babel/plugin-syntax-decorators": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-decorators/download/@babel/plugin-syntax-decorators-7.10.4.tgz?cache=0&sync_timestamp=1593521120720&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-decorators%2Fdownload%2F%40babel%2Fplugin-syntax-decorators-7.10.4.tgz",
+      "integrity": "sha1-aFMIWyxCn50yLQL1pjUBjN6yNgw=",
+      "requires": {
+        "@babel/helper-plugin-utils": "7.10.4"
+      }
+    },
+    "@babel/plugin-syntax-dynamic-import": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-dynamic-import/download/@babel/plugin-syntax-dynamic-import-7.8.3.tgz",
+      "integrity": "sha1-Yr+Ysto80h1iYVT8lu5bPLaOrLM=",
+      "requires": {
+        "@babel/helper-plugin-utils": "7.10.4"
+      }
+    },
+    "@babel/plugin-syntax-json-strings": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-json-strings/download/@babel/plugin-syntax-json-strings-7.8.3.tgz",
+      "integrity": "sha1-AcohtmjNghjJ5kDLbdiMVBKyyWo=",
+      "requires": {
+        "@babel/helper-plugin-utils": "7.10.4"
+      }
+    },
+    "@babel/plugin-syntax-jsx": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-jsx/download/@babel/plugin-syntax-jsx-7.10.4.tgz?cache=0&sync_timestamp=1593522939386&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-jsx%2Fdownload%2F%40babel%2Fplugin-syntax-jsx-7.10.4.tgz",
+      "integrity": "sha1-Oauq48v3EMQ3PYQpSE5rohNAFmw=",
+      "requires": {
+        "@babel/helper-plugin-utils": "7.10.4"
+      }
+    },
+    "@babel/plugin-syntax-nullish-coalescing-operator": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-nullish-coalescing-operator/download/@babel/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
+      "integrity": "sha1-Fn7XA2iIYIH3S1w2xlqIwDtm0ak=",
+      "requires": {
+        "@babel/helper-plugin-utils": "7.10.4"
+      }
+    },
+    "@babel/plugin-syntax-numeric-separator": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-numeric-separator/download/@babel/plugin-syntax-numeric-separator-7.10.4.tgz?cache=0&sync_timestamp=1593521768131&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-syntax-numeric-separator%2Fdownload%2F%40babel%2Fplugin-syntax-numeric-separator-7.10.4.tgz",
+      "integrity": "sha1-ubBws+M1cM2f0Hun+pHA3Te5r5c=",
+      "requires": {
+        "@babel/helper-plugin-utils": "7.10.4"
+      }
+    },
+    "@babel/plugin-syntax-object-rest-spread": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npm.taobao.org/@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.10.4"
+      }
+    },
+    "@babel/plugin-syntax-optional-catch-binding": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-optional-catch-binding/download/@babel/plugin-syntax-optional-catch-binding-7.8.3.tgz",
+      "integrity": "sha1-YRGiZbz7Ag6579D9/X0mQCue1sE=",
+      "requires": {
+        "@babel/helper-plugin-utils": "7.10.4"
+      }
+    },
+    "@babel/plugin-syntax-optional-chaining": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-optional-chaining/download/@babel/plugin-syntax-optional-chaining-7.8.3.tgz",
+      "integrity": "sha1-T2nCq5UWfgGAzVM2YT+MV4j31Io=",
+      "requires": {
+        "@babel/helper-plugin-utils": "7.10.4"
+      }
+    },
+    "@babel/plugin-syntax-top-level-await": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-syntax-top-level-await/download/@babel/plugin-syntax-top-level-await-7.10.4.tgz",
+      "integrity": "sha1-S764kXtU/PdoNk4KgfVg4zo+9X0=",
+      "requires": {
+        "@babel/helper-plugin-utils": "7.10.4"
+      }
+    },
+    "@babel/plugin-transform-arrow-functions": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-arrow-functions/download/@babel/plugin-transform-arrow-functions-7.10.4.tgz?cache=0&sync_timestamp=1593522807583&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-arrow-functions%2Fdownload%2F%40babel%2Fplugin-transform-arrow-functions-7.10.4.tgz",
+      "integrity": "sha1-4ilg135pfHT0HFAdRNc9v4pqZM0=",
+      "requires": {
+        "@babel/helper-plugin-utils": "7.10.4"
+      }
+    },
+    "@babel/plugin-transform-async-to-generator": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-async-to-generator/download/@babel/plugin-transform-async-to-generator-7.10.4.tgz?cache=0&sync_timestamp=1593522851748&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-async-to-generator%2Fdownload%2F%40babel%2Fplugin-transform-async-to-generator-7.10.4.tgz",
+      "integrity": "sha1-QaUBfknrbzzak5KlHu8pQFskWjc=",
+      "requires": {
+        "@babel/helper-module-imports": "7.10.4",
+        "@babel/helper-plugin-utils": "7.10.4",
+        "@babel/helper-remap-async-to-generator": "7.10.4"
+      }
+    },
+    "@babel/plugin-transform-block-scoped-functions": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-block-scoped-functions/download/@babel/plugin-transform-block-scoped-functions-7.10.4.tgz?cache=0&sync_timestamp=1593521910347&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-block-scoped-functions%2Fdownload%2F%40babel%2Fplugin-transform-block-scoped-functions-7.10.4.tgz",
+      "integrity": "sha1-GvpZV0T3XkOpGvc7DZmOz+Trwug=",
+      "requires": {
+        "@babel/helper-plugin-utils": "7.10.4"
+      }
+    },
+    "@babel/plugin-transform-block-scoping": {
+      "version": "7.10.5",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-block-scoping/download/@babel/plugin-transform-block-scoping-7.10.5.tgz?cache=0&sync_timestamp=1594751530595&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-block-scoping%2Fdownload%2F%40babel%2Fplugin-transform-block-scoping-7.10.5.tgz",
+      "integrity": "sha1-uBuKr++/5o8PZffvOXuezmimA30=",
+      "requires": {
+        "@babel/helper-plugin-utils": "7.10.4"
+      }
+    },
+    "@babel/plugin-transform-classes": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-classes/download/@babel/plugin-transform-classes-7.10.4.tgz",
+      "integrity": "sha1-QFE2rys+IYvEoZJiKLyRerGgrcc=",
+      "requires": {
+        "@babel/helper-annotate-as-pure": "7.10.4",
+        "@babel/helper-define-map": "7.10.5",
+        "@babel/helper-function-name": "7.10.4",
+        "@babel/helper-optimise-call-expression": "7.10.4",
+        "@babel/helper-plugin-utils": "7.10.4",
+        "@babel/helper-replace-supers": "7.10.4",
+        "@babel/helper-split-export-declaration": "7.10.4",
+        "globals": "11.12.0"
+      }
+    },
+    "@babel/plugin-transform-computed-properties": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-computed-properties/download/@babel/plugin-transform-computed-properties-7.10.4.tgz?cache=0&sync_timestamp=1593522921161&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-computed-properties%2Fdownload%2F%40babel%2Fplugin-transform-computed-properties-7.10.4.tgz",
+      "integrity": "sha1-ne2DqBboLe0o1S1LTsvdgQzfwOs=",
+      "requires": {
+        "@babel/helper-plugin-utils": "7.10.4"
+      }
+    },
+    "@babel/plugin-transform-destructuring": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-destructuring/download/@babel/plugin-transform-destructuring-7.10.4.tgz",
+      "integrity": "sha1-cN3Ss9G+qD0BUJ6bsl3bOnT8heU=",
+      "requires": {
+        "@babel/helper-plugin-utils": "7.10.4"
+      }
+    },
+    "@babel/plugin-transform-dotall-regex": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-dotall-regex/download/@babel/plugin-transform-dotall-regex-7.10.4.tgz",
+      "integrity": "sha1-RpwgYhBcHragQOr0+sS0iAeDle4=",
+      "requires": {
+        "@babel/helper-create-regexp-features-plugin": "7.10.4",
+        "@babel/helper-plugin-utils": "7.10.4"
+      }
+    },
+    "@babel/plugin-transform-duplicate-keys": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-duplicate-keys/download/@babel/plugin-transform-duplicate-keys-7.10.4.tgz?cache=0&sync_timestamp=1593522806175&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-duplicate-keys%2Fdownload%2F%40babel%2Fplugin-transform-duplicate-keys-7.10.4.tgz",
+      "integrity": "sha1-aX5Qyf7hQ4D+hD0fMGspVhdDHkc=",
+      "requires": {
+        "@babel/helper-plugin-utils": "7.10.4"
+      }
+    },
+    "@babel/plugin-transform-exponentiation-operator": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-exponentiation-operator/download/@babel/plugin-transform-exponentiation-operator-7.10.4.tgz?cache=0&sync_timestamp=1593521230232&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-exponentiation-operator%2Fdownload%2F%40babel%2Fplugin-transform-exponentiation-operator-7.10.4.tgz",
+      "integrity": "sha1-WuM4xX+M9AAb2zVgeuZrktZlry4=",
+      "requires": {
+        "@babel/helper-builder-binary-assignment-operator-visitor": "7.10.4",
+        "@babel/helper-plugin-utils": "7.10.4"
+      }
+    },
+    "@babel/plugin-transform-for-of": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-for-of/download/@babel/plugin-transform-for-of-7.10.4.tgz",
+      "integrity": "sha1-wIiS6IGdOl2ykDGxFa9RHbv+uuk=",
+      "requires": {
+        "@babel/helper-plugin-utils": "7.10.4"
+      }
+    },
+    "@babel/plugin-transform-function-name": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-function-name/download/@babel/plugin-transform-function-name-7.10.4.tgz",
+      "integrity": "sha1-akZ4gOD8ljhRS6NpERgR3b4mRLc=",
+      "requires": {
+        "@babel/helper-function-name": "7.10.4",
+        "@babel/helper-plugin-utils": "7.10.4"
+      }
+    },
+    "@babel/plugin-transform-literals": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-literals/download/@babel/plugin-transform-literals-7.10.4.tgz",
+      "integrity": "sha1-n0K6CEEQChNfInEtDjkcRi9XHzw=",
+      "requires": {
+        "@babel/helper-plugin-utils": "7.10.4"
+      }
+    },
+    "@babel/plugin-transform-member-expression-literals": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-member-expression-literals/download/@babel/plugin-transform-member-expression-literals-7.10.4.tgz",
+      "integrity": "sha1-sexE/PGVr8uNssYs2OVRyIG6+Lc=",
+      "requires": {
+        "@babel/helper-plugin-utils": "7.10.4"
+      }
+    },
+    "@babel/plugin-transform-modules-amd": {
+      "version": "7.10.5",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-modules-amd/download/@babel/plugin-transform-modules-amd-7.10.5.tgz",
+      "integrity": "sha1-G5zdrwXZ6Is6rTOcs+RFxPAgqbE=",
+      "requires": {
+        "@babel/helper-module-transforms": "7.10.5",
+        "@babel/helper-plugin-utils": "7.10.4",
+        "babel-plugin-dynamic-import-node": "2.3.3"
+      }
+    },
+    "@babel/plugin-transform-modules-commonjs": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-modules-commonjs/download/@babel/plugin-transform-modules-commonjs-7.10.4.tgz",
+      "integrity": "sha1-ZmZ8Pu2h6/eJbUHx8WsXEFovvKA=",
+      "requires": {
+        "@babel/helper-module-transforms": "7.10.5",
+        "@babel/helper-plugin-utils": "7.10.4",
+        "@babel/helper-simple-access": "7.10.4",
+        "babel-plugin-dynamic-import-node": "2.3.3"
+      }
+    },
+    "@babel/plugin-transform-modules-systemjs": {
+      "version": "7.10.5",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-modules-systemjs/download/@babel/plugin-transform-modules-systemjs-7.10.5.tgz",
+      "integrity": "sha1-YnAJnIVAZmgbrp4F+H4bnK2+jIU=",
+      "requires": {
+        "@babel/helper-hoist-variables": "7.10.4",
+        "@babel/helper-module-transforms": "7.10.5",
+        "@babel/helper-plugin-utils": "7.10.4",
+        "babel-plugin-dynamic-import-node": "2.3.3"
+      }
+    },
+    "@babel/plugin-transform-modules-umd": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-modules-umd/download/@babel/plugin-transform-modules-umd-7.10.4.tgz?cache=0&sync_timestamp=1593522937615&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-modules-umd%2Fdownload%2F%40babel%2Fplugin-transform-modules-umd-7.10.4.tgz",
+      "integrity": "sha1-moSB/oG4JGVLOgtl2j34nz0hg54=",
+      "requires": {
+        "@babel/helper-module-transforms": "7.10.5",
+        "@babel/helper-plugin-utils": "7.10.4"
+      }
+    },
+    "@babel/plugin-transform-named-capturing-groups-regex": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-named-capturing-groups-regex/download/@babel/plugin-transform-named-capturing-groups-regex-7.10.4.tgz",
+      "integrity": "sha1-eLTZeIELbzvPA/njGPL8DtQa7LY=",
+      "requires": {
+        "@babel/helper-create-regexp-features-plugin": "7.10.4"
+      }
+    },
+    "@babel/plugin-transform-new-target": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-new-target/download/@babel/plugin-transform-new-target-7.10.4.tgz?cache=0&sync_timestamp=1593522495673&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-new-target%2Fdownload%2F%40babel%2Fplugin-transform-new-target-7.10.4.tgz",
+      "integrity": "sha1-kJfXU8t7Aky3OBo7LlLpUTqcaIg=",
+      "requires": {
+        "@babel/helper-plugin-utils": "7.10.4"
+      }
+    },
+    "@babel/plugin-transform-object-super": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-object-super/download/@babel/plugin-transform-object-super-7.10.4.tgz?cache=0&sync_timestamp=1593522848107&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-object-super%2Fdownload%2F%40babel%2Fplugin-transform-object-super-7.10.4.tgz",
+      "integrity": "sha1-1xRsTROUM+emUm+IjGZ+MUoJOJQ=",
+      "requires": {
+        "@babel/helper-plugin-utils": "7.10.4",
+        "@babel/helper-replace-supers": "7.10.4"
+      }
+    },
+    "@babel/plugin-transform-parameters": {
+      "version": "7.10.5",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-parameters/download/@babel/plugin-transform-parameters-7.10.5.tgz?cache=0&sync_timestamp=1594751531025&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-parameters%2Fdownload%2F%40babel%2Fplugin-transform-parameters-7.10.5.tgz",
+      "integrity": "sha1-WdM51Y0LGVBDX0BD504lEABeLEo=",
+      "requires": {
+        "@babel/helper-get-function-arity": "7.10.4",
+        "@babel/helper-plugin-utils": "7.10.4"
+      }
+    },
+    "@babel/plugin-transform-property-literals": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-property-literals/download/@babel/plugin-transform-property-literals-7.10.4.tgz",
+      "integrity": "sha1-9v5UtlkDUimHhbg+3YFdIUxC48A=",
+      "requires": {
+        "@babel/helper-plugin-utils": "7.10.4"
+      }
+    },
+    "@babel/plugin-transform-regenerator": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-regenerator/download/@babel/plugin-transform-regenerator-7.10.4.tgz?cache=0&sync_timestamp=1593521089707&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-regenerator%2Fdownload%2F%40babel%2Fplugin-transform-regenerator-7.10.4.tgz",
+      "integrity": "sha1-IBXlnYOQdOdoON4hWdtCGWb9i2M=",
+      "requires": {
+        "regenerator-transform": "0.14.5"
+      }
+    },
+    "@babel/plugin-transform-reserved-words": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-reserved-words/download/@babel/plugin-transform-reserved-words-7.10.4.tgz?cache=0&sync_timestamp=1593522496981&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-reserved-words%2Fdownload%2F%40babel%2Fplugin-transform-reserved-words-7.10.4.tgz",
+      "integrity": "sha1-jyaCvNzvntMn4bCGFYXXAT+KVN0=",
+      "requires": {
+        "@babel/helper-plugin-utils": "7.10.4"
+      }
+    },
+    "@babel/plugin-transform-runtime": {
+      "version": "7.10.5",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-runtime/download/@babel/plugin-transform-runtime-7.10.5.tgz?cache=0&sync_timestamp=1594751530865&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-runtime%2Fdownload%2F%40babel%2Fplugin-transform-runtime-7.10.5.tgz",
+      "integrity": "sha1-Ozm3skgw4MLY/3pEif5c+Z+6zoY=",
+      "requires": {
+        "@babel/helper-module-imports": "7.10.4",
+        "@babel/helper-plugin-utils": "7.10.4",
+        "resolve": "1.17.0",
+        "semver": "5.7.1"
+      },
+      "dependencies": {
+        "semver": {
+          "version": "5.7.1",
+          "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1586886301819&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz",
+          "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc="
+        }
+      }
+    },
+    "@babel/plugin-transform-shorthand-properties": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-shorthand-properties/download/@babel/plugin-transform-shorthand-properties-7.10.4.tgz",
+      "integrity": "sha1-n9Jexc3VVbt/Rz5ebuHJce7eTdY=",
+      "requires": {
+        "@babel/helper-plugin-utils": "7.10.4"
+      }
+    },
+    "@babel/plugin-transform-spread": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-spread/download/@babel/plugin-transform-spread-7.10.4.tgz?cache=0&sync_timestamp=1593522927458&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-spread%2Fdownload%2F%40babel%2Fplugin-transform-spread-7.10.4.tgz",
+      "integrity": "sha1-TiyF6g1quu4bJNz7uuQm/o1nTP8=",
+      "requires": {
+        "@babel/helper-plugin-utils": "7.10.4"
+      }
+    },
+    "@babel/plugin-transform-sticky-regex": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-sticky-regex/download/@babel/plugin-transform-sticky-regex-7.10.4.tgz",
+      "integrity": "sha1-jziJ7oZXWBEwop2cyR18c7fEoo0=",
+      "requires": {
+        "@babel/helper-plugin-utils": "7.10.4",
+        "@babel/helper-regex": "7.10.5"
+      }
+    },
+    "@babel/plugin-transform-template-literals": {
+      "version": "7.10.5",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-template-literals/download/@babel/plugin-transform-template-literals-7.10.5.tgz?cache=0&sync_timestamp=1594751531070&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-template-literals%2Fdownload%2F%40babel%2Fplugin-transform-template-literals-7.10.5.tgz",
+      "integrity": "sha1-eLxdYmpmQtszEtnQ8AH152Of3ow=",
+      "requires": {
+        "@babel/helper-annotate-as-pure": "7.10.4",
+        "@babel/helper-plugin-utils": "7.10.4"
+      }
+    },
+    "@babel/plugin-transform-typeof-symbol": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-typeof-symbol/download/@babel/plugin-transform-typeof-symbol-7.10.4.tgz?cache=0&sync_timestamp=1593522931651&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-typeof-symbol%2Fdownload%2F%40babel%2Fplugin-transform-typeof-symbol-7.10.4.tgz",
+      "integrity": "sha1-lQnxp+7DHE7b/+E3wWzDP/C8W/w=",
+      "requires": {
+        "@babel/helper-plugin-utils": "7.10.4"
+      }
+    },
+    "@babel/plugin-transform-unicode-escapes": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-unicode-escapes/download/@babel/plugin-transform-unicode-escapes-7.10.4.tgz",
+      "integrity": "sha1-/q5SM5HHZR3awRXa4KnQaFeJIAc=",
+      "requires": {
+        "@babel/helper-plugin-utils": "7.10.4"
+      }
+    },
+    "@babel/plugin-transform-unicode-regex": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/plugin-transform-unicode-regex/download/@babel/plugin-transform-unicode-regex-7.10.4.tgz?cache=0&sync_timestamp=1593522855498&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fplugin-transform-unicode-regex%2Fdownload%2F%40babel%2Fplugin-transform-unicode-regex-7.10.4.tgz",
+      "integrity": "sha1-5W1x+SgvrG2wnIJ0IFVXbV5tgKg=",
+      "requires": {
+        "@babel/helper-create-regexp-features-plugin": "7.10.4",
+        "@babel/helper-plugin-utils": "7.10.4"
+      }
+    },
+    "@babel/preset-env": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/preset-env/download/@babel/preset-env-7.10.4.tgz",
+      "integrity": "sha1-+/V/moA6/Zf08y5PeYu2Lksr718=",
+      "requires": {
+        "@babel/compat-data": "7.10.5",
+        "@babel/helper-compilation-targets": "7.10.4",
+        "@babel/helper-module-imports": "7.10.4",
+        "@babel/helper-plugin-utils": "7.10.4",
+        "@babel/plugin-proposal-async-generator-functions": "7.10.5",
+        "@babel/plugin-proposal-class-properties": "7.10.4",
+        "@babel/plugin-proposal-dynamic-import": "7.10.4",
+        "@babel/plugin-proposal-json-strings": "7.10.4",
+        "@babel/plugin-proposal-nullish-coalescing-operator": "7.10.4",
+        "@babel/plugin-proposal-numeric-separator": "7.10.4",
+        "@babel/plugin-proposal-object-rest-spread": "7.10.4",
+        "@babel/plugin-proposal-optional-catch-binding": "7.10.4",
+        "@babel/plugin-proposal-optional-chaining": "7.10.4",
+        "@babel/plugin-proposal-private-methods": "7.10.4",
+        "@babel/plugin-proposal-unicode-property-regex": "7.10.4",
+        "@babel/plugin-syntax-async-generators": "7.8.4",
+        "@babel/plugin-syntax-class-properties": "7.10.4",
+        "@babel/plugin-syntax-dynamic-import": "7.8.3",
+        "@babel/plugin-syntax-json-strings": "7.8.3",
+        "@babel/plugin-syntax-nullish-coalescing-operator": "7.8.3",
+        "@babel/plugin-syntax-numeric-separator": "7.10.4",
+        "@babel/plugin-syntax-object-rest-spread": "7.8.3",
+        "@babel/plugin-syntax-optional-catch-binding": "7.8.3",
+        "@babel/plugin-syntax-optional-chaining": "7.8.3",
+        "@babel/plugin-syntax-top-level-await": "7.10.4",
+        "@babel/plugin-transform-arrow-functions": "7.10.4",
+        "@babel/plugin-transform-async-to-generator": "7.10.4",
+        "@babel/plugin-transform-block-scoped-functions": "7.10.4",
+        "@babel/plugin-transform-block-scoping": "7.10.5",
+        "@babel/plugin-transform-classes": "7.10.4",
+        "@babel/plugin-transform-computed-properties": "7.10.4",
+        "@babel/plugin-transform-destructuring": "7.10.4",
+        "@babel/plugin-transform-dotall-regex": "7.10.4",
+        "@babel/plugin-transform-duplicate-keys": "7.10.4",
+        "@babel/plugin-transform-exponentiation-operator": "7.10.4",
+        "@babel/plugin-transform-for-of": "7.10.4",
+        "@babel/plugin-transform-function-name": "7.10.4",
+        "@babel/plugin-transform-literals": "7.10.4",
+        "@babel/plugin-transform-member-expression-literals": "7.10.4",
+        "@babel/plugin-transform-modules-amd": "7.10.5",
+        "@babel/plugin-transform-modules-commonjs": "7.10.4",
+        "@babel/plugin-transform-modules-systemjs": "7.10.5",
+        "@babel/plugin-transform-modules-umd": "7.10.4",
+        "@babel/plugin-transform-named-capturing-groups-regex": "7.10.4",
+        "@babel/plugin-transform-new-target": "7.10.4",
+        "@babel/plugin-transform-object-super": "7.10.4",
+        "@babel/plugin-transform-parameters": "7.10.5",
+        "@babel/plugin-transform-property-literals": "7.10.4",
+        "@babel/plugin-transform-regenerator": "7.10.4",
+        "@babel/plugin-transform-reserved-words": "7.10.4",
+        "@babel/plugin-transform-shorthand-properties": "7.10.4",
+        "@babel/plugin-transform-spread": "7.10.4",
+        "@babel/plugin-transform-sticky-regex": "7.10.4",
+        "@babel/plugin-transform-template-literals": "7.10.5",
+        "@babel/plugin-transform-typeof-symbol": "7.10.4",
+        "@babel/plugin-transform-unicode-escapes": "7.10.4",
+        "@babel/plugin-transform-unicode-regex": "7.10.4",
+        "@babel/preset-modules": "0.1.3",
+        "@babel/types": "7.10.5",
+        "browserslist": "4.13.0",
+        "core-js-compat": "3.6.5",
+        "invariant": "2.2.4",
+        "levenary": "1.1.1",
+        "semver": "5.7.1"
+      },
+      "dependencies": {
+        "semver": {
+          "version": "5.7.1",
+          "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1586886301819&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz",
+          "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc="
+        }
+      }
+    },
+    "@babel/preset-modules": {
+      "version": "0.1.3",
+      "resolved": "https://registry.npm.taobao.org/@babel/preset-modules/download/@babel/preset-modules-0.1.3.tgz",
+      "integrity": "sha1-EyQrU7XvjIg8PPfd3VWzbOgPvHI=",
+      "requires": {
+        "@babel/helper-plugin-utils": "7.10.4",
+        "@babel/plugin-proposal-unicode-property-regex": "7.10.4",
+        "@babel/plugin-transform-dotall-regex": "7.10.4",
+        "@babel/types": "7.10.5",
+        "esutils": "2.0.3"
+      }
+    },
+    "@babel/runtime": {
+      "version": "7.10.5",
+      "resolved": "https://registry.npm.taobao.org/@babel/runtime/download/@babel/runtime-7.10.5.tgz?cache=0&sync_timestamp=1594750760245&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.10.5.tgz",
+      "integrity": "sha1-MD2L1EDs1aSR6uYRf9M2dphnTFw=",
+      "requires": {
+        "regenerator-runtime": "0.13.5"
+      }
+    },
+    "@babel/template": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npm.taobao.org/@babel/template/download/@babel/template-7.10.4.tgz",
+      "integrity": "sha1-MlGZbEIA68cdGo/EBfupQPNrong=",
+      "requires": {
+        "@babel/code-frame": "7.10.4",
+        "@babel/parser": "7.10.5",
+        "@babel/types": "7.10.5"
+      }
+    },
+    "@babel/traverse": {
+      "version": "7.10.5",
+      "resolved": "https://registry.npm.taobao.org/@babel/traverse/download/@babel/traverse-7.10.5.tgz",
+      "integrity": "sha1-d85GT1sli+Jlr2GNj93wU28gtWQ=",
+      "requires": {
+        "@babel/code-frame": "7.10.4",
+        "@babel/generator": "7.10.5",
+        "@babel/helper-function-name": "7.10.4",
+        "@babel/helper-split-export-declaration": "7.10.4",
+        "@babel/parser": "7.10.5",
+        "@babel/types": "7.10.5",
+        "debug": "4.1.1",
+        "globals": "11.12.0",
+        "lodash": "4.17.19"
+      }
+    },
+    "@babel/types": {
+      "version": "7.10.5",
+      "resolved": "https://registry.npm.taobao.org/@babel/types/download/@babel/types-7.10.5.tgz?cache=0&sync_timestamp=1594749042550&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Ftypes%2Fdownload%2F%40babel%2Ftypes-7.10.5.tgz",
+      "integrity": "sha1-2Irn4v3oa/v+hR1Nga+nCpl7XRU=",
+      "requires": {
+        "@babel/helper-validator-identifier": "7.10.4",
+        "lodash": "4.17.19",
+        "to-fast-properties": "2.0.0"
+      }
+    },
+    "@csstools/convert-colors": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npm.taobao.org/@csstools/convert-colors/download/@csstools/convert-colors-1.4.0.tgz",
+      "integrity": "sha1-rUldxBsS511YjG24uYNPCPoTHrc="
+    },
+    "@nodelib/fs.scandir": {
+      "version": "2.1.3",
+      "resolved": "https://registry.npm.taobao.org/@nodelib/fs.scandir/download/@nodelib/fs.scandir-2.1.3.tgz",
+      "integrity": "sha1-Olgr21OATGum0UZXnEblITDPSjs=",
+      "requires": {
+        "@nodelib/fs.stat": "2.0.3",
+        "run-parallel": "1.1.9"
+      }
+    },
+    "@nodelib/fs.stat": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npm.taobao.org/@nodelib/fs.stat/download/@nodelib/fs.stat-2.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40nodelib%2Ffs.stat%2Fdownload%2F%40nodelib%2Ffs.stat-2.0.3.tgz",
+      "integrity": "sha1-NNxfTKu8cg9OYPdadH5+zWwXW9M="
+    },
+    "@nodelib/fs.walk": {
+      "version": "1.2.4",
+      "resolved": "https://registry.npm.taobao.org/@nodelib/fs.walk/download/@nodelib/fs.walk-1.2.4.tgz",
+      "integrity": "sha1-ARuSAqcKY2bkNspcBlhEUoqwSXY=",
+      "requires": {
+        "@nodelib/fs.scandir": "2.1.3",
+        "fastq": "1.8.0"
+      }
+    },
+    "@nuxt/babel-preset-app": {
+      "version": "2.13.3",
+      "resolved": "https://registry.npm.taobao.org/@nuxt/babel-preset-app/download/@nuxt/babel-preset-app-2.13.3.tgz",
+      "integrity": "sha1-+r8I4N8wPwxO1MwM2HwOrJNOjrs=",
+      "requires": {
+        "@babel/core": "7.10.5",
+        "@babel/helper-compilation-targets": "7.10.4",
+        "@babel/plugin-proposal-class-properties": "7.10.4",
+        "@babel/plugin-proposal-decorators": "7.10.5",
+        "@babel/plugin-transform-runtime": "7.10.5",
+        "@babel/preset-env": "7.10.4",
+        "@babel/runtime": "7.10.5",
+        "@vue/babel-preset-jsx": "1.1.2",
+        "core-js": "2.6.11"
+      }
+    },
+    "@nuxt/builder": {
+      "version": "2.13.3",
+      "resolved": "https://registry.npm.taobao.org/@nuxt/builder/download/@nuxt/builder-2.13.3.tgz",
+      "integrity": "sha1-PgW6zvzMO4yXqSbmF14TGbdsOBA=",
+      "requires": {
+        "@nuxt/devalue": "1.2.4",
+        "@nuxt/utils": "2.13.3",
+        "@nuxt/vue-app": "2.13.3",
+        "@nuxt/webpack": "2.13.3",
+        "chalk": "3.0.0",
+        "chokidar": "3.4.1",
+        "consola": "2.14.0",
+        "fs-extra": "8.1.0",
+        "glob": "7.1.6",
+        "hash-sum": "2.0.0",
+        "ignore": "5.1.8",
+        "lodash": "4.17.19",
+        "pify": "4.0.1",
+        "semver": "7.3.2",
+        "serialize-javascript": "4.0.0",
+        "upath": "1.2.0"
+      }
+    },
+    "@nuxt/cli": {
+      "version": "2.13.3",
+      "resolved": "https://registry.npm.taobao.org/@nuxt/cli/download/@nuxt/cli-2.13.3.tgz",
+      "integrity": "sha1-2LCv91mlqTV7WsQXnurQKeCWpiw=",
+      "requires": {
+        "@nuxt/config": "2.13.3",
+        "@nuxt/utils": "2.13.3",
+        "boxen": "4.2.0",
+        "chalk": "3.0.0",
+        "compression": "1.7.4",
+        "connect": "3.7.0",
+        "consola": "2.14.0",
+        "esm": "3.2.25",
+        "execa": "3.4.0",
+        "exit": "0.1.2",
+        "fs-extra": "8.1.0",
+        "hable": "3.0.0",
+        "minimist": "1.2.5",
+        "opener": "1.5.1",
+        "pretty-bytes": "5.3.0",
+        "serve-static": "1.14.1",
+        "std-env": "2.2.1",
+        "wrap-ansi": "6.2.0"
+      }
+    },
+    "@nuxt/components": {
+      "version": "1.0.7",
+      "resolved": "https://registry.npm.taobao.org/@nuxt/components/download/@nuxt/components-1.0.7.tgz",
+      "integrity": "sha1-gW/W/wg8ZRXZuCbrBCGRCfYKrb8=",
+      "requires": {
+        "chalk": "4.1.0",
+        "chokidar": "3.4.1",
+        "glob": "7.1.6",
+        "globby": "11.0.1",
+        "lodash": "4.17.19",
+        "semver": "7.3.2"
+      },
+      "dependencies": {
+        "ansi-styles": {
+          "version": "4.2.1",
+          "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.2.1.tgz",
+          "integrity": "sha1-kK51xCTQCNJiTFvynq0xd+v881k=",
+          "requires": {
+            "@types/color-name": "1.1.1",
+            "color-convert": "2.0.1"
+          }
+        },
+        "chalk": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz",
+          "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=",
+          "requires": {
+            "ansi-styles": "4.2.1",
+            "supports-color": "7.1.0"
+          }
+        },
+        "color-convert": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npm.taobao.org/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.npm.taobao.org/color-name/download/color-name-1.1.4.tgz",
+          "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI="
+        },
+        "has-flag": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz",
+          "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s="
+        },
+        "supports-color": {
+          "version": "7.1.0",
+          "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.1.0.tgz",
+          "integrity": "sha1-aOMlkd9z4lrRxLSRCKLsUHliv9E=",
+          "requires": {
+            "has-flag": "4.0.0"
+          }
+        }
+      }
+    },
+    "@nuxt/config": {
+      "version": "2.13.3",
+      "resolved": "https://registry.npm.taobao.org/@nuxt/config/download/@nuxt/config-2.13.3.tgz",
+      "integrity": "sha1-Ak01n+EAo8FZdWYNkxtk3QuNVj8=",
+      "requires": {
+        "@nuxt/utils": "2.13.3",
+        "consola": "2.14.0",
+        "create-require": "1.0.2",
+        "defu": "2.0.4",
+        "destr": "1.0.0",
+        "dotenv": "8.2.0",
+        "esm": "3.2.25",
+        "jiti": "0.1.11",
+        "rc9": "1.0.0",
+        "std-env": "2.2.1"
+      }
+    },
+    "@nuxt/core": {
+      "version": "2.13.3",
+      "resolved": "https://registry.npm.taobao.org/@nuxt/core/download/@nuxt/core-2.13.3.tgz",
+      "integrity": "sha1-Z6cSTGfQ1v/5poeJU1JgtVjlPpc=",
+      "requires": {
+        "@nuxt/config": "2.13.3",
+        "@nuxt/devalue": "1.2.4",
+        "@nuxt/server": "2.13.3",
+        "@nuxt/utils": "2.13.3",
+        "@nuxt/vue-renderer": "2.13.3",
+        "consola": "2.14.0",
+        "debug": "4.1.1",
+        "esm": "3.2.25",
+        "fs-extra": "8.1.0",
+        "hable": "3.0.0",
+        "hash-sum": "2.0.0",
+        "std-env": "2.2.1"
+      }
+    },
+    "@nuxt/devalue": {
+      "version": "1.2.4",
+      "resolved": "https://registry.npm.taobao.org/@nuxt/devalue/download/@nuxt/devalue-1.2.4.tgz",
+      "integrity": "sha1-aeygMrdIH9PAGaeK3mXWQto/LzU=",
+      "requires": {
+        "consola": "2.14.0"
+      }
+    },
+    "@nuxt/friendly-errors-webpack-plugin": {
+      "version": "2.5.0",
+      "resolved": "https://registry.npm.taobao.org/@nuxt/friendly-errors-webpack-plugin/download/@nuxt/friendly-errors-webpack-plugin-2.5.0.tgz",
+      "integrity": "sha1-U3RmW8ctNLfbrcw2Gkd34/D11Gs=",
+      "requires": {
+        "chalk": "2.4.2",
+        "consola": "2.14.0",
+        "error-stack-parser": "2.0.6",
+        "string-width": "2.1.1"
+      },
+      "dependencies": {
+        "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.5.0"
+          }
+        }
+      }
+    },
+    "@nuxt/generator": {
+      "version": "2.13.3",
+      "resolved": "https://registry.npm.taobao.org/@nuxt/generator/download/@nuxt/generator-2.13.3.tgz",
+      "integrity": "sha1-EDy433bzLZMSQg3yD7KCHWaW9sk=",
+      "requires": {
+        "@nuxt/utils": "2.13.3",
+        "chalk": "3.0.0",
+        "consola": "2.14.0",
+        "fs-extra": "8.1.0",
+        "html-minifier": "4.0.0",
+        "node-html-parser": "1.2.20"
+      }
+    },
+    "@nuxt/loading-screen": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npm.taobao.org/@nuxt/loading-screen/download/@nuxt/loading-screen-2.0.2.tgz",
+      "integrity": "sha1-IILoE6k7tO+kK+Baa0SBIbXxytg=",
+      "requires": {
+        "connect": "3.7.0",
+        "defu": "2.0.4",
+        "get-port-please": "1.0.0",
+        "node-res": "5.0.1",
+        "serve-static": "1.14.1"
+      }
+    },
+    "@nuxt/opencollective": {
+      "version": "0.3.0",
+      "resolved": "https://registry.npm.taobao.org/@nuxt/opencollective/download/@nuxt/opencollective-0.3.0.tgz",
+      "integrity": "sha1-EdiUTc8tUm4xZgu2lXC+A/j7crc=",
+      "requires": {
+        "chalk": "2.4.2",
+        "consola": "2.14.0",
+        "node-fetch": "2.6.0"
+      },
+      "dependencies": {
+        "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.5.0"
+          }
+        }
+      }
+    },
+    "@nuxt/server": {
+      "version": "2.13.3",
+      "resolved": "https://registry.npm.taobao.org/@nuxt/server/download/@nuxt/server-2.13.3.tgz",
+      "integrity": "sha1-nQRqFHptSvBy1/65j+4XAGfsjDs=",
+      "requires": {
+        "@nuxt/config": "2.13.3",
+        "@nuxt/utils": "2.13.3",
+        "@nuxt/vue-renderer": "2.13.3",
+        "@nuxtjs/youch": "4.2.3",
+        "chalk": "3.0.0",
+        "compression": "1.7.4",
+        "connect": "3.7.0",
+        "consola": "2.14.0",
+        "etag": "1.8.1",
+        "fresh": "0.5.2",
+        "fs-extra": "8.1.0",
+        "ip": "1.1.5",
+        "launch-editor-middleware": "2.2.1",
+        "on-headers": "1.0.2",
+        "pify": "4.0.1",
+        "serve-placeholder": "1.2.2",
+        "serve-static": "1.14.1",
+        "server-destroy": "1.0.1"
+      }
+    },
+    "@nuxt/telemetry": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npm.taobao.org/@nuxt/telemetry/download/@nuxt/telemetry-1.2.1.tgz",
+      "integrity": "sha1-yKX1M9dsM4HGM57zWSl0r5OKUEA=",
+      "requires": {
+        "arg": "4.1.3",
+        "ci-info": "2.0.0",
+        "consola": "2.14.0",
+        "create-require": "1.0.2",
+        "defu": "2.0.4",
+        "destr": "1.0.0",
+        "dotenv": "8.2.0",
+        "fs-extra": "9.0.1",
+        "git-url-parse": "11.1.2",
+        "inquirer": "7.3.2",
+        "is-docker": "2.0.0",
+        "jiti": "0.1.11",
+        "nanoid": "3.1.10",
+        "node-fetch": "2.6.0",
+        "parse-git-config": "3.0.0",
+        "rc9": "1.0.0",
+        "std-env": "2.2.1"
+      },
+      "dependencies": {
+        "ci-info": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npm.taobao.org/ci-info/download/ci-info-2.0.0.tgz",
+          "integrity": "sha1-Z6npZL4xpR4V5QENWObxKDQAL0Y="
+        },
+        "fs-extra": {
+          "version": "9.0.1",
+          "resolved": "https://registry.npm.taobao.org/fs-extra/download/fs-extra-9.0.1.tgz",
+          "integrity": "sha1-kQ2gBiQ3ukw5/t2GPxZ1zP78ufw=",
+          "requires": {
+            "at-least-node": "1.0.0",
+            "graceful-fs": "4.2.4",
+            "jsonfile": "6.0.1",
+            "universalify": "1.0.0"
+          }
+        },
+        "jsonfile": {
+          "version": "6.0.1",
+          "resolved": "https://registry.npm.taobao.org/jsonfile/download/jsonfile-6.0.1.tgz?cache=0&sync_timestamp=1583593905130&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsonfile%2Fdownload%2Fjsonfile-6.0.1.tgz",
+          "integrity": "sha1-mJZsuiFDeMjIS4LghZB7QL9hQXk=",
+          "requires": {
+            "graceful-fs": "4.2.4",
+            "universalify": "1.0.0"
+          }
+        },
+        "universalify": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npm.taobao.org/universalify/download/universalify-1.0.0.tgz",
+          "integrity": "sha1-thodoXPoQ1sv48Z9Kbmt+FlL0W0="
+        }
+      }
+    },
+    "@nuxt/utils": {
+      "version": "2.13.3",
+      "resolved": "https://registry.npm.taobao.org/@nuxt/utils/download/@nuxt/utils-2.13.3.tgz",
+      "integrity": "sha1-8SEojeGh484FGCbZ3TwBWhDt4tw=",
+      "requires": {
+        "consola": "2.14.0",
+        "fs-extra": "8.1.0",
+        "hash-sum": "2.0.0",
+        "proper-lockfile": "4.1.1",
+        "semver": "7.3.2",
+        "serialize-javascript": "4.0.0",
+        "signal-exit": "3.0.3",
+        "ua-parser-js": "0.7.21"
+      }
+    },
+    "@nuxt/vue-app": {
+      "version": "2.13.3",
+      "resolved": "https://registry.npm.taobao.org/@nuxt/vue-app/download/@nuxt/vue-app-2.13.3.tgz",
+      "integrity": "sha1-F/vlo777sa7thyki/b1oBk7J4xY=",
+      "requires": {
+        "node-fetch": "2.6.0",
+        "unfetch": "4.1.0",
+        "vue": "2.6.11",
+        "vue-client-only": "2.0.0",
+        "vue-meta": "2.4.0",
+        "vue-no-ssr": "1.1.1",
+        "vue-router": "3.3.4",
+        "vue-template-compiler": "2.6.11",
+        "vuex": "3.5.1"
+      }
+    },
+    "@nuxt/vue-renderer": {
+      "version": "2.13.3",
+      "resolved": "https://registry.npm.taobao.org/@nuxt/vue-renderer/download/@nuxt/vue-renderer-2.13.3.tgz",
+      "integrity": "sha1-m6O+kcdtAdwK4yCeh+eD0tbPQ54=",
+      "requires": {
+        "@nuxt/devalue": "1.2.4",
+        "@nuxt/utils": "2.13.3",
+        "consola": "2.14.0",
+        "fs-extra": "8.1.0",
+        "lru-cache": "5.1.1",
+        "vue": "2.6.11",
+        "vue-meta": "2.4.0",
+        "vue-server-renderer": "2.6.11"
+      }
+    },
+    "@nuxt/webpack": {
+      "version": "2.13.3",
+      "resolved": "https://registry.npm.taobao.org/@nuxt/webpack/download/@nuxt/webpack-2.13.3.tgz",
+      "integrity": "sha1-tGjQGwRAjqJqbZFxvDCF8StpY9I=",
+      "requires": {
+        "@babel/core": "7.10.5",
+        "@nuxt/babel-preset-app": "2.13.3",
+        "@nuxt/friendly-errors-webpack-plugin": "2.5.0",
+        "@nuxt/utils": "2.13.3",
+        "babel-loader": "8.1.0",
+        "cache-loader": "4.1.0",
+        "caniuse-lite": "1.0.30001100",
+        "chalk": "3.0.0",
+        "consola": "2.14.0",
+        "css-loader": "3.6.0",
+        "cssnano": "4.1.10",
+        "eventsource-polyfill": "0.9.6",
+        "extract-css-chunks-webpack-plugin": "4.7.5",
+        "file-loader": "4.3.0",
+        "glob": "7.1.6",
+        "hard-source-webpack-plugin": "0.13.1",
+        "hash-sum": "2.0.0",
+        "html-webpack-plugin": "4.3.0",
+        "memory-fs": "0.4.1",
+        "optimize-css-assets-webpack-plugin": "5.0.3",
+        "pify": "4.0.1",
+        "postcss": "7.0.32",
+        "postcss-import": "12.0.1",
+        "postcss-import-resolver": "2.0.0",
+        "postcss-loader": "3.0.0",
+        "postcss-preset-env": "6.7.0",
+        "postcss-url": "8.0.0",
+        "semver": "7.3.2",
+        "std-env": "2.2.1",
+        "style-resources-loader": "1.3.3",
+        "terser-webpack-plugin": "2.3.7",
+        "thread-loader": "2.1.3",
+        "time-fix-plugin": "2.0.6",
+        "url-loader": "2.3.0",
+        "vue-loader": "15.9.3",
+        "webpack": "4.43.0",
+        "webpack-bundle-analyzer": "3.8.0",
+        "webpack-dev-middleware": "3.7.2",
+        "webpack-hot-middleware": "2.25.0",
+        "webpack-node-externals": "1.7.2",
+        "webpackbar": "4.0.0"
+      }
+    },
+    "@nuxtjs/axios": {
+      "version": "5.13.6",
+      "resolved": "https://registry.npmmirror.com/@nuxtjs/axios/-/axios-5.13.6.tgz",
+      "integrity": "sha512-XS+pOE0xsDODs1zAIbo95A0LKlilvJi8YW0NoXYuq3/jjxGgWDxizZ6Yx0AIIjZOoGsXJOPc0/BcnSEUQ2mFBA==",
+      "requires": {
+        "@nuxtjs/proxy": "2.1.0",
+        "axios": "0.21.4",
+        "axios-retry": "3.4.0",
+        "consola": "2.15.3",
+        "defu": "5.0.1"
+      },
+      "dependencies": {
+        "axios": {
+          "version": "0.21.4",
+          "resolved": "https://registry.npmmirror.com/axios/-/axios-0.21.4.tgz",
+          "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==",
+          "requires": {
+            "follow-redirects": "1.15.2"
+          }
+        },
+        "consola": {
+          "version": "2.15.3",
+          "resolved": "https://registry.npmmirror.com/consola/-/consola-2.15.3.tgz",
+          "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw=="
+        },
+        "defu": {
+          "version": "5.0.1",
+          "resolved": "https://registry.npmmirror.com/defu/-/defu-5.0.1.tgz",
+          "integrity": "sha512-EPS1carKg+dkEVy3qNTqIdp2qV7mUP08nIsupfwQpz++slCVRw7qbQyWvSTig+kFPwz2XXp5/kIIkH+CwrJKkQ=="
+        }
+      }
+    },
+    "@nuxtjs/proxy": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmmirror.com/@nuxtjs/proxy/-/proxy-2.1.0.tgz",
+      "integrity": "sha512-/qtoeqXgZ4Mg6LRg/gDUZQrFpOlOdHrol/vQYMnKu3aN3bP90UfOUB3QSDghUUK7OISAJ0xp8Ld78aHyCTcKCQ==",
+      "requires": {
+        "http-proxy-middleware": "1.3.1"
+      }
+    },
+    "@nuxtjs/youch": {
+      "version": "4.2.3",
+      "resolved": "https://registry.npm.taobao.org/@nuxtjs/youch/download/@nuxtjs/youch-4.2.3.tgz",
+      "integrity": "sha1-NviyLfWg76qBNzEJhR4dhXrKa+0=",
+      "requires": {
+        "cookie": "0.3.1",
+        "mustache": "2.3.2",
+        "stack-trace": "0.0.10"
+      },
+      "dependencies": {
+        "cookie": {
+          "version": "0.3.1",
+          "resolved": "https://registry.npm.taobao.org/cookie/download/cookie-0.3.1.tgz",
+          "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s="
+        }
+      }
+    },
+    "@types/anymatch": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npm.taobao.org/@types/anymatch/download/@types/anymatch-1.3.1.tgz",
+      "integrity": "sha1-M2utwb7sudrMOL6izzKt9ieoQho="
+    },
+    "@types/color-name": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npm.taobao.org/@types/color-name/download/@types/color-name-1.1.1.tgz",
+      "integrity": "sha1-HBJhu+qhCoBVu8XYq4S3sq/IRqA="
+    },
+    "@types/html-minifier-terser": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npm.taobao.org/@types/html-minifier-terser/download/@types/html-minifier-terser-5.1.0.tgz",
+      "integrity": "sha1-VRpFibbuLMnB3/CAVhKK7Cm5SIA="
+    },
+    "@types/http-proxy": {
+      "version": "1.17.10",
+      "resolved": "https://registry.npmmirror.com/@types/http-proxy/-/http-proxy-1.17.10.tgz",
+      "integrity": "sha512-Qs5aULi+zV1bwKAg5z1PWnDXWmsn+LxIvUGv6E2+OOMYhclZMO+OXd9pYVf2gLykf2I7IV2u7oTHwChPNsvJ7g==",
+      "requires": {
+        "@types/node": "14.0.23"
+      }
+    },
+    "@types/json-schema": {
+      "version": "7.0.5",
+      "resolved": "https://registry.npm.taobao.org/@types/json-schema/download/@types/json-schema-7.0.5.tgz?cache=0&sync_timestamp=1591720921048&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fjson-schema%2Fdownload%2F%40types%2Fjson-schema-7.0.5.tgz",
+      "integrity": "sha1-3M5EMOZLRDuolF8CkPtWStW6xt0="
+    },
+    "@types/node": {
+      "version": "14.0.23",
+      "resolved": "https://registry.npm.taobao.org/@types/node/download/@types/node-14.0.23.tgz?cache=0&sync_timestamp=1594655900445&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-14.0.23.tgz",
+      "integrity": "sha1-Z2+giDRQ7Z2guyQVYhNjYpCJKAY="
+    },
+    "@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="
+    },
+    "@types/source-list-map": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npm.taobao.org/@types/source-list-map/download/@types/source-list-map-0.1.2.tgz?cache=0&sync_timestamp=1588203324119&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fsource-list-map%2Fdownload%2F%40types%2Fsource-list-map-0.1.2.tgz",
+      "integrity": "sha1-AHiDYGP/rxdBI0m7o2QIfgrALsk="
+    },
+    "@types/tapable": {
+      "version": "1.0.6",
+      "resolved": "https://registry.npm.taobao.org/@types/tapable/download/@types/tapable-1.0.6.tgz?cache=0&sync_timestamp=1592339447738&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Ftapable%2Fdownload%2F%40types%2Ftapable-1.0.6.tgz",
+      "integrity": "sha1-qcpLcKGLJwzLK8Cqr+/R1Ia36nQ="
+    },
+    "@types/uglify-js": {
+      "version": "3.9.3",
+      "resolved": "https://registry.npm.taobao.org/@types/uglify-js/download/@types/uglify-js-3.9.3.tgz?cache=0&sync_timestamp=1594012442963&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fuglify-js%2Fdownload%2F%40types%2Fuglify-js-3.9.3.tgz",
+      "integrity": "sha1-2U7WCOKVvFQkyWAOa4VlQHtrS2s=",
+      "requires": {
+        "source-map": "0.6.1"
+      },
+      "dependencies": {
+        "source-map": {
+          "version": "0.6.1",
+          "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz",
+          "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM="
+        }
+      }
+    },
+    "@types/webpack": {
+      "version": "4.41.21",
+      "resolved": "https://registry.npm.taobao.org/@types/webpack/download/@types/webpack-4.41.21.tgz?cache=0&sync_timestamp=1594143597413&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fwebpack%2Fdownload%2F%40types%2Fwebpack-4.41.21.tgz",
+      "integrity": "sha1-zGhbMywz8VO7L1/B+jrIretZLe4=",
+      "requires": {
+        "@types/anymatch": "1.3.1",
+        "@types/node": "14.0.23",
+        "@types/tapable": "1.0.6",
+        "@types/uglify-js": "3.9.3",
+        "@types/webpack-sources": "1.4.0",
+        "source-map": "0.6.1"
+      },
+      "dependencies": {
+        "source-map": {
+          "version": "0.6.1",
+          "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz",
+          "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM="
+        }
+      }
+    },
+    "@types/webpack-sources": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npm.taobao.org/@types/webpack-sources/download/@types/webpack-sources-1.4.0.tgz",
+      "integrity": "sha1-5Y8fBfh9OaXGTPhXBb29u5TU1X4=",
+      "requires": {
+        "@types/node": "14.0.23",
+        "@types/source-list-map": "0.1.2",
+        "source-map": "0.7.3"
+      },
+      "dependencies": {
+        "source-map": {
+          "version": "0.7.3",
+          "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.7.3.tgz",
+          "integrity": "sha1-UwL4FpAxc1ImVECS5kmB91F1A4M="
+        }
+      }
+    },
+    "@vue/babel-helper-vue-jsx-merge-props": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npm.taobao.org/@vue/babel-helper-vue-jsx-merge-props/download/@vue/babel-helper-vue-jsx-merge-props-1.0.0.tgz",
+      "integrity": "sha1-BI/leZWNpAj7eosqPsBQtQpmEEA="
+    },
+    "@vue/babel-plugin-transform-vue-jsx": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npm.taobao.org/@vue/babel-plugin-transform-vue-jsx/download/@vue/babel-plugin-transform-vue-jsx-1.1.2.tgz",
+      "integrity": "sha1-wKPm78Ai515CR7RIqPxrhvA+kcA=",
+      "requires": {
+        "@babel/helper-module-imports": "7.10.4",
+        "@babel/plugin-syntax-jsx": "7.10.4",
+        "@vue/babel-helper-vue-jsx-merge-props": "1.0.0",
+        "html-tags": "2.0.0",
+        "lodash.kebabcase": "4.1.1",
+        "svg-tags": "1.0.0"
+      }
+    },
+    "@vue/babel-preset-jsx": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npm.taobao.org/@vue/babel-preset-jsx/download/@vue/babel-preset-jsx-1.1.2.tgz",
+      "integrity": "sha1-LhaetMIE6jfKZsLqhaiAv8mdTyA=",
+      "requires": {
+        "@vue/babel-helper-vue-jsx-merge-props": "1.0.0",
+        "@vue/babel-plugin-transform-vue-jsx": "1.1.2",
+        "@vue/babel-sugar-functional-vue": "1.1.2",
+        "@vue/babel-sugar-inject-h": "1.1.2",
+        "@vue/babel-sugar-v-model": "1.1.2",
+        "@vue/babel-sugar-v-on": "1.1.2"
+      }
+    },
+    "@vue/babel-sugar-functional-vue": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npm.taobao.org/@vue/babel-sugar-functional-vue/download/@vue/babel-sugar-functional-vue-1.1.2.tgz",
+      "integrity": "sha1-9+JPugnm8e5wEEVgqICAV1VfGpo=",
+      "requires": {
+        "@babel/plugin-syntax-jsx": "7.10.4"
+      }
+    },
+    "@vue/babel-sugar-inject-h": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npm.taobao.org/@vue/babel-sugar-inject-h/download/@vue/babel-sugar-inject-h-1.1.2.tgz",
+      "integrity": "sha1-ilJ2ttji7Rb/yAeKrZQjYnTm7fA=",
+      "requires": {
+        "@babel/plugin-syntax-jsx": "7.10.4"
+      }
+    },
+    "@vue/babel-sugar-v-model": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npm.taobao.org/@vue/babel-sugar-v-model/download/@vue/babel-sugar-v-model-1.1.2.tgz",
+      "integrity": "sha1-H/b9G4ACI/ycsehNzrXlLXN6gZI=",
+      "requires": {
+        "@babel/plugin-syntax-jsx": "7.10.4",
+        "@vue/babel-helper-vue-jsx-merge-props": "1.0.0",
+        "@vue/babel-plugin-transform-vue-jsx": "1.1.2",
+        "camelcase": "5.3.1",
+        "html-tags": "2.0.0",
+        "svg-tags": "1.0.0"
+      }
+    },
+    "@vue/babel-sugar-v-on": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npm.taobao.org/@vue/babel-sugar-v-on/download/@vue/babel-sugar-v-on-1.1.2.tgz",
+      "integrity": "sha1-su+ZuPL6sJ++rSWq1w70Lhz1sTs=",
+      "requires": {
+        "@babel/plugin-syntax-jsx": "7.10.4",
+        "@vue/babel-plugin-transform-vue-jsx": "1.1.2",
+        "camelcase": "5.3.1"
+      }
+    },
+    "@vue/component-compiler-utils": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npm.taobao.org/@vue/component-compiler-utils/download/@vue/component-compiler-utils-3.1.2.tgz",
+      "integrity": "sha1-ghOl/zIC+fITf+VTcPnouWVggcM=",
+      "requires": {
+        "consolidate": "0.15.1",
+        "hash-sum": "1.0.2",
+        "lru-cache": "4.1.5",
+        "merge-source-map": "1.1.0",
+        "postcss": "7.0.32",
+        "postcss-selector-parser": "6.0.2",
+        "prettier": "1.19.1",
+        "source-map": "0.6.1",
+        "vue-template-es2015-compiler": "1.9.1"
+      },
+      "dependencies": {
+        "hash-sum": {
+          "version": "1.0.2",
+          "resolved": "https://registry.npm.taobao.org/hash-sum/download/hash-sum-1.0.2.tgz",
+          "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ="
+        },
+        "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=1594427602316&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-4.1.5.tgz",
+          "integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=",
+          "requires": {
+            "pseudomap": "1.0.2",
+            "yallist": "2.1.2"
+          }
+        },
+        "source-map": {
+          "version": "0.6.1",
+          "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz",
+          "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM="
+        },
+        "yallist": {
+          "version": "2.1.2",
+          "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz?cache=0&sync_timestamp=1569874170379&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyallist%2Fdownload%2Fyallist-2.1.2.tgz",
+          "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI="
+        }
+      }
+    },
+    "@webassemblyjs/ast": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npm.taobao.org/@webassemblyjs/ast/download/@webassemblyjs/ast-1.9.0.tgz",
+      "integrity": "sha1-vYUGBLQEJFmlpBzX0zjL7Wle2WQ=",
+      "requires": {
+        "@webassemblyjs/helper-module-context": "1.9.0",
+        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
+        "@webassemblyjs/wast-parser": "1.9.0"
+      }
+    },
+    "@webassemblyjs/floating-point-hex-parser": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npm.taobao.org/@webassemblyjs/floating-point-hex-parser/download/@webassemblyjs/floating-point-hex-parser-1.9.0.tgz",
+      "integrity": "sha1-PD07Jxvd/ITesA9xNEQ4MR1S/7Q="
+    },
+    "@webassemblyjs/helper-api-error": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-api-error/download/@webassemblyjs/helper-api-error-1.9.0.tgz",
+      "integrity": "sha1-ID9nbjM7lsnaLuqzzO8zxFkotqI="
+    },
+    "@webassemblyjs/helper-buffer": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-buffer/download/@webassemblyjs/helper-buffer-1.9.0.tgz",
+      "integrity": "sha1-oUQtJpxf6yP8vJ73WdrDVH8p3gA="
+    },
+    "@webassemblyjs/helper-code-frame": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-code-frame/download/@webassemblyjs/helper-code-frame-1.9.0.tgz",
+      "integrity": "sha1-ZH+Iks0gQ6gqwMjF51w28dkVnyc=",
+      "requires": {
+        "@webassemblyjs/wast-printer": "1.9.0"
+      }
+    },
+    "@webassemblyjs/helper-fsm": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-fsm/download/@webassemblyjs/helper-fsm-1.9.0.tgz",
+      "integrity": "sha1-wFJWtxJEIUZx9LCOwQitY7cO3bg="
+    },
+    "@webassemblyjs/helper-module-context": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-module-context/download/@webassemblyjs/helper-module-context-1.9.0.tgz",
+      "integrity": "sha1-JdiIS3aDmHGgimxvgGw5ee9xLwc=",
+      "requires": {
+        "@webassemblyjs/ast": "1.9.0"
+      }
+    },
+    "@webassemblyjs/helper-wasm-bytecode": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-wasm-bytecode/download/@webassemblyjs/helper-wasm-bytecode-1.9.0.tgz",
+      "integrity": "sha1-T+2L6sm4wU+MWLcNEk1UndH+V5A="
+    },
+    "@webassemblyjs/helper-wasm-section": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-wasm-section/download/@webassemblyjs/helper-wasm-section-1.9.0.tgz",
+      "integrity": "sha1-WkE41aYpK6GLBMWuSXF+QWeWU0Y=",
+      "requires": {
+        "@webassemblyjs/ast": "1.9.0",
+        "@webassemblyjs/helper-buffer": "1.9.0",
+        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
+        "@webassemblyjs/wasm-gen": "1.9.0"
+      }
+    },
+    "@webassemblyjs/ieee754": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npm.taobao.org/@webassemblyjs/ieee754/download/@webassemblyjs/ieee754-1.9.0.tgz",
+      "integrity": "sha1-Fceg+6roP7JhQ7us9tbfFwKtOeQ=",
+      "requires": {
+        "@xtuc/ieee754": "1.2.0"
+      }
+    },
+    "@webassemblyjs/leb128": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npm.taobao.org/@webassemblyjs/leb128/download/@webassemblyjs/leb128-1.9.0.tgz",
+      "integrity": "sha1-8Zygt2ptxVYjoJz/p2noOPoeHJU=",
+      "requires": {
+        "@xtuc/long": "4.2.2"
+      }
+    },
+    "@webassemblyjs/utf8": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npm.taobao.org/@webassemblyjs/utf8/download/@webassemblyjs/utf8-1.9.0.tgz",
+      "integrity": "sha1-BNM7Y2945qaBMifoJAL3Y3tiKas="
+    },
+    "@webassemblyjs/wasm-edit": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-edit/download/@webassemblyjs/wasm-edit-1.9.0.tgz",
+      "integrity": "sha1-P+bXnT8PkiGDqoYALELdJWz+6c8=",
+      "requires": {
+        "@webassemblyjs/ast": "1.9.0",
+        "@webassemblyjs/helper-buffer": "1.9.0",
+        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
+        "@webassemblyjs/helper-wasm-section": "1.9.0",
+        "@webassemblyjs/wasm-gen": "1.9.0",
+        "@webassemblyjs/wasm-opt": "1.9.0",
+        "@webassemblyjs/wasm-parser": "1.9.0",
+        "@webassemblyjs/wast-printer": "1.9.0"
+      }
+    },
+    "@webassemblyjs/wasm-gen": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-gen/download/@webassemblyjs/wasm-gen-1.9.0.tgz",
+      "integrity": "sha1-ULxw7Gje2OJ2OwGhQYv0NJGnpJw=",
+      "requires": {
+        "@webassemblyjs/ast": "1.9.0",
+        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
+        "@webassemblyjs/ieee754": "1.9.0",
+        "@webassemblyjs/leb128": "1.9.0",
+        "@webassemblyjs/utf8": "1.9.0"
+      }
+    },
+    "@webassemblyjs/wasm-opt": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-opt/download/@webassemblyjs/wasm-opt-1.9.0.tgz",
+      "integrity": "sha1-IhEYHlsxMmRDzIES658LkChyGmE=",
+      "requires": {
+        "@webassemblyjs/ast": "1.9.0",
+        "@webassemblyjs/helper-buffer": "1.9.0",
+        "@webassemblyjs/wasm-gen": "1.9.0",
+        "@webassemblyjs/wasm-parser": "1.9.0"
+      }
+    },
+    "@webassemblyjs/wasm-parser": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wasm-parser/download/@webassemblyjs/wasm-parser-1.9.0.tgz",
+      "integrity": "sha1-nUjkSCbfSmWYKUqmyHRp1kL/9l4=",
+      "requires": {
+        "@webassemblyjs/ast": "1.9.0",
+        "@webassemblyjs/helper-api-error": "1.9.0",
+        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
+        "@webassemblyjs/ieee754": "1.9.0",
+        "@webassemblyjs/leb128": "1.9.0",
+        "@webassemblyjs/utf8": "1.9.0"
+      }
+    },
+    "@webassemblyjs/wast-parser": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wast-parser/download/@webassemblyjs/wast-parser-1.9.0.tgz",
+      "integrity": "sha1-MDERXXmsW9JhVWzsw/qQo+9FGRQ=",
+      "requires": {
+        "@webassemblyjs/ast": "1.9.0",
+        "@webassemblyjs/floating-point-hex-parser": "1.9.0",
+        "@webassemblyjs/helper-api-error": "1.9.0",
+        "@webassemblyjs/helper-code-frame": "1.9.0",
+        "@webassemblyjs/helper-fsm": "1.9.0",
+        "@xtuc/long": "4.2.2"
+      }
+    },
+    "@webassemblyjs/wast-printer": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npm.taobao.org/@webassemblyjs/wast-printer/download/@webassemblyjs/wast-printer-1.9.0.tgz",
+      "integrity": "sha1-STXVTIX+9jewDOn1I3dFHQDUeJk=",
+      "requires": {
+        "@webassemblyjs/ast": "1.9.0",
+        "@webassemblyjs/wast-parser": "1.9.0",
+        "@xtuc/long": "4.2.2"
+      }
+    },
+    "@xtuc/ieee754": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npm.taobao.org/@xtuc/ieee754/download/@xtuc/ieee754-1.2.0.tgz",
+      "integrity": "sha1-7vAUoxRa5Hehy8AM0eVSM23Ot5A="
+    },
+    "@xtuc/long": {
+      "version": "4.2.2",
+      "resolved": "https://registry.npm.taobao.org/@xtuc/long/download/@xtuc/long-4.2.2.tgz",
+      "integrity": "sha1-0pHGpOl5ibXGHZrPOWrk/hM6cY0="
+    },
+    "accepts": {
+      "version": "1.3.7",
+      "resolved": "https://registry.npm.taobao.org/accepts/download/accepts-1.3.7.tgz",
+      "integrity": "sha1-UxvHJlF6OytB+FACHGzBXqq1B80=",
+      "requires": {
+        "mime-types": "2.1.27",
+        "negotiator": "0.6.2"
+      }
+    },
+    "acorn": {
+      "version": "6.4.1",
+      "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-6.4.1.tgz?cache=0&sync_timestamp=1591869432510&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn%2Fdownload%2Facorn-6.4.1.tgz",
+      "integrity": "sha1-Ux5Yuj9RudrLmmZGyk3r9bFMpHQ="
+    },
+    "acorn-jsx": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npm.taobao.org/acorn-jsx/download/acorn-jsx-3.0.1.tgz",
+      "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=",
+      "dev": true,
+      "requires": {
+        "acorn": "3.3.0"
+      },
+      "dependencies": {
+        "acorn": {
+          "version": "3.3.0",
+          "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-3.3.0.tgz?cache=0&sync_timestamp=1591869432510&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn%2Fdownload%2Facorn-3.3.0.tgz",
+          "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=",
+          "dev": true
+        }
+      }
+    },
+    "acorn-walk": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npm.taobao.org/acorn-walk/download/acorn-walk-7.2.0.tgz?cache=0&sync_timestamp=1592373495468&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn-walk%2Fdownload%2Facorn-walk-7.2.0.tgz",
+      "integrity": "sha1-DeiJpgEgOQmw++B7iTjcIdLpZ7w="
+    },
+    "aggregate-error": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npm.taobao.org/aggregate-error/download/aggregate-error-3.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faggregate-error%2Fdownload%2Faggregate-error-3.0.1.tgz",
+      "integrity": "sha1-2y/nJG5Tb0DZtUQqOeEX191qJOA=",
+      "requires": {
+        "clean-stack": "2.2.0",
+        "indent-string": "4.0.0"
+      }
+    },
+    "ajv": {
+      "version": "6.12.3",
+      "resolved": "https://registry.npm.taobao.org/ajv/download/ajv-6.12.3.tgz?cache=0&sync_timestamp=1593876872665&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv%2Fdownload%2Fajv-6.12.3.tgz",
+      "integrity": "sha1-GMWvOKER3etPJpe9eNaKvByr1wY=",
+      "requires": {
+        "fast-deep-equal": "3.1.3",
+        "fast-json-stable-stringify": "2.1.0",
+        "json-schema-traverse": "0.4.1",
+        "uri-js": "4.2.2"
+      }
+    },
+    "ajv-errors": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npm.taobao.org/ajv-errors/download/ajv-errors-1.0.1.tgz",
+      "integrity": "sha1-81mGrOuRr63sQQL72FAUlQzvpk0="
+    },
+    "ajv-keywords": {
+      "version": "3.5.1",
+      "resolved": "https://registry.npm.taobao.org/ajv-keywords/download/ajv-keywords-3.5.1.tgz",
+      "integrity": "sha1-uDyonF1C1pAx9CTK1JqtoCNsaVc="
+    },
+    "alphanum-sort": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npm.taobao.org/alphanum-sort/download/alphanum-sort-1.0.2.tgz",
+      "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM="
+    },
+    "ansi-align": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npm.taobao.org/ansi-align/download/ansi-align-3.0.0.tgz",
+      "integrity": "sha1-tTazcc9ofKrvI2wY0+If43l0Z8s=",
+      "requires": {
+        "string-width": "3.1.0"
+      },
+      "dependencies": {
+        "ansi-regex": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz",
+          "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc="
+        },
+        "emoji-regex": {
+          "version": "7.0.3",
+          "resolved": "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-7.0.3.tgz",
+          "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY="
+        },
+        "string-width": {
+          "version": "3.1.0",
+          "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-3.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-3.1.0.tgz",
+          "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=",
+          "requires": {
+            "emoji-regex": "7.0.3",
+            "is-fullwidth-code-point": "2.0.0",
+            "strip-ansi": "5.2.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=1573280549549&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-5.2.0.tgz",
+          "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=",
+          "requires": {
+            "ansi-regex": "4.1.0"
+          }
+        }
+      }
+    },
+    "ansi-colors": {
+      "version": "3.2.4",
+      "resolved": "https://registry.npm.taobao.org/ansi-colors/download/ansi-colors-3.2.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-colors%2Fdownload%2Fansi-colors-3.2.4.tgz",
+      "integrity": "sha1-46PaS/uubIapwoViXeEkojQCb78="
+    },
+    "ansi-escapes": {
+      "version": "4.3.1",
+      "resolved": "https://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-4.3.1.tgz?cache=0&sync_timestamp=1583072820951&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-escapes%2Fdownload%2Fansi-escapes-4.3.1.tgz",
+      "integrity": "sha1-pcR8xDGB8fOP/XB2g3cA05VSKmE=",
+      "requires": {
+        "type-fest": "0.11.0"
+      }
+    },
+    "ansi-html": {
+      "version": "0.0.7",
+      "resolved": "https://registry.npm.taobao.org/ansi-html/download/ansi-html-0.0.7.tgz",
+      "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4="
+    },
+    "ansi-regex": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-3.0.0.tgz",
+      "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
+    },
+    "ansi-styles": {
+      "version": "3.2.1",
+      "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz",
+      "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=",
+      "requires": {
+        "color-convert": "1.9.3"
+      }
+    },
+    "anymatch": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-3.1.1.tgz",
+      "integrity": "sha1-xV7PAhheJGklk5kxDBc84xIzsUI=",
+      "requires": {
+        "normalize-path": "3.0.0",
+        "picomatch": "2.2.2"
+      }
+    },
+    "aproba": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npm.taobao.org/aproba/download/aproba-1.2.0.tgz",
+      "integrity": "sha1-aALmJk79GMeQobDVF/DyYnvyyUo="
+    },
+    "arg": {
+      "version": "4.1.3",
+      "resolved": "https://registry.npm.taobao.org/arg/download/arg-4.1.3.tgz",
+      "integrity": "sha1-Jp/HrVuOQstjyJbVZmAXJhwUQIk="
+    },
+    "argparse": {
+      "version": "1.0.10",
+      "resolved": "https://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz",
+      "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=",
+      "requires": {
+        "sprintf-js": "1.0.3"
+      }
+    },
+    "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="
+    },
+    "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="
+    },
+    "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="
+    },
+    "array-filter": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npm.taobao.org/array-filter/download/array-filter-1.0.0.tgz",
+      "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM="
+    },
+    "array-flatten": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz?cache=0&sync_timestamp=1574313293899&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farray-flatten%2Fdownload%2Farray-flatten-1.1.1.tgz",
+      "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
+    },
+    "array-union": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npm.taobao.org/array-union/download/array-union-2.1.0.tgz",
+      "integrity": "sha1-t5hCCtvrHego2ErNii4j0+/oXo0="
+    },
+    "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="
+    },
+    "asn1.js": {
+      "version": "4.10.1",
+      "resolved": "https://registry.npm.taobao.org/asn1.js/download/asn1.js-4.10.1.tgz",
+      "integrity": "sha1-ucK/WAXx5kqt7tbfOiv6+1pz9aA=",
+      "requires": {
+        "bn.js": "4.11.9",
+        "inherits": "2.0.4",
+        "minimalistic-assert": "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="
+        }
+      }
+    },
+    "assert": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npm.taobao.org/assert/download/assert-2.0.0.tgz",
+      "integrity": "sha1-lfwcYW1IcTUQaA8ury0Q3SLgLTI=",
+      "requires": {
+        "es6-object-assign": "1.1.0",
+        "is-nan": "1.3.0",
+        "object-is": "1.1.2",
+        "util": "0.12.3"
+      }
+    },
+    "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="
+    },
+    "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=",
+      "optional": true
+    },
+    "async-limiter": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npm.taobao.org/async-limiter/download/async-limiter-1.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fasync-limiter%2Fdownload%2Fasync-limiter-1.0.1.tgz",
+      "integrity": "sha1-3TeelPDbgxCwgpH51kwyCXZmF/0="
+    },
+    "async-validator": {
+      "version": "1.8.5",
+      "resolved": "https://registry.npm.taobao.org/async-validator/download/async-validator-1.8.5.tgz",
+      "integrity": "sha1-3D4I7B/Q3dtn5ghC8CwM0c7G1/A=",
+      "requires": {
+        "babel-runtime": "6.26.0"
+      }
+    },
+    "at-least-node": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npm.taobao.org/at-least-node/download/at-least-node-1.0.0.tgz",
+      "integrity": "sha1-YCzUtG6EStTv/JKoARo8RuAjjcI="
+    },
+    "atob": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npm.taobao.org/atob/download/atob-2.1.2.tgz",
+      "integrity": "sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k="
+    },
+    "autoprefixer": {
+      "version": "9.8.5",
+      "resolved": "https://registry.npm.taobao.org/autoprefixer/download/autoprefixer-9.8.5.tgz?cache=0&sync_timestamp=1594444629891&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fautoprefixer%2Fdownload%2Fautoprefixer-9.8.5.tgz",
+      "integrity": "sha1-LCJd4indr+HRQkwCeR0MPhDMzKo=",
+      "requires": {
+        "browserslist": "4.13.0",
+        "caniuse-lite": "1.0.30001100",
+        "colorette": "1.2.1",
+        "normalize-range": "0.1.2",
+        "num2fraction": "1.2.2",
+        "postcss": "7.0.32",
+        "postcss-value-parser": "4.1.0"
+      }
+    },
+    "available-typed-arrays": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npm.taobao.org/available-typed-arrays/download/available-typed-arrays-1.0.2.tgz",
+      "integrity": "sha1-awmMqdgDkHnuP3f3t4PESAulE/U=",
+      "requires": {
+        "array-filter": "1.0.0"
+      }
+    },
+    "axios": {
+      "version": "0.19.2",
+      "resolved": "https://registry.npmmirror.com/axios/-/axios-0.19.2.tgz",
+      "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==",
+      "requires": {
+        "follow-redirects": "1.5.10"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "3.1.0",
+          "resolved": "https://registry.npmmirror.com/debug/-/debug-3.1.0.tgz",
+          "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+          "requires": {
+            "ms": "2.0.0"
+          }
+        },
+        "follow-redirects": {
+          "version": "1.5.10",
+          "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.5.10.tgz",
+          "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==",
+          "requires": {
+            "debug": "3.1.0"
+          }
+        },
+        "ms": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz",
+          "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
+        }
+      }
+    },
+    "axios-retry": {
+      "version": "3.4.0",
+      "resolved": "https://registry.npmmirror.com/axios-retry/-/axios-retry-3.4.0.tgz",
+      "integrity": "sha512-VdgaP+gHH4iQYCCNUWF2pcqeciVOdGrBBAYUfTY+wPcO5Ltvp/37MLFNCmJKo7Gj3SHvCSdL8ouI1qLYJN3liA==",
+      "requires": {
+        "@babel/runtime": "7.21.0",
+        "is-retry-allowed": "2.2.0"
+      },
+      "dependencies": {
+        "@babel/runtime": {
+          "version": "7.21.0",
+          "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.21.0.tgz",
+          "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==",
+          "requires": {
+            "regenerator-runtime": "0.13.11"
+          }
+        },
+        "regenerator-runtime": {
+          "version": "0.13.11",
+          "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz",
+          "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg=="
+        }
+      }
+    },
+    "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.3",
+        "js-tokens": "3.0.2"
+      },
+      "dependencies": {
+        "ansi-regex": {
+          "version": "2.1.1",
+          "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz",
+          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+          "dev": true
+        },
+        "ansi-styles": {
+          "version": "2.2.1",
+          "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-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.5",
+            "has-ansi": "2.0.0",
+            "strip-ansi": "3.0.1",
+            "supports-color": "2.0.0"
+          }
+        },
+        "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
+        },
+        "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=1573280549549&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-ansi%2Fdownload%2Fstrip-ansi-3.0.1.tgz",
+          "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+          "dev": true,
+          "requires": {
+            "ansi-regex": "2.1.1"
+          }
+        },
+        "supports-color": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz",
+          "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+          "dev": true
+        }
+      }
+    },
+    "babel-eslint": {
+      "version": "10.1.0",
+      "resolved": "https://registry.npm.taobao.org/babel-eslint/download/babel-eslint-10.1.0.tgz",
+      "integrity": "sha1-aWjlaKkQt4+zd5zdi2rC9HmUMjI=",
+      "dev": true,
+      "requires": {
+        "@babel/code-frame": "7.10.4",
+        "@babel/parser": "7.10.5",
+        "@babel/traverse": "7.10.5",
+        "@babel/types": "7.10.5",
+        "eslint-visitor-keys": "1.3.0",
+        "resolve": "1.17.0"
+      }
+    },
+    "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="
+    },
+    "babel-loader": {
+      "version": "8.1.0",
+      "resolved": "https://registry.npm.taobao.org/babel-loader/download/babel-loader-8.1.0.tgz?cache=0&sync_timestamp=1584715955375&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-loader%2Fdownload%2Fbabel-loader-8.1.0.tgz",
+      "integrity": "sha1-xhHVESvVIJq+i5+oTD5NolJ18cM=",
+      "requires": {
+        "find-cache-dir": "2.1.0",
+        "loader-utils": "1.4.0",
+        "mkdirp": "0.5.5",
+        "pify": "4.0.1",
+        "schema-utils": "2.7.0"
+      }
+    },
+    "babel-plugin-dynamic-import-node": {
+      "version": "2.3.3",
+      "resolved": "https://registry.npm.taobao.org/babel-plugin-dynamic-import-node/download/babel-plugin-dynamic-import-node-2.3.3.tgz",
+      "integrity": "sha1-hP2hnJduxcbe/vV/lCez3vZuF6M=",
+      "requires": {
+        "object.assign": "4.1.0"
+      }
+    },
+    "babel-runtime": {
+      "version": "6.26.0",
+      "resolved": "https://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.26.0.tgz",
+      "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+      "requires": {
+        "core-js": "2.6.11",
+        "regenerator-runtime": "0.11.1"
+      },
+      "dependencies": {
+        "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=1584052597708&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerator-runtime%2Fdownload%2Fregenerator-runtime-0.11.1.tgz",
+          "integrity": "sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk="
+        }
+      }
+    },
+    "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=",
+      "requires": {
+        "cache-base": "1.0.1",
+        "class-utils": "0.3.6",
+        "component-emitter": "1.3.0",
+        "define-property": "1.0.0",
+        "isobject": "3.0.1",
+        "mixin-deep": "1.3.2",
+        "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=",
+          "requires": {
+            "is-descriptor": "1.0.2"
+          }
+        },
+        "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=",
+          "requires": {
+            "kind-of": "6.0.3"
+          }
+        },
+        "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=",
+          "requires": {
+            "kind-of": "6.0.3"
+          }
+        },
+        "is-descriptor": {
+          "version": "1.0.2",
+          "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz",
+          "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=",
+          "requires": {
+            "is-accessor-descriptor": "1.0.0",
+            "is-data-descriptor": "1.0.0",
+            "kind-of": "6.0.3"
+          }
+        }
+      }
+    },
+    "base64-js": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npm.taobao.org/base64-js/download/base64-js-1.3.1.tgz",
+      "integrity": "sha1-WOzoy3XdB+ce0IxzarxfrE2/jfE="
+    },
+    "bfj": {
+      "version": "6.1.2",
+      "resolved": "https://registry.npm.taobao.org/bfj/download/bfj-6.1.2.tgz",
+      "integrity": "sha1-MlyGGoIryzWKQceKM7jm4ght3n8=",
+      "requires": {
+        "bluebird": "3.7.2",
+        "check-types": "8.0.3",
+        "hoopy": "0.1.4",
+        "tryer": "1.0.1"
+      }
+    },
+    "big.js": {
+      "version": "5.2.2",
+      "resolved": "https://registry.npm.taobao.org/big.js/download/big.js-5.2.2.tgz",
+      "integrity": "sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg="
+    },
+    "binary-extensions": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-2.1.0.tgz?cache=0&sync_timestamp=1593261309792&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-2.1.0.tgz",
+      "integrity": "sha1-MPpAyef+B9vIlWeM0ocCTeokHdk="
+    },
+    "bluebird": {
+      "version": "3.7.2",
+      "resolved": "https://registry.npm.taobao.org/bluebird/download/bluebird-3.7.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbluebird%2Fdownload%2Fbluebird-3.7.2.tgz",
+      "integrity": "sha1-nyKcFb4nJFT/qXOs4NvueaGww28="
+    },
+    "bn.js": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-5.1.2.tgz",
+      "integrity": "sha1-yWhpAtPJoncp9DqxD515wgBNp7A="
+    },
+    "body-parser": {
+      "version": "1.19.0",
+      "resolved": "https://registry.npm.taobao.org/body-parser/download/body-parser-1.19.0.tgz",
+      "integrity": "sha1-lrJwnlfJxOCab9Zqj9l5hE9p8Io=",
+      "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.18"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "2.6.9",
+          "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz",
+          "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
+          "requires": {
+            "ms": "2.0.0"
+          }
+        },
+        "ms": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz",
+          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+        }
+      }
+    },
+    "boolbase": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npm.taobao.org/boolbase/download/boolbase-1.0.0.tgz",
+      "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24="
+    },
+    "boxen": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npm.taobao.org/boxen/download/boxen-4.2.0.tgz",
+      "integrity": "sha1-5BG2I1fW1tNlh8isPV2XTaoHDmQ=",
+      "requires": {
+        "ansi-align": "3.0.0",
+        "camelcase": "5.3.1",
+        "chalk": "3.0.0",
+        "cli-boxes": "2.2.0",
+        "string-width": "4.2.0",
+        "term-size": "2.2.0",
+        "type-fest": "0.8.1",
+        "widest-line": "3.1.0"
+      },
+      "dependencies": {
+        "ansi-regex": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-5.0.0.tgz",
+          "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U="
+        },
+        "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",
+          "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0="
+        },
+        "string-width": {
+          "version": "4.2.0",
+          "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-4.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-4.2.0.tgz",
+          "integrity": "sha1-lSGCxGzHssMT0VluYjmSvRY7crU=",
+          "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=1573280549549&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"
+          }
+        },
+        "type-fest": {
+          "version": "0.8.1",
+          "resolved": "https://registry.npm.taobao.org/type-fest/download/type-fest-0.8.1.tgz?cache=0&sync_timestamp=1593290904787&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftype-fest%2Fdownload%2Ftype-fest-0.8.1.tgz",
+          "integrity": "sha1-CeJJ696FHTseSNJ8EFREZn8XuD0="
+        }
+      }
+    },
+    "brace-expansion": {
+      "version": "1.1.11",
+      "resolved": "https://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz",
+      "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=",
+      "requires": {
+        "balanced-match": "1.0.0",
+        "concat-map": "0.0.1"
+      }
+    },
+    "braces": {
+      "version": "2.3.2",
+      "resolved": "https://registry.npm.taobao.org/braces/download/braces-2.3.2.tgz",
+      "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=",
+      "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.3",
+        "snapdragon": "0.8.2",
+        "snapdragon-node": "2.1.1",
+        "split-string": "3.1.0",
+        "to-regex": "3.0.2"
+      },
+      "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=",
+          "requires": {
+            "is-extendable": "0.1.1"
+          }
+        }
+      }
+    },
+    "brorand": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npm.taobao.org/brorand/download/brorand-1.1.0.tgz",
+      "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8="
+    },
+    "browserify-aes": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npm.taobao.org/browserify-aes/download/browserify-aes-1.2.0.tgz",
+      "integrity": "sha1-Mmc0ZC9APavDADIJhTu3CtQo70g=",
+      "requires": {
+        "buffer-xor": "1.0.3",
+        "cipher-base": "1.0.4",
+        "create-hash": "1.2.0",
+        "evp_bytestokey": "1.0.3",
+        "inherits": "2.0.4",
+        "safe-buffer": "5.2.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=",
+      "requires": {
+        "browserify-aes": "1.2.0",
+        "browserify-des": "1.0.2",
+        "evp_bytestokey": "1.0.3"
+      }
+    },
+    "browserify-des": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npm.taobao.org/browserify-des/download/browserify-des-1.0.2.tgz",
+      "integrity": "sha1-OvTx9Zg5QDVy8cZiBDdfen9wPpw=",
+      "requires": {
+        "cipher-base": "1.0.4",
+        "des.js": "1.0.1",
+        "inherits": "2.0.4",
+        "safe-buffer": "5.2.1"
+      }
+    },
+    "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=",
+      "requires": {
+        "bn.js": "4.11.9",
+        "randombytes": "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="
+        }
+      }
+    },
+    "browserify-sign": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npm.taobao.org/browserify-sign/download/browserify-sign-4.2.0.tgz?cache=0&sync_timestamp=1589815295453&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrowserify-sign%2Fdownload%2Fbrowserify-sign-4.2.0.tgz",
+      "integrity": "sha1-VF0LGwfmssmSEQgr8bEsznoLDhE=",
+      "requires": {
+        "bn.js": "5.1.2",
+        "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.1"
+      }
+    },
+    "browserify-zlib": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npm.taobao.org/browserify-zlib/download/browserify-zlib-0.2.0.tgz",
+      "integrity": "sha1-KGlFnZqjviRf6P4sofRuLn9U1z8=",
+      "requires": {
+        "pako": "1.0.11"
+      }
+    },
+    "browserslist": {
+      "version": "4.13.0",
+      "resolved": "https://registry.npm.taobao.org/browserslist/download/browserslist-4.13.0.tgz",
+      "integrity": "sha1-QlVsugEeGwondbYRy6ao7KGOlA0=",
+      "requires": {
+        "caniuse-lite": "1.0.30001100",
+        "electron-to-chromium": "1.3.498",
+        "escalade": "3.0.2",
+        "node-releases": "1.1.59"
+      }
+    },
+    "buffer": {
+      "version": "4.9.2",
+      "resolved": "https://registry.npm.taobao.org/buffer/download/buffer-4.9.2.tgz?cache=0&sync_timestamp=1588706716358&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbuffer%2Fdownload%2Fbuffer-4.9.2.tgz",
+      "integrity": "sha1-Iw6tNEACmIZEhBqwJEr4xEu+Pvg=",
+      "requires": {
+        "base64-js": "1.3.1",
+        "ieee754": "1.1.13",
+        "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-json": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npm.taobao.org/buffer-json/download/buffer-json-2.0.0.tgz",
+      "integrity": "sha1-9z4TseQvGW/i/WfQAcfXEH7dfCM="
+    },
+    "buffer-xor": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npm.taobao.org/buffer-xor/download/buffer-xor-1.0.3.tgz",
+      "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk="
+    },
+    "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="
+    },
+    "bytes": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npm.taobao.org/bytes/download/bytes-3.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbytes%2Fdownload%2Fbytes-3.1.0.tgz",
+      "integrity": "sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY="
+    },
+    "cacache": {
+      "version": "13.0.1",
+      "resolved": "https://registry.npm.taobao.org/cacache/download/cacache-13.0.1.tgz?cache=0&sync_timestamp=1594428010987&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcacache%2Fdownload%2Fcacache-13.0.1.tgz",
+      "integrity": "sha1-qAAMIWlwiQgvhSh6GuxuOCAkpxw=",
+      "requires": {
+        "chownr": "1.1.4",
+        "figgy-pudding": "3.5.2",
+        "fs-minipass": "2.1.0",
+        "glob": "7.1.6",
+        "graceful-fs": "4.2.4",
+        "infer-owner": "1.0.4",
+        "lru-cache": "5.1.1",
+        "minipass": "3.1.3",
+        "minipass-collect": "1.0.2",
+        "minipass-flush": "1.0.5",
+        "minipass-pipeline": "1.2.3",
+        "mkdirp": "0.5.5",
+        "move-concurrently": "1.0.1",
+        "p-map": "3.0.0",
+        "promise-inflight": "1.0.1",
+        "rimraf": "2.7.1",
+        "ssri": "7.1.0",
+        "unique-filename": "1.1.1"
+      }
+    },
+    "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=",
+      "requires": {
+        "collection-visit": "1.0.0",
+        "component-emitter": "1.3.0",
+        "get-value": "2.0.6",
+        "has-value": "1.0.0",
+        "isobject": "3.0.1",
+        "set-value": "2.0.1",
+        "to-object-path": "0.3.0",
+        "union-value": "1.0.1",
+        "unset-value": "1.0.0"
+      }
+    },
+    "cache-loader": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npm.taobao.org/cache-loader/download/cache-loader-4.1.0.tgz",
+      "integrity": "sha1-mUjK41OuwKH8ser9ojAIFuyFOH4=",
+      "requires": {
+        "buffer-json": "2.0.0",
+        "find-cache-dir": "3.3.1",
+        "loader-utils": "1.4.0",
+        "mkdirp": "0.5.5",
+        "neo-async": "2.6.2",
+        "schema-utils": "2.7.0"
+      },
+      "dependencies": {
+        "find-cache-dir": {
+          "version": "3.3.1",
+          "resolved": "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-3.3.1.tgz?cache=0&sync_timestamp=1583734687174&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-cache-dir%2Fdownload%2Ffind-cache-dir-3.3.1.tgz",
+          "integrity": "sha1-ibM/rUpGcNqpT4Vff74x1thP6IA=",
+          "requires": {
+            "commondir": "1.0.1",
+            "make-dir": "3.1.0",
+            "pkg-dir": "4.2.0"
+          }
+        },
+        "find-up": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npm.taobao.org/find-up/download/find-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"
+          }
+        },
+        "make-dir": {
+          "version": "3.1.0",
+          "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-3.1.0.tgz?cache=0&sync_timestamp=1587567693680&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmake-dir%2Fdownload%2Fmake-dir-3.1.0.tgz",
+          "integrity": "sha1-QV6WcEazp/HRhSd9hKpYIDcmoT8=",
+          "requires": {
+            "semver": "6.3.0"
+          }
+        },
+        "p-locate": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-4.1.0.tgz",
+          "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=",
+          "requires": {
+            "p-limit": "2.3.0"
+          }
+        },
+        "path-exists": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-4.0.0.tgz",
+          "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM="
+        },
+        "pkg-dir": {
+          "version": "4.2.0",
+          "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-4.2.0.tgz",
+          "integrity": "sha1-8JkTPfft5CLoHR2ESCcO6z5CYfM=",
+          "requires": {
+            "find-up": "4.1.0"
+          }
+        },
+        "semver": {
+          "version": "6.3.0",
+          "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1586886301819&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz",
+          "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0="
+        }
+      }
+    },
+    "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?cache=0&sync_timestamp=1574395542397&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcaller-path%2Fdownload%2Fcaller-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": "4.1.1",
+      "resolved": "https://registry.npm.taobao.org/camel-case/download/camel-case-4.1.1.tgz",
+      "integrity": "sha1-H8QchU8A4vfQE53+uhVC1olv5Uc=",
+      "requires": {
+        "pascal-case": "3.1.1",
+        "tslib": "1.13.0"
+      }
+    },
+    "camelcase": {
+      "version": "5.3.1",
+      "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz",
+      "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA="
+    },
+    "caniuse-api": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npm.taobao.org/caniuse-api/download/caniuse-api-3.0.0.tgz",
+      "integrity": "sha1-Xk2Q4idJYdRikZl99Znj7QCO5MA=",
+      "requires": {
+        "browserslist": "4.13.0",
+        "caniuse-lite": "1.0.30001100",
+        "lodash.memoize": "4.1.2",
+        "lodash.uniq": "4.5.0"
+      }
+    },
+    "caniuse-lite": {
+      "version": "1.0.30001100",
+      "resolved": "https://registry.npm.taobao.org/caniuse-lite/download/caniuse-lite-1.0.30001100.tgz?cache=0&sync_timestamp=1594778749404&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcaniuse-lite%2Fdownload%2Fcaniuse-lite-1.0.30001100.tgz",
+      "integrity": "sha1-KlhhXgwBz3Fqs0myDKTYbvlEqk4="
+    },
+    "chalk": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-3.0.0.tgz",
+      "integrity": "sha1-P3PCv1JlkfV0zEksUeJFY0n4ROQ=",
+      "requires": {
+        "ansi-styles": "4.2.1",
+        "supports-color": "7.1.0"
+      },
+      "dependencies": {
+        "ansi-styles": {
+          "version": "4.2.1",
+          "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.2.1.tgz",
+          "integrity": "sha1-kK51xCTQCNJiTFvynq0xd+v881k=",
+          "requires": {
+            "@types/color-name": "1.1.1",
+            "color-convert": "2.0.1"
+          }
+        },
+        "color-convert": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npm.taobao.org/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.npm.taobao.org/color-name/download/color-name-1.1.4.tgz",
+          "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI="
+        },
+        "has-flag": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz",
+          "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s="
+        },
+        "supports-color": {
+          "version": "7.1.0",
+          "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.1.0.tgz",
+          "integrity": "sha1-aOMlkd9z4lrRxLSRCKLsUHliv9E=",
+          "requires": {
+            "has-flag": "4.0.0"
+          }
+        }
+      }
+    },
+    "chardet": {
+      "version": "0.7.0",
+      "resolved": "https://registry.npm.taobao.org/chardet/download/chardet-0.7.0.tgz?cache=0&sync_timestamp=1594010578131&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchardet%2Fdownload%2Fchardet-0.7.0.tgz",
+      "integrity": "sha1-kAlISfCTfy7twkJdDSip5fDLrZ4="
+    },
+    "check-types": {
+      "version": "8.0.3",
+      "resolved": "https://registry.npm.taobao.org/check-types/download/check-types-8.0.3.tgz",
+      "integrity": "sha1-M1bMoZyIlUTy16le1JzlCKDs9VI="
+    },
+    "chokidar": {
+      "version": "3.4.1",
+      "resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-3.4.1.tgz?cache=0&sync_timestamp=1594864755413&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-3.4.1.tgz",
+      "integrity": "sha1-6QW97PEOqgoLHbDGZEgcxMvCK6E=",
+      "requires": {
+        "anymatch": "3.1.1",
+        "braces": "3.0.2",
+        "glob-parent": "5.1.1",
+        "is-binary-path": "2.1.0",
+        "is-glob": "4.0.1",
+        "normalize-path": "3.0.0",
+        "readdirp": "3.4.0"
+      },
+      "dependencies": {
+        "braces": {
+          "version": "3.0.2",
+          "resolved": "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz",
+          "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=",
+          "requires": {
+            "fill-range": "7.0.1"
+          }
+        },
+        "fill-range": {
+          "version": "7.0.1",
+          "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz",
+          "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=",
+          "requires": {
+            "to-regex-range": "5.0.1"
+          }
+        },
+        "is-number": {
+          "version": "7.0.0",
+          "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz",
+          "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss="
+        },
+        "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=",
+          "requires": {
+            "is-number": "7.0.0"
+          }
+        }
+      }
+    },
+    "chownr": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npm.taobao.org/chownr/download/chownr-1.1.4.tgz",
+      "integrity": "sha1-b8nXtC0ypYNZYzdmbn0ICE2izGs="
+    },
+    "chrome-trace-event": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npm.taobao.org/chrome-trace-event/download/chrome-trace-event-1.0.2.tgz",
+      "integrity": "sha1-I0CQ7pfH1K0aLEvq4nUF3v/GCKQ=",
+      "requires": {
+        "tslib": "1.13.0"
+      }
+    },
+    "ci-info": {
+      "version": "1.6.0",
+      "resolved": "https://registry.npm.taobao.org/ci-info/download/ci-info-1.6.0.tgz",
+      "integrity": "sha1-LKINu5zrMtRSSmgzAzE/AwSx5Jc="
+    },
+    "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=",
+      "requires": {
+        "inherits": "2.0.4",
+        "safe-buffer": "5.2.1"
+      }
+    },
+    "circular-json": {
+      "version": "0.3.3",
+      "resolved": "https://registry.npm.taobao.org/circular-json/download/circular-json-0.3.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcircular-json%2Fdownload%2Fcircular-json-0.3.3.tgz",
+      "integrity": "sha1-gVyZ6oT2gJUp0vRXkb34JxE1LWY=",
+      "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=",
+      "requires": {
+        "arr-union": "3.1.0",
+        "define-property": "0.2.5",
+        "isobject": "3.0.1",
+        "static-extend": "0.1.2"
+      },
+      "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=",
+          "requires": {
+            "is-descriptor": "0.1.6"
+          }
+        }
+      }
+    },
+    "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=",
+      "requires": {
+        "source-map": "0.6.1"
+      },
+      "dependencies": {
+        "source-map": {
+          "version": "0.6.1",
+          "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz",
+          "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM="
+        }
+      }
+    },
+    "clean-stack": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npm.taobao.org/clean-stack/download/clean-stack-2.2.0.tgz?cache=0&sync_timestamp=1592035267586&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fclean-stack%2Fdownload%2Fclean-stack-2.2.0.tgz",
+      "integrity": "sha1-7oRy27Ep5yezHooQpCfe6d/kAIs="
+    },
+    "cli-boxes": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npm.taobao.org/cli-boxes/download/cli-boxes-2.2.0.tgz",
+      "integrity": "sha1-U47K6PnGylCOPDyVtFP+k8tMFo0="
+    },
+    "cli-cursor": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npm.taobao.org/cli-cursor/download/cli-cursor-3.1.0.tgz",
+      "integrity": "sha1-JkMFp65JDR0Dvwybp8kl0XU68wc=",
+      "requires": {
+        "restore-cursor": "3.1.0"
+      }
+    },
+    "cli-width": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npm.taobao.org/cli-width/download/cli-width-3.0.0.tgz?cache=0&sync_timestamp=1586877902436&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcli-width%2Fdownload%2Fcli-width-3.0.0.tgz",
+      "integrity": "sha1-ovSEN6LKqaIkNueUvwceyeYc7fY="
+    },
+    "co": {
+      "version": "4.6.0",
+      "resolved": "https://registry.npm.taobao.org/co/download/co-4.6.0.tgz",
+      "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
+      "dev": true
+    },
+    "coa": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npm.taobao.org/coa/download/coa-2.0.2.tgz",
+      "integrity": "sha1-Q/bCEVG07yv1cYfbDXPeIp4+fsM=",
+      "requires": {
+        "@types/q": "1.5.4",
+        "chalk": "2.4.2",
+        "q": "1.5.1"
+      },
+      "dependencies": {
+        "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.5.0"
+          }
+        }
+      }
+    },
+    "coalescy": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npm.taobao.org/coalescy/download/coalescy-1.0.0.tgz",
+      "integrity": "sha1-SwZYRrg2NhrabEtKSr9LwcrDG/E=",
+      "dev": true
+    },
+    "collection-visit": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npm.taobao.org/collection-visit/download/collection-visit-1.0.0.tgz",
+      "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
+      "requires": {
+        "map-visit": "1.0.0",
+        "object-visit": "1.0.1"
+      }
+    },
+    "color": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npm.taobao.org/color/download/color-3.1.2.tgz",
+      "integrity": "sha1-aBSOf4XUGtdknF+oyBBvCY0inhA=",
+      "requires": {
+        "color-convert": "1.9.3",
+        "color-string": "1.5.3"
+      }
+    },
+    "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": "1.5.3",
+      "resolved": "https://registry.npm.taobao.org/color-string/download/color-string-1.5.3.tgz",
+      "integrity": "sha1-ybvF8BtYtUkvPWhXRZy2WQziBMw=",
+      "requires": {
+        "color-name": "1.1.3",
+        "simple-swizzle": "0.2.2"
+      }
+    },
+    "colorette": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npm.taobao.org/colorette/download/colorette-1.2.1.tgz?cache=0&sync_timestamp=1593955826637&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcolorette%2Fdownload%2Fcolorette-1.2.1.tgz",
+      "integrity": "sha1-TQuSEyXBT6+SYzCGpTbbbolWSxs="
+    },
+    "commander": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npm.taobao.org/commander/download/commander-4.1.1.tgz?cache=0&sync_timestamp=1592632084115&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-4.1.1.tgz",
+      "integrity": "sha1-n9YCvZNilOnp70aj9NaWQESxgGg="
+    },
+    "commondir": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npm.taobao.org/commondir/download/commondir-1.0.1.tgz",
+      "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs="
+    },
+    "component-emitter": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npm.taobao.org/component-emitter/download/component-emitter-1.3.0.tgz",
+      "integrity": "sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A="
+    },
+    "compressible": {
+      "version": "2.0.18",
+      "resolved": "https://registry.npm.taobao.org/compressible/download/compressible-2.0.18.tgz",
+      "integrity": "sha1-r1PMprBw1MPAdQ+9dyhqbXzEb7o=",
+      "requires": {
+        "mime-db": "1.44.0"
+      }
+    },
+    "compression": {
+      "version": "1.7.4",
+      "resolved": "https://registry.npm.taobao.org/compression/download/compression-1.7.4.tgz",
+      "integrity": "sha1-lVI+/xcMpXwpoMpB5v4TH0Hlu48=",
+      "requires": {
+        "accepts": "1.3.7",
+        "bytes": "3.0.0",
+        "compressible": "2.0.18",
+        "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&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbytes%2Fdownload%2Fbytes-3.0.0.tgz",
+          "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg="
+        },
+        "debug": {
+          "version": "2.6.9",
+          "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz",
+          "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
+          "requires": {
+            "ms": "2.0.0"
+          }
+        },
+        "ms": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz",
+          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+        },
+        "safe-buffer": {
+          "version": "5.1.2",
+          "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz",
+          "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0="
+        }
+      }
+    },
+    "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",
+      "integrity": "sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ=",
+      "requires": {
+        "buffer-from": "1.1.1",
+        "inherits": "2.0.4",
+        "readable-stream": "2.3.7",
+        "typedarray": "0.0.6"
+      },
+      "dependencies": {
+        "readable-stream": {
+          "version": "2.3.7",
+          "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz",
+          "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=",
+          "requires": {
+            "core-util-is": "1.0.2",
+            "inherits": "2.0.4",
+            "isarray": "1.0.0",
+            "process-nextick-args": "2.0.1",
+            "safe-buffer": "5.1.2",
+            "string_decoder": "1.1.1",
+            "util-deprecate": "1.0.2"
+          }
+        },
+        "safe-buffer": {
+          "version": "5.1.2",
+          "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz",
+          "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0="
+        },
+        "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.2"
+          }
+        }
+      }
+    },
+    "connect": {
+      "version": "3.7.0",
+      "resolved": "https://registry.npm.taobao.org/connect/download/connect-3.7.0.tgz",
+      "integrity": "sha1-XUk0iRDKpeB6AYALAw0MNfIEhPg=",
+      "requires": {
+        "debug": "2.6.9",
+        "finalhandler": "1.1.2",
+        "parseurl": "1.3.3",
+        "utils-merge": "1.0.1"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "2.6.9",
+          "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz",
+          "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
+          "requires": {
+            "ms": "2.0.0"
+          }
+        },
+        "ms": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz",
+          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+        }
+      }
+    },
+    "consola": {
+      "version": "2.14.0",
+      "resolved": "https://registry.npm.taobao.org/consola/download/consola-2.14.0.tgz?cache=0&sync_timestamp=1593184005564&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconsola%2Fdownload%2Fconsola-2.14.0.tgz",
+      "integrity": "sha1-Fi7pA7bJxN4lB32T80q5AuvLTaw="
+    },
+    "console-browserify": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npm.taobao.org/console-browserify/download/console-browserify-1.2.0.tgz",
+      "integrity": "sha1-ZwY871fOts9Jk6KrOlWECujEkzY="
+    },
+    "consolidate": {
+      "version": "0.15.1",
+      "resolved": "https://registry.npm.taobao.org/consolidate/download/consolidate-0.15.1.tgz",
+      "integrity": "sha1-IasEMjXHGgfUXZqtmFk7DbpWurc=",
+      "requires": {
+        "bluebird": "3.7.2"
+      }
+    },
+    "constants-browserify": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npm.taobao.org/constants-browserify/download/constants-browserify-1.0.0.tgz",
+      "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U="
+    },
+    "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=",
+      "requires": {
+        "safe-buffer": "5.1.2"
+      },
+      "dependencies": {
+        "safe-buffer": {
+          "version": "5.1.2",
+          "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz",
+          "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0="
+        }
+      }
+    },
+    "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="
+    },
+    "convert-source-map": {
+      "version": "1.7.0",
+      "resolved": "https://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.7.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fconvert-source-map%2Fdownload%2Fconvert-source-map-1.7.0.tgz",
+      "integrity": "sha1-F6LLiC1/d9NJBYXizmxSRCSjpEI=",
+      "requires": {
+        "safe-buffer": "5.1.2"
+      },
+      "dependencies": {
+        "safe-buffer": {
+          "version": "5.1.2",
+          "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz",
+          "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0="
+        }
+      }
+    },
+    "cookie": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npm.taobao.org/cookie/download/cookie-0.4.0.tgz",
+      "integrity": "sha1-vrQ35wIrO21JAZ0IhmUwPr6cFLo="
+    },
+    "cookie-signature": {
+      "version": "1.0.6",
+      "resolved": "https://registry.npm.taobao.org/cookie-signature/download/cookie-signature-1.0.6.tgz",
+      "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
+    },
+    "copy-concurrently": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npm.taobao.org/copy-concurrently/download/copy-concurrently-1.0.5.tgz",
+      "integrity": "sha1-kilzmMrjSTf8r9bsgTnBgFHwteA=",
+      "requires": {
+        "aproba": "1.2.0",
+        "fs-write-stream-atomic": "1.0.10",
+        "iferr": "0.1.5",
+        "mkdirp": "0.5.5",
+        "rimraf": "2.7.1",
+        "run-queue": "1.0.3"
+      }
+    },
+    "copy-descriptor": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npm.taobao.org/copy-descriptor/download/copy-descriptor-0.1.1.tgz",
+      "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40="
+    },
+    "core-js": {
+      "version": "2.6.11",
+      "resolved": "https://registry.npm.taobao.org/core-js/download/core-js-2.6.11.tgz",
+      "integrity": "sha1-OIMUafmSK97Y7iHJ3EaYXgOZMIw="
+    },
+    "core-js-compat": {
+      "version": "3.6.5",
+      "resolved": "https://registry.npm.taobao.org/core-js-compat/download/core-js-compat-3.6.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcore-js-compat%2Fdownload%2Fcore-js-compat-3.6.5.tgz",
+      "integrity": "sha1-KlHZpOJd/W5pAlGqgfmePAVIHxw=",
+      "requires": {
+        "browserslist": "4.13.0",
+        "semver": "7.0.0"
+      },
+      "dependencies": {
+        "semver": {
+          "version": "7.0.0",
+          "resolved": "https://registry.npm.taobao.org/semver/download/semver-7.0.0.tgz?cache=0&sync_timestamp=1586886301819&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%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=1572710682964&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.14.0",
+        "parse-json": "4.0.0"
+      }
+    },
+    "create-ecdh": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npm.taobao.org/create-ecdh/download/create-ecdh-4.0.3.tgz",
+      "integrity": "sha1-yREbbzMEXEaX8UR4f5JUzcd8Rf8=",
+      "requires": {
+        "bn.js": "4.11.9",
+        "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="
+        }
+      }
+    },
+    "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=",
+      "requires": {
+        "cipher-base": "1.0.4",
+        "inherits": "2.0.4",
+        "md5.js": "1.3.5",
+        "ripemd160": "2.0.2",
+        "sha.js": "2.4.11"
+      }
+    },
+    "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=",
+      "requires": {
+        "cipher-base": "1.0.4",
+        "create-hash": "1.2.0",
+        "inherits": "2.0.4",
+        "ripemd160": "2.0.2",
+        "safe-buffer": "5.2.1",
+        "sha.js": "2.4.11"
+      }
+    },
+    "create-require": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npm.taobao.org/create-require/download/create-require-1.0.2.tgz?cache=0&sync_timestamp=1591969417716&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcreate-require%2Fdownload%2Fcreate-require-1.0.2.tgz",
+      "integrity": "sha1-A/l60IIoJuUGll84X9kDiPUFFiQ="
+    },
+    "cross-spawn": {
+      "version": "7.0.3",
+      "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-7.0.3.tgz?cache=0&sync_timestamp=1590421014780&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcross-spawn%2Fdownload%2Fcross-spawn-7.0.3.tgz",
+      "integrity": "sha1-9zqFudXUHQRVUcF34ogtSshXKKY=",
+      "requires": {
+        "path-key": "3.1.1",
+        "shebang-command": "2.0.0",
+        "which": "2.0.2"
+      }
+    },
+    "crypto-browserify": {
+      "version": "3.12.0",
+      "resolved": "https://registry.npm.taobao.org/crypto-browserify/download/crypto-browserify-3.12.0.tgz",
+      "integrity": "sha1-OWz58xN/A+S45TLFj2mCVOAPgOw=",
+      "requires": {
+        "browserify-cipher": "1.0.1",
+        "browserify-sign": "4.2.0",
+        "create-ecdh": "4.0.3",
+        "create-hash": "1.2.0",
+        "create-hmac": "1.1.7",
+        "diffie-hellman": "5.0.3",
+        "inherits": "2.0.4",
+        "pbkdf2": "3.1.1",
+        "public-encrypt": "4.0.3",
+        "randombytes": "2.1.0",
+        "randomfill": "1.0.4"
+      }
+    },
+    "css-blank-pseudo": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npm.taobao.org/css-blank-pseudo/download/css-blank-pseudo-0.1.4.tgz",
+      "integrity": "sha1-3979MlS/ioICeZNnTM81SDv8s8U=",
+      "requires": {
+        "postcss": "7.0.32"
+      }
+    },
+    "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="
+    },
+    "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=1582155004825&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-declaration-sorter%2Fdownload%2Fcss-declaration-sorter-4.0.1.tgz",
+      "integrity": "sha1-wZiUD2OnbX42wecQGLABchBUyyI=",
+      "requires": {
+        "postcss": "7.0.32",
+        "timsort": "0.3.0"
+      }
+    },
+    "css-has-pseudo": {
+      "version": "0.10.0",
+      "resolved": "https://registry.npm.taobao.org/css-has-pseudo/download/css-has-pseudo-0.10.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-has-pseudo%2Fdownload%2Fcss-has-pseudo-0.10.0.tgz",
+      "integrity": "sha1-PGQqs0yiQsWcQaEl35EFhB9pZu4=",
+      "requires": {
+        "postcss": "7.0.32",
+        "postcss-selector-parser": "5.0.0"
+      },
+      "dependencies": {
+        "cssesc": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npm.taobao.org/cssesc/download/cssesc-2.0.0.tgz",
+          "integrity": "sha1-OxO9G7HLNuG8taTc0n9UxdyzVwM="
+        },
+        "postcss-selector-parser": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-5.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-5.0.0.tgz",
+          "integrity": "sha1-JJBENWaXsztk8aj3yAki3d7nGVw=",
+          "requires": {
+            "cssesc": "2.0.0",
+            "indexes-of": "1.0.1",
+            "uniq": "1.0.1"
+          }
+        }
+      }
+    },
+    "css-loader": {
+      "version": "3.6.0",
+      "resolved": "https://registry.npm.taobao.org/css-loader/download/css-loader-3.6.0.tgz?cache=0&sync_timestamp=1592056924996&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcss-loader%2Fdownload%2Fcss-loader-3.6.0.tgz",
+      "integrity": "sha1-Lkssfm4tJ/jI8o9hv/zS5ske9kU=",
+      "requires": {
+        "camelcase": "5.3.1",
+        "cssesc": "3.0.0",
+        "icss-utils": "4.1.1",
+        "loader-utils": "1.4.0",
+        "normalize-path": "3.0.0",
+        "postcss": "7.0.32",
+        "postcss-modules-extract-imports": "2.0.0",
+        "postcss-modules-local-by-default": "3.0.2",
+        "postcss-modules-scope": "2.2.0",
+        "postcss-modules-values": "3.0.0",
+        "postcss-value-parser": "4.1.0",
+        "schema-utils": "2.7.0",
+        "semver": "6.3.0"
+      },
+      "dependencies": {
+        "semver": {
+          "version": "6.3.0",
+          "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1586886301819&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz",
+          "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0="
+        }
+      }
+    },
+    "css-prefers-color-scheme": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npm.taobao.org/css-prefers-color-scheme/download/css-prefers-color-scheme-3.1.1.tgz",
+      "integrity": "sha1-b4MKJxQZnU8NDQu4onkW7WXP8fQ=",
+      "requires": {
+        "postcss": "7.0.32"
+      }
+    },
+    "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=",
+      "requires": {
+        "boolbase": "1.0.0",
+        "css-what": "3.3.0",
+        "domutils": "1.7.0",
+        "nth-check": "1.0.2"
+      }
+    },
+    "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="
+    },
+    "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",
+      "integrity": "sha1-mL69YsTB2flg7DQM+fdSLjBwmiI=",
+      "requires": {
+        "mdn-data": "2.0.4",
+        "source-map": "0.6.1"
+      },
+      "dependencies": {
+        "source-map": {
+          "version": "0.6.1",
+          "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz",
+          "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM="
+        }
+      }
+    },
+    "css-what": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npm.taobao.org/css-what/download/css-what-3.3.0.tgz",
+      "integrity": "sha1-EP7Glqns4uWRrHctdZqsq6w4zTk="
+    },
+    "cssdb": {
+      "version": "4.4.0",
+      "resolved": "https://registry.npm.taobao.org/cssdb/download/cssdb-4.4.0.tgz",
+      "integrity": "sha1-O/LypowQ9cagir2SN4Mx7oA83bA="
+    },
+    "cssesc": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npm.taobao.org/cssesc/download/cssesc-3.0.0.tgz",
+      "integrity": "sha1-N3QZGZA7hoVl4cCep0dEXNGJg+4="
+    },
+    "cssnano": {
+      "version": "4.1.10",
+      "resolved": "https://registry.npm.taobao.org/cssnano/download/cssnano-4.1.10.tgz",
+      "integrity": "sha1-CsQfCxPRPUZUh+ERt3jULaYxuLI=",
+      "requires": {
+        "cosmiconfig": "5.2.1",
+        "cssnano-preset-default": "4.0.7",
+        "is-resolvable": "1.1.0",
+        "postcss": "7.0.32"
+      }
+    },
+    "cssnano-preset-default": {
+      "version": "4.0.7",
+      "resolved": "https://registry.npm.taobao.org/cssnano-preset-default/download/cssnano-preset-default-4.0.7.tgz",
+      "integrity": "sha1-UexmLM/KD4izltzZZ5zbkxvhf3Y=",
+      "requires": {
+        "css-declaration-sorter": "4.0.1",
+        "cssnano-util-raw-cache": "4.0.1",
+        "postcss": "7.0.32",
+        "postcss-calc": "7.0.2",
+        "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"
+      }
+    },
+    "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="
+    },
+    "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="
+    },
+    "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=",
+      "requires": {
+        "postcss": "7.0.32"
+      }
+    },
+    "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="
+    },
+    "csso": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npm.taobao.org/csso/download/csso-4.0.3.tgz?cache=0&sync_timestamp=1585052130344&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcsso%2Fdownload%2Fcsso-4.0.3.tgz",
+      "integrity": "sha1-DZmF3IUsfMKyys+74QeQFNGo6QM=",
+      "requires": {
+        "css-tree": "1.0.0-alpha.39"
+      },
+      "dependencies": {
+        "css-tree": {
+          "version": "1.0.0-alpha.39",
+          "resolved": "https://registry.npm.taobao.org/css-tree/download/css-tree-1.0.0-alpha.39.tgz",
+          "integrity": "sha1-K/8//huz93bPfu/ZHuXLp3oUnus=",
+          "requires": {
+            "mdn-data": "2.0.6",
+            "source-map": "0.6.1"
+          }
+        },
+        "mdn-data": {
+          "version": "2.0.6",
+          "resolved": "https://registry.npm.taobao.org/mdn-data/download/mdn-data-2.0.6.tgz",
+          "integrity": "sha1-hS3GD8ql2qLoz2yRicRA7T4EKXg="
+        },
+        "source-map": {
+          "version": "0.6.1",
+          "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz",
+          "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM="
+        }
+      }
+    },
+    "cuint": {
+      "version": "0.2.2",
+      "resolved": "https://registry.npm.taobao.org/cuint/download/cuint-0.2.2.tgz",
+      "integrity": "sha1-QICG1AlVDCYxFVYZ6fp7ytw7mRs="
+    },
+    "cyclist": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npm.taobao.org/cyclist/download/cyclist-1.0.1.tgz",
+      "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk="
+    },
+    "de-indent": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npm.taobao.org/de-indent/download/de-indent-1.0.2.tgz",
+      "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0="
+    },
+    "debug": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npm.taobao.org/debug/download/debug-4.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-4.1.1.tgz",
+      "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=",
+      "requires": {
+        "ms": "2.1.2"
+      }
+    },
+    "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="
+    },
+    "deep-is": {
+      "version": "0.1.3",
+      "resolved": "https://registry.npm.taobao.org/deep-is/download/deep-is-0.1.3.tgz",
+      "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
+      "dev": true
+    },
+    "deepmerge": {
+      "version": "4.2.2",
+      "resolved": "https://registry.npm.taobao.org/deepmerge/download/deepmerge-4.2.2.tgz",
+      "integrity": "sha1-RNLqNnm49NT/ujPwPYZfwee/SVU="
+    },
+    "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=",
+      "requires": {
+        "object-keys": "1.1.1"
+      }
+    },
+    "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=",
+      "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=",
+          "requires": {
+            "kind-of": "6.0.3"
+          }
+        },
+        "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=",
+          "requires": {
+            "kind-of": "6.0.3"
+          }
+        },
+        "is-descriptor": {
+          "version": "1.0.2",
+          "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz",
+          "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=",
+          "requires": {
+            "is-accessor-descriptor": "1.0.0",
+            "is-data-descriptor": "1.0.0",
+            "kind-of": "6.0.3"
+          }
+        }
+      }
+    },
+    "defu": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npm.taobao.org/defu/download/defu-2.0.4.tgz",
+      "integrity": "sha1-CWWaboeo/XF4vhO9Q+k1fr9tHEY="
+    },
+    "depd": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz",
+      "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
+    },
+    "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=",
+      "requires": {
+        "inherits": "2.0.4",
+        "minimalistic-assert": "1.0.1"
+      }
+    },
+    "destr": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npm.taobao.org/destr/download/destr-1.0.0.tgz?cache=0&sync_timestamp=1592481695971&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdestr%2Fdownload%2Fdestr-1.0.0.tgz",
+      "integrity": "sha1-xEXvC6rz5RptCFUdRT1vc/vaLcY="
+    },
+    "destroy": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npm.taobao.org/destroy/download/destroy-1.0.4.tgz",
+      "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
+    },
+    "detect-indent": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npm.taobao.org/detect-indent/download/detect-indent-5.0.0.tgz",
+      "integrity": "sha1-OHHMCmoALow+Wzz38zYmRnXwa50="
+    },
+    "diffie-hellman": {
+      "version": "5.0.3",
+      "resolved": "https://registry.npm.taobao.org/diffie-hellman/download/diffie-hellman-5.0.3.tgz",
+      "integrity": "sha1-QOjumPVaIUlgcUaSHGPhrl89KHU=",
+      "requires": {
+        "bn.js": "4.11.9",
+        "miller-rabin": "4.0.1",
+        "randombytes": "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="
+        }
+      }
+    },
+    "dimport": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npm.taobao.org/dimport/download/dimport-1.0.0.tgz",
+      "integrity": "sha1-1cCVZPYh57JLLjM8zN+bIwMBFkQ=",
+      "requires": {
+        "rewrite-imports": "2.0.3"
+      }
+    },
+    "dir-glob": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npm.taobao.org/dir-glob/download/dir-glob-3.0.1.tgz",
+      "integrity": "sha1-Vtv3PZkqSpO6FYT0U0Bj/S5BcX8=",
+      "requires": {
+        "path-type": "4.0.0"
+      }
+    },
+    "doctrine": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npm.taobao.org/doctrine/download/doctrine-2.1.0.tgz",
+      "integrity": "sha1-XNAfwQFiG0LEzX9dGmYkNxbT850=",
+      "dev": true,
+      "requires": {
+        "esutils": "2.0.3"
+      }
+    },
+    "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=",
+      "requires": {
+        "utila": "0.4.0"
+      }
+    },
+    "dom-serializer": {
+      "version": "0.2.2",
+      "resolved": "https://registry.npm.taobao.org/dom-serializer/download/dom-serializer-0.2.2.tgz?cache=0&sync_timestamp=1589067578490&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdom-serializer%2Fdownload%2Fdom-serializer-0.2.2.tgz",
+      "integrity": "sha1-GvuB9TNxcXXUeGVd68XjMtn5u1E=",
+      "requires": {
+        "domelementtype": "2.0.1",
+        "entities": "2.0.3"
+      },
+      "dependencies": {
+        "domelementtype": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npm.taobao.org/domelementtype/download/domelementtype-2.0.1.tgz",
+          "integrity": "sha1-H4vf6R9aeAYydOgDtL3O326U+U0="
+        }
+      }
+    },
+    "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=1593752811901&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomain-browser%2Fdownload%2Fdomain-browser-1.2.0.tgz",
+      "integrity": "sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto="
+    },
+    "domelementtype": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npm.taobao.org/domelementtype/download/domelementtype-1.3.1.tgz",
+      "integrity": "sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8="
+    },
+    "domhandler": {
+      "version": "2.4.2",
+      "resolved": "https://registry.npm.taobao.org/domhandler/download/domhandler-2.4.2.tgz",
+      "integrity": "sha1-iAUJfpM9ZehVRvcm1g9euItE+AM=",
+      "requires": {
+        "domelementtype": "1.3.1"
+      }
+    },
+    "domutils": {
+      "version": "1.7.0",
+      "resolved": "https://registry.npm.taobao.org/domutils/download/domutils-1.7.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomutils%2Fdownload%2Fdomutils-1.7.0.tgz",
+      "integrity": "sha1-Vuo0HoNOBuZ0ivehyyXaZ+qfjCo=",
+      "requires": {
+        "dom-serializer": "0.2.2",
+        "domelementtype": "1.3.1"
+      }
+    },
+    "dot-case": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npm.taobao.org/dot-case/download/dot-case-3.0.3.tgz",
+      "integrity": "sha1-IdO1Lvqroupf2odbsaqBJFIc9Ko=",
+      "requires": {
+        "no-case": "3.0.3",
+        "tslib": "1.13.0"
+      }
+    },
+    "dot-prop": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npm.taobao.org/dot-prop/download/dot-prop-5.2.0.tgz?cache=0&sync_timestamp=1572620677785&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdot-prop%2Fdownload%2Fdot-prop-5.2.0.tgz",
+      "integrity": "sha1-w07MKVVtxF8fTCJpe29JBODMT8s=",
+      "requires": {
+        "is-obj": "2.0.0"
+      }
+    },
+    "dotenv": {
+      "version": "8.2.0",
+      "resolved": "https://registry.npm.taobao.org/dotenv/download/dotenv-8.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdotenv%2Fdownload%2Fdotenv-8.2.0.tgz",
+      "integrity": "sha1-l+YZJZradQ7qPk6j4mvO6lQksWo="
+    },
+    "duplexer": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npm.taobao.org/duplexer/download/duplexer-0.1.1.tgz",
+      "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E="
+    },
+    "duplexify": {
+      "version": "3.7.1",
+      "resolved": "https://registry.npm.taobao.org/duplexify/download/duplexify-3.7.1.tgz",
+      "integrity": "sha1-Kk31MX9sz9kfhtb9JdjYoQO4gwk=",
+      "requires": {
+        "end-of-stream": "1.4.4",
+        "inherits": "2.0.4",
+        "readable-stream": "2.3.7",
+        "stream-shift": "1.0.1"
+      },
+      "dependencies": {
+        "readable-stream": {
+          "version": "2.3.7",
+          "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz",
+          "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=",
+          "requires": {
+            "core-util-is": "1.0.2",
+            "inherits": "2.0.4",
+            "isarray": "1.0.0",
+            "process-nextick-args": "2.0.1",
+            "safe-buffer": "5.1.2",
+            "string_decoder": "1.1.1",
+            "util-deprecate": "1.0.2"
+          }
+        },
+        "safe-buffer": {
+          "version": "5.1.2",
+          "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz",
+          "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0="
+        },
+        "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.2"
+          }
+        }
+      }
+    },
+    "ee-first": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz",
+      "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
+    },
+    "ejs": {
+      "version": "2.7.4",
+      "resolved": "https://registry.npm.taobao.org/ejs/download/ejs-2.7.4.tgz",
+      "integrity": "sha1-SGYSh1c9zFPjZsehrlLDoSDuybo="
+    },
+    "electron-to-chromium": {
+      "version": "1.3.498",
+      "resolved": "https://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.498.tgz?cache=0&sync_timestamp=1594798556178&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felectron-to-chromium%2Fdownload%2Felectron-to-chromium-1.3.498.tgz",
+      "integrity": "sha1-/XGIyKSdbQtd8d9VofGkvywXdFc="
+    },
+    "element-ui": {
+      "version": "2.13.2",
+      "resolved": "https://registry.npm.taobao.org/element-ui/download/element-ui-2.13.2.tgz?cache=0&sync_timestamp=1589795216634&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felement-ui%2Fdownload%2Felement-ui-2.13.2.tgz",
+      "integrity": "sha1-WCv0eqqqr+I+oZWPriF6aHrQZEc=",
+      "requires": {
+        "async-validator": "1.8.5",
+        "babel-helper-vue-jsx-merge-props": "2.0.3",
+        "deepmerge": "1.5.2",
+        "normalize-wheel": "1.0.1",
+        "resize-observer-polyfill": "1.5.1",
+        "throttle-debounce": "1.1.0"
+      },
+      "dependencies": {
+        "deepmerge": {
+          "version": "1.5.2",
+          "resolved": "https://registry.npm.taobao.org/deepmerge/download/deepmerge-1.5.2.tgz",
+          "integrity": "sha1-EEmdhohEza1P7ghC34x/bwyVp1M="
+        }
+      }
+    },
+    "elliptic": {
+      "version": "6.5.3",
+      "resolved": "https://registry.npm.taobao.org/elliptic/download/elliptic-6.5.3.tgz?cache=0&sync_timestamp=1592492789126&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felliptic%2Fdownload%2Felliptic-6.5.3.tgz",
+      "integrity": "sha1-y1nrLv2vc6C9eMzXAVpirW4Pk9Y=",
+      "requires": {
+        "bn.js": "4.11.9",
+        "brorand": "1.1.0",
+        "hash.js": "1.1.7",
+        "hmac-drbg": "1.0.1",
+        "inherits": "2.0.4",
+        "minimalistic-assert": "1.0.1",
+        "minimalistic-crypto-utils": "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="
+        }
+      }
+    },
+    "emoji-regex": {
+      "version": "8.0.0",
+      "resolved": "https://registry.npm.taobao.org/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="
+    },
+    "encodeurl": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.2.tgz",
+      "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
+    },
+    "end-of-stream": {
+      "version": "1.4.4",
+      "resolved": "https://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.4.tgz?cache=0&sync_timestamp=1569416272686&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fend-of-stream%2Fdownload%2Fend-of-stream-1.4.4.tgz",
+      "integrity": "sha1-WuZKX0UFe682JuwU2gyl5LJDHrA=",
+      "requires": {
+        "once": "1.4.0"
+      }
+    },
+    "enhanced-resolve": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npm.taobao.org/enhanced-resolve/download/enhanced-resolve-4.3.0.tgz?cache=0&sync_timestamp=1594803929114&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fenhanced-resolve%2Fdownload%2Fenhanced-resolve-4.3.0.tgz",
+      "integrity": "sha1-O4BvO/r8HsfeaVUe+TzKRsFwQSY=",
+      "requires": {
+        "graceful-fs": "4.2.4",
+        "memory-fs": "0.5.0",
+        "tapable": "1.1.3"
+      },
+      "dependencies": {
+        "memory-fs": {
+          "version": "0.5.0",
+          "resolved": "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.5.0.tgz?cache=0&sync_timestamp=1570537539012&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmemory-fs%2Fdownload%2Fmemory-fs-0.5.0.tgz",
+          "integrity": "sha1-MkwBKIuIZSlm0WHbd4OHIIRajjw=",
+          "requires": {
+            "errno": "0.1.7",
+            "readable-stream": "2.3.7"
+          }
+        },
+        "readable-stream": {
+          "version": "2.3.7",
+          "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz",
+          "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=",
+          "requires": {
+            "core-util-is": "1.0.2",
+            "inherits": "2.0.4",
+            "isarray": "1.0.0",
+            "process-nextick-args": "2.0.1",
+            "safe-buffer": "5.1.2",
+            "string_decoder": "1.1.1",
+            "util-deprecate": "1.0.2"
+          }
+        },
+        "safe-buffer": {
+          "version": "5.1.2",
+          "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz",
+          "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0="
+        },
+        "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.2"
+          }
+        }
+      }
+    },
+    "entities": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npm.taobao.org/entities/download/entities-2.0.3.tgz?cache=0&sync_timestamp=1591227405887&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fentities%2Fdownload%2Fentities-2.0.3.tgz",
+      "integrity": "sha1-XEh+V0Krk8Fau12iJ1m4WQ7AO38="
+    },
+    "errno": {
+      "version": "0.1.7",
+      "resolved": "https://registry.npm.taobao.org/errno/download/errno-0.1.7.tgz",
+      "integrity": "sha1-RoTXF3mtOa8Xfj8AeZb3xnyFJhg=",
+      "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=",
+      "requires": {
+        "stackframe": "1.2.0"
+      }
+    },
+    "es-abstract": {
+      "version": "1.17.6",
+      "resolved": "https://registry.npm.taobao.org/es-abstract/download/es-abstract-1.17.6.tgz",
+      "integrity": "sha1-kUIHFweFeyysx7iey2cDFsPi1So=",
+      "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.0",
+        "is-regex": "1.1.0",
+        "object-inspect": "1.8.0",
+        "object-keys": "1.1.1",
+        "object.assign": "4.1.0",
+        "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?cache=0&sync_timestamp=1573280919382&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fes-to-primitive%2Fdownload%2Fes-to-primitive-1.2.1.tgz",
+      "integrity": "sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo=",
+      "requires": {
+        "is-callable": "1.2.0",
+        "is-date-object": "1.0.2",
+        "is-symbol": "1.0.3"
+      }
+    },
+    "es6-object-assign": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npm.taobao.org/es6-object-assign/download/es6-object-assign-1.1.0.tgz",
+      "integrity": "sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw="
+    },
+    "escalade": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npm.taobao.org/escalade/download/escalade-3.0.2.tgz?cache=0&sync_timestamp=1594742951012&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescalade%2Fdownload%2Fescalade-3.0.2.tgz",
+      "integrity": "sha1-algNcO24eIDyK0yR0NVgeN9pYsQ="
+    },
+    "escape-html": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz",
+      "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
+    },
+    "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="
+    },
+    "eslint": {
+      "version": "4.19.1",
+      "resolved": "https://registry.npm.taobao.org/eslint/download/eslint-4.19.1.tgz?cache=0&sync_timestamp=1593807226047&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint%2Fdownload%2Feslint-4.19.1.tgz",
+      "integrity": "sha1-MtHWU+HZBAiFS/spbwdux+GGowA=",
+      "dev": true,
+      "requires": {
+        "ajv": "5.5.2",
+        "babel-code-frame": "6.26.0",
+        "chalk": "2.4.2",
+        "concat-stream": "1.6.2",
+        "cross-spawn": "5.1.0",
+        "debug": "3.2.6",
+        "doctrine": "2.1.0",
+        "eslint-scope": "3.7.3",
+        "eslint-visitor-keys": "1.3.0",
+        "espree": "3.5.4",
+        "esquery": "1.3.1",
+        "esutils": "2.0.3",
+        "file-entry-cache": "2.0.0",
+        "functional-red-black-tree": "1.0.1",
+        "glob": "7.1.6",
+        "globals": "11.12.0",
+        "ignore": "3.3.10",
+        "imurmurhash": "0.1.4",
+        "inquirer": "3.3.0",
+        "is-resolvable": "1.1.0",
+        "js-yaml": "3.14.0",
+        "json-stable-stringify-without-jsonify": "1.0.1",
+        "levn": "0.3.0",
+        "lodash": "4.17.19",
+        "minimatch": "3.0.4",
+        "mkdirp": "0.5.5",
+        "natural-compare": "1.4.0",
+        "optionator": "0.8.3",
+        "path-is-inside": "1.0.2",
+        "pluralize": "7.0.0",
+        "progress": "2.0.3",
+        "regexpp": "1.1.0",
+        "require-uncached": "1.0.3",
+        "semver": "5.7.1",
+        "strip-ansi": "4.0.0",
+        "strip-json-comments": "2.0.1",
+        "table": "4.0.2",
+        "text-table": "0.2.0"
+      },
+      "dependencies": {
+        "ajv": {
+          "version": "5.5.2",
+          "resolved": "https://registry.npm.taobao.org/ajv/download/ajv-5.5.2.tgz?cache=0&sync_timestamp=1593876872665&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.1.0",
+            "fast-json-stable-stringify": "2.1.0",
+            "json-schema-traverse": "0.3.1"
+          }
+        },
+        "ansi-escapes": {
+          "version": "3.2.0",
+          "resolved": "https://registry.npm.taobao.org/ansi-escapes/download/ansi-escapes-3.2.0.tgz?cache=0&sync_timestamp=1583072820951&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-escapes%2Fdownload%2Fansi-escapes-3.2.0.tgz",
+          "integrity": "sha1-h4C5j/nb9WOBUtHx/lwde0RCl2s=",
+          "dev": true
+        },
+        "chalk": {
+          "version": "2.4.2",
+          "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz",
+          "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "3.2.1",
+            "escape-string-regexp": "1.0.5",
+            "supports-color": "5.5.0"
+          }
+        },
+        "chardet": {
+          "version": "0.4.2",
+          "resolved": "https://registry.npm.taobao.org/chardet/download/chardet-0.4.2.tgz?cache=0&sync_timestamp=1594010578131&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchardet%2Fdownload%2Fchardet-0.4.2.tgz",
+          "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=",
+          "dev": true
+        },
+        "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-width": {
+          "version": "2.2.1",
+          "resolved": "https://registry.npm.taobao.org/cli-width/download/cli-width-2.2.1.tgz?cache=0&sync_timestamp=1586877902436&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcli-width%2Fdownload%2Fcli-width-2.2.1.tgz",
+          "integrity": "sha1-sEM9C06chH7xiGik7xb9X8gnHEg=",
+          "dev": true
+        },
+        "cross-spawn": {
+          "version": "5.1.0",
+          "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-5.1.0.tgz?cache=0&sync_timestamp=1590421014780&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcross-spawn%2Fdownload%2Fcross-spawn-5.1.0.tgz",
+          "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
+          "dev": true,
+          "requires": {
+            "lru-cache": "4.1.5",
+            "shebang-command": "1.2.0",
+            "which": "1.3.1"
+          }
+        },
+        "debug": {
+          "version": "3.2.6",
+          "resolved": "https://registry.npm.taobao.org/debug/download/debug-3.2.6.tgz?cache=0&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.2"
+          }
+        },
+        "eslint-scope": {
+          "version": "3.7.3",
+          "resolved": "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-3.7.3.tgz",
+          "integrity": "sha1-u1ByANPRf2AkdjYWC0gmKEsQhTU=",
+          "dev": true,
+          "requires": {
+            "esrecurse": "4.2.1",
+            "estraverse": "4.3.0"
+          }
+        },
+        "external-editor": {
+          "version": "2.2.0",
+          "resolved": "https://registry.npm.taobao.org/external-editor/download/external-editor-2.2.0.tgz",
+          "integrity": "sha1-BFURz9jRM/OEZnPRBHwVTiFK09U=",
+          "dev": true,
+          "requires": {
+            "chardet": "0.4.2",
+            "iconv-lite": "0.4.24",
+            "tmp": "0.0.33"
+          }
+        },
+        "fast-deep-equal": {
+          "version": "1.1.0",
+          "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-1.1.0.tgz?cache=0&sync_timestamp=1591599604098&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-deep-equal%2Fdownload%2Ffast-deep-equal-1.1.0.tgz",
+          "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=",
+          "dev": true
+        },
+        "figures": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npm.taobao.org/figures/download/figures-2.0.0.tgz",
+          "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
+          "dev": true,
+          "requires": {
+            "escape-string-regexp": "1.0.5"
+          }
+        },
+        "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
+        },
+        "inquirer": {
+          "version": "3.3.0",
+          "resolved": "https://registry.npm.taobao.org/inquirer/download/inquirer-3.3.0.tgz",
+          "integrity": "sha1-ndLyrXZdyrH/BEO0kUQqILoifck=",
+          "dev": true,
+          "requires": {
+            "ansi-escapes": "3.2.0",
+            "chalk": "2.4.2",
+            "cli-cursor": "2.1.0",
+            "cli-width": "2.2.1",
+            "external-editor": "2.2.0",
+            "figures": "2.0.0",
+            "lodash": "4.17.19",
+            "mute-stream": "0.0.7",
+            "run-async": "2.4.1",
+            "rx-lite": "4.0.8",
+            "rx-lite-aggregates": "4.0.8",
+            "string-width": "2.1.1",
+            "strip-ansi": "4.0.0",
+            "through": "2.3.8"
+          }
+        },
+        "json-schema-traverse": {
+          "version": "0.3.1",
+          "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.3.1.tgz",
+          "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
+          "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=1594427602316&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"
+          }
+        },
+        "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=1560442058146&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmimic-fn%2Fdownload%2Fmimic-fn-1.2.0.tgz",
+          "integrity": "sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI=",
+          "dev": true
+        },
+        "mute-stream": {
+          "version": "0.0.7",
+          "resolved": "https://registry.npm.taobao.org/mute-stream/download/mute-stream-0.0.7.tgz",
+          "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=",
+          "dev": true
+        },
+        "onetime": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npm.taobao.org/onetime/download/onetime-2.0.1.tgz",
+          "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
+          "dev": true,
+          "requires": {
+            "mimic-fn": "1.2.0"
+          }
+        },
+        "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.1",
+            "signal-exit": "3.0.3"
+          }
+        },
+        "semver": {
+          "version": "5.7.1",
+          "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1586886301819&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz",
+          "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=",
+          "dev": true
+        },
+        "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
+        },
+        "which": {
+          "version": "1.3.1",
+          "resolved": "https://registry.npm.taobao.org/which/download/which-1.3.1.tgz?cache=0&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"
+          }
+        },
+        "yallist": {
+          "version": "2.1.2",
+          "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz?cache=0&sync_timestamp=1569874170379&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyallist%2Fdownload%2Fyallist-2.1.2.tgz",
+          "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
+          "dev": true
+        }
+      }
+    },
+    "eslint-friendly-formatter": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npm.taobao.org/eslint-friendly-formatter/download/eslint-friendly-formatter-4.0.1.tgz",
+      "integrity": "sha1-J9UE3IN/fK3b8gGy6EpO5zC6Pvo=",
+      "dev": true,
+      "requires": {
+        "chalk": "2.4.2",
+        "coalescy": "1.0.0",
+        "extend": "3.0.2",
+        "minimist": "1.2.5",
+        "strip-ansi": "4.0.0",
+        "text-table": "0.2.0"
+      },
+      "dependencies": {
+        "chalk": {
+          "version": "2.4.2",
+          "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz",
+          "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "3.2.1",
+            "escape-string-regexp": "1.0.5",
+            "supports-color": "5.5.0"
+          }
+        }
+      }
+    },
+    "eslint-loader": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npm.taobao.org/eslint-loader/download/eslint-loader-2.2.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-loader%2Fdownload%2Feslint-loader-2.2.1.tgz",
+      "integrity": "sha1-KLnBLaVAV68IReKmEScBova/gzc=",
+      "dev": true,
+      "requires": {
+        "loader-fs-cache": "1.0.3",
+        "loader-utils": "1.4.0",
+        "object-assign": "4.1.1",
+        "object-hash": "1.3.1",
+        "rimraf": "2.7.1"
+      }
+    },
+    "eslint-plugin-vue": {
+      "version": "4.7.1",
+      "resolved": "https://registry.npm.taobao.org/eslint-plugin-vue/download/eslint-plugin-vue-4.7.1.tgz?cache=0&sync_timestamp=1594779480993&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-plugin-vue%2Fdownload%2Feslint-plugin-vue-4.7.1.tgz",
+      "integrity": "sha1-yCm5/GJYLBiXtaC5Sv1E7MpRHmM=",
+      "dev": true,
+      "requires": {
+        "vue-eslint-parser": "2.0.3"
+      }
+    },
+    "eslint-scope": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-4.0.3.tgz",
+      "integrity": "sha1-ygODMxD2iJoyZHgaqC5j65z+eEg=",
+      "requires": {
+        "esrecurse": "4.2.1",
+        "estraverse": "4.3.0"
+      }
+    },
+    "eslint-visitor-keys": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npm.taobao.org/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz?cache=0&sync_timestamp=1592583377772&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-visitor-keys%2Fdownload%2Feslint-visitor-keys-1.3.0.tgz",
+      "integrity": "sha1-MOvR73wv3/AcOk8VEESvJfqwUj4=",
+      "dev": true
+    },
+    "esm": {
+      "version": "3.2.25",
+      "resolved": "https://registry.npm.taobao.org/esm/download/esm-3.2.25.tgz",
+      "integrity": "sha1-NCwYwp1WFXaIulzjH4Qx+7eVzBA="
+    },
+    "espree": {
+      "version": "3.5.4",
+      "resolved": "https://registry.npm.taobao.org/espree/download/espree-3.5.4.tgz?cache=0&sync_timestamp=1591269414186&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fespree%2Fdownload%2Fespree-3.5.4.tgz",
+      "integrity": "sha1-sPRHGHyKi+2US4FaZgvd9d610ac=",
+      "dev": true,
+      "requires": {
+        "acorn": "5.7.4",
+        "acorn-jsx": "3.0.1"
+      },
+      "dependencies": {
+        "acorn": {
+          "version": "5.7.4",
+          "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-5.7.4.tgz?cache=0&sync_timestamp=1591869432510&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn%2Fdownload%2Facorn-5.7.4.tgz",
+          "integrity": "sha1-Po2KmUfQWZoXltECJddDL0pKz14=",
+          "dev": true
+        }
+      }
+    },
+    "esprima": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz",
+      "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE="
+    },
+    "esquery": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npm.taobao.org/esquery/download/esquery-1.3.1.tgz",
+      "integrity": "sha1-t4tYKKqOIU4p+3TE1bdS4cAz2lc=",
+      "dev": true,
+      "requires": {
+        "estraverse": "5.1.0"
+      },
+      "dependencies": {
+        "estraverse": {
+          "version": "5.1.0",
+          "resolved": "https://registry.npm.taobao.org/estraverse/download/estraverse-5.1.0.tgz",
+          "integrity": "sha1-N0MJ05/ZNa5QDnuS6Ka0xyDllkI=",
+          "dev": true
+        }
+      }
+    },
+    "esrecurse": {
+      "version": "4.2.1",
+      "resolved": "https://registry.npm.taobao.org/esrecurse/download/esrecurse-4.2.1.tgz",
+      "integrity": "sha1-AHo7n9vCs7uH5IeeoZyS/b05Qs8=",
+      "requires": {
+        "estraverse": "4.3.0"
+      }
+    },
+    "estraverse": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npm.taobao.org/estraverse/download/estraverse-4.3.0.tgz",
+      "integrity": "sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0="
+    },
+    "esutils": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npm.taobao.org/esutils/download/esutils-2.0.3.tgz?cache=0&sync_timestamp=1564535520945&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fesutils%2Fdownload%2Fesutils-2.0.3.tgz",
+      "integrity": "sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q="
+    },
+    "etag": {
+      "version": "1.8.1",
+      "resolved": "https://registry.npm.taobao.org/etag/download/etag-1.8.1.tgz",
+      "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
+    },
+    "eventemitter3": {
+      "version": "4.0.7",
+      "resolved": "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-4.0.7.tgz",
+      "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw=="
+    },
+    "events": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npm.taobao.org/events/download/events-3.1.0.tgz",
+      "integrity": "sha1-hCea8bNMt1qoi/X/KR9tC9mzGlk="
+    },
+    "eventsource-polyfill": {
+      "version": "0.9.6",
+      "resolved": "https://registry.npm.taobao.org/eventsource-polyfill/download/eventsource-polyfill-0.9.6.tgz",
+      "integrity": "sha1-EODRh/ERsWfyj9q5GIQ859gY8Tw="
+    },
+    "evp_bytestokey": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npm.taobao.org/evp_bytestokey/download/evp_bytestokey-1.0.3.tgz",
+      "integrity": "sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI=",
+      "requires": {
+        "md5.js": "1.3.5",
+        "safe-buffer": "5.2.1"
+      }
+    },
+    "execa": {
+      "version": "3.4.0",
+      "resolved": "https://registry.npm.taobao.org/execa/download/execa-3.4.0.tgz?cache=0&sync_timestamp=1594145067982&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexeca%2Fdownload%2Fexeca-3.4.0.tgz",
+      "integrity": "sha1-wI7UVQ72XYWPrCaf/IVyRG8364k=",
+      "requires": {
+        "cross-spawn": "7.0.3",
+        "get-stream": "5.1.0",
+        "human-signals": "1.1.1",
+        "is-stream": "2.0.0",
+        "merge-stream": "2.0.0",
+        "npm-run-path": "4.0.1",
+        "onetime": "5.1.0",
+        "p-finally": "2.0.1",
+        "signal-exit": "3.0.3",
+        "strip-final-newline": "2.0.0"
+      }
+    },
+    "exit": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npm.taobao.org/exit/download/exit-0.1.2.tgz",
+      "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw="
+    },
+    "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=",
+      "requires": {
+        "debug": "2.6.9",
+        "define-property": "0.2.5",
+        "extend-shallow": "2.0.1",
+        "posix-character-classes": "0.1.1",
+        "regex-not": "1.0.2",
+        "snapdragon": "0.8.2",
+        "to-regex": "3.0.2"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "2.6.9",
+          "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz",
+          "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
+          "requires": {
+            "ms": "2.0.0"
+          }
+        },
+        "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=",
+          "requires": {
+            "is-descriptor": "0.1.6"
+          }
+        },
+        "extend-shallow": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz",
+          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+          "requires": {
+            "is-extendable": "0.1.1"
+          }
+        },
+        "ms": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz",
+          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+        }
+      }
+    },
+    "express": {
+      "version": "4.17.1",
+      "resolved": "https://registry.npm.taobao.org/express/download/express-4.17.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fexpress%2Fdownload%2Fexpress-4.17.1.tgz",
+      "integrity": "sha1-RJH8OGBc9R+GKdOcK10Cb5ikwTQ=",
+      "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.6",
+        "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"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "2.6.9",
+          "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz",
+          "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
+          "requires": {
+            "ms": "2.0.0"
+          }
+        },
+        "ms": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz",
+          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+        },
+        "safe-buffer": {
+          "version": "5.1.2",
+          "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz",
+          "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0="
+        }
+      }
+    },
+    "extend": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npm.taobao.org/extend/download/extend-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=",
+      "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=",
+          "requires": {
+            "is-plain-object": "2.0.4"
+          }
+        }
+      }
+    },
+    "external-editor": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npm.taobao.org/external-editor/download/external-editor-3.1.0.tgz",
+      "integrity": "sha1-ywP3QL764D6k0oPK7SdBqD8zVJU=",
+      "requires": {
+        "chardet": "0.7.0",
+        "iconv-lite": "0.4.24",
+        "tmp": "0.0.33"
+      }
+    },
+    "extglob": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npm.taobao.org/extglob/download/extglob-2.0.4.tgz",
+      "integrity": "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=",
+      "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.2",
+        "snapdragon": "0.8.2",
+        "to-regex": "3.0.2"
+      },
+      "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=",
+          "requires": {
+            "is-descriptor": "1.0.2"
+          }
+        },
+        "extend-shallow": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz",
+          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+          "requires": {
+            "is-extendable": "0.1.1"
+          }
+        },
+        "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=",
+          "requires": {
+            "kind-of": "6.0.3"
+          }
+        },
+        "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=",
+          "requires": {
+            "kind-of": "6.0.3"
+          }
+        },
+        "is-descriptor": {
+          "version": "1.0.2",
+          "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz",
+          "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=",
+          "requires": {
+            "is-accessor-descriptor": "1.0.0",
+            "is-data-descriptor": "1.0.0",
+            "kind-of": "6.0.3"
+          }
+        }
+      }
+    },
+    "extract-css-chunks-webpack-plugin": {
+      "version": "4.7.5",
+      "resolved": "https://registry.npm.taobao.org/extract-css-chunks-webpack-plugin/download/extract-css-chunks-webpack-plugin-4.7.5.tgz",
+      "integrity": "sha1-2F6/Cq8zZvlCUC7O0nVxHXK9S6k=",
+      "requires": {
+        "loader-utils": "2.0.0",
+        "normalize-url": "1.9.1",
+        "schema-utils": "1.0.0",
+        "webpack-external-import": "2.2.4",
+        "webpack-sources": "1.4.3"
+      },
+      "dependencies": {
+        "loader-utils": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-2.0.0.tgz?cache=0&sync_timestamp=1584445172927&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floader-utils%2Fdownload%2Floader-utils-2.0.0.tgz",
+          "integrity": "sha1-5MrOW4FtQloWa18JfhDNErNgZLA=",
+          "requires": {
+            "big.js": "5.2.2",
+            "emojis-list": "3.0.0",
+            "json5": "2.1.3"
+          }
+        },
+        "normalize-url": {
+          "version": "1.9.1",
+          "resolved": "https://registry.npm.taobao.org/normalize-url/download/normalize-url-1.9.1.tgz",
+          "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=",
+          "requires": {
+            "object-assign": "4.1.1",
+            "prepend-http": "1.0.4",
+            "query-string": "4.3.4",
+            "sort-keys": "1.1.2"
+          }
+        },
+        "schema-utils": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz",
+          "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=",
+          "requires": {
+            "ajv": "6.12.3",
+            "ajv-errors": "1.0.1",
+            "ajv-keywords": "3.5.1"
+          }
+        }
+      }
+    },
+    "fast-deep-equal": {
+      "version": "3.1.3",
+      "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz?cache=0&sync_timestamp=1591599604098&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-deep-equal%2Fdownload%2Ffast-deep-equal-3.1.3.tgz",
+      "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU="
+    },
+    "fast-glob": {
+      "version": "3.2.4",
+      "resolved": "https://registry.npm.taobao.org/fast-glob/download/fast-glob-3.2.4.tgz?cache=0&sync_timestamp=1592290276588&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-glob%2Fdownload%2Ffast-glob-3.2.4.tgz",
+      "integrity": "sha1-0grvv5lXk4Pn88xmUpFYybmFVNM=",
+      "requires": {
+        "@nodelib/fs.stat": "2.0.3",
+        "@nodelib/fs.walk": "1.2.4",
+        "glob-parent": "5.1.1",
+        "merge2": "1.4.1",
+        "micromatch": "4.0.2",
+        "picomatch": "2.2.2"
+      },
+      "dependencies": {
+        "braces": {
+          "version": "3.0.2",
+          "resolved": "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz",
+          "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=",
+          "requires": {
+            "fill-range": "7.0.1"
+          }
+        },
+        "fill-range": {
+          "version": "7.0.1",
+          "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz",
+          "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=",
+          "requires": {
+            "to-regex-range": "5.0.1"
+          }
+        },
+        "is-number": {
+          "version": "7.0.0",
+          "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz",
+          "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss="
+        },
+        "micromatch": {
+          "version": "4.0.2",
+          "resolved": "https://registry.npm.taobao.org/micromatch/download/micromatch-4.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmicromatch%2Fdownload%2Fmicromatch-4.0.2.tgz",
+          "integrity": "sha1-T8sJmb+fvC/L3SEvbWKbmlbDklk=",
+          "requires": {
+            "braces": "3.0.2",
+            "picomatch": "2.2.2"
+          }
+        },
+        "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=",
+          "requires": {
+            "is-number": "7.0.0"
+          }
+        }
+      }
+    },
+    "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="
+    },
+    "fast-levenshtein": {
+      "version": "2.0.6",
+      "resolved": "https://registry.npm.taobao.org/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz",
+      "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
+      "dev": true
+    },
+    "fastq": {
+      "version": "1.8.0",
+      "resolved": "https://registry.npm.taobao.org/fastq/download/fastq-1.8.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffastq%2Fdownload%2Ffastq-1.8.0.tgz",
+      "integrity": "sha1-VQ4fn1m7xl/hhctqm02VNXEH9IE=",
+      "requires": {
+        "reusify": "1.0.4"
+      }
+    },
+    "figgy-pudding": {
+      "version": "3.5.2",
+      "resolved": "https://registry.npm.taobao.org/figgy-pudding/download/figgy-pudding-3.5.2.tgz",
+      "integrity": "sha1-tO7oFIq7Adzx0aw0Nn1Z4S+mHW4="
+    },
+    "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-entry-cache": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npm.taobao.org/file-entry-cache/download/file-entry-cache-2.0.0.tgz",
+      "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=",
+      "dev": true,
+      "requires": {
+        "flat-cache": "1.3.4",
+        "object-assign": "4.1.1"
+      }
+    },
+    "file-loader": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npm.taobao.org/file-loader/download/file-loader-4.3.0.tgz",
+      "integrity": "sha1-eA8ED3KbPRgBnyBgX3I+hEuKWK8=",
+      "requires": {
+        "loader-utils": "1.4.0",
+        "schema-utils": "2.7.0"
+      }
+    },
+    "filesize": {
+      "version": "3.6.1",
+      "resolved": "https://registry.npm.taobao.org/filesize/download/filesize-3.6.1.tgz?cache=0&sync_timestamp=1582340747604&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffilesize%2Fdownload%2Ffilesize-3.6.1.tgz",
+      "integrity": "sha1-CQuz7gG2+AGoqL6Z0xcQs0Irsxc="
+    },
+    "fill-range": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-4.0.0.tgz",
+      "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+      "requires": {
+        "extend-shallow": "2.0.1",
+        "is-number": "3.0.0",
+        "repeat-string": "1.6.1",
+        "to-regex-range": "2.1.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=",
+          "requires": {
+            "is-extendable": "0.1.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=",
+      "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"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "2.6.9",
+          "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz",
+          "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
+          "requires": {
+            "ms": "2.0.0"
+          }
+        },
+        "ms": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz",
+          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+        }
+      }
+    },
+    "find-cache-dir": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-2.1.0.tgz?cache=0&sync_timestamp=1583734687174&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-cache-dir%2Fdownload%2Ffind-cache-dir-2.1.0.tgz",
+      "integrity": "sha1-jQ+UzRP+Q8bHwmGg2GEVypGMBfc=",
+      "requires": {
+        "commondir": "1.0.1",
+        "make-dir": "2.1.0",
+        "pkg-dir": "3.0.0"
+      }
+    },
+    "find-up": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz",
+      "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=",
+      "requires": {
+        "locate-path": "3.0.0"
+      }
+    },
+    "flat": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npm.taobao.org/flat/download/flat-5.0.0.tgz",
+      "integrity": "sha1-2rfXHWBBO+ywrC3pv0MESV469q8=",
+      "requires": {
+        "is-buffer": "2.0.4"
+      },
+      "dependencies": {
+        "is-buffer": {
+          "version": "2.0.4",
+          "resolved": "https://registry.npm.taobao.org/is-buffer/download/is-buffer-2.0.4.tgz",
+          "integrity": "sha1-PlcvI8hBGlz9lVfISeNmXgspBiM="
+        }
+      }
+    },
+    "flat-cache": {
+      "version": "1.3.4",
+      "resolved": "https://registry.npm.taobao.org/flat-cache/download/flat-cache-1.3.4.tgz",
+      "integrity": "sha1-LC73dSXMKSkAff/6HdMUqpyd7m8=",
+      "dev": true,
+      "requires": {
+        "circular-json": "0.3.3",
+        "graceful-fs": "4.2.4",
+        "rimraf": "2.6.3",
+        "write": "0.2.1"
+      },
+      "dependencies": {
+        "rimraf": {
+          "version": "2.6.3",
+          "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-2.6.3.tgz?cache=0&sync_timestamp=1581229865753&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frimraf%2Fdownload%2Frimraf-2.6.3.tgz",
+          "integrity": "sha1-stEE/g2Psnz54KHNqCYt04M8bKs=",
+          "dev": true,
+          "requires": {
+            "glob": "7.1.6"
+          }
+        }
+      }
+    },
+    "flatten": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npm.taobao.org/flatten/download/flatten-1.0.3.tgz",
+      "integrity": "sha1-wSg6yfJ7Noq8HjbR/3sEUBowNWs="
+    },
+    "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=",
+      "requires": {
+        "inherits": "2.0.4",
+        "readable-stream": "2.3.7"
+      },
+      "dependencies": {
+        "readable-stream": {
+          "version": "2.3.7",
+          "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz",
+          "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=",
+          "requires": {
+            "core-util-is": "1.0.2",
+            "inherits": "2.0.4",
+            "isarray": "1.0.0",
+            "process-nextick-args": "2.0.1",
+            "safe-buffer": "5.1.2",
+            "string_decoder": "1.1.1",
+            "util-deprecate": "1.0.2"
+          }
+        },
+        "safe-buffer": {
+          "version": "5.1.2",
+          "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz",
+          "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0="
+        },
+        "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.2"
+          }
+        }
+      }
+    },
+    "follow-redirects": {
+      "version": "1.15.2",
+      "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.2.tgz",
+      "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA=="
+    },
+    "for-in": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz",
+      "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA="
+    },
+    "foreach": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npm.taobao.org/foreach/download/foreach-2.0.5.tgz",
+      "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k="
+    },
+    "forwarded": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npm.taobao.org/forwarded/download/forwarded-0.1.2.tgz",
+      "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ="
+    },
+    "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=",
+      "requires": {
+        "map-cache": "0.2.2"
+      }
+    },
+    "fresh": {
+      "version": "0.5.2",
+      "resolved": "https://registry.npm.taobao.org/fresh/download/fresh-0.5.2.tgz",
+      "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
+    },
+    "from2": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npm.taobao.org/from2/download/from2-2.3.0.tgz",
+      "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
+      "requires": {
+        "inherits": "2.0.4",
+        "readable-stream": "2.3.7"
+      },
+      "dependencies": {
+        "readable-stream": {
+          "version": "2.3.7",
+          "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz",
+          "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=",
+          "requires": {
+            "core-util-is": "1.0.2",
+            "inherits": "2.0.4",
+            "isarray": "1.0.0",
+            "process-nextick-args": "2.0.1",
+            "safe-buffer": "5.1.2",
+            "string_decoder": "1.1.1",
+            "util-deprecate": "1.0.2"
+          }
+        },
+        "safe-buffer": {
+          "version": "5.1.2",
+          "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz",
+          "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0="
+        },
+        "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.2"
+          }
+        }
+      }
+    },
+    "fs-extra": {
+      "version": "8.1.0",
+      "resolved": "https://registry.npm.taobao.org/fs-extra/download/fs-extra-8.1.0.tgz",
+      "integrity": "sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA=",
+      "requires": {
+        "graceful-fs": "4.2.4",
+        "jsonfile": "4.0.0",
+        "universalify": "0.1.2"
+      }
+    },
+    "fs-memo": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npm.taobao.org/fs-memo/download/fs-memo-1.0.1.tgz",
+      "integrity": "sha1-kp+4QO/OFkAD6HIqqbVt7HxjBDg="
+    },
+    "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.1.3"
+      }
+    },
+    "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=",
+      "requires": {
+        "graceful-fs": "4.2.4",
+        "iferr": "0.1.5",
+        "imurmurhash": "0.1.4",
+        "readable-stream": "2.3.7"
+      },
+      "dependencies": {
+        "readable-stream": {
+          "version": "2.3.7",
+          "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz",
+          "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=",
+          "requires": {
+            "core-util-is": "1.0.2",
+            "inherits": "2.0.4",
+            "isarray": "1.0.0",
+            "process-nextick-args": "2.0.1",
+            "safe-buffer": "5.1.2",
+            "string_decoder": "1.1.1",
+            "util-deprecate": "1.0.2"
+          }
+        },
+        "safe-buffer": {
+          "version": "5.1.2",
+          "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz",
+          "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0="
+        },
+        "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.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="
+    },
+    "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="
+    },
+    "functional-red-black-tree": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npm.taobao.org/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz",
+      "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
+      "dev": true
+    },
+    "gensync": {
+      "version": "1.0.0-beta.1",
+      "resolved": "https://registry.npm.taobao.org/gensync/download/gensync-1.0.0-beta.1.tgz",
+      "integrity": "sha1-WPQ2H/mH5f9uHnohCCeqNx6qwmk="
+    },
+    "get-port-please": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npm.taobao.org/get-port-please/download/get-port-please-1.0.0.tgz",
+      "integrity": "sha1-QMNLO4/t4hfnyo9qSiiupJJ2slg=",
+      "requires": {
+        "fs-memo": "1.0.1"
+      }
+    },
+    "get-stream": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npm.taobao.org/get-stream/download/get-stream-5.1.0.tgz",
+      "integrity": "sha1-ASA83JJZf5uQkGfD5lbMH008Tck=",
+      "requires": {
+        "pump": "3.0.0"
+      }
+    },
+    "get-value": {
+      "version": "2.0.6",
+      "resolved": "https://registry.npm.taobao.org/get-value/download/get-value-2.0.6.tgz",
+      "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg="
+    },
+    "git-config-path": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npm.taobao.org/git-config-path/download/git-config-path-2.0.0.tgz",
+      "integrity": "sha1-YmM9Ya9jr0QFpQJO/TJXYvWKGBs="
+    },
+    "git-up": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npm.taobao.org/git-up/download/git-up-4.0.1.tgz",
+      "integrity": "sha1-yy7whmU2QOch0gQv4xBIV9iQB8A=",
+      "requires": {
+        "is-ssh": "1.3.1",
+        "parse-url": "5.0.1"
+      }
+    },
+    "git-url-parse": {
+      "version": "11.1.2",
+      "resolved": "https://registry.npm.taobao.org/git-url-parse/download/git-url-parse-11.1.2.tgz",
+      "integrity": "sha1-r/Gol8NsyTaZJwWHvqPby7uV3mc=",
+      "requires": {
+        "git-up": "4.0.1"
+      }
+    },
+    "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.6",
+        "inherits": "2.0.4",
+        "minimatch": "3.0.4",
+        "once": "1.4.0",
+        "path-is-absolute": "1.0.1"
+      }
+    },
+    "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=",
+      "requires": {
+        "is-glob": "4.0.1"
+      }
+    },
+    "globals": {
+      "version": "11.12.0",
+      "resolved": "https://registry.npm.taobao.org/globals/download/globals-11.12.0.tgz",
+      "integrity": "sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4="
+    },
+    "globby": {
+      "version": "11.0.1",
+      "resolved": "https://registry.npm.taobao.org/globby/download/globby-11.0.1.tgz",
+      "integrity": "sha1-mivxB6Bo8//qvEmtcCx57ejP01c=",
+      "requires": {
+        "array-union": "2.1.0",
+        "dir-glob": "3.0.1",
+        "fast-glob": "3.2.4",
+        "ignore": "5.1.8",
+        "merge2": "1.4.1",
+        "slash": "3.0.0"
+      }
+    },
+    "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=1588086924019&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fgraceful-fs%2Fdownload%2Fgraceful-fs-4.2.4.tgz",
+      "integrity": "sha1-Ila94U02MpWMRl68ltxGfKB6Kfs="
+    },
+    "gzip-size": {
+      "version": "5.1.1",
+      "resolved": "https://registry.npm.taobao.org/gzip-size/download/gzip-size-5.1.1.tgz",
+      "integrity": "sha1-y5vuaS+HwGErIyhAqHOQTkwTUnQ=",
+      "requires": {
+        "duplexer": "0.1.1",
+        "pify": "4.0.1"
+      }
+    },
+    "hable": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npm.taobao.org/hable/download/hable-3.0.0.tgz",
+      "integrity": "sha1-beCJst+UZjXPgTS55IWfG2LeJV8="
+    },
+    "hard-source-webpack-plugin": {
+      "version": "0.13.1",
+      "resolved": "https://registry.npm.taobao.org/hard-source-webpack-plugin/download/hard-source-webpack-plugin-0.13.1.tgz",
+      "integrity": "sha1-qZBx4lsjLxQ4pbw8mfEKOGnkQo4=",
+      "requires": {
+        "chalk": "2.4.2",
+        "find-cache-dir": "2.1.0",
+        "graceful-fs": "4.2.4",
+        "lodash": "4.17.19",
+        "mkdirp": "0.5.5",
+        "node-object-hash": "1.4.2",
+        "parse-json": "4.0.0",
+        "pkg-dir": "3.0.0",
+        "rimraf": "2.7.1",
+        "semver": "5.7.1",
+        "tapable": "1.1.3",
+        "webpack-sources": "1.4.3",
+        "write-json-file": "2.3.0"
+      },
+      "dependencies": {
+        "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.5.0"
+          }
+        },
+        "semver": {
+          "version": "5.7.1",
+          "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1586886301819&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz",
+          "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc="
+        }
+      }
+    },
+    "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=",
+      "requires": {
+        "ansi-regex": "2.1.1"
+      },
+      "dependencies": {
+        "ansi-regex": {
+          "version": "2.1.1",
+          "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz",
+          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
+        }
+      }
+    },
+    "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?cache=0&sync_timestamp=1573950770764&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhas-symbols%2Fdownload%2Fhas-symbols-1.0.1.tgz",
+      "integrity": "sha1-n1IUdYpEGWxAbZvXbOv4HsLdMeg="
+    },
+    "has-value": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npm.taobao.org/has-value/download/has-value-1.0.0.tgz",
+      "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
+      "requires": {
+        "get-value": "2.0.6",
+        "has-values": "1.0.0",
+        "isobject": "3.0.1"
+      }
+    },
+    "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=",
+      "requires": {
+        "is-number": "3.0.0",
+        "kind-of": "4.0.0"
+      },
+      "dependencies": {
+        "kind-of": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-4.0.0.tgz",
+          "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+          "requires": {
+            "is-buffer": "1.1.6"
+          }
+        }
+      }
+    },
+    "hash-base": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npm.taobao.org/hash-base/download/hash-base-3.1.0.tgz?cache=0&sync_timestamp=1588317988964&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhash-base%2Fdownload%2Fhash-base-3.1.0.tgz",
+      "integrity": "sha1-VcOB2eBuHSmXqIO0o/3f5/DTrzM=",
+      "requires": {
+        "inherits": "2.0.4",
+        "readable-stream": "3.6.0",
+        "safe-buffer": "5.2.1"
+      }
+    },
+    "hash-sum": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npm.taobao.org/hash-sum/download/hash-sum-2.0.0.tgz",
+      "integrity": "sha1-gdAbtd6OpKIUrV1urRtSNGCwtFo="
+    },
+    "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=",
+      "requires": {
+        "inherits": "2.0.4",
+        "minimalistic-assert": "1.0.1"
+      }
+    },
+    "he": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npm.taobao.org/he/download/he-1.2.0.tgz",
+      "integrity": "sha1-hK5l+n6vsWX922FWauFLrwVmTw8="
+    },
+    "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="
+    },
+    "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=",
+      "requires": {
+        "hash.js": "1.1.7",
+        "minimalistic-assert": "1.0.1",
+        "minimalistic-crypto-utils": "1.0.1"
+      }
+    },
+    "hoopy": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npm.taobao.org/hoopy/download/hoopy-0.1.4.tgz",
+      "integrity": "sha1-YJIH1mEQADOpqUAq096mdzgcGx0="
+    },
+    "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="
+    },
+    "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="
+    },
+    "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="
+    },
+    "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="
+    },
+    "html-minifier": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npm.taobao.org/html-minifier/download/html-minifier-4.0.0.tgz",
+      "integrity": "sha1-zKmq2LzhF14C4XqMM+RtiYiIn1Y=",
+      "requires": {
+        "camel-case": "3.0.0",
+        "clean-css": "4.2.3",
+        "commander": "2.20.3",
+        "he": "1.2.0",
+        "param-case": "2.1.1",
+        "relateurl": "0.2.7",
+        "uglify-js": "3.10.0"
+      },
+      "dependencies": {
+        "camel-case": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npm.taobao.org/camel-case/download/camel-case-3.0.0.tgz",
+          "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=",
+          "requires": {
+            "no-case": "2.3.2",
+            "upper-case": "1.1.3"
+          }
+        },
+        "commander": {
+          "version": "2.20.3",
+          "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.20.3.tgz?cache=0&sync_timestamp=1592632084115&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz",
+          "integrity": "sha1-/UhehMA+tIgcIHIrpIA16FMa6zM="
+        },
+        "lower-case": {
+          "version": "1.1.4",
+          "resolved": "https://registry.npm.taobao.org/lower-case/download/lower-case-1.1.4.tgz",
+          "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw="
+        },
+        "no-case": {
+          "version": "2.3.2",
+          "resolved": "https://registry.npm.taobao.org/no-case/download/no-case-2.3.2.tgz",
+          "integrity": "sha1-YLgTOWvjmz8SiKTB7V0efSi0ZKw=",
+          "requires": {
+            "lower-case": "1.1.4"
+          }
+        },
+        "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=",
+          "requires": {
+            "no-case": "2.3.2"
+          }
+        }
+      }
+    },
+    "html-minifier-terser": {
+      "version": "5.1.1",
+      "resolved": "https://registry.npm.taobao.org/html-minifier-terser/download/html-minifier-terser-5.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhtml-minifier-terser%2Fdownload%2Fhtml-minifier-terser-5.1.1.tgz",
+      "integrity": "sha1-ki6W8fO7YIMsJjS3mIQJY4mx8FQ=",
+      "requires": {
+        "camel-case": "4.1.1",
+        "clean-css": "4.2.3",
+        "commander": "4.1.1",
+        "he": "1.2.0",
+        "param-case": "3.0.3",
+        "relateurl": "0.2.7",
+        "terser": "4.8.0"
+      }
+    },
+    "html-tags": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npm.taobao.org/html-tags/download/html-tags-2.0.0.tgz",
+      "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos="
+    },
+    "html-webpack-plugin": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npm.taobao.org/html-webpack-plugin/download/html-webpack-plugin-4.3.0.tgz?cache=0&sync_timestamp=1588268811144&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhtml-webpack-plugin%2Fdownload%2Fhtml-webpack-plugin-4.3.0.tgz",
+      "integrity": "sha1-U7+PbWlsRjfVtlbT2YY9ic6BdP0=",
+      "requires": {
+        "@types/html-minifier-terser": "5.1.0",
+        "@types/tapable": "1.0.6",
+        "@types/webpack": "4.41.21",
+        "html-minifier-terser": "5.1.1",
+        "loader-utils": "1.4.0",
+        "lodash": "4.17.19",
+        "pretty-error": "2.1.1",
+        "tapable": "1.1.3",
+        "util.promisify": "1.0.0"
+      },
+      "dependencies": {
+        "util.promisify": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npm.taobao.org/util.promisify/download/util.promisify-1.0.0.tgz",
+          "integrity": "sha1-RA9xZaRZyaFtwUXrjnLzVocJcDA=",
+          "requires": {
+            "define-properties": "1.1.3",
+            "object.getownpropertydescriptors": "2.1.0"
+          }
+        }
+      }
+    },
+    "htmlparser2": {
+      "version": "3.10.1",
+      "resolved": "https://registry.npm.taobao.org/htmlparser2/download/htmlparser2-3.10.1.tgz",
+      "integrity": "sha1-vWedw/WYl7ajS7EHSchVu1OpOS8=",
+      "requires": {
+        "domelementtype": "1.3.1",
+        "domhandler": "2.4.2",
+        "domutils": "1.7.0",
+        "entities": "1.1.2",
+        "inherits": "2.0.4",
+        "readable-stream": "3.6.0"
+      },
+      "dependencies": {
+        "entities": {
+          "version": "1.1.2",
+          "resolved": "https://registry.npm.taobao.org/entities/download/entities-1.1.2.tgz?cache=0&sync_timestamp=1591227405887&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fentities%2Fdownload%2Fentities-1.1.2.tgz",
+          "integrity": "sha1-vfpzUplmTfr9NFKe1PhSKidf6lY="
+        }
+      }
+    },
+    "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=1593407738381&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-errors%2Fdownload%2Fhttp-errors-1.7.2.tgz",
+      "integrity": "sha1-T1ApzxMjnzEDblsuVSkrz7zIXI8=",
+      "requires": {
+        "depd": "1.1.2",
+        "inherits": "2.0.3",
+        "setprototypeof": "1.1.1",
+        "statuses": "1.5.0",
+        "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="
+        }
+      }
+    },
+    "http-proxy": {
+      "version": "1.18.1",
+      "resolved": "https://registry.npmmirror.com/http-proxy/-/http-proxy-1.18.1.tgz",
+      "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
+      "requires": {
+        "eventemitter3": "4.0.7",
+        "follow-redirects": "1.15.2",
+        "requires-port": "1.0.0"
+      }
+    },
+    "http-proxy-middleware": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmmirror.com/http-proxy-middleware/-/http-proxy-middleware-1.3.1.tgz",
+      "integrity": "sha512-13eVVDYS4z79w7f1+NPllJtOQFx/FdUW4btIvVRMaRlUY9VGstAbo5MOhLEuUgZFRHn3x50ufn25zkj/boZnEg==",
+      "requires": {
+        "@types/http-proxy": "1.17.10",
+        "http-proxy": "1.18.1",
+        "is-glob": "4.0.1",
+        "is-plain-obj": "3.0.0",
+        "micromatch": "4.0.5"
+      },
+      "dependencies": {
+        "braces": {
+          "version": "3.0.2",
+          "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz",
+          "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+          "requires": {
+            "fill-range": "7.0.1"
+          }
+        },
+        "fill-range": {
+          "version": "7.0.1",
+          "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz",
+          "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+          "requires": {
+            "to-regex-range": "5.0.1"
+          }
+        },
+        "is-number": {
+          "version": "7.0.0",
+          "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz",
+          "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
+        },
+        "is-plain-obj": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz",
+          "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA=="
+        },
+        "micromatch": {
+          "version": "4.0.5",
+          "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.5.tgz",
+          "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+          "requires": {
+            "braces": "3.0.2",
+            "picomatch": "2.3.1"
+          }
+        },
+        "picomatch": {
+          "version": "2.3.1",
+          "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz",
+          "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="
+        },
+        "to-regex-range": {
+          "version": "5.0.1",
+          "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz",
+          "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+          "requires": {
+            "is-number": "7.0.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="
+    },
+    "human-signals": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npm.taobao.org/human-signals/download/human-signals-1.1.1.tgz",
+      "integrity": "sha1-xbHNFPUK6uCatsWf5jujOV/k36M="
+    },
+    "iconv-lite": {
+      "version": "0.4.24",
+      "resolved": "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.24.tgz?cache=0&sync_timestamp=1594184278451&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ficonv-lite%2Fdownload%2Ficonv-lite-0.4.24.tgz",
+      "integrity": "sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=",
+      "requires": {
+        "safer-buffer": "2.1.2"
+      }
+    },
+    "icss-utils": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npm.taobao.org/icss-utils/download/icss-utils-4.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ficss-utils%2Fdownload%2Ficss-utils-4.1.1.tgz",
+      "integrity": "sha1-IRcLU3ie4nRHwvR91oMIFAP5pGc=",
+      "requires": {
+        "postcss": "7.0.32"
+      }
+    },
+    "ieee754": {
+      "version": "1.1.13",
+      "resolved": "https://registry.npm.taobao.org/ieee754/download/ieee754-1.1.13.tgz",
+      "integrity": "sha1-7BaFWOlaoYH9h9N/VcMrvLZwi4Q="
+    },
+    "iferr": {
+      "version": "0.1.5",
+      "resolved": "https://registry.npm.taobao.org/iferr/download/iferr-0.1.5.tgz",
+      "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE="
+    },
+    "ignore": {
+      "version": "5.1.8",
+      "resolved": "https://registry.npm.taobao.org/ignore/download/ignore-5.1.8.tgz",
+      "integrity": "sha1-8VCotQo0KJsz4i9YiavU2AFvDlc="
+    },
+    "import-cwd": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npm.taobao.org/import-cwd/download/import-cwd-2.1.0.tgz",
+      "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=",
+      "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=1573665120798&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=",
+      "requires": {
+        "resolve-from": "3.0.0"
+      }
+    },
+    "imurmurhash": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz",
+      "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o="
+    },
+    "indent-string": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npm.taobao.org/indent-string/download/indent-string-4.0.0.tgz",
+      "integrity": "sha1-Yk+PRJfWGbLZdoUx1Y9BIoVNclE="
+    },
+    "indexes-of": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npm.taobao.org/indexes-of/download/indexes-of-1.0.1.tgz",
+      "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc="
+    },
+    "infer-owner": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npm.taobao.org/infer-owner/download/infer-owner-1.0.4.tgz",
+      "integrity": "sha1-xM78qo5RBRwqQLos6KPScpWvlGc="
+    },
+    "inflight": {
+      "version": "1.0.6",
+      "resolved": "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz",
+      "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+      "requires": {
+        "once": "1.4.0",
+        "wrappy": "1.0.2"
+      }
+    },
+    "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.5",
+      "resolved": "https://registry.npm.taobao.org/ini/download/ini-1.3.5.tgz",
+      "integrity": "sha1-7uJfVtscnsYIXgwid4CD9Zar+Sc="
+    },
+    "inquirer": {
+      "version": "7.3.2",
+      "resolved": "https://registry.npm.taobao.org/inquirer/download/inquirer-7.3.2.tgz",
+      "integrity": "sha1-JSRdLjLcnzPb4m7qraIx2qZunHw=",
+      "requires": {
+        "ansi-escapes": "4.3.1",
+        "chalk": "4.1.0",
+        "cli-cursor": "3.1.0",
+        "cli-width": "3.0.0",
+        "external-editor": "3.1.0",
+        "figures": "3.2.0",
+        "lodash": "4.17.19",
+        "mute-stream": "0.0.8",
+        "run-async": "2.4.1",
+        "rxjs": "6.6.0",
+        "string-width": "4.2.0",
+        "strip-ansi": "6.0.0",
+        "through": "2.3.8"
+      },
+      "dependencies": {
+        "ansi-regex": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-5.0.0.tgz",
+          "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U="
+        },
+        "ansi-styles": {
+          "version": "4.2.1",
+          "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.2.1.tgz",
+          "integrity": "sha1-kK51xCTQCNJiTFvynq0xd+v881k=",
+          "requires": {
+            "@types/color-name": "1.1.1",
+            "color-convert": "2.0.1"
+          }
+        },
+        "chalk": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-4.1.0.tgz",
+          "integrity": "sha1-ThSHCmGNni7dl92DRf2dncMVZGo=",
+          "requires": {
+            "ansi-styles": "4.2.1",
+            "supports-color": "7.1.0"
+          }
+        },
+        "color-convert": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npm.taobao.org/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.npm.taobao.org/color-name/download/color-name-1.1.4.tgz",
+          "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI="
+        },
+        "has-flag": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz",
+          "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s="
+        },
+        "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",
+          "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0="
+        },
+        "string-width": {
+          "version": "4.2.0",
+          "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-4.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-4.2.0.tgz",
+          "integrity": "sha1-lSGCxGzHssMT0VluYjmSvRY7crU=",
+          "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=1573280549549&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"
+          }
+        },
+        "supports-color": {
+          "version": "7.1.0",
+          "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.1.0.tgz",
+          "integrity": "sha1-aOMlkd9z4lrRxLSRCKLsUHliv9E=",
+          "requires": {
+            "has-flag": "4.0.0"
+          }
+        }
+      }
+    },
+    "invariant": {
+      "version": "2.2.4",
+      "resolved": "https://registry.npm.taobao.org/invariant/download/invariant-2.2.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finvariant%2Fdownload%2Finvariant-2.2.4.tgz",
+      "integrity": "sha1-YQ88ksk1nOHbYW5TgAjSP/NRWOY=",
+      "requires": {
+        "loose-envify": "1.4.0"
+      }
+    },
+    "ip": {
+      "version": "1.1.5",
+      "resolved": "https://registry.npm.taobao.org/ip/download/ip-1.1.5.tgz",
+      "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo="
+    },
+    "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="
+    },
+    "is-absolute-url": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npm.taobao.org/is-absolute-url/download/is-absolute-url-2.1.0.tgz?cache=0&sync_timestamp=1569735737284&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-absolute-url%2Fdownload%2Fis-absolute-url-2.1.0.tgz",
+      "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY="
+    },
+    "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=",
+      "requires": {
+        "kind-of": "3.2.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=",
+          "requires": {
+            "is-buffer": "1.1.6"
+          }
+        }
+      }
+    },
+    "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="
+    },
+    "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=",
+      "requires": {
+        "binary-extensions": "2.1.0"
+      }
+    },
+    "is-buffer": {
+      "version": "1.1.6",
+      "resolved": "https://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz",
+      "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4="
+    },
+    "is-callable": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npm.taobao.org/is-callable/download/is-callable-1.2.0.tgz",
+      "integrity": "sha1-gzNlYLVKOONeOi33r9BFTWkUaLs="
+    },
+    "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=",
+      "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-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=",
+      "requires": {
+        "kind-of": "3.2.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=",
+          "requires": {
+            "is-buffer": "1.1.6"
+          }
+        }
+      }
+    },
+    "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="
+    },
+    "is-descriptor": {
+      "version": "0.1.6",
+      "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-0.1.6.tgz",
+      "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=",
+      "requires": {
+        "is-accessor-descriptor": "0.1.6",
+        "is-data-descriptor": "0.1.4",
+        "kind-of": "5.1.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="
+        }
+      }
+    },
+    "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-docker": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npm.taobao.org/is-docker/download/is-docker-2.0.0.tgz",
+      "integrity": "sha1-LLDfDnXi0GT+GGTDfN6st7Lc8ls="
+    },
+    "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="
+    },
+    "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="
+    },
+    "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-generator-function": {
+      "version": "1.0.7",
+      "resolved": "https://registry.npm.taobao.org/is-generator-function/download/is-generator-function-1.0.7.tgz",
+      "integrity": "sha1-0hMuUpuwAAp/gHlNS99c1eWBNSI="
+    },
+    "is-glob": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz",
+      "integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=",
+      "requires": {
+        "is-extglob": "2.1.1"
+      }
+    },
+    "is-nan": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npm.taobao.org/is-nan/download/is-nan-1.3.0.tgz",
+      "integrity": "sha1-hdH1SC9wUcIBn1ZzzOvbBvOw2wM=",
+      "requires": {
+        "define-properties": "1.1.3"
+      }
+    },
+    "is-number": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz",
+      "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+      "requires": {
+        "kind-of": "3.2.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=",
+          "requires": {
+            "is-buffer": "1.1.6"
+          }
+        }
+      }
+    },
+    "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-plain-obj": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npm.taobao.org/is-plain-obj/download/is-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?cache=0&sync_timestamp=1593243601484&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-plain-object%2Fdownload%2Fis-plain-object-2.0.4.tgz",
+      "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=",
+      "requires": {
+        "isobject": "3.0.1"
+      }
+    },
+    "is-promise": {
+      "version": "2.2.2",
+      "resolved": "https://registry.npm.taobao.org/is-promise/download/is-promise-2.2.2.tgz?cache=0&sync_timestamp=1588001977739&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-promise%2Fdownload%2Fis-promise-2.2.2.tgz",
+      "integrity": "sha1-OauVnMv5p3TPB597QMeib3YxNfE="
+    },
+    "is-regex": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npm.taobao.org/is-regex/download/is-regex-1.1.0.tgz",
+      "integrity": "sha1-7OOOOJ5JDfDcIcrqK9WW+Yf3Z/8=",
+      "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="
+    },
+    "is-retry-allowed": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmmirror.com/is-retry-allowed/-/is-retry-allowed-2.2.0.tgz",
+      "integrity": "sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg=="
+    },
+    "is-ssh": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npm.taobao.org/is-ssh/download/is-ssh-1.3.1.tgz",
+      "integrity": "sha1-80moyt0k5lKYA3pSLPdSDy6BoPM=",
+      "requires": {
+        "protocols": "1.4.7"
+      }
+    },
+    "is-stream": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npm.taobao.org/is-stream/download/is-stream-2.0.0.tgz",
+      "integrity": "sha1-venDJoDW+uBBKdasnZIc54FfeOM="
+    },
+    "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=",
+      "requires": {
+        "html-comment-regex": "1.1.2"
+      }
+    },
+    "is-symbol": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npm.taobao.org/is-symbol/download/is-symbol-1.0.3.tgz?cache=0&sync_timestamp=1574296387814&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-symbol%2Fdownload%2Fis-symbol-1.0.3.tgz",
+      "integrity": "sha1-OOEBS55jKb4N6dJKQU/XRB7GGTc=",
+      "requires": {
+        "has-symbols": "1.0.1"
+      }
+    },
+    "is-typed-array": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npm.taobao.org/is-typed-array/download/is-typed-array-1.1.3.tgz",
+      "integrity": "sha1-pP9aXmcuGlX5nH9U5ZWXr1wd8E0=",
+      "requires": {
+        "available-typed-arrays": "1.0.2",
+        "es-abstract": "1.17.6",
+        "foreach": "2.0.5",
+        "has-symbols": "1.0.1"
+      }
+    },
+    "is-windows": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npm.taobao.org/is-windows/download/is-windows-1.0.2.tgz",
+      "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0="
+    },
+    "is-wsl": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npm.taobao.org/is-wsl/download/is-wsl-1.1.0.tgz",
+      "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0="
+    },
+    "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="
+    },
+    "isobject": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npm.taobao.org/isobject/download/isobject-3.0.1.tgz",
+      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
+    },
+    "jest-worker": {
+      "version": "25.5.0",
+      "resolved": "https://registry.npm.taobao.org/jest-worker/download/jest-worker-25.5.0.tgz",
+      "integrity": "sha1-JhHQcbec6g9D7lej0RhZOsFUfbE=",
+      "requires": {
+        "merge-stream": "2.0.0",
+        "supports-color": "7.1.0"
+      },
+      "dependencies": {
+        "has-flag": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz",
+          "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s="
+        },
+        "supports-color": {
+          "version": "7.1.0",
+          "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.1.0.tgz",
+          "integrity": "sha1-aOMlkd9z4lrRxLSRCKLsUHliv9E=",
+          "requires": {
+            "has-flag": "4.0.0"
+          }
+        }
+      }
+    },
+    "jiti": {
+      "version": "0.1.11",
+      "resolved": "https://registry.npm.taobao.org/jiti/download/jiti-0.1.11.tgz",
+      "integrity": "sha1-iye5LkwIZrPIyRlFxVqZodsXp4I="
+    },
+    "js-cookie": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npm.taobao.org/js-cookie/download/js-cookie-2.2.1.tgz?cache=0&sync_timestamp=1583962513627&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-cookie%2Fdownload%2Fjs-cookie-2.2.1.tgz",
+      "integrity": "sha1-aeEG3F1YBolFYpAqpbrsN0Tpsrg="
+    },
+    "js-tokens": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npm.taobao.org/js-tokens/download/js-tokens-4.0.0.tgz",
+      "integrity": "sha1-GSA/tZmR35jjoocFDUZHzerzJJk="
+    },
+    "js-yaml": {
+      "version": "3.14.0",
+      "resolved": "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.14.0.tgz?cache=0&sync_timestamp=1590172122543&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-yaml%2Fdownload%2Fjs-yaml-3.14.0.tgz",
+      "integrity": "sha1-p6NBcPJqIbsWJCTYray0ETpp5II=",
+      "requires": {
+        "argparse": "1.0.10",
+        "esprima": "4.0.1"
+      }
+    },
+    "jsesc": {
+      "version": "2.5.2",
+      "resolved": "https://registry.npm.taobao.org/jsesc/download/jsesc-2.5.2.tgz",
+      "integrity": "sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q="
+    },
+    "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-schema-traverse": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz",
+      "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA="
+    },
+    "json-stable-stringify-without-jsonify": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npm.taobao.org/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz",
+      "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
+      "dev": true
+    },
+    "json5": {
+      "version": "2.1.3",
+      "resolved": "https://registry.npm.taobao.org/json5/download/json5-2.1.3.tgz",
+      "integrity": "sha1-ybD3+pIzv+WAf+ZvzzpWF+1ZfUM=",
+      "requires": {
+        "minimist": "1.2.5"
+      }
+    },
+    "jsonfile": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npm.taobao.org/jsonfile/download/jsonfile-4.0.0.tgz?cache=0&sync_timestamp=1583593905130&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsonfile%2Fdownload%2Fjsonfile-4.0.0.tgz",
+      "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
+      "requires": {
+        "graceful-fs": "4.2.4"
+      }
+    },
+    "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="
+    },
+    "last-call-webpack-plugin": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npm.taobao.org/last-call-webpack-plugin/download/last-call-webpack-plugin-3.0.0.tgz",
+      "integrity": "sha1-l0LfDhDjz0blwDgcLekNOnotdVU=",
+      "requires": {
+        "lodash": "4.17.19",
+        "webpack-sources": "1.4.3"
+      }
+    },
+    "launch-editor": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npm.taobao.org/launch-editor/download/launch-editor-2.2.1.tgz",
+      "integrity": "sha1-hxtaPuOdZoD8wm03kwtu7aidsMo=",
+      "requires": {
+        "chalk": "2.4.2",
+        "shell-quote": "1.7.2"
+      },
+      "dependencies": {
+        "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.5.0"
+          }
+        }
+      }
+    },
+    "launch-editor-middleware": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npm.taobao.org/launch-editor-middleware/download/launch-editor-middleware-2.2.1.tgz",
+      "integrity": "sha1-4UsH5scVSwpLhqD9NFeE5FgEwVc=",
+      "requires": {
+        "launch-editor": "2.2.1"
+      }
+    },
+    "leven": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npm.taobao.org/leven/download/leven-3.1.0.tgz",
+      "integrity": "sha1-d4kd6DQGTMy6gq54QrtrFKE+1/I="
+    },
+    "levenary": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npm.taobao.org/levenary/download/levenary-1.1.1.tgz",
+      "integrity": "sha1-hCqe6Y0gdap/ru2+MmeekgX0b3c=",
+      "requires": {
+        "leven": "3.1.0"
+      }
+    },
+    "levn": {
+      "version": "0.3.0",
+      "resolved": "https://registry.npm.taobao.org/levn/download/levn-0.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flevn%2Fdownload%2Flevn-0.3.0.tgz",
+      "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
+      "dev": true,
+      "requires": {
+        "prelude-ls": "1.1.2",
+        "type-check": "0.3.2"
+      }
+    },
+    "loader-fs-cache": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npm.taobao.org/loader-fs-cache/download/loader-fs-cache-1.0.3.tgz",
+      "integrity": "sha1-8IZXZG1gcHi+LwoDL4vWndbyd9k=",
+      "dev": true,
+      "requires": {
+        "find-cache-dir": "0.1.1",
+        "mkdirp": "0.5.5"
+      },
+      "dependencies": {
+        "find-cache-dir": {
+          "version": "0.1.1",
+          "resolved": "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-0.1.1.tgz?cache=0&sync_timestamp=1583734687174&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-cache-dir%2Fdownload%2Ffind-cache-dir-0.1.1.tgz",
+          "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=",
+          "dev": true,
+          "requires": {
+            "commondir": "1.0.1",
+            "mkdirp": "0.5.5",
+            "pkg-dir": "1.0.0"
+          }
+        },
+        "find-up": {
+          "version": "1.1.2",
+          "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-1.1.2.tgz",
+          "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+          "dev": true,
+          "requires": {
+            "path-exists": "2.1.0",
+            "pinkie-promise": "2.0.1"
+          }
+        },
+        "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.1"
+          }
+        },
+        "pkg-dir": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-1.0.0.tgz",
+          "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=",
+          "dev": true,
+          "requires": {
+            "find-up": "1.1.2"
+          }
+        }
+      }
+    },
+    "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=1593786213135&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floader-runner%2Fdownload%2Floader-runner-2.4.0.tgz",
+      "integrity": "sha1-7UcGa/5TTX6ExMe5mYwqdWB9k1c="
+    },
+    "loader-utils": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-1.4.0.tgz?cache=0&sync_timestamp=1584445172927&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floader-utils%2Fdownload%2Floader-utils-1.4.0.tgz",
+      "integrity": "sha1-xXm140yzSxp07cbB+za/o3HVphM=",
+      "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=",
+          "requires": {
+            "minimist": "1.2.5"
+          }
+        }
+      }
+    },
+    "loadjs": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npm.taobao.org/loadjs/download/loadjs-4.2.0.tgz",
+      "integrity": "sha1-KgM2N2OXpqQ+35jJ7DIp3dWrtvY="
+    },
+    "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"
+      }
+    },
+    "lodash": {
+      "version": "4.17.19",
+      "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.19.tgz?cache=0&sync_timestamp=1594226958603&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.19.tgz",
+      "integrity": "sha1-5I3e2+MLMyF4PFtDAfvTU7weSks="
+    },
+    "lodash._reinterpolate": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npm.taobao.org/lodash._reinterpolate/download/lodash._reinterpolate-3.0.0.tgz",
+      "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0="
+    },
+    "lodash.kebabcase": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npm.taobao.org/lodash.kebabcase/download/lodash.kebabcase-4.1.1.tgz",
+      "integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY="
+    },
+    "lodash.memoize": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npm.taobao.org/lodash.memoize/download/lodash.memoize-4.1.2.tgz",
+      "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4="
+    },
+    "lodash.template": {
+      "version": "4.5.0",
+      "resolved": "https://registry.npm.taobao.org/lodash.template/download/lodash.template-4.5.0.tgz?cache=0&sync_timestamp=1562735319590&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash.template%2Fdownload%2Flodash.template-4.5.0.tgz",
+      "integrity": "sha1-+XYZXPPzR9DV9SSDVp/oAxzM6Ks=",
+      "requires": {
+        "lodash._reinterpolate": "3.0.0",
+        "lodash.templatesettings": "4.2.0"
+      }
+    },
+    "lodash.templatesettings": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npm.taobao.org/lodash.templatesettings/download/lodash.templatesettings-4.2.0.tgz",
+      "integrity": "sha1-5IExDwSdPPbUfpEq0JMTsVTw+zM=",
+      "requires": {
+        "lodash._reinterpolate": "3.0.0"
+      }
+    },
+    "lodash.uniq": {
+      "version": "4.5.0",
+      "resolved": "https://registry.npm.taobao.org/lodash.uniq/download/lodash.uniq-4.5.0.tgz",
+      "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M="
+    },
+    "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=",
+      "requires": {
+        "js-tokens": "4.0.0"
+      }
+    },
+    "lower-case": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npm.taobao.org/lower-case/download/lower-case-2.0.1.tgz",
+      "integrity": "sha1-Oe6zbjlhFcwF4pQi6uqeaSyUCMc=",
+      "requires": {
+        "tslib": "1.13.0"
+      }
+    },
+    "lru-cache": {
+      "version": "5.1.1",
+      "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-5.1.1.tgz?cache=0&sync_timestamp=1594427602316&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flru-cache%2Fdownload%2Flru-cache-5.1.1.tgz",
+      "integrity": "sha1-HaJ+ZxAnGUdpXa9oSOhH8B2EuSA=",
+      "requires": {
+        "yallist": "3.1.1"
+      },
+      "dependencies": {
+        "yallist": {
+          "version": "3.1.1",
+          "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-3.1.1.tgz?cache=0&sync_timestamp=1569874170379&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyallist%2Fdownload%2Fyallist-3.1.1.tgz",
+          "integrity": "sha1-27fa+b/YusmrRev2ArjLrQ1dCP0="
+        }
+      }
+    },
+    "make-dir": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-2.1.0.tgz?cache=0&sync_timestamp=1587567693680&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmake-dir%2Fdownload%2Fmake-dir-2.1.0.tgz",
+      "integrity": "sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU=",
+      "requires": {
+        "pify": "4.0.1",
+        "semver": "5.7.1"
+      },
+      "dependencies": {
+        "semver": {
+          "version": "5.7.1",
+          "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1586886301819&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz",
+          "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc="
+        }
+      }
+    },
+    "map-age-cleaner": {
+      "version": "0.1.3",
+      "resolved": "https://registry.npm.taobao.org/map-age-cleaner/download/map-age-cleaner-0.1.3.tgz",
+      "integrity": "sha1-fVg6cwZDTAVf5HSw9FB45uG0uSo=",
+      "requires": {
+        "p-defer": "1.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="
+    },
+    "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=",
+      "requires": {
+        "object-visit": "1.0.1"
+      }
+    },
+    "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=",
+      "requires": {
+        "hash-base": "3.1.0",
+        "inherits": "2.0.4",
+        "safe-buffer": "5.2.1"
+      }
+    },
+    "mdn-data": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npm.taobao.org/mdn-data/download/mdn-data-2.0.4.tgz",
+      "integrity": "sha1-aZs8OKxvHXKAkaZGULZdOIUC/Vs="
+    },
+    "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="
+    },
+    "mem": {
+      "version": "6.1.0",
+      "resolved": "https://registry.npm.taobao.org/mem/download/mem-6.1.0.tgz?cache=0&sync_timestamp=1586702409385&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmem%2Fdownload%2Fmem-6.1.0.tgz",
+      "integrity": "sha1-hG7KC9Rwio8EucPzzXaeGUrmPFw=",
+      "requires": {
+        "map-age-cleaner": "0.1.3",
+        "mimic-fn": "3.0.0"
+      }
+    },
+    "memory-fs": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.4.1.tgz?cache=0&sync_timestamp=1570537539012&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmemory-fs%2Fdownload%2Fmemory-fs-0.4.1.tgz",
+      "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
+      "requires": {
+        "errno": "0.1.7",
+        "readable-stream": "2.3.7"
+      },
+      "dependencies": {
+        "readable-stream": {
+          "version": "2.3.7",
+          "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz",
+          "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=",
+          "requires": {
+            "core-util-is": "1.0.2",
+            "inherits": "2.0.4",
+            "isarray": "1.0.0",
+            "process-nextick-args": "2.0.1",
+            "safe-buffer": "5.1.2",
+            "string_decoder": "1.1.1",
+            "util-deprecate": "1.0.2"
+          }
+        },
+        "safe-buffer": {
+          "version": "5.1.2",
+          "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz",
+          "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0="
+        },
+        "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.2"
+          }
+        }
+      }
+    },
+    "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="
+    },
+    "merge-source-map": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npm.taobao.org/merge-source-map/download/merge-source-map-1.1.0.tgz",
+      "integrity": "sha1-L93n5gIJOfcJBqaPLXrmheTIxkY=",
+      "requires": {
+        "source-map": "0.6.1"
+      },
+      "dependencies": {
+        "source-map": {
+          "version": "0.6.1",
+          "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz",
+          "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM="
+        }
+      }
+    },
+    "merge-stream": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npm.taobao.org/merge-stream/download/merge-stream-2.0.0.tgz",
+      "integrity": "sha1-UoI2KaFN0AyXcPtq1H3GMQ8sH2A="
+    },
+    "merge2": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npm.taobao.org/merge2/download/merge2-1.4.1.tgz?cache=0&sync_timestamp=1591169980723&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmerge2%2Fdownload%2Fmerge2-1.4.1.tgz",
+      "integrity": "sha1-Q2iJL4hekHRVpv19xVwMnUBJkK4="
+    },
+    "methods": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npm.taobao.org/methods/download/methods-1.1.2.tgz",
+      "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
+    },
+    "micromatch": {
+      "version": "3.1.10",
+      "resolved": "https://registry.npm.taobao.org/micromatch/download/micromatch-3.1.10.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmicromatch%2Fdownload%2Fmicromatch-3.1.10.tgz",
+      "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=",
+      "requires": {
+        "arr-diff": "4.0.0",
+        "array-unique": "0.3.2",
+        "braces": "2.3.2",
+        "define-property": "2.0.2",
+        "extend-shallow": "3.0.2",
+        "extglob": "2.0.4",
+        "fragment-cache": "0.2.1",
+        "kind-of": "6.0.3",
+        "nanomatch": "1.2.13",
+        "object.pick": "1.3.0",
+        "regex-not": "1.0.2",
+        "snapdragon": "0.8.2",
+        "to-regex": "3.0.2"
+      }
+    },
+    "miller-rabin": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npm.taobao.org/miller-rabin/download/miller-rabin-4.0.1.tgz",
+      "integrity": "sha1-8IA1HIZbDcViqEYpZtqlNUPHik0=",
+      "requires": {
+        "bn.js": "4.11.9",
+        "brorand": "1.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="
+        }
+      }
+    },
+    "mime": {
+      "version": "2.4.6",
+      "resolved": "https://registry.npm.taobao.org/mime/download/mime-2.4.6.tgz?cache=0&sync_timestamp=1590596637243&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime%2Fdownload%2Fmime-2.4.6.tgz",
+      "integrity": "sha1-5bQHyQ20QvK+tbFiNz0Htpr/pNE="
+    },
+    "mime-db": {
+      "version": "1.44.0",
+      "resolved": "https://registry.npm.taobao.org/mime-db/download/mime-db-1.44.0.tgz",
+      "integrity": "sha1-+hHF6wrKEzS0Izy01S8QxaYnL5I="
+    },
+    "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=1587700357245&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime-types%2Fdownload%2Fmime-types-2.1.27.tgz",
+      "integrity": "sha1-R5SfmOJ56lMRn1ci4PNOUpvsAJ8=",
+      "requires": {
+        "mime-db": "1.44.0"
+      }
+    },
+    "mimic-fn": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-3.0.0.tgz?cache=0&sync_timestamp=1560442058146&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmimic-fn%2Fdownload%2Fmimic-fn-3.0.0.tgz",
+      "integrity": "sha1-dgRM+ogYu/aZnFyayt8tNkmxS0s="
+    },
+    "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="
+    },
+    "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="
+    },
+    "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.11"
+      }
+    },
+    "minimist": {
+      "version": "1.2.5",
+      "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz",
+      "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI="
+    },
+    "minipass": {
+      "version": "3.1.3",
+      "resolved": "https://registry.npm.taobao.org/minipass/download/minipass-3.1.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminipass%2Fdownload%2Fminipass-3.1.3.tgz",
+      "integrity": "sha1-fUL/HzljVILhX5zbUxhN7r1YFf0=",
+      "requires": {
+        "yallist": "4.0.0"
+      }
+    },
+    "minipass-collect": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npm.taobao.org/minipass-collect/download/minipass-collect-1.0.2.tgz",
+      "integrity": "sha1-IrgTv3Rdxu26JXa5QAIq1u3Ixhc=",
+      "requires": {
+        "minipass": "3.1.3"
+      }
+    },
+    "minipass-flush": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npm.taobao.org/minipass-flush/download/minipass-flush-1.0.5.tgz",
+      "integrity": "sha1-gucTXX6JpQ/+ZGEKeHlTxMTLs3M=",
+      "requires": {
+        "minipass": "3.1.3"
+      }
+    },
+    "minipass-pipeline": {
+      "version": "1.2.3",
+      "resolved": "https://registry.npm.taobao.org/minipass-pipeline/download/minipass-pipeline-1.2.3.tgz",
+      "integrity": "sha1-VfeDkwfXSFnW6K2pw+vnLOwhajQ=",
+      "requires": {
+        "minipass": "3.1.3"
+      }
+    },
+    "mississippi": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npm.taobao.org/mississippi/download/mississippi-3.0.0.tgz",
+      "integrity": "sha1-6goykfl+C16HdrNj1fChLZTGcCI=",
+      "requires": {
+        "concat-stream": "1.6.2",
+        "duplexify": "3.7.1",
+        "end-of-stream": "1.4.4",
+        "flush-write-stream": "1.1.1",
+        "from2": "2.3.0",
+        "parallel-transform": "1.2.0",
+        "pump": "3.0.0",
+        "pumpify": "1.5.1",
+        "stream-each": "1.2.3",
+        "through2": "2.0.5"
+      }
+    },
+    "mixin-deep": {
+      "version": "1.3.2",
+      "resolved": "https://registry.npm.taobao.org/mixin-deep/download/mixin-deep-1.3.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmixin-deep%2Fdownload%2Fmixin-deep-1.3.2.tgz",
+      "integrity": "sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY=",
+      "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=",
+          "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=1587535418745&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmkdirp%2Fdownload%2Fmkdirp-0.5.5.tgz",
+      "integrity": "sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8=",
+      "requires": {
+        "minimist": "1.2.5"
+      }
+    },
+    "move-concurrently": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npm.taobao.org/move-concurrently/download/move-concurrently-1.0.1.tgz",
+      "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
+      "requires": {
+        "aproba": "1.2.0",
+        "copy-concurrently": "1.0.5",
+        "fs-write-stream-atomic": "1.0.10",
+        "mkdirp": "0.5.5",
+        "rimraf": "2.7.1",
+        "run-queue": "1.0.3"
+      }
+    },
+    "ms": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.2.tgz",
+      "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk="
+    },
+    "mustache": {
+      "version": "2.3.2",
+      "resolved": "https://registry.npm.taobao.org/mustache/download/mustache-2.3.2.tgz",
+      "integrity": "sha1-ptTZw/kdEzWauImoEpVPkjCj0MU="
+    },
+    "mute-stream": {
+      "version": "0.0.8",
+      "resolved": "https://registry.npm.taobao.org/mute-stream/download/mute-stream-0.0.8.tgz",
+      "integrity": "sha1-FjDEKyJR/4HiooPelqVJfqkuXg0="
+    },
+    "nanoid": {
+      "version": "3.1.10",
+      "resolved": "https://registry.npm.taobao.org/nanoid/download/nanoid-3.1.10.tgz?cache=0&sync_timestamp=1592015786161&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnanoid%2Fdownload%2Fnanoid-3.1.10.tgz",
+      "integrity": "sha1-aailK3eJLeDRHO3pa8l2KFIUW8Q="
+    },
+    "nanomatch": {
+      "version": "1.2.13",
+      "resolved": "https://registry.npm.taobao.org/nanomatch/download/nanomatch-1.2.13.tgz",
+      "integrity": "sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk=",
+      "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.3",
+        "object.pick": "1.3.0",
+        "regex-not": "1.0.2",
+        "snapdragon": "0.8.2",
+        "to-regex": "3.0.2"
+      }
+    },
+    "natural-compare": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npm.taobao.org/natural-compare/download/natural-compare-1.4.0.tgz",
+      "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
+      "dev": true
+    },
+    "negotiator": {
+      "version": "0.6.2",
+      "resolved": "https://registry.npm.taobao.org/negotiator/download/negotiator-0.6.2.tgz",
+      "integrity": "sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs="
+    },
+    "neo-async": {
+      "version": "2.6.2",
+      "resolved": "https://registry.npm.taobao.org/neo-async/download/neo-async-2.6.2.tgz?cache=0&sync_timestamp=1594317853334&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fneo-async%2Fdownload%2Fneo-async-2.6.2.tgz",
+      "integrity": "sha1-tKr7k+OustgXTKU88WOrfXMIMF8="
+    },
+    "no-case": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npm.taobao.org/no-case/download/no-case-3.0.3.tgz",
+      "integrity": "sha1-whtDTB/+SLOQh+hs+00lgunfGPg=",
+      "requires": {
+        "lower-case": "2.0.1",
+        "tslib": "1.13.0"
+      }
+    },
+    "node-fetch": {
+      "version": "2.6.0",
+      "resolved": "https://registry.npm.taobao.org/node-fetch/download/node-fetch-2.6.0.tgz?cache=0&sync_timestamp=1591866547755&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-fetch%2Fdownload%2Fnode-fetch-2.6.0.tgz",
+      "integrity": "sha1-5jNFY4bUqlWGP2dqerDaqP3ssP0="
+    },
+    "node-html-parser": {
+      "version": "1.2.20",
+      "resolved": "https://registry.npm.taobao.org/node-html-parser/download/node-html-parser-1.2.20.tgz?cache=0&sync_timestamp=1592977873361&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-html-parser%2Fdownload%2Fnode-html-parser-1.2.20.tgz",
+      "integrity": "sha1-N+nrxifb4/9EbupKyT49JUt8buQ=",
+      "requires": {
+        "he": "1.1.1"
+      },
+      "dependencies": {
+        "he": {
+          "version": "1.1.1",
+          "resolved": "https://registry.npm.taobao.org/he/download/he-1.1.1.tgz",
+          "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0="
+        }
+      }
+    },
+    "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=",
+      "requires": {
+        "assert": "1.5.0",
+        "browserify-zlib": "0.2.0",
+        "buffer": "4.9.2",
+        "console-browserify": "1.2.0",
+        "constants-browserify": "1.0.0",
+        "crypto-browserify": "3.12.0",
+        "domain-browser": "1.2.0",
+        "events": "3.1.0",
+        "https-browserify": "1.0.0",
+        "os-browserify": "0.3.0",
+        "path-browserify": "0.0.1",
+        "process": "0.11.10",
+        "punycode": "1.4.1",
+        "querystring-es3": "0.2.1",
+        "readable-stream": "2.3.7",
+        "stream-browserify": "2.0.2",
+        "stream-http": "2.8.3",
+        "string_decoder": "1.3.0",
+        "timers-browserify": "2.0.11",
+        "tty-browserify": "0.0.0",
+        "url": "0.11.0",
+        "util": "0.11.1",
+        "vm-browserify": "1.1.2"
+      },
+      "dependencies": {
+        "assert": {
+          "version": "1.5.0",
+          "resolved": "https://registry.npm.taobao.org/assert/download/assert-1.5.0.tgz",
+          "integrity": "sha1-VcEJqvbgrv2z3EtxJAxwv1dLGOs=",
+          "requires": {
+            "object-assign": "4.1.1",
+            "util": "0.10.3"
+          },
+          "dependencies": {
+            "util": {
+              "version": "0.10.3",
+              "resolved": "https://registry.npm.taobao.org/util/download/util-0.10.3.tgz?cache=0&sync_timestamp=1588238331562&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil%2Fdownload%2Futil-0.10.3.tgz",
+              "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
+              "requires": {
+                "inherits": "2.0.1"
+              }
+            }
+          }
+        },
+        "inherits": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.1.tgz",
+          "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE="
+        },
+        "punycode": {
+          "version": "1.4.1",
+          "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz",
+          "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
+        },
+        "readable-stream": {
+          "version": "2.3.7",
+          "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz",
+          "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=",
+          "requires": {
+            "core-util-is": "1.0.2",
+            "inherits": "2.0.4",
+            "isarray": "1.0.0",
+            "process-nextick-args": "2.0.1",
+            "safe-buffer": "5.1.2",
+            "string_decoder": "1.1.1",
+            "util-deprecate": "1.0.2"
+          },
+          "dependencies": {
+            "inherits": {
+              "version": "2.0.4",
+              "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.4.tgz",
+              "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w="
+            },
+            "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.2"
+              }
+            }
+          }
+        },
+        "safe-buffer": {
+          "version": "5.1.2",
+          "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz",
+          "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0="
+        },
+        "util": {
+          "version": "0.11.1",
+          "resolved": "https://registry.npm.taobao.org/util/download/util-0.11.1.tgz?cache=0&sync_timestamp=1588238331562&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil%2Fdownload%2Futil-0.11.1.tgz",
+          "integrity": "sha1-MjZzNyDsZLsn9uJvQhqqLhtYjWE=",
+          "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="
+            }
+          }
+        }
+      }
+    },
+    "node-object-hash": {
+      "version": "1.4.2",
+      "resolved": "https://registry.npm.taobao.org/node-object-hash/download/node-object-hash-1.4.2.tgz",
+      "integrity": "sha1-OFgz2FsimQK3WCYiT2B3vpaanpQ="
+    },
+    "node-releases": {
+      "version": "1.1.59",
+      "resolved": "https://registry.npm.taobao.org/node-releases/download/node-releases-1.1.59.tgz?cache=0&sync_timestamp=1594212222588&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-releases%2Fdownload%2Fnode-releases-1.1.59.tgz",
+      "integrity": "sha1-TWSDMGQc7HBL/xD45P4o5FOrjo4="
+    },
+    "node-res": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npm.taobao.org/node-res/download/node-res-5.0.1.tgz",
+      "integrity": "sha1-/6pGLiBlCdZtC6KKTa8fAy2qZGA=",
+      "requires": {
+        "destroy": "1.0.4",
+        "etag": "1.8.1",
+        "mime-types": "2.1.27",
+        "on-finished": "2.3.0",
+        "vary": "1.1.2"
+      }
+    },
+    "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="
+    },
+    "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": "3.3.0",
+      "resolved": "https://registry.npm.taobao.org/normalize-url/download/normalize-url-3.3.0.tgz",
+      "integrity": "sha1-suHE3E98bVd0PfczpPWXjRhlBVk="
+    },
+    "normalize-wheel": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npm.taobao.org/normalize-wheel/download/normalize-wheel-1.0.1.tgz",
+      "integrity": "sha1-rsiGr/2wRQcNhWRH32Ls+GFG7EU="
+    },
+    "npm-run-path": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-4.0.1.tgz",
+      "integrity": "sha1-t+zR5e1T2o43pV4cImnguX7XSOo=",
+      "requires": {
+        "path-key": "3.1.1"
+      }
+    },
+    "nth-check": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npm.taobao.org/nth-check/download/nth-check-1.0.2.tgz",
+      "integrity": "sha1-sr0pXDfj3VijvwcAN2Zjuk2c8Fw=",
+      "requires": {
+        "boolbase": "1.0.0"
+      }
+    },
+    "num2fraction": {
+      "version": "1.2.2",
+      "resolved": "https://registry.npm.taobao.org/num2fraction/download/num2fraction-1.2.2.tgz",
+      "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4="
+    },
+    "nuxt": {
+      "version": "2.13.3",
+      "resolved": "https://registry.npm.taobao.org/nuxt/download/nuxt-2.13.3.tgz",
+      "integrity": "sha1-SU8N80hR38299P0JIRL6HUvtGwI=",
+      "requires": {
+        "@nuxt/builder": "2.13.3",
+        "@nuxt/cli": "2.13.3",
+        "@nuxt/components": "1.0.7",
+        "@nuxt/core": "2.13.3",
+        "@nuxt/generator": "2.13.3",
+        "@nuxt/loading-screen": "2.0.2",
+        "@nuxt/opencollective": "0.3.0",
+        "@nuxt/telemetry": "1.2.1",
+        "@nuxt/webpack": "2.13.3"
+      }
+    },
+    "object-assign": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-assign%2Fdownload%2Fobject-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=",
+      "requires": {
+        "copy-descriptor": "0.1.1",
+        "define-property": "0.2.5",
+        "kind-of": "3.2.2"
+      },
+      "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=",
+          "requires": {
+            "is-descriptor": "0.1.6"
+          }
+        },
+        "kind-of": {
+          "version": "3.2.2",
+          "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
+          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+          "requires": {
+            "is-buffer": "1.1.6"
+          }
+        }
+      }
+    },
+    "object-hash": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npm.taobao.org/object-hash/download/object-hash-1.3.1.tgz?cache=0&sync_timestamp=1582002911785&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-hash%2Fdownload%2Fobject-hash-1.3.1.tgz",
+      "integrity": "sha1-/eRSCYqVHLFF8Dm7fUVUSd3BJt8=",
+      "dev": true
+    },
+    "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=1592545092032&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-inspect%2Fdownload%2Fobject-inspect-1.8.0.tgz",
+      "integrity": "sha1-34B+Xs9TpgnMa/6T6sPMe+WzqdA="
+    },
+    "object-is": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npm.taobao.org/object-is/download/object-is-1.1.2.tgz",
+      "integrity": "sha1-xdLof/nhGfeLegiEQVGeLuwVc7Y=",
+      "requires": {
+        "define-properties": "1.1.3",
+        "es-abstract": "1.17.6"
+      }
+    },
+    "object-keys": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npm.taobao.org/object-keys/download/object-keys-1.1.1.tgz",
+      "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4="
+    },
+    "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=",
+      "requires": {
+        "isobject": "3.0.1"
+      }
+    },
+    "object.assign": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npm.taobao.org/object.assign/download/object.assign-4.1.0.tgz",
+      "integrity": "sha1-lovxEA15Vrs8oIbwBvhGs7xACNo=",
+      "requires": {
+        "define-properties": "1.1.3",
+        "function-bind": "1.1.1",
+        "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=",
+      "requires": {
+        "define-properties": "1.1.3",
+        "es-abstract": "1.17.6"
+      }
+    },
+    "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=",
+      "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=",
+      "requires": {
+        "define-properties": "1.1.3",
+        "es-abstract": "1.17.6",
+        "function-bind": "1.1.1",
+        "has": "1.0.3"
+      }
+    },
+    "on-finished": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz",
+      "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
+      "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="
+    },
+    "once": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npm.taobao.org/once/download/once-1.4.0.tgz",
+      "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+      "requires": {
+        "wrappy": "1.0.2"
+      }
+    },
+    "onetime": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npm.taobao.org/onetime/download/onetime-5.1.0.tgz",
+      "integrity": "sha1-//DzyRYX/mK7UBiWNumayKbfe+U=",
+      "requires": {
+        "mimic-fn": "2.1.0"
+      },
+      "dependencies": {
+        "mimic-fn": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npm.taobao.org/mimic-fn/download/mimic-fn-2.1.0.tgz?cache=0&sync_timestamp=1560442058146&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmimic-fn%2Fdownload%2Fmimic-fn-2.1.0.tgz",
+          "integrity": "sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs="
+        }
+      }
+    },
+    "opener": {
+      "version": "1.5.1",
+      "resolved": "https://registry.npm.taobao.org/opener/download/opener-1.5.1.tgz",
+      "integrity": "sha1-bS8Od/GgrwAyrKcWwsH7uOfoq+0="
+    },
+    "optimize-css-assets-webpack-plugin": {
+      "version": "5.0.3",
+      "resolved": "https://registry.npm.taobao.org/optimize-css-assets-webpack-plugin/download/optimize-css-assets-webpack-plugin-5.0.3.tgz",
+      "integrity": "sha1-4vHU2UrYwK+JZ+vXzxONyx7xRXI=",
+      "requires": {
+        "cssnano": "4.1.10",
+        "last-call-webpack-plugin": "3.0.0"
+      }
+    },
+    "optionator": {
+      "version": "0.8.3",
+      "resolved": "https://registry.npm.taobao.org/optionator/download/optionator-0.8.3.tgz?cache=0&sync_timestamp=1585966141328&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Foptionator%2Fdownload%2Foptionator-0.8.3.tgz",
+      "integrity": "sha1-hPodA2/p08fiHZmIS2ARZ+yPtJU=",
+      "dev": true,
+      "requires": {
+        "deep-is": "0.1.3",
+        "fast-levenshtein": "2.0.6",
+        "levn": "0.3.0",
+        "prelude-ls": "1.1.2",
+        "type-check": "0.3.2",
+        "word-wrap": "1.2.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="
+    },
+    "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="
+    },
+    "p-defer": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npm.taobao.org/p-defer/download/p-defer-1.0.0.tgz",
+      "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww="
+    },
+    "p-finally": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npm.taobao.org/p-finally/download/p-finally-2.0.1.tgz?cache=0&sync_timestamp=1560955759606&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-finally%2Fdownload%2Fp-finally-2.0.1.tgz",
+      "integrity": "sha1-vW/KqcVZoJa2gIBvTWV7Pw8kBWE="
+    },
+    "p-limit": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-2.3.0.tgz?cache=0&sync_timestamp=1594559831306&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-limit%2Fdownload%2Fp-limit-2.3.0.tgz",
+      "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=",
+      "requires": {
+        "p-try": "2.2.0"
+      }
+    },
+    "p-locate": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-3.0.0.tgz",
+      "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=",
+      "requires": {
+        "p-limit": "2.3.0"
+      }
+    },
+    "p-map": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npm.taobao.org/p-map/download/p-map-3.0.0.tgz",
+      "integrity": "sha1-1wTZr4orpoTiYA2aIVmD1BQal50=",
+      "requires": {
+        "aggregate-error": "3.0.1"
+      }
+    },
+    "p-try": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz",
+      "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY="
+    },
+    "pako": {
+      "version": "1.0.11",
+      "resolved": "https://registry.npm.taobao.org/pako/download/pako-1.0.11.tgz",
+      "integrity": "sha1-bJWZ00DVTf05RjgCUqNXBaa5kr8="
+    },
+    "parallel-transform": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npm.taobao.org/parallel-transform/download/parallel-transform-1.2.0.tgz",
+      "integrity": "sha1-kEnKN9bLIYLDsdLHIL6U0UpYFPw=",
+      "requires": {
+        "cyclist": "1.0.1",
+        "inherits": "2.0.4",
+        "readable-stream": "2.3.7"
+      },
+      "dependencies": {
+        "readable-stream": {
+          "version": "2.3.7",
+          "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz",
+          "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=",
+          "requires": {
+            "core-util-is": "1.0.2",
+            "inherits": "2.0.4",
+            "isarray": "1.0.0",
+            "process-nextick-args": "2.0.1",
+            "safe-buffer": "5.1.2",
+            "string_decoder": "1.1.1",
+            "util-deprecate": "1.0.2"
+          }
+        },
+        "safe-buffer": {
+          "version": "5.1.2",
+          "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz",
+          "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0="
+        },
+        "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.2"
+          }
+        }
+      }
+    },
+    "param-case": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npm.taobao.org/param-case/download/param-case-3.0.3.tgz",
+      "integrity": "sha1-S+Qfg5nv9iHFbuu4KaXkUdmAEjg=",
+      "requires": {
+        "dot-case": "3.0.3",
+        "tslib": "1.13.0"
+      }
+    },
+    "parse-asn1": {
+      "version": "5.1.5",
+      "resolved": "https://registry.npm.taobao.org/parse-asn1/download/parse-asn1-5.1.5.tgz",
+      "integrity": "sha1-ADJxND2ljclMrOSU+u89IUfs6g4=",
+      "requires": {
+        "asn1.js": "4.10.1",
+        "browserify-aes": "1.2.0",
+        "create-hash": "1.2.0",
+        "evp_bytestokey": "1.0.3",
+        "pbkdf2": "3.1.1",
+        "safe-buffer": "5.2.1"
+      }
+    },
+    "parse-git-config": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npm.taobao.org/parse-git-config/download/parse-git-config-3.0.0.tgz",
+      "integrity": "sha1-Si3gjHt0olVe+lrpTUDNRDAqYTI=",
+      "requires": {
+        "git-config-path": "2.0.0",
+        "ini": "1.3.5"
+      }
+    },
+    "parse-json": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-4.0.0.tgz",
+      "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
+      "requires": {
+        "error-ex": "1.3.2",
+        "json-parse-better-errors": "1.0.2"
+      }
+    },
+    "parse-path": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npm.taobao.org/parse-path/download/parse-path-4.0.1.tgz",
+      "integrity": "sha1-DsdpcElJd4yzuO2l6ZTDIHOhrf8=",
+      "requires": {
+        "is-ssh": "1.3.1",
+        "protocols": "1.4.7"
+      }
+    },
+    "parse-url": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npm.taobao.org/parse-url/download/parse-url-5.0.1.tgz",
+      "integrity": "sha1-mcQIT8Eb4UFB76QbPRF6lvy5Un8=",
+      "requires": {
+        "is-ssh": "1.3.1",
+        "normalize-url": "3.3.0",
+        "parse-path": "4.0.1",
+        "protocols": "1.4.7"
+      }
+    },
+    "parseurl": {
+      "version": "1.3.3",
+      "resolved": "https://registry.npm.taobao.org/parseurl/download/parseurl-1.3.3.tgz",
+      "integrity": "sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ="
+    },
+    "pascal-case": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npm.taobao.org/pascal-case/download/pascal-case-3.1.1.tgz",
+      "integrity": "sha1-WsGXUTPtYZKB6Ikglz0s0fJ53l8=",
+      "requires": {
+        "no-case": "3.0.3",
+        "tslib": "1.13.0"
+      }
+    },
+    "pascalcase": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npm.taobao.org/pascalcase/download/pascalcase-0.1.1.tgz",
+      "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ="
+    },
+    "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="
+    },
+    "path-dirname": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npm.taobao.org/path-dirname/download/path-dirname-1.0.2.tgz",
+      "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
+      "optional": 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": "3.1.1",
+      "resolved": "https://registry.npm.taobao.org/path-key/download/path-key-3.1.1.tgz?cache=0&sync_timestamp=1574442298523&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-key%2Fdownload%2Fpath-key-3.1.1.tgz",
+      "integrity": "sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U="
+    },
+    "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="
+    },
+    "path-type": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npm.taobao.org/path-type/download/path-type-4.0.0.tgz",
+      "integrity": "sha1-hO0BwKe6OAr+CdkKjBgNzZ0DBDs="
+    },
+    "pbkdf2": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npm.taobao.org/pbkdf2/download/pbkdf2-3.1.1.tgz?cache=0&sync_timestamp=1591275785449&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpbkdf2%2Fdownload%2Fpbkdf2-3.1.1.tgz",
+      "integrity": "sha1-y4cksPramEWWhW0abrr9NYRlS5Q=",
+      "requires": {
+        "create-hash": "1.2.0",
+        "create-hmac": "1.1.7",
+        "ripemd160": "2.0.2",
+        "safe-buffer": "5.2.1",
+        "sha.js": "2.4.11"
+      }
+    },
+    "picomatch": {
+      "version": "2.2.2",
+      "resolved": "https://registry.npm.taobao.org/picomatch/download/picomatch-2.2.2.tgz",
+      "integrity": "sha1-IfMz6ba46v8CRo9RRupAbTRfTa0="
+    },
+    "pify": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npm.taobao.org/pify/download/pify-4.0.1.tgz?cache=0&sync_timestamp=1581697613983&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpify%2Fdownload%2Fpify-4.0.1.tgz",
+      "integrity": "sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE="
+    },
+    "pinkie": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npm.taobao.org/pinkie/download/pinkie-2.0.4.tgz",
+      "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
+      "dev": true
+    },
+    "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=",
+      "dev": true,
+      "requires": {
+        "pinkie": "2.0.4"
+      }
+    },
+    "pkg-dir": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-3.0.0.tgz",
+      "integrity": "sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM=",
+      "requires": {
+        "find-up": "3.0.0"
+      }
+    },
+    "pkg-up": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npm.taobao.org/pkg-up/download/pkg-up-3.1.0.tgz",
+      "integrity": "sha1-EA7CNcwVDk/UJRlBJZaihRKg3vU=",
+      "requires": {
+        "find-up": "3.0.0"
+      }
+    },
+    "pluralize": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npm.taobao.org/pluralize/download/pluralize-7.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpluralize%2Fdownload%2Fpluralize-7.0.0.tgz",
+      "integrity": "sha1-KYuJ34uTsCIdv0Ia0rGx6iP8Z3c=",
+      "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="
+    },
+    "postcss": {
+      "version": "7.0.32",
+      "resolved": "https://registry.npm.taobao.org/postcss/download/postcss-7.0.32.tgz?cache=0&sync_timestamp=1591102406139&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss%2Fdownload%2Fpostcss-7.0.32.tgz",
+      "integrity": "sha1-QxDW7jRwU9o0M9sr5JKIPWLOxZ0=",
+      "requires": {
+        "chalk": "2.4.2",
+        "source-map": "0.6.1",
+        "supports-color": "6.1.0"
+      },
+      "dependencies": {
+        "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.5.0"
+          },
+          "dependencies": {
+            "supports-color": {
+              "version": "5.5.0",
+              "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz",
+              "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=",
+              "requires": {
+                "has-flag": "3.0.0"
+              }
+            }
+          }
+        },
+        "source-map": {
+          "version": "0.6.1",
+          "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz",
+          "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM="
+        },
+        "supports-color": {
+          "version": "6.1.0",
+          "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-6.1.0.tgz",
+          "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=",
+          "requires": {
+            "has-flag": "3.0.0"
+          }
+        }
+      }
+    },
+    "postcss-attribute-case-insensitive": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npm.taobao.org/postcss-attribute-case-insensitive/download/postcss-attribute-case-insensitive-4.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-attribute-case-insensitive%2Fdownload%2Fpostcss-attribute-case-insensitive-4.0.2.tgz",
+      "integrity": "sha1-2T5GtQRYnpSscnewRjImxoBBqIA=",
+      "requires": {
+        "postcss": "7.0.32",
+        "postcss-selector-parser": "6.0.2"
+      }
+    },
+    "postcss-calc": {
+      "version": "7.0.2",
+      "resolved": "https://registry.npm.taobao.org/postcss-calc/download/postcss-calc-7.0.2.tgz",
+      "integrity": "sha1-UE780AjKAnMSBWiweSsWzc3oqsE=",
+      "requires": {
+        "postcss": "7.0.32",
+        "postcss-selector-parser": "6.0.2",
+        "postcss-value-parser": "4.1.0"
+      }
+    },
+    "postcss-color-functional-notation": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npm.taobao.org/postcss-color-functional-notation/download/postcss-color-functional-notation-2.0.1.tgz",
+      "integrity": "sha1-Xv03qI+6vrAKKWbR5T2Yztk/dOA=",
+      "requires": {
+        "postcss": "7.0.32",
+        "postcss-values-parser": "2.0.1"
+      }
+    },
+    "postcss-color-gray": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npm.taobao.org/postcss-color-gray/download/postcss-color-gray-5.0.0.tgz",
+      "integrity": "sha1-Uyox65CfjaiYzv/ilv3B+GS+hUc=",
+      "requires": {
+        "@csstools/convert-colors": "1.4.0",
+        "postcss": "7.0.32",
+        "postcss-values-parser": "2.0.1"
+      }
+    },
+    "postcss-color-hex-alpha": {
+      "version": "5.0.3",
+      "resolved": "https://registry.npm.taobao.org/postcss-color-hex-alpha/download/postcss-color-hex-alpha-5.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-color-hex-alpha%2Fdownload%2Fpostcss-color-hex-alpha-5.0.3.tgz",
+      "integrity": "sha1-qNnKTDnUl8lmHjdLnFGJnvD4c4g=",
+      "requires": {
+        "postcss": "7.0.32",
+        "postcss-values-parser": "2.0.1"
+      }
+    },
+    "postcss-color-mod-function": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npm.taobao.org/postcss-color-mod-function/download/postcss-color-mod-function-3.0.3.tgz",
+      "integrity": "sha1-gWuhRawRzDy2uqkFp1pJ+QPk0x0=",
+      "requires": {
+        "@csstools/convert-colors": "1.4.0",
+        "postcss": "7.0.32",
+        "postcss-values-parser": "2.0.1"
+      }
+    },
+    "postcss-color-rebeccapurple": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npm.taobao.org/postcss-color-rebeccapurple/download/postcss-color-rebeccapurple-4.0.1.tgz?cache=0&sync_timestamp=1587821831954&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-color-rebeccapurple%2Fdownload%2Fpostcss-color-rebeccapurple-4.0.1.tgz",
+      "integrity": "sha1-x6ib6HK7dORbHjAiv+V0iCPm3nc=",
+      "requires": {
+        "postcss": "7.0.32",
+        "postcss-values-parser": "2.0.1"
+      }
+    },
+    "postcss-colormin": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npm.taobao.org/postcss-colormin/download/postcss-colormin-4.0.3.tgz",
+      "integrity": "sha1-rgYLzpPteUrHEmTwgTLVUJVr04E=",
+      "requires": {
+        "browserslist": "4.13.0",
+        "color": "3.1.2",
+        "has": "1.0.3",
+        "postcss": "7.0.32",
+        "postcss-value-parser": "3.3.1"
+      },
+      "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="
+        }
+      }
+    },
+    "postcss-convert-values": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npm.taobao.org/postcss-convert-values/download/postcss-convert-values-4.0.1.tgz",
+      "integrity": "sha1-yjgT7U2g+BL51DcDWE5Enr4Ymn8=",
+      "requires": {
+        "postcss": "7.0.32",
+        "postcss-value-parser": "3.3.1"
+      },
+      "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="
+        }
+      }
+    },
+    "postcss-custom-media": {
+      "version": "7.0.8",
+      "resolved": "https://registry.npm.taobao.org/postcss-custom-media/download/postcss-custom-media-7.0.8.tgz",
+      "integrity": "sha1-//0T/+/61zYhvl84cHaiiwApTgw=",
+      "requires": {
+        "postcss": "7.0.32"
+      }
+    },
+    "postcss-custom-properties": {
+      "version": "8.0.11",
+      "resolved": "https://registry.npm.taobao.org/postcss-custom-properties/download/postcss-custom-properties-8.0.11.tgz",
+      "integrity": "sha1-LWF3LW6S8i9eDVJgLfj65G+jDZc=",
+      "requires": {
+        "postcss": "7.0.32",
+        "postcss-values-parser": "2.0.1"
+      }
+    },
+    "postcss-custom-selectors": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npm.taobao.org/postcss-custom-selectors/download/postcss-custom-selectors-5.1.2.tgz",
+      "integrity": "sha1-ZIWMbrLs/y+0HQsoyd17PbTef7o=",
+      "requires": {
+        "postcss": "7.0.32",
+        "postcss-selector-parser": "5.0.0"
+      },
+      "dependencies": {
+        "cssesc": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npm.taobao.org/cssesc/download/cssesc-2.0.0.tgz",
+          "integrity": "sha1-OxO9G7HLNuG8taTc0n9UxdyzVwM="
+        },
+        "postcss-selector-parser": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-5.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-5.0.0.tgz",
+          "integrity": "sha1-JJBENWaXsztk8aj3yAki3d7nGVw=",
+          "requires": {
+            "cssesc": "2.0.0",
+            "indexes-of": "1.0.1",
+            "uniq": "1.0.1"
+          }
+        }
+      }
+    },
+    "postcss-dir-pseudo-class": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npm.taobao.org/postcss-dir-pseudo-class/download/postcss-dir-pseudo-class-5.0.0.tgz",
+      "integrity": "sha1-bjpBd9Dts6vMhf22+7HCbauuq6I=",
+      "requires": {
+        "postcss": "7.0.32",
+        "postcss-selector-parser": "5.0.0"
+      },
+      "dependencies": {
+        "cssesc": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npm.taobao.org/cssesc/download/cssesc-2.0.0.tgz",
+          "integrity": "sha1-OxO9G7HLNuG8taTc0n9UxdyzVwM="
+        },
+        "postcss-selector-parser": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-5.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-5.0.0.tgz",
+          "integrity": "sha1-JJBENWaXsztk8aj3yAki3d7nGVw=",
+          "requires": {
+            "cssesc": "2.0.0",
+            "indexes-of": "1.0.1",
+            "uniq": "1.0.1"
+          }
+        }
+      }
+    },
+    "postcss-discard-comments": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npm.taobao.org/postcss-discard-comments/download/postcss-discard-comments-4.0.2.tgz",
+      "integrity": "sha1-H7q9LCRr/2qq15l7KwkY9NevQDM=",
+      "requires": {
+        "postcss": "7.0.32"
+      }
+    },
+    "postcss-discard-duplicates": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npm.taobao.org/postcss-discard-duplicates/download/postcss-discard-duplicates-4.0.2.tgz",
+      "integrity": "sha1-P+EzzTyCKC5VD8myORdqkge3hOs=",
+      "requires": {
+        "postcss": "7.0.32"
+      }
+    },
+    "postcss-discard-empty": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npm.taobao.org/postcss-discard-empty/download/postcss-discard-empty-4.0.1.tgz",
+      "integrity": "sha1-yMlR6fc+2UKAGUWERKAq2Qu592U=",
+      "requires": {
+        "postcss": "7.0.32"
+      }
+    },
+    "postcss-discard-overridden": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npm.taobao.org/postcss-discard-overridden/download/postcss-discard-overridden-4.0.1.tgz",
+      "integrity": "sha1-ZSrvipZybwKfXj4AFG7npOdV/1c=",
+      "requires": {
+        "postcss": "7.0.32"
+      }
+    },
+    "postcss-double-position-gradients": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npm.taobao.org/postcss-double-position-gradients/download/postcss-double-position-gradients-1.0.0.tgz",
+      "integrity": "sha1-/JJ9Uv3ciWyzooEuvF3xR+EQUi4=",
+      "requires": {
+        "postcss": "7.0.32",
+        "postcss-values-parser": "2.0.1"
+      }
+    },
+    "postcss-env-function": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npm.taobao.org/postcss-env-function/download/postcss-env-function-2.0.2.tgz?cache=0&sync_timestamp=1587905950973&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-env-function%2Fdownload%2Fpostcss-env-function-2.0.2.tgz",
+      "integrity": "sha1-Dz49PFfwlKksK69LYkHwsNpTZdc=",
+      "requires": {
+        "postcss": "7.0.32",
+        "postcss-values-parser": "2.0.1"
+      }
+    },
+    "postcss-focus-visible": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npm.taobao.org/postcss-focus-visible/download/postcss-focus-visible-4.0.0.tgz?cache=0&sync_timestamp=1586839954150&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-focus-visible%2Fdownload%2Fpostcss-focus-visible-4.0.0.tgz",
+      "integrity": "sha1-R30QcROt5gJLFBKDF63ivR4XBG4=",
+      "requires": {
+        "postcss": "7.0.32"
+      }
+    },
+    "postcss-focus-within": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npm.taobao.org/postcss-focus-within/download/postcss-focus-within-3.0.0.tgz",
+      "integrity": "sha1-djuHiFls7puHTJmSAc3egGWe9oA=",
+      "requires": {
+        "postcss": "7.0.32"
+      }
+    },
+    "postcss-font-variant": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npm.taobao.org/postcss-font-variant/download/postcss-font-variant-4.0.0.tgz",
+      "integrity": "sha1-cd08bBCg2EbF7aB4A0OWF7u6usw=",
+      "requires": {
+        "postcss": "7.0.32"
+      }
+    },
+    "postcss-gap-properties": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npm.taobao.org/postcss-gap-properties/download/postcss-gap-properties-2.0.0.tgz",
+      "integrity": "sha1-QxwZKrPtlqPD0J8v9hWWD5AsFxU=",
+      "requires": {
+        "postcss": "7.0.32"
+      }
+    },
+    "postcss-image-set-function": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npm.taobao.org/postcss-image-set-function/download/postcss-image-set-function-3.0.1.tgz",
+      "integrity": "sha1-KJIKLymUW+1MMZjX32SW1BDT8og=",
+      "requires": {
+        "postcss": "7.0.32",
+        "postcss-values-parser": "2.0.1"
+      }
+    },
+    "postcss-import": {
+      "version": "12.0.1",
+      "resolved": "https://registry.npm.taobao.org/postcss-import/download/postcss-import-12.0.1.tgz",
+      "integrity": "sha1-z4x6sLXMq1ZJAkU25WX4QZKLcVM=",
+      "requires": {
+        "postcss": "7.0.32",
+        "postcss-value-parser": "3.3.1",
+        "read-cache": "1.0.0",
+        "resolve": "1.17.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="
+        }
+      }
+    },
+    "postcss-import-resolver": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npm.taobao.org/postcss-import-resolver/download/postcss-import-resolver-2.0.0.tgz",
+      "integrity": "sha1-lcYaxUiQR72T/0KpzUBc/pBB4sA=",
+      "requires": {
+        "enhanced-resolve": "4.3.0"
+      }
+    },
+    "postcss-initial": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npm.taobao.org/postcss-initial/download/postcss-initial-3.0.2.tgz?cache=0&sync_timestamp=1572520236416&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-initial%2Fdownload%2Fpostcss-initial-3.0.2.tgz",
+      "integrity": "sha1-8BhWNpSzwWro6qvjxYWsYxljey0=",
+      "requires": {
+        "lodash.template": "4.5.0",
+        "postcss": "7.0.32"
+      }
+    },
+    "postcss-lab-function": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npm.taobao.org/postcss-lab-function/download/postcss-lab-function-2.0.1.tgz",
+      "integrity": "sha1-u1GmhWzRIomrSuINseOCHvE9fS4=",
+      "requires": {
+        "@csstools/convert-colors": "1.4.0",
+        "postcss": "7.0.32",
+        "postcss-values-parser": "2.0.1"
+      }
+    },
+    "postcss-load-config": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npm.taobao.org/postcss-load-config/download/postcss-load-config-2.1.0.tgz",
+      "integrity": "sha1-yE1pK3u3tB3c7ZTuYuirMbQXsAM=",
+      "requires": {
+        "cosmiconfig": "5.2.1",
+        "import-cwd": "2.1.0"
+      }
+    },
+    "postcss-loader": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npm.taobao.org/postcss-loader/download/postcss-loader-3.0.0.tgz",
+      "integrity": "sha1-a5eUPkfHLYRfqeA/Jzdz1OjdbC0=",
+      "requires": {
+        "loader-utils": "1.4.0",
+        "postcss": "7.0.32",
+        "postcss-load-config": "2.1.0",
+        "schema-utils": "1.0.0"
+      },
+      "dependencies": {
+        "schema-utils": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz",
+          "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=",
+          "requires": {
+            "ajv": "6.12.3",
+            "ajv-errors": "1.0.1",
+            "ajv-keywords": "3.5.1"
+          }
+        }
+      }
+    },
+    "postcss-logical": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npm.taobao.org/postcss-logical/download/postcss-logical-3.0.0.tgz",
+      "integrity": "sha1-JJXQ+LgunyYnJfdflAGzTntF1bU=",
+      "requires": {
+        "postcss": "7.0.32"
+      }
+    },
+    "postcss-media-minmax": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npm.taobao.org/postcss-media-minmax/download/postcss-media-minmax-4.0.0.tgz",
+      "integrity": "sha1-t1u2y8IXyKxJQz4S8iBIgUpPXtU=",
+      "requires": {
+        "postcss": "7.0.32"
+      }
+    },
+    "postcss-merge-longhand": {
+      "version": "4.0.11",
+      "resolved": "https://registry.npm.taobao.org/postcss-merge-longhand/download/postcss-merge-longhand-4.0.11.tgz",
+      "integrity": "sha1-YvSaE+Sg7gTnuY9CuxYGLKJUniQ=",
+      "requires": {
+        "css-color-names": "0.0.4",
+        "postcss": "7.0.32",
+        "postcss-value-parser": "3.3.1",
+        "stylehacks": "4.0.3"
+      },
+      "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="
+        }
+      }
+    },
+    "postcss-merge-rules": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npm.taobao.org/postcss-merge-rules/download/postcss-merge-rules-4.0.3.tgz",
+      "integrity": "sha1-NivqT/Wh+Y5AdacTxsslrv75plA=",
+      "requires": {
+        "browserslist": "4.13.0",
+        "caniuse-api": "3.0.0",
+        "cssnano-util-same-parent": "4.0.1",
+        "postcss": "7.0.32",
+        "postcss-selector-parser": "3.1.2",
+        "vendors": "1.0.4"
+      },
+      "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&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-3.1.2.tgz",
+          "integrity": "sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA=",
+          "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",
+      "integrity": "sha1-zUw0TM5HQ0P6xdgiBqssvLiv1aY=",
+      "requires": {
+        "postcss": "7.0.32",
+        "postcss-value-parser": "3.3.1"
+      },
+      "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="
+        }
+      }
+    },
+    "postcss-minify-gradients": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npm.taobao.org/postcss-minify-gradients/download/postcss-minify-gradients-4.0.2.tgz",
+      "integrity": "sha1-k7KcL/UJnFNe7NpWxKpuZlpmNHE=",
+      "requires": {
+        "cssnano-util-get-arguments": "4.0.0",
+        "is-color-stop": "1.1.0",
+        "postcss": "7.0.32",
+        "postcss-value-parser": "3.3.1"
+      },
+      "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="
+        }
+      }
+    },
+    "postcss-minify-params": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npm.taobao.org/postcss-minify-params/download/postcss-minify-params-4.0.2.tgz",
+      "integrity": "sha1-a5zvAwwR41Jh+V9hjJADbWgNuHQ=",
+      "requires": {
+        "alphanum-sort": "1.0.2",
+        "browserslist": "4.13.0",
+        "cssnano-util-get-arguments": "4.0.0",
+        "postcss": "7.0.32",
+        "postcss-value-parser": "3.3.1",
+        "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="
+        }
+      }
+    },
+    "postcss-minify-selectors": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npm.taobao.org/postcss-minify-selectors/download/postcss-minify-selectors-4.0.2.tgz",
+      "integrity": "sha1-4uXrQL/uUA0M2SQ1APX46kJi+9g=",
+      "requires": {
+        "alphanum-sort": "1.0.2",
+        "has": "1.0.3",
+        "postcss": "7.0.32",
+        "postcss-selector-parser": "3.1.2"
+      },
+      "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&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-3.1.2.tgz",
+          "integrity": "sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA=",
+          "requires": {
+            "dot-prop": "5.2.0",
+            "indexes-of": "1.0.1",
+            "uniq": "1.0.1"
+          }
+        }
+      }
+    },
+    "postcss-modules-extract-imports": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npm.taobao.org/postcss-modules-extract-imports/download/postcss-modules-extract-imports-2.0.0.tgz",
+      "integrity": "sha1-gYcZoa4doyX5gyRGsBE27rSTzX4=",
+      "requires": {
+        "postcss": "7.0.32"
+      }
+    },
+    "postcss-modules-local-by-default": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npm.taobao.org/postcss-modules-local-by-default/download/postcss-modules-local-by-default-3.0.2.tgz?cache=0&sync_timestamp=1559685933515&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-local-by-default%2Fdownload%2Fpostcss-modules-local-by-default-3.0.2.tgz",
+      "integrity": "sha1-6KZWG+kUqvPAUodjd1JMqQ27eRU=",
+      "requires": {
+        "icss-utils": "4.1.1",
+        "postcss": "7.0.32",
+        "postcss-selector-parser": "6.0.2",
+        "postcss-value-parser": "4.1.0"
+      }
+    },
+    "postcss-modules-scope": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npm.taobao.org/postcss-modules-scope/download/postcss-modules-scope-2.2.0.tgz?cache=0&sync_timestamp=1584619246418&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-scope%2Fdownload%2Fpostcss-modules-scope-2.2.0.tgz",
+      "integrity": "sha1-OFyuATzHdD9afXYC0Qc6iequYu4=",
+      "requires": {
+        "postcss": "7.0.32",
+        "postcss-selector-parser": "6.0.2"
+      }
+    },
+    "postcss-modules-values": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npm.taobao.org/postcss-modules-values/download/postcss-modules-values-3.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-values%2Fdownload%2Fpostcss-modules-values-3.0.0.tgz",
+      "integrity": "sha1-W1AA1uuuKbQlUwG0o6VFdEI+fxA=",
+      "requires": {
+        "icss-utils": "4.1.1",
+        "postcss": "7.0.32"
+      }
+    },
+    "postcss-nesting": {
+      "version": "7.0.1",
+      "resolved": "https://registry.npm.taobao.org/postcss-nesting/download/postcss-nesting-7.0.1.tgz?cache=0&sync_timestamp=1564405287232&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-nesting%2Fdownload%2Fpostcss-nesting-7.0.1.tgz",
+      "integrity": "sha1-tQrXt/AXPlteOIDDUBNEcD4EwFI=",
+      "requires": {
+        "postcss": "7.0.32"
+      }
+    },
+    "postcss-normalize-charset": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npm.taobao.org/postcss-normalize-charset/download/postcss-normalize-charset-4.0.1.tgz",
+      "integrity": "sha1-izWt067oOhNrBHHg1ZvlilAoXdQ=",
+      "requires": {
+        "postcss": "7.0.32"
+      }
+    },
+    "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",
+      "integrity": "sha1-Db4EpM6QY9RmftK+R2u4MMglk1o=",
+      "requires": {
+        "cssnano-util-get-match": "4.0.0",
+        "postcss": "7.0.32",
+        "postcss-value-parser": "3.3.1"
+      },
+      "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="
+        }
+      }
+    },
+    "postcss-normalize-positions": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npm.taobao.org/postcss-normalize-positions/download/postcss-normalize-positions-4.0.2.tgz",
+      "integrity": "sha1-BfdX+E8mBDc3g2ipH4ky1LECkX8=",
+      "requires": {
+        "cssnano-util-get-arguments": "4.0.0",
+        "has": "1.0.3",
+        "postcss": "7.0.32",
+        "postcss-value-parser": "3.3.1"
+      },
+      "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="
+        }
+      }
+    },
+    "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",
+      "integrity": "sha1-xOu8KJ85kaAo1EdRy90RkYsXkQw=",
+      "requires": {
+        "cssnano-util-get-arguments": "4.0.0",
+        "cssnano-util-get-match": "4.0.0",
+        "postcss": "7.0.32",
+        "postcss-value-parser": "3.3.1"
+      },
+      "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="
+        }
+      }
+    },
+    "postcss-normalize-string": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npm.taobao.org/postcss-normalize-string/download/postcss-normalize-string-4.0.2.tgz",
+      "integrity": "sha1-zUTECrB6DHo23F6Zqs4eyk7CaQw=",
+      "requires": {
+        "has": "1.0.3",
+        "postcss": "7.0.32",
+        "postcss-value-parser": "3.3.1"
+      },
+      "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="
+        }
+      }
+    },
+    "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",
+      "integrity": "sha1-jgCcoqOUnNr4rSPmtquZy159KNk=",
+      "requires": {
+        "cssnano-util-get-match": "4.0.0",
+        "postcss": "7.0.32",
+        "postcss-value-parser": "3.3.1"
+      },
+      "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="
+        }
+      }
+    },
+    "postcss-normalize-unicode": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npm.taobao.org/postcss-normalize-unicode/download/postcss-normalize-unicode-4.0.1.tgz",
+      "integrity": "sha1-hBvUj9zzAZrUuqdJOj02O1KuHPs=",
+      "requires": {
+        "browserslist": "4.13.0",
+        "postcss": "7.0.32",
+        "postcss-value-parser": "3.3.1"
+      },
+      "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="
+        }
+      }
+    },
+    "postcss-normalize-url": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npm.taobao.org/postcss-normalize-url/download/postcss-normalize-url-4.0.1.tgz",
+      "integrity": "sha1-EOQ3+GvHx+WPe5ZS7YeNqqlfquE=",
+      "requires": {
+        "is-absolute-url": "2.1.0",
+        "normalize-url": "3.3.0",
+        "postcss": "7.0.32",
+        "postcss-value-parser": "3.3.1"
+      },
+      "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="
+        }
+      }
+    },
+    "postcss-normalize-whitespace": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npm.taobao.org/postcss-normalize-whitespace/download/postcss-normalize-whitespace-4.0.2.tgz",
+      "integrity": "sha1-vx1AcP5Pzqh9E0joJdjMDF+qfYI=",
+      "requires": {
+        "postcss": "7.0.32",
+        "postcss-value-parser": "3.3.1"
+      },
+      "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="
+        }
+      }
+    },
+    "postcss-ordered-values": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npm.taobao.org/postcss-ordered-values/download/postcss-ordered-values-4.1.2.tgz",
+      "integrity": "sha1-DPdcgg7H1cTSgBiVWeC1ceusDu4=",
+      "requires": {
+        "cssnano-util-get-arguments": "4.0.0",
+        "postcss": "7.0.32",
+        "postcss-value-parser": "3.3.1"
+      },
+      "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="
+        }
+      }
+    },
+    "postcss-overflow-shorthand": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npm.taobao.org/postcss-overflow-shorthand/download/postcss-overflow-shorthand-2.0.0.tgz",
+      "integrity": "sha1-MezzUOnG9t3CUKePDD4RHzLdTDA=",
+      "requires": {
+        "postcss": "7.0.32"
+      }
+    },
+    "postcss-page-break": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npm.taobao.org/postcss-page-break/download/postcss-page-break-2.0.0.tgz",
+      "integrity": "sha1-rdUtDgpSjKvmr+6LRuKrsnffRr8=",
+      "requires": {
+        "postcss": "7.0.32"
+      }
+    },
+    "postcss-place": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npm.taobao.org/postcss-place/download/postcss-place-4.0.1.tgz",
+      "integrity": "sha1-6fOdM9LcWE5G7h20Wtt3yp0dzGI=",
+      "requires": {
+        "postcss": "7.0.32",
+        "postcss-values-parser": "2.0.1"
+      }
+    },
+    "postcss-preset-env": {
+      "version": "6.7.0",
+      "resolved": "https://registry.npm.taobao.org/postcss-preset-env/download/postcss-preset-env-6.7.0.tgz",
+      "integrity": "sha1-w03az4+QI4OzWtHgMPF49M3xGKU=",
+      "requires": {
+        "autoprefixer": "9.8.5",
+        "browserslist": "4.13.0",
+        "caniuse-lite": "1.0.30001100",
+        "css-blank-pseudo": "0.1.4",
+        "css-has-pseudo": "0.10.0",
+        "css-prefers-color-scheme": "3.1.1",
+        "cssdb": "4.4.0",
+        "postcss": "7.0.32",
+        "postcss-attribute-case-insensitive": "4.0.2",
+        "postcss-color-functional-notation": "2.0.1",
+        "postcss-color-gray": "5.0.0",
+        "postcss-color-hex-alpha": "5.0.3",
+        "postcss-color-mod-function": "3.0.3",
+        "postcss-color-rebeccapurple": "4.0.1",
+        "postcss-custom-media": "7.0.8",
+        "postcss-custom-properties": "8.0.11",
+        "postcss-custom-selectors": "5.1.2",
+        "postcss-dir-pseudo-class": "5.0.0",
+        "postcss-double-position-gradients": "1.0.0",
+        "postcss-env-function": "2.0.2",
+        "postcss-focus-visible": "4.0.0",
+        "postcss-focus-within": "3.0.0",
+        "postcss-font-variant": "4.0.0",
+        "postcss-gap-properties": "2.0.0",
+        "postcss-image-set-function": "3.0.1",
+        "postcss-initial": "3.0.2",
+        "postcss-lab-function": "2.0.1",
+        "postcss-logical": "3.0.0",
+        "postcss-media-minmax": "4.0.0",
+        "postcss-nesting": "7.0.1",
+        "postcss-overflow-shorthand": "2.0.0",
+        "postcss-page-break": "2.0.0",
+        "postcss-place": "4.0.1",
+        "postcss-pseudo-class-any-link": "6.0.0",
+        "postcss-replace-overflow-wrap": "3.0.0",
+        "postcss-selector-matches": "4.0.0",
+        "postcss-selector-not": "4.0.0"
+      }
+    },
+    "postcss-pseudo-class-any-link": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npm.taobao.org/postcss-pseudo-class-any-link/download/postcss-pseudo-class-any-link-6.0.0.tgz",
+      "integrity": "sha1-LtPu05OzcCh53sSocDKyENrrBNE=",
+      "requires": {
+        "postcss": "7.0.32",
+        "postcss-selector-parser": "5.0.0"
+      },
+      "dependencies": {
+        "cssesc": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npm.taobao.org/cssesc/download/cssesc-2.0.0.tgz",
+          "integrity": "sha1-OxO9G7HLNuG8taTc0n9UxdyzVwM="
+        },
+        "postcss-selector-parser": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-5.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-5.0.0.tgz",
+          "integrity": "sha1-JJBENWaXsztk8aj3yAki3d7nGVw=",
+          "requires": {
+            "cssesc": "2.0.0",
+            "indexes-of": "1.0.1",
+            "uniq": "1.0.1"
+          }
+        }
+      }
+    },
+    "postcss-reduce-initial": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npm.taobao.org/postcss-reduce-initial/download/postcss-reduce-initial-4.0.3.tgz",
+      "integrity": "sha1-f9QuvqXpyBRgljniwuhK4nC6SN8=",
+      "requires": {
+        "browserslist": "4.13.0",
+        "caniuse-api": "3.0.0",
+        "has": "1.0.3",
+        "postcss": "7.0.32"
+      }
+    },
+    "postcss-reduce-transforms": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npm.taobao.org/postcss-reduce-transforms/download/postcss-reduce-transforms-4.0.2.tgz",
+      "integrity": "sha1-F++kBerMbge+NBSlyi0QdGgdTik=",
+      "requires": {
+        "cssnano-util-get-match": "4.0.0",
+        "has": "1.0.3",
+        "postcss": "7.0.32",
+        "postcss-value-parser": "3.3.1"
+      },
+      "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="
+        }
+      }
+    },
+    "postcss-replace-overflow-wrap": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npm.taobao.org/postcss-replace-overflow-wrap/download/postcss-replace-overflow-wrap-3.0.0.tgz",
+      "integrity": "sha1-YbNg/9rtyoTHyRjSsPDQ6lWasBw=",
+      "requires": {
+        "postcss": "7.0.32"
+      }
+    },
+    "postcss-selector-matches": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npm.taobao.org/postcss-selector-matches/download/postcss-selector-matches-4.0.0.tgz",
+      "integrity": "sha1-ccgkj5F7osyTA3yWN+4JxkQ2/P8=",
+      "requires": {
+        "balanced-match": "1.0.0",
+        "postcss": "7.0.32"
+      }
+    },
+    "postcss-selector-not": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npm.taobao.org/postcss-selector-not/download/postcss-selector-not-4.0.0.tgz",
+      "integrity": "sha1-xo/3upZSdJnoMnJKJnTWVgO2RcA=",
+      "requires": {
+        "balanced-match": "1.0.0",
+        "postcss": "7.0.32"
+      }
+    },
+    "postcss-selector-parser": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-6.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-6.0.2.tgz",
+      "integrity": "sha1-k0z3mdAWyDQRhZ4J3Oyt4BKG7Fw=",
+      "requires": {
+        "cssesc": "3.0.0",
+        "indexes-of": "1.0.1",
+        "uniq": "1.0.1"
+      }
+    },
+    "postcss-svgo": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npm.taobao.org/postcss-svgo/download/postcss-svgo-4.0.2.tgz",
+      "integrity": "sha1-F7mXvHEbMzurFDqu07jT1uPTglg=",
+      "requires": {
+        "is-svg": "3.0.0",
+        "postcss": "7.0.32",
+        "postcss-value-parser": "3.3.1",
+        "svgo": "1.3.2"
+      },
+      "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="
+        }
+      }
+    },
+    "postcss-unique-selectors": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npm.taobao.org/postcss-unique-selectors/download/postcss-unique-selectors-4.0.1.tgz",
+      "integrity": "sha1-lEaRHzKJv9ZMbWgPBzwDsfnuS6w=",
+      "requires": {
+        "alphanum-sort": "1.0.2",
+        "postcss": "7.0.32",
+        "uniqs": "2.0.0"
+      }
+    },
+    "postcss-url": {
+      "version": "8.0.0",
+      "resolved": "https://registry.npm.taobao.org/postcss-url/download/postcss-url-8.0.0.tgz",
+      "integrity": "sha1-exAFm9EpKc27GXHGD2Gg5a+GtMo=",
+      "requires": {
+        "mime": "2.4.6",
+        "minimatch": "3.0.4",
+        "mkdirp": "0.5.5",
+        "postcss": "7.0.32",
+        "xxhashjs": "0.2.2"
+      }
+    },
+    "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="
+    },
+    "postcss-values-parser": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npm.taobao.org/postcss-values-parser/download/postcss-values-parser-2.0.1.tgz?cache=0&sync_timestamp=1587917773617&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-values-parser%2Fdownload%2Fpostcss-values-parser-2.0.1.tgz",
+      "integrity": "sha1-2otHLZAdoeIFtHvcmGN7np5VDl8=",
+      "requires": {
+        "flatten": "1.0.3",
+        "indexes-of": "1.0.1",
+        "uniq": "1.0.1"
+      }
+    },
+    "prelude-ls": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npm.taobao.org/prelude-ls/download/prelude-ls-1.1.2.tgz",
+      "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
+      "dev": true
+    },
+    "prepend-http": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npm.taobao.org/prepend-http/download/prepend-http-1.0.4.tgz",
+      "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw="
+    },
+    "prettier": {
+      "version": "1.19.1",
+      "resolved": "https://registry.npm.taobao.org/prettier/download/prettier-1.19.1.tgz",
+      "integrity": "sha1-99f1/4qc2HKnvkyhQglZVqYHl8s=",
+      "optional": true
+    },
+    "pretty-bytes": {
+      "version": "5.3.0",
+      "resolved": "https://registry.npm.taobao.org/pretty-bytes/download/pretty-bytes-5.3.0.tgz",
+      "integrity": "sha1-8oSeJ9t5+01s/iR2T8QTTxZZifI="
+    },
+    "pretty-error": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npm.taobao.org/pretty-error/download/pretty-error-2.1.1.tgz",
+      "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=",
+      "requires": {
+        "renderkid": "2.0.3",
+        "utila": "0.4.0"
+      }
+    },
+    "pretty-time": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npm.taobao.org/pretty-time/download/pretty-time-1.1.0.tgz",
+      "integrity": "sha1-/7dCmvq7hTXDRqNOQYc63z103Q4="
+    },
+    "process": {
+      "version": "0.11.10",
+      "resolved": "https://registry.npm.taobao.org/process/download/process-0.11.10.tgz",
+      "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI="
+    },
+    "process-nextick-args": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fprocess-nextick-args%2Fdownload%2Fprocess-nextick-args-2.0.1.tgz",
+      "integrity": "sha1-eCDZsWEgzFXKmud5JoCufbptf+I="
+    },
+    "progress": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npm.taobao.org/progress/download/progress-2.0.3.tgz",
+      "integrity": "sha1-foz42PW48jnBvGi+tOt4Vn1XLvg=",
+      "dev": true
+    },
+    "promise-inflight": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npm.taobao.org/promise-inflight/download/promise-inflight-1.0.1.tgz",
+      "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM="
+    },
+    "proper-lockfile": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npm.taobao.org/proper-lockfile/download/proper-lockfile-4.1.1.tgz",
+      "integrity": "sha1-KEz5254wqQ5kevrWnet8sGiBJiw=",
+      "requires": {
+        "graceful-fs": "4.2.4",
+        "retry": "0.12.0",
+        "signal-exit": "3.0.3"
+      }
+    },
+    "protocols": {
+      "version": "1.4.7",
+      "resolved": "https://registry.npm.taobao.org/protocols/download/protocols-1.4.7.tgz",
+      "integrity": "sha1-lfeIpPDpebKR/+/PVjatET0DfTI="
+    },
+    "proxy-addr": {
+      "version": "2.0.6",
+      "resolved": "https://registry.npm.taobao.org/proxy-addr/download/proxy-addr-2.0.6.tgz",
+      "integrity": "sha1-/cIzZQVEfT8vLGOO0nLK9hS7sr8=",
+      "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="
+    },
+    "pseudomap": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npm.taobao.org/pseudomap/download/pseudomap-1.0.2.tgz",
+      "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM="
+    },
+    "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=",
+      "requires": {
+        "bn.js": "4.11.9",
+        "browserify-rsa": "4.0.1",
+        "create-hash": "1.2.0",
+        "parse-asn1": "5.1.5",
+        "randombytes": "2.1.0",
+        "safe-buffer": "5.2.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="
+        }
+      }
+    },
+    "pump": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npm.taobao.org/pump/download/pump-3.0.0.tgz",
+      "integrity": "sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ=",
+      "requires": {
+        "end-of-stream": "1.4.4",
+        "once": "1.4.0"
+      }
+    },
+    "pumpify": {
+      "version": "1.5.1",
+      "resolved": "https://registry.npm.taobao.org/pumpify/download/pumpify-1.5.1.tgz?cache=0&sync_timestamp=1569938140182&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpumpify%2Fdownload%2Fpumpify-1.5.1.tgz",
+      "integrity": "sha1-NlE74karJ1cLGjdKXOJ4v9dDcM4=",
+      "requires": {
+        "duplexify": "3.7.1",
+        "inherits": "2.0.4",
+        "pump": "2.0.1"
+      },
+      "dependencies": {
+        "pump": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npm.taobao.org/pump/download/pump-2.0.1.tgz",
+          "integrity": "sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk=",
+          "requires": {
+            "end-of-stream": "1.4.4",
+            "once": "1.4.0"
+          }
+        }
+      }
+    },
+    "punycode": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz",
+      "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew="
+    },
+    "q": {
+      "version": "1.5.1",
+      "resolved": "https://registry.npm.taobao.org/q/download/q-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="
+    },
+    "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=1591853352562&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fquery-string%2Fdownload%2Fquery-string-4.3.4.tgz",
+      "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=",
+      "requires": {
+        "object-assign": "4.1.1",
+        "strict-uri-encode": "1.1.0"
+      }
+    },
+    "querystring": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npm.taobao.org/querystring/download/querystring-0.2.0.tgz",
+      "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA="
+    },
+    "querystring-es3": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npm.taobao.org/querystring-es3/download/querystring-es3-0.2.1.tgz",
+      "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM="
+    },
+    "randombytes": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npm.taobao.org/randombytes/download/randombytes-2.1.0.tgz",
+      "integrity": "sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo=",
+      "requires": {
+        "safe-buffer": "5.2.1"
+      }
+    },
+    "randomfill": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npm.taobao.org/randomfill/download/randomfill-1.0.4.tgz",
+      "integrity": "sha1-ySGW/IarQr6YPxvzF3giSTHWFFg=",
+      "requires": {
+        "randombytes": "2.1.0",
+        "safe-buffer": "5.2.1"
+      }
+    },
+    "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="
+    },
+    "raw-body": {
+      "version": "2.4.0",
+      "resolved": "https://registry.npm.taobao.org/raw-body/download/raw-body-2.4.0.tgz",
+      "integrity": "sha1-oc5vucm8NWylLoklarWQWeE9AzI=",
+      "requires": {
+        "bytes": "3.1.0",
+        "http-errors": "1.7.2",
+        "iconv-lite": "0.4.24",
+        "unpipe": "1.0.0"
+      }
+    },
+    "rc9": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npm.taobao.org/rc9/download/rc9-1.0.0.tgz",
+      "integrity": "sha1-tyxmZdDNXhry9Z2PLp2oH2GH+aM=",
+      "requires": {
+        "defu": "2.0.4",
+        "destr": "1.0.0",
+        "flat": "5.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=",
+      "requires": {
+        "pify": "2.3.0"
+      },
+      "dependencies": {
+        "pify": {
+          "version": "2.3.0",
+          "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz?cache=0&sync_timestamp=1581697613983&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpify%2Fdownload%2Fpify-2.3.0.tgz",
+          "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
+        }
+      }
+    },
+    "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.4",
+        "string_decoder": "1.3.0",
+        "util-deprecate": "1.0.2"
+      }
+    },
+    "readdirp": {
+      "version": "3.4.0",
+      "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-3.4.0.tgz",
+      "integrity": "sha1-n9zN+ekVWAVEkiGsZF6DA6tbmto=",
+      "requires": {
+        "picomatch": "2.2.2"
+      }
+    },
+    "regenerate": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npm.taobao.org/regenerate/download/regenerate-1.4.1.tgz",
+      "integrity": "sha1-ytkq2Oa1kXc0hfvgWkhcr09Ffm8="
+    },
+    "regenerate-unicode-properties": {
+      "version": "8.2.0",
+      "resolved": "https://registry.npm.taobao.org/regenerate-unicode-properties/download/regenerate-unicode-properties-8.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerate-unicode-properties%2Fdownload%2Fregenerate-unicode-properties-8.2.0.tgz",
+      "integrity": "sha1-5d5xEdZV57pgwFfb6f83yH5lzew=",
+      "requires": {
+        "regenerate": "1.4.1"
+      }
+    },
+    "regenerator-runtime": {
+      "version": "0.13.5",
+      "resolved": "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.13.5.tgz?cache=0&sync_timestamp=1584052597708&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerator-runtime%2Fdownload%2Fregenerator-runtime-0.13.5.tgz",
+      "integrity": "sha1-2Hih0JS0MG0QuQlkhLM+vVXiZpc="
+    },
+    "regenerator-transform": {
+      "version": "0.14.5",
+      "resolved": "https://registry.npm.taobao.org/regenerator-transform/download/regenerator-transform-0.14.5.tgz?cache=0&sync_timestamp=1593557296427&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerator-transform%2Fdownload%2Fregenerator-transform-0.14.5.tgz",
+      "integrity": "sha1-yY2hVGg2ccnE3LFuznNlF+G3/rQ=",
+      "requires": {
+        "@babel/runtime": "7.10.5"
+      }
+    },
+    "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=",
+      "requires": {
+        "extend-shallow": "3.0.2",
+        "safe-regex": "1.1.0"
+      }
+    },
+    "regexpp": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npm.taobao.org/regexpp/download/regexpp-1.1.0.tgz",
+      "integrity": "sha1-DjUW3Qt5BPQT0tQZPc5GGMOmias=",
+      "dev": true
+    },
+    "regexpu-core": {
+      "version": "4.7.0",
+      "resolved": "https://registry.npm.taobao.org/regexpu-core/download/regexpu-core-4.7.0.tgz",
+      "integrity": "sha1-/L9FjFBDGwu3tF1pZ7gZLZHz2Tg=",
+      "requires": {
+        "regenerate": "1.4.1",
+        "regenerate-unicode-properties": "8.2.0",
+        "regjsgen": "0.5.2",
+        "regjsparser": "0.6.4",
+        "unicode-match-property-ecmascript": "1.0.4",
+        "unicode-match-property-value-ecmascript": "1.2.0"
+      }
+    },
+    "regjsgen": {
+      "version": "0.5.2",
+      "resolved": "https://registry.npm.taobao.org/regjsgen/download/regjsgen-0.5.2.tgz",
+      "integrity": "sha1-kv8pX7He7L9uzaslQ9IH6RqjNzM="
+    },
+    "regjsparser": {
+      "version": "0.6.4",
+      "resolved": "https://registry.npm.taobao.org/regjsparser/download/regjsparser-0.6.4.tgz",
+      "integrity": "sha1-p2n4aEMIQBpm6bUp0kNv9NBmYnI=",
+      "requires": {
+        "jsesc": "0.5.0"
+      },
+      "dependencies": {
+        "jsesc": {
+          "version": "0.5.0",
+          "resolved": "https://registry.npm.taobao.org/jsesc/download/jsesc-0.5.0.tgz",
+          "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0="
+        }
+      }
+    },
+    "relateurl": {
+      "version": "0.2.7",
+      "resolved": "https://registry.npm.taobao.org/relateurl/download/relateurl-0.2.7.tgz",
+      "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk="
+    },
+    "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=",
+      "optional": true
+    },
+    "renderkid": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npm.taobao.org/renderkid/download/renderkid-2.0.3.tgz",
+      "integrity": "sha1-OAF5wv9a4TZcUivy/Pz/AcW3QUk=",
+      "requires": {
+        "css-select": "1.2.0",
+        "dom-converter": "0.2.0",
+        "htmlparser2": "3.10.1",
+        "strip-ansi": "3.0.1",
+        "utila": "0.4.0"
+      },
+      "dependencies": {
+        "ansi-regex": {
+          "version": "2.1.1",
+          "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz",
+          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
+        },
+        "css-select": {
+          "version": "1.2.0",
+          "resolved": "https://registry.npm.taobao.org/css-select/download/css-select-1.2.0.tgz",
+          "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=",
+          "requires": {
+            "boolbase": "1.0.0",
+            "css-what": "2.1.3",
+            "domutils": "1.5.1",
+            "nth-check": "1.0.2"
+          }
+        },
+        "css-what": {
+          "version": "2.1.3",
+          "resolved": "https://registry.npm.taobao.org/css-what/download/css-what-2.1.3.tgz",
+          "integrity": "sha1-ptdgRXM2X+dGhsPzEcVlE9iChfI="
+        },
+        "domutils": {
+          "version": "1.5.1",
+          "resolved": "https://registry.npm.taobao.org/domutils/download/domutils-1.5.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomutils%2Fdownload%2Fdomutils-1.5.1.tgz",
+          "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
+          "requires": {
+            "dom-serializer": "0.2.2",
+            "domelementtype": "1.3.1"
+          }
+        },
+        "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=1573280549549&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.1.1"
+          }
+        }
+      }
+    },
+    "repeat-element": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npm.taobao.org/repeat-element/download/repeat-element-1.1.3.tgz",
+      "integrity": "sha1-eC4NglwMWjuzlzH4Tv7mt0Lmsc4="
+    },
+    "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="
+    },
+    "require-uncached": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npm.taobao.org/require-uncached/download/require-uncached-1.0.3.tgz",
+      "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=",
+      "dev": true,
+      "requires": {
+        "caller-path": "0.1.0",
+        "resolve-from": "1.0.1"
+      },
+      "dependencies": {
+        "caller-path": {
+          "version": "0.1.0",
+          "resolved": "https://registry.npm.taobao.org/caller-path/download/caller-path-0.1.0.tgz?cache=0&sync_timestamp=1574395542397&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcaller-path%2Fdownload%2Fcaller-path-0.1.0.tgz",
+          "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=",
+          "dev": true,
+          "requires": {
+            "callsites": "0.2.0"
+          }
+        },
+        "callsites": {
+          "version": "0.2.0",
+          "resolved": "https://registry.npm.taobao.org/callsites/download/callsites-0.2.0.tgz",
+          "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=",
+          "dev": true
+        },
+        "resolve-from": {
+          "version": "1.0.1",
+          "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-1.0.1.tgz",
+          "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=",
+          "dev": true
+        }
+      }
+    },
+    "requires-port": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmmirror.com/requires-port/-/requires-port-1.0.0.tgz",
+      "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ=="
+    },
+    "resize-observer-polyfill": {
+      "version": "1.5.1",
+      "resolved": "https://registry.npm.taobao.org/resize-observer-polyfill/download/resize-observer-polyfill-1.5.1.tgz",
+      "integrity": "sha1-DpAg3T0hAkRY1OvSfiPkAmmBBGQ="
+    },
+    "resolve": {
+      "version": "1.17.0",
+      "resolved": "https://registry.npm.taobao.org/resolve/download/resolve-1.17.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fresolve%2Fdownload%2Fresolve-1.17.0.tgz",
+      "integrity": "sha1-sllBtUloIxzC0bt2p5y38sC/hEQ=",
+      "requires": {
+        "path-parse": "1.0.6"
+      }
+    },
+    "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-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="
+    },
+    "restore-cursor": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npm.taobao.org/restore-cursor/download/restore-cursor-3.1.0.tgz",
+      "integrity": "sha1-OfZ8VLOnpYzqUjbZXPADQjljH34=",
+      "requires": {
+        "onetime": "5.1.0",
+        "signal-exit": "3.0.3"
+      }
+    },
+    "ret": {
+      "version": "0.1.15",
+      "resolved": "https://registry.npm.taobao.org/ret/download/ret-0.1.15.tgz",
+      "integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w="
+    },
+    "retry": {
+      "version": "0.12.0",
+      "resolved": "https://registry.npm.taobao.org/retry/download/retry-0.12.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fretry%2Fdownload%2Fretry-0.12.0.tgz",
+      "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs="
+    },
+    "reusify": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npm.taobao.org/reusify/download/reusify-1.0.4.tgz",
+      "integrity": "sha1-kNo4Kx4SbvwCFG6QhFqI2xKSXXY="
+    },
+    "rewrite-imports": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npm.taobao.org/rewrite-imports/download/rewrite-imports-2.0.3.tgz",
+      "integrity": "sha1-IQ/AXr2mpsai45ZgiwFGAD1RDdo="
+    },
+    "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="
+    },
+    "rgba-regex": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npm.taobao.org/rgba-regex/download/rgba-regex-1.0.0.tgz",
+      "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM="
+    },
+    "rimraf": {
+      "version": "2.7.1",
+      "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz?cache=0&sync_timestamp=1581229865753&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.6"
+      }
+    },
+    "ripemd160": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npm.taobao.org/ripemd160/download/ripemd160-2.0.2.tgz",
+      "integrity": "sha1-ocGm9iR1FXe6XQeRTLyShQWFiQw=",
+      "requires": {
+        "hash-base": "3.1.0",
+        "inherits": "2.0.4"
+      }
+    },
+    "run-async": {
+      "version": "2.4.1",
+      "resolved": "https://registry.npm.taobao.org/run-async/download/run-async-2.4.1.tgz",
+      "integrity": "sha1-hEDsz5nqPnC9QJ1JqriOEMGJpFU="
+    },
+    "run-parallel": {
+      "version": "1.1.9",
+      "resolved": "https://registry.npm.taobao.org/run-parallel/download/run-parallel-1.1.9.tgz",
+      "integrity": "sha1-yd06fPn0ssS2JE4XOm7YZuYd1nk="
+    },
+    "run-queue": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npm.taobao.org/run-queue/download/run-queue-1.0.3.tgz",
+      "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
+      "requires": {
+        "aproba": "1.2.0"
+      }
+    },
+    "rx-lite": {
+      "version": "4.0.8",
+      "resolved": "https://registry.npm.taobao.org/rx-lite/download/rx-lite-4.0.8.tgz",
+      "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=",
+      "dev": true
+    },
+    "rx-lite-aggregates": {
+      "version": "4.0.8",
+      "resolved": "https://registry.npm.taobao.org/rx-lite-aggregates/download/rx-lite-aggregates-4.0.8.tgz",
+      "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=",
+      "dev": true,
+      "requires": {
+        "rx-lite": "4.0.8"
+      }
+    },
+    "rxjs": {
+      "version": "6.6.0",
+      "resolved": "https://registry.npm.taobao.org/rxjs/download/rxjs-6.6.0.tgz",
+      "integrity": "sha1-rykB7t8C46g/+n+IYkD/kBi77IQ=",
+      "requires": {
+        "tslib": "1.13.0"
+      }
+    },
+    "safe-buffer": {
+      "version": "5.2.1",
+      "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.1.tgz",
+      "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY="
+    },
+    "safe-regex": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npm.taobao.org/safe-regex/download/safe-regex-1.1.0.tgz",
+      "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
+      "requires": {
+        "ret": "0.1.15"
+      }
+    },
+    "safer-buffer": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsafer-buffer%2Fdownload%2Fsafer-buffer-2.1.2.tgz",
+      "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo="
+    },
+    "sax": {
+      "version": "1.2.4",
+      "resolved": "https://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz",
+      "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk="
+    },
+    "schema-utils": {
+      "version": "2.7.0",
+      "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-2.7.0.tgz",
+      "integrity": "sha1-FxUfdtjq5n+793lgwzxnatn078c=",
+      "requires": {
+        "@types/json-schema": "7.0.5",
+        "ajv": "6.12.3",
+        "ajv-keywords": "3.5.1"
+      }
+    },
+    "semver": {
+      "version": "7.3.2",
+      "resolved": "https://registry.npm.taobao.org/semver/download/semver-7.3.2.tgz?cache=0&sync_timestamp=1586886301819&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.3.2.tgz",
+      "integrity": "sha1-YElisFK4HtB4aq6EOJ/7pw/9OTg="
+    },
+    "send": {
+      "version": "0.17.1",
+      "resolved": "https://registry.npm.taobao.org/send/download/send-0.17.1.tgz",
+      "integrity": "sha1-wdiwWfeQD3Rm3Uk4vcROEd2zdsg=",
+      "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": {
+        "debug": {
+          "version": "2.6.9",
+          "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz",
+          "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
+          "requires": {
+            "ms": "2.0.0"
+          },
+          "dependencies": {
+            "ms": {
+              "version": "2.0.0",
+              "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz",
+              "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+            }
+          }
+        },
+        "mime": {
+          "version": "1.6.0",
+          "resolved": "https://registry.npm.taobao.org/mime/download/mime-1.6.0.tgz?cache=0&sync_timestamp=1590596637243&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime%2Fdownload%2Fmime-1.6.0.tgz",
+          "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE="
+        },
+        "ms": {
+          "version": "2.1.1",
+          "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.1.1.tgz",
+          "integrity": "sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo="
+        }
+      }
+    },
+    "serialize-javascript": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-4.0.0.tgz",
+      "integrity": "sha1-tSXhI4SJpez8Qq+sw/6Z5mb0sao=",
+      "requires": {
+        "randombytes": "2.1.0"
+      }
+    },
+    "serve-placeholder": {
+      "version": "1.2.2",
+      "resolved": "https://registry.npm.taobao.org/serve-placeholder/download/serve-placeholder-1.2.2.tgz",
+      "integrity": "sha1-A0lglFtZUPhzsr5OTqOkZTueM+U=",
+      "requires": {
+        "defu": "1.0.0"
+      },
+      "dependencies": {
+        "defu": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npm.taobao.org/defu/download/defu-1.0.0.tgz",
+          "integrity": "sha1-Q6ywnfz4GGb6Ow/AR+zhjlww33E="
+        }
+      }
+    },
+    "serve-static": {
+      "version": "1.14.1",
+      "resolved": "https://registry.npm.taobao.org/serve-static/download/serve-static-1.14.1.tgz",
+      "integrity": "sha1-Zm5jbcTwEPfvKZcKiKZ0MgiYsvk=",
+      "requires": {
+        "encodeurl": "1.0.2",
+        "escape-html": "1.0.3",
+        "parseurl": "1.3.3",
+        "send": "0.17.1"
+      }
+    },
+    "server-destroy": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npm.taobao.org/server-destroy/download/server-destroy-1.0.1.tgz",
+      "integrity": "sha1-8Tv5KOQrnD55OD5hzDmYtdFObN0="
+    },
+    "set-value": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npm.taobao.org/set-value/download/set-value-2.0.1.tgz?cache=0&sync_timestamp=1585774774019&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fset-value%2Fdownload%2Fset-value-2.0.1.tgz",
+      "integrity": "sha1-oY1AUw5vB95CKMfe/kInr4ytAFs=",
+      "requires": {
+        "extend-shallow": "2.0.1",
+        "is-extendable": "0.1.1",
+        "is-plain-object": "2.0.4",
+        "split-string": "3.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=",
+          "requires": {
+            "is-extendable": "0.1.1"
+          }
+        }
+      }
+    },
+    "setimmediate": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npm.taobao.org/setimmediate/download/setimmediate-1.0.5.tgz",
+      "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
+    },
+    "setprototypeof": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.1.tgz",
+      "integrity": "sha1-fpWsskqpL1iF4KvvW6ExMw1K5oM="
+    },
+    "sha.js": {
+      "version": "2.4.11",
+      "resolved": "https://registry.npm.taobao.org/sha.js/download/sha.js-2.4.11.tgz",
+      "integrity": "sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc=",
+      "requires": {
+        "inherits": "2.0.4",
+        "safe-buffer": "5.2.1"
+      }
+    },
+    "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=",
+      "requires": {
+        "shebang-regex": "3.0.0"
+      }
+    },
+    "shebang-regex": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-3.0.0.tgz",
+      "integrity": "sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI="
+    },
+    "shell-quote": {
+      "version": "1.7.2",
+      "resolved": "https://registry.npm.taobao.org/shell-quote/download/shell-quote-1.7.2.tgz",
+      "integrity": "sha1-Z6fQLHbJ2iT5nSCAj8re0ODgS+I="
+    },
+    "signal-exit": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.3.tgz?cache=0&sync_timestamp=1585253750175&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsignal-exit%2Fdownload%2Fsignal-exit-3.0.3.tgz",
+      "integrity": "sha1-oUEMLt2PB3sItOJTyOrPyvBXRhw="
+    },
+    "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=",
+      "requires": {
+        "is-arrayish": "0.3.2"
+      },
+      "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="
+        }
+      }
+    },
+    "slash": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npm.taobao.org/slash/download/slash-3.0.0.tgz",
+      "integrity": "sha1-ZTm+hwwWWtvVJAIg2+Nh8bxNRjQ="
+    },
+    "slice-ansi": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npm.taobao.org/slice-ansi/download/slice-ansi-1.0.0.tgz?cache=0&sync_timestamp=1581873067338&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fslice-ansi%2Fdownload%2Fslice-ansi-1.0.0.tgz",
+      "integrity": "sha1-BE8aSdiEL/MHqta1Be0Xi9lQE00=",
+      "dev": true,
+      "requires": {
+        "is-fullwidth-code-point": "2.0.0"
+      }
+    },
+    "snapdragon": {
+      "version": "0.8.2",
+      "resolved": "https://registry.npm.taobao.org/snapdragon/download/snapdragon-0.8.2.tgz",
+      "integrity": "sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0=",
+      "requires": {
+        "base": "0.11.2",
+        "debug": "2.6.9",
+        "define-property": "0.2.5",
+        "extend-shallow": "2.0.1",
+        "map-cache": "0.2.2",
+        "source-map": "0.5.7",
+        "source-map-resolve": "0.5.3",
+        "use": "3.1.1"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "2.6.9",
+          "resolved": "https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz",
+          "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
+          "requires": {
+            "ms": "2.0.0"
+          }
+        },
+        "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=",
+          "requires": {
+            "is-descriptor": "0.1.6"
+          }
+        },
+        "extend-shallow": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz",
+          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+          "requires": {
+            "is-extendable": "0.1.1"
+          }
+        },
+        "ms": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz",
+          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+        }
+      }
+    },
+    "snapdragon-node": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npm.taobao.org/snapdragon-node/download/snapdragon-node-2.1.1.tgz",
+      "integrity": "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=",
+      "requires": {
+        "define-property": "1.0.0",
+        "isobject": "3.0.1",
+        "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=",
+          "requires": {
+            "is-descriptor": "1.0.2"
+          }
+        },
+        "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=",
+          "requires": {
+            "kind-of": "6.0.3"
+          }
+        },
+        "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=",
+          "requires": {
+            "kind-of": "6.0.3"
+          }
+        },
+        "is-descriptor": {
+          "version": "1.0.2",
+          "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz",
+          "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=",
+          "requires": {
+            "is-accessor-descriptor": "1.0.0",
+            "is-data-descriptor": "1.0.0",
+            "kind-of": "6.0.3"
+          }
+        }
+      }
+    },
+    "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=",
+      "requires": {
+        "kind-of": "3.2.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=",
+          "requires": {
+            "is-buffer": "1.1.6"
+          }
+        }
+      }
+    },
+    "sort-keys": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npm.taobao.org/sort-keys/download/sort-keys-1.1.2.tgz",
+      "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=",
+      "requires": {
+        "is-plain-obj": "1.1.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="
+    },
+    "source-map": {
+      "version": "0.5.7",
+      "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz",
+      "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+    },
+    "source-map-resolve": {
+      "version": "0.5.3",
+      "resolved": "https://registry.npm.taobao.org/source-map-resolve/download/source-map-resolve-0.5.3.tgz?cache=0&sync_timestamp=1584829593933&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-resolve%2Fdownload%2Fsource-map-resolve-0.5.3.tgz",
+      "integrity": "sha1-GQhmvs51U+H48mei7oLGBrVQmho=",
+      "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.5.19",
+      "resolved": "https://registry.npm.taobao.org/source-map-support/download/source-map-support-0.5.19.tgz?cache=0&sync_timestamp=1587719289626&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-support%2Fdownload%2Fsource-map-support-0.5.19.tgz",
+      "integrity": "sha1-qYti+G3K9PZzmWSMCFKRq56P7WE=",
+      "requires": {
+        "buffer-from": "1.1.1",
+        "source-map": "0.6.1"
+      },
+      "dependencies": {
+        "source-map": {
+          "version": "0.6.1",
+          "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz",
+          "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM="
+        }
+      }
+    },
+    "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="
+    },
+    "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=",
+      "requires": {
+        "extend-shallow": "3.0.2"
+      }
+    },
+    "sprintf-js": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz",
+      "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
+    },
+    "ssri": {
+      "version": "7.1.0",
+      "resolved": "https://registry.npm.taobao.org/ssri/download/ssri-7.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fssri%2Fdownload%2Fssri-7.1.0.tgz",
+      "integrity": "sha1-ksJBv23oI2W1x/tL126XVSLhKU0=",
+      "requires": {
+        "figgy-pudding": "3.5.2",
+        "minipass": "3.1.3"
+      }
+    },
+    "stable": {
+      "version": "0.1.8",
+      "resolved": "https://registry.npm.taobao.org/stable/download/stable-0.1.8.tgz",
+      "integrity": "sha1-g26zyDgv4pNv6vVEYxAXzn1Ho88="
+    },
+    "stack-trace": {
+      "version": "0.0.10",
+      "resolved": "https://registry.npm.taobao.org/stack-trace/download/stack-trace-0.0.10.tgz",
+      "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA="
+    },
+    "stackframe": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npm.taobao.org/stackframe/download/stackframe-1.2.0.tgz?cache=0&sync_timestamp=1590854170093&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstackframe%2Fdownload%2Fstackframe-1.2.0.tgz",
+      "integrity": "sha1-UkKUktY8YuuYmATBFVLj0i53kwM="
+    },
+    "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=",
+      "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=",
+          "requires": {
+            "is-descriptor": "0.1.6"
+          }
+        }
+      }
+    },
+    "statuses": {
+      "version": "1.5.0",
+      "resolved": "https://registry.npm.taobao.org/statuses/download/statuses-1.5.0.tgz",
+      "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
+    },
+    "std-env": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npm.taobao.org/std-env/download/std-env-2.2.1.tgz",
+      "integrity": "sha1-L/oP3J4iY+AATBIRlm6WCUikD2s=",
+      "requires": {
+        "ci-info": "1.6.0"
+      }
+    },
+    "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=",
+      "requires": {
+        "inherits": "2.0.4",
+        "readable-stream": "2.3.7"
+      },
+      "dependencies": {
+        "readable-stream": {
+          "version": "2.3.7",
+          "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz",
+          "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=",
+          "requires": {
+            "core-util-is": "1.0.2",
+            "inherits": "2.0.4",
+            "isarray": "1.0.0",
+            "process-nextick-args": "2.0.1",
+            "safe-buffer": "5.1.2",
+            "string_decoder": "1.1.1",
+            "util-deprecate": "1.0.2"
+          }
+        },
+        "safe-buffer": {
+          "version": "5.1.2",
+          "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz",
+          "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0="
+        },
+        "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.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=",
+      "requires": {
+        "end-of-stream": "1.4.4",
+        "stream-shift": "1.0.1"
+      }
+    },
+    "stream-http": {
+      "version": "2.8.3",
+      "resolved": "https://registry.npm.taobao.org/stream-http/download/stream-http-2.8.3.tgz?cache=0&sync_timestamp=1588701035785&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstream-http%2Fdownload%2Fstream-http-2.8.3.tgz",
+      "integrity": "sha1-stJCRpKIpaJ+xP6JM6z2I95lFPw=",
+      "requires": {
+        "builtin-status-codes": "3.0.0",
+        "inherits": "2.0.4",
+        "readable-stream": "2.3.7",
+        "to-arraybuffer": "1.0.1",
+        "xtend": "4.0.2"
+      },
+      "dependencies": {
+        "readable-stream": {
+          "version": "2.3.7",
+          "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz",
+          "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=",
+          "requires": {
+            "core-util-is": "1.0.2",
+            "inherits": "2.0.4",
+            "isarray": "1.0.0",
+            "process-nextick-args": "2.0.1",
+            "safe-buffer": "5.1.2",
+            "string_decoder": "1.1.1",
+            "util-deprecate": "1.0.2"
+          }
+        },
+        "safe-buffer": {
+          "version": "5.1.2",
+          "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz",
+          "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0="
+        },
+        "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.2"
+          }
+        }
+      }
+    },
+    "stream-shift": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npm.taobao.org/stream-shift/download/stream-shift-1.0.1.tgz?cache=0&sync_timestamp=1576147178936&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstream-shift%2Fdownload%2Fstream-shift-1.0.1.tgz",
+      "integrity": "sha1-1wiCgVWasneEJCebCHfaPDktWj0="
+    },
+    "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="
+    },
+    "string-width": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-2.1.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-2.1.1.tgz",
+      "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=",
+      "requires": {
+        "is-fullwidth-code-point": "2.0.0",
+        "strip-ansi": "4.0.0"
+      }
+    },
+    "string.prototype.trimend": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npm.taobao.org/string.prototype.trimend/download/string.prototype.trimend-1.0.1.tgz?cache=0&sync_timestamp=1586465409341&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimend%2Fdownload%2Fstring.prototype.trimend-1.0.1.tgz",
+      "integrity": "sha1-hYEqa4R6wAInD1gIFGBkyZX7aRM=",
+      "requires": {
+        "define-properties": "1.1.3",
+        "es-abstract": "1.17.6"
+      }
+    },
+    "string.prototype.trimstart": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npm.taobao.org/string.prototype.trimstart/download/string.prototype.trimstart-1.0.1.tgz?cache=0&sync_timestamp=1586465413621&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimstart%2Fdownload%2Fstring.prototype.trimstart-1.0.1.tgz",
+      "integrity": "sha1-FK9tnzSwU/fPyJty+PLuFLkDmlQ=",
+      "requires": {
+        "define-properties": "1.1.3",
+        "es-abstract": "1.17.6"
+      }
+    },
+    "string_decoder": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.3.0.tgz",
+      "integrity": "sha1-QvEUWUpGzxqOMLCoT1bHjD7awh4=",
+      "requires": {
+        "safe-buffer": "5.2.1"
+      }
+    },
+    "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=1573280549549&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"
+      }
+    },
+    "strip-final-newline": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npm.taobao.org/strip-final-newline/download/strip-final-newline-2.0.0.tgz",
+      "integrity": "sha1-ibhS+y/L6Tb29LMYevsKEsGrWK0="
+    },
+    "strip-json-comments": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-2.0.1.tgz?cache=0&sync_timestamp=1594567471207&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstrip-json-comments%2Fdownload%2Fstrip-json-comments-2.0.1.tgz",
+      "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+      "dev": true
+    },
+    "style-resources-loader": {
+      "version": "1.3.3",
+      "resolved": "https://registry.npm.taobao.org/style-resources-loader/download/style-resources-loader-1.3.3.tgz",
+      "integrity": "sha1-5LOrk+fD0WBuhvlUlSKgtcStaBI=",
+      "requires": {
+        "glob": "7.1.6",
+        "is-promise": "2.2.2",
+        "loader-utils": "1.4.0",
+        "schema-utils": "2.7.0"
+      }
+    },
+    "stylehacks": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npm.taobao.org/stylehacks/download/stylehacks-4.0.3.tgz",
+      "integrity": "sha1-Zxj8r00eB9ihMYaQiB6NlnJqcdU=",
+      "requires": {
+        "browserslist": "4.13.0",
+        "postcss": "7.0.32",
+        "postcss-selector-parser": "3.1.2"
+      },
+      "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&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-selector-parser%2Fdownload%2Fpostcss-selector-parser-3.1.2.tgz",
+          "integrity": "sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA=",
+          "requires": {
+            "dot-prop": "5.2.0",
+            "indexes-of": "1.0.1",
+            "uniq": "1.0.1"
+          }
+        }
+      }
+    },
+    "supports-color": {
+      "version": "5.5.0",
+      "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz",
+      "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=",
+      "requires": {
+        "has-flag": "3.0.0"
+      }
+    },
+    "svg-tags": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npm.taobao.org/svg-tags/download/svg-tags-1.0.0.tgz",
+      "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q="
+    },
+    "svgo": {
+      "version": "1.3.2",
+      "resolved": "https://registry.npm.taobao.org/svgo/download/svgo-1.3.2.tgz?cache=0&sync_timestamp=1572433263159&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsvgo%2Fdownload%2Fsvgo-1.3.2.tgz",
+      "integrity": "sha1-ttxRHAYzRsnkFbgeQ0ARRbltQWc=",
+      "requires": {
+        "chalk": "2.4.2",
+        "coa": "2.0.2",
+        "css-select": "2.1.0",
+        "css-select-base-adapter": "0.1.1",
+        "css-tree": "1.0.0-alpha.37",
+        "csso": "4.0.3",
+        "js-yaml": "3.14.0",
+        "mkdirp": "0.5.5",
+        "object.values": "1.1.1",
+        "sax": "1.2.4",
+        "stable": "0.1.8",
+        "unquote": "1.1.1",
+        "util.promisify": "1.0.1"
+      },
+      "dependencies": {
+        "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.5.0"
+          }
+        }
+      }
+    },
+    "table": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npm.taobao.org/table/download/table-4.0.2.tgz",
+      "integrity": "sha1-ozRHN1OR52atNNNIbm4q7chNLjY=",
+      "dev": true,
+      "requires": {
+        "ajv": "5.5.2",
+        "ajv-keywords": "2.1.1",
+        "chalk": "2.4.2",
+        "lodash": "4.17.19",
+        "slice-ansi": "1.0.0",
+        "string-width": "2.1.1"
+      },
+      "dependencies": {
+        "ajv": {
+          "version": "5.5.2",
+          "resolved": "https://registry.npm.taobao.org/ajv/download/ajv-5.5.2.tgz?cache=0&sync_timestamp=1593876872665&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.1.0",
+            "fast-json-stable-stringify": "2.1.0",
+            "json-schema-traverse": "0.3.1"
+          }
+        },
+        "ajv-keywords": {
+          "version": "2.1.1",
+          "resolved": "https://registry.npm.taobao.org/ajv-keywords/download/ajv-keywords-2.1.1.tgz",
+          "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=",
+          "dev": true
+        },
+        "chalk": {
+          "version": "2.4.2",
+          "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz",
+          "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "3.2.1",
+            "escape-string-regexp": "1.0.5",
+            "supports-color": "5.5.0"
+          }
+        },
+        "fast-deep-equal": {
+          "version": "1.1.0",
+          "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-1.1.0.tgz?cache=0&sync_timestamp=1591599604098&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-deep-equal%2Fdownload%2Ffast-deep-equal-1.1.0.tgz",
+          "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=",
+          "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",
+          "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
+          "dev": true
+        }
+      }
+    },
+    "tapable": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npm.taobao.org/tapable/download/tapable-1.1.3.tgz?cache=0&sync_timestamp=1589549557661&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftapable%2Fdownload%2Ftapable-1.1.3.tgz",
+      "integrity": "sha1-ofzMBrWNth/XpF2i2kT186Pme6I="
+    },
+    "term-size": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npm.taobao.org/term-size/download/term-size-2.2.0.tgz",
+      "integrity": "sha1-Hxat7f6b3BiADhd2ghc0CG/MZ1M="
+    },
+    "terser": {
+      "version": "4.8.0",
+      "resolved": "https://registry.npm.taobao.org/terser/download/terser-4.8.0.tgz?cache=0&sync_timestamp=1593953698577&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fterser%2Fdownload%2Fterser-4.8.0.tgz",
+      "integrity": "sha1-YwVjQ9fHC7KfOvZlhlpG/gOg3xc=",
+      "requires": {
+        "commander": "2.20.3",
+        "source-map": "0.6.1",
+        "source-map-support": "0.5.19"
+      },
+      "dependencies": {
+        "commander": {
+          "version": "2.20.3",
+          "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.20.3.tgz?cache=0&sync_timestamp=1592632084115&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz",
+          "integrity": "sha1-/UhehMA+tIgcIHIrpIA16FMa6zM="
+        },
+        "source-map": {
+          "version": "0.6.1",
+          "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz",
+          "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM="
+        }
+      }
+    },
+    "terser-webpack-plugin": {
+      "version": "2.3.7",
+      "resolved": "https://registry.npm.taobao.org/terser-webpack-plugin/download/terser-webpack-plugin-2.3.7.tgz?cache=0&sync_timestamp=1594912389092&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fterser-webpack-plugin%2Fdownload%2Fterser-webpack-plugin-2.3.7.tgz",
+      "integrity": "sha1-SRD/XRqHIWjMf6bNN0nisNYKigs=",
+      "requires": {
+        "cacache": "13.0.1",
+        "find-cache-dir": "3.3.1",
+        "jest-worker": "25.5.0",
+        "p-limit": "2.3.0",
+        "schema-utils": "2.7.0",
+        "serialize-javascript": "3.1.0",
+        "source-map": "0.6.1",
+        "terser": "4.8.0",
+        "webpack-sources": "1.4.3"
+      },
+      "dependencies": {
+        "find-cache-dir": {
+          "version": "3.3.1",
+          "resolved": "https://registry.npm.taobao.org/find-cache-dir/download/find-cache-dir-3.3.1.tgz?cache=0&sync_timestamp=1583734687174&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffind-cache-dir%2Fdownload%2Ffind-cache-dir-3.3.1.tgz",
+          "integrity": "sha1-ibM/rUpGcNqpT4Vff74x1thP6IA=",
+          "requires": {
+            "commondir": "1.0.1",
+            "make-dir": "3.1.0",
+            "pkg-dir": "4.2.0"
+          }
+        },
+        "find-up": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npm.taobao.org/find-up/download/find-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"
+          }
+        },
+        "make-dir": {
+          "version": "3.1.0",
+          "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-3.1.0.tgz?cache=0&sync_timestamp=1587567693680&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmake-dir%2Fdownload%2Fmake-dir-3.1.0.tgz",
+          "integrity": "sha1-QV6WcEazp/HRhSd9hKpYIDcmoT8=",
+          "requires": {
+            "semver": "6.3.0"
+          }
+        },
+        "p-locate": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-4.1.0.tgz",
+          "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=",
+          "requires": {
+            "p-limit": "2.3.0"
+          }
+        },
+        "path-exists": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-4.0.0.tgz",
+          "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM="
+        },
+        "pkg-dir": {
+          "version": "4.2.0",
+          "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-4.2.0.tgz",
+          "integrity": "sha1-8JkTPfft5CLoHR2ESCcO6z5CYfM=",
+          "requires": {
+            "find-up": "4.1.0"
+          }
+        },
+        "semver": {
+          "version": "6.3.0",
+          "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1586886301819&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz",
+          "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0="
+        },
+        "serialize-javascript": {
+          "version": "3.1.0",
+          "resolved": "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-3.1.0.tgz",
+          "integrity": "sha1-i/OpFwcSZk7yVhtEtpHq/jmSFOo=",
+          "requires": {
+            "randombytes": "2.1.0"
+          }
+        },
+        "source-map": {
+          "version": "0.6.1",
+          "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz",
+          "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM="
+        }
+      }
+    },
+    "text-table": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz",
+      "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ="
+    },
+    "thread-loader": {
+      "version": "2.1.3",
+      "resolved": "https://registry.npm.taobao.org/thread-loader/download/thread-loader-2.1.3.tgz?cache=0&sync_timestamp=1565261083321&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fthread-loader%2Fdownload%2Fthread-loader-2.1.3.tgz",
+      "integrity": "sha1-y9LBOfwrLebp0o9iKGq3cMGsvdo=",
+      "requires": {
+        "loader-runner": "2.4.0",
+        "loader-utils": "1.4.0",
+        "neo-async": "2.6.2"
+      }
+    },
+    "throttle-debounce": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npm.taobao.org/throttle-debounce/download/throttle-debounce-1.1.0.tgz?cache=0&sync_timestamp=1591627066344&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fthrottle-debounce%2Fdownload%2Fthrottle-debounce-1.1.0.tgz",
+      "integrity": "sha1-UYU9o3vmihVctugns1FKPEIuic0="
+    },
+    "through": {
+      "version": "2.3.8",
+      "resolved": "https://registry.npm.taobao.org/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?cache=0&sync_timestamp=1593478628425&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fthrough2%2Fdownload%2Fthrough2-2.0.5.tgz",
+      "integrity": "sha1-AcHjnrMdB8t9A6lqcIIyYLIxMs0=",
+      "requires": {
+        "readable-stream": "2.3.7",
+        "xtend": "4.0.2"
+      },
+      "dependencies": {
+        "readable-stream": {
+          "version": "2.3.7",
+          "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz",
+          "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=",
+          "requires": {
+            "core-util-is": "1.0.2",
+            "inherits": "2.0.4",
+            "isarray": "1.0.0",
+            "process-nextick-args": "2.0.1",
+            "safe-buffer": "5.1.2",
+            "string_decoder": "1.1.1",
+            "util-deprecate": "1.0.2"
+          }
+        },
+        "safe-buffer": {
+          "version": "5.1.2",
+          "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz",
+          "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0="
+        },
+        "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.2"
+          }
+        }
+      }
+    },
+    "time-fix-plugin": {
+      "version": "2.0.6",
+      "resolved": "https://registry.npm.taobao.org/time-fix-plugin/download/time-fix-plugin-2.0.6.tgz",
+      "integrity": "sha1-MhASHSabR1p+dmF2bmgr12i6HO0="
+    },
+    "timers-browserify": {
+      "version": "2.0.11",
+      "resolved": "https://registry.npm.taobao.org/timers-browserify/download/timers-browserify-2.0.11.tgz?cache=0&sync_timestamp=1565448362964&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftimers-browserify%2Fdownload%2Ftimers-browserify-2.0.11.tgz",
+      "integrity": "sha1-gAsfPu4nLlvFPuRloE0OgEwxIR8=",
+      "requires": {
+        "setimmediate": "1.0.5"
+      }
+    },
+    "timsort": {
+      "version": "0.3.0",
+      "resolved": "https://registry.npm.taobao.org/timsort/download/timsort-0.3.0.tgz",
+      "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q="
+    },
+    "tmp": {
+      "version": "0.0.33",
+      "resolved": "https://registry.npm.taobao.org/tmp/download/tmp-0.0.33.tgz",
+      "integrity": "sha1-bTQzWIl2jSGyvNoKonfO07G/rfk=",
+      "requires": {
+        "os-tmpdir": "1.0.2"
+      }
+    },
+    "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="
+    },
+    "to-fast-properties": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-2.0.0.tgz?cache=0&sync_timestamp=1580550347606&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fto-fast-properties%2Fdownload%2Fto-fast-properties-2.0.0.tgz",
+      "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
+    },
+    "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=",
+      "requires": {
+        "kind-of": "3.2.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=",
+          "requires": {
+            "is-buffer": "1.1.6"
+          }
+        }
+      }
+    },
+    "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=",
+      "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": "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=",
+      "requires": {
+        "is-number": "3.0.0",
+        "repeat-string": "1.6.1"
+      }
+    },
+    "toidentifier": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npm.taobao.org/toidentifier/download/toidentifier-1.0.0.tgz",
+      "integrity": "sha1-fhvjRw8ed5SLxD2Uo8j013UrpVM="
+    },
+    "tryer": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npm.taobao.org/tryer/download/tryer-1.0.1.tgz",
+      "integrity": "sha1-8shUBoALmw90yfdGW4HqrSQSUvg="
+    },
+    "tslib": {
+      "version": "1.13.0",
+      "resolved": "https://registry.npm.taobao.org/tslib/download/tslib-1.13.0.tgz",
+      "integrity": "sha1-yIHhPMcBWJTtkUhi0nZDb6mkcEM="
+    },
+    "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="
+    },
+    "type-check": {
+      "version": "0.3.2",
+      "resolved": "https://registry.npm.taobao.org/type-check/download/type-check-0.3.2.tgz?cache=0&sync_timestamp=1585882977555&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftype-check%2Fdownload%2Ftype-check-0.3.2.tgz",
+      "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+      "dev": true,
+      "requires": {
+        "prelude-ls": "1.1.2"
+      }
+    },
+    "type-fest": {
+      "version": "0.11.0",
+      "resolved": "https://registry.npm.taobao.org/type-fest/download/type-fest-0.11.0.tgz?cache=0&sync_timestamp=1593290904787&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftype-fest%2Fdownload%2Ftype-fest-0.11.0.tgz",
+      "integrity": "sha1-l6vwhyMQ/tiKXEZrJWgVdhReM/E="
+    },
+    "type-is": {
+      "version": "1.6.18",
+      "resolved": "https://registry.npm.taobao.org/type-is/download/type-is-1.6.18.tgz",
+      "integrity": "sha1-TlUs0F3wlGfcvE73Od6J8s83wTE=",
+      "requires": {
+        "media-typer": "0.3.0",
+        "mime-types": "2.1.27"
+      }
+    },
+    "typedarray": {
+      "version": "0.0.6",
+      "resolved": "https://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz",
+      "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
+    },
+    "ua-parser-js": {
+      "version": "0.7.21",
+      "resolved": "https://registry.npm.taobao.org/ua-parser-js/download/ua-parser-js-0.7.21.tgz",
+      "integrity": "sha1-hTz5zpP2QvZxdCc8w0Vlrm8wh3c="
+    },
+    "uglify-js": {
+      "version": "3.10.0",
+      "resolved": "https://registry.npm.taobao.org/uglify-js/download/uglify-js-3.10.0.tgz?cache=0&sync_timestamp=1592744803278&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuglify-js%2Fdownload%2Fuglify-js-3.10.0.tgz",
+      "integrity": "sha1-OXp+bjHOggv9HLVbgE7hQMWHqec="
+    },
+    "unfetch": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npm.taobao.org/unfetch/download/unfetch-4.1.0.tgz",
+      "integrity": "sha1-bsLdDeiH5YpN7oOgUN7YD/xBN9s="
+    },
+    "unicode-canonical-property-names-ecmascript": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npm.taobao.org/unicode-canonical-property-names-ecmascript/download/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
+      "integrity": "sha1-JhmADEyCWADv3YNDr33Zkzy+KBg="
+    },
+    "unicode-match-property-ecmascript": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npm.taobao.org/unicode-match-property-ecmascript/download/unicode-match-property-ecmascript-1.0.4.tgz",
+      "integrity": "sha1-jtKjJWmWG86SJ9Cc0/+7j+1fAgw=",
+      "requires": {
+        "unicode-canonical-property-names-ecmascript": "1.0.4",
+        "unicode-property-aliases-ecmascript": "1.1.0"
+      }
+    },
+    "unicode-match-property-value-ecmascript": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npm.taobao.org/unicode-match-property-value-ecmascript/download/unicode-match-property-value-ecmascript-1.2.0.tgz?cache=0&sync_timestamp=1583949006575&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funicode-match-property-value-ecmascript%2Fdownload%2Funicode-match-property-value-ecmascript-1.2.0.tgz",
+      "integrity": "sha1-DZH2AO7rMJaqlisdb8iIduZOpTE="
+    },
+    "unicode-property-aliases-ecmascript": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npm.taobao.org/unicode-property-aliases-ecmascript/download/unicode-property-aliases-ecmascript-1.1.0.tgz?cache=0&sync_timestamp=1583945776843&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funicode-property-aliases-ecmascript%2Fdownload%2Funicode-property-aliases-ecmascript-1.1.0.tgz",
+      "integrity": "sha1-3Vepn2IHvt/0Yoq++5TFDblByPQ="
+    },
+    "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=",
+      "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="
+    },
+    "uniqs": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npm.taobao.org/uniqs/download/uniqs-2.0.0.tgz",
+      "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI="
+    },
+    "unique-filename": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npm.taobao.org/unique-filename/download/unique-filename-1.1.1.tgz",
+      "integrity": "sha1-HWl2k2mtoFgxA6HmrodoG1ZXMjA=",
+      "requires": {
+        "unique-slug": "2.0.2"
+      }
+    },
+    "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=",
+      "requires": {
+        "imurmurhash": "0.1.4"
+      }
+    },
+    "universalify": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npm.taobao.org/universalify/download/universalify-0.1.2.tgz",
+      "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY="
+    },
+    "unpipe": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz",
+      "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
+    },
+    "unquote": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npm.taobao.org/unquote/download/unquote-1.1.1.tgz",
+      "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ="
+    },
+    "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=",
+      "requires": {
+        "has-value": "0.3.1",
+        "isobject": "3.0.1"
+      },
+      "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=",
+          "requires": {
+            "get-value": "2.0.6",
+            "has-values": "0.1.4",
+            "isobject": "2.1.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=",
+              "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="
+        }
+      }
+    },
+    "upath": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npm.taobao.org/upath/download/upath-1.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fupath%2Fdownload%2Fupath-1.2.0.tgz",
+      "integrity": "sha1-j2bbzVWog6za5ECK+LA1pQRMGJQ="
+    },
+    "upper-case": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npm.taobao.org/upper-case/download/upper-case-1.1.3.tgz",
+      "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg="
+    },
+    "uri-js": {
+      "version": "4.2.2",
+      "resolved": "https://registry.npm.taobao.org/uri-js/download/uri-js-4.2.2.tgz",
+      "integrity": "sha1-lMVA4f93KVbiKZUHwBCupsiDjrA=",
+      "requires": {
+        "punycode": "2.1.1"
+      }
+    },
+    "urix": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npm.taobao.org/urix/download/urix-0.1.0.tgz",
+      "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI="
+    },
+    "url": {
+      "version": "0.11.0",
+      "resolved": "https://registry.npm.taobao.org/url/download/url-0.11.0.tgz",
+      "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
+      "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",
+          "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0="
+        }
+      }
+    },
+    "url-loader": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npm.taobao.org/url-loader/download/url-loader-2.3.0.tgz",
+      "integrity": "sha1-4OLvZY8APvuMpBsPP/v3a6uIZYs=",
+      "requires": {
+        "loader-utils": "1.4.0",
+        "mime": "2.4.6",
+        "schema-utils": "2.7.0"
+      }
+    },
+    "use": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npm.taobao.org/use/download/use-3.1.1.tgz",
+      "integrity": "sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8="
+    },
+    "util": {
+      "version": "0.12.3",
+      "resolved": "https://registry.npm.taobao.org/util/download/util-0.12.3.tgz?cache=0&sync_timestamp=1588238331562&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil%2Fdownload%2Futil-0.12.3.tgz",
+      "integrity": "sha1-lxuwKS0swMiS2rfGpdN8K+xweIg=",
+      "requires": {
+        "inherits": "2.0.4",
+        "is-arguments": "1.0.4",
+        "is-generator-function": "1.0.7",
+        "is-typed-array": "1.1.3",
+        "safe-buffer": "5.2.1",
+        "which-typed-array": "1.1.2"
+      }
+    },
+    "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",
+      "integrity": "sha1-a693dLgO6w91INi4HQeYKlmruu4=",
+      "requires": {
+        "define-properties": "1.1.3",
+        "es-abstract": "1.17.6",
+        "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="
+    },
+    "utils-merge": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npm.taobao.org/utils-merge/download/utils-merge-1.0.1.tgz",
+      "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
+    },
+    "uuid": {
+      "version": "3.4.0",
+      "resolved": "https://registry.npm.taobao.org/uuid/download/uuid-3.4.0.tgz?cache=0&sync_timestamp=1592944257550&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuuid%2Fdownload%2Fuuid-3.4.0.tgz",
+      "integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4="
+    },
+    "vary": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz",
+      "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
+    },
+    "vendors": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npm.taobao.org/vendors/download/vendors-1.0.4.tgz",
+      "integrity": "sha1-4rgApT56Kbk1BsPPQRANFsTErY4="
+    },
+    "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=1572870837170&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvm-browserify%2Fdownload%2Fvm-browserify-1.1.2.tgz",
+      "integrity": "sha1-eGQcSIuObKkadfUR56OzKobl3aA="
+    },
+    "vue": {
+      "version": "2.6.11",
+      "resolved": "https://registry.npm.taobao.org/vue/download/vue-2.6.11.tgz",
+      "integrity": "sha1-dllNh31LEiNEBuhONSdcbVFBJcU="
+    },
+    "vue-client-only": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npm.taobao.org/vue-client-only/download/vue-client-only-2.0.0.tgz",
+      "integrity": "sha1-3a2NZ17gLHYaFCKfDkQOIZ3h2hw="
+    },
+    "vue-eslint-parser": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npm.taobao.org/vue-eslint-parser/download/vue-eslint-parser-2.0.3.tgz?cache=0&sync_timestamp=1589539313907&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-eslint-parser%2Fdownload%2Fvue-eslint-parser-2.0.3.tgz",
+      "integrity": "sha1-wmjJbG2Uz+PZOKX3WTlZsMozYNE=",
+      "dev": true,
+      "requires": {
+        "debug": "3.2.6",
+        "eslint-scope": "3.7.3",
+        "eslint-visitor-keys": "1.3.0",
+        "espree": "3.5.4",
+        "esquery": "1.3.1",
+        "lodash": "4.17.19"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "3.2.6",
+          "resolved": "https://registry.npm.taobao.org/debug/download/debug-3.2.6.tgz?cache=0&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.2"
+          }
+        },
+        "eslint-scope": {
+          "version": "3.7.3",
+          "resolved": "https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-3.7.3.tgz",
+          "integrity": "sha1-u1ByANPRf2AkdjYWC0gmKEsQhTU=",
+          "dev": true,
+          "requires": {
+            "esrecurse": "4.2.1",
+            "estraverse": "4.3.0"
+          }
+        }
+      }
+    },
+    "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&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="
+    },
+    "vue-loader": {
+      "version": "15.9.3",
+      "resolved": "https://registry.npm.taobao.org/vue-loader/download/vue-loader-15.9.3.tgz",
+      "integrity": "sha1-DeNdnlVdPtU5aVFsrFziVTEpndo=",
+      "requires": {
+        "@vue/component-compiler-utils": "3.1.2",
+        "hash-sum": "1.0.2",
+        "loader-utils": "1.4.0",
+        "vue-hot-reload-api": "2.3.4",
+        "vue-style-loader": "4.1.2"
+      },
+      "dependencies": {
+        "hash-sum": {
+          "version": "1.0.2",
+          "resolved": "https://registry.npm.taobao.org/hash-sum/download/hash-sum-1.0.2.tgz",
+          "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ="
+        }
+      }
+    },
+    "vue-meta": {
+      "version": "2.4.0",
+      "resolved": "https://registry.npm.taobao.org/vue-meta/download/vue-meta-2.4.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-meta%2Fdownload%2Fvue-meta-2.4.0.tgz",
+      "integrity": "sha1-pBn7S0E1zpZdqzLsZB0ZicLuSEU=",
+      "requires": {
+        "deepmerge": "4.2.2"
+      }
+    },
+    "vue-no-ssr": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npm.taobao.org/vue-no-ssr/download/vue-no-ssr-1.1.1.tgz",
+      "integrity": "sha1-h1875vsK5BVoqDfzrBqA6qE3uZg="
+    },
+    "vue-qriously": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npm.taobao.org/vue-qriously/download/vue-qriously-1.1.1.tgz",
+      "integrity": "sha1-s6hLBSgMse39FTu8AD8DGZXqfOc="
+    },
+    "vue-router": {
+      "version": "3.3.4",
+      "resolved": "https://registry.npm.taobao.org/vue-router/download/vue-router-3.3.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-router%2Fdownload%2Fvue-router-3.3.4.tgz",
+      "integrity": "sha1-Tjirw0oRxBtsPYJERJouNjumJQs="
+    },
+    "vue-server-renderer": {
+      "version": "2.6.11",
+      "resolved": "https://registry.npm.taobao.org/vue-server-renderer/download/vue-server-renderer-2.6.11.tgz",
+      "integrity": "sha1-voyavGqswwmCinVcAhoF/EdLS8M=",
+      "requires": {
+        "chalk": "1.1.3",
+        "hash-sum": "1.0.2",
+        "he": "1.2.0",
+        "lodash.template": "4.5.0",
+        "lodash.uniq": "4.5.0",
+        "resolve": "1.17.0",
+        "serialize-javascript": "2.1.2",
+        "source-map": "0.5.6"
+      },
+      "dependencies": {
+        "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": "2.2.1",
+          "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz",
+          "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
+        },
+        "chalk": {
+          "version": "1.1.3",
+          "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz",
+          "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+          "requires": {
+            "ansi-styles": "2.2.1",
+            "escape-string-regexp": "1.0.5",
+            "has-ansi": "2.0.0",
+            "strip-ansi": "3.0.1",
+            "supports-color": "2.0.0"
+          }
+        },
+        "hash-sum": {
+          "version": "1.0.2",
+          "resolved": "https://registry.npm.taobao.org/hash-sum/download/hash-sum-1.0.2.tgz",
+          "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ="
+        },
+        "serialize-javascript": {
+          "version": "2.1.2",
+          "resolved": "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-2.1.2.tgz",
+          "integrity": "sha1-7OxTsOAxe9yV73arcHS3OEeF+mE="
+        },
+        "source-map": {
+          "version": "0.5.6",
+          "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.6.tgz",
+          "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI="
+        },
+        "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=1573280549549&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.1.1"
+          }
+        },
+        "supports-color": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz",
+          "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
+        }
+      }
+    },
+    "vue-style-loader": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npm.taobao.org/vue-style-loader/download/vue-style-loader-4.1.2.tgz",
+      "integrity": "sha1-3t80mAbyXOtOZPOtfApE+6c1/Pg=",
+      "requires": {
+        "hash-sum": "1.0.2",
+        "loader-utils": "1.4.0"
+      },
+      "dependencies": {
+        "hash-sum": {
+          "version": "1.0.2",
+          "resolved": "https://registry.npm.taobao.org/hash-sum/download/hash-sum-1.0.2.tgz",
+          "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ="
+        }
+      }
+    },
+    "vue-template-compiler": {
+      "version": "2.6.11",
+      "resolved": "https://registry.npm.taobao.org/vue-template-compiler/download/vue-template-compiler-2.6.11.tgz",
+      "integrity": "sha1-wEcE749JixUxMAGJk+VjCdRpgIA=",
+      "requires": {
+        "de-indent": "1.0.2",
+        "he": "1.2.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="
+    },
+    "vuex": {
+      "version": "3.5.1",
+      "resolved": "https://registry.npm.taobao.org/vuex/download/vuex-3.5.1.tgz?cache=0&sync_timestamp=1593472529168&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvuex%2Fdownload%2Fvuex-3.5.1.tgz",
+      "integrity": "sha1-8bjc6mSbwlJUz09DWAgdv12hiz0="
+    },
+    "watchpack": {
+      "version": "1.7.2",
+      "resolved": "https://registry.npm.taobao.org/watchpack/download/watchpack-1.7.2.tgz",
+      "integrity": "sha1-wC5NTUmRPD5+EiwzJTZa+dMx6ao=",
+      "requires": {
+        "chokidar": "3.4.1",
+        "graceful-fs": "4.2.4",
+        "neo-async": "2.6.2",
+        "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=",
+      "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=",
+          "optional": true,
+          "requires": {
+            "micromatch": "3.1.10",
+            "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=",
+              "optional": true,
+              "requires": {
+                "remove-trailing-separator": "1.1.0"
+              }
+            }
+          }
+        },
+        "binary-extensions": {
+          "version": "1.13.1",
+          "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.13.1.tgz?cache=0&sync_timestamp=1593261309792&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-1.13.1.tgz",
+          "integrity": "sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U=",
+          "optional": true
+        },
+        "chokidar": {
+          "version": "2.1.8",
+          "resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-2.1.8.tgz?cache=0&sync_timestamp=1594864755413&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-2.1.8.tgz",
+          "integrity": "sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc=",
+          "optional": true,
+          "requires": {
+            "anymatch": "2.0.0",
+            "async-each": "1.0.3",
+            "braces": "2.3.2",
+            "glob-parent": "3.1.0",
+            "inherits": "2.0.4",
+            "is-binary-path": "1.0.1",
+            "is-glob": "4.0.1",
+            "normalize-path": "3.0.0",
+            "path-is-absolute": "1.0.1",
+            "readdirp": "2.2.1",
+            "upath": "1.2.0"
+          }
+        },
+        "fsevents": {
+          "version": "1.2.13",
+          "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-1.2.13.tgz?cache=0&sync_timestamp=1588787369955&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffsevents%2Fdownload%2Ffsevents-1.2.13.tgz",
+          "integrity": "sha1-8yXLBFVZJCi88Rs4M3DvcOO/zDg="
+        },
+        "glob-parent": {
+          "version": "3.1.0",
+          "resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-3.1.0.tgz",
+          "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+          "optional": true,
+          "requires": {
+            "is-glob": "3.1.0",
+            "path-dirname": "1.0.2"
+          },
+          "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=",
+              "optional": true,
+              "requires": {
+                "is-extglob": "2.1.1"
+              }
+            }
+          }
+        },
+        "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=",
+          "optional": true,
+          "requires": {
+            "binary-extensions": "1.13.1"
+          }
+        },
+        "readable-stream": {
+          "version": "2.3.7",
+          "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz",
+          "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=",
+          "optional": true,
+          "requires": {
+            "core-util-is": "1.0.2",
+            "inherits": "2.0.4",
+            "isarray": "1.0.0",
+            "process-nextick-args": "2.0.1",
+            "safe-buffer": "5.1.2",
+            "string_decoder": "1.1.1",
+            "util-deprecate": "1.0.2"
+          }
+        },
+        "readdirp": {
+          "version": "2.2.1",
+          "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-2.2.1.tgz",
+          "integrity": "sha1-DodiKjMlqjPokihcr4tOhGUppSU=",
+          "optional": true,
+          "requires": {
+            "graceful-fs": "4.2.4",
+            "micromatch": "3.1.10",
+            "readable-stream": "2.3.7"
+          }
+        },
+        "safe-buffer": {
+          "version": "5.1.2",
+          "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz",
+          "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0="
+        },
+        "string_decoder": {
+          "version": "1.1.1",
+          "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz",
+          "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=",
+          "optional": true,
+          "requires": {
+            "safe-buffer": "5.1.2"
+          }
+        }
+      }
+    },
+    "webpack": {
+      "version": "4.43.0",
+      "resolved": "https://registry.npm.taobao.org/webpack/download/webpack-4.43.0.tgz?cache=0&sync_timestamp=1594294569926&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack%2Fdownload%2Fwebpack-4.43.0.tgz",
+      "integrity": "sha1-xIVHsR1WMiTFYdrRFyyKoLimeOY=",
+      "requires": {
+        "@webassemblyjs/ast": "1.9.0",
+        "@webassemblyjs/helper-module-context": "1.9.0",
+        "@webassemblyjs/wasm-edit": "1.9.0",
+        "@webassemblyjs/wasm-parser": "1.9.0",
+        "acorn": "6.4.1",
+        "ajv": "6.12.3",
+        "ajv-keywords": "3.5.1",
+        "chrome-trace-event": "1.0.2",
+        "enhanced-resolve": "4.3.0",
+        "eslint-scope": "4.0.3",
+        "json-parse-better-errors": "1.0.2",
+        "loader-runner": "2.4.0",
+        "loader-utils": "1.4.0",
+        "memory-fs": "0.4.1",
+        "micromatch": "3.1.10",
+        "mkdirp": "0.5.5",
+        "neo-async": "2.6.2",
+        "node-libs-browser": "2.2.1",
+        "schema-utils": "1.0.0",
+        "tapable": "1.1.3",
+        "terser-webpack-plugin": "1.4.4",
+        "watchpack": "1.7.2",
+        "webpack-sources": "1.4.3"
+      },
+      "dependencies": {
+        "cacache": {
+          "version": "12.0.4",
+          "resolved": "https://registry.npm.taobao.org/cacache/download/cacache-12.0.4.tgz?cache=0&sync_timestamp=1594428010987&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcacache%2Fdownload%2Fcacache-12.0.4.tgz",
+          "integrity": "sha1-ZovL0QWutfHZL+JVcOyVJcj6pAw=",
+          "requires": {
+            "bluebird": "3.7.2",
+            "chownr": "1.1.4",
+            "figgy-pudding": "3.5.2",
+            "glob": "7.1.6",
+            "graceful-fs": "4.2.4",
+            "infer-owner": "1.0.4",
+            "lru-cache": "5.1.1",
+            "mississippi": "3.0.0",
+            "mkdirp": "0.5.5",
+            "move-concurrently": "1.0.1",
+            "promise-inflight": "1.0.1",
+            "rimraf": "2.7.1",
+            "ssri": "6.0.1",
+            "unique-filename": "1.1.1",
+            "y18n": "4.0.0"
+          }
+        },
+        "schema-utils": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npm.taobao.org/schema-utils/download/schema-utils-1.0.0.tgz",
+          "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=",
+          "requires": {
+            "ajv": "6.12.3",
+            "ajv-errors": "1.0.1",
+            "ajv-keywords": "3.5.1"
+          }
+        },
+        "serialize-javascript": {
+          "version": "3.1.0",
+          "resolved": "https://registry.npm.taobao.org/serialize-javascript/download/serialize-javascript-3.1.0.tgz",
+          "integrity": "sha1-i/OpFwcSZk7yVhtEtpHq/jmSFOo=",
+          "requires": {
+            "randombytes": "2.1.0"
+          }
+        },
+        "source-map": {
+          "version": "0.6.1",
+          "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz",
+          "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM="
+        },
+        "ssri": {
+          "version": "6.0.1",
+          "resolved": "https://registry.npm.taobao.org/ssri/download/ssri-6.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fssri%2Fdownload%2Fssri-6.0.1.tgz",
+          "integrity": "sha1-KjxBso3UW2K2Nnbst0ABJlrp7dg=",
+          "requires": {
+            "figgy-pudding": "3.5.2"
+          }
+        },
+        "terser-webpack-plugin": {
+          "version": "1.4.4",
+          "resolved": "https://registry.npm.taobao.org/terser-webpack-plugin/download/terser-webpack-plugin-1.4.4.tgz?cache=0&sync_timestamp=1594912389092&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fterser-webpack-plugin%2Fdownload%2Fterser-webpack-plugin-1.4.4.tgz",
+          "integrity": "sha1-LGNUQ0cyS6r6mla6rd8WNMir/C8=",
+          "requires": {
+            "cacache": "12.0.4",
+            "find-cache-dir": "2.1.0",
+            "is-wsl": "1.1.0",
+            "schema-utils": "1.0.0",
+            "serialize-javascript": "3.1.0",
+            "source-map": "0.6.1",
+            "terser": "4.8.0",
+            "webpack-sources": "1.4.3",
+            "worker-farm": "1.7.0"
+          }
+        }
+      }
+    },
+    "webpack-bundle-analyzer": {
+      "version": "3.8.0",
+      "resolved": "https://registry.npm.taobao.org/webpack-bundle-analyzer/download/webpack-bundle-analyzer-3.8.0.tgz",
+      "integrity": "sha1-zms/kI2vBp/R9yZvaSy7O97ZuhY=",
+      "requires": {
+        "acorn": "7.3.1",
+        "acorn-walk": "7.2.0",
+        "bfj": "6.1.2",
+        "chalk": "2.4.2",
+        "commander": "2.20.3",
+        "ejs": "2.7.4",
+        "express": "4.17.1",
+        "filesize": "3.6.1",
+        "gzip-size": "5.1.1",
+        "lodash": "4.17.19",
+        "mkdirp": "0.5.5",
+        "opener": "1.5.1",
+        "ws": "6.2.1"
+      },
+      "dependencies": {
+        "acorn": {
+          "version": "7.3.1",
+          "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-7.3.1.tgz?cache=0&sync_timestamp=1591869432510&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn%2Fdownload%2Facorn-7.3.1.tgz",
+          "integrity": "sha1-hQEHVNtTw/uvO56j4IOqXF0Uf/0="
+        },
+        "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.5.0"
+          }
+        },
+        "commander": {
+          "version": "2.20.3",
+          "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.20.3.tgz?cache=0&sync_timestamp=1592632084115&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz",
+          "integrity": "sha1-/UhehMA+tIgcIHIrpIA16FMa6zM="
+        }
+      }
+    },
+    "webpack-dev-middleware": {
+      "version": "3.7.2",
+      "resolved": "https://registry.npm.taobao.org/webpack-dev-middleware/download/webpack-dev-middleware-3.7.2.tgz?cache=0&sync_timestamp=1594744591904&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-dev-middleware%2Fdownload%2Fwebpack-dev-middleware-3.7.2.tgz",
+      "integrity": "sha1-ABnD23FuP6XOy/ZPKriKdLqzMfM=",
+      "requires": {
+        "memory-fs": "0.4.1",
+        "mime": "2.4.6",
+        "mkdirp": "0.5.5",
+        "range-parser": "1.2.1",
+        "webpack-log": "2.0.0"
+      }
+    },
+    "webpack-external-import": {
+      "version": "2.2.4",
+      "resolved": "https://registry.npm.taobao.org/webpack-external-import/download/webpack-external-import-2.2.4.tgz",
+      "integrity": "sha1-lUwKQ/J69eAdsMZFTu6CMs686KU=",
+      "requires": {
+        "assert": "2.0.0",
+        "dimport": "1.0.0",
+        "fs-extra": "8.1.0",
+        "loadjs": "4.2.0",
+        "mem": "6.1.0",
+        "pkg-up": "3.1.0",
+        "tapable": "1.1.3"
+      }
+    },
+    "webpack-hot-middleware": {
+      "version": "2.25.0",
+      "resolved": "https://registry.npm.taobao.org/webpack-hot-middleware/download/webpack-hot-middleware-2.25.0.tgz",
+      "integrity": "sha1-RSigpj7Df4+O9WXPnlNNV9Cf5wY=",
+      "requires": {
+        "ansi-html": "0.0.7",
+        "html-entities": "1.3.1",
+        "querystring": "0.2.0",
+        "strip-ansi": "3.0.1"
+      },
+      "dependencies": {
+        "ansi-regex": {
+          "version": "2.1.1",
+          "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz",
+          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
+        },
+        "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=1573280549549&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.1.1"
+          }
+        }
+      }
+    },
+    "webpack-log": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npm.taobao.org/webpack-log/download/webpack-log-2.0.0.tgz",
+      "integrity": "sha1-W3ko4GN1k/EZ0y9iJ8HgrDHhtH8=",
+      "requires": {
+        "ansi-colors": "3.2.4",
+        "uuid": "3.4.0"
+      }
+    },
+    "webpack-node-externals": {
+      "version": "1.7.2",
+      "resolved": "https://registry.npm.taobao.org/webpack-node-externals/download/webpack-node-externals-1.7.2.tgz?cache=0&sync_timestamp=1594514947854&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-node-externals%2Fdownload%2Fwebpack-node-externals-1.7.2.tgz",
+      "integrity": "sha1-bh7nmsZ8BwQCunAO8DOpuNUqxOM="
+    },
+    "webpack-sources": {
+      "version": "1.4.3",
+      "resolved": "https://registry.npm.taobao.org/webpack-sources/download/webpack-sources-1.4.3.tgz",
+      "integrity": "sha1-7t2OwLko+/HL/plOItLYkPMwqTM=",
+      "requires": {
+        "source-list-map": "2.0.1",
+        "source-map": "0.6.1"
+      },
+      "dependencies": {
+        "source-map": {
+          "version": "0.6.1",
+          "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz",
+          "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM="
+        }
+      }
+    },
+    "webpackbar": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npm.taobao.org/webpackbar/download/webpackbar-4.0.0.tgz",
+      "integrity": "sha1-7nqH8WB3UFtXIFUa9BPI7NWx94A=",
+      "requires": {
+        "ansi-escapes": "4.3.1",
+        "chalk": "2.4.2",
+        "consola": "2.14.0",
+        "figures": "3.2.0",
+        "pretty-time": "1.1.0",
+        "std-env": "2.2.1",
+        "text-table": "0.2.0",
+        "wrap-ansi": "6.2.0"
+      },
+      "dependencies": {
+        "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.5.0"
+          }
+        }
+      }
+    },
+    "which": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npm.taobao.org/which/download/which-2.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhich%2Fdownload%2Fwhich-2.0.2.tgz",
+      "integrity": "sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=",
+      "requires": {
+        "isexe": "2.0.0"
+      }
+    },
+    "which-typed-array": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npm.taobao.org/which-typed-array/download/which-typed-array-1.1.2.tgz?cache=0&sync_timestamp=1586322808986&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhich-typed-array%2Fdownload%2Fwhich-typed-array-1.1.2.tgz",
+      "integrity": "sha1-5fmOVr2pPj2sGWsB1HwRVmecALI=",
+      "requires": {
+        "available-typed-arrays": "1.0.2",
+        "es-abstract": "1.17.6",
+        "foreach": "2.0.5",
+        "function-bind": "1.1.1",
+        "has-symbols": "1.0.1",
+        "is-typed-array": "1.1.3"
+      }
+    },
+    "widest-line": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npm.taobao.org/widest-line/download/widest-line-3.1.0.tgz",
+      "integrity": "sha1-gpIzO79my0X/DeFgOxNreuFJbso=",
+      "requires": {
+        "string-width": "4.2.0"
+      },
+      "dependencies": {
+        "ansi-regex": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-5.0.0.tgz",
+          "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U="
+        },
+        "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",
+          "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0="
+        },
+        "string-width": {
+          "version": "4.2.0",
+          "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-4.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-4.2.0.tgz",
+          "integrity": "sha1-lSGCxGzHssMT0VluYjmSvRY7crU=",
+          "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=1573280549549&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"
+          }
+        }
+      }
+    },
+    "word-wrap": {
+      "version": "1.2.3",
+      "resolved": "https://registry.npm.taobao.org/word-wrap/download/word-wrap-1.2.3.tgz",
+      "integrity": "sha1-YQY29rH3A4kb00dxzLF/uTtHB5w=",
+      "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=",
+      "requires": {
+        "errno": "0.1.7"
+      }
+    },
+    "wrap-ansi": {
+      "version": "6.2.0",
+      "resolved": "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-6.2.0.tgz",
+      "integrity": "sha1-6Tk7oHEC5skaOyIUePAlfNKFblM=",
+      "requires": {
+        "ansi-styles": "4.2.1",
+        "string-width": "4.2.0",
+        "strip-ansi": "6.0.0"
+      },
+      "dependencies": {
+        "ansi-regex": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-5.0.0.tgz",
+          "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U="
+        },
+        "ansi-styles": {
+          "version": "4.2.1",
+          "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.2.1.tgz",
+          "integrity": "sha1-kK51xCTQCNJiTFvynq0xd+v881k=",
+          "requires": {
+            "@types/color-name": "1.1.1",
+            "color-convert": "2.0.1"
+          }
+        },
+        "color-convert": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npm.taobao.org/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.npm.taobao.org/color-name/download/color-name-1.1.4.tgz",
+          "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI="
+        },
+        "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",
+          "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0="
+        },
+        "string-width": {
+          "version": "4.2.0",
+          "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-4.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring-width%2Fdownload%2Fstring-width-4.2.0.tgz",
+          "integrity": "sha1-lSGCxGzHssMT0VluYjmSvRY7crU=",
+          "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=1573280549549&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"
+          }
+        }
+      }
+    },
+    "wrappy": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz",
+      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
+    },
+    "write": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npm.taobao.org/write/download/write-0.2.1.tgz",
+      "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=",
+      "dev": true,
+      "requires": {
+        "mkdirp": "0.5.5"
+      }
+    },
+    "write-file-atomic": {
+      "version": "2.4.3",
+      "resolved": "https://registry.npm.taobao.org/write-file-atomic/download/write-file-atomic-2.4.3.tgz?cache=0&sync_timestamp=1582585849133&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwrite-file-atomic%2Fdownload%2Fwrite-file-atomic-2.4.3.tgz",
+      "integrity": "sha1-H9Lprh3z51uNjDZ0Q8aS1MqB9IE=",
+      "requires": {
+        "graceful-fs": "4.2.4",
+        "imurmurhash": "0.1.4",
+        "signal-exit": "3.0.3"
+      }
+    },
+    "write-json-file": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npm.taobao.org/write-json-file/download/write-json-file-2.3.0.tgz?cache=0&sync_timestamp=1581068147710&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwrite-json-file%2Fdownload%2Fwrite-json-file-2.3.0.tgz",
+      "integrity": "sha1-K2TIozAE1UuGmMdtWFp3zrYdoy8=",
+      "requires": {
+        "detect-indent": "5.0.0",
+        "graceful-fs": "4.2.4",
+        "make-dir": "1.3.0",
+        "pify": "3.0.0",
+        "sort-keys": "2.0.0",
+        "write-file-atomic": "2.4.3"
+      },
+      "dependencies": {
+        "make-dir": {
+          "version": "1.3.0",
+          "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-1.3.0.tgz?cache=0&sync_timestamp=1587567693680&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmake-dir%2Fdownload%2Fmake-dir-1.3.0.tgz",
+          "integrity": "sha1-ecEDO4BRW9bSTsmTPoYMp17ifww=",
+          "requires": {
+            "pify": "3.0.0"
+          }
+        },
+        "pify": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz?cache=0&sync_timestamp=1581697613983&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpify%2Fdownload%2Fpify-3.0.0.tgz",
+          "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY="
+        },
+        "sort-keys": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npm.taobao.org/sort-keys/download/sort-keys-2.0.0.tgz",
+          "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=",
+          "requires": {
+            "is-plain-obj": "1.1.0"
+          }
+        }
+      }
+    },
+    "ws": {
+      "version": "6.2.1",
+      "resolved": "https://registry.npm.taobao.org/ws/download/ws-6.2.1.tgz?cache=0&sync_timestamp=1593925423349&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fws%2Fdownload%2Fws-6.2.1.tgz",
+      "integrity": "sha1-RC/fCkftZPWbal2P8TD0dI7VJPs=",
+      "requires": {
+        "async-limiter": "1.0.1"
+      }
+    },
+    "xtend": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npm.taobao.org/xtend/download/xtend-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=",
+      "requires": {
+        "cuint": "0.2.2"
+      }
+    },
+    "y18n": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-4.0.0.tgz",
+      "integrity": "sha1-le+U+F7MgdAHwmThkKEg8KPIVms="
+    },
+    "yallist": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-4.0.0.tgz?cache=0&sync_timestamp=1569874170379&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyallist%2Fdownload%2Fyallist-4.0.0.tgz",
+      "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI="
+    }
+  }
+}

+ 37 - 0
package.json

@@ -0,0 +1,37 @@
+{
+  "name": "p2p-site",
+  "version": "1.0.0",
+  "description": "尚医通前端平台",
+  "author": "qy<493290402@qq.com>",
+  "private": true,
+  "scripts": {
+    "dev": "nuxt",
+    "build": "nuxt build",
+    "start": "nuxt start",
+    "generate": "nuxt generate",
+    "lint": "eslint --ext .js,.vue --ignore-path .gitignore .",
+    "precommit": "npm run lint"
+  },
+  "config": {
+    "nuxt": {
+      "host": "0.0.0.0",
+      "port": "3000"
+    }
+  },
+  "dependencies": {
+    "@nuxtjs/axios": "^5.13.6",
+    "@nuxtjs/proxy": "^2.1.0",
+    "axios": "^0.19.2",
+    "element-ui": "^2.13.2",
+    "js-cookie": "^2.2.1",
+    "nuxt": "^2.0.0",
+    "vue-qriously": "^1.1.1"
+  },
+  "devDependencies": {
+    "babel-eslint": "^10.0.1",
+    "eslint": "^4.19.1",
+    "eslint-friendly-formatter": "^4.0.1",
+    "eslint-loader": "^2.1.1",
+    "eslint-plugin-vue": "^4.0.0"
+  }
+}

+ 8 - 0
pages/README.md

@@ -0,0 +1,8 @@
+# PAGES
+
+This directory contains your Application Views and Routes.
+The framework reads all the .vue files inside this directory and creates the router of your application.
+
+More information about the usage of this directory in the documentation:
+https://nuxtjs.org/guide/routing
+

+ 162 - 0
pages/hospital/_hoscode.vue

@@ -0,0 +1,162 @@
+<template>
+
+  <!-- header -->
+  <div class="nav-container page-component">
+    <!--左侧导航 #start -->
+    <div class="nav left-nav">
+      <div class="nav-item selected">
+        <span class="v-link selected dark" :onclick="'javascript:window.location=\'/hospital/'+hospital.hoscode+'\''">预约挂号 </span>
+      </div>
+      <div class="nav-item ">
+        <span class="v-link clickable dark" :onclick="'javascript:window.location=\'/hospital/detail/'+hospital.hoscode+'\''"> 医院详情 </span>
+      </div>
+      <div class="nav-item">
+        <span class="v-link clickable dark" :onclick="'javascript:window.location=\'/hospital/notice/'+hospital.hoscode+'\''"> 预约须知 </span>
+      </div>
+      <div class="nav-item "><span
+        class="v-link clickable dark"> 停诊信息 </span>
+      </div>
+      <div class="nav-item "><span
+        class="v-link clickable dark"> 查询/取消 </span>
+      </div>
+    </div>
+    <!-- 左侧导航 #end -->
+
+    <!-- 右侧内容 #start -->
+    <div class="page-container">
+      <div class="hospital-home">
+        <div class="common-header">
+          <div class="title-wrapper"><span
+            class="hospital-title">{{ hospital.hosname }}</span>
+            <div class="icon-wrapper">
+              <span class="iconfont"></span>{{ hospital.param.hostypeString }}
+            </div>
+          </div>
+        </div>
+        <div class="info-wrapper">
+          <img class="hospital-img" :src="'data:image/jpeg;base64,'+hospital.logoData" :alt="hospital.hosname">
+          <div class="content-wrapper">
+            <div> 挂号规则</div>
+            <div class="line">
+              <div><span class="label">预约周期:</span><span>{{ bookingRule.cycle }}天</span></div>
+              <div class="space"><span class="label">放号时间:</span><span>{{ bookingRule.releaseTime }}</span></div>
+              <div class="space"><span class="label">停挂时间:</span><span>{{ bookingRule.stopTime }}</span></div>
+            </div>
+            <div class="line"><span class="label">退号时间:</span>
+              <span v-if="bookingRule.quitDay == -1">就诊前一工作日{{ bookingRule.quitTime }}前取消</span>
+              <span v-if="bookingRule.quitDay == 0">就诊前当天{{ bookingRule.quitTime }}前取消</span>
+            </div>
+            <div style="margin-top:20px"> 医院预约规则</div>
+            <div class="rule-wrapper">
+              <ol>
+                <li v-for="item in bookingRule.rule" :key="item">{{ item }}</li>
+              </ol>
+            </div>
+          </div>
+        </div>
+        <div class="title select-title"> 选择科室</div>
+        <div class="select-dept-wrapper">
+          <div class="department-wrapper">
+            <div class="hospital-department">
+              <div class="dept-list-wrapper el-scrollbar" style="height: 100%;">
+                <div class="dept-list el-scrollbar__wrap" style="margin-bottom: -17px; margin-right: -17px;">
+                  <div class="el-scrollbar__view">
+                    <div class="sub-item" v-for="(item,index) in departmentVoList" :key="item.id" :class="index == activeIndex ? 'selected' : ''" @click="move(index,item.depcode)"> {{ item.depname }}</div>
+                  </div>
+                </div>
+                <div class="el-scrollbar__bar is-horizontal">
+                  <div class="el-scrollbar__thumb" style="transform: translateX(0%);"></div>
+                </div>
+                <div class="el-scrollbar__bar is-vertical">
+                  <div class="el-scrollbar__thumb" style="transform: translateY(0%); height: 91.4761%;"></div>
+                </div>
+              </div>
+            </div>
+          </div>
+          <div class="sub-dept-container">
+            <div v-for="(item,index) in departmentVoList" :key="item.id" :class="index == 0 ? 'selected' : ''" class="sub-dept-wrapper" :id="item.depcode">
+              <div class="sub-title">
+                <div class="block selected"></div>{{ item.depname }}
+              </div>
+              <div class="sub-item-wrapper">
+                <div v-for="it in item.children" :key="it.id" class="sub-item" @click="schedule(it.depcode)"><span class="v-link clickable">{{ it.depname }} </span></div>
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+    <!-- 右侧内容 #end -->
+  </div>
+  <!-- footer -->
+</template>
+
+<script>
+import '~/assets/css/hospital_personal.css'
+import '~/assets/css/hospital.css'
+
+import cookie from 'js-cookie'
+import hospitalApi from '@/api/hosp/hospital'
+import userInfoApi from '@/api/user/userInfo'
+
+export default {
+  data() {
+    return {
+      hoscode: null,
+      activeIndex: 0,
+
+      hospital: {
+        param: {}
+      },
+      bookingRule : {},
+      departmentVoList : []
+    }
+  },
+
+  created() {
+    this.hoscode = this.$route.params.hoscode
+
+    this.init()
+  },
+
+  methods: {
+    init() {
+      hospitalApi.show(this.hoscode).then(response => {
+        this.hospital = response.data.hospital
+        this.bookingRule = response.data.bookingRule
+      })
+
+      hospitalApi.findDepartment(this.hoscode).then(response => {
+        this.departmentVoList = response.data
+      })
+    },
+
+    move(index, depcode) {
+      this.activeIndex = index
+      document.getElementById(depcode).scrollIntoView();
+    },
+
+    schedule(depcode) {
+      debugger
+      // 登录判断
+      let token = cookie.get('token')
+      if (!token) {
+        loginEvent.$emit('loginDialogEvent')
+        return
+      }
+
+      //判断认证
+      userInfoApi.getUserInfo().then(response => {
+        let authStatus = response.data.authStatus
+        // 状态为2认证通过
+        if (!authStatus || authStatus != 2) {
+          window.location.href = '/user'
+          return
+        }
+      })
+
+      window.location.href = '/hospital/schedule?hoscode=' + this.hospital.hoscode + "&depcode=" + depcode
+    }
+  }
+}
+</script>

+ 261 - 0
pages/hospital/booking.vue

@@ -0,0 +1,261 @@
+<template>
+  <!-- header -->
+  <div class="nav-container page-component">
+    <!--左侧导航 #start -->
+    <div class="nav left-nav">
+      <div class="nav-item selected">
+        <span class="v-link selected dark" :onclick="'javascript:window.location=\'/hospital/'+schedule.hoscode+'\''">预约挂号 </span>
+      </div>
+      <div class="nav-item ">
+        <span class="v-link clickable dark" :onclick="'javascript:window.location=\'/hospital/detail/'+schedule.hoscode+'\''"> 医院详情 </span>
+      </div>
+      <div class="nav-item">
+        <span class="v-link clickable dark" :onclick="'javascript:window.location=\'/hospital/notice/'+schedule.hoscode+'\''"> 预约须知 </span>
+      </div>
+      <div class="nav-item "><span
+        class="v-link clickable dark"> 停诊信息 </span>
+      </div>
+      <div class="nav-item "><span
+        class="v-link clickable dark"> 查询/取消 </span>
+      </div>
+    </div>
+    <!-- 左侧导航 #end -->
+
+    <!-- 右侧内容 #start -->
+    <div class="page-container">
+      <div class="hospital-order">
+        <div class="header-wrapper">
+          <div class="title mt20"> 确认挂号信息</div>
+          <div>
+            <div class="sub-title">
+              <div class="block"></div>
+              选择就诊人:
+            </div>
+            <div class="patient-wrapper">
+              <div >
+                <div class="v-card clickable item ">
+                  <div class="inline" v-for="(item,index) in patientList" :key="item.id"
+                       @click="selectPatient(index)" style="margin-right: 10px;">
+                    <!-- 选中 selected  未选中去掉selected-->
+                    <div :class="activeIndex == index ? 'item-wrapper selected' : 'item-wrapper'">
+                      <div>
+                        <div class="item-title">{{ item.name }}</div>
+                        <div>{{ item.param.certificatesTypeString }}</div>
+                        <div>{{ item.certificatesNo }}</div>
+                      </div>
+                      <img src="//img.114yygh.com/static/web/checked.png" class="checked">
+                    </div>
+                  </div>
+                </div>
+              </div>
+              <div class="item space add-patient v-card clickable">
+                <div class="">
+                  <div class="item-add-wrapper" @click="addPatient()"> +
+                    添加就诊人
+                  </div>
+                </div>
+              </div>
+              <div class="el-loading-mask" style="display: none;">
+                <div class="el-loading-spinner">
+                  <svg viewBox="25 25 50 50" class="circular">
+                    <circle cx="50" cy="50" r="20" fill="none" class="path"></circle>
+                  </svg>
+                </div>
+              </div>
+            </div>
+            <!-- 就诊人,选中显示 -->
+            <div class="sub-title" v-if="patientList.length > 0">
+              <div class="block"></div>
+              选择就诊卡: <span class="card-tips"><span
+              class="iconfont"></span> 如您持社保卡就诊,请务必选择医保预约挂号,以保证正常医保报销</span>
+            </div>
+
+            <el-card class="patient-card" shadow="always" v-if="patientList.length > 0">
+              <div slot="header" class="clearfix">
+                <div><span class="name"> {{ patient.name }} {{ patient.certificatesNo }} 居民身份证</span></div>
+              </div>
+              <div class="card SELF_PAY_CARD">
+                <div class="info"><span class="type">{{ patient.isInsure == 0 ? '自费' : '医保'}}</span><span class="card-no">{{ patient.certificatesNo }}</span><span
+                  class="card-view">居民身份证</span></div>
+                <span class="operate"></span></div>
+              <div class="card">
+                <div class="text bind-card"></div>
+              </div>
+            </el-card>
+
+
+            <div class="sub-title">
+              <div class="block"></div>
+              挂号信息
+            </div>
+            <div class="content-wrapper">
+              <el-form ref="form">
+                <el-form-item label="就诊日期:">
+                  <div class="content"><span>{{ schedule.workDate }} {{ schedule.param.dayOfWeek }} {{ schedule.workTime == 0 ? '上午' : '下午' }}</span></div>
+                </el-form-item>
+                <el-form-item label="就诊医院:">
+                  <div class="content"><span>{{ schedule.param.hosname }} </span></div>
+                </el-form-item>
+                <el-form-item label="就诊科室:">
+                  <div class="content"><span>{{ schedule.param.depname }} </span></div>
+                </el-form-item>
+                <el-form-item label="医生姓名:">
+                  <div class="content"><span>{{ schedule.docname }} </span></div>
+                </el-form-item>
+                <el-form-item label="医生职称:">
+                  <div class="content"><span>{{ schedule.title }} </span></div>
+                </el-form-item>
+                <el-form-item label="医生专长:">
+                  <div class="content"><span>{{ schedule.skill }}</span></div>
+                </el-form-item>
+                <el-form-item label="医事服务费:">
+                  <div class="content">
+                    <div class="fee">{{ schedule.amount }}元</div>
+                  </div>
+                </el-form-item>
+              </el-form>
+            </div>
+
+            <!-- 用户信息 #start-->
+            <div>
+              <div class="sub-title">
+                <div class="block"></div>
+                用户信息
+              </div>
+              <div class="content-wrapper">
+                <el-form ref="form" :model="form">
+                  <el-form-item class="form-item" label="就诊人手机号:">
+                    {{ patient.phone }}
+                  </el-form-item>
+                </el-form>
+              </div>
+            </div>
+            <!-- 用户信息 #end -->
+            <div class="bottom-wrapper">
+              <div class="button-wrapper">
+                <div class="v-button" @click="submitOrder()">{{ submitBnt }}</div>
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+    <!-- 右侧内容 #end -->
+  </div>
+  <!-- footer -->
+</template>
+
+<script>
+import '~/assets/css/hospital_personal.css'
+import '~/assets/css/hospital.css'
+
+import hospitalApi from '@/api/hosp/hospital'
+import patientApi from '@/api/user/patient'
+import orderInfoApi from '@/api/order/orderInfo'
+
+export default {
+
+  data() {
+    return {
+      scheduleId: null,
+      schedule: {
+        param: {}
+      },
+      patientList: [],
+      patient: {},
+
+      activeIndex: 0,
+      submitBnt: '确认挂号'
+    }
+  },
+
+  created() {
+    this.scheduleId = this.$route.query.scheduleId
+
+    this.init()
+  },
+
+  methods: {
+    init() {
+      this.getSchedule()
+
+      this.findPatientList()
+    },
+
+    getSchedule() {
+      hospitalApi.getSchedule(this.scheduleId).then(response => {
+        this.schedule = response.data
+      })
+    },
+
+    findPatientList() {
+      patientApi.findList().then(response => {
+        this.patientList = response.data
+        if(this.patientList.length > 0) {
+          this.patient = this.patientList[0]
+        }
+      })
+    },
+
+    selectPatient(index) {
+      this.activeIndex = index;
+      this.patient = this.patientList[index]
+    },
+
+    submitOrder() {
+      if(this.patient.id == null) {
+        this.$message.error('请选择就诊人')
+        return
+      }
+      // 防止重复提交
+      if(this.submitBnt == '正在提交...') {
+        this.$message.error('重复提交')
+        return
+      }
+
+      this.submitBnt = '正在提交...'
+      orderInfoApi.submitOrder(this.scheduleId, this.patient.id).then(response => {
+        let orderId = response.data
+        window.location.href = '/order/show?orderId=' + orderId
+      }).catch(e => {
+        this.submitBnt = '确认挂号'
+      })
+    },
+
+    addPatient() {
+      window.location.href = '/patient/add'
+    }
+  }
+}
+</script>
+<style>
+  .hospital-order .header-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: block !important;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+  }
+  .hospital-order .sub-title {
+    letter-spacing: 1px;
+    color: #999;
+    margin-top: 60px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+  }
+  .hospital-order .content-wrapper .content {
+    color: #333;
+  }
+  .el-form-item {
+    margin-bottom: 5px;
+  }
+  .hospital-order .content-wrapper {
+    margin-left: 140px;
+    margin-top: 20px;
+  }
+</style>

+ 101 - 0
pages/hospital/detail/_hoscode.vue

@@ -0,0 +1,101 @@
+<template>
+  <!-- header -->
+  <div class="nav-container page-component">
+    <!--左侧导航 #start -->
+    <div class="nav left-nav">
+      <div class="nav-item ">
+        <span class="v-link clickable dark" :onclick="'javascript:window.location=\'/hospital/'+hospital.hoscode+'\''">预约挂号 </span>
+      </div>
+      <div class="nav-item selected">
+        <span class="v-link selected dark" :onclick="'javascript:window.location=\'/hospital/detail/'+hospital.hoscode+'\''"> 医院详情 </span>
+      </div>
+      <div class="nav-item">
+        <span class="v-link clickable dark" :onclick="'javascript:window.location=\'/hospital/notice/'+hospital.hoscode+'\''"> 预约须知 </span>
+      </div>
+      <div class="nav-item "><span
+        class="v-link clickable dark"> 停诊信息 </span>
+      </div>
+      <div class="nav-item "><span
+        class="v-link clickable dark"> 查询/取消 </span>
+      </div>
+    </div>
+    <!-- 左侧导航 #end -->
+
+    <!-- 右侧内容 #start -->
+    <div class="page-container">
+      <div class="hospital-detail">
+        <div class="common-header">
+          <div class="title-wrapper"><span class="hospital-title">{{ hospital.hosname }}</span>
+            <div class="icon-wrapper"><span class="iconfont"></span> {{ hospital.param.hostypeString }}</div>
+          </div>
+        </div>
+        <div class="info-wrapper"><img :src="'data:image/jpeg;base64,'+hospital.logoData" :alt="hospital.hosname" style="width: 80px; height: 80px;">
+          <div class="content-wrapper">
+            <div></div>
+            <div></div>
+            <div></div>
+            <div>
+              <div class="icon-text-wrapper"><span class="iconfont prefix-icon"></span>
+                <span class="text"><p>{{ hospital.route }}</p>
+              </span><span class="iconfont right-icon"></span></div>
+            </div>
+          </div>
+        </div>
+        <div class="title mt40"> 医院介绍</div>
+        <div class="detail-content mt40"><p>{{ hospital.intro }}</p></div>
+      </div>
+    </div>
+    <!-- 右侧内容 #end -->
+  </div>
+  <!-- footer -->
+</template>
+
+<script>
+import '~/assets/css/hospital_personal.css'
+import '~/assets/css/hospital.css'
+
+import hospitalApi from '@/api/hosp/hospital'
+export default {
+  data() {
+    return {
+      hoscode: null,
+      hospital: {
+        param: {}
+      }
+    }
+  },
+
+  created() {
+    this.hoscode = this.$route.params.hoscode
+
+    this.init()
+  },
+
+  methods: {
+    init() {
+      hospitalApi.show(this.hoscode).then(response => {
+        this.hospital = response.data.hospital
+      })
+
+    }
+  }
+}
+</script>
+<style>
+  .hospital-detail .info-wrapper {
+    width: 100%;
+    padding-left: 0;
+    padding-top: 0;
+    margin-top: 0;
+    flex-direction: inherit;
+  }
+
+  .hospital-detail .info-wrapper .text {
+    font-size: 14px;
+
+  }
+
+  .hospital-detail .content-wrapper p {
+    text-indent: 0;
+  }
+</style>

+ 104 - 0
pages/hospital/notice/_hoscode.vue

@@ -0,0 +1,104 @@
+<template>
+  <!-- header -->
+  <div class="nav-container page-component">
+    <!--左侧导航 #start -->
+    <div class="nav left-nav">
+      <div class="nav-item ">
+        <span class="v-link clickable dark" :onclick="'javascript:window.location=\'/hospital/'+hospital.hoscode+'\''">预约挂号 </span>
+      </div>
+      <div class="nav-item ">
+        <span class="v-link clickable dark" :onclick="'javascript:window.location=\'/hospital/detail/'+hospital.hoscode+'\''"> 医院详情 </span>
+      </div>
+      <div class="nav-item selected">
+        <span class="v-link selected dark" :onclick="'javascript:window.location=\'/hospital/notice/'+hospital.hoscode+'\''"> 预约须知 </span>
+      </div>
+      <div class="nav-item "><span
+        class="v-link clickable dark"> 停诊信息 </span>
+      </div>
+      <div class="nav-item "><span
+        class="v-link clickable dark"> 查询/取消 </span>
+      </div>
+    </div>
+    <!-- 左侧导航 #end -->
+
+    <!-- 右侧内容 #start -->
+    <div class="page-container">
+      <div class="hospital-notice">
+        <div class="content"><h2>{{ hospital.hosname }}预约挂号须知</h2>
+          <p>为方便您早日就医康复,请您认真阅读预约挂号须知:</p>
+          <h4 id="一、预约实名制:">一、预约实名制:</h4>
+          <p>统一平台电话预约和网上预约挂号均采取实名制注册预约,请您如实提供就诊人员的真实姓名、有效证件号(身份证、护照)、性别、手机号码、社保卡号等基本信息。</p>
+          <h4 id="二、预约挂号:">二、预约挂号:</h4>
+          <p>按照北京市卫健委统一平台要求,预约挂号规则如下:</p>
+          <ul>
+            <li>在同一自然日,同一医院,同一科室,同一就诊单元,同一就诊人,可以预约最多1个号源;</li>
+            <li>在同一自然周,同一就诊人,可以预约最多8个号源;</li>
+            <li>在同一自然月,同一就诊人,可以预约最多12个号源;</li>
+            <li>在同一自然季度,同一就诊人,可以预约最多24个号源。</li>
+          </ul>
+          <h4 id="三、取消预约:">三、取消预约:</h4>
+          <p>已完成预约的号源,如需办理退号,至少在就诊前一工作日14:00前通过网站、微信公众号、114电话等平台预约渠道进行取消预约。</p>
+          <h4 id="四、爽约处理:">四、爽约处理:</h4>
+          <p>如预约成功后患者未能按时就诊且不办理取消预约号视为爽约,同一患者在自然年内爽约规则如下:</p>
+          <ul>
+            <li>累计爽约3次,自3次爽约日起,90天内不允许通过114平台进行预约挂号;</li>
+            <li>累计爽约6次,自6次爽约日起,180天内不允许通过114平台进行预约挂号。</li>
+          </ul>
+        </div>
+
+      </div>
+    </div>
+    <!-- 右侧内容 #end -->
+  </div>
+  <!-- footer -->
+</template>
+
+<script>
+import '~/assets/css/hospital_personal.css'
+import '~/assets/css/hospital.css'
+
+import hospitalApi from '@/api/hosp/hospital'
+export default {
+  data() {
+    return {
+      hoscode: null,
+      hospital: {
+        param: {}
+      }
+    }
+  },
+
+  created() {
+    this.hoscode = this.$route.params.hoscode
+
+    this.init()
+  },
+
+  methods: {
+    init() {
+      hospitalApi.show(this.hoscode).then(response => {
+        this.hospital = response.data.hospital
+      })
+
+    }
+  }
+}
+</script>
+<style>
+  .hospital-detail .info-wrapper {
+    width: 100%;
+    padding-left: 0;
+    padding-top: 0;
+    margin-top: 0;
+    flex-direction: inherit;
+  }
+
+  .hospital-detail .info-wrapper .text {
+    font-size: 14px;
+
+  }
+
+  .hospital-detail .content-wrapper p {
+    text-indent: 0;
+  }
+</style>

+ 325 - 0
pages/hospital/schedule.vue

@@ -0,0 +1,325 @@
+<template>
+  <!-- header -->
+  <div class="nav-container page-component">
+    <!--左侧导航 #start -->
+    <div class="nav left-nav">
+      <div class="nav-item selected">
+        <span class="v-link selected dark" :onclick="'javascript:window.location=\'/hospital/'+hoscode+'\''">预约挂号 </span>
+      </div>
+      <div class="nav-item ">
+        <span class="v-link clickable dark" :onclick="'javascript:window.location=\'/hospital/detail/'+hoscode+'\''"> 医院详情 </span>
+      </div>
+      <div class="nav-item">
+        <span class="v-link clickable dark" :onclick="'javascript:window.location=\'/hospital/notice/'+hoscode+'\''"> 预约须知 </span>
+      </div>
+      <div class="nav-item "><span
+        class="v-link clickable dark"> 停诊信息 </span>
+      </div>
+      <div class="nav-item "><span
+        class="v-link clickable dark"> 查询/取消 </span>
+      </div>
+    </div>
+    <!-- 左侧导航 #end -->
+
+    <!-- 右侧内容 #start -->
+    <div class="page-container">
+      <div class="hospital-source-list">
+        <div class="header-wrapper" style="justify-content:normal">
+          <span class="v-link clickable" @click="show()">{{ baseMap.hosname}}</span>
+          <div class="split"></div>
+          <div>{{ baseMap.bigname }}</div>
+        </div>
+        <div class="title mt20"> {{ baseMap.depname }}</div>
+        <!-- 号源列表 #start -->
+        <div class="mt60">
+          <div class="title-wrapper">{{ baseMap.workDateString }}</div>
+          <div class="calendar-list-wrapper">
+
+            <!-- item.depNumber == -1 ? 'gray space' : item.depNumber == 0 ? 'gray' : 'small small-space'-->
+            <!-- selected , index == activeIndex ? 'selected' : ''-->
+            <div :class="'calendar-item '+item.curClass" style="width: 124px;"
+                 v-for="(item, index) in bookingScheduleList" :key="item.id"
+                 @click="selectDate(item, index)">
+              <div class="date-wrapper"><span>{{ item.workDate }}</span><span class="week">{{ item.dayOfWeek }}</span></div>
+              <div class="status-wrapper" v-if="item.status == 0">{{ item.availableNumber == -1 ? '无号' : item.availableNumber == 0 ? '约满' : '有号' }}</div>
+              <div class="status-wrapper" v-if="item.status == 1">即将放号</div>
+              <div class="status-wrapper" v-if="item.status == -1">停止挂号</div>
+            </div>
+          </div>
+          <!-- 分页 -->
+          <el-pagination
+             class="pagination"
+             layout="prev, pager, next"
+             :current-page="page"
+             :total="total"
+             :page-size="limit"
+             @current-change="getPage">
+          </el-pagination>
+        </div>
+
+        <!-- 即将放号 #start-->
+        <div class="countdown-wrapper mt60" v-if="!tabShow">
+          <div class="countdonw-title"> {{ time }}<span class="v-link selected">{{ baseMap.releaseTime }} </span>放号</div>
+          <div class="countdown-text"> 倒 计 时
+            <div>
+              <span class="number">{{ timeString }}</span>
+            </div>
+          </div>
+        </div>
+        <!-- 即将放号 #end-->
+
+        <!-- 号源列表 #end -->
+        <!-- 上午号源 #start -->
+        <div class="mt60" v-if="tabShow">
+          <div class="">
+            <div class="list-title">
+              <div class="block"></div>
+              上午号源
+            </div>
+            <div v-for="item in scheduleList" :key="item.id" v-if="item.workTime == 0">
+              <div class="list-item">
+                <div class="item-wrapper">
+                  <div class="title-wrapper">
+                    <div class="title">{{ item.title }}</div>
+                    <div class="split"></div>
+                    <div class="name"> {{ item.docname }}</div>
+                  </div>
+                  <div class="special-wrapper">{{ item.skill }}</div>
+                </div>
+                <div class="right-wrapper">
+                  <div class="fee"> ¥{{ item.amount }}
+                  </div>
+                  <div class="button-wrapper">
+                    <div class="v-button" @click="booking(item.id, item.availableNumber)" :style="item.availableNumber == 0 || pageFirstStatus == -1 ? 'background-color: #7f828b;' : ''">
+                      <span>剩余<span class="number">{{ item.availableNumber }}</span></span></div>
+                  </div>
+                </div>
+              </div>
+            </div>
+
+          </div>
+        </div>
+        <!-- 上午号源 #end -->
+        <!-- 下午号源 #start -->
+        <div class="mt60" v-if="tabShow">
+          <div class="">
+            <div class="list-title">
+              <div class="block"></div>
+              下午号源
+            </div>
+            <div v-for="item in scheduleList" :key="item.id" v-if="item.workTime == 1">
+              <div class="list-item">
+                <div class="item-wrapper">
+                  <div class="title-wrapper">
+                    <div class="title">{{ item.title }}</div>
+                    <div class="split"></div>
+                    <div class="name"> {{ item.docname }}</div>
+                  </div>
+                  <div class="special-wrapper">{{ item.skill }}</div>
+                </div>
+                <div class="right-wrapper">
+                  <div class="fee"> ¥{{ item.amount }}
+                  </div>
+                  <div class="button-wrapper">
+                    <div class="v-button" @click="booking(item.id, item.availableNumber)" :style="item.availableNumber == 0 || pageFirstStatus == -1 ? 'background-color: #7f828b;' : ''">
+                      <span>剩余<span class="number">{{ item.availableNumber }}</span></span></div>
+                  </div>
+                </div>
+              </div>
+            </div>
+
+          </div>
+        </div>
+        <!-- 下午号源 #end -->
+      </div>
+    </div>
+    <!-- 右侧内容 #end -->
+  </div>
+  <!-- footer -->
+</template>
+
+<script>
+import '~/assets/css/hospital_personal.css'
+import '~/assets/css/hospital.css'
+
+import hospitalApi from '@/api/hosp/hospital'
+export default {
+
+  data() {
+    return {
+      hoscode: null,
+      depcode: null,
+      workDate: null,
+
+      bookingScheduleList: [],
+      scheduleList : [],
+      baseMap : {},
+      nextWorkDate: null, // 下一页第一个日期
+      preWorkDate: null, // 上一页第一个日期
+
+      tabShow: true, //挂号列表与即将挂号切换
+      activeIndex: 0,
+
+      page: 1, // 当前页
+      limit: 7, // 每页个数
+      total: 1, // 总页码
+
+      timeString: null,
+      time: '今天',
+      timer: null,
+
+      pageFirstStatus: 0 // 第一页第一条数据状态
+    }
+  },
+
+  created() {
+    this.hoscode = this.$route.query.hoscode
+    this.depcode = this.$route.query.depcode
+    this.workDate = this.getCurDate()
+
+    this.getBookingScheduleRule()
+  },
+
+  methods: {
+    getPage(page = 1) {
+      this.page = page
+      this.workDate = null
+      this.activeIndex = 0
+
+      this.getBookingScheduleRule()
+    },
+
+    getBookingScheduleRule() {
+      hospitalApi.getBookingScheduleRule(this.page, this.limit, this.hoscode, this.depcode).then(response => {
+        this.bookingScheduleList = response.data.bookingScheduleList
+        this.total = response.data.total
+        this.baseMap = response.data.baseMap
+
+        this.dealClass()
+
+        // 分页后workDate=null,默认选中第一个
+        if (this.workDate == null) {
+          this.workDate = this.bookingScheduleList[0].workDate
+        }
+        //判断当天是否停止预约 status == -1 停止预约
+        if(this.workDate == this.getCurDate()) {
+          this.pageFirstStatus = this.bookingScheduleList[0].status
+        } else {
+          this.pageFirstStatus = 0
+        }
+        this.findScheduleList()
+      })
+    },
+
+    findScheduleList() {
+      hospitalApi.findScheduleList(this.hoscode, this.depcode, this.workDate).then(response => {
+        this.scheduleList = response.data
+      })
+    },
+
+    selectDate(item, index) {
+      this.workDate = item.workDate
+      this.activeIndex = index
+
+      //清理定时
+      if(this.timer != null) clearInterval(this.timer)
+
+      // 是否即将放号
+      if(item.status == 1) {
+        this.tabShow = false
+        // 放号时间
+        let releaseTime = new Date(this.getCurDate() + ' ' + this.baseMap.releaseTime).getTime()
+        let nowTime = new Date().getTime();
+        this.countDown(releaseTime, nowTime)
+
+        this.dealClass();
+      } else {
+        this.tabShow = true
+
+        this.getBookingScheduleRule()
+      }
+    },
+
+    dealClass() {
+      //处理样式
+      for (let i = 0; i < this.bookingScheduleList.length; i++) {
+        // depNumber -1:无号 0:约满 >0:有号
+        let curClass = this.bookingScheduleList[i].availableNumber == -1 ? 'gray space' : this.bookingScheduleList[i].availableNumber == 0 ? 'gray' : 'small small-space'
+        curClass += i == this.activeIndex ? ' selected' : ''
+        this.bookingScheduleList[i].curClass = curClass
+      }
+    },
+
+    getCurDate() {
+      let datetime = new Date()
+      let year = datetime.getFullYear()
+      let month = datetime.getMonth() + 1 < 10 ? '0' + (datetime.getMonth() + 1) : datetime.getMonth() + 1
+      let date = datetime.getDate() < 10 ? '0' + datetime.getDate() : datetime.getDate()
+      return year + '-' + month + '-' + date
+    },
+
+    countDown(releaseTime, nowTime) {
+      //计算倒计时时长
+      let secondes = 0;
+      if(releaseTime > nowTime) {
+        this.time = '今天'
+        //当前时间到放号时间的时长
+        secondes = Math.floor((releaseTime - nowTime) / 1000);
+      } else {
+        this.time = '明天'
+        //计算明天放号时间
+        let releaseDate = new Date(releaseTime)
+        releaseTime = new Date(releaseDate.setDate(releaseDate.getDate() + 1)).getTime()
+        //当前时间到明天放号时间的时长
+        secondes = Math.floor((releaseTime - nowTime) / 1000);
+      }
+
+      //定时任务
+      this.timer = setInterval(() => {
+        secondes = secondes - 1
+        if(secondes <= 0) {
+          clearInterval(timer);
+          this.init()
+        }
+        this.timeString = this.convertTimeString(secondes)
+      }, 1000);
+      // 通过$once来监听定时器,在beforeDestroy钩子可以被清除。
+      this.$once('hook:beforeDestroy', () => {
+        clearInterval(timer);
+      })
+    },
+
+    convertTimeString(allseconds) {
+      if(allseconds <= 0) return '00:00:00'
+      // 计算天数
+      let days = Math.floor(allseconds / (60 * 60 * 24));
+      // 小时
+      let hours = Math.floor((allseconds - (days * 60 * 60 * 24)) / (60 * 60));
+      // 分钟
+      let minutes = Math.floor((allseconds - (days * 60 * 60 * 24) - (hours * 60 * 60)) / 60);
+      // 秒
+      let seconds = allseconds - (days * 60 * 60 * 24) - (hours * 60 * 60) - (minutes * 60);
+
+      //拼接时间
+      let timString = "";
+      if (days > 0) {
+        timString = days + "天:";
+      }
+      return timString += hours + " 时 " + minutes + " 分 " + seconds + " 秒 ";
+    },
+
+    show() {
+      window.location.href = '/hospital/' + this.hoscode
+    },
+
+    booking(scheduleId, availableNumber) {
+      debugger
+      if(availableNumber == 0 || this.pageFirstStatus == -1) {
+        this.$message.error('不能预约')
+      } else {
+        window.location.href = '/hospital/booking?scheduleId=' + scheduleId
+      }
+    }
+  }
+}
+</script>

+ 276 - 0
pages/index.vue

@@ -0,0 +1,276 @@
+<template>
+  <div class="home page-component">
+    <el-carousel indicator-position="outside">
+      <el-carousel-item v-for="item in 2" :key="item">
+        <img src="~assets/images/web-banner1.png" alt="">
+      </el-carousel-item>
+    </el-carousel>
+
+    <!-- 搜索 -->
+    <!-- 搜索 -->
+    <div class="search-container">
+      <div class="search-wrapper">
+        <div class="hospital-search">
+          <el-autocomplete
+            class="search-input"
+            prefix-icon="el-icon-search"
+            v-model="hosname"
+            :fetch-suggestions="querySearchAsync"
+            :trigger-on-focus="false"
+            @select="handleSelect"
+            placeholder="点击输入医院名称"
+          >
+            <span slot="suffix" class="search-btn v-link highlight clickable selected">搜索 </span>
+          </el-autocomplete>
+        </div>
+      </div>
+    </div>
+
+    <!-- bottom -->
+    <div class="bottom">
+      <div class="left">
+        <div class="home-filter-wrapper">
+          <div class="title"> 医院</div>
+          <div>
+            <div class="filter-wrapper">
+              <span class="label">等级:</span>
+              <div class="condition-wrapper">
+                <span class="item v-link clickable" :class="hostypeActiveIndex == index ? 'selected' : ''" v-for="(item,index) in hostypeList" :key="item.id" @click="hostypeSelect(item.value, index)">{{ item.name }}</span>
+              </div>
+            </div>
+            <div class="filter-wrapper">
+              <span class="label">地区:</span>
+              <div class="condition-wrapper">
+                <span class="item v-link clickable" :class="provinceActiveIndex == index ? 'selected' : ''" v-for="(item,index) in districtList" :key="item.id" @click="districtSelect(item.value, index)">{{ item.name }}</span>
+              </div>
+            </div>
+          </div>
+        </div>
+        <div class="v-scroll-list hospital-list">
+          <div class="v-card clickable list-item" v-for="item in list" :key="item.id">
+            <div class="">
+              <div class="hospital-list-item hos-item" index="0" @click="show(item.hoscode)">
+                <div class="wrapper">
+                  <div class="hospital-title"> {{ item.hosname }}</div>
+                  <div class="bottom-container">
+                    <div class="icon-wrapper">
+                      <span class="iconfont"></span>{{ item.param.hostypeString }}
+                    </div>
+                    <div class="icon-wrapper">
+                      <span class="iconfont"></span>每天{{ item.bookingRule.releaseTime }}放号
+                    </div>
+                  </div>
+                </div>
+                <img :src="'data:image/jpeg;base64,'+item.logoData" :alt="item.hosname" class="hospital-img">
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
+      <div class="right">
+        <div class="common-dept">
+          <div class="header-wrapper">
+            <div class="title"> 常见科室</div>
+            <div class="all-wrapper"><span>全部</span>
+              <span class="iconfont icon"></span>
+            </div>
+          </div>
+          <div class="content-wrapper">
+            <span class="item v-link clickable dark">神经内科 </span>
+            <span class="item v-link clickable dark">消化内科 </span>
+            <span class="item v-link clickable dark">呼吸内科 </span>
+            <span class="item v-link clickable dark">内科 </span>
+            <span class="item v-link clickable dark">神经外科 </span>
+            <span class="item v-link clickable dark">妇科 </span>
+            <span class="item v-link clickable dark"> 产科 </span>
+            <span class="item v-link clickable dark">儿科 </span>
+          </div>
+        </div>
+        <div class="space">
+          <div class="header-wrapper">
+            <div class="title-wrapper">
+              <div class="icon-wrapper"><span
+                class="iconfont title-icon"></span>
+              </div>
+              <span class="title">平台公告</span>
+            </div>
+            <div class="all-wrapper">
+              <span>全部</span>
+              <span class="iconfont icon"></span>
+            </div>
+          </div>
+          <div class="content-wrapper">
+            <div class="notice-wrapper">
+              <div class="point"></div>
+              <span class="notice v-link clickable dark">关于延长北京大学国际医院放假的通知 </span>
+            </div>
+            <div class="notice-wrapper">
+              <div class="point"></div>
+              <span class="notice v-link clickable dark">北京中医药大学东方医院部分科室医生门诊医 </span>
+            </div>
+            <div class="notice-wrapper">
+              <div class="point"></div>
+              <span class="notice v-link clickable dark"> 武警总医院号源暂停更新通知 </span>
+            </div>
+          </div>
+        </div>
+        <div class="suspend-notice-list space">
+          <div class="header-wrapper">
+            <div class="title-wrapper">
+              <div class="icon-wrapper">
+                <span class="iconfont title-icon"></span>
+              </div>
+              <span class="title">停诊公告</span>
+            </div>
+            <div class="all-wrapper">
+              <span>全部</span>
+              <span class="iconfont icon"></span>
+            </div>
+          </div>
+          <div class="content-wrapper">
+            <div class="notice-wrapper">
+              <div class="point"></div>
+              <span class="notice v-link clickable dark"> 中国人民解放军总医院第六医学中心(原海军总医院)呼吸内科门诊停诊公告 </span>
+            </div>
+            <div class="notice-wrapper">
+              <div class="point"></div>
+              <span class="notice v-link clickable dark"> 首都医科大学附属北京潞河医院老年医学科门诊停诊公告 </span>
+            </div>
+            <div class="notice-wrapper">
+              <div class="point"></div>
+              <span class="notice v-link clickable dark">中日友好医院中西医结合心内科门诊停诊公告 </span>
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+
+  </div>
+</template>
+
+<script>
+import hospitalApi from '@/api/hosp/hospital'
+import dictApi from '@/api/cmn/dict'
+export default {
+  // asyncData:渲染组件之前异步获取数据
+  asyncData({ params, error }) {
+    return hospitalApi.getPageList(1, 10, null).then(response => {
+      console.log(response.data);
+      return {
+        list: response.data.content,
+        pages : response.data.totalPages
+      }
+    });
+  },
+  data() {
+    return {
+      searchObj: {},
+      page: 1,
+      limit: 10,
+
+      hosname: '',
+      hostypeList: [],
+      districtList: [],
+
+      hostypeActiveIndex: 0,
+      provinceActiveIndex: 0
+    }
+  },
+
+  created() {
+    this.init()
+  },
+
+  mounted() {
+    document.getElementById("search").style.display = 'none';
+
+    // 添加滚动事件,检测滚动到页面底部
+    window.addEventListener('scroll', this.load, true)
+  },
+
+  destroyed(){
+    // 页面关闭的同时,记得将这个监听器关闭,节省性能
+    window.removeEventListener('scroll', this.load, false)
+  },
+
+  methods: {
+    init() {
+      dictApi.findByDictCode("Hostype").then(response => {
+        this.hostypeList = []
+        this.hostypeList.push({"name":"全部", "value":""})
+        for(let i in response.data){
+          this.hostypeList.push(response.data[i]);
+        }
+      })
+      dictApi.findByDictCode('Beijin').then(response => {
+        this.districtList = []
+        this.districtList.push({"name":"全部", "value":""})
+        for(let i in response.data){
+          this.districtList.push(response.data[i]);
+        }
+      })
+    },
+
+    load(event) {
+      // 滚动条高度为430 页面搜索消失,头部搜索显示
+      if(event.target.scrollTop > 430) {
+        document.getElementById("search").style.display = 'block';
+      } else {
+        document.getElementById("search").style.display = 'none';
+      }
+
+      if(event.target.clientHeight + event.target.scrollTop >= event.target.scrollHeight){
+        if(this.page < this.pages){      //先判断下一页是否有数据
+          this.page = this.page + 1
+          this.getList();              //拉取接口数据
+        }
+      }
+    },
+
+    getList() {
+      hospitalApi.getPageList(this.page, this.limit, this.searchObj).then(response => {
+        for(let i in response.data.content){
+          this.list.push(response.data.content[i]);
+        }
+        this.pages = response.data.totalPages
+      })
+    },
+
+    querySearchAsync(queryString, cb) {
+      this.searchObj = []
+      if(queryString == '') return
+      hospitalApi.getByHosname(queryString).then(response => {
+        for (let i = 0, len = response.data.length; i < len; i++) {
+          response.data[i].value = response.data[i].hosname
+        }
+        cb(response.data)
+      })
+    },
+
+    handleSelect(item) {
+      window.location.href = '/hospital/' + item.hoscode
+    },
+
+    hostypeSelect(hostype, index) {
+      this.list = []
+      this.page = 1
+      this.hostypeActiveIndex = index
+      this.searchObj.hostype = hostype
+      this.getList();
+    },
+
+    districtSelect(districtCode, index) {
+      this.list = []
+      this.page = 1
+      this.provinceActiveIndex = index
+      this.searchObj.districtCode = districtCode
+      this.getList();
+    },
+
+    show(hoscode) {
+      window.location.href = '/hospital/' + hoscode
+    }
+  }
+}
+</script>
+

+ 179 - 0
pages/order/index.vue

@@ -0,0 +1,179 @@
+<template>
+
+  <!-- header -->
+  <div class="nav-container page-component">
+    <!--左侧导航 #start -->
+    <div class="nav left-nav">
+      <div class="nav-item ">
+        <span class="v-link clickable dark" onclick="javascript:window.location='/user'">实名认证 </span>
+      </div>
+      <div class="nav-item selected">
+        <span class="v-link selected dark" onclick="javascript:window.location='/order'"> 挂号订单 </span>
+      </div>
+      <div class="nav-item ">
+        <span class="v-link clickable dark" onclick="javascript:window.location='/patient'"> 就诊人管理 </span>
+      </div>
+      <div class="nav-item ">
+        <span class="v-link clickable dark"> 修改账号信息 </span>
+      </div>
+      <div class="nav-item ">
+        <span class="v-link clickable dark"> 意见反馈 </span>
+      </div>
+    </div>
+    <!-- 左侧导航 #end -->
+
+    <!-- 右侧内容 #start -->
+    <div class="page-container">
+      <div class="personal-order">
+        <div class="title"> 挂号订单</div>
+        <el-form :inline="true">
+          <el-form-item label="就诊人:">
+            <el-select v-model="searchObj.patientId" placeholder="请选择就诊人" class="v-select patient-select">
+              <el-option
+                v-for="item in patientList"
+                :key="item.id"
+                :label="item.name + '【' + item.certificatesNo + '】'"
+                :value="item.id">
+              </el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="订单状态:" style="margin-left: 80px">
+            <el-select v-model="searchObj.orderStatus" placeholder="全部" class="v-select patient-select" style="width: 200px;">
+              <el-option
+                v-for="item in statusList"
+                :key="item.status"
+                :label="item.comment"
+                :value="item.status">
+              </el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item>
+            <el-button type="text" class="search-button v-link highlight clickable selected" @click="fetchData()">
+              查询
+            </el-button>
+          </el-form-item>
+        </el-form>
+        <div class="table-wrapper table">
+          <el-table
+            :data="list"
+            stripe
+            style="width: 100%">
+            <el-table-column
+              label="就诊时间"
+              width="120">
+              <template slot-scope="scope">
+                {{ scope.row.reserveDate }} {{ scope.row.reserveTime === 0 ? '上午' : '下午' }}
+              </template>
+            </el-table-column>
+            <el-table-column
+              prop="hosname"
+              label="医院"
+              width="100">
+            </el-table-column>
+            <el-table-column
+              prop="depname"
+              label="科室">
+            </el-table-column>
+            <el-table-column
+              prop="title"
+              label="医生">
+            </el-table-column>
+            <el-table-column
+              prop="amount"
+              label="医事服务费">
+            </el-table-column>
+            <el-table-column
+              prop="patientName"
+              label="就诊人">
+            </el-table-column>
+            <el-table-column
+              prop="param.orderStatusString"
+              label="订单状态">
+            </el-table-column>
+            <el-table-column label="操作">
+              <template slot-scope="scope">
+                <el-button type="text" class="v-link highlight clickable selected" @click="show(scope.row.id)">详情</el-button>
+              </template>
+            </el-table-column>
+          </el-table>
+        </div>
+        <!-- 分页 -->
+        <el-pagination
+          class="pagination"
+          layout="prev, pager, next"
+          :current-page="page"
+          :total="total"
+          :page-size="limit"
+          @current-change="fetchData">
+        </el-pagination>
+      </div>
+    </div>
+    <!-- 右侧内容 #end -->
+  </div>
+  <!-- footer -->
+</template>
+
+<script>
+import '~/assets/css/hospital_personal.css'
+import '~/assets/css/hospital.css'
+
+import orderInfoApi from '@/api/order/orderInfo'
+import patientApi from '@/api/user/patient'
+
+export default {
+
+  data() {
+    return {
+      list: [], // banner列表
+      total: 0, // 数据库中的总记录数
+      page: 1, // 默认页码
+      limit: 10, // 每页记录数
+      searchObj: {}, // 查询表单对象
+
+      patientList: [],
+      statusList: []
+    }
+  },
+
+  created() {
+    this.orderId = this.$route.query.orderId
+
+    this.fetchData()
+    this.findPatientList()
+    this.getStatusList()
+  },
+
+  methods: {
+    fetchData(page = 1) {
+      this.page = page
+      orderInfoApi.getPageList(this.page, this.limit, this.searchObj).then(response => {
+        console.log(response.data);
+        this.list = response.data.records
+        this.total = response.data.total
+      })
+    },
+
+    findPatientList() {
+      patientApi.findList().then(response => {
+        this.patientList = response.data
+      })
+    },
+
+    getStatusList() {
+      orderInfoApi.getStatusList().then(response => {
+        this.statusList = response.data
+      })
+    },
+
+    changeSize(size) {
+      console.log(size)
+      this.limit = size
+      this.fetchData(1)
+    },
+
+    show(id) {
+      window.location.href = '/order/show?orderId=' + id
+    }
+  }
+}
+</script>

+ 239 - 0
pages/order/show.vue

@@ -0,0 +1,239 @@
+<template>
+
+  <!-- header -->
+  <div class="nav-container page-component">
+    <!--左侧导航 #start -->
+    <div class="nav left-nav">
+      <div class="nav-item ">
+        <span class="v-link clickable dark" onclick="javascript:window.location='/user'">实名认证 </span>
+      </div>
+      <div class="nav-item selected">
+        <span class="v-link selected dark" onclick="javascript:window.location='/order'"> 挂号订单 </span>
+      </div>
+      <div class="nav-item ">
+        <span class="v-link clickable dark" onclick="javascript:window.location='/patient'"> 就诊人管理 </span>
+      </div>
+      <div class="nav-item ">
+        <span class="v-link clickable dark"> 修改账号信息 </span>
+      </div>
+      <div class="nav-item ">
+        <span class="v-link clickable dark"> 意见反馈 </span>
+      </div>
+    </div>
+    <!-- 左侧导航 #end -->
+
+    <!-- 右侧内容 #start -->
+    <div class="page-container">
+      <div class="order-detail">
+        <div class="title"> 挂号详情</div>
+        <div class="status-bar">
+          <div class="left-wrapper">
+            <div class="status-wrapper BOOKING_SUCCESS">
+              <span class="iconfont"></span> {{ orderInfo.param.orderStatusString }}
+            </div>
+          </div>
+          <div class="right-wrapper">
+            <img src="//img.114yygh.com/static/web/code_order_detail.png" class="code-img">
+            <div class="content-wrapper">
+              <div> 微信<span class="iconfont"></span>关注“北京114预约挂号”</div>
+              <div class="watch-wrapper"> 快速挂号,轻松就医</div>
+            </div>
+          </div>
+        </div>
+        <div class="info-wrapper">
+          <div class="title-wrapper">
+            <div class="block"></div>
+            <div>挂号信息</div>
+          </div>
+          <div class="info-form">
+            <el-form ref="form" :model="form">
+
+              <el-form-item label="就诊人信息:">
+                <div class="content"><span>{{ orderInfo.patientName }}</span></div>
+              </el-form-item>
+              <el-form-item label="就诊日期:">
+                <div class="content"><span>{{ orderInfo.reserveDate }} {{ orderInfo.reserveTime == 0 ? '上午' : '下午' }}</span></div>
+              </el-form-item>
+              <el-form-item label="就诊医院:">
+                <div class="content"><span>{{ orderInfo.hosname }} </span></div>
+              </el-form-item>
+              <el-form-item label="就诊科室:">
+                <div class="content"><span>{{ orderInfo.depname }} </span></div>
+              </el-form-item>
+              <el-form-item label="医生职称:">
+                <div class="content"><span>{{ orderInfo.title }} </span></div>
+              </el-form-item>
+              <el-form-item label="医事服务费:">
+                <div class="content">
+                  <div class="fee">{{ orderInfo.amount }}元
+                  </div>
+                </div>
+              </el-form-item>
+              <el-form-item label="挂号单号:">
+                <div class="content"><span>{{ orderInfo.outTradeNo }} </span></div>
+              </el-form-item>
+              <el-form-item label="挂号时间:">
+                <div class="content"><span>{{ orderInfo.createTime }}</span></div>
+              </el-form-item>
+            </el-form>
+          </div>
+        </div>
+        <div class="rule-wrapper mt40">
+          <div class="rule-title"> 注意事项</div>
+          <div>1、请确认就诊人信息是否准确,若填写错误将无法取号就诊,损失由本人承担;<br>
+            <span style="color:red">2、【取号】就诊当天需在{{ orderInfo.fetchTime }}在医院取号,未取号视为爽约,该号不退不换;</span><br>
+            3、【退号】在{{ orderInfo.quitTime }}前可在线退号 ,逾期将不可办理退号退费;<br>
+            4、北京114预约挂号支持自费患者使用身份证预约,同时支持北京市医保患者使用北京社保卡在平台预约挂号。请于就诊当日,携带预约挂号所使用的有效身份证件到院取号;<br>
+            5、请注意北京市医保患者在住院期间不能使用社保卡在门诊取号。
+          </div>
+        </div>
+        <div class="bottom-wrapper mt60" v-if="orderInfo.orderStatus == 0 || orderInfo.orderStatus == 1">
+          <div class="button-wrapper">
+            <div class="v-button white" @click="cancelOrder()">取消预约</div>
+          </div>
+          <div class="button-wrapper ml20" v-if="orderInfo.orderStatus == 0">
+            <div class="v-button" @click="pay()">支付</div>
+          </div>
+        </div>
+      </div>
+    </div>
+    <!-- 右侧内容 #end -->
+
+    <!-- 微信支付弹出框 -->
+    <el-dialog :visible.sync="dialogPayVisible" style="text-align: left" :append-to-body="true" width="500px" @close="closeDialog">
+      <div class="container">
+
+        <div class="operate-view" style="height: 350px;">
+          <div class="wrapper wechat">
+            <div>
+              <!--                <img src="images/weixin.jpg" alt="">-->
+              <qriously :value="payObj.codeUrl" :size="220"/>
+              <div style="text-align: center;line-height: 25px;margin-bottom: 40px;">
+                请使用微信扫一扫<br/>
+                扫描二维码支付
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
+    </el-dialog>
+
+  </div>
+  <!-- footer -->
+</template>
+
+<script>
+import '~/assets/css/hospital_personal.css'
+import '~/assets/css/hospital.css'
+
+import orderInfoApi from '@/api/order/orderInfo'
+import weixinApi from '@/api/order/weixin'
+export default {
+
+  data() {
+    return {
+      orderId: null,
+      orderInfo: {
+        param: {}
+      },
+
+      dialogPayVisible: false,
+      payObj: {},
+      timer: null  // 定时器名称
+    }
+  },
+
+  created() {
+    this.orderId = this.$route.query.orderId
+
+    this.init()
+  },
+
+  methods: {
+    init() {
+      orderInfoApi.getOrderInfo(this.orderId).then(response => {
+        console.log(response.data);
+        this.orderInfo = response.data
+      })
+    },
+
+    cancelOrder() {
+      this.$confirm('确定取消预约吗?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => { // promise
+        // 点击确定,远程调用
+        return orderInfoApi.cancelOrder(this.orderId)
+      }).then((response) => {
+        this.$message.success('取消成功')
+        this.init()
+      }).catch(() => {
+        this.$message.info('已取消取消预约')
+      })
+    },
+
+    pay() {
+      this.dialogPayVisible = true
+
+      weixinApi.createNative(this.orderId).then(response => {
+        this.payObj = response.data
+        if(this.payObj.codeUrl == '') {
+          this.dialogPayVisible = false
+          this.$message.error("支付错误")
+        } else {
+          this.timer = setInterval(() => {
+            this.queryPayStatus(this.orderId)
+          }, 3000);
+        }
+      })
+    },
+
+    queryPayStatus(orderId) {
+      weixinApi.queryPayStatus(orderId).then(response => {
+        debugger
+        if (response.message == '支付中') {
+          return
+        }
+        clearInterval(this.timer);
+        window.location.reload()
+      })
+    },
+
+    closeDialog() {
+      debugger
+      if(this.timer) {
+        clearInterval(this.timer);
+      }
+    }
+  }
+}
+</script>
+<style>
+  .info-wrapper {
+    padding-left: 0;
+    padding-top: 0;
+  }
+
+  .content-wrapper {
+    color: #333;
+    font-size: 14px;
+    padding-bottom: 0;
+  }
+
+  .bottom-wrapper {
+    width: 100%;
+  }
+
+  .button-wrapper {
+    margin: 0;
+
+  }
+  .el-form-item {
+    margin-bottom: 5px;
+  }
+
+  .bottom-wrapper .button-wrapper {
+    margin-top: 0;
+  }
+</style>

+ 328 - 0
pages/patient/add.vue

@@ -0,0 +1,328 @@
+<template>
+
+  <!-- header -->
+  <div class="nav-container page-component">
+    <!--左侧导航 #start -->
+    <div class="nav left-nav">
+      <div class="nav-item ">
+        <span class="v-link clickable dark" onclick="javascript:window.location='/user'">实名认证 </span>
+      </div>
+      <div class="nav-item ">
+        <span class="v-link clickable dark" onclick="javascript:window.location='/order'"> 挂号订单 </span>
+      </div>
+      <div class="nav-item selected">
+        <span class="v-link selected dark" onclick="javascript:window.location='/patient'"> 就诊人管理 </span>
+      </div>
+      <div class="nav-item ">
+        <span class="v-link clickable dark"> 修改账号信息 </span>
+      </div>
+      <div class="nav-item ">
+        <span class="v-link clickable dark"> 意见反馈 </span>
+      </div>
+    </div>
+    <!-- 左侧导航 #end -->
+
+    <!-- 右侧内容 #start -->
+    <div class="page-container">
+      <div class="personal-patient">
+        <div class="header-wrapper">
+          <div class="title"> 添加就诊人</div>
+        </div>
+        <div>
+          <div class="sub-title">
+            <div class="block"></div>
+            就诊人信息
+          </div>
+          <div class="content-wrapper">
+            <el-form :model="patient" label-width="110px" label-position="left" ref="patient" :rules="validateRules">
+              <el-form-item prop="name" label="姓名:">
+                <el-input v-model="patient.name" placeholder="请输入真实姓名全称" class="input v-input"/>
+              </el-form-item>
+              <el-form-item prop="certificatesType" label="证件类型:" >
+                <el-select v-model="patient.certificatesType" placeholder="请选择证件类型" class="v-select patient-select">
+                  <el-option
+                    v-for="item in certificatesTypeList"
+                    :key="item.value"
+                    :label="item.name"
+                    :value="item.value">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+              <el-form-item prop="certificatesNo" label="证件号码:" >
+                <el-input v-model="patient.certificatesNo" placeholder="请输入证件号码" class="input v-input"/>
+              </el-form-item>
+              <el-form-item prop="sex" label="性别:">
+                <el-radio-group v-model="patient.sex">
+                  <el-radio :label="1">男</el-radio>
+                  <el-radio :label="0">女</el-radio>
+                </el-radio-group>
+              </el-form-item>
+              <el-form-item prop="birthdate" label="出生日期:" >
+                <el-date-picker
+                  v-model="patient.birthdate"
+                  class="v-date-picker"
+                  type="date"
+                  placeholder="选择日期">
+                </el-date-picker>
+              </el-form-item>
+              <el-form-item prop="phone" label="手机号码:" >
+                <el-input v-model="patient.phone" placeholder="请输入手机号码" maxlength="11" class="input v-input"/>
+              </el-form-item>
+            </el-form>
+          </div>
+
+          <div class="sub-title">
+            <div class="block"></div>
+            建档信息(完善后部分医院首次就诊不排队建档)
+          </div>
+          <div class="content-wrapper">
+            <el-form :model="patient" label-width="110px" label-position="left" ref="patient" :rules="validateRules">
+              <el-form-item prop="isMarry" label="婚姻状况:">
+                <el-radio-group v-model="patient.isMarry">
+                  <el-radio :label="0">未婚</el-radio>
+                  <el-radio :label="1">已婚</el-radio>
+                </el-radio-group>
+              </el-form-item>
+              <el-form-item prop="isInsure" label="自费/医保:">
+                <el-radio-group v-model="patient.isInsure">
+                  <el-radio :label="0">自费</el-radio>
+                  <el-radio :label="1">医保</el-radio>
+                </el-radio-group>
+              </el-form-item>
+              <el-form-item prop="addressSelected" label="当前住址:" >
+                <el-cascader
+                  ref="selectedShow"
+                  v-model="patient.addressSelected"
+                  class="v-address"
+                  :props="props"
+                ></el-cascader>
+              </el-form-item>
+              <el-form-item prop="address" label="详细地址:" >
+                <el-input v-model="patient.address" placeholder="应公安机关要求,请填写现真实住址" class="input v-input"/>
+              </el-form-item>
+            </el-form>
+          </div>
+
+
+          <div class="sub-title">
+            <div class="block"></div>
+            联系人信息(选填)
+          </div>
+          <div class="content-wrapper">
+            <el-form :model="patient" label-width="110px" label-position="left">
+              <el-form-item prop="contactsName" label="姓名:">
+                <el-input v-model="patient.contactsName" placeholder="请输入联系人姓名全称" class="input v-input"/>
+              </el-form-item>
+              <el-form-item prop="contactsCertificatesType" label="证件类型:">
+                <el-select v-model="patient.contactsCertificatesType" placeholder="请选择证件类型" class="v-select patient-select">
+                  <el-option
+                    v-for="item in certificatesTypeList"
+                    :key="item.value"
+                    :label="item.name"
+                    :value="item.value">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+              <el-form-item prop="contactsCertificatesNo" label="证件号码:">
+                <el-input v-model="patient.contactsCertificatesNo" contactsCertificatesNo="请输入联系人证件号码" class="input v-input"/>
+              </el-form-item>
+              <el-form-item prop="contactsPhone" label="手机号码:">
+                <el-input v-model="patient.contactsPhone" placeholder="请输入联系人手机号码" class="input v-input"/>
+              </el-form-item>
+            </el-form>
+          </div>
+        </div>
+
+        <div  class="bottom-wrapper">
+          <div  class="button-wrapper">
+            <div class="v-button" @click="saveOrUpdate()">{{ submitBnt }}</div>
+          </div>
+        </div>
+      </div>
+    </div>
+    <!-- 右侧内容 #end -->
+  </div>
+  <!-- footer -->
+</template>
+
+<script>
+import '~/assets/css/hospital_personal.css'
+import '~/assets/css/hospital.css'
+import '~/assets/css/personal.css'
+
+import dictApi from '@/api/cmn/dict'
+import patientApi from '@/api/user/patient'
+
+const defaultForm = {
+  name: '',
+  certificatesType: '',
+  certificatesNo: '',
+  sex: 1,
+  birthdate: '',
+  phone: '',
+  isMarry: 0,
+  isInsure: 0,
+  provinceCode: '',
+  cityCode: '',
+  districtCode: '',
+  addressSelected: null,
+  address: '',
+  contactsName: '',
+  contactsCertificatesType: '',
+  contactsCertificatesNo: '',
+  contactsPhone: '',
+  param: {}
+}
+export default {
+
+  data() {
+    return {
+      patient: defaultForm,
+
+      certificatesTypeList: [],
+
+      props: {
+        lazy: true,
+        async lazyLoad (node, resolve) {
+          const { level } = node
+          //异步获取省市区
+
+          dictApi.findByParentId(level ? node.value : '86').then(response => {
+            let list= response.data
+            let provinceList = list.map((item, i) => {
+              return {
+                value: item.id,
+                label: item.name,
+                leaf: node.level == 2 ? true : false,//可控制显示几级
+              }
+            })
+            resolve && resolve(provinceList)
+          })
+        }
+      },
+
+      submitBnt: '保存',
+      validateRules: {
+        name: [{ required: true, trigger: 'blur', message: '必须输入' }],
+        certificatesType: [{ required: true, trigger: 'blur', message: '必须输入' }],
+        certificatesNo: [{ required: true, trigger: 'blur', message: '必须输入' }],
+        birthdate: [{ required: true, trigger: 'blur', message: '必须输入' }],
+        phone: [{ required: true, trigger: 'blur', message: '必须输入' }],
+        addressSelected: [{ required: true, trigger: 'blur', message: '必须输入' }],
+        address: [{ required: true, trigger: 'blur', message: '必须输入' }]
+      }
+    }
+  },
+
+  created() {
+    this.init();
+  },
+
+  mounted() {
+    if (this.$route.query.id) {
+      setTimeout(()=>{
+        this.$refs.selectedShow.presentText = this.patient.param.provinceString + '/' + this.patient.param.cityString + '/' +this.patient.param.districtString //"北京市/市辖区/西城区";// 首次手动复制
+        // this.$refs.selectedShow.value = '110000/110100/110102';
+      },1000)
+    }
+  },
+
+  methods: {
+    init() {
+      if (this.$route.query.id) {
+        const id = this.$route.query.id
+        this.fetchDataById(id)
+      } else {
+        // 对象拓展运算符:拷贝对象,而不是赋值对象的引用
+        this.patient = { ...defaultForm }
+      }
+
+      this.getDict()
+    },
+
+    fetchDataById(id) {
+      patientApi.getById(id).then(response => {
+        this.patient = response.data
+
+        //添加默认值
+        this.patient.addressSelected = [this.patient.provinceCode, this.patient.cityCode, this.patient.districtCode]
+      })
+    },
+
+    getDict() {
+      dictApi.findByDictCode("CertificatesType").then(response => {
+        this.certificatesTypeList = response.data
+      })
+    },
+
+    saveOrUpdate() {
+      this.$refs.patient.validate(valid => {
+        if (valid) {
+          //地址处理
+          if(this.patient.addressSelected.length == 3) {
+            this.patient.provinceCode = this.patient.addressSelected[0]
+            this.patient.cityCode = this.patient.addressSelected[1]
+            this.patient.districtCode = this.patient.addressSelected[2]
+          }
+
+          if (!this.patient.id) {
+            this.saveData()
+          } else {
+            this.updateData()
+          }
+        }
+      })
+    },
+
+    // 新增
+    saveData() {
+      if(this.submitBnt == '正在提交...') {
+        this.$message.info('重复提交')
+        return
+      }
+
+      this.submitBnt = '正在提交...'
+      patientApi.save(this.patient).then(response => {
+        this.$message.success("提交成功")
+        window.location.href = '/patient'
+      }).catch(e => {
+        this.submitBnt = '保存'
+      })
+    },
+
+    // 根据id更新记录
+    updateData() {
+      if(this.submitBnt == '正在提交...') {
+        this.$message.info('重复提交')
+        return
+      }
+
+      this.submitBnt = '正在提交...'
+      patientApi.updateById(this.patient).then(response => {
+        this.$message.success("提交成功")
+        window.location.href = '/patient'
+      }).catch(e => {
+        this.submitBnt = '保存'
+      })
+    }
+  }
+}
+</script>
+<style>
+  .header-wrapper .title {
+    font-size: 16px;
+    margin-top: 0;
+  }
+
+  .sub-title {
+    margin-top: 0;
+  }
+
+  .bottom-wrapper{
+    padding: 0;
+    margin: 0;
+  }
+  .bottom-wrapper .button-wrapper{
+    margin-top: 0;
+  }
+</style>

+ 114 - 0
pages/patient/index.vue

@@ -0,0 +1,114 @@
+<template>
+
+  <!-- header -->
+  <div class="nav-container page-component">
+    <!--左侧导航 #start -->
+    <div class="nav left-nav">
+      <div class="nav-item ">
+        <span class="v-link clickable dark" onclick="javascript:window.location='/user'">实名认证 </span>
+      </div>
+      <div class="nav-item ">
+        <span class="v-link clickable dark" onclick="javascript:window.location='/order'"> 挂号订单 </span>
+      </div>
+      <div class="nav-item selected">
+        <span class="v-link selected dark" onclick="javascript:window.location='/patient'"> 就诊人管理 </span>
+      </div>
+      <div class="nav-item ">
+        <span class="v-link clickable dark"> 修改账号信息 </span>
+      </div>
+      <div class="nav-item ">
+        <span class="v-link clickable dark"> 意见反馈 </span>
+      </div>
+    </div>
+    <!-- 左侧导航 #end -->
+
+    <!-- 右侧内容 #start -->
+    <div class="page-container">
+      <div class="personal-patient">
+        <div class="header-wrapper">
+          <div class="title"> 就诊人管理</div>
+        </div>
+        <div class="content-wrapper">
+          <el-card class="patient-card" shadow="always" v-for="item in patientList" :key="item.id">
+            <div slot="header" class="clearfix">
+              <div>
+                <span class="name">{{ item.name }}</span>
+                <span>{{ item.certificatesNo }} {{ item.param.certificatesTypeString }}</span>
+                <div  class="detail" @click="show(item.id)"> 查看详情 <span  class="iconfont"></span></div>
+              </div>
+            </div>
+            <div class="card SELF_PAY_CARD">
+              <div class="info">
+                <span class="type">{{ item.isInsure == 0 ? '自费' : '医保'}}</span>
+                <span class="card-no">{{ item.certificatesNo }}</span>
+                <span class="card-view">{{ item.param.certificatesTypeString }}</span>
+              </div>
+              <span class="operate"></span></div>
+            <div class="card">
+              <div class="text bind-card"></div>
+            </div>
+          </el-card>
+
+          <div class="item-add-wrapper v-card clickable" @click="add()">
+            <div class="">
+              <div>+ 添加就诊人</div>
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+    <!-- 右侧内容 #end -->
+  </div>
+  <!-- footer -->
+</template>
+
+<script>
+import '~/assets/css/hospital_personal.css'
+import '~/assets/css/hospital.css'
+import '~/assets/css/personal.css'
+
+import patientApi from '@/api/user/patient'
+
+export default {
+
+  data() {
+    return {
+      patientList: []
+    }
+  },
+
+  created() {
+    this.findPatientList()
+  },
+
+  methods: {
+    findPatientList() {
+      patientApi.findList().then(response => {
+        this.patientList = response.data
+      })
+    },
+
+    add() {
+      window.location.href = '/patient/add'
+    },
+
+    show(id) {
+      window.location.href = '/patient/show?id=' + id
+    }
+  }
+}
+</script>
+<style>
+  .header-wrapper .title {
+    font-size: 16px;
+    margin-top: 0;
+  }
+
+  .content-wrapper {
+    margin-left: 0;
+  }
+  .patient-card .el-card__header .detail{
+    font-size: 14px;
+  }
+
+</style>

+ 149 - 0
pages/patient/show.vue

@@ -0,0 +1,149 @@
+<template>
+
+  <!-- header -->
+  <div class="nav-container page-component">
+    <!--左侧导航 #start -->
+    <div class="nav left-nav">
+      <div class="nav-item ">
+        <span class="v-link clickable dark" onclick="javascript:window.location='/user'">实名认证 </span>
+      </div>
+      <div class="nav-item ">
+        <span class="v-link clickable dark" onclick="javascript:window.location='/order'"> 挂号订单 </span>
+      </div>
+      <div class="nav-item selected">
+        <span class="v-link selected dark" onclick="javascript:window.location='/patient'"> 就诊人管理 </span>
+      </div>
+      <div class="nav-item ">
+        <span class="v-link clickable dark"> 修改账号信息 </span>
+      </div>
+      <div class="nav-item ">
+        <span class="v-link clickable dark"> 意见反馈 </span>
+      </div>
+    </div>
+    <!-- 左侧导航 #end -->
+
+    <!-- 右侧内容 #start -->
+    <div class="page-container">
+      <div class="personal-patient">
+          <div class="title" style="margin-top: 0px;font-size: 16px;"> 就诊人详情</div>
+        <div>
+          <div class="sub-title">
+            <div class="block"></div>
+            就诊人信息
+          </div>
+          <div class="content-wrapper">
+            <el-form :model="patient" label-width="110px" label-position="left">
+              <el-form-item label="姓名:">
+                <div class=""><span>{{ patient.name }}</span></div>
+              </el-form-item>
+              <el-form-item label="证件类型:">
+                <div class=""><span>{{ patient.param.certificatesTypeString }}</span></div>
+              </el-form-item>
+              <el-form-item label="证件号码:">
+                <div class=""><span>{{ patient.certificatesNo }} </span></div>
+              </el-form-item>
+              <el-form-item label="性别:">
+                <div class=""><span>{{ patient.sex == 1 ? '男' : '女' }} </span></div>
+              </el-form-item>
+              <el-form-item label="出生日期:">
+                <div class=""><span>{{ patient.birthdate }} </span></div>
+              </el-form-item>
+              <el-form-item label="手机号码:">
+                <div class=""><span>{{ patient.phone }} </span></div>
+              </el-form-item>
+              <el-form-item label="婚姻状况:">
+                <div class=""><span>{{ patient.isMarry == 1 ? '已婚' : '未婚' }} </span></div>
+              </el-form-item>
+              <el-form-item label="当前住址:">
+              <div class=""><span>{{ patient.param.provinceString }}/{{ patient.param.cityString }}/{{ patient.param.districtString }} </span></div>
+            </el-form-item>
+              <el-form-item label="详细地址:">
+                <div class=""><span>{{ patient.address }} </span></div>
+              </el-form-item>
+
+              <br/>
+              <el-form-item>
+                <el-button class="v-button" type="primary" @click="remove()">删除就诊人</el-button>
+                <el-button class="v-button" type="primary white" @click="edit()">修改就诊人</el-button>
+              </el-form-item>
+
+            </el-form>
+          </div>
+        </div>
+      </div>
+    </div>
+    <!-- 右侧内容 #end -->
+  </div>
+  <!-- footer -->
+</template>
+
+<script>
+import '~/assets/css/hospital_personal.css'
+import '~/assets/css/hospital.css'
+import '~/assets/css/personal.css'
+
+import patientApi from '@/api/user/patient'
+
+export default {
+
+  data() {
+    return {
+      patient: {
+        param: {}
+      }
+    }
+  },
+
+  created() {
+    this.fetchDataById();
+  },
+
+  methods: {
+    fetchDataById() {
+      debugger
+      patientApi.getById(this.$route.query.id).then(response => {
+        this.patient = response.data
+      })
+    },
+
+    remove() {
+      patientApi.removeById(this.patient.id).then(response => {
+        this.$message.success('删除成功')
+        window.location.href = '/patient'
+      })
+    },
+
+    edit() {
+      window.location.href = '/patient/add?id=' + this.patient.id
+    }
+  }
+}
+</script>
+<style>
+  .info-wrapper {
+    padding-left: 0;
+    padding-top: 0;
+  }
+
+  .content-wrapper {
+    color: #333;
+    font-size: 14px;
+    padding-bottom: 0;
+  }
+  .el-form-item {
+    margin-bottom: 5px;
+  }
+
+  .bottom-wrapper {
+    width: 100%;
+  }
+
+  .button-wrapper {
+    margin: 0;
+
+  }
+
+  .bottom-wrapper .button-wrapper {
+    margin-top: 0;
+  }
+</style>

+ 232 - 0
pages/user/index.vue

@@ -0,0 +1,232 @@
+<template>
+
+  <!-- header -->
+  <div class="nav-container page-component">
+    <!--左侧导航 #start -->
+    <div class="nav left-nav">
+      <div class="nav-item selected">
+        <span class="v-link selected dark" onclick="javascript:window.location='/user'">实名认证 </span>
+      </div>
+      <div class="nav-item">
+        <span class="v-link selected dark" onclick="javascript:window.location='/order'"> 挂号订单 </span>
+      </div>
+      <div class="nav-item ">
+        <span class="v-link clickable dark" onclick="javascript:window.location='/patient'"> 就诊人管理 </span>
+      </div>
+      <div class="nav-item ">
+        <span class="v-link clickable dark"> 修改账号信息 </span>
+      </div>
+      <div class="nav-item ">
+        <span class="v-link clickable dark"> 意见反馈 </span>
+      </div>
+    </div>
+    <!-- 左侧导航 #end -->
+
+    <!-- 右侧内容 #start -->
+    <div class="page-container">
+      <div>
+        <div class="title"> 实名认证</div>
+        <div class="status-bar">
+          <div class="status-wrapper"><span class="iconfont"></span>{{ userInfo.param.authStatusString }}</div>
+        </div>
+        <div class="tips"><span class="iconfont"></span>
+          完成实名认证后才能添加就诊人,正常进行挂号,为了不影响后续步骤,建议提前实名认证。
+        </div>
+        <div class="form-wrapper" v-if="userInfo.authStatus == 0">
+          <div>
+            <el-form :model="userAuah" label-width="110px" label-position="left">
+              <el-form-item prop="name" label="姓名:" class="form-normal">
+                <div class="name-input">
+                  <el-input v-model="userAuah.name" placeholder="请输入联系人姓名全称" class="input v-input"/>
+                </div>
+              </el-form-item>
+              <el-form-item prop="certificatesType" label="证件类型:">
+                <el-select v-model="userAuah.certificatesType" placeholder="请选择证件类型" class="v-select patient-select">
+                  <el-option
+                    v-for="item in certificatesTypeList"
+                    :key="item.value"
+                    :label="item.name"
+                    :value="item.value">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+              <el-form-item prop="certificatesNo" label="证件号码:">
+                <el-input v-model="userAuah.certificatesNo" placeholder="请输入联系人证件号码" class="input v-input"/>
+              </el-form-item>
+              <el-form-item prop="name" label="上传证件:">
+                <div class="upload-wrapper">
+                  <div class="avatar-uploader">
+                    <el-upload
+                      class="avatar-uploader"
+                      :action="fileUrl"
+                      :show-file-list="false"
+                      :on-success="onUploadSuccess">
+                      <div class="upload-inner-wrapper">
+                        <img v-if="userAuah.certificatesUrl" :src="userAuah.certificatesUrl" class="avatar">
+                        <i v-else class="el-icon-plus avatar-uploader-icon"></i>
+                        <div v-if="!userAuah.certificatesUrl" class="text"> 上传证件合照</div>
+                      </div>
+                    </el-upload>
+                  </div>
+                  <img src="//img.114yygh.com/static/web/auth_example.png" class="example">
+                </div>
+              </el-form-item>
+            </el-form>
+
+            <div class="bottom-wrapper">
+              <div class="button-wrapper">
+                <div class="v-button" @click="saveUserAuah()">{{ submitBnt }}</div>
+              </div>
+            </div>
+          </div>
+        </div>
+
+        <div class="context-container" v-if="userInfo.authStatus != 0">
+          <div>
+            <el-form :model="formData" label-width="110px" label-position="right">
+              <el-form-item prop="name" label="姓名:" class="form-normal">
+                <div class="name-input">
+                  {{ userInfo.name }}
+                </div>
+              </el-form-item>
+              <el-form-item prop="name" label="证件类型:">
+                {{ userInfo.param.certificatesTypeString }}
+              </el-form-item>
+              <el-form-item prop="name" label="证件号码:">
+                {{ userInfo.certificatesNo }}
+              </el-form-item>
+            </el-form>
+          </div>
+        </div>
+
+      </div>
+    </div>
+    <!-- 右侧内容 #end -->
+
+    <!-- 登录弹出框 -->
+  </div>
+  <!-- footer -->
+</template>
+
+<script>
+import '~/assets/css/hospital_personal.css'
+import '~/assets/css/hospital.css'
+import '~/assets/css/personal.css'
+
+import dictApi from '@/api/cmn/dict'
+import userInfoApi from '@/api/user/userInfo'
+
+const defaultForm = {
+  name: '',
+  certificatesType: '',
+  certificatesNo: '',
+  certificatesUrl: ''
+}
+export default {
+
+  data() {
+    return {
+      userAuah: defaultForm,
+      certificatesTypeList: [],
+      fileUrl:'http://localhost/api/oss/file/fileUpload?fileHost=userAuah',
+
+      userInfo: {
+        param: {}
+      },
+
+      submitBnt: '提交'
+    }
+  },
+
+  created() {
+    this.init()
+  },
+
+  methods: {
+    init() {
+      this.getUserInfo()
+
+      this.getDict()
+    },
+
+    getUserInfo() {
+      userInfoApi.getUserInfo().then(response => {
+        this.userInfo = response.data
+      })
+    },
+
+    saveUserAuah() {
+      if(this.submitBnt == '正在提交...') {
+        this.$message.info('重复提交')
+        return
+      }
+
+      this.submitBnt = '正在提交...'
+      userInfoApi.saveUserAuah(this.userAuah).then(response => {
+        this.$message.success("提交成功")
+        window.location.reload()
+      }).catch(e => {
+        this.submitBnt = '提交'
+      })
+    },
+
+    getDict() {
+      dictApi.findByDictCode("CertificatesType").then(response => {
+        this.certificatesTypeList = response.data
+      })
+    },
+
+    onUploadSuccess(response, file) {
+      debugger
+      if(response.code !== 200) {
+        this.$message.error("上传失败")
+        return
+      }
+      // 填充上传文件列表
+      this.userAuah.certificatesUrl = file.response.data
+    }
+  }
+}
+</script>
+<style>
+  .header-wrapper .title {
+    font-size: 16px;
+    margin-top: 0;
+  }
+
+  .content-wrapper {
+    margin-left: 0;
+  }
+
+  .patient-card .el-card__header .detail {
+    font-size: 14px;
+  }
+
+  .page-container .title {
+    letter-spacing: 1px;
+    font-weight: 700;
+    color: #333;
+    font-size: 16px;
+    margin-top: 0;
+    margin-bottom: 20px;
+  }
+
+  .page-container .tips {
+    width: 100%;
+    padding-left: 0;
+  }
+
+  .page-container .form-wrapper {
+    padding-left: 92px;
+    width: 580px;
+  }
+
+  .form-normal {
+    height: 40px;
+  }
+  .bottom-wrapper{
+    width: 100%;
+    padding: 0;
+    margin-top: 0;
+  }
+</style>

+ 28 - 0
pages/weixin/callback.vue

@@ -0,0 +1,28 @@
+<template>
+  <!-- header -->
+  <div>
+
+  </div>
+  <!-- footer -->
+</template>
+
+<script>
+export default {
+  layout: "empty",
+
+  data() {
+    return {
+
+    }
+  },
+
+  mounted() {
+    let token = this.$route.query.token
+    let name = this.$route.query.name
+    let openid = this.$route.query.openid
+
+    // 调用父vue方法
+    window.parent['loginCallback'](name, token, openid)
+  }
+}
+</script>

+ 9 - 0
plugins/README.md

@@ -0,0 +1,9 @@
+# PLUGINS
+
+This directory contains your Javascript plugins that you want to run before instantiating the root vue.js application.
+
+More information about the usage of this directory in the documentation:
+https://nuxtjs.org/guide/plugins
+
+**This directory is not required, you can delete it if you don't want to use it.**
+

+ 6 - 0
plugins/myPlugin.js

@@ -0,0 +1,6 @@
+import Vue from 'vue'
+import ElementUI from 'element-ui'
+Vue.use(ElementUI)
+
+import VueQriously from 'vue-qriously'
+Vue.use(VueQriously)

+ 12 - 0
static/README.md

@@ -0,0 +1,12 @@
+# STATIC
+
+This directory contains your static files.
+Each file inside this directory is mapped to /.
+
+Example: /static/robots.txt is mapped as /robots.txt.
+
+More information about the usage of this directory in the documentation:
+https://nuxtjs.org/guide/assets#static
+
+**This directory is not required, you can delete it if you don't want to use it.**
+

Plik diff jest za duży
+ 2892 - 0
static/css/app.css


Plik diff jest za duży
+ 6916 - 0
static/css/chunk.css


+ 2178 - 0
static/css/hospital.css

@@ -0,0 +1,2178 @@
+.flexRow {
+    -webkit-box-orient: vertical;
+    -ms-flex-direction: column;
+    flex-direction: column
+}
+
+.flexCol, .flexRow {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-direction: normal
+}
+
+.flexCol {
+    -webkit-box-orient: horizontal;
+    -ms-flex-direction: row;
+    flex-direction: row
+}
+
+.row-left-top {
+    -webkit-box-pack: start;
+    -ms-flex-pack: start;
+    justify-content: flex-start
+}
+
+.row-left-middle, .row-left-top {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: start;
+    -ms-flex-align: start;
+    align-items: flex-start
+}
+
+.row-left-middle {
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center
+}
+
+.row-left-bottom {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: start;
+    -ms-flex-align: start;
+    align-items: flex-start;
+    -webkit-box-pack: end;
+    -ms-flex-pack: end;
+    justify-content: flex-end
+}
+
+.row-center-top {
+    -webkit-box-pack: start;
+    -ms-flex-pack: start;
+    justify-content: flex-start
+}
+
+.row-center-middle, .row-center-top {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.row-center-middle {
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center
+}
+
+.row-center-bottom {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    -webkit-box-pack: end;
+    -ms-flex-pack: end;
+    justify-content: flex-end
+}
+
+.row-right-top {
+    -webkit-box-pack: start;
+    -ms-flex-pack: start;
+    justify-content: flex-start
+}
+
+.row-right-middle, .row-right-top {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: end;
+    -ms-flex-align: end;
+    align-items: flex-end
+}
+
+.row-right-middle {
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center
+}
+
+.row-right-bottom {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: end;
+    -ms-flex-align: end;
+    align-items: flex-end;
+    -webkit-box-pack: end;
+    -ms-flex-pack: end;
+    justify-content: flex-end
+}
+
+.col-left-top {
+    -webkit-box-align: start;
+    -ms-flex-align: start;
+    align-items: flex-start
+}
+
+.col-left-middle, .col-left-top {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: horizontal;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: row;
+    flex-direction: row;
+    -webkit-box-pack: start;
+    -ms-flex-pack: start;
+    justify-content: flex-start
+}
+
+.col-left-middle {
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.col-left-bottom {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: horizontal;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: row;
+    flex-direction: row;
+    -webkit-box-pack: start;
+    -ms-flex-pack: start;
+    justify-content: flex-start;
+    -webkit-box-align: end;
+    -ms-flex-align: end;
+    align-items: flex-end
+}
+
+.col-center-top {
+    -webkit-box-align: start;
+    -ms-flex-align: start;
+    align-items: flex-start
+}
+
+.col-center-middle, .col-center-top {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: horizontal;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: row;
+    flex-direction: row;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center
+}
+
+.col-center-middle {
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.col-center-bottom {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: horizontal;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: row;
+    flex-direction: row;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    -webkit-box-align: end;
+    -ms-flex-align: end;
+    align-items: flex-end
+}
+
+.col-right-top {
+    -webkit-box-align: start;
+    -ms-flex-align: start;
+    align-items: flex-start
+}
+
+.col-right-middle, .col-right-top {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: horizontal;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: row;
+    flex-direction: row;
+    -webkit-box-pack: end;
+    -ms-flex-pack: end;
+    justify-content: flex-end
+}
+
+.col-right-middle {
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.col-right-bottom {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: horizontal;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: row;
+    flex-direction: row;
+    -webkit-box-pack: end;
+    -ms-flex-pack: end;
+    justify-content: flex-end;
+    -webkit-box-align: end;
+    -ms-flex-align: end;
+    align-items: flex-end
+}
+
+.hospital-department {
+    width: 170px;
+    background: #f4f9ff;
+    position: relative;
+    height: 100%;
+    color: #333
+}
+
+.hospital-department .dept-list-wrapper {
+    padding: 10px 0;
+    height: 100%
+}
+
+.hospital-department .dept-list-wrapper .sub-item {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    text-align: center;
+    padding: 10px;
+    cursor: pointer;
+    -webkit-transition: all .2s ease;
+    transition: all .2s ease;
+    min-height: 40px
+}
+
+.hospital-department .dept-list-wrapper .sub-item:hover {
+    background: hsla(0, 0%, 100%, .7)
+}
+
+.hospital-department .dept-list-wrapper .sub-item.selected {
+    font-size: 16px;
+    font-weight: 700;
+    background: #fff
+}
+
+.hospital-department .mask {
+    width: 100%;
+    height: 40px;
+    background: -webkit-gradient(linear, left top, left bottom, from(rgba(232, 242, 255, 0)), to(rgba(73, 144, 241, .2)));
+    background: linear-gradient(180deg, rgba(232, 242, 255, 0), rgba(73, 144, 241, .2));
+    position: absolute;
+    bottom: 0
+}
+
+ .el-dialog__header {
+    background-color: #e8f2ff;
+    padding: 20px 30px;
+    border-radius: 4px 4px 0 0
+}
+
+ .el-dialog__header .el-dialog__title {
+    font-size: 16px;
+    font-weight: 700;
+    letter-spacing: 1px
+}
+
+ .el-dialog__header .el-dialog__close {
+    font-size: 20px;
+    font-weight: 700
+}
+
+ .el-dialog__body {
+    padding: 10px 20px 0;
+    max-height: 450px;
+    overflow: auto
+}
+
+ .el-dialog__footer {
+    padding: 15px;
+    -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, .1);
+    box-shadow: 0 0 10px 0 rgba(0, 0, 0, .1);
+    border-radius: 0 0 4px 4px;
+    z-index: 100;
+    position: relative
+}
+
+.dialog-text {
+    color: #333;
+    font-size: 14px;
+    margin-bottom: 60px
+}
+
+.content-wrapper {
+    color: #999;
+    font-size: 16px
+}
+
+.content-wrapper p {
+    text-indent: 2em;
+    margin: 0
+}
+
+.placeholder {
+    height: 30px
+}
+
+.button-wrapper {
+    width: 140px;
+    margin: 0 auto
+}
+
+.common-header {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: justify;
+    -ms-flex-pack: justify;
+    justify-content: space-between
+}
+
+.common-header .title-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.common-header .title-wrapper .hospital-title {
+    color: #333;
+    font-size: 20px;
+    font-weight: 700;
+    margin-right: 15px
+}
+
+.common-header .favicon .iconfont {
+    font-size: 14px
+}
+
+.hospital-home .header-wrapper {
+    position: fixed
+}
+
+.hospital-home .info-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    margin-top: 30px;
+    padding-top: 0;
+    padding-left: 0;
+    width: 100%;
+    flex-direction:inherit;
+
+}
+
+.hospital-home .info-wrapper .content-wrapper {
+    -webkit-box-flex: 1;
+    -ms-flex: 1;
+    flex: 1;
+    color: #333;
+    margin-left: 30px
+}
+
+.hospital-home .info-wrapper .content-wrapper .sub-title {
+    letter-spacing: 1px
+}
+
+.hospital-home .info-wrapper .content-wrapper .line {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    margin-top: 8px;
+    font-size: 12px
+}
+
+.hospital-home .info-wrapper .content-wrapper .line .label {
+    color: #999
+}
+
+.hospital-home .info-wrapper .content-wrapper .space {
+    margin-left: 60px
+}
+
+.hospital-home .info-wrapper .mt20 {
+    margin-top: 20px
+}
+
+.hospital-home .info-wrapper .hospital-img {
+    height: 80px;
+    width: 80px;
+    border-radius: 40px
+}
+
+.hospital-home .maintain-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    margin-top: 100px
+}
+
+.hospital-home .maintain-wrapper .maintain-img {
+    width: 130px;
+    height: 130px
+}
+
+.hospital-home .maintain-wrapper .text {
+    margin-top: 20px;
+    color: #333;
+    font-size: 16px
+}
+
+.hospital-home .maintain-wrapper .tips {
+    margin-top: 10px;
+    color: #ccc;
+    width: 550px
+}
+
+.hospital-home .rule-wrapper {
+    margin-top: 8px;
+    font-size: 12px;
+    color: #999;
+    line-height: 20px;
+    min-height: 20px;
+    padding: 0;
+    background: none;
+}
+
+.hospital-home .rule-wrapper ol {
+    margin: 0;
+    padding-left: 13px
+}
+
+.hospital-home .select-title {
+    padding-top: 40px;
+    padding-bottom: 20px;
+    background: #fff;
+    position: -webkit-sticky;
+    position: sticky;
+    top: 0
+}
+
+.hospital-home .select-dept-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: justify;
+    -ms-flex-pack: justify;
+    justify-content: space-between;
+    min-height: 100px
+}
+
+.hospital-home .select-dept-wrapper .block {
+    width: 2px;
+    border-radius: 1px;
+    -webkit-transition: all .2s ease;
+    transition: all .2s ease
+}
+
+.hospital-home .select-dept-wrapper .block.selected {
+    width: 4px;
+    border-radius: 2px
+}
+
+.hospital-home .select-dept-wrapper .department-wrapper {
+    max-height: 460px;
+    position: -webkit-sticky;
+    position: sticky;
+    top: 82px
+}
+
+.hospital-home .select-dept-wrapper .sub-dept-container {
+    margin-left: 50px;
+    -webkit-box-flex: 1;
+    -ms-flex: 1;
+    flex: 1
+}
+
+.hospital-home .select-dept-wrapper .sub-dept-container .sub-dept-wrapper {
+    padding: 20px 0 20px 30px;
+    border-radius: 4px;
+    margin-top: 20px
+}
+
+.hospital-home .select-dept-wrapper .sub-dept-container .sub-dept-wrapper:first-child {
+    margin-top: 0
+}
+
+.hospital-home .select-dept-wrapper .sub-dept-container .sub-dept-wrapper.selected {
+    background: #fafafa
+}
+
+.hospital-home .select-dept-wrapper .sub-dept-container .sub-dept-wrapper .sub-title {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    font-weight: 700;
+    color: #333
+}
+
+.hospital-home .select-dept-wrapper .sub-dept-container .sub-dept-wrapper .sub-item-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -ms-flex-wrap: wrap;
+    flex-wrap: wrap;
+    margin-top: 10px
+}
+
+.hospital-home .select-dept-wrapper .sub-dept-container .sub-dept-wrapper .sub-item-wrapper .sub-item {
+    width: 230px;
+    margin-top: 10px;
+    padding-right: 30px
+}
+
+.countdown-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.countdown-wrapper .countdonw-title {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    color: #333;
+    font-size: 16px
+}
+
+.countdown-wrapper .v-link {
+    margin-left: 5px;
+    margin-right: 5px
+}
+
+.countdown-wrapper .countdown-text {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    color: #999;
+    font-size: 16px;
+    margin-top: 20px
+}
+
+.countdown-wrapper .number {
+    margin-left: 24px;
+    font-weight: 700;
+    font-size: 30px;
+    letter-spacing: 1px;
+    color: #4990f1
+}
+
+.countdown-wrapper .unit {
+    font-size: 16px;
+    color: #333
+}
+
+.calendar-item {
+    width: 124px;
+    height: 80px;
+    color: #4990f1;
+    cursor: pointer;
+    -webkit-transition: all .2 ease;
+    transition: all .2 ease;
+    -webkit-user-select: none;
+    -moz-user-select: none;
+    -ms-user-select: none;
+    user-select: none
+}
+
+.calendar-item.small {
+    width: 110px
+}
+
+.calendar-item .date-wrapper {
+    padding: 10px 0;
+    background-color: #e8f2ff;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    font-size: 14px;
+    border-top-left-radius: 4px;
+    border-top-right-radius: 4px
+}
+
+.calendar-item .date-wrapper .week {
+    font-size: 12px;
+    margin-left: 13px
+}
+
+.calendar-item .status-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    padding: 10px 0;
+    border: 1px solid #e8f2ff;
+    border-top: 0;
+    border-bottom-left-radius: 4px;
+    border-bottom-right-radius: 4px
+}
+
+.calendar-item.selected {
+    font-weight: 700
+}
+
+.calendar-item.selected .date-wrapper {
+    color: #fff;
+    background-color: #4990f1
+}
+
+.calendar-item.selected .status-wrapper {
+    border-color: #4990f1
+}
+
+.calendar-item.gray {
+    color: #999
+}
+
+.calendar-item.gray .date-wrapper {
+    background-color: #eee
+}
+
+.calendar-item.gray .status-wrapper {
+    border-color: #eee
+}
+
+.calendar-item.gray.selected .date-wrapper {
+    color: #fff;
+    background-color: #ccc
+}
+
+.calendar-item.gray.selected .status-wrapper {
+    border-color: #ccc
+}
+
+.calendar-list-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex
+}
+
+.calendar-list-wrapper .space {
+    margin-left: 22px
+}
+
+.calendar-list-wrapper .small-space {
+    margin-left: 16px
+}
+
+.title-wrapper {
+    margin-bottom: 20px;
+    text-align: center;
+    letter-spacing: 1px;
+    color: #333
+}
+
+.pagination {
+    margin-top: 30px;
+    height: 42px
+}
+
+.list-title {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    letter-spacing: 1px;
+    color: #999
+}
+
+.list-item {
+    margin-top: 40px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: justify;
+    -ms-flex-pack: justify;
+    justify-content: space-between
+}
+
+.list-item .item-wrapper {
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center
+}
+
+.list-item .item-wrapper, .list-item .title-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex
+}
+
+.list-item .title-wrapper .title {
+    font-size: 14px
+}
+
+.list-item .title-wrapper .name {
+    letter-spacing: 1px
+}
+
+.list-item .special-wrapper {
+    width: 660px;
+    margin-top: 10px;
+    letter-spacing: 1px;
+    color: #999
+}
+
+.list-item .right-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.list-item .right-wrapper .fee {
+    letter-spacing: 1px;
+    color: #4990f1;
+    font-weight: 700;
+    margin-right: 20px
+}
+
+.list-item .right-wrapper .button-wrapper {
+    width: 140px
+}
+
+.list-item .right-wrapper .button-wrapper .v-button {
+    font-weight: 700
+}
+
+.list-item .right-wrapper .button-wrapper .number {
+    margin-top: -3px
+}
+
+.mt100 {
+    margin-top: 40px
+}
+
+.watch-all-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    margin-top: 40px
+}
+
+.doct-item {
+    width: 440px;
+    height: 130px;
+    background: #fff;
+    -webkit-box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04);
+    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04);
+    border-radius: 4px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    font-size: 14px;
+    padding: 10px;
+    margin: 0 40px 30px 0;
+    float: left;
+    cursor: pointer
+}
+
+.doct-item:nth-child(2n) {
+    margin-right: 0
+}
+
+.doct-item .logo {
+    width: 80px;
+    height: 80px;
+    border-radius: 50%;
+    margin-right: 10px
+}
+
+.doct-item .detail .title {
+    color: #333;
+    font-weight: 700
+}
+
+.doct-item .detail .title .name {
+    color: #666;
+    border-left: 1px solid #eee;
+    padding-left: 10px;
+    margin-left: 10px
+}
+
+.doct-item .dept {
+    color: #333;
+    margin-top: 4px
+}
+
+.doct-item .dept span {
+    margin-right: 10px
+}
+
+.doct-item .begoodat {
+    color: #999;
+    width: 330px;
+    overflow: hidden;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+    margin: 8px 0
+}
+
+.doct-item .base-hos .basebg {
+    width: 84px;
+    height: 24px;
+    display: inline-block;
+    background: #9cc0ff;
+    border-radius: 4px 0 0 4px
+}
+
+.doct-item .base-hos .basebg img {
+    width: 72px;
+    margin: 4px 6px
+}
+
+.doct-item .hosname {
+    width: auto;
+    height: 24px;
+    line-height: 24px;
+    display: inline-block;
+    background: #f0f7ff;
+    border-radius: 0 4px 4px 0;
+    border: 1px solid #9cc0ff;
+    color: #333;
+    padding: 0 12px;
+    vertical-align: super
+}
+
+.dept-item {
+    width: 960px;
+    background: #fff;
+    -webkit-box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04);
+    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04);
+    border-radius: 4px;
+    padding: 10px 20px;
+    margin-top: 30px
+}
+
+.dept-item .item, .dept-item .name-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.dept-item .item {
+    -webkit-box-pack: justify;
+    -ms-flex-pack: justify;
+    justify-content: space-between;
+    border-bottom: 1px solid #eee;
+    padding-bottom: 10px
+}
+
+.dept-item .item img {
+    width: 50px;
+    height: 50px;
+    border-radius: 50%
+}
+
+.dept-item .item .hos-name {
+    overflow: hidden;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+    font-size: 16px;
+    color: #333;
+    margin-left: 10px
+}
+
+.dept-item .item .info {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: justify;
+    -ms-flex-pack: justify;
+    justify-content: space-between
+}
+
+.dept-item .item .info div:nth-child(2) {
+    margin-left: 50px
+}
+
+.dept-item ul {
+    list-style: none;
+    padding: 20px 0 0;
+    margin: 0
+}
+
+.dept-item ul li {
+    background: #f7fbff;
+    padding: 7px 10px;
+    font-size: 14px;
+    color: #4990f1;
+    cursor: pointer;
+    margin: 0 10px 10px 0;
+    display: inline-block;
+    border-radius: 4px
+}
+
+.wrap {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    position: relative;
+    margin-top: 30px
+}
+
+.wrap .list-wrapper {
+    min-height: 270px;
+    width: 960px
+}
+
+.wrap img {
+    width: 30px;
+    display: inline-block;
+    position: absolute;
+    top: 7px;
+    left: 0;
+    margin-right: 15px
+}
+
+.wrap .title {
+    font-size: 14px;
+    color: #ffc53d;
+    padding: 10px 0 20px
+}
+
+.wrap .el-tabs__header {
+    margin-left: 40px
+}
+
+.wrap .el-tabs__header /deep/ .el-tabs__item {
+    font-size: 16px
+}
+
+.wrap .el-tabs__header /deep/ .el-tabs__item.is-active {
+    color: #333;
+    font-size: 18px;
+    font-weight: 700
+}
+
+.wrap .el-tabs__nav-wrap:after {
+    background: none
+}
+
+.wrap .el-tabs__content {
+    overflow: inherit
+}
+
+ .el-dialog__header {
+    background-color: #e8f2ff;
+    padding: 20px 30px;
+    border-radius: 4px 4px 0 0
+}
+
+ .el-dialog__header .el-dialog__title {
+    font-size: 16px;
+    font-weight: 700;
+    letter-spacing: 1px
+}
+
+ .el-dialog__header .el-dialog__close {
+    font-size: 20px;
+    font-weight: 700
+}
+
+ .el-dialog__body {
+    padding: 10px 20px 0
+}
+
+ .el-dialog__footer {
+    padding: 15px;
+    -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, .1);
+    box-shadow: 0 0 10px 0 rgba(0, 0, 0, .1);
+    border-radius: 0 0 4px 4px;
+    z-index: 100;
+    position: relative
+}
+
+.dialog-text {
+    color: #333;
+    font-size: 16px;
+    margin-bottom: 60px
+}
+
+.placeholder {
+    height: 30px
+}
+
+.ml20 {
+    margin-left: 20px
+}
+
+.hospital-source-list .list-item {
+    width: auto;
+    height: auto;
+    color: #333;
+    background:none;
+    display: inline;
+    vertical-align: top;
+    font-weight: 700;
+    padding: 0 ;
+    line-height: inherit;
+    border-radius: 4px;
+    cursor: default;
+    margin-top: 40px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: justify;
+    -ms-flex-pack: justify;
+    justify-content: space-between;
+}
+.hospital-source-list .list-item:hover{
+    border:0;
+    -webkit-box-shadow: none ;
+}
+.list-item {
+    width: 280px;
+    height: 50px;
+    color: #333;
+    background: #fafafa;
+    display: inline-block;
+    vertical-align: top;
+    font-weight: 700;
+    padding: 0 20px 0 30px;
+    line-height: 50px;
+    border-radius: 4px;
+    cursor: pointer;
+    margin-top: 20px
+}
+
+.list-item.selected {
+    background: #4990f1;
+    color: #fff;
+    -webkit-box-shadow: 0 10px 20px -10px rgba(73, 144, 241, .5);
+    box-shadow: 0 10px 20px -10px rgba(73, 144, 241, .5);
+    border: 1px solid #4990f1
+}
+
+.list-item.disabled {
+    color: #ccc
+}
+
+.list-item:hover {
+    border: 1px solid #4990f1;
+    -webkit-box-shadow: 0 10px 20px -10px rgba(73, 144, 241, .2);
+    box-shadow: 0 10px 20px -10px rgba(73, 144, 241, .2)
+}
+
+.list-item .right-text {
+    font-weight: 400;
+    float: right
+}
+
+.button-wrapper {
+    width: 140px;
+    margin: 0 auto
+}
+
+.title {
+    letter-spacing: 1px;
+    font-weight: 700;
+    color: #333;
+    font-size: 16px
+}
+
+.affix {
+    position: fixed;
+    z-index: 100
+}
+
+.el-autocomplete-suggestion {
+    margin-top: 2px !important;
+    border: none !important;
+    border-top-left-radius: 0 !important;
+    border-top-right-radius: 0 !important;
+    -webkit-box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04) !important;
+    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04) !important
+}
+
+.el-autocomplete-suggestion .popper__arrow {
+    display: none !important
+}
+
+.el-form-item__label {
+    color: #999 !important;
+    letter-spacing: 1px
+}
+
+.block {
+    height: 14px;
+    width: 4px;
+    background: #4990f1;
+    margin-right: 6px;
+    border-radius: 2px
+}
+
+.split {
+    border-left: 1px solid #eee;
+    width: 1px;
+    height: 16px;
+    margin: 0 10px
+}
+
+.el-cascader-menu__wrap {
+    height: 200px !important
+}
+
+.lineup .el-icon-warning-outline {
+    font-size: 40px;
+    color: #333
+}
+
+.lineup .el-loading-text {
+    color: #333 !important;
+    font-size: 18px !important;
+    margin-top: 20px !important
+}
+
+.bottom-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center
+}
+
+.bottom-code-wrapper {
+    width: 920px;
+    height: 171px;
+    margin-top: 120px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: justify;
+    -ms-flex-pack: justify;
+    justify-content: space-between;
+    background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA5gAAACrBAMAAADx4C4QAAAAKlBMVEUAAAD2+//////1+v/1+f/0+f/0+v/2+f/1+f/4///////0+//3+f/0+f+qk+F1AAAADXRSTlMAUwbz3NmliqwkAnVatE+yyQAAAppJREFUeNrs3TFKF2AAQPFPp6IGh2gTHFw6gKODXqHZwQN4ASFoDQqiqaW5tQsEja0iahHvLkF5gILv74fP97vCO8Ab/2n7+UtmOTjdG1noGTMdjazzmbnOR5Z5xVw3I6tsMdvOyCL7zHY8ssgus12MLHLGbNcji5ww29XIIofMdjmyCPON/JtippgPAhRTA4qpAcXUgGJqQDE1oJgaUEwNKKYGFFMDiqkBxdSAYmpAMTWgmBpQTA0opgYUUwOKqQHF1IBiakAxNaCYGlBMDSimBhRTA4qpAcXUgGJqQDE1oJgaUEwNKKYGFFMDiqkBxdSAYmpAMTWgmBpQTA0opgYUUwOKqQHF1IBiakAxNaCYGlBMDSimxTbz9XZb5DHzvR9Z4inzfRtZ4hHzvR5Z4hPz/RxZ4h3z/RhZ4Qmb8GVkga9swq+Ru/eRzXgzcsdefGdT3n4YmeH21p977uB07/bWH4Gjv7f+KJz/ufVH4WaMLSKxM/aJxPHYJRIX44xIXI8TInE1DonE5SAaxRQppkgxRYopUkyRYooUU6SYIsUUKaZIMUWKKVJMkWKKFFOkmCLFFCmmSDFFiilSTJFiihRTpJgixRQppkgxRYopUkyRYooUU6SYIsUUKaZIMUWKKVJMkWKKFFOkmCLFFCmmSDFFiilSTJFiihRTpJgixRQppkgxf7dHxzYEBQAURR8TKEQnUVhBqWAFtcIAFpCYxzwiqN4u//8x/s09KxwQM0HMBDETxEwQM0HMBDETxEwQM0HMBDETxEwQM0HMBDETxEwQM0HMBDETxEwQM0HMBDETxEwQM0HMBDETxEyQHCuIT64VxDf3CuKXbQXxzr6COGdRQaySZ4XwT/KqEB4ZrSuAUybLzaWaucNtlwyVJNw6kFj/vwAAAABJRU5ErkJggg==")
+}
+
+.bottom-code-wrapper .code {
+    width: 140px;
+    height: 140px;
+    margin-left: 103px;
+    margin-top: 16px
+}
+
+.bottom-code-wrapper .people {
+    float: right;
+    margin-right: 125px
+}
+
+.bottom-code-wrapper .code-text-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex
+}
+
+.bottom-code-wrapper .content-wrapper {
+    margin-top: 95px;
+    margin-left: 28px;
+    color: #333
+}
+
+.bottom-code-wrapper .content-wrapper .text {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.bottom-code-wrapper .content-wrapper .iconfont {
+    color: #00c25f;
+    font-size: 24px
+}
+
+ .el-dialog__header {
+    background-color: #e8f2ff;
+    padding: 20px 30px;
+    border-radius: 4px 4px 0 0
+}
+
+ .el-dialog__header .el-dialog__title {
+    font-size: 16px;
+    font-weight: 700;
+    letter-spacing: 1px
+}
+
+ .el-dialog__header .el-dialog__close {
+    font-size: 20px;
+    font-weight: 700
+}
+
+ .el-dialog__body {
+    padding: 10px 20px 0;
+    max-height: 450px;
+    overflow: auto
+}
+
+ .el-dialog__footer {
+    padding: 15px;
+    -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, .1);
+    box-shadow: 0 0 10px 0 rgba(0, 0, 0, .1);
+    border-radius: 0 0 4px 4px;
+    z-index: 100;
+    position: relative
+}
+
+.dialog-text {
+    color: #333;
+    font-size: 14px;
+    margin-bottom: 60px
+}
+
+.content-wrapper {
+    color: #999;
+    font-size: 16px
+}
+
+.content-wrapper p {
+    text-indent: 2em;
+    margin: 0
+}
+
+.placeholder {
+    height: 30px
+}
+
+.button-wrapper {
+    width: 140px;
+    margin: 0 auto
+}
+
+.header-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.mt20 {
+    margin-top: 20px
+}
+
+.mt60 {
+    margin-top: 30px
+}
+
+.tips {
+    text-align: center;
+    color: #333;
+    letter-spacing: 1px
+}
+
+.docsource-item {
+    width: 320px;
+    height: 50px;
+    background: #fff;
+    -webkit-box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04);
+    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04);
+    border-radius: 4px;
+    padding: 15px 20px;
+    overflow: hidden;
+    float: left;
+    margin-right: 20px;
+    margin-bottom: 20px;
+    cursor: pointer
+}
+
+.docsource-item:hover {
+    -webkit-box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .1);
+    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .1)
+}
+
+.docsource-item:nth-child(3n) {
+    margin-right: 0
+}
+
+.docsource-item .date {
+    font-weight: 700;
+    float: left
+}
+
+.docsource-item .week {
+    float: left;
+    margin-left: 10px
+}
+
+.docsource-item .btn {
+    float: right;
+    color: #4990f1
+}
+
+.docsource-item.gray .btn, .docsource-item.gray .date, .docsource-item.gray .week {
+    color: #ccc
+}
+
+.doctor-detail .title span {
+    font-size: 14px;
+    color: #666;
+    font-weight: 400
+}
+
+.doctor-detail .title .dept {
+    border-left: 1px solid #eee;
+    padding-left: 10px;
+    margin-left: 10px
+}
+
+.doctor-detail .detail {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    margin-top: 30px
+}
+
+.doctor-detail .detail .logo {
+    width: 80px;
+    height: 80px;
+    display: block;
+    border-radius: 50%
+}
+
+.doctor-detail .detail .info {
+    margin-left: 10px
+}
+
+.doctor-detail .detail .info .tit span {
+    font-size: 18px;
+    color: #333;
+    font-weight: 700
+}
+
+.doctor-detail .detail .info .tit .name {
+    font-weight: 400;
+    border-left: 1px solid #eee;
+    padding-left: 10px;
+    margin-left: 10px
+}
+
+.doctor-detail .detail .info .base-hos {
+    margin: 6px 0 20px
+}
+
+.doctor-detail .detail .info .base-hos .basebg {
+    width: 84px;
+    height: 24px;
+    background: #9cc0ff;
+    border-radius: 4px 0 0 4px;
+    padding: 4px 6px;
+    display: inline-block
+}
+
+.doctor-detail .detail .info .base-hos .basebg img {
+    width: 72px
+}
+
+.doctor-detail .detail .info .base-hos .hosname {
+    border: 1px solid #9cc0ff;
+    border-radius: 0 4px 4px 0;
+    font-size: 14px;
+    color: #333;
+    height: 24px;
+    line-height: 24px;
+    padding: 0 12px;
+    background: #f0f7ff;
+    display: inline-block;
+    vertical-align: bottom
+}
+
+.docsource-list {
+    height: auto;
+    margin-top: 30px
+}
+
+ .el-dialog--center .el-dialog__body {
+    text-align: center;
+    padding: 20px 60px 0
+}
+
+.icon {
+    font-size: 54px;
+    color: #4490f1;
+    display: block;
+    text-align: center
+}
+
+.dialog-footer {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -ms-flex-pack: distribute;
+    justify-content: space-around
+}
+
+.dialog-text {
+    margin: 30px 0 40px;
+    color: #333;
+    font-size: 16px;
+    letter-spacing: 1px
+}
+
+.button-wrapper {
+    width: 140px
+}
+
+ .el-dialog__header {
+    background-color: #e8f2ff;
+    padding: 20px 30px;
+    border-radius: 4px 4px 0 0
+}
+
+ .el-dialog__header .el-dialog__title {
+    font-size: 16px;
+    font-weight: 700;
+    letter-spacing: 1px
+}
+
+ .el-dialog__header .el-dialog__close {
+    font-size: 20px;
+    font-weight: 700
+}
+
+ .el-dialog__body {
+    padding: 10px 20px 0;
+    max-height: 750px;
+    overflow: auto
+}
+
+ .el-dialog__footer {
+    padding: 15px;
+    -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, .1);
+    box-shadow: 0 0 10px 0 rgba(0, 0, 0, .1);
+    border-radius: 0 0 4px 4px;
+    z-index: 100;
+    position: relative
+}
+
+.dialog-text {
+    color: #333;
+    font-size: 14px;
+    margin-bottom: 60px
+}
+
+.content-wrapper {
+    color: #999;
+    font-size: 16px;
+    padding-bottom: 30px
+}
+
+.content-wrapper p {
+    text-indent: 2em;
+    margin: 0
+}
+
+.placeholder {
+    height: 30px
+}
+
+.button-wrapper {
+    width: 140px;
+    margin: 0 auto
+}
+
+.title {
+    letter-spacing: 1px;
+    font-weight: 700;
+    color: #333;
+    font-size: 16px
+}
+
+.affix {
+    position: fixed;
+    z-index: 100
+}
+
+.el-autocomplete-suggestion {
+    margin-top: 2px !important;
+    border: none !important;
+    border-top-left-radius: 0 !important;
+    border-top-right-radius: 0 !important;
+    -webkit-box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04) !important;
+    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04) !important
+}
+
+.el-autocomplete-suggestion .popper__arrow {
+    display: none !important
+}
+
+.el-form-item__label {
+    color: #999 !important;
+    letter-spacing: 1px
+}
+
+.block {
+    height: 14px;
+    width: 4px;
+    background: #4990f1;
+    margin-right: 6px;
+    border-radius: 2px
+}
+
+.split {
+    border-left: 1px solid #eee;
+    width: 1px;
+    height: 16px;
+    margin: 0 10px
+}
+
+.el-cascader-menu__wrap {
+    height: 200px !important
+}
+
+.lineup .el-icon-warning-outline {
+    font-size: 40px;
+    color: #333
+}
+
+.lineup .el-loading-text {
+    color: #333 !important;
+    font-size: 18px !important;
+    margin-top: 20px !important
+}
+
+.header-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.header-wrapper .title {
+    margin-right: 30px
+}
+
+.tip-wrapper {
+    font-size: 12px;
+    color: #999;
+    margin-left: 140px;
+    margin-top: 40px
+}
+
+.tip-wrapper .iconfont {
+    font-size: 12px
+}
+
+.sub-title {
+    letter-spacing: 1px;
+    color: #999;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.sub-title .card-tips {
+    padding-left: 10px;
+    font-size: 12px;
+    color: #ff5f5f
+}
+
+.sub-title .card-tips .iconfont {
+    font-size: 12px
+}
+
+.content-wrapper {
+    /*margin-left: 140px;*/
+    margin-top: 0
+}
+
+/*.content-wrapper .inline, .content-wrapper {*/
+/*    display: -webkit-box;*/
+/*    display: -ms-flexbox;*/
+/*    display: flex*/
+/*}*/
+
+.content-wrapper .inline .v-link {
+    margin-left: 10px
+}
+
+.content-wrapper .fee {
+    color: #4490f1;
+    font-weight: 700
+}
+
+.content-wrapper .form-item {
+    width: 470px;
+    margin-bottom: 20px
+}
+
+.content-wrapper .tips {
+    margin-top: -14px;
+    margin-left: 130px;
+    font-size: 12px;
+    line-height: 16px;
+    color: #f1ba7e;
+    width: 600px
+}
+
+.content-wrapper .tips .iconfont {
+    font-size: 12px;
+    margin-right: 6px
+}
+
+.bottom-wrapper {
+    width: 740px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center
+}
+
+.bottom-wrapper .button-wrapper {
+    width: 140px;
+    margin-top: 80px
+}
+
+.ml20 {
+    margin-left: 20px
+}
+
+.card-img {
+    margin-left: 110px;
+    margin-bottom: 20px;
+    -webkit-box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04);
+    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04);
+    border-radius: 8px;
+    height: 80px
+}
+
+.rule-wrapper {
+    background-color: #fafafa;
+    padding: 30px
+}
+
+.rule-wrapper .rule-title {
+    color: #333;
+    font-weight: 700;
+    margin-bottom: 10px
+}
+
+.mt40 {
+    margin-top: 40px
+}
+
+.patient-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -ms-flex-wrap: wrap;
+    flex-wrap: wrap;
+    margin-top: 30px
+}
+
+.patient-wrapper .item {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.patient-wrapper .item .iconfont {
+    margin-right: 10px;
+    color: #999;
+    font-size: 14px
+}
+
+.patient-wrapper .item:hover .item-title {
+    font-weight: 700
+}
+
+.patient-wrapper .item-wrapper {
+    width: 202px;
+    height: 90px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: justify;
+    -ms-flex-pack: justify;
+    justify-content: space-between;
+    padding: 12px 10px 0 14px;
+    font-size: 12px;
+    color: #999;
+    border-radius: 4px
+}
+
+.patient-wrapper .item-wrapper .item-title {
+    color: #333;
+    letter-spacing: 1px;
+    font-size: 14px;
+    margin-bottom: 10px
+}
+
+.patient-wrapper .item-wrapper.selected {
+    background-color: #4990f1;
+    color: #fff;
+    -webkit-box-shadow: 0 10px 20px -10px rgba(73, 144, 241, .5);
+    box-shadow: 0 10px 20px -10px rgba(73, 144, 241, .5)
+}
+
+.patient-wrapper .item-wrapper.selected .item-title {
+    color: #fff;
+    font-weight: 700
+}
+
+.patient-wrapper .item-wrapper .checked {
+    height: 22px;
+    width: 22px;
+    margin-top: 22px
+}
+
+.patient-wrapper .space {
+    margin-left: 32px
+}
+
+.patient-wrapper .add-patient {
+    height: 90px
+}
+
+.patient-wrapper .item-add-wrapper {
+    width: 202px;
+    height: 90px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    color: #4990f1;
+    font-size: 16px
+}
+
+.patient-wrapper .tips-wrapper {
+    width: 226px;
+    padding: 10px 20px;
+    word-wrap: break-word;
+    word-break: break-all;
+    overflow: hidden;
+    background: #fee;
+    border-radius: 0 0 4px 4px;
+    -webkit-box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04);
+    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04);
+    color: #ff5f5f;
+    font-size: 12px;
+    margin-top: -2px
+}
+
+.patient-card {
+    margin-top: 30px;
+    padding: 0 30px
+}
+
+.patient-card .el-card__header {
+    padding: 16px 0
+}
+
+.patient-card .el-card__header span {
+    font-size: 12px;
+    color: #999
+}
+
+.patient-card .el-card__header span.name {
+    font-size: 16px;
+    color: #333;
+    margin-right: 30px
+}
+
+.patient-card .el-card__header .detail {
+    float: right;
+    color: #999
+}
+
+.patient-card .el-card__body {
+    padding: 20px 0
+}
+
+.patient-card .el-card__body, .patient-card .el-card__body .card {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.patient-card .el-card__body .card {
+    width: 50%;
+    height: 50px;
+    border-radius: 4px;
+    padding: 0 14px;
+    color: #fff;
+    -ms-flex-line-pack: center;
+    align-content: center;
+    margin-right: 50px;
+    cursor: pointer
+}
+
+.patient-card .el-card__body .card .info {
+    width: 100%
+}
+
+.patient-card .el-card__body .card .info span {
+    margin-right: 10px
+}
+
+.patient-card .el-card__body .card .info .type {
+    background: #fff;
+    font-size: 12px;
+    padding: 4px;
+    border-radius: 4px
+}
+
+.patient-card .el-card__body .card.MEDICARE_CARD {
+    background: #76ced5
+}
+
+.patient-card .el-card__body .card.MEDICARE_CARD .type {
+    color: #76ced5
+}
+
+.patient-card .el-card__body .card.SELF_PAY_CARD {
+    background: #89c4ed
+}
+
+.patient-card .el-card__body .card.SELF_PAY_CARD .type {
+    color: #89c4ed
+}
+
+.patient-card .el-card__body .card .operate {
+    width: 100px;
+    text-align: right
+}
+
+.patient-card .el-card__body .card .operate img {
+    width: 22px;
+    -webkit-transform: translateY(2px);
+    transform: translateY(2px)
+}
+
+.patient-card .el-card__body .card:nth-child(2n) {
+    margin-right: 0
+}
+
+.patient-card .el-card__body .card .text {
+    width: 100%;
+    text-align: center;
+    color: #333;
+    font-size: 14px
+}
+
+.icon-text-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    color: #333;
+    letter-spacing: 1px
+}
+
+.icon-text-wrapper .prefix-icon {
+    margin-top: 3px;
+    margin-right: 10px;
+    font-size: 14px
+}
+
+.icon-text-wrapper .right-icon {
+    margin-top: 3px;
+    margin-left: 12px;
+    font-size: 14px;
+    color: #4490f1;
+    cursor: pointer
+}
+
+.icon-text-wrapper .text p {
+    margin: 0
+}
+
+.icon-text-wrapper .text ol {
+    margin: 0;
+    padding-left: 20px
+}
+
+ .el-dialog__header {
+    background-color: #e8f2ff;
+    padding: 20px 30px;
+    border-radius: 4px 4px 0 0
+}
+
+ .el-dialog__header .el-dialog__title {
+    font-size: 16px;
+    font-weight: 700;
+    letter-spacing: 1px
+}
+
+ .el-dialog__header .el-dialog__close {
+    font-size: 20px;
+    font-weight: 700
+}
+
+ .el-dialog__body {
+    padding: 0
+}
+
+ .el-dialog__footer {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center
+}
+
+#map {
+    height: 440px
+}
+
+.hospital-detail .info-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    margin-top: 30px;
+
+}
+
+.hospital-detail .info-wrapper .space {
+    margin-bottom: 10px
+}
+
+.hospital-detail .info-wrapper .content-wrapper {
+    -webkit-box-flex: 1;
+    -ms-flex: 1;
+    flex: 1;
+    margin-left: 30px
+}
+
+.hospital-detail .info-wrapper .hospital-img {
+    height: 80px;
+    width: 80px;
+    border-radius: 40px
+}
+
+.hospital-detail .detail-content {
+    line-height: 22px;
+    letter-spacing: 1px;
+    font-size: 12px
+}
+
+.hospital-detail .detail-content p {
+    text-indent: 2em;
+    margin: 0
+}
+
+.hospital-detail .detail-content h4 {
+    color: #333;
+    margin-bottom: 0
+}
+
+.hospital-detail .mt40 {
+    margin-top: 40px
+}
+
+.hospital-notice {
+    min-height: 300px
+}
+
+.hospital-notice h2, .hospital-notice h4 {
+    color: #333
+}
+
+.hospital-notice h2 {
+    text-align: center;
+    margin-top: 0
+}
+
+.hospital-notice p {
+    text-indent: 2em
+}
+
+.hospital-suspend {
+    padding-bottom: 60px
+}
+
+.hospital-suspend .table {
+    margin-top: 60px
+}
+
+.hospital-suspend .pagination {
+    margin-top: 100px
+}
+
+.hospital-query .content {
+    padding-top: 80px
+}
+
+.hospital-query .content .wrapper {
+    width: 400px;
+    margin-left: 200px;
+    line-height: 22px;
+    letter-spacing: 1px;
+    color: #666;
+    font-size: 12px
+}
+
+.hospital-query .content .wrapper .slot-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.hospital-query .el-input__inner {
+    padding-right: 70px !important;
+    padding-left: 30px !important
+}
+
+.hospital-query .table {
+    margin-top: 40px
+}
+
+.hospital-query .el-dialog__body {
+    text-align: center;
+    padding: 0
+}
+
+.hospital-query .icon {
+    font-size: 54px;
+    color: #4490f1
+}
+
+.hospital-query .dialog-footer {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -ms-flex-pack: distribute;
+    justify-content: space-around
+}
+
+.hospital-query .dialog-text {
+    margin: 30px 0 58px;
+    color: #333;
+    font-size: 16px;
+    letter-spacing: 1px
+}
+
+.hospital-query .button-wrapper {
+    width: 140px
+}

+ 1058 - 0
static/css/hospital_personal.css

@@ -0,0 +1,1058 @@
+.title {
+    letter-spacing: 1px;
+    font-weight: 700;
+    color: #333;
+    font-size: 16px
+}
+
+.affix {
+    position: fixed;
+    z-index: 100
+}
+
+.el-autocomplete-suggestion {
+    margin-top: 2px !important;
+    border: none !important;
+    border-top-left-radius: 0 !important;
+    border-top-right-radius: 0 !important;
+    -webkit-box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04) !important;
+    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04) !important
+}
+
+.el-autocomplete-suggestion .popper__arrow {
+    display: none !important
+}
+
+.el-form-item__label {
+    color: #999 !important;
+    letter-spacing: 1px
+}
+
+.block {
+    height: 14px;
+    width: 4px;
+    background: #4990f1;
+    margin-right: 6px;
+    border-radius: 2px
+}
+
+.split {
+    border-left: 1px solid #eee;
+    width: 1px;
+    height: 16px;
+    margin: 0 10px
+}
+
+.el-cascader-menu__wrap {
+    height: 200px !important
+}
+
+.lineup .el-icon-warning-outline {
+    font-size: 40px;
+    color: #333
+}
+
+.lineup .el-loading-text {
+    color: #333 !important;
+    font-size: 18px !important;
+    margin-top: 20px !important
+}
+
+.flexRow {
+    -webkit-box-orient: vertical;
+    -ms-flex-direction: column;
+    flex-direction: column
+}
+
+.flexCol, .flexRow {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-direction: normal
+}
+
+.flexCol {
+    -webkit-box-orient: horizontal;
+    -ms-flex-direction: row;
+    flex-direction: row
+}
+
+.row-left-top {
+    -webkit-box-pack: start;
+    -ms-flex-pack: start;
+    justify-content: flex-start
+}
+
+.row-left-middle, .row-left-top {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: start;
+    -ms-flex-align: start;
+    align-items: flex-start
+}
+
+.row-left-middle {
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center
+}
+
+.row-left-bottom {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: start;
+    -ms-flex-align: start;
+    align-items: flex-start;
+    -webkit-box-pack: end;
+    -ms-flex-pack: end;
+    justify-content: flex-end
+}
+
+.row-center-top {
+    -webkit-box-pack: start;
+    -ms-flex-pack: start;
+    justify-content: flex-start
+}
+
+.row-center-middle, .row-center-top {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.row-center-middle {
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center
+}
+
+.row-center-bottom {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    -webkit-box-pack: end;
+    -ms-flex-pack: end;
+    justify-content: flex-end
+}
+
+.row-right-top {
+    -webkit-box-pack: start;
+    -ms-flex-pack: start;
+    justify-content: flex-start
+}
+
+.row-right-middle, .row-right-top {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: end;
+    -ms-flex-align: end;
+    align-items: flex-end
+}
+
+.row-right-middle {
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center
+}
+
+.row-right-bottom {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: end;
+    -ms-flex-align: end;
+    align-items: flex-end;
+    -webkit-box-pack: end;
+    -ms-flex-pack: end;
+    justify-content: flex-end
+}
+
+.col-left-top {
+    -webkit-box-align: start;
+    -ms-flex-align: start;
+    align-items: flex-start
+}
+
+.col-left-middle, .col-left-top {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: horizontal;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: row;
+    flex-direction: row;
+    -webkit-box-pack: start;
+    -ms-flex-pack: start;
+    justify-content: flex-start
+}
+
+.col-left-middle {
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.col-left-bottom {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: horizontal;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: row;
+    flex-direction: row;
+    -webkit-box-pack: start;
+    -ms-flex-pack: start;
+    justify-content: flex-start;
+    -webkit-box-align: end;
+    -ms-flex-align: end;
+    align-items: flex-end
+}
+
+.col-center-top {
+    -webkit-box-align: start;
+    -ms-flex-align: start;
+    align-items: flex-start
+}
+
+.col-center-middle, .col-center-top {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: horizontal;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: row;
+    flex-direction: row;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center
+}
+
+.col-center-middle {
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.col-center-bottom {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: horizontal;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: row;
+    flex-direction: row;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    -webkit-box-align: end;
+    -ms-flex-align: end;
+    align-items: flex-end
+}
+
+.col-right-top {
+    -webkit-box-align: start;
+    -ms-flex-align: start;
+    align-items: flex-start
+}
+
+.col-right-middle, .col-right-top {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: horizontal;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: row;
+    flex-direction: row;
+    -webkit-box-pack: end;
+    -ms-flex-pack: end;
+    justify-content: flex-end
+}
+
+.col-right-middle {
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.col-right-bottom {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: horizontal;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: row;
+    flex-direction: row;
+    -webkit-box-pack: end;
+    -ms-flex-pack: end;
+    justify-content: flex-end;
+    -webkit-box-align: end;
+    -ms-flex-align: end;
+    align-items: flex-end
+}
+
+.nav-item {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    width: 200px;
+    height: 70px;
+    position: relative;
+    padding-left: 20px
+}
+
+.nav-item.selected {
+    font-weight: 700;
+    font-size: 16px
+}
+
+.nav-item.selected:before {
+    content: "";
+    position: absolute;
+    left: 0;
+    width: 10px;
+    height: 10px;
+    z-index: 1;
+    background: #4490f1
+}
+
+.nav-container .page-container {
+    padding-top: 38px;
+    min-height: 500px;
+    width: calc(100% - 200px);
+    margin-left: 200px
+}
+
+.nav-container .left-nav {
+    position: -webkit-sticky;
+    position: sticky;
+    top: 14px;
+    float: left
+}
+
+.icon-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    color: #999;
+    font-size: 14px
+}
+
+.icon-wrapper .iconfont {
+    margin-right: 3px
+}
+
+.no-data-wrapper {
+    margin: 0 auto;
+    padding-top: 100px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.no-data-wrapper .no-text {
+    color: #ccc;
+    margin-top: 20px
+}
+
+.no-data-wrapper .no-data-img {
+    width: 130px;
+    height: 130px
+}
+
+.rule-wrapper {
+    background-color: #fafafa;
+    padding: 30px
+}
+
+.rule-wrapper .rule-title {
+    color: #333;
+    font-weight: 700;
+    margin-bottom: 10px
+}
+
+.rule-wrapper ol {
+    color: #999;
+    line-height: 24px
+}
+
+.mt40 {
+    margin-top: 40px
+}
+
+ .el-dialog__header {
+    background-color: #e8f2ff;
+    padding: 20px 30px;
+    border-radius: 4px 4px 0 0
+}
+
+ .el-dialog__header .el-dialog__title {
+    font-size: 16px;
+    font-weight: 700;
+    letter-spacing: 1px
+}
+
+ .el-dialog__header .el-dialog__close {
+    font-size: 20px;
+    font-weight: 700
+}
+
+ .el-dialog__body {
+    padding: 10px 20px 0;
+    max-height: 450px;
+    overflow: auto
+}
+
+ .el-dialog__footer {
+    padding: 15px;
+    -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, .1);
+    box-shadow: 0 0 10px 0 rgba(0, 0, 0, .1);
+    border-radius: 0 0 4px 4px;
+    z-index: 100;
+    position: relative
+}
+
+.dialog-text {
+    color: #333;
+    font-size: 14px;
+    margin-bottom: 60px
+}
+
+.content-wrapper {
+    color: #999;
+    font-size: 16px
+}
+
+.content-wrapper p {
+    text-indent: 2em;
+    margin: 0
+}
+
+.placeholder {
+    height: 30px
+}
+
+.button-wrapper {
+    width: 140px;
+    margin: 0 auto
+}
+
+.title {
+    letter-spacing: 1px;
+    font-weight: 700;
+    color: #333;
+    font-size: 16px
+}
+
+.affix {
+    position: fixed;
+    z-index: 100
+}
+
+.el-autocomplete-suggestion {
+    margin-top: 2px !important;
+    border: none !important;
+    border-top-left-radius: 0 !important;
+    border-top-right-radius: 0 !important;
+    -webkit-box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04) !important;
+    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04) !important
+}
+
+.el-autocomplete-suggestion .popper__arrow {
+    display: none !important
+}
+
+.el-form-item__label {
+    color: #999 !important;
+    letter-spacing: 1px
+}
+
+.block {
+    height: 14px;
+    width: 4px;
+    background: #4990f1;
+    margin-right: 6px;
+    border-radius: 2px
+}
+
+.split {
+    border-left: 1px solid #eee;
+    width: 1px;
+    height: 16px;
+    margin: 0 10px
+}
+
+.el-cascader-menu__wrap {
+    height: 200px !important
+}
+
+.lineup .el-icon-warning-outline {
+    font-size: 40px;
+    color: #333
+}
+
+.lineup .el-loading-text {
+    color: #333 !important;
+    font-size: 18px !important;
+    margin-top: 20px !important
+}
+
+.order-detail .status-bar {
+    margin-top: 20px;
+    background-color: #f4f9ff;
+    width: 1000px;
+    height: 80px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: justify;
+    -ms-flex-pack: justify;
+    justify-content: space-between
+}
+
+.order-detail .status-bar .status-wrapper {
+    color: #4490f1;
+    font-size: 16px;
+    font-weight: 700;
+    letter-spacing: 1px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.order-detail .status-bar .status-wrapper .iconfont {
+    margin-right: 6px;
+    font-size: 28px;
+    font-weight: 400
+}
+
+.order-detail .status-bar .status-wrapper.CANCELLED, .order-detail .status-bar .status-wrapper.STOP_VISIT {
+    color: #999
+}
+
+.order-detail .status-bar .left-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: justify;
+    -ms-flex-pack: justify;
+    justify-content: space-between;
+    width: 636px;
+    padding-left: 20px
+}
+
+.order-detail .status-bar .identify-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    text-align: right
+}
+
+.order-detail .status-bar .identify-wrapper .identify-text {
+    font-size: 12px;
+    color: #333
+}
+
+.order-detail .status-bar .identify-wrapper .identify-code {
+    font-size: 24px;
+    color: #4490f1
+}
+
+.order-detail .status-bar .right-wrapper {
+    -webkit-box-flex: 1;
+    -ms-flex: 1;
+    flex: 1;
+    padding-left: 40px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    color: #333
+}
+
+.order-detail .status-bar .right-wrapper .content-wrapper {
+    margin-top: -3px;
+    margin-left: 12px
+}
+
+.order-detail .status-bar .right-wrapper .content-wrapper .text {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.order-detail .status-bar .right-wrapper .content-wrapper .iconfont {
+    color: #00c25f;
+    font-size: 24px
+}
+
+.order-detail .status-bar .right-wrapper .watch-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    margin-top: 3px
+}
+
+.order-detail .status-bar .right-wrapper .code-img {
+    width: 61px;
+    height: 61px
+}
+
+.order-detail .info-wrapper .title-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    color: #999;
+    margin-top: 40px
+}
+
+.order-detail .info-wrapper .info-form {
+    margin: 40px 0 0 140px
+}
+
+.order-detail .info-wrapper .info-form .fee {
+    color: #4490f1;
+    font-weight: 700
+}
+
+.order-detail .info-wrapper .info-form .patient-info {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    font-size: 12px
+}
+
+.order-detail .info-wrapper .info-form .patient-info .patient-name {
+    color: #333;
+    font-weight: 700;
+    font-size: 14px
+}
+
+.order-detail .info-wrapper .info-form .patient-info .split {
+    margin: 0 20px;
+    height: 14px
+}
+
+.order-detail .info-wrapper .info-form .patient-info .patient-no {
+    margin-left: 10px
+}
+
+.order-detail .rule-wrapper {
+    background-color: #fafafa;
+    padding: 30px
+}
+
+.order-detail .rule-wrapper .rule-title {
+    color: #333;
+    font-weight: 700;
+    margin-bottom: 10px
+}
+
+.order-detail .bottom-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center
+}
+
+.order-detail .bottom-wrapper .button-wrapper {
+    width: 140px
+}
+
+.order-detail .mt40 {
+    margin-top: 40px
+}
+
+.order-detail .mt60 {
+    margin-top: 60px
+}
+
+.order-detail .ml20 {
+    margin-left: 20px
+}
+
+.order-detail .cancel-dialog .icon {
+    font-size: 54px;
+    color: #4490f1;
+    display: block;
+    text-align: center
+}
+
+.order-detail .cancel-dialog .dialog-footer {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -ms-flex-pack: distribute;
+    justify-content: space-around
+}
+
+.order-detail .cancel-dialog .dialog-text {
+    margin: 30px 0 28px;
+    color: #333;
+    font-size: 16px;
+    letter-spacing: 1px;
+    text-align: center
+}
+
+.order-detail .cancel-dialog .button-wrapper {
+    width: 140px
+}
+
+.v-input .el-input__inner {
+    cursor: auto
+}
+
+.container {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -ms-flex-wrap: wrap;
+    flex-wrap: wrap;
+    padding-bottom: 30px
+}
+
+.container .item {
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    width: 180px;
+    height: 130px;
+    margin-top: 30px;
+    margin-left: 20px;
+    cursor: pointer
+}
+
+.container .item .item-wrapper, .container .item {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.container .item .item-wrapper {
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    margin-left: 5px
+}
+
+.container .item .item-wrapper .image {
+    border-radius: 4px;
+    -webkit-box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .1);
+    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .1)
+}
+
+.container .item .el-checkbox__inner {
+    border-radius: 10px
+}
+
+.container .item .el-checkbox__label {
+    display: none
+}
+
+.container .tips {
+    font-size: 10px;
+    color: #999;
+    margin-top: 4px
+}
+
+.container .label {
+    margin-top: 10px;
+    font-size: 12px;
+    color: #333;
+    width: 132px;
+    text-align: center
+}
+
+.container .label.selected {
+    font-weight: 700
+}
+
+.select-popover .popper__arrow {
+    left: 180px !important
+}
+
+.iconfont {
+    font-size: 13px
+}
+
+.name-input {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.name-input .name-button-wrapper {
+    width: 300px;
+    font-size: 12px;
+    margin-left: 10px
+}
+
+.name-input .name-button-wrapper .v-button {
+    font-size: 12px;
+    height: 30px;
+    border: none;
+    -webkit-box-shadow: none;
+    box-shadow: none
+}
+
+.patient-card {
+    margin-top: 30px;
+    padding: 0 30px;
+    width: 100%;
+    cursor: pointer
+}
+
+.patient-card .el-card__header {
+    padding: 16px 0
+}
+
+.patient-card .el-card__header span {
+    font-size: 12px;
+    color: #999
+}
+
+.patient-card .el-card__header span.name {
+    font-size: 16px;
+    color: #333;
+    margin-right: 30px
+}
+
+.patient-card .el-card__header .detail {
+    float: right;
+    color: #999
+}
+
+.patient-card .el-card__body {
+    padding: 20px 0;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.patient-card .el-card__body .card {
+    -webkit-box-flex: 1;
+    -ms-flex: 1;
+    flex: 1;
+    height: 50px;
+    border-radius: 4px;
+    padding: 0 14px;
+    color: #fff;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    -ms-flex-line-pack: center;
+    align-content: center;
+    margin-right: 50px;
+    cursor: pointer
+}
+
+.patient-card .el-card__body .card .info {
+    width: 100%
+}
+
+.patient-card .el-card__body .card .info span {
+    margin-right: 10px
+}
+
+.patient-card .el-card__body .card .info .type {
+    background: #fff;
+    font-size: 12px;
+    padding: 4px;
+    border-radius: 4px
+}
+
+.patient-card .el-card__body .card.MEDICARE_CARD {
+    background: #76ced5
+}
+
+.patient-card .el-card__body .card.MEDICARE_CARD .type {
+    color: #76ced5
+}
+
+.patient-card .el-card__body .card.SELF_PAY_CARD {
+    background: #89c4ed
+}
+
+.patient-card .el-card__body .card.SELF_PAY_CARD .type {
+    color: #89c4ed
+}
+
+.patient-card .el-card__body .card .operate {
+    width: 100px;
+    text-align: right
+}
+
+.patient-card .el-card__body .card .operate img {
+    width: 22px;
+    -webkit-transform: translateY(2px);
+    transform: translateY(2px)
+}
+
+.patient-card .el-card__body .card:nth-child(2n) {
+    margin-right: 0
+}
+
+.patient-card .el-card__body .card .text {
+    width: 100%;
+    text-align: center;
+    color: #333;
+    font-size: 14px
+}
+
+.patient-card .tips {
+    width: 100%;
+    font-size: 14px;
+    color: #ff5f5f
+}
+
+ .el-dialog__header {
+    background-color: #e8f2ff;
+    padding: 20px 30px;
+    border-radius: 4px 4px 0 0
+}
+
+ .el-dialog__header .el-dialog__title {
+    font-size: 16px;
+    font-weight: 700;
+    letter-spacing: 1px
+}
+
+ .el-dialog__header .el-dialog__close {
+    font-size: 20px;
+    font-weight: 700
+}
+
+ .el-dialog__body {
+    padding: 30px;
+    text-align: center
+}
+
+ .el-dialog__body /deep/ .el-form-item__label {
+    line-height: 30px
+}
+
+ .el-dialog__body .form-item {
+    margin-bottom: 30px;
+    line-height: 1
+}
+
+ .el-dialog__body .form-item .el-form-item__label {
+    line-height: 1
+}
+
+ .el-dialog__body .form-item .content {
+    text-align: left
+}
+
+ .el-dialog__body .text {
+    line-height: 26px;
+    color: #333;
+    font-size: 16px;
+    padding-bottom: 30px;
+    text-align: left
+}
+
+ .el-dialog__body .button-wrapper {
+    text-align: center
+}
+
+ .el-dialog__body .button-wrapper span {
+    cursor: pointer
+}
+
+ .el-dialog__body .v-button {
+    width: 320px;
+    margin: 0 auto 30px
+}
+
+ .el-dialog__body .picture {
+    text-align: left;
+    color: #999;
+    padding-top: 10px
+}
+
+ .el-dialog__body img {
+    width: 280px;
+    margin-bottom: 20px
+}

Plik diff jest za duży
+ 3 - 0
static/css/iconfont.css


+ 114 - 0
static/css/index.css

@@ -0,0 +1,114 @@
+#app-container {
+    -webkit-font-smoothing: antialiased;
+    -moz-osx-font-smoothing: grayscale;
+    -webkit-tap-highlight-color: transparent;
+    font-size: 14px;
+    color: #666;
+    height: 100%;
+    background: #fff;
+    overflow-x: auto;
+    overflow-y: hidden;
+    min-width: 1200px;
+}
+#main {
+    height: 100%;
+    min-width: 1200px;
+}
+.header-container .wrapper, .header-container {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+}
+.header-container {
+    position: relative;
+    z-index: 1000;
+    background: #fff;
+    -webkit-box-shadow: 0 0 10px 0 rgba(0,0,0,.1);
+    box-shadow: 0 0 10px 0 rgba(0,0,0,.1);
+    height: 70px;
+}
+.header-container .wrapper{
+    width: 1200px;
+    min-width: 1200px;
+    -webkit-box-pack: justify;
+    -ms-flex-pack: justify;
+    justify-content: space-between;
+}
+.text{
+    margin-left: 10px;
+    font-size: 22px;
+}
+.v-link{
+    color: #666;
+    -webkit-transition: all .2s ease;
+    transition: all .2s ease;
+    -webkit-user-select: none;
+    -moz-user-select: none;
+    -ms-user-select: none;
+    user-select: none;
+    letter-spacing: 1px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+}
+.v-link.selected, .v-link:hover {
+    color: #4490f1;
+}
+
+.header-container .wrapper .search-wrapper{
+    width: 500px;
+}
+
+.hospital-search {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-direction: normal;
+    -webkit-box-orient: vertical;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+}
+
+.hospital-search .search-input{
+    width: 100%;
+}
+
+.col-right-bottom, .hospital-search {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-direction: normal;
+}
+
+/* 头部右侧 */
+.header-container .wrapper .right-wrapper {
+    width: 166px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: horizontal;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: row;
+    flex-direction: row;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    -webkit-box-pack: justify;
+    -ms-flex-pack: justify;
+    justify-content: space-between;
+}

+ 547 - 0
static/css/main.css

@@ -0,0 +1,547 @@
+.wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    width: 100%;
+    height: 100%
+}
+
+.wrapper .icon {
+    font-size: 40px;
+    color: #4490f1
+}
+
+.wrapper .tips {
+    margin-top: 20px;
+    font-size: 14px
+}
+
+.mobile-wrapper {
+    position: fixed;
+    top: 0;
+    left: 0;
+    bottom: 0;
+    right: 0
+}
+
+.mobile-wrapper .mobile-img {
+    width: 100%
+}
+
+.mobile-wrapper .goto {
+    font-size: 46px;
+    color: #999;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    text-decoration: underline;
+    margin-top: 30px
+}
+
+.filter-wrapper, .mobile-wrapper .goto {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex
+}
+
+.filter-wrapper:nth-child(2) {
+    margin-top: 20px
+}
+
+.filter-wrapper .label {
+    color: #999
+}
+
+.filter-wrapper .condition-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-flex: 1;
+    -ms-flex: 1;
+    flex: 1;
+    -ms-flex-wrap: wrap;
+    flex-wrap: wrap;
+    margin-left: -16px;
+    margin-bottom: -10px
+}
+
+.filter-wrapper .condition-wrapper .item {
+    margin-left: 26px;
+    margin-bottom: 10px
+}
+
+.filter-wrapper .condition-wrapper .item.selected {
+    font-weight: 700
+}
+
+img {
+    width: 100%
+}
+
+ .el-carousel__button {
+    border-radius: 5px;
+    width: 10px;
+    height: 6px;
+    opacity: .4
+}
+
+ .el-carousel__container {
+    height: 350px
+}
+
+ .el-carousel__indicator.is-active button {
+    height: 6px;
+    width: 20px
+}
+
+.no-data-wrapper {
+    margin: 0 auto;
+    padding-top: 100px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.no-data-wrapper .no-text {
+    color: #ccc;
+    margin-top: 20px
+}
+
+.no-data-wrapper .no-data-img {
+    width: 130px;
+    height: 130px
+}
+
+.v-scroll-list .loading-wrapper {
+    margin-top: 10px;
+    height: 100px;
+    width: 100%
+}
+
+.icon-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    color: #999;
+    font-size: 14px
+}
+
+.icon-wrapper .iconfont {
+    margin-right: 3px
+}
+
+.hospital-list-item {
+    height: 98px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    -webkit-box-pack: justify;
+    -ms-flex-pack: justify;
+    justify-content: space-between
+}
+
+.hospital-list-item:hover .wrapper .hospital-title {
+    color: #000;
+    font-weight: 800
+}
+
+.hospital-list-item:hover .hospital-img {
+    -webkit-transform: scale(1.03);
+    transform: scale(1.03)
+}
+
+.hospital-list-item .dept-name {
+    margin-left: 6px;
+    font-weight: 400;
+    font-size: 14px
+}
+
+.hospital-list-item .wrapper {
+    height: 76px;
+    color: #333;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-pack: justify;
+    -ms-flex-pack: justify;
+    justify-content: space-between;
+    -webkit-box-flex: 1;
+    -ms-flex: 1;
+    flex: 1;
+    align-items: normal;
+}
+
+.hospital-list-item .wrapper .hospital-title {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    height: 42px;
+    font-weight: 500;
+    font-size: 16px;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    -webkit-transition: all .2s ease;
+    transition: all .2s ease;
+    width: 100%;
+}
+
+.hospital-list-item .wrapper .bottom-container {
+    width: 250px;
+    color: #999;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: justify;
+    -ms-flex-pack: justify;
+    justify-content: space-between
+}
+
+.hospital-list-item .wrapper .bottom-container .label-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.hospital-list-item .wrapper .bottom-container .label-wrapper .iconfont {
+    margin-right: 3px
+}
+
+.hospital-list-item .hospital-img {
+    width: 80px;
+    height: 80px;
+    border-radius: 40px;
+    margin-left: 12px;
+    -webkit-transition: all .2s linear;
+    transition: all .2s linear
+}
+
+.list-item {
+    width: 440px;
+    height: 98px;
+    margin-top: 30px;
+    display: inline-block;
+    vertical-align: top
+}
+
+.hos-item {
+    padding: 0 10px 0 20px
+}
+
+.space {
+    margin-left: 26px
+}
+
+.hospital-list {
+    padding-left: 10px;
+    padding-right: 80px
+}
+
+.common-dept .header-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: justify;
+    -ms-flex-pack: justify;
+    justify-content: space-between
+}
+
+.common-dept .header-wrapper .all-wrapper {
+    color: #999;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    font-size: 14px;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    cursor: pointer
+}
+
+.common-dept .header-wrapper .all-wrapper .iconfont {
+    font-size: 14px
+}
+
+.common-dept .content-wrapper {
+    margin-top: 20px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -ms-flex-wrap: wrap;
+    flex-wrap: wrap;
+    line-height: 31px;
+    margin-left: -15px
+}
+
+.common-dept .content-wrapper .item {
+    margin-left: 30px;
+    width: 70px;
+    text-align: center
+}
+
+.common-dept .icon {
+    font-size: 14px
+}
+
+.header-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: justify;
+    -ms-flex-pack: justify;
+    justify-content: space-between
+}
+
+.header-wrapper .title-wrapper .icon-wrapper, .header-wrapper .title-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.header-wrapper .title-wrapper .icon-wrapper {
+    height: 40px;
+    width: 40px;
+    border-radius: 20px;
+    background: #f2f8ff;
+    color: #7eabff;
+    margin-right: 10px
+}
+
+.header-wrapper .title-wrapper .icon-wrapper .iconfont {
+    font-size: 20px
+}
+
+.header-wrapper .all-wrapper {
+    color: #999;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    cursor: pointer
+}
+
+.content-wrapper {
+    margin-top: 17px
+}
+
+.content-wrapper .point {
+    height: 4px;
+    width: 4px;
+    border-radius: 2px;
+    background: #7eabff
+}
+
+.content-wrapper .notice-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    margin-top: 14px
+}
+
+.content-wrapper .notice-wrapper .notice {
+    display: block;
+    margin-left: 7px;
+    overflow: hidden;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+    -webkit-line-clamp: 1;
+    -webkit-box-orient: vertical;
+    word-break: break-all;
+    width: 100%
+}
+
+.icon {
+    font-size: 14px
+}
+
+.title-icon {
+    font-size: 22px
+}
+
+.suspend-notice-list {
+    background: #fff
+}
+
+.suspend-notice-list .header-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: justify;
+    -ms-flex-pack: justify;
+    justify-content: space-between
+}
+
+.suspend-notice-list .header-wrapper .title-wrapper .icon-wrapper, .suspend-notice-list .header-wrapper .title-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.suspend-notice-list .header-wrapper .title-wrapper .icon-wrapper {
+    height: 40px;
+    width: 40px;
+    border-radius: 20px;
+    background: #fffaf1;
+    color: #ffaa51;
+    margin-right: 10px
+}
+
+.suspend-notice-list .header-wrapper .all-wrapper {
+    color: #999;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    cursor: pointer
+}
+
+.suspend-notice-list .header-wrapper .all-wrapper .all-icon {
+    font-size: 14px
+}
+
+.suspend-notice-list .content-wrapper {
+    margin-top: 17px
+}
+
+.suspend-notice-list .content-wrapper .point {
+    height: 4px;
+    width: 4px;
+    border-radius: 2px;
+    background: #ffaa51
+}
+
+.suspend-notice-list .content-wrapper .notice-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    margin-top: 14px
+}
+
+.suspend-notice-list .content-wrapper .notice-wrapper .notice {
+    display: block;
+    margin-left: 7px;
+    overflow: hidden;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+    -webkit-line-clamp: 1;
+    -webkit-box-orient: vertical;
+    word-break: break-all;
+    width: 100%
+}
+
+.suspend-notice-list .icon {
+    font-size: 14px
+}
+
+.suspend-notice-list .title-icon {
+    font-size: 22px
+}
+
+.home {
+    background: #fff;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column
+}
+
+.home .search-container {
+    margin-top: 25px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center
+}
+
+.home .search-container .search-wrapper {
+    width: 800px
+}
+
+.home .home-filter-wrapper {
+    background: #fff;
+    padding: 20px 80px 10px 0;
+    z-index: 300
+}
+
+.home .home-filter-wrapper .title {
+    margin-bottom: 30px
+}
+
+.home .bottom {
+    margin-top: 70px
+}
+
+.home .bottom .left {
+    float: left;
+    width: calc(100% - 200px);
+    margin-top: -20px
+}
+
+.home .bottom .right {
+    width: 200px;
+    float: right;
+    position: -webkit-sticky;
+    position: sticky;
+    top: 20px
+}
+
+.home .bottom .right .space {
+    margin-top: 40px
+}

+ 1130 - 0
static/css/personal.css

@@ -0,0 +1,1130 @@
+.auth-notice {
+    position: fixed;
+    top: 0;
+    left: 0;
+    right: 0;
+    bottom: 0;
+    z-index: 999999
+}
+
+.mask {
+    position: absolute;
+    width: 100%;
+    height: 100%;
+    background: #000;
+    opacity: .5;
+    z-index: -100
+}
+
+.notice-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    height: 100vh
+}
+
+.notice-wrapper .notice-container {
+    height: 670px;
+    width: 455px;
+    border-bottom-left-radius: 20px;
+    border-bottom-right-radius: 20px
+}
+
+.notice-wrapper .notice-title {
+    font-size: 26px;
+    font-weight: 600;
+    color: #333;
+    line-height: 48px;
+    text-align: center;
+    margin-top: 270px
+}
+
+.notice-wrapper .content-wrapper {
+    margin-top: 20px;
+    line-height: 40px;
+    font-size: 21px;
+    font-weight: 400;
+    padding: 0 50px;
+    letter-spacing: .5px
+}
+
+.notice-wrapper .content-wrapper .black {
+    color: #666
+}
+
+.notice-wrapper .content-wrapper .red {
+    color: #ff5f5f
+}
+
+.notice-wrapper .hyde-btn {
+    margin-top: 30px;
+    width: 326px
+}
+
+.id-card-wrapper {
+    height: 100px
+}
+
+.id-card-wrapper .el-form-item__error {
+    top: 40px
+}
+
+.id-card-wrapper .bottom-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    margin-top: 60px
+}
+
+.id-card-wrapper .bottom-wrapper .button-wrapper {
+    width: 140px;
+    margin-bottom: 30px
+}
+
+.id-card-wrapper .form-item {
+    width: 470px;
+    margin-bottom: 20px;
+    height: 40px
+}
+
+.id-card-wrapper .form-item.large {
+    width: 672px
+}
+
+.bottom-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    margin-top: 60px
+}
+
+.bottom-wrapper .button-wrapper {
+    width: 140px;
+    margin-bottom: 30px
+}
+
+ .el-form-item__error {
+    top: 40px
+}
+
+ .el-upload {
+    border: 1px solid #4990f1;
+    cursor: pointer;
+    position: relative;
+    overflow: hidden
+}
+
+.upload-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex
+}
+
+.upload-wrapper .example {
+    height: 125px;
+    width: 160px;
+    margin-left: 40px
+}
+
+.upload-inner-wrapper {
+    width: 160px;
+    height: 125px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    color: #4990f1
+}
+
+.upload-inner-wrapper .icon {
+    font-size: 36px
+}
+
+.upload-inner-wrapper .text {
+    font-size: 14px;
+    margin-top: 5px
+}
+
+.uploaded-img {
+    height: 100%
+}
+
+.form-item {
+    width: 470px;
+    margin-bottom: 20px
+}
+
+.form-item.large {
+    width: 672px
+}
+
+.form-item.form-normal {
+    height: 40px
+}
+
+.title {
+    letter-spacing: 1px;
+    font-weight: 700;
+    color: #333;
+    font-size: 16px
+}
+
+.affix {
+    position: fixed;
+    z-index: 100
+}
+
+.el-autocomplete-suggestion {
+    margin-top: 2px !important;
+    border: none !important;
+    border-top-left-radius: 0 !important;
+    border-top-right-radius: 0 !important;
+    -webkit-box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04) !important;
+    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04) !important
+}
+
+.el-autocomplete-suggestion .popper__arrow {
+    display: none !important
+}
+
+.el-form-item__label {
+    color: #999 !important;
+    letter-spacing: 1px
+}
+
+.block {
+    height: 14px;
+    width: 4px;
+    background: #4990f1;
+    margin-right: 6px;
+    border-radius: 2px
+}
+
+.split {
+    border-left: 1px solid #eee;
+    width: 1px;
+    height: 16px;
+    margin: 0 10px
+}
+
+.el-cascader-menu__wrap {
+    height: 200px !important
+}
+
+.lineup .el-icon-warning-outline {
+    font-size: 40px;
+    color: #333
+}
+
+.lineup .el-loading-text {
+    color: #333 !important;
+    font-size: 18px !important;
+    margin-top: 20px !important
+}
+
+.status-bar {
+    margin-top: 20px;
+    height: 80px;
+    background-color: #f4f9ff;
+    font-size: 16px;
+    color: #4490f1;
+    letter-spacing: 1px;
+    font-weight: 700
+}
+
+.status-bar .status-wrapper, .status-bar {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.status-bar .status-wrapper {
+    padding-bottom: 1px
+}
+
+.status-bar .status-wrapper .iconfont {
+    font-weight: 400;
+    font-size: 28px;
+    margin: 0 14px 0 20px
+}
+
+.tips {
+    font-size: 12px;
+    color: #999;
+    margin: 40px 0;
+    padding-left: 140px
+}
+
+.tips .iconfont {
+    font-size: 12px
+}
+
+.form-wrapper {
+    padding-left: 140px;
+    width: 580px
+}
+
+.bottom-wrapper {
+    width: 740px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    margin-top: 60px
+}
+
+.bottom-wrapper .button-wrapper {
+    width: 140px
+}
+
+.bottom-wrapper .link {
+    margin-top: 30px
+}
+
+.context-container {
+    margin-top: 80px;
+    margin-left: 140px
+}
+
+.loading-wrapper {
+    min-height: 200px
+}
+
+.title {
+    letter-spacing: 1px;
+    font-weight: 700;
+    color: #333;
+    font-size: 16px
+}
+
+.affix {
+    position: fixed;
+    z-index: 100
+}
+
+.el-autocomplete-suggestion {
+    margin-top: 2px !important;
+    border: none !important;
+    border-top-left-radius: 0 !important;
+    border-top-right-radius: 0 !important;
+    -webkit-box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04) !important;
+    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04) !important
+}
+
+.el-autocomplete-suggestion .popper__arrow {
+    display: none !important
+}
+
+.el-form-item__label {
+    color: #999 !important;
+    letter-spacing: 1px
+}
+
+.block {
+    height: 14px;
+    width: 4px;
+    background: #4990f1;
+    margin-right: 6px;
+    border-radius: 2px
+}
+
+.split {
+    border-left: 1px solid #eee;
+    width: 1px;
+    height: 16px;
+    margin: 0 10px
+}
+
+.el-cascader-menu__wrap {
+    height: 200px !important
+}
+
+.lineup .el-icon-warning-outline {
+    font-size: 40px;
+    color: #333
+}
+
+.lineup .el-loading-text {
+    color: #333 !important;
+    font-size: 18px !important;
+    margin-top: 20px !important
+}
+
+.personal-order .title {
+    margin-bottom: 60px
+}
+
+.personal-order .table {
+    margin-top: 40px
+}
+
+.personal-order .pagination {
+    margin-top: 100px
+}
+
+.personal-order .order-status-select {
+    width: 200px
+}
+
+.personal-order .order-status-item {
+    margin-left: 60px
+}
+
+.personal-order .search-button {
+    margin-left: 50px
+}
+
+.personal-order .patient-select {
+    width: 400px
+}
+
+.select-popper /deep/ .el-select-dropdown__wrap {
+    padding-bottom: 17px
+}
+
+.title {
+    margin-bottom: 60px
+}
+
+ .el-textarea__inner {
+    border: 1px solid #eee
+}
+
+.bottom-wrapper {
+    margin-top: 100px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.bottom-wrapper .button {
+    width: 140px
+}
+
+.v-scroll-list .loading-wrapper {
+    margin-top: 10px;
+    height: 100px;
+    width: 100%
+}
+
+.hospital-list-item {
+    height: 98px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    -webkit-box-pack: justify;
+    -ms-flex-pack: justify;
+    justify-content: space-between
+}
+
+.hospital-list-item:hover .wrapper .hospital-title {
+    color: #000;
+    font-weight: 800
+}
+
+.hospital-list-item:hover .hospital-img {
+    -webkit-transform: scale(1.03);
+    transform: scale(1.03)
+}
+
+.hospital-list-item .dept-name {
+    margin-left: 6px;
+    font-weight: 400;
+    font-size: 14px
+}
+
+.hospital-list-item .wrapper {
+    height: 76px;
+    color: #333;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-pack: justify;
+    -ms-flex-pack: justify;
+    justify-content: space-between;
+    -webkit-box-flex: 1;
+    -ms-flex: 1;
+    flex: 1
+}
+
+.hospital-list-item .wrapper .hospital-title {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    height: 42px;
+    font-weight: 500;
+    font-size: 16px;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    -webkit-transition: all .2s ease;
+    transition: all .2s ease
+}
+
+.hospital-list-item .wrapper .bottom-container {
+    width: 250px;
+    color: #999;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: justify;
+    -ms-flex-pack: justify;
+    justify-content: space-between
+}
+
+.hospital-list-item .wrapper .bottom-container .label-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.hospital-list-item .wrapper .bottom-container .label-wrapper .iconfont {
+    margin-right: 3px
+}
+
+.hospital-list-item .hospital-img {
+    width: 80px;
+    height: 80px;
+    border-radius: 40px;
+    margin-left: 12px;
+    -webkit-transition: all .2s linear;
+    transition: all .2s linear
+}
+
+.list-item {
+    width: 440px;
+    margin-top: 30px;
+    padding: 0 10px 0 20px
+}
+
+.space {
+    margin-left: 40px
+}
+
+.hospital-list {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -ms-flex-wrap: wrap;
+    flex-wrap: wrap
+}
+
+.title {
+    margin-bottom: 40px
+}
+
+.title {
+    font-size: 14px;
+    margin-top: 35px
+}
+
+.content {
+    margin-top: 29px;
+    color: #666;
+    line-height: 23px;
+    letter-spacing: 1px
+}
+
+.content .special {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex
+}
+
+.form-wrapper {
+    margin-top: 50px;
+    width: 410px;
+    margin-left: 140px
+}
+
+.form-wrapper .mobile-text {
+    color: #333;
+    letter-spacing: 1px
+}
+
+.bottom-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    padding: 80px 0
+}
+
+.bottom-wrapper .button-wrapper {
+    width: 140px
+}
+
+.bind-wechat-view {
+    padding-bottom: 20px
+}
+
+.bind-wrapper {
+    margin-top: 50px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.portrait {
+    width: 100px;
+    height: 100px
+}
+
+.button-wrapper {
+    width: 140px;
+    margin-top: 80px
+}
+
+.nick-name {
+    color: #333;
+    font-weight: 700;
+    letter-spacing: 1px;
+    margin-top: 20px
+}
+
+.unbound-wrapper {
+    margin-top: 90px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.unbound-wrapper .tips {
+    margin-top: 20px;
+    color: #999;
+    letter-spacing: 1px
+}
+
+.tabs {
+    margin-top: -12px
+}
+
+.header-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.header-wrapper .title {
+    margin-right: 30px
+}
+
+.content-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -ms-flex-wrap: wrap;
+    flex-wrap: wrap;
+    margin-top: 60px
+}
+
+.content-wrapper .item {
+    -webkit-transform: scale(1);
+    transform: scale(1)
+}
+
+.content-wrapper .item .iconfont {
+    margin-right: 10px;
+    color: #999;
+    font-size: 14px
+}
+
+.content-wrapper .item:hover .item-title {
+    font-weight: 700
+}
+
+.content-wrapper .card-info-item {
+    margin-bottom: 30px
+}
+
+.content-wrapper .card-info-item .tips-wrapper {
+    width: 226px;
+    padding: 10px 20px;
+    word-wrap: break-word;
+    word-break: break-all;
+    overflow: hidden;
+    background: #fee;
+    border-radius: 0 0 4px 4px;
+    -webkit-box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04);
+    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04);
+    color: #ff5f5f;
+    font-size: 12px;
+    margin-top: -2px
+}
+
+.content-wrapper .item-wrapper {
+    width: 202px;
+    height: 90px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -ms-flex-direction: column;
+    flex-direction: column;
+    padding: 12px 10px 0 14px;
+    font-size: 12px;
+    color: #999
+}
+
+.content-wrapper .item-wrapper.wait-bind {
+    background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADoAAAAwCAMAAAB3/pl8AAAAUVBMVEUAAAD/f3//YmL/cHD/Z2f/YWH/Zmb/YGD/YmL/ZWX/YmL/amr/ZGT/YWH/YWH/YGD/YGD/YWH/YGD/YGD/YGD/YWH/YGD/YGD/YGD/ZGT/YWE75cZNAAAAG3RSTlMABTALFUYZVTshKw8mNUFYTFFqXHN3b2BlHX3J/BX1AAADRElEQVRIx51WCRajIAwN+yKgAgJ6/4OOlqmAnaUz6XsVDVk+WQj8jiaFpZRWTfBPNGGxxbIyxpYcj4DJt4JcbLNtxtCpJ+zfCNIcJXp8QzYV/jdB5DZ8C4q5MfDG0J9B+vDylC3Xf84di4hUQVD+Kx002roo6dxLOeeU9IY5UCYsDvTzfA759psbrNXOd6Wxom8rOs5yurjzh81Nn7YyPle4hRNRhfn11IJpqGQfZ0aSvdAebMKGjGensFpW021dRtGZ/fT1IwMoC3Y8mnV4M6lydz3uIrICHEib3qm4V0nXJCvAhmu/Q4t6s1LUwOru2wAQ4eJbtiyoM8ornzSAAqPO7XgMWm0Ld6iA6a8ASo4So6sFJW6JFtqAXxK4AezzOskrmDHO5vbDTW/uQV5u8AdA8KjyifQl9vqoe0cmV6QDQDsRCLtdzngR7Cg4ty8Mnh479wIY+giikJNiZXWgwnF+p8shdETwSEaBHwB5csERuTo3hUvNuaVYcv6bZzKm+QaIaOVonIP0SyTlpZsw+TrsdrKiRrBLUV6QnhGcPz+5JDTLF4iDUg/0fE+oiaLV3QDNdcKHZ6dhVowIgmDl0uXGxqH4jBHcktJAj9BT7deVAbEcKCcmFUlQ0icnKpBuqAlz2e18hQkBjbOXV5jZvOJs0FbEBEEB6rrr5dcgulhl9sUzLqgmgPF0WM2wAOuGmpjjnaAtG9EihUGw+40R0At44CGrymw1YcLbbdax/A6T86v1V3UGmnhRtAMYGLmM3RKiU3owk69AeX6+eO0eRY9RzZ+73ppHjCWAwtDrNBEeil6dylQrlWez2MmsALlJezsAnKs5TVqpVFpRW+v1YgozdDXyU4Wu22XnDe4gpWdXoy2cqDb6fofo1nYaATbSVcnioCM29uyxq3U5W42SYVvzfgA4uK7q0+PHnTFe4TPjT12ao2o7PziSD21bGzIKGkzdQV/XZDuKMRl1BVgvyW4K4icrk1Pv9jlRLPwFMNq7y7Sr2dwDgD12+CDExNXV6C0L90CAoKT3QED/NoY0CqXNJEQk+v3wA2sehp//GrlkLPzbQQ+ThhmLTezwJRE8b1teFsbWHE89/zidEmWllFj9XuwHWnkkbls5CWAAAAAASUVORK5CYII=") no-repeat;
+    background-position: 142px, 50px
+}
+
+.content-wrapper .item-wrapper .item-title {
+    color: #333;
+    letter-spacing: 1px;
+    font-size: 14px;
+    margin-bottom: 10px
+}
+
+.content-wrapper .item-add-wrapper {
+    width: 100%;
+    height: 54px;
+    line-height: 54px;
+    text-align: center;
+    color: #4990f1;
+    font-size: 16px;
+    margin-top: 30px
+}
+
+.content-wrapper .operate-wrapper {
+    font-size: 12px
+}
+
+.content-wrapper .operate-wrapper .delete-button {
+    margin-left: -10px
+}
+
+.header-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.header-wrapper .title {
+    margin-right: 30px
+}
+
+.tip-wrapper {
+    font-size: 12px;
+    color: #999;
+    margin-left: 140px;
+    margin-top: 40px
+}
+
+.tip-wrapper .iconfont {
+    font-size: 12px
+}
+
+.sub-title {
+    letter-spacing: 1px;
+    color: #999;
+    margin-top: 60px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.content-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    margin-left: 140px;
+    margin-top: 20px
+}
+
+.content-wrapper .inline {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.content-wrapper .inline .v-link {
+    margin-left: 10px
+}
+
+.content-wrapper .mobile-form-item {
+    width: 360px;
+    margin-bottom: 0
+}
+
+.content-wrapper .form-item {
+    width: 470px;
+    margin-bottom: 20px
+}
+
+.content-wrapper .form-item.large {
+    width: 672px
+}
+
+.bottom-wrapper {
+    width: 740px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center
+}
+
+.bottom-wrapper .button-wrapper {
+    width: 140px;
+    margin-top: 80px
+}
+
+.ml20 {
+    margin-left: 20px
+}
+
+.placeholder {
+    height: 300px;
+    margin-left: 300px;
+    width: 150px
+}
+
+ .el-dialog__header {
+    background-color: #e8f2ff;
+    padding: 20px 30px;
+    border-radius: 4px 4px 0 0
+}
+
+ .el-dialog__header .el-dialog__title {
+    font-size: 16px;
+    font-weight: 700;
+    letter-spacing: 1px
+}
+
+ .el-dialog__header .el-dialog__close {
+    font-size: 20px;
+    font-weight: 700
+}
+
+ .el-dialog__body {
+    padding: 60px 80px
+}
+
+ .el-dialog__footer {
+    padding: 0 60px 50px
+}
+
+.dialog-text {
+    color: #333;
+    font-size: 16px;
+    margin-bottom: 60px
+}
+
+ .el-dialog--center .el-dialog__body {
+    text-align: center;
+    padding: 10px 60px 0
+}
+
+ .el-dialog--center .el-dialog__footer {
+    padding-bottom: 40px
+}
+
+.img-wp {
+    width: 140px;
+    height: 140px;
+    margin: 0 auto 20px
+}
+
+.img-wp img {
+    width: 100%;
+    height: 100%;
+    line-height: 0;
+    display: block
+}
+
+.icon {
+    font-size: 54px;
+    color: #4490f1;
+    display: block;
+    text-align: center
+}
+
+.dialog-footer {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center
+}
+
+.dialog-text {
+    margin: 30px 0 20px;
+    color: #333;
+    font-size: 16px;
+    letter-spacing: 1px
+}
+
+.button-wrapper {
+    width: 140px
+}
+
+.header-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.header-wrapper .title {
+    margin-right: 30px
+}
+
+.tip-wrapper {
+    font-size: 12px;
+    color: #999;
+    margin-left: 140px;
+    margin-top: 40px
+}
+
+.tip-wrapper .iconfont {
+    font-size: 12px
+}
+
+.sub-title {
+    letter-spacing: 1px;
+    color: #999;
+    margin-top: 60px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.content-wrapper {
+    margin-left: 140px;
+    margin-top: 20px
+}
+
+.content-wrapper .inline, .content-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex
+}
+
+.content-wrapper .inline .v-link {
+    margin-left: 10px
+}
+
+.content-wrapper .form-item {
+    width: 470px;
+    margin-bottom: 20px
+}
+
+.content-wrapper .form-item.large {
+    width: 672px
+}
+
+.bottom-wrapper {
+    width: 740px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center
+}
+
+.bottom-wrapper .button-wrapper {
+    width: 140px;
+    margin-top: 80px
+}
+
+.ml20 {
+    margin-left: 20px
+}
+
+.card-img {
+    margin-left: 110px;
+    margin-bottom: 20px;
+    -webkit-box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04);
+    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04);
+    border-radius: 8px;
+    height: 80px
+}
+
+.header-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.header-wrapper .title {
+    margin-right: 30px
+}
+
+.tip-wrapper {
+    font-size: 12px;
+    color: #999;
+    margin-left: 140px;
+    margin-top: 40px
+}
+
+.tip-wrapper .iconfont {
+    font-size: 12px
+}
+
+.sub-title {
+    letter-spacing: 1px;
+    color: #999;
+    margin-top: 60px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+
+.content-wrapper {
+    margin-left: 140px;
+    margin-top: 20px
+}
+
+.content-wrapper .inline, .content-wrapper {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex
+}
+
+.content-wrapper .inline .v-link {
+    margin-left: 10px
+}
+
+.content-wrapper .form-item {
+    width: 470px;
+    margin-bottom: 20px
+}
+
+.content-wrapper .form-item.large {
+    width: 672px
+}
+
+.bottom-wrapper {
+    width: 740px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: center;
+    -ms-flex-pack: center;
+    justify-content: center
+}
+
+.bottom-wrapper .button-wrapper {
+    width: 140px;
+    margin-top: 80px
+}
+
+.ml20 {
+    margin-left: 20px
+}
+
+.card-img {
+    margin-left: 110px;
+    margin-bottom: 20px;
+    -webkit-box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04);
+    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .04);
+    border-radius: 8px;
+    height: 80px
+}

+ 44 - 0
static/css/reset.css

@@ -0,0 +1,44 @@
+
+/* reset */
+body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,textarea,p,blockquote,th,td,input,select,textarea,button {margin:0;padding:0}  /* 初始化标签在所有浏览器中的margin、padding值 */
+fieldset,img {border:0 none}  /* 重置fieldset(表单分组)、图片的边框为0*/
+dl,ul,ol,menu,li {list-style:none}   /* 重置类表前导符号为onne,menu在HTML5中有效 */
+blockquote, q {quotes: none}   /* 重置嵌套引用的引号类型 */
+blockquote:before, blockquote:after,q:before, q:after {content:'';content:none}  /* 重置嵌套引用*/
+input,select,textarea,button {vertical-align:middle}  /* 重置表单控件垂直居中*/
+button {border:0 none;background-color:transparent;cursor:pointer}  /* 重置表单button按钮效果 */
+body {background:#fff}   /* 重置body 页面背景为白色 */
+body,th,td,input,select,textarea,button {font-size:12px;line-height:1 ;font-family:"微软雅黑", "黑体","宋体";color:#666} /* 重置页面文字属性 */
+a {color:#666;text-decoration:none}  /* 重置链接a标签 */
+a:active, a:hover {text-decoration:none}   /* 重置链接a标签的鼠标滑动效果 */
+address,caption,cite,code,dfn,em,var {font-style:normal;font-weight:normal}  /* 重置样式标签的样式 */
+caption {display:none;}    /* 重置表格标题为隐藏 */
+table {width:100%;border-collapse:collapse;border-spacing:0;table-layout:fixed;}    /* 重置table属性 */
+img{vertical-align:top}  /* 图片在当前行内的垂直位置 */
+ 
+/* 页面设置 */
+ 
+  /* 取消a标签点击后的虚线框 */
+a {outline: none;}  
+
+ 
+ /* 设置页面文字等在拖动鼠标选中情况下的背景色与文字颜色 */
+/* 
+::selection {color: #fff;background-color: #4C6E78;}    
+::-moz-selection {color: #fff;background-color: #4C6E78;} 
+*/
+ 
+/*清除浮动*/
+.clear{clear: both;}
+ 
+/*清除浮动--推荐使用*/
+.clearfix:before,.clearfix:after{content: '';display: table;}
+.clearfix:after{clear: both;}
+
+
+.animation-show {
+    -webkit-animation: animation-show-data-v-c865a8bc .1s ease-in;
+    animation: animation-show-data-v-c865a8bc .1s ease-in;
+    -webkit-animation-fill-mode: forwards;
+    animation-fill-mode: forwards;
+}

BIN
static/favicon.ico


BIN
static/images/logo.png


BIN
static/images/web-banner1.png


+ 11 - 0
store/README.md

@@ -0,0 +1,11 @@
+# STORE
+
+This directory contains your Vuex Store files.
+Vuex Store option is implemented in the Nuxt.js framework.
+Creating a index.js file in this directory activate the option in the framework automatically.
+
+More information about the usage of this directory in the documentation:
+https://nuxtjs.org/guide/vuex-store
+
+**This directory is not required, you can delete it if you don't want to use it.**
+

+ 46 - 0
utils/request.js

@@ -0,0 +1,46 @@
+import axios from 'axios'
+import { MessageBox, Message } from 'element-ui'
+import cookie from 'js-cookie'
+
+// 创建axios实例
+const service = axios.create({
+  // baseURL: 'http://server-gateway.his:8080', //生产环境
+  baseURL: 'http://192.168.122.10:31821', //生产环境
+  timeout: 15000 // 请求超时时间
+})
+
+// http request 拦截器
+service.interceptors.request.use(
+  config => {
+    // token 先不处理,后续使用时在完善
+    if (cookie.get('token')) {
+      config.headers['token'] = cookie.get('token')
+    }
+    return config
+  },
+  err => {
+    return Promise.reject(err)
+  })
+// http response 拦截器
+service.interceptors.response.use(
+  response => {
+    if (response.data.code === 208) {
+      // eventLogin.$emit('loginDialogEvent')
+      return
+    } else {
+      if (response.data.code !== 200) {
+        Message({
+          message: response.data.message,
+          type: 'error',
+          duration: 5 * 1000
+        })
+        return Promise.reject(response.data)
+      } else {
+        return response.data
+      }
+    }
+  },
+  error => {
+    return Promise.reject(error.response)
+  })
+export default service

Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików