秦杰 6 年之前
當前提交
09c0bd4f9f
共有 54 個文件被更改,包括 8617 次插入0 次删除
  1. 9 0
      .editorconfig
  2. 3 0
      .gitignore
  3. 3 0
      .prettierrc
  4. 0 0
      .wepycache
  5. 4 0
      .wepyignore
  6. 5785 0
      package-lock.json
  7. 39 0
      package.json
  8. 13 0
      project.config.json
  9. 101 0
      src/app.wpy
  10. 26 0
      src/assets/css/common.scss
  11. 二進制
      src/assets/images/1-1.png
  12. 二進制
      src/assets/images/1.png
  13. 二進制
      src/assets/images/2-1.png
  14. 二進制
      src/assets/images/2.png
  15. 二進制
      src/assets/images/3-1.png
  16. 二進制
      src/assets/images/3.png
  17. 二進制
      src/assets/images/4-1.png
  18. 二進制
      src/assets/images/4.png
  19. 二進制
      src/assets/images/add.png
  20. 二進制
      src/assets/images/avatar.png
  21. 二進制
      src/assets/images/close.png
  22. 二進制
      src/assets/images/cover.jpg
  23. 二進制
      src/assets/images/doc.pdf
  24. 二進制
      src/assets/images/ico-add.png
  25. 二進制
      src/assets/images/ico-arrow.png
  26. 二進制
      src/assets/images/ico-checkbox-checked.png
  27. 二進制
      src/assets/images/ico-checkbox.png
  28. 二進制
      src/assets/images/ico-feedback.png
  29. 二進制
      src/assets/images/ico-need.png
  30. 二進制
      src/assets/images/ico-phone.png
  31. 二進制
      src/assets/images/ico-radio-checked.png
  32. 二進制
      src/assets/images/ico-radio.png
  33. 二進制
      src/assets/images/ico-recharge.png
  34. 二進制
      src/assets/images/ico-service.png
  35. 二進制
      src/assets/images/ico-suc.png
  36. 二進制
      src/assets/images/ico-task.png
  37. 二進制
      src/assets/images/icons-footer.png
  38. 二進制
      src/assets/images/tmp1.jpg
  39. 二進制
      src/assets/images/tmp2.jpg
  40. 132 0
      src/components/exchange.wpy
  41. 141 0
      src/components/footer.wpy
  42. 100 0
      src/components/login.wpy
  43. 129 0
      src/mixins/base.js
  44. 83 0
      src/pages/article.wpy
  45. 109 0
      src/pages/cases.wpy
  46. 217 0
      src/pages/feedback.wpy
  47. 246 0
      src/pages/index.wpy
  48. 103 0
      src/pages/material.wpy
  49. 192 0
      src/pages/my.wpy
  50. 171 0
      src/pages/myserve.wpy
  51. 708 0
      src/pages/questions.wpy
  52. 153 0
      src/pages/servedetail.wpy
  53. 76 0
      src/pages/serveres.wpy
  54. 74 0
      wepy.config.js

+ 9 - 0
.editorconfig

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

+ 3 - 0
.gitignore

@@ -0,0 +1,3 @@
+node_modules
+dist
+.DS_Store

+ 3 - 0
.prettierrc

@@ -0,0 +1,3 @@
+{
+  "singleQuote": true
+}

文件差異過大導致無法顯示
+ 0 - 0
.wepycache


+ 4 - 0
.wepyignore

@@ -0,0 +1,4 @@
+node_modules
+dist
+.DS_Store
+*.wpy___jb_tmp___

+ 5785 - 0
package-lock.json

@@ -0,0 +1,5785 @@
+{
+  "name": "jiazhi",
+  "version": "0.0.2",
+  "lockfileVersion": 1,
+  "requires": true,
+  "dependencies": {
+    "abbrev": {
+      "version": "1.1.1",
+      "resolved": "http://registry.npm.taobao.org/abbrev/download/abbrev-1.1.1.tgz",
+      "integrity": "sha1-+PLIh60Qv2f2NPAFtph/7TF5qsg=",
+      "dev": true
+    },
+    "ajv": {
+      "version": "4.11.8",
+      "resolved": "http://registry.npm.taobao.org/ajv/download/ajv-4.11.8.tgz",
+      "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "co": "4.6.0",
+        "json-stable-stringify": "1.0.1"
+      }
+    },
+    "align-text": {
+      "version": "0.1.4",
+      "resolved": "http://registry.npm.taobao.org/align-text/download/align-text-0.1.4.tgz",
+      "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
+      "dev": true,
+      "requires": {
+        "kind-of": "3.2.2",
+        "longest": "1.0.1",
+        "repeat-string": "1.6.1"
+      }
+    },
+    "amdefine": {
+      "version": "1.0.1",
+      "resolved": "http://registry.npm.taobao.org/amdefine/download/amdefine-1.0.1.tgz",
+      "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
+      "dev": true
+    },
+    "ansi-gray": {
+      "version": "0.1.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/ansi-gray/-/ansi-gray-0.1.1.tgz",
+      "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=",
+      "dev": true,
+      "requires": {
+        "ansi-wrap": "0.1.0"
+      }
+    },
+    "ansi-regex": {
+      "version": "2.1.1",
+      "resolved": "http://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": "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz",
+      "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+      "dev": true
+    },
+    "ansi-wrap": {
+      "version": "0.1.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/ansi-wrap/-/ansi-wrap-0.1.0.tgz",
+      "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=",
+      "dev": true
+    },
+    "aproba": {
+      "version": "1.2.0",
+      "resolved": "http://registry.npm.taobao.org/aproba/download/aproba-1.2.0.tgz",
+      "integrity": "sha1-aALmJk79GMeQobDVF/DyYnvyyUo=",
+      "dev": true
+    },
+    "archive-type": {
+      "version": "3.2.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/archive-type/-/archive-type-3.2.0.tgz",
+      "integrity": "sha1-nNnABpV+vpX62tW9YJiUKoE3N/Y=",
+      "dev": true,
+      "requires": {
+        "file-type": "3.9.0"
+      },
+      "dependencies": {
+        "file-type": {
+          "version": "3.9.0",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/file-type/-/file-type-3.9.0.tgz",
+          "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=",
+          "dev": true
+        }
+      }
+    },
+    "are-we-there-yet": {
+      "version": "1.1.5",
+      "resolved": "http://registry.npm.taobao.org/are-we-there-yet/download/are-we-there-yet-1.1.5.tgz",
+      "integrity": "sha1-SzXClE8GKov82mZBB2A1D+nd/CE=",
+      "dev": true,
+      "requires": {
+        "delegates": "1.0.0",
+        "readable-stream": "2.3.6"
+      }
+    },
+    "arr-diff": {
+      "version": "2.0.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/arr-diff/-/arr-diff-2.0.0.tgz",
+      "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
+      "dev": true,
+      "requires": {
+        "arr-flatten": "1.1.0"
+      }
+    },
+    "arr-flatten": {
+      "version": "1.1.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/arr-flatten/-/arr-flatten-1.1.0.tgz",
+      "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=",
+      "dev": true
+    },
+    "array-differ": {
+      "version": "1.0.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/array-differ/-/array-differ-1.0.0.tgz",
+      "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=",
+      "dev": true
+    },
+    "array-find-index": {
+      "version": "1.0.2",
+      "resolved": "http://registry.npm.taobao.org/array-find-index/download/array-find-index-1.0.2.tgz",
+      "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
+      "dev": true
+    },
+    "array-union": {
+      "version": "1.0.2",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/array-union/-/array-union-1.0.2.tgz",
+      "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
+      "dev": true,
+      "requires": {
+        "array-uniq": "1.0.3"
+      }
+    },
+    "array-uniq": {
+      "version": "1.0.3",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/array-uniq/-/array-uniq-1.0.3.tgz",
+      "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
+      "dev": true
+    },
+    "array-unique": {
+      "version": "0.2.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/array-unique/-/array-unique-0.2.1.tgz",
+      "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
+      "dev": true
+    },
+    "asap": {
+      "version": "2.0.6",
+      "resolved": "http://registry.npm.taobao.org/asap/download/asap-2.0.6.tgz",
+      "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=",
+      "dev": true,
+      "optional": true
+    },
+    "asn1": {
+      "version": "0.2.4",
+      "resolved": "http://registry.npm.taobao.org/asn1/download/asn1-0.2.4.tgz",
+      "integrity": "sha1-jSR136tVO7M+d7VOWeiAu4ziMTY=",
+      "dev": true,
+      "requires": {
+        "safer-buffer": "2.1.2"
+      }
+    },
+    "assert-plus": {
+      "version": "0.2.0",
+      "resolved": "http://registry.npm.taobao.org/assert-plus/download/assert-plus-0.2.0.tgz",
+      "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=",
+      "dev": true,
+      "optional": true
+    },
+    "async-each-series": {
+      "version": "1.1.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/async-each-series/-/async-each-series-1.1.0.tgz",
+      "integrity": "sha1-9C/YFV048hpbjqB8KOBj7RcAsTg=",
+      "dev": true
+    },
+    "async-foreach": {
+      "version": "0.1.3",
+      "resolved": "http://registry.npm.taobao.org/async-foreach/download/async-foreach-0.1.3.tgz",
+      "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=",
+      "dev": true
+    },
+    "asynckit": {
+      "version": "0.4.0",
+      "resolved": "http://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz",
+      "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
+      "dev": true
+    },
+    "aws-sign2": {
+      "version": "0.6.0",
+      "resolved": "http://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.6.0.tgz",
+      "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=",
+      "dev": true,
+      "optional": true
+    },
+    "aws4": {
+      "version": "1.8.0",
+      "resolved": "http://registry.npm.taobao.org/aws4/download/aws4-1.8.0.tgz",
+      "integrity": "sha1-8OAD2cqef1nHpQiUXXsu+aBKVC8=",
+      "dev": true
+    },
+    "babel-code-frame": {
+      "version": "6.26.0",
+      "resolved": "http://registry.npm.taobao.org/babel-code-frame/download/babel-code-frame-6.26.0.tgz",
+      "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
+      "dev": true,
+      "requires": {
+        "chalk": "1.1.3",
+        "esutils": "2.0.2",
+        "js-tokens": "3.0.2"
+      }
+    },
+    "babel-core": {
+      "version": "6.26.3",
+      "resolved": "http://registry.npm.taobao.org/babel-core/download/babel-core-6.26.3.tgz",
+      "integrity": "sha1-suLwnjQtDwyI4vAuBneUEl51wgc=",
+      "dev": true,
+      "requires": {
+        "babel-code-frame": "6.26.0",
+        "babel-generator": "6.26.1",
+        "babel-helpers": "6.24.1",
+        "babel-messages": "6.23.0",
+        "babel-register": "6.26.0",
+        "babel-runtime": "6.26.0",
+        "babel-template": "6.26.0",
+        "babel-traverse": "6.26.0",
+        "babel-types": "6.26.0",
+        "babylon": "6.18.0",
+        "convert-source-map": "1.5.1",
+        "debug": "2.6.9",
+        "json5": "0.5.1",
+        "lodash": "4.17.10",
+        "minimatch": "3.0.4",
+        "path-is-absolute": "1.0.1",
+        "private": "0.1.8",
+        "slash": "1.0.0",
+        "source-map": "0.5.7"
+      }
+    },
+    "babel-eslint": {
+      "version": "7.2.3",
+      "resolved": "http://registry.npm.taobao.org/babel-eslint/download/babel-eslint-7.2.3.tgz",
+      "integrity": "sha1-sv4tgBJkcPXBlELcdXJTqJdxCCc=",
+      "dev": true,
+      "requires": {
+        "babel-code-frame": "6.26.0",
+        "babel-traverse": "6.26.0",
+        "babel-types": "6.26.0",
+        "babylon": "6.18.0"
+      }
+    },
+    "babel-generator": {
+      "version": "6.26.1",
+      "resolved": "http://registry.npm.taobao.org/babel-generator/download/babel-generator-6.26.1.tgz",
+      "integrity": "sha1-GERAjTuPDTWkBOp6wYDwh6YBvZA=",
+      "dev": true,
+      "requires": {
+        "babel-messages": "6.23.0",
+        "babel-runtime": "6.26.0",
+        "babel-types": "6.26.0",
+        "detect-indent": "4.0.0",
+        "jsesc": "1.3.0",
+        "lodash": "4.17.10",
+        "source-map": "0.5.7",
+        "trim-right": "1.0.1"
+      },
+      "dependencies": {
+        "jsesc": {
+          "version": "1.3.0",
+          "resolved": "http://registry.npm.taobao.org/jsesc/download/jsesc-1.3.0.tgz",
+          "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=",
+          "dev": true
+        }
+      }
+    },
+    "babel-helper-builder-binary-assignment-operator-visitor": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-helper-builder-binary-assignment-operator-visitor/download/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz",
+      "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=",
+      "dev": true,
+      "requires": {
+        "babel-helper-explode-assignable-expression": "6.24.1",
+        "babel-runtime": "6.26.0",
+        "babel-types": "6.26.0"
+      }
+    },
+    "babel-helper-call-delegate": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-helper-call-delegate/download/babel-helper-call-delegate-6.24.1.tgz",
+      "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=",
+      "dev": true,
+      "requires": {
+        "babel-helper-hoist-variables": "6.24.1",
+        "babel-runtime": "6.26.0",
+        "babel-traverse": "6.26.0",
+        "babel-types": "6.26.0"
+      }
+    },
+    "babel-helper-define-map": {
+      "version": "6.26.0",
+      "resolved": "http://registry.npm.taobao.org/babel-helper-define-map/download/babel-helper-define-map-6.26.0.tgz",
+      "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=",
+      "dev": true,
+      "requires": {
+        "babel-helper-function-name": "6.24.1",
+        "babel-runtime": "6.26.0",
+        "babel-types": "6.26.0",
+        "lodash": "4.17.10"
+      }
+    },
+    "babel-helper-explode-assignable-expression": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-helper-explode-assignable-expression/download/babel-helper-explode-assignable-expression-6.24.1.tgz",
+      "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "6.26.0",
+        "babel-traverse": "6.26.0",
+        "babel-types": "6.26.0"
+      }
+    },
+    "babel-helper-function-name": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-helper-function-name/download/babel-helper-function-name-6.24.1.tgz",
+      "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=",
+      "dev": true,
+      "requires": {
+        "babel-helper-get-function-arity": "6.24.1",
+        "babel-runtime": "6.26.0",
+        "babel-template": "6.26.0",
+        "babel-traverse": "6.26.0",
+        "babel-types": "6.26.0"
+      }
+    },
+    "babel-helper-get-function-arity": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-helper-get-function-arity/download/babel-helper-get-function-arity-6.24.1.tgz",
+      "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "6.26.0",
+        "babel-types": "6.26.0"
+      }
+    },
+    "babel-helper-hoist-variables": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-helper-hoist-variables/download/babel-helper-hoist-variables-6.24.1.tgz",
+      "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "6.26.0",
+        "babel-types": "6.26.0"
+      }
+    },
+    "babel-helper-optimise-call-expression": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-helper-optimise-call-expression/download/babel-helper-optimise-call-expression-6.24.1.tgz",
+      "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "6.26.0",
+        "babel-types": "6.26.0"
+      }
+    },
+    "babel-helper-regex": {
+      "version": "6.26.0",
+      "resolved": "http://registry.npm.taobao.org/babel-helper-regex/download/babel-helper-regex-6.26.0.tgz",
+      "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "6.26.0",
+        "babel-types": "6.26.0",
+        "lodash": "4.17.10"
+      }
+    },
+    "babel-helper-remap-async-to-generator": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-helper-remap-async-to-generator/download/babel-helper-remap-async-to-generator-6.24.1.tgz",
+      "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=",
+      "dev": true,
+      "requires": {
+        "babel-helper-function-name": "6.24.1",
+        "babel-runtime": "6.26.0",
+        "babel-template": "6.26.0",
+        "babel-traverse": "6.26.0",
+        "babel-types": "6.26.0"
+      }
+    },
+    "babel-helper-replace-supers": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-helper-replace-supers/download/babel-helper-replace-supers-6.24.1.tgz",
+      "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=",
+      "dev": true,
+      "requires": {
+        "babel-helper-optimise-call-expression": "6.24.1",
+        "babel-messages": "6.23.0",
+        "babel-runtime": "6.26.0",
+        "babel-template": "6.26.0",
+        "babel-traverse": "6.26.0",
+        "babel-types": "6.26.0"
+      }
+    },
+    "babel-helpers": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-helpers/download/babel-helpers-6.24.1.tgz",
+      "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "6.26.0",
+        "babel-template": "6.26.0"
+      }
+    },
+    "babel-messages": {
+      "version": "6.23.0",
+      "resolved": "http://registry.npm.taobao.org/babel-messages/download/babel-messages-6.23.0.tgz",
+      "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "6.26.0"
+      }
+    },
+    "babel-plugin-check-es2015-constants": {
+      "version": "6.22.0",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-check-es2015-constants/download/babel-plugin-check-es2015-constants-6.22.0.tgz",
+      "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "6.26.0"
+      }
+    },
+    "babel-plugin-syntax-async-functions": {
+      "version": "6.13.0",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-syntax-async-functions/download/babel-plugin-syntax-async-functions-6.13.0.tgz",
+      "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=",
+      "dev": true
+    },
+    "babel-plugin-syntax-class-properties": {
+      "version": "6.13.0",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-syntax-class-properties/download/babel-plugin-syntax-class-properties-6.13.0.tgz",
+      "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=",
+      "dev": true
+    },
+    "babel-plugin-syntax-decorators": {
+      "version": "6.13.0",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-syntax-decorators/download/babel-plugin-syntax-decorators-6.13.0.tgz",
+      "integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=",
+      "dev": true
+    },
+    "babel-plugin-syntax-exponentiation-operator": {
+      "version": "6.13.0",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-syntax-exponentiation-operator/download/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz",
+      "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=",
+      "dev": true
+    },
+    "babel-plugin-syntax-export-extensions": {
+      "version": "6.13.0",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-syntax-export-extensions/download/babel-plugin-syntax-export-extensions-6.13.0.tgz",
+      "integrity": "sha1-cKFITw+QiaToStRLrDU8lbmxJyE=",
+      "dev": true
+    },
+    "babel-plugin-syntax-object-rest-spread": {
+      "version": "6.13.0",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-syntax-object-rest-spread/download/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
+      "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=",
+      "dev": true
+    },
+    "babel-plugin-syntax-trailing-function-commas": {
+      "version": "6.22.0",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-syntax-trailing-function-commas/download/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz",
+      "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=",
+      "dev": true
+    },
+    "babel-plugin-transform-async-to-generator": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-async-to-generator/download/babel-plugin-transform-async-to-generator-6.24.1.tgz",
+      "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=",
+      "dev": true,
+      "requires": {
+        "babel-helper-remap-async-to-generator": "6.24.1",
+        "babel-plugin-syntax-async-functions": "6.13.0",
+        "babel-runtime": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-class-properties": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-class-properties/download/babel-plugin-transform-class-properties-6.24.1.tgz",
+      "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=",
+      "dev": true,
+      "requires": {
+        "babel-helper-function-name": "6.24.1",
+        "babel-plugin-syntax-class-properties": "6.13.0",
+        "babel-runtime": "6.26.0",
+        "babel-template": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-decorators-legacy": {
+      "version": "1.3.5",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-decorators-legacy/download/babel-plugin-transform-decorators-legacy-1.3.5.tgz",
+      "integrity": "sha1-Dkkt/6Dt1wUpByiH+KqG1N2LQKE=",
+      "dev": true,
+      "requires": {
+        "babel-plugin-syntax-decorators": "6.13.0",
+        "babel-runtime": "6.26.0",
+        "babel-template": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-es2015-arrow-functions": {
+      "version": "6.22.0",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-arrow-functions/download/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz",
+      "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-es2015-block-scoped-functions": {
+      "version": "6.22.0",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-block-scoped-functions/download/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz",
+      "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-es2015-block-scoping": {
+      "version": "6.26.0",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-block-scoping/download/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz",
+      "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "6.26.0",
+        "babel-template": "6.26.0",
+        "babel-traverse": "6.26.0",
+        "babel-types": "6.26.0",
+        "lodash": "4.17.10"
+      }
+    },
+    "babel-plugin-transform-es2015-classes": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-classes/download/babel-plugin-transform-es2015-classes-6.24.1.tgz",
+      "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=",
+      "dev": true,
+      "requires": {
+        "babel-helper-define-map": "6.26.0",
+        "babel-helper-function-name": "6.24.1",
+        "babel-helper-optimise-call-expression": "6.24.1",
+        "babel-helper-replace-supers": "6.24.1",
+        "babel-messages": "6.23.0",
+        "babel-runtime": "6.26.0",
+        "babel-template": "6.26.0",
+        "babel-traverse": "6.26.0",
+        "babel-types": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-es2015-computed-properties": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-computed-properties/download/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz",
+      "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "6.26.0",
+        "babel-template": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-es2015-destructuring": {
+      "version": "6.23.0",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-destructuring/download/babel-plugin-transform-es2015-destructuring-6.23.0.tgz",
+      "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-es2015-duplicate-keys": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-duplicate-keys/download/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz",
+      "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "6.26.0",
+        "babel-types": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-es2015-for-of": {
+      "version": "6.23.0",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-for-of/download/babel-plugin-transform-es2015-for-of-6.23.0.tgz",
+      "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-es2015-function-name": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-function-name/download/babel-plugin-transform-es2015-function-name-6.24.1.tgz",
+      "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=",
+      "dev": true,
+      "requires": {
+        "babel-helper-function-name": "6.24.1",
+        "babel-runtime": "6.26.0",
+        "babel-types": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-es2015-literals": {
+      "version": "6.22.0",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-literals/download/babel-plugin-transform-es2015-literals-6.22.0.tgz",
+      "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-es2015-modules-amd": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-amd/download/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz",
+      "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=",
+      "dev": true,
+      "requires": {
+        "babel-plugin-transform-es2015-modules-commonjs": "6.26.2",
+        "babel-runtime": "6.26.0",
+        "babel-template": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-es2015-modules-commonjs": {
+      "version": "6.26.2",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-commonjs/download/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz",
+      "integrity": "sha1-WKeThjqefKhwvcWogRF/+sJ9tvM=",
+      "dev": true,
+      "requires": {
+        "babel-plugin-transform-strict-mode": "6.24.1",
+        "babel-runtime": "6.26.0",
+        "babel-template": "6.26.0",
+        "babel-types": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-es2015-modules-systemjs": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-systemjs/download/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz",
+      "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=",
+      "dev": true,
+      "requires": {
+        "babel-helper-hoist-variables": "6.24.1",
+        "babel-runtime": "6.26.0",
+        "babel-template": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-es2015-modules-umd": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-modules-umd/download/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz",
+      "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=",
+      "dev": true,
+      "requires": {
+        "babel-plugin-transform-es2015-modules-amd": "6.24.1",
+        "babel-runtime": "6.26.0",
+        "babel-template": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-es2015-object-super": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-object-super/download/babel-plugin-transform-es2015-object-super-6.24.1.tgz",
+      "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=",
+      "dev": true,
+      "requires": {
+        "babel-helper-replace-supers": "6.24.1",
+        "babel-runtime": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-es2015-parameters": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-parameters/download/babel-plugin-transform-es2015-parameters-6.24.1.tgz",
+      "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=",
+      "dev": true,
+      "requires": {
+        "babel-helper-call-delegate": "6.24.1",
+        "babel-helper-get-function-arity": "6.24.1",
+        "babel-runtime": "6.26.0",
+        "babel-template": "6.26.0",
+        "babel-traverse": "6.26.0",
+        "babel-types": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-es2015-shorthand-properties": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-shorthand-properties/download/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz",
+      "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "6.26.0",
+        "babel-types": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-es2015-spread": {
+      "version": "6.22.0",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-spread/download/babel-plugin-transform-es2015-spread-6.22.0.tgz",
+      "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-es2015-sticky-regex": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-sticky-regex/download/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz",
+      "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=",
+      "dev": true,
+      "requires": {
+        "babel-helper-regex": "6.26.0",
+        "babel-runtime": "6.26.0",
+        "babel-types": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-es2015-template-literals": {
+      "version": "6.22.0",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-template-literals/download/babel-plugin-transform-es2015-template-literals-6.22.0.tgz",
+      "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-es2015-typeof-symbol": {
+      "version": "6.23.0",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-typeof-symbol/download/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz",
+      "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-es2015-unicode-regex": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-es2015-unicode-regex/download/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz",
+      "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=",
+      "dev": true,
+      "requires": {
+        "babel-helper-regex": "6.26.0",
+        "babel-runtime": "6.26.0",
+        "regexpu-core": "2.0.0"
+      }
+    },
+    "babel-plugin-transform-exponentiation-operator": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-exponentiation-operator/download/babel-plugin-transform-exponentiation-operator-6.24.1.tgz",
+      "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=",
+      "dev": true,
+      "requires": {
+        "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1",
+        "babel-plugin-syntax-exponentiation-operator": "6.13.0",
+        "babel-runtime": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-export-extensions": {
+      "version": "6.22.0",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-export-extensions/download/babel-plugin-transform-export-extensions-6.22.0.tgz",
+      "integrity": "sha1-U3OLR+deghhYnuqUbLvTkQm75lM=",
+      "dev": true,
+      "requires": {
+        "babel-plugin-syntax-export-extensions": "6.13.0",
+        "babel-runtime": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-object-rest-spread": {
+      "version": "6.26.0",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-object-rest-spread/download/babel-plugin-transform-object-rest-spread-6.26.0.tgz",
+      "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=",
+      "dev": true,
+      "requires": {
+        "babel-plugin-syntax-object-rest-spread": "6.13.0",
+        "babel-runtime": "6.26.0"
+      }
+    },
+    "babel-plugin-transform-regenerator": {
+      "version": "6.26.0",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-regenerator/download/babel-plugin-transform-regenerator-6.26.0.tgz",
+      "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=",
+      "dev": true,
+      "requires": {
+        "regenerator-transform": "0.10.1"
+      }
+    },
+    "babel-plugin-transform-strict-mode": {
+      "version": "6.24.1",
+      "resolved": "http://registry.npm.taobao.org/babel-plugin-transform-strict-mode/download/babel-plugin-transform-strict-mode-6.24.1.tgz",
+      "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "6.26.0",
+        "babel-types": "6.26.0"
+      }
+    },
+    "babel-preset-env": {
+      "version": "1.7.0",
+      "resolved": "http://registry.npm.taobao.org/babel-preset-env/download/babel-preset-env-1.7.0.tgz",
+      "integrity": "sha1-3qefpOvriDzTXasH4mDBycBN93o=",
+      "dev": true,
+      "requires": {
+        "babel-plugin-check-es2015-constants": "6.22.0",
+        "babel-plugin-syntax-trailing-function-commas": "6.22.0",
+        "babel-plugin-transform-async-to-generator": "6.24.1",
+        "babel-plugin-transform-es2015-arrow-functions": "6.22.0",
+        "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0",
+        "babel-plugin-transform-es2015-block-scoping": "6.26.0",
+        "babel-plugin-transform-es2015-classes": "6.24.1",
+        "babel-plugin-transform-es2015-computed-properties": "6.24.1",
+        "babel-plugin-transform-es2015-destructuring": "6.23.0",
+        "babel-plugin-transform-es2015-duplicate-keys": "6.24.1",
+        "babel-plugin-transform-es2015-for-of": "6.23.0",
+        "babel-plugin-transform-es2015-function-name": "6.24.1",
+        "babel-plugin-transform-es2015-literals": "6.22.0",
+        "babel-plugin-transform-es2015-modules-amd": "6.24.1",
+        "babel-plugin-transform-es2015-modules-commonjs": "6.26.2",
+        "babel-plugin-transform-es2015-modules-systemjs": "6.24.1",
+        "babel-plugin-transform-es2015-modules-umd": "6.24.1",
+        "babel-plugin-transform-es2015-object-super": "6.24.1",
+        "babel-plugin-transform-es2015-parameters": "6.24.1",
+        "babel-plugin-transform-es2015-shorthand-properties": "6.24.1",
+        "babel-plugin-transform-es2015-spread": "6.22.0",
+        "babel-plugin-transform-es2015-sticky-regex": "6.24.1",
+        "babel-plugin-transform-es2015-template-literals": "6.22.0",
+        "babel-plugin-transform-es2015-typeof-symbol": "6.23.0",
+        "babel-plugin-transform-es2015-unicode-regex": "6.24.1",
+        "babel-plugin-transform-exponentiation-operator": "6.24.1",
+        "babel-plugin-transform-regenerator": "6.26.0",
+        "browserslist": "3.2.8",
+        "invariant": "2.2.4",
+        "semver": "5.5.1"
+      }
+    },
+    "babel-register": {
+      "version": "6.26.0",
+      "resolved": "http://registry.npm.taobao.org/babel-register/download/babel-register-6.26.0.tgz",
+      "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=",
+      "dev": true,
+      "requires": {
+        "babel-core": "6.26.3",
+        "babel-runtime": "6.26.0",
+        "core-js": "2.5.7",
+        "home-or-tmp": "2.0.0",
+        "lodash": "4.17.10",
+        "mkdirp": "0.5.1",
+        "source-map-support": "0.4.18"
+      }
+    },
+    "babel-runtime": {
+      "version": "6.26.0",
+      "resolved": "http://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.26.0.tgz",
+      "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+      "dev": true,
+      "requires": {
+        "core-js": "2.5.7",
+        "regenerator-runtime": "0.11.1"
+      },
+      "dependencies": {
+        "regenerator-runtime": {
+          "version": "0.11.1",
+          "resolved": "http://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz",
+          "integrity": "sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk=",
+          "dev": true
+        }
+      }
+    },
+    "babel-template": {
+      "version": "6.26.0",
+      "resolved": "http://registry.npm.taobao.org/babel-template/download/babel-template-6.26.0.tgz",
+      "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "6.26.0",
+        "babel-traverse": "6.26.0",
+        "babel-types": "6.26.0",
+        "babylon": "6.18.0",
+        "lodash": "4.17.10"
+      }
+    },
+    "babel-traverse": {
+      "version": "6.26.0",
+      "resolved": "http://registry.npm.taobao.org/babel-traverse/download/babel-traverse-6.26.0.tgz",
+      "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=",
+      "dev": true,
+      "requires": {
+        "babel-code-frame": "6.26.0",
+        "babel-messages": "6.23.0",
+        "babel-runtime": "6.26.0",
+        "babel-types": "6.26.0",
+        "babylon": "6.18.0",
+        "debug": "2.6.9",
+        "globals": "9.18.0",
+        "invariant": "2.2.4",
+        "lodash": "4.17.10"
+      }
+    },
+    "babel-types": {
+      "version": "6.26.0",
+      "resolved": "http://registry.npm.taobao.org/babel-types/download/babel-types-6.26.0.tgz",
+      "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "6.26.0",
+        "esutils": "2.0.2",
+        "lodash": "4.17.10",
+        "to-fast-properties": "1.0.3"
+      }
+    },
+    "babylon": {
+      "version": "6.18.0",
+      "resolved": "http://registry.npm.taobao.org/babylon/download/babylon-6.18.0.tgz",
+      "integrity": "sha1-ry87iPpvXB5MY00aD46sT1WzleM=",
+      "dev": true
+    },
+    "balanced-match": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz",
+      "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+      "dev": true
+    },
+    "base64-js": {
+      "version": "0.0.8",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/base64-js/-/base64-js-0.0.8.tgz",
+      "integrity": "sha1-EQHpVE9KdrG8OybUUsqW16NeeXg=",
+      "dev": true
+    },
+    "bcrypt-pbkdf": {
+      "version": "1.0.2",
+      "resolved": "http://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz",
+      "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "tweetnacl": "0.14.5"
+      }
+    },
+    "beeper": {
+      "version": "1.1.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/beeper/-/beeper-1.1.1.tgz",
+      "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=",
+      "dev": true
+    },
+    "bin-build": {
+      "version": "2.2.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/bin-build/-/bin-build-2.2.0.tgz",
+      "integrity": "sha1-EfjdYfcP/Por3KpbRvXo/t1CIcw=",
+      "dev": true,
+      "requires": {
+        "archive-type": "3.2.0",
+        "decompress": "3.0.0",
+        "download": "4.4.3",
+        "exec-series": "1.0.3",
+        "rimraf": "2.6.2",
+        "tempfile": "1.1.1",
+        "url-regex": "3.2.0"
+      },
+      "dependencies": {
+        "tempfile": {
+          "version": "1.1.1",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/tempfile/-/tempfile-1.1.1.tgz",
+          "integrity": "sha1-W8xOrsxKsscH2LwR2ZzMmiyyh/I=",
+          "dev": true,
+          "requires": {
+            "os-tmpdir": "1.0.2",
+            "uuid": "2.0.3"
+          }
+        },
+        "uuid": {
+          "version": "2.0.3",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/uuid/-/uuid-2.0.3.tgz",
+          "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=",
+          "dev": true
+        }
+      }
+    },
+    "bin-check": {
+      "version": "2.0.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/bin-check/-/bin-check-2.0.0.tgz",
+      "integrity": "sha1-hvjm9CU4k99g3DFpV/WvAqywWTA=",
+      "dev": true,
+      "requires": {
+        "executable": "1.1.0"
+      }
+    },
+    "bin-version": {
+      "version": "1.0.4",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/bin-version/-/bin-version-1.0.4.tgz",
+      "integrity": "sha1-nrSY7m/Xb3q5p8FgQ2+JV5Q1144=",
+      "dev": true,
+      "requires": {
+        "find-versions": "1.2.1"
+      }
+    },
+    "bin-version-check": {
+      "version": "2.1.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/bin-version-check/-/bin-version-check-2.1.0.tgz",
+      "integrity": "sha1-5OXfKQuQaffRETJAMe/BP90RpbA=",
+      "dev": true,
+      "requires": {
+        "bin-version": "1.0.4",
+        "minimist": "1.2.0",
+        "semver": "4.3.6",
+        "semver-truncate": "1.1.2"
+      },
+      "dependencies": {
+        "minimist": {
+          "version": "1.2.0",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/minimist/-/minimist-1.2.0.tgz",
+          "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+          "dev": true
+        },
+        "semver": {
+          "version": "4.3.6",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/semver/-/semver-4.3.6.tgz",
+          "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=",
+          "dev": true
+        }
+      }
+    },
+    "bin-wrapper": {
+      "version": "3.0.2",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/bin-wrapper/-/bin-wrapper-3.0.2.tgz",
+      "integrity": "sha1-Z9MwYmLksaXy+I7iNGT2plVneus=",
+      "dev": true,
+      "requires": {
+        "bin-check": "2.0.0",
+        "bin-version-check": "2.1.0",
+        "download": "4.4.3",
+        "each-async": "1.1.1",
+        "lazy-req": "1.1.0",
+        "os-filter-obj": "1.0.3"
+      }
+    },
+    "bl": {
+      "version": "1.2.2",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/bl/-/bl-1.2.2.tgz",
+      "integrity": "sha1-oWCRFxcQPAdBDO9j71Gzl8Alr5w=",
+      "dev": true,
+      "requires": {
+        "readable-stream": "2.3.6",
+        "safe-buffer": "5.1.2"
+      }
+    },
+    "block-stream": {
+      "version": "0.0.9",
+      "resolved": "http://registry.npm.taobao.org/block-stream/download/block-stream-0.0.9.tgz",
+      "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
+      "dev": true,
+      "requires": {
+        "inherits": "2.0.3"
+      }
+    },
+    "boom": {
+      "version": "2.10.1",
+      "resolved": "http://registry.npm.taobao.org/boom/download/boom-2.10.1.tgz",
+      "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
+      "dev": true,
+      "requires": {
+        "hoek": "2.16.3"
+      }
+    },
+    "brace-expansion": {
+      "version": "1.1.11",
+      "resolved": "http://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz",
+      "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=",
+      "dev": true,
+      "requires": {
+        "balanced-match": "1.0.0",
+        "concat-map": "0.0.1"
+      }
+    },
+    "braces": {
+      "version": "1.8.5",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/braces/-/braces-1.8.5.tgz",
+      "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
+      "dev": true,
+      "requires": {
+        "expand-range": "1.8.2",
+        "preserve": "0.2.0",
+        "repeat-element": "1.1.3"
+      }
+    },
+    "browserslist": {
+      "version": "3.2.8",
+      "resolved": "http://registry.npm.taobao.org/browserslist/download/browserslist-3.2.8.tgz",
+      "integrity": "sha1-sABTYdZHHw9ZUnl6dvyYXx+Xj8Y=",
+      "dev": true,
+      "requires": {
+        "caniuse-lite": "1.0.30000878",
+        "electron-to-chromium": "1.3.59"
+      }
+    },
+    "buffer": {
+      "version": "3.6.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/buffer/-/buffer-3.6.0.tgz",
+      "integrity": "sha1-pyyTb3e5a/UvX357RnGAYoVR3vs=",
+      "dev": true,
+      "requires": {
+        "base64-js": "0.0.8",
+        "ieee754": "1.1.12",
+        "isarray": "1.0.0"
+      }
+    },
+    "buffer-alloc": {
+      "version": "1.2.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/buffer-alloc/-/buffer-alloc-1.2.0.tgz",
+      "integrity": "sha1-iQ3ZDZI6hz4I4Q5f1RpX5bfM4Ow=",
+      "dev": true,
+      "requires": {
+        "buffer-alloc-unsafe": "1.1.0",
+        "buffer-fill": "1.0.0"
+      }
+    },
+    "buffer-alloc-unsafe": {
+      "version": "1.1.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz",
+      "integrity": "sha1-vX3CauKXLQ7aJTvgYdupkjScGfA=",
+      "dev": true
+    },
+    "buffer-crc32": {
+      "version": "0.2.13",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
+      "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=",
+      "dev": true
+    },
+    "buffer-fill": {
+      "version": "1.0.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/buffer-fill/-/buffer-fill-1.0.0.tgz",
+      "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=",
+      "dev": true
+    },
+    "buffer-from": {
+      "version": "1.1.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/buffer-from/-/buffer-from-1.1.1.tgz",
+      "integrity": "sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8=",
+      "dev": true
+    },
+    "buffer-to-vinyl": {
+      "version": "1.1.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/buffer-to-vinyl/-/buffer-to-vinyl-1.1.0.tgz",
+      "integrity": "sha1-APFfruOreh3aLN5tkSG//dB7ImI=",
+      "dev": true,
+      "requires": {
+        "file-type": "3.9.0",
+        "readable-stream": "2.3.6",
+        "uuid": "2.0.3",
+        "vinyl": "1.2.0"
+      },
+      "dependencies": {
+        "file-type": {
+          "version": "3.9.0",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/file-type/-/file-type-3.9.0.tgz",
+          "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=",
+          "dev": true
+        },
+        "uuid": {
+          "version": "2.0.3",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/uuid/-/uuid-2.0.3.tgz",
+          "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=",
+          "dev": true
+        }
+      }
+    },
+    "builtin-modules": {
+      "version": "1.1.1",
+      "resolved": "http://registry.npm.taobao.org/builtin-modules/download/builtin-modules-1.1.1.tgz",
+      "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
+      "dev": true
+    },
+    "camelcase": {
+      "version": "2.1.1",
+      "resolved": "http://registry.npm.taobao.org/camelcase/download/camelcase-2.1.1.tgz",
+      "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
+      "dev": true
+    },
+    "camelcase-keys": {
+      "version": "2.1.0",
+      "resolved": "http://registry.npm.taobao.org/camelcase-keys/download/camelcase-keys-2.1.0.tgz",
+      "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
+      "dev": true,
+      "requires": {
+        "camelcase": "2.1.1",
+        "map-obj": "1.0.1"
+      }
+    },
+    "caniuse-lite": {
+      "version": "1.0.30000878",
+      "resolved": "http://registry.npm.taobao.org/caniuse-lite/download/caniuse-lite-1.0.30000878.tgz",
+      "integrity": "sha1-xkTDlYjdQtNJjpUiNMNy5aQKQSM=",
+      "dev": true
+    },
+    "capture-stack-trace": {
+      "version": "1.0.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz",
+      "integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0=",
+      "dev": true
+    },
+    "caseless": {
+      "version": "0.12.0",
+      "resolved": "http://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz",
+      "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
+      "dev": true
+    },
+    "caw": {
+      "version": "1.2.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/caw/-/caw-1.2.0.tgz",
+      "integrity": "sha1-/7Im/n78VHKI3GLuPpcHPCEtEDQ=",
+      "dev": true,
+      "requires": {
+        "get-proxy": "1.1.0",
+        "is-obj": "1.0.1",
+        "object-assign": "3.0.0",
+        "tunnel-agent": "0.4.3"
+      },
+      "dependencies": {
+        "object-assign": {
+          "version": "3.0.0",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/object-assign/-/object-assign-3.0.0.tgz",
+          "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=",
+          "dev": true
+        },
+        "tunnel-agent": {
+          "version": "0.4.3",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/tunnel-agent/-/tunnel-agent-0.4.3.tgz",
+          "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=",
+          "dev": true
+        }
+      }
+    },
+    "center-align": {
+      "version": "0.1.3",
+      "resolved": "http://registry.npm.taobao.org/center-align/download/center-align-0.1.3.tgz",
+      "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
+      "dev": true,
+      "requires": {
+        "align-text": "0.1.4",
+        "lazy-cache": "1.0.4"
+      }
+    },
+    "chalk": {
+      "version": "1.1.3",
+      "resolved": "http://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"
+      }
+    },
+    "cliui": {
+      "version": "3.2.0",
+      "resolved": "http://registry.npm.taobao.org/cliui/download/cliui-3.2.0.tgz",
+      "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
+      "dev": true,
+      "requires": {
+        "string-width": "1.0.2",
+        "strip-ansi": "3.0.1",
+        "wrap-ansi": "2.1.0"
+      }
+    },
+    "clone": {
+      "version": "1.0.4",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/clone/-/clone-1.0.4.tgz",
+      "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
+      "dev": true
+    },
+    "clone-stats": {
+      "version": "0.0.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/clone-stats/-/clone-stats-0.0.1.tgz",
+      "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=",
+      "dev": true
+    },
+    "co": {
+      "version": "4.6.0",
+      "resolved": "http://registry.npm.taobao.org/co/download/co-4.6.0.tgz",
+      "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
+      "dev": true
+    },
+    "code-point-at": {
+      "version": "1.1.0",
+      "resolved": "http://registry.npm.taobao.org/code-point-at/download/code-point-at-1.1.0.tgz",
+      "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
+      "dev": true
+    },
+    "color-support": {
+      "version": "1.1.3",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/color-support/-/color-support-1.1.3.tgz",
+      "integrity": "sha1-k4NDeaHMmgxh+C9S8NBDIiUb1aI=",
+      "dev": true
+    },
+    "combined-stream": {
+      "version": "1.0.6",
+      "resolved": "http://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.6.tgz",
+      "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
+      "dev": true,
+      "requires": {
+        "delayed-stream": "1.0.0"
+      }
+    },
+    "commander": {
+      "version": "2.8.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/commander/-/commander-2.8.1.tgz",
+      "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=",
+      "dev": true,
+      "requires": {
+        "graceful-readlink": "1.0.1"
+      }
+    },
+    "concat-map": {
+      "version": "0.0.1",
+      "resolved": "http://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz",
+      "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+      "dev": true
+    },
+    "concat-stream": {
+      "version": "1.6.2",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/concat-stream/-/concat-stream-1.6.2.tgz",
+      "integrity": "sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ=",
+      "dev": true,
+      "requires": {
+        "buffer-from": "1.1.1",
+        "inherits": "2.0.3",
+        "readable-stream": "2.3.6",
+        "typedarray": "0.0.6"
+      }
+    },
+    "config-chain": {
+      "version": "1.1.11",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/config-chain/-/config-chain-1.1.11.tgz",
+      "integrity": "sha1-q6CXR9++TD5w52am5BWG4YWfxvI=",
+      "dev": true,
+      "requires": {
+        "ini": "1.3.5",
+        "proto-list": "1.2.4"
+      }
+    },
+    "console-control-strings": {
+      "version": "1.1.0",
+      "resolved": "http://registry.npm.taobao.org/console-control-strings/download/console-control-strings-1.1.0.tgz",
+      "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
+      "dev": true
+    },
+    "console-stream": {
+      "version": "0.1.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/console-stream/-/console-stream-0.1.1.tgz",
+      "integrity": "sha1-oJX+B7IEZZVfL6/Si11yvM2UnUQ=",
+      "dev": true
+    },
+    "content-disposition": {
+      "version": "0.5.2",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/content-disposition/-/content-disposition-0.5.2.tgz",
+      "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=",
+      "dev": true
+    },
+    "convert-source-map": {
+      "version": "1.5.1",
+      "resolved": "http://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.5.1.tgz",
+      "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=",
+      "dev": true
+    },
+    "core-js": {
+      "version": "2.5.7",
+      "resolved": "http://registry.npm.taobao.org/core-js/download/core-js-2.5.7.tgz",
+      "integrity": "sha1-+XJgj/DOrWi4QaFqky0LGDeRgU4=",
+      "dev": true
+    },
+    "core-util-is": {
+      "version": "1.0.2",
+      "resolved": "http://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz",
+      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
+      "dev": true
+    },
+    "create-error-class": {
+      "version": "3.0.2",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/create-error-class/-/create-error-class-3.0.2.tgz",
+      "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=",
+      "dev": true,
+      "requires": {
+        "capture-stack-trace": "1.0.0"
+      }
+    },
+    "cross-env": {
+      "version": "5.2.0",
+      "resolved": "http://registry.npm.taobao.org/cross-env/download/cross-env-5.2.0.tgz",
+      "integrity": "sha1-bs1MAV1Xc+YUA57lKQdmabnRJvI=",
+      "dev": true,
+      "requires": {
+        "cross-spawn": "6.0.5",
+        "is-windows": "1.0.2"
+      }
+    },
+    "cross-spawn": {
+      "version": "6.0.5",
+      "resolved": "http://registry.npm.taobao.org/cross-spawn/download/cross-spawn-6.0.5.tgz",
+      "integrity": "sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q=",
+      "dev": true,
+      "requires": {
+        "nice-try": "1.0.4",
+        "path-key": "2.0.1",
+        "semver": "5.5.1",
+        "shebang-command": "1.2.0",
+        "which": "1.3.1"
+      }
+    },
+    "cryptiles": {
+      "version": "2.0.5",
+      "resolved": "http://registry.npm.taobao.org/cryptiles/download/cryptiles-2.0.5.tgz",
+      "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "boom": "2.10.1"
+      }
+    },
+    "currently-unhandled": {
+      "version": "0.4.1",
+      "resolved": "http://registry.npm.taobao.org/currently-unhandled/download/currently-unhandled-0.4.1.tgz",
+      "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
+      "dev": true,
+      "requires": {
+        "array-find-index": "1.0.2"
+      }
+    },
+    "dashdash": {
+      "version": "1.14.1",
+      "resolved": "http://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz",
+      "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+      "dev": true,
+      "requires": {
+        "assert-plus": "1.0.0"
+      },
+      "dependencies": {
+        "assert-plus": {
+          "version": "1.0.0",
+          "resolved": "http://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz",
+          "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+          "dev": true
+        }
+      }
+    },
+    "dateformat": {
+      "version": "2.2.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/dateformat/-/dateformat-2.2.0.tgz",
+      "integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=",
+      "dev": true
+    },
+    "debug": {
+      "version": "2.6.9",
+      "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz",
+      "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
+      "dev": true,
+      "requires": {
+        "ms": "2.0.0"
+      }
+    },
+    "decamelize": {
+      "version": "1.2.0",
+      "resolved": "http://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz",
+      "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+      "dev": true
+    },
+    "decompress": {
+      "version": "3.0.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/decompress/-/decompress-3.0.0.tgz",
+      "integrity": "sha1-rx3VDQbjv8QyRh033hGzjA2ZG+0=",
+      "dev": true,
+      "requires": {
+        "buffer-to-vinyl": "1.1.0",
+        "concat-stream": "1.6.2",
+        "decompress-tar": "3.1.0",
+        "decompress-tarbz2": "3.1.0",
+        "decompress-targz": "3.1.0",
+        "decompress-unzip": "3.4.0",
+        "stream-combiner2": "1.1.1",
+        "vinyl-assign": "1.2.1",
+        "vinyl-fs": "2.4.4"
+      }
+    },
+    "decompress-response": {
+      "version": "3.3.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/decompress-response/-/decompress-response-3.3.0.tgz",
+      "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=",
+      "dev": true,
+      "requires": {
+        "mimic-response": "1.0.1"
+      }
+    },
+    "decompress-tar": {
+      "version": "3.1.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/decompress-tar/-/decompress-tar-3.1.0.tgz",
+      "integrity": "sha1-IXx4n5uURQ76rcXF5TeXj8MzxGY=",
+      "dev": true,
+      "requires": {
+        "is-tar": "1.0.0",
+        "object-assign": "2.1.1",
+        "strip-dirs": "1.1.1",
+        "tar-stream": "1.6.1",
+        "through2": "0.6.5",
+        "vinyl": "0.4.6"
+      },
+      "dependencies": {
+        "clone": {
+          "version": "0.2.0",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/clone/-/clone-0.2.0.tgz",
+          "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=",
+          "dev": true
+        },
+        "object-assign": {
+          "version": "2.1.1",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/object-assign/-/object-assign-2.1.1.tgz",
+          "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=",
+          "dev": true
+        },
+        "vinyl": {
+          "version": "0.4.6",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/vinyl/-/vinyl-0.4.6.tgz",
+          "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=",
+          "dev": true,
+          "requires": {
+            "clone": "0.2.0",
+            "clone-stats": "0.0.1"
+          }
+        }
+      }
+    },
+    "decompress-tarbz2": {
+      "version": "3.1.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/decompress-tarbz2/-/decompress-tarbz2-3.1.0.tgz",
+      "integrity": "sha1-iyOTVoE1X58YnYclag+L3ZbZZm0=",
+      "dev": true,
+      "requires": {
+        "is-bzip2": "1.0.0",
+        "object-assign": "2.1.1",
+        "seek-bzip": "1.0.5",
+        "strip-dirs": "1.1.1",
+        "tar-stream": "1.6.1",
+        "through2": "0.6.5",
+        "vinyl": "0.4.6"
+      },
+      "dependencies": {
+        "clone": {
+          "version": "0.2.0",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/clone/-/clone-0.2.0.tgz",
+          "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=",
+          "dev": true
+        },
+        "object-assign": {
+          "version": "2.1.1",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/object-assign/-/object-assign-2.1.1.tgz",
+          "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=",
+          "dev": true
+        },
+        "vinyl": {
+          "version": "0.4.6",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/vinyl/-/vinyl-0.4.6.tgz",
+          "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=",
+          "dev": true,
+          "requires": {
+            "clone": "0.2.0",
+            "clone-stats": "0.0.1"
+          }
+        }
+      }
+    },
+    "decompress-targz": {
+      "version": "3.1.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/decompress-targz/-/decompress-targz-3.1.0.tgz",
+      "integrity": "sha1-ssE9+YFmJomRtxXWRH9kLpaW9aA=",
+      "dev": true,
+      "requires": {
+        "is-gzip": "1.0.0",
+        "object-assign": "2.1.1",
+        "strip-dirs": "1.1.1",
+        "tar-stream": "1.6.1",
+        "through2": "0.6.5",
+        "vinyl": "0.4.6"
+      },
+      "dependencies": {
+        "clone": {
+          "version": "0.2.0",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/clone/-/clone-0.2.0.tgz",
+          "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=",
+          "dev": true
+        },
+        "object-assign": {
+          "version": "2.1.1",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/object-assign/-/object-assign-2.1.1.tgz",
+          "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=",
+          "dev": true
+        },
+        "vinyl": {
+          "version": "0.4.6",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/vinyl/-/vinyl-0.4.6.tgz",
+          "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=",
+          "dev": true,
+          "requires": {
+            "clone": "0.2.0",
+            "clone-stats": "0.0.1"
+          }
+        }
+      }
+    },
+    "decompress-unzip": {
+      "version": "3.4.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/decompress-unzip/-/decompress-unzip-3.4.0.tgz",
+      "integrity": "sha1-YUdbQVIGa74/7hL51inRX+ZHjus=",
+      "dev": true,
+      "requires": {
+        "is-zip": "1.0.0",
+        "read-all-stream": "3.1.0",
+        "stat-mode": "0.2.2",
+        "strip-dirs": "1.1.1",
+        "through2": "2.0.3",
+        "vinyl": "1.2.0",
+        "yauzl": "2.10.0"
+      },
+      "dependencies": {
+        "through2": {
+          "version": "2.0.3",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/through2/-/through2-2.0.3.tgz",
+          "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
+          "dev": true,
+          "requires": {
+            "readable-stream": "2.3.6",
+            "xtend": "4.0.1"
+          }
+        }
+      }
+    },
+    "deep-extend": {
+      "version": "0.6.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/deep-extend/-/deep-extend-0.6.0.tgz",
+      "integrity": "sha1-xPp8lUBKF6nD6Mp+FTcxK3NjMKw=",
+      "dev": true
+    },
+    "delayed-stream": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz",
+      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
+      "dev": true
+    },
+    "delegates": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/delegates/download/delegates-1.0.0.tgz",
+      "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
+      "dev": true
+    },
+    "detect-indent": {
+      "version": "4.0.0",
+      "resolved": "http://registry.npm.taobao.org/detect-indent/download/detect-indent-4.0.0.tgz",
+      "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
+      "dev": true,
+      "requires": {
+        "repeating": "2.0.1"
+      }
+    },
+    "download": {
+      "version": "4.4.3",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/download/-/download-4.4.3.tgz",
+      "integrity": "sha1-qlX9rTktldS2jowr4D4MKqIbqaw=",
+      "dev": true,
+      "requires": {
+        "caw": "1.2.0",
+        "concat-stream": "1.6.2",
+        "each-async": "1.1.1",
+        "filenamify": "1.2.1",
+        "got": "5.7.1",
+        "gulp-decompress": "1.2.0",
+        "gulp-rename": "1.4.0",
+        "is-url": "1.2.4",
+        "object-assign": "4.1.1",
+        "read-all-stream": "3.1.0",
+        "readable-stream": "2.3.6",
+        "stream-combiner2": "1.1.1",
+        "vinyl": "1.2.0",
+        "vinyl-fs": "2.4.4",
+        "ware": "1.3.0"
+      }
+    },
+    "duplexer2": {
+      "version": "0.1.4",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/duplexer2/-/duplexer2-0.1.4.tgz",
+      "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=",
+      "dev": true,
+      "requires": {
+        "readable-stream": "2.3.6"
+      }
+    },
+    "duplexer3": {
+      "version": "0.1.4",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/duplexer3/-/duplexer3-0.1.4.tgz",
+      "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=",
+      "dev": true
+    },
+    "duplexify": {
+      "version": "3.6.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/duplexify/-/duplexify-3.6.0.tgz",
+      "integrity": "sha1-WSkD9dgLONA3IgVBJk1poZj7NBA=",
+      "dev": true,
+      "requires": {
+        "end-of-stream": "1.4.1",
+        "inherits": "2.0.3",
+        "readable-stream": "2.3.6",
+        "stream-shift": "1.0.0"
+      }
+    },
+    "each-async": {
+      "version": "1.1.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/each-async/-/each-async-1.1.1.tgz",
+      "integrity": "sha1-3uUim98KtrogEqOV4bhpq/iBNHM=",
+      "dev": true,
+      "requires": {
+        "onetime": "1.1.0",
+        "set-immediate-shim": "1.0.1"
+      }
+    },
+    "ecc-jsbn": {
+      "version": "0.1.2",
+      "resolved": "http://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz",
+      "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "jsbn": "0.1.1",
+        "safer-buffer": "2.1.2"
+      }
+    },
+    "electron-to-chromium": {
+      "version": "1.3.59",
+      "resolved": "http://registry.npm.taobao.org/electron-to-chromium/download/electron-to-chromium-1.3.59.tgz",
+      "integrity": "sha1-Y3fbBNjTmR1ihscu1cP95vSq8RI=",
+      "dev": true
+    },
+    "end-of-stream": {
+      "version": "1.4.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/end-of-stream/-/end-of-stream-1.4.1.tgz",
+      "integrity": "sha1-7SljTRm6ukY7bOa4CjchPqtx7EM=",
+      "dev": true,
+      "requires": {
+        "once": "1.4.0"
+      }
+    },
+    "errno": {
+      "version": "0.1.7",
+      "resolved": "http://registry.npm.taobao.org/errno/download/errno-0.1.7.tgz",
+      "integrity": "sha1-RoTXF3mtOa8Xfj8AeZb3xnyFJhg=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "prr": "1.0.1"
+      }
+    },
+    "error-ex": {
+      "version": "1.3.2",
+      "resolved": "http://registry.npm.taobao.org/error-ex/download/error-ex-1.3.2.tgz",
+      "integrity": "sha1-tKxAZIEH/c3PriQvQovqihTU8b8=",
+      "dev": true,
+      "requires": {
+        "is-arrayish": "0.2.1"
+      }
+    },
+    "escape-string-regexp": {
+      "version": "1.0.5",
+      "resolved": "http://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz",
+      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+      "dev": true
+    },
+    "esutils": {
+      "version": "2.0.2",
+      "resolved": "http://registry.npm.taobao.org/esutils/download/esutils-2.0.2.tgz",
+      "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
+      "dev": true
+    },
+    "exec-buffer": {
+      "version": "3.2.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/exec-buffer/-/exec-buffer-3.2.0.tgz",
+      "integrity": "sha1-sWhtvZBMfPmC5lLB9aebHlVzCCs=",
+      "dev": true,
+      "requires": {
+        "execa": "0.7.0",
+        "p-finally": "1.0.0",
+        "pify": "3.0.0",
+        "rimraf": "2.6.2",
+        "tempfile": "2.0.0"
+      },
+      "dependencies": {
+        "pify": {
+          "version": "3.0.0",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/pify/-/pify-3.0.0.tgz",
+          "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+          "dev": true
+        }
+      }
+    },
+    "exec-series": {
+      "version": "1.0.3",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/exec-series/-/exec-series-1.0.3.tgz",
+      "integrity": "sha1-bSV6m+rEgqhyx3g7yGFYOfx3FDo=",
+      "dev": true,
+      "requires": {
+        "async-each-series": "1.1.0",
+        "object-assign": "4.1.1"
+      }
+    },
+    "execa": {
+      "version": "0.7.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/execa/-/execa-0.7.0.tgz",
+      "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
+      "dev": true,
+      "requires": {
+        "cross-spawn": "5.1.0",
+        "get-stream": "3.0.0",
+        "is-stream": "1.1.0",
+        "npm-run-path": "2.0.2",
+        "p-finally": "1.0.0",
+        "signal-exit": "3.0.2",
+        "strip-eof": "1.0.0"
+      },
+      "dependencies": {
+        "cross-spawn": {
+          "version": "5.1.0",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/cross-spawn/-/cross-spawn-5.1.0.tgz",
+          "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
+          "dev": true,
+          "requires": {
+            "lru-cache": "4.1.3",
+            "shebang-command": "1.2.0",
+            "which": "1.3.1"
+          }
+        }
+      }
+    },
+    "executable": {
+      "version": "1.1.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/executable/-/executable-1.1.0.tgz",
+      "integrity": "sha1-h3mA6REvM5EGbaNyZd562ENKtNk=",
+      "dev": true,
+      "requires": {
+        "meow": "3.7.0"
+      }
+    },
+    "expand-brackets": {
+      "version": "0.1.5",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/expand-brackets/-/expand-brackets-0.1.5.tgz",
+      "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
+      "dev": true,
+      "requires": {
+        "is-posix-bracket": "0.1.1"
+      }
+    },
+    "expand-range": {
+      "version": "1.8.2",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/expand-range/-/expand-range-1.8.2.tgz",
+      "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
+      "dev": true,
+      "requires": {
+        "fill-range": "2.2.4"
+      }
+    },
+    "ext-list": {
+      "version": "2.2.2",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/ext-list/-/ext-list-2.2.2.tgz",
+      "integrity": "sha1-C5jmTtgvWs8PKTG6v2khLvUt3Tc=",
+      "dev": true,
+      "requires": {
+        "mime-db": "1.35.0"
+      }
+    },
+    "ext-name": {
+      "version": "5.0.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/ext-name/-/ext-name-5.0.0.tgz",
+      "integrity": "sha1-cHgZgdGD7hXROZPIgiBFxQbI8KY=",
+      "dev": true,
+      "requires": {
+        "ext-list": "2.2.2",
+        "sort-keys-length": "1.0.1"
+      }
+    },
+    "extend": {
+      "version": "3.0.2",
+      "resolved": "http://registry.npm.taobao.org/extend/download/extend-3.0.2.tgz",
+      "integrity": "sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo=",
+      "dev": true
+    },
+    "extend-shallow": {
+      "version": "2.0.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/extend-shallow/-/extend-shallow-2.0.1.tgz",
+      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+      "dev": true,
+      "requires": {
+        "is-extendable": "0.1.1"
+      }
+    },
+    "extglob": {
+      "version": "0.3.2",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/extglob/-/extglob-0.3.2.tgz",
+      "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
+      "dev": true,
+      "requires": {
+        "is-extglob": "1.0.0"
+      },
+      "dependencies": {
+        "is-extglob": {
+          "version": "1.0.0",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/is-extglob/-/is-extglob-1.0.0.tgz",
+          "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
+          "dev": true
+        }
+      }
+    },
+    "extsprintf": {
+      "version": "1.3.0",
+      "resolved": "http://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz",
+      "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
+      "dev": true
+    },
+    "fancy-log": {
+      "version": "1.3.2",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/fancy-log/-/fancy-log-1.3.2.tgz",
+      "integrity": "sha1-9BEl49hPLn2JpD0G2VjI94vha+E=",
+      "dev": true,
+      "requires": {
+        "ansi-gray": "0.1.1",
+        "color-support": "1.1.3",
+        "time-stamp": "1.1.0"
+      }
+    },
+    "fast-deep-equal": {
+      "version": "1.1.0",
+      "resolved": "http://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-1.1.0.tgz",
+      "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=",
+      "dev": true
+    },
+    "fast-json-stable-stringify": {
+      "version": "2.0.0",
+      "resolved": "http://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.0.0.tgz",
+      "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
+      "dev": true
+    },
+    "fd-slicer": {
+      "version": "1.1.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/fd-slicer/-/fd-slicer-1.1.0.tgz",
+      "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=",
+      "dev": true,
+      "requires": {
+        "pend": "1.2.0"
+      }
+    },
+    "figures": {
+      "version": "1.7.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/figures/-/figures-1.7.0.tgz",
+      "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
+      "dev": true,
+      "requires": {
+        "escape-string-regexp": "1.0.5",
+        "object-assign": "4.1.1"
+      }
+    },
+    "file-type": {
+      "version": "4.4.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/file-type/-/file-type-4.4.0.tgz",
+      "integrity": "sha1-G2AOX8ofvcboDApwxxyNul95BsU=",
+      "dev": true
+    },
+    "filename-regex": {
+      "version": "2.0.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/filename-regex/-/filename-regex-2.0.1.tgz",
+      "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=",
+      "dev": true
+    },
+    "filename-reserved-regex": {
+      "version": "1.0.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz",
+      "integrity": "sha1-5hz4BfDeHJhFZ9A4bcXfUO5a9+Q=",
+      "dev": true
+    },
+    "filenamify": {
+      "version": "1.2.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/filenamify/-/filenamify-1.2.1.tgz",
+      "integrity": "sha1-qfL/0RxQO+0wABUCknI3jx8TZaU=",
+      "dev": true,
+      "requires": {
+        "filename-reserved-regex": "1.0.0",
+        "strip-outer": "1.0.1",
+        "trim-repeated": "1.0.0"
+      }
+    },
+    "fill-range": {
+      "version": "2.2.4",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/fill-range/-/fill-range-2.2.4.tgz",
+      "integrity": "sha1-6x53OrsFbc2N8r/favWbizqTZWU=",
+      "dev": true,
+      "requires": {
+        "is-number": "2.1.0",
+        "isobject": "2.1.0",
+        "randomatic": "3.1.0",
+        "repeat-element": "1.1.3",
+        "repeat-string": "1.6.1"
+      }
+    },
+    "find-up": {
+      "version": "1.1.2",
+      "resolved": "http://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"
+      }
+    },
+    "find-versions": {
+      "version": "1.2.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/find-versions/-/find-versions-1.2.1.tgz",
+      "integrity": "sha1-y96fEuOFdaCvG+G5osXV/Y8Ya2I=",
+      "dev": true,
+      "requires": {
+        "array-uniq": "1.0.3",
+        "get-stdin": "4.0.1",
+        "meow": "3.7.0",
+        "semver-regex": "1.0.0"
+      }
+    },
+    "first-chunk-stream": {
+      "version": "1.0.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz",
+      "integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=",
+      "dev": true
+    },
+    "for-in": {
+      "version": "1.0.2",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/for-in/-/for-in-1.0.2.tgz",
+      "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
+      "dev": true
+    },
+    "for-own": {
+      "version": "0.1.5",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/for-own/-/for-own-0.1.5.tgz",
+      "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
+      "dev": true,
+      "requires": {
+        "for-in": "1.0.2"
+      }
+    },
+    "forever-agent": {
+      "version": "0.6.1",
+      "resolved": "http://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz",
+      "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
+      "dev": true
+    },
+    "form-data": {
+      "version": "2.1.4",
+      "resolved": "http://registry.npm.taobao.org/form-data/download/form-data-2.1.4.tgz",
+      "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "asynckit": "0.4.0",
+        "combined-stream": "1.0.6",
+        "mime-types": "2.1.19"
+      }
+    },
+    "fs-constants": {
+      "version": "1.0.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/fs-constants/-/fs-constants-1.0.0.tgz",
+      "integrity": "sha1-a+Dem+mYzhavivwkSXue6bfM2a0=",
+      "dev": true
+    },
+    "fs.realpath": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz",
+      "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+      "dev": true
+    },
+    "fstream": {
+      "version": "1.0.11",
+      "resolved": "http://registry.npm.taobao.org/fstream/download/fstream-1.0.11.tgz",
+      "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=",
+      "dev": true,
+      "requires": {
+        "graceful-fs": "4.1.11",
+        "inherits": "2.0.3",
+        "mkdirp": "0.5.1",
+        "rimraf": "2.6.2"
+      }
+    },
+    "gauge": {
+      "version": "2.7.4",
+      "resolved": "http://registry.npm.taobao.org/gauge/download/gauge-2.7.4.tgz",
+      "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
+      "dev": true,
+      "requires": {
+        "aproba": "1.2.0",
+        "console-control-strings": "1.1.0",
+        "has-unicode": "2.0.1",
+        "object-assign": "4.1.1",
+        "signal-exit": "3.0.2",
+        "string-width": "1.0.2",
+        "strip-ansi": "3.0.1",
+        "wide-align": "1.1.3"
+      }
+    },
+    "gaze": {
+      "version": "1.1.3",
+      "resolved": "http://registry.npm.taobao.org/gaze/download/gaze-1.1.3.tgz",
+      "integrity": "sha1-xEFzPhO5J6yMD/C0w7Az8ogSkko=",
+      "dev": true,
+      "requires": {
+        "globule": "1.2.1"
+      }
+    },
+    "get-caller-file": {
+      "version": "1.0.3",
+      "resolved": "http://registry.npm.taobao.org/get-caller-file/download/get-caller-file-1.0.3.tgz",
+      "integrity": "sha1-+Xj6TJDR3+f/LWvtoqUV5xO9z0o=",
+      "dev": true
+    },
+    "get-proxy": {
+      "version": "1.1.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/get-proxy/-/get-proxy-1.1.0.tgz",
+      "integrity": "sha1-iUhUSRvFkbDxR9euVw9cZ4tyVus=",
+      "dev": true,
+      "requires": {
+        "rc": "1.2.8"
+      }
+    },
+    "get-stdin": {
+      "version": "4.0.1",
+      "resolved": "http://registry.npm.taobao.org/get-stdin/download/get-stdin-4.0.1.tgz",
+      "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
+      "dev": true
+    },
+    "get-stream": {
+      "version": "3.0.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/get-stream/-/get-stream-3.0.0.tgz",
+      "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
+      "dev": true
+    },
+    "getpass": {
+      "version": "0.1.7",
+      "resolved": "http://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz",
+      "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
+      "dev": true,
+      "requires": {
+        "assert-plus": "1.0.0"
+      },
+      "dependencies": {
+        "assert-plus": {
+          "version": "1.0.0",
+          "resolved": "http://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz",
+          "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+          "dev": true
+        }
+      }
+    },
+    "glob": {
+      "version": "7.1.3",
+      "resolved": "http://registry.npm.taobao.org/glob/download/glob-7.1.3.tgz",
+      "integrity": "sha1-OWCDLT8VdBCDQtr9OmezMsCWnfE=",
+      "dev": true,
+      "requires": {
+        "fs.realpath": "1.0.0",
+        "inflight": "1.0.6",
+        "inherits": "2.0.3",
+        "minimatch": "3.0.4",
+        "once": "1.4.0",
+        "path-is-absolute": "1.0.1"
+      }
+    },
+    "glob-base": {
+      "version": "0.3.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/glob-base/-/glob-base-0.3.0.tgz",
+      "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
+      "dev": true,
+      "requires": {
+        "glob-parent": "2.0.0",
+        "is-glob": "2.0.1"
+      },
+      "dependencies": {
+        "glob-parent": {
+          "version": "2.0.0",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/glob-parent/-/glob-parent-2.0.0.tgz",
+          "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
+          "dev": true,
+          "requires": {
+            "is-glob": "2.0.1"
+          }
+        },
+        "is-extglob": {
+          "version": "1.0.0",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/is-extglob/-/is-extglob-1.0.0.tgz",
+          "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
+          "dev": true
+        },
+        "is-glob": {
+          "version": "2.0.1",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/is-glob/-/is-glob-2.0.1.tgz",
+          "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
+          "dev": true,
+          "requires": {
+            "is-extglob": "1.0.0"
+          }
+        }
+      }
+    },
+    "glob-parent": {
+      "version": "3.1.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/glob-parent/-/glob-parent-3.1.0.tgz",
+      "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+      "dev": true,
+      "requires": {
+        "is-glob": "3.1.0",
+        "path-dirname": "1.0.2"
+      }
+    },
+    "glob-stream": {
+      "version": "5.3.5",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/glob-stream/-/glob-stream-5.3.5.tgz",
+      "integrity": "sha1-pVZlqajM3EGRWofHAeMtTgFvrSI=",
+      "dev": true,
+      "requires": {
+        "extend": "3.0.2",
+        "glob": "5.0.15",
+        "glob-parent": "3.1.0",
+        "micromatch": "2.3.11",
+        "ordered-read-streams": "0.3.0",
+        "through2": "0.6.5",
+        "to-absolute-glob": "0.1.1",
+        "unique-stream": "2.2.1"
+      },
+      "dependencies": {
+        "glob": {
+          "version": "5.0.15",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/glob/-/glob-5.0.15.tgz",
+          "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
+          "dev": true,
+          "requires": {
+            "inflight": "1.0.6",
+            "inherits": "2.0.3",
+            "minimatch": "3.0.4",
+            "once": "1.4.0",
+            "path-is-absolute": "1.0.1"
+          }
+        }
+      }
+    },
+    "globals": {
+      "version": "9.18.0",
+      "resolved": "http://registry.npm.taobao.org/globals/download/globals-9.18.0.tgz",
+      "integrity": "sha1-qjiWs+abSH8X4x7SFD1pqOMMLYo=",
+      "dev": true
+    },
+    "globby": {
+      "version": "6.1.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/globby/-/globby-6.1.0.tgz",
+      "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
+      "dev": true,
+      "requires": {
+        "array-union": "1.0.2",
+        "glob": "7.1.3",
+        "object-assign": "4.1.1",
+        "pify": "2.3.0",
+        "pinkie-promise": "2.0.1"
+      }
+    },
+    "globule": {
+      "version": "1.2.1",
+      "resolved": "http://registry.npm.taobao.org/globule/download/globule-1.2.1.tgz",
+      "integrity": "sha1-Xf+xsZHyLSB5epNptJ6rTpg5aW0=",
+      "dev": true,
+      "requires": {
+        "glob": "7.1.3",
+        "lodash": "4.17.10",
+        "minimatch": "3.0.4"
+      }
+    },
+    "glogg": {
+      "version": "1.0.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/glogg/-/glogg-1.0.1.tgz",
+      "integrity": "sha1-3PdY5EeJzD89MsHzVio2duajSBA=",
+      "dev": true,
+      "requires": {
+        "sparkles": "1.0.1"
+      }
+    },
+    "got": {
+      "version": "5.7.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/got/-/got-5.7.1.tgz",
+      "integrity": "sha1-X4FjWmHkplifGAVp6k44FoClHzU=",
+      "dev": true,
+      "requires": {
+        "create-error-class": "3.0.2",
+        "duplexer2": "0.1.4",
+        "is-redirect": "1.0.0",
+        "is-retry-allowed": "1.1.0",
+        "is-stream": "1.1.0",
+        "lowercase-keys": "1.0.1",
+        "node-status-codes": "1.0.0",
+        "object-assign": "4.1.1",
+        "parse-json": "2.2.0",
+        "pinkie-promise": "2.0.1",
+        "read-all-stream": "3.1.0",
+        "readable-stream": "2.3.6",
+        "timed-out": "3.1.3",
+        "unzip-response": "1.0.2",
+        "url-parse-lax": "1.0.0"
+      }
+    },
+    "graceful-fs": {
+      "version": "4.1.11",
+      "resolved": "http://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.1.11.tgz",
+      "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+      "dev": true
+    },
+    "graceful-readlink": {
+      "version": "1.0.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
+      "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=",
+      "dev": true
+    },
+    "gulp-decompress": {
+      "version": "1.2.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/gulp-decompress/-/gulp-decompress-1.2.0.tgz",
+      "integrity": "sha1-jutlpeAV+O2FMsr+KEVJYGJvDcc=",
+      "dev": true,
+      "requires": {
+        "archive-type": "3.2.0",
+        "decompress": "3.0.0",
+        "gulp-util": "3.0.8",
+        "readable-stream": "2.3.6"
+      }
+    },
+    "gulp-rename": {
+      "version": "1.4.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/gulp-rename/-/gulp-rename-1.4.0.tgz",
+      "integrity": "sha1-3hxxjnxAla6GH3KW708ySGSCQL0=",
+      "dev": true
+    },
+    "gulp-sourcemaps": {
+      "version": "1.6.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz",
+      "integrity": "sha1-uG/zSdgBzrVuHZ59x7vLS33uYAw=",
+      "dev": true,
+      "requires": {
+        "convert-source-map": "1.5.1",
+        "graceful-fs": "4.1.11",
+        "strip-bom": "2.0.0",
+        "through2": "2.0.3",
+        "vinyl": "1.2.0"
+      },
+      "dependencies": {
+        "through2": {
+          "version": "2.0.3",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/through2/-/through2-2.0.3.tgz",
+          "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
+          "dev": true,
+          "requires": {
+            "readable-stream": "2.3.6",
+            "xtend": "4.0.1"
+          }
+        }
+      }
+    },
+    "gulp-util": {
+      "version": "3.0.8",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/gulp-util/-/gulp-util-3.0.8.tgz",
+      "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=",
+      "dev": true,
+      "requires": {
+        "array-differ": "1.0.0",
+        "array-uniq": "1.0.3",
+        "beeper": "1.1.1",
+        "chalk": "1.1.3",
+        "dateformat": "2.2.0",
+        "fancy-log": "1.3.2",
+        "gulplog": "1.0.0",
+        "has-gulplog": "0.1.0",
+        "lodash._reescape": "3.0.0",
+        "lodash._reevaluate": "3.0.0",
+        "lodash._reinterpolate": "3.0.0",
+        "lodash.template": "3.6.2",
+        "minimist": "1.2.0",
+        "multipipe": "0.1.2",
+        "object-assign": "3.0.0",
+        "replace-ext": "0.0.1",
+        "through2": "2.0.3",
+        "vinyl": "0.5.3"
+      },
+      "dependencies": {
+        "minimist": {
+          "version": "1.2.0",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/minimist/-/minimist-1.2.0.tgz",
+          "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+          "dev": true
+        },
+        "object-assign": {
+          "version": "3.0.0",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/object-assign/-/object-assign-3.0.0.tgz",
+          "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=",
+          "dev": true
+        },
+        "replace-ext": {
+          "version": "0.0.1",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/replace-ext/-/replace-ext-0.0.1.tgz",
+          "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=",
+          "dev": true
+        },
+        "through2": {
+          "version": "2.0.3",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/through2/-/through2-2.0.3.tgz",
+          "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
+          "dev": true,
+          "requires": {
+            "readable-stream": "2.3.6",
+            "xtend": "4.0.1"
+          }
+        },
+        "vinyl": {
+          "version": "0.5.3",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/vinyl/-/vinyl-0.5.3.tgz",
+          "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=",
+          "dev": true,
+          "requires": {
+            "clone": "1.0.4",
+            "clone-stats": "0.0.1",
+            "replace-ext": "0.0.1"
+          }
+        }
+      }
+    },
+    "gulplog": {
+      "version": "1.0.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/gulplog/-/gulplog-1.0.0.tgz",
+      "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=",
+      "dev": true,
+      "requires": {
+        "glogg": "1.0.1"
+      }
+    },
+    "har-schema": {
+      "version": "1.0.5",
+      "resolved": "http://registry.npm.taobao.org/har-schema/download/har-schema-1.0.5.tgz",
+      "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=",
+      "dev": true,
+      "optional": true
+    },
+    "har-validator": {
+      "version": "4.2.1",
+      "resolved": "http://registry.npm.taobao.org/har-validator/download/har-validator-4.2.1.tgz",
+      "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "ajv": "4.11.8",
+        "har-schema": "1.0.5"
+      }
+    },
+    "has-ansi": {
+      "version": "2.0.0",
+      "resolved": "http://registry.npm.taobao.org/has-ansi/download/has-ansi-2.0.0.tgz",
+      "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+      "dev": true,
+      "requires": {
+        "ansi-regex": "2.1.1"
+      }
+    },
+    "has-gulplog": {
+      "version": "0.1.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/has-gulplog/-/has-gulplog-0.1.0.tgz",
+      "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=",
+      "dev": true,
+      "requires": {
+        "sparkles": "1.0.1"
+      }
+    },
+    "has-symbol-support-x": {
+      "version": "1.4.2",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz",
+      "integrity": "sha1-FAn5i8ACR9pF2mfO4KNvKC/yZFU=",
+      "dev": true
+    },
+    "has-to-string-tag-x": {
+      "version": "1.4.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz",
+      "integrity": "sha1-oEWrOD17SyASoAFIqwql8pAETU0=",
+      "dev": true,
+      "requires": {
+        "has-symbol-support-x": "1.4.2"
+      }
+    },
+    "has-unicode": {
+      "version": "2.0.1",
+      "resolved": "http://registry.npm.taobao.org/has-unicode/download/has-unicode-2.0.1.tgz",
+      "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
+      "dev": true
+    },
+    "hawk": {
+      "version": "3.1.3",
+      "resolved": "http://registry.npm.taobao.org/hawk/download/hawk-3.1.3.tgz",
+      "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "boom": "2.10.1",
+        "cryptiles": "2.0.5",
+        "hoek": "2.16.3",
+        "sntp": "1.0.9"
+      }
+    },
+    "hoek": {
+      "version": "2.16.3",
+      "resolved": "http://registry.npm.taobao.org/hoek/download/hoek-2.16.3.tgz",
+      "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=",
+      "dev": true
+    },
+    "home-or-tmp": {
+      "version": "2.0.0",
+      "resolved": "http://registry.npm.taobao.org/home-or-tmp/download/home-or-tmp-2.0.0.tgz",
+      "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=",
+      "dev": true,
+      "requires": {
+        "os-homedir": "1.0.2",
+        "os-tmpdir": "1.0.2"
+      }
+    },
+    "hosted-git-info": {
+      "version": "2.7.1",
+      "resolved": "http://registry.npm.taobao.org/hosted-git-info/download/hosted-git-info-2.7.1.tgz",
+      "integrity": "sha1-l/I2l3vW4SVAiTD/bePuxigewEc=",
+      "dev": true
+    },
+    "http-signature": {
+      "version": "1.1.1",
+      "resolved": "http://registry.npm.taobao.org/http-signature/download/http-signature-1.1.1.tgz",
+      "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "assert-plus": "0.2.0",
+        "jsprim": "1.4.1",
+        "sshpk": "1.14.2"
+      }
+    },
+    "ieee754": {
+      "version": "1.1.12",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/ieee754/-/ieee754-1.1.12.tgz",
+      "integrity": "sha1-UL8k5bnIu5ivSWTJQc2wkY2ntgs=",
+      "dev": true
+    },
+    "image-size": {
+      "version": "0.5.5",
+      "resolved": "http://registry.npm.taobao.org/image-size/download/image-size-0.5.5.tgz",
+      "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=",
+      "dev": true,
+      "optional": true
+    },
+    "imagemin": {
+      "version": "5.3.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/imagemin/-/imagemin-5.3.1.tgz",
+      "integrity": "sha1-8Zwu7h5xumxlWMUV+fyWaAGJptQ=",
+      "dev": true,
+      "requires": {
+        "file-type": "4.4.0",
+        "globby": "6.1.0",
+        "make-dir": "1.3.0",
+        "p-pipe": "1.2.0",
+        "pify": "2.3.0",
+        "replace-ext": "1.0.0"
+      }
+    },
+    "imagemin-mozjpeg": {
+      "version": "6.0.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/imagemin-mozjpeg/-/imagemin-mozjpeg-6.0.0.tgz",
+      "integrity": "sha1-caMqRXqhsmEXpo7u8tmxkMLlCR4=",
+      "dev": true,
+      "requires": {
+        "exec-buffer": "3.2.0",
+        "is-jpg": "1.0.1",
+        "mozjpeg": "4.1.1"
+      }
+    },
+    "imagemin-pngquant": {
+      "version": "5.1.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/imagemin-pngquant/-/imagemin-pngquant-5.1.0.tgz",
+      "integrity": "sha1-uetWPZ5qOHb2JIvgBhuhsO8mnAc=",
+      "dev": true,
+      "requires": {
+        "execa": "0.10.0",
+        "is-png": "1.1.0",
+        "is-stream": "1.1.0",
+        "pngquant-bin": "4.0.0"
+      },
+      "dependencies": {
+        "execa": {
+          "version": "0.10.0",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/execa/-/execa-0.10.0.tgz",
+          "integrity": "sha1-/0Vqj1P5D47MxxqW0Rvfx/CCy1A=",
+          "dev": true,
+          "requires": {
+            "cross-spawn": "6.0.5",
+            "get-stream": "3.0.0",
+            "is-stream": "1.1.0",
+            "npm-run-path": "2.0.2",
+            "p-finally": "1.0.0",
+            "signal-exit": "3.0.2",
+            "strip-eof": "1.0.0"
+          }
+        }
+      }
+    },
+    "in-publish": {
+      "version": "2.0.0",
+      "resolved": "http://registry.npm.taobao.org/in-publish/download/in-publish-2.0.0.tgz",
+      "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=",
+      "dev": true
+    },
+    "indent-string": {
+      "version": "2.1.0",
+      "resolved": "http://registry.npm.taobao.org/indent-string/download/indent-string-2.1.0.tgz",
+      "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
+      "dev": true,
+      "requires": {
+        "repeating": "2.0.1"
+      }
+    },
+    "inflight": {
+      "version": "1.0.6",
+      "resolved": "http://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz",
+      "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+      "dev": true,
+      "requires": {
+        "once": "1.4.0",
+        "wrappy": "1.0.2"
+      }
+    },
+    "inherits": {
+      "version": "2.0.3",
+      "resolved": "http://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz",
+      "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+      "dev": true
+    },
+    "ini": {
+      "version": "1.3.5",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/ini/-/ini-1.3.5.tgz",
+      "integrity": "sha1-7uJfVtscnsYIXgwid4CD9Zar+Sc=",
+      "dev": true
+    },
+    "invariant": {
+      "version": "2.2.4",
+      "resolved": "http://registry.npm.taobao.org/invariant/download/invariant-2.2.4.tgz",
+      "integrity": "sha1-YQ88ksk1nOHbYW5TgAjSP/NRWOY=",
+      "dev": true,
+      "requires": {
+        "loose-envify": "1.4.0"
+      }
+    },
+    "invert-kv": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/invert-kv/download/invert-kv-1.0.0.tgz",
+      "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
+      "dev": true
+    },
+    "ip-regex": {
+      "version": "1.0.3",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/ip-regex/-/ip-regex-1.0.3.tgz",
+      "integrity": "sha1-3FiQdvZZ9BnCIgOaMzFvHHOH7/0=",
+      "dev": true
+    },
+    "is-absolute": {
+      "version": "0.1.7",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/is-absolute/-/is-absolute-0.1.7.tgz",
+      "integrity": "sha1-hHSREZ/MtftDYhfMc39/qtUPYD8=",
+      "dev": true,
+      "requires": {
+        "is-relative": "0.1.3"
+      }
+    },
+    "is-arrayish": {
+      "version": "0.2.1",
+      "resolved": "http://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz",
+      "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+      "dev": true
+    },
+    "is-buffer": {
+      "version": "1.1.6",
+      "resolved": "http://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz",
+      "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=",
+      "dev": true
+    },
+    "is-builtin-module": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/is-builtin-module/download/is-builtin-module-1.0.0.tgz",
+      "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
+      "dev": true,
+      "requires": {
+        "builtin-modules": "1.1.1"
+      }
+    },
+    "is-bzip2": {
+      "version": "1.0.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/is-bzip2/-/is-bzip2-1.0.0.tgz",
+      "integrity": "sha1-XuWOqlounIDiFAe+3yOuWsCRs/w=",
+      "dev": true
+    },
+    "is-dotfile": {
+      "version": "1.0.3",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/is-dotfile/-/is-dotfile-1.0.3.tgz",
+      "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=",
+      "dev": true
+    },
+    "is-equal-shallow": {
+      "version": "0.1.3",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
+      "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
+      "dev": true,
+      "requires": {
+        "is-primitive": "2.0.0"
+      }
+    },
+    "is-extendable": {
+      "version": "0.1.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/is-extendable/-/is-extendable-0.1.1.tgz",
+      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
+      "dev": true
+    },
+    "is-extglob": {
+      "version": "2.1.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/is-extglob/-/is-extglob-2.1.1.tgz",
+      "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+      "dev": true
+    },
+    "is-finite": {
+      "version": "1.0.2",
+      "resolved": "http://registry.npm.taobao.org/is-finite/download/is-finite-1.0.2.tgz",
+      "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
+      "dev": true,
+      "requires": {
+        "number-is-nan": "1.0.1"
+      }
+    },
+    "is-fullwidth-code-point": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-1.0.0.tgz",
+      "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+      "dev": true,
+      "requires": {
+        "number-is-nan": "1.0.1"
+      }
+    },
+    "is-glob": {
+      "version": "3.1.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/is-glob/-/is-glob-3.1.0.tgz",
+      "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+      "dev": true,
+      "requires": {
+        "is-extglob": "2.1.1"
+      }
+    },
+    "is-gzip": {
+      "version": "1.0.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/is-gzip/-/is-gzip-1.0.0.tgz",
+      "integrity": "sha1-bKiwe5nHeZgCWQDlVc7Y7YCHmoM=",
+      "dev": true
+    },
+    "is-jpg": {
+      "version": "1.0.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/is-jpg/-/is-jpg-1.0.1.tgz",
+      "integrity": "sha1-KW1X/dmc4BBDSnKD40armhA16XU=",
+      "dev": true
+    },
+    "is-natural-number": {
+      "version": "2.1.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/is-natural-number/-/is-natural-number-2.1.1.tgz",
+      "integrity": "sha1-fUxXKDd+84bD4ZSpkRv1fG3DNec=",
+      "dev": true
+    },
+    "is-number": {
+      "version": "2.1.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/is-number/-/is-number-2.1.0.tgz",
+      "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
+      "dev": true,
+      "requires": {
+        "kind-of": "3.2.2"
+      }
+    },
+    "is-obj": {
+      "version": "1.0.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/is-obj/-/is-obj-1.0.1.tgz",
+      "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
+      "dev": true
+    },
+    "is-object": {
+      "version": "1.0.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/is-object/-/is-object-1.0.1.tgz",
+      "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=",
+      "dev": true
+    },
+    "is-plain-obj": {
+      "version": "1.1.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
+      "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
+      "dev": true
+    },
+    "is-png": {
+      "version": "1.1.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/is-png/-/is-png-1.1.0.tgz",
+      "integrity": "sha1-1XSxK/J1wDUEVVcLDltXqwYgd84=",
+      "dev": true
+    },
+    "is-posix-bracket": {
+      "version": "0.1.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
+      "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=",
+      "dev": true
+    },
+    "is-primitive": {
+      "version": "2.0.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/is-primitive/-/is-primitive-2.0.0.tgz",
+      "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=",
+      "dev": true
+    },
+    "is-redirect": {
+      "version": "1.0.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/is-redirect/-/is-redirect-1.0.0.tgz",
+      "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=",
+      "dev": true
+    },
+    "is-relative": {
+      "version": "0.1.3",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/is-relative/-/is-relative-0.1.3.tgz",
+      "integrity": "sha1-kF/uiuhvRbPsYUvDwVyGnfCHboI=",
+      "dev": true
+    },
+    "is-retry-allowed": {
+      "version": "1.1.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz",
+      "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=",
+      "dev": true
+    },
+    "is-stream": {
+      "version": "1.1.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/is-stream/-/is-stream-1.1.0.tgz",
+      "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
+      "dev": true
+    },
+    "is-tar": {
+      "version": "1.0.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/is-tar/-/is-tar-1.0.0.tgz",
+      "integrity": "sha1-L2suF5LB9bs2UZrKqdZcDSb+hT0=",
+      "dev": true
+    },
+    "is-typedarray": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz",
+      "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
+      "dev": true
+    },
+    "is-url": {
+      "version": "1.2.4",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/is-url/-/is-url-1.2.4.tgz",
+      "integrity": "sha1-BKTfRtKMTP89c9Af8Gq+sxihqlI=",
+      "dev": true
+    },
+    "is-utf8": {
+      "version": "0.2.1",
+      "resolved": "http://registry.npm.taobao.org/is-utf8/download/is-utf8-0.2.1.tgz",
+      "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
+      "dev": true
+    },
+    "is-valid-glob": {
+      "version": "0.3.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/is-valid-glob/-/is-valid-glob-0.3.0.tgz",
+      "integrity": "sha1-1LVcafUYhvm2XHDWwmItN+KfSP4=",
+      "dev": true
+    },
+    "is-windows": {
+      "version": "1.0.2",
+      "resolved": "http://registry.npm.taobao.org/is-windows/download/is-windows-1.0.2.tgz",
+      "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=",
+      "dev": true
+    },
+    "is-zip": {
+      "version": "1.0.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/is-zip/-/is-zip-1.0.0.tgz",
+      "integrity": "sha1-R7Co/004p2QxzP2ZqOFaTIa6IyU=",
+      "dev": true
+    },
+    "isarray": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz",
+      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+      "dev": true
+    },
+    "isexe": {
+      "version": "2.0.0",
+      "resolved": "http://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz",
+      "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
+      "dev": true
+    },
+    "isobject": {
+      "version": "2.1.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/isobject/-/isobject-2.1.0.tgz",
+      "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+      "dev": true,
+      "requires": {
+        "isarray": "1.0.0"
+      }
+    },
+    "isstream": {
+      "version": "0.1.2",
+      "resolved": "http://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz",
+      "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
+      "dev": true
+    },
+    "isurl": {
+      "version": "1.0.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/isurl/-/isurl-1.0.0.tgz",
+      "integrity": "sha1-sn9PSfPNqj6kSgpbfzRi5u3DnWc=",
+      "dev": true,
+      "requires": {
+        "has-to-string-tag-x": "1.4.1",
+        "is-object": "1.0.1"
+      }
+    },
+    "js-base64": {
+      "version": "2.4.8",
+      "resolved": "http://registry.npm.taobao.org/js-base64/download/js-base64-2.4.8.tgz",
+      "integrity": "sha1-V6mxMIiPlWg0qkDFsWW6WcdY8DM=",
+      "dev": true
+    },
+    "js-tokens": {
+      "version": "3.0.2",
+      "resolved": "http://registry.npm.taobao.org/js-tokens/download/js-tokens-3.0.2.tgz",
+      "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
+      "dev": true
+    },
+    "jsbn": {
+      "version": "0.1.1",
+      "resolved": "http://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz",
+      "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
+      "dev": true,
+      "optional": true
+    },
+    "jsesc": {
+      "version": "0.5.0",
+      "resolved": "http://registry.npm.taobao.org/jsesc/download/jsesc-0.5.0.tgz",
+      "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
+      "dev": true
+    },
+    "json-schema": {
+      "version": "0.2.3",
+      "resolved": "http://registry.npm.taobao.org/json-schema/download/json-schema-0.2.3.tgz",
+      "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
+      "dev": true
+    },
+    "json-schema-traverse": {
+      "version": "0.3.1",
+      "resolved": "http://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.3.1.tgz",
+      "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
+      "dev": true
+    },
+    "json-stable-stringify": {
+      "version": "1.0.1",
+      "resolved": "http://registry.npm.taobao.org/json-stable-stringify/download/json-stable-stringify-1.0.1.tgz",
+      "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
+      "dev": true,
+      "requires": {
+        "jsonify": "0.0.0"
+      }
+    },
+    "json-stringify-safe": {
+      "version": "5.0.1",
+      "resolved": "http://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz",
+      "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
+      "dev": true
+    },
+    "json5": {
+      "version": "0.5.1",
+      "resolved": "http://registry.npm.taobao.org/json5/download/json5-0.5.1.tgz",
+      "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
+      "dev": true
+    },
+    "jsonify": {
+      "version": "0.0.0",
+      "resolved": "http://registry.npm.taobao.org/jsonify/download/jsonify-0.0.0.tgz",
+      "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
+      "dev": true
+    },
+    "jsprim": {
+      "version": "1.4.1",
+      "resolved": "http://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz",
+      "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
+      "dev": true,
+      "requires": {
+        "assert-plus": "1.0.0",
+        "extsprintf": "1.3.0",
+        "json-schema": "0.2.3",
+        "verror": "1.10.0"
+      },
+      "dependencies": {
+        "assert-plus": {
+          "version": "1.0.0",
+          "resolved": "http://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz",
+          "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+          "dev": true
+        }
+      }
+    },
+    "kind-of": {
+      "version": "3.2.2",
+      "resolved": "http://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
+      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+      "dev": true,
+      "requires": {
+        "is-buffer": "1.1.6"
+      }
+    },
+    "lazy-cache": {
+      "version": "1.0.4",
+      "resolved": "http://registry.npm.taobao.org/lazy-cache/download/lazy-cache-1.0.4.tgz",
+      "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=",
+      "dev": true
+    },
+    "lazy-req": {
+      "version": "1.1.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/lazy-req/-/lazy-req-1.1.0.tgz",
+      "integrity": "sha1-va6+rTD42CQDnODOFJ1Nqge6H6w=",
+      "dev": true
+    },
+    "lazystream": {
+      "version": "1.0.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/lazystream/-/lazystream-1.0.0.tgz",
+      "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=",
+      "dev": true,
+      "requires": {
+        "readable-stream": "2.3.6"
+      }
+    },
+    "lcid": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/lcid/download/lcid-1.0.0.tgz",
+      "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
+      "dev": true,
+      "requires": {
+        "invert-kv": "1.0.0"
+      }
+    },
+    "less": {
+      "version": "2.7.3",
+      "resolved": "http://registry.npm.taobao.org/less/download/less-2.7.3.tgz",
+      "integrity": "sha1-zBJg9RyQCp7A2R+2mYE54CUHtjs=",
+      "dev": true,
+      "requires": {
+        "errno": "0.1.7",
+        "graceful-fs": "4.1.11",
+        "image-size": "0.5.5",
+        "mime": "1.6.0",
+        "mkdirp": "0.5.1",
+        "promise": "7.3.1",
+        "request": "2.81.0",
+        "source-map": "0.5.7"
+      }
+    },
+    "load-json-file": {
+      "version": "1.1.0",
+      "resolved": "http://registry.npm.taobao.org/load-json-file/download/load-json-file-1.1.0.tgz",
+      "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
+      "dev": true,
+      "requires": {
+        "graceful-fs": "4.1.11",
+        "parse-json": "2.2.0",
+        "pify": "2.3.0",
+        "pinkie-promise": "2.0.1",
+        "strip-bom": "2.0.0"
+      }
+    },
+    "lodash": {
+      "version": "4.17.10",
+      "resolved": "http://registry.npm.taobao.org/lodash/download/lodash-4.17.10.tgz",
+      "integrity": "sha1-G3eTz3JZ6jj7NmHU04syYK+K5Oc=",
+      "dev": true
+    },
+    "lodash._basecopy": {
+      "version": "3.0.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
+      "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=",
+      "dev": true
+    },
+    "lodash._basetostring": {
+      "version": "3.0.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz",
+      "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=",
+      "dev": true
+    },
+    "lodash._basevalues": {
+      "version": "3.0.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz",
+      "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=",
+      "dev": true
+    },
+    "lodash._getnative": {
+      "version": "3.9.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
+      "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=",
+      "dev": true
+    },
+    "lodash._isiterateecall": {
+      "version": "3.0.9",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
+      "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=",
+      "dev": true
+    },
+    "lodash._reescape": {
+      "version": "3.0.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/lodash._reescape/-/lodash._reescape-3.0.0.tgz",
+      "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=",
+      "dev": true
+    },
+    "lodash._reevaluate": {
+      "version": "3.0.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz",
+      "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=",
+      "dev": true
+    },
+    "lodash._reinterpolate": {
+      "version": "3.0.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
+      "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=",
+      "dev": true
+    },
+    "lodash._root": {
+      "version": "3.0.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/lodash._root/-/lodash._root-3.0.1.tgz",
+      "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=",
+      "dev": true
+    },
+    "lodash.assign": {
+      "version": "4.2.0",
+      "resolved": "http://registry.npm.taobao.org/lodash.assign/download/lodash.assign-4.2.0.tgz",
+      "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=",
+      "dev": true
+    },
+    "lodash.clonedeep": {
+      "version": "4.5.0",
+      "resolved": "http://registry.npm.taobao.org/lodash.clonedeep/download/lodash.clonedeep-4.5.0.tgz",
+      "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=",
+      "dev": true
+    },
+    "lodash.escape": {
+      "version": "3.2.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/lodash.escape/-/lodash.escape-3.2.0.tgz",
+      "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=",
+      "dev": true,
+      "requires": {
+        "lodash._root": "3.0.1"
+      }
+    },
+    "lodash.isarguments": {
+      "version": "3.1.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
+      "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=",
+      "dev": true
+    },
+    "lodash.isarray": {
+      "version": "3.0.4",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
+      "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=",
+      "dev": true
+    },
+    "lodash.isequal": {
+      "version": "4.5.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
+      "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=",
+      "dev": true
+    },
+    "lodash.keys": {
+      "version": "3.1.2",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/lodash.keys/-/lodash.keys-3.1.2.tgz",
+      "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=",
+      "dev": true,
+      "requires": {
+        "lodash._getnative": "3.9.1",
+        "lodash.isarguments": "3.1.0",
+        "lodash.isarray": "3.0.4"
+      }
+    },
+    "lodash.mergewith": {
+      "version": "4.6.1",
+      "resolved": "http://registry.npm.taobao.org/lodash.mergewith/download/lodash.mergewith-4.6.1.tgz",
+      "integrity": "sha1-Y5BX5ybDr72z59QnQcqo1uQzWSc=",
+      "dev": true
+    },
+    "lodash.restparam": {
+      "version": "3.6.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/lodash.restparam/-/lodash.restparam-3.6.1.tgz",
+      "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=",
+      "dev": true
+    },
+    "lodash.template": {
+      "version": "3.6.2",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/lodash.template/-/lodash.template-3.6.2.tgz",
+      "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=",
+      "dev": true,
+      "requires": {
+        "lodash._basecopy": "3.0.1",
+        "lodash._basetostring": "3.0.1",
+        "lodash._basevalues": "3.0.0",
+        "lodash._isiterateecall": "3.0.9",
+        "lodash._reinterpolate": "3.0.0",
+        "lodash.escape": "3.2.0",
+        "lodash.keys": "3.1.2",
+        "lodash.restparam": "3.6.1",
+        "lodash.templatesettings": "3.1.1"
+      }
+    },
+    "lodash.templatesettings": {
+      "version": "3.1.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz",
+      "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=",
+      "dev": true,
+      "requires": {
+        "lodash._reinterpolate": "3.0.0",
+        "lodash.escape": "3.2.0"
+      }
+    },
+    "logalot": {
+      "version": "2.1.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/logalot/-/logalot-2.1.0.tgz",
+      "integrity": "sha1-X46MkNME7fElMJUaVVSruMXj9VI=",
+      "dev": true,
+      "requires": {
+        "figures": "1.7.0",
+        "squeak": "1.3.0"
+      }
+    },
+    "longest": {
+      "version": "1.0.1",
+      "resolved": "http://registry.npm.taobao.org/longest/download/longest-1.0.1.tgz",
+      "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=",
+      "dev": true
+    },
+    "loose-envify": {
+      "version": "1.4.0",
+      "resolved": "http://registry.npm.taobao.org/loose-envify/download/loose-envify-1.4.0.tgz",
+      "integrity": "sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8=",
+      "dev": true,
+      "requires": {
+        "js-tokens": "3.0.2"
+      }
+    },
+    "loud-rejection": {
+      "version": "1.6.0",
+      "resolved": "http://registry.npm.taobao.org/loud-rejection/download/loud-rejection-1.6.0.tgz",
+      "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
+      "dev": true,
+      "requires": {
+        "currently-unhandled": "0.4.1",
+        "signal-exit": "3.0.2"
+      }
+    },
+    "lowercase-keys": {
+      "version": "1.0.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
+      "integrity": "sha1-b54wtHCE2XGnyCD/FabFFnt0wm8=",
+      "dev": true
+    },
+    "lpad-align": {
+      "version": "1.1.2",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/lpad-align/-/lpad-align-1.1.2.tgz",
+      "integrity": "sha1-IfYArBwwlcPG5JfuZyce4ISB/p4=",
+      "dev": true,
+      "requires": {
+        "get-stdin": "4.0.1",
+        "indent-string": "2.1.0",
+        "longest": "1.0.1",
+        "meow": "3.7.0"
+      }
+    },
+    "lru-cache": {
+      "version": "4.1.3",
+      "resolved": "http://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.3.tgz",
+      "integrity": "sha1-oRdc80lt/IQ2wVbDNLSVWZK85pw=",
+      "dev": true,
+      "requires": {
+        "pseudomap": "1.0.2",
+        "yallist": "2.1.2"
+      }
+    },
+    "make-dir": {
+      "version": "1.3.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/make-dir/-/make-dir-1.3.0.tgz",
+      "integrity": "sha1-ecEDO4BRW9bSTsmTPoYMp17ifww=",
+      "dev": true,
+      "requires": {
+        "pify": "3.0.0"
+      },
+      "dependencies": {
+        "pify": {
+          "version": "3.0.0",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/pify/-/pify-3.0.0.tgz",
+          "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+          "dev": true
+        }
+      }
+    },
+    "map-obj": {
+      "version": "1.0.1",
+      "resolved": "http://registry.npm.taobao.org/map-obj/download/map-obj-1.0.1.tgz",
+      "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
+      "dev": true
+    },
+    "math-random": {
+      "version": "1.0.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/math-random/-/math-random-1.0.1.tgz",
+      "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=",
+      "dev": true
+    },
+    "meow": {
+      "version": "3.7.0",
+      "resolved": "http://registry.npm.taobao.org/meow/download/meow-3.7.0.tgz",
+      "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
+      "dev": true,
+      "requires": {
+        "camelcase-keys": "2.1.0",
+        "decamelize": "1.2.0",
+        "loud-rejection": "1.6.0",
+        "map-obj": "1.0.1",
+        "minimist": "1.2.0",
+        "normalize-package-data": "2.4.0",
+        "object-assign": "4.1.1",
+        "read-pkg-up": "1.0.1",
+        "redent": "1.0.0",
+        "trim-newlines": "1.0.0"
+      },
+      "dependencies": {
+        "minimist": {
+          "version": "1.2.0",
+          "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz",
+          "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+          "dev": true
+        }
+      }
+    },
+    "merge-stream": {
+      "version": "1.0.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/merge-stream/-/merge-stream-1.0.1.tgz",
+      "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=",
+      "dev": true,
+      "requires": {
+        "readable-stream": "2.3.6"
+      }
+    },
+    "micromatch": {
+      "version": "2.3.11",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/micromatch/-/micromatch-2.3.11.tgz",
+      "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
+      "dev": true,
+      "requires": {
+        "arr-diff": "2.0.0",
+        "array-unique": "0.2.1",
+        "braces": "1.8.5",
+        "expand-brackets": "0.1.5",
+        "extglob": "0.3.2",
+        "filename-regex": "2.0.1",
+        "is-extglob": "1.0.0",
+        "is-glob": "2.0.1",
+        "kind-of": "3.2.2",
+        "normalize-path": "2.1.1",
+        "object.omit": "2.0.1",
+        "parse-glob": "3.0.4",
+        "regex-cache": "0.4.4"
+      },
+      "dependencies": {
+        "is-extglob": {
+          "version": "1.0.0",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/is-extglob/-/is-extglob-1.0.0.tgz",
+          "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
+          "dev": true
+        },
+        "is-glob": {
+          "version": "2.0.1",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/is-glob/-/is-glob-2.0.1.tgz",
+          "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
+          "dev": true,
+          "requires": {
+            "is-extglob": "1.0.0"
+          }
+        }
+      }
+    },
+    "mime": {
+      "version": "1.6.0",
+      "resolved": "http://registry.npm.taobao.org/mime/download/mime-1.6.0.tgz",
+      "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=",
+      "dev": true,
+      "optional": true
+    },
+    "mime-db": {
+      "version": "1.35.0",
+      "resolved": "http://registry.npm.taobao.org/mime-db/download/mime-db-1.35.0.tgz",
+      "integrity": "sha1-BWnWV0ZkkSg3CWY603mpm5DZq0c=",
+      "dev": true
+    },
+    "mime-types": {
+      "version": "2.1.19",
+      "resolved": "http://registry.npm.taobao.org/mime-types/download/mime-types-2.1.19.tgz",
+      "integrity": "sha1-ceRkU3p++BwV8tudl+kT/A/2BvA=",
+      "dev": true,
+      "requires": {
+        "mime-db": "1.35.0"
+      }
+    },
+    "mimic-response": {
+      "version": "1.0.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/mimic-response/-/mimic-response-1.0.1.tgz",
+      "integrity": "sha1-SSNTiHju9CBjy4o+OweYeBSHqxs=",
+      "dev": true
+    },
+    "minimatch": {
+      "version": "3.0.4",
+      "resolved": "http://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz",
+      "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=",
+      "dev": true,
+      "requires": {
+        "brace-expansion": "1.1.11"
+      }
+    },
+    "minimist": {
+      "version": "0.0.8",
+      "resolved": "http://registry.npm.taobao.org/minimist/download/minimist-0.0.8.tgz",
+      "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
+      "dev": true
+    },
+    "mkdirp": {
+      "version": "0.5.1",
+      "resolved": "http://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.1.tgz",
+      "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+      "dev": true,
+      "requires": {
+        "minimist": "0.0.8"
+      }
+    },
+    "mozjpeg": {
+      "version": "4.1.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/mozjpeg/-/mozjpeg-4.1.1.tgz",
+      "integrity": "sha1-hZAwsk9omlPbm0DwFg2JGVuI/VA=",
+      "dev": true,
+      "requires": {
+        "bin-build": "2.2.0",
+        "bin-wrapper": "3.0.2",
+        "logalot": "2.1.0"
+      }
+    },
+    "ms": {
+      "version": "2.0.0",
+      "resolved": "http://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz",
+      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+      "dev": true
+    },
+    "multipipe": {
+      "version": "0.1.2",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/multipipe/-/multipipe-0.1.2.tgz",
+      "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=",
+      "dev": true,
+      "requires": {
+        "duplexer2": "0.0.2"
+      },
+      "dependencies": {
+        "duplexer2": {
+          "version": "0.0.2",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/duplexer2/-/duplexer2-0.0.2.tgz",
+          "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=",
+          "dev": true,
+          "requires": {
+            "readable-stream": "1.1.14"
+          }
+        },
+        "isarray": {
+          "version": "0.0.1",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/isarray/-/isarray-0.0.1.tgz",
+          "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+          "dev": true
+        },
+        "readable-stream": {
+          "version": "1.1.14",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/readable-stream/-/readable-stream-1.1.14.tgz",
+          "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
+          "dev": true,
+          "requires": {
+            "core-util-is": "1.0.2",
+            "inherits": "2.0.3",
+            "isarray": "0.0.1",
+            "string_decoder": "0.10.31"
+          }
+        },
+        "string_decoder": {
+          "version": "0.10.31",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/string_decoder/-/string_decoder-0.10.31.tgz",
+          "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+          "dev": true
+        }
+      }
+    },
+    "nan": {
+      "version": "2.11.0",
+      "resolved": "http://registry.npm.taobao.org/nan/download/nan-2.11.0.tgz",
+      "integrity": "sha1-V042Dk2VSrFpZuwQLAwEn9lhoJk=",
+      "dev": true
+    },
+    "nice-try": {
+      "version": "1.0.4",
+      "resolved": "http://registry.npm.taobao.org/nice-try/download/nice-try-1.0.4.tgz",
+      "integrity": "sha1-2Tli9sUvLBVYwPvabVEoGfHv4cQ=",
+      "dev": true
+    },
+    "node-gyp": {
+      "version": "3.8.0",
+      "resolved": "http://registry.npm.taobao.org/node-gyp/download/node-gyp-3.8.0.tgz",
+      "integrity": "sha1-VAMEJhwzDoDQ1e3OJTpoyzlkIYw=",
+      "dev": true,
+      "requires": {
+        "fstream": "1.0.11",
+        "glob": "7.1.3",
+        "graceful-fs": "4.1.11",
+        "mkdirp": "0.5.1",
+        "nopt": "3.0.6",
+        "npmlog": "4.1.2",
+        "osenv": "0.1.5",
+        "request": "2.88.0",
+        "rimraf": "2.6.2",
+        "semver": "5.3.0",
+        "tar": "2.2.1",
+        "which": "1.3.1"
+      },
+      "dependencies": {
+        "ajv": {
+          "version": "5.5.2",
+          "resolved": "http://registry.npm.taobao.org/ajv/download/ajv-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.0.0",
+            "json-schema-traverse": "0.3.1"
+          }
+        },
+        "assert-plus": {
+          "version": "1.0.0",
+          "resolved": "http://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz",
+          "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+          "dev": true
+        },
+        "aws-sign2": {
+          "version": "0.7.0",
+          "resolved": "http://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.7.0.tgz",
+          "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
+          "dev": true
+        },
+        "form-data": {
+          "version": "2.3.2",
+          "resolved": "http://registry.npm.taobao.org/form-data/download/form-data-2.3.2.tgz",
+          "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=",
+          "dev": true,
+          "requires": {
+            "asynckit": "0.4.0",
+            "combined-stream": "1.0.6",
+            "mime-types": "2.1.19"
+          }
+        },
+        "har-schema": {
+          "version": "2.0.0",
+          "resolved": "http://registry.npm.taobao.org/har-schema/download/har-schema-2.0.0.tgz",
+          "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
+          "dev": true
+        },
+        "har-validator": {
+          "version": "5.1.0",
+          "resolved": "http://registry.npm.taobao.org/har-validator/download/har-validator-5.1.0.tgz",
+          "integrity": "sha1-RGV/VoiiLP1LckhugbOj+xF0LCk=",
+          "dev": true,
+          "requires": {
+            "ajv": "5.5.2",
+            "har-schema": "2.0.0"
+          }
+        },
+        "http-signature": {
+          "version": "1.2.0",
+          "resolved": "http://registry.npm.taobao.org/http-signature/download/http-signature-1.2.0.tgz",
+          "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
+          "dev": true,
+          "requires": {
+            "assert-plus": "1.0.0",
+            "jsprim": "1.4.1",
+            "sshpk": "1.14.2"
+          }
+        },
+        "oauth-sign": {
+          "version": "0.9.0",
+          "resolved": "http://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.9.0.tgz",
+          "integrity": "sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU=",
+          "dev": true
+        },
+        "performance-now": {
+          "version": "2.1.0",
+          "resolved": "http://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz",
+          "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
+          "dev": true
+        },
+        "qs": {
+          "version": "6.5.2",
+          "resolved": "http://registry.npm.taobao.org/qs/download/qs-6.5.2.tgz",
+          "integrity": "sha1-yzroBuh0BERYTvFUzo7pjUA/PjY=",
+          "dev": true
+        },
+        "request": {
+          "version": "2.88.0",
+          "resolved": "http://registry.npm.taobao.org/request/download/request-2.88.0.tgz",
+          "integrity": "sha1-nC/KT301tZLv5Xx/ClXoEFIST+8=",
+          "dev": true,
+          "requires": {
+            "aws-sign2": "0.7.0",
+            "aws4": "1.8.0",
+            "caseless": "0.12.0",
+            "combined-stream": "1.0.6",
+            "extend": "3.0.2",
+            "forever-agent": "0.6.1",
+            "form-data": "2.3.2",
+            "har-validator": "5.1.0",
+            "http-signature": "1.2.0",
+            "is-typedarray": "1.0.0",
+            "isstream": "0.1.2",
+            "json-stringify-safe": "5.0.1",
+            "mime-types": "2.1.19",
+            "oauth-sign": "0.9.0",
+            "performance-now": "2.1.0",
+            "qs": "6.5.2",
+            "safe-buffer": "5.1.2",
+            "tough-cookie": "2.4.3",
+            "tunnel-agent": "0.6.0",
+            "uuid": "3.3.2"
+          }
+        },
+        "semver": {
+          "version": "5.3.0",
+          "resolved": "http://registry.npm.taobao.org/semver/download/semver-5.3.0.tgz",
+          "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
+          "dev": true
+        },
+        "tough-cookie": {
+          "version": "2.4.3",
+          "resolved": "http://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.4.3.tgz",
+          "integrity": "sha1-U/Nto/R3g7CSWvoG/587FlKA94E=",
+          "dev": true,
+          "requires": {
+            "psl": "1.1.29",
+            "punycode": "1.4.1"
+          }
+        }
+      }
+    },
+    "node-sass": {
+      "version": "4.9.3",
+      "resolved": "http://registry.npm.taobao.org/node-sass/download/node-sass-4.9.3.tgz",
+      "integrity": "sha1-9AfPPWb3gwi7HjRrJPpChwMZYiQ=",
+      "dev": true,
+      "requires": {
+        "async-foreach": "0.1.3",
+        "chalk": "1.1.3",
+        "cross-spawn": "3.0.1",
+        "gaze": "1.1.3",
+        "get-stdin": "4.0.1",
+        "glob": "7.1.3",
+        "in-publish": "2.0.0",
+        "lodash.assign": "4.2.0",
+        "lodash.clonedeep": "4.5.0",
+        "lodash.mergewith": "4.6.1",
+        "meow": "3.7.0",
+        "mkdirp": "0.5.1",
+        "nan": "2.11.0",
+        "node-gyp": "3.8.0",
+        "npmlog": "4.1.2",
+        "request": "2.87.0",
+        "sass-graph": "2.2.4",
+        "stdout-stream": "1.4.0",
+        "true-case-path": "1.0.3"
+      },
+      "dependencies": {
+        "ajv": {
+          "version": "5.5.2",
+          "resolved": "http://registry.npm.taobao.org/ajv/download/ajv-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.0.0",
+            "json-schema-traverse": "0.3.1"
+          }
+        },
+        "assert-plus": {
+          "version": "1.0.0",
+          "resolved": "http://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz",
+          "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+          "dev": true
+        },
+        "aws-sign2": {
+          "version": "0.7.0",
+          "resolved": "http://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.7.0.tgz",
+          "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
+          "dev": true
+        },
+        "cross-spawn": {
+          "version": "3.0.1",
+          "resolved": "http://registry.npm.taobao.org/cross-spawn/download/cross-spawn-3.0.1.tgz",
+          "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=",
+          "dev": true,
+          "requires": {
+            "lru-cache": "4.1.3",
+            "which": "1.3.1"
+          }
+        },
+        "form-data": {
+          "version": "2.3.2",
+          "resolved": "http://registry.npm.taobao.org/form-data/download/form-data-2.3.2.tgz",
+          "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=",
+          "dev": true,
+          "requires": {
+            "asynckit": "0.4.0",
+            "combined-stream": "1.0.6",
+            "mime-types": "2.1.19"
+          }
+        },
+        "har-schema": {
+          "version": "2.0.0",
+          "resolved": "http://registry.npm.taobao.org/har-schema/download/har-schema-2.0.0.tgz",
+          "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
+          "dev": true
+        },
+        "har-validator": {
+          "version": "5.0.3",
+          "resolved": "http://registry.npm.taobao.org/har-validator/download/har-validator-5.0.3.tgz",
+          "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=",
+          "dev": true,
+          "requires": {
+            "ajv": "5.5.2",
+            "har-schema": "2.0.0"
+          }
+        },
+        "http-signature": {
+          "version": "1.2.0",
+          "resolved": "http://registry.npm.taobao.org/http-signature/download/http-signature-1.2.0.tgz",
+          "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
+          "dev": true,
+          "requires": {
+            "assert-plus": "1.0.0",
+            "jsprim": "1.4.1",
+            "sshpk": "1.14.2"
+          }
+        },
+        "performance-now": {
+          "version": "2.1.0",
+          "resolved": "http://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz",
+          "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
+          "dev": true
+        },
+        "qs": {
+          "version": "6.5.2",
+          "resolved": "http://registry.npm.taobao.org/qs/download/qs-6.5.2.tgz",
+          "integrity": "sha1-yzroBuh0BERYTvFUzo7pjUA/PjY=",
+          "dev": true
+        },
+        "request": {
+          "version": "2.87.0",
+          "resolved": "http://registry.npm.taobao.org/request/download/request-2.87.0.tgz",
+          "integrity": "sha1-MvACNc0I1IK00NaNuTqCnA7VdW4=",
+          "dev": true,
+          "requires": {
+            "aws-sign2": "0.7.0",
+            "aws4": "1.8.0",
+            "caseless": "0.12.0",
+            "combined-stream": "1.0.6",
+            "extend": "3.0.2",
+            "forever-agent": "0.6.1",
+            "form-data": "2.3.2",
+            "har-validator": "5.0.3",
+            "http-signature": "1.2.0",
+            "is-typedarray": "1.0.0",
+            "isstream": "0.1.2",
+            "json-stringify-safe": "5.0.1",
+            "mime-types": "2.1.19",
+            "oauth-sign": "0.8.2",
+            "performance-now": "2.1.0",
+            "qs": "6.5.2",
+            "safe-buffer": "5.1.2",
+            "tough-cookie": "2.3.4",
+            "tunnel-agent": "0.6.0",
+            "uuid": "3.3.2"
+          }
+        }
+      }
+    },
+    "node-status-codes": {
+      "version": "1.0.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/node-status-codes/-/node-status-codes-1.0.0.tgz",
+      "integrity": "sha1-WuVUHQJGRdMqWPzdyc7s6nrjrC8=",
+      "dev": true
+    },
+    "nopt": {
+      "version": "3.0.6",
+      "resolved": "http://registry.npm.taobao.org/nopt/download/nopt-3.0.6.tgz",
+      "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
+      "dev": true,
+      "requires": {
+        "abbrev": "1.1.1"
+      }
+    },
+    "normalize-package-data": {
+      "version": "2.4.0",
+      "resolved": "http://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.4.0.tgz",
+      "integrity": "sha1-EvlaMH1YNSB1oEkHuErIvpisAS8=",
+      "dev": true,
+      "requires": {
+        "hosted-git-info": "2.7.1",
+        "is-builtin-module": "1.0.0",
+        "semver": "5.5.1",
+        "validate-npm-package-license": "3.0.4"
+      }
+    },
+    "normalize-path": {
+      "version": "2.1.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/normalize-path/-/normalize-path-2.1.1.tgz",
+      "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+      "dev": true,
+      "requires": {
+        "remove-trailing-separator": "1.1.0"
+      }
+    },
+    "npm-conf": {
+      "version": "1.1.3",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/npm-conf/-/npm-conf-1.1.3.tgz",
+      "integrity": "sha1-JWzEe9DiGMJZxOlVC/QTvCGSr/k=",
+      "dev": true,
+      "requires": {
+        "config-chain": "1.1.11",
+        "pify": "3.0.0"
+      },
+      "dependencies": {
+        "pify": {
+          "version": "3.0.0",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/pify/-/pify-3.0.0.tgz",
+          "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+          "dev": true
+        }
+      }
+    },
+    "npm-run-path": {
+      "version": "2.0.2",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/npm-run-path/-/npm-run-path-2.0.2.tgz",
+      "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
+      "dev": true,
+      "requires": {
+        "path-key": "2.0.1"
+      }
+    },
+    "npmlog": {
+      "version": "4.1.2",
+      "resolved": "http://registry.npm.taobao.org/npmlog/download/npmlog-4.1.2.tgz",
+      "integrity": "sha1-CKfyqL9zRgR3mp76StXMcXq7lUs=",
+      "dev": true,
+      "requires": {
+        "are-we-there-yet": "1.1.5",
+        "console-control-strings": "1.1.0",
+        "gauge": "2.7.4",
+        "set-blocking": "2.0.0"
+      }
+    },
+    "number-is-nan": {
+      "version": "1.0.1",
+      "resolved": "http://registry.npm.taobao.org/number-is-nan/download/number-is-nan-1.0.1.tgz",
+      "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
+      "dev": true
+    },
+    "oauth-sign": {
+      "version": "0.8.2",
+      "resolved": "http://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.8.2.tgz",
+      "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=",
+      "dev": true
+    },
+    "object-assign": {
+      "version": "4.1.1",
+      "resolved": "http://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz",
+      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+      "dev": true
+    },
+    "object.omit": {
+      "version": "2.0.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/object.omit/-/object.omit-2.0.1.tgz",
+      "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
+      "dev": true,
+      "requires": {
+        "for-own": "0.1.5",
+        "is-extendable": "0.1.1"
+      }
+    },
+    "once": {
+      "version": "1.4.0",
+      "resolved": "http://registry.npm.taobao.org/once/download/once-1.4.0.tgz",
+      "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+      "dev": true,
+      "requires": {
+        "wrappy": "1.0.2"
+      }
+    },
+    "onetime": {
+      "version": "1.1.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/onetime/-/onetime-1.1.0.tgz",
+      "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=",
+      "dev": true
+    },
+    "ordered-read-streams": {
+      "version": "0.3.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz",
+      "integrity": "sha1-cTfmmzKYuzQiR6G77jiByA4v14s=",
+      "dev": true,
+      "requires": {
+        "is-stream": "1.1.0",
+        "readable-stream": "2.3.6"
+      }
+    },
+    "os-filter-obj": {
+      "version": "1.0.3",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/os-filter-obj/-/os-filter-obj-1.0.3.tgz",
+      "integrity": "sha1-WRUzDZDs7VV9LZOKMcbdIU2cY60=",
+      "dev": true
+    },
+    "os-homedir": {
+      "version": "1.0.2",
+      "resolved": "http://registry.npm.taobao.org/os-homedir/download/os-homedir-1.0.2.tgz",
+      "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
+      "dev": true
+    },
+    "os-locale": {
+      "version": "1.4.0",
+      "resolved": "http://registry.npm.taobao.org/os-locale/download/os-locale-1.4.0.tgz",
+      "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
+      "dev": true,
+      "requires": {
+        "lcid": "1.0.0"
+      }
+    },
+    "os-tmpdir": {
+      "version": "1.0.2",
+      "resolved": "http://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz",
+      "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
+      "dev": true
+    },
+    "osenv": {
+      "version": "0.1.5",
+      "resolved": "http://registry.npm.taobao.org/osenv/download/osenv-0.1.5.tgz",
+      "integrity": "sha1-hc36+uso6Gd/QW4odZK18/SepBA=",
+      "dev": true,
+      "requires": {
+        "os-homedir": "1.0.2",
+        "os-tmpdir": "1.0.2"
+      }
+    },
+    "p-cancelable": {
+      "version": "0.3.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/p-cancelable/-/p-cancelable-0.3.0.tgz",
+      "integrity": "sha1-ueEjgAvOu3rBOkeb4ZW1B7mNMPo=",
+      "dev": true
+    },
+    "p-event": {
+      "version": "1.3.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/p-event/-/p-event-1.3.0.tgz",
+      "integrity": "sha1-jmtPT2XHK8W2/ii3XtqHT5akoIU=",
+      "dev": true,
+      "requires": {
+        "p-timeout": "1.2.1"
+      }
+    },
+    "p-finally": {
+      "version": "1.0.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/p-finally/-/p-finally-1.0.0.tgz",
+      "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
+      "dev": true
+    },
+    "p-map-series": {
+      "version": "1.0.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/p-map-series/-/p-map-series-1.0.0.tgz",
+      "integrity": "sha1-v5j+V1cFZYqeE1G++4WuTB8Hvco=",
+      "dev": true,
+      "requires": {
+        "p-reduce": "1.0.0"
+      }
+    },
+    "p-pipe": {
+      "version": "1.2.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/p-pipe/-/p-pipe-1.2.0.tgz",
+      "integrity": "sha1-SxoROZoRUgpneQ7loMHViB1r7+k=",
+      "dev": true
+    },
+    "p-reduce": {
+      "version": "1.0.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/p-reduce/-/p-reduce-1.0.0.tgz",
+      "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=",
+      "dev": true
+    },
+    "p-timeout": {
+      "version": "1.2.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/p-timeout/-/p-timeout-1.2.1.tgz",
+      "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=",
+      "dev": true,
+      "requires": {
+        "p-finally": "1.0.0"
+      }
+    },
+    "parse-glob": {
+      "version": "3.0.4",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/parse-glob/-/parse-glob-3.0.4.tgz",
+      "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
+      "dev": true,
+      "requires": {
+        "glob-base": "0.3.0",
+        "is-dotfile": "1.0.3",
+        "is-extglob": "1.0.0",
+        "is-glob": "2.0.1"
+      },
+      "dependencies": {
+        "is-extglob": {
+          "version": "1.0.0",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/is-extglob/-/is-extglob-1.0.0.tgz",
+          "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
+          "dev": true
+        },
+        "is-glob": {
+          "version": "2.0.1",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/is-glob/-/is-glob-2.0.1.tgz",
+          "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
+          "dev": true,
+          "requires": {
+            "is-extglob": "1.0.0"
+          }
+        }
+      }
+    },
+    "parse-json": {
+      "version": "2.2.0",
+      "resolved": "http://registry.npm.taobao.org/parse-json/download/parse-json-2.2.0.tgz",
+      "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+      "dev": true,
+      "requires": {
+        "error-ex": "1.3.2"
+      }
+    },
+    "path-dirname": {
+      "version": "1.0.2",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/path-dirname/-/path-dirname-1.0.2.tgz",
+      "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
+      "dev": true
+    },
+    "path-exists": {
+      "version": "2.1.0",
+      "resolved": "http://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"
+      }
+    },
+    "path-is-absolute": {
+      "version": "1.0.1",
+      "resolved": "http://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz",
+      "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+      "dev": true
+    },
+    "path-key": {
+      "version": "2.0.1",
+      "resolved": "http://registry.npm.taobao.org/path-key/download/path-key-2.0.1.tgz",
+      "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
+      "dev": true
+    },
+    "path-type": {
+      "version": "1.1.0",
+      "resolved": "http://registry.npm.taobao.org/path-type/download/path-type-1.1.0.tgz",
+      "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
+      "dev": true,
+      "requires": {
+        "graceful-fs": "4.1.11",
+        "pify": "2.3.0",
+        "pinkie-promise": "2.0.1"
+      }
+    },
+    "pend": {
+      "version": "1.2.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/pend/-/pend-1.2.0.tgz",
+      "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=",
+      "dev": true
+    },
+    "performance-now": {
+      "version": "0.2.0",
+      "resolved": "http://registry.npm.taobao.org/performance-now/download/performance-now-0.2.0.tgz",
+      "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=",
+      "dev": true,
+      "optional": true
+    },
+    "pify": {
+      "version": "2.3.0",
+      "resolved": "http://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz",
+      "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+      "dev": true
+    },
+    "pinkie": {
+      "version": "2.0.4",
+      "resolved": "http://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": "http://registry.npm.taobao.org/pinkie-promise/download/pinkie-promise-2.0.1.tgz",
+      "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+      "dev": true,
+      "requires": {
+        "pinkie": "2.0.4"
+      }
+    },
+    "pngquant-bin": {
+      "version": "4.0.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/pngquant-bin/-/pngquant-bin-4.0.0.tgz",
+      "integrity": "sha1-RorfcDb1D64JycJk72K20QwC9cI=",
+      "dev": true,
+      "requires": {
+        "bin-build": "3.0.0",
+        "bin-wrapper": "3.0.2",
+        "execa": "0.10.0",
+        "logalot": "2.1.0"
+      },
+      "dependencies": {
+        "bin-build": {
+          "version": "3.0.0",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/bin-build/-/bin-build-3.0.0.tgz",
+          "integrity": "sha1-xXgKJaip+WbYJEIX5sH1CCoUOGE=",
+          "dev": true,
+          "requires": {
+            "decompress": "4.2.0",
+            "download": "6.2.5",
+            "execa": "0.7.0",
+            "p-map-series": "1.0.0",
+            "tempfile": "2.0.0"
+          },
+          "dependencies": {
+            "execa": {
+              "version": "0.7.0",
+              "resolved": "http://nexus.sysware.com.cn/repository/npm-public/execa/-/execa-0.7.0.tgz",
+              "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
+              "dev": true,
+              "requires": {
+                "cross-spawn": "5.1.0",
+                "get-stream": "3.0.0",
+                "is-stream": "1.1.0",
+                "npm-run-path": "2.0.2",
+                "p-finally": "1.0.0",
+                "signal-exit": "3.0.2",
+                "strip-eof": "1.0.0"
+              }
+            },
+            "get-stream": {
+              "version": "3.0.0",
+              "resolved": "http://nexus.sysware.com.cn/repository/npm-public/get-stream/-/get-stream-3.0.0.tgz",
+              "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
+              "dev": true
+            }
+          }
+        },
+        "caw": {
+          "version": "2.0.1",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/caw/-/caw-2.0.1.tgz",
+          "integrity": "sha1-bDygcfwZRyCIPC3F2psHS/x+npU=",
+          "dev": true,
+          "requires": {
+            "get-proxy": "2.1.0",
+            "isurl": "1.0.0",
+            "tunnel-agent": "0.6.0",
+            "url-to-options": "1.0.1"
+          }
+        },
+        "cross-spawn": {
+          "version": "5.1.0",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/cross-spawn/-/cross-spawn-5.1.0.tgz",
+          "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
+          "dev": true,
+          "requires": {
+            "lru-cache": "4.1.3",
+            "shebang-command": "1.2.0",
+            "which": "1.3.1"
+          }
+        },
+        "decompress": {
+          "version": "4.2.0",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/decompress/-/decompress-4.2.0.tgz",
+          "integrity": "sha1-eu3YVCflqS2s/lVnSnxQXpbQH50=",
+          "dev": true,
+          "requires": {
+            "decompress-tar": "4.1.1",
+            "decompress-tarbz2": "4.1.1",
+            "decompress-targz": "4.1.1",
+            "decompress-unzip": "4.0.1",
+            "graceful-fs": "4.1.11",
+            "make-dir": "1.3.0",
+            "pify": "2.3.0",
+            "strip-dirs": "2.1.0"
+          }
+        },
+        "decompress-tar": {
+          "version": "4.1.1",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/decompress-tar/-/decompress-tar-4.1.1.tgz",
+          "integrity": "sha1-cYy9P8sWIJcW5womuE57pFkuWvE=",
+          "dev": true,
+          "requires": {
+            "file-type": "5.2.0",
+            "is-stream": "1.1.0",
+            "tar-stream": "1.6.1"
+          }
+        },
+        "decompress-tarbz2": {
+          "version": "4.1.1",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz",
+          "integrity": "sha1-MIKluIDqQEOBY0nzeLVsUWvho5s=",
+          "dev": true,
+          "requires": {
+            "decompress-tar": "4.1.1",
+            "file-type": "6.2.0",
+            "is-stream": "1.1.0",
+            "seek-bzip": "1.0.5",
+            "unbzip2-stream": "1.2.5"
+          },
+          "dependencies": {
+            "file-type": {
+              "version": "6.2.0",
+              "resolved": "http://nexus.sysware.com.cn/repository/npm-public/file-type/-/file-type-6.2.0.tgz",
+              "integrity": "sha1-5QzXXTVv/tTjBtxPW89Sp5kDqRk=",
+              "dev": true
+            }
+          }
+        },
+        "decompress-targz": {
+          "version": "4.1.1",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/decompress-targz/-/decompress-targz-4.1.1.tgz",
+          "integrity": "sha1-wJvDXE0R894J8tLaU+neI+fOHu4=",
+          "dev": true,
+          "requires": {
+            "decompress-tar": "4.1.1",
+            "file-type": "5.2.0",
+            "is-stream": "1.1.0"
+          }
+        },
+        "decompress-unzip": {
+          "version": "4.0.1",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/decompress-unzip/-/decompress-unzip-4.0.1.tgz",
+          "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=",
+          "dev": true,
+          "requires": {
+            "file-type": "3.9.0",
+            "get-stream": "2.3.1",
+            "pify": "2.3.0",
+            "yauzl": "2.10.0"
+          },
+          "dependencies": {
+            "file-type": {
+              "version": "3.9.0",
+              "resolved": "http://nexus.sysware.com.cn/repository/npm-public/file-type/-/file-type-3.9.0.tgz",
+              "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=",
+              "dev": true
+            }
+          }
+        },
+        "download": {
+          "version": "6.2.5",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/download/-/download-6.2.5.tgz",
+          "integrity": "sha1-rNalQuTNC7Qspwz8mMnkOwcDlxQ=",
+          "dev": true,
+          "requires": {
+            "caw": "2.0.1",
+            "content-disposition": "0.5.2",
+            "decompress": "4.2.0",
+            "ext-name": "5.0.0",
+            "file-type": "5.2.0",
+            "filenamify": "2.1.0",
+            "get-stream": "3.0.0",
+            "got": "7.1.0",
+            "make-dir": "1.3.0",
+            "p-event": "1.3.0",
+            "pify": "3.0.0"
+          },
+          "dependencies": {
+            "get-stream": {
+              "version": "3.0.0",
+              "resolved": "http://nexus.sysware.com.cn/repository/npm-public/get-stream/-/get-stream-3.0.0.tgz",
+              "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
+              "dev": true
+            },
+            "pify": {
+              "version": "3.0.0",
+              "resolved": "http://nexus.sysware.com.cn/repository/npm-public/pify/-/pify-3.0.0.tgz",
+              "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+              "dev": true
+            }
+          }
+        },
+        "execa": {
+          "version": "0.10.0",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/execa/-/execa-0.10.0.tgz",
+          "integrity": "sha1-/0Vqj1P5D47MxxqW0Rvfx/CCy1A=",
+          "dev": true,
+          "requires": {
+            "cross-spawn": "6.0.5",
+            "get-stream": "3.0.0",
+            "is-stream": "1.1.0",
+            "npm-run-path": "2.0.2",
+            "p-finally": "1.0.0",
+            "signal-exit": "3.0.2",
+            "strip-eof": "1.0.0"
+          },
+          "dependencies": {
+            "cross-spawn": {
+              "version": "6.0.5",
+              "resolved": "http://nexus.sysware.com.cn/repository/npm-public/cross-spawn/-/cross-spawn-6.0.5.tgz",
+              "integrity": "sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q=",
+              "dev": true,
+              "requires": {
+                "nice-try": "1.0.4",
+                "path-key": "2.0.1",
+                "semver": "5.5.1",
+                "shebang-command": "1.2.0",
+                "which": "1.3.1"
+              }
+            },
+            "get-stream": {
+              "version": "3.0.0",
+              "resolved": "http://nexus.sysware.com.cn/repository/npm-public/get-stream/-/get-stream-3.0.0.tgz",
+              "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
+              "dev": true
+            }
+          }
+        },
+        "file-type": {
+          "version": "5.2.0",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/file-type/-/file-type-5.2.0.tgz",
+          "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=",
+          "dev": true
+        },
+        "filename-reserved-regex": {
+          "version": "2.0.0",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz",
+          "integrity": "sha1-q/c9+rc10EVECr/qLZHzieu/oik=",
+          "dev": true
+        },
+        "filenamify": {
+          "version": "2.1.0",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/filenamify/-/filenamify-2.1.0.tgz",
+          "integrity": "sha1-iPr0lfsbR6v9YSMAACoWIoxnfuk=",
+          "dev": true,
+          "requires": {
+            "filename-reserved-regex": "2.0.0",
+            "strip-outer": "1.0.1",
+            "trim-repeated": "1.0.0"
+          }
+        },
+        "get-proxy": {
+          "version": "2.1.0",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/get-proxy/-/get-proxy-2.1.0.tgz",
+          "integrity": "sha1-NJ8rTZHUTE1NTpy6KtkBQ/rF75M=",
+          "dev": true,
+          "requires": {
+            "npm-conf": "1.1.3"
+          }
+        },
+        "get-stream": {
+          "version": "2.3.1",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/get-stream/-/get-stream-2.3.1.tgz",
+          "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=",
+          "dev": true,
+          "requires": {
+            "object-assign": "4.1.1",
+            "pinkie-promise": "2.0.1"
+          }
+        },
+        "got": {
+          "version": "7.1.0",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/got/-/got-7.1.0.tgz",
+          "integrity": "sha1-BUUP2ECU5rvqVvRRpDqcKJFmOFo=",
+          "dev": true,
+          "requires": {
+            "decompress-response": "3.3.0",
+            "duplexer3": "0.1.4",
+            "get-stream": "3.0.0",
+            "is-plain-obj": "1.1.0",
+            "is-retry-allowed": "1.1.0",
+            "is-stream": "1.1.0",
+            "isurl": "1.0.0",
+            "lowercase-keys": "1.0.1",
+            "p-cancelable": "0.3.0",
+            "p-timeout": "1.2.1",
+            "safe-buffer": "5.1.2",
+            "timed-out": "4.0.1",
+            "url-parse-lax": "1.0.0",
+            "url-to-options": "1.0.1"
+          },
+          "dependencies": {
+            "get-stream": {
+              "version": "3.0.0",
+              "resolved": "http://nexus.sysware.com.cn/repository/npm-public/get-stream/-/get-stream-3.0.0.tgz",
+              "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
+              "dev": true
+            }
+          }
+        },
+        "is-natural-number": {
+          "version": "4.0.1",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/is-natural-number/-/is-natural-number-4.0.1.tgz",
+          "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=",
+          "dev": true
+        },
+        "strip-dirs": {
+          "version": "2.1.0",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/strip-dirs/-/strip-dirs-2.1.0.tgz",
+          "integrity": "sha1-SYdzYmT8NEzyD2w0rKnRPR1O1sU=",
+          "dev": true,
+          "requires": {
+            "is-natural-number": "4.0.1"
+          }
+        },
+        "timed-out": {
+          "version": "4.0.1",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/timed-out/-/timed-out-4.0.1.tgz",
+          "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=",
+          "dev": true
+        }
+      }
+    },
+    "prepend-http": {
+      "version": "1.0.4",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/prepend-http/-/prepend-http-1.0.4.tgz",
+      "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=",
+      "dev": true
+    },
+    "preserve": {
+      "version": "0.2.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/preserve/-/preserve-0.2.0.tgz",
+      "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=",
+      "dev": true
+    },
+    "private": {
+      "version": "0.1.8",
+      "resolved": "http://registry.npm.taobao.org/private/download/private-0.1.8.tgz",
+      "integrity": "sha1-I4Hts2ifelPWUxkAYPz4ItLzaP8=",
+      "dev": true
+    },
+    "process-nextick-args": {
+      "version": "2.0.0",
+      "resolved": "http://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.0.tgz",
+      "integrity": "sha1-o31zL0JxtKsa0HDTVQjoKQeI/6o=",
+      "dev": true
+    },
+    "promise": {
+      "version": "7.3.1",
+      "resolved": "http://registry.npm.taobao.org/promise/download/promise-7.3.1.tgz",
+      "integrity": "sha1-BktyYCsY+Q8pGSuLG8QY/9Hr078=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "asap": "2.0.6"
+      }
+    },
+    "promise-polyfill": {
+      "version": "6.1.0",
+      "resolved": "http://registry.npm.taobao.org/promise-polyfill/download/promise-polyfill-6.1.0.tgz",
+      "integrity": "sha1-36lpQ+qcEh/KTem1hoyznTRy4Fc="
+    },
+    "proto-list": {
+      "version": "1.2.4",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/proto-list/-/proto-list-1.2.4.tgz",
+      "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=",
+      "dev": true
+    },
+    "prr": {
+      "version": "1.0.1",
+      "resolved": "http://registry.npm.taobao.org/prr/download/prr-1.0.1.tgz",
+      "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
+      "dev": true,
+      "optional": true
+    },
+    "pseudomap": {
+      "version": "1.0.2",
+      "resolved": "http://registry.npm.taobao.org/pseudomap/download/pseudomap-1.0.2.tgz",
+      "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
+      "dev": true
+    },
+    "psl": {
+      "version": "1.1.29",
+      "resolved": "http://registry.npm.taobao.org/psl/download/psl-1.1.29.tgz",
+      "integrity": "sha1-YPWA02AXC7cip5fMcEQR5tqFDGc=",
+      "dev": true
+    },
+    "punycode": {
+      "version": "1.4.1",
+      "resolved": "http://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz",
+      "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
+      "dev": true
+    },
+    "qs": {
+      "version": "6.4.0",
+      "resolved": "http://registry.npm.taobao.org/qs/download/qs-6.4.0.tgz",
+      "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=",
+      "dev": true,
+      "optional": true
+    },
+    "randomatic": {
+      "version": "3.1.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/randomatic/-/randomatic-3.1.0.tgz",
+      "integrity": "sha1-NvLKcI6eVn9e0uwBlJAm1QqhARY=",
+      "dev": true,
+      "requires": {
+        "is-number": "4.0.0",
+        "kind-of": "6.0.2",
+        "math-random": "1.0.1"
+      },
+      "dependencies": {
+        "is-number": {
+          "version": "4.0.0",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/is-number/-/is-number-4.0.0.tgz",
+          "integrity": "sha1-ACbjf1RU1z41bf5lZGmYZ8an8P8=",
+          "dev": true
+        },
+        "kind-of": {
+          "version": "6.0.2",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/kind-of/-/kind-of-6.0.2.tgz",
+          "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=",
+          "dev": true
+        }
+      }
+    },
+    "rc": {
+      "version": "1.2.8",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/rc/-/rc-1.2.8.tgz",
+      "integrity": "sha1-zZJL9SAKB1uDwYjNa54hG3/A0+0=",
+      "dev": true,
+      "requires": {
+        "deep-extend": "0.6.0",
+        "ini": "1.3.5",
+        "minimist": "1.2.0",
+        "strip-json-comments": "2.0.1"
+      },
+      "dependencies": {
+        "minimist": {
+          "version": "1.2.0",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/minimist/-/minimist-1.2.0.tgz",
+          "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+          "dev": true
+        }
+      }
+    },
+    "read-all-stream": {
+      "version": "3.1.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/read-all-stream/-/read-all-stream-3.1.0.tgz",
+      "integrity": "sha1-NcPhd/IHjveJ7kv6+kNzB06u9Po=",
+      "dev": true,
+      "requires": {
+        "pinkie-promise": "2.0.1",
+        "readable-stream": "2.3.6"
+      }
+    },
+    "read-pkg": {
+      "version": "1.1.0",
+      "resolved": "http://registry.npm.taobao.org/read-pkg/download/read-pkg-1.1.0.tgz",
+      "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
+      "dev": true,
+      "requires": {
+        "load-json-file": "1.1.0",
+        "normalize-package-data": "2.4.0",
+        "path-type": "1.1.0"
+      }
+    },
+    "read-pkg-up": {
+      "version": "1.0.1",
+      "resolved": "http://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-1.0.1.tgz",
+      "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
+      "dev": true,
+      "requires": {
+        "find-up": "1.1.2",
+        "read-pkg": "1.1.0"
+      }
+    },
+    "readable-stream": {
+      "version": "2.3.6",
+      "resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.6.tgz",
+      "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=",
+      "dev": true,
+      "requires": {
+        "core-util-is": "1.0.2",
+        "inherits": "2.0.3",
+        "isarray": "1.0.0",
+        "process-nextick-args": "2.0.0",
+        "safe-buffer": "5.1.2",
+        "string_decoder": "1.1.1",
+        "util-deprecate": "1.0.2"
+      }
+    },
+    "redent": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/redent/download/redent-1.0.0.tgz",
+      "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
+      "dev": true,
+      "requires": {
+        "indent-string": "2.1.0",
+        "strip-indent": "1.0.1"
+      }
+    },
+    "regenerate": {
+      "version": "1.4.0",
+      "resolved": "http://registry.npm.taobao.org/regenerate/download/regenerate-1.4.0.tgz",
+      "integrity": "sha1-SoVuxLVuQHfFV1icroXnpMiGmhE=",
+      "dev": true
+    },
+    "regenerator-runtime": {
+      "version": "0.10.5",
+      "resolved": "http://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.10.5.tgz",
+      "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg="
+    },
+    "regenerator-transform": {
+      "version": "0.10.1",
+      "resolved": "http://registry.npm.taobao.org/regenerator-transform/download/regenerator-transform-0.10.1.tgz",
+      "integrity": "sha1-HkmWg3Ix2ot/PPQRTXG1aRoGgN0=",
+      "dev": true,
+      "requires": {
+        "babel-runtime": "6.26.0",
+        "babel-types": "6.26.0",
+        "private": "0.1.8"
+      }
+    },
+    "regex-cache": {
+      "version": "0.4.4",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/regex-cache/-/regex-cache-0.4.4.tgz",
+      "integrity": "sha1-db3FiioUls7EihKDW8VMjVYjNt0=",
+      "dev": true,
+      "requires": {
+        "is-equal-shallow": "0.1.3"
+      }
+    },
+    "regexpu-core": {
+      "version": "2.0.0",
+      "resolved": "http://registry.npm.taobao.org/regexpu-core/download/regexpu-core-2.0.0.tgz",
+      "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=",
+      "dev": true,
+      "requires": {
+        "regenerate": "1.4.0",
+        "regjsgen": "0.2.0",
+        "regjsparser": "0.1.5"
+      }
+    },
+    "regjsgen": {
+      "version": "0.2.0",
+      "resolved": "http://registry.npm.taobao.org/regjsgen/download/regjsgen-0.2.0.tgz",
+      "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=",
+      "dev": true
+    },
+    "regjsparser": {
+      "version": "0.1.5",
+      "resolved": "http://registry.npm.taobao.org/regjsparser/download/regjsparser-0.1.5.tgz",
+      "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
+      "dev": true,
+      "requires": {
+        "jsesc": "0.5.0"
+      }
+    },
+    "remove-trailing-separator": {
+      "version": "1.1.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
+      "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
+      "dev": true
+    },
+    "repeat-element": {
+      "version": "1.1.3",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/repeat-element/-/repeat-element-1.1.3.tgz",
+      "integrity": "sha1-eC4NglwMWjuzlzH4Tv7mt0Lmsc4=",
+      "dev": true
+    },
+    "repeat-string": {
+      "version": "1.6.1",
+      "resolved": "http://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz",
+      "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
+      "dev": true
+    },
+    "repeating": {
+      "version": "2.0.1",
+      "resolved": "http://registry.npm.taobao.org/repeating/download/repeating-2.0.1.tgz",
+      "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
+      "dev": true,
+      "requires": {
+        "is-finite": "1.0.2"
+      }
+    },
+    "replace-ext": {
+      "version": "1.0.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/replace-ext/-/replace-ext-1.0.0.tgz",
+      "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=",
+      "dev": true
+    },
+    "request": {
+      "version": "2.81.0",
+      "resolved": "http://registry.npm.taobao.org/request/download/request-2.81.0.tgz",
+      "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "aws-sign2": "0.6.0",
+        "aws4": "1.8.0",
+        "caseless": "0.12.0",
+        "combined-stream": "1.0.6",
+        "extend": "3.0.2",
+        "forever-agent": "0.6.1",
+        "form-data": "2.1.4",
+        "har-validator": "4.2.1",
+        "hawk": "3.1.3",
+        "http-signature": "1.1.1",
+        "is-typedarray": "1.0.0",
+        "isstream": "0.1.2",
+        "json-stringify-safe": "5.0.1",
+        "mime-types": "2.1.19",
+        "oauth-sign": "0.8.2",
+        "performance-now": "0.2.0",
+        "qs": "6.4.0",
+        "safe-buffer": "5.1.2",
+        "stringstream": "0.0.6",
+        "tough-cookie": "2.3.4",
+        "tunnel-agent": "0.6.0",
+        "uuid": "3.3.2"
+      }
+    },
+    "require-directory": {
+      "version": "2.1.1",
+      "resolved": "http://registry.npm.taobao.org/require-directory/download/require-directory-2.1.1.tgz",
+      "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
+      "dev": true
+    },
+    "require-main-filename": {
+      "version": "1.0.1",
+      "resolved": "http://registry.npm.taobao.org/require-main-filename/download/require-main-filename-1.0.1.tgz",
+      "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
+      "dev": true
+    },
+    "right-align": {
+      "version": "0.1.3",
+      "resolved": "http://registry.npm.taobao.org/right-align/download/right-align-0.1.3.tgz",
+      "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
+      "dev": true,
+      "requires": {
+        "align-text": "0.1.4"
+      }
+    },
+    "rimraf": {
+      "version": "2.6.2",
+      "resolved": "http://registry.npm.taobao.org/rimraf/download/rimraf-2.6.2.tgz",
+      "integrity": "sha1-LtgVDSShbqhlHm1u8PR8QVjOejY=",
+      "dev": true,
+      "requires": {
+        "glob": "7.1.3"
+      }
+    },
+    "safe-buffer": {
+      "version": "5.1.2",
+      "resolved": "http://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz",
+      "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=",
+      "dev": true
+    },
+    "safer-buffer": {
+      "version": "2.1.2",
+      "resolved": "http://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz",
+      "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=",
+      "dev": true
+    },
+    "sass-graph": {
+      "version": "2.2.4",
+      "resolved": "http://registry.npm.taobao.org/sass-graph/download/sass-graph-2.2.4.tgz",
+      "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=",
+      "dev": true,
+      "requires": {
+        "glob": "7.1.3",
+        "lodash": "4.17.10",
+        "scss-tokenizer": "0.2.3",
+        "yargs": "7.1.0"
+      }
+    },
+    "scss-tokenizer": {
+      "version": "0.2.3",
+      "resolved": "http://registry.npm.taobao.org/scss-tokenizer/download/scss-tokenizer-0.2.3.tgz",
+      "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=",
+      "dev": true,
+      "requires": {
+        "js-base64": "2.4.8",
+        "source-map": "0.4.4"
+      },
+      "dependencies": {
+        "source-map": {
+          "version": "0.4.4",
+          "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.4.4.tgz",
+          "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
+          "dev": true,
+          "requires": {
+            "amdefine": "1.0.1"
+          }
+        }
+      }
+    },
+    "seek-bzip": {
+      "version": "1.0.5",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/seek-bzip/-/seek-bzip-1.0.5.tgz",
+      "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=",
+      "dev": true,
+      "requires": {
+        "commander": "2.8.1"
+      }
+    },
+    "semver": {
+      "version": "5.5.1",
+      "resolved": "http://registry.npm.taobao.org/semver/download/semver-5.5.1.tgz",
+      "integrity": "sha1-ff3YgUvbfKvHvg+x1zTPtmyUBHc=",
+      "dev": true
+    },
+    "semver-regex": {
+      "version": "1.0.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/semver-regex/-/semver-regex-1.0.0.tgz",
+      "integrity": "sha1-kqSWkGX5xwxpR1PVUkj8aPj2Usk=",
+      "dev": true
+    },
+    "semver-truncate": {
+      "version": "1.1.2",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/semver-truncate/-/semver-truncate-1.1.2.tgz",
+      "integrity": "sha1-V/Qd5pcHpicJp+AQS6IRcQnqR+g=",
+      "dev": true,
+      "requires": {
+        "semver": "5.5.1"
+      }
+    },
+    "set-blocking": {
+      "version": "2.0.0",
+      "resolved": "http://registry.npm.taobao.org/set-blocking/download/set-blocking-2.0.0.tgz",
+      "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
+      "dev": true
+    },
+    "set-immediate-shim": {
+      "version": "1.0.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
+      "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=",
+      "dev": true
+    },
+    "shebang-command": {
+      "version": "1.2.0",
+      "resolved": "http://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": "http://registry.npm.taobao.org/shebang-regex/download/shebang-regex-1.0.0.tgz",
+      "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
+      "dev": true
+    },
+    "signal-exit": {
+      "version": "3.0.2",
+      "resolved": "http://registry.npm.taobao.org/signal-exit/download/signal-exit-3.0.2.tgz",
+      "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
+      "dev": true
+    },
+    "slash": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/slash/download/slash-1.0.0.tgz",
+      "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
+      "dev": true
+    },
+    "sntp": {
+      "version": "1.0.9",
+      "resolved": "http://registry.npm.taobao.org/sntp/download/sntp-1.0.9.tgz",
+      "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "hoek": "2.16.3"
+      }
+    },
+    "sort-keys": {
+      "version": "1.1.2",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/sort-keys/-/sort-keys-1.1.2.tgz",
+      "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=",
+      "dev": true,
+      "requires": {
+        "is-plain-obj": "1.1.0"
+      }
+    },
+    "sort-keys-length": {
+      "version": "1.0.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/sort-keys-length/-/sort-keys-length-1.0.1.tgz",
+      "integrity": "sha1-nLb09OnkgVWmqgZx7dM2/xR5oYg=",
+      "dev": true,
+      "requires": {
+        "sort-keys": "1.1.2"
+      }
+    },
+    "source-map": {
+      "version": "0.5.7",
+      "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz",
+      "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+      "dev": true
+    },
+    "source-map-support": {
+      "version": "0.4.18",
+      "resolved": "http://registry.npm.taobao.org/source-map-support/download/source-map-support-0.4.18.tgz",
+      "integrity": "sha1-Aoam3ovkJkEzhZTpfM6nXwosWF8=",
+      "dev": true,
+      "requires": {
+        "source-map": "0.5.7"
+      }
+    },
+    "sparkles": {
+      "version": "1.0.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/sparkles/-/sparkles-1.0.1.tgz",
+      "integrity": "sha1-AI22XtzmxQ7sDF4ijhlFBh3QQ3w=",
+      "dev": true
+    },
+    "spdx-correct": {
+      "version": "3.0.0",
+      "resolved": "http://registry.npm.taobao.org/spdx-correct/download/spdx-correct-3.0.0.tgz",
+      "integrity": "sha1-BaW01xU6GVvJLDxCW2nzsqlSTII=",
+      "dev": true,
+      "requires": {
+        "spdx-expression-parse": "3.0.0",
+        "spdx-license-ids": "3.0.0"
+      }
+    },
+    "spdx-exceptions": {
+      "version": "2.1.0",
+      "resolved": "http://registry.npm.taobao.org/spdx-exceptions/download/spdx-exceptions-2.1.0.tgz",
+      "integrity": "sha1-LHrmEFbHFKW5ubKyr30xHvXHj+k=",
+      "dev": true
+    },
+    "spdx-expression-parse": {
+      "version": "3.0.0",
+      "resolved": "http://registry.npm.taobao.org/spdx-expression-parse/download/spdx-expression-parse-3.0.0.tgz",
+      "integrity": "sha1-meEZt6XaAOBUkcn6M4t5BII7QdA=",
+      "dev": true,
+      "requires": {
+        "spdx-exceptions": "2.1.0",
+        "spdx-license-ids": "3.0.0"
+      }
+    },
+    "spdx-license-ids": {
+      "version": "3.0.0",
+      "resolved": "http://registry.npm.taobao.org/spdx-license-ids/download/spdx-license-ids-3.0.0.tgz",
+      "integrity": "sha1-enzShHDMbToc/m1miG9rxDDTrIc=",
+      "dev": true
+    },
+    "squeak": {
+      "version": "1.3.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/squeak/-/squeak-1.3.0.tgz",
+      "integrity": "sha1-MwRQN7ZDiLVnZ0uEMiplIQc5FsM=",
+      "dev": true,
+      "requires": {
+        "chalk": "1.1.3",
+        "console-stream": "0.1.1",
+        "lpad-align": "1.1.2"
+      }
+    },
+    "sshpk": {
+      "version": "1.14.2",
+      "resolved": "http://registry.npm.taobao.org/sshpk/download/sshpk-1.14.2.tgz",
+      "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=",
+      "dev": true,
+      "requires": {
+        "asn1": "0.2.4",
+        "assert-plus": "1.0.0",
+        "bcrypt-pbkdf": "1.0.2",
+        "dashdash": "1.14.1",
+        "ecc-jsbn": "0.1.2",
+        "getpass": "0.1.7",
+        "jsbn": "0.1.1",
+        "safer-buffer": "2.1.2",
+        "tweetnacl": "0.14.5"
+      },
+      "dependencies": {
+        "assert-plus": {
+          "version": "1.0.0",
+          "resolved": "http://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz",
+          "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+          "dev": true
+        }
+      }
+    },
+    "stat-mode": {
+      "version": "0.2.2",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/stat-mode/-/stat-mode-0.2.2.tgz",
+      "integrity": "sha1-5sgLYjEj19gM8TLOU480YokHJQI=",
+      "dev": true
+    },
+    "stdout-stream": {
+      "version": "1.4.0",
+      "resolved": "http://registry.npm.taobao.org/stdout-stream/download/stdout-stream-1.4.0.tgz",
+      "integrity": "sha1-osfIWH5U2UJ+qe2zrD8s1SLfN4s=",
+      "dev": true,
+      "requires": {
+        "readable-stream": "2.3.6"
+      }
+    },
+    "stream-combiner2": {
+      "version": "1.1.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/stream-combiner2/-/stream-combiner2-1.1.1.tgz",
+      "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=",
+      "dev": true,
+      "requires": {
+        "duplexer2": "0.1.4",
+        "readable-stream": "2.3.6"
+      }
+    },
+    "stream-shift": {
+      "version": "1.0.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/stream-shift/-/stream-shift-1.0.0.tgz",
+      "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=",
+      "dev": true
+    },
+    "string-width": {
+      "version": "1.0.2",
+      "resolved": "http://registry.npm.taobao.org/string-width/download/string-width-1.0.2.tgz",
+      "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+      "dev": true,
+      "requires": {
+        "code-point-at": "1.1.0",
+        "is-fullwidth-code-point": "1.0.0",
+        "strip-ansi": "3.0.1"
+      }
+    },
+    "string_decoder": {
+      "version": "1.1.1",
+      "resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz",
+      "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=",
+      "dev": true,
+      "requires": {
+        "safe-buffer": "5.1.2"
+      }
+    },
+    "stringstream": {
+      "version": "0.0.6",
+      "resolved": "http://registry.npm.taobao.org/stringstream/download/stringstream-0.0.6.tgz",
+      "integrity": "sha1-eIAiWw1K0Q4wkn0Weh1vL9OzOnI=",
+      "dev": true,
+      "optional": true
+    },
+    "strip-ansi": {
+      "version": "3.0.1",
+      "resolved": "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz",
+      "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+      "dev": true,
+      "requires": {
+        "ansi-regex": "2.1.1"
+      }
+    },
+    "strip-bom": {
+      "version": "2.0.0",
+      "resolved": "http://registry.npm.taobao.org/strip-bom/download/strip-bom-2.0.0.tgz",
+      "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+      "dev": true,
+      "requires": {
+        "is-utf8": "0.2.1"
+      }
+    },
+    "strip-bom-stream": {
+      "version": "1.0.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz",
+      "integrity": "sha1-5xRDmFd9Uaa+0PoZlPoF9D/ZiO4=",
+      "dev": true,
+      "requires": {
+        "first-chunk-stream": "1.0.0",
+        "strip-bom": "2.0.0"
+      }
+    },
+    "strip-dirs": {
+      "version": "1.1.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/strip-dirs/-/strip-dirs-1.1.1.tgz",
+      "integrity": "sha1-lgu9EoeETzl1pFWKoQOoJV4kVqA=",
+      "dev": true,
+      "requires": {
+        "chalk": "1.1.3",
+        "get-stdin": "4.0.1",
+        "is-absolute": "0.1.7",
+        "is-natural-number": "2.1.1",
+        "minimist": "1.2.0",
+        "sum-up": "1.0.3"
+      },
+      "dependencies": {
+        "minimist": {
+          "version": "1.2.0",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/minimist/-/minimist-1.2.0.tgz",
+          "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+          "dev": true
+        }
+      }
+    },
+    "strip-eof": {
+      "version": "1.0.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/strip-eof/-/strip-eof-1.0.0.tgz",
+      "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
+      "dev": true
+    },
+    "strip-indent": {
+      "version": "1.0.1",
+      "resolved": "http://registry.npm.taobao.org/strip-indent/download/strip-indent-1.0.1.tgz",
+      "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
+      "dev": true,
+      "requires": {
+        "get-stdin": "4.0.1"
+      }
+    },
+    "strip-json-comments": {
+      "version": "2.0.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+      "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+      "dev": true
+    },
+    "strip-outer": {
+      "version": "1.0.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/strip-outer/-/strip-outer-1.0.1.tgz",
+      "integrity": "sha1-sv0qv2YEudHmATBXGV34Nrip1jE=",
+      "dev": true,
+      "requires": {
+        "escape-string-regexp": "1.0.5"
+      }
+    },
+    "sum-up": {
+      "version": "1.0.3",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/sum-up/-/sum-up-1.0.3.tgz",
+      "integrity": "sha1-HGYfZnBX9jvLeHWqFDi8FiUlFW4=",
+      "dev": true,
+      "requires": {
+        "chalk": "1.1.3"
+      }
+    },
+    "supports-color": {
+      "version": "2.0.0",
+      "resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz",
+      "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+      "dev": true
+    },
+    "tar": {
+      "version": "2.2.1",
+      "resolved": "http://registry.npm.taobao.org/tar/download/tar-2.2.1.tgz",
+      "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
+      "dev": true,
+      "requires": {
+        "block-stream": "0.0.9",
+        "fstream": "1.0.11",
+        "inherits": "2.0.3"
+      }
+    },
+    "tar-stream": {
+      "version": "1.6.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/tar-stream/-/tar-stream-1.6.1.tgz",
+      "integrity": "sha1-+E7xaWJp1iI8pI9uHu7eP36B85U=",
+      "dev": true,
+      "requires": {
+        "bl": "1.2.2",
+        "buffer-alloc": "1.2.0",
+        "end-of-stream": "1.4.1",
+        "fs-constants": "1.0.0",
+        "readable-stream": "2.3.6",
+        "to-buffer": "1.1.1",
+        "xtend": "4.0.1"
+      }
+    },
+    "temp-dir": {
+      "version": "1.0.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/temp-dir/-/temp-dir-1.0.0.tgz",
+      "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=",
+      "dev": true
+    },
+    "tempfile": {
+      "version": "2.0.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/tempfile/-/tempfile-2.0.0.tgz",
+      "integrity": "sha1-awRGhWqbERTRhW/8vlCczLCXcmU=",
+      "dev": true,
+      "requires": {
+        "temp-dir": "1.0.0",
+        "uuid": "3.3.2"
+      }
+    },
+    "through": {
+      "version": "2.3.8",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/through/-/through-2.3.8.tgz",
+      "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
+      "dev": true
+    },
+    "through2": {
+      "version": "0.6.5",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/through2/-/through2-0.6.5.tgz",
+      "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+      "dev": true,
+      "requires": {
+        "readable-stream": "1.0.34",
+        "xtend": "4.0.1"
+      },
+      "dependencies": {
+        "isarray": {
+          "version": "0.0.1",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/isarray/-/isarray-0.0.1.tgz",
+          "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+          "dev": true
+        },
+        "readable-stream": {
+          "version": "1.0.34",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/readable-stream/-/readable-stream-1.0.34.tgz",
+          "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+          "dev": true,
+          "requires": {
+            "core-util-is": "1.0.2",
+            "inherits": "2.0.3",
+            "isarray": "0.0.1",
+            "string_decoder": "0.10.31"
+          }
+        },
+        "string_decoder": {
+          "version": "0.10.31",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/string_decoder/-/string_decoder-0.10.31.tgz",
+          "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+          "dev": true
+        }
+      }
+    },
+    "through2-filter": {
+      "version": "2.0.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/through2-filter/-/through2-filter-2.0.0.tgz",
+      "integrity": "sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=",
+      "dev": true,
+      "requires": {
+        "through2": "2.0.3",
+        "xtend": "4.0.1"
+      },
+      "dependencies": {
+        "through2": {
+          "version": "2.0.3",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/through2/-/through2-2.0.3.tgz",
+          "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
+          "dev": true,
+          "requires": {
+            "readable-stream": "2.3.6",
+            "xtend": "4.0.1"
+          }
+        }
+      }
+    },
+    "time-stamp": {
+      "version": "1.1.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/time-stamp/-/time-stamp-1.1.0.tgz",
+      "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=",
+      "dev": true
+    },
+    "timed-out": {
+      "version": "3.1.3",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/timed-out/-/timed-out-3.1.3.tgz",
+      "integrity": "sha1-lYYL/MXHbCd/j4Mm/Q9bLiDrohc=",
+      "dev": true
+    },
+    "to-absolute-glob": {
+      "version": "0.1.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz",
+      "integrity": "sha1-HN+kcqnvUMI57maZm2YsoOs5k38=",
+      "dev": true,
+      "requires": {
+        "extend-shallow": "2.0.1"
+      }
+    },
+    "to-buffer": {
+      "version": "1.1.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/to-buffer/-/to-buffer-1.1.1.tgz",
+      "integrity": "sha1-STvUj2LXxD/N7TE6A9ytsuEhOoA=",
+      "dev": true
+    },
+    "to-fast-properties": {
+      "version": "1.0.3",
+      "resolved": "http://registry.npm.taobao.org/to-fast-properties/download/to-fast-properties-1.0.3.tgz",
+      "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=",
+      "dev": true
+    },
+    "tough-cookie": {
+      "version": "2.3.4",
+      "resolved": "http://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.3.4.tgz",
+      "integrity": "sha1-7GDO44rGdQY//JelwYlwV47oNlU=",
+      "dev": true,
+      "requires": {
+        "punycode": "1.4.1"
+      }
+    },
+    "trim-newlines": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/trim-newlines/download/trim-newlines-1.0.0.tgz",
+      "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
+      "dev": true
+    },
+    "trim-repeated": {
+      "version": "1.0.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/trim-repeated/-/trim-repeated-1.0.0.tgz",
+      "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=",
+      "dev": true,
+      "requires": {
+        "escape-string-regexp": "1.0.5"
+      }
+    },
+    "trim-right": {
+      "version": "1.0.1",
+      "resolved": "http://registry.npm.taobao.org/trim-right/download/trim-right-1.0.1.tgz",
+      "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
+      "dev": true
+    },
+    "true-case-path": {
+      "version": "1.0.3",
+      "resolved": "http://registry.npm.taobao.org/true-case-path/download/true-case-path-1.0.3.tgz",
+      "integrity": "sha1-+BO1qMhrQNpZYGcisUTjIleZ9H0=",
+      "dev": true,
+      "requires": {
+        "glob": "7.1.3"
+      }
+    },
+    "tunnel-agent": {
+      "version": "0.6.0",
+      "resolved": "http://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz",
+      "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+      "dev": true,
+      "requires": {
+        "safe-buffer": "5.1.2"
+      }
+    },
+    "tweetnacl": {
+      "version": "0.14.5",
+      "resolved": "http://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz",
+      "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
+      "dev": true,
+      "optional": true
+    },
+    "typedarray": {
+      "version": "0.0.6",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/typedarray/-/typedarray-0.0.6.tgz",
+      "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
+      "dev": true
+    },
+    "uglify-js": {
+      "version": "2.8.29",
+      "resolved": "http://registry.npm.taobao.org/uglify-js/download/uglify-js-2.8.29.tgz",
+      "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
+      "dev": true,
+      "requires": {
+        "source-map": "0.5.7",
+        "uglify-to-browserify": "1.0.2",
+        "yargs": "3.10.0"
+      },
+      "dependencies": {
+        "camelcase": {
+          "version": "1.2.1",
+          "resolved": "http://registry.npm.taobao.org/camelcase/download/camelcase-1.2.1.tgz",
+          "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
+          "dev": true
+        },
+        "cliui": {
+          "version": "2.1.0",
+          "resolved": "http://registry.npm.taobao.org/cliui/download/cliui-2.1.0.tgz",
+          "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
+          "dev": true,
+          "requires": {
+            "center-align": "0.1.3",
+            "right-align": "0.1.3",
+            "wordwrap": "0.0.2"
+          }
+        },
+        "yargs": {
+          "version": "3.10.0",
+          "resolved": "http://registry.npm.taobao.org/yargs/download/yargs-3.10.0.tgz",
+          "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
+          "dev": true,
+          "requires": {
+            "camelcase": "1.2.1",
+            "cliui": "2.1.0",
+            "decamelize": "1.2.0",
+            "window-size": "0.1.0"
+          }
+        }
+      }
+    },
+    "uglify-to-browserify": {
+      "version": "1.0.2",
+      "resolved": "http://registry.npm.taobao.org/uglify-to-browserify/download/uglify-to-browserify-1.0.2.tgz",
+      "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
+      "dev": true,
+      "optional": true
+    },
+    "unbzip2-stream": {
+      "version": "1.2.5",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/unbzip2-stream/-/unbzip2-stream-1.2.5.tgz",
+      "integrity": "sha1-c6AzpWe7veWWVLGTxE1Ip+T0PEc=",
+      "dev": true,
+      "requires": {
+        "buffer": "3.6.0",
+        "through": "2.3.8"
+      }
+    },
+    "unique-stream": {
+      "version": "2.2.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/unique-stream/-/unique-stream-2.2.1.tgz",
+      "integrity": "sha1-WqADz76Uxf+GbE59ZouxxNuts2k=",
+      "dev": true,
+      "requires": {
+        "json-stable-stringify": "1.0.1",
+        "through2-filter": "2.0.0"
+      }
+    },
+    "unzip-response": {
+      "version": "1.0.2",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/unzip-response/-/unzip-response-1.0.2.tgz",
+      "integrity": "sha1-uYTwh3/AqJwsdzzB73tbIytbBv4=",
+      "dev": true
+    },
+    "url-parse-lax": {
+      "version": "1.0.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/url-parse-lax/-/url-parse-lax-1.0.0.tgz",
+      "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=",
+      "dev": true,
+      "requires": {
+        "prepend-http": "1.0.4"
+      }
+    },
+    "url-regex": {
+      "version": "3.2.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/url-regex/-/url-regex-3.2.0.tgz",
+      "integrity": "sha1-260eDJ4p4QXdCx8J9oYvf9tIJyQ=",
+      "dev": true,
+      "requires": {
+        "ip-regex": "1.0.3"
+      }
+    },
+    "url-to-options": {
+      "version": "1.0.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/url-to-options/-/url-to-options-1.0.1.tgz",
+      "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=",
+      "dev": true
+    },
+    "util-deprecate": {
+      "version": "1.0.2",
+      "resolved": "http://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz",
+      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
+      "dev": true
+    },
+    "uuid": {
+      "version": "3.3.2",
+      "resolved": "http://registry.npm.taobao.org/uuid/download/uuid-3.3.2.tgz",
+      "integrity": "sha1-G0r0lV6zB3xQHCOHL8ZROBFYcTE=",
+      "dev": true
+    },
+    "vali-date": {
+      "version": "1.0.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/vali-date/-/vali-date-1.0.0.tgz",
+      "integrity": "sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY=",
+      "dev": true
+    },
+    "validate-npm-package-license": {
+      "version": "3.0.4",
+      "resolved": "http://registry.npm.taobao.org/validate-npm-package-license/download/validate-npm-package-license-3.0.4.tgz",
+      "integrity": "sha1-/JH2uce6FchX9MssXe/uw51PQQo=",
+      "dev": true,
+      "requires": {
+        "spdx-correct": "3.0.0",
+        "spdx-expression-parse": "3.0.0"
+      }
+    },
+    "verror": {
+      "version": "1.10.0",
+      "resolved": "http://registry.npm.taobao.org/verror/download/verror-1.10.0.tgz",
+      "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
+      "dev": true,
+      "requires": {
+        "assert-plus": "1.0.0",
+        "core-util-is": "1.0.2",
+        "extsprintf": "1.3.0"
+      },
+      "dependencies": {
+        "assert-plus": {
+          "version": "1.0.0",
+          "resolved": "http://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz",
+          "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+          "dev": true
+        }
+      }
+    },
+    "vinyl": {
+      "version": "1.2.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/vinyl/-/vinyl-1.2.0.tgz",
+      "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=",
+      "dev": true,
+      "requires": {
+        "clone": "1.0.4",
+        "clone-stats": "0.0.1",
+        "replace-ext": "0.0.1"
+      },
+      "dependencies": {
+        "replace-ext": {
+          "version": "0.0.1",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/replace-ext/-/replace-ext-0.0.1.tgz",
+          "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=",
+          "dev": true
+        }
+      }
+    },
+    "vinyl-assign": {
+      "version": "1.2.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/vinyl-assign/-/vinyl-assign-1.2.1.tgz",
+      "integrity": "sha1-TRmIkbVRWRHXcajNnFSApGoHSkU=",
+      "dev": true,
+      "requires": {
+        "object-assign": "4.1.1",
+        "readable-stream": "2.3.6"
+      }
+    },
+    "vinyl-fs": {
+      "version": "2.4.4",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/vinyl-fs/-/vinyl-fs-2.4.4.tgz",
+      "integrity": "sha1-vm/zJwy1Xf19MGNkDegfJddTIjk=",
+      "dev": true,
+      "requires": {
+        "duplexify": "3.6.0",
+        "glob-stream": "5.3.5",
+        "graceful-fs": "4.1.11",
+        "gulp-sourcemaps": "1.6.0",
+        "is-valid-glob": "0.3.0",
+        "lazystream": "1.0.0",
+        "lodash.isequal": "4.5.0",
+        "merge-stream": "1.0.1",
+        "mkdirp": "0.5.1",
+        "object-assign": "4.1.1",
+        "readable-stream": "2.3.6",
+        "strip-bom": "2.0.0",
+        "strip-bom-stream": "1.0.0",
+        "through2": "2.0.3",
+        "through2-filter": "2.0.0",
+        "vali-date": "1.0.0",
+        "vinyl": "1.2.0"
+      },
+      "dependencies": {
+        "through2": {
+          "version": "2.0.3",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/through2/-/through2-2.0.3.tgz",
+          "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
+          "dev": true,
+          "requires": {
+            "readable-stream": "2.3.6",
+            "xtend": "4.0.1"
+          }
+        }
+      }
+    },
+    "ware": {
+      "version": "1.3.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/ware/-/ware-1.3.0.tgz",
+      "integrity": "sha1-0bFPOdLiy0q4xAmPdW/ksWTkc9Q=",
+      "dev": true,
+      "requires": {
+        "wrap-fn": "0.1.5"
+      }
+    },
+    "wepy": {
+      "version": "1.7.2",
+      "resolved": "http://registry.npm.taobao.org/wepy/download/wepy-1.7.2.tgz",
+      "integrity": "sha1-Z5BSQB8rH0gYZEvET4i3KXVJGmQ="
+    },
+    "wepy-async-function": {
+      "version": "1.4.6",
+      "resolved": "http://registry.npm.taobao.org/wepy-async-function/download/wepy-async-function-1.4.6.tgz",
+      "integrity": "sha1-tlDD1G3epUQEuh4AXguUmJfGmAQ=",
+      "requires": {
+        "promise-polyfill": "6.1.0",
+        "regenerator-runtime": "0.10.5"
+      }
+    },
+    "wepy-com-toast": {
+      "version": "1.0.2",
+      "resolved": "http://registry.npm.taobao.org/wepy-com-toast/download/wepy-com-toast-1.0.2.tgz",
+      "integrity": "sha1-b0nNZxkr2t7axfjDb5kL3cLxB/k="
+    },
+    "wepy-compiler-babel": {
+      "version": "1.5.3",
+      "resolved": "http://registry.npm.taobao.org/wepy-compiler-babel/download/wepy-compiler-babel-1.5.3.tgz",
+      "integrity": "sha1-NFND2/z3800qyLSfRQ+u1r3Q6jw=",
+      "dev": true,
+      "requires": {
+        "babel-core": "6.26.3"
+      }
+    },
+    "wepy-compiler-less": {
+      "version": "1.3.12",
+      "resolved": "http://registry.npm.taobao.org/wepy-compiler-less/download/wepy-compiler-less-1.3.12.tgz",
+      "integrity": "sha1-Rfj8NRKVcQB052zbfJ34udeYsYc=",
+      "dev": true,
+      "requires": {
+        "less": "2.7.3"
+      }
+    },
+    "wepy-compiler-sass": {
+      "version": "1.3.12",
+      "resolved": "http://registry.npm.taobao.org/wepy-compiler-sass/download/wepy-compiler-sass-1.3.12.tgz",
+      "integrity": "sha1-XuPDgGbIaSE1cib6S1tYfToBWV0=",
+      "dev": true,
+      "requires": {
+        "node-sass": "4.9.3"
+      }
+    },
+    "wepy-plugin-imagemin": {
+      "version": "1.5.3",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/wepy-plugin-imagemin/-/wepy-plugin-imagemin-1.5.3.tgz",
+      "integrity": "sha1-3spRDUxP+Ytb44kZJuiF2Ct9nRw=",
+      "dev": true,
+      "requires": {
+        "imagemin": "5.3.1",
+        "imagemin-mozjpeg": "6.0.0",
+        "imagemin-pngquant": "5.1.0"
+      }
+    },
+    "wepy-plugin-uglifyjs": {
+      "version": "1.3.7",
+      "resolved": "http://registry.npm.taobao.org/wepy-plugin-uglifyjs/download/wepy-plugin-uglifyjs-1.3.7.tgz",
+      "integrity": "sha1-GsT5ZxXvIhKQmwP6aD8vZrFPcKw=",
+      "dev": true,
+      "requires": {
+        "uglify-js": "2.8.29"
+      }
+    },
+    "which": {
+      "version": "1.3.1",
+      "resolved": "http://registry.npm.taobao.org/which/download/which-1.3.1.tgz",
+      "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=",
+      "dev": true,
+      "requires": {
+        "isexe": "2.0.0"
+      }
+    },
+    "which-module": {
+      "version": "1.0.0",
+      "resolved": "http://registry.npm.taobao.org/which-module/download/which-module-1.0.0.tgz",
+      "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=",
+      "dev": true
+    },
+    "wide-align": {
+      "version": "1.1.3",
+      "resolved": "http://registry.npm.taobao.org/wide-align/download/wide-align-1.1.3.tgz",
+      "integrity": "sha1-rgdOa9wMFKQx6ATmJFScYzsABFc=",
+      "dev": true,
+      "requires": {
+        "string-width": "1.0.2"
+      }
+    },
+    "window-size": {
+      "version": "0.1.0",
+      "resolved": "http://registry.npm.taobao.org/window-size/download/window-size-0.1.0.tgz",
+      "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
+      "dev": true
+    },
+    "wordwrap": {
+      "version": "0.0.2",
+      "resolved": "http://registry.npm.taobao.org/wordwrap/download/wordwrap-0.0.2.tgz",
+      "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
+      "dev": true
+    },
+    "wrap-ansi": {
+      "version": "2.1.0",
+      "resolved": "http://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-2.1.0.tgz",
+      "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
+      "dev": true,
+      "requires": {
+        "string-width": "1.0.2",
+        "strip-ansi": "3.0.1"
+      }
+    },
+    "wrap-fn": {
+      "version": "0.1.5",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/wrap-fn/-/wrap-fn-0.1.5.tgz",
+      "integrity": "sha1-8htuQQFv9KfjFyDbxjoJAWvfmEU=",
+      "dev": true,
+      "requires": {
+        "co": "3.1.0"
+      },
+      "dependencies": {
+        "co": {
+          "version": "3.1.0",
+          "resolved": "http://nexus.sysware.com.cn/repository/npm-public/co/-/co-3.1.0.tgz",
+          "integrity": "sha1-TqVOpaCJOBUxheFSEMaNkJK8G3g=",
+          "dev": true
+        }
+      }
+    },
+    "wrappy": {
+      "version": "1.0.2",
+      "resolved": "http://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz",
+      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+      "dev": true
+    },
+    "xtend": {
+      "version": "4.0.1",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/xtend/-/xtend-4.0.1.tgz",
+      "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
+      "dev": true
+    },
+    "y18n": {
+      "version": "3.2.1",
+      "resolved": "http://registry.npm.taobao.org/y18n/download/y18n-3.2.1.tgz",
+      "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
+      "dev": true
+    },
+    "yallist": {
+      "version": "2.1.2",
+      "resolved": "http://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz",
+      "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
+      "dev": true
+    },
+    "yargs": {
+      "version": "7.1.0",
+      "resolved": "http://registry.npm.taobao.org/yargs/download/yargs-7.1.0.tgz",
+      "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=",
+      "dev": true,
+      "requires": {
+        "camelcase": "3.0.0",
+        "cliui": "3.2.0",
+        "decamelize": "1.2.0",
+        "get-caller-file": "1.0.3",
+        "os-locale": "1.4.0",
+        "read-pkg-up": "1.0.1",
+        "require-directory": "2.1.1",
+        "require-main-filename": "1.0.1",
+        "set-blocking": "2.0.0",
+        "string-width": "1.0.2",
+        "which-module": "1.0.0",
+        "y18n": "3.2.1",
+        "yargs-parser": "5.0.0"
+      },
+      "dependencies": {
+        "camelcase": {
+          "version": "3.0.0",
+          "resolved": "http://registry.npm.taobao.org/camelcase/download/camelcase-3.0.0.tgz",
+          "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
+          "dev": true
+        }
+      }
+    },
+    "yargs-parser": {
+      "version": "5.0.0",
+      "resolved": "http://registry.npm.taobao.org/yargs-parser/download/yargs-parser-5.0.0.tgz",
+      "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=",
+      "dev": true,
+      "requires": {
+        "camelcase": "3.0.0"
+      },
+      "dependencies": {
+        "camelcase": {
+          "version": "3.0.0",
+          "resolved": "http://registry.npm.taobao.org/camelcase/download/camelcase-3.0.0.tgz",
+          "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
+          "dev": true
+        }
+      }
+    },
+    "yauzl": {
+      "version": "2.10.0",
+      "resolved": "http://nexus.sysware.com.cn/repository/npm-public/yauzl/-/yauzl-2.10.0.tgz",
+      "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=",
+      "dev": true,
+      "requires": {
+        "buffer-crc32": "0.2.13",
+        "fd-slicer": "1.1.0"
+      }
+    }
+  }
+}

+ 39 - 0
package.json

@@ -0,0 +1,39 @@
+{
+  "name": "jiazhi",
+  "version": "0.0.2",
+  "description": "A WePY project",
+  "main": "dist/app.js",
+  "scripts": {
+    "dev": "wepy build --watch",
+    "build": "cross-env NODE_ENV=production wepy build --no-cache",
+    "dev:web": "wepy build --output web",
+    "clean": "find ./dist -maxdepth 1 -not -name 'project.config.json' -not -name 'dist' | xargs rm -rf",
+    "test": "echo \"Error: no test specified\" && exit 1"
+  },
+  "wepy": {
+    "module-a": false,
+    "./src/components/list": "./src/components/wepy-list.wpy"
+  },
+  "author": "",
+  "license": "MIT",
+  "dependencies": {
+    "wepy": "^1.6.0",
+    "wepy-async-function": "^1.4.4",
+    "wepy-com-toast": "^1.0.2"
+  },
+  "devDependencies": {
+    "babel-eslint": "^7.2.1",
+    "babel-plugin-transform-class-properties": "^6.24.1",
+    "babel-plugin-transform-decorators-legacy": "^1.3.4",
+    "babel-plugin-transform-export-extensions": "^6.22.0",
+    "babel-plugin-transform-object-rest-spread": "^6.26.0",
+    "babel-preset-env": "^1.6.1",
+    "cross-env": "^5.1.3",
+    "node-sass": "^4.9.3",
+    "wepy-compiler-babel": "^1.5.1",
+    "wepy-compiler-less": "^1.3.10",
+    "wepy-compiler-sass": "^1.3.12",
+    "wepy-plugin-imagemin": "^1.5.3",
+    "wepy-plugin-uglifyjs": "^1.3.7"
+  }
+}

+ 13 - 0
project.config.json

@@ -0,0 +1,13 @@
+{
+  "description": "A WePY project",
+  "setting": {
+    "urlCheck": true,
+    "es6": false,
+    "postcss": false,
+    "minified": false
+  },
+  "compileType": "miniprogram",
+  "appid": "touristappid",
+  "projectname": "jiazhi",
+  "miniprogramRoot": "./dist"
+}

+ 101 - 0
src/app.wpy

@@ -0,0 +1,101 @@
+<style lang="less">
+.container {
+  height: 100%;
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  justify-content: space-between;
+  box-sizing: border-box;
+}
+</style>
+
+<script>
+import wepy from 'wepy';
+import 'wepy-async-function';
+
+export default class extends wepy.app {
+  config = {
+    pages: [
+      'pages/index',
+      'pages/cases',
+      'pages/myserve',
+      'pages/my',
+      'pages/servedetail',
+      'pages/serveres',
+      'pages/material',
+      'pages/feedback',
+      'pages/questions',
+      'pages/article'
+    ],
+    window: {
+      backgroundTextStyle: 'light',
+      navigationBarBackgroundColor: '#fff',
+      navigationBarTitleText: '家芝',
+      navigationBarTextStyle: 'black'
+    },
+    tabBar: {
+      "backgroundColor":"#ffffff",
+      "selectedColor":"#ff5037",
+      "list": [{
+        "pagePath": "pages/index",
+        "iconPath":"./assets/images/1.png",
+        "selectedIconPath":"./assets/images/1-1.png",
+        "text": "家芝软装"
+      }, {
+        "pagePath": "pages/cases",
+        "iconPath":"./assets/images/2.png",
+        "selectedIconPath":"./assets/images/2-1.png",
+        "text": "优秀案例"
+      }, {
+        "pagePath": "pages/myserve",
+        "iconPath":"./assets/images/3.png",
+        "selectedIconPath":"./assets/images/3-1.png",
+        "text": "我的服务"
+      }, {
+        "pagePath": "pages/my",
+        "iconPath":"./assets/images/4.png",
+        "selectedIconPath":"./assets/images/4-1.png",
+        "text": "我的家芝"
+      }]
+    },
+  };
+
+  globalData = {
+    userInfoCanUse: false,
+    userInfo: null
+  };
+
+  constructor() {
+    super();
+    this.use('requestfix');
+  }
+
+  onLaunch() {
+    this.getUserInfo(function() {});
+  }
+
+  getUserInfo(cb) {
+    const that = this;
+    if (this.globalData.userInfo) {
+      cb(this.globalData.userInfo);
+      return this.globalData.userInfo;
+    }
+    wx.getSetting({
+      success: function(res) {
+        if (res.authSetting['scope.userInfo']) {
+          wx.getUserInfo({
+            success: function(res) {
+              that.globalData.userInfo = Object.assign({},that.globalData.userInfo,res.userInfo);
+              that.globalData.userInfoCanUse = true;
+              cb && cb(res.userInfo);
+            }
+          });
+        } else {
+          cb();
+          that.globalData.userInfoCanUse = false;
+        }
+      }
+    });
+  }
+}
+</script>

+ 26 - 0
src/assets/css/common.scss

@@ -0,0 +1,26 @@
+  page{
+    color: #333;
+  }
+  .btns {
+    display: flex;
+    width: 100%;
+    justify-content: space-around;
+  }
+  .btn {
+    width: 250rpx;
+    line-height: 70rpx;
+    border-radius: 70rpx;
+    text-align: center;
+    border: 1rpx solid #ff5037;
+    font-size: 30rpx;
+    color: #ff5037;
+    &.primary {
+      background-color: #ff5037;
+      color: #fff;
+    }
+    &.min{
+      width: 200rpx;
+      line-height: 60rpx;
+      font-size: 28rpx;
+    }
+  }

二進制
src/assets/images/1-1.png


二進制
src/assets/images/1.png


二進制
src/assets/images/2-1.png


二進制
src/assets/images/2.png


二進制
src/assets/images/3-1.png


二進制
src/assets/images/3.png


二進制
src/assets/images/4-1.png


二進制
src/assets/images/4.png


二進制
src/assets/images/add.png


二進制
src/assets/images/avatar.png


二進制
src/assets/images/close.png


二進制
src/assets/images/cover.jpg


二進制
src/assets/images/doc.pdf


二進制
src/assets/images/ico-add.png


二進制
src/assets/images/ico-arrow.png


二進制
src/assets/images/ico-checkbox-checked.png


二進制
src/assets/images/ico-checkbox.png


二進制
src/assets/images/ico-feedback.png


二進制
src/assets/images/ico-need.png


二進制
src/assets/images/ico-phone.png


二進制
src/assets/images/ico-radio-checked.png


二進制
src/assets/images/ico-radio.png


二進制
src/assets/images/ico-recharge.png


二進制
src/assets/images/ico-service.png


二進制
src/assets/images/ico-suc.png


二進制
src/assets/images/ico-task.png


二進制
src/assets/images/icons-footer.png


二進制
src/assets/images/tmp1.jpg


二進制
src/assets/images/tmp2.jpg


+ 132 - 0
src/components/exchange.wpy

@@ -0,0 +1,132 @@
+<style lang="scss">
+.mask {
+  position: fixed;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  background-color: rgba(0, 0, 0, 0.45);
+}
+.exchange-layer {
+  position: fixed;
+  width: 550rpx;
+  padding: 50rpx;
+  background: #ffffff;
+  top: 50%;
+  left: 50%;
+  transform: translate(-50%, -50%);
+  border-radius: 5rpx;
+  box-sizing: border-box;
+  .h1 {
+    display: block;
+    font-size: 30rpx;
+    padding: 42rpx 0;
+    margin-bottom: 18rpx;
+    text-align: center;
+  }
+  input {
+    border: 1rpx solid #ff5037;
+    line-height: 80rpx;
+    height: 80rpx;
+    border-radius: 5px;
+    font-size: 28rpx;
+    padding: 0 23rpx;
+    margin-bottom: 15rpx;
+  }
+  .tip {
+    font-size: 24rpx;
+    margin: 0 0 0 23rpx;
+    color: #ff5037;
+  }
+  .btns {
+    margin-top: 34rpx;
+    .btn{
+      position: relative;
+      button{
+        position: absolute;
+        width: 100%;
+        height: 100%;
+        left: 0;
+        top: 0;
+        opacity: 0;
+      }
+    }
+  }
+  .close {
+    position: absolute;
+    width: 28rpx;
+    height: 28rpx;
+    background: url(http://app.jiazhihome.com/data/upload/1/2018/09/02/3d7663de51f0d7f3b0ad35ff553188e9.png) no-repeat;
+    background-size: cover;
+    right: 41rpx;
+    top: 41rpx;
+  }
+}
+</style>
+<template>
+  <view>
+    <view class="mask" style="display:{{show?'block':'none'}}"></view>
+    <view class="exchange-layer" style="display:{{show?'block':'none'}}">
+      <form bindsubmit="doExchange">
+      <text class="h1">输入兑换码</text>
+      <input type="text" name="code" value="{{code}}"/>
+      <view class="tip" wx:if="{{tip}}">{{tip}}</view>
+      <view class="btns"><view class="btn primary">兑换<button formType="submit"></button></view></view>
+      <view class="close" @tap="closelayer"></view>
+      </form>
+    </view>
+  </view>
+</template>
+<script>
+import wepy from 'wepy';
+// import baseMixin from '../mixins/base';
+
+export default class Exchange extends wepy.component {
+  props = {};
+
+  data = {
+    show: false,
+    tip: '',
+    code : ''
+  };
+  events = {};
+  mixins = [];
+  watch = {};
+
+  methods = {
+    doExchange(e) {
+      let self = this;
+      if(!e.detail.value.code){
+        this.tip = "兑换码不能为空!";
+      }else{
+        this.$parent.request("/service/?l=api.code",{
+          data : {
+            product_id:this.serveId,
+            code:e.detail.value.code
+          },
+          success(res){
+            let d = res.data;
+            if(d.status != 1){
+              self.tip = d.msg;
+              self.$apply();
+            }else{
+              self.$emit('exchange-res', 1);
+            }
+          }
+        })
+      }
+    },
+    closelayer() {
+      this.show = false;
+      this.tip = '';
+      this.code = '';
+    },
+    show(serveId) {
+      // console.log(arguments)
+      this.serveId = serveId;
+      this.show = true;
+    }
+  };
+  onLoad() {}
+}
+</script>

+ 141 - 0
src/components/footer.wpy

@@ -0,0 +1,141 @@
+<style lang="scss">
+.footer {
+  position: fixed;
+  width: 100%;
+  bottom: 0;
+  left: 0;
+  display: flex;
+  background-color: #fff;
+  justify-content: space-around;
+  border-top: 1rpx solid #e5e5e5;
+  & > navigator,
+  .navigator {
+    display: flex;
+    flex-direction: column;
+    font-size: 20rpx;
+    align-items: center;
+    flex: 1;
+    padding: 10rpx 0;
+    &.active {
+      color: #ff5037;
+    }
+  }
+  .icon {
+    display: block;
+    background: url(http://app.jiazhihome.com/data/upload/1/2018/09/02/986f14eb387c786a4dd936eddac76662.png)
+      no-repeat;
+    background-size: 300rpx 120rpx;
+    width: 75rpx;
+    content: '';
+    height: 60rpx;
+  }
+  .decoration {
+    &:before {
+      @extend .icon;
+      background-position: left top;
+    }
+    &.active {
+      &:before {
+        background-position: left bottom;
+      }
+    }
+  }
+  .case {
+    &:before {
+      @extend .icon;
+      background-position: -75rpx top;
+    }
+    &.active {
+      &:before {
+        background-position: -75rpx bottom;
+      }
+    }
+  }
+  .serve {
+    &:before {
+      @extend .icon;
+      background-position: -150rpx top;
+    }
+    &.active {
+      &:before {
+        background-position: -150rpx bottom;
+      }
+    }
+  }
+  .my {
+    &:before {
+      @extend .icon;
+      background-position: -225rpx top;
+    }
+    &.active {
+      &:before {
+        background-position: -225rpx bottom;
+      }
+    }
+  }
+}
+</style>
+<template>
+  <view class="footer">
+    <navigator url="/pages/index" open-type="reLaunch" class="decoration {{active=='decoration'?'active':''}}">
+        <text>家芝软装</text>
+    </navigator>
+    <navigator url="/pages/cases" open-type="reLaunch" class="case {{active=='case'?'active':''}}">
+        <text>优秀案例</text>
+    </navigator>
+    <view @tap="redirectUrl" data-url="/pages/myserve" class="navigator serve {{active=='serve'?'active':''}}">
+        <text>我的服务</text>
+    </view>
+    <view @tap="redirectUrl" data-url="/pages/my" class="navigator my {{active=='my'?'active':''}}">
+        <text>我的家芝</text>
+    </view>
+  </view>
+</template>
+<script>
+import wepy from 'wepy';
+
+export default class Footer extends wepy.component {
+  props = {
+    active: {
+      type: [String],
+      coerce: function(v) {
+        return v;
+      },
+      default: 'decoration'
+    }
+  };
+
+  data = {};
+  events = {};
+
+  watch = {};
+
+  methods = {
+    redirectUrl(e) {
+      let url = e.currentTarget.dataset.url;
+      if (!this.$parent.userInfoCanUse) {
+        this.$parent.$invoke('login', 'show', function() {
+          wx.navigateTo({
+            url: url
+          });
+        });
+      } else {
+        // let tu = '';
+        // getCurrentPages().forEach((p, i) => {
+        //   if ('/'+p.route == url) {
+        //     wx.navigateBack({
+        //       delta:i
+        //     });
+        //   }
+        // });
+        // if (!tu) {
+          wx.reLaunch({
+            url: url
+          });
+        // }
+      }
+    }
+  };
+  onLoad() {}
+}
+</script>

+ 100 - 0
src/components/login.wpy

@@ -0,0 +1,100 @@
+<style lang="scss">
+@import '../assets/css/common.scss';
+.login-container {
+  position: fixed;
+  width: 100%;
+  height: 100%;
+  left: 0;
+  top: 0;
+  background-color: #fff;
+  .cover {
+    width: 750rpx;
+  }
+  .ctrls {
+    padding-top: 58rpx;
+    text {
+      display: block;
+      text-align: center;
+      font-size: 30rpx;
+      line-height: 45rpx;
+      font-weight: bolder;
+      margin-bottom: 58rpx;
+    }
+    .btn {
+      width: 480rpx;
+      line-height: 90rpx;
+      position: relative;
+      margin: 0 auto;
+      button {
+        position: absolute;
+        width: 100%;
+        height: 100%;
+        left: 0;
+        top: 0;
+        opacity: 0;
+      }
+    }
+  }
+}
+</style>
+<template>
+  <view class="login-container" wx:if="{{show}}">
+    <image class="cover" src="http://app.jiazhihome.com/data/upload/1/2018/09/02/4b1c59c7728e2b1cb65f6cb20aaf5cf9.jpg" mode="widthFix" />
+    <view class="ctrls">
+        <text>授权后才可以使用进行家芝软装服务\n感谢您的支持</text>
+        <view class="btn primary">登录授权<button open-type="getUserInfo" lang="zh_CN" bindgetuserinfo="onGotUserInfo">获取用户信息</button></view>
+    </view>
+  </view>
+</template>
+
+<script>
+import wepy from 'wepy';
+
+export default class Login extends wepy.component {
+  data = {
+    show: false,
+    callback: function() {}
+  };
+  components = {};
+  computed = {};
+  watch = {};
+
+  methods = {
+    onGotUserInfo: function(e) {
+      let userInfo = JSON.parse(e.detail.rawData);
+      this.$parent.userInfoCanUse = true;
+      this.$parent.$apply();
+      this.show = false;
+      this.callback();
+      
+      this.$parent.request('/passport/?l=applet.update', {
+        data: {
+          nickname: userInfo.nickName,
+          avatarurl: userInfo.avatarUrl,
+          iv: e.detail.iv,
+          encryptedData: e.detail.encryptedData,
+          vid: wepy.getStorageSync('vid'),
+          uid: wepy.getStorageSync('uid'),
+          signature: wepy.getStorageSync('signature')
+        },
+        success: function(d) {
+          console.log(d);
+        }
+      });
+    },
+    show(callback) {
+      this.show = true;
+      this.callback = callback;
+      this.$apply();
+    },
+    hide() {
+      this.show = false;
+      this.$apply();
+    }
+  };
+
+  events = {};
+
+  onLoad() {}
+}
+</script>

+ 129 - 0
src/mixins/base.js

@@ -0,0 +1,129 @@
+import wepy from 'wepy'
+
+export default class baseMixin extends wepy.mixin {
+  data = {
+    baseurl: 'https://app.jiazhihome.com',
+    userInfoCanUse: false
+  }
+  methods = {
+    doExchange(e) {
+      let self = this;
+      if (!this.$parent.globalData.userInfoCanUse) {
+        this.$invoke('login', 'show', function () {
+          self.$invoke('exchange', 'show', e.currentTarget.dataset.id);
+        });
+      } else {
+        this.$invoke('exchange', 'show', e.currentTarget.dataset.id);
+      }
+    },
+    pay(e) {
+      let self = this;
+      if (!this.$parent.globalData.userInfoCanUse) {
+        this.$invoke('login', 'show', function () {
+          self.doPay(e.currentTarget.dataset.id)
+        });
+      } else {
+        this.doPay(e.currentTarget.dataset.id)
+      }
+    }
+  }
+  events = {
+    'showlogin': (res) => {
+      this.$invoke('login', 'show', function () {
+        console.log('dfsfds')
+      });
+    }
+  };
+
+  doPay(product_id) {
+    let self = this;
+    self.request('/service/?l=api.buy', {
+      data: {
+        product_id: product_id
+      },
+      success(res) {
+        let payData = res.data.data.pay;
+        wx.requestPayment({
+          'timeStamp': payData.time,
+          'nonceStr': payData.nonce_str,
+          'package': `prepay_id=${payData.prepay_id}`,
+          'signType': payData.sign_type,
+          'paySign': payData.sign,
+          'success': function (res) {},
+          'fail': function (res) {}
+        })
+      }
+    })
+  }
+
+  updateUser() {
+    // console.log(this.$parent)
+    // this.userInfoCanUse = true;
+    // this.$apply();    
+  }
+
+  request = function (url, params) {
+    this.initUser(() => {
+      params.data = Object.assign({
+        json: 1,
+        signature: this.$parent.globalData.signature
+      }, params.data);
+      wepy.request(Object.assign({}, {
+        url: `${this.baseurl}${url}`
+      }, params))
+    })
+  }
+
+  initUser = function (cb,refresh) {
+    let self = this;
+    let signature = wepy.getStorageSync("signature");
+    if (signature && !refresh) {
+      self.$parent.globalData.signature = signature;
+      self.$parent.globalData.uid = wepy.getStorageSync("uid");
+      self.$parent.globalData.vid = wepy.getStorageSync("vid");
+      self.$parent.globalData.phoneNumber = wepy.getStorageSync("phoneNumber");
+      self.sign = true;
+      cb()
+    } else {
+      wepy.login({
+        success: res => {
+          wepy.request({
+            url: `${this.baseurl}/passport/?l=applet.bind`,
+            data: {
+              code: res.code
+            },
+            success(res) {
+              let data = res.data.data;
+              Object.assign(self.$parent.globalData, data)
+              wepy.setStorageSync("signature", data.signature);
+              wepy.setStorageSync("uid", data.uid);
+              wepy.setStorageSync("vid", data.vid);
+              wepy.setStorageSync("phoneNumber", data.mobile);
+              self.sign = true;
+              cb()
+            }
+          })
+        }
+      })
+    }
+  }
+
+  onShow() {
+    if (this.$parent.globalData.userInfoCanUse) {
+      if(this.components.login)
+      this.$invoke('login', 'hide');
+    }
+
+  }
+
+  onLoad() {
+    this.$parent.getUserInfo((res) => {
+      if (!res) {
+        this.userInfoCanUse = false;
+      } else {
+        this.userInfoCanUse = true;
+      }
+      this.$apply();
+    })
+  }
+}

+ 83 - 0
src/pages/article.wpy

@@ -0,0 +1,83 @@
+<style lang="scss">
+@import '../assets/css/common.scss';
+
+.container {
+  // padding-bottom: 174rpx;
+}
+.caselist {
+  .case {
+    margin-bottom: 50rpx;
+    video {
+      width: 750rpx;
+      height: 390rpx;
+    }
+    text {
+      display: block;
+      font-size: 30rpx;
+      line-height: 30rpx;
+      padding: 35rpx 0 40rpx;
+      margin: 0 39rpx;
+      border-bottom: 1rpx solid #e5e5e5;
+    }
+    &:last-child {
+      text {
+        border-bottom: 0;
+      }
+    }
+  }
+}
+.sign-up {
+  position: fixed;
+  background-color: #fff;
+  left: 0;
+  bottom: 110rpx;
+  display: flex;
+  width: 750rpx;
+  box-sizing: border-box;
+  padding: 35rpx 30rpx;
+  justify-content: space-between;
+  align-items: center;
+  border-top: 1rpx solid #e5e5e5;
+  .h3 {
+    color: #000;
+    font-size: 34rpx;
+    margin-bottom: 20rpx;
+  }
+  .p {
+    font-size: 26rpx;
+  }
+}
+</style>
+<template>
+  <view class="container">
+      <web-view src="{{location}}"></web-view>
+  </view>
+</template>
+
+<script>
+import wepy from 'wepy';
+
+export default class Article extends wepy.page {
+  config = {
+    navigationBarTitleText: '家芝'
+  };
+
+  data = {
+    location:''
+  };
+  components = {
+  };
+  computed = {
+    now() {
+      return +new Date();
+    }
+  };
+  methods = {};
+
+  events = {};
+
+  onLoad(options) {
+    this.location = options.location;
+  }
+}
+</script>

+ 109 - 0
src/pages/cases.wpy

@@ -0,0 +1,109 @@
+<style lang="scss">
+@import '../assets/css/common.scss';
+
+.container {
+  // padding-bottom: 174rpx;
+}
+.caselist {
+  .case {
+    margin-bottom: 50rpx;
+    video {
+      width: 750rpx;
+      height: 376rpx;
+    }
+    text {
+      display: block;
+      font-size: 30rpx;
+      line-height: 30rpx;
+      padding: 35rpx 0 40rpx;
+      margin: 0 39rpx;
+      border-bottom: 1rpx solid #e5e5e5;
+    }
+    &:last-child {
+      text {
+        border-bottom: 0;
+      }
+    }
+  }
+}
+.sign-up {
+  // position: fixed;
+  background-color: #fff;
+  // left: 0;
+  // bottom: 110rpx;
+  display: flex;
+  width: 750rpx;
+  box-sizing: border-box;
+  padding: 35rpx 30rpx;
+  justify-content: space-between;
+  align-items: center;
+  border-top: 1rpx solid #e5e5e5;
+  .h3 {
+    color: #000;
+    font-size: 34rpx;
+    margin-bottom: 20rpx;
+  }
+  .p {
+    font-size: 26rpx;
+  }
+}
+</style>
+<template>
+  <view class="container">
+      <view class="caselist">
+        <view class="case" wx:for="{{video}}">
+            <video poster="{{item.pic}}" src="{{item.video}}" ></video>
+            <text>{{item.name}}</text>
+        </view>
+    </view>
+    <view class="sign-up">
+        <view>
+            <view class="h3">现在报名</view>
+            <view class="p">就有机会获得大咖设计师现场改造</view>
+        </view>
+        <view>
+            <view class="btn">参加软装任务</view>
+        </view>
+    </view>
+    <!-- <footer active="case"></footer> -->
+  </view>
+</template>
+
+<script>
+import wepy from 'wepy';
+import Footer from '../components/footer';
+import baseMixin from '../mixins/base';
+
+export default class Index extends wepy.page {
+  config = {
+    navigationBarTitleText: '家芝'
+  };
+
+  data = {
+    video: []
+  };
+  components = {
+    footer: Footer
+  };
+  computed = {
+    now() {
+      return +new Date();
+    }
+  };
+  mixins = [baseMixin];
+  methods = {};
+
+  events = {};
+
+  onLoad() {
+    let self = this;
+    self.request('/service/?l=api.video', {
+      success: function(d) {
+        let data = d.data.data;
+        self.video = data.video;
+        self.$apply();
+      }
+    });
+  }
+}
+</script>

+ 217 - 0
src/pages/feedback.wpy

@@ -0,0 +1,217 @@
+<style lang="scss">
+@import '../assets/css/common.scss';
+
+.container {
+  padding-bottom: 144rpx;
+  .article {
+    width: 690rpx;
+    margin: 0 auto;
+    .h1 {
+      display: block;
+      font-size: 36rpx;
+      font-weight: bolder;
+      margin: 41rpx 0 47rpx;
+    }
+    image {
+      display: block;
+      width: 100%;
+      border-radius: 10rpx;
+    }
+    .btns {
+      margin: 57rpx 0 71rpx;
+    }
+  }
+  .list {
+    width: 690rpx;
+    margin: 0 auto;
+    .h2 {
+      font-weight: bolder;
+      font-size: 30rpx;
+      display: flex;
+      flex-direction: column;
+      justify-content: center;
+      align-items: center;
+      padding: 48rpx 0 0;
+      border-top: 1rpx solid #e5e5e5;
+      &:after {
+        display: block;
+        content: '';
+        background-color: #ff5037;
+        width: 80rpx;
+        height: 6rpx;
+        margin-top: 15rpx;
+      }
+    }
+    .goods-list {
+      padding-top: 43rpx;
+      border-bottom: 1rpx solid #e5e5e5;
+    }
+    .goods {
+      display: flex;
+      justify-content: space-between;
+      margin-bottom: 43rpx;
+      image {
+        width: 230rpx;
+        height: 230rpx;
+        margin-right: 23rpx;
+        border-radius: 5rpx;
+      }
+      & > view {
+        flex: 1;
+        display: flex;
+        flex-direction: column;
+        justify-content: space-between;
+        padding: 30rpx 0 0;
+        & > text {
+          font-size: 30rpx;
+          line-height: 44rpx;
+        }
+        & > view {
+          width: 100%;
+          display: flex;
+          justify-content: space-between;
+          align-items: center;
+          text {
+            font-size: 30rpx;
+            color: #666;
+          }
+        }
+      }
+    }
+    .more {
+      padding: 31rpx 0 48rpx;
+      display: flex;
+      justify-content: center;
+      navigator {
+        color: #666;
+        font-size: 26rpx;
+      }
+    }
+  }
+}
+.bbar {
+  position: fixed;
+  background-color: #fff;
+  left: 0;
+  bottom: 0;
+  display: flex;
+  width: 750rpx;
+  box-sizing: border-box;
+  padding: 35rpx 30rpx;
+  justify-content: space-between;
+  align-items: center;
+  border-top: 1rpx solid #e5e5e5;
+  .h3 {
+    color: #000;
+    font-size: 34rpx;
+    margin-bottom: 20rpx;
+  }
+  .p {
+    font-size: 26rpx;
+  }
+}
+</style>
+<template>
+  <view class="container">
+    <view class="article">
+        <view class="h1">
+            <text>软装服务介绍</text>
+        </view>
+        <image class="banner" src="http://192.168.11.108/assets/jiazhi/tmp1.jpg" mode="widthFix" />
+        <view class="btns">
+            <view class="btn primary">浏览详细方案</view>
+        </view>
+    </view>
+    <view class="list">
+        <view class="h2">软装商品清单</view>
+        <view class="goods-list">
+            <view class="goods">
+                <image src="http://192.168.11.108/assets/jiazhi/tmp2.jpg" />
+                <view>
+                    <text>商品名称商品名称商品名称商品品名称</text>
+                    <view>
+                        <text>¥599</text>
+                        <view class="btn min primary">购买</view>
+                    </view>
+                </view>
+            </view>
+            <view class="goods">
+                <image src="http://192.168.11.108/assets/jiazhi/tmp2.jpg" />
+                <view>
+                    <text>商品名称商品名称商品名称商品品名称</text>
+                    <view>
+                        <text>¥599</text>
+                        <view class="btn min primary">购买</view>
+                    </view>
+                </view>
+            </view>
+            <view class="goods">
+                <image src="http://192.168.11.108/assets/jiazhi/tmp2.jpg" />
+                <view>
+                    <text>商品名称商品名称商品名称商品品名称</text>
+                    <view>
+                        <text>¥599</text>
+                        <view class="btn min primary">购买</view>
+                    </view>
+                </view>
+            </view>
+        </view>
+        <view class="more">
+            <navigator>查看全部4件商品》</navigator>
+        </view>
+    </view>
+    <view class="bbar">
+        <view class="btns">
+            <view class="btn">在线客服</view>
+            <view class="btn" @tap="openPDF">打开PDF</view>
+        </view>
+    </view>
+  </view>
+</template>
+
+<script>
+import wepy from 'wepy';
+
+export default class Feedback extends wepy.page {
+  config = {
+    navigationBarTitleText: '家芝'
+  };
+
+  data = {
+    cases: []
+  };
+  components = {};
+  computed = {
+    now() {
+      return +new Date();
+    }
+  };
+
+  methods = {
+    openPDF() {
+        console.log('in..')
+      wx.downloadFile({
+        url: 'http://192.168.11.108/assets/jiazhi/doc.pdf',
+        success: function(res) {
+          var filePath = res.tempFilePath;
+          console.log(filePath)
+          wx.openDocument({
+            filePath: filePath,
+            success: function(res) {
+              console.log('打开文档成功');
+            }
+          });
+        }
+      });
+    }
+  };
+
+  events = {
+    'exchange-res': (res, event) => {
+      console.log(res, event);
+    }
+  };
+
+  onLoad() {}
+}
+</script>

+ 246 - 0
src/pages/index.wpy

@@ -0,0 +1,246 @@
+<style lang="scss">
+@import '../assets/css/common.scss';
+
+.container {
+  // padding-bottom: 110rpx;
+}
+.swiper {
+  width: 750rpx;
+  height: 390rpx;
+  swiper-item,
+  .slide-image {
+    width: 750rpx;
+    height: 390rpx;
+  }
+}
+.desc {
+  width: 680rpx;
+  margin: 30rpx auto 42rpx;
+  border: 1rpx solid #c8c8c8;
+  padding: 35rpx 30rpx;
+  box-sizing: border-box;
+  .title {
+    font-size: 30rpx;
+    font-weight: bolder;
+    margin-bottom: 15rpx;
+  }
+  .text {
+    font-size: 22rpx;
+    line-height: 35rpx;
+    color: rgba(50, 50, 50, 1);
+  }
+}
+.liuc-tit {
+  font-size: 26rpx;
+  color: rgba(51, 51, 51, 1);
+  line-height: 40rpx;
+  margin-bottom: 49rpx;
+  text-align: center;
+}
+.liuc {
+  width: 690rpx;
+  display: flex;
+  justify-content: space-around;
+  margin: 0 auto 40rpx;
+  border-bottom: 1rpx solid #e5e5e5;
+  padding-bottom: 35rpx;
+  .icon {
+    &:before {
+      width: 63rpx;
+      height: 63rpx;
+      display: block;
+      content: '';
+      background: url(http://app.jiazhihome.com/data/upload/1/2018/09/02/eee4e409bfc6c0bd0837a7d3a5a740e7.png)
+        no-repeat;
+      background-size: 63rpx 63rpx;
+      margin: 0 auto 22rpx;
+    }
+    text {
+      font-size: 22rpx;
+      color: #333333;
+    }
+  }
+  .task {
+    @extend .icon;
+  }
+  .recharge {
+    @extend .icon;
+    &:before {
+      background-image: url(http://app.jiazhihome.com/data/upload/1/2018/09/02/9b2a16c7add8396634cb7c03ac817655.png);
+    }
+  }
+  .need {
+    @extend .icon;
+    &:before {
+      background-image: url(http://app.jiazhihome.com/data/upload/1/2018/09/02/a28297d8752c50fd9f50fe19b2b80267.png);
+    }
+  }
+  .feedback {
+    @extend .icon;
+    &:before {
+      background-image: url(http://app.jiazhihome.com/data/upload/1/2018/09/02/f0a6430d85e3cd1925b197cb198fa84d.png);
+    }
+  }
+}
+.card {
+  width: 680rpx;
+  margin: 0 auto 30rpx;
+  border: 1rpx solid rgba(100, 100, 100, 0.3);
+  box-shadow: 0 5rpx 10rpx rgba(100, 100, 100, 0.3);
+  border-radius: 15rpx;
+  padding-bottom: 45rpx;
+  image {
+    width: 100%;
+    height: 350rpx;
+    border-radius: 15rpx 15rpx 0 0;
+  }
+  .cont {
+    padding: 30rpx 30rpx 45rpx;
+    .tit {
+      display: flex;
+      justify-content: space-between;
+      align-items: center;
+      font-size: 36rpx;
+      font-weight: bolder;
+      .prize {
+        color: #ff5037;
+        margin-left: 13rpx;
+      }
+      navigator {
+        font-weight: normal;
+        font-size: 24rpx;
+        text-decoration: underline;
+        color: #999;
+      }
+    }
+    .p {
+      font-size: 24rpx;
+      margin-top: 23rpx;
+      color: rgba(102, 102, 102, 1);
+      line-height: 36rpx;
+    }
+  }
+}
+.tip {
+  color: #999999;
+  font-size: 24rpx;
+  margin-bottom: 30rpx;
+  display: flex;
+  navigator {
+    color: #ff5037;
+    text-decoration: underline;
+  }
+}
+</style>
+<template>
+  <view class="container">
+    <swiper class="swiper" indicator-dots="true" autoplay="true" indicator-color="rgba(255,255,255,0.3)" indicator-active-color="rgba(255,255,255,1)"	>
+        <block wx:for="{{focus}}">
+            <swiper-item>
+              <block wx:if="{{item.link}}">
+                <navigator url="/pages/article?location={{item.link}}">
+                  <image src="{{item.pic}}" class="slide-image" mode="widthFix"/>
+                </navigator>
+              </block>
+              <block wx:else>
+                <image src="{{item.pic}}" class="slide-image" mode="widthFix"/>
+              </block>
+            </swiper-item>
+        </block>
+    </swiper>
+    <view class="desc">
+        <view class="title">软装服务是什么?</view>
+        <view class="text">软装是“家的造型师”。相对于硬装敲墙打地,软装通过色彩、布局、家具家居饰品的搭配,简单轻松的让家变美变舒适。</view>
+    </view>
+    <view class="liuc-tit">家芝软装服务流程</view>
+    <view class="liuc">
+        <view class="task">
+            <text>软装任务</text>
+        </view>
+        <view class="recharge">
+            <text>服务兑换</text>
+        </view>
+        <view class="need">
+            <text>提交需求</text>
+        </view>
+        <view class="feedback">
+            <text>改造反馈</text>
+        </view>
+    </view>
+    <view class="card" wx:for="{{product}}">
+        <image src="{{item.pics[0]}}" mode="widthFix" />
+        <view class="cont">
+            <view class="tit"><view>{{item.name}}<text class="prize">{{item.price}}</text></view><navigator url="/pages/servedetail?id={{item.id}}">查看详情</navigator></view>
+            <view class="p">{{item.info}}</view>
+        </view>
+        <view class="btns">
+            <view class="btn primary" wx:if="{{item.type2}}" @tap="doExchange" data-id="{{item.id}}">免费兑换</view>
+            <view class="btn" @tap="pay" wx:if="{{item.type1}}" data-id="{{item.id}}" data-cash="{{item.cash}}">购买</view>
+        </view>
+    </view>
+    <view class="tip">
+        还没有兑换码,马上参与<navigator>软装任务</navigator>
+    </view>
+    <!-- <footer></footer> -->
+    <exchange></exchange>
+    <login></login>
+  </view>
+</template>
+
+<script>
+import wepy from 'wepy';
+import Footer from '../components/footer';
+import Exchange from '../components/exchange';
+import Login from '../components/login';
+import baseMixin from '../mixins/base';
+
+export default class Index extends wepy.page {
+  config = {
+    navigationBarTitleText: '家芝'
+  };
+
+  data = {
+    focus:{},
+    product:[]
+  };
+
+  mixins = [baseMixin];
+
+  components = {
+    footer: Footer,
+    exchange: Exchange,
+    login: Login
+  };
+  computed = {
+    
+  };
+
+  methods = {
+    
+  };
+
+  events = {
+    'exchange-res': (res, event) => {
+      console.log(res, event);
+    }
+  };
+  onLoad() {
+    let self = this;
+    self.request('/service/?l=api.home', {
+      success: function(d) {
+        let data = d.data.data;
+        self.focus = data.focus;
+        data.product.map(pro =>{
+          let types = pro.type.split(',');
+          pro.pics = pro.pic.split(',')
+          pro.type1 = types.includes('1');
+          pro.type2 = types.includes('2');
+          return pro;
+        })
+        self.product = data.product;
+        self.$apply();
+      }
+    });
+  }
+}
+</script>

+ 103 - 0
src/pages/material.wpy

@@ -0,0 +1,103 @@
+<style lang="scss">
+@import '../assets/css/common.scss';
+
+.container {
+  padding: 0 37rpx;
+  .h1 {
+    font-weight: bolder;
+    font-size: 30rpx;
+    display: flex;
+    flex-direction: column;
+    justify-content: center;
+    align-items: center;
+    padding: 50rpx 0 0;
+    margin-bottom: 45rpx;
+    &:after {
+      display: block;
+      content: '';
+      background-color: #ff5037;
+      width: 80rpx;
+      height: 6rpx;
+      margin-top: 15rpx;
+    }
+  }
+  .form-item {
+    width: 100%;
+    margin-bottom: 70rpx;
+    .label {
+      font-size: 28rpx;
+      margin-bottom: 36rpx;
+      display: block;
+    }
+    input{
+        border: 1rpx solid #C8C8C8;
+        height: 80rpx;
+        font-size: 24rpx;
+    }
+    .imglist{
+        display: flex;
+        flex-wrap: wrap;
+        justify-content: space-between;
+        image,.img-selector{
+            width: 200rpx;
+            height: 200rpx;
+            border: 1rpx solid #C8C8C8;
+            border-radius: 5rpx;
+        }
+        .img-selector{
+            background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTk3MUJGN0NBMzEzMTFFOEExRDhDMTUyQkY0MkEzRkYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTk3MUJGN0RBMzEzMTFFOEExRDhDMTUyQkY0MkEzRkYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1OTcxQkY3QUEzMTMxMUU4QTFEOEMxNTJCRjQyQTNGRiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo1OTcxQkY3QkEzMTMxMUU4QTFEOEMxNTJCRjQyQTNGRiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PhgwqEAAAAC0SURBVHja7NmxCoQwEITh5AR94eusLYQ8Wl7ooqIbVAiWB44Q/4GB7ZYP1GL1MUYnymD9HnOw9oqlXgicrc0xJ2unWPpxujTF3KqWKoGPBCBAgAABAgQIECBAgAABAgQIECBAgP8A88X5Z11v7jV378umIV+2y4tzbUmveERHt/8rqC2TNSh/vlzfQ89XFCBAgAABAgQIECBAgAABAgQIECBAgJUDl2JONQLPC3puUC3dBBgA+IlL1Z91O5EAAAAASUVORK5CYII=) no-repeat center center;
+            background-size: 56rpx 56rpx;
+        }
+    }
+  }
+  .btns{
+      padding-top: 43rpx;
+  }
+}
+</style>
+<template>
+  <view class="container">
+    <view class="h1">补充资料</view>
+    <view class="form-item">
+        <text class="label">文字备注</text>
+        <input type="text" />
+    </view>
+    <view class="form-item">
+        <text class="label">图片备注</text>
+        <view class="imglist">
+            <image src="http://192.168.11.108/assets/jiazhi/tmp2.jpg" />
+            <image src="http://192.168.11.108/assets/jiazhi/tmp2.jpg" />
+            <view class="img-selector"></view>
+        </view>
+    </view>
+    <view class="btns">
+        <view class="btn primary">提交</view>
+    </view>
+  </view>
+</template>
+
+<script>
+import wepy from 'wepy';
+
+export default class Material extends wepy.page {
+  config = {
+    navigationBarTitleText: '家芝'
+  };
+
+  data = {
+    cases: []
+  };
+  components = {};
+  computed = {
+    now() {
+      return +new Date();
+    }
+  };
+
+  methods = {};
+
+  events = {};
+
+  onLoad() {}
+}
+</script>

+ 192 - 0
src/pages/my.wpy

@@ -0,0 +1,192 @@
+<style lang="scss">
+@import '../assets/css/common.scss';
+
+.container {
+  // padding-bottom: 110rpx;
+}
+.profile {
+  padding: 80rpx 0 67rpx;
+  display: flex;
+  align-items: center;
+  flex-direction: column;
+  .avatar {
+    width: 140rpx;
+    border: 5rpx solid #fff;
+    box-shadow: 0 0 25rpx rgba(0, 0, 0, 0.35);
+    border-radius: 50%;
+    margin-bottom: 35rpx;
+    image {
+      width: 140rpx;
+      height: 140rpx;
+      display: block;
+      border-radius: 50%;
+    }
+  }
+  .nick {
+    font-size: 36rpx;
+    color: #333;
+    font-weight: bolder;
+  }
+}
+.navs {
+  width: 690rpx;
+  margin: 0 auto;
+  border-top: 1rpx solid #e5e5e5;
+  .item {
+    display: flex;
+    justify-content: space-between;
+    position: relative;
+    height: 108rpx;
+    align-items: center;
+    border-bottom: 1rpx solid #e5e5e5;
+    font-size: 28rpx;
+    & > view:last-child {
+      margin-right: 50rpx;
+    }
+    .val {
+      color: #666;
+    }
+    button {
+      position: absolute;
+      left: 0;
+      top: 0;
+      width: 100%;
+      height: 100%;
+      z-index: 1;
+      opacity: 0;
+      /*background-color: #f90;*/
+    }
+    &:after {
+      position: absolute;
+      right: 0;
+      content: '';
+      width: 14rpx;
+      height: 21rpx;
+      background: url(http://app.jiazhihome.com/data/upload/1/2018/09/02/cf3df8b87229b713e5d5a3dc07ff6d74.png)
+        no-repeat;
+      background-size: cover;
+      display: block;
+    }
+    .label {
+      display: flex;
+    }
+  }
+}
+
+.ico-phone {
+  display: block;
+  width: 42rpx;
+  height: 42rpx;
+  background: url(http://app.jiazhihome.com/data/upload/1/2018/09/02/166a355726579a805c7d121f899ce011.png)
+    no-repeat;
+  background-size: cover;
+  margin-right: 20rpx;
+}
+.ico-service {
+  display: block;
+  width: 42rpx;
+  height: 42rpx;
+  background: url(http://app.jiazhihome.com/data/upload/1/2018/09/02/167a874246ae09dccb835e6c7f8e37d1.png)
+    no-repeat;
+  background-size: cover;
+  margin-right: 20rpx;
+}
+</style>
+<template>
+  <view class="container">
+    <view class="profile">
+        <view class="avatar">
+            <image src="{{userInfo.avatarUrl}}" />
+        </view>
+        <view class="nick">{{userInfo.nickName}}</view>
+    </view>
+    <view class="navs">
+        <view class="item">
+            <view class="label"><text class="ico-phone"></text>{{userInfo.phoneNumber?"已绑定手机":"还未绑定手机"}}</view>
+            <button wx:if="{{!userInfo.phoneNumber}}" open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber"></button>
+            <view class="val">{{userInfo.phoneNumber||""}}</view>
+        </view>
+        <view class="item">
+            <view class="label"><text class="ico-service"></text>在线客服</view>
+            <button open-type="contact"></button>
+        </view>
+    </view>
+    <!-- <footer active="my"></footer> -->
+    <login></login>
+  </view>
+</template>
+
+<script>
+import wepy from 'wepy';
+import Footer from '../components/footer';
+import Login from '../components/login';
+import baseMixin from '../mixins/base';
+
+export default class My extends wepy.page {
+  config = {
+    navigationBarTitleText: '家芝'
+  };
+
+  data = {
+    userInfo: {}
+  };
+  components = {
+    login: Login,
+    footer: Footer
+  };
+  computed = {
+    now() {
+      return +new Date();
+    }
+  };
+  mixins = [baseMixin];
+
+  methods = {
+    getPhoneNumber(e) {
+      let self = this;
+      self.request('/passport/?l=applet.mobile', {
+        data: {
+          iv: e.detail.iv,
+          encryptedData: e.detail.encryptedData,
+          uid: wepy.getStorageSync('uid'),
+          vid: wepy.getStorageSync('vid')
+        },
+        success: function(d) {
+          let data = d.data.data;
+          // console.log(data)
+          self.userInfo.phoneNumber = data.mobile;
+        }
+      });
+    }
+  };
+
+  events = {};
+
+  onShow() {
+    !this.inited && this.initFunc()
+  }
+
+  initFunc() {
+    this.$parent.getUserInfo(userinfo => {
+      this.userInfo = Object.assign({},this.$parent.globalData.userInfo, userinfo);
+      this.$apply();
+      if (!this.$parent.globalData.userInfoCanUse) {
+        this.$invoke('login', 'show', () => {
+          this.initFunc();
+        });
+      } else {
+        this.$invoke('login', 'hide');
+        this.initUser(() => {
+          this.userInfo.phoneNumber = wepy.getStorageSync('phoneNumber');
+          this.inited = true;
+          this.$apply();
+        }, 1);
+      }
+    });
+  }
+
+  onLoad() {
+    // this.initFunc();
+  }
+}
+</script>

+ 171 - 0
src/pages/myserve.wpy

@@ -0,0 +1,171 @@
+<style lang="scss">
+@import '../assets/css/common.scss';
+
+.container {
+  // padding-bottom: 110rpx;
+}
+.servelist {
+  .serve {
+    margin: 0 auto 20rpx;
+    box-sizing: border-box;
+    padding: 40rpx 20rpx 40rpx 30rpx;
+    border: 1rpx solid rgba(100, 100, 100, 0.3);
+    box-shadow: 0 5rpx 10rpx rgba(100, 100, 100, 0.3);
+    border-radius: 10rpx;
+    width: 680rpx;
+    .h2 {
+      color: #323232;
+      font-size: 35rpx;
+      margin-bottom: 50rpx;
+    }
+    .box {
+      align-items: center;
+      display: flex;
+      justify-content: space-between;
+    }
+    .msg {
+      display: block;
+      font-size: 26rpx;
+      color: #666;
+      .tip {
+        display: flex;
+        color: #ff5037;
+        margin-bottom: 20rpx;
+        navigator {
+          text-decoration: underline;
+        }
+      }
+    }
+    .btn {
+      width: 200rpx;
+      font-size: 30rpx;
+    }
+  }
+}
+</style>
+<template>
+  <view class="container">
+      <view class="servelist">
+        <view class="serve" wx:for="{{order}}">
+            <view class="h2">{{item.name}}</view>
+            <view class="box">
+              <block wx:if="{{item.feedback_status == 1}}">
+                <view class="msg">
+                    <text class="tip">服务获取成功</text>
+                    <text>有效期至:{{item.edate}}</text>
+                </view>
+                </block>
+                <block wx:if="{{item.feedback_status == 2}}">
+                  <view class="msg">
+                    <text class="tip">需求填写完成,可继续补充资料</text>
+                    <text>等待设计反馈</text>
+                  </view>
+                  </block>
+                  <block wx:if="{{item.feedback_status == 3}}">
+                    <view class="msg">
+                  <view class="tip">继续沟通,补充<navigator url="/pages/material">完善资料</navigator></view>
+                    <text>设计已反馈</text>
+                    </view>
+                  </block>
+                <view>
+                    <block wx:if="{{item.feedback_status == 1}}">
+                      <navigator url="/pages/questions?product_id={{item.product_id}}" class="btn primary">填写问卷</navigator>
+                    </block>
+                    <block wx:if="{{item.feedback_status == 2}}">
+                      <navigator url="/pages/material" class="btn primary">补充资料</navigator>
+                    </block>
+                    <block wx:if="{{item.feedback_status == 3}}">
+                      <navigator url="/pages/feedback" class="btn primary">查看方案</navigator>
+                    </block>
+                </view>
+            </view>
+        </view>
+        <!-- <view class="serve">
+            <view class="h2">1999元一对一专家软装设计</view>
+            <view class="box">
+                <view class="msg">
+                    <text class="tip">需求填写完成,可继续补充资料</text>
+                    <text>等待设计反馈</text>
+                </view>
+                <view>
+                    <view class="btn">补充资料</view>
+                </view>
+            </view>
+        </view>
+        <view class="serve">
+            <view class="h2">1999元一对一专家软装设计</view>
+            <view class="box">
+                <view class="msg">
+                    <view class="tip">继续沟通,补充<navigator>完善资料</navigator></view>
+                    <text>设计已反馈</text>
+                </view>
+                <view>
+                    <view class="btn">查看方案</view>
+                </view>
+            </view>
+        </view> -->
+    </view>
+    <!-- <footer active="serve"></footer> -->
+    <login></login>
+  </view>
+</template>
+
+<script>
+import wepy from 'wepy';
+import Footer from '../components/footer';
+import Login from '../components/login';
+import baseMixin from '../mixins/base';
+
+export default class MyServe extends wepy.page {
+  config = {
+    navigationBarTitleText: '家芝'
+  };
+
+  data = {
+    order: {}
+  };
+  components = {
+    footer: Footer,
+    login: Login
+  };
+  computed = {
+    now() {
+      return +new Date();
+    }
+  };
+  mixins = [baseMixin];
+
+  methods = {};
+
+  events = {};
+
+  onShow() {
+    !this.inited && this.initFunc()
+  }
+
+  initFunc() {
+    this.$parent.getUserInfo(userinfo => {
+      this.userInfo = Object.assign({}, userinfo);
+      this.$apply();
+      if (!this.$parent.globalData.userInfoCanUse) {
+        this.$invoke('login', 'show', () => {
+          this.initFunc();
+        });
+      } else {
+        this.request('/service/?l=api.order', {
+          success: (d) => {
+            let data = d.data.data;
+            this.order = data.order;
+            this.inited = true;
+            this.$apply();
+          }
+        });
+      }
+    });
+  }
+
+  onLoad() {
+    
+  }
+}
+</script>

+ 708 - 0
src/pages/questions.wpy

@@ -0,0 +1,708 @@
+<style lang="scss">
+@import '../assets/css/common.scss';
+
+.container {
+  .banner {
+    width: 750rpx;
+    height: 450rpx;
+  }
+  .article {
+    width: 690rpx;
+    margin: 0 auto;
+    padding-bottom: 120rpx;
+    .h1 {
+      display: block;
+      font-size: 36rpx;
+      font-weight: bolder;
+      border-bottom: 1rpx solid #e5e5e5;
+      display: flex;
+      justify-content: space-between;
+      align-items: center;
+      height: 129rpx;
+      margin-bottom: 37rpx;
+      .prize {
+        color: #ff5037;
+      }
+    }
+
+    image {
+      width: 100%;
+      margin-bottom: 34rpx;
+      border-radius: 10rpx;
+    }
+    .p {
+      font-size: 26rpx;
+      margin-bottom: 14rpx;
+      line-height: 44rpx;
+    }
+    .tips {
+      font-size: 22rpx;
+      line-height: 44rpx;
+      color: #666;
+      margin-bottom: 27rpx;
+    }
+  }
+}
+.bbar {
+  position: fixed;
+  background-color: #fff;
+  left: 0;
+  bottom: 0;
+  display: flex;
+  width: 750rpx;
+  box-sizing: border-box;
+  padding: 35rpx 30rpx;
+  justify-content: space-between;
+  align-items: center;
+  border-top: 1rpx solid #e5e5e5;
+  .h3 {
+    color: #000;
+    font-size: 34rpx;
+    margin-bottom: 20rpx;
+  }
+  .p {
+    font-size: 26rpx;
+  }
+}
+.question {
+  width: 100%;
+  box-sizing: border-box;
+  padding: 86rpx 62rpx 0;
+  .h1 {
+    color: #ff5037;
+    font-size: 48rpx;
+    margin-top: 38rpx;
+    .num-cont {
+      display: flex;
+      align-items: flex-end;
+      flex-direction: row;
+      margin-bottom: 38rpx;
+      .num {
+        font-size: 100rpx;
+        display: block;
+        line-height: 90rpx;
+      }
+      .total {
+        font-size: 30rpx;
+        line-height: 30rpx;
+      }
+    }
+    .tip {
+      font-size: 26rpx;
+      color: #999;
+      margin-top: 19rpx;
+    }
+  }
+
+  .ico-checkbox {
+    &:before {
+      content: '';
+      background: url(http://app.jiazhihome.com/data/upload/1/2018/09/02/638af713a7a6a71243fbfd93966cafcf.png)
+        no-repeat;
+      background-size: cover;
+      display: block;
+      width: 34rpx;
+      height: 34rpx;
+      margin-right: 18rpx;
+    }
+    &.checked {
+      &:before {
+        background-image: url(http://app.jiazhihome.com/data/upload/1/2018/09/02/18811fa30d361e554bb293f2f34587e0.png);
+      }
+    }
+  }
+  .ico-radio {
+    &:before {
+      content: '';
+      background: url(http://app.jiazhihome.com/data/upload/1/2018/09/02/651b4c9c3d6ff173da2df67aec16a215.png)
+        no-repeat;
+      background-size: cover;
+      display: block;
+      width: 34rpx;
+      height: 34rpx;
+      margin-right: 18rpx;
+    }
+    &.checked {
+      &:before {
+        background-image: url(http://app.jiazhihome.com/data/upload/1/2018/09/02/8537aee52c16f73105a7e7d5a5a9862e.png);
+      }
+    }
+  }
+
+  .imglist {
+    display: flex;
+    flex-wrap: wrap;
+    justify-content: space-between;
+    margin-top: 50rpx;
+    .item {
+      width: 286rpx;
+      margin-bottom: 40rpx;
+      image {
+        width: 286rpx;
+        height: 286rpx;
+        display: block;
+        border-radius: 3rpx;
+      }
+      text {
+        display: flex;
+        justify-content: center;
+        align-items: center;
+        font-size: 30rpx;
+        color: #666;
+        margin-top: 25rpx;
+      }
+
+      .imguploader {
+        border: 1rpx solid #cccccc;
+        border-radius: 3rpx;
+        width: 286rpx;
+        height: 286rpx;
+        display: flex;
+        flex-direction: column;
+        align-items: center;
+        &:before {
+          content: '';
+          background: url(http://192.168.11.108/assets/jiazhi/ico-add.png)
+            no-repeat;
+          background-size: cover;
+          display: block;
+          width: 60rpx;
+          height: 60rpx;
+          margin-top: 87rpx;
+        }
+        text {
+          font-size: 22rpx;
+          color: #999;
+          padding: 22rpx;
+          margin: 0;
+        }
+      }
+    }
+  }
+  .labellist {
+    display: flex;
+    flex-direction: column;
+    margin-top: 50rpx;
+    & > view {
+      display: flex;
+      align-items: center;
+      margin-bottom: 38rpx;
+      color: #666;
+      font-size: 30rpx;
+      input {
+        width: 440rpx;
+        height: 50rpx;
+        border: 1rpx solid #cccccc;
+        border-radius: 3rpx;
+        box-sizing: border-box;
+        padding: 0 10rpx;
+        font-size: 30rpx;
+        margin-left: 18rpx;
+      }
+    }
+  }
+  .common-cont {
+    margin-top: 50rpx;
+    .form-item {
+      font-size: 30rpx;
+      margin-bottom: 55rpx;
+      .label {
+        font-size: 36rpx;
+        color: #ff5037;
+        margin-bottom: 18rpx;
+        .notify {
+          font-size: 26rpx;
+          color: #999;
+          margin-left: 15rpx;
+        }
+      }
+      .multi {
+        display: flex;
+        justify-content: space-between;
+        & > view {
+          border: 1px solid #cccccc;
+          padding-left: 20rpx;
+          color: #666;
+          flex: 1;
+          border-radius: 3rpx;
+          margin-right: 40rpx;
+          display: flex;
+          height: 100rpx;
+          align-items: center;
+          &:last-child {
+            margin-right: 0;
+          }
+        }
+        &.gender {
+          & > view {
+            margin-right: 60rpx;
+            padding-left: 41rpx;
+            &:last-child {
+              margin-right: 0;
+            }
+            &.checked {
+              color: #ff5037;
+              border-color: #ff5037;
+            }
+          }
+        }
+        &.address {
+          & > view {
+            display: flex;
+            justify-content: space-between;
+            padding-right: 20rpx;
+            &:after {
+              content: '';
+              width: 0;
+              height: 0;
+              border-width: 10rpx 10rpx 0;
+              border-style: solid;
+              border-color: #666 transparent transparent; /*灰 透明 透明 */
+              position: relative;
+            }
+          }
+        }
+      }
+    }
+  }
+  .input {
+    width: 620rpx;
+    height: 100rpx;
+    border: 1rpx solid #cccccc;
+    border-radius: 3rpx;
+    box-sizing: border-box;
+    padding: 0 10rpx;
+    font-size: 30rpx;
+  }
+  .textarea {
+    width: 620rpx;
+    height: 300rpx;
+    border: 1rpx solid #cccccc;
+    border-radius: 3rpx;
+    box-sizing: border-box;
+    padding: 10rpx;
+    font-size: 30rpx;
+  }
+  .btns {
+    margin: 44rpx 0 0;
+    padding-bottom: 80rpx;
+  }
+  &.subinfos {
+    .btns {
+      margin: 44rpx 0 0;
+      padding-bottom: 32rpx;
+    }
+
+    .tips {
+      font-size: 22rpx;
+      color: #999;
+      text-align: center;
+      padding-bottom: 80rpx;
+    }
+  }
+}
+</style>
+<template>
+  <view class="container">
+      <!-- cover -->
+      <view class="qs-cover" style="display:{{step==0?'block':'none'}};">
+        <view class="article">
+            <view class="h1">
+                <text>{{product.question_name}}</text>
+            </view>
+            <view class="p"><rich-text nodes="{{product.question_content}}"></rich-text></view>
+            <view class="tips">
+                <text>温馨提示:\n{{product.question_desc}}</text>
+            </view>
+            <image class="banner" src="{{product.question_pic}}" mode="widthFix" />
+        </view>
+        <view class="bbar">
+            <view class="btns">
+                <view class="btn primary" @tap="start">填写资料</view>
+            </view>
+        </view>
+    </view>
+    <!-- questions -->
+    <view class="question" style="display:{{step==1?'block':'none'}};">
+        <view class="h1">
+              <view class="num-cont"><text class="num">{{user.page}}</text><text class="total">/{{user.page_total-1}}</text></view>
+          </view>
+        <block wx:for="{{info}}">
+          <view class="h1">
+              <view>{{item.name}}</view>
+              <view class="tip">{{item.info}}</view>
+          </view>
+          <block wx:if="{{item.type == 1}}">
+            <view class="common-cont">
+              <input type="text" class="input" value="{{item.answer}}" @input="handleInput" data-qid="{{index}}"/>
+            </view>
+          </block>
+          <block wx:if="{{item.type == 2}}">
+            <view class="common-cont">
+              <textarea class="textarea"></textarea>
+            </view>
+          </block>
+          <block wx:if="{{item.type == 4}}">
+            <view class="imglist">
+                <view class="item" wx:for="{{item.imgs}}"><image src="{{item}}" /></view>
+                <view class="item" wx:if="{{item.imgs.length<4}}"><view class="imguploader" data-qid="{{index}}" @tap="handleFile"><text>请选择上传照片(最多4个)每张限制20MB以内</text></view></view>
+            </view>
+          </block>
+          <block wx:if="{{item.type == 12}}">
+            <view class="{{item.content[0].pic?'imglist':'labellist'}}">
+                <block wx:if="{{item.content[0].pic}}">
+                  <view @tap="handleTap" data-qid="{{index}}" data-type="single" data-optKey="{{option_key}}" class="item" wx:for="{{item.content}}" wx:for-item="option" wx:for-index="option_key"><image wx:if="{{option.pic}}" src="{{option.pic}}" /><text class="ico-radio {{option.checked?'checked':''}}">{{option.title}}</text></view>
+                </block>
+                <block wx:else>
+                  <view @tap="handleTap" data-qid="{{index}}" data-type="single" data-optKey="{{option_key}}" class="ico-radio {{option.checked?'checked':''}}" wx:for="{{item.content}}" wx:for-item="option" wx:for-index="option_key">{{option.title}}<input type="text" wx:if="{{option.ctype[0] == 2}}"/></view>
+                </block>
+            </view>
+          </block>
+          <block wx:if="{{item.type == 13}}">
+            <view class="{{item.content[0].pic?'imglist':'labellist'}}">
+                <block wx:if="{{item.content[0].pic}}">
+                  <view @tap="handleTap" data-qid="{{index}}" data-type="mult" data-optKey="{{option_key}}" class="item" wx:for="{{item.content}}" wx:for-item="option" wx:for-index="option_key"><image wx:if="{{option.pic}}" src="{{option.pic}}" /><text class="ico-checkbox {{option.checked?'checked':''}}">{{option.title}}</text></view>
+                </block>
+                <block wx:else>
+                  <view @tap="handleTap" data-qid="{{index}}" data-type="mult" data-optKey="{{option_key}}" class="ico-checkbox {{option.checked?'checked':''}}" wx:for="{{item.content}}" wx:for-item="option" wx:for-index="option_key">{{option.title}}<input type="text" wx:if="{{option.ctype[0] == 2}}"/></view>
+                </block>
+            </view>
+          </block>
+        </block>
+          <view class="btns">
+              <view class="btn" @tap="handlePrev">上一步</view>
+              <view class="btn primary" @tap="submitSurvey">下一步</view>
+          </view>
+    </view>
+    <!-- qs 1 -->
+    <!-- <view class="question" style="">
+        <view class="h1">
+            <view class="num-cont"><text class="num">1</text><text class="total">/10</text></view>
+            <view>以下的图片喜欢哪些?</view>
+            <view class="tip">可多选,最少选一项</view>
+        </view>
+        <view class="imglist">
+            <view class="item"><image src="http://192.168.11.108/assets/jiazhi/tmp2.jpg" /><text class="ico-checkbox checked">美式轻奢</text></view>
+            <view class="item"><image src="http://192.168.11.108/assets/jiazhi/tmp2.jpg" /><text class="ico-checkbox">美式轻奢</text></view>
+            <view class="item"><image src="http://192.168.11.108/assets/jiazhi/tmp2.jpg" /><text class="ico-checkbox checked">美式轻奢</text></view>
+            <view class="item"><image src="http://192.168.11.108/assets/jiazhi/tmp2.jpg" /><text class="ico-checkbox">美式轻奢</text></view>
+       </view>
+        <view class="btns">
+            <view class="btn" @tap="doExchange">上一步</view>
+            <view class="btn primary" @tap="doExchange">下一步</view>
+        </view>
+    </view> -->
+    <!-- qs 2 -->
+    <!-- <view class="question" style="">
+        <view class="h1">
+            <view class="num-cont"><text class="num">2</text><text class="total">/10</text></view>
+            <view>你喜欢的材质有哪些?</view>
+            <view class="tip">可多选,最少选一项</view>
+        </view>
+        <view class="labellist">
+            <view class="ico-checkbox checked">原木</view>
+            <view class="ico-checkbox">黄铜</view>
+            <view class="ico-checkbox">大理石</view>
+            <view class="ico-checkbox">皮质</view>
+            <view class="ico-checkbox">丝绒</view> 
+            <view class="ico-checkbox">铁艺</view> 
+            <view class="ico-checkbox">藤编</view>
+            <view class="ico-checkbox">其他<input type="text" /></view>
+        </view>
+        <view class="btns">
+            <view class="btn" @tap="doExchange">上一步</view>
+            <view class="btn primary" @tap="doExchange">下一步</view>
+        </view>
+    </view> -->
+    <!-- qs 3 -->
+    <!-- <view class="question" style="">
+        <view class="h1">
+            <view class="num-cont"><text class="num">3</text><text class="total">/10</text></view>
+            <view>如果对客厅进行软装改造(包括家具),想要花费的心理预算是多少?</view>
+        </view>
+        <view class="labellist">
+            <view class="ico-radio checked">1万以下</view>
+            <view class="ico-radio">1万-2万</view>
+            <view class="ico-radio">2-5万</view>
+            <view class="ico-radio">5-10万</view>
+            <view class="ico-radio">10万以上</view> 
+        </view>
+        <view class="btns">
+            <view class="btn" @tap="doExchange">上一步</view>
+            <view class="btn primary" @tap="doExchange">下一步</view>
+        </view>
+    </view> -->
+
+    <!-- qs 4 -->
+    <!-- <view class="question" style="">
+        <view class="h1">
+            <view class="num-cont"><text class="num">4</text><text class="total">/10</text></view>
+            <view>客厅的长度</view>
+            <view class="tip">单位:米</view>
+        </view>
+        <view class="common-cont">
+            <input type="digit" class="input"/>
+        </view>
+        <view class="btns">
+            <view class="btn" @tap="doExchange">上一步</view>
+            <view class="btn primary" @tap="doExchange">下一步</view>
+        </view>
+    </view> -->
+    <!-- qs 10 -->
+    <!-- <view class="question" style="">
+        <view class="h1">
+            <view class="num-cont"><text class="num">10</text><text class="total">/10</text></view>
+            <view>请站在客厅的四个角,拍四张实景图</view>
+            <view class="tip">Tips:请选用白光、非阴天情况下拍摄图片,尽量保证无色差。必须保证从四个角拍摄四张图片,才能帮助设计师对整体空间的判断。</view>
+        </view>
+        <view class="imglist">
+            <view class="item"><image src="http://192.168.11.108/assets/jiazhi/tmp2.jpg" /></view>
+            <view class="item"><image src="http://192.168.11.108/assets/jiazhi/tmp2.jpg" /></view>
+            <view class="item"><image src="http://192.168.11.108/assets/jiazhi/tmp2.jpg" /></view>
+            <view class="item"><view class="imguploader"><text>请选择上传照片(最多4个)每张限制20MB以内</text></view></view>
+       </view>
+        <view class="btns">
+            <view class="btn" @tap="doExchange">上一步</view>
+            <view class="btn primary" @tap="doExchange">下一步</view>
+        </view>
+    </view> -->
+    <!-- submit infos -->
+    <view class="question subinfos" style="display:{{step==2?'block':'none'}};">
+        <view class="common-cont">
+          <view class="form-item" wx:for="{{info}}">
+            <block wx:if="{{item.type == 1}}">
+                <view class="label">{{item.name}}<text class="notify">{{item.info}}</text></view>
+                <input type="text" class="input" value="{{item.answer}}" @input="handleInput" data-qid="{{index}}"/>
+            </block>
+            <block wx:if="{{item.type == 12}}">
+              <view class="{{item.content[0].pic?'imglist':'labellist'}}">
+                <view class="label">{{item.name}}<text class="notify">{{item.info}}</text></view>
+                  <block wx:if="{{item.content[0].pic}}">
+                    <view @tap="handleTap" data-qid="{{index}}" data-type="single" data-optKey="{{option_key}}" class="item" wx:for="{{item.content}}" wx:for-item="option" wx:for-index="option_key"><image wx:if="{{option.pic}}" src="{{option.pic}}" /><text class="ico-radio {{option.checked?'checked':''}}">{{option.title}}</text></view>
+                  </block>
+                  <block wx:else>
+                    <view @tap="handleTap" data-qid="{{index}}" data-type="single" data-optKey="{{option_key}}" class="ico-radio {{option.checked?'checked':''}}" wx:for="{{item.content}}" wx:for-item="option" wx:for-index="option_key">{{option.title}}<input type="text" wx:if="{{option.ctype[0] == 2}}"/></view>
+                  </block>
+              </view>
+            </block>
+            <block wx:if="{{item.type == 13}}">
+              <view class="{{item.content[0].pic?'imglist':'labellist'}}">
+                <view class="label">{{item.name}}<text class="notify">{{item.info}}</text></view>
+                  <block wx:if="{{item.content[0].pic}}">
+                    <view @tap="handleTap" data-qid="{{index}}" data-type="mult" data-optKey="{{option_key}}" class="item" wx:for="{{item.content}}" wx:for-item="option" wx:for-index="option_key"><image wx:if="{{option.pic}}" src="{{option.pic}}" /><text class="ico-checkbox {{option.checked?'checked':''}}">{{option.title}}</text></view>
+                  </block>
+                  <block wx:else>
+                    <view @tap="handleTap" data-qid="{{index}}" data-type="mult" data-optKey="{{option_key}}" class="ico-checkbox {{option.checked?'checked':''}}" wx:for="{{item.content}}" wx:for-item="option" wx:for-index="option_key">{{option.title}}<input type="text" wx:if="{{option.ctype[0] == 2}}"/></view>
+                  </block>
+              </view>
+            </block>
+          </view>
+            <!-- <view class="form-item">
+                <view class="label">姓名</view>
+                <input type="digit" class="input"/>
+            </view>
+            <view class="form-item">
+                <view class="label">性别</view>
+                <view class="multi gender">
+                    <view class="ico-radio checked">男</view>
+                    <view class="ico-radio">女</view>
+                </view>
+            </view>
+            <view class="form-item">
+                <view class="label">手机</view>
+                <input type="digit" class="input"/>
+            </view>
+            <view class="form-item">
+                <view class="label">微信号<text class="notify">与手机号相同可不填写</text></view>
+                <input type="digit" class="input"/>
+            </view>
+            <view class="form-item">
+                <view class="label">性别</view>
+                <view class="multi address">
+                    <view>省/市</view>
+                    <view>市</view>
+                    <view>区/县</view>
+                </view>
+            </view> -->
+        </view>
+        <view class="btns">
+            <view class="btn" @tap="handlePrev" data-id="infos">上一步</view>
+            <view class="btn primary" @tap="submitSurvey">提交保存</view>
+        </view>
+        <view class="tips">提交保存后,您可以继续填写补充资料。</view>
+    </view>
+  </view>
+</template>
+
+<script>
+import wepy from 'wepy';
+import baseMixin from '../mixins/base';
+
+export default class Questions extends wepy.page {
+  config = {
+    navigationBarTitleText: '家芝'
+  };
+
+  data = {
+    step: 0,
+    product: {},
+    info: {},
+    user: {},
+    page_number: 1
+  };
+  components = {};
+  computed = {
+    // now() {
+    //   return +new Date();
+    // }
+  };
+  mixins = [baseMixin];
+
+  methods = {
+    start() {
+      this.step = 1;
+    },
+    handlePrev(e) {
+      if (this.page_number > 1) {
+        this.page_number--;
+        this.$apply();
+        this.getQuestions();
+        if(e.currentTarget.dataset.id == "infos"){
+          this.step = 1;
+        }
+      }else{
+        this.step = 0;
+      }
+    },
+    submitSurvey() {
+      let self = this;
+      let survey_ids = [];
+      let survey_answers = [];
+      Object.values(this.info).forEach(info => {
+        let answers = [];
+        survey_ids.push(info.id);
+        if (info.type == 12 || info.type == 13) {
+          info.content.forEach((ans, index) => {
+            if (ans.checked) {
+              answers.push(index + 1);
+            }
+          });
+        } else if (info.type == 4) {
+          answers = info.imgs;
+        } else {
+          answers.push(info.answer);
+        }
+        survey_answers.push(answers.join(','));
+      });
+
+      self.request('/service/?l=api.survey_submit', {
+        data: {
+          product_id: this.product.id,
+          page_number: this.user.page,
+          survey_id: survey_ids.join('||'),
+          survey_answer: survey_answers.join('||')
+        },
+        success: function(d) {
+          let data = d.data;
+          if (data.status == 1) {
+            if (self.page_number < self.user.page_total-1) {
+              self.page_number++;
+              self.$apply();
+              // console.log(self.page_number)
+              self.getQuestions();
+            }else if(self.page_number ==  self.user.page_total-1){
+              self.step = 2;
+              self.page_number = self.user.page_total;
+              self.$apply();
+              self.getQuestions();
+            }else{
+              wx.navigateTo({
+                url : '/pages/myserve'
+              })
+            }
+          }
+        }
+      });
+    },
+    handleTap(e) {
+      let ds = e.currentTarget.dataset;
+      let checked = this.info[ds.qid].content[ds.optkey].checked;
+      if (ds.type == 'single') {
+        this.info[ds.qid].content.map(opt => {
+          opt.checked = false;
+        });
+        this.info[ds.qid].content[ds.optkey].checked = true;
+      } else {
+        this.info[ds.qid].content[ds.optkey].checked = !checked;
+      }
+    },
+    handleInput(e) {
+      let ds = e.currentTarget.dataset;
+      this.info[ds.qid].answer = e.detail.value;
+    },
+    handleFile(e) {
+      let self = this;
+      let ds = e.currentTarget.dataset;
+      wx.chooseImage({
+        count: 1, // 默认9
+        sizeType: ['original', 'compressed'],
+        sourceType: ['album', 'camera'],
+        success: function(res) {
+          var tempFilePaths = res.tempFilePaths;
+          wx.uploadFile({
+            url: `${self.baseurl}/upload/?save.start`,
+            filePath: tempFilePaths[0],
+            name: 'file',
+            formData: {
+              key: 1
+            },
+            success: function(res) {
+              var data = JSON.parse(res.data);
+              self.info[ds.qid].imgs.push(data.url);
+              self.$apply();
+            }
+          });
+        }
+      });
+    }
+  };
+
+  getQuestions() {
+    let self = this;
+    self.request('/service/?l=api.survey', {
+      data: {
+        product_id: this.product_id,
+        page_number: this.page_number
+      },
+      success: function(d) {
+        let data = d.data.data;
+        self.product = data.product;
+        for (let key in data.info) {
+          let info = data.info[key];
+          if (info.type == 12 || info.type == 13) {
+            let answers = info.answer.split(',');
+            info.content.map((ans, index) => {
+              if (answers.includes('' + (index + 1))) {
+                ans.checked = true;
+              }
+              return ans;
+            });
+          } else if (info.type == 4) {
+            info.imgs = info.answer.split(',');
+          }
+        }
+        self.info = data.info;
+        self.user = data.user;
+        self.$apply();
+      }
+    });
+  }
+
+  events = {};
+
+  onLoad(options) {
+    this.product_id = options.product_id;
+    this.getQuestions();
+  }
+}
+</script>

+ 153 - 0
src/pages/servedetail.wpy

@@ -0,0 +1,153 @@
+<style lang="scss">
+@import '../assets/css/common.scss';
+
+.container {
+  padding-bottom: 120rpx;
+  .swiper {
+    width: 750rpx;
+    height: 390rpx;
+    swiper-item,
+    .slide-image {
+      width: 750rpx;
+      height: 390rpx;
+    }
+  }
+  .article {
+    width: 690rpx;
+    margin: 0 auto;
+    .h1 {
+      display: block;
+      font-size: 36rpx;
+      font-weight: bolder;
+      border-bottom: 1rpx solid #e5e5e5;
+      display: flex;
+      justify-content: space-between;
+      align-items: center;
+      height: 129rpx;
+      margin-bottom: 37rpx;
+      .prize {
+        color: #ff5037;
+      }
+    }
+
+    image {
+      width: 100%;
+      margin-bottom: 34rpx;
+      border-radius: 10rpx;
+    }
+    .p {
+      font-size: 26rpx;
+      margin-bottom: 34rpx;
+      line-height: 44rpx;
+    }
+  }
+}
+.bbar {
+  position: fixed;
+  background-color: #fff;
+  left: 0;
+  bottom: 0;
+  display: flex;
+  width: 750rpx;
+  box-sizing: border-box;
+  padding: 35rpx 30rpx;
+  justify-content: space-between;
+  align-items: center;
+  border-top: 1rpx solid #e5e5e5;
+  .h3 {
+    color: #000;
+    font-size: 34rpx;
+    margin-bottom: 20rpx;
+  }
+  .p {
+    font-size: 26rpx;
+  }
+}
+</style>
+<template>
+  <view class="container">
+    <swiper class="swiper" indicator-dots="true" autoplay="true" indicator-color="rgba(255,255,255,0.3)" indicator-active-color="rgba(255,255,255,1)"	>
+        <block wx:for="{{product.pics}}">
+            <swiper-item>
+                <image src="{{item}}" class="slide-image" mode="widthFix"/>
+            </swiper-item>
+        </block>
+    </swiper>
+    <!-- <image class="banner" src="http://192.168.11.108/assets/jiazhi/tmp1.jpg" mode="widthFix" /> -->
+    <view class="article">
+        <view class="h1">
+            <text>{{product.name}}</text>
+            <view class="prize">¥{{product.price}}</view>
+        </view>
+        <view class="p">
+          <rich-text nodes="{{product.content}}" ></rich-text>
+        </view>
+        <!-- <image class="banner" wx:for="{{product.pics}}" src="{{item}}" mode="widthFix" /> -->
+    </view>
+    <view class="bbar">
+        <view class="btns">
+            <view class="btn primary" wx:if="{{product.type1}}" @tap="doExchange" data-id="{{product.id}}">免费兑换</view>
+            <view class="btn" @tap="pay" wx:if="{{product.type2}}" data-id="{{product.id}}" data-cash="{{product.price}}">购买</view>
+        </view>
+    </view>
+    <exchange></exchange>
+  </view>
+</template>
+
+<script>
+import wepy from 'wepy';
+import Exchange from '../components/exchange';
+import baseMixin from '../mixins/base';
+
+export default class ServeDetail extends wepy.page {
+  config = {
+    navigationBarTitleText: '家芝'
+  };
+
+  data = {
+    focus: {},
+    product: {}
+  };
+  components = {
+    exchange: Exchange
+  };
+  computed = {
+    now() {
+      return +new Date();
+    }
+  };
+
+  mixins = [baseMixin];
+
+  methods = {
+    doExchange(e) {
+      this.$invoke('exchange', 'show', e.currentTarget.dataset.id);
+    }
+  };
+
+  events = {
+    'exchange-res': (res, event) => {
+      console.log(res, event);
+    }
+  };
+
+  onLoad(options) {
+    let self = this;
+    self.request('/service/?l=api.view', {
+      data: {
+        id: options.id
+      },
+      success: function(d) {
+        let data = d.data.data;
+        let types = data.product.type.split(',');
+        self.focus = data.focus;
+        data.product.pics = data.product.pic.split(',');
+        data.product.type1 = types.includes('1');
+        data.product.type2 = types.includes('2');
+        self.product = data.product;
+        self.$apply();
+      }
+    });
+  }
+}
+</script>

+ 76 - 0
src/pages/serveres.wpy

@@ -0,0 +1,76 @@
+<style lang="scss">
+@import '../assets/css/common.scss';
+
+.container {
+  position: absolute;
+  width: 100%;
+  top: 0;
+  left: 0;
+  display: flex;
+  height: 100%;
+  flex-direction: column;
+  justify-content: center;
+  align-items: center;
+  .ico-suc{
+      display: block;
+      width: 114rpx;
+      height: 114rpx;
+      background: url(http://app.jiazhihome.com/data/upload/1/2018/09/02/81c7a753ebfbe336a5df3f0695d912ca.png) no-repeat;
+      background-size: cover;
+  }
+  .h3{
+      font-size: 30rpx;
+      margin: 48rpx auto 31rpx;
+      font-weight: bolder;
+      color: #000;
+  }
+  .p{
+      font-size: 26rpx;
+      line-height: 40rpx;
+      text-align: center;
+  }
+  .btns{
+      margin: 71rpx 0 39rpx;
+  }
+  navigator{
+      font-size: 24rpx;
+      color: #999;
+      text-decoration: underline;
+  }
+}
+</style>
+<template>
+  <view class="container">
+    <text class="ico-suc"></text>
+    <view class="h3">软装服务获取成功!</view>
+    <view class="p"><text>感谢您使用家芝软装服务,请填写您的软装需求,\n以便设计师为您量身定制设计方案!</text></view>
+    <view class="btns"><view class="btn primary">填写软装需求</view></view>
+    <navigator open-type="navigateBack" url="/pages/myserve">返回我的服务</navigator>
+  </view>
+</template>
+
+<script>
+import wepy from 'wepy';
+
+export default class ServeRes extends wepy.page {
+  config = {
+    navigationBarTitleText: '家芝'
+  };
+
+  data = {
+    cases: []
+  };
+  components = {};
+  computed = {
+    now() {
+      return +new Date();
+    }
+  };
+
+  methods = {};
+
+  events = {};
+
+  onLoad() {}
+}
+</script>

+ 74 - 0
wepy.config.js

@@ -0,0 +1,74 @@
+const path = require('path');
+var prod = process.env.NODE_ENV === 'production';
+
+module.exports = {
+  wpyExt: '.wpy',
+  eslint: false,
+  cliLogs: !prod,
+  build: {
+  },
+  resolve: {
+    alias: {
+      counter: path.join(__dirname, 'src/components/counter'),
+      '@': path.join(__dirname, 'src')
+    },
+    aliasFields: ['wepy', 'weapp'],
+    modules: ['node_modules']
+  },
+  compilers: {
+    sass: {
+      compress: prod
+    },
+    /*sass: {
+      outputStyle: 'compressed'
+    },*/
+    babel: {
+      sourceMap: true,
+      presets: [
+        'env'
+      ],
+      plugins: [
+        'transform-class-properties',
+        'transform-decorators-legacy',
+        'transform-object-rest-spread',
+        'transform-export-extensions',
+      ]
+    }
+  },
+  plugins: {
+    // 'img2base64': {
+    //     css: true,
+    //     html: true,
+    //     // path: './app/assets/images'
+    // }
+  },
+  appConfig: {
+    noPromiseAPI: ['createSelectorQuery']
+  }
+}
+
+if (prod) {
+
+  // 压缩sass
+  // module.exports.compilers['sass'] = {outputStyle: 'compressed'}
+
+  // 压缩js
+  module.exports.plugins = {
+    uglifyjs: {
+      filter: /\.js$/,
+      config: {
+      }
+    },
+    imagemin: {
+      filter: /\.(jpg|png|jpeg)$/,
+      config: {
+        jpg: {
+          quality: 80
+        },
+        png: {
+          quality: 80
+        }
+      }
+    }
+  }
+}

部分文件因文件數量過多而無法顯示